reducing packet delay variation for time sensitive packets

文档序号:1786400 发布日期:2019-12-06 浏览:16次 中文

阅读说明:本技术 减少时间敏感分组的分组延迟变化 (reducing packet delay variation for time sensitive packets ) 是由 F.帕西奥 于 2017-03-02 设计创作,主要内容包括:第一节点(10)向第二节点(20)提供时间功能。第一节点(10)生成支持时间功能所需的时间功能协议数据单元(52),并生成多个前导协议数据单元(51)。在时间功能协议数据单元(52)之前发送所述多个前导协议数据单元(51)。前导协议数据单元(51)携带路由信息,以使得前导协议数据单元遵循与时间功能协议数据单元(52)相同的网络路径。在中间节点(30)处,将所述多个前导协议数据单元(51)、时间功能协议数据单元(52)和其它数据业务存储在不同优先级等级的队列中。中间节点(30)基于队列的优先级等级控制转发的时间顺序。(The first node (10) provides a time function to the second node (20). The first node (10) generates a time function protocol data unit (52) required to support a time function and generates a plurality of preamble protocol data units (51). -transmitting the plurality of preamble protocol data units (51) before the time function protocol data unit (52). The preamble protocol data unit (51) carries routing information such that the preamble protocol data unit follows the same network path as the time function protocol data unit (52). At the intermediate node (30), the plurality of preamble protocol data units (51), time function protocol data units (52) and other data traffic are stored in queues of different priority classes. The intermediate node (30) controls the chronological order of the forwarding based on the priority level of the queue.)

1. A method of operating a first node of a network to provide time functionality in the network, the method comprising, at the first node:

generating a time function protocol data unit for supporting the time function;

Generating a plurality of preamble protocol data units;

Transmitting the plurality of preamble protocol data units prior to transmitting the time function protocol data unit;

Wherein the leading protocol data unit carries routing information such that the leading protocol data unit follows the same network path as the time function protocol data unit.

2. The method of claim 1, wherein the time function protocol data unit carries information configured to indicate to another node of the network that the time function protocol data unit is to be forwarded before the preamble protocol data unit.

3. A method according to claim 1 or 2, wherein the preamble protocol data unit carries information configured to indicate to another node of the network that the preamble protocol data unit is to be forwarded before other data traffic.

4. The method according to any of the preceding claims, wherein the preamble protocol data unit carries priority information indicating a priority level, wherein the priority level of the preamble protocol data unit is lower than the priority level of the time function protocol data unit.

5. the method according to claim 4, wherein the preamble protocol data unit carries priority information indicating a priority level immediately lower than the priority level of the time function protocol data unit.

6. The method according to claim 4 or 5, wherein the priority level of the time function protocol data unit and the priority level of the preamble protocol data unit are higher than the priority levels of other data traffic in the network.

7. The method according to any of the preceding claims, wherein the network allows a maximum protocol data unit size and the preamble protocol data unit has a length of less than 5% of the maximum protocol data unit size, and optionally less than 1% of the maximum protocol data unit size.

8. The method according to any of the preceding claims, wherein the preamble protocol data unit has a length of a minimum protocol data unit size allowed in the network.

9. The method according to any of the preceding claims, wherein the network supports a maximum protocol data unit size and the combined length of the sequence of preamble protocol data units is equal to or longer than the maximum protocol data unit size allowed in the network.

10. The method of any one of the preceding claims, comprising:

determining when the time-functional protocol data unit is queued at the node; and

generating the sequence of preamble protocol data units and inserting the sequence of preamble protocol data units into the transmission queue before the time function protocol data units.

11. The method of any of the preceding claims, wherein the time-functional protocol data unit is destined for a second node, and the generating comprises generating a plurality of preamble protocol data units based on a number N of intermediate nodes to be traversed between the first node and the second node.

12. the method of claim 11, wherein the generating comprises generating a plurality of preamble protocol data units such that a combined length of the sequence of preamble protocol data units is equal to or greater than a length of N times the maximum protocol data unit size allowed in the network.

13. The method of any one of the preceding claims, comprising:

Recording a timestamp of the transmission time of the time function protocol data unit; and

The timestamp is sent in a subsequent time function protocol data unit.

14. The method according to any of the preceding claims, wherein the time function protocol data unit carries event messages of a synchronous protocol with a bidirectional exchange of messages.

15. the method of any one of the preceding claims, wherein the time function is one of: a precision time protocol; a network time protocol.

16. the method of claim 15, wherein the time function protocol data unit carries a precision time protocol Synch message or a precision time protocol Delay Request message.

17. The method of any one of the preceding claims, comprising, at an intermediate node along the network path:

receiving the plurality of preamble protocol data units and storing the plurality of preamble protocol data units in a second queue having a second priority level;

receiving the time function protocol data unit and storing the time function protocol data unit in a first queue having a first priority level higher than the second priority level, wherein the plurality of preamble protocol data units are received before the time function protocol data unit; and

controlling a temporal order of forwarding queued protocol data units based on the priority level of the queue.

18. The method of claim 17, wherein the controlling the chronological order of forwarding comprises forwarding queued time function protocol data units before forwarding any remaining queued preamble protocol data units.

19. The method of claim 17 or 18, comprising:

Receiving a data service protocol data unit carrying data service, and storing the data service protocol data unit in a third queue with a third priority level lower than the second priority level; and is

The time sequence of the control forwarding comprises:

Forwarding the queued preamble protocol data unit before forwarding the queued data service protocol data unit; and

forwarding the time function protocol data unit before forwarding any remaining queued preamble protocol data units.

20. The method of any of claims 17 to 19, wherein the intermediate node allocates protocol data units to queues according to at least one of:

Priority information carried by the protocol data unit;

an indicator of the type of message.

