首页> 中国专利> 基于服务质量(QOS)的系统、网络和顾问

基于服务质量(QOS)的系统、网络和顾问

摘要

用于基于与服务质量(QOS)相关的信息对通信进行路由的工艺和技术。更具体而言,本文献公开了用于选择与同QOS相关的信息已经被测量的其他通信路径部分重叠的通信路径。所述工艺和技术包括从所测量的QOS信息中为通信路径内的路径段确定性能等级。

著录项

  • 公开/公告号CN102668459A

    专利类型发明专利

  • 公开/公告日2012-09-12

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN201080048492.1

  • 发明设计人 李劲;黄诚;Y·王;R·R·杨;

    申请日2010-10-12

  • 分类号H04L12/28(20060101);H04L12/56(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人胡利鸣

  • 地址 美国华盛顿州

  • 入库时间 2023-12-18 06:28:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-08-12

    专利权的转移 IPC(主分类):H04L12/28 变更前: 变更后: 登记生效日:20150720 申请日:20101012

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

  • 2015-04-01

    授权

    授权

  • 2012-11-07

    实质审查的生效 IPC(主分类):H04L12/28 申请日:20101012

    实质审查的生效

  • 2012-09-12

    公开

    公开

说明书

背景技术

尽管大部分通信系统在大多数时间运行良好,但是这些系统有时确实遭受 其性能方面的一定程度的不可预测性。随着系统的复杂度增加,系统的一个或 多个部分可能经历令人不满意的性能的机会增加。例如,假定特定实体(在此 为实体A)是特定计算机上的呼叫另一实体(在此为实体B)的VOIP(因特网 协议承载语音)客户端,该VOIP客户端使用PTSN(公共交换电话网络)网 络上的电话。前述看似简单的过程可能涉及多个服务器和多个网络段。更具体 而言,实体A可能首先需要达到VoIP提供者处的媒体服务器。为了这样做, 实体A可能需要获得网关服务器或中继服务器的帮助,使得其可以穿过VoIP 提供者处的NAT(网络地址翻译)防火墙。媒体服务器还可以位于一个或多个 负载平衡设备之后,使得该系统可以选择使用合适的媒体服务器来服务于特定 呼叫。然后,媒体服务器可能需要将VoIP分组(由实体A产生)翻译成PSTN 网关服务器所接受的格式,该PSTN网关服务器将通过PSTN网络把所述语音 分组所传达的语音信号进一步递送给电话。

上述特定过程因此至少需要下列若干设备的服务:1)网关服务器;2)负 载平衡设备;3)媒体服务器;以及4)PSTN网关服务器。此外,所涉及的语 音信号还穿过至少下列网络段:1)从客户端到网关服务器的网络段;2)从网 关服务器到负载平衡设备的网络段;3)从负载平衡设备到媒体服务器的网络 段;以及4)从媒体服务器到PSTN网关服务器的网络段。这些网络段中的一 些(例如网关服务器与负载平衡设备之间的网络段)可能是非常短的。此外, 这些网络段甚至可能处于相同的网络交换机上,使得它们不大可能经历显著的 性能问题。值得注意的可能还有,网络段可包括下列各项的一部分:通信路径 (例如总线或其他介质)、实体、设备或其组合。

一些其他网络段(例如客户端与网关服务器之间以及负载平衡设备与媒体 服务器之间的网络段)可能是非常长的并且涉及多个网络路由器和交换机。另 外,VoIP分组可能需要与其他数据分组(例如通过web浏览、电子邮件、文 件传输和/或媒体流式传输产生的那些数据分组)竞争。此外,实体A可能处 于802.11WiFi网络上,该WiFi网络可能遭受弱无线信号、衰落、和/或干扰。

上述问题中的任何一个(和/或其他问题)都可能导致实体A与实体B之 间的通信的不良性能等级。例如,巨大的网络通信量有时可能使网络、网络中 的特定节点、或者网络内的特定路径或网络段陷入停顿。在其他情况下或者附 加地,系统中的一个或多个服务器(或其他设备)可能变为过载。大量其他因 素也可能影响典型网络的性能。例如,WiFi网络和/或发生故障的服务器、路 由器等等上的噪声也可能导致网络或其部分的降低的性能。

网络的发生变化的性能等级将对一些应用和/或服务造成比其他应用和/或 服务更大的影响。例如,与以频繁度更低的基础传输数据或者可以忍受重传数 据以从性能问题中恢复的应用相比,VoIP应用(其要求网络上的实体之间的低 延迟通信)将对网络性能变化展现出更大一些的易感性。即时通讯、VoIP视频 会议、远程桌面、以及电话会议应用/服务代表了这些对网络性能敏感的应用中 的一些。

概述

下面呈现了简化的发明内容,以便提供对所公开主题的某些方面的基本概 念。本概述不是详尽的概观,它不旨在标识关键/重要元素,也不旨在描绘本 主题的范围。本概述的目的是以简化的形式来介绍一些概念,作为稍后提出的 更为详细的描述的序言。

本文献公开了基于服务质量(QOS)的服务顾问系统的工艺和技术,该系 统在一些实施例中运行包括一个以上实体和/或一个以上供所述实体进行通信 的通信路径的通信系统。在这样的系统中,特定通信中所涉及的特定通信路径 可以涉及一个或多个网络段和/或一个或多个服务器或其他设备。这些实施例的 QOS服务顾问从通信实体接收提交并且其包含特定通信中所涉及的通信路径 的性能等级的指示。QOS服务顾问还从这些提交中确定该通信中所涉及的网络 段、实体和/或设备。与这些提交相对应的通信路径与其他通信路径(其可能对 应于其他提交)部分地不相交并且部分地重叠。服务器可以使用多个提交来确 定并然后输出通信路径的各个网络段、组件、服务器、设备等等的所确定的性 能等级的指示。因此,QOS服务顾问还可以用于:诊断供应不足的网络段、组 件、服务器、设备等等;预测其他通信路径的性能等级;绕过系统的遭受相对 低性能的网络段对通信进行重新路由;调整通信组件和/或算法(例如增加前向 纠错等级和/或增加去抖动缓冲区的大小),来改善通过该系统的通信的服务质 量。

