传播针对自主网络的路由感知的制作方法

文档序号:11162098
传播针对自主网络的路由感知的制造方法与工艺

现代通信系统具有一系列能力,包括具有不同服务的不同通信形态的集成。例如,即时消息、语音/视频通信、数据/应用共享、白板、和其它形式的通信可以与订户的存在和可用性信息相结合。这些系统可以为订户提供增强的能力,诸如向呼叫者提供针对各种状态类别、替代联系人、日历信息以及类似特征的指令。此外,使得用户能够共享和协作以创立和修改各种类型的文档和内容的协作系统可以与提供不同类型的通信和协作能力的多模态通信系统集成。这种集成的系统有时候被称为统一通信和协作(UC&C)系统。

尽管UC&C系统提供了通信方面增加的灵活性,它们还呈现了若干实施挑战。例如,UC&C系统典型地利用多个互连的网络来路由各个通信。由于不同网络可以通过不同的实体来管理,因此在对于在独立管理的网络中路由的通信的通信质量方面产生挑战。此外,UC&C典型地经由可以加载在移动设备(例如,平板、智能电话、膝上型计算机等等)上的软件来实施。因此,用于管理UC&C通信业务的技术典型地必须是流畅和动态的以适应改变的连接情形。



技术实现要素:

提供此发明内容以便以简化的形式来介绍概念的选择,所述概念在具体实施方式中进一步进行描述。此发明内容不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用作帮助确定所要求保护的主题的范围。

描述了用于传播针对自主网络的路由感知的技术。在至少一些实施例中,路由感知指代自主网络的属性,该自主网络在不同的端点之间路由通信会话。根据不同的实施例,路由感知指示特定的自主网络是否支持用于在不同的自主网络之中传播路由感知的协议。路由感知还可以包括自主网络的性能属性。这种路由感知使得在路由通信会话中涉及的实体能够做出关于通信会话的路由和处理的明智的决策。

附图说明

具体实施方式参照附图进行描述。在图中,附图标记中的最左边的数字指示其中该附图标记第一次出现的图。说明书和附图中不同实例中相同附图标记的使用可以指示类似或完全相同的项。

图1是可操作用于利用本文所讨论的技术的示例性实施方式中的环境的示例。

图2示出了根据一个或多个实施例的用于聚集路由感知的示例性实施方式场景。

图3示出了根据一个或多个实施例的用于确定自主网络之中的路由路径感知的示例性实施方式场景。

图4示出了根据一个或多个实施例的用于重新路由通信会话的示例性实施方式场景。

图5是根据一个或多个实施例的描述了用于传播路由感知的方法中的步骤的流程图。

图6是根据一个或多个实施例的描述了用于指示路由路径偏好的方法中的步骤的流程图。

图7是根据一个或多个实施例的描述了用于传播路由路径属性中的改变的路由感知的方法中的步骤的流程图。

图8示出了如参照图1所描述的示例性系统和计算设备,其被配置为实施本文所描述的技术的实施例。

具体实施方式

概述

描述了用于传播针对自主网络的路由感知的技术。在至少一些实施例中,路由感知指代自主网络的属性,该自主网络在不同的端点之间路由通信会话。通常,通信会话指代不同通信端点之间的通信介质的实时交换。通信会话的示例包括互联网协议电话(VoIP)呼叫、视频通话、文本消息传送、文件传输、内容共享、和/或其组合。在至少一些实施例中,通信会话表示统一通信和协作(UC&C)会话。

根据不同的实施方式,路由感知指示特定自主网络是否支持用于在不同的自主网络之中传播路由感知的协议。这种协议以下将更详细地进行讨论,但是通常指代用于传播自主网络以及通信会话自身带外的通信会话的属性的过程。因此,路由感知的传播独立于通信会话的路由和处理。

根据各个实施方式,路由感知包括自主网络的性能属性,诸如通信会话质量和/或在跨不同自主网络而发生的错误的指示。从而,本文所讨论的技术提供了用于启发具有路由感知的不同自主网络的各种场景。这种路由感知使得在路由通信会话中涉及的实体能够做出关于通信会话数据的路由和处理的明智的决策。

在下面的讨论中,首先描述了可操作地利用本文所描述的技术的示例性环境。接下来,名称为“传播路由感知”的部分讨论了根据一个或多个实施例的用于传输路由感知的一些示例性方法。在此之后,名称为“示例性实施方式场景”的部分描述了根据一个或多个实施例的一些示例性实施方式场景。接下来,名称为“示例性过程”的部分描述了根据一个或多个实施例的一些示例性过程。最终,名称为“示例性系统和设备”的部分描述了根据一个或多个实施例的可操作用于利用本文所讨论的技术的示例性系统和设备。

已经介绍了根据一个或多个实施例的示例性实施方式的概述,现在考虑其中可以利用示例性实施方式的示例性环境。

示例性环境

图1是可操作用于利用用于传播针对本文所描述的自主网络的路由感知的技术的示例性实施方式中的环境100的示例。通常,环境100包括经由各种不同模态实现通信的各种设备、服务以及网络。例如,环境100包括连接至客户端网络104的客户端设备102。客户端设备102可以以各种方式进行配置,诸如传统的计算机(例如,台式个人计算机、膝上型计算机等等)、移动站、娱乐设施、智能电话、可穿戴设备、上网本、游戏控制台、手持式设备(例如,平板)等。

客户端网络104表示提供客户端设备102的网络,其具有至各种网络和/或服务的连接性,诸如互联网。客户端网络104可以由特定企业实体(诸如,互联网服务提供商(ISP))来提供和/或管理。例如,客户端网络104表示本地接入提供商(LAP)网络,其向客户端设备102提供网络连接性。客户端接入网络104可以经由各种不同的连接技术(诸如,宽带电缆、数字订户线(DSL)、无线蜂窝、无线数据连接(例如,WiFiTM)、T-载波(例如,T1)、以太网等等)向客户端设备102提供连接性。

客户端网络104包括客户端网络部件106,其表示客户端网络104的不同基础设施部件,诸如,用于实施和保持客户端网络104的硬件和逻辑。客户端网络部件106的示例包括网络开关、路由器、网关等等。客户端网络部件106例如包括客户端网络控制器108和客户端网关110。客户端网络控制器108表示管理客户端网络104的不同方面的功能,诸如客户端网络部件106的连接性和路由。客户端网关110表示用于从客户端网络104向其它网络路由数据的功能。客户端网关110的示例包括边界路由器、客户端场所设备(CPE)路由器、和/或与其它网络进行连接以交换数据的其它设备。

根据不同实施例,客户端网络控制器108保持各个客户端网络部件106的状态感知。例如,客户端网络控制器108保持客户端网络部件106的映射(mapping)(例如,从位置的角度)和客户端网络控制器108的性能属性,诸如针对不同客户端网络控制器108的信号质量、客户端网络控制器108的服务质量(QoS)属性,等等。

客户端网络控制器108例如包括接入用于客户端网络部件106的路由信息的连接性和逻辑。例如,客户端网络控制器108可以接入内部网关协议(IGP)和/或用于客户端网络部件106的生成树切换拓扑。这使得客户端网络控制器108能够识别客户端网络104内的不同数据路由路径,并且能够映射和重新映射不同的路由路径。

