CN101296173B - 网络分组传送方法 - Google Patents
网络分组传送方法 Download PDFInfo
- Publication number
- CN101296173B CN101296173B CN2007101010636A CN200710101063A CN101296173B CN 101296173 B CN101296173 B CN 101296173B CN 2007101010636 A CN2007101010636 A CN 2007101010636A CN 200710101063 A CN200710101063 A CN 200710101063A CN 101296173 B CN101296173 B CN 101296173B
- Authority
- CN
- China
- Prior art keywords
- network packet
- lat
- time
- passage
- period
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000005540 biological transmission Effects 0.000 claims abstract description 29
- 238000012163 sequencing technique Methods 0.000 claims description 11
- 230000002045 lasting effect Effects 0.000 claims description 4
- 239000002699 waste material Substances 0.000 abstract description 2
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000000205 computational method Methods 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- VEMKTZHHVJILDY-UHFFFAOYSA-N resmethrin Chemical compound CC1(C)C(C=C(C)C)C1C(=O)OCC1=COC(CC=2C=CC=CC=2)=C1 VEMKTZHHVJILDY-UHFFFAOYSA-N 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种网络分组传送方法,在接收端收到失序的网络分组时,先将其加入至缓存队列,直到等待时间到期或是接收到分组序号与目前传送序号相等的网络分组之后,再从缓存队列中取出适当的网络分组送出。因此能对失序的网络分组进行排序并依序送出,进而避免重送网络分组而浪费网络频宽,据以提升网络传输的效率。
Description
技术领域
本发明涉及一种网络分组传送方法,特别是涉及一种能依照分组序号的先后顺序来传送网络分组的传送方法。
背景技术
随着因特网的进步,为了适应各种使用需求而发展出的网络技术也跟着蓬勃发展起来。其中,在支持通道路由(Tunnel Routing)技术的网络环境下,广域网络(Wide Area Network,WAN)上的连结可构成由多条通道(Tunnel)所组成的通道群组(Tunnel Group),而所有网络分组将按照一定的策略分发到各个通道以发送给对方。通道路由技术的优点在于当其中一条广域网络连结断线时,网络分组依旧能通过其它的通道来进行传送,进而保持网络传输的持续性;此外,利用多个通道来传送网络分组也可提升网络传输速率。因此,通道传输技术无疑能因应快速及持续传送数据的需求。
然而,由于通道群组中各个通道的网络状况均有所不同,接收端在接收网络分组时可能会面临网络分组失序(Reorder)的情况。举例来说,若发送端依序送出序号1至4的分组,2号分组因为网络壅塞较晚抵达,使接收端依序收到1、3、4号分组。接收端收到1号分组时会针对1号分组送出响应(Acknowledgment)给发送端,稍后收到3、4号分组时也会针对1号分组送出响应。发送端连续收到三次针对1号分组的响应后,会判断2号分组已经遗失而重传(Retransmit)2号分组,而实际上2号分组并未在传送途中丢失。这种非必要的重复传送会占用网络资源,降低网络传输效率。
此外,对于某些重视网络分组的先后顺序的串流(Streaming)应用服务来说,若无法依序地接收网络分组,也将使得服务品质受到相当大的影响。
发明内容
有鉴于此,本发明提供一种网络分组传送方法,将失序的网络分组加入缓存队列并进行排序,据以在传送时能依照其分组序号的先后顺序送出。
本发明提出一种网络分组传送方法,用于包括多个信道的信道群组,此方法包括下列步骤:首先,提供接收端,其中此接收端储存有传送序号,并能存取缓存队列。接着,由接收端接收网络分组,并比较网络分组的分组序号与传送序号。若分组序号大于传送序号,则将网络分组加入缓存队列,并对应倒数等待时间;若分组序号等于传送序号,则传送网络分组以及缓存队列中分组序号与网络分组的分组序号连续的网络分组;若分组序号小于传送序号,则根据接收端的需求,决定是否传送网络分组。当等待时间倒数为0时,由缓存队列中分组序号最小的网络分组开始,传送分组序号与该最小分组序号连续的网络分组。
依照本发明的较佳实施例所述的网络分组传送方法,还包括每当传送缓存队列中的网络分组之后,更新传送序号为最后传送的网络分组的分组序号加1。
依照本发明的较佳实施例所述的网络分组传送方法,还包括每当传送缓存队列中的网络分组之后,若缓存队列为空,则清除等待时间。
依照本发明的较佳实施例所述的网络分组传送方法,还包括每当传送缓存队列中的网络分组之后,若缓存队列非空,则重新倒数等待时间。
依照本发明的较佳实施例所述的网络分组传送方法,还包括每当传送缓存队列中的网络分组之后,若缓存队列非空,则计算持续倒数时间,并开始倒数持续倒数时间。
依照本发明的较佳实施例所述的网络分组传送方法,其中计算持续倒数时间的步骤包括以目前在该缓存队列中的第一个网络分组被加入至缓存队列的时间与加入当时的等待时间的总和做为送出时间。并以送出时间及目前时间的差值做为持续倒数时间。
依照本发明的较佳实施例所述的网络分组传送方法,其中若分组序号小于传送序号,则根据接收端的需求,决定是否传送网络分组的步骤包括若接收端不要求严格定序传送,则传送网络分组。若接收端要求严格定序传送,则丢弃网络分组。
依照本发明的较佳实施例所述的网络分组传送方法,还包括根据网络分组由发送端分别经过每个通道以到达接收端的时间差值,计算每个通道的延迟时间Lati,其中正整数i为对的通道编号。接着,根据每个通道的延迟时间与上一次计算的该通道的延迟时间的差值,计算每个通道的延迟时间变异值Vari,并根据上述延迟时间Lati及上述延迟时间变异值Vari,计算等待时间。
依照本发明的绝佳实施例所述的网络分组传送方法,其中时间差值为相对时间差值或绝对时间差值,而根据网络分组由发送端经过通道以到达接收端的时间差值,计算通道的延迟时间的步骤包括:首先,计算延迟时间Lati=(Lati_old*N+Delta_ti)/(N+1),其中Lati_old表示上一次计算的通道的延迟时间,Delta_ti表示时间差值,而N为大于0的整数。
依照本发明的较佳实施例所述的网络分组传送方法,其中根据通道的延迟时间与上一次計算的延迟时间的插值,计算通道的延迟时间变异值的步骤包括:首先,计算延迟时间变异值Vari=Vari_old*M+|Delta_ti-Lati_old|)/(M+1),其中Vari_old表示上一次计算的通道的延迟时间变异值,Delta_ti表示时间差值,Lati_old表示上一次计算通道的延迟时间,而M为大于0的整数。
依照本发明的较佳实施例所述的网络分组传送方法,其中若分组序号大于传送序号,将网络分组加入缓存队列,并对应倒数等待时间的步骤还包括若在加入网络分组于缓存队列之前缓存队列为空,则开始倒数等待时间。
依照本发明的较佳实施例所述的网络分组传送方法,其中根据上述延迟时间Lati及上述延迟时间变异值Vari,计算等待时间的步骤还包括:计算上述延迟时间的最大值Latmax=MAX(Lat1,Lat2,……,Latk),其中k为最大的通道编号。计算上述延迟时间变异值的最大值Varmax=MAX(Var1,Var2,……,Vark)。计算上述延迟时间的最大差值Lat_Diffmax=MAX((Latmax-Lat1),(Latmax-Lat2),……,(Latmax-Latk))。并计算等待时间=Lat_Diffmax+Varmax。
依照本发明的较佳实施例所述的网络分组传送方法,其中等待时间包括每个信道的信道等待时间Tun_wtimei,而若分组序号大于传送序号,将网络分组加入缓存队列,并对应倒数等待时间的步骤还包括在加入网络分组时,开始倒数传送网络分组的通道的通道等待时间。
依照本发明的较佳实施例所述的网络分组传送方法,其中计算通道等待时间的步骤还包括计算上述延迟时间Lati的最大值Latmax=MAX(Lat1,Lat2,……,Latk),其中k为最大的通道编号。计算上述延迟时间变异值Vari的最大值Varmax=MAX(Var1,Var2,……,Vark)。最后,计算通道等待时间Tun_wtimei=(Latmax-Lati)+Varmax。
依照本发明的较佳实施例所述的网络分组传送方法,其中由缓存队列中分组序号最小的网络分组开始,传送分组序号与该最小分组序号连续的网络分组的步骤还包括依序传送由缓存队列中分组序号最小的网络分组开始以至于通道等待时间倒数为0的网络分组的所有网络分组,以及分组序号与通道等待时间倒数为0的网络分组的分组序号连续的所有网络分组。
本发明在接收端收到失序的网络分组时,先将其加入至缓存队列,直到等待时间到期或是接收到分组序号与传送序号相等的网络分组之后,再从缓存队列中取出适当的网络分组送出,因此能对失序的网络分组进行排序并送出,避免重新网络分组而浪费网络频宽,据以达到提升传输效率的目的。
为使本发明的上述特征和优点能更明显易懂,下文特举较佳实施例,并结合附图详细说明如下。
附图说明
图1为依照本发明较佳实施例所示的网络分组传送方法的流程图。
图2为依照本发明较佳实施例所示的等待时间计算方法的流程图。
图3为依照本发明另一较佳实施例所示的网络分组传送方法的流程图。
图4为依照本发明又一较佳实施例所示的网络分组传送方法的流程图。
附图符号说明
110~190:本发明的较佳实施例所述的网络分组传送方法的各步骤。
210~230:本发明的较佳实施例所述的等待时间计算方法的各步骤。
310~390:本发明另一较佳实施例所述的网络分组传送方法的各步骤。
410~460:本发明又一较佳实施例所述的网络分组传送方法的各步骤。
具体实施方式
一般来说,串流应用服务对于网络分组顺序的要求较为严格,若能依序将网络分组送出,不但可以避免重送网络分组所浪费的网络资源,还能使应用服务执行得更为顺畅。本发明便是基于上述理由进而发展出的一种网络分组传送方法。为了使本发明的内容更为明了,以下特举实施例做为本发明确实能够据以实施的范例。
图1为依照本发明较佳实施例所示的网络分组传送方法的流程图。在本实施例中,用以接收网络分组的接收端储存有一传送序号,表示目前应该传送的网络分组的分组序号。接收端能将接收到的网络分组储存于缓存队列,或是由缓存队列中取出网络分组并且送出。为了避免网络分组置于缓存队列的时间过长,接收端会计算一个等待时间,并且在等待时间倒数为0之时,从缓存队列中取出适当的网络分组传送出去。
请参阅图1,在步骤110中,接收端接收经由通道群组的一通道所传送而来的网络分组。接着如步骤120所示,接收端将此网络分组的分组序号与传送序号进行比较。
倘若网络分组的分组序号大于传送序号,那么如步骤130所示,接收端会将此网络分组加入至缓存队列。值得注意的是,在本实施例中,当缓存队列由空转变为非空的时,等待时间便会开始进行倒数,且此后所有加入至缓存队列的网络分组皆对应倒数相同的等待时间。因此如步骤131所示,接收端在将网络分组加入至缓存队列时,将判断在加入之前缓存队列是否为空,倘若在加入前缓存队列为空,那么便开始倒数等待时间。反之,若已经有其它的网络分组被加入至缓存队列,则表示等待时间已经在进行倒数中。
图2为依照本发明较佳实施例所示的等待时间计算方法的流程图。其中,由于每个通道的网络状况不同,因此在计算等待时间时必须先取得通道群组中每个通道的延迟时间以及延迟时间变异值。而接收端计算等待时间的时间点例如可以是接收端每次收到网络分组之时,或是在特定的时刻定期计算等待时间,在此并不限制其范围。
请参阅图2,在步骤210中,根据网络分组由发送端分别经过每个通道到达接收端的时间差值,计算出每个通道的延迟时间Lati,其中正整数i为对应的通道编号。取得时间差值的方法包括由发送端在网络分组内加入一个时间戳记(Time Stamp),而接收端在收到网络分组后,将目前的时间与记录在时间戳记中的时间相减,以做为此通道的时间差值。值得一提的是,若发送端与接收端具有同步的系统时间,则此时间差值为绝对时间差值,也就是发送与接收两端的系统时间差值。反之若发送端与接收端两者的系统时间并不同步,那么将以例如实际开机时间做为基准,来计算两者间的相对时间差值,两者的开机时间差异会在后面的公式中抵消,不至于影响结果。取得时间差值后,本实施例是以下列算式来计算每个通道的延迟时间Lati:
Lati=(Lati_old*N+Delta_ti)/(N+1)
其中,Lati_old表示上一次计算此通道的延迟时间,Delta_ti是对应此通道的时间差值,而N为正整数。
接着如步骤220所示,根据每个通道的延迟时间与上一次计算的延迟时间的差值,来计算每个通道的延迟时间变异值Vari。其中,本实施例是以下列公式来计算每个通道的延迟时间变异值Vari:
Vari=(Vari_old*M+|Delta_ti-Lati_old|)/(M+1)
在上述公式中,Vari_old表示上一次计算此通道的延迟时间变异值,Delta_ti表示对应此通道的时间差值,Lati_old表示上一次计算此通道的延迟时间,而M为正整数。
最后,在步骤230中,根据每个通道的延迟时间以及延迟时间变异值来计算等待时间。在本实施例中,首先必须计算出上述延迟时间中的最大值Latmax=MAX(Lat1,Lat2,......,Latk),其中k为最大的通道编号。接着,计算所有延迟时间变异值的最大值Varmax=MAX(Var1,Var2,......,Vark),并计算出所有延迟时间彼此之间的最大差值Lat_Diffmax=MAX((Latmax-Lat1),(Latmax-Lat2),......,(Latmax-Latk)))。最后,令等待时间为Lat_Diffmax与Varmax的总和。
请回到图1,在步骤133中,当持续倒数的等待时间倒数为0时,接收端将由缓存队列中分组序号最小的网络分组开始,传送分组序号连续的网络分组。举例来说,倘若在等待时间倒数为0时,缓存队列中储存有分组序号分别为13、14、15、17的4个网络分组,那么步骤133中,分组序号为13、14、15的这3个网络分组将被一并送出。
在传送网络分组之后,如步骤150所示,接收端会将最后传送的网络分组的分组序号加1做为新的传送序号。延续上述的例子,接收端将以16(即15+1)做为新的传送序号。并如步骤160所示,判断缓存队列是否已经清空。若在缓存队列中已经没有任何的网络分组,则如步骤170所示,若等待时间尚未倒数为0便将等待时间清除。若在缓存队列中仍有其它的网络分组,则如步骤180所示,接收端将重新开始倒数等待时间,此时的等待时间可依照上述公式重新计算。待等待时间下一次倒数为0时,再进行步骤133之后的各个步骤。
请回到步骤120,倘若接收端接收到的网络分组其分组序号恰好等于传送序号,那么在步骤140中,接收端将传送此网络分组以及在缓存队列中分组序号与此网络分组连续的所有网络分组。举例来说,假设目前储存在接收端的传送序号为12,且在缓存队列中有分组序号分别为13、14、15、17的4个网络分组,那么当接收端收到分组序号为12的网络分组后,便会将分组序号为12、13、14、15的网络分组一并送出。
同样地,在传送网络分组后,如步骤150所示,接收端将更新传送序号,并以最后传送的网络分组的分组序号加1做为新的传送序号。接着在步骤160中,判断缓存队列是否为空。若缓存队列中已经没有任何的网络分组,且等待时间尚未倒数至0,那么在步骤170中将等待时间清除。倘若在缓存队列中仍有尚未传送出去的网络分组,则如步骤180所示,重新开始倒数等待时间,并且在等待时间再次倒数为0之后,进行步骤133的动作。
除此之外,倘若接收端所接收到的网络分组其分组序号小于传送序号,那么如步骤190所示,根据接收端的需求来决定是否传送网络分组。举例来说,倘若接收端不要求严格定序传送,则直接将网络分组传送出去;然而若接收端要求严格定序传送,则丢弃此网络分组。
值得注意的是,在上述实施例中每当传送缓存队列中的网络分组之后,倘若在缓存队列中仍有其它的网络分组尚未送出,接收端将会重新开始倒数等待时间。如此一来,可能会使得某些网络分组在缓存队列中停留的时间超过最初加入队列时的等待时间。
举例来说,假设目前的传送序号为12,而接收端在将分组序号为13的网络分组加入至缓存队列时,开始倒数等待时间(即在分组序号为13的网络分组加入缓存队列之前,缓存队列为空)。此后陆续有分组序号为14、15、17的网络分组加入至缓存队列。在经过一段时间之后,当等待时间倒数为0时,分组序号13、14、15的网络分组将被一并送出。此时,因为在缓存队列中仍有尚未送出的网络分组(即分组序号17的网络分组),因此接收端将重新开始倒数等待时间。倘若在等待时间再次倒数为0之前,接收端并未收到分组序号12的网络分组,那么分组序号17的网络分组将在等待时间再次倒数为0的时才会被接收端送出。也就是说,分组序号17的网络分组停留在缓存队列的时间将超过原本的等待时间。
正因如此,每当传送缓存队列中的网络分组后,若能持续地倒数等待时间以取代重新倒数等待时间,将可避免上述的情况产生。图3为依照本发明另一较佳实施例所示的网络分组传送方法的流程图。由于在本实施例中,接收端对于所接收的网络分组的处理与图1所示的实施例有诸多雷同的处,故在此不再赘述相似的部份。唯有每当接收端传送缓存队列中的网络分组之后,在步骤360判断缓存队列是否被清空,若缓存队列里还有网络分组尚未送出,则如步骤380所示,接收端将计算一持续倒数时间以做为新的等待时间,并倒数更新后的等待时间。
在本实施例中,每个网络分组在加入至缓存队列时均有记录其加入的时间,因此计算持续倒数时间的方式例如是以目前缓存队列中,第一个网络分组被加入至缓存队列的时间,以及加入当时的等待时间的总和来做为送出时间,并以送出时间以及目前时间的差值来做为持续倒数时间。
在上述实施例中,无论网络分组是经由哪个通道到达接收端,均对应倒数相同的等待时间(即缓存队列中的网络分组是共享相同的等待时间)。然而,每个通道的网络状况各不相同,相较于经由传送速度较慢的通道到达接收端的网络分组来说,经由传送速度较快的通道到达接收端的网络分组,其等待时间应该较长,如此一来才能有效地反应网络状况,并使传输效率更为提升。基于上述原因,在以下的实施例中每个加入至缓存队列的网络分组将因为传送的通道的不同,而对应倒数各自的等待时间。
图4为依照本发明又一较佳实施例所示的网络分组传送方法的流程图。请参阅图4,在步骤410中由接收端接收经由通道群组的一通道所传送的网络分组。接着在步骤420中,比较网络分组的分组序号以及传送序号。
倘若网络分组的分组序号大于传送序号,在步骤430中接收端便将网络分组加入至缓存队列。接着,在步骤431中,以传送此网络分组的通道的通道等待时间做为对应的等待时间并开始进行倒数。也就是说,每个加入至缓存队列的网络分组,均有各自所对应倒数的等待时间(即其通道等待时间)。
在本实施例中,接收端计算每个通道的通道等待时间的方法例如必须先计算出每个通道的延迟时间Lati与延迟时间变异值Vari,其中正整数i为对应的通道编号。由于计算通道的延迟时间及延迟时间变异值的方法和上述实施例雷同,故在此不再赘述。接下来,接收端将计算出所有延迟时间的最大值Latmax=MAX(Lat1,Lat2,......,Latk),以及所有延迟时间变异值的最大值Varmax=MAX(Var1,Var2,......,Vark),其中k为最大的通道编号。最后,计算每个通道所对应的通道等待时间Tun_wtimei=(Latmax-Lati)+Varmax。
接着在步骤433中,倘若有任何分组的通道等待时间倒数为0,则依序传送由缓存队列中分组序号最小的网络分组开始以至于通道等待时间倒数为0的网络分组的所有网络分组,以及分组序号与通道等待时间倒数为0的网络分组连续的所有分组。最后,如步骤450所示,将最后传送的网络分组的分组序号加1做为新的传送序号。
举例来说,假设目前在缓存队列中共有分组序号为5、6、7、11、12、13、15、16、17这9个网络分组,当对应分组序号为16这个网络分组的通道等待时间倒数为0时,如步骤433所示,接收端将依序送出分组序号最小的网络分组至通道等待时间倒数为0的网络分组之间的所有网络分组(即分组序号为5、6、7、11、12、13、15、16的网络分组),并且送出缓存队列中分组序号与通道等待时间倒数为0的网络分组连续的所有网络分组(即分组序号为17的网络分组)。最后在步骤450中将传送序号更新为18。
请回到步骤420,倘若接收端判断分组序号与传送序号相等,那么如步骤440所示,接收端将传送此网络分组,以及在缓存队列中分组序号与此网络分组连续的所有网络分组。
倘若接收端判断分组序号小于传送序号,在步骤460中,根据接收端的需求来决定是否要传送网络分组。举例来说,倘若接收端不要求严格定序传送,则将网络分组直接传送出去;然而若接收端要求严格定序传送,则丢弃此网络分组。
本实施例与上述实施例不同的地方在于,在本实施例中每个缓存队列中的网络分组均对应倒数各自的等待时间,因此当传送缓存队列中的网络分组之后,接收端仅只需要更新传送序号,而不用重新倒数等待时间。
值得一提的是,在上述实施例中,由接收端所传送出去的网络分组例如可以传送给接收端本身所执行的应用程序,或是传送至其它的网络设备,在此并不限制其范围。
综上所述,本发明的网络分组传送方法至少具有下列优点:
1.在接收端设置缓存队列,以将失序的网络分组进行排序后送出,避免因为接收失序的网络分组,而误判网络分组丢失并重送的情况产生,进而提升网络传输效率。
2.根据通道群组的网络状况的不同,自动设定网络分组停留在缓存队列中的时间,据以有效反映网络状态,使得网络分组在队列中的等待时间更正确、更有弹性。
3.能以同样的方式应用在多个通道群组上,据以提供更高的网络传输品质。
虽然本发明已以较佳实施例披露如上,然其并非用以限定本发明,本领域技术人员在不脱离本发明的精神和范围的前途下可作若干的更动与润饰,因此本发明的保护范围以本发明的权利要求为准。
Claims (15)
1.一种网络分组传送方法,用于包括至少一通道的一通道群组,该方法包括下列步骤:
提供一接收端,其中该接收端储存有一传送序号,并能存取一缓存队列;
该接收端接收一网络分组;
比较该网络分组的一分组序号与该传送序号;
若该分组序号大于该传送序号,则将该网络分组加入该缓存队列,并对应倒数一等待时间;
若该分组序号等于该传送序号,则传送该网络分组以及该缓存队列中分组序号与该网络分组的分组序号连续的网络分组;
若该分组序号小于该传送序号,则根据该接收端的一需求,决定是否传送该网络分组;以及
当所述等待时间倒数为0时,由该缓存队列中分组序号最小的网络分组开始,传送分组序号与该最小分组序号连续的网络分组。
2.如权利要求1所述的网络分组传送方法,还包括:
每当传送该缓存队列中的网络分组之后,更新该传送序号为最后传送的网络分组的分组序号加1。
3.如权利要求1所述的网络分组传送方法,还包括:
每当传送该缓存队列中的网络分组之后,若该缓存队列为空,则清除所述等待时间。
4.如权利要求1所述的网络分组传送方法,还包括:
每当传送该缓存队列中的网络分组之后,若该缓存队列非空,则重新倒数所述等待时间。
5.如权利要求1所述的网络分组传送方法,还包括:
每当传送该缓存队列中的网络分组之后,若该缓存队列非空,则计算一持续倒数时间,并开始倒数该持续倒数时间。
6.如权利要求5所述的网络分组传送方法,其中「计算该持续倒数时间」的步骤包括:
以目前在该缓存队列中的第一个网络分组被加入至该缓存队列的时间与加入当时的等待时间的总和做为一送出时间;
以该送出时间及一目前时的差值做为该持续倒数时间。
7.如权利要求1所述的网络分组传送方法,其中「若该分组序号小于该传送序号,则根据该接收端的该需求,决定是否传送该网络分组」的步骤包括:
若该接收端不要求严格定序传送,则传送该网络分组;以及
若该接收端要求严格定序传送,则丢弃该网络分组。
8.如权利要求1所逑的网络分组传送方法,还包括:
根据该网络分组由一发送端分别经过每一上述通道以到达该接收端的一时间差值,计算每一上述通道的一延迟时间Lati,其中正整数i为对应的通道编号;
根据每一上述通道的该延迟时间与上一次计算的该通道的延迟时间的差值,计算每一上述通道的一延迟时间变异值Vari;以及
根据上述延迟时间Lati及上述延迟时间变异值Vari,计算所述等待时间。
9.如权利要求8所述的网络分组传送方法,其中该时间差值为一相对时间差值或一绝对时间差值,而「根据该网络分组由该发送端经过该通道以到达该接收端的该时间差值,计算该通道的该延迟时间」的步骤包括:
计算该延迟时间Lati=(Lati_old*N+Delta_ti)/(N+1),其中Lati_old表示上一次计算的该通道的该延迟时间,Delta_ti表示该时间差值,而N为大于0的整数。
10.如权利要求8所述的网络分组传送方法,其中「根据该通道的该延迟时间与上一次计算的延迟时间的差值,计算该通道的该延迟时间变异值」的步骤包括:
计算该延迟时间变异值Vari=(Vari_old*M+|Delta_ti-Lati_old |)/(M+1),其中Vari_old表示上一次计算的该通道的该延迟时间变异值,Delta_ti表示该时间差值,Lati_old表示上一次计算该通道的该延迟时间,而M为大于0的整数。
11.如权利要求8所述的网络分组传送方法,其中「若该分组序号大于该传送序号,将该网络分组加入该缓存队列,并对应倒数所述等待时间」的步骤还包括:
若在加入该网络分组于该缓存队列之前该缓存队列为空,则开始倒数所述等待时间。
12.如权利要求11所述的网络分组传送方法,其中「根据上述延迟时间Lati及上述延迟时间变异值Vari,计算所述等待时间」的步骤还包括:
计算上述延迟时间的最大值Latmax=MAX(Lat1,Lat2,......,Latk),其中k为最大的通道编号;
计算上述延迟时间变异值的最大值Varmax=MAX(Var1,Var2,......,Vark);
计算上述延迟时间的最大差值Lat_Diffmax=MXA(Latmax-Lat1),(Latmax-Lat2),......,(Latmax-Latk));以及
计算所述等待时间=Lat_Diffmax+Varmax。
13.如权利要求8所述的网络分组传送方法,其中所述等待时间包括每一上述通道的一通道等待时间Tun_wtimei,而「若该分组序号大于该传送序号,将该网络分组加入该缓存队列,并对应倒数所述等待时间」的步骤还包括:
在加入该网络分组时,开始倒数传送该网络分组的该通道的该通道等待时间。
14.如权利要求13所述的网络分组传送方法,其中计算该通道等待时间的步骤还包括:
计算上述延迟时间Lati的最大值Latmax=MAX(Lat1,Lat2,......,Latk),其中k为最大的通道编号;
计算上述延迟时间变异值Vari的最大值Varmax=MAX(Var1,Var2,......,Vark);
计算该通道等待时间Tun_wtimei=(Latmax-Lati)+Varmax。
15.如权利要求13所述的网络分组传送方法,其中「由该缓存队列中分组序号最小的网络分组开始,传送分组序号与该最小分组序号连续的网络分组」的步骤还包括:
依序传送由该缓存队列中分组序号最小的网络分组开始以至于该通道等待时间倒数为0的网络分组的所有网络分组,以及分组序号与该通道等待时间倒数为0的该网络分组的分组序号连续的所有网络分组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101010636A CN101296173B (zh) | 2007-04-26 | 2007-04-26 | 网络分组传送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101010636A CN101296173B (zh) | 2007-04-26 | 2007-04-26 | 网络分组传送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101296173A CN101296173A (zh) | 2008-10-29 |
CN101296173B true CN101296173B (zh) | 2010-08-25 |
Family
ID=40066195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101010636A Active CN101296173B (zh) | 2007-04-26 | 2007-04-26 | 网络分组传送方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101296173B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075372B (zh) * | 2009-11-23 | 2014-08-27 | 财团法人工业技术研究院 | 时间还原方法及应用其的网络仿真系统 |
CN102457986A (zh) * | 2010-10-29 | 2012-05-16 | 联芯科技有限公司 | 终端的上行数据传输方法及终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1453949A (zh) * | 2002-04-26 | 2003-11-05 | 东方通信科技发展有限公司 | 码分多址通信系统中消除业务流量抖动及滑码的方法 |
CN1549535A (zh) * | 2003-05-09 | 2004-11-24 | 华为技术有限公司 | 用rtp数据包的序号进行排序以消除其抖动延时的方法 |
CN1645783A (zh) * | 2004-01-20 | 2005-07-27 | 索尼株式会社 | 发送/接收系统、发射机和发送方法、接收机和接收方法、记录媒体和程序 |
-
2007
- 2007-04-26 CN CN2007101010636A patent/CN101296173B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1453949A (zh) * | 2002-04-26 | 2003-11-05 | 东方通信科技发展有限公司 | 码分多址通信系统中消除业务流量抖动及滑码的方法 |
CN1549535A (zh) * | 2003-05-09 | 2004-11-24 | 华为技术有限公司 | 用rtp数据包的序号进行排序以消除其抖动延时的方法 |
CN1645783A (zh) * | 2004-01-20 | 2005-07-27 | 索尼株式会社 | 发送/接收系统、发射机和发送方法、接收机和接收方法、记录媒体和程序 |
Non-Patent Citations (1)
Title |
---|
JP特开平11-55314A 1999.02.26 |
Also Published As
Publication number | Publication date |
---|---|
CN101296173A (zh) | 2008-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104954206B (zh) | 一种多路径并行传输系统的乱序分析方法 | |
CN101286945B (zh) | 数据分片处理方法及装置 | |
JP4780343B2 (ja) | 通信方法、通信システム、ノードおよびプログラム | |
US7801145B2 (en) | Method for transmitting network packets | |
CN1132365C (zh) | 一种多信道自动重发查询(arq)方法 | |
US6608813B1 (en) | Method and apparatus for achieving fault tolerance in packet switching systems with inverse multiplexing | |
CN100574310C (zh) | 一种信誉流量控制方法 | |
CN101364932B (zh) | 包交换网络的数据分段传输的方法 | |
CN101159687B (zh) | 一种多通道通信传输数据的系统和装置与方法 | |
CN102726009B (zh) | 一种数据流交换控制方法及相关设备 | |
CN101651528A (zh) | 上行链路传输方法及其系统 | |
CN103841041A (zh) | 一种多流业务并发传输控制方法及装置 | |
CN109039935B (zh) | 基于时延的多路径数据调度方法 | |
JP2011024269A (ja) | 低ビットレートアプリケーション用にatmセルを生成するための方法 | |
CN101867573A (zh) | 一种数据发送方法、装置和通信系统 | |
CN101416456A (zh) | 通信方法、节点及控制程序 | |
CN102811176A (zh) | 一种数据流量控制方法和装置 | |
CN101296173B (zh) | 网络分组传送方法 | |
US6646991B1 (en) | Multi-link extensions and bundle skew management | |
CN103178930A (zh) | 物理层链路汇聚传输方法及装置 | |
CN1210640A (zh) | 信元定位器 | |
US6982975B1 (en) | Packet switch realizing transmission with no packet delay | |
CN1173772A (zh) | 以大小固定的数据包传输数据的通信链路 | |
US6687840B1 (en) | Multi-link extensions and bundle skew management | |
Feldmeier | A survey of high performance protocol implementation techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: FORTINET INC. Free format text: FORMER OWNER: XTERA COMMUNICATIONS CO., LTD. Effective date: 20131218 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20131218 Address after: American California Patentee after: Fortinet, Inc. Address before: Fuxing Road, Taipei, China Taiwan 1 paragraph 237, one of the 14 floor Patentee before: Xtera Communications Co., Ltd. |