首页> 中国专利> 中间网络节点处实时测量网络浏览的体验质量

中间网络节点处实时测量网络浏览的体验质量

摘要

一种方法,包括:获取当前HTTP事务;判定当前HTTP事务是否与用于特定客户端的网络浏览相关;获取特定客户端的先前的事务集合;评估当前HTTP事务是否属于先前的事务集合;如果当前HTTP事务属于先前的事务集合,将当前HTTP事务添加到先前的事务集合;以及如果当前的HTTP事务不属于先前的事务集合,创建包括先前事务集合的HTTP事务的页面单元的边界以用于计算页面单元时间。

著录项

  • 公开/公告号CN104412254A

    专利类型发明专利

  • 公开/公告日2015-03-11

    原文格式PDF

  • 申请/专利权人 茨特里克斯系统公司;

    申请/专利号CN201380018343.4

  • 发明设计人 K.帕萨萨拉蒂;N.J.斯塔夫拉科斯;

    申请日2013-03-29

  • 分类号G06F17/00;G06F15/16;

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人王洪斌

  • 地址 美国佛罗里达州

  • 入库时间 2023-12-18 08:15:34

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-04-12

    授权

    授权

  • 2016-03-16

    专利申请权的转移 IPC(主分类):G06F17/00 登记生效日:20160222 变更前: 变更后: 申请日:20130329

    专利申请权、专利权的转移

  • 2015-08-26

    专利申请权的转移 IPC(主分类):G06F17/00 变更前: 变更后: 登记生效日:20150805 申请日:20130329

    专利申请权、专利权的转移

  • 2015-04-08

    实质审查的生效 IPC(主分类):G06F17/00 申请日:20130329

    实质审查的生效

  • 2015-03-11

    公开

    公开

说明书

背景技术

下载网页所需的时间量是浏览互联网上的网站时用户体验质量的一个重要指标。下载网页涉及到若干层上的许多事务。在传输控制协议/互联网协议(TCP/IP)层,客户端和服务器之间建立一个或多个TCP连接。一旦建立连接,在超文本传输??协议(HTTP)层,执行若干请求-响应事务以完成网页下载。来自客户端的第一HTTP请求获取用于网页的顶层超文本标记语言(HTML)内容。网络浏览器然后解析检索的HTML内容,并发出附加HTTP请求到内容服务器,用于所有嵌入的对象诸如Java脚本对象、层叠样式表(CSS)对象、和图象对象。客户端装置可以监测网页请求何时开始、以及与网页相关联的最后一个HTTP响应何时接收。

因为客户端有此监测能力,当测量在该客户端做出时,测量下载网页所需时间可以是直接的。这可以通过当发送对内容服务器的第一HTTP请求时启动定时器,以及在接收到最后一个HTTP对象并且网页在客户端应用诸如网络浏览器中完全渲染时停止定时器来完成。

如果所有的内容是从相同服务器提供的,在内容服务器处测量网页下载时间也相对直接。该服务器还具有完整的知识来确定对应于来自客户端的网页下载的第一和最后一个HTTP事务。然而,如果为了分布负载或者由于与第三方内容提供商诸如广告提供商的伙伴关系用于单个网页的内容被横跨若干物理服务器分布,那么测量变得复杂。在这些情况下,单个内容服务器可能不具备全部信息来确定下载完整网页所花费的时间。

此外,中间网络节点也可能不具有全部的信息来确定下载完整网页所花费的时间。理论上,中间网络节点可以解析从内容服务器提供的HTML内容,并确定包括页面中所有嵌入对象的网页的组成。但因为通过在客户端上执行Java脚本而生成的动态通用资源定位符(URL)不能够被预测,为了测量下载完整网页所花费的时间,可能要求对仅存储在客户端上的HTTP Cookie的访问。因此,准确测量在位于客户端和服务器之间的中间网络节点处下载网页所花费时间实际上是不可行的。

附图说明

图1是示例性网络系统的框图。

图2是图示了图1所示的示例性网络QoE评分测量系统的实施例的框图。

图3是表示页面单元时间测量的示例性方法的流程图。

图4是表示用于如图3中所示的判定HTTP事务是否涉及网络浏览的示例性方法的流程图。

图5是表示用于如图3中所示的判定事务集合是否是页面单元的示例性方法的流程图。

具体实施方式

现在将详细地参考与本文所公开实施例相一致的示例性实施例,其中的示例在附图中被图示。只要有可能,在整个附图中将使用相同的附图标记来表示相同或相似的部分。

本文所述实施例为提供互联网访问的服务提供商提供了一种方式来测量在互联网上浏览网页的订户的体验质量(QoE)。QoE测量可以部分基于下载网页所花费的时间。此测量或网络QoE评分可以帮助服务提供商来判定其客户是否满意。通过测量和监测针对每个客户端的网络QoE评分,服务提供商可以相应采取行动以改善其客户的满意度。

