IP Library Granted Patent US 12,695,531
Granted Patent B2
US 12,695,531 · App. 18/390,048 · Granted Jul 28, 2026

System and method to dynamically monitor clock offsets in a locked state

Inventors: Manik Singhal (Bengaluru, IN); Parthibhan Paramaguru (Bengaluru, IN)
Assignee: Cisco Technology, Inc.
H04J3/0667
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,695,531
App. No.
18/390,048
Filed
Dec 20, 2023
Granted
Jul 28, 2026
Kind
B2
Art Unit
2418
USPC
370/503
Abstract

An apparatus configured to dynamically maintain mutually traceable clocks of different types may comprise a memory and a processor communicatively coupled to one another. The processor may be configured to receive a first clock and a second clock from a first network device, receive a third clock from a second network device, and select the first clock as a Precision Time Protocol (PTP) clock. Further, processor may be configured to determine a first traceability between the first clock and the second clock, determine a second traceability between the first clock and the third clock, and select the second clock or the third clock as a Synchronous Ethernet (SyncE) clock.

Claims (134)

1 . An apparatus, comprising:

a memory configured to store:

a plurality of clock source selection operations configured to enable selection of one or more clock sources; and

a processor communicatively coupled to the memory and configured to:

receive a first clock and a second clock from a first network device;

receive a third clock from a second network device;

select the first clock as a Precision Time Protocol (PTP) clock;

obtain a first clock parameter corresponding to the first clock, the first clock parameter comprising a first value pattern;

obtain a second clock parameter corresponding to the second clock, the second clock parameter comprising a second value pattern;

obtain a third clock parameter corresponding to the third clock, the third clock parameter comprising a third value pattern;

determine a first traceability between the first value pattern and the second value pattern;

determine a second traceability between the first value pattern and the third value pattern;

determine whether the first traceability is greater than the second traceability;

in response to determining that the first traceability is greater than the second traceability, select the second clock as a Synchronous Ethernet (SyncE) clock; and

in response to determining that the first traceability is less than the second traceability, select the third clock as the SyncE clock.

2 . The apparatus of claim 1 , wherein the processor is further configured to:

receive a fourth clock from a third network device;

obtain a fourth clock parameter corresponding to the fourth clock, the fourth clock parameter comprising a fourth value pattern;

determine a third traceability between the first value pattern and the fourth value pattern;

determine whether the first traceability is greater than the third traceability;

in response to determining that the first traceability is greater than the third traceability, maintain the first clock as the SyncE clock; and

in response to determining that the first traceability is less than the third traceability, select the fourth clock as the SyncE clock.

3 . The apparatus of claim 1 , wherein the processor is further configured to:

receive a fourth clock from a third network device;

obtain a fourth clock parameter corresponding to the fourth clock, the fourth clock parameter comprising a fourth value pattern;

determine a third traceability between the first value pattern and the fourth value pattern;

determine whether the first traceability is greater than the third traceability; and

in response to determining that the first traceability is equal to the third traceability, maintain the first clock as the SyncE clock.

4 . The apparatus of claim 1 , wherein the processor is further configured to:

receive a fourth clock from a third network device;

receive a fifth clock from a fourth network device;

obtain a fourth clock parameter corresponding to the fourth clock, the fourth clock parameter comprising a fourth value pattern;

obtain a fifth clock parameter corresponding to the fifth clock, the fifth clock parameter comprising a fifth value pattern;

determine a third traceability between the first value pattern and the fourth value pattern;

determine a fourth traceability between the first value pattern and the fifth value pattern;

determine whether the third traceability is greater than the fourth traceability;

in response to determining that the third traceability is greater than the fourth traceability, select the fourth clock as the SyncE clock; and

in response to determining that the third traceability is less than the fourth traceability, select the fifth clock as the SyncE clock.

5 . The apparatus of claim 1 , wherein:

the first clock traceability indicates a first offset between the first clock and the second clock;

the second clock traceability indicates a second offset between the first clock and the third clock; and

the processor is further configured to:

in conjunction with determine whether the first traceability is greater than the second traceability, compare the first offset to the second offset;

determine whether the first offset is greater than the second offset;

in response to determining that the first offset is greater than the second offset, select the second clock as the SyncE clock; and

in response to determining that the first offset is lower than the second offset, select the second clock as the SyncE clock.

6 . The apparatus of claim 1 , wherein the processor is further configured to:

in conjunction with selecting the second clock as the SyncE clock, determine that the first clock and the second clock are in a locked state.

