US 11,868,800 B1
System and method for enhancing content collaboration by conflict detection and resolution in a hybrid cloud cache
Upendra Singh, Mountain View, CA (US); Ajay Salpekar, Mountain View, CA (US); Bhaskar Guthikonda, Mountain View, CA (US); Andrew Guerra, Mountain View, CA (US); and David Tang, Mountain View, CA (US)
Assigned to Egnyte, Inc., Mountain View, CA (US)
Filed by Egnyte, Inc., Mountain View, CA (US)
Filed on Jun. 16, 2021, as Appl. No. 17/349,471.
Claims priority of provisional application 63/040,248, filed on Jun. 17, 2020.
Int. Cl. G06F 8/65 (2018.01); G06F 9/46 (2006.01); G06F 8/71 (2018.01)
CPC G06F 9/467 (2013.01) [G06F 8/65 (2013.01); G06F 8/71 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A system, comprising:
a memory that stores a set of instructions; and
a processor or processors that execute the set of instructions, wherein when executed, the set of instructions cause the processor or processors to perform operations comprising:
receiving a request from a client to initiate an operation to upload an object from a hybrid cloud cache to a cloud-based platform;
determining whether a version identifier of the object provided by the client corresponds to a latest version of the object uploaded to the cloud-based platform;
determining that a conflict associated with the object does not exist if the client-provided version identifier corresponds to the latest version of the object uploaded to the cloud-based platform;
determining that a conflict associated with the object does exist if the client-provided version identifier does not correspond to the latest version of the object uploaded to the cloud-based platform;
uploading the object to the cloud-based platform if the conflict associated with the object does not exist;
uploading the object to the cloud-based platform with an alternate name if the conflict associated with the object does exist;
determining whether the version identifier of the object provided by the client corresponds to the latest version of the object uploaded to the cloud-based platform by comparing a latest version identifier known to the hybrid cloud cache with the client-provided version identifier;
comparing the latest version identifier known to the hybrid cloud cache with the client-provided version identifier by accessing a data structure from the hybrid cloud cache that includes a mapping between a local identifier for the object assigned by the hybrid cloud caches and a cloud identifier for the object assigned by the cloud-based platform; and
assigning the cloud identifier to the latest version of the file uploaded to the cache to replace the assigned local identifier, if the latest version of the object uploaded to the cache has been uploaded to the cloud-based platform.