IP Library Granted Patent US 10,311,083
Granted Patent B2
US 10,311,083 · App. 15/947,373 · Granted Jun 4, 2019

Search and analytics for storage systems

Inventors: Apurv Gupta (Bangalore, IN); Vipin Gupta (San Jose, 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 10,311,083
App. No.
15/947,373
Granted
Jun 4, 2019
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 (65)

1. A method, comprising:

retrieving, by execution of one or more processors, a first backup object of a plurality of backup objects stored in a secondary storage system, wherein each backup object in the plurality represents a respective storage state associated with the secondary storage system at a respective point in time;

using the first backup object to perform a first level of reconstruction by reconstructing at least a portion of a full backup of a corresponding storage state associated with the first backup to obtain a reconstructed view of at least the portion of the full backup, wherein the first backup captures a snapshot since a previous backup using a B+ tree structure distributed among storage nodes of a distributed storage system;

performing a second level of reconstruction by reconstructing a first application object from at least the portion of the full backup reconstructed using the first backup object and the previous backup, wherein the first application object is nested in at least the portion of the full backup reconstructed using the first backup object, and the first level of reconstruction and the second level of reconstruction are performed to automatically and selectively access application level data encapsulated in at least the portion of the full backup reconstructed using the first backup object;

accessing the first application object according to a native application format associated with the first application object;

evaluating content stored by the first application object; and

modifying the first application object based on the evaluated content.

2. The method of claim 1 , wherein accessing the first application object includes using an application programming interface (API) associated with the first application object.

3. The method of claim 1 , wherein evaluating content stored by the first application object comprises:

identifying a second application object stored by the first application object; and

accessing the second application object stored by the first application object according to a native application format associated with the second application object.

4. The method of claim 3 , wherein modifying the first application object comprises:

identifying, based on the evaluation, specified content stored by the second application object; and

removing the specified content from the second application object.

5. The method of claim 3 , wherein accessing the second application object comprises:

invoking an application programming interface (API) associated with the second application object.

6. The method of claim 1 , wherein modifying the first application object comprises:

identifying, based on the evaluation, specified content stored by the first application object; and

removing the specified content from the first application object.

7. The method of claim 1 , further comprising:

building an index of content stored by the first application object.

8. The method of claim 1 , further comprising:

retrieving a second backup object of the plurality of backup objects stored in the secondary storage system;

reconstructing a second application object from the second backup object; and

replacing the first application object with the second application object in the first backup object.

9. A system, comprising:

a processor; and

a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:

retrieve, by execution of one or more processors, a first backup object of a plurality of backup objects stored in a secondary storage system, wherein each backup object in the plurality represents a respective storage state associated with the secondary storage system at a respective point in time;

use the first backup object to perform a first level of reconstruction by reconstructing at least a portion of a full backup of a corresponding storage state associated with the first backup to obtain a reconstructed view of at least the portion of the full backup, wherein the first backup captures a snapshot since a previous backup using a B+ tree structure distributed among storage nodes of a distributed storage system;

perform a second level of reconstruction by reconstructing a first application object from at least the portion of the full backup reconstructed using the first backup object and the previous backup, wherein the first application object is nested in at least the portion of the full backup reconstructed using the first backup object, and the first level of reconstruction and the second level of reconstruction are performed to automatically and selectively access application level data encapsulated in at least the portion of the full backup reconstructed using the first backup object;

access the first application object according to a native application format associated with the first application object;

evaluate content stored by the first application object; and

modify the first application object based on the evaluated content.

10. The system of claim 9 , wherein accessing the first application object includes using an application programming interface (API) associated with the first application object.

11. The system of claim 9 , wherein evaluating content stored by the first application object comprises:

identifying a second application object stored by the first application object; and

accessing the second application object stored by the first application object according to a native application format associated with the second application object.

12. The system of claim 11 , wherein modifying the first application object comprises:

identifying, based on the evaluation, specified content stored by the second application object; and

removing the specified content from the second application object.

13. The system of claim 11 , wherein accessing the second application object comprises:

invoking an application programming interface (API) associated with the second application object.

14. The system of claim 9 , wherein modifying the first application object comprises:

identifying, based on the evaluation, specified content stored by the first application object; and

removing the specified content from the first application object.

15. The system of claim 9 , wherein the memory is further configured to provide the processor with instructions which when executed cause the processor to build an index of content stored by the first application object.

16. The system of claim 9 , wherein the memory is further configured to provide the processor with instructions which when executed cause the processor to:

retrieve a second backup object of the plurality of backup objects stored in the secondary storage system;

reconstruct a second application object from the second backup object; and

replace the first application object with the second application object in the first backup object.

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

retrieving, by execution of one or more processors, a first backup object of a plurality of backup objects stored in a secondary storage system, wherein each backup object in the plurality represents a respective storage state associated with the secondary storage system at a respective point in time;

using the first backup object to perform a first level of reconstruction by reconstructing at least a portion of a full backup of a corresponding storage state associated with the first backup to obtain a reconstructed view of at least the portion of the full backup, wherein the first backup captures a snapshot since a previous backup using a B+ tree structure distributed among storage nodes of a distributed storage system;

performing a second level of reconstruction by reconstructing a first application object from at least the portion of the full backup reconstructed using the first backup object and the previous backup, wherein the first application object is nested in at least the portion of the full backup reconstructed using the first backup object, and the first level of reconstruction and the second level of reconstruction are performed to automatically and selectively access application level data encapsulated in at least the portion of the full backup reconstructed using the first backup object;

accessing the first application object according to a native application format associated with the first application object;

evaluating content stored by the first application object; and

modifying the first application object based on the evaluated content.

18. The computer program product of claim 17 , wherein accessing the first application object includes using an application programming interface (API) associated with the first application object.

19. The computer program product of claim 17 , wherein evaluating content stored by the first application object comprises:

identifying a second application object stored by the first application object; and

accessing the second application object stored by the first application object according to a native application format associated with the second application object.

20. The computer program product of claim 17 , wherein evaluating content stored by the first application object comprises:

identifying, based on the evaluation, specified content stored by the first application object; and

removing the specified content from the first application object.

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 Mar 4, 2019
From: GUPTA, APURV; GUPTA, VIPIN; CHEN, JOHNNY; MOOLCHANDANI, SUNIL; VAJAPEYAM, MURALI
To: COHESITY, INC.
Reel/Frame 048496/0852 →
Continuity (2)
Continuation 14624357 · Feb 17, 2015
Related Publication 20180225349A1 · Aug 9, 2018
Cited By (1)
US 12,619,501