Synchronization of metadata in a distributed storage system

US11934356B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11934356-B2
Application numberUS-202217708312-A
CountryUS
Kind codeB2
Filing dateMar 30, 2022
Priority dateDec 7, 2017
Publication dateMar 19, 2024
Grant dateMar 19, 2024

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 client machine writes to and reads from a virtual disk on a remote storage platform. Metadata is generated and stored in replicas on different metadata nodes of the storage platform. A modified log-structured merge tree is used to store and compact string-sorted tables of metadata. During file storage and compaction, a consistent file identification scheme is used across all metadata nodes. A fingerprint file is calculated for each SST (metadata) file on disk that includes hash values corresponding to regions of the SST file. To synchronize, the fingerprint files of two SST files are compared, and if any hash values are missing from a fingerprint file, then the key-value-timestamp triples corresponding to these missing hash values are sent to the SST file that is missing them. The SST file is compacted with the missing triples to create a new version of the SST file. The synchronization is bi-directional.

First claim

Opening claim text (preview).

We claim: 1. A system comprising: a plurality of computer nodes, wherein each computer node in the plurality of computer nodes comprises at least one hardware processor and one or more data storage drives, wherein a first computer node among the plurality of computer nodes is configured to: retrieve, from one of the plurality of computer nodes, a first fingerprint file that includes a plurality of first hash values, wherein each first hash value in the plurality of first hash values corresponds to a first region of a first metadata file stored at the first computer node among the plurality of computer nodes, wherein the first metadata file includes a first plurality of key-value-timestamp triples each of which comprises a portion of metadata that pertains to particular data that was stored into a computer node among the plurality of computer nodes of the system, and wherein each first region of the first metadata file comprises at least part of a key-value-timestamp triple among the first plurality of key-value-timestamp triples; identify a second metadata file as a replica of the first metadata file, wherein the second metadata file is stored at a second computer node among the plurality of computer nodes, wherein the second metadata file includes a second plurality of key-value-timestamp triples each of which comprises a portion of metadata that pertains to the particular data that was stored into a computer node among the plurality of computer nodes; retrieve, from one of the plurality of computer nodes, a second fingerprint file that includes a plurality of second hash values, wherein each second hash value corresponds to a second region of the second metadata file, and wherein each second region of the second metadata file comprises at least part of a key-value-timestamp triple among a second plurality of key-value-timestamp triples in the second metadata file; compare the plurality of first hash values with the plurality of second hash values; determine that the plurality of second hash values lacks at least one first hash value that is present in the plurality of first hash values, wherein the first metadata file comprises at least one key-value-timestamp triple that corresponds to the at least one first hash value lacking from the plurality of second hash values; cause the second metadata file to be updated with the at least one key-value-timestamp triple that corresponds to the at least one first hash value lacking from the plurality of second hash values; and wherein one or more of the first computer node and the second computer node is configured to: determine whether all second hash values in the plurality of second hash values are present among the plurality of first hash values. 2. The system of claim 1 , wherein one or more of the first computer node and the second computer node is configured to: determine that the plurality of first hash values lacks at least one second hash value that is present in the plurality of second hash values, wherein the second metadata file comprises at least one key-value-timestamp triple that corresponds to the at least one second hash value lacking from the plurality of first hash values; and cause the first metadata file to be updated with the at least one key-value-timestamp triple that corresponds to the at least one second hash value lacking from the plurality of first hash values. 3. The system of claim 2 , wherein updating of the first metadata file and updating of the second metadata file synchronizes bi-directionally, between the first computer node and the second computer node, metadata that pertains to the particular data. 4. The system of claim 1 , wherein the at least one first hash value lacking from the plurality of second hash values corresponds to at least one missing region of the second metadata file. 5. The system of claim 1 , wherein the second computer node is configured to create a new version of the second metadata file by compacting the second metadata file as updated with the at least one key-value-timestamp triple that corresponds to the at least one first hash value lacking from the plurality of second hash values. 6. The system of claim 1 , wherein the first metadata file and the second metadata file are located on different computer nodes among the plurality of computer nodes, and wherein the first metadata file and the second metadata file have a same file identifier, and wherein the same file identifier indicates that the second metadata file is a replica of the first metadata file. 7. The system of claim 1 , wherein the particular data was stored into a given computer node among the plurality of computer nodes, wherein the given computer node is associated with the first metadata file; wherein the particular data was also stored into an other computer node among the plurality of computer nodes, wherein the other computer node is associated with the second metadata file; and wherein the first computer node is distinct from the given computer node and does not comprise the particular data. 8. The system of claim 1 , wherein the first fingerprint file and the second fingerprint file are retrieved from a same computer node among the plurality of computer nodes. 9. The system of claim 1 , wherein each first hash value is part of a start-length-hash value triple that uniquely corresponds to a first region of the first metadata file as stored on a data storage drive at the first computer node. 10. The system of claim 1 , wherein the first metadata file is organized as a string-sorted-table (SST) comprising the first plurality of key-value-timestamp triples sorted by key; and wherein the second metadata file is organized as a string-sorted-table (SST) comprising the second plurality of key-value-timestamp triples sorted by key. 11. A system comprising: a plurality of computer nodes, wherein each computer node in the plurality of computer nodes comprises at least one hardware processor and one or more data storage drives, wherein a first computer node among the plurality of computer nodes is configured to: retrieve a plurality of first hash values from a first fingerprint file, wherein each first hash value is part of a start-length-hash value triple that uniquely corresponds to a first region of a first metadata file, which is stored at the first computer node among the plurality of computer nodes, wherein the first metadata file includes a first plurality of key-value-timestamp triples each of which comprises a portion of metadata that pertains to particular data that was stored into a computer node among the plurality of computer nodes of the system, and wherein each first region of the first metadata file comprises at least part of a key-value-timestamp triple among the first plurality of key-value-timestamp triples; determine that a second metadata file is a replica of the first metadata file, wherein the second metadata file is stored at a second computer node among the plurality of computer nodes, wherein the second metadata file includes a second plurality of key-value-timestamp triples each of which comprises a portion of metadata that pertains to the particular data that was stored into a computer node among the plurality of computer nodes; retrieve a plurality of second hash values from a second fingerprint file, wherein each second hash value corresponds to a second region of the second metadata file, wherein each second hash value is part of a start-length-hash value triple that uniquely corresponds to a second region of the second metadata file as stored on a data storage drive at a second computer node among the plurality of computer nodes, and wherein each second region of the s

Assignees

Inventors

Classifications

  • G06F16/178Primary

    Techniques for file synchronisation in file systems · CPC title

  • for networked environments · CPC title

  • Hash-based (content-based indexing of textual data G06F16/31) · CPC title

  • using data annotations, e.g. user-defined metadata · CPC title

  • Distributed queries · 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 US11934356B2 cover?
A client machine writes to and reads from a virtual disk on a remote storage platform. Metadata is generated and stored in replicas on different metadata nodes of the storage platform. A modified log-structured merge tree is used to store and compact string-sorted tables of metadata. During file storage and compaction, a consistent file identification scheme is used across all metadata nodes. A…
Who is the assignee on this patent?
Commvault Systems Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/178. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 19 2024 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).