CN1533656A - 在基于否定应答的协议中可靠和有效地支持阻塞控制的方法 - Google Patents

在基于否定应答的协议中可靠和有效地支持阻塞控制的方法 Download PDF

Info

Publication number
CN1533656A
CN1533656A CNA02814600XA CN02814600A CN1533656A CN 1533656 A CN1533656 A CN 1533656A CN A02814600X A CNA02814600X A CN A02814600XA CN 02814600 A CN02814600 A CN 02814600A CN 1533656 A CN1533656 A CN 1533656A
Authority
CN
China
Prior art keywords
server
client
speed
grouping
rtt
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.)
Pending
Application number
CNA02814600XA
Other languages
English (en)
Inventor
��D����ŵ��
D·罗圭诺夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1533656A publication Critical patent/CN1533656A/zh
Pending legal-status Critical Current

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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/18End to end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow 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)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

揭示了用于在服务器与客户之间通过通信链路交换多个消息以支持在其间的阻塞控制的系统和方法。本发明通过利用在基于NACK(否定应答)的应用中的发明性数据结构来支持对每个丢失分组的多个重发企图,从而提供在服务器与客户之间通过互联网的实时数据流应用中的阻塞控制。在基于NACK的应用中不采用重发超时(RTO)协议来控制网络的能力允许有效地操纵各种各样的网络业务,包括视频和多媒体业务。

Description

在基于否定应答的协议中 可靠和有效地支持阻塞控制的方法
                       发明背景
