System and method for a distributed object store
First Claim
1. A distributed computer system for storing data objects, comprising:
- a first index node for holding an index of a replicated data object, the index having information of the location of each replica of the replicated data object in the distributed computer system;
a data node for storing the replicated data object and for initiating rebuilding of the index for the replicated data object on a second index node when the first index node fails, the data node determining when the first index node fails from a configuration of operable index nodes and data nodes; and
a network operably coupled to the first index node and operably coupled to the data node for communicating a message including the configuration of operable index nodes and data nodes in the distributed computer system.
3 Assignments
0 Petitions
Accused Products
Abstract
An improved system and method for flexible object placement and soft-state indexing of objects in a distributed object store is provided. A distributed object store may be provided by a large number of system nodes operably coupled to a network. A system node provided may include an access module for communicating with a client, an index module for building an index of a replicated data object, a data module for storing a data object on a computer readable medium, and a membership and routing module for detecting the configuration of operable nodes in the distributed system. Upon failure of an index node, the failure may be detected at other nodes, including those nodes that store the replicas of the object. These nodes may then send new index rebuilding requests to a different node that may rebuild the index for servicing any access request to the object.
205 Citations
49 Claims
-
1. A distributed computer system for storing data objects, comprising:
-
a first index node for holding an index of a replicated data object, the index having information of the location of each replica of the replicated data object in the distributed computer system;
a data node for storing the replicated data object and for initiating rebuilding of the index for the replicated data object on a second index node when the first index node fails, the data node determining when the first index node fails from a configuration of operable index nodes and data nodes; and
a network operably coupled to the first index node and operably coupled to the data node for communicating a message including the configuration of operable index nodes and data nodes in the distributed computer system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 15)
-
-
8. A distributed computing system, comprising:
-
an index module for building an index of a replicated data object on a first system node;
a data module for storing the replicated data object on a computer storage medium and for initiating rebuilding of the index for the replicated data object on a second system node when the first system node fails, the data module determining when the first system node fails from a configuration of operable system nodes; and
a membership and routing module for detecting the configuration of operable system nodes in the distributed computer system and communicating the configuration of operable system nodes to the data module. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
16. A method in a distributed computer system for storing data objects, comprising the steps of:
-
storing a replicated data object on a computer storage medium;
building an index of a replicated data object in volatile memory of a first system node;
detecting that the first system node has failed;
determining a second system node for rebuilding of the index for the replicated data object; and
rebuilding of the index for the replicated data object in volatile memory of a second system node. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A method in a distributed computer system for storing data objects, comprising the steps of:
-
receiving a request for storing a replicated data object on a computer storage medium of a system node;
applying a policy to select the system nodes for storing replicas of the replicated data object;
creating the replicas of the replicated object on the system nodes selected; and
sending an indexing request to an index node for building an index for the replicated data object. - View Dependent Claims (27, 28, 29, 30, 31)
-
-
32. A method in a distributed computer system for storing data objects, comprising the steps of:
-
detecting a new computer storage medium added to the distributed computer system;
detecting new data objects on the new computer storage medium;
determining an index node for each new data object detected on the new computer storage medium; and
sending an indexing request to each index node determined for each new data object. - View Dependent Claims (33, 34, 35, 36)
-
-
37. A method in a distributed computer system for storing data objects, comprising the steps of:
-
receiving notification to initiate data repair on a replicated data object;
determining the number of replicas needed to be created for the distributed computer system to have the number of desired replicas for the replicated data object;
applying a policy to select the system nodes for storing the needed replicas of the replicated data object; and
instructing a subset of system nodes to send replicas of the replicated data object to the system nodes selected for storing the needed replicas. - View Dependent Claims (38, 39, 40, 41, 42, 43)
-
-
44. A method in a distributed computer system for checking out a data object, comprising the steps of:
-
receiving a request for checking out a replicated data object;
determining an index node having an index for the replicated object;
selecting a system node having a replica of the replicated data object;
routing the request to the selected system node for transferring a copy of the replicated data object to the requestor; and
transferring a copy of the replicated data object to the requestor.
-
-
45. A method in a distributed computer system for deleting a data object from a distributed object store, comprising the steps of:
-
receiving a request for deleting a replicated data object from a distributed object store;
determining an index node having an index for the replicated object;
selecting each system node having a replica of the replicated data object;
routing the deletion request to each selected system node for deleting the replicated data object stored thereon; and
deleting the replicated data object stored on each selected system node. - View Dependent Claims (46, 47, 48, 49)
-
Specification