JP2015519842A - ルーティング決定コンテキストオブジェクト - Google Patents

ルーティング決定コンテキストオブジェクト Download PDF

Info

Publication number
JP2015519842A
JP2015519842A JP2015514308A JP2015514308A JP2015519842A JP 2015519842 A JP2015519842 A JP 2015519842A JP 2015514308 A JP2015514308 A JP 2015514308A JP 2015514308 A JP2015514308 A JP 2015514308A JP 2015519842 A JP2015519842 A JP 2015519842A
Authority
JP
Japan
Prior art keywords
message
diameter
context object
routing decision
dra
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.)
Pending
Application number
JP2015514308A
Other languages
English (en)
Inventor
ジョーゲンセン,ピーター・ケイ
マン,ロバート・エイ
Original Assignee
アルカテル−ルーセント
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by アルカテル−ルーセント filed Critical アルカテル−ルーセント
Publication of JP2015519842A publication Critical patent/JP2015519842A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/304Route determination for signalling traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4588Network directories; Name-to-address mapping containing mobile subscriber information, e.g. home subscriber server [HSS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/503Internet protocol [IP] addresses using an authentication, authorisation and accounting [AAA] protocol, e.g. remote authentication dial-in user service [RADIUS] or Diameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Abstract

さまざまな例示的な実施形態は、以下、すなわち、DRAで送信元デバイスからDiameterメッセージを受信するステップと、Diameterメッセージを受信するステップに応答してルーティング決定コンテキストオブジェクトを確立するステップであって、ルーティング決定コンテキストオブジェクトが、前のメッセージを受信するために選択された送信先デバイスに関連する、確立するステップと、コンテキストオブジェクトの参照を含む規則を評価するステップであって、評価が、コンテキストオブジェクトの参照に基づいてルーティング決定コンテキストオブジェクトにアクセスすることを含む、評価するステップと、規則の評価に基づいてメッセージを送信するステップとのうちの1つまたは複数を含む方法および関連するネットワークノードに関する。

Description

関連出願の相互参照
本出願は、引用により本明細書に組み込まれている次の同時係属中の出願、すなわち、特許出願第13/482,597号、「ORGANIZATION OF DIAMETER ROUTING AGENT RULE SETS」、代理人整理番号ALC3809に関する。
本明細書において開示されるさまざまな例示的な実施形態は、一般に、コンピュータネットワーキングに関する。
Internet Engineering Task Force(IETF)Request for Comments(RFC)3588におけるその提案以来、Diameterプロトコルは、多くのネットワークアプリケーションによってますます採用されるようになった。例えば、第3世代パートナーシッププロジェクト(3GPP)は、さまざまなポリシーおよび課金制御(PCC:policy and charging control)、モビリティ管理、およびIPマルチメディアサブシステム(IMS)アプリケーションにDiameterを採用した。IPに基づくネットワークが回路交換ネットワークに取って代わるにつれて、Diameterが、さらに、重要な通信シグナリングプロトコルとしてSS7と入れ替わってきている。ネットワークの発展につれて、Diameterは、無線および有線通信ネットワークの中で広く使われるプロトコルになってきている。
Diameterプロトコルの1つの重要な態様は、Diameterパケットのルーティングである。Diameterルーティングエージェント(DRA)と呼ばれるエンティティが、ネットワークにおけるパケットの移動を容易にする。さまざまな展開で、DRAは、単純なルーティング、プロキシ、およびリダイレクトなどの基本的な機能を実行する可能性がある。
さまざまな例示的な実施形態の簡潔な概要が、以下に示される。以下の概要においていくつかの簡略化および省略が行われる可能性があり、そのことは、さまざまな例示的な実施形態のいくつかの態様を強調し、紹介するように意図されており、本発明の範囲を限定するように意図されていない。当業者が本発明の概念を実施し、使用することを可能にするのに適した好ましい例示的な実施形態の詳細な説明が、その後の節で後に続く。
さまざまな例示的な実施形態は、Diameterメッセージを処理するためにDiameterルーティングエージェント(DRA)によって実行される方法であって、コンテキストアーチファクト(artifact)を識別するステップであって、コンテキストアーチファクトがDRAによる使用のためにコンテキストオブジェクトタイプを定義する、識別するステップと、DRAで送信元デバイスからDiameterメッセージを受信するステップと、コンテキストアーチファクトによって定義されたコンテキストオブジェクトタイプのコンテキストオブジェクトを確立するステップと、コンテキストオブジェクトの参照を含む規則を評価するステップであって、評価が、コンテキストオブジェクトの参照に基づいてコンテキストオブジェクトにアクセスすることを含む、評価するステップと、規則の評価に基づいてメッセージを送信するステップとを含む、方法に関する。
さまざまな例示的な実施形態は、Diameterメッセージを処理するためのDiameterルーティングエージェント(DRA)であって、コンテキストオブジェクトタイプを定義するコンテキストアーチファクトを格納するように構成されたコンテキストアーチファクトストレージと、コンテキストオブジェクトの参照を含む規則を格納するように構成された規則ストレージと、送信元デバイスからDiameterメッセージを受信するように構成されたDiameterスタックと、コンテキストアーチファクトによって定義されたコンテキストオブジェクトタイプのコンテキストオブジェクトを確立するように構成されコンテキスト生成器と、規則を評価するように構成された規則エンジンであって、評価が、コンテキストオブジェクトの参照に基づいてコンテキストオブジェクトにアクセスすることを含む、規則エンジンと、Diameterスタックを介して規則の評価に基づいてメッセージを送信するように構成されたメッセージハンドラとを含む、Diameterルーティングエージェント(DRA)に関する。
さまざまな例示的な実施形態は、Diameterメッセージを処理するためにDiameterルーティングエージェント(DRA)によって実行するための命令を符号化された非一時的機械可読ストレージ媒体であって、コンテキストアーチファクトを識別するための命令であって、コンテキストアーチファクトがDRAによる使用のためにコンテキストオブジェクトタイプを定義する、識別するための命令と、DRAで送信元デバイスからDiameterメッセージを受信するための命令と、コンテキストアーチファクトによって定義されたコンテキストオブジェクトタイプのコンテキストオブジェクトを確立するための命令と、コンテキストオブジェクトの参照に基づいてコンテキストオブジェクトにアクセスするための命令を含む、コンテキストオブジェクトの参照を含む規則を評価するための命令と、規則の評価に基づいてメッセージを送信するための命令とを含む、非一時的機械可読ストレージ媒体に関する。
コンテキストアーチファクトがコンテキストオブジェクトのクラスを定義するランタイムライブラリであるさまざまな実施形態が、説明される。
コンテキストオブジェクトにアクセスすることがコンテキストアーチファクトによって定義された属性を取り出すことを含むさまざまな実施形態が、説明される。
コンテキストオブジェクトにアクセスすることがコンテキストアーチファクトによって定義されたアクションを呼び出すことを含むさまざまな実施形態が、説明される。
さまざまな実施形態は、コンテキストアーチファクトを識別するステップの前に、DRAのユーザインターフェースを介してコンテキストアーチファクトを受信するステップをさらに含む。
さまざまな実施形態は、コンテキストアーチファクト内の注釈(annotation)を見つけるステップと、注釈に基づいてコンテキストオブジェクトタイプに関する構成要素名を生成するステップであって、構成要素名がコンテキストオブジェクトタイプの属性およびアクションのうちの少なくとも1つを指す、生成するステップとをさらに含む。
さまざまな実施形態は、ユーザインターフェースを介して、規則に対応する規則の定義を受信するステップであって、規則の定義が構成要素名への参照を含み、構成要素名への参照がコンテキストオブジェクトの参照に対応する、受信するステップをさらに含む。
さまざまな例示的な実施形態は、Diameterメッセージを処理するためにDiameterルーティングエージェント(DRA)によって実行される方法であって、DRAで送信元デバイスからDiameterメッセージを受信するステップと、Diameterメッセージを受信するステップに応答してルーティング決定コンテキストオブジェクトを確立するステップであって、ルーティング決定コンテキストオブジェクトが、前のメッセージを受信するために選択された送信先デバイスに関連する、確立するステップと、コンテキストオブジェクトの参照を含む規則を評価するステップであって、評価が、コンテキストオブジェクトの参照に基づいてルーティング決定コンテキストオブジェクトにアクセスすることを含む、評価するステップと、規則の評価に基づいてメッセージを送信するステップとを含む、方法に関する。
さまざまな例示的な実施形態は、Diameterメッセージを処理するためのDiameterルーティングエージェント(DRA)であって、コンテキストオブジェクトの参照を含む規則を格納するように構成された規則ストレージと、前のルーティングの決定を格納するように構成されたルーティング決定データベースであって、前のルーティングの決定が、前のメッセージのために選択された送信先デバイスの識別情報を含む、ルーティング決定データベースと、送信元デバイスからDiameterメッセージを受信するように構成されたDiameterスタックと、Diameterメッセージを受信することに基づいてルーティング決定コンテキストオブジェクトを確立するように構成されたコンテキスト生成器であって、ルーティング決定コンテキストオブジェクトが前のルーティングの決定に関連する、コンテキスト生成器と、規則を評価するように構成された規則エンジンであって、評価が、コンテキストオブジェクトの参照に基づいてルーティング決定コンテキストオブジェクトにアクセスすることを含む、規則エンジンと、Diameterスタックを介して規則の評価に基づいてメッセージを送信するように構成されたメッセージハンドラとを含む、Diameterルーティングエージェント(DRA)に関する。
さまざまな例示的な実施形態は、Diameterメッセージを処理するためにDiameterルーティングエージェント(DRA)によって実行するための命令を符号化された非一時的機械可読ストレージ媒体であって、DRAで送信元デバイスからDiameterメッセージを受信するための命令と、Diameterメッセージを受信することに応答してルーティング決定コンテキストオブジェクトを確立するための命令であって、ルーティング決定コンテキストオブジェクトが、前のメッセージを受信するために選択された送信先デバイスに関連する、確立するための命令と、コンテキストオブジェクトの参照に基づいてルーティング決定コンテキストオブジェクトにアクセスするための命令を含む、コンテキストオブジェクトの参照を含む規則を評価するための命令と、規則の評価に基づいてメッセージを送信するための命令とを含む、非一時的機械可読ストレージ媒体に関する。
規則の評価に基づいてメッセージを送信するステップがDiameterメッセージを送信先デバイスに送信するステップを含むさまざまな実施形態が、説明される。
Diameterメッセージが第1のDiameterアプリケーションに関連し、前のメッセージが第2のDiameterアプリケーションに関連するさまざまな実施形態が、説明される。
さまざまな実施形態は、Diameterメッセージを受信するステップの前に、DRAで前のメッセージを受信するステップと、前のメッセージが送信先デバイスにルーティングされるべきであると決定するステップと、送信先デバイスに前のメッセージを送信するステップと、前のメッセージおよび送信先デバイスの識別情報をルーティングの決定として格納するステップとをさらに含む。
ルーティング決定コンテキストオブジェクトにアクセスすることがルーティングの決定に関連するタイムスタンプを更新することを含むさまざまな実施形態が、説明される。
さまざまな実施形態は、ルーティングの決定がルーティングの決定に関連するタイムスタンプに基づいて削除されるべきであると判定するステップと、DRAのメモリからルーティングの決定を削除するステップとをさらに含む。
ルーティング決定コンテキストオブジェクトを確立するステップおよびルーティング決定コンテキストオブジェクトにアクセスすることのうちの少なくとも一方が、Diameterメッセージから少なくとも1つの識別情報を抽出するステップと、少なくとも1つの識別情報が前のメッセージに対応すると判定するステップとを含むさまざまな実施形態が、説明される。
さまざまな例示的な実施形態は、Diameterメッセージを処理するためにDiameterルーティングエージェント(DRA)によって実行される方法であって、DRAで送信元デバイスからDiameterメッセージを受信するステップであって、Diameterメッセージが加入者に関連する、受信するステップと、Diameterメッセージを受信するステップに応答して加入者レコードコンテキストオブジェクトを確立するステップであって、加入者レコードコンテキストオブジェクトが加入者の加入者レコードに関連する、確立するステップと、コンテキストオブジェクトの参照を含む規則を評価するステップであって、評価が、コンテキストオブジェクトの参照に基づいて加入者レコードコンテキストオブジェクトにアクセスすることを含む、評価するステップと、規則の評価に基づいてメッセージを送信するステップとを含む、方法に関する。
さまざまな例示的な実施形態は、Diameterメッセージを処理するためのDiameterルーティングエージェント(DRA)であって、コンテキストオブジェクトの参照を含む規則を格納するように構成された規則ストレージと、送信元デバイスからDiameterメッセージを受信するように構成されたDiameterスタックであって、Diameterメッセージが加入者に関連する、Diameterスタックと、加入者レコードコンテキストオブジェクトを確立するように構成されたコンテキスト生成器であって、加入者レコードコンテキストオブジェクトが加入者の加入者レコードに関連する、コンテキスト生成器と、規則を評価するように構成された規則エンジンであって、評価が、コンテキストオブジェクトの参照に基づいて加入者レコードコンテキストオブジェクトにアクセスすることを含む、規則エンジンと、Diameterスタックを介して規則の評価に基づいてメッセージを送信するように構成されたメッセージハンドラとを含む、Diameterルーティングエージェント(DRA)に関する。
さまざまな例示的な実施形態は、Diameterメッセージを処理するためにDiameterルーティングエージェント(DRA)によって実行するための命令を符号化された非一時的機械可読ストレージ媒体であって、DRAで送信元デバイスからDiameterメッセージを受信するための命令であって、Diameterメッセージが加入者に関連する、受信するための命令と、Diameterメッセージを受信することに応答して加入者レコードコンテキストオブジェクトを確立するための命令であって、加入者レコードコンテキストオブジェクトが加入者の加入者レコードに関連する、確立するための命令と、コンテキストオブジェクトの参照に基づいて加入者レコードコンテキストオブジェクトにアクセスするための命令を含む、コンテキストオブジェクトの参照を含む規則を評価するための命令と、規則の評価に基づいてメッセージを送信するための命令とを含む、非一時的機械可読ストレージ媒体に関する。
加入者レコードコンテキストオブジェクトを確立するステップおよび加入者レコードコンテキストオブジェクトにアクセスすることのうちの少なくとも一方が、Diameterメッセージに関連する少なくとも1つの加入者識別子を判定するステップと、少なくとも1つの加入者識別子に関連する加入者レコードを取り出すステップとを含むさまざまな実施形態が、説明される。
加入者レコードを取り出すステップが加入者プロファイルリポジトリ(SPR)にメッセージを送信するステップを含むさまざまな実施形態が、説明される。
加入者レコードコンテキストオブジェクトにアクセスすることが加入者レコードのフィールドを読むことを含むさまざまな実施形態が、説明される。
加入者レコードコンテキストオブジェクトにアクセスすることが加入者レコードに値を書き込むことを含み、方法が修正された加入者レコードを格納するステップをさらに含むさまざまな実施形態が、説明される。
加入者レコードコンテキストオブジェクトにアクセスすることが加入者レコードコンテキストオブジェクトのアクションを呼び出すことを含み、加入者レコードコンテキストオブジェクトのアクションがコンテキストオブジェクトの関数以外のDRAの関数を呼び出すさまざまな実施形態が、説明される。
DRAの関数が加入者プロファイルリポジトリから加入者レコードを取り出すさまざまな実施形態が、説明される。
さまざまな例示的な実施形態をより深く理解するために、添付の図面が参照される。
Diameterルーティングエージェントに関する例示的なネットワーク環境を示す図である。 例示的なDiameterルーティングエージェントを示す図である。 Diameterメッセージを処理するための例示的な方法を示す図である。 コンテキストアーチファクトを利用するための例示的な方法を示す図である。 コンテキストオブジェクトのためのメタデータを生成するための例示的な方法を示す図である。 ルーティング決定コンテキストオブジェクトに関する例示的なクラス図である。 前のルーティングの決定を取り出すための例示的な方法を示す図である。 加入者レコードコンテキストオブジェクトに関する例示的なクラス図である。 加入者レコードを取り出すための例示的な方法を示す図である。 例示的な規則の組を示す図である。
説明および図面は、単に本発明の原理を示すに過ぎない。したがって、当業者が、本明細書において明示的に説明または図示されていないが、本発明の原理を具現化し、本発明の範囲内に含まれるさまざまな構成に想到することができることが理解されるであろう。さらに、本明細書に示されたすべての例は、もっぱら、本発明の原理、および当技術分野の発展のために(1人または複数の)発明者によってもたらされた概念を読者が理解することを助けるための教示のみを目的とするように明確に意図されており、そのような具体的に示された例および条件に限定されないと解釈されるべきである。加えて、本明細書において使用されるとき、用語「または(or)」は、そうでないことが示され(例えば、「さもなくば(or else)」または「またはその代替として(or in the alternative)」)ていない限り非排他的なまたは(or)(すなわち、および/または(and/or))を指す。また、本明細書において説明されるさまざまな実施形態は、新しい実施形態を形成するために一部の実施形態が1つまたは複数のその他の実施形態と組み合わされ得るので、必ずしも互いに排他的であるとは限らない。本明細書において使用されるとき、用語「コンテキスト」および「コンテキストオブジェクト」は、そうでないことが示されない限り同義であると理解される。
今日利用可能なDiameterルーティングエージェント(DRA)は、典型的にはハードコーディングまたはスクリプティングで定義される基本的な機能だけを提供する。したがって、概して、ユーザは、DRAのより複雑な挙動を容易で柔軟に定義することができるようにされない可能性がある。以上のことに鑑みて、DRAメッセージ処理の挙動のユーザ定義および拡張を容易にする方法およびシステムを提供することが望ましい。
図1は、Diameterルーティングエージェント(DRA)142のための例示的なネットワーク環境100を示す。例示的なネットワーク環境100は、さまざまなサービスを提供するための加入者ネットワークである可能性がある。さまざまな実施形態において、加入者ネットワーク100は、公衆陸上モバイルネットワーク(PLMN:public land mobile network)である可能性がある。例示的な加入者ネットワーク100は、さまざまなサービスへのアクセスを提供するための電気通信ネットワークまたはその他のネットワークである可能性がある。例示的な加入者ネットワーク100は、ユーザ機器110、基地局120、進化型パケットコア(EPC)130、パケットデータネットワーク150、およびアプリケーション機能(AF)160を含み得る。
ユーザ機器110は、エンドユーザにデータサービスを提供するためにパケットデータネットワーク150と通信するデバイスである可能性がある。そのようなデータサービスは、例えば、音声通信、テキストメッセージング、マルチメディアストリーミング、およびインターネットアクセスを含み得る。より詳細には、さまざまな例示的な実施形態において、ユーザ機器110は、パーソナルもしくはラップトップコンピュータ、無線電子メールデバイス、セル電話、タブレット、テレビセットトップボックス、またはEPC130を介してその他のデバイスと通信することができる任意のその他のデバイスである。
基地局120は、ユーザ機器110とEPC130との間の通信を可能にするデバイスである可能性がある。例えば、基地局120は、関連する3GPP規格によって定義された進化型nodeB(eNodeB)などの無線基地局である可能性がある。したがって、基地局120は、電波などの第1の媒体を介してユーザ機器110と通信し、イーサネット(登録商標)ケーブルなどの第2の媒体を介してEPC130と通信するデバイスである可能性がある。基地局120は、EPC130と直接通信する可能性があるか、またはいくつかの中間ノード(図示せず)を介して通信する可能性がある。さまざまな実施形態においては、ユーザ機器110にモビリティを提供するために複数の基地局(図示せず)が存在する可能性がある。さまざまな代替的な実施形態において、ユーザ機器110は、EPC130と直接通信する可能性があることに留意されたい。そのような実施形態においては、基地局120は存在しない可能性がある。
進化型パケットコア(EPC)130は、ユーザ機器110にパケットデータネットワーク140へのゲートウェイアクセスを提供するデバイスまたはデバイスのネットワークである可能性がある。さらに、EPC130は、提供されるデータサービスの使用について加入者に課金し、特定の体感品質(QoE)の基準が満たされることを保証することができる。このように、EPC130は、少なくとも部分的に、関連する3GPP規格に準じて実装され得る。EPC130は、サービングゲートウェイ(SGW)132、パケットデータネットワークゲートウェイ(PGW)134、およびセッション制御デバイス140を含み得る。
サービングゲートウェイ(SGW)132は、EPC130へのゲートウェイアクセスを提供するデバイスである可能性がある。SGW132は、ユーザ機器110によって送信されたパケットを受信するEPC130内の第1のデバイスのうちの1つである可能性がある。さまざまな実施形態は、SGW132の前にパケットを受信するモビリティ管理エンティティ(MME)(図示せず)も含み得る。SGW132は、そのようなパケットをPGW134に転送することができる。SGW132は、例えば、複数の基地局(図示せず)間のユーザ機器110のモビリティの管理、および提供されている各フローに関する特定のサービス品質(QoS)特性の施行などのいくつかの機能を実行することができる。プロキシモバイルIP(Proxy Mobile IP)規格を実装する実装などのさまざまな実装において、SGW132は、ベアラバインディングおよびイベント報告機能(BBERF:Bearer Binding and Event Reporting Function)を含み得る。さまざまな例示的な実施形態において、EPC130は、複数のSGW(図示せず)を含む可能性があり、各SGWが、複数の基地局(図示せず)と通信する可能性がある。
パケットデータネットワークゲートウェイ(PGW)134は、パケットデータネットワーク140へのゲートウェイアクセスを提供するデバイスである可能性がある。PGW134は、ユーザ機器110によってSGW132を介してパケットデータネットワーク140に送信されたパケットを受信するEPC130内の最後のデバイスである可能性がある。PGW134は、各サービスデータフロー(SDF)に関するポリシーおよび課金制御(PCC)規則を施行するポリシーおよび課金施行機能(PCEF:policy and charging enforcement function)を含み得る。したがって、PGW134は、ポリシーおよび課金施行ノード(PCEN:policy and charging enforcement node)である可能性がある。PGW134は、例えば、パケットフィルタリング、ディープパケットインスペクション、および加入者課金のサポートなどのいくつかの追加的な特徴を含み得る。PGW134は、知られていないアプリケーションサービスに対するリソース割り当てを要求する役割を担う可能性もある。
セッション制御デバイス140は、EPC130内のさまざまな管理またはその他の機能を提供するデバイスである可能性がある。例えば、セッション制御デバイス140は、ポリシーおよび課金規則機能(PCRF:Policy and Charging Rules Function)を提供する可能性がある。さまざまな実施形態において、セッション制御デバイス140は、Alcatel Lucent 5780 Dynamic Services Controller(DSC)を含み得る。セッション制御デバイス140は、DRA142、複数のポリシーおよび課金規則ブレード(PCRB:policy and charging rules blade)144、146、ならびに加入者プロファイルリポジトリを含み得る。
以下でより詳細に説明されるように、DRA142は、インテリジェントなDiameterルーティングエージェントである可能性がある。したがって、DRA142は、さまざまなDiameterメッセージを受信、処理、および送信することができる。DRA142は、DRA142が出くわす可能性があるさまざまなDiameterメッセージに関するDRA142の挙動を管理するいくつかのユーザ定義の規則を含み得る。そのような規則に基づいて、DRA142は、リレーエージェント、プロキシエージェント、またはリダイレクトエージェントとして動作する可能性がある。例えば、DRA142は、受信されたメッセージを適切な受信側デバイスに中継する可能性がある。そのようなルーティングは、到着するメッセージおよび出て行くメッセージ、ならびにセッション制御デバイスの内部のメッセージに対して実行される可能性がある。
ポリシーおよび課金規則ブレード(PCRB)144、146は、それぞれ、アプリケーションサービスの要求を受信し、PCC規則を生成し、PCC規則をPGW134またはその他のPCEN(図示せず)に提供するデバイスまたはデバイスのグループである可能性がある。PCRB144、146は、RxインターフェースによってAF160と通信する可能性がある。AF160に関連して以下でさらに詳細に説明されるように、PCRB144、146は、AF160から認証および認可要求(AAR)の形態のアプリケーション要求を受信する可能性がある。AARを受信すると、PCRB144、146は、アプリケーション要求を満たすための少なくとも1つの新しいPCC規則を生成することができる。
PCRB144、146は、それぞれGxxおよびGxインターフェースによってSGW132およびPGW134とやはり通信する可能性がある。PCRB144、146は、SGW132またはPGW134からクレジット制御要求(CCR:credit control request)の形態でアプリケーション要求を受信する可能性がある。AARと同様に、CCRを受信すると、PCRB144、146は、アプリケーション要求を満たすための少なくとも1つの新しいPCC規則を生成することができる。さまざまな実施形態において、AARおよびCCRは、別々に処理されるべき2つの独立したアプリケーション要求を表す可能性があり、一方、その他の実施形態においては、AARおよびCCRは、単一のアプリケーション要求に関する情報を運ぶ可能性があり、PCRB144、146は、AARとCCRとの組み合わせに基づいて少なくとも1つのPCC規則を生成する可能性がある。さまざまな実施形態において、PCRB144、146は、単一のメッセージのアプリケーション要求と、対のメッセージのアプリケーション要求との両方を処理することができる可能性がある。
新しいPCC規則を生成すると、またはPGW134によって要求されると、PCRB144、146は、Gxインターフェースを介してPGW134にPCC規則を与える可能性がある。例えば、プロキシモバイルIP(PMIP)規格を実装する実施形態などのさまざまな実施形態において、PCRB144、146は、QoS規則も生成する可能性がある。新しいQoS規則を生成すると、またはSGW132によって要求されると、PCRB144、146は、Gxxインターフェースを介してSGW132にQoS規則を与える可能性がある。
加入者プロファイルリポジトリ(SPR)148は、加入者ネットワーク100への加入者に関連する情報を格納するデバイスである可能性がある。したがって、SPR148は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスクストレージ媒体、光学式ストレージ媒体、フラッシュメモリデバイス、および/または同様のストレージ媒体などの機械可読ストレージ媒体を含み得る。SPR148は、PCRB144、146のうちの1つのコンポーネントである可能性があるか、またはEPC130またはセッション制御デバイス140内の独立したノードを構成する可能性がある。SPR138によって格納されるデータは、それぞれの加入者の識別子、帯域幅の制限、課金パラメータ、および加入者の優先度などの加入者情報を含み得る。
パケットデータネットワーク150は、ユーザ機器110と、AF160などのパケットデータネットワーク150に接続されたその他のデバイスとの間のデータ通信を提供するための任意のネットワークである可能性がある。パケットデータネットワーク150は、パケットデータネットワーク150と通信するさまざまなユーザデバイスに、例えば、電話またはインターネットサービスをさらに提供する可能性がある。
アプリケーション機能(AF)160は、ユーザ機器110に知られているアプリケーションサービスを提供するデバイスである可能性がある。したがって、AF160は、ユーザ機器110に、例えば、ビデオストリーミングまたは音声通信サービスを提供するサーバまたはその他のデバイスである可能性がある。さらに、AF160は、Rxインターフェースを介してEPC130のPCRB144、146と通信する可能性がある。AF160は、ユーザ機器110への知られているアプリケーションサービスの提供を開始すべきであるとき、Diameterプロトコルにしたがって認証および認可要求(AAR)などのアプリケーション要求メッセージを生成して、アプリケーションサービスにリソースが割り当てられるべきであることをPCRB144、146に知らせることができる。このアプリケーション要求メッセージは、アプリケーションサービスを使用する加入者の識別情報、加入者のIPアドレス、関連するIP−CANセッションに関するAPN、または要求されたサービスを提供するために確立されなければならない特定のサービスデータフローの識別情報などの情報を含み得る。
理解されるであろうように、さまざまなDiameterアプリケーションが、加入者ネットワーク100内で確立され、DRA142によってサポートされる可能性がある。例えば、Rxアプリケーションが、AF160とPCRB144、146のそれぞれとの間で確立される可能性がある。別の例として、Spアプリケーションが、SPR148とPCRB144、146のそれぞれとの間で確立される可能性がある。さらに別の例として、S9アプリケーションが、PCRB144、146のうちの1つまたは複数と、別のPCRFを実装する遠隔のデバイス(図示せず)との間で確立される可能性がある。理解されるであろうように、多数のその他のDiameterアプリケーションが、加入者ネットワーク100内で確立される可能性がある。
さまざまな潜在的なDiameterアプリケーションをサポートする際、DRA142は、Diameterメッセージを受信し、メッセージを処理し、処理に基づいてアクションを実行することができる。例えば、DRA142は、PGW134からGx CCRを受信し、Gx CCRを処理するための適切なPCRB144、146を識別し、識別されたPCRB144、146にGx CCRを転送する可能性がある。DRA142は、PCRB144、146によって送信された後続のGx CCAを、PCRB144、146の代わりにDRA142を指す送信元ホストの識別情報を運ぶように修正することによってプロキシとして動作する可能性もある。追加的にまたは代替的に、DRA142は、リダイレクトエージェントとして動作するか、またはそうでなければ、適切な応答メッセージを形成し、適切な要求元デバイスに応答メッセージを送信することによって要求メッセージに直接応答する可能性がある。
図2は、例示的なDiameterルーティングエージェント(DRA)200を示す。DRA200は、スタンドアロンのデバイス、または別のシステムの構成要素である可能性がある。例えば、DRA200は、例示的な環境100のDRA142に対応する可能性がある。そのような実施形態において、DRA142は、Gx、Gxx、Rx、またはSpなどの3GPPによって定義されたさまざまなDiameterアプリケーションをサポートする可能性がある。DRA200は、追加的なまたは代替的なアプリケーションがサポートされるさまざまな代替的な実施形態で配備され得ることが理解されるであろう。したがって、本明細書において説明される方法およびシステムが、概して、任意のDiameterアプリケーションをサポートすることに適用され得る可能性があることは、明らかであろう。
DRA200は、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は、DRA200のその他の構成要素がDiameterスタックの機能性を呼び出すことができるようにアプリケーションプログラムインターフェース(API)を提供する可能性がある。例えば、規則エンジン215は、APIを利用して、受信されたCCRから属性−値ペア(AVP)を読み、新しいCCAのAVPを修正することができる可能性がある。さまざまなさらなる機能性が、以下の説明から明らかになるであろう。
メッセージハンドラ210は、受信されたメッセージを解釈し、必要に応じて規則エンジン215を呼び出すように構成されたハードウェアまたは機械可読ストレージ媒体上の実行可能命令を含み得る。さまざまな実施形態において、メッセージハンドラ210は、Diameterスタック205によって受信されたメッセージからメッセージタイプを抽出し、抽出されたメッセージタイプに適する規則の組を用いて規則エンジンを呼び出すことができる。例えば、メッセージタイプは、受信されたメッセージのアプリケーションおよびコマンドによって定義される可能性がある。規則エンジン215が1つまたは複数の規則の評価を終えた後、メッセージハンドラ210は、規則エンジン215によって呼び出された1つまたは複数のコンテキストオブジェクトのアクションに基づいてDiameterスタックを介して1つまたは複数のメッセージを送信することができる。
規則エンジン215は、規則ストレージ220に格納された1つまたは複数の規則を評価することによって受信されたメッセージを処理するように構成されたハードウェアまたは機械可読ストレージ媒体上の実行可能命令を含み得る。したがって、規則エンジン215は、ある種の処理エンジンである可能性がある。規則エンジン215は、1つまたは複数の規則を取り出し、規則の基準を評価して規則が適用可能であるかどうかを判定し、任意の適用可能な規則の1つまたは複数の結果を指定することができる。例えば、規則エンジン215は、受信されたGx CCRがDRA200を識別する送信先ホストAVPを含むときに、規則が適用可能であると判定する可能性がある。規則は、メッセージが転送される前に送信先ホストAVPがPCRBを識別するように変更されるべきであることを指定する可能性がある。
規則ストレージ220は、規則エンジン215による評価のための1つまたは複数の規則を格納することができる任意の機械可読媒体である可能性がある。したがって、規則ストレージ220は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスクストレージ媒体、光学式ストレージ媒体、フラッシュメモリデバイス、および/または同様のストレージ媒体などの機械可読ストレージ媒体を含み得る。さまざまな実施形態において、規則ストレージ220は、1つまたは複数の規則の組を二分決定木データ構造として格納する可能性がある。規則の組を格納するためのさまざまなその他のデータ構造は、明らかであろう。
さまざまな構成要素は、規則を評価することまたは規則に基づいてコンテキストオブジェクトにアクセスすることなどの機能を実行するように構成されるものとして説明されるが、そのような構成は、任意の規則が規則ストレージに存在することを必要としない可能性があることが理解されるであろう。例えば、規則エンジン215が、たとえコンテキストオブジェクトの参照を含む規則が規則ストレージ220に格納されていないとしてもそのような規則を評価するように構成される可能性がある。その後、ユーザがそのような規則を規則ストレージに追加する場合、規則エンジン215は、本明細書において説明されるように規則を処理することができる。換言すれば、本明細書において使用されるとき、語句「〜ように構成された(configured to)」は、規則に関する機能性に関連して使用されるとき、構成要素が、そのような機能性を要求する規則が実際に存在するかどうかに関わらず必要に応じて機能性を実行することができることを意味すると理解される。
ユーザインターフェース225は、ユーザとのコミュニケーションを可能にするように構成されたハードウェアまたは機械可読ストレージ媒体上の実行可能命令を含み得る。したがって、ユーザインターフェース225は、(Diameterスタック205に含まれるネットワークインターフェースなどの)ネットワークインターフェース、モニタ、キーボード、マウス、またはタッチ感知式ディスプレイを含み得る。ユーザインターフェース225は、ユーザのインタラクションを容易にするためのグラフィカルユーザインターフェース(GUI)も提供する可能性がある。ユーザインターフェース225は、ユーザがDRA200の挙動をカスタマイズすることを可能にし得る。例えば、ユーザインターフェース225は、規則ストレージ220に格納し、規則エンジン215により評価するための規則をユーザが定義することを可能にし得る。ユーザがユーザインターフェース225を介してDRA200の挙動をカスタマイズするためのさまざまなさらなる方法は、当業者に明らかであろう。
さまざまな実施形態によれば、規則ストレージ220は、1つまたは複数の「コンテキスト」または「コンテキストオブジェクト」を参照する規則を含み得る。そのような実施形態において、コンテキスト生成器230は、コンテキストオブジェクトをインスタンス化し、要求元構成要素にコンテキストオブジェクトのメタデータを提供するように構成されたハードウェアまたは機械可読ストレージ媒体上の実行可能命令を含み得る。コンテキストオブジェクトは、コンテキスト生成器230によってランタイムでインスタンス化される可能性があり、規則エンジン215をサポートし、ユーザがユーザインターフェース225を介して複雑な規則を定義することを可能にするために有用な属性またはアクションを含む可能性がある。例えば、コンテキスト生成器230は、さまざまなDiameterメッセージ、前のルーティングの決定、または加入者プロファイルを示すコンテキストオブジェクトを提供する可能性がある。
DRA200が処理されるべきDiameterメッセージを受信すると、メッセージハンドラ210は、適切なコンテキストオブジェクトがインスタンス化されるべきであるという指示をコンテキスト生成器230に送信することができる。そのとき、コンテキスト生成器230は、そのようなコンテキストオブジェクトをインスタンス化することができる。一部の実施形態において、コンテキスト生成器230は、すべての知られているコンテキストオブジェクトをインスタンス化することができるか、または規則ストレージ220によって適用される規則の組によって実際に使用されるコンテキストオブジェクトのみをインスタンス化することができる。その他の実施形態において、コンテキスト生成器230は、コンテキストオブジェクトが規則エンジン215によって実際に要求されるまでそのコンテキストオブジェクトをインスタンス化しない可能性がある。
加えて、コンテキスト生成器230は、コンテキストのメタデータをユーザインターフェース225に提供することによって規則の生成を容易にする可能性がある。さまざまな実施形態において、コンテキスト生成器230は、どのコンテキストオブジェクトが規則の組が修正されるために利用可能である可能性があるか、およびどの属性またはアクションを各コンテキストオブジェクトが持っている可能性があるかをユーザインターフェース225に示すことができる。この情報を用いて、ユーザインターフェース225は、複雑な規則を生成するためのポイントアンドクリックインターフェースを表示することができる。例えば、ユーザインターフェース225は、構築または修正中の規則に含めるためにリストからコンテキストオブジェクトの所望の属性またはアクションをユーザが選択することを可能にする可能性がある。
コンテキスト生成器230は、コンテキストオブジェクトを確立する際に、コンテキストアーチファクトストレージ240に格納された1つまたは複数のコンテキストアーチファクトに依拠する可能性がある。したがって、コンテキストアーチファクトストレージ240は、1つまたは複数のコンテキストアーチファクトを格納することができる任意の機械可読媒体である可能性がある。したがって、コンテキストアーチファクトストレージ240は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスクストレージ媒体、光学式ストレージ媒体、フラッシュメモリデバイス、および/または同様のストレージ媒体などの機械可読ストレージ媒体を含み得る。コンテキストアーチファクトストレージ240は、例えば、ランタイムライブラリなどのさまざまな形態でアーチファクトを格納する可能性がある。さまざまな実施形態において、そのようなランタイムライブラリは、Java(登録商標)アーカイブ(.jar)ファイルとして格納される可能性がある。
それぞれのコンテキストアーチファクトは、コンテキストオブジェクトのために利用可能な属性またはアクションを定義することができる。さまざまな実施形態において、コンテキストアーチファクトは、属性またはアクションがアクセスされるときに実行されるべき1つまたは複数の関数を定義することができる。そのような関数は、DiameterスタックのAPIにアクセスするなど、DRA200のその他の機能を利用する可能性があり、または属性またはアクションを呼び出した構成要素に値を返す可能性がある。コンテキストアーチファクトは、コンテキストオブジェクトのアクションおよび属性を記述するためにコンテキスト生成器230がユーザインターフェース225に提供するためのタグまたはその他のメタデータも含む可能性がある。例示的なDRA200において、コンテキストアーチファクトストレージ240は、メッセージコンテキスト、ルーティング決定コンテキスト、または加入者レコードコンテキストを定義するコンテキストアーチファクトを格納することができる。これらのコンテキストアーチファクトは、異なる種類のコンテキストオブジェクトをインスタンス化するためにコンテキスト生成器230によってランタイムで使用される可能性がある。したがって、コンテキスト生成器230は、メッセージコンテキストモジュール232、ルーティング決定コンテキストモジュール236、および加入者レコードコンテキストモジュール238を含むと見なされ得る。さまざまな実施形態において、ユーザは、既存のファイル(例えば、.jarファイル)を指定することによるなどして、コンテキストアーチファクトストレージに格納するために、ユーザインターフェース225を介して新しいコンテキストアーチファクトを定義することができる可能性がある。
メッセージコンテキストモジュール232は、Diameterメッセージを示し、Diameterメッセージへのアクセスを示し提供するコンテキストオブジェクトを生成するコンテキスト生成器230の能力を表す可能性がある。例えば、メッセージコンテキストモジュール232は、受信されたメッセージを示すコンテキストオブジェクトを生成する可能性がある。さまざまな実施形態において、メッセージコンテキストモジュール232は、必要に応じて、受信されたDiameterメッセージに関連する要求メッセージまたは応答メッセージを示すコンテキストオブジェクトを生成するようにやはり構成される可能性がある。したがって、メッセージコンテキストモジュール232は、受信メッセージサブモジュール233、関連要求サブモジュール234、および関連応答サブモジュール235を含むと見なされ得る。
Diameterメッセージの内容は、アプリケーションおよびコマンドの種類に応じて変わり得る。例えば、RX RAAメッセージは、GX CCRメッセージとは異なるデータを含む可能性がある。そのような違いは、関連するDiameterアプリケーションを管理するさまざまな規格によって定義される可能性がある。さらに、さまざまなベンダーが、プロプライエタリなまたはそうでなければ標準的でない定義を含む可能性がある。メッセージコンテキストモジュール232は、異なる種類のDiameterメッセージに関するメッセージコンテキストを生成するために、メッセージ辞書245に格納されたメッセージの定義に依拠する可能性がある。例えば、Diameterメッセージを受信すると、メッセージハンドラ210は、アプリケーションおよびコマンドタイプをコンテキスト生成器230に渡すことができる。そのとき、メッセージコンテキストモジュール232は、メッセージ辞書245内で一致する定義を見つけることができる。この定義は、指定された種類のメッセージに存在し得るAVPを示す可能性がある。そのとき、メッセージコンテキストモジュール232は、メッセージの定義で識別されたAVPに合致する属性およびアクションを有するメッセージコンテキストオブジェクトをインスタンス化することができる。
メッセージ辞書245は、1つまたは複数のコンテキストアーチファクトを格納することができる任意の機械可読媒体である可能性がある。したがって、メッセージ辞書245は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスクストレージ媒体、光学式ストレージ媒体、フラッシュメモリデバイス、および/または同様のストレージ媒体などの機械可読ストレージ媒体を含み得る。メッセージ辞書245は、例えば、XMLファイルなどの適切な形態のさまざまなメッセージの定義を含み得る。メッセージ辞書245は、供給業者によってDRA200とともに含められたいくつかの予め定義された定義を含む可能性がある。さまざまな実施形態において、ユーザは、ユーザインターフェース225を介して新しいユーザ定義のメッセージの定義を与えることができる可能性がある。例えば、ユーザは、予め定義された定義によってまだ定義されていないアプリケーションをサポートしたい場合、メッセージ辞書245に格納するための定義ファイルを生成するかまたはそうでなければ取得することができる。さまざまな実施形態において、ユーザ定義の定義は、予め定義された定義とは異なるディレクトリなど、メッセージ辞書の異なる部分に格納される可能性がある。
さまざまな実施形態において、ユーザは、ユーザインターフェース225を介して予め定義された定義を拡張することもできる可能性がある。ユーザは、特定のメッセージタイプに現れるべき新しいAVPを定義するか追加のAVPを指定する拡張定義を与えることができる可能性がある。例えば、ユーザは、Rx AAR内のプロプライエタリのAVPをサポートしたい可能性がある。そのようなサポートを提供するために、ユーザは、プロプライエタリのAVPを定義し、プロプライエタリのAVPがRx AARに存在する可能性があることを示すXMLファイルなどの定義ファイルを与える可能性がある。そのような拡張定義は、予め定義された定義とは異なるメッセージ辞書245の領域に格納される可能性もある。メッセージコンテキストモジュール232は、新しいメッセージコンテキストオブジェクトをインスタンス化するか、またはコンテキストのメタデータをユーザインターフェース225に提供するとき、任意の適用可能な拡張定義を適用するように構成され得る。
上述のように、Diameterメッセージを受信すると、メッセージハンドラ210は、アプリケーションおよびコマンドタイプを抽出し、この情報をコンテキスト生成器230に渡すことができ、次いで、コンテキスト生成器230が、新しい受信メッセージコンテキストオブジェクトをインスタンス化するために任意の適用可能な定義を見つけることができる。受信メッセージサブモジュール233は、新しいコンテキストオブジェクトを受信されたDiameterメッセージ自体に関連付けるようにさらに構成され得る。例えば、受信メッセージサブモジュール233は、受信されたDiameterメッセージをDiameterスタック205からprivateまたはprotected変数にコピーする可能性がある。代替的に、受信メッセージサブモジュール233は、Diameterスタック205のAPIを介してDiameterメッセージへのアクセスを可能にすることに役立つDiameterメッセージの識別情報を格納する可能性がある。
さまざまな実施形態において、DRA200は、逆(inverse)メッセージコンテキストの使用をサポートする可能性がある。そのような実施形態において、受信されたDiameterメッセージからコマンドタイプを抽出すると、メッセージハンドラ210は、逆コマンドタイプも識別することができる。一部のそのような実施形態において、メッセージハンドラ210は、それぞれのメッセージコマンドの逆を識別するルックアップテーブルを実装し得る。例えば、受信されたDiameterメッセージがGx CCRであると判定すると、メッセージハンドラは、逆メッセージがGx CCAであると判定する可能性がある。メッセージハンドラ210は、この情報もコンテキスト生成器230に渡すことができる。
逆メッセージタイプを受信すると、メッセージコンテキストモジュール232は、受信されたメッセージコンテキストオブジェクトに関連して上で説明されたのと同様にして逆メッセージコンテキストオブジェクトをインスタンス化することができる。関連要求サブモジュール234または関連応答サブモジュール235は、必要に応じて、新しいコンテキストオブジェクトをメッセージデータにやはり関連付けることができる。逆メッセージが要求メッセージである場合、関連要求モジュール234は、Diameterスタック205に格納された既に処理された要求メッセージを識別し、上で説明されたのと同様にしてメッセージを新しいコンテキストオブジェクトに関連付けることができる。さまざまな実施形態において、応答メッセージを受信すると、Diameterスタック205は、応答メッセージが対応する既に処理され、転送された要求メッセージを見つけることができる。Diameterスタック205は、コンテキスト生成器230またはDRA200のその他の構成要素による使用のためにAPIを通じてこの関連する要求メッセージを提示することができる。前の要求メッセージを関連する要求コンテキストオブジェクトに関連付けることによって、規則エンジン215は、処理されている応答メッセージの送信を促した要求メッセージによって運ばれたAVPにアクセスすることができる属性を与えられ得る。
一方、逆メッセージが応答メッセージであるとき、関連応答モジュール235は、例えば、APIを介して、Diameterスタック205が応答メッセージを構築することを要求することによって新しい応答メッセージを構築することができる。新しい応答メッセージは、全くの空である可能性があり、または受信されたDiameter要求メッセージからコピーされた少なくともいくつかの値を含む可能性がある。関連応答モジュール235は、受信メッセージモジュール233に関連して上で説明されたようにして新しいコンテキストオブジェクトを新しい応答メッセージに関連付けることができる。そのとき、関連する応答コンテキストオブジェクトは、新しい応答メッセージを修正することができるさまざまなアクションに規則エンジン215がアクセスすることができるようにする可能性がある。例えば、規則エンジンは、関連する応答コンテキストオブジェクトのアクションを利用して、応答メッセージの結果コード(result−code)AVPを設定する可能性があり、それによって、受信された要求を送信したデバイスに応答が返信されるべきであることをメッセージハンドラ210に示す。そのとき、メッセージハンドラ210は、受信された要求メッセージを任意のその他のデバイスに転送することを控える可能性もある。
上述のように、コンテキスト生成器230は、Diameterメッセージを示さないその他のコンテキストオブジェクトを定義することができる可能性がある。そのようなコンテキストオブジェクトは、「計算コンテキスト(computational context)」と呼ばれる可能性があり、コンテキストアーチファクトストレージ240のコンテキストアーチファクトによってやはり定義される可能性がある。例として、ルーティング決定コンテキストモジュール236は、ルーティング決定コンテキストオブジェクトをインスタンス化するように構成され得る。そのようなルーティング決定コンテキストは、それぞれの受信されたDiameterメッセージに関して、受信されたメッセージに適用することができる可能性がある前になされたルーティングの決定を識別することができる。そのような前になされたルーティングの決定は、受信されたメッセージを既に処理されたメッセージと相互に関連付けるためのセッション識別子とともにルーティング決定データベース250に格納され得る。ルーティング決定データベース250は、そのようなルーティングの決定を格納することができる任意の機械可読媒体である可能性がある。したがって、ルーティング決定データベース250は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスクストレージ媒体、光学式ストレージ媒体、フラッシュメモリデバイス、および/または同様のストレージ媒体などの機械可読ストレージ媒体を含み得る。
計算コンテキストは、その他のDRA200の機能性によってサポートされる可能性がある。例えば、DRA200は、ルーティング決定データベース250から古いエントリを周期的に削除するクリーンアップモジュール255を含み得る。一部の実施形態において、ルーティング決定コンテキストオブジェクトは、クリーンアップモジュール255と直接インタラクションしない可能性がある。その代わりに、クリーンアップ255は、ルーティング決定データベース250の内容を修正することによって間接的にルーティング決定コンテキストオブジェクトの挙動に影響を与えながら独立して動作する可能性がある。
計算コンテキストの別の例として、加入者レコードコンテキストモジュール238は、加入者レコードコンテキストオブジェクトを生成することができる。加入者レコードコンテキストオブジェクトは、加入者レコード取得器260などのその他のDRA200の機能性を利用して、受信されたDiameterメッセージに関する加入者レコードを取り出すことができる。加入者レコード取得器260は、Diameterスタック205を介して加入者プロファイルリポジトリ(SPR)と通信してDiameterメッセージに関する加入者レコードを取り出すように構成されたハードウェアまたは機械可読ストレージ媒体上の実行可能命令を含み得る。そのような通信は、例えば、Spアプリケーションに応じて実行される可能性がある。加入者レコード取得器260を実装するさまざまな方法は、明らかであろう。加入者レコードのこの取り出しを通じて、加入者レコードコンテキストオブジェクトは、加入者レコードに規則エンジン215がアクセスできるようにする可能性がある。
規則ストレージ220、コンテキストアーチファクトストレージ240、メッセージ辞書245、およびルーティング決定データベース250は別々のデバイスとして示されているが、これらの構成要素のうちの1つまたは複数は、複数のストレージデバイスに存在する可能性があることに留意されたい。さらに、これらの構成要素のうちの1つまたは複数は、ストレージデバイスを共有する可能性がある。例えば、規則ストレージ、コンテキストアーチファクトストレージ240、メッセージ辞書245、およびルーティング決定データベース250は、すべて、同じハードディスクまたはフラッシュメモリデバイスの一部を指す可能性がある。
図3は、Diameterメッセージを処理するための例示的な方法300を示す。方法300は、例えば、Diameterスタック205、メッセージハンドラ210、規則エンジン215、またはコンテキスト生成器230などのDRA200の構成要素によって実行される可能性がある。
方法300は、ステップ305で始まり、DRA200が処理されるべきDiameterメッセージを受信することができるステップ310に進む可能性がある。次に、ステップ315において、DRA200が、受信されたDiameterメッセージからメッセージタイプを抽出する可能性がある。さまざまな実施形態において、メッセージタイプは、メッセージのアプリケーションおよびコマンドタイプによって定義される可能性がある。それから、ステップ320において、DRAが、抽出されたメッセージタイプを用いて、受信されたDiameterメッセージをラップするメッセージコンテキストオブジェクトを確立する可能性がある。同様にして、DRA200が、ステップ325において、Diameterメッセージの逆に関するメッセージコンテキストオブジェクトを確立する可能性がある。例えば、DRA200は、ルックアップテーブルを用いて、抽出されたメッセージタイプの逆メッセージタイプを識別し、逆メッセージタイプに基づいて新しいメッセージコンテキストを要求する可能性がある。
次いで、ステップ330において、DRA200が、DRA200がコンテキストアーチファクトを格納するかまたは規則エンジンが要求する可能性がある任意のその他の計算コンテキストオブジェクトを確立し始める可能性がある。例えば、DRA200は、ルーティング決定コンテキストオブジェクトおよび加入者レコードコンテキストオブジェクトを確立する可能性がある。適切なコンテキストオブジェクトが少なくともインスタンス化された後、方法300は、DRA200が受信されたDiameterメッセージを処理する際に評価すべき1つまたは複数の適切な規則の組を選択するステップ335に進む可能性がある。さまざまな実施形態において、DRA200は、それぞれのメッセージタイプに関する規則の組を格納することができる。一部の実施形態において、DRA200は、追加的にまたは代替的に、概して、すべてのDiameterメッセージ、特定のアプリケーションのすべてのDiameterメッセージ、またはDiameterメッセージの別のサブセットに適用可能な規則の組を格納することができる。
適切な規則の組を識別した後、DRA200が、ステップ340において、選択された規則の組またはテーブルを、インスタンス化されたコンテキストに対して評価する可能性がある。個々の規則は、本明細書においては「コンテキストオブジェクトの参照」と呼ばれるコンテキストオブジェクトのさまざまな構成要素に対する参照を含む可能性がある。そのような構成要素は、コンテキストオブジェクトの属性またはアクションを構成する可能性がある。そのような参照を含む規則を評価するために、DRAは、参照された構成要素にアクセスすることができる。例えば、コンテキストオブジェクトの属性が、規則が適用可能であるかどうかを判定するための比較に使用される可能性があり、またはコンテキストオブジェクトのアクションが、規則の結果を適用する際に使用される可能性がある。コンテキストオブジェクトに対する参照のさまざまなさらなる用途は、明らかであろう。適切な規則の組を適用した後、DRA200が、ステップ345において、1つまたは複数のメッセージをその他のデバイスに送信する可能性がある。例えば、DRAは、修正される可能性があるDiameterメッセージを別のデバイスに転送する可能性があり、または受信されたメッセージを送信したデバイスに応答を返送する可能性がある。方法300は、次に、ステップ350で終了する可能性がある。
図4は、コンテキストアーチファクトを利用するための例示的な方法400を示す。方法400は、例えば、ユーザインターフェース225またはコンテキスト生成器230などのDRA200の構成要素によって実行される可能性がある。方法400は、例えば、システムが起動したとき、ユーザインターフェースによって要求されたとき、またはDiameterメッセージを受信したときに実行される可能性がある。コンテキストアーチファクトは、計算コンテキストおよびメッセージコンテキストを定義するために使用され得ることが理解されるであろう。
方法400は、ステップ405で始まり、DRAが処理すべきコンテキストアーチファクトに関して1つまたは複数のディレクトリを詳しく調べることができるステップ410に進む可能性がある。さまざまな実施形態において、DRAは、ストレージデバイスまたは特定のディレクトリで見つかったすべてのコンテキストアーチファクトを処理する可能性があり、または処理されるべきアーチファクトのリスト内の指定されたコンテキストアーチファクトのみを処理する可能性がある。コンテキストアーチファクトを見つけた後、方法400は、DRAが規則エンジン、ユーザインターフェース、またはコンテキスト生成器による使用のためにシステムにコンテキストオブジェクトタイプを追加することができるステップ415に進む可能性がある。コンテキストアーチファクトが1つまたは複数のJavaのクラスを定義する実施形態などのさまざまな実施形態において、ステップ415は、クラスによって定義されたコンテキストオブジェクトタイプを有するコンテキストオブジェクトのインスタンス化を可能にするためにコンテキストアーチファクトを解釈することを含む可能性がある。コンテキストアーチファクトを利用して新しいコンテキストオブジェクトタイプの使用を可能にするためのさまざまなその他の方法は、明らかであろう。
次に、ステップ420において、DRAが、コンテキストオブジェクトのコンテキストオブジェクトタイプに関する任意のメタデータを抽出する可能性がある。例えば、図5に関連して以下でより詳細に説明されるように、コンテキストアーチファクトは、コンテキストオブジェクトタイプ、属性、またはアクションのユーザが分かりやすい名前を指定する注釈またはタグを含む可能性がある。DRAは、ユーザインターフェースまたは規則エンジンによる使用のためにこのメタデータを格納する可能性がある。次に、ステップ425において、DRAが、さらなるコンテキストアーチファクトがまだ処理されずに残っているかどうかを判定する可能性がある。さらなるコンテキストアーチファクトが残っている場合、方法400は、ステップ410にループして戻る可能性がある。そうでない場合、方法400は、次に、ステップ430で終了する可能性がある。
上述のように、コンテキストアーチファクトは、DRAによる使用のためにさまざまなメタデータを指定する注釈またはタグを含む可能性がある。例えば、コンテキストオブジェクト「Floober」に関するコンテキストアーチファクトは、部分的に以下のように読める可能性がある。
Figure 2015519842
Figure 2015519842
上の例において、コンテキストアーチファクトは、3つの注釈を含む可能性がある。第1の注釈は、コンテキストオブジェクトタイプに関する名前(「Floober」)を指定する可能性があり、その他の2つの注釈は、コンテキストオブジェクトの構成要素に関する名前(「Floober−Attribute」および「Floober−Action」)を指定する可能性がある。このメタデータを用いて、ユーザインターフェースは、ユーザが関数getFlooberValue()およびdoFloober()への参照を含む規則を構築することを可能にし得る。そのような参照は、例えば、それぞれ、「Floober.Floober−Attribute」および「Floober.Floober−Action」である可能性がある。
図5は、コンテキストオブジェクトのためのメタデータを生成するための例示的な方法500を示す。方法500は、ユーザインターフェース225またはコンテキスト生成器230などのDRA200の構成要素によって実行される可能性がある。方法500は、例えば、システムの起動中、ユーザインターフェースによって要求されたとき、または規則エンジンによって要求されたときなどのさまざまな時間に実行される可能性がある。一部の実施形態において、方法500は、方法400のステップ420に対応する可能性があり、または方法300のステップ330と一緒に実行される可能性がある。
方法500は、ステップ505で始まり、DRAが処理すべきコンテキストアーチファクトを取り出すことができるステップ510に進む可能性がある。これは、アーチファクトストレージからアーチファクトを取り出すこと、または方法400などの別の方法で既に取り出されたアーチファクトを単に識別することを含む可能性がある。次に、ステップ515において、DRAが、コンテキスト名の注釈に関してコンテキストアーチファクトを詳しく調べる可能性がある。例えば、DRAは、文字列「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は、関数getFlooberValue()に関連してメタデータのレコードに属性名「Floober−Attribute」を追加する可能性がある。注釈がアクションに対応する場合、DRAが、ステップ540において、適切なクラスの関数に関連するメタデータのレコードに新しいアクションを追加する可能性がある。上の例において、DRAは、関数doFloober()に関連してメタデータのレコードにアクション名「Floober−Action」を追加する可能性がある。方法500は、次に、ステップ540かまたは545かのどちらかからステップ525にループして戻ることによってさらなる注釈に関するアーチファクトの分析を継続する可能性がある。
上述のように、コンテキストアーチファクトは、「ルーティング決定コンテキストオブジェクト」などの計算コンテキストを定義するために使用され得る。例えば、ルーティング決定コンテキストオブジェクトを定義するために、コンテキストアーチファクトは、部分的に以下のように読める可能性がある。
Figure 2015519842
Figure 2015519842
Figure 2015519842
図6は、ルーティング決定コンテキストオブジェクトに関する例示的なクラス図600を示す。クラス図600は、上の例示的なコンテキストアーチファクトで定義されたルーティング決定コンテキストオブジェクトタイプに基づくコンテキストオブジェクトを示す可能性がある。コンテキストアーチファクトの注釈によって指定された構成要素名に関連する構成要素は、そのような構成要素名によって示される可能性がある。
示されたように、ルーティング決定コンテキストオブジェクト620は、コンテキストベースクラス610を拡張する可能性がある。コンテキストベースクラスは、基本的なコンテキストオブジェクトの機能性を含む可能性がある。例えば、コンテキストベースクラス610は、受信されたDiameterメッセージを格納するためのprotected string変数を含む可能性がある。追加的にまたは代替的に、コンテキストベースクラスは、受信されたDiameterメッセージまたはその他のDiameterメッセージを読むかまたは操作するためにDiameterスタックのAPIとインターフェースをとるための1つまたは複数の関数を提供する可能性がある。コンテキストベースクラスで提供するのに好適なさまざまなさらなるまたは代替的な属性およびアクションは、明らかであろう。
ルーティング決定コンテキストオブジェクト620は、1つまたは複数の属性またはアクションを追加することによってコンテキストベースクラス610を拡張する可能性がある。例えば、ルーティング決定コンテキストオブジェクト620は、ユーザインターフェースまたは規則エンジンによる使用のためのBoolean「Decision−Exists」属性を追加する可能性がある。Decision−Exists属性は、コンテキストアーチファクトの関数として定義される可能性があるが、値を返すので規則エンジンまたはユーザインターフェースによって属性と見なされ得ることが理解されるであろう。ルーティング決定コンテキストオブジェクトは、ルーティング決定レコード、およびそのようなルーティング決定レコードがフェッチされたかどうかについての指示をそれぞれ格納するための「routingDecision」および「decisionFetched」などのprotected変数を含む可能性もある。
ルーティング決定レコードは、DRAによる使用のためのさまざまなデータを格納する可能性がある。例えば、ルーティング決定レコードは、ルーティング決定レコードが提示されたDiameterメッセージに当てはまるかどうかを判定するための1つまたは複数の識別子を含む可能性がある。さまざまな実施形態において、これらの識別子は、「セッションバインディング識別子」(SBI:Session Binding Identifier)を構成するためにまとめられ得る。SBIは、IPv4アドレス、IPv6アドレス、1つもしくは複数の加入者識別子、アクセスポイント名(APN)、またはDiameterセッション識別子を含み得る。また、ルーティング決定レコードは、前のDiameterメッセージがルーティングされたデバイスの識別情報をタイムスタンプと一緒に含む可能性がある。タイムスタンプは、例えば、クリーンアップ動作の一部としてルーティングレコードをメモリからいつ削除すべきかを決定する際に使用され得る。
ルーティング決定コンテキストオブジェクトは、いくつかのアクションをさらに含み得る。例えば、ルーティング決定コンテキストオブジェクト620は、「Update−Message−With−Destination」アクションを含み得る。このアクションは、ルーティング決定レコードから送信先を抽出し、受信されたDiameterメッセージのDestination−Host AVPに送信先識別子を挿入する可能性がある。別の例として、ルーティング決定コンテキストオブジェクト620は、ルーティング決定データベースに格納するために新しいルーティング決定レコードを生成することができる「Create−New−Routing−Decision」アクションを含み得る。例えば、規則は、Diameterメッセージを新しいDestination−Hostで更新した後、「Create−New−Routing−Decision」アクションを呼び出す可能性がある。そのとき、「Create−New−Routing−Decision」アクションは、SBIおよび送信先ホストを抽出して、現在のタイムスタンプを持つ新しいレコードを生成することができる。別の例として、「Update−Timestamp」アクションは、ルーティング決定レコードのクリーンアップを遅らせるために、ルーティング決定レコードの古いタイムスタンプを現在のタイムスタンプで上書きする可能性がある。ルーティング決定コンテキストオブジェクトに含まれる可能性があるさらなるアクション(図示せず)は、処理されているメッセージに関連するセッションに関するルーティング決定レコードを削除するためのアクション、または現在のメッセージに関連するすべてのルーティング決定レコード(例えば、同じIPに関するすべてのセッション)を削除するアクションを含み得る。
上述のさまざまな属性およびアクションは、ルーティングの決定の存在に依存する可能性がある。したがって、ルーティング決定コンテキストオブジェクト620は、受信されたメッセージからSBIを抽出し、SBIに一致するルーティング決定データベース内のルーティング決定レコードを見つけることを試みることができるprotected「FetchDecision」関数も含む可能性がある。さまざまな実施形態において、「FetchDecision」関数は、ルーティング決定コンテキストオブジェクトがルーティング決定コンテキストオブジェクトのクラスコンストラクタによるなどして初期化されるときに呼び出される可能性がある。その他の実施形態において、ルーティング決定コンテキストオブジェクト620は、ルーティング決定レコードが使用されるべきであるような時間まで「FetchDecision」を呼び出さない可能性がある。例えば、「Update−Message−With−Destination」、「Decision−Exists」、および「Update−Timestamp」構成要素が、それぞれ、「decisionFetched」変数が偽であるときに「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は、ルーティングレコードに関する「生存時間」の値を用いて構成され、この値および現在の時間に基づいて、各レコードが予め構成された生存時間を超えたかどうかを判定する可能性がある。そうである場合、クリーンアップモジュール255は、ルーティング決定データベース250からレコードを削除する可能性がある。
計算コンテキストの別の例として、コンテキストアーチファクトは、「加入者レコードコンテキストオブジェクト」を定義する可能性がある。例えば、加入者レコードコンテキストオブジェクトを定義するために、コンテキストアーチファクトは、部分的に以下のように読める可能性がある。
Figure 2015519842
Figure 2015519842
Figure 2015519842
上記の例において示されたように、その他のクラスに含まれるクラスが、注釈を含む可能性もある。例えば、[subContext]クラスは、「Subids」クラスによって定義されたオブジェクトを含む可能性がある。「Subids」クラスは、アクションのいくつかの属性に関するいくつかの注釈を含む可能性がある。さらに、「Subids」クラス自体が、クラス定義の前に「Subscriber−IDs」などの構成要素名によって注釈を付けられる可能性がある。さまざまな代替的な構成は、明らかであろう。例えば、「Subids」クラスに関する注釈が、「subscriberIDs」オブジェクトの定義の前に、「subContext」クラスの定義内で代わりに見つけられる可能性がある。
図8は、加入者レコードコンテキストオブジェクトに関する例示的なクラス図800を示す。クラス図800は、上の例示的なコンテキストアーチファクトで定義された加入者レコードコンテキストオブジェクトタイプに基づくコンテキストオブジェクトを示す可能性がある。コンテキストアーチファクトの注釈によって指定された構成要素名に関連する構成要素は、そのような構成要素名によって示される可能性がある。
示されたように、加入者レコードコンテキストオブジェクト820は、コンテキストベースクラス810を拡張する可能性がある。さまざまなその他の継承が使用され得ることが、理解されるであろう。例えば、加入者レコードコンテキストオブジェクト820は、LDAPサーバまたはデータベースとインターフェースをとるための基本的な機能性を実装するCommonLDAPContextオブジェクト(図示せず)を拡張する可能性がある。そしてまた、そのようなCommonLDAPContextオブジェクトは、コンテキストベースクラス810を拡張する可能性がある。クラスおよび継承のさまざまなその他の構成は、明らかであろう。
コンテキストベースクラスは、基本的なコンテキストオブジェクトの機能性を含む可能性がある。例えば、コンテキストベースクラス810は、受信されたDiameterメッセージを格納するためのprotected string変数を含む可能性がある。追加的にまたは代替的に、コンテキストベースクラスは、受信されたDiameterメッセージまたはその他のDiameterメッセージを読むかまたは操作するためにDiameterスタックのAPIとインターフェースをとるための1つまたは複数の関数を提供する可能性がある。コンテキストベースクラスで提供するのに好適なさまざまなさらなるまたは代替的な属性およびアクションは、明らかであろう。
加入者レコードコンテキストオブジェクト820は、1つまたは複数の属性またはアクションを追加することによってコンテキストベースクラス810を拡張する可能性がある。例えば、加入者レコードコンテキストオブジェクト820は、加入者レコード、およびそのような加入者レコードがフェッチされたかどうかについての指示をそれぞれ格納するための「subscriberRecord」および「recordFetched」などのprotected変数を含む可能性がある。
理解されるであろうように、加入者レコードは、DRAに関連して外部デバイスに格納される可能性がある。加入者レコードは、加入者に関連するさまざまなデータを格納する可能性がある。例えば、加入者レコードは、1つもしくは複数の加入者id、保証されるビットレート、最大ビットレート、合計最大ビットレート(aggregate maximum bitrate)、または課金基準を格納する可能性がある。
加入者レコードコンテキストオブジェクト820などの計算コンテキストオブジェクトは、コンテキストアーチファクトによってやはり定義される1つまたは複数のその他のオブジェクトを含む可能性がある。例えば、加入者レコードコンテキストオブジェクト820は、加入者識別子を格納する加入者レコードの1つまたは複数のフィールドにアクセスするために有用な属性またはアクションを含むSubscriber−IDsオブジェクトを含む可能性がある。Subscriber−IDsオブジェクト830は、加入者レコードから加入者識別子のリストを返すことができる「get」属性を含む可能性がある。さまざまな実施形態において、規則は、「get」属性自体を指定せずに「get」属性にアクセスするためにオブジェクト名を単に参照する可能性がある。例えば、規則は、「Subscriber Record.Subscriber−IDs.get」の代わりに、加入者識別子のリストを取り出すために「Subscriber Record.Subscriber−IDs」を参照する可能性がある。また、Subscriber−IDsオブジェクト830は、加入者レコードの加入者識別子を追加、削除、および修正するための「add」、「remove」、および「set」アクションを含む可能性がある。一部のアクションは、1つまたは複数のパラメータを受け入れる可能性がある。例えば、規則は、加入者レコードに新しい加入者識別子「foo」を追加するために「Subscriber Record.Subscriber−IDs.add foo」を呼び出す可能性がある。加入者レコードコンテキストオブジェクト820は、Subscriber−IDs830と同様の多数のさらなるオブジェクトを含み得ることが理解されるであろう。例えば、加入者レコードコンテキストオブジェクト820は、保証ビットレートオブジェクトまたはサービス品質(QoS)オブジェクト(図示せず)を含む可能性がある。
加入者レコードコンテキストオブジェクト820に関連して説明されたさまざまな属性およびアクションは、加入者レコードの存在に依存する可能性がある。したがって、加入者レコードコンテキストオブジェクト820は、受信されたメッセージから1つまたは複数の加入者識別子を抽出し、加入者識別子に一致するSPRの加入者レコードを要求することを試みることができるprotected「FetchRecord」関数を含む可能性がある。さまざまな実施形態において、「FetchRecord」関数は、加入者レコードコンテキストオブジェクトがルーティング決定コンテキストオブジェクトのクラスコンストラクタによるなどして初期化されるときに呼び出される可能性がある。その他の実施形態において、加入者レコードコンテキストオブジェクト820は、加入者レコードが使用されるべきであるような時間まで「FetchRecord」を呼び出さない可能性がある。例えば、「get」、「add」、「remove」、および「set」構成要素が、それぞれ、「recordFetched」変数が偽であるときに「FetchRecord」を呼び出す可能性がある。
ルーティングレコードコンテキストオブジェクト620または加入者レコードコンテキストオブジェクト820のさまざまなアクションまたは関数は、後の使用のために格納されるべきレコードを修正する可能性がある。例えば、加入者レコードコンテキストオブジェクト820は、加入者レコードに加入者識別子を追加する可能性がある。さまざまな実施形態において、ルーティングレコードコンテキストオブジェクト620または加入者レコードコンテキストオブジェクト820は、それぞれのコンテキストオブジェクトのローカルのレコードを格納する変数を修正し、後でレコードをコミットしてストレージに戻す可能性がある。例えば、ルーティングレコードコンテキストオブジェクト620または加入者レコードコンテキストオブジェクト820のデストラクタ関数は、それぞれのレコードを後で使用するために適切なストレージデバイスに送信する可能性がある。
図9は、加入者レコードを取り出すための例示的な方法900を示す。方法900は、加入者レコードコンテキストオブジェクト820の「FetchRecord」関数に対応する可能性がある。方法900は、例えば、コンテキスト生成器230などのDRAの構成要素によって実行される可能性がある。
方法900は、ステップ905で始まり、DRAが受信されたDiameterメッセージによって運ばれた1つまたは複数の加入者識別子を識別することができるステップ910に進む可能性がある。例えば、DRAは、DiameterメッセージからIPv4アドレス、IPv6アドレス、およびAPNを抽出する可能性がある。代替的に、加入者レコードコンテキストオブジェクトが、インスタンス化されると、Diameterメッセージから抽出された加入者識別子を既に格納している可能性がある。次に、ステップ915において、DRAが、SPRなどの別のデバイスからの加入者レコードを要求する可能性がある。そのようにする際に、加入者レコードコンテキストオブジェクトの関数が、DRAのその他の構成要素によってやはり使用される加入者レコード取得器モジュール260などのDRAのその他の機能性を呼び出す可能性がある。ステップ915で送信された要求に応答して加入者レコードを受信した後、DRAが、ステップ920において、加入者レコードを加入者レコードコンテキストオブジェクトに関連付ける可能性がある。例えば、DRAは、加入者レコードコンテキストオブジェクトの1つまたは複数の変数の中に加入者レコードを格納する可能性がある。それから、ステップ925において、DRAが、加入者レコードコンテキストオブジェクトが加入者レコードを再フェッチしようとすることを防止するために加入者レコードコンテキストオブジェクトのrecordFetched変数を「真」値に設定する可能性がある。そして、方法900は、次に、ステップ930で終了する可能性がある。
その他のコンテキストオブジェクトと同様に、ユーザは、ルーティング決定コンテキストオブジェクトおよび加入者レコードコンテキストオブジェクトの属性およびアクションへの参照を有するさまざまな規則を定義することができる。例えば、ユーザは、以下の擬似コードの規則の定義を与えることによって規則の組を指定する可能性がある。
Figure 2015519842
Figure 2015519842
上記の擬似コードを受信すると、DRAは、ランタイムでより速くまたは効率的に評価され得る形態で規則の組を生成する可能性がある。ユーザが規則または規則の組を定義することを可能にするためのさまざまな代替的な方法は、明らかであろう。
図10は、例示的な規則の組1000を示す。規則の組1000は、DRA200の規則ストレージ220などの規則ストレージに格納される可能性がある。さまざまな実施形態において、規則の組1000は、示されるように、二分決定木として格納される可能性がある。さまざまな代替的な構成が規則の組を格納するために使用され得ることは、明らかであろう。例えば、規則の組1000は、規則が適用可能であるかどうかを判定するための評価のための基準フィールドと、規則が適用可能であるときに行われるべきアクションを格納する結果フィールドとをそれぞれが含む複数のレコードとして格納される可能性がある。さらに、規則の組1000は、例えば、規則ストレージ220に格納されたデータベースのテーブルとして格納される可能性がある。代替的に、規則の組1000は、一連のリンクされたリスト、配列、または同様のデータ構造である可能性がある。したがって、規則の組1000が基礎をなすデータの抽象化である可能性があり、このデータの格納に好適な任意のデータ構造が使用され得ることは明らかであるに違いない。
規則の組1000は、Gx CCR Diameterメッセージに適用することができる可能性がある。規則の組1000は、上の例などのユーザによって与えられた擬似コードに基づいて生成された可能性がある。DRAは、いくつかの異なるメッセージタイプのために別々のメッセージタイプに固有の規則の組(図示せず)を格納する可能性がある。規則の組1000は、基準ノード1010、1030などの基準ノードと、結果ノード1020、1040、1050などの結果ノードとを含む可能性がある。規則の組1000が例示的であり、さまざまな実施形態が示された規則の組1000よりも複雑な規則の組(図示せず)を含み得ることは、明らかであろう。
基準ノードは、規則エンジンによって評価されるべき条件を提示する可能性がある。評価に基づいて、規則エンジンは、評価すべき別の基準ノードまたは結果ノードを選択することができる。例として、基準ノード1010は、条件「Routing Decision.Decision−Exists」を格納する可能性がある。基準ノード1010を評価すると、規則エンジンは、条件が真であるかまたは偽であるかを判定する可能性がある。例えば、規則エンジンは、「Routing Decision」コンテキストオブジェクトから「Decision−Exists」属性を読む可能性がある。そのようにする際に、Routing Decisionコンテキストオブジェクトは、受信されたDiameterメッセージに基づいてルーティング決定レコードを取り出す可能性がある。Decision−Exists属性が真である場合、規則エンジンは、結果ノード1020の評価に移る可能性がある。Decision−Exists属性が偽である場合、規則エンジンは、基準ノード1030の評価に移る可能性がある。
結果ノードは、規則エンジンによって実行されるべき1つまたは複数のアクションを提示する可能性がある。そのようなアクションは、例えば、Diameterメッセージを修正すること、またはDiameterメッセージを特定のデバイスに送信することを含む可能性がある。例として、結果ノード1020は、規則エンジンがRouting Decisionコンテキストオブジェクトの2つのアクション、すなわち、「Update−Message−With−Destination」および「Update−Timestamp」アクションにアクセスすべきであることを示す可能性がある。それから、規則の組1000を評価する規則エンジンが、終了される可能性がある。
基準ノード1030は、条件「Subscriber Record.Subscriber−IDsが部分文字列flooberを含む」を含めることによって加入者レコードコンテキストオブジェクトを呼び出す条件を含む可能性がある。基準ノード1030を評価する際、規則エンジンは、「Subscriber Record」コンテキストオブジェクトの「Subscriber−IDs」属性にアクセスし、次いで、返されたデータが部分文字列「floober」を含むかどうかを判定することができる。部分文字列が存在する場合、規則エンジンは、結果ノード1040の評価に移る可能性がある。そうでない場合、規則エンジンは、結果ノード1050の評価に移る可能性がある。
結果ノード1040は、異なる種類のコンテキストオブジェクトへの参照を含む可能性がある。例えば、結果ノード1040は、規則エンジンが、受信されたDiameterメッセージのDestination−HostおよびDestination−Realm AVPを更新するためにGx CCRコンテキストオブジェクトのaddアクションおよびsetアクションにアクセスすべきであることを指定する可能性がある。結果ノード1040は、規則エンジンが、その他のDiameterメッセージに関連した将来の使用のためにDestination−HostおよびDestination−Realmの値を保存するために「Routing Decision」コンテキストオブジェクトの「Create−New−Routing−Decision」アクションにアクセスすべきであることを指定する可能性もある。結果ノード1050は、規則エンジンが、「Subscriber Record」コンテキストオブジェクトの「add」アクションにアクセスすることによって加入者レコードに新しい加入者識別子「floober」を追加すべきであることを指定する可能性がある。
以上により、さまざまな実施形態は、DiameterルーティングエージェントにおけるさまざまなDiameterメッセージの堅牢で動的な処理を可能にする。特に、コンテキストアーチファクトに基づいて計算コンテキストオブジェクトを生成することによって、DRAは、さまざまなDiameterメッセージの処理においてしたがわれるべき複雑な挙動を指定する際にユーザを楽にすることができる。例えば、ユーザは、前のルーティングの決定または加入者レコードの内容に基づいて挙動を決めることができる。さらに、ユーザは、さらなる種類のコンテキストオブジェクトを指定し得る新しいコンテキストアーチファクトを追加することによって機能性を拡張することができる。さまざまなさらなる利益は、以上の開示から明らかであろう。
本発明のさまざまな例示的な実施形態がハードウェアまたはファームウェアで実装され得ることは、上述の説明から明らかであるに違いない。さらに、さまざまな例示的な実施形態は、本明細書において詳細に説明された動作を実行するために少なくとも1つのプロセッサによって読まれ、実行され得る、機械可読ストレージ媒体に格納された命令として実装される可能性がある。機械可読ストレージ媒体は、パーソナルもしくはラップトップコンピュータ、サーバ、またはその他のコンピューティングデバイスなどの機械によって読まれ得る形態で情報を格納するための任意のメカニズムを含む可能性がある。したがって、有形の非一時的機械可読ストレージ媒体は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスクストレージ媒体、光学式ストレージ媒体、フラッシュメモリデバイス、および同様のストレージ媒体を含む可能性がある。
本明細書の任意のブロック図が本発明の原理を具現化する例示的な回路の概念図を示すことは、当業者に理解されるに違いない。同様に、任意のフローチャート、流れ図、状態遷移図、擬似コードなどは、機械可読媒体内に実質的に表現され、したがって、コンピュータまたはプロセッサによって、そのようなコンピュータまたはプロセッサが明示的に図示されているか否かに関わらず実行され得るさまざまなプロセスを表すことが理解されるであろう。
さまざまな例示的な実施形態がそれらの実施形態の特定の例示的な態様を特に参照して詳細に説明されたが、本発明は、その他の実施形態が可能であり、本発明の詳細はさまざまな明らかな観点で修正可能であることを理解されたい。当業者には容易に分かるように、変更および修正は、本発明の精神および範囲内にとどまったまま実現される可能性がある。したがって、上述の開示、説明、および図は、例示のみを目的とするものであり、本発明を全く限定せず、本発明は、特許請求の範囲によってのみ定義される。

Claims (14)

  1. Diameterメッセージを処理するためにDiameterルーティングエージェント(DRA)によって実行される方法であって、
    DRAで送信元デバイスからDiameterメッセージを受信するステップ(310)と、
    Diameterメッセージを受信するステップに応答してルーティング決定コンテキストオブジェクトを確立するステップ(330、700)であって、ルーティング決定コンテキストオブジェクトが、前のメッセージを受信するために選択された送信先デバイスに関連する、確立するステップ(330、700)と、
    コンテキストオブジェクトの参照を含む規則を評価するステップ(340)であって、評価が、コンテキストオブジェクトの参照に基づいてルーティング決定コンテキストオブジェクトにアクセスすることを含む、評価するステップ(340)と、
    規則の評価に基づいてメッセージを送信するステップ(345)とを含む、方法。
  2. 規則の評価に基づいてメッセージを送信するステップ(345)が、Diameterメッセージを送信先デバイスに送信するステップを含む、請求項1に記載の方法。
  3. Diameterメッセージが、第1のDiameterアプリケーションに関連し、前のメッセージが、第2のDiameterアプリケーションに関連する、請求項1から2のいずれかに記載の方法。
  4. Diameterメッセージを受信するステップの前に、
    DRAで前のメッセージを受信するステップ(310)と、
    前のメッセージが送信先デバイスにルーティングされるべきであると決定するステップ(340)と、
    送信先デバイスに前のメッセージを送信するステップ(345)と、
    前のメッセージおよび送信先デバイスの識別情報をルーティングの決定として格納するステップとをさらに含む、請求項1から3のいずれか一項に記載の方法。
  5. ルーティング決定コンテキストオブジェクトにアクセスすることが、ルーティングの決定に関連するタイムスタンプを更新することを含む、請求項4に記載の方法。
  6. ルーティングの決定が、ルーティングの決定に関連するタイムスタンプに基づいて削除されるべきであると判定するステップと、
    DRAのメモリからルーティングの決定を削除するステップとをさらに含む、請求項4から5のいずれかに記載の方法。
  7. ルーティング決定コンテキストオブジェクトを確立するステップおよびルーティング決定コンテキストオブジェクトにアクセスすることのうちの少なくとも一方が、
    Diameterメッセージから少なくとも1つの識別情報を抽出するステップ(710)と、
    少なくとも1つの識別情報が前のメッセージに対応すると判定するステップ(720)とを含む、請求項1から6のいずれか一項に記載の方法。
  8. Diameterメッセージを処理するためのDiameterルーティングエージェント(DRA)であって、
    コンテキストオブジェクトの参照を含む規則を格納するように構成された規則ストレージ(220)と、
    前のルーティングの決定を格納するように構成されたルーティング決定データベース(250)であって、前のルーティングの決定が、前のメッセージのために選択された送信先デバイスの識別情報を含む、ルーティング決定データベース(250)と、
    送信元デバイスからDiameterメッセージを受信するように構成されたDiameterスタック(205)と、
    Diameterメッセージを受信することに基づいてルーティング決定コンテキストオブジェクトを確立するように構成されたコンテキスト生成器(230)であって、ルーティング決定コンテキストオブジェクトが、前のルーティングの決定に関連する、コンテキスト生成器(230)と、
    規則を評価するように構成された規則エンジン(215)であって、評価が、コンテキストオブジェクトの参照に基づいてルーティング決定コンテキストオブジェクトにアクセスすることを含む、規則エンジン(215)と、
    Diameterスタックを介して規則の評価に基づいてメッセージを送信するように構成されたメッセージハンドラ(210)とを含む、Diameterルーティングエージェント(DRA)。
  9. 規則の評価に基づいてメッセージを送信する際に、メッセージハンドラ(210)が、送信先デバイスにDiameterメッセージを送信するように構成される、請求項8に記載のDRA。
  10. Diameterメッセージが、第1のDiameterアプリケーションに関連し、前のメッセージが、第2のDiameterアプリケーションに関連する、請求項8から9のいずれかに記載のDRA。
  11. Diameterスタック(205)が、Diameterメッセージを受信する前に前のメッセージを受信するようにさらに構成され、
    規則エンジン(215)が、前のメッセージが送信先デバイスにルーティングされるべきであると決定するようにさらに構成され、
    ルーティング決定コンテキストオブジェクト(620)が、規則エンジンによるアクセスに基づいて、前のメッセージおよび送信先デバイスの識別情報をルーティングの決定として格納するように構成される、請求項8から10のいずれか一項に記載のDRA。
  12. ルーティング決定コンテキストオブジェクト(620)が、規則エンジンによるアクセスに基づいて、ルーティングの決定に関連するタイムスタンプを更新するように構成される、請求項11に記載のDRA。
  13. ルーティングの決定が、ルーティングの決定に関連するタイムスタンプに基づいて削除されるべきであると判定し、
    DRAのメモリからルーティングの決定を削除するように構成されたクリーンアップモジュール(255)をさらに含む、請求項11から12のいずれかに記載のDRA。
  14. ルーティング決定コンテキストオブジェクト(620)が、
    Diameterメッセージから少なくとも1つの識別情報を抽出し、
    少なくとも1つの識別情報が前のメッセージに対応すると判定するように構成される、請求項8から13のいずれか一項に記載のDRA。
JP2015514308A 2012-05-29 2013-05-28 ルーティング決定コンテキストオブジェクト Pending JP2015519842A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/482,597 US8797902B2 (en) 2012-05-29 2012-05-29 Routing decision context objects
US13/482,597 2012-05-29
PCT/CA2013/050407 WO2013177702A1 (en) 2012-05-29 2013-05-28 Routing decision context objects

Publications (1)

Publication Number Publication Date
JP2015519842A true JP2015519842A (ja) 2015-07-09

Family

ID=49670147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015514308A Pending JP2015519842A (ja) 2012-05-29 2013-05-28 ルーティング決定コンテキストオブジェクト

Country Status (6)

Country Link
US (2) US8797902B2 (ja)
EP (1) EP2856712A4 (ja)
JP (1) JP2015519842A (ja)
KR (1) KR101593359B1 (ja)
CN (1) CN104350713B9 (ja)
WO (1) WO2013177702A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2837147B1 (en) 2012-04-13 2022-04-27 Tekelec, Inc. System 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
EP3304462A1 (en) * 2015-06-02 2018-04-11 Liveperson Inc. Dynamic communication routing based on consistency weighting and routing rules
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 주식회사 엘지유플러스 호처리 중계시스템 및 이의 다이어미터 신호 조정 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06152655A (ja) * 1992-11-10 1994-05-31 Matsushita Electric Ind Co Ltd ルータ中継装置
JP2006506862A (ja) * 2002-11-20 2006-02-23 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング 例えば車両におけるサブネットワークを接続するためのゲートウェイユニット

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 中兴通讯股份有限公司 策略和计费规则功能实体的选择方法、装置及系统
CN102845027B (zh) 2010-02-12 2016-05-25 泰克莱克股份有限公司 用于在diameter节点处提供优先级路由的方法、系统和装置
US8824370B2 (en) * 2010-12-16 2014-09-02 Openet Telecom Ltd. Methods, systems and devices for dynamic context-based routing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06152655A (ja) * 1992-11-10 1994-05-31 Matsushita Electric Ind Co Ltd ルータ中継装置
JP2006506862A (ja) * 2002-11-20 2006-02-23 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング 例えば車両におけるサブネットワークを接続するためのゲートウェイユニット

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6015044607; Orange, Vodafone: 'Discussion Paper on Generic PLMN-Edge Diameter proxies[online]' 3GPP TSG-CT4 Meeting #48 C4-100647 , 20100226, インターネット<URL:http://www.3gpp.org/ftp/tsg_ct *

Also Published As

Publication number Publication date
EP2856712A1 (en) 2015-04-08
KR101593359B1 (ko) 2016-02-11
US20140244793A1 (en) 2014-08-28
CN104350713B (zh) 2018-02-02
CN104350713B9 (zh) 2018-03-23
CN104350713A (zh) 2015-02-11
KR20150006027A (ko) 2015-01-15
US9025488B2 (en) 2015-05-05
US20130322327A1 (en) 2013-12-05
US8797902B2 (en) 2014-08-05
WO2013177702A1 (en) 2013-12-05
EP2856712A4 (en) 2016-01-13

Similar Documents

Publication Publication Date Title
US9432864B2 (en) Generic persistence in a diameter routing agent
US8850064B2 (en) Rule engine evaluation of context objects
US9025488B2 (en) Routing decision context objects
JP5895101B2 (ja) Diameterルーティングエージェントの規則の組の編成
US9992131B2 (en) Diameter routing agent load balancing
US9246798B2 (en) Message handling extension using context artifacts
US9967133B2 (en) Using global variables to data-drive rule engine evaluation
US9204285B2 (en) Subscriber record context objects
US8787382B2 (en) Per-peer request delivery timeouts
US9112800B2 (en) Inverse message context objects
US9917772B2 (en) Diameter message mirroring and spoofing
US20140068101A1 (en) Received message context objects
US9172610B2 (en) Multiple form enumerated attributes
US9300695B2 (en) Method and apparatus for manipulating AVPs in a diameter routing agent
US9124481B2 (en) Custom diameter attribute implementers
US20150058414A1 (en) Diameter interoperability facilitation
US20160277534A1 (en) Rules-based sequential multi-routing of diameter requests

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160203

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160412