MSync: A Multicast rsync
MSync is a multicast synchronisation tool that works in a similar way to rsync. This is an overview of the system.
Overview
MSync is a multicast synchronisation tool that works in a similar way to rsync. It was researched, designed and implemented as my dissertation project for my undergraduate degree at The University of Exeter in 2002/3.
The MSync design provides the following functionality:
- Reliable one-to-many file distribution over a multicast link.
- Transmission of only the differences between files, provided that an old version of the file exists on the client system.
- Allows for situations when clients have different versions of the file. Updates still occur and data transfer remains efficient.
The design does not provide:
- Congestion control. Thus is only suitable if all machines have an adequately fast connection (LAN).
- Security. It is be presumed that the network is secure.
- Compatibility with rsync. It only uses the rsync algorithm, it does not use rsync’s protocol.
An implementation has been created however it is definitely not in a releasable state.
I have provided a design document for MSync that outlines how the rsync algorithm is used and reliable multicasting is achieved. Hopefully someone will find it useful or thought provoking.