使用设备动态的用户体验质量上下文分析的制作方法

文档序号:15310318发布日期:2018-08-31 21:41阅读:212来源:国知局

本专利申请要求于2015年12月30日提交的序列号为14/984,714的美国实用专利申请的优先权,申请序列号为14/984,714的申请通过引用全部并入本文。

背景

现代电信系统包括第二代、第三代和第四代(2g、3g和4g)蜂窝无线接入技术的异构混合,这些技术可以是交叉兼容的,并且可以共同操作以提供数据通信服务。全球移动通信系统(gsm)是2g电信技术的一个示例;通用移动通信系统(umts)是3g电信技术的一个示例;以及长期演进(lte),包括lte高级和演进型高速分组接入(hspa+)是4g电信技术的示例。

构成调制解调器电信网络的基础设施包括被配置为生成、发送、接收、中继和/或路由数据分组以使得数据服务可以由用户设备(ue)请求并提供给用户设备的多个不同的组件或设备(本文称为节点),该用户设备订阅由实现电信网络的一个或更多个服务提供商或网络通信提供商提供的计划。

然而,经由节点提供的数据服务和/或数据通信可能经常遇到由于大量的用户和ue经由电信网络访问和请求数据而导致服务降级的问题。例如,由于对数字内容的高传送需求(即,数据传送过载),导致服务降级的问题可能与数据业务拥塞相关联,并且这可能导致数据分组丢失、数据分组排队延迟、无法建立连接和其他数据通信和连接问题。如果服务提供商或网络通信提供商未解决这些问题,则会降低ue处的网络服务质量(qos)和最终用户的用户体验质量(qoe)。

附图说明

参考附图阐述详细描述,其中附图标记的最左边的数字标识附图标记首次出现的图。在不同附图中使用相同的附图标记表示相似或相同的条目或特征。

图1a描绘了根据本公开的实施例的示例环境,在其中可从多个节点收集跟踪文件并将其进行关联以识别网络优化机会。

图1b描绘了根据本公开的实施例的qoe优化系统的体系架构的一部分的示例。

图1c描绘了根据本公开的实施例的示例环境,在其中客户端设备qoe诊断文件并且跟踪文件可以从客户端设备被收集,跟踪文件可以从网络被收集,并且可以执行qoe分析。

图2描绘了根据本公开的实施例的被配置为发起数据通信并且在跟踪文件中记录跟踪文件条目的客户端设备的示例组件。

图3a描绘了根据本公开的实施例的可以被记录在跟踪文件中的示例数据分组。

图3b描绘了根据本公开的实施例的示例跟踪文件。

图4描绘了根据本公开的实施例的被配置为收集和关联跟踪文件以及执行网络分析的设备的示例组件。

图5是根据本公开的实施例的通过网络发送并且表示水平关联的示例数据分组通信图。

图6是根据本公开的实施例的表示垂直关联的示例模型。

图7是根据本公开的实施例的用于在跟踪文件中记录跟踪条目的示例过程的流程图。

图8是根据本公开的实施例的用于收集和关联跟踪文件以使得可以执行网络分析的示例过程的流程图。

图9是根据本公开的实施例的用于收集和关联跟踪文件以使得可以执行网络分析的另一示例过程的流程图。

图10示出了用于接收跟踪文件,确定跟踪文件中包括的数据的性能度量,并且生成性能度量的图形或文本表示的另一示例过程的流程图。

图11示出了用于接收一个或更多个跟踪文件,关联与设备的不同层或与不同设备相关联的跟踪文件数据,基于阈值或模型分析关联数据,并且确定与关联数据相关联的通信表现出下降的qoe的另一示例过程的流程图。

图12是与由设备参与的通信相关联的性能度量的图形表示的示例。

图13是与由设备参与的通信相关联的性能度量的图形表示的示例。

图14是与由设备参与的通信相关联的性能度量的图形表示的示例。

图15是与由设备参与的通信相关联的性能度量的图形表示的示例。

图16是与由设备参与的通信相关联的性能度量的图形表示的示例。

图17是与由设备参与的通信相关联的性能度量的文本表示的示例。

图18描绘了根据本公开的实施例的客户端设备体验质量(qoe)诊断文件的示例。

图19是根据本公开的实施例的用于收集诊断、过滤诊断以及发送客户端设备qoe诊断文件的示例过程的流程图。

图20是根据本公开的实施例的用于接收和分析设备诊断的示例过程的流程图。

图21是根据本公开的实施例的用于发送诊断消息的示例过程的流程图。

图22是根据本公开的实施例的聚合设备qoe度量的图形表示的示例。

图23是根据本公开的实施例的聚合设备qoe度量的图形表示的示例。

图24是根据本公开的实施例的聚合设备qoe度量的图形表示的示例。

图25描绘了根据本公开的实施例的示例环境,在其中客户端设备qoe诊断文件、跟踪文件和设备动态文件可以从客户端设备被收集并且可以执行qoe分析。

图26是根据本公开的实施例的用于关联qoe诊断文件和设备动态文件的示例过程的流程图。

图27是根据本公开的实施例的用于确定基于上下文的qoe的示例过程的流程图。

图28是根据本公开的实施例的用于确定基于上下文的qoe的另一示例过程的流程图。

图29是根据本公开的实施例的用于确定基于上下文的qoe的另一示例过程的流程图。

具体实施方式

本文描述的技术通过使用更广泛的基于网络的方法确定导致服务降级的问题的根本原因(例如发生了什么问题,为什么发生问题,电信网络中哪里发生了问题)来为服务提供商和/或网络提供商呈现优化数据服务的qoe的机会。为了确定问题的根本原因,这些技术可以从电信网络中的多个不同节点(或者从电信网络中两个节点之间的通信接口)或者从自设备之一的通信协议堆栈的多个或单个层收集不同的跟踪文件。每个跟踪文件包括已经经由电信网络中的节点生成、接收、发送、中继和/或路由的许多不同数据分组的标识(identification)的日志,并且每个跟踪文件日志条目可以与时间戳关联。一旦收集完毕,这些技术可以将来自多个不同节点的不同跟踪文件相关联,以使用更广泛的基于网络的分析来识别服务优化机会。另外或者替代地,这些技术可以将来自设备之一的通信协议堆栈的不同层的数据关联,或者可以简单地确定来自特定设备的特定层的数据的性能度量。例如,在关联跟踪文件并确定qoe已经经历了某程度的降低之后,这些技术可以提供警报通知和用于优化的推荐,以便可以实现补救动作来解决问题的根本原因。

在各种实施例中,当跟踪文件关联和分析确定关键性能指示符(kpi)不满足与qoe相关联的最小服务水平或服务目标时,这些技术向网络管理员提供警报通知和推荐。然后网络管理员可以发起补救动作。在替代实施例中,当服务水平或服务目标未被满足时,跟踪文件的收集、跟踪文件的关联和分析以及补救动作的实现可以经由预设的网络配置自动执行。

在一些实施例中,客户端设备可以收集关于客户端设备的诊断,诸如用于客户端设备的各个单独组件的操作日志或报告。诊断可以被过滤和/或组合以生成客户端设备qoe诊断文件,其可以被发送到网络节点用于分析。在一些实施例中,在网络节点处运行的qoe分析器可以分析客户端设备qoe诊断文件以确定设备kpi、设备qoe和/或确定导致降低的qoe的网络或设备中的问题(例如掉话)的根本原因。在一些实施例中,从qoe诊断文件确定的qoe诊断文件和/或kpi可以被聚合以形成聚合qoe诊断或聚合kpi的数据库,其可以被用于进一步分析网络以确定问题的根本原因。例如,可以在用于单个呼叫、来自单个设备的聚合呼叫或来自多个设备的聚合呼叫的设备kpi的边界内执行根本原因分析。在一些实施例中,qoe诊断文件和/或kpi可以根据位置、时间、设备类型、设备问题或接入技术来索引。

在一些实施例中,客户端设备可以收集用户设备动态文件,包括指示设备的各种组件的状态、设备的物理移动和/或客户端设备的物理环境的状态的诊断。可以结合各种客户端设备qoe诊断文件分析客户端设备动态文件,以在确定客户端设备正在经历降低的qoe时增加置信度。在一些实施例中,设备动态文件可被聚合并与聚合qoe诊断文件关联,以确定指示降低的qoe的用户行为的模式。在一些实施例中,当设备动态模式/行为被确定时,网络资源可以被分配和/或保留以用于随后的动作。在一些实施例中,当设备动态指示客户端设备可能被中断(例如,当用户处于不活动状态时)时,可以在客户端设备上呈现消息、警报和/或广告。

本文描述的技术和/或系统可以通过识别呈现下降的体验质量(qoe)的通信来改进计算设备的功能和/或改进计算网络的功能。通过识别降低的qoe,服务提供商可以分配网络资源和/或部署额外的资源来改善网络的功能。例如,如果至少部分地由低信号强度(例如,低接收信号强度指示符(rssi))导致qoe降低,则服务提供商可以部署额外的基站以增加信号强度。在另一示例中,确定设备qoe或客户端设备的设备动态可以提高识别降低的qoe的置信度,这可以允许服务提供商和/或网络提供商调整网络特性(例如,软件和/或硬件)以改善设备的qoe。

图1a描绘了用于从使用电信网络交换数据分组的不同节点收集多个跟踪文件的说明性环境100。为此,环境100可以包括客户端设备102(在此被认为是节点)、包括多个移动电信网络(mtn)节点106(1)…106(n)的mtn104、一个或更多个数据服务器108和体验质量(qoe)优化系统110。而且,环境100示出了在每个节点处记录的跟踪文件。例如,客户端设备102与一个或更多个客户端设备节点跟踪文件112相关联,并且mtn节点106(1)…106(n)各自与一个或更多个mtn节点跟踪文件114(1)…114(n)相关联。在各种实施例中,每个数据服务器108可以与一个或更多个数据服务器节点跟踪文件116相关联。

如上所述,客户端设备102也可以被称为ue。因此,客户端设备102可以包括但不限于智能电话、移动电话、手机、平板电脑、便携式计算机、膝上型计算机、个人数字助理(pda)、电子书设备、手持式游戏单元、个人媒体播放器设备、可穿戴设备或可以生成语音和/或数字数据、通过mtn104请求语音和/或数字数据、通过mtn104接收语音和/或数字数据、和/或通过mtn104交换语音和/或数字数据的任何其他便携式电子设备。

mtn104可以被配置为实现上面讨论的第二代、第三代和第四代(2g、3g和4g)蜂窝无线接入技术中的一个或更多个。因此,mtn104可以实现gsm、umts和/或lte/lte高级电信技术。gsm、umts、lte、lte高级和/或hspa+电信技术中的不同类型的mtn节点106(1)…106(n)可以包括但不限于以下各项的组合:基站收发台bts(例如节点b、增强型节点b)、无线电网络控制器(rnc)、服务gprs支持节点(sgsn),网关gprs支持节点(ggsn)、代理、移动交换中心(msc)、移动性管理实体(mme)、服务网关(sgw)、分组数据网络(pdn)网关(pgw)、演进分组数据网关(e-pdg)或被配置为在客户端设备102和数据服务器108之间传送和/或路由数据分组的任何其他数据业务控制实体。mtn节点106(1)…106(n)可以被配置有生成和/或记录mtn节点跟踪文件114(1)…114(n)中的条目的硬件和软件。虽然图1a示出了mtn104,但在本文档的上下文中应理解,这里讨论的技术也可以以其他网络技术实现,诸如作为广域网(wan)、城域网(man)、局域网(lan)、邻域网(nan)、个域网(pan)等的一部分的节点。

在各种实施例中,如本文进一步讨论的,每个跟踪条目包括与通过用于mtn节点106(1)…106(n)的接口通信的数据分组相关联的或与由mtn节点106(1)…106(n)路由的数据分组相关联的标识。在各种实施例中,mtn节点106(1)…106(n)中的一些可以是被配置为接入提供数据通信服务(例如,使得客户端可以访问数据服务器108处的信息)的基于ip的网络的核心网络(例如,回程部分、载波以太网)的一部分。数据服务器108可以由基于网页的内容提供商拥有和/或操作,包括但不限于:googleamazon等。

在各种实施例中,mtn104可以被配置为使用有线和/或无线链路在客户端设备102和数据服务器108之间交换数据分组。此外,mtn104可以被配置为确定通信路径或通信“管道”,使得数据分组可以被相应地路由和交换。

本文档中讨论的数据服务和数据访问应用可以包括但不限于网页浏览、视频流、视频会议、网络游戏、社交媒体应用程序或客户端设备102上的任何应用或设置,其被配置为通过mtn104生成数据并与数据服务器108交换数据。