1.发明领域
本发明涉及数字分组通信,具体地,涉及在数字交换分组电信环境下用于交换控制分组以支持阻塞控制的方法和系统。
2.发明描述
许多互联网数据流应用需要阻塞控制,它允许客户节点和服务器节点在初始按特定的数值设置传输速率值,此后调节该速率,以适应在数据链路上消息传输的动态范围。当前,在数据通信网中有两种类型的互联网传送协议来支持阻塞控制和丢失分组的恢复。第一种方法是传输控制协议(TCP)所规定的基于应答(ACK)的方法,它涉及到接收机(或客户)响应每个接收的分组而发送肯定的应答(ACK)。每个ACK分组提供RTT的样本以及载送有关丢失的分组的信息。图1(a)显示用于到达接收端点的数据的TCP的肯定应答(ACK)处理过程,作为用于错误恢复的机制。这个系统根据这样的原则运行:只有未应答的帧应当被重发。为了确保分组被发送源安全地接收,TCP通过管理对每个连接的重发定时器而使用重发超时(RTO)机制。即,TCP设置重发定时器和添加RTO值以及该连接的路程来回时间(RTT)。RTT是在TCP型数据段的传输开始与该数据段的应答接收之间经过的时间。如果在RTO1已经超过的时间之前没有接收到应答,则TCP在下一个RTO2内再次重发该数据。
第二种方法是在用户数据报文协议(UDP)下基于否定应答(NACK)的方法,它涉及到接收机响应每个丢失的分组发送否定的应答(NACK)。图1(b)显示否定应答(NACK)的UDP系统,它涉及响应丢失的帧把NACK分组转发到发送源(或服务器)以便重发。如图1(b)所示,NACK分组可以是沿着从接收机到发送者的路径丢失的。UDP利用重发超时(RTO)机制,它类似于用于重发连接的TCP。根据先前RTT的各样本预测下一个RTT数值从而进行RTO估值。如果RTO是过估值的,则它导致TCP中较低的吞吐量性能,并在实时应用中可能引起欠流事件数量增加。然而,如果RTO是欠估值的,则协议生成大量分组复本,这造成严重的网络阻塞,因为许多不必要的分组被重发。实际上,由于历史原因,许多建议的阻塞控制方案依赖于基于窗口的流动控制,这类似于在TCP中出现的流动控制。
在实时数据流应用中,例如,在多媒体应用中,由于沿着从接收机到发送者的路径的较低的附加开销和丢失数据潜在地较快的恢复,宁愿采用基于NACK的运行。然而,在基于NACK的协议中的阻塞控制典型地被认为是困难的,由于较高的振荡程度(这由基于NACK的阻塞控制的“开环”运行造成的),以及基于NACK方案不能从每个发送的分组得出RTT样本(这导致低频率反馈)。而且,对于基于NACK的协议,不存在有效地(即,以较少的超时)克服控制信息丢失的通用方法。所以,本发明涉及在基于NACK环境下在服务器与客户之间交换阻塞控制消息的改进机制,而同时达到低的振荡水平、高频率地测量RTT、分组丢失的高可恢复性、比特速率高的可缩放度、有效的基于NACK的重发、以及传统的基于ACK的阻塞控制的功能。
发明概要
本发明针对在服务器与客户之间通过互联网的实时数据流应用中用于提供阻塞控制的方法和系统。
本发明的一个方面涉及调节分组通信系统中的发送者速率,以支持在服务器与客户之间的阻塞控制的方法。该方法包括以下步骤:发送多个数据分组到客户;确定数据分组之一在从服务器到客户的通信连接中是否丢失;如果数据分组之一丢失,则由用户发送一个用于重发的应答分组;根据分组丢失比和在发送应答分组到服务器与从服务器接收丢失分组的相应的重发之间的等待时间相对应的路程来回时间(RTT)来计算新的发送者速率;以及如果在所述通信连接期间检测到预定数目的RTT,则由服务器调节新的发送者速率。
本发明的另一个方面涉及调节分组通信系统中的发送者速率,以支持在服务器与客户之间的阻塞控制的系统。系统包括:用于接收多个数据分组的装置;用于确定数据分组之一在传输期间是否丢失的装置;用于请求重发任何丢失的帧分组的装置;用于根据分组丢失比和在向服务器请求重发丢失的帧与从服务器接收丢失分组的相应的重发之间的等待时间相对应的路程来回时间(RTT)来计算新的发送者速率的装置;以及如果计算的RTT的数目此后满足预定的门限值则用于把新的发送者速率通知服务器的装置。
本领域技术人员在结合附图阅读以下的详细说明后将明白这些和其他实施例。
附图简述
图1(a)显示在TCP通信环境下的代表性数据流;
图1(b)显示在UDP通信环境下的代表性数据流;
图2显示按照本发明的系统的方框图;
图3显示按照本发明的、在服务器端的用户数据报文协议(UDP)分组的格式;
图4(a)是显示按照本发明的、测量路程来回时间(RTT)的分组交换的时间图;
图4(b)是显示按照本发明的、克服控制行动分组损失的分组交换的比较时间图;以及
图5是显示按照本发明的、阻塞控制的运行的流程图。
优选实施例详细描述
在下面的说明中,为了说明而不是限制,阐述了具体细节,诸如特定的结构、接口、技术等等,以便提供对本发明的透彻的了解。另外,为了清晰和简明性,省略熟知的器件、电路、和方法的详细说明,以免用不必要的细节遮蔽本发明的说明。
按照本发明的阻塞控制的运行是在客户确定来自服务器的分组以太快的速率到达以致于它可能引起阻塞时被执行的。为此,客户把阻塞控制信息插入它发送的应答消息中,这使接收应答消息的服务器减小发送分组到客户时的速率。如果此后阻塞消除,则客户节点在应答分组中发送阻塞控制信息,它允许接受服务器增加向客户发送分组的速率。另外,本发明提供使得客户能够检测重发被丢失的一种机制,而不是像在现有技术系统中那样使用重发超时(RTO),因此能够更快恢复丢失的分组。而且,本发明的机制对于沿着从客户到服务器的路径的分组丢失和重新安排是有弹性的。也就是,本发明的机制的运行可防止服务器对由客户发送的过时的和重新安排的阻塞控制消息作出反应。而且,本发明的机制允许对阻塞控制运行的抑制调整到特定的阻塞控制算法,和对于增加和减小阻塞控制的循环提供不同程度的抑制(后面说明)。
参照图2,使用本发明的系统10包括服务器12和客户系统14,它们通过网络16的接入链路互相通信。在服务器与客户之间的通信连接可包括无线通信链路、有线通信链路、以及有线通信链路与无线通信链路的组合中的至少一种。服务器12和客户14可包括例如个人计算机或计算机工作站,它可以由一个或几个用户使用。本发明的选择的实施例是在服务器与客户系统内执行的软件。计算机程序(或计算机控制逻辑)被存储在各个系统的主存储器中。这样的计算机程序在被执行时,使得各个系统能够执行正如这里讨论的本发明的功能。应当指出,为了说明的目的,图2所示的网络是小的,但实际上网络可包括数目大得多的不同的计算机系统。另外,应当指出,本发明可以在客户-服务器环境下被实施,但客户-服务器环境并不是重要的。
按照本发明的实施例,在阻塞控制运行期间由客户14发送到服务器12的控制分组有两种类型。第一类型的消息载送重发请求,它们典型地被称为NACK消息。第二类型的消息被称为阻塞控制(CC)消息,它载送要在从服务器12到客户14的路径上实施的新的传输速率。也就是,表示新的传输速率r(t)的阻塞控制运行的输出是从客户14发送到服务器12的。这里,新的传输速率r(t)是根据服务器分组的分组丢失比和控制分组的路程来回时间(RTT)计算的。根据测量到的RTT和或分组丢失比来计算新的传输速率或新的发送者速率在技术上是熟知的,以及可以以各种方式来执行。新的传输速率的精确的计算是依赖于实施方案的,以及本领域技术人员知道,有许多不同的方式。例如,在1998年6月29日提交的、美国专利申请No.6,115,357中揭示了根据传输延时和RTT确定发送者速率的技术,该专利申请在此引用,以供参考。在实施例中,新的传输速率r(t)被插入在每个NACK消息中。替换地,如果没有丢失的分组,则新的传输速率r(t)通过阻塞控制(CC)分组从客户14被发送到服务器12。
数据流的速率部分地是根据传输延时和路程来回时间(RTT)的。图3显示分组标题的结构,正如在以前的段落中描述的,它们被使用来在客户14与服务器12之间交换控制分组,执行按照本发明的实施例的阻塞控制。本领域技术人员应当看到,来自所示的实施例的其他的数据结构可被成功地使用,包括但不限于不同大小的区,以不同的次序安排这些区,以及图3上没有呈现的附加区。
如图3所示,由客户14发送的每个分组包含在现有技术方法中不存在的两个区。第一个区,testRTT序列,用来测量RTT,以及检测重发分组是否丢失。为此,服务器12在接收来自客户14的控制分组后,把最近从客户14接收的testRTT序列复制到每个转发到客户14的分组中。然后,通过对在发送具有testRTT序列的请求与接收具有相同的序列号的服务器分组之间的持续时间进行计时,客户14计算RTT。例如,在图4(a)和图4(b)上的符号(x,y)表示其序列号是x而其testRTT_sequence是y这样的分组。如图4所示,如果分组(100,2)在传输期间被丢失,则NACK分组(100,3)为要重发而被发送到服务器12。此后,该请求的分组(100,3)从服务器12被重发到客户14并且也丢失了。不过,客户收到下一个源分组(103,3),它表示服务器收到了客户的请求。假设是在FIFO网络中,客户可推断出重发分组(100,3)的丢失。因此,通过观察从分组(102,2)到分组(103,3)的testRTTsequence改变,客户14可产生按照本发明的路程来回时间(RTT),以及当它收到分组(103,3)时发送对于分组100的第二个NACK。也就是,如果客户14发送具有testRTT sequence i的NACK从而接收具有大于或等于i的testRTT sequence的服务器分组,并且如果在这个时间之前客户14没有接收到在具有序列i的NACK中请求的重发,则客户14知道请求的重发分组已丢失以及NACK分组应当再次重发。路程来回时间(RTT)被规定为在发送请求(或者NACK或者CC)到服务器12与接收表示服务器已收到客户请求的服务器分组(即,具有大于或等于由客户发送的上一个序号的testRTT sequence的分组)之间的时间。因此,CC和NACK分组可用来产生RTT的测量值,因为在本发明中为了测量RTT它们依赖同一个testRTT sequence区。
参照图4(b),按照本发明的实施例的、在图3上显示的NACK消息中的rate(t)区的用途是快速克服在从客户14到服务器12的路径上CC分组的丢失,而不用像在现有技术系统中那样等待重发超时(RTO)。如果rate(t)在CC分组中发送,而它被丢失,则客户14可以紧接在丢失的CC消息后发送具有同一个rate(t)的NACK,而不用等待整个RTT周期。这个情况发生在有丢失的分组但NACK能得到保证时。在现有技术系统中,客户14需要等待超时,而这时RTO典型地是实际RTT的保守的估计(即,高得多)。在本发明中,如果CC被丢失,则后面的NACK将向服务器提供比起如果客户14等待整个RTT重发CC消息来说早得多的rate(t)。因此,本发明提供丢失的CC分组的快得多的恢复,以及在恢复丢失的CC分组时,消除不必要的重发超时(RTO)等待。应当指出,每次发送新的CC或NACK分组时,testRTT sequence增加1。
参照图4b的上部的图,当具有(r(t),3)的CC消息丢失时(其中r(t)是新的速率,以及3是testRTT sequence),在超时以后,客户14能只克服RTO时间单元之后CC消息的丢失。请注意在两个CC消息之间有NACK消息(100,4)。NACK消息在现有技术中没有充分利用。因此,服务器12在时间T1时接收到速率r(t)。在本技术中(图的底部),NACK除了丢失的分组的序列号(即,100)和下一个testRTT sequence(即,4)以外还载送速率r(t)。因此,服务器12能快得多得到速率,即在时间T0而不是T1。应当指出,在不用本发明的情况下,如果重发分组(100,4)在RTO超时之前返回客户,则客户可以推断CC分组的丢失以及在超时之前重发CC分组,但整个RTT(而不是RTO)时间单元仍旧被浪费。
继续参照图3,在CC和NACK分组中第二区(CA(控制行动)序列)的功能是输送阻塞控制序列号到服务器12以及阻止服务器12对由客户14送出的阻塞控制消息作出对每个RTT一次以上的反应。也就是,CA序列提供一种机制:系统在修正新的发送者速率之前要等待预定的时间间隔(或最小阻塞控制周期)。在本发明中,最小阻塞控制周期,代表在规定新的发送者速率之前测量到的RTT的数目,它可以经过一个RTT后出现。另外,最小阻塞控制周期对于阻塞控制的增加和减小阶段可以是不同的。为了达到这一点,客户14只在需要发送新的阻塞控制行动到服务器12时才给CA序列加增量,因此服务器12必须忽略在具有小于或等于服务器的本地的CA序列数值的CA序列的分组中收到的速率r(t)。另外,这个方法防止服务器12对于重新排序的阻塞控制消息(例如,不按顺序到达的过时的CC和NACK消息)作出反应,以及将不触发速率改变。
图5显示按照本发明的实施例的、客户14如何决定阻塞控制行动的频率(例如,每个周期的持续时间)和CA序列如何加增量的运行步骤。当客户14因通信而连接到服务器12和发送控制分组到服务器12时,客户14把表示服务器12向他发送消息分组时的速率的速率值传送到服务器12。每个以后的消息分组可包括阻塞控制信息,它可以改变先前确定的速率值。初始地,在步骤100,客户14接收来自服务器12的分组,这时testRTT sequence等于i。在步骤102,客户14确定当前接收的testRTT sequence i是否大于或等于先前执行的testRTTsequence(last_action_seq):i≥last_action_seq?如果是的话,则执行第一路程来回时间(RTT)。在步骤104,RTT测量的循环数被加增量1:CC_cycle=CC_cycle+1。然后,在步骤106,确定RTT测量的当前的循环数是否超过预定的增加参考循环数(kI*RTT)或预定的减小参考循环数(kD*RTT)。在优选实施例中。kD的数值等于1以及kI是在2与4之间。因此,如果当前的循环数超过kD或kI循环数,则客户14将通过使用CC或NACK分组来规定服务器12提高或降低发送速率。在步骤108或步骤110,如果在步骤104中更新的新的循环数大于各个预定的参考循环数,则在步骤112,CA_seq加增量1,以及发送速率被改变到根据RTT计算的新的速率:CA_seq=CA_seq+1和CC_cycles=0。当RTT的数值不断地改变时,客户14不能依赖于它先前测量的RTT数值,而必须依赖于在每次CC和NACK请求的计时所测量的RTT。也就是,如果新的CC行动在时间t发生以及客户的CA序列的当前值是j,则客户14在时间t把CA序列的数值加增量到j+1,以及发送CC或NACK(当有需要恢复已损失的分组时)到服务器12。如果当前的循环数没有超过kD或kI循环数,分别是在步骤108:CC_cycles>kI和在步骤110:CC_cycles>kD,则在步骤114,客户更新testRTT数值。在步骤114期间,不改变CA序列数,而只是改变testRTT序列数:testRTT_seq=testRTT_seq+1。换句话说,如果客户14在时间t改变发送速率r(t),则它必须在允许增加之前对kI个路程来回延时保持相同的速率,例如,下一个增加行动在时间t+kI*RTT时发生。同样地,如果下一个行动是减小,则需要保持r(t)的最小时间量是kD个路程来回延时。最后,对每个发送的NACK和每个CC分组,客户14可以启动重发超时(RTO)定时器,以克服控制消息(即,NACK和CC消息)的丢失。对于每个发送的CC或NACK分组,本发明维持一个定时器。如果客户得到一个其testRTT_sequence大于或等于最后发送的序号的服务器分组之前定时器超时,则相应的CC或NACK分组被重发。
图6显示运行步骤,使得客户14能够克服分组丢失和调节服务器12的发送者速率,而不需要重发超时(RTO)机制。初始地,服务器12通过网络把至少一个源分组发送到客户14。如图14所示,如果从服务器12到客户14的源分组被错误地发送或丢失,则客户14发送否定应答(NACK)分组到服务器12,要求重发。如果重发的分组被丢失,客户在步骤200内根据以后的源分组的testRTT_sequence区推断丢失(见图4的例子)。在实施例中,客户14在实时进程中必须周期地测量路程来回延时。RTT是在发送NACK或CC消息与接收相应的重发或第一服务器分组(它确认服务器接收到来自客户的相应的请求)之间的延时。应当指出,在本发明中,每个CC消息提供RTT的测量值。由于CC消息是相当频繁的,客户以高的频率得到RTT样本,达到与基于ACK的阻塞控制方案相同的性能。在步骤210,在设置新的发送者速率以前通过得到路程来回延时的附加样本,由客户14重复地测量RTT。在步骤230,如果达到多个预定的循环数,则客户14发送最近计算的RTT,而同时将控制行动(CA)序列加增量1,通知服务器12调节发送者速率。此后,如果另外的数据分组被客户14接收,则运行步骤200-230再次重复进行。
总之,本发明提供在基于NACK协议下用于阻塞控制的新的框架,它通过现有的基于NACK的阻塞控制方法达到重大的性能改进,例如,低的振荡率,对抗分组丢失和重新安排的可恢复性,不会超时的检测丢失重发,根据每个CC/NACK消息测量RTT,和非常少的复制分组的、基于NACK的重发。通过已描述的在数字通信链路上管理阻塞控制消息的优选实施例,本领域技术人员应当看到,系统的某些优点已经达到。以上说明仅仅被看作为本发明的说明性实施例。因此,本领域技术人员可容易地设想提供类似于本实施例的功能的另外的装置,而不背离本发明的基本原理或范围。