21. A method of operating an intermediate node in a network comprising a first node providing a time function and a second node using the time function, the method comprising:

Receiving a plurality of preamble protocol data units and storing the plurality of preamble protocol data units in a second queue having a second priority level;

Receiving a time function protocol data unit for supporting a time function and storing the time function protocol data unit in a first queue having a first priority level higher than the second priority level, wherein the plurality of preamble protocol data units are received before the time function protocol data unit, and wherein the preamble protocol data unit carries routing information such that the preamble protocol data unit follows the same network path as the time function protocol data unit; and

Controlling a temporal order of forwarding queued protocol data units based on the priority level of the queue.

22. The method of claim 21, wherein the controlling the chronological order of forwarding comprises forwarding queued time function protocol data units before forwarding any remaining queued preamble protocol data units.

23. The method of claim 21 or 22, comprising:

receiving a data service protocol data unit carrying data service, and storing the data service protocol data unit in a third queue with a third priority level lower than the second priority level;

and the time sequence of the control forwarding comprises:

forwarding the leading protocol data unit before forwarding the queued data service protocol data unit; and

Forwarding the time function protocol data unit before forwarding any remaining queued preamble protocol data units.

24. An apparatus for supporting time functionality in a network, the apparatus configured to:

Generating a time function protocol data unit for supporting the time function;

Generating a plurality of preamble protocol data units;

Transmitting the plurality of preamble protocol data units prior to transmitting the time function protocol data unit;

Wherein the leading protocol data unit carries routing information such that the leading protocol data unit follows the same network path as the time function protocol data unit.

25. Apparatus for use at an intermediate node in a network, the network comprising a first node providing a time function and a second node using the time function, the apparatus being configured to:

Receiving a plurality of preamble protocol data units and storing the plurality of preamble protocol data units in a second queue having a second priority level;

receiving a time function protocol data unit for supporting a time function and storing the time function protocol data unit in a first queue having a first priority level higher than the second priority level, wherein the plurality of preamble protocol data units are received before the time function protocol data unit, and wherein the preamble protocol data unit carries routing information such that the preamble protocol data unit follows the same network path as the time function protocol data unit; and

Controlling a temporal order of forwarding queued protocol data units based on the priority level of the queue.

26. a system, comprising:

A first node comprising the apparatus of claim 24 and a first clock;

A second node comprising a second clock;

A network connecting the first node to the second node, the network comprising at least one intermediate node;

Wherein the second node is configured to:

Receiving the time function protocol data unit;

Determining a time offset between a clock at the second node and a clock at the first node using the time-functional protocol data unit;

Synchronizing the second clock with the first clock.

27. The system of claim 26, comprising at least one intermediate node comprising the apparatus of claim 25.

28. The system of claim 26 or 27, wherein the network is a wireless backhaul network and the second node is a wireless base station.

29. An apparatus for supporting time functionality in a network, the apparatus comprising a processor and a memory, the memory containing instructions that, when executed by the processor, cause the processor to:

generating a time function protocol data unit for supporting the time function;

Generating a plurality of preamble protocol data units;

Controlling the sending of the plurality of preamble protocol data units prior to the sending of the time function protocol data unit;

Wherein the leading protocol data unit carries routing information such that the leading protocol data unit follows the same network path as the time function protocol data unit.

30. an apparatus for use at an intermediate node in a network, the network comprising a first node providing a time function and a second node using the time function, the apparatus comprising a processor and a memory, the memory containing instructions that, when executed by the processor, cause the processor to:

Receiving a plurality of preamble protocol data units and storing the plurality of preamble protocol data units in a second queue having a second priority level;

Receiving a time function protocol data unit for supporting a time function and storing the time function protocol data unit in a first queue having a first priority level higher than the second priority level, wherein the plurality of preamble protocol data units are received before the time function protocol data unit, and wherein the preamble protocol data unit carries routing information such that the preamble protocol data unit follows the same network path as the time function protocol data unit; and

controlling a temporal order of forwarding queued protocol data units based on the priority level of the queue.

31. Apparatus for supporting time functions in a network, the apparatus comprising:

a first generation module configured to generate a time function protocol data unit required to support the time function;

a second generation module configured to generate a sequence of preamble protocol data units;

An output module configured to send a sequence of preamble protocol data units prior to sending the time function protocol data unit;

Wherein the leading protocol data unit carries routing information such that the leading protocol data unit follows the same network path as the time function protocol data unit.

32. Apparatus for use at an intermediate node in a network, the network comprising a first node providing a time function and a second node using the time function, the apparatus comprising:

An input module configured to receive a plurality of preamble protocol data units and to receive a time function protocol data unit required to support a time function;

a control module configured to store the plurality of preamble protocol data units in a second queue having a second priority level and the time function protocol data units in a first queue having a first priority level higher than the second priority level, wherein the plurality of preamble protocol data units are received before the time function protocol data units and wherein the preamble protocol data units carry routing information such that the preamble protocol data units follow the same network path as the time function protocol data units; and

The control module is configured to control a temporal order of forwarding queued protocol data units based on the priority level of the queue.

Technical Field

the present disclosure relates generally to networks that provide time functionality, such as for synchronization purposes.

Background

There is an increasing need for accurate synchronization between network devices, such as wireless base stations.

One solution to achieve synchronization is to provide a Global Navigation Satellite System (GNSS) receiver, such as a Global Positioning System (GPS) receiver, at a node that requires synchronization. However, there are some locations where a GNSS receiver cannot reliably receive the set of signals necessary to compute an accurate time reference. GNSS can also suffer temporary interruptions due to weather conditions or unintentional/intentional radio frequency interference.

In view of the above disadvantages of relying on GNSS, it is desirable that the backhaul network connected to the base station has the capability to deliver signals for synchronization purposes.

