Optimizing file replication using binary comparisons
First Claim
Patent Images
1. A system for use in a file synchronization system, comprising:
- a storage device for storing a first copy and a second copy of a base file;
an input device for receiving changes to the first copy of the base file;
a processor for changing the first copy based on the received changes, anddetermining a difference between the changed first copy and the second copy; and
an output device for transmitting the difference to a server,wherein if the difference is rejected by the server because an additional difference has been previously applied to the base file, then the input device receives the additional difference from the server, and the processor applies the additional difference to the second copy of the base file,wherein the processor applies the additional difference to the second copy of the base file to generate a modified second copy, applies the received changes to the modified second copy to generate a third copy, and determines a third difference between the third copy and the modified second copy.
1 Assignment
0 Petitions
Accused Products
Abstract
Client and server based copies of a file are maintained in synchronicity as changes are made to the file. Data is compared to a previous version known to both the client and server and a highly compressed representation of the differences between the two is generated. These differences, or “diffs”, are then transmitted, and may use extensions to the HTTP (HyperText Transport Protocol) protocol.
-
Citations
10 Claims
-
1. A system for use in a file synchronization system, comprising:
-
a storage device for storing a first copy and a second copy of a base file; an input device for receiving changes to the first copy of the base file; a processor for changing the first copy based on the received changes, and determining a difference between the changed first copy and the second copy; and an output device for transmitting the difference to a server, wherein if the difference is rejected by the server because an additional difference has been previously applied to the base file, then the input device receives the additional difference from the server, and the processor applies the additional difference to the second copy of the base file, wherein the processor applies the additional difference to the second copy of the base file to generate a modified second copy, applies the received changes to the modified second copy to generate a third copy, and determines a third difference between the third copy and the modified second copy. - View Dependent Claims (2, 3, 4, 5, 10)
-
-
6. A system for use in a file synchronization system, comprising:
-
a storage device for storing a base file; an input device for receiving a first difference from a first client and a second difference from a second client, the first difference being received before the second difference; a processor for determining if the first difference is applicable to the stored base file, and if so, applying the first difference to the base file and rejecting the second difference because of application of the first difference to the base file; and an output device for transmitting a third difference from the server to the second client, the third difference being applied to a copy of the base file stored at the second client, wherein the third difference is applied to a first copy of the base file at the second client to generate a modified first copy, and the second difference is applied to the modified first copy to generate a second copy, and a fourth difference is determined between the second copy and the modified first copy. - View Dependent Claims (7, 8, 9)
-
Specification