IP Library Granted Patent US 12,259,794
Granted Patent B2
US 12,259,794 · App. 18/237,814 · Granted Mar 25, 2025

Extensive recovery point management using tags

Inventors: Abhishek Gupta (Vasundhara Ghaziabad, IN); Ajaykumar Rajubhai Bhammar (Gujarat, IN); Brajesh Kumar Shrivastava (Bihar, IN); Kai Tan (Cary, NC); Naveen Kumar (Karnataka, IN); Pranab Patnaik (Cary, NC); Ramya Uthamarajan (Cary, NC)
Assignee: Nutanix, Inc.
G06F11/1464G06F11/1469G06F2201/84
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,259,794
App. No.
18/237,814
Filed
Aug 24, 2023
Granted
Mar 25, 2025
Kind
B2
Art Unit
2113
USPC
714/6.3
Abstract

A technique enables coordination of unrelated software components to facilitate extensive recovery point management on a snapshot or recovery point through the use of a flexible tag structure. The tag is organized and arranged as a {key=value,[value] . . . } structure wherein the key denotes an operation that requires coordination between the unrelated software components and the value(s) denote multi-cardinality that provide parameters for coordination of the operation. The multi-cardinality aspect of the flexible tag structure provides a set of values associated with the key of the tag that enables a software component and/or protocol to insert its value(s) into the tag structure for its interpretation. The technique thus provides an extensible model where multiple components/protocols use the tag to coordinate operations on the RP by conveying certain meaning/interpretations of the tag and its values.

Claims (46)

1. A method comprising:

generating a snapshot of a workload at a primary site of a multi-site environment in accordance with a recovery point objective (RPO);

associating a tag structure with the generated snapshot, the tag structure configured to coordinate one or more operations between a first software component operating on the snapshot and a second software component operating on the snapshot, wherein the first and second software components are distinct;

replicating the snapshot and tag structure as a recovery point to a secondary site of the environment; and

controlling an operation of the first software component directed to the snapshot using the tag structure while maintaining the RPO.

2. The method of claim 1 wherein the first software component includes garbage collection and wherein the second software component includes snapshot generation.

3. The method of claim 1 wherein the operation of the first software component is garbage collection of unneeded data from the snapshot.

4. The method of claim 1 further comprising:

organizing the tag structure as a key-value structure, wherein the key indicates the operation that requires coordination between the distinct software components and the value indicates multi-cardinality that provides parameters for coordination of the operation among the software components.

5. The method of claim 1 wherein the tag structure includes a tag used as a lock identifying the software component holding the lock.

6. The method of claim 5 wherein the tag structure includes an additional tag indicating an expiry time for the tag used as the lock, and wherein the tag and additional tag are associated with a same key.

7. The method of claim 1 wherein the tag structure is a system defined tag that is used for client/server coordination among the software components and wherein one of the first software component or second software component is a server application configured to take an action based on a value specified in the tag.

8. The method of claim 7 wherein the system defined tag has a key and format of the value defined by the server application.

9. The method of claim 1 wherein the tag structure is a user defined tag for client/client coordination among client applications configured to use a recovery point for the RPO and wherein one of the first software component or second software component is a client application.

10. The method of claim 9 wherein the user defined tag has a key and format of a value defined by the client application and unusable to a server application.

11. A non-transitory computer readable medium including program instructions for execution on a processor, the program instructions configured to:

generate a snapshot of a workload at a primary site of a multi-site environment in accordance with a recovery point objective (RPO);

associate a tag structure with the generated snapshot, the tag structure configured to coordinate one or more operations between a first software component operating on the snapshot and a second software component operating on the snapshot, wherein the first and second software components are distinct;

replicate the snapshot and tag structure as a recovery point to a secondary site of the environment; and

control an operation of the first software component directed to the snapshot using the tag structure while maintaining the RPO.

12. The non-transitory computer readable medium of claim 11 wherein the first software component includes garbage collection and wherein the second software component includes snapshot generation.

13. The non-transitory computer readable medium of claim 11 wherein the operation of the first software component is garbage collection of unneeded data from the snapshot.

14. The non-transitory computer readable medium of claim 11 wherein the program instructions are further configured to:

organize the tag structure as a key-value structure, wherein the key indicates the operation that requires coordination between the distinct software components and the value indicates multi-cardinality that provides parameters for coordination of the operation among the software components.

15. The non-transitory computer readable medium of claim 11 wherein the tag structure includes a tag used as a lock identifying the software component holding the lock.

16. The non-transitory computer readable medium of claim 15 wherein the tag structure includes an additional tag indicating an expiry time for the tag used as the lock, and wherein the tag and additional tag are associated with a same key.

17. The non-transitory computer readable medium of claim 11 wherein the tag structure is a system defined tag that is used for client/server coordination among the software components and wherein one of the first software component or second software component is a server application configured to take an action based on a value specified in the tag.

18. The non-transitory computer readable medium of claim 17 wherein the system defined tag has a key and format of the value defined by the server application.

19. The non-transitory computer readable medium of claim 11 wherein the tag structure is a user defined tag for client/client coordination among client applications configured to use a recovery point for the RPO and wherein one of the first software component or second software component is a client application.

