标题压缩分组的传输方法和设备的制作方法

文档序号:7622359阅读:128来源:国知局
专利名称:标题压缩分组的传输方法和设备的制作方法
技术领域
本发明涉及在多个数据终端之间发送和接收分组的分组传输方法以及用来进行分组传输的中继设备和数据终端。
近来,要求通过互联网发送需要实时传输的诸如视频数据或音频数据之类的数据越来越多。
作为一个满足这种要求的协议,RTP(实时转送协议)遵从RFC(注释要求)1889,这是由IETF(互联网工程任务组),一个对互联网进行标准化的团体,发布的。RTP的作用例如有1)规范净荷类型;2)标识序号;以及3)标识时标(timestamp)。这些规则使诸如音频与视频数据之类的信息可以实时在互联网上发送。通常,对于网络层上的IP(互联网协议)和传输层上的UDP(用户数据报协议)来说,RTP是一个更高层上的协议。
图11A示出了附加到需按照RTP、UDP和IP发送的诸如音频与视频数据之类的数据上的RTP标题、UDP标题和IP标题(以下称为“RTP/UDP/IP标题”)。下面,将一个包括RTP/UDP/IP标题的分组称为一个IP分组。
如图所示,IP标题需要20字节,UDP标题需要8字节,而RTP标题需要12字节,因此RTP/UDP/IP标题的总数为40字节。相比之下,一个IP分组内所含有的视频数据例如大约包括50字节。为了象这样以分组形式发送图像数据,开销因此达到至少百分之44。类似,为了发送在一个分组内包括20字节的音频数据,开销要高达百分之66。由于实际传输还需要添加其他层的标题,因此全体标题占用了一个分组的很大比例,从而有导致通信效率降低的缺点。
作为一种克服此缺点的技术,由IETF发布的RFC2508给出了一种RTP压缩协议,压缩RTP/UDP/IP标题。RTP压缩协议允许将图11A所示出的RTP/UDP/IP标题压缩成一个如图11B例示的标题(以下简称为“压缩标题”)。这种压缩的情况如下。
这种压缩的方法适用于例如一个在多个数据终端之间传送分组的网络的两个节点之间。具体地说,这两个节点中,一个节点(以下简称为″发送节点″)将在数据终端之间传送的一部分IP分组的RTP/UDP/IP标题变换成压缩标题后,作为标题压缩分组发送给另一个节点(以下简称为“接收节点”)。同时,发送节点将别的IP分组的RTP/UDP/IP标题作为没有任何压缩的全标题分组发送给接收节点。接收节点将从发送节点接收到的标题压缩分组或全标题分组解压缩(即,恢复)成IP分组发送给下一个节点或接收数据终端。全标题是一个包括在图11A所示的RTP/UDP/IP标题内的长度用包括标示RTP连接的CONTEXT_ID和链接序号link_seq(按发送节点传输次序给定的序列号)的信息代替的标题。
下面将说明图11B所示的压缩标题的内容。在图11A的RTP/UDP/IP标题内加了密阴影的这些区段的数据,包括写入IP标题的版本号(V)和写入RTP标题的净荷类型,对于每个从发送节点发送的分组来说是不变的数据(以下称为″静量段(static field)″)。因此,如图11B所示,压缩标题不包括静量段的数据。在发送节点向接收节点发送分组流的第一个IP分组时,它发送的是一个全标题分组,具有一个包括静量段的全标题。此后,发送节点将后继的IP分组的RTP/UDP/IP标题变换成不包括静量段的压缩标题,作为标题压缩分组发送给接收节点。在接收节点接收到与第一个IP分组相应的全标题分组时,接收节点根据在首先接收到的这个全标题分组内的全标题恢复所接收的RTP/UDP/IP标题后,将因此解压缩的标题写入内部存储器。此后,接收节点利用RTP/UDP/IP标题的静量段来恢复将在第一个分组后相继接收的标题压缩分组内的压缩标题的这些静量段。
静量段内的数据对于所有的IP分组来说并不总是不变的,可能在某个IP分组内有所改变。如果在某个IP分组内发生这样的改变,发送节点将向接收节点发送一个全标题分组,包括一个与这个IP分组的RTP/UDP/IP标题相应的不压缩的全标题。
在图11A的RTP/UDP/IP标题的不加阴影的区段内的数据包括RTP标题的序号(sequence number)和时标(timestamp)以及IP标题的ID。时标表示分组发送或产生的时间。在依次发送的两个相继IP分组之间,这样的数据应该具有恒定的差值(改变量)。下面,提供这样数据的区段称为“增量段(delta fields)”。如图11B所示,基本的压缩标题不包括增量段内的数据。如上所述,接收节点在它的存储器内保存有RTP/UDP/IP标题,因此可以通过将在所存储的RTP/UDP/IP标题的相应增量段内的值分别加上差值,对此后将接连收到的压缩标题的增量段进行解压缩。
然而,在所有的IP分组之间增量段的差值并不总是恒定的。有时它们的差值要改变。在这种情况下,必须将改变了的差值告知接收节点。接收节点能根据保存在存储器内的RTP/UDP/IP标题和最新告知的差值,恢复包含在此后将接收的每个标题压缩分组的RTP/UDP/IP标题内的增量段的内容。为此,图11A中所示的压缩标题具有标志S、T和I,分别表示在这些增量段内的差值是否改变。如果差值有改变,就在压缩标题上添加新的差值,如图11B中虚线所示。实际上,如果RTP标题的序号的差值有改变,标志S就设置为″1″,压缩标题添加有示出序号新差值的序号差值(ΔRTP序号),如图11B中虚线所示。类似,如果RTP标题的时标的差值有改变,标志T就设置为″1″,压缩标题内包括示出时标新差值的时标差值(ΔRTP时标),如图11B中虚线所示。此外,如果IP标题的ID的差值有改变,标志I就设置为″1″,压缩标题添加有示出ID新差值的ID差值(ΔIP ID)。
如图11B所示,如同全标题那样,压缩标题还包括CONTEXT ID和link seq。接收节点按照CONTEXT_ID规定的RTP/UDP/IP标题的内容对压缩标题进行解压缩。接收节点引用发送节点按次序发送的每个分组(标题压缩分组或全标题分组)的链接序号link_seq。在发现有些链接序号丢失时,接收节点就确定在发送和接收节点之间丢失了这些分组。
下面将结合图12说明在发送和接收节点之间进行分组传输的过程。在图12中,段A示出了RTP/UDP/IP标题的静量段(即图11A中加密阴影的任何数据),而段B示出了增量段(即,图11A中不加阴影的任何数据)。此外,在图12中,“F”表示一个全标题分组,而“C”表示一个标题压缩分组。
在接收到一个从一个发送数据终端向一个接收数据终端发送的IP分组a时,发送节点就将这个IP分组a的RTP/UDP/IP标题存入它的内部存储器。同时,发送节点通过将CONTEXT_ID和链接序号link_seq代替标题内的长度产生一个全标题,将包括所产生的全标题和是IP分组中除去RTP/UDP/IP标题后的那部分的数据(以下称为“RTP净荷”)的全标题分组发送给接收节点(见图12中的“OP1”)。接收到这个全标题分组的接收节点从这个分组中恢复出RTP/UDP/IP标题(即从全标题中提取CONTEXT_ID和link_seq),将带有这个标题的IP分组发送给下一个节点或接收数据终端。在这个操作中,将解压缩的RTP/UDP/IP标题存入它的内部存储器。
然后,发送节点将一个在这个IP分组后接收到的IP分组b的RTP/UDP/IP标题变换成一个压缩标题,再将带有这个压缩标题的分组b发送给接收节点(见图12中的“OP2”)。在这个标题压缩分组的压缩标题内,添加了这个分组b的增量段B内的值[1]与上个分组a的增量段B内的值
之间的差值ΔB(=1),而表示差值改变或不改变的标志(图11B中示出的标志S、T和I)设置为值“1”。
接收节点接收到标题压缩分组b,通过将保存在内部存储器内的上个IP分组a的RTP/UDP/IP标题的增量段B的值加上在这个分组b内告知的差值ΔB得到分组b的增量段B。然后,接收节点发送一个具有包括增量段B和从IP分组a提取的RTP/UDP/IP标题的静量段A的RTP/UDP/IP标题以及RTP净荷两者的IP分组b。在对IP分组b进行解压缩中所参照的RTP/UDP/IP标题(在这种情况下为上个IP分组a的RTP/UDP/IP标题)是由标题压缩分组b的CONTEXT_ID规定的。IP分组b的RTP/UDP/IP标题和在这个分组内告知的差值ΔB也保存在内部存储器内。
在下一次接收到一个IP分组c时,发送节点计算出这个IP分组c与上个IP分组b的增量段B的值之间的差值。差值B为[1](=3-2),在该情况下与上次告知接收节点的上个相同。因此,不必将这个没有改变的差值重新告知接收节点。这样,发送节点就向接收节点发送一个具有一个没有差值(即图11B中的虚线所示的信息)的压缩标题的标题压缩分组c(见图12中的“OP3”)。接收节点接收到标题压缩分组c,将前一分组b的增量段B加上所存储的差值ΔB,从而对这个标题压缩分组的压缩标题的增量段B解压缩。然后,接收节点发送一个由包括解压缩的值和从全标题分组a的全标题中提取的静量段A的RTP/UDP/IP标题以及RTP净荷两者组成的IP分组c。下一个分组d的处理与此类似。
发送节点接收到的下一个IP分组e的增量段B的值为[5],它与上个IP分组d的增量段B的差值为[2]。在差值ΔB这样改变时,发送节点就发送一个标题压缩分组e,在它的压缩标题内添加了改变的新差值,而相应的标志设置为[1]。接收节点将IP分组d的增量段B的值加上最新告知的差值,对分组e的增量段B解压缩,然后发送一个含有解压缩的增量段B的IP分组。
然后,发送节点接收到一个IP分组g,它的静量段A与上个IP分组e的静量段不同。因此,在这种情况下,发送节点就不对这个IP分组的RTP/UDP/IP标题进行压缩,而是发送一个具有全标题的全标题分组g,分组g的RTP/UDP/IP标题内的长度用CONTEXT_ID和link_seq代替。接收节点接收到这个全标题分组g,将全标题变换成RTP/UDP/IP标题后存储在内部存储器内。
以上对遵从RFC2508的标题压缩方法(以下称为“方法A”)作了说明。然而,这种压缩方法有着一些缺点,说明如下。
例如,如图13所示,假设由于某种原因在发送与接收节点之间丢失了标题压缩分组c。如上所述,在对分组d进行解压缩时,接收节点要将IP分组c的增量段B加上差值ΔB来对IP分组d的增量段B解压缩。结果,在标题压缩分组c丢失时,就不可能对标题压缩分组d的增量段B解压缩。因此接收节点被迫抛弃在下一个全标题分组g以前接收到的那些分组d、e和f,如图13所示。也就是说,丢失这些分组将导致接连的丢失其它一些分组。与不用标题压缩的方法相比,这引起吞吐量的下降。特别是在发送和接收节点是由无线电链路连接的情况下,分组在这种无线电链路中很可能丢失。如果发生这样的丢失,在接收节点经常要抛弃其它一些分组。作为解决这种问题的技术,IETF和互联网起草组(Internet Draft)发布的RFC 2507和2508提供了以下这些方法。
方法1重复发送全标题分组(RFC 2507)在上述常规方法A的情况下,发送节点只有在一个标题的静量段值有改变时才发送一个全标题分组。相反,如图14所示,方法1每预定个分组中选择若干个以全标题分组发送,不考虑这些静量段是否值有改变。所选择的IP分组变换为带全标题的全标题分组发送给接收节点,而其余的IP分组变换为带压缩标题的标题压缩分组发送给接收节点。在方法A中,由于不向接收节点发送静量段值不改变的全标题分组,因此在发生丢失一个分组后发送的所有分组都只好抛弃掉了。相反,方法1允许不时发送一个全标题分组,所以就有可以减少由于丢失分组而抛弃的分组的优点。然而,方法1要折衷考虑发送全标题分组周期长导致抛弃的分组数多、而发送全标题分组周期短导致发送许多开销大的全标题分组从而通信效率降低的问题。
方法2通过反向信道请求发送全标题(RFC2507和2508)如图15所示,在检测到丢失一个分组时,方法2允许接收节点发送一个向发送节点请求发送一个全标题分组的消息CONTEXT_STATE。在接收到CONTEXT_STATE时,发送节点以全标题分组的形式向接收节点发送下一个IP分组。结果,使由于丢失某个分组而抛弃一些分组的时间间隔局限于发生分组丢失到接收到一个对CONTEXT_STATE作出响应而发送的全标题分组之间。然而,这种方法有着随着接收节点从发送CONTEXT_STATE到接收到一个全标题分组之间的时间间隔RTT(往返时间)增大抛弃的分组数也增多的缺点。对于通过无线电链路传送分组来说,这样的缺点就很显著,因为无线电链路的RTT是很长的。
方法3两倍算法(RFC 2507)按照方法3,在丢失某个分组后接收到的标题压缩分组的压缩标题利用在发生丢失分组前最近解压缩的RTP/UDP/IP标题进行解压缩。例如,如图16所示,假设在按次序接收到分组b后,丢失了一个分组c,然后又按次序接收到一个分组d。在这种情况下,在分组b到d差值ΔB没有改变时,分组d的增量段B可以通过将分组b的增量段B加上两倍的ΔB计算出来。此外,这种方法需要在一个压缩标题内包括UDP校验和(见见图11B),以便用这个UDP校验和确定分组是否得到正确解压缩。然而,如图16所示,如果丢失了一个分组k,而分组j与k之间的增量段的差值ΔB有了变化,那末就有一个就在这个分组丢失后接收到的分组1不能正确解压缩的问题。特别是在分组通过无线电链路传送的情况下,有可能相继(即在一段较长时间内)丢失一些分组。在这样的情况下,可以认为对于许多丢失的分组来说差值ΔB很可能有变化。因此上述问题就更加严重。
方法4ROCCO(互联网起草组)按照方法4,差值ΔB可以按传送分组的媒体的特性进行估计。例如,在图17的情况下,假设分组g和h丢失,而在分组g与h之间差值ΔB有变化。在这种情况下,差值ΔB的改变按传送分组的媒体的特性估计,而一个分组可以通过将分组f加上所估计的差值ΔB解压缩。此外,这种方法用一个检错码(CRC)来确认解压缩是否正确执行。因此,即使差值ΔB改变,这种方法也使在丢失某个分组后接收的分组可以解压缩。然而,这种方法在怎样估计差值ΔB上是有困难的。
如上所述,虽然已经提出了种种技术来高效地执行即使IP分组的RTP/UDP/IP标题是压缩的数据通信,但是这些技术各有一些缺点。因此,现阶段的情况是在有效地减少由于在发送与接收节点之间丢失某个分组而抛弃的分组上并不如意。
本发明是鉴于上述情况作出的。本发明的目的是提供即使发送和接收的分组的标题是压缩的也能够有效地减少由于丢失某个分组而抛弃的分组的分组发送方法、中继设备和数据终端。
就本发明的一个方面来说,本发明的目的是用一种分组发送方法达到的,这种分组发送方法包括下列步骤由一个网络内配置在一个传输节点处的通信设备执行分组传输,所述分组传输包括将需发送的多个非压缩分组变换成带全标题的全标题分组或带压缩标题的标题压缩分组发送给这个网络内的一个接收节点;以及由配置在所述接收节点处的通信设备执行分组接收,所述分组接收包括接收发送方发送的所述全标题分组或标题压缩分组和将接收到的分组变换成解压缩分组,所述变换包括在一个全标题分组或标题压缩分组在从所述发送节点向所述接收节点传输期间丢失的情况下,保存在发生分组丢失到接收到下一个全标题分组期间接收到的至少一个标题压缩分组,以及根据在分组丢失后接收到的所述全标题分组的全标题的内容对这样保存的标题压缩分组的压缩标题解压缩。
在这种方法中,保存在一个分组丢失后到最早接收到这个分组丢失后的一个全标题分组期间接收到的各个标题压缩分组,而这样保存的这些标题压缩分组的压缩标题根据这个全标题分组的内容解压缩。结果,与以上的这些现有技术相比,可以减少由于分组丢失而抛弃的分组。
本发明还提供了一种分组接收方法,这种分组接收方法包括下列步骤接收带全标题的全标题分组或带压缩标题的标题压缩分组和将接收到的分组变换成解压缩分组;在一个全标题分组或标题压缩分组在被接收前丢失的情况下,保存在所述分组丢失到在丢失后接收到下一个全标题分组期间接收到的标题压缩分组;以及根据在所述分组丢失后接收到的一个全标题分组的非压缩标题的内容对每个所保存的标题压缩分组的压缩标题解压缩。
本发明可以通过生产或销售按照本发明的分组发送方法发送分组的中继设备或数据终端来实现。此外,本发明也可以通过将执行本发明的分组接收方法的程序录入计算机可读的存储媒体提供给用户或通过电子通信电路将这种程序提供给用户来实现。
图1为例示按照本发明的第一实施例配置的通信系统的方框图。
图2为例示这种通信系统的接收节点的配置的方框图。
图3为示出这种通信系统执行的操作的时序图。
图4A和4B构成一个示出这种通信系统的接收节点在分组丢失时执行的操作的流程图。
图5A和5B构成一个示出在第一实施例的一种变型中在有分组丢失时执行的操作的流程图。
图6A、6B和6C示出了在本发明的第二实施例中使用的全标题的配置。
图7为示出这种通信系统执行的操作的时序图。
图8A和8B构成一个示出这种通信系统的接收节点的中继设备在有分组丢失时执行的操作的流程图。
图9示出了在这种通信系统中有一个分组丢失的情况下存入接收节点的存储内容的例示图。
图10为示出按照本发明第三实施例配置的通信系统的工作情况的时序图。
图11A示出了RTP/UDP/IP标题的内容,而图11B示出了压缩标题的内容。
图12为例示一种传统的分组发送方法(传统方法A)的过程的时序图。
图13为例示这种传统的分组发送方法的缺点的时序图。
图14为例示一种传统的分组发送方法(方法1)的过程的时序图。
图15为例示一种传统的分组发送方法(方法2)的过程的时序图。
图16为例示一种传统的分组发送方法(方法3)的过程的时序图。
图17为例示一种传统的分组发送方法(传统方法4)的过程的时序图。
下面将结合


