Locating the latest version of replicated data files

US9135268B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9135268-B2
Application numberUS-65014709-A
CountryUS
Kind codeB2
Filing dateDec 30, 2009
Priority dateDec 30, 2009
Publication dateSep 15, 2015
Grant dateSep 15, 2015

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 list of servers known to a client is compared with lists of servers stored on the servers. An instance of content (e.g., a data file) can be accessed from a server on the list if at least a simple majority of the servers have the same version of the list.

First claim

Opening claim text (preview).

What is claimed is: 1. A non-transitory computer-readable storage medium that stores computer-executable instructions for causing a computer system to perform a method comprising: accessing a data structure stored on a client that identifies a current group of servers, wherein each server of said current group of servers stores at least one version of a file; accessing a first majority of said current group of servers, wherein each accessed server in said first majority stores a data structure that identifies a group of servers; identifying an updated group of servers, wherein identifying said updated group comprises determining that a majority of said first majority of servers store a data structure that identifies an identical group of servers; and accessing a version of said file stored on a server included in said first majority of servers after said updated group of servers is identified. 2. The non-transitory computer-readable storage medium of claim 1 wherein said method further comprises determining whether said version of said file on said server is at least as recent as any other version of said file stored on any other server of said first majority of servers. 3. The non-transitory computer-readable storage medium of claim 1 wherein said version of said file is indicated using a version number. 4. The non-transitory computer-readable storage medium of claim 1 wherein said version of said file is indicated using a time stamp. 5. The non-transitory computer-readable storage medium of claim 1 wherein said method further comprises computing a checksum for said file. 6. The non-transitory computer-readable storage medium of claim 1 wherein said current group of servers comprises a distributed file storage system and wherein said file comprises data. 7. A computer-implemented method for managing data, said method comprising: during a search for an updated list of servers that store a latest version of a file, accessing a data structure stored on a client that identifies a current group of servers, wherein each server of said current group of servers stores at least one version of a file; identifying an updated group of servers, wherein identifying said updated group comprises determining that a majority of said first majority of servers store a data structure that identifies an identical group of servers; propagating said search and said identifying said updated group through succeeding groups of servers upon determining that less than a majority of said first majority of servers store a data structure that identifies an identical group of servers, wherein each succeeding plurality of servers is selected based upon data structures identifying groups of servers stored on servers identified in a preceding phase of said search; and accessing a version of said file stored on a server included in said first majority of servers after said updated group of servers is identified. 8. The computer-implemented method of claim 7 wherein said propagating comprises: comparing data structures identifying groups of servers stored on said first majority of servers to identify which of said data structures stored on said first majority of servers is a most recent data structure; and selecting a data structure from said most recent data structure stored on said first majority of servers. 9. The computer-implemented method of claim 8 wherein said comparing further comprises: accessing a new group of servers included on a new data structure identifying said new group of servers stored on a computer system, each of said servers in said new group having stored thereon a data structure identifying a group of servers; accessing the data structures identifying groups of servers stored on said new group of servers; and accessing a version of a file comprising said data from a server in said latest group of servers if at least a majority of said data structures identifying groups of servers stored on said new group of servers are identical. 10. The computer-implemented method of claim 9 further comprising determining whether said version of said file on said server is at least as recent as any other version of said file stored on any other of said servers in said new group of servers. 11. The computer-implemented method of claim 7 wherein said version of said file is indicated using a version number. 12. The computer-implemented method of claim 7 wherein said version of said file is indicated using a time stamp. 13. The computer-implemented method of claim 7 further comprising computing a checksum of said data. 14. The computer-implemented method of claim 7 wherein said data is replicated on multiple servers, wherein each of said multiple servers is identified in said updated group of servers. 15. A computer system comprising: a processor; and memory coupled to said processor and having stored therein instructions that, if executed by said computer system, cause said computer system to execute a method of managing data, said method comprising: accessing a data structure stored on a client affiliated with a first data file, said data structure identifying a current group of servers on which replicas of said first data file are stored; attempting to write data to a set of said replicas stored on a subset of said current group of servers, wherein said attempting to write is successful only if said subset comprises at least a majority of said current group of servers; identifying a set of replicas that are successfully written to; affiliating a data structure that identifies an updated group of servers with said set of replicas that are successfully written to, wherein said data structure that identifies an updated group of servers and said replicas are stored on said updated group of servers; and attempting to read data from a replica stored on a server of said updated group of servers, wherein said read is permitted only if a majority of said set of replicas that are successfully written to are accessed during said attempting to read. 16. The computer system of claim 15 wherein said method further comprises associating version information with said replicas, wherein said version information comprises a version number. 17. The computer system of claim 15 wherein said method further comprises associating version information with said replicas, wherein said version information comprises a time stamp. 18. The computer system of claim 15 wherein said method further comprises computing a checksum for each of said replicas. 19. The computer system of claim 15 wherein said first plurality of servers comprises a distributed file storage system.

Assignees

Inventors

Classifications

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 US9135268B2 cover?
A list of servers known to a client is compared with lists of servers stored on the servers. An instance of content (e.g., a data file) can be accessed from a server on the list if at least a simple majority of the servers have the same version of the list.
Who is the assignee on this patent?
Dash Prasanta, Harmer Craig, Kher Vishal, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F16/182. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 15 2015 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).