IP Library Granted Patent US 11,334,555
Granted Patent B2
US 11,334,555 · App. 14/872,004 · Granted May 17, 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,334,555
App. No.
14/872,004
Granted
May 17, 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 (61)

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

maintaining, at a synchronization server, metadata associated with a data object accessible by a first set of client devices associated with a user and a second set of client devices associated with one or more other users;

establishing, at the synchronization server, a connection with a client device from the first set of client devices associated with the user;

upon establishing the connection, receiving, from the client device, at the synchronization server, a notification of updated metadata associated with the data object, the updated metadata being created prior to the establishing of the connection with the client device and while disconnected from the client device;

receiving, at the synchronization server, the updated metadata from the client device;

prior to receiving input to publish the updated metadata, maintaining, for access by the first set of client devices associated with the user but not for access by the second set of client devices associated with the one or more other users, the metadata and the updated metadata associated with the data object;

receiving, from the user, the input to publish the updated metadata for access by the one or more other users; and

in response to receiving the input to publish the updated metadata, providing the updated metadata associated with the data object to the second set of client devices associated with the one or more other users.

2. The method of claim 1 , wherein maintaining the metadata and the updated metadata for access by the first set of client devices associated with the user comprises enabling the user to access the metadata and the updated metadata using any client device from the first set of client devices associated with the first user.

3. The method of claim 1 , further comprising:

receiving the data object from a client device associated with a second user from the one or more other users; and

enabling the user and other users of the one or more other users to access the data object based on receiving sharing permissions from the client device associated with the second user.

4. The method of claim 3 , wherein receiving sharing permissions comprises receiving sharing permissions on a user-by-user basis.

5. The method of claim 4 , further comprising enabling collaborative creating and editing of the metadata associated with the data object based on the sharing permissions.

6. The method of claim 1 , further comprising:

maintaining a continuous connection with the client device; and

receiving subsequent notifications of updates to the metadata in real time through the continuous connection.

7. The method of claim 1 , further comprising:

disconnecting from the client device;

re-establishing the connection to the client device; and

upon re-establishing the connection, receiving a notification of new updated metadata associated with the data object, the new updated metadata being created prior to re-establishing the connection to the client device.

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

maintain, at a synchronization server, metadata associated with a data object accessible by a first set of client devices associated with a user and a second set of client devices associated with one or more other users;

establish a connection with a client device from the first set of client devices associated with the user;

receive, upon establishing the connection and from the client device, a notification of updated metadata associated with the data object, the updated metadata being created prior to the establishing of the connection with the client device and while disconnected from the client device;

receive the updated metadata from the client device;

prior to receiving input to publish the updated metadata, maintain, for access by the first set of client devices associated with the user but not for access by the second set of client devices associated with the one or more other users, the metadata and the updated metadata associated with the data object;

receive, from the user, the input to publish the updated metadata for access by the one or more other users; and

in response to receiving the input to publish the updated metadata, provide the updated metadata associated with the data object to the second set of client devices associated with the one or more other users.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the instructions, when executed by the at least one processor, cause the computer device to maintain the metadata and the updated metadata for access by the first set of client devices associated with the user by enabling the user to access the metadata and the updated metadata using any client device from the first set of client devices associated with the user.

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

receive the data object from a client device associated with a second user from the one or more other users; and

enable the user and other users of the one or more other users to access the data object based on receiving sharing permissions from the client device associated with the second user.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the instructions, when executed by the at least one processor, cause the computer device to receive sharing permissions on a user-by-user basis.

12. The non-transitory computer-readable storage medium of claim 11 , further comprising instructions that, when executed by the at least one processor, cause the computer device to enable collaborative creating and editing of the metadata associated with the data object based on the sharing permissions.

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

maintain a continuous connection with the client device; and

receive subsequent notifications of updates to the metadata in real time through the continuous connection.

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

disconnect from the client device;

re-establish the connection to the client device; and

receive notification of new updated metadata associated with the data object, the new updated metadata being created prior to re-establishing the connection to the client device.

15. A system comprising:

a synchronization server 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:

maintain, at the synchronization server, metadata associated with a data object accessible by a first set of client devices associated with a user and a second set of client devices associated with one or more other users;

establish a connection with a client device from the first set of client devices associated with the user;

receive, upon establishing the connection and from the client device, a notification of updated metadata associated with the data object, the updated metadata being created prior to the establishing of the connection with the client device and while disconnected from the client device;

receive the updated metadata from the client device;

prior to receiving input to publish the updated metadata, maintain, for access by the first set of client devices associated with the user but not for access by the second set of client devices associated with the one or more other users, the metadata and the updated metadata associated with the data object;

receive, from the user, the input to publish the updated metadata for access by the one or more other users; and

in response to receiving the input to publish the updated metadata, provide the updated metadata associated with the data object to the second set of client devices associated with the one or more other users.

16. The system of claim 15 , wherein the instructions, when executed by the at least one processor, cause the system to maintain the metadata and the updated metadata for access by the first set of client devices associated with the user by enabling the user to access the metadata and the updated metadata using any client device from the first set of client devices associated with the user.

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

receive the data object from a client device associated with a second user from the one or more other users; and

enable the user and other users of the one or more other users to access the data object based on receiving sharing permissions from the client device associated with the second user.

18. The system of claim 17 , wherein the instructions, when executed by the at least one processor, cause the computer device to receive sharing permissions on a user-by-user basis.

19. The system of claim 18 , further comprising instructions that, when executed by the at least one processor, cause the system to enable collaborative creating and editing of the metadata associated with the data object based on the sharing permissions.

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

maintain a continuous connection with the client device; and

receive subsequent notifications of updates to the metadata in real time through the continuous connection.

Assignments (5)
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 →
CHANGE OF NAME Recorded Oct 17, 2017
From: SHARPCAST, INC.
To: SUGARSYNC, INC.
Reel/Frame 044218/0561 →