WO2019157978A1 - Procédé de planification de paquet, premier dispositif de réseau et support de stockage lisible par ordinateur - Google Patents

Procédé de planification de paquet, premier dispositif de réseau et support de stockage lisible par ordinateur Download PDF

Info

Publication number
WO2019157978A1
WO2019157978A1 PCT/CN2019/074226 CN2019074226W WO2019157978A1 WO 2019157978 A1 WO2019157978 A1 WO 2019157978A1 CN 2019074226 W CN2019074226 W CN 2019074226W WO 2019157978 A1 WO2019157978 A1 WO 2019157978A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
network device
queue
time
timestamp
Prior art date
Application number
PCT/CN2019/074226
Other languages
English (en)
Chinese (zh)
Inventor
赵岩
李楠
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2019157978A1 publication Critical patent/WO2019157978A1/fr

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/564Attaching a deadline to packets, e.g. earliest due date first
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0231Traffic management, e.g. flow control or congestion control based on communication conditions
    • H04W28/0236Traffic management, e.g. flow control or congestion control based on communication conditions radio quality, e.g. interference, losses or delay

Definitions

  • the present application relates to the field of communications, and more particularly to a method of scheduling messages, a first network device, and a computer readable storage medium.
  • message scheduling is a method of determining the output order and output time between messages. Generally, it can be divided into local scheduling and global scheduling according to the information source on which the scheduling message depends.
  • the order and time of packet output are affected by the global network information of the packet and the scheduling result of the packet in the previous network device.
  • the current network device preferentially schedules packets with higher urgency, and the urgency of the packets with higher urgency in the current network device (slack) Time) less.
  • the slack time can indicate the total maximum duration that the message is allowed to stay in the queue of all network devices throughout the network.
  • the traditional LSTF algorithm is easy to cause large delay jitter in the process of message transmission because the slack time consumed in the queue of each network device is unbalanced.
  • the present application provides a method for scheduling a message, a first network device, and a computer readable storage medium, which can reduce delay jitter during message transmission in the process of using global scheduling.
  • a first aspect includes: receiving, by a first network device, a first packet in a first service flow from a second network device; the first network device according to the first service flow The configuration information determines a maximum duration that the first packet is allowed to stay in the first queue; the first network device enqueues the first packet to the first queue; the first network The device dequeues the first packet from the first queue according to a maximum duration that the first packet is allowed to stay in the first queue, where the first network device is from the first Deleting the first packet of the queue no later than the time when the first packet is enqueued to the first queue and the first time the first packet is allowed to stay in the first queue The sum of the longest durations.
  • the first network device may dequeue the first packet from the first queue according to the maximum duration that the first packet allowed by the controller in advance is allowed to stay in the queue of the first network device.
  • the distribution and consumption of the total longest duration allowed in the network device queue on the entire transmission link in each network device queue can be balanced, so that the delay distribution of the packet can be balanced and the delay jitter of the packet can be reduced.
  • the first network device sends the first packet from the first queue according to a maximum duration that the first packet is allowed to stay in the first queue. Dequeuing, including: the first network device determines a first timestamp, the first timestamp is equal to a time when the first packet is enqueued to the first queue, and the first packet is in the a sum of the longest durations allowed to stay in the first queue; the first network device determines that the current time is less than the first timestamp;
  • the first network device dequeues the first packet from the first queue based on a current time being less than the first timestamp.
  • the first network device may calculate, according to the maximum time that the first packet is allowed to stay in the first queue and the enrollment time, before the packet is enqueued, the first packet is dequeued from the first queue.
  • the late time it is possible to avoid performing multiple calculations on the maximum duration of the allowed stay of the message in the queue, which can reduce the number of calculations and reduce the complexity of implementation.
  • the first network device enqueues the first packet to the first queue, where: the first network device determines a first timestamp, the first time The stamp is equal to a sum of a time when the first packet is enqueued to the first queue and a maximum duration that the first packet is allowed to stay in the first queue;
  • the first network device enqueues the first packet to the first queue that includes the second packet and the third packet according to the first timestamp, where the first timestamp is greater than the first The timestamp of the second packet, the first timestamp is smaller than the timestamp of the third packet, and the second packet is dequeued from the first queue before the first packet, The first message is dequeued from the first queue before the third message.
  • an insertion first-out queue may be utilized (the timestamp of the first packet is inserted into the queue in a monotonically increasing order from the head to the end of the queue according to the timestamp of the message in the queue. Medium), the real emergency message is sent preferentially, which further reduces the jitter of the message transmission delay.
  • the first configuration information includes a first allocation coefficient, the first allocation coefficient is a positive number less than 1, and the first packet includes a first time label, where the first a time stamp is used to indicate a maximum duration of the first packet from the second network device to the destination device, where the first packet is sent from the second network device to the first network device.
  • the time of the first queue where f 1 is used to indicate the first allocation coefficient of the first packet in the first service flow, and T 1 is used to indicate that the first packet enters the first network device.
  • the total longest duration of the packets allowed to stay in the queue of all the network devices may be configured to the network device, and the packets may be configured in advance according to the network device queue when the network device is reached.
  • the maximum duration of the allowed stay is scheduled to dequeue the packet, so that the delay distribution of the packet can be balanced, and the delay jitter of the packet can be reduced.
  • the total longest duration of the packet allowed to stay in all network device queues may be configured to the source end, and the allocation coefficient of the packet in each network device queue is configured to each network device.
  • the message can calculate, in each network device, the maximum duration of the message allowed in the current network device queue according to the remaining maximum duration of the remaining allowed stay and the time allocation coefficient, and schedule the packet. Therefore, the delay distribution of the message can be balanced, and the delay jitter of the message can be reduced.
  • a first network device including: an input interface, configured to receive a first packet in a first service flow from a second network device; and a first processing unit, configured to use, according to the first service
  • the configuration information of the flow determines the maximum duration of the first queue allowed to stay in the first packet;
  • the traffic management unit is configured to enqueue the first packet to the first queue;
  • the traffic management unit further The first packet is dequeued from the first queue according to a first longest duration that the first packet is allowed to stay in the first queue, where the first network device is The time when the first queue dequeues the first packet is not later than the time when the first packet is enqueued to the first queue, and the first packet is allowed to stay in the first queue.
  • the sum of the first longest duration the output interface, configured to send the first packet in the first service flow to the third network device.
  • the traffic management unit is specifically configured to: determine, by the first network device, a first timestamp, where the first timestamp is equal to the first packet being enqueued to the first The sum of the time of the queue and the longest duration of the first message allowed to stay in the first queue; the first network device determines that the current time is less than the first timestamp; the first network device is based on The current time is less than the first timestamp, and the first packet is dequeued from the first queue.
  • the traffic management unit is specifically configured to: determine, by the first network device, a first timestamp, where the first timestamp is equal to the first packet being enqueued to the first The sum of the time of the queue and the longest duration of the first message allowed to stay in the first queue; the first network device enqueues the first packet according to the first timestamp The first queue that includes the second packet and the third packet, where the first timestamp is greater than a timestamp of the second packet, and the first timestamp is smaller than a timestamp of the third packet The second packet is dequeued from the first queue before the first packet, and the first packet is dequeued from the first queue before the third packet.
  • the configuration information includes a first allocation coefficient, the first allocation coefficient is a positive number less than 1, the first packet includes a first time label, and the first time label For indicating a maximum duration of the first packet from leaving the second network device to the destination device, the first packet from the second network device via the first network device and the third
  • the first network device further includes: a second processing unit, configured to determine, according to a time when the first packet is dequeued from the first queue, and a first time label a second time label of the first packet, where the second time label is used to indicate a maximum duration of the first packet from leaving the first network device to a destination device; and the first The network device sends the first packet from the first queue, and the first packet that is dequeued from the first queue carries the second time label; the first packet
  • a communication system comprising a first network device, a second network device, and a third network device, the first network device for performing any of the possible implementations of the first aspect or the first aspect described above
  • the third network device receives, by the first network device, a first packet in the first service flow, where the first packet includes a second time label, and the second The time stamp is used to indicate the maximum duration of the first packet from the first network device to the destination device, where the first packet is sent from the first network device to the third network device.
  • Time stamp 3 t 3 + f 2 ⁇ time stamp 2 wherein, time stamp 2 for the first message representing a second departure time of the first network device carried by the label, f 2 is used to indicate the first packet in the third a corresponding second allocation coefficient in the network device, t 3 is used to indicate the time when the first packet is enqueued to the second queue in the third network device, and Time stamp 3 is used to indicate the first The second timestamp in the third network device of the message
  • a controller configured to control N network devices of a service flow from a source end to a destination, where N is a positive integer greater than or equal to 2, and the N networks
  • the device is configured to perform the method according to the first aspect or any of the possible implementation manners of the first aspect, the controller allowing a packet in the service flow to be allowed in a queue corresponding to the N network devices The longest duration of the stay is configured in advance; the controller distributes configuration information to the N network devices in a distributed manner, and the N network devices are in the service flow according to the allocated configuration information.
  • the packet is scheduled to be sent, and the configuration information is used to indicate that the packet in the service flow is allowed to stay in the queue corresponding to the N network devices for the longest duration.
  • a network device comprising a memory and a processor, the memory for storing computer instructions, the processor for executing computer instructions stored in the memory, when the computer instructions are executed,
  • the processor is operative to perform the method as described in the first aspect or any of the possible implementations of the first aspect.
  • a computer readable storage medium comprising computer instructions that, when executed on a computer, cause the computer to perform any of the possible implementations of the first aspect or the first aspect described above The method described in the above.
  • a computer program product comprising computer instructions, when the computer program product is run on a computer, causes the computer to perform any of the possible implementations of the first aspect or the first aspect described above The method described.
  • FIG. 1 is a schematic structural diagram of a network device according to an embodiment of the present application.
  • FIG. 2 is a schematic flowchart of a method for scheduling a message according to an embodiment of the present application.
  • FIG. 3 is a schematic diagram of variables of idle time provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of a service flow transmitted in a network according to an embodiment of the present application.
  • FIG. 5 is a schematic diagram of a PIFO queue provided by an embodiment of the present application.
  • FIG. 6 is a schematic flowchart of slack time 2 of calculating a message provided by an embodiment of the present application.
  • FIG. 7 is a schematic flowchart of slack time 3 for calculating a packet dequeuing according to an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a first network device according to an embodiment of the present application.
  • FIG. 1 is a schematic structural diagram of a network device provided by the present application.
  • the network device 100 can include an input port 110, a first message processor 120, a traffic manager (TM) 130, a memory 140, and an output port 160.
  • the first packet processor 120 and the traffic manager 130 may be implemented by hardware or by hardware and software.
  • Network device 100 can be a router, a network switch, a firewall, or a load balancer.
  • the network device shown in FIG. 1 may further include a second packet processor 150, where the second packet processor 150 may be implemented by hardware or by hardware and software.
  • the first message processor 120, the traffic manager 130, and the second message processor 150 in FIG. 1 may also integrate one component.
  • the types of the input port 110 and the output port 160 are not specifically limited in the embodiment of the present application.
  • the input port 110 can be, for example, a media access control (MAC) module
  • the output port 150 can be, for example, a MAC module.
  • the input port 110 can be configured to receive a message and provide the received message to the first message processor 120.
  • the output port 160 can acquire the message from the second message processor 150 and send the acquired message.
  • the message in this application may be an Ethernet frame or an Internet Protocol (IP) message.
  • IP Internet Protocol
  • the type of the first packet processor 120 and the second packet processor 150 are not specifically limited, and may be any module capable of processing a message in a service flow.
  • the first message processor 120 may be, for example, a packet processing (PP) module
  • the second message processor 150 may be, for example, a PP module.
  • the first message processor 120 can parse, classify, forward, search, and header the received message.
  • the first packet processor 120 can read the configuration information in the service flow state list corresponding to the packet, and can determine, according to the configuration information, the maximum duration that the packet is allowed to stay in the queue corresponding to the network device.
  • the second message processor 150 can parse, classify, forward, search, and header the packets scheduled to be dequeued.
  • the second packet processor 150 may update the time stamp of the packet according to the configuration information of the service flow state list corresponding to the packet and the current time of the dequeue when the packet is scheduled to be dequeued. Can be used to indicate the maximum duration of the allowed stay remaining when the message is dequeued.
  • the traffic manager 130 can manage the packets in the service flow, for example, performing the functions of enqueuing, discarding, dequeuing, scheduling, and classifying the packets in the service flow.
  • the memory 140 and the traffic manager 130 in the embodiment of the present application may be integrated in one chip.
  • the memory 140 and the traffic manager 130 can also be two chips.
  • the traffic manager 130 can enqueue the packet into the packet queue. Specifically, the traffic manager 130 can perform a write operation on the memory 140 to write the message into the memory 140.
  • the message queue is saved in the memory 140.
  • the traffic manager 130 can dequeue messages in the message queue from the message queue. Specifically, the traffic manager 130 can perform a read operation on the memory 140 to dequeue the message. After the traffic manager 130 obtains the dequeued message, the dequeued message can be provided to the second message processor 150.
  • the message in the service flow can be transmitted by the link to the network device, and the input port 110 (also referred to as the receiving end Rx of the network device) in the network device can receive the message.
  • the first message processor 120 can then process the time stamp in the message, which can then be enqueued into a queue (memory 140) in the traffic manager 130 waiting for the scheduler to stream the service.
  • the message is dispatched out of the queue (dequeue).
  • the packet is sent to the link by the output port (also referred to as the transmitting end Tx of the network device) 160. And can be transferred to the next network device on the transmission path.
  • the queues and schedulers in the traffic manager 130 can be implemented by hardware or by hardware in combination with software.
  • the embodiment of the present application provides a method for scheduling a message, which can reduce delay jitter in a message transmission process in a process of using a global scheduling algorithm.
  • the embodiments of the present application are described in detail below with reference to FIGS. 2-7.
  • FIG. 2 is a schematic flowchart of a method for scheduling a message according to an embodiment of the present application.
  • the method shown in Figure 2 can be performed by a first network device.
  • the first network device may be the network device 100 shown in FIG. 1.
  • the network device 100 shown in FIG. 1 can be used to perform the method shown in FIG. 2.
  • the method of FIG. 2 may include steps 210-240, which are described in detail below.
  • step 210 the first network device receives the first message in the first service flow from the second network device.
  • the traffic flow in the embodiment of the present application may also be referred to as traffic.
  • the embodiment of the present application does not specifically limit the type of the network device, such as a switch, a router, a hub, a gateway, a bridge, a network interface card (NIC), and a wireless access point (WAP). , printers, modems, fiber optic transceivers, and fiber optic cables.
  • Network devices can sometimes also be referred to as network nodes or hops.
  • the second network device may be located in the last hop of the first network device.
  • the first network device determines, according to the configuration information of the first service flow, a maximum duration that the first packet is allowed to stay in the first queue.
  • the configuration information of the first service flow may be used to indicate the maximum duration that the first service flow is allowed to stay in the first queue of the first network device, where the first configuration information may be used by the centralized controller. Make an early configuration.
  • the embodiment of the present application does not specifically limit the configuration information of the first service flow, and may be the longest duration that the first service flow can be allowed to stay in the current network device queue, or the first service flow may be in the current network device.
  • the distribution coefficient will be described in detail later in conjunction with specific embodiments.
  • the maximum duration that the packet is allowed to stay at the source end and each intermediate network device queue may also be referred to as the idle time that can be consumed at the source end and each intermediate network device.
  • the user can configure the packet in the service flow in the centralized controller in the source end and the intermediate network device queue in advance.
  • the total slack time that can be consumed the centralized controller can distribute the packets in the traffic flow at the source end and the slack time that can be consumed in each intermediate network device queue to the source end and each of the transmission paths.
  • the status list of the intermediate network device In the status list of the intermediate network device.
  • each network device may output the packets in the service flow according to the slack time of the service flow in the current network device status list. And output time control.
  • FIG. 3 is a schematic diagram of variables of idle time provided by an embodiment of the present application.
  • the deadline time of the message can be used to indicate the deadline for the message to complete the transmission.
  • the time interval from the initial transmission time to the deadline time of the message may be composed of two parts, one part of which may be, for example, the non-blocking transmission time of the message on the full path, and the other part may be, for example, the message.
  • the time required to queue up in a network node on the entire transmission path also referred to as idle time).
  • the non-blocking transmission time of the packet on the full path may be used to indicate that the packet starts from the initial transmission time, and there is no blocking transmission delay in the network device on the entire transmission path and between the network device and the network device.
  • the transmission delay, the slack time of the message can be used to indicate the idle time that the message can consume in the network device queue of the entire transmission path after considering the non-blocking transmission time of the message.
  • the slack time in the embodiment of the present application can be used to indicate the sum of the longest durations of the messages allowed to stay in all queues in the network device.
  • the number of queues in the network device is not specifically limited in the embodiment of the present application, and may be, for example, one queue or multiple queues.
  • FIG. 4 is a schematic diagram of a service flow transmitted in a network according to an embodiment of the present application.
  • the network shown in FIG. 4 includes a source, a node 1, a node 2, a node 3, and a controller.
  • the node 1, the node 2, and the node 3 may be the network device 100 shown in FIG. 1.
  • Node 1, Node 2, and Node 3 can be used to perform the method shown in FIG. 2.
  • the controller may distribute the entire slack time of the service flow to the source end of the service network and the network equipment on the transmission path before a service flow is to enter the network from the source end.
  • the network node may send and send the message in the service flow according to the pre-configured slack time that can be consumed in the queue of the network device corresponding to the service flow. Time to control.
  • the controller may be configured to control multiple network devices on the transmission path of the service flow from the source end to the destination, and may distribute the entire slack time of the service flow to the source in the network. And the network devices on the transmission path. For example, the controller may distribute the entire slack time of the service flow to the source end of the service flow and the network device on the transmission path according to the topology structure on the transmission path of the service flow and the configuration requirement of the service flow. in.
  • the embodiment of the present application does not specifically limit the implementation manner in which the controller allocates the entire slack time of the service flow to the source device and the network device on the transmission path, and may be any form of distributed configuration.
  • the following may describe several possible configurations mentioned in the embodiments of the present application.
  • the entire slack time of the message can be evenly configured into each network device.
  • the slack time of the service flow from the source to the destination can be averagely configured to each network device according to the number of network devices on the transmission path, and the configuration result can be sent to each of the transmission paths.
  • the list of service flow states of the network device (for example, as shown in Table 1).
  • the entire slack time of the message can be distributed to each network device according to the allocation coefficient.
  • the entire slack time of the service flow from the source to the destination can be configured at the source end, and then the number of network devices on the transmission path can be N when the service flow is transmitted to each network device, and
  • Each network device configures a slack time (the allocation coefficient is 1/N) that can be consumed in the network device queue, and can deliver the configuration result to a service flow state list of each network device on the transmission path (for example, Table 2).
  • all slack times of a message may be configured into each network device according to different weights of each network device. For example, the number of network devices on the transmission path and the weight of each network device may be different (the weights of different network devices may be different, the weight may be set in advance by configuration), and the service flow is from the source to the destination. All slack time is configured on each network device on its transmission path.
  • the entire slack time of the message may be configured into each network device according to different weights and allocation coefficients of each network device.
  • the entire slack time of the service flow from the source to the destination can be configured at the source end, and then the number of network devices on the transmission path and the number of network devices on the transmission path can be used when the service flow is transmitted to each network device.
  • each network device arranged in the network device queue can consume time (distribution coefficient may be a current network device corresponding to the weight divided by the weight of all weights network devices on the transmission path and, That is, (1*W i )/ ⁇ i W i ), and the configuration result can be sent to the service flow state list of each network device on the transmission path.
  • the entire slack time portion of the service flow from the source to the destination can be configured at the source end (for example, the configuration policy can be used at the source end and nodes 1, 3, 5, 7 . . . ), and the service flow can be performed.
  • the rest of the slack time is configured on average in the remaining network devices on its transmission path (for example, the configuration policy can be used at nodes 2, 4, 6, 8).
  • the packet in the service flow reaches the network device on the transmission path, according to the configuration information in the status list corresponding to the service flow (for example, Table 1, Table 2, and Table 3), The order in which the packets are sent in the service flow and the time of transmission are controlled.
  • the configuration information in the status list corresponding to the service flow for example, Table 1, Table 2, and Table 3
  • step 230 the first network device enqueues the first packet to the first queue.
  • the configuration information of the first packet in the service flow state list of the first network device may be obtained. For example, the slack time that the first message configured by the controller in advance can be consumed in the queue of the first network device is obtained.
  • the first network device may control the sending order of the first packet and the sending time according to the slack time that the first packet can consume in the queue of the first network device.
  • the first packet processor in the first network device may be based on the enqueue time of the first packet and the first The message calculates the rank value of the first packet in the slack time that can be consumed by the first network device. The lower the rank value, the higher the priority of the message.
  • the first network device may determine the enqueue time of the first packet and the slack time that the first packet can consume in the first network device as the first timestamp of the first packet, where the first The timestamp can be used to indicate the latest time when the first message is dequeued from the first queue.
  • the network device may determine that the current time of the first packet is smaller than the first timestamp, and the network device may The queue is dequeued.
  • the first network device may calculate, according to the maximum duration of the first packet allowed to stay in the first queue and the enrollment time, before the packet is enqueued, the first packet is allowed to leave the first queue. Late timestamp.
  • the priority of the packets in the queue can be adaptively improved. For example, the enqueue message has the same slack time in the current network device, and the post-entry message has a higher rank value and a lower priority because the enqueue time is later. It can avoid performing multiple calculations on the maximum duration of the allowed stay of the message in the queue, reducing the number of calculations and reducing the complexity of implementation.
  • the first network device may enter the first packet into the first queue according to the first timestamp of the first packet, where the first queue may be an insertion-in first-out (push-in).
  • First-out, PIFO First-out queue.
  • the first packet processor in the first network device may use the first timestamp (for example, the rank value) of the first packet, and may use the first packet.
  • the text is inserted into a PIFO queue, and the message timestamps in the PIFO queue can be arranged in a monotonically increasing order from the head to the end of the queue.
  • the message in the queue may have the rank value calculated by the message, and may be queued in the PIFO queue in a monotonically increasing order from the head to the end of the packet according to the rank value of the message.
  • the post-entry packet can be inserted into the PIFO queue according to its rank value. For example, a message with a rank value of 7 (the first message) can be inserted into a message with a rank value of 6 (the second message) and a rank value according to the monotonically increasing order of the rank value from the head to the end of the queue. 8 between the messages (the third message).
  • the packets at the head of the PIFO queue have higher priority (the lower the rank, so the urgency is higher).
  • the packets can be dequeued from the queue in descending order according to the rank of the packets. .
  • the packet may be enqueued in a monotonically increasing order from the head of the packet to the end of the queue.
  • the second packet may be located in front of the first packet, and the third packet may be located behind the first packet.
  • the second packet may be dequeued from the queue before the first packet, and the first packet may be dequeued from the queue before the third packet.
  • the timestamp of the first packet may be inserted into the PIFO queue according to the timestamp of the packet in the queue from the head to the end of the queue, so that the packet is queued.
  • the real emergency message is sent preferentially, which further reduces the jitter of the message transmission delay.
  • the first network device dequeues the first packet from the first queue according to the maximum duration that the first packet is allowed to stay in the first queue.
  • the time when the network device can dequeue the first packet from the first queue is not later than the time when the first packet is enqueued to the first queue, and the first packet is in the first The sum of the longest durations allowed to stay in a queue.
  • the manner in which the first network device can dequeue the first packet according to the maximum duration that the first network device is allowed to stay according to the first embodiment of the present application is not specifically limited. As long as the dequeuing time of the first packet is smaller than the sum of the maximum duration of the first packet allowed to stay in the first queue and the enqueue time of the first packet. For example, the current time of the first packet and the maximum duration of the first packet allowed to stay in the first queue and the enrollment time of the first packet may be obtained from the clock circuit within a certain period of time.
  • the relationship between the first packet and the first packet can be the first packet if the current time of the first packet is less than the sum of the maximum duration of the first packet allowed in the first queue and the enqueue time of the first packet. A queue is out.
  • the first network device may determine, according to the configuration information that is configured in advance by the controller, that the first packet in the first service flow is allowed to consume the slack time in the queue of the first network device.
  • the first network device determines that there are multiple implementations of the slack time that the first packet is allowed to be consumed in the current network device, which is not specifically limited in this application.
  • the distributed slack (ds) time in the first service flow state list maintained in the first network device may be added, and may be added to the time in the time tag of the first packet, so that The added result is used as the slack time that the first message is allowed to consume in the queue of the first network device.
  • the remaining total slack time carried in the time tag sent by the first packet from the last network device may be used, and may be based on the allocation coefficient 1/N in the first service flow state list.
  • a portion of the total slack time can be used as the idle time (slack time*(1/N)) that can be consumed in the first network device in the first message.
  • the following describes the configuration information as a distribution coefficient as an example.
  • the communication system provided by the embodiment of the present application may include, for example, a second network device, a first network device, and a third network device.
  • the first network device and the third network device may be, for example, the network device 100 shown in FIG. 1.
  • the first network device and the third network device can be used to perform the method illustrated in FIG. 2.
  • the first message may arrive from the second network device to the destination network device via the first network device and the third network device.
  • the first time label may be carried.
  • the first time label may indicate the maximum duration of the first packet from leaving the second network device to reaching the destination device.
  • the first time label can be used to indicate the slack time remaining when the first message leaves the second network device.
  • the remaining slack time is a slack time allowed to be consumed in the forwarding device that the first packet needs to pass after leaving the second network device on the transmission path.
  • the first packet may carry the first time label to enter the first network device, and the first network device may determine the first timestamp of the first packet according to the first time label and the first allocation coefficient corresponding to the first packet.
  • the first timestamp can be used, for example, to indicate the latest time when the first packet is allowed to be dequeued from the first queue.
  • the first timestamp of the first packet and the first time label and the first allocation coefficient satisfy the following relationship. formula:
  • Time stamp 1 t 1 +f 1 ⁇ T 1
  • the time stamp 1 can be used to indicate the first timestamp of the first packet, and the first timestamp can be used, for example, to indicate the latest time when the first packet is allowed to be dequeued from the first queue.
  • T 1 may be used to indicate the time when the first packet is enqueued to the first queue in the first network device (see t 1 in FIG. 1 );
  • f 1 may be used to represent the first coefficient distribution corresponding to a first packet traffic flow in the first header, a first distribution coefficient can be configured in advance, for example, by the controller;
  • T 1 may be used to represent a first packet a first time when the tag enters a first network device carried.
  • the second time label when the first packet is dequeued from the first queue in the first network device, the second time label may be carried, and the second time label may replace the first time label, for example.
  • the second time stamp can be used to indicate the maximum duration of the first message from leaving the first network device to reaching the destination device.
  • the second time label may be used to indicate the slack time remaining when the first packet leaves the first network device.
  • the remaining slack time is a slack time allowed to be consumed in the forwarding device that the first packet needs to pass after leaving the first network device on the transmission path.
  • the processor may determine the second time label of the first packet according to the first timestamp, the dequeue time of the first packet, and the first allocation coefficient.
  • the processor may be, for example, the second message processor 15 in FIG. 1, and the following variables may be satisfied between the variables:
  • Time stamp 2 Time stamp 1 -t 2 +(1-f 1 ) ⁇ T 1
  • the Time stamp 2 can be used to indicate a second time label of the first packet.
  • t 2 can be used to indicate when the first message is dequeued from the first queue (for example, see t 2 in FIG. 1).
  • the second time label calculated above may be carried.
  • the first packet is configured to calculate a second timestamp of the first packet according to the second time label and the second allocation coefficient of the first packet in the third network device, where the second timestamp is It is used to indicate the latest time that the first message can be allowed to leave the queue in the third network device.
  • the first packet satisfies the following formula between the second allocation coefficient, the second time label, and the second timestamp in the third network device:
  • Time stamp 3 t 3 +f 2 ⁇ Time stamp 2
  • the time stamp 2 may be used to indicate that the first packet leaves the first network device and enters a second time label carried by the third network device.
  • t 3 may be used to indicate the time when the first packet is enqueued to the second queue in the third network device;
  • And f 2 may be used to indicate the second allocation coefficient corresponding to the first packet in the third network device
  • the time stamp 3 can be used to indicate a second timestamp of the first message in the third network device.
  • the corresponding second allocation coefficient of the first packet in the third network device is smaller than the corresponding first allocation coefficient of the first packet in the first network device. That is to say, when the first packet passes through the network device on the transmission path, the allocation coefficient corresponding to the first packet can be sequentially decreased.
  • the allocation coefficient of the destination device on the transmission path may be one.
  • FIG. 6 is a schematic flowchart of calculating a slack time of a packet according to an embodiment of the present application.
  • the flow of Figure 6 can include steps 610-690, which are described in detail below.
  • Slack time 1 The idle time, which can be used to indicate the remaining idle time of the previous network node recorded in the time label carried in the packet A;
  • Slack time 2 idle time, which can be used to indicate the idle time that packet A can consume in the current network device;
  • Ds distributed slack time, which can be used to indicate that the controller is allowed to consume idle time configured in the current network device of the packet;
  • a distribution coefficient which can be used to indicate that the controller allocates a free time for the idle time configured in the current network device of the message.
  • step 610 the message A in the service flow is input, and the time tag carried in the message A records the slack time 1 remaining in the previous network node.
  • the message A Before the incoming message enters the network from the source, the message A can be initialized at the source end by slack time.
  • the slack time of the packet A is initialized into the time stamp of the packet according to the configuration information corresponding to the service flow in which the packet A is located. If the configuration information of the packet A is the distributed idle time ds, the initial value of the slack time of the packet A may be 0. At this time, all the slack times of the message A can be configured in each network device on the transmission path. If the configuration information of the message A is the allocation coefficient f, the initial value of the idle time of the message A may be all slack time. At this time, all the slack time of the packet A can be configured at the source end. When the packet A arrives at each network device on the transmission path, the packet A can calculate the slack time allowed for the packet A to be consumed in the current network device according to the allocation coefficient f. .
  • step 620 slack time 1 in the time stamp of message A is read.
  • the slack time 1 in the time stamp of the message A may be the idle time remaining when leaving the previous network device.
  • step 630 the configuration information in each flow state list corresponding to the message A is read.
  • the configuration information corresponding to the packet A may be a distributed idle time ds or a distribution coefficient f.
  • step 640 it is determined whether the configuration information of the message A in the current network device is the idle time ds.
  • steps 650-660 may be performed. If the configuration information of the packet A in the current network device is the allocation coefficient f, steps 670-680 may be performed.
  • step 650 the idle time ds configured in each flow state list corresponding to the message A is read.
  • step 670 the allocation coefficient f configured in each flow state list corresponding to the message A is read.
  • step 690 the packet A is output with a time tag, the packet A packet may carry slacktime A network device in the current consumed can be queued into the queue waiting to be scheduled 2.
  • FIG. 7 is a schematic flowchart of slack time 2 for calculating a packet dequeuing according to an embodiment of the present application.
  • the flow of Figure 7 can include steps 710-780, which are described in detail below.
  • Slack time 3 idle time, which can be used to indicate the idle time remaining when packet A leaves the current network device.
  • step 710 a message A with a slack time 2 and a rank value is entered.
  • the input message A may be the message A outputted in step 690 in FIG. 6.
  • the message A may carry the slack time 2 allowed in the current network device, and the rank value of the message A in the current network device.
  • step 720 the configuration information in each flow state list corresponding to the message A is read.
  • the configuration information corresponding to the packet A may be a distributed idle time ds or a distribution coefficient f.
  • step 730 the idle time ds of the packet A configured in the current network device is obtained.
  • step 740 may be performed. If the configuration information of the packet A in the current network device is the allocation coefficient f, steps 750-760 may be performed.
  • step 740 the slack time 3 remaining when the message A is dequeued is calculated.
  • step 750 the allocation coefficient f configured in each flow state list corresponding to the message A is read.
  • step 760 the slack time 3 remaining when A is dequeued is calculated.
  • step 770 the time stamp of message A is updated according to slack time 3 calculated in step 760.
  • a message A with a time stamp is output, which can be used to indicate the slack time 3 remaining when the message A leaves the current network device, and the remaining slack time 3 is the message A on the transmission path.
  • the idle time allowed to be consumed in the forwarding device that needs to pass after leaving the first network device.
  • the method for scheduling a message provided by the embodiment of the present application is described in detail above with reference to FIG. 2 to FIG. 7.
  • the network device provided by the embodiment of the present application is described in detail below with reference to FIG.
  • FIG. 8 is a schematic structural diagram of a first network device according to an embodiment of the present application.
  • the first network device 800 in FIG. 8 can perform the method of scheduling messages described in any of the embodiments of FIG. 2-7.
  • the first network device 800 can be the network device 100 shown in FIG.
  • the first network device 800 in FIG. 8 may include an input interface 810, a first processing unit 820, a traffic management unit 830, and an output interface 840.
  • the input interface 810 can be, for example, the input port 110 in FIG.
  • the first processing unit 820 can be, for example, the first message processor 120 of FIG.
  • the traffic management unit 830 may be composed of, for example, at least one of the first message processor 120, the traffic manager 130, and the second message processor 150 in FIG.
  • Output interface 830 can be, for example, output port 160 in FIG.
  • the input interface 810 can be configured to receive the first message in the first service flow from the second network device.
  • the first processing unit 820 is configured to determine, according to the configuration information of the first service flow, a maximum duration allowed to stay in the first queue of the first packet.
  • the traffic management unit 830 can be configured to enqueue the first packet to the first queue.
  • the traffic management unit 830 is further configured to: dequeue the first packet from the first queue according to a first maximum duration that the first packet is allowed to stay in the first queue, where The time when the first network device dequeues the first packet from the first queue is not later than the time when the first packet is enqueued to the first queue, and the first packet is in the The sum of the first longest durations allowed to stay in the first queue.
  • the output interface 840 can be configured to send the first packet in the first service flow to the third network device, where the third network device can be located in the next hop of the first network device.
  • the computer program product includes one or more computer instructions.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be from a website site, computer, server or data center Transmission to another website site, computer, server or data center via wired (eg coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (eg infrared, wireless, microwave, etc.).
  • the computer readable storage medium can be any available media that can be accessed by a computer or a data storage device such as a server, data center, or the like that includes one or more available media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a digital video disc (DVD)), or a semiconductor medium (such as a solid state disk (SSD)).
  • a magnetic medium for example, a floppy disk, a hard disk, a magnetic tape
  • an optical medium such as a digital video disc (DVD)
  • a semiconductor medium such as a solid state disk (SSD)
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the functions may be stored in a computer readable storage medium if implemented in the form of a software functional unit and sold or used as a standalone product.
  • the technical solution of the present application which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
  • the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present application.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program code. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

