Using erasure coding across multiple regions to reduce the likelihood of losing objects maintained in cloud object storage

US11544147B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11544147-B2
Application numberUS-202016882338-A
CountryUS
Kind codeB2
Filing dateMay 22, 2020
Priority dateMay 22, 2020
Publication dateJan 3, 2023
Grant dateJan 3, 2023

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.

Techniques for using erasure coding across multiple regions to reduce the likelihood of losing objects in a cloud object storage platform are provided. In one set of embodiments, a computer system can upload each of a plurality of data objects to each of a plurality of regions of the cloud object storage platform. The computer system can further compute a parity object based on the plurality of data objects, where the parity object encodes parity information for the plurality of data objects. The computer system can then upload the parity object to another region of the cloud object storage platform different from the plurality of regions.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: uploading, by a computer system, each of a plurality of data objects to each of a plurality of regions of a cloud object storage platform; computing, by the computer system, a parity object based on the plurality of data objects, the parity object encoding parity information for the plurality of data objects; and uploading, by the computer system, the parity object to another region of the cloud object storage platform different from the plurality of regions, wherein metadata for the plurality of data objects is maintained in a metadata database that resides solely at a first region of the cloud object storage platform, and wherein the plurality of data objects are garbage collected in a manner that avoids transferring data content of the plurality of data objects across the plurality of regions. 2. The method of claim 1 further comprising: attempting to read a data object in the plurality of data objects from the region of the cloud object storage platform to which the data object was uploaded; and if the read attempt fails: reading other data objects in the plurality of data objects from the regions to which the other data objects was uploaded; reading the parity object from said another region; reconstructing the data object based on the other data objects and the parity object. 3. The method of claim 1 wherein object failures within each of the plurality of regions are correlated. 4. The method of claim 1 wherein object failures across the plurality of regions are independent. 5. The method of claim 1 wherein a master garbage collector component runs at the first region, and wherein the master garbage collector component: identifies, by accessing the metadata database, at least one data object in the plurality of data objects as a candidate for garbage collection; and transmits, to a slave garbage collector component running at a second region where the at least one data object was uploaded, a command to garbage collect the candidate data object. 6. The method of claim 5 wherein the master garbage collector component further: receives, from the slave garbage collector component, a list of logical data block numbers included in the candidate data object; determines, by accessing the metadata database, a range of live data blocks in the candidate data object; transmits the range of live data blocks to the slave garbage collector component; receives a garbage collection acknowledgment from the slave garbage collector component; and in response to receiving the garbage collection acknowledgment, causes the candidate data object to be deleted. 7. A non-transitory computer readable storage medium having stored thereon program code executable by a computer system, the program code embodying a method comprising: uploading each of a plurality of data objects to each of a plurality of regions of a cloud object storage platform; computing a parity object based on the plurality of data objects, the parity object encoding parity information for the plurality of data objects; and uploading the parity object to another region of the cloud object storage platform different from the plurality of regions, wherein metadata for the plurality of data objects is maintained in a metadata database that resides solely at a first region of the cloud object storage platform, and wherein the plurality of data objects are garbage collected in a manner that avoids transferring data content of the plurality of data objects across the plurality of regions. 8. The non-transitory computer readable storage medium of claim 7 wherein the method further comprises: attempting to read a data object in the plurality of data objects from the region of the cloud object storage platform to which the data object was uploaded; and if the read attempt fails: reading other data objects in the plurality of data objects from the regions to which the other data objects was uploaded; reading the parity object from said another region; reconstructing the data object based on the other data objects and the parity object. 9. The non-transitory computer readable storage medium of claim 7 wherein object failures within each of the plurality of regions are correlated. 10. The non-transitory computer readable storage medium of claim 7 wherein object failures across the plurality of regions are independent. 11. The non-transitory computer readable storage medium of claim 7 wherein a master garbage collector component runs at the first region, and wherein the master garbage collector component: identifies, by accessing the metadata database, at least one data object in the plurality of data objects as a candidate for garbage collection; and transmits, to a slave garbage collector component running at a second region where the at least one data object was uploaded, a command to garbage collect the candidate data object. 12. The non-transitory computer readable storage medium of claim 11 wherein the master garbage collector component further: receives, from the slave garbage collector component, a list of logical data block numbers included in the candidate data object; determines, by accessing the metadata database, a range of live data blocks in the candidate data object; transmits the range of live data blocks to the slave garbage collector component; receives a garbage collection acknowledgment from the slave garbage collector component; and in response to receiving the garbage collection acknowledgment, causes the candidate data object to be deleted. 13. A computer system comprising: a processor; and a non-transitory computer readable medium having stored thereon program code that, when executed, causes the processor to: upload each of a plurality of data objects to each of a plurality of regions of a cloud object storage platform; compute a parity object based on the plurality of data objects, the parity object encoding parity information for the plurality of data objects; and upload the parity object to another region of the cloud object storage platform different from the plurality of regions, wherein metadata for the plurality of data objects is maintained in a metadata database that resides solely at a first region of the cloud object storage platform, and wherein the plurality of data objects are garbage collected in a manner that avoids transferring data content of the plurality of data objects across the plurality of regions. 14. The computer system of claim 13 wherein the program code further causes the processor to: attempt to read a data object in the plurality of data objects from the region of the cloud object storage platform to which the data object was uploaded; and if the read attempt fails: read other data objects in the plurality of data objects from the regions to which the other data objects was uploaded; read the parity object from said another region; reconstruct the data object based on the other data objects and the parity object. 15. The computer system of claim 13 wherein object failures within each of the plurality of regions are correlated. 16. The computer system of claim 13 wherein object failures across the plurality of regions are independent. 17. The computer system of claim 13 wherein a master garbage collector component runs at the first region, and wherein the master garbage collector component: identifies, by accessing the metadata database, at least one data object in the plurality of data objects as a candidate for garbage collection; and transmits,

Assignees

Inventors

Classifications

  • Reconstruction on already foreseen single or plurality of spare disks · CPC title

  • Delete operations (erasing in storage systems G06F3/0652) · CPC title

  • File meta data generation · CPC title

  • by exceeding a count or rate limit, e.g. word- or bit count limit · CPC title

  • Garbage collection, i.e. reclamation of unreferenced memory · 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 US11544147B2 cover?
Techniques for using erasure coding across multiple regions to reduce the likelihood of losing objects in a cloud object storage platform are provided. In one set of embodiments, a computer system can upload each of a plurality of data objects to each of a plurality of regions of the cloud object storage platform. The computer system can further compute a parity object based on the plurality of…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/1088. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 03 2023 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).