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

上传人:62****3 文档编号:4287985 上传时间:2018-09-13 格式:PDF 页数:23 大小:716.05KB
返回 下载 相关 举报
摘要
申请专利号:

CN201080048492.1

申请日:

2010.10.12

公开号:

CN102668459A

公开日:

2012.09.12

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):H04L 12/28变更事项:专利权人变更前权利人:微软公司变更后权利人:微软技术许可有限责任公司变更事项:地址变更前权利人:美国华盛顿州变更后权利人:美国华盛顿州登记生效日:20150720|||授权|||实质审查的生效IPC(主分类):H04L 12/28申请日:20101012|||公开

IPC分类号:

H04L12/28; H04L12/56

主分类号:

H04L12/28

申请人:

微软公司

发明人:

李劲; 黄诚; Y·王; R·R·杨

地址:

美国华盛顿州

优先权:

2009.10.27 US 12/606,882

专利代理机构:

上海专利商标事务所有限公司 31100

代理人:

胡利鸣

PDF下载: PDF下载
内容摘要

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

权利要求书

1: 一种用于提供基于 QOS 的信息服务的计算机, 包括 : 路径分割组件, 所述路径分割组件被配置为从第一实体接受第一提交, 所述第一提交 包含对第一通信路径的第一性能等级的指示, 所述路径分割组件还被配置为确定作为第一 通信路径的一部分的第一部分路径段以及确定与第一部分路径段相对应的第一部分性能 等级 ; 以及 路径组装组件, 所述路径组装组件与所述路径分割组件通信并且被配置为至多部分地 基于第一部分路径段的所确定的第一性能等级来确定第二部分路径段的第二性能等级、 以 及输出对第二部分路径段的所确定的第二性能等级的指示, 所述第二部分路径段与第一通 信路径部分地不相交并且部分地重叠。2: 如权利要求 1 所述的计算机, 其特征在于, 该计算机是下列各项之一 : 服务器、 路由 器、 企业网 202 的一部分、 或 ISP( 因特网服务提供商 )204 的一部分。3: 如权利要求 1 所述的计算机, 其特征在于, 对第二部分路径段的所确定的第二性能 等级的指示是矩阵的一部分, 所述矩阵包括针对多个部分路径段的多个所确定的性能等级 的条目。4: 如权利要求 1 所述的计算机, 其特征在于, 还包括查询组件, 所述查询组件被配置为 从与多个部分路径段相对应并且已经被所述路径组装组件确定的多个性能等级中确定相 对于涉及用户所选的实体组合的所选性能等级而言最优的通信路径, 所述查询组件还被配 置为输出对所述最优路径的指示。5: 如权利要求 1 所述的计算机, 其特征在于, 第二部分路径段的第二性能等级通过下 列数学方法之一来确定 : 最小均方误差 (MMSE) 估计 ; 具有 l0 范数的第一另加惩罚的 MMSE 估计 ; 具有 l1 范数的第二另加惩罚的 MMSE 估计 ; 最大似然估计 ; 或者最大后验估计。6: 如权利要求 1 所述的计算机, 其特征在于, 第一性能等级选自包括下列各项的组 : 延 迟时间量、 数据丢失量、 带宽、 稳定性度量、 突发分组丢失度量、 以及吞吐率。7: 如权利要求 1 所述的计算机, 其特征在于, 还包括主动探查组件, 所述主动探查组件 被配置为通过经由第三通信路径与实体通信来确定第三通信路径的第三性能等级。8: 如权利要求 1 所述的计算机, 其特征在于, 还包括存储处理器可执行指令的计算机 可读存储介质, 所述存储处理器可执行指在被执行时致使所述计算机实现所述路径分割组 件和所述路径组装组件。9: 一种用于确定基于 QOS 的信息的计算机, 包括 : 由所述计算机托管的第一实体 ; 与第一实体和多个通信路径通信的接口 ; 性能监控组件, 所述性能监控组件被配置为监控第一实体与其他实体之间的通过所述 通信路径的通信, 所述性能监控组件还被配置为创建第一提交, 所述第一提交包含对第一 实体与第一其他实体之间的通过第一通信路径的第一通信的第一性能等级的指示, 并且所 述性能监控组件还被配置为将第一提交发送给 QOS( 服务质量 ) 服务 ; 以及 查询组件, 所述查询组件与所述 QOS 服务通信并且被配置为向所述 QOS 服务查询第一 实体与第二其他实体之间的第二通信路径的所选性能等级, 并且所述所选性能等级是由所 述 QOS 服务部分地基于第一提交确定的, 第一通信路径与第二通信路径部分地不相交并且 部分地重叠, 所述查询组件还被配置为从所述 QOS 服务接收对第二通信路径的所确定的性 2 能等级的指示。10: 如权利要求 9 所述的计算机, 其特征在于, 所述查询组件还被配置为响应于第一通 信路径的第一性能等级来调整第一实体的语音解码器的去抖动缓冲区。11: 如权利要求 9 所述的计算机, 其特征在于, 所述查询组件还被配置为响应于第一通 信路径的第一性能等级来调整第一实体的前向纠错组件的冗余数。12: 如权利要求 9 所述的计算机, 其特征在于, 所述查询组件还被配置为显示第二通信 路径的所确定的性能等级的指示。13: 如权利要求 9 所述的计算机, 其特征在于, 所述查询组件还被配置为向所述 QOS 服 务查询多个通信路径的性能等级、 以及为第一实体的通信选择具有最优性能等级的通信路 径。14: 如权利要求 9 所述的计算机, 其特征在于, 还包括 QOS 管理组件, 所述 QOS 管理组件 被配置为选择用于与第一实体通信的主要通信路径和次要通信路径, 所述通信路径与其他 通信路径相比与第一通信路径重叠更少, 该选择基于与多个通信路径相对应的多个所确定 的性能等级, 所述 QOS 管理组件还被配置为将第一实体的通信定向到第一通信路径上, 并 且响应于主要通信路径的 QOS 性能等级低于阈值而将第一实体的通信重定向到次要通信 路径上。15: 如权利要求 9 所述的计算机, 其特征在于, 还包括 QOS( 服务质量 ) 管理组件, 所述 QOS 管理组件被配置为响应于第一通信路径的 QOS 性能等级来调整第一实体的通信组件。

