IP Library Granted Patent US 11,392,554
Granted Patent B2
US 11,392,554 · App. 17/132,954 · Granted Jul 19, 2022

Synchronizing an external location

Inventors: Sourabh Yerfule (Sunnyvale, CA); Parker Timmerman (Jersey City, NJ); Adam Arbree (Fairfax, CA); Pranav Vishnu Ramabhadran (San Francisco, CA); Zihao Yang (San Francisco, CA); Lisa Fan (San Francisco, CA); Kelson Reiss (San Francisco, CA); Geoffry Song (San Francisco, CA); Nipunn Koorapati (San Francisco, CA)
Assignee: Dropbox, Inc.
G06F16/178G06F3/0482G06F16/168G06F16/27
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,392,554
App. No.
17/132,954
Granted
Jul 19, 2022
Kind
B2
Abstract

The present technology pertains to synchronizing contents of a directory external to a synchronized directory by a content management system. The content management system is configured to synchronize only objects in the synchronized directory. Accordingly, the present technology creates an anchor object that represents the directory external to the synchronized directory within the synchronized directory. The anchor object includes special attributes that indicate to the synchronization client that the anchor object represents an external directory, and allows the contents of that directory to be synchronized directly to a server on the content management system without first storing the contents of the external directory on the hard drive of the client device.

Claims (71)

1. A method comprising:

detecting, by a client application of a content management system executing on a client device, an external directory that is external to a synchronized directory;

storing a link representing the external directory in the synchronized directory on the client device; and

synchronizing at least one object on the external directory to the content management system without first storing the at least one object on an internal hard drive of the client device, wherein the content management system is configured to bi-directionally synchronize contents of the synchronized directory, wherein the synchronizing of the external directory is a uni-directional synchronization such that changes made to objects in the external directory are synchronized to the content management system, and changes made to the objects that are represented on a cloud storage of the content management system are not synchronized back to the external directory.

2. The method of claim 1 , comprising:

representing the external directory in a graphical user interface;

receiving a selection of the representation of the external directory; and

in response to receiving the selection of the representation of the external directory, presenting an option to enroll the external directory for synchronization by the client application.

3. The method of claim 2 , comprising:

determining whether the external directory is accessible by the client device;

when the external directory is not accessible by the client device, presenting the at least one object in a web view of the content management system; and

when the external directory is accessible by the client device, presenting a view in a file browser window on the client device of the contents of the external directory.

4. The method of claim 2 , wherein the representation of the external directory in the graphical user interface is an icon, representing the external directory in a list of folders or external drives accessible on the client device.

5. The method of claim 1 , comprising:

prior to the storing the link to the external directory, creating the link to the external directory;

wherein the link to the external directory includes special attributes that identify the link as pointing to an external directory to be synchronized.

6. The method of claim 1 , comprising:

determining that the external directory is a valid location;

wherein the determining that the external directory is a valid location includes determining that the external directory exists and is accessible; or

wherein the determining that the external directory is a valid location includes determining that the external directory is in a supported format, wherein the supported format is a disk format that can be read by the client application, wherein the supported format is a disk format that supports extended attributes.

7. The method of claim 1 , wherein the external directory is an external hard drive connected to the client device, a network drive accessible by the client device, or a camera connected to the client device.

8. The method of claim 1 comprising:

providing a user interface effective to receive user inputs to select objects within the external directory to be excluded from synchronization;

storing a selected object to be excluded from synchronization in a hidden object; and

excluding the selected object from synchronization by a synchronization service of the client application when the selected object is referenced in the hidden object.

9. The method of claim 1 , further comprising:

storing a copy of the changes made to the objects represented on the cloud storage of the content management system to the synchronized directory.

10. A system comprising:

a storage configured to store instructions; and

a processor configured to execute the instructions and cause the processor to:

detect, by a client application of a content management system executing on a client device, an external directory that is external to a synchronized directory,

store a link representing the external directory in the synchronized directory on the client device, and

synchronize at least one object on the external directory to the content management system without first storing the at least one object on an internal hard drive of the client device, wherein the content management system is configured to bi-directionally synchronize contents of the synchronized directory, wherein the synchronizing of the external directory is a uni-directional synchronization such that changes made to objects in the external directory are synchronized to the content management system, and changes made to the objects that are represented on a cloud storage of the content management system are not synchronized back to the external directory.

