首页> 中国专利> 采用数据压缩转换一系列数据包的方法和设备

采用数据压缩转换一系列数据包的方法和设备

摘要

本发明涉及一种通过编码或压缩(P)转化数据包的方法和设备。源数据包(11-15)被转化为发送数据包(21-23)。为了获得发送数据包的最佳填充级别,依据本发明,一个发送数据包的一个数据区只包含一个逻辑信道(例如A)的数据。最终,逻辑信道(A、B…)的转化数据被分别填入优选的并行缓冲区中,重组信息不包含在发送数据包的数据区内,但如果有必要,该信息被提前发送,本发明尤其适用于x.25网络。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-03-04

    专利权有效期届满 IPC(主分类):H04L29/06 授权公告日:20030101 期满终止日期:20141229 申请日:19941229

    专利权的终止

  • 2003-01-01

    授权

    授权

  • 1997-02-19

    实质审查请求的生效

    实质审查请求的生效

  • 1997-02-05

    公开

    公开

说明书

本发明的背景

本发明涉及一种压缩数据包的方法,一种解压缩数据包的方法,压缩和解压缩数据包的设备,和一个以压缩形式发送数据包的系统。更一般来说,本发明涉及一种在通信系统中进行所谓的原语的长度转换的方法,和实现上述方法的设备。

更具体地,本发明涉及一种方法,它将第一个数据包组,其中每个具有一个头段和数据段,转化为第二个数据包组,其中每个具有一个头段和数据段,两组都由多元信道的数据包组成,来自第一组的数据段的数据经过压缩处理提供给第二组的数据段。这种方法来自于欧洲专利EP-A-0,559,593应用。

在实践中数据压缩被应用以提高通信信道的容量。通过压缩要发送的数据,一些数据能够以更少的时间或更小的带宽发送。这里的数据压缩在许多方面受到一种压缩过程的影响,其中数据字或消息出现的频率被用于更有效率地对数据编码:通过用短码替换最常出现的数据,用长码替换不常出现的数据,能够获得高级别的压缩。压缩后的数据即可被发送,例如以数据包的形式。这样第一组数据包被转换为第二组;在压缩成功的情况下,第二组一般会短一些,即包含少于第一组的数据量。

在该已知的方法中,可能来自于不同来源(信道)的第一组数据包被转化为能被经由一个(网络)信道发送的第二组数据包,与原数据包相关的信息被保存在第二组的数据段中。于是第二组的数据段包含有子头段,其中特别保存有被压缩数据段的长度和重组信息。基于上述的子头段,原来的数据段,即第一组数据包的数据段能够被重建。

这种已知方法有一个缺点,即比较大量的补充信息,即子头段,必须被发送。结果,第二组数据段的长度被有效地减少而数据包的有用发送容量减少了。对于较小的包长度这种影响更明显,这里潜在发送容量的比较大的部分被额外开销占据着。另外,在已知的方法中,在接收方数据段被解压缩之前,子头段必须和有用数据分开。这需要花费处理时间和处理设备(电路和/或软件)的额外的处理步骤。如果该已知方法被用于经由包括中间站(交换机、交换点)的网络,在不同的源和目的地之间传送消息,该已知方法会进一步要求所有的中间站支持压缩功能,因为网络寻找路由必须适用压缩的数据包中的信道集。本发明的概述

本发明的目标是克服现有技术中上述的和其它缺点,来提供一种采用数据压缩,转换第一组数据包的方法,该方法通过最佳利用第二组的数据段提供压缩数据的有效发送。

尤其是,提供一种能够让不同信道的数据包都能有效地被处理的转换数据段的方法,是本发明的一个目标。

本发明的更进一步的目标是提供一种特别适用于x.25网络的转换数据包的方法。

提供一种转换数据包的方法,该方法不依赖于所使用的压缩或解压缩的过程,这也是本发明的一个目标。