说明书


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

    背景技术 尽管大部分通信系统在大多数时间运行良好, 但是这些系统有时确实遭受其性能 方面的一定程度的不可预测性。随着系统的复杂度增加, 系统的一个或多个部分可能经历 令人不满意的性能的机会增加。例如, 假定特定实体 ( 在此为实体 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, i = 1,… M, j = 1,…, N 等式 3 j},
     其中 ai, 并且 ai, j = 1 指示第 i 个路径段对应于第 j 个提交, j = 00 指示第 i 个路 径段在针对第 j 个提交的通信路径中未被涉及。 QOS 服务 110 因此在给定连接矩阵 A 和 QOS 提交矢量 P 的情况下求解 QOS 性能等级矢量 Q 的最小化问题 ( 其由等式 4 来表示 )。
     minQf(Q, A, P) 等式 4
     由于等式 4 可能是未充分地受限的, 因此情况可能是针对等式 4 存在一个以上的 解。换言之, 等式 4 可能不总是导致唯一的解。
     因此, QOS 服务 110 可以使用最小均方误差 (MMSE) 估计 ( 或其他技术 ) 来将这些 解之一标识为反映实际性能等级的解。因此, 一些实施例的 MMSE 采取如下形式 : T 2
     minQ||P-A Q|| 等式 5
     为了获得各个路径段的与网状网络 202 和 204 中的条件相对应的 QOS 性能等级, QOS 服务 110 可以使用先验知识。例如, 可用的各条先验知识之一是, 大多数服务器通常名 义上地运行而没有性能问题。此外, 大多数路径段未被拥塞, 并且因此具有极少的延迟、 分 组丢失等等。使用这样的先验信息, QOS 服务 110 可以使用等式 6 和 7 中所示的 MMSE 的经 修改版本 :
     minQ|P-ATQ|2+α||Q||0 等式 6 T 2 1
     或者 minQ||P-A Q|| +β||Q|| 等式 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 性能等级以改善网络内通信的路由。 结语
     尽管用结构特征和 / 或方法动作专用的语言描述了本主题, 但可以理解, 所附权 利要求书中定义的主题不必限于上述具体特征或动作。更确切而言, 上述具体特征和动作 是作为实现权利要求的示例形式公开的。
    

基于服务质量QOS的系统、网络和顾问.pdf_第1页
第1页 / 共23页
基于服务质量QOS的系统、网络和顾问.pdf_第2页
第2页 / 共23页
基于服务质量QOS的系统、网络和顾问.pdf_第3页
第3页 / 共23页
点击查看更多>>
资源描述