One known method to support synchronization is the Precision Time Protocol (PTP) (IEEE 1588v 2). In PTP, one node is designated as the master and the other node is designated as the slave. The master node and the slave nodes exchange time stamped messages. The time stamp allows the slave node to obtain a good estimate of the time offset between itself and the master node. By knowing this offset, the slave node can synchronize itself with the master node.

PTP uses event messages sent in the forward direction (master to slave) and reverse direction (slave to master). PTP event messages are time sensitive. This is because the PTP calculates the difference between the time at which a PTP event message is transmitted by one of the PTP nodes (e.g., the master node) and the time at which the message is received by another PTP node (e.g., the slave node). The accuracy of the propagation time directly affects the accuracy of the clock recovered by the slave node. There are factors that can cause a change in the delay measured in one direction (e.g., master to slave) over a period of time. Ideally, the delays in the forward and reverse directions are equal, i.e. symmetrical delays. However, there are various factors that can cause asymmetric delay. Traffic load on the network can cause asymmetric delays. Both of these factors can compromise the accuracy of the recoverable time and, therefore, the accuracy of the synchronization between the master and slave nodes.

disclosure of Invention

an aspect provides a method of operating a first node of a network to provide a time function in the network. The method comprises generating, at a first node, a time function protocol data unit for supporting a time function. The method includes generating, at a first node, a plurality of preamble protocol data units. The method includes transmitting the plurality of preamble protocol data units prior to transmitting the time function protocol data unit at the first node. The preamble protocol data unit carries routing information such that the preamble protocol data unit follows the same network path as the time function protocol data unit.

optionally, the time function protocol data unit carries information configured to indicate to another node of the network that the time function protocol data unit is to be forwarded before the preamble protocol data unit.

optionally, the preamble protocol data unit carries information configured to indicate to another node of the network that the preamble protocol data unit is to be forwarded before other data traffic.

the information carried by the time function protocol data unit and/or the preamble protocol data unit may indicate a priority level. Additionally or alternatively, the information carried by the time-function protocol data unit and/or the preamble protocol data unit may indicate a message type, and the other node may utilize the information to forward the protocol data unit.

optionally, the preamble protocol data unit carries priority information indicating a priority level, wherein the priority level of the preamble protocol data unit is lower than the priority level of the time function protocol data unit.

optionally, the preamble protocol data unit carries priority information indicating a priority level immediately lower than the priority level of the time function protocol data unit.

Optionally, the priority level of the time function protocol data unit and the priority level of the preamble protocol data unit are higher than the priority levels of other data traffic in the network.

optionally, the network allows a maximum protocol data unit size and the preamble protocol data unit has a length of less than 5% of the maximum protocol data unit size, and optionally less than 1% of the maximum protocol data unit size.

optionally, the preamble protocol data unit has a length of a minimum protocol data unit size allowed in the network.

Optionally, the network supports a maximum protocol data unit size and the combined length of the sequence of preamble protocol data units is equal to or longer than the maximum protocol data unit size allowed in the network.

optionally, the method includes determining when a time-functional protocol data unit is queued at the node. The method comprises the following steps: generating a sequence of preamble protocol data units; and inserting the sequence of preamble protocol data units into the transmission queue before the time function protocol data units.

Optionally, the time-function protocol data unit is destined for the second node and the generating comprises generating a plurality of preamble protocol data units based on the number N of intermediate nodes to be traversed between the first node and the second node.

Optionally, the generating comprises generating the plurality of preamble protocol data units such that a combined length of the sequence of preamble protocol data units is equal to or greater than a length N times a maximum protocol data unit size allowed in the network.

Optionally, the method comprises: recording a timestamp of a transmission time of a time function protocol data unit; and sending the timestamp in a subsequent time function protocol data unit.

Optionally, the time function protocol data unit utilizes a bidirectional exchange of messages to carry event messages of the synchronization protocol.

Optionally, the time function is one of: a precision time protocol; a network time protocol.

Optionally, the time function protocol data unit carries a precision time protocol Synch message or a precision time protocol Delay _ Request message.

optionally, the method comprises, at an intermediate node along the network path: receiving the plurality of preamble protocol data units; and storing the plurality of preamble protocol data units in a second queue having a second priority level. The method includes, at an intermediate node: receiving a time function protocol data unit; and storing the time function protocol data units in a first queue having a first priority level higher than the second priority level. Receiving the plurality of preamble protocol data units before the time function protocol data unit. The method includes controlling, at the intermediate node, a temporal order of forwarding the queued protocol data units based on the priority level of the queue.

Optionally, controlling the temporal order of forwarding comprises forwarding the queued time-function protocol data units before forwarding any remaining queued preamble protocol data units.

optionally, the method comprises: receiving a data service protocol data unit carrying data service; and storing the data service protocol data units in a third queue having a third priority level lower than the second priority level. Controlling the time sequence of forwarding includes: forwarding the queued preamble protocol data unit before forwarding the queued data service protocol data unit; and forwarding the time function protocol data unit before forwarding any remaining queued preamble protocol data units.

optionally, the intermediate node allocates the protocol data unit to the queue according to one of: priority information carried by the protocol data unit; an indicator of the type of message.

another aspect provides a method of operating an intermediate node in a network comprising a first node providing a time function and a second node using the time function. The method comprises the following steps: receiving a plurality of preamble protocol data units; and storing the plurality of preamble protocol data units in a second queue having a second priority level. The method comprises the following steps: receiving a time function protocol data unit for supporting a time function; and storing the time function protocol data units in a first queue having a first priority level higher than the second priority level. Receiving the plurality of preamble protocol data units before the time function protocol data unit. The preamble protocol data unit carries routing information such that the preamble protocol data unit follows the same network path as the time function protocol data unit. The method comprises controlling a temporal order of forwarding the queued protocol data units based on the priority level of the queue.

