IP Library › Granted Patent US 12,038,877
Granted Patent B1
US 12,038,877 · App. 18/583,746 · Granted Jul 16, 2024

Sharing namespaces across file system clusters

Inventors: Michael Patrick Kirby (Lynnwood, WA); Austin Elery Voecks (Bainbridge Island, WA); Alan Francisco Delgado Duran (Seattle, WA); Noah Trent Nelson (Seattle, WA); Thomas Scott Urban (Seattle, WA); Benjamin Gregory Reeves (Chicago, IL)
Assignee: Qumulo, Inc.
G06F16/176G06F16/1734G06F16/182
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 12,038,877
App. No.
18/583,746
Granted
Jul 16, 2024
Kind
B1
Abstract

Embodiments are directed to sharing namespaces across file system clusters. A file in a spoke file system may be determined based on a command provided to the spoke file system such that the file may be associated with an inode mask. Data blocks associated with the file may be determined based on the command and the inode mask such that the data blocks may be absent from the spoke file system. Requests for leases may be generated based on the absent data blocks such that each lease request corresponds to a portion of the absent data blocks Employing the leases provided by a hub file system to: copy the absent data blocks from the hub file system where each portion of absent data blocks may be associated with a lease; updating the inode mask to include the leases and each copied portion of absent blocks.

Claims (68)

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

generating one or more requests for one or more leases based on a plurality of data blocks absent from a first file system having one or more of a spoke relationship or a hub relationship with a second file system;

determining an amount of data blocks to associate with each lease based on a time to copy the plurality of absent data blocks from the second file system to the first file system;

copying the plurality of absent data blocks from the second file system to the first file system, wherein the second file system is arranged in a hub relationship with the first file system, and wherein the first file system is arranged in a spoke relationship with the second file system;

employing the copied portions of the plurality of absent blocks to satisfy a command; and

employing a correspondence of one or more write operations to the command to perform further actions, including:

determining one or more file systems in another spoke relationship that are associated with the one or more active leases based on an inode that corresponds to a second file system item that is stored in the second file system;

revoking the one or more active leases for the one or more file systems based on the inode that corresponds to the second file system item; and

employing the one or more data blocks to satisfy the command.

2. The method of claim 1 , further comprising:

copying the plurality of absent data blocks from the second file system to a third file system, wherein the second file system is arranged in a hub relationship with the third file system, and wherein the third file system is arranged in a spoke relationship with the second file system.

3. The method of claim 1 , further comprising:

copying a plurality of data blocks from the first file system to a fourth file system, wherein the first file system is arranged in a hub relationship with the fourth file system, and wherein the first file system is arranged in a hub relationship with the fourth file system that is arranged in a spoke relationship with first file system.

4. The method of claim 1 , further comprising:

determining one or more data blocks stored in the first file system that are associated with a valid lease based on an inode mask associated with a first file item in the first file system; and

employing the one or more data blocks stored in the first file system to satisfy the command.

5. The method of claim 1 , further comprising:

determining one or more data blocks stored in the second file system that are associated with one or more active leases based on an inode mask associated with a first file item in the first file system.

6. The method of claim 1 , further comprising:

responding to the one or more lease requests with one or more responses that include one or more granted leases and one or more portions of the plurality of absent data blocks, wherein each portion of the plurality of absent data blocks corresponds to a granted lease.

7. The method of claim 1 , wherein copying the plurality of absent data blocks from the second file system to the first file system, further comprises:

determining one or more data blocks associated with the plurality of absent data blocks that are associated with another file system in another spoke relationship based on an inode associated with a second file system item in the second file system, wherein the one or more data blocks associated with the other file system include updates that are absent from the second file system; and

copying the one or more data blocks to the second file system.

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

generating one or more requests for one or more leases based on a plurality of data blocks absent from a first file system having one or more of a spoke relationship or a hub relationship with a second file system;

determining an amount of data blocks to associate with each lease based on a time to copy the plurality of absent data blocks from the second file system to the first file system;

copying the plurality of absent data blocks from the second file system to the first file system, wherein the second file system is arranged in a hub relationship with the first file system, and wherein the first file system is arranged in a spoke relationship with the second file system;

employing the copied portions of the plurality of absent blocks to satisfy a command; and

employing a correspondence of one or more write operations to the command to perform further actions, including:

determining one or more file systems in another spoke relationship that are associated with the one or more active leases based on an inode that corresponds to a second file system item that is stored in the second file system;

revoking the one or more active leases for the one or more file systems based on the inode that corresponds to the second file system item; and

employing the one or more data blocks to satisfy the command.

9. The media of claim 8 , further comprising:

