Last thread lock management for multi-threaded process and distributed 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 process executing on the plurality of network nodes is configured to have a thread request a lock for the portion of the primary data from the lock mechanism, wherein the process retains the lock while one or more other threads of the process requesting access to the locked portion of primary data access the locked portion of the primary data, and wherein the last thread requesting access the locked portion of primary data releases the lock when no further requests are pending.
2 Assignments
0 Petitions
Accused Products
Abstract
A distributed data system may include nodes hosting at least one multi-threaded process operable to access portions of distributed data. A lock mechanism may grant locks to multi-threaded processes for portions of the distributed data. Only a process holding a lock may access a portion corresponding to the lock. Threads of other processes may not access the portion. A process may include one or more threads that may acquire a locks for the distributed data portion on behalf of the process. In one embodiment, the lock mechanism may allow any thread of a process release a lock held by the process. In embodiments, the last thread to access the distributed data portion corresponding to the lock may release the lock in response to no more threads of the process require access to the distributed data portion and/or in response to a request to release the lock.
-
Citations
26 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 process executing on the plurality of network nodes is configured to have a thread request a lock for the portion of the primary data from the lock mechanism, wherein the process retains the lock while one or more other threads of the process requesting access to the locked portion of primary data access the locked portion of the primary data, and wherein the last thread requesting access the locked portion of primary data releases the lock when no further requests are pending. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. The distributed data system as recited in claim 9, wherein in response to the process releasing the lock for the portion of the primary data, the lock mechanism is configured to grant the lock for that portion of the primary data to a next buffered requester for that primary data portion.
-
10. 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 distributed data store accessible to other processes;
wherein the process is configured to have a thread request a lock for a portion of the distributed data from a lock mechanism of the distributed data store, wherein the process retains the lock while one or more other threads of the process requesting access to the locked portion of distributed data access the locked portion of the distributed data, and wherein the last thread requesting access the locked portion of distributed data releases the lock when no further requests are pending. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A method comprising:
-
a thread of a process acquiring a lock for a portion of distributed data of a distributed data store from a lock mechanism of the distributed data store;
one or more other threads of the process requesting access to the locked portion of the distributed data while the process retains the lock; and
a last thread to request access to the portion of the distributed data releasing the lock when no further requests are pending. - View Dependent Claims (18, 19, 20, 21)
-
-
22. An article of manufacture comprising program instructions executable to implement:
-
a thread of a process acquiring a lock for a portion of distributed data of a distributed data store from a lock mechanism of the distributed data store;
one or more other threads of the process requesting access to the locked portion of the distributed data while the process retains the lock; and
a last thread to request access to the portion of the distributed data releasing the lock when no further requests are pending. - View Dependent Claims (23, 24, 25, 26)
-
Specification