INTERACTIVE E-LEARNING APPLICATION FOR STUDYING AND EVALUATING THE PERFORMANCES OF REMOTE FILE SYNCHRONIZATION ALGORITHMS
Authors: Radescu Radu 
Published: February 2023

The present paper presents an e-learning application that studies the different ways of performing file compression and the performances obtained in synchronizing them in remote communications. Based on compression, one can estimate the differences between two files and calculate the minimum difference that must be transmitted over a network to synchronize different instances of the same file. The described application implements a client-server communication with network applications, in which a file is transmitted from server to client, the file being encoded to server and decoded to client.
Using Delta compression techniques reduces bandwidth when transferring network files as well as their storage space. Delta compression allows for significant file size reduction, which helps increasing the download speed on a computer network. With the help of Delta compression, only the difference between two successive versions of the same file is performed during the upgrade process.
The Rsync algorithm performs a unique approach for Delta compression, allowing the client to request changes to a file from the server without the need for the server to keep older versions of that file. Instead, the server dynamically calculates changes in an interactive protocol, which works in two steps. Using the Rsync algorithm to change Delta compressed content, both the client and the management server are released reference versions, thus simplifying the maintenance of the proxy cache. The client keeps a copy of its latest response, and the server uses only the latest version.
The main approach for remote file synchronization is the one based on string fingerprints, implemented by the Rsync algorithm, even if it is sub-optimal. Rsync is, at the same time, a software and network protocol for synchronizing files and directories from one location to another, minimizing data transfer by using Delta compression when optimal. An important feature of the Rsync algorithm, which is not found in most similar programs or protocols, is that there is only one transmission for each direction. Rsync can copy or display the contents of directories and copy files, using compression and recurrence optionally. The receiver divides the copy of the file into fixed, non-overlapping blocks, and calculates two checksums for each block: MD5 hash and a smaller checksum, then sends these checksums to the server.
From the experimental results obtained in the paper, it is clearly observed that in order to obtain an optimal transfer time on a network it is advisable to use similar files, having the same source file. If the files used are too different, then full file transfer is more useful, because the Delta compression calculation time and file transfer time will be greater than the full file transfer time.
This application is interactive, requiring the client to synchronize manually the file, as there may be situations where the user does not need synchronization. Thus, transferring any changes to any file results in a fully synchronized network, which contains the same shared files, with the updated versions. For remote file synchronization techniques, the obtained experimental results indicate the existence of a significant distance in the compression performance between the tools currently available and the theoretical limits.
The application presented in the paper accomplishes a client-server communication based on message exchange, in which, after the connection is made, the algorithms described in the paper are applied. The application calculates the Delta file (the difference) between two selected files that may belong to both the client and the server, or only to one of the parties. The Delta file is sufficient to perform the reconstruction of the destination file with only the source file and the Delta file.
The Rsync algorithm performs file synchronization between the two communication partners, assuming that any file change has occurred on both sides, in order to keep an updated list of changes permanently. The utility of the Rsync algorithm is very high for any communications network where the bandwidth costs must be kept to a minimum, and file transfer time is an important factor that is intended to be minimized.