IP Library Granted Patent US 10,073,856
Granted Patent B1
US 10,073,856 · App. 15/967,499 · Granted Sep 11, 2018

Continuous replication for secure distributed filesystems

Inventors: Ezra Elias Kilty Cooper (Seattle, WA); Neal Thomas Fachan (Seattle, WA); Junjie Liang (Seattle, WA); Kevin Ross O'Neill (Seattle, WA)
Assignee: Qumulo, Inc.
G06F17/30174G06F17/30088G06F17/30215H04L63/08H04L63/126
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 10,073,856
App. No.
15/967,499
Granted
Sep 11, 2018
Kind
B1
Abstract

Embodiments are directed to file systems. A replication engine may establish a secure communication channel between a source file system and a target file system. The replication engine may: instantiate a replication job associated with rules; determine changes in the source file system; determine characteristics of the replication job that may be based on the changes; compare the to the characteristics and a black-out schedule; execute the replication job to communicate the changes in the source file system to the target file system based on a result of the comparison. Upon completion of the replication job, the replication engine may automatically instantiating a next replication job to copy subsequent changes in the source file system to the target file system.

Claims (104)

1. A method for managing data in a file system over a network using one or more processors that execute instructions to perform actions, comprising:

instantiating a replication engine to perform actions, including:

establishing a secure communication channel between a source file system and a target file system based on one or more handshake messages, wherein the one or more handshake messages include source authentication information and target authentication information, and wherein a one-time-secret (OTS) based on entropy information collected by one or more sensors is shared with both the source file system and the target file system for verifying the source authentication information and the target authentication information;

instantiating a replication job that is associated with one or more rules;

determining one or more changes in the source file system;

determining one or more characteristics of the replication job based on the one or more changes;

comparing the one or more rules to the one or more characteristics and a black-out schedule;

providing a minimum delay between each replication job, wherein the minimum delay is based on an age of the one or more changes;

in response to the age of the one or more changes being less than the minimum delay, delaying the execution of the next replication job;

executing the replication job to communicate the one or more changes in the source file system to the target file system based on a result of the comparison; and

in response to completion of the replication job, automatically instantiating a next replication job to copy subsequent changes in the source file system to the target file system.

2. The method of claim 1 , wherein executing the replication job further comprises:

modifying the execution of the replication job based on one or more metrics that include one or more of a processor utilization value, a network utilization value, a network quality value, a number of the one or more changes, or a size of the one or more changes, wherein modifying the execution includes one or more of delaying the execution of the replication job until the expiry of a black-out period, skipping a replication cycle, or modifying an amount of one or more resources that are allocated to the replication job.

3. The method of claim 1 , wherein the replication engine performs further actions, comprising:

pausing the execution of the replication job to avoid communicating the one or more changes during a black-out period; and

restarting execution of the replication job at the conclusion of the black-out period.

4. The method of claim 1 , wherein establishing the secure channel further comprises:

verifying the target authentication information at the source file system;

verifying the source authentication information at the target file system; and

communicating an acknowledgement message from the source file system to the target file system, wherein the secure communication channel is established after the acknowledgement message is verified at the target file system.

5. The method of claim 1 , wherein the replication engine performs further actions, comprising:

providing a snapshot of the source file system that is associated with a current state of the source file system; and

restricting the one or more changes to changes associated with the snapshot.

6. The method of claim 1 , wherein the source authentication information is signed using a one-time-secret (OTS) and the target authentication information is signed using the same OTS.

7. A system for managing data in a file system comprising:

a network computer, comprising:

a transceiver that communicates over the network;

a memory that stores at least instructions; and

one or more processors that execute instructions that perform actions, including:

instantiating a replication engine to perform actions, including:

establishing a secure communication channel between a source file system and a target file system based on one or more handshake messages, wherein the one or more handshake messages include source authentication information and target authentication information, and wherein a one-time-secret (OTS) based on entropy information collected by one or more sensors is shared with both the source file system and the target file system for verifying the source authentication information and the target authentication information;

instantiating a replication job that is associated with one or more rules;

determining one or more changes in the source file system;

determining one or more characteristics of the replication job based on the one or more changes;

comparing the one or more rules to the one or more characteristics and a black-out schedule;

providing a minimum delay between each replication job, wherein the minimum delay is based on an age of the one or more changes;

in response to the age of the one or more changes being less than the minimum delay, delaying the execution of the next replication job;

executing the replication job to communicate the one or more changes in the source file system to the target file system based on a result of the comparison; and

in response to completion of the replication job, automatically instantiating a next replication job to copy subsequent changes in the source file system to the target file system; and

a client computer, comprising:

a transceiver that communicates over the network;

a memory that stores at least instructions; and

one or more processors that execute instructions that perform actions, including:

providing a replication request message to the replication engine.

8. The system of claim 7 , wherein executing the replication job further comprises:

modifying the execution of the replication job based on one or more metrics that include one or more of a processor utilization value, a network utilization value, a network quality value, a number of the one or more changes, or a size of the one or more changes, wherein modifying the execution includes one or more of delaying the execution of the replication job until the expiry of a black-out period, skipping a replication cycle, or modifying an amount of one or more resources that are allocated to the replication job.

9. The system of claim 7 , wherein the replication engine performs further actions, comprising:

pausing the execution of the replication job to avoid communicating the one or more changes during a black-out period; and

restarting execution of the replication job at the conclusion of the black-out period.

10. The system of claim 7 , wherein establishing the secure channel further comprises:

verifying the target authentication information at the source file system;

verifying the source authentication information at the target file system; and

