IP Library › Granted Patent US 10,733,153
Granted Patent B2
US 10,733,153 · App. 15/206,861 · Granted Aug 4, 2020

Snapshot management in distributed file systems

Inventors: Avra Sengupta (Bangalore, IN); Rajesh Joseph (Bangalore, IN)
Assignee: Red Hat, Inc.
G06F16/188G06F16/128G06F16/137G06F16/166G06F16/1774G06F16/183G06F16/1827G06F16/2329G06F16/2379
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,733,153
App. No.
15/206,861
Granted
Aug 4, 2020
Kind
B2
Abstract

A system and method are disclosed for managing snapshots of a distributed file system. In accordance with one implementation, a list of snapshots of a file system is presented to a user, where the snapshots include one or more active snapshots and one or more inactive snapshots. A request by the user to access one of the snapshots in the list is received. In response to determining that the requested snapshot is active, the user is provided access to the requested snapshot. In response to determining that the requested snapshot is inactive, the requested snapshot is activated and the user is provided access to the requested snapshot.

Claims (50)

1. A method comprising:

presenting to a user, by a processing device, a list of snapshots of a distributed file system, wherein the snapshots comprise one or more active snapshots and one or more inactive snapshots, and wherein:

the one or more active snapshots are associated with one or more running processes comprising a data-serving process; and

the one or more inactive snapshots are not associated with one or more running processes;

receiving, by the processing device, a request by the user to access one of the snapshots in the list;

in response to determining that the requested snapshot is active, providing, to the user, access to the requested snapshot; and

in response to determining that the requested snapshot is inactive:

activating the requested snapshot by starting a set of processes comprising the data-serving process and associating the set of processes with the requested snapshot,

providing to the user, after the activating, access to the requested snapshot; and

in response to determining, after the activating, that a number of active snapshots exceeds a threshold number of active snapshots, selecting an active snapshot and deactivating the selected active snapshot, wherein the threshold number of active snapshots corresponds to a limit on resources of the distributed file system that are devoted to active snapshots.

2. The method of claim 1 wherein the presenting is in response to the user navigating to a designated subdirectory of a directory and submitting a command to list the contents of the designated subdirectory and wherein the designated subdirectory is a virtual subdirectory.

3. The method of claim 2 wherein each snapshot of the list of snapshots is presented as a respective subdirectory of the virtual subdirectory, and wherein providing access to a snapshot in the list of snapshots enables the user to navigate to the respective subdirectory.

4. The method of claim 1 wherein the data-serving process serves data associated with snapshots of the distributed file system and a second process that serves data associated with files of the distributed file system.

5. The method of claim 1 wherein the selecting is in view of a measure of how frequently one or more of the snapshots are accessed during a prior time interval.

6. The method of claim 1 wherein the user is associated with a client machine, and wherein accessing a file of the distributed file system comprises transmitting a first message from the client machine to a first server machine and a second message from the client machine to a second server machine, and wherein accessing a snapshot of the distributed file system comprises transmitting a third message from the client machine to the first server machine and a fourth message from the first server machine to the second server machine.

7. The method of claim 1 , wherein:

the one or more running processes further comprise a snapshot-management process, and

activating the requested snapshot further comprises starting the snapshot-management process and associating the snapshot-management process with the requested snapshot.

8. An apparatus comprising:

one or more storage devices to store data associated with a distributed file system; and

a processing device, operatively coupled to the one or more storage devices, to:

present to a user a list of snapshots of the distributed file system, wherein the snapshots comprise one or more active snapshots and one or more inactive snapshots, and wherein:

the one or more active snapshots are associated with one or more running processes comprising a data-serving process; and

the one or more inactive snapshots are not associated with one or more running processes;

receive a request by the user to access a first snapshot that is in the list;

in response to determining that the first snapshot is active, provide, to the user, access to the first snapshot; and

in response to determining that the first snapshot is inactive:

determine whether activation of the first snapshot will cause a number of active snapshots to exceed a threshold number of active snapshots, wherein the threshold number of active snapshots corresponds to a limit on resources of the distributed file system that are devoted to active snapshots;