La présente invention concerne un procédé de planification de paquet, un premier dispositif de réseau et un support de stockage lisible par ordinateur. Le procédé comprend les étapes suivantes : un premier dispositif de réseau reçoit, en provenance d'un second dispositif de réseau, un premier paquet dans un premier flux de service ; le premier dispositif de réseau détermine, selon des informations de configuration du premier flux de service, une durée maximale pendant laquelle le premier paquet est autorisé à rester dans une première file d'attente ; le premier dispositif de réseau ajoute le premier paquet à la première file d'attente ; et le premier dispositif de réseau retire le premier paquet de la première file d'attente selon la durée maximale pendant laquelle le premier paquet est autorisé à rester dans la première file d'attente. La solution technique fournie par la présente invention peut commander à l'avance la durée maximale pendant laquelle un paquet est autorisé à rester dans une file d'attente de dispositif de réseau sur l'ensemble de la liaison de transmission, et peut équilibrer la distribution de retard du paquet, ce qui permet de réduire la gigue de retard du paquet.
PCT/CN2019/074226 2018-02-14 2019-01-31 Procédé de planification de paquet, premier dispositif de réseau et support de stockage lisible par ordinateur WO2019157978A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810152272.1A CN110166380B (zh) 2018-02-14 2018-02-14 调度报文的方法、第一网络设备及计算机可读存储介质
CN201810152272.1 2018-02-14

