IP Library › Granted Patent US 11,641,245
Granted Patent B2
US 11,641,245 · App. 17/246,730 · Granted May 2, 2023

Timestamp confidence level

Inventors: Dotan David Levi (Kiryat Motzkin, IL); Wojciech Wasko (Młynek, PL); Natan Manevich (Ramat Hasharon, IL); Roee Moyal (Yokneam Illit, IL); Eliel Peretz (Kiryat Motzkin, IL); Eran Ben Elisha (Yokneam Illit, IL); Ariel Almog (Kohav Yair, IL); Teferet Geula (Ma'ale Adumim, IL); Amit Mandelbaum (Teqoa, IL)
Assignee: MELLANOX TECHNOLOGIES, LTD.
H04J3/065H04J3/0644H04L43/0817H04L43/0882H04L67/55
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 11,641,245
App. No.
17/246,730
Granted
May 2, 2023
Kind
B2
Abstract

In one embodiment, an event processing system includes a clock configured to provide time values, and event processing circuitry, which is configured to generate a confidence level indicative of a degree of confidence of an accuracy of a timestamp, the timestamp being generated for an event responsively to a time value indicative of when an operation associated with the event occurred.

Claims (112)

1. An event processing system, comprising:

a clock configured to provide time values; and

event processing circuitry to:

generate a confidence level indicative of a degree of confidence of an accuracy of a timestamp, the timestamp being generated for an event responsively to a time value indicative of when an operation associated with the event occurred; and

add the timestamp and the confidence level to a data packet.

2. The system according to claim 1 , wherein the event processing circuitry is configured to:

identify occurrence of the event; and

generate the timestamp for the identified event responsively to the time value indicative of when a hardware operation associated with the event occurred.

3. The system according to claim 1 , wherein the event processing circuitry is configured to add the timestamp and the confidence level to an event data item.

4. The system according to claim 3 , wherein the event data item is a packet notification message.

5. The system according to claim 3 , wherein the event data item is a clock synchronization message.

6. The system according to claim 1 , wherein the event processing circuitry is configured to generate the confidence level responsively to any one or more factors selected from: a traffic pattern during occurrence of the event; a line speed during occurrence of the event; a bandwidth value during occurrence of the event; a steering engine used during occurrence of the event; hardware performing the hardware operation; a clock state; a queue occupancy; or a PHY protocol used to perform the hardware operation.

7. The system according to claim 1 , further comprising:

a network interface configured to receive the data packet over a packet data network; and

packet processing circuitry configured to process the received data packet, and wherein: the event includes the data packet being received by the packet processing circuitry at the time value; and the event processing circuitry is configured to add the timestamp and the confidence level to the data packet.

8. The system according to claim 7 , wherein the event processing circuitry is configured to generate the confidence level responsively to any one or more ingress factors selected from: a location of the data packet in a packet processing pipeline when the timestamp was generated; a traffic pattern during ingress of the data packet; a line speed during ingress of the data packet; a bandwidth value during ingress of the data packet; an ingress queue occupancy; a clock state; or a steering engine used during ingress of the data packet.

9. The system according to claim 1 , further comprising:

a network interface configured to send the data packet over a packet data network; and

packet processing circuitry configured to process the data packet for sending via the network interface over the packet data network, and wherein: the event includes the data packet being sent over the packet data network at the time value; and the event processing circuitry is configured to add the timestamp and the confidence level to the data packet.

10. The system according to claim 9 , further comprising an egress buffer configured to store the data packet prior to sending the data packet over the packet data network, wherein the event processing circuitry is configured to generate the confidence level responsively to a buffer level of the egress buffer at the time value.

11. The system according to claim 9 , wherein the event processing circuitry is configured to generate the confidence level responsively to any one or more egress factors selected from: a location of the data packet in a packet processing pipeline when the timestamp was generated; a traffic pattern during egress of the data packet; a line speed during egress of the data packet; a bandwidth value during egress of the data packet; an egress queue occupancy; a clock state; or a steering engine used during egress of the data packet.

12. The system according to claim 1 , further comprising a transaction processing device configured to process requests from multiple requesting entities responsively to a timeout which is set responsively to the generated confidence level.

13. An event processing system, comprising:

a clock configured to provide time values;

event processing circuitry to generate a confidence level indicative of a degree of confidence of an accuracy of a timestamp, the timestamp being generated for an event responsively to a time value indicative of when an operation associated with the event occurred; and

a data analyzer configured to receive a dataset including event data items having respective timestamps and respective confidence levels.

14. The system according to claim 13 , wherein the data analyzer is configured to:

identify at least one traffic pattern causing some event data items of the respective event data items to have respective ones of the respective confidence levels below a given confidence level; and

issue a command to adjust the identified at least one traffic pattern.

15. The system according to claim 13 , wherein the data analyzer is configured to:

reduce the dataset to remove ones of the event data items from the dataset having respective ones of the respective confidence levels which are lower than respective ones of the respective confidence levels of remaining ones of the event data items in the dataset; and

analyze the reduced dataset.

16. The system according to claim 13 , wherein the data analyzer is configured to:

select one of the event data items having a highest confidence level of the respective confidence levels; and

analyze the selected event data item.

17. An event processing system, comprising:

a clock configured to provide time values;

event processing circuitry to generate a confidence level indicative of a degree of confidence of an accuracy of a timestamp, the timestamp being generated for an event responsively to a time value indicative of when an operation associated with the event occurred;

a first network node; and

a second network node, the first and second network nodes being connected directly by a cable, wherein:

the first network node comprises first event processing circuitry configured to: identify occurrence of the event; and generate the timestamp for the identified event responsively to the time value indicative of when a hardware operation associated with the event occurred; and

the second network node comprises second event processing circuitry configured to generate the confidence level indicative of the degree of confidence of the accuracy of the timestamp generated by the first network node responsively to a common traffic pattern between the first network node and the second network node.

18. The system according to claim 17 , wherein:

the first network node is a master clock synchronization node;

the second network node is a slave clock synchronization node;

the master clock synchronization node is configured to send a clock synchronization message including the timestamp to the slave synchronization node; and

the slave clock synchronization node is configured to perform a clock synchronization responsively to the received clock synchronization message.

19. An event processing system, comprising:

a clock configured to provide time values;

event processing circuitry to generate a confidence level indicative of a degree of confidence of an accuracy of a timestamp, the timestamp being generated for an event responsively to a time value indicative of when an operation associated with the event occurred; and

clock synchronization circuitry configured to:

receive a plurality of clock synchronization messages including respective timestamps, the respective timestamps having associated confidence levels indicative of respective degrees of confidence of respective accuracy of the respective timestamps;

select at least one of the respective timestamps responsively to respective ones of the associated confidence levels; and

perform a clock synchronization responsively to the selected at least one of the respective timestamps.

20. The system according to claim 19 , further comprising a master clock synchronization node and a slave clock synchronization node, which includes the clock synchronization circuitry, wherein the master clock synchronization node is configured to send the plurality of clock synchronization messages including respective timestamps and associated confidence levels to the slave clock synchronization node.

21. The system according to claim 19 , wherein the clock synchronization circuitry is configured to perform the clock synchronization responsively to the respective timestamps while applying a higher weight to the selected at least one of the respective timestamps.

22. An event processing method, comprising:

providing time values;

generating a confidence level indicative of a degree of confidence of an accuracy of a timestamp, the timestamp being generated for an event responsively to a time value indicative of when an operation associated with the event occurred;

adding the timestamp and the confidence level to a data packet.

23. The method according to claim 22 , further comprising adding the timestamp and the confidence level to an event data item.

24. The method according to claim 23 , wherein the event data item is a packet notification message.

25. The method according to claim 23 , wherein the event data item is a clock synchronization message.

26. The method according to claim 22 , wherein the generating the confidence level is performed responsively to any one or more factors selected from: a traffic pattern during occurrence of the event; a line speed during occurrence of the event; a bandwidth value during occurrence of the event; a steering engine used during occurrence of the event; hardware performing the hardware operation; a queue occupancy; a clock state; or a PHY protocol used to perform the hardware operation.

27. The method according to claim 22 , further comprising:

receiving the data packet over a packet data network;

processing the received data packet, the event including the data packet being received at the time value; and

adding the timestamp and the confidence level to the data packet.

28. The method according to claim 27 , wherein the generating the confidence level is performed responsively to any one or more ingress factors selected from: a location of the data packet in a packet processing pipeline when the timestamp was generated; a traffic pattern during ingress of the data packet; a line speed during ingress of the data packet; a bandwidth value during ingress of the data packet; an ingress queue occupancy; a clock state; or a steering engine used during occurrence of the event.

29. The method according to claim 22 , further comprising:

sending the data packet over a packet data network;

processing the data packet for sending over the packet data network, the event including the data packet being sent over the packet data network at the time value; and

adding the timestamp and the confidence level to the data packet.

30. The method according to claim 29 , further comprising storing the data packet in an egress buffer prior to sending the data packet over the packet data network, wherein the generating the confidence level is performed responsively to a buffer level of the egress buffer at the time value.

31. The method according to claim 29 , wherein the generating the confidence level is performed responsively to any one or more egress factors selected from: a location of the data packet in a packet processing pipeline when the timestamp was generated; a traffic pattern during egress of the data packet; a line speed during egress of the data packet; a bandwidth value during egress of the data packet; an egress queue occupancy; a clock state; or a steering engine used during egress of the data packet.

32. The method according to claim 22 , further comprising:

identifying occurrence of the event; and

generating the timestamp for the identified event responsively to the time value indicative of when a hardware operation associated with the event occurred.

33. The method according to claim 22 , further comprising processing requests from multiple requesting entities responsively to a timeout which is set responsively to the generated confidence level.

34. An event processing method, comprising:

providing time values;

generating a confidence level indicative of a degree of confidence of an accuracy of a timestamp, the timestamp being generated for an event responsively to a time value indicative of when an operation associated with the event occurred;

identifying, in a first network node, occurrence of the event;

generating, in the first network node, the timestamp for the identified event responsively to the time value indicative of when a hardware operation associated with the event occurred; and

generating in a second network node connected directly by a cable to the first network node, the confidence level indicative of the degree of confidence of the accuracy of the timestamp generated by the first network node responsively to a common traffic pattern between the first network node and the second network node.

35. The method according to claim 34 , wherein:

the first network node is a master clock synchronization node;

the second network node is a slave clock synchronization node; and

the method further comprising:

the master clock synchronization node sending a clock synchronization message including the timestamp to the slave synchronization node; and

the slave synchronization node performing a clock synchronization responsively to the received clock synchronization message.

36. An event processing method, comprising:

providing time values;

generating a confidence level indicative of a degree of confidence of an accuracy of a timestamp, the timestamp being generated for an event responsively to a time value indicative of when an operation associated with the event occurred;

receiving a plurality of clock synchronization messages including respective timestamps, the respective timestamps having associated confidence levels indicative of respective degrees of confidence of respective accuracy of the respective timestamps;

selecting at least one of the respective timestamps responsively to respective ones of the associated confidence levels; and

performing a clock synchronization responsively to the selected at least one of the respective timestamps.

37. The method according to claim 36 , wherein performing the clock synchronization includes performing the clock synchronization responsively to the respective timestamps while applying a higher weight to the selected at least one of the respective timestamps.

38. The method according to claim 36 , further comprising a master clock synchronization node sending the plurality of clock synchronization messages including respective timestamps and associated confidence levels to a slave clock synchronization node, wherein the clock synchronization is performed by the slave clock synchronization node.

39. An event processing method, comprising:

providing time values;

generating a confidence level indicative of a degree of confidence of an accuracy of a timestamp, the timestamp being generated for an event responsively to a time value indicative of when an operation associated with the event occurred; and

receiving a dataset including event data items having respective timestamps and respective confidence levels.

40. The method according to claim 39 , further comprising:

reducing the dataset to remove ones of the event data items from the dataset having respective ones of the respective confidence levels which are lower than respective ones of the respective confidence levels of remaining ones of the event data items in the dataset; and

analyzing the reduced dataset.

41. The method according to claim 39 , further comprising:

selecting one of the event data items having a highest confidence level of the respective confidence levels; and

analyzing the selected event data item.

42. The method according to claim 39 , further comprising:

identifying at least one traffic pattern causing some event data items of the respective event data items to have respective ones of the respective confidence levels below a given confidence level; and

issuing a command to adjust the identified at least one traffic pattern.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2021
From: LEVI, DOTAN DAVID; WASKO, WOJCIECH; MANEVICH, NATAN; MOYAL, ROEE; PERETZ, ELIEL; BEN ELISHA, ERAN; ALMOG, ARIEL; GEULA, TEFERET; MANDELBAUM, AMIT
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 056109/0242 →
Continuity (1)
Related Publication 20220352998A1 · Nov 3, 2022