用于识别数据分组网络中的候选流的系统和方法

文档序号:1146520 发布日期:2020-09-11 浏览:21次 >En<

阅读说明:本技术 用于识别数据分组网络中的候选流的系统和方法 (System and method for identifying candidate flows in a data packet network ) 是由 米歇尔·米勒 约翰·M·伯内特 本·哈多恩 戴夫·吉本斯 肖恩·布莱恩 于 2019-01-25 设计创作,主要内容包括:一种计算机实现的方法和传输管理器系统用于通过以下方式来减少网络拥塞:检测网络中的一个或多个数据流;使用候选流检测阈值来确定一个或多个数据流中的数据流是否是候选流,候选流检测阈值基于一个或多个数据流的一个或多个特性;以及响应于确定数据流是候选流,管理数据流。一个或多个数据流的消耗速率、持续时间、传递的字节的数量、吞吐量、或者聚合特性可以用于确定候选流检测阈值。(A computer-implemented method and transmission manager system for reducing network congestion by: detecting one or more data flows in a network; determining whether a data stream of the one or more data streams is a candidate stream using a candidate stream detection threshold, the candidate stream detection threshold based on one or more characteristics of the one or more data streams; and managing the data flow in response to determining that the data flow is a candidate flow. The consumption rate, duration, number of bytes delivered, throughput, or aggregate characteristics of one or more data streams may be used to determine the candidate stream detection threshold.)

用于识别数据分组网络中的候选流的系统和方法

相关申请的交叉引用

本申请要求于2018年1月26日提交的美国临时申请No.62/622,746的权益,其全部内容通过引用合并于此。

背景技术

当今的数据网络(其可以包括无线、有线和/或光纤网络)所面临的日益增长的问题之一是单个数据流(“流”)对这些数据网络施加的负担,该单个数据流在传送到终端用户设备或从终端用户设备传送期间在延长的时间段内消耗不成比例的网络资源量,这可以被称为“大象流(elephant flow)”。流媒体内容(音频、视频和/或其他类型的内容数据)、大型下载等通常产生这样的大象流。

消费者接入网络通常是针对传送短的数据突发和客户端设备对网络资源的短周期使用而设计的。结果,对于试图使用有限的网络资源来满足许多用户的峰值使用需求的网络流量工程师来说,大流量可能是主要的挑战。网络中存在大量未管理的大象流可能产生网络拥塞,网络拥塞导致所有用户及其应用的网络响应缓慢。

因此,期望能够识别可以被管理(例如,通过每个流带宽分配)以保持网络性能的候选流(例如,大象流)。

发明内容

本文描述了用于确定可以被处理和/或管理以防止网络的性能降级的候选流(例如,大象流)的系统和方法。可以使用可以被动态地调整的候选流检测阈值来确定候选流。

根据各种实施例,候选流检测阈值可以基于网络环境和许多其他因素而变化。实施例可以通过以下方式来调整候选流检测阈值:识别是视频流的流,以及通过直接观察编码速率或通过观察流的吞吐量来识别或推断正被传送到设备的视频编码速率。则该实施例可以计算已经传送的缓冲器的量和/或缓冲器增长的速率,并且使用一个或多个这些值来向上或向下调整该流的一个或多个候选流检测阈值。

另一实施例可以识别整个数据传输网络或网络子集(例如,单个eNodeB、目的地、源、订户类型等)的预期候选流的目标百分比,并且动态地调整(一个或多个)候选流检测阈值,直到满足候选流的目标百分比为止。

另一实施例利用整个数据传输网络或数据传输网络的子集(即,数据网络内的节点、或内容目的地、或内容源、内容类型等)上的数据传输会话的百分位来确定候选流检测阈值。例如,在网络节点内,实施例可以找到所有数据传输会话大小的第90个百分位的值,并根据该值来确定该网络节点的候选流检测阈值。其他实施例可以类似地使用其他数据传输会话指示符来操作(包括但不限于数据传输会话吞吐量或数据传输会话的持续时间)作为输入来操作以确定适当的候选流检测阈值。

另一实施例可以基于数据传输会话的源或目的地来测量候选流标识的频率。该信息可以用于增大或减小该源或目的地的候选流检测阈值。

在另一实施例中,实施例可以从另一网络节点接收信息,并且利用该信息以基于由该网络节点报告的当前数据传输网络状况来向上或向下调整候选流检测阈值。例如,如果网络节点资源使用增大或减小,则实施例可以增大或减小它为该网络节点检测到的候选流的数量。

