Method and system for providing high availability to computer applications
First Claim
Patent Images
1. A method, comprising:
- preloading a high-availability shared library with a custom function using an operating system loader, wherein the high-availability shared library is provided within a set of system-level services, and the custom function initializes high-availability services for an application program before the application program is loaded on a primary node;
registering, by the custom function of the high-availability shared library, the application program with a high availability protection program, wherein the high-availability shared library is loaded prior to registering the application program;
after the registering, loading the application program on the primary node; and
assigning a virtual IP address for the application program running on the primary nod,wherein modification of the application program or application program recompilation 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
23 Claims
-
1. A method, comprising:
-
preloading a high-availability shared library with a custom function using an operating system loader, wherein the high-availability shared library is provided within a set of system-level services, and the custom function initializes high-availability services for an application program before the application program is loaded on a primary node; registering, by the custom function of the high-availability shared library, the application program with a high availability protection program, wherein the high-availability shared library is loaded prior to registering the application program; after the registering, loading the application program on the primary node; and assigning a virtual IP address for the application program running on the primary nod, wherein modification of the application program or application program recompilation is not required. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A non-transitory machine-readable medium comprising a plurality of machine-readable instructions that when executed by one or more processors is adapted to cause the one or more processors to perform a method comprising:
-
preloading a high-availability shared library with a custom function using an operating system loader, wherein the high-availability shared library is provided within a set of system-level services, the custom function initializes high-availability services for an application program, and the high-availability shared library is loaded before the application program is loaded on a node; registering, by the custom function of the high-availability shared library, the application program with a high availability protection program; after the registering, loading the application program on the node; and assigning a virtual IP address for the application program running on the node, wherein modification of the application program or application program recompilation is not required. - View Dependent Claims (7, 8)
-
-
9. A non-transitory machine-readable medium comprising a plurality of machine-readable instructions that when executed by one or more processors is adapted to cause the one or more processors to perform a method comprising:
-
preloading a shared library with a custom function using an operating system loader; after preloading the shared library, loading an application program on a node including a network interface; registering, by the custom function, the application program with a high availability protection program, wherein the shared library is loaded prior to loading the application program; and assigning, by the shared library, a virtual IP address to a plurality of application programs running on the node, the virtual IP address being mapped to the network interface of the node, and the plurality of application programs including the application program; migrating each application program of the plurality of application programs to a backup location in response to an application program of the plurality of application programs failing over to the backup location, wherein the virtual IP address is unique and assigned to the plurality of application programs at the backup location; wherein modification of the application program or application program recompilation is not required. - View Dependent Claims (10, 11)
-
-
12. A method, comprising:
-
providing a loadable kernel module; 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, by a bridge at an IP layer of a TCP/IP stack of a primary node, a state of all connections at the primary node that are open for that process in a buffer and sends the state to the checkpointing procedure; and sending the connection state from the primary node to a TCP/IP stack of a backup node along with an application state; wherein, during restoration on the backup node, the restoration procedure invokes the kernel module with the saved buffer, and the kernel module uses the data in the buffer to restore all the connections in the exact same state as they were in the primary node. - View Dependent Claims (13)
-
-
14. A non-transitory machine-readable medium comprising a plurality of machine-readable instructions that when executed by one or more processors is adapted to cause the one or more processors to perform a method comprising:
-
a loadable kernel module; 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, by a bridge at an IP layer of a TCP/IP stack of a primary node, a state of all the connections at the primary node that are open for that process in a buffer and sends the state to the checkpointing procedure; wherein the checkpointing procedure sends the connection state from the primary node to a backup node along with an application state; and wherein, during restoration on the backup node, the restoration procedure invokes the kernel module with the saved buffer, and the kernel module uses the data in the buffer to restore all the connections in the exact same state as they were in the primary node. - View Dependent Claims (15)
-
-
16. A method, comprising:
-
preloading a shared library with a custom function using an operating system loader; after preloading the shared library, loading an application program on a primary server; aliasing a first unique IP address of the application program, by the shared library, to an IP address of the primary server; detecting a failure in an execution of the application program running on the primary server; and executing said application program from one or more designated backup servers automatically in response to said failure, wherein the application program remains responsive on the IP address of the primary server while executing on one or more of the designated backups servers; managing high availability policy using an automatic profiler monitoring application execution, or in response to policy adjustments from an administrator, wherein said profiler monitors application execution, builds a statistical description of the execution and uses the statistical description for generating and/or recommending optimal settings; wherein said function registers said application program with a high availability protection program; and wherein modification of the application program or application program recompilation is not required. - View Dependent Claims (17, 18, 19)
-
-
20. A method, comprising:
-
loading a kernel module; executing a checkpointing procedure for an application to invoke said kernel module for capturing, by a bridge at an IP layer of a TCP/IP stack of a primary server, a state of connections at the primary server that are open for that process and sending the connection state to said checkpointing procedure and from the primary server 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 connections in the exact state as they were in the primary server. - View Dependent Claims (21)
-
-
22. A non-transitory machine-readable medium comprising a plurality of machine-readable instructions that when executed by one or more processors is adapted to cause the one or more processors to perform a method comprising:
-
a loadable kernel module; an application checkpointing procedure configured for invoking said kernel module for capturing, by a bridge at an IP layer of a TCP/IP stack of the primary node, a state of all connections at the primary node for that process and communicating the connection states back to the checkpointing procedure and from the primary node to a TCP/IP stack of a backup node along with the application state; and an application restoration procedure configured for invoking said kernel module to restore all the connections in the exact same state as they were in the primary node. - View Dependent Claims (23)
-
Specification