IP Library Granted Patent US 7,529,782
Granted Patent B2
US 7,529,782 · App. 10/990,336 · Granted May 5, 2009

System and method for performing a snapshot and for restoring data

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 7,529,782
App. No.
10/990,336
Granted
May 5, 2009
Kind
B2
Abstract

The present invention relates to a method for tracking a plurality of snapshots of an information store. The present invention comprises performing a first snapshot of an information store that indexes the contents of the information store, copying the contents of the information store to a first storage device, using the first snapshot, and updating a replication volume table indicating the storage of the contents of the first information store using the first snapshot on the first storage device. A second snapshot is performed of the information store that indexes the contents of the information store, the contents of the information store are copied to a second storage device using the second snapshot and the replication volume table is updated to indicate the storage of the contents of the first information store using the second snapshot on the second storage device.

Claims (31)

1. A computer-readable storage medium whose stored contents cause a data storage system to perform a method of tracking a plurality of representations of a data store at various points in time, the method comprising:

creating a first representation of a data store at a first time, wherein the first representation includes information identifying a first set of data objects within the data store at the first time and locations of the identified first set of data objects at the first time;

copying the identified first set of data objects and the first representation of the data store to a location remote from the location of the data store;

creating a second representation of the data store at a second time after the first time, wherein the second representation includes information identifying a second set of data objects within the data store at the second time and locations of the identified second set of data objects at the second time;

comparing the first representation to the second representation to identify data objects that changed from the initial time to the second time;

creating a data structure mapping the changed data objects to portions of the representations of the data store that identify the locations of the changed data objects;

copying the created data structure and the changed data objects to a location remote from the data store;

wherein the data structure maps the changed data objects to individual data blocks storing the changed data objects.

2. The computer-readable medium of claim 1 , wherein the data structure also maps the changed data objects to clusters storing the changed data objects.

3. A method in a computing system for tracking snapshots taken of a volume of data, wherein a snapshot is a point-in-time representation of the volume of data, the method comprising:

creating a first snapshot stored in a memory of a computer of the volume of data, wherein the first snapshot includes information identifying data objects within the volume of data at a first time and information identifying a location of the identified data objects at the first time;

mapping the data objects within the volume of data to the first snapshot, wherein the mapping includes updating a first data structure that contains entries associating data objects with corresponding portions of the first snapshot that include the information identifying the location of the identified data objects at the first time;

creating a second snapshot stored in a memory of a computer of the volume of data, wherein the second snapshot includes information identifying data objects within the volume of data at a second time after the first time and information identifying a location of the identified data objects at the second time;

comparing the first snapshot with the second snapshot to determine data objects that changed after the first time;

mapping the changed data objects to the second snapshot, wherein the mapping the changed data objects includes updating a second data structure that includes entries associating the changed data objects with corresponding portions of the second snapshot that include the information identifying the location of the changed data objects at the second time;

copying the changed data objects and the second snapshot of the volume of data to a location remote from the volume of data;

wherein mapping the data objects within the volume of data to the snapshots includes mapping individual files or folders within the volume of data to corresponding portions of the snapshots.

4. The method of claim 3 , further comprising:

copying the data objects within the volume of data at the first time and the first snapshot of the volume of data to a location remote from the volume of data.

5. The method of claim 3 , wherein mapping the data objects within the volume of data to the snapshots also includes mapping data blocks of the volume of data to corresponding portions of the snapshots.

6. The method of claim 3 , wherein mapping the data objects within the volume of data to the snapshots also includes mapping clusters of the volume of data to corresponding portions of the snapshots.

7. The method of claim 3 , further comprising:

presenting a data object restoration interface to a user, wherein the data object restoration interface identifies user-selectable options for restoring the volume of data at multiple points in time;

receiving a selection from the user to restore one or more data objects from a previous point in time of the volume of data;

restoring snapshots that include information identifying the one or more data objects; and

overwriting portions of the snapshots created before the restored point-in-time restoration that include information identifying the one or more data objects.

8. The method of claim 3 , further comprising:

presenting a data object restoration interface to a user, wherein the data object restoration interface identifies user-selectable options for restoring the volume of data at multiple points in time;

receiving a selection from the user to restore one or more data objects from a previous point in time of the volume of data; and

determining portions of the snapshots that correspond to the selected one or more data objects; and

restoring the determined portions.

Assignments (7)
SUPPLEMENTAL CONFIRMATORY GRANT OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Apr 16, 2025
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 070864/0344 →
SECURITY INTEREST Recorded Dec 13, 2021
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058496/0836 →
RELEASE OF SECURITY INTEREST Recorded Jan 6, 2021
From: BANK OF AMERICA, N.A.
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 054913/0905 →
SECURITY INTEREST Recorded Jul 2, 2014
From: COMMVAULT SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033266/0678 →
RELEASE Recorded Jul 7, 2008
From: SILICON VALLEY BANK
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 021217/0246 →
SECURITY AGREEMENT Recorded May 8, 2006
From: COMMVAULT SYSTEMS, INC.
To: SILICON VALLEY BANK
Reel/Frame 017586/0261 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2005
From: PRAHLAD, ANAND; NGO, DAVID; VARADHARAJAN, PRAKASH; PAWAR, RAHUL; KUMAR, AVINASH
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 016478/0262 →