20. The non-transitory computer readable medium of claim 19 wherein the user defined tag has a key and format of a value defined by the client application and unusable to a server application.

21. An apparatus comprising:

a network connecting a node of a primary site to a secondary site of a multi-site environment, the node having a processor configured to execute program instructions configured to:

generate a snapshot of a workload at the primary site in accordance with a recovery point objective (RPO);

associate a tag structure with the generated snapshot, the tag structure configured to coordinate one or more operations between a first software component operating on the snapshot and a second software component operating on the snapshot, wherein the first and second software components are distinct;

replicate the snapshot and tag structure as a recovery point to the secondary site; and

control an operation of the first software component directed to the snapshot using the tag structure while maintaining the RPO.

22. The apparatus of claim 21 wherein the first software component includes garbage collection and wherein the second software component includes snapshot generation.

23. The apparatus of claim 21 wherein the operation of the first software component is garbage collection of unneeded data from the snapshot.

24. The apparatus of claim 21 wherein the program instructions are further configured to:

organize the tag structure as a key-value structure, wherein the key indicates the operation that requires coordination between the distinct software components and the value indicates multi-cardinality that provides parameters for coordination of the operation among the software components.

25. The apparatus of claim 21 wherein the tag structure includes a tag used as a lock identifying the software component holding the lock.

26. The apparatus of claim 25 wherein the tag structure includes an additional tag indicating an expiry time for the tag used as the lock, and wherein the tag and additional tag are associated with a same key.

27. The apparatus of claim 21 wherein the tag structure is a system defined tag that is used for client/server coordination among the software components and wherein one of the first software component or second software component is a server application configured to take an action based on a value specified in the tag.

28. The apparatus of claim 27 wherein the system defined tag has a key and format of the value defined by the server application.

29. The apparatus of claim 21 wherein the tag structure is a user defined tag for client/client coordination among client applications configured to use a recovery point for the RPO and wherein one of the first software component or second software component is a client application.

30. The apparatus of claim 29 wherein the user defined tag has as a key and format of a value defined by the client application and unusable to a server application.

Assignments (2)
SECURITY INTEREST Recorded Feb 13, 2025
From: NUTANIX, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070206/0463 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2023
From: GUPTA, ABHISHEK; BHAMMAR, AJAYKUMAR RAJUBHAI; SHRIVASTAVA, BRAJESH KUMAR; TAN, KAI; KUMAR, NAVEEN; PATNAIK, PRANAB; UTHAMARAJAN, RAMYA
To: NUTANIX, INC.
Reel/Frame 064698/0622 →
Priority Claims (1)
IN 202341022616 · Mar 28, 2023 · national
Continuity (1)
Related Publication 20240330119A1 · Oct 3, 2024
References Cited (24)
US 8549518B1 · Aron et al. · 2013 [cited by applicant]
US 8601473B1 · Aron et al. · 2013 [cited by applicant]
US 8850130B1 · Aron et al. · 2014 [cited by applicant]
US 8863124B1 · Aron et al. · 2014 [cited by applicant]
US 9009106B1 · Aron et al. · 2015 [cited by applicant]
US 9069708B2 · Gill et al. · 2015 [cited by applicant]
US 9336132B1 · Aron et al. · 2016 [cited by applicant]
US 9652265B1 · Narayanasamy et al. · 2017 [cited by applicant]
US 9747287B1 · Bhardwaj et al. · 2017 [cited by applicant]
US 9772866B1 · Aron et al. · 2017 [cited by applicant]
US 11436097B1 · Kumar et al. · 2022 [cited by applicant]
US 11575745B2 · Tatiparthi et al. · 2023 [cited by applicant]
US 20200099692A1 · Jindal · 2020 [cited by examiner]
US 20220114057A1 · Govindan · 2022 [cited by examiner]
US 20220179760A1 · Manjunath · 2022 [cited by examiner]
US 20220309010A1 · Jiang et al. · 2022 [cited by applicant]
US 20220374316A1 · Kumar · 2022 [cited by applicant]
US 20220398163A1 · Bezbaruah et al. · 2022 [cited by applicant]
US 20240273186A1 · George · 2024 [cited by examiner]
US 20240275814A1 · George · 2024 [cited by examiner]
Cano, Ignacio, “Curator: Self-Managing Storage for Enterprise Clusters” University of Washington; published Mar. 2017; pp. all. [cited by applicant]
Citrix XenDesktop 7.1 on Microsoft Hyper-V Server 2012 R2 on Nutanix Virtual Computing Platform Solution Design Citrix Validated Solutions, Jun. 25, 2014, 95 pages. [cited by applicant]
Poitras, Steven “The Nutanix Bible” from http://stevenpoitras.com/the-nutanix-bible/ Oct. 15, 2013 (Publication date based on indicated capture date by Archive.org first publication date unknown) pp. all. [cited by applicant]
Poitras, Steven “The Nutanix Bible—Classic Edition” from https://nutanixbible.com/, dated Nov. 29, 2023, 276 pages. [cited by applicant]