Recovery and replication of a flash memory-based object store
First Claim
1. A method performed at cluster of nodes that includes a first node and a second node, the first node having experienced a failure and the second node including a replica of a state of the first node prior to the failure, the method comprising:
- at the second node;
replicating to the first node a plurality of requests to modify data stored in a first data store of the second node; and
performing, in parallel with the replication of the plurality of requests to modify data stored in the first data store, a bulk copy operation to copy data stored in the first data store to a second data store of the first node;
wherein;
the second data store is partitioned into a plurality of logical object containers, each logical object container being configured to store a group of objects, each object in the group of objects being within a corresponding predefined size range; and
said replicating and bulk copy operations both include writing respective objects to respective logical object containers in the plurality of logical object containers in accordance with the size of each respective object.
4 Assignments
0 Petitions
Accused Products
Abstract
Approaches for recovering nodes and adding new nodes to object stores maintained on one or more solid state devices. At a surviving node, in a cluster of nodes, replicating, to a recovering node in the cluster of nodes, all requests to modify data stored in a first data store thereon that are received by the surviving node. The surviving node performing a bulk copy operation to copy data, stored in the first data store, to a second data store maintained on the recovering node. The surviving node (a) replicates all requests to modify data received by the surviving node and (b) performs a bulk copy operation in parallel.
190 Citations
20 Claims
-
1. A method performed at cluster of nodes that includes a first node and a second node, the first node having experienced a failure and the second node including a replica of a state of the first node prior to the failure, the method comprising:
-
at the second node; replicating to the first node a plurality of requests to modify data stored in a first data store of the second node; and performing, in parallel with the replication of the plurality of requests to modify data stored in the first data store, a bulk copy operation to copy data stored in the first data store to a second data store of the first node; wherein; the second data store is partitioned into a plurality of logical object containers, each logical object container being configured to store a group of objects, each object in the group of objects being within a corresponding predefined size range; and said replicating and bulk copy operations both include writing respective objects to respective logical object containers in the plurality of logical object containers in accordance with the size of each respective object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer readable storage medium storing instructions for recovering a first node of a cluster of nodes that includes the first node and a second node, the first node having experienced a failure and the second node including a replica of a state of the first node prior to the failure, the instructions when executed by one or more processors causing the cluster of nodes to:
-
at the second node; replicate to the first node a plurality of requests to modify data stored in a first data store of the second node; and perform, in parallel with the replication of the plurality of requests to modify data stored in the first data store, a bulk copy operation to copy data stored in the first data store to a second data store of the first node; wherein; the second data store is partitioned into a plurality of logical object containers, each logical object container being configured to store a group of objects, each object in the group of objects being within a corresponding predefined size range; and said replicating and bulk copy operations both include writing respective objects to respective logical object containers in the plurality of logical object containers in accordance with the size of each respective object. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification