IP Library Granted Patent US 12711107
Granted Patent B2
US 12711107 · App. 18/764,729 · Granted Aug 18, 2026

Virtual root directory for organizations

Inventors: Pratik Nadagouda (Renton, WA); Austin Willis (San Francisco, CA); Frank Wang (Sammamish, WA); Yufei Zou (San Jose, CA); Jessica Miao (Vancouver, CA); Kashif Nadeem (Dix Hills, NY); Owen Collins (Kitchener, CA); Bozhen Lyu (San Mateo, CA); Ken Park (Orinda, CA); Jay Paroline (San Francisco, CA); Akos Albert (Denver, CO)
Assignee: Dropbox, Inc.
G06F16/192G06F21/6218
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 12711107
App. No.
18/764,729
Granted
Aug 18, 2026
Kind
B2
Abstract

The present technology provides a versatile content management system that can also support bi-directional synchronization of an organization account. The organization account is maintained as a plurality of root directories that can be mounted under an organization directory top-level folder. The organization directory top-level folder can appear in a user account's view of the organization account, by does not actually exist as a directory in the content management system. The organization directory top-level folder can be a folder created on a client device in which root directories of an organization account are mounted, but the organization directory top-level folder is not a synchronized directory. The organization directory top-level folder gives the appearance of a single directory structure for an organization even though the organization content is actually organized into the plurality of root directories.

Claims (81)

1 . A method for generating a top-level folder of an organization directory, the method comprising:

maintaining a plurality of root directories at a content management system, the plurality of root directories corresponding to separate directory structures associated with an organization account at the content management system;

mounting the plurality of root directories corresponding to the separate directory structures under the top-level folder of the organization directory in a first user account and a second user account, wherein the top-level folder of the organization directory contains a subset of the plurality of root directories mounted therein, and does not directly contain content items; and

providing a view of the top-level folder of the organization directory in the first user account and the second user account, whereby the first user account and the second user account view the plurality of root directories under the top-level folder as if they existed in a common organization directory.

2 . The method of claim 1 , wherein:

the plurality of root directories comprises a first user account root and a second user account root; and

mounting the plurality of root directories comprises mounting the first user account root to the top-level folder of the organization directory for the first user account and mounting the second user account root to the top-level folder of the organization directory for the second user account.

3 . The method of claim 1 , further comprising:

receiving a request to create a team-shared root;

determining whether the first user account requesting to create the team-shared root has an administrative privilege associated with the organization account, wherein the administrative privilege to create the team-shared root is reserved to user accounts acting as an administrator for the organization account; and

creating the team-shared root in response to determining that the first user account acts as an administrator for the organization account.

4 . The method of claim 3 , further comprising:

prior to creating the team-shared root, determining that a name of the team-shared root is unique among the plurality of root directories.

5 . The method of claim 1 , further comprising:

determining a change that adds or removes a first team-shared root from association with the organization account;

updating permissions to the first team-shared root for user accounts associated with the organization account in a membership database; and

propagating the change to the first team-shared root to a respective user account view of the top-level folder of the organization directory for a respective user account.

6 . The method of claim 1 , further comprising:

determining, for a first user account, a subset of the plurality of root directories to mount in the top-level folder of the organization directory, wherein:

the plurality of root directories comprises a first team-shared root, a second team-shared root, and a user account root;

determining the subset of the plurality of root directories comprises identifying that the first user account has access to at least one content item within a directory structure of the first team-shared root but not the second team-shared root; and

mounting the plurality of root directories comprises mounting the first team-shared root under the top-level folder of the organization directory in a first user account, and not mounting the second team-shared root under the top-level folder of the organization directory in the first user account.

7 . The method of claim 1 , further comprising:

receiving a change in access by the first user account, wherein the first user account gains access to a content item;

determining that the first content item is located within a first team-shared root and that the first user account does not have access to the first team-shared root; and

providing a traversal access right to the first user account to traverse the first team-shared root to access the content item, wherein the traversal access right permits the first user account to see names of folders that appear empty in a path to the content item and traverse the folders that appear empty in the path to the content item.

8 . The method of claim 1 , further comprising:

receiving an input in a contextual menu requesting to create a first team-shared root;

creating, in response to receiving the input, the first team-shared root associated with the organization account; and

mounting the first team-shared root under the top-level folder of the organization directory.

9 . The method of claim 1 , further comprising:

receiving an instruction to mount a content item under a first team-shared root of the plurality of root directories for the first user account; and

prior to mounting the content item, performing a duplicate mount detection process comprising:

detecting that a destination of a mount is a team-shared root;

