IP Library Granted Patent US 12,572,512
Granted Patent B2
US 12,572,512 · App. 18/105,628 · Granted Mar 10, 2026

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/27H04L67/1095H04L67/1097
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 12,572,512
App. No.
18/105,628
Granted
Mar 10, 2026
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 (51)

1 . A method comprising:

detecting, by a client application of a content management system executing on a client device, a directory on the client device, wherein the content management system can support uni-directional synchronization and bi-directional synchronization and wherein the directory is associated with at least one special attribute designating the directory for a specific synchronization behavior, wherein the at least one special attribute of the directory designate to the content management system that the directory is configured for the uni-directional synchronization;

associating the directory with a user account of the content management system corresponding to the client device; and

providing at least one object in the directory to the content management system, in accordance with the at least one special attribute, without first storing the at least one object on an internal storage of the client device.

2 . The method of claim 1 , comprising:

determining that the directory is a valid location when the directory supports extended attributes or alternate data streams, wherein the at least one special attribute is stored in the extended attributes or the alternate data streams.

3 . The method of claim 1 , comprising:

representing the directory in a local tree structure for use by the content management system in tracking synchronization states, wherein the directory is represented with a flag to indicate the at least one special attribute.

4 . The method of claim 3 , comprising:

creating an in-memory map based on the at least one special attribute, wherein the in-memory map maps a UID of the directory to a content management system path in the local tree structure.

5 . The method of claim 3 , comprising:

providing a user interface effective to receive user inputs to select objects within the directory to be excluded from being provided to the content management system;

storing a selected object to be excluded from being provided to the content management system in a hidden object in the local tree structure; and

excluding the selected object from being provided to the content management system when the selected object is referenced in the hidden object.

6 . The method of claim 1 , wherein the at least one special attribute includes location information of the directory as a Binary Large Object (BLOB), wherein the location information includes at least one of a directory ID, an inode reference, a device ID, an object ID, a unique ID (UID), a target location, a path.

7 . The method of claim 1 , comprising:

detecting a user input selecting a link representing the directory;

interrupting an action corresponding to the user input selecting the link based on an extended attribute associated with the directory; and

in response to determining that the directory is not available on the client device, executing a function to view the at least one object within the directory from the content management system.

8 . A non-transitory computer readable medium comprising instructions stored thereon, the instructions, when executed by at least one processor are effective to cause the at least one processor to:

detect, by a client application of a content management system executing on a client device, a directory on the client device that is associated with at least one special attribute designating the directory for a uni-directional synchronization, wherein the client application and the content management system are capable of supporting the uni-directional synchronization and bi-directional synchronization;

associate the directory with a user account of the content management system corresponding to the client device; and

provide at least one object in the directory to the content management system for the uni-directional synchronization.

9 . The non-transitory computer readable medium of claim 8 , wherein the instructions are further effective to cause the at least one processor to:

represent the directory in a local tree structure for use by the content management system in tracking synchronization states, wherein the directory is represented as with a flag to indicate the at least one special attribute.

10 . The non-transitory computer readable medium of claim 9 , wherein the instructions are further effective to cause the at least one processor to:

create an in-memory map based on the at least one special attribute, wherein the in-memory map converts between a UID of the directory to a content management system path in the local tree structure.

11 . The non-transitory computer readable medium of claim 9 , wherein the instructions are further effective to cause the at least one processor to:

provide a user interface effective to receive user inputs to select objects within the directory to be excluded from being provided to the content management system;

store a selected object to be excluded from being provided to the content management system in a hidden object in the local tree structure; and

exclude the selected object from being provided to the content management system when the selected object is referenced in the hidden object.

12 . The non-transitory computer readable medium of claim 8 , wherein the directory is an external directory.

13 . The non-transitory computer readable medium of claim 8 , wherein the instructions are further effective to cause the at least one processor to:

detect a user input selecting a link representing the directory;

interrupt an action corresponding to the user input on the link based on an extended attribute associated with the directory; and

determine that the directory is not available on the client device, executing a function to view the at least one object within the directory from the content management system.

14 . A system comprising:

at least one storage configured to store instructions;

at least one processor configured to execute the instructions and cause the at least one processor to:

receive a communication to synchronize an object by a content management system from a first client device, wherein the content management system can support uni-directional synchronization and bi-directional synchronization, the object has attributes that causes the content management system to recognize the object as pointing to a directory reachable by the first client device and wherein the attributes of the object designate to the content management system that the object is configured for the uni-directional synchronization and represent the object as a folder on a web server of the content management system, wherein child objects of the object are represented as being in a path subordinate to the object; and

and synchronize the directory and at least one child object in the directory without first storing the at least one child object on an internal storage of the first client device.

15 . The system of claim 14 , wherein the instructions are further effective to cause the at least one processor to:

synchronize the object to a second client device, wherein the object is represented as a link placeholder on a second file system of the second client device, wherein the directory is not reachable by the second client device.

16 . The system of claim 14 , wherein the instructions are further effective to cause the at least one processor to:

receive an edit to the at least one child object via the web server of the content management system;

determining that the at least one child object is configured for the uni-directional synchronization;

providing a warning that the at least one child object is configured for the uni-directional synchronization; and

receiving an input confirming that a user account would like to synchronize the edit.

17 . The system of claim 16 , wherein the instructions are further effective to cause the at least one processor to:

create a copy of the at least one child object containing the edit; and

synchronize the copy of the at least one child object into a second directory that supports bi-directional synchronization, the second directory being different than the directory.

