IP Library Granted Patent US 9,047,344
Granted Patent B2
US 9,047,344 · App. 11/163,368 · Granted Jun 2, 2015

Guaranteeing data and metadata referential integrity in content management archival solutions

Inventors: Karen W. Brannon (Palo Alto, CA); Ying Chen (San Jose, CA)
Assignee: International Business Machines Corporation
G06F17/3051G06F17/30371G06F17/30368
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 9,047,344
App. No.
11/163,368
Granted
Jun 2, 2015
Kind
B2
Abstract

Fast restoration of referential integrity between metadata and data after they were restored to some inconsistent backup copies in content management archival solutions. An inferred logging mechanism uses separate metadata and data logs to capture recent update activities during normal system conditions with additional object reference information using a method called reference tagging. This requires no system internal changes and introduces no performance overhead. The information in the logs facilitates quick identification of potential referential inconsistencies and allows referential integrity between metadata and data to be restored in a fraction of the time when compared to exhaustive data scans.

Claims (41)

1. A method comprising:

maintaining a metadata update log and a separate data object update log, said metadata update log maintained on a different storage device than that of said data object update log;

upon a data object failure, examining said metadata update log, or upon a metadata failure, examining said data object update log, and identifying only data operations performed between a last backup and just prior to either of said data object failure or said metadata failure by examining either said metadata update log for said data object failure or examining said data object update log for said metadata failure;

identifying, from said identified data operations, a subset of data objects and a subset of metadata with one or more referential inconsistencies, said referential inconsistencies comprising data objects not having corresponding metadata, metadata not having corresponding data objects and mismatched data objects and metadata;

restoring referential integrity only between said subset of data objects and said subset of metadata;

reducing restoration time by narrowing data objects and metadata to be checked to only said subset of metadata, and

where said data object update log is used to deal with metadata failures and said metadata update log that is maintained on said different storage device than that of said data object update log is used to deal with data object failures.

2. The method according to claim 1 , further comprising the step of: tagging said identified data operations in said data objects with object names.

3. The method according to claim 2 , further comprising the step of:

retrieving at least one of said object names corresponding to said one or more referential inconsistencies.

4. The method according to claim 3 , wherein: said at least one of said object names is retrieved from said data object update log.

5. The method according to claim 1 , further comprising the step of:

notifying a user of said one or more referential inconsistencies.

6. The method according to claim 1 , further comprising the step of:

automatically clearing said one or more referential inconsistencies.

7. A computer-based system to guarantee referential integrity between data objects and metadata, comprising:

computer storage having non-transitory computer readable program code implementing:

a data object update log;

a metadata update log maintained on a different storage device than that of said data object update log; and

an inference engine:

upon a data object failure, examining said metadata update log, or upon a metadata failure, examining said data object update log, and identifying only data operations performed between a last backup and just prior to either of said data object failure or said metadata failure by examining either said metadata update log for said data object failure or examining said data object update log for said metadata failure;

identifying, from said identified data operations, a subset of data objects and a subset of metadata with one or more referential inconsistencies, said referential inconsistencies comprising data objects not having corresponding metadata, metadata not having corresponding data objects and mismatched data objects and metadata;

a hardware processor executing said computer readable program code to restore referential integrity only between said subset of data objects and said subset of metadata and to reduce restoration time by narrowing data objects and metadata to be checked to only said subset of metadata, and where said data object update log is used to deal with metadata failures and said metadata update log that is maintained on said different storage device than that of said data object update log is used to deal with data object failures.

8. The computer-based system according to claim 7 , further comprising:

a content manager; and

a metadata storage device connected to said content manager and storing said metadata in a content management database; wherein: said metadata update log is stored in said metadata storage device.

9. The computer-based system according to claim 8 , further comprising:

an intercept module installed in said content manager and tags said identified data operations in said data object update log with object names.

10. The computer-based system according to claim 9 , wherein:

said content manager comprises a client and a server that are interconnected; and

said intercept module is installed in said client.

11. The computer-based system according to claim 7 , further comprising:

reference tags noting metadata updates seen by a data object storage device and data object updates seen by a metadata storage device, wherein:

said inference engine infers said metadata updates and data object updates based on said reference tags.

12. A non-transitory computer storage medium storing computer executable instructions for performing steps to restore referential integrity between data and associated metadata in content management archival, comprising:

computer readable program code maintaining a metadata update log and a separate data object update log, said metadata update log maintained on a different storage device than that of said data object update log,

upon a data object failure, examining said metadata update log, or upon a metadata failure, examining said data object update log, and identifying only data operations performed between a last backup and just prior to either of said data object failure or said metadata failure by examining either said metadata update log for said data object failure or examining said data object update log for said metadata failure;

computer readable program code identifying, from said identified data operations, a subset of data objects and a subset of metadata with one or more referential inconsistencies, said referential inconsistencies comprising data objects not having corresponding metadata, metadata not having corresponding data objects, and mismatched data objects and metadata;

computer readable program code restoring referential integrity only between said subset of data objects and said subset of metadata;

computer readable program code reducing restoration time by narrowing data objects and metadata to be checked to only said subset of metadata, and

where said data object update log is used to deal with metadata failures and said metadata update log that is maintained on said different storage device than that of said data object update log is used to deal with data object failures.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2005
From: BRANNON, KAREN W.; CHEN, YING
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 016804/0733 →
Continuity (1)
Related Publication 20070088754A1 · Apr 19, 2007