在实施例中,可以基于一天中的时间来调整候选流检测阈值,使得该阈值可以适应于业务在一天中的特定时间期间增加,并且然后在不同时间期间减小的情况。实施例可以允许识别多个时间段,针对多个时间段定义不同的相应候选流检测阈值。

附图说明

图1A示出了示例网络环境。

图1B示出了另一示例网络环境。

图2A是根据实施例的传输管理器系统的框图。

图2B是根据另一实施例的传输管理器系统的框图。

图2C是根据另一实施例的传输管理器系统的框图。

图2D是根据另一实施例的传输管理器系统的框图。

图3是根据实施例的用户设备的框图。

图4示出了根据实施例的决策逻辑,其中候选流检测器识别可以是视频的流,并且基于已经传送到设备的量来调整候选流检测阈值。

图5示出了根据实施例的决策逻辑,其中候选流检测器识别可以是视频的数据传输会话或者由另一网络节点通知数据传输会话是视频的数据传输会话,并且基于视频回放缓冲器的增长速率来调整候选流检测阈值。

图6示出了根据实施例的决策逻辑,其中流检测器调整候选流检测阈值以在一组流中实现候选流的目标百分比。

图7示出了根据实施例的决策逻辑,其中流检测器调整候选流检测阈值以在一组流中实现目标百分位值。

图8示出了根据实施例的决策逻辑,其中候选流检测器使用由候选流检测器收集的或者从单独的网络节点报告的信息,并且使用该信息来调整那些流的候选流检测阈值。

图9示出了根据实施例的决策逻辑,其中候选流检测器基于从另一网络节点接收的信息来调整候选流阈值。

图10示出了根据实施例的决策逻辑,其中候选流检测器基于一天中的时间来调整候选流检测阈值。

图11示出了根据实施例的计算机系统。

具体实施方式

本文描述了用于确定可以被处理和/或管理以防止网络的性能降级的候选流(例如,大象流)的系统和方法。可以使用候选流检测阈值来确定候选流。

当数据网络拥塞时,数据分组(例如,数据流或流)遍历网络的速率通常将降低,从而导致小于最优数据吞吐量。网络拥塞的原因之一是“大象流”或其他类型的流的呈现或存在,这些流在使用包括共享吞吐量容量的网络资源时相对繁重。

候选流检测可以在分组数据网络内的任何点处执行,以识别可以被管理以提高网络性能的繁重流。候选流检测可以直接在数据业务上或在业务的副本上进行。存在许多原因想要识别网络中的候选流对比其他数据流,包括但不限于,对候选流应用服务质量(QoS)策略、基于识别的候选流行为创建安全策略、用户行为的统计分析等。

流可以被定义为从一个或多个源设备到一个或多个目的地设备的数据报分组流,而不管传输协议如何。作为示例,流可以包括一个或多个数据传输会话。例如,如果诸如智能电话的终端用户设备启动视频,则其可以为视频流创建一个数据传输会话,并且为音频流创建另一数据传输会话,两者都去往同一目的地服务器。根据各种实施例,从候选流检测系统的角度来看,这可以被视为单个流。

候选流的示例包括例如与使用网络带宽的大部分的媒体内容(例如,视频和/或音频文件)相关联的分组数据流。在一些情况下,候选流可以被定义为消耗总网络带宽中大于某个阈值水平的一部分的数据流。在其他情况下,候选流可以被定义为具有超过某个阈值量的数据速率的数据流。在其他情况下,候选流可以被定义为持续时间大于阈值持续时间的数据流。当然,阈值水平和阈值量的值可以是基于多个因素的设计选择,这些因素包括例如所涉及的数据网络的类型、终端用户的数量、总网络带宽等。在实施例中,阈值水平可以被动态地调整。

可以基于一个或多个标准来完成对网络中的候选流的识别。在一个实施例中,超过大小阈值的流(例如,传送至少3MB)被分类为候选流。在实施例中,在最小时间量内传送分组的流被分类为候选流(例如,在45秒或更长时间内主动地传送分组的流)。在另一示例中,候选流可以被定义为具有超过某个阈值(例如,2兆比特/秒)的数据速率的流。于2016年3月3日提交的并且公开为美国专利申请公开No.2016/0261510的美国专利申请No.15/060,486,指定了用于识别候选流(例如,大象流)的示例条件和阈值,并且其全部内容通过引用合并于此。

图1A示出了根据实施例的示例网络环境100。如图所示,网络环境100包括传输管理器系统102a、用户设备104、内容服务器106、数据网络108和数据网络110。尽管在图1A中未明确地示出,但是一个或多个附加用户设备104和一个或多个附加内容服务器106可以与数据网络108和/或数据网络110接口。

