Allocation of server resources in remote-access computing environments
AssigneeParallels International GmbH
InventorAlexey Kutuzov
Life of this patent
Estimating the term…
Abstract
The subject matter of this specification can be implemented in, among other things, a method and a system to perform the method that includes receiving a request from a client device to execute an application, selecting servers that provide remote desktop environment and host the requested application, determining, based on a priority level for a client session to be established, a capacity of system resources and a current utilization level of each server, that the client device is to be directed to a first server, the first server having an expected utilization level that satisfies a threshold condition, and directing the request to the first server to establish the client session and to execute the requested application as part of the client session.
Claims13
A method comprising:
- determining and allocating a server of a plurality of servers with a process upon a system;
- establishing a remote desktop environment comprising a plurality of applications within the allocated server;
- and
- providing the remote desktop environment comprising the plurality of applications to a client device;
- wherein
- the process establishes the determination in dependence upon a capacity and a current utilization level of each server of the plurality of servers;
- the capacity of each server of the plurality of servers is established by determining a maximum number of allotments which can supported by the server of the plurality of serves for each system resource of a set of system resources;
- the current utilization of each server of the plurality of servers is established by determining a number of allotments allocated to each client session in execution upon the server of the plurality of servers for each system resource of the set of system resources and summing the number of allotments allocated to all current client sessions for that server of the plurality of servers;
- and
- each allotment for each system resource of a set of system resources for each server of the plurality of servers represents one of a constant portion of the system resource for that server of the plurality of servers and a universal unit of the system resource employed for the plurality of servers.
A method comprising:
- determining and allocating a server of a plurality of servers with a process upon a system;
- establishing a remote desktop environment comprising a plurality of applications within the allocated server;
- and
- providing the remote desktop environment comprising the plurality of applications to a client device;
- wherein
- the process establishes the determination in dependence upon a capacity and a current utilization level of each server of the plurality of servers;
- the capacity of each server of the plurality of servers is established by determining a maximum number of allotments which can supported by the server of the plurality of serves for each system resource of a set of system resources;
- the current utilization of each server of the plurality of servers is established by determining a number of allotments allocated to each client session in execution upon the server of the plurality of servers for each system resource of the set of system resources and summing the number of allotments allocated to all current client sessions for that server of the plurality of servers;
- each allotment for each system resource of a set of system resources for each server of the plurality of servers represents one of a constant portion of the system resource for that server of the plurality of servers and a universal unit of the system resource employed for the plurality of servers;
- and
- the number of allotments for each client session is scaled by a factor established in dependence upon a priority level of a plurality of priority levels associated with that respective client session.
A method comprising:
- determining and allocating a server of a plurality of servers with a process upon a system;
- establishing a remote desktop environment comprising a plurality of applications within the allocated server;
- and
- providing the remote desktop environment comprising the plurality of applications to a client device;
- wherein
- the process establishes the determination in dependence upon a capacity and a current utilization level of each server of the plurality of servers;
- and
- establishing the capacity and the current utilization level of each server of the plurality of servers comprises:
- (a) establishing for a server of the plurality of servers whether the utilization level exceeds a predetermined threshold;
- (b) upon a positive determination that the utilization level exceeds a predetermined threshold placing the server of the plurality of servers on a list of full servers;
- (c) upon a negative determination that the utilization level exceeds a predetermined threshold establishing whether a projected utilization level exceeds the predetermined threshold;
- (d) upon a positive determination that the projected utilization level exceeds a predetermined threshold establishing another server of the plurality of servers as the server of the plurality of servers;
- (e) repeating steps (a) to (d);
- and
- (f) upon a negative determination that the projected utilization level exceeds the predetermined threshold making the server of the plurality of servers the first server of the plurality of servers.
A method comprising:
- determining and allocating a server of a plurality of servers with a process upon a system;
- establishing a remote desktop environment comprising a plurality of applications within the allocated server;
- providing the remote desktop environment comprising the plurality of applications to a client device;
- wherein
- the process establishes the determination in dependence upon a capacity and a current utilization level of each server of the plurality of servers;
- the process to make the determination is triggered by receipt by a gateway server connected to a network to which the client device is connected of a request with respect to executing an application;
- the request from the client device is directed to that server of the plurality of servers determined by the process in order to establish a remote client session upon the determined server of the plurality of servers and to execute the requested application as part of the remote client session;
- after directing the request the process further comprises instructing the determined server of the plurality of servers to allocate a portion of the system resources of the determined server of the plurality of servers;
- and
- the portion of the system resources are allocated according to a soft enforcement policy which comprises:
- (a) establishing a current utilization level for the determined server of the plurality of servers in dependence upon the utilization level of the determined server of the plurality of servers prior to the addition of the client session and the additional utilization associated with the client session;
- (b) establishing for the determined server of the plurality of servers whether the current utilization level exceeds a soft utilization threshold;
- (c) upon a positive determination that the current utilization level exceeds the soft utilization threshold proceeding to execute the requested application within the client session;
- and
- (d) upon a negative determination that the current utilization level exceeds the soft utilization threshold establishing additional resources for the client session and executing the requested application with the client session with its additional resources.
Dependencies are inferred from the claim text.