IP Library Granted Patent US 11,663,236
Granted Patent B2
US 11,663,236 · App. 17/489,560 · Granted May 30, 2023

Search and analytics for storage systems

Inventors: Apurv Gupta (Bangalore, IN); Vipin Gupta (Cupertino, CA); Johnny Chen (Santa Clara, CA); Sunil Moolchandani (Santa Clara, CA); Murali Vajapeyam (Santa Clara, CA)
Assignee: Cohesity, Inc.
G06F16/27G06F9/54
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 11,663,236
App. No.
17/489,560
Granted
May 30, 2023
Kind
B2
Abstract

Application-level data in a storage system are evaluated. For example, a backup analysis tool retrieves a backup object stored in the storage system. The backup analysis tool reconstructs an application object from the backup object. The backup analysis tool accesses the first application object according to a native application format associated with the first object.

Claims (37)

1. A method, comprising:

accessing, by a second storage system, a backed up version of an object that was backed up to the second storage system from a first storage system, wherein the object was included in a first backup snapshot that includes one or more other objects, wherein accessing the object includes accessing a key-value store maintained by the second storage system to determine offsets for the object as stored by the second storage system, wherein the backed up version of the object is stored in a backup format associated with the second storage system that is different from a native application format associated with the object;

reconstructing the object from the backup format associated with the second storage system to the native application format associated with the object using object data chunks accessed at the determined offsets;

locating at the second storage system the backed up version of the object;

evaluating the object using an application programming interface (API) associated with the object; and

modifying the backed up version of the object.

2. The method of claim 1 , wherein the first backup snapshot has a corresponding encoding and storage format.

3. The method of claim 2 , wherein each object included in the first backup snapshot has a corresponding encoding and storage format.

4. The method of claim 1 , wherein reconstructing the object includes determining offsets associated with the backed up version of the object as stored in the first storage system.

5. The method of claim 4 , wherein using the API associated with the object includes evaluating the reconstructed object in the native application format associated with the object.

6. The method of claim 5 , wherein evaluating the reconstructed object in the native application format associated with the object includes interpreting a structure and content of the reconstructed object.

7. The method of claim 1 , wherein modifying the backed up version of the object includes removing content from the object.

8. The method of claim 7 , wherein the content includes sensitive information.

9. The method of claim 1 , wherein modifying the backed up version of the object includes replacing content of the object with substitute content.

10. The method of claim 1 , wherein the object is a virtual machine disk file.

11. The method of claim 1 , wherein modifying the backed up version of the object includes identifying nested objects within the object and modifying at least one of the nested objects.

12. The method of claim 11 , further comprising evaluating the one of the nested objects using an API corresponding to the one of the nested objects.

13. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

accessing, by a second storage system, a backed up version of an object that was backed up to the second storage system from a first storage system, wherein the object was included in a first backup snapshot that includes one or more other objects, wherein accessing the object includes accessing a key-value store maintained by the second storage system to determine offsets for the object as stored by the second storage system, wherein the backed up version of the object is stored in a backup format associated with the second storage system that is different from a native application format associated with the object;

reconstructing the object from the backup format associated with the second storage system to the native application format associated with the object using object data chunks accessed at the determined offsets;

locating at the second storage system the backed up version of the object;

evaluating the object using an application programming interface (API) associated with the object, wherein evaluating the object using the API associated with the object includes interpreting a structure of the reconstructed object using the API associated with the object; and

modifying the backed up version of the object.

14. The computer program product of claim 13 , wherein the first backup snapshot has a corresponding encoding and storage format.

15. The computer program product of claim 13 , wherein reconstructing the object includes determining offsets associated with the backed up version of the object as stored in the first storage system.

16. The computer program product of claim 15 , wherein using the API associated with the object includes evaluating the reconstructed object in the native application format associated with the object.

17. The computer program product of claim 16 , wherein evaluating the reconstructed object in the native application format associated with the object includes interpreting a structure and content of the reconstructed object.

18. The computer program product of claim 13 , wherein modifying the backed up version of the object includes removing content from the object.

19. The computer program product of claim 13 , wherein modifying the backed up version of the object includes replacing content of the object with substitute content.

20. A system, comprising:

a processor, wherein the processor:

accesses a backed up version of an object that was backed up to a second storage system from a first storage system, wherein the object was included in a first backup snapshot that includes one or more other objects, wherein accessing the object includes accessing a key-value store maintained by the second storage system to determine offsets for the object as stored by the second storage system, wherein the backed up version of the object is stored in a backup format associated with the second storage system that is different from a native application format associated with the object;

reconstructs the object from the backup format associated with the second storage system to the native application format associated with the object using object data chunks accessed at the determined offsets;

locates at the system the backed up version of the object;

evaluates the object using an application programming interface (API) associated with the object, wherein to evaluate, the processor uses the API associated with the object includes interpret a structure of the reconstructed object using the API associated with the object; and

modifies the backed up version of the object; and

a memory coupled to the processor, wherein the memory provides the processor with instructions.

Assignments (4)
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 10, 2024
From: FIRST-CITIZENS BANK & TRUST COMPANY (AS SUCCESSOR TO SILICON VALLEY BANK)
To: COHESITY, INC.
Reel/Frame 069584/0498 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
SECURITY INTEREST Recorded Sep 23, 2022
From: COHESITY, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 061509/0818 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2022
From: GUPTA, APURV; GUPTA, VIPIN; CHEN, JOHNNY; MOOLCHANDANI, SUNIL; VAJAPEYAM, MURALI
To: COHESITY, INC.
Reel/Frame 058729/0763 →
Continuity (4)
Continuation 16391132 · Apr 22, 2019
Continuation 15947373 · Apr 6, 2018
Continuation 14624357 · Feb 17, 2015
Related Publication 20220138221A1 · May 5, 2022