用于提供网络管理的方法和系统的制作方法

文档序号:7815408阅读:183来源:国知局
用于提供网络管理的方法和系统的制作方法
【专利摘要】涉及用于提供网络管理的方法和系统。实施例包括基于监测Web实时通信(WebRTC)交互式流的服务质量(QoS)特性来提供网络管理及相关方法、系统和计算机可读介质。一个实施例中提供了基于监测WebRTC交互式流的QoS特性来提供网络管理的方法。方法包括:由计算设备上执行的WebRTC客户端的QoS获取代理获得指示网络上WebRTC交互式流质量的WebRTC交互式流QoS特性;由QoS获取代理将WebRTC交互式流QoS特性传递到WebRTC客户端外部的QoS监测代理;由QoS监测代理基于WebRTC交互式流QoS特性发起网络管理任务。以该方式QoS特性可被收集和关联以优化用户的WebRTC体验。
【专利说明】用于提供网络管理的方法和系统

【技术领域】
[0001]本公开内容的技术一般地涉及Web实时通信(WebRTC)交互式流。

【背景技术】
[0002]Web实时通信(WebRTC)仍在致力于开发用于将实时通信功能集成到web客户端(诸如web浏览器)中以使得能够与其他web客户端直接交互的行业标准。该实时通信功能可由web开发者通过标准标记标签访问,所述标准标记标签诸如由超文本标记语言版本5 (HTML5)提供的标记标签及客户端侧脚本应用编程接口(API)(诸如JavaScript API)。关于 WebRTC 的更多信息可以在 Alan B.Johnston 和 Daniel C.Burnett 的“WebRTC: APIs andRTCffEB Protocols of the HTML5Real_Time Web,,第 2 版(2013Digital Codex LLC)中找至IJ,其全文通过引用并入于此。
[0003]WebRTC提供用于在点对点交互式流和多方交互式流两者中建立实时视频、音频和/或数据流的内置能力。WebRTC标准目前正在由万维网联盟(W3C)和互联网工程任务组(IETF)联合开发。关于WebRTC标准当前状态的信息可以在例如http://www.w3c.0rg和http://www.1etf.0rg 找至丨J0
[0004]为了建立WebRTC交互式流(例如实时视频、音频和/或数据交换),两个WebRTC客户端可以从web应用服务器检索WebRTC使能(WebRTC-enabled)的web应用,诸如HTML5/JavaScript web应用。通过所述web应用,这两个WebRTC客户端则参与用于发起对等连接的对话,WebRTC交互式流将在该对等连接上通过。该对话可以包括被建立以进行通信并就定义WebRTC交互式流的初始特性的参数达成一致的媒体协商。
[0005]在一些实施例中,媒体协商可以经由WebRTC提供/应答交换来实现。典型地,WebRTC提供/应答交换经由诸如超文本传输协议安全(HTTPS)连接或安全网络套接字(WebSocket)连接的安全网络连接而发生。在WebRTC提供/应答交换中,发送者计算设备上的第一 WebRTC客户端发送“提供”至接收者计算设备上的第二 WebRTC客户端。所述提供包括WebRTC会话描述对象,WebRTC会话描述对象指定第一 WebRTC客户端在WebRTC交互式流中支持并偏好使用的媒体类型和能力。第二 WebRTC客户端接着用WebRTC会话描述对象“应答”进行响应,WebRTC会话描述对象“应答”指示第二 WebRTC客户端支持并可接受所提供的媒体类型和能力中的哪些用于WebRTC交互式流。将会理解,该对话可以采用不同于WebRTC提供/应答交换的机制来建立WebRTC客户端之间的WebRTC交互式流。一旦该对话完成,WebRTC客户端则可以彼此建立直接对等连接,并且可以开始传输实时通信的媒体和/或数据包的交换。WebRTC客户端间的对等连接通常采用安全实时传输协议(SRTP)来传输实时媒体流,并且可以利用各种其他协议进行实时数据交换。
[0006]WebRTC包括用于使得WebRTC客户端能够获得和WebRTC交互式流的各种服务质量(QoS)特性有关的详细信息的机制。WebRTC客户端可以使用这些QoS特性来动态地监测和调整对WebRTC交互式流的处理。例如,响应于网络吞吐量的下降,WebRTC客户端可以能够通过调整视频或音频分辨率、或者通过选择更适当的用于编码该WebRTC交互式流的编解码器来补偿。然而,这些QoS特性可能在该WebRTC客户端外不可访问,因此可能不可用于外部实体(例如企业)来监测、表征以及优化该WebRTC交互式流在其上通过的网络。


【发明内容】

