Simple liveness protocol using programmable network interface cards
First Claim
1. A system comprising:
- a target server with a first programmable network interface card that includes programmed logic for localized detection of liveness of said target server via at least one liveness parameter that is maintained local to said target server, said target server being associated with a server farm network; and
a management server connected to said target server via the server farm network, said management server having a second programmable network interface card that includes programmed logic for receiving, from the first programmable network interface of the target server, the liveness parameter from the target server and determining, based on a value of said liveness parameter whether the target server is operational within the server farm network, wherein said server farm network is managed by the management server and said server farm network is separate from an external data network for connecting client systems to said server farm network.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for determining liveness of targets within a metaserver environment utilizing programmable network interfaces. The network interface has access to the associated target computer'"'"'s processor and memory. A memory location on the target is allocated to storing an internal liveness parameter. The parameter increases when the computer system is making forward progress or operating. The MetaServer stores an initial parameter value of the target when it activates the target. After a pre-selected period, the network interface of the target accesses the associated memory location and provides the current value of the parameter to the MetaServer. When the now value is larger than the previously stored value, the target is assumed to be live.
-
Citations
24 Claims
-
1. A system comprising:
-
a target server with a first programmable network interface card that includes programmed logic for localized detection of liveness of said target server via at least one liveness parameter that is maintained local to said target server, said target server being associated with a server farm network; and
a management server connected to said target server via the server farm network, said management server having a second programmable network interface card that includes programmed logic for receiving, from the first programmable network interface of the target server, the liveness parameter from the target server and determining, based on a value of said liveness parameter whether the target server is operational within the server farm network, wherein said server farm network is managed by the management server and said server farm network is separate from an external data network for connecting client systems to said server farm network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
said first programmable network interface includes logic for;
signaling an operating system of the target server to complete a boot-up process and liveness check activation of said target server responsive to receipt of a boot-up trigger from the second programmable network interface; and
retrieving local values of the liveness parameter from the target server and forwarding the retrieved liveness parameter values to said second programmable network interface; and
said second programmable network interface of said management server comprises logic for;
transmitting a boot-up message to said first programmable network interface to initiate a boot up of said target server wherein said first programmable network interface responds by returning an initial value of the liveness parameter;
passing said initial value received for storage in a memory location of the management server; and
setting a time out interval and frequency count at said management server for receipt of a next liveness parameter value from said target server, wherein said target server is determined to be live when a next liveness parameter is received at the management server prior to expiration of said time out interval.
-
-
3. The system of claim 1, wherein said logic of said second programmable network interface card further includes:
-
logic for initiating transmittal of said first value of said liveness parameter from said first programmable network interface card at boot-up and logic for storing said first value at said first location of memory.
-
-
4. The system of claim 3, wherein said management server further comprises logic for triggering a delivery of said next value from said first programmable network interface card.
-
5. The system of claim 4, wherein said triggering logic includes logic for transmitting a liveness query frame to said first programmable network interface card, wherein said liveness query frame is a special frame that requests a liveness check from the recipient of the frame and wherein said first programmable network interface card includes logic for identifying said liveness query frame as requesting transmittal of a next liveness parameter value.
-
6. The system of claim 5, wherein said triggering logic includes a timer that determines a time when said frame is to be transmitted.
-
7. The system of claim 6, wherein said frame is a MAC-level frame and said next value is returned by said first programmable network interface card in a corresponding MAC level frame to a MAC address of said management server.
-
8. The system of claim 4, wherein said management server farther comprises logic for:
-
comparing said next value with a present value stored at a first location of management server memory to determine if said target server is live, wherein said target server is live if the next value is greater than the present stored value; and
replacing the present value with said next value in said management server memory location when said target server is live.
-
-
9. The system of claim 8, wherein said first programmable network interface card includes triggering logic that comprises a timer, which determines a time when said frame is to be transmitted by said first programmable network interface card based on a pre-determined frequency.
-
10. The system of claim 9, wherein said target server further comprises logic for:
-
setting an initial value of said liveness parameter at said boot-up;
updating said initial value to said next value at a set frequency when internal processes of said target server are operational; and
transmitting said value to said second programmable network interface card whenever said triggering logic activates.
-
-
11. The system of claim 10, wherein said predetermined frequency is set to a time corresponding to a period during which said target is able to update to said next value of said liveness parameter.
-
12. The system of claim 12, wherein said management server further comprises logic for determining when said next value is not received within a time-out interval and in response, tagging said target server as not live.
-
13. A method of detecting liveness of a target server by a management server within a server farm network, said method comprising:
-
triggering a boot-up of the target server from the management server via a special boot-up message transmitted from a first programmable network interface card (PNIC) of the management server to a second programmable network interface card (PNIC) of the target server, wherein said second PNIC is programmed to initialize a first value of an updatable liveness parameter associated with said target server and forward said first value and subsequent values of said liveness parameter to said first PNIC of the management server;
storing the first value of said liveness parameter in memory of the management server when said first value is received;
receiving a first of said subsequent values from said second PNIC;
dynamically determining at the management server if said target server is live by comparing said first of said subsequent values with said first value;
replacing said first value with said subsequent value when said target server is live; and
periodically checking a liveness of said target server by checking a stored value at said management server with a next subsequent value received from the target server. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
monitoring a pre-selected time-out interval for receipt of said new parameter values; and
tagging said target server as failed when said new value is not received within said time interval.
-
-
22. The method of claim 21, wherein said server farm network comprises multiple target servers, said method further comprising staggering a period for transmission of said new value from each target server among said multiple target servers.
-
23. The method of claim 22, further including transmitting a liveness frame to said target server from said management server requesting return of said new value, wherein said liveness frame triggers said first programmable network interface card to submit said new value to said management server.
-
24. The method of claim 23, wherein said server farm network comprises multiple target servers, said method further comprising staggering a period for transmission of said frames to each target server among said multiple target servers.
Specification