IP Library Granted Patent US 11,372,819
Granted Patent B1
US 11,372,819 · App. 17/510,043 · Granted Jun 28, 2022

Replicating files in distributed file systems using object-based data storage

Inventors: Nicholas John Carter (Seattle, WA); Sasha Spielberg Friedrich (Seattle, WA); Christopher Charles Harward (Vancouver, CA); Kevin David Jamieson (North Vancouver, CA); Aleksei Martynov (Seattle, WA); Sihang Su (Vancouver, CA)
Assignee: Qumulo, Inc.
G06F16/178G06F16/128G06F16/184G06F16/185
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,372,819
App. No.
17/510,043
Filed
Oct 25, 2021
Granted
Jun 28, 2022
Kind
B1
Art Unit
2159
USPC
707/620
Abstract

Embodiments are directed to traversing a file system to determine file system objects to copy to an object store. In response to visiting a document object in the file system, performing further actions, including: determining a hierarchical file path of the document object that corresponds to a location in the file system based on the file system objects that are ancestor file system objects of the document object; generating an object key for the document object that encodes the hierarchical file path such that each portion of the object key corresponds to an ancestor file system object; copying the document object and the object key to the object store such that the document object may be stored in the object store as an object store object and such that the object store object may be indexed using an unordered index based on the object key; or the like.

Claims (63)

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

determining a root file system object that is a parent file system object of one or more portions of a hierarchy for a file system;

at the root file system object, initiating a traversal of the one or more portions of the file system to determine one or more file system objects; and

in response to a determined file system object being a document object, performing further actions, including:

determining a hierarchical file path of the document object based on each file system object that is an ancestor of the document object in the one or more portions of the file system;

generating an object key for the document object that includes the hierarchical file path, wherein one or more portions of the object key correspond to each ancestor file system object for the document object; and

copying the document object and the object key to an object store that provides replication of the one or more file system objects in the one or more portions of the file system, wherein an index for the object store is based on the object key.

2. The method of claim 1 , wherein the replication of the file system further comprises:

associating the file system with the object store based on a replication relationship that declares that each file system object in the one or more portions of the file system are to be copied to the object store.

3. The method of claim 1 , wherein the index for the object store based on the object key further comprises:

providing an unordered index for one or more unordered collections of object store objects.

4. The method of claim 1 , further comprising:

generating a validation key that includes a checksum value based on the document object; and

associating the validation key with the document object as meta-data that is stored on the object store with an object store object that corresponds to the document object.

5. The method of claim 1 , wherein copying the document object and the object key to the object store, further comprises:

copying two or more document objects to the object store either in parallel or in a sequential order.

6. The method of claim 1 , wherein copying the document object and the object key to the object store further comprises:

determining one or more storage containers in the object store, wherein the one or more storage containers store one or more object store objects in a cloud computing environment.

7. The method of claim 1 , wherein determining the one or more file system objects based on the traversal, further comprises:

determining a previous replication snapshot; and

generating a replication snapshot on the file system based on the previous replication snapshot, wherein the replication snapshot includes each of the one or more file system objects that are associated with changes that are omitted from the previous replication snapshot.

8. A network computer for managing data, comprising:

a memory that stores at least instructions; and

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

determining a root file system object that is a parent file system object of one or more portions of a hierarchy for a file system;

at the root file system object, initiating a traversal of the one or more portions of the file system to determine one or more file system objects; and

in response to a determined file system object being a document object, performing further actions, including:

determining a hierarchical file path of the document object based on each file system object that is an ancestor of the document object in the one or more portions of the file system;

generating an object key for the document object that includes the hierarchical file path, wherein one or more portions of the object key correspond to each ancestor file system object for the document object; and

copying the document object and the object key to an object store that provides replication of the one or more file system objects in the one or more portions of the file system, wherein an index for the object store is based on the object key.

9. The network computer of claim 8 , wherein the replication of the file system further comprises:

associating the file system with the object store based on a replication relationship that declares that each file system object in the one or more portions of the file system are to be copied to the object store.

10. The network computer of claim 8 , wherein the index for the object store based on the object key further comprises:

providing an unordered index for one or more unordered collections of object store objects.

11. The network computer of claim 8 , further comprising:

generating a validation key that includes a checksum value based on the document object; and

associating the validation key with the document object as meta-data that is stored on the object store with an object store object that corresponds to the document object.

12. The network computer of claim 8 , wherein copying the document object and the object key to the object store, further comprises:

copying two or more document objects to the object store either in parallel or in a sequential order.

13. The network computer of claim 8 , wherein copying the document object and the object key to the object store further comprises:

determining one or more storage containers in the object store, wherein the one or more storage containers store one or more object store objects in a cloud computing environment.

14. The network computer of claim 8 , wherein determining the one or more file system objects based on the traversal, further comprises:

determining a previous replication snapshot; and

generating a replication snapshot on the file system based on the previous replication snapshot, wherein the replication snapshot includes each of the one or more file system objects that are associated with changes that are omitted from the previous replication snapshot.

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

determining a root file system object that is a parent file system object of one or more portions of a hierarchy for a file system;

at the root file system object, initiating a traversal of the one or more portions of the file system to determine one or more file system objects; and

in response to a determined file system object being a document object, performing further actions, including:

determining a hierarchical file path of the document object based on each file system object that is an ancestor of the document object in the one or more portions of the file system;

generating an object key for the document object that includes the hierarchical file path, wherein one or more portions of the object key correspond to each ancestor file system object for the document object; and

copying the document object and the object key to an object store that provides replication of the one or more file system objects in the one or more portions of the file system, wherein an index for the object store is based on the object key.

16. The processor readable non-transitory storage media of claim 15 , wherein the replication of the file system further comprises:

associating the file system with the object store based on a replication relationship that declares that each file system object in the one or more portions of the file system are to be copied to the object store.

17. The processor readable non-transitory storage media of claim 15 , wherein the index for the object store based on the object key further comprises:

providing an unordered index for one or more unordered collections of object store objects.

18. The processor readable non-transitory storage media of claim 15 , further comprising:

generating a validation key that includes a checksum value based on the document object; and

associating the validation key with the document object as meta-data that is stored on the object store with an object store object that corresponds to the document object.

19. The processor readable non-transitory storage media of claim 15 , wherein copying the document object and the object key to the object store further comprises:

determining one or more storage containers in the object store, wherein the one or more storage containers store one or more object store objects in a cloud computing environment.

20. The processor readable non-transitory storage media of claim 15 , wherein determining the one or more file system objects based on the traversal, further comprises:

determining a previous replication snapshot; and

generating a replication snapshot on the file system based on the previous replication snapshot, wherein the replication snapshot includes each of the one or more file system objects that are associated with changes that are omitted from the previous replication snapshot.

Assignments (2)
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 Oct 25, 2021
From: CARTER, NICHOLAS JOHN; FRIEDRICH, SASHA SPIELBERG; HARWARD, CHRISTOPHER CHARLES; JAMIESON, KEVIN DAVID; MARTYNOV, ALEKSEI; SU, SIHANG
To: QUMULO, INC.
Reel/Frame 057904/0347 →
Continuity (1)
Continuation 17160698 · Jan 28, 2021
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