为硬件rtcp统计收集应用提供存储和带宽节省的方法和数据结构的制作方法

文档序号:7588632阅读:209来源:国知局
专利名称:为硬件rtcp统计收集应用提供存储和带宽节省的方法和数据结构的制作方法
技术领域
本发明涉及通信监控,特别是涉及提供硬件统计收集以支持在分组交换数据传输网传送电话质量话音数据的方法和设备。
背景技术
在电信领域中,电话质量业务如普通电话业务(POTS)通常是经由电路交换信号传输基础结构提供的。当前存在一种在分组交换数据传输基础设施上供应电话质量流动数据业务的需要。存在面向收敛技术的实际市场压力。收敛技术涉及融合相同传输基础设施上的话音、数据和视频供应,这是通过综合电信和计算机技术实现的。然而,存在一种提供同时支持不断增加的电信会话数量高密度实施的需求。
电路交换通信和分组交换通信都基于使不同操作参数最佳化的不同操作原理。业务质量被定义为操作参数值的组合。电路交换通信试图提供零延迟和零抖动的信号传输,而分组交换通信试图实现带宽效率。从传统电路供应到分组交换供应的变迁是当前研发的重要课题。尽管分组交换传输遵循与电路交换技术不同的工作原理,但是存在一种使用分组交换技术实现传统上利用电路交换技术提供的业务质量的需求。
分组交换电话业务供应方案的典型实施利用IP电话(VoIP)技术。VoIP技术涉及与快捷服务水平保证相符的VoIP分组传输。与电路交换技术对比,其中电话会话与专用的端对端连接相关联,由VoIP分组传输的话音抽样组在分组交换网中彼此独立地进行路由选择。聚集的话音抽样组形成数据流,然后在目的地终端站上,使用参考与目的地终端站相关联的时钟而算出的播放时间来播放该数据流。
与按照恒定速率经由话音抽样的专用电路安全传输的传统电话供应对比,VoIP电话业务供应受VoIP分组的快捷脉冲串传输的制约。脉冲串传输得自于每个VoIP分组在形成VoIP分组净荷的话音抽样组中传送特定数量的话音数据抽样。先前生成的话音数据抽样累积在VoIP分组净荷中,在传送之前等候随后生成的话音数据抽样。
涉及分组交换通信中脉冲串传输的其它特征与分组交换网的网络节点上的分组传输有关。分组处理引入了分组传输的处理延迟。互联网协议(IP)分组传输利用了存储和传送技术,在待处理状态下存储分组。待处理分组的存储受排队技术、排对延迟、队列业务学科等的制约,所有这些引入了可变延迟。这些效应的组合被显示为目的地终端站上的可变分组到达间的时间(在本技术领域中称之为抖动)。
上述因素与分组交换基础设施上电话业务供应已经在着手解决,并且是下述的两件专利申请加以改善的课题。
2002年3月20日提交的发明名称为“检测两个时钟之间漂移的方法”的待审普通指定美国专利申请10/103,299解决了涉及源和本地时钟动态同步的问题,该申请在此引用,以供参考。现在说明检测两个时钟之间漂移的方法和设备。该设备包括时钟漂移估算器的硬件实施。估算器监视已收到的关联数据流的分组,并从每个分组中提取由源时钟生成的时标。已提取时标与本地时间之间的差值d与d_ref值进行比较,以确定分组是早接收的还是晚接收的。按照一个规定的时间表,将分组的晚接收或者早接收的等级与一个容忍等级进行比较,以确定源时钟的调步与本地时钟的调步之间是否存在相对漂移。两个时钟之间漂移的检测提供了对分组交换环境下供应数据流动业务的业务水平保证的支持。
2002年5月7日提交的发明名称为“按硬件调度的有效方法多路复用的时间索引”的待审普通指定美国专利申请10/139,644解决了涉及硬件处理调度的问题,该申请在此引用,以供参考。该设备包括作业目录表。每个作业目录保存需要在相应时间间隔期间操作的处理说明。每个作业目录在相应间隔期间由一个调度表来分析,然后操作该目录中指定的处理。该处理操作方法还包括下一个时间间隔的确定,其中该处理需要在对应于已确定的下一个操作时间的作业目录中操作并插入处理说明。目前还存在许多实施,其中作业目录指定了需要在相应的事件间隔期间操作的工作单位。调度表的整个处理能力被用来调度操作的处理。其优点源自于调度表处理能力的有效利用,因为为了支持高密度应用而增加了处理量。
除上述改进之外,还必须解决快捷IP分组传输不能保证分组安全到达目的地终端的问题,以及解决发送站可以选择禁止VoIP分组传输,另行传送具有低信号能量的话音数据抽样的问题。这种寂静抑制技术在减少传输带宽利用方面是有利的。尽管如此,在接收终端站,用于播放的话音抽样数据的不可用性(不管不可用性的原因)导致无声播放。当话音播放缺少建立奇妙感觉的声音时,就会察觉到业务质量明显降低。必须利用舒适噪声插入技术来增强所感觉的业务质量。
考虑到人类讲话具有约0.4的活动因子的实事,因此在数字化人类讲话中生成的话音抽样的约60%是无声的。在生成舒适噪声模型-其它文件描述的主题方面,目前进行了大量的实质性开发。大量的这些近期开发不能提供在播放期间插入舒适噪声模型的合适方法。目的地终端站上的舒适噪声插入必须考虑以下因素缺乏接收分组时的静音抑制事件,缺乏接收分组所表明的已丢弃分组事件,延迟分组到达等。如果考虑收敛应用,则需要开发能够有效地把舒适噪声并行和独立地插入到多个话音流的设备和方法。
2002年7月15日提交的发明名称为“支持舒适噪声插入的IP电话播放的硬件实施”的待审普通指定美国专利申请10/195,657提供了播放调度方案,用于在分组交换基础设施上快捷传输的话音数据抽样分组净荷。该硬件实施提供了对并行和独立舒适噪声插入的支持,以及对并行供应的电话会话的动态时钟调整的支持,而且不需要资源发信号。该设备和方法支持对大量并行供应的电话会话按比例增加的高密度方案。
在一个进一步提供高业务质量的尝试中,利用反馈机制访问VoIP分组的快捷传输的特征,以支持自适应VoIP方案。
实时传输协议(RTP)是一种会话层协议,用于为交换实时流动数据(比如但不限于音频流动和视频流动)的应用提供端对端网络传输功能,其中所述数据在经由分组交换通信网络供应的多播或单播数据传输业务上流动。RFC1889中描述了RTP协议,该文件在此引用以供参考。
在多参与者中,多媒体应用比如电视会议,音频或视频净荷单位用RTP报头110作为前缀,如