图1是示例性网络系统的框图。示例性网络系统100可以是在网络上发送数据分组的任何类型的系统。例如,示例性系统100可以包括横跨有线或无线网络从服务器发送数据分组到客户端的一个或多个网络。示例性系统100除了其它事情之外可以包括网络101、接入网络102、网络QoE测量系统103、一个或多个客户端装置104(A-C),以及一个或多个内容服务器105(A-C)。

网络101可以包括适合于分组类型通信的广域网(WAN)、局域网(LAN)或无线网络的任何组合。在一些示例性实施例中,网络101可以是例如互联网和X.25网络。网络101可以采用接入网络102以及采用一个或多个内容服务器105传送数据分组。

接入网络102可以是适合于分组类型通信的无线电网络、广域网(WAN)、局域网(LAN)或无线网络的任何组合。可以由例如服务提供商诸如DSL服务提供商(例如AT&T?)、宽带服务提供商(例如Comcast?)以及众多蜂窝服务提供商(例如AT&T?、Sprint?以及Verizon?)操作接入网络102。接入网络102可以采用包括下列的技术:数字订户线路(DSL)、电缆宽带、802.11 Wi-Fi、全球移动通信系统(GSM)、采用宽带码分多址(W-CDMA)无线电接入技术的通用移动电信系统(UMTS)、CDMA2000、全球微波互联接入(WiMax)和长期演进(LTE)。例如,在一些实施例中,网络102可以是通用分组无线电服务(GPRS)核心网络,其提供了用于GSM和W-CDMA网络中互联网协议分组服务的移动性管理、会话管理和传输。一个或多个客户端(例如,104A-104C)可以与接入网络102通信,其进而与内容服务器105直接或间接地通过网络101进行通信。示例性网络102除了其它事情之外可以包括网络QoE测量系统103。

如图1中所示,网络QoE测量系统103可部署在接入网络102内的一个或多个位置。然而,网络QoE测量系统103并不被限制位于接入网络102内。相反,它可以在通信系统100内的任何中间节点处实现。在接入网络102的一些实施例中,网络QoE测量系统103可以位于网关节点(图1中未示出),其具有到所有客户端和互联网内容服务器之间的数据流量中的可见性。例如,在使用GSM或UMTS技术的移动宽带接入网络的情况下,网络QoE测量系统103可以位于任何中间节点处,包括流量优化平台(TOP)、深度分组检测(DPI)节点以及其它网关节点诸如网关GPRS支持节点(GGSN)。流量优化平台(TOP)可以执行网络和视频压缩。深度分组检测(DPI)节点在其通过检测点时可以检查分组的头(以及也可能的数据部分),搜索协议违约、病毒、垃圾邮件、入侵或定义的标准以决定分组是否可以通过,或者其是否需要被路由至不同的目的地,或者用于收集统计信息的目的。网关GPRS支持节点(GGSN)可负责GPRS网络和外部分组交换网络(诸如因特网和X.25网络)之间的互通。

如上所讨论的,网络QoE测量系统103不限于位于这些示例性节点。网络QoE测量系统103还可以在将一种类型网络中提供的格式化数据转换为另一类型网络或者任何其它中间节点(如果需要的话)所需要的特定格式的任何网关节点上实现。网关节点例如可以是服务器、路由器、防火墙服务器、主机或代理服务器。很像内容服务器,HTTP代理服务器可以接受客户端浏览器窗口内的目标URL、处理所述请求,并且然后把所请求的URL的内容立即显示回客户端浏览器内。在一些实施例中,HTTP代理服务器可以是处理网页的显式HTTP代理服务器(例如无线应用协议(WAP)网关)或透明HTTP代理服务器,诸如流量管理及优化平台中的那些。网关节点可以能够单独或以任何组合的方式处理网页、图像、音频、视频以及T.120传输,并且能够全双工媒体转换。

网络QoE测量系统103可以处理任何分组类型通信,包括HTTP事务。HTTP事务可包括来自客户端装置104的HTTP请求和来自内容服务器105的HTTP响应。

客户端装置104可以是与接入网络102通信的装置或应用(以硬件或软件的方式)。客户端装置104可以是例如移动手持装置、膝上计算机、上网本装置、智能电话装置、网络电视(TV)设备或可以与网络进行通信的任何其它装置或应用。客户端装置104可以通过接入网络102和网络101向内容服务器105做出请求并从其接收响应。

内容服务器105可以是任何计算机系统或软件程序,其能够提供客户端(例如客户端装置104)的请求。内容服务器105可以是任何类型的服务器,包括内容服务器、应用服务器、通信服务器、数据库服务器、代理服务器、网络服务器、缓存服务器和任何其它合适的服务器。网页可以位于一个内容服务器,或者网页可以位于多个内容服务器。例如,单个网页(诸如CNN网页)可以有许多对象,诸如新链接、图像、视频等。对象可以不位于一个内容服务器,并且可以分散到若干内容服务器上,用于减少服务器负载的目的,或用于使用第三方广告的目的。内容服务器105可以通过网络101和接入网络102与客户端装置104进行通信。