连接至客户端网络104的是中间网络112,其继而连接至端点网络114。中间网络112和端点网络114表示可以由不同的各自的实体来实施和管理并且根据各种不同网络技术(诸如,宽带电缆、数字订户线(DSL)、无线蜂窝、无线数据连接(例如,WiFiTM)、T-载波(例如,T1)、以太网等等)的不同类型和实例的有线和无线网络。

根据不同的实施方式,客户端网络104、中间网络112以及端点网络114之间的连接提供了客户端设备102与端点116之间的不同的通信路径。端点116表示客户端设备102可以与其进行通信的设备和/或功能。

中间网络112包括中间网络部件118,其继而包括中间网络控制器120和边界路由器122。通常,中间网络部件118表示中间网络112的不同的基础设施部件,诸如用于实施和保持中间网络112的硬件和逻辑。中间网络控制器120表示管理中间网络112的不同方面的功能,诸如中间网络部件118的连接性和路由。边界路由器122表示用于将数据从中间网络112路由至其它网络(诸如,客户端网络104和端点网络114)的功能。根据不同的实施方式,边界路由器122的一个或多个与客户端网关110中的一个或多个相连接,以提供客户端网络104与中间网络112之间的对等点。

端点网络114包括端点网络部件124,其继而包括端点网络控制器126和端点网关128。通常,端点网络控制器126表示管理端点网络114的各个方面的功能,诸如针对端点网络部件124的连接性和路由。端点网关128表示用于将数据从端点网络114路由至其它网络(诸如,中间网络112)的功能。例如,边界路由器122中的一个或多个与端点网关128中的一个或多个相连接以提供端点网络114与中间网络112之间的对等点。以上参照客户端网络部件106讨论了端点网络部件124的示例性属性和方面。

根据各个实施方式,经由客户端设备102的通信客户端130和端点116的通信客户端132促进了客户端设备102与端点116之间的通信。通常,通信客户端130、132表示经由客户端设备102和端点116实现不同形式的通信的功能。通信客户端130、132的示例包括语音通信应用(例如,VoIP客户端)、视频通信应用、消息传送应用、内容共享应用、和其组合。通信客户端130、132例如使得不同的通信模态能够相结合以提供不同的通信场景。

在至少一些实施方式中,通信客户端130、132表示至通信服务134的接口。通常,通信服务134表示执行针对客户端设备102与端点116之间的通信的管理的各种任务的服务。通信服务134例如可以管理通信客户端130、132之间的通信会话的发起、调制、和终止。

通信服务134保持跨许多不同网络的存在并且可以根据各种不同架构而实施,诸如基于云的服务、分布式服务、基于网络的服务等等。通信服务134的示例包括VoIP服务、在线会议服务、UC&C服务等等。在至少一些实施例中,通信服务134可以实施为或连接至与公共开关电话网络(“PSTN”)通信的专用交换分机(PBX),以实现客户端设备102与诸如端点116之类的其它端点之间的语音通信。

关于在本文所讨论的用于传播针对自主网络的路由感知的技术,环境100包括网络顾问系统136。通常,网络顾问系统136表示将路由感知传播至不同实体的功能。“路由感知”例如指代关于用于通过中间网络112在客户端设备102与端点116之间路由数据的路由路径的信息。在至少一些实施方式中,路由感知包括不同网络的属性并且不依赖于特定通信会话。另外,路由感知可以包括关于通信会话的特定实例的数据、在路由通信会话中涉及的网络的属性、参与通信会话的用户等等。以下描述了关于路由感知的进一步的细节。

根据各个实施方式,网络顾问系统136与客户端网络104的客户端网络顾问138、中间网络112的中间网络顾问140、端点网络114的端点网络顾问142相连接。网络顾问系统136可以从不同的网络顾问接收路由感知,并且可以在不同的网络顾问之中传播路由感知,以使得单独的网络能够保持不同网络的路由属性的状态感知,并且因此做出明智的决策来优化通信会话性能。在至少一些实施方式中,网络顾问可以部署在不同的网络中以作为网络顾问系统136的代理。替代地,网络顾问可以独立于网络顾问系统136而部署和/或实施。

根据各个实施方式,网络顾问表示接收关于不同网络的路由感知、将路由感知传播至其各自的网络的网络部件(例如,其各自的网络控制器)、以及保持其各自网络的路由属性的状态感知的功能。客户端网络顾问138例如表示与客户端网络控制器108和/或其它客户端网络部件106相连接的功能,并且用作客户端网络部件106与其它实体(诸如,网络顾问系统136和/或其它网络顾问)之间的信息端口。

中间网络顾问140表示与中间网络控制器120和/或其它中间网络部件118相连接的功能并且用作中间网络部件118与其它实体(诸如,网络顾问系统136和/或其它网络顾问)之间的信息端口。根据各个实施方式,中间网络112中的至少一些各自包括中间网络顾问140的不同的各自的实例。然而,这不被理解为限制性的,并且如下面所详述的,中间网络112中的一些不包括各自的网络顾问140并且因此不支持在本文所讨论的用于传播针对自主网络的路由感知的技术。出于本文讨论的目的,这种网络被称为“非支持性网络”。

端点网络顾问142表示与端点网络控制器126和/或其它端点网络部件124相连接的功能并且用作端点网络部件124与其他实体(诸如,网络顾问系统136和/或其它网络顾问)之间的信息端口。除非客户端网络顾问138、中间网络顾问140、或端点网络顾问142中的一个被特别引用,本文所使用的术语“网络顾问”可以指代客户端网络顾问138中的一个或全部、中间网络顾问140、或端点网路顾问142。

根据一个或多个实施方式,网络顾问系统136可以由通信服务134来实施和/或保持,诸如传播针对由通信服务134所管理的通信会话的路由感知。替代地,网络顾问系统136可以单独地和/或独立于通信设备134而实施。网络顾问系统136例如可以聚集和传播针对通信会话中涉及的不同实体和/或系统(诸如,不同的通信客户端和通信服务)的路由感知。

针对客户端网络104保持客户端网络数据库(DB)144,并且客户端网络数据库(DB)144表示追踪针对客户端网络104的各种类型的路由信息的功能。例如,客户端网络DB 144可以利用来追踪各种客户端网络部件106的状态信息,诸如客户端网络部件106的性能属性和统计数据。客户端网络控制器108例如可以将客户端网络部件106的状态信息传输至客户端网络顾问138,其将状态信息存储为客户端网络DB 144的部分。替代地或另外,客户端网络控制器108可以与客户端网络DB 144直接交互,诸如使信息填入(populate)客户端网络DB 144以及从客户端网络DB 144取回信息。根据各个实施方式,来自客户端网络DB 144的信息可以用于做出各种决策,诸如用于确定客户端设备102的通信会话的路由路径。如以下进一步详述的,客户端网络DB 144可以利用来存储其它网络(诸如,中间网络112和端点网络114)的状态信息。

针对中间网络112而保持中间网络数据库(DB)146,并且中间网络数据库(DB)146表示追踪针对中间网络112的各种类型的信息的功能。根据各个实施方式,中间网络112中的单独网络各自包括中间网络DB 146的不同的各自的实例。例如,中间网络DB 146中的单独网络可以利用来追踪针对各自中间网络部件118的状态信息,诸如针对各自中间网络112的中间网络部件118的性能属性和统计数据。中间网络DB还可以存储其它网络(诸如,其它中间网络112、客户端网络104、端点网络114等)的状态信息。以上参照客户端网络DB 144讨论了中间网络DB 146的进一步的方面和功能。

