发明内容
其中,一个目的在于提供对第一节点和第二节点之间的网络容量进行测量,其中可以由第一节点对该测量进行控制,并且其中从第二节点返回第一节点的消息响应业务不会对测量结果产生影响。
提供了根据权利要求1所述的方法。本文中包含的数据量互不相同的探测消息用于对网络容量进行探测。探测消息中的至少一个探测消息中的数据量超过该网络的分段阈值,该分段阈值即是能够通过该网络以一个信号分组来传输的最大数据量。通过这种方式,确保了信号分组一个接一个(back to back)地产生,以便在最早的信号分组与针对该探测消息的响应的时序没有互相干扰的风险的情况下执行分组对散射测量。
该方法可以应用于一种通信网络,该通信网络包括第一节点和第二节点之间的通信路径中的无线网络。在这种情况下,该无线网 络可能为该网络的瓶颈,并且该容量计算可以用于估计其容量。可以使用不可能在节点之间同时地来回传送信号的无线网络。该方法还工作于网络不对称时,例如一个方向与相对方向相比具有更高的传输容量。
在一个实施方式中,重复发送第一探测消息和第二探测消息,并且根据针对第一探测消息和第二探测消息的第一往返行程持续时间和第二往返行程持续时间中的最小值之间的差值计算该网络的容量。通过这种方式其他业务对该容量测量的影响被最小化。
在一个实施方式中,第一探测消息和第二探测消息寻址到第二节点的非活动端口。因此,提供了根据权利要求8和9中任一项所述的控制设备,其中处理电路被配置为将第一探测消息和第二探测消息寻址到该节点的非活动端口,并且使用报告该端口处于非活动的错误消息作为第一响应消息和第二响应消息。因此,确保了响应于第一探测消息和第二探测消息产生了相同长度的短的固定错误消息。通过这种方式返回传输对往返行程持续时间的影响中的差值被最小化。
在一个实施方式中,使用通用数据报协议(PDU)消息作为探测消息。这具有的优点在于可以从第一节点对消息进行控制以及避免由应答、重传或速率调整所引起的干扰。
在一个实施方式中,所计算的容量用于控制视频流比特率。
具体实施方式
图1显示了家庭网络,其包括控制设备10、无线路由器11、耦合到显示单元14的机顶盒12以及各种其他网络站16。控制设备16耦合到无线路由器11。控制设备10包括耦合到无线路由器11的网络发射器100和网络接收器102,以及耦合到网络发射器100和网络接收器102、并且包括可编程处理器106和程序存储器108的处理电路104。通过示例的方式显示了控制设备10具有到另一个网络(未显示)的连接18。
路由器11和机顶盒12可以被配置为使用IP协议并经由无线介质进行通信。在控制设备10的应用层产生消息,并且来自上述消息的数据被置于经由该介质发送的信号分组中。在机顶盒12中将来自信号分组的数据重组成消息。硬件和/或软件的连续层(例如依次为应用层、UDP/TCP层、互联网层、链路层、物理层)可以对来自这些消息的数据进行处理。在物理层上传递的信号分组由中介(intervening)层根据来自应用层提供的消息的数据而形成。
发送来自消息的数据所需的信号分组的数量依赖于系统特性以及消息中的数据量(其长度)。可以在消息中包含的、且不会导致多于一个信号分组的传输的最大数据量是固定的量。该最大量可以从层的规定得出,或者可以基于使用路由器11的实验来确定。该最大量将被称为分段阈值。在许多系统中,分段阈值被称为最大传输单元(MTU)。
在操作中,控制设备10用于经由无线介质将视频流从连接18发送到机顶盒12,以响应从机顶盒12接收的请求。在视频流发送之前或期间,控制设备10中的探测软件促使控制设备10使用一种特殊类型的分组对散射测量来对介质的传输容量进行探测。依据探测结果,控制设备10可以调整视频流比特速率或向机顶盒12返回警告消息。
图2显示了控制设备10进行探测的一个实施方式的流程图。在第一步21中,探测软件促使控制设备12发送寻址到机顶盒12的非活动端口的第一探测,并且记录发送时间点的时钟时间值。可以使 用UDP(通用数据报协议)消息。使第一消息中的数据量小于或等于分段阈值。
因为第一探测消息寻址到机顶盒12的非活动端口,所以机顶盒12将使用第一错误消息来响应该第一探测消息。机顶盒12经由无线介质以及路由器11向控制设备10发送第一错误消息(每一个都按单个信号分组的形式)。
在第二步22中,探测软件促使控制设备10检测对第一错误消息的接收并且记录接收时间点的时钟时间值。探测软件促使控制设备10计算第一消息的传输和响应于第一消息的第一错误消息的传输之间的第一往返行程持续时间。
在第三步23中,探测软件促使控制设备10发送寻址到机顶盒12的非活动端口的第二探测消息,并且记录发送时间点的时钟时间值。可以使用UDP(通用数据报协议)消息。第二消息中的数据量设置在分段阈值和分段阈值的两倍之间。在第四步24中,探测软件促使控制设备10检测对响应于第二消息的第二错误消息的接收,并且记录接收时间点的时钟时间值。探测软件促使控制设备10计算第二探测消息和响应于第一消息的第二错误消息之间的第二往返行程持续时间。
在第五步25中,探测软件促使控制设备10确定是否将重复第一步到第四步21-24。这些步骤重复预定次数N,例如N=100。控制设备10记录所有重复的第一往返行程持续时间和第二往返行程持续时间。一旦已经执行了预定次数的重复,则执行第六步26,其中探测软件促使控制设备10确定第一最小值:针对所述重复所记录的最小第一往返行程持续时间,以及第二最小值:针对所述重复所记录的最小第二往返行程持续时间。当重复次数N足够大时,第一最小值预期表示在没有竞争业务的情况下发送单个信号分组时所需的往返行程时间。类似地,第二最小值期望表示没有竞争业务的情况下从控制设备10向机顶盒12发送两个信号分组时所需的往返行程时间。这两个最小值不需要出现在同一次重复中。在第七步27中,探 测软件促使控制设备10计算第二最小值与第一最小值之间的差值D。
第二探测消息用于进行对散射测量。众所周知,当一个接一个的分组经由出现瓶颈的传输信道发送时,该信道的最窄部分(即该信道中支持最低数据速率的部分)确定从第一分组到达起点到第二分组到达起点的时间延迟。因此,在没有干扰的情况下,该延迟为容量量度。当使用经由路由器11和无线家庭网络从控制电路10到机顶盒12的传输时,该瓶颈典型而言为该无线网络。最好的情况是包含来自第二探测消息的数据的信号分组一个接一个地传过该无线网络。传统而言,使用最早的信号分组中的数据量与最早的接收起点和后续分组之间的持续时间的比率来计算该容量。
在当前情况下,使用直到探测消息的源头接收返回的响应的往返行程持续时间。因第二探测消息而产生的信号分组用于进行对散射测量。使用因第一探测消息而产生的信号分组作为参考,以从对散射测量中消除第一信号分组对第二探测消息的贡献以及回程路径对控制电路10的贡献。
图3图示了在没有来自其他消息业务的干扰的尝试中的时序。沿着两个时间线A和B显示了多个信号分组,其中一个时间线在控制电路10,另一个在机顶盒12。显示的第一信号分组30承载来自从控制设备10发送并且由机顶盒12接收的第一探测消息的数据。从控制设备10的发送起点到机顶盒12的接收终点之间的延迟包括信号传播时间加上信号分组在从控制设备10到机顶盒12的通信路径的最慢部分(典型而言为无线网络)中传输的持续时间所需的时间。完成了信号分组30的接收后,机顶盒12向因为相似原因经历了延迟的控制设备12发送回响应32,但是当使用非对称通信协议时,实际延迟可以是不同的。
显示的第三信号分组和第四信号分组34,36与来自第二探测消息的数据一起发送。这些数据分组从控制设备10一个接一个地发送,但是时间上分隔地到达机顶盒12。第三信号分组和第四信号分组34, 36的接收终点之间的时间延迟对应于沿着从控制设备10到机顶盒12的通信路径的最慢部分发送来自第四信号分组36的数据所需的持续时间。从第四分组36的接收终点到对第二探测消息的响应的接收点之间的时间延迟与针对第一探测消息的时间延迟相似。当已经接收到包含来自第二探测消息的数据的信号分组34,36时,机顶盒发送回响应消息38。
当第一信号分组30中的数据量和第三信号分组32中的数据量相同时,第一探测消息和第二探测消息的往返行程时间之间的差值仅仅是由于接收第三信号分组34和第四信号分组36的额外持续时间。如所提到的,该额外持续时间对应于沿着从控制设备10到机顶盒12的通信路径的最慢部分发送来自第四信号分组36的数据所需的持续时间。因此,可以根据第四分组26中的数据量与往返行程持续时间之间的差值的比率来确定沿这部分的传输容量。
在示例性实施方式中,根据第一最小值和第二最小值之间的差值来计算该差值。当重复次数N足够大时,差值D预期表示在没有竞争业务的情况下从控制设备10向机顶盒12发送两个分组而不是一个分组所需的多余时间。当然,当假设不存在竞争业务时,对第一探测消息和第二探测消息的往返行程持续时间进行一次测量可能就足够了。
差值D用于估计在没有其他业务的情况下控制设备10和机顶盒12之间的传输容量C0。当第一探测消息中的数据量A1等于分段阈值时,第一探测消息的信号分组具有与第二探测消息的第一信号分组相同的长度。在这种情况下,可以通过将差值(A2-A1)除以差值D来计算容量。
由于随后第二探测消息的第一信号分组加上第二信号分组中的超量部分在该路径的最慢部分上的传输时间导致产生了差值D,所以即使第一探测消息中的数据量A1小于分段阈值,该计算也仍然有效。
在一个实施方式中,对第二探测消息中的数据量进行选择,以 便基本上填充两个最长信号分组。通过这种方式来最小化开销效应。然而,可以使用更少或更多的数据量。对于第一探测消息和第二探测消息的任何数量的信号分组,容量表达式都保持有效。在另一个实施方式中,第二探测消息中的数据量可以超过分段阈值的M(M>2)倍。类似地,第一探测消息中的数据量可以超过分段阈值。在每个实施方式中,可以通过将第一探测消息和第二探测消息中的数据量的差值除以差值D来计算容量。
控制设备10可以执行第八步28,以对其他业务使用的容量C1进行估计,并且从所测量的传说容量C0中减去该容量。使用C0-C1的余值作为可用容量的指示。当发送视频流时,控制设备10可以执行第九步29,以选择视频比特率(压缩率),和/或是否应当启用或禁用视频流的开始,根据该可用容量来生成警告消息。
在一个实施方式中,通过多对其他探测消息(每对其他探测消息的传输之间存在时间间隔)来估计其他设备的通信业务所使用的容量。可以根据第一探测消息和第二探测消息的往返行程持续时间值之间的差值D来选择该时间间隔的持续时间T,其中T等于D。在没有其他业务的情况下,这种消息应该保持相同的分隔时间T且彼此无阻碍地传过网络。当分隔时间T在到达时增加,则这可以归因于这些消息之间存在由网络承载的其他业务。
可以通过重复地发送这种对以及采用响应到达时增加的差值的平均值<DT>来估计这种其他业务所使用的平均容量。可以通过将容量C0乘以平均值<DT>与消息的平均往返时间之间的比率来量化其他业务速率C1。尽管已经显示了以等于D的时间差值T发送其他消息的实施方式,但应该想到可以使用更大或更小的差值,只要当T<D时考虑到因最低传输速率而产生的延迟的影响D-T,或者当T>D时考虑到DT<T-D时不可检测延迟的一小部分的影响。应该强调的是,这仅仅是如何测量其他业务所使用的容量的一个示例,存在许多可替代的方案。
在一个实施方式中,第一探测消息和/或第二探测消息可以兼作 其他探测消息。即,这种消息可以与第一其他消息组合,用于对所测量的传输容量C0进行估计,以及与另一消息组合,用于对其他业务使用的容量C1进行估计。
可以注意到,使用长度超过图2的往返行程测量过程中的分段阈值的至少一个探测消息具有的优点在于探测消息和其响应之间的自干扰不会对测量产生干扰。使用至少两个信号分组来发送来自至少最长探测消息的数据。当整个最长消息已经被发送时(即当发送了多个信号分组后),发送该响应(例如错误消息),使得其发送不会对这些数据分组的到达产生干扰。这应该与使用一个接一个探测信号(其中每个探测信号引起一个信号分组)的实验形成对比。在这种情况下当执行往返测量时,第二探测消息和第一探测消息的响应的时序将发生干扰,从而导致容量估计不可靠。
其次,对第一最小值和第二最小值进行独立确定的优点在于,消除了两个最小值情况,其中由于来自使用无线网络的其他设备16的业务形成的干扰,往返行程已经被延迟。使用UDP消息(即,并不引发应答且其传输在没有进行传递的情况下得不到重试协议或参数调整的支持的消息)使得有可能对来自应用层的容量测量进行控制。而且,应该注意到,在返回路径中使用错误消息确保了返回路径对第一往返行程持续时间和第二往返行程持续时间之间的差值的影响最小,而且无需在机顶盒12一侧进行特殊测量。尽管在一个实施方式中向同一非活动(或不支持)端口发送消息总会引发错误消息,但是应想到可以使用到任何(以及可变)非活动(或不支持)端口的消息。然而,在替代错误消息的另一个实施方式中,可以使用其他响应消息。
已经显示了控制设备10在规定执行上述步骤的计算机程序的控制下操作的示例。如本文所使用的,这是通过陈述控制设备10的处理电路104被配置为执行这些动作来表达的。然而,应该理解可以使用代替的专门电路来执行这些动作。这种电路也将称为被配置为执行这些动作的处理器电路。
尽管给出了应用所估计的容量来控制视频流的比特率(即压缩率)的示例,但是应该想到其他应用也是可行的,例如控制音频流和/或依据任务所需的网络容量是否可用来控制开始执行或延迟执行该任务。
尽管给出了对控制设备10和机顶盒12之间的容量进行测量的示例,但是应该想到,可用按照上述方式对代替控制设备10和机顶盒12的任何类型的第一网络节点和第二网络节点之间的容量进行测量。
根据一个方面,使用发送到目的地节点的未使用的UDP端口的UDP消息来执行分组对散射测量。这导致产生较小的UPD错误分组。
如上所述,根据A/(min(RTT2)-min(RTT1))来确定容量,其中A为数据量,RTT2和RTT1为往返行程时间值,以及“min”指示一系列重复中检测的最小值。这可以独立于分段或UDP以及错误消息的使用而应用。代替绝对最小值,可以使用接近最小值,例如在按照升序往返行程时间值的往返时间值排序中排在预定次序的值。
当使用诸如无线介质之类的共享介质时,有利的是,使用长度超过分段阈值(例如长度为A+MTU,其中A优选为等于MTU,MTU为分段阈值)的消息,等待响应以及确定往返行程时间值,来实现分组对散射测量。