MANAGING COPIES OF DATA ON MULTIPLE NODES USING A DATA CONTROLLER NODE TO AVOID TRANSACTION DEADLOCK
First Claim
1. A method comprising:
- receiving, by a data controller node in a data grid, an update request to update data stored at the data controller node for a transaction managed by a transaction originator node;
locking the data for the transaction at the data controller node;
identifying a copy of the data residing at one or more other nodes in the data grid;
sending a message to the one or more other nodes to update the copy of the data at the one or more other nodes for the transaction without locking the copy of the data at the one or more other nodes;
determining whether an acknowledgment is received from each of the one or more other nodes that the copy of the data at the one or more other nodes are updated for the transaction; and
updating the locked data at the data controller node for the transaction in response to receiving the acknowledgment from each of the one or more other nodes.
1 Assignment
0 Petitions
Accused Products
Abstract
A data controller node receives a request to update data stored at the data controller node for a transaction managed by a transaction originator node. The data controller node locks the data at the data controller node and identifies copies of the data residing at other nodes. The data controller node sends a message to the other nodes to update the copy at the other nodes without locking the copy of the data at the other nodes. The data controller node determines whether an acknowledgment is received from each of the other nodes that the copy of the data are updated for the transaction and updates the locked data at the data controller node for the transaction in response to receiving the acknowledgment from each of the other nodes.
208 Citations
19 Claims
-
1. A method comprising:
-
receiving, by a data controller node in a data grid, an update request to update data stored at the data controller node for a transaction managed by a transaction originator node; locking the data for the transaction at the data controller node; identifying a copy of the data residing at one or more other nodes in the data grid; sending a message to the one or more other nodes to update the copy of the data at the one or more other nodes for the transaction without locking the copy of the data at the one or more other nodes; determining whether an acknowledgment is received from each of the one or more other nodes that the copy of the data at the one or more other nodes are updated for the transaction; and updating the locked data at the data controller node for the transaction in response to receiving the acknowledgment from each of the one or more other nodes. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising:
-
identifying, by a first transaction originator node in a data grid, data to lock for a first transaction managed by the first transaction originator node, wherein the data matches data for a second transaction managed by a second transaction originator node; determining by the first transaction originator node, that copies of the data resides at a plurality of enlisted nodes; determining, by the first transaction originator node, which of the plurality of enlisted nodes is a data controller node for the data for the first transaction, wherein the data controller node for the first transaction matches a data controller node for the second transaction; and sending, by the first transaction originator node, an update request for the first transaction to the data controller node, wherein the data controller node acquires a lock on the data for the first transaction and sends a message to remaining enlisted nodes in the plurality of enlisted nodes to update a copy of the data at the corresponding enlisted node without acquiring a lock on the copy of the data at the corresponding enlisted node. - View Dependent Claims (7, 8, 9)
-
-
10. A non-transitory computer-readable storage medium including instructions that, when executed by a processing device at a data controller node in a data grid, cause the processing device to perform a set of operations comprising:
-
receiving, by the data controller node, an update request to update data stored at the data controller node for a transaction managed by a transaction originator node; locking the data for the transaction at the data controller node; identifying a copy of the data residing at one or more other nodes in the data grid; sending a message to the one or more other nodes to update the copy of the data at the one or more other nodes for the transaction without locking the copy of the data at the one or more other nodes; determining whether an acknowledgment is received from each of the one or more other nodes that the copy of the data at the one or more other nodes are updated for the transaction; and updating the locked data at the data controller node for the transaction in response to receiving the acknowledgment from each of the one or more other nodes. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A system comprising:
-
a memory; and a processing device in a data grid, the processing device coupled to the memory and configured to execute a process to receive an update request to update data stored at the data controller node for a transaction managed by a transaction originator node, lock the data for the transaction at the data controller node, identify a copy of the data residing at one or more other nodes in the data grid, send a message to the one or more other nodes to update the copy of the data at the one or more other nodes for the transaction without locking the copy of the data at the one or more other nodes, determine whether an acknowledgment is received from each of the one or more other nodes that the copy of the data at the one or more other nodes are updated for the transaction, and update the locked data at the data controller node for the transaction in response to receiving the acknowledgment from each of the one or more other nodes. - View Dependent Claims (16, 17, 18, 19)
-
Specification