针对端点网络114而保持端点网络数据库(DB)148,并且端点网络数据库(DB)148表示追踪针对端点网络114的各种类型的信息的功能。例如,端点网络DB 148可以利用来追踪针对各自端点网络部件124的状态信息,诸如针对端点网络部件124的性能属性和统计数据。端点网络DB还可以存储其它网络(诸如,中间网络112、客户端网络104等中的一个或多个)的状态信息。以上参照客户端网络DB 144讨论了端点网络DB 148的进一步的方面和功能。

根据一个或多个实施方式,网络顾问系统136保持系统网络数据库(DB)150,其表示追踪关于环境100的不同网络的各种信息的功能。例如,系统网络DB 150保持客户端网络104、中间网络112、以及端点网络114的网络属性的活动状态感知(例如,路由感知)。系统网络DB 150例如追踪特定网络是否支持在本文所讨论的路由感知的传播的协议,是部分支持性的还是非协议支持性的。可以由系统网络DB 150追踪的网络属性的其它示例包括性能属性,诸如跨不同网络的通信会话的当前和历史性能属性。

系统网络DB 150还可以追踪针对各种当前和历史通信会话的路由感知,诸如针对单独的通信会话的标识符、在单独的通信会话中涉及的端点、通过其单独的通信会话进行路由的网络、通信会话的性能属性等等。如在本文详述的,关于通信会话的路由感知可以从通信会话自身的数据中带外传播。因此,关于通信会话数据的处理和路由的决策可以在没有加工和/或处理实际的通信会话数据的情况下来进行。

在至少一些实施方式中,关于通信会话和/或网络状态的路由感知可以在不同的网络顾问之中进行传播以提供可以影响通信会话的状态的端对端感知。例如,网络顾问可以彼此进行通信以共享路由感知而不依赖于网络顾问系统136。替代地或另外地,路由感知可以从单独的网络顾问传播至网络顾问系统136,其可以将信息聚集为系统网络DB 150的部分。网络顾问系统136可以在不同的网络之中共享路由感知以使得路由感知被传播至路由和处理通信会话中涉及的实体。如另一个实施方式,单独的网络控制器可以与网络顾问系统136直接进行通信以发送和接收路由感知。

通常,客户端网络104、单独的中间网络112、以及端点网络114各自表示经由其相应的对等点彼此连接的单独的自主网络,例如,网关、边界路由器等。不同的网络例如可以由不同的实体(诸如,不同的基础设施和服务提供商)进行实施和管理。因此,本文所讨论的实施方式提供了其中路由感知可以在路由和/处理通信会话中涉及的不同自主网络之中进行传播的各种不同的环境。

根据各个实施方式,客户端网络104、一个或多个中间网络112、以及端点网络114可以实施为软件定义的网络(SDN)。在这种实施方式中,SDN网络的各自的网络顾问表示可以接收、加工和传播路由感知的SDN控制器。

本文所讨论的各个实体可被称为在复数和单数的实施方式两者中。当实体在复数和单数的实施方式两者中进行讨论时,对单数实施方式的提及指代复数实施方式的实例。例如,对中间网络112的提及指代多个中间网络112的特定实例。

已经描述了其中本文所描述的技术可以操作的示例性环境,现在考虑根据一个或多个实施例的传播路由感知的示例性方式的讨论。

传播路由感知

根据各个实施例,技术可以利用来动态地启发具有路由感知的不同实体,诸如关于网络状态的信息、关于通信会话的信息等等。例如,可以生成包括网络和通信会话的各种属性的通知事件。关于在本文所讨论的用于传播针对自主网络的路由感知的技术,可以将通知事件传播至不同实体。

在至少一个实施例中,可以使用可以被利用来将路由感知配置和传输至在通信会话中涉及的各个实体的通信应用程序接口(API)来配置通知事件。例如,通信API可以识别对话事件和会话事件,针对对话事件和会话事件,可以识别网络和/或通信会话的属性。例如,考虑到下面的事件和属性可以经由使用通信API而生成的通知事件来传送。

对话事件-这些事件应用至通信会话的各个部分,诸如通信会话的开始、更新、和结束。对话事件可以包括下面的示例性属性中的一个或多个。

(1)网络标识符:此属性可以被利用来识别网络,诸如从其中接收到对话事件的网络。在至少一些实施方式中,网络标识符可包括识别特定网络的自主系统(AS)号码。参照环境100,例如,网络标识符可以识别客户端网络104、中间网络112、和/或端点网络114。

(2)时间戳:此属性可以被利用来指定通信会话的开始、通信会话期间发生的更新、以及通信会话的结束(例如,终止)的时间戳。

(3)源IP地址:此属性可以被利用来指定做为在通信会话期间的媒介的源的设备(诸如,发起通信会话的设备)的IP地址。参照环境100,例如,源IP地址可以是针对客户端设备102或端点116的。

(4)目的地IP地址:此属性可以被利用来指定用于接收做为通信会话的部分的媒介的设备的IP地址。参照环境100,例如,目的地IP地址可以是针对客户端设备102或端点116。

(5)传送类型:此属性可以被利用来指定通信会话的传送类型或传送类型的组合。传送类型的示例包括传输控制协议(TCP)、订户数据报协议(UDP)等等。

(6)源端口:此属性可以被利用来指定源设备(例如,由以上提到的源IP地址所识别的源设备)处的端口的标识符。

(7)目的地端口:此属性可以被利用来指定目的地设备(例如,由以上所提到的目的地IP地址所识别的目的地设备)处的端口的标识符。

(8)媒介类型:此属性可以被利用来指定被发送和/或正在被发送作为通信会话的部分的一种媒介类型和/或多种媒介类型。如在本文其它地方所讨论的,通信会话可以涉及多个不同类型的介质。因此,介质类型属性可以被利用来识别通信会话中的介质类型,诸如以便应用本文所讨论的服务政策。

(9)带宽估计:此属性可以被利用来指定被分配用于通信会话的所估计的带宽。所估计的带宽例如可以是基于各种因素,诸如与用户相关联的权限级别、在通信会话中包括的媒介的一种和/或多种类型等。

(10)去往(To):此属性可以被利用来指定用户,通信会话中的媒介被发送至该用户。

(11)来自:此属性可以被利用来指定用户,通信会话中的媒介从该用户被发送。

(12)编码解码器:此属性可以被利用来指定用作通信会话的部分的一个或多个编码解码器。

(13)错误代码:此属性可以被利用来指定针对做为通信会话的部分而发生的错误的各种错误代码。例如,错误可以包括在通信会话的发起期间发生的错误、在通信会话期间发生的错误、当通信会话终止时发生的错误等等。

会话问题事件-在通信会话经历错误、性能降级等时可以生成和应用这些事件。会话问题事件可以包括以上参照对话事件所讨论的属性中的一个或多个,并且还可以包括下面属性中的一个或多个。

(1)平均意见得分(MOS)降级:此属性可以被利用来指定针对通信会话的MOS。此属性例如可以用于指示通信会话的总质量已经下降。

(2)抖动到达间隔时间(Jitter Inter-Arrival Time):此属性可以被利用来指定通信会话的抖动值。例如,属性可以用于指示(一个或多个)抖动值已经增加,例如,已经超过指定的抖动值阈值。

