# US 11,445,018 B2 · Technologies for synchronizing content items across content management systems

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

- Number: US 11,445,018 B2
- Document ID: US11445018B2
- Status: Granted
- Kind: B2
- Application number: 16/712,438
- Filed: 2019-12-12
- Published: 2021-06-17
- Granted: 2022-09-13
- Earliest claimed: 2019-12-12
- Assignees: Dropbox, Inc.
- Applicants: Dropbox, inc.
- Inventors: Joshua Zana; Tristan Pendergrass; Andrew Lawson
- Web page: https://patentgrep.com/patent/US11445018B2

## CPC

- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- G06F 16/178: Techniques for file synchronisation in file systems
- G06Q 10/10: Office automation; Time management
- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04L 67/104: Peer-to-peer [P2P] networks
- 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]
- H04L 67/53: using third party service providers
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/306: User profiles
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Technologies for synchronizing content items across cloud systems are provided. An example method can include receiving, by a first content management system (CMS), authentication information associated with a second CMS; based on the authentication information, establishing a communication channel between the first CMS and second CMS; using the communication channel, providing a user interface identifying collections of content items stored on the second CMS; receiving, by the first CMS, a request to create a first collection of content items based on a second collection of content items selected by a user account from the user interface, the second collection being stored on the second CMS; creating, by the first CMS, the first collection in association with the user account; populating the first collection with placeholders corresponding to content items in the second collection; and upon detecting a change to the second collection, updating the first collection to reflect the change.

## Claims

### Claim 1

A method comprising:
receiving, by a first content management system (CMS) from a client device associated with a user account on the first CMS, authentication information of another user account associated with a third-party CMS, wherein the first CMS is configured to synchronize content items between at least the client device and the first CMS using the user account of the first CMS and the third-party CMS is configured to synchronize content items between at least the client device and the third-party CMS using the another user account associated with the third-party CMS;
based on the authentication information, establishing, by the first CMS, a communication channel to the third-party CMS, and determining, by the first CMS, one or more collections of content items stored on the third-party CMS;
sending, by the first CMS to the client device, information identifying the one or more collections being stored on the third-party CMS;
receiving, by the first CMS from the client device, a request to create a first collection of content items based on a second collection of content items selected from the information identifying the one or more collections of content items stored on the third-party CMS;
creating, by the first CMS, the first collection of content items in association with the user account;
populating the first collection of content items with placeholders corresponding to content items in the second collection of content items stored on the third-party CMS; and
upon detecting, through the communication channel, a change to the second collection of content items stored on the third-party CMS, automatically updating the first collection of content items to reflect the change.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
using the communication channel, providing, by the first CMS, a second graphical user interface identifying one or more additional collections of content items stored on the third-party CMS;
receiving, by the first CMS, a second request to create a third collection of content items based on a fourth collection of content items selected by the user account from the second graphical user interface, the fourth collection of content items being stored on the third-party CMS;
creating, by the first CMS, the third collection of content items in association with the user account;
populating the third collection of content items with respective placeholders corresponding to a plurality of content items in the fourth collection of content items stored on the third-party CMS; and
upon detecting, through the communication channel, a second change to the fourth collection of content items stored on the third-party CMS, automatically updating the second collection of content items to reflect the second change.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
receiving, by the first CMS, additional authentication information associated with a third CMS;
based on the additional authentication information, establishing a second communication channel between the first CMS and the third CMS;
using the second communication channel, providing, by the first CMS, a second graphical user interface identifying one or more additional collections of content items stored on the third CMS;
receiving, by the first CMS, a second request to create a third collection of content items based on a fourth collection of content items selected by the user account from the second graphical user interface, the fourth collection of content items being stored on the third CMS;
creating, by the first CMS, the third collection of content items in association with the user account;
populating the third collection of content items with respective placeholders corresponding to a plurality of content items in the fourth collection of content items stored on the third CMS; and
upon detecting, through the second communication channel, a second change to the fourth collection of content items stored on the third CMS, automatically updating the third collection of content items to reflect the second change.

### Claim 4 (depends on 1)

The method of claim 1, wherein the communication channel comprises at least one of an application programming interface (API) connection and a network connection established using one or more networking protocols, the method further comprising:
storing, by the first CMS, the first collection of content items within a storage object stored at the first CMS in association with the user account, wherein the storage object contains one or more content items associated with the user account and wherein the storage object comprises at least one of a directory, a folder, an a namespace; and
associating each content item in the first collection of content items with an interface element identifying that the content item as being linked to a remote content item in the second collection.