在各种实施例中,qoe优化系统110可以被配置成监视和确定与特定服务水平或服务目标(例如,阈值或模型)相关联的用于不同数据服务的kpi是否被满足或不满足,其可以影响qoe。用于网页浏览以及在客户端设备102上执行的其他应用的kpi的示例可以包括网页加载时间、域名系统(dns)查找时间、传输控制协议(tcp)连接时间、tcp往返时间(rtt)、超文本传输协议(http)响应时间等等。用于视频流和视频会议以及在客户端设备102上执行的其他应用的kpi的示例可以包括应用开始延迟、目录浏览、搜索延迟、视频开始延迟、快进和倒带延迟、多个缓冲事件、每缓冲事件的持续时间、再缓冲率、视频帧速率等。用于ue的其他kpi可以包括应用层kpi(诸如平均/最小/最大比特率、流量突发性、传输的数据字节量)、传输层kpi(诸如传输控制协议(tcp)重传和tcp重置)、无线电层kpi(诸如无线电链路控制(rlc)重传和rlc往返时间(rtt))和物理层kpi(诸如物理重传、物理rtt、物理上行链路(ul)干扰、ue功率、rach时间)。上面提供的kpi仅作为示例示出,因此,列表并非详尽无遗。相反,服务提供商和/或网络提供商可能会考虑大量不同的kpi,这些kpi有助于测量与所提供的数据服务相关联的qoe。

图1b描绘了根据本公开的实施例的qoe优化系统110的体系架构150的一部分的示例。如图所示,体系架构150的qoe分析器152可以接收一个或更多个跟踪文件154(1)、154(2)…154(j)。qoe分析器152可确定来自一个或更多个跟踪文件154(1)、154(2)…154(j)的全部或子集的数据的与kpi156相关联的性能度量。qoe分析器152还可以关联来自一个或更多个跟踪文件154(1)、154(2)…154(j)的数据并且基于性能阈值或性能模型158分析关联数据以确定一个或更多个跟踪文件154(1)、154(2)…154(j)代表的通信是否呈现降低的qoe。然后可以使用由qoe分析器152产生的性能度量或关联数据以生成一个或更多个图形表示160和/或一个或更多个文本表示162。可选地或另外地,当qoe分析器152确定由一个或更多个跟踪文件154(1)、154(2)…154(j)表示的通信呈现降低的qoe时,可以提供警报164。

在各种实施例中,一个或更多个跟踪文件154(1)、154(2)…154(j)可以是来自单个节点的跟踪文件(例如跟踪文件112、114或116),或者可以是来自多个节点的跟踪文件(例如,跟踪文件112、114或116中的多个)。每个跟踪文件154可以包括来自设备(例如客户端设备102、mtn节点106或数据服务器108之一)的通信协议堆栈(例如,通信协议堆栈222)的单个层或来自这种设备的多个层的数据。例如,跟踪文件154可以包括传输控制协议(tcp)日志、分组捕获(pcap)日志、高通可扩展诊断模块(qxdm)日志、应用日志(例如,logcat日志)等。包括在跟踪文件154中的数据可以与任何种类的通信相关联,诸如无线通信、基于无线分组的通信等。这样的通信的示例在本文中进一步描述。

可以通过自动日志解析器工具从跟踪文件中提取数据,其可以例如与跟踪文件接收模块410(如本文关于图4进一步讨论的)相关联。跟踪文件154和/或提取的数据然后可以存储在qoe优化系统110的跟踪文件数据库412中(如在此关于图4进一步讨论的)。在一些实施例中,跟踪文件接收模块410或qoe优化系统110的另一个模块然后可以将从跟踪文件154提取的数据和/或跟踪文件154本身提供给qoe分析器152。

qoe分析器152可以由qoe优化系统110的一个或更多个模块(诸如跟踪文件关联模块414,交叉文件分析模块416和跟踪排序(sorting)模块422)来实现。在一些实施例中,qoe分析器152可以检索与包括在单个设备的跟踪文件154中的单个层(例如,无线电层)相关联的数据。这样的数据可以例如从跟踪文件数据库412中检索,或者可以由跟踪文件接收模块410提供给qoe分析器152。

qoe分析器152然后可以确定与所接收/检索的数据的kpi相关联的性能度量。当所接收/检索的数据与无线电层相关联时,qoe分析器152可以确定与诸如rlc重传、丢包、网络信令、无线电资源控制(rrc)状态持续时间、无线电状态转换时间、在不同的无线电状态中花费的时间、无线电状态转换的次数或重新配置响应时间之类的无线电层kpi相关联的性能度量。当所接收/检索的数据与网络、传输或互联网层相关联时,qoe分析器152可确定与诸如域名服务(dns)rtt、tcprtt、超文本传输协议(http)rtt、tcp重传、tcp重复确认、tcp重置、tcp失败、增量帧或序列号之类的kpi相关联的性能度量。qoe分析器152然后可以将所确定的性能度量以及它们相关联的kpi的指示提供给qoe优化系统110的另一个模块,诸如呈现和通知模块424。该其他模块然后可以生成用于一些或全部性能度量的图形表示160或用于一些或全部性能度量的文本表示162中的一者或两者。

图12至图16是由qoe分析器152确定的性能度量的图形表示160的示例。在图12中,图形表示1200是无线电状态概要图。在图13中,图形表示1300是一个或更多个搜索击键http响应时间的图表。在图14中,图形表示1400是一个或更多个搜索击键http响应时间的分量的图表。在图15中,图形表示1500是搜索击键响应时间与无线电状态的相关性的图表。在图16中,图形表示1600是http击键http响应时间与无线电状态的相关性的图表。还可以生成或者替代地生成用于与kpi156相关联的性能度量或关联数据的任何数量的其他类型的图表和图形。

图17是由qoe分析器152确定的性能度量的文本表示162的示例。如图17所示,文本表示1700是无线电状态转换日志。还可以生成或者替代地生成用于与kpi156相关联的性能度量或关联数据的任何数量的其他文本或日志表示。

回到图1b,qoe分析器152还可以检索或者替代地检索与包括在单个设备的一个或更多个跟踪文件154中的多个层(例如,无线电层和网络层)相关联的数据。例如,可以从跟踪文件数据库412中检索这样的数据,或者可以通过跟踪文件接收模块410将其提供给qoe分析器152。qoe分析器152然后可以将来自不同层的所接收/检索的数据彼此关联。例如,被关联的数据可以表示数据分组。qoe分析器152可以将来自第一层的表示数据分组的数据与来自第二层的表示数据分组的数据相关联。在一些实施例中,qoe分析器152可以基于第一层和第二层中的数据分组的ip有效载荷的表示来关联数据。如上所述,由qoe分析器152进行的关联可以由qoe优化系统110的模块(诸如,跟踪文件关联模块414)来实现。层之间的相关性在下面参照图6进一步详细描述。

在一些实施例中,qoe分析器152还可以从或者替代地从多个设备的多个跟踪文件154中检索数据。例如,可以从跟踪文件数据库412中检索这样的数据,或者可以通过跟踪文件接收模块410将其提供给qoe分析器152。然后,qoe分析器152可以关联数据。数据可以基于跟踪标识(跟踪id)进行关联。每个设备可以对相同的数据分组、请求/响应对或通信会话使用相同的跟踪id。qoe分析器152对多个设备的跟踪文件154之间的关联可以由qoe优化系统110的模块(诸如,跟踪文件关联模块414)来实现。这种关联在这里被进一步更详细地描述。

在各种实施例中,然后qoe分析器152可基于性能阈值或模型158中的任一者或两者来分析关联数据。性能阈值或模型158可为静态的或学习的。例如,性能阈值或模型158可以表示数据分组、请求/响应或会话的典型通信。当关联数据与性能阈值或模型158不匹配或在容差阈值之外时,qoe分析器152可确定由关联数据表示的通信表现出下降的qoe。关联数据的这种分析可以通过qoe优化系统110的模块(诸如交叉文件分析模块416)来实现。此分析在本文中进一步更详细地描述。

当qoe分析器152确定由关联数据表示的通信表现出下降的qoe时,qoe优化系统110的模块可以提供对下降的qoe的警报164。呈现和通知模块424可以是这种模块的示例,并且可以响应于由qoe分析器152确定下降的qoe而提供下降的qoe的警报。

另外地或替代地,qoe优化系统110的模块(诸如呈现和通知模块424)可以生成关联数据的图形表示160或文本表示162。

图1c描绘了示例环境170,在其中客户端设备102可以将一个或更多个客户端设备qoe诊断文件176发送到qoe分析器180,并且分析可以由qoe分析器180执行。在一些实施例中,除了一个或更多个客户端设备qoe诊断文件176之外或者代替一个或更多个客户端设备qoe诊断文件176,qoe分析器180可以接收跟踪文件174(1)、174(2)…174(k)以及一个或更多个客户端设备跟踪文件178。

qoe分析器180可以对应于图1b的qoe分析器152,并且可以由qoe优化系统110的一个或更多个模块来实现。在一些实施例中,qoe分析器180可以与qoe分析器152和/或qoe优化系统110并行执行操作,而在一些实施例中,qoe分析器180可以替代qoe分析器152和/或qoe优化系统110来执行操作。

在一些实施例中,一个或更多个跟踪文件174(1)、174(2)…174(k)可对应于图1a的跟踪文件114和116,以及图1b的跟踪文件154。在一些实施例中,一个或更多个客户端设备跟踪文件178可以对应于图1a的一个或更多个客户端设备跟踪文件112以及图1b的跟踪文件154。

客户端设备102可以包括客户端设备体验质量(qoe)模块172,其可以用硬件、固件或软件来实现以执行生成、聚集、收集、制定、过滤、划分、估计、记录、跟踪的操作或者执行将一个或更多个客户端设备qoe诊断文件176发送到qoe分析器180的任何预处理或后处理。在一些实施例中,客户端设备qoe模块172可以监视客户端设备的一些或全部操作,并且可以生成或收集对应于每个操作的操作日志或报告。例如,客户端设备qoe模块172可以监视客户端设备102的呼叫状态、用户界面状态、ip多媒体子系统(ims)会话发起协议(sip)消息、客户端设备102切换、实时传输协议(rtp)统计、呼叫设置、信号数据、无线电频带数据、位置数据、时间戳和设备数据。在一些实施例中,客户端设备qoe模块172可以创建监视客户端设备102操作的操作日志,而在一些实施例中,客户端设备qoe模块172可以收集并过滤被包括在一个或更多个客户端设备qoe诊断文件176中的数据。在一些实施例中,一个或更多个客户端设备qoe诊断文件176可以包含在客户端设备102上生成、聚集和/或收集的信息,由该信息可以确定kpi和/或客户端设备qoe(通过客户端设备qoe模块172或者qoe分析器180)。在一些实施例中,qoe模块172例如通过监视意图来监视客户端设备102中的应用之间的消息,以确定客户端设备102的操作状态。结合图18至图21还讨论了客户端设备qoe模块172和一个或更多个客户端设备qoe诊断文件176。

qoe分析器180可以包括网络kpi模块182、qoe聚合器模块184和qoe趋势模块186。此外,qoe分析器180可以包含诸如一个或更多个处理器402之类的处理器、诸如存储器404之类的存储器、诸如设备os406的设备os,以及图4的一些或全部模块408-426(如本文关于图4进一步讨论的)。

qoe分析器180可以接收一个或更多个客户端设备qoe诊断文件176并且可以分析一个或更多个文件176以确定可以用于确定客户端设备102正在经历下降的qoe或者降低的qoe的kpi,或者可以确定客户端设备102先前已经经历了下降的或降低的qoe的kpi。在一些实施例中,kpi可以在被发送到qoe分析器180之前由客户端设备102(或由客户端设备qoe模块172)确定。举例来说,客户端设备语音质量qoekpi可以基于实时分组协议(rtp)数据(诸如rtp丢失率)和sip消息跟踪数据(诸如编解码器类型和采样率)(如本文关于图18至图21进一步讨论的)被预测。下降的或降低的qoe的示例可能是掉话、掉话频率增加、语音、视频或数据通信质量下降,以及呼叫建立问题,诸如连接延迟、无法连接等。在一些实施例中,qoe分析器180可以基于客户端设备102的操作状态、由客户端设备102测量或确定的kpi和/或qoe或者由客户端设备102测量或确定的qos来确定下降的或降低的qoe。

