动态移动应用服务质量监控和报告的制作方法

文档序号:7914697阅读:198来源:国知局
专利名称:动态移动应用服务质量监控和报告的制作方法
技术领域
本公开大体上涉及移动技术,更具体地,涉及动态移动应用服务质量监控和报告方法和系统。
背景技术
除非这里另有所指,该部分描述的方法并非本申请权利要求的现有技术,并不由于包括在该部分中而被承认为现有技术。
在计算机连网领域中,存在分配有限的网络资源量以服务尽可能多的请求这种网络资源的网络应用的各种方式。例如,网络应用可以请求特定的网络吞吐量,并保证与通信会话相关联的任何可能时延、抖动、分组丢失或误比特概率在特定等级之下。通常,为使网络应用正确地运行,需要满足至少一些请求。换言之,如果所提供的服务质量差,如具有高等级的抖动或误比特,则即使高比特率可用于网络应用(例如,视频流应用),网络应用仍可能无法正确地进行操作。为了确保这种网络应用的高等级性能和服务质量,仅检查相关通信会话的有限方面可能不足以检测或解决影响性能和服务质量的问题。

发明内容
本公开的一个实施例大体上可以涉及一种用于确定运行在与移动网络耦合的移动设备上的移动应用的服务质量的方法。一个示例方法可以包括在应用层层级上监控经由移动网络通信的移动应用的网络使用模式,通过经由移动网络发送或接收测试数据来仿真移动应用的网络使用模式,以及通过分析发送或接收的测试数据来确定移动应用的服务质量。本公开的另一实施例大体上可以涉及一种用于确定运行在与移动网络耦合的移动设备上的移动应用的服务质量的方法。一个示例方法可以包括从移动设备接收第一请求,以仿真使用网络传输机制从移动网络接收应用数据的移动应用;使用网络传输机制向移动设备发送第一测试数据集合;以及基于第一测试数据集合的发送,从移动设备接收移动应用的服务质量。本公开的另一实施例大体上可以涉及一种被配置为确定运行在移动设备上的移动应用的服务质量的系统。一个示例系统可以包括与移动网络连接的监控系统,以及在移动设备上运行的监控应用。一个示例监控应用可以被配置为监控经由移动网络通信的移动应用的网络使用模式,其中所述网络使用模式指示移动应用正向移动网络发送应用数据、还是正从移动网络接收应用数据,在接收应用数据的过程中,监控应用通过从监控系统接收第一测试数据集合来仿真移动应用,以及监控应用通过分析接收到的第一测试数据集合来确定移动应用的服务质量。以上综述仅是示意性的,并不意在以任何方式进行限定。除了以上所示出的方面、实施例和特征,其它方面、实施例和特征将通过参照附图和以下的具体实施方式
而变得显而易见。


本公开的上述和其它特征将通过以下的描述和所附权利要求而变得更加显而易见。这些附图仅描述了根据本公开的多个实施例,因而并不意在限定其范围。将通过使用附图,以其它特性和细节对本公开进行描述。图I是示出了操作环境的框图,在该操作环境中,移动监控应用和应用经历监控系统可以被实现为确定移动应用的服务质量;图2A示出了可以由移动监控应用和应用经历监控系统使用的网络通信协议栈;图2B示出了用于确定移动应用的服务质量的流程图;以及图3是示出了用于通过移动监控应用来确定移动应用服务质量的过程的流程图; 以及图4是示出了用于通过应用经历监控系统来接收移动应用服务质量的过程的流程图;全部根据本公开的至少一些实施例进行设置。

