US Pat. No. 9,071,654

MAINTAINING CONCURRENCY AND CONSISTENCY OF GLOBALLY UNIQUE IDENTIFIERS

Dropbox, Inc., San Franc...

1. A system comprising:
a multi-user network-based content item management environment storing content items addressable by globally unique identifiers
unique within the content item management environment, wherein the globally unique identifiers are associated, in an identifier
database, with a content item, a storage location, and an authorized user having access to the content item, wherein copies
of content items are maintained in at least one client device;

a processor; and
a non-transitory computer-readable storage medium having stored therein processor-executable instructions for causing the
processor to:

receive a request to modify a content item associated with a globally unique identifier;
acquire a first mutex for a namespace associated with the content item;
acquire a second mutex for the globally unique identifier;
modify the content item associated with the globally unique identifier according to the request;
release the first mutex and the second mutex; and
provide a confirmation in response to the request.

US Pat. No. 9,407,728

CONTENT ITEM PRESENTATION SYSTEM

Dropbox, Inc., San Franc...

1. A method comprising:
at a server having one or more processors and memory storing one or more programs for execution by the one or more processors
so as to perform the method:

sending, to a first client device of the server, browser-executable instructions implementing a presentation application;
receiving, from a second client device, that is not the first client device, of the server, a first navigation command to
navigate a presentation of a content item at the first client device in a particular manner;

in response to receiving the first navigation command, sending, to the first client device, a second navigation command to
navigate the presentation of the content item at the first client device in the particular manner thereby causing the presentation
of the content item at the first client device to be automatically navigated in the particular manner;

wherein the presentation application is configured with a user navigation control for navigating the presentation of the content
item at the first client device in the particular manner;

wherein the particular manner is navigating the presentation of the content item at the first client device from a currently
presented portion of the content item to another portion of the content item;

wherein the user navigation control of the presentation application for navigating the presentation of the content item at
the first client device in the particular manner is disabled in the browser-executable instructions sent to the first client
device;

wherein the server sends browser-executable instructions implementing the presentation application to the second client device;
wherein the user navigation control of the presentation application for navigating the presentation of the content item at
the first client device in the particular manner is enabled in the browser-executable instructions sent by the server to the
second client device; and

wherein the automatic navigation occurs while the user navigation control of the presentation application for navigating the
presentation of the content item at the first client device in the particular manner is still disabled at the first client
device.

US Pat. No. 9,411,814

PREDICTIVE CACHING AND FETCH PRIORITY

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
receiving, from a mobile device, an amount of free memory available for caching one or more content items from a collection
of content items stored in a synchronized content management system, wherein each of the content items in the collection of
content items has associated metadata, wherein the metadata associated with a content item comprises:

a File Score calculated based on one or more recency-related events selected from among:
a most recent occurrence of a user of the mobile device opening the content item using an application offered by the synchronized
content management system,

a most recent occurrence of the user of the mobile device opening the content item using a third party application,
a most recent occurrence of the user of the mobile device sharing the content item via the mobile device,
a most recent occurrence of another user of the synchronized content management system sharing the content item with the user
of the mobile device,

a most recent occurrence of the user of the mobile device sharing the content item via another electronic device,
a most recent occurrence of the user of the mobile device editing the content item, or
a most recent occurrence of the user of the mobile device accessing the content item via another electronic device;
generating, via at least one processor, a scaling factor for each of the content items in the collection based on the associated
metadata; and

selecting a subset of content items from the collection based on the generated scaling factors and the amount of free space.

US Pat. No. 9,158,436

SYSTEMS AND METHODS FOR UPLOADING FILES TO A SERVER

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
providing, by a processor, a file upload widget on a third party website, the file upload widget being based, at least in
part, on computer code provided by a synched online content management system; and

in response to activation of the file upload widget on the third party website, initiating the synched online content management
system to:

receive selection of a particular file for uploading to the third party website, the particular file being stored locally
on a client device associated with the user account;

access a file journal describing files associated with the user account that are stored locally on the client device and in
a datastore in the synched online content management system;

initiate an upload of the particular file from the datastore to the third party website; and
complete the upload of the particular file from the datastore to the third party website by allowing a user to initiate the
upload and then log off the third party website or suspend interaction with the client device.

US Pat. No. 9,395,892

SHARED FOLDER BACKED INTEGRATED WORKSPACES

DROPBOX, INC., San Franc...

1. A method comprising:
generating, by an online content management and distribution system, a shared-folder backed workspace that provides an integrated
environment for manipulating content items in an online shared folder of the content management and distribution system and
communicating with the authorized users of the online shared folder;

receiving, at the online content management and distribution system, a message associated with, and external to, a content
item stored in the online shared folder of the workspace;

storing, by the online content management and distribution system, the message as a comment in metadata for the content item;
receiving a selection of the content item; and
causing the content item and the comment to be presented on a workspace graphical user interface of a client device.

US Pat. No. 9,380,086

PRE-TRANSCODING CONTENT ITEMS

Dropbox, Inc., San Franc...

1. A computer-implemented method, comprising:
selecting, by a content management system, a first portion of a content item to transcode from a first format to a second
format based on an estimated amount of time required to transcode a sample segment of the content item from the first format
to the second format, wherein the first format is a non-streaming format and the second format is a streaming format;

transcoding the selected first portion of the content item from the first format to the second format;
storing the transcoded first portion of the content item in the second format;
storing a second portion of the content item in the first format; and
making the content item available by the content management system for access by one or more client devices.

US Pat. No. 9,235,636

PRESENTING DATA IN RESPONSE TO AN INCOMPLETE QUERY

DROPBOX, INC., San Franc...

1. A system comprising:
a processor; and
a non-transitory computer-readable storage medium storing instructions which, when executed by the processor, cause the processor
to perform a method comprising:

receiving a web request, wherein a uniform resource locator (URL) of the web request provides an argument and a user account
identifier identifying a user account;

extracting the argument from the URL as a parameter for a database query;
identifying a plurality of unspecified parameters in the database query;
selecting a plurality of likely values for the plurality of unspecified parameters based on at least one of a predefined rule,
a heuristic, an analysis of a statistical model, or information contained in the web request;

executing the database query, in the identified user account, using the parameter and the plurality of likely values for the
plurality of unspecified parameters to yield a query result;

incorporating at least part of the query result in a web page served in response to the web request.

US Pat. No. 9,300,492

NOTIFICATION FEED ACROSS MULTIPLE CLIENT DEVICES

Dropbox, Inc., San Franc...

1. A method executable at a server, the method comprising:
receiving, at the server, from a client device, a request for new notification records;
retrieving, by the server, from a notifications data store, an initial set of notification records responsive to the request,
the initial set of notification records including a first notification record and a second notification record, wherein each
of the notification records in the initial set of notification records includes a topic field, a sequence field, and a content
field;

generating, by the server, a final set of notification records from the initial set of notification records, wherein generating
the final set of notification records includes:

determining, by the server, based on the topic fields of the notification records, whether the first notification record should
be consolidated with the second notification record, wherein the first notification record and the second notification record
should be consolidated if the topic fields of the first notification record and the second notification record match; and

in the event that the first notification record should be consolidated with the second notification record, consolidating,
by the server, the first notification record with the second notification record based on the sequence fields of the first
notification record and the second notification record,

wherein consolidating the first notification record with the second notification record includes replacing the first notification
record and the second notification record with a single consolidated notification record in the final set of notification
records, the single consolidated notification record including the topic field and the sequence field of the second notification
record and further including a content field based at least in part on the content field of the second notification record;
and

sending, by the server, the final set of notification records to the client device.

US Pat. No. 9,063,949

INFERRING A SEQUENCE OF EDITING OPERATIONS TO FACILITATE MERGING VERSIONS OF A SHARED DOCUMENT

DROPBOX, INC., San Franc...

1. A method for inferring a sequence of editing operations that were applied to a document to produce an updated version of
the document, comprising:
determining a minimum edit distance between the document and the updated version of the document;
wherein determining the minimum edit distance involves associating a block cost with each contiguous block of characters that
is changed by an editing operation associated with the minimum edit distance;

using information stored while determining the minimum edit distance to determine the sequence of editing operations, including
changes to contiguous blocks of characters, which were used to achieve the minimum edit distance;

wherein if the document is a string s1 of length N and the updated version of the document is a string s2 of length M, determining the minimum edit distance involves using a dynamic-programming technique that maintains an N×M array
of costs, wherein a given entry costs[n][m] stores minimum edit distances between a prefix of s1 of length n and a prefix of s2 of length m;

wherein the dynamic-programming technique computes minimum edit distances between progressively larger prefixes of s1 and s2 until the minimum edit distance between s1 and s2 is ultimately computed; and

wherein each entry in costs[n][m] is computed by taking a minimum of:
costs[n][m?1] plus a character insertion cost that possibly includes a block cost, costs[n?1,m] plus a character deletion
cost that possibly includes a block cost, and costs[n?1][m?1] plus a character matching cost which can be zero.

US Pat. No. 9,398,057

SYSTEM AND METHOD FOR GROUP PARTICIPATION IN A DIGITAL MEDIA PRESENTATION

Dropbox, Inc., San Franc...

1. A method for group participation in a digital media presentation, the method comprising:
at one or more server computing devices comprising one or more processors and memory storing instructions executed by the
one or more processors to perform the method, performing operations of:

receiving a network request from a media presentation system to establish a media presentation session for a digital media
presentation to be presented at the media presentation system; and

while the media presentation session is established, performing the operations of:
receiving a first network request from a personal computing device of a first user to participate in the digital media presentation;
receiving a second network request from a personal computing device of a second user that is not the first user, to participate
in the digital media presentation;

selecting one or more first digital media items from a plurality of digital media items associated with an account of the
first user, for inclusion in the digital media presentation;

wherein selecting the one or more first digital media items comprises inferentially selecting the one or more first digital
media items based on inferential selection metadata associated with the one or more first digital media items;

selecting one or more second digital media items from a plurality of digital media items associated with an account of the
second user, for inclusion in the digital media presentation;

sending, via the media presentation session, network location information for each of the selected one or more first digital
media items to the media presentation system;

sending, via the media presentation session, network location information for each of the selected one or more second digital
media items associated with the account of the second user to the media presentation system; and

wherein the media presentation system is not one of the personal computing devices of the first user or the second user.

US Pat. No. 9,300,609

CONTENT ITEM-CENTRIC CONVERSATION AGGREGATION IN SHARED FOLDER BACKED INTEGRATED WORKSPACES

Dropbox, Inc., San Franc...

1. A method comprising:
generating, by an online content management system, a shared-folder backed workspace that provides an integrated environment
for manipulating content items in an online shared folder and for communicating with authorized users of the online shared
folder;

receiving, by the online content management system, first messages associated with a content item, the first messages conforming
to a first message type;

receiving, by the online content management system, second messages associated with a the content item, the second messages
conforming to a second message type;

receiving, by the online content management system, a request to view messages associated with the content item;
aggregating, by the online content management system, the first messages and the second messages into a content item-specific
message thread for the content item, the content item-specific message thread included in a message stream of the shared-folder
backed workspace; and

sending, by the online content management system, to a client device the content item-specific message thread.

US Pat. No. 9,049,176

FILE SHARING VIA LINK GENERATION

Dropbox, Inc., San Franc...

1. A computer-implemented method executed by a file access server, comprising:
receiving a request from a user of a first client located remotely from the file access server in response to the user selecting
a user interface element representing a request for a link providing access to a server folder, the server folder stored on
the server and containing a first plurality of files;

responsive to receiving the request, generating a link specifying the server folder providing the link to the first client
for distribution by the user to other clients;

receiving, from a second client located remotely from the first client, a first access request via the link;
responsive to receiving the first access request, providing a first representation of the server folder to the second client,
the first representation including the first plurality of files;

receiving, by the file access server from the first client, a request to synchronize with the server folder a set of client
files stored in a client folder, the set of client files including a plurality of new client files not stored in the server
folder;

synchronizing, by the file access server, the server folder with the client folder, the synchronizing comprising creating
a plurality of new server files in the server folder that correspond to the plurality of new client files;

receiving, from the second client, after the synchronizing, a second access request via the link; and
responsive to receiving the second access request, providing a second representation of the server folder to the second client,
the second representation including the plurality of new server files, the first representation omitting the plurality of
new server files.

US Pat. No. 9,361,349

STORAGE CONSTRAINED SYNCHRONIZATION OF SHARED CONTENT ITEMS

Dropbox, Inc., San Franc...

1. A computer-implemented method of synchronizing content items, the method comprising:
receiving by a client device a request to access a content item;
determining by the client device that the requested content item is a shadow item, wherein the shadow item represents a content
item stored on a separate host device that is remote to the client device and the shadow item is comprised of metadata of
the content item stored on the client device, without content data of the content item being on the client device;

responsive to determining that the requested content item is a shadow item, requesting, by client device from the host device,
a size of the requested content item stored on the host device;

receiving by the client device the size of the requested content item;
determining that the size of the requested content item exceeds a remaining amount of storage allocated on the client device;
and

responsive to determining that the requested size of the requested content item exceeds the remaining amount of storage allocated
for the client device:

selecting at least one content item to remove from the client device, wherein a copy of each selected content item is stored
on the host device;

replacing each selected content item with a shadow item representing the selected content item on the client device; and
replacing the requested shadow item representing the requested content item with the corresponding requested content item.

US Pat. No. 9,171,203

SCANBOX

DROPBOX, INC., San Franc...

1. A method for content item classification, comprising:
receiving an image for classification;
generating, using at least one processor, a compact representation for the image by downsampling the received image, the compact
representation having a reduced set of pixel values indicative of pixel values within the received image;

identifying, using the at least one processor, a plurality of angle measurements for possible page edges of at least one potential
document within the received image, wherein identifying the plurality of angle measurements for possible page edges comprises:

calculating a plurality of gradient values from the reduced set of pixel values;
identifying, based on the plurality of gradient values, one or more edge candidates of the at least one potential document;
and

calculating the plurality of angle measurements based on a vector extending from a selected origin to a point on each of the
one or more edge candidates;

determining, based on the identified plurality of angle measurements, that the image contains a document; and
in response to determining that the image contains a document, classifying the image as a document containing image based
on the identified plurality of angle measurements for possible page edges.

US Pat. No. 9,104,687

SYSTEM AND METHOD FOR PREVENTING DUPLICATE UPLOADS OF MODIFIED PHOTOS IN A SYNCHRONIZED CONTENT MANAGEMENT SYSTEM

Dropbox, Inc., San Franc...

1. A computer-implemented method of modifying image files and uploading the modified image file to a content management system,
comprising:
for a first image file:
receive the first image file, wherein the first image file contains a first image in a first orientation and orientation data
for the first image;

calculate, by at least one computer processor, a first hash value for the first image file that corresponds to the first image
in the first orientation;

modify, by at least one processor, the first image file by rotating the first image from the first orientation to a second
orientation based on the orientation data;

calculate, by the at least one computer processor, a second hash value for the first image file that corresponds to the first
image in the second orientation, wherein the second orientation is different from the first orientation; and

store the modified first image file, calculated first hash value and calculated second hash value in memory,
for a second image file:
receive the second image file, wherein the second image file contains a second image in a first orientation; and
calculate, by at least one computer processor, a third hash value for the second image file that corresponds to the second
image in the first orientation; and

determine whether the calculated first hash value or the calculated second hash value equals the third hash value;
in response to determining that the calculated first hash value or the calculated second hash value equals the calculated
third hash value, treating the second image file as a duplicate of the first image file.

US Pat. No. 9,069,879

GLOBALLY UNIQUE IDENTIFIERS IN AN ONLINE CONTENT MANAGEMENT SYSTEM

Dropbox, Inc., San Franc...

1. A system comprising:
a processor; and
a computer-readable storage medium having stored therein processor-executable instructions for causing the processor to:
identify a content item stored at a location within a multi-user network-based content management environment;
generate, for the content item, a globally unique identifier, wherein the globally unique identifier is unique within the
content management environment;

associate the globally unique identifier with data that identifies the content item, data that identifies the location of
the content item within the multi-user network-based content management environment, and data that identifies an authorized
user having access to the content item in an identifier database;

propagate the globally unique identifier to at least one client device associated with an authorized user; and
responsive to a request identifying the globally unique identifier from an authorized user, providing to a client device associated
with the authorized user at least one of the content item, a revision of the content item, the location, an attribute of the
content item, or metadata associated with the content item.

US Pat. No. 9,111,110

RETROACTIVE SHARED CONTENT ITEM LINKS

Dropbox, Inc., San Franc...

1. A method comprising:
at one or more servers of a content management system comprising one or more processors and computer memory:
receiving, from a client device of a user, a request to access a content item associated with a shared link;
wherein the request specifies the shared link;
in response to receiving the request:
determining a team, comprising one or more members, that is associated with the content item;
wherein the user is not a member of the team;
determining a current setting of a team shared link policy of the team;
wherein the current setting reflects one of the following polices of the team with respect to use of shared links to access
content items associated with the team:

(a) users that are not members of the team are not permitted to use shared links to access content items associated with the
team; or

(b) users that are not members of the team are not prohibited by the team shared link policy of the team from using shared
links to access content items associated with the team;

if the current setting reflects (a) that users that are not members of the team are not permitted to use shared links to access
content items associated with the team, then returning a response to the client device of the user that indicates that the
user is not permitted to access the content item; or

if the current setting reflects (b) that users that are not members of the team are not prohibited by the team shared link
policy of the team from using shared links to access content items associated with the team, then returning a response to
the client device of the user that comprises at least a portion of the content item.

US Pat. No. 9,075,954

REQUESTING MODIFICATION RIGHTS TO A LINKED FILE SET

Dropbox, Inc., San Franc...

1. A computer implemented method of sharing files between a link sharer and a link recipient, the method comprising the steps
of:
in response to a request from the link sharer, generating, by a content management system, a file sharing link to a file set
associated with an account for the link sharer on the content management system, wherein the link provides the link recipient
with read-only access to the file set;

receiving, by the content management system, an indication that the file sharing link has been activated by a link recipient;
at least partially in response to receiving the link activation indication, displaying, by the content management system,
a representation of the file set along with a display element that may be activated to send a request to provide modification
rights to the file set;

receiving, by the content management system, an indication that the display element has been activated;
at least partially in response to receiving the indication that the display element has been activated, granting, by the content
management system, the link recipient modification rights to the file set;

at least partially in response to granting modification rights, associating, by the content management system, the file set
with an account of the link recipient, the association converting the read only file set to a shared file set, with the shared
file set being non-read only; and

synchronizing, by the content management system, the file set with at least one client device authorized on the account of
the link recipient.

US Pat. No. 9,065,818

TOGGLE BETWEEN ACCOUNTS

Dropbox, Inc., San Franc...

1. A method comprising:
providing, by a service, a first mechanism by which users of the service may sign on to the service using native authentication
of the service;

providing, by the service, a second mechanism by which users of the service may sign on to the service using a third-party
single-sign-on provider;

storing, at the service, data that identifies a plurality of teams;
storing, at the service, data that identifies at least one administrator of each of the plurality of teams;
enabling an administrator of each team of the plurality of teams to access and use a tool to specify which sign-on options,
of a plurality of sign-on options made available by the service, are assigned to members of the team to which the administrator
belongs;

wherein the plurality of sign-on options include at least:
a first sign-on option in which only the first mechanism may be used; and
a second sign-on option in which only the second mechanism may be used;
wherein the method is performed by one or more computing devices.

US Pat. No. 9,413,606

AUTOMATION OF NETWORKED DEVICES

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
receiving, by a computer system, a registration request from a first networked device connected to a first network, the registration
request including metadata describing functional capabilities of the first networked device;

registering the first networked device using the metadata included in the registration request;
receiving, by the computer system, a first request to alter a state of the first networked device located at a first geographic
location, the first request received from a computing device of a user;

sending, by the computer system, a first instruction to the first networked device to update its state based on the first
request;

receiving, by the computer system, a second request to alter a state of a second networked device connected to a second network
and located at a second geographical location different from the first geographical location, the second request received
from the computing device of the user;

sending, by the computer system, a second instruction to the second networked device to update its state based on the second
request;

receiving, from the computing device of the user, a permission setting granting a second user a level of control of the first
networked device;

receiving, from a computing device of the second user, a request to alter the state of the first networked device; and
sending an instruction to the first networked device to update its state based on the request from the second user.

US Pat. No. 9,344,433

UNREGISTERED USER ACCOUNT GENERATION FOR CONTENT ITEM SHARING

Dropbox, Inc., San Franc...

1. A computer-implemented method, comprising:
receiving, by a content management system, a request to share a content item with a user, the request being from a computing
device unassociated with a user account;

generating, using a unique identifier associated with the computing device, an unregistered user account with the content
management system;

uploading, by the content management system, the content item;
associating the content item with the unregistered user account;
receiving a registration request from the computing device;
converting the unregistered user account into a registered account;
receiving, by the content management system, a second registration request to associate a second computing device with the
registered account; and

causing the second computing device to be associated with the registered account, wherein associating the second computing
device with the registered account includes installing a client-side application on the second computing device, and wherein
the content management system communicates with the computing device and the second computing device through a respective
client-side application to synchronize data stored locally on each of the computing device and the second computing device
with data stored in the content management system.

US Pat. No. 9,298,797

PRESERVING CONTENT ITEM COLLECTION DATA ACROSS INTERFACES

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
generating by a processor, for a collection of content items stored in a user account in a synchronized online content management
system, an index of the content items in the collection, wherein the index is associated with a collection identifier assigned
to the collection and the index stores, for each content item in the collection, a content item identifier and a file storage
location, and wherein for each content item in the collection the collection identifier is stored in metadata of the content
item;

in response to detecting by a processor, a move operation associated with a content item in the collection, automatically
updating the index to reflect the move operation, thereby preserving the composition of the collection, wherein updating the
index comprises:

retrieving, by a processor, the collection identifier from the metadata associated with the content item upon a content item
in the collection being moved to a new file storage location;

locating, by a processor, the index for the collection associated with the collection identifier retrieved from the metadata
associated with the content item; and

updating, by a processor, the file storage location stored in the index for the content item to identify the new file storage
location.

US Pat. No. 9,288,283

SYSTEMS AND METHODS FOR MANAGING SHARED CONTENT BASED ON SHARING PROFILES

Dropbox, Inc., San Franc...

1. A method executable at a server, the method comprising:
receiving a request at an online content management service to display one or more content items associated with a user identifier
stored in the online content management service;

identifying, by the online content management service, content items associated with the user identifier, wherein each of
the content items is associated with a sharing content profile that includes sharing-specific metadata for the content item,
and wherein the sharing content profile includes a sharing restriction field indicating one or more sharing restrictions associated
with the content item;

analyzing the sharing content profile associated with each of the content items to determine the sharing-specific metadata
stored in the sharing content profile associated with each of the content items;

sorting the content items into a default sorted list of content items based on the sharing-specific metadata stored in the
sharing content profile associated with each of the content items; and

sending the default sorted list of content items to a client device for display.

US Pat. No. 9,128,977

ENHANCING EVENT SUMMARIES OF SYNCED ONLINE CONTENT MANAGEMENT SYSTEM INTERACTIONS

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
presenting to a user, by a processor, a collapsed event associated with content item activity on a shared dataspace, the collapsed
event is associated with at least two event markers based on at least one commonality between at least two items of information;

