【文献】
P. Calhoun et al.,Diameter Base Protocol,IETF RFC 3588,2003年 9月,pages 65,74-75
(58)【調査した分野】(Int.Cl.,DB名)
前記1つ以上のネットワークサービスノードは第1のネットワークサービスノードを含み、前記1つ以上のダイアメータシグナリングメッセージはダイアメータ要求メッセージを含み、前記方法はさらに、
前記第1のネットワークサービスノードは前記ダイアメータ要求メッセージを成功裡に処理することができなかったという判断に応答して、前記ダイアメータ要求メッセージを第2のネットワークサービスノードにルーティングするステップと、
前記第2のネットワークサービスノードから、前記ダイアメータ要求メッセージに関連付けられる応答メッセージを受け取るステップと、
前記応答メッセージに含まれる情報に基づいて、前記第2のネットワークサービスノードは前記ダイアメータ要求メッセージを成功裡に処理することができたかどうかを判断するステップと、
前記第2のネットワークサービスノードは前記ダイアメータ要求メッセージを成功裡に処理することができたという判断に応答して、前記識別情報および前記第2のネットワークサービスノードを関連付けるダイアメータバインディングレコードを生成するステップとを含む、請求項1に記載の方法。
前記1つ以上のネットワークサービスノードは第1のネットワークサービスノードを含み、前記1つ以上のダイアメータシグナリングメッセージはダイアメータ要求メッセージを含み、前記方法はさらに、
前記第1のネットワークサービスノードは前記ダイアメータ要求メッセージを成功裡に処理することができなかったという判断に応答して、前記識別情報、および前記ダイアメータ要求メッセージに関連付けられる応答メッセージに含まれるリダイレクションインジケータにおいて識別される第2のネットワークサービスノードを関連付けるダイアメータバインディングレコードを生成するステップと、
前記ダイアメータ要求メッセージを前記第2のネットワークサービスノードにルーティングするステップとを含む、請求項1に記載の方法。
前記1つ以上のネットワークサービスノードは第1のネットワークサービスノードおよび第2のネットワークサービスノードを含み、前記1つ以上のダイアメータシグナリングメッセージは第1のダイアメータ要求メッセージおよび第2のダイアメータ要求メッセージを含み、前記第1のダイアメータ要求メッセージは前記第1のネットワークサービスノードにルーティングされ、前記第2のダイアメータ要求メッセージは、前記第1のダイアメータ要求メッセージに基づいて生成され、前記第1のダイアメータ要求メッセージに関連付けられる第1の応答メッセージが前記ダイアメータルーティングノードで受け取られる前に前記第2のネットワークサービスノードにルーティングされる、請求項1に記載の方法。
前記1つ以上の応答メッセージに含まれる情報に基づいて、前記1つ以上のネットワークサービスノードの少なくとも1つが、前記1つ以上のダイアメータシグナリングメッセージを成功裡に処理できたかどうかを判断するステップは、ダイアメータリザルトコード属性値ペア(AVP)値、ダイアメータリダイレクトホストAVP値、またはダイアメータメッセージエラービットに基づいて判断するステップを含む、請求項1〜4のいずれか1項に記載の方法。
前記1つ以上のダイアメータシグナリングメッセージを前記1つ以上のネットワークサービスノードにルーティングする前に、前記1つ以上のダイアメータシグナリングメッセージのコピーをキャッシュに入れるステップを含む、請求項1〜5のいずれか1項に記載の方法。
前記DBRは、ダイアメータルータと同じ場所を共用するか、または前記ダイアメータルータから離れているノードもしくはプラットフォームにおいて同じ場所を共用する、請求項7に記載の方法。
前記1つ以上のネットワークサービスノードは第1のネットワークサービスノードを含み、前記1つ以上のダイアメータシグナリングメッセージはダイアメータ要求メッセージを含み、前記ダイアメータルーティングノードは、前記第1のネットワークサービスノードが前記ダイアメータ要求メッセージを成功裡に処理することができなかったという判断に応答して、前記ダイアメータ要求メッセージを第2のネットワークサービスノードにルーティングし、前記第2のネットワークサービスノードから、前記ダイアメータ要求メッセージに関連付けられる応答メッセージを受け取り、前記応答メッセージに含まれる情報に基づいて、前記第2のネットワークサービスノードは前記ダイアメータ要求メッセージを成功裡に処理することができたかどうかを判断し、前記第2のネットワークサービスノードは前記ダイアメータ要求メッセージを成功裡に処理することができたという判断に応答して、前記識別情報および前記第2のネットワークサービスノードを関連付けるダイアメータバインディングレコードを生成するように構成される、請求項9に記載のシステム。
前記1つ以上のネットワークサービスノードは第1のネットワークサービスノードを含み、前記1つ以上のダイアメータシグナリングメッセージはダイアメータ要求メッセージを含み、前記ダイアメータルーティングノードは、前記第1のネットワークサービスノードが前記ダイアメータ要求メッセージを成功裡に処理することができなかったという判断に応答して、前記識別情報、および前記ダイアメータ要求メッセージに関連付けられる応答メッセージに含まれるリダイレクションインジケータにおいて識別される第2のネットワークサービスノードを関連付けるダイアメータバインディングレコードを生成し、前記ダイアメータ要求メッセージを前記第2のネットワークサービスノードにルーティングするように構成される、請求項9に記載のシステム。
前記1つ以上のネットワークサービスノードは第1のネットワークサービスノードおよび第2のネットワークサービスノードを含み、前記1つ以上のダイアメータシグナリングメッセージは第1のダイアメータ要求メッセージおよび第2のダイアメータ要求メッセージを含み、前記ダイアメータルーティングノードは、前記第2のダイアメータ要求メッセージを前記第1のダイアメータ要求メッセージに基づいて生成し、前記第1のダイアメータ要求メッセージを前記第1のネットワークサービスノードにルーティングし、前記第2のダイアメータ要求メッセージを前記第2のネットワークサービスノードにルーティングするように構成され、前記ダイアメータルーティングノードで、前記第1のダイアメータ要求メッセージに関連付けられる第1の応答メッセージを受け取る前に、前記第1のダイアメータ要求メッセージおよび前記第2のダイアメータ要求メッセージはルーティングされる、請求項9に記載のシステム。
前記1つ以上の応答メッセージに含まれる情報に基づいて、前記1つ以上のネットワークサービスノードの少なくとも1つが、前記1つ以上のダイアメータシグナリングメッセージを成功裡に処理できたかどうかを判断することは、ダイアメータリザルトコード属性値ペア(AVP)値、またはダイアメータリダイレクトホストAVP値、またはダイアメータメッセージエラービットに基づいて判断することを含む、請求項9に記載のシステム。
コンピュータ実行可能命令を含むコンピュータ読取可能媒体であって、コンピュータ実行可能命令がコンピュータのプロセッサによって実行されると、前記コンピュータを制御して、
ダイアメータルーティングノードによって、識別情報を含む1つ以上のダイアメータシグナリングメッセージを1つ以上のネットワークサービスノードにルーティングするステップと、
前記1つ以上のダイアメータシグナリングメッセージに関連付けられる1つ以上の応答メッセージを受け取るステップと、
前記1つ以上の応答メッセージに含まれる情報に基づいて、前記1つ以上のネットワークサービスノードの少なくとも1つが、前記1つ以上のダイアメータシグナリングメッセージを成功裡に処理できたかどうかを判断するステップと、
前記1つ以上のネットワークサービスノードの少なくとも1つが、前記1つ以上のダイアメータシグナリングメッセージの少なくとも1つを成功裡に処理できたと判断されることに応答して、前記識別情報、および前記1つ以上のネットワークサービスノードの前記少なくとも1つを関連付けるダイアメータバインディングレコードを生成するステップと、
あるネットワークサービスノードが、前記ダイアメータシグナリングメッセージを成功裡に処理することができなかったという判断に応答して、当該ダイアメータシグナリングメッセージを別のネットワークサービスノードにルーティングするステップとを実行させ、当該別のネットワークサービスノードは、当該ダイアメータシグナリングメッセージに関連付けられる応答メッセージ内の情報において識別される、コンピュータ読取可能媒体。
【発明を実施するための形態】
【0012】
詳細な記載
ここに記載される主題は、ダイアメータバインディング情報を動的に学習するための方法、システムおよびコンピュータ読取可能媒体を含む。ここに用いられるとおりでは、用語「ダイアメータ」は、RFC3588によって定義されるようなテレコミュニケーションおよびコンピュータネットワークによって利用される認証、許可およびアカウンティング(AAA)プロトコルを指す。いくつかの実施例においては、この主題は、特定の移動体加入者に関連付けられるダイアメータシグナリングメッセージを受け取るダイアメータシグナリングルーティング(DSR)ノードを含む。受け取られるダイアメータシグナリングメッセージは、さらに、ネットワーク課金機能ノード(例えば課金データ機能(CDF)、ポリシーおよび課金ルール機能(PCRF)など)、ならびにホーム加入者サーバ(HSS)、またはAAAノードなど、ある特定のタイプのネットワークサービスノードから処理を必要としてもよい。ダイアメータシグナリングメッセージを受け取ると、DSRは、受け取られるダイアメータシグナリングメッセージを処理するように複数個のネットワークサービスノードの1つを割り当てるか、またはネットワークサービスノードが移動体加入者に既に割り当てられているか(または「バインディングされている」か)を判断するように、構成されてもよい。
【0013】
いくつかの実施例においては、DSRは、受け取られるダイアメータシグナリングメッセージに含まれる情報を用いる負荷分散ハッシュ関数のような、負荷分散アルゴリズムに基づいた適切なネットワークサービスノード(例えばCDFまたはPCRF)を判断または選択するように構成されてもよい。この主題は、さらに、バインディングレコードの維持のために、セッションバインディングリポジトリ(SBR)のような、ノードおよび所与の加入者、セッションおよび/または他の識別子を関連付けるバインディングリポジトリを含んでもよい。例えば、選択されたノードが所与の加入者および/またはセッションに関連付けられるダイアメータメッセージを成功裡に処理することができるとして確認された後、バインディングレコードが形成され記憶されてもよい。
【0014】
有利なことに、各ダイアメータセッションまたは加入者のためにバインディングレコードを再形成するかまたは更新する必要性が最小限にされるように、ここに記載される主題を利用することができる。例えば、バインディングレコードを形成し記憶するネットワークサービスノードによる処理能力確認まで待つことにより、この主題に従うダイアメータルーティングノードは、バインディングリポジトリの過度の更新を回避し得、ダイアメータメッセージを処理またはサービスすることができないノードにダイアメータメッセージをルーティングすることおよび関連する追加の再ルーティングを回避し得る。処理能力の確認の前にバインディングレコードを記憶する解決策と比較して、この主題は処理および記憶資源使用の点ではるかにより効率的な解決策を提供する。
【0015】
図1は、ここに記載される主題の実施例に従ってダイアメータバインディング情報を動的に学習するための例示的なシステム100を示す。いくつかの実施例においては、システム100は、ロングタームエボリューション(LTE)ネットワーク、インターネットプロトコルマルチメディアサブシステム(IMS)ネットワーク、またはこの主題の範囲から逸脱しない他のネットワークにおいて実現されてもよい。
【0016】
システム100は移動体加入者に関連付けられるダイアメータシグナリングメッセージを受け取るように構成される、例えばDSR104などの、ダイアメータルーティングノードを含んでもよい。
図1はDSRの使用を示すが、ダイアメータシグナリングメッセージをルーティングするように構成される任意のネットワークノードを、この主題の範囲から逸脱せずに利用してもよい。例えば、ネットワークノードは、さらに、ダイアメータルーティングエージェント(DRA)、ダイアメータプロキシエージェント(DPA)、ダイアメータリレーエージェントおよびダイアメータトランスレーションエージェントなどを含んでもよい。いくつかの実施例においては、DSR104は、Gy、Ro、Rf、S6dおよびS6aインターフェイスを含むが、これらに限定されないさまざまなダイアメータインターフェイス上においてさまざまなダイアメータノード間でダイアメータシグナリングメッセージをルーティングするように構成され得るダイアメータルーティングエンジン(DRE)122を含んでもよい。DSR104によって受け取られる、例示的なダイアメータに基づいたシグナリングメッセージは、信用管理要求(CCR)メッセージ、アカウンティング要求(ACR)メッセージ、ロケーション更新要求(ULR)メッセージ、ダイアメータモビリティ管理メッセージ、およびダイアメータ課金メッセージを含む。いくつかの実施例においては、ダイアメータに基づいたシグナリングメッセージは、例えばポリシーおよび課金施行機能(PCEF)ノード、ゲートウェイGPRSサポートノード(GGSN)、移動管理エンティティ(MME)、および公衆データ網(PDN)ゲートウェイなどのような、ネットワークノード(図示せず)によってダイアメータルーティングノードに送られてもよい。
【0017】
DSR104は、さらに、ダイアメータに基づいたシグナリングメッセージを1つ以上のDBR(例えばDBR102)に通信する(例えば送受する)ように構成されるバインディングクエリクライアント(BQC)124を含んでもよい。
【0018】
いくつかの実施例においては、DSR104によって受け取られるダイアメータシグナリングメッセージは、もともと、ダイアメータシグナリングメッセージを処理することができるネットワークサービスノード行きとされるかまたはそれにアドレス指定されてもよい。例えば、ネットワークサービスノードは、ポリシーおよび課金ルール機能(PCRF)ノード114、ネットワーク課金ノード(例えば、課金データ機能(CDF)112、課金トリガ機能(CTF)、課金ゲートウェイ機能(CGF))、オンライン課金方式(OCS)ノード、オフライン課金方式(OFCS)ノード、ホーム加入者サーバ(HSS)106、ホームロケーションレジスタノード(HLR)108、AAAノード105、加入者プロファイルリポジトリ110、および通話セッション制御機能(CSCF)ノードを含んでもよい。
図1はダイアメータシグナリングメッセージがルーティングされてもよいさまざまなネットワークサービスノードを示すが、ダイアメータシグナリングメッセージをサービスするために構成された他のタイプのネットワークサービスノードを、この主題の範囲から逸脱せずに、システム100において利用してもよい。
【0019】
DSR104は、SPR110、HSS106およびHLR108のようなさまざまな加入者データ管理(SDM)ノードと双方向通信してもよい。SDMノードは、移動体加入者に関連付けられる識別子ならびにサービスおよびポリシープロファイル情報のようなさらなる移動体加入者情報を記憶および/または維持するように構成される指定されたネットワークノードであってもよい。SDMノードは、さらなる移動体加入者情報(例えば識別子)のためにDSR104によって照会されてもよい。他の例示的なSDMノードは、PCRFノード114およびCSCFノードを含む。
【0020】
システム100は、バインディングデータベース128をホストするバインディングクエリサーバ(BQS)126を含むダイアメータバインディングリポジトリ(DBR)102を含んでもよい。いくつかの実施例においては、バインディングデータベース128は、移動体加入者関連の識別子および割り当てられたネットワークサービスノードの関連付け(例えばダイアメータ関連のバインディング、マッピング、リンクなど)を提供するダイアメータバインディングレコードを記憶するように構成されてもよい。DBR102によって記憶される例示的なダイアメータ関連のバインディングは、ダイアメータセッションバインディング、ダイアメータセッション識別子対ネットワークサービスノード関連付け、ダイアメータ末端間識別子対ネットワークサービスノード関連付け、移動体加入者識別子対ネットワークサービスノード関連付け、課金識別子(例えばIMS課金ID)対ネットワークサービスノード関連付けなど含んでもよいが、それらに限定はされない。ここに示された実施例においては、DBR102は、ダイアメータシグナリングルータから離れて位置するネットワークノード、サーバ、アプリケーション、コンピューティングプラットフォーム、またはデータベースのようなスタンドアロンのエンティティであるとして示される。しかしながら、DBR102は、DSR内に同じ場所を共用するか、または他の実施例(図示せず)においては任意の他のネットワークノード内において同じ場所を共用してもよい。単一のDSRおよび単一のDBRのみが
図1において示されるが、この主題は、この主題の範囲から逸脱せずに、DSR104およびDBR102に通信を行なうように接続される付加的なDSRおよびDBRを含んでもよい。
【0021】
図2は、ここに記載される主題の実施例に従ってダイアメータバインディングレコードデータを示す例示的なテーブル200を示す。いくつかの実施例においては、テーブル200は、DBR102で維持されるデータベース128の少なくとも一部を表わしてもよい。テーブル200は、列ヘッダとして、移動体加入者に関連する複数個の識別子202〜218を含んでもよい。例えば、テーブル200は、ダイアメータセッション識別子202、ユーザ名204、IMPI識別子208、IMPU識別子210、SIP URI212、NAI214、移動体またはダイヤル可能(移動体/ダイヤル可能)番号216、およびユーザIPアドレス218、およびアクセスポイント名220(APN)の各々に対して、少なくとも1つの列を含んでもよい。テーブル200は、さらに、CDF識別子/アドレス列222のようなネットワークサービスノード列を含んでもよい。11個の列が
図2において示されるが、テーブル200は任意のタイプの識別子に関連付けられる任意の数の列を含んでもよい。
【0022】
いくつかの実施例においては、ダイアメータバインディングレコードデータを、ネットワークサービスノードを判断、識別および/または選択する際に用いて、例えば、特定のダイアメータトランザクションまたは関連のダイアメータメッセージを処理してもよい。例えば、ダイアメータバインディングレコードデータを用いて、IMSI値によって識別されるような特定のユーザに関連付けられるトランザクションを、HSS識別子によって識別されるような特定のHSSにルーティングしてもよい。
【0023】
いくつかの実施例においては、DBR102またはDSR104はテーブル200をプロビジョニングするように構成されてもよい。例えば、DSR104はDBR102にプロビジョニングメッセージを送ってもよい。ダイアメータバインディングレコード情報(例えば
図2におけるメッセージ204)を含むプロビジョニングメッセージを受け取ると、DBR102は、テーブル200に新しいダイアメータバインディングレコードを追加してもよい。この例においては、DBR102が、「CDF1」に関連付けられる、「678」のダイアメータセッション識別子、「ttt」のSIP URI、および「ZZZ」のユーザIPアドレスを含んだダイアメータバインディングレコード情報を含むプロビジョニングメッセージを受け取った場合、DBR102は、次いで、テーブル200の最終行として表わされる、新しいダイアメータバインディングレコードを追加してもよい。
【0024】
図3は、ここに記載される主題の実施例に従ってダイアメータバインディング情報を学習することを示すメッセージシーケンス図である。
図3において示されるように、ステップ1において、ダイアメータロケーション更新要求(ULR)メッセージがDSR104に送られてもよい。ULRメッセージは、セッションIDおよびユーザ名(例えばIMSI値)のような識別情報を含んでもよい。例えば、ULRメッセージは、加入者「X」に関連付けられてもよく、ダイアメータULRメッセージをサービスすることができる複数個のHSS106
1−2の1つ行きとされるかまたはそれによる処理を必要としてもよい。
【0025】
DSR104はULRメッセージを受け取ってもよい。ULRメッセージを受け取った後、DSR104は、DBR102を調べるかまたはそれに照会して、関係のあるHSSバインディングレコードが利用可能かどうかを判断してもよい。例えば、DSR104は、関係のあるHSSバインディングレコードのためにDBR102またはDB128に照会するときにバインディングキー情報として識別情報(例えばセッションIDおよび/またはユーザ識別子)を用いてもよい。関係のあるHSSバインディングレコードが利用可能な場合、HSSバインディングレコードはDSR104に返されてもよい。DSR104はULRメッセージまたは関連するメッセージのルーティングにおいてHSSバインディングレコードを用いてもよい。例えば、ULRメッセージは、HSSバインディングレコードにおいて識別されるHSSエンティティにルーティングされてもよい。
【0026】
HSSバインディングレコードが利用可能でない場合、DSR104は、HSS106
1−2の1つを選択するためのネットワークサービスノード選択アルゴリズムを実行してもよい。例えば、DSR104は、実行されると、受け取られるULRメッセージを処理するように複数のHSS106
1−2から1つのHSS(例えばHSS106
1)を指定するHSS選択アルゴリズム(例えばDSR104においてハードウェアプロセッサによって実行されるソフトウェアモジュール)を利用してもよい。HSS選択アルゴリズムは適切なHSSを選択するためのさまざまな方法および/または要素を用いてもよい。例示的な選択方法は、無作為選択、ラウンドロビン選択、負荷に基づいた選択、ユーザに基づいた選択、セッションに基づいた選択、ロケーションに基づいた選択、およびネットワークに基づいた選択の1つ以上を含んでもよい。
【0027】
ステップ2において、DSR104は、ULRメッセージを、選択されたHSS(例えばHSS106
1)にルーティングしてもよい。いくつかの実施例においては、DSR104は、例えばULRメッセージをHSS106
1にルーティングする前に、ULRメッセージのコピーを一時的に記憶またはキャッシュに入れてもよい。例えば、DSR104は、HSS106
1からの対応するロケーション更新回答(ULA)メッセージの受取および処理まで、ULRメッセージのコピーを維持してもよい。
【0028】
ステップ3において、選択されたHSS(例えばHSS106
1)は、DSR104に応答メッセージを送ってもよい。例えば、HSS106
1はULAメッセージで応答してもよい。DSR104は、応答メッセージを受け取り、応答メッセージの内容を審査または調査して、HSSが関連付けられたULRメッセージを成功裡に処理することができたかどうか判断してもよい。この例においては、ULAメッセージは、HSS106
1による成功した処理を示す、成功リザルトコードのようなインジケータを含んでもよい。いくつかの実施例においては、成功リザルトコードは、送り手側HSSは関連付けられる加入者および/またはセッションのためのサービングHSSであることを示してもよい。
【0029】
いくつかの実施例においては、選択されたHSS(例えばHSS106
1)が関連するダイアメータ要求メッセージを成功裡に処理したことを「学習」または確認すると、DSR104はDBR102においてバインディング情報を形成および/または更新してもよい。例えば、DSR104は、HSS106
1とULRメッセージおよび/またはULAメッセージに含まれる識別情報(例えばユーザ名、セッション識別子、IMSパブリックID、IMSプライベートID、MSISDN、IMSIなど)との間において関連付けを示すDBRプロビジョニングメッセージを生成してもよい。DBR102またはそこにおける構成要素(例えばBQS126)は、このDBRプロビジョニングメッセージを受け取り、この情報をHSSバインディングレコードとして形成し、DB128に記憶してもよい。記憶されたHSSバインディングレコードまたは関連付けは、DSR104(またはダイアメータネットワークにおける他のDSR104)によって用いられて、加入者またはセッションに関連付けられる他の(例えば後の)ダイアメータメッセージをHSS106
1に迅速にルーティングしてもよい。
【0030】
HSSバインディングレコードの形成および記録後、DSR104はULR要求発信側に向かって応答メッセージ(例えばULAメッセージ)をルーティングしてもよい。
【0031】
図3はULRメッセージおよびULAメッセージを示しているが、信用管理要求(CCR)メッセージおよび信用管理回答(CCA)メッセージのようなさまざまなダイアメータメッセージ、ならびにCDF112またはPCRF114のようなさまざまなネットワークサービスノードが、この主題の範囲から逸脱せずに用いられてもよいことが十分に理解されるだろう。
【0032】
図4は、ここに記載される主題の実施例に従って代替ネットワークサービスノードに関連付けられるダイアメータバインディング情報を学習することを示すメッセージシーケンス図である。この実施例においては、先に選択されたノード(例えばHSS106
1)がダイアメータメッセージを成功裡に処理しない場合には、DSR104は代替のノード(例えばHSS106
2)を選択するように構成されてもよい。
【0033】
図4を参照して、ステップ1〜2は、上に記載される
図3のステップ1〜2と本質的に同様である。例えば、ステップ1において、ダイアメータロケーション更新要求(ULR)メッセージがDSR104に送られてもよい。ULRメッセージは、セッションIDおよびユーザ名(例えばIMSI値)のような識別情報を含んでもよい。DSR104はULRメッセージを受け取ってもよい。ULRメッセージを受け取った後、DSR104は、DBR102を調べるかまたはそれに照会し、HSSバインディングレコードは利用可能ではないと判断してもよい。HSSバインディングレコードは利用可能ではないと判断した後、DSR104は、HSS106
1−2の1つを選択するためのネットワークサービスノード選択アルゴリズムを実行してもよい。ステップ2において、DSR104は、ULRメッセージを、選択されたHSS(例えばHSS106
1)にルーティングしてもよい。いくつかの実施例においては、DSR104は、例えばULRメッセージをHSS106
1にルーティングする前に、ULRメッセージのコピーを一時的に記憶またはキャッシュに入れてもよい。例えば、DSR104は、HSS106
1からの対応するULAメッセージの受取および処理まで、ULRメッセージのコピーを維持してもよい。
【0034】
ステップ3において、選択されたHSS(例えばHSS106
1)は、応答メッセージをDSR104に送ってもよい。例えば、HSS106
1はULAメッセージで応答してもよい。DSR104は、応答メッセージを受け取り、応答メッセージの内容を審査または調査して、HSSが関連付けられたULRメッセージを成功裡に処理することができたかどうか判断してもよい。この例においては、ULAメッセージは、HSS106
1による成功しなかった処理を示す、エラーリザルトコードのようなインジケータを含んでもよい。いくつかの実施例においては、エラーリザルトコードは、送り手側HSSは関連付けられる加入者および/またはセッションのためのサービングHSSではないことを示してもよい。
【0035】
1つの例示的なエラーメッセージは、特定のユーザまたは加入者が特定のHSSに「未知」であることを示す未知加入者エラーであってもよい。いくつかの実施例においては、DSR104は、未知加入者エラー条件を、送り手側HSS106が(例えばユーザ名またはIMSI値によって識別される)関連付けられた加入者のためにデータをホストまたは維持しないことを示す、として解釈してもよい。
【0036】
ダイアメータメッセージはHSS106
1によって不成功に処理されたという判断に応答して、DSR104は、HSS106
1から受け取られたULAメッセージを破棄し、記憶キャッシュから元のULRメッセージのコピーを検索するように構成されてもよい。
【0037】
ステップ4において、検索されたULRメッセージまたは同様のメッセージは、HSS106
2にルーティングされてもよい。
【0038】
ステップ5において、応答メッセージがHSS106
2からDSR104に送られてもよい。例えば、ULAメッセージがHSS106
2からDSR104に送られてもよい。DSR104はHSS106
2から応答メッセージを受け取り、応答メッセージの内容を審査または調査して、HSS106
2が関連付けられたULRメッセージを成功裡に処理することができたかどうか判断してもよい。例えば、ULAメッセージは、HSS106
2による成功した処理を示す、成功リザルトコードのようなインジケータを含んでもよい。
【0039】
いくつかの実施例においては、選択されたHSS(例えばHSS106
2)が関連するダイアメータ要求メッセージを成功裡に処理したことを「学習」または確認すると、DSR104はDBR102においてバインディング情報を形成および/または更新してもよい。例えば、DSR104は、HSS106
2とULRメッセージおよび/またはULAメッセージに含まれる識別情報との間において関連付けを示すDBRプロビジョニングメッセージを生成してもよい。DBR102または関連付けられる構成要素は、このDBRプロビジョニングメッセージを受け取り、この情報をHSSバインディングレコードとして形成し記憶してもよい。
【0040】
HSSバインディングレコードの形成および記録後、DSR104はULR要求発信側に向かって応答メッセージ(例えばHSS106
2からのULAメッセージ)をルーティングしてもよい。
【0041】
図4はULRメッセージおよびULAメッセージを示しているが、さまざまなダイアメータメッセージおよびノードがこの主題の範囲から逸脱せずに用いられてもよいことが十分に理解されるだろう。
【0042】
図5は、ここに記載される主題の実施例に従って応答メッセージにおいてリダイレクションインジケータに応答してダイアメータバインディング情報を学習することを示すメッセージシーケンス図である。この実施例においては、DSR104は、リダイレクションインジケータのためにダイアメータ応答メッセージを解析するように構成されてもよい。いくつかの実施例においては、DSR104は、受け取られたリダイレクションインジケータまたは関連の情報に基づいたバインディング情報を形成し記録してもよい。他のいくつかの実施例においては、DSR104は、リダイレクションインジケータが確認された後、バインディング情報を記録または更新してもよい。例えば、DSR104は、リダイレクションインジケータによって示される宛先にダイアメータ要求メッセージを送り、ダイアメータ要求メッセージが宛先によって成功裡に処理されたことを示すインジケータを含むダイアメータ応答メッセージを受け取った後に、DBR102を更新してもよい。
【0043】
図5を参照して、ステップ1〜2は、上に記載されるような
図3のステップ1〜2と本質的に同様である。例えば、ステップ1において、ダイアメータロケーション更新要求(ULR)メッセージがDSR104に送られてもよい。ULRメッセージは、セッションIDおよびユーザ名(例えばIMSI値)のような識別情報を含んでもよい。DSR104はULRメッセージを受け取ってもよい。ULRメッセージを受け取った後、DSR104は、DBR102を調べるかまたはそれに照会し、HSSバインディングレコードは利用可能ではないと判断してもよい。したがって、DSR104は、106
1−2の1つを選択するためのネットワークサービスノード選択アルゴリズムを実行してもよい。ステップ2において、DSR104は、ULRメッセージを、選択されたHSS(例えばHSS106
1)にルーティングしてもよい。いくつかの実施例においては、DSR104は、例えばULRメッセージをHSS106
1にルーティングする前に、ULRメッセージのコピーを一時的に記憶またはキャッシュに入れてもよい。例えば、DSR104は、HSS106
1からの対応するULAメッセージの受取および処理まで、ULRメッセージのコピーを維持してもよい。
【0044】
ステップ3において、選択されたHSS(例えばHSS106
1)は、応答メッセージをDSR104に送ってもよい。例えば、HSS106
1はULAメッセージで応答してもよい。DSR104は、応答メッセージを受け取り、応答メッセージの内容を審査または調査して、HSS106
1が関連付けられたULRメッセージを成功裡に処理することができたかどうか判断してもよい。この例においては、ULAメッセージは、HSS106
1による成功しなかった処理を示す、エラーリザルトコードのようなインジケータを含んでもよい。
【0045】
いくつかの実施例においては、受け取られたダイアメータメッセージは、リダイレクションインジケータに対して解析または調査されてもよい。1つの例示的なリダイレクションインジケータはリダイレクト−ホストAVPであってもよい。例えば、リダイレクト−ホストAVPが存在してもよいのは、エラービットまたは「E」ビットが応答メッセージにおいてセットされる場合である。この例においては、リザルト−コードAVPは、ノード識別子のようなダイアメータリダイレクション表示または関連の情報を含んでもよい。いくつかの実施例においては、リザルト−コードAVPを含むダイアメータメッセージを受け取ると、受け手側ダイアメータノードは、AVPにおいて識別されるノードの1つに要求を直接転送してもよい。
【0046】
いくつかの実施例においては、リダイレクションインジケータを含むダイアメータ応答メッセージを受け取ることに応答して、DSR104はDBR102においてバインディング情報を形成および/または更新してもよい。例えば、DSR104は、HSS106
2とULRメッセージおよび/またはULAメッセージに含まれる識別情報との間において関連付けを示すDBRプロビジョニングメッセージを生成し送ってもよい。DBR102または関連付けられる構成要素は、このDBRプロビジョニングメッセージを受け取り、この情報をHSSバインディングレコードとして形成し記憶してもよい。
【0047】
他のいくつかの実施例においては、HSS106
2によって、それが関連するダイアメータメッセージを成功裡に処理したことが確認されるまで、DSR104はバインディングアップデートを実行しなくてもよい。例えば、HSS106
1によって成功しなかった処理を示すインジケータを含む応答メッセージを受け取ったと判断することに応答して、DSR104は、HSS106
1から受け取られたULAメッセージを破棄し、記憶キャッシュから元のULRメッセージのコピーを検索するように構成されてもよい。
【0048】
ステップ4において、検索されたULRメッセージまたは同様のメッセージは、HSS106
2にルーティングされてもよい。
【0049】
ステップ5において、応答メッセージがHSS106
2からDSR104に送られてもよい。例えば、ULAメッセージがHSS106
2からDSR104に送られてもよい。DSR104はHSS106
2から応答メッセージを受け取り、応答メッセージの内容を審査または調査して、HSS106
2が関連付けられたULRメッセージを成功裡に処理することができたかどうか判断してもよい。例えば、ULAメッセージは、HSS106
2による成功した処理を示す、成功リザルトコードのようなインジケータを含んでもよい。
【0050】
いくつかの実施例においては、HSS(例えばHSS106
2)が関連するダイアメータ要求メッセージを成功裡に処理したことを「学習」または確認すると、DSR104はDBR102においてバインディング情報を形成および/または更新してもよい。例えば、DSR104は、HSS106
2とULRメッセージおよび/またはULAメッセージに含まれる識別情報との間において関連付けを示すDBRプロビジョニングメッセージを生成してもよい。DBR102はこのDBRプロビジョニングメッセージを受け取り、この情報をHSSバインディングレコードとして形成し記憶してもよい。
【0051】
HSSバインディングレコードの形成および記録後、DSR104はULR要求発信側に向かって応答メッセージ(例えばHSS106
2からのULAメッセージ)をルーティングしてもよい。
【0052】
図5はULRメッセージおよびULAメッセージを示しているが、さまざまなダイアメータメッセージおよびノードがこの主題の範囲から逸脱せずに用いられてもよいことが十分に理解されるだろう。
【0053】
図6は、ここに記載される主題の実施例に従って複数応答メッセージに応答してダイアメータバインディング情報を記録することを学習するメッセージシーケンス図である。この実施例においては、DSR104は、ダイアメータ要求メッセージまたは同様のメッセージを複数のHSS106
1−2に送るように構成されてもよい。例えば、実質的に同様のダイアメータメッセージ(例えば同じセッションおよび/または加入者に関連付けられるULRメッセージ)が、適切なHSS106を判断しようとする試みにおいて、HSS106
1−2に送られてもよい。
【0054】
図6を参照して、ステップ1において、ULRメッセージがDSR104に送られてもよい。ULRメッセージは、セッションIDおよびユーザ名(例えばIMSI値)のような識別情報を含んでもよい。DSR104は、ULRメッセージを受け取ってもよく、関係のあるHSSバインディングレコードのためにDBR102に照会してもよい。HSSバインディングレコードがDBR102に位置しない場合、DSR104はULRメッセージを成功裡に処理することができるかもしれないすべての考えられ得るHSSを判断してもよい。例えば、DSR104は、HSS106
1またはHSS106
2に恐らく関連付けられた加入者のデータをプロビジョニングすることができるかもしれない、と判断してもよい。次いで、DSR104は受け取られたULRメッセージの1つ以上のコピーを生成してもよい。いくつかの実施例においては、DSR104は、例えばULRメッセージをHSS106
1およびHSS106
2にルーティングする前に、ULRメッセージのコピーを一時的に記憶またはキャッシュに入れてもよい。
【0055】
ステップ2A−Bにおいて、DSR104は、1つのULAメッセージをHSS106
1に、および別のULAメッセージをHSS106
2に、同時にルーティングしてもよい。例えば、各ULRメッセージは、加入者「X」に関連付けられ、「1」のセッションID値を含んでもよい。いくつかの実施例においては、DSR104は、ULRメッセージの一方または両方のコピーを、例えばULRメッセージをルーティングする前に、一時的に記憶またはキャッシュに入れてもよい。DSR104は、そ(れら)のメッセージを、1つ以上の応答メッセージが受け取られるまで、記憶してもよい。
【0056】
ステップ3Aにおいて、応答メッセージがHSS106
1からDSR104に送られてもよい。例えば、ULAメッセージがHSS106
1からDSR104に送られてもよい。DSR104はHSS106
1から応答メッセージを受け取り、応答メッセージの内容を解析または調査して、そのHSSが関連付けられたULRメッセージを成功裡に処理することができたかどうか判断してもよい。例えば、ULAメッセージは、未知加入者エラーを示す、エラーリザルトコードのようなインジケータを含んでもよい。いくつかの実施例においては、HSSが特定のセッションまたはユーザに関連付けられるメッセージを処理するのに好適ではないことを示す応答メッセージを受け取った後、応答メッセージはログおよび/または破棄されてもよい。
【0057】
ステップ3Bにおいて、応答メッセージがHSS106
2からDSR104に送られてもよい。例えば、ULAメッセージがHSS106
2からDSR104に送られてもよい。DSR104はHSS106
2から応答メッセージを受け取り、応答メッセージの内容を審査または調査して、そのHSSが関連付けられたULRメッセージを成功裡に処理することができたかどうか判断してもよい。例えば、ULAメッセージは、HSS106
2による成功した処理を示す、成功リザルトコードのようなインジケータを含んでもよい。
【0058】
いくつかの実施例においては、HSS(例えばHSS106
2)が関連するダイアメータ要求メッセージを成功裡に処理したことを「学習」または確認すると、DSR104はDBR102においてバインディング情報を形成および/または更新してもよい。
【0059】
いくつかの実施例においては、ダイアメータメッセージが成功裡に処理されたことを示す第1の応答メッセージがHSS106からDSR104によって受け取られると、HSSバインディングレコードが生成され、DBR102に記憶されてもよい。
【0060】
いくつかの実施例においては、複数のHSS(例えばHSS106
1−2)が所与の加入者および/またはセッションに関連付けられるダイアメータメッセージを成功裡に処理することができる場合には、複数のHSSが所与の加入者および/またはセッションに関連付けられるダイアメータメッセージを処理することができることを示すHSSバインディングレコードが生成され、DBR102において記憶されてもよい。
【0061】
HSSバインディングレコードの形成および記録後、DSR104はULR要求発信側に向かって応答メッセージ(例えばHSS106
2からのULAメッセージ)をルーティングしてもよい。
【0062】
図6はULRメッセージおよびULAメッセージを示しているが、さまざまなダイアメータメッセージおよびノードがこの主題の範囲から逸脱せずに用いられてもよいことが十分に理解されるだろう。
【0063】
図7は、ここに記載される主題の実施例に従ってダイアメータバインディング情報を動的に学習するための例示的なプロセスを示すフローチャートである。いくつかの実施例においては、ここに記載される例示的なプロセスまたはその一部分は、DSR104、DRE122、DBR102および/もしくは他のモジュールまたはノードによって実行されてもよい。
【0064】
ブロック700において、1つ以上のダイアメータシグナリングメッセージが、ダイアメータルーティングノードによって、1つ以上のネットワークサービスノードにルーティングされてもよい。1つ以上のダイアメータシグナリングメッセージは、IMSI値、APN値、IPアドレスおよび/またはセッション識別子のような識別情報を含んでもよい。例えば、DSR104は、送り手側のダイアメータに基づいたノード(例えばMME)から、ULRメッセージのような、ダイアメータに基づいた要求メッセージを受け取り、そのメッセージを、複数個のHSS106
1−2のうちの選択されたHSS106にルーティングしてもよい。
【0065】
複数個のネットワークサービスノードの1つは、さまざまな要素に基づいて選択されてもよい。例えば、受け取られたダイアメータシグナリングメッセージは、HSS106
1のような、元のネットワークサービスノード宛先にアドレス指定されるかまたはそれに向けられてもよい。この例においては、DSR104は、アドレス指定されたネットワークサービスノードを適切なノードとして選択して、受け取られたダイアメータシグナリングメッセージを処理してもよい。別の例においては、DSR104は、ネットワークサービスノード選択モジュール(例えばハードウェアプロセッサによって実行されるソフトウェアアルゴリズム)を利用して、ダイアメータシグナリングメッセージを処理またはサービスすることができる複数個のネットワークサービスノードから1つのネットワークサービスノードを選択するように構成されてもよい。例えば、HSS106
1−2の1つは、負荷に基づいた選択方法に基づいて、DSR104によって受け取られるULRメッセージを処理するために選択されてもよい。
【0066】
いくつかの実施例においては、識別情報を、複数個のネットワークサービスノードの1つを選択する際に用いてもよい。識別情報の例は、ダイアメータセッション識別子情報、ユーザ名情報、ユーザインターネットプロトコル(IP)情報、IPマルチメディアサブシステム(IMS)プライベート識別(IMPI)情報、IMSパブリック識別(IMPU)情報、セッション設定プロトコル(SIP)統一資源識別子(URI)情報、URI、インターネットプロトコル(IP)アドレス、アクセスポイント名(APN)、移動局国際加入者登録番号(MSISDN)情報、移動体/ダイヤル可能番号情報、セッション識別子、国際移動体加入者識別、IMS課金識別子情報、移動体加入者登録番号、グローバル一意一時識別子(GUTI)、サービングMSCアドレス情報、ビジターロケーションレジスタ(VLR)番号情報、サービング汎用パケット無線サービス(GPRS)サポートノード(SGSN)アドレス情報、SGSN番号情報、訪問移動体国コード(MCC)情報、移動体ネットワークコード(MNC)情報、ユーザ名属性値ペア(AVP)、ネットワークアクセス識別子(NAI)、サービング位置エリアコード情報、サービングセル識別情報、移動体加入者地理的位置座標情報、およびトラッキングエリア情報のようなパラメータおよび識別子情報を含む。
【0067】
ネットワークサービスノードにルーティングされた後、ダイアメータシグナリングメッセージはネットワークサービスノードによって処理されてもよい。例えば、ULRメッセージを受け取って処理した後、HSS106
1は、1つ以上のステータス条件、例えば成功リザルトコードを含むULAメッセージを生成してもよい。HSS106
1はULAメッセージをDSR104に送ってもよい。
【0068】
ブロック702においては、1つ以上のダイアメータシグナリングメッセージに関連付けられる1つ以上の応答メッセージが受け取られてもよい。
【0069】
ブロック704においては、1つ以上の応答メッセージに含まれる情報に基づいて、1つ以上のネットワークサービスノードの少なくとも1つが、1つ以上のダイアメータシグナリングメッセージを成功裡に処理できたかどうかが判断される。例えば、ステータス条件またはリザルトコードを含むULAメッセージが、DSR104によって解析されてもよい。リザルトコードは、ダイアメータシグナリングメッセージがHSS106で成功裡に処理されたことを示してもよい。
【0070】
いくつかの実施例においては、1つ以上の応答メッセージに含まれる情報に基づいて、1つ以上のネットワークサービスノードの少なくとも1つが、1つ以上のダイアメータシグナリングメッセージを成功裡に処理できたかどうかを判断することは、ダイアメータリザルトコード属性値ペア(AVP)値、ダイアメータリダイレクトホストAVP値またはダイアメータメッセージ「エラー」ビットに基づいて判断することを含んでもよい。例えば、ダイアメータ応答メッセージは、対応するダイアメータに基づいた要求メッセージが成功裡に処理されたかどうかを判断するためにDSR104が解釈してもよいさまざまなAVP値または他のインジケータを含んでもよい。
【0071】
ブロック706においては、1つ以上のネットワークサービスノードの少なくとも1つが、1つ以上のダイアメータ要求メッセージの少なくとも1つを成功裡に処理できたと判断されることに応答して、ダイアメータバインディングレコードが生成されてもよい。ダイアメータバインディングレコードは、識別情報および1つ以上のネットワークサービスノードの少なくとも1つを関連付けてもよい。例えば、ダイアメータセッションIDおよび/またはユーザ識別子(例えばIMSI値またはIPアドレス)がHSSまたは他のネットワークサービスノード識別子に関連付けられてもよい。ダイアメータバインディングレコードを生成および記憶した後、DSR104は、ダイアメータバインディングレコードを用いて、トランザクション、セッションまたはユーザに関連付けられた他のダイアメータメッセージを同じネットワークサービスノードに迅速にルーティングしてもよい。
【0072】
いくつかの実施例においては、ダイアメータバインディングレコードは、DBR102または関連するバインディングデータベース128において記憶されてもよい。例えば、バインディングレコードは、ローカルのDBR102に記憶されてもよく、ネットワークにおいて他のDSR104に関連付けられた他のDBR102に送られてもよい。別の例においては、バインディングレコードは、ネットワークに位置する複数のDSR104によってアクセス可能であってもよい中央のDBR102において記憶されてもよい。いくつかの実施例においては、(例えばバインディングレコードに関連付けられた有効時間(TTL)値によって判断される)量の時間が経過した後、または非活動期間の後(例えばセッション「X」のためのダイアメータメッセージが24時間で受け取られなかった後)に、バインディングレコードが破棄されてもよい。例えば、DBR102または関係するバインディングデータベース128がメモリ切れになるのを防ぐために、DSR104、DBR102または別のエンティティは、DBR102または関係するバインディングデータベース128から、古いバインディングレコード、失効したバインディングレコード、または非活動のバインディングレコードを破棄してもよい。
【0073】
ここに記載される主題のさまざまな詳細がここに記載される主題の範囲から逸脱せずに変更されてもよいことが理解されるだろう。さらに、前述の記載は、例示の目的のみに対するものであって、限定の目的のためではなく、なぜならば、ここに記載される主題は、以下に述べられる特許請求の範囲によって規定されるからである。