# US 11,308,118 B2 · File system warnings

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,308,118 B2
- Document ID: US11308118B2
- Status: Granted
- Kind: B2
- Application number: 15/857,732
- Filed: 2017-12-29
- Published: 2019-07-04
- Granted: 2022-04-19
- Earliest claimed: 2017-12-28
- Assignees: Dropbox, Inc.
- Applicants: Dropbox, Inc.
- Inventors: Thomas Kleinpeter; Conor Woods; Sergei Vorobev; Quazie Kwaselow; Marcio von Muhlen; Nils Bunger
- Web page: https://patentgrep.com/patent/US11308118B2

## CPC

- G06F 16/11: File system administration, e.g. details of archiving or snapshots (error detection or correction of the data by redundancy in operations G06F11/14)
- G06F 1/04: Generating or distributing clock signals or signals derived directly therefrom
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0623: {in relation to content}
- G06F 3/0629: {Configuration or reconfiguration of storage systems}
- G06F 3/065: {Replication mechanisms}
- G06F 3/0652: {Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- G06F 11/1469: {Backup restoration techniques}
- G06F 12/1466: {Key-lock mechanism}
- G06F 16/113: {Details of archiving (lifecycle management in storage systems G06F3/0649; point-in-time backing up or restoration of persistent data G06F11/1446)}
- G06F 16/116: {Details of conversion of file system types or formats}
- G06F 16/119: {Details of migration of file systems (migration mechanisms in storage systems G06F3/0647)}
- G06F 16/122: {using management policies (point-in-time backing up or restoration of persistent data G06F11/1446; file migration policies for HSM systems G06F16/185)}
- G06F 16/125: {characterised by the use of retention policies (retention policies for HSM systems G06F16/185)}
- G06F 16/128: {Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion (error detection or correction of the data by redundancy in operations or in hardware G06F11/14, G06F11/16)}
- G06F 16/13: File access structures, e.g. distributed indices (arrangements of input from, or output to, record carriers G06F3/06)
- G06F 16/137: {Hash-based (content-based indexing of textual data G06F16/31)}
- G06F 16/148: {File search processing}
- G06F 16/152: {using file content signatures, e.g. hash values}
- G06F 16/156: {Query results presentation}
- G06F 16/16: File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F 16/162: {Delete operations (erasing in storage systems G06F3/0652)}
- G06F 16/168: {Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs (query results presentation G06F16/156)}
- G06F 16/172: Caching, prefetching or hoarding of files
- G06F 16/1734: {Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs}
- G06F 16/1744: {using compression, e.g. sparse files}
- G06F 16/176: Support for shared access to files; File sharing support
- G06F 16/1767: {Concurrency control, e.g. optimistic or pessimistic approaches}
- G06F 16/178: Techniques for file synchronisation in file systems
- G06F 16/1787: {Details of non-transparently synchronising file systems}
- G06F 16/18: File system types
- G06F 16/182: Distributed file systems
- G06F 16/1827: {Management specifically adapted to NAS (management of storage area networks [SAN] G06F3/067)}
- G06F 16/183: {Provision of network file services by network file servers, e.g. by using NFS, CIFS (network file access protocols H04L67/1097)}
- G06F 16/184: {implemented as replicated file system}
- G06F 16/1844: {Management specifically adapted to replicated file systems}
- G06F 16/185: Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof (details of archiving G06F16/11)
- G06F 16/2246: {Trees, e.g. B+trees}
- G06F 16/2255: {Hash tables}
- G06F 16/2322: {using timestamps}
- G06F 16/2358: {Change logging, detection, and notification (replication G06F16/27)}
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F 16/2379: {Updates performed during online database operations; commit processing}
- G06F 16/24552: {Database cache management}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 16/275: {Synchronous replication}
- G06F 16/9027: {Trees}
- G06F 16/907: Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F 16/951: Indexing; Web crawling techniques
- G06F 16/955: using information identifiers, e.g. uniform resource locators [URL]
- G06F 16/958: Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F 21/10: Protecting distributed programs or content, e.g. vending or licensing of copyrighted material (protection in video systems or pay television H04N7/16) {; Digital rights management [DRM]}
- G06F 21/604: {Tools and structures for managing or administering access control systems}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- H04L 9/3213: {using tickets or tokens, e.g. Kerberos (network architectures or network communication protocols for entities authentication using tickets in a packet data network H04L63/0807)}
- H04L 9/3247: {involving digital signatures}
- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04L 63/0853: {using an additional device, e.g. smartcard, SIM or a different communication terminal (cryptographic mechanisms or cryptographic arrangements for entity authentication involving additional secure or trusted devices H04L9/3234)}
- H04L 63/10: {for controlling access to devices or network resources}
- H04L 63/101: {Access control lists [ACL]}
- H04L 63/102: {Entity profiles}
- H04L 67/06: specially adapted for file transfer, e.g. file transfer protocol [FTP]
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- G06F 2212/1052: Security improvement
- G06F 2221/2141: Access rights, e.g. capability lists, access control lists, access tables, access matrices
- H04L 67/306: User profiles
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The present technology pertains to a organization directory hosted by a synchronized content management system. The corporate directory can provide access to user accounts for all members of the organization to all content items in the organization directory on the respective file systems of the members' client devices. Members can reach any content item at the same path as other members relative to the organization directory root on their respective client device. In some embodiments novel access permissions are granted to maintain path consistency.

## Claims

### Claim 1

A non-transitory computer readable medium comprising instructions stored thereon, when executed the instructions are effective to cause a computing system to:
receive modification data at a client application associated with a client synchronization service resulting in a change in a directory of a local file system of a client device, wherein the modification data is the result of a change to a content item or a directory on the client device;
update a local tree on the client device based on the modification data;
determine, by the client application on the client device, that there is a difference between the local tree and a sync tree on the client device, wherein the sync tree represents a known synced state between a server state and a file system state, the local tree represents the file system state of the local file system of the client device;
notify a content management system of the difference between the local tree and the sync tree to validate a propriety of the change;
subsequent to notifying the content management system of the difference between the local tree and the sync tree, receive an instruction to present a file system warning in a user interface of the client device regarding the modification data;
receive events from the content management system that are effective to undo the modification data; and
apply the events to restore the directory of the local file system, the local tree, and the sync tree to a previous synchronized state prior to the modification data.

### Claim 2 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein the file system warning includes a message warning of consequences of the modification data, and includes selectable options, a selectable option of the selectable options is a confirmation that the warned of consequences are accepted.

### Claim 3 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein the file system warning includes a warning of consequences of the modification data, and includes selectable options, a selectable option of the selectable options is a request to undo the change in the directory of the local file system, and wherein the instructions cause the computing system to:
receive a selection of the selectable option to undo the change in the directory of the local file system;
send a message to the content management system to undo the change in the directory of the local file system; and
restore the directory of the local file system to the previous synchronized state prior to the change in the directory of the local file system.

### Claim 4 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein the file system warning includes a warning of consequences of the modification data, and includes selectable options, a selectable option of the selectable options is to take an alternative action and wherein the instructions cause the computing system to:
receive a selection of the selectable option to perform the alternative action;
send a message to the content management system to perform the alternative action; and
synchronize the directory of the local file system with the content management system, and thereby implement the alternative action.

### Claim 5 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein the instructions cause the computing system to:
in response to the change in the directory, send to the content management system an identification of a content item that is currently located in a folder, and wherein the folder is a non-confidential folder, and the content item was previously located in a confidential folder, wherein the file system warning that includes a message stating that the completed change is not allowed and explains that it is not permitted to move the content item from the confidential folder to the non-confidential folder.

### Claim 6 (depends on 2)

The non-transitory computer readable medium of claim 2, wherein the instructions cause the computing system to:
in response to the change in the directory, send to the content management system an identification of a content item that is currently located in a folder, and wherein the folder is a shared folder, and the content item was not previously located in the shared folder, wherein the file system warning that includes a message stating that putting the content item in the shared folder will make it accessible to those user accounts to which the folder is shared, and a second selectable option of the selectable options is to move the content item to a non-shared folder.

### Claim 7 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein the change in the directory is a deletion of a number of content items, and the file system warning includes a message warning that the content items will be removed from the user's account, and includes selectable options, a selectable option of the selectable options is to provide an option to turn the number of content items into on-demand content items, whereby the number of content items do not take up storage space on the client device, but they still appear in the directory.

### Claim 8

A method comprising:
receiving modification data at a client application associated with a client synchronization service resulting in a change in a directory of a local file system of a client device, wherein the modification data is the result of a change to a content item or a directory on the client device;
updating a local tree on the client device based on the modification data;
determining, by the client application on the client device, that there is a difference between the local tree and a sync tree on the client device, wherein the sync tree represents a known synced state between a server state and a file system state, the local tree represents the file system state of the local file system of the client device;
notifying a content management system of the difference between the local tree and the sync tree to validate a propriety of the change;
subsequent to notifying the content management system of the difference between the local tree and the sync tree, receiving an instruction to present a file system warning that includes a message stating that the change in the directory is not allowed, wherein the message is presented in a user interface of the client device regarding the modification data;
receive events from the content management system that are effective to undo the modification data; and
apply the events to restore the directory of the local file system, the local tree, and the sync tree to a previous synchronized state prior to the modification data.

### Claim 9 (depends on 8)

The method of claim 8, wherein the file system warning includes a message warning of consequences of the modification data, and includes selectable options, a selectable option of the selectable options is a confirmation that the warned of consequences are accepted.

### Claim 10 (depends on 8)

The method of claim 8, wherein the file system warning includes a warning of consequences of the modification data, and includes selectable options, a selectable option of the selectable options is a request to undo the change in the directory of the local file system, the method comprising:
receiving a selection of the selectable option to undo the change in the directory of the local file system;
sending a message to the content management system to undo the change in the directory of the local file system.

### Claim 11 (depends on 8)

The method of claim 8, wherein the file system warning includes a warning of consequences of the modification data, and includes selectable options, a selectable option of the selectable options is to take an alternative action, the method comprising:
receive a selection of the selectable option to perform the alternative action;
send a message to the content management system to perform the alternative action; and
synchronize the directory of the local file system with the content management system, and thereby implement the alternative action.

### Claim 12 (depends on 8)

The method of claim 8, comprising:
in response to the change in the directory, sending to the content management system an identification of a content item that is currently located in an folder, and wherein the folder is a non-confidential folder, and the content item was previously located in a confidential folder, wherein the file system warning that includes the message stating that the completed change is not allowed and explains that it is not permitted to move the content item from the confidential folder to the non-confidential folder.

### Claim 13 (depends on 9)

The method of claim 9, comprising:
in response to the change in the directory, sending to the content management system an identification of a content item that is currently located in a folder, and wherein the folder is a shared folder, and the content item was not previously located in the shared folder, wherein the file system warning that includes the message stating that putting the content item in the shared folder will make it accessible to those user accounts to which the folder is shared, and a second selectable option of the selectable options is to move the content item to a non-shared folder.

### Claim 14

A computing system comprising:
at least one processor; and
at least one memory having instructions stored thereon, that when executed the instructions are effective to cause the at least one processor to:
receive modification data at a client application associated with a client synchronization service resulting in a change in a directory of a local file system of a client device, wherein the modification data is the result of a change to a content item or a directory on the client device;
update a local tree on the client device based on the modification data;
determine, by the client application on the client device, that there is a difference between the local tree and a sync tree on the client device, wherein the sync tree represents a known synced state between a server state and a file system state, the local tree represents the file system state of the local file system of the client device;
notify a content management system of the difference between the local tree and the sync tree to validate a propriety of the change;
subsequent to notifying the content management system of the difference between the local tree and the sync tree, receive an instruction to present a file system warning in a user interface of the client device regarding the modification data;
receive events from the content management system that are effective to undo the modification data; and
apply the events to restore the directory of the local file system, the local tree, and the sync tree to a previous synchronized state prior to the modification data.

### Claim 15 (depends on 14)

The computing system of claim 14, wherein the file system warning includes a warning of consequences of the modification data, and includes selectable options, a selectable option of the selectable options is a request to undo the change in the directory of the local file system, and wherein the instructions cause the at least one processor to:
receive a selection of the selectable option to undo the change in the directory of the local file system; and
send a message to the content management system to undo the change in the directory of the local file system.

### Claim 16 (depends on 14)

The computing system of claim 14, wherein the file system warning includes a warning of consequences of the modification data, and includes selectable options, a selectable option of the selectable options is to take an alternative action and wherein the instructions cause the at least one processor to:
receive a selection of the selectable option to perform the alternative action;
send a message to the content management system to perform the alternative action; and
synchronize the directory of the local file system with the content management system, and thereby implement the alternative action.

### Claim 17 (depends on 14)

The computing system of claim 14, wherein the file system warning includes a message stating that the completed change is not allowed, and wherein the instructions cause the at least one processor to:
in response to the change in the directory, send to the content management system an identification of a content item that is currently located in a folder, and wherein the folder is a non-confidential folder, and the content item was previously located in a confidential folder, wherein the file system warning that includes the message stating that the completed change is not allowed and explains that it is not permitted to move the content item from the confidential folder to the non-confidential folder.

### Claim 18 (depends on 14)

The computing system of claim 14, wherein the file system warning includes a message warning of consequences of the change, and includes selectable options, a selectable option of the selectable options is a confirmation that the warned of consequences are accepted, and wherein the instructions cause the at least one processor to:
in response to the change in the directory, send to the content management system an identification of a content item that is currently located in an folder, and wherein the folder is a shared folder, and the content item was not previously located in the shared folder, wherein the file system warning that includes the message stating that putting the content item in the shared folder will make it accessible to those user accounts to which the folder is shared, and a second selectable option of the selectable options is to move the content item to a non-shared folder.

### Claim 19 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein a server synchronization service of the content management system synchronizes the difference between the local tree and the sync tree, and later restores the directory of the local file system when instructed by a file systems warning engine.

### Claim 20 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein the instructions cause the computing system to:
send a command to the content management system to undo the modification data,
wherein the file system warning indicates that the modification data will result in an undesirable change and should be undone.
