专利名称:从第一数据网向第二数据网传输数据的方法和装置的制作方法
技术领域:
本发明提供一种从第一数据网向第二数据网传输数据的方法,其中-第一数据网的数据被分成分组,-除有用数据外每个数据分组都包括一个关于在第二数据网中规定的时间顺序、特别是关于计时标记和/或顺序编号的信息,并且-按照这个时间顺序将数据分组暂存在存储设备中。
此外,本发明还提供一种实施这种方法的装置。
现有技术按照现有技术,通常在数据网中以分组方式传输数据。在此,根据数据传输的现有标准,迫使给出的是既非连续地传输数据分组,也非按准确的时间顺序传输数据分组。
为能在接收机上重新建立数据分组的准确的时间顺序,除有用信息以外数据分组还包含譬如一个计时标记,该计时标记通常给出数据形成的时刻。附加还能以数据分组方式传输顺序编号,该顺序编号表示分类的第二个标准。
准确的时间顺序在语音、视频和音频数据中特别重要,这就是只要借助数据分组实现传输,为什么在此在接收机上相应的排序是需要的。理想的方式是在接收机上作为结果提供一个连续的数据流。这样,在无基本干扰的情况下可重放语音、音频和视频数据。
代替许多现有的标准,传输是按照“实时传输协议”、缩写为RTP进行的,该实时传输协议由“因特网工程部”、缩写为IETF解释说明。标准的说明包括在“IETF RFC 1889RTP实时应用传输协议”中。
除一个计时标记和一个顺序编号外,RTP分组的组成部分还有一种关于有用数据类型的信息、已知也可沿用“有效载荷类型”概念。有用数据的例子都是按照标准给出的一些数据,所述的标准是“ITU G.711音频的脉码调制(PCM)”、“ITU G.723.1在以5.3和6.3kbt/s传输的多媒体通信双速率语音编码器”和“ITU G.723.1附录A静噪压缩方案”。
于是,在2种不同的数据网之间进行数据传输时,非连续的和无序的数据分组的到达会导致困难,因为必须由这些单个分组产生一个连续的和有序的数据流。
因此,本发明的任务是提供一种方法和装置,该方法和装置以特别有效的方式能从第一数据网向第二数据网传输数据。
本发明的说明本发明的任务可由文章开始所述类型的方法来解决,其中在预定的与通过存储数据分组所引起的存储器分段无关的存储设备的位置上启动读出暂存数据。
因此,存储设备关于存储过程可理解成分段存储器,关于读出过程基本上可理解为非分段的存储器。由于数据在暂存器中具有不同的时间顺序,并且借助本发明所述的方法可在存储设备任意位置上启动暂存数据的读出,所以在任何时刻用任何时间顺序都能输出数据。在此最小的时间单位是一个取样时间。因此,按照在分组中传输的数据在时间上的分辨率可能是一个或多或少的时间上的准连续存取过程。
在此,按照所用的标准,所述的数据在暂存器中譬如相当于直接从第一网中获得的数据,或所述的数据譬如可借助从第一网中获得的数据合成地产生。
本发明不仅涉及狭义的数据网,而是也涉及可专用于单一数据线路,也即数据网的最简单形式的数据线路。
一般来说,除通过占用彼此相连的存储区进行分类以外,还可设想借助指针技术进行分类,这些都适用于本发明所述的方法。采用后一种改进方案时,考虑到很快的存储过程,将放弃占用彼此相连的存储区的要求。代之于此,采用这种技术通过指针建立这种分类,该指针指示各个存储区。
此外,在一般情况下只有当根据存储设备的容量,数据分组暂存有可能时,以致于尚未传输的数据分组不会由于暂存另一个分组而受到破坏时,才能进行数据分组的暂存。
如果在存储设备中通过将一个数据分组传输到第二数据网空出的存储器重新给一个新到达的数据分组提供使用,则是有利的。由此,可最佳地充分利用现有的资源。在此,如果包含在这个分组内的数据对读出来说不再需要了,则可从存储设备物理上清除该数据分组在或者也可能只是作为清除进行标记。
以下是有利的-当数据在通过将预定的延时补充计入数据的时间顺序内所确定的时刻,被传输到第二数据网时,-当符合这个条件情况下在存储设备中选择读出暂存数据的起始点时。
因此,在标准的操作条件下,在通过将预定的延时补充计入数据的时间顺序内所确定的时刻,从存储设备中读出数据,并且将这些数据传输到第二数据网内。通过参考预定的延迟时间,得到一种简单的算法用于确定传输时刻,或者可最佳地预测传输方法的特性。
当根据工程师设计的参与该传输方法的组成部分,在一定的时刻可能补偿由于非连续地和无序地传输所出现的时间差,以及需重新建立数据分组的准确序列,以致于形成一个有序的、基本是连续的数据流时,就可提供标准的操作条件。在此,传输数据分组所用的时刻会产生操作受限制的和系统本身的容差。
还有一种方法也是有利的,其中当计算出的传输数据的时刻就当前的系统时间而言还未到时,并且在暂存器中没有这种时间顺序的数据时候,可用合成的方式产生数据。
这样,在当前的系统时间和时刻,从这个时刻起在暂存器中重新有用于传输到第二数据网的数据,之间的时间间隔优选用人工产生的数据进行过渡。但是,合成产生的数据本身确不是本发明所述的方法的组成部分。
此外,特别有利的是-当数据分组接收太迟,以致不能暂存时,延迟时间缩短,并且-当数据分组接收太早,以致不能暂存时,延迟时间延长。
本发明所述的这个方案特别也使处理系统状态成为可能,其中就产生一个有序的、基本是连续的数据流意义来说,具有标准的操作条件只是有限的,因为根据工程师设计的存储设备不能存储一个数据分组。在此,延迟时间自动地与实际存在的状况匹配,以致于便于从收到的数据分组产生一个连续的数据流。
此外,本发明的一个有利的方案提供一种改进方案,其中实现按预定的时间间隔读出暂存的数据与暂存的存储时刻无关,特别是在固定的时间间隔更是如此。由此,提供了一个较简单的机制以确定读出数据的时刻。
此外,以下还提供一个本发明的有利的改进方案,-当一个分组除计时标记外还包括一个顺序编号时,-当以多个部分构建存储设备时,-当按照数据分组的顺序编号以分类方式将数据分组的头标信息存储在头标信息存储器中时,并且-当按照数据分组的计时标记以分类方式将数据分组的有用数据存储在有用信息存储器中时。
这样,部分地通过数据分组的结构给出的有用数据和头标数据的逻辑划分,以简单的方式变换到暂存数据分组所需的存储设备的结构上。在存储时,同时要考虑数据分组的准确顺序。
以下是有利的,-当计算一个分组的计时标记和操作该分组的当前的系统时间之间的时间差的度量值时,-当根据这个度量值超过预定的阈值,触发一个同步过程时,并且-当在同步过程期间启动存储设备时。
还有度量值本身在这个同步过程期间也可重新计算,特别是恢复到0更是如此。本发明所述的这个方案特别使得能处理系统状态,其中按照产生一个有序的、基本是连续的数据流意义来说,不存在标准的操作条件。当根据工程师设计的参与该传输方法的组成部分,在一定的时刻不再可能补偿根据非连续的和无序的传输所出现的时间差,以及不再可能重新建立数据分组的正确序列时,这些状态譬如可能出现。
此外,以下给出了本发明所述方法的一个优选的方案,-当规定平均接收延迟和额定的接收延迟之间的差作为触发同步过程的度量值时,-当测定一个新到达的分组的接收时刻的系统时间和这个新的分组的计时标记之间的当前的接收延迟时,并且
-当通过已经到达的预定数量的分组的所有如此计算的当前的接收延迟来计算平均接收延迟时。
以这种方式,启动同步过程和由此必要时还可启动匹配,该匹配是指按传输方法所进行的过程与通过非连续的和无序的到达的数据分组所给出的条件进行的匹配。虽然,这种机制是从简单的数学运算建立起来的,但是尽管如此,仍可根据求平均值提供各个时间差的补偿,该时间差譬如由于其与平均值偏高的差值本身就可单独触发一同步过程。
此外,当额定的接收延迟设置到等同于平均接收延迟时,当新的分组不能存储在存储设备中时,是有利的。由此,还要考虑一种情况,即根据其工程师设计,存储设备暂存数据分组直到能向第二数据网传输时。于是,可设想将存储设备制成为环形存储器,由此,其长度提出一个产生上述情况的基本因数。
还有一种方法是特别有利的,-其中在同步过程期间额定的接收延迟设置到等同于当前的系统时间和最后接收到的分组的计时标记之间的时间差,并且-其中在同步过程期间平均的接收延迟设置到等同于额定的接收延迟。
这样,通过使用简单的数学运算就可实现初始化对触发同步过程起决定作用的参量。
本发明的任务还可通过一个实施本发明方法准备的装置解决,并且-其中该装置包括一个输入模块以接收来自第一数据网的数据,-其中有一个输出模块以发射数据到第二数据网,-其中该装置包括一个同步模块,并且-其中有一个存储设备以按照其时间顺序存储数据分组,并且-其中该装置包括一种在如下位置读出暂存数据的装置,所述的位置是指在存储设备预先规定的与通过存储数据分组所引起的存储分段无关的位置。
这样,由实施该方法所得出的在逻辑上划分所述的任务、也即接收或暂存、传输或读出数据分组、以及同步都有利于反映在功能块上。因此,可能发生的误差查找实施起来就较简单。
在本发明所述的装置中,存储设备关于读出过程基本上理解为不分段的存储器。由此,在任意时刻输出具有任意时间顺序的数据是可能的,其中在此用一个取样的时间定义最小的时间单位。
此外,应指出在本发明所述的方法中提到的优点同样适用于本发明所述的装置。
当该装置包括在如下时刻输出数据的装置是有利的,所述的时刻是指将规定的延迟时间补充计算成数据时间顺序所定义的时刻。
此外,以下是有利的,-当以多个部分构建存储设备时,-当规定头标信息存储器按照数据分组的序列编号存储数据分组的头标信息时,并且-当规定有用信息存储器按照数据分组的计时标记存储数据分组的有用数据时。
这样,有用数据和头标数据的逻辑划分,部分地通过数据分组结构给出,以简单方式反映在暂存数据分组所需的存储设备的结构上。
以下特别有利的是,-当具有计算度量值的装置,所述的度量值是指一个分组的计时标记和操作该分组的当前的系统时间之间的时间差的数值时,-当包括超出该度量值预定的阈值,触发一个同步过程的装置时,并且-当具有在同步过程期间初始化存储设备的装置时。
所述的装置还包括能以较简单的方式触发一个同步过程的装置。
当输出模块包括合成产生数据的装置时,可得到另一个有利的改进方案。用本发明所述的方案可消除在暂存器中没有数据传输到第二数据网的时间间隔。
简述附图下面借助图中所示的一个实施例详细说明本发明,该实施例涉及将数据从第一数据网传输到第二数据网的运行过程。
图中
图1初始化数据的功能INIT();图2实施同步的功能SYNC();图3存储一个接收数据分组的功能SAVE();
图4读和发射已存储的数据分组的功能READ();图5功能MAKE-OUTBUF(),其在输出缓冲器OUTBUF中准备数据传输到第二数据网。
图6在时刻SYS-TIME()=78有用信息存储器PPIM[]的内容;图7如图6所示,只在时刻SYS-TIME()=84;图8如图6所示,只在时刻SYS-TIME()=90;图9如图6所示,只在时刻SYS-TIME()=93;图10如图6所示,只在时刻SYS-TIME()=107;在图中所用的变量和功能列于下表,其中有英文长名称的简称、德文的名称和必要时随后做简短的说明,分别用分号分开
表(续)
表(续)
表(续)
实施本发明的最佳途径图1示出了功能INIT()结构图表。在方括弧内每次在头标信息存储器PHIM中,将有用数据长度PLEN与头标信息存储器索引PHIM_IDX一起置为0,其中头标信息存储器索引PHIM-IDX具有从1到头标信息存储器长度PHIM_LEN的所有的值。
此外,将尚未读出的分组NUP的数量置为0,并且将存储指针SFP和读指针RFP用值FALSE初始化。
图2示出了功能SYNC()结构图表。在方括弧内每次在头标信息存储器PHIM中,将有用数据长度PLEN与头标信息存储器索引PHIM_IDX一起置为0,其中头标信息存储器索引PHIM_IDX具有从1到头标信息存储器长度PHIM_LEN的所有的值。
此外,尚未读出的分组NUP的数量置为0,并且将当前顺序编号SN_ACT用新的分组NP.SN顺序编号以及将当前计时标记TS_ACT用新的分组NP.TS的计时标记初始化。额定的接收延迟DR_NOM是由系统时间SYS_TIME()和新的分组NP.TS的计时标记之间的差算出的。接着,设置的平均接收延迟DR_AVG等于额定的接收延迟DR_NOM,以及将第一分组TFP的接收时间用系统时间SYS_TIME()、将存储指针SFP用值TRUE和将存储指针RFP用值FALSE初始化。
图3示出了功能SAVE()的结构图表。开始时将同步指针SD设置为FALSE。
此后,在功能的返回值系统时间SYS-TIME和新的分组NP.TS的计时标记之间的差登录在当前的接收延迟DR-ACT内。此外,形成在1和平均长度L-AVG的倒数值之间的差,并且该差与平均接收延迟DR-AVG相乘。接着,对这个结果加上除以平均长度L-AVG的当前的接收延迟DR-ACT,并将由此所得到的和变换成平均接收延迟DR-AVG。
然后,在查询中调查确定,第一,平均接收延迟DR-AVG和额定的接收延迟DR-NOM之间的差的绝对值ABS()是否大于或等于第一阈值THR1,第二,是否存储指针SFP包括值FALSE。如果第一或第二个条件得到满足,则可调用功能SYNC(),接着还可将同步指针SD设置到TRUE。
在另一次查询中调查确定,第一,是否将同步指针SD设置到TRUE,第二,尚未读出的分组NUP的数是否等于0,第三,新的分组NP.SN的顺序编号是否位于间隔SN_ACT..SN_ACT+PHIM_LEN_1中,也即是否大于或等于当前顺序编号SN_ACT,以及是否小于当前顺序编号SN_ACT及头标信息存储器长度PHIM_LEN的和,并且新的分组NP.TS的计时标记是否位于间隔TS_ACT..TS_ACT+(PPIM_LEN-NP.PLEN)/SCF中,也即是否大于或等于当前的计时标记TS_ACT,以及是否小于或等于当前的计时标记TS_ACT的和,及是否小于或等于用比例因子SCF除有用信息存储器长度PPIM_LEN与用比例因子SCF除新的分组NP.PLEN的有用数据的长度PPIM_LEN的差。如果满足3个条件中的一个,则是一个正的分支运行,如果满足不了3个条件中的一个,则是一个负的分支运行。
在正的分支中,形成在新的分组NP.SN的顺序编号和头标信息存储器长度PHIM_LEN之间的模数运算,并且这个结果变换成头标信息存储索引PHIM_IDX。接着查询,在具有头标信息存储索引PHIM_IDX的头标信息存储器PHIM中,有用数据长度PLEN是否等于0。
如果满足这些内部的条件,则形成在新的分组NP.TS的计时标记的积和具有有用信息存储长度PPIM_LEN的比例因子之间的模数运算,并把该结果变换成有用信息存储器索引PPIM_IDX。接着,在具有头标信息存储索引PHIM_IDX的头标信息存储器PHIM中,分别将计时标记TS、顺序编号SN和有用数据类型PT设置到新的分组NP的计时标记TS、顺序编号SN和有用数据类型PT的值上。有用信息存储索引PPIM_IDX的值转换到在具有头标信息存储索引PHIM_IDX的头标信息存储器PHIM中的有用数据指针PTR中。此后,使得将在具有有用信息存储器索引PPIM_IDX的有用信息存储器PPIM中的有用信息PL设置成等于新的分组NP.PL的有用信息。
最后,要使尚未读的分组NUP的数量增量。同时这是正分支的有条件的程序执行过程的最后指令和内部条件的最后指令。
在负分支中形成平均接收延迟DR_AVG和额定接收延迟DR_NOM之间的差,从该差中得出当前的输入/输出延迟DIO_ACT和将这种运算的结果变换成当前的输入/输出延迟DIO_ACT。最后,使额定接收延迟DR_NOM等于平均接收延迟DR_AVG。同时,这表示负分支有条件的程序执行过程的最后指令和功能SAVE()的最后指令。
图4示出了功能READ()的结构图表。在开始时查询,是否将读指针RFP设置到FALSE上。如果满足这个条件,则形成系统时间SYS_TIME()和第一分组TFP的接收时间的差,并将该差变换成当前的输入/输出延迟DIO_ACT。此后,将读指针RFP设置到TRUE上。由此,实现结束有条件的执行过程。
此外,形成平均输入延迟DR_AVG和额定输入延迟DR_NOM之间的差的绝对值ABS()。如果这个值大于或等于第二阈值THR2,则形成平均接收延迟DR_AVG和额定接收延迟DR_NOM之间的差,从这个差中得出当前的输入/输出延迟DIO_ACT,并将这个运算结果变换成当前的输入/输出延迟DIO_ACT。最后使额定接收延迟DR_NOM等于平均接收延迟DR_AVG。由此,实现结束有条件的执行过程。
在另一次查询中调查确定,当前的输入/输出延迟DIO_ACT是否不等于额定输入/输出延迟DIO_NOM。如果满足这些外部条件,则形成输入/输出延迟差DIO_DIFF,该差从DIO_STEP的最小值MIN()与当前的输入/输出延迟DIO_ACT与额输入/输出延迟DIO_NOM之间的差的绝对值ABS()得出。在另一次查询中调查确定,当前的输入/输出延迟DIO_ACT是否小于额定输入/输出延迟DIO_NOM。如果满足这些条件,则正分支运行,否则负分支运行。
在正分支中调用产生输出缓冲器MAKE_OUTBUF(),其中在所给出的例子中,以符号方式减少输入/输出延迟差DIO_DIFF地把输出缓冲器OUT_BUF和输出时间间隔T_OUT交付使用。此后,调用插入功能INSERT(),其中在所给出的例子中,以符号方式把输出缓冲器OUT_BUF和输入/输出延迟差DIO_DIFF交付使用。此后,当前的输入/输出延迟DIO_ACT增加了输入/输出延迟差DIO_DIFF的值。
在负分支中,调用产生输出缓冲器MAKE_OUTBUF(),其中在这里以增加输入/输出延迟差DIO_DIFF方式把输出缓冲器OUT_BUF和输出时间间隔T_OUT交付使用。此后,调用消除功能CUT()。在此,将输出缓冲器OUT_BUF用来作为符号方式的交出参量,并且把输入/输出延迟差DIO_DIFF交付使用。此后,当前的输入/输出延迟DIO_ACT降低了输入/输出延迟差DIO_DIFF的值。由此,执行内部条件结束。
如果满足不了外部条件,则调用产生输出缓冲器MAKE_OUTBUF(),其中以符号方式把输出缓冲器OUT_BUF和输出时间间隔T_OUT交付使用。同时,这表示有条件的分支的最后指令。
作为功能READ()的最后步骤,暂存在输出缓冲器OUT_BUF中的数据借助发射功能SEND()传输到第二数据网中,其中在所给出的例子中,以符号方式把输出缓冲器OUT_BUF交付给发送功能SEND()。
图5示出了功能MAKE_OUTBUF()的结构图表。在该功能中首先将交出的时间间隔的值变换成剩余时间T_REST。在这个例子中,作为参量交出的输出缓冲器OUTBUF用来将功能MAKE_OUT()的结果交付给可调用的功能,并且该输出缓冲器OUTBUF在这个位置上不被使用。
当剩余时间T_REST大于0时,只要重复就可执行下面所述的循环体。
在循环体开始时,检验暂存器SMPBUF的长度是否大于0。如果满足了条件,则正分支运行,否则负分支运行。
在正分支中,首先形成最小值MIN(),该最小值是从剩余时间T_REST和暂存器SMP_BUF.LEN的长度得出的,并且把结果存储在暂存器时间间隔T_SMPBUF内。此后,将来自暂存器SMPBUF的、与暂存器时间间隔T_SMPBUF相符的一定数目的数据分组,传输到输出缓冲器OUT_BUF中,其中以符号方式调用暂存器SMPBUF的读功能SMPBUF.READ()和调用输出缓冲器OUT_BUF的写功能OUTBUF.WRITE()。最后,剩余时间T_REST降低了暂存器时间间隔T_SMPBUF的值。
在负分支中,首先读出来自存储设备PPIM的一个数据分组的有效载荷PL,借助译码器功能DECODE()为传输到第二数据网进行准备,并且将结果存储在暂存器SMPBUF中,其中以符号方式调用暂存器SMPBUF的写功能SMPBUF.WRITE。接着,用数值0初始化暂存器时间T_SMPBUF。同时,这表示有条件的执行的最后指令。
在所给出的例子中,译码功能DECODE()用来将数据从在第一网络中所用的格式转换成在第二网络中所用的格式。这种功能的例子譬如在序言所提到的标准中得悉。有一种简单的情况,就是读出来自存储设备的暂存的取样,并且将该取样无变化地传输到暂存器SMPBUF中。但是,只接收第一数据网的信号的信息,并且必须从这些信息中首先产生用于第二数据网的信号,也是可想象的。譬如通过传输频率和幅度来实现这一点,以代替传输单个扫描值形式的正弦形信号。借助译码功能DECODE(),从这些信息中自己重新产生正弦信号。
在循环体的另一个实施步骤中,计时标记TS_ACT增加了暂存器时间T_SMPBUF。
此后,在查询中确定,在具有当前顺序编号SN_ACT的头标信息存储器PHIM中,有用数据的长度PLEN作为索引是否大于0,并且当前的计时标记TS_ACT是否大于以下的和,所述的和是指在头标信息存储器PHIM中用当前顺序编号SN_ACT作为索引的计时标记TS以及将有用数据L2T()换算成时间延迟的长度的和。在此,作为用于将有用数据L2T()换算成持续时间的自变量,以符号方式把在头标信息存储器PHIM中用当前顺序编号SN_ACT作为索引的有用数据长度PLEN交出。
如果满足条件,则将在头标信息存储器PHIM中用当前顺序编号SN_ACT作为索引的有用数据长度PLEN设置为0,当前顺序编号SN_ACT增加1,并且尚未读出的分组NUP的数减少1。同时,这表示有条件的执行程序的最后指令和功能MAKE_OUTBUF()的最后指令。
在图中所示的实施例的功能如下。
在方法开始时调用功能INIT(),借助此初始化基本变量。
在数据分组到达时,调用功能SAVE(),其中已经按新的分组NP存储已到达的数据分组的内容。这个步骤在图中未列出。
在功能SAVE()开始时,要重新计算当前接收延迟DR_ACT以及平均接收延迟DR_AVG。
如果该数据分组是第一个到达的分组或是平均接收延迟DR_AVG和额定接收延迟DR_NOM之间的差大于或等于第一阈值THR1,该阈值的确定不是实施例的一个组成部分,则可调用功能SYNC()。这主要任务是初始化确定的变量,但是与功能INIT()相反,这可多次调用。
只要在头标信息存储器PHIM[]和有用信息存储器PPIM[]中还可提供需新的分组NP占用的存储位置,则新分组NP就可存储在适当的位置。在此,借助新分组NP.TS和NP.SN的计时标记和顺序编号,测定在头标信息存储器PHIM[]和有用信息存储器PPIM[]内的位置。在给出的例子中,头标信息存储器PHIM[]和有用信息存储器PPIM[]作为有固定容量的环形存储器构成。在此,新的分组NP存储在输出的序列中,那就是头标信息在头标信息存储器PHIM[]中按照新分组NP.SN的顺序编号分类,并且有用信息在有用信息存储器PPIM[]中按照新分组NP.TS的计时标记分类。此外,尚未读出的分组NUP的数增加1。
如果新的分组NP不能在头标信息存储器PHIM[]和有用信息存储器PPIM[]中排序,则要重新计算当前的输入/输出延迟DIO-ACT和额定的接收延迟DR-NOM的值。
在固定的预定的时刻调用功能READ(),其中时刻的选择不是图中所示的实施例的组成部分。
在第一次调用功能READ()时,将初始化当前的输入/输出延迟DIO-ACT。在假定不超过第二阈值THR2时,和当前的输入/输出延迟DIO-ACT小于额定的输入/输出延迟DIO_NOM时,作为下一步,形成输入/输出延迟差DIO_DIFF的值。随后调用功能MAKE_OUTBUF(),该功能MAKE-OUTBUF()减少用于输出时间间隔T-OUT的有用数据,以便在输出缓冲器OUTBUF中提供输入/输出延迟差DIO-DIFF。随后,借助插入功能INSERT()按输入/输出延迟差DIO-DIFF所表示的时间间隔合成地产生其它数据,同样地将这些其它数据置入输出缓冲器OUTBUF中备用。相反,在当前的输入/输出延迟DIO-ACT大于额定的输入/输出延迟DIO_NOM情况下,借助清除功能CUT()重新从输出缓冲器OUTBUF中清除数据。利用插入功能INSERT()和清除功能CUT(),当前的输入/输出延迟DIO_ACT应当与额定的输入/输出延迟DIO-NOM匹配。如果当前的输入/输出延迟DIO_ACT等于额定的输入/输出延迟DIO-NOM,相反,就不需要其它的插入或清除过程。相应地在输出缓冲器OUTBUF进行准备之后,借助发射功能SEND()它被传输到第二数据网中。
不仅发射功能SEND(),而且选择额定输入/输出延迟DIO-NOM都不是本实施例的组成部分。
在调用输出缓冲器产生MAKE_OUTBUF()时,假定交出的时间间隔和由此所带来的剩余时间T-REST大于0和暂存器长度SMPBUF.LEN()等于0的情况下,借助译码功能DECODE()使缓存器SMPBUF中的数据作好准备,譬如提供一个所谓帧的数据。在此,功能SMPBUF.WRITE提高了暂存器长度SMPBUF.LEN()。
只要在具有当前顺序编号SN_ACT的索引的头标信息存储器PHIM中不再需要分组,那么就可在头标信息存储器PHIM中释放相应的存储区。此外,还可更新当前顺序编号SN-ACT和尚未读出的分组NUP的数量。
由于在第一循环过程中剩余时间T-REST不变,因此大于0,所以现在在第二循环过程中就可确定暂存器时间T-SMPBUF。作为下一步骤,借助功能SMPBUF.READ()根据暂存器SMPBUF的暂存器时间T-SMPBUF从暂存器SMPBUF中读出数据,并且借助功能OUTBUF.WRITE()将该数据传输到输出缓冲器OUTBUF中。在此,暂存器的长度SMPBUF.LEN以及输出缓冲器的长度OUTBUF.LEN由功能SMPBUF.READ()或由功能OUTBUF.WRITE()匹配。接着重新计算剩余时间T-REST。
在本例中假定,就在第二循环过程中根据交出的时间间隔将数据登录在输出缓冲器OUTBUF中。因此,输出缓冲器产生MAKE-OUTBUF()在这个位置上关闭。否则循环体进行的过程会如此长,直到全部所要求的数据都登录在输出缓冲器OUTBUF中为止。
图6示出了在时刻SYS-TIME()=78的有用信息存储器PPIM[]的内容。借助时间座标(Zeitstrahl),在其上标出在75-115范围内的系统时间SYS-TIME(),清楚说明需接收的分组的到达。在此,在所示的图中并未考虑时间单位。在本发明的接收设备中,具有计时标记TS=10的第一分组在时刻78到达,具有计时标记TS=30的第二分组在时刻84到达,具有计时标记TS=15的第三分组在时刻107到达。因此,分别包含了时延为5的数据的分组,按其时间顺序排列到该时间座标内。其中,有用信息存储器PPIM[]表示,在所示的例子中,哪个存储器构成作为具有有用信息存储器长度PPIM-LEN=6的环形存储器。由于在这里数据分组的长度值为5,所以得出的比例因子为0.2。在此,对平均长度L-AVG譬如可选择值为2。有用信息存储器PPIM[]划阴影线的区域指出为时间流逝的部分。此外对设备状态来说,表示出许多重要的参数。
图7-10在内容上相当于图6,但指出了在其它时刻的装置。
导致在图6-10所示的状态的传输过程的流程如下。
采用本发明所述的设备,在时刻SYS-TIME()=78具有计时标记TS=10的第一分组到达。为存储该分组,可调用功能SAVE()。由于存储指针SFP在这个时刻内容上包括值FALSE,所以在开始时就执行功能SYNC()。在所述的例子中,一般假定过程步骤的执行时间为0,在这种理想的展示中会无延迟地在前述过程步骤后跟着产生一个过程步骤。
在图6中,示出了在时刻T=78(SYNC)执行功能SYNC()以后所示的重要参数的值。当前的计时标记TS-ACT设置到10,额定接收延迟DR-NOM设置到68,同样平均接收延迟DR-AVG也设置到68,并且第一分组的接收时间设置到78。由于存储分组的所有条件都得到满足,所以第一分组以计时标记TS=10存储,其中在图中只表示列出了有用信息存储器PPIM[]。
在第一分组到达时,随着有用信息存储器索引PPIM_IDX=0的开始来初始化有用信息存储器PPIM[]。因此,第一分组的存储位置从PPIM_IDX=(NP.TS*SCF)mod PPIM_LEN对PPIM_IDX=(10*0.2)mod6=2中得出。
此外,在图6中,示出了在时刻T=78(SAVE)执行功能SAVE()以后所示的重要参数的值。当前的接收延迟DR_ACT和平均接收延迟DR_AVG设置到68。
在本发明所述的设备中,在时刻SYS_TIME()=84时,具有计时标记TS=30的第二分组到达。为存储该分组可重新调用功能SAVE()。但是,由于在这个时刻存储指针SFP已在内容上包括了值TRUE,所以,不再执行功能SYNC。由于存储分组的所有的条件都得到满足,所以具有计时标记TS=30的第二分组存储在对此预定的位置,其中由于有用数据存储器PPIM[]系指环行存储器,所以在图中因为完整性原因两次示出了分组。
在图7中,在时刻T=84(SAVE)附加地示出执行功能SAVE()后的重要参数的值。当前的接收延迟DR_ACT设置到54,平均接收延迟DR_AVG设置到61。
图8示出了在时刻SYS_TIME=90的装置。在给出的例子中假定,在这个时刻第一次调用功能READ(),然后根据输出时间间隔T_OUT=3以间隔3总是反复地调用功能READ()。假定额定输入/输出延迟DIO_NOM为9,输入/输出延迟级DIO_STEP则为5。
由于在时刻T=90读指针RFP包含值FALSE,所以当前的输入/输出延迟DIO_ACT设置到12。由此,对于输入/输出延迟差DIO_DIFF得出的值为3。因此,输出缓冲器产生的功能MAKE_OUTBUF()在时间间隔DIO_DIFF=3取消数据,然后在时间间隔T_OUT=3开始读入数据,并在输出缓冲器OUTBUF作好准备。于是,在时刻T=90,随着涉及数据的时刻T=13开始,启动数据输出。
在图8中,所消除的数据用阴影表示,读入的数据不用阴影表示。所画虚线表示箭头指示要立即输出的数据,对于当前的系统时间完全与该线相同,表示箭头指示连续向左移动。用虚线画的涉及时间刻度DATA的读指针指示值为13,而系统时间SYS_TIME指示值为90。
在调用输出缓冲器产生MAKE_OUTBUF()以后,计时标记TS_ACT设置到16,当前的输入/输出延迟DIO_ACT设置到9。由于满足了对此的条件,所以具有计时标记TS=10的第一分组在功能READ()结束时从有用信息存储器PPIM[]中清除。
图9示出了在时刻SYS_TIME()=93所示的本发明所述的装置。由于具有计时标记TS=10的第一分组在这期间消除了,所以,这在此表示涂掉。在这个时刻,当前的输入/输出延迟DIO_ACT得出结果为9。由此,输入/输出延迟差DIO_DIFF是0并且借助输出缓冲器产生MAKE_OUTBUF()在时间间隔T_OUT=3时读入和输出其它数据。在时刻SYS_TIME=93读指针指示值为T=19。
图10示出了在时刻SYS_TIME()=107所示的装置。此前在时刻T=105时最后一次调用功能READ()。在T=105(READ)时,给出了由此所得出的值。在此,当前的输入/输出延迟设置到9,输入/输出延迟差设置到0,当前的计时标记TS_ACT设置到31。
具有计时标记TS=15的在时刻T=107所接收到的第三分组根据包含在功能SAVE()中的条件不再与有用信息存储器匹配,并且因此可作到消除。由此,在执行功能SAVE()后,在时刻T=107(SAVE)时,对于当前的输入/输出延迟DIO_ACT得到的值为0.5,对于额定输入/输出延迟DR_NOM得出的值为76.5。通过较后到达的第三分组,使额定输入/输出延迟DR_NOM的匹配从68到76.5,并且要考虑这种状况,即根据延续的时间不能再存储和输出第三分组。
在图中所示的实施例只给出了按照本发明所述的方法传输数据的多种可能性之一。但是在此显然却是可以在存储器的任何位置定位读指针,在此不受由各个分组所形成的界限的限制。
权利要求
1.从第一数据网向第二数据网传输数据的方法,其中-第一数据网的数据被分成分组,-除有用数据(PL)外每个数据分组都包括一个关于在第二数据网中规定的时间顺序、特别是计时标记(TS)和/或顺序编号(SN),-按照这个时间顺序将数据分组暂存在存储设备中,其特征在于,-在预先规定的、与通过存储数据分组所引起的存储分段无关的存储设备的位置上启动读出暂存数据。
2.按照权利要求1所述的方法,其特征在于,-数据在通过将可预定的延时补充计入数据的时间顺序内所确定的时刻,被传输到第二数据网,并且-在符合这个条件情况下在存储设备中选择读出暂存数据的起始点。
3.按照权利要求2所述的方法,其特征在于,当计算出的传输数据的时刻就当前的系统时间(SYS-TIME)而言还未到来时,并且在暂存器中没有这种时间顺序的数据时候,可用合成的方式产生数据。
4.按照权利要求2-3之一所述的方法,其特征在于,-当数据分组接收太迟,以致不能暂存时,延迟时间被缩短,-当数据分组接收太早,以致不能暂存时,延迟时间被延长。
5.按照权利要求1-4之一所述的方法,其特征在于,-一个分组包括一个计时标记(TS)和一个顺序编号(SN),-以多个部分构建存储设备,-按照数据分组的顺序编号(SN)以分类方式将数据分组的头标信息存储在头标存储器(PHIM)中,并且-按照数据分组的计时标记(TS)以分类方式将数据分组的有用数据(PL)存储在有用信息存储器(PPIM)中。
6.按照权利要求1-5之一所述的方法,其特征在于,-计算在一个分组的计时标记(TS)和操作该分组的当前的系统时间(SYS-TIME)之间的时间差的度量值,-当根据这个度量值超过预定的阈值(THR1)时,触发同步过程(SYNC),并且-在同步过程(SYNC)期间启动存储设备。
7.按照权利要求6所述的方法,其特征在于,-规定平均接收延迟(DR-AVG)和一个额定的接收延迟(DR-NOM)之间的差作为触发同步过程(SYNC)的度量值,-求得一个到达的新分组(NP)的接收时刻的系统时间(SYS-TIME)和这个新的分组(NP.TS)的计时标记之间的当前的接收延迟(DR-ACT),并且-通过对预定数量的已到达的分组的所有如此计算的当前的接收延迟(DR-ACT)来计算平均接收延迟(DR-AVG)。
8.按照权利要求1-7之一提供实施方法的装置,其特征在于,-该装置包括一个输入模块(SAVE)以接收来自第一数据网的数据,-有一个输出模块(READ)以发射数据到第二数据网,-该装置包括一个同步模块(SYNC),-有一个存储设备以按照其时间顺序存储数据分组,并且-该装置包括在如下位置读出暂存数据的装置,所述的位置是指在预先规定的与通过存储数据分组所引起的存储分段无关的位置。
9.按照权利要求8所述的装置,其特征在于,该装置包括在一个时刻输出数据的装置,该时刻通过将规定的延迟时间补充计算到数据的时间顺序来确定。
10.按照权利要求8-9之一所述的装置,其特征在于,-以多个部分构建存储设备,-规定头标信息存储器(PHIM)按照数据分组的序列编号(SN)存储数据分组的头标信息,并且-规定有用信息存储器(PPIM)按照数据分组的计时标记(TS)存储数据分组的有用数据。
全文摘要
本发明提供从第一数据网向第二数据网传输数据分组的方法和装置,该数据分组除有用信息(PL)外,还包括关于时间顺序的信息。在此,在预先规定的与通过存储数据分组所引起的存储分段无关的存储设备的位置上启动读出暂存数据。本发明适用于RTP数据分组。
文档编号H04L29/06GK1533657SQ02814653
公开日2004年9月29日 申请日期2002年7月10日 优先权日2001年7月20日
发明者G·法利, G 法利, R·朱尔科维克斯, 莆 怂, R·莫雷尔, 锥 申请人:西门子公司