Legal claims defining the scope of protection, as filed with the USPTO.
1. A method comprising: identifying, by a processing device executing a transaction originator node, a plurality of data elements distributed at a plurality of enlisted nodes to lock for a multi-operational transaction, wherein the transaction originator node manages the multi-operational transaction, the multi-operational transaction comprising a plurality of operations, the plurality of data elements corresponding to the plurality of operations; determining, by the processing device, a hash value for each of the plurality of enlisted nodes using a node identifier of a respective enlisted node; ranking, by the processing device, the plurality of enlisted nodes in view of the hash values to create a lock order for the multi-operational transaction; determining, by the processing device executing the transaction originator node, which of the plurality of enlisted nodes is a first enlisted node in the lock order for the multi-operational transaction; sending, by the processing device executing the transaction originator node, an update perform request to the first enlisted node in the lock order to lock a corresponding data element residing at the first enlisted node from the plurality of data elements; and sending, by the processing device executing the transaction originator node, update cache requests to remaining enlisted nodes in the lock order to cache a corresponding update cache request until the corresponding remaining enlisted node receives an update perform message to perform a lock on a corresponding data element.
2. The method of claim 1 , wherein the update perform request and the update cache requests comprise: at least one of a request to update data, an identifier of the data to be updated, or a value to use to update the data.
3. The method of claim 1 , wherein sending the update perform request to the first enlisted node comprises: creating an indicator in the update perform request indicating to the first enlisted node to lock a data element residing at the first enlisted node from the plurality of data elements.
4. The method of claim 1 , wherein sending the update cache requests to remaining enlisted nodes comprises: creating an indicator in the update cache requests indicating to the remaining enlisted nodes to cache a corresponding update cache request.
5. The method of claim 1 , wherein the remaining enlisted nodes receive an update perform message to perform the lock from an enlisted node that has performed a lock to a data element residing at the corresponding enlisted node.
6. The method of claim 1 , further comprising: receiving a message from a last enlisted node in the lock order that the data element residing at the last enlisted node is locked; and sending a message to the first enlisted node and the remaining enlisted nodes to release the locks.
7. A method comprising: receiving, by a processing device executing an enlisted node, an update request message from a transaction originator node identifying data to lock for a transaction at the enlisted node and a data update to perform by the enlisted node; determining, by the enlisted node, that a flag in the update request message is disabled, the disabled flag indicating to the enlisted node to store the update request message in a cache without acquiring a lock or performing the data update; caching, by the enlisted node, the update request message without acquiring a lock or performing the data update; receiving, by the enlisted node, an update perform message to perform the data update as specified in the update request message that is stored in the cache; and acquiring the lock on the data and performing the data update as specified in the update request message.
8. The method of claim 7 , wherein the update request message comprises: lock order for the transaction identifying the order of the first enlisted node and the remaining enlisted nodes.
9. The method of claim 7 , further comprising: sending a message indicating the data has been locked.
10. A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause a transaction originator node executing on the processing device to: identify, by the transaction originator, a plurality of data elements distributed at a plurality of enlisted nodes to lock for a multi-operational transaction, wherein the transaction originator node manages the multi-operational transaction, the multi-operational transaction comprising a plurality of operations, the plurality of data elements corresponding to the plurality of operations; determine a hash value for each of the plurality of enlisted nodes using a node identifier of a respective enlisted node; rank the plurality of enlisted nodes in view of the hash values to create a lock order for the multi-operational transaction; determine, by the transaction originator node, which of the plurality of enlisted nodes is a first enlisted node in the lock order for the multi-operational transaction; send, by the transaction originator node, an update perform request to the first enlisted node in the lock order to lock a corresponding data element residing at the first enlisted node from the plurality of data elements; and send, by the transaction originator node, update cache requests to remaining enlisted nodes in the lock order to cache a corresponding update cache request until the corresponding remaining enlisted node receives an update perform message to perform a lock on a corresponding data element.
11. The non-transitory computer-readable storage medium of claim 10 , wherein the update perform request and the update cache requests comprise: at least one of a request to update data, an identifier of the data to be updated, or a value to use to update the data.
12. The non-transitory computer-readable storage medium of claim 10 , wherein to send the update perform request to the first enlisted node comprises the processing device to: create an indicator in the update perform request indicating to the first enlisted node to lock a data element residing at the first enlisted node from the plurality of data elements.
13. The non-transitory computer-readable storage medium of claim 10 , wherein to send the update cache requests to remaining enlisted nodes comprises: creating an indicator in the update cache requests indicating to the remaining enlisted nodes to cache a corresponding update request.
14. The non-transitory computer-readable storage medium of claim 10 , wherein the remaining enlisted nodes receive an update perform message to perform the lock from an enlisted node that has performed a lock to a data element residing at the corresponding enlisted node.
15. The non-transitory computer-readable storage medium of claim 10 , wherein the processing device is further to: receive a message from a last enlisted node in the lock order that the data element residing at the last enlisted node is locked; and send a message to the first enlisted node and the remaining enlisted nodes to release the locks.
16. A system comprising: a memory; and a processing device executing a transaction originator node in a data grid, the processing device coupled to the memory to: identify, by the transaction originator node, a plurality of data elements distributed at a plurality of enlisted nodes to lock for a multi-operational transaction, wherein the transaction originator node manages the multi-operational transaction, the multi-operational transaction comprising a plurality of operations, the plurality of data elements corresponding to the plurality of operations; determine a hash value for each of the plurality of enlisted nodes using a node identifier of a respective enlisted node; rank the plurality of enlisted nodes in view of the hash values to create a lock order for the multi-operational transaction; determine which of the plurality of enlisted nodes is a first enlisted node in the lock order for the multi-operational transaction; send an update perform request to the first enlisted node in the lock order to lock a corresponding data element residing at the first enlisted node from the plurality of data elements; and send update cache requests to remaining enlisted nodes in the lock order to cache a corresponding update cache request until the corresponding remaining enlisted node receives an update perform message to perform a lock on a corresponding data element.
17. The system of claim 16 , wherein to send the update perform request to the first enlisted node comprises the processing device to: create an indicator in the update perform request indicating to the first enlisted node to lock a data element residing at the first enlisted node from the plurality of data elements.
18. The system of claim 16 , wherein to send the update cache requests to remaining enlisted nodes comprises the processing device to: create an indicator in the update cache requests indicating to the remaining enlisted nodes to cache a corresponding update cache request.
19. The system of claim 16 , wherein the remaining enlisted nodes receive an update perform message to perform the lock from an enlisted node that has performed a lock to a data element residing at the corresponding enlisted node.
20. The system of claim 16 , wherein the processing device is further to: receive a message from a last enlisted node in the lock order that the data element residing at the last enlisted node is locked; and send a message to the first enlisted node and the remaining enlisted nodes to release the locks.
Unknown
August 11, 2015
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.