First thread lock management for 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 hardware device configured to implement 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 first thread of the process requesting access to a portion of the primary data request a lock for the portion of the primary data from the lock mechanism, wherein the first thread remains, while one or more other threads of the process access the locked portion of the primary data, to release the lock, and wherein said first thread and said other threads each execute locally on one of said plurality of network nodes.
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 a first thread to request access to a distributed data portion that may acquire a lock for the distributed data portion on behalf of the process. In one embodiment, the lock mechanism may require only a thread that acquired a lock release the lock on behalf of a process. In embodiments, the first thread 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
33 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 hardware device configured to implement 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 first thread of the process requesting access to a portion of the primary data request a lock for the portion of the primary data from the lock mechanism, wherein the first thread remains, while one or more other threads of the process access the locked portion of the primary data, to release the lock, and wherein said first thread and said other threads each execute locally on one of said plurality of network nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. 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 first thread of the process requesting access to a portion of the distributed data request a lock for one of the portions of the distributed data from a lock mechanism of the distributed data store, wherein the first thread remains, while one or more other threads of the process access the locked portion of the distributed data, to release the lock, and wherein said first thread and said other threads all execute locally on the processor. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method, comprising:
-
a first thread of a process determining if the process owns a lock for a portion of primary data stored in a distributed data store; in response to determining that the process does not own the lock, the first thread requesting the lock for the portion of the primary data from a lock mechanism of the distributed data store; in response to obtaining the lock, the first thread accessing the locked portion of primary data; and the first thread remaining, while one or more other threads of the process access the locked portion of the primary data, to release the lock; wherein said first thread and said other threads each execute locally on one of one or more network nodes. - View Dependent Claims (23, 24, 25, 26, 27)
-
-
28. A non-transitory computer-accessible storage medium, comprising program instructions computer-executable to implement:
-
a first thread of a process determining if the process owns a lock for a portion of primary data stored in a distributed data store; in response to determining that the process does not own the lock, the first thread requesting the lock for the portion of the primary data from a lock mechanism of the distributed data store; in response to obtaining the lock, the first thread accessing the locked portion of primary data; and the first thread remaining, while one or more other threads of the process access the locked portion of the primary data, to release the lock; wherein said first thread and said other threads each execute locally on one of one or more network nodes. - View Dependent Claims (29, 30, 31, 32, 33)
-
Specification