作为非限制性示例,用于语音呼叫的qoekpi可以指示呼叫是否丢失、是否发生呼叫建立失败、在语音呼叫中的任何寂静时间的存在和量(例如,由数据传输错误引起的不想要的沉默)、平均意见分数(mos分数)(指示语音呼叫质量,其范围为0至5)、供给状态、注册状态和/或呼叫建立所需的时间量。举例来说,针对lte语音(volte)呼叫的“良好的”qoe可以是“没有掉话”、“没有呼叫建立失败”、“没有寂静时间”、“4.3mos的平均值”、“没有供给问题”、“无注册问题”以及“4秒呼叫建立时间”。另一方面,举例来说,“差的”qoevolte呼叫可以包括“呼叫建立成功”的指示但是“9秒的呼叫建立时间”。在这个示例中,呼叫建立时间可能比平均呼叫建立时间长5秒,这可能表明qoe降低。此外,“差的”qoevolte呼叫可能包括“进入呼叫40秒后开始30秒寂静时间”和“寂静时间后发生掉话”的指示。此外,“更差的”qoevolte呼叫的示例可包括“尝试后立即掉话(由于配供给问题)”的指示。如在本公开的上下文中可以理解的,用于volte呼叫的qoe的这些示例是说明性的并且可以包括其他因素、指示和/或时间长度。

网络kpi模块182可以执行操作以确定或估计客户端设备102的kpi或qos。网络kpi模块182可以基于可用于qoe分析器180的数据或参数来确定客户端设备102的基于网络的kpi,诸如一个或更多个客户端设备跟踪文件178和/或跟踪文件174。在一些实施例中,网络kpi模块182可以部分地基于客户端设备102的qos,或者部分地基于从一个或更多个客户端设备跟踪文件178和/或一个或更多个跟踪文件174确定的kpi,来确定客户端设备102的基于网络的kpi。

qoe聚合器模块184可以聚合从一个或更多个客户端设备qoe诊断文件176和/或网络kpi模块182确定的或从客户端设备102接收的(例如,如由客户端设备qoe模块172确定的)客户端设备kpi或客户端设备qoe。在一些实施例中,qoe聚合器模块184可以使用一个或更多个客户端设备qoe诊断文件176来聚合kpi,而在一些实施例中,qoe聚合器模块184可以聚合网络和设备qoekpi,而在一些实施例中,设备qoekpi可以通过多种通信(例如,语音呼叫)针对多个客户端设备被聚合。

qoe趋势模块186可以确定个体客户端设备102的qoe趋势,或者可以确定连接到mtn104的多个客户端设备和/或节点的qoe趋势。在一些实施例中,qoe趋势模块186可以随时间聚合针对单个客户端设备102的一个或更多个客户端设备qoe诊断文件176,而在其他实施例中,qoe趋势模块186可以聚合任何时间段内针对多个设备的qoe诊断文件。在一些实施例中,qoe聚合器模块184可以聚合由qoe分析器180或客户端设备102确定的客户端设备kpi和/或qoe。在一些实施例中,qoe趋势模块186可以生成趋势数据的图形和/或文本表示,和/或可以生成指示趋势已经被检测到或者可以被修复的警报。qoe分析器180、网络kpi模块182、qoe聚合器模块184和qoe趋势模块186也结合图18至图21进行讨论。

图22至图24是根据本公开的实施例的示出趋势的聚合设备kpi和/或qoe度量的图形表示的示例。在一些实施例中,图形表示2200、2300和2400可以由qoe分析器180针对个体客户端设备102确定,或者可以由qoe分析器180和/或qoe趋势模块186针对某时间段内表示多个设备的聚合数据来确定。在图22中,图形表示2200是对每个区域或市场的掉话率的分析。在图23中,图形表示2300是根据设备模型索引的掉话率和掉话来源的图表。在图24中,图形表示2400是由接入技术在时间段t1、t2、t3、t4和t5上索引的掉话率的图表。客户端设备kpi和/或qoe的任何数量的其他图和图表也可以生成或替代地生成。

图2示出了客户端设备102的示例组件,其被配置为向mtn104无线地发送对数据的请求或者通过mtn104从数据服务器108接收数据。因此,客户端设备102可以包括一个或更多个处理器202、用于与mtn104无线通信的无线电收发器204,以及存储设备操作系统(os)208的存储器206、被配置为通过mtn104请求/接收数据的各种软件应用210、网络接口模块212,以及客户端设备节点跟踪文件112。

在各种实施例中,存储在客户端设备102处的应用210可以包括但不限于通过第n软件应用220的网页浏览器应用214、视频流式应用216、在线游戏应用218等。在客户端设备102上执行期间,每个应用210可以被配置为使客户端设备102通过mtn104发起与数据服务器108的数据通信。

客户端设备102可以被配置为使用任何公共无线和/或有线网络接入技术通过电信网络进行通信。此外,客户端设备102可以被配置为运行任何兼容设备os,包括但不限于microsoftwindowsgoogleapplelinux以及任何其他常见移动设备os。

一个或更多个处理器202中的每一个可以包括一个或更多个中央处理单元(cpu),其具有执行算术和逻辑运算的多个算术逻辑单元(alu),以及从处理器高速缓存级存储器提取指令和存储内容的一个或更多个控制单元(cu),然后在程序执行期间通过调用alu来执行指令。在一种实现方式中,一个或更多个处理器202可以被配置为执行存储在存储器206中的每个软件应用210。在各种实施例中,网络接口模块212可以被配置为检测针对应用210之一的动作(例如,操作、命令、用户输入)以及触发产生数据传输请求以及传输数据传输请求的动作。

存储器206可以使用诸如计算机存储介质之类的计算机可读介质来实现。计算机可读介质至少包括两种类型的计算机可读介质,即计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除的介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术,cd-rom、数字多功能盘(dvd)或其他光存储,磁带盒、磁带、磁盘存储或其它磁存储设备或可用于存储信息以供计算设备访问的任何其他非传输介质。相反,通信介质可以体现为计算机可读指令、数据结构、程序模块或调制数据信号中的其他数据,诸如载波或其他传输机制。

在各种实施例中,存储器206可以存储客户端设备qoe模块172,如图1c所示。

在各种实施例中,客户端设备节点跟踪文件112可以对应于与客户端设备102的网络接口模块212相关联的通信协议堆栈222的多个层中的各个层。例如,通信协议堆栈222的多个层可以对应于在抽象层方面特征化和标准化通信系统的功能的开放系统互连(osi)模型。多个层还可以对应于互联网协议(ip)套件。例如,在各种实施例中,客户端设备102可以记录用于物理层、数据链路/无线电层、网络层/互联网层、传输层、会话层、呈现层以及应用层等中的每一个的单个客户端设备节点跟踪文件112,因为数据分组在层之间生成和配置以用于通过mtn104从客户端设备102到数据服务器108进行通信。

此外,客户端设备102可以记录针对通信协议堆栈212的特定一组层的单个客户端设备节点跟踪文件112。例如,客户端设备102可以记录针对应用/呈现/会话层的第一客户端设备节点跟踪文件112、针对传输/网络层的第二客户端设备节点跟踪文件112、针对数据链路层的第三客户端设备节点跟踪文件112以及针对物理层的第四客户端设备节点跟踪文件112。通过在客户端设备102的层级处记录跟踪文件,qoe优化系统110可以能够在收集层级的跟踪文件(与节点级相比)之后以更精细的级别确定问题的根本原因。这可能会进一步帮助何时识别优化qoe的补救动作。

类似于客户端设备102处的多个不同层,mtn节点106(1)…106(n)中的每一个以及数据服务器108中的每一个还可以记录各个层的不同的跟踪文件(例如,114(1)…114(n)和116),或者定义该mtn节点106/数据服务器108的通信协议堆栈的层的一个或更多个组合。因此,qoe优化系统110还可以在mtn节点106(1)…106(n)和数据服务器108处以更精细的级别识别问题的根本原因。

图3a示出了被配置为记录在客户端设备节点跟踪文件112、mtn节点跟踪文件114(1)…114(n)或数据服务器节点跟踪文件116之一中的示例数据分组300。数据分组300可以与一个或更多个通信或数据交换/格式化协议(诸如tcp、ip、http或指向通过mtn104进行通信或交换内容的其他协议)关联地配置。

在各种实施例中,数据分组300可以包括报头部分302和有效载荷部分304。数据分组还可以包括n个字段的部分,其至少一部分用于为数据分组创建跟踪id306。在各种实施例中,用于创建跟踪id306的字段可以是报头部分302、有效载荷部分304的一部分或其组合。

在各种实施例中,n个字段中的一个或更多个可以与通常包括在数据分组中的路由和寻址信息相关联,或者字段中的一个或更多个可以被定义并且对于特定协议是唯一的。例如,字段可以包括分组数据协议(pdp)地址、源端口号、目的地端口号、校验和号(用于ipv4或ipv6)、序列号、确认号、互联网协议(ip)地址、源地址、目的地地址或数据分组中可以帮助区分一个数据分组与另一个数据分组的任何其他字段。此外,字段还可以帮助识别请求/响应序列或响应对或建立的特定通信会话,使得即使跟踪id306作为整体可能不是精确匹配的,数据分组也可以被正确地匹配和/或关联。

因此,跟踪id306可以由单个字段或两个字段、三个字段、四个字段等的组合组成。用于构成跟踪id306的字段越多,就越可以帮助确保跟踪id306对于数据分组是唯一的或者将相关数据分组相关联,使得可以通过它们的通信路径来跟踪数据分组。在至少一个实施例中,跟踪id306包括四个字段:pdp地址、校验和号、源端口号和目的地端口号。

图3b描绘了示例跟踪文件308,其可以对应于客户端设备处记录的客户端设备节点跟踪文件112、mtn节点106(1)…106(n)处记录的mtn节点跟踪文件114(1)…114(n)或在数据服务器108处记录的数据服务器节点跟踪文件116。跟踪文件308可以包括qoe优化系统110可以使用的节点标识符310,以便它在qoe优化系统110收集跟踪文件之后知道跟踪文件与哪些节点(例如,客户端设备102、mtn节点106(1)…106(n)之一或数据服务器108)相关联。因此,qoe优化系统110将能够识别发生问题的根本原因所在处的一个或更多个节点,然后相应地实现补救动作。

在各种实施例中,跟踪文件308被配置为记录经由节点或节点接口(例如,跟踪列312)传送的数据分组的条目(例如,跟踪列312中的跟踪id306可以对应于使用该节点进行通信的多个不同客户端设备)。此外,跟踪文件308被配置为以每个条目的时间戳的形式接收定时信息314,并且将时间戳与条目相关联/存储,如图所示。因此,跟踪文件308可以顺序地记录与数据分组何时被接收、发送、路由等相关联的多个数据分组id和时间戳的列表。

在每个节点处,通过使用时间源(例如,本地时间源或远程时间源)记录时间戳。在一个实施例中,时间源对于节点或者至少一些节点可以是公共的。或者,对于每个节点或者至少一些节点,时间源可以是不同的。因此,合并在一起(来自多个跟踪文件)的定时信息314可以是近似合并的定时信息,因为一些节点可以使用不同的时间源,这些时间源可能不同步。

图4示出了qoe优化系统110的示例组件。在各种实施例中,qoe优化系统110可以是服务提供商实体或电信提供商实体,其可以是mtn节点106(1)…106(n)之一的一部分,或者经由网络连接与mtn节点106(1)…106(n)通信。此外,在各种实施例中,qoe优化系统110可以是作为客户端设备102或数据服务器108的一部分的独立应用。

在各种实施例中,qoe优化系统110可以是一个或更多个服务器或计算设备,其包括一个或更多个处理器402和存储设备os406的存储器404以及启用qoe优化系统110的跟踪文件接收模块410的网络接口模块408,以从图1a中的节点通信和接收跟踪文件,并将跟踪文件或从跟踪文件中检索的数据存储在跟踪文件数据库412中。

qoe优化系统110的一个或更多个处理器402中的每一个可以包括具有执行算术和逻辑运算的多个alu的一个或更多个cpu,以及从处理器高速缓存存储器提取指令和内容,然后在程序执行期间根据需要通过调用alu来执行指令的一个或更多个cu。一个或更多个处理器402还可以被配置为执行存储在存储器404中的模块。

存储器404可以使用诸如计算机存储介质的计算机可读介质来实现。计算机可读介质至少包括两种类型的计算机可读介质,即计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除的介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术,cd-rom、数字多功能光盘(dvd)或其他光存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或可用于存储信息以供计算设备访问的任何其他非传输介质。相反,通信介质可以包含计算机可读指令、数据结构、程序模块或调制数据信号中的其他数据,例如载波或其他传输机制。

在各种实施例中,存储器404还可以存储跟踪文件关联模块414、交叉文件分析模块416、控制模块418、关键性能指示符(kpi)模块420、跟踪排序模块422、呈现和通知模块424和补救动作模块426。

在各种实施例中,存储器404可以进一步存储网络kpi模块182、qoe聚合器模块184和qoe趋势模块186,如图1c所示。

上面关于qoe分析器152描述的跟踪文件关联模块414被配置为合并和/或以其他方式关联客户端设备节点跟踪文件112、mtn节点跟踪文件114(1)…114(n)和/或数据服务器节点跟踪文件116。通过合并和/或关联跟踪文件,跟踪文件关联模块414匹配来自不同节点的可能与相同数据分组相关联的跟踪id306。相应地,当数据分组从客户端设备102被传送和/或路由到一个或更多个数据服务器108(例如,经由在mtn104中确定的路线/路径的上行链路),或者从一个或更多个数据服务器108被传送和/或路由到客户端设备102(例如,经由在mtn104中确定的路线/路径的下行链路)时,跟踪id306保持恒定。在至少一些实施例中,跟踪文件关联模块414可合并或以其他方式关联所收集的跟踪文件的总数的子集。

在一些实施例中,跟踪文件关联模块414还被配置为匹配可能不具有相同跟踪id306但可以通过参考将响应包与请求包相关联(例如,表达响应包“2”的顺序指示符响应于请求包“1”)的跟踪id306中的一个或更多个字段而配对的相应请求/响应数据分组。在进一步的实施例中,跟踪文件关联模块414可以通过参考将数据分组与通信会话相关联的跟踪id306中的一个或更多个字段来匹配在建立的通信会话(例如,视频流)内通信的一组数据分组。跟踪文件关联模块414使用一个或更多个字段来匹配请求包和响应包,或匹配在建立的通信会话内传送的数据分组,其可取决于所使用的通信协议类型。

在各种实施例中,一旦跟踪文件关联模块414合并或以其他方式关联跟踪文件并匹配用于单个数据分组、请求/响应包对或者在建立的通信会话内通信的数据分组的跟踪id306,则交叉文件分析模块416可以使用相关性来执行网络通信分析并确定可能导致qoe降低的问题的根本原因。在各种实施例中,交叉文件分析模块416可使用用于匹配的跟踪id306的定时信息314来执行网络通信分析并确定可经由定时问题识别的问题的根本原因。示例网络通信分析可以涉及:分组延迟、延时映射、掉包率、拥塞窗口、丢包、分组错误率、重传请求的位置和重传请求的数量等。此外,来自网络通信分析的结果可以识别沿通信路径的一个或更多个节点,这些节点是问题的根本原因,以及识别为什么一个或更多个节点是问题的根本原因。因此,qoe优化系统110可以通过经由补救动作消除问题或部分问题来识别优化qoe的机会。

在各种实施例中,交叉文件分析模块416可以根据从控制模块418接收的指令来跨多个关联的跟踪文件执行分析。控制模块418可以接收要由网络管理员执行的特定类型的分析。例如,网络管理员可向控制模块418输入识别待分析的一个或更多个kpi的命令,以确保所定义的服务水平或服务目标被满足或未被满足。在各种实施例中,kpi模块420为在客户端设备102上执行的不同应用210定义如上所列的不同kpi。此外,kpi模块420还可以定义如由服务提供商或网络电信提供商(例如由充当服务提供商或网络电信提供商的代理的网络管理员)定义的kpi的特定服务水平或服务目标(诸如性能阈值或模型158)。

在一些实施例中,交叉文件分析模块416可以自动执行分析。因此,网络管理员可以将qoe优化系统110的跟踪文件接收模块410配置为收集不同的跟踪文件,使得它们可以被跟踪文件关联模块414合并或以其他方式关联,并且交叉文件分析模块416可以周期性方式(每小时、每天、每两天等)执行某种类的分析。在各种实施例中,该自动分析可针对各个kpi或kpi的特定组合单独执行。在其他实施例中,可以对被配置成在客户端设备102上执行的各种应用210的特定应用执行自动和周期性分析。

在各种实施例中,交叉文件分析模块416可以使用跟踪排序模块422对由收集的跟踪文件合并或以其他方式关联的跟踪id306进行排序。这种排序或筛选可以有助于由交叉文件分析模块416执行的分析。例如,跟踪排序模块422可以使用一个或更多个字段来排序跟踪id,从而识别从特定客户端设备102(例如特定用户或订户)发送的或发送到特定客户端设备102的数据分组。跟踪排序模块422可以使用时间戳来对跟踪id306进行排序,从而识别特定定时窗口中的数据分组。跟踪排序模块422可以使用一个或更多个字段以排序跟踪id306,以便识别来自特定类型设备(例如,来自制造商的型号)的数据分组。跟踪排序模块422可以使用一个或更多个字段以排序跟踪id306,以便识别为特定应用传送的数据分组。跟踪排序模块422可以使用一个或更多个字段以对跟踪id306进行排序,以便识别传送到特定源/从特定源(例如,数据服务器108)传送的数据分组。

在各种实施例中,在交叉文件分析模块416执行网络性能分析之后,qoe优化系统110采用呈现和通知模块424来格式化并呈现通知或警报(例如,经由图形用户界面),诸如警报164。在一个实施例中,通知可以声明网络通信良好并且目前满足一个或更多个kpi和服务水平。因此,qoe目前没有降低。在替代实施例中,警报可报告网络通信正在导致qoe降低,因为一个或更多个kpi和特定服务水平目前不被满足。在该替代实施例中,呈现和通知模块424可以传达问题的根本原因和/或问题的一个或更多个原因的位置(例如,一个或更多个节点)。

在一些实施例中,呈现和通知模块424还可以被配置为生成图形表示160或文本表示162,如在此更详细描述的。此外,呈现和通知模块424可以使得qoe优化系统110的用户能够发起从客户端设备102、mtn节点106或数据服务器108中的一者到客户端设备102、mtn节点106或数据服务器108中的另一者的数据分组的测试通信。然后,与该测试通信相关联的数据将在一些或全部追踪文件112-116中表示并可用于收集和分析。

在各种实施例中,补救动作模块426可以包括修复所识别的网络通信问题的指令。因此,交叉文件分析模块和/或呈现和通知模块424可以访问补救动作模块以确定针对问题的一个或更多个建议解决方案,并且然后经由图形用户界面呈现所选的解决方案,从而可以实现它们。在至少一个实施例中,补救动作模块426被配置为响应于问题的识别而自动地实现解决方案。

图5示出了在第一节点502(例如,客户端设备102或ue)与第四节点504(例如,数据服务器108)之间经由可以是mtn104的一部分的第二节点506(例如,rnc)和第三节点508(例如,核心网络节点)交换的数据分组的示例定时图500。提供此示例以示出qoe优化系统110如何可以使用跟踪文件308中的定时信息314来识别网络通信问题。因此,第一节点502在客户端节点跟踪文件112中记录跟踪条目、第二节点506在mtn节点跟踪文件114(1)中记录跟踪条目、第三节点508在mtn节点跟踪文件114(2)中记录跟踪条目,以及第四节点在服务器节点跟踪文件116中记录跟踪条目。尽管在图5中描绘了四个节点,但是在本文档的上下文中可以理解的是,在客户端设备102和数据服务器108之间的数据分组交换中可以涉及额外的节点,特别是mtn104内的额外节点。图5中的示例性定时图500表示通过网络的多个节点传送的数据分组的水平关联。水平关联可以基于包报头信息使用水平唯一跟踪id来关联多个节点上的数据分组。相反,垂直关联指的是当它们在多个不同层(例如,osi模型层或堆栈)中在单个节点处被传送时的数据分组,如关于图6进一步讨论的。垂直关联可以使用基于ip有效载荷的垂直唯一跟踪id来在数据分组通过层进行传送时关联数据分组。

图5示出了从第一节点502发送到第四节点504(例如,经由上行链路)的初始数据分组以及从第四节点504发送到第一节点502(例如,经由下行链路)的响应数据分组。相应地,图5示出了第一节点502处的rtt510,其表示在初始数据分组的发送和响应数据分组的接收之间的时间。

如图5所示,初始数据分组在第一节点502处生成并且被发送512到第二节点506。因此,第一节点502可以在客户端节点跟踪文件112中记录具有时间戳的数据分组的条目(例如,在图5中标记为“1”)。第二节点506接收初始数据分组,可以访问、改变和/或添加路由信息,然后将初始数据分组中继514到第三节点508。与该功能相关联,第二节点506可以在mtn节点跟踪文件114(1)中记录具有时间戳的数据分组的条目(例如,在图5中标记为“2”)。类似地,第三节点508接收中继的数据分组,可以访问、改变和/或添加路由信息,然后将数据分组中继516到第四节点504。这里,第三节点508可以在mtn节点跟踪文件114(2)中记录具有时间戳的数据分组的条目(例如,在图5中标记为“3”)。

然后,第四节点504接收初始数据分组并且生成和发送518响应包,在服务器节点跟踪文件116中记录具有时间戳的接收到的数据分组的条目和/或发送的响应数据分组响应的条目(例如,在图5中标记为“4”)。类似于上行链路,第三节点508和第二节点506在520和522处将响应包路由和中继回到第一节点502,并且记录具有时间戳的响应包的条目(例如,标记为“5”和“6”)。第一节点502然后记录具有时间戳的响应包的条目(例如,在图5中标记为“7”),并且rtt被完成。

当qoe优化系统110收集与图5中的示例定时图相关联的跟踪文件时,qoe优化系统110可以确定rtt510比正常值更长或比对于第一节点502处正在使用的特定应用所预期的更长。在该确定之后,qoe优化系统110可以利用合并的跟踪文件和分开的时间戳(如上面关于图4所讨论的)来计算节点之间的各个数据分组通信延迟(无论是上行链路还是下行链路),并且识别在上行链路和/或下行链路期间可能对长于期望的rtt贡献最大的一个或更多个节点(例如,在哪个节点数据分组延迟)。

在各种实施例中,图5的定时图500可以表示客户端设备102和数据服务器108之间的tcp握手(handshake)(例如,同步请求和确认响应)。在其他实施例中,图5的定时图500可以表示客户端设备102和dns服务器之间的dns查找。在更进一步的实施例中,图5的定时图500可以表示客户端设备102和数据服务器108之间的http请求和数据分组响应。

图6示出了当数据分组在单个节点处的通信协议堆栈(诸如通信协议堆栈222)的多个不同层(例如,1…n)处生成和/或在其间通信时表示数据分组的垂直关联600的示例。例如,不同的层可以与osi模型相关联,并且可以是物理层、数据链路层、网络层、传输层、会话层、呈现层和应用层(以及层内的子层)。此外,垂直关联可以使用基于ip有效载荷的垂直唯一跟踪id来在数据分组通过层进行传送时关联数据分组。以上参照图1b更详细地描述了这种垂直关联。

图7至图11呈现了说明性过程。每个过程在逻辑流程图中被示为方框的集合,其代表可以用硬件、软件或其组合实现的一系列操作。在软件的上下文中,方框表示计算机可执行指令,其当由一个或更多个处理器执行时,执行所述操作。通常,计算机可执行指令可以包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不旨在被解释为限制,并且可以任何顺序和/或并行地组合任何数量的所描述的方框来实现该过程。为了讨论的目的,参照图1a的示例环境100、图1b的示例性架构、图2和图4的示例组件、图3a的示例数据分组、图3b的示例跟踪文件、图5的示例定时图和/或图6的示例垂直关联来描述图7-图11中的过程。

图7示出了用于记录跟踪文件中的条目的示例过程700的流程图。示例过程700可以在生成、传送、接收、发送、路由、中继和/或存储数据分组的节点(例如,客户端设备102、mtn节点106(1)…106(n)、数据服务器108)处被执行。

在方框702处,节点监视已经由节点生成、通过节点传送、在节点处接收、由节点发送、由节点路由、由节点中继和/或存储在节点处的数据分组。如上所讨论的,在各种实施例中,监视可以处于节点级(例如,节点的单个跟踪文件)或层级(例如,节点的多个跟踪文件)。

在方框704处,节点在跟踪文件306中创建并记录所监视数据分组的一个或更多个条目。如上所讨论的,每个条目可以包括表示将数据分组与其他数据分组区分开的跟踪id306的一个或更多个字段。在各种实施例中,节点可以在与节点的不同层相关联的不同跟踪文件中记录数据分组的单独条目。或者,节点可以在节点的单个跟踪文件中记录与不同层相关联的数据分组的单独条目。