7 . The apparatus of claim 1 , wherein the processor is further configured to determine whether the first traceability is greater than the second traceability during a maintenance window.

8 . The apparatus of claim 1 , wherein the processor is further configured to determine whether the first traceability is greater than the second traceability outside of a maintenance window.

9 . A method, comprising:

receiving a first clock and a second clock from a first network device;

receiving a third clock from a second network device;

selecting the first clock as a Precision Time Protocol (PTP) clock;

obtaining a first clock parameter corresponding to the first clock, the first clock parameter comprising a first value pattern;

obtaining a second clock parameter corresponding to the second clock, the second clock parameter comprising a second value pattern;

obtaining a third clock parameter corresponding to the third clock, the third clock parameter comprising a third value pattern;

determining a first traceability between the first value pattern and the second value pattern;

determining a second traceability between the first value pattern and the third value pattern;

determining whether the first traceability is greater than the second traceability;

in response to determining that the first traceability is greater than the second traceability, selecting the second clock as a Synchronous Ethernet (SyncE) clock; and

in response to determining that the first traceability is less than the second traceability, selecting the third clock as the SyncE clock.

10 . The method of claim 9 , further comprising:

receiving a fourth clock from a third network device;

obtaining a fourth clock parameter corresponding to the fourth clock, the fourth clock parameter comprising a fourth value pattern;

determining a third traceability between the first value pattern and the fourth value pattern;

determining whether the first traceability is greater than the third traceability;

in response to determining that the first traceability is greater than the third traceability, maintaining the first clock as the SyncE clock; and

in response to determining that the first traceability is less than the third traceability, selecting the fourth clock as the SyncE clock.

11 . The method of claim 9 , further comprising:

receiving a fourth clock from a third network device;

obtaining a fourth clock parameter corresponding to the fourth clock, the fourth clock parameter comprising a fourth value pattern;

determining a third traceability between the first value pattern and the fourth value pattern;

determining whether the first traceability is greater than the third traceability; and

in response to determining that the first traceability is equal to the third traceability, maintaining the first clock as the SyncE clock.

12 . The method of claim 9 , further comprising:

receiving a fourth clock from a third network device;

receiving a fifth clock from a fourth network device;

obtaining a fourth clock parameter corresponding to the fourth clock, the fourth clock parameter comprising a fourth value pattern;

obtaining a fifth clock parameter corresponding to the fifth clock, the fifth clock parameter comprising a fifth value pattern;

determining a third traceability between the first value pattern and the fourth value pattern;

determining a fourth traceability between the first value pattern and the fifth value pattern;

determining whether the third traceability is greater than the fourth traceability;

in response to determining that the third traceability is greater than the fourth traceability, selecting the fourth clock as the SyncE clock; and

in response to determining that the third traceability is less than the fourth traceability, selecting the fifth clock as the SyncE clock.

13 . The method of claim 9 , wherein:

the first clock traceability indicates a first offset between the first clock and the second clock;

the second clock traceability indicates a second offset between the first clock and the third clock; and

the method further comprising:

in conjunction with determine whether the first traceability is greater than the second traceability, comparing the first offset to the second offset;

determine whether the first offset is greater than the second offset;

in response to determining that the first offset is greater than the second offset, selecting the second clock as the SyncE clock; and

in response to determining that the first offset is lower than the second offset, selecting the second clock as the SyncE clock.

14 . The method of claim 9 , further comprising:

in conjunction with selecting the second clock as the SyncE clock, determining that the first clock and the second clock are in a locked state.

15 . The method of claim 9 , further comprising:

determining whether the first traceability is greater than the second traceability during a maintenance window.

16 . The method of claim 9 , further comprising:

determining whether the first traceability is greater than the second traceability outside of a maintenance window.

17 . A non-transitory computer readable medium storing instructions that when executed by a processor cause the processor to:

receive a first clock and a second clock from a first network device;

receive a third clock from a second network device;

select the first clock as a Precision Time Protocol (PTP) clock;

obtain a first clock parameter corresponding to the first clock, the first clock parameter comprising a first value pattern;

obtain a second clock parameter corresponding to the second clock, the second clock parameter comprising a second value pattern;

obtain a third clock parameter corresponding to the third clock, the third clock parameter comprising a third value pattern;

determine a first traceability between the first value pattern and the second value pattern;

determine a second traceability between the first value pattern and the third value pattern;

determine whether the first traceability is greater than the second traceability;

in response to determining that the first traceability is greater than the second traceability, select the second clock as a Synchronous Ethernet (SyncE) clock; and

in response to determining that the first traceability is less than the second traceability, select the third clock as the SyncE clock.