为了实现上述及相关目的,本文结合下面的描述和附图来描述某些说明性 方面。这些方面指示可以实践本发明主题的各种方式,它们均旨在落入本发明 主题的范围之内。当结合附图阅读以下详细描述时,本发明的其他优点和新颖 特征将变得显而易见。

附图说明

参考附图来描述具体实施方式。在附图中,附图标记最左边的数字标识该 附图标记首次出现的附图。在不同附图中使用相同的附图标记指示相似或相同 的项。

图1是网络的说明性示意图。

图2是示出了内部实现基于QOS的路由服务的联网环境的说明性示意图。

图3是基于QOS的客户端/服务器路由系统的说明性框图。

图4是用于使用基于QOS的客户端/服务器系统对通信进行路由的方法的 说明性流程图。

图5是用于使用基于QOS的客户端应用对通信进行路由的方法的说明性 流程图。

图6是用于使用基于QOS的服务器应用对通信进行路由的方法的说明性 流程图。

具体实施方式

本文献描述了用于处理联网环境中的对等体和其他实体之间的通信的工 具。更具体而言,本文献公开了基于服务质量或QOS的服务顾问系统,其中 客户端测量网络中的各个通信路径的QOS性能等级。客户端还将所得到的信 息提交给服务器。该服务器接收QOS信息并且确定如下通信路径的QOS性能 等级:所述通信路径与客户端为之报告QOS性能等级的通信路径部分地不相 交并且部分地重叠。该服务器还输出对这些不相交/重叠的通信路径的所确定 QOS性能等级的指示。一些实施例的QOS服务顾问还可以用于:诊断供应不 足的网络段和/或服务器;预测新通信路径的性能等级;绕过展示出低性能的通 信路径段对通信进行重新路由;调整通信算法(例如增加前向纠错等级和/或增 加具有这样的机制的系统的去抖动缓冲区的大小),以改善通过这些系统的通 信的服务质量。

更具体而言,本文献公开了由网络托管的QOS应用的实例,在所述网络 中,各个实体基于确定的QOS性能等级来对通信进行路由。本文献还公开了 一种网络,其中所托管的各个实体根据所确定的这样的QOS性能等级对通信 进行路由。附加地,本文献公开了客户端/服务器系统,该系统测量QOS性能 等级,并且从所测量的QOS性能等级中为穿过网络的各个通信组装路由。

此外,本文献公开了用于在网络内和/或网络之间对通信进行路由的各个基 于QOS的方法。例如,本文献公开了一种被客户端用来测量QOS性能等级以 及将测量结果提交给服务器的方法。在所公开的另一方法中,客户端(或者甚 至另一客户端)查询服务器以获得如下的通信路径的所确定的QOS性能等级: 所述通信路径与客户端已经为之提交了所测量QOS性能等级的通信路径部分 地不相交并且部分地重叠。客户端可以使用网络QOS信息来调整其通信算法 中的参数(例如用在前向纠错算法中的冗余数、或者去抖动缓冲区等级),这 可能改善最终用户所体验到的QOS。本文献所公开的另一方法包括:服务器从 由客户端提交的所测量的QOS性能等级中为如下的通信路径确定QOS性能等 级:所述通信路径与所述客户端已经为之提交了所测量QOS性能等级的通信 路径部分地不相交并且部分地重叠。

在所公开的其他方法中,基于QOS的路由系统包括服务器和一个(或多 个)客户端,所述服务器和客户端包括了在此公开的方法及其等价物的各个方 面。另外,本文献公开了用于存储计算机可执行指令的各个计算机可读存储介 质,所述计算机可执行指令在被执行时使计算机执行在此所述的方法及其等价 物。

图1描绘了通信系统或网络100的说明性示意图。如图1所示,一对用户 102A和B通过一对计算机104A和B(或其他计算设备)使用网络100来在使 用应用108的同时交换各个通信106A和B。尽管图1示出了仅仅具有两个用 户102及其之间的一个通信路径的特定网络100,但是许多网络100可以被大 量用户102使用,并且包含大量网络段和服务器(以及其他设备),并且甚至 可以包含其他网络或与其他网络通信。尽管未在图1中示出,但是网络100可 以包括各个通信和数据处理设备,比如调制解调器、路由器、服务器、网关等 等,这些设备促进通信106A和B在用户102之间的传输。例如,当在基于网 络的游戏系统上开展玩游戏时,一个计算机104可以把传达控制输入的通信 106A从用户102A传送给计算机104B。响应于此,计算机104B可以把具有经 更新的图形数据的通信106B返回给计算机104A以用于在其上显示以及传达来 自用户102A的控制输入的效果。

当这些通信106A和B穿过网络100时,网络100及其部分以某些性能等 级运行,这些性能等级由QOS服务110所测量的诸如吞吐量、数据丢失率、 等待时间等等之类的标准来表征。此外,QOS服务110基于所测量的QOS性 能等级将通信106A和B路由通过网络100(以及路由到网络100/从网络100 进行路由)。在此时可能值得注意的是,QOS服务110可以由服务器112和/ 或计算机104中的一个或多个来托管。此外,QOS服务110可以由特定网络运 行或包含在特定网络内或者可以与特定网络分开。附加地或可替代地,QOS服 务110可以被ISP或其他组织(例如企业)拥有、运营、或者控制。

在图1所示的可替代网络100中,用户102正好通过网络100和计算机104 与彼此玩交互式游戏。因此,用户102致使信息(即通信106A和B)在两个 计算机104之间流式传输。用户102常常期望交互式游戏模拟实时体验。

为了实现用户102的这些期望,网络100力争以如下的速度和等待时间将 这些通信106A和B流式传输给用户102(即它们相应的计算机104):所述速 度和等待时间被选为与交互式游戏中所涉及的现实世界体验类似地模拟与现 实世界体验相关联的步调和信息内容。因此,该交互式游戏被认为是实时地执 行或进行的。因此,术语“实时”是主观的。更具体而言,可能被认为是“实 时”的是部分地由下列各项确定的:用户102的期望;特定网络100的能力; 这些特定用户102已知的能力(可能向或可能未向所述用户通知从其他网络可 用的能力);等等。尽管如此,网络100和计算机104的能力(以及限制)常 常确定:整个网络100是否可以充分响应于用户102的输入和感官感知来提供 交互式体验以提供用户102主观感受模拟实时体验。如果通信路径100经历不 足的带宽、过多的分组丢失(突发或以其他方式)、递送的长延迟、递送等待 时间的过大改变(抖动)、不稳定性等等,则交互式体验可能受损。

