Providing custom read consistency of a data object in a distributed storage system

US11360955B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11360955-B2
Application numberUS-201815934353-A
CountryUS
Kind codeB2
Filing dateMar 23, 2018
Priority dateMar 23, 2018
Publication dateJun 14, 2022
Grant dateJun 14, 2022

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.

In various example embodiments, a system and method for versioning data in an unstructured data store are presented. The method includes generating a first record in the unstructured data store based on a version of a second record in the unstructured data store. The method further includes initializing a parent version identifier of the first record based on the version of the second record. The method further includes comparing the parent version identifier of the first record to a version identifier of the second record. The method further includes determining whether the first record is consistent based on the comparison.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of versioning data in an unstructured data store, the method comprising: generating a first record in the unstructured data store by augmenting data stored in a second record in the unstructured data store with additional data such that the first record includes both the data stored in the second record and the additional data that is not stored in the second record, the first record stored in a child node of the unstructured data store and the second record stored in a parent node of the unstructured data store; in response to a request to retrieve the first record, determining whether the first record is not consistent with the second record by: traversing the parent node and the child node in the unstructured data store; comparing a parent version identifier associated with the first record stored in the child node to a version identifier associated with the second record stored in the parent node; and determining that the first record is not consistent with the second record based on the parent version identifier associated with the first record stored in the child node not matching the version identifier associated with the second record stored in the parent node; in response to determining that the first record is not consistent with the second record, retrieving a latest version of the second record, updating the first record stored in the child node by executing one or more operations using the retrieved latest version of the second record to generate an updated version of the first record, and updating the parent version identifier associated with the first record stored in the child node; and providing data aggregated from the latest version of the second record and the updated version of the first record in reply to the request, wherein the first record is associated with the parent version identifier, a node version identifier, and an update criteria comprising one or more rules or conditions for triggering an update of the child node in response to a change in data managed by the parent node, and wherein the parent version identifier, the node version identifier, and the update criteria are stored in the child node. 2. The method of claim 1 , further comprising: receiving a data update event broadcast from the second record to the first record: and updating the first record in response to: the determination that the first record is not consistent with the second record, and a determination that the update criteria applied to the data update event is satisfied. 3. The method of claim 2 , further comprising updating the first record with data derived from the data currently stored in the second record and updating a version identifier of the first record to a current version identifier of the second record. 4. The method of claim 3 , wherein the data update event is broadcast by the second record to one or more child records in response to an update to the second record. 5. The method of claim 1 , further comprising refraining from updating the first record in response to a determination that the first record is consistent with the second record. 6. The method of claim 1 , further comprising: determining that the first record is consistent with the second record by determining that the first record is updated with a most recent version of the second record that satisfies the update criteria. 7. The method of claim 1 , further comprising: receiving, from a shared communication channel, a data update event indicating that the second record was updated; applying the update criteria associated with the first record to the data update event; updating the first record in response to determining that the update criteria is satisfied; and transmitting a second data update event to a third record indicating that the first record was updated. 8. The method of claim 1 , wherein the determining whether the first record is not consistent with the second record comprises determining whether the second record was generated from a most recent version of the second record. 9. A system for versioning data in an unstructured data store, the system comprising: at least one computing device comprising a hardware processor and a memory, the memory having computer executable instructions embedded therein, the computer executable instructions executable by the hardware processor to cause the computing device to: generate a first record in the unstructured data store by augmenting data stored in a second record in the unstructured data store with additional data such that the first record includes both the data stored in the second record and the additional data that is not stored in the second record, the first record stored in a child node of the unstructured data store and the second record stored in a parent node of the unstructured data store; initialize a parent version identifier of the first record based on a version identifier of the second record; receive a data update message indicating that the data stored in the second record has changed; apply an update criteria associated with the first record to the data update message; set the parent version identifier of the first record to an updated version identifier of the second record when the update criteria is not satisfied; and in response to a request to retrieve the first record, determine whether the first record is not consistent with the second record by: traversing the parent node and the child node in the unstructured data store; comparing the parent version identifier of the first record stored in the child node to a current version identifier of the second record stored in the parent node; and determining that the first record is not consistent with the second record based on the parent version identifier associated with the first record stored in the child node not matching the current version identifier of the second record stored in the parent node; in response to determining that the first record is not consistent with the second record, retrieving a latest version of the second record, updating the first record stored in the child node by executing one or more operations using the retrieved latest version of the second record to generate an updated version of the first record, and updating the parent version identifier associated with the first record stored in the child node: and providing data aggregated from the latest version of the second record and the updated version of the first record in reply to the request, wherein the first record is associated with the parent version identifier, a node version identifier, and the update criteria, the update criteria comprising one or more rules or conditions for triggering an update of the child node in response to a change in data managed by the parent node, and wherein the parent version identifier, the node version identifier, and the update criteria are stored in the child node. 10. The system of claim 9 , wherein the computer executable instructions are further executable by the hardware processor to cause the computing device to update the first record in response to determining that the first record is not consistent with the second record. 11. The system of claim 10 , wherein the computer executable instructions are further executable by the hardware processor to cause the computing device to update the second record and to update the version identifier of the second record based on the updating of the first record. 12. The system of claim 11 , wherein the computer executable instructions are further executable by the hardware processor to cause the computing device to update a version identifier of

Assignees

Inventors

Classifications

  • using versioning · CPC title

  • Ensuring data consistency and integrity · CPC title

  • G06F16/219Primary

    Managing data history or versioning (querying versioned data G06F16/2474; querying temporal data G06F16/2477) · CPC title

  • Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files · 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 US11360955B2 cover?
In various example embodiments, a system and method for versioning data in an unstructured data store are presented. The method includes generating a first record in the unstructured data store based on a version of a second record in the unstructured data store. The method further includes initializing a parent version identifier of the first record based on the version of the second record. T…
Who is the assignee on this patent?
Ebay Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/219. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 14 2022 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).