IP Library Granted Patent US 12,222,929
Granted Patent B2
US 12,222,929 · App. 18/206,844 · Granted Feb 11, 2025

System and method for handling implicit transactions in a hybrid cloud cache

Inventors: Ajay Salpekar (Mountain View, CA); Bhaskar Guthikonda (Mountain View, CA); Sanjay Kulkarni (Mountain View, CA); Yogesh Kulkarni (Mountain View, CA)
Assignee: Egnyte, Inc.
G06F16/2379G06F16/2246H04L67/1097H04L67/568
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,222,929
App. No.
18/206,844
Granted
Feb 11, 2025
Kind
B2
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 (31)

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.

2. 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.

3. 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.

4. 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.

5. 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.

6. 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.

7. 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.

8. 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.

9. 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.

10. 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.

11. 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.

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.

13. 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.

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

15. 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.

16. 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.

17. 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.

18. 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.

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

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

Assignments (2)
SECURITY INTEREST Recorded Mar 25, 2025
From: EGNYTE, INC.
To: TCG SENIOR FUNDING, L.L.C., AS COLLATERAL AGENT
Reel/Frame 070614/0319 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2023
From: SALPEKAR, AJAY; GUTHIKONDA, BHASKAR; KULKARNI, SANJAY; KULKARNI, YOGESH
To: EGNYTE, INC.
Reel/Frame 063883/0597 →
Continuity (3)
Continuation 17349531 · Jun 16, 2021
Provisional Application 63040255 · Jun 17, 2020
Related Publication 20230409562A1 · Dec 21, 2023
References Cited (19)
US 9424185B1 · Botelho et al. · 2016 [cited by applicant]
US 10127238B1 · Bent · 2018 [cited by examiner]
US 10630772B2 · Jung et al. · 2020 [cited by applicant]
US 10893120B2 · Seelam et al. · 2021 [cited by applicant]
US 11061868B1 · Popovich et al. · 2021 [cited by applicant]
US 11194763B1 · Grider · 2021 [cited by applicant]
US 11228509B2 · Baljeu · 2022 [cited by examiner]
US 11334540B2 · Yammine et al. · 2022 [cited by applicant]
US 11558459B2 · Lamba · 2023 [cited by examiner]
US 20130159451A1 · Luciw · 2013 [cited by examiner]
US 20140324925A1 · Krishnamurthy · 2014 [cited by applicant]
US 20170140025A1 · Milvaney · 2017 [cited by examiner]
US 20190129802A1 · Laier et al. · 2019 [cited by applicant]
US 20190356566A1 · Bharatkumar · 2019 [cited by examiner]
US 20200084106A1 · Johnson · 2020 [cited by examiner]
US 20200089607A1 · Gaonkar et al. · 2020 [cited by applicant]
US 20200242086A1 · Mamidi et al. · 2020 [cited by applicant]
US 20200244756A1 · Trachy · 2020 [cited by examiner]
US 20210342298A1 · Mathews et al. · 2021 [cited by applicant]