因此,在给定网络100的配置的情况下,网络100是否递送实时模拟取决 于该网络是否与当前可用的其他网络相比倾向于更多地利用该网络的底层能 力。结果,被用户认为是实时的那些网络100倾向于最小化对用户102所感受 的交互式体验的破坏。为了这样做,诸如在此公开的网络100之类的实时网络 通常具有它们运行以满足或超过的所选服务质量(QOS)。用户102常常按照 诸如等待时间、分组(或数据)丢失率、带宽、吞吐量等等之类的某些性能参 数(这些参数中的许多都与通信106A和B相关联)来指定QOS等级。本文献 公开了用于通过基于从所测量的QOS性能等级(但是该QOS性能等级针对与 测量了QOS性能等级的通信路径不相交/重叠的通信路径)中确定的QOS性能 等级对通信106A和B进行路由来改善网络100(实时或以其他方式)的性能 的工艺和技术。

QOS服务顾问可以将通信路由到对目标应用具有优选性能等级的通信路 径。可替代地,计算机104可以使用所得到的QOS性能等级的知识来调节该 应用所采用的通信算法的参数。例如,计算机104中的QOS服务顾问可以将 前向纠错(FEC)算法的参数调整为所选等级,使得其可以保护通信免受在通 信会话期间可能遇到的突发分组丢失。可替代地或附加地,QOS服务顾问可以 增加去抖动缓冲区的大小,使得该缓冲区大得足以抵消通信所涉及的特定通信 路径上的分组递送等待时间的改变。因此,可以改善用户的主观的交互式体验 (因为已经应用了FEC解码、去抖动缓冲区重新确定大小、或者其他调整)。

此外,用户102可能希望使用寻求提供实时体验的其他应用108(数量太 大在此不予完整枚举)。例如,用户102常常希望从服务器和其他内容源流式 传输许多类型的音频、视觉、音频/视频以及其他内容。此外,尽管图1所示的 网络100提供与主观评级的实时性能一致的能力,但是网络100还为诸如交换 相对为静态的信息(例如文本文件、逗号分隔文件、缓慢更新的信息等等)的 那些应用之类的非实时应用108提供改善的能力。

图2描绘了内部实现QOS服务110(参见图1)的联网环境200的说明性 示意图。联网环境200包括:两个网状网络202和204;以及多个路由设备, 比如路由器206(其可能被定位在联网环境200中的多个位置处);以及在网 状网络202和204内(和/或与其通信)的各个实体之间对通信进行路由的软 件。许多网状网络202和204都采取分层树的形式以节省构建网络的成本(构 造网络的成本频繁地与网络的分支的长度相关),尽管如此,其他网络可以采 取网状形式以允许对网络的用户之间的信息进行更有效和灵活的路由。网状网 络202和204通常包括用户102可从中请求和接收各个服务、信息等等的各个 服务器208。用户102采用多个计算和/或通信设备来执行这些功能。在这样的 信息交换中所涉及的全部通信会话中,可以采用各个路由器、网络段、服务器 来促进用户间的通信。图2示出了具有计算机210的这些各个最终用户设备。

此外,网状网络202和204可以以各种方式来组织。例如,网状网络204 包括企业的服务器208和计算机210。因此,网状网络204的各个服务器208 正好反映企业的组织方案。结果,顶层服务器208可能是企业的总部服务器208 之一。网状网络204内的其他服务器208可能表示企业的各个分支、子公司、 制造地点、办公室等等。与之相比,因特网服务提供商(ISP)拥有网状网络 202。因此,网状网络202的各个服务器208包括来自各个地理区域、地区等 等的服务器,这些服务器由ISP来服务并且以地理分层结构布置。当然,在本 公开的范围内还包括了其他分层方案。

关于用户102(参见图1),他们每个通常都与计算机210之一相关联。 这些计算机210与服务器208通信,并且托管允许用户102访问在网状网络202 和204内的任何地方以及在与所述网状网络通信的位置处的信息和服务的应用 和其他软件。在整个网状网络202和204中,各个实体212(无论它们是软件 对象、程序、应用、模块、硬件、用户等等)被(各件设备208、210等等) 托管。因此,这些实体212实时地或非实时地交换通信106(参见图1)。

此时可能值得注意的是,尽管网状网络202和204在图中被示为分层结构 (其中可能暗示通信仅仅在分层结构中的“向上”和“向下”方向上流动), 但是其中托管的各个实体212与除了在网状网络202和204中处于其上或其下 以外的其他位置处的实体212通信。换言之,驻留在网状网络202和204上的 实体212可以采用对等、水平、和其他额外分层(extra-hierarchic)通信路径。 结果,在许多情况下,在任何两个实体212之间可能存在一个以上的通信路径。

继续参考图2,实体212中的一些或全部都可以在网状网络202和204上 检测和定位彼此。更具体而言,各个实体212(充当对等体)可以通过合适协 议获得ASID(网络提供商的AS号)、PID(对等ID)、关于其对等体的位置 的子区信息(在P4P框架中由P2P应用的提供商门户来建议)、以及与其他实 体212相关联的LOC(地理位置)。在替代方式中,实体212可以检测网状网 络202和204内的其他实体212的存在,或者可以通过执行DSN询问(或者 通过其他非限制性工艺和技术)获悉这样的其他实体212。

无论用于标识出其他实体212的工艺和技术如何,当一个实体212期望与 另一实体212通信时,传送实体212建立到接收实体的通信路径。当然,通信 路径可以包括路由器206中的一个或多个和/或一个或多个服务器208。