《基于服务质量QOS的系统、网络和顾问.pdf》由会员分享,可在线阅读,更多相关《基于服务质量QOS的系统、网络和顾问.pdf(23页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102668459 A (43)申请公布日 2012.09.12 C N 1 0 2 6 6 8 4 5 9 A *CN102668459A* (21)申请号 201080048492.1 (22)申请日 2010.10.12 12/606,882 2009.10.27 US H04L 12/28(2006.01) H04L 12/56(2006.01) (71)申请人微软公司 地址美国华盛顿州 (72)发明人李劲 黄诚 Y王 RR杨 (74)专利代理机构上海专利商标事务所有限公 司 31100 代理人胡利鸣 (54) 发明名称 基于服务质量(QOS)的系统、网络和顾。

2、问 (57) 摘要 用于基于与服务质量(QOS)相关的信息对通 信进行路由的工艺和技术。更具体而言,本文献公 开了用于选择与同QOS相关的信息已经被测量的 其他通信路径部分重叠的通信路径。所述工艺和 技术包括从所测量的QOS信息中为通信路径内的 路径段确定性能等级。 (30)优先权数据 (85)PCT申请进入国家阶段日 2012.04.26 (86)PCT申请的申请数据 PCT/US2010/052313 2010.10.12 (87)PCT申请的公布数据 WO2011/056364 EN 2011.05.12 (51)Int.Cl. 权利要求书2页 说明书14页 附图6页 (19)中华人民共。

3、和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 14 页 附图 6 页 1/2页 2 1.一种用于提供基于QOS的信息服务的计算机,包括: 路径分割组件,所述路径分割组件被配置为从第一实体接受第一提交,所述第一提交 包含对第一通信路径的第一性能等级的指示,所述路径分割组件还被配置为确定作为第一 通信路径的一部分的第一部分路径段以及确定与第一部分路径段相对应的第一部分性能 等级;以及 路径组装组件,所述路径组装组件与所述路径分割组件通信并且被配置为至多部分地 基于第一部分路径段的所确定的第一性能等级来确定第二部分路径段的第二性能等级、以 及输出对第二部分路径段的所确定的第二。

4、性能等级的指示,所述第二部分路径段与第一通 信路径部分地不相交并且部分地重叠。 2.如权利要求1所述的计算机,其特征在于,该计算机是下列各项之一:服务器、路由 器、企业网202的一部分、或ISP(因特网服务提供商)204的一部分。 3.如权利要求1所述的计算机,其特征在于,对第二部分路径段的所确定的第二性能 等级的指示是矩阵的一部分,所述矩阵包括针对多个部分路径段的多个所确定的性能等级 的条目。 4.如权利要求1所述的计算机,其特征在于,还包括查询组件,所述查询组件被配置为 从与多个部分路径段相对应并且已经被所述路径组装组件确定的多个性能等级中确定相 对于涉及用户所选的实体组合的所选性能等级而。

5、言最优的通信路径,所述查询组件还被配 置为输出对所述最优路径的指示。 5.如权利要求1所述的计算机,其特征在于,第二部分路径段的第二性能等级通过下 列数学方法之一来确定:最小均方误差(MMSE)估计;具有l0范数的第一另加惩罚的MMSE 估计;具有l1范数的第二另加惩罚的MMSE估计;最大似然估计;或者最大后验估计。 6.如权利要求1所述的计算机,其特征在于,第一性能等级选自包括下列各项的组:延 迟时间量、数据丢失量、带宽、稳定性度量、突发分组丢失度量、以及吞吐率。 7.如权利要求1所述的计算机,其特征在于,还包括主动探查组件,所述主动探查组件 被配置为通过经由第三通信路径与实体通信来确定第三。

6、通信路径的第三性能等级。 8.如权利要求1所述的计算机,其特征在于,还包括存储处理器可执行指令的计算机 可读存储介质,所述存储处理器可执行指在被执行时致使所述计算机实现所述路径分割组 件和所述路径组装组件。 9.一种用于确定基于QOS的信息的计算机,包括: 由所述计算机托管的第一实体; 与第一实体和多个通信路径通信的接口; 性能监控组件,所述性能监控组件被配置为监控第一实体与其他实体之间的通过所述 通信路径的通信,所述性能监控组件还被配置为创建第一提交,所述第一提交包含对第一 实体与第一其他实体之间的通过第一通信路径的第一通信的第一性能等级的指示,并且所 述性能监控组件还被配置为将第一提交发送。

7、给QOS(服务质量)服务;以及 查询组件,所述查询组件与所述QOS服务通信并且被配置为向所述QOS服务查询第一 实体与第二其他实体之间的第二通信路径的所选性能等级,并且所述所选性能等级是由所 述QOS服务部分地基于第一提交确定的,第一通信路径与第二通信路径部分地不相交并且 部分地重叠,所述查询组件还被配置为从所述QOS服务接收对第二通信路径的所确定的性 权 利 要 求 书CN 102668459 A 2/2页 3 能等级的指示。 10.如权利要求9所述的计算机,其特征在于,所述查询组件还被配置为响应于第一通 信路径的第一性能等级来调整第一实体的语音解码器的去抖动缓冲区。 11.如权利要求9所述。

8、的计算机,其特征在于,所述查询组件还被配置为响应于第一通 信路径的第一性能等级来调整第一实体的前向纠错组件的冗余数。 12.如权利要求9所述的计算机,其特征在于,所述查询组件还被配置为显示第二通信 路径的所确定的性能等级的指示。 13.如权利要求9所述的计算机,其特征在于,所述查询组件还被配置为向所述QOS服 务查询多个通信路径的性能等级、以及为第一实体的通信选择具有最优性能等级的通信路 径。 14.如权利要求9所述的计算机,其特征在于,还包括QOS管理组件,所述QOS管理组件 被配置为选择用于与第一实体通信的主要通信路径和次要通信路径,所述通信路径与其他 通信路径相比与第一通信路径重叠更少,。

9、该选择基于与多个通信路径相对应的多个所确定 的性能等级,所述QOS管理组件还被配置为将第一实体的通信定向到第一通信路径上,并 且响应于主要通信路径的QOS性能等级低于阈值而将第一实体的通信重定向到次要通信 路径上。 15.如权利要求9所述的计算机,其特征在于,还包括QOS(服务质量)管理组件,所述 QOS管理组件被配置为响应于第一通信路径的QOS性能等级来调整第一实体的通信组件。 权 利 要 求 书CN 102668459 A 1/14页 4 基于服务质量 (QOS) 的系统、 网络和顾问 背景技术 0001 尽管大部分通信系统在大多数时间运行良好,但是这些系统有时确实遭受其性能 方面的一定程。

10、度的不可预测性。随着系统的复杂度增加,系统的一个或多个部分可能经历 令人不满意的性能的机会增加。例如,假定特定实体(在此为实体A)是特定计算机上的呼 叫另一实体(在此为实体B)的VOIP(因特网协议承载语音)客户端,该VOIP客户端使用 PTSN(公共交换电话网络)网络上的电话。前述看似简单的过程可能涉及多个服务器和多 个网络段。更具体而言,实体A可能首先需要达到VoIP提供者处的媒体服务器。为了这样 做,实体A可能需要获得网关服务器或中继服务器的帮助,使得其可以穿过VoIP提供者处 的NAT(网络地址翻译)防火墙。媒体服务器还可以位于一个或多个负载平衡设备之后,使 得该系统可以选择使用合适的。

11、媒体服务器来服务于特定呼叫。然后,媒体服务器可能需要 将VoIP分组(由实体A产生)翻译成PSTN网关服务器所接受的格式,该PSTN网关服务器 将通过PSTN网络把所述语音分组所传达的语音信号进一步递送给电话。 0002 上述特定过程因此至少需要下列若干设备的服务:1)网关服务器;2)负载平衡设 备;3)媒体服务器;以及4)PSTN网关服务器。此外,所涉及的语音信号还穿过至少下列网 络段:1)从客户端到网关服务器的网络段;2)从网关服务器到负载平衡设备的网络段;3) 从负载平衡设备到媒体服务器的网络段;以及4)从媒体服务器到PSTN网关服务器的网络 段。这些网络段中的一些(例如网关服务器与负载。

12、平衡设备之间的网络段)可能是非常短 的。此外,这些网络段甚至可能处于相同的网络交换机上,使得它们不大可能经历显著的性 能问题。值得注意的可能还有,网络段可包括下列各项的一部分:通信路径(例如总线或其 他介质)、实体、设备或其组合。 0003 一些其他网络段(例如客户端与网关服务器之间以及负载平衡设备与媒体服务 器之间的网络段)可能是非常长的并且涉及多个网络路由器和交换机。另外,VoIP分组可 能需要与其他数据分组(例如通过web浏览、电子邮件、文件传输和/或媒体流式传输产生 的那些数据分组)竞争。此外,实体A可能处于802.11WiFi网络上,该WiFi网络可能遭受 弱无线信号、衰落、和/或干。