在实施例中,用户设备104可以是台式计算机、工作站、机顶盒、工作站、诸如智能电话或平板计算机的移动计算设备、诸如智能手表或增强现实眼镜的可穿戴计算设备等。

在实施例中,内容服务器106可以是例如向包括例如用户设备104的其他网络节点提供媒体内容(例如,视频和/或音频文件和/或数据文件)的服务器。

两个数据网络108和110可以用作用于在用户设备104、传输管理器系统102a和内容服务器106之间以数据分组的形式交换数据的路径。例如,当媒体内容文件(例如,视频或音频文件)正在从内容服务器106下载到用户设备104时,媒体内容文件可以通过传输管理器系统102a并经由数据网络108和110从内容服务器106路由到用户设备104。例如,内容服务器106可以通过发送具有包括用户设备104的网络地址(例如,互联网协议IP地址)作为目的地的报头的数据分组(该报头)并经由数据网络108和110向用户设备104发送媒体内容文件。在实施例中,两个数据网络108和110可以是两个不同的网络,或者可以是单个大功能网络的一部分。

在一些实施例中,数据网络108可以是将传输管理器系统102a通信地链接到用户设备104的接入网络(AN)。例如,在一些情况下,数据网络108可以是移动蜂窝接入网络之一,例如第二代(2G)网络、第三代(3G)网络、长期演进(LTE)网络、第五代(5G)网络等。在一些情况下,数据网络108可以包括链接到无线接入网络(RAN)的子节点的核心集合。在一些情况下,数据网络108、110、114的部分可以是局域网或数据中心,例如,位于移动网络的边界处的服务网关接口-局域网(SGi-LAN)或网关接口-局域网(Gi-LAN)。

在一些实施例中,将内容服务器106链接到传输管理器系统102a的数据网络110可以是广域网(WAN),出于说明的目的,其可以被视为互联网。

在一些实施例中,可以假设内容服务器106和用户设备104之间的分组数据业务的至少选定部分通过传输管理器系统102a或与传输管理器系统102a一致。为了促进业务通过传输管理器系统102a,在一个实施例中,传输管理器系统102a的物理位置可以位于将数据网络108(例如,诸如蜂窝或Wi-Fi网络的接入网络)与数据网络110(例如,WAN)连接的(一个或多个)边界业务聚集点处。然而,在其他实施例中,传输管理器系统102a可以位于其他地方。在一些实施例中,传输管理器系统102a可以是服务一个或多个AN的内容分发网络(CDN)的一部分。

如将参考图2A和图2B描述的,传输管理器系统102A包括流检测器,以监测多个数据流并且选择一个或多个数据流进一步处理和/或管理。

图1B示出了根据实施例的另一示例网络环境150。如图所示,网络环境150包括传输管理器系统102b,其被设计为管理两个网络设备(例如,用户设备104和内容服务器106)之间的数据流,类似于图1A的传输管理器系统102a。图1B的传输管理器系统102b包括与图1A的传输管理器系统102a中包括的组件类似的组件。然而,与图1A中所示的传输管理器系统102a不同,图1B的传输管理器系统102b不包括流检测器。相反,流检测器是流检测器系统112的一部分。

流检测器系统112包括网络接口160、一个或多个处理器162(例如,中央处理单元(CPU)、图形处理单元(GPU)等)、存储装置164(例如,易失性和/或非易失性存储器)和流检测器166。流检测器112可以被设计为除了其他特性之外还监测和/或采样经由数据网络108、110和114在内容服务器106和用户设备104之间的数据业务,如下面参考图2A-图2D所描述的。图1B的流检测器系统112和传输管理器系统102b可以通过数据网络114链接,在一些实施例中,该数据网络114可以是局域网或软件定义的网络,例如由路由器、交换机、网关等的直接互连的硬件集合组成的一个或多个网络。在一些实施例中,三个数据网络108、110和114可以是单个功能网络。

在实施例中,可以基于表征遍历数据网络108、110和114的数据流的配置策略或模板来识别选择性分组数据流,从而由流检测器系统112进一步处理以识别候选流。例如,流检测器系统112可以采用流检测器166来测量数据流的平均吞吐量、传送的数据量、持续时间和其他特性,以将流分类为候选流(因为候选流相对较大、不成比例地使用包括共享吞吐量容量的网络资源,所以候选流是相对繁重的数据流类型),并且确定大象流是用于管理的候选流。