identifying other user account roots of the plurality of root directories associated with the organization account,

traversing the other user account roots of the plurality of root directories to determine if the content item already exists in a user account root of the other user account roots, and

unmounting, in response to determining that the content item exists in the user account root, the content item from the user account root.

10 . The method of claim 9 , further comprising:

determining that a user account associated with the user account root does not have access to the first team-shared root; and

providing a traversal access right to the user account to traverse the first team-shared root to access the content item, wherein the traversal access right permits the user account associated with the other user account roots to see names of folders that appear empty in a path to the content item, and to traverse the folders that appear empty in the path to the content item.

11 . The method of claim 9 , further comprising performing the duplicate mount detection process for each user account associated with the organization account.

12 . The method of claim 1 , further comprising:

prior to mounting a first team-shared root performing a duplicate mount detection process comprising:

identifying a user account root associated with the organization account and the first user account to which the first team-shared root is to be mounted;

traversing the user account root to identify folders that are subordinate to the first team-shared root and already exist in the user account root;

unmounting a folder of the folders in response to determining that the folder already exists in the user account root; and

mounting the first team-shared root to the top-level folder of the organization directory for the first user account.

13 . A computing system comprising:

at least one processor; and

a memory storing instructions that, when executed by the at least one processor, cause the computing system to:

maintain a plurality of root directories at a content management system, the plurality of root directories corresponding to separate directory structures associated with an organization account at the content management system;

mount the plurality of root directories corresponding to the separate directory structures under a top-level folder of an organization directory in a first user account and a second user account,

wherein the top-level folder of the organization directory contains a subset of the plurality of root directories mounted therein and does not directly contain content items-level folder; and

provide a view of the top-level folder of the organization directory in the first user account and the second user account, whereby the first user account and the second user account view the plurality of root directories under the top-level folder as if they existed in a common organization directory.

14 . The computing system of claim 13 , wherein:

the plurality of root directories comprises a first user account root and a second user account root; and

mounting the plurality of root directories comprises mounting the first user account root to the top-level folder of the organization directory for the first user account and mounting the second user account root to the top-level folder of the organization directory for the second user account.

15 . The computing system of claim 13 , wherein the instructions further configure the computing system to:

receive a request to create a team-shared root;

determine whether the first user account requesting to create the team-shared root has an administrative privilege associated with the organization account, wherein the administrative privilege to create the team-shared root is reserved to user accounts acting as an administrator for the organization account; and

create the team-shared root in response to determining that the first user account acts as an administrator for the organization account.

16 . The computing system of claim 15 , wherein the instructions further cause the computing system to:

prior to creating the team-shared root, determine that a name of the team-shared root is unique among the plurality of root directories.

17 . The computing system of claim 13 , wherein the instructions further cause the computing system to:

receive a change in access by the first user account, wherein the first user account gains access to a content item;

determine that the content item is located within a first team-shared root and that the first user account does not have access to the first team-shared root; and

provide a traversal access right to the first user account to traverse the first team-shared root to access the content item, wherein the traversal access right permits the first user account to see names of folders that appear empty in a path to the content item and traverse the folders that appear empty in the path to the content item.

18 . The computing system of claim 13 , wherein the instructions further cause the computing system to:

prior to mounting a first team-shared root, perform a duplicate mount detection process comprising:

identifying a user account root associated with the organization account and the first user account to which the first team-shared root is to be mounted;

traversing the user account root to identify folders that are subordinate to the first team-shared root and already exist in the user account root;

unmounting a folder of the folders in response to determining that the folder already exists in the user account root; and

mounting the first team-shared root to the top-level folder of the organization directory for the first user account.

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

maintain a plurality of root directories at a content management system, the plurality of root directories corresponding to separate directory structures associated with an organization account at the content management system;

create a top-level folder of an organization directory on a client device having a content management system client application executing thereon, wherein the content management system client application has write permission to the top-level folder of the organization directory;

mount the plurality of root directories corresponding to the separate directory structures under the top-level folder of the organization directory in a first user account and a second user account, wherein the top-level folder of the organization directory does not exist as a directory in the content management system; and

provide a view of the top-level folder of the organization directory in the first user account and the second user account, whereby the first user account and the second user account view the plurality of root directories under the top-level folder as if they existed in a common organization directory.

20 . The non-transitory computer-readable storage medium of claim 19 , wherein;

the plurality of root directories comprises a first user account root and a second user account root; and

mounting the plurality of root directories comprises mounting the first user account root to the top-level folder of the organization directory for the first user account and mounting the second user account root to the top-level folder of the organization directory for the second user account.