in response to determining that the activation will cause the number of active snapshots to exceed the threshold number of active snapshots, select a second snapshot that is active and deactivate the selected second active snapshot;

activate the first snapshot by starting a set of processes comprising the data-serving process and associating the set of processes with the requested snapshot; and

provide to the user, after the activating of the first snapshot, access to the first snapshot.

9. The apparatus of claim 8 wherein the presenting is in response to the user navigating to a designated subdirectory of a directory and submitting a command to list the contents of the designated subdirectory and wherein the designated subdirectory is a virtual subdirectory.

10. The apparatus of claim 9 wherein each snapshot of the list of snapshots is presented as a respective subdirectory of the virtual subdirectory, and wherein providing access to a snapshot in the list of snapshots enables the user to navigate to the respective subdirectory.

11. The apparatus of claim 8 wherein the data-serving process serves data associated with snapshots of the distributed file system and a second process that serves data associated with files of the distributed file system.

12. The apparatus of claim 8 wherein the selecting is in view of a measure of how frequently one or more of the snapshots are accessed during a prior time interval.

13. The apparatus of claim 8 wherein the user is associated with a client machine, and wherein accessing a file of the distributed file system comprises transmitting a first message from the client machine to a first server machine and a second message from the client machine to a second server machine, and wherein accessing a snapshot of the distributed file system comprises transmitting a third message from the client machine to the first server machine and a fourth message from the first server machine to the second server machine.

14. A non-transitory computer readable storage medium, having instructions stored therein, which when executed, cause a processing device to:

present to a user, by the processing device, a list of snapshots of a distributed file system, wherein the snapshots comprise one or more active snapshots and one or more inactive snapshots and wherein:

the one or more active snapshots are associated with one or more running processes comprising a data-serving process; and

the one or more inactive snapshots are not associated with one or more running processes;

receive, by the processing device, a request by the user to access one of the snapshots in the list;

in response to determining that the requested snapshot is active, provide, to the user, access to the requested snapshot; and

in response to determining that the requested snapshot is inactive:

determine whether activation of the first snapshot will cause a number of active snapshots to exceed a threshold number of active snapshots, wherein the threshold number of active snapshots corresponds to a limit on resources of the distributed file system that are devoted to active snapshots;

in response to determining that the activation will cause the number of active snapshots to exceed the threshold number of active snapshots, select a second snapshot that is active and deactivate the selected second active snapshot and

activate the requested snapshot by starting a set of processes comprising the data-serving process and associating the set of processes with the requested snapshot and provide access to the requested snapshot to the user after the activating.

15. The non-transitory computer readable storage medium of claim 14 wherein the data-serving process serves data associated with snapshots of the distributed file system and a second process that serves data associated with files of the distributed file system.

16. The non-transitory computer readable storage medium of claim 14 wherein the presenting is in response to the user navigating to a designated subdirectory of a directory and submitting a command to list the contents of the designated subdirectory.

17. The non-transitory computer readable storage medium of claim 16 wherein the designated subdirectory is a virtual subdirectory, and wherein each snapshot of the list of snapshots is presented as a respective subdirectory of the virtual subdirectory, and wherein providing access to a snapshot in the list of snapshots enables the user to navigate to the respective subdirectory.

18. The non-transitory computer readable storage medium of claim 14 wherein the user is associated with a client machine, and wherein accessing a file of the distributed file system comprises transmitting a first message from the client machine to a first server machine and a second message from the client machine to a second server machine, and wherein accessing a snapshot of the distributed file system comprises transmitting a third message from the client machine to the first server machine and a fourth message from the first server machine to the second server machine.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2016
From: SENGUPTA, AVRA; JOSEPH, RAJESH
To: RED HAT, INC.
Reel/Frame 039124/0227 →
Priority Claims (1)
IN 201641006893 · Feb 29, 2016 · national
Continuity (1)
Related Publication 20170249335A1 · Aug 31, 2017