IP Library Granted Patent US 7,032,089
Granted Patent B1
US 7,032,089 · App. 10/457,670 · Granted Apr 18, 2006

Replica synchronization using copy-on-read technique

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,032,089
App. No.
10/457,670
Granted
Apr 18, 2006
Kind
B1
Abstract

A method, system, and computer program product are provided to synchronize data maintained in separate storage areas using a copy-on-read technique. The separate storage areas may be distributed across a network, and the replicas of the data may be used for backup and/or disaster recovery purposes. Storage objects containing data and information relevant to managing the data by a particular application are identified, and only those storage objects are read. Data contained in the storage objects read are then copied to the replica storage area. This process avoids reading non-useful data, making the synchronization more efficient and conserving bandwidth of connections over which the data are sent.

Claims (82)

1. A method comprising:

selecting a first storage object of a first storage area;

determining whether the first storage object contains relevant data;

if the first storage object contains relevant data, performing the following:

reading the first storage object; and

when the reading is completed, copying contents of the first storage object to a second storage object of a second storage area; and

if the first storage object does not contain relevant data,

selecting a second storage object of the first storage area without reading the first storage object and without copying the contents of the first storage object to the second storage object.

2. The method of claim 1 wherein

the copying the contents of the first storage object to the second storage object comprises sending the contents over a network connection from the first storage area to the second storage area.

3. The method of claim 1 wherein

the determining whether the first storage object contains relevant data is performed by a program managing the data.

4. The method of claim 1 wherein

the copying the contents is performed by a program replicating the data from the first storage area to the second storage area.

5. The method of claim 1 wherein

the determining whether the first storage object contains relevant data is performed by a second program external to a first program managing the data.

6. The method of claim 1 further comprising:

when the contents of the first storage object change such that the first storage object contains second contents and the second contents are relevant data, copying the second contents to the second storage area.

7. A method comprising:

selecting a first storage object of a first storage area;

determining whether the first storage object contains relevant data;

if the first storage object contains relevant data, performing the following:

identifying a second storage object of a second storage area corresponding to the first storage object of the first storage area, wherein

contents of the second storage object were previously copied from contents of the first storage object;

comparing the contents of the first storage object to the contents of the second storage object; and

when the contents of the first storage object and the contents of the second storage object do not match, copying the contents of the first storage object to the second storage object; and

if the first storage object does not contain relevant data,

selecting a second storage object of the first storage area without reading the first storage object and without copying the contents of the first storage object to the second storage object.

8. The method of claim 7 wherein

the comparing comprises:

comparing a first checksum computed from the contents of the first storage object with a second checksum computed from the contents of the second storage object; and

determining that the contents of the first storage object do not match the contents of the second storage object when the first and second checksums do not match.

9. A system comprising:

selecting means for selecting a first storage object of a first storage area;

determining means for determining whether the first storage object contains relevant data;

reading means for reading the first storage object if the first storage object contains relevant data; and

copying means for copying contents of the first storage object to a second storage object of a second storage area if the first storage object contains relevant data;

selecting means for selecting a second storage object of the first storage area without reading the first storage object and without copying the contents of the first storage object to the second storage object if the first storage object does not contain relevant data.

10. The system of claim 9 wherein

the copying means are configured to be placed into a copy-on-read mode prior to the reading means reading the first storage object.

11. The system of claim 9 further comprising:

sending means for sending the contents over a network connection from the first storage area to the second storage area.

12. The system of claim 9 further comprising:

second copying means for copying second contents of the first storage object to the second storage object if the second contents are relevant data.

13. A system comprising:

a selecting module configured to select a first storage object of a first storage area;

a determining module configured to determine whether the first storage object contains relevant data;

a reading module configured to read the first storage object if the first storage object contains relevant data;

a copying module configured to copy contents of the first storage object to a second storage object of a second storage area when the reading is completed if the first storage object contains relevant data; and

