Clock synchronization between networked devices based on packet congestion information
AssigneeMellanox Technologies, Ltd.
InventorsWojciech Wasko, Dotan David Levi, Thomas Kernen
Life of this patent
Estimating the term…
Abstract
A network device includes control logic coupled to a receiver. The control logic detects an synchronization packet received via the receiver from a second network device over a network that is precision time protocol unaware. The control logic determines that a portion of the synchronization packet is asserted, indicating that the synchronization packet has incurred congestion traversing the network. The control logic adjusts, based on an assertion of the portion, a weight applied to timestamps associated with sending and receiving the synchronization packet in performing clock synchronization with the second network device.
Claims20
A network device comprising:
- control logic coupled to a receiver and configured to:
- detect a synchronization packet received via the receiver from a second network device over a network that is precision time protocol (PTP) unaware;
- determine that a bit of a congestion notification field of the synchronization packet is asserted, indicating that the synchronization packet has incurred congestion traversing the network;
- and
- reduce, based on an assertion of the bit, a weight applied to timestamps associated with sending and receiving the synchronization packet in performing clock synchronization with the second network device.
A method comprising:
- detecting, by a first network device, a synchronization packet received via a receiver from a second network device over a network that is precision time protocol (PTP) unaware;
- determining that a bit of the synchronization packet is asserted, indicating that the synchronization packet has incurred congestion traversing the network;
- and
- adjusting, based on an assertion of the bit, a weight applied to timestamps associated with sending and receiving the synchronization packet in performing clock synchronization with the second network device, wherein the synchronization packet is a delay response message received from the second network device in response to sending a delay request message to the second network device, and wherein the bit of the delay response message includes one of:
- an asserted bit within a congestion notification field that indicates the delay request message has incurred congestion;
- or
- information within a type-length-value (TLV) field that indicates the delay request message has incurred congestion.
A method comprising:
- detecting, by a first network device, a synchronization packet received via a receiver from a second network device over a network that is precision time protocol (PTP) unaware;
- determining that a bit of the synchronization packet is unasserted, indicating the synchronization packet did not incur congestion traversing the network;
- and
- applying, based on the bit being unasserted, a full weight to timestamps associated with sending and receiving the synchronization packet in performing clock synchronization with the second network device, wherein the synchronization packet is a delay response message received from the second network device in response to sending a delay request message to the second network device, and wherein the bit of the delay response message includes one of:
- an unasserted bit within a congestion notification field that indicates the delay request message has not incurred congestion;
- or
- information within a type-length-value (TLV) field that indicates the delay request message has not incurred congestion.
A network device comprising:
- control logic coupled to a receiver and configured to:
- detect a synchronization packet received via the receiver from a second network device over a network that is precision time protocol (PTP) unaware;
- determine that a bit of the synchronization packet is asserted, indicating that the synchronization packet has incurred congestion traversing the network;
- and
- adjust, based on an assertion of the bit, a weight applied to timestamps associated with sending and receiving the synchronization packet in performing clock synchronization with the second network device;
- and
- a local clock source coupled to the control logic, wherein the control logic is further to:
- estimate a local clock error based on a period of time since a last synchronization of the local clock source and a known accuracy metric value of the local clock source;
- and
- one of apply no weight or reduce the weight applied to the timestamps in synchronizing the local clock source based on the local clock error.
A network device comprising:
- control logic coupled to a receiver and configured to:
- detect a synchronization packet received via the receiver from a second network device over a network that is precision time protocol (PTP) unaware;
- determine that a bit of the synchronization packet is asserted, indicating that the synchronization packet has incurred congestion traversing the network;
- and
- adjust, based on an assertion of the bit, a weight applied to timestamps associated with sending and receiving the synchronization packet in performing clock synchronization with the second network device, wherein the synchronization packet is a synchronization message, and the timestamps are a first timestamp of a second clock source of the second network device and a second timestamp of a first clock source of the network device, the control logic further to:
- cause a delay request message to be sent to the second network device that is associated with a third timestamp of the first clock source;
- receive, from the second network device, a delay response message that includes a fourth timestamp of when the delay request message was received;
- determine a delay of the synchronization packet between the network device and the second network device based on the first, second, third, and fourth timestamps;
- determine a clock offset value between the first clock source and the second clock source based on the delay and a difference between the first and second timestamps;
- and
- synchronize the first clock source to the second clock source based on the adjusted weight applied to one of the clock offset value or the first, second, third, and fourth timestamps.
Dependencies are inferred from the claim text.