IP Library › Granted Patent US 9,934,240
Granted Patent B2
US 9,934,240 · App. 12/242,811 · Granted Apr 3, 2018

On demand access to client cached files

Inventors: Peter Bradshaw (San Francisco, CA); Ryan Tyler Cairns (Sunnyvale, CA)
Assignee: GOOGLE LLC
G06F17/30174
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,934,240
App. No.
12/242,811
Filed
Sep 30, 2008
Granted
Apr 3, 2018
Kind
B2
Art Unit
2154
USPC
707/100
Abstract

Metadata for a set of files in a file system is stored in a client metadata database. In addition, a subset of content for the set of files in the client metadata database is stored in a client content database. The subset of content does not exceed a cache size that is less than a full size of the content in the set of the files. In response to a request, at least a portion of the content that is not already stored in the client content database is retrieved from a server content database, where the server content database is located remotely from the client device.

Claims (41)

1. A computer-implemented method of downloading file content on demand, performed by a client device having one or more processors and memory storing one or more programs for execution by the one or more processors, the method comprising:

at the client device:

storing in a client metadata database, metadata for a set of files in a file system;

storing in a client content database, a subset of content for the set of files for which metadata is stored in the client metadata database, wherein the subset of content does not exceed a cache size that is less than a full size of the content in the set of the files, and wherein the metadata in the client metadata database and the content in the client content database correspond to a virtual drive at the client device;

in response to a request, retrieving from a server content database and storing in the client content database, at least a portion of content not in the subset of content, wherein the server content database is on a server located remotely from the client device; and

performing a synchronization operation between the server and the client device wherein, upon completion of the synchronization operation, content stored in the client content database is a subset of a full set of content for the set of files and, upon completion of the synchronization operation, metadata stored in the client metadata database includes a full set of metadata for the set of files, wherein the subset of the full set of content does not exceed the cache size that is less than the full size of the content in the set of the files.

2. The method of claim 1 , wherein the subset of content includes at least some content for each file in the set of files.

3. The method of claim 1 , wherein the subset of content consists of content for only a subset of files of the set of files.

4. The method of claim 1 , wherein the retrieving comprises retrieving one or more discontinuous blocks of content of a respective file.

5. The method of claim 1 , wherein the retrieving comprises responding to a user request by retrieving one or more blocks of information required to respond to the user request, the one or more retrieved blocks comprising less than all the content of a respective file.

6. The method of claim 1 , including responding to a user request for information concerning a plurality of files in the set files by retrieving, for each respective file of at least a subset of the plurality of files, one or more blocks of information comprising less than all of the content of the respective file.

7. The method of claim 1 , wherein the retrieving further comprises, responding to multiple download requests for successive portions of a file by increasing the amount of data retrieved from the server in response to each successive request of the multiple download requests.

8. The method of claim 1 , further comprising:

removing from the client content database, content for at least one removal candidate file of a group of removal candidate files.

9. The method of claim 1 further comprising:

removing from the client content database content of a least recently accessed file in the group of removal candidate files.

10. The method of claim 1 , further comprising:

removing from the client content database content of a largest file in the group of removal candidate files.

11. The method of claim 1 , further comprising:

removing portions of content for a file in the content database, such that a smaller read-only version of the file remains.

12. A computer-implemented client device for downloading file content on demand, comprising:

one or more processors;

memory; and

one or more programs stored in the memory for execution by the one or more processors, the one or more programs comprising instructions to:

store in a client metadata database, metadata for a set of files in a file system;

store in a client content database, a subset of content for the set of files for which metadata is stored in the client metadata database, wherein the subset of content does not exceed a cache size that is less than a full size of the content in the set of the files, and wherein the metadata in the client metadata database and the content in the client content database correspond to a virtual drive at the client device;

respond to a request by retrieving from a server content database and storing in the client content database, at least a portion of content not in the subset of content, wherein the server content database is on a server located remotely from the client device; and

perform a synchronization operation between the server and the client device wherein, upon completion of the synchronization operation, content stored in the client content database is a subset of a full set of content for the set of files and, upon completion of the synchronization operation, metadata stored in the client metadata database includes a full set of metadata for the set of files, wherein the subset of the full set of content does not exceed the cache size that is less than the full size of the content in the set of the files.

13. The computer-implemented client device of claim 12 , wherein the subset of content includes at least some content for each file in the set of files.

14. The computer-implemented client device of claim 12 , wherein the subset of content consists of content for only a subset of files of the set of files.

15. The computer-implemented client device of claim 12 , wherein the instructions for retrieving include instructions for responding to a user request by retrieving one or more blocks of information required to respond to the user request, the one or more retrieved blocks comprising less than all the content of a respective file.

16. The computer-implemented client device of claim 12 , wherein the instructions for retrieving include instructions for responding to multiple download requests for successive portions of a file by increasing the amount of data retrieved from the server in response to each successive request of the multiple download requests.

17. A non-transitory computer readable storage medium storing one or more programs configured for execution by one or more processors of a client device for downloading file content on demand, the one or more programs comprising instructions to:

store in a client metadata database, metadata for a set of files in a file system;

store in a client content database, a subset of content for the set of files for which metadata is stored in the client metadata database, wherein the subset of content does not exceed a cache size that is less than a full size of the content in the set of the files, and wherein the metadata in the client metadata database and the content in the client content database correspond to a virtual drive at the client device;

respond to a request by retrieving from a server content database and storing in the client content database, at least a portion of content not in the subset of content, wherein the server content database is on a server located remotely from the client device; and

perform a synchronization operation between the server and the client device wherein,. upon completion of the synchronization operation, content stored in the client content database is a subset of a full set of content for the set of files and, upon completion of the synchronization operation, metadata stored in the client content database includes a full set of metadata for the set of files, wherein the subset of the full set of content does not exceed the cache size that is less than the full size of the content in the set of the files.

18. The computer readable storage medium of claim 17 , wherein the subset of content includes at least some content for each file in the set of files.

19. The computer readable storage medium of claim 17 , wherein the subset of content consists of content for only a subset of files of the set of files.

20. The computer readable storage medium of claim 17 , wherein the instructions for retrieving include instructions for responding to a user request by retrieving one or more blocks of information required to respond to the user request, the one or more retrieved blocks comprising less than all the content of a respective file.

21. The computer readable storage medium of claim 17 , wherein the instructions for retrieving include instructions for responding to multiple download requests for successive portions of a file by increasing the amount of data retrieved from the server in response to each successive request of the multiple download requests.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2008
From: BRADSHAW, PETER; CAIRNS, RYAN TYLER
To: GOOGLE INC.
Reel/Frame 021784/0686 →
Continuity (1)
Related Publication 20150193514A1 · Jul 9, 2015