IP Library Granted Patent US 12,693,701
Granted Patent B2
US 12,693,701 · App. 18/812,207 · Granted Jul 28, 2026

Synchronization method and client

Inventors: Sheng-Xiong Wei (Nanning, CN); Zi-Hang Zeng (Nanning, CN)
Assignee: Nanning FuLian FuGui Precision Industrial Co., Ltd.
G06F1/12G06F1/14
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,693,701
App. No.
18/812,207
Filed
Aug 22, 2024
Granted
Jul 28, 2026
Kind
B2
Art Unit
2175
USPC
713/400
Abstract

In a synchronization method applied to a client, synchronization information between the client and a server is periodically acquired; a preset number of sample data is selected from the synchronization information; time T c required by a CPU to process the sample data is recorded; a time offset prediction value and a frequency offset prediction value at time T n are predicted by means of substituting the sample data into a preset formula; and a current frequency and time of the client is restored according to the time offset prediction value, the frequency offset prediction value and the time T c when a synchronization source is lost.

Claims (42)

1 . A synchronization method, applied to a client, the method comprising:

periodically acquiring synchronization information between the client and a server;

selecting a preset number of sample data from the synchronization information;

recording time T c required by a CPU to process the sample data;

predicting a time offset prediction value and a frequency offset prediction value at time T n by means of substituting the sample data into a preset formula; and

restoring a current frequency and time of the client according to the time offset prediction value, the frequency offset prediction value and the time T c when a synchronization source is lost;

wherein predicting a time offset prediction value and a frequency offset prediction value at time T n by means of substituting the sample data into a preset formula comprises:

performing a first weighted average calculation on the sample data according to a formula S n =a*y n +(1−a)*S n-1 to obtain the time offset prediction value and the frequency offset prediction value at the time T n ; and

performing a second weighted average calculation according to a formula S n ′=a*S n +(1−a)*S n-1 ′ on the time offset prediction value and the frequency offset prediction value obtained by the first weighted average calculation, and regarding values obtained by the second weighted average calculation as a final time offset prediction value and a final frequency offset prediction value at the time T n ,

wherein, when the preset formula is calculated for the time offset prediction value, S 0 is an average value of time offset values in n sample data, S n is the time offset prediction value at the time T n obtained by the first weighted average calculation, in nanoseconds, a is a weighting coefficient value, which is a constant, y n is a time offset value in the sample data at the time T n , S n ′ is the time offset prediction value at the time T n obtained by the second weighted average calculation, in nanoseconds; and when the preset formula is calculated for the frequency offset prediction value, S0 is an average value of frequency offset values in n sample data, S n is the frequency offset prediction value at the time T n obtained by the first weighted average calculation, a is the weighting coefficient value, which is a constant, y n is a frequency offset value in the sample data at the time T n , S n ′ is the frequency offset prediction value at the time T n obtained by the second weighted average calculation, in nanoseconds.

2 . The synchronization method according to claim 1 , wherein the method further comprising:

calculating a speed of current frequency changes of the client by applying a linear regression algorithm according to the sample data.

3 . The synchronization method according to claim 2 , wherein the method further comprising:

selecting a size of the weighting coefficient value a according to the speed of the current frequency changes.

4 . The synchronization method according to claim 3 , wherein the client comprises a timer, and recording time T c required by the CPU to process the sample data comprises:

recording the time T c required by the CPU to process the sample data by means of the timer.

5 . The synchronization method according to claim 4 , wherein the method further comprising:

when the client does not receive synchronization information from the server, determining the synchronization source is lost.

6 . The synchronization method according to claim 4 , wherein selecting the preset number of sample data from the synchronization information comprises:

obtaining load information of a CPU of the client, and determining a load level of the CPU according to the load information; and

selecting a corresponding amount of sample data according to the load level, wherein different levels correspond to different amounts of sample data.

7 . A client, which includes a memory, a processor, and a synchronization program stored in the memory and operable on the processor, wherein the synchronization program is executed by the processor to implement the following functions:

periodically acquiring synchronization information between the client and a server;

selecting a preset number of sample data from the synchronization information;

recording time T c required by a CPU to process the sample data;

predicting a time offset prediction value and a frequency offset prediction value at time T n by means of substituting the sample data into a preset formula; and

restoring a current frequency and time of the client according to the time offset prediction value, the frequency offset prediction value and the time T c when a synchronization source is lost;

when predicting a time offset prediction value and a frequency offset prediction value at time T n by means of substituting the sample data into a preset formula, the synchronization program is further executed by the processor to implement the following functions:

performing a first weighted average calculation on the sample data according to a formula S n =a*y n +(1−a)*S n-1 to obtain the time offset prediction value and the frequency offset prediction value at the time T n ; and