13、扰。 0004 上述问题中的任何一个(和/或其他问题)都可能导致实体A与实体B之间的通 信的不良性能等级。例如,巨大的网络通信量有时可能使网络、网络中的特定节点、或者网 络内的特定路径或网络段陷入停顿。在其他情况下或者附加地,系统中的一个或多个服务 器(或其他设备)可能变为过载。大量其他因素也可能影响典型网络的性能。例如,WiFi 网络和/或发生故障的服务器、路由器等等上的噪声也可能导致网络或其部分的降低的性 能。 0005 网络的发生变化的性能等级将对一些应用和/或服务造成比其他应用和/或服务 更大的影响。例如,与以频繁度更低的基础传输数据或者可以忍受重传数据以从性能问题 中恢复的应用相比,。

14、VoIP应用(其要求网络上的实体之间的低延迟通信)将对网络性能变 化展现出更大一些的易感性。即时通讯、VoIP视频会议、远程桌面、以及电话会议应用/服 务代表了这些对网络性能敏感的应用中的一些。 说 明 书CN 102668459 A 2/14页 5 0006 概述 0007 下面呈现了简化的发明内容,以便提供对所公开主题的某些方面的基本概念。本 概述不是详尽的概观,它不旨在标识关键/重要元素,也不旨在描绘本主题的范围。本概述 的目的是以简化的形式来介绍一些概念,作为稍后提出的更为详细的描述的序言。 0008 本文献公开了基于服务质量(QOS)的服务顾问系统的工艺和技术,该系统在一些 实施例中。

15、运行包括一个以上实体和/或一个以上供所述实体进行通信的通信路径的通信 系统。在这样的系统中,特定通信中所涉及的特定通信路径可以涉及一个或多个网络段和 /或一个或多个服务器或其他设备。这些实施例的QOS服务顾问从通信实体接收提交并且 其包含特定通信中所涉及的通信路径的性能等级的指示。QOS服务顾问还从这些提交中确 定该通信中所涉及的网络段、实体和/或设备。与这些提交相对应的通信路径与其他通信 路径(其可能对应于其他提交)部分地不相交并且部分地重叠。服务器可以使用多个提交 来确定并然后输出通信路径的各个网络段、组件、服务器、设备等等的所确定的性能等级的 指示。因此,QOS服务顾问还可以用于:诊断供。