图2是图示了图1中所示的示例性网络QoE测量系统103的实施例的框图。网络QoE测量系统103除了其它事情之外可以包括分组处理模块202、HTTP处理和过滤模块204、页面单元检测和网络QoE评分测量模块206以及事务历史数据库208。网络QoE测量系统103可以具有一个或多个处理器以及用于存储程序指令的至少一个存储器。(一个或多个)处理器可以是能够执行特定指令集的单个或多个微处理器、现场可编程门阵列(FPGA)或数字信号处理器(DSP)。计算机可读指令可存储在有形非暂时性计算机可读介质上,诸如软盘、硬盘、CD-ROM(致密盘只读存储器)和MO(磁光盘)、DVD-ROM(数字多功能盘只读存储器)、DVD RAM(数字多功能盘随机存取存储器)或半导体存储器。可替代地,该方法可以以硬件部件或硬件和软件结合的方式(诸如像ASIC、专用计算机或通用计算机)来实现。

网络QoE测量系统103可以与一个或多个客户端(例如,客户端装置104)和内容服务器105直接或间接地进行通信。在一些实施例中,网络QoE测量系统103可以是自适应流量管理器(例如,在申请号为13/436,658(代理人案卷号为09266.0040-00000)、标题为“蜂窝无线网络中的自适应流量管理”中所描述的自适应流量管理器)的一部分。分组处理模块202为网络QoE测量系统103的处理栈中较低的栈。分组处理模块202负责在客户端装置104和内容服务器105之间路由流量和处理分组。分组处理模块202可以是软件程序和/或硬件装置。

HTTP处理和过滤模块204可以解析从分组处理模块202接收到的HTTP请求和响应头。超文本传输协议(HTTP)是用于分布式、协作式超媒体信息系统的应用协议。HTTP是用于万维网的数据通信的基础协议。在客户端-服务器计算模型中,HTTP起请求-响应协议的作用。在HTTP事务中,网络浏览器例如充当客户端(例如客户端装置104),而在托管网站的计算机上运行的应用起服务器(例如内容服务器105)的作用。客户端提交HTTP请求消息到服务器。服务器(其存储内容、或提供资源(诸如超文本标记语言(HTML)文件)、或代表客户端执行其它功能)将响应消息返回给客户端。来自服务器的响应包含有关请求的完成状态信息,并且还可以包含由客户端在其消息体中请求的任何内容。HTTP请求和HTTP响应二者均是HTTP事务的一部分。这将容易地认识到,通过HTTP处理和过滤模块204所执行的处理和过滤可以由单独的模块来执行。

客户端请求和服务器响应二者可以包含头。头定义了HTTP事务的操作参数(即元数据)。例如,头可以包括元数据,该元数据指示了HTTP事务是否与网页渲染相关联。头还可以包括描述网页内容的其它元??数据。

HTTP处理和过滤模块204可以是软件程序、硬件装置或者其任何组合,用于检查与该事务相关联的元数据,并过滤出不太可能与网页渲染相关联的事务。在一些实施例中,可以执行HTTP过滤,因为不是所有的HTTP事务都与网页渲染相关联。例如,先进网络技术的越来越多使用在客户端和服务器之间生成了背景流量的持续“闲聊(chatter)”。但不与网页渲染相关联的大量背景“闲聊”流量仍然是基于HTTP的。

过滤可以基于与HTTP代理服务器处每个HTTP事务相关联的元数据。元数据可以包括HTTP协议的用户代理、来自服务器内容的多用途互联网邮件扩展(MIME)类型,以及关于HTTP事务中的内容的任何其它信息。用户代理是客户端-服务器系统内HTTP协议中的客户端上的应用,诸如软件应用。使用用户代理元数据,HTTP协议可以识别在客户端处发起请求的应用。因此,用户代理元数据可以用来判定HTTP事务是否与网页渲染相关联。

多用途互联网邮件扩展(MIME)是另一种类型的元数据。MIME可以描述事务的内容类型,包括例如文本、附件、HTML、图像、音频、视频和应用。MIME内容类型元数据中所述的一些内容与网页渲染相关联,但有些不是。例如,如果HTML内容来自网页,采用超文本标记语言(HTML)语言的内容类型的内容可以与网页渲染相关联。因此,MIME还可用来判定HTTP事务是否与网页渲染相关联。

