Storing data in distributed systems

US10798168B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10798168-B2
Application numberUS-201816227611-A
CountryUS
Kind codeB2
Filing dateDec 20, 2018
Priority dateJun 20, 2016
Publication dateOct 6, 2020
Grant dateOct 6, 2020

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.

One example method includes receiving, by the one or more processors, a request to update data stored on a distributed data storage system that comprises a primary server and a plurality of secondary servers, the request comprising data updates; sending, by the one or more processors, an update log instruction to the primary server and the plurality of secondary servers so that each of the primary server and the plurality of secondary servers records a log associated with the request; determining, by the one or more processors, that the log has been recorded; and in response to determining that the log has been recorded, sending, by the one or more processors, a data storage instruction to the primary server and a secondary server of the plurality of secondary servers so that each of the primary server and the secondary server stores the data updates.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method executed by one or more processors, the method comprising: receiving, by the one or more processors, a request to update data stored on a distributed data storage system that comprises a primary server and a plurality of secondary servers, the request comprising data updates, the primary server being randomly selected; sending, by the one or more processors, an update log instruction to the primary server and the plurality of secondary servers, wherein at least one of the primary server and the plurality of secondary servers records a log associated with the request; determining, by the one or more processors, that a log operation was completed, wherein the log has been recorded by the primary server; in response to determining that the log operation was completed by the primary server, randomly selecting, by the one or more processors, one of the plurality of secondary servers as a first secondary server of the plurality of secondary servers; sending, by the one or more processors, a data storage instruction to the primary server and the first secondary server of the plurality of secondary servers wherein each of the primary server and the first secondary server stores the data updates; and sending, by the one or more processors, a null-operation instruction to a second secondary server, wherein the null-operation instruction is used to instruct the second secondary server to perform no operation with respect to the data updates to reduce a number of copies of the data updates. 2. The computer-implemented method of claim 1 , further comprising: receiving, by the one or more processors, a user input comprising a service request; generating, by the one or more processors, a service response to the service request and subsequent to generating the service response, receiving, by the one or more processors, the request to update the data stored on the distributed data storage system. 3. The computer-implemented method of claim 1 , wherein at least one secondary server of the plurality of secondary servers is predetermined as being the second secondary server. 4. The computer-implemented method of claim 1 , wherein the primary server is in communication with an external computing device to perform external read or write operations associated with the data updates. 5. The computer-implemented method of claim 1 , wherein the null-operation instruction instructs the second secondary server to cancel storage of the data updates. 6. The computer-implemented method of claim 1 , comprising: determining that the primary server or the first secondary server has failed. 7. The computer-implemented method of claim 6 , further comprising: in response to determining that the primary server or the first secondary server has failed, sending a data synchronization instruction to a third secondary server, wherein the third secondary server synchronizes with the primary server or the first secondary server that has not failed, to store the data updates. 8. The computer-implemented method of claim 1 , further comprising: determining that the second secondary server other than the first secondary server has failed; and sending a log synchronization instruction to a third server so that the third server synchronizes with the primary server or one secondary server of the plurality of secondary servers that has not failed, to record the log. 9. A non-transitory computer-readable storage medium coupled to one or more computers and configured with instructions executable by the one or more computers to: receive a request to update data stored on a distributed data storage system that comprises a primary server and a plurality of secondary servers, the request comprising data updates, the primary server being randomly selected; send an update log instruction to the primary server and the plurality of secondary servers, wherein at least one of the primary server and the plurality of secondary servers records a log associated with the request; determine that a log operation was completed, wherein the log has been recorded by the primary server; in response to determining that the log operation was completed by the primary server, randomly selecting, by the one or more computers, one of the plurality of secondary servers as a first secondary server of the plurality of secondary servers; send a data storage instruction to the primary server and the first secondary server of the plurality of secondary servers, wherein each of the primary server and the first secondary server stores the data updates; and send a null-operation instruction to a second secondary server, wherein the null-operation instruction is used to instruct the second secondary server to perform no operation with respect to the data updates to reduce a number of copies of the data updates. 10. The non-transitory computer-readable storage medium of claim 9 , further comprising: receiving a user input comprising a service request; generating a service response to the service request; and subsequent to generating the service response, receiving the request to update the data stored on the distributed data storage system. 11. The non-transitory computer-readable storage medium of claim 9 , wherein at least one secondary server of the plurality of secondary servers is predetermined as being the second secondary server. 12. The non-transitory computer-readable storage medium of claim 9 , wherein the primary server is in communication with an external computing device to perform external read or write operations associated with the data updates. 13. The non-transitory computer-readable storage medium of claim 9 , wherein the null-operation instruction instructs the second secondary server to cancel storage of the data updates. 14. The non-transitory computer-readable storage medium of claim 9 , wherein the secondary server is a first secondary server, and the medium is further configured with instructions executable by the one or more computers to: determine that the primary server or the first secondary server has failed. 15. The non-transitory computer-readable storage medium of claim 14 , wherein the medium is further configured with instructions executable by the one or more computers to: in response to determining that the primary server or the first secondary server has failed, sending a data synchronization instruction to a third secondary server, wherein the third secondary server synchronizes with the primary server or the first secondary server that has not failed, to store the data updates. 16. The non-transitory computer-readable storage medium of claim 9 , wherein the secondary server is a first secondary server, and the medium further configured with instructions executable by the one or more computers to: determine that the second secondary server other than the first secondary server has failed; and send a log synchronization instruction to a third server so that the third server synchronizes with the primary server or one secondary server of the plurality of secondary servers that has not failed, to record the log. 17. A system, comprising: one or more computers; and one or more computer-readable memories coupled to the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions executable by the one or more computers to: receive a request to update data stored on a distributed data storage system that comprises a primary server and a plurality of secondary servers, the request comprising data u

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

  • G06F16/182Primary

    Distributed file systems · CPC title

  • Decision processes by autonomous network management units using voting and bidding · CPC title

  • Active fault masking without idle spares · CPC title

  • Updates performed during online database operations; commit processing · CPC title

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 US10798168B2 cover?
One example method includes receiving, by the one or more processors, a request to update data stored on a distributed data storage system that comprises a primary server and a plurality of secondary servers, the request comprising data updates; sending, by the one or more processors, an update log instruction to the primary server and the plurality of secondary servers so that each of the prim…
Who is the assignee on this patent?
Alibaba Group Holding Ltd
What technology area does this patent fall under?
Primary CPC classification H04L67/1097. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Oct 06 2020 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).