WO2019080866A1 - 数据传输方法、设备及计算机存储介质 - Google Patents

数据传输方法、设备及计算机存储介质

Info

Publication number
WO2019080866A1
WO2019080866A1 PCT/CN2018/111632 CN2018111632W WO2019080866A1 WO 2019080866 A1 WO2019080866 A1 WO 2019080866A1 CN 2018111632 W CN2018111632 W CN 2018111632W WO 2019080866 A1 WO2019080866 A1 WO 2019080866A1
Authority
WO
WIPO (PCT)
Prior art keywords
mode
data
transmission
condition
congestion
Prior art date
Application number
PCT/CN2018/111632
Other languages
English (en)
French (fr)
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 华为技术有限公司
Priority to EP18869868.2A priority Critical patent/EP3694164B1/en
Publication of WO2019080866A1 publication Critical patent/WO2019080866A1/zh
Priority to US16/856,951 priority patent/US11165705B2/en

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/11Identifying congestion
    • H04L47/115Identifying congestion using a dedicated packet
    • 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/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/58Changing or combining different scheduling modes, e.g. multimode scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • 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/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a data transmission method, device, and computer storage medium.
  • the Data Center Network is a network that is applied to data centers that require high throughput and low latency requirements.
  • the throughput and delay of the network are two mutually constrained indicators.
  • Figure 1 shows the impact of network load on throughput and delay, respectively.
  • the network throughput increases with the increase of the load, and the delay also increases.
  • the network throughput decreases rapidly with the increase of the load.
  • the ground delay has also grown rapidly.
  • the purpose of data transmission (ie, network traffic) control in DCN is to have large throughput and small delay.
  • the prior art proposes two schemes for implementing control of data transmission, namely: the first scheme is a data transmission method based on passive flow control. Specifically, the source node pushes data to the destination node by means of active push. When the network is congested, the source node receives feedback to start limiting the data transmission to the target node; the delay of this method is low, but only after the network is congested. Control, throughput is reduced and data loss is easy to occur.
  • the first scheme is a data transmission method based on passive flow control.
  • the source node pushes data to the destination node by means of active push.
  • the source node receives feedback to start limiting the data transmission to the target node; the delay of this method is low, but only after the network is congested. Control, throughput is reduced and data loss is easy to occur.
  • the second scheme is a data transmission method based on active flow control.
  • the source node pushes data to the destination node by using a push-pull method.
  • Pulling means that before the source node sends data to the destination node, it needs to request the data sending amount from the destination node first, and the destination node feeds back the amount of data that can be sent to the source node.
  • Push means that after receiving the amount of data fed back by the destination node, the source node can send data to the destination node according to the authorized data volume; this method has a negotiation process of "pulling" the request response, which increases the network delay. Therefore, this application needs to propose a reasonable data transmission control scheme.
  • the embodiment of the invention discloses a data transmission method, a device and a computer storage medium, which can achieve both high network throughput and low latency.
  • an embodiment of the present invention provides a data transmission method, where the method includes:
  • the first device acquires a congestion status of the transmission port, where the transmission port is a communication port used by the first device when the second device transmits data to the first device, and the congestion status is used to indicate the transmission port Whether data congestion occurs;
  • indication information is used to indicate a transmission mode used when the second device transmits data, so that the second device is used.
  • Data is transmitted to the first device using a switched transmission mode, the mode switching condition being associated with a congestion status of the transmission port.
  • the mode switching condition is a first condition or a second condition, where
  • the first condition includes: the congestion status is used to indicate that data congestion occurs in the transmission port, and the pre-stored transmission mode in the first device is a first mode, where the first mode is used to indicate the The second device transmits data to the first device by using a push mode;
  • the second condition includes: the congestion status is used to indicate that the transmission port does not have data congestion, and the pre-stored transmission mode in the first device is a second mode, and the second mode is used to indicate the The two devices transmit data to the first device by using a push-pull method.
  • the indication information is used to instruct the second device to switch the transmission mode from the first mode to the second mode, to adopt the first The pull mode indicated by the second mode transmits data to the first device;
  • the indication information is used to instruct the second device to switch the transmission mode from the second mode to the first mode, to adopt the The push mode indicated by a mode transmits data to the first device.
  • the congestion status of the transmission port is determined according to the length of the data queue at the transmission port.
  • the congestion status of the transmission port is determined according to a transmission rate of the data queue and a length of the data queue collected at a first sampling moment, where a transmission rate of the data queue And determining, according to the length of the data queue collected by the first sampling moment and the length of the data queue collected by the second sampling moment, the second sampling moment is prior to the first sampling moment.
  • the method further includes: synchronously updating the transmission mode pre-stored in the first device.
  • the method further includes: recording mode identification information, where the mode identification information includes each of the plurality of second devices, and the first The identifier information corresponding to the transmission mode used by the device for data transmission, so that the first device learns whether the indication information is currently sent to the target device according to the mode identification information, where the target device is the multiple The device in the second device.
  • an embodiment of the present invention provides a data transmission method, where the method includes:
  • the mode switching condition is associated with a congestion state of the transmission port, where the transmission port is a communication port used by the first device when the second device transmits data to the first device.
  • the congestion status is used to indicate whether data congestion occurs in the transmission port;
  • the mode switching condition is a first condition or a second condition, where
  • the first condition includes: the congestion status is used to indicate that data congestion occurs in the transmission port, and the pre-stored transmission mode in the first device is a first mode, where the first mode is used to indicate the The second device transmits data to the first device by using a push mode;
  • the second condition includes: the congestion status is used to indicate that the transmission port does not have data congestion, and the pre-stored transmission mode in the first device is a second mode, and the second mode is used to indicate the The two devices transmit data to the first device by using a push-pull method.
  • the indication information is used to instruct the second device to switch the transmission mode from the first mode to the first a mode of transmitting data to the first device by using a push-pull manner indicated by the second mode;
  • the indication information is used to instruct the second device to switch the transmission mode from the second mode to the first mode, to adopt the The push mode indicated by a mode transmits data to the first device.
  • the method further includes: synchronously updating the transmission mode pre-stored in the second device.
  • an embodiment of the present invention provides a network device, including a functional unit for performing the method of the above first aspect.
  • an embodiment of the present invention provides a network device, including a functional unit for performing the method of the foregoing second aspect.
  • an embodiment of the present invention provides a network device, including a memory, a communication interface, and a processor coupled to the memory and a communication interface, where the memory is used to store an instruction, and the processor is configured to execute the instruction.
  • the communication interface is configured to communicate with other devices under control of the processor; wherein the processor executes the instructions to perform the method described in the first aspect above.
  • an embodiment of the present invention provides a network device, including a memory, a communication interface, and a processor coupled to the memory and a communication interface; the memory is configured to store an instruction, and the processor is configured to execute the instruction.
  • the communication interface is configured to communicate with other devices under the control of the processor; wherein the processor executes the instructions to perform the method described in the second aspect above.
  • a computer readable storage medium storing program code for mail transmission.
  • the program code includes instructions for performing the method described in the first aspect above.
  • a computer readable storage medium storing program code for mail transmission.
  • the program code includes instructions for performing the method described in the second aspect above.
  • a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method described in the first aspect above.
  • a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method described in the second aspect above.
  • the performance of achieving high network throughput and low latency can be achieved.
  • FIG. 1 is a schematic diagram of a network performance indicator provided by the prior art
  • FIG. 2 is a schematic diagram of a scenario of active flow control provided by the prior art
  • 3A-3B are schematic diagrams of other two active flow control scenarios provided by the prior art.
  • FIG. 4 is a schematic diagram of a network frame provided by an implementation of the present invention.
  • FIG. 5 is a schematic flowchart of a data transmission method according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of a scenario of a data queue according to an embodiment of the present disclosure.
  • FIG. 7A is a schematic structural diagram of a network device according to an embodiment of the present invention.
  • FIG. 7B is a schematic structural diagram of still another network device according to an embodiment of the present invention.
  • the inventors of the present application found in the process of proposing the present application that the goal of the DCN network is to meet both high throughput and low latency requirements.
  • common flow control ie, data transmission control
  • active flow control When the application is in a network device (specifically, a network intermediate device, such as a router), the first network indicator pursued is high throughput, and network congestion is not allowed to occur, and the flow control method adopted by the network device is
  • the active flow control method has the following two implementations.
  • a request packet request (illustrated as req) is sent to the destination node, and the request packet carries the amount of data requested to be sent.
  • the destination node may determine, according to its own network rate and/or the buffer capacity of the buffer buffer, the amount of authorized data (ie, the amount of data that can be sent) that can be authorized to each source node, and is encapsulated in the authorization.
  • the response packet (shown as Gnt) is fed back to the corresponding source node.
  • the source node when receiving the feedback authorized data volume, the source node may start to send data to the destination node, and specifically, the data volume register may be used to count the amount of data sent and the remaining available data.
  • the source node may send the request packet to the destination node again, and add the authorized data amount received by the destination node to the data volume register. This is repeated so that the source node has the ability to send data to the destination node without congestion.
  • the network delay is increased. To solve this problem, the following second scheme is proposed.
  • the Network Congestion Avoidance Through Speculative Reservation is an active traffic control protocol proposed by the DCN.
  • the source node and destination node resource reservation negotiation can be used to avoid network congestion.
  • FIG. 3A and FIG. 3B a schematic diagram of a transmission and reception scenario of the SPR protocol is shown.
  • FIG. 3A shows a schematic diagram of transmission and reception of data transmission without congestion
  • FIG. 3B shows a schematic diagram of transmission and reception of data transmission when congestion occurs.
  • R(n) refers to a resource request packet with high priority
  • n is the number of data packets to be sent (ie, the amount of data requested).
  • the request packet R(n) needs to be sent to the destination node, and the data packet is started to be pushed, specifically, the data packets P1 and P2 in FIG. 3A.
  • packet loss may occur due to network congestion. Therefore, when the pushed data packet arrives at the destination node, the destination node needs to feed back the authorization packet G(ts), where ts specifies the start time of the source node to send the packet.
  • the source node after receiving the authorization packet G(ts), the source node stops pushing the data packet, and starts n data packets from the ts to the destination node, specifically as shown in the figure P3 to Pn.
  • This process is repeated when the request packet R(n) has been sent.
  • the data packet in the transmission process generates a packet loss in the network, and accordingly, the destination node needs to return a NACK response packet (shown as N1) to the source node.
  • the source node receives the NACK response packet N1, it stops pushing the data packet to the destination node.
  • n data packets can be sent from the discarded data packet to the destination node, as shown in the figure P1 to Pn.
  • the present application proposes a scheme of switching back and forth between active flow control and passive flow control, and fully utilizes the respective performance advantages of active flow control and passive flow control to achieve high throughput and low latency performance at the same time.
  • the network architecture diagram includes a source node and a destination node.
  • an intermediate node may also be included.
  • the number of various nodes is not limited in the present invention.
  • the illustration shows two source nodes, one intermediate node, and n destination nodes, where n is a positive integer.
  • the destination node may also be an intermediate node, including but not limited to a network device and a terminal device.
  • the network device may be an intermediate device such as a router or a switch, or may be an endpoint device such as a network card.
  • the terminal device includes but is not limited to a user terminal, a smart phone (such as an Android phone, an IOS phone, etc.), a personal computer, a tablet computer, a palmtop computer, a mobile Internet device (MID, Mobile Internet Devices), or a wearable smart device.
  • the embodiment of the invention is not limited.
  • the source node may also be a network device or a terminal device, which is not limited by the present invention.
  • the data is processed based on a queuing mechanism.
  • the source node side can establish an independent virtual output FIFO (VOQ) queue according to the destination node (or the last level switching device) where the data arrives.
  • VOQ virtual output FIFO
  • the switch TOR is connected to n host servers, and each VOQ queue is connected.
  • the VOQ queue can be statically created according to the destination host, that is, one VOQ queue corresponds to one host.
  • resources are not allowed, according to the local characteristics of communication, it is impossible for one source node to communicate with all nodes at the same time. Therefore, VOQ queues can be dynamically created according to requirements, that is, one VOQ queue can correspond to multiple hosts.
  • the TOR can receive data packets (or request packets) sent by multiple source nodes.
  • the data packet is a request packet (ie, in an active flow control mode)
  • the TOR may feed back the corresponding authorized data amount to the source node according to its own network rate and the buffer amount of the buffer buffer. It should be understood that the TOR can receive the data packets sent by the various source nodes, which is limited by the rate between the TOR and the host, which may cause the TOR buffer to gradually accumulate, which will invalidate the advantages of the active flow control mode.
  • a scheduling module (shown as a Scheduler module) is disposed on the source node side.
  • the scheduling module is configured to match and schedule data according to a transmission mode sent by the destination node to be sent to the destination node.
  • the transmission mode refers to a mode used when data is transmitted between a source node and a destination node, and the modes include, but are not limited to, a first mode (passive flow control mode) and a second mode (active flow control mode).
  • the destination node or intermediate node side, which are a first module, a second module, and a third module, respectively.
  • the first module (Src2DstTable function module) is configured to receive a data packet sent by the source node, establish a mapping relationship between the source node and the destination node, and store the mapping relationship, for example, stored in the Src2DstTable.
  • the destination node may be multiple, such as all destination hosts connected to the same intermediate node TOR.
  • the first module may also record a transmission mode used when data is transmitted between the active node and the destination node.
  • a transmission mode used when data is transmitted between the active node and the destination node.
  • the first module may also be configured with mode identification information, where the mode identifier information is used to indicate whether the first device sends the second device to indicate that the transmission mode is switched to The indication information of the second mode.
  • the transmission mode includes the first mode and the second mode
  • the mode identification information may be represented by a preset character string, a preset character, or the like. For example, when the mode identifier information is “0”, it indicates that the first device sends, to the second device, indication information indicating that the transmission mode is switched from the first mode to the second mode; accordingly, when The mode identifier information is “1”, which indicates that the first device sends indication information indicating that the transmission mode is switched from the second mode to the first mode to the second device, which is specifically described below. .
  • the second module (CongestionDetect function module) is configured to detect/monitor the congestion status of each transmission port, and the transmission port may also be referred to as a downlink port, which refers to a port used by the source node to send data to the destination node; or, if present In the case of the intermediate node TOR, the transmission port refers to a port between the intermediate node and the destination node; and the congestion state is used to indicate whether data congestion occurs in the transmission port.
  • the third module (ActiveFlowControl function module) is configured to automatically adjust the transmission mode recorded in the first module according to the monitored congestion status of the transmission port, and implement mutual switching between transmission modes, specifically in the following Carry out the details.
  • FIG. 5 is a schematic flowchart of a data transmission method according to an embodiment of the present invention.
  • the method as described in FIG. 5 may include the following steps:
  • Step S102 The first device acquires a congestion status of the transmission port, where the transmission port is a communication port used by the first device when the second device transmits data to the first device, and the congestion status is used to indicate the location Whether the data is congested on the transmission port.
  • Step S104 If the mode switching condition is met, send the indication information to the second device, where the indication information is used to indicate a transmission mode used when the second device transmits data, so that the The second device transmits data to the first device by using a switched transmission mode, where the mode switching condition is associated with a congestion state of the transmission port.
  • the transmission mode refers to a mode used by the second device to transmit data to the first device, where the mode includes but is not limited to the first mode (passive flow control mode) and the second mode (active flow control mode) .
  • the passive flow control mode means that the transmitting end sends data to the receiving end by using a push mode
  • the active flow control mode means that the sending end sends data to the receiving end by using a push-pull mode
  • the passive flow control mode and the active refer to the related descriptions in the foregoing active flow control method and passive flow control method, and details are not described herein again.
  • the first device and the second device may be network devices, where the first device may be an intermediate network device (such as a switch, a router) or an endpoint network device (such as a network card), and the first device And the number of the second device, the invention is not limited.
  • the following is a detailed description of the related content by taking the first device as an intermediate network device (switch) as an example.
  • step S102 when the first device is an intermediate network device (such as a switch), the second device transmits data to the destination device by using the first device. Accordingly, the first device can receive the data and then forward it to the destination device.
  • the first device may detect a congestion status of a communication port between the device and the destination device.
  • the second device may directly send data to the first device, and the first device may detect the data used by the device and the second device for data transmission. Congestion status of the communication interface. Therefore, the first device adjusts a transmission mode used when data transmission between devices is performed according to a congestion state of the port, and implements a performance index of high throughput and low latency while performing network data transmission.
  • the first device may determine whether the mode switching condition is currently met, and if yes, send the indication information to the second device.
  • the indication information is used to indicate that the transmission mode of the second device is switched to the target mode, so that the subsequent second device sends the data to the first device by using the target mode.
  • the mode switching condition is preset by the user side or the terminal device side, and the mode switching condition is associated with the congestion state of the transmission port.
  • the second device starts to transmit to the destination node (such as host0) through the first device by using the first mode (passive flow control mode).
  • the first mode passive flow control mode
  • the second device may create and save an association relationship between the second device and multiple destination nodes.
  • the second device may also record a transmission mode used when the second device transmits data between each of the plurality of target nodes.
  • the first device is of course included in the plurality of destination nodes.
  • Table 1 below shows a data table stored in one source node.
  • the source node and a plurality of destination nodes supporting communication with the source node are shown, and an end to end flow control (E2EFC_MODE) used between the source node and each destination node is given.
  • E2EFC_MODE end to end flow control
  • the transmission mode used by the data transmission between the plurality of source nodes and the destination node (host0) can of course be stored on the first device side.
  • the transmission mode of the transmission port under the first device is initialized to a first mode, that is, all source nodes connected to the destination node host0 are in a push mode to transmit data.
  • Table 2 below shows a data table stored in the first device.
  • the first device records the transmission mode used when data transmission is performed between each destination node and each of the corresponding multiple source nodes, and Table 2 only shows the case where the first mode "0" is used. .
  • mode identification information corresponding to multiple source nodes respectively connected to each destination node may be recorded in the first device, where the mode identifier information is used to indicate whether each source node is The destination node (such as host0) sends indication information indicating that the transmission mode is switched from the first mode to the second mode, that is, the mode identification information is used to indicate whether to switch to the second mode to transmit data on the source node side. .
  • Table 3 shows a data table between a plurality of source nodes and a plurality of destination nodes, wherein the data table of the top layer is mode identification information corresponding to each of the plurality of source nodes (SRCIDs) connected to the destination node Host0 (ie, Pull_EN).
  • SRCIDs mode identification information corresponding to each of the plurality of source nodes
  • Host0 is used as an example, and the mode identifier information corresponding to the source node 0, the source node 3, the source node 9, and the source node m currently communicating with the host 0 is used to indicate the current source node and The transmission mode adopted by the destination node data transmission; similarly, the mode identification information may also be used to determine whether the first device (or the destination node) communicates with the destination node when the mode switching occurs (ie, the mode switching condition is satisfied)
  • a plurality of source nodes send indication information indicating a handover transmission mode.
  • step S104 Two specific embodiments involved in step S104 are described below.
  • the source node transmits data to the destination node by using the first mode (push mode); accordingly, the destination node receives the data packet and records between the source node and the destination node.
  • the mode switching condition may be a first condition, where the first condition includes: the congestion state is used to indicate that data congestion occurs in the transmission port, and a pre-stored transmission mode in the first device is a first mode, The first mode is configured to instruct the second device to transmit data to the first device by using a push mode.
  • the second device uses the first mode to transmit data to the first device, and the first device side records the first mode used for starting data transmission, and determines the congestion status of the current transmission port. Indicates whether data congestion has occurred on the transmission port. If the congestion status is used to indicate that data congestion occurs on the transmission port, the first device sends indication information to the second device, where the indication information is used to indicate that the second device uses the transmission mode from the first A mode is switched to the second mode, so that the second device subsequently transmits data to the first device according to the second mode (push-pull mode).
  • the first device may also synchronously update a transmission mode of the second device recorded in the first device to a second mode.
  • the second device still sends data to the first device in the first mode, and the process may be ended.
  • the source node sends data to the destination node by using the second mode (pull push mode); accordingly, the destination node receives the data packet, and records the source node and the destination node. Information about the mapping relationship between the data, the transmission mode used to transmit the data, and so on. Further, it is also possible to detect the congestion state of the transmission port used when the destination node communicates, and determine whether the mode switching condition is satisfied. When the mode switching condition is satisfied, the indication information is sent to the second device.
  • the second mode pulse push mode
  • the mode switching condition may be a second condition, where the second condition includes: the congestion status is used to indicate that data congestion does not occur in the transmission port, and the pre-stored transmission mode in the first device is a second mode, The first mode is used to indicate that the second device uses a push-pull manner to transmit data to the first device.
  • the second device uses the second mode to transmit data to the first device as an example, and the second mode used to start data transmission is recorded on the first device side, and the congestion state of the current transmission port is determined. Indicates whether data congestion has occurred on the transmission port. If the congestion status is used to indicate that data congestion does not occur in the transmission port, the first device sends indication information to the second device, where the indication information is used to indicate that the second device uses the transmission mode from The second mode is switched to the first mode, so that the second device subsequently transmits data to the first device according to the first mode (push mode).
  • the first device may also synchronously update a transmission mode of the second device recorded in the first device to a first mode.
  • the second device still sends data to the first device in the second mode, and the process may be ended.
  • the congestion status of the transmission port is used to indicate that data congestion occurs in the transmission port
  • the first device the destination node
  • the The first device may also record an association relationship between the new source node and the destination node, and the mode identification information is not set.
  • the first device may send, to the second device, indication information for instructing the handover to switch the transmission mode from the first mode to the second mode, and set the mode identification information to Pu1_EN in Table 2 as above.
  • the data transfer in this application may be based on a queuing mechanism, such as a VOQ queue.
  • the congestion state of the transmission port depends on the length of the data queue (VOQ queue) formed at the transmission port.
  • FIG. 6 shows a schematic diagram of a scenario of a VOQ queue.
  • Figure 6 shows a VOQ queue supported by the device buffer, the first device can acquire the length of the VOQ queue in real time or periodically.
  • the congestion status of the transmission port is based on the transmission rate of the data queue and the length of the data queue at the first sampling time (such as the current time).
  • the calculation formula (1) of the congestion state of the transmission port is given as follows.
  • Qlen is the length of the VOQ queue collected by the device at the first sampling time
  • Qlen' is the length of the VOQ queue collected by the device at the second sampling time, wherein the first sampling time is later than the second sampling time, For example, the first sampling moment is the current moment, and the second sampling moment is the last sampling moment.
  • the Qeq is customized on the user side or the device side. It can be expressed as the queue equalization threshold corresponding to the buffer queue and the near congestion status of the data queue.
  • Qoff is the difference between Qlen and the set threshold Qeq. When Qoff is negative or the value is smaller, it indicates that the closer to the congestion state (ie, the more likely data congestion occurs).
  • Qdelta is the change in queue length between two adjacent sampling intervals, reflecting the rate at which packets are enqueued and dequeued. The Qdelta value is greater than zero, indicating that the dequeue rate is greater than the enqueue rate, and data congestion is not easy to occur; if the Qdelta value is less than zero, the enqueue rate is greater than the dequeue rate, and data congestion is likely to occur.
  • the present application can express the congestion state of the transmission port by the weighted combination of the difference between the queue length Qlen and the set threshold Qeq and the variation of the length of the adjacent adjacent sampling interval queue Qdelta; as shown in the above formula (1) The expression is shown. If P is negative, it indicates that the transmission port is congested, otherwise the transmission port is not congested.
  • the advantages of the active flow control mode and the passive flow control mode can be integrated, and the modes are automatically switched between the modes, and the network can simultaneously consider the performance indexes of high throughput and low latency.
  • the first device and the second device are multiple, that is, multiple source nodes and multiple destination nodes in the network communicate with each other, and passive flow control may be adopted when the network is lightly loaded.
  • the mode transmits data and provides low-latency performance indicators of the network; when the network is slightly congested, the active flow control mode (push-pull mode, request negotiation) is used to transmit data between the partially congested source node and the destination node; When the network is heavily congested (that is, overloaded), the active flow control mode (push-pull mode, request negotiation) is used to transmit data, providing network high-throughput performance indicators.
  • the method for adjusting the transmission mode between the source node and the destination node in each group participates in the related description in the embodiment described in FIG. 5 of the present application, and details are not described herein again.
  • the network device includes corresponding hardware structures and/or software modules for performing various functions.
  • the embodiments of the present invention can be implemented in a combination of hardware or hardware and computer software in combination with the elements and algorithm steps of the various examples described in the embodiments disclosed herein. Whether a function is implemented in hardware or computer software to drive hardware depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the technical solutions of the embodiments of the present invention.
  • the embodiment of the present invention may divide the functional unit of the network device according to the foregoing method example.
  • each functional unit may be divided according to each function, or two or more functions may be integrated into one processing unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit. It should be noted that the division of the unit in the embodiment of the present invention is schematic, and is only a logical function division, and the actual implementation may have another division manner.
  • FIG. 7A shows a possible structural diagram of the network device involved in the above embodiment.
  • the network device 700 includes a processing unit 702 and a communication unit 703.
  • the processing unit 702 is configured to control and manage the actions of the network device 700.
  • the processing unit 702 is configured to support the network device 700 to perform step S102 in FIG. 5, and/or to perform other steps of the techniques described herein.
  • Communication unit 703 is used to support communication of network device 700 with other devices.
  • communication unit 703 is used to support network device 700 in performing step S104 of Figure 5, and/or to perform other steps of the techniques described herein.
  • the network device 700 may further include a storage unit 701 for storing program codes and data of the network device 700.
  • the processing unit 702 can be a processor or a controller, for example, a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), and an application specific integrated circuit. (English: Application-Specific Integrated Circuit, ASIC), Field Programmable Gate Array (FPGA) or other programmable logic device, transistor logic device, hardware component or any combination thereof. It is possible to implement or carry out the various illustrative logical blocks, modules and circuits described in connection with the present disclosure.
  • the processor may also be a combination of computing functions, for example, including one or more microprocessor combinations, a combination of a DSP and a microprocessor, and the like.
  • the communication unit 703 can be a communication interface, a transceiver, a transceiver circuit, etc., wherein the communication interface is a collective name and can include one or more interfaces, such as an interface between the network device and other devices.
  • the storage unit 701 can be a memory.
  • the network device involved in the embodiment of the present invention may be the network device shown in FIG. 7B.
  • the network device 710 includes a processor 712, a communication interface 713, and a memory 77.
  • network device 710 can also include a bus 714.
  • the communication interface 713, the processor 712, and the memory 77 may be connected to each other through a bus 714; the bus 714 may be a Peripheral Component Interconnect (PCI) bus or an extended industry standard structure (English: Extended Industry) Standard Architecture (EISA) bus, etc.
  • PCI Peripheral Component Interconnect
  • EISA Extended Industry Standard Architecture
  • the bus 714 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in Figure 7B, but it does not mean that there is only one bus or one type of bus.
  • FIG. 7A or FIG. 7B may also be corresponding to the corresponding description of the embodiment shown in FIG. 1 to FIG. 6 , and details are not described herein again.
  • the steps of the method or algorithm described in connection with the disclosure of the embodiments of the present invention may be implemented in a hardware manner, or may be implemented by a processor executing software instructions.
  • the software instructions can be composed of corresponding software modules, which can be stored in random access memory (English: Random Access Memory, RAM), flash memory, read only memory (English: Read Only Memory, ROM), erasable and programmable. Read only memory (English: Erasable Programmable ROM, EPROM), electrically erasable programmable read only memory (English: Electrically EPROM, EEPROM), registers, hard disk, mobile hard disk, compact disk (CD-ROM) or well known in the art Any other form of storage medium.
  • An exemplary storage medium is coupled to the processor to enable the processor to read information from, and write information to, the storage medium.
  • the storage medium can also be an integral part of the processor.
  • the processor and the storage medium can be located in an ASIC. Additionally, the ASIC can be located in a network device. Of course, the processor and the storage medium can also exist as discrete components in the network device.
  • the foregoing storage medium includes various media that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.