16、应不足的网络段、组件、服务器、设备等等;预 测其他通信路径的性能等级;绕过系统的遭受相对低性能的网络段对通信进行重新路由; 调整通信组件和/或算法(例如增加前向纠错等级和/或增加去抖动缓冲区的大小),来改 善通过该系统的通信的服务质量。 0009 为了实现上述及相关目的,本文结合下面的描述和附图来描述某些说明性方面。 这些方面指示可以实践本发明主题的各种方式,它们均旨在落入本发明主题的范围之内。 当结合附图阅读以下详细描述时,本发明的其他优点和新颖特征将变得显而易见。 附图说明 0010 参考附图来描述具体实施方式。在附图中,附图标记最左边的数字标识该附图标 记首次出现的附图。在不同附图中使用。

17、相同的附图标记指示相似或相同的项。 0011 图1是网络的说明性示意图。 0012 图2是示出了内部实现基于QOS的路由服务的联网环境的说明性示意图。 0013 图3是基于QOS的客户端/服务器路由系统的说明性框图。 0014 图4是用于使用基于QOS的客户端/服务器系统对通信进行路由的方法的说明性 流程图。 0015 图5是用于使用基于QOS的客户端应用对通信进行路由的方法的说明性流程图。 0016 图6是用于使用基于QOS的服务器应用对通信进行路由的方法的说明性流程图。 具体实施方式 0017 本文献描述了用于处理联网环境中的对等体和其他实体之间的通信的工具。更具 体而言,本文献公开了基于。

18、服务质量或QOS的服务顾问系统,其中客户端测量网络中的各 个通信路径的QOS性能等级。客户端还将所得到的信息提交给服务器。该服务器接收QOS 信息并且确定如下通信路径的QOS性能等级:所述通信路径与客户端为之报告QOS性能等 级的通信路径部分地不相交并且部分地重叠。该服务器还输出对这些不相交/重叠的通信 路径的所确定QOS性能等级的指示。一些实施例的QOS服务顾问还可以用于:诊断供应不 足的网络段和/或服务器;预测新通信路径的性能等级;绕过展示出低性能的通信路径段 说 明 书CN 102668459 A 3/14页 6 对通信进行重新路由;调整通信算法(例如增加前向纠错等级和/或增加具有这样的。

19、机制 的系统的去抖动缓冲区的大小),以改善通过这些系统的通信的服务质量。 0018 更具体而言,本文献公开了由网络托管的QOS应用的实例,在所述网络中,各个实 体基于确定的QOS性能等级来对通信进行路由。本文献还公开了一种网络,其中所托管的 各个实体根据所确定的这样的QOS性能等级对通信进行路由。附加地,本文献公开了客户 端/服务器系统,该系统测量QOS性能等级,并且从所测量的QOS性能等级中为穿过网络的 各个通信组装路由。 0019 此外,本文献公开了用于在网络内和/或网络之间对通信进行路由的各个基于 QOS的方法。例如,本文献公开了一种被客户端用来测量QOS性能等级以及将测量结果提交 给服。

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

21、他方法中,基于QOS的路由系统包括服务器和一个(或多个)客户 端,所述服务器和客户端包括了在此公开的方法及其等价物的各个方面。另外,本文献公开 了用于存储计算机可执行指令的各个计算机可读存储介质,所述计算机可执行指令在被执 行时使计算机执行在此所述的方法及其等价物。 0021 图1描绘了通信系统或网络100的说明性示意图。如图1所示,一对用户102A和 B通过一对计算机104A和B(或其他计算设备)使用网络100来在使用应用108的同时交 换各个通信106A和B。尽管图1示出了仅仅具有两个用户102及其之间的一个通信路径 的特定网络100,但是许多网络100可以被大量用户102使用,并且包含大。

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

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

24、与彼 说 明 书CN 102668459 A 4/14页 7 此玩交互式游戏。因此,用户102致使信息(即通信106A和B)在两个计算机104之间流 式传输。用户102常常期望交互式游戏模拟实时体验。 0024 为了实现用户102的这些期望,网络100力争以如下的速度和等待时间将这些通 信106A和B流式传输给用户102(即它们相应的计算机104):所述速度和等待时间被选为 与交互式游戏中所涉及的现实世界体验类似地模拟与现实世界体验相关联的步调和信息 内容。因此,该交互式游戏被认为是实时地执行或进行的。因此,术语“实时”是主观的。更 具体而言,可能被认为是“实时”的是部分地由下列各项确定的:用。

25、户102的期望;特定网络 100的能力;这些特定用户102已知的能力(可能向或可能未向所述用户通知从其他网络 可用的能力);等等。尽管如此,网络100和计算机104的能力(以及限制)常常确定:整 个网络100是否可以充分响应于用户102的输入和感官感知来提供交互式体验以提供用户 102主观感受模拟实时体验。如果通信路径100经历不足的带宽、过多的分组丢失(突发或 以其他方式)、递送的长延迟、递送等待时间的过大改变(抖动)、不稳定性等等,则交互式 体验可能受损。 0025 因此,在给定网络100的配置的情况下,网络100是否递送实时模拟取决于该网络 是否与当前可用的其他网络相比倾向于更多地利用该。

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

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

28、用户102可能希望使用寻求提供实时体验的其他应用108(数量太大在此不 予完整枚举)。例如,用户102常常希望从服务器和其他内容源流式传输许多类型的音频、 视觉、音频/视频以及其他内容。此外,尽管图1所示的网络100提供与主观评级的实时性 能一致的能力,但是网络100还为诸如交换相对为静态的信息(例如文本文件、逗号分隔文 件、缓慢更新的信息等等)的那些应用之类的非实时应用108提供改善的能力。 0028 图2描绘了内部实现QOS服务110(参见图1)的联网环境200的说明性示意图。 联网环境200包括:两个网状网络202和204;以及多个路由设备,比如路由器206(其可能 被定位在联网环境20。

29、0中的多个位置处);以及在网状网络202和204内(和/或与其通 信)的各个实体之间对通信进行路由的软件。许多网状网络202和204都采取分层树的形 式以节省构建网络的成本(构造网络的成本频繁地与网络的分支的长度相关),尽管如此, 说 明 书CN 102668459 A 5/14页 8 其他网络可以采取网状形式以允许对网络的用户之间的信息进行更有效和灵活的路由。网 状网络202和204通常包括用户102可从中请求和接收各个服务、信息等等的各个服务器 208。用户102采用多个计算和/或通信设备来执行这些功能。在这样的信息交换中所涉 及的全部通信会话中,可以采用各个路由器、网络段、服务器来促进用。

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

31、范围内还包括了其他分层方案。 0030 关于用户102(参见图1),他们每个通常都与计算机210之一相关联。这些计算机 210与服务器208通信,并且托管允许用户102访问在网状网络202和204内的任何地方以 及在与所述网状网络通信的位置处的信息和服务的应用和其他软件。在整个网状网络202 和204中,各个实体212(无论它们是软件对象、程序、应用、模块、硬件、用户等等)被(各 件设备208、210等等)托管。因此,这些实体212实时地或非实时地交换通信106(参见图 1)。 0031 此时可能值得注意的是,尽管网状网络202和204在图中被示为分层结构(其中 可能暗示通信仅仅在分层结构中的。

32、“向上”和“向下”方向上流动),但是其中托管的各个 实体212与除了在网状网络202和204中处于其上或其下以外的其他位置处的实体212通 信。换言之,驻留在网状网络202和204上的实体212可以采用对等、水平、和其他额外分 层(extra-hierarchic)通信路径。结果,在许多情况下,在任何两个实体212之间可能存 在一个以上的通信路径。 0032 继续参考图2,实体212中的一些或全部都可以在网状网络202和204上检测和定 位彼此。更具体而言,各个实体212(充当对等体)可以通过合适协议获得ASID(网络提供 商的AS号)、PID(对等ID)、关于其对等体的位置的子区信息(在P4。

33、P框架中由P2P应用 的提供商门户来建议)、以及与其他实体212相关联的LOC(地理位置)。在替代方式中,实 体212可以检测网状网络202和204内的其他实体212的存在,或者可以通过执行DSN询 问(或者通过其他非限制性工艺和技术)获悉这样的其他实体212。 0033 无论用于标识出其他实体212的工艺和技术如何,当一个实体212期望与另一实 体212通信时,传送实体212建立到接收实体的通信路径。当然,通信路径可以包括路由器 206中的一个或多个和/或一个或多个服务器208。 0034 根据各个实施例,传送实体212可以将其在所建立的通信路径106和/或其他通 信路径106上观测到的QO。

34、S性能等级提交给QOS服务110(参见图1)。如上面所讨论的那 样,该通信路径可能涉及多个服务器、网络或通信路径段等等。因此,作为确定这些各个路 径段的性能等级的一部分,QOS服务110可以标识出该通信路径中的该组服务器、路径段等 等。QOS服务110可以要么通过从传送实体212、要么从网络数据库获得信息来标识出这些 路径段。同时,QOS服务可以继续从各个实体接收提交(其关于各个通信路径),标识出相 说 明 书CN 102668459 A 6/14页 9 应通信中所涉及的路径段、设备、实体等等,以及确定所涉及的路径段、设备、实体等等的相 应性能等级。随着QOS服务110接收附加的提交,其确定相。