Assignments (2)
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2023
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 062588/0633 →
Continuity (4)
Continuation 17855842 · Jul 1, 2022
Continuation 17132954 · Dec 23, 2020
Provisional Application 63093699 · Oct 19, 2020
Related Publication 20230177017A1 · Jun 8, 2023
References Cited (72)
US 8458127B1 · Lorch, III · 2013 [cited by examiner]
US 8706692B1 · Luthra · 2014 [cited by examiner]
US 9300609B1 · Beausoleil · 2016 [cited by examiner]
US 9430163B1 · Albertson · 2016 [cited by examiner]
US 9432457B2 · Marano · 2016 [cited by examiner]
US 9479567B1 · Koorapati · 2016 [cited by examiner]
US 9519655B2 · Ohno · 2016 [cited by examiner]
US 9537952B1 · Koorapati · 2017 [cited by examiner]
US 9646010B2 · Mokhtarzada · 2017 [cited by examiner]
US 9792452B2 · Tan · 2017 [cited by examiner]
US 10180883B2 · Mokhtarzada et al. · 2019 [cited by applicant]
US 10298675B2 · Ryder · 2019 [cited by examiner]
US 10324903B1 · Goldberg · 2019 [cited by examiner]
US 10642516B2 · Arnold · 2020 [cited by examiner]
US 10708340B2 · Eda · 2020 [cited by examiner]
US 10860540B1 · Ugur-Ozekinci · 2020 [cited by examiner]
US 11586590B2 · Yerfule · 2023 [cited by examiner]
US 20030225795A1 · Abdallah · 2003 [cited by examiner]
US 20040089795A1 · Spencer · 2004 [cited by examiner]
US 20040107206A1 · Heikell · 2004 [cited by examiner]
US 20050228832A1 · Ghotge · 2005 [cited by examiner]
US 20080168183A1 · Marcy · 2008 [cited by examiner]
US 20090198835A1 · Madhusudanan · 2009 [cited by examiner]
US 20120185518A1 · Giampaolo · 2012 [cited by examiner]
US 20130151850A1 · Bugenhagen · 2013 [cited by examiner]
US 20130268740A1 · Holt · 2013 [cited by examiner]
US 20130311597A1 · Arrouye · 2013 [cited by examiner]
US 20140172931A1 · Tokita · 2014 [cited by examiner]
US 20140188808A1 · Wolf · 2014 [cited by examiner]
US 20140279873A1 · Somerfield · 2014 [cited by examiner]
US 20140317058A1 · Chang · 2014 [cited by examiner]
US 20150026222A1 · Litzenberger · 2015 [cited by examiner]
US 20150207844A1 · Tataroiu · 2015 [cited by examiner]
US 20150244798A1 · Bolotin · 2015 [cited by examiner]
US 20150269203A1 · Baldwin · 2015 [cited by examiner]
US 20150301764A1 · Tang · 2015 [cited by examiner]
US 20150317098A1 · Kao · 2015 [cited by examiner]
US 20160028796A1 · Garcia · 2016 [cited by examiner]
US 20170124170A1 · Koorapati · 2017 [cited by examiner]
US 20170192707A1 · Arnold · 2017 [cited by examiner]
US 20180181581A1 · Condict · 2018 [cited by examiner]
US 20190012385A1 · Slepichko · 2019 [cited by examiner]
US 20190205401A1 · Kleinpeter et al. · 2019 [cited by applicant]
US 20190208014A1 · Goldberg et al. · 2019 [cited by applicant]
US 20190243801A1 · Steiner · 2019 [cited by examiner]
US 20200034372A1 · Ozzie · 2020 [cited by examiner]
US 20200301884A1 · Eom · 2020 [cited by examiner]
US 20200311028A1 · Korepanov · 2020 [cited by examiner]
US 20210200720A1 · Ramabhadran · 2021 [cited by examiner]
US 20210326249A1 · Araki · 2021 [cited by examiner]
US 20220179939A1 · Drepper · 2022 [cited by examiner]
Anonymous, “How Do I Sync Folders Outside of the Sync Folder on Windows?,” May 31, 2016, 4 pages. [cited by applicant]
Communication Pursuant to Article 94(3) EPC for European Application No. 21749484.8 mailed on Jul. 11, 2023, 6 pages. [cited by applicant]
Anonymous., “How Do I Sync Folders Outside of the Sync Folder on Windows?” May 31, 2016, XP055854822, Retrieved from the Internet: https://web.archive.org/web/20160531211600/https://www.sync.com/help/how-do-i-sync-folde… [cited by applicant]
International Search Report and Written Opinion for PCT Application No. PCT/US2021/041107 dated Nov. 11, 2021, 9 pages. [cited by applicant]
Jane, Response to the Discussion on “Backing Up and Syncing from external HD to the Dropbox Folder Issues” Published on Oct. 25, 2018, Retrieved from https://www.dropboxforum.com/15/Dropbox-installs-integrations/Backing… [cited by applicant]
Non-Final Office Action from U.S. Appl. No. 17/133,006, mailed Jul. 6, 2022, 11 pages. [cited by applicant]
Notice of Allowance from U.S. Appl. No. 17/132,954, mailed Apr. 15, 2022, 17 pages. [cited by applicant]
Notice of Allowance from U.S. Appl. No. 17/133,006, mailed Dec. 16, 2022, 02 pages. [cited by applicant]
Notice of Allowance from U.S. Appl. No. 17/133,006, mailed on Dec. 8, 2022, 12 pages. [cited by applicant]
Notice of Allowance from U.S. Appl. No. 17/855,842, mailed Jan. 19, 2023, 2 pages. [cited by applicant]
Notice of Allowance from U.S. Appl. No. 17/855,842, mailed Nov. 30, 2022, 11 pages. [cited by applicant]
Haynes T., et al., “NFS Version 4 Protocol; draft-ietf-nfsv4-rfc3530bis-06.txt,” Internet Engineering Task Force (IETF); Standard Working Draft, Internet Society (ISOC), No. 6, Feb. 16, 2011 [Retrieved on Feb. 17, 2011]… [cited by applicant]
Preliminary Opinion of the Examining Division for European Application No. 21749484.8 mailed on Aug. 13, 2024, 9 pages. [cited by applicant]
Result of Consultation for European Application No. 21749484.8 mailed on Sep. 5, 2024, 11 pages. [cited by applicant]
Anonymous, “Desktop Client Tips: How to Add a Folder Sync Connection,” Sep. 20, 2020, 4 pages, Retrieved from the Internet: URL: https://web.archive.org/web/20200920085512/https://owncloud.com/news/desktop-client-tips-h… [cited by applicant]
Summons to attend oral proceedings pursuant to Rule 115(1) EPC for European Application No. 21749484.8 mailed on Jan. 18, 2024, 9 pages. [cited by applicant]
Extended European Search Report for European Application No. 23161899.2 dated Jun. 1, 2023, 7 pages. [cited by applicant]
International Preliminary Report on Patentability for PCT Application No. PCT/US2021/041107, dated May 4, 2023, 8 pages. [cited by applicant]
Notice of Acceptance for Australian Application No. 2023201603 mailed on May 4, 2023, 3 pages. [cited by applicant]
Office Action for European Application No. 21749484.8 mailed on Feb. 27, 2025, 60 pages. [cited by applicant]
Office Action for European Application No. 21749484.8 mailed on Oct. 8, 2024, 61 pages. [cited by applicant]