流过数据网络108、110和114的分组的特定流类型(例如,大象流)可以基于例如分组的组件分组网络和传输层报头来确定,其可以包括例如IP源和目的地地址、传输控制协议(TCP)或用户数据报协议(UDP)源和目的地端口、协议(例如,IPv4)、流标签(例如,IPv6)、标志、扩展报头字段等的组合。即,例如通过处理分组的报头以确定分组具有例如相同的源和目的地端口、协议、流标签、扩展报头字段等,不同的分组可以被识别为属于同一数据流(或虚拟流)。一旦数据流(即,分组数据流)被识别,则可以确定所识别的数据流的特性(例如,正在携带的数据量、持续时间等)以确定该数据流是否是候选流。

在一些实施例中,通过对一个或多个流的聚合组合的分组进行采样并选择超过在定义的采样持续时间内测量的阈值数据速率的流,将数据流识别为候选流。在其他实施例中,通过采样和选择超过连续活动持续时间阈值的流,将数据流识别为候选流,其中连续活动持续时间阈值可以通过测量多个连续数据速率或一系列数据速率来定义,其中每个数据速率都超过阈值数据速率。在其他实施例中,通过仅随机地采样一个或多个流的聚合组合的一些分组,并且选择超过相对检测概率的流,将数据流识别为候选流,其中,该相对检测概率指示聚合业务带宽的相对不成比例使用。在其他实施例中,这些方法可以组合使用或与其他类似方法一起使用。

在一些情况下,当网络或传输层分组数据有效载荷被加密或模糊化时,可以处理/检查有效载荷报头以识别属于同一分组数据流的分组。在其他情况下,在分组数据有效载荷可读的情况下,可以处理/检查网络或传输分组有效载荷中的信息,以进一步帮助识别与特定数据流或数据流类型(例如,流视频)相关联的分组。

在一些实施例中,一旦流检测器系统112识别出可能是繁重的候选流或另一流,则流检测器系统112可以触发数据网络114中的分组转发逻辑的重新配置,使得所识别出的数据流中的分组被引导为在源(例如,内容服务器106)和目的地(例如,104)之间的端到端路径中通过传输管理器系统102b。例如,流检测器系统112可以将候选流的特性传递到包括数据网络114的一个或多个路由器和交换机。因此,动态配置的转发或交换规则可以用于例如使用软件定义网络的原理来引导候选流中的后续分组在分组的端到端路径中通过传输管理器系统102b。然而,在其他实施例中,根据默认规则,传输管理器系统102b可以被包括在端到端路径中,并且流检测器系统112可以仅向传输管理器系统102b通知与一个或多个分类模板匹配的检测到的流,使得检测到的流被处理(例如,通过调整流速率以减小检测到的流的传送速率),而其他业务流可以被转发而不被处理。

在一些情况下,流可以是单向的(例如,上行链路或下行链路流),或者可以通过与相反方向上的流(例如,具有互换的目的地和源网络地址、互换的端口地址、公共流标签等的分组)配对而是双向的,其属于连接端点的通信对。在一些实施例中,双向流对的两个方向可以被引导到传输管理器系统102b。

在一些实施例中,流检测器系统112和传输管理器系统102b可以是如图1B所示的不同的功能元件,或者被组合到如图1A所示的单个功能单元中。

图2A示出了可以用于实现图1A的传输管理器系统102a的传输管理器系统200a。传输管理器系统200a包括经由总线210链接在一起的网络接口202(例如,网络接口卡或“NIC”)、一个或多个处理器204、队列206(例如,缓冲器)、流检测器166和存储装置208(即,非暂态计算机可读介质,例如,易失性和/或非易失性存储器,包括例如随机存取存储器(RAM)、只读存储器(ROM)、闪存、磁盘存储器等)。存储装置208可以存储一个或多个应用214(例如,计算机可读指令)和一个或多个策略216,用于选择和/或确定应当管理哪些分组数据流。

流检测器166可以被设计为除了其他特性之外还检测和监测多个数据流并通过选择一个或多个数据流作为候选流用于进一步处理/管理而用作候选流检测器。候选流的选择可以基于存储在存储装置208中或者来自其他源的一个或多个策略216。在各种实施例中,流检测器可以使用定制电路(例如,专用集成电路或ASIC)来实现,或者通过采用定制电路和由可编程电路(例如,一个或多个处理器)执行的软件的组合来实现。

如图2A进一步示出的,传输管理器系统200a还包括流管理器212a,其可以被设计为除了其他特性之外还测量数据流(即,分组数据流)的传送性能(例如,传送吞吐量或一些其他的传送参数)。流管理器212a可以至少部分地基于测量的数据流的传送性能来检测网络是否拥塞,并且可以响应于检测到网络拥塞,通过调整数据流到目的地(例如,用户设备104)的传送以减小数据流的传送速率,来对数据流进行步调(pace)。在图2A所示的实施例中,流管理器212a由执行一个或多个计算机可读编程指令(例如,应用214)的一个或多个处理器204(或其他可编程电路)实现。图2B的流管理器212a、流管理器212b以及图2B的流检测器166是逻辑单元,每个逻辑单元都被设计为执行本文将要描述的各种功能。

