IP Library › Granted Patent US 12,199,745
Granted Patent B2
US 12,199,745 · App. 17/587,542 · Granted Jan 14, 2025

Time synchronization based on lookup table

Inventors: Shrjie Tzeng (Cupertino, CA); Stephen Ho (San Marcos, CA)
Assignee: Avago Technologies International Sales Pte. Limited
H04J3/0667H04J3/0655H04J3/0697
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,199,745
App. No.
17/587,542
Granted
Jan 14, 2025
Kind
B2
Abstract

Described herein are systems and methods for implementing a look up table by a network node, and performing or supporting time synchronization based on the look up table. In one aspect, a network node may receive a packet. The network node can identify a few number of bits in the packet, and determine one or more actions or functions corresponding to the few number of bits via the look up table. In addition, the network node can execute or perform the determined one or more actions to support time synchronization.

Claims (63)

1. A method comprising:

determining, by a processor of a device, a role of the device, the role comprising one of a master, slave or intermediary;

determining, by the processor, a table including a list of one or more actions associated with the determined role of the device;

receiving, by a communication interface of the device, a packet for communication;

determining, by the communication interface using one or more bits in a field of the packet, an action from the one or more actions associated with the determined role of the device in the table, the action corresponding to modifying a timestamp value in a portion of the packet; and

performing, by the communication interface, the action on the packet for communication of the packet.

2. The method of claim 1 , further comprising:

determining, by the communication interface, a type of the packet, wherein the table is determined according to the determined type of the packet.

3. The method of claim 1 , wherein the packet is an ingress packet, wherein the communication interface is an ingress parser, the method further comprising: applying, by the ingress parser, the portion of the ingress packet to the table to determine the action.

4. The method of claim 3 , wherein the list includes two or more actions of:

replacing, by the ingress parser, a first timestamp value of an original timecode field in the ingress packet with a stored timestamp value stored by a memory of the device;

storing, by the memory of the device, a second timestamp value of an ingress timestamp of the ingress packet; and

inserting, by the ingress parser, a third timestamp value of the ingress timestamp into the original timecode field in the ingress packet.

5. The method of claim 4 , wherein the list includes two or more actions of:

inserting, by the ingress parser, the third timestamp value of the ingress timestamp into a reserved field in the ingress packet;

updating, by the ingress parser, a correction field in the ingress packet based on the second timestamp value of the ingress timestamp; and

replacing, by the ingress parser, a fourth timestamp value of the reserved field in the ingress packet with the stored timestamp.

6. The method of claim 1 , wherein the packet is an egress packet, wherein the communication interface is an egress parser, the method further comprising:

applying, by the egress parser, the portion of the egress packet to the table to determine the action.

7. The method of claim 6 , wherein the list includes two or more actions of:

replacing, by the egress parser, a first timestamp value of an original timecode field in the egress packet with a stored timestamp value stored by a memory of the device;

updating, by the egress parser, a correction field of the egress packet based on a second timestamp value of a reserved field in the egress packet and a third timestamp value of an egress timestamp of the egress packet;

storing, by the memory of the device, a fourth timestamp value of the egress timestamp of the egress packet; and

inserting, by the egress parser, the third timestamp value of the egress timestamp into the original timecode field in the egress packet.

8. The method of claim 7 , wherein the list includes two or more actions of:

updating, by the egress parser, the correction field of the egress packet based on the fourth timestamp value of the egress timestamp; and

performing, by the egress parser, a correction field update based on the second timestamp value of the reserved field and a fifth timestamp value of the egress timestamp in a FIFO or the memory of the device.

9. The method of claim 1 , wherein the packet is an egress packet, wherein the communication interface is an egress parser, wherein the action for communication is storing, by a memory of the device, a timestamp value of an egress timestamp of the egress packet, the method further comprising:

storing, by the memory of the device, a domain number, source MAC address, and sequence ID;

receiving, by the egress parser, a subsequent packet; and

replacing, by the egress parser, a first timestamp value of an original timecode field in the egress packet with a stored timestamp value stored by the memory of the device, in response to the subsequent packet having the stored a domain number, source MAC address, or sequence ID.