在方框706处,当在跟踪文件306中记录条目时,节点给每个跟踪id306加上时间戳。因此,节点可以访问时间源以确定每个条目的定时信息。

在框708处,节点将一个或更多个跟踪文件发送到qoe优化系统110。在各种实施例中,节点可以响应于来自qoe优化系统110的请求(例如,周期性请求或按需请求)将跟踪文件发送到qoe优化系统110。在替代实施例中,节点可以知道或报告时间表,并且根据报告时间表主动发送跟踪文件到qoe优化系统110。

图8示出了用于收集跟踪文件、合并跟踪文件以及执行网络通信分析的示例过程800的流程图。示例过程800可以由作为qoe优化系统110的一部分的组件来执行。

在方框802处,跟踪文件接收模块410可以从多个节点(例如,客户端设备102、mtn节点106(1)和数据服务器108)自动收集跟踪文件。在各种实施例中,跟踪文件接收模块410可以根据周期性时间表自动收集跟踪文件。在各种实施例中,跟踪文件接收模块410可以从mtn104中的所识别的节点子集中自动收集跟踪文件。

在方框804处,跟踪文件关联模块414合并所收集的跟踪文件。在各种实施例中,合并可以包括合并对应于单个节点处的不同层(例如,层级)的跟踪文件,以及合并从不同节点(例如,节点级)接收的跟踪文件。

在方框806处,交叉文件分析模块416分析合并的跟踪文件以确定客户端设备的用户的qoe是否已经降低到预定义水平。在各种实施例中,交叉文件分析模块416使用跟踪id的时间戳执行分析,跟踪id匹配单个数据分组、请求/响应数据分组对、作为已建立的通信会话的一部分的一组数据分组。此外,作为分析的一部分,交叉文件分析模块416可以识别(例如,经由kpi模块420和/或控制模块418)待评估的一个或更多个kpi以及与kpi相关联的特定服务水平或服务目标。如果特定服务水平未被满足(例如,网页加载时间长于两秒、rtt大于一秒等),则可以发现qoe降低到预定义水平。作为分析的一部分,交叉文件分析模块416可以使用跟踪排序模块422来对合并的跟踪id进行排序,从而可以执行分析。

在方框808处,交叉文件分析模块416识别可能是导致降低的qoe的问题的根本原因的所识别节点内的一个或更多个节点和/或一个或更多个层。

在方框810处,呈现和通知模块424可以格式化并生成报告或警报,以经由gui传送给网络管理员。报告或警报可提供交叉跟踪文件分析的结果。

在方框812处,补救动作模块426可以实现补救动作以解决造成降低的qoe的问题。在各种实施例中,补救动作可以根据控制模块418中的预定义指令自动实现。在其他实施例中,补救动作可以响应于由网络管理员提供给控制模块418的选择和输入来实现。

图9示出了用于收集跟踪文件、合并跟踪文件以及执行网络通信分析的另一示例过程900的流程图。示例过程900可以由作为qoe优化系统110的一部分的组件来执行。

在方框902处,控制模块418可以从网络管理员接收用于从多个不同节点收集跟踪文件以进行交叉跟踪文件分析的请求。

在方框904处,跟踪文件接收模块410可以从多个节点(例如,客户端设备102、mtn节点106(1)和数据服务器108)收集跟踪文件。

在方框906处,跟踪文件关联模块414合并所收集的跟踪文件。在各种实施例中,合并可以包括合并对应于单个节点处的不同层(例如,层级)的跟踪文件,以及合并从不同节点(例如,节点级)接收的跟踪文件。

在方框908处,交叉文件分析模块416可以识别为正在请求的交叉跟踪文件分析提供基础的一个或更多个跟踪id。

在方框910处,交叉文件分析模块416可基于所识别的跟踪id来确定与所请求的交叉跟踪文件分析相关联的kpi是否满足所定义的水平。

在方框912处,呈现和通知模块424可以格式化结果并将结果传送至请求分析的网络管理员。

在方框914处,补救动作模块426可以实现补救动作以解决问题。

图10示出了用于接收跟踪文件、确定跟踪文件中包括的数据的性能度量,并且生成性能度量的图形表示或文本表示的另一示例过程1000的流程图。示例过程1000可以由作为qoe优化系统110的一部分的组件来执行。

在方框1002处,qoe优化系统110可以从参与无线通信的设备接收跟踪文件。跟踪文件可以至少包括与设备的通信协议堆栈的无线电层相关联的数据。该设备可以是用户设备、电信基站、无线接入点、无线电网络控制器或核心电信网络元件中的一个。跟踪文件可以与用于测量射频性能的数据收集和诊断记录工具相关联。在一些实施例中,跟踪文件还可以包括与设备的通信协议堆栈的互联网层、网络层或传输层相关联的数据。或者,qoe优化系统110可以在1002处从设备接收另一跟踪文件,并且另一跟踪文件可以包括与设备的通信协议堆栈的互联网层、网络层或者传输层相关联的数据。

在1004处,qoe优化系统110可以至少部分地基于与无线电层相关联的数据来为设备确定与无线电层的关键性能指示符相关联的一个或更多个性能度量。无线电层的关键性能指示符可以包括以下中的至少一个:无线链路控制(rlc)重传、丢包、网络信令、无线电资源控制(rrc)状态持续时间、无线电状态转换时间、在不同无线电状态中花费的时间、无线电状态转换的数量或重新配置响应时间。同样在1004处,qoe优化系统110可以至少部分地基于与互联网层、网络层或传输层相关联的数据来为设备确定与互联网层、网络层或传输层的关键性能指示符相关联的一个或更多个额外的性能度量。用于互联网层、网络层或传输层的关键性能指示符可以包括域名服务(dns)往返时间(rtt)、传输控制协议(tcp)rtt、超文本传输协议(http)rtt、tcp重传、tcp重复确认、tcp重置、tcp失败、增量帧或序列号中的至少一个。

在1006处,qoe优化系统110可以生成一个或更多个性能度量的一个或更多个图形或文本表示。图形或文本表示包括图形、图表或日志表示中的至少一个(参见例如图12和图13)。而且,在1006处,qoe优化系统110可以生成一个或更多个额外性能指示符的一个或更多个额外图形或文本表示。

在1008处,qoe优化系统110可基于性能阈值或性能模型中的一个或更多个来分析数据。在1010处,基于分析,qoe优化系统110可以确定无线通信呈现下降的qoe。

图11示出了另一示例过程1100的流程图,该示例过程1100用于接收一个或更多个跟踪文件、使与设备的不同层或不同设备相关联的跟踪文件数据相关联、基于阈值或模型分析关联数据,以及确定与关联数据相关联的通信表现出下降的qoe。示例过程1100可以由作为qoe优化系统110的一部分的组件来执行。

在方框1102处,qoe优化系统110可以从参与基于无线分组的通信的设备接收跟踪文件。跟踪文件可以包括用于设备的通信协议堆栈的第一层的第一数据和用于通信协议堆栈的第二层的第二数据。基于无线分组的通信可以包括从远程服务或远程网站在用户设备处接收的数据分组。

在1104处,qoe优化系统110可基于由第一数据和第二数据表示的数据分组的有效载荷来将第一数据与第二数据相关联。关联可以包括将第一数据中的有效载荷的表示与第二数据中的有效载荷的表示相关联。

在1106处,当从参与或中继基于无线分组的通信的多个设备接收到多个跟踪文件时,qoe优化系统110可以关联那些跟踪文件。

在1108处,qoe优化系统110可以基于通信性能阈值或通信性能模型中的一个或更多个来分析关联数据。如果多个跟踪文件相关联,则qoe优化系统110也可以分析关联的跟踪文件。

在1110处,基于该分析,qoe优化系统110可以确定基于无线分组的通信呈现下降的qoe。

在1112处,qoe优化系统110可以生成关联数据的图形或文本表示。可选地或额外地,在1114处,qoe优化系统110可以在基于无线分组的通信呈现下降的qoe时提供警报。

图18描绘了根据本公开的实施例的一个或更多个客户端设备体验质量(qoe)诊断文件176的示例。在各种实施例中,一个或更多个qoe诊断文件176可以由图1c中的客户端设备qoe模块172生成。在一些实施例中,一个或更多个客户端设备qoe诊断文件176可以包括与跟踪设备操作和状态的客户端设备102的模块、组件和操作有关的诊断文件。在一些实施例中,一个或更多个qoe诊断文件176可以包含在客户端设备102上生成、聚集和/或收集的信息,从该信息可以确定客户端设备kpi和/或qoe。一个或更多个客户端设备qoe诊断文件176可以与一个或更多个通信或数据交换/格式化协议(诸如,tcp、ip、http或指向通过mtn104进行通信或交换内容的其他协议)相关联地进行配置。例如,一个或更多个qoe诊断文件176可以以基于可扩展标记语言(xml)的格式(诸如json(javascript对象表示法))来配置。在一些实施例中,除了一个或更多个客户端设备跟踪文件178之外或者代替一个或更多个客户端设备跟踪文件178,客户端设备102还可以发送一个或更多个qoe诊断文件176,如图1c所示。在各种实施例中,一个或更多个客户端设备qoe诊断文件176可以包括与语音呼叫、视频呼叫和/或包括客户端设备102的数据传输有关的信息。在一些实施例中,一个或更多个客户端设备qoe诊断文件176可以包括指示当进行呼叫时客户端设备102的活动或操作的时间顺序诊断文件或日志。

在各种实施例中,一个或更多个客户端设备qoe诊断文件176可以包括与呼叫状态1802、用户界面(ui)状态1804、一个或更多个ip多媒体子系统(ims)会话发起协议(sip)消息1806、切换1808、实时传输协议(rtp)统计1810、呼叫设置1812、信号数据1814、无线电频带数据1816、位置1818、时间戳1820和/或设备数据1822相关的数据。

在各种实施例中,呼叫状态1802数据可以指示何时尝试呼叫、何时建立呼叫(例如,当呼叫开始振铃时)、何时连接呼叫(例如,当语音或视频数据开始时),以及何时断开呼叫。在各种实施例中,呼叫状态1802在呼叫期间被持续更新。

在各种实施例中,用户界面(ui)状态1804可以指示在客户端设备1804的用户界面处接收的输入。例如,ui状态1804可以指示接收到输入以发起或终止呼叫、静音或保持呼叫、输入电话号码或设备身份、改变音量等。ui状态1804可以跟踪在客户端设备102处接收到的一些或全部输入,并且可以反映用户的实际输入或输入尝试。在一些实施例中,ui状态1804可以限于用于某些应用的数据,诸如被配置用于语音或视频呼叫的客户端设备上的应用。在一些实施例中,ui状态1804可以指示来自触摸屏、显示器、指示笔或各种按钮(诸如音量按钮或电源按钮)的接收到的输入。ui状态1804可以指示接收到的用户输入是成功还是不成功。ui状态1804还可以跟踪在客户端设备1804的显示器上显示的数据,诸如在呼叫之前、期间或之后显示的屏幕。

在各种实施例中,一个或更多个ip多媒体子系统(ims)会话发起协议(sip)消息1806可以包括由客户端设备102进行的针对每个通信的会话信息。一个或更多个imssip消息1806可以包括诸如消息类型(例如,文本、数据文件、视频、图像、音乐、音频等)、会话描述协议(sdp)参数和原因代码(例如,响应于操作期间的事件发布消息、状态代码和返回代码)之类的字段。原因代码的示例可以包括指示在操作期间检测到的错误事件的错误消息,或者指示在通信操作期间操作成功的消息。

在各种实施例中,切换1808数据可记录用于通信的客户端设备的切换操作和状态。在一些实施例中,切换1808数据可记录基站之间、接入点之间或基站与接入点之间的切换操作。例如,切换1808可以指示单一无线电语音呼叫连续性(srvcc)、电路交换回退(csfb)、系统间(无线电间接入技术(rat))移动性(例如,2g/3g和lte之间的转换)以及ltex2切换。

在各种实施例中,实时传输协议(rtp)统计1810指示各种数据分组统计,诸如分组丢失、分组延迟、延迟抖动、发送/接收的字节、发送/接收的分组、总字节数、总分组、分组丢失率、分组丢弃率、突发丢失率和突发长度、间隙丢失率和间隙长度、往返延迟、单向延迟、回波路径延迟、冲突率等的。

在各种实施例中,呼叫设置1812可以指示客户端设备的设置,诸如操作模式或呼叫偏好。例如,呼叫设置1812可以指示是否激活或禁用lte上的语音(volte)、是优选还是允许wifi呼叫、呼叫注册、订户身份模块(sim)卡供应等。