receiving from a user, by a processor, additional data to be associated with the collapsed event;
adding, by a processor, the additional data to the event markers;
updating, by a processor, the collapsed event using the added additional data, to yield an enriched collapsed event including
the additional data; and

presenting by a processor, the enriched collapsed event to the user;
preparing, by a processor, a notification describing the enriched collapsed event; and
presenting, by a processor, the notification to an additional user of the shared dataspace,
wherein preparing and presenting of the notification only occur when a threshold associated with the enriched collapsed event
is met, and

wherein the activity associated with each event marker comprises at least one file interaction with the file interaction comprising
at least one of adding a file, deleting a file, moving a file, renaming a file, providing a user access to the shared dataspace,
limiting access to the shared dataspace to a user, making a file public, making a directory public, or restricting public
access to the shared dataspace.

US Pat. No. 9,374,275

RAPID APPLICATION DEVELOPMENT USING A CONTENT MANAGEMENT SYSTEM

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
receiving and storing, at an online content management system, application configuration data for a content application on
a first client device, the content application configured to execute on a second client device using the application configuration
data, the application configuration data including a plurality of application parameters for modifying at least one of a user
interface of the content application or parameters of an algorithm of the content application;

synchronizing, by the online content management system, the application configuration data to the second client device through
the online management system, the content application being configured to read the application configuration data on the second-client
device and apply the application parameters to modify at least one of a user interface of the content application or parameters
of the algorithm of the content application on the second client device;

receiving, from the first client device, a modified version of the application configuration data modified by the first client
device, the modified version of the application configuration data including at least one modified application parameter;

storing, at the online management system, the modified version of the application configuration data; and
synchronizing, by the online content management system, the modified application configuration data to the second client device
through the online content management system to provide the modified application configuration data to the second client device,
the content application on the second client device being configured to read the modified application configuration data and
apply the at least one modified application parameter, the modified application parameter modifying at least one of the user
interface of the content application or the parameters of the algorithm of the content application on the client device.

US Pat. No. 9,063,909

ISOLATING DATA STORAGE MIRRORING OPERATIONS

Dropbox, Inc., San Franc...

19. A system comprising:
a processor; and
a non-transitory computer-readable storage medium having processor-executable instructions stored therein for causing a processor
to:

receive instructions to store data in a first storage space, which data is to be mirrored to a second storage space;
prepare first instructions for storing the data in the first storage space, and second instructions for also storing the data
in the second storage space;

communicate the first instructions to the first storage space to initiate storage of the data in the first storage space;
and

communicate the second instructions to a queue to be executed for storing the data in the second storage space at a subsequent
time upon a predefined condition being met.

US Pat. No. 9,413,708

USER NOTIFICATIONS FOR INTERACTION INFORMATION

Dropbox, Inc., San Franc...

1. A method comprising:
receiving a notification of an interaction event indicating an interaction with a content item by a first user of a plurality
of users, the content item synchronized between a content management system and a plurality of devices, each device associated
with one of the plurality of users with which the content item is shared;

determining a type of the interaction and a priority of the interaction; and
for each user of the plurality of users other than the first user:
determining whether a notification queue associated with the other user and the content item contains a higher priority interaction
by the first user;

adding the interaction to the notification queue responsive to determining that the notification queue does not contain a
higher priority interaction by the first user; and

removing lower priority interactions by the first user from the notification queue;
wherein determining the type of the interaction and the priority of the interaction occurs responsive to determining that
collaboration is not occurring in the content item.

US Pat. No. 9,325,709

SYSTEM AND METHOD FOR IMPORTING AND MERGING CONTENT ITEMS FROM DIFFERENT SOURCES

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
receiving, by a processor of a content management system, a plurality of credentials from a user having an account with the
content management system, wherein each credential is associated with at least one content item repository and each credential
comprises at least one of a username, a password, a personal identification number (PIN), a one-time password, third-party
service login information, or a self-identifying secret question and answer;

accessing, by a processor of the content management system, the content item repository using at least one of the plurality
of credentials if authorization is required for data access;

identifying, by a processor of the content management system, source content item data in the content item repository;
duplicating, by a processor of the content management system, the identified source content item data from the content item
repository into the account at the content management system to create consolidated content item data in the content management
system account, wherein duplicating the source content item data further comprises creating, by a processor of the content
management system, a respective subfolder in the account for each of the plurality of content item repositories and storing,
by a processor of the content management system, duplicated source content item data in respective subfolders;

accessing at a regular interval, by a processor of a content management system, the content item repository using at least
one the plurality of credentials if authorization is required for data access;

identifying, by a processor of the content management system, any change in the source content item data in the content item
repository;

updating, by a processor of the content management system, the consolidated content item data in the content management system
account to match the changes;

identifying, by a processor of the content management system, duplicate content item data in the consolidated content item
data;

deleting, by a processor of the content management system, the duplicate content item data; and
providing, by a processor of the content management system, access to the duplicated source content item data, the access
provided to a web interface.

US Pat. No. 9,300,611

CONTENT-ITEM LINKING SYSTEM FOR MESSAGING SERVICES

Dropbox, Inc., San Franc...

1. A method comprising:
sending, by a browser executing on a computing system, to a content management server associated with an online content management
service, a request to access the online content management service for an email author, wherein the content management server
stores a plurality of content items for the online content management service;

receiving, from the content management server, access information associated with the email author, the access information
enabling access to an account with the online content management service;

accessing, by the browser, a document from a communication server of an email service, wherein the document includes an email
composition section;

detecting, by scanning the email composition section, a document element in the document and a location corresponding to the
document element, wherein the document element is associated with the email composition section and the document element is
an attachment control that provides file attachment functionality;

inserting an online content management service request element into the document based at least in part on the location of
the document element detected in the document, wherein the online content management service request element is different
from the document element detected in the document that is accessed from the email service; and

in response to receiving an input indicating that the online content management service request element is activated:
requesting, from the content management server, based on the access information associated with the email author, a set of
references to content items accessible to the account from the online content management service;

providing the set of references for selection of one of the content items;
receiving input indicating a selection of a reference from the set of references;
obtaining, from the content management server, a link indicating a location of the content item stored by the content management
server, wherein the content item corresponds to the selected reference; and

inserting the link into the email composition section of the document.

US Pat. No. 9,325,571

ACCESS PERMISSIONS FOR SHARED CONTENT

Dropbox, Inc., San Franc...

1. A non-transitory computer-readable medium storing computer executable instructions for causing a computing device to perform
a method comprising:
receiving, from an online content management system, information about a collection of content and data included in the collection
to be shared with the computing device, the collection including the data being associated with a source user account;

reconstructing, at the computing device, the collection and the data included in the collection based, at least in part, on
the received information; and

communicating with an operating system of the computing device to configure an access permission associated with the reconstructed
data included in the reconstructed collection at the computing device, the access permission being configured to prevent modifying
or deleting the reconstructed data at the computing device, wherein the modifying or deleting would cause conflict with one
or more settings assigned to the computing device by the source user account;

determining that the access permission has been modified at the computing device in conflict with the one or more settings
assigned to the computing device by the source user account; and

communicating with the operating system to revert the access permission in accordance with a previous configuration of the
access permission.

US Pat. No. 9,154,498

SHARABLE CONTENT ITEM LINKS WITH USE RESTRICTIONS

Dropbox, Inc., San Franc...

1. A method for sharing a server-stored content item, comprising:
receiving, from a client computing device used by a link sharer, configuration information specifying whether or not users
that are not authorized to access a server-stored content item at a sharable link can request access from the link sharer
to access the server-stored content item at the sharable link;

storing the configuration information in association with the sharable link;
receiving, from a client computing device used by a link submitter, a first request to access the server-stored content item
at the sharable link;

denying the access to the server-stored content item requested by the link submitter in the first request based on one or
more use restrictions associated with the sharable link;

determining, based on the configuration information associated with the sharable link, whether the link submitter can request
access from the link sharer to access the server stored content item at the sharable link;

based on determining that the link submitter can request access from the link sharer to access the server stored content item
at the sharable link, prompting the link submitter to request approval to access to the server-stored content item at the
sharable link;

responsive to receiving approval from the link sharer for the link submitter to access the server-stored content item at the
sharable link, modifying the use restrictions associated with the sharable link to allow the link submitter to access the
server-stored content item at the sharable link;

after the modifying the use restrictions, receiving, from a client computing device used by the link submitter, a second request
to access the server-stored content item at the sharable link; and

allowing the access to the server-stored content item requested by the link submitter in the second request based on the modified
use restrictions associated with the sharable link;

wherein the method is performed by one or more computing devices.

US Pat. No. 9,374,326

PROVIDING INFORMATION FOR SHARED CONTENT

Dropbox, Inc., San Franc...

1. A system for providing information for shared content, comprising:
at least one processor;
one or more non-transitory computer readable media; and
computer readable instructions, stored on the one or more non-transitory computer readable media, that when executed by the
at least one processor, cause the system to:

receive, from a sharer account associated with a content item, a request to share the content item with at least one recipient
account, wherein sharing the content item provides read and write access of the content item to the at least one recipient
account, and wherein the sharer account and the at least one recipient account are associated with an online content management
system;

analyze the content item to determine at least one of a property or a representation of a content portion associated with
the content item, wherein analyzing further includes determining a relevancy score of a segment of the of the content item,
and identifying the segment of the content item as the representation of a content portion based on the relevancy score;

transmit a communication to the at least one recipient account, the communication indicating that the sharer account has requested
to share the content item with the at least one recipient account; and

enable the at least one of the property or the representation of the content portion to be included in the communication to
the at least one recipient account.

US Pat. No. 9,461,949

MANAGING LINKS AND INVITATIONS TO SHARED CONTENT

Dropbox, Inc., San Franc...

1. A system comprising:
at least one processor;
one or more computer readable media; and
computer readable instructions, stored on the one or more computer readable media, that when executed by the at least one
processor, cause the system to:

send, to a recipient account, a link providing read-only access to a content item, the content item being associated with
a sharer account in a content management system;

after sending the link, identify one or more member accounts that have been granted, prior to sending the link, access, by
the sharer account, to a synchronized version of the content item;

determine that the recipient account is included in the one or more member accounts;
send, to a device associated with the recipient account, a notification that the recipient account already has received, prior
to sending the link, access to the synchronized version of the content item, wherein the notification provides an option to
access the synchronized version of the content item.

US Pat. No. 9,395,893

SHARED FOLDER BACKED INTEGRATED WORKSPACES

DROPBOX, INC., San Franc...

1. A method comprising:
storing, in a content management system, a shared folder containing one or more content items, the shared folder accessible
by a plurality of authorized user accounts;

receiving, by the content management system, a request to create a workspace associated with the shared folder from a first
authorized user account in the plurality of authorized user accounts;

in response to the request, generating the workspace, the workspace providing an integrated environment for establishing communications
between the plurality of authorized user accounts, the workspace being configured to store in the shared folder the communications
between the plurality of authorized user accounts and provide a unified view of the communications and content items stored
in the shared folder for presentation.

US Pat. No. 9,258,291

PRE-AUTHORIZING A CLIENT APPLICATION TO ACCESS A USER ACCOUNT ON A CONTENT MANAGEMENT SYSTEM

DROPBOX, INC., San Franc...

1. A method comprising:
while a client device is authorized to access a user account on a content management system, receiving, by a processor of
the content management system, an installation request to install a client-side application on the client device, the installation
request originating from a web-browser application running on the client device;

generating an identification tag for the installation request;
transmitting a client installer tagged with the identification tag and a web browser identifier identifying the web browser
application from which the installation request originated, wherein the client installer is configured to:

install the client-side application on the client device,
generate an authentication key, and
upon the client-side application being successfully installed on the client device, cause the web-browser application to transmit
an authorization message to the content management system, the authorization message including:

data cached by the web browser application,
the identification tag, and
the authentication key;
receiving the authentication message from the client device;
associating the authentication key with the installation request; and
upon receiving a pre-authorization request including the identification tag and the authentication key, authorizing the client-side
application to access the user account on the content management system.

US Pat. No. 9,432,238

COMMUNICATING LARGE AMOUNTS OF DATA OVER A NETWORK WITH IMPROVED EFFICIENCY

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
receiving, by a processor, a request for specified data from a requester, wherein the specified data comprises multiple files;
determining, by the processor, that the specified data has a data size above a predefined first threshold and that each file
in the multiple files is above a second threshold data size;

in response to determining that the requested specified data has a data size above the predefined first threshold:
preparing, by the processor, a message comprising header information associated with a file transfer protocol;
preparing, by the processor, metadata indicating at least a storage location of the requested specified data;
communicating the message and the metadata separately to the requester without the requested specified data; and
upon receiving the metadata by the requester, initiating transmission of the requested specified data from the storage location
to the requester as a data stream, wherein the header information is omitted from the transmitted data stream.

US Pat. No. 9,398,090

SYNCHRONIZED CONTENT LIBRARY

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
receiving, by a processor of a content management system, a synchronization request from a client device, the synchronization
request identifying:

a content journal comprising a list of content entries, locations for each of the content entries and recorded changes made
to a content library;

a first content journal position identifying a first portion of the content journal representing a state of the content library
known to the client device; and

transmitting to the client device by a processor of the content management system:
a second portion of the content journal representing changes made to the content library that are unknown to the client device;
and

a second content journal position identifying a third portion of the content journal representing an updated state of the
content library known to the client device, wherein the third portion of the content journal includes the first portion of
the content journal and the second portion of the content journal.

US Pat. No. 9,141,483

SYSTEM AND METHOD FOR MULTI-TIER SYNCHRONIZATION

DROPBOX, INC., San Franc...

1. A method for synchronizing select data in a system including a master synchronization server, one or more proxy synchronization
servers, and a plurality of client devices including local client devices and remote client devices, the method comprising:
for each of the local client devices that is able to communicate with at least one of the one or more proxy synchronization
servers over a local connection, establishing a synchronization session between such local client device and the proxy synchronization
server;

for each of the remote client devices that is online and that is not able to establish a synchronization session with at least
one of the one or more proxy synchronization servers or another synchronization device, establishing a synchronization session
between such remote client device and the master synchronization server;

establishing a synchronization session between the master synchronization server and the one or more proxy synchronization
servers; and

in response to a change made to synchronized data on the master synchronization server, the one or more proxy synchronization
servers, or at least one of the plurality of client devices, synchronizing metadata associated with such change across the
master synchronization server, the one or more proxy synchronization servers and interested client-devices, wherein for established
synchronization sessions the metadata is synced in real-time, wherein the local client devices synchronize metadata directly
with the proxy synchronization server to which they have established a synchronization session, the remote client devices
synchronize metadata directly with the master synchronization server, and the one or more proxy synchronization servers and
the master synchronization server synchronize metadata with each other, and wherein a conflict resolution algorithm is applied
on the one or more proxy synchronization servers when conflicting changes are synced to it or on the master synchronization
server when receiving conflicting changes from any combination of the one or more proxy synchronization servers or remote
client devices.

US Pat. No. 9,374,329

SAVING MESSAGE ATTACHMENTS TO AN ONLINE CONTENT MANAGEMENT SYSTEM

DROPBOX, INC., San Franc...

1. A method for enabling a client device to save a message attachment that is received by a messaging system to an online
content management system, wherein the client device, the online content management system, and the messaging system are distinct,
comprising:
receiving at the client device a message, wherein the message includes an indication of the message attachment, wherein the
message attachment is stored at a location in the messaging system;

sending from the client device to the messaging system a request to store the message attachment to the online content management
system;

wherein the messaging system, in response to the request, is configured to initiate a call to the online content management
system to save the message attachment to the online content management system, wherein the call specifies the location in
the messaging system; and

wherein the online content management system is configured to, in response to the call,
determine a destination for the message attachment within the online content management system, and
pull the message attachment from the specified location in the messaging system to the determined destination in the online
content management system.

US Pat. No. 9,384,226

PERSONAL CONTENT ITEM SEARCHING SYSTEM AND METHOD

Dropbox, Inc., San Franc...

1. A user computer for searching a user's content items hosted by an online content management service, the user computer
comprising at least one processor configured to:
obtain a search query;
use the search query to identify in a local index at the user computer a first set of one or more of the user's hosted content
items that satisfy the search query;

display, in a graphical user interface at the user computer, for at least a first content item in the first set of one or
more of the user's hosted content items that satisfy the search query, a first search answer summary for the first content
item;

wherein a version of the first content item is stored at the user computer at the time the search query is obtained;
wherein the first search answer summary indicates that the version of the first content item stored at the user computer is
older than a version of the first content item hosted by the online content management service;

send the search query over a communications network to the online content management service;
receive, over the communications network from the online content management service, one or more remote answers to the search
query, the one or more remote answers corresponding to a second set of one or more of the user's hosted content items identified
by the online content management service, using a remote index at the online content management service, as satisfying the
search query;

update the graphical user interface at the user computer to display, for at least a second content item in the second set
of one or more content items of the user's hosted content items that satisfy the search query, a second search answer summary
for the second content item; and

wherein, after the update, the graphical user interface at the user computer displays at least both the first search answer
summary for the first content item and the second search answer summary for the second content item.

US Pat. No. 9,501,511

PROVIDING A CONTENT PREVIEW

DROPBOX, INC., San Franc...

1. A computer-implemented method comprising:
splitting, via a processor, a content item into at least a first fixed size block containing a first unique portion of the
content item and a second fixed size block containing a second unique portion of the content item, in response to a preview
triggering event;

computing, via the processor, a first hash identifier by using at least a part of the first unique portion of the first fixed
size block as a first hash key in a hashing algorithm;

computing, via the processor, a second hash identifier by using at least a part of the second unique portion of the second
fixed size block as a second hash key in the hashing algorithm;

generating, via the processor, a block list containing a hash key created by concatenating the first hash identifier and the
second hash identifier; and

creating, via the processor, a content preview of the content item in response to a determination, based on the block list,
that the content preview of the content item does not exist.

US Pat. No. 9,310,981

SEAMLESS EDITING AND SAVING OF ONLINE CONTENT ITEMS USING APPLICATIONS

Dropbox, Inc., San Franc...

1. A method comprising:
providing from a user device, by a client application configured to interface with an online content management service system
and executing on the user device, authorization information to the online content management service system via a computer
network to authorize the client application to access the online content management service system;

displaying on the user device, by the client application, an identifier of a first content item stored in a cloud storage
on the online content management service system;

enabling, by the client application, a user to request edit control of the first content item;
detecting, by the client application, that the user has requested edit control of the first content item;
displaying on the user device, by the client application, in response to detecting that the user has requested edit control
of the first content item, a selection interface operable to present a set of one or more selectable editing application identifiers
to the user and to enable the user to select from the set a preferred editing application for editing locally the first content
item, the set of one or more selectable editing application identifiers capable of including a particular editing application
identifier to a particular editing application not installed on the user device;

receiving, via the selection interface, a user selection of the preferred editing application, the preferred editing application
being different than the client application;

if the preferred editing application has not been installed on the user device:
enabling the user device to download the preferred editing application, and
enabling the user device to provide authorization information to the online content management service system;
if the preferred editing application has been installed, regardless of whether the preferred editing application has provided
authorization information to the online content management service system, providing to the preferred editing application,
by the client application, item-identifying information of the first content item, the item-identifying information being
usable by the preferred editing application to obtain the first content item stored on the online content management service
system;

if the preferred editing application has been installed, the authorization information has been provided to the online content
management service system, and the authorization information has been verified by the online content management service system:

enabling the preferred editing application to save the first content item, as edited, in the cloud storage, and
upon user request, saving the first content item, as edited, by the preferred editing application in the cloud storage; and
if the preferred editing application has been installed, and the authorization information has not been provided to the online
content management service system:

enabling the authorization information to be provided to the online content management service system for verification, and
until the authorization information is provided to and verified by the online content management service system, not enabling
the preferred editing application to save the first content item, as edited, in the cloud storage, and upon user request,
saving the first content item, as edited, by the preferred editing application in a local storage.

US Pat. No. 9,385,980

AUTOMATIC ROUTING OF ELECTRONIC MAIL FILE ATTACHMENTS TO A USER DIRECTORY IN A FILE MANAGEMENT SYSTEM, BY A RECIPIENT ELECTRONIC MAIL SERVER, BASED ON EMAIL SENDER DEFINED PROCESSING RULES

Dropbox, Inc., San Franc...

1. A computer-implemented method for processing email attachments in a file management system, comprising:
storing, by a processing circuitry, a plurality of processing rules for processing email attachments received from an external
outbound mail server, including a plurality of sender-defined processing rules, each sender-defined processing rule provided
by at least one email sender;

receiving by an inbound mail server, located in the file management system, by the processing circuitry, an inbound email
from a user device of an email sender addressed to at least one user having an account on the file management system, the
received email including an attachment and sent by the external outbound mail server, wherein the file management system is
physically separated from the user device and physically separated from the external outbound mail server, and wherein the
user device and external outbound mail server are both accessible to the inbound mail server via a communicatively coupled
hardware network;

selecting from a plurality of email attachment processing rules, at least one sender-defined processing rule based upon the
email sender of the received email;

processing, by the processing circuitry, the received email according to the at least one selected sender-defined processing
rule to determine a target directory in the user's account in which to store the attachment included with the received email;
and

storing, by the processing circuitry, the attachment in the determined target directory in the user's account.

US Pat. No. 9,378,054

TESTING SYSTEM WITH METHODOLOGY FOR BACKGROUND APPLICATION CONTROL

Dropbox, Inc., San Franc...

8. A method comprising:
prior to a first application entering a background execution state, the first application sending a test message to a second
application, the test message indicating that a test of the first application to be conducted while the first application
is in a foreground execution state;

wherein after sending the test message, the first application enters the background execution state;
wherein receipt of the test message by the second application causes the second application to respond to the test message
from the first application by sending a reflected message, to the first application;

wherein sending the reflected message causes:
(a) the first application to transition from the background execution state to the foreground execution state, and
(b) the test of the first application to be conducted after the first application has transitioned from the background execution
state to the foreground execution state;

wherein the test message indicates that the test to be conducted is to be conducted at least in part by the second application;
wherein the method further comprises the second application performing at least part of the test to be conducted in response
to receiving the test message;

wherein at least part of the test to be conducted comprises the first application being in the background execution state
for at least a specified period of time;

wherein the method further comprises the second application waiting for at least the specified period of time before sending
the reflected message in response to receiving the test message; and

wherein the method is performed by a computing device.

US Pat. No. 9,292,756

SYSTEMS AND METHODS FOR AUTOMATED IMAGE CROPPING

Dropbox, Inc., San Franc...

1. An image processing system, comprising:
a processor; and
a memory connected to the processor, where the memory contains:
an image cropping application; and
an image file containing image data encoding an original image;
wherein the image cropping application directs the processor to:
utilize at least one object detector to identify at least one region of interest within the original image;
select a plurality of candidate cropped images within the original image;
for each candidate cropped image, generate an output by weighting each of the at least one region of interest contained within
the candidate cropped image as a function of its position within the candidate cropped image, where

weighting each of the at least one region of interest comprises convolving each of a plurality of cropping kernels positioned
in a candidate crop location with the at least one region of interest contained within the candidate cropped image to generate
a plurality of outputs with respect to the candidate cropped image; and