最后,依据本发明的方法的特征是,第二组的每个数据段包含仅一个信道的数据,要提供给第二组的一个数据段的数据被每个信道缓存。换句话说,在第二组中,只有一个信道的数据被组合到每个数据包的数据段中。这具有优点,特点是,不同信道的(压缩)数据被以不同的分开的数据包发送,因此在一个数据包不中必指明哪些数据属于哪个信道。因此从理论上,第二组的数据包能够被直接送到它们的目的地,而不必首先被解压缩。依据本发明,通过分别压缩每个信道,进一步保证只有一个网络中的发送和接收站需要支持压缩,而不必将发送网络自身设计成支持压缩。依据所提到的现有技术,相反地,网络有必要改变以支持对多元信道的压缩,即多个(源)信道到一个(网络)信道的压缩。

为了提供连续数据包的可能性,在第一组(原来的数据包)中属于不同信道,没被发送的数据包,在第二组中的部分空数据包,依据本发明,属于不同信道的数据分别缓存,即每个信道自己缓存。由于每个信道的压缩数据能够存起来,例如直到一个数据包的数据段全填满,这使得向第二组的数据包(“压缩”数据包)最佳填充数据成为可能。

在本情况下,顺便说明,“信道”一词指的是一个逻辑信道,换句话说,是一个在源(发送端)和目的(接收端)之间存在一定时间的发送路由。在过程中,多个信道可以在一个物理链路上存在,但一个信道不必特意被分配到某一特定物理链路上。经由一个信道,一个或多个消息被以数据包的形式发送,一般一个消息包以一个“消息结束”标志结束(停止码)。这样一个“消息结束”标志则表明一组在功能上彼此相关的数据包的终止。

一个信道可能偶而包括几个子信道(连接信道),例如一个子信道携带用户数据而另一个携带控制数据。在x.25情况中,例如,子信道由Q比特标识。在子信道能被标识的情况下,依据本发明的方法特征是,即第二组中的每个数据段包含仅一个子信道的数据,而要提供给第二组的一个数据段的数据按照每个子信道缓存。大家可以理解一个子信道可能就是一个信道。因此,在本文中“信道”一词将一般被理解为“信道或子信道”的意思。

如已经提到的,上述的数据包组能够包含多个信道的数据包,也可能包含仅一个信道(或子信道)的数据包。同时,组可能包含一个或多个消息,能够是同步的和异步的并且不必具有固定或确定长度。因此“组”甚至可能只包含一个数据包。

当以OSI模型陈述时(参考第12章条目3),可以说本发明提供了一种在通信系统中进行第一层(例如n)原语长度转换的方法,第一层(例如n)的原语转换到第二层(如n-1)较低层(例如n-1),这些原语具有功能关系,而长度转换包括通过维持原语的功能关系来调整数据单元的数目。在以上说到的情形中,功能关系包括一个信道或用户身份,而长度转换包括数据压缩。

在依据本发明的方法中,更合理地,执行了一项检查看是否一个信道的最后数据包出现在第一组中,当最后数据包出现时,该信道全部缓存数据被提供给第二组的一个或多个数据包。即,当一个信道的最后数据包被收到时,各自的缓冲器(或存贮器集)被充满,该缓冲器的全部数据被送到数据包。这样某一信道的数据包集合被终止,而不必出于这个目的等待一特定的等待时间。更进一步地,被充满的缓冲器能够为一不同的信道再利用。顺带说明,在本文中“一个信道的最后数据包”一词可以一般地被理解成“一个信道的数据包集合的最后数据包”,因此包括经由该信道发送的一条消息的最后数据包。可能包含例如一个物理或逻辑链路的信道本身,可能在过程中继续存在。最后数据包的出现能够被检测到,检测基于例如“消息结束”标志。上述最后数据包的出现被检测到的数据包集合,可能包括消息的一部分或多个消息,例如在某段时间内已收到的一个信道的数据包。

