US20110055156A1

Method for efficient storage node replacement

Claim Score by NHIP

Read claim 1, the broadest

Abstract

Methods and apparatus are described for a horizontally scalable high performance object storage architecture. Metadata are completely decoupled from object storage. Instead of file names, users are given a locator when the object is uploaded and committed. Users can store the locator along with their own metadata or embed it directly in the static content. Clients can choose which storage nodes to store data on based on dynamic measures of node performance. Since there is no coupling among storage servers, performance can scale horizontally by adding more nodes. The decoupling also allows the front end services and storage to scale independently. High service availability is achieved by object-level synchronous replication and having no single point of failure. Failed nodes are rebuilt using copies of data in other nodes without taking the cluster offline. In addition to the replication, the ability to add or remove nodes on-line reduces maintenance-related service downtime.

US20110055156A1, drawing sheet 1
Sheet 1 of 8

Term

Projected expiry 19 June 2030.

  1. Priority and filed
  2. Published
  3. Today
  4. Projected expiry

12 claims: 3 independent, 9 dependent

  1. 1
    Broadest claimClaim Score 54, average(NHIP)A method for recreating a first storage node in a cluster comprising a plurality of storage nodes, the method comprising:creating a replica chain for each object stored in the storage cluster, the replica chain indicating selected nodes in the cluster storing replicas of the object, the replica chain further identifying a storage address of the object on each selected node, wherein each selected node has a designated source node in the replica chain;identifying objects replicated on the first storage node with reference to others of the plurality of storage nodes and without reference to the first storage node;recreating each of the identified objects on a second storage node with reference to the other storage nodes and without reference to the first storage node, wherein each identified object is copied from the designated source node for the object on the first storage node among the other storage nodes according to the replica chain for the identified object;and designating the second storage node as the replacement node for the first storage node.
  2. 5
    A system for recreating a first storage node in a cluster comprising a plurality of storage nodes, the system comprising one or more computing devices comprising a processor, a memory, and a network interface attached to a network, the one or more computing devices configured to:create a replica chain for each object stored in the storage cluster, the replica chain indicating selected nodes in the cluster storing replicas of the object, the replica chain further identifying a storage address of the object on each selected node, wherein each selected node has a designated source node in the replica chain;identify objects replicated on the first storage node with reference to others of the plurality of storage nodes in the cluster and without reference to the first storage node;recreate each of the identified objects on a second storage node with reference to the other storage nodes and without reference to the first storage node, wherein each identified object is copied from the designated source node for the object among the other storage nodes according to the replica chain for the identified object;and designate the second storage node as the replacement node for the first storage node.
  3. 9
    A computer program product for recreating a first storage node in a cluster comprising a plurality of storage nodes, the system comprising at least one computer-readable medium having computer instructions stored therein which are configured to cause a computing device to:create a replica chain for each object stored in the storage cluster, the replica chain indicating selected nodes in the cluster storing replicas of the object, the replica chain further identifying a storage address of the object on each selected node, wherein each selected node has a designated source node in the replica chain;identify objects replicated on the first storage node with reference to others of the storage nodes in the cluster and without reference to the first storage node;recreate each of the identified objects on a second storage node with reference to the other storage nodes and without reference to the first storage node, wherein each identified object is copied from the designated source node for the object among the other storage nodes according to the replica chain for the identified object;and designate the second storage node as the replacement node for the first storage node.