IP Library Granted Patent US 9,984,088
Granted Patent B1
US 9,984,088 · App. 14/675,451 · Granted May 29, 2018

User driven data pre-fetch

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,984,088
App. No.
14/675,451
Granted
May 29, 2018
Kind
B1
Abstract

Techniques to provide access to file system information are disclosed. In various embodiments, an indication that a user input associated with creating a local copy of a file system object has been received is received at a file system client. The file system client determines that a user-driven pre-fetch option has been set with respect to the file system object. The file system client pre-fetches content data associated with the file system object, based at least in part on the determination that the pre-fetch option has been set with respect to the file system object.

Claims (43)

1. A method of providing access to file system information, comprising:

receiving at a file system client comprising one or more processors an indication that a user input associated with creating a local copy of a file system object has been received;

determining, by one or more processors, that a user-driven pre-fetch option has been set as active with respect to the file system object;

determining, by one or more processors, one or more user inputs or user actions in response to which pre-fetch of the file system object is to be performed;

detecting, by one or more processors, the one or more user inputs or user actions; and

in response to detecting the one or more user inputs or user actions, pre-fetching, by the file system client, of content data associated with the file system object, based at least in part on the determination that the pre-fetch option has been set as active with respect to the file system object, wherein a scope of the pre-fetching is based at least in part on whether the user-driven pre-fetch option has been set as active or in active, and the one or more contexts in response to which pre-fetch of the file system object is to be performed, wherein the pre-fetching of the content-data associated with the file system object comprises:

in the event that the user-driven pre-fetch option has been set as active with respect to the file system object, folder metadata and content items associated with a folder are downloaded recursively in response to detecting the one or more user inputs or user actions, wherein the one or more user inputs or user actions correspond to a context for which a response does not expressly require the folder metadata, and

in the event that the user-driven pre-fetch option has not been set as active with respect to the file system object, the folder metadata is downloaded in response to an express indication to download the folder metadata or in response to a request for which a response requires the folder metadata.

2. The method of claim 1 , wherein the user input comprises a drag and drop action performed with respect to a representation of the file system object as displayed in a user interface.

3. The method of claim 2 , wherein the user interface is provided by an application or tool used to display file system information provided by the file system client.

4. The method of claim 3 , wherein the file system client is configured to obtain the file system information from a remote file system metadata server.

5. The method of claim 4 , wherein pre-fetching the content data comprises requesting the content data from the remote file system metadata server without first receiving an explicit user request for the content data.

6. The method of claim 1 , wherein the file system object comprises a folder or other logical container.

7. The method of claim 6 , wherein the contents comprises one or both of subfolders and files associated with the folder or other logical container.

8. The method of claim 1 , wherein the content data comprises a plurality of files or other file system objects and pre-fetching the content data comprises using a plurality of processing threads to download in parallel multiple ones of the files or other file system objects.

9. The method of claim 1 , wherein the file system client is configured to download only a listing of contents of the file system object in instances in which the user-driven pre-fetch option has not been set.

10. The method of claim 1 , further comprising providing a context menu option or other control to enable the pre-fetch option to be set.

11. A computer system, comprising:

a storage device configured to store a local cache;

a processor coupled to the storage device and configured to:

receive an indication that a user input associated with creating a local copy of a file system object has been received;

determine that a user-driven pre-fetch option has been set as active with respect to the file system object;

determine one or more user inputs or user actions in response to which pre-fetch of the file system object is to be performed;

detect the one or more user inputs or user actions; and

in response to detecting the one or more user inputs or user actions, pre-fetching and storing in the local cache content data associated with the file system object, based at least in part on the determination that the pre-fetch option has been set as active with respect to the file system object, wherein a scope of the pre-fetching is based at least in part on whether the user-driven pre-fetch option has been set as active or in active, and the one or more contexts in response to which pre-fetch of the file system object is to be performed, wherein the pre-fetching of the content-data associated with the file system object comprises:

in the event that the user-driven pre-fetch option has been set as active with respect to the file system object, folder metadata and content items associated with a folder are downloaded recursively in response to detecting the one or more user inputs or user actions, wherein the one or more user inputs or user actions correspond to a context for which a response does not expressly require the folder metadata, and

in the event that the user-driven pre-fetch option has not been set as active with respect to the file system object, the folder metadata is downloaded in response to an express indication to download the folder metadata or in response to a request for which a response requires the folder metadata.

12. The system of claim 11 , wherein the user input comprises a drag and drop action performed with respect to a representation of the file system object as displayed in a user interface.

13. The system of claim 12 , wherein the user interface is provided by an application or tool used to display file system information provided by a file system client.

14. The system of claim 13 , wherein the processor is configured to obtain the file system information from a remote file system metadata server.

15. The system of claim 11 , wherein the file system object comprises a folder or other logical container.

16. The system of claim 11 , wherein the content data comprises a plurality of files or other file system objects and pre-fetching the content data comprises using a plurality of processing threads to download in parallel multiple ones of the files or other file system objects.

17. The system of claim 11 , wherein the processor is further configured to provide a context menu option or other control to enable the pre-fetch option to be set.

18. A computer program product to provide access to file system information, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving at a file system client comprising one or more processors an indication that a user input associated with creating a local copy of a file system object has been received;

determining, by one or more processors, that a user-driven pre-fetch option has been set as active with respect to the file system object;

determining, by one or more processors, one or more user inputs or user actions in response to which pre-fetch of the file system object is to be performed;

detecting, by one or more processors, the one or more user inputs or user actions; and

in response to detecting the one or more contexts, pre-fetching, by the file system client, of content data associated with the file system object, based at least in part on the determination that the pre-fetch option has been set as active with respect to the file system object, wherein a scope of the pre-fetching is based at least in part on whether the user-driven pre-fetch option has been set as active or in active, and the one or more contexts in response to which pre-fetch of the file system object is to be performed, wherein the pre-fetching of the content-data associated with the file system object comprises:

in the event that the user-driven pre-fetch option has been set as active with respect to the file system object, folder metadata and content items associated with a folder are downloaded recursively in response to detecting the one or more user inputs or user actions, wherein the one or more user inputs or user actions correspond to a context for which a response does not expressly require the folder metadata, and

in the event that the user-driven pre-fetch option has not been set as active with respect to the file system object, the folder metadata is downloaded in response to an express indication to download the folder metadata or in response to a request for which a response requires the folder metadata.

19. The computer program product of claim 18 , wherein the user input comprises a drag and drop action performed with respect to a representation of the file system object as displayed in a user interface.

20. The computer program product of claim 18 , further comprising computer instructions for providing a context menu option or other control to enable the pre-fetch option to be set.

Assignments (9)
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: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; 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 →
MERGER Recorded Feb 2, 2021
From: MAGINATICS LLC
To: EMC CORPORATION
Reel/Frame 055118/0382 →
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 →
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 Mar 31, 2015
From: DESAI, RAJIV; KAMRA, VAIBHAV
To: MAGINATICS LLC
Reel/Frame 035304/0897 →