Distributed load balancing for single entry-point systems
First Claim
1. A method for determining which of a plurality of game services included in a cluster of nodes is to be an intake for a type of game by responding to a plurality of different types of incoming messages for load-balancing at each node included in the cluster of nodes, wherein the plurality of different types of incoming messages are received from a plurality of sources in the cluster, including from other nodes, comprising the steps of:
- (a) at each node, determining a type of the incoming message that has been received;
(b) determining an appropriate response to be performed by a load-balancer running on the node, for each incoming message, based on one of a frequency, a content, and the type of the incoming message; and
(c) determining one of the incoming messages is an intake message which designates that one of the game services on the node is to be the intake, and thereafter designating the game service as the intake for the corresponding type of game, wherein as the intake, the game service receives all requests from any client wishing to participate in that type of game.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for distributing work load in a cluster of at least two service resources. Depending upon the configuration, a service resource may be an individual process, such as a single instance of a computer game, or a node on which multiple processes are executing, such as a Server. Initial connection requests from new clients are directed to a single entry-point service resource in the cluster, called an intake. A separate intake is designated for each type of service provided by the cluster. The clients are processed in a group at the service resource currently designated as the intake to which clients initially connected, for the duration of the session. Based upon its loading, the current intake service resource determines that another service resource in the cluster should become a new intake for subsequent connection requests received from new clients. Selection of another service resource to become the new intake is based on the current work load of each resource in the cluster. All resources in the cluster are periodically informed of the resource for each service being provided that was last designated as the intake, and of the current load on each resource in the cluster. Subsequently, new clients requesting a service are directed to the newly designated intake for that service and processed on that resource for the duration of the session by those clients.
-
Citations
20 Claims
-
1. A method for determining which of a plurality of game services included in a cluster of nodes is to be an intake for a type of game by responding to a plurality of different types of incoming messages for load-balancing at each node included in the cluster of nodes, wherein the plurality of different types of incoming messages are received from a plurality of sources in the cluster, including from other nodes, comprising the steps of:
-
(a) at each node, determining a type of the incoming message that has been received; (b) determining an appropriate response to be performed by a load-balancer running on the node, for each incoming message, based on one of a frequency, a content, and the type of the incoming message; and (c) determining one of the incoming messages is an intake message which designates that one of the game services on the node is to be the intake, and thereafter designating the game service as the intake for the corresponding type of game, wherein as the intake, the game service receives all requests from any client wishing to participate in that type of game. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system for determining which of a plurality of game services included in a cluster of nodes is to be an intake for a type of game by responding to a plurality of different types of incoming messages for load-balancing at each node included in the cluster of nodes, comprising:
-
(a) a memory in which a plurality of machine instructions are stored; (b) at least one processor for implementing the cluster of nodes, each said at least one processor being coupled to the memory, said at least one processor executing the plurality of machine instructions, causing a plurality of functions to be implemented, said plurality of functions including; (i) enabling the plurality of different types of incoming messages to be received from a plurality of sources in the cluster, including from other nodes; (ii) determining a type of the incoming message that has been received at each node; (iii) determining an appropriate response to be performed by a load-balancer running on the node, for each incoming message, based on one of a frequency, a content, and the type of the incoming message; and (iv) upon determining one of the incoming messages is an intake message which designates that one of the game services on the node is to be the intake, designating the game service as the intake for the corresponding type of game, wherein as the intake, the game service receives all requests from any client wishing to participate in that type of game. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification