检测警报的通信网络洞察力的制作方法

文档序号:24893750发布日期:2021-04-30 13:22阅读:73来源:国知局
检测警报的通信网络洞察力的制作方法

本公开通常涉及通信网络,且尤其是涉及检测警报的通信网络洞察力。

背景

通信网络(诸如光纤网络、蜂窝网络和宽带无线网络)为计算系统(例如计算机、平板计算机、智能手机)提供数据通信信道以传递数据和信息,诸如文本、图像、视频、网站内容等。由通信网络覆盖的地理区域可以被分成多个子区域(例如,分区(tile)、在蜂窝网络中的小区、地区(诸如县、城市、城镇、村庄等的集合的区域))。每个子区域可以生成一定量的网络流量,并且通信网络可以向由通信网络覆盖的任何数量的子区域提供连接服务。用户可以(例如使用计算设备)访问通信网络,以用于下载和上传数据。通信网络可以具有允许用户使用由通信网络支持的服务的带宽。

特定实施例的概述

这里描述的特定实施例涉及在前端和后端两者处监控通信网络性能(例如网络流量拥塞、网络覆盖问题)和通信网络的最终用户的用户体验(例如网络速度、网络时延、信号状态)的方法。系统的特定实施例可以检测警报的网络洞察力(networkinsight),诸如在由通信网络覆盖的一个或更多个地理区域中的网络流量拥塞或网络覆盖问题。特定实施例可以确定用于检测网络拥塞的一个或更多个网络性能度量。例如,系统可以首先在通信网络中识别具有相对高业务量的一个或更多个区域。系统可以针对每个识别出的区域确定在通信网络的繁忙小时(busyhours)期间的第一平均网络速度和在通信网络的非繁忙小时(non-busyhours)期间的第二平均网络速度。系统可以计算第一平均网络速度和第二平均网络速度之间的差与第一平均网络速度或第二平均网络速度的比率,并使用该比率作为网络性能度量来估计在该区域中的网络性能和用户体验的质量。作为另一个示例,系统可以基于与网络速度曲线(例如下载速度相对于业务量或样本的数量)相关联的参考点来确定每个单独区域的拥塞度量。系统可以计算网络速度曲线的第一参考点和第二参考点的平均下载速度之间的差。第一参考点可以是代表下载速度曲线的相对平坦部分的下载速度的平均值或中值的参考点。第二点可以在曲线的与业务量的较高端对应的部分中。系统可以计算两个参考点处的两个平均下载速度之差与第一参考点或第二参考点处的平均速度的比率,并使用该比率作为网络性能度量。系统可以使用机器学习(ml)模型来确定网络性能度量的阈值,并将所确定的网络性能度量与该阈值进行比较。当网络性能度量低于阈值时,系统可以识别到在该区域中的网络流量拥塞。系统可以使用网络性能度量对具有网络流量拥塞的多个区域排序,并且向经营商(operator)发送关于检测到的网络流量拥塞的拥塞警报。拥塞警报可以按一个或更多个相关属性(包括例如网络性能度量、位置、中值下载速度、区域下载速度、小区标识等)来排序。系统的特定实施例可以确定一个或更多个网络覆盖度量(例如信号强度、所连接的塔的数量、信号稳定性状态),并且将网络覆盖度量与用于检测网络覆盖问题的相应阈值进行比较,作为警报的网络洞察力。系统的特定实施例可以确定一个或更多个体验质量相关度量(例如下载速度、时延(诸如往返时间、上游时延、下游时延、在繁忙小时的下载速度、在繁忙小时的时延等))并将体验质量度量与用于检测体验质量问题的相应阈值进行比较,作为警报的网络洞察力。例如,如果这些体验质量相关度量中的一个比所需要或要求的阈值差或者在最差的某个百分比之中,则体验质量相关问题或警报的网络洞察力可以被检测和报告。作为另一个示例,如果一个或多个体验质量相关度量的映射函数比所需要或要求的阈值更差或者在更差的某个百分比当中,则体验质量相关问题或网络洞察力警报可以被检测和报告。

这里描述的特定实施例涉及基于多个体验质量(qoe)度量(例如下载速度、繁忙小时的下载速度、时延)和根本原因度量(例如信号强度、拥塞指标、样本数量)来确定通信网络的低qoe的根本原因的方法。系统可以首先在n天(例如7天、28天)的持续时间内收集在多个区域(例如小区、分区、地区)中的应用使用数据。然后,系统可以预处理所收集的数据以进行过滤和清理,并将所收集的数据聚合成每一天每小时或所有n天每小时的数据点。在那之后,系统可以基于所清理和聚合的数据来确定一个或更多个qoe度量和根本原因度量。系统可以使用第一组标准来确定在一个或更多个感兴趣区域(例如小区、分区、地区)中的低qoe。例如,系统可以使用一个或更多个预定的低qoe阈值(例如绝对值阈值、百分比阈值、百分位数阈值)以基于一个或更多个qoe度量(例如下载速度、繁忙小时的下载速度、时延)来识别低qoe小区。然后,系统可以使用第二组标准来确定在这些区域中的低qoe的原因。例如,系统可以确定每个根本原因度量的小区百分位数(例如,基于根本原因度量),并使用一个或更多个根本原因阈值来过滤根本原因度量以确定在具有低qoe的每个区域中的低qoe根本原因。系统可以生成具有识别出的原因的对于低qoe区域的报告,并基于识别出的原因来生成用于优化通信网络的解决方案建议。系统可以基于所生成的解决方案建议来优化通信网络并改善通信网络的最终用户的用户体验。在特定实施例中,感兴趣区域可以是在某些条件下由一组小区例如在相同频带下操作的小区、在相同频率带宽下操作的小区、相同网络代(例如3g、4g、5g)的小区、由同一移动网络经营商操作的小区等覆盖的区域。

本文公开的实施例仅仅是示例,并且本公开的范围不限于它们。特定实施例可以包括本文公开的实施例的组件、元件、特征、功能、操作或步骤中的全部、一些,或不包括这些组件、元件、特征、功能、操作或步骤。根据本发明的实施例在所附权利要求中具体公开,涉及方法、存储介质、和系统,其中在一个权利要求类别(例如方法)中提到的任何特征,也可以在另一个权利要求类别(例如存储介质、系统和计算机程序产品)中要求保护。所附权利要求中的从属关系或往回引用仅出于形式原因而选择。然而,也可以要求保护由对任何先前权利要求的有意往回引用(特别是多个从属关系)而产生的任何主题,从而权利要求及其特征的任何组合被公开了并且可以被要求保护,而不管所附权利要求中选择的从属关系如何。可以要求保护的主题不仅包括所附权利要求中阐述的特征的组合,还包括权利要求中特征的任何其他组合,其中权利要求中提到的每个特征可以与权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的任何实施例和特征可以在单独的权利要求中和/或在与本文描述或描绘的任何实施例或特征或与所附权利要求的任何特征的任何组合中要求保护。

在一个实施例中,一种方法可以包括由一个或更多个计算系统:

基于从一个或更多个地理区域收集的应用数据,为通过通信网络连接的多个地理区域确定一个或更多个体验质量度量和一个或更多个根本原因度量;

基于一个或更多个体验质量度量和第一组标准来确定多个地理区域中的一个或更多个具有低体验质量,其中第一组标准包括一个或更多个体验质量度量的一个或更多个第一阈值;

基于一个或更多个根本原因度量和第二组标准来确定在每个相关地理区域中的低体验质量的一个或更多个原因,其中第二组标准包括一个或更多个根本原因度量的一个或更多个第二阈值,并且其中第二组标准比第一组标准宽松;以及

基于每个相关地理区域的低体验质量的一个或更多个原因来确定对该地理区域的低体验质量的解决方案建议。

确定地理区域中的一个或更多个具有低体验质量可以包括:

确定多个地理区域中的每个地理区域的每个体验质量度量的百分位数值;以及

使用一个或更多个第一阈值过滤多个地理区域的体验质量度量的百分位数值,其中当这些地理区域中的每一个具有高于一个或更多个第一阈值的至少一个体验质量度量百分位数值时,地理区域中的一个或更多个被确定为具有低体验质量。

确定具有低体验质量的每个地理区域的一个或更多个原因可以包括:

确定具有低体验质量的每个地理区域的每个根本原因度量的百分位数值;以及

使用一个或更多个第二阈值过滤具有低体验质量的一个或更多个地理区域的根本原因度量的百分位数值,其中当一个或更多个原因的相应根本原因度量百分位数值高于一个或更多个第二阈值时,一个或更多个原因被确定。

在实施例中,一种方法可以包括:

基于一个或更多个体验质量度量和映射函数来确定体验质量分数,其中基于体验质量分数和第三阈值来确定多个地理区域中的一个或更多个具有低体验质量。

在实施例中,一种方法可以包括:

生成报告,该报告包括具有低体验质量的在地理区域中的一个或更多个以及在相应地理区域中的低体验质量的一个或更多个原因。

在实施例中,一种方法可以包括:

基于与具有低体验质量的每个地理区域相关联的连接需求度量来确定该地理区域的优先级分数,其中基于优先级分数来确定对该地理区域的解决方案建议。

连接需求度量可以包括下列项中的一项或更多项:

样本数量;所连接的设备的数量;所连接的用户的数量;所传输的数据量;网络流量度量;或者收入度量。

在相关地理区域中的低体验质量的一个或更多个原因可以包括信号强度,对该相关地理区域的解决方案建议可以包括一个或更多个建议行动,建议行动包括下列项中的一项或更多项:

增加小区发射功率;减少干扰;添加中继器;添加新小区;或者调谐小区天线。

在相关地理区域中的低体验质量的一个或更多个原因可以包括拥塞指标,对该相关地理区域的解决方案建议可以包括一个或更多个建议行动,建议行动包括下列项中的一项或更多项:

升级网络;网络致密化;网络流量转移;或者网络负载平衡。

可以在相关地理区域中执行一个或更多个所建议的行动。

一个或更多个体验质量度量和一个或更多个根本原因度量可以包括下列项中的一项或更多项:

下载速度;繁忙小时的下载速度;在所有小时的网络时延;在繁忙小时的网络时延;下游时延;上游时延;视频质量分数;体验质量分数;分组丢失度量;信号强度;拥塞指标;网络时延;或者样本数量。

一个或更多个体验质量度量的一个或更多个第一阈值和一个或更多个根本原因度量的一个或更多个第二阈值可以由机器学习模型确定。

具有低体验质量的一个或更多个地理区域以及在每个相关地理区域中的低体验质量的一个或更多个原因可以由机器学习模型确定。

在一个实施例中,一个或更多个计算机可读非暂时性存储介质可以体现软件,该软件在被执行时可操作来:

基于从一个或更多个地理区域收集的应用数据,为通过通信网络连接的一个或更多个地理区域确定一个或更多个体验质量度量和一个或更多个根本原因度量;

基于一个或更多个体验质量度量和第一组标准来确定地理区域中的一个或更多个具有低体验质量,其中第一组标准包括一个或更多个体验质量度量的一个或更多个第一阈值;

基于一个或更多个根本原因度量和第二组标准来确定在每个相关地理区域中的低体验质量的一个或更多个原因,其中第二组标准包括一个或更多个根本原因度量的一个或更多个第二阈值,并且其中第二组标准比第一组标准宽松;以及

基于每个相关地理区域的低体验质量的一个或更多个原因来确定对该地理区域的低体验质量的解决方案建议。

确定地理区域中的一个或更多个具有低体验质量可以包括:

确定多个地理区域中的每个地理区域的每个体验质量度量的百分位数值;以及

使用一个或更多个第一阈值过滤多个地理区域的体验质量度量的百分位数值,其中当这些地理区域中的每一个具有高于一个或更多个第一阈值的至少一个体验质量度量百分位数值时,地理区域中的一个或更多个被确定为具有低体验质量。

确定具有低体验质量的每个地理区域的一个或更多个原因可以包括:

确定具有低体验质量的每个地理区域的每个根本原因度量的百分位数值;以及

使用一个或更多个第二阈值过滤具有低体验质量的一个或更多个地理区域的根本原因度量的百分位数值,其中当一个或更多个原因的相应根本原因度量百分位数值高于一个或更多个第二阈值时,一个或更多个原因被确定。

在一个实施例中,介质可以体现软件,该软件在被执行时可操作来:

基于与具有低体验质量的每个地理区域相关联的连接需求度量来确定该地理区域的优先级分数,其中基于优先级分数来确定对该地理区域的解决方案建议。

在一个实施例中,一种系统可以包括:一个或更多个体现指令的非暂时性计算机可读存储介质;以及一个或更多个处理器,其耦合到存储介质,并且可操作来执行指令以:

基于从一个或更多个地理区域收集的应用数据,为通过通信网络连接的一个或更多个地理区域确定一个或更多个体验质量度量和一个或更多个根本原因度量;

基于一个或更多个体验质量度量和第一组标准来确定地理区域中的一个或更多个具有低体验质量,其中第一组标准包括一个或更多个体验质量度量的一个或更多个第一阈值;

基于一个或更多个根本原因度量和第二组标准来确定在每个相关地理区域中的低体验质量的一个或更多个原因,其中第二组标准包括一个或更多个根本原因度量的一个或更多个第二阈值,并且其中第二组标准比第一组标准宽松;以及

基于每个相关地理区域的低体验质量的一个或更多个原因来确定对该地理区域的低体验质量的解决方案建议。

确定地理区域中的一个或更多个具有低体验质量可以包括:

确定多个地理区域中的每个地理区域的每个体验质量度量的百分位数值;以及

使用一个或更多个第一阈值过滤多个地理区域的体验质量度量的百分位数值,其中当这些地理区域中的每一个具有高于一个或更多个第一阈值的至少一个体验质量度量百分位数值时,地理区域中的一个或更多个被确定为具有低体验质量。

确定具有低体验质量的每个地理区域的一个或更多个原因可以包括:

确定具有低体验质量的每个地理区域的每个根本原因度量的百分位数值;以及

使用一个或更多个第二阈值过滤具有低体验质量的一个或更多个地理区域的根本原因度量的百分位数值,其中当一个或更多个原因的相应根本原因度量百分位数值高于一个或更多个第二阈值时,一个或更多个原因被确定。

耦合到存储介质的一个或更多个处理器可操作来进一步执行指令以:

基于与具有低体验质量的每个地理区域相关联的连接需求度量来确定该地理区域的优先级分数,其中基于优先级分数来确定对该地理区域的解决方案建议。

在根据本发明的实施例中,一个或更多个计算机可读非暂时性存储介质可以包含软件,该软件在被执行时可操作以执行根据本发明或任何上述实施例的方法。

在根据本发明的实施例中,系统可以包括:一个或更多个处理器;以及耦合到处理器并包括可由处理器执行的指令的至少一个存储器,当执行指令时处理器可操作以执行根据本发明或任何上述实施例的方法。

在根据本发明的实施例中,优选地包括计算机可读非暂时性存储介质的计算机程序产品,当在数据处理系统上执行时,可操作以执行根据本发明或任何上述实施例的方法。

附图说明

图1示出了用于基于应用数据来优化网络基础设施的示例系统。

图2示出了用于检测网络拥塞的示例框架。

图3a-图3c示出了与网络下载速度和与具有网络拥塞的小区相关联的样本的总数相关的示例数据。

图4示出了基于不同的平均网络速度来确定拥塞度量的示例拥塞度量确定模块。

图5a-图5f示出了用于检测网络拥塞和报告拥塞警报的系统的用户界面。

图6示出了用于检测在由通信网络覆盖的地理区域中的网络流量拥塞的示例方法。

图7a-图c示出了用于确定蜂窝网络的多个低qoe小区的原因的示例过程。

图8a-图b示出了用于配置根本原因分析和显示结果的示例用户界面。

图9示出了确定在由通信网络连接的地理区域中的低体验质量的原因的示例方法。

图10示出了与社交网络系统相关联的示例网络环境。

图11示出了示例计算机系统。

示例实施例的描述

概述

体验质量

最终用户或客户的体验质量(qoe)可以是指示与最终用户正在使用的应用或服务的体验有关的最终用户的满意的程度的通用度量。例如,qoe可以包括与在移动应用层级处的最终用户体验相关的下载速度、时延和其他参数。qoe也可以是从下载速度或时延(例如,通过映射函数)导出以指示最终用户对体验的满意的度量。qoe可以是通信网络规划、监控、诊断或/和优化的最重要的因素之一。通信网络的移动网络经营商(mno)可能需要理解哪些地理区域具有不满意的qoe以及什么是具有低qoe的服务类型(例如直播视频流、高清视频下载)。mno可以使用这个信息来减少运营费用(opex)(例如,通过减少投诉、票据、降低网络优化成本)并减少通信网络的资本支出(capex)(例如,通过最有效地精确地找出在哪里添加更多小区和避免在不必要的地方中添加小区)。mno也可以使用这个信息来恢复甚至增加本来由于不满意的qoe而被抑制的业务量(意味着更多的收入)。

此外,通信网络工程可能需要与qoe相关的更深入的洞察力理解。这样的理解可以直接或间接地基于qoe来向mno提供支持性输入,用于做出关于是否优化网络和优化哪个方面的决策(例如,是否将网络从当前一代升级到下一代,是否通过为了小区致密化而添加更多小区来完成网络扩展,在哪里添加小区)。系统的特定实施例可以通过提供关于特定区域(例如小区、分区、地区)的最终用户的qoe是否是健康的以及从无线网络视角来看什么可能是不健康的qoe的原因(例如覆盖问题、容量问题、时延问题、其他问题)的信息,将qoe链接到无线通信工程。通信网络的覆盖和容量可能是用于理解网络的状态和健康的、蜂窝工程的两个最重要的方面。系统的特定实施例可以使用在应用层级处收集的数据来生成用于覆盖问题和拥塞问题的模型。系统的特定实施例可以提供使用qoe作为用于识别网络的拥塞和生成拥塞警报的关键因素的拥塞警报模型。系统的特定实施例可以向计算设备提供网络改变请求,作为减轻进一步的网络拥塞的尝试。

系统的特定实施例可以确定一个或更多个qoe相关度量(例如下载速度、时延例如往返时间、上游时延、下游时延、在繁忙小时的下载速度、在繁忙小时的时延等),并将qoe相关度量与用于检测体验质量问题的相应阈值进行比较,作为警报的网络洞察力。例如,如果这些体验质量相关度量中的一个比所需要或要求的阈值更差或者在最差的某个百分比之中,则体验质量相关问题或警报的网络洞察力可以被检测并报告。作为另一个示例,如果一个或多个体验质量相关度量的映射函数比所需要或要求的阈值更差或者在更差的某个百分比之中,则体验质量相关问题或警报的网络洞察力可以被检测和报告。

问题

用于优化通信网络的传统技术和系统可以在网络基础设施层级处监控大量蜂窝塔(例如100k)的网络流量,并基于所监控的网络流量来优化网络性能。例如,系统可以包括由在网络周围行驶的测量车辆承载的仪器,以用于测量网络性能。然而,这些技术和系统是非常低效的并且在能力方面被限制。例如,对于蜂窝网络的大量小区,它们不能检测网络拥塞和覆盖问题。此外,仅依赖于网络基础设施层级信息的优化具有许多缺点,其可能导致次最优结果。例如,尽管可以在网络基础设施层级处测量网络流量(例如下载速度、繁忙小时、业务量、塔性能),但是这个基础设施层级信息可以隐藏关于实际用户体验和在应用层级处的应用使用的信息。传统网络优化技术和系统缺乏获得与网络状态相关的数据使用信息(例如,与在繁忙小时期间的高业务量相关联的高清视频下载或直播视频流传递、与低网络流量相关联的消息发送等)的有效手段。因此,传统网络优化技术和系统不能使网络性能降低与特定的数据使用相关联,且不能在网络基础设施层级处识别网络问题的根本原因。作为另一个示例,由于缺乏在应用层级处获得或访问应用使用数据的有效手段,传统网络优化技术和系统不能直接评估最终用户的qoe。当应用和网络基础设施被分开地优化时,这些优化可以有次最优结果,并且缺乏关于优化的有效性和影响的反馈信息。作为另一个示例,当在基础设施层级处优化网络时,传统网络优化技术和系统不访问竞争性运营商的网络数据,且因此缺乏竞争视角(例如竞争者的网络性能或/和在特定领域中的优化行动),这可能导致与其他竞争者相比的次最优网络性能。

解决方案

系统的特定实施例可以在应用层级处收集用户的应用数据(例如应用名称、应用类型、持续时间、体验质量、网络速度、时延、网络覆盖),并且基于所收集的应用数据来向(例如,在基础设施层级处的)网络基础设施优化提供支持和反馈信息。系统的特定实施例可以检测在由网络覆盖的一个或更多个区域中的网络拥塞,并检测网络拥塞,作为网络优化的基础。系统的特定实施例可以从多个运营商的网络收集数据(例如应用数据、网络性能数据),并为优化网络提供竞争视角。系统的特定实施例可以基于用户层级数据和基础设施层级数据来优化通信网络基础设施。

益处

系统的特定实施例通过提供用于监控和优化网络性能的技术解决方案和改进来解决现有网络优化技术和系统的限制和缺点。系统的特定实施例可以在应用层级处收集用户体验数据和网络性能数据,生成网络拥塞警报或网络覆盖警报,并且识别网络性能降低的根本原因以支持网络性能的优化。系统的特定实施例基于来自系统的多个层(例如基础设施层级和应用层级两者)的信息而不是仅来自单个层(例如仅基础设施层级或仅应用层级)的信息来实现网络优化(例如基础设施层级、应用层级),并且因此以以前不可能的方式改进网络性能。系统的特定实施例可以以降低的成本提供更有效的优化建议,用于提高网络性能。系统的特定实施例可以通过基于应用数据评估用户的体验质量(qoe)来直接评估网络优化的有效性。系统的特定实施例可以基于跨多个运营商的网络收集的应用数据,为优化在特定区域中的网络提供竞争视角。系统的特定实施例可以在先前不准的大规模下为小区提供更快和更准确的拥塞检测,实现网络基础设施的更有效的优化(例如升级容量、调节蜂窝塔、添加光纤链路),并向网络的最终用户提供更好的qoe。系统的特定实施例可以减少运营费用(opex)(例如,通过减少投诉、票据、降低网络优化成本),减少capex(例如,通过最有效地精确地找出在哪里添加更多小区和避免在不必要的地方中添加小区),恢复或提高本来由于不尽如意的qoe而被抑制的业务量。

网络优化系统

图1示出了用于基于应用数据来优化网络基础设施的示例系统100。在特定实施例中,系统100可以包括多个层,包括例如社交网络平台110(例如服务器、数据库)、网络基础设施120(例如光纤网络、蜂窝塔、电缆网络、交换机)、计算设备130(例如客户端设备、计算机、智能手机、平板计算机)、操作系统140(例如ios142、android144)、应用150(例如社交网络应用152、第三方应用154、经营商的应用、运营商(carrier)的应用)、用户101等。社交网络平台110可以通过网络基础设施120和计算设备130向用户101提供内容和服务。计算设备130可以包括设备硬件134(例如计算机、智能手机、平板计算机),并且可以与由一个或更多个运营商提供的特定数据计划132相关联。计算设备140可以包括操作系统(例如ios142、android144)和在计算设备130上运行的多个应用150(例如社交网络应用152、第三方应用154)。用户101可以与在计算设备130上运行的应用150交互以访问由社交网络平台110提供的内容和服务。在特定实施例中,系统100可以从在由用户101使用的计算设备130上运行的应用150收集数据(例如应用名称、应用类型、持续时间、体验质量、网络速度、时延、所传送的数据的总量、信号强度、所连接的塔的数量、信号稳定性状态、网络覆盖等)。系统100可以通过由社交网络平台110或第三方实体(例如网络运营商、操作系统提供商、应用开发者、应用服务提供商)提供的一个或更多个应用编程接口(api)来收集应用数据。系统100可以使用所收集的应用数据以监控网络性能(诸如检测网络拥塞或覆盖问题)。系统100可以基于所收集的应用数据来提供网络洞察力160(例如拥塞的区域、拥塞警报、覆盖警报、网络速度、网络时延、网络性能等)以用于网络基础设施120的优化。系统100还可以为在网络基础设施120上采取的优化行动提供反馈信息(例如,对qoe、网络速度、时延的改善)。

在特定实施例中,系统100可以基于来自通信网络的前端(例如用户设备130、应用150、操作系统140、网站、搜索引擎等)和后端(例如社交网络平台110、网络基础设施120、服务器、交换机、数据库等)两者的数据来监控通信网络性能(例如网络流量拥塞、网络覆盖问题)。在特定实施例中,系统100可以从通信网络的前端和后端两者收集用户体验数据(例如网络速度、网络时延、信号稳定性状态)。在特定实施例中,系统100可以使用从前端(例如应用)收集的数据来为后端网络基础设施120和/或社交网络平台110生成优化建议。在特定实施例中,系统100可以使用从后端(例如社交网络平台110、网络基础设施120)收集的数据来为前端用户体验(例如应用150、操作系统140、用户设备130、数据计划132、网络速度、时延等)生成优化建议。在特定实施例中,系统100可以确定一个或更多个网络性能度量(例如,基于平均网络速度的比率),并将网络性能度量与相应的阈值进行比较以检测在由通信网络覆盖的一个或更多个区域中的网络拥塞。在特定实施例中,系统100可以确定一个或更多个网络覆盖度量(例如信号强度、所连接的塔的数量、信号稳定性状态),并将网络覆盖度量与相应的阈值进行比较以检测网络覆盖问题。

拥塞检测框架概述

图2示出了用于检测网络拥塞的示例框架200。在特定实施例中,框架200可以在社交网络平台110(例如社交网络服务器)或第三方平台(例如第三方服务器)上实现,社交网络平台110或第三方平台可以与网络基础设施120和用户设备130协调以收集应用数据并检测网络拥塞。在特定实施例中,框架200可以包括数据收集模块202、数据预处理模块203、数据聚合模块204、拥塞度量确定模块206、拥塞警报识别模块208、拥塞警报报告模块210、机器学习(ml)模型220、多个数据库(例如小区数据库212、分区数据库214、地区数据库216、标记数据库222)等。在特定实施例中,数据收集模块202可以(例如经由api)收集多个计算设备的原始应用数据。然后,所收集的数据可由数据预处理模块203预处理,并由数据聚合模块204聚合成特定格式(例如,每一天每小时的或若干天中的所有天每小时的)。所聚合的数据可以存储在一个或更多个数据库(例如小区数据库212、分区数据库214、地区数据库216)中或者/并且被馈送到ml模型220。例如,数据可以在分区层级处被聚合,并且每个分区可以具有l的边长和l×l的面积。在特定实施例中,数据可以在一个或多个分区层级处被聚合。如果数据在小区层级处被聚合,则数据可以存储在小区数据库中。如果数据在地区层级或多边形层级处被聚合,则数据可以存储在地区数据库中。聚合过程可以利用来自分区数据库的数据,其可以包括例如分区到地区的映射、小区到地区的映射、分区到小区的映射以及应用请求的位置(例如纬度、经度)。所聚合的数据可由专家手动地标记或通过算法自动地标记,并且所标记的数据可存储在可用于训练ml模型220的标记数据库222中。拥塞度量确定模块206可以访问存储在一个或更多个数据库(例如小区数据库212、分区数据库214、地区数据库216)中的数据,并基于所访问的数据来确定一个或更多个网络性能度量。在特定实施例中,来自拥塞度量确定模块206的拥塞度量确定结果可以被馈送到用于ml模型的训练的ml模型220。拥塞识别模块208可以基于网络性能度量和相应阈值224的比较来识别在网络的一个或更多个区域中的一个或更多个拥塞。用于确定拥塞的阈值224可以由ml模型220确定并馈送到拥塞识别模块208。然后,拥塞警报报告模块210可以生成拥塞警报,并将这些警报报告给mno。在特定实施例中,所生成的拥塞警报可以按一个或更多个网络性能度量排序。拥塞警报的排序列表可以被过滤并被发送到mno以帮助mno确定检测到的拥塞的优先顺序。

数据收集和聚合

识别高流量小区

在特定实施例中,系统可以使用数据收集模块202来从由最终用户使用的计算设备收集原始应用数据。系统可以首先识别在网络中的多个高流量区域(例如小区、分区、地区),用于在这些区域中的进一步的拥塞检测。可以基于在这些区域中的一个或更多个流量度量(例如业务量、样本的总数或请求的总数)高于相应的预定阈值或高于一个或更多个其他区域的平均流量度量值的确定来识别高流量区域。在特定实施例中,系统可以按一个或更多个流量度量来对网络的区域排序,并且将前m个区域识别为网络的高流量区域。例如,系统可以按每个小区的请求的数量来对蜂窝网络的小区排序,并采用前m个小区作为高流量小区,用于进一步的网络拥塞检测。

数据收集

在特定实施例中,系统可以(例如经由api)收集在网络的识别出的高流量区域(例如小区、分区、地区)中的原始应用数据。由系统收集的数据可以包括关于例如人们如何使用应用、他们花费多少时间使用应用、应用名称和类型是什么、用户多久回到应用、体验质量是什么(例如网络速度、时延、网络覆盖)等的信息。在特定实施例中,由系统收集的数据可以包括基于位置的网络性能数据,例如在感兴趣的特定区域中的网络性能。网络性能数据可以包括代表在应用层级处的网络性能(例如如计算设备在执行应用时所体验的网络性能)的数据(例如业务量或需求量或网络速度或网络容量(即带宽))。由系统收集的数据可以包括竞争者网络性能,例如在感兴趣区域中的其他运营商的网络性能数据。可以基于来自应用的请求连同与每个应用请求相关联的时间戳来记录原始应用数据。所收集的数据可以包括用户设备被连接的服务小区的小区标识、用户设备的位置信息(例如,当用户批准并启用设备的基于位置的服务时经由api)、运营商信息(例如网络提供商)等。通过包含所串联的信息(诸如空中接口技术类型信息),每个小区的小区标识可以是唯一的。所收集的数据可以包括与所传送的信息的总比特和该信息的传送所花费的时间相关的计数器。所收集的数据可用于确定一个或更多个网络性能度量。例如,所传送的信息的总比特的计数器和该信息的传送所花费的相应时间可以用来确定网络的下载速度。

在特定实施例中,用户设备可以通过互联网连接与社交网络平台通信。用户设备可以来回地向社交网络平台发送通信请求和从社交网络平台接收数据。在特定实施例中,系统可以以特定采样率(例如,百分之一)对请求采样。系统可以记录多个矩阵,其可以包括关于所连接的设备的数量、来自用户设备的请求的数量、请求被社交网络平台接收所需的时间、由社交网络平台向用户设备传输的数据量、在向用户设备传输该数据时所花费的时间等的信息。系统可以基于所收集的数据来确定多个网络参数,包括例如连接的速度(例如,将所处理的总比特除以所花费的时间)、设备被连接到的小区(例如小区标识)、运营商的信息、时间、位置、设备的类型、应用版本等。数据可以在应用处被连续地收集,并且可以周期性地(例如,每天或每几天)发送回到社交网络平台以用于存储。系统可以将所收集的信息存储在数据库中,系统可以在该数据库上运行用于检测网络拥塞的信息处理流水线。

数据聚合

在特定实施例中,系统可以使用数据预处理模块203来预处理所收集的原始数据用于数据清理。然后,系统可以使用数据聚合模块204以用于数据聚合。系统可以首先过滤和清理所收集的数据,且然后可以在不同的层级处聚合数据。例如,系统可以按小区、分区(例如,以不同分辨率描述地理区域的正方形)或地区(例如邮政编码地区、县、省份、州)来聚合数据。在数据聚合之后,系统可以使数据集可视化,并将所聚合的数据用作网络建模的输入。在特定实施例中,系统可以将所聚合的数据存储在不同的数据库中。例如,系统可以将由小区聚合的数据存储在小区数据库212中。作为另一个示例,系统可以将与分区或位置相关联和/或按分区或位置聚合的数据存储在分区数据库214中。与分区相关联的信息可以包括例如与分区相关的小区的标识、分区的标识、分区大小、运营商的标识、元数据、网络性能数据等。作为另一个示例,系统可以在地区数据库216中存储与地区相关联和/或按地区聚合的数据。与地区相关联的数据可以包括表示地区的多边形、多边形标识、多边形的集合、表示地区的定制形状等。在地区数据库216中的多边形可以表示任何大小的地区,例如邮政编码区域、居住区、县、城镇、城市、州、国家等。系统可以(例如,通过数据聚合模块204或拥塞度量确定模块206)访问包括小区数据库212、分区数据库214和/或地区数据库216的所有数据库,用于确定网络拥塞检测的网络性能。每个数据库可以由系统映射到任何其他数据库。在特定实施例中,系统可以周期性地(例如,每周或每几周)聚合所收集的数据。在特定实施例中,系统可以实时地收集、预处理和聚合数据。

在特定实施例中,可以对与特定小区相关联的所有设备相关的所有应用数据执行数据聚合。在特定实施例中,可以在时间维度上执行数据聚合。作为示例,所聚合的数据可以是每一天每小时的。作为另一个示例,所聚合的数据可以是若干天的持续时间中的所有天每小时的。可以为所聚合的数据的每个数据单元(例如为每一天每小时的数据或者在n天(例如7天、28天)的持续时间期间的每小时的数据)计算样本的数量。可替代地,系统可以基于在每一天的每个小时或者所有n天的每个小时期间聚合的数据来计算所传送的总比特量。系统可以使用样本的数量或/和所传送的总比特量作为通信网络的需求量和业务量的指示。

计算效率

在特定实施例中,系统可以处理从大规模通信网络收集的大量数据。系统可以基于每一天每小时的数据点来计算网络性能度量。根据数据量和样本的数量,基于每一天每小时的数据点的计算可能需要长的计算时间和大量的计算资源。为了提高计算效率和减少计算时间,系统可以使用所有感兴趣的天的每小时(而不是每一天每小时)的数据点来计算网络性能度量。对于在小区层级处的拥塞建模,基于所有天每小时的数据点的网络性能度量可以有效地实现小区的网络拥塞的识别,并且对于大规模网络,有计算简单的优点。对于时间序列分析,系统需要理解在特定时间窗口中的通信需求的某个尖峰。系统可以识别需要时间序列分析的小区,并且基于每一天每小时的数据点对那些小区执行时间序列分析(因为它包括在时域中的更多信息)。

方法的变形

在特定实施例中,系统可以在工作日、周末或节假日期间单独地执行拥塞检测。在特定实施例中,系统可以基于在工作日、周末或者/以及节假日期间收集的所有数据来生成拥塞检测模型。在其他实施例中,系统可以分别基于在工作日、周末或节假日期间收集的数据来生成单独的模型。系统可以过滤数据并排除具有少量数据样本(其代表低需求)的小区。例如,系统可以排除具有20%最低数量的样本的小区。这可以减少计算并提高拥塞检测的效率。

在特定实施例中,如果样本的数量(这个数据点根据样本的数量被聚合)低于某个阈值,则系统可以移除所聚合的每小时数据点。例如,对于一天的接近凌晨3点的特定小时,所聚合的数据点可以对应于数量为2的样本。换句话说,在这个特定的小时期间,只有2个数据样本(即2个请求)被记录。系统可以确定对于这个特定天的这个特定小时,样本的数量低于阈值(例如5),并且可以从拥塞度量推导的另一过程移除这个所聚合的数据点。作为另一个示例,如果从n天聚合接近凌晨3点的特定小时,所聚合的数据点可以对应于数量为25的样本。换句话说,在n天的这个特定小时期间,只有25个数据样本(即25个请求)被记录。系统可以确定样本的这个数量25低于阈值(例如30),并且可以从拥塞度量推导的另一过程中移除这个所聚合的数据点。

在特定实施例中,系统可以排除具有仅从有限数量的小时(例如,繁忙小时、非繁忙小时、繁忙小时和非繁忙小时的总数或小时的总数)可用的数据的小区。如果可用数据的小时的数量低于小区的某个阈值,则系统可以将该小区排除在用于拥塞检测的另外的过程之外。例如,如果每小时数据点中没有一个被移除(如在前面的几章中所述的),如果所聚合的数据是所有n天每小时的,则系统可以有24小时数据点。如果一些每小时数据点由于在聚合中使用的少量样本而被移除,则在移除具有在聚合中使用的少量样本的那些小时之后,系统可以具有少于24个数据点(例如10个数据点)。系统可以确定剩余数据点的数量(例如10个数据点)低于阈值(例如20个数据点),并且系统可以将该小区排除在拥塞检测的另外的过程之外。

在特定实施例中,当有少量样本时,系统可以确定用于推导下载速度的置信度水平分数。置信分数可以指示对下载速度的估计的置信度的水平。如果置信度低于阈值,则系统可以将该小区排除在拥塞检测的另外的过程之外。在特定实施例中,系统可以使用对每给定数量的样本的数据点的重新分级或平均来检测网络拥塞,而不是使用每小时每小区数据点。

拥塞度量

模型a:基于繁忙小时网络速度与非繁忙小时网络速度的关系的比率

图3a-图3c示出了与网络下载速度和与具有网络拥塞的小区相关联的样本的总数相关的示例数据。如图3a-图3b所示,网络速度和样本的总数可以是相关的,并且可以随着时间的过去而变化。通常,较低的网络速度可以与较大数量的样本相关。如图3b所示,包括较大数量的样本(其可以指示对网络连接的高需求)的时间窗口可以对应于相对繁忙的小时。包括较小数量的样本的时间窗口可以对应于相对不繁忙的小时。可以基于随着时间的过去的样本总数来确定繁忙和非繁忙小时。图3c示出了在网络下载速度和该特定小区的样本的总数之间的相关性。在图3c中,当样本的总数增加时,平均下载速度和中值平均下载速度都降低,并且下载速度降低可以用作小区可能具有网络拥塞的标志。

在特定实施例中,系统可以基于繁忙和非繁忙小时的网络速度来确定用于检测网络拥塞的一个或更多个网络拥塞度量。当一个或更多个条件改变(例如样本的总数增加)时,拥塞度量可以指示网络性能(例如网络速度)的降级的程度。作为示例而不是作为限制,系统可以首先识别每个单独小区的繁忙小时和非繁忙小时。繁忙小时可以是通信网络具有高业务量或需求量时的小时。例如,繁忙小时可以是与最高数量的样本或最高数量的所传送的信息比特对应的某个百分位数的小时。繁忙小时的百分位数可以是固定的,或可以根据配置而变化。类似地,非繁忙小时可以是通信网络具有低业务量或需求量时的时间。例如,非繁忙小时可以是与最低数量的样本或所传送的最低量的信息比特对应的某个百分位数的小时。非繁忙小时的百分位数可以是固定的,或可以根据配置而变化。在特定实施例中,可以通过将样本的数量或网络业务量与一个或更多个阈值进行比较来确定繁忙小时和非繁忙小时。阈值可以是固定的,或可以根据配置而变化。在特定实施例中,繁忙小时和非繁忙小时可以由通过历史数据训练的机器学习(ml)模型来确定。

在特定实施例中,在繁忙小时和非繁忙小时被确定之后,系统可以基于繁忙小时和非繁忙小时的数据来确定网络拥塞度量。例如,网络拥塞度量可以是如在下面的方程式(方程式1)中描述的比率:

其中,s繁忙小时是在繁忙小时的平均下载速度,s非繁忙小时是在非繁忙小时的平均下载速度。可替代地,网络拥塞度量可以是如在下面的方程式(方程式2)中描述的比率,其是方程式1的负数。注意,方程式1可能导致拥塞的小区的负比率值,而方程式2可能导致拥塞的小区的正比率值。

在特定实施例中,系统可以使用在繁忙小时的平均下载速度作为在方程式1或2中的分母。

模型b:基于参考点的比率

在特定实施例中,系统可以基于在网络速度曲线(例如,下载速度与业务量或样本的数量的关系曲线)上的参考点来确定每个单独小区的网络拥塞度量,如在下面的方程式中所述的:

其中,s参考点a是在参考点a处的下载速度,并且s参考点b是在参考点b处的下载速度。参考点a可以是代表下载速度曲线(例如,下载速度与业务量或样本的数量的关系曲线)的相对平坦部分的下载速度的平均值或中值的参考点。例如,下载速度曲线的相对平坦部分可以是下载速度下降与业务量或样本的数量的关系曲线的还没有向下弯曲的曲线部分。在特定实施例中,参考点可以在非繁忙小时中。在特定实施例中,参考点a可以不在非繁忙小时中,更确切地,在一些情况下,如果非繁忙小时已经在下载速度与业务量的关系曲线的向下弯曲部分处,则参考点a可以具有甚至更高的下载速度。可以使用每一天每小时的数据来识别这样的参考点a。参考点b可以在繁忙小时内,或可以在与业务量的较高端对应的曲线的部分中。在特定实施例中,系统可以使用在参考点b处的下载速度作为在方程式3和4中的分母。

平均速度

在特定实施例中,在(如在方程式1和2中所使用的)繁忙小时的平均下载速度可以是繁忙小时的下载速度的平均值、中值(即百分位数-50或p50)或众数(mode)。繁忙小时的下载速度可以基于所有天每小时的聚合的下载速度。所有天每小时的聚合的下载速度也可以是所有下载速度样本的平均值、中值或众数。存在可用于确定繁忙小时的平均下载速度的许多组合。可能的组合的一些示例被描述如下:

表1

类似地,也可以基于与上面所述的组合类似的许多组合来确定非繁忙小时的平均下载速度。

图4示出了基于不同的平均网络速度来确定拥塞度量的示例拥塞度量确定模块206。拥塞度量确定模块206可以访问数据库(例如小区数据库212、分区数据库214、地区数据库216),并基于不同平均网络速度的可能组合来计算多个比率。例如,对于如在表1中列出的四个组合(例如mean_median2061、mean_mean2062、median_median2063、median_mean2064)中的每一个,拥塞度量确定模块206可以计算四个比率,包括ratio_1、ratio_2、ratio_3和ratio_4。对于这些比率中的每一个,要么方程式1要么方程式2可用于计算。然后,拥塞度量确定模块206可以使用拥塞度量聚合器2065基于一个或更多个计算出的比率(例如ratio_1、ratio_2、ratio_3和ratio_4)的平均值或加权平均值来确定拥塞度量2066。例如,拥塞度量聚合器2065可以使用这四个比率的平均值来确定更鲁棒的拥塞度量2066,如在下面的方程式中所述的:

拥塞度量=average(ratio_1,ratio_2,ratio_3,ratio_4)(5)

可替代地,拥塞度量聚合器2065可以基于四个比率中的任何数量的比率来确定拥塞度量2066。例如,拥塞度量聚合器2065可以使用两个比率的平均值来如下确定拥塞度量:

拥塞度量=average(ratio_3,ratio_4)(6)

作为另一个示例,拥塞度量可以是这四个比率的加权和,并且如果对于某个比率权重为零,则该比率不被包括在拥塞度量中。

在特定实施例中,系统可以使用方程式2和方程式6基于多个比率(例如ratio_3、ratio_4)的平均值来确定拥塞度量。可以使用繁忙小时和非繁忙小时的不同类型的平均下载速度来计算多个比率(例如ratio_3、ratio_4)。例如,可以基于繁忙小时的中值速度来计算第一比率(例如ratio_3)的繁忙小时的平均速度,繁忙小时的中值速度是基于下载速度的所有样本的中值速度来确定的。可以基于非繁忙小时的中值速度来计算第一比率(例如ratio_3)的非繁忙小时的平均速度,非繁忙小时的中值速度是基于下载速度的所有样本的中值速度来确定的。作为另一个示例,可以基于繁忙小时的平均值速度来计算第二比率(例如ratio_4)的繁忙小时的平均速度,该平均值速度是基于下载速度的所有样本的中值速度来确定的。可以基于非繁忙时间的平均值速度来计算第二比率(例如ratio_4)的非繁忙时间的平均速度,该平均值速度是基于下载速度的所有样本的中值速度来确定的。系统可以将拥塞度量(例如,由方程式6确定的平均比率)与阈值(例如0.18)进行比较,并且当平均比率高于或等于阈值时检测到网络拥塞。

在特定实施例中,系统可以包括网络性能度量数据库。网络性能度量数据库可以与小区数据库、分区数据库和地区数据库(多边形数据库)相关联。系统可以允许系统的用户查询数据库以获得相应的网络性能度量。在特定实施例中,地区拥塞度量也可以以替代方式导出(例如从分区层级拥塞度量导出或从小区层级拥塞度量导出,而不是直接从在地区内的所有样本导出)。例如,地区拥塞度量可以是在该地区内的所有小区的所有拥塞度量的中值或平均值或者在该地区内的所有分区的所有拥塞度量的中值或平均值。在本公开中,拥塞度量可以与拥塞指标互换。

拥塞检测

拥塞检测规则

在特定实施例中,系统可以(例如使用拥塞识别模块)将网络性能度量(例如拥塞度量)与阈值进行比较以基于多个规则来检测网络拥塞。例如,如果系统针对特定小区检测到由方程式1确定的拥塞度量低于或等于第一阈值(例如-18%,即,-0.18),则系统可以确定该小区包括网络拥塞,并且可以向经营商发送警报。作为另一个示例,对于特定小区,系统可以确定由方程式2确定的拥塞度量高于或等于第二阈值(例如18%,即,0.18),系统可以将该小区标记为具有拥塞,并发送警报以通知经营商。在特定实施例中,取决于由不同方程式确定的网络性能度量,用于确定网络拥塞的阈值可以是正值或负值。在特定实施例中,根据网络性能度量,用于确定网络拥塞的阈值可以是最大阈值或最小阈值。

由机器学习模型进行的阈值确定

在特定实施例中,系统可以基于多个规则和网络性能度量的一个或更多个阈值来检测网络拥塞。可以通过二元分类(诸如通过由预先标记的网络拥塞数据训练的拥塞分析机器学习(ml)模型)来确定阈值。预先标记的网络拥塞数据可以包括在网络的小区中是否存在拥塞的信息。数据可以由在现场的工程师或手动地监控或观察小区的工程师手动地标记(以查看小区是否具有拥塞)。ml模型可以使用监督学习来学习如何确定拥塞度量阈值。可以通过网络拥塞度量或从所聚合的数据中导出的其他度量来训练ml模型。ml模型可以基于来自预标记数据的监督学习来确定拥塞度量阈值。ml模型可以使用分类方法(例如决策树)来生成拥塞度量阈值或条件,用于将网络流量状态分类为多个类别(例如拥塞和非拥塞类别)。在特定实施例中,ml模型可以生成可以将网络流量状态分类为多于两个类别的条件(例如多个阈值),并且每个类别可以具有不同水平的拥塞严重性。

在特定实施例中,ml模型可以使用来自scikit-学习包的分类树。例如,手动地标记的小区数据可以包括总共至少400个小区(例如,被标记为拥塞的315个小区,被标记为不拥塞的85个小区)。对于具有最繁重的每天总流量的前几个小区,更多拥塞可被预期在这些小区当中被识别出。可以基于具有小于-0.185的比率的初始阈值的前100个小区来训练系统,该比率稍后可以由ml模型调整以使精确度和召回率平衡。一般来说,当通过更多手动地标记的小区数据被训练时,ml模型可以具有更准确的阈值。在特定实施例中,ml模型可以为了排序目的和鲁棒性而使用单个特征,并使用二元分类来确定阈值。ml模型可以为了快速确定阈值和为了扩展用于更复杂的特征或多个特征而提供更大的灵活性。在特定实施例中,也可以手动地调整阈值。在特定实施例中,系统可以针对网络拥塞警报而使用-18%的阈值,这是由于拥塞警报而对小区的相对积极地建议的改进。

警报和报告

针对优先化而过滤的警报

在特定实施例中,在检测到网络拥塞时,系统可以向mno发送报告检测到的网络拥塞和具有这些拥塞的相关小区的一个或更多个拥塞警报。警报可以包括具有拥塞的所有小区或具有拥塞的小区的仅一部分(例如,具有最严重拥塞的小区)。系统可以基于如由网络性能度量指示的拥塞严重性来对小区排序,并且向mno发送小区的排序列表。可替代地,待报告的小区的选择可以基于地理区域、无线电接入网络技术信息(例如2g、3g、4g等)、运营商、网络速度、样本的数量等。例如,系统可以为每个经营商、每个网络代(networkgeneration)或每个地理区域或每个国家等选择具有最严重拥塞的某个数量的小区或某个百分位数的小区。在特定实施例中,系统可以使用多个阈值来过滤检测到的拥塞。例如,系统可以具有每经营商、每国家、每网络代的拥塞度量的第一阈值(例如,最坏的6%)以及每经营商、每地区、每网络代的拥塞度量的第二阈值(例如,最坏的5%)。这两个阈值可以是不同的,且可以相互重叠。例如,系统可以分别基于两个阈值来应用两个过滤器。为了优化网络性能,mno可以具有与大量小区(例如100k)相关联的许多网络度量以跟踪和考虑。大量的度量可能使mno做出最佳决策变得非常难。在特定实施例中,系统可以基于所收集的应用数据来生成网络模型,并使用该模型来帮助mno做出更好的决策。在特定实施例中,系统可以过滤所生成的拥塞警报以生成结束列表,以帮助mno确定拥塞警报的优先顺序。可以按使用情况(例如视频流传输、共享内容、消息传送、阅读新闻摘要、游戏等)、拥塞的小区、具有覆盖问题的小区、问题设备、修复成本等来过滤拥塞警报。在特定实施例中,ml模型可用于智能过滤以决定哪些小区应被优先考虑进行修复或优化。在特定实施例中,本文描述的过滤方法可以应用于不同于拥塞度量的其他度量。例如,对于小区覆盖警报,系统可以过滤出具有在每地区、每网络代、每经营商的最差的5%之中的信号强度的小区,并基于这些小区来生成警报。作为另一个示例,系统可以基于以下条件来过滤出小区并生成警报:(1)小区的信号强度在每地区、每网络代、每经营商的最差的5%之中,或者(2)小区的信号强度在每国家、每网络代、每经营商的最差的6%之中。可以基于在相应小区内的所有信号强度样本的中值或50%值来定义小区的信号强度,其中数据可以在社交网络应用层级处被收集。

在特定实施例中,当过滤警报时,系统可以从时间角度考虑在某个时间段内的警报的出现率(例如,每周一次基础)。例如,在所有最近的n周中,如果有m个警报发生,则可以通过m/n来确定警报的出现率。系统可以基于警报的出现率和阈值(诸如警报的出现率高于阈值(例如0.3、0.5等))来定义过滤器。

在特定实施例中,可以基于被警告的小区的度量与度量平均值(例如地区平均值、国家平均值等)比较的差来计算被警告的小区的分数。例如,可以使用下面的方程式来计算分数:

分数=(被警告的小区的度量–平均度量)/平均度量(7)

其中被警告的小区的度量可以是信号强度、拥塞指标等,且平均度量可以是地区平均值、国家平均值等。在特定实施例中,系统可以基于在某个时间段(例如,最近一周或最近的n周)内的样本的总数来确定被警告的小区的重要性相关权重。如果小区具有较大数量的样本,则该小区可以具有较大的权重,并且权重值可以取决于样本的总数。在特定实施例中,系统可以基于重要性相关分数和/或加权分数来过滤警报,并且权重可以指示在被警告的小区中的样本的总数。尽管上述过滤在拥塞警报的上下文中被描述,但是过滤可以适用于其他合适类型的警报。

用户界面