performing a second weighted average calculation according to a formula S n ′=a*S n +(1−a)*S n-1 ′ on the time offset prediction value and the frequency offset prediction value obtained by the first weighted average calculation, and regarding values obtained by the second weighted average calculation as a final time offset prediction value and a final frequency offset prediction value at the time T n ,

wherein, when the preset formula is calculated for the time offset prediction value, S0 is an average value of time offset values in n sample data, S n is the time offset prediction value at the time T n obtained by the first weighted average calculation, in nanoseconds, a is a weighting coefficient value, which is a constant, y n is a time offset value in the sample data at the time T n , S n ′ is the time offset prediction value at the time T n obtained by the second weighted average calculation, in nanoseconds; and when the preset formula is calculated for the frequency offset prediction value, S 0 is an average value of frequency offset values in n sample data, S n is the frequency offset prediction value at the time T n obtained by the first weighted average calculation, a is the weighting coefficient value, which is a constant, y n is a frequency offset value in the sample data at the time T n , S n ′ is the frequency offset prediction value at the time T n obtained by the second weighted average calculation, in nanoseconds.

8 . The client according to claim 7 , wherein the synchronization program is further executed by the processor to implement the following functions:

calculating a speed of current frequency changes of the client by applying a linear regression algorithm according to the sample data.

9 . The client according to claim 8 , wherein the synchronization program is further executed by the processor to implement the following functions:

selecting a size of the weighting coefficient value a according to the speed of the current frequency changes.

10 . The client according to claim 9 , wherein the client further comprises a timer, and when recording time T c required by the CPU to process the sample data, the synchronization program is further executed by the processor to implement the following functions:

recording the time T c required by the CPU to process the sample data by means of the timer.

11 . The client according to claim 10 , wherein the synchronization program is further executed by the processor to implement the following functions:

when the client does not receive synchronization information from the server, determining the synchronization source is lost.

12 . The client according to claim 10 , wherein when selecting the preset number of sample data from the synchronization information, the synchronization program is further executed by the processor to implement the following functions:

obtaining load information of a CPU of the client, and determining a load level of the CPU according to the load information; and

selecting a corresponding amount of sample data according to the load level, wherein different levels correspond to different amounts of sample data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2024
From: WEI, SHENG-XIONG; ZENG, ZI-HANG
To: NANNING FULIAN FUGUI PRECISION INDUSTRIAL CO., LTD.
Reel/Frame 068752/0711 →
Priority Claims (1)
CN 202410917570.0 · Jul 9, 2024 · national
Continuity (1)
Related Publication 20260016853A1 · Jan 15, 2026
References Cited (35)
US 5274545A · Allan · 1993 [cited by examiner]
US 7324559B2 · McGibney · 2008 [cited by examiner]
US 7921317B2 · Malek · 2011 [cited by examiner]
US 9596073B1 · Reyes · 2017 [cited by examiner]
US 10206192B2 · Kim · 2019 [cited by examiner]
US 10404447B1 · Haddad · 2019 [cited by examiner]
US 10797805B1 · Mirfakhraei · 2020 [cited by examiner]
US 20020142779A1 · Goto · 2002 [cited by examiner]
US 20060038719A1 · Pande · 2006 [cited by examiner]
US 20070280098A1 · Bhatt · 2007 [cited by examiner]
US 20090041053A1 · Birmiwal · 2009 [cited by examiner]
US 20100020909A1 · Jung · 2010 [cited by examiner]
US 20100058095A1 · Malek · 2010 [cited by applicant]
US 20100222001A1 · Sangary · 2010 [cited by examiner]
US 20110216865A1 · Qi · 2011 [cited by examiner]
US 20120110138A1 · Zhang · 2012 [cited by examiner]
US 20130223524A1 · Lu · 2013 [cited by examiner]
US 20160170440A1 · Aweya · 2016 [cited by examiner]
US 20160359575A1 · Ito · 2016 [cited by examiner]
US 20170117980A1 · Cheng · 2017 [cited by examiner]
US 20190081720A1 · Barry · 2019 [cited by examiner]
US 20190260490A1 · Lv · 2019 [cited by examiner]
US 20200019208A1 · You · 2020 [cited by examiner]
US 20200033909A1 · Rupert · 2020 [cited by examiner]
US 20210289255A1 · Balint · 2021 [cited by examiner]
US 20210294378A1 · Rabinovich · 2021 [cited by examiner]
US 20220094488A1 · Matsumura · 2022 [cited by examiner]
US 20230315025A1 · Castle · 2023 [cited by examiner]
US 20240171185A1 · Huang · 2024 [cited by examiner]
US 20240372768A1 · Zhao · 2024 [cited by examiner]
US 20260016853A1 · Wei · 2026 [cited by examiner]
CN 105577348A · 2016 [cited by examiner]
CN 113422748B · 2022 [cited by examiner]
CN 116359605A · 2023 [cited by applicant]
CN 116736299A · 2023 [cited by applicant]