IP Library Granted Patent US 7,779,129
Granted Patent B2
US 7,779,129 · App. 11/845,545 · Granted Aug 17, 2010

Method and system for improving the availability of software processes utilizing configurable finite state tables

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,779,129
App. No.
11/845,545
Granted
Aug 17, 2010
Kind
B2
Abstract

The invention provides a system and method for providing a high availability application at low cost for a wide range of solution architectures. A user runs a simplistic web-based wizard to install the high availability application. Then, a user designs the high availability application's logic for an individual process or process-group using a finite state table. Next, a standard UNIX init process spawner subsystem is extended to implement the high availability application as a property of a process. Finally, the logic from the finite state table is used to make each process or process-group highly available.

Claims (39)

1. A method of providing a high availability application using a network-based system including a plurality of clients and a plurality of servers, the method further comprising:

pinging at least one of the plurality of servers;

determining a finite state table based on a status of the plurality of servers, the finite state table defining status of at least one of the plurality of servers, wherein the finite state table is a pluggable logic model that directs system roles;

selecting at least one server based on the finite state table to form a selected at least one server, wherein the at least one server is a first server;

providing the high availability application from the selected at least one server to at least one of the plurality of clients, wherein providing the high availability application includes minimizing system outages;

setting the first server to operate as a secondary server in response to determining that a second server internet protocol (IP) address is equal to or greater than an IP address of the first server; and

setting the first server to operate as a primary server in response to determining that the second server IP address is less than the IP address of the first server.

2. The method of claim 1 further comprising:

determining at least one server to operate as a primary server and at least one server to operate as a secondary server.

3. The method of claim 1 wherein the finite state table incorporates at least two servers, and wherein the at least two servers maintain communication by broadcast with each other to check the status of a disk partition being full of each of the at least two servers.

4. The method of claim 1 further comprising:

simulating configuration changes of the finite state table; and

evaluating configuration changes of the finite state table.

5. A computer usable medium storing a program containing computer readable code for providing a high availability application using a network-based system including a plurality of clients and a plurality of servers, the computer usable medium further comprising:

computer readable code for pinging at least one of the plurality of servers;

computer readable code for determining a finite state table based on a status of the plurality of servers, the finite state table defining status of at least one of the plurality of servers, wherein the finite state table is a pluggable logic model that directs system roles;

computer readable code for selecting at least one server based on the finite state table to form a selected at least one server, wherein the at least one server is a first server;

computer readable code for providing the high availability application from the selected at least one server to at least one of the plurality of clients, wherein providing the high availability application includes minimizing system outages;

computer readable code for setting the first server to operate as a secondary server in response to determining that a second server internet protocol (IP) address is equal to or greater than an IP address of the first server; and

computer readable code for setting the first server to operate as a primary server in response to determining that the second server IP address is less than the IP address of the first server.

6. The computer usable medium of claim 5 further comprising:

computer readable code for determining at least one server to operate as a primary server and at least one server to operate as a secondary server.

7. The computer usable medium of claim 5 wherein the finite state table incorporates at least two servers, and wherein the at least two servers maintain communication by broadcast with each other to check the status of a disk partition being full of each of the at least two servers.

8. The computer usable medium of claim 5 further comprising:

computer readable code for simulating configuration changes of the finite state table; and

computer readable code for evaluating configuration changes of the finite state table.

9. A system for providing a high availability application using a network-based system including a plurality of clients and a plurality of servers comprising:

means for pinging at least one of the plurality of servers;

means for determining a finite state table based on a status of the plurality of servers, the finite state table defining status of at least one of the plurality of servers, wherein the finite state table is a pluggable logic model that directs system roles;

means for selecting at least one server based on the finite state table to form a selected at least one server, wherein the at least one server is a first server;

means for providing the high availability application from the selected at least one server to at least one of the plurality of clients, wherein providing the high availability application includes minimizing system outages;

means for setting the first server to operate as a secondary server in response to determining that a second server internet protocol (IP) address is equal to or greater than an IP address of the first server; and

means for setting the first server to operate as a primary server in response to determining that the second server IP address is less than the IP address of the first server.

10. The system of claim 9 further comprising:

means for determining at least one server to operate as a primary server and at least one server to operate as a secondary server.

11. The system of claim 9 wherein the finite state table incorporates at least two servers, and wherein the at least two servers maintain communication by broadcast with each other to check the status of a disk partition being full of each of the at least two servers.

12. The system of claim 9 further comprising:

means for simulating configuration changes of the finite state table; and

means for evaluating configuration changes of the finite state table.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LINKEDIN CORPORATION
Reel/Frame 035201/0479 →