(3)分组丢失率:此属性可以被利用来指定通信会话的分组丢失率。例如,此属性可以用于指示分组丢失率已经增大,例如,已经超过了指定的分组丢失率值的阈值。

(4)往返行程延迟(Round Trip Delay)(RTD):此属性可以被利用来指定通信会话中的分组的RTD值。此属性例如可以用于指示RTD值已经增大,例如,已经超过指定的RTD值阈值。

(5)隐藏率(concealment ratio):此属性可以被利用来指定在开始通信会话之后所观测到的随着说话时间而变化的隐藏时间的累计率。属性例如可以用于指定隐藏率已经增大,例如,已经超过指定的隐藏率值的阈值。

网络性能事件-可以生成和应用这些事件以指定各种网络属性以及针对特定网络所观测到的行为和性能参数。例如,网络性能事件可以被传输至特定实体(例如,网络顾问),以为实体提供路由感知。网络性能事件可以包括以上参考对话事件所讨论的属性中的一个或多个,并且还可以包括下面属性中的一个或多个。

(1)支持性网络:此属性可以被利用来指示特定网络是否支持用于传播路由感知(“支持性的”)的协议,是部分支持性的(“部分的”),还是不支持路由感知的传播(“非支持性的”)。在至少一些实施方式中,路由感知协议能够经由将该协议与其它协议区分开来的定制协议ID和/或协议号来识别。

(2)平均意见得分(MOS)等级:此属性可以被利用来指定针对穿过特定网络的通信会话所观测的MOS。网络的MOS例如可以通过在多个不同的通信会话上对MOS进行平均来确定。

(3)抖动到达间隔时间:此属性可以被利用来指定针对在特定网络中的通信会话数据所观测的的抖动值。

(4)分组丢失率:此属性可以被利用来指定针对特定网络中的通信会话数据所观测到的分组丢失率。

(5)往返行程延迟(RTD):此属性可以被利用来指定针对特定网络中的通信会话数据所观测到的RTD值。

(6)隐藏率:此属性可以被利用来指定针对在特定网络中的通信会话数据所观测到的随着说话时间而变化的隐藏时间的累计率。

(7)路由策略:此属性可以被利用来指定不同的路由策略,诸如安全策略、服务等级策略、服务质量(QoS)策略等等。路由策略例如可以特定于特定的网络、单独的通信会话等等。

(8)网络偏好:此属性可以被利用来指定特定网络的偏好等级,诸如可以优选为被利用来路由通信会话的特定网络。在至少一些实施方式中,可以实施网络的白名单、灰名单、和/或黑名单。网络白名单(例如识别支持传播路由感知的优选网络,其在处理通信会话数据时与可接受的性能质量相关联)公知为实施经验证的安全过程等等。网络黑名单可以识别公知为不满足不同标准的网络,诸如公知为非支持性的网络、实施过时的安全协议的网络、在不安全的位置(例如,地理位置)的网络,等等。网络灰名单可以识别其属性不是已知的的网络,例如,没有足够的信息来放置在白名单或黑名单的网络。

从而,本文所讨论的各种修改可以包括以上所讨论的属性中的一个或多个,并且可以用于将路由感知传播至各个实体。在至少一些实施方式中,属性可以链接至特定网络和/或网络部件以特征化网络和/或网络部件的性能属性。

已经描述了传播路由感知的示例性方法,现在考虑根据一个或多个实施例的传播路由感知的一些示例性实施方式场景。

示例性实施方式场景

下面的部分描述了根据一个或多个实施方式的用于传播路由感知的示例性实施方式场景。实施方式场景可以在以上所讨论的环境100中实施,和/或任何其它适合的环境。

图2示出了根据一个或多个实施方式的用于传播路由感知的示例性实施方式场景200。场景200包括以上参照环境100所介绍的各个实体和部件。

在场景200中,通信会话202被发起或计划为在客户端设备102与端点116之间发起。例如,用户输入发起与端点116进行通信会话202的请求。替代地,通信会话202表示被计划为在将来时间发生的所计划的通信会话,诸如与所计划的会议或其它日历事件相关联。

响应于发起通信会话的请求,确定在客户端设备102与端点116之间的通信会话202的路由路径。根据各个实施方式,使用任何适合的算法来选择用于路由通信会话的路由路径,诸如由客户端网络控制器108所应用的最短路径算法、中间网络控制器120、和/或端点网络控制器126。在至少一些实施例,基于特定的路由协议(诸如,边界网关协议(BGP))来导出路由路径。

进一步响应于发起通信会话202的请求,通信客户端130将开始对话事件204发送至客户端网络顾问138。开始对话事件204包括独特地识别通信会话202的信息。例如,以上所提及的通知事件可以用于传输通信会话202的属性,诸如源和目的地标识符、端口号、会话类型、编码解码器等等。

基于开始对话事件204,客户端网络顾问138将针对关于通信会话202的信息的会话查询206传输至客户端网络控制器108。通常,会话查询206包括来自开始对话事件204的信息,诸如以识别通信会话202。会话查询206还请求针对通信会话202的路由信息。例如,会话查询202包括执行路由追踪过程的请求,以识别通信会话202通过其会或将会被路由至端点116的网络和/或网络部件。

响应于会话查询206,客户端网络控制器108确定客户端网络104内的通信会话202的路由路径信息,诸如特定客户端网关110的标识符,经由该标识符通信会话202使得客户端网络104退出至中间网络112。在至少一些实施方式中,客户端网络控制器108确定不同的网络(例如,中间网络112),通信会话通过该不同的网络进行路由。例如,客户端网络控制器108可以实施路由追踪过程以识别这种网络。

客户端网络控制器108生成包括路由信息的会话响应208。会话响应208还可以被填充有其它信息,诸如客户端网络104中的路由路径的性能属性。这种性能属性的示例包括跨路由路径观测到的可用的带宽、分组错误率、抖动、分组丢失率等等。客户端网络控制器然后将会话响应208传输至客户端网络顾问138。

关于场景200,客户端网络顾问138生成客户端会话通知210,客户端会话通知210被填充有来自开始对话事件204和会话响应208的信息,诸如在通信会话202中涉及到的端点的标识符、路由信息(例如,客户端网关110,通信会话从客户端网关110退出客户端网络104)、路由路径的性能属性,等等。客户端网络顾问138将客户端会话通知210传输至网络顾问系统136。

网络顾问系统136接收客户端会话通知210并且确定在通知中指定的各信种息和属性。基于这些属性,网络顾问系统136识别中间网络112,通信会话202通过中间网络112进行路由。中间网络112可以以各种方式(诸如,经由针对网络所指定的自主系统(AS)号)来识别。

网络顾问系统136试图将通信会话202的路由路径的网络标识符(ID)匹配至在系统网络DB 150中识别的网络。通常,系统网络DB 150将单独的网络ID与单独的网络的属性相关。在本文的其它地方详述了不同的网络属性的示例,并且不同的网络属性的示例包括单独的网络是否支持本文所讨论的用于路由感知的传播的协议。

在至少一些实施方式中,系统网络DB 150包括修改的路由表格,该修改的路由表格指定客户端设备102与端点116之间的不同的网络路由。对于不同的路由,系统网络DB 150可以指定单独的中间网络112是否是支持性的网络和针对单独的中间网络112的性能属性。系统网络DB 150还可以指定单独的中间网络112是否列在网络白名单、网络黑名单、或网络灰名单上,以上讨论了其示例。

