Highly available servers
AssigneeInternational Business Machines Corporation
InventorsJuan Du, Arun K. Iyengar, Gong Su
Life of this patent
Estimating the term…
Abstract
Techniques for maintaining high availability servers are disclosed. For example, a method comprises the following steps. One or more client requests are provided to a first server for execution therein. The one or more client requests are also provided to a second server for storage therein. In response to the first server failing, the second server is configured to execute at least one client request of the one or more client requests provided to the first server and the second server that is not properly executed by the first server.
Claims20
A method comprising:
- assigning one or more identifiers to one or more client requests;
- providing the one or more client requests to a first server for execution therein;
- providing the one or more client requests to a second server for storage therein before failure of the first server;
- and
- receiving at least one reply corresponding to each client request executed by the first server, wherein each reply comprises the identifier assigned to its corresponding client request, and wherein the one or more client requests executed by the first server are periodically identified by updating a current identifier stored in a shared memory shared between the first server and the second server;
- wherein, in response to the first server failing, the second server is configured to execute at least one client request of the one or more client requests that has not been executed by the first server, the at least one client request being determined based on the current identifier stored in the shared memory.
A method comprising:
- a first server of a cluster of servers receiving a plurality of client requests and attempting to execute each client request of the plurality of requests, wherein each client request is assigned an identifier;
- a second server of the cluster of servers receiving the plurality of requests and storing the plurality of requests before failure of the first server;
- the first server sending at least one reply corresponding to each client request executed by the first server, wherein each reply comprises the identifier assigned to its corresponding client request, and wherein the one or more client requests executed by the first server are periodically identified by updating a current identifier stored in a shared memory shared between the first server and the second server;
- and
- in response to the first server failing, the second server executing at least one client request of the plurality of client requests that has not been executed by the first server, the at least one request being determined based on the current identifier stored in the shared memory.
A system comprising:
- a first server of a cluster of servers configured to receive a plurality of client requests and to attempt to execute each client request in the plurality of client requests;
- a second server of the cluster of servers receiving the plurality of requests and storing the plurality of client requests before failure of the first server;
- and
- a shared memory shared between the first server and the second server;
- wherein the one or more client requests executed by the first server are periodically identified by updating a current identifier stored in the shared memory;
- wherein, in response to the first server failing, the second server is configured to determine at least one client request in the plurality of client requests that has not been executed by the first server based on the current identifier stored in the shared memory and to execute the at least one client request that has not been executed by the first server.
Dependencies are inferred from the claim text.