根据各个实施例,传送实体212可以将其在所建立的通信路径106和/或其 他通信路径106上观测到的QOS性能等级提交给QOS服务110(参见图1)。 如上面所讨论的那样,该通信路径可能涉及多个服务器、网络或通信路径段等 等。因此,作为确定这些各个路径段的性能等级的一部分,QOS服务110可以 标识出该通信路径中的该组服务器、路径段等等。QOS服务110可以要么通过 从传送实体212、要么从网络数据库获得信息来标识出这些路径段。同时,QOS 服务可以继续从各个实体接收提交(其关于各个通信路径),标识出相应通信 中所涉及的路径段、设备、实体等等,以及确定所涉及的路径段、设备、实体 等等的相应性能等级。随着QOS服务110接收附加的提交,其确定相应路径 段的性能等级的能力相应地增加。从这些所确定的路径段性能等级中,QOS服 务可以预测网状网络202和204中的各个通信路径的性能等级。

各个实体(例如客户端)可以向QOS服务110(参见图1)查询与可能存 在于它们自己之间以及它们所针对的接收方实体212之间的各个通信路径有关 的所确定(和所测量)的QOS性能等级。由于QOS服务110能够推断网状网 络202和204中的路径段的各个QOS性能等级,因此QOS服务110即使在不 存在针对实体为之提交了查询的特定通信路径的提交的情况下仍然能够回答 请求实体的查询。如在此进一步公开的那样,QOS服务110是用图2所示的 QOS服务器应用214和一个或多个QOS客户端应用216来实现的。无论QOS 服务110的实施方式如何(无论是用QOS服务器214还是QOS客户端应用或 以其他方式),使用从QOS服务110返回的所确定的QOS性能等级,请求实 体212选择被其确定为适合传送特定通信106的特定通信路径。例如,如果传 送实体212想要保证通信106的完整性,则传送实体212可以选择具有所确定 的低分组丢失率的通信路径。可替代地或附加地,传送实体212可以修改用于 保护通信106的完整性的错误检测和纠正工艺和技术。

继续参考图2,请求所确定的QOS性能等级的实体212可以制定其希望在 与其请求相关联的通信106中涉及的实体212的任何对(或更多)(可能多半 包括其自身)。然后,QOS服务110响应于这样的请求返回与所指定实体212 之间的可能通信路径有关的所确定的QOS性能等级。通过这种方式,路由器 206(例如)获悉与两个或更多实体212有关的所确定的QOS性能等级,并且 根据所确定的QOS性能等级设置它们之间的通信信道。

已经简要讨论了各个实体如何使用所确定的QOS性能等级,本文献现在 讨论QOS服务110如何确定所确定的QOS性能等级。更具体而言,QOS服务 110以多种方式确定所确定的QOS性能等级。例如,在各个实施例中,QOS 服务110包括QOS服务器应用214,该应用具有计算机210托管的QOS客户 端应用216中的至少一些。网状网络202和204之一的顶层服务器208或其他 服务器208可以托管QOS服务器应用214。

QOS客户端应用216监控它们相应计算机210的通信,并且测量与来自它 们的计算机210的通信106相关的QOS性能等级。例如,当通信106离开(或 到达)特定计算机210时,QOS客户端应用216测量与通信106相关的各个 QOS性能等级。诸如等待时间、分组丢失率、传输率、带宽等等之类的网络性 能等级代表了QOS客户端应用216所测量的QOS性能等级中的一些。

QOS客户端应用216还结合时间、日期、所涉及的通信路径以及与通信 106有关的其他信息存储所测量的QOS性能等级。QOS客户端应用216可以一 进行测量就将所测量的QOS性能等级提交给QOS服务器应用214。在替代方 式中,QOS客户端应用216可以等待以提交该信息。例如,QOS客户端应用 216可以等待以提交信息,直到它们已经测量了某个所选数目的QOS性能等级, 直到它们已经监控了某个所选数目的通信106,或者直到它们已经为某个所选 数目的通信路径测量了QOS性能等级(这里仅列举了许多可能性中的几种)。

在一些实施例中,一个或某个数目的计算机210托管QOS客户端应用216 的实例。因此,当诸如系统管理员之类的用户102决定部署QOS服务110时, 用户102可以选择要在上面开始收集所测量的性能等级的某些计算机104。当 该计算机210操作时,其开始为其已实际使用过的各个通信路径收集所测量的 性能等级。因此,联网环境200的对该计算机210享有特定针对性(基于历史 使用、当前使用和/或其他考虑因素)的那部分与联网环境200的其他区域相比 受到更多的与QOS相关的监控。

当时间、资源等等允许时,用户102可以逐步地向附加的计算机210部署 QOS客户端应用216的实例。这些附加的QOS客户端应用216允许监控联网 环境200的附加区域以获得与QOS相关的信息。因此,用户102不仅可以逐 步地部署QOS服务110,而且用户102还可以以联网环境200的区域为目标以 进行与QOS相关的监控。此外,QOS服务110可向联网环境200的这些目标 区域(以及其他区域)中的计算机210及它们的相关联的用户102和/或实体 212提供经改善(或所选择)的与QOS相关的性能等级(通过根据所确定的 QOS性能等级对通信106进行路由)。

除其它事项之外,所示QOS服务器应用214维护QOS矩阵和QOS矢量, 这将由本文献参考图3予以进一步公开。QOS服务器应用214把由各个QOS 客户端应用216提交的信息存储在QOS矢量中,其中所述QOS矢量是根据网 状网络202和204的通信路径的排列(permutation)来组织的。如图2所示, 每个通信路径都包括一个或多个路径段220、222、224、226、228和230、以 及诸如传送和接收计算机210、各个服务器208和各个路由器206之类的一件 或多件设备。另外,通信路径常常涉及一个或多个实体212,这些实体由所述 设备来托管并且可以在通信106穿过通信路径时被涉及。同样,路径段220、 222、224、226、228和230可以包括各个实体和设备。此外,通信路径和通信 路径段220、222、224、226、228和230可以被包含在网状网络202或204内 或者可以跨越网状网络202和204之间的边界。附加地或可替代地,通信路径 和路径段220、222、224、226、228和230可以包含在一个或多个组织(例如 ISP或企业)内或者由所述组织来运营、控制。

