背景技术:
1、因特网协议语音(voip)描述了用于通过诸如因特网之类的ip网络传递语音通信和多媒体会话的一组技术。虽然从用户角度来看,voip会话可以类似于传统电话那样进行,但是信息不是通过电路交换网络传输的,而是将数字形式的信息分组化,并且通过分组交换网络以ip分组进行传输。
2、与电路交换网络相比,通过分组交换网络的voip不能固有地保证信息不被丢弃(分组丢失)、不被过晚传递而无法使用(时延过长)、或者不会由于从源到目的地的分组传送时间的变化而无序地传递。从同一源发送的分组不总是以规则的间隔到达目的地,即使它们是以连续流发送的。在voip中,“抖动”是分组延迟的这种变化的度量。抖动可能由于各种原因而发生,例如,网络拥塞、网络定时漂移或网络路由改变。
3、“抖动缓冲器”是数据存储库,分组可以在其中被接收、存储并且然后以(几乎)均匀隔开的间隔被发送(例如,到输出处理器),而不管传送时间变化如何。抖动缓冲器有意地延迟到达的分组,使得终端用户体验到较清晰地、失真较少的连接。抖动缓冲器通过缓冲多个分组以吸收它们之间的延迟差,然后以(几乎)恒定速率按顺序输出分组,来减轻抖动。这给予更多延迟的分组追上的机会,使得所有分组相对平滑地输出。与任何类型的缓冲一样,抖动缓冲器越大,分组的播放延迟变得越长。
4、存在两种抖动缓冲器,即静态抖动缓冲器和动态抖动缓冲器。静态抖动缓冲器通常是预先配置的。动态抖动缓冲器是基于软件的,并且可以被配置为适应网络延迟的变化。
技术实现思路
1、以下呈现了本文公开的技术的一个或多个方面的简化概述,以便提供对这些方面的基本理解。本
技术实现要素:
不是所有预期方面的广泛概述,并且既不旨在标识所有方面的关键或关键元件,也不旨在描绘任何或所有方面的范围。其唯一目的是以简化形式呈现一个或多个方面的一些概念,作为稍后呈现的更详细描述的前序。
2、在若干示例中,提供了用于分组缓冲的计算机实现的方法、设备和有形非瞬态计算机可读介质。在一些示例中,网络设备在接收时间接收一个或多个分组,每个分组是在网络设备处接收的多个流之一中的多个有序分组之一。网络设备针对每个接收到的分组基于多个流公共的一个定时器来确定发送时间。网络设备在多个流公共的数据存储库中通过所确定的发送时间对每个分组进行索引。网络设备在与所确定的发送时间相对应的每个特定时间发送数据存储库中被索引到该特定时间的所有分组。
3、在一些这样的示例中,n是数据存储库的深度,并且接收时间和发送时间之间的最大延迟是n。在一些这样的示例中,数据存储库是:使用发送时间作为哈希表关键字的哈希表,或者使用发送时间模n作为环形定时器关键字的环形定时器。
4、在一些示例中,多个流包括至少一百个流。在一些示例中,网络设备是会话边界控制器。在一些示例中,定时器和数据存储库包括用于网络设备的多个处理器中的每个处理器的一个定时器和数据存储库组合。
5、为了实现前述和相关目的,一个或多个方面包括在下文中完全描述并且在权利要求中特别指出的特征。以下描述和附图详细阐述了一个或多个方面的某些说明性特征。然而,这些特征仅指示可以采用各个方面的原理的各种方式中的一些,并且本说明书旨在包括所有这样的方面及其等同物。
1.一种计算机实现的方法,包括:
2.根据权利要求1所述的方法,其中所述多个流包括至少一百个流。
3.根据权利要求1所述的方法,其中所述网络设备是会话边界控制器。
4.根据权利要求1所述的方法,其中所述定时器和所述数据存储库包括用于所述网络设备的多个处理器中的每个处理器的一个定时器和数据存储库组合。
5.一种用于分组缓冲的网络设备,包括:
6.根据权利要求5所述的设备,其中所述多个流包括至少一百个流。
7.根据权利要求5所述的设备,其中所述网络设备是会话边界控制器。
8.根据权利要求5所述的设备,其中所述定时器和所述数据存储库包括用于所述网络设备的多个处理器中的每个处理器的一个定时器和数据存储库组合。
9.一种计算机可读介质,其上存储有指令,所述指令在由至少一个计算设备执行时,使所述至少一个计算设备执行操作,所述操作包括:
10.根据权利要求9所述的计算机可读介质,其中所述多个流包括至少一百个流。
11.根据权利要求9所述的计算机可读介质,其中所述网络设备是会话边界控制器。
12.根据权利要求9所述的计算机可读介质,其中所述定时器和所述数据存储库包括用于所述网络设备的多个处理器中的每个处理器的一个定时器和数据存储库组合。
13.一种用于分组缓冲的网络设备,包括:
14.根据权利要求13所述的设备,其中所述多个流包括至少一百个流。
15.根据权利要求13所述的设备,其中所述网络设备是会话边界控制器。
