(57)【要約】  ここに説明される主題は、輻輳イベント中にメッセージを廃棄するための方法、システム、およびコンピュータ読取可能媒体に関する。一方法は、輻輳中にアプリケーションに関連付けられたトラフィックを取り扱うためのトラフィック輻輳ポリシーを登録するステップを含む。方法はさらに、輻輳イベントに関連付けられた第１の輻輳レベルを判断するステップを含む。方法はまた、同様のメッセージ優先度値に関連付けられたメッセージのメッセージレートを判断するステップを含み、メッセージ優先度値はトラフィック輻輳ポリシーを使用して判断される。方法はさらに、メッセージレート、第１の輻輳レベル、およびメッセージ廃棄アルゴリズムを使用して第１のメッセージを廃棄するステップを含み、メッセージ廃棄アルゴリズムはトラフィック輻輳ポリシーを使用して判断される。
2019532600.tif 000002
【特許請求の範囲】
【請求項１】
輻輳イベント中にメッセージを廃棄するための方法であって、前記方法は、
輻輳中にアプリケーションに関連付けられたトラフィックを取り扱うためのトラフィック輻輳ポリシーを登録するステップと、
輻輳イベントに関連付けられた第１の輻輳レベルを判断するステップと、
同様のメッセージ優先度値に関連付けられたメッセージのメッセージレートを判断するステップとを含み、前記メッセージ優先度値は前記トラフィック輻輳ポリシーを使用して判断され、前記方法はさらに、
前記メッセージレート、前記第１の輻輳レベル、およびメッセージ廃棄アルゴリズムのうちの１つ以上を使用して、前記アプリケーションに関連付けられた第１のメッセージを廃棄するステップを含み、前記メッセージ廃棄アルゴリズムは前記トラフィック輻輳ポリシーを使用して判断される、方法。
【請求項２】
第１のメッセージに関連付けられた第１のメッセージ優先度値が、前記第１のメッセージのメッセージ属性と、前記第１のメッセージに関連付けられた経路関連輻輳指標とを使用して判断される、請求項１に記載の方法。
【請求項３】
前記第１のメッセージに関連付けられた前記第１のメッセージ優先度値は、前記メッセージ属性からの１つ以上のビットと、前記経路関連輻輳指標からの１つ以上のビットとを連結することによって計算される、請求項２に記載の方法。
【請求項４】
前記トラフィック輻輳ポリシーはホットプラグ可能である、請求項１に記載の方法。
【請求項５】
前記第１の輻輳レベルを判断するステップは、処理のために待ち行列に入れられたメッセージの量を判断するステップを含む、請求項１に記載の方法。
【請求項６】
前記メッセージ廃棄アルゴリズムは、前記第１の輻輳レベル中に第１の量のメッセージを廃棄することによって、第１の優先度値に関連付けられた第１の組のメッセージのメッセージレートを制限する、請求項１に記載の方法。
【請求項７】
前記メッセージ廃棄アルゴリズムは、第２の輻輳レベル中に第２の量のメッセージを廃棄することによって、前記第１の組のメッセージの前記メッセージレートを制限し、前記第２の量は前記第１の量よりも多い、請求項６に記載の方法。
【請求項８】
前記第１の量は、前記第１の組のメッセージまたは前記第１の輻輳レベルに関連付けられた第１のパーセンテージに基づいており、前記第１のパーセンテージは、第２の組のメッセージまたは第２の輻輳レベルに関連付けられた第２のパーセンテージとは異なっている、請求項６に記載の方法。
【請求項９】
前記第１の量は、前記第１の組のメッセージまたは前記第１の輻輳レベルについて許可された第１の総メッセージレートに基づいており、許可された前記第１の総メッセージレートは、第２の組のメッセージまたは第２の輻輳レベルについて許可された第２のメッセージレートとは異なっている、請求項６に記載の方法。
【請求項１０】
輻輳イベント中にメッセージを廃棄するためのシステムであって、前記システムは、
少なくとも１つのプロセッサと、
トラフィックマネージャとを含み、前記トラフィックマネージャは前記少なくとも１つのプロセッサを使用して実現され、前記トラフィックマネージャは、輻輳中にアプリケーションに関連付けられたトラフィックを取り扱うためのトラフィック輻輳ポリシーを登録し、輻輳イベントに関連付けられた第１の輻輳レベルを判断し、同様のメッセージ優先度値に関連付けられたメッセージのメッセージレートを判断するために構成され、前記メッセージ優先度値は前記トラフィック輻輳ポリシーを使用して判断され、前記トラフィックマネージャはさらに、前記メッセージレート、前記第１の輻輳レベル、およびメッセージ廃棄アルゴリズムのうちの１つ以上を使用して、前記アプリケーションに関連付けられた第１のメッセージを廃棄するために構成され、前記メッセージ廃棄アルゴリズムは前記トラフィック輻輳ポリシーを使用して判断される、システム。
【請求項１１】
前記トラフィックマネージャは、前記第１のメッセージに関連付けられた第１のメッセージ優先度値を、前記第１のメッセージのメッセージ属性と、前記第１のメッセージに関連付けられた経路関連輻輳指標とを使用して判断する、請求項１０に記載のシステム。
【請求項１２】
前記第１のメッセージに関連付けられた前記第１のメッセージ優先度値は、前記メッセージ属性からの１つ以上のビットと、前記経路関連輻輳指標からの１つ以上のビットとを連結することによって計算される、請求項１１に記載のシステム。
【請求項１３】
前記トラフィック輻輳ポリシーはホットプラグ可能である、請求項１０に記載のシステム。
【請求項１４】
前記第１の輻輳レベルを判断することは、処理のために待ち行列に入れられたメッセージの量を判断することを含む、請求項１０に記載のシステム。
【請求項１５】
前記メッセージ廃棄アルゴリズムは、前記第１の輻輳レベル中に第１の量のメッセージを廃棄することによって、第１の優先度値に関連付けられた第１の組のメッセージのメッセージレートを制限する、請求項１０に記載のシステム。
【請求項１６】
前記メッセージ廃棄アルゴリズムは、第２の輻輳レベル中に第２の量のメッセージを廃棄することによって、前記第１の組のメッセージの前記メッセージレートを制限し、前記第２の量は前記第１の量よりも多い、請求項１５に記載のシステム。
【請求項１７】
前記第１の量は、前記第１の組のメッセージまたは前記第１の輻輳レベルに関連付けられた第１のパーセンテージに基づいており、前記第１のパーセンテージは、第２の組のメッセージまたは第２の輻輳レベルに関連付けられた第２のパーセンテージとは異なっている、請求項１５に記載のシステム。
【請求項１８】
前記第１の量は、前記第１の組のメッセージまたは前記第１の輻輳レベルについて許可された第１の総メッセージレートに基づいており、許可された前記第１の総メッセージレートは、第２の組のメッセージまたは第２の輻輳レベルについて許可された第２のメッセージレートとは異なっている、請求項１５に記載のシステム。
【請求項１９】
コンピュータの少なくとも１つのプロセッサによって実行されると前記コンピュータにステップを行なわせるコンピュータ実行可能命令を含む、非一時的コンピュータ読取可能媒体であって、前記ステップは、
輻輳中にアプリケーションに関連付けられたトラフィックを取り扱うためのトラフィック輻輳ポリシーを登録するステップと、
輻輳イベントに関連付けられた第１の輻輳レベルを判断するステップと、
同様のメッセージ優先度値に関連付けられたメッセージのメッセージレートを判断するステップとを含み、前記メッセージ優先度値は前記トラフィック輻輳ポリシーを使用して判断され、前記ステップはさらに、
前記メッセージレート、前記第１の輻輳レベル、およびメッセージ廃棄アルゴリズムのうちの１つ以上を使用して、前記アプリケーションに関連付けられた第１のメッセージを廃棄するステップを含み、前記メッセージ廃棄アルゴリズムは前記トラフィック輻輳ポリシーを使用して判断される、非一時的コンピュータ読取可能媒体。
【請求項２０】
前記第１のメッセージに関連付けられた第１のメッセージ優先度値が、前記第１のメッセージのメッセージ属性と、前記第１のメッセージに関連付けられた経路関連輻輳指標とを使用して判断される、請求項１９に記載の非一時的コンピュータ読取可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権主張
本願は、２０１６年９月２２日に出願された米国特許出願連続番号第１５／２７３，０６９号の利益を主張する。当該出願の開示はその全体がここに引用により援用される。
【０００２】
技術分野
ここに説明される主題は、コンピュータネットワークトラフィック管理に関する。より特定的には、主題は、輻輳イベント中にメッセージを廃棄するための方法、システム、およびコンピュータ読取可能媒体に関する。
【背景技術】
【０００３】
背景
コンピュータネットワークにおけるトラフィック関連輻輳は、メッセージが適切な宛先に到達することを妨げるか遅らせるおそれがある。たとえば、サービスアクセスについて加入者を認証するために、認証メッセージが使用され得る。ネットワークまたはその内部のノードが渋滞しすぎて認証メッセージを適時にルーティングまたは処理することができないために加入者が認証されない場合、加入者はサービスアクセスを拒否されるかもしれない。トラフィック関連輻輳に関連付けられた問題を減少させるために、多くのネットワークは、輻輳イベント（たとえば、ネットワークノードが過負荷状態である場合といった、輻輳が検出されたイベントまたは期間）中、いくつかの重要なメッセージを引き続き許可しつつ、あまり重要でないメッセージを廃棄することを試みる。しかしながら、輻輳が検出された場合にどのメッセージを廃棄し、どのメッセージを許可するべきかを判断する際に、さまざまな要因を考慮することが必要になり得る。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
ここに説明される主題は、輻輳イベント中にメッセージを廃棄するための方法、システム、およびコンピュータ読取可能媒体に関する。一方法は、輻輳中にアプリケーションに関連付けられたトラフィックを取り扱うためのトラフィック輻輳ポリシーを登録するステップを含む。方法はさらに、輻輳イベントに関連付けられた第１の輻輳レベルを判断するステップを含む。方法はまた、同様のメッセージ優先度値に関連付けられたメッセージのメッセージレートを判断するステップを含み、メッセージ優先度値はトラフィック輻輳ポリシーを使用して判断される。方法はさらに、メッセージレート、第１の輻輳レベル、およびメッセージ廃棄アルゴリズムを使用して第１のメッセージを廃棄するステップを含み、メッセージ廃棄アルゴリズムはトラフィック輻輳ポリシーを使用して判断される。
【０００５】
輻輳イベント中にメッセージを廃棄するためのシステムは、少なくとも１つのプロセッサと、トラフィックマネージャとを含む。トラフィックマネージャは、少なくとも１つのプロセッサを使用して実現される。トラフィックマネージャは、輻輳中にアプリケーションに関連付けられたトラフィックを取り扱うためのトラフィック輻輳ポリシーを登録し、輻輳イベントに関連付けられた第１の輻輳レベルを判断し、同様のメッセージ優先度値に関連付けられたメッセージのメッセージレートを判断するために構成され、メッセージ優先度値はトラフィック輻輳ポリシーを使用して判断され、トラフィックマネージャはさらに、メッセージレート、輻輳レベル、およびメッセージ廃棄アルゴリズムのうちの１つ以上を使用して、アプリケーションに関連付けられた第１のメッセージを廃棄するために構成され、メッセージ廃棄アルゴリズムはトラフィック輻輳ポリシーを使用して判断される。
【０００６】
ここに説明される主題は、ハードウェアおよび／またはファームウェアと組合されたソフトウェアで実現されてもよい。たとえば、ここに説明される主題は、プロセッサによって実行されるソフトウェアで実現されてもよい。いくつかの実現化例では、ここに説明される主題は、コンピュータのプロセッサによって実行されるとステップを行なうようにコンピュータを制御するコンピュータ実行可能命令が格納された非一時的コンピュータ読取可能媒体を使用して実現されてもよい。ここに説明される主題を実現するのに好適である例示的なコンピュータ読取可能媒体は、ディスクメモリデバイス、チップメモリデバイス、プログラマブルロジックデバイス、および特定用途向け集積回路といった非一時的デバイスを含む。加えて、ここに説明される主題を実現する非一時的コンピュータ読取可能媒体は、単一のデバイスまたはコンピューティングプラットフォーム上に位置していてもよく、もしくは、複数のデバイスまたはコンピューティングプラットフォームにわたって分散されてもよい。
【０００７】
ここに使用されるように、「ノード」という用語は、１つ以上のプロセッサとメモリとを含む、少なくとも１つの物理コンピューティングプラットフォームを指す。たとえば、ノードは、仮想マシン、および／または、物理コンピューティングプラットフォーム上で実行されるソフトウェアを含んでいてもよい。
【０００８】
ここに使用されるように、「機能」または「モジュール」という用語は、ここに説明される特徴を実現するためのハードウェア、ファームウェア、もしくは、ハードウェアおよび／またはファームウェアと組合されたソフトウェアを指す。
【０００９】
図面の簡単な説明
ここに説明される主題を、添付図面を参照して以下に説明する。
【図面の簡単な説明】
【００１０】
【図１】例示的なコンピューティング環境を説明するブロック図である。
【図２】例示的なトラフィックマネージャを説明するブロック図である。
【図３】トラフィック輻輳ポリシー情報の一例を示す図である。
【図４】トラフィック輻輳ポリシー情報の別の例を示す図である。
【図５】輻輳イベント中にメッセージを廃棄するためのプロセスを説明するフローチャートである。
【発明を実施するための形態】
【００１１】
詳細な説明
ここに説明される主題は、輻輳イベント中にメッセージを廃棄するための方法、システム、およびコンピュータ読取可能媒体に関する。ネットワークノードが、それが処理するか取り扱う（たとえば、ルーティングする、応答するなど）ことができる分よりも多いメッセージを受信すると、トラフィック関連輻輳が起こるおそれがある。ドロップされたコールおよび／または終了された接続を含む輻輳をネットワークノードが経験すると、さまざまな問題が生じるおそれがある。トラフィック関連輻輳を減少させるために、ネットワークの中には、さまざまな輻輳ポイント（たとえば、１つ以上のネットワークノードまたはその内部のモジュール）で輻輳イベントを検出し、輻輳イベントが検出されると、輻輳および輻輳関連問題を緩和するためのさまざまなアクションを行なうものもある。たとえば、輻輳を緩和するために、どのタイプのメッセージが許可されるべきか、および／または廃棄されるべきかを定義するメッセージ廃棄ポリシーが使用されてもよい。
【００１２】
ここに説明される主題のいくつかの局面によれば、プラグ可能なトラフィック輻輳ポリシーのための手法、方法、システム、またはメカニズムが開示される。たとえば、ネットワークノードまたはモジュールは、ネットワークにおける輻輳ポイントを表わしていてもよい。この例では、ノードまたはモジュールは、１つ以上のアプリケーションについての動的な、および／またはプラグ可能なトラフィック輻輳ポリシーを受信し、登録するために構成されてもよい。この例を続けると、ノードまたはモジュールは、輻輳イベント中に特定のアプリケーションに関連付けられたメッセージを許可するべきか廃棄するべきかを判断するために特定のトラフィック輻輳ポリシーを使用してもよく、他のトラフィックを取り扱うために別のトラフィック輻輳ポリシーを使用してもよい。
【００１３】
ここに説明される主題のいくつかの局面によれば、メッセージレート、輻輳レベル、および／または、メッセージ廃棄アルゴリズムにおける、ポリシーによって定義された優先度値を利用するための手法、方法、システム、またはメカニズムが開示される。たとえば、トラフィック輻輳ポリシーは、輻輳イベントについて輻輳レベル（たとえば、輻輳ポイントでの輻輳を示す値）を判断し、同様のメッセージ優先度値に関連付けられた（たとえば、ポリシーによって定義された要因に基づいて計算または判断された）メッセージのメッセージレートを判断する、メッセージ廃棄アルゴリズムを定義または指定してもよい。この例を続けると、所与の輻輳レベルについて、メッセージ廃棄アルゴリズムは、たとえばメッセージを廃棄することによって、より低いメッセージ優先度値に関連付けられたメッセージのメッセージレートを、より高いメッセージ優先度値に関連付けられたメッセージのメッセージレートよりも制限してもよい。いくつかの例では、所与の輻輳イベントについて輻輳レベルが増加するにつれて、メッセージ廃棄アルゴリズムは、さまざまなメッセージ優先度値に関連付けられたメッセージのメッセージレートを徐々に制限してもよい。
【００１４】
有利には、ここに説明される主題のいくつかの局面によれば、プラグ可能なトラフィック輻輳ポリシーを使用することにより、輻輳管理に関連付けられたコンピュータ能力は、たとえば輻輳イベントの長さを減少させることによって、および／または、輻輳関連問題の影響を緩和することによって改良される。また、輻輳管理は、輻輳イベント中にメッセージを許可するべきか廃棄するべきかを判断する際にアプリケーション特有の特徴および／または要因を利用することによって、改良され得る。
【００１５】
添付図面にいくつかの例が示された、ここに説明される主題のさまざまな例について、以下に詳細に言及する。可能な場合はいつでも、同じまたは同様の部分を指すために同じ参照番号が図面全体にわたって使用される。
【００１６】
図１は、例示的なコンピューティング環境１００を説明するブロック図である。図１を参照して、コンピューティング環境１００は、ノード１０２、ルーティングノード（routing node：ＲＮ）１０４、および／またはノード１１２を含んでいてもよい。ノード１０２およびノード１１２の各々は、少なくとも１つの通信プロトコルを使用して、たとえば、１つ以上のネットワーク層プロトコル（たとえば、インターネット・プロトコル（Internet protocol：ＩＰ））；１つ以上のトランスポート層プロトコル（たとえば、伝送制御プロトコル（transmission control protocol：ＴＣＰ）、ユーザ・データグラム・プロトコル（user datagram protocol：ＵＤＰ）、ストリーム制御伝送プロトコル（stream control transmission protocol：ＳＣＴＰ）、および／またはリライアブル・データ・プロトコル（reliable data protocol：ＲＤＰ））；ならびに／もしくは、１つ以上のセッション層プロトコル（たとえば、Diameterプロトコル、ハイパーテキスト転送プロトコル（hypertext transfer protocol：ＨＴＴＰ）、および／またはリアルタイム・トランスポート・プロトコル（real-time transport protocol：ＲＴＰ））を使用して通信することができる、１つ以上の好適なエンティティ（たとえば、少なくとも１つのプロセッサ、１つ以上のコンピューティングプラットフォーム上などで実行されるソフトウェア）を表わしていてもよい。たとえば、ノード１０２および１１２の各々は、クライアント、サーバ、Diameterノード、ネットワークノード、モビリティ管理エンティティ（mobility management entity：ＭＭＥ）、ホーム加入者サーバ（home subscriber server：ＨＳＳ）、認証、認可および／またはアカウンティング（authentication, authorization, and/or accounting：ＡＡＡ）サーバ、Diameterアプリケーションサーバ、加入者プロファイルリポジトリ（subscriber profile repository：ＳＰＲ）、または他のノードであってもよい。ノード１０２および１１２の各々は、さまざまなメッセージを送信し、受信し、および／または処理するための機能性を含んでいてもよい。たとえば、ノード１０２は、加入者関連情報を要求するクライアントを含んでいてもよく、ノード１１２は、加入者関連情報を提供するサーバを含んでいてもよい。
【００１７】
ＲＮ１０４は、ＩＰメッセージ、ＴＣＰメッセージ、Diameterメッセージ、ＨＴＴＰメッセージ、および他のメッセージといったメッセージを受信し、処理し、ルーティングし、および／または廃棄するための任意の好適なエンティティ（たとえば、少なくとも１つのプロセッサ、１つ以上のコンピューティングプラットフォーム上などで実行されるソフトウェア）を表わしていてもよい。たとえば、ＲＮ１０４は、ＩＰルータ、ＩＰスイッチ、ロング・ターム・エボリューション（long term evolution：ＬＴＥ）シグナリングルータ、Diameterシグナリングルータ、Diameterプロキシ、Diameterエージェント、Diameterルーティングエージェント、Diameter中継エージェント、Diameter変換エージェント、またはDiameterリダイレクトエージェントを含むか表わしていてもよい。ＲＮ１０４は、さまざまなメッセージを処理し、および／またはルーティングするための機能性を含んでいてもよい。いくつかの実施形態では、そのような機能性は、１つ以上のモジュール（たとえば、セッションルーティングモジュール）に含まれていてもよい。
【００１８】
ＲＮ１０４は、さまざまなメッセージを受信し、処理し、および／または切替えるかルーティングするための機能性を含んでいてもよく、さまざまなノードと通信するためのさまざまな通信インターフェイス、たとえば、第３世代パートナーシップ・プロジェクト（3rd Generation Partnership Project：３ＧＰＰ）ＬＴＥ通信インターフェイス、および他の（たとえば非ＬＴＥ）通信インターフェイスを含んでいてもよい。さまざまなノードと通信するためのいくつかの例示的な通信インターフェイスは、ＩＰインターフェイス、ＴＣＰインターフェイス、ＵＤＰインターフェイス、ＨＴＴＰインターフェイス、ＲＤＰインターフェイス、ＳＣＴＰインターフェイス、ＲＴＰインターフェイス、Diameterインターフェイス、ＬＴＥインターフェイス、および／またはＩＭＳインターフェイスを含んでいてもよい。
【００１９】
ＲＮ１０４は、ノード１０２とノード１１２との間の通信を容易にしてもよい。たとえば、ノード１０２はDiameter クライアントを表わしていてもよく、Diameter要求メッセージ（たとえば、Diameterセッション確立要求メッセージ）をＲＮ１０４へ送信してもよい。Diameter要求メッセージは、ノード１１２から情報または１つ以上のサービスを要求してもよい。ＲＮ１０４は、ノード１０２とノード１１２との間で要求または応答をルーティングし、中継し、および／または変換してもよい。Diameter要求メッセージを受信して処理した後で、ノード１１２は、Diameter応答メッセージ（たとえば、Diameterセッション確立応答メッセージ）をＲＮ１０４へ送信してもよい。Diameter応答メッセージは、ノード１０２から生じたDiameter要求メッセージに応答して送信されてもよい。ＲＮ１０４は、Diameter応答メッセージをノード１０２に提供してもよい。
【００２０】
いくつかの実施形態では、ＲＮ１０４は、プロセッサ１０６、メモリ１０８）、および／またはトラフィックマネージャ（traffic manager：ＴＭ）１１０を含んでいてもよい。プロセッサ１０６は、物理プロセッサ、汎用マイクロプロセッサ、シングルコアプロセッサ、マルチコアプロセッサ、フィールドプログラマブルゲートアレイ（field-programmable gate array：ＦＰＧＡ）、および／または特定用途向け集積回路（application-specific integrated circuit：ＡＳＩＣ）のうちの少なくとも１つを表わすか含んでいてもよい。いくつかの実施形態では、プロセッサ１０６は、メモリ１０８などの１つ以上の非一時的コンピュータ読取可能媒体に格納されたソフトウェアを実行するように構成されてもよい。たとえば、ソフトウェアは、プロセッサ１０６による実行のためにメモリ構造にロードされてもよい。たとえばＲＮ１０４が複数のプロセッサを含むいくつかの実施形態では、いくつかのプロセッサ１０６は、他のプロセッサ１０６から独立して動作するように構成されてもよい。
【００２１】
ＴＭ１１０は、トラフィック管理および／またはトラフィック関連輻輳管理に関連付けられた１つ以上の局面を行なうための任意の好適なエンティティ（たとえば、プロセッサ１０６、ＡＳＩＣ、ＦＰＧＡ上で実行されるソフトウェア、もしくは、ソフトウェア、ＡＳＩＣ、またはＦＰＧＡの組合せ）であってもよい。たとえば、ＴＭ１１０は、ＲＮ１０４および／または別のノード（たとえば、ノード１０２および１１２）の輻輳レベルとメッセージ優先度値とに基づいてさまざまなメッセージ（たとえば、ＩＰメッセージ、Diameterメッセージ、ＨＴＴＰメッセージなど）を廃棄または許可するための任意のプログラマブルユニットを含むか表わしていてもよい。いくつかの実施形態では、ＴＭ１１０は、プロセッサ１０６、および／またはメモリ１０８などの１つ以上のメモリを使用して実現されてもよい。たとえば、ＴＭ１１０は、プロセッサ１０６（たとえば、ローカルメモリに格納されたソフトウェアを使用）、およびランダムアクセスメモリ（random access memory：ＲＡＭ）を利用してもよい。
【００２２】
いくつかの実施形態では、ＴＭ１１０は、トラフィック輻輳ポリシーを受信し、登録し、および／または使用するための機能性を含んでいてもよい。たとえば、トラフィック輻輳ポリシーは、アプリケーションに関連付けられたメッセージを廃棄するべきか許可するべきかを、ポリシーによって決定可能な１つ以上の要因を使用して判断するためのメッセージ廃棄アルゴリズムを含むか指定してもよい。ポリシーによって決定可能な要因のいくつかの例は、ポリシーによって定義されたメッセージ優先度値、メッセージパラメータ値、メッセージタイプ、メッセージイベント、メッセージ属性（たとえば、優先度属性値ペア（attribute value pair：ＡＶＰ））、検出された輻輳レベル、経路関連輻輳指標（たとえば、カラーコード）、および／または、所与のメッセージグループ（たとえば、ある優先度のメッセージ）についての１つ以上のメッセージレートを含んでいてもよい。この例では、ＴＭ１１０は、ＲＮ１０４および／またはＴＭ１１０の再起動または再始動を必要とすることなく、トラフィック輻輳ポリシーを登録し、使用するために構成されてもよい。
【００２３】
いくつかの実施形態では、ＴＭ１１０は、アプリケーションまたは他のエンティティ（たとえば、ネットワークオペレータまたはデバイス）が輻輳中のメッセージ取り扱いのためにトラフィック輻輳ポリシーを登録することを、ポリシーによって定義されたメッセージ優先度に基づいて許可するための機能性を含んでいてもよい。たとえば、トラフィック輻輳ポリシーは、ＲＮ１０４で検出された輻輳レベル（１〜４の値）の数とは異なるメッセージ優先度値（たとえば、１〜１５の値）に関連付けられたメッセージについてのトラフィック取り締まりをサポートすることが可能であってもよい。この例では、トラフィック輻輳ポリシーまたは関連するメッセージ廃棄アルゴリズムは、ある輻輳レベルに関連付けられた少なくともいくつかの輻輳管理アクションを、異なるメッセージ優先度値に関連付けられたメッセージグループにマッピングしてもよい。
【００２４】
いくつかの実施形態では、ＴＭ１１０は、ＲＮ１０４で既存のまたは現在のトラフィックパターンを追跡し、および／または、同様にグループ化されたメッセージについてのメッセージレートを判断するための機能性を含んでいてもよい。たとえば、ＴＭ１１０は、ポリシーによって決定可能な要因（たとえば、イベント優先度、イベントタイプ、メッセージタイプ、経路関連輻輳指標、または、アプリケーション特有のパラメータ値）を使用してメッセージ（たとえば、ＲＮ１０４で受信されたトラフィック）を識別してグループ化するために構成されてもよく、メッセージを識別してグループ化することにより、同様にグループ化されたメッセージがＲＮ１０４で受信され、および／またはＲＮ１０４から送信されるメッセージレートを追跡し、測定し、および／または判断してもよい。
【００２５】
いくつかの実施形態では、ＴＭ１１０は、たとえば、トラフィックパターン情報、ノード（たとえばＲＮ１０４）に関連付けられた輻輳レベル、および／または、ポリシーによって定義された１つ以上のメッセージ優先度値を使用して少なくともいくつかのメッセージを廃棄することによって、トラフィック（たとえば、ＲＮ１０４を出るトラフィック）を成形するための機能性を含んでいてもよい。たとえば、所与の輻輳レベルについて、メッセージ廃棄アルゴリズムは、たとえばそのようなメッセージを廃棄することによって、より低い優先度値に関連付けられたメッセージのメッセージレートを、より高い優先度値に関連付けられたメッセージのメッセージレートよりも制限してもよい。いくつかの例では、所与の輻輳イベントについて輻輳レベルが増加するにつれて、メッセージ廃棄アルゴリズムは、さまざまなメッセージ優先度値に関連付けられたメッセージのトラフィックレート制限を徐々に減少させてもよい。
【００２６】
メモリ１０８は、トラフィック管理（たとえば、トラフィック追跡、トラフィック成形など）および／またはトラフィック関連輻輳管理に関連付けられた情報を格納するための任意の好適なエンティティ（たとえば、１つ以上のメモリデバイス）であってもよい。たとえば、メモリ１０８は、１つ以上のトラフィック輻輳ポリシー、１つ以上のメッセージ廃棄アルゴリズム、メッセージ統計、メッセージ優先度値、メッセージレート、および／または他のトラフィック関連情報を格納してもよい。
【００２７】
図１は例示のためのものであること、ならびに、図１に関連して上述されたさまざまなノード、それらの場所、および／またはそれらの機能（たとえばモジュール）は変更、修正、追加、または除去されてもよいことが理解されるであろう。たとえば、いくつかのノードおよび／または機能が単一のエンティティへと組合されてもよい。別の例では、いくつかのノードおよび／または機能が複数のノードおよび／またはプラットフォームにわたって分散されてもよい。
【００２８】
図２は、例示的なＴＭ１１０を説明するブロック図である。図２を参照して、ＴＭ１１０は、送信元タスク２０４および／または宛先タスク２０６と対話および／または通信してもよい。送信元タスク２０４は、メッセージをＴＭ１１０に提供する任意のエンティティ（たとえば、ノード、モジュールなど）であってもよく、宛先タスク２０８は、ＴＭ１１０からメッセージを受信する任意のエンティティであってもよい。たとえば、送信元タスク２０４は、ノード１０２、および／またはＲＮ１０４内のモジュールを含んでいてもよい。別の例では、宛先タスク２０６は、ノード１１２、および／またはＲＮ１０４内のモジュールを含んでいてもよい。いくつかの実施形態では、送信元タスク２０４および／または宛先タスク２０６は、メッセージを格納するための１つ以上のバッファまたはメモリを含むか利用してもよい。たとえば、送信元タスク２０４は、ＲＮ１０４および／またはＴＭ１１０によって処理されるために待機する入力メッセージを格納してもよく、宛先タスク２０６は、ＲＮ１０４および／またはＴＭ１１０からの出力メッセージ、たとえば、ＲＮ１０４によって前方へ送信またはルーティングされることになっているメッセージを格納してもよい。
【００２９】
ＴＭ１１０は、トラッカー２００およびシェイパー２０２を含むかそれらと対話してもよい。トラッカー２００は、入力および／または出力メッセージのメッセージレートを追跡するための任意の好適なエンティティ（たとえば、プロセッサ１０６、ＡＳＩＣ、ＦＰＧＡ上で実行されるソフトウェア、もしくは、ソフトウェア、ＡＳＩＣ、またはＦＰＧＡの組合せ）であってもよい。いくつかの実施形態では、トラッカー２００は、ポリシーによって決定可能なメッセージ優先度値を使用してメッセージを分類またはグループ化するために、トラフィック輻輳ポリシーおよび／または関連情報を利用してもよい。トラッカー２００はまた、同様にグループ化されたメッセージ、たとえば、同じメッセージ優先度値に関連付けられたメッセージのメッセージレートを追跡してもよい。たとえば、トラッカー２００は、メッセージ優先度値「１」に関連付けられたメッセージのメッセージレート、メッセージ優先度値「２」に関連付けられたメッセージのメッセージレート、および、メッセージ優先度値「３」に関連付けられたメッセージのメッセージレートを判断してもよい。
【００３０】
いくつかの実施形態では、ＴＭ１１０および／またはトラッカー２００は、１つ以上のメッセージ属性、接続属性、および／または経路関連属性を使用してさまざまなメッセージについてのメッセージ優先度値を判断するために、トラフィック輻輳ポリシーを利用してもよい。たとえば、トラフィック輻輳ポリシーは、優先度ＡＶＰおよび／またはカラーコード（たとえば、顧客ルールおよび／またはポリシーによって定義されたルールによって割当てられた、経路または接続関連輻輳指標）が、Diameterメッセージについてのメッセージ優先度を判断するために使用されることになっている、ということを定義または指定してもよい。
【００３１】
いくつかの実施形態では、トラフィック輻輳ポリシーは、さまざまなメッセージについてのメッセージ優先度値をどのように生成または計算するかを定義または指定してもよい。たとえば、トラフィック輻輳ポリシーは、ビットまたはバイト演算（たとえば、ビット連結および／またはビット計算）が、複数の要素または値を使用してメッセージ優先度値を生成するために使用されてもよい、ということを指定してもよい。この例では、トラフィック輻輳ポリシーは、メッセージ優先度値が、第１の属性からの１つ以上のビットと別の属性からの１つ以上のビットとを連結することによって計算されてもよい、ということを指定してもよい。
【００３２】
いくつかの実施形態では、ＴＭ１１０またはその内部の関連するエンティティは、第１の属性（たとえば、優先度ＡＶＰからの値）からの最上位ビット（左）の数を、第２の属性（たとえば、カラーコード）からの最下位ビット（右）の数と連結することによって、メッセージ優先度値を生成してもよい。たとえば、優先度ＡＶＰからの優先度値が０〜１５（１５が最高優先度である）、カラーコードが０〜３（３が最高優先度の色である）であり得ると仮定されたい。この例を続けると、優先度値「１０」（０ｘａ）とカラーコード「０」（０ｘ０）とを連結することはメッセージ優先度値「１６０」（０ｘａ０ｘ０）をもたらしてもよく、優先度値「１０」（０ｘａ）とカラーコード「３」（０ｘ３）とを連結することはメッセージ優先度値「１６３」（０ｘａ０ｘ０）をもたらしてもよい。
【００３３】
シェイパー２０２は、トラフィック成形および／または輻輳管理を行なうための任意の好適なエンティティ（たとえば、プロセッサ１０６、ＡＳＩＣ、ＦＰＧＡ上で実行されるソフトウェア、もしくは、ソフトウェア、ＡＳＩＣ、またはＦＰＧＡの組合せ）であってもよい。たとえば、シェイパー２０２は、輻輳イベント中にどのメッセージを廃棄または許可するべきかを判断するために、トラフィック輻輳ポリシーおよび／または関連情報、たとえば、トラッカー２００によって取り込まれ、および／または導き出された輻輳レベルおよび情報を利用してもよい。この例では、シェイパー２０２は、あるメッセージ優先度値に関連付けられたメッセージのメッセージレートを制約または制限するメッセージ廃棄アルゴリズムを使用してもよく、輻輳レベルが増加するにつれてより多くのメッセージを徐々に廃棄してもよい。
【００３４】
いくつかの実施形態では、トラフィック輻輳ポリシーおよび／または関連する廃棄アルゴリズムは、輻輳イベント中にトラフィックを成形する（たとえば、いくつかのトラフィックを廃棄する）際に、メッセージ優先度値を使用してもよい。たとえば、トラフィック輻輳ポリシーおよび／または関連する廃棄アルゴリズムがメッセージレート制限を使用する場合、トラフィック輻輳ポリシーおよび／または関連する廃棄アルゴリズムは、より高い優先度メッセージ値に関連付けられたメッセージのメッセージレートに影響を及ぼす（たとえば制限を加える）前に、まず、より低い優先度メッセージ値に関連付けられたメッセージのメッセージレートに制限を加えることによって、（たとえば、ＲＮ１０４で受信されたメッセージのすべてのメッセージレートに基づく）総メッセージレート制限を実施してもよい。この例では、どのメッセージを廃棄するべきかを判断する際にポリシーによって決定可能なメッセージ優先度値を使用することにより、トラフィック輻輳ポリシーおよび／または関連する廃棄アルゴリズムは、任意の環境および／またはアプリケーション使用のために構成され得る。
【００３５】
いくつかの実施形態では、トラッカー２００は、メッセージレート制限が実施される前および／または後にメッセージレートを判断するための機能性を含んでいてもよい。たとえば、トラッカー２００は、特定のメッセージレート制限を実施および／または検証するために、メッセージを廃棄する前に入力メッセージについてのメッセージレートを追跡してもよく、また、シェイパー２０２がメッセージを廃棄した後にメッセージレート（たとえば、宛先タスク２０６への出力メッセージ）を追跡および／または検証してもよい。
【００３６】
図２は例示のためのものであること、ならびに、図２に関連して上述されたさまざまなノード、それらの場所、および／またはそれらの機能（たとえばモジュール）は変更、修正、追加、または除去されてもよいことが理解されるであろう。たとえば、いくつかのノードおよび／または機能が単一のエンティティへと組合されてもよい。別の例では、いくつかのノードおよび／または機能が複数のノードおよび／またはプラットフォームにわたって分散されてもよい。
【００３７】
図３は、トラフィック輻輳ポリシー情報の一例を示す。いくつかの実施形態では、ＴＭ１１０は、さまざまな輻輳レベルについての固定量に基づいてメッセージレートを調節するか減少させるトラフィック輻輳ポリシーを利用してもよい。たとえば、輻輳ポリシーまたは関連する廃棄アルゴリズムは、輻輳レベル「１」のイベント中に毎秒５０，０００メッセージ（５０Ｋ／秒）という総メッセージレート制限、輻輳レベル「２」のイベント中に３５Ｋ／秒という総メッセージレート制限、および輻輳レベル「３」のイベント中に２８Ｋ／秒という総メッセージレート制限を実施してもよい。別の例では、輻輳ポリシーまたは関連する廃棄アルゴリズムは、メッセージ優先度値および輻輳レベルに基づいて総メッセージレートを実施してもよく、より低い優先度のメッセージは、より高い優先度のメッセージよりも低いメッセージレート制限を有し、メッセージレートは、輻輳レベルが増加するにつれてより制限される。
【００３８】
いくつかの実施形態では、各メッセージ優先度値は、ポリシーによって決定可能な１つ以上の要因、たとえば、イベント優先度、イベントタイプ、メッセージタイプ、経路関連輻輳指標、またはアプリケーション特有のパラメータ値を使用することによって判断されてもよい。いくつかの実施形態では、各輻輳レベルは、ＲＮ１０４、ＴＭ１１０、および／または別のエンティティが経験している特定の量の輻輳を表わしていてもよい。たとえば待ち行列ベースの手法、メッセージレートベースの手法、および／または他の手法といった、さまざまなメカニズムおよび／または方法が、輻輳レベルを判断するために利用されてもよい。
【００３９】
図３を参照して、表３００は、メッセージ優先度値（たとえば、Ｐ−０〜Ｐ−５）の数および輻輳レベル（たとえば、ＣＬ−０〜ＣＬ−４）の数に関連付けられたメッセージレートを伴うトラフィック輻輳ポリシーまたは関連するメッセージ廃棄アルゴリズムを表わしていてもよい。表３００に示されるように、各行は、ある特定の輻輳レベルでのトラフィック輻輳ポリシーおよび／または関連するメッセージ廃棄アルゴリズムを表わしていてもよい。たとえば、各行は、ある輻輳レベル中に特定のメッセージ優先度値に関連付けられたメッセージレートが制限されている（たとえば制約されている）か、または変わらない（たとえば影響されない）かを表わすか指定してもよい。この例では、輻輳レベルが増加するにつれて、より多くのメッセージレート制限が実施されてもよい。いくつかの実施形態では、輻輳レベルが増加するにつれて、トラフィック輻輳ポリシーは、（たとえばＲＮ１０４での）総メッセージレートに関して、および／または特定のメッセージ優先度値について、メッセージレート制限を実施してもよい。
【００４０】
表３００の行「ＣＬ−０」に示されるように、輻輳レベル「ＣＬ−０」（たとえば、輻輳は検出されない）中、トラフィック輻輳ポリシーは、メッセージレート制約または制限を実施しなくてもよい。たとえば、「Ｐ−０」〜「Ｐ−５」のメッセージレートは、メッセージレート制約または制限が実施されることなく示されており、「Ｐ−０」〜「Ｐ−５」のメッセージレートの合計は、（たとえば、ＲＮ１０４によって受信された）総メッセージレート「１００Ｋ／秒」として示されている。
【００４１】
表３００の行「ＣＬ−１」に示されるように、輻輳レベル「ＣＬ−１」（たとえば、軽微な輻輳が検出される）中、トラフィック輻輳ポリシーは、総メッセージレート制限「５０Ｋ／秒」を実施してもよい。たとえば、総メッセージレート制限「５０Ｋ／秒」を実施するために、表３００によって表わされたトラフィック輻輳ポリシーは、メッセージ優先度値「Ｐ−０」〜「Ｐ−２」に関連付けられたメッセージをすべてドロップしてもよく、メッセージ優先度値「Ｐ−３」〜「Ｐ−５」に関連付けられたメッセージをすべて許可（たとえば、処理および／またはルーティング）してもよい。
【００４２】
表３００の行「ＣＬ−２」に示されるように、輻輳レベル「ＣＬ−２」（たとえば、中程度の輻輳が検出される）中、トラフィック輻輳ポリシーは、総メッセージレート制限「３５Ｋ／秒」を実施してもよい。たとえば、総メッセージレート制限「３５Ｋ／秒」を実施するために、表３００によって表わされたトラフィック輻輳ポリシーは、メッセージ優先度値「Ｐ−０」〜「Ｐ−２」に関連付けられたメッセージをすべてドロップしてもよく、「Ｐ−３」に関連付けられたメッセージのうちのいくつかをドロップしてもよく、メッセージ優先度値「Ｐ−４」〜「Ｐ−５」に関連付けられたメッセージをすべて許可（たとえば、処理および／またはルーティング）してもよい。
【００４３】
表３００の行「ＣＬ−３」に示されるように、輻輳レベル「ＣＬ−３」（たとえば、重篤な輻輳が検出される）中、トラフィック輻輳ポリシーは、総メッセージレート制限「２０Ｋ／秒」を実施してもよい。たとえば、総メッセージレート制限「２０Ｋ／秒」を実施するために、表３００によって表わされたトラフィック輻輳ポリシーは、メッセージ優先度値「Ｐ−０」〜「Ｐ−３」に関連付けられたメッセージをすべてドロップしてもよく、メッセージ優先度値「Ｐ−４」〜「Ｐ−５」に関連付けられたメッセージをすべて許可（たとえば、処理および／またはルーティング）してもよい。
【００４４】
表３００は例示のためのものであること、ならびに、図３に関して上述されたものとは異なる、および／または追加の情報、ロジック、メッセージレート、および／またはデータがＲＮ１０４またはＴＭ１１０によって使用可能であってもよいことが理解されるであろう。また、図３に示された見解は例示のためのものであり、ＲＮ１０４またはそこでの機能性を限定するものとして解釈されるべきではない、ということも理解されるであろう。
【００４５】
図４は、トラフィック輻輳ポリシー情報の別の例を示す。いくつかの実施形態では、ＴＭ１１０は、さまざまな輻輳レベルについてのパーセンテージ量に基づいてメッセージレートを調節するか減少させるトラフィック輻輳ポリシーを利用してもよい。たとえば、輻輳ポリシーまたは関連する廃棄アルゴリズムは、通常の（たとえば、制約されていない）総メッセージレートよりも５０％少ない総メッセージレート制限を実施してもよい。この例では、総メッセージレート制限は、輻輳レベルが増加するにつれて、たとえば、通常の総メッセージレートまたは以前の総メッセージレート制限のあるパーセンテージだけ、徐々に減少してもよい。別の例では、輻輳ポリシーまたは関連する廃棄アルゴリズムは、メッセージ優先度値および輻輳レベルに基づいて総メッセージレートを実施してもよく、より低い優先度のメッセージは、より高い優先度のメッセージよりも低いメッセージレート制限を有し、メッセージレートは、輻輳レベルが増加するにつれてより制限される。
【００４６】
いくつかの実施形態では、各メッセージ優先度値は、ポリシーによって決定可能な１つ以上の要因、たとえば、イベント優先度、イベントタイプ、メッセージタイプ、経路関連輻輳指標、またはアプリケーション特有のパラメータ値を使用することによって判断されてもよい。いくつかの実施形態では、各輻輳レベルは、ＲＮ１０４、ＴＭ１１０、および／または別のエンティティが経験している特定の量の輻輳を表わしていてもよい。たとえばメッセージ待ち行列ベースの手法、メッセージレートベースの手法、および／または他の手法といった、さまざまなメカニズムおよび／または方法が、輻輳レベルを判断するために利用されてもよい。
【００４７】
図４を参照して、表４００は、メッセージ優先度値（たとえば、Ｐ−０〜Ｐ−５）の数および輻輳レベル（たとえば、ＣＬ−０〜ＣＬ−４）の数に関連付けられたメッセージレートを伴うトラフィック輻輳ポリシーまたは関連するメッセージ廃棄アルゴリズムを表わしていてもよい。表４００に示されるように、各行は、ある特定の輻輳レベルでのトラフィック輻輳ポリシーおよび／または関連するメッセージ廃棄アルゴリズムを表わしていてもよい。たとえば、各行は、ある輻輳レベル中に特定のメッセージ優先度値に関連付けられたメッセージレートが制限されている（たとえば制約されている）か、または変わらない（たとえば影響されない）かを表わすか指定してもよい。この例では、輻輳レベルが増加するにつれて、より多くのメッセージレート制限が実施されてもよい。いくつかの実施形態では、輻輳レベルが増加するにつれて、トラフィック輻輳ポリシーは、（たとえばＲＮ１０４での）総メッセージレートに関して、および／または特定のメッセージ優先度値について、メッセージレート制限を実施してもよい。
【００４８】
表４００の行「ＣＬ−０」に示されるように、輻輳レベル「ＣＬ−０」（たとえば、輻輳は検出されない）中、トラフィック輻輳ポリシーは、メッセージレート制約または制限を実施しなくてもよい。たとえば、「Ｐ−０」〜「Ｐ−５」のメッセージレートは、メッセージレート制約または制限が実施されることなく示されており、「Ｐ−０」〜「Ｐ−５」のメッセージレートの合計は、（たとえば、ＲＮ１０４によって受信された）総メッセージレート「１００Ｋ／秒」として示されている。
【００４９】
表４００の行「ＣＬ−１」に示されるように、輻輳レベル「ＣＬ−１」（たとえば、軽微な輻輳が検出される）中、トラフィック輻輳ポリシーは、（たとえば、「ＣＬ−０」の総メッセージレートに５０％を乗算することによって計算された）総メッセージレート制限「５０Ｋ／秒」を実施してもよい。たとえば、総メッセージレート制限「５０Ｋ／秒」を実施するために、表４００によって表わされたトラフィック輻輳ポリシーは、メッセージ優先度値「Ｐ−０」〜「Ｐ−２」に関連付けられたメッセージをすべてドロップしてもよく、メッセージ優先度値「Ｐ−３」〜「Ｐ−５」に関連付けられたメッセージをすべて許可（たとえば、処理および／またはルーティング）してもよい。
【００５０】
表４００の行「ＣＬ−２」に示されるように、輻輳レベル「ＣＬ−２」（たとえば、中程度の輻輳が検出される）中、トラフィック輻輳ポリシーは、（たとえば、「ＣＬ−１」の総メッセージレートに７０％を乗算することによって計算された）総メッセージレート制限「３５Ｋ／秒」を実施してもよい。たとえば、総メッセージレート制限「３５Ｋ／秒」を実施するために、表４００によって表わされたトラフィック輻輳ポリシーは、メッセージ優先度値「Ｐ−０」〜「Ｐ−２」に関連付けられたメッセージをすべてドロップしてもよく、「Ｐ−３」に関連付けられたメッセージのうちのいくつかをドロップしてもよく、メッセージ優先度値「Ｐ−４」〜「Ｐ−５」に関連付けられたメッセージをすべて許可（たとえば、処理および／またはルーティング）してもよい。
【００５１】
表４００の行「ＣＬ−３」に示されるように、輻輳レベル「ＣＬ−３」（たとえば、重篤な輻輳が検出される）中、トラフィック輻輳ポリシーは、（たとえば、「ＣＬ−２」の総メッセージレートに８０％を乗算することによって計算された）総メッセージレート制限「２８Ｋ／秒」を実施してもよい。この例では、総メッセージレート制限「２８Ｋ／秒」を実施するために、表４００によって表わされたトラフィック輻輳ポリシーは、メッセージ優先度値「Ｐ−０」〜「Ｐ−２」に関連付けられたメッセージをすべてドロップしてもよく、「Ｐ−３」に関連付けられたメッセージのうちのいくつかをドロップしてもよく、メッセージ優先度値「Ｐ−４」〜「Ｐ−５」に関連付けられたメッセージをすべて許可（たとえば、処理および／またはルーティング）してもよい。
【００５２】
表４００は例示のためのものであること、ならびに、図４に関して上述されたものとは異なる、および／または追加の情報、ロジック、メッセージレート、および／またはデータがＲＮ１０４またはＴＭ１１０によって使用可能であってもよいことが理解されるであろう。また、図４に示された見解は例示のためのものであり、ＲＮ１０４またはそこでの機能性を限定するものとして解釈されるべきではない、ということも理解されるであろう。
【００５３】
図５は、輻輳イベント中にメッセージを廃棄するためのプロセスを説明するフローチャートである。いくつかの実施形態では、プロセス５００、またはその一部（たとえば、ステップ５０２、５０４、５０６、および／または５０８）は、ＲＮ１０４、ＴＭ１１０、および／または別のノードあるいはモジュールによって、もしくは、ＲＮ１０４、ＴＭ１１０、および／または別のノードあるいはモジュールで行なわれてもよい。
【００５４】
プロセス５００を参照して、ステップ５０２で、輻輳中にアプリケーションに関連付けられたトラフィックを取り扱うためのトラフィック輻輳ポリシーが登録されてもよい。たとえば、Diameterアプリケーションまたは関連するノードが、ＲＮ１０４での輻輳イベント中にDiameterメッセージを取り扱うためにトラフィック輻輳ポリシーをＲＮ１０４および／またはＴＭ１１０に登録してもよい。別の例では、ウェブアプリケーションまたはウェブサーバが、ＲＮ１０４での輻輳イベント中にＨＴＴＰおよび／またはＩＰメッセージを取り扱うためにトラフィック輻輳ポリシーをＲＮ１０４および／またはＴＭ１１０に登録してもよい。
【００５５】
ステップ５０４で、輻輳イベントに関連付けられた第１の輻輳レベルが判断されてもよい。たとえば、ＲＮ１０４またはＴＭ１１０は、メッセージ待ち行列ベースの輻輳検出メカニズムを使用してもよく、当該メカニズムでは、１つ以上のメッセージ待ち行列が増加するしきい値量に達するにつれて、輻輳レベルは増加し、たとえば０〜３の値になり、０は輻輳なし、３は最高レベルの輻輳である。別の例では、ＲＮ１０４またはＴＭ１１０は、メッセージレートベースの輻輳検出メカニズムを使用してもよく、当該メカニズムでは、総入力メッセージレートが増加するしきい値レートに達するにつれて、輻輳レベルは増加する。
【００５６】
ステップ５０６で、同様のメッセージ優先度値に関連付けられたメッセージのメッセージレートが判断されてもよい。メッセージ優先度値は、トラフィック輻輳ポリシーを使用して判断されてもよい。たとえば、トラフィック輻輳ポリシーは、メッセージ優先度値がどのように計算されるか、および／または、それらの計算にどの要因を使用するべきかを定義または指定してもよく、同様のトラフィックについてのメッセージレートを判断する際にこれらのメッセージ優先度値を使用してもよい。
【００５７】
ステップ５０８で、メッセージレート、第１の輻輳レベル、およびメッセージ廃棄アルゴリズムのうちの１つ以上を使用して、アプリケーションに関連付けられた第１のメッセージが廃棄されてもよい。メッセージ廃棄アルゴリズムは、トラフィック輻輳ポリシーを使用して判断されてもよい。たとえば、トラフィック輻輳ポリシーは、さまざまなメッセージ優先度値に関連付けられたメッセージのために、あるトラフィックレート制限が実施されることになっていること、および、これらのメッセージレート制限を実施する際にＴＭ１１０がメッセージを廃棄するかもしれないことを定義または指定してもよい。
【００５８】
いくつかの実施形態では、第１のメッセージに関連付けられた第１のメッセージ優先度値が、第１のメッセージのメッセージ属性と、第１のメッセージに関連付けられた経路関連輻輳指標とを使用して判断されてもよい。たとえば、ＴＭ１１０および／またはトラッカー２００は、Diameterメッセージのメッセージ優先度値を判断する際に、Diameterメッセージにおける優先度ＡＶＰからの値と、Diameterメッセージに関連付けられたカラーコードとを使用してもよい。
【００５９】
いくつかの実施形態では、第１のメッセージに関連付けられた第１のメッセージ優先度値は、メッセージ属性からの１つ以上のビットと、経路関連輻輳指標からの１つ以上のビットとを連結することによって計算されてもよい。
【００６０】
いくつかの実施形態では、トラフィック輻輳ポリシーはホットプラグ可能であってもよい。たとえば、ＲＮ１０４および／またはＴＭ１１０は、（たとえば、ＲＮ１０４が過負荷をかけられている）輻輳イベント中に取り扱われるアプリケーションに基づいて特定のトラフィック輻輳ポリシーを選択するために構成されてもよい。この例では、ＲＮ１０４および／またはＴＭ１１０は、ＲＮ１０４の再始動または再起動を必要することなく、トラフィック輻輳ポリシーを切り換えることができる。
【００６１】
いくつかの実施形態では、第１の輻輳レベルを判断するステップは、処理のために待ち行列に入れられたメッセージの量を判断するステップを含んでいてもよい。たとえば、ＴＭ１１０は、（たとえば、５０％一杯よりも多い、７５％一杯よりも多いなどといった）ある負荷量について１つ以上のメッセージ待ち行列を監視することによって、ＲＮ１０４または別のエンティティが輻輳を経験していると判断してもよい。この例では、負荷量が増加するにつれて、輻輳レベルは増加してもよい。
【００６２】
いくつかの実施形態では、メッセージ廃棄アルゴリズムは、第１の輻輳レベル中に第１の量のメッセージを廃棄することによって、第１の優先度値に関連付けられた第１の組のメッセージのメッセージレートを制限してもよい。たとえば、ＲＮ１０４および／またはＴＭ１１０は、優先度レベル「Ｐ−１」（たとえば、低いメッセージ優先度値）に関連付けられたメッセージについてメッセージレート「５Ｋ／秒」を実施してもよい。この例では、そのようなメッセージは通常、メッセージレート「２５Ｋ＼秒」で受信されると仮定して、ＲＮ１０４および／またはＴＭ１１０は、これらのメッセージの８０％を廃棄してもよい。別の例では、ＲＮ１０４および／またはＴＭ１１０は、優先度レベル「Ｐ−５」（たとえば、高いメッセージ優先度値）に関連付けられたメッセージについてメッセージレート「５０Ｋ／秒」を実施してもよい。この例では、そのようなメッセージは通常、メッセージレート「２０Ｋ＼秒」で受信されると仮定して、ＲＮ１０４および／またはＴＭ１１０は、これらのメッセージを全く廃棄しないかもしれない。
【００６３】
いくつかの実施形態では、メッセージ廃棄アルゴリズムは、第２の輻輳レベル中に第２の量のメッセージを廃棄することによって、第１の組のメッセージのメッセージレートを制限してもよく、第２の量は、第１の輻輳レベル中に廃棄される第１の量よりも多くてもよい。たとえば、ＲＮ１０４および／またはＴＭ１１０は、輻輳レベル「ＣＬ−１」では優先度レベル「Ｐ−１」に関連付けられたメッセージについてメッセージレート「５Ｋ／秒」を実施してもよく、輻輳レベル「ＣＬ−２」ではこれらのメッセージについてメッセージレート「０Ｋ／秒」を実施してもよい。この例では、そのようなメッセージは通常、メッセージレート「２５Ｋ＼秒」で受信されると仮定して、ＲＮ１０４および／またはＴＭ１１０は、輻輳レベル「ＣＬ−１」中にこれらのメッセージの８０％を廃棄してもよく、輻輳レベル「ＣＬ−２」中にこれらのメッセージの１００％を廃棄してもよい。
【００６４】
いくつかの実施形態では、メッセージ廃棄アルゴリズムによって廃棄されたメッセージの第１の量は、第１の組のメッセージまたは第１の輻輳レベルに関連付けられた第１のパーセンテージに基づいていてもよく、第１のパーセンテージは、第２の組のメッセージまたは第２の輻輳レベルに関連付けられた第２のパーセンテージとは異なっていてもよい。たとえば、優先度レベル「Ｐ−１」に関連付けられたメッセージについて、ＲＮ１０４および／またはＴＭ１１０は、輻輳レベル「ＣＬ−１」ではこれらのメッセージの通常のメッセージレートよりも２５％少ないメッセージレートを実施してもよく、輻輳レベル「ＣＬ−２」ではこれらのメッセージの通常のメッセージレートよりも５０％少ないメッセージレートを実施してもよい。
【００６５】
いくつかの実施形態では、メッセージ廃棄アルゴリズムによって廃棄されたメッセージの第１の量は、第１の組のメッセージまたは第１の輻輳レベルについて許可された第１の総メッセージレートに基づいていてもよく、許可された第１の総メッセージレートは、第２の組のメッセージまたは第２の輻輳レベルについて許可された第２のメッセージレートとは異なっていてもよい。たとえば、優先度レベル「Ｐ−１」に関連付けられたメッセージについて、ＲＮ１０４および／またはＴＭ１１０は、輻輳レベル「ＣＬ−１」ではメッセージレート「１０Ｋ／秒」を実施してもよく、輻輳レベル「ＣＬ−２」ではメッセージレート「５Ｋ／秒」を実施してもよい。
【００６６】
プロセス５００は例示のためのものであること、ならびに、異なる、および／または追加のアクションが使用されてもよいことが理解されるであろう。また、ここに説明されたさまざまなアクションは異なる順序または順番で起こってもよいことも理解されるであろう。
【００６７】
なお、ＲＮ１０４、ＴＭ１１０、トラッカー２００、シェイパー２０２、および／またはここに説明された機能性は、Diameterシグナリングルータ、ルータ、またはスイッチなどの専用コンピューティングデバイスを構成してもよい。また、ＲＮ１０４、ＴＭ１１０、トラッカー２００、シェイパー２０２、および／またはここに説明された機能性は、プラグ可能なトラフィック輻輳ポリシーを利用する手法、方法、および／またはメカニズムを使用することによって、ならびに／もしくは、トラフィックパターン情報（たとえば、メッセージレート）、輻輳レベル、および／またはポリシーによって定義されたメッセージ優先度値（たとえば、ポリシーによって決定可能な１つ以上の要因に基づいたメッセージ優先度値）を使用して、メッセージを廃棄するべきか許可するべきかを判断するメッセージ廃棄アルゴリズムを使用することによって、トラフィック関連輻輳管理および関連するコンピュータ機能性の技術分野を進歩させることができる。
【００６８】
ここに説明された構造および特徴のさまざまな組合せおよび部分組合せが考えられ、この開示の知識を有する当業者には明らかになるであろう。ここに開示されるようなさまざまな特徴および要素のいずれも、相反する指示がここにない限り、１つ以上の他の開示された特徴および要素と組合されてもよい。それに応じて、ここに主張されるような主題は、その範囲内のそのような変更、修正、および代替的な実施形態をすべて含み、請求項の均等物を含むとして、広範に解釈されるよう意図されている。現在開示されている主題のさまざまな詳細は、現在開示されている主題の範囲から逸脱することなく変更されてもよい、ということが理解される。さらに、前述の説明は例示のみのためのものであり、限定のためのものではない。
【図１】
2019532600.tif 000003
【図２】
2019532600.tif 000004
【図３】
2019532600.tif 000005
【図４】
2019532600.tif 000006
【図５】
2019532600.tif 000007
【国際調査報告】
2019532600.tif 000008
2019532600.tif 000009