专利名称:检测方法和设备的制作方法
技术领域:
本发明涉及一种在按照预定通信协议的发送方和接收方之间面向数据单元的通信中所使用的检测方法和设备,其中所述通信协议规定通信中的发送方将要发送的数据量划分成一个或者更多数据单元,以及所述通信中的接收方通过向发送方返回确认数据单元而确认数据单元的正确接收。
背景技术:
面向数据单元的通信是众所周知的。在面向数据单元的通信中,许多数据被划分成一个或更多的数据单元,其中数据单元的结构是由通信协议定义的,通信中的发送方和接收方遵守该协议。协议还定义了特定信息是如何编码的以及发送方和/或接收方如何对特定信息作出反应。面向数据单元的通信也被认为是分组交换通信。应当指出连同特定协议被使用的数据单元有不同的名字,例如分组,帧,段等。出于本发明描述的目的,术语“数据单元”将一般地指在面向数据单元通信中使用的各种类型的单元。
许多通信协议使用来提高可靠性的一个特性是确认接收到的数据。更特别地,给定协议的发送方或发送对等体发送出数据单元,给定协议的接收方或接收对等体通过返回合适的确认数据单元确认正确接收。这样,发送对等体被通知发送的数据单元也被正确接收到,以及可以因此调整后续更多将被发送的数据单元的流量控制。使用确认数据单元的协议的一个例子是所谓的传输控制协议(TCP),其是TCP/IP协议簇中的一部分。
传输控制协议和TCP/IP协议簇在由W.Richard Stevens,AddisonWesley编写的“TCP/IP图解说明,卷1-协议”中得到了很好的说明。
为了应付数据单元或确认数据单元可能会丢失的情况,在许多协议中提供了超时特性,这样的超时特性意味着在数据被发送时设置一个超时时段,如果在超时时段已到时特定数据还没有被确认的话,则开始超时响应程序。在TCP中,超时响应包括重新传输没有得到确认的数据,以及重新设置一个或更多的流量控制参数。
举一个例子,TCP使用基于窗口的流量控制。TCP是面向字节的协议,将要发送的给定数目的字节划分为所谓的段,以及发送数据的记录按照字节被保存,即数据已发送多达哪个字节,以及接收数据的记录同样按照字节被保存,即数据接收到多达哪个字节。控制该段的流连同确认消息的最简单的方法是发送一个段且直到前一次发送的段被确认后才发送下一个段。不过,这样的流量控制的方式不会是非常高效的。已经提到的是,TCP使用基于窗口的流量控制,这也被称作为依据滑动窗的流量控制。这个概念同样已经在由W.Richard Stevens编写的前面提及的书中得以很好的描述。
图2说明滑动窗的概念。正如所看到的,在例子中共计8192字节的量将要被发送,其被划分为8个段。依照发送窗口控制段的发送,其中发送窗口的左端由已经被发送且已经确认的段中的数据来定义。在图2的例子中,是已达到2048字节的数据,即段1和2。发送窗口长度的调整,以及由此窗口右端的调整是控制过程的事,在这儿不必解释得太详尽。
发送窗口定义了允许其对应的确认未完成的数据的数量。在图2的例子中,该数据达到4096字节,即段3和4已经被发送但还没有被确认,这种已发送但未被确认的段和发送窗口右端间的差别定义了可用的窗口,即没有收到进一步确认依然可以发送的数据。其结果是,在图2的例子中,段5和6依然可以被发送,但段7和8只有在窗口向右移动时才能被发送,如果确认进一步的段使得左端向右移动以及/或发送窗口的长度增加的话,窗口右移的情况就会发生。
此外,应当指出的是TCP提供连续的确认,即在段和段的确认之间不是一一对应的,这是因为一个确认消息可以覆盖多个段。举个例子,用于接收图2所示数据量的接收对等体可以发送对长达4096个字节的一个确认,使得这个确认消息将覆盖段3和4。
由发送对等体使用的发送窗口典型地由所谓的提供窗口或通告窗口来确定,这是由接收对等体向发送对等体提供的一个数据长度。这样,接收对等体可以影响发送对等体一次发送多少段,以及典型地基于接收对等体的接收缓冲区计算出通告窗口。同样,通告窗口是一个动态参量,可以随着由接收对等体发送的每一个确认而发生变化。
除了通告窗口之外,同样知道定义了所谓的拥塞窗口,它结合几个拥塞控制例程例如慢启动,拥塞避免,快速重传和快速恢复一起使用,又一次见由W.Richard Stevens编写的前面提及的书。拥塞窗口是发送对等体保存的一个记录,它是用来考虑沿着发送对等体与接收对等体之间连接的拥塞的。作为典型的控制机制,发送窗口将被定义为通告窗口和拥塞窗口中较小的那个。
通告窗口是受接收对等体影响的流量控制,而拥塞窗口是受发送对等体影响的流量控制,它作为考虑拥塞的一种机制。
在一般意义上,拥塞窗口是自适应流量控制参数的一个实例。在TCP中,前面提及的超时响应在于将拥塞窗口重新设置为一个段并且然后只发送一个段,即重传没有得到确认的段并且因此引起超时。于是发送对等体等待该重传段的确认。
自适应流量控制参数的另外一个实例是超时时段本身,例如在TCP中,这被称作为RTO(重传超时),RTO作为对一个超时的响应而被加倍。
正如已经提及的,超时特性是一种对数据丢失的检测机制。也存在其他的数据丢失检测机制。另外一个实例是在TCP中响应接收到重复的确认而重传数据单元。这种机制将在下面加以简单解释。
正如已经提及的(见例如图2),要被发送的数据量被划分为一个序列。传统的TCP实现中,如果接收对等体已经接收并且确认直到给定字节数的一定数据量(一定数目连续的段),则期待序列中的下一个数据。例如,如果一直到段4为止的段已经被接收到,那么段4被确认并且接收对等体期待接收段5。如果接收对等体然后接收到另外不同于段5的数据单元(例如段6,7和8),则接收对等体为接收的每一个数据单元继续确认段4。其结果是,接收对等体接收了两份重复确认。通常TCP以这样一种模式实现接收对等体将计数重复确认的次数,并且如果达到一定的阈值(例如3),则重传序列中接收到重复确认的数据单元的下一个数据单元。
WO98/37670描述了一种用于在具有有损链路的网络中改进传输协议性能的方法。据说通信中的常规发送方通过重复确认的到达或者通过在一个超时间隔内无确认,来识别一个分组已经由于拥塞而丢失。在发送方中进行对拥塞做出反应的合适的控制方案,诸如慢启动、快速恢复和快速重传。WO98/37670进一步指出当被传送的分组由于拥塞以外的原因而未被接收到时,拥塞补偿措施可以是有害的。
WO98/37670建议使用选择性确认来指示哪些分组被成功接收而哪些分组是带有非拥塞比特错误被接收的,同时抑制重复确认以防止调用拥塞机制。
H.Balakrishnan等的文章“用于改进无线链路上的TCP性能的机制比较(A comparison of Mechanisms for Improving TCPPerformance over Wireless Links)”,IEEE/ACM Transact ions onNetworking,Vol.5,No.6,1997年12月,XP-000734405,描述了一种与WO98/37670相似的方案。除了选择性确认外,此文章还提及了显式丢失通知(ELN)。
发明内容
本发明的目的是使用一种通信协议来提高系统中的通信,该协议规定发送数据的确认和数据丢失检测功能,例如超时功能或重复确认响应功能。
这个目的通过权利要求1、5、9和11中描述的、适合用于检测发送方接收的确认数据单元是对应于初始传输还是对应于重传的检测方法和设备而得以解决。
依照本发明的检测方法的应用,通信中发送方将执行响应程序来响应触发数据丢失检测机制的事件,其中响应程序包括至少两个不同的模式用于调整流量控制中使用的自适应参数。这样本发明的方法和设备在管理触发事件上具有很高的灵活性,以及特别是可以以依靠触发事件的各种潜在的原因而选择响应程序的方式来实现,以致于可以调用针对特定态势的正确响应策略并因此避免实际上有可能在触发数据丢失检测机制后造成恶化态势的策略。
数据丢失检测机制是一种能够检测到数据丢失的机制。实例是超时机制或重复确认机制。自然地,本发明适用于各种合适的数据丢失检测机制。
响应程序可包括至少两种不同的模式用于调整流量控制中使用的自适应参数。举个例子,有两种模式,各自与超时的不同原因或预定的重复确认次数(例如前面提及的3)有关。更特别地,第一种模式与数据单元的丢失有关,以及第二种模式与沿着连接的过度延迟有关。由于使用了两种不同的模式,所以可能调整参数,使该参数对超时或重复确认的原因是适合的。因此,流量控制程序将包括一个或更多的评估和判断步骤,触发事件将在其中得以鉴定,例如对关于引起事件的原因进行分类。然后,依赖这个特征的结果,会激活一个合适的响应程序。在上述例子的情况下,如果确定超时或重复确认是由于数据单元丢失而引起的,那么已知的对数据单元丢失的响应程序可能会运行,例如从传统TCP就已知道,该协议假定任何超时或接收到几个重复确认是由于数据单元丢失而引起的。然而还有第二种模式,以及如果确定超时或重复确认是由于沿着连接的过度延迟而引起,那么运行过度延迟响应程序,这将典型地不同于针对数据单元丢失的响应程序。
更特别地,将在下面更为详细介绍的是,通过降低传输速率因而避免进一步拥塞来对数据单元已经丢失的判定进行回答。另一方面,如果沿着连接发生过度延迟,那么为响应假定的数据单元丢失而采取的策略将毫无作用,相反这些策略可能会实际上加剧过度延迟引起的问题。因此,过度延迟的响应程序将典型的不同,以及例如包括将传输速率保持在早先的级别上,但另一方面增加超时时段,从而避免了更多的不必要的重传。
自然地,本发明的检测方法的应用可以实现为提供任意数目的模式或针对各种触发事件原因的响应程序。模式的数目和各种模式所采取的特定的策略自然地依赖于特定的态势,即所选择的协议,给定的通信状况等。
一个重要方面是虽然数据丢失检测机制能够检测到数据丢失,对数据丢失检测机制触发的反应不会假定数据丢失必然会发生,相反的是可能有灵活的响应,它可以考虑触发事件的各种原因。
本发明的另外一个方面和优点从下面的详图描述可以得到更好的理解,参照图表,其中图1说明了应用本发明的检测方法的一个总体控制程序的实施方案;图2是用于描述基于窗口流量控制概念的说明图;图3是用于解释本发明优点的图表;以及图4是解释可能在两台主机之间的连接中引起过度延迟的态势的说明图。
具体实施例方式
虽然下面的描述一般针对使用数据确认以及同时提供超时特性的任何通信协议,通常还将给出涉及来自TCP/IP协议簇的传输控制协议TCP的例子。针对该协议的本发明的应用是优选的实施方案。为了避免任何不必要的重复,该应用介绍中的公开内容被引入到本发明的公开内容。
图1显示的是一个部分流图。正如可以看见的,步骤S1表明进入响应程序。图1没有显示作为此点先导的流量控制程序,因为对本说明来说,它并不重要。举个例子,它或许是结合图2加以解释并且例如从TCP已知的基于窗口的流量控制程序。只有具有数据确认和数据丢失检测特性对本发明来说是重要的,因此协议的发送对等体具有检测可能的或潜在的数据丢失的能力,以及可以实施相应的响应程序。正如已经提及的,数据丢失检测特性或许例如是超时特性或重复确认检测特性。
在图1的例子中,在响应程序被进入后,在步骤S2中存储用于流量控制的所选自适应参数以及重新设置到预定值。举个例子,超时时段和/或前面所述的拥塞窗口都是这样的自适应流量控制参数。在传统的TCP中,拥塞窗口典型地被重新设置为一个段的值以及同时RTO加倍。应该指出不是所有在流量控制程序中使用的自适应参数事实上都需要被改变,相反只是其中经过选择的数目需要。
同样,显然本发明自然并不局限于基于窗口的流量控制以及相关的自适应参数,相反本发明适用于任何流量控制原理以及相关的自适应参数。
回到图1,在步骤S3中触发事件(例如引起超时)的数据单元被重传。换句话说,当继续超时的例子时,在超时时段过程中没有接收到确认的数据单元被重传。然后,在随后时刻在步骤S4中确定和被重传数据单元相关的确认是否已经被接收到。这或许是累积确认或也可能是单个确认。应该指出图1中虚线显示的是其他或许会插入的步骤,但这些对本发明来说并不重要。然后,依据按照本发明的图1中的例子,步骤S5确定和被重传的数据单元有关的确认事实上是否确认了数据单元的初始传输或重传。应该指出“初始传输”可能已经是一个重传,这样重传可能是重传的重传等。实现步骤S 5有各种可能,这将再深入解释。
如果步骤S5确定事实上确认消息确认了数据单元的重传,那么程序继续到步骤S7,在这一步骤中运行数据单元丢失响应程序,这是因为判定步骤S5的输出值为否表明丢失了数据单元的初始传输。在TCP的例子中,步骤S7将在于针对数据单元丢失的传统策略中。
相反,如果判定步骤S5回答为肯定,那么程序继续到步骤S6,在这一步骤中运行确认过度延迟的响应程序。换句话说,因为步骤S5表明事实上数据单元的初始传输没有丢失,但只是过度延迟了,必须采取相应的策略。举个例子,当把TCP作为协议实例时,在于将拥塞窗口返回到在步骤S2中存储的值以及另一方面使超时时段适应于延迟。换句话说,和初始传输有关的往返行程时间RTT以及对初始传输的确认可以用作调整超时时段的基础。因此,由于过度延迟引起的更多的不必要的重传和超时或重复确认可以避免。
优选地,拥塞窗口不是被简单地重置成先前的值,而是相反如果响应程序还没有发生的话,即还没有触发数据丢失检测机制,则该值被设置为已假定的值。
正如可以看到的,图1的例子说明包括步骤S2,S3,S4,S5和S7的第一模式,以及包括步骤S2,S3,S4,S5和S6的第二模式。
为了更好地解释所述实例,现在将参照图3,该图说明了一个流量控制过程的例子,该过程连同传统的TCP一起实施。图表说明了以字节为单位随着时间过去而传送的数据的数量。正如可以看到的,头两个段在时间t=4s时被发送。然后由于接收确认数据单元和没有显示的自适应参数的调整的相互作用,段被发送。
出于解释的目的,应该指出菱形符号指段,以及方形符号指确认数据单元。菱形符号指出段的第一个字节,而方形符号指出最小的没有确认的字节。在某个段水平上指示的确认数据单元总是确认直到该段水平的已发送段。换句话说,在6400(t=12s)字节段水平的确认是对低于6400字节的段的确认,但不包括6400字节。恰恰相反,正如图中明确指出的,位于字节6400的段(t=10s)是引起超时的数据单元或分组。其结果是,执行了在6400字节水平的数据单元的重传。
现在,如果假定图3所示的超时是由过度延迟引起的而不是由所示丢失的第一分组所引起的,那么重传具有以下负面的影响。
首先,它将导致降低的吞吐量性能,这是由于同样的数据必须穿过连接或连接路径两次,这将浪费那些否则已经用于有用数据的带宽。这个负面的影响将在任何通过重传数据单元而错误响应超时的协议中产生。
如果,正如图3所示,使用了TCP协议,则发送对等体对不是由于数据单元丢失引起的超时的反应是特别不利的发送方将重传所有未完成确认的分组,这会降低其传输速率。在图3中已清楚地对其加以说明。
应当指出上述不是由于数据单元丢失引起的超时也被称作为假超时。
同样正如图3所示,在传统的TCP中发送方将所有和重传数据单元相关的确认误释为对重传的确认,即便这些确认(ACK)实际上是延迟的初始传输确认。
图3没有说明的是,由发送对等体发送的重复数据单元附带地将触发接收对等体的重复确认,这将导致传统TCP发送方传输速率的另一种降低,即拥塞窗口被设置为其先前值的一半。
超出TCP超时时段可以解决的范围之外的过度延迟的出现,或许特别地出现在无线网络中或这种其至少一部分运行在无线链路上的协议连接中。本申请的发明人认识到假超时在这样的网络中通常会很经常地发生,以致于产生性能严重降低的结果。现在将简要地论及这样的实例。
图4说明了一种情况,在这种情况中两台主机计算机充当TCP(由在该图底部和顶部的主机到主机的长箭头来指出)的对等体。较低的协议层包括无线接入网络到互联网的无线链路。没有显示互联网和右边主机之间的连接。用于无线链路的协议的一个实例是所谓的无线链路控制协议RLC。正如图4所表明的,传输层协议(例如TCP)和链路层协议(例如RLC)均具有ARQ(自动重传请求)功能。这意味着这些协议都能实现超时和重传功能。在图4的情况中,由于ARQ正在链路层被使用,所以在链路层和传输层之间产生了竞态情况当链路层重传数据时,传输层重传计时器或许会到时,从而导致假超时。在链路层上的重传可以是由于例如传输错误或切换导致的数据丢失。
应当指出无线网络上的传输延迟通常是传输层协议中的发送和接收对等体之间端对端延迟中的相当大的一部分。如果在这种情形下,在无线网络中传输层连接的可用带宽在一段短时间上显著降低,则所引起的传输层发送方和接收方之间端对端延迟的增加会导致假超时。带宽降低的实例包括移动主机执行切换到一个小区,该小区提供的带宽小于旧小区带宽。
正如前面已经指出的,当使用本发明时,可以避免结合图3所描述的问题。更特别地是,将结合图1所描述的方法应用到图3所描述的问题时,则发送对等体能够区分对数据单元初始传输的确认数据单元和对数据单元重传的确认数据单元。从这一信息,发送方能够确定是否发生了假超时,或是否真正地存在数据单元丢失。该发送方然后可以相应作出反应。
更特别地,在图3的实例中,使用本发明的发送方将能够把在已重传所示的第一分组之后接收到的确认数据单元识别为初始传输(t=10s)的确认而不是重传(t=15s)的确认。由于这个原因,发送方将对过度延迟执行一个合适的响应程序,即不重传第一个重传数据单元之后的那个数据单元,以及同样不会降低传输速率,相反发送方将提高以数据单元初始发送和该初始发送的相应确认数据单元接收之间测量的延迟为基础的流量控制中所使用的超时时段。这样,可以避免另外的假重传和超时。
正如可以看到的,本发明能够提供一种机制,在使用提供数据确认和超时功能或重复确认检测功能的一种协议时允许更为灵活的通信系统。在刚刚描述的实例中,本发明的应用能够鉴定触发事件,即区分至少两种不同的原因,以及然后能够调用合适的响应程序。应该指出在上述实例中,用于调整自适应参数的模式一方面与数据单元丢失有关,另一方面与过度延迟有关,但自然本发明的应用决不是局限在这上面。相反,用于调整自适应参数的模式与任何可能引起超时事件或重复确认事件的原因有关。
在图1所描述的实施方案中,在实施本发明的步骤S5中确定和给定数据单元有关的确认数据单元是否确认了初始传输或该给定数据单元的重传。依据实现这一步骤的第一优选实施方案,发送方保存了与发送和接收对等体之间的连接有关的往返行程时间RTT的记录,以及特别地保存了在一直到考虑下的时间点的连接或会话过程中找到的最短RTT的记录。然后,如果在小于该最小RTT预定部分的时段内接收到对重传数据单元的确认数据单元,那么发送方确定这个确认属于初始传输而不是属于重传。这个部分可以被设置为固定值,或其本身是一个自适应参数。自然,是与该部分相乘的比较值不必要是最短测试的RTT,相反发送方保持平均的RTT值也是有可能的。在这个意义上,与该部分相乘的比较值通常是在连接过程(在会话过程)中测量的一个或更多RTT值的一个函数。
依据实现步骤S5的另一个优选实施方案,发送方将一个标志加入到它发送的数据单元中,在其中以允许区分初始传输和重传的方式定义该标志。然后,接收方可以因此标记确认数据单元,以致于发送方能够识别一个确认对应的是初始传输还是重传。
可以用任何希望的方式来完成这个数据单元的标志。举个例子,在理论上简单地指定数据单元中的一个单比特位是可能的,其中值0表明是初始传输而值1表明是重传,或反之亦然。在一般意义上,可以选用同样可以表达更多信息的一个位串。然而,结合提供这样选项的协议,优选的是使用时间戳选项。这一选项对例如TCP来说是熟知的,见前面提及的由W.Richard Stevens编写的书。换句话说,优选的是在发送的数据单元中包括时间戳,用于表明数据单元何时发送。然后接收方可以简单地在确认数据单元中包括同一时间戳,因此发送方有独一无二地方式来识别确认对应的数据单元。
另外的总体方法和系统的实施例E1.用于在依照预定的通信协议工作的发送方和接收方之间控制面向数据单元通信的方法,其中该发送方将多个要被发送的数据划分成一个或更多具有该协议确定结构的数据单元,该接收方通过向该发送方返回确认数据单元来确认正确接收到数据单元,依照在一个或更多自适应参数和该确认数据单元基础上执行的流量控制程序,由该发送方发送该数据单元,以及该流量控制程序包括能够在该通信中检测到数据丢失的数据丢失检测机制,由一个或更多预定事件触发该数据丢失检测机制来表明潜在的数据丢失,其中响应该数据丢失检测机制的触发来执行相应的响应程序,该响应程序包括至少两种用于调整该一个或更多自适应参数的不同模式。
E2.按照实施例E1的方法,其中该数据丢失检测机制是一个超时机制,使得在一个给定数据单元被发送之后,该发送方监视超时时段以及如果在超时时段到时之前还没有接收到和该给定数据单元有关的确认数据单元,则触发该超时机制。
E3.按照实施例E1的方法,其中该数据丢失检测机制是重复确认检测机制,使得该发送方监视接收到的确认,以及如果一个数据单元被确认了预定次数,则触发该重复确认检测机制。
E4.按照实施例E2或E3的方法,其中该响应程序包括重传给定的数据单元。
E5.按照实施例E4的方法,其中基于在重传该给定数据单元之后由该发送方接收到的一个或更多确认数据单元,判定至少两种模式中哪一种模式被选用来调整该自适应参数。
E6.按照实施例E2的方法,其中超时时段是该自适应参数中的一个。
E7.按照实施例E1到E6之一的方法,其中该流量控制程序是基于窗口的,以及一个或更多流量控制窗口是该自适应参数之一。
E8.按照实施例E5的方法,其中该至少两种模式包括第一种和第二种模式,该第一种模式与触发事件是由于给定数据单元丢失引起的判定有关,而第二种模式与给定数据单元或该给定数据单元的确认数据单元已经过度延迟的判定有关。
E9.按照实施例E8的方法,其中该发送方标志被发送的数据单元使得可以将初始传输与重传区分开来,以及该接收方相应地标志确认数据单元,使得可以将初始发送数据单元的确认与数据单元重传的确认区分开来。
E10.按照实施例E9的方法,其中发送方通过在每一个发送数据单元中包括一个时间戳来标志数据单元,该时间戳表明该数据单元被发送的时间,以及该接收方通过在该接收到的数据单元的确认数据单元中包括该接收到的数据单元中包含的时间戳来标志该接收到数据单元的确认数据单元。
E11.按照实施例E9的方法,其中发送方通过在每一个发送数据单元中包括一个位串来标志数据单元,该位串具有至少两个不同的值来区分初始传输和重传,以及接收方通过在该接收数据单元的确认数据单元中包括该接收数据单元中包含的位串来标志该接收到的数据单元的确认数据单元。
E12.按照实施例E11的方法,其中该位串由单个比特组成。
E13.按照实施例E11的方法,其中该位串由多个比特组成,因此该位串能够区分不同的重传。
E13.按照实施例E11或E12的方法,其中如果在重传该给定数据单元之后接收到的、和该给定数据单元有关的第一确认数据单元确认了该给定数据单元的重传,则选择该第一种模式,以及如果在重传该给定数据单元之后接收到的、和该给定数据单元有关的第一确认数据单元确认了该给定数据单元的初始传输,则选择该第二种模式。
E14.按照实施例E9的方法,其中发送方测量与连接相关的用于发送该数据量的往返行程时间,确定该给定数据单元重传与接收到和该给定数据单元相关的第一确认数据单元之间的时间,并且将该时间与来自对一个或更多该往返行程时间的测量所得值相比较,以及基于比较结果选择该第一种或第二种模式。
E15.按照实施例E14的方法,其中从对该往返行程时间的测量所得值是用于连接的最小往返行程时间,以及如果该给定数据单元的重传与接收到和该给定数据单元相关的第一确认数据单元之间的时间小于该最小往返行程时间预定部分,则选择第二种模式。
E16.按照实施例E9-E15之一的方法,其中第二种模式包括基于在该给定数据单元初始传输与接收到和该给定数据单元相关的第一确认数据单元之间的时间来调整超时时段。
E17.按照实施例E9-E16之一的方法,其中流量控制程序是基于窗口的,以及使用了拥塞窗口,其中在该触发事件发生后存储在该触发事件时拥塞窗口的值以及随后将该拥塞窗口的值重新设置为预定的值,以及如果在接收到和该给定数据单元相关的第一确认数据单元之后选择了第二种模式,则如果响应程序尚未发生,就将该拥塞窗口的值设置为应该已经假定的值。
E18.依照预定通信协议用于面向数据单元通信的通信设备,其中该通信协议规定通信中的发送方将多个要被发送的数据划分成一个或更多具有该协议确定结构的数据单元以及在该通信中接收方通过向发送方返回确认数据单元来确认正确接收到数据单元,其中该通信设备在充当一个发送方时,被安排为依照在一个或更多自适应参数和该确认数据单元基础上执行的流量控制程序发送数据单元,该流量控制程序包括能够在该通信中检测到数据丢失的数据丢失检测机制,由一个或更多预定事件触发该数据丢失检测机制来表明潜在的数据丢失,其中响应该数据丢失检测机制的触发来执行相应的响应程序,该响应程序包括至少两种用于调整该一个或更多自适应参数的不同模式。
E19.按照实施例E18的设备,其中该数据丢失检测机制是一个超时机制,使得在一个给定数据单元被发送之后,该发送方监视超时时段以及如果在超时时段到时之前还没有接收到和该给定数据单元有关的确认数据单元,则触发该超时机制。
E20.按照实施例E18的设备,其中该数据丢失检测机制是重复确认检测机制,使得该发送方监视接收到的确认,以及如果一个数据单元被确认了预定次数,则触发该重复确认检测机制。
E21.按照实施例E20的设备,其中所述设备在充当发送方时被安排成将所述数据量划分成一个定义的序列,所述设备在充当接收方时被安排成监视所述序列方面的接收的数据单元的顺序,使得如果数据单元是被无序地正确接收的,则对于无序的数据单元的每个接收来确认按序正确接收的最后的数据单元,以及所述重复确认检测机制使得在给定数据单元被发送后,所述发送方监视所接收的确认,以及如果所述给定数据单元之前的数据单元被确认预定次数,则触发所述重复确认检测机制。
E22.按照实施例E19或E21的设备,其中该响应程序包括重传所述给定的数据单元。
E23.按照实施例E22的设备,其中基于在重传该给定数据单元之后由该发送方接收到的一个或更多确认数据单元,判定至少两种模式中哪一种模式被选用来调整该自适应参数。
E24.按照实施例E19的设备,其中超时时段是该自适应参数中的一个。
E25.按照实施例E18到E24之一的设备,其中该流量控制程序是基于窗口的,以及一个或更多流量控制窗口是该自适应参数之一。
E26.按照实施例E23的设备,其中该至少两种模式包括第一种和第二种模式,该第一种模式与触发事件是由于给定数据单元丢失引起的判定有关,而第二种模式与给定数据单元或该给定数据单元的确认数据单元已经过度延迟的判定有关。
E27.按照实施例E26的设备,其中该设备在充当发送方时会标志被发送的数据单元使得可以将初始传输与重传区分开来,以及该设备在充当接收方时相应地标志确认数据单元,使得可以将初始发送数据单元的确认与数据单元重传的确认区分开来。
E28.按照实施例E27的设备,其中设备在充当发送方时通过在每一个发送数据单元中包括一个时间戳来标志数据单元,该时间戳表明该数据单元被发送的时间,以及设备在充当接收方时通过在该接收到的数据单元的确认数据单元中包括该接收到的数据单元中包含的时间戳来标志该接收到数据单元的确认数据单元。
E29.按照实施例E27的设备,其中设备在充当发送方时通过在每一个发送数据单元中包括一个位串来标志数据单元,该位串具有至少两个不同的值来区分初始传输和重传,以及设备在充当接收方时通过在该接收数据单元的确认数据单元中包括该接收数据单元中包含的位串来标志该接收到的数据单元的确认数据单元。
E30.按照实施例E28或E29的设备,其中如果在重传该给定数据单元之后接收到的、和该给定数据单元有关的第一确认数据单元确认了该给定数据单元的重传,则选择该第一种模式,以及如果在重传该给定数据单元之后接收到的、和该给定数据单元有关的第一确认数据单元确认了该给定数据单元的初始传输,则选择该第二种模式。
E31.按照实施例E26的设备,其中设备在充当发送方时测量与连接相关的用于发送该数据量的往返行程时间,确定该给定数据单元重传与接收到和该给定数据单元相关的第一确认数据单元之间的时间,并且将该时间与来自对一个或更多该往返行程时间的测量所得值相比较,以及基于比较结果选择该第一种或第二种模式。
E32.按照实施例E31的设备,其中从对该往返行程时间的测量所得值是用于连接的最小往返行程时间,以及如果该给定数据单元的重传与接收到和该给定数据单元相关的第一确认数据单元之间的时间小于该最小往返行程时间预定部分,则选择第二种模式。
E33.按照实施例E26到E32之一的设备,其中第二种模式包括基于在该给定数据单元初始传输与接收到和该给定数据单元相关的第一确认数据单元之间的时间来调整超时时段。
E34.按照实施例E26到E33之一的设备,其中流量控制程序是基于窗口的,以及使用了拥塞窗口,其中在该触发事件发生后存储在该触发事件时拥塞窗口的值以及随后将该拥塞窗口的值重新设置为预定的值,以及如果在接收到和该给定数据单元相关的第一确认数据单元之后选择了第二种模式,则如果响应程序尚未发生,就将该拥塞窗口的值设置为应该已经假定的值。
权利要求
1.一种在按照预定通信协议的发送方和接收方之间的面向数据单元的通信中的方法,用于检测由所述发送方接收的确认数据单元是对应于一个初始传输还是对应于一个重传,其中所述通信协议规定通信中的发送方将要发送的数据量划分到一个或者多个数据单元中,以及所述通信中的接收方通过向该发送方返回确认数据单元来确认数据单元的正确接收,该方法包括所述发送方将一个标志加到它发送的数据单元上,所述标志被定义,使得它允许在初始传输和重传之间进行区分;所述接收方相应地将数据单元中接收的标志加到用于所述接收的数据单元的确认数据单元中;以及所述发送方基于所述标志来确定所接收的确认数据单元是与一个初始传输相关联还是与一个重传相关联。
2.权利要求1的方法,其中所述标志是一个预定的位串。
3.权利要求1或2的方法,其中所述标志是一个时间戳。
4.权利要求1或2的方法,其中所述预定的通信协议是传输控制协议。
5.一种用于按照一个预定通信协议的面向数据单元的通信的通信设备,其中所述通信协议规定通信中的发送方将要发送的数据量划分到一个或者多个数据单元中,以及所述通信中的接收方通过向该发送方返回确认数据单元来确认数据单元的正确接收,其中所述通信设备被安排,使得在充当一个发送方时,它将一个标志加到它发送的数据单元上,所述标志被定义,使得它允许在初始传输和重传之间进行区分;以及基于所述标志来确定所接收的确认数据单元是与一个初始传输相关联还是与一个重传相关联。
6.权利要求5的设备,其中所述标志是一个预定的位串。
7.权利要求5或6的设备,其中所述标志是一个时间戳。
8.权利要求5或6的设备,其中所述预定的通信协议是传输控制协议。
9.一种在按照预定通信协议的发送方和接收方之间的面向数据单元的通信中的方法,用于检测由所述发送方接收的确认数据单元是对应于一个初始传输还是对应于一个重传,其中所述通信协议规定通信中的发送方将要发送的数据量划分到一个或者更多数据单元中,以及该通信中的接收方通过向该发送方返回确认数据单元来确认数据单元的正确接收,该方法包括所述发送方测量与所述发送方和接收方之间的连接相关联的往返行程时间;确定数据单元的重传和与所述数据单元相关联的第一个确认数据单元的接收之间的时间,并将所述时间与从一个或者更多所述往返行程时间测量得到的值进行比较;以及基于所述比较来确定所接收的确认数据单元是与一个初始传输相关联还是与一个重传相关联。
10.权利要求9的方法,其中从所述往返行程时间测量得到的值是该连接的最短往返行程时间,且如果所述数据单元的重传和与所述数据单元相关联的第一个确认数据单元的接收之间的时间不小于所述往返行程时间的一个预定部分,则所述接收的确认数据单元被确定为与重传相关联。
11.一种用于按照预定通信协议的发送方和接收方之间的面向数据单元的通信的通信设备,其中所述通信协议规定通信中的发送方将要发送的数据量划分到一个或者更多数据单元中,以及该通信中的接收方通过向该发送方返回确认数据单元来确认数据单元的正确接收,其中所述通信设备被安排,使得在充当一个发送方时,它测量与所述发送方和接收方之间的连接相关联的往返行程时间;确定数据单元的重传和与所述数据单元相关联的第一个确认数据单元的接收之间的时间,并将所述时间与从一个或者更多所述往返行程时间测量得到的值进行比较;以及基于所述比较来确定所接收的确认数据单元是与一个初始传输相关联还是与一个重传相关联。
12.权利要求11的设备,其中所述通信设备还被安排,使得从所述往返行程时间测量得到的值是该连接的最短往返行程时间,且如果所述数据单元的重传和与所述数据单元相关联的第一个确认数据单元的接收之间的时间不小于所述往返行程时间的一个预定部分,则所述接收的确认数据单元被确定为与重传相关联。
全文摘要
描述了在按照一个预定通信协议的面向数据单元的通信中的方法和设备,用于检测由所述发送方接收的确认数据单元是对应于一个初始传输还是对应于一个重传,其中所述通信协议规定通信中的发送方将要发送的数据量划分到一个或者多个数据单元中,以及所述通信中的接收方通过向该发送方返回确认数据单元来确认数据单元的正确接收。
文档编号H04Q11/04GK1645785SQ20051005174
公开日2005年7月27日 申请日期1999年12月31日 优先权日1999年1月8日
发明者M·梅耶尔, R·卢德维格 申请人:艾利森电话股份有限公司