IP Library Granted Patent US 12,111,845
Granted Patent B2
US 12,111,845 · App. 17/490,225 · Granted Oct 8, 2024

Backup feature provided by bidirectional synchronized content management system

Inventors: Sourabh Yerfule (Sunnyvale, CA); Kelson Reiss (San Francisco, CA); Jordi Paris Ferrer (San Francisco, CA); Adam Arbree (Fairfax, CA); Geoffry Song (San Francisco, CA)
Assignee: Dropbox, Inc.
G06F16/275G06F11/1451G06F11/1469G06F16/252G06F2201/80G06F2201/82
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,111,845
App. No.
17/490,225
Granted
Oct 8, 2024
Kind
B2
Abstract

The present technology is directed to providing a backup service utilizing a bi-directional synchronization architecture. In order to support both a backup service and a bi-directional synchronization service, the present technology can utilize a special object called an anchor that only permits unidirectional synchronization. Additionally, the present technology separates the backup service from the bi-directional synchronization service. This separation includes utilizing a separate backup directory and bi-directional synchronization directory on a client device, which in turn benefits from the use of a separate instance of the synchronization service on the client device. Further, at the content management system various steps are taken to separate the backup directory from the bi-directional synchronization directory to ensure no objects from the backup directory appear in a user interface related to bi-directional synchronization, and vice versa.

Claims (45)

1. A computer implemented method of providing object backup in a content management system with a bidirectional synchronization architecture, the method comprising:

configuring a bidirectional synchronization service on a client device, by one or more processors, to monitor a first directory on the client device, wherein the bidirectional synchronization service occurs in a first instance of the bidirectional synchronization service that is configured to watch the first directory, wherein the first directory includes objects for backup, and wherein the bidirectional synchronization service occurs in a second instance of the bidirectional synchronization service that is configured to watch a second directory, the second directory includes objects for bidirectional synchronization;

creating an anchor within the first directory, the anchor pointing to a backup location that is outside of the first directory, wherein the anchor is a special object that includes attributes that cause the bidirectional synchronization service to be restricted to uni-directional synchronization of the objects in the backup location;

detecting the anchor within the first directory being associated with one or more of the objects for backup in the first directory by the bidirectional synchronization service; and

based on the attributes, copying the objects from the backup location indicated by the anchor to the content management system.

2. The method of claim 1 , wherein the copying the objects from the backup location to the content management system is performed without copying the objects in the backup location to the first directory.

3. The method of claim 1 , comprising:

monitoring the backup location for changes to the objects; and

after detecting a change to at least one of the objects in the backup location, updating a copy of the at least one of the objects at the content management system.

4. The method of claim 1 , comprising:

limiting the first instance of the bidirectional synchronization service to a lower amount of network bandwidth than an amount of bandwidth permitted to be utilized by the second instance of the bidirectional synchronization service.

5. The method of claim 1 , comprising:

receiving an instruction to restore the backup location;

downloading object copies stored on the content management system; and

saving the object copies to the backup location.

6. A system for providing object backup in a content management system with a bidirectional synchronization architecture, comprising:

memory configured to store instructions; and

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

configure a bidirectional synchronization service on a client device to monitor a first directory on the client device, wherein the bidirectional synchronization service occurs in a first instance of the bidirectional synchronization service that is configured to watch the first directory, wherein the first directory includes objects for backup, and wherein the bidirectional synchronization service occurs in a second instance of the bidirectional synchronization service that is configured to watch a second directory, the second directory includes objects for bidirectional synchronization,

receive a selection of a backup location including objects to be backed up by the content management system,

create an anchor within the first directory, wherein the anchor points to a backup location that is outside of the first directory, wherein the anchor is a special object that includes attributes that cause the bidirectional synchronization service to be restricted to uni-directional synchronization of the objects in the backup location,

detect the anchor within the first directory being associated with one or more of the objects for backup in the first directory by the bidirectional synchronization service, and

based on the attributes, copy the objects from the backup location indicated by the anchor to the content management system.

7. The system of claim 6 , wherein the at least one processor is configured to execute the instructions and cause the at least one processor to:

monitor the backup location for changes to the objects; and

after detecting a change to at least one of the objects in the backup location, update a copy of the at least one of the objects at the content management system.

8. The system of claim 6 , wherein the at least one processor is configured to execute the instructions and cause the at least one processor to:

receive an instruction to restore the backup location;

download object copies stored on the content management system; and

save the object copies to the backup location.

9. A non-transitory computer-readable medium including instructions stored thereon, the instructions, when executed by a computing system, being effective to cause the computing system to:

configure a bidirectional synchronization service on a client device to monitor a first directory on the client device, wherein the bidirectional synchronization service occurs in a first instance of the bidirectional synchronization service that is configured to watch the first directory, wherein the first directory includes objects for backup, and wherein the bidirectional synchronization service occurs in a second instance of the bidirectional synchronization service that is configured to watch a second directory, the second directory includes objects for bidirectional synchronization;

create an anchor within the first directory, the anchor pointing to a backup location that is outside of the first directory, wherein the anchor is a special object that includes attributes that cause the bidirectional synchronization service to be restricted to uni-directional synchronization of the objects in the backup location;

detect the anchor within the first directory being associated with one or more of the objects for backup in the first directory by the bidirectional synchronization service; and

based on the attributes, copy the objects from the backup location indicated by the anchor to a content management system.

10. The non-transitory computer-readable medium of claim 9 , wherein the copying the objects from the backup location to the content management system is performed without copying the objects in the backup location to the first directory.

11. The non-transitory computer-readable medium of claim 9 , wherein the instructions, when executed by the computing system, being further effective to cause the computing system to:

monitor the backup location for changes to the objects; and

after detecting a change to at least one of the objects in the backup location, update a copy of the at least one of the objects at the content management system.

12. The non-transitory computer-readable medium of claim 9 , wherein the instructions, when executed by the computing system, being further effective to cause the computing system to:

limit the first instance of the bidirectional synchronization service to a lower amount of network bandwidth than an amount of bandwidth permitted to be utilized by a second instance of the bidirectional synchronization service.

13. The non-transitory computer-readable medium of claim 9 , wherein the instructions, when executed by the computing system, being further effective to cause the computing system to:

receive an instruction to restore the backup location;

download object copies stored on the content management system; and

save the object copies to the backup location.

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 Sep 30, 2021
From: YERFULE, SOURABH; REISS, KELSON; FERRER, JORDI PARIS; ARBREE, ADAM; SONG, GEOFFRY
To: DROPBOX, INC.
Reel/Frame 057655/0081 →