页面单元检测与网络QoE评分测量模块206实时处理对应于网页渲染的过滤的HTTP事务。这将容易地认识到,由页面单元检测与网络QoE评分测量模块206执行的页面单元的检测和网络QoE评分的测量可以通过单独的模块执行。在一些实施例中,所述处理可以包括:检测页面单元边界、测量网络QoE评分以及将网络QoE评分存储在事务历史数据库208中。为了测量下载完整网页所花费的时间使得可以测量网络QoE评分,将HTTP事务分组成网页。然而在中间节点诸如网关节点处,每个HTTP事务被视为独立的单元,并且属于同一网页的事务的数量可以显著不同。例如,下载具有简单搜索框的Google?搜索网页可能只涉及少数HTTP事务。但下载包含数百个新闻链接、图像、广告、和视频剪辑的CNN?网页可能涉及数量更巨大的HTTP事务。

由于HTTP事务的数量从一个网页到另一个网页发生变化,对于中间节点来说准确识别属于同一页面的事务群组是困难的。因此为了测量下载完整网页所花费的时间,描绘中间节点处的网页边界可能是不切实际的。此外,新的网络技术,诸如异步JavaScript和XML(AJAX)由于客户端和服务器之间背景事务的持续“闲聊”使检测页面边界更加困难。

因为如上所讨论的描绘网页边界的困难性,网络QoE测量系统103可以替代地使用页面单元。页面单元可以是时间上接近发生的来自客户端装置的HTTP事务的集合。基于用于网络内容的请求的源IP地址或对请求的响应的目的地IP地址,网络QoE测量系统103可以区分客户端装置。网络QoE测量系统103还可以基于例如特别HTTP头(例如x-forwarded-for)、RADIUS馈送、PCRF服务器和订户配置文件存储库中所包含的信息,区分客户端装置。网络QoE测量系统103可使用小计时阈值,用于尝试限制用于单个网页的事务。此计时阈值是与下载单个网页相关的预先确定的数目。当页面单元是用来帮助判定下载单个网页的时间量的工具时,只要那些事务在此计时阈值内发生,页面单元可以包括定向到一个或多个网页的一些事务。虽然页面单元可能不在所有情况下都对应单个网页,下载页面单元所花费时间与下载网页花费的时间相关。因此,页面单元可以被用作测量用于网页渲染的网络QoE评分的替代。

除了基于计时阈值和来自客户端装置的事务,在一些实施例中,页面单元可以基于其它属性来定义。页面单元也可能需要HTTP事务(例如,客户端HTTP请求)中元数据所中包含的用户代理信息是相同的。用户代理是客户端-服务器系统内使用HTTP协议的客户端装置上的应用,诸如软件应用。使用用户代理元数据,HTTP协议可识别在客户端发起请求的应用。因此,用户代理元数据可以指示HTTP事务是否来自客户端的同一应用。使用用户代理信息将允许网络QoE测量系统来区分来源于电子邮件应用(Microsoft OutlookTM)的事务与来源于网络浏览器(Microsoft Internet ExplorerTM)的事务。

在一些实施例中,也可以部分基于HTTP事务之一是否包括至少一个超文本标记语言(HTML)对象而定义页面单元。HTML元素是网页的基本构建块,并且因此HTML对象可以与网页渲染相关联。在一些实施例中,可以部分地基于最大HTML对象的大小是否满足阈值条件定义页面单元。在一些实施例中,页面单元检测与网络QoE评分测量模块206可判定最大HTML对象的大小是否大于预先配置的阈值。例如,大小阈值可设定为2KB,并且如果事务集合中的最大HTML对象小于2KB,页面单元检测和网络QoE评分测量模块206可以拒绝该事务集合作为页面单元。类似地,在一些实施例中,可以部分地基于HTTP事务中图像对象的数目是否满足阈值条件而定义页面单元。在这些实施例中,页面单元检测与网络QoE评分测量模块206可判定图像对象的数目是否大于预先配置的阈值。例如,图像阈值可设定为2个图像,并且如果事务集合中图像数目小于2,页面单元检测和网络QoE评分测量模块206可以拒绝该事务集合作为页面单元。

如上面所指出的,页面单元检测和网络QoE评分测量模块206还可基于计时阈值定义页面单元。例如,为了判定事务是否与页面单元对应,网络QoE测量系统103可以监测任何两个连续事务之间的时隙落在计时阈值条件内,用于判定那些两个连续事务的第二事务是否为页面单元的一部分。例如,页面单元检测与网络QoE评分测量模块206可要求该时隙小于预先配置的阈值。时隙可被定义为从第一HTTP事务完成到第二HTTP事务开始的时间段。如果两个连续的事务不重叠,时隙可以大于零,或者如果两个连续的事务重叠或者如果一个事务的持续时间完全由其它事务的持续时间包括,则时隙可以等于零。在一些实施例中,用于定义页面单元的属性可包括不参考上面的属性。类似地,页面单元不必须要求全部HTTP事务属性,并且可要求如上所述的HTTP事务属性的任何组合。