18 . The non-transitory computer readable medium of claim 17 , wherein the processor is further caused to:

receive a fourth clock from a third network device;

obtain a fourth clock parameter corresponding to the fourth clock, the fourth clock parameter comprising a fourth value pattern;

determine a third traceability between the first value pattern and the fourth value pattern;

determine whether the first traceability is greater than the third traceability;

in response to determining that the first traceability is greater than the third traceability, maintain the first clock as the SyncE clock; and

in response to determining that the first traceability is less than the third traceability, select the fourth clock as the SyncE clock.

19 . The non-transitory computer readable medium of claim 17 , wherein the processor is further caused to:

receive a fourth clock from a third network device;

obtain a fourth clock parameter corresponding to the fourth clock, the fourth clock parameter comprising a fourth value pattern;

determine a third traceability between the first value pattern and the fourth value pattern;

determine whether the first traceability is greater than the third traceability; and

in response to determining that the first traceability is equal to the third traceability, maintain the first clock as the SyncE clock.

20 . The non-transitory computer readable medium of claim 17 , wherein the processor is further caused to:

receive a fourth clock from a third network device;

receive a fifth clock from a fourth network device;

obtain a fourth clock parameter corresponding to the fourth clock, the fourth clock parameter comprising a fourth value pattern;

obtain a fifth clock parameter corresponding to the fifth clock, the fifth clock parameter comprising a fifth value pattern;

determine a third traceability between the first value pattern and the fourth value pattern;

determine a fourth traceability between the first value pattern and the fifth value pattern;

determine whether the third traceability is greater than the fourth traceability;

in response to determining that the third traceability is greater than the fourth traceability, select the fourth clock as the SyncE clock; and

