Patent ID: 7949677

Claim:
A method for providing authorized remote access to resources on desktop computing environments provided by virtual machines, the method comprising: (a) receiving, by a policy engine, a first request for access to a resource from a user at a first client machine; (b) directing, by the policy engine, a first collection agent to gather information about the first client machine; (c) granting, by the policy engine, the first client machine a first level of access to the resource responsive to application of a policy to the information about the first client machine, the first level chosen from a plurality of levels of access; (d) identifying, by a broker machine, a first desktop computing environment already associated with the user, the first desktop computing environment i) providing the resource according to the first granted level of access, ii) being provided by a first virtual machine selected by the broker machine, and iii) executing in an operating system provided by the first virtual machine, the first virtual machine executing in a first execution machine selected by the broker machine, and the first execution machine executing a hypervisor providing access to hardware resources required by the first virtual machine; and (e) establishing, by the broker machine responsive to the first granted level of access, a connection between the first client machine and the first desktop computing environment; (f) receiving, by the policy engine, a second request for access to the resource from the user at a second client machine; (g) directing, by the policy engine, a second collection agent to gather information about the second client machine; (h) granting, by the policy engine, the second client machine a second level of access to the resource responsive to application of a policy to the information about the second client machine, the second level chosen from the plurality of levels of access; (i) identifying, by the broker machine, a second desktop computing environment already associated with the user, the second desktop computing environment i) providing the resource according to the second granted level of access, ii) being provided by a second virtual machine selected by the broker machine, and iii) executing in an operating system provided by the second virtual machine, the second virtual machine executing in a second execution machine selected by the broker machine, and the second execution machine executing a hypervisor providing access to hardware resources required by the second virtual machine; and (j) establishing, by the broker machine responsive to the second granted level of access a connection between the second client machine and the second desktop computing environment.