在各种实施例中,信号数据1814可以包括指示信号强度和/或质量的参数,诸如接收信号强度指示符(rssi)、参考信号接收功率(rsrp)、参考信号接收质量(rsrq)、信号干扰加噪声(sinr)比、接收信号代码功率(rscp)、ec/io(例如,每个芯片的接收能量(码位)与干扰水平(以db为单位)的比率)、信噪比(snr)等。

在各种实施例中,无线电频带数据1816可以指示客户端设备是使用特定频带(例如2、4或12)还是载波聚合(例如2和4)。在一些实施例中,无线电频带数据1816可以包括上行链路频率、下行链路频率、频带宽度、双工间隔和/或带隙。

在各种实施例中,位置1818可以指示在通信或通信尝试之前、期间或之后的任何时刻的客户端设备的位置。位置1818可以由gps位置数据、基站身份或位置源的组合来确定。在一些实施例中,位置1818可以包括组合使用的移动网络代码(mnc)和移动国家代码(mcc)以唯一地识别移动网络运营商网络。在一些实施例中,位置1818可以包括基站或小区身份,和/或纬度、经度和高度信息。

在各种实施例中,时间戳1820可以唯一地识别一个或更多个客户端设备qoe诊断文件176中包括的一些或所有数据点的时间。在一些实施例中,时间戳1820可以由本地时间源或远程时间源提供。例如,每个操作日志、报告或意图(intent)可以具有关联的时间戳1820。

在各种实施例中,设备数据1822可以指示客户端设备102的设备和/或系统信息,诸如品牌、型号、操作系统、操作版本、硬件组件、软件组件、芯片制造商、升级历史等。设备数据1822还可以指示在客户端设备102上安装或操作的任何应用和/或软件,以及用于任何相关软件的软件版本。

图19至图21呈现了说明性过程。每个过程在逻辑流程图中被示为方框的集合,其代表可以用硬件、软件或其组合实现的一系列操作。在软件的上下文中,方框表示计算机可执行指令,当由一个或更多个处理器执行该指令时,执行所述操作。通常,计算机可执行指令可以包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不旨在被解释为限制,并且可以任何顺序和/或并行地组合任何数量的所描述方框来实现该过程。

图19是根据本公开的实施例的用于收集诊断、过滤诊断以及发送客户端设备qoe诊断文件的示例过程1900的流程图。在一些实施例中,客户端设备qoe诊断文件对应于图1c和图18中的一个或更多个客户端设备qoe诊断文件176。例如,示例过程1900可以由客户端设备102执行。

在1902处,诊断被收集。在一些实施例中,诊断可以包括用于在进一步分析时确定客户端设备kpi和/或qoe的设备报告、操作日志、意图或其他数据。客户端设备qoe模块172可以在客户端设备102中收集诊断。在一些实施例中,客户端设备qoe模块172可以作为客户端设备102上的后台进程(例如,作为无头进程或无头追踪收集器)进行操作,并且可以收集来自在客户端设备102上运行的硬件和/或软件的诊断、日志、报告或意图(即,客户端设备102中的应用之间的消息,典型地用于进一步动作)。在一些实施例中,以预定间隔收集诊断,诸如每5秒、每5分钟、每日、每周或任何其他预定间隔。在一些实施例中,响应于来自qoe优化系统110的请求(例如,周期性的请求或按需请求)来收集诊断。在替代实施例中,客户端设备102可以知道报告时间表,并且可以根据报告时间表主动收集诊断。在一些实施例中,响应于诸如发起通信、结束通信、在检测到错误事件时,或者响应于由客户端设备102上运行的应用或软件生成的诊断数据、日志数据或意图来收集诊断。在一些实施例中,待收集的诊断包括结合图18讨论的诊断(或者可以包括结合图21讨论的消息)。在一些实施例中,待收集的诊断作为用于各种应用、过程或线程的调试文件而生成,而不是由客户端设备qoe模块172生成。在一些实施例中,诊断由将文件写入文件夹、文件或目录的各种应用来被动地收集,而在其他实施例中,各种组件被主动轮询并收集数据。

在1904处,诊断被过滤。在一些实施例中,响应于检测到错误消息来执行过滤,而在一些实施例中,基于呼叫状态、呼叫进度或唯一呼叫身份来执行过滤。在一些实施例中,执行过滤以减少要在客户端设备qoe诊断文件中传输的数据量。在一些实施例中,响应于可用带宽、网络上的业务量或检测到的错误的优先级来执行诊断过滤1904。在一些实施例中,执行诊断过滤1904以包括与特定通信(例如,语音呼叫)相关联的所有操作日志、设备报告、诊断文件或意图,或者包括与通信位置相关联的所有数据(例如,如果诊断特定位置的根本原因)。例如,可以执行操作1904以过滤和选择与被监视以确定设备qoe的kpi的类型相关的设备报告、日志或意图。在一个非限制性示例中,客户端设备可以针对语音呼叫生成20个日志,并且针对数据呼叫(例如网页浏览)生成10个日志。如果这些日志以混合顺序在客户端设备中被报告,则可以执行操作1904以识别用于语音呼叫的日志并且将这20个语音呼叫日志分开以包括在客户端诊断qoe文件中。在一些实施例中,响应于用户偏好来执行诊断过滤1904。在一些实施例中,诊断过滤1904可以包括匿名和加密诊断。在一些实施例中,诊断过滤1904包括将数据格式化为标准化格式。例如,诊断过滤1904可以包括将在操作1902中收集的多个意图存储为诸如json(javascript对象表示法)之类的基于可扩展标记语言(xml)的格式。

在1906处,一个或更多个客户端设备qoe诊断文件被发送。在一些实施例中,一个或更多个客户端设备qoe诊断文件在设备通信期间或贯穿设备通信中被实时发送。一个或更多个客户端设备qoe诊断文件可以被发送到图1c的qoe分析器180,例如,当网络流量低,处于最低限度,或者在非高峰时段。例如,仅当客户端设备102连接到wifi网络时才可以发送一个或更多个客户端设备qoe诊断文件,或者可以在网络流量低的夜晚发送一个或更多个客户端设备qoe诊断文件。在一些实施例中,除了一个或更多个客户端设备跟踪文件178之外或者代替一个或更多个客户端设备跟踪文件178,一个或更多个客户端设备qoe诊断文件176可以被发送到qoe分析器180。

图20是根据本公开的实施例的用于接收和分析设备诊断的示例过程2000的流程图。示例过程2000可以由作为qoe优化系统110的一部分的组件(例如由qoe分析器180)执行,而在一些实施例中,过程2000中的一些或全部操作可以由客户端设备执行。

在2002处,设备诊断被请求。在一些实施例中,qoe分析器180可以从客户端设备102请求诊断。在一些实施例中,请求2002可以包括设置客户端设备向qoe分析器180发送设备诊断的时间表,而在一些实施例中,请求可能是按需请求。在一些实施例中,对设备诊断2002的请求可以指定设备诊断的数量、类型、频率、格式和规格,并且在一些实施例中,请求2002可以包括对一个或更多个客户端设备qoe诊断文件176的请求。在一些实施例中,请求2002可以响应于网络问题的识别,诸如由qoe趋势模块186识别存在网络问题。在一些实施例中,请求2002可以响应于客户或用户投诉或报告qoe下降或降低。

在2004处,设备诊断被接收。在一些实施例中,设备诊断作为一个或更多个客户端设备qoe诊断文件176被接收。例如,设备诊断可以作为来自客户端设备的jsonxml文件被接收,并且可以包括设备报告、操作日志、设备意图,和/或与设备通信有关的信息。在一些实施例中,从单个客户端设备接收多个设备诊断,并且在一些实施例中,从多个客户端设备接收多个设备诊断。在一些实施例中,接收到的设备诊断是在操作1906中发送的一个或更多个客户端设备qoe诊断文件。

在2006处,从在操作2004中接收到的设备诊断来确定设备kpi和/或qoe。在一些实施例中,分析设备报告、操作日志、设备意图和/或与设备通信相关的信息以确定设备kpi,从中可以确定设备qoe。例如,如果设备kpi包括“呼叫建立时间”的指示,则分析设备诊断以确定呼叫建立操作中涉及的设备操作和时间戳以确定“呼叫建立时间”。作为另一个示例,可以基于实时分组协议(rtp)数据(诸如rtp丢失率)和sip消息跟踪数据(诸如编解码类型和采样率)来预测语音质量设备kpi。如在本公开的上下文中可以理解的,可以在操作2006中确定任何数量的设备kpi。

在2008处,设备kpi和/或qoe被聚合。在一些实施例中,设备kpi和/或qoe在一段时间内针对个体设备被聚合,而在一些实施例中,设备kpi和/或qoe针对位置、设备特性或某个其他聚合度量或参数在一段时间内针对个体时间点的多个设备被聚合。在一些实施例中,设备kpi和/或qoe通过设备类型、设备位置、qoe问题或接入技术之一被聚合和索引。例如,针对特定设备的设备kpi和/或qoe被索引以创建特定于设备类型、硬件组件类型、软件组件类型等的kpi和/或qoe的数据库。在另一示例中,特定位置的所有设备kpi和/或qoe被聚合,而在另一个示例中,用于qoe问题的设备kpi(诸如增加的掉话率)可以被聚合。在一些示例中,可以根据诸如2g/3g、lte、volte、wi-fi呼叫等的接入技术对设备kpi和/或qoe进行索引。在一些实施例中,设备诊断文件在确定设备kpi和/或qoe之前被聚合。

在2010处,网络kpi被确定。在一些实施例中,可以基于由qoe分析器180接收的跟踪文件174或180来确定网络kpi。在一些实施例中,网络kpi可以指qos数据。在一些实施例中,网络kpi可以类似于在客户端设备102处经历的客户端设备kpi和/或qoe。

在2012处,比较在2006处确定的设备kpi和/或qoe以及在2010处确定的网络kpi。在一些实施例中,可执行比较操作2012以检测任何下降的或降低的qoe问题。例如,可以基于在2006处确定的设备kpi和/或qoe来确定掉话率,而也可以基于在2010处确定的网络kpi来确定掉话率。在一些实施例中,设备掉话率可以与网络掉话率进行比较。在一个示例中,低于设备掉话率的网络掉话率可以指示下降的或降低的qoe的可能性。

在2014处,比较设备kpi和/或qoe以及聚合的设备kpi和/或qoe。在一些实施例中,用于个体设备的设备kpi和/或qoe与关联于个体设备的聚合的设备kpi和/或qoe进行比较。在一些实施例中,将个体设备的设备kpi和/或qoe与关联于多个客户端设备的聚合的设备kpi和/或qoe进行比较。

过程2000的示例如下所述。举例来说,第一客户端设备102可在第一位置处经历掉话(例如,下降或降低的qoe)。第一客户端设备102可以在掉话时发送指示客户端设备状况(例如,操作日志、设备意图、设备报告)的一个或更多个客户端设备qoe诊断文件176。qoe分析器180可以接收一个或更多个客户端设备qoe诊断文件176(例如,操作2004),可以在操作2006中确定设备kpi和/或qoe,并且可以将所确定的客户端设备kpi和/或qoe与qoe分析器180先前从多个客户端设备接收并确定的聚合的设备kpi和/或qoe进行比较(例如,操作2006和2008)。在这个示例中,聚合的设备kpi和/或qoe可以通过设备类型、qoe问题和/或客户端设备位置来索引。因此,将指示第一位置处的掉话(例如,降低的qoe)的第一客户端设备kpi和/或qoe与和第一位置相关的聚合的设备kpi和/或qoe进行比较(例如,操作2014)。

在2016处,确定降低的qoe的根本原因。在上面的示例中,将来自第一客户端设备的设备kpi和/或qoe与聚合的设备kpi和/或qoe进行比较,以确定第一位置处掉话的根本原因。在这个示例中,第一位置处的第一客户端设备的信号强度在掉话之前可能已经变低。通过比较在第一客户端设备处经历的信号强度与聚合的设备kpi和/或qoe,可以确定根本原因。例如,如果第一位置处的聚合的设备kpi和/或qoe也表现出低信号强度,则数据可能表明信号强度在第一位置处较低,并且接收可能需要被升级(例如,由服务提供商)。然而,如果第一位置处的聚合的设备kpi和/或qoe指示信号强度没有降低或下降(例如,其他设备没有类似问题),则qoe降低的根本原因可能是第一客户端设备。在一些实施例中,如果参数低于性能阈值或模型,或低于经由聚合的设备诊断确定的可接受平均值或中值,则参数可被认为是“低”。

