CN104350713B - 路由决策上下文对象 - Google Patents
路由决策上下文对象 Download PDFInfo
- Publication number
- CN104350713B CN104350713B CN201380028275.XA CN201380028275A CN104350713B CN 104350713 B CN104350713 B CN 104350713B CN 201380028275 A CN201380028275 A CN 201380028275A CN 104350713 B CN104350713 B CN 104350713B
- Authority
- CN
- China
- Prior art keywords
- message
- routing decision
- diameter
- dra
- context object
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 66
- 230000004044 response Effects 0.000 claims abstract description 23
- 238000003860 storage Methods 0.000 claims description 48
- 238000004140 cleaning Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 50
- 230000009471 action Effects 0.000 description 45
- 238000004891 communication Methods 0.000 description 10
- 230000006399 behavior Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000000429 assembly Methods 0.000 description 4
- 230000000712 assembly Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 241000760358 Enodes Species 0.000 description 1
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 206010062575 Muscle contracture Diseases 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 208000006111 contracture Diseases 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/304—Route determination for signalling traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4588—Network directories; Name-to-address mapping containing mobile subscriber information, e.g. home subscriber server [HSS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
- H04L61/503—Internet protocol [IP] addresses using an authentication, authorisation and accounting [AAA] protocol, e.g. remote authentication dial-in user service [RADIUS] or Diameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
各种示例性实施例涉及一种方法和相关的网络节点,所述方法包括一个或多个如下操作:在DRA上从源设备接收Diameter消息;响应接收所述Diameter消息建立路由决策上下文对象,其中所述路由决策上下文对象与选择为接收先前消息的目标设备相关联;评估包括上下文对象引用的规则,其中所述评估包括基于上下文对象引用访问路由决策上下文对象;并且基于该规则的评估发送消息。
Description
相关申请的交叉参考
本申请涉及以下共同未决的申请,该申请在此引入作为参考:申请号为13/482,597,律师事务所案卷号为ALC 3809,发明名称为“Organization of Diameter routingagent rule sets”。
技术领域
本文所公开的各种典型实施例一般涉及计算机网络。
背景技术
从互联网工程任务组(IETF)征求意见文档(RFC)3588的建议开始起,Diameter协议已经越来越多地被大量网络应用采用。例如,第三代合作伙伴项目(3GPP)已经针对各种策略和计费控制(PCC)、移动性管理、以及IP多媒体子***(IMS)的应用程序采用了Diameter为。由于基于IP的网络代替电路交换网络,Diameter甚至要取代SS7作为密钥通信信令协议。随着网络的发展,Diameter将成为无线和有线通信网络中广泛使用的协议
Diameter协议的一个显著方面是Diameter分组路由。被称为Diameter 路由代理(DRA)的实体促进网络中的数据分组的移动。在各种部署中, DRA可以执行如简单的路由、代理和重定向的基本的功能。
发明内容
各种实施例的简要总结如下。在下面的发明内容中可以做一些简化和省略,其意在突出和介绍各种示例性实施方式的一些方面,而不是限制本发明的范围。后面的章节中将呈现足以使本领域普通技术人员的技术人员能够制造和使用本发明概念优选的示例性实施例的详细说明。
各种示例性实施例涉及由Diameter路由代理(DRA)执行的用于处理Diameter消息的方法,所述方法包括:识别上下文工件,其中,所述上下文工件定义了由DRA使用的上下文对象类型;在DRA上从源设备接收 Diameter消息;建立由上下文工件定义的上下文对象类型的上下文对象;评估包括上下文对象的引用的规则,其中,所述评估包括基于上下文对象引用访问所述上下文对象;并且基于该规则的评估发送消息。
各种典型实施例涉及用于处理Diameter消息的Diameter路由代理 (DRA),所述DRA包括:上下文工件存储器,被配置为存储定义了上下文对象类型的上下文工件;规则存储器,被配置为存储包括上下文对象引用的规则;Diameter堆栈,被配置为从源设备接收Diameter消息;上下文创建器,被配置为建立由所述上下文工件定义的上下文对象类型的上下文对象;规则引擎,被配置为评估规则,其中,所述评估包括基于所述上下文对象引用访问所述上下文对象;以及消息处理器,被配置为基于规则的评估经由所述Diameter堆栈发送消息。
各种示例性实施例涉及一种非临时性计算机可读存储介质,其上编码有用于由Diameter路由代理(DRA)执行的用于处理Diameter消息的指令,所述介质包括:用于识别上下文工件的指令,其中,所述上下文工件定义了由DRA使用的上下文对象类型;用于在DRA上从源设备接收 Diameter消息的指令;用于建立由上下文工件定义的上下文对象类型的上下文对象的指令;用于评估包括上下文对象引用的规则的指令,其中,所述评估包括基于上下文对象引用访问所述上下文对象;并且用于基于该规则的评估发送消息的指令。
描述了各种实施例,其中上下文工件(context artifact)是定义上下文对象的类的运行时库(runtime library)。
描述了各种实施例,其中访问上下文对象包括检索由上下文工件定义的属性。
描述了各种实施例,其中访问上下文对象包括调用由上下文工件定义的动作。
各种实施例进一步包括,在识别上下文工件之前,通过DRA的用户接口接收上下文的工件。
各种实施例进一步包括在所述上下文工件中定位注释;并基于所述注释生成上下文对象类型的组件名称,其中组分名称指的是上下文对象类型的属性和动作的至少一个。
各种实施例进一步包括:经由用户接口接收对应于该规则的规则定义,其中,所述规则定义包括对组件名称的引用以及对与上下文对象引用对应的组件名称的引用。
各种示例性实施例涉及由Diameter路由代理(DRA)执行的用于处理Diameter消息的方法,所述方法包括:在DRA上从源设备接收Diameter 消息;响应接收到所述Diameter消息,建立路由决策上下文对象,其中所述路由决策上下文对象与选择要接收先前消息的目标设备相关联;评估包括上下文对象引用的规则,其中,所述评估包括基于上下文对象引用访问路由决策上下文对象;并且基于该规则的评估发送消息。
各种典型实施例涉及用于处理Diameter消息的Diameter路由代理 (DRA),所述DRA包括:规则存储器,被配置为存储包括上下文对象引用的规则;路由决策数据库,被配置为存储先前路由决策,其中,所述先前路由决策,包括为先前消息所选择的的目标设备的标识;Diameter堆栈,被配置为从源设备接收Diameter消息;上下文创建器,被配置为基于接收Diameter消息,建立路由决策上下文对象,其中所述路由决策上下文对象与先前路由决策相关联;规则引擎,被配置为评估该规则,其中,所述评估包括:基于所述上下文对象引用访问路由决策上下文对象;以及消息处理器,被配置为基于该规则的评估经由所述Diameter堆栈发送消息。
各种示例性实施例涉及一种非临时性计算机可读存储介质,其上编码有用于由Diameter路由代理(DRA)执行的用于处理Diameter消息的指令,所述介质包括:用于在DRA上从源设备接收Diameter消息的指令;用于响应接收到所述Diameter消息,建立路由决策上下文对象的指令,其中所述路由决策上下文对象与选择要接收先前消息的目标设备相关联;用于评估包括上下文对象引用的规则的指令,其中,所述评估包括基于上下文对象引用访问路由决策上下文对象;以及用于基于该规则的评估发送消息的指令。
描述了各种实施例,其中,基于该规则的评估发送消息包括向目标设备发送Diameter消息。
描述了各种实施例,其中所述Diameter消息与第一Diameter应用相关,先前消息与第二Diameter应用相关。
各种实施例进一步包括,在接收Diameter消息之前:在DRA接收先前消息;确定先前消息应该被路由到目标设备;发送先前消息至目标设备;并存储先前消息的标识的与所述目标设备作为路由决策。
描述了各种实施例,其中访问所述路由决策上下文对象包括更新与所述路由决策相关联的时间戳。
各种实施例进一步包括:基于与所述路由决策相关联的时间戳,确定所述路由决策应该被删除;以及,从DRA的存储器中删除所述路由决策。
描述了各种实施例,其中建立路由决策上下文对象以及访问路由决策上下文对象的至少一个包括:从Diameter消息提取至少一条标识信息;以及确定所述至少一条标识信息对应于先前消息。
各种示例性实施例涉及由Diameter路由代理(DRA)执行的用于处理Diameter消息的方法,所述方法包括:在DRA从源装置接收Diameter 消息,所述Diameter消息与订户相关联;响应接收到所述Diameter消息,建立订户记录上下文对象,其中所述订户记录上下文对象与所述订户的订户记录相关联;评估包括上下文对象引用的规则,其中,所述评估包括根据上下文对象引用访问订户记录上下文对象;并且基于该规则的评估发送消息。
各种典型实施例涉及用于处理Diameter消息的Diameter路由代理 (DRA),所述DRA包括:规则存储器,被被配置为存储包括上下文对象引用的规则;Diameter堆栈,被配置为从源设备接收Diameter消息,其中,所述Diameter消息与订户相关;上下文创建器,被配置为建立订户记录上下文对象,其中,所述订户记录上下文对象与所述订户的订户记录相关联;规则引擎,被配置为评估该规则,其中,所述评估包括:基于所述上下文对象引用访问订户记录上下文对象;以及消息处理器,被配置为基于该规则的评估经由所述Diameter堆栈发送消息。
各种示例性实施例涉及一种非临时性计算机可读存储介质,其上编码有用于由Diameter路由代理(DRA)执行的用于处理Diameter消息的指令,所述介质包括:用于在DRA从源装置接收Diameter消息的指令,所述Diameter消息与订户相关联;用于响应接收到所述Diameter消息,建立订户记录上下文对象的指令,其中所述订户记录上下文对象与所述订户的订户记录相关联;用于评估包括上下文对象引用的规则的指令,其中,包括根据上下文对象引用访问订户记录上下文对象进行评估的指令;以及用于基于该规则的评估发送消息的指令。
描述了各种实施例,其中建立订户记录上下文对象以及访问订户记录上下文对象中的至少一个包括:确定与所述Diameter消息相关联的至少一个订户标识符;以及检索与所述至少一个订户标识符相关联的订户记录。
描述了各种实施例,其中检索所述订户记录包括发送消息到订户简档库(SPR)。
描述了各种实施例,其中访问所述订户记录上下文对象包括读取订户记录的字段。
描述了各种实施例,其中访问所述订户记录上下文对象包括将值写入用户记录,该方法进一步包括存储修改的订户记录。
描述了各种实施例,其中访问所述订户记录上下文对象包括调用订户记录上下文对象的动作,以及所述订户记录上下文对象的动作调用除了上下文对象的功能以外的DRA的功能。
描述了各种实施例,其中DRA的功能从订户简档储存库中检索订户记录。
附图说明
为了更好地理解各种示例性实施例,参考下面的附图进行说明,其中:
图1示出Diameter路由代理的示例性网络环境;
图2示出示例性Diameter路由代理;
图3示出用于处理Diameter消息的示例性方法;
图4示出用于使用上下文工件的示例性方法;
图5示出用于生成上下文对象的元数据的示例性方法;
图6示出了用于路由决策的上下文对象的示例性类图;
图7示出用于检索先前路由决策的示范方法;
图8示出订户记录上下文对象的示例类图;
图9示出用于检索订户记录的示例性方法;和
图10示出示例性规则组。
具体实施方式
本说明书和附图仅仅示出本发明的原理。因此,可以理解的是,尽管这里没有明确地描述或示出,本领域的技术人员能够设计体现本发明的原理并包括在其范围之内的各种布局。此外,本文描述的所有实施例原则上是仅用于示范的目的,以帮助读者理解本发明的原理和发明人提供的深化本领域的概念,并且应当被解释为不限于这些具体引用的示例和条件。另外,如本文中所使用的术语“或”是指非排他性的或(即,和/或),除非另有说明(例如,“否则”或“或在替代方案中”)。另外,本文所描述的各种实施例并不一定是相互排斥的,因为一些实施例可以与一个或多个其他实施例结合,以形成新的实施方案。本文所用的,术语“上下文”和“上下文对象”将被理解为是同义的,除非另有说明。
现在可用的Diameter路由代理(DRA)只提供典型地在硬编码或脚本中定义的基本功能。因此,用户可能通常不能被轻松授权并不能灵活地为DRA定义更复杂的行为模式。鉴于上述情况,希望提供一种便于用户定义和扩展DRA消息处理行为的方法和***。
图1示出用于Diameter路由代理(DRA)142的示例性网络环境100。示例性网络环境100可以是用于提供各种服务的订户网络。在各种实施例中,订户网络100可以是公共陆地移动网(PLMN)。示例性的订户网络 100可以是用于提供对各种服务进行访问的电信网络或其他网络。示例性订户网络100可以包括用户设备110、基站120、演进分组核心(EPC)130、分组数据网络150和应用功能(AF)160。
用户设备110可以是与分组数据网络150进行通信,用于向末端用户提供提供数据服务的设备。这样的数据服务可以包括例如语音通信、文本消息传送、多媒体流、和互联网接入。更具体地,在各种示例性实施例中,用户设备110是个人计算机或膝上型计算机、无线电子消息设备、蜂窝电话、平板电脑、电视机顶盒、或能够经由EPC130与其他设备进行通信的任何其他设备。
基站120可以是实现用户设备110和EPC130之间通信的设备。例如,基站120可以是诸如由相关的3GPP标准所定义的演进节点B(e节点B) 的基站收发信台。因此,基站120可以与用户设备110经由诸如无线电波的第一介质通信,并经由诸如以太网电缆的第二介质与EPC130进行通信。基站120可以与EPC130直接通信或经由多个中间节点进行通信(未示出)。在各种实施例中,可以存在多个基站(未示出)以向用户设备110提供移动性。注意,在各种替代实施例中,用户设备110可以直接与EPC130进行通信。在这种实施例中,基站120可以不存在。
演进分组核心(EPC)130可以是向用户设备110提供到分组数据网络140的网关接入的一个设备或多个设备的网络。EPC 130还可以向订户收取使用提供的数据服务的费用,并确保满足特定的质量体验(QoE)标准。因此,EPC130可以至少部分地根据相关3GPP标准来实现。EPC130 可以包括服务网关(SGW)132、分组数据网络网关(PGW)134、以及会话控制设备140。
服务网关(SGW)132可以是提供到EPC130网关接入的设备。SGW 132可以是在EPC130内接收由用户设备110发送的数据包的第一设备之一。各种实施例还可以包括在SGW132之前接收分组的移动性管理实体 (MME)(未示出)。SGW132可以向PGW134转发这些分组。SGW132 可以执行许多功能,例如管理多个基站(未示出)之间的用户设备110的移动性以及为每个被服务的流执行特定服务质量(QoS)特性。在诸如实施代理移动IP标准的各种实现中,SGW132可以包括承载绑定和事件报告功能(BBERF)。在各种示例性实施例中,EPC130可以包括多个SGW (未示出),并且每个SGW可以与多个基站通信(未示出)。
分组数据网络网关(PGW)134可以是向分组数据网络140提供网关接入的设备。PGW134可以是EPC 130内接收分组的最后设备,所述分组由用户设备110经SGW 132向分组数据网络140发送。PGW 134可以包括对每个服务数据流(SDF)执行策略和计费控制(PCC)规则的策略和计费执行功能(PCEF)。因此,PGW 134可以是策略和计费执行节点 (PCEN)。PGW134可以包括许多附加的功能,例如分组过滤、深度分组检测以及用户计费支持。PGW134也可以为未知应用服务负责请求资源分配。
会议控制设备140可以是在EPC 130内提供各种管理或其他功能的设备。例如,会话控制设备140可提供策略和计费规则功能(PCRF)。在各种实施例中,会议控制设备140可以包括阿尔卡特朗讯5780动态服务控制器(DSC)。会议控制设备140可以包括DRA142、多个策略和计费规则刀片(PCRB)144、146,以及订户简档库。
如将在下文中更详细描述的,DRA 142可以是智能的Diameter路由代理。由此,DRA142可以接收、处理和发送各种Diameter消息。DRA 142 可以包括若干用户定义的规则,这些规则就DRA 142可能会遇到的各种 Diameter消息来支配DRA 142的行为。根据这样的规则,DRA142可以操作为中继代理、委托代理、或重定向代理。例如,DRA 142可以中继接收到的消息至合适的接收设备。这样的路由可以相对于传入和传出消息以及对会话控制设备来说的内部消息来执行。
策略和计费规则刀片(PCRB)144、146的每一个可以是设备或设备组,其接收对应用服务的请求,生成PCC规则,并向PGW134或其他PCEN (未示出)提供PCC规则。PCRB 144、146可以经由Rx接口与AF160 通信。如下面进一步关于AF 160要详细描述的,PCRB 144、146可以从 AF 160接收认证和授权请求(AAR)形式的应用请求。在接收到AAR时, PCRB 144、146可以生成至少一个新PCC规则用于履行应用要求。
PCRB 144、146也可以分别经由Gxx和Gx接口与SGW 132和PGW 134通信。PCRB 144、146可以从SGW 132或PGW 134接收信用控制请求(CCR)形式的应用请求。至于与AAR,在接收到CCR时,PCRB 144、 146可以生成至少一个新PCC规则用于履行应用请求。在各种实施例中,AAR和CCR可以代表被单独处理的两个独立应用请求,而在其他实施例中,AAR和CCR可以携带关于单个应用请求的信息,并且PCRB 144、 146可以基于AAR和CCR的组合创建至少一个PCC规则。在各种实施例中,PCRB 144、146可以能够处理单个消息和配对消息的应用请求。
当创建新PCC规则时或者当PGW134发出请求时,PCRB 144、146 可以通过Gx接口向PGW134提供PCC规则。在各种实施例中,例如那些在代理移动IP(PMIP)标准的实施例中,PCRB 144、146还可以生成 QoS规则。当创建新的QoS规则或者当SGW 132发出请求时,PCRB144、 146可以经由Gxx接口向SGW132提供QoS规则。
订户简档库(SPR)148可以是向订户网络100存储与订户相关的信息的设备。这样,SPR 148可以包括机器可读存储介质,如只读存储器 (ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设备、和/或类似的存储介质。SPR 148可以是PCRB144、146之一的组成部分,或者可以构成EPC130或者会话控制设备140内的独立节点。SPR 138存储的数据可以包括订户信息140,例如每个订户的标识符、带宽限制、收费参数、和订户的优先级。
分组数据网络150可以是用于提供用户设备110与诸如AF 160的连接到分组数据网络150的其他设备之间的数据通信的任何网络。分组数据网络150还可以提供例如电话和/或互联网服务至与分组数据网络150进行通信的各个用户设备。
应用功能(AF)160可以是向用户设备110提供已知应用服务的设备。因此,AF 160可以是服务器或例如向用户设备110提供视频流或语音通信服务的其他设备。AF 160还可以经由Rx接口与EPC 130的PCRB144、 146通信。当AF 160开始向用户设备110提供已知应用服务时,AF 160 可以根据Diameter协议生成诸如验证和授权请求(AAR)的应用请求消息,以通知PCRB 144、146资源应分配至该应用服务。应用请求消息可以包括这样的信息,例如使用应用服务的订户的标识、订户的IP地址、相关联的IP-CAN会话的APN,或者必须被建立以提供所请求的服务的特定服务数据流的标识。
可以理解,各种Diameter应用可以在订户网络100内建立并被DRA 142支持。例如,Rx应用可以在AF 160和各PCRB 144、146的每一个之间建立。作为另一个例子,Sp应用可以SPR 148和PCRB 144、146每一个之间建立。作为又一个例子,S9应用可以在PCRB 144、146的一个或更多以及执行另一个PCRF(未示出)的远程设备之间建立。可以理解的是,许多其他Diameter应用可以在订户网络100内建立。[0060]正如将要理解的,各种Diameter应用可以被内订户网络100建立与例如,一个接收应用程序可自动对160和各PCRB 144、146之间建立所支持的DRA 142。作为另一个例子,Sp应用可以在SPR 148和各PCRB 144、146之间被建立。作为另一个例子,Sp应用可以在一个或更多PCRB144、146和执行另一个PCRF远程设备之间建立(未示出)。如将理解的,许多其他的 Diameter应用可以内订户网络100建立。
在支持各种可能的Diameter应用中,DRA 142可以接收Diameter消息、处理该消息,并基于处理进行操作。例如,DRA 142可以从PGW 134 接收Gx CCR、识别适当的PCRB144、146来处理Gx CCR、并转发Gx CCR 到识别的PCRB 144、146。DRA 142还可以通过修改由PCRB144、146 发送的后续Gx CCA来充当代理以携带指向DRA 142而不是PCRB144、 146的源主机标识。另外或可选地,DRA 142可作为重定向代理或者通过形成适当应答消息并发送该应答消息到适当的请求设备的方式来直接响应请求消息。
图2示出示例性Diameter路由代理(DRA)200。DRA 200可以是独立设备或另一***的组成部分。例如,DRA 200可以对应于示例性环境100 的DRA 142。在这样的实施例中,DRA142可以支持由3GPP所定义的各种Diameter的应用,例如Gx、GXX、Rx、或Sp。应当理解的是,DRA 200 可以部署在各种支持附加或替代应用的替代实施例中。因此,显而易见的是,本文所描述的方法和***可以一般性地适用于支持任何Diameter应用。
DRA 200可以包括若干组件,例如Diameter堆栈205、消息处理器 210、规则引擎215、规则存储器220、用户接口225、上下文创建器230、上下文工件存储器240、消息词典245、路由决策数据库250、清理模块255、或订户记录检索器260。
Diameter堆栈205可以包括硬件和机器可读存储介质上被配置为根据 Diameter协议与其他设备交换信息的或可执行指令。Diameter堆栈205 可以包括接口,所述接口包括硬件和编码在机器可读存储介质上被配置为与其他设备进行通信的可执行指令。例如,Diameter堆栈205可以包括以太网或TCP/IP接口。在各种实施例中,Diameter堆栈205可以包括多个物理端口。
Diameter堆栈205也可以被配置为读取并根据Diameter协议构造消息。例如,Diameter堆栈可以被配置为读取和构造CCR、CCA、AAR、 AAA、RAR和RAA消息。Diameter堆栈205可以提供的应用程序编程接口(API),使得DRA 200的其他组件可以调用Diameter堆栈功能。例如,规则引擎215能够利用API从接收的CCR读取属性值对(AVP)或者修改新CCA的AVP。各种附加的功能从下列描述中将变得显而易见。
消息处理器210可以包括硬件或机器可读存储介质上的可执行指令,所述可执行指令被配置为解释接收的消息,并适当地调用规则引擎215。在各种实施例中,消息处理器210可以提取Diameter堆栈205接收的消息的消息类型以及使用规则组调用适合于所提取的消息类型的规则引擎。例如,该消息类型可以通过接收的消息的应用和指令来定义。在规则引擎215 评估完一个或多个规则后,消息处理器210可以基于由规则引擎215调用一个或多个上下文对象动作经由Diameter堆栈发送一个或多个消息。
规则引擎215可以包括硬件或机器可读存储介质上的可执行指令,所述可执行指令被配置为通过评估一个或存储在规则存储器220的规则,处理接收到的消息。因此,规则引擎215可以是处理引擎的类型。规则引擎 215可以检索一个或多个规则、评估规则的标准来确定该规则是否适用、以及指定任何适用规则的一个或多个结果。例如,规则引擎215可以确定当收到的Gx CCR包括标识DRA 200的目标主机AVP时,规则适用。规则可以指定消息在被转发之前,目标主机AVP应改为标识PCRB。
规则存储器220可以是能够存储由规则引擎215评估的一个或多个规则的任何计算机可读介质。因此,规则存储器220可以包括机器可读存储介质,如只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设备、和/或类似的存储介质。在各种实施例中,规则存储器220可以将一个或多个规则组存储为二元判定树数据结构。各种用于存储规则组的其他数据结构,将是显而易见的。
应当理解的是,尽管各种组件被描述为被配置为执行诸如评估规则或基于规则访问上下文对象各种功能,这样的配置可以不要求任何规则存在于规则存储器中。例如,规则引擎215可以被配置为评估包括上下文对象引用的规则,即使没有这样的规则存储在规则存储器220中。此后,如果用户向规则存储器增加了这样的规则,规则引擎215可以如本文所述地处理该规则。换言之,如本文所使用的,当相对于与规则有关的功能的进行使用时短语“配置为”将被理解为是指该组件能够执行的适当功能相应,而不管请求这样功能的规则是否实际存在。
用户接口225可以包括硬件或计算机可读存储介质上被配置为能够与用户通信的可执行指令。这样,用户接口225可以包括网络接口(如包括在 Diameter堆栈205中的网络接口)、显示器、键盘、鼠标、或触敏显示器。用户接口225还可以提供用于促进用户交互的图形用户接口(GUI)。用户接口225可以使用户能够定制的DRA 200的行为。例如,用户接口225使得用户能够定义在规则存储器220中的存储规则并通过规则引擎215进行评估。对于本领域技术人员来说,让用户通过用户接口225各种其他方法定制 DRA200的行为的将是显而易见的。
根据各种实施例,规则存储器220可以包括引用一个或多个“上下文”或“上下文对象”的规则。在这样的实施例中,上下文创建器230可以包括硬件和机器可读存储介质上被配置为实例化上下文中的对象并向发出请求的组件提供上下文对象的元数据的可执行指令。上下文对象可以在运行时被上下文创建器230实例化,并且可以包括用于支撑规则引擎215和使用户能够通过用户接口225定义复杂规则的属性或动作。例如,上下文创建器230可以提供表示各种Diameter消息的上下文对象、先前的路由决策、或用户简档。
当DRA 200接收Diameter消息进行处理时,消息处理器210可以向上下文创建器230发送指示,以表明适当的上下文对象要被实例化。接着,上下文创建器230可以实例化该上下文对象。在一些实施例中,上下文创建器230可以实例化所有已知的上下文对象或者可以只实例化那些要由规则存储器220应用的规则组实际使用的上下文对象。在其他实施例中,上下文创建器230可以不实例化上下文对象,直到它被规则引擎215实际上要求。
上下文创建器230可以通过向用户接口225提供上下文元数据额外地促进规则创建。在各种实施例中,上下文创建器230可以向用户接口225 指示哪些上下文对象对于被修改的规则组可用以及每个上下文对象可能拥有什么属性或动作。利用这些信息,用户接口225可以呈现出指向和点击界面(point-and-click interface),用于创建复杂规则。例如,用户接口225 可以使用户能够从包含在正在建造或修改的规则的列表中选择上下文对象的所需属性或者动作。
上下文创建器230可以依赖于在建立上下文中的对象在上下文工件存储器240中存储一个或多个上下文工件。因此,上下文工件存储器240可以是能够存储一个或多个上下文工件的任何计算机可读介质。因此,上下文工件存储240可包括机器可读存储介质,如只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设备、和/或类似存储介质。上下文工件存储240可以用各种形式存储工件,例如,运行库(run-timelibraries)。在各种实施例中,这样的运行库可以被存储为 Java归档(.jar)文件。
每个上下文工件可以限定可用于上下文对象的属性或动作。在各种实施例中,上下文工件可以定义属性或动作被访问时要执行的一个或多个功能。这样的功能可以利用DRA 200的其他功能,如访问Diameter堆栈的 API,或可以将值返回调用该属性或动作的部件。上下文工件还可以包括标签或上下文创建器230的其他元数据,以提供至用户接口225,用于描述上下文对象的行为和属性。在示例性DRA 200中,上下文工件存储器 240可以存储限定消息上下文的上下文工件、路由决策上下文、或订户记录上下文。这些上下文工件可以在运行时由上下文创建器230使用来实例化不同类型的上下文对象。因此,上下文创建器230可以被视为包括消息上下文模块232、路由决策上下文模块236、和订户记录上下文模块238。在各种实施例中,用户能够例如通过指定现有文件(如.jar文件)或通过使用用户接口225的文本编辑器定义新的上下文工件的方式,经由用户接口225来定义新的上下文工件以存储在上下文工件存储器中。
消息上下文模块232可以表示上下文创建器230的生成上下文对象代表并提供访问Diameter消息的能力。例如,消息上下文模块232可以生成表示所接收的消息的上下文对象。在各种实施例中,适当地,消息上下文模块232还可以被配置为生成表示请求消息或与接收到的Diameter消息相关的应答消息的上下文对象。这样,消息上下文模块232可以被视为包括接收的消息子模块233、相关请求子模块234、和相关的应答子模块235。
Diameter消息的内容可以取决于应用和命令类型而有所不同。例如, RX RAA消息可以包括与GX CCR消息不同的数据。这种差异可以通过管理相关Diameter应用的各种标准来定义。此外,一些厂商可以包括各种消息的所有权或其他非标准定义。消息上下文模块232可以依赖于存储在消息词典245中的消息定义,生成不同类型Diameter消息的消息上下文。例如,当接收Diameter消息时,消息处理器210可以递送应用程序和指令类型至上下文创建器230。消息上下文模块232然后可以在消息词典245中定位(locate)匹配定义。这一定义可以指示可能存在于指定类型的消息中的AVP。然后,消息上下文模块232可以实例化具有与信息定义中识别的 AVP匹配的属性和行动的消息上下文对象。
消息词典245可以是能够存储一个或多个上下文工件的任何计算机可读介质。因此,消息词典245可以包括机器可读存储介质,例如只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设备、和/或类似的存储媒体。消息词典245可以包括例如XML文件的适当形式的各种消息定义。消息词典245可以包括多个包含在供应商提供的DRA 200中的预定的定义。在各种实施例中,用户能够经由用户接口 225提供新的、用户定义的消息定义。例如,如果用户希望支持还未由预定的定义限定的应用程序,用户可以生成或以其他方式获得定义文件以存储在消息词典245中。在各种实施方式的定义文件中,用户定义的定义可以与预定的定义存储在消息词典245的不同部分,例如不同的目录中。
在各种实施例中,用户还可以能够经由用户接口225扩展预定的定义。用户可以能够提供扩展定义,所述扩展定义新AVP或指定发生在特定消息类型中的附加AVP。例如,用户可能希望在Rx AAR内支持专有AVP。为了提供这样的支持,用户可以提供定义专有AVP和指示该专有AVP可以存在于Rx AAR中的定义文件,如XML文件。这种扩展定义也可以存储在消息词典245中与预定的定义不同的区域。消息上下文模块232可以被配置为在实例化新的消息上下文对象或提供上下文元数据至用户接口 225时,应用任何适用的扩展定义。
如上所述,在接收Diameter消息时,消息处理器210可以提取应用和指令类型并将此信息传递到上下文创建器230,上下文创建器230随后可以定位任何适用的定义,以实例化新接收的消息上下文对象。接收的消息子模块233还可以被配置为将新的上下文对象与接收的Diameter消息本身相关联。例如,接收的消息子模块233可以从Diameter堆栈205复制接收的Diameter消息成私有或受保护变量。可替换地,接收的消息子模块233 可以存储对实现经由Diameter消息堆栈205的API访问Diameter消息时有用的Diameter标识。
在各种实施例中,DRA 200可以支持使用逆消息上下文。在这样的实施例中,在从接收的Diameter消息提取命令类型时,消息处理器210也可以识别逆指令类型。在一些这样的实施例中,消息处理器210可以实现识别每个消息命令的逆的查找表。例如,在确定接收的Diameter消息是Gx CCR时,消息处理器可以确定逆消息会是Gx CCA。消息处理器210也可以将此信息传递到上下文创建器230。
在接收到逆消息类型时,消息上下文模块232可以用类似于上面描述的方式关于接收到的消息上下文对象来实例化逆消息上下文对象。相关的请求子模块234或相关的应答子模块235,适当时,也可以将新的上下文对象与消息数据相关联。如果逆消息是请求消息,相关的请求模块234可以识别存储在Diameter堆栈205中的先前处理的请求并且将该消息以类似于上面描述的方式与新的上下文对象关联。在各种实施例中,当接收应答消息时,Diameter堆栈205可以定位先前处理和转发的对应于应答消息的请求消息。Diameter堆栈205可以通过上下文创建器230或DRA 200的其他组件使用的API来呈现该相关的请求消息。通过将先前的请求消息与相关请求上下文对象相关联,规则引擎215可以被提供能够访问由请求消息携带的AVP的属性,其中所述请求消息促进了正被处理的应答消息的发送。
当所述逆消息是应答消息时,一方面,相关的应答模块235可以通过例如经由Diameter堆栈205构造应答消息的API发起请求来构造新的应答消息。新应答消息可以是完全空白的,或者可以包括从接收的Diameter 请求消息复制过来的至少一些值。相关的应答模块235可以用类似于上面描述的方式对接收的消息的模块233将新的上下文对象中于新的应答消息相关联。然后,相关的应答上下文对象可以向规则引擎215提供到能够修改新的应答消息的各种动作的访问。例如,规则引擎可以利用相关应答上下文对象的动作来设定应答消息的结果码AVP,由此向消息处理器210表明应答应发送回发送接收的请求的装置。然后,消息处理器210还可以避免转发所接收的请求消息到任何其他装置。
如上文所述,上下文创建器230可以能够确定不表示Diameter消息的其他上下文对象。这样的上下文对象可以被称为“计算上下文” (computational context),并且也可以通过上下文工件存储240中的上下文工件来定义。例如,路由决策上下文模块236可以被配置为实例化路由决策上下文对象。这样的路由决策上下文可以为每个接收的Diameter消息识别可能适用于接收到的消息的先前作出的路由决策。这种先前作出的路由决策可以被会话标识符一起存储在路由决策数据库250,用于将接收的消息与先前处理的消息相互关联。路由决策数据库250可以是能够存储这样的路由决策的任何计算机可读介质。因此,路由决策数据库250可以包括机器可读存储介质,例如只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设备、和/或类似存储介质。
计算上下文可通过其他DPA 200功能支持。例如,DPA200可以包括周期性地从路由决策数据库250移除陈旧条目的清理模块255。在一些实施方案中,所述路由决策的上下文对象可以不直接与清理模块255交互。相反,清理模块255可以独立地操作,同时通过修改路由决策数据库250 中的内容间接地影响路由决策上下文对象的行为。
作为计算上下文的另一示例,订户记录上下文模块238可以生成订户记录上下文对象。订户记录上下文对象可以利用其他的DRA 200功能,例如订户记录检索器260,对接收的Diameter消息检索订户记录。订户记录检索器260可以包括硬件或者机器可读存储介质上被配置为经由Diameter 堆栈205与订户简档库(SPR)进行通信以对Diameter消息检索订户记录的可执行指令。这样的通信可以例如根据Sp应用进行。执行订户记录检索器260的各种方法将是显而易见的。通过该订户记录的检索,订户记录上下文对象可以向规则引擎215可以提供对订户记录的访问。
应当指出的是,虽然规则存储器220、上下文工件存储240、消息词典 245、和路由决策数据库250被示为单独设备,其中的一个或多个组件可以驻留在多个存储设备上。此外,这些组件中的一个或多个可以共享存储装置。例如,规则存储器、上下文工件存储器240、消息词典245和路由决策数据库250可以全部指代相同硬盘或快闪存储器装置的多个部分。
图3示出用于处理Diameter消息的示例性方法300。方法300可通过诸如Diameter堆栈205、消息处理器210、规则引擎215、或上下文创建器230的DRA 200的组件来执行。
方法300可开始于步骤305并继续进行到步骤310,在步骤310中, DRA200可以接收要被处理的Diameter消息。接着,在步骤315中,DRA200 可以从接收到的Diameter消息提取消息类型。在各种实施例中,该消息类型可以通过应用和消息的指令的类型来定义。然后,在步骤320中,DRA 可以使用所提取的消息类型建立消息上下文对象以包裹(wrap)接收的Diameter消息。以类似的方式,DRA 200可以在步骤325中为Diameter 消息的逆建立消息上下文对象。例如,DRA 200可以使用查找表来识别所提取的消息类型的逆消息类型以及基于逆消息类型请求新的消息上下文。
然后,DRA 200在步骤330中着手建立其他任何计算上下文对象, DRA 200对该计算上下文对象存储上下文工件或者规则引擎可以请求该计算上下文对象。例如,DRA 200可以建立路由决策上下文对象和订户记录上下文对象。在至少适当的上下文对象已经被实例化之后,方法300可以进行到步骤335,在步骤335,DRA 200可以选择一个或多个适当的规则组以在处理接收到的Diameter消息时评估。在各种实施例中,DRA 200 可以为每个消息类型存储一个规则组。在一些实施方案中,DRA 200可以另外或替代地存储普遍适用于所有Diameter消息、特定应用的所有 Diameter消息、或者Diameter消息的另一个子组的规则组。
识别适当的规则组后,DRA 200可以针对在步骤340中实例化的上下文评估所选择的规则组或表。各个规则可以包括对上下文对象的各种组分引用,在本文中称为“上下文对象引用”。这样的组分可以构成上下文对象的属性或动作。为了评估包括这类引用的规则,DRA可以访问引用的组分。例如,可以在比较中使用上下文对象的属性,以确定规则是否适用,或者上下文对象的动作是否可以在应用规则的结果时使用。对上下文对象的引用的各种附加用途将是显而易见的。在应用适当的规则组后,DRA 200 可以在步骤345中例如发送一个或多个消息发送到其他设备。例如,DRA 可以转发可以被修改的Diameter消息到另一个设备,或者可以向接收的消息的设备回送应答。方法300可以进行到步骤350结束。
图4示出用于使用上下文工件的示例性方法400。例如,在***启动时、经用户接口请求、或者在接收Diameter消息时,方法400可以通过 DRA 200的部件,例如,用户接口225或上下文创建器230的来执行。应当理解的是,上下文工件可以被用来定义计算上下文以及消息上下文。
方法400可以开始在步骤405,进入步骤410,其中DRA可以扫描一个或多个上下文工件的目录来处理。在各种实施例中,DRA可以处理位于存储设备或在特定目录中的所有上下文工件,或者可以只处理要处理的工件列表中指定的上下文工件。定位上下文工件之后,方法400可以前进到步骤415,其中DRA可以向***添加上下文对象类型以由规则引擎、用户接口或上下文创建器使用。在各种实施例中,例如上下文工件限定一个或多个Java类的实施例,步骤415可以包括解释上下文工件,以实现具有由类定义的上下文对象类型上下文对象的实例化。用于利用上下文工件以便能够使用新的上下文对象类型放入各种其他方法将是显而易见的。
接下来,在步骤420中,DRA可以提取上下文对象的上下文对象类型的任何元数据。例如,如将要参照图5更详细地描述的,上下文工件可以包括为上下文对象类型、属性、或动作指定用户友好名称的注释或标记。 DRA可以存储该元数据以供用户接口或规则引擎使用。接着,在步骤425 中,DRA可以确定附加上下文工件是否留待处理。如果附加上下文工件遗留,方法400可循环返回到步骤410,否则,方法400可进行到结束步骤 430。
如上文所述,上下文工件可以包括指定各种元数据的注释或标记用于通过由DRA使用。例如,对于的上下文对象“Floober”的上下文工件可以部分地如下读出:
在上面的例子中,上下文的工件可包括三个注释。第一注释可以指定为上下文对象类型(“Floober”)和另外两个注释可以指定名称为上下文对象组件的名称(“Floober-Attribute”与“Floober-Action”)。使用该元数据,用户接口可以允许用户构建包括对功能getFlooberValue()和 doFloober()的引用规则。例如,这样的引用可以分别是“Floober.Floober- Attribute”和“Floober.Floober-Action”。
图5示出用于生成上下文对象的元数据的示例性方法500。方法500 可以通过诸如用户接口225或上下文创建器230的DRA 200组件来执行。 500可以在不同的时间执行,例如,***在启动时、在由用户接口请求时或在规则引擎请求时。在一些实施例中,方法500可以对应于步骤400的方法420也可以沿着方法300的步骤330执行。
方法500可以开始于步骤505,进入步骤510,其中DRA可以检索上下文工件来处理。这可以涉及从工件存储器中检索工件或简单地识别诸如方法400的另一种方法中已检索的工件。接下来,在步骤515中,DRA可以扫描上下文名称注释的上下文工件。例如,DRA可以标记化(tokenize) 或以其他方式分析该工件以定位包括该字符串“DDMContext”、“localizedName”或者另一种注释的注释。定位注释后,DRA可以在步骤520建立包括与注释相关联的名称的新元数据记录。在上面的例子中, DRA可以为名称“Floober”建立作元数据记录。DRA也可以将元数据记录与由工件定义的上下文对象类型相关联。
接下来,在步骤525中,DRA可以扫描额外注释的上下文工件。在各种实施例中,DRA可以标记化或以其他方式分析该工件以定位包括字符串“DDM”、“DDMRuleAttribute”或者另一注释的注释。在试图定位这样的属性之后,DRA可以在步骤530确定是否已经到达该工件的末端。如果DRA已到达文件的结尾,方法500可进行步骤550到结束,否则,方法500可进行到步骤535。
在步骤535中,DRA可以确定是否该注解对应于上下文对象的属性或动作。在各种实施例中,注释本身可以指定是否该注释适用于属性或动作。在其他实施例中,DRA可以评估以下的函数或变量来进行这种确定。例如, DRA可以确定如果下列函数返回一值,则该注释可以对应于一属性。作为另一个例子,DRA可以确定如果下列函数不返回任何值,则该注释可以对应于一操作。如果该注释对应一注释,则DRA可以在步骤540中添加新的属性至与适当类功能相关联的元数据记录。在上面的例子中,DRA可以添加属性名称“Floober-Attribute”至与功能getFlooberValue()相关联的元数据记录。如果注释对应动作,DRA可以在步骤540增加新动作至与适当的类功能相关联的元数据记录。在上面的例子中,DRA可以增加动作名称“Floober-Action”至与功能“doFloober()”相关联的元数据记录。方法500可以前进到通过从步骤540或545环回到步骤525继续为附加注释分析该工件。
如上文所述,上下文工件可以被用来定义诸如“路由决策上下文对象”的计算上下文。例如,为了定义路由决策上下文对象的上下文工件可以部分地如下读出:
图6示出用于路由决策上下文对象的示例性类图600。类图600可以基于在上面的示例性上下文工件中定义的路由决策上下文对象类型来表示上下文对象。与上下文工件中的注释指定的组件名称相关联的组件可以通过这样的组件名称来表示。
如图所示,路由决策上下文对象620可以扩展上下文基础类610。上下文基础类可以包括基本的上下文对象功能。例如,上下文基础类610可以包括用于存储接收到的Diameter消息的受保护字符串变量。另外或可替代地,上下文基础类可以提供一个或多个功能用于与所述Diameter堆栈的API接***互来读取或处理接收到的Diameter消息或其他Diameter消息。在上下文基础类中适于提供的各种附加或替代属性和动作将是显而易见的。
路由决策上下文对象620可以通过添加一个或多个属性或动作来扩展上下文基础类610。例如,路由决策上下文对象620可以添加逻辑值(Boolean)值“Decision-Exists”(决策存在)属性已由用户接口或规则引擎使用。可以理解,虽然Decision-Exists属性可以被定义为上下文工件中的功能,它可以被看作是由规则引擎或用户接口的属性,因为它返回一个值。路由决策上下文对象还可包括受保护的变量,如“routingDecision”和“decisionFetched”用于分别存储路由决策记录和关于这样的路由决策记录是否已经被取出的指示。
路由决策记录可以存储由DRA使用的各种数据。例如,路由决策记录可以包括一个或多个标识符用于确定路由决策记录是否适用于当前的 Diameter消息。在各种实施例中,这些标识符可以连在一起以构成“Session Binding Identifier(SBI)”(会话绑定标识符)。SBI可以包括IPv4地址、IPv6地址、一个或多个订户标识符、接入点名称(APN)、或Diameter会话标识符。路由决策记录也可以包括先前的Diameter消息连同时间戳被路由到的设备的标识。时间戳可以例如用于确定作为清理操作的一部分何时从存储器中删除该路由记录。
该路由决策上下文对象也可以包括许多动作。例如,路由决策上下文对象620可以包括“Update-Message-With-Destination”(更新-消息-与-目标”)行动。这个动作可以从路由决策记录提取目标,然后将目标标识符***到接收的Diameter消息的(Destination-Host)目标-主机AVP。作为另一个例子,路由决策上下文对象620可以包括“Create-New-Routing-Decision”(创建-新路由-决策)动作,该动作可以创建新的路由决策的记录以存储在路由决策数据库中。例如,在用新的 Destination-Host更新Diameter消息之后,规则可以调用“Create-New-Routing-Decision”。“Create-New-Routing-Decision”动作然后可以提取SBI和目标主机以创建携带当前时间戳的新记录。作为另一个例子,“Update-Timestamp”(更新-时间戳)动作可以用当前时间戳覆写路由决策记录中的旧时间戳,以延迟路由决策记录的清理。可以被包括在路由决策上下文对象中的附加动作(未示出)可以包括用于移除与正在处理的消息相关的会话的路由决策记录的动作,或移除与当前消息相关的所有路由决策的记录(例如,相同IP的所有会话)的动作。
上述多种属性和动作可以依靠路由决策的存在。这样,路由决策上下文对象620还可以包括受保护的“FetchDecision”功能,该功能可以从收到的消息中提取SBI并试图定位路由决策的数据库中与SBI匹配的路由决策中记录。在各种实施例中,当路由决策上下文对象通过诸如路由决策上下文对象的类构建器被初始化时,“FetchDecision”功能可以被调用。在其他实施例中,路由决策的上下文对象620可以不调用“FetchDecision”直到作为路由决策记录的时间被使用。例如,当“decisionFetched”变量为假时,“Update-Message-With-Destination”、“Decision-Exists”以及“Update-Timestamp”组件每一个都调用“FetchDecision”。
图7示出用于检索先前的路由决策的示范方法700。方法700可以对应于路由决策上下文对象620的“FetchDecision”功能。方法700可以由例如上下文创建器230的DRA组件来执行。
方法700可以开始于步骤705并继续进行到步骤710,在步骤710中DRA 可以从接收到的Diameter消息提取SBI。如上所述,SBI可以由多个标识符组成,其中一些可以出现在所述Diameter消息中。接着,在步骤715,DRA 可以搜索路由决策数据库以查找匹配SBI的至少一部分的记录。应当理解的是,基于SBI的匹配,路由决策上下文对象可以为先前的Diameter消息定位路由决策,即使先前的Diameter消息已被根据与接收到的Diameter消息不同的应用程序或指令发送。例如,DRA可以接收Rx AAR以及基于SBI,定位先前为Gx CCR所作的路由决策。
接下来,在步骤720中,DRA可以确定路由决策记录是否被定位。如果这样的记录被定位,方法700可以前进到步骤725。在步骤725中,DRA 可以将路由决策上下文对象与定位的路由决策记录相关联,例如,通过复制记录到路由决策上下文对象的变量或者使该路由决策上下文对象具有读取或修改该路由决策记录的功能。然后,在步骤730,DRA可以设定路由决策上下文对象的“Decision-Exists”(决策存在)属性为“真”。
如果,另一方面,DRA无法定位匹配的路由决策的记录,方法700可以从步骤720前进至步骤735。在步骤735,DRA可设定路由决策上下文对象的“Decision-Exists”(决策存在)属性为“假”。方法700可以从步骤730 或735任一个继续执行到步骤740。在步骤740,DRA可以设置“decisionFetched”变量为“真”。路由决策上下文对象随后可以避免基于“decisionFetched”的“真”值,再次执行方法700。
如上文所述,在各种实施例中,存储在路由选择决策数据库250中的路由决策记录可以基于与其相关联的时间戳周期性地被清理。例如,清理模块255可以通过周期性地检查每个路由决策记录的时间戳来审查路由决策数据库250。清理模块255可以根据该值和当前时间对路由记录以“time to live”值(生存时间)被配置并且确定每个记录是否已经超过预配置的时间。间)。如果是这样,清理模块255可从路由决策数据库250中删除该记录。
作为一个计算上下文的另一实例,一个上下文工件可以限定“subscriber recordcontect object”(订户记录上下文对象)。例如,为了定义订户记录上下文对象,上下文工件可以部分地如下读出:
如上例所示,在上面的例子中,包含在其他类中的类也可以包括注释。例如,“subContext”(子上下文)类可以包含由“Subids”类定义的对象。“Subids”类可以包括多个动作属性的多个注解。此外,“Subids”类本身可以用组件名称进行注释,如类定义前面的“subscriberIDs”(订户ID)。各种替代性的布局将是显而易见的。例如,“Subids类”的注释可以在“subscriberIDs”的定义前面,替代地位于“subContext”类定义之内。
图8示出订户记录上下文对象的示例性的类图800。类图800可以表示基于在上面的示例性上下文工件中定义的订户记录上下文对象类型的上下文对象。上下文工件中由注释指定的组件名称相关的组件可以通过这样的组件名称来表示。
如图所示,该订户记录上下文对象820可以扩展上下文基础类810。应当理解的是,各种其他的继承(inheritances)也可以使用。例如,订户记录上下文对象820可以扩展CommonLDAPContext对象(未示出),其可以实现与LDAP服务器或数据库接口的基本功能。这种 CommonLDAPContect对象可以反过来扩展上下文基础类810。类和继承的各种其他布置将是显而易见的。
上下文基础类可以包括基本上下文对象功能。例如,上下文基础类810 可以包括用于存储接收的Diameter消息的被保护的字符串变量。另外或替代地,上下文基础类可以提供用于与所述Diameter堆栈的API的接口的一个或多个功能来读取或处理接收到的Diameter消息或其他Diameter消息。适合提供在上下文基础类中各种附加或替代属性和动作将是显而易见的。
订户记录上下文对象820可以通过添加一个或多个属性或动作来扩展上下文基础类810。例如,订户记录上下文对象820可以包括被保护的变量,如“subscriberRecord”和“recordFetched”,用于分别存储订户记录和关于这样的订户记录是否已经被取出的指示。
可以理解的,订户记录可以被存储在相对于所述DRA的外部装置中。订户记录可以存储与订户相关的各种数据。例如,订户记录可以存储一个或多个订户ID、保证的比特率。最大比特率、聚合最大比特率、或者收费度量。
例如订户记录上下文对象820的计算上下文对象可以包括一个或多个同样由上下文工件定义的其他对象。例如,订户记录上下文对象820可以包括Subscriber-ID对象,该对象包括对于访问存储的订户标识符的订户记录的一个或多个字段有用的属性或动作。Subscriber-ID对象830可以包括“get”(得到)属性,该属性可以从该订户记录返回订户标识符的列表。在各种实施例中,规则可以仅引用来访问对象名来访问“get”属性,而不指定“get”属性本身。例如,规则可以引用“Subscriber Record.Subscriber-IDs”以检索订户标识符列表,而不是“Subscriber Record.Subscriber-IDs.get.”。Subscriber-ID对象830还可以包括“add”(添加)“remove”(移除)和“set”(设置)操作用于添加、移除和修改订户记录的订户标识符。一些动作可以接受一个或多个参数。例如,规则可以调用“SubscriberRecord.Subscriber-IDs.add foo”以添加新的订户标识符“foo”至订户记录。应当理解的是,订户记录上下文对象820可以包括类似于Subscriber-ID对象830的许多其他对象。例如,订订户记录上下文对象820可以包括有保证的比特率对象或服务质量(QoS)对象(未示出)。
相对于订户记录上下文对象820描述的各种属性和动作可以依赖于订户记录的存在。这样,订户记录上下文对象820还可以包括受保护“FetchRecord”功能,该功能可以从接收的消息中提取一个或多个订户标识符,并尝试从匹配订户标识符的SPR请求订户记录。在各种实施例中,当订户记录上下文对象被诸如由路由决策上下文对象的类构造器进行初始化时,所述“FetchRecord”功能可被调用。在其他实施例中,订户记录上下文对象820可以不调用“FetchRecord”直到订户记录将被使用的时间。例如,当“recordFetched”变量为假时,“get”、“add”、“remove”、和“set”组件的每一个都可以调用“FetchRecord”。
路由记录上下文对象620或订户记录上下文对象820的各种动作或功能可以修改将被存储的记录供以后使用。例如,订户记录上下文对象820可以添加订户标识符至订户记录。在各种实施例中,路由记录上下文对象620 或订户记录上下文对象820可以修改用于存储相应上下文对象的本地记录的变量,以及在稍后的时间将记录提交回存储器。例如,该路由记录上下文对象620或订户记录上下文对象820的结构功能可以发送相应记录到适当的存储设备中以供以后使用。
图9示出用于检索订户记录的示例性方法900。方法900可以对应于订户记录上下文对象820的“FetchRecord”。方法900可以由例如上下文创建器 230的DRA组件来执行。
方法900可以开始在步骤905,并继续执行步骤910,其中DRA可以通过识别所接收的Diameter消息携带的一个或多个订户标识符。例如,DRA 可以从所述Diameter消息中提取IPv4地址、IPv6地址、和APN。或者,该订户记录上下文对象可以已经存储在实例化时从所述Diameter消息中提取用户的标识符。接着,在步骤915中,DRA可以从诸如SPR的另一个设备要求订户记录。在这样做时,订户记录上下文对象的功能可以调用DRA的其他功能,例如还由DRA的其他组件使用的订户记录检索模块260。在响应于在步骤915发送的请求而接收订户记录后,在步骤920中,DRA可以将订户记录与订户记录上下文对象相关联。例如,DRA可以在订户记录上下文对象的一个或多个变量中存储订户记录。然后,在步骤925,DRA可以将订户记录上下文对象的recordFetched变量设置为“真”值,以防止订户记录上下文对象试图重新获取该用户的记录。然后方法900可以进行到结束步骤930。
关于其他上下文对象,用户可以定义具有引用路由决策上下文对象和订户记录上下文对象的属性和动作的各种规则。例如,用户可以指定提供下面的伪码规则定义的规则组:
在接收上述伪代码时,DRA可生成在运行时可以是更迅速或高效地评估的形式的规则组。使用户能够定义规则或规则组各种替代方法将是显而易见的。
图10示出示例性的规则组1000。规则组1000可以被存储在诸如DRA 200的规则存储器220的规则存储器中。在各种实施例中,规则组1000可以被存储为二元决策树,如图所示。显而易见的是,可以使用各种备选安排用于存储的规则组。例如,规则组1000可以被存储为多个记录,每个包括用于评估以确定规则是否适用而当规则适用于存储要采取的动作的结果字段的准则字段。此外,规则组1000可以被存储为例如存储在规则存储220 的数据库中的表。可替代地,规则组1000可以为一系列的链接列表、数组或一个类似的数据结构。因此,应当清楚,规则组1000可以是基础数据的抽象;适合于存储该数据的任何数据结构都可以使用。
规则组1000可以适用于Gx CCR Diameter消息。规则组1000可以基于如上面的例子中用户提供的伪代码而生成。DRA可以为许多不同的消息类型存储单独消息的类型特定规则组(未示出)。规则组1000可以包括如准则节点1010、1030的准则节点以及如结果节点1020、1040、1050的结果节点。明显的是,规则组1000是示例性的,各种实施例可以包括比示出的规则组1000规则组更复杂的规则组(未示出)。
准则节点可以表示由规则引擎来评估的条件。基于所述评估,规则引擎可以选择其他准则节点或结果节点来评估。作为示例,准则节点1010可以存储条件“RoutingDecision.Decision-Exists.”。在准则节点1010评估时,规则引擎可以确定的条件是真还是假。例如,规则引擎可以读取决策存在从“Routing Decision”上下文对象读取“Decision-Exists”属性。在这样做时,路由决策上下文对象可以基于接收的Diameter消息来检索路由决策记录。如果Decision-Exists属性为真,规则引擎可以继续评估结果节点1020。如果Decision-Exists属性为假,规则引擎可以继续评估准则节点1030。
结果节点可以表示要由规则引擎执行的一个或多个动作。这样的动作可以包括,例如,修改Diameter消息或发送Diameter消息到特定设备。作为一个例子,节点1020可以指示规则引擎应访问路由决策上下文对象的两个动作:“Update-Message-With-Destination”(更新-消息-随着-目标)以及“Update-Timestamp”(更新,时间戳)动作。规则引擎然后可以完成评估规则组1000。
准则节点1030可以通过包括条件“Subscriber Record.Subscriber-IDsContains Substring floober”来包括调用订户记录上下文对象的条件。在评估准则节点1030时,规则引擎可以访问“Subscriber Record”上下文对象的“Subscriber-IDs”属性,然后确定返回的数据是否包含子字符串“floober”。如果子字符串存在,规则引擎可以继续评估结果节点1040。否则,规则引擎可以继续评估结果节点1050。
结果1040节点可以包含对不同类型的上下文对象的引用。例如,结果节点1040可以指定规则引擎应该访问CCR Gx上下文对象的添加动作和设置动作来更新接收的Diameter消息的Destination-Host和 Destination-Realm AVP。结果节点1040还可以指定规则引擎应该访问“Routing Decision”上下文对象的“Create-New-Routing-Decision”动作以保存Destination-Host和Destination-Realm值以备将来相对于其他 Diameter消息使用。结果节点1050可以指定规则引擎应该通过访问“Subscriber Record”上下文对象的“add”动作来添加新的订户标识符“floober”至订户记录。
根据上述内容,各种实施例实现了Diameter路由代理上的各个 Diameter消息的稳定和动态处理。特别地,通过基于上下文工件计算上下文对象,DRA可以促使用户在指定在处理各种Diameter消息时应遵循的复杂行为。例如,用户可以使行为立足于先前的路由决策或者订户记录的内容。此外,用户可以通过添加可指定上下文对象的其他类型的新上下文工件来扩展功能。根据前面的公开各种额外的好处将显而易见的。
根据上面的描述,显而易见的是本发明的各种示例性实施例可以以硬件或固件来实现。此外,各种示范性实施例可以被实现为存储在机器可读存储介质上的指令,其可以被读出并执行由至少一个处理器执行在本文中详细描述的操作。机器可读存储介质可以包括任何用于存储在由机器可读形式的信息,诸如个人计算机或膝上型计算机、服务器、或其他计算设备。因此,有形的和非临时性计算机可读存储介质可以包括只读存储器 (ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设备,和类似的存储介质。
本领域技术人员可以认识到,这里的任何方框图代表本文中实施本发明的原理的说明性电路的概念视图。类似地,可以理解,任何流程表、流程图、状态转移图、伪码等实质上可以在计算机可读介质中表示并因此由计算机或处理器执行,无论这样的计算机的各种处理或处理器是否被明确示出。
虽然参考某些示例性方面对各种实施例进行了具体说明,但是应当理解的是,本发明能够具有其他实施例,并且其细节能够在各种明显的方面进行修改。对于本领域技术人员来说,显而易见,本发明的精神和范围之内的各种变化和修改是可以实现。因此,前述的公开、说明和附图仅用于说明性目的,并不以任何方式限制本发明,本发明仅由权利要求限定。
Claims (22)
1.一种由Diameter路由代理(DRA)执行的用于处理Diameter消息的方法:
在DRA上从源设备接收(310)Diameter消息;
响应于接收所述Diameter消息,建立(330,700)路由决策上下文对象,其中所述路由决策上下文对象与选择要接收先前消息的目标设备相关联,其中路由决策上下文对象为接收的Diameter消息识别适用于接收的Diameter消息的先前作出的路由决策;
评估(340)包括上下文对象引用的规则,其中,所述评估包括基于上下文对象引用来访问路由决策上下文对象;以及
基于规则的评估发送(345)消息。
2.如权利要求1所述的方法,其中,基于规则的评估发送(345)消息包括:发送所述Diameter消息至所述目标设备。
3.如权利要求1所述的方法,其中,所述Diameter消息与第一Diameter应用相关联,并且所述先前消息与第二Diameter应用相关联。
4.如权利要求2所述的方法,其中,所述Diameter消息与第一Diameter应用相关联,并且所述先前消息与第二Diameter应用相关联。
5.如权利要求1所述的方法,进一步包括,在接收所述Diameter消息之前:
在DRA上接收(310)所述先前消息;
确定(340)所述先前消息应该被路由到所述目标设备;
发送(345)所述先前消息到所述目标设备;以及
将所述先前消息的标识和所述目标设备作为路由决策存储。
6.如权利要求2所述的方法,进一步包括,在接收所述Diameter消息之前:
在DRA上接收(310)所述先前消息;
确定(340)所述先前消息应该被路由到所述目标设备;
发送(345)所述先前消息到所述目标设备;以及
将所述先前消息的标识和所述目标设备作为路由决策存储。
7.如权利要求3所述的方法,进一步包括,在接收所述Diameter消息之前:
在DRA上接收(310)所述先前消息;
确定(340)所述先前消息应该被路由到所述目标设备;
发送(345)所述先前消息到所述目标设备;以及
将所述先前消息的标识和所述目标设备作为路由决策存储。
8.如权利要求5所述的方法,其中访问所述路由决策上下文对象包括:更新与所述路由决策相关联的时间戳。
9.如权利要求5所述的方法,进一步包括:
基于与所述路由决策相关联的时间戳,确定所述路由决策应该被删除;和
从所述DRA的存储器中删除所述路由决策。
10.如权利要求8所述的方法,进一步包括:
基于与所述路由决策相关联的时间戳,确定所述路由决策应该被删除;和
从所述DRA的存储器中删除所述路由决策。
11.如权利要求1-10任一项所述的方法,其中,建立路由决策上下文对象以及访问路由决策上下文对象的至少一个包括:
从所述Diameter消息提取(710)至少一条标识信息;以及
确定(720)所述至少一条标识信息对应于所述先前消息。
12.一种用于处理Diameter消息的Diameter路由代理(DRA),所述DRA包括:
规则存储器(220),被配置为存储包括上下文对象引用的规则;
路由决策数据库(250),被配置为存储先前路由决策,其中所述先前路由决策包括为先前消息所选择的目标设备的标识;
Diameter堆栈(205),被配置为从源设备接收Diameter消息;
上下文创建器(230),被配置为基于接收Diameter消息建立路由决策上下文对象,其中所述路由决策上下文对象与所述先前路由决策相关联,其中路由决策上下文对象为接收的Diameter消息识别适用于接收的Diameter消息的先前作出的路由决策;
规则引擎(215),被配置为评估该规则,其中,所述评估包括基于所述上下文对象引用访问所述路由决策上下文对象;以及
消息处理器(210),被配置为基于该规则的评估经由所述Diameter堆栈发送消息。
13.如权利要求12所述的DRA,其中,在基于该规则的评估发送消息时,所述消息处理器(210)被配置为发送所述Diameter消息至所述目标设备。
14.如权利要求12所述的DRA,其中所述Diameter消息与第一Diameter应用相关联,所述先前消息与第二Diameter应用相关联。
15.如权利要求13所述的DRA,其中所述Diameter消息与第一Diameter应用相关联,所述先前消息与第二Diameter应用相关联。
16.如权利要求12所述的DRA,其中:
所述Diameter堆栈(205)进一步被配置为在接收所述Diameter消息之前接收所述先前消息;
所述规则引擎(215)还被配置为确定所述先前消息应该被路由到所述目标设备;以及
路由决策上下文对象(620)被配置为,基于所述规则引擎的访问,存储所述先前消息的标识和所述目标设备作为路由决策。
17.如权利要求13所述的DRA,其中:
所述Diameter堆栈(205)进一步被配置为在接收所述Diameter消息之前接收所述先前消息;
所述规则引擎(215)还被配置为确定所述先前消息应该被路由到所述目标设备;以及
路由决策上下文对象(620)被配置为,基于所述规则引擎的访问,存储所述先前消息的标识和所述目标设备作为路由决策。
18.如权利要求14所述的DRA,其中:
所述Diameter堆栈(205)进一步被配置为在接收所述Diameter消息之前接收所述先前消息;
所述规则引擎(215)还被配置为确定所述先前消息应该被路由到所述目标设备;以及
路由决策上下文对象(620)被配置为,基于所述规则引擎的访问,存储所述先前消息的标识和所述目标设备作为路由决策。
19.如权利要求16所述的DRA,其中所述路由决策上下文对象(620)被配置为,基于所述规则引擎的访问,更新与所述路由决策相关联的时间戳。
20.如权利要求16所述的DRA,进一步包括清理模块(255),所述清理模块(255)被配置为:
基于与所述路由决策相关联的时间戳确定所述路由决策应被删除;以及
从DRA的存储器中删除所述路由决策。
21.如权利要求19所述的DRA,进一步包括清理模块(255),所述清理模块(255)被配置为:
基于与所述路由决策相关联的时间戳确定所述路由决策应被删除;以及
从DRA的存储器中删除所述路由决策。
22.如权利要求12-21任一项所述的DRA,其中,所述路由决策上下文对象(620)被配置为:
从所述Diameter消息提取至少一条标识信息;以及
确定所述至少一条标识信息对应于所述先前消息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/482,597 | 2012-05-29 | ||
US13/482,597 US8797902B2 (en) | 2012-05-29 | 2012-05-29 | Routing decision context objects |
PCT/CA2013/050407 WO2013177702A1 (en) | 2012-05-29 | 2013-05-28 | Routing decision context objects |
Publications (3)
Publication Number | Publication Date |
---|---|
CN104350713A CN104350713A (zh) | 2015-02-11 |
CN104350713B true CN104350713B (zh) | 2018-02-02 |
CN104350713B9 CN104350713B9 (zh) | 2018-03-23 |
Family
ID=49670147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380028275.XA Active CN104350713B9 (zh) | 2012-05-29 | 2013-05-28 | 路由决策上下文对象 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8797902B2 (zh) |
EP (1) | EP2856712A4 (zh) |
JP (1) | JP2015519842A (zh) |
KR (1) | KR101593359B1 (zh) |
CN (1) | CN104350713B9 (zh) |
WO (1) | WO2013177702A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013155535A1 (en) | 2012-04-13 | 2013-10-17 | Tekelec, Inc. | Methods, systems, and computer readable media for performing diameter overload control |
US20140068101A1 (en) * | 2012-09-04 | 2014-03-06 | Alcatel-Lucent Canada, Inc. | Received message context objects |
US9277572B1 (en) * | 2013-05-10 | 2016-03-01 | Sprint Communications Company L.P. | Modification of diameter messages to establish a communication session over a home packet data network gateway |
US10454768B2 (en) | 2013-11-15 | 2019-10-22 | F5 Networks, Inc. | Extending policy rulesets with scripting |
WO2015126845A1 (en) * | 2014-02-18 | 2015-08-27 | F5 Networks, Inc. | Concurrent evaluation of large rule sets with conditions |
US9967133B2 (en) * | 2014-12-17 | 2018-05-08 | Provenance Asset Group Llc | Using global variables to data-drive rule engine evaluation |
CN114845351A (zh) * | 2015-06-02 | 2022-08-02 | 利维帕尔森有限公司 | 动态通信路由的方法、***和计算机程序产品 |
US9699076B2 (en) * | 2015-06-09 | 2017-07-04 | Oracle International Corporation | Methods, systems, and computer readable media for implementing intelligent policy and charging rules function (PCRF) overload control |
CN105072036B (zh) * | 2015-07-13 | 2018-02-06 | 上海红神信息技术有限公司 | 一种多实例路由单元的拟态路由决策方法 |
US9800504B2 (en) | 2015-10-20 | 2017-10-24 | Oracle International Corporation | Methods, systems, and computer readable media diverting diameter traffic from an overloaded policy and charging rules function (PCRF) |
CN108712332B (zh) | 2018-05-17 | 2020-07-07 | 华为技术有限公司 | 一种通信方法、***和装置 |
KR102193556B1 (ko) * | 2019-04-01 | 2020-12-22 | 주식회사 엘지유플러스 | 호처리 중계시스템 및 이의 다이어미터 신호 조정 방법 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3232711B2 (ja) * | 1992-11-10 | 2001-11-26 | 松下電器産業株式会社 | ルータ中継装置 |
DE10254285A1 (de) * | 2002-11-20 | 2004-06-03 | Robert Bosch Gmbh | Gateway-Einheit zur Verbindung von Subnetzen, insbesondere in Fahrzeugen |
US7343364B2 (en) | 2005-02-04 | 2008-03-11 | Efunds Corporation | Rules-based system architecture and systems using the same |
US20070156644A1 (en) * | 2006-01-05 | 2007-07-05 | Microsoft Corporation | SQL injection detector |
US8042118B2 (en) * | 2007-02-14 | 2011-10-18 | International Business Machines Corporation | Developing diameter applications using diameter interface servlets |
US8041346B2 (en) * | 2008-05-29 | 2011-10-18 | Research In Motion Limited | Method and system for establishing a service relationship between a mobile communication device and a mobile data server for connecting to a wireless network |
GB0901314D0 (en) * | 2009-01-27 | 2009-03-11 | Vodafone Plc | IMS home cell |
US8750126B2 (en) | 2009-10-16 | 2014-06-10 | Tekelec, Inc. | Methods, systems, and computer readable media for multi-interface monitoring and correlation of diameter signaling information |
US8615237B2 (en) | 2010-01-04 | 2013-12-24 | Tekelec, Inc. | Methods, systems, and computer readable media for policy and charging rules function (PCRF) node selection |
CN102148689B (zh) | 2010-02-09 | 2016-01-20 | 中兴通讯股份有限公司 | 策略和计费规则功能实体的选择方法、装置及*** |
EP2534790B1 (en) | 2010-02-12 | 2016-04-27 | Tekelec, Inc. | Methods, systems, and computer readable media for source peer capacity-based diameter load sharing |
US8824370B2 (en) * | 2010-12-16 | 2014-09-02 | Openet Telecom Ltd. | Methods, systems and devices for dynamic context-based routing |
-
2012
- 2012-05-29 US US13/482,597 patent/US8797902B2/en active Active
-
2013
- 2013-05-28 KR KR1020147033355A patent/KR101593359B1/ko active IP Right Grant
- 2013-05-28 CN CN201380028275.XA patent/CN104350713B9/zh active Active
- 2013-05-28 JP JP2015514308A patent/JP2015519842A/ja active Pending
- 2013-05-28 EP EP13798178.3A patent/EP2856712A4/en not_active Withdrawn
- 2013-05-28 WO PCT/CA2013/050407 patent/WO2013177702A1/en active Application Filing
-
2014
- 2014-05-07 US US14/271,532 patent/US9025488B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN104350713A (zh) | 2015-02-11 |
US20130322327A1 (en) | 2013-12-05 |
KR20150006027A (ko) | 2015-01-15 |
CN104350713B9 (zh) | 2018-03-23 |
KR101593359B1 (ko) | 2016-02-11 |
US9025488B2 (en) | 2015-05-05 |
US8797902B2 (en) | 2014-08-05 |
EP2856712A1 (en) | 2015-04-08 |
EP2856712A4 (en) | 2016-01-13 |
JP2015519842A (ja) | 2015-07-09 |
US20140244793A1 (en) | 2014-08-28 |
WO2013177702A1 (en) | 2013-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104350713B (zh) | 路由决策上下文对象 | |
CN104380670B (zh) | Diameter路由代理规则组的组织 | |
US9432864B2 (en) | Generic persistence in a diameter routing agent | |
US8850064B2 (en) | Rule engine evaluation of context objects | |
US9967133B2 (en) | Using global variables to data-drive rule engine evaluation | |
US9992131B2 (en) | Diameter routing agent load balancing | |
US9246798B2 (en) | Message handling extension using context artifacts | |
US9204285B2 (en) | Subscriber record context objects | |
US9112800B2 (en) | Inverse message context objects | |
US8224933B2 (en) | Method and apparatus for case-based service composition | |
US20140068101A1 (en) | Received message context objects | |
US9172610B2 (en) | Multiple form enumerated attributes | |
US9124481B2 (en) | Custom diameter attribute implementers | |
US9300695B2 (en) | Method and apparatus for manipulating AVPs in a diameter routing agent | |
JP5475189B2 (ja) | 発信メッセージの失敗を管理するためのフレームワーク | |
US20160277534A1 (en) | Rules-based sequential multi-routing of diameter requests |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CI03 | Correction of invention patent |
Correction item: Description Correct: Zheng Que False: Cuo Wu Number: 05-02 Page: Quan Wen Volume: 34 |
|
CI03 | Correction of invention patent |