下载页面单元所花费的时间可以与下载网页所花费的时间相关。在一些实施例中,下载页面单元所花费的时间(即页面单元时间)可被定义为从页面单元中第一HTTP事务开始到页面单元中最后一个HTTP事务完成的时间段。在一些实施例中,页面单元具有类似于网页中那些的HTTP事务。页面单元中HTTP事务中的对象可包括例如HTML对象、图像、Java脚本和层叠样式表(CSS)。可在网页中找到页面单元中的所有对象。因此,页面单元时间的测量可以被使用替代下载网页所花费时间的测量。

使用页面单元和页面单元时间信息,页面单元检测和网络QoE评分测量模块206可生成用于该页面单元的QoE评分。然而,页面单元时间可以根据页面单元中HTTP事务中对象的数目而不同。在一些实施例中,页面单元时间可随着页面单元中HTTP事务中对象数目的增加而增加。然而,在一些实施例中,页面单元时间可不随着页面单元中对象数目的增加而线性增加。例如,当对象数目小时,页面单元时间可以以较快速率增加,但当对象数目变大时,以较慢速率增加。换言之,页面单元时间可以表现出与页面单元中HTTP事务中的对象数目的非线性关系。这种非线性关系可以是网络浏览器倾向以并行方式下载多个对象的结果。当多个对象并行下载时,增加对象数目可能未必导致下载页面单元所花费时间(即页面单元时间)的快速增加。

页面单元时间和对象数目之间的非线性关系可导致网络QoE评分的不准确测量。例如,在页面单元时间t1内,第一客户端可能已经完成下载属于复杂网页的大量对象。在页面单元时间t2中,第二客户端可能已经完成下载属于简单网页的少量对象。即使页面单元时间t1大于页面单元时间t2,增加的页面单元时间t1可能未必指示第一客户端相比于第二客户端具有差的网络QoE评分。

可归一化页面单元时间以计及页面单元时间与在页面单元中HTTP事务中的对象数目之间的非线性关系。在一些实施例中,归一化的页面单元时间可以基于用于相同数目对象的平均页面单元时间和被测页面单元时间来获得。例如,可以通过将用于固定数目对象的平均页面单元时间乘以用于被测数目对象的页面单元时间与用于同一被测数目对象的平均页面单元时间的比率来获得归一化页面单元时间,即归一化页面单元时间=用于固定数目对象的平均页面单元时间×((用于被测数目对象的页面单元时间)/(用于同一被测数目对象的平均页面单元时间))。用于被测数目对象的页面单元时间可以是与特定客户端相关的测量。用于固定数目对象的平均页面单元时间和用于同一被测数目对象的平均页面单元时间可以是横跨所有客户端的测量,并且可以被预先确定并且被存储在数据库(例如图2中所示数据库208)中。

上式中的固定数目可以是预先确定的任何数目。例如,固定数目可以是25。用于固定数目对象的平均页面单元时间和用于同一被测数目对象的平均页面单元时间可以基于在预先确定时间段中横跨所有客户端的测量而获得。例如,如果固定数目是25,可以获得用于横跨所有客户端的25个对象的页面单元时间的测量。随后可通过将用于横跨所有客户端的25个对象的页面单元时间的测量求平均来获取用于固定数目对象(即,在此示例中为25个对象)的平均页面单元时间。此外,如果被测对象数目(即包含在用于特定客户端的页面单元中的对象数目)为例如50,对于横跨所有客户端的相同数目对象(即,在此示例中为50个对象),可获得页面单元时间的测量。随后可通过将用于横跨所有客户端的50个对象的页面单元时间的测量求平均来获取用于相同被测数目对象的平均页面单元时间。因此,如果用于被测数目对象的页面单元时间大于用于相同被测数目对象的平均页面单元时间,两者之比将大于“1”。并且因此用于此客户端的归一化页面单元时间大于用于横跨所有客户端的固定数目对象(例如,25个对象)的平均页面单元时间。因此,在此示例中,客户端可能具有差于平均网络QoE的评分,因为与客户端相关联的当前HTTP事务的页面单元时间高于平均水平。

在一些实施例中,在测量用于固定数目对象的平均页面单元时间和用于相同被测数目对象的平均页面单元时间中的预先确定的时间段可以基于滑动时间窗口。滑动时间窗口可以跨越最近的三个小时。例如,如果测量开始于上午9时,滑动时间窗可以从上午9时至中午12时、上午10时至下午1时、上午11时至下午2时等。在一些实施例中,滑动窗口可以多于三个小时(诸如一天或数天)。

归一化页面单元时间可以用来测量网页的客户端渲染的网络体验质量(网络QoE)评分。在一些实施例中,如果归一化页面单元时间大于或等于阈值,网络QoE评分可以是“0”。相反,如果归一化页面单元时间小于阈值,网络QoE评分可以是“1”。阈值判定客户端的网络渲染质量是好还是坏,并且可以被配置为任何期望的值。本领域技术人员容易认识到,网络QoE评分可以不被限定为0和1。相反,网络QoE评分可以是任何值,并且可以由用于归一化页面单元时间的多个范围而非使用单个阈值来限定。页面单元检测和网络QoE测量模块206可以是软件程序和/或硬件装置。

