Cache with guarantee of current data

US12450169B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12450169-B2
Application numberUS-202318534355-A
CountryUS
Kind codeB2
Filing dateDec 8, 2023
Priority dateDec 8, 2023
Publication dateOct 21, 2025
Grant dateOct 21, 2025

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.

The present technology is a cache that provides an implied guarantee that data returned in response to a query is current. The cache uses two techniques together to guarantee that data returned in response to a query from the cache is current. The first technique is a guaranteed clock value. The is a clock value for which all changes that have occurred before it have been written to the authoritative database. Any query having a clock value greater than the guaranteed clock value is invalid. The second technique is a data invalidation technique, where the cache repeatedly polls the authoritative database for information about changes and invalidates objects associated with changes. If no change has happened, the cache can confidently conclude it is up to date since the cache knows that it is aware of all changes as of the guaranteed clock value.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving, by a cache, a request for metadata pertaining to an object ID, the request including a clock value, the clock value indicating an approximate time in which the metadata pertaining to the object ID was current; determining, by the cache, that the clock value in the request is less than or equal to a guaranteed clock value in the cache, wherein a determination that the clock value in the request is less than or equal to the guaranteed clock value in the cache indicates that the cache is current since the clock value in the request; determining, by the cache, that a root object ID for an object at a root file path containing the object ID identified in the request is not marked stale; and returning, by the cache, the metadata pertaining to the object ID for the clock value in the request. 2. The method of claim 1 , further comprising: polling an authoritative database, by the cache, for an update at the authoritative database to metadata for objects under the root file path; receiving a response, by the cache, indicating that at least one object under the root file path has been updated, wherein the response includes an update clock value for a most recent update under the root file path; and marking, by the cache, the root object ID as stale based on the response. 3. The method of claim 1 , further comprising: requesting, by the cache, an update to at least one object under the root file path; receiving, by the cache, the update to the at least one object under the root file path from an authoritative database; and marking, by the cache, the root object ID as fresh based on the received update. 4. The method of claim 1 , further comprising: incrementally receiving, by the cache, the guaranteed clock value from a clock value service at an authoritative database. 5. The method of claim 1 , wherein the metadata stored by the cache includes the object ID for the object, the clock value associated with a most recent change to the object, and object retrieval information. 6. The method of claim 1 , further comprising: receiving a command to write a new object ID or a new revision to the object ID to an authoritative database; and proactively storing the metadata pertaining to the object ID in the cache. 7. The method of claim 5 , wherein the metadata stored by the cache includes the root object ID for the object. 8. The method of claim 1 , further comprising: determining that the object ID in the request is not present in the cache; and retrieving the metadata pertaining to the object ID from an authoritative database. 9. A computing system comprising: at least one processor; and a memory storing instructions that, when executed by the at least one processor, configure the system to: receive a request for metadata pertaining to an object ID, the request including a clock value; determine that the clock value in the request is less than or equal to a guaranteed clock value, wherein a determination that the clock value in the request is less than or equal to the guaranteed clock value in a cache indicates that the cache is current through since the clock value in the request; determine that a root object ID for an object at a root file path containing the object ID identified in the request is not marked stale; and return the metadata pertaining to the object ID for the clock value in the request. 10. The computing system of claim 9 , wherein the instructions further configure the system to: poll an authoritative database for an update at the authoritative database to metadata for objects under the root file path; receive a response indicating that at least one object under the root file path has been updated, wherein the response includes an update clock value for a most recent update under the root file path; and mark the root object ID as stale based on the response. 11. The computing system of claim 9 , wherein the instructions further configure the system to: request an update to at least one object under the root file path; receive the update to the at least one object under the root file path from an authoritative database; and mark the root object ID as fresh based on the received update. 12. The computing system of claim 9 , wherein the instructions further configure the system to: incrementally receive the guaranteed clock value from a clock value service at an authoritative database. 13. The computing system of claim 9 , wherein the metadata stored by the cache includes the object ID for the object, the clock value associated with a most recent change to the object, and object retrieval information. 14. The computing system of claim 9 , wherein the instructions further configure the system to: receive a command to write a new object ID or a new revision to the object ID to an authoritative database; and proactively store the metadata pertaining to the object ID in the cache. 15. A computer-readable storage medium that is non-transitory, the computer-readable storage medium comprising instructions that when executed by at least one processor, cause the at least one processor to: receive a request for metadata pertaining to an object ID, the request including a clock value; determine that the clock value in the request is less than or equal to a guaranteed clock value, wherein a determination that the clock value in the request is less than or equal to the guaranteed clock value in a cache indicates that the cache is current since the clock value in the request; determine that a root object ID for an object at a root file path containing the object ID identified in the request is not marked stale; and return, by the cache, the metadata pertaining to the object ID for the clock value in the request. 16. The computer-readable storage medium of claim 15 , wherein the instructions further configure the at least one processor to: poll an authoritative database for an update at the authoritative database to metadata for objects under the root file path; receive a response indicating that at least one object under the root file path has been updated, wherein the response includes an update clock value for a most recent update under the root file path; and mark the root object ID as stale based on the response. 17. The computer-readable storage medium of claim 15 , wherein the instructions further configure the at least one processor to: request an update to at least one object under the root file path; receive the update to the at least one object under the root file path from an authoritative database; and mark the root object ID as fresh based on the received update. 18. The computer-readable storage medium of claim 15 , wherein the instructions further configure the at least one processor to: incrementally receive the guaranteed clock value from a clock value service at an authoritative database. 19. The computer-readable storage medium of claim 15 , wherein the metadata stored by the cache includes the object ID for the object, the clock value associated with a most recent change to the object, and object retrieval information. 20. The computer-readable storage medium of claim 15 , wherein the instructions further configure the at least one processor to: receive a command to write a new object ID or a new revision to the object ID to an authoritative database; and proactively store the metadata pertaining to the object ID in the cache.

Assignees

Inventors

Classifications

  • G06F1/10Primary

    Distribution of clock signals {, e.g. skew} · CPC title

  • G06F12/12Primary

    Replacement control · 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 US12450169B2 cover?
The present technology is a cache that provides an implied guarantee that data returned in response to a query is current. The cache uses two techniques together to guarantee that data returned in response to a query from the cache is current. The first technique is a guaranteed clock value. The is a clock value for which all changes that have occurred before it have been written to the authori…
Who is the assignee on this patent?
Dropbox Inc
What technology area does this patent fall under?
Primary CPC classification G06F1/10. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 21 2025 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 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).