Landscapes

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

Abstract

本发明实施例公开了数据传输方法、设备及计算机存储介质,其中所述方法包括:第一设备获取传输端口的拥塞状态,所述传输端口为第二设备向所述第一设备传输数据时,所述第一设备所使用的通信端口,所述拥塞状态用于指示所述传输端口是否发生数据拥塞;在满足模式切换条件的情况下,向所述第二设备发送指示信息,其中,所述指示信息用于指示切换所述第二设备传输数据时所采用的传输模式,以使所述第二设备采用切换后的传输模式向所述第一设备传输数据,所述模式切换条件与所述传输端口的拥塞状态关联。采用本发明实施例,能够同时兼顾实现网络高吞吐和低时延的性能。

Description

数据传输方法、设备及计算机存储介质 技术领域
本发明涉及通信技术领域,尤其涉及数据传输方法、设备及计算机存储介质。
背景技术
数据中心网络(Data Center Network,DCN)是应用于数据中心内的网络,其提出要求满足高吞吐量和低延迟的需求。然而,网络的吞吐量和延迟本是两个相互制约的指标,如图1示出网络负载分别对吞吐量以及延迟的影响示意图。如图1,当网络负载小于网络饱和点之前,网络吞吐量随着负载的增加而增长,延迟也增加;在网络负载大于网络饱和点后,网络吞吐量随着负载的增加而急速降低,相应地延迟也急速增长。DCN中数据传输(即网络流量)控制的目的即是具备较大吞吐量的同时也具备较小的延迟。
现有技术为实现对数据传输的控制提出了两种方案,分别是:第一种方案是基于被动流控的数据传输方法。具体的,源节点采用主动推送的方式向目的节点推送数据,当网络发生拥塞后,源节点得到反馈才开始限制向目标节点发送数据;这种方法延迟较低,但只有在网络发生拥塞后才能控制,吞吐量下降且容易产生数据丢包。
第二种方案是基于主动流控的数据传输方法。具体的,源节点采用拉推的方式向目的节点推送数据。“拉”是指源节点向目的节点发送数据之前,需先向目的节点请求数据发送量,目的节点向源节点反馈可支持发送的数据量。“推”是指源节点在接收到目的节点反馈的数据量后,可根据授权的数据量向目的节点发送数据;这种方法存在“拉”这个请求应答的协商流程,增加了网络延迟。因此本申请需提出一种合理的数据传输控制方案。
发明内容
本发明实施例公开了数据传输方法、设备及计算机存储介质,能够兼顾实现网络高吞吐量和低时延。
第一方面,本发明实施例公开提供了一种数据传输方法,所述方法包括:
第一设备获取传输端口的拥塞状态,所述传输端口为第二设备向所述第一设备传输数据时,所述第一设备所使用的通信端口,所述拥塞状态用于指示所述传输端口是否发生数据拥塞;
在满足模式切换条件的情况下,向所述第二设备发送指示信息,其中,所述指示信息用于指示切换所述第二设备传输数据时所采用的传输模式,以使所述第二设备采用切换后的传输模式向所述第一设备传输数据,所述模式切换条件与所述传输端口的拥塞状态关联。
在一些可能的实施例中,所述模式切换条件为第一条件或者第二条件,其中,
所述第一条件包括:所述拥塞状态用于指示所述传输端口发生了数据拥塞,且所述第一设备中预存的传输模式为第一模式,所述第一模式用于指示所述第二设备采用推送方式向所述第一设备传输数据;
所述第二条件包括:所述拥塞状态用于指示所述传输端口未发生数据拥塞,且所述第 一设备中预存的传输模式为第二模式,所述第二模式用于指示所述第二设备采用拉推方式向所述第一设备传输数据。
在一些可能的实施例中,
若所述模式切换条件为所述第一条件,则所述指示信息用于指示所述第二设备将所述传输模式从所述第一模式切换至所述第二模式,以采用所述第二模式所指示的拉推方式向所述第一设备传输数据;
若所述模式切换条件为所述第二条件,则所述指示信息用于指示所述第二设备将所述传输模式从所述第二模式切换至所述第一模式,以采用所述第一模式所指示的推送方式向所述第一设备传输数据。
在一些可能的实施例中,所述传输端口的拥塞状态是根据所述传输端口处的数据队列的长度确定的。
在一些可能的实施例中,所述传输端口的拥塞状态是根据所述数据队列的传输速率以及第一采样时刻所采集的所述数据队列的长度确定的,其中,所述数据队列的传输速率是根据所述第一采样时刻所采集的所述数据队列的长度以及第二采样时刻所采集的所述数据队列的长度确定的,所述第二采样时刻优先于所述第一采样时刻。
在一些可能的实施例中,所述方法还包括:同步更新所述第一设备中预存的所述传输模式。
在一些可能的实施例中,所述方法还包括:在所述第二设备存在多个的情况下,记录模式标识信息,所述模式标识信息包括所述多个第二设备各自与所述第一设备进行数据传输时所采用的传输模式对应的标识信息,以便所述第一设备根据所述模式识别信息获知当前是否已向目标设备发送所述指示信息,所述目标设备为所述多个第二设备中的设备。
第二方面,本发明实施例提供一种数据传输方法,所述方法包括:
接收第一设备发送的指示信息,所述指示信息用于指示第二设备切换向所述第一设备传输数据时所采用的传输模式,所述指示信息为所述第一设备在确定到满足模式切换条件的情况下发送的,所述模式切换条件与传输端口的拥塞状态关联,所述传输端口为第二设备向所述第一设备传输数据时所述第一设备所使用的通信端口,所述拥塞状态用于指示所述传输端口是否发生数据拥塞;
根据所述指示信息的指示,采用切换后的传输模式向所述第一设备传输数据。
在一些可能的实施例中,所述模式切换条件为第一条件或者第二条件,其中,
所述第一条件包括:所述拥塞状态用于指示所述传输端口发生了数据拥塞,且所述第一设备中预存的传输模式为第一模式,所述第一模式用于指示所述第二设备采用推送方式向所述第一设备传输数据;
所述第二条件包括:所述拥塞状态用于指示所述传输端口未发生数据拥塞,且所述第一设备中预存的传输模式为第二模式,所述第二模式用于指示所述第二设备采用拉推方式向所述第一设备传输数据。
在一些可能的实施例中,若所述模式切换条件为所述第一条件,则所述指示信息用于指示所述第二设备将所述传输模式从所述第一模式切换至所述第二模式,以采用所述第二模式所指示的拉推方式向所述第一设备传输数据;
若所述模式切换条件为所述第二条件,则所述指示信息用于指示所述第二设备将所述传输模式从所述第二模式切换至所述第一模式,以采用所述第一模式所指示的推送方式向所述第一设备传输数据。
在一些可能的实施例中,所述方法还包括:同步更新所述第二设备中预存的所述传输模式。
第三方面,本发明实施例公开提供了一种网络设备,包括用于执行上述第一方面的方法的功能单元。
第四方面,本发明实施例公开提供了一种网络设备,包括用于执行上述第二方面的方法的功能单元。
第五方面,本发明实施例提供了一种网络设备,包括存储器、通信接口及与所述存储器和通信接口耦合的处理器;所述存储器用于存储指令,所述处理器用于执行所述指令,所述通信接口用于在所述处理器的控制下与其他设备进行通信;其中,所述处理器执行所述指令时执行上述第一方面描述的方法。
第六方面,本发明实施例提供了一种网络设备,包括存储器、通信接口及与所述存储器和通信接口耦合的处理器;所述存储器用于存储指令,所述处理器用于执行所述指令,所述通信接口用于在所述处理器的控制下与其他设备进行通信;其中,所述处理器执行所述指令时执行上述第二方面描述的方法。
第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储了用于邮件传输的程序代码。所述程序代码包括用于执行上述第一方面描述的方法的指令。
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储了用于邮件传输的程序代码。所述程序代码包括用于执行上述第二方面描述的方法的指令。
第九方面,提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面描述的方法。
第十方面,提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面描述的方法。
通过实施本发明实施例,能够兼顾实现网络高吞吐和低时延的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是现有技术提供的一种网络性能指标示意图;
图2是现有技术提供的一种主动流控的场景示意图;
图3A-图3B是现有技术提供的另两种主动流控的场景示意图;
图4是本发明实施提供的一种网络框架示意图;
图5是本发明实施例提供的一种数据传输方法的流程示意图;
图6是本发明实施例提供的一种数据队列的场景示意图;
图7A是本发明实施例提供的一种网络设备的结构示意图;
图7B是本发明实施例提供的又一种网络设备的结构示意图。
具体实施方式
下面将结合本发明的附图,对本发明实施例中的技术方案进行详细描述。
本申请的发明人在提出本申请的过程中发现:DCN网络的目标是同时满足高吞吐量和低时延的要求。在现有技术中为实现DCN的目标,常用的流量控制(即数据传输控制)方法包括主动流控和被动流控。当其应用在网络设备(具体为网络中间设备,如路由器)中,追求的第一网络指标为高吞吐量,不允许网络拥塞出现丢包等情况,此时网络设备采用的流量控制方法即是主动流控方法,具体存在以下两种实施方案。
第一种方案:
如图2,在源节点向目的节点传输数据之前,需向目的节点发送请求包request(图示为req),该请求包携带有请求发送的数据量。当目的节点接收该请求包后,可根据自身的网络速率和/或缓存区buffer的缓存容量确定可授权给各个源节点各自对应的授权数据量(即可发送的数据量),并封装在授权应答包(图示为Gnt)反馈给相应地源节点。相应地,源节点在接收到反馈的授权数据量时,可开始向目的节点发送数据,具体可通过数据量寄存器来统计已发送的数据量以及剩余可用的数据量。相应地,在可用数据量低于一定阈值时,源节点可再次向目的节点发送请求包,将接收到目的节点反馈的授权数据量添加更新至数据量寄存器中。如此反复,使得源节点有能力、且不拥塞地向目的节点发送数据。然而,由于数据发送之前需加入前期协商流程,增大了网络延迟。为解决该问题,提出以下第二种方案。
第二种方案:
SRP(Network Congestion Avoidance Through Speculative Reservation)是一种面向DCN提出的主动流量控制协议,可通过源节点、目的节点资源预留协商来避免网络拥塞。具体的,如图3A和图3B示出SPR协议的收发场景示意图。其中,图3A示出没有拥塞情况下数据传输的收发示意图,图3B示出在发生拥塞时数据传输的收发示意图。图中R(n)是指具备高优先级的资源请求包,n为待申请所需发送的数据包的数量(即申请的数据量)。
具体的,如图3A,当源节点向目的节点发送数据时,需先向目的节点发送请求包R(n),同时开始推送数据包,具体如图3A中的数据包P1和P2。推送数据包的过程中可能由于网络拥塞导致丢包,因此当推送的数据包到的目的节点时,目的节点需反馈授权包G(ts),其中ts规定了源节点发包的开始时间。相应地,当源节点接收到授权包G(ts)后,停止推送数据包,从ts时开始向目的节点推送n个数据包,具体如图示的P3~Pn。当请求包R(n)发送完毕后,重复此过程。特别地如图3B,当网络发生拥塞时,发送过程中数据包在网络中产生丢包,相应地目的节点需向源节点返回NACK应答包(图示为N1)。相应地,当源节点接收到NACK应答包N1后停止向目的节点推送数据包。等待到目的节点返回的授权时间ts时,可从丢弃的数据包开始向目的节点发送n个数据包,具体如图示的P1~Pn。
在实践中发现,该方案虽然在请求过程中通过推送一部分数据来弥补请求带来的带宽损耗和延迟,但并未充分发挥主动流控的性能优势,网络延迟仍然比较高。
为解决上述问题,本申请提出在主动流控和被动流控中来回切换的方案,充分利用主动流控和被动流控各自的性能优势,以达到同时兼顾高吞吐量和低时延的性能。
首先,介绍本发明适用的网络架构示意图,具体如图4所示。如图4,该网络架构示意图包括源节点和目的节点。可选地,还可包括中间节点。关于各种节点的数量本发明并不做限定,例如图示分别给出2个源节点、一个中间节点和n个目的节点,其中n为正整数。
在可选实施例中,所述目的节点也可为中间节点,所述中间节点包括但不限于网络设备、终端设备。其中,该网络设备可以是例如路由器、交换机等中间设备,也可是例如网卡等端点设备。所述终端设备包括但不限于用户终端、智能手机(如Android手机、IOS手机等)、个人电脑、平板电脑、掌上电脑、移动互联网设备(MID,Mobile Internet Devices)或穿戴式智能设备等互联网设备,本发明实施例不作限定。所述源节点也可为网络设备或终端设备,本发明并不限定。
在可选实施例中,在源节点侧,数据是基于队列机制处理的。源节点侧可根据数据到达的目的节点(或最后一级交换设备中)建立独立的虚拟输入输出(Virtual Output Queue,VOQ)队列,如图4交换机TOR下连接n个host服务器,每个VOQ队列对应一个或多个host服务器。具体的,在资源允许的情况下,可按照目的host静态创建VOQ队列,即一个VOQ队列对应一个host。相应地在资源不允许的情况下,根据通信局部特征,一个源节点不可能同时与所有节点进行通信,因此可根据需求动态创建VOQ队列,即一个VOQ队列可对应多个host。
在实际应用中,当源节点通过交换机TOR向目的host发送数据时,首先将数据存储在VOQ队列中,然后向TOR发送数据包(也可是请求包)。相应地,TOR可接收多个源节点发送的数据包(或请求包)。特别的,当所述数据包为请求包(即在主动流控模式下)时,TOR可根据自身的网络速率以及缓冲区buffer的缓存量向所述源节点反馈相应地授权数据量。应理解的,TOR可接收各个源节点发送的数据包,受限于TOR与其下host之间的速率,可能造成TOR的buffer中逐渐堆积,将造成主动流控方式的优势失效。
为解决上述问题,如图4本申请中在源节点侧设置有调度模块(图示为Scheduler模块)。该调度模块用于根据目的节点发送的传输模式来匹配并调度数据,以发送给目的节点。该传输模式是指源节点和目的节点之间传输数据时所采用的模式,该模式包括但不限于第一模式(被动流控模式)和第二模式(主动流控模式)。
在目的节点(或中间节点)侧设置有三个功能模块,分别为第一模块、第二模块以及第三模块。具体的,该第一模块(Src2DstTable功能模块)用于接收源节点发送的数据包,建立源节点和目的节点之间的映射关系,并存储该映射关系,例如存储至Src2DstTable中。其中,所述目的节点可以为多个,如连接至同一中间节点TOR下的所有目的Host。
在可选实施例中,所述第一模块中还可记录有源节点和目的节点之间传输数据时所采用的传输模式,关于所述传输模式可参见前述实施例中的相关介绍,这里不再赘述。
在可选实施例中,所述第一模块中还可记录有模式标识信息,该模式标识信息用于指示所述第一设备是否向所述第二设备发送过用于指示将传输模式切换为第二模式的所述指 示信息。具体的,以所述传输模式包括第一模式和第二模式为例,所述模式标识信息可用预设字符串、预设字符等形式来表示。例如当所述模式标识信息为“0”,则表示所述第一设备向所述第二设备发送过指示将所述传输模式从第一模式切换至第二模式的指示信息;相应地,当所述模式标识信息为“1”,则表示所述第一设备向所述第二设备发送过指示将所述传输模式从第二模式切换至第一模式的指示信息,具体在下文中进行详述。
所述第二模块(CongestionDetect功能模块)用于检测/监测各个传输端口的拥塞状态,该传输端口也可称下行端口,是指源节点向目的节点发送数据时所使用的端口;或者,如果存在中间节点TOR时,该传输端口是指中间节点与目的节点之间的端口;所述拥塞状态用于指示所述传输端口是否发生数据拥塞。
所述第三模块(ActiveFlowControl功能模块)用于根据监测的所述传输端口的拥塞状态来自动调整所述第一模块中记录的所述传输模式,实现传输模式之间的相互切换,具体在下文中进行详述。
其次,基于图4所示的网络框架示意图,下面介绍本申请涉及的方法实施例。具体如图5,是本发明实施例提供的一种数据传输方法的流程示意图。如图5所述的方法可包括如下实施步骤:
步骤S102、第一设备获取传输端口的拥塞状态,所述传输端口为第二设备向所述第一设备传输数据时,所述第一设备所使用的通信端口,所述拥塞状态用于指示所述传输端口是否发生数据拥塞。
步骤S104、在满足模式切换条件的情况下,向所述第二设备发送指示信息,其中,所述指示信息用于指示切换所述第二设备传输数据时所采用的传输模式,以使所述第二设备采用切换后的传输模式向所述第一设备传输数据,所述模式切换条件与所述传输端口的拥塞状态关联。
所述传输模式是指所述第二设备向所述第一设备传输数据时所采用的模式,该模式包括但不限于第一模式(被动流控模式)、第二模式(主动流控模式)。所述被动流控模式是指发送端采用推送方式向接收端发送数据,所述主动流控模式是指发送端采用拉推方式向接收端发送数据,关于所述被动流控模式和所述主动流控模式可参见前述主动流控方法和被动流控方法中的相关阐述,这里不再赘述。
所述第一设备和所述第二设备可以是网络设备,其中,所述第一设备可以是中间网络设备(如交换机、路由器)或者端点网络设备(如网卡)等,且所述第一设备和所述第二设备的数量,本发明并不做限定。下面本申请以所述第一设备为中间网络设备(交换机)为例进行相关内容的详细阐述。
下面介绍本申请所涉及的一些具体实施例和可选实施例。
步骤S102中,当所述第一设备为中间网络设备(如交换机)时,第二设备通过第一设备向目的设备传输数据。相应地,所述第一设备可接收所述数据,然后在转发给所述目的设备。所述第一设备可检测本设备与所述目的设备之间的通信端口的拥塞状态。
当所述第一设备为端点网络设备(如网卡)时,第二设备可直接向第一设备发送数据, 同时所述第一设备可检测本设备与第二设备进行数据传输时所使用到的通信接口的拥塞状态。以便所述第一设备根据该端口的拥塞状态调节设备间数据传输时所使用的传输模式,实现网络数据传输时同时兼顾高吞吐量和低时延的性能指标。
步骤S104中,所述第一设备可判断当前是否满足模式切换条件,如果满足,则向所述第二设备发送指示信息。该指示信息用于指示切换所述第二设备的传输模式至目标模式,以使后续所述第二设备采用目标模式向所述第一设备发送数据。该模式切换条件是用户侧或终端设备侧预先设置的,且该模式切换条件与所述传输端口的拥塞状态关联。
具体的,针对首次通信的源节点(如第二设备)和目的节点而言,第二设备开始将采用第一模式(被动流控模式)通过所述第一设备向目的节点(如host0)传输数据。即网络初始化时,源节点与目的节点将采用推送方式向第一设备传输数据。可选地,在源节点(第二设备)侧,所述第二设备可创建并保存有所述第二设备与多个目的节点之间的关联关系。可选地,所述第二设备还可记录有所述第二设备与所述多个目标节点中每个节点之间传输数据时所采用的传输模式。其中,所述多个目的节点中当然包括有所述第一设备。具体如下表1示出一个源节点中存储的数据表。
表1
Figure PCTCN2018111632-appb-000001
由上表1可知,示出源节点与多个支持与该源节点通信的目的节点,以及给出源节点与每个目的节点之间所采用的传输模式(end to end flow control,E2EFC_MODE)。表1中的“0”表示第一模式,即采用推送方式(push)向目的节点传输数据;反之,“1”表示第二模式,即采用拉推方式(pull)向目的节点传输数据。
相应地,在第一设备侧当然也可存储有多个源节点与目的节点(host0)之间传输数据所采用的传输模式。具体的,在网络初始化时,初始化第一设备下传输端口的传输模式为第一模式,即指示与该目的节点host0连接的所有源节点均采用推送方式来传输数据。如下表2示出一种第一设备中存储的数据表。
表2
目的节点的标识(HOSTIdx) 传输模式(E2EFC_MODE)
0(host0) 0(push模式)
1 0(push模式)
2 0(push模式)
…… ……
n 0(push模式)
由上表2可知,第一设备中记录有每个目的节点与各自对应的多个源节点之间进行数 据传输时所采用的传输模式,表2仅示出采用第一模式“0”的情况。
在可选实施例中,第一设备中还可记录有与每个目的节点(如host0)各自连接的多个源节点对应的模式标识信息,该模式标识信息用于指示每个源节点是否向目的节点(如host0)发送过用于指示将所述传输模式从第一模式切换至第二模式的指示信息,即该模式标识信息用于指示在源节点侧是否切换至第二模式来传输数据。具体如下表3示出多个源节点与多个目的节点之间的数据表,其中最上一层的数据表为与目的节点Host0连接的多个源节点(SRCID)各自对应的模式标识信息(即Pull_EN)。
表3
Figure PCTCN2018111632-appb-000002
由上表3可知:以Host0为例,当前与该host0通信的源节点0、源节点3、源节点9以及源节点m各自对应的模式标识信息,该模式标识信息用于指示当前源节点与目的节点数据传输时所采用的传输模式;同样地,也可用该模式标识信息来确定在发生模式切换时(即满足模式切换条件),第一设备(或目的节点)是否向与该目的节点通信的多个源节点发送了用于指示切换传输模式的指示信息。
下面介绍步骤S104中涉及的两种具体实施方式。
第一种实施方式中:
针对所有采用第一模式的源节点和目的节点之间,源节点采用第一模式(推送方式)向目的节点发送数据;相应地,目的节点接收该数据包,并记录源节点与目的节点之间的映射关系、传输数据所采用的传输模式等等信息。进一步,还可检测目的节点通信时使用的传输端口的拥塞状态,判断是否满足模式切换条件。在满足模式切换条件的情况下,向第二设备发送指示信息。这里所述模式切换条件可为第一条件,该第一条件包括:所述拥塞状态用于指示所述传输端口发生了数据拥塞,且所述第一设备中预存的传输模式为第一模式,所述第一模式用于指示所述第二设备采用推送方式向所述第一设备传输数据。
具体的,以所述第二设备采用第一模式向第一设备传输数据为例,在所述第一设备侧记录有开始数据传输所采用的第一模式,同时判断当前传输端口的拥塞状态用于指示该传输端口是否发生了数据拥塞。如果所述拥塞状态用于指示该传输端口发生了数据拥塞,则所述第一设备向所述第二设备发送指示信息,该指示信息用于指示所述第二设备将所述传输模式从第一模式切换至第二模式,以便所述第二设备后续按照所述第二模式(推拉方式) 向第一设备传输数据。可选的,所述第一设备还可同步更新该第一设备中记录的所述第二设备的传输模式为第二模式。
如果所述拥塞状态用于指示该传输端口未发生数据拥塞,则不予处理,所述第二设备还是采用第一模式向第一设备发送数据,此时可结束流程。
第二种实施方式中:
针对所有采用第二模式的源节点和目的节点之间,源节点采用第二模式(拉推方式)向目的节点发送数据;相应地,目的节点接收该数据包,并记录源节点与目的节点之间的映射关系、传输数据所采用的传输模式等等信息。进一步,还可检测目的节点通信时使用的传输端口的拥塞状态,判断是否满足模式切换条件。在满足模式切换条件的情况下,向第二设备发送指示信息。这里所述模式切换条件可为第二条件,该第二条件包括:所述拥塞状态用于指示所述传输端口未发生数据拥塞,且所述第一设备中预存的传输模式为第二模式,所述第一模式用于指示所述第二设备采用拉推方式向所述第一设备传输数据。
具体的,以所述第二设备采用第二模式向第一设备传输数据为例,在所述第一设备侧记录有开始数据传输所采用的第二模式,同时判断当前传输端口的拥塞状态用于指示该传输端口是否发生了数据拥塞。如果所述拥塞状态用于指示该传输端口并未发生数据拥塞,则所述第一设备向所述第二设备发送指示信息,该指示信息用于指示所述第二设备将所述传输模式从第二模式切换至第一模式,以便所述第二设备后续按照所述第一模式(推送方式)向第一设备传输数据。可选的,所述第一设备还可同步更新该第一设备中记录的所述第二设备的传输模式为第一模式。
如果所述拥塞状态用于指示该传输端口发生了数据拥塞,则不予处理,所述第二设备还是采用第二模式向第一设备发送数据,此时可结束流程。
在可选实施例中,当所述传输端口的拥塞状态用于指示该传输端口发生了数据拥塞,如果此时第一设备(目的节点)接收到新的源节点发送的数据包,则所述第一设备还可记录新的源节点与目的节点之间的关联关系,且模式标识信息并未被设置。此时第一设备可向第二设备发送用于指示切换将传输模式从第一模式切换至第二模式的指示信息,并将该模式标识信息如上表2中的Pull_EN设置为1。
在可选实施例中,本申请中的数据传输可以是基于队列机制处理的,如VOQ队列。所述传输端口的拥塞状态取决于在该传输端口所形成的数据队列(VOQ队列)的长度。
具体的,如图6示出一种VOQ队列的场景示意图。图6示出设备缓冲区支持的VOQ队列,第一设备可实时或周期性地采集VOQ队列的长度。所述传输端口的拥塞状态是根据数据队列的传输速率,以及第一采样时刻(如当前时刻)时所述数据队列的长度。如下给出传输端口的拥塞状态的计算公式(1)。
队列长度偏移Qoff=Qeq–Qlen
入队出队速率差Qdelta=PKTDeQ-PKTEnQ=Qlen’–Qlen
拥塞测量            P=Qoff+w*Qdelta公式(1)
其中,Qlen为设备在第一采样时刻采集的VOQ队列的长度;Qlen’为设备在第二采样 时刻采集的VOQ队列的长度,其中,所述第一采样时刻晚于所述第二采样时刻,例如所述第一采样时刻为当前时刻,则所述第二采样时刻为上一采样时刻。Qeq为用户侧或设备侧自定义设置的,其可表示为数据队列将充满缓存buffer、接近拥塞状态所对应的队列均衡阈值。
Qoff为Qlen相比于设定的阈值Qeq之间的差值,当Qoff为负值或值越小时,表明越接近拥塞状态(即越容易发生数据拥塞)。Qdelta为两次相邻采样间隔间,队列长度的变化大小,反应了数据包入队和出队的速率。Qdelta值大于零,表明出队速率大于入队速率,不容易发生数据拥塞;Qdelta值小于零,则表明入队速率大于出队速率,很容易发生数据拥塞情况。
相应地,本申请可通过队列长队Qlen偏离设定的阈值Qeq的差值以及两次相邻采样间隔队列长度的变化大小Qdelta的加权组合来表示传输端口的拥塞状态;具体如上公式(1)的表达式所示。如果P为负,则表明传输端口发生了拥塞,否则传输端口并未发生拥塞。
通过本发明实施例,能够融合主动流控模式和被动流控模式各自的优势,自动实现模式间的相互切换,实现网络同时兼顾高吞吐和低时延的性能指标。
需要说明的是,当所述第一设备和第二设备为多个的情况下,即网络中存在多个源节点和多个目的节点相互通信,此时在网络轻载时可采用被动流控模式(推送方式)传输数据,提供网络低延迟的性能指标;在网络轻度拥塞时,在部分拥塞的源节点和目的节点间采用主动流控模式(拉推方式,请求协商)传输数据;在网络重度拥塞(即重载)时,采用主动流控模式(拉推方式,请求协商)传输数据,提供网络高吞吐量的性能指标。但每组源节点和目的节点之间的传输模式的调整方法均参加本申请图5所述实施例中的相关描述,这里不再赘述。
上述主要从节点设备的角度出发对本发明实施例提供的方案进行了介绍。可以理解的是,网络设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本发明中所公开的实施例描述的各示例的单元及算法步骤,本发明实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的技术方案的范围。
本发明实施例可以根据上述方法示例对网络设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成的单元的情况下,图7A示出了上述实施例中所涉及的网络设备的一种可能的结构示意图。网络设备700包括:处理单元702和通信单元703。处理单元702用于对网络设备700的动作进行控制管理,例如,处理单元702用于支持网络设备700执行图5中步骤S102,和/或用于执行本文所描述的技术的其它步骤。通信单元703用于支持网络 设备700与其它设备的通信,例如,通信单元703用于支持网络设备700执行图5中步骤S104,和/或用于执行本文所描述的技术的其它步骤。网络设备700还可以包括存储单元701,用于存储网络设备700的程序代码和数据。
其中,处理单元702可以是处理器或控制器,例如可以是中央处理器(英文:Central Processing Unit,CPU),通用处理器,数字信号处理器(英文:Digital Signal Processor,DSP),专用集成电路(英文:Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(英文:Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元703可以是通信接口、收发器、收发电路等,其中,通信接口是统称,可以包括一个或多个接口,例如网络设备与其他设备之间的接口。存储单元701可以是存储器。
当处理单元702为处理器,通信单元703为通信接口,存储单元701为存储器时,本发明实施例所涉及的网络设备可以为图7B所示的网络设备。
参阅图7B所示,该网络设备710包括:处理器712、通信接口713、存储器77。可选地,网络设备710还可以包括总线714。其中,通信接口713、处理器712以及存储器77可以通过总线714相互连接;总线714可以是外设部件互连标准(英文:Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(英文:Extended Industry Standard Architecture,简称EISA)总线等。所述总线714可以分为地址总线、数据总线、控制总线等。为便于表示,图7B中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
上述图7A或图7B所示的网络设备的具体实现还可以对应参照图1至图6所示实施例的相应描述,此处不再赘述。
结合本发明实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(英文:Random Access Memory,RAM)、闪存、只读存储器(英文:Read Only Memory,ROM)、可擦除可编程只读存储器(英文:Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(英文:Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于网络设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (17)

  1. 一种数据传输方法,其特征在于,所述方法包括:
    第一设备获取传输端口的拥塞状态,所述传输端口为第二设备向所述第一设备传输数据时,所述第一设备所使用的通信端口,所述拥塞状态用于指示所述传输端口是否发生数据拥塞;
    在满足模式切换条件的情况下,向所述第二设备发送指示信息,其中,所述指示信息用于指示切换所述第二设备传输数据时所采用的传输模式,以使所述第二设备采用切换后的传输模式向所述第一设备传输数据,所述模式切换条件与所述传输端口的拥塞状态关联。
  2. 根据权利要求1所述的方法,其特征在于,所述模式切换条件为第一条件或者第二条件,其中,
    所述第一条件包括:所述拥塞状态用于指示所述传输端口发生了数据拥塞,且所述第一设备中预存的传输模式为第一模式,所述第一模式用于指示所述第二设备采用推送方式向所述第一设备传输数据;
    所述第二条件包括:所述拥塞状态用于指示所述传输端口未发生数据拥塞,且所述第一设备中预存的传输模式为第二模式,所述第二模式用于指示所述第二设备采用拉推方式向所述第一设备传输数据。
  3. 根据权利要求2所述的方法,其特征在于,
    若所述模式切换条件为所述第一条件,则所述指示信息用于指示所述第二设备将所述传输模式从所述第一模式切换至所述第二模式,以采用所述第二模式所指示的拉推方式向所述第一设备传输数据;
    若所述模式切换条件为所述第二条件,则所述指示信息用于指示所述第二设备将所述传输模式从所述第二模式切换至所述第一模式,以采用所述第一模式所指示的推送方式向所述第一设备传输数据。
  4. 根据权利要求1-3中任一项所述的方法,其特征在于,所述传输端口的拥塞状态是根据所述传输端口处的数据队列的长度确定的。
  5. 根据权利要求4所述的方法,其特征在于,所述传输端口的拥塞状态是根据所述数据队列的传输速率以及第一采样时刻所采集的所述数据队列的长度确定的,其中,所述数据队列的传输速率是根据所述第一采样时刻所采集的所述数据队列的长度以及第二采样时刻所采集的所述数据队列的长度确定的,所述第二采样时刻优先于所述第一采样时刻。
  6. 根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:
    同步更新所述第一设备中预存的所述传输模式。
  7. 根据权利要求1-6中任一项所述的方法,其特征在于,所述方法还包括:
    在所述第二设备存在多个的情况下,记录模式标识信息,所述模式标识信息包括所述多个第二设备各自与所述第一设备进行数据传输时所采用的传输模式对应的标识信息,以便所述第一设备根据所述模式识别信息获知当前是否已向目标设备发送所述指示信息,所述目标设备为所述多个第二设备中的设备。
  8. 一种数据传输方法,其特征在于,所述方法包括:
    接收第一设备发送的指示信息,所述指示信息用于指示第二设备切换向所述第一设备传输数据时所采用的传输模式,所述指示信息为所述第一设备在确定到满足模式切换条件的情况下发送的,所述模式切换条件与传输端口的拥塞状态关联,所述传输端口为第二设备向所述第一设备传输数据时所述第一设备所使用的通信端口,所述拥塞状态用于指示所述传输端口是否发生数据拥塞;
    根据所述指示信息的指示,采用切换后的传输模式向所述第一设备传输数据。
  9. 根据权利要求8所述的方法,其特征在于,所述模式切换条件为第一条件或者第二条件,其中,
    所述第一条件包括:所述拥塞状态用于指示所述传输端口发生了数据拥塞,且所述第一设备中预存的传输模式为第一模式,所述第一模式用于指示所述第二设备采用推送方式向所述第一设备传输数据;
    所述第二条件包括:所述拥塞状态用于指示所述传输端口未发生数据拥塞,且所述第一设备中预存的传输模式为第二模式,所述第二模式用于指示所述第二设备采用拉推方式向所述第一设备传输数据。
  10. 根据权利要求9所述的方法,其特征在于,
    若所述模式切换条件为所述第一条件,则所述指示信息用于指示所述第二设备将所述传输模式从所述第一模式切换至所述第二模式,以采用所述第二模式所指示的拉推方式向所述第一设备传输数据;
    若所述模式切换条件为所述第二条件,则所述指示信息用于指示所述第二设备将所述传输模式从所述第二模式切换至所述第一模式,以采用所述第一模式所指示的推送方式向所述第一设备传输数据。
  11. 根据权利要求8-10中任一项所述的方法,其特征在于,所述方法还包括:
    同步更新所述第二设备中预存的所述传输模式。
  12. 一种网络设备,其特征在于,包括用于执行如上权利要求1-7中任一项所述方法的功能的单元。
  13. 一种网络设备,其特征在于,包括用于执行如上权利要求8-11中任一项所述方法 的功能的单元。
  14. 一种网络设备,其特征在于,包括存储器、通信接口及与所述存储器和通信接口耦合的处理器;所述存储器用于存储指令,所述处理器用于执行所述指令,所述通信接口用于在所述处理器的控制下与其他设备进行通信;其中,所述处理器执行所述指令时执行如上权利要求1-7中任一项所述的方法。
  15. 一种网络设备,其特征在于,包括存储器、通信接口及与所述存储器和通信接口耦合的处理器;所述存储器用于存储指令,所述处理器用于执行所述指令,所述通信接口用于在所述处理器的控制下与其他设备进行通信;其中,所述处理器执行所述指令时执行如上权利要求8-11中任一项所述的方法。
  16. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法。
  17. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求8至11任一项所述方法。
PCT/CN2018/111632 2017-10-25 2018-10-24 数据传输方法、设备及计算机存储介质 WO2019080866A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP18869868.2A EP3694164B1 (en) 2017-10-25 2018-10-24 Data transmission method and device, and computer storage medium
US16/856,951 US11165705B2 (en) 2017-10-25 2020-04-23 Data transmission method, device, and computer storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711010402.X 2017-10-25
CN201711010402.XA CN109714128B (zh) 2017-10-25 2017-10-25 数据传输方法、设备及计算机存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/856,951 Continuation US11165705B2 (en) 2017-10-25 2020-04-23 Data transmission method, device, and computer storage medium

Publications (1)

Publication Number Publication Date
WO2019080866A1 true WO2019080866A1 (zh) 2019-05-02

Family

ID=66246217

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/111632 WO2019080866A1 (zh) 2017-10-25 2018-10-24 数据传输方法、设备及计算机存储介质

Country Status (4)

Country Link
US (1) US11165705B2 (zh)
EP (1) EP3694164B1 (zh)
CN (1) CN109714128B (zh)
WO (1) WO2019080866A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114490489A (zh) * 2020-11-13 2022-05-13 大唐联仪科技有限公司 请求处理方法、装置及存储介质
CN113098785B (zh) * 2021-03-31 2022-05-27 新华三信息安全技术有限公司 一种报文处理方法及装置
CN114024897B (zh) * 2021-09-18 2023-06-27 新华三信息安全技术有限公司 端口切换方法及***
US20240163220A1 (en) * 2022-11-10 2024-05-16 Huawei Technologies Co., Ltd. Methods and apparatus for improved congestion signaling

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140164641A1 (en) * 2012-12-11 2014-06-12 The Hong Kong University Of Science And Technology Congestion control for data center traffic
US20150281126A1 (en) * 2014-03-31 2015-10-01 Plx Technology, Inc. METHODS AND APPARATUS FOR A HIGH PERFORMANCE MESSAGING ENGINE INTEGRATED WITHIN A PCIe SWITCH
WO2016086385A1 (zh) * 2014-12-04 2016-06-09 华为技术有限公司 一种拥塞控制的方法、设备和***
CN107171969A (zh) * 2016-03-07 2017-09-15 华为技术有限公司 一种数据传输方法、装置及***

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680053B1 (en) * 2004-10-29 2010-03-16 Marvell International Ltd. Inter-device flow control
CN101030926A (zh) * 2006-02-28 2007-09-05 华为技术有限公司 全球微波接入互操作性网络数据流量控制方法
US8305899B2 (en) * 2008-05-28 2012-11-06 Microsoft Corporation Pull-based data transmission approach
CN102651908B (zh) * 2011-02-28 2015-01-21 华为技术有限公司 一种传输数据的方法及设备
CN102546098B (zh) * 2011-12-15 2015-01-21 福建星网锐捷网络有限公司 数据传输装置、方法及***
US9025456B2 (en) * 2012-02-22 2015-05-05 The Board Of Trustees Of The Leland Stanford Junior University Speculative reservation for routing networks
US20160154756A1 (en) * 2014-03-31 2016-06-02 Avago Technologies General Ip (Singapore) Pte. Ltd Unordered multi-path routing in a pcie express fabric environment
CN104270320B (zh) * 2014-09-28 2018-03-30 曙光信息产业股份有限公司 一种分布式通信***主动流量控制的方法
US10397124B2 (en) * 2017-01-17 2019-08-27 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. System and method to prevent persistent full switch queues in software defined networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140164641A1 (en) * 2012-12-11 2014-06-12 The Hong Kong University Of Science And Technology Congestion control for data center traffic
US20150281126A1 (en) * 2014-03-31 2015-10-01 Plx Technology, Inc. METHODS AND APPARATUS FOR A HIGH PERFORMANCE MESSAGING ENGINE INTEGRATED WITHIN A PCIe SWITCH
WO2016086385A1 (zh) * 2014-12-04 2016-06-09 华为技术有限公司 一种拥塞控制的方法、设备和***
CN107171969A (zh) * 2016-03-07 2017-09-15 华为技术有限公司 一种数据传输方法、装置及***

Also Published As

Publication number Publication date
US11165705B2 (en) 2021-11-02
CN109714128B (zh) 2021-12-31
EP3694164B1 (en) 2023-08-30
EP3694164A4 (en) 2020-09-02
EP3694164A1 (en) 2020-08-12
CN109714128A (zh) 2019-05-03
US20200252337A1 (en) 2020-08-06

Similar Documents

Publication Publication Date Title
US20240160584A1 (en) System and method for facilitating dynamic command management in a network interface controller (nic)
US11165705B2 (en) Data transmission method, device, and computer storage medium
US11171862B2 (en) Multi-subflow network transmission method and apparatus
EP1810466B1 (en) Directional and priority based flow control between nodes
CN108616458B (zh) 客户端设备上调度分组传输的***和方法
WO2019196630A1 (zh) 负载均衡的方法、设备及***
US9185047B2 (en) Hierarchical profiled scheduling and shaping
US10129151B2 (en) Traffic management implementation method and apparatus, and network device
US8867559B2 (en) Managing starvation and congestion in a two-dimensional network having flow control
US8750129B2 (en) Credit-based network congestion management
US8953631B2 (en) Interruption, at least in part, of frame transmission
JP2013115576A (ja) 受信データ処理方法、通信装置、及びプログラム
WO2022001175A1 (zh) 数据包发送的方法、装置
US20220103465A1 (en) Multi-Subflow Network Transmission Method and Apparatus
CN112953967A (zh) 网络协议卸载装置和数据传输***
JP2023511889A (ja) サービスレベル構成方法および装置
US20090274049A1 (en) Non-blocked network system and packet arbitration method thereof
CN116868553A (zh) 用于管理端点资源和拥塞缓解的数据中心网络上的动态网络接收器驱动的数据调度
US11646978B2 (en) Data communication method and apparatus
TWI609579B (zh) 資料封包訊務形塑技術
US11750522B2 (en) System and method for reducing congestion in a network
WO2022246710A1 (zh) 一种控制数据流传输的方法及通信装置
JP2008257642A (ja) パケット処理装置
US9325640B2 (en) Wireless network device buffers
WO2016145559A1 (zh) 一种光突发数据包传输方法及装置

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: 18869868

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018869868

Country of ref document: EP

Effective date: 20200504