# US 2021/0344772 A1 · Distributed database systems including callback techniques for cache of same

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0344772 A1
- Document ID: US20210344772A1
- Status: Published application
- Kind: A1
- Application number: 17/244,813
- Filed: 2021-04-29
- Published: 2021-11-04
- Earliest claimed: 2020-04-30
- Assignees: Nutanix, Inc.
- Applicants: Nutanix, Inc.
- Inventors: Durga Mahesh Arikatla; Manoj Premanand Naik; Shyamsunder Prayagchand Rathi; Vyas Ram Selvam; Yati Nair
- Web page: https://patentgrep.com/patent/US20210344772A1

## CPC

- H04L 67/568: Storing data temporarily at an intermediate stage, e.g. caching
- G06F 16/235: {Update request formulation}
- G06F 16/256: {in federated or virtual databases}
- G06F 16/273: {Asynchronous replication or reconciliation}
- H04L 67/1097: 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]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Examples of distributed database systems are described. Multiple computing nodes may be utilized to provide a distributed database system. Each of the multiple computing nodes may cache a portion of the distributed database. The cache may be utilized to service write requests. A computing node servicing a write request may provide a callback to other computing nodes hosting the distributed database. The local cache may be updated responsive to the write request and callbacks issued to the other computing nodes to allow for updates of other local caches. In this manner, a local cache may be updated prior to updating the distributed database as a whole in some examples. While callbacks may be used to update cached data on other nodes, the computing node servicing the write request may not need to receive a callback prior to updating the local cache.

## Claims

### Claim 1

A computer readable media encoded with instructions that, when executed, cause a computing node to:
provide an instance of a distributed database service, configured to operate together with other instances in a computing cluster to provide a distributed database;
update a local cache copy of certain data hosted by the distributed database service; and
responsive to the updating, provide a callback to another instance of the distributed database service in the computing cluster indicative of the update.

### Claim 2 (depends on 1)

The computer readable media of claim 1, wherein the instructions further comprise instructions which, when executed, cause the computing node to:
receive another callback from at least one other computing node in the computing cluster, wherein the callback is indicative of updated data for the local cache copy.

### Claim 3 (depends on 2)

The computer readable media of claim 2, wherein the instructions further comprise instructions which, when executed, cause the computing node to:
update the local cache copy with the updated data.

### Claim 4 (depends on 1)

The computer readable media of claim 1, wherein the distributed database is configured to provide metadata for a file system hosted by the computing cluster.

### Claim 5 (depends on 1)

The computer readable media of claim 1, wherein said update the local cache copy comprises accessing a local memory of the computing node.

### Claim 6 (depends on 1)

The computer readable media of claim 1, wherein the distributed database service is configured to provide access to database data distributed across the computing cluster.

### Claim 7 (depends on 1)

The computer readable media of claim 1, wherein the instructions, when executed, further cause the computing node to:
receive a request for particular data in the distributed database; and
return the particular data from the local cache copy when the particular data is present in the local cache copy.

### Claim 8

A system comprising:
a plurality of computing nodes, each configured to:
host an instance of a distributed database service;
store cached data of the distributed database service in a local memory; and
provide a callback to other instances of the distributed database service responsive to updating the cached data;
a storage pool accessible to the plurality of computing nodes, the storage pool configured to store data of a distributed database across the plurality of computing nodes, wherein the cached data comprises a portion of the data of the distributed database.

### Claim 9 (depends on 8)

The system of claim 8, wherein the plurality of computing nodes form a cluster which together hosts a plurality of instances of the distributed database service configured to function together to provide access to the data of the distributed database.

### Claim 10 (depends on 8)

The system of claim 8, wherein the cached data is selected based on frequency of access across the plurality of computing nodes.

### Claim 11 (depends on 8)

The system of claim 8, wherein the cached data at each of the plurality of computing nodes is the same.

### Claim 12 (depends on 8)

The system of claim 8, wherein each of the plurality of computing nodes is further configured to receive another callback from another one of the plurality of computing nodes, the another callback indicative of updated data.

### Claim 13 (depends on 12)

The system of claim 12, wherein each of the plurality of computing nodes is further configured to update the cached data responsive to the another callback.

### Claim 14 (depends on 13)

The system of claim 13, wherein the callback and the another callback comprise asynchronous callbacks.

### Claim 15 (depends on 9)

The system of claim 9, wherein the plurality of computing nodes are each further configured to receive a request for particular data of the distributed database, and provide the particular data from the cached data when available.

### Claim 16

A method comprising:
cache certain data of a distributed database in a cache in local memory of each of a plurality of computing nodes;
service a request to update database data, by at least one of the plurality of computing nodes, by accessing the cache and modifying the cache;
provide a callback, by the at least one of the plurality of computing nodes, to at least another of the plurality of computing nodes, responsive the request to update the database data; and
update, by the at least another of the plurality of computing nodes, data in local memory of the another of the plurality of computing nodes responsive to the callback.

### Claim 17 (depends on 16)

The method of claim 16, wherein the callback provides an indication of the data in the local memory to update.

### Claim 18 (depends on 16)

The method of claim 16, wherein the callback provides updated database data.

### Claim 19 (depends on 16)

The method of claim 16, wherein the certain data is selected based on an access frequency.

### Claim 20 (depends on 16)

The method of claim 16, further comprising:
receiving, at the at least one of the plurality of computing nodes, another callback indicative of different updated data from another of the plurality of computing nodes.

### Claim 21 (depends on 20)

The method of claim 20, further comprising:
updating, by the at least one of the plurality of computing nodes, the cache based on the callback indicative of the different updated data.
