IP Library Granted Patent US 11,853,575
Granted Patent B1
US 11,853,575 · App. 16/836,288 · Granted Dec 26, 2023

Method and system for data consistency across failure and recovery of infrastructure

Inventors: Rushikesh Patil (Maharashtra, IN); Vishal Thakur (Maharashtra, IN); Sunil Hasbe (Maharashtra, IN)
Assignee: Veritas Technologies LLC
G06F3/0641G06F3/064G06F3/065G06F3/0619G06F3/0659G06F3/0673G06F11/1453G06F11/1469
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 11,853,575
App. No.
16/836,288
Granted
Dec 26, 2023
Kind
B1
Abstract

A method and system for data consistency across failure and recovery of infrastructure. In one embodiment of the method, copies of first data blocks stored in a source memory are sent to a target site via a data link. While sending one or more of the copies of the first data blocks to the target site, source hashes for second data blocks stored in the source memory are calculated, wherein the first data blocks are distinct from the second data blocks. While sending one or more of the copies of the first data blocks to the target site, target hashes of data blocks stored in a target memory of the target site are received. While sending one or more of the copies of the first data blocks to the target site, the source hashes are compared with the target hashes, respectively. After sending the first data blocks to the target site via the data link, copies of only those second data blocks are sent to the target site with source hashes that do not compare equally with respective target hashes.

Claims (43)

1. A method comprising:

during a first period of time, sending copies of n data blocks stored in a source memory to a target site via a data link, wherein n is an integer greater than two;

while sending copies of the n data blocks to the target site, calculating source hashes for some but not all of m data stored in the source memory, wherein m is an integer greater than two, wherein no data blocks are common between the n data blocks and the m data blocks;

receiving target hashes of data blocks stored in a target memory of the target site;

comparing the calculated source hashes with respective target hashes;

during a second period of time, sending copies of only those blocks of the m data blocks to the target site with calculated source hashes, respectively, that do not compare equally to respective target hashes;

wherein the first and second periods of time are non-overlapping;

wherein the second period of time is after the first period of time.

2. The method of claim 1 wherein each of the target hashes were calculated for a respective data block of the data blocks stored in the target memory.

3. The method of claim 1 wherein each of the source and target memories store Z contiguous data blocks, wherein m+n=Z.

4. The method of claim 3 wherein the data blocks in the target memory are contiguous with each other.

5. The method of claim 4 wherein the m consecutive data blocks correspond to m consecutive data blocks, respectively, of the target memory.

6. The method of claim 5 further comprising replacing n data blocks of the target memory with the copies of the n consecutive blocks, respectively.

7. A non-transitory computer readable medium (CRM) comprising instructions that are executable on one or more processors to implement a method, the method comprising:

during a first period of time, sending copies of n data blocks stored in a source memory to a target site via a data link, wherein n is an integer greater than two;

while sending copies of the n data blocks to the target site, calculating source hashes for some but not all of m data stored in the source memory, wherein m is an integer greater than two, wherein no data blocks are common between the n data blocks and the m data blocks;

receiving target hashes of data blocks stored in a target memory of the target site;

comparing the calculated source hashes with respective target hashes;

during a second period of time, sending copies of only those blocks of the m data blocks to the target site with calculated source hashes, respectively, that do not compare equally to respective target hashes;

wherein the first and second periods of time are non-overlapping;

wherein the second period of time is after the first period of time.

8. The non-transitory of claim 7 wherein each of the target hashes were calculated for a respective data block of the data blocks stored in the target memory.

9. The non-transitory CRM of claim 7 wherein each of the source and target memories store Z contiguous data blocks, wherein m+n=Z.

10. The non-transitory CRM of claim 9 wherein the data blocks in the target memory are contiguous with each other.

11. The non-transitory CRM of claim 10 wherein the m consecutive data blocks correspond to m consecutive data blocks, respectively, of the target memory.

12. The non-transitory CRM of claim 11 wherein the method further comprises replacing n data blocks of the target memory with the copies of the n consecutive blocks, respectively.

13. A computer system comprising:

one or more processors;

a computer-readable storage medium coupled to the one or more processors; and

a plurality of instructions, encoded in the computer-readable storage medium, wherein a method is implemented in response to executing the instructions, the method comprising:

during a first period of time, sending copies of n data blocks stored in a source memory to a target site via a data link, wherein n is an integer greater than two;

while sending copies of the n data blocks to the target site, calculating source hashes for some but not all of m data stored in the source memory, wherein m is an integer greater than two, wherein no data blocks are common between the n data blocks and the m data blocks;

receiving target hashes of data blocks stored in a target memory of the target site;

comparing the calculated source hashes with respective target hashes;

during a second period of time, sending copies of only those blocks of the m data blocks to the target site with calculated source hashes, respectively, that do not compare equally to respective target hashes;

wherein the first and second periods of time are non-overlapping;

wherein the second period of time is after the first period of time.

14. The computer system of claim 13 wherein each of the target hashes were calculated for a respective data block of the data blocks stored in the target memory.

15. The computer system of claim 13 ,

wherein each of the source and target memories store Z contiguous data blocks,

wherein n+m=Z;

wherein the Z data blocks are contiguous with each other in the target memory;

wherein the m consecutive data blocks correspond to m data blocks, respectively, of the target memory.

Assignments (9)
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069574/0951 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
TERMINATION AND RELESAE OF SECURITY INTEREST IN PATENTS AT R/F 053640/0780 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0492 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Aug 31, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 053640/0780 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Jul 31, 2020
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 053373/0367 →
Continuity (1)
Provisional Application 62859092 · Jun 8, 2019