Load balancing by endpoints
Abstract
A mechanism is provided for In a cloud computing infrastructure, a mechanism is provided for balancing client sessions across virtual machines such that the number of virtual machines is efficiently managed. In some embodiments, the total number of virtual machines is minimized to reduce power consumption, cooling, and other cost drivers, while assigning users across the sessions. In one embodiment, the sessions in a virtual machine with low activity are migrated to a virtual machine with higher session rates to allow for the shutdown of the low usage virtual machines. In another embodiment, new user sessions are assigned according to a minimum performance standard.
Claims
exact text as granted — not AI-modifiedWhat is claimed:
1 . A method for managing a virtualized computing infrastructure, the method comprising:
receiving a request for a remote desktop session; determining a number of remote desktop sessions hosted by a plurality of virtual machine endpoints; identifying at least one of the plurality of virtual machine endpoints that can host the requested remote desktop session by determining a usage threshold for the identified endpoints, the usage threshold indicative of a relative amount of total session capacity for the identified endpoints, the usage threshold comprising one of low, medium, or high session capacity, the session capacity indicative of a capacity of an endpoint to host remote desktop sessions; when more than one endpoint is identified, selecting one of the identified endpoints for hosting the requested remote desktop session based at least in part on a predetermined load balancing metric determined according to a minimum performance standard, wherein the load balancing metric is different from the usage threshold; and instantiating the requested remote desktop session on the selected endpoint.
2 . The method of claim 1 , wherein the selected endpoint is determined by balancing loads among virtual machines such that user sessions are hosted on computing devices to substantially minimize the total number of virtual machines.
3 . The method of claim 2 , wherein the selected endpoint is the virtual machine with the highest number of hosted remote desktop sessions.
4 . The method of claim 2 , wherein the selected endpoint is the virtual machine with fewer than the highest number of hosted remote desktop sessions and more than the lowest number of hosted remote desktop sessions.
5 . The method of claim 1 , wherein an endpoint with a medium session capacity is identified, and when there are no medium session capacity endpoints, an endpoint with a high session capacity is identified, and when there are no high session capacity endpoints, an endpoint with a low session capacity is identified.
6 . A computing system comprising:
a computing device comprising at least one processor; a memory communicatively coupled to said at least one processor when said system is operational; said memory having stored therein computer instructions that upon execution by the at least one processor cause: instantiating one or more remote desktop configurations that makes available, to a plurality of users via a remote network connection, the remote desktop configurations comprising an operating environment and software applications to be included in the operating environment; receiving a request for a remote desktop session, the remote desktop session conforming to one of the one or more remote desktop configurations; and instantiating the requested remote desktop session and loading data and applications associated with the remote desktop session on a virtual machine endpoint, the endpoint selected from a plurality of endpoints that are identified as having a session capacity comprising one of low, medium, or high session capacity, wherein the identification is based in part on a usage threshold indicative of a relative amount of total session capacity for the plurality of endpoints, the session capacity indicative of a capacity of an endpoint to host remote desktop sessions; wherein when more than one endpoint is selected, the requested remote desktop session is instantiated on an endpoint selected based at least in part on a predetermined load balancing metric determined according to a minimum performance standard, wherein the load balancing metric is different from the usage threshold.
7 . The computing system of claim 6 , further comprising migrating the data and applications to another computing device in accordance with the endpoint selection.
8 . The computing system of claim 6 , wherein the one or more remote desktop configurations each conform to a user configuration template for scalably propagating the one or more remote desktop configurations in a virtualized computing environment.
9 . The computing system of claim 6 , wherein the endpoint selection is determined by balancing loads among computing devices such that user sessions are hosted on computing devices to substantially minimize the total number of hosting computing devices.
10 . The computing system of claim 9 , wherein the user sessions are hosted on an available computing device with the highest number of hosted sessions.
11 . The computing system of claim 7 , wherein user sessions hosted on a computing device classified as low are migrated to a computing device classified as high to allow for a shutdown of the computing device classified as low.
12 . The computing system of claim 6 , wherein endpoints with a medium session capacity are favored over endpoints with a high session capacity, and endpoints with a high session capacity are favored over endpoints with a low session capacity.
13 . A memory storage device excluding transitory signals, the memory storage device storing thereon computer executable instructions for providing access to a remote user session in a computing environment, the memory storage device comprising:
instructions for making available one or more remote desktop configurations to a plurality of users via a remote network connection, the remote desktop configurations comprising an operating environment and software applications to be included in the operating environment; instructions for receiving a request for a remote desktop session from one of the plurality of users, the remote desktop session conforming to one of the one or more remote desktop configurations; and instructions for instantiating the requested remote desktop session and loading data and applications associated with the remote desktop session on a virtual machine endpoint, the endpoint selected from a plurality of endpoints that are identified as having a session capacity comprising one of low, medium, or high session capacity, wherein the identification is based in part on a usage threshold indicative of a relative amount of total session capacity for the plurality of endpoints, the session capacity indicative of a capacity of an endpoint to host remote desktop sessions; wherein the requested remote desktop session is instantiated on an endpoint selected-based at least in part on a predetermined load balancing metric determined according to a minimum performance standard when more than one endpoint is selected, wherein the load balancing metric is different from the usage threshold.
14 . The memory storage device of claim 13 , wherein the endpoint selection is determined by balancing loads among computing devices such that user sessions are hosted on computing devices to substantially minimize the total number of hosting computing devices.
15 . The memory storage device of claim 14 , wherein the user sessions are hosted on an available computing device with the highest number of hosted sessions.
16 . The memory storage device of claim 13 , wherein endpoints with a medium session capacity are favored over endpoints with a high session capacity, and endpoints with a high session capacity are favored over endpoints with a low session capacity.
17 . A system comprising a computing device including at least one processor and a memory communicatively coupled to said at least one processor when said system is operational, said memory having stored therein computer instructions that, upon execution, cause:
instantiating one or more remote desktop configurations that makes available, to a plurality of users via a remote network connection, the remote desktop configurations comprising an operating environment and software applications to be included in the operating environment; receiving a request for a remote desktop session, the remote desktop session conforming to one of the one or more remote desktop configurations; instantiating the requested remote desktop session and loading data and applications associated with the remote desktop session on a virtual machine endpoint, the endpoint selected from a plurality of endpoints that are identified as having a session capacity comprising one of low, medium, or high session capacity, wherein the identification is based in part on a usage threshold indicative of a relative amount of total session capacity for the plurality of endpoints, the session capacity indicative of a capacity of an endpoint to host remote desktop sessions; and migrating the data and applications to another computing device in accordance with the endpoint selection; wherein when more than one endpoint is selected, the requested remote desktop session is instantiated on an endpoint selected based at least in part on a predetermined load balancing metric determined according to a minimum performance standard, wherein the load balancing metric is different from the usage threshold; and wherein user sessions hosted on a computing device classified as low are migrated to a computing device classified as high to allow for a shutdown of the computing device classified as low.
18 . The system of claim 17 , wherein the one or more remote desktop configurations each conform to a user configuration template for propagating the one or more remote desktop configurations in a virtualized computing environment.
19 . The system of claim 18 , wherein the endpoint selection is determined by balancing loads among computing devices such that user sessions are hosted on computing devices to substantially minimize the total number of hosting computing devices.
20 . The system of claim 19 , wherein the user sessions are hosted on an available computing device with the highest number of hosted sessions.Join the waitlist — get patent alerts
Track US2018143866A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.