# US 2014/0208153 A1 · Method and system for providing high availability to computer applications

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0208153 A1
- Document ID: US20140208153A1
- Status: Published application
- Kind: A1
- Application number: 14/252,528
- Filed: 2014-04-14
- Published: 2014-07-24
- Earliest claimed: 2004-08-26
- Assignees: Red Hat, Inc.
- Applicants: Red Hat, Inc.
- Inventors: Allan Havemose
- Web page: https://patentgrep.com/patent/US20140208153A1

## CPC

- G06F 11/2046: {where the redundant components share persistent storage (G06F11/2043 takes precedence)}
- G06F 11/0709: {in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems}
- G06F 11/1402: {Saving, restoring, recovering or retrying}
- G06F 11/141: {for bus or memory accesses}
- G06F 11/1438: {Restarting or rejuvenating}
- G06F 11/1482: using middleware or operating system [OS] functionalities
- G06F 11/2002: {where interconnections or communication control functionality are redundant (flexible arrangements for bus networks involving redundancy H04L12/40176)}
- G06F 11/30: Monitoring
- H04L 61/5007: Internet protocol [IP] addresses
- G06F 11/20: using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F 11/2023: {Failover techniques}
- G06F 11/2028: {eliminating a faulty processor or activating a spare}
- G06F 11/203: {using migration}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system and method for assigning application specific IP addresses to individual applications. The system may be operable to assign a unique IP address to an application, and alias the application IP address to a NIC IP address on the host where the application is running. In an exemplary embodiment, the system may be further operable to migrate the application IP address to a new host as part of a migration, and alias the application IP address to a NIC in the new host as part of the migration.

## Claims

### Claim at position 1

1-20. (canceled)

### Claim 21

A method, comprising:
preloading a shared library for one or more applications on at least one of a first host and a second host;
aliasing a unique IP address of the one or more applications, by the shared library, to an IP address on the first host where the one or more applications are running;
migrating the one or more applications' unique IP address to the second host as part of a migration of the one or more applications; and
capturing, by a bridge at an IP layer of a TCP/IP stack of the first host, a state of the one or more applications' TCP/IP connections on the first host and transferring said state to the TCP/IP stack on the second host as part of the migration;
wherein said unique IP address is assigned to each of the one or more applications by the preloaded shared library.

### Claim 22 (depends on 21)

The method according to claim 21, wherein the one or more applications are standard applications.

### Claim 23 (depends on 21)

The method according to claim 21, wherein the one or more applications are operating system services.

### Claim 24 (depends on 21)

The method according to claim 21, wherein said unique IP address is unique within the IP address space of said IP network.

### Claim 25 (depends on 21)

The method according to claim 21, wherein said unique IP address is used by external client applications to communicate with the one or more applications.

### Claim 26 (depends on 21)

The method according to claim 21, wherein the one or more applications can be addressed independently of the first host upon which the applications are running at any given point in time.

### Claim 27 (depends on 21)

The method according to claim 21, wherein the migration of the one or more applications from the first host to the second host is hidden from external client applications by transferring the applications' IP address from the first host to the second host.

### Claim 28 (depends on 21)

The method according to claim 21, whereupon failure of the one or more applications, the method further comprises re-establishing a connections to the second host.

### Claim 29 (depends on 21)

The method according to claim 21, wherein the migrating includes aliasing the one or more application' IP address to a MAC in the second host as part of the migration, wherein aliasing of the unique IP address is provided as a system level function.

### Claim 30 (depends on 21)

The method according to claim 21, wherein the one or more applications can be addressed independently of the first host and the second host while running at any given point in time.

### Claim 31

A non-transitory computer readable storage medium storing a computer program having instructions for:
preloading a shared library for one or more applications;
assigning a unique IP address, by the shared library, to the one or more applications;
aliasing the IP address of the one or more applications, by the shared library, to a NIC IP address on a first host where the one or more applications are running;
migrating the IP address of the one or more applications to a second host as part of a migration; and
aliasing the IP address to a NIC in the second host as part of the migration;
wherein the method further comprises capturing, by a bridge at an IP layer of a TCP/IP stack of the first host, a state of the one or more applications' TCP/IP connections on the first host and transferring said state to the TCP/IP stack on the second host as part of the migration.

### Claim 32 (depends on 31)

The non-transitory computer readable storage medium according to claim 31, further comprising when the one or more applications fail on the first host, the computer program performs the step of migrating the applications' IP address with the applications.

### Claim 33 (depends on 131)

The non-transitory computer readable storage medium according to claim 131, further comprising when the one or more applications fail on the first host, the computer program performs the step of re-establishing a connection to the second host.

### Claim 34 (depends on 31)

The non-transitory computer readable storage medium according to claim 31, wherein the migration of the one or more applications from the first host to the second host is hidden from external client applications by transferring the applications' IP address from the first host to the second host.

### Claim 35 (depends on 31)

The non-transitory computer readable storage medium according to claim 31, wherein the one or more applications is at least one of standard applications, operating system services, operating system programs, and a virtual machine programs.

### Claim 36 (depends on 31)

The non-transitory computer readable storage medium according to claim 31, wherein aliasing of the applications' IP address is provided as a system level function.

### Claim 37

A system, comprising:
a first server structured to run one or more applications;
a second server in communication with the first server; and
at least one computer readable medium associated with the first server and the second server, the at least one computer readable medium including a computer program having instructions for migrating the one or more applications between the first server and the second server, wherein the computer program performs steps comprising:
preloading a shared library for each of the one or more applications;
assigning a unique IP address, by the shared library, to the one or more applications;
aliasing the IP address of the one or more applications, by the shared library, to a NIC IP on a first server where the one or more applications are running;
migrating the IP address of the one or more applications to the second server as part of a migration;
aliasing the IP address to a NIC in the second server as part of the migration; and
a bridge at an IP layer of a TCP/IP stack of the first server, the bridge capturing an internal state of TCP and IP and forwarding the internal state to the second server.

### Claim 38 (depends on 37)

The system according to claim 37, wherein the computer program is operable to alias the IP address for the one or more applications as a system level function.

### Claim 39 (depends on 37)

The system according to claim 37, wherein the one or more applications can be addressed independently of the first server upon which the applications are running at any given point in time.