图1所示,音频或视频净荷单位包括数据流源标识符112,指示数据格式(例如,使用的信号压缩的类型)的净荷类型分类符114,用于薄记和净荷单位记录的序号116,用于流的再定时和播放的时标118。
一个关联的实时控制协议(RTCP)与RTP结合使用,以实时监视传递的业务质量,并传送关于正在进行电视会议会话的参与者的信息。RFC1889还描述了RTCP协议,在此引用该文件以供参考。对于每个RTP会话,所有参与者-发送方和接收方站-都必须周期地广播有关自己状态和双方状态的报告信息。
广播报告信息包括简单信号,担任一个加入或离开会议语境的指示;参与者描述,包括但不限于姓名,邮件地址,电话号码等;或者一个统计报告。
图2和图3分别示出了典型的发送方200和接收方300统计报告。该统计报告例如指定以下各项的数目发送的分组222,丢失的分组224/324,到达间抖动226/326,等。
具体而言,统计报告200/300使装置在分组经过的路径中的网络节点上装配净荷,触发对通信网络状况的实时响应。响应包括例如改变信号压缩率,调整视频帧速率,调整视频图像大小,和/或抑制低能量音频净荷(静音抑制)。
现代收敛装置,比如但不限于媒体网关,支持日益增加的大量并行视频/音频内容RTP封装的流。在一个特定装置上,聚集分组处理速率与处理的并行流数量成正比。RTCP统计收集将需要主要地运行在硬件上,以确保处理已接收统计信息方面的确定性性能。
在提供对分组交换流动业务供应方面,优先选择硬件实施。硬件实施受益于所设计的处理VoIP分组的响应时间。
然而,在传输统计信息中,不经常发送RTCP分组。通常,在每秒一次与每分钟一次的时间范围内产生统计报告300。因此,在软件中实现统计报告300的生成以及RTCP分组的配制。
硬件统计收集给高密度应用带来困难的问题,包括跟踪统计信息所需的存储资源量;更新每个发送或接收分组的统计存储所需的带宽;以及收集和跟踪统计信息的硬件与处理和提供实时响应的软件之间的通信流。
因此,存在一种解决上述问题的需求。
发明概述根据本发明的一个方面,提供了一种处理实时控制协议(RTCP)统计信息,以支持经由分组交换通信网络基础设施供应的高密度流动业务的设备。该设备包括多个统计数据存储结构。每个统计数据结构跟踪关于一个相应的被供应的流动业务流的累计统计信息。该设备还包括一个硬件统计处理单元。硬件统计处理单元实时检查实时协议(RTP)封装分组和RTCP封装分组。硬件统计处理单元从RTP和RTCP分组中提取统计信息,以更新相应的数据结构。硬件统计处理单元用保存在对应的统计数据结构之中的统计信息来封装流动业务流分组净荷。
根据本发明的另一方面,硬件统计处理单元包括支持硬件高密度统计处理的高速逻辑块。
根据本发明的再一方面,每个统计数据结构包括存储所跟踪的累计统计值的字段。高速硬件存储用于统计数据结构的检查。
根据本发明的再一方面,仅把快速变化的统计信息保存在每个统计数据结构中。
根据本发明的再一个方面,统计数据结构的一个字段存储被跟踪的统计信息的数字表示的一组最小有效比特。
根据本发明的再一个方面,统计数据存储结构被细分成两个寄存器区域,其中在处理分组时仅访问一个寄存器区域。
根据本发明的再一个方面,每个统计数据结构包括一个发信号机构,用于把所跟踪的累计统计信息报告给一个关联的软件统计处理模块。发信号机构包括至少一个发信号标志。
根据本发明的再一个方面,所述设备还包括一个递增地址计数器的时钟。该地址计数器在每个时钟周期指定一个流动业务流,用于将相应统计数据结构中保持的统计信息报告给关联的软件统计处理模块。
根据本发明的再一个方面,该设备还包括一个媒体网关通信网节点,一个与通信网关节点相关联的媒体网关部件,一个与通信网关节点相关联的物理层装置,一个与通信网关节点相关联的单芯片物理层装置,一个物理端口装置,一个单芯片物理端口控制器,一个网络设备,和一个IP电话。
根据本发明的再一个方面,所供应的流动业务流合并成流动业务流上下文,比如一个音频广播会话,一个电话呼叫,一个电话会议,一个视频广播,一个视频呼叫,一个电视会议,一个数据广播,一个数据流动对话等。
根据本发明的再一个方面,所述设备还包括一个关联的软件统计处理模块,包括配制RTCP报告分组并随意执行复杂统计处理的处理装置;外加存储器,存储所跟踪的慢变化统计信息。
根据本发明的再一个方面,外加存储器存储所跟踪统计值的数字表示的一组最高有效比特。
根据本发明的再一个方面,提供了一种跟踪实时控制协议(RTCP)统计信息,以支持经由分组交换通信网络基础设施供应的高密度流动业务的方法。从关于流动业务流的已接收的RTP和RTPC分组提取统计字段值。为支持高密度流动业务流供应,用快速变化统计信息,更新相应统计数据结构中保存统计信息字段,以实现存储统计信息的紧密性。
根据本发明的再一个方面,所述方法还包括从已提取的字段值中得到统计信息。
根据本发明的再一个方面,快速变化最高有效比特被存储在相应的统计数据结构中,而慢速变化最小有效比特被提交到外加存储器存储中进行存储。
根据本发明的再一个方面,在访问统计数据结构内容时,对于每个已处理分组执行单个或多个顺序访问操作。
根据本发明的在一个方面,在把统计信息字段值提供给相关联的软件统计处理模块中,产生一个中断,并发信号通知该关联的软件统计处理模块。
根据本发明的再一方面,根据保存在统计数据结构中的统计信息字段值的一个请求的接收,向相关联的软件处理模块提供统计信息字段值。
根据本发明的再一个方面,在从一个相关联的软件统计处理模块接收RTP或者RTCP分组中,所述方法还包括用统计信息更新已接收分组的统计报告字段,并经由相关联的通信基础设施提交传输的分组。
根据本发明的再一方面,用统计信息更新已接收分组的统计报告字段,包括更新统计报告字段的最小有效比特。
本发明的优点得自于考虑以下因素的硬件数据存储结构和软件数据存储结构规约RTCP统计报告的到达速率,RTP分组生成的速率,预期通信对话持续时间,统计信息处理带宽等;以在为支持高密度数据流动方案减少统计信息更新开销的同时,提供硬件统计信息跟踪、软件处理的统计信息的及时更新的平衡。
附图简要说明通过下面结合附图对典型实施例的详细说明,将会使本发明的特征和优点变得更加清楚。
图1是显示RFC 1889的RTP封装净荷格式的示意图;图2是显示RFC 1889发送方RTCP统计报告分组格式的示意图;图3是显示RFC 1889接收方RTCP统计报告分组格式的示意图;图4是显示本发明一个实施例的实现一个典型媒体网关部件以及为支持VoIP流动业务而执行的处理步骤的示意图;图5是本发明典型实施例的用于跟踪统计信息的数据结构的一个典型格式的示意图。
请注意,在附图中相同特征采用相似标记。
实施例详细说明图4显示了在供应VoIP流业务中处理RTP和RTCP分组的典型装置400,比如媒体网关的典型组件。媒体网关400提供对终端站406-B的VoIP支持。媒体网关400经由物理链路连接通信网402,并接收来自最简单的终端用户站406-A的VoIP源的分组。所接收的分组包括但不限于RIP分组100,承载与召开会议上下文相关联的净荷;RTCP发送方的报告(SR)分组200;RTCP收件人的报告(RR)分组300。
根据本发明的一个典型实施例,RTCP统计处理是经由一个硬件模块410和一个软件模块450提供的,其中硬件模块410处理RTCP统计的收集414和存储416,软件模块450处理RTCP RR分组300的配置452。这种作业分配的优点源自于硬件和软件的最佳利用,其中RTCP硬件410提供高速率简单统计处理,而RTCP软件450提供低速率复杂统计处理。
接收方单元412经由物理链路404接收RTP分组100、RTCP SR分组200和RTCP RR分组300。接收方单元412检查所有接收的分组。
参见图2,下文将给出对发送方RTCP统计报告分组200的统计字段的具体说明,包括-发送方的分组计数222发送方自连接建立以来发送的RTP数据分组的数量-32比特;-发送方的八比特组计数232自连接建立以来经由RTP数据分组发送的净荷字节的数量-32比特;-部分丢失234自最后RTCP接收统计分组以来,来自给定源的RTP数据分组在传输中丢失的部分-8比特;-分组丢失的累积数224自连接建立以来,来自给定源的RTP数据分组在传输中丢失的数量-24比特;-延展的最高序号接收228迄今为止接收的最高序号(RTP序号仅为16比特,32比特字段的上16比特反映翻转的次数)-32比特;-到达间的抖动226在所有分组对上,接收方站的分组间隔较之发送方站之差的估算-32比特。
统计单元416与接收单元412交互作用,以提取414已接收的RTCP SR分组200、RTCP RR分组300中提供的统计信息,并且通过取自RTP分组100的报头信息来更新该统计信息。统计单元416把用于每个所供应的VoIP流的已提取统计信息的追踪保持在本地存储器418中。
RTCP统计跟踪硬件410可以按照与单端口408或典型媒体网关400的多端口408相关联的单芯片方案来实施。
尽管RTCP硬件410对每个VoIP流仅跟踪以上六个字段,但是高密度VoIP应用需要大量的存储器。芯片外(外部/器件中心)存储器430可以用来提供简单的统计信息存储,然而利用数据总线432为每个接收分组写入大量统计信息字节利用了带宽可用性。不幸的是,存储存取带宽是整个系统的瓶颈,所以应当保藏供应的VoIP业务的高速率RTP分组净荷存储和恢复。
根据本发明的典型实施例,在部分硬件和部分软件中实现跟踪RTCP统计的统计计数器。VoIP会话期间变化最小的最高有效计数器比特被保存在软件中,而变化最频繁的最小有效计数器比特被保存在硬件中。本发明提供了在本地存储器418中存储统计信息的紧密的RTCP统计数据结构500,其典型格式如图5所示。本发明不打算限制到所示的RTCP数据结构。示出典型比特屏蔽的用意不是排除数据结构字段的其它安排,因此在不背离紧密度的整体精神前提下,可以按相似方式安排相同的字段。
根据本发明的典型实施例,统计单元416使用取自414每个RTCPSR分组200的192比特,来更新紧密的数据结构500,该数据结构500使用了被安排在四个32比特行中的128个比特总数。
根据本发明的典型实施例,图5所示统计信息字段的安排,在任何时候只能够使两个32比特行被存取。当经由端口408发送用于VoIP流的RTP100或RTCP RR300分组时,只有第一行对需要被存取。当经由端口408接收用于VoIP流的RTP 100或RTCP SR200分组时,只需要存取第二行的第一对。根据统计单元416与本地存储器418之间的存取宽度为64比特的一个实施,每个分组只需要单个存储器存取周期。
硬件RTCP统计数据结构500的字段是两个发送514和接收516上下文使通比特(TCE和RCE)指示是否为相应方向上的统计收集指定了一个VoIP流,从而指示相应数据结构字段(500)中存储的值是否有效。
为了计算分组损失,需要知道预期的分组数。可以依据以下关系为所供应的每个VoIP流计算预期的分组数迄今为止接收的最高序号的值减去已接收的第一序号的值。发射机(406-A)在连接建立时间分配第一序号的值。存储第一观测的序号值是有效的,因为仅看见它一次、仅使用它一次,此后保证不接触状态。字段“第一/最高序号”502和“序号传送”(SC)504是为此目的提供的。
根据本发明的典型实施例,第一序号的值仅短时存储在字段502中,以将它报告给运行RTCP统计软件模块450的CPU434。一旦报告给CPU434,就重新使用字段502存储到目前为止遇到的最高序号的值。RS(接收状态)比特506被用来指定字段502是否正在存储第一和最高序号的值。利用该策略的原因是,最高序号值(116)是单调增加的,短时间忽略字段502不会丢失信息,此后一旦报告了第一序号就更新该字段502。
RTP分组100中提供的RTP序号长度为16比特,因此字段502也必须为16比特。RTCP统计分组格式把序号值分别指定在32比特长度的字段228和328中。根据本发明典型实施例,软件450维持16个上最高有效比特,以便将存储器存储保存在本地存储器418中,并保存经由数据总线432传送436这些值的带宽。只要追踪的序号翻转,就把SC比特字段504设置为高逻辑值,并用作一个告知软件450必须增加延续的最高有效序号比特的信号。
必须选择软件更新436的时间间隔,以便确保连续的软件更新436之间可以出现对字段502不多于一个的翻转。因此,更新时间间隔取决于分组到达速率。
接收状态(RS)字段506的两个比特用来控制用于指定第一和最高序号的字段502。RS字段506的典型规约包括“00”-启动VoIP上下文的分组流,但此时未收到第一分组。当第一分组达到时,设置第一分组序号字段值。
“01”-启动VoIP上下文的分组流,此时已经收到第一分组,但CPU 434还没有读出第一序号字段502。不更新字段502。
“10”-启动VoIP的分组流,此时已收到第一分组,以及CPU434已经完成对第一序号值读取。更新字段502,以显示目前为止收到的最高序号值。
发送方的分组计数508和SPC509,以及接收方的分组计数510和RPC511字段用来存储为给定VoIP上下文发送和接收的分组的累积数。SPC509和RPC511比特指示相应的计数器508/510翻转,并在需要时用作告知软件更新较高序比特的信号。
发送方分组计数508和接收方分组计数510所需的最大比特数是16,因为在RTP分组100中使用了16个比特,以存储关于第一/最高序号字段502的上述序号值。如果把大于16的比特分配给分组计数追踪,则每216-217分组必须把翻转报告给CPU434。另一方面,如果使用少于16个比特,则按指数律增加软件450与硬件410之间所需的交互作用,这将过渡使用非常缺乏的CPU存取带宽(432)。
假设一个每个流每125μs(用于VoIP分组话音应用的基本抽样时间单位)产生一个分组的最坏情况,在此情况下,每217×0.125ms或者16秒将需要在硬件410与软件450计数器之间有一个翻转更新交互作用。该更新速率甚至能够使底端处理器434在VoIP方案的支持方面支持成百个流。
自VoIP连接建立以来丢失的累积分组等于最高序号502-第一序号(502)-接收方分组计数510,并且当需要RTCP分组配制452时,可以由CPU434容易地算出。同样可以算出部分丢失,但不同之处是,估算时间周期运行是“自最后RTCP接收统计分组被发送时开始”,而不是自连接建立开始。需要时,软件450可以通过轮循硬件数据结构500,来存取这些值。
字段发送方字节计数512和“BC”513用来存储目前为止为给定VoIP发送的字节累积数。BC513比特指示计数器512翻转,并且在需要时用作一个告知软件450更新由软件450追踪的较高序比特的信号。由于RTP分组100中传递的VoIP净荷通常不超过128字节(或者话音抽样的128×125μs=16ms),因此发送方字节计数字段512的长度不需要超出发送方分组计数字段(508)7个比特以上。
在理想操作条件下,每个VoIP分组(100)在恰好“预期”时间从发送站406-A到达,并立即由接收方站406-B放出。根据理想情况,即使每个VoIP分组(100)经历了网络延迟,从VoIP分组到VoIP分组出现的延迟的变化也将是非常小的,以致当下一个VoIP分组将到达时,接收方站406-B或者媒体网关400可以用近可靠性预测该变化。该预测性能够保证VoIP分组(100)一到达,接收方站405-B就放出话音抽样分组,因为新的话音抽样组到达时,在前的话音抽样组正好结束放出,没有任何可辨识的音频间隙。
然而实际上,通信网络402经历了从VoIP分组到VoIP分组的等待时间的某些变化,即网络抖动。在放出下一个接收话音抽样之前,在接收方站406-B人为地插入一个短“播放延迟”,可以使收听者(406-B)察觉不到抖动影响。引入的播放延迟,比如舒适噪声,可以相当小,以致可以正常地进行会话/会议,并且任何一方都不经历延迟响应。然而,插入的播放延迟长得足以补偿从一个VoIP分组到一个VoIP分组的分组网络402中出现的等待时间的变化。播放延迟的人工插入还意味着接收方站406-B或者与其关联的媒体网关400需要附加的存储器空间对到达的VoIP分组排队,然后在插入播放延迟后进行播放。附加存储器空间被称之为“抖动缓存器”。
到达间抖动非常容易改变,因此必须进行计算,以便监视从一个VoIP分组到下一个VoIP分组的VoIP到达分组等待时间之差,并且还必须在时间上跟踪这些差值的绝对值。对于相应统计数据结构500中的VoIP流,统计单元416维持最后出现的等待时间534和“到达间抖动+4”估算(寄存)526的两个字段di-1。
根据本发明的典型实施例,在设法实现存储紧密度的同时存储到达间抖动值526的估算所需的比特数,受到通过插入播放延迟补偿抖动影响的接收方站406-B(或媒体网关400)的影响。收听太多的播放延迟将使通话/会议经历不舒服的延迟。实际上,话音业务供应的最大容忍抖动是128ms。把125μs用作话音业务供应中测量单位的“心跳”时,10比特(即,210×125μs=128ms)足以跟踪所经历的抖动。
可依据接收方站406-B或媒体网关400上的i’s到达时间与发送方站406-A上的i’s建立时间之差,来确定分组等待时间。VoIP分组建立时间被包含在RTP报头中的32-比特时标118中,如图1所示。分组到达时,通过咨询32-比特伪时间计数器(每125μs通过本地时钟递增1),确定每个VoIP分组的到达时间。尽管可以假定接收方和发送方的时钟具有相同的频率,但这与任何时间由两个时钟之每个报告的时间值无关。本发明对di可以采用的数值集没有限制。上述的RFC1889和引用的序号为10/103,299的美国专利申请表明了这种安排的原因。
如上所述,分组到达时间等待时间的差值Di的绝对值必须被确定为从一个VoIP分组到下一个VoIP分组,用于每个i差值Di由下式给出Di=|di-di-1|为了计算Di,所引发的在前分组的等待时间di-1524必须被存储在用于每个流的数据结构中。
确定一个对应于当前与在前的VoIP分组之间的分组等待时间的差值后,Di就被用来计算抖动J的运行估算,该J由下式给出Ji=Ji-1+(Di-Ji-1)/16。
该等式代表一个一阶递归低通滤波器,该滤波器把新数据点Di加入抖动J的运行估算中,从而提供了没有明显振荡的较好收敛。
它首先出现,di-1字段524将需要32比特,因为di-1可采用的值不受限制。由于J实质上是所有i的Di的运行估算,显然如果J是可使用10比特表示的数值,则可以得到Di。因此,尽管di和di-1的每个可以是任意的32比特值,但是它们的绝对值总可以用10比特表达。附录A中提供了一个需要使用11比特的最大数表达di并存入数据机构500的证明。
实际上,已经看到14比特更适合于存储具有附加精度的抖动估算J的值。附加的4比特相当于125μs时间单位的部分分量,使用该附加的4比特是为了使达到间抖动字段526像标准RTCP分组格式(RFC1889)所规定的整数那样来表达。
较高精度的需要源于计算上述抖动中使用的“除16”运算。在硬件(410)中,通过将数值的二进制表示向右位移m个比特位置来实施除2m运算。假设(根据临界情况),如果对于所有j,Di的值=15,则抖动计算将按下式处理J=0+(15-0)/16=0+15/16=0,由于十进制“15”的二进制表示是“1111”,因此向右移位4比特位置后,J变成0。在此情况下,J的值将不再收敛于其固有值15。对于1/16精度,必须计算和存储抖动J的十进制部分,因此需要附加4个比特。
CPU434与统计模块416交互作用438。如上所示,某些统计计数器经由流动的特定数据结构500被部分地保存在硬件410中,并且在相应的数据记录440的中央存储器430中由CPU434部分地维持。当硬件计数器翻转时,需要一个机构发出信号通知CPU434记录器440中存储的高阶比特必须递增。该机构还必须向CPU434发出关于短时间存储第一序号的第一/最高序号字段502的状态的信号,然后将其报告给CPU434,并将该字段重新用来跟踪此后接收的最高序号。
在硬件统计收集与维持,软件统计信息处理、统计报告生成与RTCP分组配置之间,必须有一个意义明确的信息流。这里提出了两种交互作用方法,并且这两种方法都可以同时得到支持,并适用于配置依赖方式。
这两种方法基于低频时钟444递增的地址计数器442。低频时钟444的周期最好小于连续的硬件/软件交互作用之间的最大容许时间间隔,除以所支持的VoIP流的总数之商(根据本发明典型实施例的特定实施,所支持的VoIP流的总数涉及图4中虚线表示的网关400装置,和/或涉及图4中实线表示的由物理端口408支持的VoIP流的总数)。例如(参见以上关于分组计数翻转的讨论),假定连续硬件/软件交互作用之间的最大容许间隔为16秒。如果装置支持128个流,那么(低)时钟频率必须至少为8Hz。
在每个时钟的后沿,地址计数器442递增,并且该地址引用的VoIP流以依赖于设置“I”528和“IOE”530的方式,向CPU434报告436它的状态。如果设置比特I528,那么每当经由地址计数器442选择VoIP流报告被保存在相应数据结构500中的值时,该引用的VoIP流将中断CPU434。如果未设置比特I528,而是设置了比特IOE530,那么选择的VoIP流将中断CPU,并且仅在自最后选择以来一个“事件”发生时,报告保存在相应存储结构500中的值。“事件”包括用于VoIP流的一个或多个计数器的翻转,该VoIP流的第一序号的可用性,等等。
当提取RTCP SR200与RR300分组接收之间的RTP分组时,由统计单元416跟踪RTCP统计。保存在流数据结构500中的RTCP统计信息,在每次为更新记录400而扫描该流时,可能需要被报告给CPU434;该统计信息为CPU434提供了用于RTCP分组200/300的配制452的必需品,即数据信息。
依据一个不同观点,RTCP软件450负责检索保存在的数据结构550的本地存储器418之中并相应于每个所供应流的统计信息,并且将该统计信息并入RTCP分组200/300中,然后调度其传输。根据本发明典型实施例的一个实施,低频时钟444被同步到RTCP分组200/300的预期传输频率上。当软件450配制452该流的RTCP分组200/300时,RTCP硬件410将精确地报告每个VoIP流的统计信息。每次扫描VoIP流时,都要通知CPU434,而不管“事件”是否已经发生。
根据本发明典型实施例的另一种实施,当配制PTCP分组200/300时,CPU434轮循硬件数据结构500。在此情况下,硬件410不需要定期中断CPU434,除非事件发生。
当RTCP软件450实际配制RTCP分组200/300的452时,字段比如NTP时标(挂钟时间)118、最后SR250/350(基于发送最后统计分组时的挂钟时间)和自最后SR252/353开始的延迟(自接收来自给定源的最后统计分组并向其返回一个统计分组起,消逝的时间),对硬件410可以是透明的。
然而,传送单元460接收如图5虚线所示的VoIP分组净荷,访问本地存储器418以取得必须的信息(最高有效比特),并把VoIP净荷封装462到RTP分组100中,然后经由物理链路404将其传送到通信网402中。
尽管在图4中仅仅一般性地显示了关于媒体网关400的RTCP硬件支持模块410,但是RTCP硬件支持模块410还可以考虑以下因素来实施与通信节点关联的物理层装置,与通信网络节点关联的单芯片物理层装置,物理端口装置,单芯片物理端口控制器,网络设备,IP电话等。
显然,特定实施可以为以下各项提供支持、专用和/组合的对话和业务音频广播,电话呼叫,电话会议,视频广播,视频呼叫,电视会议,数据广播,数据流动等。
上述实施例仅仅是示例,本领域熟练技术人员将会明白,在不背离本发明精神的条件下,可以对所述实施例做出各种修改。本发明的范围仅仅由所附的权利要求定义。
附录A[91]关于存储di-1所需的比特数的证明假设两个32-比特整数x和y相差不超过1023,为了正确计算|x-y|,必须检查x和y的多少比特?证明11个比特是充分的。考虑三种情况1)x>y在此情况下|x-y|=x-y=(x mod M-y mod M)mod M,其中,如果M≥1024,则取不影响结果的模数。
2)x<y在此情况下|x-y|=y-x=(y mod M-x mod M)mod M,其中,M≥1024。
3)x=y在此情况下|x-y|=(x mod M-y mod M)mod M=(y mod M-x mod M)mod M=0。算出|x-y|总是等于(x mod M-y mod M)mod M,或者(y mod M-x mod M)mod M, 其中,M≥1024。决定这两个表达式中的哪个表达式是正确的,观察到如果x≠y,则(x mod M-y mod M)mod M+(y mod M-x mod M)mod M=M。因此,如果M=2048,则下列之一正好是成立A)0<(x mod M-y mod M)mod M<1024B)0<(y mod M-x mod M)mod M<1024C)(x mod M-y mod M)mod M=(y mod M-x mod M)mod M=0。
因此,如果M=2048,则总可以把事件A-C唯一地映射到1-3。
换言之,x和y的11比特是充分的。
权利要求
1.一种处理实时控制协议(RTCP)统计信息,以支持经由分组交换通信网络基础设施供应的高密度流动业务的设备,所述设备包括a.多个统计数据存储结构,每个统计数据结构跟踪关于一个相应的被供应的流动业务流的累计统计信息;和b.一个硬件统计处理单元,实时检查实时协议(RTP)封装分组和RTCP封装分组之一,以便为更新相应的数据结构而从所述分组中提取统计信息,以及用保存在对应于所供应的流动业务流的统计数据结构之中的统计信息来封装流动业务流分组净荷。
2.根据权利要求1所述的设备,其中硬件统计处理单元还包括支持硬件高密度统计处理的高速逻辑块。
3.根据权利要求1所述的设备,其中每个统计数据结构还包括至少一个存储所跟踪的累计统计值的字段。
4.根据权利要求3所述的设备,其中至少一个字段包括以下之一一个统计计数器和一个统计估算。
5.根据权利要求4所述的设备,其中至少一个字段包括以下之一一个第一/最高序号字段,一个发送方分组计数字段,一个接收方分组计数字段,一个发送方字节计数字段,一个到达间抖动估计字段,和一个最后发生的等待延迟字段。
6.根据权利要求5所述的设备,其中发送方分组计数、接收方分组计数、发送方字节计数和随后发生的等待时间字段分别包括16、16、23和10个比特。
7.根据权利要求5所述的设备,其中到达间抖动估算字段包括以下之一10个比特和14个比特。
8.根据权利要求1所述的设备,在高速硬件中,每个统计数据结构存储被跟踪的快速变化的统计信息。
9.根据权利要求8所述的设备,其中统计数据结构的至少一个字段存储被跟踪的统计信息的数字表示的一组最小有效比特。
10.根据权利要求1所述的设备,其中统计数据存储结构还包括一个具有两个寄存器区域的阵列,其中在处理分组时仅访问一个寄存器区域。
11.根据权利要求10所述的设备,其中统计数据结构包括提供硬件存储紧密性的128个比特,用于支持高密度流动业务。
12.根据权利要求10所述的设备,其中每个寄存器区域还包括多个相邻寄存器,所述相邻寄存器在顺序访问循环中被访问。
13.根据权利要求1所述的设备,其中每个统计数据结构还包括一个发信号机构,用于把所跟踪的累计统计信息报告给一个关联的软件统计处理模块。
14.根据权利要求13所述的设备,其中发信号机构还包括至少一个发信号标志。
15.根据权利要求14所述的设备,其中至少一个发信号标志包括以下之一一个发送上下文使通标志,一个接收上下文使通标志,一个序号进位标志,一个第一序号接收状态标志,一个发送方分组计数进位标志,一个接收分组计数进位标志,一个发送方字节计数进位标志,一个统计信息更新标志,一个统计信息事件更新标志。
16.根据权利要求1所述的设备,还包括一个递增地址计数器的时钟,该地址计数器按每个时钟周期指定一个流动业务流,用于将相应统计数据结构中保持的统计信息报告给关联的软件统计处理模块。
17.根据权利要求16所述的设备,其中提供128个流动业务流,时钟以8kHz频率工作。
18.根据权利要求1所述的设备,还包括以下之一一个媒体网关通信网节点,一个与通信网关节点相关联的媒体网关部件,一个与通信网关节点相关联的物理层装置,一个与通信网关节点相关联的单芯片物理层装置,一个物理端口装置,一个单芯片物理端口控制器,一个网络设备,和一个IP电话。
19.根据权利要求1所述的设备,其中流动业务流是单向的,流动业务流的组合定义了一个流动业务流上下文。
20.根据权利要求19所述的设备,其中流动业务流上下文包括以下之一一个音频广播会话,一个电话呼叫,一个电话会议,一个视频广播,一个视频呼叫,一个电视会议,一个数据广播,一个数据流动对话。
21.根据权利要求1所述的设备,还包括a.一个关联的软件统计处理模块,包括配制RTCP报告分组并随意执行复杂统计处理的处理装置;b.外加存储器,存储所跟踪的慢变化统计信息。
22.根据权利要求21所述的设备,其中,外加存储器存储所跟踪统计值的数字表示的一组最高有效比特。
23.一种处理实时控制协议(RTCP)统计信息,以支持经由分组交换通信网络基础设施供应的高密度流动业务的方法,所述方法包括以下步骤a.从以下分组之一提取至少一个统计字段值关于流动业务流的一个已接收的实时协议(RTP)分组和一个已接收的RTCP分组;和b.为支持高密度流动业务流供应,用快速变化统计信息,更新与流动业务流相关联的统计数据结构的统计信息字段,以实现存储统计信息的紧密性。
24.根据权利要求23所述的方法,其中提取至少一个字段值,所述方法还包括提取以下各项之一的步骤一个发送方分组计数值,一个发送方八比特组计数值,一个分组部分丢失值,一个分组丢失累积数值,一个延续的最高序号接收值,一个到达间抖动值,一个时标值。
25.根据权利要求23所述的方法,其中提取至少一个字段值,所述方法还包括提取统计信息的192个比特的步骤。
26.根据权利要求23所述的方法,还包括从已提取的字段值中得到统计信息的步骤。
27.根据权利要求26所述的方法,其中得到统计信息,所述方法还包括从已提取的统计信息得到最小有效比特的步骤。
28.根据权利要求26所述的方法,其中得到统计信息,所述方法还包括从已提取的统计信息得到最多128个比特的步骤。
29.根据权利要求26所述的方法,其中得到统计信息,所述方法还包括得到将要发生的预期分组到达间抖动的步骤。
30.根据权利要求23所述的方法,其中更新统计数据结构的字段值,所述方法还包括执行以下操作之一的步骤对于用于每个分组处理的统计数据结构的一对寄存器区域之一所进行的单个和多个顺序存储器写操作。
31.根据权利要求23所述的方法,其中其中更新统计数据结构的字段值,所述方法还包括以下步骤之一将已提取的第一和最高序号值存入单个字段中。
32.根据权利要求31所述的方法,其中存储第一序号值,所述方法包括发出有效的第一序号值存在的信号。
33.根据权利要求23所述的方法,还包括把慢变化统计信息提交到外加存储器中进行存储的步骤。
34.根据权利要求33所述的方法,其中提交供外加存储器存储之用的慢变化统计信息,所述方法还包括提交统计信息的最高有效比特以减少传输带宽需求的步骤。
35.根据权利要求23所述的方法,还包括以下步骤a.产生一个对相关联软件统计处理模块的中断;和b.向相关联的软件处理模块提供保存在统计数据结构中的统计信息字段值。
36.根据权利要求35所述的方法,其中产生一个中断,所述方法还包括当经历下列事件之一时产生中断的步骤更新一个统计信息字段值时的翻转情况,统计信息字段值的第一更新事件,和触发事件。
37.根据权利要求35所述的方法,其中提供统计信息字段值,所述方法还包括执行下列各项之一的步骤对于用于每个分组处理的统计数据结构的一对寄存器区域之一所进行的单个和多个顺序存储器读操作。
38.根据权利要求35所述的方法,其中提供统计信息字段值,所述方法还包括以下步骤提供最小有效比特值,以更新外加存储器中的相应的统计寄存器。
39.根据权利要求23所述的方法,还包括以下步骤a.接收一个用于保持在统计数据结构中的统计信息字段值的请求;和b.向关联的软件处理模块提供保存在统计数据结构中的统计信息字段值。
40.根据权利要求39所述的方法,其中提供统计信息字段值的步骤有下列条件之一已经历的翻转事件,统计字段值的第一更新事件,和触发事件。
41.根据权利要求39所述的方法,其中提供统计信息字段值,所述方法执行下列操作之一的步骤对于用于每个分组处理的统计数据结构的一对寄存器区域之一所进行的单个和多个顺序存储器读操作。
42.根据权利要求23所述的方法,还包括以下步骤a、从关联的软件统计处理模块接收关于流动业务流的RTCP报告分组和RTP分组之一;b、用保存在与流动业务流关联的统计数据结构中的统计信息更新已接收分组的统计报告字段;和c、经由一个关联的通信基础设施提交传输的分组。
43.根据权利要求42所述的方法,其中更新已接收分组的统计报告字段,所述方法还包括以下步骤用保存在统计数据结构中的统计信息更新统计报告字段的最小有效比特。
44.根据权利要求42所述的方法,其中更新统计报告字段,所述方法还包括执行以下操作之一的步骤对于用于每个分组处理的统计数据结构的一对寄存器区域之一所进行的单个和多个顺序存储器读操作。
全文摘要
本发明公开了有效跟踪与实时协议(RTP)封装数据流有关的实时控制协议(RTCP)统计信息报告的数据结构,以及一种在硬件统计信息收集模块与软件统计信息处理模块之间更新相应的统计信息的信令协议。硬件和软件数据结构说明考虑了以下因素RTCP统计报告的到达速率,RTP分组生成的速率,RTCP报告生成的速率,预期通信会话持续时间,统计信息处理带宽等;以便在减少统计信息更新开销以支持高密度数据流动方案的同时,在硬件统计信息跟踪与及时更新软件模块所处理的统计信息之间提供平衡。
文档编号H04L12/56GK1540893SQ200410004739
公开日2004年10月27日 申请日期2004年3月1日 优先权日1998年12月21日
发明者易正修, 柯力仁 申请人:卓联半导体V.N.有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1