Independent Access to Virtual Machine Desktop Content
First Claim
1. A virtual desktop management server computing system comprising:
- a memory;
a computer processor;
an API handler stored in the memory and configured, when executed on the computer processor, to receive and respond to a client application request from a client device for user data that has been stored as on a virtual disk as part of a virtual machine associated with an identified user, the virtual disk stored remote from the client device in a centralized datastore communicatively coupled to the server computing system; and
a content abstraction layer component comprising logic instructions stored in the memory that are configured, when executed in response to a request from the API handler, to cause a connection to a control virtual machine that has access to the virtual disk associated with the requested user data and to cause the control virtual machine to mount the virtual disk when the virtual disk is not already accessible to the identified user through a running virtual desktop, thereby enabling the content abstraction layer to obtain the requested data from the virtual disk storage and return the requested data to the API handler to respond to the client application request.
2 Assignments
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.
498 Citations
26 Claims
-
1. A virtual desktop management server computing system comprising:
-
a memory; a computer processor; an API handler stored in the memory and configured, when executed on the computer processor, to receive and respond to a client application request from a client device for user data that has been stored as on a virtual disk as part of a virtual machine associated with an identified user, the virtual disk stored remote from the client device in a centralized datastore communicatively coupled to the server computing system; and a content abstraction layer component comprising logic instructions stored in the memory that are configured, when executed in response to a request from the API handler, to cause a connection to a control virtual machine that has access to the virtual disk associated with the requested user data and to cause the control virtual machine to mount the virtual disk when the virtual disk is not already accessible to the identified user through a running virtual desktop, thereby enabling the content abstraction layer to obtain the requested data from the virtual disk storage and return the requested data to the API handler to respond to the client application request. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A virtual desktop management server comprising:
-
a memory; a computer processor; an API handler stored in the memory and configured, when executed on the computer processor, to receive and respond to a client application request from a client device for user data that is stored in a remote location from the client device; and a content abstraction layer component comprising logic instructions stored in the memory that are configured, when executed in response to a request from the API handler, to; determine the remote location of the stored user data being requested; when the remote location of the requested user data is a user profile on a network share, communicate using a mechanism associated with the network share to obtain the user profile and return the obtained user profile in response to the request from the API handler; when the remote location of the requested user data is data on a virtual disk that is part of a running virtual desktop, send a message to the virtual machine associated with the running virtual desktop to obtain and return the requested user data from the virtual disk associated with the running virtual desktop in response to the request from the API handler; and when the remote location of the requested user data is a data on a target virtual disk that is associated with a virtual desktop of a virtual machine that is not running and/or not associated with a user, invoke a control virtual machine that has access to the target virtual disk, and cause the control virtual machine to mount the target virtual disk, thereby enabling the content abstraction layer to obtain and return the requested data from the mounted virtual disk to the API handler for response to the client application request. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer-readable storage medium containing instructions configured to control a computer processor in a computing system to perform a method comprising:
-
receiving an indication of a request from client device of an identified user for user data that is stored remotely from the client device; determining whether the identified user has authorization to make the request; forwarding the request to a content abstraction layer logic to cause the content abstraction layer to obtain the user data in a manner transparent to the requesting client device by determining whether the requested data is in an application repository, on network storage, in a virtual desktop associated with a running virtual machine, or on a virtual disk associated with a non-running machine, and using a corresponding mechanism to retrieve the requested data; and returning the requested user data to the client device in response to the request. - View Dependent Claims (21, 22, 23, 24, 25, 26)
-
Specification