IP Library Granted Patent US 10,380,099
Granted Patent B2
US 10,380,099 · App. 14/873,195 · Granted Aug 13, 2019

Method and apparatus for a file sharing and synchronization system

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 10,380,099
App. No.
14/873,195
Granted
Aug 13, 2019
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 (43)

1. A method for updating metadata, the method comprising:

while simultaneously providing a data object for editing to a first client device and a second client device:

receiving, from the first client device, by a synchronization server, a first notification of a first update to metadata associated with the data object;

receiving, from the second client device, by the synchronization server, a second notification of a second update to the metadata associated with the data object;

generating updated metadata by:

based on determining that the first update and the second update edit separate fields, merging the first update and the second update to generate the updated metadata for the data object by including the first update and the second update in the updated metadata; or

based on determining that the first update and the second update edit a same field, merging the first update and the second update to generate the updated metadata by discarding one of the first update or the second update; and

synchronizing, by the synchronization server, the updated metadata with each of a plurality of client devices storing a copy of the data object.

2. The method of claim 1 , wherein the data object is a photo album.

3. The method of claim 2 , wherein the first update to the metadata associated with the data object comprises editing of captions or people associated with photos of the photo album.

4. The method of claim 1 , wherein each of the plurality of client devices runs a synchronization application.

5. The method of claim 4 , wherein the synchronization application includes a contact list for enabling sharing of the data object across each of the plurality of client devices.

6. The method of claim 1 , further comprising providing a web interface through which the data object is accessed from the synchronization server via a web browser.

7. The method of claim 6 , wherein the first update to the metadata associated with the data object comprises an update to the metadata received via the web browser.

8. The method of claim 6 , further comprising providing real-time updates for the data object to the web browser.

9. The method of claim 1 , wherein the synchronization server comprises a plurality of servers networked together.

10. The method of claim 1 , wherein the data object comprises a file.

11. The method of claim 10 , wherein the file comprises one of a photo, an audio file, a video file, or a document.

12. The method of claim 10 , wherein the file comprises a photo and the metadata associated with the photo comprises one of location, people, or objects in the photo.

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

while simultaneously providing a data object for editing to a first client device and a second client device:

receive, from the first client device, a first notification of a first update to metadata associated with the data object;

receive, from the second client device, a second notification of a second update to the metadata associated with the data object;

generate updated metadata by:

based on determining that the first update and the second update edit separate fields, merging the first update and the second update to generate the updated metadata for the data object by including the first update and the second update in the updated metadata; or

based on determining that the first update and the second update edit a same field, merging the first update and the second update to generate the updated metadata by discarding one of the first update or the second update; and

synchronize the updated metadata with each of a plurality of client devices storing a copy of the data object.

14. The non-transitory computer readable storage medium of claim 13 , wherein the instructions, when executed by the at least one processor, cause the computing device to simultaneously provide the data object for editing to the first client device and the second client device by providing a web interface through which the data object can be simultaneously accessed via web browsers running on the first client device and the second client device.

15. The non-transitory computer readable storage medium of claim 14 , wherein the first update to the metadata associated with the data object comprises an update to the metadata received via the web browser running on the first client device.

16. 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 provide real-time updates for the data object to the web browsers running on the first client device and the second client device.

17. The non-transitory computer readable storage medium of claim 13 , wherein the data object comprises one of a photo, an audio file, a video file, or a document.

18. 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:

while simultaneously providing a data object for editing to a first client device and a second client device:

receive, from the first client device, a first notification of a first update to metadata associated with the data object;

receive, from the second client device, a second notification of a second update to the metadata associated with the data object;

generate updated metadata by:

based on determining that the first update and the second update edit separate fields, merging the first update and the second update to generate the updated metadata for the data object by including the first update and the second update in the updated metadata; or

based on determining that the first update and the second update edit a same field, merging the first update and the second update to generate the updated metadata by discarding one of the first update or the second update; and

synchronize the updated metadata with each of a plurality of client devices storing a copy of the data object.

19. The system of claim 18 , wherein the instructions, when executed by the at least one processor, cause the system to simultaneously provide the data object for editing to the first client device and the second client device by providing a web interface through which the data object can be simultaneously accessed via web browsers running on the first client device and the second client device.

20. The system of claim 19 , wherein the first update to the metadata associated with the data object comprises an update to the metadata received via the web browser running on the first client device.

Assignments (8)
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 →
RELEASE OF SECURITY INTEREST Recorded Dec 12, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069613/0744 →
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 Oct 18, 2017
From: SUGARSYNC, INC.
To: DROPBOX, INC.
Reel/Frame 043894/0170 →
CHANGE OF NAME Recorded Oct 17, 2017
From: SHARPCAST, INC.
To: SUGARSYNC, INC.
Reel/Frame 044218/0561 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2017
From: STRONG, JACK BENJAMIN; THOMAS, GIBU
To: SHARPCAST, INC.
Reel/Frame 043852/0764 →
SECURITY INTEREST Recorded Apr 14, 2017
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042254/0001 →