Patent ID: 8091084

Claim:
A method for launching an application into a host OS, comprising: storing a snapshot of a Virtual Execution Environment (VEE) on a portable device, the snapshot including register values and VEE memory state at a previous point in time, and B+ tree structures representing VEE files; launching the VEE from the snapshot on a host computer connected to the portable device, such that the VEE is limited in any of (a) a number of VEE snapshot starts, and (b) total runtime of the VEE; identifying an operating system of the host computer, and launching a corresponding set of drivers that correspond to the operating system; launching a virtual disk driver in the VEE, the virtual disk driver including redirecting capability; binding the VEE to local hardware of the host computer using Trusted Platform Module technology; starting a user application within the VEE; executing the user application and generating user data; and packing the VEE, including any generated user data and a current snapshot of the VEE, into an archive file and storing the archive file on the portable device.