### Claim 5 (depends on 1)

The method of claim 1, wherein the change comprises one or more modifications associated with one or more content items in the second collection of content items, and wherein automatically updating the first collection of content items comprises automatically updating one or more placeholders on the first collection of content items to reflect the one or more modifications associated with the one or more content items in the second collection of content items, the one or more placeholders representing the one or more content items.

### Claim 6 (depends on 5)

The method of claim 5, wherein the one or more placeholders are linked to the one or more content items via one or more addresses associated with the one or more content items, the one or more placeholders having the one or more addresses encoded in the one or more placeholders.

### Claim 7 (depends on 1)

The method of claim 1, wherein creating the first collection of content items comprises linking the first collection of content items with the second collection of content items using an address associated with the second collection of content items.

### Claim 8 (depends on 1)

The method of claim 1, wherein creating the first collection of content items and populating the first collection of content items with placeholders corresponding to content items in the second collection of content items comprises:
identifying an address associated with the second collection of content items;
based on the address, identifying a list of addresses corresponding to the content items in the second collection of content items; and
creating a placeholder for each address in the list of addresses, each placeholder being encoded with a respective address from the list of addresses.

### Claim 9 (depends on 1)

The method of claim 1, wherein the first collection and the second collection are one of a folder, a directory, a digital content album, an online media channel of media content, or a web feed.

### Claim 10

A system comprising:
one or more processors; and
at least one non-transitory computer-readable medium having stored therein instructions which, when executed by the one or more processors, cause the one or more processors to:
receive, by a first content management system (CMS) from a client device associated with a user account on the first CMS, authentication information associated with a third-party CMS, wherein the first CMS is configured to synchronize content items between at least the client device and the first CMS using the user account of the first CMS and the third-party CMS is configured to synchronize content items between at least the client device and the third-party CMS using the another user account associated with the third-party CMS;
based on the authentication information, establish, by the first CMS, a communication channel to the third-party CMS, and determine, by the first CMS, one or more collections of content items stored on the third-party CMS;
send, by the first CMS to the client device, information identifying the one or more collections being stored on the third-party CMS;
receive, by the first CMS from the client device, a request to create a first collection of content items based on a second collection of content items selected from the information identifying the one or more collections of content items stored on the third-party CMS;
create, by the first CMS, the first collection of content items in association with the user account;
populate the first collection of content items with placeholders corresponding to content items in the second collection of content items stored on the third-party CMS; and
upon detecting, through the communication channel, a change to the second collection of content items stored on the third-party CMS, automatically update the first collection of content items to reflect the change.

### Claim 11 (depends on 10)

The system of claim 10, wherein the at least one non-transitory computer-readable medium stores instructions which, when executed by the one or more processors, cause the one or more processors to:
using the communication channel, provide, by the first CMS, a second graphical user interface identifying one or more additional collections of content items stored on the third-party CMS;
receive, by the first CMS, a second request to create a third collection of content items based on a fourth collection of content items selected by the user account from the second graphical user interface, the fourth collection of content items being stored on the third-party CMS;
create, by the first CMS, the third collection of content items in association with the user account;
populate the third collection of content items with respective placeholders corresponding to a plurality of content items in the fourth collection of content items stored on the third-party CMS; and
upon detecting, through the communication channel, a change to the second collection of content items stored on the third-party CMS, automatically update the first collection of content items to reflect the change.

### Claim 12 (depends on 10)

The system of claim 10, wherein the second collection comprises at least one of a folder, a directory, a digital content album, an online media channel of media content, or a web feed.

### Claim 13 (depends on 10)

The system of claim 10, wherein the at least one non-transitory computer-readable medium stores instructions which, when executed by the one or more processors, cause the one or more processors to:
receive, by the first CMS, additional authentication information associated with a third CMS;
based on the additional authentication information, establish a second communication channel between the first CMS and the third CMS;
using the second communication channel, provide, by the first CMS, a second graphical user interface identifying one or more additional collections of content items stored on the third CMS;
receive, by the first CMS, a second request to create a third collection of content items based on a fourth collection of content items selected by the user account from the second graphical user interface, the fourth collection of content items being stored on the third CMS;
create, by the first CMS, the third collection of content items in association with the user account;
populate the third collection of content items with respective placeholders corresponding to a plurality of content items in the fourth collection of content items stored on the third CMS; and
upon detecting, through the second communication channel, a second change to the fourth collection of content items stored on the third CMS, automatically update the third collection of content items to reflect the second change.