在将分组丢失率用作说明性性能等级的情况下,两个计算机210A和210B 之间的端对端分组丢失率可以表示为p210A-210B。而且,各个路径段上的分组丢 失率可以针对路径段220表示为p220,以此类推。另外,服务器、路由器等等 上的分组丢失率可以针对服务器208表示为p208,以此类推。端对端分组丢失 率以及各个路径段(比如通信路径、服务器和路由器)的分组丢失率可以具有 如下关系:(1-p210A-210B)=(1-p220)*(1-p222)*(1-p224)*(1-p226)*(1-p228)* (1-p230)*(1-p208)*(1-p206)。在日志空间中,上面的关系以线性项来表示。 QOS服务110从客户端提交中获得端对端项,比如(1-p210A-210B)。QOS服务110 可以使用确定性或概率方法来确定各项,比如(1-p220)和(1-p208)等等。QOS服 务110为每个路径段、服务器、路由器等等维护所推断出的项。以类似的方式, QOS服务110可以为每个路径段、服务器、路由器等等维护关于等待时间、带 宽、吞吐量等等的项。

可能值得注意的是,对于等待时间和其他性能等级而言,端对端与各个组 件之间的关系是线性的(即端对端等待时间是各个组件上的等待时间之和)。 对于带宽、吞吐量以及可能的其他性能等级而言,端对端度量是各个组件的最 小性能等级。其他类型的关系也在本公开的范围之内。

例如,图2描绘了说明性的通信路径,该通信路径通过路径段220、222、 224、226、228和230、服务器208A-D和路由器206A以及通过由这些设备托 管的一个或多个实体212A-D将计算机212A上的实体212与计算机210B上的 实体212B相连接。每个路径段220、222、224、226、228和230、实体212 和设备都对通信路径的性能作出贡献(或缺乏性能)。因此,所测量的QOS 性能等级将反映路径段220、222、224、226、228和230、实体212以及所监 控通信106中所涉及的设备中的每个的性能等级。因此,QOS服务器应用214 可以将各个通信路径的所测量的性能等级存储为矢量,其中该矢量的每个元素 都表示一个通信路径的性能等级。

然而,关于一个通信106或通信路径的性能的信息可能对于预测另一通信 106或通信路径而言是价值有限的。之所以存在该情形是因为一个通信106可 能与另一通信106沿完全或部分不同的通信路径行进。附加地,尽管两个通信 路径可能共用特定的路径段220,但是该特定路径段的性能可能对于两个通信 路径任一的性能都不是决定性的。当然,通信106可能穿过彼此部分不相交并 且部分重叠的通信路径。因此,QOS客户端应用216测量某些通信106和某些 通信路径的QOS性能等级,并且QOS服务器应用214收集该信息并且将其相 关以预测随后通信106和其他通信路径的QOS性能等级。

更具体而言,QOS服务器应用214维护QOS矩阵,其中每行都对应于通 信路径,并且其每个元素都表示该通信路径上的路径段220、222、224、226、 228和230、实体212和设备(此后称为“路径段”)的要确定的性能等级。 通过将所测量的QOS性能等级(其针对通信路径)的矢量设置为等于要确定 的QOS性能等级的矩阵(其针对路径段220、222、224、226、228和230等 等)以及解该QOS矩阵以得到其元素中的一些或全部,QOS服务器应用214 确定通信106中所涉及的路径段220、222、224、226、228和230的性能等级。 此外,QOS服务器应用214可以以确定性方式或概率方式来解QOS矩阵。在 后一种情况下,所确定的QOS性能等级将是估计值。此外,随着存储在QOS 矢量的信息量(即所测量的QOS性能等级的数目)增加,这些估计值的精确 度将很可能以相应方式增加。

然而,可能不需要解QOS矩阵以得到每个路径段的QOS性能等级。更确 切而言,可以解QOS矩阵以仅仅得到可能影响感兴趣通信路径的那些性能等 级。此外,QOS服务器应用214可以等待直到其接收确定这些性能等级的请求 以便节省用于其他目的的处理资源。

可替代地或附加地,QOS服务器应用110A可以被配置为使用对网状网络 202和204的分层性质的知识。例如,由于某些计算机210通常将通过在特定 网状网络202或204内与它们最接近的服务器208来路由它们的通信106,因 此不是各个通信路径的所有排列都需要被考虑在内。此外,可能事先知道,计 算机210的子集出于各种原因而可能将仅仅使用路由器206(或其他设备、路 径段220、222、224、226、228和230或实体212)的子集。因此,在这些实 施例中,大大降低了QOS矢量、QOS矩阵的大小和/或复杂度、以及与确定各 个QOS性能等级相关联的处理。

另外,通过使用关于网状网络202和204的分层性质的信息,QOS服务 110可以被逐步地部署在网状网络202和204上。类似地,QOS服务110允许 用户102(或者系统管理员)其使用的灵活性。例如,某些路径段220、222、 224、226、228和230(以及因此网状网络202和204的子集)可以根据要求 被考虑在QOS矩阵内、或者排除在QOS矩阵之外。此外,这些(或者甚至其 他或新的)路径段220、222、224、226、228和230可以根据用户要求被考虑 在内或添加到QOS矩阵。

在另一可替代的技术中(或者附加于前述工艺和技术),网状网络202和 204的各个实体212和各件设备可以被配置为注册它们在网状网络202或204 内的存在和位置。作为注册过程的一部分,它们还可以注册它们打算使用的各 个通信路径、它们很可能使用的通信路径、或者它们最终使用的通信路径。再 者,这些工艺和技术的效果允许QOS服务器应用214存储更少的信息、执行 更少的步骤以确定各个QOS性能等级和/或以更及时的方式将所确定的QOS性 能等级递送给请求实体212。