Publications (1)

Publication Number Publication Date
WO2019157978A1 true WO2019157978A1 (fr) 2019-08-22

Family

ID=67618537

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/074226 WO2019157978A1 (fr) 2018-02-14 2019-01-31 Procédé de planification de paquet, premier dispositif de réseau et support de stockage lisible par ordinateur

Country Status (2)

Country Link
CN (1) CN110166380B (fr)
WO (1) WO2019157978A1 (fr)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111669334A (zh) * 2020-05-15 2020-09-15 南京南瑞继保电气有限公司 流量控制方法、装置、设备及计算机可读存储介质
CN112448896A (zh) * 2019-08-30 2021-03-05 华为技术有限公司 确定性网络中的发送周期的确定方法和装置
WO2022222242A1 (fr) * 2021-04-21 2022-10-27 鹏城实验室 Procédé et appareil de transfert de message sur réseau sensible au temps, terminal et support de stockage
EP4184872A4 (fr) * 2020-07-31 2024-01-10 Huawei Tech Co Ltd Procédé appareil et dispositif de transmission de messages, et support de stockage lisible

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110768915A (zh) * 2019-10-31 2020-02-07 杭州迪普科技股份有限公司 一种分流方法及装置
EP4072084A4 (fr) * 2019-12-25 2022-12-28 Huawei Technologies Co., Ltd. Procédé de mise en mémoire tampon de messages, système de circuit intégré et support de stockage
CN111585895B (zh) * 2020-05-12 2021-11-09 北京交通大学 无需时间同步的时间触发的数据传输方法
CN114448903A (zh) * 2020-10-20 2022-05-06 华为技术有限公司 一种报文处理方法、装置和通信设备
CN114244852B (zh) * 2021-11-09 2024-01-30 北京罗克维尔斯科技有限公司 数据传输方法、装置、设备及存储介质
CN116436863A (zh) * 2022-01-04 2023-07-14 中兴通讯股份有限公司 报文调度方法、网络设备、存储介质及计算机程序产品
CN116614450A (zh) * 2022-02-09 2023-08-18 华为技术有限公司 报文转发方法、计算机设备、存储介质、程序产品及芯片
CN117768409A (zh) * 2022-09-16 2024-03-26 中兴通讯股份有限公司 报文调度方法、网络设备、存储介质及计算机程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030115609A1 (en) * 2001-09-12 2003-06-19 James Frederickson Efficient software bitstream rate generator for video server
US6882625B2 (en) * 2000-12-14 2005-04-19 Nokia Networks Oy Method for scheduling packetized data traffic
CN1859263A (zh) * 2005-11-16 2006-11-08 华为技术有限公司 信元重排序方法、使用该方法的信元处理方法及装置
US9641412B2 (en) * 2014-03-27 2017-05-02 Electronics And Telecommunications Research Institute Method and apparatus for guaranteeing traffic quality of communication module in wireless communication system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250197B2 (en) * 2008-10-28 2012-08-21 Vmware, Inc. Quality of service management
US9112820B2 (en) * 2012-07-31 2015-08-18 Hewlett-Packard Development Company, L.P. Delay queues based on delay remaining
CN103036806B (zh) * 2012-10-30 2016-12-21 武汉大学 一种基于动态索引的按需数据广播调度方法
CN104038966B (zh) * 2013-03-05 2018-03-09 华为技术有限公司 长期演进网络下数据流调度方法及其装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6882625B2 (en) * 2000-12-14 2005-04-19 Nokia Networks Oy Method for scheduling packetized data traffic
US20030115609A1 (en) * 2001-09-12 2003-06-19 James Frederickson Efficient software bitstream rate generator for video server
CN1859263A (zh) * 2005-11-16 2006-11-08 华为技术有限公司 信元重排序方法、使用该方法的信元处理方法及装置
US9641412B2 (en) * 2014-03-27 2017-05-02 Electronics And Telecommunications Research Institute Method and apparatus for guaranteeing traffic quality of communication module in wireless communication system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112448896A (zh) * 2019-08-30 2021-03-05 华为技术有限公司 确定性网络中的发送周期的确定方法和装置
US11677670B2 (en) 2019-08-30 2023-06-13 Huawei Technologies Co., Ltd. Method for determining sending period in deterministic network and apparatus
CN112448896B (zh) * 2019-08-30 2024-04-30 华为技术有限公司 确定性网络中的发送周期的确定方法和装置
CN111669334A (zh) * 2020-05-15 2020-09-15 南京南瑞继保电气有限公司 流量控制方法、装置、设备及计算机可读存储介质
EP4184872A4 (fr) * 2020-07-31 2024-01-10 Huawei Tech Co Ltd Procédé appareil et dispositif de transmission de messages, et support de stockage lisible
WO2022222242A1 (fr) * 2021-04-21 2022-10-27 鹏城实验室 Procédé et appareil de transfert de message sur réseau sensible au temps, terminal et support de stockage