the plurality of cropping kernels weight a given region of interest as a function of its position within the candidate cropped
image using different weighting functions;

select a crop location within the original image based upon the candidate cropped image having the largest output; and
generate cropped image metadata.

US Pat. No. 9,253,133

MESSAGE THREAD IDENTIFICATION AND MANAGEMENT

DROPBOX, INC., San Franc...

1. A method comprising:
receiving, by a processor, a message;
determining, by the processor, based upon thread information stored in a data store, whether a message identifier included
in the message is associated with a first thread;

determining, by the processor, whether the message includes a reference message identifier;
determining, by the processor, based upon the thread information, whether the reference message identifier included in the
message is associated with a second thread;

determining, by the processor, based on the thread information, whether the first thread that is associated with the message
identifier in the message is different from the second thread that is associated with the reference message identifier in
the message;

upon determining that the first thread is different from the second thread, updating, by the processor, the thread information
to associate both the message identifier of the message and the reference message identifier of the message with a third thread,
wherein the third thread is different from the first thread and the second thread;

determining, by the processor, based on the thread information, that the first thread is associated with a first set of related
message identifiers, wherein each related message identifier of the first set of related message identifiers is distinct from
the message identifier that is associated with the first thread and is distinct from the reference message identifier that
is associated with the second thread; and

updating, by the processor, the thread information to change an association of each of the first set of related message identifiers
with the first thread to an association with the third thread.

US Pat. No. 9,530,072

DUPLICATE/NEAR DUPLICATE DETECTION AND IMAGE REGISTRATION

DROPBOX, INC., San Franc...

1. A method of detecting duplicate and near duplicate images, comprising:
receiving an image;
generating a first cell array for the image comprising a first grid of cells corresponding to regions of the image, the first
grid of cells comprising average pixel intensity values for corresponding regions of the image;

rotating the image based on the average pixel intensity values of the first grid of cells;
generating a second cell array for the rotated image comprising a second grid of cells corresponding to regions of the rotated
image, the second grid of cells comprising numeric values for corresponding regions of the rotated image;

generating an image fingerprint for the rotated image, the image fingerprint comprising a sequence of the numeric values for
the rotated image;

identifying one or more duplicate or near duplicate images from a set of previously stored images by comparing the image fingerprint
with a set of previously generated image fingerprints corresponding to the set of previously stored images, wherein comparing
the image fingerprint with the set of previously generated image fingerprints comprises comparing the sequence of numeric
values with sequences of numeric values of the previously generated image fingerprints; and

in response to identifying one or more duplicate or near duplicate images from the set of previously stored images, taking
a defined action with respect to the one or more duplicate or near duplicate images.

US Pat. No. 9,298,355

CONTENT ITEM TEMPLATES

Dropbox, Inc., San Franc...

1. A method comprising:
receiving, by an online content management system, a request from a user device associated with a user account of the content
management system to create a new content item, the request specifying a content item type for the new content item, the content
item corresponding to a native application not available on the user device;

selecting, by the online content management system, a content item template from a plurality of content item templates based
on the specified content item type;

generating, by the online content management system, a copy of the selected content item template;
saving, by the online content management system, the content item template copy as the new content item in an online folder
of the online content management system associated with the user account.

US Pat. No. 9,294,485

CONTROLLING ACCESS TO SHARED CONTENT IN AN ONLINE CONTENT MANAGEMENT SYSTEM

Dropbox, Inc., San Franc...

1. A computer-implemented method for controlling access to shared group content in a networked content management system,
comprising:
maintaining a database of authorized users identifying groups to which said users are members;
maintaining a database of group sharing policies identifying sharing permissions for stored group content;
determining, in response to a request to share access to particular stored group content, whether the request is from an authorized
user by consulting said authorized user database;

determining the sharing permissions applicable to the requested particular stored group content by consulting said group sharing
policy database, wherein the sharing permissions include a determination of whether a response to a request to share content
in a group content folder permitted to be shared with non-group members should contain a warning that the content is about
to be shared with a non-group member; and

processing the request in accordance with the results of said determinations.

US Pat. No. 9,083,766

MAINTAINING CONSISTENT GLOBALLY UNIQUE IDENTIFIERS VIA AN ASYNCHRONOUS INTERFACE

Dropbox, Inc., San Franc...

1. A system comprising:
a multi-user network-based content item management environment storing content items addressable by globally unique identifiers
unique within the content item management environment, wherein the globally unique identifiers are associated, in an identifier
database, with the content item, a storage location, and an authorized user having access to the content item, wherein copies
of content items are maintained in at least one client device;

a processor; and
a non-transitory computer-readable storage medium having stored therein processor-executable instructions for causing the
processor to:

receive, from the at least one client device, content item change information derived from data generated by an operating
system function at the client device with respect to a content item stored in the content item management environment;

analyze the content item change information to determine a corresponding action at the content item management environment;
implement the corresponding action;
update the globally unique identifier associated with the content item in accordance with the corresponding action; and
provide a confirmation of the corresponding action including the updated globally unique identifier to the client device.

US Pat. No. 9,442,997

IDLE STATE TRIGGERED CONSTRAINED SYNCHRONIZATION OF SHARED CONTENT ITEMS

Dropbox, Inc., San Franc...

1. A computer-implemented method of synchronizing content items between an online content management system and a remotely
located client device, the method comprising:
receiving, at the content management system, from a client device, a measure of processor activity of the client device, the
client device having a shared content storage directory containing a plurality of synchronized content items with the content
management system, each content item having both content data and metadata;

determining, by the content management system, whether the client device is in an idle state based on the measure of processor
activity;

responsive to determining, by the content management system, that the client device is in the idle state:
identifying, by the content management system, a number of the synchronized content items on the client device that exceed
a storage limit for the shared content storage directory; and

requesting, by the content management system, that the client device replace, in the shared content storage directory, each
identified content item with a corresponding shadow item representing the content item and containing only the metadata of
the content item without containing the content data of the content item, to reduce a total storage amount used by the synchronized
content items on the client device to an amount below the storage limit of the shared content directory.

US Pat. No. 9,509,679

SYSTEM AND METHOD FOR NON-REPLAYABLE COMMUNICATION SESSIONS

DROPBOX, INC., San Franc...

1. A method comprising:
identifying a first device associated with a first user, the first device having a public identity key;
performing a key exchange between the first device and a second device associated with a second user, wherein the public identity
key and a public session key are transmitted from the first device to the second device; and

conducting a communication session between the first user and the second user, wherein a message transmitted from the second
device to the first device during the communication session is encrypted with the public identity key and the public session
key.

US Pat. No. 9,633,125

SYSTEM, METHOD, AND COMPUTER PROGRAM FOR ENABLING A USER TO SYNCHRONIZE, MANAGE, AND SHARE FOLDERS ACROSS A PLURALITY OF CLIENT DEVICES AND A SYNCHRONIZATION SERVER

Dropbox, Inc., San Franc...

1. A method performed on a local client device for synchronizing files and folders with a synchronization server, the method
comprising:
rendering a first view in a user interface on the local device that displays all folders, across a plurality client devices
of the user, that the user has synchronized to the synchronization server, wherein folders are displayed in the first view
regardless of whether the folder resides on the local device or on a remote device, and wherein the first view has:

(i) a default mode that is device-independent, wherein in the default mode, folders are not organized by device, and
(ii) a feature that displays the folders by which device each of the folders resides;
rendering a first drop-target zone in the user interface that is configured to, when the user drags a chosen folder from the
local device to the first drop-target zone, synchronize the chosen folder between the local device and the synchronization
server, wherein, in response to the user dragging the chosen folder to the first drop-target zone:

a copy of the chosen folder is uploaded to the synchronization server, and
the chosen folder is added to the first view,
wherein the first view and the first drop-target zone are rendered in a single window in the user interface;
rendering a first section in a second view in the user interface on the local device that displays all folders, across the
plurality of client devices of the user, that the user has shared with other users of the synchronization server;

rendering a second section in the second view in the user interface on the local device that displays all folders, across
the plurality of client devices of the user, that other users of the synchronization server have shared with the user;

wherein the first view and the first drop-target zone are rendered in a single window in the user interface;
in response to a specific user command with respect to a folder in the second view, rendering one or more user identifiers
with whom the user has shared the folder; and

rendering a third view in the user interface displaying activity related to a selected folder initially displayed in the first
view, wherein for a selected folder that is shared with other users of the synchronization server, the user is able to see
activity of the other users with respect to the selected folder.

US Pat. No. 9,189,491

APPLICATION RECOMMENDATION USING STORED FILES

DROPBOX, INC., San Franc...

1. A computer-implemented method comprising:
receiving a request to upload a plurality of files to a user account of a network content management system where the system
can be synced with any computing device that is logged into the user's account;

storing the plurality of files in the system, the plurality of files being stored at the user account of the system, wherein
one or more modifications or updates to the plurality of files are synchronized at the user account of the system where a
user can manipulate content directly in a local folder, while a background process monitors the local folder for changes and
synchronizes those changes to the system and provides notifications of synchronization operations, and indications of content
statuses;

analyzing at least a portion of information associated with at least a subset of the plurality of files, the information including
a file type associated with each file in the subset, a number of times that each file in the subset has been accessed, a time
at which each file in the subset was most recently accessed, usage history data related to use of the subset of the plurality
of files by the user account, and content included in each file in the subset, wherein the subset is either an equal subset
or a strict subset, and wherein the subset includes files that have been accessed by the user account;

determining, based on the analysis, a first file type represented by a majority number of the files associated with the user
account; and

recommending at least one application from an application marketplace by causing the rendering of an image for the at least
one application based on the file type represented by the majority number of files associated with the user account, the at
least one application compatible with the first file type.

US Pat. No. 9,298,752

FACILITATING DATA MIGRATION BETWEEN DATABASE CLUSTERS WHILE THE DATABASE CONTINUES OPERATING

DROPBOX, INC., San Franc...

1. A method, comprising:
while a database continues to process live database traffic, performing the following operations:
receiving a request to migrate a set of data items from a source cluster in the database to a destination cluster in the database;
recording a current position in an operation log for the database, wherein the operation log records a sequential record of
operations that are applied to the source cluster subsequent to receiving the migration request;

copying the set of data items from the source cluster to the destination cluster in parallel with continuing to process live
database traffic for the set of data items at the source cluster;

applying a sequence of updates, starting from the recorded position in the operation log, to the set of data items that was
copied to the destination cluster; and

after the sequence of updates is applied, performing a cut-over operation that diverts the live database traffic for the set
of data items to the destination cluster, wherein prior to the cut-over operation the source cluster continues to directly
receive and handle requests for the set of data items, wherein subsequent to the cut-over operation live database traffic
for the set of data items is diverted to the destination cluster.

US Pat. No. 9,684,499

SYSTEMS AND METHODS FOR FACILITATING INSTALLATION OF SOFTWARE APPLICATIONS

Dropbox, Inc., San Franc...

1. A system comprising:
a communications component at an online content management system configured to communicate with external devices; and
a processor configured to:
receive, at the online content management system, from a client application of a software provider that is installed on a
mobile device, a request to install a corresponding software application of the software provider on a computing device;

determine that a predefined data is to be provided to the mobile device, wherein the predefined data includes a unique code
and metadata that identifies a user account associated with a user of the mobile device;

determine that the predefined data is to be provided to the computing device;
direct the communications component to transmit the predefined data to the computing device;
direct the communications component to transmit the predefined data to the mobile device;
receive, at the online content management system via the client application on the mobile device, at least a portion of the
predefined data from the computing device;

receive, from the mobile device, information indicative that at least a second portion of the predefined data has been acquired
by the mobile device, wherein the predefined data has been acquired wirelessly from the computing device;

query, via the communications component, the mobile device for a status between the mobile device and computing device;
receive, at the online content management system, the status from the mobile device;
provide, via the communications component, an installer of the corresponding software application to the computing device
based on the status; and

communicate, via the communications component, with the mobile device, such that the mobile device serves as a guide to installing
the corresponding software application on the computing device.

US Pat. No. 9,319,400

SHARABLE CONTENT ITEM LINKS WITH USE RESTRICTIONS

Dropbox, Inc., San Franc...

1. A method for sharing a server-stored content item, comprising:
receiving, from a client computing device used by an authenticated link submitter, a first request to access a server-stored
content item at a sharable link;

wherein the link submitter is authenticated according to a first authentication factor;
determining, based on a first use restriction of a plurality of use restrictions specific to the sharable link, that a second
authentication factor specific to the sharable link is required from the link submitter to access the server-stored content
item at the sharable link;

determining, based on a second use restriction of the plurality of use restrictions specific to the sharable link, that the
link submitter is required to belong to a set of one or more users specified as part of the second use restriction in order
to access the server-stored content item at the sharable link;

responsive to receiving the first request, verifying the link submitter is one of the set of one or more users specified as
part of the second use restriction specific to the sharable link; and prompting the link submitter to enter/submit the second
authentication factor; and

allowing access to the server-stored content item at the sharable link by the link submitter if the link submitter is one
of the set of one or more users specified as part of the second use restriction specific to the sharable link and responsive
to receiving the second authentication factor from the link submitter;

wherein the method is performed by one or more computing devices.

US Pat. No. 9,582,545

SYSTEMS AND METHODS FOR OPTIMIZING FILE DISPLAY FOR USERS

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
providing, by a processor, to one or more users, access to one or more files, in a shared content management system in an
account associated with a particular user of the one or more users, wherein the one or more files are shared with the particular
user and the one or more files having one or more attributes;

receiving, by a processor at the shared content management system, from a local client application associated with the shared
content management system on a device associated with the particular user, a request to display the one or more files;

in response to the request, dynamically determining a ranking technique, by a processor at the shared content management system,
to rank the one or more files utilizing attributes including, an amount of time that a particular file is accessed by a specific
user and an amount of time that the particular file is accessed by all users, and a received user ranking;

in response to the determination, automatically ranking the files in a ranked order using the determined ranking technique;
and

sending the automatic ranking from the shared content management system to the local client application on the device associated
with the particular user, wherein the local client application processes the automatic ranking, thereby allowing the particular
user to view the one or more files in the ranked order.

US Pat. No. 9,451,022

LOCAL SERVER FOR SYNCED ONLINE CONTENT MANAGEMENT SYSTEM

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
executing, on a client device, a client-side application configured to synchronize at least one content item between the client
device and an online content management system;

executing, on the client device, a local web server accessible via a web browser on the client device and configured to communicate
with the client-side application to interact with synchronized content items stored locally on the client device;

detecting, via the web browser, a request to open a content item;
sending, simultaneously, via the web browser:
a request to the online content management system to access a copy of the content item stored on the online management system,
and

a request to the local web server to access a copy of the content item stored locally on the client device;
in the event the online content management system responds first, displaying via the web browser, the copy of the content
item stored on the online content management system; and

in the event the local web server responds first, displaying via a native application on the client device the copy of the
content item stored locally on the client device.

US Pat. No. 9,354,796

REFERRAL SLIDER

DROPBOX, INC., San Franc...

1. A method for displaying potential incentives to a user, comprising:
at one or more computing devices comprising one or more processors and memory storing one or more computer programs executed
by the one or more processors to perform the method, performing operations comprising:

obtaining contact information for a first contact associated with the user;
determining, prior to sending a first referral request to the first contact, a first amount of additional storage space available
to the user subject to at least the conditions of: (a) the user approving sending the first referral request to the first
contact, and (b) acceptance of the first referral request by the first contact;

displaying a graphic indicator to the user indicating the first amount of additional storage;
obtaining contact information for a second contact associated with the user;
responsive to obtaining the contact information for the second contact, determining a second amount of additional storage
space available to the user subject to at least the conditions of: (c) the user approving sending a second referral request
to the second contact, and (d) acceptance of the second referral request by the second contact;

responsive to obtaining the contact information for the second contact, updating the graphic indicator to indicate the second
amount of additional storage space.

US Pat. No. 9,350,774

AUTOMATIC SHARING OF DIGITAL MULTIMEDIA

Dropbox, Inc., San Franc...

1. A portable electronic device comprising:
one or more processors;
a camera module operatively coupled to the one or more processors;
one or more computer-readable media operatively coupled to the one or more processors;
one or more computer programs stored on the one or more computer-readable media for execution by the one or more processors,
the one or more computer programs comprising instructions or sets of instructions for:

obtaining factor data affecting a decision on whether or not to enter a digital multimedia sharing mode for an event or meeting,
the event or meeting involving one or more participants;

obtaining calendar entry data stored in a calendar database and representing the event or meeting;
entering the digital multimedia sharing mode based on determining that the calendar entry data satisfies the factor data;
responsive to entering the digital multimedia sharing mode, designating a particular file system container, in a file system
at the portable electronic device, to store digital multimedia for the event or meeting so as to segregate the digital multimedia
for the event or meeting from other digital multimedia stored in the file system;

while in the digital multimedia sharing mode, storing digital photograph data produced by the camera module in the particular
file system container designated to store the digital multimedia for the event or meeting;

while not in the digital multimedia sharing mode, allowing other digital photograph data produced by the camera module to
be stored in a file system container, in the file system, other than the particular file system container;

obtaining participant data for the event or meeting from the calendar entry data, the participant data indicating the one
or more participants;

automatically making the digital photograph data in the particular file system container available to the one or more participants
based on the participant data; and

wherein the instructions or sets of instructions for automatically making the digital photograph data available to the one
or more participants comprise:

instructions or sets of instructions for automatically uploading the digital photograph data stored in the particular file
system container to a content item management server system for storage in a server-side content item container maintained
by the content item management server system, and

instructions or sets of instructions for a) for at least one participant of the one or more participants, automatically causing
a client device of the at least one participant to download the digital photograph data stored in the server-side content
item container from the content item management server system to the client device of the at least one participant, or b)
automatically requesting the content item management server system to generate a shareable link to the server-side content
item container.

US Pat. No. 9,215,242

METHODS AND SYSTEMS FOR PREVENTING UNAUTHORIZED ACQUISITION OF USER INFORMATION

Dropbox, Inc., San Franc...

1. A computer-implemented method for detecting a phishing attack by a referring website, the method comprising:
identifying a referral from a referring site to a destination site, where the referral is listed in a referrer field within
a HyperText Transfer Protocol (HTTP) communication;

obtaining information from, or relating to, the identified referring site;
determining whether the referring site is a phishing site based on the obtained information; and
providing a warning indicating that the referring site is a phishing site when it has been determined that the referring site
is a phishing site,

wherein the step of obtaining information from, or relating to, the referring site is performed by at least one server associated
with the destination site.

US Pat. No. 9,514,123

MULTI-USER SEARCH SYSTEM WITH METHODOLOGY FOR INSTANT INDEXING

Dropbox, Inc., San Franc...

1. A system comprising:
one or more hardware processors;
a token store storing a set of tokens for a current version of a document;
a tokenizer server configured to tokenize, via at least one of the hardware processors, a new version of the document and
to generate, via at least one of the hardware processors, a set of tokens for the new version of the document;

an instant indexer server configured to determine, via at least one of the hardware processors, one or more tokens to use
to index the document based on identified differences between the set of tokens for the new version of the document and the
set of tokens for the current version of the document, and to generate, via at least one of the hardware processors, an index
mutation comprising the one or more tokens to use to index the document;

an index mutation journal configured to store the generated index mutation in association with a timestamp;
an index mutation server configured to provide, via at least one of the hardware processors, from the generated index mutation,
to an index server, the one or more tokens to use to index the document, if the timestamp associated with the generated index
mutation in the index mutation journal is newer than a timestamp specified by the index server;

the index server configured to receive, via at least one of the hardware processors, from the index mutation server, the one
or more tokens to use to index the document, and configured to update an index of a plurality of documents at the index server
to index the document by the one or more tokens to use to index the document; and

wherein, at a time prior to the update, the index at the index server indexes the plurality of documents but does not index
the document by the one or more tokens to use to index the document.

US Pat. No. 9,298,439

SYSTEM AND METHOD FOR INSTALLING A CLIENT APPLICATION USING A LIGHT INSTALLER

Dropbox, Inc., San Franc...

1. A method comprising:
receiving, by a processor, an installation request from a client device to install a client-side application on the client
device;

determining, by the processor, whether the client device is associated with an existing user account by determining whether
the client device is logged into a user account when the installation request was received from the client device; and when
the client device is currently logged into a user account, determining that the user account is an existing user account associated
with the client device;

when the client device is associated with an existing user account, tagging, by the processor, a light installer with an account
identifier identifying the existing user account associated with the client device and tagging, by the processor, a device
identifier identifying the client device, wherein the light installer is configured to:

prompt a user for user data and authorization necessary to complete installation of the client-side application, and
download and install the client-side application on the client device;
transmitting, by the processor, the light installer tagged with the account identifier and the device identifier to the client
device;

receiving, from a requesting client device, a pre-authorization request, the pre-authorization request including the account
identifier tagged to the light installer;

determining whether the requesting client device from which the pre-authorization request was received is the client device
that originally received the light installer by comparing the device identifier tagged to the light installer to a second
device identifier identifying the requesting client device; and when the device identifier tagged to the light installer matches
the second device identifier identifying the requesting client, determining that the requesting client device from which the
pre-authorization request was received is the client device that originally received the light installer; and

when the requesting client device is the client device that originally received the light installer, granting the pre-authorization
request.

US Pat. No. 9,246,875

IDENTIFYING AND BLOCKING PROHIBITED CONTENT ITEMS IN A CONTENT MANAGEMENT SYSTEM

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
storing, by a computing device, an assignment blacklist and a sharing blacklist, the assignment blacklist including fingerprints
identifying content items that are prohibited from being assigned to a user account, the sharing blacklist identifying content
items that are prohibited from being shared from a user account;

receiving a content item request associated with a first content item;
determining a request type corresponding to the first content item request, where the request type is an assignment request
or a share request, wherein the assignment request is a request to assign the first content item to a particular user account,
wherein the share request is a request to share the first content item from the particular user account;

generating, by the computing device, a first content item fingerprint from the first content item, the first content item
fingerprint identifying the first content item;

selecting the assignment blacklist when the request type is an assignment request;
selecting the sharing blacklist when the request type is a share request;
determining that the first content item fingerprint is included in the selected blacklist; and
denying the content item request when the first content item fingerprint is included in the selected blacklist.

US Pat. No. 9,197,590

DYNAMIC FILTER GENERATION FOR MESSAGE MANAGEMENT SYSTEMS

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
receiving, at a message management service, a plurality of messages for a user, the plurality of messages including messages
received for the user at a respective user account maintained by each of a plurality of message service providers;

analyzing, by the message management service, a plurality of event records for the user, each event record including a set
of message features of a different one of the plurality of messages and event information indicating an action taken by the
user on the message, to detect a correlation between a first triggering condition based at least in part on one of the message
features and a first resulting action that is taken by the user on at least a minimum fraction of messages satisfying the
first triggering condition, wherein the first resulting action includes deferring messages satisfying the first triggering
condition until the user is at a particular location;

generating, by the message management service, based on the analysis, a first suggested rule to automatically perform the
first resulting action on future messages satisfying the first triggering condition;

obtaining from a client device associated with the user, by the message management service, a user confirmation that the first
suggested rule should be accepted; and

in response to the user confirmation, adding, by the message management service, the first suggested rule to a set of established
rules to be automatically applied to messages received for the user.

US Pat. No. 9,152,646

ORDERING CONTENT ITEMS