事务历史数据库208可以存储由页面单元检测和网络QoE测量模块206确定的网络QoE评分。事务历史数据库208还可以存储用于每个客户端的归一化页面单元时间、非归一化平均页面单元时间和任何其它事务历史数据。非归一化平均页面单元时间可以用于不同数目的HTTP对象,例如25或100个HTTP对象。可通过基于预先确定时间段(例如最近的滑动时间窗口)中横跨所有客户端的测量计算平均页面单元时间来获得非归一化平均页面单元时间。事务历史数据库208可以是软件程序和/或硬件装置,并且可以位于本地或者远离网络QoE测量系统103。

图3是表示页面单元时间测量的示例性方法的流程图。参考图3,本领域普通技术人员容易认识到,图示过程可被更改以删除步骤或进一步包含额外的步骤。网络QoE评分测量的示例性方法可基于通过页面单元检测模块(例如页面单元检测与网络QoE评分测量模块206)的页面单元边界的检测。

开始步骤300之后,网络QoE评分测量系统从客户端装置(例如客户端装置104)获取(302)HTTP事务。HTTP事务可以包括任何类型的与网页相关联的对象,诸如纯文本、HTML、图像、音频、视频、CSS等。

获取HTTP事务之后,网络QoE评分测量系统(例如,网络QoE评分测量系统103)判定(304)HTTP事务是否被接受或过滤掉。例如,HTTP过滤模块(例如HTTP处理和过滤模块204)过滤HTTP事务以判定HTTP事务是否不与网络浏览相关。

如果HTTP事务被判定为由HTTP过滤模块接受,网络QoE评分测量系统获得(306)客户端标识。客户端标识可以从例如来自HTTP请求的客户端的源IP地址获得。客户端标识也可以从来自内容服务器的HTTP响应中的目的地IP地址获得。客户端标识也可以从例如特别HTTP头(x-forwarded-for)、RADIUS馈送、PCRF服务器和订户配置文件存储库中所包含的信息获得。通过获得客户端标识,网络QoE测量系统将当前HTTP事务与单独的客户端相关联。网络QoE测量系统可将此关联存储在数据库(例如事务历史数据库208)中。

网络QoE评分测量系统随后检索(308)客户端装置的先前事务集合。可从事务历史数据库(例如事务历史数据库208)检索先前事务集合。随后,网络QoE评分测量系统计算(310)检索出的先前事务集合和当前HTTP事务之间的时隙。例如,可基于先前事务集合中最后HTTP事务的完成时间和当前HTTP事务的开始时间计算时隙。

一旦计算了时隙,网络QoE评分测量系统判定(312)当前HTTP事务和先前事务集合之间的时隙是否满足阈值条件。在一些实施例中,网络QoE评分测量系统可以顺序地处理来自客户端的HTTP事务,并搜索大于预选阈值的时隙。例如大于阈值的时隙可以是先前事务集合的最后事务为页面单元外边界的指示符。阈值条件可以是例如被预先配置到任何期望值的阈值,诸如基于历史测量或过去的经验的值。此阈值也可以是可调的。

如果在判定步骤312处当前HTTP事务和先前事务集合之间的时隙确实满足阈值条件,网络QoE评分测量系统将当前HTTP事务添加(320)到先前事务集合,并回到步骤302以获取额外的HTTP事务。将当前HTTP事务添加到先前事务集合指示了当前HTTP事务和先前事务为页面单元的事务。

另一方面, 如果当前HTTP事务和先前事务集合之间的时隙不满足阈值条件,网络QoE评分测量系统继续进行以判定(314)先前事务集合是否为页面单元。该判定可基于若干HTTP事务属性,诸如用于当前HTTP事务的HTML对象的数目、HTML对象的大小、图像的数目、对象总数目、以及总下载时间。在一些实施例中,所示判定步骤312和314可由页面单元检测与网络QoE评分测量模块(例如页面单元检测与网络QoE评分测量模块206)执行。

如果先前事务集合被判定为是页面单元,网络QoE评分测量系统计算(316)页面单元的页面单元时间。此页面单元时间可用于计算用于客户端的QoE评分。然后,网络QoE评分测量系统以当前HTTP事务开始(318)新的HTTP事务集合,并且回到步骤302以检索额外的HTTP事务。

如果先前事务集合被判定为不是页面单元,网络QoE评分测量系统拒绝(322)将先前事务集合作为页面单元而不获得任何页面单元时间。然后,网络QoE评分测量系统也以当前HTTP事务开始(318)新的HTTP事务集合。

本领域技术人员容易认识到,如果没有先前HTTP事务集合可用,步骤310至步骤316可以被跳过,并且网络QoE评分测量系统继续进行到步骤318来以当前HTTP事务开始的新事务集合。本领域技术人员还容易认识到,额外的步骤可包含在图3中所示流程图中任何位置以增强决定流程。