图2B示出了可以用来实现图1A的传输管理器系统102a的另一传输管理器系统200b。传输管理器系统200b包括与图2A的传输管理器系统200a相同的一些组件。然而,与图2A的流管理器212a不同,图2B中所示的流管理器212b可以使用定制电路来实现,而不是使用执行软件(例如,机器可读编程指令)的一个或多个处理器204来实现。

在其他实施例中,图2A的流管理器212a或图2B的流管理器212b可以使用定制电路和由可编程电路(例如,由处理器204)执行的软件的组合来实现。

图2C示出了可以用于实现图1B的传输管理器系统102b的传输管理器系统200c。传输管理器系统200c包括许多与图2A的传输管理器系统200a相同的组件,但是不包括传输管理器系统200a的流检测器166。

图2D示出了可以用于实现图1B的传输管理器系统102b的另一传输管理器系统200d。传输管理器系统200d包括许多与图2B的传输管理器系统200b相同的组件,但是不包括传输管理器系统200b的流检测器166。

在实施例中,诸如流管理器212a或流管理器212b的流管理器可以与流检测器166结合使用以充当候选流检测器来识别应当被管理的候选流。

图3是根据实施例的用户设备104的框图。在一些情况下可以是移动计算设备或台式计算机的用户设备104可以包括经由总线310耦合在一起的网络接口302(例如,NIC)、一个或多个处理器304、用户接口306(例如,包括显示器、扬声器、键盘、鼠标等)和存储装置308(例如,易失性和/或非易失性存储器)。存储装置308可以存储一个或多个应用314以及一个或多个文件316(例如,诸如音频和/或视频文件的媒体内容文件)。在一些实施例中,一个或多个处理器304可以执行一个或多个计算机可读指令(例如,应用314)以实现代理312,该代理312可以被设计为促进由图1A的传输管理器系统102a和/或图1B的传输管理器系统102b执行的各种功能。

实施例涉及使用候选流检测阈值来确定用于拥塞管理的候选流,该候选流检测阈值适于以下各项中的一项或多项:数据流的一个或多个特性、多个数据流的一个或多个特性、一天中的时间、设备类型、设备标识、数据流的端点标识等。多个数据流可以是遍及数据通信网络的全部或部分的数据流、去往或来自单独设备的数据流、去往或来自特定类型或型号的设备的数据流、通过网络中的节点或节点组发送的数据流等。

图4示出了根据实施例的用于基于视频缓冲器大小的候选流检测阈值计算逻辑的处理400的决策逻辑。在处理400中,候选流检测器识别可能是视频的流,并且基于可能已经被传送到视频回放设备的缓冲器的量(时间)来调整候选流检测阈值。在一些实施例中,处理400可以由诸如图2A和图2C的流管理器212a的流管理器来执行。在其他实施例中,处理400可以由诸如图2B和图2C的流管理器212b的流管理器来执行。

在S402,处理400通过监测数据传输会话来检测通过数据传输网络的数据流。

在S404,处理400为每个流确定它是否可以是视频流。处理400可以通过各种方法来检测流可以是视频流,所述方法包括但不限于内容目的地识别(例如,通过将流的端点识别为视频流的源)、业务模式识别、DNS嗅探(sniffing)和深度分组检查。将数据传输会话识别为视频也可以由另一网络节点执行,并且该信息被传送到处理400。在实施例中,识别视频流的一些方法可以将非视频数据流不正确地识别为视频数据流,但不正确地识别的数据流仍可以被识别为候选流并且相应地被管理。

当在S404处确定流是视频流时,处理400前进到S406;否则,处理400结束。

一旦确定流是视频流,则在S406,确定视频流的吞吐量。在S408,处理400确定正在传送的视频编码速率(即,视频比特率;更一般地,由流传送的媒体的消耗速率)。视频编码速率可以通过观察数据传输会话的属性来确定,或者从数据传输会话的传输速率来推断。

一旦确定或推断出视频的编码速率,则在S410,处理400调整候选流检测阈值,使得在特定量的视频回放已经被传送到接收数据传输会话的数据的设备的缓冲器之后,数据传输会话将被识别为候选流。