[0007]详细说明中所公开的实施例包括基于对Web实时通信(WebRTC)交互式流的服务质量(QoS)特性进行监测来提供网络管理。还公开了相关的方法、系统和计算机可读介质。在一些实施例中,WebRTC客户端包括通信地耦接到该WebRTC客户端外部的QoS监测代理的QoS获取代理。随着该WebRTC客户端参与WebRTC交互式流,QoS获取代理获得指示WebRTC交互式流的质量的WebRTC交互式流QoS特性。接着,QoS获取代理将WebRTC交互式流QoS特性传递到QoS监测代理。QoS监测代理基于WebRTC交互式流QoS特性发起网络管理任务。作为非限制性的例子,网络管理任务可以包括发起网络修改、自动触发警报、使得自动或半自动脚本执行、和/或存储WebRTC交互式流QoS特性用于后续的关联处理和分析。QoS监测代理还可以关联两个或更多个存储的QoS特性,并基于该关联处理来发起网络管理任务。作为非限制性的例子,网络管理任务还可以包括基于该关联处理生成报告和/或发起网络修改。一些实施例可以设置,QoS监测代理还可以接收、存储和/或关联网元所提供的QoS特性和/或WebRTC数据流QoS特性,WebRTC数据流QoS特性指示QoS获取代理和QoS监测代理之间的WebRTC数据流的质量。
[0008]在这一点上,在一个实施例中,提供了一种用于基于对WebRTC交互式流的QoS特性进行监测来提供网络管理的方法。该方法包括由在计算设备上执行的WebRTC客户端的QoS获取代理来获得指示网络上WebRTC交互式流的质量的WebRTC交互式流QoS特性。该方法还包括由QoS获取代理将WebRTC交互式流QoS特性传递到WebRTC客户端外部的QoS监测代理。该方法另外地包括由QoS监测代理基于WebRTC交互式流QoS特性来发起网络管理任务。
[0009]在另一个实施例中,提供了一种用于基于对WebRTC交互式流的QoS特性进行监测来提供网络管理的系统。该系统包括至少一个通信接口、与所述至少一个通信接口相关联并包括QoS获取代理的第一计算设备、以及包括QoS监测代理的第二计算设备。QoS获取代理被配置为获得指示网络上WebRTC交互式流的质量的WebRTC交互式流QoS特性。QoS获取代理进一步被配置为将WebRTC交互式流QoS特性传递到QoS监测代理。QoS监测代理被配置为基于WebRTC交互式流QoS特性来发起网络管理任务。
[0010]在另一个实施例中,提供了一种非易失性计算机可读介质。该非易失性计算机可读介质具有存储在其上的计算机可执行指令,以使得处理器实现包括以下步骤的方法:由WebRTC客户端的QoS获取代理来获得指示网络上WebRTC交互式流的质量的WebRTC交互式流QoS特性。由计算机可执行指令实现的该方法进一步包括由QoS获取代理将WebRTC交互式流QoS特性传递到WebRTC客户端外部的QoS监测代理。由计算机可执行指令实现的该方法还包括由QoS监测代理基于WebRTC交互式流QoS特性来发起网络管理任务。

【专利附图】

【附图说明】
[0011]并入说明书并且构成说明书的一部分的附图示出了本公开内容的若干方面,并与说明一起用来解释本公开内容的原理。
[0012]图1是示出包括WebRTC客户端的Web实时通信(WebRTC)交互式流的示例性“三角形”拓扑结构的概念图,WebRTC客户端包括通信地耦接到服务质量(QoS)监测代理的QoS获取代理:
[0013]图2是示出在包括QoS获取代理和QoS监测代理的示例性系统内的示例性通信流的不意图;
[0014]图3是示出用于基于对WebRTC交互式流的QoS特性进行监测来提供网络管理的示例性操作的流程图;
[0015]图4A和4B是示出更详细的用于基于对WebRTC交互式流的QoS特性进行监测来提供网络管理的示例性操作的流程图:和
[0016]图5是可包括图1的QoS获取代理和QoS监测代理的基于处理器的示例性系统的框图。

