专利名称:在具有自动重复请求的数据网中用于丢弃分组的方法和设备的制作方法
技术领域:
本发明涉及在固定的/无线数据网中用于传送数据的自动重复请求(ARQ)技术。
背景技术:
ARQ技术通常被使用于数据网,以便确保可靠的数据传送和保护数据序列的完整性。数据分组用纠错码来编码,以使得当数据网中的发射机发送或传送数据分组到数据网中的接收机,接收数据分组的接收机可以检测不可靠的、错误的或丢失的分组,由此,请求发射机重发受影响的数据分组。数据序列的完整性通常通过顺序编号分组和应用某些传输规则而被保护。
有三种主要的ARQ方案停止和等待;前进-返回-N(Go-back-N);以及选择地拒绝(有时称为选择重复)。所有这三种方法都提供用于以适当的次序传送分组到数据网中的接收机的机制。根据作为信号噪声比的函数的通过量效率,通常,选择地拒绝是最有效的,停止和等待是最不经济的,以及前进-返回-N是处在中间。另外,存在选择地拒绝和前进-返回-N技术的各种混合,以及在效率与复杂性方面处在纯选择地拒绝与纯前进-返回-N之间。
对于前进-返回-N,存在有几个不同的变例,它们在它们如何使用肯定应答(PACK)、否定应答(NACK)、重发定时器、轮询方案等方面是不同的。
一种前进-返回-N技术使用具有以下特征的PACK和NACK对于具有序列号N(R)的数据分组的PACK,给出对于具有在N(R)以前的序列号的数据分组的累积的肯定应答,但并不肯定地应答具有序列号N(R)的数据分组,例如,如
图1A所示的。
NACK肯定地应答在否定地应答的数据分组以前的所有的数据分组。NACK否定地应答的数据分组由N(R)来表示,例如,如图1B所示的那样。
图2显示一个简化的ARQ发射机窗口,其中五个变量被使用来跟踪发射机的状态。这五个变量包括底端序列号BSN;上端序号TSN;最大上端序列号TSNMAX;瞬时序列号ISN;以及预期的序列号ESN。
BSN表示在发射机缓存器中最老的分组,以及也可表示在BSN分组以前的所有的分组已被应答或丢弃。由TSN表示的分组之前的那些分组已被发送。ESN表示要被接收的分组的预期序列号。ISN表示要被发送的下一个分组的序列号。当一个分组第一次被发送时,TSN和ISN将是相同的。然而,当执行重发时,ISN就从第一个重发的分组开始,以及按接连的次序进行,一次一个分组,一直到TSN为止。TSN不超过TSNMAX,后者是由窗口尺寸W规定的。假定序列号域具有k个比特,可以建立2k个不同的序列号。因此,图2所示的窗口的最大尺寸W是2k-1。
使用PACK和NACK的前进-返回-N技术的运行,可以通过想像在如图3A-3D所示的圆周上叠加的顺时针方向的接连的模2k序列编号而弄明白。图3A显示一个圆,表示这样一种状态其中还没有发送分组,以及TSN、ESN、BSN和ISN都具有相同的数值,即,指向同一个分组。图3B所示的圆表示,(TSN-BSN)分组已被发送和也被接收,因为ESN=TSN。错误的或丢失的分组使得ESN停止向前进行,虽然更多的分组已被发送。例如,在图3C上,直至由TSN和ISN表示的分组以前的那些分组都已被发送,但ESN表示一个还没有被接收的在先的分组。在分组被丢失或错误的分组被接收以后,ARQ接收机发送一个NACK到ARQ发射机,以便通知ARQ发射机关于丢失的或错误的分组。NACK包括一个被设置为等于ESN的返回的序列号N(R),由此应答所有的先前的分组已被正确地接收。BSN和ISN被设置为等于ESN(和N(R)),以使得BSN向前移动,以及ISN向后移动到表示丢失的或错误的分组的序列号。此后,如图3D所示,当丢失的或错误的分组被重发时、以及当成功的分组也被重发时,ISN和ESN一起向前移动。
图4A-4D显示PACK的使用。例如,图4A显示一个在其中还没有发送任何分组的状态,以及TSN=ISN=BSN=ESN。图4B显示一个在其中所有发送的分组已被正确地接收的状态。图4C显示一个由定时器起动的PACK将被发送,以便传送在BSN与TSN=ESN=ISN之间的分组的序列号N(R)。如图4D所示,在PACK被发送以后,BSN被设置为N(R)。
通过发送PACK,可以确保不会发生序列号缺乏。因为TSN可能不超过BSN,如果发射机没有接收到PACK,则它可以继续发送直到TSNMAX以前的数据分组。然而,如果直到TSNMAX以前的数据分组被发送但没有接收到PACK,则TSNMAX不能向前进行,以及发生序列号缺乏。发射机必须等待,直至它接收到PACK为止,这将允许BSN并从而允许TSNMAX向前进行。
图5显示ARQ数据分组510的一般性例子。分组510典型地包括ARQ标题512和数据部分516。标题512包含一个k比特序列号514以及可被放置在如图5所示的分组510的前面、或在分组510内的任何预定的位置。
图6显示示例的ACK消息610,它带有识别符域612表示发送ACK消息的响应终端610,NACK/PACK类型表示符614可表示PACK或NACK是否正在被发送,以及最后是序列号域N(R)616,表示等于哪个序列号ACK消息610是有效的。
在选择地拒绝方案中,具有2k-1的尺寸或更小的发送者窗口通常被使用来避免在自动(定时器起动的)重发时出现的某些模糊度。在选择地拒绝方案中的接收机窗口尺寸可包括多达2k-1个位置,而不是如在前进-返回-N方案中的仅仅一个位置。在选择地拒绝中,各种各样的分组可被接收,因为接收机窗口可以包括多达2k-1个位置。
只要分组被正确地接收,它们被发送或被转发到下一个较高的层。当检测到未完成的分组(即,已被发送但没有被正确地接收的分组)时,暂停发送直到较高的层为止的那些以后的分组,以及建立正确的和丢失的分组的清单。NACK被使用来发起重发那些未完成的分组或重发一批未完成分组的请求。当正确地接收到第一个检测的未完成分组时,该分组和所有的以后的分组被发送到较高的层,直至检测到下一个未完成分组以及对于新的未完成分组重复进行该过程。
图7A显示例如有三个分组是未完成的情形。未完成分组被表示为ESN1、ESN2和ESN3。接收机发送一个或几个NACK,表示这些未完成分组的序列号。在图7B和7C上,发射机接收一个或几个NACK,以及作为响应而重发未完成分组。新的分组的传输可进行到TSNMAX极限,当然,当没有接收到NACK时,也会出现这一情况。具体地,图7B显示ESN1已被重发和被正确地接收以及ESN2正在被重发的情形。BSN也被设置为ESN1。换句话说,对于ESN1的NACK被用来作为对于处在ESN1之前的分组的累积的肯定应答,以及BSN随之被加以调整。
有时,NACK由于未知的原因而无法达到发射机。在这种情形下,在规定的或预定的时间过去以后,在发送者缓存器中的、没有被(NACK,或PACK)应答的分组将可被自动重发。
NACK可以通过发送NACK和明显地指示最老的NACK的序列号(这里用ESN1代表)以及使用位图表示正确接收的分组和丢失的分组而被有效地发送。这种类型的NACK对于在被否定应答的序列号以前的分组执行累积的PACK。其它的NACK任选方式也可被使用,例如这样一种NACK任选方式,在其中对于处在被否定应答的序列号之前的那些分组不执行或不发送累积的肯定应答ACK。
选择拒绝和前进-返回-N技术的不同之处在于,选择拒绝不需要分组以任何特定的次序被发送,而前进-返回-N响应则要以接连的序列号次序接收分组。
通常,在数据网中,希望传送所有的分组而没有任何分组丢失。然而,有时,发送受到重大延时的分组不会有好处,例如,该延时使得分组中的信息成为过时,因而对接收者是无用的。延时敏感的应用项的例子是电话、电视会议和各种对延时敏感的控制系统。
而且,非时间很严格的应用项只要当它们检测到缺乏来自接收端的响应或应答时,通常会发布较高的级别的重发,这可造成其中ARQ缓存器被填充以未成功地发送的数据和/或新重发的数据的情形。如果数据与有效时间有关,则这种情形可以避免,有效时间被设置为略微短于该应用项的重发时间。然而,实际上,很困难或不可能鉴别使用了哪种重发时间,因为较低的层(LLC)不知道哪个应用项处在顶层。在这样的情形下,必须假定某个应用项和根据假定来具体设计通信系统。
对于某些业务类别和在一定的传送延时以后,允许在异步传送模式(ATM)中丢弃数据分组。与ATM有关的ARQ可使用由ATM层提供的传送延时信息,以便去调整在ARQ功能中的连接特定的丢弃定时器。然而,在接收机中的ARQ可以检测丢失的或非完整的分组以及需要重发。
总之,当前的ARQ方法不能识别和考虑数据分组具有有限的生存期的情况,所以无法通过不发送(或重发)有显著延时的或过时的数据分组来减小带宽的使用。
发明概要按照本发明的示例性实施例,提供了通过考虑数据分组具有任意的、但有限的生存期,而使得带宽使用最小化的ARQ技术。所述生存期可以被假定为固定的、或可以从ATM层信息得到。具体地,在本发明的示例性实施例中显示了各种用于丢弃过时的数据分组的改进的前进-返回-N和选择拒绝技术,并且还体现了可被应用到停止和等待技术以便丢弃过时的数据分组的原理。
按照本发明的一个实施例,在ARQ标题中设置一个比特,以便迫使接收机接受在已被丢弃的和不重发的一个或多个错误的、或未接收的分组后面的分组。
按照本发明的另一个实施例,当一个NACK已被接收和数据分组已被丢弃,则将序列号重新分配给非丢弃的数据分组,以使得被发送的非丢弃的分组数据流将具有接连的序列号。
按照本发明的再一个实施例,在分组丢弃时,发射机监视接收机状态。如果一个预期的分组已被丢弃,则发射机通过重新编号数据分组、或通过命令接收机接受一个任意选择的序列号来进行重新同步。
附图简述当结合附图阅读以下的优选实施的详细说明时本领域技术人员将明白本发明的其它目的和优点。图上相同的元件用相同的参考数字表示。
图1A和1B显示现有技术的前进-返回-N技术。
图2显示在现有技术的前进-返回-N技术中的窗口。
图3A-3D显示在现有技术的前进-返回-N技术中的发送序列。
图4A-4D显示在现有技术的前进-返回-N技术中肯定应答的使用。
图5显示ARQ数据分组的现有技术的例子。
图6显示应答消息的现有技术的例子。
图7A-7C显示在现有技术的选择拒绝技术中否定应答的使用。
图8显示按照本发明的实施例的接收机分组强制比特。
图9显示本发明的一个实施例的运行。
图10A和10B显示本发明的一个实施例的运行。
图11显示本发明的一个实施例的运行。
图12显示本发明的一个实施例的运行。
图13显示本发明的一个实施例的运行。
优选实施例描述按照本发明的涉及一个通信系统的示例性实施例(其中发射机和接收机正在以分组丢弃程序交换数据分组),发射机的发送窗口的底端的进程被报告给接收机,以便允许接收机适当地跳过那些因为已被丢弃而不再存在的分组。因此,可以命令接收机跳过或忽略那些已被丢弃的分组,换句话说,解除任何接收已被丢弃的分组的预期。为了避免模糊度问题,规定了要由接收机和发射机遵循的特定的法则。
在发射机丢弃分组的情况下,发射机通过在下一个分组的ARQ标题中设置某个接收机分组强制比特(RPEB)和发送分组给接收机而命令接收机接受下一个分组。当接收机接收分组时,该RPEB比特将使得接收机接受该分组。图8显示带有ARQ标题812和数据部分818的ARQ分组810。标题812包括接收分组强制比特RPEB814、和一个k比特序列号N(S)816。替换地,多个强制比特可以与ARQ分组分开地被发送,所述多个强制比特带有关于每个强制的比特属于哪个ARQ分组的隐含的或明显的指示。
发送与特定的ARQ分组有关的RPEB的这种强制的功能可被使用于各种各样的情形。例如,一种情形可以是其中与被分配以序列号N(R)的ARQ分组有关的NACK可被ARQ接收机发送和被ARQ发射机正确地接收。如果NACK对于一个丢弃的数据分组是有效的,则要被重发的下一个数据分组可以将RPEB设置为TRUE(真实)。
在另一个示例的情形中,重发定时器满时,以及一个或多个数据分组被丢弃。要被发送的下一个进入的数据分组或要被重发的第一数据分组可以将RPEB设置为TRUE(真实)。
相同还可被配置成使得在所有其它情形中,与数据分组有关的RPEB设置为FALSE(虚假)。
具体地,当相同使用前进-返回-N类型的分组交换时,可以使用两种类型的分组强制方案。第一种类型是具有任意窗口尺寸W的通用方法,以及第二种类型是通用方法的特别事例。在该特别事例中,窗口尺寸是W=2k-1,即,最大序列号的一半。
在特别事例的方法中,模糊度可以通过应用非常简单的法则而被防止。特别事例的方法利用新的变量DSN。例如,在图9上显示了DSN,它表示所有的先前的分组被应答为已被正确地发送和接收。在图9上,由于分组丢弃超时,从DSN到BSN-1的所有分组已被丢弃。当在缓存器中一些最老的分组在预定的时间范围内一直处在缓存器并且这些分组在预定的时间量到达后被丢弃时,则会出现分组丢弃超时。当老的分组被丢弃时,BSN的数值被加增量,直至它指向缓存器中最老的其余的(即,未丢弃的)分组为止。图9显示BSN指向缓存器中最老的其余的分组。在预定的时间量到达后,TSN的数值大于或等于新的BSN的数值。这表示从BSN到TSN-1的分组已被发送。TSN表示下一个要发送的新的分组,以及ISN具有与先前表示的相同的功能,即,表示下一个要发送的分组的序列号。ESN(例如,ESN1)表示接收机预期接收的下一个分组的序列号。为了防止模糊度,TSN不能超过TSNMAX。在这个替换例中,TSNMAX是DSN+2k-1。
虽然在DSN与BSN之间的数据分组已被丢弃,如图9所示,但由于某些未知的原因,因而先前的ACK没有从ARQ接收机传送到ARQ发射机,或从ESN1到TSN的ARQ分组没有被接收到。这解释了为什么ESN1处在表示丢弃的ARQ分组的序列号的序列中,或换句话说,为什么接收机正在预期一个已被丢弃的序列号。在这时候,或者重发定时器起动重发,或者NACK被正确地接收。在这两种情形下,对于要被发送的下一个分组,RPEB被设置为TRUE。如果在分组接收时,在N(S)与ESN(例如,ESN1)之间的差值小于2k-1以及RPEB=TRUE,则分组将被接受以及被转发到较高的层,只要在分组中载送的数据也正确的话。
图9也显示当TSNMAX被规定为DSN+2k-1时将不发生模糊度。当ESN(ESN1)滞后于BSN时,常常可以迫使接收机接收一个其RPEB=TRUE的ARQ分组。如果ESN(ESN1)领先于BSN、以及对于接收的ARQ分组的RPEB是TRUE,则分组将不被接受。这可以通过鉴别BSN-ESN是否超过W=2k-1而被确定。如果在ARQ发射机中对于比TSN高的序列号接收到一个NACK,则出现错误,以及多半会发生重新初始化或重新启动。在重新初始化或重新启动时,所有的计数值和/或变量被复位到某个数值,以使得ARQ可再重新启动。例如,变量可被设置为TSN=ISN=BSN=ESN=DSN等等。
图10A和10B通过显示两种情形来更精确地显示变量的定义。图10A显示一种其中缓存器中的内容是低的情形,以及图10B显示一种其中缓存器是非常满的情形。图10A和10B也表示对于分组缓存器可存在上限(固定的或动态的)。也可能存在有一些从较高的层接收的、但因为TSN可能已达到TSNMAX而不允许被发送的分组。这样的分组的发送将是待决的,以及用待决序列号PSN表示,如图10B所示。一旦在进行中给出空隙,待决的分组就被发送。当NACK或PACK被正确地接收时给出空隙,由此使得DSN(或许也使得BSN)向前进行。这允许TSNMAX也向前进行。
另一方面,更一般的情形需要更复杂的规则。以下将描述表示更一般的情形的、具有任意窗口尺寸的ARQ发射机的功能。
图11显示ARQ的一种任意状态。一般情形与上述的特别的情形的不同之处在于,窗口尺寸(W)是通过使用BSN而不是DSN来规定的。这给出在上一个应答分组(DSN)与最高的发送分组(TSN)之间的最大的可能的距离。正如在特别的情形中那样,TSN可以不超过TSNMAX。TSNMAX=BSN+W,其中1≤W≤2k-1。
下面,使用符号≤。它在“以前”和“以后”的意义上比起普通数学的意义上使用得更多,因为我们使用模(modulus)算术。例如,假定k=8比特,BSN=192,和W=128。这将产生BSN+W=(192+128)模2k=64。TSN可以是254,它是处在BSN+W以前,即使在数学上254>(192+128)模2k=64。
某些重要的条件是TSN≤DSN-1,TSN≤TSNMAX,以及DSN≤BSN≤TSN,其中TSNMAX=BSN+W。W可被假定为是一个在1和2k-1之间的任意值。然而,接收机和发射机都必须使用同一个对于W的任意值。
当N(S)-ESN<2k-W,RPEB=TRUE,以及分组中的数据是正确的时候,在不考虑通常的前进-返回-N功能的情况下分组将被接受。
对于一般情形的一个附加法则是,为了避免模糊度问题,BSN-DSN将总是小于2k-W。如果出现(BSN-DSN)=2k-W的情形,则一般地将进行重新同步,或者将把一个表示坏的链路性能的通知发送到控制和管理层。控制和管理层于是能执行处理问题的对策。
在例如图12所示的、本发明的另一个示例性实施例中,使用了选择拒绝型分组交换,它所根据的是与上面对于使用于前进-返回-N型分组交换的特定的和一般的情形描述的相同的基本原理。即,发送一个接收强制比特(例如以上对于其它实施例描述的RPEB),以便从发射机缓存器中丢弃分组。
在本实施例中,基本法则包括DSN≤BSN≤TSN≤TSNMAX以及TSNMAX-DSN=2k-1。变量定义是和上面对于其它实施例描述的那些变量相同的。下面将描述关于如何处理NACK、PACK和分组的自动重发的某些附加规则。
在发生多个分组重发的情形下,会出现分组丢弃超时,这将使得缓存器中最老的尚未应答的分组被丢弃。例如,这在图12上看到,其中具有在DSN与BSN之间的序列号的分组已被丢弃。
在老的分组从发射机缓存器中被丢弃以后,可能出现两个结果。或者分组重发命令被定时器满时调用,或者对于处在DSN与BSN之间的序列号将会接收到一个NACK。首先,考虑NACK情形。
假定NACK的一种使用情形包括以下特征。当发送一个NACK时,最老的尚未接收的分组由它的序列号明显地表示。具有处在这个最老的未完成的分组以前的序列号的那些分组同时被这个NACK消息肯定地应答。与此同时,NACK可以是(a)一个表示未完成分组的长度n的位图,其中被设置为1的某些比特表示未完成分组,或(b)一个明显地表示其分组没有被接收到的序列号N,或(c),(a)和(b)的某个组合。
在第一种情形,参照图12,如果在DSN到BSN的间隔中对于ESN1接收到NACK、以及对于NACK的其被覆盖的ACK范围小于BSN-ESN1、和至少一个分组尚未被丢弃(TSN≠BSN),则带有被设置为真实的RPEB的、由BSN表示的分组被重发。应当指出,发射机也可发送短的控制消息,以便通知接收机分组已被丢弃,由此,可以节省带宽。
在第二种情形,如果对于位于在DSN与BSN之间的间隔中的ESN1已接收到NACK、以及对于NACK的被覆盖的ACK范围小于BSN-ESN1和所有的分组已被丢弃(即,BSN=TSN),则带有RPEB=TRUE的、待决的分组被发送。然而,如果对于发送而言没有分组是待决的,则系统或者(a)等待,直至下一个分组从较高的层被接收,然后发送带有RPEB=TRUE的这个分组为止,或者(b)通知接收机当前没有分组发送。比分组短的消息可被使用来通知接收机分组已被丢弃,由此,可以节省带宽。
在第三种情形,如果在DSN到BSN的间隔中对于ESN1接收到NACK、以及对于NACK的被覆盖的ACK范围大于BSN-ESN1和至少一个分组未被丢弃,以及至少一个具有序列号≥BSN的未完成分组存在,则处在BSN后面的第一未完成分组,如同由NACK消息表示的那样,将以RPEB=TRUE而被重发。
在第四种情形,如果(a)对于在DSN与BSN之间的间隔中的ESN1接收到NACK,和(b)对于NACK的覆盖的ACK范围大于BSN-ESN1,和(c)至少存在这样一个分组,它已被发送、但没有得到肯定的或否定的应答,并且它具有的序列号是在由NACK消息表示的分组的后面,以及(d)不存在着在NACK消息中表示的、具有序列号≥BSN的未完成的分组,则处在NACK消息中表示的分组以后的第一分组以RPEB=TRUE而被重发。比分组更短的消息可被使用来通知接收机分组已被丢弃,由此,可以节省带宽。
在第五种情形,如果(a)对于在DSN与BSN之间的间隔中的ESN1接收到NACK,和(b)对于NACK的覆盖的ACK范围大于BSN-ESN1,和(c)在由NACK消息表示的分组后面不存在任何分组,以及(d)不存在任何在NACK消息中表示的、具有序列号≥BSN的未完成的分组,则对于发送而言待决的分组以RPEB=TRUE而被发送。换句话说,当具有处在从BSN到TSN范围之内(即,TSN≤N(S)≤BSN)的序列号N(S)的所有分组已被肯定地应答时,对于发送而言待决的分组以RPEB=TRUE而被发送。然而,如果没有分组对发送而言是待决的,则系统一直等待至从较高的层接收到下一个分组然后以RPEB=TRUE而被发送为止,或提醒接收机当前没有分组发送。一个比分组更短的消息可被使用来提醒接收机分组已被丢弃,由此,可以节省带宽。
在第六种情形,当出现了定时器起动的分组重发和ISN=BSN时,则RPEB应当被设置为TRUE。否则,RPEB应当被设置为FALSE。替换地,当((ISN=BSN)和(BSN≠DSN))时,RPEB可被设置为TRUE,否则,它可被设置为FALSE。
当接收到带有RPEB=TRUE的一个正确的分组时,在这个分组前面的、和直到下一个未完成的分组的所有分组就从缓存器中释放以及被转发到较高的层。应用项或其它层决定如果延时和组装需求被满足的话,分组是否可被使用。
在使用其尺寸<2k-1的窗口的情形下,除了由所述的选择拒绝本身施加的普通需求以外,必须考虑没有附加丢弃能力。
在退回N个方案中使用的本发明的另一个实施例中,假定重新同步只出现在接收到NACK和N(R)<BSN时。于是,发射机将完全地知道接收机的状态,即,ESN是已知的。应当指出,存在一种情形,其中如上所述的NACK被接收,以及接收机可以等待一个往返路程延时时间间隔,以便确保完全地知道接收机的状态。换句话说,当刚好执行NACK的分组的重发,以及不知道分组是否经历了所有的缓存器和其它延时引起的功能时,接收机可等待一个往返路程延时时间间隔。在这里,可以执行重新编号分组序列号,以使得在重新编号后发送的第一ARQ分组将载送与NACK所指示的分组相同的序列号。
在图13上,对于丢弃的分组接收到一个NACK,因为ESN是在BSN前面。因此,从BSN算起所有以后的分组被重新编号,以使得BSN从ESN开始,BSN+1分组被重新编号为ESN+1,等等。应当指出,对于定时器起动的重发不执行重新编号。
在退回N个方案中使用的本发明的另一个实施例中,接收机和发射机在某个丢弃机会时被重新同步。在这个实施例中,ARQ分组只能被丢弃,如果它们先前没有被应答的话。
重新同步由发射机起动,因为它知道何时执行丢弃。发射机请求序列号,直到这个序列号之前(但不包括它)接收机接受了ARQ分组。如果该序列号是处在上一个丢弃的序列号之前,则发射机命令接收机从某个任意选择的、但是是预先规定的序列号开始。下一个发送的分组从这个任意选择的序列号向上被编号。作为替换例,只是发射机被重新同步,以使得在重新同步后发送的第一分组具有与由接收机预期的下一个分组相同的序列号。
在本发明的各种实施例中,当在数据网络内发射机与接收机之间开始建立呼叫时,按照所涉及的特定的应用项,可以规定W的幅度。例如,当发射机被数据网络中的较高层软件初始化时,它可以选择W的幅度,以及把这个幅度通知接收机,反之亦然。表示W的幅度的信息可以通过使用控制消息从发射机发送到接收机(或反之亦然)。
总之,本发明的各种实施例可以通过丢弃过时的分组来增加使用ARQ分组的通信系统的通过量。另外,本发明的各种实施例减小了发射机中ARQ缓存器将溢出的风险。本领域技术人员也将会看到,以上对于本发明的各种实施例描述的原理可被应用到停止和等待ARQ方案。
本领域技术人员将会看到,本发明可以以其它特定的形式被实施,而不背离本发明的精神或本质特征,以及本发明并不限于这里描述的特定的实施例。所以,这里揭示的实施例在所有方面被考虑为说明性的,而不是限制性的。本发明的范围由附属权利要求指示,而不是由上述的说明指示,在本发明的意义和范围和等同物内进行的所有的改变都要被包括在其内。
权利要求
1.在利用包括自动重复请求方案在内的分组传送协议的数据网中丢弃分组的方法,包括以下步骤命令数据网中的接收机(a)接收至少一个具有与先前接收的分组的序列号不连贯的序列号的分组,以及(b)解除对具有先于所述至少一个分组的序列号的未完成的分组的任何预期接收;以及丢弃其应答未被接收的、和具有先于所述至少一个分组的序列号的所有分组。
2.权利要求1的方法,其特征在于,其中所述至少一个分组中的每一个包括一个接收强制比特,以及所述命令步骤包括以下步骤把对于所述至少一个分组中的每一个的接收强制比特设置为TRUE值;以及发送所述至少一个分组到接收机。
3.权利要求1的方法,其特征在于,其中命令步骤包括以下步骤对于每个至少一个分组,设置接收强制比特为TRUE值;以及把被设置为TRUE的所述至少一个接收强制比特连同发送该分组的发射机的标识和在控制消息中的该分组的序列号一起发送到到接收机。
4.权利要求1的方法,其特征在于,其中该方法与前进-返回-N的自动重复请求方案有关,以及包括以下步骤规定最大上端序列号等于数值(DSN+2k-1),其中DSN是一个表示所有具有在该DSN之前的序列号的分组在被接收时已被数据网中的接收机应答的序列号,以及k是在数据网中用于分组的序列号域中的比特数目;当用于接收的分组的接收强制比特被设置为TRUE和N(S)-ESN<2k-1时,接受一个已接收的分组,其中N(S)是所接收的分组的序列号,以及ESN是要被接收的下一个分组的预期的序列号;以及当用于该被接收分组的接收的强制比特被设置为TRUE和N(S)-ESN≥2k-1时,执行以下步骤之一(a)重新启动自动重复请求方案和(b)把故障事件报告给管理控制系统。
5.权利要求1的方法,其特征在于,其中该方法与前进-返回-N的自动重复请求方案有关,以及包括以下步骤按照法则(TSN≤DSN-1)、(TSN≤BSN+1)和(1≤W≤2k-1),限制上端序列号TSN,其中k是在数据网中的分组的序列域中的比特数,DSN是序列号,它表示所有具有在该DSN之前的序列号的分组在被接收时已被数据网中的接收机应答,BSN是底端序列号,表示被存储在数据网中的发射机的发送缓存器中的最老的分组的序列号,以及W是用于跟踪分组的、对于接收机和发射机是已知的窗口尺寸;当用于接收的分组的接收强制比特被设置为TRUE和N(S)-ESN<2k-1时,接受所述被接收的分组,其中N(S)是该被接收分组的序列号,以及ESN是要被接收的下一个分组的预期的序列号;以及当用于被接收分组的接收的强制比特被设置为TRUE和N(S)-ESN>2k-1时,执行以下步骤之一(a)重新启动自动重复请求方案和(b)把故障事件报告给管理控制系统;以及按照法则(DSN≤BSN≤TSN),限制BSN。
6.权利要求1的方法,其特征在于,其中所述方法与前进-返回-N的自动重复请求方案有关,以及包括以下步骤按照法则(DSN≤BSN≤TSN≤TSNMAX),限制表示被存储在数据网中的发射机的发送缓存器中的最老的分组的序列号的底端序列号BSN、和上端序列号TSN,其中DSN是表示所有具有在DSN之前的序列号的分组在被接收时已被数据网中的接收机应答的序列号,TSNMAX是最大上端序列号,(TSNMAX-1=2k-1),以及k是在数据网中的分组的序列号中的比特数;当用于接收的分组的接收强制比特被设置为TRUE和N(S)-ESN<2k-1时,接受所述被接收的分组,其中N(S)是该被接收分组的序列号,以及ESN是要被接收的下一个分组的预期的序列号;以及当用于该被接收分组的接收的强制比特被设置为TRUE和N(S)-ESN≥2k-1时,执行以下步骤之一(a)重新启动自动重复请求方案和(b)把故障事件报告给管理控制系统。
7.权利要求6的方法,其特征在于,还包括以下步骤当(a)具有在DSN以后和在BSN以前的序列号的第一分组被否定地应答,(b)在第一分组以前的、和没有被肯定地应答的分组的数目小于BSN与第一分组的序列号之间的差值,以及(c)TSN≠BSN时,设置用于由BSN表示的分组的接收强制比特和从发射机重发由BSN表示的分组到接收机。
8.权利要求6的方法,其特征在于,还包括以下步骤当(a)具有在DSN以后和在BSN以前的序列号的第一分组被否定地应答,(b)在第一分组以前的、和没有被肯定地应答的分组的数目小于BSN与第一分组的序列号之间的差值,以及(c)TSN≠BSN时,如果分组是对于发送而言是待决的,则把用于该待决的分组的接收强制比特设置为TRUE和从发射机发送该待决的分组到接收机;如果没有任何分组对于发送而言是待决的,则执行以下步骤之一(a)等待直至从较高的层接收到一个分组为止和(b)通知接收机没有分组是待决的。
9.权利要求6的方法,其特征在于,还包括以下步骤当(a)具有在DSN以后和在BSN以前的序列号的第一分组被否定地应答,(b)在第一分组以前的、和没有被肯定地应答的分组的数目大于BSN与第一分组的序列号之间的差值,以及(c)TSN≠BSN时,设置用于在BSN后面的第一未完成分组的接收强制比特和从发射机重发第一未完成分组到接收机。
10.权利要求6的方法,其特征在于,还包括以下步骤当(a)具有在DSN以后和在BSN以前的序列号的第一分组被否定地应答,(b)在第一分组以前的、和没有被肯定地应答的分组的数目大于BSN与第一分组的序列号之间的差值,(c)在第一分组后面存在至少一个分组,以及(d)具有在BSN后面的序列号的分组没有被否定地应答时,设置用于在BSN后面的第一分组的接收强制比特和从发射机重发在BSN后面的第一分组到接收机。
11.权利要求6的方法,其特征在于,还包括以下步骤当具有在DSN以后和在BSN以前的序列号的第一分组被否定地应答,以及具有大于或等于BSN、和小于TSN的序列号的所有分组被肯定地应答时,如果一个分组是对于发送而言是待决的,则把用于该待决的分组的接收强制比特设置为TRUE和从发射机发送该待决的分组到接收机;如果没有任何分组是对于发送是待决的,则执行以下步骤之一(a)等待直至从较高的层接收到一个分组为止和(b)通知接收机没有分组是待决的。
12.权利要求6的方法,其特征在于,还包括以下步骤当发生定时器起动的分组重发和ISN=BSN时,把用于分组的接收强制比特设置为TRUE;以及当发生定时器起动的分组重发和ISN≠BSN时,把用于分组的接收强制比特设置为FALSE;其中ISN表示要被发送的下一个分组的序列号。
13.权利要求6的方法,其特征在于,还包括以下步骤当(ISN=BSN)和(BSN≠DSN)时,把用于分组的接收强制比特设置为TRUE,否则把用于分组的接收强制比特设置为FALSE,其中ISN表示要被发送的下一个分组的序列号。
14.在利用其中包括返回N的自动重复请求方案的分组传送协议的数据网中丢弃分组的方法,包括以下步骤丢弃至少一个分组;接收对于该至少一个分组的NACK;以及分配接连的序列号给与该至少一个分组相邻的、非丢弃的分组。
15.在利用其中包括返回N的自动重复请求方案的分组传送协议的数据网中丢弃分组的方法,包括以下步骤丢弃已被数据网中的发射机发送的、但没有被数据网中的接收机对接收给予应答的至少一个分组;在丢弃该至少一个分组以后,重新同步发射机和接收机,以使得被接收机接收的上一个分组和要被发射机发送的下一个分组具有接连的序列号。
16.权利要求15的方法,其特征在于,其中重新同步步骤包括以下步骤确定接收机预期下一个要接收的序列号;以及当预期的序列号不同于由发射机下一个要发送的分组的序列号时,分配该预期的序列号给由发射机下一个要发送的该分组。
17.权利要求15的方法,其特征在于,其中重新同步步骤包括以下步骤确定接收机预期下一个要接收的序列号;以及当预期的序列号不同于由发射机下一个要发送的分组的序列号时,命令接收机预期从发射机要发送到接收机的下一个分组的序列号。
18.权利要求15的方法,其特征在于,其中重新同步步骤包括命令接收机预期从发射机要发送到接收机的下一个分组的序列号的步骤。
19.在利用其中包括返回N的自动重复请求方案的分组传送协议的数据网中丢弃分组的方法,包括以下步骤丢弃已被数据网中的发射机发送的、但没有被数据网中的接收机对接收给予应答的至少一个分组;在丢弃该至少一个分组以后,通过确定接收机预期下一个接收的序列号、和从该预期的序列号开始接连地重新编号在发射机中待决的分组,从而重新同步发射机和接收机。
全文摘要
提供了在数据网中自动重复请求(ARQ)方案中使用的技术,它通过丢弃没有被成功地传送的过时的分组而使得由网络中的接收机和发射机为传送数据分组所使用的带宽最小化。按照本发明的一个实施例,在ARQ标题中设置一个比特,以便迫使接收机接受在已被丢弃的和不重发的一个或多个错误的、或未接收的分组后面的分组。按照本发明的另一个实施例,在数据分组被丢弃后,序列号被重新分配给还要被发送到接收机的未丢弃的数据分组,以使得发送的未丢弃的分组数据流将具有接连的序列号。
文档编号H04L1/18GK1325575SQ9981281
公开日2001年12月5日 申请日期1999年10月26日 优先权日1998年10月28日
发明者M·拉松, P·拉松 申请人:艾利森电话股份有限公司