IP Library Granted Patent US 11,562,000
Granted Patent B2
US 11,562,000 · App. 16/887,317 · Granted Jan 24, 2023

Storage constrained synchronization engine

Inventors: Isaac Goldberg (San Francisco, CA); Benjamin Zeis Newhouse (San Francisco, CA)
Assignee: DROPBOX, INC.
G06F16/27G06F16/178G06F16/1734G06F16/1787G06F16/23G06F16/235G06F16/2308G06F16/2358G06F16/2379
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 11,562,000
App. No.
16/887,317
Granted
Jan 24, 2023
Kind
B2
Abstract

A client application of a content management system provides instructions for synchronizing content items and placeholder items using a local file journal and updated file journal. The client application compares entries in the updated file journal to entries in the local file journal to determine modifications to make to content items or placeholder items stored in a shared content storage directory on the client device. Based on the result of the comparison, the client application replaces placeholder items with content items or replaces content items with placeholder items.

Claims (34)

1. A method comprising:

storing, by a client device, a plurality of synchronized items including placeholder items and content items, each of the synchronized items having corresponding metadata indicating a local sync type;

receiving, by the client device, data comprising a plurality of fields, a field of the plurality of fields indicating an updated sync type for a given synchronized item, the updated sync type selected from a plurality of candidate discrete predefined values for the field, the plurality of candidate discrete predefined values for the field comprising a first predefined value indicating that a new version of the given synchronized item is a placeholder item and a second predefined value indicating that the new version of the given synchronized item is a content item, the local sync type for the given synchronized item indicating that the given synchronized item is a placeholder item;

responsive to receiving the updated sync type, determining whether the updated sync type indicates that the new version of the given synchronized item is a content item instead of a placeholder item; and

responsive to determining that the updated sync type indicates that the new version of the given synchronized item is a content item instead of a placeholder item, replacing, in the client device, the placeholder item with the content item.

2. The method of claim 1 , further comprising calculating a retention score for the given synchronized item, the retention score indicative of a likelihood that the given synchronized item will be accessed.

3. The method of claim 2 , wherein the retention score is an access frequency score proportionate to a number of accesses to the given synchronized item within a predetermined time period.

4. The method of claim 2 , wherein the retention score is a location related access score based on a weighted combination of at least one of:

a latest access time of the given synchronized item and a latest access time of a co-located synchronized item, and

an access frequency of the given synchronized item and an access frequency of the co-located synchronized item.

5. The method of claim 2 , wherein the retention score is a similar access score based on a weighted combination of at least one of a latest access time of the given synchronized item, an access frequency of the given synchronized item, a latest access time of a similar synchronized item, or an access frequency of the similar synchronized item.

6. The method of claim 2 , wherein the retention score is a criteria based retention score based on a number of predictive criteria satisfied by the given synchronized item, the predictive criteria comprising at least one of a latest access time, a location, a type, a size, an access frequency, a shared status, a number of accounts with access, a number of devices with access, or a number of devices storing the given synchronized item.

7. The method of claim 1 , wherein the updated sync type indicates that the new version of the given synchronized item is the placeholder item when a retention score of the given synchronized item is at or below a threshold or the content item when the retention score of the given synchronized item is above the threshold.

8. The method of claim 1 , wherein an entry of metadata is stored at the client device for each of the plurality of synchronized content items, and wherein receiving the updated sync type for the given synchronized item comprises receiving an updated entry from a content management system, the updated entry representing a new version of the given synchronized item and including the updated sync type for the given synchronized item.

9. A method comprising:

storing, by a client device, a plurality of synchronized items including placeholder items and content items, each of the synchronized items having corresponding metadata indicating a local sync type;

receiving, by the client device, data comprising a plurality of fields, a field of the plurality of fields indicating an updated sync type for a given synchronized item, the updated sync type selected from a plurality of candidate discrete predefined values for the field, the plurality of discrete candidate predefined values for the field comprising a first predefined value indicating that a new version of the given synchronized item is a placeholder item and a second predefined value indicating that the new version of the given synchronized item is a content item, the local sync type for the given synchronized item indicating that the given synchronized item is a content item;