当第一组一信道的最后数据包已出现而存贮的数据被提供给第二组的数据包时,很可能存贮的数据不能完整地填充到数据包的数据段中。这样在接收方能以一种简单方式确定有用数据在哪里结束,提供的方法是如果在第二组中一信道的最后数据包的数据段没有完全填充,该数据段被补充上结尾数据。这些结尾数据最好以这样一种方法被选择,即在接收端以一种简单方式可认出它们,因此它们最可取地由固定码组成。这样,结尾数据可以包括一串相同比特,最好是至少11个1。相同比特的数目在过程中和数据压缩使用的编码相一致进行便利地选择,例如以这种方式使比特的数目等于或大于最长码字的比特数。

很合理的,如果结尾数据在第二组的数据包中出现,进行一次检查是否在第一组中出现了最后数据包。这样就提供了一种很简单然而很高效的错误检查方法。

依据本发明的方法很有利地以这样一种方式实现,即第二组的数据段仅仅包括压缩数据和/或结尾数据。换句话说,就消息长度,考虑的信道等相关情况,在第二组的数据段中没出现补充信息。因此数据包的可用发送容量能够得到最佳利用。顺带说明,在本文中,所说的“压缩数据”在一些情形中也可能包括非压缩数据。但该数据的确来自于第一组的一个数据段。

很合理地,一信道最后数据包的出现基于第一组数据包的头段信息来判断。因此对最后包的识别可能与,例如,对信道的识别同时发生。但是,如果数据包要被转换,但在头段中并没有提供这样的识别,则最后数据包的出现可以用不同的方式判断,例如通过识别第一组数据段中的结尾信息。

如果数据包被设计为用于依据x.25协议的数据传输,用来有利地判断一信道最后数据包的出现所基于的信息包含m比特(“更多比特”)。如果m比特等于0,后面就不会再有同信道的数据包。因此一种非常简单的识别最后数据包的方法是可能的。

在依据本发明的方法中,可以应用许多不同的压缩过程。很方便地一个包含码字的表应用在压缩过程中,该表以数据出现的频率为基础。参考这样一个表,每个原来的数据字被一个码字替换,特定的出现很频繁的数据字(或者,例如,具有高信息内容的数据字)被相对较短的码字替代。借助这种先前已知的压缩过程,可以在压缩过程中编辑表。然而,在依据本发明的方法中便利地应用了固定(频率)表。利用一个(预定的)固定或至少暂时固定的表,在压缩过程的开始防止发生数据扩展是可能的。另外,这避免了发送中的比特错误引起发送端和接收端的相应表的不同步的结果。

尽管依据本发明的方法特别适用于多信道的情形,但如果第一组的所有数据包都属于相同信道,也能够实现这种方法。在第一组包含多个信道的数据包的情况下,只对其中一些信道的数据包进行压缩是可能的,所以至少一些信道的数据以非压缩方式提供给第二组。在这个过程中,非压缩数据可能根本没变或者可能被处以完全不同的操作,比如加密。另外,确实被压缩的数据也可能被处以不同的操作如加密。

尽管依据本发明的方法在这里被参照数据包的转换给予描述,它也可能不是转换第一和/或第三组的数据包,而是转换一个或多个(同步或异步)的比特流。对于第一组和在双向业务情况中的第三组,它们也可能被转化为一组时隙。

本发明进一步提供一种方法,用于把第二组数据包转换成具有头段和数据段的第三组数据包,来自第二组数据段的数据经过解压缩过程,被提供给第三组的数据段。在过程中,被提供给第三组数据段的数据被合理地分信道缓存。如果压缩和解压缩是对称的,第三组的数据包在该情况下与第一组的数据包相同。

当依据本发明的方法被应用于数据包的发送时,若至少一个信道的第一组数据包间断性出现,则有可能对于该信道很便利地间断发送至少一个第二组的数据包,尽管该数据包的数据段只被部分填充。这样的结果是可以避免数据发送期间的长时间延迟。(在过程中,如果第一组的数据包按照x.25协议被发送,忽略该数据包中的m比特可能更有利)。第二组的数据包可能,例如在某预定时刻或从(基本压缩的)数据被放入一定的缓冲器(被称为“超时机制”)后一特定时间后,被发送。用这种方式,数据包可以间断地被压缩和发送。这对只能间歇地产生数据的数据源尤其有利,比如测量设备。如果第二组的数据包比第一组的数据包小,那么数据压缩总会导致数据传输有效性的提高,即使第一组的每个数据包被转换成第二组的一个数据包(1到1转换)。在x.25情况下,第二组的数据包则可能包括少一些的段(例如64比特的段)。

