IP Library Granted Patent US 7,680,842
Granted Patent B2
US 7,680,842 · App. 11/506,591 · Granted Mar 16, 2010

Systems and methods for a snapshot of data

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,680,842
App. No.
11/506,591
Granted
Mar 16, 2010
Kind
B2
Abstract

In one embodiment, a user or client device is connected to a distributed file system comprised of one or more physical nodes. The data on each of the physical nodes store metadata about files and directories within the file system. Some of the embodiments permit a user to take a snapshot of data stored on the file system. The snapshot may include a single file, a single directory, a plurality of files within a directory, a plurality of directories, a path on the file system that includes nested files and subdirectories, or more than one path on the file system that each includes nested files and directories. In one embodiment, the metadata comprises mini-snapshots for directories representing a path from the root of the file system to the root of the snapshot. The mini-snapshots serve as stand-ins for portions of the file system which are not included in the snapshot, but which permit access to the snapshot data in an intuitive way.

Claims (34)

1. A processor-accessible data storage system for the storage of data representing a file system with a root-accessible directory-level snapshot structure comprising:

at least one computer processor;

at least one storage device;

a file system stored on the at least one storage device and accessible by the at least one computer processor, the file system comprising multiple metadata nodes, each metadata node comprising information about a file or directory stored on the at least one storage device;

at least one executable software module executed by the at least one computer processor and configured to:

receive a request to take a snapshot of a file or directory, the file or directory associated with a target metadata node;

access a parent metadata node of the target metadata node, the parent metadata node comprising a reference to the target metadata node and one or more references to one or more metadata nodes associated with files or directories which are not governed by the snapshot of the file or directory; and

create a copy of the parent metadata node, the copy of the parent metadata node comprising a reference to the target metadata node and no reference to any of the metadata nodes associated with files or directories which are not governed by the snapshot of the file or directory.

2. The data storage system of claim 1 , wherein the at least one executable software module is further configured to:

access a grandparent metadata node of the target metadata node, the grandparent metadata node comprising a reference to the parent metadata node and one or more references to one or more metadata nodes associated with files or directories which are not governed by the snapshot of the file or directory; and

create a copy of the grandparent metadata node, the copy of the grandparent metadata node comprising a reference to the parent metadata node and no reference to any of the metadata nodes associated with files or directories which are not governed by the snapshot of the file or directory.

3. The data storage system of claim 1 , wherein the at least one executable software module is further configured to:

access at least one ancestor metadata node of the target metadata node and the parent metadata node, each of the at least one ancestor metadata node comprising a reference to one or more ancestors of the target metadata node and one or more references to one or more metadata nodes associated with files or directories which are not governed by the snapshot of the file or directory; and

create a copy of each of the at least one ancestor metadata node, each copy of each of the at least one ancestor metadata node comprising a reference to one or more ancestors of the target metadata node and no reference to any of the metadata nodes associated with files or directories which are not governed by the snapshot of the file or directory.

4. The data storage system of claim 3 , wherein the at least one ancestor metadata node comprises all ancestors of the parent metadata node on a path between the parent metadata node and a root metadata node corresponding to a root of the file system.

5. The data storage system of claim 4 , wherein the at least one ancestor metadata node further comprises the root metadata node.

6. The data storage system of claim 3 , wherein each copy of each of the at least one ancestor metadata node does not store any information unrelated to accessing the file or directory associated with the target metadata node.

7. The data storage system of claim 1 , wherein the copy of the parent metadata node does not store any information unrelated to accessing the file or directory associated with the target metadata node.

8. The data storage system of claim 1 , wherein the at least one executable software module is further configured to receive a request to access the file or directory associated with the target metadata node and to perform the accessing and copying in response to the request to access.

9. A method of maintaining path-accessibility for partial snapshots of a hierarchical structure comprising:

receiving a request to take a snapshot of a file or directory, the file or directory associated with a target metadata node in the hierarchical structure, the hierarchical structure comprising multiple metadata nodes, each metadata node, including the target metadata node, comprising information about a file or directory;

accessing, by a computer processor, a parent metadata node of the target metadata node, the parent metadata node comprising a reference to the target metadata node and one or more references to one or more metadata nodes associated with files or directories which are not governed by the snapshot of the file or directory; and

creating, by the computer processor, a copy of the parent metadata node, the copy of the parent metadata node comprising a reference to the target metadata node and no reference to any of the metadata nodes associated with files or directories which are not governed by the snapshot of the file or directory.

10. The method of claim 9 , further comprising:

accessing, by the computer processor, a grandparent metadata node of the target metadata node, the grandparent metadata node comprising a reference to the parent metadata node and one or more references to one or more metadata nodes associated with files or directories which are not governed by the snapshot of the file or directory; and

creating, by the computer processor, a copy of the grandparent metadata node, the copy of the grandparent metadata node comprising a reference to the parent metadata node and no reference to any of the metadata nodes associated with files or directories which are not governed by the snapshot of the file or directory.

11. The method of claim 9 , further comprising:

accessing, by the computer processor, at least one ancestor metadata node of the target metadata node and the parent metadata node, each of the at least one ancestor metadata node comprising a reference to one or more ancestors of the target metadata node and one or more references to one or more metadata nodes associated with files or directories which are not governed by the snapshot of the file or directory; and

creating, by the computer processor, a copy of each of the at least one ancestor metadata node, each copy of each of the at least one ancestor metadata node comprising a reference to one or more ancestors of the target metadata node and no reference to any of the metadata nodes associated with files or directories which are not governed by the snapshot of the file or directory.

12. The method of claim 11 , wherein the at least one ancestor metadata node comprises all ancestors of the parent metadata node on a path between the parent metadata node and a root metadata node corresponding to a root of the hierarchical structure.

13. The method of claim 12 , wherein the at least one ancestor metadata node further comprises the root metadata node.

14. The method of claim 11 , wherein each copy of each of the at least one ancestor metadata node does not store any information unrelated to accessing the file or directory associated with the target metadata node.

15. The method of claim 9 , wherein the copy of the parent metadata node does not store any information unrelated to accessing the file or directory associated with the target metadata node.

16. The method of claim 9 , further comprising receiving a request to access the file or directory associated with the target metadata node, wherein the accessing and the creating are in response to the request to access.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2011
From: IVY HOLDING, INC.
To: EMC CORPORATION
Reel/Frame 026083/0036 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2011
From: ISILON SYSTEMS LLC
To: IVY HOLDING, INC.
Reel/Frame 026069/0925 →
MERGER Recorded Mar 31, 2011
From: ISILON SYSTEMS, INC.
To: ISILON SYSTEMS LLC
Reel/Frame 026066/0785 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2006
From: ANDERSON, ROBERT J.; FACHAN, NEAL T.; LEMAR, ERIC M.; PASSEY, AARON J.; RICHARDS, DAVID W.; SCHACK, DARREN P.
To: ISILON SYSTEMS, INC.
Reel/Frame 018506/0379 →