Virtual computing services deployment network
First Claim
1. A method of managing a computer system providing virtual desktops for a plurality of users, comprising:
- an instance server executed on a computer defining in computer memory a plurality of computing classes, wherein each computing class of the plurality of computing classes;
is associated with a respective per user resource cost for provisioning users in the computing class such that each computing class is associated with a different per user resource cost, the per user resource cost for a particular class indicating a level of provisioning provided to each user assigned to the computing class,and, wherein the instance server associates each user of the plurality of users with a selected computing class of the plurality of computing classes such that at least one first user is associated with a first computing class having a first per user resource cost and at least one second user is associated with second computing class having a second per user resource cost different from the first per user resource cost of the first computing class, the plurality of computing classes comprising at least the first computing class corresponding to a first configuration of computing resources for a first virtual desktop computing environment available on at least one server computer and the second computing class corresponding to a second configuration, different from the first configuration, of computing resources for a second virtual desktop computing environment available on the at least one server computer;
the instance server continually storing, in a database in computer storage, a usage history for each user in the plurality of users, the usage history of each user of the plurality of users being indicative of usage of the computing resources for the corresponding virtual desktop computing environment on the at least one server computer by a remote computer used by the user;
a provisioner, executed on a computer with a computer processor, that selects a particular computing class for each user, wherein the selecting for each user comprises;
analyzing the usage history for the user, wherein the usage history defines a user profile of the user indicative of computing demands of the user to determine a provisioning cost of the user, andselecting a particular computing class of the plurality of computing classes based on i) the provisioning cost of the determined from the user profile and ii) the respective per user resource costs determined for provisioning users in each of the computing classes such that the selected computing class provides a level of provisioning for the user that does not overprovision or underprovision the user based on the computing demands of the user;
the instance server provisioning the virtual desktop computing environment for each user according to the computing class selected for the user, wherein provisioning includes instantiating each respective virtual desktop computing environment using a portion of the available computing resources on the at least one server computer, the portion being defined by the computing class for the user and including memory and central processor resources of the at least one server computer, thereby provisioning a plurality of virtual desktop environments on the at least one server computer for use by the plurality of users, and enabling the remote computer associated with and used by the user to remotely use the corresponding virtual desktop computing environment, such that applications and central processor computations of a personal computer desktop environment are executed within the virtual desktop computing environment on the at least one server computer, including presenting a desktop user interface representing the virtual desktop computing environment on the remote computer wherein input from and output to the remote computer is provided over a computer network from the at least one server computer to the remote computer;
the provisioner periodically reanalyzing an updated usage history of each user in the plurality of users to selectively update the computing class, selected from among the plurality of computing classes, associated with each user; and
in response to an update of the computing class associated with the user, the instance server reprovisioning the desktop computing environment for the user according to the updated computing class for the user.
2 Assignments
0 Petitions
Accused Products
Abstract
A business method associates provisioning costs with a usage history indicative of user computing demand, and coalesces the cost data to identify an appropriate provisioning level balancing the provisioning cost and the usage demand cost. Conventional computing environments suffer from the shortcoming of being prone to overprovisioning or underprovisioning a user. Such misprovisioning is inefficient because it denotes underutilized computing resources or ineffective and/or disgruntled users. Costs increase either due to the excessive hardware bestowed on the overprovisioned user, or in support costs addressing the underprovisioned user. Configurations herein substantially overcome such shortcomings by defining a policy indicative of overprovisioning and underprovisioning indicators (misprovisioning flags), and defining rules to specify a triggering event indicating the need to reassess the provisioning of a user.
66 Citations
22 Claims
-
1. A method of managing a computer system providing virtual desktops for a plurality of users, comprising:
-
an instance server executed on a computer defining in computer memory a plurality of computing classes, wherein each computing class of the plurality of computing classes; is associated with a respective per user resource cost for provisioning users in the computing class such that each computing class is associated with a different per user resource cost, the per user resource cost for a particular class indicating a level of provisioning provided to each user assigned to the computing class, and, wherein the instance server associates each user of the plurality of users with a selected computing class of the plurality of computing classes such that at least one first user is associated with a first computing class having a first per user resource cost and at least one second user is associated with second computing class having a second per user resource cost different from the first per user resource cost of the first computing class, the plurality of computing classes comprising at least the first computing class corresponding to a first configuration of computing resources for a first virtual desktop computing environment available on at least one server computer and the second computing class corresponding to a second configuration, different from the first configuration, of computing resources for a second virtual desktop computing environment available on the at least one server computer; the instance server continually storing, in a database in computer storage, a usage history for each user in the plurality of users, the usage history of each user of the plurality of users being indicative of usage of the computing resources for the corresponding virtual desktop computing environment on the at least one server computer by a remote computer used by the user; a provisioner, executed on a computer with a computer processor, that selects a particular computing class for each user, wherein the selecting for each user comprises; analyzing the usage history for the user, wherein the usage history defines a user profile of the user indicative of computing demands of the user to determine a provisioning cost of the user, and selecting a particular computing class of the plurality of computing classes based on i) the provisioning cost of the determined from the user profile and ii) the respective per user resource costs determined for provisioning users in each of the computing classes such that the selected computing class provides a level of provisioning for the user that does not overprovision or underprovision the user based on the computing demands of the user; the instance server provisioning the virtual desktop computing environment for each user according to the computing class selected for the user, wherein provisioning includes instantiating each respective virtual desktop computing environment using a portion of the available computing resources on the at least one server computer, the portion being defined by the computing class for the user and including memory and central processor resources of the at least one server computer, thereby provisioning a plurality of virtual desktop environments on the at least one server computer for use by the plurality of users, and enabling the remote computer associated with and used by the user to remotely use the corresponding virtual desktop computing environment, such that applications and central processor computations of a personal computer desktop environment are executed within the virtual desktop computing environment on the at least one server computer, including presenting a desktop user interface representing the virtual desktop computing environment on the remote computer wherein input from and output to the remote computer is provided over a computer network from the at least one server computer to the remote computer; the provisioner periodically reanalyzing an updated usage history of each user in the plurality of users to selectively update the computing class, selected from among the plurality of computing classes, associated with each user; and in response to an update of the computing class associated with the user, the instance server reprovisioning the desktop computing environment for the user according to the updated computing class for the user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer system providing virtual desktops for a plurality of users, comprising:
-
one or more server computers, each server computer operable to provide computing resources for a virtual desktop computing environment of at least one computing class of a plurality of computing classes, wherein each computing class of the plurality of computing classes; is associated with a respective per user resource cost for provisioning users in the computing class such that each computing class is associated with a different per user resource cost, the per user resource cost for a particular class indicating a level of provisioning provided to each user assigned to the computing class, and, wherein the one or more server computers associate each user of the plurality of users with a selected computing class of the plurality of computing classes such that at least one first user is associated with a first computing class having a first per user resource cost and corresponding to a first configuration of computing resources for a first virtual desktop computer environment, and at least one second user is associated with a second computer class having a second per user resource cost and corresponding to a second configuration of computing resources for a second virtual desktop computing environment different from the first per user cost of the first computing class; a profile database in computer storage configured to accumulate a usage history for each user in the plurality of users, the usage history of each user of the plurality of users being indicative of usage of the computing resources for the corresponding virtual desktop computing environment by a remote computer used by the user; a provisioner, executed on a computer, configured to select a particular computing class for each user, wherein the selecting for each user comprises; analyzing the usage history of the user, wherein the usage history defines a user profile of the user indicative of computing demands of the user to determine a provisioning cost of the user, and selecting a particular computing class of the plurality of computing classes based on i) the provisioning cost of the determined from the user profile and ii) the respective per user resource costs determined for provisioning users in each of the computing classes such that the selected computing class provides a level of provisioning for the user that does not overprovision or underprovision the user based on the computing demands of the user; an instance manager, executed on a computer, configured to provision the virtual desktop computing environment on the one or more server computers for each user in the plurality of users according to the selected computing class associated with the user; the provisioner being configured to periodically reanalyze the usage history of each user in the set of users to selectively reprovision the user, wherein, to provision the virtual desktop computing environment for each user, the instance manager is further configured to instantiate each respective desktop computing environment using a portion of the available computing resources in the one or more server computers, the portion being defined by the computing class of the user and including memory and central processor resources, thereby provisioning a plurality of virtual desktop environments on the one or more server computers for use by remote computers used by the plurality of users, and the instance manager being further configured to enable the remote computer used by the user to remotely use the corresponding virtual desktop computing environment, such that applications and central processor computations of a personal computer desktop environment are executed within the virtual desktop computing environment in the one or more server computers, including presenting a desktop user interface representing the virtual desktop computing environment on the remote computer wherein input from and output to the remote computer used by the user is provided over a computer network from the one or more server computers to the remote computer used by the user. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
Specification