copying the plurality of absent data blocks from the second file system to a third file system, wherein the second file system is arranged in a hub relationship with the third file system, and wherein the third file system is arranged in a spoke relationship with the second file system.

10. The media of claim 8 , further comprising:

copying a plurality of data blocks from the first file system to a fourth file system, wherein the first file system is arranged in a hub relationship with the fourth file system, and wherein the first file system is arranged in a hub relationship with the fourth file system that is arranged in a spoke relationship with first file system.

11. The media of claim 8 , further comprising:

determining one or more data blocks stored in the first file system that are associated with a valid lease based on an inode mask associated with a first file item in the first file system; and

employing the one or more data blocks stored in the first file system to satisfy the command.

12. The media of claim 8 , further comprising:

determining one or more data blocks stored in the second file system that are associated with one or more active leases based on an inode mask associated with a first file item in the first file system.

13. The media of claim 8 , further comprising:

responding to the one or more lease requests with one or more responses that include one or more granted leases and one or more portions of the plurality of absent data blocks, wherein each portion of the plurality of absent data blocks corresponds to a granted lease.

14. The media of claim 8 , wherein copying the plurality of absent data blocks from the second file system to the first file system, further comprises:

determining one or more data blocks associated with the plurality of absent data blocks that are associated with another file system in another spoke relationship based on an inode associated with a second file system item in the second file system, wherein the one or more data blocks associated with the other file system include updates that are absent from the second file system; and

copying the one or more data blocks to the second file system.

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

a memory that stores at least instructions; and

one or more processors that execute instructions that are configured to cause performance of actions, including:

generating one or more requests for one or more leases based on a plurality of data blocks absent from a first file system having one or more of a spoke relationship or a hub relationship with a second file system;

determining an amount of data blocks to associate with each lease based on a time to copy the plurality of absent data blocks from the second file system to the first file system;

copying the plurality of absent data blocks from the second file system to the first file system, wherein the second file system is arranged in a hub relationship with the first file system, and wherein the first file system is arranged in a spoke relationship with the second file system;

employing the copied portions of the plurality of absent blocks to satisfy a command; and

employing a correspondence of one or more write operations to the command to perform further actions, including:

determining one or more file systems in another spoke relationship that are associated with the one or more active leases based on an inode that corresponds to a second file system item that is stored in the second file system;

revoking the one or more active leases for the one or more file systems based on the inode that corresponds to the second file system item; and

employing the one or more data blocks to satisfy the command.

16. The network computer of claim 15 , wherein the one or more processors execute instructions that are configured to cause performance of actions, further comprising:

copying the plurality of absent data blocks from the second file system to a third file system, wherein the second file system is arranged in a hub relationship with the third file system, and wherein the third file system is arranged in a spoke relationship with the second file system.

17. The network computer of claim 15 , wherein the one or more processors execute instructions that are configured to cause performance of actions, further comprising:

copying a plurality of data blocks from the first file system to a fourth file system, wherein the first file system is arranged in a hub relationship with the fourth file system, and wherein the first file system is arranged in a hub relationship with the fourth file system that is arranged in a spoke relationship with first file system.

18. The network computer of claim 15 , wherein the one or more processors execute instructions that are configured to cause performance of actions, further comprising:

determining one or more data blocks stored in the first file system that are associated with a valid lease based on an inode mask associated with a first file item in the first file system; and

employing the one or more data blocks stored in the first file system to satisfy the command.

19. The network computer of claim 15 , wherein the one or more processors execute instructions that are configured to cause performance of actions, further comprising:

determining one or more data blocks stored in the second file system that are associated with one or more active leases based on an inode mask associated with a first file item in the first file system.

20. The network computer of claim 15 , wherein the one or more processors execute instructions that are configured to cause performance of actions, further comprising:

responding to the one or more lease requests with one or more responses that include one or more granted leases and one or more portions of the plurality of absent data blocks, wherein each portion of the plurality of absent data blocks corresponds to a granted lease.

Assignments (2)
SECURITY INTEREST Recorded Jul 17, 2025
From: QUMULO, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 071748/0322 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2024
From: KIRBY, MICHAEL PATRICK; VOECKS, AUSTIN ELERY; DELGADO DURAN, ALAN FRANCISCO; NELSON, NOAH TRENT; URBAN, THOMAS SCOTT; REEVES, BENJAMIN GREGORY
To: QUMULO, INC.
Reel/Frame 066520/0789 →
Continuity (1)
Continuation 18503791 · Nov 7, 2023
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,585,563 US 12,619,582 US 12,670,081 US 12,743,357 US 12,748,730