在一些实施例中,QOS服务器应用214可以被配置为从各个实体212被动 接收与QOS相关的提交、和/或主动地探查网状网络202或204以(其自发地) 确定与QOS相关的性能等级。例如,QOS服务器应用214可以(基于其对即 将来临的通信中所潜在涉及的实体212和通信路径的知识)确定:其在QOS 矩阵中不具有关于可能感兴趣的特定路径段220、222、224、226、228或230 的性能等级的当前信息。在这些情况下,QOS服务器应用214可以将所监控的 通信(或一系列通信)引导通过当前未被监控的路径段220、222、224、226、 228或230。该技术的一种结果是,其允许QOS服务器应用214主动地获得信 息以插入到QOS矢量中。插入该信息允许QOS服务器应用214确定到此时为 止未知(或过时)的QOS性能等级。QOS服务器应用214还可以被配置为按 照请求、根据时间表、根据矢量的未知/缺少的元素、根据其他用户要求等等执 行这样的主动探查。

下面可以进一步描述QOS服务110可采用的一种QOS推断算法的数学框 架。令路径段(例如各个服务器、网络段等等)的QOS性能等级可以表示为 矢量:

Q={qi},i=1,…,M    等式1

其中索引化服务器和网络段。令实体212向QOS服务110的提交被表示 为矢量:

P={pj},j=1,…,N                  等式2

其中j索引化由QOS服务110接收的第j个提交。令连接矩阵被表示为:

A={ai,j},i=1,…M,j=1,…,N    等式3

其中ai,j=1指示第i个路径段对应于第j个提交,并且ai,j=00指示第i个路 径段在针对第j个提交的通信路径中未被涉及。QOS服务110因此在给定连接 矩阵A和QOS提交矢量P的情况下求解QOS性能等级矢量Q的最小化问题(其 由等式4来表示)。

minQf(Q,A,P)                        等式4

由于等式4可能是未充分地受限的,因此情况可能是针对等式4存在一个 以上的解。换言之,等式4可能不总是导致唯一的解。

因此,QOS服务110可以使用最小均方误差(MMSE)估计(或其他技术) 来将这些解之一标识为反映实际性能等级的解。因此,一些实施例的MMSE采 取如下形式:

minQ||P-ATQ||2                        等式5

为了获得各个路径段的与网状网络202和204中的条件相对应的QOS性 能等级,QOS服务110可以使用先验知识。例如,可用的各条先验知识之一是, 大多数服务器通常名义上地运行而没有性能问题。此外,大多数路径段未被拥 塞,并且因此具有极少的延迟、分组丢失等等。使用这样的先验信息,QOS服 务110可以使用等式6和7中所示的MMSE的经修改版本:

minQ|P-ATQ|2+α||Q||0                 等式6

或者minQ||P-ATQ||2+β||Q||1           等式7

其中α和β是加权参数。由等式6表示的MMSE修改减少了QOS性能等 级矢量Q中的非零项的数目(l0范数)。然而,由等式6表示的MMSE修改可 以用在从那里产生的组合优化问题是不大可能的或者可以被处理的情况下。相 比之下,由等式7表示的MMSE修改减少了QOS性能等级矢量Q的l1范数。 因此,等式7通常可以通过凸规划算法来有效地求解。

替代于或附加于前述基于MMSE的方案,QOS服务110可以通过诸如等 式8之类的最大似然估计公式来对网状网络202和204的性能(即等式4)进 行建模:

maxQ Prob(P|Q)                    等式8

或者通过诸如等式9的最大后验公式对其进行建模:

maxQ Prob(P|Q)Prob(Q)             等式9

此外,QOS服务110可以通过诸如置信传播之类的概率技术来解等式8和 /或9。附加地或可替代地,QOS服务110可以使用如下技术来确定、估计等等 各个通信路径或路径段220、222、224、226、228和230的性能:最小均方误 差(MMSE)估计;具有l0范数的进一步惩罚的MMSE估计;具有l1范数的进 一步惩罚的MMSE估计;最大似然估计;最大后验估计;或者其他技术。值得 注意的可能还有,QOS服务110可以这样做,而不管通信路径(或者路径段 220、222、224、226、228和230)是仅仅包括无源组件(例如以太网电缆) 还是有源组件,比如路由器206、服务器208、或计算机210。

现在转到图3,该图描绘了基于QOS的客户端/服务器路由系统300的说 明性框图。更具体而言,图3描绘了分别由计算机208和服务器208托管的QOS 客户端应用216和QOS服务器应用214,但是这些应用相反可以分布在各个计 算/通信设备之中。QOS客户端应用216和QOS服务器应用214按照要求通过 网络或其一部分通信。在一些实施例中,QOS客户端应用216与QOS服务器 应用214之间的通信“承载”在托管这些应用的计算机210和服务器208(或 其他设备)之一之间的正常网络通信量302上。例如,QOS客户端应用与QOS 服务器应用108之间的提交304、查询306和查询响应308可以被打包在托管 设备之间的网络控制信号的未使用空间中。允许QOS客户端/服务器通信304、 306和308被承载在现有网络通信量302上的优点包括:对被要求处理这些通 信304、306和308的通信路径(以及实体212和相关设备)造成极少影响或 不造成影响。

继续参考图3,QOS客户端应用216包括两个或更多组件:路径监控组件 310和路径组装组件312。路径监控组件310截取源自客户端计算机210内的 实体212的通信106(参见图1)并且测量与其有关的QOS性能等级。路径监 控组件310还将所测量的QOS性能等级插入到网络通信量302消息中以形成 用于传送给QOS服务器应用214的提交304。

进一步参考图3,路径组装组件312从QOS服务器应用214接收查询响应 308。此外,路径组装组件312解析这些查询响应308以标识出计算机210内 的实体212可能感兴趣的各个路径段220、222、224、226、228和230的QOS 性能等级。在检测到传出通信106已经被创建以后,路径组装组件312检查对 传出通信106的路由可能有益的所确定QOS性能等级以选择适用于该通信106 的总通信路径。例如,可以在针对该通信的最优通信路径上对该通信进行路由。