35、应路径段的性能等级的能力相 应地增加。从这些所确定的路径段性能等级中,QOS服务可以预测网状网络202和204中 的各个通信路径的性能等级。 0035 各个实体(例如客户端)可以向QOS服务110(参见图1)查询与可能存在于它们 自己之间以及它们所针对的接收方实体212之间的各个通信路径有关的所确定(和所测 量)的QOS性能等级。由于QOS服务110能够推断网状网络202和204中的路径段的各个 QOS性能等级,因此QOS服务110即使在不存在针对实体为之提交了查询的特定通信路径的 提交的情况下仍然能够回答请求实体的查询。如在此进一步公开的那样,QOS服务110是 用图2所示的QOS服务器应用。

36、214和一个或多个QOS客户端应用216来实现的。无论QOS 服务110的实施方式如何(无论是用QOS服务器214还是QOS客户端应用或以其他方式), 使用从QOS服务110返回的所确定的QOS性能等级,请求实体212选择被其确定为适合传 送特定通信106的特定通信路径。例如,如果传送实体212想要保证通信106的完整性,则 传送实体212可以选择具有所确定的低分组丢失率的通信路径。可替代地或附加地,传送 实体212可以修改用于保护通信106的完整性的错误检测和纠正工艺和技术。 0036 继续参考图2,请求所确定的QOS性能等级的实体212可以制定其希望在与其请求 相关联的通信106中涉及的实。

37、体212的任何对(或更多)(可能多半包括其自身)。然后, QOS服务110响应于这样的请求返回与所指定实体212之间的可能通信路径有关的所确定 的QOS性能等级。通过这种方式,路由器206(例如)获悉与两个或更多实体212有关的所 确定的QOS性能等级,并且根据所确定的QOS性能等级设置它们之间的通信信道。 0037 已经简要讨论了各个实体如何使用所确定的QOS性能等级,本文献现在讨论QOS 服务110如何确定所确定的QOS性能等级。更具体而言,QOS服务110以多种方式确定所 确定的QOS性能等级。例如,在各个实施例中,QOS服务110包括QOS服务器应用214,该应 用具有计算机210托管。

38、的QOS客户端应用216中的至少一些。网状网络202和204之一的 顶层服务器208或其他服务器208可以托管QOS服务器应用214。 0038 QOS客户端应用216监控它们相应计算机210的通信,并且测量与来自它们的计 算机210的通信106相关的QOS性能等级。例如,当通信106离开(或到达)特定计算机 210时,QOS客户端应用216测量与通信106相关的各个QOS性能等级。诸如等待时间、分 组丢失率、传输率、带宽等等之类的网络性能等级代表了QOS客户端应用216所测量的QOS 性能等级中的一些。 0039 QOS客户端应用216还结合时间、日期、所涉及的通信路径以及与通信106有关的。

39、 其他信息存储所测量的QOS性能等级。QOS客户端应用216可以一进行测量就将所测量的 QOS性能等级提交给QOS服务器应用214。在替代方式中,QOS客户端应用216可以等待以 提交该信息。例如,QOS客户端应用216可以等待以提交信息,直到它们已经测量了某个所 选数目的QOS性能等级,直到它们已经监控了某个所选数目的通信106,或者直到它们已经 为某个所选数目的通信路径测量了QOS性能等级(这里仅列举了许多可能性中的几种)。 0040 在一些实施例中,一个或某个数目的计算机210托管QOS客户端应用216的实例。 因此,当诸如系统管理员之类的用户102决定部署QOS服务110时,用户102。

40、可以选择要在 上面开始收集所测量的性能等级的某些计算机104。当该计算机210操作时,其开始为其 说 明 书CN 102668459 A 7/14页 10 已实际使用过的各个通信路径收集所测量的性能等级。因此,联网环境200的对该计算机 210享有特定针对性(基于历史使用、当前使用和/或其他考虑因素)的那部分与联网环境 200的其他区域相比受到更多的与QOS相关的监控。 0041 当时间、资源等等允许时,用户102可以逐步地向附加的计算机210部署QOS客户 端应用216的实例。这些附加的QOS客户端应用216允许监控联网环境200的附加区域以 获得与QOS相关的信息。因此,用户102不仅可以。

41、逐步地部署QOS服务110,而且用户102 还可以以联网环境200的区域为目标以进行与QOS相关的监控。此外,QOS服务110可向 联网环境200的这些目标区域(以及其他区域)中的计算机210及它们的相关联的用户 102和/或实体212提供经改善(或所选择)的与QOS相关的性能等级(通过根据所确定 的QOS性能等级对通信106进行路由)。 0042 除其它事项之外,所示QOS服务器应用214维护QOS矩阵和QOS矢量,这将由本 文献参考图3予以进一步公开。QOS服务器应用214把由各个QOS客户端应用216提交的 信息存储在QOS矢量中,其中所述QOS矢量是根据网状网络202和204的通信路径。

