IP Library Patent Application 14309033
Patent Application
App. No. 14/309,033

SYSTEM AND METHOD FOR PERFORMING BACKUP OR RESTORE OPERATIONS UTILIZING DIFFERENCE INFORMATION AND TIMELINE STATE INFORMATION

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 None
App. No.
14/309,033
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 (50)

1 . (canceled)

2 . 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:

a first point-in-time image of the application data created at a first-back-up time for the application data, the first point-in-time image comprising a full copy of the application data; and

a plurality of additional point-in-time images comprising back-up versions of the application data, wherein:

each of the additional point-in-time images corresponds to a different time-state of the application data, each point-in-time image time-state being different than the time-states of the remaining point-in-time images; and

each of the additional 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 (b) a reference to unchanged application data in the previous point-in-time image so that the unchanged data need not be copied again; and

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 from in the source storage pool to destination storage pool, wherein the restore point-in-time image corresponds to a specified restore time-state, comprising:

identifying the existence of an associated 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, wherein the associated 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, and wherein the associated point-in-time image corresponds to an associated time state;

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 associated 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.

3 . The system of claim 2 , 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.

4 . The system of claim 2 , wherein difference information includes extent information.

5 . The system of claim 2 , wherein the associated time-state and the specified time-state are non-consecutive time-states.

6 . The system of claim 2 , wherein a data management virtualization system is configured to use the system of claim 2 in at least one of remote data backup, testing and development, business continuity, disaster recovery, or any combination thereof.

7 . A system for backing-up data from a first storage pool to a second storage pool using difference information between time states, the system comprising a memory containing instructions for execution by a processor, the processor configured 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 first 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 a 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 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.

8 . The system of claim 7 , 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.

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

10 . The system of claim 7 , wherein the time-state of the common point-in-time image and the back-up time-state are non-consecutive time-states.

11 . The system of claim 7 , wherein a data management virtualization system is configured to use the system of claim 7 in at least one of remote data backup, testing and development, business continuity, disaster recovery, or any combination thereof.

12 . A computerized method for backing-up data from a first storage pool to a second storage pool using difference information between time states, the method comprising:

identifying, by a computing device, 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 first 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 a previous point-in-time image so that the unchanged data need not be copied again from the previous point-in-time image;

identifying, by the computing device, 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;

generating, by the computing device, 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 back-up time-state; and

transmitting, by the computing device, 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.

13 . The computerized method of claim 12 , 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.

14 . The computerized method of claim 12 , wherein difference information includes extent information.

15 . The computerized method of claim 12 , wherein the time-state of the common point-in-time image and the back-up time-state are non-consecutive time-states.

16 . The computerized method of claim 12 , further comprising using the method of claim 12 in at least one of remote data backup, testing and development, business continuity, disaster recovery, or any combination thereof.

17 . A non-transitory computer-readable medium storing computer-readable instructions that, when executed, instruct a processor to perform processes comprising:

identifying 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 first 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 a previous point-in-time image so that the unchanged data need not be copied again from the previous point-in-time image;

identifying 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;

generating 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 back-up time-state; and

transmitting 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.

18 . The non-transitory computer-readable medium of claim 17 , 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.

19 . The non-transitory computer-readable medium of claim 17 , wherein difference information includes extent information.

20 . The non-transitory computer-readable medium of claim 17 , wherein the time-state of the common point-in-time image and the back-up time-state are non-consecutive time-states.

21 . The non-transitory computer-readable medium of claim 17 , further comprising using the processes of claim 17 in at least one of remote data backup, testing and development, business continuity, disaster recovery, or any combination thereof.

Assignments (6)
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 5, 2017
From: SILICON VALLEY BANK
To: ACTIFIO, INC.
Reel/Frame 042415/0317 →
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 →
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 Apr 8, 2015
From: ABERCROMBIE, PHILIP J.; PROVENZANO, CHRISTOPHER A.; ROMAN, MARK A.; MUTALIK, MADHAV
To: ACTIFIO, INC.
Reel/Frame 035360/0640 →