对于使用stun创建的会话的策略服务系统体系结构的制作方法

文档序号:7738422阅读:312来源:国知局
专利名称:对于使用stun创建的会话的策略服务系统体系结构的制作方法
对于使用STUN创建的会话的策略服务系统体系结构
背景技术
随着通信技术持续发展,可能希望将诸如短消息服务(SMS)、多媒体消息服务 (MMS)、电子消息(电子邮件)、即时消息(IM)、在线在场状态,以及通过网络的话音与视频通信之类的许多不同形式的通信汇集在一起。一种这样的获得流行的通信类型是因特网协议语音(VoIP)会话。传统上,VoIP系统与传统的公用交换电话网(PSTN)进行交互,以使得用户能够使用传统的陆上线路电话、移动电话以及其它通信设备进行电话呼叫。诸如附接到诸如个人计算机之类的各种计算设备的麦克风以及照像机之类的又一些其它通信设备也使VoIP会话能被建立。VoIP的一个缺点是,当通过分组交换网络传输语音和/或视频数据时,它与正在被传统的数据应用程序使用的其他网络资源竞争。如果网络被过载,则可能没有足够的带宽用于每一个应用程序。结果,不仅由传统的应用程序进行的数据访问和传输会受影响, VoIP会话的服务质量也会被降低。正是基于这些及其他考虑才作出了本发明的各实施例。同样,虽然讨论了相对具体的问题,但是,应该理解,本发明的各实施例不应该仅限于解决背景中所标识的具体问题。

发明内容
提供本发明内容以便以简化形式介绍将在以下的“具体实施方式
”中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。此处描述了为从第一端点到第二端点的多个网络路径设置、管理以及监视连接策略的各实施例。在各实施例中,接收来自第一端点的候选地址集以及来自第二端点的候选地址集。将第一端点的每一个候选地址与第二端点的每一个候选地址配对,以创建多个候选地址对。每一个候选地址对都具有相关联的网络路径。网络路径是数据流往返于各种端点所采用的路由。一旦确定了每一个候选地址对之间的所有网络路径,就为每一个网络地址对以及相关联的网络路径设置连接策略。各实施例可以实现成计算机进程、计算系统或诸如计算机程序产品或计算机可读介质之类的制品。计算机程序产品可以是计算机系统可读并编码了用于执行计算机进程的指令的计算机程序的计算机存储介质。计算机程序产品还可以是计算系统可读并编码用于执行计算机进程的指令的计算机程序的载波上的传播信号。


