Load balancing algorithm for servicing client requests
First Claim
Patent Images
1. An application server comprising:
- a connection manager to receive a request associated with an existing distributable session;
a request notification queue communicatively coupled to the connection manager to store a request notification of the request, the request notification to be retrieved by a worker node assigned to process the request, wherein the request notification queue is one of a plurality of request notification queues, the worker node is one of a plurality of worker nodes, and each one of the plurality of request notification queues is associated with a respective one of the plurality of worker nodes;
a memory communicatively coupled to the connection manager to store request data, response data and session data of the request; and
a dispatcher communicatively coupled to the connection manager to send the request to the worker node assigned to handle the session if the worker node is available, the dispatcher identifying the worker node assigned to handle the session by querying the session data to determine if the session is already existing and retrieving the worker node assigned to handle the session, the worker node processing the request by retrieving the request notification from the request notification queue associated with the worker node, and the request data and the session data from the memory, the dispatcher to select another worker node from the plurality of worker nodes to which to send the request according to a load balancing algorithm if the worker node is not available.
2 Assignments
0 Petitions
Accused Products
Abstract
A connection manager includes a dispatcher that dispatches requests to worker nodes in an application server according to a load balancing algorithm.
206 Citations
21 Claims
-
1. An application server comprising:
-
a connection manager to receive a request associated with an existing distributable session; a request notification queue communicatively coupled to the connection manager to store a request notification of the request, the request notification to be retrieved by a worker node assigned to process the request, wherein the request notification queue is one of a plurality of request notification queues, the worker node is one of a plurality of worker nodes, and each one of the plurality of request notification queues is associated with a respective one of the plurality of worker nodes; a memory communicatively coupled to the connection manager to store request data, response data and session data of the request; and a dispatcher communicatively coupled to the connection manager to send the request to the worker node assigned to handle the session if the worker node is available, the dispatcher identifying the worker node assigned to handle the session by querying the session data to determine if the session is already existing and retrieving the worker node assigned to handle the session, the worker node processing the request by retrieving the request notification from the request notification queue associated with the worker node, and the request data and the session data from the memory, the dispatcher to select another worker node from the plurality of worker nodes to which to send the request according to a load balancing algorithm if the worker node is not available. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
receiving a request associated with an existing distributable session at a connection manager; receiving a request notification of the request at a request notification queue from the connection manager, the request notification being retrieved by a worker node assigned to process the request, wherein the request notification queue is one of a plurality of request notification queues, the worker node is one of a plurality of worker nodes, and each one of the plurality of request notification queues is associated with a respective one of the plurality of worker nodes; storing request data, response data and session data of the request in a memory, the memory being accessible to the connection manager and the worker node; examining at a dispatcher whether the worker node assigned to handle the session is available to process the request, the examining including querying the session data to determine if the session is an existing session and retrieving the worker node assigned to handle the session; sending the request from the dispatcher to the assigned worker node if the assigned worker node is available, the worker node processing the request by retrieving the request notification from the request notification queue associated with the worker node and the request data and the session data from the memory; and selecting another worker node from the plurality of worker nodes to which to send the request according to a load balancing algorithm if the assigned worker node is not available. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. An article of manufacture, comprising:
-
an electronically accessible medium comprising instructions, that when executed by a processor cause the processor to; receive a request associated with an existing distributable session at a connection manager; receive a request notification of the request at a request notification queue from the connection manager, the request notification being retrieved by a worker node assigned to process the request, wherein the request notification queue is one of a plurality of request notification queues, the worker node is one of a plurality of worker nodes, and each one of the plurality of request notification queues is associated with a respective one of the plurality of worker nodes; store request data, response data and session data of the request in a memory, the memory being accessible to the connection manager and the worker node; examine at a dispatcher whether the worker node assigned to handle the session is available to process the request, the examining including querying the session data to determine if the session is an existing session and retrieving the worker node assigned to handle the session; send the request from the dispatcher to the assigned worker node if the assigned worker node is available, the worker node processing the request by retrieving the request notification from the request notification queue associated with the worker node and the request data and the session data from the memory; and select another worker node to which to send the request according to a load balancing algorithm if the assigned worker node is not available. - View Dependent Claims (19, 20, 21)
-
Specification