Dropbox, Inc., San Franc...

1. A computer implemented method comprising:
identifying at least a first content item associated with a first metadata creation time and a second content item associated
with the same metadata creation time;

comparing, via a processor, a first file system modification time associated with the first content item to a second file
system modification time associated with the second content item;

when the first file system modification time is earlier in time than the second file system modification time, determining
that the first content item was created before the second content item; and

transmitting the first content item and the second content item to a content management system over a network.

US Pat. No. 10,089,346

TECHNIQUES FOR COLLAPSING VIEWS OF CONTENT ITEMS IN A GRAPHICAL USER INTERFACE

DROPBOX, INC., San Franc...

1. A method comprising:identifying, by an online content management service, a content item characteristic for each content item in a plurality of content items;
determining, by the online management service, a subset of content items in the plurality of content items based on the content item characteristic;
receiving, by the online management service, a request for an aggregate view of the plurality of content items;
identifying a representative content item from the subset of content items to represent the subset of content items within the aggregate view;
causing, by the online management service, the aggregate view to be displayed on a client device, wherein the subset of content items is collapsed into the representative content item within the aggregate view;
receiving, by the online management service, an indication of a selection of the representative content item; and
in response to receiving the indication of the selection, causing, by the online management service, multiple content items of the subset of content items to be displayed on the client device with an indicator identifying the representative content item.

US Pat. No. 9,811,245

SYSTEMS AND METHODS FOR DISPLAYING AN IMAGE CAPTURING MODE AND A CONTENT VIEWING MODE

DROPBOX, INC., San Franc...

1. A method, comprising:
receiving at least one live image from an image capturing component on a user device;
displaying a user interface including the at least one live image in a full screen presentation mode within a display interface
of the user device;

detecting a first gesture with the display interface; and
displaying, in response to the first gesture:
a plurality of collections of content items within a first region of the user interface, wherein displaying each collection
of content items of the plurality of collections of content items comprises presenting a single icon that represents multiple
content items; and

the at least one live image in a partial screen presentation mode within a second region of the user interface;
detecting a second gesture with the display interface, the second gesture capturing one or more of: a first image, a first
set of continuous images, or a first video from the received at least one live image; and

placing the one or more of the first image, the first set of continuous images, or the first video in a collection of content
items of the plurality of collections of content items.

US Pat. No. 9,530,075

PRESENTATION AND ORGANIZATION OF CONTENT

Dropbox, Inc., San Franc...

1. A method comprising:
at one or more computing devices comprising one or more processors and memory storing one or more computer programs executed
to perform the method, performing operations comprising:

obtaining a first plurality of digital images clustered into a first cluster, the first cluster associated with a first numeric
representation representing one or more similarities identified among at least two digital images of the first plurality of
digital images;

obtaining a second plurality of digital images clustered into a second cluster, the second cluster associated with a second
numeric representation representing one or more similarities identified among at least two digital images of the second plurality
of digital images;

determining a cluster link density based at least upon the first numeric representation and the second numeric representation,
the cluster link density representing one or more similarities identified among the first plurality of digital images and
the second plurality of digital images;

based on the cluster link density, forming a merged cluster by merging the first cluster and the second cluster; and
storing, in the memory, data identifying the first plurality of digital images and the second plurality of digital images
in the merged cluster.

US Pat. No. 9,509,747

CONTENT ITEM SYNCHRONIZATION BY BLOCK

DROPBOX, INC., San Franc...

1. A method comprising:
receiving, at an online content management system from a remote uploading client computer via a network, a blocklist of block
identifiers for a content item and a first block corresponding to a first block identifier in the blocklist; and

responsive to receiving the blocklist of block identifiers and the first block at the online content management system, synchronizing,
by the online content management system, the content item with another client computer prior to receipt by the online content
management system from the remote uploading client of all blocks corresponding to the blocklist of block identifiers, the
synchronizing including:

identifying, by the online content management system, a remote receiving client computer to receive the content item, the
remote receiving client computer synchronizing content items with the online content management system; and

transmitting, by the content management system, the blocklist and the first block to the remote receiving client computer
via the network.

US Pat. No. 9,298,391

APPLICATION PROGRAMMING INTERFACES FOR DATA SYNCHRONIZATION WITH ONLINE STORAGE SYSTEMS

DROPBOX, INC., San Franc...

1. A computer-implemented method for managing access to data associated with an online storage system, comprising:
enabling synchronization of the data between an electronic device and the online storage system, wherein changes to the data
are automatically synchronized between the electronic device and the online storage system, wherein an application programming
interface (API) facilitates determining a synchronization state for the data, wherein the synchronization state comprises
at least one of a download state, an upload state, an idle state, a transfer progress, a cached state, and an error state;

receiving a request to access the data;
using the API to determine the synchronization state for the data; and
determining from the synchronization state that the requested data is presently being synchronized between the electronic
device and the online storage system.

US Pat. No. 9,203,926

SYSTEM AND METHOD OF CREATING UNIQUE PROFILES ON A SOCIAL NETWORKING SITE

DROPBOX, INC., San Franc...

1. A computer-implemented method of providing a user of a social networking site the ability to create a unique profile for
each group the user is a member of, comprising the steps of:
receiving, from a first user, a request to form a first group,in response to the request, forming, by at least one processor, a first group on the social networking site that allows users
of the social networking site to join the first group;
enabling, by the at least one processor, the creation of a first member profile template that is unique to the first group;
receiving, from a second user, a request to form a second group, in response to the request, forming, by at least one processor,
a second group that allows users of the social media site to join the second group; and

enabling the creation of a second member profile template that is unique to the second group;
in response to a third user joining the first group, enabling the creation of a first profile based on the first member profile
template; and

in response to the third user joining the second group, enabling the creation of a second profile based on the second member
profile template,

wherein the first profile differs from the second profile.

US Pat. No. 10,001,913

SHARED WORKSPACES WITH SELECTIVE CONTENT ITEM SYNCHRONIZATION

Dropbox, Inc., San Franc...

1. A method for providing shared content item workspaces with selective content item synchronization, the method comprising:at a personal computing device comprising one or more processors and storage media storing one or more computer programs executed by the one or more processors to perform the method, performing operations comprising:
upon the personal computing device joining a shared workspace accessible by a user account held with a content management system, downloading metadata to the personal computing device from a control server of the content management system, the metadata pertaining to the shared workspace, the shared workspace associated with a first one or more content items and associated with a second plurality of content items, the metadata specifying that the first one or more content items are configured for offline access and specifying that the second plurality of content items are configured for cloud access;
upon the personal computing device joining the shared workspace, downloading one or more content item blocks of the first one or more content items configured for offline access to the personal computing device from a content item server associated with the content management system;
responsive to an activation of an actionable shared workspace launcher icon for the shared workspace, displaying, within a file system browser window provided by an operating system of the personal computing device, a corresponding actionable file system browser icon for each of the first one or more content items and for each of the second plurality of content items, the corresponding actionable file system browser icon for each of the first one or more content items visibly indicating that the content item is configured for offline access, the corresponding actionable file system browser icon for each of the second plurality of content items visibly indicating that the content item is configured for cloud access;
responsive to an activation of the corresponding actionable file system browser icon for a particular content item of the second plurality of content items, the activation to open the particular content item: (a) downloading one or more content item blocks of the particular content item from a content item server associated with the content management system, (b) storing the one or more content item blocks of the particular content item at the personal computing device, and (c) updating display of the corresponding actionable file system browser icon for the particular content item to visibly indicate that the particular content item is no longer configured for cloud access at the personal computing device and to visibly indicate that the particular content item is currently configured for offline access at the personal computing device;
responsive to determining that an amount of a local storage space at the personal computing device occupied by content items in the shared workspace that are configured for offline access exceeds a threshold, prompting a user of the personal computing device to configure one or more of the content items in the shared workspace for cloud access;
responsive to the user configuring one or more of the content items in the shared workspace for cloud access, removing the one or more content items the user configured for cloud access from the local storage space at the personal computing device; and
updating display of a corresponding actionable file system browser icon for each the one or more content items removed.

US Pat. No. 9,910,973

FINGERPRINT GESTURES

Dropbox, Inc., San Franc...

1. A device comprising:
one or more fingerprint sensor regions; and
one or more processors coupled to the one or more fingerprint sensor regions, the one or more processors configured to:
receive, using at least one of the one or more fingerprint sensor regions, a sequence of fingerprint gestures, each fingerprint
gesture, of the sequence of fingerprint gestures, including a touch by at least one finger on at least one fingerprint sensor
region of the one or more fingerprint sensor regions;

determine, based on the sequence of fingerprint gestures, an input passcode sequence comprising a plurality of finger identifiers
and corresponding touch locations, the input passcode sequence comprising a plurality of sequence elements, each sequence
element of the plurality of sequence elements comprising one or more finger identifiers of the plurality of finger identifiers
and one or more corresponding touch locations of the corresponding touch locations;

determine that the input passcode sequence matches a passcode sequence corresponding to a function of the device; and
perform, based at least in part on a determination that the input passcode sequence matches the passcode sequence corresponding
to the function of the device, operations corresponding to the function of the device.

US Pat. No. 9,813,393

SYSTEM AND METHOD FOR CLIENT-SIDE ANALYTIC DATA COLLECTION

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
at a portable computing device comprising one or more processors and non-volatile memory:
storing a log file in the non-volatile memory;
storing a log sequence number in the log file;
obtaining event information reflecting runtime behavior of an application executing on the portable computing device;
cryptographically encrypting the event information;
storing the encrypted event information in the log file in the non-volatile memory;
decrypting the encrypted event information;
compressing the event information;
cryptographically encrypting the compressed event information;
storing the encrypted compressed event information in the non-volatile memory;
decrypting the encrypted compressed event information; and
sending the log sequence number and the decrypted compressed event information to a server over a data network, the log sequence
number and the decrypted compressed event information encapsulated in a cryptographically secured network data stream when
sent over the data network to the server.

US Pat. No. 9,613,047

AUTOMATIC CONTENT ITEM UPLOAD

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
creating, by a processor, a unique local identifier that identifies a first content item, wherein the unique local identifier
is created from metadata associated with the first content item;

upon a determination that the unique local identifier does not exist in a local update index, wherein the local update index
identifies each content item uploaded to an online content management system by a client device, creating, by the processor,
a unique server identifier that identifies the first content item, wherein the unique server identifier is created from a
hash output resulting from inputting at least a portion of the first content item in a hashing algorithm, wherein the unique
server identifier is different than the unique local identifier; and

upon a determination that the unique server identifier does not exist in a server upload index, wherein the server upload
index identifies the content items stored in the online content management system, uploading, by the processor, the first
content item to the online content management system.

US Pat. No. 9,479,567

SYNCHRONIZATION PROTOCOL FOR MULTI-PREMISES HOSTING OF DIGITAL CONTENT ITEMS

Dropbox, Inc., San Franc...

1. A method, comprising:
at a computing device comprising one or more processors and storage media storing one or more computer programs executed by
the one or more processors to perform the method, performing operations comprising:

detecting creation or modification of a content item;
determining a content item namespace to which the content item belongs;
obtaining an identifier of a block server to which the content item namespace is assigned;
uploading any content item blocks of the content item to the block server that are not already stored at the block server;
determining a current client journal cursor value, the current client journal cursor value representing how up-to-date the
content item namespace mounted at the computing device is with respect to any newer content item changes in the content item
namespace that are committed to an online content management service and uploaded to the block server to which the content
item namespace is assigned;

providing, to a server, the current client journal cursor value in association with an identifier of the content item namespace
and an identifier of the block server to which the content item namespace is assigned;

receiving, from the server, a list of one or more server journal entries, each server journal entry in the list identifying
one or more content item blocks of a content item represented by the server journal entry, each server journal entry in the
list having a server journal cursor value that is greater than the current client journal cursor value of the computing device;
and
for each server journal entry in the list of one or more server journal entries, downloading, from the block server, any content
item blocks of the content item represented by the server journal entry that are not already stored at the computing device.

US Pat. No. 9,450,904

COORDINATED NOTIFICATIONS ACROSS MULTIPLE CHANNELS

DROPBOX, INC., San Franc...

1. A method of notifying a target user of an event, the method comprising:
receiving, by a server system, event data, the event data identifying a target user;
generating, by the server system, at least a first notification and a second notification for the target user in response
to the event data;

sending, by the server system, the first notification to the target user via a first notification channel;
queuing, by the server system, the second notification in a queue, the queuing being performed at a start time;
determining, by the server system, whether a hold time has elapsed since the start time;
after the hold time has elapsed, determining, by the server system, whether the target user has acted on the first notification;
in the event that the target user has not acted on the first notification, sending the second notification to the target user
via a second notification channel, the second notification channel being different from the first notification channel; and

in the event that the target user has acted on the first notification, removing the second notification from the queue.

US Pat. No. 9,141,811

COERCED ENCRYPTION ON CONNECTED DEVICES

Dropbox, Inc., San Franc...

1. One or more computing devices, comprising:
one or more processors;
memory; and
one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or
more processors, the one or more programs including instructions for:

receiving, from a personal computing device having a storage device, an indication of whether at least a portion of the storage
device is protected by disk encryption;

wherein the portion of the storage device stores one or more synchronized content items;
determining, based on the indication, whether synchronization data for synchronizing the one or more synchronized content
items stored in the portion of the storage device with one or more synchronized content items stored on one or more server
computing devices should be withheld from the personal computing device;

if the synchronization data should be withheld, then
withholding the synchronization data from the personal computing device, and sending data to the personal computing device
instructing a user of the personal computing device how to enable disk encryption for at least the portion of the storage
device; and

if the synchronization data should not be withheld, then sending the synchronization data to the personal computing device
after any other conditions on sending the synchronization data to the personal computing device have been met.

US Pat. No. 9,571,573

PEER-TO-PEER SYNCHRONIZATION PROTOCOL FOR MULTI-PREMISES HOSTING OF DIGITAL CONTENT ITEMS

Dropbox, Inc., San Franc...

1. A method, comprising:
at a computing device comprising one or more processors and memory storing one or more computer programs executed by the one
or more processors to perform the method, performing operations comprising:

receiving, from a peer computing device, a peer download advertisement, the peer download advertisement comprising an identifier
of a content item namespace in association with a peer client journal cursor value;

wherein the computing device receives the peer download advertisement from the peer computing device over a data network either
(a) in one or more user datagram packets (UDP) sent over the data network by the peer computing device, or (b) over a transmission
control protocol (TCP) connection established over the data network between the computing device and the peer computing device;

receiving, from a server, one or more server journal entries, each server journal entry, of the one or more server journal
entries, identifying one or more content item blocks of a content item represented by the server journal entry, each server
journal entry of the one or more server journal entries having a server journal cursor value; and

for at least one server journal entry of the one or more server journal entries, determining, based on the one or more identified
content item blocks of the content item represented by the server journal entry, that at least one content item block of the
content item represented by the server journal entry is not stored at the computing device, and downloading, from the peer
computing device, at least one content item block of the content item represented by the server journal entry that is not
already stored at the computing device.

US Pat. No. 9,535,883

MODIFYING NATIVE DOCUMENT COMMENTS IN A PREVIEW

Dropbox, Inc., San Franc...

1. A method comprising:
receiving a request from a client device for a preview of a native document, the preview representing the native document
in a file format other than the file format of the native document;

inserting, by a document mapping module in the native document prior to rendering a preview, a set of unique links comprising
a uniform resource locator (URL) and each unique link associated with a different word in the native document;

rendering, by a document rendering module, the native document into a preview of the native document and thereby generating
a bounding area for each of the unique links in the set of unique links, the bounding area mapping a page and pixel location
on the preview to the word in the native document associated with the unique link; and

providing the preview to the client device for display.

US Pat. No. 9,497,253

AUTHORIZATION REVIEW SYSTEM

Dropbox, Inc., San Franc...

1. A method comprising:
receiving, by a computer system from a requester, a first Hypertext Transfer Protocol (HTTP) request to invoke an operation
of an application;

detecting, by the computer system, that a review tag is associated with the operation;
based on detecting the review tag, stopping an execution of the first HTTP request before the execution invokes the operation
of the application;

determining, by the computer system, a review method associated with the review tag;
saving, by the computer system, information for the first HTTP request, the saved information for the first HTTP request including
a state of the first HTTP request, the state including one or more attributes of the first HTTP request;

invoking, by the computer system, the review method, the review method including providing the saved information to a reviewer;
receiving, by the computer system, input corresponding to an approval or a rejection of the first HTTP request by the reviewer;
and

upon determining, by the computer system, that the received input corresponds to the approval of the first HTTP request:
generating, by the computer system, a new HTTP request to invoke the operation of the application using the saved information
for the first HTTP request; and

allowing, by the computer system, the new HTTP request to be executed and invoke the operation of the application.

US Pat. No. 9,465,877

GLOBALLY UNIQUE IDENTIFIERS IN AN ONLINE CONTENT MANAGEMENT SYSTEM

Dropbox, Inc., San Franc...

1. A system comprising:
a processor; and
a computer-readable storage medium having stored therein processor-executable instructions for causing the processor to:
generate, for a content item, a globally unique identifier, wherein the globally unique identifier is unique within a multi-user
network-based content management environment;

associate the globally unique identifier with data that identifies: the content item, a location of the content item within
the multi-user network-based content management environment, and at least one user account authorized to access to the content
item;

propagate the globally unique identifier to at least one client device associated with at least one authorized user account;
and

responsive to a request identifying the globally unique identifier from an authorized user account, providing to a client
device associated with the authorized user account at least one of the content item, a revision of the content item, the location,
an attribute of the content item, or metadata associated with the content item.

US Pat. No. 9,465,930

FINGERPRINT GESTURES

Dropbox, Inc., San Franc...

11. A method comprising:
receiving a first set of fingerprint gestures, the first set of fingerprint gestures including one or more fingerprint gestures,
wherein each fingerprint gesture in the first set of one or more fingerprint gestures includes a touch by at least one finger
on at least one fingerprint sensor region of a user device;

determining, based on the first set of one or more fingerprint gestures, a first set of one or more finger identifiers and
corresponding one or more touch locations, wherein each finger identifier, in the first set of one or more finger identifiers
and corresponding one or more touch locations, indicates a specific one of a plurality of registered fingerprints that touched
a fingerprint sensor region of the user device at the touch location in the first set corresponding to the each finger identifier;

determining whether the first set of one or more finger identifiers and corresponding one or more touch locations matches
a first valid passcode for a first user;

receiving a second set of fingerprint gestures, the second set of fingerprint gestures including one or more fingerprint gestures,
wherein each fingerprint gesture in the second set of one or more fingerprint gestures includes a touch by at least one finger
on at least one fingerprint sensor region of the user device;

determining, based on the second set of one or more fingerprint gestures, a second set of one or more finger identifiers and
corresponding one or more touch locations;

determining whether the second set of one or more finger identifiers and corresponding one or more touch locations matches
a second valid passcode for a second user other than the first user; and

granting or denying access to a protected function of the user device based at least in part on whether the first set of one
or more finger identifiers and corresponding one or more touch locations matches the first valid passcode and whether the
second set of one or more finger identifiers and corresponding one or more touch locations matches the second valid passcode.

US Pat. No. 9,348,836

DETERMINING A PREFERRED MODIFIED VERSION FROM AMONG MULTIPLE MODIFIED VERSIONS FOR SYNCHRONIZED FILES

Dropbox, Inc., San Franc...

1. A method comprising:
receiving notification of a first user-modified version of a file at a synchronized file system;
receiving notification of a second user-modified version of the file at the synchronized file system;
determining, by a software module of the synchronized file system, a preferred version of the file from among the first and
second user-modified versions of the file according to change management rules, wherein the change management rules specify
which user-modified version of the file is the preferred version based on at least one respective attribute of the first and
second modified versions, wherein the at least one respective attribute is selected from a group consisting of type of client
device that generated the versions, geocoded information associated with the versions, quantity of edits in the versions,
and file type of the versions, and wherein the other modified version is non-preferred; and

supplying the preferred version of the file, the non-preferred version of the file, and an indication of the preferred version
to an edit-merge tool for merging edits of the two versions to produce an updated version of the user-generated file.

US Pat. No. 10,089,479

COLLECTION FOLDER FOR COLLECTING FILE SUBMISSIONS FROM AUTHENTICATED SUBMITTERS

DROPBOX, INC., San Franc...

1. A computer implemented method comprising:receiving, by a content management system, a collection request associated with a collector account to generate a file request comprising a collection folder and one or more links, wherein the file request is used to collect files from one or more submitters;
providing, to a user associated with the collector account, one or more prompts for providing role setting preferences;
generating the one or more links and the collection folder using the role setting preferences received in response to the one or more prompts, the role setting preferences comprising a view-only right, a submit-only right, and a limited view-submit right;
distributing a generated link from the one or more links to one or more submitters from a plurality of submitters, wherein the generated link is specific to a unique set of role setting preferences;
receiving one or more files in response to the generated link from the one or more submitters;
authenticating at least one submitter from the one or more submitters;
in response to authenticating the at least one submitter; storing one or more files received from the at least one submitter in the collection folder; and
providing the at least one submitter access rights to the collection folder based on the unique set of role setting preferences;
wherein:
the view-only right permits viewing the collection folder and prohibits submitting files to the collection folder;
the submit-only right permits submitting files to the collection folder and prohibits viewing files in the collection folder; and
the limited view-submit right permits a submitter to submit the files to the collection folder, permits the submitter to view the files from the submitter, and prohibits the submitter from viewing files submitted by other submitters.

US Pat. No. 9,894,162

COMMUNICATION PROTOCOLS FOR AN ONLINE CONTENT MANAGEMENT SYSTEM

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
receiving, by a client application at a client device, from a browser application at the client device, a first message comprising
a unique identifier, wherein the unique identifier corresponds to an active browser session of the browser application at
a website associated with a content management system, wherein the active browser session is for synchronizing content between
the client device and the content management system via a web interface associated with the content management system;

extracting, by the client application, the unique identifier from the first message;
establishing an application session between the client application and the content management system by sending, from the
client application to the content management system, a second message comprising the unique identifier, wherein the application
session is for synchronizing content between the client device and the content management system via an application programming
interface; and

receiving, by the client application via the application session, a third message relayed by the content management system
from the website, wherein the third message is associated with the unique identifier that corresponds to the active browser
session.

US Pat. No. 9,401,959

NETWORK FOLDER RESYNCHRONIZATION

Dropbox, Inc., San Franc...

1. A method comprising:
creating new metadata for locally stored synchronized files;
for each of the synchronized files, comparing the new metadata to stored metadata;
responsive to the new metadata and the stored metadata matching:
retrieving, from a resynchronization database, stored hashes corresponding to the synchronized file; and
storing the retrieved hashes and the new metadata in a metadata database; and
responsive to the new metadata and the stored metadata not matching:
creating hashes for the synchronized file; and
storing the created hashes and the new metadata in the metadata database.

US Pat. No. 9,130,922

USING A SESSION CONTINUITY TOKEN TO ACCESS AN ONLINE CONTENT MANAGEMENT SYSTEM

DROPBOX, INC., San Franc...

19. A computer-implemented method for allowing access to a content management system through different instances of an application,
the method comprising:
receiving, at a content management system from a third-party server, a request from a third party application to access an
account on the content management system;

