用于源对等体基于容量的Diameter负载共享的方法、系统和计算机可读介质的制作方法

文档序号:7848500阅读:192来源:国知局
专利名称:用于源对等体基于容量的Diameter负载共享的方法、系统和计算机可读介质的制作方法
技术领域
这里所描述的主题涉及用于Diameter信令消息分配和Diameter信令消息处理的方法和系统。更具体地说,这里所描述的主题涉及用于源对等体基于容量的Diameter负载共享的方法、系统和计算机可读介质。
背景技术
Diameter是用于计算机网络的认证、授权和计帐(AAA)协议,并且是Radius的后继。它用作用于在基础网络上传递AAA能力的安全协议。在国际工程任务组(IETF)请求注释(RFC) 3588中定义了 Diameter基本协议,通过参考将其完全合并于此。还存在对基本协议的扩展,其中一些扩展具有已定义的标准。例如,RFC 4072定义了 Diameter扩展认证协议(EAP)应用。上文所参考的Diameter标准没有解决Diameter节点的实现。这些标准也没有解决如何有效地将Diameter消息分发给给定Diameter节点体系结构中的处理部件。相应地,存在对用于源对等体基于容量的Diameter负载共享的方法、系统和计算 机可读介质的需求。

发明内容
根据一方面,这里所描述的主题包括用于源对等体基于容量的Diameter负载共享的方法。用于对从Diameter对等体接收的Diamter消息进行处理的网络部件请求与Diameter对等体的Diameter消息容量需求有关的信息,接收与Diameter对等体的Diameter消息容量需求有关的信息,并且使用所接收的信息对处理进行负载共享。在一个实施例中,网络部件是Diameter信令路由器,其具有多个用于对Diameter消息进行处理的消息处理器,并且使用与Diameter对等体的Diameter消息容量需求有关的信息在多个消息处理器之间对Diameter消息处理和/或Diameter连接进行负载共享。根据另一方面,这里所描述的主题包括用于源对等体基于容量的Diameter消息处理负载共享的系统。该系统包括用于对从Diameter对等体接收的Diameter消息进行处理的网络部件。该网络部件包括至少一个用于对Diameter信令消息进行处理的消息处理器。该网络部件配置为请求与Diameter对等体的Diameter消息容量需求有关的信息,接收与Diameter对等体的Diameter消息容量需求有关的信息,并且使用所接收的信息对处理进行负载共享。在一个实施例中,该网络部件是Diameter信令路由器,其具有多个用于对Diameter消息进行处理的消息处理器,并且使用与Diameter对等体的Diameter消息容量需求有关的信息在多个消息处理器之间对Diameter消息处理和/或Diameter连接进行负载共享。可以在结合硬件和/或固件的软件中实现这里所描述的主题。例如,可以在通过处理器执行的软件中实现这里所描述的主题。在一个示例性实现中,可以使用计算机可读介质实现这里所描述的主题,其具有存储在其上的计算机可执行指令,当通过计算机的处理器执行这些指令时,控制计算机执行步骤。适合于实现这里所描述的主题的示例性计算机可读介质包括诸如磁存储器件、芯片存储器件、可编程逻辑器件、以及专用集成电路的非暂时性器件。另外,实现这里所描述的主题的计算机可读介质可以位于单个器件或者计算平台上,或者可以分布在多个器件或者计算平台上。
如这里所使用的,术语“节点”是指物理计算平台,其包括一个或多个处理器和存储器。如这里所使用的,术语“函数”或者“模块”是指用于实现这里所描述的特征的结合硬件和/或固件的软件。


