IP Library Granted Patent US 11,176,165
Granted Patent B2
US 11,176,165 · App. 16/391,132 · Granted Nov 16, 2021

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,176,165
App. No.
16/391,132
Granted
Nov 16, 2021
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 (33)

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 of a plurality of backup snapshots, wherein the first backup snapshot 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 formation 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 multiple versions of the object across multiple backups of the object;

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

modifying the first backup snapshot at least in part by rolling back the backed up version of the object to be a selected version of the multiple versions 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 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 first backup snapshot includes removing content from the object.

8. The method of claim 1 , wherein modifying the first backup snapshot includes replacing content of the object with substitute content.

9. The method of claim 1 , further comprising generating a searchable index based on the located multiple versions of the object.

10. 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 of a plurality of backup snapshots, wherein the first backup snapshot 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 formation 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 multiple versions of the object across multiple backups 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 first backup snapshot at least in part by rolling back the backed up version of the object to be a selected version of the multiple versions of the object.

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

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

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

14. The computer program product of claim 10 , wherein modifying the first backup snapshot includes removing content from the object.

15. The computer program product of claim 10 , wherein modifying the first backup snapshot includes replacing content of the object with substitute content.

16. A system, comprising:

a processor, wherein the processor:

accesses a backed up version of an object that was backed up to the system from a different system, wherein the object was included in a first backup snapshot of a plurality of backup snapshots, wherein the first backup snapshot includes one or more other objects, wherein to access the object the processor accesses a key-value store maintained by a 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 formation 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;

locate at the system multiple versions of the object across multiple backups of the object;

evaluate 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

modify the first backup snapshot at least in part by rolling back the backed up version of the object to be a selected version of the multiple versions of the object; and

a memory coupled to the processor, wherein the memory to 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 Jun 20, 2019
From: GUPTA, APURV; GUPTA, VIPIN; CHEN, JOHNNY; MOOLCHANDANI, SUNIL; VAJAPEYAM, MURALI
To: COHESITY, INC.
Reel/Frame 049541/0206 →
Continuity (3)
Continuation 15947373 · Apr 6, 2018
Continuation 14624357 · Feb 17, 2015
Related Publication 20190303388A1 · Oct 3, 2019
Cited By (1)
US 12,619,501