IP Library Granted Patent US 9,384,232
Granted Patent B2
US 9,384,232 · App. 14/628,851 · Granted Jul 5, 2016

Confirming data consistency in a data storage environment

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,384,232
App. No.
14/628,851
Granted
Jul 5, 2016
Kind
B2
Abstract

A method for confirming replicated data at a data site, including utilizing a hash function, computing a first hash value based on first data at a first data site and utilizing the same hash function, computing a second hash value based on second data at a second data site, wherein the first data had previously been replicated from the first data site to the second data site as the second data. The method also includes comparing the first and second hash values to determine whether the second data is a valid replication of the first data. In additional embodiments, the first data may be modified based on seed data prior to computing the first hash value and the second data may be modified based on the same seed data prior to computing the second hash value. The process can be repeated to increase reliability of the results.

Claims (38)

1. A method for confirming validity of replicated data at a data storage site, the method comprising:

a) replicating first data from a first computer readable storage medium at a first data storage site as second data to a second computer readable storage medium at a second data storage site;

b) transmitting a hash function, executable by a computer processor, and a hash seed via a computer network from at least one of the first or second data storage sites to the other of the first or second data storage sites so that the hash function and hash seed are available for use by both first and second data storage sites;

c) modifying the first data stored on the first computer readable storage medium at the first data storage site based on the hash seed, and utilizing the hash function, computing a first hash value based on the seed-modified first data, the first hash value being smaller in size than the first data;

d) modifying the second data stored on the second computer readable storage medium at the second data storage site based on the hash seed, and utilizing the hash function, computing a second hash value based on the seed-modified second data, the second hash value being smaller in size than the second data;

e) transmitting at least one of the first or second hash values via a computer network for comparing with the other of the first or second hash values, instead of transmitting the larger sized first or second data via the computer network; and

f) comparing the first and second hash values, in lieu of comparing the actual first and second data, to determine whether the second data is a valid replication of the first data, wherein a mismatch between the first and second hash values indicates that at least one of the first or second data storage sites includes invalid data.

2. The method of claim 1 , wherein the first and second data storage sites are remotely connected by the computer network.

3. The method of claim 1 , further comprising providing a data structure storing a plurality of hash functions executable by a computer processor, each being available for use by the first and second data storage sites.

4. The method of claim 3 , further comprising selecting the hash function from the data structure storing a plurality of hash functions for utilization in computing the first and second hash values.

5. The method of claim 1 , further comprising:

utilizing a second hash function executable by a computer processor, computing a third hash value based on the first data stored on the first computer readable storage medium at the first data storage site;

utilizing the second hash function, computing a fourth hash value based on the second data stored on the second computer readable storage medium at the second data storage site;

transmitting at least one of the third or fourth hash values via a computer network for comparing with the other of the third or fourth hash values; and

comparing the third and fourth hash values, in lieu of comparing the actual first and second data, to determine whether the second data is a valid replication of the first data.

6. The method of claim 1 , further comprising:

modifying the first and second data based on a second hash seed;

utilizing the hash function, computing a third hash value based on the second hash seed-modified first data;

utilizing the hash function, computing a fourth hash value based on the second hash seed-modified second data; and

comparing the third and fourth hash values to determine whether the second data is a valid replication of the first data.

7. The method of claim 1 , further comprising repeating steps through b) through e) a plurality of times, each time utilizing a different hash function than in a previous time.

8. The method of claim 7 , wherein the steps b) through e) are repeated according to a predetermined periodic cycle.

9. An information handling system comprising:

a first data storage site comprising a computer readable storage medium storing first data, and a computer processor computing a first hash value based on the first data and a hash seed, utilizing a hash function; and

a second data storage site comprising a computer readable storage medium storing data replicated from the first data storage site and a computer processor computing a second hash value based on second data and a hash seed, utilizing the same hash function;

wherein at least one of the first data storage site and second data storage site is configured to transmit the hash function and hash seed via a computer network to the other of the first data storage site or second data storage site so that the hash function and hash seed are available for use by both first and second data storage sites; and

wherein at least one of the first data storage site and second data storage site is configured to transmit its computed hash value via the computer network to the other of the first data storage site and second data storage site for comparison of the first hash value with the second hash value, in lieu of comparing the actual first and second data, to determine whether the second data is a valid replication of the first data, wherein a mismatch between the first and second hash values indicates that at least one of the first or second data storage sites includes invalid data.

10. The information handling system of claim 9 , wherein the first data storage site and the second data storage site are remotely connected via the computer network.

11. A method for confirming validity of replicated data at a data storage site, the method comprising:

a) replicating first data from a first computer readable storage medium at a first data storage site as second data to a second computer readable storage medium at a second data storage site;

b) transmitting a hash function, executable by a computer processor, and a hash seed via a computer network from at least one of the first or second data storage sites to the other of the first or second data storage sites so that the hash function and hash seed are available for use by both first and second data storage sites;

c) modifying a selected portion of the first data stored on the first computer readable storage medium at the first data storage site based on the hash seed, and utilizing the hash function, computing a first hash value based on the seed-modified selected portion of the first data;

d) modifying a selected portion of the second data stored on the second computer readable storage medium at the second data storage site based on the hash seed, and utilizing the hash function, computing a second hash value based on the seed-modified selected portion of the second data, the selected portion of the second data corresponding to the selected portion of the first data;

e) transmitting at least one of the first or second hash values via a computer network for comparing with the other of the first or second hash values, instead of transmitting the larger sized first or second data via the computer network;

f) comparing the first and second hash values, in lieu of comparing the actual first and second data, to determine whether the selected portion of second data is a valid replication of the selected portion of first data; and

f) repeating steps c) through f) a plurality of times, each time utilizing a different selected portion of the first data and corresponding selected portion of the second data than in a previous time, wherein a mismatch between the first and second hash values indicates that at least one of the first or second data storage sites includes invalid data.

12. The method of claim 11 , wherein the first and second data storage sites are remotely connected by the network.

13. The method of claim 11 , wherein the steps c) through f) are repeated according to a predetermined periodic cycle, each subsequent repetition in a contiguous chain of repetitions resulting in a match of the first and second hash values increasing the likelihood that the second data is a valid replication of the first data.

Assignments (16)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
RELEASE OF REEL 035860 FRAME 0878 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040027/0158 →
RELEASE OF REEL 035860 FRAME 0797 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040028/0551 →
RELEASE OF REEL 035858 FRAME 0612 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040017/0067 →
MERGER Recorded Mar 10, 2016
From: COMPELLENT TECHNOLOGIES, INC.
To: DELL INTERNATIONAL L.L.C.
Reel/Frame 038058/0502 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035860/0878 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 035860/0797 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 035858/0612 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2015
From: PITTELKO, MICHAEL H.
To: COMPELLENT TECHNOLOGIES
Reel/Frame 035007/0540 →