in response to the request, facilitating authentication between a user associated with the account and the third-party server;
receiving a link request at the content management system to link an account at the third-party server with the account at
the content management system;

in response to the link request, sending a session continuity token to the third-party server;
receiving a subsequent request from the third party server to store data located at the third party server to the content
management system, wherein the subsequent request is initiated in response to a store request initiated by a second instance
of the third party application, wherein the second instance of the third party application executes on at least one of a different
browser or a different device than the first instance of the third party application, wherein the subsequent request includes
the data to be stored and the session continuity token;

using the session continuity token to authenticate access to the account at the content management system; and
storing the data from the third party server to the account;
wherein the third party server subsequently receives a termination request to terminate access to the account at the content
management system; and

wherein, in response to the termination request, the third party server initiates the invalidation of the session continuity
token.

US Pat. No. 10,108,787

VIEW-BASED EXPIRATION OF SHARED CONTENT

Dropbox, Inc., San Franc...

1. A method, comprising:at one or more computing devices comprising one or more processors and memory storing one or more computer programs executed by the one or more processors to perform the method, performing operations comprising:
receiving, over a data network, a request to create a shared link to a server-stored content item;
creating the shared link based on the receiving the request to create the shared link;
associating an access counter with the shared link;
receiving, over a data network, a request to access the server-stored content item via the shared link, the request comprising a shared link to the server-stored content item, the request sent by a client device;
based on a current value of the access counter for the shared link, sending, over a data network, at least a portion of the server-stored content item for a presentation of at least the portion of the server-stored content item at the client device;
wherein the sending, over the data network, at least the portion of the server-stored content item for the presentation of at least the portion of the server-stored content item at the client device is based on a current value of the access counter being below a maximum number of authorized accesses for the shared link;
sending, from the one or more computing devices to the client device over a data network, instructions configured to verify a user interaction condition at the client device;
wherein the instructions are further configured to send, from the client device to the one or more computing devices over a data network, an acknowledgement, if the user interaction condition is verified;
wherein the user interaction condition is a user of the client device navigating the presentation of at least the portion of the server-stored content item with a navigating user input;
based on receiving the acknowledgement, incrementing the access counter for the shared link;
expiring the shared link upon based on a current value of the access counter no longer being below the maximum number of authorized accesses for the shared link;
based on receiving a request to access the server-stored content item via the shared link after a current value of the access counter is no longer below the maximum number of authorized accesses for the shared link, causing a client device to display a graphical user interface that indicates that the shared link is expired; and
while the shared link is not expired, providing, to a link sharer of the shared link, a separate notification each time the server-stored content item is accessed by a link recipient using the shared link.

US Pat. No. 9,871,751

DYNAMIC FILTER GENERATION FOR MESSAGE MANAGEMENT SYSTEMS

DROPBOX, INC., San Franc...

1. A computer implemented method comprising:
receiving, at a message management service, a plurality of messages for a user;
analyzing, by the message management service, a plurality of event records for the user, each event record including a set
of message features of a different one of the plurality of messages and event information indicating an action taken by the
user on the message, to detect a correlation between a first triggering condition based at least in part on one or more of
the message features and a first resulting action that is taken by the user on at least a minimum fraction of messages satisfying
the first triggering condition;

generating, by the message management service, based on the analysis, a first suggested rule to automatically perform the
first resulting action on future messages satisfying the first triggering condition;

sending, by the message management service, the first suggested rule to a client device associated with the user;
obtaining from the client device, by the message management service, event information indicating a user response to the first
suggested rule;

in the event that the user response indicates that the user accepted the first suggested rule, adding, by the message management
service, the first suggested rule to a set of established rules to be automatically applied to messages received for the user;
and

in the event that the user response indicates that the user has expressly rejected the first suggested rule, determining,
by the message management service, when to send the first suggested rule to the client device again at a later time based
on a new message that satisfies the first triggering condition based at least in part on the user response.

US Pat. No. 9,854,384

PROXIMITY BASED CONTENT SHARING

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
responsive to a receiving device of a receiving user being within a limited broadcast range of a sharing device, receiving,
by the receiving device, a notification broadcast by the sharing device based on a sharing user requesting to share a content
item, the notification broadcast by the sharing device without using contact information of the receiving device or the receiving
user to broadcast, the content item stored in a first namespace with a content management system, the content management system
being remote from the receiving device and the sharing device, the first namespace associated with the sharing user;

establishing, by the receiving device, a short-range connection with the sharing device based on the received notification;
receiving, by the receiving device from the sharing device via the short-range connection, an encrypted token comprising an
encrypted identifier for the content item, the encrypted token encrypted by the sharing device based on a password provided
by the sharing user to the sharing device;

responsive to receiving the encrypted token, prompting, by the receiving device, the receiving user to provide the password;
decrypting, by the receiving device, the encrypted token based on the password to generate a decrypted token, the decrypted
token comprising an unencrypted identifier for the content item; and

transmitting, by the receiving device to the content management system, the decrypted token and a request that the content
item be added to a second namespace with the content management system, the second namespace associated with the receiving
user of the receiving device, wherein the content item is accessible to the receiving device via the second namespace.

US Pat. No. 9,654,348

USER INTERFACE FOR MANAGING AND VIEWING SYNCHRONIZATION SETTINGS IN A SYNCHRONIZATION SYSTEM

Dropbox, Inc., San Franc...

1. A method on an electronic device for displaying settings for a user's account in a synchronization system, the method comprising:
providing a user interface on the electronic device that displays:
a column for each electronic device associated with the user's account in the synchronization system; and
a visual representation of each item added to the user's account, wherein each visual representation of an item is placed
in the column associated with the electronic device on which the item is located, wherein visual representations of items
that are synchronized with each other across a plurality of the electronic devices are aligned horizontally in the user interface
with each column being divided horizontally into a first section for displaying visual representations of items synchronized
across a plurality of the electronic devices and a second section for displaying visual representations of items that are
not synchronized across a plurality of the electronic devices.

US Pat. No. 9,442,944

CONTENT ITEM PURGING

Dropbox, Inc., San Franc...

1. A method of reclaiming storage space on a user device, comprising:
detecting a triggering event for reclaiming storage space on the user device;
determining an amount of storage space on the user device to be reclaimed; and
in response to detecting the triggering event:
identifying one or more content items stored on the user device that qualify for content item purging;
wherein a content item stored on the user device qualifies for content item purging only if the content item is previously
synchronized with a remote data store and is not modified at the user device since the content item was previously synchronized
with the remote data store;

wherein identifying the one or more content items that qualify for content item purging comprises determining that each of
the one or more identified content items is previously synchronized with the remote data store and is not modified at the
user device since the content item was previously synchronized with the remote data store;

determining whether deleting the one or more identified content items from the user device would reclaim at least the amount
of storage space on the user device;

deleting the one or more identified content items from the user device;
wherein deleting the one or more identified content items from the user device reclaims at least the amount of storage space
on the user device; and

wherein the method is performed by an electronic device.

US Pat. No. 9,424,328

TECHNIQUES FOR ADMINISTERING COMINGLED CONTENT ITEMS

Dropbox, Inc., San Franc...

1. A method comprising:
at a first time:
applying ownership identification criteria to a plurality of content items that are stored in a first synchronization replica
to automatically identify any of the plurality of content items that satisfy the ownership identification criteria;

based on automatically identifying one or more content items, of the plurality of content items, satisfying the ownership
identification criteria, automatically designating the one or more identified content items as owned by the first user;

wherein automatically designating the one or more identified content items as owned by the first user comprises associating
the one or more identified content items with ownership metadata indicating that the one or more identified content items
are owned by the first user;

wherein prior to automatically designating, the one or more identified content items were not associated with the ownership
metadata;

wherein a copy of the one or more content items, designated as owned by the first user, is stored in a second synchronization
replica, that is not the first synchronization replica, at a personal computing device of a second user that is not the first
user;

wherein, as a result of a synchronization process, the ownership metadata is replicated from the first synchronization replica
to the second synchronization replica;

at a second time that is after the first time:
applying the ownership identification criteria to a new content item added to the first synchronization replica to determine
if the new content item satisfies the ownership identification criteria;

based on determining that the new content item satisfies the ownership identification criteria, automatically designating
the new content item as owned by the first user;

wherein automatically designating the new content item as owned by the first user comprises associating the new content item
with other ownership metadata indicating that the new content item is owned by the first user;

wherein, as a result of a synchronization process, the new content item and the other ownership metadata is replicated from
the first synchronization replica to the second synchronization replica;

at a third time that is after the second time:
in response to a command, initiated by the first user, to delete, from the second synchronization replica, any content items
designated as owned by the first user, automatically sending an instruction, over a data network, to the personal computing
device of the second user to delete, from the second synchronization replica, any content items designated as owned by the
first user;

wherein, the personal computing device of the second user, in response to receiving the instruction, automatically deletes
the copy of the one or more content items and a copy of the new content item from the second synchronization replica; and

wherein the method is performed by one or more computing devices.

US Pat. No. 9,411,846

ENHANCING EVENT SUMMARIES OF SYNCED ONLINE CONTENT MANAGEMENT SYSTEM INTERACTIONS

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
storing a plurality of event markers in a shared dataspace, the plurality of event markers comprising user interactions with
a synched online content management system, the user interactions being associated with at least one file associated with
an account in the synched online content management system;

identifying a commonality shared between two or more event markers from the plurality of event markers;
based on the commonality shared between the two or more event markers, generating, by a processor, a collapsed event marker
for the two or more event markers that share the commonality, the collapsed event marker comprising a summarized description
of respective user interactions with the synched online content management system, the respective user interactions being
associated with the at least one file associated with the account in the synched online content management system, and corresponding
to all user interactions associated with the two or more event markers;

receiving additional data, provided by a user associated with the account, for at least one of the two or more event markers;
generating an enriched collapsed event comprising the additional data, wherein generating the enriched collapsed event further
comprises merging at least a portion of the two or more event markers with additional event markers to create the enriched
collapsed event based on the additional event markers; and

preparing and presenting to a user associated with the account, by a processor, a notification describing the enriched collapsed
event.

US Pat. No. 9,128,932

CONDENSING EVENT MARKERS

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
generating, by a processor, a plurality of event markers each being associated with an activity involving a content item stored
in a shared dataspace and containing at least two items of information;

creating, by a processor, a collapsed event marker by merging a portion of the plurality of event markers based on at least
one commonality between the at least two items of information associated with the at least two event markers, wherein the
portion of the event markers is determined in part based on the at least one commonality shared among the portion, and the
portion is determined using a granularity threshold, the granularity threshold comprising a period of time, a data size associated
with each event marker in the plurality of event markers, a quantity of the plurality of event markers, a file time, a data
similarity, or a number of event markers associated with a particular activity;

preparing, by a processor, a notification describing a collapsed event; and
presenting, by a processor, the notification to the user,
wherein the preparing and presenting of the notification only occur when a threshold associated with the plurality of event
markers is met, with the threshold comprising a number of activities recorded as event markers, a percentage of the shared
dataspace that was used or released within a specific time period, a percentage of the shared dataspace remaining, or actions
of a particular user.

US Pat. No. 10,091,287

DETERMINING PRESENCE IN AN APPLICATION ACCESSING SHARED AND SYNCHRONIZED CONTENT

Dropbox, Inc., San Franc...

1. A method comprising:receiving, by a first presence application executed by a processor on a first device, an event associated with a user interface element of a native application separate from the first presence application, wherein the first presence application is not integrated within the native application, and wherein the first presence application is configured to monitor a plurality of user interaction types with content items displayed within user interface elements of each of a plurality of different native applications executing as separate processes from the first presence application;
determining, by the first presence application, an indication that a content item synchronized with a second device and with a content management system has been opened by the native application based on the received event; and
in response to the indication that the content item has been opened by the native application and to determining that the user interface element of the native application is active based on the received event, sending, by the first presence application, presence information identifying the synchronized content item to the second device.

US Pat. No. 9,749,408

TECHNIQUES FOR MANAGING UNSYNCHRONIZED CONTENT ITEMS AT UNLINKED DEVICES

DROPBOX, INC., San Franc...

1. A system comprising:
an agent for installation on personal computing devices;
a synchronization service executing on one or more server computing devices;
a first set of content items stored in a device repository at a personal computing device; and
a second set of content items stored at the personal computing device separate from the device repository;
wherein the synchronization service is configured to send a command to the agent as installed on the personal computing device;
wherein the agent as installed on the personal computing device is configured to, in response to receiving the command from
the synchronization service:

identify, from among the first set of content items stored in the device repository at the personal computing device, which
of the first set of content items are synchronized with the synchronization service and which of the first set of content
items are pending synchronization with the synchronization service, and

treat any content items of the first set of content items identified as synchronized with the synchronization service differently
from any content items of the first set of content items identified as pending synchronization with the synchronization service
without modifying the second set of content items; wherein the treating differently includes moving any content items of the
first set of content items identified as pending synchronization with the synchronization service from their current locations
at the personal computing device to other locations at the personal computing device;

wherein the synchronization service is configured to send synchronization data to the agent as installed on the personal computing
device;

wherein the synchronization data includes a first set of cryptographically generated checksums that indicates: a third set
of content items stored at the synchronization service, and versions of the third set of content items stored at the synchronization
service;

wherein the agent is configured to generate a second set of cryptographically generated checksums based on the first set of
content items;

wherein the agent is configured to identify, from among the first set of content items stored at the personal computing device,
which of the first set of content items are synchronized with the synchronization service and which of the first set of content
items are pending synchronization with the synchronization service by comparing the first set of cryptographically generated
checksums with the second set of cryptographically generated checksums.

US Pat. No. 9,661,077

COLLECTION FOLDER FOR COLLECTING FILE SUBMISSIONS VIA A CUSTOMIZABLE FILE REQUEST

Dropbox, Inc., San Franc...

1. A computer implemented method comprising:
receiving from a collector, by a content management system, a request to generate a link for use in collecting one or more
files from one or more submitters;

in response to receiving the request, providing, by the content management system, one or more prompts requesting information
from the collector with the one or more prompts requesting customization information for customizing the request and provides
one or more restrictions on how the one or more submitters uploads one or more files;

receiving, by the content management system, information responding to the prompts;
generating, by the content management system, a link to a designated collection folder using at least some of the received
information;

distributing, by the content management system, the generated link to one or more submitters based on at least some of the
received information,

wherein each of the one or more submitters has limited rights to the designated collection folder which comprises uploading
rights for uploading one or more files to the designated collection folder and prohibits each of the one or more submitters
from viewing files uploaded by other submitters of the one or more submitters associated with the designated collection folder.

US Pat. No. 9,503,402

MANAGING DRAFTS OF ELECTRONIC DOCUMENTS ACROSS CLIENT DEVICES

DROPBOX, INC., San Franc...

1. A method comprising:
receiving, by a computer system, from a first device, first data for the first device and a first draft of a message composed
using the first device, wherein the first data includes first version information indicating a first draft version that is
updated corresponding to each draft of the message composed using the first device, and wherein the first draft version for
the first device is updated corresponding to the first draft of the message;

storing a second draft of the message based on the first draft, wherein the second draft is stored as a current draft of the
message for a plurality of devices including the first device and a second device;

storing second data based on the first data, wherein the second data includes the first version information and second version
information that indicates a second draft version associated with the second draft;

sending, to a second device, the first version information and the second draft;
receiving, from the second device, third data for the second device and a third draft of the message, the third draft composed
by modifying the second draft using the second device, wherein the third data includes the first version information and third
version information that indicates a third draft version that is updated corresponding to each draft of the message composed
using the second device, and wherein the third draft version is updated corresponding to the third draft;

comparing the second data to the third data to determine whether to update the second draft based on third draft, wherein
comparing the second data to the third data includes determining whether the second draft is different from the third draft
and determining whether the first version information in the second data matches the first version information in the third
data; and

upon determining to update the second draft based on the third draft:
updating the second data to include the third version information; and
updating the stored second draft based on the third draft, wherein the stored second draft is updated by replacing the stored
second draft with the third draft upon determining that the second draft is different from the third draft and upon determining
that the first version information in the second data matches the first version information in the third data;

upon determining not to update the second draft based on the third draft, discarding the third draft, wherein determining
not to update the second draft occurs based on determining that the second draft is not different from the third draft and
upon determining that the first version information in the second data matches the first version information in the third
data.

US Pat. No. 9,477,673

HEURISTICS FOR SELECTING AND SAVING CONTENT TO A SYNCED ONLINE CONTENT MANAGEMENT SYSTEM

Dropbox, Inc., San Franc...

1. A method for assigning a content item to a content item collection under management of a content management system, comprising:
at a computing device comprising a touch screen display, one or more processors and memory storing a first application executed
by the one or more processors to perform the method, performing operations comprising:

after the first application is opened, entering a first application state comprising a plurality of content item collection
indicators displayed on the touch screen display;

after entering the first application state, detecting a first touch gesture directed to one content item collection indicator
of the plurality of content item collection indicators;

wherein each content item collection indicator, of the plurality of content item collection indicators, represents one content
item collection, of a plurality of content item collections, under management of the content management system;

wherein performance of an earlier touch gesture directed to a graphical representation of a content item, displayed on the
touch screen display by a second application of the computing device that is not the first application, causes the first application
to open and enter the first application state;

after detecting the first touch gesture, assigning a copy of the content item to the content item collection, of the plurality
of content item collections, represented by the one content item collection indicator to which the first touch gesture is
directed.

US Pat. No. 10,114,957

COLLECTION FOLDER FOR COLLECTING FILE SUBMISSIONS AND USING FACIAL RECOGNITION

DROPBOX, INC., San Franc...

1. A computer implemented method comprising:receiving from a collector, by a content management system, a request to generate a link for use in collecting one or more files from one or more submitters;
in response to receiving the request, providing, by the content management system, one or more prompts requesting information from the collector;
receiving, by the content management system, information responding to the prompts including one or more submitters;
generating, by the content management system, a link to a designated collection folder using at least some of the received information;
distributing, by the content management system, the generated link to the one or more submitters based on at least some of the received information,
receiving, by the content management system from the one or more submitters who accessed the distributed link, one or more files for storage in the designated collection folder;
storing, by the content management system, the one or more received files in the designated collection folder in an account associated with the collector;
running, by the content management system, facial recognition software or object recognition software against one or more of the stored files to identify at least one individual shown in at least one image of the one or more stored files;
in response to identifying the at least one individual shown in the at least one image, sending a notification to the identified at least one individual, the notification comprising information associated with the at least one image; and
wherein each of the one or more submitters has limited rights to the designated collection folder the limited rights permitting a first submitter to upload a first file to the collection folder, prohibiting a second submitter from viewing the first file that is stored in the designated collection folder, and permitting the identified at least one individual to view the at least one image.

US Pat. No. 9,904,719

PROPAGATING COMPUTABLE DEPENDENCIES WITHIN SYNCHRONIZED CONTENT ITEMS BETWEEN FIRST AND THIRD-PARTY APPLICATIONS

Dropbox, Inc., San Franc...

9. A system comprising:
a processor; and
a memory storing instructions that, when executed by the processor, cause the processor to:
providing, by a content management system, a first party web application to a user;
receiving a first input from the user, the first input associated with a source document to be modified, identifying a reference
document different than the source document, and including a dependency primitive associated with the source document and
the reference document;

in response to receiving the first input, accessing a dependency formula associated with the dependency primitive via the
first party web application;

determining, based on a set of syntax rules, whether the dependency primitive indicates a reference dependency or an alias
dependency and whether the dependency formula is valid, wherein the set of syntax rules identifies the dependency primitive
as a reference dependency in response to the dependency primitive including a mathematical operation, and wherein the set
of syntax rules identifies the dependency primitive as an alias dependency otherwise such that a change to a first object
in an alias dependency with a second object is reflected in the second object and vice versa;

responsive to determining that the dependency primitive indicates a reference dependency and the dependency formula is syntactically
valid:

creating in a dependency graph a dependency object associated with the source document and the reference document, the dependency
object having an object ID, an object name, a formula for the dependency object, dependencies of the object, and dependents
of the object;

recursively calculating a resultant value of the dependency object using the formula for the dependency object and the value
of all dependencies of the dependency object, the resultant value stored by the content management system; and

displaying by the first party web application the source document and the resultant value of the dependency object within
the source document;

responsive to determining that the dependency primitive indicates an alias dependency and the dependency formula includes
an existing dependency object name:

recursively calculating a resultant value of an existing dependency object corresponding to the existing dependency object
name using the formula for the existing dependency object and the value of all dependencies of the existing dependency object
without creating a new dependency object in the dependency graph, the resultant value stored by the content management system;

displaying by the first party web application the source document and the resultant value of the existing dependency object
within the source document; and

synchronizing the displayed resultant value with the existing dependency object.

US Pat. No. 9,832,176

SYSTEM AND METHOD FOR NON-REPLAYABLE COMMUNICATION SESSIONS

DROPBOX, INC., San Franc...

1. A method comprising:
receiving, at a second device, a public identity key and a first public session key corresponding to a first device;
generating, by the second device, a first message;
generating, by the second device, a first encrypted message based on the first message, the public identity key, and the first
public session key; and

transmitting, by the second device, the first encrypted message to the first device.

US Pat. No. 9,690,910

SYSTEMS AND METHODS FOR MONITORING AND APPLYING STATISTICAL DATA RELATED TO SHAREABLE LINKS ASSOCIATED WITH CONTENT ITEMS STORED IN AN ONLINE CONTENT MANAGEMENT SERVICE

Dropbox, Inc., San Franc...

1. A computer-implemented method performed by an online content management service computing system comprising one or more
processors and memory, the method comprising:
receiving, from a first client device operated by a user, a request to create a shareable link for a content item, wherein
the request includes a first activity threshold for controlling access to the content item using the shareable link and an
indication that link activity is to be monitored;

wherein the first activity threshold comprises a first view count, the first view count representing a threshold number of
times a request to access the shareable link is received by the online content management service computing system;

creating, by one or more processors, the shareable link for the content item;
storing the first activity threshold in association with the shareable link;
receiving, from a second client device, a request by a recipient of the shareable link to access the content item using the
shareable link;

determining whether the first activity threshold has been met;
in response to determining that the first activity threshold has been met, executing a first action on the shareable link;
wherein the first action comprises sending a notification that the first activity threshold has been met;
receiving, from a third client device operated by a user, a request to change the first activity threshold associated with
the shareable link to a second activity threshold;

wherein the second activity threshold comprises a second view count that is greater than the first view count;
storing the second activity threshold in association with the shareable link;
receiving, from a fourth client device, a request by a recipient of the shareable link to access the content item using the
shareable link;

determining whether the second activity threshold has been met; and
in response to determining that the second activity threshold has been met, executing a second action on the shareable link;
wherein the second action comprises sending a notification that the second activity threshold has been met.

US Pat. No. 9,628,546

SYSTEMS AND METHODS FOR DOWNLOADING FILES

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
receiving, by a processor of a synchronized cloud-based content management system, an indication that a user has activated
a file download widget presented on a third party website by selecting a corresponding button;

in response to the indication, enabling on the third party website a download of a particular file selected from servers associated
with the third party website to the synchronized cloud-based content management system; and

