Patent classifications
G06F16/1787
Allocation and reassignment of unique identifiers for synchronization of content items
A client can allocate and reassociate unique identifiers to local content items associated with an account at a content management system, and use the unique identifiers to commit operations for the content items on the content management system. For example, a client can create a content item and determine the content item does not have an identifier from the content management system. The client obtains an identifier for the content item and asks the content management system to verify a uniqueness of the identifier. When the identifier is unique, the client adds a node corresponding to the content item to a local tree representing a state at the client of content items associated with the account, and uploads the content item with the identifier to the content management system. When the identifier is not unique, the client obtains a new identifier for the content item.
Resynchronizing metadata in a content management system
A client can resynchronize tree data structures representing a server, local, and sync state of content items in an account. In some aspects, the client identifies a local set of content items on the account and generates a local tree representing a filesystem state and including a local node for each item in the local set. The client determines a server state for a remote set of content items on the account. Based on the server state, the client generates a remote tree representing the remote set and including a respective node for each item in the remote set. Based on the local and remote trees, the client generates a sync tree including matching nodes between the local and remote trees, the sync tree representing a synchronized state between the filesystem state and the server state. The client then stores the local, remote, and sync trees.
PREVENTION OF LOSS OF UNSYNCHRONIZED CONTENT
The present technology pertains to a organization directory hosted by a synchronized content management system. The corporate directory can provide access to user accounts for all members of the organization to all content items in the organization directory on the respective file systems of the members' client devices. Members can reach any content item at the same path as other members relative to the organization directory root on their respective client device. In some embodiments novel access permissions are granted to maintain path consistency.
Atomic moves with lamport clocks in a content management system
A system can serialize moves and mounts across namespaces based on lamport clocks. In some examples, the system obtains a request to move a content item from a source namespace to a destination namespace. The system processes an incoming move at the destination and an outgoing move at the source. The system processes for the content item a delete at the source and an add at the destination. The system assigns a first clock to the incoming move and a second clock to the outgoing move, the first clock being lower than the second clock. The system assigns a third clock to the delete and a fourth clock to the add, the third clock being higher than the second clock and lower than the fourth clock. The system serializes the incoming and outgoing moves, the delete and the add based on the first, second, third and fourth clocks.
Content management client synchronization service
The disclosed technology relates to a system configured to compute a difference between a remote tree data structure representing a server state for content items associated with an account on a content management system and a sync tree data structure representing a known synchronization state between the content management system and the computing system. The system is configured to generate, based on the difference, a set of operations that when performed on the computing system update the content items stored on the client device to converge a file system state on the computing system and the server state.
Storage interface for synchronizing content
In some embodiments, an interface of a content management system manages synchronized content on storage systems. For example, the interface stores, on a metadata storage structure, records of metadata associated with blocks of data stored on a storage, the records including block identifiers that uniquely identify the blocks and timestamps associated with the blocks. The interface identifies a batch of storage operations associated with the blocks, including one or more delete operations. For each delete operation, the interface queries the metadata storage structure for a timestamp corresponding to a block of data associated with the delete operation, determines whether the delete operation creates a race condition between the delete operation and an add operation associated with the block of data, and rejects the delete operation when the delete operation creates the race condition or the timestamp corresponding to the block of data is newer than a predetermined period of time.
Patching JSON documents that contain arrays undergoing concurrent modification
In various aspects, a method, system and computer program product provides for concurrent changes to data of a document or a file by a plurality of users at a plurality of user devices. The documents or file may be rendered in JavaScript™ Object Notation (JSON) format. The documents may be patched or changed by employing new functional operations for applying metadata for elements of the arrays associated with the document or file, and to merge changes from made among the various users. The disclosure provides for maintaining and producing new versions of the document or the file, the changes controlled so that data of the arrays are merged atomically and the updates do not fail permitting simultaneous changes to the document or file by multiple users.
DIGEST VALUE CALCULATING DEVICE, ACCESS DEVICE, DIGEST VALUE CALCULATING METHOD, ACCESS METHOD, AND PROGRAM
Provided are a digest value calculating device, an access device, a digest value calculating method, an access method, and a program that have a small possibility of collision between digest values even though a digest value calculation load is light. A parameter value determining section (22) determines a value of a common parameter used in common for each of a plurality of paths respectively associated with inodes. A digest value calculating section (24) calculates, for each of the plurality of paths, a digest value corresponding to the path on the basis of the value of the common parameter and a name of the path. A record generating section (28) associates the digest value corresponding to the path and an inode corresponding to the path with each other.
Method and device for restoring blockchain network with its credibility on backup data maintained by using delayed synchronization
A method for synchronizations with delayed data serving as backup data stored in one or more delayed nodes in a blockchain network, to thereby restore one or more service nodes in the blockchain network while maintaining a reliability of the backup data is provided. The method includes steps of: (a) a specific delayed node among the delayed nodes performing synchronization with the services nodes while the specific delayed node maintains a specific delay according to a specific initial setting thereof; (b) the specific delayed node, when a triggering command is acquired from an administrating device, transmitting information on delayed blocks included therein to the service nodes in order to support restoration of the service nodes; and (c) the specific delayed node, after the service nodes are restored by using the information on the delayed blocks, performing the synchronization again with the service nodes.
Prevention of loss of unsynchronized content
The present technology pertains to a organization directory hosted by a synchronized content management system. The corporate directory can provide access to user accounts for all members of the organization to all content items in the organization directory on the respective file systems of the members' client devices. Members can reach any content item at the same path as other members relative to the organization directory root on their respective client device. In some embodiments novel access permissions are granted to maintain path consistency.