Independent access to virtual machine desktop content
First Claim
1. A system comprising:
- one or more computing devices including one or more memories and one or more computer processors configured to perform operations comprising;
receiving a client application request from a client device for user data stored in a remote location from the client device in a centralized datastore; and
determining the remote location of the stored user data being requested;
determining that the remote location of the requested user data is on a virtual disk that is associated with a virtual desktop of a first virtual machine assigned to the user that is not currently running;
in response to a determination that the first virtual machine is not currently running, determining whether the first virtual machine is a checked-out virtual machine;
in response to a determination that the first virtual machine is a checked-out virtual machine;
identifying one or more hypervisors that have access to the virtual disk stored in the centralized datastore;
selecting a control virtual machine that is running on one of the one or more hypervisors, wherein the control virtual machine is distinct from the first virtual machine assigned to the user, and wherein the control virtual machine, when instantiated on a particular hypervisor, provides on demand access to user content for a plurality of users located on respective virtual disks accessible by the particular hypervisor when a corresponding virtual machines are not running;
causing the control virtual machine to access the requested user data; and
providing requested user data.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems, and techniques for facilitating access to content stored remotely, for example, as part of a virtual machine infrastructure or elsewhere in a networked environment, using a uniform mechanism are provided. Example embodiments provide an Enhanced Virtual Desktop Management Server/System with a Content Abstraction Layer which enables users to access their data stored as part of a virtual machine environment, or replicated otherwise on a network, using a generic API. The API can be incorporated into a web browser or other third party interface to provide access to the users'"'"' data without needing to remote a bitmap representation of a virtual desktop display. Accordingly, users can access their data, applications, and settings regardless of the type of access device and regardless of whether the corresponding virtual desktop is running in the data center, provisioned in the datacenter but running on a client device, or not running at all.
68 Citations
19 Claims
-
1. A system comprising:
-
one or more computing devices including one or more memories and one or more computer processors configured to perform operations comprising; receiving a client application request from a client device for user data stored in a remote location from the client device in a centralized datastore; and determining the remote location of the stored user data being requested; determining that the remote location of the requested user data is on a virtual disk that is associated with a virtual desktop of a first virtual machine assigned to the user that is not currently running; in response to a determination that the first virtual machine is not currently running, determining whether the first virtual machine is a checked-out virtual machine; in response to a determination that the first virtual machine is a checked-out virtual machine; identifying one or more hypervisors that have access to the virtual disk stored in the centralized datastore; selecting a control virtual machine that is running on one of the one or more hypervisors, wherein the control virtual machine is distinct from the first virtual machine assigned to the user, and wherein the control virtual machine, when instantiated on a particular hypervisor, provides on demand access to user content for a plurality of users located on respective virtual disks accessible by the particular hypervisor when a corresponding virtual machines are not running; causing the control virtual machine to access the requested user data; and
providing requested user data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
- receiving a client application request from a client device for user data stored in a remote location from the client device in a centralized datastore; and
determining the remote location of the stored user data being requested; determining that the remote location of the requested user data is on a virtual disk that is associated with a virtual desktop of a first virtual machine assigned to the user that is not currently running; in response to a determination that the first virtual machine is not currently running, determining whether the first virtual machine is a checked-out virtual machine; in response to a determination that the first virtual machine is a checked-out virtual machine; identifying one or more hypervisors that have access to the virtual disk stored in the centralized datastore; selecting a control virtual machine that is running on one of the one or more hypervisors, wherein the control virtual machine is distinct from the first virtual machine assigned to the user, and wherein the control virtual machine, when instantiated on a particular hypervisor, provides on demand access to user content for a plurality of users located on respective virtual disks accessible by the particular hypervisor when a corresponding virtual machines are not running; causing the control virtual machine to access the requested user data; and
providing requested user data. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
- receiving a client application request from a client device for user data stored in a remote location from the client device in a centralized datastore; and
-
19. A non-transitory computer-readable storage medium containing instructions that control a computer processor in a computing system to perform a method comprising:
- receiving a client application request from a client device for user data stored in a remote location from the client device in a centralized datastore; and
determining the remote location of the stored user data being requested;
determining that the remote location of the requested user data is on a virtual disk that is associated with a virtual desktop of a first virtual machine assigned to the user that is not currently running;in response to a determination that the first virtual machine is not currently running, determining whether the first virtual machine is a checked-out virtual machine; in response to a determination that the first virtual machine is a checked-out virtual machine; identifying one or more hypervisors that have access to the virtual disk stored in the centralized datastore; selecting a control virtual machine that is running on one of the one or more hypervisors, wherein the control virtual machine is distinct from the first virtual machine assigned to the user, and wherein the control virtual machine, when instantiated on a particular hypervisor, provides on demand access to user content for a plurality of users located on respective virtual disks accessible by the particular hypervisor when a corresponding virtual machines are not running; causing the control virtual machine to access the requested user data; and
providing requested user data.
- receiving a client application request from a client device for user data stored in a remote location from the client device in a centralized datastore; and
Specification