IP Library Granted Patent US 10,606,812
Granted Patent B2
US 10,606,812 · App. 16/125,573 · Granted Mar 31, 2020

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); Michael Anthony Chmiel (Seattle, WA)
Assignee: Qumulo, Inc.
G06F16/178G06F16/128G06F16/1844G06F21/44G06F21/6218H04L63/08H04L63/0838H04L63/126H04L67/1095
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,606,812
App. No.
16/125,573
Granted
Mar 31, 2020
Kind
B2
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 (56)

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:

employing one or more messages to establish a secure communication channel between a first file system and a second file system, wherein a secret based on entropy information is shared with the first file system and the second file system to verify source authentication information and target authentication information included in the one or more messages;

employing one or more changes to the first file system to determine a replication job that communicates the one or more changes to the second file system, and wherein a minimum delay is provided for execution of the replication job based on an age of the one or more changes;

employing one or more subsequent changes to either the first file system or the second file to execute a next replication job that communicates the one or more subsequent changes between the first file system and the second file system;

delaying execution of the replication job based on a size of the one or more changes;

employing an amount of the one or more changes to the first file system to trigger generating a new snapshot of the first file system; and

employing a difference between the new snapshot and a last generated snapshot to trigger collecting the one or more changes to the first file system.

2. The method of claim 1 , wherein the actions further comprise:

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

restricting the one or more changes of the first file system to include those changes that are associated with the snapshot.

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

verifying the target authentication information stored at the first file system;

verifying the source authentication information stored at the second file system; and

employing the second file system to verify an acknowledgement message communicated from the first file system to the second file system.

4. The method of claim 1 , wherein the actions further comprise:

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.

5. The method of claim 1 , further comprising:

continuously executing replication jobs that communicate one or more subsequent changes of the first file system to the second file system.

6. 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:

employing one or more messages to establish a secure communication channel between a first file system and a second file system, wherein a secret based on entropy information is shared with the first file system and the second file system to verify source authentication information and target authentication information included in the one or more messages;

employing one or more changes to the first file system to determine one or more characteristics of a replication job that communicates the one or more changes to the second file system, and wherein a minimum delay is provided for execution of the replication job based on an age of the one or more changes;

employing one or more subsequent changes to either the first file system or the second file to execute a next replication job that communicates the one or more subsequent changes between the first file system and the second file system

delaying execution of the replication job based on a size of the one or more changes;

employing an amount of the one or more changes to the first file system to trigger generating a new snapshot of the first file system; and

employing a difference between the new snapshot and a last generated snapshot to trigger collecting the one or more changes to the first file system.

7. The system of claim 6 , wherein the actions further comprise:

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

restricting the one or more changes to include just those changes that are associated with the snapshot.

8. The system of claim 6 , wherein establishing the secure communication channel further comprises:

verifying the target authentication information stored at the first file system;

verifying the source authentication information stored at the second file system; and

employing the second file system to verify an acknowledgement message communicated from the first file system to the second file system.

9. The system of claim 6 , wherein the actions further comprise:

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.

10. The system of claim 6 , further comprising:

continuously executing replication jobs that communicate one or more subsequent changes of the first file system to the second file system.

11. 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:

employing one or more messages to establish a secure communication channel between a first file system and a second file system, wherein a secret based on entropy information is shared with the first file system and the second file system to verify source authentication information and target authentication information included in the one or more messages;

employing one or more changes to the first file system to determine a replication job that communicates the one or more changes to the second file system, and wherein a minimum delay is provided for execution of the replication job based on an age of the one or more changes;

employing one or more subsequent changes to either the first file system or the second file to execute a next replication job that communicates the one or more subsequent changes between the first file system and the second file system;

delaying execution of the replication job based on a size of the one or more changes;

employing an amount of the one or more changes to the first file system to trigger generating a new snapshot of the first file system; and

employing a difference between the new snapshot and a last generated snapshot to trigger collecting the one or more changes to the first file system.

12. The media of claim 11 , wherein the actions further comprise:

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

restricting the one or more changes of the first file system to include those changes that are associated with the snapshot.

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

verifying the target authentication information stored at the first file system;

verifying the source authentication information stored at the second file system; and

employing the second file system to verify an acknowledgement message communicated from the first file system to the second file system.

14. The media of claim 11 , wherein the actions further comprise:

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.

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 Sep 7, 2018
From: COOPER, EZRA ELIAS KILTY; FACHAN, NEAL THOMAS; LIANG, JUNJIE; O'NEILL, KEVIN ROSS
To: QUMULO, INC.
Reel/Frame 046820/0393 →
Continuity (2)
Continuation 15967499 · Apr 30, 2018
Related Publication 20190332579A1 · Oct 31, 2019
Cited By (9)
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,585,563 US 12,619,582 US 12,670,081