另外,本发明提供一用于压缩数据包的设备,一用于解压缩数据包的设备,和以压缩形式传送数据的系统。参考资料:[1]EP-A-0,559,593[2]ITU推荐v.42bis[3]F.Mazda(Ed.):“电信工程师参考书”,出版1993[4]ITU推荐v.34[5]ITU B-ISBN适应层规范I.363[6]P.Horowitz & W.Hill:“电子技术”,剑桥1989

由此将这些参考资料包括在本文中。示范实施例

本发明将在下面参考图示给出详细解释。

图1大略地给出将第一组数据包转化为第二组数据包的示意图。

图2依据本发明大略给出压缩一组数据包的过程。

图3相对于OSI模型大略给出本发明的方法。

图4大略给出依据本发明用于压缩和/或解压缩数据包的设备的第一个实施例。

图5大略给出依据本发明用于压缩和/或解压缩数据包的设备的第二个实施例。

图6大略给出一个用于传送数据包的系统,本发明应用在系统中。

图1用举例描述出第一组10的(源)数据包。该组10的连续数据包11、12、13、14和15可能属于不同信道。在这种描述的情况下,数据包11、12和14属于信道A,而数据包13和15属于信道B。很明显在实际中,数据包属于两个信道以上的较长组是有可能出现的。

本发明提供支持将第一组10转换为第二组20的(发送)数据包。接下来的数据包21、22和23分别属于信道A、A和B。

每个被描述的组10和20的数据包都由一个头段(或头)h和一个数据段d组成。借助于使用一个适合的压缩过程,数据包11到15(包括两端在内)被转换为数据包21到23(包括两端在内)。依据本发明,这涉及到对组20的(发送)数据包的数据段d只提供压缩形式的组10的(源)数据包的数据段d。换句话说,数据包11到15的头段h中的信息没被包括到数据包21到23的数据段中去。另一方面,第一组10的数据包的头段h可能至少部分,在某些情况下甚至全部地对应于第二组20的数据包的头段h。然而,第二组具有完全不同于第一组的结构,例如,依据一不同的协议构造,也是有可能的。

相同信道的一组数据包,如第一组10所描绘出的由数据包11、12和14组成,它们一般具有有限长度。这样一组的最后包一般被做上标记,告诉目的地一特定消息结束了。在x.25的情况下,如果后面不再有相同消息或信道的数据包,通过在头段中加入一个置为0的比特(“更多比特”或“m比特”)(m=0)来表明结束;否则该比特等于1(m=1)。另一种表示后面不再有同组数据包的方法是在数据段中加入一个可被接收者识别出的停止码(“消息结束”)。这样一个停止码可能,例如由可用一种简单方法与一般,有用数据相区分的控制符号组成。如果需要,消息结束可从该信道的最后数据包被接收到之后一段时间的逝去而得到(“超时”)。

依据本发明,组20的数据包各自仅包含一个信道(或子信道)的(压缩或非压缩)数据,而且各个信道的数据被分别存贮。通过把第二组20的每个数据包只分配给一个信道,有可能取得一种简单的在接收端(目的地)解压缩的方法,第二组20数据包的数据段d不必首先被分隔到不同信道的段上。另外,因此而不必根据数据段属于特定信道的部分在数据段d中加入补充信息,例如数据段中块的长度信息。于是,由于第二组数据包的数据段中能够只填充数据从而取得了更有效的传输。顺带说明,也可能向第二组的数据包中提供非压缩数据,例如如果一个或多个信道(或子信道)没被压缩。这可能是例如若一特定子信道包含控制数据的情况。

