IP Library Granted Patent US 11,210,178
Granted Patent B2
US 11,210,178 · App. 16/814,916 · Granted Dec 28, 2021

Synchronization storage solution after an offline event

Inventors: Rick Gene Braddy (Houston, TX); Benjamin Goodwyn (Cypress, TX)
Assignee: BUURST, Inc.
G06F11/1464G06F11/07G06F11/0766G06F11/14G06F11/1441G06F11/1469G06F11/1662G06F11/2064G06F11/2082G06F11/2092G06F11/2097G06F11/2048G06F2201/84
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,210,178
App. No.
16/814,916
Granted
Dec 28, 2021
Kind
B2
Abstract

Disclosed are systems and methods of synchronization between a source and a target. The synchronization relationship can be quickly and easily be created for disaster recovery, real-time backup and failover, thereby ensuring that data on the source is fully-protected at an off-site location or on another server or VM, for example, at another data center, a different building or elsewhere in the cloud. Common snapshots available on both the source and target can act as common recovery points. The common recovery points can be used to locate the most recent snapshot in common, between the source and target, to enable a delta sync of all subsequently written data at the source to the target after an offline event.

Claims (60)

1. A method for synchronizing a first server and a second server after an offline event at the first server, the first server is a source and the second server is a target, the method comprising:

determining a common snapshot between the first server and the second server;

promoting the second server to the source, wherein the second server receives new write requests subsequent to the offline event and registers the new write requests in a clone of the common snapshot, thereby generating an updated common snapshot clone;

in response to the first server coming back online, identifying un-replicated data that was written to the first server prior to the offline event but was not written to the common snapshot;

replicating the un-replicated data from the first server to the second server; and

replicating the updated common snapshot clone from the second server to the first server, such that the second server is in a synchronized replication relationship with the first server.

2. The method of claim 1 , further comprising configuring the first server as the target in response to the first server coming back online.

3. The method of claim 1 , further comprising reverting the first server to the common snapshot, in response to replicating the un-replicated data from the first server to the second server.

4. The method of claim 3 , wherein replicating the updated common snapshot clone from the second server to the first server further comprises replicating the un-replicated data from the second server to the first server.

5. The method of claim 1 , wherein the replicating the updated common snapshot clone comprises a delta sync operation.

6. The method of claim 1 , further comprising, in response to determining that the common snapshot could not be located, initiating a full synchronization of the first server and the second server.

7. The method of claim 1 , further comprising:

in response to the first server being online, subsequent the offline event, determining existence of a writable clone; and

in response to the writable clone existing, performing a file update.

8. The method of claim 1 , further comprising building a file list from the first server after determining the common snapshot, wherein the file list comprises at least one of:

files modified on the first server and second server;

files modified on the first server and unmodified on second server;

files modified on the first server and do not exist on second server; and

files modified on the first server and unmodified and locked on the second server.

9. The method of claim 1 , further comprising:

reverting the first server to the source and the second server to the target.

10. A system for synchronizing a first server and a second server after an offline event at the first server, the first server is a source and the second server is a target, the system comprising:

a processor; and

a memory storing instructions which when executed by the processor cause the processor to:

determine a common snapshot between the first server and the second server;

promote the second server to source, wherein the second server receives new write requests subsequent to the offline event and registers the new write requests in a clone of the common snapshot, thereby generating an updated common snapshot clone;

in response to the first server coming back online, identify un-replicated data that was written to the first server prior to the offline event but was not written to the common snapshot;

replicate the un-replicated data from the first server to the second server; and

replicate the updated common snapshot clone from the second server to the first server, such that the second server is in a synchronized replication relationship with the first server.

11. The system of claim 10 , where the instructions further cause the processor to:

configure the first server as target in response to the first server coming back online.

12. The system of claim 11 , wherein replicating the updated common snapshot clone from the second server to the first server further causes the processor to:

revert the first server to the common snapshot, in response to replicating the un-replicated data from the first server to the second server; and

replicate the un-replicated data from the second server to the first server.

13. The system of claim 10 , where the instructions further cause the processor to, in response to determining that the common snapshot could not be located, initiate a full synchronization of the first server and the second server.

14. The system of claim 10 , where the instructions further cause the processor to:

in response to the first server being online, subsequent the offline event, determining existence of a writable clone; and

in response to the writable clone existing, performing a file update.

15. The system of claim 10 , where the instructions further cause the processor to:

build a file list from the first server after determining the common snapshot, wherein the file list comprises at least one of:

files modified on the first server and second server;

files modified on the first server and unmodified on second server;

files modified on the first server and do not exist on second server; and

files modified on the first server and unmodified and locked on the second server.

16. A non-transitory computer readable medium storing instructions which when executed by a processor cause the processor to:

determine an offline event at a first server, wherein the first server and a second server were in a replication relationship prior to the offline event at the first server and wherein the first server is a source and the second server is a target;

determine a common snapshot between the first server and the second server;

promote the second server to the source, wherein the second server receives new write requests subsequent to the offline event and registers the new write requests in a clone of the common snapshot, thereby generating an updated common snapshot clone;

in response to the first server coming back online, identify un-replicated data that was written to the first server prior to the offline event but was not written to the common snapshot;

replicate the un-replicated data from the first server to the second server; and

replicate the updated common snapshot clone from the second server to the first server, such that the second server is in a synchronized replication relationship with the first server.

17. The non-transitory computer readable medium of claim 16 , where the instructions further cause the processor to:

configure the first server as target in response to the first server coming back online.

18. The non-transitory computer readable medium of claim 17 , wherein replicating the updated common snapshot clone from the second server to the first server further causes the processor to:

revert the first server to the common snapshot, in response to replicating the un-replicated data from the first server to the second server; and

replicate the un-replicated data from the second server to the first server.

19. The non-transitory computer readable medium of claim 16 , where the instructions further cause the processor to, in response to determining that the common snapshot could not be located, initiate a full synchronization of the first server and the second server.

20. The non-transitory computer readable medium of claim 16 , where the instructions further cause the processor to:

in response to the first server being online, subsequent the offline event, determining existence of a writable clone; and

in response to the writable clone existing, performing a file update.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2021
From: BRADDY, RICK GENE; GOODWYN, BENJAMIN
To: SOFTNAS LLC
Reel/Frame 056479/0769 →
MERGER AND CHANGE OF NAME Recorded Jun 9, 2021
From: SOFTNAS, LLC; SOFTNAS OPERATING, INC.
To: SOFTNAS, INC.
Reel/Frame 056479/0822 →
CHANGE OF NAME Recorded Jun 9, 2021
From: SOFTNAS, INC.
To: BUURST, INC.
Reel/Frame 056526/0312 →
MERGER AND CHANGE OF NAME Recorded Mar 3, 2021
From: SOFTNAS, LLC; BUURST, INC.
To: BUURST, INC.
Reel/Frame 055476/0794 →
Continuity (3)
Continuation 15769312
Provisional Application 62244961 · Oct 22, 2015
Related Publication 20200278911A1 · Sep 3, 2020