基于将网络ID匹配到系统网络DB 150,网络顾问系统136生成通信会话202的路由路径的路由感知,通信会话202包括所识别的网络中的一个或多个的属性。网络顾问系统136将路由感知212a传输至客户端网络顾问138,沿着通信会话202的路由路径将路由感知212b传输至中间网络顾问140,以及将路由感知212n传输至端点网络顾问142。通常,路由感知212a、212b、212n包括沿着通信会话202的路由路径的不同网络的属性,以上讨论了其示例。

根据一个或多个实施例,路由感知212a、212b、212n可以包括至不同网络顾问的指令,该指令指定哪些中间网络112将用于路由通信会话202。例如,如果特定的中间网络112确定为是协议支持性的网络,且其它中间网络被确定为是非支持性的,则路由感知212a、212b、212n可以指定将利用协议支持性网络而不是非支持性网络。基于这种指令,通信会话202可以通过一个或多个不同的中间网络112来重新路由。

替代地或另外地,路由感知212a、212b、212n可以提供针对网络的信息或建议,诸如用于相对于其他网络更优选的网络的ID。单独的网络顾问和/或网络控制器在决定用于路由通信会话的路由路径时可以考虑路由感知212a、212b、212n。例如,特定网络的网络顾问可以基于特定网络的路由策略来决定是否将通信会话202路由(例如,重新路由)至建议的网络。以上讨论了不同路由策略的示例。

如以上所提及的,中间网络112中的一个或多个不被认为是协议支持性的网络。因此,在至少一些实施方式中,路由感知不被传播至这种非支持性网络。

因此,场景200示出了在至少一些实施方式中,网络顾问系统136可以用作从不同的网络聚集路由感知。网络顾问系统136例如用作可以接收、聚集和传播路由感知的集中式服务。

图3示出了根据一个或多个实施方式的用于确定自主网络之中的路由路径感知的示例性实施方式场景300。场景300包括以上参照环境100所介绍的各个实体和部件。在至少一些实施方式中,场景300表示场景200的替代或另外的场景。

在场景300中,通信会话302被发起或计划为在客户端设备102与端点116之间发起。相应地,客户端网络顾问138确保跨客户端网络104的通信会话302的初始路径路由信息。以上讨论了确定路径路由信息的示例性方法,并且该示例性方法可以包括查询路径路由信息的客户端网络控制器108。客户端网络控制器108例如利用BGP来初始地确定客户端设备102与端点116之间的最短路径。

以发起路由路径信息开始,客户端网络顾问138识别下一个中间网络112,以将通信会话302路由至该下一个中间网络112。例如,客户端网络顾问138确定被识别为最短路径确定的部分的下一个中间网络112是否是协议支持性的网络。客户端网络顾问138可以以各种方式来实现这一点,诸如通过对客户端网络DB 144检查下一个网络的ID,查询下一个中间网络112关于其是否是支持性网络,查询网络顾问系统136关于下一个中间网络112是否是支持性网络等。

如果下一个中间网络112被识别为支持性网络,则客户端网络顾问138可以更新客户端网络DB 144以指示下一个中间网络112是感知协议支持性网络。例如,可以建立或更新识别下一个中间网络112的记录条目以指示下一个客户端网络104是支持性网络。根据各个实施方式,客户端网络顾问138还可以将通知传输至网络顾问系统136,其可以更新系统网络DB 150以指示下一个客户端网络104是支持性网络。

出于场景300的目的,假定下一个中间网络112不被识别为协议支持性网络。相应地,客户端网络顾问138查询其它中间网络112是否是协议支持性网络。客户端网络顾问138可以以各种方式来实现这一点,诸如通过对客户端网络DB 144检查其它中间网络112的ID、查询其它中间网络112关于其是否是支持性网络,查询网络顾问系统136关于其它中间网络112是否是支持性网络等。

基于针对协议支持性网络的查询,客户端网络顾问138识别是支持性网络的不同的中间网络112。相应地,客户端网络顾问138将路由通知304传输至客户端网络控制器108,其将不同的中间网络112识别为用于路由通信会话302的优选网络。路由通知304例如可以包括将通信会话302从下一个中间网络112重新路由至不同的中间网络112的指令。替代地,路由通知304可以识别不同的中间网络112是针对通信会话302的优选路由路径,并且客户端网络控制器108可以决定是否将通信会话302重新路由至不同的中间网络112。例如,基于客户端网络104的网络策略,客户端网络控制器108可以确定是否重新路由至不同的中间网络112是优选的和/或允许的。

继续场景300,将通信会话302重新路由至不同的中间网络112。根据各个实施方式,重新路由可以动态地发生,而通信会话302在进行中。在其中通信会话302尚未发起的实施方式中,重新路由对重新配置通信会话302的路由路径会是有效的,以使得当发起通信会话302,通过不同的中间网络112路由通信会话302。

关于场景300,由客户端网络顾问138所执行的迭代的路径确定由中间网络112的中间网络顾问140来执行,通信会话302通过中间网络112路由至端点116。例如,迭代的路径确定306由不同中间网络112的中间的网络顾问140以及中间网络112的其它中间网络顾问140来执行,通信会话302通过其来进行路由。单独的中间网络顾问140例如各自执行迭代的路径确定306。

根据各个实施方式,迭代的路径确定306表示基于特定的中间网络112是否是支持性网络来识别用于路由通信会话302的优选的路径候选的过程。例如,迭代的路径确定306试图识别在客户端网络104与端点网络114之间包括最高比例的协议支持的中间网络112的最短路径。迭代的路径确定306还可以基于其它网络策略,诸如以上所讨论的路由策略。通常,迭代的路径确定306表示生成诸如用于路由通信会话302的路由感知的示例性的方式。

基于迭代的路径确定306,单独的中间网络顾问140可以将路由通知308传输至中间网络控制器120的各自的实例。根据各个实施方式,路由通知308可以包括将通信会话302重新路由至不同的中间网络112的指令。替代地,路由通知308可以识别,不同的中间网络112是针对通信会话302的优选的路由路径,并且各自的中间网络控制器120可以决定是否相应地重新路由通信会话302。例如,基于各自的中间网络112的网络政策,中间网络控制器120可以确定重新路由至不同的中间网络112是否是优选的和/或允许的。

从而,场景300示出了,路由感知可以基于网络对网络而生成以识别优选的路径候选,并且可以基于路由感知来先发制人地和/或动态地进行配置和重新配置针对通信会话的路由路径以包括协议支持性的网络。

图4示出了根据一个或多个实施方式的用于重新路由通信会话的示例性实施方式场景400。场景400包括以上参照环境100而介绍的各个实体和部件。为了简化理解,环境100的某些元件在视觉上进行了省略了,但是出于讨论的目的考虑通过暗示来呈现。在至少一些实施方式中,场景400表示场景200、300的实施方式和/或延展。

在场景400中,通信会话402被发起或计划为在客户端设备102与端点116之间进行发起。通信会话402例如表示通信会话202、302的实施方式。相应地,诸如基于最短路径协议(例如,BGP)确定通信会话402的初始路由路径404。如示出的,路由路径404包括中间网络112a、中间网络112b、以及中间网络112n。

关于场景400,生成了关于通信会话402的路由感知406。可以以各种方式来生成路由感知406,以上和以下讨论了其示例。例如,可以基于从诸如参照场景200所讨论的网络顾问系统136传播的路由感知来生成路由感知406。替代地或另外地,可以经由由诸如参照场景300所讨论的单独的网络所执行的过程来生成路由感知406。