Also Published As

Publication number Publication date
CN110166380B (zh) 2022-08-19
CN110166380A (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
WO2019157978A1 (fr) Procédé de planification de paquet, premier dispositif de réseau et support de stockage lisible par ordinateur
US11316795B2 (en) Network flow control method and network device
US10178053B2 (en) Programmable broadband gateway hierarchical output queueing
US7701849B1 (en) Flow-based queuing of network traffic
US8693489B2 (en) Hierarchical profiled scheduling and shaping
US7738375B1 (en) Shared shaping of network traffic
WO2019184925A1 (fr) Procédé d'envoi de message, nœud de réseau et système
US9608927B2 (en) Packet exchanging device, transmission apparatus, and packet scheduling method
US20060291495A1 (en) Hardware self-sorting scheduling queue
WO2019127597A1 (fr) Procédé, dispositif et système d'envoi de message
US20040100967A1 (en) System and method for scheduling data traffic flows for a communication device
WO2019214561A1 (fr) Procédé d'envoi de paquet, nœud de réseau, et système
EP3836498B1 (fr) Combinaison de file d'attente d'entrée et de sortie de transfert de paquets dans des dispositifs de réseau
CN110086728B (zh) 发送报文的方法、第一网络设备及计算机可读存储介质
Hua et al. Scheduling design and analysis for end-to-end heterogeneous flows in an avionics network
US7554919B1 (en) Systems and methods for improving packet scheduling accuracy
KR101737516B1 (ko) 공평한 대역 할당 기반 패킷 스케줄링 방법 및 장치
CN108989233B (zh) 拥塞管理方法及装置
US11108697B2 (en) Technologies for controlling jitter at network packet egress
EP2063580B1 (fr) Planificateur de faible complexité avec partage de processeur généralisé GPS comme une performance de programmation
KR20170101537A (ko) 무선 채널을 공유하는 무선 네트워크에서의 동적 큐 관리 방법 및 통신 노드
CN115643220A (zh) 基于抖动时延的确定性业务传输方法和装置
US11146485B1 (en) Time sensitive network programming
JP2012060203A (ja) 帯域制御方法及び帯域制御装置
US8159944B2 (en) Time based queuing

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19753874

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19753874

Country of ref document: EP

Kind code of ref document: A1