Method and system for detecting a dead server
1 Assignment
0 Petitions
Accused Products
Abstract
Method and system for detecting a dead server in a multi-server environment. A virtual ring structure is used in which each server in a server pool is only required to monitor the status of two other servers in the server pool. Thus, a server need only transmit ping signals to two other servers (its buddies) in the server pool at any given time. Because each server maintains the status of only two other servers at any given time, the size of the server pool is not limited by the ability of each server to send and process ping signals. The two servers which are monitored by any given server in the server pool are referred to as the “buddy A” server and the “buddy B” server. When the monitoring server determines that one of its buddy servers is down, the monitoring server reports the status of the down server to a SQL server that maintains a server table. The server table maintains a list of each “live” server and the buddy servers assigned to that server. Down servers are removed from the server table. When a server determines that one of its buddies is down, the report to the SQL server results in a buddy reassignment. The buddies of the down server are made buddies of one another and the virtual server ring is once more intact. The SQL server then knows not to route any client to the down server.
14 Citations
42 Claims
-
1-19. -19. (canceled)
-
20. A system for removing an inoperative computer from a pool of computers, comprising:
-
a first computer associated with a first monitored computer and a second monitored computer, the first computer being operative to monitor the status of the first monitored computer and the second monitored computer;
a computer list operative to maintain the association between the first computer and the first monitored computer and to maintain the association between the first computer and the second monitored computer;
wherein the first computer is further operative to send a first monitored computer inoperative signal to the computer list, in response to a determination that the first monitored computer is inoperative; and
wherein the computer list is further operative to associate the first computer with a third monitored computer in response to the receipt of the first monitored computer inoperative signal. - View Dependent Claims (21, 22, 23, 24, 25)
-
-
26. A computer-implemented method for creating a virtual computer ring, the method comprising:
storing an entry in a computer table, wherein the computer table identifies a plurality of computers in a computer pool, and wherein each entry comprises a computer identification of a computer in the computer pool, a first monitored computer, and a second monitored computer. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 39)
-
36. A computer-implemented method for monitoring the status of a plurality of computers in a pool of computers, the method comprising:
-
assigning each of the plurality of computers a first monitored computer and a second monitored computer within the computer pool;
causing each of the plurality of computers to monitor the status of its first monitored computer and its second monitored computer; and
;
if one of the plurality of computers determines that one of its monitored computers is inoperative, then causing a monitoring computer to notify a central computer list that stores associations between computers that one of its monitored computers is inoperative. - View Dependent Claims (37, 38)
-
-
40. A computer-readable medium having stored thereon computer-executable instructions which, when executed by a computer, cause the computer to:
-
assign each of the plurality of computers a first monitored computer and a second monitored computer within the computer pool;
cause each of the plurality of computers to monitor the status of its first monitored computer and its second monitored computer; and
;
if one of the plurality of computers determines that one of its monitored computers is inoperative, then cause a monitoring computer to notify a central computer list that stores associations between computers that one of its monitored computers is inoperative. - View Dependent Claims (41, 42)
-
Specification