通过在实际中分别存贮每个信道的数据,取得第二组20的数据段d的最佳填充程度是可能的。假如没有这样的存贮过程,压缩的确将造成每数据包少一些的数据,但每信道的数据包数在理论上是相同的,结果在大多数情况下将没有好处(除非第二组的数据包在长度上比第一组的数据包短,但那又对第二组进行了限制)。通过上述方法的组合,不用对第二组数据包的结构做任何要求,能够取得数据传输很大程度的有效性。同时,因为发送压缩数据包要经由的网络中间站不需要出于采用的压缩的目的做任何调整,提供了寻找路由的很大程度的灵活性。

应该指出的是,在本文中提到一个“数据包”,该词也可被一般理解为协议数据单元(“PDU”),存贮器或数据单元。很显然地,数据包或数据单元也可能包括除头段和数据段以外的其它段,如尾段(或结尾)。然而,这对于本发明则不是必要的。本发明甚至可以应用于不以包形式出现的数据流。尤其是,本发明可以很便利地在依据x.25协议操作的网络中应用于对数据包的压缩和解压缩,特别是OSI模型第三层上的应用。

在图2中大略地给出依据本发明的方法。在图1中详细给出的第一组10的数据包被转化为第二组20的数据包。在处理过程中,第一组10的数据包11-15首先被进行p处理,该处理可能包括一个适合的当前已知的数据压缩过程,如依据Ziv-Lempel过程操作的数据压缩过程。在该已知的情形中,处理P也包括一个信道标识。压缩后数据被分别按信道存贮。因此数据包11、12和14的压缩数据被连续存贮直到第二组的一个数据段能够被完全填充。在给出的情形中,数据包11和12的压缩数据将能够,例如,用于完整地填充数据包21,之后该数据包能够被发送出去。信道A任何剩下的压缩数据被存贮在信道A的缓存器中(“缓存器A”)。然后包13的数据被压缩并存贮在信道B的缓存器(“缓存器B”)中。(假设这些数据没能完整填充第二组的一个数据包)。接下来要被压缩的包,数据包14,是包括包11、12和14集合的最后一个包。在压缩后,信道A的压缩数据被暂存在信道A的缓存器中,之后缓冲器被充满,信道A的压缩数据被存到包22中。如果此时包22没被完整填充,可以补上结尾信息。最好在数据包22的头段中指出这是一集合的最后一包。包15可能与此同时已经过了压缩过程。正如信道A的情形,压缩数据将在上述的缓存器中保存一段很短的时间,然后本情况下的信道B的缓冲器依顺序和已存贮在其中的数据一起被提供给数据包23。最好在数据包23的头中指明这是一集合(或单独的信道)的最后一个数据包,如果需要,和数据包22的情况一样,数据包23的数据段可被提供结尾信息(结尾数据)。

可以理解的是上述缓存器的存贮动作能够以多种方式实现,如图中通过虚线所示的,可以提供多个缓存器给两个以上的信道(信道C的可选的缓存器C)。如果一特定信道的最后数据包已经被发送,如果需要,该信道的缓存器可以分配给另一个信道。因此,例如,如果信道B结束操作,缓存器B可以被分配给一个新信道,如信道C或D。

如上所示,数据停留在缓存器里的时间在许多情况下能够非常短。缓冲器的功能主要是收集一特定信道的数据,以使第二组的包能够被尽可能有效地被利用。

依据本发明的解压缩过程包括接收(发送)数组包,对这些发送数据包的数据段做解压缩处理,以及组合在数据段中包含解压缩数据的(目的)数据包。由于不需从数据段中提取重组信息,可直接对数据包进行解压缩和组成目的数据分组。很有利地,解压缩能够以一种完全与图2中描述的压缩过程和类似的方式进行。

在图3中相对于OSI模型(参考第12章条目3)大略给出本发明的方法。当依据OSI模型在一个通信网络的两层之间通信时,通常所说的原语,也被称为接口数据单元(IDUs),在层与层之间被传送。层n的原语在低一些的n-1层中被处理。层n的原语将被层n-1转化为一个或多个协议数据单元(PDUs),它们组成在层n-1的发送端和层n-1的接收端之间的“虚”通信。例如,对于x.25的第3层,这些是通常所说的分组层协议的包。

