Computer network solution and software product to establish error tolerance in a network environment
First Claim
1. A method comprising:
- maintaining a plurality of processes in a processing system, each with an ability to independently monitor a status of all of said plurality of processes, without the use of a master; and
enabling said plurality of processes to interact with each other to establish a priority of status, such that each of said plurality of processes can alter the priority of another of said plurality of processes without the use of a master to enable said interaction or alteration of priority.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for establishing error tolerance in a processing system is described. Error tolerance has been advanced by allowing autonomous processes to dynamically assign themselves unique, platform-independent identities upon their creation. The invention allows for the automated creation of backup processes, which automatically replace existing primary processes that have disappeared. Each individual process maintains surveillance of other processes. If one process is lost, the other processes are independently advised of this occurrence, allowing them to replace the lost process. The invention further provides for the consistent flow of backup processes based on each type of service. If a predetermined period of time lapses without a response from a primary process, one of the backup processes, which is of the same service type, will quickly replace the lost process. This backup process, which has now become a primary process, is replaced with a newly created backup process.
59 Citations
39 Claims
-
1. A method comprising:
-
maintaining a plurality of processes in a processing system, each with an ability to independently monitor a status of all of said plurality of processes, without the use of a master; and
enabling said plurality of processes to interact with each other to establish a priority of status, such that each of said plurality of processes can alter the priority of another of said plurality of processes without the use of a master to enable said interaction or alteration of priority. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for creating autonomy within a new process being admitted into a processing system, the method comprising:
-
enabling a new process to assign itself a unique, platform-independent identity, wherein an assignment of identity occurs at the time said new process is admitted into said processing system;
causing said new process to directly communicate with a plurality of process in the processing system;
enabling said new process to update a status in response to other events occuring in said processing system;
causing said new process to maintain a status in said processing system; and
causing said new process to adapt to changes in said processing system. - View Dependent Claims (7, 8)
-
-
9. A method for admitting a new process into a processing system, the method comprising:
-
admitting said new process into said processing system, such that a time at which said new process is admitted is based on whether one or more processes are being concurrently admitted with said new process;
causing said new process to broadcast a heart-beat message to notify each of a plurality of processes that said new process has been admitted into said processing system;
causing each of said plurality of processes to maintain a record identifying each of said plurality of processes; and
updating the record of each of said plurality of processes to include said new process. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A method for providing fault tolerance in a processing system, the method comprising:
-
enabling a plurality of processes in a processing system each to broadcast a heart-beat message, wherein said heart-beat message includes an identifier for each of said plurality of processes;
enabling each of said plurality of processes to receive said heart-beat message;
causing each of said plurality of processes to maintain an individual record of said plurality of processes;
causing each of said plurality of processes to update said individual record based on said heart-beat messages;
assigning each of said processes with a status, wherein said status is one of;
primary, to become primary, or standby; and
enabling said plurality of processes to negotiate a hierarchy of control amongst each other based on the broadcast and receipt of heart-beat messages by each of said plurality of processes, wherein said hierarchy of control is based on the status of each of said plurality of processes. - View Dependent Claims (16, 17, 18)
-
-
19. A method for providing fault tolerance for a process within a processing system, the method comprising:
-
maintaining a record of a plurality of processes in said processing system, wherein said plurality of processes are each assigned an identifier;
analyzing said record of processes to determine a priority for each process;
if one of said plurality of processes has a highest priority and no other of said plurality of processes has a status of primary or has been flagged to become primary, then assigning a status of primary to said process; and
if one of said plurality of processes has a highest priority and at least one other of said plurality of processes has a status of primary or has been flagged to become primary, then assigning a status of to become primary to said process. - View Dependent Claims (20, 21)
-
-
22. A processing system comprising:
-
a computer, wherein said computer introduces a new process into a processing system such that said new process is assigned an identifier;
means for enabling said new process to broadcast a heart-beat message to said processing system;
means for causing a plurality of processes to receive, in said processing system, said heart-beat message, wherein said heart-beat message requests said plurality of processes to individually broadcast a heart-beat message;
means for causing each of said plurality of processes to broadcast an individual heart-beat message wherein said new process receives said individual heart-beat message during a time set by a timer;
means for causing each of said plurality of processes to maintain an individual record of processes wherein said record contains an identifier, a status, a service type and a workload of each of said plurality of processes;
means for causing said plurality of processes to establish a communication amongst each other, wherein said communication provides for an establishment of priority and status for each of said processes;
means for enabling said plurality of processes to replace one or more faulty processes; and
means for enabling said processing system to introduce one or more new processes. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
-
29. A processing system comprising:
a plurality of processes, wherein each of said plurality of processes is able to independently monitor a status of each other of said plurality of processes, each of said processes communicating with each other to establish a priority of status such that at least one of said plurality of processes can change a status of each other. - View Dependent Claims (30, 31, 32, 33, 34)
-
35. A processing system for providing fault tolerance, the processing system comprising:
-
a processor; and
a memory containing software which, when executed by the processor, causes the processing system to perform a process comprising;
enabling each of a plurality of processes to transmit an individual heart-beat message wherein said heart-beat message contains an identifier of said process;
causing each of said processes to receive said individual heart-beat message;
causing each of said processes to maintain a record of said plurality of processes based on the receipt of said individual heart-beat messages;
causing each of said plurality of processes to update said record based on said heart-message;
assigning each of said processes with a status wherein said status is one of;
primary, to become primary, or standby; and
enabling said plurality of processes to negotiate a hierarchy of control amongst each other based on the broadcast and receipt of heart-beat messages by each of said plurality of processes wherein said hierarchy of control is based on the status of each of said plurality of processes. - View Dependent Claims (36, 37, 38, 39)
-
Specification