Assume that we have a group of computers. Some of them are PCs and others are small microcontroller boards of different types. Some of the PCs running Linux and others running Windows, vxWorks or QNX. Microcontroller boards have no operating system but some embedded program that we are going to provide.
Our mission is "some how" synchronize their time as accurate as possible. What we are going to debate is the following special cases; 1. All computers (PCs and controllers) are placed next to each other and we are free to connect them together any way we want (freedom in electronics and in sw). 2. Computers are in the same room but separated from each other with few meters 3. Computers are in different rooms of the same building. 4. Computers are in the same campus. 5. Computers would be anyware (in the same town or city, country, continent, on the world or near Earth orbits).
What would be your suggestions ? How to connect them together? Which sort of HW and SW would you use ? How accurate the time sync. you would acheive (minute, secont, milli sec, micro sec, nano sec )?