IP Library Granted Patent US 12,210,910
Granted Patent B2
US 12,210,910 · App. 18/337,247 · Granted Jan 28, 2025

Managing a virtualized application workspace on a managed computing device

Inventors: Anthony J. Wilkinson (Princess Risborough, GB); Mark Benson (Wokingham, GB); Patrick W. Hayward (London, GB)
Assignee: Omnissa, LLC
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 12,210,910
App. No.
18/337,247
Granted
Jan 28, 2025
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:

broadcasting a remote application session related request to a 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;

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

causing the remote application session to be launched on one of the two or more servers based on the load balancing arrangement.

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:

broadcast a remote application session related request to a message bus to determine which of a 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;

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

causing the remote application session to be launched on one of the two or more servers based on the load balancing arrangement.

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:

broadcasting a remote application session related request to a 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;

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

causing the remote application session to be launched on one of the two or more servers based on the load balancing arrangement.

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/0242 →