optionally, controlling the temporal order of forwarding comprises forwarding the queued time-function protocol data units before forwarding any remaining queued preamble protocol data units.

optionally, the method comprises: receiving a data service protocol data unit carrying data service; and storing the data service protocol data units in a third queue having a third priority level lower than the second priority level. Controlling the time sequence of forwarding includes: forwarding the leading protocol data unit before forwarding the queued data service protocol data unit; and forwarding the time function protocol data unit before forwarding any remaining queued preamble protocol data units.

Another aspect provides an apparatus for supporting time functionality in a network. The apparatus is configured to generate a time function protocol data unit for supporting a time function. The apparatus is configured to generate a plurality of preamble protocol data units. The apparatus is configured to transmit the plurality of preamble protocol data units before transmitting the time function protocol data unit. The preamble protocol data unit carries routing information such that the preamble protocol data unit follows the same network path as the time function protocol data unit.

Another aspect provides an apparatus for use at an intermediate node in a network, the network comprising a first node providing a time function and a second node using the time function. The apparatus is configured to: receiving a plurality of preamble protocol data units; and storing the plurality of preamble protocol data units in a second queue having a second priority level. The apparatus is configured to: receiving a time function protocol data unit for supporting a time function; and storing the time function protocol data units in a first queue having a first priority level higher than the second priority level. Receiving the plurality of preamble protocol data units before the time function protocol data unit. The preamble protocol data unit carries routing information such that the preamble protocol data unit follows the same network path as the time function protocol data unit. The apparatus is configured to control a temporal order of forwarding the queued protocol data units based on the priority level of the queue.

Another aspect provides a system comprising a first node for supporting a time function and a first clock in a network. The system includes a second node including a second clock. The system includes a network connecting a first node to a second node. The network comprises at least one intermediate node. The second node is configured to: receiving a time function protocol data unit; and determining a time offset between the clock at the second node and the clock at the first node using the time function protocol data unit. The second node is configured to synchronize the second clock with the first clock.

Optionally, the network is a wireless backhaul network and the second node is a wireless base station.

Another aspect provides an apparatus for supporting time functionality in a network, the apparatus comprising a processor and a memory. The memory contains instructions that, when executed by the processor, cause the processor to generate a time function protocol data unit for supporting a time function. The instructions cause the processor to generate a plurality of preamble protocol data units. The instructions cause the processor to control transmission of the plurality of preamble protocol data units prior to transmission of the time-functional protocol data unit. The preamble protocol data unit carries routing information such that the preamble protocol data unit follows the same network path as the time function protocol data unit.

Another aspect provides an apparatus for use at an intermediate node in a network comprising a first node providing a time function and a second node using the time function. The apparatus includes a processor and a memory. The memory contains instructions that, when executed by the processor, cause the processor to receive a plurality of preamble protocol data units and store the plurality of preamble protocol data units in a second queue having a second priority level. The instructions cause the processor to receive a time function protocol data unit for supporting a time function and store the time function protocol data unit in a first queue having a first priority level that is higher than a second priority level. Receiving the plurality of preamble protocol data units before the time function protocol data unit. The preamble protocol data unit carries routing information such that the preamble protocol data unit follows the same network path as the time function protocol data unit. The instructions cause the processor to control a temporal order of forwarding the queued protocol data units based on the priority level of the queue.

Another aspect provides an apparatus for supporting time functionality in a network. The apparatus includes a first generation module configured to generate a time function protocol data unit required to support a time function. The apparatus includes a second generation module configured to generate a sequence of preamble protocol data units. The apparatus includes an output module configured to transmit a sequence of preamble protocol data units before transmitting a time function protocol data unit. The preamble protocol data unit carries routing information such that the preamble protocol data unit follows the same network path as the time function protocol data unit.

Another aspect provides an apparatus for use at an intermediate node in a network comprising a first node providing a time function and a second node using the time function. The apparatus includes an input module configured to receive a plurality of preamble protocol data units and to receive time function protocol data units required to support a time function. The apparatus includes a control module configured to store the plurality of preamble protocol data units in a second queue having a second priority level and to store time function protocol data units in a first queue having a first priority level higher than the second priority level. Receiving the plurality of preamble protocol data units before the time function protocol data unit. The preamble protocol data unit carries routing information such that the preamble protocol data unit follows the same network path as the time function protocol data unit. The control module is configured to control a temporal order of forwarding the queued protocol data units based on the priority level of the queue.

An advantage of at least one example of the present disclosure is that Packet Delay Variation (PDV) experienced by time function PDUs, such as PTP event messages, is reduced when traversing intermediate nodes. This may improve the accuracy of the recovered clock and thus the accuracy of the synchronization between network nodes, such as radio base stations.

when applied to a two-way time function such as PTP, at least one example of the present disclosure is advantageous in reducing the difference in PDV between the forward and reverse directions.

An advantage of at least one example of the present disclosure is to allow time functionality to be provided to slave nodes with a longer chain of intermediate nodes.

The functionality described herein may be implemented in hardware, software executed by a processing device, or a combination of hardware and software. The processing device may include a computer, processor, state machine, logic array, or any other suitable processing device. The processing device may be a general-purpose processor executing software to cause the general-purpose processor to perform the required tasks, or the processing device may be dedicated to performing the required functions. Another aspect of the invention provides machine-readable instructions (software) which, when executed by a processor, perform any of the described methods. The machine-readable instructions may be stored on an electronic memory device, hard disk, optical disk, or other machine-readable storage medium. The machine-readable medium may be a non-transitory machine-readable medium. The term "non-transitory machine-readable medium" includes all machine-readable media except transitory propagating signals. The machine-readable instructions may be downloaded to the storage medium via a network connection.

Drawings

embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings, in which:

FIG. 1 illustrates an example of a network that utilizes time function PDUs to provide time functions;

