Abstract:
A notes system is presented with a content management system. The notes system manages creation and distribution of edits to notes to users sharing the notes. The notes are stored as a series of edits at the notes system. When an edit to a note is received, the edit is propagated to users subscribed to a note by a backend server responsible for managing the note. The sharing users are notified through application servers associated with each sharing user. The notes server includes various indices for searching the notes and allows notes to be searched quickly to organize viewing by a user of notes and identification of relevant material in the notes. The stored edits are used to display edits to a note to a user by replaying the accessed note to the user.
Abstract:
A user of a content management system can store one or more content items at the user's account with the system. In some instances, the system can generate and present a preview of a content item of interest (e.g., a content item selected by the user). In addition to the preview of the content item, the system can generate and present a web address or other machine-readable code referring to (or otherwise associated with) the preview of the content item. Various embodiments of the present disclosure can enableh the web address or other machine-readable code to be sharable and to provide access to the content item (or a copy thereof). For example, the user who is previewing the content item can share the web address of the preview with one or more other users. The one or more users can then access the content item via the web address.
Abstract:
Systems, methods, and computer-readable storage media for ordering editing operations in collaborative editing of shared content items. The content management system can receive an edit operation from a first client for a content item that is shared for collaborative editing between the first client and a second client. In response to receiving the operation, the system can send an update to the first client including a previous operation received from the second client prior to receiving the operation from the first client, wherein the update can instruct the first client to perform a transform operation to transform a parameter of the operation according to an effect of the previous operation received from the second client. The system can then receive a result of the transform operation from the first client and update the shared content item based on the previous operation and the result of the transform operation.
Abstract:
Systems, methods, and computer-readable storage media for implementing globally unique identifiers (GUIDs) in a multi-user network-based content management environment, from the perspective of a server creating a GUID for a content item, and serving requests based on the GUID. A content management system can identify a content item at a location within the data storage. Each user of the content management system can be associated with a respective user account having an amount of storage space within the storage environment. The content management system can model a user account as a collection of content item objects and globally unique identifiers that are independent of a directory-based hierarchy of content items.
Abstract:
Systems, methods, and computer-readable storage media for maintaining consistent globally unique identifiers (GUIDs) for content items accessible via an asynchronous interface in a multi-user network-based content management environment (storage environment). The example content management system can make a content item within a data storage available to an authorized user via the asynchronous interface, and receive, from a client device, content item change information derived from data generated by an operating system function at the client device. Then the content management system can analyze the content item change information to determine a corresponding action at the content management system, and implement the corresponding action on the server side. The content management system can optionally provide a confirmation of the corresponding action to the client device.
Abstract:
Systems, methods, and computer-readable storage media for implementing globally unique identifiers (GUIDs) in a multi-user network-based content management environment, from the perspective of a server creating a GUID for a content item, and serving requests based on the GUID. A content management system can identify a content item at a location within the data storage. Each user of the content management system can be associated with a respective user account having an amount of storage space within the storage environment. The content management system can model a user account as a collection of content item objects and globally unique identifiers that are independent of a directory-based hierarchy of content items.
Abstract:
The speed at which files can be accessed from a remote location is increased by predicting the file access pattern based on a predictive model. The file access pattern describes the order in which blocks of data for a given file type are read by a given application. From aggregated data across many file accesses, one or more predictive models of access patterns can be built. A predictive model takes as input the application requesting the file access and the file type being requested, and outputs information describing an order of data blocks for transmitting the file to the requesting application. Accordingly, when a server receives a request for a file from an application, the server uses the predictive model to determine the order that the application is most likely to use the data blocks of the file. The data is then transmitted in that order to the client device.
Abstract:
Disclosed are systems, methods, and non-transitory computer-readable storage media for prioritizing structural operations and distributing changes in a synced online content management system. An exemplary method can include receiving, from a first client device, a first structural operation for a particular content item and an account within the online content management system. The method can also include receiving, from a second client device, a competing structural operation for the particular content item and the account. The method can then include prioritizing the first structural operation from the first client device over the competing structural operation from the second client device based on predetermined factors. The method can then include executing the first structural operation for the particular content item and the account. The exemplary method can then include distributing the prioritized first structural operation to all synced devices for execution.
Abstract:
A note sharing system is presented with a content management system. Note sharing system manages creation and distribution of edits to notes to users sharing notes. Notes are stored as a series of edits at note sharing system. When an edit to a note is received, the edit is propagated to users subscribed to a note by a backend server responsible for managing the note. The sharing users are notified through notes servers associated with each sharing user. Notes server includes various indices for searching notes and allows notes to be searched quickly to organize viewing by a user of notes and identification of relevant material in notes. The stored edits are used to display edits to a note to a user by replaying the accessed note to the user.
Abstract:
The speed at which files can be accessed from a remote location is increased by predicting the file access pattern based on a predictive model. The file access pattern describes the order in which blocks of data for a given file type are read by a given application. From aggregated data across many file accesses, one or more predictive models of access patterns can be built. A predictive model takes as input the application requesting the file access and the file type being requested, and outputs information describing an order of data blocks for transmitting the file to the requesting application. Accordingly, when a server receives a request for a file from an application, the server uses the predictive model to determine the order that the application is most likely to use the data blocks of the file. The data is then transmitted in that order to the client device.