IP Library Granted Patent US 11,726,828
Granted Patent B2
US 11,726,828 · App. 17/456,127 · Granted Aug 15, 2023

Managing a virtualized application workspace on a managed computing device

Inventors: Anthony J. Wilkinson (Princess Risborough, GB); Mark Benson (Workingham, GB); Patrick W. Hayward (London, GB)
Assignee: VMWARE, INC.
G06F9/505G06F8/61G06F8/65G06F16/282G06F16/9535G06Q10/06H04L61/4523H04L63/08H04L63/102H04L67/02H04L67/1001H04L67/1008H04L67/1023H04L67/1031H04L67/34H04L67/51H04L67/63H04L67/1095
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,726,828
App. No.
17/456,127
Granted
Aug 15, 2023
Kind
B2
Abstract

Methods and systems for providing load balancing are provided. Example embodiments provide an Application Workspace System “AWS” which enables users to access remote server-based applications using the same interface that they use to access local applications, without needing to know where the application is being accessed. In one embodiment, a load balancing message bus is provided that performs load balancing and resource discovery within the AWS. For example, the AWS may use a broadcast message-bus based load balancing to determine which servers to use to launch remote application access requests or to perform session management. This abstract is provided to comply with rules requiring an abstract, and it is submitted with the intention that it will not be used to interpret or limit the scope or meaning of the claims.

Claims (34)

1. A method for providing load balancing for remote application sessions to be executed on one or more of a plurality of servers in communication via a network, comprising:

providing a message bus mechanism configured such that one or more of the plurality of servers can subscribe to an event that corresponds to a remote application session related request;

broadcasting the remote application session related request to the message bus to determine which of the plurality of servers to use to execute a remote application session;

receiving a response from each of two or more servers of the plurality of servers indicating that the two or more servers are presently available to execute the remote application session, each response comprising information indicating available resources at each of the two or more servers; and

based on the information indicating available resources at each of the two or more servers, determining a load balancing arrangement between the two or more servers for executing the remote application session.

2. The method of claim 1 , wherein the message bus is a JMS compliant message bus, the remote application session related request is for a connection, and the plurality of servers comprise terminal servers.

3. The method of claim 1 , further comprising computing one or more scores for each of the two or more servers based on the information indicating available resources at each of the two or more servers, wherein determining the load balancing arrangement is based on the one or more scores.

4. The method of claim 1 , wherein the information indicating available resources at each of the two or more servers comprises a number of sessions serviced by each of the two or more servers.

5. The method of claim 1 , wherein the information indicating available resources at each of the two or more servers comprises a percentage of committed bytes used by each of the two or more servers.

6. The method of claim 1 , wherein the information indicating available resources at each of the two or more servers comprises an average processor utilization for each of the two or more servers.

7. The method of claim 1 , wherein the plurality of servers comprise at least one of a streaming data service, a hosted virtual operating environment, or a terminal service.

8. A system for providing load balancing for remote application sessions, comprising:

at least one memory; and

at least one processor configured to:

provide a message bus mechanism configured such that one or more of a plurality of servers in communication via a network can subscribe to an event that corresponds to a remote application session related request;

broadcast the remote application session related request to the message bus to determine which of the plurality of servers to use to execute a remote application session;

receive a response from each of two or more servers of the plurality of servers indicating that the two or more servers are presently available to execute the remote application session, each response comprising information indicating available resources at each of the two or more servers; and

based on the information indicating available resources at each of the two or more servers, determine a load balancing arrangement between the two or more servers for executing the remote application session.

9. The system of claim 8 , wherein the message bus is a JMS compliant message bus, the remote application session related request is for a connection, and the plurality of servers comprise terminal servers.

10. The system of claim 8 , wherein the at least one processor is further configured to compute one or more scores for each of the two or more servers based on the information indicating available resources at each of the two or more servers, wherein determining the load balancing arrangement is based on the one or more scores.

11. The system of claim 8 , wherein the information indicating available resources at each of the two or more servers comprises a number of sessions serviced by each of the two or more servers.

12. The system of claim 8 , wherein the information indicating available resources at each of the two or more servers comprises a percentage of committed bytes used by each of the two or more servers.

13. The system of claim 8 , wherein the information indicating available resources at each of the two or more servers comprises an average processor utilization for each of the two or more servers.

14. The system of claim 8 , wherein the plurality of servers comprise at least one of a streaming data service, a hosted virtual operating environment, or a terminal service.

15. A non-transitory computer readable medium storing instructions that, when executed by a system, cause the system to perform operations for providing load balancing for remote application sessions to be executed on one or more of a plurality of servers in communication via a network, the operations comprising:

providing a message bus mechanism configured such that one or more of the plurality of servers can subscribe to an event that corresponds to a remote application session related request;

broadcasting the remote application session related request to the message bus to determine which of the plurality of servers to use to execute a remote application session;

receiving a response from each of two or more servers of the plurality of servers indicating that the two or more servers are presently available to execute the remote application session, each response comprising information indicating available resources at each of the two or more servers; and

based on the information indicating available resources at each of the two or more servers, determining a load balancing arrangement between the two or more servers for executing the remote application session.

16. The non-transitory computer readable medium of claim 15 , wherein the message bus is a JMS compliant message bus, the remote application session related request is for a connection, and the plurality of servers comprise terminal servers.

17. The non-transitory computer readable medium of claim 15 , wherein the operations further comprise computing one or more scores for each of the two or more servers based on the information indicating available resources at each of the two or more servers, wherein determining the load balancing arrangement is based on the one or more scores.

18. The non-transitory computer readable medium of claim 15 , wherein the information indicating available resources at each of the two or more servers comprises a number of sessions serviced by each of the two or more servers.

19. The non-transitory computer readable medium of claim 15 , wherein the information indicating available resources at each of the two or more servers comprises a percentage of committed bytes used by each of the two or more servers.

20. The non-transitory computer readable medium of claim 15 , wherein the information indicating available resources at each of the two or more servers comprises an average processor utilization for each of the two or more servers.

Assignments (3)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
Continuity (6)
Continuation 16444393 · Jun 18, 2019
Continuation 15098710 · Apr 14, 2016
Continuation 11929312 · Oct 30, 2007
Continuation PCTUS2006048713 · Dec 19, 2006
Provisional Application 60752208 · Dec 19, 2005
Related Publication 20220083379A1 · Mar 17, 2022