FIG. 2 illustrates messages between a master node and a slave node using a precision time protocol;

FIG. 3 illustrates a time function PDU and a preamble PDU;

FIG. 4 illustrates a node in the network of FIG. 1;

5-7 illustrate the nodes of FIG. 3 over a period of time;

figure 8 illustrates a method performed at a first time-function node;

figure 9 shows a method performed at an intermediate node of a network;

FIG. 10 illustrates a method performed at a second time-function node;

Figure 11 shows an apparatus at a first node of a network;

Figure 12 shows an apparatus at a second node of a network;

FIG. 13 illustrates an apparatus for a computer-based implementation.

Detailed Description

Fig. 1 shows an example communication system 5 in which nodes 10, 20 are connected by a network 40. The node 20 may be part of or connected to a wireless base station 25 or any other type of device that needs to be synchronized in one or more of time, phase and frequency. The node 20 has a clock 24. The node 20 is configured to synchronize the clock 24 with the clock 14 at the node 10. In this system, node 10 is the "master node" and node 20 is the "slave node".

Network 40 includes nodes 30. These will be referred to as "intermediate nodes" because they are located between the nodes 10, 20 participating in the time function/synchronization. Network 40 may utilize a packet-based transport mechanism (e.g., internet protocol, IP), a frame-based transport mechanism (e.g., ethernet), or some other type of Protocol Data Unit (PDU). The generic term "protocol data unit" will be utilized in this disclosure to encompass a packet, frame, or other form of PDU. Network 40 may utilize a combination of PDU formats, such as IP over ethernet or ethernet over IP. For the example of a wireless network, node 20 may utilize network 40 as a backhaul network. Typically, network 40 is used by other nodes (not shown). The traffic load on the network 40 may change over time.

node 10 and node 20 communicate with each other to allow slave node 20 to determine the time offset between itself and the master node. By knowing this offset, the slave node can synchronize itself with the master node. The term "time function protocol data unit" is used in this disclosure to refer to a Protocol Data Unit (PDU) that is sent or received by a node as part of a time protocol. For example, the time function may be a synchronization protocol based on the two-way exchange of messages. In the following disclosure, PTP will be utilized as an example time protocol, but is not limited to this particular protocol. Examples of time function protocol data units 52 are PDUs carrying event messages such as PTP event messages (e.g. Sync and Delay _ Req). PTP event messages are delay sensitive because their time of transmission by one of the PTP nodes (e.g., the master) and their time of reception by another PTP node (e.g., the slave) directly affect the accuracy of the clock recovered from them.

In operation, node 10 sends a PTP event message 52 to node 20. This will be referred to as the forward direction. Node 20 sends PTP event message 52 to node 10. This will be referred to as the reverse direction. The device 12 at the node 10 is configured to generate and transmit PDUs in the forward direction and receive PDUs in the reverse direction. The device 22 at the node 20 is configured to receive PDUs in the forward direction and to generate and transmit PDUs in the reverse direction. The slave node may establish frequency/phase/time synchronization with the master node. This means that the clock at the slave node has the same frequency/phase/time as the clock at the master node.

Before describing further examples, fig. 2 shows an overview of PTP (IEEE 1588v 2). The purpose of this protocol is to synchronize the clock at the slave node 20 with the clock at the master node 10. A sequence of messages is transmitted between the master node 10 and the slave node 20. Initially, there is an unknown time offset Tof between the master node 10 and the slave node 20. At this time:

the master node sends a Synch message at time t 1. The slave node 20 receives the Synch message and records the arrival time using the local clock at the slave node (t 2). The master node sends a Follow _ up message. The Follow _ up message carries a timestamp of the time t1 when the Synch message was sent from the master node. At this time, the slave node 20 knows:

Where Dms is the propagation delay between the master node and the slave node.

The slave node 20 transmits a Delay _ Req message to the master node 10 and records the departure time of the message using the local clock at the slave node (t 3). The Delay _ Req message is received by the master node at time t 4. The master node sends a Delay _ Resp message to the slave nodes. The Delay _ resp message carries a timestamp of time t4 at which the Delay _ Req message was received at the primary node. At this time, the slave node 20 knows:

where Dsm is the propagation delay between the slave node and the master node.

By combining (1) and (2), the slave node can determine:

If it is possible to assume Dms = Dsm, it is possible to calculate Tof accurately. In this process, the PTP messages Synch and Delay _ Req are Delay sensitive messages. This is because the slave node 20 determines the time t2 using Synch, and the master node determines the time t4 using Delay _ Req. The IEEE 1588 standard refers to these as "event" messages. The Follow _ up message carries the timestamp value recorded by the master node. Similarly, the Delay _ Resp message carries the timestamp value recorded by the primary node. The Follow _ up and Delay _ Req messages are not Delay sensitive and IEEE 1588 refers to them as "generic" messages.

The international telecommunications union (ITU-T) is standardizing a set of different PTP profiles. One scenario under ITU-T standardization is a situation where the base stations need time synchronization and the PTP packets should span some nodes that do not support any PTP functionality. This is an application addressed by the recently approved g.8275.2 profile, and the ITU-T has defined an application according to two possible scenarios:

Partial Timing Support (PTS): PTP packets provide a time synchronization reference to the RBS;

auxiliary Part Timing Support (APTS): under normal operating conditions, the local GNSS source is the primary time synchronization reference of the RBS. PTP packets have provided the RBS with a frequency synchronization reference in order to improve its latency during possible GNSS outage periods. This is particularly useful for RBSs of small cells which do not allow good deferred performance, which are usually equipped with cheap crystal oscillators. The current ITU-T profile of PTS/APTS (G.8275.2) utilizes Sync and Delay _ Req only. Thus, the following disclosure focuses on Sync and Delay _ Req event messages.

