Patent US6134673A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6134673A Expired / Lapsed US ⏱️ 0.0 years remaining

Method for clustering software applications

Assignee: Round Rock Research LLC
•
Filing: 1997-10-01
•
Granted: 2000-10-17
•
Expires: 2017-10-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for fault tolerant execution of an application program, in a server network having a first and second server, wherein the method includes: executing the application program in the first server; storing an object which represents the program in a cluster network database, wherein the object contains information pertaining to the program; detecting a failure of the first server; and executing the application program in the second server upon detection of the failure of the first server, in accordance with the information in the object. The information may include: a host server attribute which identifies which server is currently executing the program; a primary server attribute which identifies which server is primarily responsible for executing the program; and a backup server attribute which identifies which server is a backup server for executing the program if the primary server experiences a failure.

Inventors

  • 👤 Michael Chrabaszcz

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 18:40
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/16; G06F11/1658; G06F11/20; G06F11/202; G06F11/2023; G06F11/203; G06F11/2038; G06F11/2046; H; H04; H04L; H04L41/00; H04L41/06; H04L41/0654; H04L41/0663; H04L41/08; H04L41/0803; H04L41/0813; H04L41/0816; H04L41/12; H04L69/00; H04L69/40; G06F11/2097

Claims Analysis

Total Claims: 70
Claim 1
Independent Claim 100 words
A method for fault tolerant execution of an application program in a server network having a first server and a second server, comprising: executing, in the first server, the application program; storing an object which represents the application program into a cluster network database, wherein the object contains information pertaining to the application program; detecting a failure of the first server; determining whether the second server has sufficient resources to execute the application program; and executing, in the second server, the application program upon detection of the failure of the first server, in accordance with said information in said object.
Claim 2
Independent Claim 100 words
A method for fault tolerant execution of an application program in a server network having a first server and a second server, comprising: executing, in the first server, the application program; storing an object which represents the application program into a cluster network database, wherein the object contains information pertaining to the application program; detecting a failure of the first server; determining whether the second server has sufficient resources to execute the application program; and executing, in the second server, the application program upon detection of the failure of the first server, in accordance with said information in said object.
Claim 3
Dependent Claim 76 words
The method of claim 1 wherein the act of storing the object comprises: promting a system operator for the information, wherein the information comprises: a host server attribute which identifies which server is currently executing the program; a primary server attribute which identifies which server is primarily responsible for executing the program; and a backup server attribute which identifies which server is a backup server for executing the program if the primary server experiences a failure.
Claim 4
Dependent Claim 49 words
The method of claim 2 wherein the information further comprises: an identification field which identifies the program; a program type field which indicates whether the program is cluster capable or cluster aware; and a command field which controls a protocol for loading the program and subsequently executing the program.
Claim 5
Dependent Claim 63 words
The method of claim 2 wherein the act of executing the program in the second server comprises: reading the backup server attribute in the object with the second server; determining whether the backup server attribute names the second server as the backup server; if the backup server status names the second server as the backup server, loading the program in the second server.
Claim 6
Dependent Claim 24 words
The method of claim 4 further comprising changing the host server attribute to name the second server as the host server of the program.
Claim 7
Dependent Claim 36 words
The method of claim 5 further comprising: detecting when the first server is once again operational; and resuming execution of the program in the first server upon detecting that the first server is once again operational.
Claim 8
Dependent Claim 70 words
The method of claim 6 wherein the act of detecting when the first server is once again operational, comprises: tranmitting packets at periodic intervals from the second server to the first server; and waiting for an acknowledgement signal in response to each packet for a specified period of time, wherein if the acknowledgement signal is received within the specified period of time, the first server is determined to be operational.
Claim 9
Dependent Claim 24 words
The method of claim 7 further comprising changing the host server attribute to name the first server as the host server of the program.
Claim 10
Dependent Claim 65 words
The method of claim 8 wherein the step of resuming execution of the program in the first server comprises: unloading the program from a random access memory in the second server; verifying that the program has been unloaded from the second server; and loading the program in a random access memory in the first server after the program has been unloaded from the second server.
Claim 11
Dependent Claim 44 words
The method of claim 9 wherein the act of verifying that the program has been unloaded from the second server comprises reading the host server attribute and determining that the host server status indicates the first server as the host server of the program.
Claim 12
Dependent Claim 69 words
The method of claim 1 wherein the act of detecting a failure of the first server comprises: tranmitting packets at periodic intervals from the second server to the first server; and waiting for an acknowledgement packet in response to each packet for a specified period of time, wherein if the acknowledgement packet is not received within the specified period of time, the failure of the first server is detected.
Claim 13
Dependent Claim 42 words
The method of claim 1 wherein the act of detecting a failure of the first server comprises: monitoring communications between the first server and a network resource; and detecting a termination in the communication between the first server and the network resource.
Claim 14
Dependent Claim 107 words
The method of claim 1 wherein the act of detecting a failure of the first server comprises: successively transmitting first and second command signals from the first server to a device coupled to the first server, wherein the first command signal places the device in a first status condition and the second command signal places the device in a second status condition; and monitoring a status condition of the device with the second server, coupled to the device, wherein a change in the status condition of the device indicates that the first server is operational and a constant status condition indicates the failure of the first server.
Claim 15
Dependent Claim 36 words
The method of claim 1 further comprising: detecting when the first server is once again operational; and resuming execution of the program in the first server upon detecting that the first server is once again operational.
Claim 16
Dependent Claim 70 words
The method of claim 14 wherein the act of detecting when the first server is once again operational, comprises: tranmitting packets at periodic intervals from the second server to the first server; and waiting for an acknowledgement signal in response to each packet for a specified period of time, wherein if the acknowledgement signal is received within the specified period of time, the first server is determined to be operational.
Claim 17
Dependent Claim 65 words
The method of claim 14 wherein the step of resuming execution of the program in the first server comprises: unloading the program from a random access memory in the second server; verifying that the program has been unloaded from the second server; and loading the program in a random access memory in the first server after the program has been unloaded from the second server.
Claim 18
Dependent Claim 55 words
The method of claim 1 wherein the act of storing an object which represents the program in a cluster network database is performed automatically by the program as it is executed in the first server, wherein the information is contained within the program and is automatically written into the object stored the cluster network database.
Claim 19
Dependent Claim 61 words
The method of claim 17 wherein the information comprises: a host server attribute which identifies which server is currently executing the program; a primary server attribute which identifies which server is primarily responsible for executing the program; and a backup server attribute which identifies which server is a backup server for executing the program if the primary server experiences a failure.
Claim 20
Dependent Claim 49 words
The method of claim 18 wherein the information further comprises: an identification field which identifies the program; a program type field which indicates whether the program is cluster capable or cluster aware; and a command field which controls a protocol for loading the program and subsequently executing the program.
Claim 21
Dependent Claim 63 words
The method of claim 18 wherein the act of executing the program in the second server comprises: reading the backup server attribute in the object with the second server; determining whether the backup server attribute names the second server as the backup server; if the backup server status names the second server as the backup server, loading the program in the second server.
Claim 22
Dependent Claim 24 words
The method of claim 20 further comprising changing the host server attribute to name the second server as the host server of the program.
Claim 23
Dependent Claim 36 words
The method of claim 21 further comprising: detecting when the first server is once again operational; and resuming execution of the program in the first server upon detecting that the first server is once again operational.
Claim 24
Dependent Claim 93 words
The method of claim 22 wherein: the act of executing the program in the second server comprises: determining a first location within the program where execution of the program by the first server ceased; and commencing execution of the program by the second server at the first location; and the act of resuming execution of the program by the first server comprises: determining a second location within the program where execution of the program by the second server ceased; and commencing execution of the program by the first server at the second location.
Claim 25
Dependent Claim 86 words
The method of claim 23 wherein: the act of determining the first position comprises: updating a pointer within the program as it is executed by the first server; and determining the location of the pointer prior to execution of the program by the second server; and the act of determining the second position comprises: updating the pointer within the program as it is executed by the second server; and determining the location of the pointer prior to resuming execution of the program by the first server.
Claim 26
Dependent Claim 47 words
The method of claim 24 further comprising: determining if the second server has access to specified resources necessary to execute the program; and if it is determined that the second server does not have access to the specified resources, sending an error message to a system operator.
Claim 27
Dependent Claim 26 words
The method of claim 25 wherein the specified resources are identified in a list of resources which is part of the information contained within the object.
Claim 28
Dependent Claim 45 words
The method of claim 26 wherein the act of determining if the second server has access to specified resources necessary to execute the program, comprises comparing the list of resources to a list of resources initialized by a BIOS program stored within the second server.
Claim 29
Dependent Claim 39 words
The method of claim 26 wherein the act of determining if the second server has access to specified resources necessary to execute the program, comprises comparing the list of resources to a configuration file stored within the second server.
Claim 30
Dependent Claim 70 words
The method of claim 21 wherein the act of detecting when the first server is once again operational, comprises: tranmitting packets at periodic intervals from the second server to the first server; and waiting for an acknowledgement signal in response to each packet for a specified period of time, wherein if the acknowledgement signal is received within the specified period of time, the first server is determined to be operational.
Claim 31
Dependent Claim 24 words
The method of claim 29 further comprising changing the host server attribute to name the first server as the host server of the program.
Claim 32
Dependent Claim 78 words
The method of claim 30 wherein the step of resuming execution of the program in the first server comprises: unloading the program from a random access memory in the second server; loading the program in a random access memory in the first server; pausing execution of the program in the first server until it is verified that the program has been unloaded from the second server; and verifying that the program has been unloaded from the second server.
Claim 33
Dependent Claim 23 words
The method of claim 31 wherein the acts of pausing, verifying and commencing are automatically performed by executing commands stored within the program.
Claim 34
Dependent Claim 44 words
The method of claim 32 wherein the act of verifying that the program has been unloaded from the second server comprises reading the host server attribute and determining that the host server status indicates the first server as the host server of the program.
Claim 35
Dependent Claim 48 words
The method of claim 18 wherein the act of executing the program in the second server comprises: determining a first location within the program where execution of the program by the first server ceased; and commencing execution of the program by the second server at the first location.
Claim 36
Dependent Claim 45 words
The method of claim 34 wherein the act of determining the first position comprises: updating a pointer within the program as it is executed by the first server; and determining the location of the pointer prior to execution of the program by the second server.
Claim 37
Dependent Claim 29 words
The method of claim 18 further comprising: if it is determined that the second server does not have the specified resources, sending an error message to a system operator.
Claim 38
Dependent Claim 26 words
The method of claim 36 wherein the specified resources are identified in a list of resources which is part of the information contained within the object.
Claim 39
Dependent Claim 45 words
The method of claim 37 wherein the act of determining if the second server has access to specified resources necessary to execute the program, comprises comparing the list of resources to a list of resources initialized by a BIOS program stored within the second server.
Claim 40
Dependent Claim 39 words
The method of claim 37 wherein the act of determining if the second server has access to specified resources necessary to execute the program, comprises comparing the list of resources to a configuration file stored within the second server.
Claim 41
Dependent Claim 36 words
The method of claim 18 further comprising: detecting when the first server is once again operational; and resuming execution of the program in the first server upon detecting that the first server is once again operational.
Claim 42
Dependent Claim 70 words
The method of claim 40 wherein the act of detecting when the first server is once again operational, comprises: tranmitting packets at periodic intervals from the second server to the first server; and waiting for an acknowledgement signal in response to each packet for a specified period of time, wherein if the acknowledgement signal is received within the specified period of time, the first server is determined to be operational.
Claim 43
Dependent Claim 69 words
The method of claim 17 wherein the act of detecting a failure of the first server comprises: tranmitting packets at periodic intervals from the second server to the first server; and waiting for an acknowledgement signal in response to each packet for a specified period of time, wherein if the acknowledgement signal is not received within the specified period of time, the failure of the first server is detected.
Claim 44
Dependent Claim 42 words
The method of claim 17 wherein the act of detecting a failure of the first server comprises: monitoring communications between the first server and a network resource; and detecting a termination in the communication between the first server and the network resource.
Claim 45
Dependent Claim 107 words
The method of claim 17 wherein the act of detecting a failure of the first server comprises: successively transmitting first and second command signals from the first server to a device coupled to the first server, wherein the first command signal places the device in a first status condition and the second command signal places the device in a second status condition; and monitoring a status condition of the device with the second server, coupled to the device, wherein a change in the status condition of the device indicates that the first server is operational and a constant status condition indicates the failure of the first server.
Claim 46
Independent Claim 256 words
A method for fault tolerant execution of an application program in a server network having a first server and a second server, comprising: executing, in the first server, the application program; prompting a system operator for information to be stored in a cluster network database, wherein the information comprises: a host server attribute which identifies which server is currently executing the program; a primary server attribute which identifies which server is primarily responsible for executing the program; and a backup server attribute which identifies which server is a backup server for executing the program if the primary server experiences a failure; determining if the first server has failed; if it is determined that the first server has failed, initiating a failover procedure, comprising: reading the backup server attribute in the object with the second server; determining whether the backup server attribute names the second server as the backup server; determining whether the second server has sufficient resources to execute the application program; if the backup server status names the second server as the backup server, loading the program in the second server and determining if the first server is once again operational; and if it is determined that the first server is once again operational, initiating a failback process, comprising: unloading the program from a random access memory in the second server; verifying that the program has been unloaded from the second server; and loading the program in a random access memory in the first server after the program has been unloaded from the second server.
Claim 47
Independent Claim 256 words
A method for fault tolerant execution of an application program in a server network having a first server and a second server, comprising: executing, in the first server, the application program; prompting a system operator for information to be stored in a cluster network database, wherein the information comprises: a host server attribute which identifies which server is currently executing the program; a primary server attribute which identifies which server is primarily responsible for executing the program; and a backup server attribute which identifies which server is a backup server for executing the program if the primary server experiences a failure; determining if the first server has failed; if it is determined that the first server has failed, initiating a failover procedure, comprising: reading the backup server attribute in the object with the second server; determining whether the backup server attribute names the second server as the backup server; determining whether the second server has sufficient resources to execute the application program; if the backup server status names the second server as the backup server, loading the program in the second server and determining if the first server is once again operational; and if it is determined that the first server is once again operational, initiating a failback process, comprising: unloading the program from a random access memory in the second server; verifying that the program has been unloaded from the second server; and loading the program in a random access memory in the first server after the program has been unloaded from the second server.
Claim 48
Independent Claim 276 words
A method for fault tolerant execution of an application program in a server network having a first server and a second server, comprising: executing the application program in the first server; automatically storing an object in a cluster network database, wherein the object represents the program and contains information comprising: a host server attribute which identifies which server is currently executing the program; a primary server attribute which identifies which server is primarily responsible for executing the program; and a backup server attribute which identifies which server is a backup server for executing the program if the primary server experiences a failure; determining if the first server has failed; if it is determined that the first server has failed, initiating a failover procedure, comprising: determining whether the second server has sufficient resources to execute the application program; reading the backup server attribute in the object with the second server; determining whether the backup server attribute names the second server as the backup server; if the backup server status names the second server as the backup server, loading the program in the second server; executing the program in the second server; determining if the first server is once again operational; and if it is determined that the first server is once again operational, initiating a failback process, comprising: unloading the program from a random access memory in the second server; loading the program in a random access memory in the first server; pausing execution of the program in the first server until it is verified that the program has been unloaded from the second server; and verifying that the program has been unloaded from the second server.
Claim 49
Independent Claim 276 words
A method for fault tolerant execution of an application program in a server network having a first server and a second server, comprising: executing the application program in the first server; automatically storing an object in a cluster network database, wherein the object represents the program and contains information comprising: a host server attribute which identifies which server is currently executing the program; a primary server attribute which identifies which server is primarily responsible for executing the program; and a backup server attribute which identifies which server is a backup server for executing the program if the primary server experiences a failure; determining if the first server has failed; if it is determined that the first server has failed, initiating a failover procedure, comprising: determining whether the second server has sufficient resources to execute the application program; reading the backup server attribute in the object with the second server; determining whether the backup server attribute names the second server as the backup server; if the backup server status names the second server as the backup server, loading the program in the second server; executing the program in the second server; determining if the first server is once again operational; and if it is determined that the first server is once again operational, initiating a failback process, comprising: unloading the program from a random access memory in the second server; loading the program in a random access memory in the first server; pausing execution of the program in the first server until it is verified that the program has been unloaded from the second server; and verifying that the program has been unloaded from the second server.
Claim 50
Dependent Claim 55 words
The method of claim 46 wherein the act of storing an object which represents the program in a cluster network database is performed automatically by the program as it is executed in the first server, wherein the information is contained within the program and is automatically written into the object stored the cluster network database.
Claim 51
Dependent Claim 23 words
The method of claim 46 wherein the acts of pausing, verifying and commencing are automatically performed by executing commands stored within the program.
Claim 52
Dependent Claim 105 words
The method of claim 46 wherein: the act of executing the program in the second server comprises: determining a first location within the program where execution of the program by the first server ceased; and commencing execution of the program by the second server at the first location; and the act of executing the program by the first server after it is verified that the program has been unloaded from the second server, comprises: determining a second location within the program where execution of the program by the second server ceased; and commencing execution of the program by the first server at the second location.
Claim 53
Dependent Claim 86 words
The method of claim 49 wherein: the act of determining the first position comprises: updating a pointer within the program as it is executed by the first server; and determining the location of the pointer prior to execution of the program by the second server; and the act of determining the second position comprises: updating the pointer within the program as it is executed by the second server; and determining the location of the pointer prior to resuming execution of the program by the first server.
Claim 54
Dependent Claim 47 words
The method of claim 46 further comprising: determining if the second server has access to specified resources necessary to execute the program; and if it is determined that the second server does not have access to the specified resources, sending an error message to a system operator.
Claim 55
Dependent Claim 26 words
The method of claim 51 wherein the specified resources are identified in a list of resources which is part of the information contained within the object.
Claim 56
Dependent Claim 45 words
The method of claim 52 wherein the act of determining if the second server has access to specified resources necessary to execute the program, comprises comparing the list of resources to a list of resources initialized by a BIOS program stored within the second server.
Claim 57
Dependent Claim 39 words
The method of claim 52 wherein the act of determining if the second server has access to specified resources necessary to execute the program, comprises comparing the list of resources to a configuration file stored within the second server.
Claim 58
Independent Claim 90 words
A method for fault tolerant execution of an application program in a server network having a first and second server, comprising: executing the application program in the first server; storing an object which represents the program in a cluster network database, wherein the object contains information pertaining to the program; detecting a failure of the first server; reading the information contained in the object; and executing the application program in the second server upon detection of the failure of the first server, in accordance with the information in the object.
Claim 59
Independent Claim 90 words
A method for fault tolerant execution of an application program in a server network having a first and second server, comprising: executing the application program in the first server; storing an object which represents the program in a cluster network database, wherein the object contains information pertaining to the program; detecting a failure of the first server; reading the information contained in the object; and executing the application program in the second server upon detection of the failure of the first server, in accordance with the information in the object.
Claim 60
Dependent Claim 66 words
The method of claim 55 wherein the act of storing an object comprises: storing a host server attribute which identifies which server is currently executing the program; a primary server attribute which identifies which server is primarily responsible for executing the program; and a backup server attribute which identifies which server is a backup server for executing the program if the primary server experiences a failure.
Claim 61
Independent Claim 77 words
A method of providing fault tolerant execution of an application program in a server network having a first server and a second server, comprising: executing, in said first server, said application program; detecting a failure of said first server to properly run said application; and automatically, without operator intervention, executing in said second server said application program in response to said detecting step upon determining that said second server has sufficient resources to execute the application program.
Claim 62
Independent Claim 77 words
A method of providing fault tolerant execution of an application program in a server network having a first server and a second server, comprising: executing, in said first server, said application program; detecting a failure of said first server to properly run said application; and automatically, without operator intervention, executing in said second server said application program in response to said detecting step upon determining that said second server has sufficient resources to execute the application program.
Claim 63
Dependent Claim 35 words
The method of claim 57 further comprising: sensing correction of said failure of said first server; and automatically, without operator intervention, executing said application program in said first server in response to said sensing step.
Claim 64
Dependent Claim 14 words
The method of claim 58 wherein said sensing is provided by said second server.
Claim 65
Dependent Claim 14 words
The method of claim 57 wherein said detecting is provided by said second server.
Claim 66
Independent Claim 70 words
A method of providing fault tolerant execution of an application program in a server network having a first and second servers, comprising: executing, in said first server, said application program; detecting a fault in the first server; and automatically, without operator intervention, executing, in said second server, said application program in response to said detecting step upon determining that the second server has sufficient resources to execute the application program.
Claim 67
Independent Claim 70 words
A method of providing fault tolerant execution of an application program in a server network having a first and second servers, comprising: executing, in said first server, said application program; detecting a fault in the first server; and automatically, without operator intervention, executing, in said second server, said application program in response to said detecting step upon determining that the second server has sufficient resources to execute the application program.
Claim 68
Dependent Claim 35 words
The method of claim 61 further comprising: sensing correction of said fault in said first server; and automatically, without operator intervention, executing said application program in said first server in response to said sensing step.
Claim 69
Dependent Claim 14 words
The method of claim 62 wherein said sensing is provided by said second server.
Claim 70
Dependent Claim 14 words
The method of claim 61 wherein said detecting is provided by said second server.

