Patent ID: 7441011
Filing Date: 2008-10-21
Classification: G06F,H04L

Abstract:
1. A remote file system that promotes truth on a client, comprising: one or more client computers that operatively communicate with an online remote location to work on one or more file objects; a caching component that selectively caches the one or more file objects to a local cache located on a respective client computer, making it available to the client when disconnected from a remote location, wherein the caching component silently pushes file objects added by the client to the remote location and triggers a corresponding directory change notification request when a physical share connection state has changed, to facilitate enumerating any affected directory; a component that resolves conflicts between a client version of the one or more file objects and a remote location version of the one or more file objects such that the client version overrides the remote location version when viewed on the client, wherein the component that resolves conflicts is based at least in part upon user preferences; wherein modifications by the client while disconnected from the remote location are stored to the client's memory and then automatically uploaded to the remote location when the client regains connection to the remote location; wherein transitioning online to the remote location is initiated by the caching component which periodically scans offline paths and then initiates an online transition when a path becomes reachable, once the caching component detects a reachable path, it sends and I/O (input/output) control to a driver to initiate an online transition on the reachable path, all existing handles remain offline until each handle is backpatched individually, once reconnected, the driver starts to backpatch the handles for directories first to maintain the consistent view of the directory after transitioning online, such that the user retains a consistent view of the file objects even when the file objects have been modified locally but the changes have not been pushed out; and a synchronization component that background synchronizes namespaces not in conflict between the client and the remote location; and wherein the caching component flushes out stale data from local caches based upon comparison of file signatures and comparison of file properties, wherein the file properties comprise time stamp, file size, and revision count.