10. The method of claim 1 , wherein the action for communication includes:

updating, by the communication interface, one or more fields in the packet, and

performing, by the communication interface, a cyclic redundancy check (CRC) recalculation on the updated packet.

11. The method of claim 1 , wherein the communication interface includes an ingress parser and an egress parser, wherein performing, by the communication interface, the action for communication includes:

transmitting, by the egress parser to another device, a delay measurement request at a first time, based on one or more actions in the table; and

receiving, by the ingress parser from the another device in response to the delay measurement request, a delay response message at a second time, based on one or more actions in the table.

12. The method of claim 11 , wherein performing, by the communication interface, the action for communication includes:

receiving, by the ingress parser in response to the delay measurement request, another delay response message at a third time after the second time, based on one or more actions in the table.

13. The method of claim 1 , wherein the communication interface includes an ingress parser and an egress parser, wherein performing, by the communication interface, the action for communication includes:

receiving, by the ingress parser from another device, a delay measurement request at a first time, based on one or more actions in the table, and

transmitting, by the egress parser to the another device in response to the delay measurement request, a delay response message at a second time, based on one or more actions in the table.

14. The method of claim 13 , wherein performing, by the communication interface, the action for communication includes:

transmitting, by the egress parser to the another device, in response to the delay measurement request, another delay response message at a third time after the second time based on one or more actions in the table.

15. The method of claim 1 , further comprising:

receiving, by the communication interface, an instruction to update the table; and

updating, by the communication interface, the table according to the instruction.

16. The method of claim 1 , wherein the packet is an Institute of Electrical and Electronics Engineers (IEEE) 1588 packet, wherein the portion of the packet is a reserved field in the IEEE 1588 packet.

17. A device comprising:

a processor configured to:

determine a role of the device, the role comprising one of a master, slave or intermediary, and

determine a table including a list of one or more actions associated with the determined role of the device; and

a communication interface configured to:

receive a packet for communication,

determine, using one or more bits in a field of the packet, an action from the one or more actions associated with the determined role of the device in the table, the action corresponding to modifying a timestamp value in a portion of the packet, and perform the action for communication.

18. The device of claim 17 , wherein the packet is an Institute of Electrical and Electronics Engineers (IEEE) 1588 packet, wherein the portion of the packet is a reserved field in the IEEE 1588 packet.

19. A non-transitory computer readable medium storing instructions when executed by one or more processors cause the one or more processors to:

determine a role of a device, the role comprising one of a master, slave or intermediary;

determine a table including a list of one or more actions associated with the determined role of the device;

cause a communication interface to receive a packet for communication;

cause the communication interface to determine, using one or more bits in a field of the packet, an action from the one or more actions associated with the determined role of the device in the table, the action corresponding to modifying a timestamp value in a portion of the packet; and

cause the communication interface to perform the action on the packet for communication of the packet.

20. The non-transitory computer readable medium of claim 19 , wherein the packet is an Institute of Electrical and Electronics Engineers (IEEE) 1588 packet, wherein the portion of the packet is a reserved field in the IEEE 1588 packet.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2022
From: HO, STEPHEN; TZENG, SHRJIE
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 060996/0311 →
Continuity (1)
Related Publication 20230246723A1 · Aug 3, 2023
References Cited (12)
US 7057539B1 · Duewer · 2006 [cited by examiner]
US 20090213733A1 · Nallur · 2009 [cited by examiner]
US 20110165865A1 · Gao · 2011 [cited by examiner]
US 20120143819A1 · Tan · 2012 [cited by examiner]
US 20120158990A1 · Losio · 2012 [cited by examiner]
US 20130046732A1 · Chueh · 2013 [cited by examiner]
US 20130252557A1 · Hillyard · 2013 [cited by examiner]
US 20140177653A1 · Tzeng · 2014 [cited by applicant]
US 20150067129A1 · Hayashi · 2015 [cited by examiner]
US 20150371011A1 · Miki · 2015 [cited by examiner]
US 20180295011A1 · Wang · 2018 [cited by examiner]
US 20180359654A1 · McDonald · 2018 [cited by examiner]