References Cited (Backward Citations)

US4057847A Cited
US4672535A Cited
US4449182B1 Cited
US4449182A Cited
US4695946A Cited
US4692918A Cited
US4707803A Cited
US4835737A Cited
US4769764A Cited
US4774502A Cited
US5136708A Cited
US5103391A Cited
US5311451A Cited
US5033048A Cited
US5006961A Cited
US4999787A Cited
US4949245A Cited
US5121500A Cited
US5210855A Cited
US5051720A Cited
US5440748A Cited
US5280621A Cited
US5138619A Cited
US5493666A Cited
US5430845A Cited
US5247683A Cited
US5073932A Cited
US5812750A Cited
US5157663A Cited
US5269011A Cited
US5272584A Cited
US5253348A Cited
US5351276A Cited
US5317693A Cited
US5432946A Cited
US5388267A Cited
US5307354A Cited
US5245615A Cited
US5559958A Cited
US5367670A Cited
US5283905A Cited
US5402431A Cited
US5272382A Cited
US5276863A Cited
US5584030A Cited
US5379184A Cited
US5483419A Cited
US5652908A Cited
US5598407A Cited
US5539883A Cited
US5266838A Cited
US5404494A Cited
US5386567A Cited
US5337413A Cited
US5671371A Cited
US5329625A Cited
US5752164A Cited
US5689637A Cited
US5432715A Cited
US5535326A Cited
US5493574A Cited
US5596711A Cited
US5579487A Cited
US5742514A Cited
US5566339A Cited
US5696899A Cited
US5841991A Cited
US5533198A Cited
US5602758A Cited
US5487148A Cited
US5761033A Cited
US5787459A Cited
US5577205A Cited
US5463766A Cited
US5438678A Cited
US5696970A Cited
US5758352A Cited
US5796580A Cited
US5581714A Cited
US5526289A Cited
US5812748A Cited
US5473499A Cited
US5802552A Cited
US5455933A Cited
US5485550A Cited
US5812757A Cited
US5652892A Cited
US5802393A Cited
US5737708A Cited
US5588144A Cited
US5781767A Cited
US5794035A Cited
US5781798A Cited
US5638289A Cited
US5664118A Cited
US5652839A Cited
US5805834A Cited
US5517646A Cited
US5655148A Cited
US5768542A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-10-17 2004-04-17 2004-10-17 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-10-17 2008-04-17 2008-10-17 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-10-17 2012-04-17 2012-10-17 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag