System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
First Claim
1. A data center for providing on-line service to end users who connect to the data center from client computers that run client applications, comprising:
- a plurality of application servers interconnected by a local area network, each application server running at least one service application that implements an on-line service, different groups of said application servers running different service applications to provide different on-line services, application servers which run like service applications forming service groups; and
a plurality of gateway computers connected to said application servers by said local area network and connected to the client computers by a wide area network, each gateway computer locally storing a respective copy of a service map that includes a mapping of application servers to service groups, said service map automatically updated by said plurality of application servers, each gateway computer programmed to receive service requests from client computers and to route said service requests to application servers running corresponding service applications, the gateway computers further programmed to establish and maintain bi-directional data connections between the client computers and said application servers over the local area network based on entries within the service map, the data connections corresponding to user service sessions.
2 Assignments
0 Petitions
Accused Products
Abstract
An on-line services network includes application servers and Gateway microcomputers that are interconnected by a LAN. The Gateway microcomputers receive service requests which are transmitted over a WAN from client microcomputers operated by end users. Upon receiving a request to open a service, the Gateway microcomputers access a periodically-updated service map to locate the replicated application servers that are currently running the corresponding service application, and then apply a load balancing method (using server load data contained within the service map) to select an application server that has a relatively low processing load. A communications protocol between the client and Gateway microcomputers enables users to access multiple services simultaneously. A hot redirection technique allows a user service session to be transferred from one application server to another (replicated) application server without termination of the service session. Various mechanisms are provided for efficiently reallocating application servers to different on-line services, and for allowing additional servers to be efficiently added to the network.
1588 Citations
59 Claims
-
1. A data center for providing on-line service to end users who connect to the data center from client computers that run client applications, comprising:
-
a plurality of application servers interconnected by a local area network, each application server running at least one service application that implements an on-line service, different groups of said application servers running different service applications to provide different on-line services, application servers which run like service applications forming service groups; and a plurality of gateway computers connected to said application servers by said local area network and connected to the client computers by a wide area network, each gateway computer locally storing a respective copy of a service map that includes a mapping of application servers to service groups, said service map automatically updated by said plurality of application servers, each gateway computer programmed to receive service requests from client computers and to route said service requests to application servers running corresponding service applications, the gateway computers further programmed to establish and maintain bi-directional data connections between the client computers and said application servers over the local area network based on entries within the service map, the data connections corresponding to user service sessions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. In a computer network which comprises a gateway computer that connects a wide area network to a local area network, a method of processing service requests from users so as to balance a processing load among application servers of the network, the application servers interconnected by the local area network, the method comprising the steps of:
-
receiving a service request at a host data center, said service request transmitted from client computer to said host data center over said wide area network, said service request corresponding to a service; identifying a group of application servers that are assigned to said service, said step of identifying comprising accessing a service map stored by said gateway computer, said service map automatically updated by said application servers; determining processing loads of each application server in said group; based on said processing loads, selecting an application server from said group to process said service request; and routing said service request to a selected application server. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49)
-
-
50. A gateway computer, comprising:
-
a first network interface for communicating with client computers; second network interface for communicating with a plurality of servers; a memory, said memory containing load data for said plurality of servers, said load data updated periodically such that said load data indicates current loads for said plurality of servers, said load data indicating, for each server of said plurality of servers, an available processing power for processing requests from client computers; and a CPU, said CPU programmed to each of; (a) receive a request from a client computer, (b) in response to said request, access said load data to identify a server of said plurality of servers that is lightly load, and (c) route said request to said server identified in step (b). - View Dependent Claims (51, 52, 53, 54)
-
-
55. A method of disseminating load data of a plurality of servers to a plurality of routing computers that route client requests to the servers based on the load data received from a dispatcher entity, the servers, the routing computers and the dispatcher entity interconnected by a local area network, the method comprising the steps of:
-
(a) at each server of the plurality of servers, automatically determining a current load on the respective server, and automatically transmitting load data that reflects the current load to the dispatcher entity of the local area network; and (b) at the dispatcher entity, automatically compiling the load data received from each of the plurality of servers into a map, and broadcasting the map on the local area network to allow the routing computers to obtain the load data of the plurality of servers. - View Dependent Claims (56, 57, 59)
-
-
58. A data center for providing on-line services to end users who connect to the data center from client computers that run client applications, comprising:
-
a plurality of application servers interconnected by a local area network, each application server running at least one service application that implements an on-line service, different groups of said application servers running different service applications to provide different on-line services, application servers which run like service applications forming service groups; and a plurality of gateway computers connected to said application servers by said local area network and connected to the client computers by a wide area network, each gateway computer programmed to receive service requests from client computers and to route said service requests to application servers running corresponding service applications, the gateway computers further programmed to establish and maintain bi-directional data connections between the client computers and said application servers over the local area network based on entries within the service map, the data connections corresponding to user service sessions, each gateway computer further programmed to, upon a service request from a client computer to open a user-specified service, doing each of; (a) identifying all application servers that fall within a service group which correspond to said user-specified service, (b) determining respective processing loads for each application server identified in step (a), the step of determining comprising accessing a service map, said service map indicating processing loads for substantially all of said application servers, including application servers of multiple different service groups, said service map automatically updated by said application servers to reflect changes in processing loads, and (c) based on processing loads determined in step (b), selecting an application server from said service group to process said request to open said user-specified service.
-
Specification