根据各个实施方式,路由感知406识别用于路由通信会话402的优选的路径候选。路由感知406例如指定中间网络112c相对于中间网络112b是优选的。例如,中间网络112c可以被识别为协议支持性的网络,然而,中间网络112b可以被识别为非协议支持性的或非特征化的网络。

相应地,并且基于路由感知406,初始路由路径404被重新配置为生成经修改的路由路径408。经修改的路由路径408通过中间网络112c而不是通过中间网络112b来路由通信会话402。根据各个实施方式,基于客户端网络104与端点网络114之间的严格的最短路径确定,经修改的路由路径408可以是比路由路径404更长的路由路径。然而,这不旨在是限制性的,以及在其它示例性实施方式中,相比于路由路径404,经修改的路由路径408可以具有相等或较小的路由距离。

根据一个或多个实施方式,经修改的路由路径408可以在发起通信会话402之前抢先地进行实施。替代地或另外地,在发起通信会话402之后而同时通信会话402在进行中时,可以动态地应用经修改的路由路径408。例如,可以应用经修改的路由路径408以将通信会话从路由路径404动态地重新路由至经修改的路由路径408。

在至少一些实施方式中,可以诸如经由以上详述的通信API、使用以上所讨论的示例性通知事件来配置在以上实例中所讨论的各个通知、查询、和响应。例如,参照通信API而讨论的各个属性的值可以用于传播参照场景200-400所讨论的各个信息。因此,通信API可以被利用来在通信会话中涉及的不同实体之中传播路由感知。

如在场景中示出的,例如使用不依赖于通信会话的数据流从通信会话而带外传播路由感知。例如,各个通知和响应表示可以在通信会话中涉及的实体之中传播的路由感知的实例。

当参照客户端设备102与端点116之间的通信会话来讨论场景时,应当意识到的是,本文所讨论的技术可以用于传播多个通信会话(例如,多个并发的通信感知)的路由感知。例如,各个查询、响应、以及通知可以用于确定和传播针对多个并发的通信会话(诸如,包括客户端设备102、端点116以及未明确示出的其它端点的电话会议的部分)的路由感知。又例如,通信会话可以是从客户端设备102至多个其它端点(包括端点116)的多路传送的通信事件的部分。因此,路由感知可以沿着多个不同的路由路径并且针对并发地发生或计划为并发地实施的单独的通信会话而传播。

在至少一些实施方式中,可以响应于检测计划发起通信会话(例如,在发起通信会话之前)而执行以上所讨论的场景。日历事件例如可以指示,计划在所计划的未来日期和时间发起通信会话。相应地,可以在通信会话的发起之前生成和传播所计划的通信会话的路由感知。

因此,可以执行场景以在计划日期和时间之前传播通信会话的路由感知。出于各种目的可以利用这种主动的路由感知,诸如使得单独的网络能够抽出源来处理所计划的通信会话。

在至少一些实施方式中,在通信会话在进行中时(诸如在通信会话期间多次)可以执行场景。例如,可以在通信会话期间定期地执行场景以保持网络和通信会话状况的活动状态感知。替代地或另外地,可以响应于触发事件(诸如特定网络内的会话问题和/或网络问题的指示)而执行场景。因此,根据以上所讨论的场景而传播的路由感知可以用于各种目的,诸如用于会话发起、会话诊断和修复、会话终止、会后分析等。

相应地,关于网络和通信会话的状态的路由感知可以在路由和/或处理通信会话中涉及的实体之中进行共享。这种路由感知可以以各种方式被利用来优化通信会话的性能、缓和在通信会话中发生和/或可能发生的错误等等。

已经讨论了一些示例性实施场景,现在考虑根据一个或多个实施例的一些示例性过程的讨论。

示例性过程

下面的讨论描述了根据一个或多个实施例的用于传播针对自主网络的路由感知的一些示例性过程。示例性过程可以用在图1的环境100、图8的系统800、和/或任何其它适合的环境中。过程例如表示用于实施以上所描述的实施方式场景的示例性过程。在至少一些实施例中,针对各个过程所描述的步骤可以自动地实施而不依赖于用户交互。

图5是根据一个或多个实施方式的描述方法中的步骤的流程图。方法描述根据一个或多个实施方式的用于传播路由感知的示例性过程。

步骤500聚集针对多个自主网络的路由感知。以上诸如参照场景200-400讨论了聚集路由感知的示例性方法。例如,路由感知可以由独立于单独的自主网络而实施的系统(诸如网络顾问系统136)来接收和聚集。例如,网络顾问系统136可以从单独的自主网络接收路由路径属性,并且可以聚集路由路径属性以生成路由感知。替代地或另外地,可以基于不同的网络之间(例如,不同的网络顾问之间)的路由路径属性的通信来聚集路由感知。

通常,路由感知包括关于针对通信会话的路由路径的各种类型的信息。路由感知例如指示特定网络是否是协议支持性或非支持性的网络。以上参照通知事件和/或通信API详述了可以包括在路由感知中的其它示例性属性。路由感知例如指定了自主网络的性能属性,通信会话可以通过该自主网络来进行路由。

在至少一些实施方式中,可以响应于发起或计划发起通信会话的指示来聚集路由路径感知。例如,参照环境100,网络顾问中的一个或多个接收包括网络中的一个或多个网络的通信会话的指示。指示可以以各种方式来接收,诸如经由来自通信客户端(例如,通信客户端130)、来自网络控制器、来自网络顾问系统136等等的通知。

在至少一些实施方式中,可以诸如基于包括所计划的通信会话的日历事件来检测所计划的通信会话。例如,用户可以利用日历应用来将日历事件(诸如,网络会议、电话会议、多路传送的会议等等)计划在将来的日期和时间。用户可以指定日历事件的参数,诸如日期和时间、将邀请的用户、涉及的通信媒介的类型等等。从而确定计划要发起的通信会话可以基于检测包括通信会话的日历事件。

步骤502在多个自主网络之中传播路由感知。路由感知例如从通信会话的数据流中带外地进行传输。

在至少一些实施方式中,诸如经由网络-网络通信来在自主网络自身之间传输路由感知。例如,用于不同自主网络的网络顾问可以参与彼此的直接通信以交换路由感知。

替代地或另外地,路由感知可以通过独立于诸如网络顾问系统136的自主网络而实施的服务和/或系统来传播。

如以上所讨论的,路由感知可以以不同的方式来实施,例如,路由感知可以包括通过特定的优选网络来路由通信会话的指令。替代地或另外地,路由感知可以识别用于路由通信会话的特定的优选网络,并且使得网络相关的实体(例如,网络控制器)能够决定是否将通信会话路由至优选网络。因此,根据各个实施方式,路由感知可以是规定的或内容丰富的。

图6是根据一个或多个实施例的描述了方法中的步骤的流程图。该方法描述了根据一个或多个实施例的用于指示路由路径偏好的示例性过程。

步骤600接收针对通信会话的路由路径的指示。该指示例如与发起或计划发起两个端点之间的通信会话的指示相对应。例如,针对特定自主网络的网络顾问接收诸如来自通信客户端的发起通信会话的通知。在至少一些实施方式中,路由路径的指示可以诸如经由路由路径的网络和/或网络部件的标识符来识别沿着针对通信会话的路由路径的网络。根据各个实施方式,通信会话可以与两个端点之前的假设的通信会话相对应并且不必需要是实际的通信会话。

