专利名称:用于在diameter节点处提供初始路由的方法、系统、以及计算机可读介质的制作方法
技术领域:
本文描述的主题涉及在Diameter节点处进行路由。更具体地,所述主题涉及用于在Diameter节点处提供初始路由的方法、系统、以及计算机可读介质。
背景技术:
Diameter是针对计算机网络的认证、授权和计费(AAA)协议,并且是RADIUS的后续。Diameter基础协议是在IETF RFC 3588中定义的,在此通过引用的方式将其公开内容全部合并入本文。RFC 3588讨论了用于对Diameter信令消息进行路由的Diameter路由代理,但是没有规定通常针对Diameter路由代理或者Diameter路由的架构。类似地,RFC3588没有论述使用初始信息来进行Diameter消息路由的具体方法。相应地,鉴于这些困难,需要用于在Diameter节点处提供初始路由的改进的方法、系统、以及计算机可读介质。
发明内容
本申请公开了用于在Diameter节点处提供初始路由的方法、系统、以及计算机可读介质。一个示例性方法包括在与DSR相关联的Diameter消息处理器处接收来自第一Diameter节点的Diameter消息。所述方法进ー步包括使用所述Diameter消息处理器来访问包括Diameter初始信息的Diameter对等路由信息,以确定作为所述DSR的对等体并且要向其转发所述Diameter消息的第二个Diameter节点。所述方法还包括向所确定的第二 Diameter节点转发所述Diameter消息。本文所述的主题可以在与硬件和/或固件相结合的软件中实现。例如,本文所述的主题可以在处理器执行的软件中实现。在一个示例性实施方案中,可以使用具有保存在其上的可执行指令的非临时性计算机可读介质来实现本文所述的用于在Diameter节点处提供初始路由的主题,当计算机的处理器执行所述可执行指令时,控制所述处理器执行步骤。适用于实现本文所述的主题的示例性非临时性计算机可读介质包括处理器、可编程逻辑器件、专用集成电路可访问的芯片存储设备或者磁盘存储设备。此外,实现本文所述的主题的计算机可读介质可以位于单个计算平台上或者可以分布在多个计算平台上。
现在将围绕附图阐述本文所述的主题,其中图IA是根据本文所述主题的一个实施例,描绘用于在Diameter信令路由器(DSR)处提供初始路由的过程的流程图;图IB是根据本文所述主题的一个实施例,描绘用于在Diameter节点处提供初始路由的包括单个Diameter消息处理器(MP)的示例性软件架构的框图;图2是根据本文所述的主题的ー个实施例,描绘用于在Diameter节点处提供初始路由的包括每个消息处理器(MP)完整栈的示例性软件架构的框图;图3是根据本文所述的主题的ー个实施例,描绘用于在Diameter节点处提供初始应用路由的专用DCL消息处理器(MP)的示例性架构的框图4是根据本文所述的主题的ー个实施例,描绘用于在Diameter节点处提供初始路由的包括专用DCL/DRL和应用消息处理器(MP)的示例性架构的框图;图5是根据本文所述的主题的ー个实施例,描绘用于在Diameter节点处提供初始路由的示例性高层消息路由流程的框图;图6是根据本文所述的主题的ー个实施例,描绘用于在Diameter节点处提供初始路由的包括功能划分的示例性可扩展的Diameter信令路由器的框图;图7是根据本文所述的主题的ー个实施例,描绘常规消息间处理器路由的消息序列图;图8是根据本文所述的主题的ー个实施例,描绘由于Diameter对等节点的不可用性而被输出消息处理器拒绝的初始路由尝试的消息序列图;
图9是根据本文所述的主题的ー个实施例,描绘没有路由支持输入请求消息中的特定应用标识符的消息序列图;图10是根据本文所述的主题的ー个实施例,描绘示例性路由清单表的框图;图11是根据本文所述的主题的ー个实施例,描绘路由清单中的多个路由组的概念图;图12A是根据本文所述的主题的ー个实施例,描绘示例性对等路由表(PRT)和相关的路由清单表的框图;图12B是根据本文所述的主题的ー个实施例,描绘包括Diameter初始信息的示例性对等路由表(PRT)和相关的路由清单表的框图;图13是根据本文所述的主题的ー个实施例,描绘采用默认条目的示例性对等路由表的框图;图14是根据本文所述的主题的ー个实施例,描绘采用默认条目的另ー个示例性对等路由表的框图;图15是根据本文所述的主题的ー个实施例,描绘采用默认条目的又一个示例性对等路由表的框图;图16是根据本文所述的主题的ー个实施例,描绘向每个表格条目提供路由清单容量的示例性路由清单表的框图;图17是根据本文所述的主题的ー个实施例,描绘向每个表格条目提供路由清单可用性数据的示例性路由清单表的框图;图18是根据本文所述的主题的ー个实施例,描绘Diameter信令路由器的Diameter路由层所执行的示例性路由选择过程的流程图。
具体实施例方式本文所述的主题包括用于在Diameter节点处提供初始路由的方法、系统、以及计算机可读介质。具体地,本文所述的主题可以在Diameter节点处实现,所述Diameter节点包括Diameter连接层(DCL)、Diameter路由层(DRL)、一个或多个本地应用、以及一个或多个路由表(比如,对等路由表(PRT)和应用路由表(ART))。例如,Diameter消息路由节点可以包括Diameter信令路由器(DSR)、移动性管理实体(MME)、归属用户服务器(HSS)和/或认证、授权和计费(AAA)服务器、承载绑定和事件报告功能(BBERF)、服务网关(SGW)、分组数据网络网关(PDN GW)、计费数据功能(CFD)、在线计费系统、离线计费系统、策略计费执行功能(PCEF)、策略计费和规则功能(PCRF)、用户简档存储器(subscriber profilerepository, SPR)、Diameter代理、网络节点、策略引擎、策略服务器、应用功能(AF)、应用服务器、Diameter信令代理、长期演进(LTE)节点、互联网协议(IP)多媒体子系统(MS)网络节点、服务器、关联节点、节点、数据库、信令网关、网关、监测节点、Diameter消息处理器、数据收集平台、多协议信令网关、多协议信令路由器、或者计算平台。Diameter信令路由器(DSR)的示例包括但不限于Diameter路由代理、Diameter中继代理、Diameter重定向代理、Diameter转换代理、Diameter委托代理。在一个实施例中,DSR包括共享共同的Diameter路由表的一组位于同一位置的DSR MP。如本文所使用的,术语“Diameter连接层(DCL)”指的是,实现Diameter传输连接的DSR中的Diameter栈的软件层。如本文所使用的,术语“Diameter路由层(DRL)”指的是,实现Diameter路由的Diameter栈的软件层。示例性DRL能力可以包括基于消息内容将请求消息路由到Diameter对等节点或者本地应用、基于消息内容规则而丢弃或者拒绝Diameter请求消息、对等拥塞控制、以及更容易的配置。为了同时支持应用处理和核心 Diameter路由功能,DSR中的DRL可以支持下列消息路由表应用路由表(ART)和对等路由表(PRT),稍后将更详细地描述它们中的每ー个。图IA是根据本文所述主题的一个实施例,用于在DSR处提供初始路由的方法100的流程图。參照图1A,在框102中,在与DSR相关联的输入Diameter消息处理器(MP)处接收来自Diameter对等节点的Diameter消息。例如,位于Diameter客户端(即,第一 Diameter对等节点)和Diameter服务器(即,第二 Diameter对等节点)之间的路径中的DSR可以接收来自DSR的输入Diameter消息处理器处的客户端的针对服务器的Diameter请求消息。在框104中,在输入Diameter消息处理器处,访问PRT以确定要向其转发Diameter消息的、与DSR相关联的多个输出Diameter消息处理器中的输出Diameter消息处理器。在一个实施例中,DRL可以从已接收的Diameter消息中提取ー组參数值,这组參数值可以用作在PRT中进行Diameter消息匹配的准则。可选地,在提取參数值之前,首先用DSR上的本地Diameter信令应用来处理已接收的Diameter消息。在Diameter消息中找到的示例性參数(即,规则消息选择參数)可以包括1)目的地-范围(Destination-Realm)參数,2)应用 ID (Application ID)參数,3)目的地-主机(Destination-Host)參数,4)初始-范围(Origin-Realm)參数,其标识了产生该消息的范围,5)初始-主机(Origin-Host)參数,其标识了产生该消息的主机,6)用户-名称(User-Name)參数,其标识了调用该服务所针对的用户,以及7)命令-代码(Command-Code)參数,其标识了请求消息类型。DRL可以使用已提取的參数值来搜索Diameter对等路由信息,其包括存储在DSR上的一个或多个本地对等路由表中的Diameter初始信息。如果參数值与对等路由表中的至少ー个规则条目相匹配,则选择具有最高优先权值的匹配条目。然后,检查从PRT中选择的规则条目的“动作(Action)”參数。如果该动作指示“路由到对等体(Route to Peer)”,则DRL基于该规则的路由清单来调用路由选择过程。路由选择过程包括利用路由清单的被指定的活动路由组来创建可用路由的清単。然后,DSR基于例如统计算法(參见下面的细节)从该清单中选择路由。因此,从清单中选择的路由是与DSR上的特定输出Diameter消息处理器相关联的。
在框106中,向已确定的输出Diameter消息处理器转发Diameter消息。在一个实施例中,输入Diameter消息处理器上的DRL将Diameter消息转发给已选择的输出Diameter消息处理器上的DRL。输出Diameter消息处理器上的DRL转而将Diameter消息转发给本地DCL队列进行传输。在框108中,从已确定的输出Diameter消息处理器向第二 Diameter节点发送Diameter消息。在一个实施例中,输出Diameter消息处理器上的DCL通过Diameter连接从DSR向预期的Diameter对等节点转发已处理的Diameter消息。显然,该步骤是在输出Diameter消息处理器本身没有执行任何关于路由的处理的情况下实施的。所述路由和对等节点选择完全是由DSR上的输入Diameter消息处理器进行的。在一个可选的实施例中,可以在仅包括单个Diameter消息处理器的DSR处执行方法100。这个示例性软件架构选项是在图IB中描绘的,其中,DSR网络单元(NE) 200包括Diameter消息处理器(MP)201,所述Diameter消息处理器(MP)201支持包括DCL、DRL、以及应用层(图中未示出)的完整Diameter栈。Diameter MP 201可以配置为接收来自Diameter对等节点(比如,Diameter对等节点218)的Diameter消息,并且向其它Diameter对等节 点(比如,Diameter对等节点220)发送Diameter消息。采用多个消息处理器的其它示例性架构也是可以使用的。例如,第一多MP架构选项可以包括其中每个消息处理器(MP)支持包括DCL、DRL、以及应用层的完整Diameter栈的实施例。第二多MP架构选项可以包括在专用MP上运行的DCL,路由和应用层可以要么合并到专用MP上要么具有针对每个层的专用MP。第三多MP架构选项可以包括在专用MP上运行的Diameter栈(DCL、DRL),本地Diameter应用在单独的专用MP上运行。下面围绕图2、3和4更详细地描述了这些示例性架构选项中的每ー个。图2是根据本文所述的主题的ー个实施例,描绘用于在DSR处提供初始路由的每个MP完整栈(full stack per MP)的示例性架构的框图。參照图2,DSR网络单元(NE)200可以包括输入MP 202和输出MP 204,所述输入MP 202用于接收来自Diameter对等节点的Diameter消息,所述输出MP 204用于向Diameter对等节点发送Diameter消息。输入MP 202和输出MP 204可以各自包括DCL、DRL、以及ー个或多个信令应用(位于应用层中)。例如,输入MP 202可以包括DCL 206,DRL 208、以及信令应用210。同样,输出MP 204可以包括DCL 212,DRL 214、以及信令应用216。为了便于在输入MP 202和输出MP 204之间进行通信,输入MP 202的DRL208可以操作以便与输出MP 204的DRL 214进行通信。此外,DRL 208和214可以各自可操作以便分别与DCL 206和212以及应用210和216进行通信。在示例性Diameter消息路由情形中,Diameter对等节点N-1218可以向DSR 200发送Diameter消息。可以通过输入MP 202的DCL 206接收Diameter消息。在一个实施例中,已接收的Diameter消息是Diameter请求消息。可以在输入MP 202上完全处理输入消息,其包括由DRL 208对Diameter消息的目的地Diameter对等节点进行选择。继续上述示例,DRL208可以接收由DCL 206传送的Diameter消息。如果需要进行本地应用处理,则输入DRL 208可以将Diameter消息转发给合适的本地应用。例如,DRL 208可以将Diameter消息转发给本地应用210,该本地应用210处理该消息,并且将该消息返回给DRL 208。应当理解的是,可以不需要应用分发功能。接下来,输入DRL 208可以将Diameter消息转发给输出DRL 214,以便转发给与DCL 212相关联的本地队列。然后,输出DCL 212可以向Diameter对等节点N+1220发送Diameter消息。图3是根据本文所述的主题的ー个实施例,描绘包括用于在DSR处提供初始路由的专用DCL MP的示例性架构的框图。与图2中所示的每个MP完整栈的实施例相反的是,图3中所示的实施例包括针对DCL的专用MP,以及针对DRL和本地应用的专用MP。參照图3,DSR 200可以包括DCL-MP 300和DCL-MP 308,所述DCL-MP 300用于接收来自对等体的Diameter消息,所述DCL-MP 308用于向对等体发送Diameter消息。类似地,DSR 200可以包括DRL-MP 302和DRL-MP 306,用于接收来自Diameter对等节点的Diameter消息,以及用于向Diameter对等节点发送Diameter消息。与姆个MP完整栈的实施例(见图2)相反,应用-MP 304可以与DRL-MP 302相关联,并且可能不具有与DRL-MP 306相关联的必然性(corollary)。DRL-MP 302和306可以各自操作以进行互相通信。在与上面围绕图2所述的相类似的示例性Diameter消息路由情形中,DCL-MP 300可以接收输入Diameter消息,所述DCL-MP 300可以基于如下因素将Diameter消息(例如,Diameter请求消息)分发给DRL-MP,这些因素包括但不限于与其它DRL-MP相比(图中没有将它们全部示出),DRL-MP 302的可用性、每秒事务处理(TPS)容量、以及拥塞状态。在一 个实施例中,DRL-MP 302可以判断是否需要进行信令应用处理。如果需要进行应用处理,输入DRL-MP 302可以将请求消息转发给应用-MP 304 (同样基于其可用性、TPS容量、以及拥塞状态)。在一个实施例中,输入DRL-MP 302可以随后使用对等路由表(图中未示出)来选择针对Diameter消息的目的地对等体和路由,并且输入DRL-MP 302可以基于路由选择过程将该消息转发给输出DRL-MP 306。然后,输出DRL-MP 306可以将该Diameter消息转发给输出DCL-MP 308,以便向由输入DRL-MP 302所选择的Diameter对等节点N+1220传送。图4是根据本文所述的主题的ー个实施例,描绘用于在DSR处提供初始路由的包括专用DCL/DRL MP和应用MP的示例性架构的图。图4表示图2的每个MP完整栈和图3的专用DCL/DRL/应用-MP之间的混合方法。參照图4,在示例性Diameter消息路由情形中,Diameter对等节点N-1218可以向DSR 200发送Diameter消息。输入MP 202的DCL206可以接收该Diameter消息。可以在输入MP 202上完全处理输入Diameter消息,包括由DRL 208对该Diameter消息的目的地Diameter对等节点进行选择。然后,DCL 206可以向DRL 208传送该Diameter消息。如果需要进行信令应用处理,则输入DRL 208可以向本地信令应用转发Diameter消息。例如,DRL 208可以向本地应用304转发Diameter消息,所述本地应用304可以处理该消息,并且将该消息返回给DRL 208。然后,输入DRL 208可以将Diameter消息转发给输出DRL 214,以便转发给与DCL212相关联的本地队列。然后,输出DCL 212可以向Diameter对等节点N+1220发送Diameter消息。图5是根据本文所述的主题的ー个实施例,描绘用于在DSR处提供初始路由的示例性高层消息路由流程的框图。參照图5,Diameter对等节点N-1218可以向DSR 200发送Diameter请求消息。在一个实施例中,DSR 200可以选择性地查阅ART 500,以便判断是否需要由Diameter信令应用对该Diameter消息进行处理。如果消息内容与ART规则相匹配,则将该消息转发给已标识的应用以进行处理。这样反复继续该搜索过程,直到找不到另外的规则匹配为止。例如,ART 500可以将该消息转发给应用210进行处理,并且在将该Diameter消息返回给ART 500之后,可以随后将该消息转发给应用216进行处理。在DSR 200中完成应用处理之后,ART 500可以将该消息转发给对等路由表(PRT)502。在一个实施例中,在完成ART 500搜索之后可以搜索PRT 502,使得如果消息内容(在应用处理更新之后)与PRT 502中的规则相匹配,则可以将该消息路由到Diameter对等节点,如与该规则相关联的路由清单表504中的路由清单所定义的。这样,在查阅路由清单表504之后,可以向Diameter对等体N+1220发送该消息。通过使用上述单个DSR配置,可以消除输入MP和输出MP两者上的冗余的DRL路由。例如,输入MP可以配置为接收来自第一 Diameter对等节点的Diameter消息,并且负责用于实施ART和PRT捜索、以及路由选择过程。输入MP从活动路由组中选择路由,并且把从进行发送的Diameter对等节点接收到的Diameter消息和已选择的路由都转发给用于控制Diameter对等连接的输出DSR MP。显然,当DSR上的输出MP接收到来自输入MP的包含路由的Diameter请求消息时,输出MP将绕开上述本地ART和PRT过程,并且试图将该消息传递给由输入MP所选择的Diameter对等节点。 这个方面是在图6中描绘的,该图是描绘根据本文所述主题的一个实施例,用于提供初始路由的包括功能划分的示例性可扩展的DSR的框图。參照图6,使用输入MP 202和输出MP 204来执行与路由清单过程700相关联的步骤。在一个实施例中,输入MP 202配置为实施对活动路由组进行选择的步骤(步骤520)以及从路由组中选择路由的步骤(步骤610)。具体地,ART 500、本地应用210、PRT 502、以及路由清单处理700中的对路由组进行选择的步骤520和从路由组中选择路由的步骤(步骤610),可以与输入MP 202相关联。同样,路由清单处理700的Diameter消息传递步骤(步骤620)可以与输出MP 204相关联。如果输出MP 204不能够对该消息进行路由(例如,Diameter对等节点是不可用的),则输出MP 204将向输入MP 202发送响应。响应中,输入MP 202可以随后从活动路由组中选择下ー个可行的路由。在一个实施例中,采用可扩展DSR的MP间Diameter消息路由可以被优化。为了使与Diameter消息的MP间路由相关联的开销最小化,应当避免MP间链路上的Diameter消息的开销。也就是说,将Diameter请求消息从输入MP向输出MP转发可以包括输入DRL针对去往输出MP的请求消息,创建新的逐跳(Hop-by-Hop)标识符。具体地,输入DRL可以将MP标识符插到逐跳标识符中,这能够使输出DRL将Diameter答复响应消息路由返回(back-route)到输入DRL。如果输出DRL碰巧遇到差错(例如,第二 Diameter对等节点的失效,传输队列为满,等等),则输出DRL可以向输入DRL发送(具有原因代码的)差错响应。在一个实施例中,所述差错响应可以包括Diameter答复消息或者内部消息。在一个实施例中,当输出DRL核实Diameter答复消息的逐跳标识符中所嵌入的MP标识符后,可以转发输出到输入(egress-to-ingress) MP Diameter答复消息。如果MP标识符有效并且MP可用,则输出DRL在内部将Diameter答复消息路由到输入DRL以进行Diameter路由返回处理。如果MP标识符是无效的或者MP不可用,则输出DRL可以丢弃从第二 Diameter对等节点接收的Diameter答复消息。显然,由输入DRL从输出DRL接收的任何Diameter答复消息可以好像已经从第二 Diameter对等节点直接接收到Diameter消息那样进行处理。图7是根据本文所述主题的一个实施例,描绘MP间路由的示例性Diameter信令流程图。Diameter对等节点218被描绘成向DSR中的输入MP 202发送Diameter请求消息,该Diameter请求消息包括等于100的逐跳标识符。然后,输入MP 202可以使用Diameter请求消息,该Diameter请求消息的參数与具有“路由到对等体”的动作的PRT规则相匹配。然后,输入MP 202可以从路由清单的活动路由组中选择第一路由(其是优先级标识符指示的),创建包含输入MP的MP标识符的新的逐跳ID (例如,ID=200),并且将Diameter消息转发给输出MP的DCL层,该DCL层控制了去往Diameter对等节点220的连接。当输出DSR MP204接收来自输入MP 202的包含路由的请求消息时,输出MP 204可以绕过DRL处理并且试图将去往Diameter对等节点220(即,输入MP 202选择的对等节点)的、未修改的Diameter请求消息排队。然后,输出MP 204向Diameter请求消息中所指示的Diameter对等节点(例如,“对等体=Xl”)发送Diameter请求消息。在接收Diameter请求消息之后,Diameter对等节点220通过向输出MP 204发送具有逐跳标识符=200的Diameter答复消息来进行响应。当输出MP 204接收到来自Diameter对等节点220的Diameter答复消息时,输出MP204将该消息路由到逐跳ID中标识的MP(S卩,输入MP 202)。在接收到Diameter消息时,输入MP 202将逐跳ID从“200”修改成“ 100”,并且将该消息转发给Diameter对等节点218,以完成跟踪返回(back tracking)过程。显然,由Diameter对等节点220向Diameter对等节点218发送的Diameter答复消息穿过输出消息处理器和输入消息处理器的同一“路径”, 其中利用所述输出消息处理器和输入消息处理器从Diameter对等节点218向Diameter对等节点220发送Diameter请求消息。在一个实施例中,输入消息处理器和输出消息处理器中的每ー个保持与Diameter会话或者连接相关联的状态信息。在另ー个实施例中,输入消息处理器和输出消息处理器可以使用并且修改Diameter消息中的逐跳标识符,以确保整个Diameter请求-答复通信事务是由相同的输入和输出消息处理器处理的。例如,在DSR中,输入MP (MPl)可以在连接ClO上接收具有逐跳ID=250的Diameter消息Ml。然后,输入MP可以选择在连接C20上的输出MP (MP2),并且产生新的逐跳ID=01000231。显然,MPl产生逐跳ID,该逐跳ID将输入MP编码到逐跳ID中。例如,逐跳ID是32比特8比特对输入MP的地址进行编码,并且24比特是从O开始增加的计数器。接收来自对等diameter节点的答复消息的每个输出MP,可以将该答复消息转发给初始的输入MP。这是因为对等体配置为使用初始的逐跳ID来返回答复信息。输出MP可以访问其中对初始的输入MP的地址进行编码的所述8比持。同样,输出MP可以将答复消息转发给输入MP。当输出MP转发答复消息时,该输出MP标识其自身(MP2)以及其接收所述答复消息所在的连接(C20)。此外,输入MP可以使用连接ID和24比特的序列号码作为关键字来查询初始输入请求消息。例如,关键字=C20+000231,其中结果是连接ClO以及具有逐跳ID=250的消息。在一个备选的实施例中,其中多个Diameter消息处理器可以与相同的Diameter对等连接相关联,或者对相同的Diameter对等连接进行服务,本主题能够使接收Diameter答复消息的输入MP选择与已接收相关联的Diameter请求消息的MP不同的输出MP。这样,在相关联的答复消息的DSR处接收之前,在MP (该MP用作Diameter请求消息的输入MP)出故障(或者变得不可用)的情况下,输入MP可以在内部将Diameter答复消息路由到与出故障的MP不同的输出MP。图8是根据本文所述主题的一个实施例,描绘由于Diameter对等节点的不可用性而被输出MP拒绝的第一路由尝试的示例性信令流程图。Diameter对等节点218被描绘成向DSR中的输入MP 202发送Diameter请求消息,该Diameter请求消息包括等于100的逐跳标识符(其标识了对等节点218)。输入MP202搜索ART和PRT (图中未示出),以便判断Diameter请求消息中的參数是否与PRT规则“路由到对等体”相匹配,其然后与路由清单名称配对。然后,输入MP 202可以从路由清单的活动路由组中选择第一路由(例如,通过输出MP 204的对等体=XI),所述第一路由在输入MP上的当前状态是“可用的”。然后,输入MP 202可以创建包含其MP标识符的新逐跳标识符,并且随后将请求消息连同已选择的路由(对等体=XI)转发给输出MP 204。在这个特定的情形中,在输出MP 204上Diameter对等节点220被指示为“不可用”,并且输出MP 204拒绝Diameter请求消息。这样,针对已选择的第一路由的路由失效。在响应中,输入MP 202可以把输出MP 204上的Diameter对等节点220的状态更新为“不可用”,并且选择去往另ー个对等节点(即,Diameter对等节点820)的路由。输入MP 202还可以创建包含其MP标识符的新逐跳标识符,并且将Diameter请求消息重新转发给输出MP 804,该输出MP 804控制新的路由。然后,输出MP 804将Diameter请求消息转发给Diameter对等节点820。Diameter对等节点820通过把指示成功的Diameter答复消息(B卩,DIAMETER成功)发送回输出MP 804来进行响应。当输出MP804接收来自Diameter对等节点820的Diameter答复消息时,输出MP 804把Diameter答 复消息路由到输入MP 202,输入MP 202是由逐跳标识符标识的。然后,输入MP 202转而把 Diameter答复消息转发给Diameter对等节点218。图9是根据本文所述的主题的ー个实施例,描绘其中没有路由支持输入Diameter请求消息中的应用标识符的情形的示例性信令流程图。Diameter对等节点218被描绘成向输入MP 202发送Diameter请求消息,该Diameter请求消息指示了针对由ID=87所标识的Diameter应用的需要。输入MP 202可以搜索ART和PRT (图中未示出),以便判断已接收的Diameter请求消息中的參数是否与PRT规则“路由到对等体”相匹配,其然后与路由清单名称配对。路由清单的活动路由组可以指示两个可用的路由(例如,到对等节点220的输出MP 204,以及到对等节点820的输出MP 804)。然而,在这种情形中,Diameter对等节点220和Diameter对等节点820都不支持应用ID=87。因此,输入MP 202向Diameter对等节点218发送Diameter答复消息,该Diameter答复消息指示不能够传递Diameter请求消息。在一个实施例中,可扩展的DSR可以用于将Diameter消息路由到Diameter对等节点。在已经在DSR上完成本地应用路由之后(或者,如果DSR没有在本地配置服务/应用,没有调用本地应用路由),DSR上的输入DRL可以使用Diameter消息中所包括的參数来搜索PRT。在一个实施例中,PRT可以包括与规则条目相匹配的多个消息内容,其中每ー个可以具有由网络运营商所指定的下列动作中的ー个。例如,所指定的动作可以是“路由到对等体”或者“发送答复响应”。如果动作是“路由到对等体”,则该规则可以与一“路由清単”相关联,其中输入DRL能够使用该“路由清単”来朝着最終消息目的地(S卩,Diameter对等节点)对Diameter消息进行路由。在一个实施例中,路由清单包括ー个或多个路由,其中姆ー个与特定的Diameter对等节点相关联的。图10中描绘了示例性的路由清单1000。图10描绘了包括多个路由清单(例如,路由清单-I、路由清单_2、路由清单-3)的示例性路由表1000。图11描绘了包括多个路由组的示例性路由清单的概念图。具体地,图11描绘了路由清单表1000 (如图10中所示)中的路由清单-I的概念图。DSR 1100可以通过三个加权路由与路由组1102中的三个Diameter对等节点进行通信。显然,DSR 110可以通过加权路由向路由组1104和1106发送Diameter消息,如图11中所示。如上所述,“路由”可以实际上表示具体的Diameter对等节点。因为不止一个路由可以被分配给“路由清単”,可以向每个路由分配优先级和权重以便在路由选择过程中提供协助。路由清单中的具有相同优先级的一组路由可以叫做“路由組”。在一个实施例中,路由清单中的路由组可以用于对由PRT规则所选择的消息进行路由。基于路由组可用性和容量规则,当前用于路由的路由组可以叫做“活动路由組”。根据某些规则或者目的,将Diameter消息从DSR路由到Diameter对等节点。在一个实施例中,DSR可以支持路由到Diameter对等节点,所述Diameter对等节点符合以下所需要的DNS负荷共享路由1)使用成本/优先级来定义到Diameter对等节点的多个路由组的能力,和/或2)使用路由权重,在相同优先级内的多个路由(路由组)上对消息进行负荷共享的能力。然而,如果Diameter对等节点不支持由该消息中的应用ID所指示的Diameter应用,或者如果Diameter对等节点已经处理过该消息(即,消息环检测),则DSR可以不选择路由组中的该路由。还有,如果Diameter对等节点的传输层队列为满时,则DSR 可以不选择该路由。在一个实施例中,基于对等节点的拥塞水平,DSR可以减小DSR路由到该Diameter对等节点的消息的百分比。在另ー个实施例中,DSR对于同一 Diameter消息路由进行路由,可能不会尝试选择ー个路由超过一次。在又一个实施例中,DSR应当不超出Diameter对等节点的额定容量。在一个实施例中,DSR可以使用可用的路由清单中的最高优先级的路由组来尝试将消息路由到Diameter对等节点。如果符合所有的下列准则,则路由组是“可用的”。首先,该组中的至少ー个路由是“可用的”,并且该组中的可用路由满足分配给路由清单的最小容量需求。请注意,可以围绕路由权重方面来定义“容量”。例如,如果分配给路由清单的最小容量是“5”,并且路由组-I包括路由-A (权重=4)和路由-B (权重=6),则只有当路由-B可用吋,路由组-1才是可用的。同样,如果对等路由(即,初始路由)过程选择了不具有任何可用路由组的路由清单,则DSR可以配置为发送用于指示“DIAMETER_UNABLE_TO_DELIVER”的Diameter答复消息。如上面提到的,PRT可以包括多个内容,比如规则名称、规则优先级、以及多个消息选择參数。如本文所使用的,规则名称是运营商向标识提供的名称。类似地,规则优先级指的是,在表格查询找到多个匹配的情况下,对具有最高优先级的表格条目的选择。如本文所使用和上面指出的,规则消息选择參数包括用户可以规定作为用于消息匹配的准则的Diameter消息參数。PRT中的示例性规则消息选择參数(其可以与Diameter消息中的參数相匹配)包括I)目的地-范围,其类似于Diameter范围路由表,并且具有八位字节串(OctetString)核心数据类型,2)应用ID,其类似于Diameter范围路由表,并且可以用32比特值表示,以及3)目的地-主机,其与Diameter对等表中的“主机标识”没有什么不同,并且具有八位字节串核心数据类型,4)初始-范围,其标识了产生消息的范围,并且具有八位字节串核心数据类型,5)初始-主机,其标识了产生消息的主机,6)用户-名称,其标识了正在调用的服务所针对的用户,并且具有八位字节串核心数据类型,以及7)命令-代码,其包括24比持,并且标识了请求消息类型。可以支持任何数值,以便稍后増加应用专用的命令-代码。
PRT的附加内容可以包括“动作”,其可以定义为当调用规则时所要执行的动作。示例性动作包括“路由到对等体”(其中,可以把所述Diameter消息路由到由规则的“路由清单”字段所定义的Diameter对等节点)以及“发送答复响应”,其是当Diameter对等节点是不可用时,可以使用规则的结果-代码字段来发送的Diameter答复响应。在一个实施例中,PRT也可以包括与给定的活动參数相关联的“路由清单名称”和“结果-代码”參数。路由清单名称指示了当“动作”设置为“路由到对等体”时所要使用的路由清単。类似地,結果-代码包括当“动作”设置为“发送答复响应”时所要使用的结果-代码AVP值。結果-代码的默认值可以是3002 “DIAMETER_UNABLE_TO_DELIVER”。例如,如果输入DRL捜索PRT并且没有能够找到匹配,则出现路由失败。然后,DRL可以向进行初始发送的Diameter对等节点发送DIAMETER_UNABLE_TO_DELIVER答复响应消息。图12A描绘了示例性PRT 1202和相关的路由清单表1204。显然,PRT1202包括针 对ー个或多个路由清单名称的列,其指示需要访问的路由清单表1204的特定部分,以便选择合适的路由。向路由清单表1204的条目分配优先级=1或者优先级=2。显然,对于每个路由组,指示优先级=1的条目构成活动路由组,同时指示优先级=2的条目构成备用的路由组。在一个实施例中,位于在DSR处接收到的Diameter消息中的初始消息,可以用于执行Diameter路由。在输入Diameter消息处理器处的Diameter消息(和/或执行本地应用处理)之后,DRL可以向该消息搜索某些消息參数。例如,Diameter消息中的这些參数可以包括初始-范围參数和/或初始-主机參数。初始-范围參数标识了产生Diameter消息的范围或者网络。类似地,初始-主机參数标识了产生Diameter消息的主机。同样,Diameter消息还可以包括作为初始消息參数的输入对等信息或者对等连接信息。使用初始-范围參数和初始-主机參数中的至少ー个,DRL可以随后访问PRT并且试图找到与初始消息參数相匹配的规则条目(连同其它消息參数,比如,目的地-范围參数、应用ID參数、用户-名称參数,等等)。图12B描绘了示例性PRT 1212和相关的路由清单表1214。类似于图12A中描绘的PRT 1202,PRT 1212进ー步包括初始信息,比如初始-范围和初始_主机,作为规则消息选择类别中的多个列中的规则消息选择參数。具体地,PRT 1212包括针对目的地范围类、应用标识符类、目的地主机类、初始范围类、以及初始主机类的列。因此,使用来自接收到的Diameter消息的參数,DRL用PRT 1212中的规则条目的来交叉引用了已定位的消息參数,以试图找到匹配的规则条目。如果找到匹配的规则条目(即,包括与被捜索的Diameter消息中找到的相同的目的地-范围、应用标识符、目的地-主机、初始-范围、以及初始-主机參数的PRT 1212中的规则条目),则DRL指的是与匹配条目相关联的活动数据字段,以确定如何处理Diameter消息。显然,图12B描绘了如何使得路由规则条目取决于与输入Diameter消息处理器处接收到的Diameter消息相关联的初始信息。这样,根据本发明的ー个方面,路由选择至少部分基于Diameter信令消息中所包含的消息初始(例如,初始_主机、初始_范围)信息。在其中已接收的Diameter消息包括目的地_范围信息但不包括目的地_主机信息的情况下,DSR可以使用消息初始信息来解析或者确定要把Diameter消息路由到的特定的目的地_主机。在Diameter消息需要进行本地应用处理的情况下,DSR可以使用Diameter消息中所包含的初始信息来解析/确定Diameter消息所要去往的特定的本地应用主机。PRT 1212和RLT 1214可以包含在驻留在每个Diameter消息处理器(比如,图4中所示的消息处理器202和204)上的存储器中。回到图4,消息处理器202接收来自Diameter对等体210的Diameter消息,从该消息中提取初始和/或其它信息,并且使用初始和/或其它信息以便在其存储器中包含的PRT中进行查询。消息处理器202,在定位了匹配时,就可以将该消息转发给与该匹配条目相关联的输出消息处理器204,以便转发给Diameter对等体220。在一个实施例中,PRT使用一个或多个默认的条目。在具有通配符PRT条目的能力并且向规则分配优先级的情况下,网络运营商可以规定对编址到特定的目的地-范围(不管应用ID)、特定的应用ID (不管目的地-范围)的Diameter请求消息,或者对所有的请求消息进行路由。这种灵活性能够使网络运营商配置ー个或多个特定的路由规则,并且随后 利用一个或多个默认条目来处理其它每件事。例如,图13描绘了包括四个路由规则的示例性PRT 1300。在本例中,本地范围是叫做“myrealm.com”的范围。PRT 1300中的规则-3是默认针对除了应用55和57以外的本地范围应用。类似地,PRT 1300指示了规则_4是默认针对所有其它范围。图14描绘了包括多个路由规则的另ー个示例性PRT。在该图中,本地范围是“local.com”。參照PRT 1400的第一列,规则1_3是针对已知的非本地范围的路由规则,规则4-5执行针对本地应用10的路由,规则6-7执行针对本地应用24的路由,规则8是针对本地范围(例如,针对除了 10或24以外的其它应用ID)的默认规则,并且规则9是默认针对所有其它非本地的范围。图15描绘了包括多个规则的另ー个示例性PRT。在该图中,本地范围是“local,com”。參照PRT 1500的第一列,规则1-4是针对本地范围Diameter客户端和/或服务器对等体创建的默认规则,其指示了支持CER/CEA握手中的单个应用ID。这可以用于目的地-主机路由。类似地,PRT 1500中的规则5-6是针对本地范围Diameter委托代理对等体,所述本地范围Diameter委托代理对等体指示了支持CER/CEA握手中的两个不同的应用ID。最后,规则7-8是针对本地范围Diameter中继代理对等体的路由规则,其指示了支持CER/CEA握手中的所有的应用ID (Oxffffffff )。在一个实施例中,PRT和相关联的路由清单可以用于将Diameter请求消息路由到Diameter对等节点。例如,PRT中的条目可以利用包括优先级指示符的优先级路由方案、以及包括权重以便于对Diameter消息进行路由的负荷共享路由方案。优先级路由包括定义到目的地的不止ー个路由,并且向每个路由分配相对优先级。在进行优先级路由的情况下,可以选择具有最高优先级的可用路由组(如优先级指示符所指示的)的路由,以进行路由。同样,进行负荷共享路由允许将Diameter消息分发到具有相同优先级的一组路由(即,路由组)。通过向路由组内的每个路由分配相对权重,来控制路由组内的Diameter消息的分发。可以根据路由组中的ー组可用路由(即,排除不可用的路由),使用如下计算式,来确定向路由组中的给定路由发送的消息的百分比。百分比=100* (路由的权重-X)/ (路由组中的可用路由的权重的总和)在一个实施例中,路由清单可以包括PRT中的多个路由组,其中每个路由组在其路由清单内具有唯一优先级。可以支持两种类型的路由清单冗余方案。第一个冗余方案可以包括适合对消息进行路由的路由清单内的所有路由组。在这样ー个实施例中,路由选择可以从具有分配了溢出(overflow)的最高优先级的路由组开始,到最低优先级组(当没有更高的优先级可以供选择时)。第二个冗余方案可以包含活动的/备用的路由组。例如,用于对消息进行路由的一个路由组可以指定为“活动路由组”,同时,在活动路由组失效时,所有的其它路由组用作活动路由组的备用。这些替代的组叫做“备用路由組”。在一个实施例中,如果路由组中的至少ー个是可用的,则最高优先级路由组一直是活动路由组。活动/备用的冗余方案通常是DRL支持的默认路由清单冗余选项。图16描绘了包括路由清单容量的PRT中的示例性路由清单容量表1600。可以围绕权重(类似于向路由清单内的路由分配的权重)方面来定义路由清单容量。在一个实施例中,如路由清单容量表1600中所示,路由组的容量是其可用路由的权重的总和。DRL可以保持路由清单容量表1600中的每个路由组的状态,所述状态可以用于确定路由清单中的哪个路由组应该是用于对该路由清单的所有消息进行路由的活动路由组。类似地,本发明可以处理路由组的可用性状态。在一个实施例中,路由组的可用性状态可以用其容量来表示。状态可以包括I)可用的,2)降低的,或者3)不可用的。如本文 围绕路由组的可用性状态所使用的,“可用的”指的是路由组的容量符合或者超出向路由清单分配的最小值,“降低的”指的是路由组的容量大于O但是小于向该路由清单分配的最小值,并且“不可用的”指的是路由组的容量为O。在一个实施例中,当符合下列标准中的ー个时,针对路由清单向路由组分配“活动路由组”1)其是具有“可用”状态的路由组中的最高优先级的路由组,或者2)当没有路由组具有“可用的”状态时,其是最高容量路由组。如果不止ー个路由组具有相同的容量,则将最高优先级路由组指定为活动路由组。在一个实施例中,当下列事件中的任一个发生吋,DRL评估并且可以改变路由组状态以及对路由清单指定的“活动路由组”1)对等(路由)状态改变(即,这潜在地影响了多个路由清単),2)运营商添加到路由清单中的路由(B卩,如果对等体的状态是可用的,这提高了路由组的容量),3)由网络运营商从路由清单中删除了路由(即,如果对等体的状态是可用的,这降低了路由组的当前容量),4)路由的优先级是由网络运营商修改的,或者5)该路由的权重被运营商修改(即,如果Diameter对等节点的状态是可用的,则这改变了相关联的路由组的当前容量)。在一个实施例中,可以针对每个路由清单保持可用性状态,以便在通过PRT规则选择路由清单时快速促进路由決定。路由清单可用性状态可以与其活动路由组的状态相同。这是在图17中描绘的,该图描绘了包括路由组1、2和3的示例性路由清单1700。本发明可以包括包含Diameter对等节点的清单的对等表,其中DSR具有到该组Diameter对等节点的直接连接,以用于通过TCP、SCTP、或者UDP传输对Diameter消息进行路由。显然,DSR MP需要知道的关于对等节点的所有信息是存储在对等记录中的。在作出将消息路由到对等节点的决定所需要的任何对等体专用信息,可以存储在该表中。对等体专用信息可以包括对等节点的可用性状态(即,是否至少ー个活动的传输连接是可用的),该对等节点的拥塞状态,以及(在能力交换期间获得的)Diameter对等节点支持的应用ID的清单。在能力交换期间所获得的关于Diameter对等节点的任何信息可以存储在对等节点的记录中,使得其能够被网络运营商查看。
在一个实施例中,本发明可以允许通过输入DRL进行路由选择。当针对与“路由到对等体”的PRT规则动作相匹配的Diameter消息来调用路由吋,DRL可以使用分配给该规则的路由清单来将该消息路由到Diameter对等节点。在一个实施例中,DRL使用路由清单的当前指定的活动路由组来对Diameter消息进行路由。显然,可以基于对等状态变化和路由清单管理事件,与消息路由异步地确定“活动路由组”指定。如果活动路由组具有不止ー个路由,则DRL根据路由组创建可用路由的清单,其中该清单将用于关于对该消息进行路由的所有后续决定。在一个实施例中,如果在转发消息之后需要对该消息重新路由,则将该清单存储在针对Diameter消息的“未决事务记录”中。同样,如果发生Diameter对等节点失效或者如果接收到否定的Diameter答复响应消息,则在转发Diameter消息之后可以进行Diameter消息重新路由。一旦针对Diameter消息的可用路由的清单已经创建,则基于分配给每个路由的相对权重,DRL可以从清单中选择路由。如上所示,权重可以用于使路由组中的路由上的业务成比例。向路由分配的权重不作为用于在路由组内进行路由选择的该路由的优先级,相 反地,被分配的权重用作计算可以从该清单中选择该路由的概率。例如,如果路由组包括分别具有权重40、30、20和10的四个路由,则首先选择路由-I对任何消息进行路由的概率是40% (B卩,40/ (40+30+20+10))。在一个实施例中,DRL使用采用路由权重的统计算法,从清单中选择路由。例如,该算法可能有40%的时间选择路由-I。一旦DRL从清单中选择路由,DRL就基于某个准则来判断是否有可能使用该路由。在一个实施例中,所述准则包括1)对等体支持该Diameter消息的应用ID, 2)Diameter对等节点以前没有处理过该消息(例如,对等节点的标识与消息的路由-记录AVP中的ー个不匹配),3)对等节点的传输层队列没有满,4)对等节点是拥塞的,但是Diameter消息符合用于将该消息转发给对等体的准则(如下面围绕对等体拥塞描述的),5)对等节点的状态是不可用的,以及6)对等节点不再与路由组或者路由清単相关联。如果Diameter对等节点与路由选择准则相匹配,则将调用标准的请求消息处理(如上所述),并且该消息将在Diameter对等节点的传输层队列上排队。如果Diameter对等节点与路由选择准则不匹配,则DRL可以从清单中移除该路由(B卩,对同一消息进行路由,应该从不考虑ー个路由超过一次),并且基于清单中的剩余路由,DRL可以重新调用统计路由选择算法。在以前的示例中,如果首先选择了路由-1但是不符合如上定义的用于使用该路由的附加准则,则新的清单将被限定到分别具有权重30、20和10的路由2、3和4。这样,在具有较小的路由清单的情况下,选择路由-2的概率将是50% (B卩,30/ (30+20+10)=50%)。显然,路由选择过程继续,直到找到可行的路由或者该清单被用完为止。具体地,如果活动路由组中没有对等节点符合路由选择准则,则DRL可以放弃进行路由,并且向最初发送Diameter 请求消息的Diameter 对等节点发送DIAMETER_UNABLE_TO_DELIVER答复响应消息。图18描绘了使用具有被分配权重的相同优先级路由的清单的示例性路由选择过程。在该图中,活动路由组有分别具有权重40、30、20和10的四个可用路由。具体地,统计路由选择算法是由DRL使用初始清单1800中的イ目息来执行的。DRL确定路由3是不可用的,因为应用ID不匹配。因此,DRL使用已更新的清单1802 (其不包括路由3)中的信息来执行统计路由选择算法。然后,DRL确定路由I因为拥塞而不可用。然后,DRL使用已更新的清单1804 (其不包括路由I)中的信息来执行统计路由选择算法,其导致选择路由4。然后,DRL使用路由4来转发Diameter消息,并且产生未决事务记录1806。如果由于对等节点失效等而必须对Diameter消息进行重新路由,贝U可以随后使用记录1806。在一个实施例中,本发明可以使用对等应用标识符来实施路由选择。如上所述,不应该把Diameter消息路由到不支持Diameter消息中所指示的应用标识符的Diameter对等节点。Diameter基础协议指示了姆当在Diameter对等节点之间建立了首次传输连接时,在允许该传输连接之前执行能力-交換。也就是,对等节点将在CER或CEA消息中发送其所支持的应用ID的清単。当DSR从对等节点接收到应用ID的清单时,将这些标识符存储在要在消息路由期间访问的对等表中。当DSR消息路由从与对等节点相关联的路由清单中选择路由时,询问对等节点的被支持的应用ID清单,以验证该消息中的应用ID与对等节点所支持的多个应用ID中的一个相匹配。如果没有找到应用ID匹配,则DSR绕过该路由并且继续路由选择过程。在一个实施例中,本发明可以考虑对等拥塞以进行路由选择。Diameter对等节点可以通过发送具有设置为DIAMETER_T00_BUSY的结果-代码AVP的答复响应来报告拥塞。 该拥塞节点是由答复响应中的初始-主机标识的(即,对等节点可能还没有发送该响应)。DRL应该只关心对等拥塞,而不关心上游节点拥塞。也就是,Diameter协议仅意识到对等状态,使得上游节点的状态没有被跟踪或者管理。在一个实施例中,DRL可以通过包含有初始主机AVP中的对等节点标识的DIAMETER_T00_BUSY答复响应并且通过去往对等体的传输层接ロ(例如,输出队列深度等),来检测对等拥塞。对等拥塞检测和控制方案可以在DSR中实施,其包括基于内部队列长度(例如,SCTP关联输出队列)进行监測。目前,简单的拥塞控制过程可以包括如果队列为满,则丢弃Diameter消息。这样,当Diameter对等节点的SCTP输出队列为满时,DSR可以在路由选择期间绕过该路由。在一个实施例中,来自对等节点的DIAMETER_T00_BUSY答复响应可以用于确定对等节点的拥塞水平。例如,在接收到初始DIAMETER_T00_BUSY消息吋,就可以把对等拥塞水平设置为“I”。DSR可以保持被DIAMETER_T00_BUSY答复响应拒绝的请求消息的百分比的滚动窗ロ,并且相应地调整对等节点的拥塞水平。值得注意的是,从对等节点接收的DIAMETER_T00_BUSY答复响应可能已经由上游节点产生。DRL核实繁忙响应是由对等节点发起的(即,初始-主机AVP设置为对等节点的FQDN),以便判断该对等节点是否拥塞。将会理解,在不脱离本文所述的主题的范围的情况下可以改变本文所述的主题的各个细节。此外,前面的描述仅仅是出于描述的目的,而不是出于限制的目的,因为本文所述的主题是由下面所述的权利要求限定的。
权利要求
1.一种用于基于初始信息使用Diameter信令路由器(DSR)对Diameter消息进行路由的方法,所述方法包括 在与DSR相关联的Diameter消息处理器处接收来自第一 Diameter节点的Diameter消息; 使用所述Diameter消息处理器来访问包括Diameter初始信息的Diameter对等路由信息,以便确定作为所述DSR的对等体并且要向其转发所述Diameter消息的第二Diameter节点;以及 向所确定的第二 Diameter节点转发所述Diameter消息。
2.如权利要求I所述的方法,其中,所述Diameter消息处理器包括输入Diameter消息处理器,并且其中,访问所述Diameter消息处理器包括使用所述输入Diameter消息处理器访问包括Diameter初始信息的所述Diameter对等路由信息,以便确定所述DSR内的多个输出Diameter消息处理器中的、并且与所述第二 Diameter节点相关联的输出Diameter消息处理器。
3.如权利要求2所述的方法,其中,访问Diameter对等路由信息包括至少部分地基于所述Diameter消息内所包含的Diameter初始消息参数来选择去往所述第二 Diameter节点的路由,其中通过所述路由发送所述Diameter消息。
4.如权利要求2所述的方法,其中,访问Diameter对等路由信息包括仅基于所述Diameter消息内所包含的Diameter初始消息参数来选择去往所述第二 Diameter节点的路由,其中通过所述路由发送所述Diameter消息。
5.如权利要求3所述的方法,其中,选择去往第二Diameter节点的路由包括访问包含所述Diameter初始信息的对等路由表(PRT),定位该PRT中的规则条目,并且选择与所定位的规则条目相关联的可用路由,其中所述规则条目包括与所述Diameter消息内所包含的Diameter初始消息参数相匹配的Diameter初始规则参数。
6.如权利要求5所述的方法,其中,所定位的规则条目指示了与包括所述可用路由的活动路由组相关联的路由清单。
7.如权利要求5所述的方法,其中,所述Diameter消息初始参数包括初始范围信息。
8.如权利要求5所述的方法,其中,所述Diameter消息初始参数包括初始主机信息。
9.如权利要求5所述的方法,其中,所述Diameter消息初始参数包括输入对等信息或者对等连接信息。
10.如权利要求2所述的方法,包括在所确定的输出Diameter消息处理器处向所述第二 Diameter节点发送所述Diameter消息。
11.如权利要求2所述的方法,其中,所述Diameter对等路由信息是包含在位于所述输入Diameter消息处理器上的存储器中的。
12.如权利要求2所述的方法,其中,所述Diameter对等路由信息是包含在所述输入Diameter消息处理器外部的存储器中的,并且由所述DSR中的所有消息处理器共享。
13.如权利要求I所述的方法,包括使用所接收的Diameter消息中所包含的初始主机信息和目的地范围信息来确定与所接收的Diameter消息相关联的目的地主机。
14.如权利要求I所述的方法,包括使用所接收的Diameter消息中所包含的初始主机信息来确定所述DSR中的本地应用主机,以便处理所接收的Diameter消息。
15.一种用于对Diameter信令消息进行路由的系统,所述系统包括Diameter信令路由器(DSR),其包括 用于存储包括Diameter初始信息的Diameter对等路由信息的存储器;以及 Diameter消息处理器,其配置为接收来自第一 Diameter节点的Diameter消息,访问所述Diameter对等路由信息以确定作为所述DSR的对等体并且要向其转发所述Diameter请求消息的第二 Diameter节点,并且向所确定的第二 Diameter节点转发所述Diameter请求消息。
16.如权利要求15所述的系统,其中,所述Diameter消息处理器包括输入Diameter消息处理器,并且配置为访问所述Diameter对等路由信息,以确定所述DSR内的多个输出Diameter消息处理器中的、并且与所述第二 Diameter节点相关联的输出Diameter消息处理器。
17.如权利要求16所述的系统,其中,所述输入Diameter消息处理器配置为至少部分地基于所述Diameter消息内所包含的Diameter初始消息参数来选择去往所述第二Diameter节点的路由,其中通过所述路由发送所述Diameter消息。
18.如权利要求16所述的系统,其中,所述输入Diameter消息处理器配置为仅基于所述Diameter消息内所包含的Diameter初始消息参数来选择去往所述第二 Diameter节点的路由,其中通过所述路由发送所述Diameter消息。
19.如权利要求17所述的系统,其中,所述存储器包括用于存储所述Diameter对等路由信息的对等路由表(PRT),其中,所述输入Diameter消息处理器配置为访问所述PRT,定位所述PRT中的规则条目,并且选择与所定位的规则条目相关联的可用路由,其中所述规则条目包括与所述Diameter消息内所包含的Diameter初始消息参数相匹配的Diameter初始规则参数。
20.如权利要求19所述的系统,其中,所定位的规则条目指示了与包括所述可用路由的活动路由组相关联的路由清单。
21.如权利要求19所述的系统,其中,所述Diameter消息初始参数包括初始范围信息。
22.如权利要求19所述的系统,其中,所述Diameter消息初始参数包括初始主机信息。
23.如权利要求19所述的系统,其中,所述Diameter消息初始参数包括输入对等信息或者对等连接信息。
24.如权利要求16所述的系统,包括在所已确定的输出Diameter消息处理器处向所述第二 Diameter节点发送所述Diameter消息。
25.如权利要求16所述的系统,其中,所述Diameter对等路由信息是包含在位于所述输入Diameter消息处理器上的存储器中的。
26.如权利要求16所述的系统,其中,所述Diameter对等路由信息是包含在所述输入Diameter消息处理器外部的存储器中的,并且由所述DSR中的所有消息处理器共享。
27.如权利要求15所述的系统,其中,所述Diameter消息处理器配置为使用所接收的Diameter消息中所包含的初始主机信息和目的地范围信息,来确定与所接收的Diameter消息相关联的目的地主机。
28.如权利要求15所述的系统,其中,所述Diameter消息处理器配置为使用所接收的Diameter消息中所包含的初始主机信息来确定所述DSR中的本地应用主机,以处理所接收的Diameter消息。
29.一种非临时性计算机可读介质,包括计算机可读介质中所含有的计算机可执行指令,并且当计算机的处理器执行所述计算机可执行指令时,执行包括以下各项的步骤 在与DSR相关联的Diameter消息处理器处接收来自第一 Diameter节点的Diameter消息; 使用所述Diameter消息处理器来访问包括Diameter初始信息的Diameter对等路由信息,以确定作为所述DSR的对等体并且要向其转发所述Diameter消息的第二 Diameter节点;以及 向所确定的第二 Diameter节点转发所述Diameter消息。
全文摘要
本申请公开了用于在Diameter节点处提供初始路由的方法、系统、以及计算机可读介质。一种示例性方法包括在与DSR相关联的Diameter消息处理器处接收来自第一Diameter节点的Diameter消息。所述方法进一步包括使用Diameter消息处理器来访问包括Diameter初始信息的Diameter对等路由信息,以确定作为所述DSR的对等体并且要向其转发所述Diameter消息的第二Diameter节点。所述方法还包括向所确定的第二Diameter节点转发所述Diameter消息。
文档编号H04L12/28GK102845026SQ201180018783
公开日2012年12月26日 申请日期2011年2月11日 优先权日2010年2月12日
发明者D·E·华莱士, M·E·卡诺德, J·A·克雷格, T·M·麦卡恩, K·K·卡玛卡, M·托马尔 申请人:泰克莱克股份有限公司