Lock management thread pools 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 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 is configured to maintain a thread pool of lock management threads, wherein each of the lock management threads is configured to be a requester on behalf of its process for a lock from the lock mechanism for a portion of the primary data.
0 Assignments
0 Petitions
Accused Products
Abstract
A distributed data system may include a plurality of nodes one or more of which may include at least one multi-threaded process operable to access portions of distributed data. A lock mechanism may grant locks to the 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 lock management thread pool dedicated to managing locks for portions of the distributed data for access by other threads of the process. Each lock management thread of the lock management thread pool may request a lock for a portion of distributed data on behalf of the process. The process may hold one or more locks for portions of distributed data corresponding to one or more lock management threads of the lock management thread pool.
71 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 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 is configured to maintain a thread pool of lock management threads, wherein each of the lock management threads is configured to be a requester on behalf of its process for a lock from the lock mechanism for a portion of the primary data. - 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 maintain a thread pool of lock management threads, wherein each of the lock management threads is configured to request a lock for one of the portions of distributed data on behalf of the process from a lock mechanism of the distributed data store. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer implemented method comprising:
-
a requesting thread of a process requesting access within the process to data corresponding to a portion of primary data stored in a distributed data store; in response to the thread requesting access, the process selecting a lock management thread from a lock management thread pool to request a lock for the portion of primary data; the selected lock management thread acquiring the lock for the portion of primary data; and in response to the selected lock management thread acquiring the lock, the requesting thread accessing the portion of primary data. - View Dependent Claims (23, 24, 25, 26, 27)
-
-
28. An article of manufacture comprising program instructions executable to implement:
-
a requesting thread of a process requesting access within the process to data corresponding to a portion of primary data stored in a distributed data store; in response to the thread requesting access, the process selecting a lock management thread from a lock management thread pool to request a lock for the portion of primary data; the selected lock management thread acquiring the lock for the portion of primary data; and in response to the selected lock management thread acquiring the lock, the requesting thread accessing the portion of primary data. - View Dependent Claims (29, 30, 31, 32, 33)
-
Specification