US 12,380,067 B2
Client-side hashset change detection
David Burg, Sammamish, WA (US); Shivam Jindal, Jaipur (IN); Rama Krishna Rayudu, Sammamish, WA (US); and Praveen Srivastava, Bengaluru (IN)
Assigned to Microsoft Technology Licensing, LLC., Redmond, WA (US)
Filed by MICROSOFT TECHNOLOGY LICENSING, LLC., Redmond, WA (US)
Filed on Dec. 23, 2022, as Appl. No. 18/088,126.
Prior Publication US 2024/0211443 A1, Jun. 27, 2024
Int. Cl. G06F 16/176 (2019.01); G06F 16/14 (2019.01); G06F 16/182 (2019.01)
CPC G06F 16/176 (2019.01) [G06F 16/152 (2019.01); G06F 16/183 (2019.01)] 17 Claims
OG exemplary drawing
 
1. A system comprising:
one or more processors; and
a memory that stores one or more programs that are configured to be executed by the one or more processors, the one or more programs including instructions to perform actions that:
maintain a plurality of hashsets at a client device, wherein a hashset comprises a plurality of hash values of shared files of a directory of a remote file system, wherein each hashset is associated with a time point, wherein a hash value is associated with metadata of a shared file of the directory of the remote file system;
obtain from the remote file system, via a network protocol, metadata of each shared file of the directory of the remote file system, wherein the network protocol comprises a file transfer protocol that differs from a web Application Programming Interface (API) and has no support for API access;
compute a new hash value of a first shared file of the directory of the remote file system at a current time point t;
search the plurality of hashsets for a hash value of the first shared file matching the new hash value from a hashset of time point t−1 and from a hashset of time point t−2;
detect a change in the first shared file when the new hash value at time point t is not contained in the hashset of time point t−2 and is contained in the hashset of time point t−1;
upon detection of the change to the first shared file, set a trigger to a workflow engine indicating the change to the first shared file; and
upon receipt of the trigger by the workflow engine, initiate a specific workflow from pre-configured actions based on the changed first shared file, wherein the workflow is a series of automated operations to perform a task.