步骤602确定沿着通信会话的路由路径的特定自主网络不支持用于传播通信会话的路由感知的协议。特定的自主网络例如可以基于使用了最短路径算法而计算的路由路径来确定。以上讨论了确定网络是否是支持性网络的示例性方法。

步骤604识别可用于路由通信会话的并且不支持该协议的不同的自主网络。针对特定网络的客户端网络顾问例如查询了可用于路由通信会话的针对另一个网络的特定网络的网络控制器和/或路由表格。

步骤606更新针对通信会话的路由感知,以指示不同的自主网络相比于用于路由通信会话的特定自主网络是优选的。路由感知例如可以包括针对通信会话的经修改的路由路径,该经修改的路由路径以不同的网络替换特定网络。

步骤608将所更新的路由感知传输至在路由通信会话中涉及的实体。例如,所更新的路由感知可以传输至用于特定自主网络的网络控制器,以使得路由路径能够被重新配置,以包括不同的自主网络和/或排除特定的自主网络。替代地或另外地,所更新的路由感知可以被传输至外部服务(例如,网络顾问系统136),以使得所更新的路由感知可以被聚集和传播至在路由通信会话中涉及的其它实体。

如以上所讨论的,所更新的路由感知可以被传播为重新路由通信会话的指令,和/或可以在路由通信会话中涉及的其它实体(例如,网络控制器)的判定(discretion)处进行实施的信息。

图7是根据一个或多个实施例的描述了方法中的步骤的流程图。方法描述了根据一个或多个实施例的用于传播路由路径属性的改变的路由感知的示例性过程。

步骤700接收自主网络的路由属性的改变的指示。例如,可以接收自主网络支持本文所讨论的路由感知协议的指示。例如,自主网络先前可能不支持路由感知协议,但是可以被重新配置为支持路由感知协议。

以上参照示例性通知事件和示例性通信API而讨论了可以改变的路由属性的其它示例。路由属性的改变例如可以基于在跨自主网络的通信会话中出现的会话质量的降低和/或会话错误的增加的指示。这种标记的示例包括抖动的增大、分组丢失率、分组错误率等。在至少一些实施方式中,可以基于用户输入来指定路由属性的改变,该用户输入指定通信会话的质量已经降低。

路由路径属性的改变可以基于自主网络内网络状况的改变,诸如网络拥挤的增大、一个或多个网络部件的故障、可用的带宽的减小等。

根据各个实施方式,改变的指示可以由与自主网络相关联的实体(诸如自主网络的网络顾问)所接收。另外地或替代地,改变的指示可以由另一个实体来接收,诸如不同自主网络的网络顾问、网络顾问系统136等等。

根据各个实施方式,在通信会话在进行时接收改变的指示。自主网络例如在自主网络的群组(其构成针对通信会话的总路由路径)内出现。

步骤702传播自主网络的路由属性的改变的路由感知。例如,自主网络的网络顾问将改变的路由感知传播至其它实体,诸如用于其它自主网络的其它网络顾问、网络顾问系统136等。在至少一些实施方式中,网络顾问系统136可以将改变的路由感知传播至其它自主网络的一个或多个网络顾问。

在至少一些实施方式中,路由路径属性的改变的路由感知可以使得能够重新配置通信会话的路由路径。例如,如果改变指示跨自主网络的通信会话中的错误和/或问题,可以重新计算自主网络周围的路由路径。例如,检测路由路径属性中的改变的网络顾问可以通知各自的网络控制器,其可以重新计算自主网络周围的路由路径。例如可以重新计算路由路径以包括不同的自主网络,以使得避免了有问题的自主网络。

替代地,如果改变指示,自主网络支持路由感知协议和/或自主网络的性能属性指示会话质量的增加,则可以重新计算通信会话的路由路径以包括该自主网络。例如,可以重新计算该路由路径以包括该自主网络,该自主网络替代不支持路由感知协议和/或正经历会话问题的当前自主网络。

根据各个实施方式,在通信会话的各个阶段(诸如,在会话发起之前、与会话发起并发地、在通信会话期间、在会话终止时、以及在通信会话之后)可以多次执行以上所描述的方法。例如,路由感知可以在通信会话正进行时实时地进行传播和更新,以保持会影响通信会话的路由状况的动态和活动状态感知。

路由感知还可以在通信会话的发起之前主动地进行传输,诸如以启发不同自主网络中路由状况的自主网络并且使得自主网络能够使得做出关于通信会话的路由的被启发的决策。可以在通信会话的终止之后传输路由感知,诸如以用于在通信会话期间出现的系统诊断和网络性能的统计分析。

因此,本文所讨论的技术提供了用于将路由感知传播至在路由通信会话中涉及的不同的实体的各种场景和实施方式。路由感知使得这些实体能够做出关于通信会话数据的路由和处理的明智的决策。

已经讨论了一些示例性过程,现在考虑根据一个或多个实施例的示例性系统和设备的讨论。

示例性系统和设备

图8示出了通常在800处包括表示可以实施本文所描述的各种技术的一个或多个计算系统和/或设备的示例性计算设备802的示例性系统。例如,以上参照图1所讨论的客户端设备102和/或端点116可以实施为计算设备802。计算设备802可以例如是服务提供商的服务器、与客户端(例如,客户端设备)相关联的设备、片上系统、和/或任何其它适合的计算设备或计算系统。

如示出的示例性计算设备802包括处理系统804、一个或多个计算机可读介质806、以及彼此通信地耦合的一个或多个输入/输出(I/O)接口808。尽管未示出,计算设备802还可以包括将各个部件一个耦合到另一个的系统总线或其它数据和命令传输系统。系统总线可以包括不同总线结构的任何一个或组合,诸如存储器总线或存储器控制器、外设总线、通用串行总线、和/或利用了各种总线架构中的任何总线的处理器或本地总线。还预期了多种其它示例,诸如控制和数据线。

处理系统804表示使用硬件来执行一个或多个操作的功能。因此,处理系统804被示出为包括硬件元件810,该硬件元件可以被配置为处理器、功能块、等等。这可以包括作为专用集成电路或使用一种或多种半导体所形成的其它逻辑设备的用硬件的实施方式。硬件元件810并不受到形成该硬件元件的材料或者本文中所采用的处理机制的限制。例如,处理器可以由一种或多种半导体和/或晶体管(例如,电子集成电路(IC))组成。在这样的上下文中,处理器可执行的指令可以是电可执行的指令。

计算机可读介质806被示出为包括存储器/存储812。存储器/存储812表示与一个或多个计算机可读介质相关联的存储器/存储能力。存储器/存储812可以包括易失性介质(例如,随机存取存储器(RAM))和/或非易失性介质(例如,只读存储器(ROM)、闪存、光盘、磁盘、等等)。存储器/存储812可以包括固定介质(例如,RAM、ROM、固定硬盘、等等)以及可移动介质(例如,闪存、可移动硬盘、光盘、等等)。可以以如下面另外描述的多种其它方式来配置计算机可读介质806。

