Patent ID: 7634514
Filing Date: 2009-12-15
Classification: G06F,H04L,Y10S

Abstract:
1. In a computing environment, a computer-implemented method for synchronization of file system directories, the method comprising: enumerating differences between the directory structures of a first directory and a second directory, the enumerating comprising parallel operation of multiple threads, and the enumeration comprising a thread opening a path under both the first directory and the second directory and enumerating all the children of each directory; for each new directory discovered during an enumeration, enqueuing the new directory for enumeration in a separate thread; creating a plurality of sync items, building a synchronization tree structure comprising a subset of a directory namespace which includes each of the files and directories of the first directory and the second directory, returning the enumerated differences between the first and second directories to a client caller for analysis; receiving one or more operation requests from a caller; packaging an operation, an item pointer, and context information into an internal context block; queuing the context block as a work item in a queue for a process thread pool to handle; ensuring that queuing actions are handled in the proper order; extracting an item from the queue; when the item is associated with a file, verifying that the file is in the same state as it was during enumeration; and performing an operation to synchronize the directories in response to the operation requests.