# US 12,603,718 B2 · Robust time distribution and synchronization in computer and radio access networks

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,603,718 B2
- Document ID: US12603718B2
- Status: Granted
- Kind: B2
- Application number: 18/258,694
- Filed: 2022-02-15
- Published: 2024-02-08
- Granted: 2026-04-14
- Earliest claimed: 2021-02-22
- Assignees: Net Insight AB
- Applicants: Net Insight AB
- Inventors: Christer Bohm
- Web page: https://patentgrep.com/patent/US12603718B2

## CPC

- H04J 3/0644: {External master-clock}
- H04J 3/0667: {Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays (arrangements for monitoring round trip delays in packet switching networks H04L43/0864)}
- G04R 20/02: the radio signal being sent by a satellite, e.g. GPS
- H04J 3/0641: {Change of the master or reference, e.g. take-over or failure of the master}
- H04W 56/0015: {one node acting as a reference for the others}
- H04W 56/004: {compensating for timing error of reception due to propagation delay}
- H04J: MULTIPLEX COMMUNICATION (transmission in general H04B; peculiar to transmission of digital information H04L5/00; systems for the simultaneous or sequential transmission of more than one television signal H04N7/08; in exchanges H04Q11/00; stereophonic systems H04S)
- G04R: RADIO-CONTROLLED TIME-PIECES
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

The present invention relates to systems, methods and nodes for enabling synchronization between a plurality of nodes in a network, by comparing the times of the GPS clocks of the plurality of nodes to determine accurate clocks being within a tolerance of each other, adjusting priority, and, if the priority of a local clock of a node is low, selecting a remote GPS clock to be used as a timing reference of the GPS clock of the node.

## Claims

### Claim 1

A method for use in a first node, for enabling synchronization between nodes in a network, the network including the first node and a plurality of remote nodes, the method comprising:
receiving remote times from the plurality of remote nodes based on receiving, from each remote node of the plurality of remote nodes, an indication of a remote time of a respective local global positioning system (GPS) clock of the remote node;
on a condition that the first node is a node comprising a local GPS clock to be synchronized with the plurality of remote nodes,
comparing the received remote times and a local time of the local GPS clock of the first node to identify one or more subgroups of times that are within a tolerance range of each other,
determining that a subgroup of GPS clocks corresponding to at least one subgroup of times, among the one or more subgroups of times, belongs to a group of accurate clocks,
on a condition that the local GPS clock of the first node is not within the group of accurate clocks,
lowering a priority of the local GPS clock of the first node to a low priority,
selecting a remote GPS clock of the group of accurate clocks, or a remote GPS clock which has a high priority, as a timing reference of the local GPS clock of the first node, and
synchronising the local GPS clock of the first node to the selected remote GPS clock, and
on a condition that the local GPS clock of the first node is within the group of accurate clocks,
setting the priority of the local GPS clock of the first node to high, and
using a time provided by a local GPS receiver of the first node for the local GPS clock of the first node to be synchronized; and
on a condition that the first node is a central node for enabling synchronization between the plurality of remote nodes,
comparing, in the central node, the received remote times to identify one or more separate subgroups of times that are within the tolerance range of each other,
determining that a separate subgroup of GPS clocks corresponding to a separate subgroup of times, among the one or more separate subgroups of times, belongs to the group of accurate clocks,
sending a particular message to each particular remote node of the plurality of remote nodes that has a corresponding local GPS clock that is not part of the group of accurate clocks, the particular message indicating that the particular remote node should set a priority of the corresponding local GPS clock of the particular remote node to low, and
sending a separate message to each separate remote node of the plurality of remote nodes that has a corresponding local GPS clock that is part of the group of accurate clocks, the separate message indicating that the separate remote node should set a priority of the corresponding local GPS clock of the separate remote node to high.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising:
receiving, from each remote node of the plurality of remote nodes, a respective priority related to a respective local GPS clock of the remote node, where the respective priority is set by the remote node based on an assessment whether the respective local GPS clock shows a correct time or not.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the receiving, from each remote node of the plurality of remote nodes, the indication of the remote time of the respective local GPS clock of the remote node includes:
sending a signal comprising a local timestamp t1 to the plurality of remote nodes, the local timestamp t1 relating to a time in the first node when the signal was sent in relation to the local GPS clock in the first node;
receiving, from each remote node of the plurality of remote nodes, a respective second timestamp t2 corresponding to the remote node, the respective second timestamp t2 relating to a time in the remote node when the signal was received in the remote node in relation to a local GPS clock in the remote node; and
determining, for each remote node of the plurality of remote nodes, a remote time based on the local timestamp t1, the respective second timestamp t2 corresponding to the remote node, and an average delay between the first node and the remote node.