作为示例,当使用流发送的30秒视频在流的目的地处被传送时,处理400可以试图将视频流分类为候选流。视频流A可以具有1.5Mbps的吞吐量,处理400可以根据该吞吐量推断出视频流A正在传送480p视频。480p视频可以被估计为具有1.3Mbps的编码速率。因此,处理400可以估计视频流A的额外吞吐量(所提供的1.5Mbps对比所需要的1.3Mbps)将在26秒(=30×1.3/1.5)内提供30秒视频,并且一旦视频流A的持续时间超过26秒,则可以将视频流A视为候选流。也就是说,视频流A的候选流检测阈值被设置为26秒。

然而,视频流B可以具有7Mbps的吞吐量,处理400可以根据该吞吐量推断出视频流A正在传送1080p视频。1080p视频可以被估计为具有5Mbps的编码速率。因此,处理400可以估计视频流B的额外吞吐量(所提供的7Mbps对比所需要的5Mbps)将在约21.4秒(=30×5/7)内提供30秒的视频,并且一旦视频流A的持续时间超过21.4秒,则可以将视频流A视为候选流。

一旦数据流被确定为候选流,则可以对其进行管理以减少数据拥塞。管理候选流可以包括步调候选流以减小其吞吐量。在实施例中,如上面引用的美国专利申请公开No.2016/0261510中所述,步调候选流可以通过在候选流的分组之间***延迟时间、延迟或缓冲候选流的分组来执行。在实施例中,步调候选流可以包括使用其他拥塞控制机制的其他方法,例如丢弃分组、向发送节点发送信号以使TCP拥塞窗口的大小被调整等。

在这些示例中,候选检测阈值是时间,但是根据各种实施例,其也可以是传送的字节或基于所估计的缓冲器容量而调整的其他值的组合。

在S412,处理400使用在S410处计算出的候选流检测阈值来评估数据传输会话,并且相应地确定数据传输会话是否是候选流。如果数据传输会话被确定为候选流,则可以如上所述地管理该候选流以减小网络拥塞的概率。

图5示出了根据实施例的用于基于视频缓冲器填充速率的候选流检测阈值计算逻辑的处理500的决策逻辑。在处理500中,候选流检测器识别作为视频的数据传输会话或者由另一网络节点通知数据传输会话是视频的数据传输会话,并且基于视频回放设备上的视频回放缓冲器的增长速率来调整候选流检测阈值。

在实现方式中,图5的步骤S502至S508对应于图4的步骤S402至S408,并且因此为了简洁而省略了对其的描述。

在确定或推断出被识别为视频流的数据流的编码速率之后,在S510,处理500调整候选流检测阈值,使得在缓冲器增长速率超过目标值之后,数据传输会话将被识别为候选流。

作为示例,视频流A可以具有1.5Mbps的吞吐量,处理400可以根据该吞吐量来推断视频流A正在传送480p视频。480p视频可以被估计为具有1.3Mbps的编码速率。因此,处理500可以估计视频流A的缓冲器增长速率为2Mbps(=1.5Mbps-1.3Mbps)。

视频流B可以具有7Mbps的吞吐量,处理400可以根据该吞吐量推断出视频流A正在传送1080p视频。1080p视频可以被估计为具有5Mbps的编码速率。因此,处理500可以估计视频流A的缓冲器增长速率为2Mbps(=1.5Mbps-1.3Mbps)。

在S512,处理500将每个视频流的估计缓冲器增长速率与候选流检测阈值进行比较,以确定每个视频流是否是候选流。例如,如果候选流检测阈值是0.25Mbps,则具有0.2Mbps的估计缓冲器增长速率的视频流A将不会被识别为候选流,而具有2Mbps的估计缓冲器增长速率的视频流B将被识别为候选流。在另一实施例中,缓冲器增长速率目标值被加到相应的编码速率以确定每个视频流的候选流检测阈值,并且将每个视频流的吞吐量与对应的候选流检测阈值进行比较以确定该视频流是否是候选流。当视频流的吞吐量超过其候选流检测阈值时,该视频流被确定为候选流并且随后可以被管理以减少网络拥塞。

图6示出了根据实施例的处理600的决策逻辑,其中流检测器调整候选流检测阈值以实现候选流的目标百分比。在处理600中,流检测器调整候选流检测阈值以实现跨一组流的候选流的目标百分比。在图6中,S602中起始的两个箭头指示潜在并行性:S604、S606、S608和S610包括处理600的第一子处理,S612和S614包括处理600的第二子处理,并且第一和第二子处理可以并行或顺序执行,这取决于实施例。

在S602,处理600通过监测数据传输会话来检测经过数据传输网络的一个或多个节点的数据流。

