(57)【要約】  一局面に従うと、この明細書中に記載される主題は、Ｄｉａｍｅｔｅｒメッセージをルーティングするための方法を含む。当該方法は、複数のＤｉａｍｅｔｅｒメッセージプロセッサを含むＤｉａｍｅｔｅｒシグナリングルータ（ＤＳＲ）において行われるステップを含む。当該方法は、Ｄｉａｍｅｔｅｒ要求メッセージを受信するステップを含む。当該方法はさらに、複数のＤｉａｍｅｔｅｒメッセージプロセッサのうち第１のＤｉａｍｅｔｅｒメッセージプロセッサを識別するためのホップ・バイ・ホップ識別子を生成するステップを含む。当該方法はさらに、Ｄｉａｍｅｔｅｒ要求メッセージにホップ・バイ・ホップ識別子を組込むステップを含む。当該方法はさらに、Ｄｉａｍｅｔｅｒ要求メッセージを第１のＤｉａｍｅｔｅｒノードにルーティングするステップを含む。
2015523020.tif 000002
【特許請求の範囲】
【請求項１】
Ｄｉａｍｅｔｅｒメッセージをルーティングするための方法であって、
複数のＤｉａｍｅｔｅｒメッセージプロセッサを含むＤｉａｍｅｔｅｒシグナリングルータ（ＤＳＲ）において、
第１のＤｉａｍｅｔｅｒノードからＤｉａｍｅｔｅｒ要求メッセージを受信するステップと、
前記複数のＤｉａｍｅｔｅｒメッセージプロセッサのうち第１のＤｉａｍｅｔｅｒメッセージプロセッサを識別するためのホップ・バイ・ホップ識別子を生成するステップと、
前記Ｄｉａｍｅｔｅｒ要求メッセージにホップ・バイ・ホップ識別子を組込むステップと、
第２のＤｉａｍｅｔｅｒノードに前記Ｄｉａｍｅｔｅｒ要求メッセージをルーティングするステップとを含む、方法。
【請求項２】
前記Ｄｉａｍｅｔｅｒ要求メッセージに関連付けられ、前記ホップ・バイ・ホップ識別子を含むＤｉａｍｅｔｅｒ応答メッセージを前記第２のＤｉａｍｅｔｅｒノードから受信するステップと、
前記ホップ・バイ・ホップ識別子を用いて、前記第１のＤｉａｍｅｔｅｒメッセージプロセッサが前記Ｄｉａｍｅｔｅｒ応答メッセージに関連付けられていると判断するステップと、
前記Ｄｉａｍｅｔｅｒ応答メッセージを処理のために前記第１のＤｉａｍｅｔｅｒメッセージプロセッサに伝達するステップとを含む、請求項１に記載の方法。
【請求項３】
前記ホップ・バイ・ホップ識別子は、前記ＤＳＲと前記第２のＤｉａｍｅｔｅｒノードとの間におけるＤｉａｍｅｔｅｒトランザクションを識別するために用いられる、請求項１に記載の方法。
【請求項４】
前記複数のＤｉａｍｅｔｅｒメッセージプロセッサの各々は、ピアルーティングテーブルを含むかまたはピアルーティングテーブルにアクセスする、請求項１に記載の方法。
【請求項５】
前記ホップ・バイ・ホップ識別子は、前記Ｄｉａｍｅｔｅｒ要求メッセージを送信または受信するのに使用可能なＤｉａｍｅｔｅｒ接続を識別するためのＤｉａｍｅｔｅｒ接続識別子を含む、請求項１に記載の方法。
【請求項６】
前記第１のＤｉａｍｅｔｅｒメッセージプロセッサは、
分散コンピューティングプラットフォームの別個のメッセージプロセッシングモジュール、
ブレードベースの分散コンピューティングプラットフォームにおけるコンピューティングブレード、
シングルコアまたはマルチコアのコンピューティングデバイスに関連付けられた処理コア素子、および、
単一の物理的なメッセージプロセッシングまたはコンピューティングデバイス上でインスタンス化される仮想ノード、のうちの１つを含む、請求項１に記載の方法。
【請求項７】
Ｄｉａｍｅｔｅｒメッセージをルーティングするためのシステムであって、
Ｄｉａｍｅｔｅｒシグナリングルータ（ＤＳＲ）を含み、前記Ｄｉａｍｅｔｅｒシグナリングルータ（ＤＳＲ）は、
複数のＤｉａｍｅｔｅｒメッセージプロセッサのうち第１のＤｉａｍｅｔｅｒメッセージプロセッサを含み、前記第１のＤｉａｍｅｔｅｒメッセージプロセッサは、
第１のＤｉａｍｅｔｅｒノードからＤｉａｍｅｔｅｒ要求メッセージを受信し、
前記複数のＤｉａｍｅｔｅｒメッセージプロセッサのうち第１のＤｉａｍｅｔｅｒメッセージプロセッサを識別するためのホップ・バイ・ホップ識別子を生成し、
前記Ｄｉａｍｅｔｅｒ要求メッセージにホップ・バイ・ホップ識別子を組込み、
第２のＤｉａｍｅｔｅｒノードに前記Ｄｉａｍｅｔｅｒ要求メッセージをルーティングするように構成される、システム。
【請求項８】
前記システムは、前記複数のＤｉａｍｅｔｅｒメッセージプロセッサのうち第２のＤｉａｍｅｔｅｒメッセージプロセッサを含み、前記第２のＤｉａｍｅｔｅｒメッセージプロセッサは、
前記Ｄｉａｍｅｔｅｒ要求メッセージに関連付けられ、前記ホップ・バイ・ホップ識別子を含むＤｉａｍｅｔｅｒ応答メッセージを前記第２のＤｉａｍｅｔｅｒノードから受信し、
前記ホップ・バイ・ホップ識別子を用いて、前記第１のＤｉａｍｅｔｅｒメッセージプロセッサが前記Ｄｉａｍｅｔｅｒ応答メッセージに関連付けられていると判断し、
前記Ｄｉａｍｅｔｅｒ応答メッセージを処理のために前記第１のＤｉａｍｅｔｅｒメッセージプロセッサに伝達するように構成される、請求項７に記載のシステム。
【請求項９】
前記ホップ・バイ・ホップ識別子は、前記ＤＳＲと前記第２のＤｉａｍｅｔｅｒノードとの間におけるＤｉａｍｅｔｅｒトランザクションを識別するために用いられる、請求項７に記載のシステム。
【請求項１０】
前記複数のＤｉａｍｅｔｅｒメッセージプロセッサの各々は、ピアルーティングテーブルを含むかまたはピアルーティングテーブルにアクセスする、請求項７に記載のシステム。
【請求項１１】
前記ホップ・バイ・ホップ識別子は、前記Ｄｉａｍｅｔｅｒ要求メッセージを送信または受信するのに使用可能なＤｉａｍｅｔｅｒ接続を識別するためのＤｉａｍｅｔｅｒ接続識別子を含む、請求項７に記載のシステム。
【請求項１２】
前記第１のＤｉａｍｅｔｅｒメッセージプロセッサは、
分散コンピューティングプラットフォームの別個のメッセージプロセッシングモジュール、
ブレードベースの分散コンピューティングプラットフォームにおけるコンピューティングブレード、
シングルコアまたはマルチコアのコンピューティングデバイスに関連付けられた処理コア素子、および、
単一の物理的なメッセージプロセッシングまたはコンピューティングデバイス上でインスタンス化された仮想ノード、のうちの１つを含む、請求項７に記載のシステム。
【請求項１３】
コンピュータ実行可能命令を含む非一時的なコンピュータ読取可能媒体であって、前記コンピュータ実行可能命令は、コンピュータのプロセッサによって実行されると、
複数のＤｉａｍｅｔｅｒメッセージプロセッサを含むＤｉａｍｅｔｅｒシグナリングルータ（ＤＳＲ）において、
第１のＤｉａｍｅｔｅｒノードからＤｉａｍｅｔｅｒ要求メッセージを受信するステップと、
前記複数のＤｉａｍｅｔｅｒメッセージプロセッサのうち第１のＤｉａｍｅｔｅｒメッセージプロセッサを識別するためのホップ・バイ・ホップ識別子を生成するステップと、
前記Ｄｉａｍｅｔｅｒ要求メッセージにホップ・バイ・ホップ識別子を組込むステップと、
第２のＤｉａｍｅｔｅｒノードに前記Ｄｉａｍｅｔｅｒ要求メッセージをルーティングするステップとを含むステップを実行するようにコンピュータを制御する、非一時的なコンピュータ読取可能媒体。
【請求項１４】
Ｄｉａｍｅｔｅｒメッセージをルーティングするための方法であって、
Ｄｉａｍｅｔｅｒシグナリングルータ（ＤＳＲ）における第１のＤｉａｍｅｔｅｒメッセージプロセッサにおいて、
第１のＤｉａｍｅｔｅｒノードからＤｉａｍｅｔｅｒメッセージを受信するステップと、
複数のＤｉａｍｅｔｅｒ接続にプライオリティレベル（ＰＬ：priority level）を割当てるステップと、
前記Ｄｉａｍｅｔｅｒメッセージに関連付けられたメッセージプライオリティ値に対応する第１のプライオリティレベルに関連付けられた第１のＤｉａｍｅｔｅｒ接続を選択するステップとを含む、方法。
【請求項１５】
前記メッセージプライオリティ値は、ＤＳＲまたは第１のＤｉａｍｅｔｅｒノードによって決定される、請求項１４に記載の方法。
【請求項１６】
前記メッセージプライオリティ値は、Ｄｉａｍｅｔｅｒメッセージタイプに基づいている、請求項１４に記載の方法。
【請求項１７】
前記メッセージプライオリティ値は、前記Ｄｉａｍｅｔｅｒメッセージ内のホップ・バイ・ホップ識別子の一部として記憶される、請求項１４に記載の方法。
【請求項１８】
前記第１のプライオリティレベルは、第１のメッセージプロセッサに関連付けられた状態情報と、前記ＤＳＲ内における通信バスまたはネットワークに関連付けられた状態情報と、前記第１のＤｉａｍｅｔｅｒ接続に関連付けられた状態情報とを用いて計算される単一の正規化された値である、請求項１４に記載の方法。
【請求項１９】
前記第１のＤｉａｍｅｔｅｒ接続に関連付けられた状態情報は、動作状態、遠隔のビジー状態、エグレス移送状態、またはエグレスメッセージスロットリング状態を含み、前記ＤＳＲ内における通信バスまたはネットワークに関連付けられた状態情報は、動作状態またはルーティング輻輳レベルを含み、前記第１のＤｉａｍｅｔｅｒメッセージプロセッサに関連付けられた状態情報は、プロセス状態を含む、請求項１８に記載の方法。
【請求項２０】
前記第１のプライオリティレベルは、メッセージプライオリティ値以下である、請求項１４に記載の方法。
【請求項２１】
前記第１のＤｉａｍｅｔｅｒメッセージプロセッサは、
分散コンピューティングプラットフォームの別個のメッセージプロセッシングモジュール、
ブレードベースの分散コンピューティングプラットフォームにおけるコンピューティングブレード、
シングルコアまたはマルチコアのコンピューティングデバイスに関連付けられた処理コア素子、および、
単一の物理的なメッセージプロセッシングまたはコンピューティングデバイス上でインスタンス化された仮想ノード、のうちの１つを含む、請求項１４に記載の方法。
【請求項２２】
Ｄｉａｍｅｔｅｒメッセージをルーティングするためのシステムであって、
Ｄｉａｍｅｔｅｒシグナリングルータ（ＤＳＲ）を含み、前記Ｄｉａｍｅｔｅｒシグナリングルータは、
第１のＤｉａｍｅｔｅｒメッセージプロセッサを含み、前記第１のＤｉａｍｅｔｅｒメッセージプロセッサは、
ＤｉａｍｅｔｅｒノードからＤｉａｍｅｔｅｒメッセージを受信し、
複数のＤｉａｍｅｔｅｒ接続にプライオリティレベルを割当て、
Ｄｉａｍｅｔｅｒメッセージに関連付けられたメッセージプライオリティ値に対応する第１のプライオリティレベルに関連付けられた第１のＤｉａｍｅｔｅｒ接続を選択するように構成される、システム。
【請求項２３】
前記メッセージプライオリティ値は、ＤＳＲまたは第１のＤｉａｍｅｔｅｒノードによって決定される、請求項２２に記載のシステム。
【請求項２４】
前記メッセージプライオリティ値は、Ｄｉａｍｅｔｅｒメッセージタイプに基づいている、請求項２２に記載のシステム。
【請求項２５】
前記メッセージプライオリティ値は、前記Ｄｉａｍｅｔｅｒメッセージ内のホップ・バイ・ホップ識別子の一部として記憶される、請求項２２に記載のシステム。
【請求項２６】
前記第１のプライオリティレベルは、第１のメッセージプロセッサに関連付けられた状態情報と、前記ＤＳＲ内における通信バスまたはネットワークに関連付けられた状態情報と、前記第１のＤｉａｍｅｔｅｒ接続に関連付けられた状態情報とを用いて計算される単一の正規化された値である、請求項２２に記載のシステム。
【請求項２７】
前記第１のＤｉａｍｅｔｅｒ接続に関連付けられた状態情報は、動作状態、遠隔のビジー状態、エグレス移送状態、またはエグレスメッセージスロットリング状態を含み、前記ＤＳＲ内における通信バスまたはネットワークに関連付けられた状態情報は動作状態またはルーティング輻輳レベルを含み、前記第１のＤｉａｍｅｔｅｒメッセージプロセッサに関連付けられた状態情報は、プロセス状態を含む、請求項２２に記載のシステム。
【請求項２８】
前記第１のプライオリティレベルは、メッセージプライオリティ値以下である、請求項２２に記載のシステム。
【請求項２９】
前記第１のＤｉａｍｅｔｅｒメッセージプロセッサは、
分散コンピューティングプラットフォームの別個のメッセージプロセッシングモジュール、
ブレードベースの分散コンピューティングプラットフォームにおけるコンピューティングブレード、
シングルコアまたはマルチコアのコンピューティングデバイスに関連付けられた処理コア素子、および、
単一の物理的なメッセージプロセッシングまたはコンピューティングデバイス上でインスタンス化された仮想ノード、のうちの１つを含む、請求項２２に記載のシステム。
【請求項３０】
コンピュータ実行可能命令を含む非一時的なコンピュータ読取可能媒体であって、コンピュータ実行可能命令は、コンピュータのプロセッサによって実行されると、
Ｄｉａｍｅｔｅｒシグナリングルータ（ＤＳＲ）における第１のＤｉａｍｅｔｅｒメッセージプロセッサにおいて、
第１のＤｉａｍｅｔｅｒノードからＤｉａｍｅｔｅｒメッセージを受信するステップと、
複数のＤｉａｍｅｔｅｒ接続にプライオリティレベルを割当てるステップと、
前記Ｄｉａｍｅｔｅｒメッセージに関連付けられたメッセージプライオリティ値に対応する第１のプライオリティレベルに関連付けられた第１のＤｉａｍｅｔｅｒ接続を選択するステップと、を含むステップを実行するようにコンピュータを制御する、非一時的なコンピュータ読取可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権主張
本願は、２０１２年６月１１日に提出され、その開示全体が引用によりこの明細書中に援用されている米国仮特許出願連続番号第６１／６５８，３９９号の利益を主張する。
【０００２】
技術分野
この明細書中に記載される主題はＤｉａｍｅｔｅｒ通信に関する。より特定的には、本主題は、Ｄｉａｍｅｔｅｒシグナリングルータにおいてｄｉａｍｅｔｅｒメッセージをルーティングするための方法、システムおよびコンピュータ読取可能媒体に関する。
【背景技術】
【０００３】
背景
Ｄｉａｍｅｔｅｒプロトコルは、次世代の認証、承認およびアカウンティング（ＡＡＡ:authentication, authorization, and accounting）プロトコルである。Ｄｉａｍｅｔｅｒベースプロトコルは、その開示全体が引用によりこの明細書中に援用されているＩＥＴＦ  ＲＦＣ  ６７３３において定義されている。一般にインターネット・マルチメディア・サブシステム（ＩＭＳ：Internet multimedia subsystem）アーキテクチャ内で用いられているＤｉａｍｅｔｅｒプロトコルは、リモート・オーセンティケーション・ダイアル・イン・ユーザ・サービス（ＲＡＤＩＵＳ：remote authentication dial-in user service）プロトコルに由来している。従来より、ＲＡＤＩＵＳプロトコルは、インターネットサービスプロバイダ（ＩＳＰ：Internet service provider）によって用いられて、ＩＳＰのアクセスサーバとユーザ認証情報（user credential information）が記憶されているセキュアなロケーション、たとえばライトウェイト・ディレクトリ・アクセス・プロトコル（ＬＤＡＰ：lightweight directory access protocol）サーバ、との間にセキュアな通信チャネルを提供してきた。ＲＡＤＩＵＳプロトコルにより、規格化されたＡＡＡ交換プロトコルが提供されてきたが、新しい技術およびアプリケーションの出現によって、絶えず変化する需要を満たすことができるプロトコルの開発が必要となった。Ｄｉａｍｅｔｅｒは、拡張された機能を提供して将来的な開発の余地を残しつつＲＡＤＩＵＳの標準的手法を拡張することを目的とする。
【０００４】
上述のＤｉａｍｅｔｅｒ  ＲＦＣは、Ｄｉａｍｅｔｅｒルーティングまたは処理ノードのためのアーキテクチャを規定するものではない。同様に、基準は、Ｄｉａｍｅｔｅｒ要素が分散アーキテクチャを含む場合にルーティングするための方法を規定するものではない。したがって、Ｄｉａｍｅｔｅｒシグナリングルータにおいてｄｉａｍｅｔｅｒメッセージをルーティングするための方法、システムおよびコンピュータ読取可能媒体が必要とされている。
【発明の概要】
【課題を解決するための手段】
【０００５】
概要
一局面に従うと、この明細書中に記載される主題は、Ｄｉａｍｅｔｅｒメッセージをルーティングするための方法を含む。当該方法は、複数のＤｉａｍｅｔｅｒメッセージプロセッサを含むＤｉａｍｅｔｅｒシグナリングルータ（ＤＳＲ：Diameter signaling router）において行われるステップを含む。当該方法は、Ｄｉａｍｅｔｅｒ要求メッセージを受信するステップを含む。当該方法はさらに、複数のＤｉａｍｅｔｅｒメッセージプロセッサのうち第１のＤｉａｍｅｔｅｒメッセージプロセッサを識別するためのホップ・バイ・ホップ（hop-by-hop）識別子を生成するステップを含む。当該方法はさらに、Ｄｉａｍｅｔｅｒ要求メッセージにホップ・バイ・ホップ識別子を組込むステップを含む。当該方法はさらに、第１のＤｉａｍｅｔｅｒノードにＤｉａｍｅｔｅｒ要求メッセージをルーティングするステップを含む。
【０００６】
一局面に従うと、この明細書中に記載される主題は、Ｄｉａｍｅｔｅｒメッセージをルーティングするための方法を含む。当該方法は、Ｄｉａｍｅｔｅｒシグナリングルータ（ＤＳＲ）において行われるステップを含む。当該方法は、第１のＤｉａｍｅｔｅｒノードからＤｉａｍｅｔｅｒメッセージを受信するステップを含む。Ｄｉａｍｅｔｅｒメッセージはメッセージプライオリティ値に関連付けられる。当該方法はさらに、複数のＤｉａｍｅｔｅｒ接続にプライオリティレベルを割当てるステップを含む。当該方法はさらに、メッセージプライオリティ値に対応するプライオリティレベルに関連付けられたＤｉａｍｅｔｅｒ接続を選択するステップを含む。
【０００７】
別の局面に従うと、この明細書中に記載される主題は、Ｄｉａｍｅｔｅｒメッセージをルーティングするためのシステムを含む。システムは、Ｄｉａｍｅｔｅｒシグナリングルータを含む。Ｄｉａｍｅｔｅｒシグナリングルータは、複数のＤｉａｍｅｔｅｒメッセージプロセッサを含む。複数のＤｉａｍｅｔｅｒメッセージプロセッサのうち第１のＤｉａｍｅｔｅｒメッセージプロセッサは、第１のＤｉａｍｅｔｅｒノードからＤｉａｍｅｔｅｒメッセージを受信し、第１のＤｉａｍｅｔｅｒメッセージプロセッサを識別するためのホップ・バイ・ホップ識別子を生成し、Ｄｉａｍｅｔｅｒ要求にホップ・バイ・ホップ識別子を組込み、Ｄｉａｍｅｔｅｒメッセージを第２のＤｉａｍｅｔｅｒノードにルーティングするように構成される。
【０００８】
別の局面に従うと、この明細書中に記載される主題は、Ｄｉａｍｅｔｅｒメッセージをルーティングするためのシステムを含む。当該システムはＤｉａｍｅｔｅｒシグナリングルータを含む。Ｄｉａｍｅｔｅｒシグナリングルータは、ＤｉａｍｅｔｅｒノードからＤｉａｍｅｔｅｒメッセージを受信し、複数のＤｉａｍｅｔｅｒ接続のために接続プライオリティレベルを割当て、メッセージプライオリティに対応するプライオリティレベルに関連付けられたＤｉａｍｅｔｅｒ接続を選択するように構成される。
【０００９】
この明細書中に記載される主題は、ハードウェアおよび／またはファームウェアと組み合わせてソフトウェアにおいて実現することができる。たとえば、この明細書中に記載される主題は、１つ以上のプロセッサによって実行されるソフトウェアにおいて実現されてもよい。具体的な一実現例においては、この明細書中に記載される主題は、コンピュータのプロセッサによって実行されるとステップを実行するようにコンピュータを制御するコンピュータ実行可能命令が記憶されている非一時的なコンピュータ読取可能媒体を用いて実現されてもよい。この明細書中に記載される主題を実現するのに適した例示的なコンピュータ読取可能媒体は、ディスクメモリデバイス、チップメモリデバイス、プログラマブルロジックデバイスおよび特定用途向け集積回路などの非一時的なコンピュータ読取可能媒体を含む。加えて、この明細書中に記載される主題を実現するコンピュータ読取可能媒体は、単一のデバイスもしくはコンピューティングプラットフォームに配置されてもよく、または、複数のデバイスもしくはコンピューティングプラットフォームにわたって分散させてもよい。
【００１０】
「ノード」という語は、この明細書中において用いられる場合、１つ以上のプロセッサおよびメモリを含む物理的なコンピューティングプラットフォームを指す。
【００１１】
「機能」または「モジュール」という語は、この明細書中において用いられる場合、この明細書中に記載される特徴を実現するための、ハードウェア、ファームウェア、またはハードウェアおよび／もしくはファームウェアと組合わされたソフトウェアを指す。
【００１２】
図面の簡単な説明
この明細書中に記載される主題を添付の図面に関連付けて以下に説明する。
【図面の簡単な説明】
【００１３】
【図１】この明細書中に記載される主題の実施形態に従った、複数のＤｉａｍｅｔｅｒメッセージプロセッサ（ＭＰ：message processor）を含むＤｉａｍｅｔｅｒシグナリングルータ（ＤＳＲ）を示すネットワーク図である。
【図２】この明細書中に記載される主題の実施形態に従った例示的なＤｉａｍｅｔｅｒメッセージホップ・バイ・ホップ識別子を示す図である。
【図３】この明細書中に記載される主題の実施形態に従ってルーティングしている例示的なＤｉａｍｅｔｅｒ要求メッセージを示す図である。
【図４】この明細書中に記載される主題の実施形態に従った例示的なＤｉａｍｅｔｅｒ応答メッセージホップ・バイ・ホップ識別子を示す図である。
【図５】この明細書中に記載される主題の実施形態に従ってＤｉａｍｅｔｅｒメッセージをルーティングするための例示的なプロセスを示す図である。
【図６】この明細書中に記載される主題の別の実施形態に従ってＤｉａｍｅｔｅｒメッセージをルーティングするための例示的なプロセスを示す図である。
【発明を実施するための形態】
【００１４】
詳細な説明
Ｄｉａｍｅｔｅｒシグナリングルータ（ＤＳＲ）は、Ｄｉａｍｅｔｅｒノード間でＤｉａｍｅｔｅｒメッセージをルーティングまたはリレーするためのいずれかの好適なエンティティであり得る。たとえば、ＤＳＲは、ロング・ターム・エボリューション（ＬＴＥ：long term evolution）シグナリングルータ、ＬＴＥ  Ｄｉａｍｅｔｅｒシグナリングルータ、Ｄｉａｍｅｔｅｒシグナリングエージェント、Ｄｉａｍｅｔｅｒプロキシエージェント、Ｄｉａｍｅｔｅｒリレーエージェント、Ｄｉａｍｅｔｅｒルーティングエージェント、Ｄｉａｍｅｔｅｒ翻訳エージェント、および／または、Ｄｉａｍｅｔｅｒリダイレクトエージェントであってもよい。ＤＳＲは、さまざまなメッセージを処理するための機能を含み得る。いくつかの実施形態においては、ＤＳＲは、１つ以上の第三世代パートナーシッププロジェクト（３ＧＰＰ：3rd generation partnership project）ＬＴＥ通信用インターフェイスを介してさまざまなＤｉａｍｅｔｅｒノードと通信し得る。別の実施形態においては、ＤＳＲは、１つ以上の他の（たとえば非ＬＴＥ）通信用インターフェイスを介してさまざまなＤｉａｍｅｔｅｒノードと通信し得る。たとえば、ＤＳＲは、呼セッション制御機能（ＣＳＣＦ：call session control function）などのインターネット・プロトコル（ＩＰ：Internet protocol）マルチメディアサブシステム（ＩＭＳ：IP multimedia subsystem）ノードとの通信を、ＩＭＳ関連のインターフェイスを用いて行ってもよい。
【００１５】
いくつかの実施形態においては、ＤＳＲは、複数のＤｉａｍｅｔｅｒエージェントもしくはノードを含んでもよく、および／または、複数のＭＰを含んでもよい。この場合、各々のＭＰは、分散コンピューティングプラットフォームの別個のメッセージプロセッシングモジュール、ブレードベースの分散コンピューティングプラットフォームにおけるコンピューティングブレード、シングルコアもしくはマルチコアのコンピューティングデバイスに関連付けられた処理コア素子、または、単一の物理的なメッセージプロセッシング／コンピューティングデバイス上でインスタンス化された仮想ノードである。そのため、ＤＳＲは、単一の別個の地理位置に配置されて内部の通信ネットワークを介して通信し得るか、または、地理的にさまざまな位置に配置されて外部通信ネットワークを介して通信する複数のＭＰを含み得る。
【００１６】
ＤＳＲは、論理エンティティとして、極めてスケーラブルであり、複数のアーキテクチャに関するオプションに従って設計されてもよい。第１のアーキテクチャオプションは、各々のＭＰが、Ｄｉａｍｅｔｅｒ接続レベル（ＤＣＬ：Diameter connection level）、Ｄｉａｍｅｔｅｒルーティング層（ＤＲＬ：Diameter routing layer）、およびアプリケーション層、たとえばＤｉａｍｅｔｅｒアプリケーション層（ＤＡＬ：Diameter application layer）を含むＤｉａｍｅｔｅｒスタック全体を支持する場合を含み得る。第２のアーキテクチャオプションは、専用のＭＰ上で実行されるＤＣＬを含み得る。この場合、ルーティング層およびアプリケーション層がＭＰ上で組合されているかまたはルーティング層およびアプリケーション層の各々が専用のＭＰを有している。第３のアーキテクチャオプションは、専用のＭＰ上で実行されるＤｉａｍｅｔｅｒスタック（ＤＣＬ／ＤＲＬ）を含み得る。この場合、ローカルのＤｉａｍｅｔｅｒアプリケーションが別個の専用のＭＰ上で実行される。これらの例示的なアーキテクチャオプションの各々を以下においてより詳細に説明する。
【００１７】
Ｄｉａｍｅｔｅｒ  ＭＰは、単一のＤｉａｍｅｔｅｒアイデンティティに関連付けられ得る。たとえば、第１のＤｉａｍｅｔｅｒ  ＭＰおよび第２のＤｉａｍｅｔｅｒ  ＭＰは、単一のＤｉａｍｅｔｅｒアイデンティティ「Ｘ」に関連付けられてもよく、ともにＤｉａｍｅｔｅｒピアノード「Ａ」の視点およびＤｉａｍｅｔｅｒピアノード「Ｂ」の視点から見ると、Ｄｉａｍｅｔｅｒアイデンティティ「Ｘ」を有する単一のＤｉａｍｅｔｅｒエンティティまたはノードのように見える可能性がある。このような実施形態においては、ＤＳＲはまた、ともにＤｉａｍｅｔｅｒピアノード「Ａ」の視点およびＤｉａｍｅｔｅｒピアノード「Ｂ」の視点から見ると、Ｄｉａｍｅｔｅｒアイデンティティ「Ｘ」を有する単一のＤｉａｍｅｔｅｒエンティティのように見える可能性がある。
【００１８】
別の実施形態においては、Ｄｉａｍｅｔｅｒ  ＭＰはさまざまなＤｉａｍｅｔｅｒアイデンティティに関連付けられ得る。たとえば、第１のＤｉａｍｅｔｅｒ  ＭＰはＤｉａｍｅｔｅｒアイデンティティ「Ｘ」に関連付けられてもよく、Ｄｉａｍｅｔｅｒ  ＭＰはＤｉａｍｅｔｅｒアイデンティティ「Ｙ」に関連付けられてもよい。このような実施形態においては、第１のＤｉａｍｅｔｅｒ  ＭＰおよび第２のＤｉａｍｅｔｅｒ  ＭＰはそれぞれＤｉａｍｅｔｅｒアイデンティティ「Ｘ」および「Ｙ」を有する単一のＤｉａｍｅｔｅｒエンティティとして現われてもよく、ＤＳＲは、複数のＤｉａｍｅｔｅｒアイデンティティを有する単一のＤｉａｍｅｔｅｒエンティティとして現われてもよい。たとえば、Ｄｉａｍｅｔｅｒピアノード「Ａ」の視点から見ると、ＤＳＲはＤｉａｍｅｔｅｒアイデンティティ「Ｘ」を有していてもよく、Ｄｉａｍｅｔｅｒピアノード「Ｂ」の視点から見ると、ＤＳＲはＤｉａｍｅｔｅｒアイデンティティ「Ｙ」を有していてもよい。
【００１９】
図１は、この明細書中に記載される主題の実施形態に従った複数のＤｉａｍｅｔｅｒ  ＭＰを含むＤＳＲ  １００を備える例示的なネットワークを示すネットワーク図である。図１を参照すると、ＤＳＲ  １００は、ピアからＤｉａｍｅｔｅｒメッセージを受信するためのイングレスＭＰ  １０２と、ピアにＤｉａｍｅｔｅｒメッセージを伝送するためのエグレスＭＰ  １０４とを含み得る。イングレスＭＰ  １０２およびエグレスＭＰ  １０４は各々、ＤＣＬ、ＤＲＬおよびＤＡＬを含み得る。たとえば、イングレスＭＰ  １０２は、ＤＣＬ  １０６、ＤＲＬ  １０８およびＤＡＬ  １１０を含み得る。同様に、エグレスＭＰ  １０４は、ＤＣＬ  １１２、ＤＲＬ  １１４およびＤＡＬ  １１６を含み得る。いくつかの実施形態においては、イングレスＭＰ  １０２とエグレスＭＰ  １０４との間で通信を行うために、各々のＭＰは、通信エージェント（ＣＡ：communications agent）、たとえばＣＡ  １１８およびＣＡ  １２０など、を含んでもよい。ＣＡは、ＭＰ同士の通信を提供するためのインターフェイスまたは他のエンティティであってもよい。たとえば、ＣＡ  １１８およびＣＡ  １２０は、ＤＳＲ  １００におけるＭＰまたは他のエンティティに対してメッセージ、状態または他の情報を送信するために内部メッシュネットワークまたはバスシステムに接続されてもよい。いくつかの実施形態においては、イングレスＭＰ  １０２のＤＲＬ  １０８は、エグレスＭＰ  １０４のＤＲＬ  １１４およびＤＣＬ  １１２と通信するように動作可能であってもよい。加えて、ＤＲＬ  １０８は、ＤＣＬ  １０６およびＤＡＬ  １１０と通信するように動作可能であってもよく、ＤＲＬ  １１４は、ＤＣＬ  １１２およびＤＡＬ  １１６と通信するように動作可能であってもよい。
【００２０】
例示的なＤｉａｍｅｔｅｒメッセージルーティングシナリオにおいては、ピアＮ−１  １２６は、ＤＳＲ  １００にＤｉａｍｅｔｅｒメッセージを送信し得る。Ｄｉａｍｅｔｅｒメッセージは、イングレスＭＰ  １０２のＤＣＬ  １０６によって受信され得る。イングレスメッセージは、ＤＲＬ  １０８によってＤｉａｍｅｔｅｒメッセージのための次ホップのピアが選択されることによってイングレスＭＰ  １０２上で完全に処理され得る。ＤＣＬ  １０６は、上述の例示的なシナリオを続けて、ＤＲＬ  １０８にＤｉａｍｅｔｅｒメッセージを渡し得る。
【００２１】
アプリケーション処理が必要であれば、イングレスＤＲＬ  １０８は、ローカルアプリケーションをホスティングするＤｉａｍｅｔｅｒメッセージプロセッサにＤｉａｍｅｔｅｒメッセージを転送してもよい。たとえば、ＤＲＬ  １０８は、ＭＰがホスティングしているローカルのＤＡＬ１１０にＤｉａｍｅｔｅｒメッセージを転送してもよく、ここでメッセージを処理し、このメッセージをＤＲＬ  １０８に返す。アプリケーション分散機能が不要であるかもしれないことが認識される。
【００２２】
次いで、イングレスＤＲＬ  １０８は、ＣＡ  １１８にＤｉａｍｅｔｅｒメッセージを転送し得る。ＣＡ  １１８は、遠隔のＣＡ  １２０にＤｉａｍｅｔｅｒメッセージを送信し得る。ＣＡ  １２０は、ＤＣＬ  １１２におけるローカルキューにＤｉａｍｅｔｅｒメッセージを転送し得る。次いで、エグレスＤＣＬ  １１２は、ピアＮ＋１  １２８にＤｉａｍｅｔｅｒメッセージを送信し得る。
【００２３】
追加の例示的なＤｉａｍｅｔｅｒメッセージルーティングシナリオ（図示せず）においては、ピアＮ−１  １２６は、ＤＳＲ  １００にＤｉａｍｅｔｅｒメッセージを送信し得る。Ｄｉａｍｅｔｅｒメッセージは、イングレスＭＰ  １０２のＤＣＬ  １０６によって受信され得る。ＤＣＬ  １０６は、ＤＲＬ  １０８にメッセージを転送し得る。アプリケーション処理が必要であれば、イングレスＤＲＬ  １０８は、ＤＡＬ  １１０におけるローカルアプリケーションにＤｉａｍｅｔｅｒメッセージを転送してもよく、ここでメッセージを処理して、このメッセージをＤＲＬ  １０８に返す。次いで、イングレスＤＲＬ  １０８は、（たとえばＣＡ  １１８および１２０の使用の有無に関わらず）エグレスＤＣＬ  １１２にＤｉａｍｅｔｅｒメッセージを転送し、このエグレスＤＣＬ  １１２が、さらに、ピアＮ＋１  １２８にＤｉａｍｅｔｅｒメッセージを送信し得る。
【００２４】
追加の例示的なＤｉａｍｅｔｅｒメッセージルーティングシナリオ（図示せず）においては、ピアＮ−１  １２６はＤＳＲ  １００にＤｉａｍｅｔｅｒメッセージを送信し得る。Ｄｉａｍｅｔｅｒメッセージは、イングレスＭＰ  １０２のＤＣＬ  １０６によって受信され得る。ＤＣＬ  １０６は、（たとえばＣＡ  １１８を用いて）エグレスＭＰ  １０４のＤＲＬ  １１４にＤｉａｍｅｔｅｒメッセージを渡し得る。アプリケーション処理が必要であれば、エグレスＤＲＬ  １１４は、ＤＡＬ  １１６におけるローカルアプリケーションにＤｉａｍｅｔｅｒメッセージを転送してもよく、ここでメッセージを処理して、このメッセージをＤＲＬ  １１４に返す。次いで、エグレスＤＲＬ  １１４は、エグレスＤＣＬ  １１２にＤｉａｍｅｔｅｒメッセージを転送し、さらに、エグレスＤＣＬ  １１２がＤｉａｍｅｔｅｒメッセージをピアＮ＋１  １２８に送信し得る。
【００２５】
いくつかの実施形態においては、Ｄｉａｍｅｔｅｒ  ＭＰは、各々のＤｉａｍｅｔｅｒ  ＭＰにおいて記憶された同じルーティング情報のコピーを利用し得る。たとえば、Ｄｉａｍｅｔｅｒ  ＭＰ  １０２、１０４、１２２および１２４は、それぞれ、（たとえばメモリまたはコンピュータ読取可能媒体における）１つ以上のデータ構造に記憶された同じルーティング情報のコピーを利用してもよい。いくつかの実施形態においては、Ｄｉａｍｅｔｅｒ  ＭＰは、ノード間のルーティングのために１つ以上のピアルーティングテーブル（ＰＲＴ：peer routing table）を用いてもよく、および／または、ＭＰ間のルーティングのために１つ以上のルートリストテーブル（ＲＬＴ：route list table）を用いてもよい。いくつかの実施形態においては、ＰＲＴおよびＲＬＴからの情報は、データ構造に組合わされるかまたは組込まれて、ＰＲＴ／ＲＬＴと称されてもよい。たとえば、Ｄｉａｍｅｔｅｒ  ＭＰ  ３０８は、ＰＲＴ／ＲＬＴを利用して、ピアＮ−１  １２６から受信されてピアＮ＋１  １２８に宛先指定されるＤｉａｍｅｔｅｒメッセージを、ＰＲＴ／ＲＬＴによって識別されるエグレスＭＰ  １０４にルーティングしてもよい。さらに、ＰＲＴ／ＲＬＴが次ホップのピアＮ＋１  １２８を識別し、そして、エグレスＭＰ  １０４とピアＮ＋１  １２８との間に存在するエグレス接続「Ｃｏｎｎ−１」を識別し得るので、エグレスＭＰ  １０４におけるその後のＤｉａｍｅｔｅｒルックアップ（lookup）は不要になるかもしれない。別の実施形態においては、Ｄｉａｍｅｔｅｒ  ＭＰは、共用のリポジトリに記憶された共通のルーティング情報を利用してもよい。
【００２６】
図２は、この明細書中に記載される主題の実施形態に従った例示的なＤｉａｍｅｔｅｒメッセージホップ・バイ・ホップ識別子を示す図である。いくつかの実施形態においては、ホップ・バイ・ホップ識別子は１ビット以上のデータを含み得る。図２に示される実施形態においては、ホップ・バイ・ホップ識別子は３２ビットのデータを含み得る。ホップ・バイ・ホップ識別子は、メッセージプライオリティ値部分、リザーブ部分、ＭＰ識別子部分、ペンディングトランザクションマネージャ（ＰＴＭ：pending transaction manager）トランザクション識別子部分、およびＰＴＭ識別子部分などのさまざまな部分を含み得る。いくつかの実施形態においては、ホップ・バイ・ホップ識別子またはそれが含む部分は、１つ以上の属性値の対（ＡＶＰ：attribute value pair）を含み得る。
【００２７】
ホップ・バイ・ホップ識別子のメッセージプライオリティ値部分は、関連付けられたメッセージのプライオリティ値を示すために１ビット以上（たとえば２ビット）のデータを含み得る。たとえば、Ｄｉａｍｅｔｅｒ要求メッセージは、０〜３の間のメッセージプライオリティ値を含むホップ・バイ・ホップ識別子に関連付けられてもよい。いくつかの実施形態においては、プライオリティ値は、メッセージをいつ宛先に送信するか、メッセージを送信または処理するのにどのようなリソースを用いるか等のさまざまな処理決定に影響を及ぼす可能性がある。
【００２８】
ホップ・バイ・ホップ識別子のリザーブ部分は、将来の用途または他の目的のために確保されている１ビット以上（たとえば２ビット）のデータを含み得る。たとえば、Ｄｉａｍｅｔｅｒ要求メッセージは、後日において規定または決定される機能のために用いることができるリザーブ部分を含み得る。別の例においては、Ｄｉａｍｅｔｅｒ要求メッセージは、テストパケットを示すためにリザーブ部分に固有の値を含んでもよい。
【００２９】
ホップ・バイ・ホップ識別子のＭＰ識別子部分は、ＭＰに関連付けられた固有の識別子を示すために１ビット以上（たとえば７ビット）のデータを含み得る。たとえば、ＤＳＲ  １００は８つのＭＰを含んでもよい。各々のＭＰは、１から８の間の固有の番号に関連付けられてもよい。
【００３０】
ホップ・バイ・ホップ識別子のＰＴＭトランザクション識別子部分は、ＰＴＭに関連付けられたＤｉａｍｅｔｅｒトランザクション識別子を示すために１ビット以上（たとえば１７ビット）のデータを含み得る。ＰＴＭは、他のＭＰに対する受信済みＤｉａｍｅｔｅｒ要求メッセージのルーティング、Ｄｉａｍｅｔｅｒメッセージの作成または変更（たとえば、ＭＰ識別子を含むホップ・バイ・ホップ識別子の生成）、プライオリティレベルの割当てもしくは監視、関連付けられたＤｉａｍｅｔｅｒ応答メッセージの処理、および／または他の機能などの１つ以上のさまざまな動作を実行するように構成されたモジュール（たとえば、プロセッサ上で実行されるハードウェア、ファームウェアまたはソフトウェア）であってもよい。いくつかの実施形態においては、１つ以上のＰＴＭがＤＲＬ（たとえばＤＲＬ  １０８）に関連付けられてもよい。
【００３１】
いくつかの実施形態においては、ＰＴＭトランザクション識別子は、関連するメッセージを一意的に識別し得る。たとえば、ＰＴＭは、トランザクション識別子「Ｔ２」を生成し、Ｄｉａｍｅｔｅｒノード「Ｂ」による処理のために当該識別子をＤｉａｍｅｔｅｒノード「Ａ」から送信されたＤｉａｍｅｔｅｒ要求メッセージに関連付けてもよい。この例においては、Ｄｉａｍｅｔｅｒ要求メッセージに応答してＤｉａｍｅｔｅｒノード「Ｂ」からＤｉａｍｅｔｅｒノード「Ａ」に送信されたＤｉａｍｅｔｅｒ応答メッセージはまた、トランザクション識別子「Ｔ２」を含んでもよい。
【００３２】
ホップ・バイ・ホップ識別子のＰＴＭ識別子部分は、ＰＴＭに関連付けられた固有の識別子を示すために１ビット以上（たとえば４ビット）のデータを含み得る。たとえば、ＤＲＬ  １０８は１６個のＰＴＭを含んでもよい。各々のＰＴＭは、０から１５の間の固有の番号に関連付けられてもよい。
【００３３】
図３は、この明細書中に記載される主題の実施形態に従ってルーティングしている例示的なＤｉａｍｅｔｅｒ要求メッセージを示す図である。図３に図示のとおり、Ｄｉａｍｅｔｅｒ要求メッセージ「Ａ」はイングレスＭＰ  １０２において受信され得る。いくつかの実施形態においては、受信したＤｉａｍｅｔｅｒ要求メッセージは、１のメッセージプライオリティ値を含み得る。いくつかの実施形態においては、ＤＳＲ  １００またはそのモジュールは、Ｄｉａｍｅｔｅｒ要求メッセージに関連付けられたメッセージプライオリティ値を決定または生成し得る。
【００３４】
Ｄｉａｍｅｔｅｒ要求メッセージは、ＤＣＬ  １０６によってＰＴＭ−０  ３００に転送され得る。ＰＴＭ−０  ３００はＤＲＬ  １０８に関連付けられてもよく、ＤＲＬ  １０８において実現されてもよく、またはＤＲＬ  １０８の一部であってもよい。一例においては、ＰＴＭ−０  ３００は複数のＰＴＭから選択されてもよい。この選択は、負荷条件、サービス、アプリケーションまたはＭＰ動作状態などの１つ以上の要因に基づいていてもよい。選択はまた、ロードバランシング、ラウンドロビン、リソース利用または別の方法などの１つ以上の選択アルゴリズムに基づいていてもよい。
【００３５】
ＰＴＭ−０  ３００または別のモジュールは、Ｄｉａｍｅｔｅｒ要求メッセージに関連付けられたさまざまな情報（たとえばメッセージヘッダまたはＡＶＰ）を生成および／または変更し得る。いくつかの実施形態においては、ＰＴＭ−０  ３００または別のモジュールは、ホップ・バイ・ホップ識別子を生成または変更し得る。ホップ・バイ・ホップ識別子は、ＤＳＲ  １００と外部のＤｉａｍｅｔｅｒノードとの間におけるＤｉａｍｅｔｅｒトランザクションを識別するために用いられてもよい。ＰＴＭ−０  ３００または別のモジュールは、ＰＴＭ識別子およびＰＴＭトランザクション識別子などのＰＴＭ−０  ３００および他の識別子に関連付けられたＭＰ（たとえばイングレスＭＰ（１）１０２）を識別するためのＭＰ識別子を含み得る。ＰＴＭ−０  ３００または別のモジュールはまた、ホップ・バイ・ホップ識別子または他のメッセージ部分にＤｉａｍｅｔｅｒ接続識別子を含み得る。Ｄｉａｍｅｔｅｒ接続識別子は、Ｄｉａｍｅｔｅｒ要求メッセージを送信または受信するのに使用可能なＤｉａｍｅｔｅｒ接続を識別するのに使用可能であってもよい。ホップ・バイ・ホップ識別子を生成または変更した後、ＰＴＭ−０  ３００または別のモジュールは、ホップ・バイ・ホップ識別子をＤｉａｍｅｔｅｒ要求メッセージに組込み得る。たとえば、図３に図示のとおり、Ｄｉａｍｅｔｅｒ要求メッセージ「Ａ」は、「１」のＭＰ識別子、「１」のメッセージプライオリティ値、「０」のＰＴＭ識別子、および「Ｘ０」のトランザクション識別子を示すホップ・バイ・ホップ識別子を含むように変更されてもよい。この例においては、ホップ・バイ・ホップ識別子は、Ｄｉａｍｅｔｅｒメッセージのうち１つ以上のＡＶＰまたは１つ以上のヘッダパラメータ部分に記憶され得る。
【００３６】
ＰＴＭ−０  ３００は、Ｄｉａｍｅｔｅｒメッセージについての所期の宛先に基づいて、さまざまなルーティング情報を用いてエグレス接続を決定し得る。たとえば、ＰＴＭ−０  ３００は、ルーティングデータベース３０２（たとえば、ＰＲＴおよび／またはＲＬＴ）にアクセスしてもよい。ルーティングデータベース３０２は、適切なエグレス接続を決定するための情報（たとえばデータ構造）を含み得る。例示的な一データ構造（図示せず）においては、さまざまな宛先が、１つ以上のルーティンググループに関連付けられてもよい（たとえば、宛先までのルートの論理的な分類）。例示的なデータ構造３０４においては、特定のルーティンググループに関連付けられた接続はさまざまなプライオリティレベルに関連付けられてもよい。プライオリティレベルは、さまざまなルーティング決定を行うのに用いられてもよく、ルートまたは接続の有用性（たとえば速度、信頼性および／または近さ）を概略的に示すものであってもよい。
【００３７】
いくつかの実施形態においては、プライオリティレベルは、第１のメッセージプロセッサに関連付けられた状態情報と、Ｄｉａｍｅｔｅｒ信号ルータ内において通信バスまたはネットワークに関連付けられた状態情報と、第１のＤｉａｍｅｔｅｒ接続に関連付けられた状態情報とを用いて計算された単一の正規化された値（たとえば０から９９の間の整数）であってもよい。たとえば、「０」のプライオリティレベルが非常に望ましい接続を示してもよく、「９９」のプライオリティレベルが動作不可能な接続を示してもよい。別の例においては、「９９」のプライオリティレベルが非常に望ましい接続を示してもよく、「０」のプライオリティレベルが動作不可能な接続を示してもよい。
【００３８】
データ構造３０４においては、接続プライオリティレベル（ｃｏｎｎ−ＰＬ）値は、接続に関連付けられたプライオリティレベルを示してもよく、メッセージプロセッサプライオリティレベル（ＭＰ−ＰＬ）値は、ＭＰに関連付けられたプライオリティレベルを示してもよい。いくつかの実施形態においては、データ構造３０４は、関連付けられた２つ以上のプライオリティレベル値に基づいた総計または合計のプライオリティレベル値を含み得る。たとえば、接続「７４」は０の合計プライオリティレベルを有してもよく、この場合、ｃｏｎｎ−ＰＬおよびＭＰ−ＰＬの最低値はそれぞれ３および０である。別の例においては、接続「７４」は、１．５の合計プライオリティレベルを有してもよく、または、そのｃｏｎｎ−ＰＬおよびＭＰ−ＰＬの平均値としてそれぞれ３および０を有してもよい。さらに別の例においては、接続「７４」は、３の合計プライオリティレベルを有してもよく、そのｃｏｎｎ−ＰＬおよびＭＰ−ＰＬの最高値としてそれぞれ３および０を有してもよい。
【００３９】
ＰＴＭ−０  ３００または別のモジュールは、１つ以上の関連付けられたプライオリティレベルおよび関連付けられたメッセージプライオリティ値に基づいてＤｉａｍｅｔｅｒメッセージのための接続を選択してもよい。たとえば、ＰＴＭ−０  ３００は、送信すべきＤｉａｍｅｔｅｒメッセージに関連付けられたメッセージプライオリティ値と同じであるかまたはそれ未満であるプライオリティレベルに関連付けられたＤｉａｍｅｔｅｒメッセージのための接続を選択するように構成されてもよい。別の例においては、ＰＴＭ−０  ３００は、送信すべきＤｉａｍｅｔｅｒメッセージに関連付けられたメッセージプライオリティ値よりも大きいプライオリティレベルに関連付けられたＤｉａｍｅｔｅｒメッセージのための接続を選択するように構成されてもよい。
【００４０】
いくつかの実施形態においては、Ｄｉａｍｅｔｅｒメッセージのための接続は、合計プライオリティレベル値に基づいて選択されてもよい。たとえば、エグレス接続「Ｃｏｎｎ−１」は、Ｄｉａｍｅｔｅｒ要求メッセージ「Ａ」を送信するために選択されてもよい。というのも、エグレス接続は「０」のプライオリティレベルに関連付けられており、「０」は、Ｄｉａｍｅｔｅｒ要求メッセージ「Ａ」に関連付けられたメッセージプライオリティ値（たとえば「１」）未満であるからである。
【００４１】
プライオリティレベル値およびメッセージプライオリティ値に基づいてホップ・バイ・ホップ識別子を生成もしくは変更した後ならびに／または適切な接続を選択した後、ＰＴＭ−０  ３００または別のモジュールは、ＭＰ  １０４などの別のＭＰに（たとえば内部インターフェイスまたはネットワークを介して）メッセージを送信し得る。ＭＰ  １０４は、ピアＮ＋１  １２８にＤｉａｍｅｔｅｒ要求メッセージを送信し得る。たとえば、ＭＰ  １０４は、エグレス接続「Ｃｏｎｎ−１」を介してその宛先にＤｉａｍｅｔｅｒ要求メッセージをルーティングしてもよい。
【００４２】
図４は、この明細書中に記載される主題の実施形態に従った例示的なＤｉａｍｅｔｅｒ応答メッセージホップ・バイ・ホップ識別子を示す図である。この実施形態においては、ピアＮ＋１  １２８は、図３に関連付けて上述したＤｉａｍｅｔｅｒ要求メッセージ「Ａ」に応答してＤｉａｍｅｔｅｒ応答メッセージを送信し得る。Ｄｉａｍｅｔｅｒ応答メッセージは、Ｄｉａｍｅｔｅｒ要求メッセージ「Ａ」に関連付けられたホップ・バイ・ホップ識別子を含み得る。
【００４３】
いくつかの実施形態においては、Ｄｉａｍｅｔｅｒ応答メッセージは、ＤＳＲ  １００からピアＮ＋１  １２８にＤｉａｍｅｔｅｒ要求メッセージ「Ａ」を送信するのに用いられるのと同じ接続を介してＤＳＲ  １００に送信されてもよい。Ｄｉａｍｅｔｅｒ応答メッセージは、エグレス接続「Ｃｏｎｎ−１」を介してＭＰ  １０４で受信されてもよく、さらなる処理のためにＤＣＬおよび／またはＭＰ（ＤＣＬ／ＭＰ）ルータに供給されてもよい。ＤＣＬ／ＭＰルータ４００は、Ｄｉａｍｅｔｅｒメッセージに対処するかまたはＤｉａｍｅｔｅｒメッセージを処理するためのＭＰを決定するためのいずれかの好適なエンティティ（たとえばＭＰ  １０４において実行されるソフトウェア）であってもよい。いくつかの実施形態においては、ＤＣＬ／ＭＰルータ４００は、Ｄｉａｍｅｔｅｒ応答メッセージを受信し、ホップ・バイ・ホップ識別子に基づいて、どのＭＰがＤｉａｍｅｔｅｒ応答メッセージを処理するべきであるかを判断し得る。たとえば、ＤＣＬ／ＭＰルータ４００は、ホップ・バイ・ホップ識別子におけるＭＰ識別子を抽出、解読または決定してもよい。ＤＣＬ／ＭＰルータ４００は、ＭＰ識別子に基づき、ＭＰ  １０２がＤｉａｍｅｔｅｒ応答メッセージに関連付けられていると判断してもよく、さらなる処理のためにこのＤｉａｍｅｔｅｒ応答メッセージをＭＰ  １０２に伝達してもよい。
【００４４】
ＰＴＭルータが利用されていないいくつかの実施形態においては、１つ以上のＤＣＬまたはＭＰは、Ｄｉａｍｅｔｅｒメッセージを適切なＭＰに転送、伝達または供給するように構成され得る。たとえば、Ｄｉａｍｅｔｅｒ応答メッセージはＭＰ  １０４で受信されてもよい。ＭＰ  １０４は、ホップ・バイ・ホップ識別子に基づいて、そのＭＰ  １０２がＤｉａｍｅｔｅｒ応答メッセージに関連付けられていると判断し、さらなる処理のためにこのＤｉａｍｅｔｅｒ応答メッセージをＭＰ  １０２に伝達してもよい。
【００４５】
いくつかの実施形態においては、Ｄｉａｍｅｔｅｒ応答メッセージがＭＰ  １０２で受信された後、（たとえば、ＤＣＬ  １０６に関連付けられた）ＰＴＭルータ４０２がＤｉａｍｅｔｅｒ応答メッセージを受信し得る。ＰＴＭルータ４０２は、ホップ・バイ・ホップ識別子に基づいて、どのＰＴＭがＤｉａｍｅｔｅｒ応答メッセージを処理するべきであるかを判断し得る。たとえば、ＰＴＭルータ４０２は、ホップ・バイ・ホップ識別子におけるＰＴＭ識別子を抽出、解読または決定してもよい。ＰＴＭルータ４０２は、ＰＴＭ識別子に基づき、ＰＴＭ−０  ３００がＤｉａｍｅｔｅｒ応答メッセージに関連付けられていると判断し、さらなる処理のためにＤｉａｍｅｔｅｒ応答メッセージをＰＴＭ−０  ３００に伝達してもよい。
【００４６】
ＰＴＭルータが利用されていないいくつかの実施形態においては、１つ以上のＰＴＭは、適切なＰＴＭにＤｉａｍｅｔｅｒメッセージを転送するか、伝達するかまたは供給するように構成され得る。たとえば、Ｄｉａｍｅｔｅｒ応答メッセージは、ＰＴＭ−１５  ３１０で受信されてもよい。ＰＴＭ−１５  ３１０は、ホップ・バイ・ホップ識別子に基づいて、ＰＴＭ−０  ３００がＤｉａｍｅｔｅｒ応答メッセージを処理するべきであると判断し、さらなる処理のためにＤｉａｍｅｔｅｒ応答メッセージをＰＴＭ−０  ３００に伝達してもよい。
【００４７】
ＰＴＭ−０  ３００において、Ｄｉａｍｅｔｅｒ応答メッセージが処理されてもよく、および／または、別のＤｉａｍｅｔｅｒノードにルーティングされてもよい。たとえば、ＰＴＭ−０  ３００は、ホップ・バイ・ホップ識別子におけるトランザクション識別子およびメッセージプライオリティ値を抽出、解読または決定してもよい。ＰＴＭ−０  ３００は、Ｄｉａｍｅｔｅｒ応答メッセージについての宛先、たとえばピアＮ−１  １２６または他のＤｉａｍｅｔｅｒピアノード、を決定するためにルーティングデータベース３０２におけるルックアップとしてトランザクション識別子を用いてもよい。ＰＴＭ−０  ３００はまた、Ｄｉａｍｅｔｅｒ応答メッセージをその宛先に送信するのにどの接続を用いるかを判断する際にメッセージプライオリティ値を用いてもよい。
【００４８】
図５は、この明細書中に記載される主題の実施形態に従ってＤｉａｍｅｔｅｒメッセージをルーティングするための例示的なプロセスを示す図である。図５に示される実施形態を参照すると、例示的なプロセスはステップ５００、５０２、５０４および５０６を含み得る。いくつかの実施形態においては、この明細書中に記載される例示的なプロセスまたはその部分は、ＤＳＲ  １００、イングレスＭＰ  １０２、エグレスＭＰ  １０４、ＤＣＬ  １０６、ＤＲＬ  １０８、ＭＰ、ＰＴＭ、ＤＡＬ  １１０、ＣＡ  １１８、Ｄｉａｍｅｔｅｒエージェント、Ｄｉａｍｅｔｅｒアプリケーション、Ｄｉａｍｅｔｅｒノード、および／または、別のモジュールもしくはノードにおいて実行され得るか、または、ＤＳＲ  １００、イングレスＭＰ  １０２、エグレスＭＰ  １０４、ＤＣＬ  １０６、ＤＲＬ  １０８、ＭＰ、ＰＴＭ、ＤＡＬ  １１０、ＣＡ  １１８、Ｄｉａｍｅｔｅｒエージェント、Ｄｉａｍｅｔｅｒアプリケーション、Ｄｉａｍｅｔｅｒノード、および／または、別のモジュールもしくはノードによって実行され得る。
【００４９】
ステップ５００において、Ｄｉａｍｅｔｅｒ要求メッセージが第１のＤｉａｍｅｔｅｒノードから受信され得る。
【００５０】
ステップ５０２において、ホップ・バイ・ホップ識別子が生成され得る。ホップ・バイ・ホップ識別子は、ＤＳＲ  １００に関連付けられた複数のＤｉａｍｅｔｅｒ  ＭＰのうち第１のＤｉａｍｅｔｅｒ  ＭＰを識別するためのものであってもよい。たとえば、ホップ・バイ・ホップ識別子はＤｉａｍｅｔｅｒメッセージのために生成されてもよく、ホップ・バイ・ホップ識別子は、イングレスＭＰ  １０２がＤｉａｍｅｔｅｒ要求メッセージを受信したことまたは処理したことを示す情報を含んでもよい。
【００５１】
いくつかの実施形態においては、ＤＳＲ  １００に関連付けられた複数のＤｉａｍｅｔｅｒ  ＭＰの各々は、ピアルーティングテーブルを含み得るかまたはピアルーティングテーブルにアクセスし得る。
【００５２】
いくつかの実施形態においては、ホップ・バイ・ホップ識別子は、ＤＳＲ  １００と（たとえば、ＤＳＲ  １００の外部にある）Ｄｉａｍｅｔｅｒノードとの間におけるＤｉａｍｅｔｅｒトランザクションを識別するのに使用可能であってもよい。
【００５３】
いくつかの実施形態においては、ホップ・バイ・ホップ識別子は、Ｄｉａｍｅｔｅｒ要求メッセージを送信または受信するのに使用可能なＤｉａｍｅｔｅｒ接続を識別するためのＤｉａｍｅｔｅｒ接続識別子を含み得る。
【００５４】
ステップ５０４において、ホップ・バイ・ホップ識別子はＤｉａｍｅｔｅｒ要求メッセージに組込まれてもよい。たとえば、ホップ・バイ・ホップ識別子は、既存のＤｉａｍｅｔｅｒメッセージのヘッダ部分に加えられてもよい。別の例においては、ホップ・バイ・ホップ識別子は、新しいＤｉａｍｅｔｅｒメッセージのヘッダ部分に加えられてもよく、この場合、新しいＤｉａｍｅｔｅｒメッセージは、既存のＤｉａｍｅｔｅｒメッセージ（たとえば、ホップ・バイ・ホップ識別子に関連付けられた受信済みＤｉａｍｅｔｅｒメッセージ）からの少なくともいくらかの情報またはデータを含む。
【００５５】
ステップ５０６において、Ｄｉａｍｅｔｅｒ要求メッセージが第２のＤｉａｍｅｔｅｒノードにルーティングされ得る。たとえば、Ｄｉａｍｅｔｅｒ要求は、さらなる処理のためにＤｉａｍｅｔｅｒサーバまたはピアノードにルーティングされてもよい。
【００５６】
いくつかの実施形態においては、ホップ・バイ・ホップ識別子を含むＤｉａｍｅｔｅｒ要求メッセージが第２のＤｉａｍｅｔｅｒノードに送信された後、ホップ・バイ・ホップ識別子を含みＤｉａｍｅｔｅｒ要求メッセージに関連付けられたＤｉａｍｅｔｅｒ応答メッセージが、第２のＤｉａｍｅｔｅｒノードから受信され得る。第１のＤｉａｍｅｔｅｒ  ＭＰがＤｉａｍｅｔｅｒ応答メッセージに関連付けられていることが、ホップ・バイ・ホップ識別子を用いて判断され得る。たとえば、エグレスＭＰ  １０４は、ＤｉａｍｅｔｅｒサーバからＤｉａｍｅｔｅｒ応答メッセージを受信してもよい。Ｄｉａｍｅｔｅｒ応答メッセージは、ホップ・バイ・ホップ識別子を含むＤｉａｍｅｔｅｒ要求メッセージに応答してもよい。Ｄｉａｍｅｔｅｒ応答メッセージはまた、同じホップ・バイ・ホップ識別子を含んでもよく、イングレスＭＰ  １０２がＤｉａｍｅｔｅｒ応答メッセージに対処する（たとえば、Ｄｉａｍｅｔｅｒ応答メッセージを処理する）べきであることを（たとえばエグレスＭＰ  １０４に対して）示してもよい。第１のＤｉａｍｅｔｅｒ  ＭＰがＤｉａｍｅｔｅｒ応答メッセージに関連付けられていると判断された後、Ｄｉａｍｅｔｅｒ応答メッセージは、さらなる処理のために第１のＤｉａｍｅｔｅｒ  ＭＰに伝達されてもよい。
【００５７】
上述のステップ５００から５０６が例示的なものであることが認識されるだろう。いくつかの実施形態においては、付加的なステップおよび／または異なるステップがＤｉａｍｅｔｅｒメッセージをルーティングする際に行われてもよい。いくつかの実施形態においては、Ｄｉａｍｅｔｅｒメッセージをルーティングするためのステップはさまざまに構成されてもよく、および／または、図５に図示されるのとは異なる順序またはシーケンスで行われてもよい（たとえば、いくつかのステップが他のステップと同時に、他のステップよりも前に、他のステップの後に行われてもよい）。
【００５８】
図６は、この明細書中に記載される主題の別の実施形態に従ってＤｉａｍｅｔｅｒメッセージをルーティングするための例示的なプロセスを示す図である。図６に示される実施形態を参照すると、例示的なプロセスはステップ６００、６０２および６０４を含み得る。いくつかの実施形態においては、この明細書中に記載される例示的なプロセスまたはその部分は、ＤＳＲ  １００、イングレスＭＰ  １０２、エグレスＭＰ  １０４、ＤＣＬ  １０６、ＤＲＬ  １０８、ＭＰ、ＰＴＭ、ＤＡＬ  １１０、ＣＡ  １１８、Ｄｉａｍｅｔｅｒエージェント、Ｄｉａｍｅｔｅｒアプリケーション、Ｄｉａｍｅｔｅｒノード、および／または、別のモジュールもしくはノードにおいて実行され得るか、または、ＤＳＲ  １００、イングレスＭＰ  １０２、エグレスＭＰ  １０４、ＤＣＬ  １０６、ＤＲＬ  １０８、ＭＰ、ＰＴＭ、ＤＡＬ  １１０、ＣＡ  １１８、Ｄｉａｍｅｔｅｒエージェント、Ｄｉａｍｅｔｅｒアプリケーション、Ｄｉａｍｅｔｅｒノード、および／または、別のモジュールもしくはノードによって実行され得る。
【００５９】
ステップ６００において、Ｄｉａｍｅｔｅｒメッセージが第１のＤｉａｍｅｔｅｒノードから受信され得る。
【００６０】
ステップ６０２において、プライオリティレベルが複数のＤｉａｍｅｔｅｒ接続に割当てられ得る。
【００６１】
ステップ６０４において、Ｄｉａｍｅｔｅｒ要求メッセージに関連付けられたメッセージプライオリティ値に対応する第１のプライオリティレベルに関連付けられた第１のＤｉａｍｅｔｅｒ接続を選択する。
【００６２】
いくつかの実施形態においては、メッセージプライオリティ値がＤＳＲまたは第１のＤｉａｍｅｔｅｒノードによって決定されてもよい。
【００６３】
いくつかの実施形態においては、メッセージプライオリティ値は、Ｄｉａｍｅｔｅｒメッセージタイプに基づいていてもよい。
【００６４】
いくつかの実施形態においては、メッセージプライオリティ値は、Ｄｉａｍｅｔｅｒメッセージ内にホップ・バイ・ホップ識別子の一部として記憶されてもよい。
【００６５】
いくつかの実施形態においては、第１のプライオリティレベルはメッセージプライオリティ値以下であってもよい。
【００６６】
いくつかの実施形態においては、第１のプライオリティレベルは、第１のメッセージプロセッサに関連付けられた状態情報、ＤＳＲ内の通信バスまたはネットワークに関連付けられた状態情報、および、第１のＤｉａｍｅｔｅｒ接続に関連付けられた状態情報のうち少なくとも１つを用いて計算される正規化された値（たとえば整数）であってもよい。
【００６７】
いくつかの実施形態においては、第１のＤｉａｍｅｔｅｒ接続に関連付けられた状態情報は、動作状態、遠隔のビジー状態、エグレス移送状態またはエグレスメッセージスロットリング状態を含み得る。いくつかの実施形態においては、ＤＳＲ内における通信バスまたはネットワークに関連付けられた状態情報は、動作状態またはルーティング輻輳レベルを含み得る。いくつかの実施形態においては、第１のＤｉａｍｅｔｅｒメッセージプロセッサに関連付けられた状態情報はプロセス状態を含み得る。
【００６８】
上述のステップ６００〜６０４が例示的なものであることが認識されるだろう。いくつかの実施形態においては、プライオリティレベルを用いてＤｉａｍｅｔｅｒメッセージをルーティングする際に付加的なステップおよび／またはさまざまなステップが行われてもよい。いくつかの実施形態においては、プライオリティレベルを用いてＤｉａｍｅｔｅｒメッセージをルーティングするためのステップはさまざまに行われてもよく、および／または、図６に示されるのとは異なる順序またはシーケンスで行われてもよい。たとえば、プライオリティレベルは、Ｄｉａｍｅｔｅｒ要求メッセージの受信前に、受信と同時に、または受信後に、Ｄｉａｍｅｔｅｒ接続に割当てられてもよい。
【００６９】
この明細書中に記載される主題のさまざまな詳細がこの明細書中に記載された主題の範囲から逸脱することなく変更され得ることが理解されるだろう。さらに、この明細書中に記載される主題は添付の特許請求の範囲によって規定されているものであって、上述の記載は単に例示を目的としたものに過ぎず、限定を目的としたものではない。
【図１】
2015523020.tif 000003
【図２】
2015523020.tif 000004
【図３】
2015523020.tif 000005
【図４】
2015523020.tif 000006
【図５】
2015523020.tif 000007
【図６】
2015523020.tif 000008
【手続補正書】
【提出日】平成26年4月17日(2014.4.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
Ｄｉａｍｅｔｅｒメッセージをルーティングするための方法であって、
複数のＤｉａｍｅｔｅｒメッセージプロセッサを含むＤｉａｍｅｔｅｒシグナリングルータ（ＤＳＲ）において、
第１のＤｉａｍｅｔｅｒノードからＤｉａｍｅｔｅｒ要求メッセージを受信するステップと、
前記複数のＤｉａｍｅｔｅｒメッセージプロセッサのうち第１のＤｉａｍｅｔｅｒメッセージプロセッサを識別し、第１のＤｉａｍｅｔｅｒメッセージプロセッサに関連付けられたペンディングトランザクションマネージャを識別するためのホップ・バイ・ホップ識別子を生成するステップと、
前記Ｄｉａｍｅｔｅｒ要求メッセージにホップ・バイ・ホップ識別子を組込むステップと、
第２のＤｉａｍｅｔｅｒノードに前記Ｄｉａｍｅｔｅｒ要求メッセージをルーティングするステップとを含む、方法。
【請求項２】
前記Ｄｉａｍｅｔｅｒ要求メッセージに関連付けられ、前記ホップ・バイ・ホップ識別子を含むＤｉａｍｅｔｅｒ応答メッセージを前記第２のＤｉａｍｅｔｅｒノードから受信するステップと、
前記ホップ・バイ・ホップ識別子を用いて、前記第１のＤｉａｍｅｔｅｒメッセージプロセッサが前記Ｄｉａｍｅｔｅｒ応答メッセージに関連付けられていると判断するステップと、
前記Ｄｉａｍｅｔｅｒ応答メッセージを処理のために前記第１のＤｉａｍｅｔｅｒメッセージプロセッサに伝達するステップとを含む、請求項１に記載の方法。
【請求項３】
前記ホップ・バイ・ホップ識別子は、前記ＤＳＲと前記第２のＤｉａｍｅｔｅｒノードとの間におけるＤｉａｍｅｔｅｒトランザクションを識別するために用いられる、請求項１に記載の方法。
【請求項４】
前記複数のＤｉａｍｅｔｅｒメッセージプロセッサの各々は、ピアルーティングテーブルを含むかまたはピアルーティングテーブルにアクセスする、請求項１に記載の方法。
【請求項５】
前記ホップ・バイ・ホップ識別子は、前記Ｄｉａｍｅｔｅｒ要求メッセージを送信または受信するのに使用可能なＤｉａｍｅｔｅｒ接続を識別するためのＤｉａｍｅｔｅｒ接続識別子を含む、請求項１に記載の方法。
【請求項６】
前記第１のＤｉａｍｅｔｅｒメッセージプロセッサは、
分散コンピューティングプラットフォームの別個のメッセージプロセッシングモジュール、
ブレードベースの分散コンピューティングプラットフォームにおけるコンピューティングブレード、
シングルコアまたはマルチコアのコンピューティングデバイスに関連付けられた処理コア素子、および、
単一の物理的なメッセージプロセッシングまたはコンピューティングデバイス上でインスタンス化される仮想ノード、のうちの１つを含む、請求項１に記載の方法。
【請求項７】
Ｄｉａｍｅｔｅｒメッセージをルーティングするためのシステムであって、
Ｄｉａｍｅｔｅｒシグナリングルータ（ＤＳＲ）を含み、前記Ｄｉａｍｅｔｅｒシグナリングルータ（ＤＳＲ）は、
複数のＤｉａｍｅｔｅｒメッセージプロセッサのうち第１のＤｉａｍｅｔｅｒメッセージプロセッサを含み、前記第１のＤｉａｍｅｔｅｒメッセージプロセッサは、
第１のＤｉａｍｅｔｅｒノードからＤｉａｍｅｔｅｒ要求メッセージを受信し、
前記複数のＤｉａｍｅｔｅｒメッセージプロセッサのうち第１のＤｉａｍｅｔｅｒメッセージプロセッサを識別し、第１のＤｉａｍｅｔｅｒメッセージプロセッサに関連付けられたペンディングトランザクションマネージャを識別するためのホップ・バイ・ホップ識別子を生成し、
前記Ｄｉａｍｅｔｅｒ要求メッセージにホップ・バイ・ホップ識別子を組込み、
第２のＤｉａｍｅｔｅｒノードに前記Ｄｉａｍｅｔｅｒ要求メッセージをルーティングするように構成される、システム。
【請求項８】
前記システムは、前記複数のＤｉａｍｅｔｅｒメッセージプロセッサのうち第２のＤｉａｍｅｔｅｒメッセージプロセッサを含み、前記第２のＤｉａｍｅｔｅｒメッセージプロセッサは、
前記Ｄｉａｍｅｔｅｒ要求メッセージに関連付けられ、前記ホップ・バイ・ホップ識別子を含むＤｉａｍｅｔｅｒ応答メッセージを前記第２のＤｉａｍｅｔｅｒノードから受信し、
前記ホップ・バイ・ホップ識別子を用いて、前記第１のＤｉａｍｅｔｅｒメッセージプロセッサが前記Ｄｉａｍｅｔｅｒ応答メッセージに関連付けられていると判断し、
前記Ｄｉａｍｅｔｅｒ応答メッセージを処理のために前記第１のＤｉａｍｅｔｅｒメッセージプロセッサに伝達するように構成される、請求項７に記載のシステム。
【請求項９】
前記ホップ・バイ・ホップ識別子は、前記ＤＳＲと前記第２のＤｉａｍｅｔｅｒノードとの間におけるＤｉａｍｅｔｅｒトランザクションを識別するために用いられる、請求項７に記載のシステム。
【請求項１０】
前記複数のＤｉａｍｅｔｅｒメッセージプロセッサの各々は、ピアルーティングテーブルを含むかまたはピアルーティングテーブルにアクセスする、請求項７に記載のシステム。
【請求項１１】
前記ホップ・バイ・ホップ識別子は、前記Ｄｉａｍｅｔｅｒ要求メッセージを送信または受信するのに使用可能なＤｉａｍｅｔｅｒ接続を識別するためのＤｉａｍｅｔｅｒ接続識別子を含む、請求項７に記載のシステム。
【請求項１２】
前記第１のＤｉａｍｅｔｅｒメッセージプロセッサは、
分散コンピューティングプラットフォームの別個のメッセージプロセッシングモジュール、
ブレードベースの分散コンピューティングプラットフォームにおけるコンピューティングブレード、
シングルコアまたはマルチコアのコンピューティングデバイスに関連付けられた処理コア素子、および、
単一の物理的なメッセージプロセッシングまたはコンピューティングデバイス上でインスタンス化された仮想ノード、のうちの１つを含む、請求項７に記載のシステム。
【請求項１３】
コンピュータ実行可能命令を含む非一時的なコンピュータ読取可能媒体であって、前記コンピュータ実行可能命令は、コンピュータのプロセッサによって実行されると、
複数のＤｉａｍｅｔｅｒメッセージプロセッサを含むＤｉａｍｅｔｅｒシグナリングルータ（ＤＳＲ）において、
第１のＤｉａｍｅｔｅｒノードからＤｉａｍｅｔｅｒ要求メッセージを受信するステップと、
前記複数のＤｉａｍｅｔｅｒメッセージプロセッサのうち第１のＤｉａｍｅｔｅｒメッセージプロセッサを識別し、第１のＤｉａｍｅｔｅｒメッセージプロセッサに関連付けられたペンディングトランザクションマネージャを識別するためのホップ・バイ・ホップ識別子を生成するステップと、
前記Ｄｉａｍｅｔｅｒ要求メッセージにホップ・バイ・ホップ識別子を組込むステップと、
第２のＤｉａｍｅｔｅｒノードに前記Ｄｉａｍｅｔｅｒ要求メッセージをルーティングするステップとを含むステップを実行するようにコンピュータを制御する、非一時的なコンピュータ読取可能媒体。
【請求項１４】
Ｄｉａｍｅｔｅｒメッセージをルーティングするための方法であって、
Ｄｉａｍｅｔｅｒシグナリングルータ（ＤＳＲ）における第１のＤｉａｍｅｔｅｒメッセージプロセッサにおいて、
第１のＤｉａｍｅｔｅｒノードからＤｉａｍｅｔｅｒメッセージを受信するステップと、
複数のＤｉａｍｅｔｅｒ接続にプライオリティレベル（ＰＬ：priority level）を割当てるステップと、
前記Ｄｉａｍｅｔｅｒメッセージに関連付けられたメッセージプライオリティ値に対応する第１のプライオリティレベルに関連付けられた第１のＤｉａｍｅｔｅｒ接続を選択するステップとを含む、方法。
【請求項１５】
前記メッセージプライオリティ値は、ＤＳＲまたは第１のＤｉａｍｅｔｅｒノードによって決定される、請求項１４に記載の方法。
【請求項１６】
前記メッセージプライオリティ値は、Ｄｉａｍｅｔｅｒメッセージタイプに基づいている、請求項１４に記載の方法。
【請求項１７】
前記メッセージプライオリティ値は、前記Ｄｉａｍｅｔｅｒメッセージ内のホップ・バイ・ホップ識別子の一部として記憶される、請求項１４に記載の方法。
【請求項１８】
前記第１のプライオリティレベルは、第１のメッセージプロセッサに関連付けられた状態情報と、前記ＤＳＲ内における通信バスまたはネットワークに関連付けられた状態情報と、前記第１のＤｉａｍｅｔｅｒ接続に関連付けられた状態情報とを用いて計算される単一の正規化された値である、請求項１４に記載の方法。
【請求項１９】
前記第１のＤｉａｍｅｔｅｒ接続に関連付けられた状態情報は、動作状態、遠隔のビジー状態、エグレス移送状態、またはエグレスメッセージスロットリング状態を含み、前記ＤＳＲ内における通信バスまたはネットワークに関連付けられた状態情報は、動作状態またはルーティング輻輳レベルを含み、前記第１のＤｉａｍｅｔｅｒメッセージプロセッサに関連付けられた状態情報は、プロセス状態を含む、請求項１８に記載の方法。
【請求項２０】
前記第１のプライオリティレベルはメッセージプライオリティ値以下である、請求項１４に記載の方法。
【請求項２１】
前記第１のＤｉａｍｅｔｅｒメッセージプロセッサは、
分散コンピューティングプラットフォームの別個のメッセージプロセッシングモジュール、
ブレードベースの分散コンピューティングプラットフォームにおけるコンピューティングブレード、
シングルコアまたはマルチコアのコンピューティングデバイスに関連付けられた処理コア素子、および、
単一の物理的なメッセージプロセッシングまたはコンピューティングデバイス上でインスタンス化された仮想ノード、のうちの１つを含む、請求項１４に記載の方法。
【請求項２２】
Ｄｉａｍｅｔｅｒメッセージをルーティングするためのシステムであって、
Ｄｉａｍｅｔｅｒシグナリングルータ（ＤＳＲ）を含み、前記Ｄｉａｍｅｔｅｒシグナリングルータは、
第１のＤｉａｍｅｔｅｒメッセージプロセッサを含み、前記第１のＤｉａｍｅｔｅｒメッセージプロセッサは、
ＤｉａｍｅｔｅｒノードからＤｉａｍｅｔｅｒメッセージを受信し、
複数のＤｉａｍｅｔｅｒ接続にプライオリティレベルを割当て、
Ｄｉａｍｅｔｅｒメッセージに関連付けられたメッセージプライオリティ値に対応する第１のプライオリティレベルに関連付けられた第１のＤｉａｍｅｔｅｒ接続を選択するように構成される、システム。
【請求項２３】
前記メッセージプライオリティ値は、ＤＳＲまたは第１のＤｉａｍｅｔｅｒノードによって決定される、請求項２２に記載のシステム。
【請求項２４】
前記メッセージプライオリティ値は、Ｄｉａｍｅｔｅｒメッセージタイプに基づいている、請求項２２に記載のシステム。
【請求項２５】
前記メッセージプライオリティ値は、前記Ｄｉａｍｅｔｅｒメッセージ内のホップ・バイ・ホップ識別子の一部として記憶される、請求項２２に記載のシステム。
【請求項２６】
前記第１のプライオリティレベルは、第１のメッセージプロセッサに関連付けられた状態情報と、前記ＤＳＲ内における通信バスまたはネットワークに関連付けられた状態情報と、前記第１のＤｉａｍｅｔｅｒ接続に関連付けられた状態情報とを用いて計算される単一の正規化された値である、請求項２２に記載のシステム。
【請求項２７】
前記第１のＤｉａｍｅｔｅｒ接続に関連付けられた状態情報は、動作状態、遠隔のビジー状態、エグレス移送状態、またはエグレスメッセージスロットリング状態を含み、前記ＤＳＲ内における通信バスまたはネットワークに関連付けられた状態情報は動作状態またはルーティング輻輳レベルを含み、前記第１のＤｉａｍｅｔｅｒメッセージプロセッサに関連付けられた状態情報は、プロセス状態を含む、請求項２２に記載のシステム。
【請求項２８】
前記第１のプライオリティレベルは、メッセージプライオリティ値以下である、請求項２２に記載のシステム。
【請求項２９】
前記第１のＤｉａｍｅｔｅｒメッセージプロセッサは、
分散コンピューティングプラットフォームの別個のメッセージプロセッシングモジュール、
ブレードベースの分散コンピューティングプラットフォームにおけるコンピューティングブレード、
シングルコアまたはマルチコアのコンピューティングデバイスに関連付けられた処理コア素子、および、
単一の物理的なメッセージプロセッシングまたはコンピューティングデバイス上でインスタンス化された仮想ノード、のうちの１つを含む、請求項２２に記載のシステム。
【請求項３０】
コンピュータ実行可能命令を含む非一時的なコンピュータ読取可能媒体であって、コンピュータ実行可能命令は、コンピュータのプロセッサによって実行されると、
Ｄｉａｍｅｔｅｒシグナリングルータ（ＤＳＲ）における第１のＤｉａｍｅｔｅｒメッセージプロセッサにおいて、
第１のＤｉａｍｅｔｅｒノードからＤｉａｍｅｔｅｒメッセージを受信するステップと、
複数のＤｉａｍｅｔｅｒ接続にプライオリティレベルを割当てるステップと、
前記Ｄｉａｍｅｔｅｒメッセージに関連付けられたメッセージプライオリティ値に対応する第１のプライオリティレベルに関連付けられた第１のＤｉａｍｅｔｅｒ接続を選択するステップと、を含むステップを実行するようにコンピュータを制御する、非一時的なコンピュータ読取可能媒体。
【国際調査報告】
2015523020.tif 000009
2015523020.tif 000010
2015523020.tif 000011