Multi-node replication systems, devices and methods
First Claim
1. A method, comprising:
- assigning a node of a replicated storage network to be an owner of a data block to issue write memory block commands, the network including at least two nodes including the node assigned to be the owner;
if a read memory block command is received to read the data block, issuing a read_lock for the data block, reading the data block, and releasing the read_lock for the data block; and
if a write memory block command is received to write new data to the data block, issuing a write_lock for the data block, writing the data block and incrementing a version associated with the data block, and releasing the write_lock for the data block.
16 Assignments
0 Petitions
Accused Products
Abstract
Replication techniques are presented. According to an embodiment of a method, a node of a replicated storage network is assigned to be an owner of a data block to issue write memory block commands. The network includes at least two nodes including the node assigned to be the owner. If a read memory block command is received to read the data block, a read_lock is issued for the data block, the data block is read, and the read_lock for the data block is released. If a write memory block command is received to write new data to the data block, a write_lock is issued for the data block, the data block is written and a version associated with the data block is incremented, and the write_lock for the data block is released.
40 Citations
28 Claims
-
1. A method, comprising:
-
assigning a node of a replicated storage network to be an owner of a data block to issue write memory block commands, the network including at least two nodes including the node assigned to be the owner; if a read memory block command is received to read the data block, issuing a read_lock for the data block, reading the data block, and releasing the read_lock for the data block; and if a write memory block command is received to write new data to the data block, issuing a write_lock for the data block, writing the data block and incrementing a version associated with the data block, and releasing the write_lock for the data block. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of replicating data in a storage network having at least two nodes, comprising:
-
assigning nodes of the network to be owners of data blocks to issue write memory block commands, each data block being owned by one node; performing a local write of a first data block to an owner node for the first data block, including performing a first process at the owner node and performing a second process at the non-owner nodes in the network; wherein the first process at the owner node includes; issuing a write_lock request for the first data block to all nodes in the network; copying old data for the first data block to a memory location, and issuing a write command to non-owner nodes in the network to write new data for the first data block; waiting for the acknowledgment from each non-owner node indicating that the non-owner node has written the new data for the first data block; writing the new data for the first data block to the owner node, and incrementing a version associated with the first data block; issuing a write_unlock request for the first data block to all nodes on the network; and performing a write_unlock for the first data block on the owner node; and wherein the second process at non-owner nodes includes; receiving the write_lock request for the first data block from the owner node for the first data block; performing a write_lock for the first data block, and copying old data for the first data block into memory; writing the new data for the first data block, and incrementing a version number associated with the first data block; sending the acknowledgment to the owner node; and performing a write_unlock for the first data block. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A system, comprising:
-
a memory storage device, including replicated storage having a plurality of data blocks stored therein and a version associated with each of the data blocks; and a replication manager to communicate with the memory storage device, the replication manager to communicate with other network nodes in a multi-node replicated storage network through a network link interface, wherein the replication manager is adapted to; issue read memory block commands and write memory block commands for data blocks in the replicated storage owned by the replication manager; issue a read lock, read the data block, and release the read lock; and issue a write lock, write the data block and increment a version associated with the data block, and release the write lock. - View Dependent Claims (23)
-
-
24. A multi-node replicated storage network, comprising:
-
at least two network nodes, each network node including; a memory storage device, including replicated storage having a plurality of data blocks stored therein and a version associated with each of the data blocks; a network link interface; and a replication manager to communicate with other network nodes using the network link interface, and the replication manager to communicate with the memory storage device; wherein the replication managers for the at least two network nodes are adapted to; determine node ownership for data blocks to issue write memory block commands, each data block being owned by one node; and write a first data block using a first process at an owner node for the first data block and using a second process at non-owner nodes. - View Dependent Claims (25, 26, 27, 28)
-
Specification