IP Library › Granted Patent US 8,818,962
Granted Patent B2
US 8,818,962 · App. 12/788,026 · Granted Aug 26, 2014

Proactive detection of data inconsistencies in a storage system point-in-time copy of data

Inventors: Nagapramod S. Mandagere (San Jose, CA); Ramani R. Routray (San Jose, CA); Sandeep M. Uttamchandani (San Jose, CA); Pin Zhou (San Jose, CA)
Assignee: International Business Machines Corporation
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,818,962
App. No.
12/788,026
Granted
Aug 26, 2014
Kind
B2
Abstract

Embodiments of the invention relate to testing a storage system point-in-time copy of data for consistency. An aspect of the invention includes receiving system and application event information from systems and applications associated with point-in-time copies of data. The system and application event information is associated with each of point-in-time copies of data. At least one point-in-time copy of data is selected for testing. The system and application event information is compared with inconsistency classes to determine tests for testing the point-in-time copy of data. The point-in-time copy of data is tested.

Claims (60)

1. A method of detecting a data inconsistency in a point-in-time copy of data, comprising:

receiving event information from systems and applications associated with a plurality of point-in-time copies of data, each of said copies being a data image of a storage volume's state at a particular time;

correlating events from the event information with at least one said copies;

determining that at least event is associated with a data inconsistency, said determining being based on a probability that there is a data inconsistency with the occurrence of a particular event where the probability is based on an association of the particular event with a previously encountered data inconsistency; and

determining that at least one event is associated with a data inconsistency, including:

identifying, at least one of said copies correlated with an event determined to be associated with a data inconsistency as a candidate point-in-time copy of data, for testing for a data inconsistency;

selecting, particular tests for testing said candidate to determine whether said candidate has a data inconsistency, the selecting being based on a correlation between the event associated with the data inconsistency and a probability that each of the tests will detect the data inconsistency;

scheduling testing of said candidate using said tests, the scheduling includes prioritizing each of the selected tests based on an estimated run time;

testing said candidate with at least one of the tests selected to determine if said candidate has a data inconsistency;

determining that the testing results with at least one data inconsistency, and correcting the at least one inconsistency and providing the corrected point-in-time copy of data;

monitoring performance of the tests and a production application associated with said point-in-time copy of data; and

if performance of the production application is below a pre-determined threshold, throttling the tests to reduce performance impact on the production application.

2. The method of claim 1 , wherein said correlating includes associating each event from the event information with at least one of said copies, the associating being based on:

a particular system that the event information and a particular copy being tested (among said copies) are related to;

an application the event information and a particular copy being tested (among said copies) are related to; and

a time an event in the event information occurred and a time a particular copy being tested (among said copies) was taken.

3. The method of claim 1 , further comprising:

extracting the event information from said systems and applications.

4. The method of claim 1 , wherein the testing includes:

creating a copy of said candidate;

setting the copy of said candidate to a writable state;

mapping the copy of said candidate to a test node;

running said selected tests on said candidate using the test node; and

processing a result of said running while handling silent error information.

5. The system of claim 1 , wherein said test includes creating a copy of said candidate; setting the copy of said candidate to a writable state; mapping the copy of said to a test node; running said selected tests on said candidate using the test node; and processing a result of said running while handling silent error information.

6. A system for detecting a data inconsistency in a point-in-time copy of data, comprising:

a computer-readable medium having computer program instructions; and

a processor executing the computer program instructions to:

receive event information from systems and applications associated with a plurality of point-in-time copies of data, each of said copies being a data image of a storage volume's state at a particular time;

correlate events from the event information with at least one said copies;

determine that at least event is associated with a data inconsistency, said determine being based on a probability that there is a data inconsistency with the occurrence of a particular event where the probability is based on an association of the particular event with a previously encountered data inconsistency; and

determine that at least one event is associated with a data inconsistency, including:

identify, at least one of said copies correlated with an event determined to be associated with a data inconsistency as a candidate point-in-time copy of data, for testing for a data inconsistency;

select, particular tests for testing said candidate to determine whether said candidate has a data inconsistency, the selecting being based on a correlation between the event associated with the data inconsistency and a probability that each of the tests will detect the data inconsistency;

schedule testing of said candidate using said tests, the scheduling includes prioritizing each of the selected tests based on an estimated run time;

test said candidate with at least one of the tests selected to determine if said candidate has a data inconsistency;

determine that the testing results with at least one data inconsistency, and correct the at least one data inconsistency and provide the corrected point-in-time copy of data;

monitor performance of the tests and a production application associated with said point-in-time copy of data; and

if performance of the production application is below a pre-determined threshold, the tests are throttled to reduce performance impact on the production application.

7. The system of claim 6 , wherein said correlate includes associating each event from the event information with at least one of said copies, the associating being based on:

a particular system that the event information and a particular copy being tested (among said copies) are related to;

an application the event information and a particular copy being tested (among said copies) are related to; and

a time an event in the event information occurred and a time a particular copy being tested (among said copies) was taken.

8. A computer program product for detecting a data inconsistency in a point-in-time copy of data, the computer program product comprising a non-transitory computer readable storage medium having computer readable program code embodied therewith, said program code being executable by a processor to:

receive event information from systems and applications associated with a plurality of point-in-time copies of data, each of said copies being a data image of a storage volume's state at a particular time;

correlate each event from the event information with at least one said copies;

determine that at least event is associated with a data inconsistency, said determining by using probability that there is a data inconsistency with the occurrence of a particular event where the probability is based on an association of the particular event with a previously encountered data inconsistency; and

determine that at least one event is associated with a data inconsistency, including:

identify, at least one of said copies correlated with an event determined to be associated with a data inconsistency as a candidate point-in-time copy of data, for testing for a data inconsistency;

select, particular tests for testing said candidate to determine whether said candidate has a data inconsistency, the selecting being based on a correlation between the event associated with the data inconsistency and a probability that each of the tests will detect the data inconsistency;

schedule testing of said candidate using said tests, the scheduling includes prioritizing each of the selected tests based on an estimated run time;

test said candidate with at least one of the tests selected to determine if said candidate has a data inconsistency;

determine that the testing results with at least one data inconsistency, and correct the at least one inconsistency and provide the corrected point-in-time copy of data;

monitor performance of the tests and a production application associated with said point-in-time copy of data; and

if performance of the production application is below a pre-determined threshold, the tests are throttled to reduce performance impact on the production application.

9. The computer program product of claim 8 , wherein said correlating includes associating each event from the event information with at least one of said copies, the associating being based on:

a particular system that the event information and a particular copy being tested (among said copies) are related to;

an application the event information and a particular copy being tested (among said copies) are related to; and

a time an event in the event information occurred and a time a particular copy being tested (among said copies) was taken.

10. The computer program product of claim 8 , wherein said test includes creating a copy of said candidate; setting the copy of said candidate to a writable state; mapping the copy of said to a test node; running said selected tests on said candidate using the test node; and processing a result of said running while handling silent error information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2010
From: MANDAGERE, NAGAPRAMOD S.; ROUTRAY, RAMANI R.; UTTAMCHANDANI, SANDEEP M.; ZHOU, PIN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 024446/0579 →
Continuity (1)
Related Publication 20110295815A1 · Dec 1, 2011