Method and system for differential distributed data file storage, management and access
0 Assignments
0 Petitions
Accused Products
Abstract
A method and system providing a distributed filesystem and distributed filesystem protocol utilizing a version-controlled filesystem with two-way differential transfer across a network is disclosed. A remote client interacts with a distributed file server across a network. Files having more than one version are maintained as version-controlled files having a literal base and at least one delta section. The client maintains a local cache of files from the distributed server that are utilized. If a later version of a file is transferred across a network, the transfer may include only the required delta sections.
-
Citations
30 Claims
-
1-26. -26. (canceled)
-
27. A method comprising:
-
(a) receiving, by a first tunneling device connected to a station over a first LAN, from the station, a user-transparent filesystem request to perform an operation on a file residing on a remote server across a WAN;
(b) tunneling the request over the WAN from the first tunneling device to a second tunneling device, the second tunneling device connected over a second LAN to the remote server;
(c) checking, by the second tunneling device, whether a first version of a file stored in the first tunneling device is identical to a second version of the file stored in the remote server;
(d) based on the checking result, determining, by the second tunneling device, if the request can be handled locally by the first tunneling device;
(e) if the determination result is negative;
(1) based on a comparison between the first version and the second version, creating a representation of a differential portion between the first version and the second version;
(2) sending the representation over the WAN from the second tunneling device to the first tunneling device;
(3) constructing, by the first tunneling device, based on the representation of the differential portion and based on the first version, a copy of the second version; and
(4) performing the filesystem request on said copy stored in the first tunneling device;
(f) permitting a computer, connected over the second LAN to the remote server, to alter the file residing on the remote server, using an access route exclusive of the first and second tunneling devices.
-
-
28. A method comprising:
-
storing on a server a file having a first version identifier;
storing on a first tunneling device and on a second tunneling device a first copy of the file having a second, different, version identifier;
receiving by the first tunneling device a filesystem request from a computing station to perform an operation on the file stored on the server, the filesystem request in accordance with a first communication protocol;
tunneling, by the first tunneling device to the second tunneling device, a tunneling request in accordance with a second communication protocol, the tunneling request indicating that the first tunneling device stores the copy of the file having the second version identifier;
reading, by the second tunneling device and from the server, the file having the first version identifier;
comparing, by the second tunneling device, the file having the first version identifier stored on the server, to the file having the second version identifier stored on the first tunneling device;
based on the comparison result, creating, by the second tunneling device, a representation of a differential portion between the file having the first version identifier and the file having the second version identifier;
tunneling, by the second tunneling device to the first tunneling device, the representation of the differential portion using single-transaction blocks aggregation;
constructing, by the first tunneling device, based on the representation of the differential portion and based on the copy of the file having the second version, a second copy of the file identical to the file stored on the server, the second copy automatically replacing one or more prior versions of the first copy;
performing the operation requested in the filesystem request on the second copy of the file stored in the first tunneling device. - View Dependent Claims (29)
-
-
30. A system comprising:
-
a client-side unit connected over a WAN to a server-side engine, the client-side unit connected over a first LAN to one or more client computers, the server-side unit connected over a second LAN to a server, the client-side engine comprising;
a cache to store items received over the WAN from the server-side engine;
an input unit to receive filesystem requests from the one or more client computers; and
a collator to collate the filesystem requests with items stored in the cache, the server-side engine comprising;
an input unit to receive from the client-side engine an indication of one or more of the filesystem requests received by the client-side engine; and
an accelerator to send another request to the server based on the received indication, to receive a response from the server, and to create an optimized that enables the client-side engine to handle the requests.
-
Specification