在多数情况下,数据包A1、A2、…Ax将经由中间网络到达n-1层的接收端。但是,如果在n-1层做了数据处理,如数据压缩或解压缩,那么传递原语所必须的数据单元结构(即数据包或PDUs)不应受此处理的影响。应该注意的是在一条原语中的数据长度事实上可大于数据单元的最大长度,数据单元的长度通常由相关的网络指定。

在图3中给出原语A在发送端从层n被传递到层n-1,用S表示。原语A代表来自发送端高层的一组数据包或数据。在层n-1,原语A成为第一组数据包A1、A2、…Ax,这一组对应于图1和2中的组10。该组经过处理P,比如数据压缩处理或,一般来说,编码处理。如图3所示,这个处理在层n-1进行。做为处理P的结果,产生了第二组数据包B1、B2、…By,该第二组对应于图1和2中的组20。在数据压缩的情况下,第二组的数据包数目会小于第一组y<x。第二组20经由一个网络(为了清楚而未知)被传送。如图所示,经由一网络的组20的传送在层n-1进行,但可能涉及其它(低一些的)层,如层n-2。

在接收端,以R表示,原来的步骤基本上反过来。首先,数据包组B1、B2、…By经过处理P′,处理P′在多数情况下是发送端处理P的反过程,例如,在处理P进行数据压缩的地方它做解压缩。做为结果,产生了第三个组30,此第三组30在多数情况下和组10等同,它包含数据包A1、A2、…Ax。这些层n-1的数据包随后被做为原语传递给接收端R的下一较高层(n),这里原语仍以A代表。若有必要原语A可以被传递到更高层。

如图3的例子所示,第一种格式(A1、A2、…Ax)的数据包被处理(P)后,以第二种格式(B1、B2、…By)传送,并再在层n-1被处理(P′)。在这个例子中,原先的和结果产生的数据包相同,相应的原语也一样。因此依据本发明的方法提供了在一低层(n-1)对某层(n)的原语进行长度转换。如参照图2所给出的解释,在本方法中通过将第二组的数据包(B1、B2、…By)仅指定给一个信道或子信道,保留了原语的功能关系。上述的功能关系可能包括,例如原语的(子)信道身份和/用户身份。如上所述,一个子信道是一个信道的组成部分,例如具有Q比特等于1的一特定信道的所有x.25数据包组成了该信道的一个子信道。

在层n-1,原语的结构由一个“消息尾”标志表示。在x.25的情况下,这样一个标志由一等于Q的m比特组成。例如在基于ISDN的网络中,这个原则也适用。在ISDN的情况下,路由层可由任一路由协议组成,例如x.25的第3层。在ATM的情况下,“消息尾”标记由通常所说的段类型字段或“ST字段”(参考第5条)组成。这给出了数据单元(所谓的SAR PDUS)和原语(所谓的SAR SDU’S)之间的关系。为了得到更高的压缩系数而忽略“消息尾”,这在ATM中在ST字段通过所谓的单段消息(SSM)被提供。

在图3的例子中提到的层n-1最好是OSI模型中的第三层(n等于4)。但是,层n-1也可能指OSI模型的其它层,如层2或4。本发明的方法可以应用于所有基于OSI模型的通信技术。为了保持对路由的不依赖性,处理过程最好在路由层中或路由层的上面进行。

本发明的方法在应用于OSI模型的第三层时具有附加的好处,即数据压缩可以在和计费相同的层进行。当在第二层压缩时,用户的有效负荷并没通过数据压缩而减少。本发明应用于第三层的进一步好处是可能的高压缩系数,由于在第二层各种信息源进行组合,而引起了数据的低冗余。由于上述组合,因为要压缩的数据具有不同的特性,将不能使用自适应压缩算法以获得最佳压缩。但是用本发明的确能获得高的压缩比,这是因为在OSI模型的高层进行压缩,不同来源的数据可以被分别进行处理。

