IP Library Granted Patent US 12,499,015
Granted Patent B2
US 12,499,015 · App. 18/621,276 · Granted Dec 16, 2025

Instant file system snapshot restoration

Inventors: Hai Zhong Zhou (Beijing, CN); Frank Schmuck (Campbell, CA); Kuei-Yu Wang-Knop (Poughkeepsie, NY); Owen T. Anderson (Bellevue, WA)
Assignee: International Business Machines Corporation
G06F11/1469G06F11/0772G06F11/1466G06F2201/80G06F2201/84
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,499,015
App. No.
18/621,276
Granted
Dec 16, 2025
Kind
B2
Abstract

Snapshot restoration based on a correlation of a snapshot namespace with a file system namespace is provided. A restore command is received, following which the correlation between the file system namespace of the file system with the snapshot namespace of a snapshot of the file system is performed. Further a file operation command is received to perform at least one of a read file operation and a lookup file operation, corresponding to at least one object associated with the file system namespace of the file system. Further, based on restoration data associated with the at least one object, a redirection operation is executed for at least one of the read file operation and the lookup file operation. The redirection operation routes the file operation command to at least one respective snapshot object associated with the snapshot namespace, corresponding to the at least one object.

Claims (54)

1 . A computer-implemented method, comprising:

receiving a restore command;

correlating, based on the reception of the restore command, a file system namespace of a file system with a snapshot namespace of a snapshot of the file system;

receiving a file operation command to perform at least one of a read file operation or a lookup file operation, corresponding to at least one object associated with the file system namespace of the file system, wherein

the at least one object is associated with restoration data that corresponds to at least one of a completely restored flag, an unrestored flag, or a partially restored flag, and

the restoration data indicates a current restoration state associated with the at least one object;

obtaining, based on a determination that the restoration data associated with the at least one object corresponds to the partially restored flag, block restoration data corresponding to each data block associated with the at least one object; and

executing, based on the block restoration data indicating at least one unrestored data block associated with the at least one object, a redirection operation for at least one of the read file operation or the lookup file operation, wherein

the redirection operation routes the file operation command to at least one respective snapshot data block corresponding to the at least one unrestored data block,

the at least one respective snapshot data block is associated with at least one respective snapshot object, and

the at least one respective snapshot object is associated with the snapshot namespace of the snapshot of the file system.

2 . The computer-implemented method of claim 1 , wherein the correlated file system namespace of the file system indicates, based on a snapshot namespace identifier associated with the snapshot of the file system, the snapshot namespace of the snapshot of the file system.

3 . The computer-implemented method of claim 1 , wherein

the block restoration data indictive of a current block restoration state of at least one data block associated with the at least one object.

4 . A system, comprising:

a memory that stores instructions; and

a processor configured to execute the instructions to:

receive a restore command;

correlate, based on the reception of the restore command, a file system namespace of a file system with a snapshot namespace of a snapshot of the file system;

receive a file operation command to perform one or more of:

at least one of a read file operation or a lookup file operation corresponding to at least one object associated with the file system namespace of the file system, and

a write file operation corresponding to the at least one object, wherein

the at least one object is associated with restoration data that corresponds to at least one of a completely restored flag, an unrestored flag, or a partially restored flag, and

the restoration data indicates a current restoration state associated with the at least one object;

obtain, based on a determination that the restoration data associated with the at least one object corresponds to the partially restored flag, block restoration data corresponding to each data block associated with the at least one object; and

execute, based on the block restoration data indicating at least one unrestored data block associated with the at least one object, a redirection operation for at least one of the read file operation or the lookup file operation, wherein

the redirection operation routes the file operation command to at least one respective snapshot data block corresponding to the at least one unrestored data block,

the at least one respective snapshot data block is associated with at least one respective snapshot object, and

the at least one respective snapshot object is associated with the snapshot namespace of the snapshot of the file system; and

perform, based on the restoration data associated with the at least one object, the write file operation corresponding to the at least one object associated with the file system namespace.

5 . The system of claim 4 , wherein the correlated file system namespace indicates, based on a snapshot namespace identifier associated with the snapshot of the file system, the snapshot namespace of the snapshot of the file system.