In an example of the invention, the node 10 sends a plurality of preamble protocol data units 51 before sending a delay sensitive time function protocol data unit 52. As explained above, some types of time function PDUs 52 are delay sensitive, since one of the time support nodes 10, 20 will record the time of arrival of the PDU.

Fig. 3 shows an example of a preamble PDU 51 and a time function PDU 52. The time function PDU 52 includes routing data (e.g., IP source address and IP destination address). The time function PDU 52 may also include priority information (or priority data) 57. The priority information indicates a priority of the PDU and is available to nodes along a path through the network to prioritize the PDU over other PDUs. An example of priority information is a Differentiated Services Code Point (DSCP) value carried in the header of an IP packet. Other types of priority information are also possible. The time function PDU 52 comprises an identifier of the message type, e.g. indicating that the message is a PTP Sync message or a PTP Delay _ Req message. The leading PDU 51 includes routing data 54. Routing data 54 is the same as or similar to routing data 56. The routing data 54 causes the leading PDU 51 to follow the same network path as the time function PDU 52. The preamble PDU 51 may also include priority information 55. The priority information 57 of the leading PDU 51 may have a priority level immediately lower than the priority level of the time function PDU 52. The leading PDU 51 may include an identifier of the message type, e.g., indicating that the message is a leading PDU, or the leading PDU 51 may carry only priority information 55. The leading PDU 51 may have a length of the minimum PDU size allowed in the network 40. Other sizes are possible. In some examples, the combined length of the generated preamble PDUs 51 (53, fig. 1) is equal to or longer than the maximum PDU size allowed in the network.

fig. 4 shows one of the nodes 30 of the network 40. Node 30 includes an input port 131, a switch 132, a plurality of output queues 133Q 1-Qn, an output buffer 134, and an output port 136. Controller 135 controls the operation of node 30. The controller 135 selects an output queue based on the priority class of the PDU. For example, the PDU with the highest priority level is placed in queue Q1, the PDU with the second highest priority level is placed in queue Q2, and so on. The output buffer 134 contains only PDUs under transmission. The time function PDU experiences variable latency as it passes through the node 30. This is the Packet Delay Variation (PDV). This variable amount of latency is essentially due to the variable delay experienced by the PDUs while they are placed in the output queue and waiting to be selected and placed in the output buffer 134. The amount of latency can be reduced by assigning the highest priority class to the time function PDU. This means that the node 30 will choose to transmit time function PDUs in preference to all other traffic, since it is assumed that only time function PDUs have the highest priority. However, when a time function PDU arrives at node 30 and is forwarded to the highest priority output queue Q1, output buffer 134 may already be occupied with a generic traffic PDU known as Px. The time function PDU 52 cannot be transmitted until the transmission of Px is complete. This results in a variable amount of latency at node 30. This will be repeated at each node 30 between node 10 and node 20 on the forwarding path. A similar process would occur on the reverse path between node 20 and node 10. There are various ways to implement the set of queues Q1-Qn. In one example, each queue may be implemented as a separate physical store. In another example, the set of queues may be implemented as virtual queues sharing the same physical storage, and controller 135 may control which stored data is related to which virtual queue.