a selecting module to select a second storage object of the first storage area without reading the first storage object and without copying the contents of the first storage object to the second storage object if the first storage object does not contain relevant data.

14. The system of claim 13 wherein

the copying module is configured to be placed into a copy-on-read mode prior to the reading module reading the first storage object.

15. The system of claim 13 further comprising:

a sending module configured to send the contents over a network connection from the first storage area to the second storage area.

16. The system of claim 13 wherein

the copying module is further configured to copy second contents of the first storage object to the second storage object if the second contents are relevant data.

17. A computer system comprising:

a processor for executing instructions; and

a memory for storing the instructions, wherein the instructions comprise:

selecting instructions configured to select a first storage object of a first storage area;

determining instructions configured to determine whether the first storage object contains relevant data;

reading instructions configured to read the first storage object if the first storage object contains relevant data; and

copying instructions configured to copy contents of the first storage object to a second storage object of a second storage area when the reading is completed if the first storage object contains relevant data; and

selecting instructions configured to select a second storage object of the first storage area without reading the first storage object and without copying the contents of the first storage object to the second storage object if the first storage object does not contain relevant data.

18. The computer system of claim 17 wherein

the copying instructions are configured to be placed into a copy-on-read mode prior to the reading instructions reading the first storage object.

19. The computer system of claim 17 further comprising:

sending instructions configured to send the contents over a network connection from the first storage area to the second storage area.

20. The computer system of claim 17 wherein

the copying instructions are further configured to copy second contents of the first storage object to the second storage object if the second contents are relevant data.

21. A computer-readable medium comprising:

selecting instructions configured to select a first storage object of a first storage area;

determining instructions configured to determine whether the first storage object contains relevant data;

reading instructions configured to read the first storage object if the first storage object contains relevant data;

copying instructions to copy contents of the first storage object to a second storage object of a second storage area when the reading is completed if the first storage object contains relevant data; and

selecting instructions configured to select a second storage object of the first storage area without reading the first storage object and without copying the contents of the first storage object to the second storage object if the first storage object does not contain relevant data.

22. The computer-readable medium of claim 21 wherein

the copying instructions are configured to be placed into a copy-on-read mode prior to the reading module reading the first storage object.

23. The computer-readable medium of claim 21 further comprising:

sending instructions configured to send the contents over a network connection from the first storage area to the second storage area.

24. The computer-readable medium of claim 21 wherein

the copying instructions are further configured to copy second contents of the first storage object to the second storage object if the second contents are relevant data.

Assignments (6)
SECURITY INTEREST Recorded Jan 11, 2017
From: MOTHEYE TECHNOLOGIES, LLC; SYNCHRONICITY IP LLC; TRAVERSE TECHNOLOGIES CORP.; 3D NANOCOLOR CORP.; BISMARCK IP INC.; MAGNUS IP GMBH; MUNITECH IP S.À.R.L.; VERMILION PARTICIPATIONS; MARATHON VENTURES S.À.R.L; NYANZA PROPERTIES; MARATHON IP GMBH; ORTHOPHOENIX, LLC; MEDTECH DEVELOPMENT DEUTSCHLAND GMBH; SYNCHRONICITY IP GMBH; TLI COMMUNICATIONS GMBH
To: DBD CREDIT FUNDING LLC, AS COLLATERAL AGENT
Reel/Frame 041333/0001 →
SECURITY INTEREST Recorded Feb 2, 2015
From: MARATHON PATENT GROUP, INC.; CLOUDING CORP.
To: DBD CREDIT FUNDING, LLC
Reel/Frame 034873/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2014
From: CLOUDING IP, LLC
To: CLOUDING CORP.
Reel/Frame 033709/0456 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2012
From: SYMANTEC
To: STEC IP, LLC
Reel/Frame 028271/0971 →
CHANGE OF NAME Recorded May 25, 2012
From: STEC IP, LLC
To: CLOUDING IP, LLC
Reel/Frame 028275/0896 →
CHANGE OF NAME Recorded Oct 1, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 019899/0213 →