Patent ID: 7788669

Claim:
A method for isolating a plurality of computing environments interacting on a computing device, comprising acts of: running a first computing environment and a second computing environment on the computing device, wherein the first computing environment hosts the second computing environment by sharing computing resources of the first computing environment with the second computing environment; enabling interaction between the first and second computing environments to share the computing resources of the first computing environment with the second computing environment while isolating the first computing environment from the second computing environment, wherein enabling interaction comprises: receiving data by the second computing environment from the first computing environment in a first state that is writeable by the first computing environment; isolating the first computing environment from the second computing environment by placing the data into a second state that is readable by the second computing environment but not modifiable by the first computing environment during a time in which the first computing environment and second computing environment are allowed to interact; and performing a validation test by the second computing environment on the data to ensure that the second computing environment will continue to operate according to a predetermined specification.