US5117352A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Mechanism for fail-over notification
Assignee: Hewlett Packard Development Co LP
•
Filing: 1989-10-20
•
Granted: 1992-05-26
•
Expires: 2009-10-20
Abstract
Abstract An automatic failure notification mechanism for use in a computer network wherein several co-operating parts of an application program are each running on a different node of the computer network. The mechanism comprises a set of linked subroutines called by each part of the application program and operating through the use of a distributed lock manager to designate one part as a part to receive failure notification and to link and reverse link the selected part and the other parts of the application program. The failure notification mechanism utilizes the link and reverse link to initiate a failure communication upon the failure of a node executing one part of the application program.
Inventors
- 👤 Louis H. Falek
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-25 20:50
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/0703; G06F11/0706; G06F11/0709; G06F11/0766
Claims Analysis
Total Claims: 63
Claim 1
Independent Claim
326 words
A method for providing failure notification in a computer network having a plurality of nodes wherein a predetermined number of the nodes are each processing one part of an application program, which method comprises the steps of: for each part o the application program, making a first request for an exclusive access privilege to a preselected resource name; for each part of the application program, making a second request for a preselected access privilege to a corresponding resource name having a name based upon the respective part; granting the first request for an exclusive access privilege to one and only one part of the application program; granting the second request to each part of the application program; making a third request on behalf of the one and only one part of the application program for each resource name having a name based upon a respective part of the application program other than the one and only one part; said third request being for an access privilege that is incompatible with each second request; operating the computer network to: (i) store information on each third request for a resource having a name based upon a respective part of the application program other than the one and only one part, and (ii) upon a failure of one node of the predetermined number of nodes processing one part of the application program, automatically invalidating the second request of a respective part being processed on the failed node and automatically granting the third request made on behalf of the one and only one part of the application program for the resource name having a name based upon the respective part being processed on the failed node; and utilizing the grant of the third request for the resource name having a name based upon the respective part being processed on the failed node to cause a message to be generated to identify the respective part being processed on the failed node.
Claim 2
Independent Claim
326 words
A method for providing failure notification in a computer network having a plurality of nodes wherein a predetermined number of the nodes are each processing one part of an application program, which method comprises the steps of: for each part o the application program, making a first request for an exclusive access privilege to a preselected resource name; for each part of the application program, making a second request for a preselected access privilege to a corresponding resource name having a name based upon the respective part; granting the first request for an exclusive access privilege to one and only one part of the application program; granting the second request to each part of the application program; making a third request on behalf of the one and only one part of the application program for each resource name having a name based upon a respective part of the application program other than the one and only one part; said third request being for an access privilege that is incompatible with each second request; operating the computer network to: (i) store information on each third request for a resource having a name based upon a respective part of the application program other than the one and only one part, and (ii) upon a failure of one node of the predetermined number of nodes processing one part of the application program, automatically invalidating the second request of a respective part being processed on the failed node and automatically granting the third request made on behalf of the one and only one part of the application program for the resource name having a name based upon the respective part being processed on the failed node; and utilizing the grant of the third request for the resource name having a name based upon the respective part being processed on the failed node to cause a message to be generated to identify the respective part being processed on the failed node.
Claim 3
Dependent Claim
19 words
The method of claim 1 comprising the further step of utilizing the message to call a failure recovery routine.
Claim 4
Dependent Claim
37 words
The method of claim 1 comprising the further step of: for the application part granted the first request, broadcasting a message to each other application part to identify the application part that was granted the first request.
Claim 5
Dependent Claim
83 words
The method of claim 3 comprising the further steps of: for each application part that was not granted the first request, sending a message to the application part that was granted the first request to identify each respective application part, and for the application part granted the first request, reading each message of the previous step and verifying that a third request was made on behalf the application part granted the first request in respect of each application part that sent a message.
Claim 6
Dependent Claim
391 words
In a computer network including a plurality of nodes, wherein at least certain ones of the plurality of nodes have a CPU and wherein a predetermined number of the CPUs are each processing one part of an application program, a failure notification system which comprises: a lock manager to receive and process requests for access privileges to resource names and to provide information on the request in response to a query; and an object library coupled to each one of the CPUs processing one part of the application program, the object library comprising a linked set of subroutines including: i) a SETUP subroutine that can be called by an application part being processed on a CPU coupled to the object library, the SETUP subroutine comprising a sequence of instructions to issue a first request to the lock manager on behalf of the calling application part for an exclusive access privilege to a preselected resource name and to issue a second request to the lock manager on behalf of the calling application part for a preselected access privilege to a resource name based upon the calling application part; ii) a SPECIAL -- AST subroutine that is an asynchronous system trap called upon grant of the first request to the calling application part, the SPECIAL -- AST subroutine comprising a sequence of instructions to query the lock manager for a list of all application parts of the application program that have made a first request through a SETUP subroutine and that have not been granted the first request and to issue a third request to the lock manager on behalf of the calling application part that has been granted the first request for an access privilege to each resource name based upon an application part that has not been granted the first request, each third request being for an access privilege that is not compatible with the predetermined access privilege of a second request; and iii) a FAIL -- AST subroutine that is an asynchronous system trap called upon the grant of any third request to the calling application part that has been granted the first request, the FAIL -- AST subroutine comprising a sequence of instructions to query the lock manager for information on the name of the resource based upon the application part for which the third request has been granted.
Claim 7
Dependent Claim
391 words
In a computer network including a plurality of nodes, wherein at least certain ones of the plurality of nodes have a CPU and wherein a predetermined number of the CPUs are each processing one part of an application program, a failure notification system which comprises: a lock manager to receive and process requests for access privileges to resource names and to provide information on the request in response to a query; and an object library coupled to each one of the CPUs processing one part of the application program, the object library comprising a linked set of subroutines including: i) a SETUP subroutine that can be called by an application part being processed on a CPU coupled to the object library, the SETUP subroutine comprising a sequence of instructions to issue a first request to the lock manager on behalf of the calling application part for an exclusive access privilege to a preselected resource name and to issue a second request to the lock manager on behalf of the calling application part for a preselected access privilege to a resource name based upon the calling application part; ii) a SPECIAL -- AST subroutine that is an asynchronous system trap called upon grant of the first request to the calling application part, the SPECIAL -- AST subroutine comprising a sequence of instructions to query the lock manager for a list of all application parts of the application program that have made a first request through a SETUP subroutine and that have not been granted the first request and to issue a third request to the lock manager on behalf of the calling application part that has been granted the first request for an access privilege to each resource name based upon an application part that has not been granted the first request, each third request being for an access privilege that is not compatible with the predetermined access privilege of a second request; and iii) a FAIL -- AST subroutine that is an asynchronous system trap called upon the grant of any third request to the calling application part that has been granted the first request, the FAIL -- AST subroutine comprising a sequence of instructions to query the lock manager for information on the name of the resource based upon the application part for which the third request has been granted.
Claim 8
Dependent Claim
27 words
The failure notification system of claim 5, wherein the object library comprises a plurality of copies of the object library, each copy coupled to a respective CPU.
Claim 9
Dependent Claim
75 words
The failure notification system of claim 5, wherein the object library further includes a CLUSTER -- BROADCAST subroutine called by another routine and comprising a sequence of instructions to issue a fourth request to the lock manager on behalf of the calling routine for an exclusive access privilege to a BROADCAST resource and, upon grant of the fourth request, to write a message on behalf of the calling routine to the lock manager for storage.
Claim 10
Dependent Claim
60 words
The failure notification system of claim 7, wherein the SETUP subroutine of the object library further includes instructions to issue a fifth request to the lock manager on behalf of the calling application part for a preselected access privilege to the BROADCAST resource, the preselected access privilege being compatible with multiple fifth request made on behalf of other application parts.
Claim 11
Dependent Claim
134 words
The failure notification system of claim 8, wherein the object library further includes an MSG -- AST subroutine that is an asynchronous system trap called upon the making of a fourth request on behalf of a calling routine, the fourth request for an exclusive access privilege being incompatible with the preselected access privilege of the fifth request, the MSG -- AST subroutine comprising a sequence of instructions to issue a sixth request to the lock manager on behalf of an application part being processed on a CPU coupled to the object library, when the respective application part is to receive a message, the sixth request being for a conversion of the preselected access privilege to the BROADCAST resource to a NULL access privilege so that the fourth request of the calling routine is granted.
Claim 12
Dependent Claim
31 words
The failure notification system of claim 9, wherein the MSG -- AST subroutine further includes instructions to read the message stored by the lock manager on behalf of the calling routine.
Claim 13
Dependent Claim
15 words
The failure notification system of claim 10, wherein the calling routine is the SETUP subroutine.
Claim 14
Dependent Claim
52 words
The failure notification system of claim 11, wherein the SETUP subroutine calls the CLUSTER -- BROADCAST subroutine to send a message on behalf of a respective calling application part to an application part granted the first request, the message indicating that the respective calling application part is being processed on a CPU.
Claim 15
Dependent Claim
68 words
The failure notification system of claim 12, wherein the MSG -- AST subroutine further includes instructions to verify, upon reading a message indicating that a respective calling application part is being processed, that its respective application part was granted a first request and when its respective application has been granted a first request, to verify that a third request was made in request of the calling application part.
Claim 16
Dependent Claim
17 words
The failure notification system of claim 10, wherein the calling routine is the SPECIAL -- AST subroutine.
Claim 17
Dependent Claim
63 words
The failure notification system of claim 14, wherein the SPECIAL -- AST subroutine calls the CLUSTER -- BROADCAST subroutine upon the grant of a first request on behalf of a respective application part, to send a message on behalf of the respective application part to all other application parts, the message indicating that the respective application part has been granted a first request.
Claim 18
Dependent Claim
42 words
The failure notification system of claim 15 further comprising a memory space associated with each CPU processing an application part, for storage of information on an application part that has sent a message indicating that it has been granted a first request.
Claim 19
Dependent Claim
116 words
The failure notification system of claim 10 further comprising: a first looping routine in the MSG -- AST subroutine including an instruction loop to periodically query the lock manager for information on the granting of a fourth request made on behalf of a calling routine by the CLUSTER -- BROADCAST subroutine until the information indicates that the fourth request has been granted; the MSG -- AST subroutine including further instructions subsequent to the first looping routine to issue a seventh request to the lock manager, upon the first looping routine receiving information on the grant of the fourth request, for conversion of the NULL access privilege back to the preselected access privilege to the BROADCAST resource.
Claim 20
Dependent Claim
157 words
The failure notification system of claim 17, wherein: the CLUSTER -- BROADCAST subroutine includes further instructions to issue an eighth request to the lock manager to release the exclusive access privilege on the BROADCAST resource after the CLUSTER -- BROADCAST subroutine writes a message, and further comprising: a second looping routine in the CLUSTER -- BROADCAST subroutine including an instruction loop to periodically query the lock manager, after release of the exclusive access privilege on the BROADCAST resource, for information on all existing NULL access privileges to the BROADCAST resource; the CLUSTER -- BROADCAST subroutine returning control to the calling routine when the information on all existing NULL access privileges indicates that there is no NULL access privilege for the BROADCAST resource; so that the first and second looping routines synchronize and coordinate the running of the CLUSTER -- BROADCAST subroutine and the MSG -- AST subroutine to transmit messages from a calling routine to application parts.
Claim 21
Dependent Claim
58 words
The failure notification system of claim 16, wherein the SPECIAL -- AST subroutine further includes instructions to access the memory space associated with the CPU processing the calling application part to read the information on an application part granted a first request to verify that the calling application part is a first application part granted a first request.
Claim 22
Dependent Claim
55 words
The failure notification system of claim 19, wherein the SPECIAL -- AST subroutine further includes instructions causing a message to be generated, when the calling application part was not the first application part identified in the information stored in the memory space; the message indicating that the node processing the first application part has failed.
Claim 23
Dependent Claim
68 words
The failure notification system of claim 7, wherein the CLUSTER -- BROADCAST subroutine issues the fourth request for an exclusive access privilege to the BROADCAST resource by making a request to the lock manager for an exclusive access privilege to a PERMISSION -- TO -- TALK resource and, upon the grant of the exclusive access privilege to the PERMISSION -- TO -- TALK resource, issuing the fourth request.
Claim 24
Dependent Claim
43 words
The failure notification system of claim 5, wherein the FAIL -- AST subroutine further includes instructions to cause a message to be generated to identify the name of the resource based upon the application part for which the third request has been granted.
Claim 25
Dependent Claim
32 words
The failure notification system of claim 5, wherein the FAIL -- AST subroutine further includes instructions to call a failure recovery routine and to provide the information to the failure recovery routine.
Claim 26
Dependent Claim
366 words
For use in a CPU adapted to be coupled to a computer network, the computer network including a lock manager to receive and process requests for access privileges to resource names and to provide information on the requests in response to a query and wherein the CPU is adapted to process one part of an application program, an object library, which comprises: a linked set of subroutines including: i) a SETUP subroutine that can be called by the application part processed on the CPU, the SETUP subroutine comprising a sequence of instructions to issue a first request to the lock manager on behalf of the calling application part for an exclusive access privilege to a preselected resource name and to issue a second request to the lock manager on behalf of the calling application part for a preselected access privilege to a resource name based upon the calling application part; ii) a SPECIAL -- AST subroutine that is an asynchronous system trap called when the first request has been granted to the calling application part, the SPECIAL -- AST subroutine comprising a sequence of instructions to query the lock manager for a list of all application parts of the application program hat have made a first request through a SETUP subroutine and that have not been granted the first request and to issue a third request to the lock manager on behalf of the calling application part that has been granted the first request for an access privilege to each resource name based upon an application part that has not been granted the first request, each third request being for an access privilege that is not compatible with the predetermined access privilege of a second request; and iii) a FAIL -- AST subroutine that is an asynchronous system trap called upon the grant of any third request to the calling application part when the application part has been granted the first request and after the SPECIAL -- AST has run, the FAIL -- AST subroutine comprising a sequence of instructions to query the lock manager for information on the name of the resource based upon the application part for which the third request has been granted.
Claim 27
Dependent Claim
366 words
For use in a CPU adapted to be coupled to a computer network, the computer network including a lock manager to receive and process requests for access privileges to resource names and to provide information on the requests in response to a query and wherein the CPU is adapted to process one part of an application program, an object library, which comprises: a linked set of subroutines including: i) a SETUP subroutine that can be called by the application part processed on the CPU, the SETUP subroutine comprising a sequence of instructions to issue a first request to the lock manager on behalf of the calling application part for an exclusive access privilege to a preselected resource name and to issue a second request to the lock manager on behalf of the calling application part for a preselected access privilege to a resource name based upon the calling application part; ii) a SPECIAL -- AST subroutine that is an asynchronous system trap called when the first request has been granted to the calling application part, the SPECIAL -- AST subroutine comprising a sequence of instructions to query the lock manager for a list of all application parts of the application program hat have made a first request through a SETUP subroutine and that have not been granted the first request and to issue a third request to the lock manager on behalf of the calling application part that has been granted the first request for an access privilege to each resource name based upon an application part that has not been granted the first request, each third request being for an access privilege that is not compatible with the predetermined access privilege of a second request; and iii) a FAIL -- AST subroutine that is an asynchronous system trap called upon the grant of any third request to the calling application part when the application part has been granted the first request and after the SPECIAL -- AST has run, the FAIL -- AST subroutine comprising a sequence of instructions to query the lock manager for information on the name of the resource based upon the application part for which the third request has been granted.
Claim 28
Dependent Claim
83 words
The object library of claim 24, wherein the object library further includes a CLUSTER -- BROADCAST subroutine called by another routine being processed on the CPU, the CLUSTER -- BROADCAST subroutine comprising a sequence of instructions to issue a fourth request to the lock manager on behalf of the calling routine for an exclusive access privilege to a BROADCAST resource and, upon grant of the fourth request, to write a message on behalf of the calling routine to the lock manager for storage.
Claim 29
Dependent Claim
59 words
The object library of claim 25, wherein the SETUP subroutine of the object library further includes instructions to issue a fifth request to the lock manager on behalf of the calling application part for a preselected access privilege to the BROADCAST resource, the preselected access privilege being compatible with multiple fifth requests made on behalf of other application parts.
Claim 30
Dependent Claim
133 words
The object library of claim 26, wherein the object library further includes an MSG -- AST subroutine that is an asynchronous system trap called upon the making of a fourth request on behalf of a calling routine, the fourth request for an exclusive access privilege being incompatible with the preselected access privilege of the fifth request, the MSG -- AST subroutine comprising a sequence of instructions to issue a sixth request to the lock manger on behalf of an application part being processed on a CPU coupled to the object library, when the respective application part is to receive a message, the sixth request being for a conversion of the preselected access privilege to the BROADCAST resource to a NULL access privilege so that the fourth request of the calling routine is granted.
Claim 31
Dependent Claim
30 words
The object library of claim 27, wherein the MSG -- AST subroutine further includes instructions to read the message stored by the lock manager on behalf of the calling routine.
Claim 32
Dependent Claim
14 words
The object library of claim 28, wherein the calling routine is the SETUP subroutine.
Claim 33
Dependent Claim
51 words
The object library of claim 29, wherein the SETUP subroutine calls the CLSUTER -- BROADCAST subroutine to send a message on behalf of a respective calling application part to an application part granted the first request, the message indicating that the respective calling application part is being processed on a CPU.
Claim 34
Dependent Claim
67 words
The object library of claim 30, wherein the MSG -- AST subroutine further includes instructions to verify, upon reading a message indicating that a respective calling application part is being processed, that its respective application part was granted a first request and when its respective application has been granted a first request, to verify that a third request was made in respect of the calling application part.
Claim 35
Dependent Claim
16 words
The object library of claim 28, wherein the calling routine is the SPECIAL -- AST subroutine.
Claim 36
Dependent Claim
62 words
The object library of claim 32, wherein the SPECIAL -- AST subroutine calls the CLUSTER -- BROADCAST subroutine upon the grant of a first request on behalf of a respective application part, to send a message on behalf of the respective application part to all other application parts, the message indicating that the respective application part has been granted a first request.
Claim 37
Dependent Claim
41 words
The object library of claim 33 further comprising a memory space associated with each CPU processing an application part, for storage of information on an application part that has sent a message indicating that it has been granted a first request.
Claim 38
Dependent Claim
115 words
The object library of claim 28 further comprising: a first looping routine in the MSG -- AST subroutine including an instruction loop to periodically query the lock manager for information on the granting of a fourth request made on behalf of a calling routine by the CLUSTER -- BROADCAST subroutine until the information indicates that the fourth request has been granted; the MSG -- AST subroutine including further instructions subsequent to the first looping routine to issue a seventh request to the lock manager, upon the first looping routine, receiving information on the grant of the fourth request, for conversion of the NULL access privilege back to the preselected access privilege to the BROADCAST resource.
Claim 39
Dependent Claim
156 words
The object library of claim 35, wherein: the CLUSTER -- BROADCAST subroutine includes further instructions to issue an eighth request to the lock manager to release the exclusive access privilege on the BROADCAST resource after the CLUSTER -- BROADCAST subroutine writes a message, and further comprising: a second looping routine in the CLUSTER -- BROADCAST subroutine including an instruction loop to periodically query the lock manager, after release of the exclusive access privilege on the BROADCAST resource, for information on all existing NULL access privileges to the BROADCAST resource; the CLUSTER -- BROADCAST subroutine returning control to the calling routine when the information on all existing NULL access privileges indicates that there is no NULL access privilege for the BROADCAST resource; so that the first and second looping routines synchronize and coordinate the running of the CLUSTER -- BROADCAST subroutine and the MSG -- AST subroutine to transmit messages from a calling routine to application parts.
Claim 40
Dependent Claim
57 words
The object library of claim 34, wherein the SPECIAL -- AST subroutine further includes instructions to access the memory space associated with the CPU processing the calling application part to read the information on an application part granted a first request to verify that the calling application part is a first application part granted a first request.
Claim 41
Dependent Claim
54 words
The object library of claim 37, wherein the SPECIAL -- AST subroutine further includes instructions causing a message to be generated, when the calling application part was not the first application part identified in the information stored in the memory space; the message indicating that the node processing the first application part has failed.
Claim 42
Dependent Claim
67 words
The object library of claim 25, wherein the CLUSTER -- BROADCAST subroutine issues the fourth request for an exclusive access privilege to the BROADCAST resource by making a request to the lock manager for an exclusive access privilege to a PERMISSION -- TO -- TALK resource and, upon the grant of the exclusive access privilege to the PERMISSION -- TO -- TALK resource, issuing the fourth request.
Claim 43
Dependent Claim
42 words
The object library of claim 24, wherein the FAIL -- AST subroutine further includes instructions to cause a message to be generated to identify the name of the resource based upon the application part for which the third request has been granted.
Claim 44
Dependent Claim
31 words
The object library of claim 24, wherein the FAIL -- AST subroutine further includes instructions to call a failure recovery routine and to provide the information to the failure recovery routine.
Claim 45
Dependent Claim
51 words
The object library of claim 24, wherein the lock manager maintains a data block for each resource name; and further comprising: an UPDATE -- INFO subroutine comprising a sequence of instructions to access a data block of a preselected resource name for input and storage of information in the data block.
Claim 46
Dependent Claim
31 words
The object library of claim 42, further comprising: a SHOW -- SERVER subroutine comprising a sequence of instructions to read information stored in the data block of a preselected resource name.
Claim 47
Dependent Claim
33 words
The object library of claim 24 further comprising: a LIST -- SERVER subroutine comprising a sequence of instructions to query the lock manager for information on requests for access privileges to resource names.
Claim 48
Dependent Claim
390 words
A computer network, comprising: a plurality of nodes, wherein at least certain ones of the plurality of nodes have a CPU and wherein a predetermined number of the CPUs are each processing one part of an application program; a lock manager to receive and process requests for access privileges to resource names and to provide information on the requests in response to a query; and a failure notification system comprising an object library coupled to each one of the CPUs processing one part of the application program, each object library comprising a linked set of subroutines including: i) a SETUP subroutine that can be called by an application part being processed on a respective CPU coupled to the object library, the SETUP subroutine comprising a sequence of instructions to issue a first request to the lock manager on behalf of the calling application part for an exclusive access privilege to a preselected resource name and to issue a second request to the lock manager on behalf of the calling application part for a preselected access privilege to a resource name based upon the calling application part; ii) a SPECIAL -- AST subroutine that is an asynchronous system trap called upon grant of the first request to the calling application part, the SPECIAL -- AST subroutine comprising a sequence of instructions to query the lock manager for a list of all application parts of the application program that have made a first request through a SETUP subroutine and that have not been granted the first request and to issue a third request to the lock manager on behalf of the calling application part that has been granted the first request for an access privilege to each resource name based upon an application part that has not been granted the first request, each third request being for an access privilege that is not compatible with the predetermined access privilege of a second request; and iii) a FAIL -- AST subroutine that is an asynchronous system trap called upon the grant of any third request to the calling application part that has been granted the first request, the FAIL -- AST subroutine comprising a sequence of instructions to query the lock manager for information on the name of the resource based upon the application part for which the third request has been granted.
Claim 49
Dependent Claim
390 words
A computer network, comprising: a plurality of nodes, wherein at least certain ones of the plurality of nodes have a CPU and wherein a predetermined number of the CPUs are each processing one part of an application program; a lock manager to receive and process requests for access privileges to resource names and to provide information on the requests in response to a query; and a failure notification system comprising an object library coupled to each one of the CPUs processing one part of the application program, each object library comprising a linked set of subroutines including: i) a SETUP subroutine that can be called by an application part being processed on a respective CPU coupled to the object library, the SETUP subroutine comprising a sequence of instructions to issue a first request to the lock manager on behalf of the calling application part for an exclusive access privilege to a preselected resource name and to issue a second request to the lock manager on behalf of the calling application part for a preselected access privilege to a resource name based upon the calling application part; ii) a SPECIAL -- AST subroutine that is an asynchronous system trap called upon grant of the first request to the calling application part, the SPECIAL -- AST subroutine comprising a sequence of instructions to query the lock manager for a list of all application parts of the application program that have made a first request through a SETUP subroutine and that have not been granted the first request and to issue a third request to the lock manager on behalf of the calling application part that has been granted the first request for an access privilege to each resource name based upon an application part that has not been granted the first request, each third request being for an access privilege that is not compatible with the predetermined access privilege of a second request; and iii) a FAIL -- AST subroutine that is an asynchronous system trap called upon the grant of any third request to the calling application part that has been granted the first request, the FAIL -- AST subroutine comprising a sequence of instructions to query the lock manager for information on the name of the resource based upon the application part for which the third request has been granted.
Claim 50
Independent Claim
416 words
A method for providing failure notification in a computer network having a plurality of nodes wherein a predetermined number of the nodes are each processing one part of an application program, which method comprises the steps of: providing a lock manager to receive and process requests for access privileges to resource names and to provide information on the requests in response to a query; executing a first routine in respect of each part of the application program to issue a first request to the lock manager on behalf of each application part for an exclusive access privilege to a preselected resource name and to issue a second request to the lock manager on behalf of each application part for a preselected access privilege to a resource name based upon a respective application part; operating the lock manager to grant the first request for an exclusive access privilege to one and only one of the application parts and to grant the second request to each respective application part; executing a second routine in respect of the application part granted the first request, upon the grant of the first request, to query the lock manager for a list of all application parts of the application program that have made a first request through a first routine and that have not been granted the first request and to issue a third request to the lock manager on behalf of the application part that has been ranted the first request for an access privilege to each resource name based upon an application part that has not been granted the first request, each third request being for an access privilege that is not compatible with the predetermined access privilege of a second request; operating the lock manager to store information on each third request that is not compatible with a granted second request of each respective application part that has not been granted the first request; operating the lock manager to invalidate a second request when the node processing the respective application part fails and to automatically grant the third request made by the second routine in respect of the resource name based upon that respective application part; and upon the grant of a third request by the lock manager, executing a third routine in respect of the application part granted the first request to query the lock manager for information on the name of the resource based upon the respective application part for which the third request has been granted.
Claim 51
Independent Claim
416 words
A method for providing failure notification in a computer network having a plurality of nodes wherein a predetermined number of the nodes are each processing one part of an application program, which method comprises the steps of: providing a lock manager to receive and process requests for access privileges to resource names and to provide information on the requests in response to a query; executing a first routine in respect of each part of the application program to issue a first request to the lock manager on behalf of each application part for an exclusive access privilege to a preselected resource name and to issue a second request to the lock manager on behalf of each application part for a preselected access privilege to a resource name based upon a respective application part; operating the lock manager to grant the first request for an exclusive access privilege to one and only one of the application parts and to grant the second request to each respective application part; executing a second routine in respect of the application part granted the first request, upon the grant of the first request, to query the lock manager for a list of all application parts of the application program that have made a first request through a first routine and that have not been granted the first request and to issue a third request to the lock manager on behalf of the application part that has been ranted the first request for an access privilege to each resource name based upon an application part that has not been granted the first request, each third request being for an access privilege that is not compatible with the predetermined access privilege of a second request; operating the lock manager to store information on each third request that is not compatible with a granted second request of each respective application part that has not been granted the first request; operating the lock manager to invalidate a second request when the node processing the respective application part fails and to automatically grant the third request made by the second routine in respect of the resource name based upon that respective application part; and upon the grant of a third request by the lock manager, executing a third routine in respect of the application part granted the first request to query the lock manager for information on the name of the resource based upon the respective application part for which the third request has been granted.
Claim 52
Dependent Claim
60 words
The method of claim 46 further comprising the step of operating the lock manager to invalidate the granted first request when the node processing the application part that was granted the first request fails and to grant the first request to another part of the application program that previously made a first request through the execution of a first routine.
Claim 53
Dependent Claim
29 words
The method of claim 47, wherein, upon the grant of the first request to the another application part, executing the second routine in respect of the another application part.
Claim 54
Dependent Claim
36 words
The method of claim 46, comprising the further step of executing the third routine to cause a message to be generated, the message containing the information provided by the lock manager in response to the query.
Claim 55
Dependent Claim
30 words
The method of claim 46, comprising the further step of executing the third routine to call a failure recovery routine and to provide the information to the failure recovery routine.
Claim 56
Dependent Claim
42 words
The method of claim 46 comprising the further step of, upon the grant of a first request in respect of one application part, broadcasting a message to each other application part to identify the application part that was granted the first request.
Claim 57
Dependent Claim
22 words
The method of claim 51 comprising the further step of storing the message in a memory space provided for each application part.
Claim 58
Dependent Claim
75 words
The method of claim 46 comprising the further steps of: for each application part that was not granted the first request, sending a message to the application part that was granted the first request to identify each respective application, and for the application part that was granted the first request, reading each message of the previous step and verifying that a third request was made in respect of each application part that sent a message.
Claim 59
Dependent Claim
324 words
In a computer network including a plurality of nodes, wherein a predetermined number of the nodes are each processing one part of an application program, a communication system for sending and receiving messages to and from the parts of the application program, which communication system comprises: a lock manager to receive and process requests for access privileges to resource names; and an object library coupled to each node processing one part of the application program and comprising a set of subroutines including: i) a SETUP subroutine called by an application part and comprising a sequence of instructions to issue a first request to the lock manager on behalf of the respective calling application part for a preselected access privilege to a BROADCAST resource, the preselected access privilege being compatible with multiple first requests made on behalf of other application parts; i) a CLUSTER -- BROADCAST subroutine called by another routine and comprising a sequence of instructions to issue a second request to the lock manager on behalf of the calling routine for an exclusive access privilege to the BROADCAST resource and, upon grant of the second request, to write a message on behalf of the calling routine to the lock manager for storage; and ii) an MSG -- AST subroutine that is a asynchronous system trap called upon the making of a second request on behalf of a calling routine, the second request for an exclusive access privilege being incompatible with the preselected access privilege of the first request, the MSG -- AST subroutine comprising a sequence of instructions to issue a third request to the lock manager on behalf of a respective application part, the third request being for a conversion of the preselected access privilege to the BROADCAST resource to a NULL access privilege so that the second request of the calling routine is granted and thereafter, to read the message stored by the lock manager on behalf of the calling routine.
Claim 60
Dependent Claim
324 words
In a computer network including a plurality of nodes, wherein a predetermined number of the nodes are each processing one part of an application program, a communication system for sending and receiving messages to and from the parts of the application program, which communication system comprises: a lock manager to receive and process requests for access privileges to resource names; and an object library coupled to each node processing one part of the application program and comprising a set of subroutines including: i) a SETUP subroutine called by an application part and comprising a sequence of instructions to issue a first request to the lock manager on behalf of the respective calling application part for a preselected access privilege to a BROADCAST resource, the preselected access privilege being compatible with multiple first requests made on behalf of other application parts; i) a CLUSTER -- BROADCAST subroutine called by another routine and comprising a sequence of instructions to issue a second request to the lock manager on behalf of the calling routine for an exclusive access privilege to the BROADCAST resource and, upon grant of the second request, to write a message on behalf of the calling routine to the lock manager for storage; and ii) an MSG -- AST subroutine that is a asynchronous system trap called upon the making of a second request on behalf of a calling routine, the second request for an exclusive access privilege being incompatible with the preselected access privilege of the first request, the MSG -- AST subroutine comprising a sequence of instructions to issue a third request to the lock manager on behalf of a respective application part, the third request being for a conversion of the preselected access privilege to the BROADCAST resource to a NULL access privilege so that the second request of the calling routine is granted and thereafter, to read the message stored by the lock manager on behalf of the calling routine.
Claim 61
Dependent Claim
67 words
The communication system of claim 54, wherein the CLUSTER -- BROADCAST subroutine issues the second request for an exclusive access privilege to the BROADCAST resource by making a request to the lock manager for an exclusive access privilege to a PERMISSION -- TO -- TALK resource and, upon the grant of the exclusive access privilege to the PERMISSION -- TO -- TALK resource, issuing the second request.
Claim 62
Dependent Claim
115 words
The communication system of claim 54 further comprising: a first looping routine in the MSG -- AST subroutine including an instruction loop to periodically query the lock manager for information on the granting of a second request made on behalf of a calling routine by the CLUSTER -- BROADCAST subroutine until the information indicates that the second request has been granted; the MSG -- AST subroutine including further instructions subsequent to the first looping routine to issue a fourth request to the lock manager, upon the first looping routine receiving information on the grant of the second request, for conversion of the NULL access privilege back to the preselected access privilege to the BROADCAST resource.
Claim 63
Dependent Claim
156 words
The communication system of claim 56, wherein: the CLUSTER -- BROADCAST subroutine includes further instructions to issue an fifth request to the lock manager to release the exclusive access privilege on the BROADCAST resource after the CLUSTER -- BROADCAST subroutine writes a message, and further comprising: a second looping routine in the CLUSTER -- BROADCAST subroutine including an instruction loop to periodically query the lock manager, after release of the exclusive access privilege on the BROADCAST resource, for information on all existing NULL access privileges to the BROADCAST resource; the CLUSTER -- BROADCAST subroutine returning control to the calling routine when the information on all existing NULL access privileges indicates that there is no NULL access privilege for the BROADCAST resource; so that the first and second looping routines synchronize and coordinate the running of the CLUSTER -- BROADCAST subroutine and the MSG -- AST subroutine to transmit messages from a calling routine to application parts.
References Cited (Backward Citations)
US4399504A
Cited
US4480304A
Cited
US4660201A
Cited
US4646298A
Cited
US4665520A
Cited
US4803683A
Cited
US4768150A
Cited
US4815076A
Cited
US4827411A
Cited
US4965719A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1995-05-26 | 1995-11-25 | 1996-05-26 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1999-05-26 | 1999-11-25 | 2000-05-26 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2003-05-26 | 2003-11-25 | 2004-05-26 | $7700.00 | Window Closed / Lapsed |