CN110324256A - A kind of Transmitting Data Stream control method - Google Patents
A kind of Transmitting Data Stream control method Download PDFInfo
- Publication number
- CN110324256A CN110324256A CN201910393920.7A CN201910393920A CN110324256A CN 110324256 A CN110324256 A CN 110324256A CN 201910393920 A CN201910393920 A CN 201910393920A CN 110324256 A CN110324256 A CN 110324256A
- Authority
- CN
- China
- Prior art keywords
- data
- precision
- sending
- data segment
- value
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明专利涉及通信数据传输控制,具体涉及一种流式数据传输控制方法,包括以下操作:将数据分割为数据段,按数据重要程度将各数据段分为多个等级,设定精度等级阈值;使用拥塞窗口与往返时延的比值作为数据的最佳发送速率估计值,根据该值计算并更新各精度等级数据段的发送概率;按照TCP的数据发送机制依次发送被选中的数据段;根据ACK反馈估计网络的拥塞状况和可用带宽,以此更新拥塞窗口,并主动调整数据发送精度,控制所要传输数据的量。如果网络带宽变好,增加发送数据的精度;否者,减少发送数据的精度,确保传输的进度。
The patent of the present invention relates to communication data transmission control, in particular to a streaming data transmission control method, which includes the following operations: dividing data into data segments, dividing each data segment into multiple levels according to the importance of the data, and setting a precision level threshold ; Use the ratio of the congestion window to the round-trip delay as the estimated value of the optimal sending rate of the data, calculate and update the sending probability of each precision level data segment according to this value; send the selected data segments in turn according to the data sending mechanism of TCP; The ACK feedback estimates the congestion status and available bandwidth of the network, thereby updating the congestion window, and actively adjusts the data transmission accuracy to control the amount of data to be transmitted. If the network bandwidth becomes better, increase the accuracy of sending data; otherwise, reduce the accuracy of sending data to ensure the progress of transmission.
Description
技术领域technical field
本发明专利涉及通信数据传输控制,具体涉及一种流式数据传输控制方法。The patent of the present invention relates to communication data transmission control, in particular to a streaming data transmission control method.
背景技术Background technique
目前,在端对端数据传输服务的构建上,网络主要提供了两类服务模型:一类是面向链接,提供有序、可靠的数据交付服务,典型的代表为基于TCP(传输控制协议)进行数据传输;另一类是面向无连接,提供无序、不可靠的数据传输交付服务,典型代表为基于UDP(用户数据报协议)进行数据传输。At present, in the construction of end-to-end data transmission services, the network mainly provides two types of service models: one is link-oriented, providing orderly and reliable data delivery services, typically based on TCP (Transmission Control Protocol). Data transmission; the other type is connectionless, providing unordered and unreliable data transmission delivery services, typically based on UDP (User Datagram Protocol) for data transmission.
TCP传输协议通过复杂的设计,能够建立端到端的双向链接,提供有序可靠的流式数据传输服务,并能够根据网络的负载和拥塞情况,动态地调整数据的发送速率。The TCP transmission protocol can establish an end-to-end bidirectional link through a complex design, provide orderly and reliable streaming data transmission services, and dynamically adjust the data transmission rate according to network load and congestion.
而UDP协议则值提供了非常原始和简单的数据发送和侦听接口,只提供了尽力而为的数据传输能力。如果需要有序、可靠的数据数据交付,需要由应用自己实现。于此同时,UDP 协议本身也不包含拥塞控制机制。The UDP protocol provides a very primitive and simple data sending and listening interface, and only provides best-effort data transmission capabilities. If orderly and reliable data delivery is required, it needs to be implemented by the application itself. At the same time, the UDP protocol itself does not contain a congestion control mechanism.
随着网络应用的持续丰富,新兴的应用(如流媒体应用)对网络传输的服务模型提出了新的需求,这些新的传输需求不需要完全可靠的数据交付,但也不希望数据传输完全不可靠。With the continuous enrichment of network applications, emerging applications (such as streaming media applications) have put forward new requirements for the service model of network transmission. These new transmission requirements do not require completely reliable data delivery, but do not expect data transmission to be completely unreliable. reliable.
发明内容SUMMARY OF THE INVENTION
本发明的目的是提供一种可通过调整数据的发送精度从而确保数据传输进度的流式数据传输控制方法。The object of the present invention is to provide a streaming data transmission control method which can ensure the progress of data transmission by adjusting the transmission precision of data.
为了实现上述目的,本申请采用的技术方案是一种流式数据传输控制方法,包括以下操作:In order to achieve the above purpose, the technical solution adopted in this application is a streaming data transmission control method, which includes the following operations:
1)将数据分割为数据段,按数据重要程度将各数据段分为多个等级,设定精度等级阈值;1) Divide the data into data segments, divide each data segment into multiple levels according to the importance of the data, and set the accuracy level threshold;
2)使用拥塞窗口与往返时延的比值作为数据的最佳发送速率估计值,根据该值计算并更新各精度等级数据段的发送概率;2) Use the ratio of the congestion window to the round-trip delay as the estimated value of the best transmission rate of the data, and calculate and update the transmission probability of each precision level data segment according to this value;
3)按照TCP的数据发送机制依次发送被选中的数据段;3) Send the selected data segments in turn according to the data sending mechanism of TCP;
4)根据ACK反馈估计网络的拥塞状况和可用带宽,以此更新拥塞窗口,并使拥塞窗口的值≤数据段的期望发送速率*往返时延;其中,4) Estimate the congestion status and available bandwidth of the network according to the ACK feedback, so as to update the congestion window, and make the value of the congestion window ≤ the expected sending rate of the data segment * the round-trip delay; wherein,
当数据段等级值<精度等级阈值时,该数据为基础精度数据;When the data segment level value is less than the precision level threshold, the data is the basic precision data;
当数据段等级值≥精度等级阈值时,该数据为增强精度数据;When the data segment level value ≥ the precision level threshold, the data is enhanced precision data;
当被选中的基础精度数据ACK(Acknowledgement,确认字符)超时,则进行重传,并更新拥塞窗口和各精度等级数据段的发送概率;When the selected basic precision data ACK (Acknowledgement, confirmation character) times out, retransmission is performed, and the congestion window and the transmission probability of each precision level data segment are updated;
当被选中的增强精度数据ACK超时,不进行重传,只更新拥塞窗口和各精度等级数据段的发送概率;When the selected enhanced precision data ACK times out, no retransmission is performed, and only the congestion window and the transmission probability of each precision level data segment are updated;
当收到的ACK中包含ECN标记,则更新拥塞窗口和各精度等级数据段的发送概率。When the received ACK contains the ECN flag, the congestion window and the transmission probability of each precision level data segment are updated.
应用需要进行流式传输的数据分为多个数据等级,其中一部分需要可靠、有序的数据交付,而另外一部分可以容忍非可靠的数据交付;应用希望网络提供一种介于两者之间的“半可靠”传输控制协议。该协议一方面可以保证可靠数据有序、可靠交付,另一方面能够根据传输路径中链路的负载情况,动态地调整非可靠数据传输的精度。The data that the application needs to stream is divided into multiple data levels, some of which require reliable and ordered data delivery, and the other part can tolerate unreliable data delivery; the application expects the network to provide a kind of in-between. "Semi-reliable" Transmission Control Protocol. On the one hand, the protocol can ensure the orderly and reliable delivery of reliable data, and on the other hand, it can dynamically adjust the accuracy of unreliable data transmission according to the load of the link in the transmission path.
这种传输协议既能提供比UDP更高级的传输服务,又比TCP更简单,能更充分地利用网络带宽,更好地满足应用的数据传输需求。This transmission protocol can not only provide more advanced transmission services than UDP, but also simpler than TCP, and can make more full use of network bandwidth and better meet the data transmission requirements of applications.
上述的ECN(Explicit Congestion Notification)即显式拥塞通告,是某些版本的TCP 用来让中间设备提前告知发送者网络出现拥塞的机制。上述的一个数据段即对应TCP报文中的数据段(segment)。The above-mentioned ECN (Explicit Congestion Notification) is an explicit congestion notification, which is a mechanism used by some versions of TCP to let the intermediate device notify the sender of network congestion in advance. The above-mentioned one data segment corresponds to a data segment (segment) in the TCP message.
进一步的是,数据段发送过程中,利用SYN报文和ACK报文的TCP options中的保留字段,按照预设流程协商和确认任务的最大精度分级数目、精度等级阈值和期望发送速率。SYN 即同步序列编号(Synchronize Sequence Numbers),为同步标志,标志仅在三次握手建立TCP 连接时有效。它提示TCP连接的服务端检查序列编号,该序列编号为TCP连接初始端(一般是客户端)的初始序列编号。ACK即确认编号(Acknowledgement Number)。TCP报头内的确认编号栏内包含的确认编号为下一个预期的序列编号,同时提示远端系统已经成功接收该编号之前的所有数据。Further, during the data segment sending process, the reserved fields in the TCP options of the SYN message and the ACK message are used to negotiate and confirm the maximum number of precision classifications, the precision level threshold and the expected sending rate according to the preset process. SYN stands for Synchronize Sequence Numbers, which is a synchronization flag. The flag is only valid when the TCP connection is established by the three-way handshake. It prompts the server of the TCP connection to check the sequence number, which is the initial sequence number of the initial end of the TCP connection (usually the client). ACK is the Acknowledgement Number. The confirmation number contained in the confirmation number column in the TCP header is the next expected sequence number, and at the same time indicates that the remote system has successfully received all data before the number.
进一步的是,所述预设流程包含以下操作:Further, the preset process includes the following operations:
最大精度分级数目、精度等级阈值和期望发送速率的协商发生在TCP链接建立阶段;此时,发送端在SYN的TCP options字段中携带P值和RD_MAX值分别表示发送端能够支持的最大精度分级数目以及最大期望发送速率;以及PD_DEFAULT和RD_DEFAULT表示发送端推荐使用的最大精度分级数目和期望发送速率;The negotiation of the maximum number of precision levels, the threshold of precision levels, and the expected sending rate occurs during the TCP link establishment phase. At this time, the sender carries the P value and the RD_MAX value in the TCP options field of SYN to indicate the maximum number of precision levels that the sender can support, respectively. And the maximum expected sending rate; and PD_DEFAULT and RD_DEFAULT indicate the maximum number of precision levels and the expected sending rate recommended by the sender;
其中,接收端将收到的P、RD_MAX、PD_DEFAULT、RD_DEFAULT值保存在本地;对SYN报文进行ACK过程中,接收端将所需的精度等级阈值和所需的期望发送速率,通过ACK报文的TCP options,向发送端确认;Among them, the receiving end saves the received values of P, RD_MAX, PD_DEFAULT, and RD_DEFAULT locally; in the process of ACKing the SYN message, the receiving end sends the required precision level threshold and required expected sending rate through the ACK message. TCP options, confirm to the sender;
其中,接收端反馈的精度等级阈值<发送端通告的最大精度分级数目,期望发送速率≤发送端通告的RD_MAX值;Among them, the accuracy level threshold value fed back by the receiver is less than the maximum number of accuracy levels advertised by the sender, and the expected sending rate is less than or equal to the RD_MAX value advertised by the sender;
如果接收端不反馈,发送端默认采用PD_DEFAULT和RD_DEFAULT作为该接收端对应的传输任务的精度等级阈值和期望发送速率。(对于P、RD_MAX、PD_DEFAULT、RD_DEFAULT,发送端在连接阶段就会发给接收端,此时,接收端可以反馈自己的PD,RD,其他时候,接收端可以再次反馈新的PD,RD,达到更新该值的目的。)If the receiving end does not provide feedback, the transmitting end uses PD_DEFAULT and RD_DEFAULT by default as the accuracy level threshold and expected sending rate of the transmission task corresponding to the receiving end. (For P, RD_MAX, PD_DEFAULT, RD_DEFAULT, the sender will send it to the receiver during the connection stage. At this time, the receiver can feed back its own PD and RD. At other times, the receiver can feed back the new PD and RD again to achieve The purpose of updating this value.)
进一步的是,接收端将多个连续的数据段组成数据块,按数据块为单位进行解码,能够容忍增强精度数据段的缺失。在进行数据发送时按发送顺序对数据段进行编号,发送的数据段编号取值j,从0开始编号,与数据段一起发送;所述接收端在收到数据段时,可计算出该数据段对应的数据块编号值为k=j div P,其中div表示整除运算;对应的精度等级信息为i=j mod P,其中mod为求余运算。Further, the receiving end composes a plurality of consecutive data segments into data blocks, and decodes in units of data blocks, which can tolerate the absence of enhanced precision data segments. When data is sent, the data segments are numbered according to the sending sequence, and the number of the data segment to be sent takes the value j, starts from 0, and is sent together with the data segment; when the receiving end receives the data segment, it can calculate the data segment. The data block number value corresponding to the segment is k=j div P, where div represents an integer division operation; the corresponding precision level information is i=j mod P, where mod is a remainder operation.
若数据块k中所有数据段已经收到,则对该数据块进行解码;If all data segments in the data block k have been received, decode the data block;
若接收端存在编号值小于k,基础精度数据的数据段均已收齐但尚未解码的数据块,则对该数据块进行解码。If there is a data block whose number value is less than k and the data segments of the basic precision data have been collected but have not been decoded at the receiving end, the data block is decoded.
进一步的是,对待传输的所有数据段进行编号和配置;每个数据段中携带所述数据段的编号和表明该数据段重要程度的精度等级编号;等级编号、数据段编号存放于TCP数据段的 TCP options保留字段中,其中,数据段编号与TCP报文头中的seq序列编号独立。Further, all data segments to be transmitted are numbered and configured; each data segment carries the number of the data segment and the precision level number indicating the importance of the data segment; the level number and the data segment number are stored in the TCP data segment. In the reserved field of TCP options, the data segment number is independent of the seq sequence number in the TCP header.
进一步的是,使用拥塞窗口与网络往返时延的比值作为数据的最佳发送速率估计值时,采用第一预设策略随机地挑选所要进行传输的数据段并进行传输;所述第一预设策略为:Further, when the ratio of the congestion window to the network round-trip delay is used as the estimated value of the optimal sending rate of the data, the first preset strategy is used to randomly select and transmit the data segment to be transmitted; the first preset The strategy is:
P为最大精度分级数目;P is the maximum precision classification number;
PD为精度等级阈值;PD is the precision level threshold;
i为等级编号;i is the grade number;
RD为期望发送速率;RD is the expected sending rate;
对于精度等级为i的每个数据段,以数据段发送概率Pr(i)被选中;For each data segment with precision level i, the data segment transmission probability Pr(i) is selected;
设当前网络的往返延迟为rtt,拥塞控制窗口大小为cwnd,那么,Pr(i)的取值为:Assuming that the round-trip delay of the current network is rtt and the size of the congestion control window is cwnd, then the value of Pr(i) is:
对于i<PD的精度等级,Pr(i)=1;For the accuracy class i<PD, Pr(i)=1;
对于PD≤i≤P-1的精度等级,Pr(i)=1-max(0,min(1,i-cwnd/rtt*P/RD))。For a precision class of PD≤i≤P-1, Pr(i)=1-max(0,min(1,i-cwnd/rtt*P/RD)).
发送端在带宽充足时以期望发送速率传输数据,带宽不充足时动态降低传输精度以维持相同或相似的传输进度同时避免拥塞。The sender transmits data at the desired transmission rate when the bandwidth is sufficient, and dynamically reduces the transmission accuracy when the bandwidth is insufficient to maintain the same or similar transmission progress while avoiding congestion.
上述的数据精度或数据精度等级是通过数据段发送概率来刻画的。Pr(i)是一个0-1之间的数,表示精度等级为i的数据段,以多大的概率被选中传输。如果为1,表示该等级的数据段百分之百传输;如果是0,表示该等级的所有数据段都不传输。The above-mentioned data precision or data precision level is characterized by the transmission probability of the data segment. Pr(i) is a number between 0 and 1, indicating the probability that the data segment with precision level i is selected for transmission. If it is 1, it means that 100% of the data segments of this level are transmitted; if it is 0, it means that all data segments of this level are not transmitted.
进一步的是,发送端根据是否收到反馈的ACK以及ACK确认的TCP数据段确认号,判断传输过程中是否出现了丢包;Further, the sender judges whether there is packet loss during the transmission process according to whether it receives the feedback ACK and the TCP data segment acknowledgment number confirmed by the ACK;
如果基础精度数据的ACK超时,则对该数据段进行重传,并按照TCP原有的策略调整滑动窗口的大小并且同时更新各精度等级数据段的发送概率;If the ACK of the basic precision data times out, the data segment will be retransmitted, and the size of the sliding window will be adjusted according to the original TCP policy, and the transmission probability of each precision level data segment will be updated at the same time;
如果增强型精度数据的ACK出现了超时,则不进行重传,按照第二预设策略调整滑动窗口的大小并且同时更新各精度等级数据段的发送概率;If the ACK of the enhanced precision data times out, no retransmission is performed, the size of the sliding window is adjusted according to the second preset strategy, and the transmission probability of each precision level data segment is updated at the same time;
如果发送端收到的ACK携带ECN标记,按照TCP原有的策略调整滑动窗口的大小,并按照新的滑动窗口值,更新各精度等级数据段的发送概率。If the ACK received by the sender carries the ECN flag, the size of the sliding window is adjusted according to the original TCP policy, and the transmission probability of each precision level data segment is updated according to the new sliding window value.
有些版本的TCP协议当收到多个确认号相同的ACK时,也为认为网络发生了丢包,会主动重传;同时,有的版本的TCP还引入了SACK等机制。在这些情形下,发送端均按照对应版本TCP原有的策略调整滑动窗口的大小,并更新各精度等级数据段的发送概率。When some versions of TCP protocol receive multiple ACKs with the same acknowledgment number, they also think that the network has lost packets and will actively retransmit them; at the same time, some versions of TCP also introduce mechanisms such as SACK. In these cases, the sender adjusts the size of the sliding window according to the original policy of the corresponding version of TCP, and updates the sending probability of each precision level data segment.
进一步的是,所述第二预设策略为:调整后的拥塞控制窗口大小=调整前的拥塞控制窗口大小–1。Further, the second preset strategy is: the size of the congestion control window after adjustment=the size of the congestion control window before adjustment−1.
进一步的是,接收端对于基础精度数据段已经收齐但尚未解码的数据块,当基础精度数据收齐的时间超过预设值时间T,则立即进行解码。Further, for a data block whose basic precision data segment has been collected but not yet decoded, when the time when the basic precision data is collected exceeds the preset time T, the receiving end immediately performs decoding.
进一步的是,如果网络中间设备支持严格多优先级队列调度,则设支持的优先级数目为 PS,为基础精度数据的数据段携带最高优先级0;精度等级值为PD,PD+1,…,min(P-1, PD+PS-1)的增强精度数据的数据段分别携带优先级1,2,3,…,PS-1,其余精度等级的数据段携带优先级值PS-1。Further, if the network intermediate device supports strict multi-priority queue scheduling, the number of supported priorities is set as PS, and the data segment of the basic precision data carries the highest priority 0; the precision level values are PD, PD+1, ... ,min(P-1, PD+PS-1) data segments of enhanced precision data carry priorities 1, 2, 3, ..., PS-1 respectively, and data segments of other precision levels carry priority value PS-1.
本发明包含下列至少一种有益效果:The present invention includes at least one of the following beneficial effects:
能够根据反馈的链路可用带宽信息,主动调整数据的发送精度,控制所要传输数据的量。如果网络带宽变好,则增加发送数据的精度;否者,减少发送数据的精度,从而减少所要发送的量,确保传输的进度。It can actively adjust the transmission accuracy of data and control the amount of data to be transmitted according to the feedback information of the available bandwidth of the link. If the network bandwidth becomes better, increase the accuracy of sending data; otherwise, reduce the accuracy of sending data, thereby reducing the amount to be sent and ensuring the progress of transmission.
根据精度等级将数据划分为需要可靠传输和不需要可靠传输的两类。当传输中出现丢包时,只对丢失的可靠数据进行重传,避免网络有效吞吐率的下降,让传输协议不被非可靠数据的丢包阻塞。According to the accuracy level, the data is divided into two categories that require reliable transmission and those that do not require reliable transmission. When packet loss occurs during transmission, only the lost reliable data is retransmitted to avoid the drop in the effective throughput of the network and prevent the transmission protocol from being blocked by the loss of unreliable data.
下面结合附图和具体实施方式对本发明做进一步的说明。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显。或通过本发明的实践了解到。The present invention will be further described below with reference to the accompanying drawings and specific embodiments. Additional aspects and advantages of the present invention will, in part, be set forth in, and will become apparent from, the following description. or learned through the practice of the present invention.
附图说明Description of drawings
构成本发明的一部分的附图用来辅助对本发明的理解,附图中所提供的内容及其在本发明中有关的说明可用于解释本发明,但不构成对本发明的不当限定。在附图中:The accompanying drawings that constitute a part of the present invention are used to assist the understanding of the present invention, and the content provided in the drawings and their related descriptions in the present invention can be used to explain the present invention, but do not constitute an improper limitation of the present invention. In the attached image:
图1为用于说明实施方式中的实施方式中的流式数据传输控制方法示意图;1 is a schematic diagram for explaining a streaming data transmission control method in an embodiment of the embodiment;
图2为用于说明实施方式中的数据段、数据块发送和编号顺序的示意图;Fig. 2 is a schematic diagram for explaining data segment, data block transmission and numbering sequence in the embodiment;
具体实施方式Detailed ways
下面结合附图对本发明进行清楚、完整的说明。本领域普通技术人员在基于这些说明的情况下将能够实现本发明。在结合附图1和2对本发明进行说明前,需要特别指出的是:The present invention will be clearly and completely described below with reference to the accompanying drawings. Those of ordinary skill in the art will be able to implement the present invention based on these descriptions. Before the present invention is described in conjunction with accompanying drawings 1 and 2, it should be noted that:
本发明中在包括下述说明在内的各部分中所提供的技术方案和技术特征,在不冲突的情况下,这些技术方案和技术特征可以相互组合。The technical solutions and technical features provided in the various parts including the following description in the present invention can be combined with each other under the condition of no conflict.
此外,下述说明中涉及到的本发明的实施例通常仅是本发明一分部的实施例,而不是全部的实施例。因此,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护的范围。In addition, the embodiments of the present invention referred to in the following description are generally only a part of the embodiments of the present invention, not all of the embodiments. Therefore, based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without creative work shall fall within the protection scope of the present invention.
关于本发明中术语和单位。本发明的说明书和权利要求书及有关的部分中的术语“包括”以及它的任何变形,意图在于覆盖不排他的包含。Regarding the terms and units in the present invention. The term "comprising" and any variations thereof in the description and claims of the present invention and related parts are intended to cover the non-exclusive inclusion.
参照图1、2,本实施方式采用一种带宽感知的分级多精度数据半可靠的流式数据传输控制方法。该控制方法可以通过扩展现有的TCP传输协议进行实现(支持在不同版本的TCP上进行扩展)。该方法在实施上包含三类参与者:数据发送端、接收端,以及一个或多个网络中间转发设备。传输控制方案通过发送端和接收端的协作完成。1 and 2, this embodiment adopts a bandwidth-aware hierarchical multi-precision data semi-reliable streaming data transmission control method. The control method can be implemented by extending the existing TCP transmission protocol (supporting the extension on different versions of TCP). The method includes three types of participants in implementation: a data sending end, a receiving end, and one or more network intermediate forwarding devices. The transmission control scheme is completed through the cooperation of the sender and the receiver.
采用的网络服务模型:The network service model adopted:
在该控制方法中,每个数据传输任务的需求由三元组<P,PD,RD>来描述。P为最大精度分级数目、PD为精度等级阈值、RD为数据的最佳发送速率。表示应用待传输的每份数据能够被拆分为0,1,…,P-1共P个精度等级(等级值越低越重要);其中,精度等级值小于PD的数据段需要可靠有序的数据交付,称其为基础精度数据;而精度等级值大于或等于PD的数据段只需尽力而为的数据传输服务,称其为增强精度数据;应用期望的数据发送速率为RD,称其为期望发送速率。<P,PD,RD>的取值由数据发送端和接收端在链接建立或数据发送过程中协商一致。In this control method, the requirement of each data transmission task is described by the triplet <P, PD, RD>. P is the maximum number of precision levels, PD is the precision level threshold, and RD is the optimal data transmission rate. Indicates that each piece of data to be transmitted by the application can be divided into 0, 1, ..., P-1, a total of P precision levels (the lower the level value, the more important); among them, the data segment with the precision level value less than PD needs to be reliable and orderly The data delivery is called basic precision data; and the data segment whose precision level value is greater than or equal to PD only needs best-effort data transmission service, called enhanced precision data; the data transmission rate expected by the application is RD, called it is the expected sending rate. The values of <P, PD, RD> are negotiated by the data sender and receiver during link establishment or data transmission.
如图2所示,其中一行就是一个数据块,k,k+1,…为数据块编号。每行包含多个数据段, j为数据段编号。一个数据段刚好放到一个TCP数据段中进行传输。As shown in Figure 2, one row is a data block, and k, k+1, ... are the data block numbers. Each row contains multiple data segments, and j is the data segment number. A data segment is just put into a TCP data segment for transmission.
即k为数据块编号,j是数据段编号。每个数据块最多包含P个数据段。解码时,一个数据块中收到的数据段越完整,解码获得的数据就越精确。i和j会携带在数据段中传输。对于接收端而言,通过j以及建立链接时候发送端告知接收端的P,能够反算出该数据段对应的k值。That is, k is the data block number, and j is the data segment number. Each data block contains at most P data segments. When decoding, the more complete the data segment received in a data block, the more accurate the data obtained by decoding. i and j will be carried in the data segment for transmission. For the receiving end, the k value corresponding to the data segment can be inversely calculated through j and the P that the sending end informs the receiving end when the link is established.
在该方案中,待传输的数据被均匀的拆分为多个数据块,每个数据块又被编码为P个精度等级;每个数据块中相同精度等级的数据被打包到同一个数据段中,逐层的进行编号和传输。一个数据段对应于TCP传输中的一个数据包,数据段的大小根据网络中TCP的maximum segment size(MSS)确定。数据段中的编号采用循环编号的方式,与TCP的数据段序列号值 seq独立。接收端收到数据段后,解码恢复出各数据块的内容。如果一个数据块中的部分精度分级数据出现了缺失(即数据不全),接收端依然能够进行解码恢复,不过,解码获得的结果会不准确。对于每份数据块,接收端收到的数据段越全,解码获得的数据越精确;并且,等级值越低的数据段对解码精度的贡献越大。In this scheme, the data to be transmitted is evenly divided into multiple data blocks, and each data block is encoded into P precision levels; the data of the same precision level in each data block is packed into the same data segment , the numbering and transmission are performed layer by layer. A data segment corresponds to a data packet in TCP transmission, and the size of the data segment is determined according to the maximum segment size (MSS) of TCP in the network. The numbering in the data segment adopts a cyclic numbering method, which is independent from the TCP data segment sequence number value seq. After receiving the data segment, the receiving end decodes and recovers the content of each data block. If part of the precision classification data in a data block is missing (that is, the data is incomplete), the receiving end can still perform decoding and recovery, but the result obtained by decoding will be inaccurate. For each data block, the more complete the data segment received by the receiver, the more accurate the data obtained by decoding; and the lower the level value of the data segment, the greater the contribution to the decoding accuracy.
面对上述传输需求,发送端和接收端之间建立一个类似TCP的网络传输链接,流式地进行数据传输;传输结束后断开链接。In the face of the above transmission requirements, a TCP-like network transmission link is established between the sender and the receiver, and data transmission is performed in a streaming manner; the link is disconnected after the transmission is completed.
链接建立过程中,发送端和接收端对该传输任务的<P,PD,RD>参数进行协商和确认。传输过程中,接收端可以更新该参数。During the link establishment process, the sender and receiver negotiate and confirm the <P, PD, RD> parameters of the transmission task. During transmission, the receiving end can update this parameter.
设当前发送端的拥塞窗口大小为cwnd,网络往返延迟值为rtt。Let the current sender's congestion window size be cwnd, and the network round-trip delay value is rtt.
参照图1,本方法的步骤可以按下列进行:Referring to Figure 1, the steps of the method can be carried out as follows:
1.发送端使用cwnd与rtt的比值作为数据的最佳发送速率估计值,并以此确定选择哪些精度的数据段进行传输,具体方式为调整各精度等级数据段的发送概率Pr(i)的取值,其中 i=0,1,…,P-1;对于精度等级为i的数据段,发送端随机地以概率Pr(i)选择是否要发送;1. The sender uses the ratio of cwnd to rtt as the estimated value of the best sending rate of data, and determines which precision data segments are selected for transmission. The specific method is to adjust the transmission probability Pr(i) of each precision level data segment. Value, where i=0,1,...,P-1; for the data segment with precision level i, the sender randomly selects whether to send with probability Pr(i);
2.发送端按照TCP的数据发送机制依次发送被选中的数据段,接收端对收到的数据段进行确认;2. The sender sends the selected data segments in turn according to the TCP data sending mechanism, and the receiver confirms the received data segments;
3.发送端根据ACK反馈估计网络的拥塞状况和可用带宽,以此更新拥塞窗口cwnd,并使 cwnd的值不超过期望发送速率RD与往返时延rtt之积;3. The sender estimates the congestion status and available bandwidth of the network according to the ACK feedback, so as to update the congestion window cwnd, so that the value of cwnd does not exceed the product of the expected sending rate RD and the round-trip delay rtt;
如果被选中的基础精度数据ACK超时,发送端则进行重传,并更新cwnd和Pr(i);如果被选中的增强精度数据ACK超时,发送端不进行重传,只更新cwnd和Pr(i);如果收到的ACK 中包含ECN标记,则更新cwnd和Pr(i)。If the selected basic precision data ACK times out, the sender retransmits and updates cwnd and Pr(i); if the selected enhanced precision data ACK times out, the sender does not retransmit, only updates cwnd and Pr(i) ); if the received ACK contains the ECN flag, update cwnd and Pr(i).
在实现上,本方法可基于现有各种版本的TCP协议进行修改扩展,实现相应的控制设计,也可以进行完整的重新设计。基于现有TCP进行扩展的实现方案能够与现有的网络设备兼容,并复用已有的TCP代码实现,因此作为本发明的优选实施方式。In terms of implementation, the method can be modified and extended based on the existing TCP protocols of various versions to realize the corresponding control design, and can also be completely redesigned. The extension based on the existing TCP can be compatible with the existing network equipment, and can be realized by multiplexing the existing TCP code, so it is a preferred embodiment of the present invention.
在本方法中,链接建立(或数据发送)过程中,发送端和接收端利用SYN报文(或正常数据报文,即TCP链接建立完成后发送数据时的数据报文,除了在链接建立初期进行相关参数的协商配置外,在数据传输过程中也可以再次重新协商。这个时候,TCP链接已经建立完毕,借助的是数据报文而不是SYN报文来完成参数的传递。)和ACK报文TCP options中的保留字段,按照预设流程协商和确认任务的<P,PD,RD>参数。In this method, during the link establishment (or data transmission) process, the sender and the receiver use the SYN message (or normal data message, that is, the data message when sending data after the TCP link is established, except in the initial stage of link establishment. In addition to the negotiation and configuration of related parameters, it can also be renegotiated during the data transmission process. At this time, the TCP link has been established, and the parameter transmission is completed with the help of data packets instead of SYN packets.) and ACK packets The reserved fields in TCP options negotiate and confirm the <P, PD, RD> parameters of the task according to the preset process.
这里的预设流程是:The default flow here is:
<P,PD,RD>的协商发生在TCP链接建立/握手阶段,此时,发送端在SYN的TCPoptions 字段中携带P值和RD_MAX值,分别表示发送端能够支持的最大精度分级数目,以及最大发送速度;以及PD_DEFAULT和RD_DEFAULT表示发送端推荐使用的PD值和RD值。接收端将收到的P、RD_MAX、PD_DEFAULT、RD_DEFAULT值保存在本地。The negotiation of <P, PD, RD> occurs in the TCP link establishment/handshake phase. At this time, the sender carries the P value and the RD_MAX value in the TCPoptions field of SYN, which respectively indicate the maximum number of precision levels that the sender can support, and the maximum Sending speed; and PD_DEFAULT and RD_DEFAULT indicate the PD value and RD value recommended by the sender. The receiver saves the received P, RD_MAX, PD_DEFAULT, and RD_DEFAULT values locally.
对SYN报文进行ACK过程中,接收端将所需的PD值和RD值,通过ACK报文的 TCPoptions,向发送端确认。接收断反馈的PD必须小于发送端通告的P值,RD值不高于发送端通告的RD_MAX值。In the process of ACKing the SYN message, the receiver confirms the required PD value and RD value to the sender through the TCPoptions of the ACK message. The PD receiving the disconnection feedback must be smaller than the P value advertised by the sender, and the RD value should not be higher than the RD_MAX value advertised by the sender.
如果接收端不反馈,发送端默认采用PD_DEFAULT和RD_DEFAULT作为该接收端对应的传输任务的PD和RD值。If the receiving end does not feedback, the transmitting end adopts PD_DEFAULT and RD_DEFAULT as the PD and RD values of the corresponding transmission task of the receiving end by default.
在数据段发送过程中,接收段还可以对PD,RD进行更新,但不保证一定成功。此时,接收端在向发送端的连续M个ACK报文的TCP options中捎带新的PD值和RD值,M的取值根据网络状况设置,典型值为5。发送端收到后,更新该接收节点对应的PD值和RD值。During the data segment sending process, the receiving segment can also update PD and RD, but it is not guaranteed to be successful. At this time, the receiver sends a new PD value and RD value to the TCP options of M consecutive ACK messages to the sender. The value of M is set according to the network conditions, and the typical value is 5. After the sender receives it, it updates the PD value and RD value corresponding to the receiving node.
利用TCP options中的保留字段传输相关信息的设计如下表1:The design of using the reserved fields in TCP options to transmit related information is shown in Table 1:
表1Table 1
发送端对待传输的所有数据段进行编号和配置。每个数据段中携带数据段编号j(该编号与TCP报文头中的seq序列号码独立)。j存放于TCP数据段的TCP options保留字段中。The sender numbers and configures all data segments to be transmitted. Each data segment carries a data segment number j (this number is independent of the seq sequence number in the TCP header). j is stored in the TCP options reserved field of the TCP data segment.
发送端会根据当前链接的cwnd值,依次通过第一策略随机地挑选所要进行传输的数据段,并进行传输;第一策略的目标是,协议在带宽充足时以速率RD传输数据,带宽不充足时动态降低传输精度以维持相同或相似的传输进度同时避免拥塞。采用的方法是随机丢包,对于精度等级为i的每个数据段,以Pr(i)的概率被选中。假设当前网络的往返延迟为rtt,拥塞控制窗口大小为cwnd,那么,Pr(i)的取值如下:According to the cwnd value of the current link, the sender will randomly select and transmit the data segments to be transmitted through the first strategy in turn; the goal of the first strategy is that the protocol transmits data at the rate RD when the bandwidth is sufficient, and the bandwidth is insufficient. The transmission accuracy is dynamically reduced from time to time to maintain the same or similar transmission progress while avoiding congestion. The method used is random packet loss, and for each data segment with precision level i, it is selected with the probability of Pr(i). Assuming that the round-trip delay of the current network is rtt and the size of the congestion control window is cwnd, then the values of Pr(i) are as follows:
对于i<PD的精度等级,Pr(i)=1;For the accuracy class i<PD, Pr(i)=1;
对于PD≤i≤P-1的精度等级,Pr(i)=1-max(0,min(1,i-cwnd/rtt*P/RD))。For a precision class of PD≤i≤P-1, Pr(i)=1-max(0,min(1,i-cwnd/rtt*P/RD)).
发送端根据是否收到接收端反馈的ACK,以及ACK确认的TCP数据段确认号,判断传输过程中是否出现了丢包。如果基础精度数据段的ACK超时,则对该数据段进行重传,并按照 TCP原有的策略调整滑动窗口的大小;如果是增强型精度的ACK出现了超时,则不进行重传,按照第二策略调整滑动窗口的大小;对于收到的ACK如果携带了ECN标记,或者其他情况,均按照TCP原有的策略调整滑动窗口的大小。前述的第二策略为cwnd=cwnd–1。The sender determines whether packet loss occurs during the transmission process according to whether it receives the ACK feedback from the receiver and the TCP data segment acknowledgment number confirmed by the ACK. If the ACK of the basic precision data segment times out, the data segment will be retransmitted, and the size of the sliding window will be adjusted according to the original TCP policy; if the ACK of the enhanced precision data segment has timed out, no retransmission will be performed. The second strategy adjusts the size of the sliding window; if the received ACK carries the ECN mark, or in other cases, the size of the sliding window is adjusted according to the original TCP strategy. The aforementioned second strategy is cwnd=cwnd−1.
接收端在收到数据段j时,该数据段对应的数据块编号值k=j div P,其中表示整除运算;对应的精度等级信息为i=j mod P,其中mod为求余运算。When the receiving end receives the data segment j, the data block number value k=j div P corresponding to the data segment represents an integer division operation; the corresponding precision level information is i=j mod P, where mod is a remainder operation.
若数据块k中所有数据段已经收到,则对该数据块进行解码;如果接收端存在编号值小于k,基础精度数据的数据段均已收齐当尚未解码的数据块,则对该数据块进行解码。If all the data segments in the data block k have been received, the data block is decoded; if there is a number value less than k at the receiving end, and the data segments of the basic precision data have been collected as the data blocks that have not been decoded, the data block will be decoded. block to decode.
接收端对于基础精度数据段已经收齐但尚未解码的数据块,如果基础精度数据收齐的时间超过T(T可取值为rtt),则立即进行解码。For the data blocks whose basic precision data segments have been collected but not yet decoded, if the time for collecting the basic precision data exceeds T (T can be rtt), the receiving end will immediately perform decoding.
如果网络中间设备支持严格多优先级队列调度。假设支持的优先级数目为PS,那么,为基础精度数据的数据段携带最高优先级0;精度等级值为PD,PD+1,…,min(P-1,PD+PS-1) 的增强精度数据的数据段分别携带优先级1,2,3,…,PS-1,其余精度等级的数据段携带优先级值PS-1。If the network intermediary supports strict multi-priority queue scheduling. Assuming that the number of supported priorities is PS, then the data segment for the basic precision data carries the highest priority 0; the precision level values are PD, PD+1, ..., min(P-1, PD+PS-1) enhancements The data segments of the precision data carry priorities 1, 2, 3, ..., PS-1 respectively, and the data segments of other precision levels carry the priority value PS-1.
采用本实施方式的流式数据传输控制方法,发送端能够根据接收端反馈的链路可用带宽信息,主动调整数据的发送精度,控制所要传输数据的量。如果网络带宽变好,则增加发送数据的精度;否者,减少发送数据的精度,从而减少所要发送的量,确保传输的进度。根据精度等级将数据划分为需要可靠传输和不需要可靠传输的两类。当传输中出现丢包时,只对丢失的可靠数据进行重传,避免有效吞吐率的下降,让传输协议不被非可靠数据的丢包阻塞。With the streaming data transmission control method of this embodiment, the sender can actively adjust the data sending accuracy and control the amount of data to be transmitted according to the available bandwidth information of the link fed back by the receiver. If the network bandwidth becomes better, increase the accuracy of sending data; otherwise, reduce the accuracy of sending data, thereby reducing the amount to be sent and ensuring the progress of transmission. According to the accuracy level, the data is divided into two categories that require reliable transmission and those that do not require reliable transmission. When packet loss occurs during transmission, only the lost reliable data is retransmitted to avoid the drop in effective throughput and prevent the transmission protocol from being blocked by the loss of unreliable data.
以上对本发明的有关内容进行了说明。本领域普通技术人员在基于这些说明的情况下将能够实现本发明。基于本发明的上述内容,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护的范围。The content of the present invention has been described above. Those of ordinary skill in the art will be able to implement the present invention based on these descriptions. Based on the above content of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative work shall fall within the protection scope of the present invention.
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910393920.7A CN110324256B (en) | 2019-05-13 | 2019-05-13 | Streaming data transmission control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910393920.7A CN110324256B (en) | 2019-05-13 | 2019-05-13 | Streaming data transmission control method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN110324256A true CN110324256A (en) | 2019-10-11 |
| CN110324256B CN110324256B (en) | 2022-10-14 |
Family
ID=68119076
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201910393920.7A Active CN110324256B (en) | 2019-05-13 | 2019-05-13 | Streaming data transmission control method |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN110324256B (en) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110943803A (en) * | 2019-12-09 | 2020-03-31 | 西南交通大学 | Data transmission control method based on erasure coding |
| CN110958078A (en) * | 2019-11-01 | 2020-04-03 | 南通先进通信技术研究院有限公司 | Low-delay stream code packet transmission method for high-loss link |
| CN111163013A (en) * | 2020-03-02 | 2020-05-15 | 西南交通大学 | A Congestion Control Method for Semi-reliable Data Transmission Based on UDP |
| CN111614572A (en) * | 2020-04-28 | 2020-09-01 | 网络通信与安全紫金山实验室 | A TCP Network Congestion Control Method Based on RTT |
| CN113300967A (en) * | 2021-02-05 | 2021-08-24 | 阿里巴巴集团控股有限公司 | RDMA (remote direct memory Access) network transmission method and device and RDMA network communication system |
| CN113660066A (en) * | 2020-05-12 | 2021-11-16 | 阿里巴巴集团控股有限公司 | A sliding window-based data transmission method, network card device and storage medium |
| CN114238219A (en) * | 2021-12-10 | 2022-03-25 | 广西电网有限责任公司电力科学研究院 | A method and system for dynamic collection of interactive daily statistical reports of power transmission, transformation and distribution |
| CN120633959A (en) * | 2025-08-18 | 2025-09-12 | 上海龙田数码科技有限公司 | Optimization method, equipment and medium for low-carbon production data |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1511396A (en) * | 2001-04-04 | 2004-07-07 | ����ɭ�绰�ɷ�����˾ | data flow control method |
| US20050013246A1 (en) * | 2003-03-25 | 2005-01-20 | Motoharu Miyake | Communication device, transmission control method, and program product |
| US20080181109A1 (en) * | 2007-01-24 | 2008-07-31 | Ntt Docomo, Inc. | Communication Terminal, Congestion Control Method, and Congestion Control Program |
| CN103929370A (en) * | 2013-01-11 | 2014-07-16 | 中国科学院声学研究所 | A TCP Congestion Control Method for Bandwidth Reservation Network |
| US20150236966A1 (en) * | 2014-02-18 | 2015-08-20 | Alcatel-Lucent Usa Inc. | Control of congestion window size of an information transmission connection |
-
2019
- 2019-05-13 CN CN201910393920.7A patent/CN110324256B/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1511396A (en) * | 2001-04-04 | 2004-07-07 | ����ɭ�绰�ɷ�����˾ | data flow control method |
| US20050013246A1 (en) * | 2003-03-25 | 2005-01-20 | Motoharu Miyake | Communication device, transmission control method, and program product |
| US20080181109A1 (en) * | 2007-01-24 | 2008-07-31 | Ntt Docomo, Inc. | Communication Terminal, Congestion Control Method, and Congestion Control Program |
| CN103929370A (en) * | 2013-01-11 | 2014-07-16 | 中国科学院声学研究所 | A TCP Congestion Control Method for Bandwidth Reservation Network |
| US20150236966A1 (en) * | 2014-02-18 | 2015-08-20 | Alcatel-Lucent Usa Inc. | Control of congestion window size of an information transmission connection |
Cited By (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110958078A (en) * | 2019-11-01 | 2020-04-03 | 南通先进通信技术研究院有限公司 | Low-delay stream code packet transmission method for high-loss link |
| CN110958078B (en) * | 2019-11-01 | 2022-06-24 | 南通先进通信技术研究院有限公司 | Low-delay stream code packet transmission method for high-loss link |
| CN110943803A (en) * | 2019-12-09 | 2020-03-31 | 西南交通大学 | Data transmission control method based on erasure coding |
| CN110943803B (en) * | 2019-12-09 | 2021-10-08 | 西南交通大学 | A Data Transmission Control Method Based on Erasure Erasure Coding |
| CN111163013B (en) * | 2020-03-02 | 2022-04-29 | 西南交通大学 | A Congestion Control Method for Semi-reliable Data Transmission Based on UDP |
| CN111163013A (en) * | 2020-03-02 | 2020-05-15 | 西南交通大学 | A Congestion Control Method for Semi-reliable Data Transmission Based on UDP |
| CN111614572A (en) * | 2020-04-28 | 2020-09-01 | 网络通信与安全紫金山实验室 | A TCP Network Congestion Control Method Based on RTT |
| CN113660066A (en) * | 2020-05-12 | 2021-11-16 | 阿里巴巴集团控股有限公司 | A sliding window-based data transmission method, network card device and storage medium |
| CN113660066B (en) * | 2020-05-12 | 2025-07-22 | 阿里巴巴集团控股有限公司 | Data transmission method based on sliding window, network card equipment and storage medium |
| CN113300967A (en) * | 2021-02-05 | 2021-08-24 | 阿里巴巴集团控股有限公司 | RDMA (remote direct memory Access) network transmission method and device and RDMA network communication system |
| CN113300967B (en) * | 2021-02-05 | 2024-03-12 | 阿里巴巴集团控股有限公司 | RDMA network transmission method, RDMA network transmission device and RDMA network communication system |
| CN114238219A (en) * | 2021-12-10 | 2022-03-25 | 广西电网有限责任公司电力科学研究院 | A method and system for dynamic collection of interactive daily statistical reports of power transmission, transformation and distribution |
| CN120633959A (en) * | 2025-08-18 | 2025-09-12 | 上海龙田数码科技有限公司 | Optimization method, equipment and medium for low-carbon production data |
Also Published As
| Publication number | Publication date |
|---|---|
| CN110324256B (en) | 2022-10-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110324256B (en) | Streaming data transmission control method | |
| EP1786136B1 (en) | Packet retransmission apparatus, communication system and program | |
| US7013346B1 (en) | Connectionless protocol | |
| US7035214B1 (en) | System and method for a negative acknowledgement-based transmission control protocol | |
| EP1568180B1 (en) | A method for enhancing transmission quality of streaming media | |
| EP3654563B1 (en) | Transmission timeout system | |
| JP4654926B2 (en) | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND CONgestion Control Method Used In Them | |
| EP2632102A1 (en) | Method and device for data transmission | |
| EP1708400B1 (en) | Loss tolerant transmission control protocol | |
| JP4354406B2 (en) | Data unit transmitter and control method of the transmitter | |
| EP1771742B1 (en) | High performance tcp for systems with infrequent ack | |
| US20080101290A1 (en) | Apparatus for Arq Controlling in Wireless Portable Internet System and Method Thereof | |
| CN107979449A (en) | A kind of data transmission method and device | |
| CN102148662A (en) | Adjusting method and device for data transmitting speed | |
| WO2010092323A2 (en) | Data transmission | |
| Yadav et al. | A review of congestion control mechanisms for wireless networks | |
| Ruiz et al. | Redundancy adaptation scheme for network coding with TCP | |
| WO2008049018A2 (en) | Method and system for traffic flow control in a communication network | |
| KR100913897B1 (en) | Transmission Control Protocol Congestion Control Method to Reduce the Number of Retransmission Timeouts | |
| JP4531302B2 (en) | Packet relay apparatus and method thereof | |
| CN115189809B (en) | Heterogeneous network real-time video transmission ARQ and FEC mode selection method based on QOE | |
| EP1733527B1 (en) | Technique for handling outdated information units | |
| Liu et al. | MPMTP-AR: Multipath message transport protocol based on application-level relay. | |
| JP2003198612A (en) | File transfer method in packet communication network | |
| KR101396785B1 (en) | Method for performing tcp functions in network equipmment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| TR01 | Transfer of patent right |
Effective date of registration: 20231007 Address after: 518000 1104, Building A, Zhiyun Industrial Park, No. 13, Huaxing Road, Henglang Community, Longhua District, Shenzhen, Guangdong Province Patentee after: Shenzhen Hongyue Information Technology Co.,Ltd. Address before: 610031 No. 111, North Section of Second Ring Road, Chengdu City, Sichuan Province Patentee before: SOUTHWEST JIAOTONG University |
|
| TR01 | Transfer of patent right | ||
| TR01 | Transfer of patent right |
Effective date of registration: 20231213 Address after: Room 1613-1616, 16th Floor, Block 2, Yuexiu Xinghui Yunjin Plaza, No. 84 Nanhai Avenue North, Guicheng Street, Nanhai District, Foshan City, Guangdong Province, 528000 (Residence Declaration) Patentee after: Guangdong Chanming Information Technology Co.,Ltd. Address before: 518000 1104, Building A, Zhiyun Industrial Park, No. 13, Huaxing Road, Henglang Community, Longhua District, Shenzhen, Guangdong Province Patentee before: Shenzhen Hongyue Information Technology Co.,Ltd. |
|
| TR01 | Transfer of patent right |