IP Library Granted Patent US 11,269,852
Granted Patent B2
US 11,269,852 · App. 16/508,059 · Granted Mar 8, 2022

Method and apparatus for a file sharing and synchronization system

Inventors: Jack Benjamin Strong (Austin, TX); Gibu Thomas (San Francisco, CA)
Assignee: Dropbox, Inc.
G06F16/2365G06F16/1767G06F16/182G06F16/48G06F16/51
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,269,852
App. No.
16/508,059
Granted
Mar 8, 2022
Kind
B2
Abstract

A computer-implemented method is provided for managing and sharing picture files. In one embodiment of the present invention, the method comprises providing a server platform and providing a datastore on the server platform for maintaining full resolution copies of the files shared between a plurality of sharing clients. A synchronization engine is provided on the server platform and is configured to send real-time updates to a plurality of sharing clients when at least one of the sharing clients updates or changes one of said files. A web interface may also be provided that allows a user to access files in the datastore through the use of a web browser.

Claims (49)

1. A method comprising:

receiving, by a content management system and from a first client device associated with a first user, an indication that the first user is accessing a file that the content management system stores and synchronizes between the first client device and a second client device associated with a second user;

detecting, by the content management system while the first user is accessing the file, an update to the file based on information received from the second client device associated with the second user;

providing, to the first client device while the first user is accessing the file, a prompt indicating the update to the file initiated by the second client device based on detecting the update to the file;

detecting a second update to the file different from the update initiated by the second client device; and

based on detecting the second update to the file, preserving both the update and the second update to persist within the file.

2. The method of claim 1 , further comprising:

detecting the second update while detecting the update to the file initiated by the second client device and based on information received from the first client device associated with the first user;

determining that the second update modifies content in a different portion of the file than the update initiated by the second client device; and

based on determining that the second update modifies content in a different portion than the update, preserving both the update and the second update to persist within the file.

3. The method of claim 1 , further comprising:

detecting the second update while detecting the update to the file initiated by the second client device and based on information received from the first client device associated with the first user;

determining that the second update modifies content in a same portion of the file as the update initiated by the second client device; and

based on determining that the second update modifies content in the same portion than as update, providing a prompt to the first client device requesting an indication of which update to keep between the update and the second update.

4. The method of claim 1 , wherein providing the prompt indicating the update to the file comprises providing an option with respect to the update to the file initiated by the second client device.

5. The method of claim 4 , wherein the option with respect to the update comprises an option to accept the update to the file.

6. The method of claim 5 , further comprising:

receiving, from the first client device, an indication that the first user selected the option to accept the update to the file; and

providing, to the first client device in response to the indication that the first user selected the option to accept the update, an updated version of the file that includes the update to the file initiated by the second client device.

7. The method of claim 4 , wherein the option with respect to the update comprises an option to reject the update to the file.

8. The method of claim 1 , wherein providing the prompt indicating the update to the file comprises providing the prompt to prevent conflicts for the file in real time while the file is being edited at the second client device.

9. A non-transitory computer readable storage medium comprising instructions that, when executed by at least one processor, cause a computing device to:

receive, by a content management system and from a first client device associated with a first user, an indication that the first user is accessing a file that the content management system stores and synchronizes between the first client device and a second client device associated with a second user;

detect, by the content management system while the first user is accessing the file, an update to the file based on information received from the second client device associated with the second user;

provide, to the first client device while the first user is accessing the file, a prompt indicating the update to the file initiated by the second client device based on detecting the update to the file;

detect a second update to the file different from the update initiated by the second client device; and

based on detecting the second update to the file, preserve both the update and the second update to persist within the file.

10. The non-transitory computer readable storage medium of claim 9 , wherein providing the prompt indicating the update to the file comprises indicating the prompt to prevent conflicts for the file.

11. The non-transitory computer readable storage medium of claim 9 , wherein detecting the update to the file based on the information received from the second client device comprises detecting that the second user is accessing the file on the second client device.

12. The non-transitory computer readable storage medium of claim 9 , wherein detecting the update to the file based on the information received from the second client device comprises detecting edits to the file applied by the second user on the second client device.

13. The non-transitory computer readable storage medium of claim 12 , wherein providing, to the first client device, the prompt indicating the update to the file comprises providing an option with respect to the edits to the file applied by the second user on the second client device.

14. The non-transitory computer readable storage medium of claim 13 , wherein the option with respect to the edits comprises an option to accept the edits to the file.

15. The non-transitory computer readable storage medium of claim 14 , further comprising instructions that, when executed by the at least one processor, cause the computing device to:

receive, from the first client device, an indication that the first user selected the option to accept the edits to the file; and

provide, to the first client device, an updated version of the file that includes the edits to the file applied by the second user on the second client device.

16. A system, comprising:

at least one processor; and

a non-transitory computer readable storage medium comprising instructions that, when executed by the at least one processor, cause the system to:

receive, by a content management system and from a first client device associated with a first user, an indication that the first user is accessing a file that the content management system stores and synchronizes between the first client device and a second client device associated with a second user;

detect, by the content management system while the first user is accessing the file, an update to the file based on information received from the second client device associated with the second user;

provide, to the first client device while the first user is accessing the file, a prompt indicating the update to the file initiated by the second client device based on detecting the update to the file;

detect a second update to the file different from the update initiated by the second client device; and

based on detecting the second update to the file, preserve both the update and the second update to persist within the file.

17. The system of claim 16 , wherein detecting the update to the file based on the information received from the second client device comprises detecting that the second user is accessing the file on the second client device.

18. The system of claim 16 , wherein detecting the update to the file based on the information received from the second client device comprises detecting edits to the file applied by the second user on the second client device.

19. The system of claim 18 , wherein providing, to the first client device, the prompt indicating the update to the file comprises providing an option to accept the edits to the file.

20. The system of claim 19 , further comprising instructions that, when executed by the at least one processor, cause the system to:

receive, from the first client device, an indication that the first user selected the option to accept the edits to the file; and

provide, to the first client device, an updated version of the file that includes the edits to the file applied by the second user on the second client device.

Assignments (6)
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 Jul 11, 2019
From: STRONG, JACK BENJAMIN; THOMAS, GIBU
To: SHARPCAST, INC.
Reel/Frame 049731/0876 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2019
From: SUGARSYNC, INC.
To: DROPBOX, INC.
Reel/Frame 049731/0884 →
CHANGE OF NAME Recorded Jul 11, 2019
From: SHARPCAST, INC.
To: SUGARSYNC, INC.
Reel/Frame 049738/0134 →