IP Library Granted Patent US 12699634
Granted Patent B2
US 12699634 · App. 19/246,415 · Granted Aug 4, 2026

Filesystem recovery and indexing within a user space

Inventors: Anshul Mohan Gupta (San Jose, CA); Takeshi Suzuki (Mountain View, CA); Lewi Abseno (San Francisco, CA)
Assignee: Rubrik, Inc.
G06F11/1469G06F2201/80
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 12699634
App. No.
19/246,415
Granted
Aug 4, 2026
Kind
B2
Abstract

Methods, systems, and devices for data management are described. A data management system (DMS) may support backup and recovery of a filesystem. The DMS may, as part of the backup, obtain a snapshot of the filesystem. The DMS may mount the snapshot within a user space of a node of the DMS. The user space may be isolated from other processes that execute on the node of the DMS. The DMS may generate, within the user space based on the mounted snapshot, index files that index the filesystem. In response to a subsequent request to access one or more files, the DMS may retrieve the one or more files from the snapshot mounted in the user space based on the index files.

Claims (54)

1 . A method, comprising:

obtaining, by a data management system, one or more snapshots of a file system; and

mounting, by the data management system, the one or more snapshots within a user space of a node of the data management system, wherein the user space is isolated from one or more other processes that execute on the node of the data management system, and wherein the mounting comprises:

retrieving, from a cache of the data management system, metadata that indicates one or more mount points for mounting a plurality of devices associated with the one or more snapshots within the user space; and

mounting the plurality of devices at the one or more mount points within the user space based at least in part on the metadata.

2 . The method of claim 1 further comprising:

mounting, by the data management system prior to mounting the one or more snapshots and in accordance with a random sequence, the plurality of devices within the user space of the node of the data management system; and

retrieving, from at least one device of the plurality of devices and based at least in part on the mounting of the plurality of devices in accordance with the random sequence, a portion of the metadata that indicates a mount point for information associated with the at least one device.

3 . The method of claim 2 , further comprising:

storing, within the cache, the metadata that indicates the one or more mount points for mounting the plurality of devices based at least in part on mounting the plurality of devices in accordance with the random sequence.

4 . The method of claim 1 , wherein the one or more mount points indicate locations of paths associated with files of the file system that are included in the one or more snapshots.

5 . The method of claim 1 , further comprising:

accessing, by the data management system, the one or more mount points to obtain information associated with locations of one or more files within the file system, wherein the one or more mount points are exposed to the data management system within the user space of the node of the data management system.

6 . The method of claim 1 further comprising:

receiving, by the data management system, a request to access one or more files of the file system; and

retrieving, by the data management system, the one or more files indicated via the request from the one or more snapshots based at least in part on the request and one or more index files that index the file system.

7 . The method of claim 6 , further comprising:

generating, by the data management system within the user space and based at least in part on the one or more snapshots mounted in the user space, the one or more index files that index the file system, wherein retrieving the one or more files indicated via the request is based at least in part on the one or more index files.

8 . The method of claim 6 , wherein retrieving the one or more files from the one or more snapshots comprises:

accessing, by the data management system, at least one mount point, of the one or more mount points, that is indicative of one or more locations within the file system that are associated with the one or more files, wherein the at least one mount point is exposed to the data management system within the user space of the node of the data management system, and wherein retrieving the one or more files from the one or more snapshots is based at least in part on accessing the at least one mount point.

9 . The method of claim 1 further comprising:

generating, within the user space of the node of the data management system, an in-memory filesystem format translator based at least in part on mounting the one or more snapshots within the user space, the in-memory filesystem format translator configured to translate a second format supported by a user of the data management system to a first format of the one or more snapshots mounted within the user space.

10 . The method of claim 9 , wherein mounting the one or more snapshots within the user space of the node of the data management system is in accordance with one or more interfaces configured to facilitate the mounting, and wherein the first format is associated with the one or more interfaces.

11 . The method of claim 1 further comprising:

generating, based at least in part on an image stored to the node of the data management system and after obtaining the one or more snapshots of the file system, a first virtual machine within the user space of the node, wherein the one or more snapshots comprise one or more disk files associated with a second virtual machine that stores the file system, and wherein mounting the one or more snapshots within the user space further comprises:

mounting, at the one or more mount points associated with the first virtual machine generated within the user space, the one or more disk files associated with the second virtual machine, wherein the first virtual machine is configured to execute the one or more disk files.

12 . An apparatus, comprising:

one or more memories storing processor-executable code; and

one or more processors coupled with the one or more memories and individually or collectively operable to execute the code to cause the apparatus to:

obtain, by a data management system, one or more snapshots of a file system; and

mount, by the data management system, the one or more snapshots within a user space of a node of the data management system, wherein the user space is isolated from one or more other processes that execute on the node of the data management system, and wherein, to mount the one or more snapshots, the one or more processors are individually or collectively operable to execute the code to cause the apparatus to:

retrieve, from a cache of the data management system, metadata that indicates one or more mount points for mounting a plurality of devices associated with the one or more snapshots within the user space; and

mount the plurality of devices at the one or more mount points within the user space based at least in part on the metadata.

13 . The apparatus of claim 12 , wherein the one or more processors are individually or collectively further operable to execute the code to cause the apparatus to:

mount, by the data management system prior to mounting the one or more snapshots and in accordance with a random sequence, the plurality of devices within the user space of the node of the data management system; and

retrieve, from at least one device of the plurality of devices and based at least in part on the mounting of the plurality of devices in accordance with the random sequence, a portion of the metadata that indicates a mount point for information associated with the at least one device.

14 . The apparatus of claim 13 , wherein the one or more processors are individually or collectively further operable to execute the code to cause the apparatus to:

store, within the cache, the metadata that indicates the one or more mount points for mounting the plurality of devices based at least in part on mounting the plurality of devices in accordance with the random sequence.

15 . The apparatus of claim 12 , wherein the one or more mount points indicate locations of paths associated with files of the file system that are included in the one or more snapshots.

16 . The apparatus of claim 12 , wherein the one or more processors are individually or collectively further operable to execute the code to cause the apparatus to:

access, by the data management system, the one or more mount points to obtain information associated with locations of one or more files within the file system, wherein the one or more mount points are exposed to the data management system within the user space of the node of the data management system.

17 . The apparatus of claim 12 , wherein the one or more processors are individually or collectively further operable to execute the code to cause the apparatus to:

receive, by the data management system, a request to access one or more files of the file system; and

retrieve, by the data management system, the one or more files indicated via the request from the one or more snapshots based at least in part on the request and one or more index files that index the file system.

18 . The apparatus of claim 12 , wherein the one or more processors are individually or collectively further operable to execute the code to cause the apparatus to:

generate, within the user space of the node of the data management system, an in-memory file system format translator based at least in part on mounting the one or more snapshots within the user space, the in-memory file system format translator configured to translate a second format supported by a user of the data management system to a first format of the one or more snapshots mounted within the user space.

19 . A non-transitory computer-readable medium storing code, the code comprising instructions executable by one or more processors to:

obtain, by a data management system, one or more snapshots of a file system; and

mount, by the data management system, the one or more snapshots within a user space of a node of the data management system, wherein the user space is isolated from one or more other processes that execute on the node of the data management system, and wherein, to mount the one or more snapshots, the instructions are executable by the one or more processors to:

retrieve, from a cache of the data management system, metadata that indicates one or more mount points for mounting a plurality of devices associated with the one or more snapshots within the user space; and

mount the plurality of devices at the one or more mount points within the user space based at least in part on the metadata.

20 . The non-transitory computer-readable medium of claim 19 , wherein the code comprises instructions that are further executable by the one or more processors to:

mount, by the data management system prior to mounting the one or more snapshots and in accordance with a random sequence, the plurality of devices within the user space of the node of the data management system; and

retrieve, from at least one device of the plurality of devices and based at least in part on the mounting of the plurality of devices in accordance with the random sequence, a portion of the metadata that indicates a mount point for information associated with the at least one device.