IP Library Granted Patent US 9,792,296
Granted Patent B2
US 9,792,296 · App. 14/504,368 · Granted Oct 17, 2017

Clustered filesystem with data volume snapshot

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 9,792,296
App. No.
14/504,368
Granted
Oct 17, 2017
Kind
B2
Abstract

A computer system with read/write access to storage devices creates a snapshot of a data volume at a point in time while continuing to accept access requests to the mirrored data volume by copying before making changes to the base data volume. Multiple snapshots may be made of the same data volume at different points in time. Only data that is not stored in a previous snapshot volume or in the base data volume are stored in the most recent snapshot volume.

Claims (51)

1. A method for maintaining a copy of a data volume for a computer system for at least one point in time, the method comprising:

receiving a read request for at least a portion of at least one of one or more snapshots of a base volume from a requestor;

identifying that the read request to the at least one or more snapshots includes a region that has changed since a first snapshot was initiated, and includes a region that has not changed since the first snapshot was initiated, wherein the identification that the at least one or more snapshots includes the region that has changed since the first snapshot was initiated is identified by accessing at least one region modified map of a plurality of modified region maps, and each of the plurality of modified region maps are associated with a different snapshot of the one or more snapshots;

reading data from the region that has changed since the first snapshot was initiated from the first snapshot;

reading data from the region that has not changed from the base volume;

transmitting the data from the region that has changed since the first snapshot was initiated and the data from the region that has not changed to the requestor;

identifying that a portion of data associated with a file has been deleted; and

copying the deleted portion of the data associated with the file from the base volume to the first snapshot.

2. The method of claim 1 , wherein the region modified map includes a bit representing each region of the base volume, and the bit indicates whether data in the region has changed.

3. The method of claim 1 , wherein the at least one of the one or more snapshots are stored in a repository, and the repository is implemented as a filesystem within which space is allocated in blocks.

4. The method of claim 3 , wherein at least one of the blocks are read when identifying that the region has changed.

5. The method of claim 1 , further comprising:

identifying that additional memory is required to maintain the first snapshot; and

dynamically allocating additional memory to the first snapshot after identifying that the additional memory is required to maintain the first snapshot.

6. The method of claim 1 , further comprising:

identifying that the read request also includes a region that has changed since a second snapshot was initiated;

reading data from the second snapshot that has changed since the second snapshot was initiated; and

transmitting the data from the region that has changed since the second snapshot was initiated to the requestor.

7. A non-transitory computer readable storage medium having embodied thereon a program executable by a processor to perform a method for maintaining a copy of a data volume for a computer system for at least one point in time, the method comprising:

receiving a read request for at least a portion of at least one of one or more snapshots of a base volume from a requestor, wherein the identification that the at least one or more snapshots includes the region that has changed since the first snapshot was initiated is identified by accessing at least one region modified map of a plurality of modified region maps, and each of the plurality of modified region maps are associated with a different snapshot of the one or more snapshots;

identifying that the read request to the at least one or more snapshots includes a region that has changed since a first snapshot was initiated, and includes a region that has not changed since the first snapshot was initiated;

reading data from the region that has changed since the first snapshot was initiated from the first snapshot;

reading data from the region that has not changed from the base volume;

transmitting the data from the region that has changed since the first snapshot was initiated and the data from the region that has not changed to the requestor;

identifying that a portion of data associated with a file has been deleted; and

copying the deleted portion of the data associated with the file from the base volume to the first snapshot.

8. The non-transitory computer readable storage medium of claim 7 , wherein the region modified map includes a bit representing each region of the base volume, and the bit indicates whether data in the region has changed.

9. The non-transitory computer readable storage medium of claim 7 , wherein the at least one of the one or more snapshots are stored in a repository, and the repository is implemented as a filesystem within which space is allocated in blocks.

10. The non-transitory computer readable storage medium of claim 9 , wherein at least one of the blocks are read when determining identifying that the region has changed.

11. The non-transitory computer readable storage medium of claim 7 , further comprising:

identifying that additional memory is required to maintain the first snapshot; and

dynamically allocating additional memory to the first snapshot after determining identifying that the additional memory is required to maintain the first snapshot.

12. The non-transitory computer readable storage medium of claim 7 , the program further executable to:

identify that the read request also includes a region that has changed since a second snapshot was initiated;

read data from the second snapshot that has changed since the second snapshot was initiated; and

transmit the data from the region that has changed since the second snapshot was initiated to the requestor.

13. A system for maintaining a copy of a data volume for a computer system for at least one point in time, the system comprising:

a memory;

one or more processors, wherein the one or more processors executes instructions out of the memory to:

receive a read request for at least a portion of at least one of one or more snapshots of a base volume from a requestor over a computer network,

identify that the read request to the at least one or more snapshots includes a region that has changed since a first snapshot was initiated, and includes a region that has not changed since the first snapshot was initiated,

read data from the region that has changed since the first snapshot was initiated from the first snapshot, and

read data from the region that has not changed from the base volume; and

a communications interface communicatively coupled to the computer network and that transmits the data from the region that has changed since the first snapshot was initiated and the data from the region that has not changed to the requestor over the computer network, wherein a portion of data associated with a file has been deleted is identified, and the deleted portion of the data associated with the file is copied from the base volume to the first snapshot.

14. The system of claim 13 , wherein the region modified map includes a bit representing each region of the base volume, and the bit indicates whether data in the region has changed.

15. The system of claim 13 , wherein the at least one of the one or more snapshots are stored in a repository, and the repository is implemented as a filesystem within which space is allocated in blocks.

16. The system of claim 15 , wherein at least one of the blocks are read when identifying that the region has changed.

17. The system of claim 13 , wherein the processor:

identifies that the read request also includes a region that has changed since a second snapshot was initiated;

reads data from the second snapshot that has changed since the second snapshot was initiated; and

transmits the data from the region that has changed since the second snapshot was initiated to the requestor.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2017
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 044128/0149 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2017
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 043564/0218 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2014
From: BECK, KENNETH
To: SILICON GRAPHICS, INC.
Reel/Frame 034121/0584 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2014
From: SILICON GRAPHICS, INC.
To: SILICON GRAPHICS INTERNATIONAL, INC.
Reel/Frame 034121/0604 →
MERGER Recorded Nov 6, 2014
From: SGI INTERNATIONAL, INC.
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 034121/0861 →
CHANGE OF NAME Recorded Nov 6, 2014
From: SILICON GRAPHICS INTERNATIONAL, INC.
To: SGI INTERNATIONAL, INC.
Reel/Frame 034182/0731 →