Claims (20)

1.在分组通信系统中用于调节发送者速率以便支持在服务器(12)与客户(14)之间的阻塞控制的方法,该方法包括以下步骤:
(a)发送多个数据分组到所述客户(14);
(b)由所述客户(14)确定在从所述服务器(12)到所述客户(14)的通信连接上所述数据分组之一是否丢失;
(c)如果所述数据分组之一丢失,则由所述客户(14)发送要求重发的应答分组;
(d)根据在发送所述应答分组到所述服务器(12)与从服务器(12)接收到与所述丢失分组相应的重发之间的等待时间相对应的路程来回时间(RTT),计算新的发送者速率;以及
(e)如果在所述通信连接期间此后检测到了预定数量的所述RTT,则发送所述新的发送者速率到所述服务器(12)。
2.权利要求1的方法,其中所述RTT按照以下步骤确定:
如果所述数据分组之一丢失,则发送具有RTT序列号的第一分组到所述服务器(12);
接收响应于来自所述服务器的所述第一分组的含有丢失分组的第二分组;以及
根据在所述第一分组与所述第二分组之间的延时来计算所述路程来回时间(RTT)。
3.权利要求1的方法,其中在所述服务器(12)与所述客户(14)之间的通信连接包括无线通信链路、有线通信链路、以及有线通信链路与无线通信链路的组合中的至少一种。
4.权利要求1的方法,还包括以下步骤:
由所述客户(14)响应于多个所述数据分组包括多个应答消息,规定所述服务器(12)发送以后的数据分组到所述客户(14)时的传输速率的所述新的发送者速率;以及
由所述服务器响应于所述应答消息,调节所述服务器(12)向所述客户(14)发送以后的数据分组的所述新的发送者速率。
5.权利要求1的方法,还包括以下步骤:
在所述应答分组中包括一个区,RTT序列号和所述新的发送者速率;以及
如果从所述服务器(12)接收的所述RTT序列号是混乱的,则由所述客户确定所述数据分组之一被丢失。
6.权利要求1的方法,还包括以下步骤:
在所述应答分组中包括一个区,表示发送所述新的发送者速率到所述服务器(12)的控制动作(CA)序列号;以及
如果此后检测到所述预定数目的所述RTT,则由服务器(12)调节所述新的发送者速率。
7.权利要求1的方法,其中所述应答分组是否定应答(NACK)分组和表示发送所述新的发送者速率到所述服务器(12)的控制动作(12)分组中的一个分组。
8.权利要求1的方法,其中所述新的发送者速率的所述计算是根据分组丢失比进行的。
9.在通信链路上在服务器(12)与客户(14)之间交换多个消息,以便支持在它们之间的阻塞控制的方法,该方法包括运行步骤:
(a)从所述服务器(12)发送多个数据分组到所述客户(14);
(b)如果所述突发数据分组之一丢失,则由所述客户(14)发送否定应答(NACK)分组,以便重发;
(c)由所述客户(14)计算在发送所述NACK分组到所述服务器(12)与从服务器(12)接收所述丢失的分组的相应的重发之间的等待时间相对应的路程来回时间(RTT);
(d)根据表示所述服务器(12)发送以后的数据分组到所述客户时的传输速率的所述计算得出的RTT,确定新的发送者速率;
(e)响应于包含所述新的发送者速率的多个所述数据分组,接连地发送多个应答分组;以及
(f)如果所述RTT被计算为大于预定的门限值,则由所述服务器(12)调整所述新的发送者速率。
10.权利要求9的方法,其中所述RTT按照以下步骤确定:
如果所述数据分组之一丢失,则发送具有RTT序列号的第一分组到所述服务器(12);
接收响应于来自所述服务器(12)的所述第一分组的含有所述丢失分组的第二分组;以及
根据在所述第一分组与所述第二分组之间的延时来计算所述RTT。
11.权利要求9的方法,其中在所述服务器(12)与所述客户(14)之间的通信链路包括无线通信链路、有线通信链路、以及有线通信链路与无线通信链路的组合中的至少一种。
12.权利要求9的方法,还包括以下步骤:
由所述客户(14)响应于多个所述数据分组包括多个应答消息,规定所述服务器(12)发送以后的数据分组到所述客户(14)时的传输速率的所述新的发送者速率;以及
由所述服务器(12)响应于所述应答消息,调节所述服务器向所述客户(14)发送以后的数据分组的所述新的发送者速率。
13.权利要求9的方法,还包括以下步骤:
在所述应答分组中包括一个区、RTT序列号和所述新的发送者速率;以及
如果从所述服务器(12)接收的所述RTT序列号是混乱的,则由所述客户(14)确定所述数据分组之一被丢失。
14.权利要求9的方法,还包括以下步骤:
在所述应答分组中包括一个区,表示发送所述新的发送者速率到所述服务器(12)的控制动作(CA)序列号;以及
如果此后检测到所述预定数目的所述RTT,则由服务器(12)调节所述新的发送者速率。
15.权利要求9的方法,其中所述应答分组是否定应答(NACK)分组和表示发送所述新的发送者速率到所述服务器(12)的控制动作(12)分组中的一个分组。
16.在分组通信系统中用于调节发送者速率以便支持在服务器(12)与客户(14)之间的阻塞控制的系统,包括:
用于接收多个数据分组的装置;
用于确定在传输期间所述数据分组之一是否丢失的装置;
用于请求重发任何丢失的帧的分组的装置;
用于根据在向所述服务器(12)请求重发所述丢失的帧与从所述服务器(12)接收到所述丢失的帧的相应的重发之间的等待时间相对应的路程来回时间(RTT)计算新的发送者速率的装置;以及
如果所述RTT被计算为大于预定的门限值则用于把所述新的发送者速率告知所述服务器(12)的装置。
17.权利要求16的系统,其中所述第一分组包括规定所述服务器(12)可向所述客户(14)发送以后的数据分组的传输速率的所述新的发送者速率和RTT序列号,以及其中如果从所述服务器(12)接收的所述RTT序列号是混乱的,则所述数据分组之一被确定为丢失的。
18.权利要求16的方法,其中所述第一分组包括表示发送所述新的发送者速率到所述服务器(12)的控制动作(CA)序列号。
19.权利要求16的方法,还包括用于调整服务器(12)在发送以后的数据分组到所述客户(14)时的所述新的发送者速率。
20.在通信链路上在服务器(12)与客户(14)之间交换多个消息以便支持在它们之间的阻塞控制的系统,包括:
用于发送多个数据分组到所述客户(14)的装置;
如果所述突发数据分组之一丢失则用于由所述客户(14)发送否定应答(NACK)分组以要求重发的装置;
用于由所述客户(14)计算在发送所述NACK分组到所述服务器(12)与从服务器(12)收到所述丢失的分组的相应的重发之间的等待时间相对应的路程来回时间(RTT)的装置;
用于根据表示所述服务器发送后继的数据分组到所述客户(14)时的传输速率的所述算出的RTT来确定新的发送者速率的装置;
用于响应于包含所述新的发送者速率的多个所述数据分组来接连地发送多个应答分组的装置;以及
如果所述RTT被计算为大于预定的门限值则用于由所述服务器(12)调整所述新的发送者速率的装置。
CNA02814600XA 2001-07-26 2002-07-02 在基于否定应答的协议中可靠和有效地支持阻塞控制的方法 Pending CN1533656A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/915,678 2001-07-26
US09/915,678 US20030023746A1 (en) 2001-07-26 2001-07-26 Method for reliable and efficient support of congestion control in nack-based protocols

