IP Library Granted Patent US 12675442
Granted Patent B2
US 12675442 · App. 18/087,723 · Granted Jul 7, 2026

Identifying changes at each root namespace of a multi-root system

Inventors: Sourabh Yerfule (Sunnyvale, CA); Jordi Paris Ferrer (San Francisco, CA); Kelson Reiss (San Francisco, CA); Parker Timmerman (New York, NY); Sabrina Weschler (Seattle, WA)
Assignee: Dropbox, Inc.
G06F16/178G06F16/1734
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 12675442
App. No.
18/087,723
Granted
Jul 7, 2026
Kind
B2
Abstract

The present technology is directed to providing a multi-root architecture for managing devices associated with their own root namespaces. The system can include backing up multiple computing devices to a single user account such that the content items from each computing device are stored in their own respective root namespace at the user account. With each user account having multiple root namespaces, the system can identify which root namespace is receiving changes, identify which changes are necessary to synchronize the system, and then communicate those changes to the content management system. This process is facilitated by running a synchronization engine for each root namespace, thereby controlling synchronization for each root namespace. Each synchronization engine is able to retain its own parameters of operation, which provides the ability to tailor synchronization modes on each synchronization engine.

Claims (64)

1 . A method comprising:

monitoring at least one computing device for change data associated with a first root namespace of a plurality of root namespaces, wherein the plurality of root namespaces includes the first root namespace and a second root namespace which are both associated with a user account at a content management system and wherein the first root namespace is independent of the second root namespace;

based on the change data, identifying a plurality of file events associated with the first root namespace of the plurality of root namespaces associated with the user account and identifying a second plurality of file events associated with the second root namespace, wherein the plurality of file events are different from the second plurality of file events;

identifying a first file event of the plurality of file events that is associated with the first root namespace of the plurality of root namespaces associated with the user account;

identifying a second file event of the second plurality of file events that is associated with the second root namespace;

determining that the first file event is associated with a change associated with the first root namespace;

based on the change associated with the first root namespace, synchronizing the first root namespace based on the first file event;

determining that the second file event is associated with a change associated with the second root namespace; and

based on the change associated with the second root namespace, delaying synchronization the second root namespace based on the second file event.

2 . The method of claim 1 , wherein the first root namespace is associated with a first synchronization engine.

3 . The method of claim 2 , further comprising:

synchronizing, by the first synchronization engine, the first root namespace based on a pre-determined schedule.

4 . The method of claim 3 , further comprising:

identify, by the first synchronization engine, at least one second file event associated with the first root namespace, wherein the at least one second file event occurred after a previous synchronization in the pre-determined schedule; and

storing, by the first synchronization engine, the identified at least one second file event in a list of file events.

5 . The method of claim 4 , further comprising:

based on the pre-determined schedule, identifying, by the first synchronization engine, changes to the first root namespace based on the list of file events.

6 . The method of claim 5 , further comprising:

creating a set of operations to synchronize the first root namespace; and

sending the set of operations to the content management system to synchronize the first root namespace.

7 . The method of claim 1 , wherein synchronizing the first root namespace is independent of identifying the plurality of file events associated with the plurality of root namespaces.

8 . A system comprising:

at least one non-transitory computer-readable medium including instructions stored thereon; and

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

monitor a plurality of file system directories associated with a plurality of root namespaces, wherein the plurality of root namespaces include a first root namespace and a second root namespace which are both associated with a user account and the first root namespace and the second root namespace each includes an independent file system directory;

identify a plurality of file events associated with the plurality of file system directories;

identify a first file event of the plurality of file events that is associated with a first file system directory of the plurality of file system directories;

identify a second file event of the plurality of file events that is associated with a second file system directory of the plurality of file system directories;

determine, based on the first file event associated with the first file system directory, a change associated with the first root namespace of the plurality of root namespaces associated with the user account;

based on the change associated with the first root namespace, synchronize the first root namespace based on the first file event;

determine, based on the second file event associated with the second file system directory, a change associated with the second root namespace of the plurality of root namespaces associated with the user account; and

based on the change associated with the second root namespace, delay synchronization of the first root namespace based on the second file event.

9 . The system of claim 8 , wherein the first root namespace is associated with a first backup synchronization engine.

10 . The system of claim 9 , wherein the instructions further cause the at least one processor to:

synchronize, by the first backup synchronization engine, the first root namespace based on a pre-determined schedule.

11 . The system of claim 10 , wherein the instructions further cause the at least one processor to:

identify, by the first backup synchronization engine, at least one second file event associated with the first file system directory; and

store, by the first backup synchronization engine, the at least one second file event in a list of file events.

12 . The system of claim 11 , wherein the instructions further cause the at least one processor to:

store the list of file events at the first root namespace; and

identify, by the first backup synchronization engine, changes in the list of file events that occurred after a previous synchronization of the first root namespace based on the pre-determined schedule.

13 . The system of claim 12 , wherein the instructions further cause the at least one processor to: create a set of operations to synchronize the first root namespace; and

send the set of operations to a content management system.

14 . The system of claim 8 , wherein the instructions to synchronize the first root namespace are independent of the instructions to identify the plurality of file events associated with the plurality of file system directories.

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

monitor file events associated with a first root namespace of a plurality of root namespaces, wherein the plurality of root namespaces includes the first root namespace and a second root namespace which are both associated with a user account and the first root namespace is independent of the second root namespace;

identify a first file event of a plurality of file events that is associated with the first root namespace of the plurality of root namespaces associated with the user account;

identify a second file event of the plurality of file events that is associated with the second root namespace of the plurality of root namespaces associated with the user account;

determine, based on the first file event, a change associated with the first root namespace;

synchronize the first root namespace based on the change associated with the first root namespace;

determine, based on the second file event, a second change associated with the second root namespace; and

based on the second change being associated with the second root namespace, delaying synchronization of the second change.

16 . The non-transitory computer-readable medium of claim 15 , wherein the first root namespace is associated with a first synchronization engine.

17 . The non-transitory computer-readable medium of claim 16 , wherein the instructions being further effective to cause the computing system to:

synchronize, by the first synchronization engine, the first root namespace based on a pre-determined schedule.

18 . The non-transitory computer-readable medium of claim 17 , wherein the instructions being further effective to cause the computing system to:

identify, by the first synchronization engine, at least one second file event associated with the first root namespace; and

storing, by the first synchronization engine, the identified at least one second file event in a list of the file events.

19 . The non-transitory computer-readable medium of claim 18 , wherein the instructions being further effective to cause the computing system to:

store the list of the file events at the first root namespace;

based on the pre-determined schedule, identify, by the first synchronization engine, at least one change based on the list of the file events;

create a set of operations to synchronize the first root namespace; and

send the set of operations to a content management system to synchronize the first root namespace.

20 . The non-transitory computer-readable medium of claim 15 , wherein the instructions to synchronize the first root namespace are independent of the instructions to identify the plurality of file events associated with the plurality of root namespaces.