downloading, by a processor, the particular file to a user associated account within the synchronized cloud-based content
management system, based on a determination by a file download module that the particular file is not already stored within
the synchronized cloud-based content management system, wherein downloading the particular file to the user associated account
within the synchronized cloud-based content management system comprises receiving the particular file directly from the third
party website at one or more servers associated with the synchronized cloud-based content management system.

US Pat. No. 9,466,056

CONTENT ITEM DELIVERY FOR PAYMENT

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
receiving, by a content management system, a request from a first user to share a content item for payment with a second user;
generating a link to share the content item with the second user, the link being associated with a path identifying a location
of the content item at the content management system;

sending the link to the second user, the link, upon being selected, prompting the user for payment information;
causing the payment information to be processed;
causing, in response to the payment information being authorized, the content item to be accessible to the second user on
a computing device;

receiving, from the second user, a request to store the content item in a folder of a user account at the content management
system;

storing the content item in the folder of the user account; and
synchronizing a corresponding folder associated with the user account of the second user on at least one second computing
device by locally storing a copy of the content item on the at least one second computing device.

US Pat. No. 9,183,303

PERSONAL CONTENT ITEM SEARCHING SYSTEM AND METHOD

Dropbox, Inc., San Franc...

1. A personal content item searching system comprising one or more hardware processors configured to:
generate a base index of content items hosted by an online content management service, the content items associated with a
particular user account, of a plurality of user accounts, held with the service;

transmit, over a network, to a user computer associated with the particular user account, the generated base index;
detect a change to at least one of the content items, the change resulting in a new version of the at least one content item;
determine an identifier of a particular content item namespace to which the at least one content item belongs, the particular
content item namespace being one of a plurality of content item namespaces containing content items hosted by the online content
management service, the particular content item namespace associated with the particular user account;

generate an index mutation reflecting the change to the at least one content item, the index mutation comprising one or more
tokens to use to index the at least one content item and/or one or more tokens to not use to index the at least one content
item, and comprising the identifier of the particular content item namespace;

store the index mutation in an index mutation journal;
identify the index mutation in the index mutation journal as being for the user computer, based, at least in part, on the
identifier of the particular content item namespace of the index mutation; and

transmit to the user computer, over the network, the one or more tokens to use to index the at least one content item and/or
the one or more tokens to not use to index the at least one content item of the generated index mutation.

US Pat. No. 9,112,936

SYSTEMS AND METHODS FOR EPHEMERAL EVENTING

DROPBOX, INC., San Franc...

1. A method comprising:
identifying a content item on a user device connected to a content management system over a data network, the content item
comprising a content portion and a metadata portion;

providing, in a first upload and during a first time period, the metadata portion of the content item to the content management
system;

receiving, from the content management system after the first time period and prior to completion of a second time period,
event assignment metadata that associates the content item with an event; and

providing, in a second upload and during the second time period, the content portion of the content item to the content management
system, wherein the second time period expires after the first time period.

US Pat. No. 9,088,573

LOCAL SERVER FOR SYNCED ONLINE CONTENT MANAGEMENT SYSTEM

Dropbox, Inc., San Franc...

1. A computer-implemented method for locally accessing synced data, comprising:
implementing, on a client computing device, a client-side application that communicates with an online content management
system to sync data stored locally on the client computing device with data stored at the online content management system;

running a local web server on the client computing device, the local web server being configured to communicate with the client-side
application to interact with at least a portion of the data stored locally, wherein the data stored locally is synced with
the data stored at the online content management system;

running a web browser on the client computing device;
accessing the local web server running on the client computing device via the web browser;
sending, simultaneously, a request to access data stored on the online content management system and a request to access data
stored on the local web server, where the data stored on the online content management system and the data stored on the local
web server are synched;

interacting with the at least a portion of the data stored locally in the event the local web server responds first, wherein
the interacting with the at least a portion of the data stored locally is based, at least in part, on the accessing of the
local web server via the web browser;

interacting with the at least a portion of the data stored on the online content management system in the event that the online
content management system responds first, wherein the interacting with the at least a portion of the data stored on the online
content management system is based, at least in part, on accessing of the online content management system via the client-side
application; and

displaying, by the web browser in the event the local web server responds first or by the client application in the event
the online content management system responds first, at least a portion of the data that is being accessed.

US Pat. No. 10,091,259

USER NOTIFICATIONS FOR INTERACTION INFORMATION

Dropbox, Inc., San Franc...

1. A method comprising:receiving a notification of an interaction event indicating an interaction with a content item by a first user of a plurality of users, the content item synchronized between a content management system and a plurality of devices, each device associated with one of the plurality of users with which the content item is shared;
determining a type of the interaction and a priority of the interaction; and
for a second user of the plurality of users:
adding the interaction to a notification queue corresponding to the second user;
removing one or more interactions each associated with a lower priority than the priority of the added interaction from the notification queue; and
sending the notification queue associated with the second user to a device associated with the second user in response to determining that the second user is not collaborating in the content item.

US Pat. No. 10,091,296

COLLECTION FOLDER FOR COLLECTING FILE SUBMISSIONS

DROPBOX, INC., San Franc...

1. A computer implemented method comprising:receiving, by a content management system, a request, associated with a collector account, to generate a file request collection comprising a designated collection folder and a link to the designated collection folder, wherein the file request collection is used to collect one or more files from one or more submitters;
at least partially in response to receiving the request, providing, by the content management system, one or more prompts requesting information from the collector;
receiving, by the content management system, information responding to the prompts;
generating, by the content management system, the designated collection folder and the link to the designated collection folder using at least some of the received information including a name for the designated collection folder;
distributing, by the content management system, the generated link to two or more submitters based on at least some of the received information;
receiving, by the content management system, at least one file from a submitter who accesses the distributed link; and
storing, by the content management system, the at least one received file in the designated collection folder in an account associated with the collector, wherein each of the two or more submitters has limited rights to the designated collection folder, the limited rights permitting a first submitter to upload and view a first file to the designated collection folder and prohibiting a second submitter from viewing the first file that is stored in the designated collection folder.

US Pat. No. 10,033,668

ENHANCING PERFORMANCE OF MESSAGE SEARCH AND RETRIEVAL

DROPBOX, INC., San Franc...

1. A method comprising:receiving, at a server computer, a search query from a client device requesting a search of a corpus of messages for an account, wherein the corpus of messages includes messages stored for the account at a messaging service provider that maintains the account;
searching, by the server computer, a cache of messages maintained by the server computer for the account to identify a set of messages that satisfy the search query, wherein the messages in the cache were previously obtained by the server computer from the messaging service provider;
determining, by the server computer, a connection bandwidth of the client device;
determining, by the server computer, based at least in part on the connection bandwidth of the client device, a number of messages for which descriptive information is to be included in an initial response;
sending, from the server computer, an initial response to the client device, the initial response including information descriptive of at least a first message in the set of messages;
determining, by the server computer, one or more other messages as being related to the first message based at least on information independent of the search query;
after sending the initial response, automatically sending, by the server computer, a supplemental response to the client device, the supplemental response including supplemental information indicating that the one or more other messages are related to the first message, the supplemental information including a folder identifier corresponding to one or more folders that contain the first message, a thread identifier corresponding to one or more messages in the initial response, a count of one or more messages related to the first message identified by the thread identifier, a number of one or more attachments associated with a message thread of the first message;
after sending the initial response, receiving a request from the client device for the first message;
retrieving the first message and the one or more other messages related to the first message; and
sending the first message and the one or more other messages to the client device to be displayed.

US Pat. No. 9,692,826

COLLECTION FOLDER FOR COLLECTING FILE SUBMISSIONS VIA A CUSTOMIZABLE FILE REQUEST

Dropbox, Inc., San Franc...

1. A computer implemented method comprising:
receiving from a collector, by a content management system, a request to generate a link for use in collecting one or more
files from one or more submitters;

in response to receiving the request, providing, by the content management system, one or more prompts requesting information
from the collector with the one or more prompts requesting customization information for customizing the request and provides
one or more restrictions on how the one or more submitters uploads one or more files;

receiving, by the content management system, information responding to the prompts;
generating, by the content management system, a link to a designated collection folder using at least some of the received
information;

distributing, by the content management system, the generated link to one or more submitters based on at least some of the
received information,

wherein each of the one or more submitters has limited rights to the designated collection folder which comprises uploading
rights for uploading one or more files to the designated collection folder and prohibits each of the one or more submitters
from viewing files uploaded by other submitters of the one or more submitters associated with the designated collection folder.

US Pat. No. 9,652,490

CONDENSING EVENT MARKERS

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
generating, by one or more processors, a plurality of event markers, the plurality of event markers being associated with
respective activities involving an account in a synchronized online content management system, wherein at least one of the
respective activities comprises modifying content synchronized between the synchronized online content management system and
one or more client devices associated with the account, the content being associated with the account;

condensing, by the one or more processors, the plurality of event markers to yield a condensed event marker by merging a first
portion of the plurality of event markers based on at least one commonality between the plurality of event markers and filtering
a second portion of the plurality of event markers, wherein the commonality comprises at least one of: a point of origin of
event markers, a shared dataspace, the respective activities, or a period of time; and

preparing and presenting to the account, by the one or more processors, a notification describing one or more of the respective
activities associated with the condensed event marker;

wherein the condensing of the plurality of event markers to yield the condensed event marker is triggered by a predetermined
parameter that is different than the at least one commonality, the predetermined parameter comprising an indication that:
a particular percentage of shared dataspace was used or released within a specific time period or a percentage of the shared
dataspace remaining is below a threshold.

US Pat. No. 9,563,638

SELECTIVE DOWNLOADING OF SHARED CONTENT ITEMS IN A CONSTRAINED SYNCHRONIZATION SYSTEM

DROPBOX, INC., San Franc...

1. A computer-implemented method, the method comprising:
maintaining in a memory of a client device a list of a plurality of approved applications on the client device;
receiving by a file system of the client device a request for a content item from an application executing locally on the
client device, the requested content item stored in a shared local content directory;

determining by the client device that the requested content item is a shadow item using attributes of the shadow item, wherein
the shadow item represents a content item stored on a separate host device that is remote to the client device and the shadow
item is comprised of metadata of the content item without content data of the content item;

responsive to determining that the requested content item is a shadow item, determining by the client device whether the application
requesting the shadow item is included in the maintained list of approved applications;

responsive to determining that the requesting application is included in the list, replacing by the client device the shadow
item with a content item corresponding to the shadow item in the shared local content directory;

responsive to determining that the requesting application is not included in the list of approved applications:
determining whether the request from the requesting application was initiated by a user of the client device; and
responsive to determining that the request was initiated by the user of the client device, replacing the shadow item with
the content item corresponding to the shadow item in the shared local content directory.

US Pat. No. 9,544,373

SYSTEMS AND METHODS FOR MAINTAINING LOCAL VIRTUAL STATES PENDING SERVER-SIDE STORAGE ACROSS MULTIPLE DEVICES AND USERS AND INTERMITTENT NETWORK CONNECTIONS

DROPBOX, INC., San Franc...

1. A method comprising:
identifying, at a user device, a content item to upload to a user account on a content management system;
in response to identifying the content item to upload to the user account, providing, to the content management system, a
request for a global identification (ID) associated with the content item;

prior to receiving the global ID from the content management system:
creating a local ID for the content item; and
referencing one or more actions taken on the content item using the local ID;
receiving, from the content management system, the global ID associated with the content item;
storing, in response to receiving the global ID, the global ID in an association with the local ID; and
replacing the local ID with the global ID in reference to one or more pending operations corresponding to the one or more
actions taken on the content item using the local ID.

US Pat. No. 9,537,952

APPARENT CLOUD ACCESS FOR HOSTED CONTENT ITEMS

Dropbox, Inc., San Franc...

1. A method for apparent cloud access of a hosted content item, the method comprising:
at a personal computing device comprising one or more processors, a user agent, and storage media storing one or more computer
programs executed by the one or more processors to perform the method, performing operations comprising:

receiving from a server a content item block list comprising one or more content item block identifiers of one or more content
item blocks of a hosted content item to which an update has been applied at a server, the one or more content item block identifiers
reflecting the update to the hosted content item;

receiving a block agent request for the hosted content item from the user agent, the block agent request comprising identification
information for the hosted content item, the user agent sending the block agent request in response to activation at the personal
computing device of a hyperlink of a web page presented by the user agent, the hyperlink for downloading the hosted content
item;

using the identification information for the hosted content item to determine the one or more content item block identifiers
of the one or more content item blocks of the hosted content item;

determining which, if any, of the one or more content item blocks of the hosted content item are not stored in a local storage
of the personal computing device;

downloading, from a block server, any of the one or more content item blocks that are not stored in a local storage of the
personal computing device; and

sending to the user agent, in a block agent response to the block agent request, data of each of the one or more content item
blocks of the hosted content item.

US Pat. No. 9,509,509

RANDOM IDENTIFIER GENERATION FOR OFFLINE DATABASE

Dropbox, Inc., San Franc...

1. A computer-implemented method, comprising:
identifying a content item for sending from a client device to an online content management system;
prior to establishing a network connection with the online content management system, generating on the client device, by
a client-side application associated with the online content management system, a secure identifier for the content item,
wherein generating the secure identifier includes:

generating a random key; and
generating the secure identifier associated with the content item from the random key;
upon establishing the network connection with the online content management system, sending, to the online content management
system, a request to register the content item with the online content management system, the request comprising the content
item, the secure identifier, and the random key; and

sharing, a link to the content item, the link enabling a second client device to access the content item via the link.

US Pat. No. 9,460,210

ENRICHING CONTACT DATA BASED ON CONTENT SHARING HISTORY IN A CONTENT MANAGEMENT SYSTEM

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
maintaining, by a content management system, a share history storing share records of sharing of content items between user
accounts;

receiving a contact list from a client device authorized on a first user account, the contact list including a first contact
record;

identifying a user profile of a second user account that matches the first contact record;
identifying by the content management system from the share history, at least one sharing record of sharing of a content item
between the first user account and the second user account;

determining by the content management system, modification information for modifying the first contact record based on at
least one field present in the matching user profile that is not present in the first contact record, the modification information
comprising a value for an empty field of the first contact record determined based on a value of a non-empty field of the
user profile;

modifying by the content management system, the first contact record based on the modification information; and
sending the modification information for the first contact record to the client device.

US Pat. No. 9,423,922

SYSTEMS AND METHODS FOR CREATING SHARED VIRTUAL SPACES

DROPBOX, INC., San Franc...

1. A method comprising:
receiving, at a user device from a user, a share request comprising at least one contact of the user and a content item;
creating, locally on the user device, a shared virtual space to store the at least one content item;
displaying, at the user device, the shared virtual space comprising the content item, wherein the user can interact with the
content item prior to a global version of the shared virtual space being created;

sending, to a content management system, data to create the global version of the shared virtual space;
assigning a local identifier to the shared virtual space prior to receipt of a global identifier for the global version of
the shared virtual space from the content management system;

receiving, from the content management system, the global identifier for the global version of the shared virtual space; and
replacing, at the user device, the local identifier with the global identifier.

US Pat. No. 9,342,531

MANAGING CONFLICTED COPIES

Dropbox, Inc., San Franc...

1. A computer-implemented method, comprising:
under the control of one or more computer systems configured with executable instructions,
storing, at an online content management system, a universal copy of a content item with a plurality of computing devices
locally storing the content item, the plurality of computing devices communicating with the online content management system
to synchronize respective local copies of the content item and the universal copy of the content item;

identifying a conflicted copy of the content item resulting from a delayed synchronization between at least one of the plurality
of computing devices and the online content management system; and

notifying a computing device of the identified conflicted copy, the notification displaying one or more identified differences
between the universal copy of the content item and the conflicted copy, wherein the notification is configured to enable a
user to individually accept or reject each of the one or more identified differences to produce a current universal copy of
the content item.

US Pat. No. 9,110,937

PROVIDING A CONTENT PREVIEW

Dropbox, Inc., San Franc...

1. A computer-implemented method for providing a content preview comprising:
receiving a request to store a content item in a user account;
splitting, via a processor, the content item into at least a first fixed size block and a second fixed size block, wherein
each of the first fixed size block and the second fixed size block contains a unique portion of the content item;

computing a first hash identifier by using at least a part of the unique portion of the first fixed size block as a first
hash key in a hashing algorithm;

computing a second hash identifier by using at least a part of the unique portion of the second fixed size block as a second
hash key in the hashing algorithm;

generating a block list containing a general hash key created by concatenating the first hash identifier and the second hash
identifier;

determining whether the content preview of the content item exists based on the generated block list;
upon a determination that the content preview of the content item does not exist based on the generated block list, creating
the content preview of the content item and storing the content preview in the user account.

US Pat. No. 10,108,806

COLLECTION FOLDER FOR COLLECTING FILE SUBMISSIONS AND SCANNING FOR MALICIOUS CONTENT

DROPBOX, INC., San Franc...

1. A computer implemented method comprising:receiving from a collector, by a content management system, a request to generate a link for use in collecting one or more files from one or more submitters;
at least partially in response to receiving the request, providing, by the content management system, one or more prompts requesting information from the collector;
receiving, by the content management system, information responding to the prompts;
generating, by the content management system, a link to a designated collection folder using at least some of the received information;
distributing, by the content management system, the generated link to one or more submitters based on at least some of the received information;
receiving, by the content management system, at least one file from a submitter who accessed the distributed link; and
providing, by the content management system to a third party website, the at least one received file for malicious content scanning for malware;
receiving, by the content management system from the third party website, each file that does not contain malware; and
storing, by the content management system, each file received from the third party website in the designated collection folder in an account associated with the collector,
wherein the submitter has limited rights to the designated collection folder which comprises uploading rights for uploading one or more files to the designated collection folder and prohibits the submitter from viewing files uploaded by other submitters associated with the designated collection folder.

US Pat. No. 9,996,547

PRIORITIZING CONTENT ITEM SYNCHRONIZATION BASED ON SHARING

Dropbox, Inc., San Franc...

1. A method comprising:identifying, by a client device, a plurality of content items queued for synchronization with a content management system according to a first synchronization order dictating synchronization based on a share status of the plurality of content items, wherein a subset of the plurality of content items have the share status and the subset of the plurality of content items with the share status are synchronized prior to content items with no share status;
determining, by the client device, a second synchronization order within the subset of the plurality of content items with the share status based on a sub-prioritization criteria for a first content item and at least one second content item, wherein the sub-prioritization criteria includes when the first content item and at least one second content item were shared, a size, a type, a current location, a network connection, a current time, or a source of the first content item and at least one second content item;
prioritizing synchronization of the first content item and the at least one second content item based on the first content item having a first share status indicating that a share link to the first content item has been requested by the client device and the second content item having a second share status indicating that a share link to the at least one second content item has been requested by the content management system; and
synchronizing, by the client device, the plurality of content items with the content management system according to the first and second synchronization orders, wherein the second synchronization order includes uploading the first content item and the at least one second content item from the client device to the content management system.

US Pat. No. 9,910,968

AUTOMATIC NOTIFICATIONS FOR INADVERTENT FILE EVENTS

Dropbox, Inc., San Franc...

1. A non-transitory computer-readable medium of a content management system for storing files, each file being associated
with one of a plurality of namespaces and one or more user accounts, the non-transitory computer-readable medium comprising:
computer executable instructions stored on the computer-readable medium, the computer executable instructions, when executed
by a computing device cause a computer to:
maintain a log of file events, the log including a plurality of file identifiers each respectively associated with a namespace,
a file event, and a user account responsible for the file event;

analyze the log of file events to identify a total number of compound events associated with a first namespace of the plurality
of namespaces and associated with a first user account of the one or more user accounts;

analyze the log of file events to identify a total number of deletion events, excluding the total number of compound events,
associated with the first namespace of the plurality of namespaces and associated with the first user account of the one or
more user accounts; and

send a notification to the first user when the total number of deletion events, excluding the total number of compound events,
is greater than a threshold, the notification identifying the deletion events not associated with the compound events.

US Pat. No. 9,866,508

AGGREGATING AND PRESENTING RECENT ACTIVITIES FOR SYNCHRONIZED ONLINE CONTENT MANAGEMENT SYSTEMS

Dropbox, Inc., San Franc...

1. A method comprising:
receiving, by at least one processor at a content management system, a first activity journal from a first client application
associated with the content management system on a first client device, wherein the first activity journal comprises a first
plurality of recent events associated with content item activity in a user account of the content management system, the first
plurality of recent events having occurred at the first client device;

receiving, by at least one processor at the content management system, a second activity journal comprising a second plurality
of recent events associated with content item activity from a second client application associated with the content management
system on a second client device;

identifying, by at least one processor at the content management system, two or more recent events of the first and second
plurality of recent events identified by the first activity journal and the second activity journal for a content item that
meet a criterion;

aggregating, by at least one processor at the content management system, the two or more recent events for the content item
identified to meet the criterion;

generating, by at least one processor at the content management system, an updated first activity journal based on the first
plurality of recent events of the first activity journal and the second plurality of recent events of the second activity
journal, and based on an aggregated recent event;

sending, by the content management system, the updated first activity journal including the aggregated recent event to the
first client device; and

presenting, at the first client device, recent events from the updated first activity journal including the aggregated recent
event to provide access to the content item within a folder structure at the first client device.

US Pat. No. 9,804,834

AUTOMATICALLY UPDATING A HYBRID APPLICATION

DROPBOX, INC., San Franc...

1. A method comprising:
storing, by a computing device, a software application in memory of the computing device, where the software application includes
a native component and a resource bundle, where the native component is generated using technologies native to the computing
device, and where the resource bundle includes non-native web code defining a web view for the software application;

receiving, by the computing device, user input selecting the software application;in response to receiving the user input, executing, by the computing device, the native component of the software application;
upon execution of the native component, loading, by the computing device, web code from the stored resource bundle into the
native component to generate the web view;

presenting the web view on a display of the computing device;
determining, by the computing device, a first version identifier for the stored resource bundle;
sending, by the computing device, a message from the web view to the server device including the first version identifier,
where the server device determines whether the first version identifier corresponds to the latest version of the resource
bundle; and

receiving, by the computing device from server device, update data when the first version identifier is different than a second
version identifier corresponding to a latest version of the resource bundle; and

while the software application continues to execute:
automatically updating, by the computing device, the stored resource bundle to correspond to the latest version of the resource
bundle based on the update data;

automatically reloading, by the computing device, web code from the updated resource bundle into the native component to generate
an updated web view; and

presenting the updated web view on a display of the computing device.

US Pat. No. 9,727,727

SCANNING CONTENT ITEMS BASED ON USER ACTIVITY

DROPBOX INC., San Franci...

1. A method comprising:
obtaining, by a computing device, one or more scan policies for initiating a scan for malicious content within a particular
content item, wherein the particular content item and other content items are stored on the content management system, wherein
each of the scan policies is associated with a content item activity; and

scanning only the particular content item already stored on the content management system for malicious content when a detected
activity associated with the particular content item triggers one of the scan policies, wherein the detected activity is at
least one of sharing the particular content item, downloading the particular content item, or previewing the particular content
item.

US Pat. No. 9,690,798

SYSTEM AND METHOD FOR ORGANIZING FILES BASED ON A UNIQUE IDENTIFICATION CODE

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
receiving by a content management system, from a client device, a plurality of files, each file having respective associated
data including a file name;

creating by the content management system, a standardized name for each file based on a creation time for the corresponding
file;

determining by the content management system, that more than one of the received plurality of files have duplicate standardized
names; and

