# US 12,222,929 B2 · System and method for handling implicit transactions in a hybrid cloud cache

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

- Number: US 12,222,929 B2
- Document ID: US12222929B2
- Status: Granted
- Kind: B2
- Application number: 18/206,844
- Filed: 2023-06-07
- Published: 2023-12-21
- Granted: 2025-02-11
- Earliest claimed: 2020-06-17
- Assignees: Egnyte, Inc.
- Applicants: Egnyte, Inc.
- Inventors: Ajay Salpekar; Bhaskar Guthikonda; Sanjay Kulkarni; Yogesh Kulkarni
- Web page: https://patentgrep.com/patent/US12222929B2

## CPC

- G06F 16/2379: {Updates performed during online database operations; commit processing}
- G06F 16/172: Caching, prefetching or hoarding of files
- G06F 16/2246: {Trees, e.g. B+trees}
- 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 67/568: Storing data temporarily at an intermediate stage, e.g. caching
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system for handling Implicit transactions in a hybrid cloud cache. The hybrid cloud cache maintains folders in a metadata file system that includes a hierarchy of cached folders, and maintains a meta-file containing metadata of files and folders. The system obtains a meta-file from a cloud platform and compares that to a meta-file obtained from the hybrid cloud cache. An object associated with an Implicit metadata transaction is transferred to an internal namespace of the hybrid cloud cache if the comparison indicates that certain conditions are met. The system may perform a bottom-up traversal of the namespace and may abort the traversal if an outstanding explicit transaction for the object is present or the object exists in the cloud platform. An object may be moved to a temporary storage location if there is no explicit transaction on it and the object does not exist in the cloud platform.

## Claims

### Claim 1

A system, comprising:
a set of computer-executable instructions; and
a processor that executes the set of instructions, wherein when executed, the instructions cause the processor to:
obtain a copy of a meta-file from a cloud platform, the meta-file including metadata associated with a set of files and folders in a namespace of the cloud platform;
compare the copy of the meta-file obtained from the cloud platform to a copy of the meta-file obtained from a hybrid cloud cache;
transfer an object associated with an implicit metadata transaction to an orphanage of the hybrid cloud cache in response to the comparing indicating that the two meta-files do not match; and
interrupt a bottom-up traversal of an namespace tree associated with the orphanage in response to an outstanding explicit transaction for the object detected in the hybrid cloud cache or in response to the object detected in the namespace of the cloud platform.

### Claim 2 (depends on 1)

The system of claim 1, wherein the set of instructions further comprises instructions that cause the processor to abort the bottom-up traversal of the orphanage namespace tree if an outstanding explicit transaction for the object is present in the hybrid cloud cache or if the object still exists in the namespace of the cloud platform.

### Claim 3 (depends on 1)

The system of claim 1, wherein the set of instructions further comprises instructions that cause the processor to move the object to a purgatory of the hybrid cloud cache if the outstanding explicit transaction for the object is not present and the object does not exist in the namespace of the cloud platform.

### Claim 4 (depends on 1)

The system of claim 1, wherein the set of instructions further comprises instructions that cause the processor to rename the object with a unique identifier when transferring the object to the orphanage.

### Claim 5 (depends on 1)

The system of claim 1, wherein the set of instructions further comprises instructions that cause the processor to reclaim the object from the orphanage if the object has moved to a new location in the cloud and the new location is cached by the hybrid cloud cache.

### Claim 6 (depends on 1)

The system of claim 1, wherein the set of instructions further comprises instructions that cause the processor to leave the object in the orphanage if an outstanding explicit transaction for the object is present or the object still exists in the namespace of the cloud platform.

### Claim 7 (depends on 1)

The system of claim 1, wherein the set of instructions further comprises instructions that cause the processor to conduct the bottom-up traversal of the orphanage namespace at a selected time interval.

### Claim 8 (depends on 1)

The system of claim 1, wherein the set of instructions further comprises instructions that cause the processor to conduct the bottom-up traversal of the orphanage namespace in response to detecting a specific event.

### Claim 9 (depends on 1)

The system of claim 1, wherein the set of instructions further comprises instructions that cause the processor to remove the object from the orphanage if all of the explicit transactions for the object have been completed by the hybrid cloud cache and the object does not exist on the cloud platform.

### Claim 10 (depends on 1)

The system of claim 1, wherein the set of instructions further comprises instructions that cause the processor to classify the outstanding explicit transaction as a metadata transaction or as a data transaction.

### Claim 11 (depends on 1)

The system of claim 1, wherein the set of instructions further comprises instructions that cause the processor to obtain the copy of the meta-file from the cloud platform at a selected time interval.

### Claim 12

A computer-implemented method, comprising:
obtaining a copy of a meta-file from a cloud platform, the meta-file including metadata associated with a set of files and folders in a namespace of the cloud platform;
comparing the copy of the meta-file obtained from the cloud platform to a copy of the meta-file obtained from a hybrid cloud cache;
conducting a bottom-up traversal of a namespace tree of the orphanage of the hybrid cloud cache;
transferring an object associated with an implicit metadata transaction to an orphanage of the hybrid cloud cache in response to the comparing indicating that the two meta-files do not match; and
interrupting the bottom-up traversal of the orphanage namespace tree if an outstanding explicit transaction for the object is present in the hybrid cloud cache or if the object still exists in the namespace of the cloud platform.

### Claim 13 (depends on 12)

The method of claim 12, further comprising moving the object to a purgatory of the hybrid cloud cache in response to determining that the outstanding explicit transaction for the object is not present and the object does not exist in the namespace of the cloud platform.

### Claim 14 (depends on 12)

The method of claim 12, further comprising renaming the object with a unique identifier when transferring the object to the orphanage.

### Claim 15 (depends on 12)

The method of claim 12, further comprising reclaiming the object from the orphanage if the object has moved to a new location in the cloud and the new location is cached by the hybrid cloud cache.

### Claim 16 (depends on 12)

The method of claim 12, further comprising leaving the object in the orphanage if an outstanding explicit transaction for the object is present or the object still exists in the namespace of the cloud platform.

### Claim 17 (depends on 12)

The method of claim 12, further comprising conducting the bottom-up traversal of the orphanage namespace at a selected time interval or conducting the bottom-up traversal of the orphanage namespace in response to detecting a specific event.

### Claim 18 (depends on 12)

The method of claim 12, further comprising removing the object from the orphanage if all of the explicit transactions for the object have been completed by the hybrid cloud cache and the object does not exist on the cloud platform.

### Claim 19 (depends on 12)

The method of claim 12, further comprising classifying the outstanding explicit transaction as a metadata transaction or as a data transaction.

### Claim 20 (depends on 12)

The method of claim 12, further comprising fetching the copy of the meta-file from the cloud platform at a selected time interval.