图4中大略描绘出的设备100包括一个识别单元110,一个控制单元120,一个经由数据总线140连到存贮器150的处理单元130,和一个缓存器单元160。识别单元110包括一个输入缓存器,和连接到它的用于识别(信道)输入数据包的识别设备。识别被传递给控制单元120,后者在识别的基础上以信道相关的方式寻址处理单元130和存贮器150。因此存贮器150可能已经在内部存有用于不同信道的不同压缩处理。解压缩处理相似地也能存在存贮器150中,从而设备100也能用于解压缩,如果需要,设备100能够对一些信道进行压缩而对另一些信道进行解压缩。在这样的解压缩处理中,或者重建数据能够在信道被建立时,先于要被解压缩的数据包被发送出去。存贮器150也可能全部或部分地被构造成只读存贮器(ROM),从而特定数据(用于解压缩处理的重建数据和一个或多个解压缩处理过程自身)永远存在于设备100中。即使设备100被用作压缩设备,在只读存贮器中提供特定数据也可能是有好处的。

一特定信道所需要的处理在控制单元120的控制下,经由数据总线140,从存贮器150被装入处理单元130。处理单元130最好包括一个用于执行处理过程的微处理器。更有利地,处理单元130中安装有一个用于保存与当前处理相关数据的处理器存贮器。但是,处理器存贮器的任务也可以由存贮器150执行。为了提高设备100的处理速度,可以有多个并行处理单元130连到数据总线130上。换另一种方法,在处理单元130中可以提供多个(微)处理器,如果需要,每个处理器配备一个处理器存贮器。

缓存器单元160包括一个输出缓存器161,依据本发明,缓存器161由用于对应于各信道的多个缓存器段A、B、C等组成。如已在上面说明的,对特定信道分配存贮器不需要是固定的,可在必要时随情况而变化。因此图4中的缓存器段A在信道A结束后,可分配给,如一个(新)信道H。

输出缓存器161的每个缓存器段A、B等最好包含一个(移位)寄存器,但也可以是随机存取存贮器(RAM)。一个补充缓存器段BP(“比特指针”)被提供用于保存信息,该信息指明在每个其它缓存器部分中保存有多少数据,特别是多少比特和/或字节,或指明在要传送的最后数据包被填充后各自的缓存器部分剩有多少数据。如果需要,缓存器段BP可由缓存器段A、B等各自的保留部分组成。

缓存器单元160另外包括一个由例如复用器,构成的选择单元162,用于选择一个进入缓存器单元160的数据必须被保存在其中的缓存器段。在给出的例子中,选择基于控制单元120已在标识信息的基础上产生的控制信号。缓存器单元160也可以包括产生合适的具有如,128比特长度的数据包的设备(设画出),数据在该数据包中从缓存器段被发送出去。

在依据本发明的设备100的帮助下,对一组数据包快速有效的压缩因此成为可能。在本情况下,有效程度可能又依赖于表示一个数据包集合(消息,信道)结束的停止码或其它标记的出现。设备100最好被设计成停止等及相似成份所占比特可以调解。这使得让设备的操作模式与连到设备上的装置相适应成为可能。

在第一种模式中,设备根本不考虑数据包集合的结束,因此即使一条消息结束了数据还被按各信道保存。这带来对第二组数据包做填充的最高程度,因为现在没必要在每组的结尾发送一个(在多数情况下)部分空或装有结尾数据的数据包。为了保证所考虑的存于缓存器中的最后数据被发送,可以提供一个定时机制,该机制包括,例如,控制单元120填满一特定信道的缓存器,并且如果在一特定时间内设备100没收到该信道的数据包,则引起从该信道发送一数据包。上述填满缓存器也可以在固定时间进行,或者如果目的地向设备100发送一条这样做的请求。这样的请求可以用发送到设备100的一数据包中数据内的特殊码来表示。

在第二种模式中,类似地不考虑一数据包集合的结束,可是一旦第一组的数据包被处理完毕就发送一个第二组的包。虽然这保证了数据可以尽可能快地被发送,但由于一般来说将只形成部分填充的数据包,数据压缩的有效性将非常小。

