Patent ID: 7949890

Claim:
A method for clock synchronization by calculating a correction value to be added or subtracted from a local time calculated comprising: defining a first computer A's time as an absolute time T A and a second computer N's time as non-absolute time T N ; assigning a current best approximation of a network round trip time between computers A and N to RTT app ; setting initial values of registers t A,last and t N,last to zero for computer A; exchanging synchronization packets periodically; computer N computing t 1 =T LocalTimeN , wherein T LocalTimeN is a local time of computer N; computer N writing t 1 into a synchronization section in a synchronization request; computer N sending an audio packet to computer A; computer A receiving the audio packet; computer A computing t 2 =T LocalTimeA , wherein T LocalTimeA is a local time of computer A; computer A setting t A,last to the value of t 2 and setting t N,last to the value of t 1 from the audio packet if t 1 >t N,last ; computer A calculating t′ 2 and writing (t′ 1 =t 1 +t′ 2 −t 2 , t′ 2 ) into the synchronization section in a synchronization reply if the t N,last was not sent in a synchronization reply, wherein t′ 2 is a local time of computer N just before an audio packet is sent to computer N; computer A sending an audio packet to computer N; computer N receiving the audio packet; computer N computing t 3 =T LocalTimeN ; computer N computing RTT=t 3 −t′ 1 ; computer N assigning RTT app =RTT if RTT app is not defined; computer N assigning the value of minimum(RTT app +RTT drift , RTT) to RTT app if RTT<1.05*RTT app , wherein RTT drift is a drift in packet round trip time; assigning a mean value of (t′ 2 −(t′ 1 +t 3 )/2) of buffered data from previous synchronization cycles to ΔT N−A ; synchronizing clock by adding a correction value ΔT N−A to a local time T N .