本申请要求保护标题为“Calculation and/or Presentation of ConfidenceIntervals for Key Performance Indicators”且2011年12月27日提交的美国临时专利申请No.61/580,502的提交日的权益,其公开被通过引用整体结合于此。
具体实施方式
虽然本说明书提供了几个实施例和说明性的附图,但本领域普通技术人员应该认识到本说明书并非只是限于所描述的实施例或附图。应该理解的是,附图和详细说明并不意图将说明限于所公开的特殊形式,而是正相反,目的是涵盖所有落入权利要求的精神和范围内的修改、等同和替换。同样,任何于此使用的标题只是用于组织的目的而不是意图限制描述的范围。如这里所使用的,词“可以”表示传达许可的含义(即,意思为“有可能”),而不是强制性的含义(即,意思为“必须”)。类似地,词“包括”,“包含”和“具有”意味着包括而不是限于。
详细描述。
图1示意网络监控***的示例性框图。如所示,移动设备105和110可以能够通过网络115传输和接收去往和来自彼此的数据(例如,网页,音频,视频,等等)。同样,网络服务器120可以被配置为通过网络115提供一个或多个网页给客户端设备125。在各种实施例中,网络115可以包括任何适当的有线或无线/移动计算机或数据网络,其包括例如第三代(3G),***(4G),或3GPP长期演进(LTE)无线网络,IP语音(VoIP)网络,IP多媒体子***(IMS)网络,因特网,等等。
移动设备105和110之间的通信以及网络服务器120和客户端设备125之间的通信可以由网络监控***100监控,因为数据分组包括这些经过网络115的通信。同样地,网络监控***100可以包括耦合到网络115的网络监控器或分析器,分组嗅探器,探测器,或诸如此类。可以选择在图1中被用来使得能够发生通信的协议,例如,根据要被传递的内容的类型,网络115的类型,和/或设备105、110、和/或125的能力。可以被使用的协议的类型的例子包括,但不限于,超文本传输协议(HTTP),实时消息传送协议(RTMP),和实时传输协议(RTP)。
针对各种设备105、110和/或125的每个通信会话可以有不同的开始和结束时间,并且它们也可以经受不同的网络业务限制。在每个会话期间,针对该会话可用的带宽可以多次改变。同样,数据流可以在给定的会话期间开始和结束。
因此,网络监控***100可以被配置成针对通信会话对相关的数据分组进行采样(例如,不明显地)以便为每个会话和每个客户端追踪相同的用户体验信息集合而不用考虑用来支持所述会话的协议(例如,HTTP,RTMP,RTP,等等)。例如,通过计算和/或呈现(多个)关键性能指标(KPIs)以及针对所述KPIs的(多个)置信区间,监控***100可以能够识别关于每个用户的体验的特定信息,如在下文中更详细地描述那样。服务提供商可以使用这些信息,例如以便调整可用于客户端设备105、110、和/或125的网络服务(如分配给每个用户的带宽)和对通过网络115的数据分组的路由。
一般而言,客户端设备105、110和125可以包括任何计算机***或设备,诸如例如,个人计算机,膝上型计算机,平板计算机,移动设备,智能电话,网络使能的设备,网络使能的电视,等等。客户端设备105、110和125可以允许用户执行语音通信,操纵因特网或其他通过图形用户界面(GUI)使用网页浏览器应用程序或类似物的数据网络,等等。附加地或可选地,客户端设备125可以通过独立的或基于网络的客户端应用访问由网络服务器120使得可用的内容目录。网络服务器120可以包括任何能够递送内容给设备125的服务器或计算机***。
虽然只有设备105、110、120和125在图1上显示出来,但应该理解的是,网络115可以包括任意数目的节点和端点。例如,在一些实施方式中,网络115可以包括可能为3G或4G无线网络中的组件的节点或端点,例如服务GPRS支持节点(SGSN),网关GPRS支持节点(GGSN),或通用分组无线业务(GPRS)网络中的边界网关,CDMA2000网络中的分组数据服务节点(PDSN),长期演进/服务***架构演进(LTE/SAE)网络中的移动性管理实体(MME)或任何其他在端点之间传递数据分组或消息的核心网络节点或路由器。而且,应该理解的是,这样的节点和端点可以以任何合适的方式互相连接,包括被耦合到一个或多个其他这样的节点和/或端点。
如上所述,很多分组在端点之间穿过网络115。这些分组可以表示很多不同的会话和协议。例如,如果移动设备105用于语音或视频呼叫,则它可以使用实时传输协议(RTP)与SIP/VOIP服务器(没有示出)交换互联网协议电话(VoIP)或会话初始化协议(SIP)数据分组。如果移动设备105用于发送或取回电子邮件,则它可以与电子邮件服务器(没有示出)交换因特网消息访问协议(IMAP),邮局协议3协议(POP3),或简单邮件传输协议(SMTP)消息。如果客户端设备105用于下载视频或使视频流出,则它可以使用实时流协议(RTSP)来同网络服务器120建立和***体会话。可选地,移动设备105和110或客户端设备125处的用户可以使用超文本传输协议(HTTP)访问多个网站以便同网络服务器120交换数据。应该理解的是,在设备端点之间交换的分组可以遵守许多其他现在已知或之后开发的协议。
在一个典型的情况下,大约百分之一的经过网络115的分组承载控制数据,例如在端点之间建立、管理或拆除呼叫或会话的信息。其他百分之九十九的分组承载用户数据,例如去往和来自所连接的设备的实际的语音、视频、电子邮件或信息内容。
在各种实施例中,网络监控***100可以用于监控网络115的性能。为此,监控***100可以被配置为捕获经过网络115传输的分组。在一些实施例中,分组捕获设备可以非侵入式地耦合到网络链路以便充分地捕获所有经过链路传输的分组。应该理解的是,在实际网络中,节点之间存在许多或上百个物理、逻辑或虚拟连接和链路。在一些情况下,网络监控***100可以耦合到所有或者高百分比的这些链路。在其他实施例中,监控***100可以只耦合到网络115的一部分,例如只耦合到与特定运营商或服务提供商相关联的链路。分组捕获设备可以是网络监控***100的一部分,例如线路接口卡,或可以是从不同位置远程耦合到网络监控***100的独立组件。
监控***100可以包括一个或多个运行一个或多个软件应用的处理器,其从网络115收集、关联和/或分析媒体和信令数据分组。监控***100可以通过表征通过网络115上的链路、节点、应用和服务器的IP业务的特征,来结合协议分析器、会话分析器、和/或业务分析器功能,其提供OSI(开放***互连)第二层到第七层的故障诊断。在一些实施例中,这些操作可以被提供,例如,通过可从Tektronix公司获得的
工具集,虽然其他合适的工具可能存在或稍后被开发出来。将网络监控***100耦合到网络115的分组捕获设备可以是高速、高密度探测器,其被优化为处理高带宽IP业务,例如
其同样可以从Tektronix公司得到,虽然其他合适的工具可能存在或稍后被开发出来。服务提供商或网络运营商可以通过带有显示器或图形用户界面的用户接口站从监控***100访问数据,例如IRISVIEW可配置的软件框架,其为几个应用提供单一的、完整的平台,包括对客户体验管理***和操作支持***(OSS)和商业支持***(BSS)应用的反馈,这也可以从Tektronix公司得到,虽然其他合适的工具可能存在或稍后被开发出来。
监控***100可以进一步包括内部或外部存储器用于存储所捕获的数据分组、用户会话数据、和配置信息。监控***100可以捕获和关联与特定数据会话相关联的分组。在一些实施例中,相关的分组可以被关联和结合到针对网络115上的特定流、会话或呼叫的记录。这些数据分组或消息可以被捕获到捕获文件中。呼叫跟踪应用可以被用于将消息分类成呼叫并建立呼叫详细记录(CDRs)。这些呼叫可能属于基于优先网络或由优先网络定义的方案。在一个说明性的、非限定性的例子中,相关的分组可以使用5元组关联机制来关联。这样的5元组关联处理可以使用IP相关密钥,其包括5部分:服务器IP地址、客户端IP地址、源端口、目的端口和第四层协议(传输控制协议(TCP)、用户数据报协议(UDP)或流控制传输协议(SCTP))。
因此,网络监控***100可以被配置成针对通信会话来对相关数据分组进行采样(例如,不明显地)以便为每个会话和每个客户端追踪相同的用户体验信息集合而不用考虑用来支持所述会话的协议(例如,HTTP,RTMP,RTP,等等)。例如,监控***100可以能够识别关于每个用户的体验的特定信息,如在下文中更详细地描述那样。服务提供商可以使用这些信息,例如以便调整可用于端点105、110、和/或125的网络服务(如分配给每个用户的带宽)和对通过网络115的数据分组的路由。
尽管网络115的容量向10吉比特/秒(Gbps)增长并超过(例如,100Gbps),但是,它支持更多用户的流量和会话。同样的,对服务提供商或网络运营商来说,分析所有经过网络115的业务(例如,识别问题节点或链路)变得困难。一些***可以在相对短的时间段内收集所有的数据,期望采样具有代表性。其他***可以在全部时间收集一部分的网络业务并试图通过对其进行简单地缩放来为整个网络推断数据。为了解决这些和其他所关心的问题,某些于此描述的***和方法可以实现电信网络的自适应监控。
现在转向图2,描述了网络监控软件程序的框图。在一些实施例中,网络监控软件200可以是可由图1的监控***100执行的软件应用程序。如之前提到的,多个通信会话或数据流可以在设备105、110、120和/或125之间穿过网络115被传送。这样的通信可以通过HTTP、RTMP、RTP或任何其他合适的协议被流传输。
监控探测器205可以被配置为从网络115捕获数据分组,包括例如来自一个或多个HTTP请求或会话的数据。同样地,监控探测器205可以为所捕获的数据分组确定识别信息并可以将相关数据结合到会话或请求记录中。监控探测器205可以随后将会话记录和所捕获的分组数据反馈到监控引擎210。在一些情况下,会话记录可以包括多个段,当相关的会话处于活动时周期性地将所述段提供给监控引擎210。监控引擎210可以接着被配置成从每个会话记录提取会话数据并为每个会话记录识别协议。
会话数据可以被作为监控反馈提供给会话监控模块215和/或可以被存储到数据库220。数据库220还可以存储订户信息和客户端设备数据。
网络监控软件200可以允许服务提供商针对网络115从各种HTTP请求或会话并行或同时地收集数据。用于多个请求或会话的数据被存储在数据库220中,其允许服务提供商追踪每个会话或提取全***参数。例如,监控探测器205和/或监控引擎210可以通过分析所述会话的一个或多个数据分组的报头来识别用于每个会话的协议的类型。
监控探测器205和/或监控引擎210还可以追踪每个VoIP会话可用的带宽,并且可以识别实时发生的带宽改变。此外,监控探测器205和/或监控引擎210可以在用于任何请求或会话的数据分组的流中发生间隙或片段丢失时进行检测。所述请求或会话参数、带宽信息和间隙数据可以被收集给数据库200和/或呈现给服务提供商。
存储在数据库220中的数据可以由服务提供商查询,例如,基于每会话、每用户、每设备或每协议。会话监控模块210可以使用收集到的信息来为每个会话和为整个网络生成体验质量(QoE)和关键质量指标(KQIs)。所述QoE和KQIs可以基于例如检测到的多少时候一次重新缓冲、屏幕分辨率改变、间隙、和/或丢失的片段。会话期间额外的缓冲(即重新缓冲),许多的屏幕分辨率改变和VoIP流中的间隙可能降低用户的QoE。
返回参考图1和2,网络监控***100可以被配置为通过网络监控软件200来监控它所接近的网络业务的可编程片段(例如,10Gbps,100Gpbs,等)。这样的可编程部分可以被定义,例如,通过采样率等等。在一些情况下,监控探测器205和/或引擎210可以基于一组试探法来智能地分析业务以便区别高值业务和低值业务(或任何其他所选形式的业务)。这样的试探法的例子可能包括(但不限于)具有共同的源或目的地址、共同的订户识别符、共同的传输协议、共同的端口号、共同的内容类型等等的业务。根据不同类型的业务,可以应用不同的采样规则(或规则集合)。每个规则可以依次指示会在后续的处理中被使用的业务的一部分,例如,KPIs的计算等等。KPIs的例子包括,但不限定于,服务性能指标、网络拥塞指标、连接保持指标、服务质量指标、和/或网络可用性指标。
在软件200的控制下,网络监控***100还可以被配置为聚合数据来实现回程,生成网络流和基础KPI计算,数据的时间戳,数据的端口戳,滤除不需要的数据,协议分类,和深度分组检测(DPI)分析。另外,网络监控***100可以进一步被配置为执行数据的有状态分析,对呼叫关联的关键参数的提取和呼叫数据记录(CDRs)的生成,应用特殊处理,等等。
在操作中,监控引擎210可以被配置为接收负载信息(例如,CPU和/或存储器使用)和存储所述信息到数据库220中。其也可以被配置为生成和/或修改存储在数据库220中的采样规则。基于负载信息和/或网络条件确定,监控引擎210可以自适应地修改存储在数据库220中的规则的一个或多个方面,以及使用修改后的滤波器器、优先码和采样率等更新监控探测器205。
下面的表1提供了可以被存储在数据库220中的假定采样规则的一个例子用于说明:
表1
规则 |
条件 |
优先级 |
采样率 |
1 |
订户={A,B,或C} |
0 |
SR=100% |
2 |
订户={D,E,或F} |
1 |
SR=1% |
在这个例子中,监控引擎210可以接收规则1或将其存储在数据库220中,使得对于任何与订户A、B或C相关联的分组,采样率为100%。对于规则2,对于识别订户D、E或F的分组,采样率为1%。因此,在这种情况下,由网络监控***100检测到的来自和/或去往订户A、B和C的每个分组(即SR=100%)可以被用于后续的处理,诸如例如,计算与所述业务相关联的KPIs。相反地,所检测到的来自或去往订户D、E和F的分组的仅1%可以被用于所述业务的KPI计算。在一些实施方式中,关于重要客户可以应用规则1,反之,关于较不关键的订户(也被称为“白名单”或“VIP监控”)可以应用规则2。相反地,采样规则可以被建立成使得订户具有默认的以高或相对较高的比率(例如,100%)采样的他们的事件和/或维度,但是所选的订户是“黑名单”用户并且他们的事件/维度以较低的比率采样。
当基于遵循每个规则(和相应采样率)采样的分组来计算KPI参数时,每个这样的参数可以与统计的置信水平等等相关联起来。一般,随着给定的采样率降低,与相应KPI参数相关联的置信水平也趋于降低。相反地,随着采样率增大,置信因数也会增大。在很多实施例,统计置信值可以如关于下面的图4和5描述的那样被计算。
网络监控***100的实施例可以被一个或多个计算机***实现或执行。一个这样的计算机***在图3中被举例说明。在各种实施例中,计算机***300可以是服务器、大型计算机***、工作站、网络计算机、桌上型计算机、膝上型计算机、或诸如此类。例如,在一些情况下,图1中所示的网络监控***100可以被实现为计算机***300。此外,流传送服务器120或设备105、110和125中的一个或多个可以包括处于计算机***300的形式的一个或多个计算机。如上述解释的,在不同的实施例中,这些各种计算机***可以被配置为以任何合适的方式彼此通信,诸如例如,通过网络115.
如举例说明的那样,计算机***300包括一个或多个通过输入/输出(I/O)接口330耦合到***存储器320的处理器310。计算机***300进一步包括耦合到I/O接口330的网络接口340,和一个或多个输入/输出设备350,例如光标控制设备360、键盘370、和(多个)显示器380。在一些实施例中,给定实体(例如,网络监控***110)可以使用计算机***300的单个实例来实现,而在其他实施例中,多个这样的***或构成计算机***300的多个节点可以被配置为主控实施例的不同端口或实例。例如,在一个实施例中,一些元件可以通过计算机***300中的与实现其他元件的那些节点不同的一个或多个节点来实现(例如,当另一个计算机***可以实现监控引擎210时,第一计算机***可以实现监控探测器205)。
在各种实施例中,计算机***300可以是包括一个处理器310的单处理器***,或是包括两个或多个处理器310(例如,两个、四个、八个、或另外合适的数目)的多处理器***。处理器310可以是任何能够执行程序指令的处理器。例如,在各种实施例中,处理器310可以是实现任何多种多样的指令集体系结构(ISAs)的通用目的或嵌入式处理器,例如x86,
或
ISAs,或任何其他合适的ISA。在多处理器***中,处理器310中的每一个通常但不必须实现相同的ISA。而且,在一些实施例中,至少一个处理器310可以是图形处理单元(GPU)或其他专用图形渲染设备。
***存储器320可以被配置为存储程序指令和/或处理器310可存取的数据。在各种实施例中,***存储器320可以使用任何合适的存储器技术来实现,例如静态随机存取存储器(SRAM),同步动态RAM(SDRAM),非易失性/闪存型存储器,或任何其他类型的存储器。如解释说明的那样,实现于此描述的特定操作的程序指令和数据可以分别作为程序指令325和数据存储335被存储在***存储器320中。在其他实施例中,程序指令和/或数据可以被接收、发送或存储在不同类型的计算机可存取介质上或与***存储器320或计算机***300分离的类似介质上。一般而言,计算机可存取介质可以包括任何有形的存储介质或存储器介质例如磁性或光学介质-例如,通过I/O接口330耦合到计算机***300的盘或CD/DVD-ROM。以非瞬时的形式存储在有形的计算机可存取介质上的程序指令和数据可以进一步通过例如电、电磁或数字信号的传输介质或信号传送,其可以通过例如网络和/或无线链路的通信介质被传送,诸如其可以通过网络接口340实现。
在一个实施例中,I/O接口330可以被配置为调整处理器310、***存储器320和设备中的任意***设备(包括网络接口340或其他***接口,例如输入/输出设备350)之间的I/O业务。在一些实施例中,I/O接口330可以进行任何需要的协议、定时或其他数据变换来将数据信号从一个组件(例如,***存储器320)转换成合适于供另一个组件(例如,处理器310)使用的形式。在一些实施例中,I/O接口330可以包括对通过各种类型的***总线(诸如例如外设部件互联(PCI)总线标准或通用串行总线(USB)标准的变形)附接的设备的支持。在一些实施例中,I/O接口330的功能可以被分为两个或更多个独立组件,诸如例如北桥和南桥。另外,在一些实施例中,I/O接口330的一些或所有功能,例如到***存储器320的接口,可以直接结合到处理器310中。
网络接口340可以被配置为允许在计算机***300和附接到网络115的其他设备(例如其他计算机***)之间、或计算机***300的节点之间交换数据。在各种实施例中,网络接口340可以支持通过有线或无线通用数据网络(例如任何合适类型的因特网网络)的通信;通过例如模拟语音网络或数字光纤通信网络的电信/电话网络的通信;通过例如光纤信道SANs的存储区域网络的通信;或通过任何其他合适类型的网络和/或协议的通信。
在一些实施例中,输入/输出设备350可以包括一个或多个显示器终端、键盘、键区、触摸屏、扫描设备、语音或光学识别设备,或任何其他适合通过一个或多个计算机***300输入或取回数据的设备。多输入/输出设备350可以存在于计算机***300中或分布在计算机***300的许多节点上。在一些实施例中,相似的输入/输出设备可以与计算机***300分离,并可以通过有线或无线连接(例如通过网络接口340)与计算机***300的一个或多个节点相互作用。
如图3中所示,存储器320可以包括:程序指令325,其被配置为实现于此所述的特定实施例;和数据存储335,其包括可由程序指令325存取的各种数据。在一个实施例中,程序指令325可以包括如图2举例说明的实施例的软件元件。例如,程序指令325可以在各种实施例中使用任何期望的编程语言、脚本语言或编程语言和/或脚本语言的结合(例如,C、C++、C#、
等等)来实现。数据存储335可以包括用于这些实施例的数据。在其他实施例中,可以包括其他或不同的软件元件和数据。
本领域普通技术人员会意识到,计算机***300只是举例说明而不是意图限制于此描述的公开的范围。特别是,所述计算机***和设备可以包括可以执行指示的操作的硬件或软件的任何组合。另外,在一些实施例中,由举例说明的组件执行的操作可以由较少的组件执行或被分配在额外的组件上。类似地,在其他实施例中,一些举例说明的组件的操作可以不被执行和/或其他额外的操作可以获得。因此,于此描述的***和方法可以利用其他计算机***配置来实现或执行。
在一些实施例中,上文描述的***可以被配置为执行计算KPIs,以及KPIs的(多个)置信水平或(多个)置信区间的一种或多种方法。例如,假设网络监控***100中的监控探测器205为每个被观测的网络事件(“事件”)生成下列的网络事件向量(“事件向量”或“向量”):
(T,D1,D2,...,Dn,V0=1,V1,V2,...,Vn)
其中T是事件时间,DX是维度,且VX是值。具体来说,维度是通过其KPI可以被聚合或查看的所呈现的领域(field)。“维度”的例子可以包括,但不限于,订户(例如,通过国际移动用户识别码或IMSI,国际移动设备识别码或IMEI,移动用户综合业务数字网号码或MSISDN等)、蜂窝网、节点、手机制造商、手机型号、软件版本(例如,操作***、网络浏览器等等)、用户代理(UA),UA简档、服务、应用、位置、发布码、统一资源***(URL)、移动国家码(MCC)、移动网络码(MNC)等等。同时,“值”可以包括任何合适的可以***纵、聚合等的数字值,以便生成KPI。值的例子可以包括:等待时间、字节计数(上行链路和/或下行链路)、吞吐量、会话长度、尝试的数目(例如,连接尝试)、失败的数目(例如,连接失败、)等等。在上文所示的例子中,V0=1可以用作计数器-即其表示为了简单计数KPIs(例如,具有发布的事件的计数使得X可以被表示成当DRC=X时的和(V0)(sum(V0)))目的的事件本身的发生。
智能和/或自适应采样***(诸如结合图1-3描述的一个)可以以几个不同的形态采样网络事件-一些例子包括自适应随机采样、白名单区别采样等等。再次,自适应随机采样可以使用随机采样,但基于资源加载自适应地调整比率(即将比在高业务时间更高的低业务采样率)。在效果上,在这种模式下,采样率在时间维度上改变。相反地,在白名单区别采样中,对于任何给定维度,所述***可以以一个比率(R1)采样白名单中的事件,并且以不同的比率(R2)采样不在白名单上的事件。例如,为了实现VIP监控能力,***可以提供针对合适的维度的订户白名单,然后将R1设定为100%并且将R2设定为1%。如果我们假设VIPs构成总的订户对象总体的1%,则所述监控配置只为业务的~1%做详细处理,但是仍然可以产生可高度操作和正确的KPIs,如果以适当方式计算和呈现的话。
现在,假设针对VIP订户进行白名单区别采样的情况(白名单国际移动用户识别码或IMSI=100-199)其中R1=100%和R2=1%,并考虑如下该输出向量组的例子:
向量1:(T1,D1-IMSI=101,D2-HANDSET(手机)=H1,V0=1,V1-Latency(等待时间)=2)
向量2:(T2,D1-IMSI=151,D2-HANDSET=H2,V0=1,V1-Latency=5)
向量3:(T3,D1-IMSI=368,D2-HANDSET=H1,V0=1,V1-Latency=110)
向量4:(T4,D1-IMSI=499,D2-HANDSET=H3,V0=1,V1-Latency=89)
然后,考虑到可以基于向量1-4(例如在给定的时间范围内)计算的不同KPIs,包括(但不限定于):
例子A-总的平均等待时间:合适的计算是采样集中等待时间值的均值。如果我们假设等待时间值的典型分布(例如,正常分布),则于此描述的技术使得能够计算针对等待时间KPI的置信因数(例如,水平和/或区间)。
例子B-订户IMSI101的平均等待时间:在这个例子中,IMSI101在“白名单”中,并且因此假设其所有数据都被呈现-即其以100%的采样率被采样。使用于此描述的技术,统计学聚合和呈现层可以反映对理想的置信区间(即+/-0)或水平(例如,100%)来说什么是必要的。
例子C-订户IMSI368的平均等待时间:这是和例子B中的KPI陈述的类型相同的例子,但是由于被请求的订户不在白名单中,所以***知道数据已经被采样。在这个举例说明情况中,所述值将简单地被报告为110,并且置信因数可以被计算并反映适当的不确定性。
例子D-对具有HANDSET H1(手机H1)的用户的计数-针对该情况中的适当计算,***可以对VIP订户组中的用户进行计数(即和(V0))并将其添加到乘以1/采样率的剩余的H1用户的计数。
在一些实施例中,监控***可以了解事件会被观测和报告的条件。为了达到这一目的,我们可以引入与事件向量中的维度并行的一组DSx值。
(T,D1,D2,...,Dn,DST,DS1,DS2,...,DSn,V0=1,V1,V2,...,Vn)
每个DSx可以承载或以其他方式指示采样率,以所述采样率来针对该事件采样维度,其支持通用采样模型,在其中每个维度可以承载其自身的多层/白名单采样策略,但是,在一些情况下,可以假设一个模型,在其中单个主要维度是采样维度,并且所有其他维度是从属的。在其他情况下,这样的一个模型可以被扩展以支持同时活动的任意数目的主要采样维度。
在这种情况下,上述向量1-4现在可以变成:
向量1:(T1,D1-IMSI=101,D2-HANDSET=H1,DST=0.01,DS1=1.0,DS2=0.01,V0=1,V1-Latency=2)
向量2:(T2,D1-IMSI=151,D2-HANDSET=H2,DST=0.01,DS1=1.0,DS2=0.01,V0=1,V1-Latency=5)
向量3:(T3,D1-IMSI=368,D2-HANDSET=H1,DST=0.01,DS1=0.01,DS2=0.01,V0=1,V1-Latency=110)
向量4:(T4,D1-IMSI=499,D2-HANDSET=H3,DST=0.01,DS1=0.01,DS2=0.01,V0=1,V1-Latency=89)
向量1和2承载DS1中的采样率1.0,因此指示通过白名单的那些IMSI值并因此数据被100%呈现。所有其他DSx值为0.01,其反映了在这个特定例子中的默认采样率。还要注意的是,如果在向量中被单独承载,则DSx值可以经常是多余的。因此,在一些情况下,DSx值可以被编码以使得它们呈现或指示在其他地方存储的采样率(例如,数据库220的不同的表),而不是承载实际采样率。例如,事件向量表中的每个向量可以包括去往采样率表中的对应条目(以相关的方式,或诸如此类)的DSx指针。更一般地,应该注意到的是,于此描述的***和方法并不限于上述例子,其只是为了用于说明而提供的,但是相反相同或相似的信息可以以其他合适的方式获得,因此导致不同的具体实施方式。
在一些实施例中,KPI聚合引擎(例如,在监控引擎210中)可以使用DSx采样率来适当地计算KPIs。假设KPI的一般表示为:
(ΔT,D1,D2,...,Dn,K)
和事件向量或描述符形成对比,代替时间值,可以针对特定时间范围ΔT来计算KPIs。同样,可以以每维度集(例如,在事件记录中呈现的维度子集)来计算KPIs。此外,KPIs计算典型地产生单个值或结果K,虽然其在计算针对相同的维度和时间范围的KPIs集合的实施方式中十分普通。如上所表明的那样,为了适当地计算K以及能够呈现实际的置信区间给用户二者,可以使用附加信息。特别地,针对自适应采样***的KPIs可以表示为:
(ΔT,D1,D2,...,Dn,K,KN,Kn,Kσ)
其中K表示计算的KPI值(一般情况下其是采样均值),KN表示在没有发生采样的情况下全部对象总体中的事件的数目,Kn表示针对该KPI计算呈现的采样的数目,并且Kσ表示所观测的采样值的标准偏差。为了适当地计算自适应采样***的KPI值,可以使用对不同KPI类型来说特别的一些附加逻辑:
对于基于和的KPIs,例如,为了获得或估计采样集,算法可以从事件向量表中选择(Vx*1/DSx),其中(Dx=X,Dy=Y,...),并且T处于ΔY中。也就是说,结果或值由(多个)采样率来度量。对于基于均值的KPIs,为了获得或估计采样集,算法可以从事件向量表中选择(Vx),其中(Dx=X,Dy=Y,...),并且T处于ΔY中。在这两种情况下,为了获得或估计对象总体的大小KN,算法可以从事件向量表中选择和(1/DSx)(sum(1/DSx)),其中(Dx=X,Dy=Y,...),并且T处于ΔY中。同样的,K表示均值(采样集),KN表示对象总体大小,Kn表示计数(采样集),并且Kσ表示stddev(采样集)。
通过与KPI一起存储的附加的计算,所述***拥有足够的信息来报告对于给定目标置信因数的置信区间(即+/-X),或使用如下公式报告对于给定区间范围的置信因数(即95%):
其中X表示事件向量中对应值的采样均值或KPI结果(K),tn-1是从标准统计或分布表中获得的“t”值,S是采样标准偏差(Kσ),n是采样大小(Kn),并且N是对象总体大小(KN)。注意,包括限定的对象总体校正(fpc)因数(即根号内部的分数)的变量被用于“无采样”情况(即白名单采样外的采样,等等)。现在,使得:
在一些实施例中,用户可以设定置信水平(即95%),其确定t的值并接着确定置信区间等于+/-tn-1A。附加地或可选地,用户可以设定区间(X),并且置信水平为X/A的相关联的t值。
总而言之,一旦特定事件被观测或检测的采样条件在它们的对应向量中被识别到,就有可能计算与源自那些向量的KPI相关联的置信因数或值。图4是用于计算KPI的置信值的方法的流程图。在一些实施例中,方法400至少部分由网络监控***100执行。在块405,方法400可以识别多个表示被观测的、被检测的或被采样的网络事件的向量,每个向量都包括:一个或多个维度;采样率的指示,所述网络事件以该采样率被观测、检测或采样;和与每个维度相关联的值。例如,采样率可以经历随着时间根据网络或资源加载、根据白名单或黑名单协议等等的修改。同样,在相同向量中,给定的维度可以以第一采样率被观测,而另一个维度可以以不同的第二采样率被观测。
在块410,方法400可以计算与被采样的网络事件相关联的KPI,例如,针对(多个)所选维度。例如,可以基于关于在对应于(多个)所选维度的向量中报告的值而执行的操作(例如,均值、平均数、最小值、最大值、等等)来计算KPI。在块415,方法400可以估计在不存在采样的情况下将被观测的网络事件的数目(KN)。在块420,方法400可以确定被采样的网络事件的数目(Kn)。在块425,方法400可以计算值的标准偏差(Kσ)。并且在块430,方法400可以至少部分基于KN、Kn和Kσ来计算与KPI相关联的置信值。
置信区间和/或水平连同KPI值可以随后被显示给用户用于可视化。在一些实施例中,可以在计算机屏幕上以图形方式显示这样的可视化。例如,在KPI图上,阴影条可以在所述值之上和之下扩展。所述可视化也可以是文本(例如,表示紧邻KPI值的+/-值,等等)。然而,需要理解的是,于此描述的***和方法并不被限于任何一个特定类型的可视化,并且其他变型根据本公开将变得显而易见。
同样地,为了数据完整性评估等等的目的,于此描述的***和方法可以呈现完整的(和适当计算的)置信区间。此外,于此描述的***和方法可以解决核心客户的商业问题和许多客户满意问题,从而给予他们广泛的应用(产品/***等级)。
在一些实施例中,一旦KPI和相关联的置信水平和/或区间被呈现给用户,所述用户就可以期望调整所述置信值(例如,为了做出商业决定,其可能想知道具有更高准确性的特定的KPI或KPI集)。一般而言,所计算的KPI的置信是采样率的函数,利用该采样率来记录、检测或观测网络事件。相对应地,图5示出了调整采样率以使KPI结果符合期望的置信值的方法的流程图。在一些实施例中,方法500可以至少部分由网络监控***100执行。在块505,方法500可以至少部分基于与多个表示所检测的网络事件的向量中的维度相关联的值确定KPI。例如,可能已经由网络监控***使用采样率等等对所检测的网络事件进行自适应采样。
在块510,方法500可以如上文所述至少部分基于采样率来计算与KPI相关联的置信值。在块515,方法可以接收对置信值的调整或修改。这样的调整可以从用户或客户接收(例如,以期望值的形式),其可以是预先建立的,和/或其可以由网络监控***100遵循一条或多条规则(例如,报告规则为特定KPIs设定最小或目标置信值)来自动确定。然后,在块520,方法500可以至少部分基于对置信值的调整来计算第二采样率,使用该第二采样率来检测后续的网络事件。在一些情况下,可以通过使用另一个采样率检测或观测将来的网络事件、计算新的置信值、调整采样率(例如,作为新的置信值和期望值之间的差的函数)、以及重复所述过程一次或多次来反复地确定第二采样率。附加地或可选地,可以通过改变它们所观测的参数中的一个或多个参数和基于那些变量计算目标采样率(例如在指示监控探测器205改变针对后续网络事件的采样率之前)以模拟的方式使用现有的向量。
于此描述的各种技术可以以软件、硬件或其结合来实现。给定方法中的每个操作执行的顺序可以被改变,并且于此举例说明的所述***的各种元件可以被增加、重新排序、组合、省略、修改等等。利用本说明书的好处作出各种修改和改变对本领域普通技术人员来说将是清楚的。意图使于此描述的(多个)发明包括所有这样的修改和改变,并且因此,上述描述应该被认为是示例性说明而非限制性的意义。