在第三种模式中,确实虑及表示一条消息或信道到达结尾的停止字或其它标识符。如果识别出一条消息或信道的最后数据包,相关的缓存器被填满。因此在任何时候都能取得快速的数据发送,但大大限制了只部分填充的数据包的形成。

应指出的是在一些用于传送数据包的系统中,区别一条消息的结尾和一个信道的结尾是可能的,例如通过在一信道的结尾发送一特殊码或特殊的数据包。在该情况下,对于在消息结束时填满缓存器是有利的,但对于在信道结束时填满缓存器则不然。

在这一点中,填满缓存器涉及到发送保留在缓存器中的信息。然而,当一信道结束发生时,缓存器可能被“填满”,即复位,而没有发送保留信息。在两种情况中,缓存器将最终为零。“信道结束”可能在一个逻辑信道被中断(例如在x.25中的“断开连接”)和当网络中一个表明被发送的数据是否到达其终点的一错误指示出现(例如在x.25中“复合包”)时发生。

在图5中大略给出的设备200和图4中的设备100相似,包括一个识别单元210,一个控制单元220,一个经由一数据总线240连到一存贮器250的处理单元230,和一个缓存器单元260。识别单元210包括一个输入缓存器,和连接到它的用于识别(信道和/或子信道的)输入数据包的识别设备。

在设备200中,缓存器单元260包括一个输出缓存器261,依据本发明,缓存器261由用于对应于各信道的多个缓存器段A、B、C等组成。与输出缓存器161相对比,图5的输出缓存器261由被实现成双份的缓存器段组成,那每个缓存器段包括两个进一步的段或间隔,每个间隔分配给一个特定子信道。因此对信道A,提供了间隔A和A’。相似地,间隔B和B’被提供给信道B,等等。在给出的例子中,可为每个信道缓存两个子信道的数据。可以理解的是缓存器段可以包括多个间隔,例如,3个、4个或5个,用于为每个信道支持多少子信道。补充缓存器段BP(“比特指针”)不必要实现为多个,只要它具有足够的大小以登记所有缓存器段的状态。缓存器段BP也可以由缓存器段A、A’、B、B’等的保留部分组成。

除了在缓存器261内部提供具有多个间隔的缓存器段之外,缓存器261做为一个整体也可以被实现成,如双份或三份,于是若必要,缓存器单元260包括缓存器261、261’等等,换一种方法,整个缓存器单元260可以多个的形式被提供。

如已在上面说明的,分配缓存器或缓存器段给特定信道或子信道不必要是固定的,可以在需要时按情况变化。因此图5中的缓存器段A,在子信道A和A’结束后,可以被分配给,例如,一个(新)信道H。

缓存器单元260’包括一个选择单元262,后者除执行缓存器单元160的选择单元161’的功能外,还基于子信道进行选择,即选择单元262基于它们的信道和子信道的识别指定数据给缓存器段。除了缓存单元260外,设备200在功能和结构上与图4的设备100等同。但是,处理单元230和控制单元250最好被设置成根据它们各自的子信道识别信息处理数据。同样识别单元210被设置成识别子信道。

图4中的设备100和图5中的设备200可由商业上已使用的组件制成(参考第6条)。然而,此设备也可以很有利地被做成专用集成电路(ASIC)。为了在一个设备中为双向业务同时提供压缩和解压缩,两个设备100可以做在同一个机壳里,或者完全集成在一起。

图6的系统包括经由网络1互相链接的压缩和解压缩设备2。在本设置中,设备2可以分别包含,例如,两个图4或图5中的设备100或200。网络1可以是一个已知的通信网络,比如依据x.25协议操作的网络。设备2可以和多个单元3连接,每个单元3可包含复用器。如果需要,这些单元3可以不发送数据包,而发送数据流,数据流只装入设备2的数据包。设备3可以连到多个终端用户4。在终端用户4之间可能建立多个(逻辑)信道。借助于所应用的本发明,这些信道的数据在任何时刻以压缩形式经由网络被有效地发送出去。

那些熟悉现有技术的人员将可以理解本发明并不限于所示出的实施例,在不偏离本发明的主旨及范围的情况下,许多修改和补充是可能的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号