Hi all,
For our little music-for-the-blind multi-user pd sequencer, we've come up with the following method for pretty reliable syncing of two computers over a network. It's pretty crude, but it works:
Each computer has its internal sequencer engine, simply driven by a metro (there are no tempo changes). In the case of two computers, one is the master synchronizer and the other the slave; if the master receives a start message from the user, it starts its metro and sends a start-bang over to the client using netsend; the client also starts its metro upon receive of this bang, and sends a bang back to the master. The master then measures the delay between the outgoing and incoming bang, and if it's too large (for instance greater than 1 ms), another start-bang is sent. If it's OK, the two computers just keep on playing.
This process can take several bangs until the computers are in acceptable sync, and it reminds us somehow of a car engine starting, which is rather funny. There is no verification of the sync during playback, so if the two clocks of the master & slave would somehow drift apart, the users would have to fire up the system again. This is not a problem in our specific case.
Greets, Steven