IP Library Granted Patent US 8,788,769
Granted Patent B2
US 8,788,769 · App. 12/947,393 · Granted Jul 22, 2014

System and method for performing backup or restore operations utilizing difference information and timeline state information

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 8,788,769
App. No.
12/947,393
Granted
Jul 22, 2014
Kind
B2
Abstract

Systems and methods for backing-up data from a first storage pool to a second storage pool using difference information between time states are disclosed. The system has a data management engine for performing data management functions, including at least a back-up function to create a back-up copy of data. By executing a sequence of snapshot operations to create point-in-time images of application data on a first storage pool, each successive point-in-time image corresponding to a specific, successive time-state of the application data, a series of snapshots is created. The snapshots are then used to create difference information indicating which application data has changed and the content of the changed application data for the corresponding time state. This difference information is then sent to a second storage pool to create a back-up copy of data for the current time-state.

Claims (25)

1. A system for restoring data to a destination storage pool from back-up point-in-time images of the data on a source storage pool using difference information between time states of the point-in-time images so that the restore can be performed by only copying the difference information to the destination storage pool, said system comprising:

an object manager operable to simultaneously store a first set of a plurality of point-in-time images of application data over time in a source storage pool, each point-in-time image representing the entire application data at a back-up time, the plurality of point-in-time images comprising:

an initial point-in-time image of the application data created at a first back-up time for the application data by copying a full copy of the application data; and

a plurality of successive point-in-time images for subsequent back-up versions of the application data after the initial point-in-time image, wherein:

each of the successive point-in-time images corresponds to a subsequent time-state of when the point-in-time image was made for the application data, each point-in-time image time-state being different than the time-states of the remaining point-in-time images from the first set of point-in-time images; and

each of the successive point-in-time images is created based on (a) difference information indicating a portion of changed application data from a previous point-in-time image in the first set of point-in-time images, and content of the portion of changed application data for the time-state of the point-in-time image; and (b) a reference to unchanged application data in the previous point-in-time image so that the unchanged data need not be copied again from the previous point-in-time image;

a data management engine operable to:

maintain history information indicating the time-states for the first set of point-in-time images of the application data; and

restore application data in the source storage pool to a restore point-in-time image from the first set of point-in-time images of the application data to a destination storage pool, wherein the restore point-in-time image corresponds to a specified restore time-state, comprising:

identifying the existence of a prior point-in-time image of the application data in a second set of a plurality of point-in-time images simultaneously stored at the destination storage pool for a time-state prior to the specified restore time-state, wherein the prior point-in-time image corresponds to a common point-in-time image that is also in the first set of point-in-time images in the source storage pool,

creating composite difference information between the common point-in-time image in the source storage pool and the restore point-in-time image in the source storage pool, and

sending the composite difference information from the source storage pool to the destination storage pool, said difference information indicating which application data has changed and the content of the changed application data for the time between the specified restore time state and the prior time state for the point-in-time image identified on the destination storage pool so that the restore operation can be performed by only copying the composite difference information to the destination storage pool.

2. The system of claim 1 , wherein difference information includes bitmap information with each bit of the bitmap corresponding to a portion of primary storage data, and includes back-up data for those portions of the bitmap which are set to indicate that data has changed.

3. The system of claim 1 , wherein difference information includes extent information.

4. The system of claim 1 , wherein the prior time-state and the specified time-state are non-consecutive time-states.

5. A system for backing-up data from a first storage pool to a second storage pool using difference information between time states, said system comprising a data management engine operable to:

identify a first set of a plurality of point-in-time images simultaneously stored on a first storage pool and a second set of a plurality of point-in-time images simultaneously stored on a second storage pool, each point-in-time image from the first set of point-in-time images and the second set of point-in-time images:

corresponding to a time-state of when the point-in-time image was made for application data; and

being created based on (a) difference information indicating a portion of changed application data from a previous point-in-time image in the set of point-in-time images, and content of the portion of changed application data for the time-state; and (b) a reference to unchanged application data in the previous point-in-time image so that the unchanged data need not be copied again from the previous point-in-time image;

identify a common point-in-time image between the first set of point-in-time images and the second set of point-in-time images, the common point-in-time image comprising a most recent common time-state between the first set of point-in-time images and the second set of point-in-time images;

generate composite difference information between the common point-in-time image in the first set of point-in-time images and a back-up point-in-time image in the first set of point-in-time images for a specified back-up time-state, said composite difference information indicating which application data has changed and the content of the changed application data for the time between the time-state of the common point-in-time image and the and the later back-up time-state; and

transmit the composite difference information to the second storage pool to be compiled with the second point-in-time image to create a back-up copy of the application data for the back-up time-state by only copying the composite difference information to the second storage pool.

6. The system of claim 5 , wherein difference information includes bitmap information with each bit of the bitmap corresponding to a portion of primary storage data, and including new data for those portions of the bitmap which are set to indicate that data has changed.

7. The system of claim 5 , wherein difference information includes extent information.

8. The system of claim 5 , wherein multiple back-up functions are scheduled to occur simultaneously, each with different gaps of non-consecutive time-states, and each with different composite difference information generated corresponding to the different gaps.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2021
From: ACTIFIO, INC.
To: GOOGLE LLC
Reel/Frame 056911/0517 →
RELEASE OF SECURITY INTEREST Recorded May 29, 2020
From: CRESTLINE DIRECT FINANCE, L.P., AS COLLATERAL AGENT
To: ACTIFIO, INC.
Reel/Frame 053483/0084 →
SECURITY INTEREST Recorded Aug 3, 2018
From: ACTIFIO, INC.
To: CRESTLINE DIRECT FINANCE, L.P., AS ADMINISTRATIVE AGENT, COLLATERAL AGENT AND SOLE LEAD ARRANGER
Reel/Frame 046702/0543 →
RELEASE OF SECURITY INTEREST Recorded May 5, 2017
From: HERCULES CAPITAL, INC. (FORMERLY KNOWN AS HERCULES TECHNOLOGY GROWTH CAPITAL, INC.)
To: ACTIFIO, INC.
Reel/Frame 042415/0395 →
RELEASE OF SECURITY INTEREST Recorded May 5, 2017
From: SILICON VALLEY BANK
To: ACTIFIO, INC.
Reel/Frame 042415/0317 →
SECURITY AGREEMENT Recorded Jul 16, 2015
From: ACTIFIO, INC.
To: SILICON VALLEY BANK
Reel/Frame 036113/0970 →
SECURITY INTEREST Recorded Jul 14, 2015
From: ACTIFIO, INC.
To: HERCULES TECHNOLOGY GROWTH CAPITAL, INC., AS AGENT
Reel/Frame 036106/0004 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2011
From: ABERCROMBIE, PHILIP J.; MUTALIK, MADHAV; PROVENZANO, CHRISTOPHER A.; ROMAN, MARK A.
To: ACTIFIO, INC.
Reel/Frame 025621/0808 →