图5a-图5f示出了用于检测网络拥塞和报告拥塞警报的系统的用户界面。如图5a所示,系统的用户界面500a可以包括示出具有网络拥塞的区域(例如511、512、513、514、515、516、517)的地图510。具有网络拥塞的每个区域可以由圆形指示物和在圆形指示物内的数字指示。每个区域可以是相关的一个或更多个小区。每个小区可以包括一个或更多个小区塔,并且每个小区塔可以包括一个或更多个小区扇区。在特定实施例中,在圆形指示物中的数字可以指示在相关区域中的检测到的拥塞警报的数量。在特定实施例中,圆形指示物可以用不同的颜色显示以指示网络拥塞的严重性。用户界面500a还可以包括表520,其示出指示具有网络拥塞的小区或具有不同网络速度的小区的小区警报的列表。表520的每一行可以包括小区警报,并且表520的每一列可以对应于与小区警报相关联的支持属性(例如小区标识521、位置522、中值下载速度523、地区下载速度524、样本或请求的数量525等)。用户界面500a还可以包括指示当前查询(例如4g网络、夸祖鲁-纳塔尔(kawazulu-natal)省份的最低下载速度)的标题部分530和数字按钮(例如,531、532、533)。按钮531可以用于指定将在用户界面500a中显示的地区。按钮532可用于关闭地图510。按钮533可以用于在不同的显示模式(例如表视图、地图视图、位置视图)之间切换。在表520中的小区警报的列表可以按一个或更多个相关属性来排序。例如,在500a中的小区警报的列表可以按样本的数量从高到低来排序。在特定实施例中,小区警报的列表可以按其他属性(诸如小区标识521、位置522、中值下载速度523、地区下载速度525、拥塞指标590(在图5d-5f中示出)、地区拥塞指标591(在图5d-5f中示出)等来排序。当系统的用户选择特定小区警报时,用户界面500a可以显示关于该小区的进一步的详细信息(例如,来自小区数据库)和与该小区警报相关联的其他信息。

如图5b所示,用户界面500b可以包括表520、地图540和图表550。类似于用户界面500a,表520可用于显示对网络拥塞的小区警报的列表。地图540可以显示与网络拥塞警报相关联的多个位置(例如541、542、543、544)。用户界面500b可允许用户在地图540中定义感兴趣区域545,并在单独的图表550中显示相关信息(例如按一天的时间的下载速度)。可以通过交互式下拉菜单552来配置用户界面500b以显示网络性能信息,例如中值下载速度551(例如7.464mbps)。图表550可以在条形图中显示在一天的时间内的网络下载速度。在特定实施例中,用户界面500b可以允许用户指定其他信息553,例如如按低、中、高性能分类的按周的时延性能,以在其他图表(未示出)中显示。

如图5c所示,用户界面500c可以包括显示多个地图分区(例如561、562)、多个拥塞的区域(例如563、564)、多个感兴趣的位置(例如565、566)等的地图560。在特定实施例中,地图分区可以以不同的颜色显示,以指示在每个地图分区中的网络性能的状态。拥塞的区域可以由圆形指示物指示,每个指示物具有在内部指示拥塞警报的数量或拥塞的蜂窝塔的数量的数字。该地图可用于分析与一个或更多个感兴趣的位置(例如565、566)相关联的网络性能。用户界面500c还可以包括显示与地图分区(例如561、562)相关联的不同颜色的拥塞的百分比的标题部分568。用户界面500c还包括可以接收查询关键词以在地图560中搜索的搜索栏567。地图560还可以包括多个按钮569,以允许用户导航或放大或缩小地图560。在特定实施例中,用户界面500c可以包括配置面板580a,其允许用户输入或配置对系统的查询。例如,系统的用户可以通过下拉菜单581a从多个预定义或预存储的查询中选择一个查询,以查询系统。系统的用户可以使用按钮582a来保存当前查询。系统的用户可以通过以下方式来输入或配置查询:通过下拉菜单583a设置下载速度阈值、通过下拉菜单585a设置匹配参数、通过按钮586a添加新参数、通过输入数字或滚动控制元件组587a的控制条设置下载速度范围、通过输入数字或滚动控制元件组588a的控制条设置样本的数量范围和/或通过按钮589a将配置应用于查询。圆形指示物(每个在内部带有数字)可以使用该数字来指示不限于拥塞警报的警报的数量。例如,该数字可以指示覆盖警报的数量或者具有覆盖警报的小区的数量。作为另一个示例,该数字可以指示具有低下载速度警报的小区的数量。在特定实施例中,每种类型的警报可以被显示在单独的页面上。在特定实施例中,如果存在与多个度量相关联的复合警报,则多种类型的警报可以被显示在同一页面上。

如图5d所示,用户界面500d可以包括配置面板580b、表520和图表(例如550、554、555)等。配置面板580可以包括多个下拉菜单(例如581b、582b、583b、584b)和分段按钮(例如585b),允许用户根据不同属性(例如日期、警报类型、位置、地区类型、网络类型等)来配置或选择所显示的内容。表520可以具有许多行和列。表520的每一行可以包括小区警报,并且表520的每一列可以对应于与小区警报相关联的支持属性(例如小区标识521、位置522、拥塞指标590、地区拥塞指标591、样本或请求的数量525等)。用户界面500d还可以包括用于使用条形图按一天的时间显示下载速度的图表550、用于按周显示下载速度的图表555、用于显示网络时延度量(例如往返时间)的图表554。图5e示出了可以包括配置面板580b、表520和地图593的用户界面500e。地图593可以显示对应于在表520中的当前显示的网络拥塞警报的感兴趣区域593a(例如,其通过配置面板580b来配置)。地图593可以包括对应于在表520中的网络拥塞警报的多个网络拥塞指示物(例如593b、593c)。图5f示出了显示在表520中选择的被警告的小区595的用户界面500f,表520显示具有拥塞的小区的列表。一旦被警告的小区585被选择,用户界面500f就可以在地图540中显示相应的区域595a。用户界面500f还可以显示与选定小区595相关的其他信息,例如小区标识595b、位置595c、按周的下载速度595d等。

在特定实施例中,系统可以向每个地图分区分配值,以向系统的用户提供基准环境。地图分区可以被显示在地图上,与由网络覆盖的小区重叠。地图可以显示如按地区或位置聚合和标准化的数据。在特定实施例中,系统可以显示在感兴趣区域中的(例如,与其他运营商比较的)相对网络性能的信息。在特定实施例中,系统可以聚焦于具有大量样本或请求的区域,这指示在这些区域中的对网络连接的高需求以及这些区域值得进一步投资的高可能性。在特定实施例中,系统可以帮助mno确定网络性能度量的优先顺序,以为网络优化或升级做出更好的决策。

警报数据库

在特定实施例中,系统可以包括小区警报数据库,其可以存储由系统为特定查询生成的所有小区警报。小区警报数据库可以具有标准方案,其可以在所有警报中是一致的。小区警报数据库可以包括不同类型的小区警报,包括例如拥塞警报、覆盖警报、网络速度警报等。小区警报可以具有多个相关属性,包括例如相关小区、相关多边形、基于网络拥塞度量的相关排序分数等。被报告给mno的小区警报可以被过滤以仅包括高重要性警报,并且可以按一个或更多个相关属性来排序。小区警报还可以包括支持属性(例如根本原因分析结果)以解释为什么某个小区警报具有高或低的排序分数。例如,支持属性可以包括网络拥塞度量的值(例如,如通过方程式1-6描述的比率),作为对小区警报的排序分数的解释。作为另一个示例,支持属性可以包括根本原因分析结果,其可以指示网络性能降低是由大量用户请求引起的。

在特定实施例中,系统可以包括与小区警报数据库和网络度量数据库相关联的门户。门户可以提供关于感兴趣的小区的记录信息,例如显示随着时间的过去的小区状态变化的信息。门户可以生成与感兴趣的小区相关联的事件,并将这些事件存储在事件数据库中,该事件数据库可以用作小区警报的支持输入。在特定实施例中,事件数据库可用于训练可将特定行动(例如优化行动)与网络性能的改善相关联的机器学习(ml)模型。从基于事件的学习获得的知识可以用于进一步改进系统,以用于优化网络性能。事件数据还可以包括与用户反馈相关的信息,例如标记(flag)、点赞(thumbup)、不赞同(thumbdown)等,其可以为优化网络性能的系统提供有用的反馈。

优化建议

在特定实施例中,系统可以基于由系统确定的优先级分数来生成用于升级网络(例如,升级容量、移动到4g/5g、调节蜂窝塔、调节天线角度、添加更多扇区、添加光纤链路、将投资转移到合适的储存区(bucket)、加强光纤回传(backhaul))的建议。例如,系统可以建议优先考虑在具有更严重的拥塞或覆盖问题的小区上的升级。作为另一个示例,系统可以建议转移投资以优化网络的各方面,其可以最有效地提高网络性能并帮助mno以有限的投资预算做出用于提高网络性能的更好的决策。在特定实施例中,系统可以基于用户设备的信息(例如数据计划、设备模型、设备速度、操作系统版本)来执行或建议优化(例如,在平台层级、基础设施层级、设备层级或应用层级处)。例如,系统可以通过数据计划或设备模型来过滤用户设备,并向这些设备提供定制的服务以使用户能够具有最好的可能的用户体验。作为另一个示例,系统可以过滤出不能支持满足对某些服务(例如高清视频、资源消耗效果)的最低质量标准的用户体验的用户设备(例如不可兼容的设备模型),并且可以不向这些设备提供这些服务。作为另一个示例,系统可以过滤出网络性能不能提供满足最低质量标准的用户体验的位置(例如区域、小区、地区),并且可以不向这些位置提供不被支持的服务,直到网络性能被优化或提高为止。在特定实施例中,系统可以为长期优化/规划(例如,将网络升级到4g/5g、添加光纤、加强光纤回传)、短期优化/规划(例如,调节塔天线角度、使需求和容量平衡)或实时优化/规划(例如,基于网络和用户设备的状态提供定制服务)生成网络优化和计划。在特定实施例中,可以基于一个或更多个性能参数(包括例如负载平衡因子、切换或吞吐量)来优化网络性能。可以通过聚合不同运营商或提供商的通信网络来优化网络性能。

在特定实施例中,可以使用启发式投影算法来执行优化建议。在特定实施例中,可以使用基于历史数据训练的机器学习(ml)模型来执行优化建议。当mno采取行动来修复或优化网络拥塞时,相关数据和行动可以存储在数据库中以训练ml模型。ml模型可以基于通过历史行动数据进行的训练和/或行动的被监控的影响来细调对不同使用情形的未来建议。ml可以预测某些优化行动的结果,并且可以基于预期结果或可能的优化行动的可能结果来权衡拥塞警报的重要性。

优化

在特定实施例中,采取或执行至少一个所建议的行动。特别是,一个或更多个行动可以是增加小区发射功率、减少干扰、添加中继器、添加新小区或调谐一个或更多个小区天线。或者特别是,一个或更多个行动可以是升级网络、网络致密化、网络流量转移或网络负载平衡。特别是,如果原因(或一个或更多个体验质量度量或一个或更多个根本原因度量)包括下载速度、繁忙小时的下载速度、在所有小时的网络时延、在繁忙小时的网络时延、下游时延、上游时延、视频质量分数、体验质量分数、分组丢失度量、信号强度、拥塞指标、网络时延或样本数量中的一个或更多个,则采取或执行至少一个所建议的行动。在另一个可能的实施例中,例如由服务人员采取或执行的指令,本文公开的一个或更多个行动可以例如以连续用户指南的形式被显示或指示。

实时优化

在特定实施例中,计算系统的一个或更多个服务器可以向一个或更多个计算设备发送一个或更多个网络改变请求。这些网络改变请求可以导致计算设备为用户显示消息、建议改变当前网络、或者可以与计算设备的操作系统或应用相互作用以自动改变当前网络。这将允许网络将它的一些用户转移到另一个通信网络,例如另一个蜂窝网络或宽带无线网络。网络改变请求与计算设备的相互作用可以取决于计算设备设置,例如,用户可以禁止自动网络改变或者仅允许某些应用改变它们使用的网络。这样的网络改变请求将允许通信网络的实时优化,它们也可以是定时的或包括时间点信息或到期信息,以用基于时间的方式优化网络,例如针对所计划的维护窗口和在所计划的维护窗口期间转移计算设备。

其他网络性能度量

在特定实施例中,网络性能度量可以包括拥塞度量、覆盖度量和/或网络速度度量。小区的拥塞度量可以基于繁忙小时和非繁忙小时的平均下载速度(例如,如在方程式1和2中所述的)。小区的覆盖度量可以基于网络信号强度、所连接的塔的数量和/或该小区的信号稳定性状态。小区的网络速度度量可以基于一个或更多个网络速度,诸如一个时间段的最高网络速度、一个时间段的最低网络速度或一个时间段的平均网络速度(例如平均值、中值、众数)。在特定实施例中,系统可以假设较低的度量值(例如较弱的信号强度、较低的网络速度)指示较差的网络性能。在特定实施例中,对于一些网络性能度量,系统可以假设较高的度量值指示较差的网络性能。系统可以将网络性能度量与阈值进行比较以确定网络拥塞或网络覆盖问题。可以基于样本量来校正和标准化阈值(例如,较少的样本点可能需要用于检测拥塞或覆盖问题的较高的条)。拥塞和覆盖问题检测可以基于网络的经验数据,并且可缩放到任何规模的通信网络。

在特定实施例中,系统可以将小区的网络性能度量(例如下载速度、比率、信号强度)与地区平均值(例如,对于覆盖该小区或与该小区相关联的地区)的网络性能度量进行比较以评估该小区的网络性能。在特定实施例中,系统可以提供对样本值的基于经验的偏差校正,以处理样本的数量可以非常小或大的情况。基于经验的偏差校正可以被缩放到系统所需的任何水平。在特定实施例中,系统可以使用一个或更多个网络性能度量的时间变化(例如下降),以用于确定网络性能(例如检测拥塞和覆盖问题)。例如,系统可以检测在一段时间(例如12周)内与平均性能相比的网络性能的下降(例如,该下降由拥塞度量指示)。当该下降大于阈值时,系统可以识别出拥塞问题或覆盖问题。在特定实施例中,系统可以模拟实际网络行为,例如最差性能、峰性能、峰与最差性能比较、峰与峰性能比较等。在特定实施例中,系统可以基于(例如,经由线性回归来确定的)网络性能的趋势来检测网络拥塞。

在特定实施例中,系统可以确定在体验质量度量和网络需求度量之间的相关性,并且可以基于体验质量度量和网络需求度量的相关性来预测在一个或更多个地理区域中的未来网络流量拥塞的时间。在特定实施例中,系统可以通过当网络的总业务量增加或高于在一个区域中的阈值时确定在该区域中下载速度是否正在降低(以及如果有降低,那么该降低是多少)来检测网络拥塞。在特定实施例中,系统可以基于在一个区域或其他区域中的网络的所收集的数据和/或历史数据来预测在该区域中的网络拥塞。例如,系统可以使用由该区域或许多其他区域的历史数据训练的机器学习模型来预测网络拥塞并确定网络拥塞何时会发生。

在特定实施例中,系统可以执行时间序列分析以确定与在由通信网络覆盖的一个或更多个选定区域中的网络流量相关的时域异常事件(例如,特定的天或时间窗口的网络流量的突然尖峰)。例如,系统可以将在区域中的网络业务量与这些区域或一个或更多个其他区域的平均网络业务量进行比较,并且当网络业务量比平均网络业务量高阈值倍率(例如2倍、3倍、5倍)时识别网络流量的突然尖峰。在特定实施例中,时间域异常事件的识别可以基于若干天中的每一天每小时的网络流量数据点,其可以包括比聚合若干天的所有天每小时的网络流量数据点更多的信息。

用于拥塞检测的示例方法

图6示出了用于检测在由通信网络覆盖的地理区域中的网络流量拥塞的示例方法。在特定实施例中,区域可以是在蜂窝网络中的小区区域或由通信网络覆盖的其他地理区域。在步骤610,系统可以识别由通信网络覆盖的一个或更多个区域,并且识别出的区域可以具有比在通信网络中的其他区域相对更高的网络业务量。在特定实施例中,可以基于在那些区域中的网络业务量高于预定阈值量或其他区域的网络业务量的确定来识别高网络业务量区域。

在步骤620,系统可以针对每个识别出的区域确定在该区域中的通信网络的繁忙小时(或繁忙时间段)期间的第一平均网络速度。在步骤630,系统可以针对每个识别出的区域确定在该区域中的通信网络的非繁忙小时(或非繁忙时间段)期间的第二平均网络速度。在特定实施例中,第一和第二平均速度可以是相应小时或时间段的平均值速度、中值速度或众数速度。在特定实施例中,可以基于若干天中的每一天每小时的网络流量数据点来确定第一和第二平均速度。在特定实施例中,为了减少所需的计算资源(例如cpu、时间、存储器),可以基于聚合若干天的所有天每小时的网络流量数据点来确定第一和第二平均速度。所有天每小时的网络流量数据点可以包括聚合网络速度,其可以是从若干天聚合的相应时间段(例如小时)的平均值速度、中值速度或众数速度。在特定实施例中,可以基于在多个先前时间段(例如分钟、小时、天)期间的网络流量数据点来确定第一和第二平均网络速度。在特定实施例中,可以基于在那些小时或时间段期间通信网络业务量高于繁忙小时的阈值量的确定,确定在该区域中的通信网络的繁忙小时或繁忙时间段。可以基于在那些小时或时间段期间通信网络业务量低于非繁忙小时阈值量的确定来确定非繁忙小时或时间段。

在步骤640,系统可以基于第一和第二平均网络速度之间的差与第一或第二平均网络速度的比率来确定网络性能度量。在特定实施例中,网络性能度量可用于指示网络流量拥塞的严重性。在特定实施例中,网络性能度量可以基于网络速度的线性回归斜率和在斜率上的多数表决。在步骤650,系统可以使用可以由手动地标记的网络流量拥塞数据训练的机器学习(ml)模型来确定阈值网络性能度量。在特定实施例中,ml模型可以包括分类模型或树模型。在特定实施例中,阈值网络性能度量可以由ml模型或者手动地调整,以使与网络流量拥塞识别相关的精确度度量和召回率平衡。

在步骤660,系统可以将所确定的网络性能度量(例如比率)与由ml模型确定的阈值网络性能度量进行比较。在步骤670,当网络性能度量低于阈值时,系统可以识别在该区域中的网络流量拥塞。在特定实施例中,系统可以识别在多个区域中的网络流量拥塞,并且按照如网络性能度量所指示的拥塞严重性对这些区域排序。在步骤680,系统可以向通信网络的经营商发送关于在一个或更多个区域中的识别出的网络流量拥塞的一个或更多个警报。该系统还可以发送具有识别出的网络流量拥塞的区域的列表,并且区域的该列表可以按照如网络性能度量所指示的拥塞严重性来排序。当系统没有检测到网络流量拥塞时,系统可以跳到步骤610或620以继续监控和分析通信网络流量。

在特定实施例中,系统可以进一步优化网络性能以增加在具有网络流量拥塞的一个或更多个地理区域中的通信网络的容量。可以基于一个或更多个性能参数(包括例如负载平衡因子、切换或吞吐量)来优化网络性能。可以通过聚合不同运营商或提供商的通信网络来优化网络性能。在特定实施例中,系统可以进一步确定在网络性能降低和网络流量状态或网络流量变化之间的相关性。在特定实施例中,系统可以确定在体验质量度量和网络需求度量之间的相关性,并且可以基于体验质量度量和网络需求度量的相关性来预测在一个或更多个地理区域中的未来网络流量拥塞的时间。在特定实施例中,系统可以基于网络下载速度来确定体验质量度量,并且基于下载请求的请求数量来确定网络需求度量。

在适当的情况下,特定实施例可以重复图6的过程的一个或更多个步骤。尽管本公开将图6的过程的特定步骤描述和示出为以特定顺序发生,但是本公开设想了图6的过程的任何合适的步骤以任何合适的顺序发生。此外,尽管本公开描述并示出了包括图6的方法的特定步骤的用于检测在由通信网络覆盖的一个或更多个区域中的网络流量拥塞的示例方法,但是本公开设想用于检测在由通信网络覆盖的一个或更多个区域中的网络流量拥塞的任何合适的方法,包括任何合适的步骤,这些合适的步骤在适当的情况下可以包括图6的方法的步骤中的全部、一些或不包括图6的方法步骤。此外,尽管本公开描述并示出了执行图6的过程的特定步骤的特定组件、设备或系统,但是本公开设想了执行图6的过程的任何适当阶段的任何适当组件、设备或系统的任何适当组合。

确定网络度量

体验质量(qoe)度量

1.qoe关键质量指标(kqi)或kpi

在特定实施例中,系统可以对具有低qoe的区域执行根本原因分析,以识别在这些区域中的在低qoe背后的原因。在本文,术语“root-cause(根本原因)”或“rootcause(根本原因)”可以指导致或促成在一个或更多个相关区域中的一个或更多个低qoe问题的任何原因或理由(在任何层级处)。在特定实施例中,系统可以确定指示如通信网络的最终用户所体验的qoe的水平的一个或更多个qoe度量。在特定实施例中,qoe度量可以包括一个或更多个qoe相关关键质量指标(kqi)或关键性能指标(kpi),例如网络速度(例如,在所有小时的网络速度、在繁忙小时的网络速度、在非繁忙小时的网络速度)、网络时延(例如,在所有小时的网络时延、在繁忙小时的网络时延、在非繁忙小时的网络时延)、分组丢失度量(例如,在所有小时的分组丢失、在繁忙小时的分组丢失、在非繁忙小时的分组丢失)等。在特定实施例中,网络速度可以是在所有小时的下载速度、在繁忙小时的下载速度、在所有小时的上传速度、在繁忙小时的上传速度、在所有小时的连接速度、在繁忙小时的连接速度、在所有小时的网络速度波动、在繁忙小时的网络速度波动等。在特定实施例中,网络时延可以是在所有小时的单向时延、在繁忙小时的单向时延、在所有小时的上游时延、在繁忙小时的上游时延、在所有小时的下游时延、在繁忙小时的下游时延、在所有时延的回传时延、在繁忙小时的回传时延、在所有小时的往返时延、在繁忙小时的往返时延等。

2.qoe分数

在特定实施例中,qoe度量可以是包括一个或更多个qoe组成要素度量的复合度量。例如,可以通过qoe相关度量(例如kqi或kpi),诸如在所有小时的下载速度、在繁忙小时(或繁忙时间)的下载速度、在所有小时的网络时延、在繁忙小时(或繁忙时间)的网络时延、在所有小时的分组丢失、在繁忙小时(或繁忙时间)的分组丢失等的组合来测量qoe。在特定实施例中,qoe度量可以包括qoe的分数,其指示当最终用户使用应用时的网络连接体验的满意水平。可以使用映射函数来确定qoe的分数,该映射函数可以将一个或更多个qoe相关kqi或kpi映射到qoe分数。例如,qoe分数可以是基于下载速度和网络时延的映射函数的结果。在特定实施例中,可以从最终用户的角度(例如从最终用户的应用体验的角度)来测量qoe度量或qoe组成要素度量。

3.低qoe度量

在特定实施例中,系统可以确定可以用于指示如通信网络的最终用户所体验的低水平的qoe的一个或更多个低qoe度量。在特定实施例中,低qoe度量可以包括一个或更多个低qoe组成要素,例如低下载速度、高网络时延、低视频观看质量、视频播放冻结等。在特定实施例中,不是用作qoe度量或qoe组成要素度量,时延可以用作(例如,对于低下载速度的)潜在原因的根本原因度量,并且可以被进一步分析用于下一级原因(例如,高上游时延、高下游时延等)。在特定实施例中,低qoe度量还可以包括qoe的时间变化(例如,下载速度下降、时延增加、网络速度波动等)。在特定实施例中,时间变化可以每周、12周中的一周、12周中的4周被测量。例如,时间变化可以是与一个或更多个先前周相比的在当前周中的度量(例如qoe度量)的变化。通过这个比较,系统可以确定周与周之间的变化(例如周与周之间的下载速度下降、周与周之间的时延增加等)、与当前周之前的4周(不包括当前周)相比的在当前周中的度量、与当前周之前的12周中的度量相比的在当前周中的度量和/或近4周(即当前周和当前周之前的3周)与近4周之前的12周相比的度量变化等等。

根本原因度量

在特定实施例中,系统可以对与一个或更多个感兴趣区域相关联的检测到的低qoe问题(例如拥塞或覆盖问题)执行根本原因分析。在特定实施例中,系统可以确定用于根本原因分析的一个或更多个根本原因度量。根本原因度量可以包括与感兴趣的qoe相关的一个或更多个kqi或kpi。例如,根本原因度量可以包括如由一个或更多个信号强度参数(诸如参考信号接收功率(rsrp)、接收信号强度指标(rssi)等)指示的信号强度。在一个区域中的低信号强度水平可以指示在该区域中的覆盖问题。根本原因度量还可以包括与信号干扰相关的参考信号接收质量(rsrq)。在特定实施例中,根本原因度量可以包括信号强度、信号干扰、上游时延、下游时延、在核心网络中的时延、在无线电接入网络中的时延、拥塞指标、拥塞度量、样本数量、用户的数量等。在特定实施例中,拥塞指标或拥塞度量可以从在一天的繁忙时间和非繁忙时间的下载速度降低导出,其中一天的繁忙时间和非繁忙时间可以基于一段时间(例如一小时、半小时等)的业务量或样本数量来导出。潜在的根本原因和相应的根本原因度量可以将低qoe问题与一个或更多个潜在的解决方案联系起来,用于优化通信网络并提高在相关区域中的qoe。

用于根本原因分析的数据聚合

如在本公开中早些时候所述的,在特定实施例中,系统可以收集和聚合通信网络的网络性能数据。例如,系统可以通过一个或更多个api来收集通信网络的最终用户的原始应用数据。在特定实施例中,系统可以基于最终用户的连接请求从应用层收集应用数据。每个连接请求可以与时间戳相关联,该时间戳也可以与相关请求和应用数据一起被记录。在特定实施例中,所收集的数据可以包括用户的移动设备被连接到的服务小区的标识。所收集的数据还可以包括与所传送的信息的总字节相关的计数器和传送该信息所花费的时间。系统可以使用所记录的计数器和传送相应信息所花费的时间来导出一个或更多个qoe度量(例如下载速度、所传送的数据量等)。

在特定实施例中,系统可以预处理、清理和聚合所收集的数据,用于确定一个或更多个qoe度量和根本原因度量。例如,系统可以基于所收集的计数器数据和传送相应信息所花费的时间来确定下载速度。系统可以通过将某些信息(例如空中接口技术类型)连接在一起来使小区标识变得唯一。作为另一个示例,系统可以通过聚合来自与特定小区相关联的所有设备的应用(例如移动应用)的所有请求来聚合每小区基站的所收集的数据。在特定实施例中,系统可以聚合在时间维度上(例如每一天每小时、在n天(7天、28天或任何合适的天数)的持续时间期间每小时)的所收集的数据。在特定实施例中,系统可以计算与聚合数据单元相关联的样本的数量。例如,对于每一天,样本数量可以与每小时的聚合数据单元相关联。作为另一个示例,样本数量可以与在n天的持续时间期间每小时的聚合数据单元相关联。样本数量可以用作业务量或连接需求水平的指示。在特定实施例中,系统可以计算所传送的总比特量(例如,每一天每小时聚合的,或者在n天的持续时间期间针对每小时聚合的)作为业务量或需求水平的指示,而不是计算样本数量。在特定实施例中,系统可以使用样本数量和所传送的总比特量两者作为业务量或需求水平的指示。

低qoe确定

低qoe标准

在特定实施例中,系统可以使用一组标准来确定在一个或更多个区域(例如小区、分区、地区)中的低qoe。例如,该组标准可以包括一个或更多个阈值。阈值可以是绝对值阈值、百分比阈值(例如最差的3%、最差的5%、最差的10%)、百分位数阈值(例如最差的97百分位数、最差的95百分位数、最差的90百分位数)等。在本文中,具有在最差的x百分位数当中的qoe的区域可能意味着该区域具有比所有感兴趣区域的x%更差的qoe。例如,当一个区域具有比所有感兴趣区域(例如网络的所有区域、所有受监控区域、所有感兴趣区域)的97%更差的qoe时,该区域可以被称为具有最差的97百分位数的qoe。在特定实施例中,系统可以基于与一个区域相关联的至少一个qoe度量满足低qoe标准(例如,在最差的90百分位数或最差的95百分位数之中)的确定来确定该区域具有低qoe。在特定实施例中,确定低qoe的阈值可以通过聚类或异常检测来被获悉。

在特定实施例中,感兴趣区域可以是包括多个小区、分区、地区等的区域。在特定实施例中,感兴趣区域可以是包括满足某些条件或在某个类别中的一组小区的区域。例如,该组小区可以是在某个频带(例如800mhz频带、2.6ghz频带等)处操作的一组小区、在某个频带处操作并具有某个带宽的一组小区(例如,在2.6ghz频带处并具有5mhz的带宽的一组小区、在2.6ghz频带处并具有3mhz的带宽的一组小区等)、某个网络代或网络连接类型(例如2g、3g、4g、5g、wi-fi等)的一组小区、由某个移动网络经营商操作的一组小区、满足条件(例如频带、运营商、网络代、邮政编码、县等)的某个组合的一组小区。

在特定实施例中,可以使用机器学习(ml)算法来确定阈值。当通过复合qoe度量(例如,包括多个qoe组成要素度量,诸如在所有小时的下载速度、在繁忙小时的下载速度、在所有小时的网络时延、在繁忙小时的网络时延)来测量qoe时,每个单独的qoe组成要素度量可以具有它自己的阈值,并且如果qoe的任何单独组成要素度量满足低qoe标准(例如,低于相应的阈值),则低qoe可以被确定。在特定实施例中,作为替代方案,复合qoe度量的所有单独的组成要素度量可以具有相同的阈值(例如,最差的90百分位数或最差的95百分位数),并且如果qoe组成要素度量的组合满足低qoe标准(例如,低于阈值),则低qoe可以被确定。在特定实施例中,作为另一替代方案,可以基于多个qoe组成要素度量和映射函数来确定qoe分数。例如,qoe分数可以是多个qoe组成要素度量的加权和,其中权重可以指示每个组成要素度量对于qoe的重要性。qoe分数可以与qoe分数阈值比较,并且如果分数比低qoe阈值分数差,则qoe可以被确定为低qoe。

在特定实施例中,系统可以基于正在被监控的小区的总数来确定低qoe阈值。例如,如果被监控的小区的总数小于第一总数阈值(例如10k),则系统可以使用90百分位数阈值来包括更多的低qoe小区。当被监控的小区的总数等于或高于总数阈值时,系统可以使用95百分位数阈值或98百分位数阈值来包括更少的低qoe小区。在特定实施例中,系统可以使用每国家每运营商的全局阈值,并且当这些小区的一个或更多个qoe度量满足全局阈值时(即使它们不满足百分位数阈值标准)识别到低qoe小区。在特定实施例中,系统可以确定执行根本原因分析,并为具有高需求和网络拥塞的小区生成优化,即使这些小区具有相对良好的qoe(例如,不满足低qoe标准)。在特定实施例中,系统可以将所识别的低qoe小区限制在1000个小区内。

确定过程

在特定实施例中,系统可以通过检测在一个或更多个区域(例如小区、分区、地区)中的低qoe问题来识别具有低qoe的这些区域。可以基于一个或更多个qoe度量来检测低qoe问题。在特定实施例中,系统可以计算每个区域的每个qoe度量的百分位数值。百分位数值可以指示,对于这个特定的qoe度量,相关区域比在被监控的区域组当中的多少百分位数的区域差。例如,对于下载速度度量,系统可以确定相应的百分位数值为0.90(最差下载为1并且最佳下载速度为0)。这个0.90的百分位数值可以指示相关区域具有比在被监控的所有感兴趣区域当中的区域的85%慢的下载速度。在每个区域的每个qoe度量的百分位数值被确定之后,系统可以应用用于过滤qoe度量的该组标准(例如阈值)以确定低qoe区域。例如,用下载速度的95百分位数阈值,系统可以将具有对于下载速度的0.95或更高百分位数值的任何区域确定为低qoe区域,其具有比感兴趣区域的至少95%更慢的下载速度。

低qoe示例

作为示例而不是作为限制,系统可以确定在被监控的一组感兴趣的小区中的每个小区的qoe百分位数。可以基于单独的qoe度量(例如下载速度、在繁忙小时的下载速度、网络时延)或复合qoe度量(例如基于一个或更多个qoe分量度量的qoe分数)来确定qoe百分位数。然后,系统可以根据一组标准来将具有最差qoe(例如,由qoe分数或一个或更多个qoe度量指示)的小区识别并标记为在该组小区中的低qoe小区。例如,系统可以将具有在最差百分位数阈值(例如3%、5%、10%等)内的一个或更多个qoe度量(或所有qoe分量度量中的每一个)的那些小区识别和标记为低qoe小区。被标记为低qoe小区的小区可以在被监控的所有感兴趣的小区(例如在一个地区中的所有小区、在一个国家中的所有小区、特定运营商的特定网络代(例如2g、3g、4g)的所有小区、特定网络的所有小区等)之中。

作为另一个示例,如果小区的下载速度差于低qoe百分位数阈值(例如,最差的97百分位数、最差的95百分位数、最差的90百分位数),或者换句话说,如果小区的下载速度在所有感兴趣的小区的最差的百分比阈值(例如3%、5%、10%等)内,该小区可被识别并标记为具有低qoe的小区。下载速度可以是与该小区相关联的所有数据样本的下载速度的中值。作为另一个示例,如果在小区的繁忙时间的下载速度在所有感兴趣的小区的最差的百分比阈值内(例如,3%、5%、10%等),该小区可被识别并标记为具有低qoe的小区。作为另一个示例,如果小区的网络时延在所有感兴趣的小区的最差的百分比阈值(例如,3%、5%、10%等)内,该小区可被识别并标记为具有低qoe的小区。

低qoe警报

生成警报

在特定实施例中,在低qoe问题被检测到之后,系统可以为这些区域生成低qoe警报。例如,系统可以生成低下载速度警报、下载速度下降警报、低信号强度警报、网络拥塞警报等。在特定实施例中,系统可以基于一个或更多个qoe度量和/或在多个qoe度量当中的关系来确定在一个或更多个区域中的qoe,以生成低qoe警报。在特定实施例中,系统可以识别在两个或更多个低qoe警报(每个警报可以基于一个或更多个单独的网络度量)之间的相关性和关系,以提供用于网络优化的工程方向(例如,改善网络覆盖、改善网络容量)。

优先级

在特定实施例中,系统可以为由系统生成的每个低qoe警报确定优先级分数。可以基于许多因素(包括例如mno的意图、样本数量、所预测的投资回报、低qoe问题的紧迫性等)来确定优先级分数。然后系统可以基于这些因素使用qoe度量的加权和来确定优先级分数。例如,系统可以基于总流量比特(例如,总流量=样本数量×每样本下载速度×所使用的时间)来预测投资回报。然后,系统可以基于所预测的投资回报、通过某些优化行动(例如,升级小区、添加新小区或流量转移)的所预测的改善的、增加的、获得的或恢复的总流量以及这些优化行动的成本来确定优先级分数值。在特定实施例中,系统可以基于由于提高的qoe和覆盖、所预测的收入增加等而导致的所预测的降低的反复买卖率(churningrate)来确定优先级分数。在特定实施例中,系统可以使用下面的方程式来确定低qoe警报的优先级分数:

分数=样本数量×(繁忙小时下载速度+下载速度)/2(7)

其中样本数量、繁忙小时下载速度和下载速度是在[0,1]的范围内的归一化参数。

根本原因确定

百分位数阈值

在特定实施例中,系统可以确定用于过滤根本原因度量的一组标准。在特定实施例中,根本原因度量的标准可以比用于确定低qoe的标准更温和或更宽松,以允许低qoe的潜在根本原因被识别而没有遗漏真实原因。在这个阶段对根本原因的更宽松的标准可以允许更多潜在根本原因被包括,以使更进一步或更深入的根本原因分析成为可能,其中根本原因可以在稍后的精确阶段中被更准确地选择。例如,如果潜在原因与低信号强度水平相关,则系统可以在更深的根本原因分析过程中进一步识别低信号强度是否是由于低发射功率、高路径损耗、低天线增益、高干扰和/或任何其他因素。在特定实施例中,系统可以确定用于过滤根本原因度量的一组最佳标准。如果根本原因的标准在第一阶段太严格,则它可能导致遗漏潜在根本原因。但标准太宽松,它可能导致产生更多的原因或在识别哪个是主要原因或首要根本原因时的模糊不清。在特定实施例中,可以通过彻底测试多个候选阈值(例如,最差的5%、最差的10%、最差的15%、最差的20%、最差的25%、最差的30%等)来确定最佳标准。例如,系统可以将在不同标准下的所确定的原因与真实原因(例如,由在现场的工程师手动地识别的、预先已知的根本原因)进行比较以确定标准精度、召回率、假阳性、假阴性等。

在特定实施例中,系统可以为每个区域的每个潜在根本原因度量确定百分位数值。百分位数值可以指示,对于这个特定的根本原因度量,相关区域比在被监控的区域组(其是用于确定低qoe的同一区域组,并且可以包括该组的所有区域,而不管qoe的水平如何)当中的多少百分位数的区域更差。作为示例而不是作为限制,系统可以确定,对于与小区相关联的信号强度度量,对应的百分位数值是0.85(最差信号强度是1并且最佳信号强度是0)。这可以指示相关小区具有比在感兴趣小区的组当中的85%的小区更差的信号强度。

在qoe度量和根本原因度量的百分位数值都被确定之后,系统可以列出在该区域组(例如,在一个地区(诸如县、具有相同邮政编码的区域等)内的所有区域)内的每个区域分别关于qoe度量和根本原因度量的百分位数值。然后,系统可以基于所有感兴趣小区的所有根本原因度量的百分位数值和根本原因度量的标准来确定低qoe区域的根本原因。在特定实施例中,系统可以使用一个或更多个百分位数阈值来过滤根本原因度量的百分位数值。例如,系统可以使用80百分位数阈值来过滤所有根本原因度量。具有小于80百分位数值的根本原因度量可以被过滤出,并且在进行过滤之后,具有80百分位数或更高百分位数的根本原因度量可以保留。剩余的根本原因度量可以被识别为相关区域的对应根本原因的指示。

在特定实施例中,系统可以使用网络速度、在繁忙小时的网络速度和网络时延作为qoe度量,以用于确定蜂窝网络的低qoe小区。系统可以使用信号强度、拥塞度量和样本数量作为根本原因度量,以用于确定低qoe小区的根本原因。在特定实施例中,如果三个qoe度量(例如下载速度、在繁忙小时的下载速度、网络时延)中的任一个在最差的90百分位数(最差的10%)之中,则系统可以确定小区具有低qoe。可以基于对低qoe的要求来确定和修改用于确定低qoe小区的百分位数阈值。例如,系统可以通过使低qoe的阈值(例如最差的3%、最差的5%)变严格来包括更少的小区作为低qoe小区。在特定实施例中,为了确定低qoe的潜在根本原因,系统可以将在最差的80百分位数内的根本原因度量标记为潜在原因的指示。用于过滤根本原因度量的80百分位数阈值比用于过滤低qoe度量的90百分位数更宽松,这可以允许系统包含更多的潜在根本原因并避免遗漏真实原因。

样本数量和出现频率

在特定实施例中,系统可以使用额外的过滤器来过滤出具有低于样本数量阈值(例如100)的样本数量的小区。样本的小数量可能指示低需求且因此指示相关小区的优化的低优先级。例如,系统可以在低qoe确定过程期间识别具有低qoe和低样本数量(例如,低于样本数量阈值)的一组小区。系统可以将该组小区过滤出,并且将这些小区排除在确定根本原因和生成优化建议的后续过程之外,因为在这些小区中的低需求可以指示低的优化优先级。在特定实施例中,如果那些小区警报的出现频率在一段时间(例如,包括当前周的近6周)期间低于阈值(例如50%),则系统还可以使用额外的过滤器来过滤出小区警报(例如,低下载速度警报、低信号强度警报、拥塞警报等)。这些警报的低出现频率可以指示qoe问题的相对低水平的严重性和对于优化相关小区的低优先级。

确定过程

图7a-图c示出了用于确定蜂窝网络的多个低qoe小区的原因的示例过程。作为示例而不是作为限制,系统可以从蜂窝网络的最终用户收集和聚合应用数据。系统可以使用网络速度、在繁忙小时的网络速度和网络时延作为qoe度量用于确定蜂窝网络的低qoe小区。系统可以使用信号强度、拥塞度量和样本数量作为根本原因度量,以用于确定低qoe小区的根本原因。系统可以基于在蜂窝网络的所有感兴趣小区当中的一组小区的所收集和聚合的应用数据来确定所有这些qoe度量和根本原因度量的值,如在图7a中的表中所示的。在表的左侧上的第一列包括与该组小区中的每个小区相关联的小区id。表的每一行包括对应于该组小区中的特定小区的qoe度量值和根本原因度量值。表的每一列(除了在左边的第一列以外)对应于特定的qoe度量(例如下载速度、在繁忙小时的下载速度、时延)或根本原因度量(例如信号强度、拥塞度量、样本数量)。下载速度、时延和信号强度可以分别以mbp或kbp、毫秒或秒以及dbm或mw为单位被测量。可以使用在所有感兴趣的小区当中的百分位数来测量拥塞度量。被监控的感兴趣的小区可以是在一个地区(诸如县、具有相同邮政编码的区域、城市、省、州等)内的所有小区。

在qoe度量和根本原因度量的值被确定之后,系统可以计算每个小区的每个qoe度量和每个根本原因度量的百分位数值。百分位数值可以指示,对于这个特定的qoe度量或根本原因度量,相关区域比在所有被监控的感兴趣的小区当中的多少百分位数的小区差。图7b示出了对应于图7a所示的度量值的百分位数值。作为示例,在表的第一行中的小区1具有时延度量的为1的百分位数值,这指示该小区具有在所有被监控的感兴趣的小区当中的最差时延。作为另一个示例,在表的第一行中的小区1具有信号强度的大约0.21的百分位数值,这指示该小区的信号强度比被监控的所有感兴趣小区的21%差。

在qoe度量和根本原因度量的百分位数值被确定之后,系统可以对qoe度量应用第一组标准,以确定低qoe小区。例如,系统可以使用90百分位数阈值来过滤所有qoe度量。低于90的百分位数值可以被过滤出,且等于或高于90的百分位数值可以在过滤之后保留。图7c示出了在表的左部分中的qoe百分位数过滤结果。可以基于过滤结果从所有被监控的感兴趣小区中识别和选择低qoe小区。例如,图7c中所示的小区可以具有至少一个qoe度量,其具有高于90百分位数阈值的百分位数值。在特定实施例中,当小区具有满足低qoe标准(例如90百分位数阈值)的至少一个qoe度量时,系统可以将该小区识别为低qoe小区。在特定实施例中,当qoe度量的组合(例如,包括两个或更多个qoe度量)都满足低qoe标准(例如,它们的百分位数值高于90百分位数阈值)时,系统可以将小区识别为低qoe小区。在特定实施例中,系统可以对所有qoe度量使用一个阈值。在特定实施例中,当确定低qoe小区时,系统可以对不同的qoe度量使用不同的阈值。

在低qoe小区被识别之后,系统可以应用第二组标准来识别在所识别的低qoe小区中的低qoe问题的根本原因。例如,系统可以使用80%阈值来过滤根本原因度量。具有低于80的百分位数值的根本原因度量可以被过滤出,并且具有等于或高于80的百分位数值的根本原因度量可以在过滤之后保留。图7c在表的右部分中示出了根本原因度量过滤结果。在过滤之后剩余的每个根本原因度量可以被系统用作相关小区的低qoe问题的原因的指示。例如,在表的第一行中的小区1可以具有拥塞度量,其具有高于90百分位数阈值的约0.99的值,作为在该小区中的低qoe可以由网络拥塞(而不是信号强度或高需求,因为这两个根本原因度量被80百分位数阈值过滤出)引起的指示。在特定实施例中,系统可以对所有根本原因度量使用一个阈值。在特定实施例中,当确定低qoe的原因时,系统可以对不同的根本原因度量使用不同的阈值。

示例低qoe小区

在特定实施例中,系统可以基于该小区的至少一个qoe度量满足低qoe标准的确定来识别出该小区具有低qoe。例如,在图7c的表中,八个低qoe小区(具有1、2、3、4、7、17、28、37的小区id)具有高于90百分位数阈值的所有三个qoe度量(例如下载速度、在繁忙小时的下载速度、时延)。低qoe小区40具有高于90百分位数阈值的两个qoe度量(例如下载速度、时延)。低qoe小区44具有高于90百分位数阈值的在繁忙小时的下载速度的一个qoe度量。在特定实施例中,系统可以基于与两个或更多个qoe度量相关联的模式、相关性或组合来识别低qoe小区。例如,系统可以将(在所有小时的)下载速度与在繁忙小时的下载速度进行比较,并基于该比较来确定在繁忙小时期间的下载速度下降。当下载速度下降超过下载速度下降阈值时,系统可以确定小区具有低qoe。作为另一个示例,系统可以基于小区具有满足相应的低qoe标准的下载速度和网络时延两者的确定,确定小区具有低qoe。

示例根本原因

在特定实施例中,系统可以使用80百分位数阈值来过滤根本原因度量,以确定相应小区的低qoe的原因,如图7c所示。例如,小区1和2具有高于80百分位数阈值的拥塞度量,并且系统可以确定在这两个小区中的低qoe的原因与网络拥塞有关。作为另一个示例,小区3和4具有拥塞度量,并且样本数量高于80百分位数阈值。系统可以确定这两个小区的低qoe由网络拥塞和高连接需求引起。作为另一个示例,小区17和44具有高于80百分位数阈值的信号强度和拥塞度量。系统可以确定在这两个区域中的低qoe由弱信号强度(网络覆盖问题)和网络拥塞引起。作为另一个示例,小区28仅具有高于80百分位数阈值的样本数量。系统可以确定在该小区中的低qoe由高需求引起。作为另一个示例,小区37具有高于80百分位数阈值的所有三个根本原因度量。系统可以确定在该小区中的低qoe由弱信号强度、网络拥塞和高连接需求的组合引起。作为另一个示例,小区40具有高于80百分位数阈值的信号强度和样本数量。系统可以确定在该小区中的低qoe可以由弱信号强度和高连接需求的组合引起。

作为另一个示例,小区7具有低于80百分位数阈值的所有三个根本原因度量。系统可以确定在该小区中的低qoe不由信号强度、网络拥塞或高连接需求三个原因中的任一个引起。可能需要进一步的根本原因分析(例如,使用不同组的根本原因度量、使用不同的阈值)来确定在该区域中的低qoe的原因。在特定实施例中,当针对低qoe小区没有识别出原因时,系统可以生成列出已经被考虑但最终被排除的根本原因的报告。通过排除错误的原因,系统可以将网络工程引导到正确方向以进行优化,并避免进行不必要的优化行动。

异常事件根本原因

确定过程

在特定实施例中,系统可以对特定的低qoe事件(例如网络异常、网络时延、低视频qoe、拥塞警报、视频播放冻结等)执行根本原因分析。系统可以首先收集、预处理和聚集感兴趣区域的应用数据。然后,系统可以确定特定低qoe事件(例如异常、时延、低视频qoe、拥塞警报等)的度量。例如,对于网络时延事件,系统可以使用上游时延和下游时延作为根本原因度量,以用于确定网络时延事件的原因。作为另一个示例,对于低视频qoe事件,系统可以使用视频质量分数、下载速度、网络时延、信号强度和拥塞指标作为根本原因度量以确定低视频qoe的原因。系统可以对一个或更多个qoe度量使用第一组标准来确定/检测低qoe事件,并且对根本原因度量使用第二组标准来确定原因。在那之后,系统可以生成具有识别出的原因的关于低qoe事件的报告,并为被低qoe事件影响的每个小区生成解决方案建议。在特定实施例中,第一或/和第二组标准可以各自包括对应度量的一个或更多个阈值。阈值可以由根本原因分析系统的用户设置,或者可以通过由预先标记的数据训练的机器学习模型来获悉,预先标记的数据包括具有所标记的低qoe事件和相应根本原因的小区数据。所标记的数据可以由例如在现场的工程师、手动地监控或观察小区的工程师(例如,以查看小区是否有拥塞)或监控应用的最终用户体验的工程师生成。机器学习可以是基于从聚合数据、kqi、kpi等导出的一个或更多个特征的监督学习。机器学习可以使用分类方法(诸如决策树)来生成阈值,或者使用每个类(例如每个低qoe事件、每个根本原因)的划分或分割条件。

示例:异常视频质量

作为示例而不是作为限制,表2示出了具有网络时延的多个小区(例如小区1-4),其可以由系统基于关于网络时延(例如,以ms为单位)的最差5%阈值来识别。

表2

在表2中的小区1-4都具有在所有感兴趣的小区的最差的5%当中的网络时延时间值。系统可以使用上游时延和下游时延作为根本原因度量以用于确定原因。例如,对于小区1,上游时延是20ms,其在所有感兴趣小区的最差的1%之中,而下游时延是50ms,其在所有感兴趣小区的最差的50%之中。系统可以通过对上游和下游时延应用20%阈值来确定在小区1中的低视频qoe由上游时延引起。作为另一个示例,对于小区2,上游时延是60ms,其在所有感兴趣小区的最差的50%之中,而下游时延是240ms,其在所有感兴趣小区的最差的1%之中。系统可以通过对上游和下游时延应用20%阈值来确定在小区2中的低视频qoe由下游时延引起。作为另一个示例,对于小区3,上游时延是150ms,其在所有感兴趣小区的最差的2%之中,而下游时延是170ms,其在所有感兴趣小区的最差的3%之中。系统可以通过对上游和下游时延应用20%阈值来确定在小区3中的低视频qoe由上游时延和下游时延引起。作为另一个示例,对于小区4,上游时延是80ms,其在所有感兴趣小区的最差的40%之中,而下游时延是120ms,其在所有感兴趣小区的最差的35%之中。系统可以通过应用20%阈值来确定在小区4中的低视频qoe不由上游时延或下游时延引起。

作为示例而不是作为限制,表3示出了具有低视频qoe的多个小区(例如小区5-8),其可以由系统基于关于视频质量分数(例如0-100)的最差5%阈值来识别。

表3

在表3中的小区1-4都具有在所有感兴趣的小区的最差的5%之中的视频质量分数值。系统可以使用视频下载速度、网络时延、信号强度和拥塞指标中的一个或更多个作为根本原因度量用于确定在这些小区中的低视频qoe的原因。例如,对于小区5,视频下载速度、时延、信号强度和拥塞指标的根本原因度量的值分别为40kbps(最差的1%)、50ms(最差的50%)、-110dbm(最差的25%)、0.1(最差的80%)。系统可以通过对相应的根本原因度量应用20%阈值来确定在小区5中的低视频qoe由下载速度引起(下载速度在低于20%阈值的最差的1%之中,并且所有其他三个度量都高于20%阈值)。作为另一个示例,对于小区6,视频下载速度、时延、信号强度和拥塞指标的根本原因度量的值分别是1mbps(最差的50%)、240ms(最差的1%)、-110dbm(最差的25%)、0.1(最差的70%)。系统可以通过对相应的根本原因度量应用20%阈值来确定在小区6中的低视频qoe由网络时延引起(网络时延在低于20%阈值的最差的1%之中,并且所有其他三个度量都高于20%阈值)。作为另一个示例,对于小区7,视频下载速度和时延的根本原因度量的值分别是80kbps(最差的2%)和170ms(最差的3%)。系统可以通过对相应的根本原因度量应用20%阈值(下载速度和网络时延都低于20%阈值)来确定在小区7中的低视频qoe由下载速度和网络时延引起。作为另一个示例,对于小区8,视频下载速度、时延和信号强度的根本原因度量的值分别是100kbps(最差的2%)、120ms(最差的35%)和-130dbm(最差的1%)。系统可以通过对相应的根本原因度量应用20%阈值(下载速度和信号强度低于20%阈值,并且网络时延高于20%阈值)来确定在小区8中的低视频qoe由下载速度和信号强度引起。

作为示例而不是作为限制,表4示出了具有下载速度问题的多个小区(例如小区1-4),其可以由系统基于关于下载速度(例如,以kbps为单位)的最差的5%阈值来识别。

表4

对应于在表4中的小区标识符(id)1-4的小区都具有在所有感兴趣的小区的最差的5%之中的下载速度值。系统可以使用rsrp或/和rsrq作为根本原因度量,以用于确定原因。例如,对于小区1,rsrp可以被确定为原因,因为它在最差的20%内。rsrp可以指示覆盖问题,并且处理解决方案可以与发射功率设置相关(例如,增加小区的发射功率以增加rsrp使得可以更高)。作为另一个示例,对于小区2,rsrq可以被确定为原因,因为它在最差的20%内。这可以是由于干扰问题,其使rsrq变坏。处理解决方案可以是减少干扰(例如,减少相邻小区在相同频率中的发射功率,或者使用一些先进的干扰减轻方法)。作为又一个示例,对于小区3,系统可以将rsrp和rsrq都确定为根本原因。作为又一个示例,对于小区4,系统可能使用当前根本原因度量对于这个小区没有识别出根本原因。

用户界面

低qoe报告

在特定实施例中,系统可以生成包括具有低qoe的所有或部分小区的报告。例如,报告可以包括具有最低qoe的小区(其是具有低qoe的小区的一部分)。作为另一个示例,待包括在报告中的小区的选择可以是每地理区域、每国家、每无线电接入网络技术代(例如2g、3g、4g等)、每运营商(移动网络经营商(mno))等。作为另一个示例,系统可以为每个mno、每个网络代、每个地理区域或每个国家等选择具有最低qoe的某个数量的小区。

根本原因分析ui

图8a-图b示出了用于配置根本原因分析和显示结果的示例用户界面(例如800a、800b)。如图8a所示,系统的用户界面800a可以包括显示感兴趣地区821的地图820,该感兴趣地区821包括具有低qoe警报的多个区域(例如822、823、824、825)。具有低qoe警报的每个区域可以由圆形指示符和在圆形指示符内的数字来指示。每个区域可以与一个或更多个小区相关联。每个小区可以包括一个或更多个小区塔,并且每个小区塔可以包括一个或更多个小区扇区。在特定实施例中,圆形指示符中的数字可以指示在相关区域中的小区的数量或低qoe警报的数量。在特定实施例中,圆形指示符可以用不同的颜色显示,以指示网络拥塞的严重性。用户界面800a还可以包括表810,其示出具有不同qoe度量和根本原因度量的小区的列表。表810的每一行可以包括小区,且表810的每一列可以对应于相关属性、qoe度量或根本原因度量,例如小区标识811、位置812、下载速度813、在繁忙小时的下载速度814、时延815、信号强度816、拥塞指标817、样本或请求的数量818等。在特定实施例中,用户界面800a可以包括面板809,用于使用户配置将被分析和显示的内容。然后面板809可以包括用于配置日期801、警报类型802(例如,具有根本原因的低qoe)、地区类型803、位置804、网络类型805(例如2g、3g、4g)等的多个下拉菜单。

如图8b所示,系统的用户界面800b可以包括示出具有低qoe问题的特定小区(例如,具有id559734_15的小区)的地图830。用户界面800b可以允许系统的用户从表810中选择特定的小区。用户界面800b可以显示地图830中的选定小区,地图830显示由选定小区覆盖的区域831。用户界面800b可以包括显示区域832以显示与选定小区相关联的多个属性,例如网络类型、小区id、移动国家代码、移动网络代码、位置(例如纬度和经度)、范围、按周的平均下载速度等。在特定实施例中,系统的用户界面800a-b可以使用具有不同颜色的元素(例如点、圆)来说明相关度量的严重性。例如,较深的颜色可以指示较高水平的严重性,以及较浅的颜色可以指示较低水平的严重性。在特定实施例中,用户界面可以隐藏或减弱被识别为不与低qoe相关联的qoe度量以及从低qoe的识别出的原因排除的根本原因度量。

低qoe解决方案建议

在特定实施例中,系统可以生成解决方案建议或优化建议以解决低qoe问题并提高qoe。解决方案或优化建议可以基于识别出的低qoe问题的根本原因来将如由最终用户体验的qoe联系到网络工程。在特定实施例中,系统可以基于多个根本原因的相应模式或组合来确定和列出潜在的解决方案。在特定实施例中,系统可以基于在这些小区中的识别出的根本原因和连接需求(例如样本数量、连接请求的数量、用户的数量、连接设备的数量、业务量等)来为具有低qoe的小区确定优化建议。系统可以(例如,基于优先级分数)优先考虑具有高连接需求的小区,用于生成优化建议,并且可以为具有低连接需求的小区建议较少或无优化。

覆盖问题

作为示例而不是作为限制,如果在小区中qoe是低的以及如果信号强度是差的,则系统可以确定覆盖问题应该是优化该小区的方向。解决方案建议可以仅针对具有相对大数量的样本(例如,高于样本数量阈值)的小区来生成。如果该需求高于如由大量样本指示的在该小区中的需求阈值,则系统可以建议覆盖增强(例如,增加小区发射功率、减少干扰、添加中继器、添加新小区、调谐小区天线等)作为首选解决方案,并且如果覆盖增强不足以解决低qoe问题,则建议网络升级/致密化。如果需求低于在该小区中的需求阈值,则系统可以基于所预测的投资回报来建议较少的优化行动(例如,仅增强覆盖)或者不建议对该小区的优化行动。

网络拥塞

作为另一个示例,如果在小区中qoe是低的并且网络拥塞是严重的,则系统可以确定网络容量可以是优化该小区的方向。如果在该小区中的连接需求高于需求,当通信管道改进可能不完全解决问题时,系统可以推荐解决方案(诸如升级、致密化、卸载、负载平衡和任何合适的优化行动)作为最高优先级解决方案(尽管在一些情况下它可以在某种程度上有帮助)。如果在该小区中的连接需求低于需求阈值,则系统可以确定低qoe问题由窄通信管道(例如带宽)引起,并且可以建议管道改进(例如,通过载波聚合、通过mimo等进行的吞吐量提高)作为该小区优化的第一方向,而不是小区致密化和其他优化手段。如果小区管线不能被改进,系统可以建议网络升级、致密化、卸载等。

覆盖和拥塞

在特定实施例中,系统可以确定低qoe问题的根本原因,并基于与多个qoe度量和根本原因度量相关联的组合、模式或关系来生成优化建议。作为另一个示例,如果在小区中qoe是低的,信号强度水平是低的,并且网络拥塞是严重的,则系统可以确定该小区具有覆盖和容量问题两者。如果在小区中的连接需求高于需求阈值,则系统可以以高的优先级建议对小区致密化、升级、卸载等。如果在小区中的连接需求低于需求阈值,则系统可以建议增强通信管道以提高覆盖和容量。作为另一个示例,如果qoe低,信号强度不差,拥塞不严重,并且样本数量大,则系统可以确定低qoe通过如由样本的大数量所指示的在小区中的高需求引起。系统可以建议小区致密化、网络升级、卸载等。作为另一个示例,如果在小区中qoe是低的,但是没有根本原因被识别出,则系统可以确定低qoe由未被包括在当前分析的原因中的一些其他原因引起。系统可以建议避免不必要或不正确的优化(例如提高覆盖率、增加管道),因为这些优化不太可能提高qoe。

断裂的光纤

作为另一个示例,系统可以确定拥塞问题由断裂的光纤引起,因为沿着某个光纤链路的许多小区具有拥塞问题。系统可以建议用于修复断裂的光纤链路的解决方案。作为另一个示例,系统可以确定拥塞由有问题的小区塔引起,因为在该塔周围的所有其他区域都没有拥塞问题,并且由该特定塔覆盖的小区有拥塞问题。系统可以进一步在扇区级处执行根本原因分析。系统可以确定特定天线扇区有天线倾斜问题,因为它在天线扇区的特定角中的对应区域是有覆盖问题的唯一区域。系统可以生成用于调谐特定天线扇区的解决方案建议。

连接需求

在特定实施例中,系统可以基于考虑到如由相关小区中的连接需求(例如样本数量)所指示的需求的投资回报来建议解决方案。例如,如果连接需求低于需求阈值(它可以意味着没有太多的动机来添加新的小区),系统可以不建议添加新的小区。系统可以使用样本数量作为加权因子来计算投资回报。样本数量可以与可以由该网络获得的总流量有关(例如,总流量=样本数量×每样本的平均下载速度×花费的时间)。系统还可以使用由用户在网络上花费的时间作为qoe的函数。例如,如果最终用户由于低qoe而减少应用参与,低qoe可以减少由用户在网络上花费的时间。在特定实施例中,系统可以基于由系统确定的优先级分数来生成用于升级网络的解决方案建议。例如,系统可以建议优先考虑对具有更严重拥塞或覆盖问题的小区进行升级。

机器学习(ml)模型

ml确定标准

在特定实施例中,系统可以基于一个或更多个标准(例如,低qoe度量的第一组标准、根本原因度量的第二组标准)来确定低qoe和根本原因。在特定实施例中,系统可以使用机器学习(ml)模型来确定第一或/和第二组标准。可以通过预先标记的数据、历史数据、所收集和聚合的数据、qoe度量数据、根本原因度量数据以及用于确定低qoe的先前使用的第一组标准、用于确定根本原因的先前使用的第二组标准来训练ml模型。预先标记的数据可以包括具有预先标记的qoe水平(例如高、中、低)的小区和具有预先标记的根本原因的低qoe小区。该数据可以由在现场的工程师或手动地监控或观察小区(例如网络流量拥塞)或用户体验(例如最终用户的应用体验)的工程师手动地标记。历史数据可以包括与qoe度量、根本原因度量、低qoe标准(例如阈值和相应度量)、在先前根本原因分析期间确定的根本原因标准(例如阈值和相应度量)相关的先前数据。ml模型可以基于来自预先标记的数据的监督学习来确定度量阈值。机器学习可以使用分类方法(例如决策树)来生成用于将网络qoe分类为可以具有不同水平的qoe的多个类别(例如低qoe、中qoe、高qoe)并且用于将低qoe分类为多个根本原因类别的度量阈值或条件。在特定实施例中,可以使用启发式投影算法来执行根本分析。

用于根本原因确定的机器学习

在特定实施例中,低qoe和低qoe小区的根本原因可以由ml模型直接确定(例如,作为ml模型的输出)。可以基于历史数据来训练ml模型,历史数据包括与具有预先标记的或先前确定的低qoe的低qoe小区相关的数据以及相应的根本原因。预先标记的数据可以包括具有所标记的qoe水平(例如高、中、低)的小区和具有所标记的根本原因的低qoe小区。该数据可以由在现场的工程师或手动地监控或观察小区(例如网络流量拥塞)或用户体验(例如最终用户的应用体验)的工程师手动地标记。ml模型可以使用监督学习来确定低qoe和相应的根本原因。机器学习可以使用分类方法(例如决策树)来将网络qoe分类为多个类别(例如低qoe、中qoe、高qoe),并将低qoe小区分类为多个根本原因类别以确定这些小区的低qoe的原因。

用于根本原因确定的示例方法

图9示出了确定在由通信网络连接的地理区域中的低体验质量的原因的示例方法。该方法可以在步骤910开始,其中系统可以基于从一个或更多个地理区域收集的应用数据来为由通信网络连接的一个或更多个地理区域确定一个或更多个体验质量度量和一个或更多个根本原因度量。在特定实施例中,一个或更多个体验质量度量和根本原因度量可以包括下载速度、繁忙小时的下载速度、在所有小时的网络时延、在繁忙小时的网络时延、下游时延、上游时延、视频质量分数、体验质量分数、分组丢失度量、信号强度、拥塞指标、网络时延、样本数量等中的一个或更多个。在步骤920,系统可以基于一个或更多个体验质量度量和第一组标准来确定一个或更多个地理区域具有低体验质量。在特定实施例中,第一组标准包括一个或更多个体验质量度量的一个或更多个第一阈值。在特定实施例中,系统可以确定多个地理区域中的每个地理区域的每个体验质量度量的百分位数值,并且使用一个或更多个第一阈值来过滤多个地理区域的体验质量度量的百分位数值。当这些地理区域中的每一个具有比一个或更多个第一阈值差的至少一个体验质量度量百分位数值时,一个或更多个地理区域可以被确定为具有低体验质量。

在步骤930,系统可以基于一个或更多个根本原因度量和第二组标准来确定在每个相关地理区域中的低体验质量的一个或更多个原因。在特定实施例中,第二组标准可以包括一个或更多个根本原因度量的一个或更多个第二阈值。在特定实施例中,根本原因阈值可以比qoe阈值更宽松。在特定实施例中,系统可以确定在所有感兴趣区域当中的具有低体验质量的每个地理区域的每个根本原因度量的百分位数值,并且使用一个或更多个第二阈值来过滤具有低体验质量的一个或更多个地理区域的根本原因度量的百分位数值。当一个或更多个原因的对应根本原因度量百分位数值高于一个或更多个第二阈值时,一个或更多个原因可以被确定。在特定实施例中,可以通过由历史数据或预先标记的数据训练的机器学习模型来确定一个或更多个体验质量度量的一个或更多个第一阈值和一个或更多个根本原因度量的一个或更多个第二阈值。如步骤940,系统可以基于在每个相关地理区域中的低体验质量的一个或更多个原因来确定对在该相关地理区域中的低体验质量的解决方案建议。

在适当的情况下,特定实施例可以重复图9的方法的一个或更多个步骤。尽管本公开将图9的方法的特定步骤描述和示为以特定顺序出现,但是本公开设想以任何适当顺序出现的图9的方法的任何适当步骤。此外,尽管本公开描述并示出了包括图9的方法的特定步骤的用于确定在由通信网络连接的地理区域中的低体验质量的根本原因的示例方法,但是本公开设想包括任何合适的步骤的用于确定在由通信网络连接的地理区域中的低体验质量的根本原因的任何合适的方法,其在适当的情况下可以包括图9的方法的步骤中的全部、一些或不包括图9的方法步骤。此外,尽管本公开描述并示出了执行图9的方法的特定步骤的特定部件、设备或系统,但是本公开设想执行图9的方法的任何适当步骤的任何适当部件、设备或系统的任何适当组合。

系统概述

图10示出了与社交网络系统相关联的示例网络环境1000。网络环境1000包括通过网络1010连接到彼此的客户端系统1030、社交网络系统1060和第三方系统1070。尽管图10示出了客户端系统1030、社交网络系统1060、第三方系统1070和网络1010的特定布置,但是本公开设想了客户端系统1030、社交网络系统1060、第三方系统1070和网络1010的任何合适的布置。作为示例而不是作为限制,客户端系统1030、社交网络系统1060和第三方系统1070中的两个或更多个可以直接连接到彼此,绕过网络1010。作为另一示例,客户端系统1030、社交网络系统1060和第三方系统1070中的两个或更多个可以全部或部分地在物理上或逻辑上彼此位于同一位置。此外,尽管图10示出了特定数量的客户端系统1030、社交网络系统1060、第三方系统1070和网络1010,但是本公开考虑了任何合适数量的客户端系统1030、社交网络系统1060、第三方系统1070和网络1010。作为示例而不是作为限制,网络环境1000可以包括多个客户端系统1030、社交网络系统1060、第三方系统1070和网络1010。

本公开设想了任何合适的网络1010。作为示例而不是作为限制,网络1010的一个或更多个部分可以包括自组织网络、内联网、外联网、虚拟专用网络(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、无线wan(wwan)、城域网(man)、互联网的一部分、公共交换电话网(pstn)的一部分、蜂窝电话网、或这些中的两个或更多个的组合。网络1010可以包括一个或更多个网络1010。

链路1050可以将客户端系统1030、社交网络系统1060和第三方系统1070连接到通信网络1010或连接到彼此。本公开设想了任何合适的链路1050。在特定实施例中,一个或更多个链路1050包括一个或更多个有线(例如数字用户线路(dsl)或有线数据服务接口规范(docsis))、无线(例如wi-fi或全球微波接入互操作性(wi-max))或光(例如同步光网络(sonet)或同步数字体系(sdh))链路。在特定实施例中,一个或更多个链路1050各自包括自组织网络、内联网、外联网、vpn、lan、wlan、wan、wwan、man、互联网的一部分、pstn的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一链路1050、或两个或更多个这种链路1050的组合。链路1050不必在整个网络环境1000中相同。一个或更多个第一链路1050可以在一个或更多个方面上不同于一个或更多个第二链路1050。

在特定实施例中,客户端系统1030可以是包括硬件、软件或嵌入式逻辑组件、或两个或更多个这样的组件的组合,并且能够执行由客户端系统1030实现或支持的适当功能的电子设备。作为示例而非限制,客户端系统1030可以包括计算机系统,例如台式计算机、笔记本或膝上型计算机、上网本、平板计算机、电子书阅读器、全球定位系统设备、照相机、个人数字助理(pda)、手持电子设备、蜂窝电话、智能手机、增强/虚拟现实设备、其他合适的电子设备或其任何合适的组合。本公开设想了任何合适的客户端系统1030。客户端系统1030可以使在客户端系统1030处的网络用户能够访问网络1010。客户端系统1030可以使它的用户能够与在其他客户端系统1030处的其他用户进行通信。

在特定实施例中,客户端系统1030可以包括web浏览器1032,例如microsoftinternetexplorer、googlechrome或mozillafirefox,并且可以具有一个或更多个附加件、插件或其他扩展件,例如toolbar或yahootoolbar。在客户端系统1030处的用户可以输入统一资源定位符(url)或将web浏览器1032引导到特定的服务器(例如服务器1062或与第三方系统1070相关联的服务器)的其他地址,并且web浏览器1032可以生成超文本传输协议(http)请求并将http请求传递到服务器。服务器可以接受该请求,并响应于该请求向客户端系统1030传送一个或更多个超文本标记语言文件。客户端系统1030可以基于来自服务器的html文件来显现网页用于呈现给用户。本公开设想了任何合适的网页文件。作为示例而不是作为限制,可以根据特定的需要从html文件、可扩展超文本标记语言(xhtml)文件或可扩展标记语言(xml)文件来显现网页。这样的页面还可以执行脚本,例如且没有限制,用javascript、java、microsoftsilverlight编写的脚本、标记语言和脚本(例如ajax(异步javascript和xml))的组合等。在本文,在适当的情况下,对网页的引用包括一个或更多个相应的网页文件(浏览器可以使用这些网页文件来显现网页),反之亦然。

在特定实施例中,社交网络系统1060可以是可以托管在线社交网络的网络可寻址计算系统。社交网络系统1060可以生成、存储、接收并发送社交网络数据(例如,用户简档数据、概念简档数据、社交图信息或与在线社交网络相关的其他合适的数据)。社交网络系统1060可以由网络环境1000的其他组件直接地或经由网络1010来访问。作为示例而不是作为限制,客户端系统1030可以使用web浏览器1032或与社交网络系统1060相关联的原生(native)应用(例如,移动社交网络应用、消息传送应用、另一合适的应用或其任何组合)直接地或经由网络1010来访问社交网络系统1060。在特定实施例中,社交网络系统1060可以包括一个或更多个服务器1062。每个服务器1062可以是单一服务器(unitaryserver)或跨越多台计算机或多个数据中心的分布式服务器。服务器1062可以具有各种类型,例如且没有限制,web服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器、代理服务器、适合于执行本文描述的功能或过程的另一服务器、或者其任何组合。在特定实施例中,每个服务器1062可以包括硬件、软件或嵌入式逻辑组件、或用于执行由服务器1062实现或支持的适当功能的两个或更多个这样的组件的组合。在特定实施例中,社交网络系统1060可以包括一个或更多个数据储存器1064。数据储存器1064可以用于存储各种类型的信息。在特定实施例中,可以根据特定的数据结构来组织存储在数据储存器1064中的信息。在特定实施例中,每个数据储存器1064可以是关系数据库、纵列(columnar)数据库、相关性数据库或其他合适的数据库。尽管本公开描述或示出了特定类型的数据库,但是本公开设想了任何合适类型的数据库。特定实施例可以提供使客户端系统1030、社交网络系统1060或第三方系统1070能够管理、检索、修改、添加或删除存储在数据储存器1064中的信息的接口。

在特定实施例中,社交网络系统1060可以在一个或更多个数据储存器1064中存储一个或更多个社交图。在特定实施例中,社交图可以包括多个节点——其可以包括多个用户节点(每个对应于特定用户)或多个概念节点(每个对应于特定概念)——以及连接节点的多条边。社交网络系统1060可以向在线社交网络的用户提供与其他用户通信和互动的能力。在特定实施例中,用户可以经由社交网络系统1060加入在线社交网络,且然后将关连(例如,关系)添加到社交网络系统1060中的他们想要关连到的多个其他用户。在本文,术语“朋友”可以指社交网络系统1060的任何其他用户,用户经由社交网络系统1060与任何其他用户形成关连(connection)、关联(association)或关系。

在特定实施例中,社交网络系统1060可以向用户提供对由社交网络系统1060支持的各种类型的项目或对象采取动作的能力。作为示例而不是作为限制,项目和对象可以包括社交网络系统1060的用户可以属于的组或社交网络、用户可能感兴趣的事件或日历条目、用户可以使用的基于计算机的应用、允许用户经由服务来购买或销售商品的交易、用户可以执行的与广告的互动、或其他合适的项目或对象。用户可以与能够在社交网络系统1060中或者由第三方系统1070的外部系统表示的任何事物进行互动,第三方系统1070与社交网络系统1060分离并且经由网络1010耦合到社交网络系统1060。

在特定实施例中,社交网络系统1060能够链接各种实体。作为示例而不是作为限制,社交网络系统1060可以使用户能够彼此互动以及从第三方系统1070或其他实体接收内容,或者允许用户通过应用编程接口(api)或其他通信渠道与这些实体互动。

在特定实施例中,第三方系统1070可以包括一种或更多种类型的服务器、一个或更多个数据储存器、一个或更多个接口(包括但不限于api)、一个或更多个web服务、一个或更多个内容源、一个或更多个网络或任何其他合适的部件(例如,服务器可以与这些部件通信)。第三方系统1070可以由与操作社交网络系统1060的实体不同的实体进行操作。然而,在特定实施例中,社交网络系统1060和第三方系统1070可以结合彼此来操作以向社交网络系统1060或第三方系统1070的用户提供社交网络服务。在这个意义上,社交网络系统1060可以提供平台或骨干网,其他系统(例如第三方系统1070)可以使用该平台或骨干网来在整个互联网上向用户提供社交网络服务和功能。

在特定实施例中,第三方系统1070可以包括第三方内容对象提供者。第三方内容对象提供者可以包括可以被传递到客户端系统1030的内容对象的一个或更多个源。作为示例而不是作为限制,诸如,内容对象可以包括关于用户感兴趣的事情或活动的信息,例如电影放映时间、电影评论、餐馆评论、餐馆菜单、产品信息和评论或其他合适的信息。作为另一示例而不是作为限制,内容对象可以包括激励内容对象(例如优惠券、折扣券、礼品券或其他合适的激励对象)。

在特定实施例中,社交网络系统1060还包括用户生成的内容对象,其可以增强用户与社交网络系统1060的互动。用户生成的内容可以包括用户可以添加、上传、发送或“发布”到社交网络系统1060的任何内容。作为示例而不是作为限制,用户将帖子从客户端系统1030传送到社交网络系统1060。帖子可以包括数据,例如状态更新或其他文本数据、位置信息、照片、视频、链接、音乐或其他类似数据或媒体。内容还可以由第三方通过“通信渠道”(例如新闻提要或流)来添加到社交网络系统1060。

在特定实施例中,社交网络系统1060可以包括各种服务器、子系统、程序、模块、日志和数据储存器。在特定实施例中,社交网络系统1060可以包括下列项中的一项或更多项:web服务器、动作记录器、api请求服务器、相关性和排名引擎、内容对象分类器、通知控制器、动作日志、第三方内容对象暴露日志、推理模块、授权/隐私服务器、搜索模块、广告定位模块(advertisement-targetingmodule)、用户界面模块、用户简档储存器、关连储存器(connectionstore)、第三方内容储存器或位置储存器。社交网络系统1060还可以包括合适的部件,例如网络接口、安全机构、负载平衡器、故障转移服务器、管理和网络操作控制台、其他合适的部件、或其任何合适的组合。在特定实施例中,社交网络系统1060可以包括用于存储用户简档的一个或更多个用户简档储存器。用户简档可以包括例如,传记信息、人口统计信息、行为信息、社交信息或其他类型的描述性信息(例如工作经历、教育历史、爱好或偏好、兴趣、喜好或位置)。兴趣信息可以包括与一个或更多个类别相关的兴趣。类别可以是一般的或特定的。作为示例而不是作为限制,如果用户“赞(like)”关于一种品牌的鞋的文章,该类别可以是品牌,或者“鞋”或“衣服”的一般类别。关连储存器可以用于存储关于用户的关连信息。关连信息可以指示具有相似或共同的工作经历、组成员资格、爱好、教育历史或者以任何方式相关或共享共同属性的用户。关连信息还可以包括在不同用户和内容(内部和外部)之间的用户定义的关连。web服务器可以用于经由网络1010将社交网络系统1060链接到一个或更多个客户端系统1030或一个或更多个第三方系统1070。web服务器可以包括邮件服务器或用于在社交网络系统1060和一个或更多个客户端系统1030之间接收并按规定路线发送消息的其他消息传送功能。api请求服务器可以允许第三方系统1070通过调用一个或更多个api来访问来自社交网络系统1060的信息。动作记录器可以用于从web服务器接收关于用户在社交网络系统1060上或之外的动作的通信。结合动作日志,可以维护用户暴露于第三方内容对象的第三方内容对象日志。通知控制器可以向客户端系统1030提供关于内容对象的信息。信息可以作为通知被推送到客户端系统1030,或者信息可以响应于从客户端系统1030接收的请求而从客户端系统1030中被拉取。授权服务器可以用于实施社交网络系统1060的用户的一个或更多个隐私设置。用户的隐私设置确定与用户相关联的特定信息可以如何被分享。授权服务器可以例如通过设置适当的隐私设置来允许用户选择加入或选择退出使他们的动作由社交网络系统1060记录或者与其他系统(例如,第三方系统1070)分享。第三方内容对象储存器可以用于存储从第三方(例如第三方系统1070)接收的内容对象。位置储存器可以用于存储从与用户相关联的客户端系统1030接收的位置信息。广告定价模块可以组合社交信息、当前时间、位置信息或其他合适的信息以用通知的形式向用户提供相关广告。

隐私

在特定实施例中,在线社交网络的一个或更多个内容对象可以与隐私设置相关联。例如,对象的隐私设置(或“访问设置”)可以以任何合适的方式(诸如与对象相关联地、在授权服务器上用索引、以另一种合适的方式、或其任何组合)被存储。对象的隐私设置可以指定如何使用在线社交网络来访问(例如查看或共享)对象(或与对象相关联的特定信息)。在对象的隐私设置允许特定用户访问该对象的场合,该对象可以被描述为相对于该用户是“可见的”。作为示例而不是作为限制,在线社交网络的用户可以为用户简档页面指定识别可以访问在用户简档页面上的工作经历信息的一组用户的隐私设置,因而排除其他用户访问该信息。在特定实施例中,隐私设置可以指定不应当被允许访问与对象相关联的某些信息的用户的“黑名单”。换句话说,黑名单可以指定一个或更多个用户或实体,对于该用户或实体,对象是不可见的。作为示例而不是作为限制,用户可以指定不可以访问与用户相关联的相册的一组用户,因而排除那些用户访问相册(同时也可能允许不在该组用户内的某些用户访问相册)。在特定实施例中,隐私设置可以与特定社交图元素相关联。社交图元素的隐私设置(例如节点或边)可以指定可以如何使用在线社交网络来访问社交图元素、与社交图元素相关联的信息或与社交图元素相关联的内容对象。作为示例而不是作为限制,对应于特定照片的特定概念节点#04可以具有指定照片只能由在照片中标记的用户及他们的朋友访问的隐私设置。在特定实施例中,隐私设置可以允许用户决定加入或决定退出使他们的行动由社交网络系统1060记录或者与其他系统(例如第三方系统1070)分享。在特定实施例中,与对象相关联的隐私设置可以指定被允许的访问或访问的拒绝的任何合适的粒度。作为示例而不是作为限制,可以为特定用户(例如,只有我、我的室友和我的老板)、在特定分离度内的用户(例如朋友或朋友的朋友)、用户团体(例如游戏俱乐部、我的家人)、用户网络(例如特定雇主的雇员、特定大学的学生或校友)、所有用户(“公众”)、无用户(“私人的”)、第三方系统1070的用户、特定应用(例如第三方应用、外部网站)、其他适当的用户或实体或其任何组合来指定访问或访问的拒绝。尽管本公开描述了以特定方式使用特定隐私设置,但是本公开设想以任何合适的方式使用任何合适的隐私设置。

在特定实施例中,一个或更多个服务器1062可以是用于实施隐私设置的授权/隐私服务器。响应于来自用户(或其他实体)的对存储在数据储存器1064中的特定对象的请求,社交网络系统1060可以向数据储存器1064发送对该对象的请求。该请求可以识别与该请求相关联的用户,并且只有在授权服务器基于与该对象相关联的隐私设置确定该用户被授权访问该对象时才可以被发送到该用户(或者该用户的计算设备或客户端系统1030)。如果请求用户未被授权访问该对象,则授权服务器可以阻止所请求的对象从数据储存器1064中被检索,或者可以阻止所请求的对象被发送给用户。在搜索查询上下文中,只有在查询用户被授权访问对象时才可以生成该对象作为搜索结果。换句话说,对象必须具有对查询用户可见的可见性。如果对象具有对用户不可见的可见性,则该对象可能从搜索结果被排除。尽管本公开描述了以特定方式实施隐私设置,但是本公开设想以任何合适的方式实施隐私设置。

系统和方法

图11示出了示例计算机系统1100。在特定实施例中,一个或更多个计算机系统1100执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在特定实施例中,一个或更多个计算机系统1100提供本文描述或示出的功能。在特定实施例中,在一个或更多个计算机系统1100上运行的软件执行本文描述或示出的一个或更多个方法的一个或更多个步骤,或者提供本文描述或示出的功能。特定实施例包括一个或更多个计算机系统1100的一个或更多个部分。在本文,在适当的情况下,对计算机系统的引用可以包括计算设备,反之亦然。此外,在适当的情况下,对计算机系统的引用可以包括一个或更多个计算机系统。

本公开设想了任何合适数量的计算机系统1100。本公开设想了计算机系统1100采取任何合适的物理形式。作为示例而不是作为限制,计算机系统1100可以是嵌入式计算机系统、片上系统(soc)、单板计算机系统(sbc)(例如,模块上计算机(com)或模块上系统(som))、台式计算机系统、膝上型或笔记本计算机系统、交互式信息亭、大型机、计算机系统网状网、移动电话、个人数字助理(pda)、服务器、平板计算机系统、增强/虚拟现实设备、或者这些系统的两个或更多个的组合。在适当的情况下,计算机系统1100可以包括一个或更多个计算机系统1100;是整体式的或分布式的;跨越多个位置;跨越多台机器;跨越多个数据中心;或者驻留在云中,云可以包括在一个或更多个网络中的一个或更多个云组件。在适当的情况下,一个或更多个计算机系统1100可以在没有实质性空间或时间限制的情况下执行本文描述或示出的一个或更多个方法的一个或更多个步骤。作为示例而不是作为限制,一个或更多个计算机系统1100可以实时地或以批处理模式来执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在适当的情况下,一个或更多个计算机系统1100可以在不同的时间或在不同的位置处执行本文描述或示出的一个或更多个方法的一个或更多个步骤。

在特定实施例中,计算机系统1100包括处理器1102、存储器1104、存储装置1106、输入/输出(i/o)接口1108、通信接口1110和总线1112。尽管本公开描述并示出了具有在特定布置中的特定数量的特定组件的特定计算机系统,但是本公开设想了具有在任何合适布置中的任何合适数量的任何合适组件的任何合适的计算机系统。

在特定实施例中,处理器1102包括用于执行指令(例如构成计算机程序的那些指令)的硬件。作为示例而不是作为限制,为了执行指令,处理器1102可以从内部寄存器、内部高速缓存、存储器1104或存储装置1106中检索(或取回)指令;将他们解码并执行它们;以及然后将一个或更多个结果写到内部寄存器、内部高速缓存、存储器1104或存储装置1106。在特定实施例中,处理器1102可以包括用于数据、指令或地址的一个或更多个内部高速缓存。在适当的情况下,本公开设想了处理器1102包括任何合适数量的任何合适的内部高速缓存。作为示例而不是作为限制,处理器1102可以包括一个或更多个指令高速缓存、一个或更多个数据高速缓存、以及一个或更多个转译后备缓冲器(tlb)。在指令高速缓存中的指令可以是在存储器1104或存储装置1106中的指令的副本,并且指令高速缓存可以加速处理器1102对那些指令的检索。在数据高速缓存中的数据可以是:在存储器1104或存储装置1106中的数据的副本,用于使在处理器1102处执行的指令进行操作;在处理器1102处执行的先前指令的结果,用于由在处理器1102处执行的后续指令访问或者用于写到存储器1104或存储装置1106;或其他合适的数据。数据高速缓存可以加速由处理器1102进行的读或写操作。tlb可以加速关于处理器1102的虚拟地址转译。在特定实施例中,处理器1102可以包括用于数据、指令或地址的一个或更多个内部寄存器。在适当的情况下,本公开设想了处理器1102包括任何合适数量的任何合适的内部寄存器。在适当的情况下,处理器1102可以包括一个或更多个算术逻辑单元(alu);是多核处理器;或者包括一个或更多个处理器1102。尽管本公开描述并示出了特定的处理器,但是本公开设想了任何合适的处理器。

在特定实施例中,存储器1104包括用于存储用于使处理器1102执行的指令或用于使处理器1102操作的数据的主存储器。作为示例而不是作为限制,计算机系统1100可以将指令从存储装置1106或另一个源(例如,另一个计算机系统1100)加载到存储器1104。处理器1102然后可以将指令从存储器1104加载到内部寄存器或内部高速缓存。为了执行指令,处理器1102可以从内部寄存器或内部高速缓存中检索指令并将它们解码。在指令的执行期间或之后,处理器1102可以将一个或更多个结果(其可以是中间结果或最终结果)写到内部寄存器或内部高速缓存。处理器1102然后可以将这些结果中的一个或更多个写到存储器1104。在特定实施例中,处理器1102仅执行在一个或更多个内部寄存器或内部高速缓存中或在存储器1104(而不是存储装置1106或其他地方)中的指令,并且仅对在一个或更多个内部寄存器或内部高速缓存中或在存储器1104(而不是存储装置1106或其他地方)中的数据进行操作。一个或更多个存储器总线(其可以各自包括地址总线和数据总线)可以将处理器1102耦合到存储器1104。如下所述,总线1112可以包括一个或更多个存储器总线。在特定实施例中,一个或更多个存储器管理单元(mmu)驻留在处理器1102和存储器1104之间,并且便于由处理器1102请求的对存储器1104的访问。在特定实施例中,存储器1104包括随机存取存储器(ram)。在适当的情况下,该ram可以是易失性存储器。在适当的情况下,该ram可以是动态ram(dram)或静态ram(sram)。此外,在适当的情况下,该ram可以是单端口ram或多端口ram。本公开设想了任何合适的ram。在适当的情况下,存储器1104可以包括一个或更多个存储器1104。尽管本公开描述并示出了特定的存储器,但是本公开设想了任何合适的存储器。

在特定实施例中,存储装置1106包括用于数据或指令的大容量存储装置。作为示例而不是作为限制,存储装置1106可以包括硬盘驱动器(hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(usb)驱动器、或这些中的两个或更多个的组合。在适当的情况下,存储装置1106可以包括可移动或不可移动(或固定)介质。在适当的情况下,存储装置1106可以在计算机系统1100的内部或外部。在特定实施例中,存储装置1106是非易失性固态存储器。在特定实施例中,存储装置1106包括只读存储器(rom)。在适当的情况下,该rom可以是掩模编程rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可变rom(earom)、或闪存、或这些中的两个或更多个的组合。本公开设想了采用任何合适的物理形式的大容量存储装置1106。在适当的情况下,存储装置1106可以包括便于在处理器1102和存储装置1106之间的通信的一个或更多个存储装置控制单元。在适当的情况下,存储装置1106可以包括一个或更多个存储装置1106。尽管本公开描述并示出了特定的存储装置,但是本公开设想了任何合适的存储装置。

在特定实施例中,i/o接口1108包括提供用于在计算机系统1100和一个或更多个i/o设备之间的通信的一个或更多个接口的硬件、软件或两者。在适当的情况下,计算机系统1100可以包括这些i/o设备中的一个或更多个。这些i/o设备中的一个或更多个可以实现在人和计算机系统1100之间的通信。作为示例而不是作为限制,i/o设备可以包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静态摄像机、触笔、平板计算机、触摸屏、跟踪球、视频摄像机、另一个合适的i/o设备、或这些中的两个或更多个的组合。i/o设备可以包括一个或更多个传感器。本公开设想了任何合适的i/o设备以及用于它们的任何合适的i/o接口1108。在适当的情况下,i/o接口1108可以包括使处理器1102能够驱动这些i/o设备中的一个或更多个的一个或更多个设备或软件驱动器。在适当的情况下,i/o接口1108可以包括一个或更多个i/o接口1108。尽管本公开描述并示出了特定的i/o接口,但是本公开设想了任何合适的i/o接口。

在特定实施例中,通信接口1110包括提供用于在计算机系统1100和一个或更多个其他计算机系统1100或一个或更多个网络之间的通信(例如,基于包的通信)的一个或更多个接口的硬件、软件或两者。作为示例而不是作为限制,通信接口1110可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(nic)或网络适配器,或用于与无线网络(例如wi-fi网络)进行通信的无线nic(wnic)或无线适配器。本公开设想了任何合适的网络和用于它的任何合适的通信接口1110。作为示例而不是作为限制,计算机系统1100可以与自组织网络、个域网(pan)、局域网(lan)、广域网(wan)、城域网(man)或互联网的一个或更多个部分、或这些中的两个或更多个的组合进行通信。这些网络中的一个或更多个的一个或更多个部分可以是有线的或无线的。作为示例,计算机系统1100可以与无线pan(wpan)(例如,蓝牙wpan)、wi-fi网络、wi-max网络、蜂窝电话网络(例如,全球移动通信系统(gsm)网络)、或其他合适的无线网络、或这些中的两个或更多个的组合进行通信。在适当的情况下,计算机系统1100可以包括用于这些网络中的任一个的任何合适的通信接口1110。在适当的情况下,通信接口1110可以包括一个或更多个通信接口1110。尽管本公开描述并示出了特定的通信接口,但是本公开设想了任何合适的通信接口。

在特定实施例中,总线1112包括将计算机系统1100的组件耦合到彼此的硬件、软件或两者。作为示例而非限制,总线1112可以包括加速图形端口(agp)或其他图形总线、扩展工业标准体系结构(eisa)总线、前端总线(fsb)、超级传输(ht)互连、工业标准体系结构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微通道体系结构(mca)总线、外围组件互连(pci)总线、pci-express(pcie)总线、串行高级技术附件(sata)总线、视频电子标准协会本地(vlb)总线、或另外的合适总线,或者这些总线中的两种或更多种的组合,在适当的情况下,总线1112可以包括一条或多条总线1112。尽管本公开描述并示出了特定总线,但是本公开设想了任何合适的总线或互连。

在本文,在适当的情况下,一个或更多个计算机可读非暂时性存储介质可以包括一个或更多个基于半导体的或其他集成电路(ic)(例如,现场可编程门阵列(fpga)或专用ic(asic))、硬盘驱动器(hdd)、混合硬盘驱动器(hhd)、光盘、光盘驱动器(odd)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(fdd)、磁带、固态驱动器(ssd)、ram驱动器、安全数字(securedigital)卡或驱动器、任何其他合适的计算机可读非暂时性存储介质、或这些中的两个或更多个的任何合适组合。在适当的情况下,计算机可读非暂时性存储介质可以是易失性的、非易失性的或者易失性和非易失性的组合。

本文中,除非另有明确指示或通过上下文另有指示,否则“或”是包括一切的而非排他性的。因此在本文,除非另有明确指示或通过上下文另有指示,否则“a或b”意指“a、b或两者”。此外,除非另有明确指示或通过上下文另有指示,否则“和”既是联合的又是各自的。因此在本文,除非另有明确指示或通过上下文另有指示,否则“a和b”意指“a和b,联合地或各自地”。

本公开的范围包括本领域中的普通技术人员将理解的对本文描述或示出的示例实施例的所有改变、替换、变化、变更和修改。本公开的范围不限于本文描述或示出的示例实施例。此外,尽管本公开将本文的相应实施例描述并示为包括特定的组件、元件、特征、功能、操作或步骤,但是这些实施例中的任何一个可以包括本领域中的普通技术人员将理解的在本文任何地方描述或示出的任何组件、元件、特征、功能、操作或步骤的任何组合或置换。此外,在所附权利要求中对适合于、被布置成、能够、被配置成、实现来、可操作来、或操作来执行特定功能的装置或系统或装置或系统的组件的引用包括该装置、系统、组件,无论它或那个特定功能是否被激活、开启或解锁,只要该装置、系统或组件是这样被调整、被布置、使能够、被配置、被实现、可操作的、或操作的。此外,尽管本公开将特定实施例描述或示为提供特定优点,但是特定实施例可以提供这些优点中的一些、全部或不提供这些优点。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1