Location assignment daemon (LAD) for a distributed storage system

US9317524B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9317524-B2
Application numberUS-201414538716-A
CountryUS
Kind codeB2
Filing dateNov 11, 2014
Priority dateFeb 9, 2010
Publication dateApr 19, 2016
Grant dateApr 19, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system and method for generating replication requests for objects in a distributed storage system is provided. For a respective object in a distributed storage system the following is performed. Replication policies for the object that have not been satisfied are determined. Replication requests are ranked for the object whose replication policies have not been satisfied based on a number of replicas of the object that need to be created in order to satisfy the replication policies for the object. Replication requests are generated for the object based at least in part on the replication policies for the object that have not been satisfied and on a current state of the distributed storage system. At least a subset of the replication requests for the objects in the distributed storage system are distributed to respective instances of the distributed storage system corresponding to the replication requests for execution.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for generating replication requests for objects in a distributed storage system, comprising: at a computer system including one or more processors and memory storing one or more programs for execution by the one or more processors: storing a plurality of objects in the distributed storage system, wherein each object has an associated replication policy that specifies a desired number of replicas of the respective object and specifies desired storage device types on which the replicas of the respective object are to be stored; identifying a plurality of objects in the distributed storage system whose associated replication policies have not been satisfied; ranking replication requests for the objects whose replication policies have not been satisfied based on respective numbers of replicas of the respective objects object that need to be created in order to satisfy the replication policies for the objects; and generating replication requests for the identified plurality of objects based on the associated replication policies for the objects that have not been satisfied and on a current state of the distributed storage system, wherein each respective replication request for a respective object instructs a respective instance of the distributed storage system to replicate the respective object so as to better satisfy the respective replication policy associated with the respective object; and distributing at least a subset of the replication requests for the objects in the distributed storage system to respective instances of the distributed storage system corresponding to the replication requests, for execution at the respective instances. 2. The method of claim 1 , wherein prior to the distributing the method further comprises: partitioning the replication requests into groups of respective replication requests corresponding to respective instances of the distributed storage system at which respective predetermined actions of the respective replication requests are to be performed; calculating priorities of the replication requests; and for a respective group of replication requests, sorting the replication requests in the group of replication requests by priority to produce a sorted group of replication requests. 3. The method of claim 2 , wherein calculating a priority of a respective replication request includes calculating the priority of the respective replication request as a difference between a metric corresponding to a benefit of performing the respective replication request and a metric corresponding to a cost of performing the respective replication request. 4. The method of claim 1 , wherein prior to the distributing the method further comprises determining which replication requests can be completed within a predetermined time interval. 5. The method of claim 4 , further comprising discarding replication requests that cannot be completed within the predetermined time interval. 6. The method of claim 1 , wherein the current state of the distributed storage system includes: a current network state; current user quotas for storage space in the distributed storage system; storage space in the distributed storage system that is currently used by users; current storage space available at instances of the distributed storage system; current statuses of replication queues at instances of the distributed storage system; current planned maintenance operations zones; and a list of current replicas of objects in the distributed storage system. 7. The method of claim 1 , wherein each replication policy for an object includes criteria selected from the group consisting of: a desired minimum number of replicas of the object in the distributed storage system; a desired maximum number of replicas of the object in the distributed storage system; storage device types on which replicas of the object are to be stored; instances at which replicas of the object may be stored; instances at which replicas of the object may not be stored; and a range of ages for the object during which the replication policy for the object applies. 8. The method of claim 1 , wherein generating the replication requests is further based in part on costs and benefits for performing the replication requests. 9. The method of claim 1 , wherein replication requests are distributed to a replication queue in a respective instance of the distributed storage system. 10. A system for generating replication requests for objects in a distributed storage system, comprising: one or more processors; memory; and one or more programs stored in the memory, the one or more programs comprising instructions for: storing a plurality of objects in the distributed storage system, wherein each object has an associated replication policy that specifies a desired number of replicas of the respective object and specifies desired storage device types on which the replicas of the respective object are to be stored; identifying a plurality of objects in the distributed storage system whose associated replication policies have not been satisfied; ranking replication requests for the objects whose replication policies have not been satisfied based on respective numbers of replicas of the respective objects that need to be created in order to satisfy the replication policies for the objects; and generating replication requests for the identified plurality of objects based on the associated replication policies for the objects that have not been satisfied and on a current state of the distributed storage system, wherein each respective replication request for a respective object instructs a respective instance of the distributed storage system to replicate the respective object so as to better satisfy the respective replication policy associated with the respective object; and distributing at least a subset of the replication requests for the objects in the distributed storage system to respective instances of the distributed storage system corresponding to the replication requests, for execution at the respective instances. 11. The system of claim 10 , wherein the one or more programs further comprise instructions that execute prior to the distributing, thereby: partitioning the replication requests into groups of respective replication requests corresponding to respective instances of the distributed storage system at which respective predetermined actions of the respective replication requests are to be performed; calculating priorities of the replication requests; and for a respective group of replication requests, sorting the replication requests in the group of replication requests by priority to produce a sorted group of replication requests. 12. The system of claim 11 , wherein the instructions for calculating a priority of a respective replication request include instructions for calculating the priority of the respective replication request as a difference between a metric corresponding to a benefit of performing the respective replication request and a metric corresponding to a cost of performing the respective replication request. 13. The system of claim 11 , wherein the one or more programs further comprise instructions that execute prior to the distributing, thereby determining which replication requests can be completed within a predetermined time interval. 14. The system of claim 13 , wherein the one or more program further comprise instructions for discarding replication requests that cannot be completed within the predetermined time interval. 15. The system of claim 10 ,

Assignees

Inventors

Classifications

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · CPC title

  • Physics · mapped topic

  • Program control for peripheral devices (G06F13/14 - G06F13/42 take precedence) · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9317524B2 cover?
A system and method for generating replication requests for objects in a distributed storage system is provided. For a respective object in a distributed storage system the following is performed. Replication policies for the object that have not been satisfied are determined. Replication requests are ranked for the object whose replication policies have not been satisfied based on a number of …
Who is the assignee on this patent?
Google Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/1095. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 19 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).