If the 2 computers' clocks run at exactly the same speed, and there's no change in sync packet latencies, then the 2 ends should stay synced always. If the client is slightly faster or slower, it should smoothly adapt over time (although I think if the client notices that it's adjusting too much it should increase the frequency of sync). If the network has a small spike with the sync packets, there could be a temporary incorrect adjustment. When the adjustment is too large, the client should smooth it out, maybe only 10-20% of the adjustment, and again increase the frequency of sync until it's stable for several iterations.