in the node of fig. 4, time function PDU 52 will experience a delay of Bx/R, where: r is the bit rate (bits per second) of the line; and Bx is the number of bits of the PDU Px that are still to be transmitted when the time function PDU 52 is queued. Thus, if the longest packet that can span the node has a length of Bmax bits, then the PDV experienced by the time function PDU as it traverses the port will fall in the range { 0; dmax, where Dmax = Bmax/R. For example, if the port is operating at 1 Gbit/s and is enabled to transmit packets of up to 9216 bytes, then the PDV of the time function PDU will fall in the range { 0; approximatively 74 mus }, since Dmax = (9216 × 8/109) s ≈ 74 mus.

In an embodiment, the nodes 30 traversed by the time function PDU are configured in the following manner:

Reserve the highest priority queue Q1 for time function PDU 52 and reserve the second highest priority queue Q2 for leading PDU 51. This assumption may be relaxed slightly, as discussed later.

Schedule Q1 and Q2 with strict priority.

Other traffic types are mapped to Q3 and lower priority queues.

fig. 5-7 illustrate examples of operating a node 30 for a period of time with a leading PDU. In fig. 5, the first preamble PDU 51 has arrived at the node 30. The leading PDU 51 is queued in queue Q2 because the generic traffic packet Px is already in the output buffer 134. In fig. 6, the transmission of Px has been completed. The node starts transmitting the leading PDU 51 because the leading PDU is the traffic with the highest priority class. At this point, queue Q1 is empty.

In fig. 7, time function PDU 52 has arrived at node 30 and has been forwarded to the highest priority level output queue Q1. There is currently a leading PDU 51 in the output buffer. When the current leading PDU 51 in the output buffer has been transmitted, the node will forward the time function PDU 52 to the output buffer for transmission. It can be seen that the time function PDU 52 is delayed only by the time required to complete the transmission of the current leading PDU 51. The leading PDU 51 may have a minimum allowed PDU size. For example, on an ethernet line, the length is 84 bytes: 12 bytes for inter-packet gaps, 8 bytes for ethernet preamble and start of frame delimiter (SoFD), and 64 bytes for ethernet minimum frames.

as can be seen from this example, the leading PDU packet occupies or reserves a position in the transmission queue until the time function PDU arrives. The leading PDU may be discarded by the slave node 20 in the forward direction (e.g., the leading PDU preceding a PTP Sync packet) or by the master node 10 in the reverse direction (e.g., the leading PDU preceding a PTP Delay _ Req packet).

any kind of "dummy" PDU with a minimum length may be utilized as the leading PDU. These virtual PDUs are discarded by the PTP support node without any need to modify the normal behavior of the network node.

The ITU-T G.8275.2/Y.1369.2 (06/2016) has standardized PTS/APTS profiles in which PTP is mapped over UDP/IPv 4/Eth. An example of a suitable preamble PDU is a null UDP (UDP/IPv 4/Ethernet) packet that carries the same IP destination address and IP source address as the relevant PTP event PDU. For example, if the node 30 provides QoS based on the DSCP values of the IP packets, then the possible configurations are: IP packets transmitting PTP PDUs have DSCP = 54; the preamble PDU has DSCP = 48; all other traffic types have DSCP < 48; q1 is reserved for packets with DSCP = 54 and Q2 is reserved for packets with DSCP = 48.

Consider a network path between nodes 10, 20 through which a single node 30 passes. In this case, the total length of the preamble PDU 51 transmitted just before each time function PDU 52 is configured to be equal to or (slightly) longer than the maximum PDU size allowed in the network. For example, if the maximum size of PDUs allowed in the network is 9216 bytes and each leading PDU has a minimum allowed size of 84 bytes, then the number of leading PDUs can be configured to be 110, since 110 × 84 bytes = 9240 bytes, where 9240 bytes >9216 bytes. Referring again to fig. 5, the worst case scenario is where the first leading PDU 51 begins to be queued at node 30 just as node 30 begins to transmit the maximum allowed size traffic PDU from the output buffer 134. By filling the queue at node 30 with the leading PDU, the only high priority traffic ahead of the time functional PDU is the set of leading PDUs. Since the node 30 selects between the services according to priority, the leading PDU will have a higher priority relative to the other services and will prevent the other services from occupying the output buffer 134. However, when the time function PDU arrives at the node 30, the time function PDU has a higher priority relative to any other traffic. Since the only traffic in the output buffer 134 is one leading PDU, the time function PDU 52 will delay (at most) only one leading PDU 51.

Some numerical examples will now be provided to illustrate the advantages of using a preamble PDU.

Consider an ethernet line, where the length of the leading PDU = 84 x 8 bits (= 672 bits); then the time function PDU delay is in the range 0; 672/R, where R is line speed in bits per second. For example, in the case of a port operating at 1 Gbit/s, the range is { 0; 672 ns, which greatly reduces the average PDV.

consider Bx the average length (number of bits) of a generic service packet Px of a deferrable time function PDU. It can be assumed that the PDVs experienced by the time function PDU are evenly distributed over the range { 0; dx } wherein Dx = Bx/R. Under an average traffic packet of 1000 bytes and a 1GE line, it can be assumed that the PDV is evenly distributed over the range { 0; 8000 ns.

Consider the following:

A line operating at 1 GE;

PTP algorithm considering only Sync PTP packets (i.e. unidirectional PTP application, but this can also be applied for bidirectional application).

A typical PTP algorithm that considers a 1 percent (with minimum delay) of received Sync packets.

given that, after 1 percentile packet filtering, the PDV will be on average less than: 8000 ns/100 = 80 ns. By using the preamble PDU, the PDV is: 672 ns/100 = 6.7 ns. Thus, there is a 92% reduction in PDV.

In case of bidirectional PTP, an additional advantage is that the PDV experienced by the time functional PDU in both directions becomes statistically symmetric, independent of possible asymmetry between the traffic load in both directions.

the path between the master node 10 and the slave node 20 will typically comprise a plurality of intermediate nodes 30. Consider that a time function PDU must traverse N intermediate nodes. In a worst case scenario, the time function PDU will be delayed by N maximum length PDUs. The number of leading PDUs 51 may be selected based on the number of intermediate nodes 30 to be traversed. For example, for N intermediate nodes, the transmitting node generates a plurality of preamble protocol data units such that the combined length of the generated preamble protocol data units is equal to or greater than a length N times the maximum protocol data unit size allowed in the network.

Fig. 8 illustrates an example method performed by a node to support a time function. The node may be a master node 10 or a slave node 20. At block 101, a node generates a time function protocol data unit required to support a time function. At block 102, the node generates a plurality of preamble protocol data units. At block 103, the node transmits the plurality of preamble protocol data units before transmitting the time function protocol data unit.

Optionally, at block 104, the node may determine a number N of network nodes to traverse between the first time node and the second first time node, and the generating at block 102 may generate the plurality of preamble protocol data units based on the number N. The node may store a lookup table having a plurality of entries, each entry containing a value N and a plurality of preamble PDUs for that value N, e.g., N = 2 for xx preamble PDUs, N = 3 for yy preamble PDUs, and so on. The number N may be configured in advance.

fig. 9 illustrates an example method performed by the intermediate node 30 of the network 40. At block 201, the node receives a plurality of leading PDUs and stores the plurality of leading PDUs in a second queue having a second priority level. At block 202, the node receives data traffic PDUs carrying data traffic and stores the data traffic PDUs in a third queue having a third priority level that is lower than the second priority level.

at block 203, the node receives a time function PDU required to support a time function. The node stores the time function PDU in a first queue having a first priority level. The first priority level is higher than the second priority level and the third priority level. Receiving the plurality of preamble PDUs before a time function PDU. Each leading PDU is shorter than the maximum PDU size allowed in the network. The leading PDU carries routing information so that the leading PDU follows the same network path as the time function PDU.

at block 204, the node controls the time order in which queued PDUs are forwarded. The chronological order of forwarding the queued protocol data units is controlled based on the priority level of the queue. In one example, the priority levels are configured to:

Priority level 1 (highest) -time function PDU;

Priority level 2-preamble PDU;

Priority level 3 (and below) -other (general) data traffic.

other data traffic may include wireless backhaul traffic to/from a wireless base station (25, fig. 1).

The time sequence of forwarding is: forwarding the preamble PDU prior to forwarding the data service PDU; the time function PDU is forwarded before any remaining queued preamble PDUs are forwarded. The effect of this time sequence of forwarding is that the leading PDU occupies the output buffer until the time function PDU arrives. When a time function PDU arrives at the intermediate node, it is forwarded with minimal delay. This is because the output buffer will only be occupied by a short length of the preamble PDU. The leading PDU supplies the position reservation function at the intermediate node(s) and any leading PDUs remaining in the queue will yield to the time function PDU. The time function PDU may experience a maximum latency of the length of one preamble PDU, as shown in the examples of fig. 5 to 7.

Alternatively or additionally, the time function PDU may be considered to be forwarded directly after forwarding the at least one queued preamble PDU. Functionality at the node 30 may be achieved by configuring a controller of the node to order the PDUs according to priority levels.

The intermediate node 30 may assign an arriving PDU to a queue according to the value of priority information carried in the PDU, such as a priority field in the header of the PDU (e.g., a DSCP field in an IP packet). Additionally or alternatively, the intermediate node 30 may assign the arriving PDUs to the queues according to another criterion or criteria. For example, the intermediate node 30 may determine the type of message carried by the PDU (e.g., preamble PDU, PTP event message PDU, data traffic PDU) and may assign the arriving PDUs to queues according to the type of message. For example, the intermediate node 30 stores data that causes the node to: mapping the PDU carrying the PTP event message to a highest priority queue Q1; mapping the leading PDU to a second high priority queue Q2; PDUs containing other types of data traffic are mapped to lower priority queue(s), and so on.

Fig. 10 illustrates an example method performed by a node to support time functionality. The node may be a master node 10 or a slave node 20. At block 221, the node receives a time function PDU. At block 222, the node receives a plurality of preamble PDUs. At block 223, the node discards the plurality of preamble PDUs.

fig. 11 and 12 show two examples of a device 300 supporting a time synchronization function located at one of the nodes 10, 20. The difference of the examples is where the preamble PDU is generated. In fig. 11, a time function (e.g., PTP application) 301 generates a time function PDU, such as a packet carrying a PTP event message. The same block 301 also generates a preamble PDU. Block 301 may be implemented as a software application executed by a processor. The time function PDU and the leading PDU are forwarded to the PDU processor 302. The PDU processor 302 controls the transmission order of the PDUs. The preamble PDU is output before the time function PDU. The PDU processor ensures that PDUs carrying other traffic are not interleaved between consecutive leading PDUs. The time stamp function 304 records the time stamp of a particular time function PDU as explained above in connection with fig. 10. The timestamp values may be sent within the same time function PDU (one step clock according to IEEE 1588 terminology) or within subsequent time function PDUs (two step clock behavior). For example, the master node 10 records a timestamp (time t 1) when the Synch message was sent and sends the t1 value within the same Sync message or Follow _ up message. The PDUs are output onto line driver 305 and line 306.

The apparatus of fig. 12 is similar to that of fig. 11. The main difference is that the leading PDU is generated by block 307 within PDU processor 302. The PDU processor detects when a delay sensitive time function PDU (e.g., a PTP event message) is queued. The PDU processor generates leading PDUs and inserts them into the output queue Q2 (i.e., the second priority level). The PDU processor delays transmitting delay sensitive time function PDUs until the required number of preamble PDUs have been transmitted. The delay is not important because the timestamp is only recorded when the PTP event PDU is sent.

Although this approach does require additional virtual PDUs, the overhead is not significant. Consider that the PTS/APTS protocol uses 32 event (Sync/Delay _ Req) PDUs per second. In the case where the maximum PDU size in the network is 9216 bytes and 4 intermediate nodes are to be spanned, the overhead incurred by the leading PDU is: 4 x 32 x 110 x 672 bit/s ≈ 9.5 Mbit/s. This is about 0.9% of the capacity of the 1GE link. The probability that a time function PDU is delayed by N maximum length PDUs is low. The number of preamble PDUs can be reduced without a significant impact on synchronization performance.

In the above described example, output queues Q1 and Q2 are reserved exclusively for time function PDUs and leading PDUs. In other examples, it is possible that nodes in the network may send other high priority traffic mapped to queues Q1, Q2.

although an example has been described with reference to PTP, another possible time function is the Network Time Protocol (NTP).

the steps of the methods described herein may be performed in any suitable order, or may be performed simultaneously where appropriate.

fig. 13 illustrates an example of a processing device 500, which processing device 500 may be implemented as any form of computing and/or electronic apparatus, and in which embodiments of the systems and methods described above may be implemented. The processing device may implement all or part of the method shown in fig. 7 or fig. 8 or described or shown in earlier figures. The processing device may be considered a node 10; 20; 30 or a controller.

The processing device 500 includes one or more processors 501, which processor 501 may be a microprocessor, controller or any other suitable type of processor for executing instructions to control the operation of the apparatus. The one or more processors 501 may be considered processing circuitry. The processor 501 is connected to the other components of the device via one or more buses 506. The processor-executable instructions 503 may be provided using any computer-readable medium, such as the memory 502. The processor-executable instructions 503 may include instructions for implementing the functionality of the described methods. The memory 502 is of any suitable type, such as Read Only Memory (ROM), Random Access Memory (RAM), any type of storage device, such as magnetic or optical storage. Additional memory 504 may be provided for storing data 505 for use by the processor 501. The processing device 500 includes one or more network interfaces 408 for interfacing with other network entities. The processing device 500 is configured to control, e.g., initiate or cause and/or implement, any portion of the described functionality or methods.

The steps of the methods described herein may be performed in any suitable order, or may be performed simultaneously where appropriate. Modifications and other embodiments of the disclosed invention will come to mind to one skilled in the art to which this invention pertains having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the present disclosure. Although specific terms may be employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.

26页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:包括机架和现场可更换模块的系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!