11. The system of claim 10 , wherein the processor is configured to execute the instructions and cause the processor to:

represent the external directory in a graphical user interface;

receive a selection of the representation of the external directory; and

in response to receiving the selection of the representation of the external directory, present an option to enroll the external directory for synchronization by the client application.

12. The system of claim 11 , wherein the processor is configured to execute the instructions and cause the processor to:

determine whether the external directory is accessible by the client device;

when the external directory is not accessible by the client device, presenting the at least one object in a web view of the content management system; and

when the external directory is accessible by the client device, presenting a view in a file browser window on the client device of the contents of the external directory.

13. The system of claim 10 , wherein the processor is configured to execute the instructions and cause the processor to:

prior to the storing the link to the external directory, create the link to the external directory; and

the link to the external directory includes special attributes that identify the link as pointing to an external directory to be synchronized.

14. The system of claim 10 , wherein the processor is configured to execute the instructions and cause the processor to:

determine that the external directory is a valid location;

wherein the determination that the external directory is a valid location includes determining that the external directory exists and is accessible; and

wherein the determination that the external directory is a valid location includes determining that the external directory is in a supported format, the supported format is a disk format that can be read by the client application, and the supported format is a disk format that supports extended attributes.

15. The system of claim 10 , wherein the processor is configured to execute the instructions and cause the processor to:

provide a user interface effective to receive user inputs to select objects within the external directory to be excluded from synchronization;

store a selected object to be excluded from synchronization in a hidden object; and

exclude the selected object from synchronization by a synchronization service of the client application when the selected object is referenced in the hidden object.

16. A non-transitory computer readable medium comprising instructions, the instructions, when executed by a computing system, cause the computing system to:

detect, by a client application of a content management system executing on a client device, an external directory that is external to a synchronized directory;

store a link representing the external directory in the synchronized directory on the client device; and

synchronize at least one object on the external directory to the content management system without first storing the at least one object on an internal hard drive of the client device, wherein the content management system is configured to bi-directionally synchronize contents of the synchronized directory, wherein the synchronizing of the external directory is a uni-directional synchronization such that changes made to objects in the external directory are synchronized to the content management system, and changes made to the objects that are represented on a cloud storage of the content management system are not synchronized back to the external directory.

17. The computer readable medium of claim 16 , wherein the computer readable medium further comprises instructions that, when executed by the computing system, cause the computing system to:

represent the external directory in a graphical user interface;

receive a selection of the representation of the external directory; and

in response to receiving the selection of the representation of the external directory, present an option to enroll the external directory for synchronization by the client application.

18. The computer readable medium of claim 17 , wherein the computer readable medium further comprises instructions that, when executed by the computing system, cause the computing system to:

determine whether the external directory is accessible by the client device;

when the external directory is not accessible by the client device, presenting the at least one object in a web view of the content management system; and

when the external directory is accessible by the client device, presenting a view in a file browser window on the client device of the contents of the external directory.

19. The computer readable medium of claim 16 , wherein the computer readable medium further comprises instructions that, when executed by the computing system, cause the computing system to:

prior to the storing the link to the external directory, create the link to the external directory; and

wherein the link to the external directory includes special attributes that identify the link as pointing to an external directory to be synchronized.

20. The computer readable medium of claim 16 , wherein the computer readable medium further comprises instructions that, when executed by the computing system, cause the computing system to:

determine that the external directory is a valid location;

wherein the determination that the external directory is a valid location includes determining that the external directory exists and is accessible; and

wherein the determination that the external directory is a valid location includes determining that the external directory is in a supported format, the supported format is a disk format that can be read by the client application, and the supported format is a disk format that supports extended attributes.

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 Dec 23, 2020
From: YERFULE, SOURABH; TIMMERMAN, PARKER; ARBREE, ADAM; RAMABHADRAN, PRANAV VISHNU; YANG, ZIHAO; FAN, LISA; REISS, KELSON; SONG, GEOFFRY; KOORAPATI, NIPUNN
To: DROPBOX, INC
Reel/Frame 054742/0437 →
Continuity (2)
Provisional Application 63093699 · Oct 19, 2020
Related Publication 20220121624A1 · Apr 21, 2022