×

Massively scalable object storage for storing object replicas

  • US 10,209,893 B2
  • Filed: 09/12/2017
  • Issued: 02/19/2019
  • Est. Priority Date: 03/08/2011
  • Status: Active Grant
First Claim
Patent Images

1. A method for locating objects on hosts in an online service with particular availability guarantees, the method comprising:

  • consulting by a director a multi-level ring structure including at least two levels, wherein a first level of the ring structure corresponds to hard constraints on the placement of objects, and a second level of the ring structure corresponds to soft constraints on the placement of objects, wherein the sum of the constraints controls the location of objects within the online service, wherein the satisfaction of at least one hard constraint is satisfied by identifying at least one diverse storage pool, and wherein at least one soft constraint is satisfied by identifying at least one durable storage location;

    wherein each diverse storage pool includes a set of non-co-located storage elements, wherein no storage element of a diverse storage pool overlaps with any other storage element in any other diverse storage pool, the diverse storage pools communicably coupled with each other, and with the director, the set number of diverse storage pools being at least equal to a given replication number greater than one;

    wherein each diverse storage pool includes a plurality of partitions, mapped onto the storage element of the diverse storage pool, each partition being associated with a distinct durable storage location managed by at least one local processor operably connected to a local communications port,receiving from the director a selected set of distinct partitions, the cardinality of the set at least equal to the given replication number, wherein each distinct durable storage location is compliant with at least one hard constraint and one soft constraint, the contents of the selected set being deterministic relative to a selection key;

    and effecting a change in an object located at a distinct durable storage location in the selected set by interacting with the local processor associated with the selected location;

    the effected change selected from a set of operations including reading, writing, creating, deleting, and executing.

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