×

Method and system for providing load balancing for virtualized application workspaces

  • US 9,317,333 B2
  • Filed: 10/30/2007
  • Issued: 04/19/2016
  • Est. Priority Date: 12/19/2005
  • Status: Active Grant
First Claim
Patent Images

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

  • generating, on a client device, a virtual workspace for a user based on a point of access associated with the user, the virtual workspace including a first icon for a local application running on the client device and a second icon for a remote application running on the one or more of the plurality of servers;

    receiving a request to launch the remote application;

    in response to the request to launch the remote application, broadcasting a message to a message bus to request an available session for executing the remote application on the one or more of the plurality of servers, the message bus having the one or more of the plurality of servers subscribed to an event that corresponds to the session related request for the available session;

    receiving a response over the message bus from one or more of the plurality of servers, the response containing a set of statistical information related to the one or more of the plurality of servers;

    sorting the responding one or more servers according to the statistical information received over the message bus, wherein the sorting further comprisescomputing a score for each of the responding one or more servers based on the statistical information received over the message bus, wherein computing the score comprises computing the score based on a number of sessions serviced by the one or more servers, a percentage of committed bytes used by the one or more servers, and average processor utilization for the one or more servers, and wherein computing the score also comprises averaging a first value associated with the number of sessions, a second value associated with the percentage of committed bytes, and a third value associated with the average processor utilization;

    storing each of the responding one or more servers into a data structure;

    sorting the data structure based on the score to generate a sorted data structure; and

    selecting the one of the responding one or more servers based on the sorted data structure to provide the available session for executing the remote application based on the sorting of the data structure.

View all claims
  • 8 Assignments
Timeline View
Assignment View
    ×
    ×