在选择该通信路径时,路径组装组件312可以考虑用户选择的标准、基于 当前(或最近)网络条件的标准等等。此外,情况有时可能是,一些有关路径 段220、222、224、226、228和230的所确定QOS性能等级可能是过时或不 可用的。在这些情况下,路径组装组件312可以使用可用的(和新的)QOS性 能等级、过时的QOS性能等级、历史QOS性能等级(存储在计算机210中)、 用户定义的规则、用户偏好等等以便即使在缺少信息的情况下仍然为传出通信 106选择通信路径。因此,QOS客户端应用216测量各个通信路径的QOS性能 等级,将这些QOS性能等级提交给QOS服务器应用214并且为实体212组装 通信路径。注意,术语“组装通信路径”在此尤其是指,选择将形成通信路径 的那些路径段220、222、224、226、228和230。

继续参考图3,QOS服务器应用214包括各个组件,这些组件包括:认证 组件314、路径分割组件316、查询处理组件318、以及主动探查组件320。利 用这些组件,QOS服务器应用214创建和管理QOS矩阵322和QOS矢量324。 更具体而言,认证组件314从网状网络202或204接收所声称的提交304并且 确定受信QOS客户端应用216是否已实际创建和传送了提交304。在一些非限 制性实施例中,认证组件314使用公钥/私钥加密工艺和技术来认证提交304。 如果特定提交304未通过认证,则认证组件314可以拒绝提交304,向用户102 之一(例如系统管理员)发出提醒,请求对提交304进行重新提交等等。因此, 认证组件314帮助保证提交304和从其中的信息中构建的QOS矩阵322的完 整性。更具体而言,认证组件314保证:经篡改的QOS性能等级通常将不被 允许进入QOS矢量324。

认证组件314还将经认证的提交304转发给路径分割组件316。更具体而 言,由于提交304不仅包含与特定通信106相关联的所测量的QOS性能等级, 而且包含传送实体212、接收方实体212和用于这些通信106的特定通信路径 的标识,因此路径分割组件316标识出QOS矢量324的哪行将受到提交304 的影响。此外,路径分割组件316标识出该行中的那些元素(例如路径段220、 222、224、226、228和230)可能与所提交的性能等级有关。因此,当特定路 径段220、222、224、226、228和230将不在通信106中被涉及时,QOS矩阵 322的相应元素可以被设置为0或以其他方式被排除而不加以进一步考虑(关 于确定感兴趣的当前QOS性能等级)。此外,对于每种类型的感兴趣的性能 等级而言,路径分割组件316都可以维护单独的QOS矩阵322。

随着路径分割组件316接收针对附加通信路径的附加提交304,QOS矢量 324达到如下的状态:在该状态下,有足够的所测量QOS性能值可用于解由 QOS矢量324(其包含各个通信路径的所测量QOS性能等级)定义的联立方程 组和QOS矩阵322(其包含各个路径段220、222、224、226、228和230的要 确定的QOS性能等级)。通过解QOS矩阵322,路径分割组件316为各个路 径段220、222、224、226、228和230确定QOS性能等级。在此可能值得注 意的是,QOS矩阵322的完全解可能是不必要的,或者在一些情况下甚至是不 期望的。例如,当其中存在足够信息来求解特定路径段220、222、224、226、 228和230的特定QOS性能等级时,该QOS性能等级可以在不等待将被包括 在QOS矢量324中的附加信息的情况下被确定。

被路径分割组件316用于解QOS矩阵322的工艺和技术包括确定性方法 和概率工艺和技术。例如,路径分割组件316可以使用线性代数来解与QOS 矩阵322的行和QOS矢量324相对应的联立方程组。可替代或附加地,路径 分割组件316可以将线性回归或概率工艺和技术应用于QOS矩阵322和QOS 矢量324以从包含在提交304中的信息中估计路径段220、222、224、226、228 和230的各个性能等级。

继续参考图3,查询处理组件318要么从各个实体212、要么直接从用户 102(例如通过托管QOS服务器应用214的服务器208处的键盘输入)接收查 询306。通常,这些查询306包括很可能通信的一对实体212的标识。另外, 这些查询306可以标识出实体212可能希望用于特定通信106的通信路径或其 一部分。在任何情况下,查询处理组件318都解析查询306并且检查QOS矩 阵322以确定可用于组装所指定实体212之间的各个通信路径(或者将需要被 使用或者已经被指定要使用)的各个路径段220、222、224、226、228和230 的性能等级。

当各个路径段220、222、224、226、228和230(和实体212)的性能等 级中的一个或多个已经被确定或者为过时的时,查询处理组件318可以调用主 动探查组件320以测量与网状网络202和204有关的附加QOS性能等级。例 如,主动探查组件320可以利用缺少的所确定QOS性能等级从其自身通过路 径段220、222、224、226、228和230来路由通信106以生成(某些感兴趣通 信路径的)附加的所测量QOS性能等级。然后,主动探查组件320将提交304 发送给路径分割组件316。结果,路径分割组件316进一步填充QOS矢量324 并且解QOS矩阵322以得到之前未知的QOS性能等级(针对感兴趣的路径段 220、222、224、226、228和230)。在一些实例中,主动探查组件320可以 生成若干(或更多)这样的通信106,直到QOS矩阵322被填充为足以求解相 关QOS性能等级或者直到达到某个用户指定的极限(例如已经达到这样的通 信106的最小或最大数目、或者某个时间长度)。

但是在某个时刻,查询处理组件318从QOS矩阵322中提取可用的QOS 性能等级。此外,查询处理组件318生成传达查询响应308的消息或者将查询 响应308插入到与正常网络通信量302相关联的消息中。然后,查询处理组件 318将包括所确定的QOS性能等级(针对有关路径段220、222、224、226、 228和230)的查询响应308传送给请求QOS客户端应用216。

在接收到查询响应308以后,QOS客户端应用216的路径组装组件312解 析查询响应308以得到有关路径段220、222、224、226、228和230的所确定 的QOS性能等级。从所确定的QOS性能等级中和从对网状网络202和204的 知识中,路径组装组件312为传出通信106组装通信路径。然后,路径组装组 件312沿着该通信路径对传出通信进行路由。

