IP Library Granted Patent US 8,799,211
Granted Patent B1
US 8,799,211 · App. 11/221,114 · Granted Aug 5, 2014

Cascaded replication system with remote site resynchronization after intermediate site failure

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,799,211
App. No.
11/221,114
Granted
Aug 5, 2014
Kind
B1
Abstract

Various methods and systems for performing cascaded replication are disclosed. For example, one method involves receiving an acknowledgment at a primary replication site from an intermediate replication site. The acknowledgment identifies whether a change has been applied to a remote replication site. The method also involves updating a journal, in response to the acknowledgment. The journal identifies whether the change is currently being replicated. The method can also involve detecting that the intermediate replication site is inaccessible. In response, the method synchronizes a copy of application data at the remote replication site by applying one or more changes identified in the journal to the copy of the application data at the remote replication site.

Claims (97)

1. A computer implemented method comprising:

detecting a change at a primary replication site, wherein the primary replication site comprises a storage device;

updating a journal in response to detecting the change at the primary replication site, wherein the journal is stored in the storage device, and wherein the updating the journal in response to the detecting causes the journal to indicate that the change is currently being replicated;

replicating the change to an intermediate replication site, wherein the replicating is performed by the primary replication site;

receiving an acknowledgment at the primary replication site from the intermediate replication site, wherein

the acknowledgment identifies whether the change has been successfully replicated from the intermediate replication site to a remote replication site, wherein replication of the change comprises application of the change to the remote site; and

updating the journal, in response to the acknowledgment, wherein the updating the journal in response to the acknowledgement causes the journal to indicate that the change is no longer being replicated.

2. The computer implemented method of claim 1 , wherein:

the updating the journal in response to the acknowledgement comprises updating a pointer;

the pointer points to a position within the journal;

the acknowledgment comprises information identifying a location of a second pointer;

the second pointer points to a position within a second journal located at the intermediate replication site; and

after the journal is updated, the pointer points to an entry that corresponds to the entry identified by the second pointer.

3. The computer implemented method of claim 2 , further comprising:

detecting that the intermediate replication site is inaccessible; and

synchronizing a copy of application data at the remote replication site, wherein

the synchronizing comprises applying each change identified in the journal to the copy of the application data at the remote replication site.

4. The computer implemented method of claim 1 , wherein:

the updating the journal in response to the acknowledgement comprises inserting a marker into an entry in the journal;

the acknowledgement identifies that modifications that occurred in a prior replication period have been applied to the remote site; and

periodic replication is performed between the intermediate replication site and the remote replication site.

5. The computer implemented method of claim 4 , further comprising:

detecting that the intermediate replication site is inaccessible; and

synchronizing a copy of application data at the remote replication site, wherein

the synchronizing comprises applying each change identified in the journal, subsequent to a second marker corresponding to the end of the prior replication period, to the copy of the application data at the remote replication site.

6. A non-transitory computer readable storage medium comprising program instructions executable to:

detect a change at a primary replication site, wherein the primary replication site comprises a storage device;

update a journal in response to detecting the change at the primary replication site, wherein the journal is stored in the storage device, and wherein the updating the journal in response to the detecting causes the journal to indicate that the change is currently being replicated;

replicate the change to an intermediate replication site, wherein the replicating is performed by the primary replication site;

detect an acknowledgment received at the primary replication site from the intermediate replication site, wherein

the acknowledgment identifies whether the change has been successfully replicated from the intermediate replication site to a remote replication site, wherein replication of the change comprises application of the change to the remote site; and

update the journal, in response to the acknowledgment, wherein

the updating the journal in response to the acknowledgement causes the journal to indicate that the change is no longer being replicated.

7. The non-transitory computer readable storage medium of claim 6 , wherein:

updating the journal in response to the acknowledgement comprises updating a pointer;

the pointer points to a position within the journal;

the acknowledgment comprises information identifying a location of a second pointer;

the second pointer points to a position within a second journal located at the intermediate replication site; and

after the journal is updated, the pointer points to an entry that corresponds to the entry identified by the second pointer.

8. The non-transitory computer readable medium storage of claim 7 , wherein the program instructions are further executable to:

detect that the intermediate replication site is inaccessible; and

synchronize a copy of application data at the remote replication site, wherein

synchronizing the copy comprises applying each change identified in the journal to the copy of the application data at the remote replication site.

9. The non-transitory computer readable storage medium of claim 6 , wherein:

updating the journal in response to the acknowledgement comprises inserting a marker into an entry in the journal;

the acknowledgement identifies that modifications that occurred in a prior replication period have been applied to the remote site; and

periodic replication is performed between the intermediate replication site and the remote replication site.

10. The non-transitory computer readable storage medium of claim 9 , wherein the program instructions are further executable to:

detect that the intermediate replication site is inaccessible; and

synchronize a copy of application data at the remote replication site, wherein

synchronizing the copy comprises applying each change identified in the journal, subsequent to a second marker corresponding to the end of the prior replication period, to the copy of the application data at the remote replication site.

11. A system comprising:

a processor; and

a memory coupled to the processor, wherein the memory stores program instructions executable by the processor to:

detect a change at a primary replication site, wherein the primary replication site comprises a storage device;

update a journal in response to detecting the change at the primary replication site, wherein the journal is stored in the storage device, and wherein the updating the journal in response to the detecting causes the journal to indicate that the change is currently being replicated;

replicate the change to an intermediate replication site, wherein the replicating is performed by the primary replication site;

detect an acknowledgment received at the primary replication site from the intermediate replication site, wherein

the acknowledgment identifies whether the change has been successfully replicated from the intermediate replication site to a remote replication site, wherein replication of the change comprises application of the change to the remote site; and

update the journal, in response to the acknowledgment, wherein

the updating the journal in response to the acknowledgement causes the journal to indicate that the change is no longer being replicated.

12. The system of claim 11 , wherein:

updating the journal in response to the acknowledgement comprises updating a pointer;

the pointer points to a position within the journal;

the acknowledgment comprises information identifying a location of a second pointer;

the second pointer points to a position within a second journal located at the intermediate replication site; and

after the journal is updated, the pointer points to an entry that corresponds to the entry identified by the second pointer.

13. The system of claim 11 , wherein:

updating the journal in response to the acknowledgement comprises inserting a marker into an entry in the journal,

the acknowledgement identifies that modifications that occurred in a prior replication period have been applied to the remote site, and

periodic replication is performed between the intermediate replication site and the remote replication site.

14. The system of claim 11 , further comprising:

detecting that the intermediate replication site is inaccessible; and

synchronizing a copy of application data at the remote replication site, wherein

synchronizing the copy comprises applying one or more changes identified in the journal to the copy of the application data at the remote replication site.

15. A system comprising:

means for detecting a change at a primary replication site, wherein the primary replication site comprises a storage device;

means for updating a journal in response to detecting the change at the primary replication site, wherein the journal is stored in the storage device, and wherein the updating the journal in response to the detecting causes the journal to indicate that the change is currently being replicated;

means for causing the primary replication site to replicate the change to an intermediate replication site;

means for receiving an acknowledgment at the primary replication site from the intermediate replication site, wherein

the acknowledgment identifies whether the change has been successfully replicated from the intermediate replication site to a remote replication site, wherein replication of the change comprises application of the change to the remote site; and

means for updating the journal, in response to the acknowledgment, wherein

the updating the journal in response to the acknowledgement causes the journal to indicate that the change is no longer being replicated.

16. The system of claim 15 , wherein:

updating the journal in response to the acknowledgement comprises updating a pointer;

the pointer points to a position within the journal;

the acknowledgment comprises information identifying a location of a second pointer;

the second pointer points to a position within a second journal located at the intermediate replication site; and

after the journal is updated, the pointer points to an entry that corresponds to the entry identified by the second pointer.

17. The system of claim 15 , wherein:

updating the journal in response to the acknowledgement comprises inserting a marker into an entry in the journal;

the acknowledgement identifies that modifications that occurred in a prior replication period have been applied to the remote site; and

periodic replication is performed between the intermediate replication site and the remote replication site.

18. The system of claim 15 , further comprising:

means for detecting that the intermediate replication site is inaccessible; and

means for synchronizing a copy of application data at the remote replication site, wherein

synchronizing the copy comprises applying one or more changes identified in the journal to the copy of the application data at the remote replication site.

Assignments (14)
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 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
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 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
CHANGE OF NAME Recorded Oct 1, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 019899/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2005
From: BEZBARUAH, ANGSHUMAN; KEKRE, ANAND A.; PANCHBUDHE, ANKUR P.
To: VERITAS OPERATING CORPORATION
Reel/Frame 016993/0761 →