42、的排列 (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之间的边界。附加 地或可替代地。

43、,通信路径和路径段220、222、224、226、228和230可以包含在一个或多个组 织(例如ISP或企业)内或者由所述组织来运营、控制。 0043 在将分组丢失率用作说明性性能等级的情况下,两个计算机210A和210B之间的 端对端分组丢失率可以表示为p 210A-210B 。而且,各个路径段上的分组丢失率可以针对路径段 220表示为p 220 ,以此类推。另外,服务器、路由器等等上的分组丢失率可以针对服务器208 表示为p 208 ,以此类推。端对端分组丢失率以及各个路径段(比如通信路径、服务器和路由 器)的分组丢失率可以具有如下关系:(1-p 210A-210B )(1-p 220 )。

44、*(1-p 222 )*(1-p 224 )*(1-p 226 )* (1-p 228 )*(1-p 230 )*(1-p 208 )*(1-p 206 )。在日志空间中,上面的关系以线性项来表示。QOS服务 110从客户端提交中获得端对端项,比如(1-p 210A-210B )。QOS服务110可以使用确定性或概 率方法来确定各项,比如(1-p 220 )和(1-p 208 )等等。QOS服务110为每个路径段、服务器、路 由器等等维护所推断出的项。以类似的方式,QOS服务110可以为每个路径段、服务器、路 由器等等维护关于等待时间、带宽、吞吐量等等的项。 0044 可能值得注意的是,对于等。

45、待时间和其他性能等级而言,端对端与各个组件之间 的关系是线性的(即端对端等待时间是各个组件上的等待时间之和)。对于带宽、吞吐量以 及可能的其他性能等级而言,端对端度量是各个组件的最小性能等级。其他类型的关系也 在本公开的范围之内。 0045 例如,图2描绘了说明性的通信路径,该通信路径通过路径段220、222、224、226、 228和230、服务器208A-D和路由器206A以及通过由这些设备托管的一个或多个实体 212A-D将计算机212A上的实体212与计算机210B上的实体212B相连接。每个路径段220、 222、224、226、228和230、实体212和设备都对通信路径的性能作出。

46、贡献(或缺乏性能)。 说 明 书CN 102668459 A 10 8/14页 11 因此,所测量的QOS性能等级将反映路径段220、222、224、226、228和230、实体212以及所 监控通信106中所涉及的设备中的每个的性能等级。因此,QOS服务器应用214可以将各 个通信路径的所测量的性能等级存储为矢量,其中该矢量的每个元素都表示一个通信路径 的性能等级。 0046 然而,关于一个通信106或通信路径的性能的信息可能对于预测另一通信106或 通信路径而言是价值有限的。之所以存在该情形是因为一个通信106可能与另一通信106 沿完全或部分不同的通信路径行进。附加地,尽管两个通信路径可。

47、能共用特定的路径段 220,但是该特定路径段的性能可能对于两个通信路径任一的性能都不是决定性的。当然, 通信106可能穿过彼此部分不相交并且部分重叠的通信路径。因此,QOS客户端应用216测 量某些通信106和某些通信路径的QOS性能等级,并且QOS服务器应用214收集该信息并 且将其相关以预测随后通信106和其他通信路径的QOS性能等级。 0047 更具体而言,QOS服务器应用214维护QOS矩阵,其中每行都对应于通信路径,并 且其每个元素都表示该通信路径上的路径段220、222、224、226、228和230、实体212和设备 (此后称为“路径段”)的要确定的性能等级。通过将所测量的QOS。

48、性能等级(其针对通信 路径)的矢量设置为等于要确定的QOS性能等级的矩阵(其针对路径段220、222、224、226、 228和230等等)以及解该QOS矩阵以得到其元素中的一些或全部,QOS服务器应用214确 定通信106中所涉及的路径段220、222、224、226、228和230的性能等级。此外,QOS服务器 应用214可以以确定性方式或概率方式来解QOS矩阵。在后一种情况下,所确定的QOS性 能等级将是估计值。此外,随着存储在QOS矢量的信息量(即所测量的QOS性能等级的数 目)增加,这些估计值的精确度将很可能以相应方式增加。 0048 然而,可能不需要解QOS矩阵以得到每个路径段的Q。

49、OS性能等级。更确切而言,可 以解QOS矩阵以仅仅得到可能影响感兴趣通信路径的那些性能等级。此外,QOS服务器应 用214可以等待直到其接收确定这些性能等级的请求以便节省用于其他目的的处理资源。 0049 可替代地或附加地,QOS服务器应用110A可以被配置为使用对网状网络202和 204的分层性质的知识。例如,由于某些计算机210通常将通过在特定网状网络202或204 内与它们最接近的服务器208来路由它们的通信106,因此不是各个通信路径的所有排列 都需要被考虑在内。此外,可能事先知道,计算机210的子集出于各种原因而可能将仅仅使 用路由器206(或其他设备、路径段220、222、224、226、228和230或实体212)的子集。因 此,在这些实施例中,大大降低了QOS矢量、QOS矩阵的大小和/或复杂度、以及与确定各个 QOS性能等级相关联的处理。 0050 另外,通过使用关于网状网络202和204的分层性质的信息,QOS服务110可以被 逐步地部署在网状网络202和204上。类似地,QOS服务110允许用户102(或者系统管理 员)其使用的灵活性。例如,某些路径段220。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1