本发明的一些实施例。这些实施例表示了本发明的各种模式,但并不意味着对本发明的范围有所限制,而是可以在本发明的范围内加以修改的。
A第一实施例A-1第一实施例的配置图1为例示可以应用本发明的分组发送方法的通信系统的配置方框图。在这种通信系统中,配置了发送数据终端1和接收数据终端2,以便通过网络3交换分组。下面以发送终端1向接收终端2发送分组为例对本发明进行说明。
网络3包括发送节点3a和接收节点3b。在发送节点3a和接收节点3b处都配置有中继设备。中继设备的作用是接转需在发送数据终端1与接收数据终端2之间交换的分组。虽然图1的网络3例示了一个包括发送节点3a和接收节点3b的配置,但是本发明并不限于这种配置。网络可以包括三个或更多个节点和配置在这些节点处的中继设备。
在这种配置中,发送数据终端1依次发送一系列分组通过网络3传送给接收数据终端2。发自发送数据终端1的分组是包括如图11A所示的RTP/UDP/IP标题的IP分组。发送节点3a的中继设备依次接收来自发送数据终端1的IP分组,将接收到的这些IP分组变换成一些各包括一个全标题的全标题分组或一些各包括一个压缩标题的标题压缩分组后发送给接收节点3b。如上所述,全标题是一个在IP分组的RTP/UDP/IP标题的IP标题或UDP标题内包含的长度值由包括CONTEXT_ID或Link_seq的数据代替的标题。另一方面,在接收到发送节点3a发送的标题压缩分组或全标题分组时,接收节点3b的中继设备从标题压缩分组的压缩标题或全标题分组的全标题中恢复出RTP/UDP/IP标题后,将包括RTP/UDP/IP标题的IP分组发送给接收数据终端2。接收数据终端2接收到接收节点3b发送的IP分组,按照接收到的IP分组执行预定处理(例如,按照RTP净荷显示图像、重放音响等等)。
象前面所说明的传统方法那样,全标题分组是指一个只根据包括在这个全标题分组内的全标题的内容就能恢复一个包括RTP/UDP/IP标题的IP分组的分组。包括在RTP/UDP/IP标题内的这些长度值用CONTEXT_STATE和link_seq代替,然而,这些长度值也可以参考有关下层的信息加以恢复。相反,标题压缩分组是指一个根据其他分组(诸如全标题分组)解压缩成一个IP分组而不能只根据包括在这个标题压缩分组内的压缩标题解压缩成一个IP分组的分组。
下面将结合图2说明配置在接收节点3b处的中继设备。如图所示,接收节点3b的中继设备包括接收部31b、发送部32b、控制部33b、存储部34b和将这些部分互相连接起来的总线35b。
接收部31b用作接收发送节点3a通过通信线路发送的全标题分组或标题压缩分组和将接收的分组输出给控制部33b的装置或单元。发送部32b用作将从控制部33b输出的数据通过通信线路发送给接收数据终端2的装置。
控制部33b包括CPU或其他处理单元,通过执行保存在存储部34b内的程序起着控制接收节点3b的各个单元的作用。具体地说,控制部33b具有将通过接收部31b从发送节点3a接收的全标题分组或标题压缩分组变换成IP分组后通过发送部32b发送给接收数据终端2的功能。此外,本实施例能检测在从发送节点3a到接收节点3b的通信路径上发生的分组丢失。在检测到分组丢失时,控制部33b能发送一个CONTEXT STATE,请求发送节点3a发送一个全标题分组。
顺便提一下,与本发明有关的上述技术中,如果有一个分组在从发送节点到接收节点的通信路径上丢失,那末在发生分组丢失到接收到分组丢失后最早的全标题分组期间接收到的这些分组都要弃掉。相反,按照本发明设计的接收节点3b的中继设备的控制部33b将在检测到分组丢失到接收到丢失后最早的全标题分组期间接收到的各个标题压缩分组依次写入存储部34b。在分组丢失后接收到一个全标题分组时,接收节点3b的中继设备就根据接收到的这个全标题分组的全标题的内容对保存在存储部34b内的那些标题压缩分组的压缩标题进行解压缩,产生原来的IP分组,发送给接收数据终端2。控制部33b执行的处理将在稍后说明的工作情况中详细说明。
发送节点3a的中继设备的配置与上述接收节点3b的中继设备的类似。也就是说,发送节点3a的中继设备包括接收来自发送数据终端1的IP分组的接收部31b、控制节点3a的各个单元的控制部33a、存储部34a和将控制部33a输出的IP分组发送给接收节点3b的发送部32a。然而,在本实施例中,节点3a的中继设备的控制部33a将发送数据终端1发送的IP分组中的至少第一个IP分组作为一个全标题分组而将其他IP分组作为标题压缩分组发送给接收节点3b。此外,在接收到来自接收节点3b的CONTEXT_STATE时,发送节点3a的中继设备的控制部33a将一个就在接收到CONTEXT_STATE后要发送的IP分组变换成一个全标题分组发送给接收节点3b。
A-2第一实施例的工作情况图3为例示本实施例的分组发送方法的工作情况的时序图。
如图所示,在接收到来自发送数据终端1的第一个IP分组a时,发送节点3a的中继设备的控制部33a将这个分组a变换成一个全标题分组发送给接收节点3b。具体地说,控制部33a将这个IP分组的RTP/UDP/IP标题写入存储部34a,产生一个包括在RTP/UDP/IP标题内的长度段用包括CONTEXT_ID和link_seq的信息段代替的全标题。然后,控制部33a形成一个包括所产生的全标题和IP分组内的RTP净荷两者的全标题分组发送给接收节点3b。
然后,在接收到一个来自发送数据终端1的IP分组b时,控制部33a就将这个IP分组b变换成一个标题压缩分组发送给接收节点3b。实际上,控制部33a是将IP分组b的RTP/UDP/IP标题写入存储部34a,再计算出写入的IP分组b的RTP/UDP/IP标题的增量段内的值与保存在存储部34a内的IP分组a的RTP/UDP/IP标题的增量段内的值之间的差值。然后,控制部33a产生一个包括计算得的差值的压缩标题,发送一个包括所产生的标题和IP分组b的RTP净荷的标题压缩分组。
然后,在接收到一个来自发送数据终端1的IP分组c时,控制部33a就将IP分组b的RTP/UDP/IP标题写入存储部34a。此外,控制部33a计算出写入的IP分组c的RTP/UDP/IP标题的增量段内的值与保存在存储部34a内的IP分组b的RTP/UDP/IP标题的增量段内的值之间的差值。控制部33a确定计算得的差值是否等于保存在存储部34a内的差值(也就是IP分组b与IP分组a之间的差值)。如果确定两个差值相同,就不必再将差值通知接收节点3b。在这种情况下,控制部33a产生一个除去了这些差值的压缩标题,再将一个包括这个压缩标题的标题压缩分组c发送给接收节点3b。
另一方面,在确定上述差值不等于前面的差值时,就需要告知这次最新计算得的这些差值。因此,在控制部33a的作用下,产生一个包括这些差值的压缩标题,将一个包括这样产生的这个压缩标题和IP分组c的RTP净荷的标题压缩分组发送给接收节点3b。此外,控制部33a将至此存储在存储部34a内的差值(即IP分组a与b之间的差值)更新为这次新得到差值。
此后,在接收到发送数据终端1发送的IP分组d、e和f时,对这些IP分组进行与对IP分组c相同的处理,将带差值的标题压缩分组或不带差值的标题压缩分组发送给接收节点3b。
在图3所示例子的情况下,假设就在接收到一个来自发送数据终端1的IP分组g前接收到了来自接收节点3b的CONTEXT_STATE。在这种情况下,发送节点3a中的控制部33a将在接收到CONTEXT_STATE后紧接着要发送的IP分组g作为一个全标题分组g发送。此后,类似地,发送节点3a中的控制部33a将分组h至l作为标题压缩分组发送给接收节点3b,而将一个在接收到CONTEXT_STATE后紧接着要发送的分组m作为一个全标题分组发送。
另一方面,在接收到全标题分组a时,接收节点3b中的控制部33b根据包含在这个分组内的全标题对RTP/UDP/IP标题解压缩。然后,控制部33b将带解压缩的RTP/UDP/IP标题的IP分组a发送给接收数据终端2,并将这些标题存入存储部34b。然后,在接收到下一个标题压缩分组b时,控制部33b引用保存在存储部34b内的IP分组a的RTP/UDP/IP标题的内容。通过这种引用,控制部33b根据标题压缩分组b的压缩标题恢复RTP/UDP/IP标题,将因此得到的IP分组b发送给接收数据终端2。
图3例示了发送节点3a发送的一个标题压缩分组c由于某种原因丢失的情况。在这种情况下,接收节点3b中的控制部33b接收到丢失分组c后发送的下一个标题压缩分组d,识别出在分组d的link_seq与分组b的link_seq之间有间断。因此,这使控制部33b检测到分组c丢失。在检测到分组c丢失时,控制部33b向发送节点3a发送CONTEXT_STATE,并将在分组丢失到接收到分组丢失后最早的全标题分组期间接收到的各个标题压缩分组依次写入存储部34b。在图3这个例子中,在发生分组c丢失到接收到一个全标题分组g之间接收到标题压缩分组d至f。因此,接收到的这些标题压缩分组接连地被写入存储部34b。
然后,控制部33b接收到发送节点3a响应CONTEXT_STATE所发送的全标题分组g。在本实施例中,控制部33b从全标题分组g的增量段内的值中依此减去一个差值Δ,从而能对分组d至f的标题的增量段解压缩。实际上,如图3所示,通过从全标题分组g的增量段内的值中减去差值Δ对分组f的增量段内的内容解压缩,再通过从全标题分组f的增量段内的解压缩的值减去差值Δ对分组e的增量段内的内容解压缩,等等。在本实施例中,根据保存在存储部34b内的IP分组b的RTP/UDP/IP标题的内容,对分组d至f的静量段内的内容解压缩。因此,分组d至f的RTP/UDP/IP标题根据这些内容解压缩。下面将结合图4A和4B所示流程图详细说明接收节点3b的中继设备的控制部33b对上述压缩标题进行解压缩所执行的处理过程。
首先,在通过发现空缺link_seq表示的号码检测到分组c丢失时,控制部33b就将
置入寄存器N(步骤S1)。然后,控制部33b将寄存器N的值加[1](步骤S3)。
然后,在应该根据标题压缩分组d解压缩的RTP/UDP/IP标题内,控制部33b对静量段、长度值、UDP校验和和标记位解压缩。具体地说,控制部33b读取保存在存储部34b内的IP分组b的RTP/UDP/IP标题,使分组d的RTP/UDP/IP标题的静量段与包括在因此读取的标题内的静量段相同。将UDP校验和和标记位包括在压缩标题内,如图11B所示。长度值可以通过来自下层的信息得到。在分组d内包括任何新的差值的情况下(即在包括图11B中虚线包围的任何数据的情况下),控制部33b就提取差值(步骤S4)。
然后,在步骤S4,将部分(涉及静量段等)解压缩的RTP/UDP/IP标题和包括在标题压缩分组d内的RTP净荷的内容存储在存储部34b内作为数据IP(1)。此外,将IP标题的ID的当前差值和RTP标题的序号和时标的当前差值写入存储部34b,分别作为ΔIP_ID(1)、ΔRTP_SN(1)和ΔRTP_TS(1)(步骤S5)。ID、序号和时标的这些当前差值利用新的差值(如果分组d含有任何新的差值)或当前保存在存储部34b内的差值(如果分组d不含有新的差值)估计。
此外,对于在接收到全标题分组g以前接收的标题压缩分组e和f(n=2至3)类似地重复在步骤S2至S5中进行的处理。
在接收到全标题分组g时,控制部33b将从一个包含在全标题分组g内的全标题中获得的RTP/UDP/IP标题作为IP(4)存入存储部34b(步骤S6)。然后,按在分组f与全标题分组g之间差值没有改变的假设,控制部33b确定分组f与全标题分组g之间的ID、SN和TS的差值ΔIP_ID(4)、ΔRTP_SN(4)和ΔRTP_TS(4)与分组e与f之间的ID、SN和TS的差值ΔIP_ID(3)、ΔRTP_SN(3)和ΔRTP_TS(3)相同(步骤S7)。也就是说,执行操作ΔIP_ID(4)=ΔIP_ID(3)ΔRTP_SN(4)=ΔRTP_SN(3)ΔRTP_TS(4)=ΔARTP_TS(3)然后,控制部33b从全标题分组g的增量段内的各个值中减去认为是分组f与g之间的差值的相应值,即上述ΔIP_ID(4)、ΔRTP_SN(4)和ΔRTP_TS(4),因此将分组f的增量段内的内容解压缩(步骤S8)。具体地说,对于分组f来说,作为解压缩目标的IP标题的ID和RTP标题的序号(SN)和时标(TS)内的值分别用IP(3).IP_ID、IP(3).RTP_SN和IP(3).RTP_TS表示,而对于分组g来说,IP标题的ID和RTP标题的序号(SN)和时标(TS)内的值分别用IP(4).IP ID、IP(4).RTP_SN和IP(4).RTP_TS表示。分组f的增量段的内容可以通过下面所示的运算解压缩。
IP(3).IP_ID=IP(4).IPJD-ΔIP_ID(4)IP(3).RTP_SN=IP(4).RTR SN-ΔRTP_SN(4)IP(3).RTP_TS=IP(4).RTR_TS-ΔRTP_TS(4)在分组f的RTP/UDP/IP标题解压缩后,控制部33b转至利用包括在分组f内的UDP校验和确定解压缩的结果是否正确(步骤S9)。在确定解压缩结果正确时,就将寄存器N的值减[1](步骤S10)。然后,分组e和d也受到与在步骤S8和S9中的相同的处理。
另一方面,在步骤S9确定解压缩结果不正确时,立即停止处理,转到步骤S11,因为也不可能对在分组f前接收到的那些分组正确解压缩。此外,在步骤S11将N减[1]而使N=0时(步骤S12),意味着对所有需解压缩的分组的解压缩都已完成。因此处理转到步骤S11。
在步骤S11,控制部33b按照包括在各个分组内的RTP标题的序号的次序将正确解压缩的各个分组依次发送给接收数据终端2。相反,抛弃哪些没有正确解压缩的分组。
本实施例的通信系统就是这样工作的。
如上所述,在本实施例的分组发送方法中,将在发生丢失一个分组后接收到的标题压缩分组都存储起来,根据在丢失后接收到的下一个全标题分组的内容对它们的标题解压缩。相反,在前面所说明的各个传统方法的情况下,存在着要抛弃在发生分组丢失到接收到在丢失后最早的全标题分组期间所接收的各个分组的问题,即使是那些分组是正确地接收的。本实施例改善了这一点,使得在这种期间接收到的一些分组可以有效地加以利用。与本发明的相关技术相比,这可以减轻在接收数据终端分组丢失对数据重放等的影响。
A-3第一实施例的变型上述第一实施例设计成使得在发生丢失分组c到接收到丢失后最早的全标题分组期间所接收的这些分组的静量段可以按照在丢失分组c前接收到的IP分组b的RTP/UDP/IP标题的内容解压缩。然而,解压缩并不局限于这样的结构。例如,分组d至f的静量段也可以按将接收的最早的全标题分组g的内容解压缩。图5A和5B构成示出本变型中的分组解压缩的操作的流程图。这个流程图与图4A和4B所述的相同,只是需解压缩的各个分组的静量段是根据在需解压缩的分组后接收的全标题分组g的内容解压缩的。因此,下面将只对配置与图4A和4B不同的进行说明。
在第一实施例中,在步骤S4执行处理,使得有关在分组丢失后接收到的标题压缩分组的静量段的信息利用已经接收和保存在存储部34b的IP分组b的RTP/UDP/IP标题的静量段进行解压缩。然而,在本变型中,静量段不在步骤S4’解压缩。也就是说,只是对长度值、UDP校验和和标记位M解压缩。因此,在下一个步骤S5,作为IP(N)存入存储部34b的是各有除去静量段和增量段的RTP/UDP/IP标题和这次接收到的标题压缩分组的RTP净荷两者的分组。
此外,这些分组的需解压缩的静量段根据全标题分组g的内容解压缩。具体地说,作为在图5A和5B的步骤S8’中有下划线的,这些分组的需解压缩的静量段都认为在内容上是与在这些分组后紧接着接收到的全标题分组的相同。例如,假设上述处理利用如图3所示为例进行说明,分组f的静量段的内容根据分组f的静量段在内容上与在分组f后紧接着接收到的全标题分组g的相同的假设进行解压缩。此外,分组e的静量段的内容根据分组e的静量段在内容上与这样解压缩的分组f的相同的假设进行解压缩。
此外,在这个变型中,最终用UDP校验和来确定解压缩是否正确。只有正确解压缩的分组才发送给接收数据终端。因此,本变型能提供与第一实施例相同的优点。
B第二实施例B-1第二实施例的配置在以上说明的各实施例中,由网络3的接收节点3b保存在发生丢失一个分组后接收到的标题压缩分组,以及在内容上根据在分组丢失后接收到的一个全标题分组的内容对所保存的标题压缩分组解压缩。然而,在上述情况下,解压缩是根据在分组丢失后接收到的全标题分组的增量段在差值上是与一个就在全标题分组前的标题压缩分组的相同的假设(见图4B中的步骤S7)执行的。这意味着,如果差值改变,就会引起所保存的标题压缩分组不再得到正确解压缩的问题。本实施例与能解决这个问题的分组中继方法有关。
在本实施例中,通信系统,以及发送节点3a和接收节点3b处的中继设备都与图1和2中所示的相同。然而,在发送节点3a向接收节点3b发送的分组的类型上,以上的实施例和本实施例之间有所差别。具体地说,在以上的实施例中,发送全标题分组和标题压缩分组,而在本实施例中除了全标题分组和标题压缩分组,还发送带在特殊情况下增添的差值的全标题分组。实际上,如果一个从发送数据终端1接收到的IP分组应该作为一个全标题分组发送,而这个IP分组的增量段与就在这个IP分组前接收到的前一个IP分组的增量段之间的差值不同于保存在存储部34a内的差值(即差值有改变),那末发送节点3a就向接收节点3b发送一个包括新的差值的全标题分组。
图6A以图示出了带差值的全标题分组的内容。如其中虚线所示,如果RTP/UDP/IP标题的任何增量段有改变(即,IP标题的ID和RTP标题的序号和时标中任何有改变),这个全标题分组就包括这些新的差值。象以上实施例那样,全标题分组的全标题是通过将CONTEXT_ID和link_seq插入IP和UDP标题的长度段(图6A中带阴影的部分)产生的。此外,如图6B和6C所示,带差值的全标题分组包括标志S、T和I以及CONIEXT_ID和link_seq。每个标志示出相应增量段是否差值改变。例如,在RTP标题的序号的差值改变时,就将新的差值ΔRTP_SN添加到这个标题上,如图6A中虚线所示,并将“1”置入标志S。在IP标题的ID的差值改变时,就将新的差值ΔlP_ID添加到这个标题上,并将“1”置入标志I。此外,在RTP标题的时标的差值改变时,就将新的差值ΔRTP_TS添加到这个标题上,并将“1”置入标志T。在接收到一个其中添加了差值的全标题分组时,接收节点3b就检验这些标志,以便检测这些增量段(IP ID,序号,以及时标)有任何改变。这个操作使节点3b可以得到这个全标题分组与它的前一分组之间的新的差值。
B-2第二实施例的工作情况下面将结合图7说明本实施例的工作情况。象第一实施例那样,例示的情况是,发送节点3a从接收节点3b接收到CONTEXT_STATE,作出响应,向接收节点3b发送一个处理成全标题分组的IP分组。
发送节点3a依此接收到发送数据终端1发送的IP分组a至f。节点3a的控制部33a将第一个IP分组a作为一个全标题分组发送给接收节点3b,而将IP分组b和c作为标题压缩分组发送给节点3b。这些操作与在第一实施例中说明的相同,因此不再详细说明。
在图7中,给出的情况是,发送节点3a的控制部33a就在还没有从发送数据终端1接收到IP分组g前接收到来自接收节点3b的CONTEXT STATE。控制部33a对接收到CONTEXT STATE作出响应,将一个在接收到CONTEXT_STATE后紧接着从发送数据终端1接收到的IP分组g作为一个不带差值或带差值的全标题分组发送给接收节点3b。实际过程如下。
首先,控制部33a将这次接收到的IP分组g的RTP/UDP/IP标题写入存储部34a。然后,控制部33a得出包括在RTP/UDP/IP标题的增量段内的值与保存在存储部34a内的RTP/UDP/IP标题(IP分组f的标题)的那些值之间的差值。控制部33a于是确定得出的差值是否与保存在存储部34a内的相同。在得出的差值等于所存储的差值时,不需要将这次得出的差值告知接收节点3b,因为这些差值已经给了节点3b。因此,控制部33a产生IP分组g的RTP/UDP/IP标题内的长度用包括CONTEXT_ID和link_seq的信息代替的一个全标题。然后,控制部33a将包括所产生的全标题和IP分组g的RTP净荷两者的全标题分组g发送给接收节点3a。
相反,在得出的差值不等于所存储的那些时,控制部33a将一个带这些差值的全标题分组发送给接收节点3b,以便将这次得出的差值告知节点3b。这个操作详细说明如下。控制部33a用包括CONTEXT_ID、link_seq和任何指示存在相应增量段的新差值的标志(见图6C)代替长度写入IP分组g的RTP/UDP/IP标题。然后,控制部33a产生一个包括任何新的差值(相应于图6A中虚线所示的任何区段)的全标题,将包括所产生的全标题和IP分组g的RTP净荷的全标题分组g发送给接收节点3b。图7示出了IP分组f与g的增量段之间的差值有改变、IP分组g作为一个包括差值的全标题分组发送的例子。
对于接收以后从发送数据终端1发来的IP分组h至n的情况,重复与以上类似的处理。也就是说,适当地将标题压缩分组或全标题分组,不带差值或带差值,从发送节点3a发送给接收节点3b。
在接收节点3b的控制部33b接收到来自发送节点3a的如上所述的分组时,控制部33b的工作情况如下。
首先,在接收到发送节点发送的第一个全标题分组a时,控制部33b从分组a的全标题中提取诸如CONTEXT_ID和link_seq之类的信息写入存储部34b。此外,控制部33b用从较低层获得的长度代替全标题内的那些信息段,对分组a的RTP/UDP/IP标题解压缩。然后,控制部33b按先前存储的CONTEXT_ID和link_seq将RTP/UDP/IP标题写入存储部34b,再将一个带RTP/UDP/IP标题的IP分组a发送给接收数据终端2。
然后,在接收到来自发送节点3a的标题压缩分组b时,控制部33b将包括在标题压缩分组b内的差值写入存储部34b。控制部33b从存储部34b搜索与包括在分组b的压缩标题内的相同的CONTEXT_ID,读取与搜索到的CONTEXT_ID相应的RTP/UDP/IP标题(在这种情况下,为分组a的RTP/UDP/IP标题)。控制部33b于是产生RTP/UDP/IP标题,将它们置入读取的RTP/UDP/IP标题的增量段,这样产生的RTP/UDP/IP标题包括增加了这次得出的差值的增量段和IP分组a的RTP/UDP/IP标题的静量段。然后,控制部33b将保存在存储部34b内的IP分组a的RTP/UDP/IP标题更新为这次新得到的RTP/UDP/IP标题,再将一个带更新的RTP/UDP/IP标题的IP分组b发送给接收数据终端2。
图7例示了发送节点3a发送的一个标题压缩分组c由于某种原因而丢失的情况。在这种情况下,由于在标题压缩分组d的link_seq与标题压缩分组b的link_q之间有间断,因此接收节点3b的控制部检测到标题压缩分组c丢失。下面将结合图8A和8B示出的流程图说明控制部33b检测到分组丢失后执行的操作。控制部33b首先将
置入寄存器n(步骤S21),再确定在丢失后最先接收到的分组(即丢失分组的下一个分组)是否为一个标题压缩分组(步骤S22)。在图7所示的情况下,在分组丢失后紧接着接收到的一个分组是一个标题压缩分组d,因此确定结果为“YES”。控制部33b于是对这个标题压缩分组d的静量段、长度值、UDP校验和和标记位(M比特)解压缩,将解压缩的信息和这次接收的标题压缩分组d的RTP净荷两者存入存储部34b作为数据IP(n)(步骤S23)。也就是说,在IP分组d内除增量段以外的段存储在存储部34b内作为数据IP(0)。这种解压缩可以用与第一实施例中的类似的方式执行。
控制部33b于是将这些当前差值存储在不同常数段内,即将IP标题的ID的差值、RTP标题的序号差值和RTP标题的时标的差值存入存储部34b,分别作为ΔIP_ID(n)、ΔRTP_SN(n)和ΔRTP_TS(n)(以下概括为“Δ(n)”)(步骤S24)。如果这次接收到的标题压缩分组具有新的差值,就用这些新的差值提供当前差值,但是如果这次接收到的标题压缩分组没有差值,就用那时保存在存储部34b内的差值提供当前差值。
在接收到下一个分组时(步骤S25),控制部33b将寄存器n的值加[1](步骤S26)。在接收到标题压缩分组e和f时,执行步骤S22至S26的上述过程。结果,对于标题压缩分组d至f,图9所示的信息段(即IP(n)和Δ(n))就保存在存储部34b内。
另一方面,在步骤S25接收到一个全标题分组时,在随后的步骤S22中的确定结果就为“NO”,从而进至步骤S27。也就是说,控制部33b通过用长度代替包括在接收到的全标题分组的全标题内的CONTEXT_ID、link_seq等产生RTP/UDP/IP标题,再产生一个包括所产生的RTP/UDP/IP标题和这次接收到的全标题分组的RTP净荷的IP分组。然后,将所得到的IP分组存储在存储部34b内作为IP(3)(步骤S27)。如图9所示,从全标题分组中获得的IP分组(即IP(3))的RTP/UDP/IP标题在这些增量段内包括一些值(即ID、序号和时标)。
然后,控制部33b将全标题分组与在全标题分组前接收到的标题压缩分组的各相应增量区段的差值存入存储部34b作为Δ(n)。在图7这个例子中,存储情况如下。控制部33b确定这次接收到的全标题分组g是否包括新的差值(步骤S28)。这些新的差值在图6A中用虚线例示。如果至少有一个增量段包括一个新的差值,就将相应增量段的这个新的差值和已经保存在存储部34b内的其他增量段的差值存入存储部34b,作为Δ(3)(步骤S29)。相反,如果全标题分组g不包括任何新的差值,就将已经保存在存储部34b内的这些差值再存入存储部34b,作为Δ(3)(步骤S30)。
按照以上操作,有关分组d至g的信息就映射在存储部34b内,如图9所示。在这个阶段,映射为IP(3)的IP分组g包括增量段,但是映射为IP(0)至IP(2)的IP分组d至f不包括这样的增量段。因此,用以下方式执行恢复那些增量段的过程。
首先,控制部33b将寄存器n的值减“1”(步骤S32)。然后,控制部33b从根据全标题分组解压缩的RTP/UDP/IP标题的增量段内的值中减去以上得到的差值,对就在全标题分组前接收到的标题压缩分组的增量段解压缩(步骤S33)。在图7这个例子中,从每个包括在保存在全标题分组g的内容内的IP(3)内的每个增量区段内的值中减去在每个映射为Δ(3)的增量区段内的差值,对标题压缩分组f的增量段解压缩。实际上,在取得各包括在IP(3)内分别为IP(3).IP_D、IP(3).RTP_SN和IP(3).RTP_TS的ID、序号和时标的值时,通过下运算可以得到标题压缩分组f的增量段的值IP(2).IP_ID、IP(2).RTP_SN和IP(2).RTP_TS(见图9)。
IP(2).IP_ID=IP(3).IPJD-IP_ID(3)IP(2).RTP_SN=IP(3).RTP_SN-ΔRTP_SN(3)IP(2).RTP_TS=IP(3).RTP_TS-ΔRTP_TS(3)在增量段的值已解压缩时,控制部33b将解压缩的增量段和保存在存储器内作为IP(2)的其他段合并,产生一个IP分组f。然后,控制部33b利用包括在IP分组f内的UDP校验和确定解压缩是否已正确执行(步骤S34)。在确定解压缩正确时,控制部33b将IP分组f存入存储部34b(步骤S35)。此外,控制部33b还重复与步骤S32至S35所示类似的过程,对其余的标题压缩分组e和d的增量段解压缩。
在寄存器n的值在步骤S31变为
时,意味着所有已存储的标题压缩分组的解压缩都已完成。在这种情况下,迄今存储在存储部34b内的这些IP分组(包括从这个全标题分组中获得的IP分组)按照RTP标题内的序号的次序相继发送给接收数据终端2。
相反,如果确定解压缩不正确,可以认为在不正确解压缩的分组前接收到的标题压缩分组也不会得到正确解压缩。因此,抛弃所有其余要解压缩的IP分组(步骤S36),而只将已经正确解压缩的IP分组发送给接收数据终端2(步骤S37)。
在本实施例中,工作情况就如上所述。
按照本实施例,在差值有改变时,就将这些差值添加到全标题分组以及标题压缩分组上,发送这些带差值的分组。因此,即使差值在一个需作为全标题分组发送的IP分组与它的前一IP分组(标题压缩分组)之间有改变,接收节点3b也能对这个标题压缩分组的内容正确解压缩。
C第三实施例在以上各实施例中,从在一个分组丢失后最早接收到的一个全标题分组的增量段内的值中相继减去涉及在这个分组丢失后接收到的一个压缩分组的差值使得所存储的这些标题压缩分组可以解压缩成IP分组。然而,根据在分组丢失后接收到的一个全标题分组对标题压缩分组解压缩的技术并不局限于在上述实施例中所说明的。在这里将说明的第三实施例与这种技术的一个例子有关。在以下的说明中,只是对与在以上的实施例中不同的配置进行说明。
在以上的实施例中,如果在一个IP分组内的差值有改变,发送节点3a就进行工作,将新的差值包括在一个标题压缩分组的压缩标题内。相反,在本实施例中,不是将这些差值而是将每个增量段的一些低位比特(以下称为“LSB(最低有效位)”)包括在一个标题压缩分组的压缩标题内。
具体地说,在从发送数据终端1接收到某个应该作为一个标题压缩分组发送的IP分组时,发送节点3a计算出在这个IP分组的增量段内的这些值与保存在存储部34a内的IP分组(就在这个IP分组前接收的分组)的那些值之间的差值。然后,节点3a将计算出的差值与保存在存储器内的差值相比较。如果有增量段的差值改变的话,发送节点3a的控制部33a从这次接收到的IP分组的相应增量段提取一些LSB。这样,控制部33a就产生一个包括这些LSB和设置为“1”表示存在LSB的相应标志两者的压缩标题。图11B中的标志S、T和I任何一个都可以用于这个用途。控制部33a将一个带这样压缩的标题的标题压缩分组发送给接收节点3b。另一方面,如果上述比较显示计算出的差值与保存在存储器内的差值之间的差值相互一致,在从这次接收到的IP分组解压缩的标题压缩分组内就不包括这些LSB。
作为LSB发送的比特数取决于需发送的数据的特性和增量段(ID、序号和时标)等,因此按照那些条件选择。例如,可以除去预期不会改变的那些高位比特,发送其余的低位比特,指示相应增量段的改变。
下面将结合图10说明本实施例的工作情况。如在第一实施例中所说明的,这些增量段包括IP标题的ID和RTP标题的序号和时标,但是为了简单起见,将它们概括为一个″增量段″。
首先,发送节点3a接收到一些发自发送数据终端1的IP分组。与接收同时,节点3a节点3a将首先接收到的IP分组a作为全标题分组发送给接收节点3b,然后以标题压缩分组发送分组b至f。在图10中,假设就在接收IP分组g前接收到来自接收节点3b的CONTEXT_STATE。因此,发送节点3a将IP分组g作为一个全标题分组发送给接收节点3b。如上所述,在这些标题压缩分组的压缩标题之中,只有增量段有值变化的压缩标题包括LSB。在图10中,所示情况为标题压缩分组b、d和f分别包括LSBb、LSBd和LSBf,而标题压缩分组e不包括这样的LSB。
另一方面,接收节点3b的控制部33b根据从发送节点3a首先接收到的全标题分组a对一个IP分组a解压缩。控制部33b将解压缩的IP分组存入存储部34b,然后将IP分组a发送给接收数据终端2。控制部33b进行工作,利用IP分组a对下一个接收到的标题压缩分组b解压缩。具体地说,如图10所示,读出保存在存储部34b的IP分组a的增量段。然后,将增量段的LSBa用包括在标题压缩分组b内的LSBb代替,使得标题压缩分组b的增量段解压缩(见图10中所示的“OP1”)。控制部33b产生一个具有那些增量段的IP分组b。控制部33b将产生的IP分组b存入存储部34b,并将它发送给接收数据终端2。
在图10中所例示的情况是假设从发送节点3a发送的标题压缩分组c在被接收节点3b接收前由于某个原因而丢失。接收节点3b的控制部33b由于紧挨着标题压缩分组b接收到的是标题压缩分组d而检测到标题压缩分组c丢失。检测到这个情况后,控制部33b将向发送节点3a发送CONTEXT_STATE。
在丢失分组c后,控制部33b将标题压缩分组d至f依次存入存储部34b,直到接收到下一个全标题分组g。实际上,在接收到一个包括LSB的标题压缩分组时,就将这个标题压缩分组与这些LSB一起保存在存储部34b内。在接收到一个不包括LSB的标题压缩分组时,选择在接收到这个不带LSB前最近所接收的包括LSB的那个标题压缩分组,将这些LSB与这个不带LSB的标题压缩分组一起存入存储部34b。例如,在如图10所示的情况下,标题压缩分组e没有任何LSB。将就在分组e前接收的包括LSB的标题压缩分组d的LSBd处理为LSBe,与标题压缩分组e一起存储在存储部34b内。
然后,在接收到发送节点3a响应事先发送给发送节点3a的CONTEXT_STATE而发送的全标题分组g时,控制部33b根据这个全标题分组g的内容执行对已经保存在存储部34b内的标题压缩分组d至f的解压缩处理。下面,将对这种解压缩处理进行说明。
首先,控制部33b将全标题分组g解压缩成一个IP分组g,再将这个IP分组存储在存储部34b内。在图10中,这些LSB和其他比特在IP分组g的增量段内分别用“LSBg”和“G”标示。
然后,控制部33b从存储部34b读出IP分组g的增量段,对标题压缩分组f的增量段解压缩。也就是说,分组g的增量段的LSBg用保存在存储部34b内的标题压缩分组f的相应增量段的LSBf代替,因此分组f的增量段得到了解压缩(见图10中的“OP2”)。控制部33b产生一个包括解压缩的增量段和IP分组g的静量段两者的IP分组f。然后,控制部33b利用包括在IP分组f内的校验和确定解压缩是否正确执行。
在IP分组f解压缩正确时,就用这个IP分组f对标题压缩分组e解压缩。具体地说,控制部33b用保存在存储部34b内的标题压缩分组e的LSBe(在内容上与LSBd相同)代替IP分组f的增量段的LSBf,从而使标题压缩分组e的增量段解压缩(见图10中的“OP3”)。相反,在IP分组f解压缩不正确时,标题压缩分组e利用所接收和解压缩为一个全标题分组的IP分组g进行解压缩。也就是说,控制部33b用与保存在存储部34b内的标题压缩分组e相应的LSBe代替IP分组g的增量段的低位列LSBg,从而使标题压缩分组e的增量段解压缩。
在根据IP分组f或g完成对标题压缩分组e的增量段的解压缩后,控制部33b着手产生一个IP分组e。实际上,控制部33b将解压缩的增量段与IP分组f或g的静量段合并,产生IP分组e。然后,控制部33b利用包括在标题压缩分组e内的校验和确定解压缩是否正确执行。
控制部33b将继续对在检测到丢失分组c到接收到全标题分组g期间接收到的所有标题压缩分组执行相同的处理。完成对这些标题压缩分组的处理后,控制部33b按照包括在每个RTP标题内的序号的次序将所有正确解压缩的IP分组依次发送给接收数据终端2。然而,对于没有正确解压缩的IP分组仍然予以抛弃。
因此,象以上的这些实施例那样,也有着与以上实施例相同的优点,因为在分组丢失后接收到的标题压缩分组根据一个在分组丢失后最早接收到的全标题分组相继得到解压缩。此外,在本实施例中,对某个标题压缩分组可以利用一个在分组丢失后最早接收到的全标题分组或者一个就在这个标题压缩分组前解压缩的IP分组进行解压缩。例如,在图10中,通过对全标题分组g解压缩形成的IP分组g和通过对标题压缩分组e解压缩形成的IP分组e任何一个都可以用来对标题压缩分组d进行解压缩。结果,即使按次序应该就在需解压缩的标题压缩分组d前解压缩的标题压缩分组没有解压缩,标题压缩分组d也可以根据IP分组g的内容解压缩。因此,本发明的这个实施例甚至与以上这些实施例相比,解压缩效率也有改善。
从以上的这些实施例可见,本发明的方法包括根据一个在丢失一个分组后最早接收到的全标题分组的内容恢复一个在分组丢失后接收和保存的标题压缩分组的内容的措施。也就是说,利用一个在丢失一个分组后最早接收到的全标题分组对在分组丢失后接收到的标题压缩分组解压缩的技术并不局限于在以上的这些实施例中所说明的方法,也可以采用其他种种方式。
D第四实施例以上的这些实施例不仅提供了一种使发送节点3a的中继设备可以将一个IP分组变换成一个标题压缩分组或一个全标题分组的功能(以下,这样的功能称为“压缩功能”),而且提供了一种使接收节点3b的中继设备可以将标题压缩分组或全标题分组变换成一个IP分组的功能(以下,这样的功能称为“解压缩功能”)。相反,第四实施例提供了一种配置,发送数据终端1和接收节点3b两者都有压缩功能,而发送节点3a和接收数据终端2两者都有解压缩功能。
实际上,发送数据终端1相继产生一系列需发送的IP分组。在发送这些IP分组中,终端1将第一个IP分组和一个就在接收到来自接收节点3a的CONTEXT_STATE后应该发送的IP分组两者作为全标题分组发送给发送节点3a。至于其余的IP分组,终端1将它们作为标题压缩分组发送给发送节点3a。
发送节点3a的中继设备以与在第一实施例中所说明的接收节点3b的中继设备相似的方式工作,使发送终端1发来的全标题分组和标题压缩分组解压缩成IP分组发送给接收节点3b。与这种发送相应,接收节点3b接收到这些IP分组后将它们变换成全标题分组或标题压缩分组,再发送给接收数据终端2。
接收数据终端接收到来自接收节点3b的全标题分组或标题压缩分组后,将它们变换成IP分组。在检测到在接收节点3b与接收数据终端2之间发生一个分组丢失时,接收终端2将在分组丢失到在分组丢失后最早接收到一个全标题分组期间接收到的一些标题压缩分组存入它的内部存储器。然后,在接收到这样一个全标题分组时,终端2利用接收到的全标题分组的全标题的内容对保存在存储器内的这些标题压缩分组的压缩标题解压缩。然后,接收数据终端2工作,执行包括根据由接收到的IP分组提供的数据显示图像和输出声音的处理。这种配置因此能具有与在以上的这些实施例中所说明的配置类似的优点。
如所说明的那样,接收数据终端能具有对在一个分组丢失后直到最早接收到一个全标题分组之前接收到的标题压缩分组的压缩标题的内容利用包括在这个全标题分组内的全标题的内容解压缩的功能。这意味着本发明的这种分组发送方法可以应用于任何在一个网络上发送和接收分组的设备。也就是说,在本发明的权利要求中引用的“发送方”和“接收方”的概念包括发送分组的数据终端和分组发送到的数据终端,以及在数据终端之间转接分组转换的分组中继设备。
E变型变型1在以上的这些实施例中,发送节点3a已经配置成使得一个就在接收到来自接收节点3b的CONTEXT_STATE后应该发送的IP分组作为一个全标题分组发送给接收节点3b。然而,发送这样的IP分组的条件并不局限于以上提到的条件。从发送节点3a作为全标题分组发送的IP分组可以采取如下不同模式。
a.第一模式在一个需发送的IP分组的RTP/UDP/IP标题的静量段在值上不改变时,发送节点3a可以如在以上的这些实施例中所述的那样只是对于一个最初应该发送的IP分组和一个就在接收到来自接收节点的CONTEXT_STATE后应该发送的IP分组两者发送全标题分组。然而,如果静量段在值上有改变,就需除了那些分组还发送一个静量段在内容上有改变的分组作为一个全标题分组,如也在传统方法A中所述那样。为了实现这种附加发送,发送节点3a的控制部33a配置成以一个全标题分组发送一个静量段在内容上有改变的分组。或者,作为全标题分组发送的可以不是就在接收到CONTEXT_STATE后发送的IP分组,而只是静量段在内容上有改变的IP分组。
b.第二模式发送节点3a可以配置成如在现有技术的说明中作为方法1所示出的那样,从发送数据终端1依次发送的分组中每隔几个一个地选择一些特定的分组作为全标题分组发送给接收节点3b。
以上第一和第二模式类似于以上的这些实施例,因为接收节点3b可以在丢失一个分组后保存接收到的分组直到从发送节点3a接收到一个全标题分组,再根据这个全标题分组的内容对所保存的分组解压缩。
变型2全标题分组和标题压缩分组不必局限于以上说明的这些分组。也就是说,任何配置的分组都适用于本发明的“全标题分组”如果它们具有使在发送节点中的压缩操作的内容与在接收节点中的解压缩操作的内容同步的话。具体地说,并不总是要求一个全标题分组能根据这个全标题分组本身的内容恢复一个不压缩的分组。此外,并不总是需要根据一个IP标题产生一个全标题分组。然而,具有以上功能对于一个全标题分组是足够的。另一方面,对于压缩标题来说任何配置都是可用的,如果一个标题压缩分组可以根据诸如具有解压缩的全标题分组或标题压缩分组的IP分组之类的其他分组的内容解压缩的话。
变型3附加到压缩标题分组上用来检验解压缩的标题的正确性的校验和并不局限于UDP校验和。也就是说,任何从初始分组或从初始RTP/UDP/IP标题计算出的附加到压缩标题分组上的校验和都能用来检验解压缩的标题的正确性。
变型4本发明可以通过将如在这些实施例中所说明的那样由接收节点的中继设备执行的执行分组接收的程序录入计算机可读的存储媒体,再将这媒体发给用户或通过电子通信电路将程序提供给用户来实现。
权利要求
1.一种分组发送方法,所述分组发送方法包括下列步骤由一个网络内配置在一个传输节点处的通信设备执行分组传输,所述分组传输包括将需发送的多个非压缩分组变换成带全标题的全标题分组或带压缩标题的标题压缩分组发送给这个网络内的一个接收节点;以及由配置在所述接收节点处的通信设备执行分组接收,所述分组接收包括接收发送方发送的所述全标题分组或标题压缩分组和将接收分组变换成解压缩分组,所述变换包括在一个全标题分组或标题压缩分组在从所述发送节点向所述接收节点传输期间丢失的情况下,保存在发生分组丢失到接收到下一个全标题分组期间接收到的至少一个标题压缩分组,以及根据在分组丢失后接收到的所述全标题分组的全标题的内容对这样保存的标题压缩分组的压缩标题解压缩。
2.一种权利要求1的分组发送方法,所述分组接收中的解压缩步骤还包括通过从包括在分组丢失接收到的所述全标题分组的全标题内的增量信息中减去一个差值对所保存的标题压缩分组内的增量信息解压缩,所述增量信息是在每个所述非压缩分组之间分别改变了所述差值的信息。
3.一种权利要求1的分组发送方法,所述分组传输步骤还包括将一个从所述非压缩分组变换成的全标题分组的全标题的至少一部分增加在所述非压缩分组与另一个非压缩分组之间的增量信息的一个差值,所述增量信息是在每个所述非压缩分组之间分别改变了所述差值的信息,以及所述分组接收中的解压缩步骤还包括在分组丢失后接收到一个带一个差值的全标题分组时利用所述差值和包括在所接收的全标题分组的全标题内的增量信息对所保存的标题压缩分组内的增量信息解压缩。
4.一种权利要求3的分组发送方法,其中,在发送一个与一个非压缩分组相应的全标题分组而在所述非压缩分组与一个就在所述非压缩分组前的非压缩分组之间的增量信息在差值上不同于其他非压缩分组的增量信息的情况下,所述发送节点处的通信设备在所述全标题分组上添加一个差值。
5.一种权利要求1的分组发送方法,所述分组接收步骤还包括根据包括在一个就在所述分组丢失前或后接收到的一个全标题分组的全标题内的静态信息对所保存的标题压缩分组的静态信息解压缩的操作,所述静态信息是包含在非压缩分组的非压缩标题内的、在非压缩分组之间是相同的信息。
6.一种权利要求1的分组发送方法,其中所述非压缩分组的每个非压缩标题包括在非压缩分组之间改变了一个差值的增量信息,而所述标题压缩分组的至少一部分的压缩标题包括是表示所述非压缩标题的增量信息的一部分比特的部分比特,以及所述分组接收步骤还包括通过用包括在一个先前得到的标题压缩分组内的部分比特代替表示包括在一个在分组丢失后接收到的全标题分组的全标题内的增量信息的一部分比特对所保存的标题压缩分组的增量信息解压缩。
7.一种配置在多个数据终端之间、接转在所述数据终端之间交换的分组的中继设备,所述中继设备包括接收装置,用来接收带全标题的全标题分组或带压缩标题的标题压缩分组和将接收到的分组变换成解压缩分组;保存装置,用来在一个全标题分组或标题压缩分组在被接收装置接收前丢失的情况下保存在所述分组丢失到在丢失后接收到下一个全标题分组期间接收到的标题压缩分组;以及解压缩装置,用来根据一个在所述分组丢失后接收到的全标题分组的非压缩标题的内容对每个由保存装置保存的标题压缩分组的压缩标题解压缩。
8.一种能通过一个网络与数据终端交换分组的数据终端,所述数据终端包括接收装置,用来接收带全标题的全标题分组或带压缩标题的标题压缩分组和将接收到的分组变换成解压缩分组;保存装置,用来在一个全标题分组或标题压缩分组在被接收装置接收前丢失的情况下保存在所述分组丢失到在丢失后接收到下一个全标题分组期间接收到的标题压缩分组;以及解压缩装置,用来根据一个在所述分组丢失后接收到的全标题分组的非压缩标题的内容对每个由保存装置保存的标题压缩分组的压缩标题解压缩。
9.一种分组接收方法,所述分组接收方法包括下列步骤接收带全标题的全标题分组或带压缩标题的标题压缩分组和将接收到的分组变换成解压缩分组;在一个全标题分组或标题压缩分组在被接收前丢失的情况下保存在所述分组丢失到在丢失后接收到下一个全标题分组期间接收到的标题压缩分组;以及根据一个在所述分组丢失后接收到的全标题分组的非压缩标题的内容对每个所保存的标题压缩分组的压缩标题解压缩。
10.一种使计算机执行一种包括下列步骤的分组接收方法的程序接收带全标题的全标题分组或带压缩标题的标题压缩分组和将接收到的分组变换成解压缩分组;在一个全标题分组或标题压缩分组在被接收前丢失的情况下保存在所述分组丢失到在丢失后接收到下一个全标题分组期间接收到的标题压缩分组;以及根据一个在所述分组丢失后接收到的全标题分组的非压缩标题的内容对每个所保存的标题压缩分组的压缩标题解压缩。
11.一种存储使计算机执行一种包括下列步骤的分组接收方法的程序的计算机可读存储媒体接收带全标题的全标题分组或带压缩标题的标题压缩分组和将接收到的分组变换成解压缩分组;在一个全标题分组或标题压缩分组在被接收前丢失的情况下保存在所述分组丢失到在丢失后接收到下一个全标题分组期间接收到的标题压缩分组;以及根据一个在所述分组丢失后接收到的全标题分组的非压缩标题的内容对每个所保存的标题压缩分组的压缩标题解压缩。
全文摘要
发送方将需发送的非压缩分组变换成包括全标题的全标题分组或包括压缩标题的标题压缩分组发送给接收方。接收方接收到发送方发送的分组,将接收到的分组变换成解压缩分组。在全标题分组或标题压缩分组在发送方与接收方之间丢失的情况下,接收方保存在分组丢失到最早接收到一个全标题分组期间接收到的标题压缩分组,根据所述全标题分组的全标题的内容对所保存的标题压缩分组的压缩标题解压缩。
文档编号H04L12/56GK1311591SQ0111094
公开日2001年9月5日 申请日期2001年3月5日 优先权日2000年3月3日
发明者吉村健, 河原敏朗, 铃木敬 申请人:株式会社Ntt杜可莫
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1