发明内容
根据本公开的一个实施例,一种用于确定运行在与移动网络耦合的移动设备上的移动应用的服务质量的方法包括在应用层层级上监控经由移动网络通信的移动应用的网络使用模式,通过经由移动网络发送或接收测试数据来仿真移动应用的网络使用模式,以及通过分析发送或接收的测试数据来确定移动应用的服务质量。根据本公开的另一实施例,一种用于确定运行在与移动网络耦合的移动设备上的移动应用的服务质量的方法包括接收经由移动网络通信的移动应用的网络使用模式,其中所述网络使用模式指示移动应用正向移动网络发送应用数据、还是正从移动网络接收应用数据;一旦确定移动应用正从移动网络接收应用数据,则通过向移动设备发送第一测试数据集合来仿真移动应用的网络使用模式;从移动设备接收与第一测试数据集合相对应的第二测试数据集合;以及通过分析第一测试数据集合和第二测试数据集合来确定移动应用的服务质量。根据本公开的另一实施例,一种被配置为确定运行在移动设备上的移动应用的服务质量的系统包括与移动网络连接的监控系统,以及在移动设备上运行的监控应用,用于监控经由移动网络通信的移动应用的网络使用模式,其中所述网络使用模式指示移动应用正向移动网络发送应用数据、还是正从移动网络接收应用数据,在接收应用数据的过程中,监控应用通过从监控系统接收第一测试数据集合来仿真移动应用,以及监控应用通过分析接收到的第一测试数据集合来确定移动应用的服务质量。
具体实施例方式在以下的具体实施方式
中,参照构成其一部分的附图。在附图中,典型地,类似的符号标识类似的组件,除非上下文另有所指。在具体实施方式
、附图和权利要求中描述的示意性实施例并不意在限定。在不偏离这里所呈现的主旨的精神和范围的情况下,可以采用其它实施例,并且可以做出其它改变。将易于理解,可以以各种不同配置来设置、替换、组合并设计这里一般性描述且在附图中示出的本公开的各方面,所有这些均是能够明确预想的,且构成本公开的一部分。本公开尤其涉及与动态移动应用服务质量监控和报告相关的方法、设备、计算机程序和系统。在整个公开中,术语“服务质量”或“QoS”可以广义地指在带宽、信噪比、误比特率、等待时间、跨越不同网络部分(接入、地下(metix))、以及核心部分)的分组丢失、以及其它性能测量方面的网络通信的质量的确定。换言之,运行在计算设备上的应用的服务质量可以对应于与这种应用相关联的网络通信的质量。例如,当存在用于发送通信数据的足够的带宽、高信噪比、低误比特率、低等待时间和/或用于发送或接收该数据的低分组丢失时,移动应用可以具有高通信质量。许多实时流多媒体应用(如IP上语音(VoIP)、在线视频或在线游戏等)会需要可以保证特定等级的通信质量的网络,以便应用提供期望的用户经历。此外,通过从网络应用的角度来确定特定网络通信的服务质量,可以快速识别或预测许多实际或潜在的网络问题,一旦确定了问 题,则可以得到网络应用的更好服务质量。根据本公开的至少一些实施例,呈现了用于确定运行在与移动网络耦合的移动设备上的移动应用的服务质量的过程。该过程可以实现为在应用层层级上,监控经由移动网络通信的移动应用的网络使用模式。该过程可以通过经由移动网络发送或接收测试数据,来仿真移动应用的网络使用模式。该过程可以通过分析发送或接收的测试数据来确定移动应用的服务质量。根据本公开的至少一些实施例,诸如移动设备之类的网络通信设备包含需要经由移动网络的网络通信的各种移动应用。为了精确地确定移动应用在网络通信期间所经历的服务质量,可以安装移动监控应用(MMA)且在相同的移动设备上运行,并经由相同的移动网络与远程应用经历监控系统(AEMS)通信。MMA可以监控这些移动应用的网络使用模式,并通过使用相同或类似的网络使用模式与AEMS通信来仿真这些移动应用。针对每个移动应用,由于MMA正在使用与移动应用相同的连网传输机制并通过与移动应用相同的移动网络来执行类似类型的数据传输,因而基于MMA-AEMS通信确定的服务质量可以与移动应用同时正在经历的服务质量相关并反映该服务质量。因此,可以进一步评估实时产生并与运行的移动应用同时的服务质量,以识别移动应用正遇到的实际或潜在问题,而不依赖于移动应用提供这种信息。图I是示出了操作环境的框图,在该操作环境中,移动监控应用和应用经历监控系统可以被实现为根据本公开的至少一些实施例来确定移动应用的服务质量。在图I中,移动设备110可以被配置为经由移动网络120与移动应用服务器150通信。可以通过电信(Telco)服务提供商130来提供和管理移动网络120。移动设备110中可以包含多个硬件或软件组件,如移动操作系统111、一个或多个移动应用112、以及移动监控应用(MMA)113。在一个实施方式中,MMA 113可以被配置为监控移动应用112,并与应用经历监控系统AEMS 140交互。AEMS 140中可以包含服务质量分析模块141、一个或多个计算处理器142和存储器143。MMA113和AEMS 140可以被配置为通过在MMA 113与AEMS 140之间经由相同的移动网络120、同时且使用相同的网络传输机制来交换测试数据,仿真移动应用112与移动应用服务器150之间的数据通信。可以分析测试数据,以导出移动应用112与移动应用服务器150之间的网络通信的服务质量。服务质量信息还可以用于报告或检测潜在的网络通信问题,以提高移动应用112的性能。
在一个实施方式中,移动设备110可以被配置为能够与网络环境中的其它应用和/或设备通信的计算设备。移动设备110可以是移动、手持和/或便携式计算设备,例如但不限于个人数字助理(PDA)、手机和智能电话。移动设备110可以支持各种移动电信标准,例如但不限于全球移动通信(GSM)、码分多址(CDMA)、以及时分多址(TDMA)。移动设备110还可以是平板计算机、膝上型计算机、以及 被配置为支持有线或无线通信的上网本。例如,移动设备110可以是配备有3G通信适配器的膝上型计算机,利用了 Telco服务提供商130提供的3G移动电信服务。在一个实施方式中,移动设备110可以配备有移动操作系统111,移动操作系统111也被称为移动OS。移动OS 111可以负责向移动设备110提供功能,并支持移动设备110的通信标准。移动OS 111的示例可以包括但不限于Symbian 、R頂Blackberry 、Apple iPhone 、Windows Mobile 和 Google Android 。移动 OS ill 还给一个或多个移动应用112和移动监控应用113提供公共程序平台,而与移动设备110所基于的多个硬件组件无关。在一个实施方式中,移动设备110还可以包含一个或多个移动应用112。移动应用112可以利用移动设备110的软件和硬件能力来执行连网功能(例如但不限于,电话、电子邮件、文本消息收发、以及网络浏览)和/或非网络功能(例如但不限于,音频/视频回放、多媒体捕获和编辑、以及游戏)。在操作期间,移动应用112可以经由移动网络120与移动应用服务器150通信。在一个实施方式中,网络120可以是有线网络,例如但不限于,局域网(LAN)、广域网(WAN)、城域网(MAN)、全球区域网络(如因特网)、光纤通道架构或这种互连的任意组合。网络120还可以是无线网络,例如但不限于,移动设备网络(GSM、CDMA、TDMA等)、无线局域网(WLAN)、以及无线城域网(WMAN)。在与网络120连接的设备中,可以支持网络通信,如HTTP请求/响应、无线应用协议(WAP)消息、移动终止(MT)短消息服务(SMS)消息、移动起始(MO) SMS消息、或任何类型的网络消息。在一个实施方式中,Telco提供商130可以在地理区域中提供电信服务,如电话和数据通信,并同时用作普通载体、无线载体、ISP和其它网络运营商。在一个实施方式中,移动设备110、移动应用服务器150和AEMS 140可以全部订阅由Telco服务提供商130提供的服务,使它们能够经由移动网络120彼此通信。在一个实施方式中,移动应用服务商150可以直接与移动网络120连接,或者经由Telco服务提供商130,间接通过移动网络120进行访问。移动应用服务器150可以向特定类型的移动应用112提供电话、电子邮件、或文本消息收发服务。它还可以充当流服务器,向一个或多个移动设备110提供实时音频/视频流服务。移动应用112的服务质量可以取决于移动网络120的吞吐量、移动应用服务器150的性能、以及被配置为操作移动应用112的移动设备110的性能。尽管在一些情况下,Telco服务提供商130可以确定移动网络120的服务质量,但是无法区分或评估由多个移动设备110执行的特定移动应用112的服务质量、或由单个移动设备110执行的多个移动应用112的服务质量。在一个实施方式中,可以通过MMA 113确定经由移动网络120与移动应用服务器150通信的移动应用112的服务质量。MMA 113可以被配置为执行例如以下功能确定特定移动设备110支持的移动应用112的类型、检测移动应用112的初始化和执行、监控移动应用112的网络使用模式、和/或仿真移动应用112以确定服务质量指示符。以下将进一步描述MMA 113的细节。在一个实施方式中,AEMS 140可以被配置为与移动网络120连接的服务器或路由器,并且可以同时与运行在一个或多个移动设备110上的一个或多个MMA应用113通信。AEMS 140中的QoS模块141可以从MMA 113接收请求,发送测试数据至MMA 113或从MMA113接收测试数据,和/或确定运行在支持MMA 113的相同移动设备110上的移动应用112的实时服务质量。可以出于状态报告、特征提高和/或调试目的来报告服务质量结果。以下将进一步描述AEMS 140和QoS模块141的细节。在一个实施方式中,AEMS 140中的计算处理器142可以被配置为执行可编程指令来支持AEMS 140以及QoS模块141的一般操作,来处理QoS监控和报告。计算处理器142可以利用存储器143来存储发送到移动网络120或从移动网络120接收的数据。诸如网络通信适配器(例如,以太网适配器、无线适配器、光纤通道适配器或GMS无线模块)之类的 其它组件也可以在移动设备110和AEMS 140中实现。在一个实施方式中,AEMS 140可以被配置为详细分析移动网络120与访问移动网络120的一个或多个移动应用112有关的性能。可选地,AEMS 140还可以与移动应用服务器150集成,以对移动应用服务器150所支持的一个或多个移动应用112的性能进行评估。图2A示出了根据本公开的至少一些实施例的可以由移动监控应用和应用经历监控系统使用的网络通信协议栈。在图2A中,移动设备协议栈210可以由移动应用或MMA用于网络通信;网络路由协议栈220可以由网络路由系统使用;以及应用服务器协议栈230可以由网络应用服务器或AEMS使用。三个协议栈中的每一层可以服务于特定网络通信目的。按照由上至下的顺序显示栈中的不同层,其中较低层较为靠近于网络通信的物理实现,较高层较为靠近于应用特征。为了说明,移动设备的移动OS上操作的移动应用可以向移动网络发送网络通信消息,并从移动网络接收网络通信消息。移动OS可以基于移动设备协议栈210来处理网络通信消息。例如,在发送网络消息215之前,从移动应用发出的消息可以通过移动设备协议栈210中的每一层编码为网络消息215。换言之,所产生的网络消息215可以包括与每一层相关联的特定信息。一旦这样构造了,在到达目的地之前,网络消息215可以作为一个或多个数据分组路由经过移动网络上的各种网络接收机、转发器、网桥和路由器。通常,诸如由图I的Telco服务提供商130实现的网络路由应用可以主要负责将数据分组从网络源送往网络目的地。在一个实施方式中,在路由数据分组的过程中,网络路由应用可以依赖于网络路由协议栈220的物理层和接入层。一旦网络消息225到达了服务器,服务器的操作系统可以对网络消息225进行解码,并基于应用服务器协议栈230来提取从移动应用发起的消息。在一个实施方式中,应用服务器协议栈230的服务器应用层和移动设备协议栈210的移动应用层可以被配置为可兼容,从而移动应用和服务器应用可以正确地通信。如图2A所示,由于Telco服务提供商会有对各种协议栈的有限理解(例如,限于物理层和接入层层级),Telco服务提供商可能不具有评估针对特定移动应用的、与应用层层级处的网络通信相关联的服务质量的所需信息。
图2B示出了根据本公开的至少一些实施例的用于确定移动应用的服务质量的场景。在图2B中,MMA 252以及移动应用251可以在移动设备250上操作,AEMS 262可以在与移动网络耦合的远程服务器260中实现。AEMS 262可以被配置为与MMA 252进行通信。MMA252可以 设计为检测和监控利用移动网络的移动应用251。移动应用251可以与移动应用服务器提供商261通信。移动应用251和移动应用服务器提供商261可以或可以不知道MMA 252和/或AEMS 262的存在。在一个实施方式中,一旦被调用,MMA 252可以充当后台过程,并连续检测和监控在移动设备2520上操作的一个或多个移动应用。MMA 252可以在网络通信会话期间关于移动应用251的存在和类型、移动应用251的初始化和执行、和/或与移动应用251相关联的网络使用模式(但不限于此)来监控移动应用251。例如,MMA 252可以通过应用名称或多用途因特网邮件扩展(MME)类型来检测运行或未运行的已安装的移动应用。MME信息可以对应于文件类型,例如但不限于,图像、声音、视频和计算机程序。MMA 252还可以向移动设备250的移动OS询问运行的移动应用的名称。MMA 252可以基于与移动应用251相关联的网络使用模式(例如,指示移动应用正在下载大量流数据的网络使用模式)确定移动应用251的类型(例如,视频流应用)。在一个实施方式中,可以通过MMA 252和/或AEMS 262监控的移动应用251的类型包括但不限于,VoIP (例如,Skype :)、音频/视频流、MMS、GPS导航、视频会议、视频上载、电子邮件接收、电子邮件附件发送和/或接收、音乐下载/上载、在线游戏和网络浏览。针对这些类型的移动应用,网络通信的服务质量会极大地影响它们的功能和用户经历。因此,通过监控这些移动应用并检测它们的网络使用模式,MMA 252可以利用类似的网络使用模式来仿真由这些移动应用经历的实时服务质量。此外,MMA 252可以同时针对所知或所支持的全部运行的移动应用来执行监控和仿真功能,并提供单独的和/或全面的服务质量分析。在一个实施方式中,MMA 252检测到的与移动应用251相关的网络使用模式可以指示移动应用251正在向远程移动应用服务提供商261发送应用数据241。为了仿真这种网络使用模式,MMA 252可以与由移动应用251发送应用数据241同时地向AEMS 262发送预定测试数据246集合,该集合可以类似于或可以不类似于应用251发送的应用数据241的类型。在接收到预定测试数据246集合时,AEMS 262可以分析接收到的数据,以测量网络吞吐量和传输质量(如信噪比、误比特率、等待时间和分组丢失),并确定反映了发送应用数据241的过程中移动应用251的服务质量的服务质量。在一个实施方式中,MMA 252可以检测网络使用模式,该网络使用模式显示移动应用251正在从远程移动应用服务提供商261接收/下载应用数据242。为了仿真这种网络使用模式,MMA 252可以首先向AEMS 262发送网络消息,请求AEMS 262发送回预定测试数据集合。网络消息可以指示MMA 252正在监控的移动应用251的名称或类型、MMA 252检测的网络使用模式的类型、以及用于数据交换的网络传输机制。网络传输机制可以指示移动应用251用于其网络通信的硬件和/或软件的类型。基于该信息,AEMS 262可以选择适于仿真应用数据下载242的预定测试数据集合,并使用与移动应用服务提供商261发送应用数据242相同的网络传输机制,通过相同的移动网络来发送预定测试数据集合。在一个实施方式中,在从AEMS 262接收预定监测数据集合时,MMA 252可以评估接收到的测试数据,以检测在以上移动网络通信期间会引入的任何误差。如果MMA 252知道了接收到的测试数据的内容,则能够分析接收到的测试数据,以确定误比特率、分组丢失或信噪比。例如,如果经由242发送的应用数据是视频流,则通过247发送的测试数据可以是可识别测试视频流,MMA 252可以处理测试视频流以检测可能会由移动应用251经历的任何抖动或误差。基于检测到的测试数据和误差,可以根据这些网络性能测量结果来导出服务质量值。然后可以出于其它目的,将服务质量值发送到AEMS 262。在一个实施方式中,可以将多种类型的预定测试数据发送到MMA 252,以及在确定服务质量指示符的过程中,可以将不同的监控算法用于编译测试数据。由于不同的移动应用可以具有不同的解码算法或用户需求,服务质量指示符的计算对于这些移动应用来说可以是不同的。此外,MMA 252可以通过包括非常像移动应用的解码或处理算法来仿真移动应用251。这种方式在监控和仿真期间会需要来自移动设备250的更多处理能力。
在一个实施方式中,为了服务质量分析的目的,MMA 252可以建立一个或多个监控队列253,以存储所发送的测试数据。一个监控队列可以被配置为监控特定移动应用或特定移动设备。在服务质量评估期间,可以总地分析不同移动应用的监控队列253。例如,当特定移动应用正在经历低服务质量网络服务时,MMA 252可以检查其他移动应用的监控队列253,以确定这种问题是特定应用的还是特定移动设备的。可选地,AEMS 262可以针对数据传输和服务质量评估,在其环境中保持监控队列253。当与运行相应的移动设备250的一个或多个MMA 252通信时,AEMS 262可以针对每个MMA 252发起监控队列,从而允许每个MMA252进行独立的移动应用仿真。在一个实施方式中,针对所监控的特定移动应用,MMA 252和/或AEMS 262可以实现专门适于移动应用的效用函数,以进行快速服务质量计算和确定。效用函数可以实现为接受网络性能测量结果作为输入参数,并产生服务质量值作为服务质量输出。例如,效用函数可以接受输入参数,例如但不限于,带宽、分组丢失、时延、抖动和误比特率。效用函数的输出可以是显示了移动应用在由以上输入参数证明的网络约束之下执行地有多好的服务质量指示符。在一个实施方式中,当移动应用251停止在移动设备250上使用时,MMA 252可以相应地停止监控和仿真操作。此外,可以将网络消息发送到AEMS 262,以停止在AEMS 262侧对服务质量的监控和分析。可选地,MMA 252可以经常更新,以支持新安装在移动设备上的移动应用。类似地,以上方式还可以由AEMS 262用于在与移动应用251的通信中仿真移动应用服务提供商261。AEMS 262所确定的服务质量也可以是移动应用服务提供商261所经历的服务质量的准确的指示符。因此,MMA 252和AEMS 262可以在应用层层级仿真移动应用251的网络使用模式,并允许在无需与移动应用251及其相应的移动应用服务提供商261进行直接交互的情况下确定移动应用251的实时服务质量。此外,MMA 252可以利用与移动应用251相同的网络传输机制。例如,如果移动应用251经由WiFi适配器访问移动网络,则MMA 252可以在仿真期间访问相同的WiFi。这种方式是有利的,因为可以以与移动应用251发送实时应用数据非常类似的方式同时地发送测试数据。这样,所计算的服务质量值会真实地反映移动应用251所经历的移动网络通信质量。图3是示出了根据本公开的至少一些实施例的、用于通过移动监控应用来确定移动应用服务质量的示例过程301的流程图。过程301可以由可以包括硬件(例如,专用电路、专用硬件逻辑、可编程硬件逻辑等)、软件(如可以在处理设备上执行的指令)、固件或其组合的处理逻辑来执行。在一个实施例中,过程301的机器可执行指令可以存储在存储器中、由处理器执行和/或在图I的移动设备110中实现。过程301可以开始于块310,“识别安装在移动设备上的移动应用”。块320可以在块310之后,“检测在移动设备上激活的移动应用”。块330可以在块320之后,“在应用层层级上监控经由移动网络通信的移动应用的网络使用模式”。块340可以在块330之后,“通过经由移动网络发送或接收测试数据来仿真移动应用的网络使用模式”。块350可以在块240之后,“分析发送和接收的测试数据”。块360可以在块350之后,“确定移动应用的服务质量”。尽管以顺序方式示出了各个块,但是这些块也可以并行执行,和/或以与这里描述不同的顺序执行。此外,可以基于所期望的实施方式将各块组合为较少的块、分为附加块、和/或去掉一些块。 在块310,MMA可以运行在移动设备上,以监控安装在同一移动设备上的移动应用。MMA首先基于应用名称、文件类型、或其网络使用模式等来识别安装或运行在移动设备上的移动应用。此外,MMA可以不断地监控移动设备的移动OS,以检测是否正在安装任何新的移动应用,或者是否升级或删除了现有的移动应用。在块320,可以在移动设备上激活移动应用。可以由用户手动或由移动设备的移动OS自动执行该激活。在一个实施方式中,MMA可以通过不断地从移动设备的操作系统拉并检索执行过程的列表,来检测激活的移动应用。MMA还可以针对激活指示不断地拉特定移动应用的日志文件。此外,移动应用可以实现有触发器,并向MMA发送消息以向MMA通知其执行状态。一旦MMA检测到激活了移动应用,过程301进行到块330。在块330,MMA可以在应用层层级上监控经由移动网络通信的移动应用的网络使用模式。网络使用模式显示移动应用正在经由移动网络发送数据还是接收数据。网络使用模式还可以指示在数据通信中涉及的应用数据的类型和量。在一个实施方式中,MMA可以监听移动应用用于网络通信的端口,并采样或拷贝经过这些端口的应用数据以进行评估。可选地,MMA可以从移动设备的移动OS请求这种信息。在块340,基于在块330监控并检测的网络使用模式,MMA可以通过使用与移动应用类似的网络使用模式、通过与移动应用相同的网络传输机制,经由移动网络发送或接收测试数据来仿真移动应用。例如,如果MMA确定了移动应用正在执行特定类型的应用数据的下载,则MMA可以选择与应用数据的类型相类似的预定测试数据集合,并针对测试数据执行类似的网络操作(在该情况下,使用相同或类似的网络传输机制,请求来自AEMS的预定测试数据,并从AEMS执行测试数据的下载)。可选地,如果MMA检测到移动应用正在经由移动网络上载应用数据,则MMA可以通过与AEMS通信并经由移动网络上载类似类型的测试数据来仿真网络使用模式。在一个实施方式中,除了移动应用所请求的资源之外,MMA发送或接收的测试数据会需要其它网络和移动设备资源,因而会影响移动应用所经历的服务质量。为了限制对移动应用的影响程度,MMA和AEMS可以针对数据通信使用测试数据的子采样,而非完整的测试数据集合。例如,针对MEEG解码,移动应用可以请求大量数据流,以显示高质量视频。在这种情况下,作为在仿真期间发送等量测试数据的替代,MMA可以请求会占用可用带宽一部分(例如,1%)的测试数据的子采样,并基于测试数据的子采样的发送进行服务质量确定。在块350,MMA和/或AEMS可以分析发送的测试数据。MMA可以针对从AEMS发送并由MMA接收的测试数据执行数据分析。类似地,AEMS可以分析从MMA发送并由AEMS接收的测试数据。在一个实施例中,AEMS可以分析最初从AEMS发送到MMA、接下来从MMA发送回AEMS的数据。通过执行数据分析,可以确定网络性能测量结果,如跨越移动网络的不同网络部分(例如,接入部分、地下部分和核心部分)的数据传输比特率、信噪比、误比特率、等待时间和分组丢失。由于从应用层层级收集并分析这些网络性能测量结果,它们可以用于提供移动应用角度的完整而非一段或一部分网络通信路径的服务质量的良好概况。在一个实施例中,如果对用于移动应用仿真的测试数据进行采样,以减小带宽使用,则MMA或AEMS可以通过乘法“恢复”网络性能测量结果。由于基于采样率(例如,1%)减少了要发送的测试数据,在测试数据子采样集合中检测到的值的实际数量可以基于相同的比率成比例减少。因而,通过将从采样测试数据收集的一些或全部网络性能测量结果与 同采样率成反比的比率相乘,“恢复”值可以用于估计可以从完整测试数据集合中收集的性能测量结果。例如,针对1%的采样率,可以通过将从采样数据集合检测到的缺陷数量乘以反比率(I/采样率,在这里是1/1%= 100),来估计完整测试数据集合中的误差数量。在该示例中,如果在利用采样测试数据评估期间在每分钟的突变中测量到误差,则针对在测试数据的子采样集合中检测到的每分钟的每个突变(glitch),移动应用可以在完整测试数据集合中经历每分钟1*100 = 100个突变。在一个实施方式中,可以从AEMS向MMA发送测试数据的特定模式。由于网络传输或网络问题,由MMA接收到的测试数据的特定模式可以不同于原始测试数据的模式。然后,接收到的测试数据可以在所保证的传递信道上(使用利用重传的TCP)发送回AEMS,以确保按照期望顺序发送数据。之后发送的测试数据(保存了由MMA原始接收的测试数据的模式)可以用于与原始测试数据的模式进行比较。此外,所接收的模式可以与潜在的误差模式相关,以检测任何现有的或潜在的网络问题,因为不同的网络问题会产生不同的误差模式。在块360,可以由MMA或AEMS基于在块340发送并在块350分析的测试数据来确定服务质量指示符。即使基于MMA与AEMS之间的网络通信而产生,服务质量也可以用于反映移动应用经历的服务质量。在一个实施例中,可以使用与移动应用相关联的效用函数来计算服务质量。在块350收集的网络性能测量结果可以用作效用函数的输入参数,从效用函数输出的结果被认为是特定移动应用的服务质量,并且可以传递到AEMS用于进一步的处理。在一个实施例中,从一个或多个MMA收集的服务质量结果可以发送到AEMS并在数据库中存储。还可以对所收集的当前和历史服务质量数据进行分析,以产生网络性能报告。此外,基于服务质量数据,在有精确的历史服务质量报告的支持的情况下,可以通过Telco服务提供商导出竞价模型,用于访问移动网络。图4是示出了根据本公开的至少一些实施例的、用于通过应用经历监控系统接收移动应用服务质量的示例过程401的流程图。过程401可以由可以包括硬件(例如,专用电路、专用硬件逻辑、可编程硬件逻辑等)、软件(如可以在处理设备上执行的指令)、固件或其组合的处理逻辑来执行。在一个实施例中,过程401的机器可执行指令可以存储在图I的存储器143中、由图I的处理器142执行和/或在图I的AEMS 140中实现。过程401可以开始于块410,“从移动设备接收请求,用于仿真运行在与移动网络耦合的移动设备上的移动应用”。确定块420可以在块410之后,“基于该请求,确定移动应用正向移动网络发送应用数据,还是正从移动网络接收应用数据”。基于块420的确定,块430可以在块420之后,“向移动设备发送第一测试数据集合”。块450可以在块430之后,“基于第一测试数据集合的发送,从移动设备接收移动应用的第一服务质量”。类似地,基于块420的确定,块440可以在块420之后,“从移动设备接收第二测试数据集合”。块460可以在块440之后,“基于第二测试数据集合的接收,从移动设备接收移动应用的第二服务质量”。块470可以在块450或460之后,“从多个移动设备接收在每个移动设备上运行的移动应用的多个服务质量”。块480可以在块470之后,“基于多个服务质量,确定在多个移动设备上运行的移动应用的总服务质量”。尽管以顺序方式示出了各个块,但是这些块也可以并行执行,和/或以与这里描述不同的顺序执行。此外,可以基于所期望的实施方式将各块组合为较少的块、分为附加块、和/或去掉一些块。在块410,AEMS可以从运行在与移动网络耦合的移动设备上的MMA接收请求。该请求可以触发MMA和AEMS,以开始对在实际网络负载条件下运行的移动应用进行仿真,从而确定移动应用可能正在经历的服务质量。在块420,基于在块410接收的请求,AEMS可以确定移动应用正经由移动网络发送应用数据、还是接收应用数据。AEMS和/或MMS还可以确定在数据交换操作期间由移动应用所使用的网络传输机制的类型。如果确定了移动应用正在接收应用数据,则过程401可以进行到块430,其中AEMS和MMA可以通过从AEMS向移动设备发送第一测试数据集合,来仿真移动应用的数据接收操作。可以在移动应用接收其应用数据的同时、采用移动应用所使用的相同的网络传输机制,执行测试数据的发送。在一个实施方式中,在块430,第一测试数据集合可以是适于特定类型的移动应用的预定测试数据集合。可选地,减少数量的测试数据或数据的子采样集合可以用于仿真移动应用的接收过程。一旦AEMS完成了第一测试数据集合的传送,MMA可以从所接收的第一测试数据集合中收集特定性能测量结果。如果MMA提前知道测试数据,则可以执行附加高级服务质量分析,以确定测量结果,如视频流上每分钟的突发数量。此外,如果AEMS发送测试数据的子采样集合,则MMA可以将从测试数据的子采样集合收集的网络性能测量结果与采样率倒数相乘。乘法结果还可以用于确定服务质量值。换言之,可以基于上述从AEMS接收第一测试数据集合,通过MMA产生服务质量值。在块450,MMA可以向AEMS发送所产生的服务质量值。因而,从它的角度,AEMS可以从移动设备接收移动应用的第一服务质量,这是基于以上的向移动设备发送第一测试数据集合。这种服务质量值可以用于反映在经由移动网络接收应用数据期间经历的移动应用的服务质量。在一个实施方式中,如果在块420的确定显移动应用正向移动网络发送应用数据,则过程401可以进行到块440,其中MMA可以通过从移动设备向AEMS发送第二测试数据集合,利用与移动应用发送应用数据相同的网络传输机制,来仿真移动应用。因此在块440,AEMS可以从移动设备接收第二测试数据集合。基于第二测试数据集合的发送,MMA可以确定服务质量值,并向AEMS发送这种服务质量值。因而在块460,AEMS可以基于以上对第二测试数据集合的接收,从移动设备接收移动应用的第二服务质量。
在一个实施方式中,在块470,AEMS可以从不同的移动设备接收特定移动应用的多个服务质量,每个服务质量由监控并仿真运行在相应的移动设备上的特定移动应用的MMA所产生。因此,对于特定移动应用,可以有意义地分析从不同移动设备收集的多个服务质量值。在块480,基于多个服务质量值,可以针对特定移动应用确定总服务质量值,该特定移动应用可以在这些移动设备上同步运行或在固定时段内执行。例如,如果移动应用正在一些移动设备上接收低服务质量值,同时在其它移动设备上具有正常或高服务质量,则潜在的网络问题会是移动设备或移动网络相关的。相比之下,如果全部移动设备正在经历关于该特定移动应用的低服务质量,则该问题会是移动应用服务器或AEMS相关的。因此,通过评估总服务质量值,AEMS和MMA能够识别否则无法容易地通过评估不在应用层层级上的独立服务质量值或服务质量评估而检测到的网络问题。在系统方案的硬件和软件实现方式之间存在一些小差别;硬件或软件的使用一般(但并非总是,因为在特定情况下硬件和软件之间的选择可能变得很重要)是一种体现成本与效率之间权衡的设计选择。可以各种手段(例如,硬件、软件和/或固件)来实施这里所描述的工艺和/或系统和/或其他技术,并且优选的工艺将随着所述工艺和/或系统和/或其他技术所应用的环境而改变。例如,如果实现方确定速度和准确性是最重要的,则实现方可以选择主要为硬件和/或固件配置的手段;如果灵活性是最重要的,则实现方可以选择主要是软件的实施方式;或者,同样也是可选地,实现方可以选择硬件、软件和/或固件的特定组合。以上的详细描述通过使用方框图、流程图和/或示例,已经阐述了设备和/或工艺的众多实施例。在这种方框图、流程图和/或示例包含一个或多个功能和/或操作的情况下,本领域技术人员应理解,这种方框图、流程图或示例中的每一功能和/或操作可以通过各种硬件、软件、固件或实质上它们的任意组合来单独和/或共同实现。在一个实施例中,本公开所述主题的若干部分可以通过专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、ARM处理器、CPU、或其他集成格式来实现。然而,本领域技术人员应认识到,这里所公开的实施例的一些方面在整体上或部分地可以等同地实现在集成电路中,实现为在一台或多台计算机上运行的一个或多个计算机程序(例如,实现为在一台或多台计算机系统上运行的一个或多个程序),实现为在一个或多个处理器上运行的一个或多个程序(例如,实现为在一个或多个微处理器上运行的一个或多个程序),实现为固件,或者实质上实现为上述方式的任意组合,并且本领域技术人员根据本公开,将具备设计电路和/或写入软件和/或固件代码的能力。此外,本领域技术人员将认识到,本公开所述主题的机制能够作为多种形式的程序产品进行分发,并且无论实际用来执行分发的信号承载介质的具体类型如何,本公开所述主题的示例性实施例均适用。信号承载介质的示例包括但不限于可记录型介质,如软盘、硬盘驱动器、紧致盘(CD)、数字视频盘(DVD)、数字磁带、计算机存储器、闪存等;以及传输型介质,如数字和/或模拟通信介质(例如,光纤光缆、波导、有线通信链路、无线通信链路等)。 本领域技术人员应认识到,上文详细描述了设备和/或工艺,此后使用工程实践来将所描述的设备和/或工艺集成到数据处理系统中是本领域的常用手段。也即,这里所述的设备和/或工艺的至少一部分可以通过合理数量的试验而被集成到数据处理系统中。本领域技术人员将认识到,典型的数据处理系统一般包括以下各项中的一项或多项系统单元外壳;视频显示设备;存储器,如易失性和非易失性存储器;处理器,如微处理器和数字信号处理器;计算实体,如操作系统、驱动程序、图形用户接口、以及应用程序;一个或多个交互设备,如触摸板或屏幕;和/或控制系统,包括反馈环和控制电动机(例如,用于感测位置和/或速度的反馈;用于移动和/或调整分量和/或数量的控制电路机)。典型的数据处理系统可以利用任意合适的商用部件(如数据计算/通信和/或网络计算/通信系统中常用的部件)予以实现。本公开所述的主题有时说明不同部件包含在不同的其他部件内或者不同部件与不同的其他部件相连。应当理解,这样描述的架构只是示例,事实上可以实现许多能够实现相同功能的其他架构。在概念上,有效地“关联”用以实现相同功能的部件的任意设置,从而实现所需功能。因此,这里组合实现具体功能的任意两个部件可以被视为彼此“关联”从而实现所需功能,而无论架构或中间部件如何。同样, 任意两个如此关联的部件也可以看作是彼此“可操作地连接”或“可操作地耦合”以实现所需功能,且能够如此关联的任意两个部件也可以被视为彼此“能可操作地耦合”以实现所需功能。能可操作地耦合的具体示例包括但不限于物理上可连接和/或物理上交互的部件,和/或无线交互和/或可无线交互的部件,和/或逻辑交互和/或可逻辑交互的部件。至于本文中任何关于多数和/或单数术语的使用,本领域技术人员可以从多数形式转换为单数形式,和/或从单数形式转换为多数形式,以适合具体环境和应用。为清楚起见,在此明确声明单数形式/多数形式可互换。本领域技术人员应当理解,一般而言,所使用的术语,特别是所附权利要求中(例如,在所附权利要求的主体部分中)使用的术语,一般地应理解为“开放”术语(例如,术语“包括”应解释为“包括但不限于”,术语“具有”应解释为“至少具有”等)。本领域技术人员还应理解,如果意在所引入的权利要求中标明具体数目,则这种意图将在该权利要求中明确指出,而在没有这种明确标明的情况下,则不存在这种意图。例如,为帮助理解,所附权利要求可能使用了引导短语“至少一个”和“一个或多个”来引入权利要求中的特征。然而,这种短语的使用不应被解释为暗示着由不定冠词“一”或“一个”引入的权利要求特征将包含该特征的任意特定权利要求限制为仅包含一个该特征的发明,即便是该权利要求既包括引导短语“一个或多个”或“至少一个”又包括不定冠词如“一”或“一个”(例如,“一”和/或“一个”应当典型地被解释为意指“至少一个”或“一个或多个”);在使用定冠词来弓I入权利要求中的特征时,同样如此。另外,即使明确指出了所引入权利要求特征的具体数目,本领域技术人员应认识到,这种列举应典型地解释为意指至少是所列数目(例如,不存在其他修饰语的短语“两个特征”典型地意指至少两个该特征,或者两个或更多该特征)。另外,在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”、或“A和B”的可能性。尽管已经在此公开了多个方案和实施例,但是本领域技术人员应当明白其他方案 和实施例。这里所公开的多个方案和实施例是出于说明性的目的,而不是限制性的,本公开的真实范围和精神由所附权利要求表征。
权利要求
1.一种用于确定运行在与移动网络耦合的移动设备上的移动应用的服务质量的方法,包括 在应用层层级上监控经由移动网络通信的移动应用的网络使用模式; 通过经由移动网络发送或接收测试数据来仿真移动应用的网络使用模式;以及 通过分析发送或接收的测试数据来确定移动应用的服务质量。
2.根据权利要求I所述的方法,还包括 识别在移动设备上安装的移动应用;以及 检测在移动设备上激活的移动应用。
3.根据权利要求2所述的方法,其中识别移动应用还包括 基于经由移动网络通信的移动应用的网络使用模式来识别移动应用。
4.根据权利要求I所述的方法,其中监控网络使用模式还包括 检测移动应用正在经由移动网络发送应用数据、还是接收应用数据。
5.根据权利要求4所述的方法,其中仿真网络使用模式还包括 当移动应用正在发送或接收应用数据时,同时经由移动网络发送或接收测试数据。
6.根据权利要求4所述的方法,其中仿真网络使用模式还包括 当确定移动应用正在经由移动网络发送应用数据时,同时经由移动网络发送测试数据;以及 当确定移动应用正在经由移动网络接收应用数据时,同时经由移动网络接收测试数据。
7.根据权利要求I所述的方法,其中仿真网络使用模式还包括 加载预定数据集合作为所述测试数据;以及 使用移动应用的网络传输机制,向远程监控系统发送预定数据集合,或从远程监控系统接收预定数据集合。
8.根据权利要求I所述的方法,其中仿真网络使用模式还包括 通过经由移动网络发送或接收测试数据的采样来仿真网络使用模式,其中通过以采样率减少测试数据,来产生测试数据的采样。
9.根据权利要求8所述的方法,其中确定移动应用的服务质量还包括 将通过测试数据采样的发送或接收而收集的网络性能測量结果与采样率相乗。
10.根据权利要求I所述的方法,其中确定移动应用的服务质量还包括 通过测试数据采样的发送或接收来收集多个网络性能測量结果;以及 基于所述多个网络性能測量结果来确定移动应用的服务质量。
11.根据权利要求I所述的方法,其中确定移动应用的服务质量还包括 评估发送和接收的测试数据的测试数据发送模式;以及 基于所述发送模式来识别出现在移动网络中的网络问题。
12.根据权利要求I所述的方法,其中所述方法在机器可读介质中具体化为指令集,当由计算处理器执行所述指令集时,使计算处理器执行所述方法。
13.一种用于确定运行在与移动网络耦合的移动设备上的移动应用的服务质量的方法,包括 从移动设备接收第一请求,以仿真使用网络传输机制从移动网络接收应用数据的移动应用; 使用所述网络传输机制向移动设备发送第一测试数据集合;以及 基于第一测试数据集合的发送,从移动设备接收移动应用的服务质量。
14.根据权利要求13所述的方法,还包括 从移动设备接收第二请求,以仿真使用所述网络传输机制向移动网络发送应用数据的移动应用; 使用所述网络传输机制从移动设备接收第二测试数据集合;以及 基于第二测试数据集合的接收,从移动设备接收移动应用的服务质量。
15.根据权利要求14所述的方法,还包括 从多个移动设备接收在多个移动设备的每ー个移动设备上运行的移动应用的多个服务质量;以及 基于所述多个服务质量,确定在所述多个移动设备上运行的移动应用的总服务质量。
16.根据权利要求13所述的方法,其中确定移动应用的服务质量还包括 选择与移动应用相关联的效用函数; 根据第一测试数据集合的发送来收集多个网络性能測量结果;以及 通过向效用函数输入所述多个网络性能測量结果来计算服务质量。
17.—种被配置为确定运行在移动设备上的移动应用的服务质量的系统,包括 与移动网络连接的监控系统;以及 在移动设备上运行的监控应用,用于监控经由移动网络通信的移动应用的网络使用模式,其中所述网络使用模式指示移动应用正向移动网络发送应用数据、还是正从移动网络接收应用数据,在接收应用数据的过程中,监控应用通过从监控系统接收第一测试数据集合来仿真移动应用,以及监控应用通过分析接收到的第一测试数据集合来确定移动应用的服务质量。
18.根据权利要求17所述的系统,其中在接收应用数据的过程中,监控系统通过向监控应用发送第一测试数据集合并从监控系统接收第二测试数据集合,来仿真移动应用;以及监控系统通过分析第一测试数据集合和第二测试数据集合来确定移动应用的服务质量。
19.根据权利要求17所述的系统,其中在发送应用数据的过程中,监控应用通过向监控系统发送第三测试数据集合来仿真移动应用;以及监控系统通过分析所述第三测试数据集合来确定移动应用的服务质量。
20.根据权利要求17所述的系统,还包括 与监控应用和监控系统耦合的监控队列,其中所述监控队列存储第一数据集合,并将第一数据集合与移动应用相关联。
全文摘要
根据本公开的实施例,呈现了用于确定运行在与移动网络耦合的移动设备上的移动应用的服务质量的过程。该过程可以实现为在应用层层级上,监控经由移动网络通信的移动应用的网络使用模式。该过程可以通过经由移动网络发送或接收测试数据,来仿真移动应用的网络使用模式。该过程可以通过分析发送或接收的测试数据来确定移动应用的服务质量。
文档编号H04B17/00GK102668619SQ201080052090
公开日2012年9月12日 申请日期2010年12月13日 优先权日2009年12月24日
发明者艾蒂安·A·H·范德波姬特, 阿南德·莫特迪特法丽斯 申请人:英派尔科技开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1