adding by the content management system, a modifier to each standardized name for the duplicate standardized names, wherein
each modifier is based on the associated data of the file for which it modifies.

US Pat. No. 9,654,426

SYSTEM AND METHOD FOR ORGANIZING MESSAGES

DROPBOX, INC., San Franc...

1. A method comprising:
storing, by a computing device, an ordered arrangement of message collections on a computing device, the ordered arrangement
of message collections including at least a first collection, a second collection, and a third collection;

selecting, by the computing device, an active collection from the ordered arrangement of message collections, where one or
more other message collections in the ordered arrangement of message collections are inactive collections;

displaying, on a display of the computing device, the active collection while the inactive collections are not displayed on
the display, wherein the at least first, second and third collections having locations assigned thereto such that each of
the at least first, second and third collections is located along a first axis of the display in a fixed order, and wherein
each of the at least first, second and third collections is selected to be the active collection and displayed by moving the
active collection along the first axis;

detecting a swipe gesture applied to a representation of a first message item of the active collection, the swipe gesture
being along the first axis and within a screen area occupied by the representation of the first message item; and

executing an action on the first message item in response to the detected swipe gesture, wherein executing the action includes:
in the event that the first collection is the active collection, the second collection is one of the inactive collections
being located in a first direction from the first collection along the first axis, and the swipe gesture is in the first direction
and has a first distance traveled that is less than a threshold distance, transferring the first message item to the second
collection;

in the event that the first collection is the active collection, the second and third collections being both inactive collections,
the third collection is located in the first direction further away from the first collection along the first axis than the
second collection, and the swipe gesture is in the first direction and has a second distance traveled that is greater than
the threshold distance, transferring the first message item to the third collection; and

in the event that the third collection is the active collection, the second collection is one of the inactive collections
being located in a second direction, opposite the first direction, from the third collection along the first axis, and the
swipe gesture is in the second direction and has a second distance traveled that is less than the threshold distance, transferring
the first message item to the second collection.

US Pat. No. 9,613,044

MAINTAINING CONCURRENCY AND CONSISTENCY OF GLOBALLY UNIQUE IDENTIFIERS

Dropbox, Inc., San Franc...

1. A system comprising:
a processor; and
a non-transitory computer-readable storage medium having stored therein processor-executable instructions for causing the
processor to:

receive a request to modify a content item associated with a globally unique identifier where the content item is stored in
a multi-user network-based content item management environment and the globally unique identifier is associated with the content
item, a storage location and at least one authorized user having access to the content item;

acquire a first mutex for a namespace associated with the content item;
acquire a second mutex for the globally unique identifier;
modify the content item associated with the globally unique identifier according to the request;
release the first mutex and the second mutex; and
provide a confirmation in response to the request.

US Pat. No. 9,569,515

FACILITATING DISTRIBUTED DELETES IN A REPLICATED STORAGE SYSTEM

Dropbox, Inc., San Franc...

1. A computer-implemented method, comprising:
operating a data storage system including multiple zones, wherein each zone comprises a separate geographic storage location,
and wherein data items are replicated across multiple zones for fault tolerance purposes; and

wherein operating the data storage system involves performing a delete operation to delete a first data item by:
receiving the delete operation at a time td at a local zone in the data storage system; and

if a copy of the first data item exists in the local zone,
computing a maximum last update time for the delete operation tmlu=td?tmin, wherein tmin is a minimum lifetime for a data item,

determining, from a local index in the local zone, a time tlu that the first data item was last updated,

deleting the copy of the first data item in the local zone if tlu
asynchronously propagating the delete operation to other zones in the data storage system along with tmlu, wherein the delete operation is performed in another zone if the other zone determines that the first data item was last
updated before tmlu.

US Pat. No. 9,501,762

APPLICATION RECOMMENDATION USING AUTOMATICALLY SYNCHRONIZED SHARED FOLDERS

Dropbox, Inc., San Franc...

1. A computer-implemented method for application recommendation comprising:
obtaining information about associations between a plurality of user accounts of a synchronized content management system
and a plurality of applications compatible with the synchronized content management system, the information indicating a level
of engagement at each user account in the plurality of user accounts with respect to each application in the plurality of
applications;

obtaining a plurality of attributes associated with each user account in the plurality of user accounts, the plurality of
attributes providing information related to usage of the synchronized content management system at each user account;

obtaining data about social connections associated with the plurality of user accounts, the data about the social connections
indicating content items shared among the plurality of user accounts using at least one synchronized shared folder via the
synchronized content management system, wherein changes to the content items within the at least one synchronized shared folder
are automatically synchronized;

generating a predictive model using at least one of the information about the associations, the plurality of attributes, or
the data about the social connections; and

recommending one or more applications compatible with the synchronized content management system to a selected user account
outside the plurality of user accounts, the recommending being based, at least in part, on the predictive model.

US Pat. No. 9,448,704

NAVIGATING DIGITAL CONTENT USING VISUAL CHARACTERISTICS OF THE DIGITAL CONTENT

DROPBOX, INC., San Franc...

1. A method comprising:
providing, via a graphical user interface, a display of a first digital content item from a collection of digital content
items;

receiving a first user input with respect to the display of the first digital content item, the first user input identifying
a selection of a first visual feature from the first digital content item;

identifying, by at least one processor, a subset of the collection of digital content items comprising a plurality of digital
content items from the collection of digital content items that each have the first visual feature; and

providing access to the subset of the collection of digital content items that each have the first visual feature via the
graphical user interface;

in response to receiving the first user input identifying the selection of the first visual feature, placing a graphical element
over the display of the first digital content item at a location over the first digital content item corresponding to the
first visual feature;

detecting a touch input on the graphical element placed over the display of the first digital content item; and
in response to detecting the touch input on the graphical element, advancing through the subset of the collection of digital
content items that each have the first visual feature.

US Pat. No. 9,436,769

AUTOMATIC DEVICE UPLOAD CONFIGURATION

Dropbox, Inc., San Franc...

1. A computer-implemented method, comprising:
receiving, by a content management system (CMS), a first request to generate a network configuration identifier, the first
request including network configuration information for a network;

encoding, by the CMS, the network configuration information and an authentication token into the network configuration identifier;
causing the network configuration identifier to be displayed on a display screen of a first computing device;
receiving, from a second computing device, a second request to establish a link with the CMS, the second request including
the authentication token; and

based on the authentication token, providing, by the CMS, authorization to the second computing device to establish the link.

US Pat. No. 9,430,669

COLLECTION FOLDERS IN A CONTENT MANAGEMENT SYSTEM

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
creating, by a content management system, a folder in a namespace associated with a collecting user in response to the collecting
user requesting creation of the folder, the folder associated with a project;

receiving, by the content management system from the collecting user, identifying information associated with a plurality
of submitting users, the plurality of submitting users including a first submitting user and a second submitting user:

transmitting, by the content management system to each of the plurality of submitting users based on the identifying information,
a message inviting the submitting user to add a content item to the folder;

receiving, by the content management system from a first device associated with the first submitting user, a first content
item with a request from the first submitting user to add the first content item to the folder;

receiving, by the content management system from a second device associated with the second submitting user, a second content
item with a request from the second submitting user to add the second content item to the folder;

automatically creating, by the content management system, a first sub-folder within the folder and adding the first content
item to the first sub-folder based on the request to add the first content item to the folder, the first sub-folder associated
with the first submitting user;

automatically creating, by the content management system, a second sub-folder within the folder and adding the second content
item to the second sub-folder based on the request to add the second content item to the folder, the second sub-folder associated
with the second submitting user, the first submitting user unable to access the second sub-folder and the second submitting
user unable to access the first sub-folder;

providing, by the content management system to the collecting user, access to the first sub-folder and the second sub-folder;
receiving, by the content management system from the collecting user, a request requesting a number of individual submitting
users that have added content items to the folder;

responsive to receiving the request, determining, by the content management system, a numeric number of sub-folders included
in the folder, the numeric number of sub-folders less than a number of the plurality of submitting users; and

sending, by the content management system to a client device associated with the collecting user, the numeric number of sub-folders,
the numeric number displayed to the collecting user as the number of individual submitting users that have added content items
to the folder.

US Pat. No. 9,413,824

STORAGE CONSTRAINED SYNCHRONIZATION OF CONTENT ITEMS BASED ON PREDICTED USER ACCESS TO SHARED CONTENT ITEMS USING RETENTION SCORING

Dropbox, Inc., San Franc...

1. A computer-implemented method of synchronizing content items comprising:
storing, by a content management system, in a namespace, a synchronized content item represented as a shadow item on a first
client device associated with the namespace, the first client device configured with a first retention score threshold;

determining, by the content management system, a retention score for the content item based on at least one attribute of the
content item;

determining if the retention score of the content item exceeds the first retention score threshold of the first client device;
and

responsive to determining that the retention score of the content item exceeds the first retention score threshold, causing
the first client device to replace the shadow item on the first client device with the content item.

US Pat. No. 9,055,063

MANAGING SHARED CONTENT WITH A CONTENT MANAGEMENT SYSTEM

Dropbox, Inc., San Franc...

1. A method, comprising:
receiving, by a content management system from a first device, a collection of content items to be synchronized by the content
management system with the first device;

receiving, by the content management system from the first device, an indication that the collection of content items is to
be shared with a first recipient;

receiving, by the content management system from the first device, indicia of a modification to at least one of the content
items;

synchronizing the received collection of content items to reflect the received indicia of the modification;
receiving, by the content management system from the first recipient, a request for the collection of content items;
providing, by the content management system in response to the request, the synchronized collection of content items to the
first recipient;

receiving, by the content management system, a first request for a history of all content items shared by a user account associated
with the first device;

accessing, by the content management system in response to the first request, the history of all content items shared by the
user account; and

displaying, in response to the first request, indicia of the history.

US Pat. No. 10,057,241

TOGGLE BETWEEN ACCOUNTS

Dropbox, Inc., San Franc...

1. A method comprising:providing, by a service, a first mechanism by which users of the service may sign on to the service using a native authentication of the service;
providing, by the service, a second mechanism by which users of the service may sign on to the service using a third-party single-sign-on provider;
storing, at the service, data that identifies a plurality of teams;
storing, at the service, data that identifies at least one administrator of each of the plurality of teams;
enabling an administrator of each team of the plurality of teams to access and use a tool to specify which sign-on options, of a plurality of sign-on options made available by the service, are assigned to member roles associated with the team to which the administrator belongs;
wherein the plurality of sign-on options include at least:
a first sign-on option in which only the first mechanism may be used, and
a second sign-on option in which only the second mechanism may be used; and
wherein the method is performed by one or more computing devices.

US Pat. No. 9,864,849

VIEW-BASED EXPIRATION OF SHARED CONTENT

Dropbox, Inc., San Franc...

1. A method, comprising:
at one or more computing devices comprising one or more processors and memory storing one or more computer programs executed
by the one or more processors to perform the method, performing operations comprising:

receiving a view access request from a client device that is to be authorized to access a server-stored content item at an
online content management system, the view access request comprising a shared link to the server-stored content item;

determining the view access request is authorized based, at least in part, on a view access counter associated with at least
the shared link;

resolving the shared link to the server-stored content item;
sending, to the client device, at least a portion of the server-stored content item along with instructions which, when executed
at the client device, cause sending an acknowledgement to a server based on verifying one or more presentation conditions
with respect to the server-stored content item have been satisfied at the client device;

wherein at least one presentation condition of the one or more presentation conditions is that at least the portion of the
server-stored content item be presented in a foreground user interface at the client device for at least a predetermined amount
of time;

wherein the instructions are configured to verify that at least the portion of the server-stored content item is presented
in the foreground user interface at the client device for at least the predetermined amount of time and send the acknowledgement
to the server only if the one or more presentation conditions are satisfied;

receiving the acknowledgement from the client device;
in response to receiving the acknowledgement, incrementing the view access counter associated with at least the shared link.

US Pat. No. 9,697,258

SUPPORTING ENHANCED CONTENT SEARCHES IN AN ONLINE CONTENT-MANAGEMENT SYSTEM

Dropbox, Inc., San Franc...

1. A method for performing an enhanced content search in an online content-management system, the method comprising:
the online content-management system receiving, from a client device, a search query to search for content items in the online
content-management system, wherein the search query includes one or more search parameters, the client device associated with
a particular user account held with the online content management system;

the online content-management system using the one or more search parameters to generate search results, each of the search
results corresponding to a content item, in the online content-management system, that satisfies the one or more search parameters;

the online content-management system ranking the search results based on access characteristics for the content items corresponding
to the search results;

the online content-management system sending the ranked search results to the client device;
wherein one of the access characteristics on which the ranking is based includes, for each content item of the content items
corresponding to the search results, a number of user accounts held with the online content-management system among which
the each content item is shared;

wherein at least one content item of the content items corresponding to the search results is shared among a plurality of
user accounts held with the online content-management system such that one or more updates to the at least one content item
made at a client device of a plurality of client devices associated with the plurality of user accounts are synchronized via
the online content-management system to at least one other client device of the plurality of client devices; and

wherein another of the access characteristics on which the ranking is based includes, for each content item of the content
items corresponding to the search results, a number of different computing devices that each are both (i) currently synchronizing
the each content item and (ii) associated with the particular user account that is associated with the client device from
which the search query is received.

US Pat. No. 9,697,269

CONTENT ITEM BLOCK REPLICATION PROTOCOL FOR MULTI-PREMISES HOSTING OF DIGITAL CONTENT ITEMS

Dropbox, Inc., San Franc...

1. A method, comprising:
at a computing device comprising one or more processors and storage media storing one or more computer programs executed by
the one or more processors to perform the method, performing operations comprising:

receiving, from a server, a server journal entry, the server journal entry identifying a plurality of content item blocks
of a content item represented by the server journal entry;

storing a replication task log entry corresponding to the server journal entry in a replication task log, the replication
task log entry identifying the plurality of content item blocks of the content item represented by the server journal entry
and identifying an on-premises block server;

offering to send the plurality of content item blocks identified in the replication task log entry to the on-premises block
server identified in the replication task log entry;

receiving, from the on-premises block server, an acceptance of the offer to send the plurality of content item blocks, the
acceptance identifying less than all of the plurality of content item blocks;

sending less than all of the plurality of content item blocks to the on-premises block server; and
updating metadata of the replication task log entry to indicate replication task completion after successfully sending less
than all of the plurality of content item blocks to the on-premises block server.

US Pat. No. 9,660,858

MAINTAINING CONSISTENT GLOBALLY UNIQUE IDENTIFIERS VIA AN ASYNCHRONOUS INTERFACE

Dropbox, Inc., San Franc...

1. A system comprising:
a processor; and
a non-transitory computer-readable storage medium having stored therein processor-executable instructions for causing the
processor to:

receive, from at least one client device, content item change information derived from data generated by an operating system
function at the client device with respect to a content item stored in a multi-user network-based content item management
environment and having a globally unique identifier associated with the content item, where the globally unique identifier
is associated with a storage location and at least one authorized user having access to the content item;

analyze the content item change information to determine a corresponding action at the content item management environment;
implement the corresponding action;
update the globally unique identifier associated with the content item in accordance with the corresponding action; and
provide a confirmation of the corresponding action including the updated globally unique identifier to the client device.

US Pat. No. 9,641,488

ADVANCED SECURITY PROTOCOL FOR BROADCASTING AND SYNCHRONIZING SHARED FOLDERS OVER LOCAL AREA NETWORK

DROPBOX, INC., San Franc...

1. A computer-implemented method comprising:
receiving, at a first application associated with a content management system on a first client device and a second application
associated with the content management system on at least one second client device, from the content management system, a
shared secret key generated at the content management system for a shared folder and a corresponding namespace identifier;

generating, via at least one processor of the first client device, a secure identifier based on the shared secret key and
namespace identifier and further based on a cryptographic nonce that is uniquely generated for an announcement message;

broadcasting, by the first application associated with the content management system on the first client device, the announcement
message comprising the secure identifier and the cryptographic nonce to the second application associated with the content
management system on the at least one second client device;

receiving the announcement message at the second application associated with the content management system on the at least
one second client device;

determining, based on the received announcement message, that the shared folder is associated with the at least one second
client device based on the generated secure identifier,

establishing a connection over a local area network between the first application associated with the content management system
on the first client device and the second application associated with the content management system on the at least one second
client device; and

synchronizing at least one content item in the shared folder between the first client device and the at least one second client
device over the connection.

US Pat. No. 9,565,232

IMPORTING CONTENT ITEMS

Dropbox, Inc., San Franc...

1. A method comprising:
identifying, by a processor, a file in a first directory on a client device;
determining, by the processor, that the file is a content item when the file includes a predetermined file extension;
creating a duplicate of the content item;
determining if the duplicate of the content item is a duplicate of a content item stored in a synchronization folder on the
client device;

storing the duplicate of the content item in the synchronization folder on the client device after a determination that the
duplicate of the content item is not stored in the synchronization folder, wherein the synchronization folder is a folder
associated with a content management application;

determining if the duplicate of the content item in the synchronization folder is a duplicate of a content item stored in
an associated account in a content management system; and

importing, by the processor, the duplicate of the content item in the synchronization folder to the associated account of
the content management system associated with the content management application after a determination that the duplicate
of the content item in the synchronization folder is not a duplicate of a content item stored in the associated account of
the content management system.

US Pat. No. 9,462,054

SYSTEMS AND METHODS FOR PROVIDING A USER WITH A SET OF INTERACTIVITY FEATURES LOCALLY ON A USER DEVICE

DROPBOX, INC., San Franc...

18. A user device comprising:
a display screen;
communications circuitry;
a non-transitory storage medium storing instructions thereon; and
at least one processor, wherein the instructions, when executed by the at least one processor, cause the user device to:
access a user account on a content management system over a communications network using the communications circuitry, the
user device being authorized by the user account;

download a first version of an image from the account on the content management system, the first version of the image comprising
a low resolution version of the image;

display the first version of the image within a user interface on the display screen;
detect one or more user interactions with the displayed first version of the image;
store data corresponding to the one or more user interactions with the displayed first version of the image within the storage;
send the stored data to the content management system over the communications network using the communications circuitry;
display the first version of the image in a way that reflects the one or more user interactions;
download a second version of the image from the account on the content management system while the first version of the image
is displayed within the user interface, the second version of the image comprising a high resolution version of the image;
and

display the second version of the image in a way that reflects the one or more user interactions.

US Pat. No. 9,426,216

CONTENT ITEM SHARING AND SYNCHRONIZATION SYSTEM WITH TEAM SHARED FOLDERS

Dropbox, Inc., San Franc...

1. A method comprising:
receiving an indication that a first user accepted an invitation to join a team;
wherein a second user is already a member of the team when the indication is received;
wherein the second user is not the first user;
in response to receiving the indication that the first user accepted the invitation to join the team, performing team joining
operations comprising (a), (b) and (c);

wherein the team joining operation (a) comprises joining the first user to the team of which the second user is already a
member;

wherein the team joining operation (b) comprises determining whether a team shared folder of the team is active or inactive
as configured by the second user;

wherein determining whether a team shared folder of the team is active or inactive comprises examining metadata associated
with the team shared folder that specifies whether the team shared folder is active or inactive;

wherein the team joining operation (a) comprises joining the first user to the team irrespective of whether the team shared
folder is active or inactive; and

wherein the team joining operation (c) comprises automatically causing, based on a first copy of the team shared folder stored
at one or more server computing devices, a separate second copy of the team shared folder to be stored at a client computing
device of the first user, only if the metadata associated with the team shared folder specifies that the team shared folder
is active;

wherein the method is performed by one or more computing devices.

US Pat. No. 9,230,191

PRESENTATION AND ORGANIZATION OF CONTENT

Dropbox, Inc., San Franc...

1. A method for organization and presentation of content, the method comprising:
receiving a plurality of images and one or more similarity rules for image categorization;
comparing each image from the plurality of imam to each remaining image from the plurality of images, including:
(a) applying the one or more similarity rules to the each image and the each remaining image from the plurality of imam to
obtain a numeric result, and

(b) recording the numeric result for the each image and the each remaining image in a numeric representation, the numeric
representation embodying one or more similarities found between the each image and the each remaining image;

using recorded numeric representations as a reference for clustering the plurality of images into a plurality of clusters
of similar images;

storing each image with a marker denoting a cluster, of the plurality of clusters, into which the each image is clustered;
wherein the plurality of clusters comprises a first cluster and a second cluster;
wherein a first plurality of images, of the plurality of imam, are clustered into the first cluster;
wherein a second plurality of images, of the plurality of imam, are clustered into the second cluster;
wherein a first numeric representation, of the recorded numeric representations, embodies one or more similarities found between
two images of the first plurality of images;

wherein a second numeric representation, of the recorded numeric representations, embodies one or more similarities found
between two images of the second plurality of images;

determining a cluster link density based at least upon the first numeric representation and the second numeric representation,
the cluster link density embodying one or more similarities found between the first plurality of images and the second plurality
of images; and

based on the cluster link density, merging the first cluster with the second cluster.

US Pat. No. 9,755,995

SYSTEM AND METHOD FOR APPLYING GESTURE INPUT TO DIGITAL CONTENT

DROPBOX, INC., San Franc...

1. A method comprising:
detecting initiation of a gesture input at a digital content item rendered in a user interface; during a duration of the gesture
input:

tracking the gesture input from a start location on a graphical user interface to a current location in a first direction
on the graphical user interface, wherein the start location is within a representation of the digital content item on the
graphical user interface;

determining, based on the tracked gesture input, a magnitude of a current displacement of the gesture input from the start
location to the current location, where the magnitude corresponds to a distance between the start location and the current
location;

determining, based on the magnitude of the current displacement of the gesture input, a current gesture state from a set of
gesture states, where the current gesture state corresponds to a first gesture state when the magnitude is less than a threshold
distance and where the current gesture state corresponds to a second gesture state when the magnitude is greater than or equal
to the threshold distance;

identifying an action mapped to the current gesture state; and
rendering a graphic of the identified action;
upon detecting a termination of the gesture input, selecting the identified action as a selected action; and
applying the selected action to the digital content item.

US Pat. No. 9,626,340

BOOKMARKING SHARED FILE AND FOLDER LINKS

Dropbox, Inc., San Franc...

1. A synchronized content management system comprising:
one or more processors; and
memory having stored therein instructions which, when executed by said one or more processors, cause the synchronized content
management system to:

store information regarding a plurality of file sharing links associated with the synchronized content management system,
wherein the plurality of file sharing links provide access to files that are stored in the synchronized content management
system; and

selectively display a listing of said plurality of file sharing links, wherein the listing displays:
in association with a first link, from the plurality of file sharing links, shared with a first link recipient from a first
link sharer:

a first location of a first respective file referenced by the first link, the first location being at the synchronized content
management system;

a first identification of the first link sharer who shared the first link with the first link recipient;
a second identification of the first link recipient; and
in association with a second link, from the plurality of file sharing links, shared by a second link sharer with the first
link sharer:

a second location of a second respective file referenced by the second link, the second location being at the synchronization
content management system;

a third identification of the second link sharer who shared the second link with the first link sharer; and
the first identification of the first link sharer.

US Pat. No. 9,563,820

PRESENTATION AND ORGANIZATION OF CONTENT

Dropbox, Inc., San Franc...

