Patent ID: 8826269
Filing Date: 2014-09-02
Classification: G06F

Abstract:
1. A computer-implemented method for executing virtual applications within a host operating system, the method comprising: providing at least some indirection between the virtual application and the host operating system through an application virtualization environment; registering for and receiving notification in response to the host operating system creating a new process; identifying a token associated with the new process; adding one or more fields of data to the token that identify the process as a virtual process and associate the process with a particular virtual environment by adding the one or more fields of data to a portion of the token that the host operating system automatically replicates to related processes of the virtual process; receiving requests from one or more applications to access resources managed by the host operating system, wherein one type of request originates from an operating system process acting on behalf of the virtual process, the operating system process is a separate process from the virtual process; accessing the token of an execution context and read the one or more fields of data added to identify virtualization information including identification of the particular virtual environment associated with the virtual process; and receiving the virtualization information accessed from the token including identification of the particular virtual environment associated with the virtual process and based upon the identification of the particular virtual environment associated with the virtual process, redirecting resource requests from a specified location to a virtual location, including redirecting requests originating from the operating system process acting on behalf of the virtual process to the particular virtual environment associated with the virtual process, wherein the one or more fields of data are added to the token if the process is associated with a virtual application environment and the preceding steps are performed by at least one processor.