Time Synchronization in Distributed Systems without a Central Clock