Synchronization

Synchronization or synchronisation is timekeeping which requires the coordination of events to operate a system in unison. The familiar conductor of an orchestra serves to keep the orchestra in time. Systems operating with all their parts in synchrony are said to be synchronous or in sync. Some systems may be only approximately synchronized, or plesiochronous. For some applications relative offsets between events need to be determined, for others only the order of the event is important.

Today, synchronisation can occur on a global basis due to GPS-enabled timekeeping systems.

Transport
Apart from its use for navigation (see John Harrison), sychronization was not important in transportation until the nineteenth century, when the coming of the railways made travel fast enough for the differences in local time between adjacent towns to be noticeable (see ).

In some territories, sharing of single railroad tracks was controlled by the timetable. Thus strict timekeeping was a safety requirement. To this day, railroads can communicate and signal along their tracks, independently of other systems for safety.

Communication
The lessons of timekeeping are part of engineering technology. In electrical engineering terms, for digital logic and data transfer, a synchronous object requires a clock signal. Timekeeping technologies such as the GPS satellites and Network time protocol (NTP) provide real-time access to a close approximation to the UTC timescale, and are used for many terrestrial synchronisation applications.

Synchronisation is an important concept in the following fields:
 * Computer science (In computer science, especially parallel computing, synchronisation refers to the coordination of simultaneous threads or processes to complete a task; in order to obtain correct runtime order and avoid unexpected race conditions.)
 * Telecommunication
 * Physics (The idea of simultaneity has many difficulties, both in practice and theory.)
 * Cryptography
 * Multimedia
 * Photography
 * Music (rhythm)
 * Synthesizers
 * Neuroscience

Synchronisation has several subtly distinct sub-concepts:
 * Rate synchronisation
 * Phase synchronisation
 * Time offset synchronisation
 * Time order synchronisation

Some uses of synchronization
While well-designed time synchronization is an important tool for creating reliable systems, excessive use of synchronization where it is not necessary can make systems less fault-tolerant, and hence less reliable.
 * Mobile phone synchronization using SyncML -standards or java based technology to perform a backup on a phone.
 * Film synchronization of image and sound in sound film.
 * Synchronization is important in fields such as digital telephony, video and digital audio where streams of sampled data are manipulated.
 * Arbiters are needed in digital electronic systems such as microprocessors to deal with asynchronous inputs. There are also electronic digital circuits called synchronizers that attempt to perform arbitration in one clock cycle.  Synchronizers, unlike arbiters, are prone to failure.  (See metastability in electronics).
 * Encryption systems usually require some synchronization mechanism to ensure that the receiving cipher is decoding the right bits at the right time,,
 * Automotive transmissions contain synchronizers which allow the toothed rotating parts (gears and splined shaft) to be brought to the same rotational velocity before engaging the teeth.
 * Synchronization is also important in industrial automation applications.
 * Time codes are often used as a means of synchronization in film, video, and audio applications.
 * Flash photography, see Flash synchronization
 * File synchronization is used to maintain the same version of files on multiple computing devices. For example, an address book on a telephone might need to be synchronized with an address book on a computer.
 * Software applications must occasionally incorporate application-specific data synchronization in order to mirror changes over time among multiple data sources at a level more granular than File synchronization. An example use of this is the Data Synchronization specification of the Open Mobile Alliance, which continues the work previously done by the SyncML initiative.  SyncML was initially proposed to synchronize changes in personal address book and calendar information from computers to mobile phones, but has subsequently been used in applications that synchronize other types of data changes among multiple sources, such as project status changes.
 * The term synchronization is also sometimes used for the transfer of content from a computer to an MP3 player connected to it.