在另一个示例中,聚合的设备kpi和/或qoe(例如,在操作2008中聚合的)可以指示降低的qoe。在一些实施例中,聚合的设备kpi和/或qoe可以通过设备模型或通过操作系统版本来索引。在一个示例中,可以确定具有特定操作系统版本的设备可能正在经历降低的qoe。在这种情况下,可以确定(例如,在操作2016中)qoe的根本原因为特定操作系统版本。在另一个示例中,降低的qoe对于设备类型可能是特定的。在这种情况下,降低的qoe的根本原因可能是设备类型。

在进一步的示例中,聚合的设备kpi和/或qoe可以通过位置索引。如果聚合的数据在特定位置(或在特定位置和特定时间)显示问题趋势,则可以确定(例如,在操作2016中)qoe的根本原因是常规的或暂时的网络问题。

在一些实施例中,可以在不参考聚合的设备kpi和/或qoe的情况下确定(例如,在操作2016中)降低的qoe的根本原因。在一个示例中,一个或更多个客户端设备qoe诊断文件176可以指示进行了呼叫尝试(例如,呼叫状态=尝试),随后是“未供应”的错误代码(例如,呼叫设置=未供应),然后是客户端设备断开连接的指示(例如,呼叫状态=断开连接)。在这样的示例中,降低的qoe的根本原因可能在2016处被确定为未供应的sim卡。此外,在一些实施例中,qoe分析器180可以通过向客户端设备发送软件更新来执行自我修复,以便供应sim卡,从而纠正错误。

作为另一示例,可以通过查看一个或更多个客户端设备qoe诊断文件176来确定(例如,在操作2016中)降低的qoe的根本原因。在一个示例中,一个或更多个客户端设备qoe诊断文件176可包括反映在客户端设备通信中使用编解码器的操作日志(或设备报告或意图)。客户端设备qoe诊断文件可以指示在呼叫失败之前发生了编解码器切换操作。在这种情况下,编解码器转换操作可能被确定为降低的qoe的根本原因。此外,在本公开的上下文中可以理解的是,基于网络的kpi可能不能够确定在该示例中这种降低的qoe的根本原因,因为编解码器转换可能对基于网络的kpi是不透明的。

图21是根据本公开的实施例的用于生成和/或发送诊断消息的示例过程2100的流程图。例如,示例过程2100可以由客户端设备102执行。

过程2100可以包括生成和/或发送消息2102-2116中的一些或全部。在一些实施例中,诊断消息2102-2106可以不是顺序地生成和/或发送,而是在检测到发生触发事件时单独地生成和/或发送。在一些实施例中,消息2102-2116可以对应于一个或更多个客户端设备qoe诊断文件176。在一些实施例中,消息2102-2116可以单独生成并且在单个客户端设备qoe诊断文件中发送。描述操作/消息的顺序不意图被解释为限制,并且任何数量的所描述的操作可以任何顺序和/或并行组合以实现该过程和/或发送本文描述的消息。

在2102处,可以生成和/或发送呼叫状态消息。在各种实施例中,当语音呼叫的状态改变时,可以生成和/或发送呼叫状态消息。呼叫状态的变化可包括以下呼叫状态的变化或来自以下呼叫状态的变化:尝试、建立、连接、断开连接、保持、结束、呼入、减弱、未减弱、csfb开始、csfb成功、csfb失败、srvcc开始、srvcc成功、srvccc失败、asrvcc开始、asrvcc成功、asrvcc失败、epdg_ho开始、epdg_ho成功和/或epdg_ho失败。

在2104处,生成和/或发送用户界面(ui)状态消息。在各种实施例中,当呼叫的ui状态改变时,可以生成和/或发送ui状态消息。在一些实施例中,仅在活动语音呼叫会话期间生成和/或发送ui状态消息。ui状态的变化可包括以下ui状态的变化或来自以下ui状态的变化:呼叫按下、结束按下、静音按下、取消静音按下、保持按下、未保持按下、呼叫连接、呼叫断开连接、响铃和屏幕开启、屏幕关闭。

在2106处,可以生成和/或发送切换状态消息。在各种实施例中,当正在进行的呼叫从连接到网络的一个信道转移或切换到另一个信道时,可以生成和/或发送切换状态消息。在一些实施例中,仅在活动的语音呼叫会话期间生成和/或发送切换状态消息。切换状态消息可以与下面的一个或更多个切换状态信息一起发送:inter_ho开始、inter_ho失败、inter_ho成功、intra_ho开始、intra_ho失败、intra_ho成功以及测量报告已递送。

在2108处,生成和/或发送信令消息。在各种实施例中,信令消息可以指示在活动分组交换语音呼叫期间何时由客户端设备102递送或发送ip多媒体子系统(ims)会话发起协议(sip)消息。在一些实施例中,信令消息可以包括信令消息中的imssip消息的内容。

在2110处,生成和/或发送实时传输协议(rpt)下行链路(dl)消息。在一些实施例中,rptdl消息可以在活动呼叫期间以定期调度间隔生成和/或发送。在一些实施例中,rtpdl消息可以包括rtpdl丢失率、rptdl延迟(例如,流中的所选分组之间的端到端往返行程延迟)、rtpdl抖动(例如,由于网络拥塞、不正确的排队或配置错误引起的分组之间的延迟)和/或rtpdl测量周期。

在2112处,生成和/或发送rtp上传消息。在一些实施例中,rtp上传消息可以包括类似于rtpdl消息但是针对上行链路分组的统计。

在2114处,生成和/或发送应用呼叫消息。在各种实施例中,应用呼叫消息指示何时发起了移动始发呼叫。在各种实施例中,应用呼叫消息可以指示在客户端设备上发起呼叫的特定应用。

在2116处,生成和/或发送加密消息。在各种实施例中,加密消息指示客户端设备何时完成与网络的协商加密方案。

过程2100的示例在下面提供。为了在第一客户端设备处发起语音呼叫,用户按下第一客户端设备的用户界面中的“发送”按钮。在这样的示例中,消息2104可以由第一客户端设备生成(例如,指示“呼叫按下”)。接下来,第一客户端设备可以在操作在第一客户端设备中的应用中发起语音呼叫,并且可以生成指示呼叫状态(例如“尝试”)的消息2102。结合发起语音呼叫,第一客户端设备向网络发送请求,网络响应第一客户端设备语音呼叫被建立,并且第一客户端设备开始输出回铃音。相应地,第一客户端设备可以生成消息2102(例如“已建立”)。第二客户端设备可以应答来自第一客户端设备的语音呼叫请求,并且相应地,第一客户端设备可以生成指示更新的呼叫状态(例如,“已连接”)的消息2102。当进行语音呼叫时,第一客户端设备监视上行链路和/或下行链路并生成指示连接状态的消息。例如,第一客户端设备可以在特定时间段接收从第二客户端设备发送的100%的语音分组,并且可以生成指示分组的零百分比丢失的rtpdl消息2110。在随后的时间段中,第一客户端设备可以接收从第二客户端设备发送的75%的语音分组,并且可以生成指示25%丢失的rtpdl消息2110。接下来,第一客户端设备可以发起到3g网络的切换,并且可以生成指示该转换的切换状态消息2106(例如“inter_ho开始”)。在该示例中,在切换成功(并且生成了指示“inter_ho成功”的消息2106)之后,呼叫可以被丢弃,并且第一客户端设备生成指示该状态的切换状态消息2106(例如,“已断开连接”)。如在本公开的上下文中将理解的,这些消息可以被实时发送,或者可以被组合成单个报告(例如,被格式化为单个json容器的客户端设备诊断文件),并且可以被发送到网络节点(例如在夜间)进行分析,以确定第一客户端设备kpi和/或qoe。如在本公开的上下文中将进一步理解的,该示例是说明性的,并且语音呼叫可以包括任何数量的生成消息。

如上所述,图22至图图24是根据本公开的实施例的聚合的设备qoe度量的图形表示的示例。在一些实施例中,图形表示2200、2300和2400可以由qoe分析器180针对个体客户端设备102确定,或者可以由qoe分析器180和/或qoe趋势模块186针对表示一段时间内的多个设备的聚合数据确定。在图22中,图形表示2200是对每个地区或市场的设备掉话率的分析。在图23中,图形表示2300是根据设备模型索引的掉话率和掉话的来源的图表。在图24中,图形表示2400是由接入技术在时间段t1、t2、t3、t4和t5上索引的掉话率的图表。也可以生成或替代地生成客户端设备qoe的任何数量的其他类型的图表和图形。

图25描绘了根据本公开的实施例的示例环境2500,在其中可从客户端设备收集客户端设备qoe诊断文件、跟踪文件和设备动态文件并且可执行qoe分析。例如,在示例环境2500中,客户端设备102可以将一个或更多个客户端设备qoe诊断文件176、一个或更多个客户端设备跟踪文件178和一个或更多个客户端设备动态文件2502发送到qoe分析器180,并且分析可以由qoe分析器180执行。

客户端设备102可以对应于结合本公开中的各个附图描述的客户端设备102。在一些实施例中,客户端设备102可以包括客户端设备体验质量(qoe)模块172,其可以监视客户端设备的一些或全部操作并且可以生成或收集与每个操作对应的操作日志或报告,如本文所描述的。例如,在本公开的一些实施例中,qoe模块172记录、监视、收集、聚集和/或生成网络信号指示符以确定呼叫质量或网络连接的质量。

客户端设备102还可以包括一个或更多个传感器,包括加速度计2504、光传感器2506、全球定位系统(gps)传感器2508、近距离传感器2510、温度传感器2512和湿度传感器2514。例如,客户端设备102可以监视来自传感器2504、2506、2508、2510、2512和2514的输出,以生成客户端设备的一个或更多个设备动态文件2502。客户端设备的一个或更多个设备动态文件2502可以与一个或更多个通信或数据交换/格式化协议(诸如tcp、ip、http或指向通过mtn104进行通信或交换内容的其他协议)相关联地进行配置。例如,客户端设备的一个或更多个设备动态文件2502可以以诸如json(javascript对象表示法)之类的基于可扩展标记语言(xml)的格式来配置。文件2502可以通过请求被周期性地、连续地生成和/或发送,和/或可以针对与客户端设备相关联的每个通信(例如,语音呼叫、数据会话等)生成文件2502。在一些实施例中,客户端设备的设备动态文件2502可以与客户端设备qoe诊断文件176一起被包括(例如,用于在信号文件中或者在文件的任何组合中发送/接收客户端设备qoe诊断和客户端设备的设备动态)。

根据本公开的实施例,加速度计2504可以监视在诸如{x,y,z}空间之类的一个或更多个方向的客户端设备的加速度。在一些实施例中,加速度计2504可以包括陀螺仪和/或重力传感器,以在确定客户端设备2504的运动中提供额外的分辨率。光传感器2506可以监视客户端设备102所处环境中的环境光,并且可以部分用于调整客户端设备102的屏幕的亮度和/或确定客户端设备的变化位置(例如,从室内移动到室外、在隧道中行进等)。gps传感器2508可以用于确定客户端设备的位置、速率、速度、高度、时间等。近距离传感器2510可以用于确定客户端设备102何时接近表面,诸如当客户端设备102被定向为在表面(诸如桌子)上显示器向下(display-down)时,或者当客户端设备102接近操作设备的用户时(例如当用户在通话期间将设备保持在用户的耳朵上时)。在一些实施例中,近距离传感器2510可以关闭和打开客户端设备102的显示器,从而降低功耗和/或防止设备的操作温度增加。温度传感器2512可以确定客户端设备102正在其中操作的环境的环境空气温度,和/或可以确定客户端设备102的操作温度。湿度传感器2512可以确定客户端设备102正在其中操作的环境湿度,和/或可以确定客户端设备102的内部湿度。额外的传感器可以包括心率传感器、指纹传感器、生物特征传感器、磁场传感器、压力传感器(例如气压计)、相机、红外传感器、电容式传感器等。

qoe分析器180可以包括qoe分析器模块2516、设备动态模块2518、聚合器模块2520和补救动作模块2522。此外,qoe分析器180可以包含处理器(诸如一个或更多个处理器402)、存储器(诸如存储器404)、设备os(诸如设备os406)以及图4的一些或全部模块408-426(如本文关于图4进一步讨论的)。

qoe分析器180可以接收一个或更多个客户端设备qoe诊断文件176和一个或更多个客户端设备跟踪文件,并且可以分析一个或更多个文件176和/或178,以确定可以用于确定客户端设备102正在经历下降的或降低的qoe或者可以确定客户端设备102先前已经经历了如根据本公开所描述的下降的或降低的qoe的kpi。在一些实施例中,qoe分析器模块2516可以分析文件176和/或178以确定客户端设备102的qoe。