responsive to receiving the updated sync type, determining whether the updated sync type indicates that the new version of the given synchronized item is a placeholder item instead of a content item; and

responsive to determining that the updated sync type indicates that the new version of the given synchronized item is a placeholder item instead of a content item, replacing, in the client device, the content item with the placeholder item.

10. The method of claim 9 , calculating a retention score for the given synchronized item is indicative of a likelihood that the given synchronized item will be accessed.

11. The method of claim 10 , wherein the retention score is an access frequency score proportionate to a number of accesses to the given synchronized item within a predetermined time period.

12. The method of claim 10 , wherein the retention score is a location related access score based on a weighted combination of at least one of a latest access time of the given synchronized item, an access frequency of the given synchronized item, a latest access time of a co-located synchronized item, or an access frequency of the co-located synchronized item.

13. The method of claim 10 , wherein the retention score is a similar access score based on a weighted combination of at least one of a latest access time of the given synchronized item, an access frequency of the given synchronized item, a latest access time of a similar synchronized item, or an access frequency of the similar synchronized item.

14. The method of claim 10 , wherein the retention score is a criteria based retention score based on a number of predictive criteria satisfied by the given synchronized item, the predictive criteria comprising at least one of a latest access time, a location, a type, a size, an access frequency, a shared status, a number of accounts with access, a number of devices with access, or a number of devices storing the given synchronized item.

15. The method of claim 9 , wherein the updated sync type indicates that the new version of the given synchronized item is the placeholder item when a retention score of the given synchronized item is at or below a threshold or the content item when the retention score of the given synchronized item is above the threshold.

16. A non-transitory computer readable storage medium storing executable instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

storing a plurality of synchronized items including placeholder items and content items, each of the synchronized items having corresponding metadata indicating a local sync type;

receiving data comprising a plurality of fields, a field of the plurality of fields indicating an updated sync type for a given synchronized item, the updated sync type selected from a plurality of discrete candidate predefined values for the field, the plurality of candidate discrete predefined values for the field comprising a first predefined value indicating that a new version of the given synchronized item is a placeholder item and a second predefined value indicating that the new version of the given synchronized item is a content item, the local sync type for the given synchronized item indicating that the given synchronized item is a placeholder item;

responsive to receiving the updated sync type, determining whether the updated sync type indicates that the new version of the given synchronized item is a content item instead of a placeholder item; and

responsive to determining that the updated sync type indicates that the new version of the given synchronized item is a content item instead of a placeholder item, replacing the placeholder item with the content item.

17. The non-transitory computer readable storage medium of claim 16 , wherein the operations further comprise calculating a retention score for the given synchronized item, the retention score indicative of a likelihood that the given synchronized item will be accessed.

18. The non-transitory computer readable storage medium of claim 16 , wherein the retention score is an access frequency score proportionate to a number of accesses to the given synchronized item within a predetermined time period.

19. The non-transitory computer readable storage medium of claim 16 , wherein the updated sync type indicates that the new version of the given synchronized item is the placeholder item when a retention score of the given synchronized item is at or below a threshold or the content item when the retention score of the given synchronized item is above the threshold.

20. The non-transitory computer readable storage medium of claim 16 , wherein an entry of metadata is stored at the client device for each of the plurality of synchronized content items, and wherein receiving the updated sync type for the given synchronized item comprises receiving an updated entry from a content management system, the updated entry representing a new version of the given synchronized item and including the updated sync type for the given synchronized item.

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 Jun 2, 2020
From: GOLDBERG, ISAAC; NEWHOUSE, BENJAMIN ZEIS
To: DROPBOX, INC.
Reel/Frame 052809/0617 →
Continuity (3)
Continuation 15420014 · Jan 30, 2017
Provisional Application 62327379 · Apr 25, 2016
Related Publication 20200293546A1 · Sep 17, 2020