### Claim 14 (depends on 13)

The system of claim 13, wherein the at least one non-transitory computer-readable medium stores instructions which, when executed by the one or more processors, cause the one or more processors to:
upon detecting, through the second communication channel, a respective change to the fourth collection of content items stored on the third CMS, automatically update the third collection of content items to reflect the respective change.

### Claim 15 (depends on 10)

The system of claim 10, wherein the change comprises one or more modifications associated with one or more content items in the second collection of content items, and wherein automatically updating the first collection of content items comprises automatically updating one or more placeholders on the first collection of content items to reflect the one or more modifications associated with the one or more content items in the second collection of content items, the one or more placeholders representing the one or more content items.

### Claim 16 (depends on 15)

The system of claim 15, wherein the one or more placeholders are linked to the one or more content items via one or more addresses associated with the one or more content items, the one or more placeholders having the one or more addresses encoded in the one or more placeholders.

### Claim 17 (depends on 10)

The system of claim 10, wherein creating the first collection of content items and populating the first collection of content items with placeholders corresponding to content items in the second collection of content items comprises:
identifying an address associated with the second collection of content items;
based on the address, identifying a list of addresses corresponding to the content items in the second collection of content items; and
creating a placeholder for each address in the list of addresses, each placeholder being encoded with a respective address from the list of addresses.

### Claim 18

A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to:
receive, by a client device associated with a user account on a first content management system (CMS), authentication information of another user account associated with a third-party CMS, wherein the first CMS is configured to synchronize content items between at least the client device and the first CMS using the user account of the first CMS and the third-party CMS is configured to synchronize content items between at least the client device and the third-party CMS using the another user account associated with the third-party CMS;
send, by the client device to the first CMS, the information identifying one or more collections being stored on the third-party CMS;
based on the authentication information, establish, by the client device, a communication channel to the third-party CMS, and determine one or more collections of content items stored on the third-party CMS;
receive a request to create a first collection of content items based on a second collection of content items selected from the information identifying the one or more collections of content items stored on the third-party CMS;
create and store the first collection of content items in association with the user account on the first CMS;
populate the first collection of content items with placeholders corresponding to content items in the second collection of content items stored on the third-party CMS; and
upon detecting, through the communication channel, a change to the second collection of content items stored on the third-party CMS, automatically update the first collection of content items to reflect the change.

### Claim 19 (depends on 18)

The non-transitory computer-readable medium of claim 18, storing instructions that, when executed by the one or more processors, cause the one or more processors to:
using the communication channel, provide a second graphical user interface identifying one or more additional collections of content items stored on the third-party CMS;
receive a second request to create a third collection of content items based on a fourth collection of content items selected by the user account from the second graphical user interface, the fourth collection of content items being stored on the third-party CMS;
create and store the third collection of content items in association with the user account;
populate the third collection of content items with respective placeholders corresponding to a plurality of content items in the fourth collection of content items stored on the third-party CMS; and
upon detecting, through the communication channel, a change to the second collection of content items stored on the third-party CMS, automatically update the first collection of content items to reflect the change.

### Claim 20 (depends on 18)

The non-transitory computer-readable medium of claim 18, storing instructions that, when executed by the one or more processors, cause the one or more processors to:
receive additional authentication information associated with a third CMS;
based on the additional authentication information, establish a second communication channel between the client device and the third CMS;
using the second communication channel, provide a second graphical user interface identifying one or more additional collections of content items stored on the third CMS;
receive a second request to create a third collection of content items based on a fourth collection of content items selected by the user account from the second graphical user interface, the fourth collection of content items being stored on the third CMS;
create the third collection of content items in association with the user account;
populate the third collection of content items with respective placeholders corresponding to a plurality of content items in the fourth collection of content items stored on the third CMS; and
upon detecting, through the second communication channel, a respective change to the fourth collection of content items stored on the third CMS, automatically update the third collection of content items to reflect the respective change.
