A METHOD AND APPARATUS FOR NETWORK TIME SYNCING
20220200721 · 2022-06-23
Inventors
Cpc classification
H04J3/0667
ELECTRICITY
International classification
Abstract
Disclosed is a method of operating a network, the network having one or more nodes which are in communication with a server, the server including or being in communication with a high precision time source, to estimate a time delay between the server and each node, comprising initiating a delay request from the server which is transported over a transport layer to the node, the server receiving a delay response from the node receiving the delay request, wherein a timestamp for the delay request and a timestamp for the delay response are times recorded from the high precision time source, wherein the time delay is estimated from half of a time difference between the timestamps.
Claims
1. A method of operating a network, the network having one or more nodes which are in communication with a server, the server including or being in communication with a high precision time source, the method comprising estimating a time delay between the server and each node, which comprises: initiating a delay request from the server which is transported over a transport layer to node of the one or more nodes, wherein a first timestamp for the delay request is recorded from the high precision time source; receiving at the server a delay response from the node receiving the delay request, wherein a second timestamp for the delay response is recorded from the high precision time source; and estimating the time delay from half of a time difference between the first and second timestamps.
2. The method of claim 1, wherein each node includes a passive reflector which is adapted to both passively reflect data from the server and let received data through to the node, wherein the delay response is a passive reflection of the delay request.
3. The method of claim 1, wherein the passive reflector is built into a network interface card at the node.
4. The method of claim 1, wherein the passive reflector is embedded into a component insertable or otherwise connectable to a network interface card at the node.
5. The method of claim 4, wherein the component is a type of a small form pluggable.
6. The method of claim 1, wherein the transport layer is a physical layer.
7. The method of claim 6, wherein the transport layer is configurable to provide a physical connection for bidirectional communication between the transport layer and one of the one or more nodes at a time, and one-way communication from the transport layer to the remaining one(s) of the one or more nodes.
8. The method of claim 7, wherein estimating the time delay between the server and each node includes: configuring the physical layer for transport of time protocol data between the server and each node, sending the delay request, and receiving the delay response from the node, one node at a time.
9. The method of claim 8, wherein the physical layer comprises a matrix of switches and/or optical splitters.
10. The method of claim 1, further including issuing a time synchronisation request to the one or more nodes.
11. The method of claim 10, wherein the time synchronisation request is handled by a time synchronisation logic.
12. The method of claim 11, wherein the server stores the time delay for each node, and the time synchronisation logic is a slave clock logic.
13. The method of claim 11, wherein the time synchronisation logic is implemented in hardware connectable or embedded in network interface cards at the nodes.
14. The method of claim 11, wherein the time synchronisation logic is implemented in software.
15. The method of claim 1, wherein a time protocol data transport between the server and the one or more nodes is enabled over a physical layer, which is reconfigurable to provide a physical connection, over which bidirectional communication between the physical layer and one of the nodes is enabled, one node at a time.
16. The method of claim 1, wherein the delay response is a passive reflection of the delay request.
17. An adapter for allowing a device to access a shared bus of a network, comprising: an interface device configured to receive incoming packets from the bus and output outgoing packets to the bus; and a passive reflector to reflect incoming packets back to the bus.
18. The adapter of claim 17, wherein the passive reflector is embedded in the interface device.
19. The adapter of claim 17, wherein the passive reflector is embedded in a component which is insertable into or connectable to the interface device.
20. An adapter for allowing a device to access a shared bus of a network, comprising: an interface device configured to receive incoming packets from the bus and output outgoing packets to the bus; and a time synchronisation logic module which is a slave clock module to a grandmaster time module of the network.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0026] Embodiments will now be described by way of example only, with reference to the accompanying drawings in which
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
DETAILED DESCRIPTION
[0034] In the following detailed description, reference is made to accompanying drawings which form a part of the detailed description. The illustrative embodiments described in the detailed description, depicted in the drawings and defined in the claims, are not intended to be limiting. Other embodiments may be utilised and other changes may be made without departing from the spirit or scope of the subject matter presented. It will be readily understood that the aspects of the present disclosure, as generally described herein and illustrated in the drawings can be arranged, substituted, combined, separated and designed in a wide variety of different configurations, all of which are contemplated in this disclosure.
[0035]
[0036] In the prior art protocol, the host computing system 106, from time to time, issues a “delay request” which is sent over the data link layer 108 to the grandmaster 102. The time at which the delay request is sent, T.sub.1, as measured by the local clock on the host computing system 106, is recorded. The grandmaster 102, upon receipt of the delay request, issues a delay response message to the host computing system 106 from which the delay request was generated. The time at which the delay response is received by the host computing system, T.sub.2, as measured by the local clock on the host computing system 106, is also recorded. The “round trip” delay is therefore T.sub.2−T.sub.1. The one-way delay, estimated for data traffic from the host computing system to the grandmaster, or vice versa, is ½ (T.sub.2−T.sub.1).
[0037] The grandmaster 102 is adapted to send out synchronisation requests—being an instruction for the host computing systems 106 to synchronise their time with an incoming timestamp T.sub.3 (not shown). The host computing systems 106 then each set the time to T.sub.3 plus the delay calculated for that host computing system 106.
[0038] In the prior art, the connection layer between the grandmaster 102 and the host computing systems 106 is the data link layer 108, with reference to the Open Systems Interconnection Model (OSI model). The OSI model is known in the art.
[0039] An improved time synchronisation protocol 200 according to one embodiment of the present invention is shown in
[0040] It is preferred that a single message type is used, for both measuring the network delay (i.e. the delay request and the delay response messages), and for sending the current time (sync) messages, and where required for sending the “follow up” message with the timestamp for synchronisation. The message type can be for example, the same as the message type used by the conventional PTP to send the time synchronisation message. Optionally, these messages are layered over standard PTP messages for backwards compatibility.
[0041] With reference to
[0042] An improved time synchronisation protocol 300 according to another embodiment of the present invention is shown in
[0043] The switches used for the proposed physical layer 110 are the type disclosed in WO/2015/179895, the contents of which are incorporated herein. The switches in the physical layer 110 are “crosspoint” switches which connect ports physically, rather than conventional ethernet switches. Thus, the layer “1” fabric (i.e. physical layer) 110 creates physical channels of communication, and does not perform any higher level interpretation as to the routing of the data packet.
[0044] The physical layer 110 is configurable for bidirectional communication with one host computing system 106 at a time. The host computing system for which the physical layer 110 is configured to enable bidirectional communication is referenced 106′. The remaining host computing systems 106 connected to the network are able to receive data from the physical layer 110, but are not able to send data to the physical layer 110.
[0045] The delay estimate process needs to be performed for each node (host computing system) connected to the network. Thus, once the delay response from the host computing system 106′ is received by the grandmaster 102, the physical layer 110 will be reconfigured to enable bidirectional communication with the next host computing system. The reconfiguration is performed by the grandmaster 102.
[0046] Using the layer “1” fabric 110 to distribute the messages, data transport jitter which would otherwise occur in the data link layer 108 is reduced or avoided. By using, in particular, the physical switches which connect ports and do not interpret data packets, the jitter is avoided. Minimising or avoiding the jitter over the physical layer 110 acting as the message distribution layer enables an improvement of the time synchronisation accuracy.
[0047] Therefore, the transport of the delay messages, delay responses, time synchronisation requests, and where applicable the follow up messages to the synchronisation requests, occurs over the physical layer 110. The performance of the tasks associated with these messages will be improved, i.e. done with a better time precision.
[0048] Selectively configuring the layer “1” fabric 110 (e.g. via a matrix switch or selectable optical switch), so that the return messages can be received by the grandmaster 102 from individual nodes (i.e. host computing systems) 106 can be a slower process, relative to the prior art process where multiple nodes 106 can initiate and send delay requests. However, the delay request initiation occurs infrequently, and therefore does not affect the critical distribution of data.
[0049]
[0050] The message handling which occurs in the process described above in relation to
[0051] The passive reflection of the request data means that there is no queuing or buffering of the request data, which could otherwise create jitter in the data routing. With the passive reflection, data is reflected bit by bit. That is, every bit of data that that arrives at the host computing system 106 gets sent back out again without first being processed at the host computing system 106.
[0052] This is implemented by, for example, a PMA (physical medium attachment) loop back, which is a low level bit by bit loop back. It functions as a transceiver, without decoding the data. The PMA can be an electrical or optical reflector, although an optical reflector would be more expensive. Data is also permitted to passes through the PMA. Thus, in the event of a receipt of a time synchronisation request, the PMA will pass the time synchronisation request to be processed by the time synchronisation logic (see
[0053] The PMA can be in the form of a transceiver or a transmitter-receiver, or any other component capable of the aforementioned functionality. The passive reflector 114 is embedded in a pluggable component 118 (see
[0054] Alternatively, the hardware or firmware circuitry of the network interface card can be modified to implement the passive reflection functionality. Thus the passive reflector component 114 is the part of the modified circuitry that implements the passive reflection. However, doing so would require new network interface cards to be issued to the users/clients, and is less preferable in cases where it is desired to retrofit existing network interface cards to adopt the proposed protocol.
[0055] In the embodiments shown in
[0056] Under the conventional PTP protocol, the clients are responsible for maintaining their own state—that is, maintain the implementation to comply with the PTP protocol, to, e.g., send delay requests, manage delay responses, respond to synchronisation messages, etc. The implementation adds complexity which may also contribute to the further delay or inaccuracy in network time synchronisation.
[0057] By using simple hardware components for some or all of the protocol processes, the implementation is simplified. The delay request implementation is handled by the hardware as shown in
[0058] As mentioned, the passive reflector 114 allows data to pass through, thus a time synchronisation request can still reach the destination for processing.
[0059] It is preferred that the system state information, relating to the host computing systems 106, is stored at the grandmaster 102. The system state will include, but is not limited to, a list of host computing systems and their relative path delays as calculated in the manner described above with reference to
[0060] It is preferred that some or all of the management of the system state information, the complexity of protocol implementation and adherence thereto, be kept at the grandmaster level. In the embodiment shown in
[0061] It is further preferred that the remaining complexity is retained at the grandmaster 102. For instance, the grandmaster 102 will keep track of the delays in the network.
[0062] In the embodiment shown in
[0063] Alternatively, as shown in
[0064]
[0065] The variation in the implementation discussed thus are also included in the variation in the scope of the implementation for the most preferred embodiment. In
[0066] Depending on the equipment requirement—i.e. preference to replace client equipment or issue new equipment, and/or the protocol management requirement, a more specific variation of the generally most preferred embodiment can be selected.
[0067] In the above, the “Grandmaster” 102 can be a software program or module which is running on a server or host device, as long as that device has or is in communication with a high precision clock, and can timestamp messages going in and out. For example, the grandmaster 102 can be provided by a host or server computer having a HPT network card (ExaNIC HPT) —that can provide the high quality timestamps to send/receive message events. Some components of the protocol can be software implemented on the computer which hosts the grandmaster 102.
[0068] Variations and modifications may be made to the parts previously described without departing from the spirit or ambit of the disclosure. For instance, variations in the implementation of
[0069] In the claims which follow and in the preceding description of the invention, except where the context requires otherwise due to express language or necessary implication, the word “comprise” or variations such as “comprises” or “comprising” is used in an inclusive sense, i.e. to specify the presence of the stated features but not to preclude the presence or addition of further features in various embodiments of the invention.