在S604,处理600确定已经被分类为候选流的活动数据流的百分比。例如,如果在网络上当前正在执行1000个数据流,并且确定这些数据流中的31个数据流是候选流,则在S602,处理600将确定总流的3.1%是候选流。

在S606,处理600将作为候选流的活动数据流的百分比与目标百分比进行比较。当作为候选流的活动数据流的百分比小于目标百分比时,处理600前进到S608。当作为候选流的活动数据流的百分比大于目标百分比时,处理600前进到S610。

在S608,处理600减小候选流检测阈值,以增大被确定为候选流的数据流的数量。

在S610,处理600增大候选流检测阈值,以减小被确定为候选流的数据流的数量。

例如,当目标百分比是3%并且处理600在S604处确定总数据流的3.1%被分类为候选流时,在S606,处理600前进到S610,在S610中,处理600改变候选流检测阈值(例如,通过增加其值),使得较低百分比的数据流将被确定为候选流。

然而,当目标百分比是3%并且处理600在S604处确定总数据流的2.9%被分类为候选流时,在S606,处理600前进到S608,在S608中,处理600改变候选流检测阈值(例如,通过减小其值),使得较高百分比的数据流将被确定为候选流。

在实施例中,候选流检测阈值的调整可以与所确定的百分比和目标百分比之间的差成比例。例如,当目标百分比是3%,候选流检测阈值是3MB,并且所测量的被确定为候选流的当前流的百分比是2.8%时,候选流检测阈值可以被向下调整为2.8MB。

在实施例中,对于单个网络节点、目的地节点、另一识别因子或前述的组合,候选流检测器可以具有针对整个数据传输网络的候选流的目标百分比。作为示例,网络节点可以具有根据由该网络节点传输的所有数据会话的3%的目标百分比来配置的大象流检测阈值。

在S612,处理600为数据传输会话确定用于识别候选流的相应数据流的属性是否超过候选流检测阈值。当超过候选流检测阈值时,在S612,处理600前进到S614;否则处理600可以结束。

在S614,处理600将数据传输会话标记为候选流。

图7示出了根据实施例的处理700的决策逻辑,其中流检测器调整候选流检测阈值以实现跨一组流的目标百分位值。在图7中,S702中起始的两个箭头指示潜在并行性:S704包括处理700的第一子处理,S712和S714包括处理700的第二子处理,并且第一和第二子处理可以并行或顺序执行,这取决于实施例。图7的S702、S712和S714分别对应于图6的S602、S612和S614,并且因此为了简洁起见省略了对S702、S712和S714的描述。

在S704,处理700根据在S702处监测的数据传输会话的一个或多个特性的分布,来周期性地更新候选流检测阈值。处理700设置候选流检测阈值,使得在(一个或多个)特性的目标百分位中的流将被认为是候选流。

例如,在实施例中,用于确定候选流的属性可以是所传输的数据量。在S704,处理700将确定所传输的数据量的分布。然后,处理700将识别与目标百分位相对应的传输的数据量。例如,如果目标百分位是90%,则处理700将确定传输的数据量的第90个百分位,对于第90个百分位,监测的数据传输会话的90%具有小于传输的数据量,并且对于第90个百分位,监测的数据传输会话的10%至少具有传输的数据量。然后,处理700将候选检测阈值设置为所确定的传输的数据量的第90个百分位。

百分位值可以基于一个、几个数据传输会话特性(例如传输的数据量、数据传输的持续时间等)、或数据传输会话特性的组合。此外,针对单个网络节点、针对目的地节点、针对另一网络节点或针对用户设备,处理700可以跨整个数据传输网络来执行。

图8示出了根据实施例的处理800的决策逻辑。在处理800中,候选流检测器使用由候选流检测器收集的或者从单独的网络节点报告的信息,并且使用该信息来调整那些流的候选流检测阈值。在图8中,在S802中起始的两个箭头指示潜在并行性:S804和S806包括处理800的第一子处理,S812和S814包括处理800的第二子处理,并且第一和第二子处理可以并行或顺序执行,这取决于实施例。图8的S802、S812和S814分别对应于图6的S602、S612和S614,并且因此为了简洁起见省略了对S802、S812和S814的描述。

在S804,处理800从另一网络节点接收关于数据流的信息,确定关于在S802处监测的数据流的信息、或两者。

在S806,处理800使用在S804处接收的、计算的信息或两者来调整或计算候选流检测阈值。可以针对所有数据传输会话或针对数据传输会话的子集来调整候选流检测阈值。

在实施例中,候选流检测器将观察经过数据传输网络的数据传输会话,并且在内部计算或接收来自另一网络节点关于以下各项的信息:内容分发节点或用户设备装置生成或请求数据传输会话的频率以及这些数据传输会话被分类为候选流的频率。

