CA3085998C

Allocation and reassignment of unique identifiers for synchronization of content items

Abstract

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.

CA3085998C, drawing sheet 1
Sheet 1 of 38

Term

12.2 yearsleft in the term

Expires 10 December 2038.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

20 claims: 3 independent, 17 dependent

  1. 1
    CLAIMS What is claimed is:1. A method comprising: adding a content item at a client device, foe content item being associated with a user account of a content management system;determining, via a client application at the client device, whether the content item is related to a second content item, by comparing a plurality of metadata elements of each of foe contait item and foe second contait item;determining that the content item is not related to foe second content item and does not have a unique identifier from foe content management system;sending a request to foe content management system, for a new unique identifier for foe content item, foe new unique identifier being defined by foe content management system;receiving, from the content management system, the new unique identifier for foe content item;sending, by foe client application to the content management system, a request to verify a uniqueness of foe new unique identifier of foe content item being associated with foe user account at foe content management system, wherein foe new unique identifier is globally unique across all namespaces at the content management system;receiving a determination identifying the new unique identifier as verifiably unique at foe content management system;adding a node representing foe content item to a local tree at foe client device, foe node comprising the unique identifier and the local tree representing a filesystem state at foe client device for content items associated with foe user account;and uploading foe content item with foe unique identifier to foe content management system.
  2. 11
    A non-transitory computer readable medium comprising instructions, the instructions, when executed by one or more processors, cause a client device to:store a content item associated with a user account of a content management system;determine whether the content item is related to a second content item by comparing a plurality of metadata elements of each of the content item and the second content item;104 Date Reçue/Date Received 2023-06-13 determine that the content item is not related to the second content item and does not have a unique identifier from the content management system;send a request to die content management system, for a new unique identifier for the content item, the new unique identifier being defined by the content management system;receive, from the content management system, the new unique identifier for the content item;send, by a client application to the content management system, a request to verify a uniqueness of the new unique identifier of the content item being associated with the user account at the content management system, wherein the new unique identifier is globally unique across all content items at the content management system;receive a determination identifying the new unique identifier as verifiably unique at the content management system;add a node representing the content item to a local tree at the client device, the node comprising the unique identifier and the local tree representing a filesystem state at the client device for content items associated with the user account;and upload tiie content item with the unique identifier to the content management system.
  3. 16
    A computing device comprising:one or more processors;and at least one non-transitory computer readable medium having stored therein instructions which, when executed by the one or more processors, cause the computing device to: store a content item associated with a user account of a content management system;determine whether the content item is related to a second content item by comparing a plurality of metadata elements of each of the content item and the second content item;determine that the content item is not related to the second content item and does not have a unique identifier from the content management system;send a request to the content management system, for a new unique identifier for the content item, the new unique identifier being defined by the content management system;receive, from the content management system, the new unique identifier for the content item;send, by a client application of a client device to ihe content management system, a request to verify a uniqueness of the new unique identifier of the content item being associated with the user account at the content management system, wherein the new unique identifier is globally unique across all content items at die content management system;receive a determination identifying the new unique identifier as verifiably unique at the content management system;add a node representing the content item to a local tree at the client device, the node comprising the unique identifier and the local tree representing a filesystem state at the computing device for content items associated with the user account and upload the content item with the unique identifier to the content management system.