Ten years ago, computer security guru Fred Cohen made a revolutionary suggestion, one that inverted the roles of hardware and software. In traditional IS architectures, hardware persists while software is transient; the same processor executes instructions from many programs. This is why we say that software runs on hardware. Cohen suggested building an architecture around mobile programs, applications that would move around a network, recruiting and organizing hardware as needed. In this vision, the programs would endure while the hardware would come and go. In effect, the hardware would run on the software.