Robust time allocation and synchronization in computers and radio access networks
By receiving remote GPS clock indications in the 5G network and comparing them with local time, accurate clock groups are identified, solving the problem of GPS being susceptible to interference and achieving robust time synchronization, thus meeting the high accuracy and stability requirements of the 5G network.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- NET INSIGHT
- Filing Date
- 2022-02-15
- Publication Date
- 2026-07-31
AI Technical Summary
In 5G networks, existing time synchronization methods such as PTP and NTP cannot meet the requirements for speed and accuracy. GPS synchronization is susceptible to interference and is not robust enough, resulting in unreliable synchronization between network nodes.
Robust GPS synchronization is achieved by receiving time indications from remote GPS clocks between nodes, comparing local and remote times, identifying accurate clock groups, and, when necessary, reducing the priority of the local GPS clock to select a remote clock as the timing reference.
It improves the synchronization accuracy and robustness between nodes in the 5G network, ensuring a switch to a remote clock when GPS fails, and ensuring the reliability and consistency of time synchronization.
Smart Images

Figure CN116941197B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of signal transmission. More specifically, the proposed technology relates to methods and nodes for allocating precise time within a network and for providing robust and accurate synchronization within a network. This disclosure provides methods for achieving robust GPS-assisted synchronization between nodes in a network, such as for 5G networks. This invention relates to systems, methods, and nodes for achieving synchronization between multiple nodes in a network by: comparing the times of the GPS clocks of multiple nodes to determine accurate clocks within tolerances of each other; adjusting priorities; and selecting a remote GPS clock as a timing reference for that node's GPS clock if the local clock of a certain node has low priority. Background Technology
[0002] Network synchronization (i.e., synchronization between nodes in a network) is crucial for network functionality. For example, packet-based networks require frequency and time synchronization (phase alignment) between nodes to successfully deliver packets, where operators can provide synchronization services to their customers.
[0003] Network synchronization in network-based approaches involves distributing a reference signal from a future Autonomous Reference Clock (PRC) to all network elements requiring synchronization. The method used to propagate the reference signal within the network is typically a master-slave approach, where the slave clock must be subordinate to a hierarchical model of a clock with higher (or equal) stability. Synchronization information is transmitted over the network via synchronization network connections. These connections are typically unidirectional and point-to-multipoint. Centralized or distributed timing network architectures (e.g., GPS) can be used.
[0004] Synchronization measurements may include phase measurements of the reference signal, phase deviation, and analysis of phase time interval error, fractional frequency offset, maximum time interval error (MTIE), and time deviation (TDEV).
[0005] Time transfer (relative and absolute) describes a mechanism used to compare time and frequency measurements from one location to another. Time transfer is a scheme in which multiple stations share a precise reference time. Various techniques have been developed to typically transfer reference clock synchronization from one point to another, often over long distances. Time transfer can be used for time synchronization between different entities or nodes in a network, which is crucial for network functionality.
[0006] Techniques for synchronizing network nodes' time without utilizing GPS include, for example, the Network Time Protocol (NTP), which can be used to synchronize network nodes' clocks to a master or reference clock using timestamps. Precision Time Protocol (PTP), also known as IEEE 1588, is a protocol used to synchronize clocks across a computer network. There are five basic types of PTP devices (“clocks”): ordinary clocks (master or slave), boundary clocks (“master and slave”), end-to-end transparent clocks, peer-to-peer transparent clocks, and management nodes. All five types implement one or more aspects of the PTP protocol. Transparent clocks modify PTP messages as they pass through the device. The timestamps in the messages are corrected for the time spent traversing the network equipment. This scheme improves allocation accuracy by compensating for the variability in delivery across the network.
[0007] As an alternative to network-based methods, synchronization can also be achieved using the Global Positioning System (GPS), for example, by installing a GPS receiver at a transmitter site. However, GPS receivers can be easily interfered with, intentionally or unintentionally, or malfunction due to other reasons such as equipment failure.
[0008] For long-distance communication, such as in wireless telecommunication networks, network nodes need to synchronize with each other, and then the terminal synchronizes to the corresponding network node. In the implementation of New Radio (NR), a radio access technology used to achieve 5G communication, the terminal will connect to several base stations or network nodes to achieve communication. Therefore, the need for network synchronization between different base stations has increased.
[0009] 5G's requirements for speed and latency necessitate precise timing, where PTP and NTP may be insufficient. GPS will provide the necessary accuracy, but it can be unreliable due to its susceptibility to interference or jamming. Therefore, enhanced methods for network synchronization in 5G networks are needed. Summary of the Invention
[0010] The purpose of this disclosure is to provide methods, nodes, and systems designed to mitigate, alleviate, or eliminate the aforementioned deficiencies and disadvantages in the art, either individually or in any combination. This objective is achieved through a method in a first node for achieving synchronization between nodes in a network, the method comprising: receiving, from each of a plurality of remote nodes, an indication of the remote time of the GPS clock of that remote node; comparing these received remote times with the local time of a local GPS clock in the first node to identify one or more time subgroups within each other's tolerances; determining that the GPS clock subgroup corresponding to the identified time subgroup belongs to an accurate clock group; and if the GPS clock of the first node is not in the accurate clock group, lowering the priority of the local GPS clock to a lower priority to select a remote GPS clock as the timing reference.
[0011] The remote GPS clock is selected from a defined accurate clock group and is used as a timing reference for the first node's local GPS clock by synchronizing the first node's local GPS clock with the selected GPS clock. Therefore, the local clock is subordinate to the remote GPS, not the local GPS. After synchronization, the local GPS clock's priority can be increased if it is determined again that the local GPS clock belongs to the accurate clock group. If the comparison determines that the first node's GPS clock is within the accurate clock group, the local clock's priority is set high, and the time provided by the first node's local GPS clock's local GPS receiver is used or maintained as the timing reference for the local GPS clock to be synchronized.
[0012] In other embodiments, if the method is performed in a first node serving as a central node for achieving synchronization among the plurality of nodes, the method includes: comparing the received remote times in the central node to identify one or more time subgroups within each other's tolerance ranges; determining that the GPS clock subgroup corresponding to the identified time subgroup belongs to an accurate clock group; sending a message to each of the plurality of nodes whose corresponding clock is not part of the accurate clock subgroup, instructing that the node should set the priority of its local GPS clock to low; and sending a message to each of the plurality of nodes whose corresponding clock is part of the accurate clock subgroup, instructing that the node should set the priority of its local GPS clock to high. A remote node that has received an instruction to lower its priority can then perform a method of selecting a remote clock to use as a timing reference based on the remote clock's priority and distance.
[0013] According to some aspects, a first node is provided, the first node including a processing circuitry configured to achieve robust GPS synchronization between nodes in a network, the node including a communication interface, an internal clock, a GPS receiver, and a processing circuitry including a memory and a processor configured to cause the node to perform the methods described above.
[0014] In other embodiments, a system including a network and multiple nodes is provided, the system being configured to enable all nodes to individually perform the methods described above for the first node.
[0015] In another aspect, a method is provided for execution in a system comprising a network of nodes, the method for achieving synchronization among multiple nodes in the network of the system, each of the multiple nodes being connected to a local GPS clock, the method comprising: performing the method described above for a first node by the multiple nodes in a region of the network for identifying an inaccurate local GPS clock, and performing clock recovery of the inaccurate clock to achieve synchronization.
[0016] In some aspects, the first node is selected from the group consisting of a 5G base station, a gNode B, a 5G small cell, an eNode B, a Node B, a digital television transmitter, a power supply station in a smart grid, data communication equipment, and data terminal equipment. In other aspects, a computer program including computer program code is provided, which, when executed in a network node, causes the network node to perform the above-described method. In yet another aspect, a carrier containing the computer program is provided, wherein the carrier is one of an electronic signal, an optical signal, a radio signal, or a computer-readable storage medium.
[0017] Further objects, features, and advantages of the invention will become clear upon studying the following detailed disclosure, drawings, and appended claims. Those skilled in the art will recognize that different features of the invention can be combined to produce embodiments other than those described below. Attached Figure Description
[0018] The above and other objects, features, and advantages of the present invention will be better understood from the following illustrative and non-limiting detailed description of preferred embodiments of the invention with reference to the accompanying drawings, in which the same reference numerals will be used for similar elements:
[0019] Figure 1 The illustration shows time transfer on a packet-switched network (100).
[0020] Figure 2 This is a diagram illustrating clock synchronization using PTP messages, including the exchange of four timestamps between the reference clock and the clock to be synchronized.
[0021] Figure 3A The illustration shows GPS-based synchronization of the clock (40) directly via GPS, and Figure 3B The diagram illustrates the synchronization of the base station (50) via GPS satellites (30) and the subsequent time allocation of the distributed clock (40).
[0022] Figure 4 , 5 An embodiment of the present invention using a distributed approach is illustrated.
[0023] Figure 5 An embodiment of the present invention using a centralized approach is illustrated.
[0024] Figure 6 This is a block diagram of the nodes of the present invention.
[0025] Figure 7A flowchart is shown of an exemplary process for setting the priority of the present invention using a distributed method (A) or a centralized method (B).
[0026] Figure 8 It shows the method for using based Figure 7 The flowchart illustrates an exemplary process for selecting a clock to synchronize with.
[0027] All accompanying drawings are schematic and not necessarily drawn to scale, and generally only show components necessary to illustrate the invention, wherein other components may be omitted or only suggested. Detailed Implementation
[0028] The fifth-generation mobile technology (5G) is expected to connect people, things, data, applications, transportation systems, and cities in intelligent network communication environments. It should transmit massive amounts of data much faster, reliably connect an extremely large number of devices, and process very large volumes of data with minimal latency. 5G technology will support applications such as smart homes and buildings, smart cities, 3D video, cloud-based work and entertainment, telemedicine services, virtual and augmented reality, and large-scale machine-to-machine communication for industrial automation. These new capabilities and services require new ways to deploy advanced mobile services, as well as new methods to enable 5G technology to work collaboratively with machine-to-machine communication, the Internet of Things (IoT), or connected vehicles in industrial environments.
[0029] When deployed, 5G networks should provide faster speeds and greater capacity to support large-scale machine-to-machine communication and offer low-latency, high-reliability services for time-critical applications. Covering a given area will require a significant increase in the number of base stations, which will increase infrastructure complexity, including the need to deploy radio equipment on street infrastructure such as traffic lights, lampposts, utility poles, and power outlets.
[0030] Due to the speed and capacity requirements of 5G, as well as the need for resource and spectrum management and seamless handover, accurate timing becomes increasingly important. Furthermore, in 5G radio access networks (RANs), devices or stations will be served by more than one base station simultaneously, making synchronization between different neighboring base stations (eNB, gNB, cells, etc.) increasingly critical. Therefore, as presented in this disclosure, enhanced methods for synchronization and time delivery in 5G networks have been developed.
[0031] The various aspects of this disclosure will be described more fully below with reference to the accompanying drawings. However, the apparatus and methods disclosed herein can be implemented in many different forms and should not be construed as being limited to the aspects set forth herein. Throughout the drawings, the same reference numerals refer to the same elements.
[0032] The terminology used herein is for the purpose of describing specific aspects of this disclosure only and is not intended to limit the disclosure. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.
[0033] In some embodiments, the non-limiting terms "node" or "network node" are used. It should be understood that the term refers to any type of node that can send and / or receive information (such as data and control information) through a network. Where applicable, a node may also be referred to as a "station" or "base station." The node may also be referred to as a "site" or located at a particular site. A physical node is typically an electronic device attached to a network and capable of creating, receiving, or transmitting information through a communication channel. The node can be a node in a 5G wireless communication network, such as a 5G network node, a 5G macro cell (e.g., gNB), or a 5G cell. A network node can also be a 4G sector base station (e.g., eNB) used for 5G communications. The node can be a node in machine-to-machine (M2M) communications, such as a machine-type communication (MTC) node used to implement large-scale MTC and Internet of Things (IoT) applications, or a node used to implement ultra-reliable low-latency communication (URLLC) in applications such as vehicle-to-everything (V2X). The node can also be a node used for enhanced 5G mobile broadband (eMBB) applications, providing significantly faster data speeds and greater capacity than previous mobile broadband applications. New applications will include fixed home wireless internet access, outdoor broadcasting applications without the need for a broadcast vehicle, and greater connectivity for mobile users. The node of this invention can also be a television transmitter, encompassing data communication equipment (DCE), such as a modem, hub, bridge, or switch; or data terminal equipment (DTE), such as a digital telephone, printer, or host computer. In another example, the node can be a computer terminal connected to a network such as a local area network (LAN), a wide area network (WAN), or the Internet.
[0034] As used herein, the terms “device,” “terminal,” “mobile station,” or “user equipment (UE)” generally refer to a device served by another node, such as a base station. This device does not necessarily need to be mobile unless it is referred to as a mobile station. The device may also refer to a node served by another node as described above.
[0035] The term "network" refers to any type of network through which network nodes can communicate, such as a radio communication network (RAN), local area network (LAN), wide area network (WAN), or the Internet. An RAN can be a wireless communication network used, for example, to implement 5G by implementing NR. For example, such a network can be called an Internet Protocol (IP) network, which uses IP to send and receive messages between one or more computers, such as those implemented in Internet networks, LANs, and enterprise networks. This network can serve 5G or a digital television (DTV) distribution network operating in a single-frequency network (SFN) operation.
[0036] "Timing recovery" or "clock recovery" refers to recovering the clock from a modulated waveform at the symbol rate or a multiple of the symbol rate. This clock is needed to convert continuously received signals into a discrete-time sequence of data symbols. In serial communication of digital data, clock recovery is the process of extracting timing information from the serial data stream to allow the receiving circuitry to decode the transmitted symbols. Clock recovery from the data stream can be accelerated by modifying the transmitted data. In any case where the serial communication channel does not transmit the clock signal along with the data stream, the clock must be regenerated at the receiver using the timing information from the data stream. Clock recovery is a common component of systems communicating over wires, optical fibers, or radio.
[0037] The term "GPS clock" refers to a local clock in a node, station, or device, controlled by time information received from satellites of the GPS system by a local GPS receiver. Sometimes, the general term "clock" is used to describe a GPS clock. For a given node or station, a "local clock" means a clock present at that node or station. For a given node, a "remote clock" means a clock not present at that node but present at another node / station located far from it. A "high-quality clock" refers to a clock with low inherent timing error and capable of maintaining time without drifting when a GPS connection is lost, such as an atomic clock. Lower-quality clocks are typically cheaper crystal clocks, which will begin to drift when, for example, a GPS connection or other time reference connection is lost. For GNSS, rubidium atomic clocks are often used as high-quality clocks. A clock may show an incorrect time or a correct time. A clock showing an incorrect time can also be referred to as inaccurate or incorrect, such as an inaccurate or incorrect clock. A clock showing a correct time can also be referred to as accurate or correct, such as an accurate or correct clock.
[0038] As used herein, "tolerance," "tolerance range," or "tolerance level" refers to the maximum time deviation between two clocks that are acceptable for a ruling clock to show the "same" time, and is used to place clocks within a subgroup of a group of clocks being compared, which consists of clocks showing the same time (the deviation between a clock and all other members should be within the tolerance range). An example of identifying clocks to be selected as showing the same time with, for example, a tolerance of 100 ns is to first identify a group of clocks with a lower tolerance (e.g., 20 ns). These clocks can be identified / selected, and their average time can be calculated. Based on the average time, a tolerance of ±50 ns is set to identify the remaining clocks showing the same time within the tolerance. Tolerances are typically set / configured by the application, where an application is associated with a particular tolerance. Tolerances can be known to the station, such as stored in the station's memory. Tolerances can also be predetermined or learned by the station using artificial intelligence, such as machine learning. Therefore, the time within each other's tolerance range refers to the time that will not deviate from each other and exceed the tolerance range. That is, the maximum possible deviation between two times within the tolerance range is the tolerance range value.
[0039] Clocks with times within tolerance for comparison are placed in a subgroup of compared clocks considered to show the same time, and this subgroup is considered to show the accurate time. If several clock subgroups are formed, each subgroup including clocks within each other's tolerance but not within the tolerance of other subgroups, the largest subgroup (including the largest number of clocks) is determined to show the correct time. Alternatively, the subgroup including the highest quality clocks is selected as the accurate clock group. All clocks are subordinate to GPS, but it is better to hold over them in higher quality clocks. Therefore, if a group includes atomic clocks, that group can be selected. A group including cesium atomic clocks can be selected instead of a group including rubidium atomic clocks. Those skilled in the art know which type of clock is more accurate than other types of clocks and will know how to make selections based on quality. When selecting a group based on including the highest quality clocks, tolerances can be set around said clocks; for example, a tolerance of 100 ns would mean a difference of + / - 50 ns from said high-quality clocks. The choice between the largest group and the group with the highest quality clock can depend on the distance difference between the clock to be synchronized and the corresponding group, as well as the quality difference of the clocks within the corresponding group.
[0040] The GPS clocks disclosed herein may be associated with a "priority," which refers to a temporary attribute of the clock. A GPS clock initially has high priority when synchronizing to its local GPS receiver. During this process, the first local node will determine whether its own clock is within or outside the tolerance. If within the tolerance, the clock's priority is increased or maintained (if already high). If outside the tolerance, the priority is decreased, and a remote clock is used as the synchronization source. In the next comparison, if the local GPS receiver's time is found to be within the tolerance, the priority is increased again, and the local clock switches back to using the local GPS receiver as the synchronization source. Therefore, when the local GPS receiver's time is found to be inaccurate, the priority can be "high" or "low," but it can also be "medium," where, for example, based on distance or quality, none of the other remote clocks are considered better. Clock quality can also affect priority. Priority and distance are weighted together when selecting a synchronization source. This means that even if a node is located at a greater distance, it can still choose a higher quality clock. In the first step of one embodiment, priority can be determined as high or low, where high indicates "use" or "can be used," and low indicates "not used." Typically, a clock determined to have high priority will retain its time, while a clock determined to have low priority (outside the tolerance) will search for a clock to synchronize with among clocks with high priority (determined to be within the tolerance). In the next step, the quality and hop count of the other clocks will affect the selection of the other clocks.
[0041] When choosing which clock within the accuracy group to use for time allocation / synchronization / clocking or timing recovery, the closest or most accurate clock is typically selected. "Closest" means the clock is within the minimum number of jumps from the clock being recovered. "Most accurate" means the clock is of the highest quality, such as a rubidium clock compared to a less accurate crystal clock, or, if all clocks are of equal quality, the clock closest to the average time within the accuracy group. Typically, the closest clock in the accuracy group is selected first, and if several clocks are at equal distances, the most accurate clock is chosen. Alternatively, if the closest clock is of low quality and a high-quality clock is available further away, the selection will be based on a trade-off: comparing clock distance and quality to determine which clock is preferred for timing reference based on knowledge of clock quality and algorithms used to calculate time allocation errors. Those skilled in the art will know how to compare jump counts and clock quality to determine the preferred clock to use. If several clocks are at equal distances and have the same accuracy (the few most accurate clocks), the clock to be used for timing recovery is randomly selected from among these clocks.
[0042] The terms “IEEE 1588” and “Precision Time Protocol (PTP)” are used interchangeably in this document and refer to the protocol used to synchronize clocks throughout the network.
[0043] Network latency is a design and performance characteristic of telecommunications networks. It specifies the time it takes for data bits to travel across a network from one communication endpoint to another. It is typically measured in multiples or fractions of a second. Latency can vary slightly depending on the location of a particular pair of communication endpoints.
[0044] In computer networks, Packet Delay Variation (PDV) is the difference in end-to-end unidirectional delay between selected packets in a flow, where any lost packets are ignored. This effect is sometimes referred to as packet jitter. Therefore, PDV involves the variation in delay between individual (selected) packets within a stream of transmitted packets (e.g., blocks). Increased traffic increases jitter.
[0045] In telecommunications, round-trip delay (RTD) or round-trip time (RTT) is the length of time it takes to send a signal plus the length of time it takes to receive an acknowledgment of that signal. This time delay includes the propagation time of the path between the two communication endpoints. In the context of computer networks, signals are typically packets, and RTT is also known as ping time. Internet users can determine RTT using the ping command. End-to-end delay is the length of time a signal takes to travel in one direction and is typically approximated as half the RTT.
[0046] Time (relative and absolute) and frequency transfer describe the mechanisms used to compare time and frequency measurements from one location to another. Frequency transfer can be performed using physical layer options (SONET / SDH, SDSL, GPON, Synchronous Ethernet) or packet-based options (SAToP, CESoPSN, NTP, PTP). Using packet-based options has several advantages, such as flexibility, theoretical simplicity, and applicability to both frequency and time. However, the disadvantage is the complexity of the network and network traffic, which makes real-world implementation less straightforward than the ideal theoretical case.
[0047] Figure 1 The illustration shows time transfer on a packet-switched network PSN (100). A signal from a reference clock 40 is used for signal-to-packet generation, which is transmitted as a packet on the packet network 100, and packet-to-signal recovery is performed for the recovery of the recovered clock 50.
[0048] Time transfer is a scheme in which multiple stations share a precise reference time. In a one-way time transfer system, one end transmits its current time to one or more receivers on a communication channel. The advantage of one-way systems is that they can be technically simple and serve many receivers because the transmitter is unaware of the receivers. The main disadvantage of one-way time transfer systems is that, except in some advanced systems, the propagation delay of the communication channel is still not compensated for.
[0049] In a two-way time-transfer system, two peer devices will not only transmit but also receive messages from each other, thus performing two one-way time transfers to determine the difference between the remote clock and the local clock. The sum of these time differences is the round-trip delay between the two nodes. It is typically assumed that this delay is uniformly distributed in the direction between the peer devices. Under this assumption, half of the round-trip delay is the propagation delay to be compensated. The drawback is that the two-way propagation delay must be measured and used to calculate the delay correction. To calculate the delay and determine the compensation, information such as timestamps, time difference measurements, correction factors, and various statistics between the nodes involved in the two-way time transfer are required.
[0050] Time-based communication is a technique that uses an active data communication channel as a bidirectional time-transfer tool. Precise timing is provided within the context of an active data transmission channel (the channel used for data communication). This allows precise synchronization between the two ends of a communication link without the need to deploy a separate timing system. Bidirectional time transfer mechanisms are the basis for all packet time transfer protocols, such as Network Time Protocol (NTP), IEEE 1588, and Precision Time Protocol (PTP). They typically assume path symmetry and path consistency, although IEEE 1588 has the concept of asymmetric correction. However, the correction values are not dynamically measured—they need to be statically configured.
[0051] The NTP standard uses servers that respond to requests to provide current Coordinated Universal Time (UTC) information to clients, such as computers on a network. Although hardware can request the current time from many different servers on the network, some devices provide more accurate data than others due to factors such as system lag and latency.
[0052] The timing servers in these networks are arranged in different tiers (also known as layers). The most accurate devices reside in tier 0, and these include atomic clocks, radio clocks, and other high-precision clocks, such as those found in NIST labs and GPS satellites. Tier 1 servers (also known as master time servers) are directly connected to the tier 0 devices and their peers.
[0053] The PTP defined in IEEE 1588 helps applications where NTP lacks sufficient accuracy. It provides more accurate synchronization by utilizing hardware-based timestamping. IEEE 1588 / PTP is a protocol for allocating frequency, phase, and time over packet-based networks and has become the standard for high-accuracy time distribution. Following guidelines specific to the network architecture allows time to be delivered with microsecond accuracy. This level of accuracy is required for mobile base stations using time-division duplex technology and / or advanced LTE capabilities, and in the power industry for aligning smart electronic devices. More lenient architectures can still achieve 100 microseconds or better accuracy, which can significantly enhance the usefulness of event logging and network one-way delay measurements. Additionally, 1588 has been used to provide frequency references for T1 / E1 ports or for mobile base station frequency alignment. This is useful in environments where the transport network does not provide physical layer synchronization services.
[0054] PTP uses four timestamps exchanged between the reference clock (master port) and the clock to be synchronized (slave port), such as... Figure 2 As illustrated in the diagram. The master device (60) sends a PTP synchronization message (synchronization(t1)) containing a timestamp of when the synchronization message (t1) was transmitted to the slave device (70). In two master clock cycles, the timestamp t1 is sent in a Follow_Up message (optionally follow-up(t1)). The slave device records the time it receives the synchronization message (t2). Sometime after receiving the synchronization message, the slave device sends a Delay_Req message (Delay_req(t3)) to the master device. The slave device records the transmission time of the Delay_Req message locally (t3). The master device records the time it receives the Delay_Req message (t4) and sends the timestamp back to the slave device in a Delay_Resp message (Delay_Resp(t4)).
[0055] If the delays in the two directions are actually different, it will introduce errors in the offset from the master device. If this asymmetry is known, the IEEE 1588 standard includes procedures to compensate for it, but if this asymmetry is not compensated for, it will indeed introduce timing errors.
[0056] PTP is used to synchronize clocks in a network for local systems that require higher accuracy than NTS, but PTP cannot provide a GPS receiver at each node. PTP accuracy depends heavily on the number of hops from the clock source (the hierarchical "hop count" clock). Due to competing traffic and unpredictable latency variations, it is difficult to achieve good accuracy in large systems.
[0057] The Global Positioning System (GPS) uses atomic clocks for synchronization. Atomic clocks are clocks locked to atomic standards; these clocks are more stable timekeepers than general master clocks used in systems like the PTP, and they have a direct link between the time source and the clocks used by GPS. Rubidium, cesium, and hydrogen atomic clocks, for example, are all highly accurate. However, atomic clocks themselves do not guarantee traceability and synchronization with other clocks. This is where GPS comes in. The GPS system consists of a fixed constellation of satellites in special orbits, each carrying stable hierarchical atomic clock hardware, advanced position tracking circuitry, and a transmitter that continuously broadcasts its position and clock time.
[0058] GNSS, or Global Navigation Satellite System, is a general term for a group of artificial satellites that transmit position and timing data from their high orbits. GPS is just one of many different groups of satellites that can provide this data. GPS (or GNSS) satellites consist of three or four atomic clocks that are monitored and controlled to be highly synchronized and traceable to national and international standards (known as UTC). Therefore, for time synchronization, GPS signals are received, processed by a local master clock, time server, or master reference, and this GPS signal is passed (distributed) to “slave devices” and other devices, systems, or networks, so that their “local clocks” are also synchronized with UTC. Typical accuracy ranges from better than 1 microsecond to a few milliseconds, depending on the synchronization protocol. The process of synchronizing with GPS can provide the accuracy of atomic clocks without requiring local atomic clocks. Nevertheless, local atomic clocks are sometimes desired as a long-term backup solution for lost GPS, whether in the event of weather-related downtime, GPS interference, or other scenarios.
[0059] GPS satellites have atomic clocks that can maintain very precise time, but equipping a GPS receiver with an atomic clock is not feasible. A GPS chipset is the main integrated circuit (IC) that receives and decodes GPS signals. It requires external peripherals to operate, such as an external power supply, clock, antenna, low-noise amplifier (for better sensitivity), etc. On the other hand, a GPS module comes in a complete package and does not require any additional external circuitry for GPS reception. It may or may not include an antenna. For base stations using GPS, an external antenna is mounted outside the sky-facing base transceiver station (BTS) enclosure. The antenna connects to the GPS module installed inside the BTS enclosure. The GPS module connects to the BTS's processing unit (e.g., an FPGA, CPLD, or other baseband processor) using an interface (e.g., a Universal Asynchronous Receiver-Transmitter Interface). Figure 3A and Figure 3B An example of GPS synchronization is shown in the image. Figure 3AThe illustration shows GPS-based synchronization of clocks (40) directly via GPS satellites (30), wherein the clocks (40) include their own GPC receivers. Figure 3B The diagram illustrates the synchronization of a base station (50), which receives GPS signals from GPS satellites (30) and distributes the GPS-acquired time to a distributed clock (40). The base station includes a GPS receiver and a GPS synchronization clock, which is used as the master clock to distribute its time to slave clocks (40).
[0060] GPS clock synchronization eliminates the need for manually setting clocks (an error-prone process) to establish traceability to national and international standards, thus allowing different events to be linked even when timestamped by different clocks. The benefits are numerous, including legally verified timestamps, regulatory compliance, cybersecurity, and operational efficiency.
[0061] Many applications require synchronization to operate. This is typically used in, for example, 5G mobile networks, where devices can communicate with multiple base stations simultaneously. The requirements for reliability and accuracy vary greatly depending on the application. For instance, single-frequency television allocation requires accuracy of 1 microsecond, while 5G mobile may require accuracy as low as 100 ns, depending on the application.
[0062] At remote sites, such as 5G base stations, there are essentially two ways to obtain time and synchronization. The first method is to use a GPS receiver that receives time from GPS satellites. GPS synchronization offers high accuracy due to its precise timing and direct connection to a clock source. However, because the signal is weak and the system is sensitive, these signals can be intentionally tampered with (by people disturbing or interfering with GPS signals) or unintentionally tampered with (due to lightning, atmospheric problems, etc.). GPS connections can be lost or interrupted, so while the system is accurate during operation, it lacks robustness.
[0063] A second method for achieving time synchronization at 5G base station sites is through network-based time allocation, such as using bidirectional time transfer (e.g., IEEE 1588 / PTP) to distribute time synchronization from one site to another. Network-based allocation typically involves distributing time synchronization from one or a few central sites to a large number of destination sites. Compared to GPS, node-to-node communication over the air or via wired connections makes communication more secure and robust. Furthermore, redundancy can be implemented through networks with multiple paths. However, as the number of hops for the clock source increases, accuracy decreases due to jitter (due to other traffic). Asymmetric latency also affects accuracy. For many applications, the accuracy is still insufficient. For example, Coordinated Multipoint (CoPM) 5G requires 100ns of accuracy, which is difficult to achieve within a few hops.
[0064] Therefore, both systems have their advantages and disadvantages. Each of the two main methods of distributing time and frequency has its benefits: the accuracy of GPS and the robustness of network-based time allocation. Most equipment, such as 5G nodes and television transmitters, already has GPS receivers built in, making GPS inexpensive to use. Both systems typically have a hold clock to handle short periods of downtime. The more stable the hold clock, the more downtime the node can manage. In network-based synchronization allocation devices, there are one or more clock sources with stable internal clocks that are subordinate to the GPS system, ensuring absolute synchronization of these clocks.
[0065] In view of the identified problems mentioned above, the object of the present invention is to provide a robust and accurate synchronization method that allows for robustness in both GPS accuracy and network-based time allocation (e.g., PTP). The drawbacks of the prior art can be mitigated by implementing a method that compares the clocks of several 5G sites (all or most of which have GPS synchronization clocks (clocks connected to local GPS receivers)) to determine accurate time.
[0066] In network-based time allocation systems, several GPS synchronization clocks are available, and the choice of which clock to use as the source is typically based on priority, with another source selected in the event of equipment or network failure. While GPS synchronization is highly accurate when operational, GPS timing can be distorted, interfered with, or manipulated, in which case using GPS timing will provide incorrect time. Therefore, GPS synchronization lacks robustness.
[0067] The basic concept of this invention is to increase the robustness of GPS-based synchronization allocation by utilizing the fact that all or most stations in a certain type of equipment (such as a 5G base station) have GPS clocks, i.e., clocks connected to a local GPC receiver / antenna. If local GPS timing fails or becomes unreliable, this is achieved by using remote GPS timing from other stations (e.g., base stations). The method of this disclosure first identifies problems with the local GPS used for synchronization and addresses these problems by disabling the local GPS and using another GPS. Equipment or network errors are handled in the same manner as network allocation based on a normal network. However, this requires determining which current GPS timings are correct or incorrect, such as determining that the current local GPS timing is incorrect, and knowing which remote GPS timing is accurate and should be selected for timing recovery.
[0068] Therefore, the tricky part is identifying whether a GPS clock has been manipulated or interfered with, and whether it is displaying an incorrect time. To determine whether a GPS clock is displaying an incorrect time, and to identify which neighboring GPS clocks in the area are displaying the correct time, this disclosure proposes a solution where the main idea is to have a GPS clock / device that includes the GPS clock monitor the GPS clocks in the area and compare the GPS clocks in the area with their own GPS clocks. Monitoring of other GPS clocks is typically accomplished using a time transfer protocol such as IEEE 1588, which has a session with each of the GPS clocks being monitored and compares the clocks with each other as well as with the local clock. Time transfer protocols (e.g., IEEE 1588 sessions) can run on a wired network or on 5G or other wireless networks between stations.
[0069] For example, network nodes receive time from multiple remote GPS clocks via time transfer. At the receiving node, the remote clocks are compared with the local GPS clock. If the system is operating normally, all remote and local clocks should be within tolerance (e.g., 100 ns, if this is the time tolerance for system operation). In this case, all stations should set their local GPS clocks to the highest priority, meaning all stations use their local clocks, and therefore, the receiving node will continue to use its local GPS clock. However, if some local or remote clocks are outside the tolerance range, these clocks will be detected by the respective stations. Therefore, in this case, the local station compares its clock with other clocks to determine if its clock is accurate and takes action accordingly. If a local clock is detected to be outside the tolerance range, the station should then lower the priority of its GPS clock to select a remote clock, such as using IEEE PTP. Therefore, if a receiving node determines that its local clock falls outside the tolerance range, it will lower the priority of its local clock and determine to use a remote clock as a temporary master clock for its local clock. That is, it will be subordinate to the remote clock until the local clock is determined to be accurate again, i.e., until a new evaluation of the local clock determines that it is within the tolerance range, in which case its priority will be raised to high again. Which remote clock the receiving node's local clock will be tuned to depends on a comparison between the remote clocks of the remote nodes, identification of accurate clock groups, and selection of the closest or highest quality clock within those groups, or a combination of these. Typically, the accurate clock should be within the tolerance range of all other clocks in the identified accurate clock group. Alternatively, a more reliable station can determine which clocks should belong to the clock group within the tolerance range. The tolerance range or level is typically set according to application requirements, such as 100 ns for CoMP and 1 μs for DVT.
[0070] Therefore, by comparing its local GPS clock with other GPS clocks, the receiving node can detect that its local GPS clock is outside the tolerance range, and thus determine which remote clock to use as the timing reference by lowering the priority of its local clock. Which remote clock to use as the timing reference can be determined by the priority of the other clocks. These remote clocks are first removed by identifying all remote clocks outside the tolerance range in the comparison, or by using their priority (if they have already undergone this process and are determined to be outside the tolerance range, they will lower their priority to a low level), and then the remaining remote clocks are compared to establish which have high priority, which is closest to the local clock, and / or which is a high-quality clock. The choice of which remote clock to use can be local, or the local station can be instructed to lower (or raise) its priority, and IEEE 1588 will perform this selection.
[0071] This is determined by identifying a sufficiently large number of GPS stations (nodes / stations with clocks and associated GPS receivers) within the clock tolerance (i.e., whose clock times are within a predefined tolerance range). For example, this involves identifying and selecting which GPS clocks within the group are considered sufficiently correct. All clocks with GPS receivers outside the identified group should have their priority reduced so they are not selected. If the total group to be compared is, for example, 50 stations (50 nodes / stations with GPS clocks located at different sites) and there is significant interference, it might only be a group of 10 stations (nodes / stations) with clocks within the tolerance. These 10 stations would then maintain high priority and be used to synchronize other stations. It is not necessary for the majority of clocks in the entire group to be "correct" (within the tolerance); only a sufficiently large group of clocks within a given tolerance (e.g., 10 out of 50) is sufficient to perform the methods disclosed herein. The minimum group is configurable in the solution. It is assumed that erroneous clocks in different stations are not a common error but are dispersed outside the tolerance of the correct clock group. Therefore, one, or possibly two or three groups, can be identified, which include clocks within each other's tolerance ranges. The largest group is usually selected as the accurate group; alternatively, instead of selecting the largest group, a group with the lowest tolerance or including the highest quality clock (one such clock is sufficient) can be selected. If the number of clocks in the largest accurate group would be very small, the GPS in the system may fail in some way. In this case, it is possible to use a clock that is kept in or synchronized to the nearest high-quality clock. In this case, a medium priority can also be used, meaning that the clock is "low priority" when it comes to other clocks that are subordinate to it, but it can still be used when determining group affiliation.
[0072] The system also relies on the fact that the stations in the group are not too far apart by a number of hops. Therefore, it is typically selected from regions close to the node performing the method, so that the increasing inaccuracy of network-based time allocation with increasing distance does not affect the system's performance or accuracy, and thus the likelihood of determining which clocks are erroneous. For example, in practice, there may be no more than, for example, 2 to 5 (e.g., 2 to 3) switching hops between stations in the group or between the station performing the method and other compared stations.
[0073] During normal operation, all nodes or stations will use their built-in GPS clock. If a node / station with an inaccurate clock is found to be outside the "correct group" (i.e., outside the tolerance range), it will receive a clock from the nearest node / station with an accurate GPS clock, for example using PTP.
[0074] The station will periodically compare its GPS clock with the clock groups of other stations to see if they are still accurate. That is, each station (node) compares its local clock with the remote clock group to determine if its local clock is still within the set tolerance. If it is not within the tolerance, the node / station will lower the priority of its own clock.
[0075] In one embodiment, comparisons can also be made at a central node that obtains the corresponding times from other nodes / stations and determines which times are within the "correct time" group, i.e., within the tolerance range. Stations outside the group will be instructed to lower their priority, which will result in the selection of a new time from a clock with a higher priority, preferably the clocks within the correct group that are closest in terms of hop count or delay, or the highest quality clock within the group.
[0076] Therefore, this invention relies on GPS as a synchronization source and uses a PTP with multiple synchronization sources to distribute clocks among stations. It involves comparing GPS times across a large set of GPS clocks with the same priority, and identifying a subset or subgroup of clocks within the set or group that show the same time within a tolerance range. Clocks outside this subset are considered inaccurate, i.e., showing an incorrect time. Clocks are excluded from the high-priority clock subset by reducing the priority of inaccurate clocks. This method is performed continuously, with clocks from different sources (nodes / stations / sites) continuously compared to continuously adjust priorities.
[0077] Alternatively or additionally, artificial intelligence (AI) or machine learning (ML) can be used to identify and understand that certain clocks have recurring problems and may be removed from the correct clock group based on historical information, or monitored more closely. This can be useful for preventing behaviors caused by recurring atmospheric problems or repeated interference from motors. By monitoring changes in priority, it may be able to identify and adapt recurring patterns and identify recurring problems such as interference. Therefore, AI can be used to "pre-exclude" one or more GPS devices from the set of high-priority GPS devices to be used. In a region, such as a city, multiple GPS devices will be used simultaneously, thereby reducing the number of hops to the clock source. Inaccurate GPS devices will be excluded.
[0078] The system of this invention, as well as the nodes and methods executed therein, are primarily intended for robust clock distribution in 5G networks or similar networks, but can be applied to any network with nodes possessing GPS clocks (local GPS receivers). 5G networks are typically time-dependent, both due to latency requirements and the use of multiple base stations in the RAN, where multiple base stations simultaneously connect to terminals, devices, user equipment (UEs), or mobile stations. UEs can be served simultaneously by multiple base stations, possibly both 5G and LTE base stations (e.g., gNB, eNB, or NB), as well as 5G cells or nodes for large-scale MTC (smart devices, buildings, meters) or critical MTC (traffic control, industrial control, or remote surgery). 5G has different operating modes, one of the most demanding of which (5G CoPM) is a combination of CoMP and MIMO (Multiple-Input Multiple-Output), i.e., multiple access points using several antennas, requiring clock / timing accuracy of 100ns.
[0079] Therefore, the concept of this disclosure is to provide a robust GPS synchronization method by identifying GPS clocks that are currently inaccurate due to some interference (interference or disturbance or similar) and synchronizing them to GPS clocks that are now identified as accurate. The method of this invention mitigates the vulnerability of GPS systems while maintaining the benefit of accurate timing of interference-free GPS clocks. Thus, a method for robust GPS synchronization between nodes in a network with local GPS receivers is realized.
[0080] The system basically has two operating mechanisms:
[0081] The first approach involves a system and method that uses a bidirectional time transfer mechanism to compare a local clock with clocks in other stations / network nodes within a group / system. This group / system may include a specific number of hops (e.g., one or two hops for the local clock) or all clocks within a predetermined physical area. The group may also be a pre-configured group. Bidirectional time transfer is established with the station and other stations in the group. The station's (node's) time is retrieved and compared to define which clocks are in the accurate clock group and which are not, based on tolerances. Tolerances are typically set by the application and may be known to the station (e.g., stored in the station's memory). Clock comparison, identification of the correct group, and identification of whether the local clock is in the correct group can be performed at the central node or by each station. In the case of a central node / station, the central station informs the station whether it belongs to the accurate clock group or the inaccurate clock group. The station then sets a priority based on instructions from the central node. The priority can be set low if a clock is determined not to belong to the accurate clock group, and set high (or remain high) if a clock is determined to belong to the accurate clock group. If instructed to set the priority to low, the instructed station will also select a remote clock from the accurate clock (high priority clock) group, for example, adjusting its own local clock time to that remote clock based on its distance and quality. If instructed to set the priority to high, the instructed station will maintain its local clock time until the next comparison. In the next comparison, a clock previously determined to be low priority can be assumed to have high priority until it is determined to be low again.
[0082] With all stations determining their own clock state, each station receives remote time from other nodes in a region, group, or system, where the group / system may include all clocks within a specific number of hops in a predetermined physical area, or a pre-configured group, and locally determines whether it belongs to an accurate clock group or an inaccurate clock group. Determining which nodes have accurate clocks is performed by checking the time of the remote station and the local time of the current node; and finding groups whose times are the same within tolerance and are therefore determined to be accurate (belonging to the accurate clock group). If information from different times from the remote station does not arrive simultaneously, during the shift, the local clock will operate as a free-running clock not locked to other clock sources, and the local clock will be used to interpret previously received clocks. This is based on the local clock performing a "dead count" of time. The frequency with which the remote clock checks the accuracy of the local clock depends on the tolerance, quality, and stability of the internal clock and the requirements of the application being run. Typically, the remote station checks are performed at the level of the PTP algorithm, which is in the range of once every 1 to 2 seconds.
[0083] The second operating mechanism is a time allocation system based on priority, quality, and hop count, such as IEEE 1588. This system operates as follows: 1) The local clock has the highest priority by default; 2) Several master devices can be active simultaneously within a group (or sub-area); 3) If the local clock is inadequate (determined to be inaccurate compared to other clocks), the clock used is determined by the time allocation protocol. Essentially, the closest clock with the best quality (fewest hops) will be selected.
[0084] The invention will now be described with reference to various embodiments implemented in the system of the invention.
[0085] Figure 4 A general overview of the invention according to embodiments is described. In the illustrated example of a distributed system, a group of stations, named stations 1 to 7, are synchronized according to the method of the invention, and each station has an associated GPS clock GPS1 to GPS7. X represents a corresponding switch connecting some nodes. Each station in the group performs a check to see if its internal clock can be trusted, for example, whether its GPS connection with the local clock is working. The method is illustrated from the perspective of station 7. Station 7, with clock GPS7, has bidirectional time transfer connectivity with the other stations (nodes) in the group. The station receives time from remote (REM) stations 1 to 6 (REM1 to REM6), adds the local clock of GPS7, and compares all clocks, wherein the clock / time of stations 1 to 6 (GPS1 to GSP6) is referred to as (REM1 to REM6) when received at station 7. In this example, it can be seen that REM1, REM3, REM4, and REM6 (underlined) have the same time within a tolerance of 00:00:10, which is then considered the correct time; that is, clocks GPS1, GPS3, GPS4, and GPS6 are determined to belong to the accurate clock group. When compared with the times of other clocks in this group, times GPS7, REM2, and REM5 are not within the 00:00:10 tolerance and are then considered inaccurate; clocks GPS7, GPS2, and GPS5 are determined to belong to the inaccurate clock group. Since GPS7 is inaccurate, it is assigned a low priority by station 7. REM2 and REM5 will also be assigned low priorities by stations 2 and 5 respectively; that is, the stations set their own clock priorities low (either by executing the method within the station or by being instructed by the central node executing the method).
[0086] The tolerance range or interval used to define a group of stations with accurate GPS clocks (i.e., those with the highest priority) and subsequently used for synchronization / clock recovery is essentially the tolerance required by the application performed / within the station. For example, if the system is used for 5G CoPM, where the accuracy is 100ns, then the tolerance interval for the accurate clock group is defined as 100ns. If it is, for example, Digital Terrestrial Television (DTT) such as SFN DVB-T, where the accuracy is 1us, then the tolerance interval is set to 1us.
[0087] Figure 5 A general overview of the invention according to embodiments is described. In centralized systems, such as... Figure 5 What is described in the text is similar to Figure 4 The example in the example follows a similar approach, whereby the central station receives information from each station in the group and compares them. The central station (central node) determines which stations 1 through 6 have clocks within the tolerance of that group (and therefore belong to the accurate clock group) and which are outside the tolerance (not belonging to the accurate clock group). For stations classified as having clocks that do not belong to the accurate clock group, the central node sends instructions to lower the priority of their corresponding clocks.
[0088] Computations in distributed and centralized systems are performed frequently, for example, at intervals of once per second. Increasing the frequency can reduce downtime, but as the number of messages increases, the processing burden on the network and stations can increase significantly. Therefore, the frequency can be adjusted based on the traffic load in the network.
[0089] The decision of which stations are considered "accurate" (showing accurate time) and which are "inaccurate" is made by identifying station groups whose clocks are within a given tolerance. In a real-world setup, there may be several groups that can be formed within the tolerance. In this case, if multiple groups are identified, arbitration can be used in the sense of selecting the largest group. Note that it is not necessary for the selected group to include most of the GPS in the original group / area being evaluated (most may be outside the tolerance). Alternatively, several quality clocks can be used, and the group with the highest quality clocks within that group can be selected as the accurate clock group. This group can then be selected as the group with the highest priority GPS clocks and used by all stations when selecting the clock to be adjusted.
[0090] Figure 6A block diagram of the network node (20) of the present invention is illustrated. The network node includes a communication interface 21 (e.g., a radio communication interface, a radio circuit system, or a network interface) 21, which is configured to receive and transmit any form of communication or control signal within the network, for example, to connect the node to at least one adjacent node such as a master node or a slave node, and to send and receive data via a transmission link. It should be understood that, according to some aspects, the communication interface 21 includes any number of transceiver, receiving, and / or transmitting units or circuit systems. It should be further understood that the communication interface 21 can be in the form of any input / output communication port known in the art, for example. It may include an RF circuit system and a baseband processing circuit system (not shown).
[0091] The node further includes a processing circuitry 22 system, which includes a memory 23 and a processor 24, configured to perform the methods of the present invention. According to some aspects, the node 20 further includes at least one memory unit or circuitry 23 communicating with a communication interface / radio circuitry system 21. The memory 23 may, for example, be configured to store received or transmitted data and / or executable program instructions. The memory 23 may, for example, be configured to store any form of context data. The memory 23 may, for example, be any suitable type of computer-readable memory, and may, for example, be a volatile and / or non-volatile type. The memory may, for example, record received timestamps or tolerance ranges. The network node 20 further includes a processing circuitry system 22 configured to cause the network node 20 to perform the methods of the present invention.
[0092] The processing circuit system 22 is, for example, any suitable type of computing unit, such as a microprocessor, digital signal processor (DSP), field-programmable gate array (FPGA), application-specific integrated circuit (ASIC), or any other form of circuit system. It should be understood that the processing circuit system does not need to be configured as a single unit, but rather as any number of units or circuit systems depending on certain aspects. Therefore, the processing circuit system may include a memory 23 for storing a computer program, and a processor 24 configured to execute the computer program.
[0093] Depending on some aspects, the controller CTL or processing circuit system 22 is capable of executing computer program code. This computer program is stored, for example, in memory MEM 23. Memory 23 can be any combination of read-write memory (RAM) and read-only memory (ROM). In some cases, memory 23 also includes permanent storage devices, such as magnetic storage, optical storage, solid-state storage, or even remotely mounted memory—any single or combination thereof. It should be understood that the processing circuit system need not be configured as a single unit, but rather as any number of units or circuit systems depending on some aspects.
[0094] The node may include an internal clock 25 and may be able to provide and store timestamps associated with the internal clock, as well as timestamps associated with other nodes. The node also includes or is connected to a GPS receiver 26 (not shown).
[0095] Now refer to Figure 7 and Figure 8 The methods proposed according to the first and second embodiments are described in more detail below. It should be understood that... Figure 7 and Figure 8 This includes operations and modules illustrated with solid borders and operations and modules illustrated with dashed borders. The operations and modules illustrated with solid borders are those included in the most broad example embodiments. The operations and modules illustrated with dashed borders are example embodiments that may be included in or part of the operations and modules of the broader example embodiments, or further embodiments that may be adopted in addition to the operations and modules of the broader example embodiments. It should be understood that the operations do not need to be performed sequentially, and the method including steps A and B covers different embodiments. Furthermore, it should be understood that not all operations need to be performed.
[0096] Figure 7 The diagram illustrates a method for prioritizing multiple GPS clocks to achieve robust and accurate synchronization between nodes in a network. The method includes receiving (S1) an indication of the remote time of the GPS clock from each of a plurality of remote nodes. This method can be executed in a local node for synchronization within a centralized node. In the case of the method executed in a first local node to be synchronized (method A), i.e., if the first node is a node including local GPS clocks to be synchronized with multiple nodes, the received remote times are compared with the local time of the local GPS clock in the first node (S2A) to identify one or more time subgroups within each other's tolerance ranges, and it is determined (S3A) that the GPS clock subgroup corresponding to the identified time subgroups belongs to an accurate clock group. If the GPS clock of the first node is not in the accurate clock group, the priority of the local GPS clock is reduced or set (S4A1) to a low priority to select the remote GPS clock as a timing reference, or if the GPS clock of the first node is in the accurate clock group, the priority of the local clock is set or maintained (S4A2) to / at a high priority.
[0097] In the case of the method (method B) to be executed in a centralized first node for synchronizing other nodes, that is, under the condition that the first node is a central node for realizing synchronization between multiple nodes, the received remote times are compared (S2B) in the central node to identify one or more time subgroups within each other's tolerance range, and it is determined (S3B) that the GPS clock subgroup corresponding to the identified time subgroup belongs to the accurate clock group. A message (S4B1) instructing the node to set the priority of its local GPS clock to low is sent to each of the multiple nodes whose corresponding clock is not part of the accurate clock subgroup; and a message (S4B2) instructing the node to set the priority of its local GPS clock to high is sent to each of the multiple nodes whose corresponding clock is part of the accurate clock subgroup.
[0098] Figure 8 The diagram illustrates a method for selecting a clock to synchronize with to achieve robust and accurate synchronization between nodes in a network. The method includes: selecting (S5A1) a remote clock from the determined accurate clock group as a timing reference for the first node's local GPS clock, provided the first node's GPS clock is not in the accurate clock group; synchronizing (S6A) the first node's local GPS clock to the selected clock; and optionally increasing (S7A) the priority of the local GPS clock. After selecting the remote clock, the priority of the local clock can be reset to high, or increased to medium so that it can be used in the next clock comparison but not for another clock to be subordinated. Alternatively, the priority can be increased to high just before the next comparison, during the next comparison, or after the next comparison has determined that the clock is in the accurate clock group. Provided the first node's GPS clock is in the accurate clock group, the method includes: setting (S4A2) the priority of the local clock to high; and using or selecting (S5A2) the time provided by the first node's local GPS receiver for the local GPS clock to be synchronized. This method can be executed on the local first node as a continuation of method A, or, if method B has already been executed on the centralized node, the first node serves as the central node for synchronization among multiple nodes. Figure 8 The method can then be executed on any (or all) of the multiple nodes that have received instructions from the central node to lower their priority (i.e., search for a remote clock to be subordinated to). Nodes that have received instructions to maintain priority or set priority to high will then keep their local clock synchronized with their local GPS. Receiving an instruction to lower priority can trigger execution on the receiving node. Figure 8 The method. In another option, receiving an instruction to lower the priority can trigger... Figure 7 Complete Method A and Figure 8In one embodiment, when the central node sends (S4B1) a message instructing each node whose corresponding clock is not part of an accurate clock subgroup to set the priority of its local GPS clock to low, the following method can be performed in each receiving node: the receiving node sets the priority of its local GPS clock to low, and selects (S5B1) a high-priority remote clock as a timing reference for the local GPS clock to be synchronized. In another embodiment, when the central node sends (S4B2) a message instructing each node whose corresponding clock is part of an accurate clock subgroup to set the priority of its local GPS clock to high, the following method can be performed in each receiving node: the receiving node sets the priority of its local GPS clock to high, and uses or selects (S5B2) the time provided by the local GPS receiver as a timing reference for the local GPS clock to be synchronized.
[0099] Method A above may also include, as a first step, receiving (S0A) a priority related to the local GPS clock of each of a plurality of remote nodes, wherein these priorities are set by each node based on an assessment of whether the local GPS clock shows the correct time.
[0100] In the above Figure 7 In the method, receiving (S1) the remote time of the local GPS clock of the remote node from each of the plurality of remote nodes includes: sending (S1a) a signal including a local timestamp t1 to the plurality of remote nodes, the timestamp t1 being related to the time in the first node when the signal is sent relative to the local clock in the first node; receiving (S1b) a second timestamp t2 from each of the plurality of nodes, the timestamp t2 being related to the time in the remote node when the signal is received relative to the local clock in the remote node; and determining (S1c) the remote time for each of the plurality of remote nodes based on these timestamps t1, t2 and the average delay between the first node and the remote nodes.
[0101] Furthermore, comparing these times (S2), which are (S2A) remote times and local times or (S2B) these remote times, to identify one or more time subgroups within each other's predetermined tolerance ranges includes: comparing each of these times with each of other times to determine whether the time is within the tolerance range of the other times, and grouping all times within each other's tolerance ranges into the identified subgroups. Further, determining (S3) that the GPS clock subgroup corresponding to the identified time subgroup belongs to the accurate clock group includes: if one subgroup is identified, determining (S31) that the identified GPS clock subgroup belongs to the accurate clock group; if more than one subgroup is identified, determining (S321) that the identified GPS clock subgroup containing the largest number of GPS clocks belongs to the accurate clock group; or determining (S322) that the identified GPS clock subgroup containing the highest quality clocks belongs to the accurate clock group.
[0102] Furthermore, in the above method, selecting a remote clock from the accurate clock group determined by (S5A1) as the timing reference for the local GPS clock of the first node includes: if the group includes a high-quality clock, selecting the high-quality clock (S5A11) as the timing reference for the local GPS clock of the first node; if the group does not include a high-quality clock, selecting the remote clock from the subgroup identified by (S5A121) that is closest to the local GPS clock of the first node in terms of hop count or physical distance as the timing reference for the local GPS clock of the first node; and if more than one clock is within equal distance of the clock of the first node, selecting the GPS clock from the subgroup identified by (S5A122) that is closest to the GPS clock of the first node in terms of distance and has the highest priority as the timing reference for the local GPS clock of the first node.
[0103] In some aspects of this method, the tolerance range is set based on the requirements of the applications currently running on the first node or the multiple nodes to be synchronized. The tolerance range can be predetermined based on the applications running on the node, where the node may know, for example, the requirements of each application stored in the node's memory.
[0104] The first node (20) is selected from a group consisting of a 5G base station, g node B, 5G cell, e node B, node B, digital TV transmitter, power supply station in smart grid, data communication equipment and data terminal equipment.
[0105] In one aspect, a first node (20) is provided, the first node including a processing circuitry system (22) configured to implement robust GPS synchronization between nodes in a network (100), the node (20) including a communication interface (21), an internal clock (25), a GPS receiver (26), the processing circuitry system (22) including a memory (23) and a processor (24), the processing circuitry being configured to cause the node (20) to perform the methods described above.
[0106] A further method is provided for execution in a system including a node network to achieve synchronization among multiple nodes in the network of the system, each of the multiple nodes being connected to a local GPS clock. The method includes: performing any of the methods described above by the multiple nodes in a region of the network to identify an inaccurate local GPS clock, and performing clock recovery of the inaccurate clock to achieve synchronization.
[0107] On the other hand, a system comprising a network (100) and multiple nodes (20) is provided, the system being configured to cause the nodes (20) to perform any of the methods described above.
[0108] In some respects, this disclosure relates to a computer program including computer program code that, when executed, causes network nodes to perform the methods described above and below. In other respects, this disclosure relates to a carrier containing a computer program, wherein the carrier is one of an electronic signal, an optical signal, a radio signal, or a computer-readable storage medium.
[0109] Therefore, the content of this disclosure is implemented for the synchronization of multiple nodes in a network, which is accurate due to the use of GPS clocks and robust due to the recovery methods provided in this disclosure.
[0110] The exemplary aspects disclosed herein have been shown in the accompanying drawings and description. However, many changes and modifications may be made to these aspects without substantially departing from the principles of this disclosure. Therefore, this disclosure should be considered illustrative rather than restrictive, and is not limited to the specific aspects discussed above. Consequently, although specific terminology has been used, it is used in a general and descriptive sense only and not for limiting purposes.
[0111] The description of the exemplary embodiments provided herein has been presented for illustrative purposes. This description is not intended to be exhaustive or to limit the exemplary embodiments to the precise form disclosed, and modifications and variations are possible in accordance with the foregoing teachings or can be obtained from practice with various alternatives to the provided embodiments. The examples discussed herein were chosen and described to explain the principles and properties of the various exemplary embodiments and their practical application, enabling those skilled in the art to utilize the exemplary embodiments in various ways and with various modifications suitable for the intended particular use. The features of the embodiments described herein can be combined in all possible combinations of methods, nodes, networks, and systems. It should be understood that the exemplary embodiments presented herein can be practiced in any combination of each other.
[0112] It should be noted that the word "comprising" does not necessarily exclude the presence of other elements or steps besides those listed, and the words "a" or "an" preceding an element do not exclude the presence of multiple such elements. It should also be noted that no reference numerals in the drawings limit the scope of the claims, and several "means," "units," or "nodes" may be represented by the same hardware.
[0113] In all embodiments of the invention, a common aspect is that the method includes comparing groups or sets of GPS clocks in the area and determining, based on tolerances, which clocks are accurate and which are not, and what information can be used for clock recovery and synchronization of nodes in the network.
[0114] Although the invention has been described with respect to embodiments disclosing certain nodes and networks, those skilled in the art will be able to apply the synchronization of the invention to any network capable of accessing GPS clocks, even if not specifically disclosed herein. In some embodiments, most, but not all, clocks involved in the methods of the invention need to be GPS linked.
[0115] Those skilled in the art will recognize that the present invention is by no means limited to the embodiments described above. Rather, many modifications and variations are possible within the scope of the appended claims. For example, embodiments of the present invention may be based on network technologies other than 5G RAN.
Claims
1. A method for achieving synchronization between nodes in a network using a first node, the method comprising: Receive (S1) a remote time indication from the GPS clock of each of the multiple remote nodes; Given that the first node is a node that includes a local GPS clock to be synchronized with the plurality of nodes, the received remote time is compared with the local time of the local GPS clock in the first node (S2A) to identify one or more time subgroups within each other's tolerance range. Determine (S3A) that the GPS clock subgroup corresponding to the identified time subgroup belongs to the accurate clock group; If the GPS clock of the first node is not in the accurate clock group, the priority of the local GPS clock is reduced (S4A1) to a low priority to select a remote GPS clock as the timing reference. Select a remote clock from the accurate clock group determined by (S5A1) or a remote clock with high priority as the timing reference for the local GPS clock of the first node. Synchronize the local GPS clock of the first node with the selected clock (S6A). Under the condition that the GPS clock of the first node is within the accurate clock group; the priority of the local GPS clock is set (S4A2) to high, and The time provided by the local GPS receiver of the first node is used (S5A2) for the local GPS clock to be synchronized; Given that the first node is the central node used to achieve synchronization among the multiple nodes, The received remote times are compared (S2B) at the central node to identify one or more time subgroups within each other's tolerance range; Determine (S3B) that the GPS clock subgroup corresponding to the identified time subgroup belongs to the accurate clock group; Send (S4B1) a message to each of the plurality of nodes whose corresponding clock is not part of the accurate clock subgroup, indicating that the node should set the priority of its local GPS clock to low; as well as Send (S4B2) a message to each of the plurality of nodes whose corresponding clock is part of the accurate clock subgroup, instructing the node to set the priority of its local GPS clock to high.
2. The method according to claim 1, further comprising: The priority of receiving (S0A) data from each of a plurality of remote nodes in relation to the local GPS clock of the remote node, wherein the priority is set by each node based on an assessment of whether the local GPS clock shows the correct time.
3. The method of claim 1 or 2, wherein, The remote time received from each of the multiple remote nodes (S1) includes: Send (S1a) a signal including a local timestamp t1 to the plurality of remote nodes, the timestamp t1 being related to the time in the first node when the signal is sent relative to the local clock in the first node; Receive (S1b) a second timestamp t2 from each of the plurality of nodes, the timestamp t2 being related to the time in the remote node when the signal is received in the remote node relative to the local clock in the remote node; For each of the plurality of remote nodes, the remote time (S1c) is determined based on the timestamps t1, t2 and the average delay between the first node and the remote node.
4. The method of claim 1 or 2, wherein, Comparing the times (S2), where the times are (S2A) the remote time and the local time or (S2B) the remote time, to identify one or more time subgroups within each other's predetermined tolerance ranges includes: Each time in the time frame is compared with each time in the other time frame to determine whether the time is within the tolerance of the other time frame, and all times within each other's tolerance are grouped into the identified subgroups.
5. The method of claim 1 or 2, wherein, Determining (S3) that the GPS clock subgroup corresponding to the identified time subgroup belongs to the accurate clock group includes: Given that a subgroup has been identified, The identified GPS clock subgroup is determined (S31) to belong to the accurate clock group; Given that more than one subgroup has been identified Determine (S321) that the GPS clock subgroup identified, containing the largest number of GPS clocks, belongs to the accurate clock group; or Determine (S322) that the GPS clock subgroup identified, which contains the highest quality clocks, belongs to the accurate clock group.
6. The method according to claim 1 or 2, wherein, Selecting a remote clock from the accurate clock group determined by (S5A1) as the timing reference for the local GPS clock of the first node includes: Given that this group includes high-quality clocks, Select the high-quality clock described in (S5A11) as the timing reference for the local GPS clock of the first node; Without a high-quality clock in this group, The remote clock that is closest to the local GPS clock of the first node in terms of hop count or physical distance from the subgroup identified by (S5A121) is selected as the timing reference for the local GPS clock of the first node. Given that more than one clock is within an equal distance of the clock of the first node, The GPS clock that is closest to the first node in distance and has the highest priority among the subgroups identified by (S5A122) is selected as the timing reference for the first node's local GPS clock.
7. The method of claim 1 or 2, wherein, The tolerance range is set based on the requirements of the application currently being executed by the first node or the multiple nodes to be synchronized.
8. The method of claim 1 or 2, wherein, The tolerance range is pre-configured, received via a central node, obtained using artificial intelligence, or determined via a lookup table.
9. The method of claim 1 or 2, wherein, The first node is selected from a group consisting of a 5G base station, a g node B, a 5G cell, an e node B, a node B, a digital TV transmitter, a power supply station in a smart grid, data communication equipment, and data terminal equipment.
10. A first node (20) including a processing circuitry (22) configured to implement robust GPS synchronization between nodes in a network (100), the first node (20) comprising: Communication interface (21); Internal clock (25); GPS receiver (26); A processing circuit system (22) including a memory (23) and a processor (24) is configured to cause the first node (20) to perform the method according to any one of claims 1 to 9.
11. A method for performing in a system comprising a network of nodes to achieve synchronization among a plurality of nodes in the network of the system, each of the plurality of nodes being connected to a local GPS clock, the method comprising: The method as described in any one of claims 1 to 9 is performed by the plurality of nodes in the region of the network to identify inaccurate local GPS clocks and to restore the inaccurate local GPS clocks to achieve synchronization.
12. A system comprising a network (100) and a plurality of nodes (20), the system being configured to cause the plurality of nodes (20) to perform the method according to any one of claims 1 to 9.
13. A computer-readable storage medium having stored thereon computer program code, which, when executed in a network node, causes the network node to perform the method according to any one of claims 1 to 9.
14. A computer program product comprising the computer program code as described in claim 13.