在示例实施例中,候选流检测器可以跟踪由用户设备生成的被识别为候选流的数据传输会话的百分比,并且如果候选流数据传输会话的百分比超过设置值,则触发针对由该用户设备生成的后续数据传输会话的候选流检测阈值的改变。

在另一示例实施例中,候选流检测器可以内部地确定或者由另一网络节点通知针对特定用户设备类型(例如,用户设备类型的品牌和/或型号)检测到候选流的速率,并且相应地调整针对该用户设备类型的数据传输会话的候选流检测阈值。

图9示出了根据实施例的处理900的决策逻辑。在处理900中,候选流检测器基于从另一网络节点接收的信息来调整候选流阈值。在图9中,S902中起始的两个箭头指示潜在并行性:S904和S906包括处理900的第一子处理,S912和S914包括处理900的第二子处理,并且第一和第二子处理可以并行或顺序执行,这取决于实施例。图9的S902、S912和S914分别对应于图6的S602、S612和S614,并且因此为了简洁起见省略了对S902、S912和S914的描述。

在S904,处理900从网络节点接收消息,并且可以响应于接收到的消息中的信息而调整针对所有数据传输会话或数据传输会话的子集的候选流检测阈值。在实施例中,可以将接收到的消息中的信息与从在S902处执行的监测中导出的信息进行组合,以调整候选流检测阈值。

例如,数据传输网络可以具有网络节点,该网络节点从用户设备或其他网络节点收集数据传输会话性能度量,并且将该信息发送到候选流检测器以调整候选流检测阈值。对于生成传输大量数据的大数据传输会话的网络节点或用户设备,其中这些数据传输会话不会降低网络性能或负面地影响其他数据传输会话,候选流检测器可以增大针对这些类型的数据传输会话的候选流检测阈值。在实施例中,数据传输质量报告网络节点可以是任何类型的设备或处理,并且收集和发送任何种类的度量到候选流检测器。

在实施例中,数据传输会话的连续持续时间(即,流无中断地操作了多长时间)可以用于确定流是否是候选流。

图10示出了根据实施例的处理1000的决策逻辑,其中候选流检测器基于一天中的时间来调整候选流检测阈值。在图10中,在S1002中起始的两个箭头指示潜在并行性:S1004和S1006包括处理1000的第一子处理,S1012和S1014包括处理1000的第二子处理,并且第一和第二子处理可以并行或顺序执行,这取决于实施例。图10的S1002、S1012和S1014分别对应于图6的S602、S612和S614,并且因此为了简洁起见省略了对S1002、S1012和S1014的描述。

在S1004,处理1000可以基于一天中的时间来调整候选流检测阈值。例如,在典型的网络节点上,凌晨1点几乎没有业务,而晚上9点左右业务达到峰值。在实施例中,候选流检测器可以被配置为在半夜期间将候选流检测阈值调整到较高值,并且然后在峰值时间期间降低候选流检测阈值,以应对该网络节点在不同时间存在的不同业务状况。

在实施例中,一天中的时间可以不仅包括一天中的一小时,而且包括一月或一年中的一天、一周中的一天、不管一天是否是假期等。例如,在实施例中,可以根据当前时间是否对应于周末,或者当前时间是否对应于与网络业务的增加相关联的安排的事件(例如,重大体育赛事)的持续时间,来调整候选流检测阈值。

本公开的实施例可以在计算机系统中或者在非暂态计算机可读介质上实现。图11示出了计算机系统1120,该计算机系统1120包括处理器1121、总线1122、存储器1123、以及用户接口输入设备1126、用户接口输出设备1127、存储装置1128、以及耦合到网络1130的网络接口1129。处理器1121可以是执行存储在存储器1123和/或存储装置1128中的处理指令的中央处理单元(CPU)或半导体器件。存储器1123和存储装置1128可以包括各种形式的易失性或非易失性存储介质。例如,存储器X23可以包括ROM 1124和RAM 125。

因此,本公开的实施例可以被实现为计算机实现的方法或其上存储有计算机可执行指令的非暂态计算机可读介质。在实施例中,计算机可读指令在由处理器执行时,可以执行根据本公开的至少一个方面的方法。

尽管关于特定示例描述了本技术的各方面,但是本技术的实施例不受这些示例的限制。例如,本领域技术人员将认识到,在不脱离本技术的范围或精神的情况下,可以根据各种其他算法和处理来执行通过有条件地使用空闲网络容量进行的数据下载。

25页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:片上网络中的端到端服务质量

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!