Lock holding multi-threaded processes for distibuted data systems
First Claim
1. A distributed data system comprising:
- a plurality of network nodes each configured to execute one or more processes;
a data store configured to store primary data accessible by the processes; and
a lock mechanism coupled to the data store and configured to lock access to portions of the primary data, wherein the lock mechanism is configured to grant a lock to a requester for one of the processes for a primary data portion stored by the data store, wherein the lock mechanism is configured to prevent other processes from accessing the primary data portion while the requester is granted the lock;
wherein each of the processes comprises one or more threads each configured to request a lock for a portion of the primary data for its process, wherein the process is configured to hold the lock as long as one of the threads of the process requests access to the locked portion of the primary data, wherein the process is configured to maintain a dummy request for the locked portion of the primary data so that the lock is held for the process until the process is requested to release the lock.
1 Assignment
0 Petitions
Accused Products
Abstract
A distributed data system may include nodes each including a process that may access distributed data. A lock mechanism coupled to the distributed data store may grant locks for portions of the distributed data. Only threads of a process holding a lock for a portion of the distributed data may access the portion. A process may obtain a lock for a distributed data portion. In one embodiment, the process may release the lock if no more threads require access to the portion so may initiate a “dummy” thread requester indicating a thread requiring access to the portion. If other threads requiring access are initiated, it may not be necessary to obtain the lock again. This may help reduce the use of resources associated with using locks. If the process receives a request to release the lock, the process may cancel the dummy thread requester and release the lock.
54 Citations
43 Claims
-
1. A distributed data system comprising:
-
a plurality of network nodes each configured to execute one or more processes;
a data store configured to store primary data accessible by the processes; and
a lock mechanism coupled to the data store and configured to lock access to portions of the primary data, wherein the lock mechanism is configured to grant a lock to a requester for one of the processes for a primary data portion stored by the data store, wherein the lock mechanism is configured to prevent other processes from accessing the primary data portion while the requester is granted the lock;
wherein each of the processes comprises one or more threads each configured to request a lock for a portion of the primary data for its process, wherein the process is configured to hold the lock as long as one of the threads of the process requests access to the locked portion of the primary data, wherein the process is configured to maintain a dummy request for the locked portion of the primary data so that the lock is held for the process until the process is requested to release the lock. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computing system comprising:
-
a processor;
memory comprising program instructions executable by the processor to implement;
a process configured to access portions of distributed data stored within a data store accessible to other processes;
wherein the process comprises one or more threads each configured to request a lock for one of the portions of distributed data on behalf of the process from a lock mechanism of the data store, wherein the process is configured to hold the lock as long as one of the threads of the process requests access to the locked portion of the distributed data, wherein the process is configured to maintain a dummy request for the locked portion of the distributed data so that the lock is held for the process until the process is requested to release the lock. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A method comprising:
-
a thread of a process requesting a lock on behalf of the process for a portion of primary data stored within a data store from a lock mechanism of a data store;
if the thread is granted the lock, the process holding the lock as long as one of the threads of the process requests access to the locked portion of the primary data; and
the process maintaining a dummy request for the locked portion of the primary data so that the lock is continued to be held for the process until the process is requested to release the lock. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. An article of manufacture comprising program instructions executable to implement:
-
a thread of a process requesting a lock on behalf of the process for a portion of primary data stored within a data store from a lock mechanism of a data store;
if the thread is granted the lock, the process holding the lock as long as one of the threads of the process requests access to the locked portion of the primary data; and
the process maintaining a dummy request for the locked portion of the primary data so that the lock is continued to be held for the process until the process is requested to release the lock. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43)
-
Specification