It is a process to develop consistency in data from a source to target data storage. A major issue in transmission of data is data synchronization between the demultiplexer and the multiplexer. Due to this, a bit that belongs to one channel can be wrongly received by another channel. Hence, one or more synchronization bits are generally added to each frame's beginning. These bits follow a pattern, frame by frame, which allows demultiplexer to synchronize with the incoming steam, separating the time slots precisely. Synchronization can be used in encrypting public key servers also.

 

Data synchronization has multiple forms i.e. mobile device synchronization, file synchronization, version controlling, distributed file systems, etc. There are various tools that help the cause however only file synchronization and version control tools can handle modifications to more than a single copy of files.

 

File Synchronization

It is general used for updating the transport on USB flash drives or for home backups on external hard drives. This process is less error prone, a lot faster and it prevents copying of already identical files which saves a considerable amount of time as compared to manual copy.

 

Version Control

When more than one user tries to modify the same file simultaneously, these tools come in handy. Some version control tools can also be used for file synchronization.

 

Distributed File systems

When multiple versions of a file need to be synchronized, this tool comes into the picture. The device storing the files should always be connected; however some file systems do allow disconnected operation followed by reconciliation.

 

Mirroring

It is an exact copy of any data set. For e.g. on the internet, a mirror site would be an exact copy of a different Internet website. These are generally used to provide various/multiple sources of the same information.

Hence, I believe all these tools act as a great source of data synchronization and should be used appropriately.