1. A method comprising:
at one or more computing devices comprising one or more processors and memory storing one or more computer programs executed
to perform the method, performing operations comprising:

determining a plurality of numeric representations for each pair of digital images, of a plurality of pairs of digital images,
according to a plurality of similarity rules applied to the each pair of digital images;

for the each pair of digital images, of the plurality of pairs of digital images, determining a link density based at least
upon the plurality of numeric representations determined for the each pair of digital images;

forming a cluster comprising one or more pairs of digital images of the plurality of pairs of digital images, based at least
upon the link densities determined for the plurality of pairs of digital images; and

storing, in the memory, data identifying the one or more pairs of digital images in the cluster.

US Pat. No. 9,519,525

FILE-LEVEL COMMENTING

DROPBOX, INC., San Franc...

1. A computer-implemented method, comprising:
under the control of one or more computer systems configured with executable instructions,
providing a content item for display on a first computing device, the content item being viewable between the first computing
device and at least one second computing device through an account with an online content management system, with the account
being accessible via the first computing device and the at least one second computing device;

providing a comment interface associated with the content item for concurrent display with the content item, the comment interface
interfacing with the content item through an application programming interface (API) provided by the online content management
system; and

in response to a comment provided to the comment interface on the first computing device, synchronizing the comment with both
the first computing device and the at least one second computing device, wherein synchronizing the comment results in a copy
of the comment being attached to both the content item stored by the first computing device and the content item stored by
the at least one second computing device, and wherein the synchronizing does not alter data in the content item stored on
either the first computing device or the at least one second computing device, and wherein the comment provided to the comment
interface is received through the API.

US Pat. No. 9,479,469

COLLABORATIVE DRAFTING OF A MESSAGE

DROPBOX, INC., San Franc...

1. A method comprising:
receiving, at a server, a request from a first client of a creating user to create a collaborative draft of a message, the
request including an identifier of a message recipient, an identifier of a collaborating user, and message content;

storing, by the server, a draft message in association with an author list identifying a plurality of authors for the message,
the authors including the creating user and the collaborating user, the draft message including the received message content;

generating and sending, by the server, an invitation to the collaborating user at a second client;
in response to the collaborating user accepting the invitation, adding, by the server, the draft message to a drafts folder
maintained by the server for the collaborating user;

receiving, by the server, one or more updates to the draft message from one or more of the authors;
storing, by the server, an updated draft message based on the received one or more updates;
propagating, by the server, the updated draft message to at least one of the authors; and
in response to a send instruction from one or more of the authors, sending the updated draft message as a message to the message
recipient, the message including an author-identifying field that identifies each of the authors.

US Pat. No. 9,185,164

IDLE STATE TRIGGERED CONSTRAINED SYNCHRONIZATION OF SHARED CONTENT ITEMS

Dropbox, Inc., San Franc...

1. A computer-implemented method of synchronizing content items comprising:
receiving, from a client device, a measure of activity;
determining, by a content management system, an idle state based on the measure of activity;
responsive to determining, by the content management system, that the client device is idle and that a retention state for
a shared content storage directory on the client device violates predetermined retention state criteria:

identifying, by the content management system, one or more actions that when performed on the shared content storage directory
will produce a retention state for the shared content storage directory that satisfies the predetermined retention state criteria;
and

requesting, by the content management system, that the client device perform the one or more identified actions on the shared
content storage directory.

US Pat. No. 9,053,165

STRUCTURED CONTENT ITEM SYNCHRONIZATION

Dropbox, Inc., San Franc...

1. A computer-implemented method performed by a content management system, the method comprising:
receiving, by the content management system from a first client device, a notification of a change to a content item stored
on the first client device, the content item having a data format with data semantics unknown to the content management system,
the notification of the change comprising an indication of a first semantic location of the change within the content item
and an indication of a first version of the content item at a time of the change;

determining, based on the indication of the first version of the content item, whether a second client device has already
made a second change to the content item with respect to the first version of the content item;

responsive to determining that the second client device has already made the second change, providing a notification of change
rejection to the first client device, the notification of change rejection comprising an indication of a second semantic location
of the second change within the content item, the indication of the second semantic location having been provided by the second
client device;

receiving a request from the second client device to receive changes to the content item;
registering the second client device to receive changes to the content item;
receiving from the first client device a notification of a third change resulting from the first client device combining the
change and the second change, the notification of the third change comprising an indication of a third semantic location of
the third change within the content item; and

responsive to receiving the notification of the third change, providing a notification of the third change to the second client
device.

US Pat. No. 9,858,577

CONTENT ITEM DELIVERY FOR PAYMENT

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
receiving, by a content management system, a request to share a content item;
providing a link to share the content item, the link identifying a copy of the content item within the content management
system;

causing, in relation to the provided link, payment information to be gathered and processed;
providing, in response to the gathering and processing of the payment information, access to the content item; and
synchronizing, after the gathering and processing of the payment information, the content item with at least one client device
associated with a user account of the content management system, the synchronizing performed by causing the copy of the content
item to be stored locally on the at least one client device.

US Pat. No. 9,852,377

PROVIDING INTELLIGENT STORAGE LOCATION SUGGESTIONS

DROPBOX, INC., San Franc...

1. A method comprising:
determining, by at least one processor, characteristics of a plurality of content items stored in a storage location, the
storage location associated with a user account;

training, by the at least one processor, a machine-learning model using a plurality of classifiers for a plurality of storage
locations associated with a plurality of user accounts, the plurality of classifiers comprising a classifier based on the
characteristics of the plurality of content items in the storage location associated with a user account;

determining, by the at least one processor in response to a request to store an identified content item and using the machine-learning
model, that the identified content item is similar to the plurality of content items stored in the storage location associated
with the user account; and

providing, for display within a user interface and based on determining that the identified content item is similar to the
plurality of content items using the machine-learning model, a graphical element indicating a recommendation to store the
identified content item in the storage location associated with the user account.

US Pat. No. 9,817,878

STORAGE CONSTRAINED SYNCHRONIZATION OF SHARED CONTENT ITEMS

Dropbox, Inc., San Franc...

1. A computer-implemented method of synchronizing content items, the method comprising:
storing by a client device a shadow item, wherein the shadow item represents a content item stored on a separate host device
that is remote to the client device and the shadow item is comprised of metadata of the content item stored on the client
device, the metadata including a size of the represented content item, without content data of the content item being on the
client device;

determining from the metadata of the shadow item that the size of the represented content item exceeds a remaining amount
of storage allocated on the client device;

selecting at least one content item to remove from the client device, each selected content item already stored on the host
device, by:

accessing a list of content items synchronized between the client device and the host device, the list indicating a most recent
access time for each content item; and

selecting one or more least recently accessed listed content items such that the total size of the selected content items
is greater than or equal to the size of the represented content item;

replacing each selected content item with a shadow item representing the selected content item on the client device;
retrieving the represented content item from the host device; and
replacing the shadow item representing the represented content item with the represented content item.

US Pat. No. 9,747,321

PROVIDING A CONTENT PREVIEW

DROPBOX, INC., San Franc...

1. A computer-implemented method comprising:
splitting, via one or more processors, a content item into at least a first fixed size block containing a first portion of
the content item and a second fixed size block containing a second portion of the content item, the second portion being different
from the first portion;

computing, via the one or more processors, a first hash identifier by hashing at least a part of the first portion of the
first fixed size block with a first hash key;

computing, via the one or more processors, a second hash identifier by hashing at least a part of the second portion of the
second fixed size block with a second hash key;

generating, via the one or more processors, a third hash key by combining the first hash identifier and the second hash identifier;
determining, based on the third hash key, that a content preview of the content item is not available; and
creating, via the one or more processors, in response to the determination that the content preview of the content item is
not available, the content preview of the content item.

US Pat. No. 9,692,840

SYSTEMS AND METHODS FOR MONITORING AND APPLYING STATISTICAL DATA RELATED TO SHAREABLE LINKS ASSOCIATED WITH CONTENT ITEMS STORED IN AN ONLINE CONTENT MANAGEMENT SERVICE

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:
monitoring a plurality of requests for a plurality of shared content items, each shared content item, of the plurality of
shared content items, corresponding to a different shareable link, of a plurality of shareable links;

wherein each request, of the plurality of requests, is for one shared content item, of the plurality of shared content items,
and specifies the shareable link, of the plurality of shareable links, corresponding to the shared content item;

wherein monitoring the plurality of requests for the plurality of shared content items comprises, for each request, of the
plurality of requests, incrementing a counter associated with the shareable link specified in the each request;

based on the counters associated with the plurality of shareable links, identifying a subset of one or more shared content
items, of the plurality of shared content items, with a number of received requests via shareable links exceeding a threshold;

identifying, from a share history of a user, a group of target identifiers with which the subset of one or more shared content
items have been shared by the user;

determining, via a processor, one or more common characteristics common among the subset of one or more shared content items;
identifying an unshared content item having the one or more common characteristics;
sending a recommendation to the user, the recommendation recommending that the user create a shareable link for the unshared
content item and recommending that the user share the shareable link for the unshared content item with the group of target
identifiers; and

wherein the method is performed by one or more computer systems comprising one or more processing units.

US Pat. No. 9,667,676

REAL TIME COLLABORATION AND DOCUMENT EDITING BY MULTIPLE PARTICIPANTS IN A CONTENT MANAGEMENT SYSTEM

Dropbox, Inc., San Franc...

1. A method comprising:
receiving a request to open a content item stored in association with a user account at a content management system (CMS),
the request being received by a client application associated with the CMS installed on a client device, the content item
being displayed via a native application associated with the content item on the client device;

establishing, by the client application, a peer-to-peer connection with at least one second client device to initiate a collaborative
editing session to edit the content item with the at least one second client device;

responsive to the peer-to-peer connection being established, sending a real-time data stream of the content item to the at
least one second client device, the real-time data stream being presented on a screen sharing window within a webpage associated
with the CMS displayed on the at least one second client device, wherein transmitting the real-time data stream of the content
item to the at least one second client device establishes the client device as a host client device for the collaborative
editing session;

receiving, by the client application, instructions from the at least one second client device that when executed by the native
application on the host client device cause the native application to apply one or more changes to the content item, the instructions
corresponding to a user of the at least one second client device making the one or more changes to the content item via the
sharing window, wherein the instructions do not include an updated content item with the one or more changes applied thereto;
and

providing, by the client application, the instructions to the native application to apply the one or more changes to the content
item on the host client device.

US Pat. No. 9,600,701

INTER-DEVICE DATA TRANSFER BASED ON BARCODES

Dropbox, Inc., San Franc...

1. A method, comprising:
at a sending computing device comprising one or more processors and memory storing one or more computer programs executed
by the one or more processors to perform the method, performing operations comprising:

encoding a plurality of data items as a plurality of barcodes;
simultaneously displaying, to a receiving computing device, two or more barcodes of the plurality of barcodes on a display
screen of, or operatively coupled to, the sending computing device;

capturing an acknowledgement barcode via a camera module of, or operatively coupled to, the sending computing device, the
acknowledgement barcode encoding one or more sequence numbers associated with one or more of the plurality of data items that
were successfully received by the receiving computing device; and

determining, based on the one or more sequence numbers encoded in the acknowledgement barcode, which of the plurality of data
items were successfully received by the receiving computing device and which of the plurality of data items were not successfully
received by the receiving computing device.

US Pat. No. 9,558,401

SCANBOX

DROPBOX, INC., San Franc...

1. A method for content item classification, comprising:
receiving a digital image;
identifying, by at least one processor, a plurality of angle measurements for possible page edges of at least one potential
document within the received image, wherein identifying the plurality of angle measurements comprises:

identifying, by the at least one processor, a plurality of edge candidates of the at least one potential document; and
calculating an angle measurement for each edge candidate of the plurality of edge candidates based on a plurality of vectors,
each vector of the plurality of vectors extending orthogonally from a selected origin to a point corresponding to a given
edge candidate of the plurality of edge candidates;

determining, based on the identified plurality of angle measurements, whether the image contains a document; and
in response to determining that the image contains a document, classifying the image as a document-containing image.

US Pat. No. 9,542,377

NOTE BROWSER

DROPBOX, INC., San Franc...

1. A computer implemented method of displaying shared notes, comprising:
receiving and storing at a note sharing system a plurality of notes, each note constituting a separate content item created
by an author, a time the note was created, and a creation location at which the note was created;

storing at the note sharing system, for each of a plurality of the stored notes, information identifying one or more users
with whom the note is shared;

receiving at the note sharing system edits to a plurality of the stored notes, each edit having a time of the edit, and an
edit location of the edit, and a user who made the edit;

storing at the note sharing system, for each note, an edit list including for each edit, the time of an edit to the note,
a user that made the edit, and the edit location;

transmitting to the note sharing system a request for a list of notes associated with a current user of the note sharing system;
receiving from the note sharing system a list of notes associated with the user, including for each note, a time of last edit
of the note, a list of users with whom the note is shared, the creation location of the note, and at least one edit location
of the note;

for each note, mapping the creation location of the note to a geographically nearest major location marker;
grouping the plurality of notes by i) at least one of the major location markers or ii) at least one of the edit locations
at which the notes were edited, to form at least one location group comprising at least one note;

ordering the location groups by at least one of i) alphabetically or ii) proximity to a location of a client device that transmitted
the request to the note sharing system; and

ordering the notes within each location group based on the times of the last edits, from a most recently edited note in a
location group to a least recently edited note in a location group; and

displaying a plurality of the notes of received notes in a note browser in the ordered location groups, including the location
of each group, and the ordered notes within each location group, including the most recently edited note in each location
group.

US Pat. No. 9,538,310

ASSOCIATING A PARTICULAR ACCOUNT CONFIGURATION DURING THE OUT OF BOX EXPERIENCE FOR A MOBILE DEVICE

DROPBOX, INC., San Franc...

1. A computer-implemented method of associating an account configuration with an account for a user by at least one processor,
comprising the steps of:
receiving information from a mobile device, wherein the information comprises:user information;
a mobile device identification number; and
a code that is preloaded in memory contained within the mobile device prior to the user receiving the device; wherein the
code is associated with the account configuration and the account information is associated with a free cloud-base storage
space provided to the user for a fixed period of time and a renewal notice is provided when the fixed period of time expired;

in response to receiving the information from the mobile device, verifying, using the mobile device identification number
and the code, that the mobile device qualifies the user for the account configuration; and

in response to verifying that the mobile device qualifies the user for the account configuration, prompting the user to select:
associating the account configuration with an existing user account based on the user information, and
establishing a new account for the user associated with the user information and associating the account configuration with
the new account.

US Pat. No. 9,537,805

ACTIVATION OF DYNAMIC FILTER GENERATION FOR MESSAGE MANAGEMENT SYSTEMS THROUGH GESTURE-BASED INPUT

DROPBOX, INC., San Franc...

1. A method, comprising:
receiving a selection of a content item, wherein the selection includes a gesture;
analyzing the gesture to identify one or more actions to be performed on the selected content item;
determining that the gesture includes a hold portion based on a first time period associated with the gesture satisfying a
first threshold value;

determining a second time period associated with the hold portion;
comparing the second time period associated with the hold portion to a second threshold value;
upon determining that the second time period is less than the second threshold value, performing at least one action from
a first set of actions;

upon determining that the second time period is greater than the second threshold value, performing at least one action from
a second set of actions;

defining a first rule associated with the at least one action that is performed upon determining that the second time period
is less than the second threshold value; and

defining a second rule associated with the at least one action that is performed upon determining that the second time period
is greater than the second threshold value.

US Pat. No. 9,501,579

LOCATION-INDEPENDENT LINKS TO CONTENT AT ONLINE CONTENT MANAGEMENT SYSTEMS

Dropbox, Inc., San Franc...

1. A computer-implemented method for facilitating access to content, comprising:
responsive to receiving, at an online content management system, a content item from a user, and the online content management
system and one or more client devices are configured to maintain a synchronized copy of the content item;

storing a particular synchronized copy of the content item at a location within the online content management system;
creating a mapping of an identifier of the content item to the location, wherein the mapping comprises an entry within a table
of a relational database of the online content management system;

tracking the content item at the online content management system by updating the mapping based on a change to at least one
of the particular synchronized copy of the content item or another synchronized copy of the content item maintained on one
of the client devices; and

using the identifier, stored on an electronic device, to provide a link to the content item, wherein the link enables access
to the content item from the electronic device independently of the location and wherein the location comprises a file path
within a data store of the online content management system;

wherein tracking the content item at the online content management system comprises:
responsive to a particular attempt, by the electronic device, to access the content item:
using the identifier to obtain the mapping from the table;
extracting the file path from the mapping; and
using the file path to provide, to the electronic device, access to the particular synchronized copy of the content item;
responsive to determining that the other synchronized copy of the content item has been moved to a new file path on the one
of the client devices:

writing the mapping to a previous version of the mapping;
writing the new file path to the mapping; and
moving the particular synchronized copy of the content item to the new file path within the data store; and
responsive to a subsequent attempt, by the electronic device, to access the content item:
using the identifier to obtain the mapping from the table;
extracting the new file path from the mapping; and
using the new file path to provide, to the electronic device, access to the particular synchronized copy of the content item.

US Pat. No. 9,405,643

MULTI-LEVEL LOOKUP ARCHITECTURE TO FACILITATE FAILURE RECOVERY

Dropbox, Inc., San Franc...

1. A computer-implemented method for operating a data storage system, comprising:
receiving a request to retrieve a data block from the data storage system, wherein the request includes a hash that functions
as a global identifier for the data block;

using the hash to look up a bucket and an associated cell that contains the data block, wherein the bucket aggregates a large
number of data blocks, wherein the bucket is located in the associated cell that comprises a set of object storage devices
(OSDs), and wherein the lookup is performed in a hash database (HDB) for the data storage system;

within the cell, using the bucket to look up an OSD that contains the bucket, wherein the lookup is performed in a local bucket
database (BDB) for the cell;

within the OSD, using the bucket and the hash to determine an offset and a length for the data block in a write-ahead log
that stores data blocks for the bucket; and

returning the data block from the determined offset in the write-ahead log;
wherein an OSD comprises a server that comprises one or more storage devices.

US Pat. No. 9,218,368

SYSTEM AND METHOD FOR ORGANIZING FILES BASED ON AN IDENTIFICATION CODE

Dropbox, Inc., San Franc...

1. A computer-implemented method of uploading files from a client device to a content management server using at least one
processor, comprising:
receiving by a processor, from the client device, a plurality of files, each file having respective associated data including
a file name;

determining by a processor, a creation time for each file based on the respective associated data;
creating by a processor, a standardized name for each file based on the determined creation time;
associating by a processor, the standardized name with the corresponding file for each of the files;
determining by a processor, that more than one of the received plurality of files have duplicate standardized names; and
adding by a processor, a modifier to each standardized name for the duplicate standardized names, wherein each modifier is
based on the associated data of the file for which it modifies.

US Pat. No. 9,848,033

SYSTEM AND METHOD FOR PROACTIVELY SENDING HOSTED CONTENT ITEMS TO USER COMPUTING DEVICES

Dropbox, Inc., San Franc...

1. A method for proactively sending a hosted content item to a user computing device, the method performed by a computing
system comprising one or more processors and memory, the method comprising:
collecting access event data representing a plurality of access events pertaining to a plurality of content items hosted with
an online content management service;

wherein the access event data indicates that:
a first access event of the plurality of access events pertains to a first content item of the plurality of content items,
a second access event of the plurality of access events pertains to the first content item of the plurality of content items,
the first access event occurs at a first user computing device of a particular user,
the second access event occurs at a second user computing device of the particular user, and
the first user computing device and the second user computing device are different user computing devices;
determining, based on the access event data, a cross-device access signal;
wherein the determining the cross-device access signal is based on the access event data indicating that:
the first access event of the plurality of access events pertains to the first content item of the plurality of content items,
the second access event of the plurality of access events pertains to the first content item of the plurality of content items,
the first access event occurs at the first user computing device of the particular user,
the second access event occurs at the second user computing device of the particular user, and
the first user computing device and the second user computing device are different user computing devices;
wherein the cross-device access signal indicates:
the particular user,
the first content item,
the first user computing device, and
the second user computing device;
collecting additional access event data representing a third access event pertaining to the first content item;
wherein the additional access event data indicates that the third access event occurs at the first user computing device;
determining, based on the additional access event data, that the third access event satisfies the cross-device access signal;
and

based on the third access event satisfying the cross-device access signal, sending the first content item to the second user
computing device.

US Pat. No. 10,102,305

TRENDING OF CONTENT ITEMS BASED ON CURRENT INTERACTIONS BY TOP COLLABORATORS

Dropbox, Inc., San Franc...

1. A method performed by a computing system comprising one or more processors and memory, the method comprising:determining a collaboration score for each collaborator in a set of collaborators with a particular user account;
wherein the determining the collaboration score for each collaborator in the set of collaborators is based on one or more collaboration events, in a content management system, between the particular user account and the each collaborator;
selecting a set of top collaborators from the set of collaborators, the selecting the set of top collaborators based on the collaboration score for each collaborator in the set of top collaborators;
wherein one or more collaborators in the set of collaborators are not selected for inclusion in the set of top collaborators;
after the selecting the set of top collaborators, identifying a particular content item that one or more top collaborators, in the set of top collaborators, are currently interacting with;
wherein the identifying the particular content item that the one or more top collaborators are currently interacting with is based on one or more interaction events in the content management system, the one or more interaction events caused by one or more current interactions with the particular content item by the one or more top collaborators;
wherein each interaction event of the one or more interaction events is associated, in a data structure maintained in the memory for the particular user account, with a time indicating when a top collaborator of the one or more top collaborators interacted with the particular content item, the time being after the selecting the set of top collaborators and after a start time of a sliding time window, wherein the one or more interaction events are within the sliding time window and are considered current interaction events;
computing a trend score for the particular content item based, at least in part, on the collaboration scores of the one or more top collaborators currently interacting with the particular content item;
based at least in part on the trend score, selecting the particular content item for inclusion in a currently trending content items list; and
causing a representation of the currently trending content items list to be presented in a graphical user interface to a user of the particular user account.

US Pat. No. 10,088,990

SEAMLESS EDITING AND SAVING OF ONLINE CONTENT ITEMS USING APPLICATIONS

Dropbox, Inc., San Franc...

1. A method comprising:detecting, by a client application on a user device, an edit control request for a first content item stored in a first user account of a content management system;
in response to detecting the edit control request for the first content item, displaying, by the client application, a selection interface operable to present a set of one or more selectable editing application identifiers;
receiving, via the selection interface, a selection of a preferred editing application from the set of one or more selectable editing application identifiers, the preferred editing application being different than the client application, the preferred editing application configured to communicate with the client application to request performance of a set of one or more activities involving the first content item;
providing the preferred editing application access to the first content item via the client application and allowing interaction between the preferred editing application and the first content item through the client application, wherein the access provided is based on link information maintained by the content management system and associated with the first user account;
determining whether the link information maintained by the content management system identifies the preferred editing application, when the link information does not identify the preferred editing application, restricting access to the first content item by the preferred editing application thereby preventing the preferred editing application from performing at least one activity of the set of one or more activities involving the first content item; and
when the link information identifies the preferred editing application, permitting access to the first content item by the preferred editing application thereby allowing the preferred editing application to perform the at least one activity of the set of one or more activities involving the first content item.