一个或多个输入/输出接口808表示允许用户向计算设备802输入命令和信息并允许使用各输入/输出设备来将信息呈现给用户和/或其它部件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音识别和/或口头输入)、扫描仪、触摸功能(例如,被配置为检测物理触摸的电容性传感器或其它传感器)、摄像头(例如,其可以采用诸如红外频率之类的可见的或不可见的波长来检测运动(其并不涉及作为手势的触摸)、等等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备、等等。因此,可以如下面进一步所描述的多种方式来配置计算设备802以支持用户交互。

可以在软件、硬件元件、或程序模块的通常背景中描述各种技术。通常,这些模块包括执行特定任务或实现特定的抽象数据类型的例程、程序、对象、元件、部件、数据结构、等等。如本文中所使用的术语“模块”、“功能”、“实体”以及“部件”通常表示软件、固件、硬件、或者它们的组合。本文中所描述的技术的特征是独立于平台的,这表示可以在具有多个处理器的多个商业计算平台上实现这些技术。

所描述的模块和技术的实施方式可以存储在某种形式的计算机可读介质上,或者跨某种形式的计算机可读介质而传输。计算机可读介质可以包括可由计算设备802访问的多种介质。举例来说(但并非限制),计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。

“计算机可读存储介质”可以指代与纯粹的信号传输、载波、或信号本身相比实现了信息的持续存储的介质和/或设备。计算机可读存储介质并不包括信号本身。计算机可读存储介质包括诸如易失性和非易失性、可移动的和不可移动的介质之类的硬件和/或用适于存储诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路、或其它数据之类的信息的方法或技术所实现的存储设备。计算机可读存储介质的示例可以包括但不限于,RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字多功能盘(DVD)或其它光学存储设备、硬盘、磁带盒、磁带、磁盘存储或其它磁存储设备、或其它存储设备、有形介质、或适于存储期望信息的并可由计算机访问的制品。

“计算机可读信号介质”可以指代被配置为例如经由网络向计算设备802的硬件发送指令的信号承载介质。信号介质通常可以体现在经调制的数据信号(例如载波、数据信号、或其它传输机制)中的计算机可读指令、数据结构、程序模块、或其他数据。信号介质还包括任何信息传送介质。术语“经调制的数据信号”表示具有以对信号中的信息进行编码这样的方式所设置或改变的信号的特征中的一个或多个特征的信号。举例来说(但并非限制),通信介质包括诸如有线网络或直接有线连接之类的有线介质、以及诸如声学、射频(RF)、红外之类的无线介质、以及其它无线介质。

如先前所描述的,硬件元件810和计算机可读介质806表示可以在某些实施方式中采用来实现本文中所描述的技术的至少某些方面、以硬件形式实现的指令、模块、可编程设备逻辑和/或固定设备逻辑。硬件元件可以包括集成电路或片上系统、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)、以及其它用硅或其它硬件设备的实施方式的部件。在这种背景中,硬件元件可以操作为执行由指令、模块、和/或逻辑所定义的程序任务的处理设备,该指令、模块、和/或逻辑通过硬件元件以及用于存储用于执行的指令的硬件设备(例如,先前所描述的计算机可读存储介质)来体现。

前述的组合也可以用于实现本文中所描述的各种技术和模块。因此,软件、硬件、或程序模块以及其它程序模块可以被实现为在某种形式的计算机可读存储介质上体现的和/或由一个或多个硬件元件810来体现的一条或多条指令和/或逻辑。计算设备802可以被配置为实现与软件和/或硬件模块相对应的特定指令和/或功能。因此,例如可以通过使用计算机可读存储介质和/或处理系统的硬件元件810来至少部分地用硬件实现可由计算设备802作为软件执行的模块的实施方式。指令和/或功能可以由一个或多个制品(例如,一个或多个计算设备802和/或处理系统804)来执行/操作,以实现本文中所描述的技术、模块、以及示例。

如还在图8中示出的,当在个人计算机(PC)上、电视设备上、和/或移动设备上运行程序时,示例的系统800实现了用于无缝的用户体验的普遍存在的环境。在用于当在利用应用、玩视频游戏、观看视频、等等的同时从一个设备过渡到另一个设备时的通用用户体验的所有三个环境中,服务和应用实质上类似地运行。

在示例的系统800中,多个设备通过中央计算设备而互连。中央计算设备可以是多个设备本地的或者可以位于远离多个设备处。在一个实施例中,中央计算设备可以是通过网络、互联网、或其它数据通信链路连接到多个设备的一个或多个服务器计算机的云。

在一个实施例中,该互连架构实现了将跨多个设备来传送以便向多个设备的用户提供通用的和无缝体验的功能。多个设备中的每个设备都可以具有不同的物理要求和性能,并且中央计算设备使用平台来实现向设备传送即可以是为设备定制的也可以是对所有设备是通用的体验。在一个实施例中,创建了目标设备的类别,并且为通用类别的设备定制了体验。可以由物理特征、使用类型、或者设备的其它通用特征来限定设备的类别。

在各实施方式中,计算设备802可以假设多种不同的配置,例如针对计算机814、移动设备816、以及电视818的使用。这些配置中的每种配置都包括可具有通常不同结构和性能的设备,并且因此,计算设备802可以根据不同设备类别中的一个或多个类别来进行配置。例如,计算设备802可以被实现为包括个人计算机、台式计算机、多屏幕计算机、膝上计算机、网络本、等等的计算机814类别的设备。

计算设备802还可以被实现为包括移动设备(例如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、可穿戴设备、多屏幕计算机、等等)的移动设备816类别的设备。计算设备802还可以被实现为包括在偶尔观看的环境中具有或连接到通常较大的屏幕的设备的电视818类别的设备。这些设备包括电视、机顶盒、游戏控制台、等等。

本文中所描述的技术可以由计算设备802的各种配置来支持并且不限于本文中所描述的技术的具体示例。例如,可以通过使用分布式系统(例如,通过如下面所描述的经由平台822的“云”820)来全部或部分地实现参照网络顾问、通信服务134、和/或网络顾问系统136所讨论的功能。

云820包括和/或表示用于资源824的平台822。平台822抽象云820的硬件(例如,服务器)和软件源的下层功能。资源824可以包括可在计算处理在远离计算设备802的服务器上执行的同时所利用的应用和/或数据。资源824还可以包括通过互联网和/或通过订户网络(例如,蜂窝网络或WiFi网络)所提供的服务。

平台822可以抽象用于将计算设备802与其它计算设备连接的资源和功能。平台822还可以用来抽象用于向所遭遇的对经由平台822所实现的资源824的需求提供相对应的规模水平的资源的规模。因此,在互连设备的实施例中,本文中所描述的功能的实施方式可以遍及系统800而分布。例如,可以在计算设备802上以及经由抽象云820的功能的平台822来部分地实现功能。

本文中所讨论的是可以实现以执行本文中所讨论的技术的多种方法。这些方法的方面可以用硬件、固件、或软件、或者它们的组合来实现。这些方法被示出为指定了由一个或多个设备所执行的操作的一组步骤,并且并非必须受限于由相应的块所示出的用于执行操作的顺序。此外,关于具体方法所示出的操作可以与根据一个或多个实施方式的不同方法的操作进行组合和/或互换。可以经由以上参照环境100所讨论的各个实体之间的交互来实现这些方法的方面。

结论

描述了用于传播针对自主网络的路由感知的技术。尽管用特定于结构特征和/或方法行为的语言描述了实施例,但应当理解,在所附权利要求中所定义的实施例并非必须受限于所描述的具体特征或行为。相反,具体特征和行为被公开为实现所请求保护的实施例的示例形式。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1