qoe分析器180可以进一步接收客户端设备的一个或更多个设备动态文件2502并且可以经由设备动态模块2518分析一个或更多个文件2502。例如,设备动态模块可以聚集、收集、制定、过滤、划分、估计、记录、跟踪或执行对从客户端设备102接收的客户端设备的一个或更多个设备动态文件2502的任何预处理或后处理。在一些实施例中,设备动态模块2518可以分析设备动态文件2502以确定来自客户端设备102的传感器数据的用户行为和/或模式或特性,其可以指示用户不满意客户端设备的qoe。

聚合器模块2520可以聚合从多个客户端设备接收的客户端设备的设备动态文件。在一些实施例中,聚合器模块2520可以通过设备类型、设备位置、通信动作等来聚合设备动态。此外,聚合器模块2520可以聚合客户端设备的设备动态与关联qoe诊断和/或与特定设备和/或通信会话相关联的跟踪文件。在一些实施例中,聚合器模块2520可以聚合本文讨论的各种文件,并以增加的置信度确定降低的qoe与客户端设备相关联。在一些实施例中,聚合器模块2520可以基于从多个客户端设备接收到的设备动态文件来更新和/或调整指示降低的qoe的模式。

在各种实施例中,补救动作模块2522可以包括修复所识别的网络通信问题的指令。补救动作模块2522可以确定针对问题的一个或更多个建议的解决方案,然后经由图形用户界面将选择的解决方案呈现给以下中的一个或更多个:与客户端设备相关联的客户、与服务供应商相关联的客户服务部门以及与服务提供商相关联的业务或工程部门,从而可以实现解决方案。在至少一个实施例中,补救动作模块2522被配置为响应于问题的识别而自动实现解决方案。

图26至图29呈现说明性过程。每个过程被示出为逻辑流程图中的方框的集合,其代表可以用硬件、软件或其组合实现的一系列操作。在软件的上下文中,方框表示计算机可执行指令,当由一个或更多个处理器执行该指令时,执行所述操作。通常,计算机可执行指令可以包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不旨在被解释为限制,并且可以任何顺序和/或并行地组合任何数量的所描述方框来实现该过程。

图26是根据本公开的实施例的用于关联qoe诊断文件和设备动态文件的示例过程2600的流程图。例如,示例过程2600可以由qoe分析器180执行。

在2602处,该操作包括接收一个或更多个客户端设备体验质量(qoe)诊断文件。例如,操作2602可以包括接收客户端设备qoe诊断文件176,如结合图18所描述的。该文件176可以包括诸如呼叫状态、用户界面状态、imssip消息、切换、rtp统计、呼叫设置、信号数据、无线电频带数据、位置、时间戳和/或设备数据之类的客户端设备的信息。

在2604处,该操作包括接收一个或更多个客户端设备设备动态文件。例如,操作2604可以包括接收客户端设备的设备动态文件2502,其包括描述加速度计2504、光传感器2506、gps传感器2508、近距离传感器2510、温度传感器2512以及湿度传感器2514中的一个或更多个的操作的信息。例如,操作2604可以包括周期性地、连续地或响应于请求(诸如qoe分析器180的请求)来接收文件2502。例如,qoe分析器180可以确定qoe诊断文件176,其指示在客户端设备102处可能存在降低的qoe。在一些实施例中,为了确认降低的qoe状态,qoe分析器180可以请求与怀疑的降低的qoe状态相关联的设备动态文件2502。在一些实施例中,客户端设备102可以在涉及客户端设备的每次通信之后发送设备动态文件2502。

在2606处,该操作包括将在操作2602中接收到的一个或更多个qoe诊断文件与在操作2604中接收到的一个或更多个设备动态文件相关联。例如,操作2606可以包括将qoe诊断文件与基于通信会话的设备动态(例如,从发起到完成语音呼叫)关联。在一些实施例中,设备诊断和/或qoe诊断跨越与特定客户端设备相关联的所有数据、跨越多个客户端设备、跨越特定时间段(例如,每日、每周、每年周期等)、跨设备类型、跨客户类型等被聚合。

在2608处,操作包括确定设备通信显现下降的体验质量(qoe)。例如,qoe分析器180可以使用设备qoe诊断文件176和设备动态文件2502之间的关联来确定指示下降的qoe的客户端设备的用户的行为或模式。也就是说,操作2606中的关联可以增加将通信分类为呈现下降的qoe的决策的置信度阈值,这可以允许服务提供商和/或网络提供商排除额外通信的故障以便改善性能(例如,以改善通话质量)。在一些实施例中,操作2608可以包括将设备动态与指示下降的/降低的qoe的预定模式的数据库进行比较。在一些实施例中,可以向客户端设备发送消息,要求用户确认下降的qoe,由此增加操作2608中确定的置信度。

在一些实施例中,当qoe诊断文件176指示可以在客户端设备102处呈现下降的qoe时,可以查询客户端设备102以请求对下降的qoe的确认。在一些实施例中,客户端设备102处的用户可以通过响应于消息提示(例如,“您的呼叫质量是否满意?”),通过在触摸屏上选择响应(例如,通过显示“是”或“否”的答案)或通过用语音命令进行响应,来确认下降的qoe。在一些实施例中,如果质量从用户的角度来看是“不好的”,则可以在客户端设备上显示消息以在特定模式中物理地移动设备。以这种方式,客户端设备的物理运动可以被预先确定,以指示好的或不好的用户体验。例如,用户可以在第一模式摇动或移动客户端设备以指示良好的用户体验,或者可以第二模式摇动或移动客户端设备以指示差的用户体验。类似地,与任何传感器相关联的任何模式可以用于在客户端设备和服务提供之间传送一个或更多个消息(例如,显示器可以模式循环)。

图27是根据本公开的实施例的用于确定基于上下文的qoe的示例过程2700的流程图。示例过程2700可以附加于或代替图26的过程2600来执行。

在2702处,操作包括确定用户界面状态,诸如确定客户端设备102的显示器的开/关状态。例如,用户界面状态可以由客户端设备qoe诊断文件176的用户界面状态1804提供,和/或可以由客户端设备的设备动态文件2502提供。在一些实施例中,操作2702可以包括确定显示器已经在预定时间内被打开和/或关闭的时间的数量,和/或确定开/关频率或周期。在一些实施例中,操作2702可以区分显示器从“关”到“开”和从“开”到“关”的转变,而在一些实施例中,可能不需要区分。

在2704处,该操作可以包括确定一个或更多个呼叫质量指示符,诸如确定实时传输分组(rtp)下行链路丢弃、信号水平和/或分组丢失的指示。在一些实施例中,例如,一个或更多个呼叫质量指示符可以被包括在qoe诊断文件176中。

在2706处,该操作包括确定基于上下文的qoe。例如,在操作2702中确定的用户界面状态可以提供关于在客户端设备102处呈现的qoe的“提示(hint)”或指示符。操作2706可以确定显示器循环开启和关闭的指示,以及rtp下行链路在预定时间段内发生掉话可以指示用户正在他们的耳朵和他们的面部正面之间快速地移动设备,以寻找该呼叫仍然连接的视觉指示。在一些实施例中,用户界面状态循环的速度和频率可以指示在客户端设备处呈现较差的语音质量和降低的qoe。在一些实施例中,过程2700可以包括实现补救动作以解决降低的qoe体验,诸如部署额外的网络资源、更新软件等。

图28是根据本公开的实施例的用于确定基于上下文的qoe的另一示例过程2800的流程图。示例过程2800可以被附加于或代替本文讨论的过程来执行。在一些实施例中,来自多个传感器的数据可以被组合以提供基于上下文的qoe,包括确定指示紧急情况的qoe。

在2802处,该操作包括确定光传感器状态。例如,操作2802可以从包括与光传感器2506和/或近距离传感器2510相关联的信息的设备动态文件2502确定光传感器状态。例如,操作2802可以包括确定客户端设备102正在其中操作的环境的环境光。可以确定来自一个或更多个额外传感器的数据以帮助确定客户端设备102正在其中操作的环境(即,gps传感器2508、温度传感器2512、湿度传感器2514等的准确度的指示)。

在2804处,操作包括确定加速度计状态,其包括确定快速减速。在一些实施例中,可以通过设备动态文件2502中提供的gps数据和/或加速度计数据来确定快速减速。在一些实施例中,可以考虑关于车辆事故中存在的减速的快速减速或超出车辆中的紧急制动情况而存在的减速。

在2806处,操作包括确定通话质量指示符,诸如确定接收信号强度指示符(rssi)。在一些实施例中,可以使用其他呼叫质量和/或信号质量特性来确定信号强度和/或质量。在一些实施例中,例如,一个或更多个呼叫质量指示符可以被包括在qoe诊断文件176中。

在2808处,该操作包括确定事故(incident)概率。在一些实施例中,在操作2802和2804中确定的设备动态结合在2806中确定的呼叫质量指示符,并且与在相关联的基站或蜂窝塔处接收到的一个或更多个紧急呼叫相结合,可以指示驶入隧道的车辆已经撞毁的情况。该非限制性示例提供了一种场景,其中可以使用设备动态和客户端设备qoe诊断来确定客户端设备的基于上下文的qoe。在一些实施例中,如本文所述,可以使用设备诊断和/或客户端设备qoe诊断来确定紧急情况。在一些实施例中,过程2800可以包括确定和/或接收额外信息,诸如gps信息、来自导航应用的信息、放置在小区内或网络内的额外紧急呼叫等,以便增加确定事故的置信度。

在2810处,该操作包括基于确定发生事故的操作2808来分配网络资源用于紧急响应。在一些实施例中,分配网络资源可以包括为紧急响应者预留通信频带内的一个或更多个信道和/或时隙。在一些实施例中,与一个或更多个紧急响应者相关联的语音呼叫、分组和/或通信,或与报告紧急事故相关联的信息(例如,旁观者、参与事故的人等)可以被优先,以减少通信延迟和/或保证客户端设备处的高qoe和qos。

图29是根据本公开的实施例的用于确定基于上下文的qoe的另一示例过程2900的流程图。在一些实施例中,基于上下文的qoe可以确定用户有可能对警报、消息、广告等作出响应的情况,如本文所述。例如,在一些实施例中,过程2900可以由客户端设备102执行。

在2902处,操作包括确定呼叫质量指示符,诸如确定接收信号强度指示符(rssi)。例如,可以随着时间跟踪rssi以确定rssi的突然减少,这可以指示客户端设备处的qoe降低。在一些实施例中,可以使用其他呼叫质量和/或信号质量特性来确定信号强度和/或质量。在一些实施例中,例如,一个或更多个呼叫质量指示符可以被包括在qoe诊断文件176中。

在2904处,操作包括确定加速度计状态,诸如确定逐步加速。在一些实施例中,逐步加速可以经由设备动态文件2502中提供的gps数据和/或加速度计数据来确定。在一些实施例中,逐步加速参考例如与电梯相关联的向上或向下加速。

在2906处,操作包括确定基于上下文的体验质量(qoe)。例如,操作2906可以使用在操作2902和加速度计状态2904中确定的呼叫质量指示符来确定客户端设备102已经进入电梯,并且与客户端设备相关联的用户可以接收一个或更多个消息、警报和/或广告。

例如,服务提供商可能希望将消息传达给客户端设备,诸如特殊优惠、警报、账单等。然而,如在本公开的上下文中可以明显看出的,例如,当用户正在操作车辆时,警报或消息可能分散客户端设备的用户的注意力。通过确定基于上下文的qoe,过程2900可确定用户能够接收警报、消息和/或广告。在一些实例中,如果客户端设备消耗了比预定阈值更多的数据,则用户可以通过查看广告来增加可用数据量。在一些实施例中,过程2900可以例如部分地基于确定gps信号的准确度的变化来确定客户端设备是在室内还是在室外,以便确定用户何时能够查看消息、警报、特殊优惠和广告。

在2908处,操作可以在客户端设备102上呈现预先高速缓存的广告。在一些实施例中,可以呈现预先高速缓存的广告,而不是从网络流式传输广告,向用户呈现广告的机会可以发生在用户不能拨打电话或使用网络连接的时间(诸如在电梯中时,或者当客户端设备呈现降低的qoe时)。因此,当用户不能使用网络连接时,可以向用户呈现预先高速缓存的广告。以这种方式,除了改善网络的功能之外,基于上下文的qoe呈现业务优化。

结论

尽管已经用特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求中限定的主题不一定限于所描述的具体特征或动作。而是,具体特征和动作被公开为实现权利要求的示例性形式。

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