现在,将参考附图解释这里所描述主题的优选实施例,其中,相似的参考数字代表相似的部件,其中图I是根据这里所描述的主题的实施例,对用于源对等体基于容量的Diameter负载共享的示例性系统进行说明的方框图;图2是根据这里所描述的主题的实施例,对用于源对等体基于容量的Diameter负载共享的示例性过程进行说明的流程图;·图3是根据这里所描述的主题的另一个实施例,对在源对等体基于容量的Diameter负载共享期间所传送的示例性信令消息进行说明的消息流图;图4是根据这里所描述的主题的另一个实施例,对在源对等体基于容量的Diameter负载共享期间所传送的示例性信令消息进行说明的消息流图;图5是根据这里所描述的主题的实施例,对用于源对等体基于容量的Diameter负载共享的示例性系统进行说明的方框图;图6是根据这里所描述的主题的又一个实施例,对在源对等体基于容量的Diameter负载共享期间所传送的示例性信令消息进行说明的消息流图;图7是根据这里所描述的主题的另一个实施例,对用于源对等体基于容量的Diameter负载共享的示例性系统进行说明的方框图;并且图8是根据这里所描述的主题的又一个实施例,对在源对等体基于容量的Diameter负载共享期间所传送的示例性信令消息进行说明的消息流图。
具体实施例方式根据这里所公开的主题,提供了用于基于与对等节点的Diameter消息容量有关的信息的源对等体基于容量的Diameter负载共享的系统、方法和计算机可读介质。如下所述,以考虑源对等节点的Diameter消息容量需求的方式来建立Diameter对等节点之间的Diameter连接,该源对等节点的Diameter消息容量需求包括但不限于对等体可以发送或者接收Diameter消息的速率、对等体可以发送或者接收Diameter请求或者应答消息的速率、以及对等体的Diameter事务速率容量、以及专用于应用的消息源/接收/事务容量。还公开了包括多个Diameter消息处理器的逻辑Diameter信令路由器的概念。在一个实施例中,消息处理器对于在DSR之外的Diameter对等节点看起来如离散的Diameter中继节点。因此,有时将这里所公开的DSR称为虚拟Diameter中继或者路由节点。现在,将详细参考本发明的示例性实施例,在附图中对其例子进行了说明。只要有可能,在贯穿附图中将使用相同的参考数字指代相同或者相似的部分。图I是根据这里所描述的主题的实施例,对用于源对等体基于容量的Diameter负载共享的示例性系统进行说明的方框图。该系统包括用于对从Diameter对等体P1102接收的Diameter消息进行处理的网络部件100。网络部件100配置为请求与Diameter对等体P1102的Diameter消息容量需求有关的信息、接收与Diameter对等体P1102的Diameter消息容量需求有关的信息、并且使用所接收的信息对处理进行负载共享。在一个实施例中,网络部件100可以包括用于对Diameter消息进行处理的多个消息处理器,并且使用与Diameter对等体的Diameter消息容量需求有关的信息对多个消息处理器之间的Diameter消息处理和/或Diameter连接进行负载共享。如果网络部件100是Diameter信令路由器,则处理Diameter信令消息可以包括对Diameter信令消息进行路由。在可选实施例中,网络部件100可以包括对Diameter信令消息进行处理的单个消息处理器。Diameter节点可以是能够实现或者使用Diameter协议的节点。例如,网络部件100可以包括Diameter信令路由器(DSR)、移动性管理实体(MME)、归属用户服务器(HSS)和/或认证、授权和计帐(AAA)服务器、承载绑定和事件报告功能(BBERF)、服务网关(SGW)、分组数据网络网关(PDN GW)、计费数据功能(⑶F)、在线计费系统、离线计费系统、 策略计费执行功能(PCEF)、策略计费和规则功能(PCRF)、用户简档存储库(SPR)、Diameter代理、网络节点、策略引擎、策略服务器、应用功能(AF)、应用服务器、Diameter信令代理、长期演进(LTE)节点、因特网协议(IP)多媒体子系统(IMS)网络节点、服务器、相关节点、节点、数据库、信令网关、网关、监控节点、Diameter消息处理器、数据收集平台、多协议信令网关、多协议信令路由器、或者计算平台。DSR的例子包括但不限于Diameter路由代理、Diameter中继代理、Diameter重定向代理、Diameter转译代理、Diameter委托代理。在图I中所说明的实施例中,例如,网络部件是包括3个消息处理器Ml 104、M2106和M3 108的Diameter信令路由器(DSR) 100。DSR 100内的一些或者全部消息处理器可以与一个或多个Diameter对等节点传送Diameter协议消息。例如,在图I中所说明的实施例中,消息处理器M1104、M2106和/或M3108可以与Diameter对等体Pl 102通信。消息处理器的例子包括但不限于基于刀片的分布式计算平台中的计算刀片、与单核或者多核计算器件相关联的计算机处理器核心部件等。在一些实施例中,可以在单个物理消息处理/计算模块上实例化多个DSR。在一个实施例中,DSR 100可以具有单个完全合格域名(FQDN),Diameter对等体Pl使用其来对P1102想要发送到DSR 100的Diameter消息进行编址。例如,可以用FQDN “DSR1”来标识DSR 100。在一个实施例中,Pl 102可以将包括“DSR1”的域名系统(DNS)查询发送到DNS服务器110。DNS服务器110可以以与DSR 100内的消息处理器相对应的一个或多个地址进行响应。随后,Pl 102可以使用DNS服务器110所返回的一个地址或多个地址中的一个将Diameter消息发送到DSR 100。Pl 102可以使用其它机制或过程来确定DSR 100的地址。在一个实施例中,DSR 100可以维持关于其每个消息处理器的Diameter消息容量的信息。在图I中所说明的实施例中,DSR 100包含消息处理器容量表(MCT) 112,其用于维持关于每个消息处理器Ml 104、M2 106和M3 108的Diameter消息容量的信息。可以将该信息存储在表、数据库、或者其它合适的方式中。在图I中所说明的实施例中,MCT 112可以使用表114来存储多个记录,其中,每个记录包括用于消息处理器名称的字段(“MP”)、用于消息处理器最大消息容量的字段(“MAX. TPS”)、以及用于消息处理器当前可用消息容量的字段(“AVAIL TPS”)。例如,表114指示消息处理器Ml 104可以处理多达每秒5000个事务(TPS)以及在该容量中,仅500TPS是可供使用的,即它当前处理4500TPS。消息处理器M2 106可以处理多达3000TPS并且当前处理2000TPS,留下1000TPS可供使用。消息处理器M3 108可以处理多达2000TPS并且当前仅处理100TPS,留下1900TPS可供使用。在一个实施例中,DSR 100可以维持关于DSR 100可以与其进行通信的每个对等节点的Diameter消息容量需求的信息。在图I中所说明的实施例中,DSR 100包含对等体容量表(PCT) 116,其用于维持关于对等节点Pl 102、对等节点P2(未示出)、以及可以与DSR100通信的其它对等节点的Diameter消息容量需求的信息。可以将该信息存储在表、数据库、或者其它合适的方式中。在图I中所说明的实施例中,PCT 116可以使用表118来存储多个记录,其中,每个记录包括用于对等体名称的字段(“PEER”)、以及用于所需要或者所请求的消息容量的字段(“REQ. TPS”)。例如,表118指示对等体Pl 102需要1000TPS并且对等体P2需要200TPS。图2是根据这里所描述的主题的实施例,对用于源对等体基于容量的Diameter负载共享的示例性过程进行说明的流程图。 在方框200处,用于对从Diameter对等体接收的Diameter消息进行处理的网络部件请求与该Diameter对等体的Diameter消息容量需求有关的信息。例如,参考图I, DSR100可以请求Diameter对等体Pl 102的Diameter消息容量需求或者能力。在一个实施例中,响应于从Pl 102接收对于Diameter连接的请求,DSR 100可以发出该请求。在方框202处,接收到与Diameter对等体的Diameter消息容量需求有关的信息。例如,Pl 102可以将列出Pl 102的Diameter消息容量需求或能力的信息发送到DSR 100。在方框204处,使用所接收的信息对处理进行负载共享。负载共享可以包括但不限于基于源对等体的容量需求和能力,来进行负载共享、负载平衡、分发、以及分配Diameter消息处理。在网络部件具有多个消息处理器的实施例中,可以在全部消息处理器或者消息处理器的子集上或者之间对Diameter消息处理进行负载共享。Diameter消息处理的负载共享可以包括Diameter消息业务的负载共享。Diameter消息业务可以包括但不限于Diameter连接请求、Diameter连接、或者与Diameter连接相关联的Diameter业务。在图I中,例如,可以基于Pl 102的Diameter消息需求/能力,在消息处理器Ml 104、M2106和M3 108之间对来自对等体Pl 102的Diameter消息业务进行负载共享或者平衡。在一个实施例中,可以动态设定或者确定对等体Diameter消息容量需求信息。例如,DSR 100可以将用于隐含地或者明确地请求容量能力信息的Diameter能力交换请求(CER)消息发送到Pl 102。Pl 102可以以Diameter能力交换应答(CEA)消息做出响应,其中,CEA消息提供所请求的容量能力信息。一旦确定,可以将该Diameter对等体容量/能力信息存储在PCT 112中,以便消除在来自Pl 102的后续Diameter连接尝试期间对额外CER/CEA交换的需要。在可替换实施例中,可以静态设定对等体Diameter消息容量需求信息。例如,可以以关于Pl 102和其它对等体的Diameter消息容量需求的信息,来对对等体容量表PCT112进行静态设定。在这种场景下,DSR 100可以仅通过查询PCT 112来请求并且接收关于Diameter对等体的Diameter消息容量的信息。这可以消除对DSR 100执行对Diameter对等体的CER/CEA或者任何其它查询的需要。在这里的实施例中,DSR 100包括多个消息处理器,在方框204处,可以使用所接收的信息在这些消息处理器之间进行负载共享。例如,可以使用源对等体容量信息对从Diameter对等体接收的Diameter消息业务进行负载共享或者负载平衡。在一个实施例中,还可以考虑关于每个消息处理器的Diameter消息处理容量的信息。使用图I中所说明的例子,Pl 102可以进行Diameter连接请求。从表118中,可以看出Pl 102需要1000TPS用于Diameter连接。MCT 112内的表114指示Ml 104具有最高的最大容量(5000TPS),但是其是过载的并且仅具有500TPS可用。由于这个原因,Ml 104不能满足Pl 102的Diameter消息容量需求。消息处理器M2 106和M3 108都具有足够的容量可用-分别为1000TPS和1900TPS-但是M3108是这些消息处理器中最小负载的。因此,在一个实施例中,M3 108可以是较佳的选择。可替换地,选择算法可以选择具有可以满足Pl 102的Diameter消息容量需求的最高的最大容量的消息处理器,在该情况下,M2106可以是较佳的选择。选择算法不限于上述例子。例如,在一个实施例中,选择算法可以尝试在取得另一个消息处理器之前使一个消息处理器的容量最大化。图3是根据这里所描述的主题的另一个实施例,对在源对等体基于容量的Diameter负载共享期间所传送的示例性信令消息进行说明的消息流图(梯形图)。
包括用于处理Diameter消息的多个消息处理器的DSR从Diameter对等体接收Diameter连接请求消息。在图3中所说明的实施例中,Diameter对等体Pl 102可以向DNS服务器110发出DNS请求消息300,其包括DSR100的完全合格域名,该DNS服务器110例如通过返回一个或多个A/AAAA记录来以一个或多个地址做出响应。在图3中所说明的实施例中,DNS服务器110在DNS响应消息302中返回消息处理器M2 106的地址。对等体Pl102随后向M2 106发出Diameter连接请求消息304。随后,确定Diameter对等体的Diameter消息容量需求。为了确定Pl 102所需的Diameter消息容量(DMC),M2 106将查询消息306发送到对等体容量表116。在图3中所说明的场景中,DSR 100还不知道Pl 102的DMC需求,并且PCT 116经由响应消息308将其指示给M2 106。随后,M2 106将Diameter能力交换请求(CER)消息310发送到Pl 102,其从Diameter对等节点请求容量能力信息。在响应中,Pl 102以能力交换应答(CEA)消息312做出答复,该CEA消息指示Pl 102所请求或者所需的Diameter消息容量。在图3中所说明的实施例中,Pl 102需要由变量“X”来符号表示的Diameter消息容量的数量。随后,M2 106可以将该信息提供给PCT 116,诸如通过将更新消息314发送到PCT 116,其指示Pl102需要X数量的Diameter消息容量。确定一个或多个DSR消息处理器是否可以满足对等体的Diameter消息容量需求。在该图3中所说明的实施例中,M2 106确定其在图3中表示为“M2 DMC”的容量是否足够满足Pl 102的需要。在该例子中,在方框316处,M2 106确定它不具有足够的Diameter消息容量,并且因此发送消息318,后者向Pl 102指示拒绝了 Diameter连接请求。在该图3中所说明的实施例中,Pl 102通过再次查询DNS服务器110(消息320)对拒绝做出响应,但是这次得到也与DSR 100相关联的另一个地址,S卩,消息处理器Ml 104的地址(消息322)。Pl 102向Ml 104发出Diameter连接请求消息324。像M2 106那样,Ml 104也查询PCT116 (消息326),但是这次,PCT 116知道Pl 102的DMC需求,并且因此将包括DMC值X的答复消息328发送到Ml 104。在方框320处,Ml 104确定其在图3中表示为“Ml DMC”的Diameter消息容量足够满足Pl 102的需求。因此,Ml 104将指示接受了 Diameter连接请求的消息322发送到Pl 102。以这种方式,一旦确定了一个或多个DSR消息处理器可以满足Diameter对等体的Diameter消息容量需求,就选择一个消息处理器并且将Diameter连接请求消息定向到所选择的DSR消息处理器。为了维持最新的消息处理器容量信息,已经接受了 Diameter连接请求消息的消息处理器可以更新关于其当前Diameter消息处理负载的信息。在图3中所说明的实施例中,Ml 104保留供Pl 102使用的全部数量的Diameter消息能力X。因此,Ml 104从其当前DMC中减去X (方框334)以便确定其新的当前Diameter消息处理能力,并且在更新消息336中将该信息发送到MCT 112。图4是根据这里所描述的主题的另一个实施例,对在源对等体基于容量的Diameter负载共享期间所传送的示例性信令消息进行说明的消息流图。在图4中,包括用于处理Diameter消息的多个消息处理器的DSR 100从Diameter对等体接收Diameter连接请求消息。例如,Diameter对等体P1102可以向DNS服务器110发出包括DSR 100的完全合格域名的DNS请求消息400,其在DNS响应消息402中返回消息处理器M2 106的地址。·对等体Pl 102随后向M2 106发出Diameter连接请求消息404。为了确定P1102所需要的DMC, M2 106将查询消息406发送到对等体容量表116,其以指示还不知道Pl的DMC的消息做出响应。随后,M2 106将CER消息410发送到Pl 102,并且Pl 102以指示Pl 102需要“X”数量的消息容量的CEA消息412进行答复。随后,M2 106更新PCT 116 (消息414)。在图4中所说明的实施例中,M2 106确定它不具有足够的Diameter消息容量。M2106将查询消息418发送到消息处理器容量表112,询问是否存在可以提供Pl 102所需要的必要Diameter消息容量的任何消息处理器,而不是拒绝Diameter连接请求并且强迫对等体执行另一个DNS查询。在该例子中,MCT 112确定Ml 104具有所需要的容量。在一个实施例中,MCTl 12将指示Ml 104具有足够容量的消息420发送到M2 106,并且M2 106将重定向消息422发送到Pl 102,其指示Pl 102将其Diameter连接尝试重定向到Ml 104。在可替换的实施例中,MCT 112可以向Pl 102直接发出重定向消息422,消除了对M2 106进一步参与的需要。这一次,Pl 102向Ml 104发出另一个Diameter连接请求消息424。Ml104查询PCT 116以便确定Pl 102的DMC需求。PCT 116现在具有该信息,并且将其经由消息428提供给Ml 104。在方框430处,Ml 104确定其具有足够的Diameter消息容量,并且因此接受Diameter连接请求(消息432)。Ml 104重新计算其当前/可用消息容量(方框434)并且通知MCT 112该改变(消息436)。图5是根据这里所描述的主题的实施例,对用于源对等体基于容量的Diameter负载共享的示例性系统进行说明的方框图。Diameter信令路由器(DSR) 200类似于图I中所说明的DSR 100,并且包括用于对Diameter消息进行处理的多个处理消息处理器、消息处理器容量表和对等体容量表。部件Ml 104、M2 106、M3 108、Diameter对等体Pl 102、MCT112、表114、PCT 116和表118与它们在图I中编号相似的相对物是相同的,并且因此将不在这里重复对它们的描述。然而,不像图I中所说明的DSR 100,DSR 200包括集中式负载平衡模块(LB) 202,其从Diameter对等体接收Diameter连接请求。现在将参考图6描述DSR 200的操作。图6是根据这里所描述的主题的又一个实施例,对在源对等体基于容量的Diameter负载共享期间所传送的示例性信令消息进行说明的消息流图。在图5和6中所说明的例子中,假定LB 202维持关于DSR 200内的消息处理器的信息,并且将该信息存储在MCT 112 中。在图6中所说明的实施例中,消息处理器Ml 104将包含关于Ml的Diameter消息容量(DMC)的信息的消息600 (在图6中表示为“Ml DMC”)发送到LB 202。例如,Ml 104可以指示其最大DMC、当前使用的以及/或者当前可用的是哪个DMC等。在一个实施例中,可以在标准项(诸如每秒事务(TPS)或者其它容量或者性能量度)中申明DMC值。在图6中所说明的实施例中,LB 202可以经由更新消息602更新MCT 112。同样,DSR 200内的其它消息处理器可以将DMC消息发送到LB 202,LB 202随后将其报告给MCT 112。在图6中所说明的实施例中,例如,消息处理器M2 106将指示M2的DMC的消息604(在图6中表示为“M2 DMC”)发送到LB 202,并且LB 202将包含用于M2的DMC信息的消息606发送到MCT 112。在可替换实施例中,DSR 200内的每个消息处理器可以将DMC信息直接发送到MCT112,绕开LB 202,或者除了 LB 202之外的DSR 200内的另一个组件可以执行这些功能。在一个实施例中,将所有Diameter连接请求消息定向到DSR 200内的LB 202。例如,在发送Diameter连接请求消息之前,对等体Pl 102可以查询DNS服务器(未示出),并·且被给予网络地址DSR 200,其将Diameter连接请求消息在内部路由到LB 200。在LB 202具有其自己唯一的网络地址的实施例中,DNS查询可以返回LB 202的网络地址。在DSR 200包含多个负载平衡模块的实施例中,DNS查询可以返回从负载平衡模块的列表中选择的地址,或者返回所有地址,对等体将从其中选择一个地址。在可替换的实施例中,可以给对等体Pl 102静态设定LB 202的地址,而不是必须执行DNS查找或者其它地址映射/地址确定步骤。不考虑用于确定LB 202的地址的机制,Pl 102发出Diameter连接请求消息608,由LB 202对其进行接收。随后,确定Diameter对等体的Diameter消息容量需求。在图6中所说明的实施例中,LB 202将查询消息610发送到对等体容量表116,询问Pl 102的DMC需求。在图6中所说明的场景中,还不知道Pl 102的DMC需求,经由答复消息612将Pl 102的DMC需求指示给LB 202。由于还不知道DMC需求,在一个实施例中,LB 202可以仅随机地、以循环方式、或者使用某些其它可能考虑或者可能不考虑消息处理器的当前消息容量或者可用性的选择过程,来选择DSR 200内的一个消息处理器,并且将连接请求发送或者转发到所选择的消息处理器。例如,LB 202可以参与与MCT 112的查询/响应交互(未示出),以便确定哪个消息处理器具有最高的可用消息容量并且选择该消息处理器。考虑了其它的选择过程。在图6中所说明的实施例中,LB 202选择消息处理器Ml 104(方框614),并且将Diameter连接请求消息616发送到所选择的消息处理器。Ml 104向Pl 102发出CER消息618,并且Pl 102以包含关于Pl 102所请求或者所需要的DMC的信息的CER消息620做出响应,在图6中将其表示为值X。在一个实施例中,DSR 200内的消息处理器和DSR 200外的对等体之间的消息通过LB 202或者由LB 202处理,使得LB 202对Pl 102发送的CEA消息620进行检测,并且能够提取出DMC需求信息(方框622)。在一个实施例中,LB 202可以经由更新消息624更新PCT 116内的信息,该更新消息624向PCT 116指示Pl 102需要X数量的Diameter消息容量。PCTl 16随后可以将该信息存储在诸如表118中以供将来使用。随后,LB 202可以将CEA消息626发送或者转发到所选择的消息处理器Ml 104。
在接收到CEA消息626时,Ml 104可以评估它是否可以满足Pl 102所需要的DMC。在图6中所说明的实施例中,Ml 104确定其容量“Ml DMC”小于Pl 102所需要的容量“X”,并且因此将拒绝Diameter连接请求的消息630发送到Pl 102。在图6中所说明的实施例中,Pl 102对消息630进行接收,并且在响应中,Pl 102可以通过将第二 Diameter连接请求消息632发送到LB 202来尝试重试。在可替换的实施例中,LB 202可以拦截拒绝消息630并且将其转换为包括另一个消息处理器(诸如M2 106)的地址的重定向或者重连接消肩、O在接收到第二 Diameter连接请求消息632时,LB 202再次查询PCT 116关于Pl 的DMC需求的信息(消息634)。这次,将该消息包含在PCT 116内,并且因此响应消息636包含值“X”。现在知道对等体的Diameter消息容量需求,LB 202可以使用该信息从DSR200内的可用消息处理器中选择合适的消息处理器。例如,LB 202可以使用MCT 112内的信息,诸如每个消息处理器Ml 104和M2 106的最大和可用容量,以便确定可以满足Pl 102的DMC需求的候选消息处理器的列表,并且从候选列表中选择一个或多个消息处理器。在图6中所说明的实施例中,在方框638处,LB 202确定消息处理器M2 106具有足够多的容量来满足Pl 102的DMC需要,并且因此选择M2106。LB 202将Diameter连接请求消息640转发到M2 106,M2 106通过将接受消息642发送到Pl 102来接受。在图6中所说明的实施例中,LB 202拦截或者以其它方式检测M2 106的接受、确定M2的可用DMC容量已经减少了数量X、并且经由更新消息644告知MCT 112该事实。Diameter对等体可以托管多个应用,每个应用具有其自己特定的DMC需求。因此,在一个实施例中,Diameter对等体可以通过发送信息来对与其Diameter消息容量需求有关的信息的请求做出响应,该信息对Diameter对等体所托管的一个或多个应用中的每个的Diameter消息容量需求进行标识。在图7中对此进行了说明。图7是根据这里所描述的主题的另一个实施例,对用于源对等体基于容量的Diameter负载共享的示例性系统进行说明的方框图。Diameter信令路由器(DSR) 700类似于图2中所说明的DSR 200,并且包括用于处理Diameter消息的多个处理消息处理器、消息处理器容量表以及对等体容量表。部件Ml 104、M2 106、M3 108、Diameter对等体Pl 102、MCT 112、表114、PCT 116和LB 202与图2中它们编号相似的相对物是相同的,并且因此在这里将不重复它们的描述。DSR 700内的每个消息处理器支持一个或多个应用。在图7中所说明的实施例中,DSR 700支持两个应用A和B。在图7中所说明的实施例中,PCT 116包括更详细的表702,其对由Diameter对等节点和应用所要求的Diameter消息容量需求进行存储。例如,表702中的每个条目或者记录包括标识对等体的字段(“PEER”)、应用(“APP”)、以及对于该应用所需要的TPS ( “REQ.TPS”)。表702指示出对于应用A需要700TPS并且对于应用B需要300TPS,而不是图I中表118中所示的对于Pl 102的总计的TPS需求(1000TPS)。对等体P2(未示出)需要200TPS,所有这些是用于应用A的而没有用于应用B的。在图7中所说明的实施例中,LB 202维持了列出可以支持每个应用的消息处理器的表704。例如,表704指示消息处理器Ml 104、M2 106和M3 108都支持应用A,但是仅Ml 104和M3 108可以支持应用B。因此,响应于来自Diameter对等体的Diameter连接请求,LB 202在选择消息处理器时可以将该信息考虑进去。在一个实施例中,Diameter对等体可以建立到多个消息处理器的连接,对于每个应用有一个连接。在一个实施例中,LB 202配置为将对等体消息处理能力信息转译成与消息处理器相关的任意单位的工作或者处理资源。例如,可以确定Diameter对等体能够处理与Diameter应用A相关联的1000TPS,并且能够处理与Diameter应用B相关联的500TPS。DSR 700可以确定与应用A相关联的一个事务需要5个单位的工作/处理资源,并且与应用B相关联的一个事务需要2个单位的工作/处理资源。随后,LB 202基于从提供给每个连接Diameter对等体的对等体消息处理容量所计算的工作/处理资源需求,对到可用消息处理器的连接进行共享或者分发。在图7中所说明的实施例中,例如,LB 202维持用于将应用映射到TPS到MP工作单位的表706,并且将5工作单位的权重分配给应用A,并且将2工作单位的权重分配给应用B。例如,通过将较高的工作单位因子分配给较慢的消息处理器或者分配给资源更密集的应用,这可以用于对选择过程进行加权。现在将参考图8对DSR700的操作进行描述。图8是根据这里所描述的主题的又一个实施例,对在源对等体基于容量的 Diameter负载共享期间所传送的示例性信令消息进行说明的消息流图。消息800是从Pl102到LB 202的Diameter连接请求。LB 202查询PCT116 (消息802)并且确定不知道Pl102的DMC信息(消息804)。在图8中所说明的实施例中,LB 202向Pl 102发出CER消息806,并且从Pl 102接收CEA消息808。在该例子中,CEA消息指示Pl 102对于应用A需要1000TPS并且对于应用B需要2000TPS。LB 202使用更新消息810来更新PCT116中的Pl102信息。LB 202查询表704以便得到支持在CEA消息808中所标识的应用的MP的列表(事务812)。随后,LB 202读取表706的TPS到MP工作单位转换因子(事务814)。随后,LB 202从MCT 112中读取当前可用容量信息(事务816)。在一个实施例中,MCT 112可以返回用于所有消息处理器的信息,LB 202随后可以使用来自事务812的信息进行挑选。可替换地,LB 202可以将从事务812接收的候选消息处理器的列表发送到MCT 112,并且MCT112可以发送用于所列出的消息处理器的信息。在方框818处,LB 202使用所接收的信息来选择合适的消息处理器。在图8中所说明的实施例中,例如,可以确定消息处理器M3 108是可以提供如在CEA消息808中所指示的Pl 102所需的Diameter消息容量的最佳或者唯一消息处理器。DSR不限于响应于Diameter连接请求而选择多个可用消息处理器中的仅仅一个。例如,在Diameter对等体支持多个虚拟Diameter中继之处,在一个实施例中,DSR 700可以实例化从Pl 102到多于一个消息处理器(例如,从Ml 104到对等体上的虚拟Diameter中继I的一个连接、从M2 106到对等体上的虚拟Diameter中继2的另一个连接)的连接,使得没有单个到P1102的连接超过连接容量约束,并且在全部连接上的容量满足或者超过P1102所需的资源容量。将理解,可以改变在这里所描述主题的各个细节,而不脱离在这里所描述的主题的范围。此外,前述说明仅仅是为了举例说明的目的,而不是为了限制的目的。
权利要求
1.一种用于源对等体基于容量的Diameter负载共享的方法,所述方法包括 在用于对从Diameter对等体所接收的Diameter消息进行处理的网络部件处 请求与所述Diameter对等体的Diameter消息容量需求有关的信息; 接收与所述Diameter对等体的所述Diameter消息容量需求有关的信息;并且 使用所接收的信息对所述处理进行负载共享。
2.如权利要求I所述的方法,其中,所述网络部件包括Diameter信令路由器。
3.如权利要求I所述的方法,其中,请求与所述Diameter对等体的Diameter消息容量需求有关的信息包括响应于从所述Diameter对等体接收到Diameter连接请求消息而请求信息。
4.如权利要求I所述的方法,其中,所述与Diameter消息容量需求有关的信息包括Diameter事务速率容量。
5.如权利要求4所述的方法,其中,所述Diameter事务速率容量包括指示Diameter每秒事务(TPS)的值。
6.如权利要求I所述的方法,其中,所述Diameter对等体的所述Diameter消息容量需求是静态设定的。
7.如权利要求I所述的方法,其中,所述Diameter对等体的所述Diameter消息容量需求是动态设定的。
8.如权利要求7所述的方法,其中,请求与Diameter消息容量需求有关的信息包括使用Diameter能力交换请求(CER)消息。
9.如权利要求7所述的方法,其中,接收与所述Diameter消息容量需求有关的信息包括接收Diameter能力交换应答(CEA)消息。
10.如权利要求I所述的方法,其中,所述Diameter消息容量需求包括Diameter消息来源容量和Diameter消息接收容量中的至少一个。
11.如权利要求I所述的方法,其中,使用所接收的信息对所述处理进行负载共享包括使用所接收的信息对Diameter消息业务进行负载共享。
12.如权利要求11所述的方法,其中,使用所接收的信息对Diameter消息业务进行负载共享包括使用所述信息以便进行对Diameter连接请求进行负载共享以及对Diameter连接进行负载共享中的至少一个操作。
13.如权利要求I所述的方法,其中,使用所接收的信息对所述处理进行负载共享包括使用存储在对等体容量表(PCT)中的信息,其中所述PCT对于与所述网络部件进行通信的每个Diameter对等体维持相应Diameter对等体的Diameter消息容量需求。
14.如权利要求I所述的方法,其中,所述Diameter消息容量需求包括与应用相关联的Diameter消息处理容量,并且其中,使用所接收的信息对所述处理进行负载共享包括使用所接收的信息在所述应用的多个实例之间对所述处理进行负载共享。
15.如权利要求12所述的方法,其中,使用所接收的信息在所述应用的多个实例之间对所述处理进行负载共享包括 使用所接收的信息从多个应用中选择应用;并且 将Diameter消息业务定向到所选择的应用。
16.如权利要求I所述的方法,其中,所述网络部件包括用于对Diameter消息进行处理的多个消息处理器,并且其中,使用所接收的信息对所述处理进行负载共享包括使用所接收的信息在所述多个消息处理器之间对所述处理进行负载共享。
17.如权利要求16所述的方 法,其中,使用所接收的信息在所述多个消息处理器之间对从所述Diameter对等体接收的Diameter消息业务进行负载共享包括 使用所接收的信息从所述多个消息处理器中选择消息处理器;并且 将Diameter消息业务定向到所选择的消息处理器。
18.如权利要求16所述的方法,其中,使用所接收的信息对所述处理进行负载共享包括在所述多个消息处理器中的至少一个处使用所接收的信息。
19.如权利要求16所述的方法,其中,使用所接收的信息对所述处理进行负载共享包括在与所述多个消息处理器分离的负载平衡模块处使用所接收的信息。
20.如权利要求16所述的方法,其中,使用所接收的信息在所述多个消息处理器之间对所述处理进行负载共享包括基于所述多个消息处理器中的至少一个的Diameter消息容量,从所述多个消息处理器选择消息处理器。
21.如权利要求16所述的方法,其中,使用所接收的信息在所述多个消息处理器之间对所述处理进行负载共享包括使用消息处理器容量表(MCT),其中所述MCT对于所述网络部件的每个消息处理器维持相应消息处理器的Diameter消息容量。
22.一种用于源对等体基于容量的Diameter消息处理的负载共享的系统,所述系统包括 用于对从Diameter对等体所接收的Diameter消息进行处理的网络部件,所述网络部件包括用于对所述Diameter信令消息进行处理的至少一个消息处理器,其中,所述网络部件配置为 请求与所述Diameter对等体的Diameter消息容量需求有关的信息; 接收与所述Diameter对等体的所述Diameter消息容量需求有关的信息;并且 使用所接收的信息对所述处理进行负载共享。
23.如权利要求22所述的系统,其中,所述网络部件包括Diameter信令路由器。
24.如权利要求22所述的系统,其中,所述网络部件配置为响应于从所述Diameter对等体接收到Diameter连接请求消息,请求与所述Diameter对等体的Diameter消息容量需求有关的所述信息。
25.如权利要求22所述的系统,其中,与所述Diameter对等体的Diameter消息容量需求有关的所述信息包括所述Diameter对等体的Diameter事务速率容量。
26.如权利要求22所述的系统,其中,所述Diameter事务速率容量包括指示Diameter每秒事务(TPS)的值。
27.如权利要求22所述的系统,其中,所述Diameter对等体的所述Diameter消息容量需求是静态设定的。
28.如权利要求22所述的系统,其中,所述Diameter对等体的所述Diameter消息容量需求是动态设定的。
29.如权利要求28所述的系统,其中,请求与所述Diameter对等体的Diameter消息容量需求有关的信息包括发送Diameter能力交换请求(CER)消息。
30.如权利要求28所述的系统,其中,接收与所述Diameter对等体的所述Diameter消息容量需求有关的信息包括接收Diameter能力交换应答(CEA)消息。
31.如权利要求22所述的系统,其中,所述Diameter消息容量需求包括Diameter消息来源容量和Diameter消息接收容量中的至少一个。
32.如权利要求22所述的系统,其中,使用所接收的信息对所述处理进行负载共享包括使用所接收的信息对Diameter消息业务进行负载共享。
33.如权利要求32所述的系统,其中,使用所接收的信息对Diameter消息业务进行负载共享包括使用所述信息以便进行对Diameter连接请求进行负载共享以及对Diameter连接进行负载共享中的至少一个操作。
34.如权利要求22所述的系统,其中,所述网络部件包括对等体容量表(PCT),其中所述PCT对于与所述网络部件进行通信的每个Diameter对等体维持相应Diameter对等体的Diameter消息容量需求,其中,所述网络部件使用存储在所述PCT中的信息对所述处理进行负载共享。
35.如权利要求22所述的系统,其中,所述Diameter消息容量需求包括与应用相关联的Diameter消息处理容量,并且其中,使用所接收的信息对所述处理进行负载共享包括使用所接收的信息在所述应用的多个实例之间对所述处理进行负载共享。
36.如权利要求35所述的系统,其中,使用所接收的信息在所述应用的多个实例之间对所述处理进行负载共享包括 使用所接收的信息从多个应用中选择应用;并且 将Diameter消息业务定向到所选择的应用。
37.如权利要求22所述的系统,其中,所述至少一个消息处理器包括用于对Diameter消息进行处理的多个消息处理器,并且其中,使用所接收的信息对所述处理进行负载共享包括使用所接收的信息在所述多个消息处理器之间对所述处理进行负载共享。
38.如权利要求37所述的系统,其中,使用所接收的信息在所述多个消息处理器之间对所述处理进行负载共享包括 使用所接收的信息从所述多个消息处理器中选择消息处理器;并且 将Diameter消息业务定向到所选择的消息处理器。
39.如权利要求37所述的系统,其中,所述多个消息处理器中的至少一个配置为使用所接收的信息对所述处理进行负载共享。
40.如权利要求37所述的系统,其中,所述网络部件包括与所述多个消息处理器分离的、用于使用所接收的信息对所述处理进行负载平衡的负载平衡模块。
41.如权利要求37所述的系统,其中,使用所接收的信息在所述多个消息处理器之间对所述处理进行负载共享包括基于所述多个消息处理器中的至少一个的Diameter消息容量,从所述多个消息处理器选择消息处理器。
42.如权利要求37所述的系统,其中,所述网络部件包括消息处理器容量表(MCT),其中所述MCT用于对于所述网络部件的每个消息处理器维持相应消息处理器的Diameter消息容量,其中,所述网络部件使用存储在所述MCT中的信息对所述处理进行负载共享。
43.一种非暂时性计算机可读介质,其具有存储在其上的可执行指令,当由计算机的处理器执行所述可执行指令时,控制所述计算机执行包括下列步骤 在用于对从Diameter对等体所接收的Diameter消息进行处理的网络部件处请求与所述Diameter对等体的Diameter消息容量需求有关的信息;接收与所述Diameter对等体的所述Diameter消息容量需求有关的信息;并且使用所接收的信息对所述处理进行 负载共享。
全文摘要
本申请公开了用于源对等体基于容量的Diameter负载共享的方法、系统和计算机可读介质。根据一个方面,这里所描述的主题包括用于源对等体基于容量的Diameter负载共享的方法。用于对从Diameter对等体所接收的Diameter消息进行处理的网络部件请求与Diameter对等体的Diameter消息容量需求有关的信息、接收与Diameter对等体的Diameter消息容量需求有关的信息、并且使用所接收的信息对处理进行负载共享。在一个实施例中,网络部件是具有用于处理Diameter消息的多个消息处理器的Diameter信令路由器,并且使用与Diameter对等体的Diameter消息容量需求有关的信息在多个消息处理器之间对Diameter消息处理和/或Diameter连接进行负载共享。
文档编号H04L12/28GK102893556SQ201180013555
公开日2013年1月23日 申请日期2011年2月11日 优先权日2010年2月12日
发明者D·E·华莱士, M.E.卡诺德, D·M·斯普拉格, J·A·克雷格, P·J·马尔西科 申请人:泰克莱克股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1