路径组装组件312可以采取关于传出通信106的多个其他动作。例如,根 据查询响应308中的所确定的QOS性能等级,其可以调整要用于传出通信106 以及对其的任何响应的错误检测和纠正的工艺和技术。在其他情况下,路径组 装组件312可以建立主要通信路径和一个或多个次要通信路径。因此,如果主 要通信路径发生故障或变为降级(即某个性能等级低于或高于阈值),则路径 组装组件312可以将通信106重新路由到次要通信路径。在其他场景中,路径 组装组件312可以选择为通信106或者为了通信106的交换建立多个通信路径 以便增加其中所涉及的实体212之间的有效带宽。在任何情况下,路径组装组 件312都可以选择可能适用于特定通信106、实体212、用户102等等的通信 路径。

图4描绘了用于使用基于QOS的客户端/服务器路由系统300对通信进行 路由的方法400的流程图。更具体而言,图4示出了包括诸如步骤402之类的 各个步骤的方法400,其中在步骤402,QOS客户端应用216测量各个通信路 径的QOS性能等级。

在步骤404,然后将所测量的QOS性能等级与通信106中所涉及的路径段 220、222、224、226、228和230相关联。该关联可以是借助于如下方式的: 用与QOS相关的信息填充QOS矢量324;以及将QOS矢量324设置为等于 QOS矩阵322(其包含路径段220、222、224、226、228和230的要确定的QOS 性能等级)。

方法400还包括:确定网状网络202和204中的各个路径段220、222、224、 226、228和230中的一些或全部的QOS性能等级。例如,可以部分或完全地 解QOS矩阵322。参见步骤406。

然后,响应于查询306或出于其他原因,标识出可能用于组装各个实体212 之间的通信路径的路径段220、222、224、226、228和230的QOS性能等级。 参见步骤408。

方法400还包括:将有关的QOS性能等级(其在步骤406被确定)提供 给请求实体212或其他实体212和/或用户102。参见步骤410。

此外,从有关的QOS性能等级中以及从对网状网络202和204的知识中, 可组装可对通信106进行路由所沿的一个或多个通信路径,这在步骤412予以 示出。

可替代地或附加地,可以按照要求为通信106选择和应用各种通信工艺和 技术、参数等等。例如,可以为通信106选择错误检测和纠正方案。参见步骤 414。在一些场景中,该选择可以基于通信中要涉及的路径段220、222、224、 226、228和230的所确定的QOS性能等级。

然后,根据通信路径(针对路径段220、222、224、226、228和230)对 一个或多个通信106进行路由,其中所述通信路径是在步骤412根据由基于 QOS的客户端/服务器系统300所反馈的QOS性能等级被组装的。参见步骤 416。此外,可以在这些通信期间使用在步骤414所选择的通信技术。

图5描绘了用于使用QOS客户端应用216对通信106进行路由的方法500 的说明性流程图。方法500包括诸如步骤502之类的各个步骤,其中在步骤502, QOS客户端应用216监控正在从客户端计算机的实体212传送或者将从那传送 的通信106。

步骤504示出了:QOS客户端应用216可以测量与这些传出通信106中的 一些或全部相关联的QOS性能等级。该监控可以包括:从客户端计算机、路 由器或服务器208之一或者网络202或204的操作系统获得与所述通信相关联 的QOS性能等级。可替代地,该监控可以包括:将传出通信106修改为让与 所述通信相关联的QOS性能等级由能够测量所期望的QOS性能等级的某个实 体返回给QOS客户端应用216。

在步骤506,QOS客户端应用将所测量的QOS信息提交给QOS服务器应 用214。另外,方法500可以包括对所测量的与QOS相关的信息进行加密(或 其以他方式进行保护)。

方法500还包括步骤508,在步骤508,QOS客户端应用216向QOS服务 器应用214查询路径段220、222、224、226、228和230的QOS性能等级, 其中所述路径段可以针对来自与QOS客户端应用216相关联的实体212的通 信106被组装成通信路径。

在步骤510,QOS客户端应用216组装一个或多个通信路径,所述通信路 径将被用于对来自客户端计算机的通信106进行路由。QOS客户端应用216使 用(有关路径段220、222、224、226、228和230的)所确定的QOS性能等 级和关于网状网络202和204的知识来组装通信路径。

QOS客户端应用216沿着所组装的通信路径对通信106进行路由。参见步 骤512。

当通信106被从客户端计算机路由时,QOS客户端应用216监控这些通信 106并且确定与它们相关联的所测量的QOS性能等级是否满足该通信106的 QOS等级(其由用户102或实体212来选择)。如果通信106满足QOS等级, 则方法500从步骤502重复,这由判定514来示出。

如果通信106未能满足所选QOS等级,则QOS客户端应用216通过再次 查询QOS服务器应用214和组装另一通信路径来调整路由。参见步骤516。

图6描绘了用于使用QOS服务器应用214对通信进行路由的方法600的 说明性流程图。更具体而言,图6示出了:方法600包括QOS服务器应用214 从一个或多个QOS客户端应用216接收和认证所测量的QOS性能等级的各个 提交304。参见步骤602。

在步骤604,QOS服务器应用214将所测量的QOS性能等级与产生这些 QOS性能等级的各个路径段220、222、224、226、228和230相关联。例如, QOS服务器应用214可以用所测量的QOS性能等级来填充QOS矢量324。

在某个时刻,QOS服务器应用214接收关于一对实体212之间的潜在通信 路径的查询306。参见步骤606。

在步骤608,QOS服务器应用214确定由查询306所指定的可能与实体212 之间的通信106有关的路径段220、222、224、226、228和230的性能等级。 例如,QOS服务器应用214可以完全或部分地解QOS矩阵322以确定可能有 关的QOS性能等级。

然后,QOS服务器应用214将有关的QOS性能等级(其在步骤608被确 定)发送给请求实体212。参见步骤610。方法600可以只要需要就一直循环。

因此,实施例提供了具有经改善的QOS性能等级的网络,这尤其是由于 所述性能等级与实体之间的通信有关。此外,可以通过应用在此所述的工艺和 技术来显著提高这些网络的总速度。通信可以与迄今为止可能的情况相比以更 高的传输率以及以更低的数据丢失来进行路由。附加地,实施例包括反馈QOS 性能等级以改善网络内通信的路由。

结语

尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所 附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述 具体特征和动作是作为实现权利要求的示例形式公开的。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号