【具体实施方式】
[0017]现在参照附图描述本公开内容的若干示例性的实施例。“示例性”一词在此用于表示“用作示例、实例或说明”。这里作为“示例性”描述的任何实施例都不必定被视为相对于其他实施例是优选的或有利的。
[0018]在详细说明中所公开的实施例包括基于对Web实时通信(WebRTC)交互式流的服务质量(QoS)特性进行监测来提供网络管理。还公开了相关的方法、系统和计算机可读介质。在一些实施例中,WebRTC客户端包括通信地耦接到该WebRTC客户端外部的QoS监测代理的QoS获取代理。随着WebRTC交互式流的进行,QoS获取代理获得指示WebRTC交互式流的质量的WebRTC交互式流QoS特性。接着,QoS获取代理将WebRTC交互式流QoS特性传递到QoS监测代理。QoS监测代理基于WebRTC交互式流QoS特性发起网络管理任务。作为非限制性的例子,网络管理任务可以包括发起网络修改、自动触发警报、使得自动或半自动脚本执行、和/或存储WebRTC交互式流QoS特性用于后续的关联处理和分析。QoS监测代理还可以关联两个或更多个存储的QoS特性,并基于该关联处理来发起网络管理任务。作为非限制性的例子,网络管理任务还可以包括基于该关联处理生成报告和/或发起网络修改。一些实施例可以设置,QoS监测代理还可以接收、存储和/或关联网元所提供的QoS特性和/或WebRTC数据流QoS特性,WebRTC数据流QoS特性指示QoS获取代理和QoS监测代理之间的WebRTC数据流的质量。
[0019]在这一点上,在一个实施例中,提供了一种用于基于对WebRTC交互式流的QoS特性进行监测来提供网络管理的方法。该方法包括由在计算设备上执行的WebRTC客户端的QoS获取代理来获得指示网络上WebRTC交互式流的质量的WebRTC交互式流QoS特性。该方法还包括由QoS获取代理将WebRTC交互式流QoS特性传递到WebRTC客户端外部的QoS监测代理。该方法另外地包括由QoS监测代理基于WebRTC交互式流QoS特性来发起网络管理任务。
[0020]在这一点上,图1示出了本文所公开的用于基于对WebRTC交互式流的QoS特性进行监测来提供网络管理的示例性WebRTC交互式系统10。具体地,示例性WebRTC交互式系统10包括QoS获取代理12,其提供用于获取WebRTC交互式流的QoS特性的点,WebRTC交互式流的QoS特性以其他方式可能对于外部网元不可访问。另外地,示例性WebRTC交互式系统10包括通信地耦接到QoS获取代理12并且可基于接收到的QoS特性来发起网络管理任务的QoS监测代理14。QoS监测代理14还可以存储并关联QoS特性,并且可以基于关联处理来发起网络管理任务。如本文中所使用的,“WebRTC交互式流”是指根据WebRTC标准和协议在两个或更多个端点之间通过的交互式媒体流和/或交互式数据流。作为非限制性的例子,构成WebRTC交互式流的交互式媒体流可以包括实时音频流和/或实时视频流,或者其他实时媒体和/或数据流。
[0021]在讨论QoS获取代理12和QoS监测代理14的细节之前,首先描述在图1的WebRTC交互式系统10中的WebRTC交互式流的建立。在图1中,第一计算设备16执行第一 WebRTC客户端18,并且第二计算设备20执行第二 WebRTC客户端22。将会理解,第一和第二计算设备16和20可以都位于同一公共或专用网络内,或者可以位于分离的、通信地耦接的公共或专用网络内。图1的WebRTC交互式系统10的一些实施例可以设置,第一和第二计算设备16和20中的每一个都可以是具有网络通信能力的任何计算设备,诸如智能电话、平板计算机、专用web装置、媒体服务器、台式或服务器计算机、或者特制的通信设备,这些作为非限制性的例子。第一和第二计算设备16和20分别包括通信接口 24和26,用于将第一和第二计算设备16和20与一个或多个公共和/或专用网络连接。在一些实施例中,第一和第二计算设备16和20中的元件可以分布在多于一个的计算设备16、20上。
[0022]在该例子中,第一和第二 WebRTC客户端18和22可以每个都是web浏览器应用、专用通信应用、或无接口(interface-less)应用(诸如守护进程(daemon)或服务应用),这些作为非限制性的例子。第一 WebRTC客户端18包括脚本引擎28和WebRTC功能提供者30。类似地,第二 WebRTC客户端22包括脚本引擎32和WebRTC功能提供者34。脚本引擎28和32使得以脚本语言(诸如JavaScript)编写的客户端侧应用分别在第一和第二WebRTC客户端18和22内执行。脚本引擎28和32还提供应用编程接口(API)以便利于与第一和/或第二 WebRTC客户端18、22内的其他功能提供者的通信、与第一和/或第二计算设备16、20的通信、以及/或者与其他web客户端、用户设备或web服务器的通信。第一WebRTC客户端18的WebRTC功能提供者30和第二 WebRTC客户端22的WebRTC功能提供者34实现使得能够经由WebRTC进行实时交互式流所必需的协议、编解码器和API。脚本引擎28和WebRTC功能提供者30经由一组定义的API而通信地耦接,如双向箭头36所示。同样,脚本引擎32和WebRTC功能提供者34如由双向箭头38所示那样通信地耦接。
[0023]WebRTC应用服务器40提供WebRTC web应用(未示出)给请求的第一和第二WebRTC客户端18、22。在一些实施例中,WebRTC应用服务器40可以是单个服务器,而在一些应用中,WebRTC应用服务器40可以包括彼此通信地耦接的多个服务器。将会理解,WebRTC应用服务器40可以与第一和第二计算设备16和/或20存在于同一公共或专用网络中,或者可以位于分开的、通信地耦接的公共或专用网络内。
[0024]图1进一步示出了从在第一 WebRTC客户端18和第二 WebRTC客户端22之间建立WebRTC交互式流42产生的特有的WebRTC “三角形”拓扑结构。为了建立WebRTC交互式流42,第一 WebRTC客户端18和第二 WebRTC客户端22都从WebRTC应用服务器40下载同一WebRTC web应用(未示出)。在一些实施例中,WebRTC web应用包括HTML5/JavaScriptweb应用,其使用HTML5提供丰富的用户界面,并且使用JavaScript来处理用户输入并与WebRTC应用服务器40通信。
[0025]第一 WebRTC客户端18和第二 WebRTC客户端22接着分别与WebRTC应用服务器40建立安全web连接44和46,并且参与对等连接发起对话48。对等连接发起对话48可以包括在第一 WebRTC客户端18、第二 WebRTC客户端22和/或WebRTC应用服务器40之间传送以建立用于WebRTC交互式流42的对等连接的任何数据。对等连接发起对话48可以包括WebRTC会话描述对象、超文本传输协议(HTTP)报头数据、证书、密码密钥和/或网络路由数据,这些作为非限制性的例子。在一些实施例中,对等连接发起对话48可以包括WebRTC提供/应答交换。在对等连接发起对话48期间交换的数据可以用来确定用于所期望的WebRTC交互式流42的媒体类型和能力。一旦对等连接发起对话48完成,WebRTC交互式流42可以经由第一 WebRTC客户端18和第二 WebRTC客户端22之间的安全对等连接50被建立。因此,在图1中,WebRTC “三角形”的顶点是WebRTC应用服务器40、第一 WebRTC客户端18和第二 WebRTC客户端22。“三角形”的边缘由安全web连接44、46和安全对等连接50来表示。
[0026]将会理解,一些实施例可以利用不同于如图1所示的WebRTC “三角形”拓扑图的拓扑图。例如,作为非限制性的例子,一些实施例可以采用“梯形”拓扑图,其中两个web服务器经由诸如会话发起协议(SIP)或Jingle的协议彼此直接通信。将进一步理解的是,作为第二 WebRTC客户端22的代替,第二计算设备20可以包括SIP客户端设备、Jingle客户端设备或通信地耦接到电话的公共交换电话网(PSTN)网关设备。
[0027]在一些实施例中,安全web连接44和/或安全对等连接50可以从网元52通过。网元52可以是具有网络通信能力并提供媒体传输和/或媒体处理功能的计算设备。作为非限制性的例子,网元52可以是使用中继穿透NAT(TURN)服务器。
[0028]在图1的例子中,所得到的WebRTC交互式流42经由安全对等连接50在第一WebRTC客户端18和第二 WebRTC客户端22之间通过。随着WebRTC交互式流42的进行,第一和第二 WebRTC客户端18和22可以确定WebRTC交互式流42的各种QoS特性,并且可以相应地调节它们的功能。然而,对于WebRTC交互式流42在它的网络上发生的实体来说,确定和利用WebRTC交互式流42的QoS特性可能是不现实或不可能的。例如,如果第一 WebRTC客户端18是企业网络的一部分,那么企业网络的负责维持最小QoS标准的元件可能无法确定企业网络是否正在提供足够的资源来支持WebRTC交互式流42。
[0029]在这一点上,提供了图1的QoS获取代理12和QoS监测代理14。QoS获取代理12通信地耦接到第一 WebRTC客户端18的WebRTC功能提供者30,如箭头54所示。在一些实施例中,QoS获取代理12可以实现为用于第一 WebRTC客户端18的扩展或插件,可以集成到WebRTC功能提供者30和/或脚本引擎28中,以及/或者可以是从WebRTC应用服务器40下载的WebRTC web应用(未示出)的一部分。QoS获取代理12被配置为从WebRTC功能提供者30获得指示WebRTC交互式流42的质量的WebRTC交互式流QoS特性(未示出)。在一些实施例中,QoS获取代理12可以从WebRTC功能提供者30获得WebRTC交互式流QoS特性。作为举例,WebRTC交互式流QoS特性可以包括经由实时传输控制协议(RTCP)提供给WebRTC功能提供者30的数据或由其获得的数据。一些实施例可以设置,QoS获取代理12可以从在第一计算设备16上执行的操作系统以及/或者从与第一计算设备16相关联的硬件(诸如网络接口卡(未示出))获得WebRTC交互式流QoS特性。
[0030]作为非限制性的例子,WebRTC交互式流QoS特性可以包括吞吐量水平、所传送的八位字节计数、所传送的包计数、所丢弃的包计数、抖动水平、时延水平、乱序传递指示、往返延时、平均意见得分(MOS)、会话标识符、网络地址、和/或时间戳。在一些实施例中,WebRTC交互式流QoS特性可以表示WebRTC交互式流42的“端到端”属性,指示WebRTC交互式流42作为整体的质量。一些实施例可以设置,WebRTC交互式流QoS特性表示“逐跳”属性,指示当WebRTC交互式流42在中间网元之间通过时(例如当WebRTC交互式流42从网元52向第一 WebRTC客户端18通过时)WebRTC交互式流42的质量。
[0031]如箭头56所示,QoS获取代理12将指示WebRTC交互式流42的质量的WebRTC交互式流QoS特性传递到QoS监测代理14。QoS监测代理14可以位于第一计算设备16上、位于与第一计算设备16相同的公共或专用网络内的不同计算设备上、以及/或者位于分开的、通信地耦接的公共或专用网络中的计算设备上。在一些实施例中,QoS获取代理12经由HTTP、超文本传输协议安全(HTTPS)和/或网络套接字连接(作为非限制性的例子)而通信地耦接到QoS监测代理14。
[0032]QoS监测代理14接着基于由QoS获取代理12传递的WebRTC交互式流QoS特性来发起网络管理任务(未示出)。在一些实施例中,网络管理任务可以包括基于WebRTC交互式流QoS特性来发起对网络的立即修改、自动触发警报58、以及/或者使得自动或半自动脚本60执行。一些实施例可以设置,网络管理任务由QoS监测代理14通过与网元(诸如网元52)进行通信而发起。
[0033]一些实施例可以设置,QoS监测代理14可以采用本领域技术人员已知的任何适当的数据存储库(未示出)来存储WebRTC交互式流QoS特性。存储WebRTC交互式流QoS特性可以包括将WebRTC交互式流QoS特性存储在易失性或非易失性存储器中、存储在一个或多个存储器中的数据结构中、以及/或者存储在关系数据库或面向对象数据库中(作为非限制性的例子)。接着,QoS监测代理14可以关联两个或更多个存储的QoS特性,并且可以基于该关联处理来发起网络管理任务。作为非限制性的例子,QoS监测代理14可以基于该关联处理而生成报告62,和/或可以基于该关联处理而发起对网络进行修改。在一些实施例中,两个或更多个存储的QoS特性可以基于这两个或更多个存储的QoS特性的共有属性而被关联,所述共有属性诸如共有会话标识符、共有网络地址和/或共有时间戳。将会理解,这两个或更多个存储的QoS特性一起可以涉及单个WebRTC交互式流,或者可以涉及同时和/或在限定时间段内发生的多个WebRTC交互式流。以这种方式,QoS监测代理14可以指导用于WebRTC交互式流42和/或者其他并行或未来的WebRTC交互式流的网络优化,包括动态地实时调节网络属性或路由以改进QoS特性。
[0034]根据本文描述的一些实施例,QoS监测代理14可通信地耦接到网元52 (如双向虚线箭头64所示),并且可以获得网元52所提供的QoS特性。如上面指出的,网元52可以是提供媒体传输和/或媒体处理功能的服务器,诸如TURN服务器、媒体服务器、路由器、会话边界控制器(SEC)、和/或网络交换机,这些作为非限制性的例子。将会理解,网络可以包括多于一个的网元52。在一些实施例中,QoS监测代理14可以存储由网元52提供的QoS特性,并且可以将由网元52提供的QoS特性与其他存储的QoS特性相关联,如上面所描述的。
[0035]一些实施例可以设置,QoS获取代理12可以通过在QoS获取代理12和QoS监测代理14之间建立的安全WebRTC数据流(未示出)来传递QoS特性。在这样的实施例中,QoS监测代理14还可以获得指示QoS获取代理12和QoS监测代理14之间的安全WebRTC数据流的质量的WebRTC数据流QoS特性。一些实施例可以设置,WebRTC数据流QoS特性可以由QoS监测代理14存储,并且可以与其他存储的QoS特性关联,如上面所描述的。以这种方式,WebRTC数据流QoS特性可以提供对网络的QoS属性的另外有益的深入了解。
[0036]提供图2,以说明在图1的QoS获取代理12和QoS监测代理14获取QoS特性和对QoS特性关联处理期间的示例性通信流。在图2中,图1的QoS监测代理14、第一 WebRTC客户端18、WebRTC应用服务器40和第二 WebRTC客户端22每个都由垂直的虚线表示。第一 WebRTC客户端18的QoS获取代理12、WebRTC功能提供者30和脚本引擎28被示出为分开的元件以更好地说明它们之间的通信流。将会理解,第二 WebRTC客户端22可以包括图1的脚本引擎32和WebRTC功能提供者34,为了清楚起见在该示例中省略了。将进一步理解的是,第一和第二 WebRTC客户端18和22每个都已经从WebRTC应用服务器40下载了WebRTC 使能的 web 应用,诸如 HTML5/JavaScript WebRTC 应用。
[0037]如图2所示,WebRTC交互式流的建立开始于和图1的对等连接发起对话48相对应的WebRTC提供/应答交换。相应地,第二 WebRTC客户端22以加密的格式(在本例中经由HTTPS连接)向WebRTC应用服务器40发送会话描述对象。WebRTC会话描述对象是被称为SDP对象A并由箭头66指示的会话描述协议(SDP)对象。SDP对象A表示WebRTC提供/应答交换中的“提供”。SDP对象A指定第二 WebRTC客户端22在WebRTC交互式流中支持并偏好使用的媒体类型和能力。如箭头68所示,WebRTC应用服务器40通过安全web连接转发SDP对象A到第一 WebRTC客户端18的脚本引擎28用于常规处理。
[0038]在脚本引擎28从WebRTC应用服务器40接收到SDP对象A后,脚本引擎28作为响应经由安全网络连接将称为SDP对象B的WebRTC会话描述对象发送到WebRTC应用服务器40,如箭头70所示。本例中的对象B表示WebRTC提供/应答交换中的“应答”。WebRTC应用服务器40转而将SDP对象B转发到第二 WebRTC客户端22,如箭头72所示。
[0039]继续参考图2,第一和第二 WebRTC客户端18和22(具体地,WebRTC功能提供者30)接着开始“穿孔(hole punching) ”以确定在第一和第二 WebRTC客户端18和22之间建立直接通信的最好方式。该穿孔处理在图2中由双向箭头74指示。穿孔是一种通常使用诸如交互式连接建立(ICE)的协议的技术,其中两个web客户端与不受限制的第三方服务器(未示出)建立连接,第三方服务器显露外部和内部地址信息以在直接通信中使用。如果穿孔成功,则第二 WebRTC客户端22与第一 WebRTC客户端18的WebRTC功能提供者30开始密钥协商以建立安全对等连接(由双向箭头76指示)。一经建立了安全对等连接,贝U第二WebRTC客户端22与第一 WebRTC客户端18的WebRTC功能提供者30开始交换安全WebRTC交互式流,如双向箭头78所示。
[0040]随着WebRTC交互式流的进行,第一 WebRTC客户端18的QoS获取代理12从WebRTC功能提供者30获得WebRTC交互式流QoS特性(由箭头80所指示)。将会理解,在一些实施例中,QoS获取代理12可以从其他源获得WebRTC交互式流QoS特性,诸如在第一计算设备16上执行的操作系统以及/或者从与第一计算设备16相关联的硬件(诸如网络接口卡),这些作为非限制性的例子。由QoS获取代理12获得的WebRTC交互式流QoS特性可以包括吞吐量水平、所传送的八位字节计数、所传送的包计数、所丢弃的包计数、抖动水平、时延水平、乱序传递指示、往返延时、M0S、会话标识符、网络地址、和/或时间戳,这些作为非限制性的例子。QoS获取代理12将WebRTC交互式流QoS特性传递到QoS监测代理14。在一些实施例中,WebRTC交互式流QoS特性可以经由安全HTTP/HTTPS连接或网络套接字连接而被传递,而一些实施例可以设置,WebRTC交互式流QoS特性经由在QoS获取代理12和QoS监测代理14之间建立的WebRTC数据流而被传递。在后一种情形中,QoS获取代理12和QoS监测代理14首先建立安全WebRTC数据流,如双向虚线箭头82所指示的。接着,QoS获取代理12将WebRTC交互式流QoS特性传递到QoS监测代理14,如箭头84所示。
[0041]提供图3,以在总体上描述QoS获取代理12与QoS监测代理14用于基于对QoS特性进行监测来提供网络管理的示例性操作。为了清楚起见,图3参考图1的示例性WebRTC交互式系统10的元件。在图3的例子中,操作始于第一 WebRTC客户端18的QoS获取代理12获得指示WebRTC交互式流42的质量的WebRTC交互式流QoS特性(框86)。WebRTC交互式流QoS特性可以包括吞吐量水平、所传送的八位字节计数、所传送的包计数、所丢弃的包计数、抖动水平、时延水平、乱序传递指示、往返延时、M0S、会话标识符、网络地址、和/或时间戳,这些作为非限制性的例子。WebRTC交互式流QoS特性可以包括经由RTCP提供给第一 WebRTC客户端18的数据或由第一 WebRTC客户端18获得的数据。一些实施例可以设置,QoS获取代理12可以从在第一计算设备16上执行的操作系统以及/或者从与第一计算设备16相关联的硬件(诸如网络接口卡)获得WebRTC交互式流QoS特性。
[0042]接着,QoS获取代理12将WebRTC交互式流42的WebRTC交互式流QoS特性传递到QoS监测代理14(框88)。一些实施例可以设置,WebRTC交互式流QoS特性可以经由安全HTTP/HTTPS连接或网络套接字连接来传递。在一些实施例中,WebRTC交互式流QoS特性可以经由在QoS获取代理12和QoS监测代理14之间建立的WebRTC数据流来传递。
[0043]接下来,QoS监测代理14基于WebRTC交互式流QoS特性而发起网络管理任务(框90)。在一些实施例中,网络管理任务可以包括基于WebRTC交互式流QoS特性来发起对网络的立即修改、自动触发警报58、以及/或者使得自动或半自动脚本60执行。一些实施例可以设置,发起网络管理任务可以包括存储WebRTC交互式流QoS特性、关联两个或更多个存储的QoS特性、并基于该关联处理来发起网络管理任务。作为非限制性的例子,QoS监测代理14可以基于该关联处理来生成报告62,以及/或者可以基于该关联处理来发起对网络进行修改。
[0044]图4A和4B提供了更详细的示例性一般处理,该处理用于图1的QoS获取代理12和QoS监测代理14基于WebRTC交互式流的QoS特性来提供网络管理。图4A示出了用于从多个源接收QoS特性并存储该QoS特性用于关联处理的示例性操作。图4B示出了用于基于QoS特性来发起网络管理任务的示例性操作。为了说明的目的,图4A和4B参考图1的示例性WebRTC交互式系统10的元件。
[0045]现在参考图4A,操作始于第一 WebRTC客户端18的QoS获取代理12获得指示WebRTC交互式流42的质量的WebRTC交互式流QoS特性(框92)。WebRTC交互式流QoS特性可以包括吞吐量水平、所传送的八位字节计数、所传送的包计数、所丢弃的包计数、抖动水平、时延水平、乱序传递指示、往返延时、M0S、会话标识符、网络地址、和/或时间戳,这些作为非限制性的例子。WebRTC交互式流QoS特性可以包括经由RTCP提供给第一 WebRTC客户端18的数据或由第一 WebRTC客户端18获得的数据。一些实施例可以设置,QoS获取代理12可以从在第一计算设备16上执行的操作系统以及/或者从与第一计算设备16相关联的硬件(诸如网络接口卡)获得WebRTC交互式流QoS特性。
[0046]—些实施例可以设置,QoS获取代理12和QoS监测代理14被配置为经由安全HTTP/HTTPS连接或网络套接字连接进行通信,或者经由在QoS获取代理12和QoS监测代理14之间建立的WebRTC数据流进行通信。在后一种情形中,QoS获取代理12可以可选地在QoS获取代理12与QoS监测代理14之间建立WebRTC数据流(框94)。接着,QoS获取代理12将WebRTC交互式流QoS特性传递到QoS监测代理14 (框96)。QoS监测代理14接着可以存储WebRTC交互式流42的WebRTC交互式流QoS特性(框98)。根据本文所公开的一些实施例,存储WebRTC交互式流42的WebRTC交互式流QoS特性可以包括将WebRTC交互式流QoS特性存储在QoS监测代理14可访问的数据库或其他数据储存库中。
[0047]继续参见图4A,QoS监测代理14还可以可选地接收由网元52提供的QoS特性(框100)。网元52可以是具有网络通信能力并提供媒体传输和/或媒体处理功能的计算设备。作为非限制性的例子,网元52可以是TURN服务器、媒体服务器、路由器、SBC和/或网络交换机。QoS监测代理14可以接着存储由网元52提供的QoS特性(框102)。如果QoS获取代理12先前在框94与QoS监测代理14建立了 WebRTC数据流,则QoS监测代理14可以获得指示WebRTC数据流的质量的WebRTC数据流QoS特性(框104)。QoS监测代理14可以接着存储WebRTC数据流QoS特性(框106)。处理接着在图4B的框108处继续。
[0048]现在参考图4B,QoS监测代理14基于WebRTC交互式流QoS特性、并且另选地基于网元52所提供的QoS特性和/或WebRTC数据流QoS特性而发起网络管理任务(框108)。图4B进一步示出了根据一些实施例的可以包括发起网络管理任务的操作。在一些实施例中,发起网络管理任务可以包括发起对网络的立即修改(框110)。这可以使得QoS监测代理14能够快速地并且动态地响应于不利的网络状态。一些实施例可以设置,发起网络管理任务可以包括自动触发警报58 (框112)。发起网络管理任务还可以包括使得自动或半自动脚本60执行(框114)。
[0049]作为任务发起网络管理的操作的一部分,QoS监测代理14可以关联两个或更多个存储的QoS特性(框116)。所述两个或更多个存储的QoS特性可以包括WebRTC交互式流QoS特性、由网元52提供的QoS特性、和/或WebRTC数据流QoS特性。所述两个或更多个存储的QoS特性可以基于所述两个或更多个存储的QoS特性的共有属性而被关联,所述共有属性诸如共有会话标识符、共有网络地址和/或共有时间戳。基于关联处理,QoS监测代理14可以生成报告62 (框118)。QoS监测代理14还可以基于使两个或更多个存储的QoS特性关联来发起对网络的修改(框120)。
[0050]图5提供了按照示例性计算机系统124的示例形式的处理系统122的示意图表示,计算机系统124适于执行指令以执行本文所描述的功能。在一些实施例中,处理系统122可以执行指令以执行图1的QoS获取代理12与QoS监测代理14的功能。在这一点上,处理系统122可以包括计算机系统124,在计算机系统124内可以执行用于使得处理系统122执行本文所讨论方法中的任何一个或多个的一组指令。处理系统122可以连接(作为非限制性的例子,联网)至局域网(LAN)、内联网、外联网或互联网中的其他机器。处理系统122可以在客户端-服务器网络环境中操作,或者作为对等(或分布式)网络环境中的对等机器来操作。尽管仅示出了单个处理系统122,术语“控制器”和“服务器”也将用来包括机器的任何集合,所述机器单独地或共同地执行一组(或多组)指令以执行本文所讨论的方法中的任何一个或多个。处理系统122可以是服务器、个人计算机、台式计算机、膝上型计算机、个人数字助理(PDA)、计算平板、移动设备、或任何其他设备,并且可以表示服务器或用户的计算机(作为非限制性的例子)。
[0051]示例性计算机系统124包括处理设备或处理器126、主存储器128(作为非限制性的例子,只读存储器(ROM)、闪速存储器、诸如同步DRAM(SDRAM)的动态随机存取存储器(DRAM)等)以及静态存储器130 (作为非限制性的例子,闪速存储器、静态随机存取存储器(SRAM)等),它们可以经由总线132相互通信。另选地,处理设备126可以直接或经由一些其他连接方式而连接到主存储器128和/或静态存储器130。
[0052]处理设备126表示一个或多个处理设备,诸如微处理器或中央处理单元(CPU)等。更具体地,处理设备126可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实现其他指令集的处理器或者执行指令集的组合的处理器。处理设备126被配置为执行指令134和/或高速缓存的指令136中的处理逻辑,用于执行本文所讨论的操作和步骤。
[0053]计算机系统124可以还包括按照网络接口设备138形式的通信接口。计算机系统124可以还包括或不包括输入140,当执行指令134、136时输入140接收待传递至计算机系统124的输入和选择。计算机系统124可以还包括或不包括输出142,包括但不限于显示器144。显示器144可以是视频显示器单元(作为非限制性的例子,液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入设备(作为非限制性的例子,键盘)、光标控制设备(作为非限制性的例子,鼠标)、和/或触摸屏设备(作为非限制性的例子,平板输入设备或屏幕)。
[0054]计算机系统124可以包括或不包括数据存储设备146,数据存储设备146包括使用驱动器148以在计算机可读介质150中存储本文所描述的功能,计算机可读介质150上存储有具体实现本文所描述的方法或功能中的任何一个或多个的一组或多组指令152 (例如软件)。这些功能可以包括处理系统122、参与用户设备和/或许可服务器(作为非限制性的例子)的其他功能和/或这些方法。所述一组或多组指令152也可以在它们由计算机系统124执行期间,完全或者至少部分地驻留在主存储器128和/或处理设备126内。主存储器128和处理设备126也构成机器可访问存储介质。指令134、136和/或152可以进一步通过网络154经由网络接口设备138而被发送或接收。网络154可以是内部网络(intra-network)或互联网络(inter-network)。
[0055]虽然计算机可读介质150在示例性实施例中被示出为单个介质,但是术语“机器可访问存储介质”应当用来包括单个介质或多个介质(作为非限制性的例子,集中式或分布式数据库,和/或相关联的高速缓存和服务器),这些介质存储一组或多组指令152。术语“机器可访问存储介质”应当还用来包括能够存储、编码或携带用于由机器执行并使机器执行本文所公开的方法中的任何一个或多个的一组指令的任何介质。术语“机器可访问存储介质”因此将被用来包括但不限于固态存储器、光和磁介质以及载波信号。
[0056]在此公开的实施例可以具体实现为硬件和存储在硬件中的指令,所述指令可以驻留在(作为非限制性的例子)随机存取存储器(RAM)、闪速存储器、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(ERPROM)、寄存器、硬盘、可移动盘、CD-ROM或本领域已知的任何其他形式的计算机可读介质。示例性存储介质耦接到处理器以使得处理器可以从存储介质读取信息并将信息写入到存储介质。另选地,存储介质可以是处理器的组成部分。处理器及存储介质可以存在于专用集成电路(ASIC)中。ASIC可以存在于远程站中。另选地,处理器及存储介质可以作为分立组件而存在于远程站、基站或服务器中。
[0057]还要指出的是,在此处的任何示例性实施例中所描述的操作性步骤被描述以提供示例和讨论。可以用许多与所示出的序列不同的序列来执行所描述的操作。此外,在单个操作性步骤中描述的操作实际上可以在多个不同的步骤中执行。另外地,在示例性实施例中所讨论的一个或多个操作性步骤可以被组合。将会理解,在流程图中示出的操作性步骤可以进行多种不同的修改,这对于本领域的技术人员来说是显而易见的。本领域的技术人员还会理解,信息和信号可使用多种多样的不同技术和方法来表示。作为非限制性的例子,贯穿上述描述可能参考的数据、指令、命令、信息、信号、比特、符号和芯片可以由电压、电流、电磁波、磁场或粒子、光场或粒子、或者它们的任何组合来表示。
[0058]提供本公开内容的先前描述以使本领域的任何技术人员都能够实现或使用本公开内容。对本公开内容的各种修改对于本领域技术人员将是显而易见的,并且此处定义的一般原理可以被应用于其他变型而不会脱离本公开内容的精神或范围。因此,本公开内容并非旨在被限制为此处描述的示例和设计,而是将被给予和此处公开的原理及新颖特征一致的最宽范围。
【权利要求】
1.一种用于基于对Web实时通信WebRTC交互式流的服务质量QoS特性进行监测来提供网络管理的方法,包括: 由在计算设备上执行的WebRTC客户端的QoS获取代理获得WebRTC交互式流QoS特性,所述WebRTC交互式流QoS特性指示网络上的WebRTC交互式流的质量; 由所述QoS获取代理将所述WebRTC交互式流QoS特性传递到所述WebRTC客户端外部的QoS监测代理;和 由所述QoS监测代理基于所述WebRTC交互式流QoS特性来发起网络管理任务。
2.如权利要求1所述的方法,还包括由所述QoS监测代理存储所述WebRTC交互式流QoS特性; 其中发起所述网络管理任务包括由所述QoS监测代理关联两个或更多个存储的QoS特性。
3.如权利要求1所述的方法,还包括由所述QoS监测代理获得由网元提供的QoS特性; 其中发起所述网络管理任务进一步基于由所述网元提供的所述QoS特性。
4.如权利要求3所述的方法,还包括由所述QoS监测代理存储由所述网元提供的所述QoS特性; 其中发起所述网络管理任务包括: 由所述QoS监测代理关联两个或更多个存储的QoS特性;和 基于所述关联的结果来发起所述网络管理任务。
5.如权利要求1所述的方法,其中,由所述QoS获取代理传递所述WebRTC交互式流QoS特性包括: 在所述QoS获取代理和所述QoS监测代理之间建立WebRTC数据流;和 由所述QoS获取代理经由所述WebRTC数据流来传递所述WebRTC交互式流QoS特性。
6.如权利要求5所述的方法,还包括: 由所述QoS监测代理获得WebRTC数据流QoS特性,所述WebRTC数据流QoS特性指示所述WebRTC数据流的质量;并且 其中发起所述网络管理任务进一步基于所述WebRTC数据流QoS特性。
7.一种用于基于对Web实时通信WebRTC交互式流的服务质量QoS特性进行监测来提供网络管理的系统,包括: 至少一个通信接口; 第一计算设备,与所述至少一个通信接口相关联并且包括QoS获取代理;和 第二计算设备,包括QoS监测代理; 所述QoS获取代理被配置为: 获得WebRTC交互式流QoS特性,所述WebRTC交互式流QoS特性指示网络上的WebRTC交互式流的质量;和 将所述WebRTC交互式流QoS特性传递到所述QoS监测代理;并且 所述QoS监测代理被配置为基于所述WebRTC交互式流QoS特性来发起网络管理任务。
8.如权利要求7所述的系统,其中所述QoS监测代理还被配置为存储所述WebRTC交互式流QoS特性; 其中所述QoS监测代理被配置为通过关联两个或更多个存储的QoS特性来发起所述网络管理任务。
9.如权利要求7所述的系统,其中所述QoS监测代理还被配置为获得由网元提供的QoS特性; 其中所述QoS监测代理被配置为进一步基于由所述网元提供的所述QoS特性来发起所述网络管理任务。
10.如权利要求9所述的系统,其中所述QoS监测代理还被配置为存储由所述网元提供的所述QoS特性; 其中所述QoS监测代理被配置为通过以下操作来发起所述网络管理任务: 关联两个或更多个存储的QoS特性;和 基于所述关联的结果来发起所述网络管理任务。
【文档编号】H04L12/24GK104518908SQ201410499672
【公开日】2015年4月15日 申请日期:2014年9月26日 优先权日:2013年9月26日
【发明者】H·S·瓦克斯曼, J·H·约亚库姆 申请人:阿瓦亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1