IP Library Granted Patent US 7,502,801
Granted Patent B2
US 7,502,801 · App. 11/418,619 · Granted Mar 10, 2009

Providing a snapshot of a subset of a file system

Assignee: International Business Machines Corporation
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 7,502,801
App. No.
11/418,619
Granted
Mar 10, 2009
Kind
B2
Abstract

A system, method and computer readable medium for providing a snapshot of a subset of a file system. A first snapshot of a first set of source files in a file system is generated. The first snapshot includes an inode corresponding to each source file in the first set of files. Stored in each inode is a first identifier associated with the first set of files and a second identifier associated with the time of the first snapshot. Next, a second snapshot of a second set of source files is taken. The second snapshot includes an inode corresponding to each source file in the second set of files. Stored in each inode are a first identifier and a second identifier. Subsequent snapshots are taken every first period and every second period for the first set of files and the second set of files, respectively.

Claims (45)

1. A system for generating snapshots, comprising:

a memory:

a processor communicatively coupled to the memory:

an input interface, communicatively coupled to the memory and the processor, adapted to receive a first snapshot for a first plurality of source files in a file system, wherein the first snapshot comprises at least one invalid inode that contains an invalid disk address, wherein an invalid inode containing an invalid disk address indicates that metadata corresponding to the invalid inode is contained in one of a more recent snapshot and the source file system, and wherein the first plurality of source files comprises a subset of files within the file system that contains fewer than all of the files in the file system; and

a storage, communicatively coupled to the memory, the processor and the input interface, the storage adapted to receive the first snapshot and store the first snapshot in response to the input interface receiving the first snapshot, the storage further adapted to store:

a file snapshot identifier representing the subset of files comprising the first plurality of source files that are contained within the first snapshot, the file snapshot identifier stored within each inode corresponding to each of the first plurality of source files, and

a snapshot sequence identifier associated with a time of the first snapshot, the snapshot sequence identifier stored within each inode corresponding to each of the first plurality of source files;

a command interface adapted to accept a request for the first snapshot; and

an output interface adapted to provide, in response to the command interface accepting the request, the first snapshot.

2. The system of claim 1 , the storage further adapted to store a value equal to a value of at least one most recently stored snapshot sequence identifier.

3. The system of claim 1 , the storage further adapted to store:

a second snapshot for a second plurality of source files in a file system, wherein the second snapshot comprises at least one invalid inode that contains an invalid disk address, wherein an invalid inode containing an invalid disk address indicates that metadata corresponding to the invalid inode is contained in one of a more recent snapshot and the source file system;

a second file snapshot identifier representing files comprising the second plurality of source files, the second file snapshot identifier stored within each inode corresponding to each of the second plurality of source files; and

a second snapshot sequence identifier associated with the time of the second snapshot, the second snapshot sequence identifier stored within each inode corresponding to each of the second plurality of source files.

4. The system of claim 3 , wherein at least some of the first plurality of source files and the second plurality of source files are not equivalent.

5. The system of claim 3 , wherein the first plurality of source files is a subset of the second plurality of source files.

6. A computer implemented method for generating snapshots, the method comprising:

receiving a first snapshot for a first plurality of source files in a file system, wherein the first snapshot comprises at least one invalid inode that contains an invalid disk address, wherein an invalid inode containing an invalid disk address indicates that metadata corresponding to the invalid inode is contained in one of a more recent snapshot and the source file system, and wherein the first plurality of source files comprises a subset of files within the file system that contains fewer than all of the files in the file system;

storing the first snapshot into a storage;

storing, into the storage, a file snapshot identifier representing the subset of files comprising the first plurality of source files that are contained within the first snapshot, the file snapshot identifier stored within each inode corresponding to each of the first plurality of source files;

storing, into the storage, a snapshot sequence identifier associated with a time of the first snapshot, the snapshot sequence identifier stored within each inode corresponding to each of the first plurality of source files;

accepting a request for the first snapshot; and

providing, in response to accepting the request, the first snapshot.

7. The computer implemented method of claim 6 , further comprising storing, in the storage, a value equal to a value of at least one most recently stored snapshot sequence identifier.

8. The computer implemented method of claim 6 , further comprising:

storing, into the storage, a second snapshot for a second plurality of source files in a file system, wherein the second snapshot comprises at least one invalid inode that contains an invalid disk address, wherein an invalid inode containing an invalid disk address indicates that metadata corresponding to the invalid inode is contained in one of a more recent snapshot and the source file system;

storing, into the storage, a second file snapshot identifier representing files comprising the second plurality of source files, the second file snapshot identifier stored within each inode corresponding to each of the second plurality of source files; and

storing, into the storage, a second snapshot sequence identifier associated with the time of the second snapshot, the second snapshot sequence identifier stored within each inode corresponding to each of the second plurality of source files.

9. The computer implemented method of claim 8 , wherein at least some of the first plurality of source files and the second plurality of source files are not equivalent.

10. The computer implemented method system of claim 8 , wherein the first plurality of source files is a subset of the second plurality of source files.

11. A computer program product for generating snapshots, the computer program comprising:

a storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:

receiving a first snapshot for a first plurality of source files in a file system, wherein the first snapshot comprises at least one invalid inode that contains an invalid disk address, wherein an invalid inode containing an invalid disk address indicates that metadata corresponding to the invalid inode is contained in one of a more recent snapshot and the source file system, and wherein the first plurality of source files comprises a subset of files within the file system that contains fewer than all of the files in the file system;

storing the first snapshot into a storage;

storing, into the storage, a file snapshot identifier representing the subset of files comprising the first plurality of source files that are contained within the first snapshot, the file snapshot identifier stored within each inode corresponding to each of the first plurality of source files;

storing, into the storage, a snapshot sequence identifier associated with a time of the first snapshot, the snapshot sequence identifier stored within each inode corresponding to each of the first plurality of source files;

accepting a request for the first snapshot; and

providing, in response to accepting the request, the first snapshot.

12. The computer readable medium of claim 11 , the computer instructions further comprising instructions for storing, into the storage, a value equal to a value of at least one most recently stored snapshot sequence identifier.

13. The computer readable medium of claim 11 , the computer instructions further comprising instructions for:

storing, into the storage, a second snapshot for a second plurality of source files in a file system, wherein the second snapshot comprises at least one invalid inode that contains an invalid disk address, wherein an invalid inode containing an invalid disk address indicates that metadata corresponding to the invalid inode is contained in one of a more recent snapshot and the source file system;

storing, into the storage, a second file snapshot identifier associated with the second plurality of source files, the second file snapshot identifier stored within each inode corresponding to each of the second plurality of source files; and

storing, into the storage, a second snapshot sequence identifier associated with the time of the second snapshot, the second snapshot sequence identifier stored within each inode corresponding to each of the second plurality of source files.

14. The computer readable medium of claim 13 , wherein at least some of the first plurality of source files and the second plurality of source files are not equivalent.

15. The computer readable medium of claim 13 , wherein the first plurality of source files is a subset of the second plurality of source files.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0334 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2012
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: SAP AG
Reel/Frame 028536/0394 →
Continuity (3)
Division 1096687000 · Oct 15, 2004
Division 1007712900 · Feb 15, 2002
Related Publication 20060206536A1 · Sep 14, 2006