Publications (1)

Publication Number Publication Date
CN1533656A true CN1533656A (zh) 2004-09-29

Family

ID=25436113

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA02814600XA Pending CN1533656A (zh) 2001-07-26 2002-07-02 在基于否定应答的协议中可靠和有效地支持阻塞控制的方法

Country Status (6)

Country Link
US (1) US20030023746A1 (zh)
EP (1) EP1415444A1 (zh)
JP (1) JP2004537218A (zh)
KR (1) KR20040015009A (zh)
CN (1) CN1533656A (zh)
WO (1) WO2003010931A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101513075B (zh) * 2006-08-29 2012-04-04 汤姆逊许可证公司 修复具有丢失分组的容器文件中包括的样本的方法和装置
CN111132098A (zh) * 2018-10-31 2020-05-08 阿尔卑斯通信器件技术(上海)有限公司 通信器、中央通信装置以及蓝牙通信系统

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6883168B1 (en) * 2000-06-21 2005-04-19 Microsoft Corporation Methods, systems, architectures and data structures for delivering software via a network
US7657473B1 (en) * 2002-05-07 2010-02-02 Diebold Self-Service Systems Division Of Diebold, Incorported Automated banking machine that operates responsive to data bearing records
US7907613B1 (en) * 2002-05-09 2011-03-15 Avaya Inc. Method and apparatus for measuring RTT in a cumulative acknowledgment transmission protocol
US7212837B1 (en) 2002-05-24 2007-05-01 Airespace, Inc. Method and system for hierarchical processing of protocol information in a wireless LAN
US7327697B1 (en) 2002-06-25 2008-02-05 Airespace, Inc. Method and system for dynamically assigning channels across multiple radios in a wireless LAN
US7593356B1 (en) 2002-06-25 2009-09-22 Cisco Systems, Inc. Method and system for dynamically assigning channels across multiple access elements in a wireless LAN
US8046471B2 (en) * 2002-09-19 2011-10-25 Hewlett-Packard Development Company, L.P. Regressive transport message delivery system and method
US7542471B2 (en) * 2002-10-30 2009-06-02 Citrix Systems, Inc. Method of determining path maximum transmission unit
US8270423B2 (en) 2003-07-29 2012-09-18 Citrix Systems, Inc. Systems and methods of using packet boundaries for reduction in timeout prevention
US7630305B2 (en) * 2003-07-29 2009-12-08 Orbital Data Corporation TCP selective acknowledgements for communicating delivered and missed data packets
US8233392B2 (en) * 2003-07-29 2012-07-31 Citrix Systems, Inc. Transaction boundary detection for reduction in timeout penalties
US7616638B2 (en) 2003-07-29 2009-11-10 Orbital Data Corporation Wavefront detection and disambiguation of acknowledgments
US7539994B2 (en) * 2003-01-03 2009-05-26 Intel Corporation Dynamic performance and resource management in a processing system
WO2004084474A1 (en) * 2003-03-17 2004-09-30 Telefonaktiebolaget Lm Ericsson (Publ) Method for obtaining information about a transmission capability
US7508801B1 (en) 2003-03-21 2009-03-24 Cisco Systems, Inc. Light-weight access point protocol
US7342906B1 (en) 2003-04-04 2008-03-11 Airespace, Inc. Distributed wireless network security system
US7301926B1 (en) 2003-04-04 2007-11-27 Airespace, Inc. Automatic coverage hole detection in computer network environments
US7313113B1 (en) * 2003-04-04 2007-12-25 Airespace, Inc. Dynamic transmit power configuration system for wireless network environments
US7346338B1 (en) 2003-04-04 2008-03-18 Airespace, Inc. Wireless network system including integrated rogue access point detection
US7340247B1 (en) 2003-05-29 2008-03-04 Airespace, Inc. Wireless network infrastructure including wireless discovery and communication mechanism
US7539169B1 (en) 2003-06-30 2009-05-26 Cisco Systems, Inc. Directed association mechanism in wireless network environments
US7643442B1 (en) 2003-06-30 2010-01-05 Cisco Systems, Inc. Dynamic QoS configuration based on transparent processing of session initiation messages
US7453840B1 (en) 2003-06-30 2008-11-18 Cisco Systems, Inc. Containment of rogue systems in wireless network environments
KR20060056940A (ko) * 2003-07-11 2006-05-25 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 데이터 패킷 전송 방법, 데이터 패킷 전송 시스템, 기지국,이동 가입자국 및 컴퓨터 프로그램
US8437284B2 (en) * 2003-07-29 2013-05-07 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
US7698453B2 (en) 2003-07-29 2010-04-13 Oribital Data Corporation Early generation of acknowledgements for flow control
US7656799B2 (en) * 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
US8238241B2 (en) * 2003-07-29 2012-08-07 Citrix Systems, Inc. Automatic detection and window virtualization for flow control
US8432800B2 (en) * 2003-07-29 2013-04-30 Citrix Systems, Inc. Systems and methods for stochastic-based quality of service
JP4362761B2 (ja) * 2003-10-29 2009-11-11 ソニー株式会社 送信装置および方法、記録媒体、並びにプログラム
US7310682B2 (en) * 2004-01-08 2007-12-18 Lsi Corporation Systems and methods for improving network performance
US7205938B2 (en) * 2004-03-05 2007-04-17 Airespace, Inc. Wireless node location mechanism responsive to observed propagation characteristics of wireless network infrastructure signals
US8930569B2 (en) * 2004-05-05 2015-01-06 Qualcomm Incorporated Methods and apparatus for optimum file transfers in a time-varying network emvironment
US7542435B2 (en) * 2004-05-12 2009-06-02 Nokia Corporation Buffer level signaling for rate adaptation in multimedia streaming
US7433696B2 (en) * 2004-05-18 2008-10-07 Cisco Systems, Inc. Wireless node location mechanism featuring definition of search region to optimize location computation
GB2414891B (en) * 2004-06-04 2007-11-07 Marconi Comm Ltd Communications system
GB2417400B (en) * 2004-08-18 2008-12-03 Wecomm Ltd Network data transmission
US7286835B1 (en) 2004-09-10 2007-10-23 Airespace, Inc. Enhanced wireless node location using differential signal strength metric
US8259565B2 (en) * 2004-09-16 2012-09-04 Qualcomm Inc. Call setup in a video telephony network
US20060062223A1 (en) * 2004-09-17 2006-03-23 Nokia Corporation Delay-reduced stall avoidance mechanism for reordering a transport block
US7516174B1 (en) 2004-11-02 2009-04-07 Cisco Systems, Inc. Wireless network security mechanism including reverse network address translation
US7457262B1 (en) 2004-11-05 2008-11-25 Cisco Systems, Inc. Graphical display of status information in a wireless network management system
EP1847071A4 (en) 2005-01-26 2010-10-20 Internet Broadcasting Corp B V MULTI-DIFFUSION IN LAYERS AND EXACT ATTRIBUTION OF BANDWIDTH AND PRIORIZATION OF PACKETS
US7805140B2 (en) * 2005-02-18 2010-09-28 Cisco Technology, Inc. Pre-emptive roaming mechanism allowing for enhanced QoS in wireless network environments
US7596376B2 (en) * 2005-02-18 2009-09-29 Cisco Technology, Inc. Methods, apparatuses and systems facilitating client handoffs in wireless network systems
US7339915B2 (en) * 2005-10-11 2008-03-04 Cisco Technology, Inc. Virtual LAN override in a multiple BSSID mode of operation
US7924884B2 (en) * 2005-12-20 2011-04-12 Citrix Systems, Inc. Performance logging using relative differentials and skip recording
US7821986B2 (en) * 2006-05-31 2010-10-26 Cisco Technology, Inc. WLAN infrastructure provided directions and roaming
US7499718B2 (en) * 2006-08-01 2009-03-03 Cisco Technology, Inc. Enhanced coverage hole detection in wireless networks
US8189474B2 (en) * 2006-09-27 2012-05-29 Infosys Limited Dynamic stack-based networks for resource constrained devices
US7596461B2 (en) * 2007-07-06 2009-09-29 Cisco Technology, Inc. Measurement of air quality in wireless networks
US8904027B2 (en) 2010-06-30 2014-12-02 Cable Television Laboratories, Inc. Adaptive bit rate for data transmission
CN102694713B (zh) * 2011-03-21 2015-08-05 鸿富锦精密工业(深圳)有限公司 网络通信多通路选择方法及系统
US9215184B2 (en) * 2011-10-17 2015-12-15 Hewlett-Packard Development Company, L.P. Methods of and apparatus for managing non-congestion-controlled message traffic in a datacenter
CN103067791A (zh) * 2012-12-11 2013-04-24 深圳市梦网科技发展有限公司 一种网络动态适应监控视频传输方法
US9432458B2 (en) * 2013-01-09 2016-08-30 Dell Products, Lp System and method for enhancing server media throughput in mismatched networks
JP6051891B2 (ja) * 2013-01-31 2016-12-27 富士ゼロックス株式会社 通信状況測定装置及びプログラム
JP5928370B2 (ja) * 2013-02-22 2016-06-01 富士ゼロックス株式会社 通信情報計測装置及びプログラム
US9209947B1 (en) * 2014-01-21 2015-12-08 Saratoga Data Systems, Inc. Fault-tolerant data transmission system for networks subject to jamming conditions
US20160226628A1 (en) * 2015-01-30 2016-08-04 Huawei Technologies Co., Ltd. System and method for data retransmission
KR101671429B1 (ko) 2016-03-24 2016-11-01 롯데케미칼 주식회사 벤조산의 제조 방법
KR101642960B1 (ko) 2016-04-15 2016-07-26 롯데케미칼 주식회사 벤조산의 제조 방법
CN108574563A (zh) * 2017-03-14 2018-09-25 深圳壹秘科技有限公司 一种在wifi环境中传输文件的方法及其装置
CN109217978A (zh) * 2017-06-30 2019-01-15 华为技术有限公司 数据传输的方法、装置和系统
CN113132062A (zh) * 2019-12-31 2021-07-16 华为技术有限公司 报文传输方法及电子设备
US11811877B2 (en) * 2021-05-13 2023-11-07 Agora Lab, Inc. Universal transport framework for heterogeneous data streams

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990072122A (ko) * 1995-12-12 1999-09-27 바자니 크레이그 에스 실시간 영상 전송 방법 및 장치
US5768527A (en) * 1996-04-23 1998-06-16 Motorola, Inc. Device, system and method of real-time multimedia streaming
US5936940A (en) * 1996-08-22 1999-08-10 International Business Machines Corporation Adaptive rate-based congestion control in packet networks
JP3683051B2 (ja) * 1996-10-18 2005-08-17 三菱電機株式会社 データ送信方式
JP3525656B2 (ja) * 1996-12-06 2004-05-10 株式会社日立製作所 パケット交換機、および輻輳通知方式
US5918002A (en) * 1997-03-14 1999-06-29 Microsoft Corporation Selective retransmission for efficient and reliable streaming of multimedia packets in a computer network
KR100302263B1 (ko) * 1997-03-25 2001-09-22 모리시타 요이찌 스트림 데이터 전송방법 및 시스템
US6137779A (en) * 1997-05-22 2000-10-24 Integrated Device Technology, Inc. Transmission rate calculation scheme using table-lookup
US6047322A (en) * 1997-05-27 2000-04-04 Ukiah Software, Inc. Method and apparatus for quality of service management
US6075769A (en) * 1997-11-26 2000-06-13 Cisco Systems, Inc. Method and apparatus for network flow control
US6421387B1 (en) * 1998-05-15 2002-07-16 North Carolina State University Methods and systems for forward error correction based loss recovery for interactive video transmission
US6505253B1 (en) * 1998-06-30 2003-01-07 Sun Microsystems Multiple ACK windows providing congestion control in reliable multicast protocol
US6560243B1 (en) * 1999-04-30 2003-05-06 Hewlett-Packard Development Company System and method for receiver based allocation of network bandwidth
US6587875B1 (en) * 1999-04-30 2003-07-01 Microsoft Corporation Network protocol and associated methods for optimizing use of available bandwidth
US6628610B1 (en) * 1999-06-28 2003-09-30 Cisco Technology, Inc. Methods and apparatus for managing a flow of packets using change and reply signals
US7035214B1 (en) * 1999-09-28 2006-04-25 Nortel Networks Limited System and method for a negative acknowledgement-based transmission control protocol
US6882637B1 (en) * 1999-10-14 2005-04-19 Nokia Networks Oy Method and system for transmitting and receiving packets
US6643259B1 (en) * 1999-11-12 2003-11-04 3Com Corporation Method for optimizing data transfer in a data network
US6629285B1 (en) * 2000-01-04 2003-09-30 Nokia Corporation Data transmission
US7058723B2 (en) * 2000-03-14 2006-06-06 Adaptec, Inc. Congestion control for internet protocol storage
US7305486B2 (en) * 2000-06-30 2007-12-04 Kanad Ghose System and method for fast, reliable byte stream transport

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101513075B (zh) * 2006-08-29 2012-04-04 汤姆逊许可证公司 修复具有丢失分组的容器文件中包括的样本的方法和装置
CN111132098A (zh) * 2018-10-31 2020-05-08 阿尔卑斯通信器件技术(上海)有限公司 通信器、中央通信装置以及蓝牙通信系统
CN111132098B (zh) * 2018-10-31 2023-11-28 阿尔卑斯通信器件技术(上海)有限公司 通信器、中央通信装置以及蓝牙通信系统

