×

Dynamic object replication within a distributed storage system

  • US 7,778,972 B1
  • Filed: 03/08/2006
  • Issued: 08/17/2010
  • Est. Priority Date: 12/29/2005
  • Status: Expired due to Fees
First Claim
Patent Images

1. A system, comprising:

  • a plurality of computing nodes, each computing node comprising at least one processor and memory, wherein the plurality of computing nodes is configured to implement;

    a web services interface configured to present a data storage web service to clients, wherein said data storage web service includes one or more web services endpoints, wherein each web services endpoint of the one or more web services endpoints is addressable by ones of said clients to receive, according to a web services protocol, client requests to store data objects supplied by said clients within said data storage web service, wherein said client requests include a given client request to store a given one of said data objects;

    a plurality of storage nodes configured to store replicas of said data objects;

    storage node selection logic configured to dynamically determine a write plan for storing one or more replicas of said given data object to one or more corresponding ones of said plurality of storage nodes, wherein a plurality of distinct storage policies defined within said data storage web service are applicable to said given data object;

    wherein said write plan is dynamically determined according to current state information of said plurality of storage nodes, wherein to dynamically determine said write plan, said storage node selection logic is further configured to select said one or more corresponding ones of said plurality of storage nodes such that a number of said plurality of storage policies satisfied by storing said one or more replicas of said given data object according to said write plan is maximized, and such that on at least some occasions of dynamically determining said write plan, at least two of said storage policies are satisfied by said write plan;

    wherein a number of storage policies that are satisfiable by said write plan differs on different occasions of dynamically determining said write plan, dependent upon said current state information of said plurality of storage nodes; and

    a coordinator configured to receive said client requests to store data objects from said web services interface, wherein in response to said given client request, said coordinator is configured to store said one or more replicas of said given data object to said one or more corresponding storage nodes according to said write plan.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×