可以通过参考各个附图来更轻松地描述本公开的各实施例,在各个附图中,相同的编号表示相同的项目,其中图1示出了根据一个实施例的用于为多个网络路径设置连接策略的系统的框图。图2是根据一个实施例的用于为多个网络路径设置连接策略的操作流程。
图3A和;3B示出了根据一个实施例的示例候选地址列表以及所产生的候选地址对。图4示出了根据一个实施例的第一端点和第二端点之间的示例网络路径。图5示出了此处所公开的用于实现各实施例的计算环境。
具体实施例方式下面将参考构成本发明的一部分并示出了用于实施本发明的特定实施例的各个附图比较全面地描述各实施例。然而,各实施例可以以许多不同的形式来实现,不应该被理解为仅限于此处所阐述的实施例;相反,提供这些实施例是为了使本说明书完整和彻底,并向那些精通本技术的人全面地表达本发明的范围。各实施例可以作为方法、系统或设备来实施。因此,各实施例可以呈现完全是硬件实现、完全是软件实现或组合了软件和硬件方面的实现。各实施例一般涉及为两个或更多端点之间的网络路径设置、管理及监视连接策略。根据各实施例,每一个端点都具有一个或多个候选地址。将来自不同的端点中的每一个的每一个候选地址配对在一起,以创建候选地址对。然后,确定经由候选地址对连接端点的网络路径,并给每一个网络路径指定策略。可以使用网络路径来在两个端点之间传输数据。在各实施例中,端点之间的数据传输是由策略管制的。例如,策略可以规定在网络路径上可以传输什么类型的数据,或者策略可以规定有多少带宽可以用于数据传输。图1示出了根据各实施例的用于为两个端点之间存在的各种网络路径设置、维护及监视连接策略的系统。如图1所示,系统可以包含发送端点Iio和接收端点130。在一个实施例中,发送端点110尝试与接收端点130建立网络会话。发送端点110和接收端点130 可以是电话、移动或手持式设备、个人计算机或膝上型计算机,或能够通过网络(未示出) 传输和/或接收数据的任何其他计算设备中的一个。会话可以是因特网协议语音(VoIP) 电话会话。如上文简要地讨论的,VoIP使语音通信,以及诸如视频之类的其它数据能通过因特网或其他网络传输到各种端点。端点可以是本地端点或远程端点。虽然此处专门叙述了 VoIP电话会话,但是,本说明书不仅限于这样的会话。可以构想,端点之间的任何类型的数据传输都可以使用本公开的方法。发送端点110可以具有一个或多个候选地址(例如,因特网协议(IP)地址),发送端点可用该候选地址与第二端点建立数据传输会话。通过使一个以上的本地IP地址可用、 置于网络地址转换设备(NAT)后面、或使用STUN服务器的服务,每一个端点都可以具有多个候选地址。如在本领域内已知的,IP地址是分配给参与网络会话的设备的数值标识符。 IP地址唯一地标识正在向其发送/从其接收数据的特定设备。在各实施例中,当尝试与诸如接收端点130之类的远程端点建立会话时,发送端点110通过网络的信令层传输请求111或信令会话。请求包括用于在发送端点110和接收端点130之间建立和协商会话的数据。请求111可以通过服务器120被路由。根据一个实施例,服务器120可包括被配置成在发送端点110和接收端点130之间路由请求的信令服务器。服务器120也可以包括被配置成向可以用于在会话内交换数据的任一端点提供额外的候选地址的中继服务器。在另一实施例中,中继服务器和信令服务器可以是分开的实体。 服务器120将请求111转发到接收端点130。所产生的两个端点之间的信令协商会话可以依赖于诸如会话初始协议(SIP)之类的信令层协议会话。由发送端点110所发送的与请求111 一起的信息还包括候选地址112的列表。候选地址112是与发送端点110相关联的IP地址。在一个实施例中,发送端点110执行候选发现阶段,在该阶段,发送端点110发现它可以用来与另一个端点建立网络会话的IP地址。 每一个候选地址都可以被用来与本地和远程端点建立网络会话,并来往于本地和远程端点传输数据。如简要地讨论的,系统也可以包括服务器120。根据各实施例,服务器120可包括信令服务器,该信令服务器被配置成将请求111与发送端点110的候选地址112 —起转发到接收端点130。在各实施例中,接收端点130可以是与发送端点130位于同一个私有网络中的端点。可另选地,接收端点可以位于发送端点110的网络以外。如此,请求111可能需要在到达接收端点130之前沿着网络路径作出多个跳跃。在一个实施例中,服务器120也可以包括中继服务器,该中继服务器被配置成向发送端点110或者接收端点130提供额外的候选地址。取决于哪一个端点接收额外的地址,将额外的地址附加到任一端点的候选地址列表。一旦会话请求111和发送端点110的候选地址112被接收端点130接收到,接收端点130就开始候选发现阶段。在候选发现阶段,接收端点130确定其自己的本地候选地址132。作为候选发现阶段的一部分,接收端点130可以发现它可以使用额外的候选地址。 这些额外的候选地址可以由服务器120或由系统中的另一个服务器提供。在完成候选发现阶段时,接收端点130向服务器140传输请求、来自发送端点110 的候选地址112列表、以及其自己的候选地址132。请求可以是由发送端点110首先传输的会话请求111。请求也可以包括在服务器140上分配接收端点130的候选地址132的请求。根据各实施例,服务器140可以是STUN(用于NAT (网络地址转换设备)的会话遍历实用程序)服务器。在各实施例中,STUN服务器被配置成接收两个候选地址集(例如, 来自发送端点的候选地址112以及接收端点130的候选地址132),并生成候选地址对142 集。候选地址对142是通过将来自发送端点110的其中一个候选地址112与接收端点130 的其中一个本地候选地址132组合来生成。在各实施例中,将发送端点110的每一个候选地址与接收端点130的每一个本地候选地址配对。下面将参考图3A和:3B对此进行进一步的说明。在各实施例中,STUN服务器140也可以具有其自己的本地地址池。当被请求时, STUN服务器140将向发出请求的端点130分配其STUN服务器地址中的一些或全部。响应于请求,将STUN服务器地址添加到发送端点130的本地候选地址132的列表中。因此,当在发送端点110和接收端点130之间建立了会话时,为STUN服务器140所知的地址也可以被用作接收端点130的候选地址。在又一些其他实施例中,STUN服务器140也可以将任何 NAT地址添加到接收端点130的候选地址132的列表中。当从接收端点130向STUN服务器140传输的请求111穿过任何NAT时,每一个NAT地址还将被视为接收端点130的候选地址132的一部分。在其他实施例中,接收端点130可能需要向STUN服务器140传输会话数据134。 会话数据134包含关于发送端点110和接收端点130之间的被请求的会话类型的信息。可以在端点之间请求许多不同的会话类型。非限制性示例包括VoIP会话、视频会话或VoIP/ 视频会话的组合。会话数据134也可以包括对带宽的请求。取决于所请求的会话的类型(例如, VoIP、视频等等),发送端点110或者接收端点130可以请求在被请求的会话的网络路径上分配一定量带宽。例如,如果被请求的会话类型是VoIP会话,则会话数据134可包括501ApS 的带宽请求。然而,如果被请求的会话类型是带有对应的视频数据的VoIP会话,被请求的带宽可以是lOOlibps。在完成候选地址对142生成时,将候选地址对142的列表传输到策略服务器150。 基于对应于每一个候选地址对的配置信息,策略服务器150可以确定每一个候选地址对的每一个候选地址所属的子网。策略服务器150可以将每一个子网映射到各种位置,并确定连接由候选地址对所表示的端点的网络路径。在替换实施例中,接收端点130可以联络STUN服务器140,以发现STUN服务器140 的服务器地址以及为STUN服务器140所知的任何NAT地址。当接收端点130接收到这些额外的地址时,接收端点130可以直接向策略服务器150发送这些地址而绕过候选地址生成阶段。然后,策略服务器150可以确定连接每一个端点的网络路径,并为每一个路径确定策略,如下面所描述的。在各实施例中,策略服务器150为与候选地址对142中的每一个相关联的每一个网络路径设置一个或多个策略。根据各实施例,策略是网络使用策略。例如,策略可以指示在每一个网络路径上允许的带宽的总量,为使用网络路径的每一个会话分配的带宽的最大量,在特定网络路径上允许的数据传输或电话呼叫的总数,或其任何组合。各实施例规定, 每一个策略都是由IT管理员配置、监视以及维护的。在各实施例中,也可以从STUN服务器140向策略服务器150传输会话数据134。 如上所述,会话数据134可包括会话类型、所请求的带宽量,或其组合。策略服务器150可以被配置成分析所请求的会话类型,并确定哪些候选地址对以及相关联的策略将允许所请求的会话类型。策略服务器150还判断与候选地址对相关联的每一个网络路径是否允许分配所请求的带宽量。在又一实施例中,策略可以禁止使用某些候选地址对。在这样的情况下, 这些候选地址对预先未能通过由接收端点130执行的任何连通性检查,如下文比较详细地描述的。当进行了这些判断时,策略服务器150将策略数据152传输到STUN服务器140。 然后,在响应消息中,STUN服务器140将策略数据152传输到接收端点130。在各实施例中,策略数据152包括候选地址对142、相关联的网络路径、以及对于每一个路径的网络使用策略。由于每一个端点潜在地具有多个候选地址,发送和接收端点可以具有供在建立会话时进行选择多个网络路径。当其中一个网络路径的策略不允许所请求的连接类型时,或当其中一个网络路径没有所请求的资源可用时,多个网络路径之一发生故障,在这种情况下使多个网络路径可用可以提供后退机制。例如,如果在一个网络路径上所请求的带宽量不可用,可以选择具有可用带宽的另一个网络路径。在另一实施例中,策略数据152可以只包括具有允许由策略数据152所指示的所请求的会话类型的策略的候选地址对。例如,如果所请求的会话类型包括了用于传输音频和视频两种数据的会话,则策略服务器150将只包括具有允许跨网络路径传输音频和视频两种数据的策略的候选地址对。其他实施例规定,策略服务器150可以生成授权令牌154。授权令牌巧4与策略数据152 —起传输到服务器120 (例如,信令服务器)。授权令牌确保在没有有效令牌的情况下端点不能破坏策略并继续建立会话。可能需要由任一端点接受授权令牌1 才能完成端点之间的协商会话。在各实施例中,将授权令牌1 作为对信令请求111的响应的一部分, 从接收端点130传输到发送端点110。当接收端点130接收到包括来自STUN服务器140的策略数据152的响应时,接收端点130可以执行STUN连通性检查。作为连通性检查的一部分,具有不允许所请求的会话的策略的任何网络路径都将自动地失败。另外,如果策略禁止使用特定候选对,则该特定候选地址对将预先未能通过连通性检查。接收端点130只将允许的地址136(例如,允许所请求的会话类型的网络地址对以及相关联的网络路径)传输到发送端点110。如此,可以只使用支持所请求的会话类型的网络路径,在两个端点之间协商会话。在又一些其他实施例中,接收端点130和发送端点110可以各自执行连通性检查。 由于每一个端点都可以执行连通性检查,可能出现这样的情况一个端点(例如,发送端点 110)不知道特定候选地址对预先未能通过在另一个端点(例如,接收端点130)上执行的连通性检查。在这样的情况下,发送端点110可能使用预先未能通过的候选地址对,仍尝试连通性检查。当在发送端点110上对预先未能通过的候选地址对执行连通性检查时,接收端点130将忽略与预先未能通过的候选地址对相关联的尝试的连通性检查。由于在接收端忽略了连通性检查,发送端点110将把预先未能通过的候选地址对当作未能通过连通性检查。如此,预先未能通过的候选地址对将不会用于会话。各实施例规定,发送端点110或者接收端点130可以选择多个网络路径中的哪一个网络路径将用于会话。可以基于允许所请求的会话的第一标识的网络路径来进行判断。 可另选地,可以实现评价系统,其中,由策略服务器为网络路径提供服务质量评价。评价因素可包括由系统模块监视的会话质量度量。在又一些其他实施例中,评价可以基于每一个网络路径是否允许所请求的会话类型和/或具有所请求的带宽可用。在再一些其他实施例中,评价系统可以是上面的任何一个的组合。还构想,由于策略限制,在网络路径上,一些所请求的会话类型可能不被允许,或者,简单地,所请求的带宽在任何一个网络路径上不可用。例如,会话数据134可以指示,音频/视频会话是所请求的会话类型。此外,会话数据134还可以请求,在网络路径上为音频 /视频会话分配lOOlcbps的传输速率。一旦评估了所有地址对,并确定了它们的相应的策略,可以发现,所产生的候选地址对,以及它们的相关联的网络路径中没有一个允许所请求的会话类型(例如,音频/视频会话),或者没有所请求的带宽(例如,lOOlAps)可用。在这样的情况下,各实施例规定,接收端点130或者发送端点110可以修改所请求的会话类型和/或所请求的带宽,以使请求在与其中一个网络路径相关联的至少一个策略的参数内。继续上面的示例,接收端点130可以将会话类型修改为只是音频会话。结果, 接收端点130向发送端点110传输具有允许所请求的音频会话发生的策略的允许的地址 136(例如,候选地址对)。其他实施例规定,图1的系统还包括监视模块160。监视模块160被配置成监视端点之间的每一个网络路径,并将会话质量度量报告到策略服务器150。监视模块160可以被配置成从参与会话中的端点接收关于体验的质量的报告。其它实施例规定,监视模块也可以接收关于是否遵循了对于网络路径的策略、网络路径上的服务质量(QoQ、在端点之间是否建立了会话、用于使用网络路径的每一个会话的带宽量、网络路径上可用带宽、以及当前使用网络路径的会话的总数的报告。当为要在新的一组具有将使用或横越同一个网络路径的候选地址的端点之间建立的新会话设置策略时,模块160使策略服务器150能作出理性决断。图2示出了根据一个实施例的用于为多个网络路径设置连接策略的操作流程 200。操作流程200可以在任何合适的计算环境中执行。例如,操作流程可以由诸如图1中所描述的系统之类的系统来执行。因此,对操作流程200的描述可以引用图1的组件中的至少一个。然而,对图1的组件的任何这样的引用只是描述性的。操作流程200从步骤210开始,此时,接收端点130(图1)接收来自发送端点110 的信令请求。与信令请求包括在一起的有对发送端点110可用的多个候选地址。根据各实施例,可以经由诸如会话初始协议(SIP)之类的信令层协议,从发送端点110向接收端点 130传输信令请求。当接收到信令请求和候选地址时,步骤220规定接收端点130进入候选发现阶段。 在候选发现阶段,接收端点130标识为接收端点130所知的所有本地候选地址。步骤230规定,在服务器上接收到从发送端点110接收到的候选地址以及来自接收端点130的候选地址。根据各实施例,服务器是STUN服务器140。作为候选发现阶段的一部分,发送端点130可以向STUN服务器140传输请求,请求STUN服务器140分配存储在 STUN服务器上的IP地址,作为接收端点130的候选地址。如此,当建立会话时,接收端点 130可以使用其自己的本地候选地址以及存储在STUN服务器140上的IP地址。另外,步骤 230规定,在从接收端点130向STUN服务器140传输的请求穿过NAT的情况下,STUN服务器还包括NAT地址作为发送端点130的候选地址。结果,接收端点130的最后一个候选地址列表可以包含接收端点的本地候选地址,STUN服务器的本地存储的IP地址,以及被该请求穿过的任何NAT地址。步骤230还生成候选地址对列表。根据各实施例,将来自发送端点110的候选地址列表中的每一个候选地址与来自接收端点130的候选地址列表中的每一个候选地址配对。如上所述,也可以将来自发送端点110的候选地址与从STUN服务器分配的地址、来自中继服务器的地址,和/或作为接收端点130的候选地址被包括的任何可能的NAT地址配对。所产生的候选地址对是候选地址的η χ η矩阵,其中,来自一个端点的每一个候选地址都与来自第二端点的每一个其他唯一地址配对。在各实施例中,STUN服务器可以要求从其中一个端点接收对应于所请求的会话类型的会话数据。会话数据也可以包括用于会话的所请求的带宽量,虽然可能不是必需的。在各实施例中,在会话数据是必需的情况下,流程可以转到步骤235。步骤235判断在STUN服务器140处是否接收到会话数据。如果没有接收到至少指示所请求的会话类型的会话数据,则会话请求结束,且不会在端点之间建立会话。在其他实施例中,如果接收到了至少指示会话类型的会话数据,则流程可以转到步骤Μ0。在各实施例中,当在会话数据中没有包括对带宽的请求时,会话可以使用策略为该特定类型的会话分配的最大量的带觅ο
例如,如果会话数据指示音频会话是所请求的会话类型,但是带宽请求被忽略,则将在具有允许被请求的会话的策略的网络路径上建立所请求的会话类型,但是,系统将为该会话只分配默认的带宽量(例如,501ApS)。在又一些其他实施例中,STUN服务器可能要求会话类型以及所请求的/必需的带宽包含在会话数据中,否则请求将失败。在步骤MO中,将候选地址对传输到策略服务器150。步骤250规定,由策略服务器150确定对于每一个候选地址对的网络路径。然后,策略服务器为每一个网络路径以及其相关联的候选地址对确定和/或设置策略。根据各实施例,策略可以设置对于所请求的会话类型允许的最大带宽量。在其他实施例中,策略可以设置会话的最大数量或特定网络路径上的呼叫的最大数量。其它策略可以管理可以在各种网络路径上建立哪些会话类型。当为每一个网络路径设置了策略时,步骤260规定向STUN服务器140返回候选地址对、相关联的网络路径、以及相关联的策略。在各实施例中,STUN服务器140可以将由会话数据所指示的所请求的会话类型与网络地址对以及相关联的策略中的每一个进行比较。 如果一些网络路径不支持所请求的会话类型,或者一些网络路径没有必需的/所请求的带宽可用,或者,网络路径当前不可用,则这些特定网络路径将不能通过STUN服务器的连通性检查。结果,在被返回到接收端点130之前,将从候选地址对(例如,策略数据15 中删除这些特定网络路径。在替换实施例中,将所有网络地址对返回到接收端点130,由接收端点130执行连通性检查。然后,可以将所产生的允许的地址136传输到发送端点110。当将候选地址对从STUN服务器140传输到接收端点130时,接收端点130可以向发送端点Iio发送每一个允许的地址136。允许的地址136可包括每一个网络地址以及允许所请求的会话类型的相关联的策略。允许的地址136作为对首先由发送端点110传输的信令会话的响应。一旦被接收,使用网络路径中的至少一个以及其相关联的策略,建立所请求的会话。图3A和;3B示出了根据一个实施例的示例候选地址列表以及所产生的候选地址对。发送端点可以向接收端点传输发送端点候选地址310。如图3A所示,当尝试建立会话时,发送端点具有三个候选地址对它可用。虽然候选地址被描绘成IPv4地址,但是,可以构想,也可以使用IPv6地址。另外,还可以构想,一些候选地址可以是私有网络上的IP地址, 并通过路由器或集线器路由。可以在同一个私有网络上从一个端点向另一个端点发送会话请求。继续上面的示例,接收端点候选地址320也可以包括三个不同的候选地址。如同发送端点候选地址310,接收端点候选地址也可以是IPv4和/或IPv6地址。根据各实施例,将发送端点候选地址310以及接收端点候选地址320两者都传输到诸如STUN服务器140之类的服务器(图1)。当由STUN服务器140接收候选地址时, STUN服务器140生成候选地址对330。如图所示,将来自发送端点候选地址310的每一个候选地址与来自接收端点候选320的每一个候选地址配对。所产生的候选地址对320构成来自发送和接收端点两者的所有候选地址的一对一映射。图;3B示出了这样的情况接收端点候选地址320被扩展为包括本地地存储在诸如STUN服务器140(图1)之类的服务器上的候选地址(127. 133. 0. 5)。接收端点候选地址 320也可以包括请求在从接收端点发送到STUN服务器时穿过的任何NAT地址。非常像上文所说明的候选地址对,将发送端点候选地址310的每一个候选地址与接收端点候选地址320的每一个候选地址配对,以创建候选地址对330。然后,如上文所描述的,可以将候选地址对330传输到策略服务器。图4示出了示例网络路径400和420。根据各实施例,每一个网络路径400和420 都包括多个候选地址对330中的一个(图3A-3B)。例如,网络路径400包括来自发送端点的候选地址208. 77. 188. 166,以及来自接收端点的候选地址172. 184. 5. 10。如图所示,网络路径可能需要作出任意数量的跳跃,以从发送端点到接收端点地遍历网络路径,反之亦然。在各实施例中,网络路径400和420中的每一个都可以具有相关联的策略(例如,分别是策略410和430)。策略是由策略服务器设置的。当为每一个网络路径设置策略时,将候选地址对返回到接收端点,并就哪一个网络路径将用于会话作出判断。这种判断可以部分地基于与每一个网络路径相关联的策略来作出。例如,会话数据可以指示,正在请求音频/视频类型会话。会话数据也可以指示对 1501ApS的带宽使用的请求。当如上文所描述的设置了候选地址对、网络路径、以及策略时, 将所产生的候选地址对返回到端点。就哪一个网络路径将用于被请求的会话作出判断。继续上面的示例,策略服务器可以向接收端点返回网络路径400及其相关联的策略410。策略410可以将网络路径400上的会话限制到只是音频会话。然而,策略也可以指示,给使用这一特定网络路径的会话分配1501ApS的带宽。相比之下,对于网络路径420的策略430可以允许音频/视频会话,但是,将该会话的带宽限制到lOOlcbps。由于任一网络路径都不允许被请求的会话类型或被请求的带宽,可以定制会话请求,以适合策略410或者430的限制。例如,如果服务质量是会话的音频部分的主要顾虑而不一定需要视频数据,则可以修改会话请求,以协商只传输来自每一个端点的音频。结果, 可以在网络路径400上建立音频会话。然而,如果对于会话而言视频是需要的,则可以选择网络路径420,可以修改会话请求,以使其落在由策略430所设置的lOOlcbps带宽要求之内。 在再一些其他实施例中,会话请求只需要指定会话类型。在这样的实施例中,可以为会话选择允许指定类型的会话的任何网络路径,不必修改会话请求。当沿着特定网络路径(例如,网络路径400)在发送端点和接收端点之间建立了会话时,可以监视网络路径的带宽使用、服务质量及其他会话质量度量。将此数据传输到策略服务器。当接收到新会话请求时,使策略服务器能够作出关于要在各种网络路径上建立哪些策略的理性决断,策略服务器根据使用每一个网络路径的任何现有会话来设置新策略。参考图5,用于实现此处所描述的各实施例的计算环境的实施例包括诸如计算机系统500之类的计算机系统。所描述的各实施例的任何组件都可以作为或在客户机计算机系统、服务器计算机系统、客户机和服务器计算机系统的组合、发送和接收端点,及此处所描述的其他可能的计算环境或系统来执行。如此,下面描述了适用于所有这些环境的基本计算机系统。在其最基本的配置中,计算机系统500包括至少一个处理单元或处理器504,以及系统存储器506。在图5中通过虚线502示出了计算机系统500的最基本配置。在某些实施例中,将所描述的系统的一个或多个组件加载到系统存储器506中,并由处理单元504从系统存储器506执行。取决于计算机系统500的确切配置和类型,系统存储器506可以是易失性的(如RAM)、非易失性的(如ROM、闪存等等)或两种类型的某种组合。另外,计算机系统500还可具有附加特征/功能。例如,计算机系统500还包括诸如可移动和/或不可移动存储器之类的附加存储介质508,包括但不限于磁盘、光盘或磁带。在某些实施例中,用于所描述的系统的软件或可执行代码和任何数据永久地存储在存储介质508中。存储介质508包括以存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器506和存储介质508是计算机存储介质的示例。计算机存储介质包括, RAM、ROM、EEPR0M、闪存或其它存储器技术、CD-ROM、数字多功能盘(“DVD”)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算机系统500和处理器504访问的任何其它介质。任何这样的计算机存储介质可以是计算机系统500的一部分。在各实施例中,系统存储器506和/或存储介质508存储用于执行此处所公开的方法或构成系统的数据。在各实施例中,系统存储器506存储诸如策略数据514 和/或候选地址516之类的信息。计算机系统500还可包含允许该设备与其它设备通信的通信连接510。在各实施例中,可以使用通信连接510来在发送器设备、中介设备,以及收件设备之间传输与接收消息。通信连接510是通信介质的一个示例。通信介质可以体现诸如载波或其他传输机制等已调制数据信号,并包括可以以已调数据信号来体现计算机可读指令、数据结构、程序模块或其他数据的任何信息传递介质。术语“已调制数据数据信号”是指其一个或多个特征以这样的方式设置或改变以便在数据信号中对或消息信息进行编码的信号。作为示例而非限制,通信介质可包括有线介质,如有线网络或直接线连接,以及诸如声学、射频(RF)、红外线及其他无线介质之类的无线介质。在一个实施例中,可以通过通信连接510来传输上文所描述的方法。在某些实施例中,计算机系统500还包括输入和输出连接512,以及诸如图形用户界面之类的界面以及外围设备。输入设备还被称为用户界面选择设备,并包括,但不仅限于,键盘、鼠标、笔、语音输入设备、触摸输入设备等等。输出设备还被称为显示器,并包括, 但不仅限于,阴极射线管显示器、等离子屏幕显示器、液晶屏幕显示器、扬声器、打印机等等。这些设备要么分别地或组合地连接到输入和输出连接512,被用来显示如此处所描述的信息。所有这些装置在本领域中都是众所周知的,因此不必在此详细讨论。在某些实施例中,此处所描述的组件包含这样的模块或可由计算机系统500执行的指令,这些指令可以存储在计算机存储介质上及其他有形的介质中,并以通信介质传输。 “计算机存储介质”包括以存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。上述中任一组合也应包括在计算机可读介质的范围之内。在某些实施例中,计算机系统500是将数据存储在远程存储介质中供计算机系统500使用的网络的一部分。本公开参考各个附图描述了本公开的一些实施例,在各个附图中,只示出了一些可能的实施例。然而,其他方面可以许多不同的形式来实现,不应该被理解为仅限于此处所阐述的实施例或示例。相反,提供这些实施例和示例是为了使本公开完整和彻底,并向本领域的技术人员全面地表达可能的实施例的范围。虽然以结构特征和/或方法动作以及包含这样的动作的计算机可读介质专用的语言来描述了各实施例,但是应该理解,在所附权利要求书中所定义的可能的实施例不一定仅限于此处所描述的具体结构或动作或介质。所属领域技术人员将认识到在本公开的范围和精神内的其他实施例或改进。因此,具体结构、动作或介质只是作为说明性实施例来公开的。本发明由所附权利要求书进行定义。
权利要求
1.一种为从第一端点到第二端点的多个网络路径设置连接策略的方法,所述方法包括接收所述第一端点(Iio)的第一组候选地址(112,310)和所述第二端点(130)的第二组候选地址(132,320);创建多个候选地址对(142,330),其中所述多个地址对中的每一对包括与所述第二组候选地址(132,320)中的一个地址配对的所述第一组候选地址(112,310)中的一个地址;为所述多个地址对(14 中的每一对确定网络路径;以及为所述多个网络地址对(14 中的每一对以及相关联的网络路径设置连接策略。
2.如权利要求1所述的方法,其特征在于,还包括接收会话数据,其中所述会话数据指示要在所述第一端点和所述第二端点之间建立的会话类型。
3.如权利要求2所述的方法,其特征在于,所述会话数据包括指示为所述会话类型所请求的带宽量的带宽请求。
4.如权利要求2所述的方法,其特征在于,所述会话类型是因特网协议语音会话、视频会话、以及联合的因特网视频语音会话中的一个。
5.如权利要求1所述的方法,其特征在于,所述连接策略为所述多个网络地址对中的每一对设置可用的带宽量。
6.如权利要求1所述的方法,其特征在于,还包括,当所述多个网络路径中的一个没有可用带宽以在所述第一端点和所述第二端点之间建立会话时,使所述多个连接路径中的一个预先不通过。
7.如权利要求1所述的方法,其特征在于,还包括使用所述多个网络地址对中的一对, 在所述第一端点和所述第二端点之间建立会话。
8.如权利要求7所述的方法,其特征在于,还包括监视所建立的会话以判断是否符合与所述会话相关联的连接策略。
9.编码了计算机可执行指令的计算机存储介质,所述计算机可执行指令当由处理器执行时执行用于为多个网络路径设置连接策略的方法,所述方法包括接收来自第一端点(110)的候选地址(112,310)列表和来自第二端点(130)的候选地址(132,320)列表;将为所述服务器(140)所知的一个或多个候选地址与来自所述第二端点(130)的候选地址(132,320)列表组合,以创建候选地址的组合列表;将来自所述第一端点的候选地址(112,310)列表的每一个地址与来自候选地址的所述组合列表的每一个地址相关联,以创建多个候选地址(14 对;为所述多个候选地址对(142)中的每一对确定网络路径;以及为所述多个候选地址对(142)中的每一对设置连接策略(152)。
10.如权利要求9所述的方法,其特征在于,还包括在所述第一端点和所述第二端点之间建立会话,其中所述会话是使用所述多个候选地址对中的一对的所述网络路径建立的。
11.如权利要求10所述的方法,其特征在于,还包括在建立所述会话之前接收会话数据,其中所述会话数据指示要在所述第一端点和所述第二端点之间建立的会话类型。
12.如权利要求10所述的方法,其特征在于,还包括在建立所述会话之前接收会话数据,其中所述会话数据指示所述会话所需要的带宽量。
13.如权利要求12所述的方法,其特征在于,还包括当判断对于所述多个候选地址对中的选定的一对的所述连接策略没有所希望的带宽量可用时,改变所述会话的所希望的带宽量。
14.如权利要求9所述的方法,其特征在于,还包括判断为所述服务器所知的候选地址中的一个或多个是否在网络地址转换设备后面。
15.一种用于为多个网络路径设置连接策略的系统,所述系统包括第一服务器设备(140),其被配置成接收来自第一端点(110)的候选地址(112,310)的第一列表,以及来自第二端点(130)的候选地址(132,320)的第二列表,以及,其中所述第一服务器(140)设备进一步被配置成将来自所述第一端点(110)的每一个候选地址(112, 310)与来自所述第二端点(130)的候选地址(132,320)相关联,以创建多个候选地址对 (142),所述多个网络地址对(14 中的每一对具有相关联的网络路径;以及策略服务器设备(150),其被配置成为所述多个网络地址对(14 中的每一对设置一个或多个策略(154)。
全文摘要
此处描述了为从第一端点到第二端点的多个网络路径设置、管理,以及监视连接策略的各实施例。在各实施例中,接收来自第一端点的候选地址集以及来自第二端点的候选地址集。将第一端点的每一个候选地址与第二端点的每一个候选地址配对,以创建多个候选地址对。每一个候选地址对都具有相关联的网络路径。网络路径是数据流往返于各种端点所采用的路由。一旦确定了每一个候选地址对之间的所有网络路径,就为每一个网络地址对以及相关联的网络路径设置连接策略。
文档编号H04L12/28GK102273142SQ200980154822
公开日2011年12月7日 申请日期2009年12月4日 优先权日2009年1月13日
发明者N·A·迪森 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1