Method and system for access to automatically synchronized remote files
First Claim
1. A method for synchronizing files between a server computer having both a general purpose file system and a server synchronization application installed thereon, and at least one client computer having a client synchronization application installed thereon, wherein the client and the server have respective instances of a file which are found on the client and server respectively, the method comprising:
- determining a number of attributes of at least one client-side instance of at least one file under synchronization;
establishing an HTTP connection between the server and the client;
resolving a number of time records between the client and the server;
writing an attribute listing on the client, wherein the attribute listing includes at least one attribute of the at least one file under synchronization between the server and the client;
obtaining from the general purpose file system on the server, at least one attribute of the instance of the file as found on the server, which at least one attribute corresponds to an entry included in the attribute listing on the client and the entry relates to the instance of the file as found on the client;
comparing the attribute of the instance of the file as found on the server to the corresponding entry in the attribute listing on the client;
determining which instance of the file has specified characteristics indicating that the instance is the desired version of the file;
determining a set of binary differences between the instances without the use of data collected by monitoring accesses to the instances by applications on the client or the server;
transferring the set of binary differences over the HTTP connection from the one of the server or the client computer having the instance of the file with the specified characteristics to the one of the server or client computer not having the instance of the file with specified characteristics;
constructing the instance of the file with the specified characteristics on the one of the server or client computer to which the set of binary differences were transferred, to make the desired version of the file available for use in the format of its native application on both the client and the server; and
updating the attribute listing on the client.
4 Assignments
0 Petitions
Accused Products
Abstract
A method and system for the simple, fast, and effective maintenance of consistent data files across a multiplicity of computer systems, which functionality is useful in collaborative work, effective backup, and disaster recovery. Consistency is maintained using secure file storage remote from any number of clients the files on which are automatically synchronized consuming minimal network bandwidth. Automated bi-directional “one-click” synchronization is implemented via a method that is neutral with respect to platform, operating system, firewall, and network configuration. The software product based on the invented method has the substantial advantage of installation, setup, and operation all without intervention by system administrators.
127 Citations
16 Claims
-
1. A method for synchronizing files between a server computer having both a general purpose file system and a server synchronization application installed thereon, and at least one client computer having a client synchronization application installed thereon, wherein the client and the server have respective instances of a file which are found on the client and server respectively, the method comprising:
-
determining a number of attributes of at least one client-side instance of at least one file under synchronization; establishing an HTTP connection between the server and the client; resolving a number of time records between the client and the server; writing an attribute listing on the client, wherein the attribute listing includes at least one attribute of the at least one file under synchronization between the server and the client; obtaining from the general purpose file system on the server, at least one attribute of the instance of the file as found on the server, which at least one attribute corresponds to an entry included in the attribute listing on the client and the entry relates to the instance of the file as found on the client; comparing the attribute of the instance of the file as found on the server to the corresponding entry in the attribute listing on the client; determining which instance of the file has specified characteristics indicating that the instance is the desired version of the file; determining a set of binary differences between the instances without the use of data collected by monitoring accesses to the instances by applications on the client or the server; transferring the set of binary differences over the HTTP connection from the one of the server or the client computer having the instance of the file with the specified characteristics to the one of the server or client computer not having the instance of the file with specified characteristics; constructing the instance of the file with the specified characteristics on the one of the server or client computer to which the set of binary differences were transferred, to make the desired version of the file available for use in the format of its native application on both the client and the server; and updating the attribute listing on the client.
-
-
2. A method for synchronizing files between a server computer having both a general purpose file system and a server synchronization application installed thereon and a client computer, having a client synchronization application installed thereon, wherein the client stores in at least one folder under synchronization at least one instance of a file which is not found on the server, the method comprising:
-
determining a number of attributes of files under synchronization; establishing an HTTP connection between the server and the client; resolving a number of time records between the client and the server; writing an attribute listing on the client, wherein the listing includes at least one attribute of the at least one file in corresponding folders under synchronization between the server and the client; determining which files found on the client are not found on the general purpose file system of the server; transferring a binary form of each of those determined files over the HTTP connection to the server; constructing in a respective corresponding folder under synchronization on the server, an instance of each file the binary form of which was transferred to the server, to make the file in a folder under synchronization available for use in the format of its native application on the server; and updating the attribute listing on the client.
-
-
3. A method for facilitating the synchronization of files between a server computer having both a general purpose file system and a server synchronization application installed thereon, and a client computer having a client synchronization application installed thereon, wherein the server stores in at least one folder under synchronization at least one instance of a file which is not found on the client, the method comprising:
-
determining attributes of client-side instances of files under synchronization; establishing an HTTP connection between the server and the client; resolving a number of time records between the client and the server; obtaining attributes of server-side folders and files resident on the general purpose file system under synchronization; writing an attribute listing on the client, wherein the listing includes at least one attribute respecting every file associated with each the folder under synchronization between the server and the client; identifying remote files found on the server but not found on the client and transferring information representative of each the remote file to the client; and constructing on the client a representation of each of the remote files, whereby a user of the client is informed regarding the availability of each of the remote files for retrieval from the server. - View Dependent Claims (4)
-
-
5. A system for synchronizing files between a server computer and at least one client computer, wherein the client and the server have respective instances of a file which are found on the client and the server respectively, the system comprising:
-
a server having both a general purpose file system and a server synchronization application installed thereon; a client having a client synchronization application installed thereon, the client synchronization application operable to determine a timestamp or other attributes of both local files and local representations of remote files; means for establishing an HTTP connection between the server and the client; means for resolving a number of time records between the client and the server; means for creating an attribute listing on the client, wherein the listing includes at least one attribute respecting one of the file under synchronization between the server and the client; means for the client obtaining, on demand from the general purpose file system on the server, an attribute of the instance of the file as found on the server, which attribute corresponds to an entry included in the attribute listing on the client and the entry relates to the instance of the file as found on the client; means for comparing the attribute of the instance of the file as found on the server to the corresponding entry in the attribute listing on the client; means for determining which instance of the file has specified characteristics indicating that it is the desired version of the file; means for determining a set of binary differences between the instances, without the use of data collected by monitoring accesses to the instances by applications on the client or the server; means for transferring over the HTTP connection the set of binary differences, from the one of the server or the client computer having the instance of the file with the specified characteristics to the one of the server or the client computer not having that instance of the file; means for constructing the instance of the file with the specified characteristics on the one of the server or the client computer to which the binary differences were transferred, such that the desired version of the file becomes available for use in the format of its native application on both the client and the server computers; and means for updating the attribute listing on the client computer. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
Specification