IP Library › Granted Patent US 12,079,029
Granted Patent B2
US 12,079,029 · App. 17/313,026 · Granted Sep 3, 2024

Network adapter providing isolated self-contained time services

Inventors: Itai Levy (Haifa, IL); Dotan David Levi (Kiryat Motzkin, IL); Nir Nitzani (Tel Aviv, IL); Natan Manevich (Ramat Hasharon, IL); Alex Vaynman (Modiin, IL); Ariel Almog (Kohav Yair, IL)
Assignee: MELLANOX TECHNOLOGIES, LTD.
G06F1/12G06F13/20H04L7/0012
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,079,029
App. No.
17/313,026
Granted
Sep 3, 2024
Kind
B2
Abstract

A network adapter includes a network port for communicating with a communication network, a hardware clock, and circuitry. The circuitry is coupled to receive from the communication network, via the network port, one or more time-protocol packets that convey a network time used for synchronizing network devices in the communication network, to align the hardware clock to the network time conveyed in the time-protocol packets, and to make the network time available to one or more time-service consumers running in a host served by the network adapter.

Claims (42)

1. An apparatus, comprising:

a hardware clock fitted in a network adapter; and

circuitry, which is contained within the network adapter and is to:

communicate with a host over a peripheral bus; receive, from a communication network, one or more time-protocol packets of a time-synchronization protocol, the time-protocol packets conveying a network time used for synchronizing network devices in the communication network;

run, within the network adapter, a software stack of the time-synchronization protocol, wherein running the software stack includes aligning the hardware clock to the network time conveyed in the time-protocol packets; and

make the network time available over the peripheral bus to one or more time-service consumers running in the host.

2. The apparatus according to claim 1 , wherein the circuitry is to make the network time available to the time-service consumers using a peripheral-bus device exposed on the peripheral bus.

3. The apparatus according to claim 2 , wherein the peripheral-bus device is a read-only bus device that transfers information only unidirectionally from the peripheral bus to the host.

4. The apparatus according to claim 1 , wherein the circuitry comprises a processor to run software that aligns the hardware clock.

5. The apparatus according to claim 1 , wherein the circuitry is to apply to the time-protocol packets timestamps having a defined timestamping accuracy, and to align the hardware clock with an accuracy that matches the timestamping accuracy.

6. The apparatus according to claim 1 , wherein the circuitry is to isolate the time-protocol packets from the host.

7. The apparatus according to claim 1 , wherein the circuitry is to isolate a control plane of the time-synchronization protocol from the host.

8. The apparatus according to claim 1 , wherein the circuitry is to calculate, based on the received time-protocol packets, one or more corrections that align the hardware clock to the network time, and to apply the calculated corrections to the hardware clock.

9. The apparatus according to claim 1 , wherein the circuitry is to align both a frequency and a time offset of the hardware clock to the network time, so as to make an offset-free value of the network time available to the host.

10. The apparatus according to claim 1 , wherein the circuitry is to make available a value of the network time that is usable by the time-service consumers without translation or conversion.

11. The apparatus according to claim 1 , wherein the circuitry is further to provide networking services to the host, concurrently with making the network time available to the host.

12. A compute node, comprising:

a host, comprising one or more processors for running one or more time-service consumer processes;

a peripheral bus; and

a network adapter, which comprises a hardware clock and which is to:

communicate with the host over the peripheral bus;

receive, from a communication network, one or more time-protocol packets of a time-synchronization protocol, the time-protocol packets conveying a network time used for synchronizing network devices in the communication network;

run, within the network adapter, a software stack of the time-synchronization protocol, wherein running the software stack includes aligning the hardware clock to the network time conveyed in the time-protocol packets; and

make the network time available over the peripheral bus to the time-service consumer processes running in the host.

13. The compute node according to claim 12 , wherein the time-service consumer processes running in the host are of at least one process type selected from a group of types consisting of a user application, a Virtual Machine (VM), and operating-system process and a container.

14. The compute node according to claim 12 , wherein the host is to obtain the network time from the network adapter using a peripheral-bus device that is queried for the network time by the time-service consumer processes running in the host.

15. The compute node according to claim 14 , wherein the peripheral-bus device is a read-only bus device that transfers information only unidirectionally from the peripheral bus to the host.

16. A method in a network adapter, the method comprising:

receiving in the network adapter, from a communication network, one or more time-protocol packets of a time-synchronization protocol, the time-protocol packets conveying a network time used for synchronizing network devices in the communication network;

running, within the network adapter, a software stack of the time-synchronization protocol, including aligning a hardware clock in the network adapter to the network time conveyed in the time-protocol packets; and

making the network time available over a peripheral bus to one or more time-service consumers running in a host served by the network adapter.

17. The method according to claim 16 , wherein making the network time available is performed using a peripheral-bus device exposed on the peripheral bus.

18. The method according to claim 17 , wherein the peripheral-bus device is a read-only bus device that transfers information only unidirectionally from the peripheral bus to the host.

19. A method is a compute node, the method comprising:

running one or more time-service consumer processes in one or more processors of a host; and

in a network adapter that serves the host:

communicating with the host over a peripheral bus;

receiving, from a communication network, one or more time-protocol packets of a time-synchronization protocol, the time-protocol packets conveying a network time used for synchronizing network devices in the communication network;

running, within the network adapter, a software stack of the time-synchronization protocol, including aligning a hardware clock in the network adapter to the network time conveyed in the time-protocol packets; and

making the network time available over the peripheral bus to the time-service consumer processes running in the host.

20. The method according to claim 19 , wherein making the network time available is performed using a peripheral-bus device that is queried for the network time by the time-service consumer processes.

21. The method according to claim 20 , wherein the peripheral-bus device is a read-only bus device that transfers information only unidirectionally from the peripheral bus to the host.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2021
From: LEVY, ITAI; LEVI, DOTAN DAVID; NITZANI, NIR; MANEVICH, NATAN; VAINMAN, ALEX; ALMOG, ARIEL
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 056150/0889 →
Continuity (1)
Related Publication 20220357763A1 · Nov 10, 2022