IP Library Granted Patent US 9,952,753
Granted Patent B2
US 9,952,753 · App. 15/694,722 · Granted Apr 24, 2018

Predictive caching and fetch priority

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,952,753
App. No.
15/694,722
Granted
Apr 24, 2018
Kind
B2
Abstract

Predicting what content items a user finds important and sending those items to a cache on the user's device at times when doing so will not drain resources and will not result in expensive data rates. Applying a ranking function that examines recency and other content metadata associated with the user's content items stored in a synchronized content management system. Determining how much of a ranked list of content items to cache and deciding when is a good time to send content items to the local cache.

Claims (50)

1. A computer-implemented method comprising:

receiving, from a client device authorized on a user account of a content management system, an amount of free memory space available on the client device for caching one or more content items associated with the user account;

defining a subset of the amount of free memory space available to use for caching the one or more content items;

selecting a subset of content items from the one or more content items associated with the user account based on the subset of the amount of free memory space on the client device;

increasing the defined subset of the amount of free memory space to use for caching based on a measured stamina of the client device; and

selecting a further subset of content items from the one or more content items associated with the user account based on the increased defined subset of the amount of free memory space.

2. The method of claim 1 , wherein selecting a subset of content items from the content items associated with the user account comprises:

generating a ranked list of content items from the content items associated with the user account based on a generated Fetch Priority score, wherein a content item with a higher Fetch Priority score has a higher rank in the ranked list; and

selecting one or more content items from the ranked list beginning with higher ranked content items until an amount of space required to cache the selected content items fills the subset of the amount of available caching space.

3. The method of claim 1 wherein the measured stamina includes battery life, hardware profile, and network conditions.

4. The method of claim 1 , wherein the subset of the amount of free space to use for caching is calculated by the content management system based on a predetermined percentage of a total amount of storage space on the client device and the received amount of free memory space available on the client device.

5. The method of claim 1 , wherein metadata associated with a content item comprises at least one of a file size, a user indication of importance of a content item, a content management system-wide item score, a score reflecting how likely a content item is to be updated, or a quality score reflecting a quality of a content item compared to an original of the content item.

6. The method of claim 1 further comprising adjusting a fetch rate and fetch schedule based on the measured stamina.

7. The method of claim 6 , wherein the measured stamina includes an amount of battery life remaining; and

adjusting the fetch rate and fetch schedule is based on both the amount of battery life remaining and the increased defined subset of the amount of free memory space.

8. The method of claim 1 further comprising:

caching the further subset of content items with the increased defined subset of the amount of free memory space in the client device.

9. The method of claim 8 , comprising:

selecting at least one content item that was previously cached to be deleted when a Fetch priority score for a new file or a modified existing file is ranked higher on a ranked list of content items from the at least one content items associated with the user account based on respective Fetch Priority scores of each of the content items.

10. A non-transitory computer-readable medium comprising instructions stored on the computer readable medium that when executed are effective to cause a computing device to:

receive, from a first client device authorized on a user account of a content management system, a first amount of free memory space available on the first client device for caching one or more content items associated with the user account;

define a subset of the first amount of free memory space to use for caching the one or more content items;

select a first subset of content items from the content items associated with the user account based on a first amount of available caching space;

increase the defined subset of the first amount of free memory space to use for caching based on a measured stamina of the first client device; and

select a second subset of content items from the one or more content items associated with the user account based on the increased defined subset of the first amount of free memory space.

11. The non-transitory computer-readable medium of claim 10 further comprising:

receive, from a second client device authorized on the user account of the content management system, a second amount of free memory space available on the second client device for caching one or more content items associated with the user account; and

select a third subset of content items from the content items associated with the user account based on a generated Fetch Priority score and a second amount of available caching space on the first client device.

12. The non-transitory computer-readable medium of claim 10 , 1 further comprising adjusting a fetch rate and fetch schedule based on the measured stamina.

13. The non-transitory computer-readable medium of claim 12 , wherein the measured stamina includes an amount of battery life remaining; and

adjusting the fetch rate and fetch schedule is based on both the amount of battery life remaining and the increased defined subset of the amount of free memory space.

14. The non-transitory computer-readable medium of claim 10 , wherein the subset of the first amount of available caching space is calculated by the content management system based on a predetermined percentage and the received first amount of free memory space available on the first client device and a second amount of available caching space is calculated by the content management system based on the predetermined percentage and a received second amount of free memory space available on a second client device.

15. The non-transitory computer-readable medium of claim 10 , wherein selecting a subset of content items from the content items associated with the user account comprises:

generate a ranked list of content items from the content items associated with the user account based on generated Fetch Priority scores, wherein a content item with a higher Fetch Priority score has a higher rank in the ranked list; and

select one or more content items from the ranked list beginning with higher ranked content items until an amount of space required to cache the selected content items fills the amount of available caching space.

16. The non-transitory computer-readable medium of claim 10 comprising:

caching the second subset of content items with the increased defined subset of the amount of free memory space in the first client device.

17. The non-transitory computer-readable medium of claim 10 , wherein the measured stamina includes battery life, hardware profile, and network conditions.

18. The non-transitory computer-readable medium of claim 10 , wherein metadata associated with a content item comprises at least one of a file size, a user indication of importance of a content item, a content management system-wide item score, a score reflecting how likely a content item is to be updated, or a quality score reflecting a quality of a content item compared to an original of the content item.

19. A system comprising:

a first client device having configured to store and synchronize local copies of content items stored on a content management system, the client device having a first amount of available caching space; and

the content management system configured to:

receive, from a client device authorized on a user account of the content management system, an amount of free memory space available on the client device for caching one or more content items associated with the user account;

define a subset of the amount of free memory space to use for caching the one or more content items;

select a subset of content items from the one or more content items associated with the user account based on the subset of the amount of free memory space on the client device;

increase the defined subset of the amount of free memory space to use for caching based on a measured stamina of the client device; and

select a further subset of content items from the one or more content items associated with the user account based on the increased defined subset of the amount of free memory space.

20. The system of claim 19 further wherein the content management system configured to:

adjust a fetch rate and fetch schedule based on the measured stamina, wherein the measured stamina includes an amount of battery life remaining; and

adjusting the fetch rate and fetch schedule is based on both the amount of battery life remaining and the increased defined subset of the amount of free memory space.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069635/0332 →
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
PATENT SECURITY AGREEMENT Recorded Mar 10, 2021
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 055670/0219 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2017
From: KLUESING, DANIEL; ANDERSSON, RASMUS
To: DROPBOX, INC.
Reel/Frame 043475/0546 →