### Claim 4 (depends on 1)

The method according to claim 1, wherein,
the tolerance range is a pre-determined tolerance range,
the comparing the received remote times and the local time of the local GPS clock in the first node to identify the one or more subgroups of times that are within the tolerance range of each other, on the condition that the first node comprises the local GPS clock to be synchronized with the plurality of remote nodes, includes comparing each time of the received remote times and the local time of the local GPS clock to each other time of the received remote times and the local time of the local GPS clock to determine if said time is within the tolerance range of the other time, and grouping all times of the received remote times and the local time of the local GPS clock that are within the tolerance range of each other into the one or more subgroups, and
the comparing, in the central node, the received remote times to identify the one or more separate subgroups of times that are within the tolerance range of each other, on the condition that the first node is the central node for enabling the synchronization between the plurality of remote nodes, includes comparing each time of the received remote times to each other time of the received remote times to determine if said time is within the tolerance range of the other time, and grouping all times of the received remote times that are within the tolerance range of each other into the one or more separate subgroups.

### Claim 5 (depends on 1)

The method according to claim 1, wherein each of the determining that the subgroup of GPS clocks corresponding to the at least one subgroup of times, among the one or more subgroups of times, belongs to the group of accurate clocks and the determining that the separate subgroup of GPS clocks corresponding to the separate subgroup of times, among the one or more separate subgroups of times, belongs to the group of accurate clocks comprises:
on a condition that one subgroup of GPS clocks is identified,
determining that the one subgroup of GPS clocks belongs to the group of accurate clocks; and
on a condition that more than one subgroup of GPS clocks is identified,
determining that a subgroup of GPS clocks, of the more than one subgroup of GPS clocks, which contains a greatest number of GPS clocks belongs to the group of accurate clocks; or
determining that a subgroup of GPS clocks, of the more than one subgroup of GPS clocks, which contains a clock of highest quality belongs to the group of accurate clocks.

### Claim 6 (depends on 1)

The method according to claim 1, wherein the selecting the remote GPS clock of the group of accurate clocks as the timing reference of the local GPS clock of the first node comprises:
on a condition that the group of accurate clocks comprises a high-quality clock,
selecting the high-quality clock as the timing reference of the local GPS clock of the first node;
on a condition that the group of accurate clocks does not comprise a high quality clock,
selecting a particular remote GPS clock, in the one or more subgroups of times that are within the tolerance range of each other, that is closest in distance, in view of number of hops or physical distance, to the local GPS clock of the first node as the timing reference of the local GPS clock of the first node; and
on a condition that more than one clock is within equal distance of the local GPS clock of the first node,
selecting a particular GPS clock, in the one or more subgroups of times that are within the tolerance range of each other, that is closest in distance to the local GPS clock of the first node and which has a highest priority as the timing reference of the local GPS clock of the first node.

### Claim 7 (depends on 1)

The method according to claim 1, wherein the tolerance range is set based on requirements of an application currently being performed by the first node or the plurality of remote nodes to be synchronized.

### Claim 8 (depends on 1)

The method according to claim 1, wherein the tolerance range is pre-configured, received via a central node, acquired using artificial intelligence or determined via lookup table.

### Claim 9 (depends on 1)

The method according to claim 1, wherein the first node is one of a 5G base station, gNode B, 5G small cell, eNode B, Node B, digital TV-transmitter, power station in smart grid, a data communication equipment, or a data terminal equipment.

### Claim 10 (depends on 1)

A first node, configured for enabling robust GPS synchronization between nodes in a network, the first node comprising:
a communication interface;
an internal clock;
a GPS receiver; and
processing circuitry including a memory and processor configured to cause the first node to carry out the method according to claim 1.

### Claim 11 (depends on 1)

A method performed in a system comprising a network of nodes, for enabling synchronization between a plurality of nodes in the network of said system, each of the plurality of nodes being connected to a respective local GPS clock, the method comprising:
performing, by the plurality of nodes in an area of the network, the method of claim 1, for identifying inaccurate local GPS clocks and enabling clock recovery of said inaccurate local GPS clocks to obtain synchronization.

### Claim 12 (depends on 1)

A system, comprising a network and a plurality of nodes, the system being configured to cause the nodes to carry out the method according to claim 1.

### Claim 13 (depends on 1)

A non-transitory computer readable medium storing a computer program comprising computer program code which, when executed in a network node, causes the network node to execute the method according to claim 1.