6 . The system of claim 4 , wherein the block restoration data corresponds to at least one of a completely restored block flag, or an unrestored block flag based on a current block restoration state of at least one data block associated with the at least one object.

7 . The system of claim 6 , wherein the processor is further configured to:

obtain, based on a determination that the restoration data associated with the at least one object corresponds to the unrestored flag, write block data associated with the write file operation corresponding to each data block associated with the at least one object; and

perform, based on the write block data associated with the write file operation, the write file operation corresponding to the at least one data block associated with the at least one object, wherein the write block data corresponds to at least one of a full write block flag or a partial write block flag based on an application of the write file operation corresponding to the at least one data block associated with the at least one object.

8 . The system of claim 7 , wherein the processor is further configured to:

perform, based on a determination that the write block data corresponds to the full write block flag, the write file operation corresponding to the at least one data block associated with the at least one object.

9 . The system of claim 7 , wherein the processor is further configured to:

obtain, based on a determination that the write block data corresponds to the partial write block flag, the block restoration data corresponding to each data block associated with the at least one object;

obtain, based on a determination that the block restoration data corresponds to the unrestored block flag, and a point-in-time state of the at least one data block is captured to the at least one respective snapshot data block, snapshot data of the at least one respective snapshot data block associated with the snapshot namespace;

obtain new write data associated with the write file operation corresponding to the at least one data block associated with the at least one object;

merge the snapshot data and the new write data to generate merged data; and

perform, based on the generated merged data, the write file operation corresponding to the at least one data block associated with the at least one object.

10 . A computer program product for snapshot restoration, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executed by a system to perform operations comprising:

receiving a restore command;

correlating, based on the reception of the restore command, a file system namespace of a file system with a snapshot namespace of a snapshot of the file system;

receiving a file operation command to perform at least one of a read file operation or a lookup file operation, corresponding to at least one object associated with the file system namespace of the file system, wherein

the at least one object is associated with restoration data that corresponds to at least one of a completely restored flag, an unrestored flag, or a partially restored flag, and

the restoration data indicates a current restoration state associated with the at least one object;

obtaining, based on a determination that the restoration data associated with the at least one object corresponds to the partially restored flag, block restoration data corresponding to each data block associated with the at least one object; and

executing, based on the block restoration data indicating at least on unrestored data block associated with the at least one object, a redirection operation for at least one of the read file operation or the lookup file operation, wherein

the redirection operation routes the file operation command to at least one respective snapshot data block corresponding to the at least one unrestored data block,

the at least one respective snapshot data block is associated with at least one respective snapshot object, and

the at least one respective snapshot object is associated with the snapshot namespace of the snapshot of the file system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2024
From: ZHOU, HAI ZHONG; SCHMUCK, FRANK; WANG-KNOP, KUEI-YU; ANDERSON, OWEN T.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 066945/0435 →
Continuity (1)
Related Publication 20250307085A1 · Oct 2, 2025
References Cited (13)
US 9971656B2 · Hay · 2018 [cited by applicant]
US 10114564B2 · Jain · 2018 [cited by applicant]
US 10114565B2 · Nithrakashyap · 2018 [cited by applicant]
US 10114705B1 · Kumar · 2018 [cited by examiner]
US 11079941B2 · Jain · 2021 [cited by applicant]
US 20040030951A1 · Armangau · 2004 [cited by examiner]
US 20210034474A1 · Khandkar · 2021 [cited by examiner]
US 20240028466A1 · Duggal · 2024 [cited by examiner]
“An efficient method for immediate recovery of large scale data center from block-level backups”, IP.com, IPCOM000222918D, Oct. 29, 2012, 5 pages. [cited by applicant]
“Continuous Data Protection for ReadyNAS® OS 6”, Netgear, 2020, 5 pages. [cited by applicant]
“Dell PowerProtect Data Manager: File System Backup and Recovery”, Dell Technologies, Technical White Paper, H18659.7, Oct. 2022, 25 pages. [cited by applicant]
“Methodology for Enabling Snapshots in an NFS-as-a-Service Hosting Environment”, IP.com, IPCOM000267023D, Sep. 16, 2021, 8 pages. [cited by applicant]
“Restoring a container from a system dump file”, IP.com, IPCOM000261585D, Mar. 19, 2020, 5 pages. [cited by applicant]