Increasing use of intelligent devices, global Internet connectivity, and rising expectations of software functionality are creating severe problems for traditional approaches to software construction. Existing rigid Internet technologies such as CORBA, DCOM and Java are not well suited to deal with the pressures of interoperability, adaptability and flexibility that emerging applications require, and can even harm progress by creating artificial "technological straightjackcts" We propose a new, systematic approach to the construction of highly adaptable, reconfigurable and interoperable systems called virtual virtual machines. Two completed prototypes, applied to active networks and flexible web caches, demonstrate the usefulness and feasibility of the approach.