IP Library Granted Patent US 7,966,289
Granted Patent B2
US 7,966,289 · App. 11/894,697 · Granted Jun 21, 2011

Systems and methods for reading objects in 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,966,289
App. No.
11/894,697
Granted
Jun 21, 2011
Kind
B2
Abstract

Embodiments of the disclosure relate generally to file systems. Specifically, certain embodiments include systems and methods for reading objects in a file system. In some embodiments, a first processing thread traverses a portion of a file system and represents file system objects in a data structure. A portion of the data and/or metadata associated with the represented objects may be prefetched to a memory. In some embodiments, a second processing thread consumes the objects represented in the queue. For example, in a file system backup embodiment, the second processing thread may transfer data and/or metadata associated with the objects to an archive target.

Claims (25)

1. A computer system for transferring a portion of a file system to a memory, the system comprising:

a file system stored on at least one storage device;

one or more computer processors;

a memory coupled to the storage device;

a target stream;

a data structure representing files in the file system;

a prefetch module configured to, when executed by the one or more computer processors:

traverse data related to a portion of the file system;

determine whether to represent a file in the data structure based at least in part on a size of the file: a cumulative size of files currently represented in the data structure, wherein the cumulative size of the files represented in the a data structure comprises approximate cumulative space on the at least one storage device that is associated with the files, and a cumulative number of files currently represented in the data structure,

wherein the prefetch module determines not to represent the file in the data structure if to do so would cause the cumulative size of files to exceed a first threshold or would cause the cumulative number of files to exceed a second threshold,

wherein the first threshold and the second threshold are dynamically adjustable based on one or more of CPU usage, memory usage, transfer speed of a communication medium, and transfer speed of the at least one device; and

if the determination is to add a representation of the file to the data structure, add the representation of the file, prefetch at least a portion of the file, and add the prefetched portion to the memory; and

a working module configured to, when executed by the one or more computer processors, transfer at least portions of files represented in the data structure from the memory to the target stream.

2. The system of claim 1 , wherein the file system comprises a distributed file system and the at least one storage device comprises a plurality of storage devices.

3. The system of claim 1 , wherein the memory comprises a cache.

4. The system of claim 1 , wherein the data structure comprises a queue.

5. The system of claim 1 , wherein the portion of the file system comprises a directory.

6. The system of claim 1 , wherein the approximate cumulative space comprises approximate cumulative space of the files represented in the data structure that have not been transferred to the target stream by the working module.

7. The system of claim 1 , wherein the portion prefetched by the prefetch module comprises metadata associated with the file.

8. The system of claim 1 , wherein the prefetched portion comprises data associated with the file.

9. The system of claim 8 , wherein the data comprises only a beginning portion of the file.

10. The system of claim 1 , wherein the prefetch module is further configured such that the traversed portion of the file system is selected to be sufficient for the cumulative size of files represented in the data structure to change by at least a predetermined amount.

11. The system of claim 1 , wherein the working module is further configured to update the cumulative size of files represented in the data structure based at least in part on the size of the files transferred to the target stream.

12. The system of claim 1 , wherein the numerical count is weighted to reflect properties of the represented files.

13. The system of claim 9 , wherein the working module is further configured to retrieve a portion of the file which was not prefetched by the prefetch module.

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 8, 2007
From: LU, QICHU; PASSEY, AARON J.; KIRSCH, NICHOLAS MONTGOMERY
To: ISILON SYSTEMS, INC.
Reel/Frame 020097/0756 →