in response to determining that the third traceability is less than the fourth traceability, select the fifth clock as the SyncE clock.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2023
From: SINGHAL, MANIK; PARAMAGURU, PARTHIBHAN
To: CISCO TECHNOLOGY, INC.
Reel/Frame 065917/0491 →
Continuity (1)
Related Publication 20250211352A1 · Jun 26, 2025
References Cited (81)
US 6218800B1 · Akkermans et al. · 2001 [cited by applicant]
US 7573303B1 · Chi et al. · 2009 [cited by applicant]
US 9484962B1 · Magesacher et al. · 2016 [cited by applicant]
US 9998247B1 · Choudhury et al. · 2018 [cited by applicant]
US 10253717B1 · Esposito et al. · 2019 [cited by applicant]
US 10404447B1 · Haddad et al. · 2019 [cited by applicant]
US 10795783B2 · Wojewoda et al. · 2020 [cited by applicant]
US 11398812B1 · Bowman et al. · 2022 [cited by applicant]
US 11424736B1 · Bowman et al. · 2022 [cited by applicant]
US 11539451B2 · Herber et al. · 2022 [cited by applicant]
US 11539452B2 · Abdullah et al. · 2022 [cited by applicant]
US 11706014B1 · Manevich et al. · 2023 [cited by applicant]
US 11855645B2 · Bowman et al. · 2023 [cited by applicant]
US 11899491B1 · Sherman et al. · 2024 [cited by applicant]
US 11982547B2 · Close et al. · 2024 [cited by applicant]
US 12040886B2 · Rabinovich et al. · 2024 [cited by applicant]
US 12132567B2 · Lv et al. · 2024 [cited by applicant]
US 12261759B1 · Vaez-Ghaemi · 2025 [cited by examiner]
US 20110200051A1 · Rivaud et al. · 2011 [cited by applicant]
US 20120139882A1 · Kim et al. · 2012 [cited by applicant]
US 20130039359A1 · Bedrosian · 2013 [cited by applicant]
US 20140281037A1 · Spada et al. · 2014 [cited by applicant]
US 20140306635A1 · Watahiki et al. · 2014 [cited by applicant]
US 20150033101A1 · Chebruch et al. · 2015 [cited by applicant]
US 20150071030A1 · Hayashi · 2015 [cited by applicant]
US 20150092793A1 · Aweya · 2015 [cited by examiner]
US 20150092797A1 · Aweya · 2015 [cited by applicant]
US 20150188691A1 · Mizuguchi · 2015 [cited by applicant]
US 20150220067A1 · Tsuneki · 2015 [cited by applicant]
US 20150295702A1 · Ogawa · 2015 [cited by applicant]
US 20170214516A1 · Rivaud et al. · 2017 [cited by applicant]
US 20170288801A1 · Aweya · 2017 [cited by applicant]
US 20180121280A1 · Sanders et al. · 2018 [cited by applicant]
US 20180375603A1 · Mayer · 2018 [cited by applicant]
US 20190007191A1 · Wang · 2019 [cited by examiner]
US 20200280383A1 · Herber et al. · 2020 [cited by applicant]
US 20200287969A1 · Lv et al. · 2020 [cited by applicant]
US 20200322906A1 · Lv et al. · 2020 [cited by applicant]
US 20210044402A1 · Gao et al. · 2021 [cited by applicant]
US 20210266086A1 · Liu · 2021 [cited by examiner]
US 20210328696A1 · Lv et al. · 2021 [cited by applicant]
US 20210328698A1 · Lv et al. · 2021 [cited by applicant]
US 20210329330A1 · Sheen et al. · 2021 [cited by applicant]
US 20210367693A1 · S et al. · 2021 [cited by applicant]
US 20210391939A1 · Lamas-Linares et al. · 2021 [cited by applicant]
US 20220039042A1 · Dwivedi et al. · 2022 [cited by applicant]
US 20220166531A1 · Ren et al. · 2022 [cited by applicant]
US 20220190945A1 · Lv et al. · 2022 [cited by applicant]
US 20220244907A1 · Ramos · 2022 [cited by applicant]
US 20220294711A1 · Rangarajan et al. · 2022 [cited by applicant]
US 20220303034A1 · Lesi et al. · 2022 [cited by applicant]
US 20220376808A1 · Zinner et al. · 2022 [cited by applicant]
US 20220417883A1 · Fu et al. · 2022 [cited by applicant]
US 20230057463A1 · Vanderydt · 2023 [cited by examiner]
US 20230121983A1 · Bogdan · 2023 [cited by applicant]
US 20230130665A1 · Royle · 2023 [cited by examiner]
US 20230171016A1 · Lee · 2023 [cited by applicant]
US 20230213357A1 · Tombez et al. · 2023 [cited by applicant]
US 20230269018A1 · Dror et al. · 2023 [cited by applicant]
US 20230269161A1 · Dror · 2023 [cited by applicant]
US 20230321526A1 · Takagaki et al. · 2023 [cited by applicant]
US 20230362854A1 · Zhang et al. · 2023 [cited by applicant]
US 20240031121A1 · Levi et al. · 2024 [cited by applicant]
US 20240031124A1 · Levi et al. · 2024 [cited by applicant]
US 20240056209A1 · Lyu et al. · 2024 [cited by applicant]
US 20240097812A1 · Zhang et al. · 2024 [cited by applicant]
US 20240137201A1 · Shao et al. · 2024 [cited by applicant]
US 20240143020A1 · Lesi et al. · 2024 [cited by applicant]
US 20240224205A1 · Machireddy · 2024 [cited by applicant]
US 20250007636A1 · Zang et al. · 2025 [cited by applicant]
US 20250211351A1 · Singhal et al. · 2025 [cited by applicant]
US 20250212145A1 · Singhal et al. · 2025 [cited by applicant]
US 20250343614A1 · Peng et al. · 2025 [cited by applicant]
EP 3839695A1 · 2021 [cited by applicant]
WO 2013023505A1 · 2013 [cited by applicant]
Cisco: “PTP and SyncE Basics with Cisco IOS XR Configuration”, last updated on Nov. 30, 2021, 52 Pages. [cited by applicant]
Idrees Z., et al., “IEEE 1588 for Clock Synchronization in Industrial IoT and Related Applications: A Review on Contributing Technologies, Protocols and Enhancement Methodologies”, IEEE Access, vol. 8, Aug. 3, 2020, pp.… [cited by applicant]
Manik Singhal and Parthibhan Paramaguru, “Clock Quality Measurements and Monitoring in 5G Network,” U.S. Appl. No. 18/389,967, filed Dec. 20, 2023. [cited by applicant]
Manik Singhal and Parthibhan Paramaguru, “System and Method to Dynamically Maintain Mutually Traceable Clocks of Different Types,” U.S. Appl. No. 18/390,013, filed Dec. 20, 2023. [cited by applicant]
Manik Singhal and Parthibhan Paramaguru, “System and Method to Analyze Clock Offsets When Clocks are Unable to Lock,” U.S. Appl. No. 18/390,079, filed Dec. 20, 2023. [cited by applicant]
Manik Singhal and Parthibhan Paramaguru, “System and Method to Determine Sets of Untraceable Clock Domains,” U.S. Appl. No. 18/390,127, filed Dec. 20, 2023. [cited by applicant]