Precision time synchronization over standardized networking protocols
Abstract
A system, method and computer product for performing a time synchronization between first and second nodes includes the first node performing: generating a synchronization message, transmitting the synchronization message to the second node at a first time, taking a first timestamp in response to the synchronization message being transmitted and transmitting a timestamp message including the first timestamp to the second node at a second time; and the second node performing: receiving the synchronization message and the timestamp message from the first node, taking a second timestamp in response to the synchronization message being received, receiving the timestamp message from the first node, obtaining the first timestamp based on the received timestamp message, obtaining a timing offset between the first timestamp and the second timestamp and performing a time synchronization to the first node based on the timing offset.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A network system comprising a first node and a second node,
wherein the first node is configured to:
generate a synchronization message including a synchronization indication ID;
transmit the synchronization message to the second node over a network;
take a first timestamp in response to the synchronization message being transmitted over the network; and
transmit a timestamp message including the first timestamp to the second node at a second time over the network, the second time being different from the first time,
wherein the second node is configured to:
receive the synchronization message and the timestamp message from the first node;
take a second timestamp in response to the synchronization message being received from the first node;
obtain the first timestamp based on the received timestamp message;
obtain a timing offset between the first timestamp and the second timestamp; and
perform a time synchronization based on the timing offset,
wherein the synchronization indication ID is formed by modifying one or more of source-related fields from a standard message format which is compliant to a network protocol implemented in each of the first and second nodes.
2 . The network system of claim 1 , wherein the synchronization message comprises an encrypted portion including a message ID and an unencrypted portion including the synchronization indication ID.
3 . The network system of claim 1 , wherein subsequent to taking the second timestamp, the second node is further configured to identify the synchronization message based on the synchronization indication ID.
4 . The network system of claim 3 , wherein in response to identifying the synchronization message, the second node is further configured to decrypt the encrypted portion of the synchronization message to obtain a message ID included in the synchronization message.
5 . The network system of claim 4 , wherein the second node is further configured to pair the second timestamp with the obtained message ID.
6 . The network system of claim 5 , wherein the second node is further configured to calculate the timing offset between the first and second timestamps, in response to determining that another message ID of the timestamp message transmitted from the first node is equal to the message ID paired with the second timestamp.
7 . The network system of claim 1 , wherein the network system further a third node, and subsequent to the second node completing the time synchronization to the first node, the second node is further configured to initiate another time synchronization with the third node by generating another synchronization message to transmit said another synchronization message to the third node.
8 . The network system of claim 1 , wherein the second node is one-hop away from the first node, the third node is one-hop away from the second node, and the third node is two-hops away from the first node.
9 . The network system of claim 1 , wherein a message ID of the another synchronization message generated by the second node is different from the message ID of the synchronization message generated by the first node.
10 . The network system of claim 1 , wherein the one or more of the source-related fields comprise a source network ID field.
11 . A method for performing a time synchronization between nodes including a first node and a second node, comprising:
generating, by the first node, a synchronization message including a synchronization indication ID; transmitting, by the first node, the synchronization message to the second node at a first time over a network; taking, by the first node, a first timestamp in response to the synchronization message being transmitted over the network; transmitting, by the first node, a timestamp message including the first timestamp to the second node at a second time over the network, the second time being different from the first time, wherein the synchronization indication ID is formed by modifying one or more of source-related fields from a standard message format which is compliant to a network protocol implemented in each of the first and second nodes.
12 . The method of claim 11 , further comprising:
receiving, by the second node, the synchronization message and the timestamp message from the first node; taking, by the second node, a second timestamp in response to the synchronization message being received; receiving, by the second node, the timestamp message from the first node; obtaining, by the second node, the first timestamp based on the received timestamp message; obtaining, by the second node, a timing offset between the first timestamp and the second timestamp; and performing, by the second node, a time synchronization to the first node based on the timing offset.
13 . The method of claim 11 , wherein the synchronization message comprises an encrypted portion including a message ID and unencrypted portion including the synchronization indication ID.
14 . The method of claim 12 , further comprising:
identifying, by the second node, the synchronization message based on the synchronization indication ID, subsequent to taking the second timestamp.
15 . The method of claim 15 , further comprising:
decrypting the encrypted portion of the synchronization message to obtain a message ID included in the synchronization message, in response to identifying the synchronization message.
16 . The method of claim 16 , further comprising pairing, by the second node, the second timestamp with the obtained message ID.
17 . The method of claim 17 , wherein the calculating the timing offset between the first and second timestamps is performed in response to determining that another message ID of the timestamp message transmitted from the first node is equal to the message ID paired with the second timestamp.
18 . The method of claim 11 , wherein the one or more of the source-related fields comprise a source network ID field.
19 . The method of claim 12 , wherein the second node is one-hop away for the first node.
20 . A computer program product stored in a non-transitory computer-readable storage medium having computer readable program instructions, the computer readable program instructions read and carried out by at least one processor for performing a time synchronization between nodes including a first node and a second node, wherein the method comprises:
generating, by the first node, a synchronization message including a synchronization indication ID; transmitting, by the first node, the synchronization message to the second node at a first time over a network; taking, by the first node, a first timestamp in response to the synchronization message being transmitted over the network; transmitting, by the first node, a timestamp message including the first timestamp to the second node at a second time over the network, the second time being different from the first time; receiving, by the second node, the synchronization message and the timestamp message from the first node; taking, by the second node, a second timestamp in response to the synchronization message being received; receiving, by the second node, the timestamp message from the first node; obtaining, by the second node, the first timestamp based on the received timestamp message; obtaining, by the second node, a timing offset between the first timestamp and the second timestamp; and performing, by the second node, a time synchronization to the first node based on the timing offset, wherein the synchronization indication ID is formed by modifying one or more of the source-related fields from a standard message format which is compliant to a network protocol implemented in each of the first and second nodes.
21 . The computer program product of claim 18 , wherein the synchronization message comprises an encrypted portion including a message ID and unencrypted portion including the synchronization indication ID.
22 . The computer program product of claim 18 , wherein the one or more of the source-related fields comprise a source network ID field.
23 . A network node, comprising:
at least one processor configured to:
generate a synchronization message including a synchronization indication ID;
transmit the synchronization message to another network node over a network;
take a first timestamp in response to the synchronization message being transmitted over the network; and
generate a timestamp message based on the first timestamp; and
a transmitter configured to:
transmit the timestamp to another network node at a second time over the network, the second time being different from the first time,
wherein the synchronization indication ID is formed by modifying one or more of source-related fields from a standard message format which is compliant to a network protocol implemented in each of the network node and the another network node.Join the waitlist — get patent alerts
Track US2020059310A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.