Also Published As

Publication number Publication date
WO2003010931A1 (en) 2003-02-06
US20030023746A1 (en) 2003-01-30
JP2004537218A (ja) 2004-12-09
KR20040015009A (ko) 2004-02-18
EP1415444A1 (en) 2004-05-06

Similar Documents

Publication Publication Date Title
CN1533656A (zh) 在基于否定应答的协议中可靠和有效地支持阻塞控制的方法
CN110995697B (zh) 一种大数据传输方法及系统
US6526022B1 (en) Detecting congestion by comparing successive loss of packets in windows to provide congestion control in reliable multicast protocol
US6505253B1 (en) Multiple ACK windows providing congestion control in reliable multicast protocol
US6112323A (en) Method and computer program product for efficiently and reliably sending small data messages from a sending system to a large number of receiving systems
US7058723B2 (en) Congestion control for internet protocol storage
US6381215B1 (en) Method and computer program product for efficiently and reliably sending small data messages from a sending system to a large number of receiving systems
US7013346B1 (en) Connectionless protocol
Xu et al. Resilient multicast support for continuous-media applications
Leung et al. An overview of packet reordering in transmission control protocol (TCP): problems, solutions, and challenges
Lehman et al. Active reliable multicast
US6392993B1 (en) Method and computer program product for efficiently and reliably sending small data messages from a sending system to a large number of receiving systems
US5905871A (en) Method of multicasting
US7532642B1 (en) Methods and apparatus supporting adaptive bandwidth management
WO1999001965A1 (en) Method for pacing data flow in a packet-based network
Ramani et al. Explicit congestion notification (ECN) in TCP over wireless network
Baek et al. A tree-based reliable multicast scheme exploiting the temporal locality of transmission errors
KR100620837B1 (ko) 데이터 통신 방법, 데이터 통신 시스템 및 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독 가능한 기록 매체
CN109560897B (zh) 一种tcp重传方法和装置
EP1018248A1 (en) Congestion control in reliable multicast protocol
JP2005509370A (ja) 信頼性の低い通信環境における通信効率および性能の改良
Attiya New strategy for congestion control based on dynamic adjustment of congestion window
Maihofer et al. A delay analysis of tree-based reliable multicast protocols
Barcellos PRMP: a scaleable polling-based reliable multicast protocol
EP1733527B1 (en) Technique for handling outdated information units

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication