IP Library Granted Patent US 7,877,357
Granted Patent B1
US 7,877,357 · App. 11/871,911 · Granted Jan 25, 2011

Providing a simulated dynamic image of a file system

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,877,357
App. No.
11/871,911
Granted
Jan 25, 2011
Kind
B1
Abstract

Embodiments described herein adapt static-image and clone technology to provide a simulated dynamic image to an application requesting a dynamic image. A storage system is configured to backup its file system by taking a first static image of the file system at a point in time. A clone of the first image may then be produced, the clone containing any subsequent changes to the file system and a reference pointer to the first image. A second static image of the clone is then produced. An application may request, from the storage system, an image of the file system. In response, the second static image may be presented to the application as a simulated dynamic image.

Claims (59)

1. A method of generating an image for a storage object, the method comprising:

providing a computer system configured for:

generating a first image of the storage object, the first image comprising a read-only image of the storage object;

generating a first clone, the first clone comprising a reference to the first image and only new data reflecting changes to the storage object since a time that the first image is generated, the first clone comprising read-write functionality;

generating a second image of the first clone, the second image comprising a read-only image of the first clone;

receiving, from an application, a request for a read-write image of the storage object;

presenting the second image to the application in response to the request, the second image providing a simulated read-write image of the storage object through the read-write functionality of the first clone;

before generating the first clone, receiving data relating to the changes to the storage object since the time that the first image is generated, wherein the generating the first clone comprises:

writing the received data to the first clone; and

providing a reference to the first image; and

before the generating the second image of the first clone, setting the first clone to read-only functionality for preparing the first clone for capture in an image, wherein the storage object is reconstructed by extracting the first clone from the second image and retrieving the first image from the first clone using the reference to the first image in the first clone; and

removing a dependency of the first clone upon the first image, the dependency comprising the reference of the first clone to the first image for underlying data of the first clone.

2. The method of claim 1 , wherein the second image is used to restore or recover the storage object.

3. The method of claim 1 , wherein the storage object comprises a part of a file system, one or more disks, one or more drives, one or more volumes, one or more logical units (LUNs), or one or more virtual disks of the storage system.

4. A computer readable storage medium having instructions stored thereon when executed, generate an image for a storage object, the computer readable storage medium comprising sets of instructions for:

generating a first image of the storage object, the first image comprising a read-only image of the storage object;

generating a first clone, the first clone comprising a reference to the first image and only new data reflecting changes to the storage object since a time that the first image is generated, the first clone comprising read-write functionality;

generating a second image of the first clone, the second image comprising a read-only image of the first clone;

receiving, from an application, a request for a read-write image of the storage object;

presenting the second image to the application in response to the request, the second image providing a simulated read-write image of the storage object through the read-write functionality of the first clone;

before generating the first clone, receiving data relating to the changes to the storage object since the time that the first image is generated, wherein the generating the first clone comprises:

writing the received data to the first clone; and

providing a reference to the first image; and

before the generating the second image of the first clone, setting the first clone to read-only functionality for preparing the first clone for capture in an image, wherein the storage object is reconstructed by extracting the first clone from the second image and retrieving the first image from the first clone using the reference to the first image in the first clone; and

removing a dependency of the first clone upon the first image, the dependency comprising the reference of the first clone to the first image for underlying data of the first clone.

5. The computer readable storage medium of claim 4 , wherein the second image is used to restore or recover the storage object.

6. The computer readable storage medium of claim 4 , wherein the storage object comprises a part of a file system, one or more disks, one or more drives, one or more volumes, one or more logical units, or one or more virtual disks of the storage system.

7. A system for providing an image of a storage object, the system comprising:

a processor; a memory;

a computer system configured for:

generating a first image of the storage object, the first image comprising a read-only image of the storage object;

generating a first clone, the first clone comprising a reference to the first image and only new data reflecting changes to the storage object since a time that the first image is generated, the first clone comprising read-write functionality;

generating a second image of the first clone, the second image comprising a read-only image of the first clone;

receiving, from an application, a request for a read-write image of the storage object;

presenting the second image to the application in response to the request, the second image providing a simulated read-write image of the storage object through the read-write functionality of the first clone;

before generating the first clone, receiving data relating to the changes to the storage object since the time that the first image is generated, wherein the generating the first clone comprises:

writing the received data to the first clone; and

providing a reference to the first image; and

before generating the second image of the first clone, setting the first clone to read-only functionality for preparing the first clone for capture in an image, wherein the storage object is reconstructed by extracting the first clone from the second image and retrieving the first image from the first clone using the reference to the first image in the first clone; and

removing a dependency of the first clone upon the first image, the dependency comprising the reference of the first clone to the first image for underlying data of the first clone.

8. The system of claim 7 , wherein the second image is used to restore or recover the storage object.

9. The system of claim 7 , wherein the storage object comprises a part of a file system, one or more disks, one or more drives, one or more volumes, one or more logical units, or one or more virtual disks of a storage system.

10. A method of generating an image for a storage object, the method comprising:

providing a computer system configured for:

generating a first image of the storage object, the first image comprising a read-only image of the storage object;

generating a first clone, the first clone comprising a reference to the first image and only new data reflecting changes to the storage object since a time that the first image is generated, the first clone comprising read-write functionality;

generating a second image of the first clone, the second image comprising a read-only image of the first clone;

receiving, from an application, a request for a read-write image of the storage object;

presenting the second image to the application in response to the request for the read-write image, the second image providing a simulated read-write image of the storage object through the read-write functionality of the first clone;

before generating the first clone, receiving data relating to the changes to the storage object since the time that the first image is generated, wherein the generating the first clone comprises:

writing the received data to the first clone; and

providing a reference to the first image; and

before the generating the second image of the first clone, setting the first clone to read-only functionality for preparing the first clone for capture in an image, wherein the storage object is reconstructed by extracting the first clone from the second image and retrieving the first image from the first clone using the reference to the first image in the first clone;

receiving, from the application, a request to remove the first image of the storage object;

removing a dependency of the first clone upon the first image, the dependency comprising the reference of the first clone to the first image for underlying data of the first clone; and

removing the first image in response to the request to remove the first image.

11. The method of claim 10 , further comprising deleting the first clone.

12. The method of claim 10 , wherein the reference to the first image is contained in the second image for retrieving data of the first image, the method further comprising:

removing the dependency of the second image upon the first image by deleting the reference and deleting the second image.

Assignments (3)
CHANGE OF NAME Recorded Jun 10, 2011
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 026427/0475 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ADD INVENTOR: MURALIDHARAN RANGACHARI PREVIOUSLY RECORDED ON REEL 019958 FRAME 0090. ASSIGNOR(S) HEREBY CONFIRMS THE ADDED INVENTOR MURALIDHARAN RANGACHARI ON PAGE 1 OF THE ASSIGNMENT. Recorded Jul 10, 2008
From: WU, STEPHEN; EDWARDS, JOHN; REDDY, SREELATHA SUNKARA; RANGACHARI, MURALIDHARAN
To: NETWORK APPLIANCE, INC.
Reel/Frame 021226/0241 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2007
From: WU, STEPHEN; EDWARDS, JOHN; REDDY, SREELATHA SUNKARA
To: NETWORK APPLIANCE, INC.
Reel/Frame 019958/0090 →