图4是表示用于判定HTTP事务是否涉及网络浏览(诸如在图3的判定步骤304中)的示例性方法的流程图。参考图4,本领域普通技术人员将容易认识到,图示过程可被更改为删除步骤或进一步包含额外的步骤。开始步骤400之后,网络QoE评分测量系统(例如网络QoE评分测量系统103)判定(402)HTTP事务的用户代理是否与预定义集合中的条目匹配。用户代理是客户端-服务器系统内的HTTP协议中的客户端上的应用,诸如软件应用。可作为HTTP请求中的字符串提供用户代理的标识。使用此用户代理元数据,HTTP协议可以识别在客户端处发起请求的应用。预定义集合中的条目可以是例如流行网络浏览器(诸如,Microsoft?的Internet Explorer、Mozilla?的Firefox,Google?的Chrome、和Apple?的Safari)的已知列表。可以基于正则表达式模式、子串匹配、匹配全字符串或任何其它匹配机制来完成匹配。另一方面,例如不涉及网络浏览的用户代理可以是AndroidDownloadManager(安卓下载管理器)。

如果HTTP事务的用户代理与预定义集合中的条目匹配,网络QoE评分测量系统随后可判定(404)响应代码是否在预定义集合中。响应代码指示HTTP事务的状态,诸如成功HTTP事务、HTTP重定向、服务器错误等。预定义集合可配置为包括与网页渲染相关联的响应代码。例如,网络QoE评分测量系统可以仅接受具有200(成功的HTTP事务)或301/302(HTTP重定向)响应代码的HTTP事务,但是过滤掉与其它响应代码相关联的HTTP事务。

如果当前HTTP事务的响应代码被判定为在预定义集合内,网络QoE评分测量系统随后可判定(406)当前HTTP事务的内容类型字段是否在预定义集合中。HTTP事务的内容类型可以是例如标记语言、图像、Java脚本等。在HTTP事务(例如HTTP响应)中,对应于该内容类型的内容类型字段包含在响应元数据中。表1中示出了与网页相关联的内容类型字段的示例性列表。例如,包含在HTTP响应内的内容类型字段可以将内容指示为 “text(文本)/html(超文本标记语言)”、“application(应用)/xhtml(可扩展超文本标记语言)+xml(可扩展标记语言)”或“image(图像)”。当前HTTP事务中的内容类型字段可以相对于预定义内容类型列表进行匹配,以判定当前HTTP事务是否与网页相关联。还可以基于正则表达式模式、子串匹配、匹配全字符串或任何其它匹配机制来完成匹配。内容类型也可以从例如HTTP有效载荷内容部分获得。

