Claims Analysis
Total Claims: 52
Claim 1
Independent Claim
129 words
A method of controlling access to an object shared amongst a plurality of processes in a distributed system, the method comprising: (a) receiving a first lock request for a lock associated with the shared object, the first lock request received from a first requesting process of the plurality of processes that requires control of the shared object; (b) in response to the request, determining whether any of the plurality of processes has control of the lock, comprising sending, to each of the plurality of processes, a lock-control request inquiring if the process currently controls the lock associated with the shared object; and (c) if it is determined that none of the plurality of processes has control of the lock, granting control of the lock to the first requesting process.
Claim 2
Independent Claim
129 words
A method of controlling access to an object shared amongst a plurality of processes in a distributed system, the method comprising: (a) receiving a first lock request for a lock associated with the shared object, the first lock request received from a first requesting process of the plurality of processes that requires control of the shared object; (b) in response to the request, determining whether any of the plurality of processes has control of the lock, comprising sending, to each of the plurality of processes, a lock-control request inquiring if the process currently controls the lock associated with the shared object; and (c) if it is determined that none of the plurality of processes has control of the lock, granting control of the lock to the first requesting process.
Claim 3
Dependent Claim
21 words
The method of claim 1 , wherein the lock is owned by a lock owner process of the plurality of processes.
Claim 4
Dependent Claim
33 words
The method as recited in claim 2 , further comprising: in response to the lock owner process failing, choosing a new lock owner from amongst the remaining processes in the plurality of processes.
Claim 5
Dependent Claim
28 words
The method as recited in claim 2 , wherein step (b) comprises: determining whether the lock owner process is currently accessing the shared object associated with the lock.
Claim 6
Dependent Claim
41 words
The method as recited in claim 1 , further comprising: (d) granting control of the lock to the first requesting process; and (e) in response to the first requesting process failing, releasing control of the lock from the first requesting process.
Claim 7
Dependent Claim
58 words
The method as recited in claim 1 , further comprising: (d) granting control of the lock to the first requesting process; (e) receiving a lock release message from the first requesting process indicating that the first requesting process no longer requires access to the shared object; and (f) releasing control of the lock from the first requesting process.
Claim 8
Dependent Claim
70 words
The method as recited in claim 6 , further comprising: (g) prior to receiving the lock release message, receiving a second lock request from a second requesting process; (h) placing the second requesting process in a queue; (i) in response to receiving the lock release message, accessing the queue to determine the next requesting process in the queue; and (j) granting control of the lock to the next requesting process.
Claim 9
Dependent Claim
17 words
The method as recited in claim 7 , wherein the queue operates on a first-in, first-out basis.
Claim 10
Dependent Claim
37 words
The method as recited in claim 7 , wherein the queue is a priority queue in that the next requesting process is that requesting process having a priority higher than any other requesting process in the queue.
Claim 11
Dependent Claim
35 words
The method as recited in claim 6 , further comprising: (g) in response to receiving the lock release message, determining whether there are any processes in a queue of processes requesting control of the lock.
Claim 12
Dependent Claim
33 words
The method as recited in claim 1 , further comprising: (d) prior to performance of (b), placing the first requesting process in a queue of processes waiting to receive control of the lock.
Claim 13
Dependent Claim
66 words
The method as recited in claim 11 , further comprising: (e) placing the first requesting process in the queue according to a priority level assigned to each requesting process, wherein a second requesting process in the queue with a priority level higher than a priority level of a third requesting process in the queue will be granted control of the lock before the third requesting process.
Claim 14
Dependent Claim
26 words
The method as recited in claim 12 , wherein the first requesting process is one of either the second requesting process or the third requesting process.
Claim 15
Dependent Claim
49 words
The method as recited in claim 11 , further comprising: (e) granting control to the first requesting process; (f) receiving a lock release message from the first requesting process; (g) retrieving a next requesting process from the queue; and (h) granting control of the lock to the retrieved process.
Claim 16
Dependent Claim
41 words
The method as recited in claim 1 , wherein step (b) further comprises: in response to receiving a negative response to the lock-control request from each of the plurality of processes, granting control of the lock to the first requesting process.
Claim 17
Dependent Claim
42 words
The method as recited in claim 15 , wherein step (b) further comprises: in response to receiving a positive response to the lock-control request from one of the plurality of processes, denying the control of the lock to the first requesting process.
Claim 18
Dependent Claim
14 words
The method of claim 1 , wherein the method is implemented on a computer.
Claim 19
Independent Claim
134 words
A system of controlling access to an object shared amongst a plurality of processes in a distributed system, the system comprising: means for receiving a first lock request for a lock associated with the shared object, the first lock request received from a first requesting process of the plurality of processes that requires control of the shared object; means for determining, in response to the request, whether any of the plurality of processes has control of the lock, comprising means for sending, to each of the plurality of processes, a lock-control request inquiring if the process currently controls the lock associated with the shared object; and means for granting control of the lock to the first requesting process if it is determined that none of the plurality of processes has control of the lock.
Claim 20
Independent Claim
134 words
A system of controlling access to an object shared amongst a plurality of processes in a distributed system, the system comprising: means for receiving a first lock request for a lock associated with the shared object, the first lock request received from a first requesting process of the plurality of processes that requires control of the shared object; means for determining, in response to the request, whether any of the plurality of processes has control of the lock, comprising means for sending, to each of the plurality of processes, a lock-control request inquiring if the process currently controls the lock associated with the shared object; and means for granting control of the lock to the first requesting process if it is determined that none of the plurality of processes has control of the lock.
Claim 21
Dependent Claim
21 words
The system of claim 18 , wherein the lock is owned by a lock owner process of the plurality of processes.
Claim 22
Dependent Claim
35 words
The system as recited in claim 19 , further comprising: means for choosing, in response to the lock owner process failing, a new lock owner from amongst the remaining processes in the plurality of processes.
Claim 23
Dependent Claim
33 words
The system as recited in claim 19 , wherein the means for determining further comprises: means for determining whether the lock owner process is currently accessing the shared object associated with the lock.
Claim 24
Independent Claim
43 words
The system as recited in claims 18 , further comprising: means for granting control of the lock to the first requesting process; and means for releasing, in response to the first requesting process failing, control of the lock from the first requesting process.
Claim 25
Dependent Claim
61 words
The system as recited in claim 35 , further comprising: means for granting control of the lock to the first requesting process; means for receiving a lock release message from the first requesting process indicating that the first requesting process no longer requires access to the shared object; and means for releasing control of the lock from the first requesting process.
Claim 26
Dependent Claim
74 words
The system as recited in claim 23 , further comprising: means for receiving a second lock request from a second requesting process prior to receiving the lock release message; means for placing the second requesting process in a queue; means for accessing the queue to determine the next requesting process in the queue in response to receiving the lock release message; and means for granting control of the lock to the next requesting process.
Claim 27
Dependent Claim
17 words
The system as recited in claim 24 , wherein the queue operates on a first-in, first-out basis.
Claim 28
Dependent Claim
37 words
The system as recited in claim 24 , herein the queue is a priority queue in that the next requesting process is that requesting process having a priority higher than any other requesting process in the queue.
Claim 29
Dependent Claim
36 words
The system as recited in claim 23 , further comprising: means for determining whether there are any processes in a queue of processes requesting control of the lock, in response to receiving the lock release message.
Claim 30
Dependent Claim
44 words
The system as recited in claim 18 , further comprising: means for placing the first requesting process in a queue of processes waiting to receive control of the lock prior to determining whether any of the plurality of processes has control of the lock.
Claim 31
Dependent Claim
67 words
The system as recited in claim 28 , further comprising: means for placing the first requesting process in the queue according to a priority level assigned to each requesting process, wherein a second requesting process in the queue with a priority level higher than a priority level of a third requesting process in the queue will be granted control of the lock before the third requesting process.
Claim 32
Dependent Claim
26 words
The system as recited in claim 27 , wherein the first requesting process is one of either the second requesting process or the third requesting process.
Claim 33
Dependent Claim
53 words
The system as recited in claim 28 , further comprising: means for granting control to the first requesting process; means for receiving a lock release message from the first requesting process; means for retrieving a next requesting process from the queue; and means for granting control of the lock to the retrieved process.
Claim 34
Dependent Claim
45 words
The system as recited in claim 18 , wherein the means for determining further comprises: means for granting control of the lock to the first requesting process in response to receiving a negative response to the lock-control request from each of the plurality of processes.
Claim 35
Dependent Claim
46 words
The system as recited in claim 18 , wherein the means for determining further comprises: means for denying the control of the lock to the first requesting process in response to receiving a positive response to the lock-control request from one of the plurality of processes.
Claim 36
Dependent Claim
163 words
A computer program product, comprising: a computer-readable medium; and computer-readable signals stored on the computer-readable medium that define instructions that, as a result of being executed by a computer, instruct the computer to perform a process of controlling access to an object shared amongst a plurality of processes in a distributed system, the process comprising: (a) receiving a first lock request for a lock associated with the shared object, the first lock request received from a first requesting process of the plurality of processes that requires control of the shared object; (b) in response to the request, determining whether any of the plurality of processes has control of the lock, comprising sending, to each of the plurality of processes, a lock-control request inquiring if the process currently controls the lock associated with the shared object; and (c) if it is determined that none of the plurality of processes has control of the lock, granting control of the lock to the first requesting process.
Claim 37
Dependent Claim
163 words
A computer program product, comprising: a computer-readable medium; and computer-readable signals stored on the computer-readable medium that define instructions that, as a result of being executed by a computer, instruct the computer to perform a process of controlling access to an object shared amongst a plurality of processes in a distributed system, the process comprising: (a) receiving a first lock request for a lock associated with the shared object, the first lock request received from a first requesting process of the plurality of processes that requires control of the shared object; (b) in response to the request, determining whether any of the plurality of processes has control of the lock, comprising sending, to each of the plurality of processes, a lock-control request inquiring if the process currently controls the lock associated with the shared object; and (c) if it is determined that none of the plurality of processes has control of the lock, granting control of the lock to the first requesting process.
Claim 38
Dependent Claim
23 words
The computer program product of claim 34 , wherein the lock is owned by a lock owner process of the plurality of processes.
Claim 39
Dependent Claim
38 words
The computer program product as recited in claim 35 , wherein the process further comprises: in response to the lock owner process failing, choosing a new lock owner from amongst the remaining processes in the plurality of processes.
Claim 40
Dependent Claim
30 words
The computer program product as recited in claim 52, wherein step (b) further comprises: determining whether the lock owner process is currently accessing the shared object associated with the lock.
Claim 41
Dependent Claim
46 words
The computer program product as recited in claim 34 , wherein the process further comprises: (d) granting control of the lock to the first requesting process; and (e) in response to the first requesting processing failing, releasing control of the lock from the first requesting process.
Claim 42
Dependent Claim
63 words
The computer program product as recited in claim 34 , wherein the process further comprises: (d) granting control of the lock to the first requesting process; (e) receiving a lock release message from the first requesting process indicating that the first requesting process no longer requires access to the shared object; and (f) releasing control of the lock from the first requesting process.
Claim 43
Dependent Claim
75 words
The computer program product as recited in claim 39 , wherein the process further comprises: (g) prior to receiving the lock release message, receiving a second lock request from a second requesting process; (h) placing the second requesting process in a queue; (i) in response to receiving the lock release message, accessing the queue to determine the next requesting process in the queue; and (J) granting control of the lock to the next requesting process.
Claim 44
Dependent Claim
19 words
The computer program product as recited in claim 40 , wherein the queue operates on a first-in, first-out basis.
Claim 45
Dependent Claim
39 words
The computer program product as recited in claim 40 , wherein the queue is a priority queue in that the next requesting process is that requesting process having a priority higher than any other requesting process in the queue.
Claim 46
Dependent Claim
40 words
The computer program product as recited in claim 39 , herein the process further comprises: (g) in response to receiving the lock release message, determining whether there are any processes in a queue of processes requesting control of the lock.
Claim 47
Dependent Claim
37 words
The computer program product as recited in claim 51, wherein the process further comprises: (d) prior to performance of (b), placing the first requesting process in a queue of processes waiting to receive control of the lock.
Claim 48
Dependent Claim
71 words
The computer program product as recited in claim 44 , wherein the process further comprises: (e) placing the first requesting process in the queue according to a priority level assigned to each requesting process, wherein a second requesting process in the queue with a priority level higher than a priority level of a third requesting process in the queue will be granted control of the lock before the third requesting process.
Claim 49
Dependent Claim
28 words
The computer program product as recited in claim 45 , wherein the first requesting process is one of either the second requesting process or the third requesting process.
Claim 50
Dependent Claim
54 words
The computer program product as recited in claim 44 , wherein the process further comprises: (e) granting control to the first requesting process; (f) receiving a lock release message from the first requesting process; (g) retrieving a next requesting process from the queue; and (h) granting control of the lock to the retrieved process.
Claim 51
Dependent Claim
43 words
The computer program product as recited in claim 34 , wherein step (b) further comprises: in response to receiving a negative response to the lock-control request from each of the plurality of processes, granting control of the lock to the first requesting process.
Claim 52
Dependent Claim
44 words
The computer program product as recited in claim 48 , wherein step (b) further comprises: in response to receiving a positive response to the lock-control request from one of the plurality of processes, denying the control of the lock to the first requesting process.