Claims Analysis
Total Claims: 8
Claim 1
Independent Claim
193 words
A distributed data processing system comprising a plurality of processing units wherein the processing units contain: (a) a plurality of resources, (b) a plurality of user processes performing transactions which require access to the resources, and for producing lock requests, requesting locks on the resources for said transactions, (c) a resource manager responsive to said lock requests from the user processes, for maintaining a queue of lock requests that cannot be immediately granted, and for detecting dependencies between transactions caused by conflicting lock requests, (d) a transaction manager for storing a wait-for graph comprising a plurality of nodes representing transactions and a plurality of edges interconnecting the nodes and representing said dependencies between the transactions, each edge being labelled with the identities of the lock requests that caused the dependency, and (e) means for detecting a cyclic chain of dependencies in the wait-for graph and, upon detection of a cyclic chain of dependencies, for sending a deadlock message to the resource manager identifying a particular lock request as a victim for deletion to resolve the deadlock, (f) said resource manager comprising means responsive to said deadlock message for deleting said particular lock request.
Claim 2
Dependent Claim
193 words
A distributed data processing system comprising a plurality of processing units wherein the processing units contain: (a) a plurality of resources, (b) a plurality of user processes performing transactions which require access to the resources, and for producing lock requests, requesting locks on the resources for said transactions, (c) a resource manager responsive to said lock requests from the user processes, for maintaining a queue of lock requests that cannot be immediately granted, and for detecting dependencies between transactions caused by conflicting lock requests, (d) a transaction manager for storing a wait-for graph comprising a plurality of nodes representing transactions and a plurality of edges interconnecting the nodes and representing said dependencies between the transactions, each edge being labelled with the identities of the lock requests that caused the dependency, and (e) means for detecting a cyclic chain of dependencies in the wait-for graph and, upon detection of a cyclic chain of dependencies, for sending a deadlock message to the resource manager identifying a particular lock request as a victim for deletion to resolve the deadlock, (f) said resource manager comprising means responsive to said deadlock message for deleting said particular lock request.
Claim 3
Dependent Claim
324 words
A distributed data processing system comprising a plurality of processing units wherein the processing units contain: (a) a plurality of resources, (b) a plurality of user processes performing transactions which require access to the resources, and for producing lock requests, requesting locks on the resources for said transactions, (c) a resource manager responsive to said lock requests from the user processes, for maintaining a queue of lock requests that cannot be immediately granted, and for detecting dependencies between transactions caused by conflicting lock requests, (d) a transaction manager for storing a wait-for graph comprising a plurality of nodes representing transactions and a plurality of edges interconnecting the nodes and representing said dependencies between the transactions, each edge being labelled with the identities of the lock requests that caused the dependency, and (e) means for detecting a cyclic chain of dependencies in the wait-for graph and, upon detection of a cyclic chain of dependencies, for sending a deadlock message to the resource manager identifying a particular lock request as a victim for deletion to resolve the deadlock, (f) wherein said transaction manager comprises a plurality of transaction manager processes, each of which holds a predetermined portion of the wait-for graph, said transaction manager processes comprising means for propagating probe messages between said transaction manager processes to detect cyclic dependencies, (g) wherein said resource manager comprises a plurality of resource manager processes each of which includes means for storing a plurality of locks on a resource, means for checking for dependencies between said locks, and means for sending insert edge and delete edge messages to the transaction manager processes instructing them to insert and delete edges in the wait-for graph corresponding to said dependencies, (h) wherein the system further includes means for allocating a replacement transaction manager process to replace a failed transaction manager process, (i) and wherein each resource manager process includes means for resending its insert edge messages to the replacement transaction manager process.
Claim 4
Dependent Claim
324 words
A distributed data processing system comprising a plurality of processing units wherein the processing units contain: (a) a plurality of resources, (b) a plurality of user processes performing transactions which require access to the resources, and for producing lock requests, requesting locks on the resources for said transactions, (c) a resource manager responsive to said lock requests from the user processes, for maintaining a queue of lock requests that cannot be immediately granted, and for detecting dependencies between transactions caused by conflicting lock requests, (d) a transaction manager for storing a wait-for graph comprising a plurality of nodes representing transactions and a plurality of edges interconnecting the nodes and representing said dependencies between the transactions, each edge being labelled with the identities of the lock requests that caused the dependency, and (e) means for detecting a cyclic chain of dependencies in the wait-for graph and, upon detection of a cyclic chain of dependencies, for sending a deadlock message to the resource manager identifying a particular lock request as a victim for deletion to resolve the deadlock, (f) wherein said transaction manager comprises a plurality of transaction manager processes, each of which holds a predetermined portion of the wait-for graph, said transaction manager processes comprising means for propagating probe messages between said transaction manager processes to detect cyclic dependencies, (g) wherein said resource manager comprises a plurality of resource manager processes each of which includes means for storing a plurality of locks on a resource, means for checking for dependencies between said locks, and means for sending insert edge and delete edge messages to the transaction manager processes instructing them to insert and delete edges in the wait-for graph corresponding to said dependencies, (h) wherein the system further includes means for allocating a replacement transaction manager process to replace a failed transaction manager process, (i) and wherein each resource manager process includes means for resending its insert edge messages to the replacement transaction manager process.
Claim 5
Dependent Claim
59 words
A system according to claim 2 wherein each transaction manager process includes means for storing probe messages it has sent to and received from other transaction manager processes and wherein each transaction manager process includes means for deleting stored probe messages received from said failed transaction manager process and for re-sending probe messages to said replacement transaction manager process.
Claim 6
Dependent Claim
331 words
A distributed data processing system comprising a plurality of processing units wherein the processing units contain: (a) a plurality of resources, (b) a plurality of user processes performing transactions which require access to the resources, and for producing lock requests, requesting locks on the resources for said transactions, (c) a resource manager responsive to said lock requests from the user processes, for maintaining a queue of lock requests that cannot be immediately granted, and for detecting dependencies between transactions caused by conflicting lock requests, (d) a transaction manager for storing a wait-for graph comprising a plurality of nodes representing transactions and a plurality of edges interconnecting the nodes and representing said dependencies between the transactions, each edge being labelled with the identities of the lock requests that caused the dependency, and (e) means for detecting a cyclic chain of dependencies in the wait-for graph and, upon detection of a cyclic chain of dependencies, for sending a deadlock message to the resource manager identifying a particular lock request as a victim for deletion to resolve the deadlock, (f) wherein said transaction manager comprises a plurality of transaction manager processes, each of which holds a predetermined portion of the wait-for graph, said transaction manager processes comprising means for propagating probe messages between said transaction manager processes to detect cyclic dependencies, (g) wherein said resource manager comprises a plurality of resource manager processes each of which includes means for storing a plurality of locks on a resource, means for checking for dependencies between said locks, and means for sending insert edge and delete edge messages to the transaction manager processes instructing them to insert and delete edges in the wait-for graph corresponding to said dependencies, (h) wherein said system further includes means for allocating a replacement resource manager process to replace a failed resource manager process, (i) and wherein the transaction manager processes include means for deleting any edges associated with the failed resource manager process from their respective portions of the wait-for graph.
Claim 7
Dependent Claim
331 words
A distributed data processing system comprising a plurality of processing units wherein the processing units contain: (a) a plurality of resources, (b) a plurality of user processes performing transactions which require access to the resources, and for producing lock requests, requesting locks on the resources for said transactions, (c) a resource manager responsive to said lock requests from the user processes, for maintaining a queue of lock requests that cannot be immediately granted, and for detecting dependencies between transactions caused by conflicting lock requests, (d) a transaction manager for storing a wait-for graph comprising a plurality of nodes representing transactions and a plurality of edges interconnecting the nodes and representing said dependencies between the transactions, each edge being labelled with the identities of the lock requests that caused the dependency, and (e) means for detecting a cyclic chain of dependencies in the wait-for graph and, upon detection of a cyclic chain of dependencies, for sending a deadlock message to the resource manager identifying a particular lock request as a victim for deletion to resolve the deadlock, (f) wherein said transaction manager comprises a plurality of transaction manager processes, each of which holds a predetermined portion of the wait-for graph, said transaction manager processes comprising means for propagating probe messages between said transaction manager processes to detect cyclic dependencies, (g) wherein said resource manager comprises a plurality of resource manager processes each of which includes means for storing a plurality of locks on a resource, means for checking for dependencies between said locks, and means for sending insert edge and delete edge messages to the transaction manager processes instructing them to insert and delete edges in the wait-for graph corresponding to said dependencies, (h) wherein said system further includes means for allocating a replacement resource manager process to replace a failed resource manager process, (i) and wherein the transaction manager processes include means for deleting any edges associated with the failed resource manager process from their respective portions of the wait-for graph.
Claim 8
Dependent Claim
24 words
A system according to claim 4 wherein said user processes further include means for re-sending their lock requests to said replacement resource manager process.