Method and system for providing high availability to computer applications
First Claim
Patent Images
1. A method for achieving transparent integration of an application program with a high availability protection program, comprising:
- injecting registration code, transparently and automatically, into an application program during launch;
wherein said application program automatically registers with said high availability protection program;
wherein modification of the application program or application program recompilation is not required; and
wherein a custom loader is not required.
4 Assignments
0 Petitions
Accused Products
Abstract
A set of system-level high availability services for computer systems, including a service that functions in general terms like an extension of the operating system. By providing High Availability (HA) at the system-level, modifications to the applications or the operating system kernel are not required.
-
Citations
47 Claims
-
1. A method for achieving transparent integration of an application program with a high availability protection program, comprising:
-
injecting registration code, transparently and automatically, into an application program during launch;
wherein said application program automatically registers with said high availability protection program;
wherein modification of the application program or application program recompilation is not required; and
wherein a custom loader is not required. - View Dependent Claims (2, 3)
-
-
4. In a high availability protection computer program, the improvement comprising:
-
injecting registration code, transparently and automatically, into an application program during launch;
wherein said application program automatically registers with said high availability protection program;
wherein modification of the application program or application program recompilation is not required; and
wherein a custom loader is not required. - View Dependent Claims (5, 6)
-
-
7. A computer program for transparently registering an application program with a high availability computer program, comprising a set of instructions stored on a media accessible by a computer and executable on said computer, wherein said computer program performs the steps comprising:
-
injecting registration code, transparently and automatically, into an application program during launch;
wherein said application program automatically registers with said high availability protection program;
wherein modification of the application program or application program recompilation is not required; and
wherein a custom loader is not required. - View Dependent Claims (8, 9)
-
-
10-17. -17. (canceled)
-
18. A method for system management in a high availability computer program, comprising:
providing a mechanism to ensure that processes that comprise an application program are launched in a proper order, and with the proper timing constraints during recovery. - View Dependent Claims (19, 20)
-
21. In a high availability computer program, the improvement comprising:
a mechanism to ensure that processes that comprise an application program are launched in the proper order, and with the proper timing constraints during recovery. - View Dependent Claims (22, 23)
-
24. A method for lossless migration of an application program from a primary node to a backup node without replication which is transparent to a client connected to the primary node over a TCP/IP connection, comprising:
-
providing a loadable kernel module comprising a dummy device driver;
providing an application checkpointing procedure which invokes said kernel module;
providing an application restoration procedure which invokes said kernel module;
wherein, during checkpointing, the checkpointing procedure notifies the kernel module, and the kernel module captures the state of all the TCP connections that are open for that process in a byte buffer and sends the state to the checkpointing procedure; and
sending the connection state to a backup node along with the application state;
wherein, during restoration on the backup node, the restoration procedure invokes the kernel module with the saved byte buffer, and the kernel module uses the data in the byte buffer to restore all the TCP connections in the exact same state as they were in the primary node. - View Dependent Claims (25)
-
-
26. A computer executable program for lossless migration of an application program from a primary node to a backup node without replication which is transparent to a client connected to the primary node over a TCP/IP connection, comprising:
-
a loadable kernel module comprising a dummy device driver;
an application checkpointing procedure which invokes said kernel module;
an application restoration procedure which invokes said kernel module;
wherein, during checkpointing, the checkpointing procedure notifies the kernel module, and the kernel module captures the state of all the TCP connections that are open for that process in a byte buffer and sends the state to the checkpointing procedure;
wherein the checkpointing procedure sends the connection state to a backup node along with the application state; and
wherein, during restoration on the backup node, the restoration procedure invokes the kernel module with the saved byte buffer, and the kernel module uses the data in the byte buffer to restore all the TCP connections in the exact same state as they were in the primary node. - View Dependent Claims (27)
-
-
28. A method for achieving transparent integration of an application program with a high availability protection program, comprising:
-
injecting registration code, transparently and automatically, into an application program during launch, without the need of modifying or recompiling the application program and without the need of a custom loader;
registering said application program automatically with said high availability protection program;
detecting a failure in the execution of said application program running on a primary server; and
executing said application program from one or more designated backup servers automatically in response to said failure. - View Dependent Claims (29, 30, 31, 32, 33, 38, 39, 40, 41, 43)
-
-
34-37. -37. (canceled)
-
42. (canceled)
-
44. A method for performing lossless migration of an application program from a primary node to a backup node and while being transparent to a client connected to the primary node over a TCP/IP connection, comprising:
-
loading a kernel module comprising a dummy device driver;
executing a checkpointing procedure for said application to invoke said kernel module for capturing the state of TCP connections that are open for that process and sending the connection state to said checkpointing procedure and to a backup server node in conjunction with application state; and
executing application restoration procedures to invoke said kernel module for restoring the backup server node to restore TCP connections in the exact state as they were in the primary server. - View Dependent Claims (45)
-
-
46. A computer executable program for lossless migration of an application program from a primary node to a backup node which is transparent to a client connected to the primary node over a TCP/IP connection, comprising:
-
a loadable kernel module comprising a dummy device driver;
an application checkpointing procedure configured for invoking said kernel module for capturing the state of all the open TCP connections for that process and communicating the connection states back to the checkpointing procedure and to a backup node along with the application state; and
an application restoration procedure configured for invoking said kernel module to restore all the TCP connections in the exact same state as they were in the primary node. - View Dependent Claims (47)
-
Specification