communicating an acknowledgement message from the source file system to the target file system, wherein the secure communication channel is established after the acknowledgement message is verified at the target file system.

11. The system of claim 7 , wherein the replication engine performs further actions, comprising:

providing a snapshot of the source file system that is associated with a current state of the source file system; and

restricting the one or more changes to changes associated with the snapshot.

12. The system of claim 7 , wherein the source authentication information is signed using a one-time-secret (OTS) and the target authentication information is signed using the same OTS.

13. A processor readable non-transitory storage media that includes instructions for managing data in a file system over a network, wherein execution of the instructions by one or more processors on one or more network computers performs actions, comprising:

instantiating a replication engine to perform actions, including:

establishing a secure communication channel between a source file system and a target file system based on one or more handshake messages, wherein the one or more handshake messages include source authentication information and target authentication information, and wherein a one-time-secret (OTS) based on entropy information collected by one or more sensors is shared with both the source file system and the target file system for verifying the source authentication information and the target authentication information;

instantiating a replication job that is associated with one or more rules;

determining one or more changes in the source file system;

determining one or more characteristics of the replication job based on the one or more changes;

comparing the one or more rules to the one or more characteristics and a black-out schedule;

providing a minimum delay between each replication job, wherein the minimum delay is based on an age of the one or more changes;

in response to the age of the one or more changes being less than the minimum delay, delaying the execution of the next replication job;

executing the replication job to communicate the one or more changes in the source file system to the target file system based on a result of the comparison; and

in response to completion of the replication job, automatically instantiating a next replication job to copy subsequent changes in the source file system to the target file system.

14. The media of claim 13 , wherein executing the replication job further comprises:

modifying the execution of the replication job based on one or more metrics that include one or more of a processor utilization value, a network utilization value, a network quality value, or a size of the one or more changes, wherein modifying the execution includes one or more of delaying the execution of the replication job until the expiry of a black-out period, skipping a replication cycle, or modifying an amount of one or more resources that are allocated to the replication job.

15. The media of claim 13 , wherein the replication engine performs further actions, comprising:

pausing the execution of the replication job to avoid communicating the one or more changes during a black-out period; and

restarting execution of the replication job at the conclusion of the black-out period.

16. The media of claim 13 , wherein establishing the secure channel further comprises:

verifying the target authentication information at the source file system;

verifying the source authentication information at the target file system; and

communicating an acknowledgement message from the source file system to the target file system, wherein the secure communication channel is established after the acknowledgement message is verified at the target file system.

17. The media of claim 13 , wherein the source authentication information is signed using a one-time-secret (OTS) and the target authentication information is signed using the same OTS.

18. A network computer for managing data in a file system, comprising:

a transceiver that communicates over the network;

a memory that stores at least instructions; and

one or more processors that execute instructions that perform actions, including:

instantiating a replication engine to perform actions, including:

establishing a secure communication channel between a source file system and a target file system based on one or more handshake messages, wherein the one or more handshake messages include source authentication information and target authentication information, and wherein a one-time-secret (OTS) based on entropy information collected by one or more sensors is shared with both the source file system and the target file system for verifying the source authentication information and the target authentication information;

instantiating a replication job that is associated with one or more rules;

determining one or more changes in the source file system;

determining one or more characteristics of the replication job based on the one or more changes;

comparing the one or more rules to the one or more characteristics and a black-out schedule;

providing a minimum delay between each replication job, wherein the minimum delay is based on an age of the one or more changes;

in response to the age of the one or more changes being less than the minimum delay, delaying the execution of the next replication job;

executing the replication job to communicate the one or more changes in the source file system to the target file system based on a result of the comparison; and

in response to completion of the replication job, automatically instantiating a next replication job to copy subsequent changes in the source file system to the target file system.

19. The network computer of claim 18 , wherein executing the replication job further comprises:

modifying the execution of the replication job based on one or more metrics that include one or more of a processor utilization value, a network utilization value, a network quality value, a number of the one or more changes, or a size of the one or more changes wherein modifying the execution includes one or more of delaying the execution of the replication job until the expiry of a black-out period, or skipping a replication cycle, or modifying an amount of one or more resources that are allocated to the replication job.

20. The network computer of claim 18 , wherein the replication engine performs further actions, comprising:

pausing the execution of the replication job to avoid communicating the one or more changes during a black-out period; and

restarting execution of the replication job at the conclusion of the black-out period.

21. The network computer of claim 18 , wherein establishing the secure channel further comprises:

verifying the target authentication information at the source file system;

verifying the source authentication information at the target file system; and

communicating an acknowledgement message from the source file system to the target file system, wherein the secure communication channel is established after the acknowledgement message is verified at the target file system.

22. The network computer of claim 18 , wherein the replication engine performs further actions, comprising:

providing a snapshot of the source file system that is associated with a current state of the source file system; and

restricting the one or more changes to changes associated with the snapshot.

Assignments (3)
SECURITY INTEREST Recorded Jun 24, 2022
From: QUMULO, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 060439/0967 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2020
From: CHMIEL, MICHAEL ANTHONY
To: QUMULO, INC.
Reel/Frame 051816/0337 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2018
From: COOPER, EZRA ELIAS KILTY; FACHAN, NEAL THOMAS; LIANG, JUNJIE; O'NEILL, KEVIN ROSS
To: QUMULO, INC.
Reel/Frame 045674/0376 →
Cited By (11)
US 12,222,903 US 12,292,853 US 12,346,290 US 12,443,559 US 12,443,568 US 12,481,625 US 12,579,266 US 12,585,563 US 12,619,582 US 12,647,440 US 12,670,081