内容类型内容类型字段Markup language(标记语言)text/html, application/xhtml+xmlImage(图像)image/*Java Script(Java脚本)text/javascript, application/x-javascriptStyle Sheet(式样表)text/cssShockwave Flash(冲击波程式闪)application/x-shockwave-flash

表1:与网页相关联的内容类型字段的示例性列表。

如果当前HTTP事务的内容类型字段被判定为在预定义集合中,网络QoE评分测量系统接受(408)当前HTTP事务。如果HTTP事务的用户代理不与预定义集合中的条目匹配(402),或者如果当前HTTP事务的响应代码被判定(404)为不在预定义集合内,或者如果当前HTTP事务的内容类型字段被判定(406)为不在预定义集合中,网络QoE评分测量系统丢弃(410)当前HTTP事务,因为其判定HTTP事务不与网页相关联。在已经接受(408)或者丢弃(410)当前HTTP事务之后,该方法可继续进行到结束(412)。

此外,将容易认识到,可以重新安排判定步骤402、404和406的次序。

图5是表示用于判定事务集合是否为页面单元(例如像图3中的判定步骤314)的示例性方法的流程图。参考图5,本领域普通技术人员将容易认识到,图示过程可被更改为删除步骤或进一步包含额外的步骤。用于判定事务集合是否为页面单元的示例性方法可以是用于接受或拒绝页面单元的启发式方法。如果有证据表明事务集合可能不对应于网页,则可以拒绝页面单元。在开始步骤500之后,网络QoE评分测量系统(例如网络QoE评分测量系统103)判定(502)包括一个或多个HTTP事务的事务集合是否包括至少一个HTML对象。事务集合内具有HTML对象可能指示该事务集合与网页相关联。同样地,事务集合不具有HTML对象可能指示该事务集合不与网页相关联。

如果事务集合具有至少一个HTML对象,网络QoE评分测量系统继续进行以判定(504)最大HTML对象的大小是否满足阈值条件。在一些实施例中,页面单元必须具有大于预先配置的阈值的至少一个HTML对象的大小。用于最小HTML对象大小的要求可以过滤掉标记为HTML但太小而无法与网页相关联的伪HTTP事务。阈值条件可以是例如可调的、预先配置的阈值,其例如可以基于历史测量或过去的经验。

如果最大HTML对象的大小满足阈值条件(即至少一个HTML对象的大小大于预先配置的阈值),网络QoE评分测量系统继续进行以判定(506)事务集合中的图像数目是否满足阈值条件。在一些实施例中,客户端请求的一些网页具有图像。网络QoE评分测量系统可获取事务集合中的图像数目来满足阈值条件。例如,为了使事务集合被视为页面单元,事务集合可能需要具有大于或等于阈值的图像数目。阈值条件可以是例如可调的、预先配置的阈值,其例如可以基于历史测量或过去的经验。

如果图像数目满足阈值条件(即事务集合中图像数目大于或等于阈值),网络QoE评分测量系统继续进行以判定(508)事务集合中的对象总数目是否满足阈值条件。网页具有有限数目的对象。在一些实施例中,如果对象或HTTP事务的数目不满足阈值条件,事务集合可以被拒绝作为页面单元。例如,具有大于预先配置阈值的对象总数目的事务集合可以被拒绝作为页面单元。阈值条件可以是例如可调的、预先配置的阈值,其例如可以基于历史测量或过去的经验。

如果对象总数目满足阈值条件(即具有小于或等于预先配置阈值的对象总数目的事务集合),网络QoE评分测量系统继续进行以判定(510)总下载时间是否满足阈值条件。在一些实施例中,步骤510可以去除具有不被认为是页面单元的大下载时间的异常值。例如,事务集合的总持续时间(即从第一HTTP事务开始到最后一个HTTP事务结束的被测时间段)与阈值条件相比较。如果总持续时间满足阈值条件,例如低于阈值,可接受事务集合作为页面单元。阈值条件可以是例如可调的、预先配置的阈值,其例如可以基于历史测量或过去的经验。

如果总下载时间满足阈值条件(即下载时间小于下载时间阈值时间),网络QoE评分测量系统继续进行以接受(512)事务集合作为页面单元。如果事务集合不包含(502)HTML对象,或者如果最大HTML对象的大小不满足(504)大小阈值条件,或者如果事务集合中图像数目不满足(506)事务数目阈值条件,或者如果对象总数目不满足(508)对象数目阈值条件,或者如果总下载时间不满足(510)下载时间阈值条件,网络QoE评分测量系统拒绝(514)该事务集合作为页面单元。在已经接受(512)或者拒绝(514)该事务集合作为页面单元之后,该方法可继续进行到结束(516)。

本领域技术人员将容易认识到,判定步骤504、506、508和510中的任何一个可以在不背离本文描述的实施例的情形下被重置或者从图5删除。

在一些实施例中,可包含若干增强功能用于新页面单元开始的检测。一种示例性的增强功能是将具有“text/html”内容类型字段的HTTP事务视为新页面单元开始的潜在指示符。内容类型字段为HTTP事务中所包含的元数据,其可被用来标识HTTP事务中包括什么类型的内容。在另一示例性实施例中,如果先前的事务集合可被接受为页面单元(即其通过了图5中所示全部步骤)并且当前HTTP事务的HTML内容的大小大于阈值,则当前HTTP事务可被视为新页面单元的开始。

在一些实施例中,增强功能可基于包括当前HTTP事务和先前事务集合的假设的页面单元的总页面单元时间。换言之,可通过将当前HTTP事务添加到先前事务集合计算总页面单元时间,无论当前HTTP事务和先前事务集合实际上是否为页面单元。如果总页面单元时间超出了预定义的阈值,则当前HTTP事务可被视为新页面单元的开始。

在一些实施例中,增强功能可基于先前事务集合中HTTP事务的数目。如果HTTP事务的数目已经达到预定义的阈值,当前HTTP事务可以被视为新页面单元的开始。此增强功能可以例如避免紧密间隔的HTTP事务(即其具有小的时隙)的大集合的分组在图5中所示的步骤508中被错误地拒绝(即由于超出阈值的对象总数目而拒绝页面单元)。

在此所公开的方法可以被实现为计算机程序产品,即被有形地包括在信息载体中(例如在机器可读存储装置中或者在被传播的信号中)的计算机程序,以用于由例如可编程处理器、计算机或者多个计算机的数据处理装置执行或者用于控制其操作。计算机程序可以用任何形式的编程语言编写,包括编译或解释语言并且其可以以任何形式部署,包括作为独立的程序或作为模块、部件、子例程或适于计算环境中使用的其它单元。计算机程序可被部署为在一台计算机上或在位于一个地点或横跨多个地点被分布并由通信网络互连的多台计算机上被执行。

在前面的说明中,已经参考具体的示例性实施例描述了主题。然而,将显而易见的是可以做出各种修改和变化而不脱离如在随后的权利要求中所阐述的发明的更广义的精神及范围。本说明和附图相应地被认为是说明性的而非限制性的。从对在此所公开的实施例的实施和说明的考虑出发,其它实施例对于本领域的技术人员可以是显然的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号