(57)【要約】  ネットワークにおいてパス変更が起こった際に、新たなパスのリソースを予約するためのメッセージを的確に把握することができるメッセージ識別方法などを提供する技術が開示され、その技術によればデータ通信経路の変更を検知した中継ノード１０２が、新たなデータ通信経路上の中継ノードにＱｏＳ予約をするためのＱｏＳ予約メッセージに、ＱｏＳ維持メッセージと識別する第１の情報を含めて送信するステップと、ＱｏＳ予約メッセージを受けた中継ノード１１０が、自身がＱｏＳ維持メッセージとＱｏＳ予約メッセージとが収束される点に位置する中継ノードであるか否かを判断し、収束される点に位置する中継ノードであると判断した場合、自身の所定の記憶領域に格納された、自身及び自身において受け取るメッセージを特定するための第２の情報と、ＱｏＳ予約メッセージに含まれる第１の情報とに基づいてどちらのメッセージが最新であるかを識別するステップとを有する。
2009531875.tif 000002
【特許請求の範囲】
【請求項１】
データを送受信する第１のノードの通信相手である第２のノードと、前記第１のノードと前記第２のノードとの間で送受信されるデータを中継する複数の中継ノードとを備え、前記第１のノードと前記第２のノードとの間のデータ通信経路上の中継ノードにＱｏＳ予約がなされた通信ネットワークで、前記データ通信経路の変更が起きた際に、新たなデータ通信経路上の中継ノードにＱｏＳ予約をするために送信されるＱｏＳ予約メッセージと、前記変更が起こる前の前記データ通信経路上の前記中継ノードのＱｏＳ予約を維持するために送信されるＱｏＳ維持メッセージとを識別するためのメッセージ識別方法であって、
前記データ通信経路の変更を検知した中継ノードが、前記新たなデータ通信経路上の中継ノードにＱｏＳ予約をするための前記ＱｏＳ予約メッセージを送信するに際し、前記ＱｏＳ維持メッセージと識別する際に用いられる第１の情報を含めて送信するステップと、
前記ＱｏＳ予約メッセージを受けた中継ノードが、自身が前記ＱｏＳ維持メッセージと前記ＱｏＳ予約メッセージとが収束される点に位置する中継ノードであるか否かを判断し、前記収束される点に位置する中継ノードであると判断した場合、前記自身の所定の記憶領域に格納された、前記自身及び前記自身において受け取るメッセージを特定するための第２の情報と、前記ＱｏＳ予約メッセージに含まれる前記第１の情報とに基づいてどちらのメッセージが最新であるかを識別するステップとを、
有するメッセージ識別方法。
【請求項２】
前記ＱｏＳ維持メッセージと前記ＱｏＳ予約メッセージとが収束される点に位置する前記中継ノードは、どちらのメッセージが最新であるかの識別結果に基づいて、格納された前記第２の情報を更新するか否かを決定する請求項１に記載のメッセージ識別方法。
【請求項３】
前記第１の情報は、少なくとも前記第１のノードによって管理される、前記第１のノードと前記第２のノードとの間におけるメッセージを識別するためのシーケンス情報、前記データ通信経路の変更を検知した前記中継ノードに格納された過去のデータ通信経路変更の履歴情報に、前記変更を検知した前記中継ノード自身を識別する識別情報を付加した履歴情報、前記データ通信経路の変更を検知した前記中継ノードと前記第１のノードとの間における距離を示す距離情報を含む請求項１に記載のメッセージ識別方法。
【請求項４】
前記第２の情報は、少なくとも前記ＱｏＳ維持メッセージと前記ＱｏＳ予約メッセージとが収束される点に位置する前記中継ノードと前記第１のノードとの間における距離を示す距離情報、前記第１のノードによって管理される、前記第１のノードと前記第２のノードとの間におけるメッセージを識別するためのシーケンス情報、過去のデータ通信経路変更の履歴情報を含む請求項１に記載のメッセージ識別方法。
【請求項５】
前記距離情報はメッセージが転送されるごとに増加する請求項３に記載のメッセージ識別方法。
【請求項６】
前記ＱｏＳ維持メッセージと前記ＱｏＳ予約メッセージとが収束される点に位置する中継ノードは、どちらのメッセージが最新であるかを識別する際、前記第１の情報の前記シーケンス情報と前記第２の情報の前記シーケンス情報とに基づいて識別し、前記第１の情報の前記シーケンス情報と前記第２の情報の前記シーケンス情報とが同じである場合、前記第１の情報の前記履歴情報と前記第２の情報の前記履歴情報とに基づいて識別する請求項４に記載のメッセージ識別方法。
【請求項７】
前記第１の情報は、少なくとも通信セッションを識別するセッション識別情報、メッセージのフローを識別するフロー識別情報、前記第１のノードによって管理される、前記第１のノードと前記第２のノードとの間におけるメッセージを識別するためのシーケンス情報、前記データ通信経路の変更を検知した中継ノードと前記第１のノードにおける距離を示す距離情報、前記データ通信経路の変更を検知した中継ノードと前記第１のノードにおける距離を示す距離情報及び前記データ通信経路の変更を検知した中継ノードにおけるデータ通信経路の変更回数の情報からなる経路変更情報を、前記データ通信経路の変更を検知した中継ノードの所定の記憶領域に格納された前記データ通信経路変更前における経路変更情報に付加したものを含む請求項１に記載のメッセージ識別方法。
【請求項８】
前記第２の情報は、少なくとも通信セッションを識別するセッション識別情報、メッセージのフローを識別するフロー識別情報、前記第１のノードによって管理される、前記第１のノードと前記第２のノードとの間におけるメッセージを識別するためのシーケンス情報、前記ＱｏＳ維持メッセージと前記ＱｏＳ予約メッセージとが収束される点に位置する中継ノードと前記第１のノードとの間における距離を示す距離情報、前記ＱｏＳ維持メッセージと前記ＱｏＳ予約メッセージとが収束される点に位置する中継ノードにおけるデータ通信経路の変更回数の情報、前記データ通信経路の変更前の他のデータ通信経路変更を検知した中継ノードと前記第１のノードにおける距離を示す距離情報及び前記変更前の前記他のデータ通信経路変更を検知した中継ノードにおけるデータ通信経路の変更回数の情報からなる経路変更情報を含む請求項１に記載のメッセージ識別方法。
【請求項９】
前記距離情報はメッセージが転送されるごとに増加する請求項７に記載のメッセージ識別方法。
【請求項１０】
前記ＱｏＳ維持メッセージと前記ＱｏＳ予約メッセージとが収束される点に位置する中継ノードは、どちらのメッセージが最新であるかを識別する際、前記第１の情報の前記シーケンス情報と前記第２の情報の前記シーケンス情報とに基づいて識別し、前記第１の情報の前記シーケンス情報と前記第２の情報の前記シーケンス情報とが同じである場合、前記第１の情報の前記経路変更情報と前記第２の情報の前記経路変更情報とに基づいて識別する請求項１に記載のメッセージ識別方法。
【請求項１１】
データを送受信する第１のノードの通信相手である第２のノードと、前記第１のノードと前記第２のノードとの間で送受信されるデータを中継する複数の中継ノードとを備え、前記第１のノードと前記第２のノードとの間のデータ通信経路上の中継ノードにＱｏＳ予約がなされた通信ネットワークで、前記データ通信経路の変更が起きた際に、新たなデータ通信経路上の中継ノードにＱｏＳ予約をするために送信されるＱｏＳ予約メッセージと、前記変更が起こる前の前記データ通信経路上の前記中継ノードのＱｏＳ予約を維持するために送信されるＱｏＳ維持メッセージとを識別するためのメッセージ識別方法で用いられる前記中継ノードであって、
メッセージを受信する受信手段と、
自身及び前記自身において受け取るメッセージを特定するための状態情報を格納する格納手段と、
前記データ通信経路の変更が起きた場合に、前記新たなデータ通信経路上の中継ノードにＱｏＳ予約をするための、前記ＱｏＳ維持メッセージと識別する際に用いられる識別情報を含む前記ＱｏＳ予約メッセージを生成する生成手段と、
生成された前記ＱｏＳ予約メッセージを前記新たなデータ通信経路上に送信する送信手段と、
前記自身が前記ＱｏＳ維持メッセージと他の中継ノードから送信されたＱｏＳ予約メッセージとが収束される点に位置する中継ノードであるか否かを判断する判断手段と、
前記ＱｏＳ維持メッセージと前記他の中継ノードから送信された前記ＱｏＳ予約メッセージとが収束される点に位置する前記中継ノードであると判断された場合、前記格納手段に格納された前記状態情報と前記他の中継ノードから送信された前記ＱｏＳ予約メッセージに含まれる前記識別情報とに基づいて、どちらのメッセージが最新であるかを識別する識別手段とを、
備える中継ノード。
【請求項１２】
前記識別手段は、識別結果に基づいて前記格納手段に格納された前記状態情報を更新するか否かを決定する請求項１１に記載の中継ノード。
【請求項１３】
前記状態情報は、少なくとも前記自身と前記第１のノードとの間における距離を示す距離情報、前記第１のノードによって管理される、前記第１のノードと前記第２のノードとの間におけるメッセージを識別するためのシーケンス情報、過去のデータ通信経路変更の履歴情報を含む請求項１１に記載の中継ノード。
【請求項１４】
前記ＱｏＳ予約メッセージに含まれる前記識別情報は、少なくとも前記第１のノードによって管理される、前記第１のノードと前記第２のノードとの間におけるメッセージを識別するためのシーケンス情報、前記状態情報に含まれる前記過去のデータ通信経路変更の履歴情報に前記自身を識別する識別情報を付加した履歴情報、前記自身と前記第１のノードとの間における距離を示す距離情報を含む請求項１３に記載の中継ノード。
【請求項１５】
前記距離情報はメッセージが転送されるごとに増加する請求項１３に記載の中継ノード。
【請求項１６】
前記識別手段は、どちらのメッセージが最新であるかを識別する際、前記他の中継ノードから送信された前記ＱｏＳ予約メッセージに含まれる前記識別情報の前記シーケンス情報と前記格納手段の前記状態情報の前記シーケンス情報とに基づいて識別し、前記他の中継ノードから送信された前記ＱｏＳ予約メッセージに含まれる前記識別情報の前記シーケンス情報と前記格納手段の前記状態情報の前記シーケンス情報とが同じである場合、前記他の中継ノードから送信された前記ＱｏＳ予約メッセージに含まれる前記識別情報の前記履歴情報と前記格納手段の前記状態情報の前記履歴情報とに基づいて識別する請求項１４に記載の中継ノード。
【請求項１７】
前記状態情報は、少なくとも通信セッションを識別するセッション識別情報、メッセージのフローを識別するフロー識別情報、前記第１のノードによって管理される、前記第１のノードと前記第２のノードとの間におけるメッセージを識別するためのシーケンス情報、前記自身と前記第１のノードとの間における距離を示す距離情報、前記自身におけるデータ通信経路の変更回数の情報、前記データ通信経路の変更前の他のデータ通信経路変更を検知した中継ノードと前記第１のノードにおける距離を示す距離情報及び前記変更前の前記他のデータ通信経路変更を検知した中継ノードにおけるデータ通信経路の変更回数の情報からなる経路変更情報を含む請求項１１に記載の中継ノード。
【請求項１８】
前記ＱｏＳ予約メッセージに含まれる前記識別情報は、少なくとも通信セッションを識別するセッション識別情報、メッセージのフローを識別するフロー識別情報、前記第１のノードによって管理される、前記第１のノードと前記第２のノードとの間におけるメッセージを識別するためのシーケンス情報、前記自身と前記第１のノードにおける距離を示す距離情報、前記自身と前記第１のノードにおける距離を示す距離情報及び前記自身におけるデータ通信経路の変更回数の情報からなる経路変更情報を、前記自身の前記格納手段に格納された前記データ通信経路変更前における経路変更情報に付加したものを含む請求項１７に記載の中継ノード。
【請求項１９】
前記距離情報はメッセージが転送されるごとに増加する請求項１７に記載の中継ノード。
【請求項２０】
前記識別手段は、どちらのメッセージが最新であるかを識別する際、前記他の中継ノードから送信された前記ＱｏＳ予約メッセージに含まれる前記識別情報の前記シーケンス情報と前記格納手段の前記状態情報の前記シーケンス情報とに基づいて識別し、前記他の中継ノードから送信された前記ＱｏＳ予約メッセージに含まれる前記識別情報の前記シーケンス情報と前記格納手段の前記状態情報の前記シーケンス情報とが同じである場合、前記他の中継ノードから送信された前記ＱｏＳ予約メッセージに含まれる前記識別情報の前記経路変更情報と前記格納手段の前記状態情報の前記経路変更情報とに基づいて識別する請求項１８に記載の中継ノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信経路の変更に伴って送信される所定のメッセージを識別するメッセージ識別方法及びその方法で用いられる中継ノードに関する。
【背景技術】
【０００２】
データ通信ネットワークによるパケットスイッチにおいて、データトラフィックのパスは通常固定されない。ネットワークノード、例えばルータはデータパケットに埋め込まれた情報に基づいてフローのパスを決定する。このリアルタイムの決定は通常、ネットワークノードの形状、例えばルーティングテーブルや、ネットワークステータス、例えばリンクロードに基づいてなされる。したがって、実際のデータパスにおける動的な変化は、通信セッションのライフタイムの間起こり得る。例えば、あるリンクのオーバーロード、若しくはパスの一時的な不通によって引き起こされるかもしれない。通信セッションにＱｏＳ（Quality of Service）を保証するため、リソースは新たなデータパスに沿って用意される必要がある。また、古いデータパスに沿ったリソースはネットワークを効率的に使用できるように解放する必要がある。ＱｏＳ管理スキームのパスカップルタイプ、例えばＲＳＶＰ（Resource reSerVation Protocol：下記の非特許文献１を参照）やＮＳＩＳ（Next Steps In Signaling：下記の非特許文献２、３を参照）において、ＱｏＳ制御シグナリングメッセージは、データパスに沿って送信される。したがって、データパスが変更されたときシグナリングメッセージは、状態を構築し必要なＱｏＳリソースを予約するために新たなパス上に送信される必要がある。
【０００３】
通常、ルートにおける変更はネットワークのあるエリア内に限られる。全体のパスに影響はない。ＱｏＳレベルで重大な変化若しくはパケット落ちがなければ、アプリケーション層によって気づかれない。したがって、変化したパス上でＱｏＳの早期の構築のため、局部的な修理テクニックがＲＳＶＰやＮＳＩＳで用いられる。それは、ルート変更の始点が通信セッションのエンドノードを含まずに新たなパスをセットアップするためのメッセージを送信することを可能にする。これはエンドノードに負担をかけずに、早くＱｏＳの再構築ができる。しかしながら、このタイプのシグナリングはシグナリングレーシング問題を抱える。
【０００４】
ルート変更の後、ＱｏＳシグナリングメッセージを含むデータパケットは新たなパス上に流れる。新たなパスは、例えば遅延が大変少ないなど、古いパスより質がよいかもしれない。一方、古いパスは長い遅延を起こすかもしれず、ルート変更において起こり得るものである。したがって、ルート変更の前後に送信したシグナリングメッセージが、新たなパスと古いパスの交わるクロスオーバーノード（ＣＲＮ：Crossover Node）に順番が狂って到達する可能性が高い。この場合、ＣＲＮは誤って新たなパスにおける状態を取り替えてしまうこともあり得る。これを避けるため、ＣＲＮはメッセージのシーケンスを区別する必要がある。しかしながら、メッセージは異なるネットワークノードによって送信される。簡単なシーケンス番号はメッセージの並び替えに役に立たない。例えば、ＮＳＩＳのみで用いられるＲＳＮ（Reservation Sequence Number）は局部ペア（ノード）間で意義がある。このケースのルート変更には役に立たず、メッセージは異なるペアからＣＲＮに到達する。一方で、エンドツーエンド制御シーケンス番号も役に立たない。上述したように、ルート変更はエンドノードに影響を及ぼさず、シグナリングメッセージはエンドノードによって送信されないからである。ルート変更に可能な場合もある。それは異なるネットワークノードから送信されるいくつかの局部的な修理メッセージによるものである。しかし、使用されるシーケンス番号を同期させることは不可能である。
【特許文献１】US5235599 "A Self-healing network with distributed failure restoration capabilities"
【非特許文献１】Braden,R., "Resource ReSerVation Protocol(RSVP)-Version1 Functional Specification",RFC2205,September 1997
【非特許文献２】Schulzrinne,H. and R.Hancock,"GIMPS:General Internet Messaging Protocol for Sigbaling",Internet Draft draft-ietf-nsis-ntlp-07,July 2005
【非特許文献３】Bosch,S.,"NSLP for Quality-of-Service Signaling",Internet Draft draft-ietf-nsis-qos-nslp-07,July 2005
【発明の開示】
【発明が解決しようとする課題】
【０００５】
この問題を解決するために、ＲＳＶＰでは局部的な修理メッセージの送信を遅らせることを提案している。ネットワークを落ち着かせるため、ルート変更後、ある時間待つものである。しかしながら、繊細なアプリケーション、例えば音声アプリケーションやリアルタイムストリーミングなどにとって遅延やロスは受け入れられない。このタイプの解決ではシグナリングレースの可能性を完全に除去することはできない。例えば、遅延が１０秒にセットされる場合、他のルート変更は１０．１秒で起こる。したがって、より肯定的な方法が必要である。
【０００６】
また、タイムスタンプを用いることは、メッセージを並び替える他の方法である。しかしながら、これはすべてのノードの時間を正確に同期させる必要がある。さらに、タイムスタンプの方法では必ずしもメッセージの正確なシーケンスを反映するとは限らない。例えば、ルート変更が後の時間で古いパスで起こるかもしれない。そのメッセージはより大きな値のタイムスタンプを持つ。しかし、実際にはそのメッセージは破棄されるべきである。
【０００７】
また、不通や変更後にネットワークで最良のパスを発見するためいくつかのものがある。例えば、下記の特許文献１では、目的地への選択すべきパスを見つけ出すために、不通リンクのエンドノードからブロードキャストされたメッセージを用いている。しかしながら、このブロードキャストはシグナリングにおいてオーバーヘッドを招き、すべてのメッセージを受け取った後、決定においてエンドノードの手助けが必要である。それはプロセスにおいて遅く、ネットワークやエンドノードに負担をかける。
【０００８】
本発明は、上記の問題点に鑑み、ネットワークにおいてパス変更が起こった際に、新たなパスのリソースを予約するためのメッセージを的確に把握することができるメッセージ識別方法及びその方法で用いられる中継ノードを提供することを目的とする。
【０００９】
また、本発明の他の目的は、通信セッションにおける適当なＱｏＳ状態の情報を維持するためのシグナリングに気づくノード（シグナリング処理可能ノード）を提供することである。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明によれば、データを送受信する第１のノードの通信相手である第２のノードと、前記第１のノードと前記第２のノードとの間で送受信されるデータを中継する複数の中継ノードとを備え、前記第１のノードと前記第２のノードとの間のデータ通信経路上の中継ノードにＱｏＳ予約がなされた通信ネットワークで、前記データ通信経路の変更が起きた際に、新たなデータ通信経路上の中継ノードにＱｏＳ予約をするために送信されるＱｏＳ予約メッセージと、前記変更が起こる前の前記データ通信経路上の前記中継ノードのＱｏＳ予約を維持するために送信されるＱｏＳ維持メッセージとを識別するためのメッセージ識別方法であって、前記データ通信経路の変更を検知した中継ノードが、前記新たなデータ通信経路上の中継ノードにＱｏＳ予約をするための前記ＱｏＳ予約メッセージを送信するに際し、前記ＱｏＳ維持メッセージと識別する際に用いられる第１の情報を含めて送信するステップと、前記ＱｏＳ予約メッセージを受けた中継ノードが、自身が前記ＱｏＳ維持メッセージと前記ＱｏＳ予約メッセージとが収束される点に位置する中継ノードであるか否かを判断し、前記収束される点に位置する中継ノードであると判断した場合、前記自身の所定の記憶領域に格納された、前記自身及び前記自身において受け取るメッセージを特定するための第２の情報と、前記ＱｏＳ予約メッセージに含まれる前記第１の情報とに基づいてどちらのメッセージが最新であるかを識別するステップとを有するメッセージ識別方法が提供される。この構成により、ネットワークにおいてパス変更が起こった際に、新たなパスのリソースを予約するためのメッセージを的確に把握することができる。
【００１１】
また、本発明のメッセージ識別方法において、前記ＱｏＳ維持メッセージと前記ＱｏＳ予約メッセージとが収束される点に位置する前記中継ノードが、どちらのメッセージが最新であるかの識別結果に基づいて、格納された前記第２の情報を更新するか否かを決定することは、本発明の好ましい態様である。この構成により、新たなデータ通信経路の変更があった場合にも適切に処理することができる。
【００１２】
また、本発明のメッセージ識別方法において、前記第１の情報が、少なくとも前記第１のノードによって管理される、前記第１のノードと前記第２のノードとの間におけるメッセージを識別するためのシーケンス情報、前記データ通信経路の変更を検知した前記中継ノードに格納された過去のデータ通信経路変更の履歴情報に、前記変更を検知した前記中継ノード自身を識別する識別情報を付加した履歴情報、前記データ通信経路の変更を検知した前記中継ノードと前記第１のノードとの間における距離を示す距離情報を含むことは、本発明の好ましい態様である。この構成により、適切にメッセージを識別することができる。
【００１３】
また、本発明のメッセージ識別方法において、前記第２の情報は、少なくとも前記ＱｏＳ維持メッセージと前記ＱｏＳ予約メッセージとが収束される点に位置する前記中継ノードと前記第１のノードとの間における距離を示す距離情報、前記第１のノードによって管理される、前記第１のノードと前記第２のノードとの間におけるメッセージを識別するためのシーケンス情報、過去のデータ通信経路変更の履歴情報を含むことは、本発明の好ましい態様である。この構成により、適切にメッセージを識別することができる。
【００１４】
また、本発明のメッセージ識別方法において、前記距離情報がメッセージが転送されるごとに増加することは、本発明の好ましい態様である。この構成により、中継ノードの位置を把握することができる。
【００１５】
また、本発明のメッセージ識別方法において、前記ＱｏＳ維持メッセージと前記ＱｏＳ予約メッセージとが収束される点に位置する中継ノードが、どちらのメッセージが最新であるかを識別する際、前記第１の情報の前記シーケンス情報と前記第２の情報の前記シーケンス情報とに基づいて識別し、前記第１の情報の前記シーケンス情報と前記第２の情報の前記シーケンス情報とが同じである場合、前記第１の情報の前記履歴情報と前記第２の情報の前記履歴情報とに基づいて識別することは、本発明の好ましい態様である。この構成により、的確に最新のメッセージか否かを把握することができる。
【００１６】
また、本発明のメッセージ識別方法において、前記第１の情報が、少なくとも通信セッションを識別するセッション識別情報、メッセージのフローを識別するフロー識別情報、前記第１のノードによって管理される、前記第１のノードと前記第２のノードとの間におけるメッセージを識別するためのシーケンス情報、前記データ通信経路の変更を検知した中継ノードと前記第１のノードにおける距離を示す距離情報、前記データ通信経路の変更を検知した中継ノードと前記第１のノードにおける距離を示す距離情報及び前記データ通信経路の変更を検知した中継ノードにおけるデータ通信経路の変更回数の情報からなる経路変更情報を、前記データ通信経路の変更を検知した中継ノードの所定の記憶領域に格納された前記データ通信経路変更前における経路変更情報に付加したものを含むことは、本発明の好ましい態様である。この構成により、適切にメッセージを識別することができる。
【００１７】
また、本発明のメッセージ識別方法において、前記第２の情報が、少なくとも通信セッションを識別するセッション識別情報、メッセージのフローを識別するフロー識別情報、前記第１のノードによって管理される、前記第１のノードと前記第２のノードとの間におけるメッセージを識別するためのシーケンス情報、前記ＱｏＳ維持メッセージと前記ＱｏＳ予約メッセージとが収束される点に位置する中継ノードと前記第１のノードとの間における距離を示す距離情報、前記ＱｏＳ維持メッセージと前記ＱｏＳ予約メッセージとが収束される点に位置する中継ノードにおけるデータ通信経路の変更回数の情報、前記データ通信経路の変更前の他のデータ通信経路変更を検知した中継ノードと前記第１のノードにおける距離を示す距離情報及び前記変更前の前記他のデータ通信経路変更を検知した中継ノードにおけるデータ通信経路の変更回数の情報からなる経路変更情報を含むことは、本発明の好ましい態様である。この構成により、適切にメッセージを識別することができる。
【００１８】
また、本発明のメッセージ識別方法において、前記距離情報がメッセージが転送されるごとに増加することは、本発明の好ましい態様である。この構成により、中継ノードの位置を把握することができる。
【００１９】
また、本発明のメッセージ識別方法において、前記ＱｏＳ維持メッセージと前記ＱｏＳ予約メッセージとが収束される点に位置する中継ノードが、どちらのメッセージが最新であるかを識別する際、前記第１の情報の前記シーケンス情報と前記第２の情報の前記シーケンス情報とに基づいて識別し、前記第１の情報の前記シーケンス情報と前記第２の情報の前記シーケンス情報とが同じである場合、前記第１の情報の前記経路変更情報と前記第２の情報の前記経路変更情報とに基づいて識別することは、本発明の好ましい態様である。この構成により、的確に最新のメッセージか否かを把握することができる。
【００２０】
また、本発明によれば、データを送受信する第１のノードの通信相手である第２のノードと、前記第１のノードと前記第２のノードとの間で送受信されるデータを中継する複数の中継ノードとを備え、前記第１のノードと前記第２のノードとの間のデータ通信経路上の中継ノードにＱｏＳ予約がなされた通信ネットワークで、前記データ通信経路の変更が起きた際に、新たなデータ通信経路上の中継ノードにＱｏＳ予約をするために送信されるＱｏＳ予約メッセージと、前記変更が起こる前の前記データ通信経路上の前記中継ノードのＱｏＳ予約を維持するために送信されるＱｏＳ維持メッセージとを識別するためのメッセージ識別方法で用いられる前記中継ノードであって、メッセージを受信する受信手段と、自身及び前記自身において受け取るメッセージを特定するための状態情報を格納する格納手段と、前記データ通信経路の変更が起きた場合に、前記新たなデータ通信経路上の中継ノードにＱｏＳ予約をするための、前記ＱｏＳ維持メッセージと識別する際に用いられる識別情報を含む前記ＱｏＳ予約メッセージを生成する生成手段と、生成された前記ＱｏＳ予約メッセージを前記新たなデータ通信経路上に送信する送信手段と、前記自身が前記ＱｏＳ維持メッセージと他の中継ノードから送信されたＱｏＳ予約メッセージとが収束される点に位置する中継ノードであるか否かを判断する判断手段と、前記ＱｏＳ維持メッセージと前記他の中継ノードから送信された前記ＱｏＳ予約メッセージとが収束される点に位置する前記中継ノードであると判断された場合、前記格納手段に格納された前記状態情報と前記他の中継ノードから送信された前記ＱｏＳ予約メッセージに含まれる前記識別情報とに基づいて、どちらのメッセージが最新であるかを識別する識別手段とを備える中継ノードが提供される。この構成により、ネットワークにおいてパス変更が起こった際に、新たなパスのリソースを予約するためのメッセージを的確に把握することができる。
【００２１】
また、本発明の中継ノードにおいて、前記識別手段が識別結果に基づいて前記格納手段に格納された前記状態情報を更新するか否かを決定することは、本発明の好ましい態様である。この構成により、新たなデータ通信経路の変更があった場合にも適切に処理することができる。
【００２２】
また、本発明の中継ノードにおいて、前記状態情報が、少なくとも前記自身と前記第１のノードとの間における距離を示す距離情報、前記第１のノードによって管理される、前記第１のノードと前記第２のノードとの間におけるメッセージを識別するためのシーケンス情報、過去のデータ通信経路変更の履歴情報を含むことは、本発明の好ましい態様である。この構成により、適切にメッセージを識別することができる。
【００２３】
また、本発明の中継ノードにおいて、前記ＱｏＳ予約メッセージに含まれる前記識別情報が、少なくとも前記第１のノードによって管理される、前記第１のノードと前記第２のノードとの間におけるメッセージを識別するためのシーケンス情報、前記状態情報に含まれる前記過去のデータ通信経路変更の履歴情報に前記自身を識別する識別情報を付加した履歴情報、前記自身と前記第１のノードとの間における距離を示す距離情報を含むことは、本発明の好ましい態様である。この構成により、適切にメッセージを識別することができる。
【００２４】
また、本発明の中継ノードにおいて、前記距離情報がメッセージが転送されるごとに増加することは、本発明の好ましい態様である。この構成により、中継ノードの位置を把握することができる。
【００２５】
また、本発明の中継ノードにおいて、前記識別手段が、どちらのメッセージが最新であるかを識別する際、前記他の中継ノードから送信された前記ＱｏＳ予約メッセージに含まれる前記識別情報の前記シーケンス情報と前記格納手段の前記状態情報の前記シーケンス情報とに基づいて識別し、前記他の中継ノードから送信された前記ＱｏＳ予約メッセージに含まれる前記識別情報の前記シーケンス情報と前記格納手段の前記状態情報の前記シーケンス情報とが同じである場合、前記他の中継ノードから送信された前記ＱｏＳ予約メッセージに含まれる前記識別情報の前記履歴情報と前記格納手段の前記状態情報の前記履歴情報とに基づいて識別することは、本発明の好ましい態様である。この構成により、的確に最新のメッセージか否かを把握することができる。
【００２６】
また、本発明の中継ノードにおいて、前記状態情報が、少なくとも通信セッションを識別するセッション識別情報、メッセージのフローを識別するフロー識別情報、前記第１のノードによって管理される、前記第１のノードと前記第２のノードとの間におけるメッセージを識別するためのシーケンス情報、前記自身と前記第１のノードとの間における距離を示す距離情報、前記自身におけるデータ通信経路の変更回数の情報、前記データ通信経路の変更前の他のデータ通信経路変更を検知した中継ノードと前記第１のノードにおける距離を示す距離情報及び前記変更前の前記他のデータ通信経路変更を検知した中継ノードにおけるデータ通信経路の変更回数の情報からなる経路変更情報を含むことは、本発明の好ましい態様である。この構成により、適切にメッセージを識別することができる。
【００２７】
また、本発明の中継ノードにおいて、前記ＱｏＳ予約メッセージに含まれる前記識別情報が、少なくとも通信セッションを識別するセッション識別情報、メッセージのフローを識別するフロー識別情報、前記第１のノードによって管理される、前記第１のノードと前記第２のノードとの間におけるメッセージを識別するためのシーケンス情報、前記自身と前記第１のノードにおける距離を示す距離情報、前記自身と前記第１のノードにおける距離を示す距離情報及び前記自身におけるデータ通信経路の変更回数の情報からなる経路変更情報を、前記自身の前記格納手段に格納された前記データ通信経路変更前における経路変更情報に付加したものを含むことは、本発明の好ましい態様である。この構成により、適切にメッセージを識別することができる。
【００２８】
また、本発明の中継ノードにおいて、前記距離情報がメッセージが転送されるごとに増加することは、本発明の好ましい態様である。この構成により、中継ノードの位置を把握することができる。
【００２９】
また、本発明の中継ノードにおいて、前記識別手段が、どちらのメッセージが最新であるかを識別する際、前記他の中継ノードから送信された前記ＱｏＳ予約メッセージに含まれる前記識別情報の前記シーケンス情報と前記格納手段の前記状態情報の前記シーケンス情報とに基づいて識別し、前記他の中継ノードから送信された前記ＱｏＳ予約メッセージに含まれる前記識別情報の前記シーケンス情報と前記格納手段の前記状態情報の前記シーケンス情報とが同じである場合、前記他の中継ノードから送信された前記ＱｏＳ予約メッセージに含まれる前記識別情報の前記経路変更情報と前記格納手段の前記状態情報の前記経路変更情報とに基づいて識別することは、本発明の好ましい態様である。この構成により、的確に最新のメッセージか否かを把握することができる。
【発明の効果】
【００３０】
本発明のメッセージ識別方法及びその方法で用いられる中継ノードは、上記構成を有し、ネットワークにおいてパス変更が起こった際に、新たなパスのリソースを予約するためのメッセージを的確に把握することができる。
【発明を実施するための最良の形態】
【００３１】
＜第１の実施の形態＞
以下、本発明の第１の実施の形態について図１から図６を用いて説明する。図１は本発明の第１の実施の形態における時刻Ｔ１での通信ネットワークの構成の一例を示す構成図である。図２は本発明の第１の実施の形態における時刻Ｔ２での通信ネットワークの構成の一例を示す構成図である。図３は本発明の第１の実施の形態における時刻Ｔ３での通信ネットワークの構成の一例を示す構成図である。図４は本発明の第１の実施の形態に係る中継ノードの構成の一例を示す構成図である。図５は本発明の第１の実施の形態における通信ネットワークでのRC_Node_Index_Stackを説明するための図である。図６は本発明の第１の実施の形態に係る中継ノード（ＱＮＥ）によるメッセージ処理ロジックの一例を示すフローチャートである。
【００３２】
以下の記述では説明のために特別な数、時間、構造及びパラメータを用いており、それらは本発明についての完全な理解のためのものである。しかしながら、本発明がこれらの特別な詳細なしで実行されることは当業者であれば明白である。
【００３３】
図１に示すように、ルート変更を行う通信ネットワークの構成の一例が示されている。シグナリングエンドホストである、ＱＮＩ（QoS aware Network signaling Initiator）１００は、他のエンドホストである、ＱＮＲ（QoS aware Network signaling Responder）１１２とデータ通信セッションにおけるシグナリングセッションを構築する。もし、パスカップルシグナリングスキーム、例えばＲＳＶＰ若しくはＮＳＩＳが利用されるのであれば、シグナリングパスはデータパスに沿って構築される。ＱＮＩ１００からのはじめのシグナリングパスは、ＱＮＥ（QoS aware Network Entity）１０２、ＱＮＥ１０４、ＱＮＥ１０６、ＱＮＥ１０８、ＱＮＥ１１０を通ってＱＮＲ１１２までの間で構成されている。シーケンスで通信に含まれるリンクは、リンク１００１、１００３、１００５、１００７、１００９、１０１１である。
【００３４】
通信セッション中、データパスは変更する。例えば、時刻Ｔ１において、ＱＮＥ１０２がルート変更をする。新たなパスは、リンク１００１を介するＱＮＩ１００からＱＮＥ１０２までのパス、リンク１０１３を介するＱＮＥ１０２からＱＮＥ１１４までのパス、リンク１０１５を介するＱＮＥ１１４からＱＮＥ１１６までのパス、リンク１０１７を介するＱＮＥ１１６からＱＮＥ１１０までのパス、リンク１０１１を介するＱＮＥ１１０からＱＮＥ１１２までのパスとなる。ある理由、例えばリンク１００３で輻輳若しくはネットワーク管理ポリシーによる決定などによってルート変更が起こることは当業者であれば自明である。したがって、ＱｏＳを維持するために新たなパス上のシグナリングは必要である。例えば、ＱＮＥ１０２は、新たなパス上に新たな状態をインストールするために新たなパス上にシグナリングメッセージ、例えばメッセージ１を送信する必要がある。このメッセージはパスに沿ってそれぞれＱＮＥによって処理され、新たなパスと古いパスのクロスオーバーノード（ＣＲＮ）であるＱＮＥ１１０に到達する。
【００３５】
ネットワーク事情が動的に変化し得るため、同じ通信セッション中でさらにデータパスに変化があり得る。さらに変化した例を図２に示す。時刻Ｔ２において、他のルート変更がＱＮＥ１１４で起こった。新たなパスはリンク１０１５からリンク２０１９にスイッチする。したがって、新たなエンドツーエンドパスはＱＮＩ１００、ＱＮＥ１０２、ＱＮＥ１１４、ＱＮＥ１１０、ＱＮＲ１１２を通るパスとなる。シーケンスに含まれるリンクはリンク１００１、１０１３、２０１９、１０１１となる。明らかなように、データパスにおけるこの変化は新たなパスを構築するためにＱＮＥ１１４からシグナリングを必要とする。ＱＮＥ１１４はＱＮＥ１１０に向けてシグナリングメッセージであるメッセージ２を送信する。このメッセージ２はＣＲＮであるＱＮＥ１１０に到達する。
【００３６】
同様に、上述した変化の後にネットワークでさらにルート変更があり得る。図３は考えられるルート変更の一例を示している。時刻Ｔ３において、ＱＮＥ１０２は他のルート変更を行う。データパスはリンク１０１３に代わってリンク３０２１にスイッチする。この場合、新たなデータパスはＱＮＩ１００、ＱＮＥ１０２、ＱＮＥ１１０、ＱＮＲ１１２を通るパスとなる。シーケンスに含まれるリンクはリンク１００１、３０２１、１０１１となる。したがって、ＱＮＥ１０２は新たなパスに向けて他のシグナリングメッセージを送信する。例えば、ＱＮＥ１０２はメッセージ３を送信し、メッセージ３は新たなＣＲＮであるＱＮＥ１１０に到達する。
【００３７】
上述したルート変更シナリオから、３つのシグナリングメッセージ、メッセージ１、メッセージ２、メッセージ３がルート変更の結果としてＱＮＥ１１０に向けて送信されることは明らかである。これらのメッセージはＱＮＥ１１０に順番が狂って到達するかもしれない。例えば、メッセージ３はメッセージ１よりＱＮＥの横断が少ないため、ＱＮＥ１１０へより早く到達し得る。したがって、適切な情報がＱＮＥ１１０に提示されなければならず、適切な情報が提示されればＱｏＳ状態は適切に処理される。
【００３８】
図４を参照して本発明の第１の実施の形態をサポートするＱＮＥの構成の一例を説明する。ＱＮＥ４００は５つの主要な要素から構成されており、その構成要素はＳＴＭ（Signaling Transport Module）４０１、ＳＡＭ（Signaling Application Module）４０３、ＲＣＬ（Receiving Control Logic）４０５、ＳＣＬ（Sending Control Logic）４０７、ＳＳＤ（Signaling State Database）４０９である。ＳＴＭ４０１は、シグナリングメッセージの転送に関するものである。ＮＳＩＳシステムの場合、これはＮＴＬＰ（NSIS Transport Layer Protocol）レイヤになる。ＳＡＭ４０３は、シグナリングメッセージのペイロードを処理するアプリケーションモジュールである。ＮＳＩＳシステムの場合、これはＱｏＳ  ＮＳＬＰ（NSIS Signaling Layer Protocol）レイヤになる。以下に続く記述では、ＮＳＩＳシステムが例として用いられる。しかしながら、本発明の第１の実施の形態は、制御のため同様な情報が利用可能である限り、他のタイプのシグナリングシステムでも動作することは当業者であれば自明である。
【００３９】
ＲＣＬ４０５は、受けたメッセージのシーケンスを識別するものである。ルート変更によって生じるメッセージがそれらの意義にしたがって処理され得ることを保証する。例えば、ＱＮＥ１１０のＲＣＬ４０５はメッセージ３によって状態が正確にインストールされることを保証する。そして、メッセージ２若しくはメッセージ１がメッセージ３より後に到達してもそれらは破棄される。ＳＣＬ４０７はメッセージに適当な情報を挿入するものであるため、受け手のＱＮＥ４００のＲＣＬ４０５は上述したように正確にメッセージを処理することができる。ＳＳＤ４０９は、シグナリング状態や必要なセッションやフローの情報について必要な情報すべてを格納するデータベースである。ＳＳＤ４０９は、処理されるメッセージに基づいてＲＣＬ４０５やＳＣＬ４０７によって更新される。
【００４０】
メッセージシーケンスの識別をＲＣＬ４０５で容易にするために、それぞれのＱＮＥ４００は通常のシグナリング状態以上の特別な情報を格納しなければならない。例えば、その情報は自身からシグナリングセッションのシグナリングイニシエーターまでの距離から構成され得る。そして、エンドツーエンドシーケンスはシグナリングセッションのシグナリングイニシエーターによって制御される。他の情報、例えばルート変更ノードインデックススタック（RC_Node_Index_Stack）も格納される。特別なＱＮＥとなるＱＮＩ１００が常に空のRC_Node_Index_Stackを持つことは当業者にとって自明である。
【００４１】
ＱＮＥ４００の実施例としては以下の格納された情報を使える。
【００４２】
ＱＮＥ＿ＳＴＡＴＥ：＝[Own_Node_Index]
[E2E_Seq]
[Node_Index_Stack]
【００４３】
ここで、Node_Index_Stackは[Node_Index]である。Own_Node_Indexはメッセージトランスポートレイヤからホップカウンターによって維持される。例えば、現在のＱＮＥ４００とＱＮＩ１００との間にどのくらいのＩＰホップがあるかを示す整数である。他のタイプの距離カウンターが用いられることは当業者であれば自明である。
【００４４】
E2E_SeqはＱＮＩ１００によって維持されるシーケンス番号であり、送信されるメッセージのそれぞれに含まれるものである。
【００４５】
Node_Index_Stackはルート変更を経験したシグナリングパス上のすべてのノードのOwn_Node_Indexを含む。
【００４６】
同時に、メッセージ自身は操作を助けるために更なる情報を含む必要がある。例えば、特別な情報はＱＮＩ１００によって管理されるエンドツーエンドのシーケンス番号、そして、ルート変更をしたシグナリングパス上のノードのNode_Indexのスタックを含む。
【００４７】
特別なメッセージ要素のデータ構造は以下に示すものである。
【００４８】
ＭＳＧ：＝[E2E_Seq]
[RC_Node_Index_Stack]
ここで、RC_Node_Index_Stack：＝[RC_Node_Index]
【００４９】
E2E_Seqは、メッセージを転送するＱＮＥ４００のＱＮＥ＿ＳＴＡＴＥからコピーされる。
【００５０】
RC_Node_Index_Stackは、メッセージを転送するＱＮＥ４００のＱＮＥ＿ＳＴＡＴＥのNode_Index_Stackからコピーされる。
【００５１】
ここで、RC_Node_Index_Stackについて図５を用いて説明する。図５に示すようなネットワークにおいて、例えばメッセージ「４」はE2E_Seq_Noが「１」でRC_Node_Index_Stackが「０、２、４」である。RC_Node_Index_Stackが「０、２、４」であるということは、ノード「０」からメッセージ「１」が送られてノード「２」で変更され、さらにノード「４（４Ｂ）」で更新されたことを意味する。なお、RC_Node_Index_Stackの最初の「０」は、最初にＱＮＩ（ノード「０」）から送られるのは当然なので省略してもよい。また、メッセージ「２」などで同じノードが複数回続けてルート変更する場合もあるため、同じ値が並ぶことを避けるために別途「ルート変更回数」を表す値を付してもよい。
【００５２】
ＱＮＥ４００によってメッセージを受け取ると、通常のシグナリングチェックが実行される。例えば、ＮＳＩＳの場合、セッションＩＤ及びフローＩＤがチェックされ、相当する状態情報がＱＮＥ４００に格納された状態情報から回収される。ＱＮＥ４００に格納された状態がなく、セッションＩＤ及びフローＩＤが関連付けられているとき、それはシグナリングパス上の新たなノードであることを意味する。ＱＮＥ＿ＳＴＡＴＥを含む新たな状態はそのノード上で生成され、メッセージからの情報がコピーされる。メッセージのセッションＩＤ及びフローＩＤがＱＮＥ４００のＳＳＤ４０９に格納されているものと同じ場合には、ＭＳＧはＱＮＥ４００のＱＮＥ＿ＳＴＡＴＥと対照してチェックされる。チェック演算の一例が以下の図６に示すフローチャートで述べられる。
【００５３】
MSGのE2E_Seq＞QNE_STATEのE2E_Seqか否か（ステップＳ６００１）の判断において、MSGのE2E_Seq＞QNE_STATEのE2E_Seqであるならば、ＱＮＥは格納されたパラメータのすべてをメッセージのパラメータに取り替える（ステップＳ６００３）。MSGのE2E_Seq＜QNE_STATEのE2E_Seqか否か（ステップＳ６００５）の判断において、MSGのE2E_Seq＜QNE_STATEのE2E_Seqであるならば、メッセージは破棄される（ステップＳ６００７）。一方、MSGのE2E_Seq＝QNE_STATEのE2E_Seqである場合、もし、MSGのRC_Node_Index_StackがQNE_STATEのNode_Index_Stackを含む若しくは等しいか否か（ステップＳ６００９）の判断において、含む若しくは等しいならば、ＱＮＥは格納されたパラメータのすべてをメッセージのパラメータに取り替える（ステップＳ６０１１）。もし、QNE_STATEのNode_Index_StackがMSGのRC_Node_Index_Stackを含むか否か（ステップＳ６０１３）の判断において、QNE_STATEのNode_Index_StackがMSGのRC_Node_Index_Stackを含むならば、メッセージは破棄される（ステップＳ６０１５）。一方、QNE_STATEのNode_Index_StackとMSGのRC_Node_Index_Stackとの間に包含関係がないならば、ＱＮＥはMSGのRC_Node_Index_Stackと異なり始めるQNE_STATEのNode_Index_Stackのエントリーを探し、QNE_STATEのNode_Index_Stack[n]がMSGのRC_Node_Index_Stack[n]に等しくならないようなｎにおいて、QNEのRC_Node_Index[n]＞MSGのRC_Node_Index[n]か否か（ステップＳ６０１７）の判断において、QNEのRC_Node_Index[n]＞MSGのRC_Node_Index[n]であればＱＮＥは格納されたパラメータのすべてをメッセージのパラメータに取り替える（ステップＳ６０１９）。もしそうでなければメッセージは破棄される（ステップＳ６０２１）。
【００５４】
演算の中で、「ＱＮＥは格納されたパラメータのすべてをメッセージのパラメータに取り替える」ということは、ＱＮＥ４００が状態管理、例えばQNE_STATEのNode_Index_Stackの代わりにMSGのRC_Node_Index_Stackを用い、QNE_STATEのE2E_SeqをMSGのE2E_Seqに更新し、メッセージに含まれるホップカウンターの情報を用いてQNE_STATEのOwn_Node_Indexを更新するだけでなく、通常のシグナリングアプリケーションにおいて受けたメッセージにその情報を利用することを意味する。
【００５５】
上述したロジックのステップにおいて、「含む」若しくは「等しい」の比較演算は、同じシーケンスにおいて、演算子のうしろのオペランドのすべてのエントリーが演算子の前のオペランドにあることを意味する。すなわち、QNE_STATEのNode_Index_StackがMSGのRC_Node_Index_Stackを含むとは、QNE_STATEのNode_Index_Stackの要素の数がｍ個、RC_Node_Indexの要素の数がｎ個（ｍ、ｎは自然数）で、かつｍ＞ｎであり、QNE_STATEのNode_Index_Stackの第１番目の値から第ｎ番目の値が、RC_Node_Indexの第１番目の値から第ｎ番目の値と完全一致することを言う。すなわち、例えばQNE_STATEのNode_Index_Stackが「１、２、４」で、MSGのRC_Node_Index_Stackが「１、２」であった場合、QNE_STATEのNode_Index_StackがMSGのRC_Node_Index_Stackを含むことになるが、例えばQNE_STATEのNode_Index_Stackが「１、１、２、４」で、MSGのRC_Node_Index_Stackが「１、２」であった場合、QNE_STATEのNode_Index_StackがMSGのRC_Node_Index_Stackを含むことにはならない。同様の定義を、MSGのRC_Node_Index_StackがQNE_STATEのNode_Index_Stackを含む場合にも適応する。実際の実施においても当業者にとって自明であり、「含む」若しくは「等しい」の比較は、２つのオペランド、例えばQNE_STATEのNode_Index_StackとMSGのRC_Node_Index_Stackの最初に不一致となるエントリーを識別する演算の一部である。
【００５６】
演算において、ＱＮＥ４００がシグナリングセッションにおけるルート変更に気づいたとき、自身のインデックス、例えばQNE_STATEのOwn_Node_IndexをQNE_STATEのNode_Index_Stackの一番上に追加する。例えば、ＱＮＥ４００はメッセージを送信若しくは転送しようとするときにルート変更を発見する。この場合、ＱＮＥ４００ははじめにQNE_STATEのNode_Index_Stackを更新する必要があり、メッセージを送信若しくは転送する前にMSGのRC_Node_Index_Stackにそれをコピーする。
【００５７】
＜第２の実施の形態＞
第１の実施の形態に対する他の解法を以下に示す。双方の解法は本発明の同じ原理のもとになされることは当業者にとって自明である。
【００５８】
ＲＣＬ４０５でのメッセージ処理判断を実行するために、例えばＮＳＩＳフロー識別子、セッション識別子などの通常のシグナリング制御要素の他に、いくつかの特別な情報要素を結合させる必要がある。ＮＳＩＳシステムで用いられるメッセージ要素の一例を以下に示す。
【００５９】
Ｍｅｓｓａｇｅ：＝[セッションID]
[フローＩＤ]
[E2E_Seq_No]
[ホップカウント]
[RC_Stack：＝[RC_Node_Index,RC_Counter]]
[付加的ＮＳＩＳデータ]
【００６０】
ここで、セッションＩＤとフローＩＤは通常のＮＳＩＳシグナリングメッセージで用いられるセッションＩＤ及びフローＩＤに相当するものである。これらは現在のメッセージに関する特別のセッション及びフローであることを示す。
【００６１】
E2E_Seq_NoはＱＮＩ１００によって管理されるエンドツーエンドのシーケンス番号である。ＱＮＩ１００はモビリティイベント、例えばモビリティの接続点の変化があると、このE2E_Seq_Noの値を増加させる。この値はＱＮＲ１１２に向かうシグナリングパスに沿って伝えられる。ＱＮＩ１００は頻繁にE2E_Seq_Noの変化を決定することができる。例えば、ＱＮＩ１００がＱｏＳ予約の現状を変えたいならば、新たなE2E_Seq_Noを有する新たなシグナリングメッセージをＱＮＲ１１２に向かうシグナリングパスに沿って送信する。ＱＮＩ１００が局所的なポリシーとしてE2E_Seq_Noを変更することは当業者にとって自明である。これは本発明の原理に影響を与えるものではない。後述するように、ＱＮＩ１００が新たなE2E_Seq_Noを送信するたびにE2E_Seq_Noの値を増加させると仮定する。これが必須でないことは当業者にとって自明である。E2E_Seq_Noの値は他の方法、例えば値を減らすなどで管理することもできる。この管理方法はそれぞれのＱＮＥが値で識別する限り、本発明の原理に影響を与えるものではない。例えば、ＱＮＲ１１２を含む、ＱＮＥ１０２からＱＮＥ１１６はＱＮＩ１００によって後に送信されたE2E_Seq_Noを識別することができる。
【００６２】
ホップカウンターは、メッセージを受けたＱＮＥ４００が現在のシグナリングパス上においてＱＮＩ１００からの距離を計算する際に用いられるものである。すなわち、メッセージはＱＮＥ４００までの距離の値を含む。後述するようにホップカウンターは、整数のフォーマットをとり、ホップするたびに加算される。これはよりわかりやすくするためのものである。実際の実施において、ホップカウンターは他のフォーマットを利用することができ、加算を本発明の原理に影響を与えない他の値にすることができるということは自明である。
【００６３】
メッセージの中のRC_Stackは合成要素である。それは「RC_Node_Index」と「RC_Counter」の２つのエントリーを含むことができる。RC_Stackの一例を図７に示す。図７に示すようなネットワークにおいて、例えばメッセージ「３」はE2E_Seq_Noが「４」でRC_Stackが[（２、１）]である。すなわち、これはメッセージ「３」がＱＮＩから２ホップしたところのノード「２」において経路変更を１回した経路上のメッセージであることを示している。そして、メッセージ「４」はノード「４Ｂ」において経路変更されたメッセージであり、RC_Stackは経路変更前のRC_Stack[（２、１）]にRC_Stack[（４、１）]が付加されたものとなる。なお、この例では、ＱＮＩから送られるメッセージを特別なものとして扱い、ＱＮＩの「RC_Node_Index」は「null」であり、ＱＮＩから送られたことを示す「RC_Node_Index」と「RC_Counter」は省略している。ＱＮＥ４００、例えばＱＮＥ１０２がルート変更を認識すると、RC_Stackの一番上にエントリーを挿入し、メッセージを送り出す。RC_Node_Indexの値は送信するＱＮＥ４００からＱＮＩ１００までの距離になる。RC_Counterはメッセージを送信するＱＮＥ４００でルート変更が何回くらい起きたかに関する局所的な管理された値である。例えば、上述した図１においては、時刻Ｔ１においてＱＮＥ１０２でRC_Node_Indexに１が与えられ、RC_Counterに１が与えられる。また、上述した図３においては、時刻Ｔ３においてRC_Node_Indexは１が与えられ、RC_Counterには２が与えられる。
【００６４】
ＱＮＩ１００によって送られたメッセージに関しては、常に特別なRC_Node_IndexとRC_Counterの値を有するべきである。ＱＮＩ１００での変更は、通常、フローＩＤ若しくは新たにE2E_Seq_Noを変える結果になるため、RC_Stackは必ずしもメッセージ処理において必要ではない。しかしながら、メッセージのフォーマットの整数性のため、RC_Node_Index：＝ＮＵＬＬ、RC_Counter：＝０の値を持つエントリーが用いられる。ここで、ＮＵＬＬとは距離を示すために通常のＱＮＥ４００によって用いられない値である。例えば、RC_Node_Indexに用いられるフォーマットであれば、１６ビットの整数の最大値になる。この値の使用がアルゴリズム記述の簡易化であることは誰にでも自明である。実際の実施においてはＱＮＥ４００によって認められた特別な値になる。
【００６５】
付加的ＮＳＩＳデータは、通常のＮＳＩＳメッセージの送信制御のためのヘッダー情報とＮＳＩＳシグナリングのためのペイロードを有する。ここでのＮＳＩＳの使用は解説のためであることは誰にでも自明である。他のタイプのシグナリングスキーム、例えばＲＳＶＰもここで用いられることができる。そのような場合、メッセージフォーマットに多少の修正、例えばフローＩＤを取り除くなどは必要である。しかしながら、これは本発明の原理に影響を与えるものではない。
【００６６】
ＱＮＥ４００がＳＴＭ４０１を通してメッセージを受け取ると、インターフェース４００１を通してＲＣＬ４０５に引き渡す。ＮＳＩＳの場合、これは他のノードから受けたＮＳＩＳメッセージを引き渡すＮＴＬＰレイヤであり、決定の後ＱｏＳ  ＮＳＬＰメッセージになり、ＱｏＳ  ＮＳＬＰレイヤ、例えばＳＡＭ４０３に向けてＡＰＩを通じて、セッションＩＤ、フローＩＤなどと一緒に引き渡す。ＲＣＬ４０５はＱｏＳ  ＮＳＬＰが処理をする前にメッセージを取得する。そして、メッセージがインターフェース４００３を通じてＳＡＭ４０３に転送されるべきか若しくは破棄すべきか決定する。
【００６７】
メッセージが新しいと判断され処理されるとき、ＲＣＬ４０５はＳＡＭ４０３に向けてメッセージを引き渡す。そして、同時にＱＮＥ４００上で状態を生成する。その状態はインターフェース４０１０を通じてＳＳＤ４０９に他のシグナリングアプリケーション状態と一緒に格納される。状態はＱＮＥ４００が後に受けたメッセージの新しさを識別するために役立つ。状態保管のために用いられる、考えられるフォーマットの一例を以下に示す。
【００６８】
ＱＮＥ  Ｓｔａｔｅ：＝[セッションＩＤ]
[フローＩＤ]
[E2E_Seq_No]
[Own_Node_Index]
[Local_RC_Counter]
[RC_Stack：＝[RC_Node_Index,RC_Counter]]
【００６９】
ここで、セッションＩＤとフローＩＤはセッションとフローを示すために用いられる識別子である。これはシグナリングメッセージの中で用いられるものと同じフォーマットである。ＮＳＩＳの場合、これらはセッションＩＤとフローＩＤになる。
【００７０】
E2E_Seq_Noはシグナリングメッセージのものと同じフォーマットである。ＲＣＬ４０５からＳＡＭ４０３に引き渡される最後の最も新しいメッセージが有するE2E_Seq_Noの値を格納する。
【００７１】
Own_Node_Indexは、ＱＮＩ１００までの現在のＱＮＥ４００の距離を格納するために用いられる。ＲＣＬ４０５からＳＡＭ４０３へ引き渡される最後の最も新しいメッセージのホップカウンターを通じて得られる。例えば、最も簡単な場合では、ホップカウンターに１を加えることにより得られる。
【００７２】
Local_RC_Counterは、現在のＱＮＥ４００で起こったルート変更の数を示す値である。ルート変更が検知される、例えば同じフローのメッセージが異なるシグナリングのペアに流れると、ＳＣＬ４０７によって更新される。この値は、E2E_Seq_Noが受けたシグナリングメッセージによって更新されるときＲＣＬ４０５によってリセットされる値である。
【００７３】
RC_Stackは、シグナリングメッセージのフォーマットと同じである。ＲＣＬ４０５からＳＡＭ４０３へ引き渡される最後の最も新しいメッセージから得られる。
【００７４】
リスト化された情報だけでなく、ＳＳＤ４０９は通常のシグナリング動作における他の情報も格納する。例えば、ＮＳＩＳの場合、前のホップペア（前のホップノード）の識別情報と次のホップペア（次のホップノード）の識別情報が同じセッションＩＤ及びフローＩＤで関連付けられてＳＳＤ４０９に格納される。これはＱＮＥ４００がルートの中に変更があるか否かを決定するのに役立つ。他のシグナリングスキームがペア関係を監視し管理する異なった方法を使うことは自明である。このペアの関係が正確に識別できる限り、本発明は大きな変更がなく動く。
【００７５】
図８を参照してＲＣＬで用いられるメッセージ処理ロジックの一例を説明する。理解を簡単にするために、ＳＴＭ４０１がインターフェース４００１を通じてＲＣＬ４０５に向けて、受けたメッセージＭＳＧを引き渡すと仮定する。メッセージを送るペアのＱＮＥの識別子のような情報が引き渡される。ＭＳＧは以下のような要素を含むと仮定する。
【００７６】
ＭＳＧ：＝｛セッションＩＤ、フローＩＤ、E2E_Seq_No、ホップカウンター、RC_Stack[m]：＝｛（RC_Node_Index、RC_Counter）・・・｝、付加的ＮＳＩＳデータ｝
【００７７】
ここで、ｍはメッセージ例のＭＳＧのRC_Stackにどのくらいのエントリーが存在するかを示す０でない整数である。
【００７８】
ＳＳＤ４０９は特別なセッションＩＤ及びフローＩＤに関する状態を格納していると仮定する。
【００７９】
ＱＮＥ  ＳＴＡＴＥデータ（ＱＳＤ）：＝｛セッションＩＤ、フローＩＤ、E2E_Seq_No、Own_Node_Index、Local_RC_Counter、RC_Stack[k]：＝｛（RC_Node_Index、RC_Counter）・・・｝｝
【００８０】
ここで、ｋはＱＳＤのRC_Stackにどのくらいのエントリーが存在しているかを示す０でない整数である。
【００８１】
図８に示すように、ＲＣＬ４０５がメッセージを受ける（ステップＳ８００１）と、ＭＳＧのセッションＩＤとフローＩＤのような値がＳＳＤ４０９にあるか否かをチェックする（ステップＳ８００３）。相当するＱＳＤのセッションＩＤとフローＩＤがＱＳＤにあるのであれば、ＲＣＬ４０５はＭＳＧとＱＳＤのE2E_Seq_Noを比較する（ステップＳ８００５）。ＱＳＤのE2E_Seq_NoがＭＳＧのE2E_Seq_Noよりも大きい値を含む場合、メッセージは古いと判断される。したがって、メッセージは破棄される（ステップＳ８０１５）。そして、ＳＡＭ４０３に引き渡されない。そうでなければ、ＲＣＬ４０５はＱＳＤのE2E_Seq_NoがＭＳＧのE2E_Seq_Noよりも小さいか否かをチェックし（ステップＳ８００７）、小さければメッセージがより新しいことを示す。もし、それが真実であればメッセージは処理される。ＲＣＬ４０５はＭＳＧのE2E_Seq_NoをセットすることによりＱＳＤのE2E_Seq_Noを更新する（ステップＳ８０１７）。そして、ＲＣＬ４０５はＱＳＤのLocal_RC_Counterをゼロにセットする（ステップＳ８０１９）。そのとき、ＲＣＬ４０５はＭＳＧのRC_StackをＱＳＤのRC_Stackに格納する（ステップＳ８０２１）。また、ＲＣＬ４０５は、ＭＳＧのホップカウンターに１を加え、ＱＳＤのOwn_Node_IndexにそれをセットすることによってＱＮＥ４００の距離の値を更新する（ステップＳ８０２３）。この後、ＭＳＧとそのペイロードはインターフェース４００３を通じてＲＣＬ４０５によってＳＡＭ４０３に引き渡される（ステップＳ８０２５）。
【００８２】
ステップＳ８００７において、ＲＣＬ４０５がＱＳＤのE2E_Seq_NoがＭＳＧのE2E_Seq_Noより小さくないと判断した場合、すなわちそれらは同じ値であることを意味する。したがって、ＲＣＬ４０５は、ＭＳＧが同じセッションＩＤ及びフローＩＤの以前のメッセージのように同じペアのＱＮＥから受けたものか否かをチェックする（ステップＳ８００９）。ＮＳＩＳシステムの場合、これはＮＴＬＰレイヤによって引き渡され格納されたペアの識別子を比較することによってなされる。他のシステムでは異なる方法が利用される。ＭＳＧが同じペアから来たものである場合、それは現在のＱＮＥがＣＲＮでないことを意味する。それはＭＳＧから情報を安全にコピーすることができる。したがって、ＲＣＬ４０５は図８に示すようにステップＳ８０２１に進む。
【００８３】
ステップＳ８００９において、ＲＣＬ４０５がＭＳＧが異なるペアのＱＮＥから来たと判断した場合、それはこのノードがＣＲＮであることを意味する。したがって、ＲＣＬ４０５はＭＳＧのRC_StackとＱＳＤのRC_Stackを比較する必要がある（ステップＳ８０１１）。そして、ＭＳＧがＱＳＤのRC_Stackと比べ、より新しい若しくは同じRC_Stackを有するか否かを見る（ステップＳ８０１３）。もし、ＭＳＧとＱＳＤのRC_Stackが同じならば、ＲＣＬ４０５はＭＳＧが新しい若しくは更新されたメッセージであると推測できる。そして、処理のためにＳＡＭ４０３に引き渡す。したがって、ＲＣＬ４０５は図８に示すようにステップＳ８０２１に進む。
【００８４】
ステップＳ８０１３において、ＲＣＬ４０５がＭＳＧが古いRC_Stackを有していると判断した場合、ＭＳＧを破棄する（ステップＳ８０１５）。
【００８５】
ステップＳ８００３において、ＲＣＬ４０５がセッションが新たなものである、例えばＳＳＤ４０９に相当するセッションＩＤ及びフローＩＤを有するＱＳＤが存在しないと判断した場合、ＱＳＤを生成する（ステップＳ８０１６）。そして、ステップＳ８０１７に進むことによってＱＳＤのすべての状態を更新する。この場合、ＭＳＧは新たなもので処理するためにＳＡＭ４０３に引き渡される。
【００８６】
図９を参照して、ＭＳＧのRC_StackがＱＳＤのものよりも新しいか否かを決定するためのＲＣＬで用いられる考えられるロジックの一例について説明する。ここで、ＭＳＧとＱＳＤのRC_Stackは配列されたフォーマットになっており、はじめのエントリーはRC_Stack[０]として示す。本発明の原理に影響を与えない限り他のフォーマットであってもよい。例えば、インデックスは固定された数で始まり下方へ進むようにすることができる。
【００８７】
まず、ＲＣＬ４０５はＭＳＧのRC_StackのはじめのエントリーとＱＳＤのRC_Stackのはじめのエントリーを取得しようと起動する（ステップＳ９００１）。これはカウンターをｉ＝０にセットする（ステップＳ９００３）ことによってなされる。ＲＣＬ４０５はＭＳＧのRC_Stack[i]のRC_Node_IndexがＱＳＤのRC_Stack[i]のRC_Node_Indexよりも大きいか否かを比較する（ステップＳ９００５）。大きい場合には、ＭＳＧは古いRC_Stackを有していることになり、ＲＣＬ４０５は図８に示すステップＳ８０１３の「ＮＯ」に進む。一方、小さい場合にはＲＣＬ４０５はＭＳＧのRC_Stack[i]のRC_Node_IndexがＱＳＤのRC_Stack[i]のRC_Node_Indexよりも小さいか否かを比較する（ステップＳ９００７）。小さい場合にはＭＳＧがより新しいRC_Stack[i]を有していることを意味し、ＲＣＬ４０５は図８に示すステップＳ８０１３の「ＹＥＳ」に進む(ステップＳ９０２１)。
【００８８】
ステップＳ９００７の比較結果において、小さくない場合にはＲＣＬ４０５はＭＳＧのRC_Stack[i]のRC_CounterがＱＳＤのRC_Stack[i]のRC_Conuterよりも大きいか否かをチェックする（ステップＳ９００９）。そして大きければ、これはＭＳＧがより新しいRC_Stackを有していることを意味する。大きい場合にはＲＣＬ４０５はステップＳ９０２１に進み、図８に示すステップＳ８０１３の「ＹＥＳ」に進む。
【００８９】
ステップＳ９００９において小さいと判断された場合、ＲＣＬ４０５はＭＳＧのRC_Stack[i]のRC_CounterがＱＳＤのRC_Stack[i]のRC_Counterより小さいか否かをチェックする（ステップＳ９０１１）。そして小さければ、これはＭＳＧがより古いRC_Stackを有していることを意味する。小さい場合にはＲＣＬ４０５はステップＳ９０１９に進み、図８に示すステップＳ８０１３の「ＮＯ」に進む。
【００９０】
一方、小さくない場合にはＲＣＬ４０５はＭＳＧのRC_Stackの次のエントリーが空（無い）か否かをチェックする（ステップＳ９０１３）。空の場合、それはＭＳＧのRC_Stack[i+1]＝nullを意味し、ＲＣＬ４０５はさらにＱＳＤのRC_Stackの次のエントリーが空（無い）か否かをチェックする（ステップＳ９０１５）。空の場合、それはＱＳＤのRC_Stack[i+1]＝nullを意味する。それはＭＳＧとＱＳＤが同じRC_Stackを有することを示している。ＲＣＬ４０５は図８に示すステップＳ８０１３の「ＹＥＳ」に進む（ステップＳ９０１７）。
【００９１】
ステップＳ９０１５において、ＱＳＤのRC_Stackの次のエントリーがある場合、これはＱＳＤのRC_Stack[i+1]＝nullではないことを意味する。それはＭＳＧがより古いRC_Stackを有していることを意味する。したがって、ＲＣＬ４０５はステップＳ９０１９に進み、図８に示すステップＳ８０１３の「ＮＯ」に進む。
【００９２】
ステップＳ９０１３において、ＭＳＧのRC_Stackの次のエントリーがある、すなわちＭＳＧのRC_Stack[i+1]＝nullではない場合、ＲＣＬ４０５はさらにＱＳＤのRC_Stackの次のエントリーが空（無い）か否かをチェックする（ステップＳ９０２３）。ＱＳＤのRC_Stackの次のエントリーが空である場合、それはＭＳＧがより新しいRC_Stackを有していることを意味する。したがって、ＲＣＬ４０５は図８に示すステップＳ８０１３の「ＹＥＳ」に進む。しかし、ステップＳ９０２３において、ＱＳＤのRC_Stackの次のエントリーがある、すなわちＱＳＤのRC_Stack[i+1]＝nullではない場合、ＲＣＬ４０５はＭＳＧのRC_StackとＱＳＤのRC_Stackの双方から新たなエントリーを抽出することによって比較を続ける。これはｉに１を加えることによってなされる（ステップＳ９０２５）。この後、ＲＣＬ４０５はステップＳ９００５に進み、比較ステップを繰り返す。この比較プロセスはＭＳＧのRC_StackとＱＳＤのRC_Stackの一方若しくは双方が尽きるまで行われる。
【００９３】
ＳＡＭ４０３がメッセージを処理した後、そのメッセージを転送するかさらにＱＮＲ１１２に向けて新たなメッセージを送るかを決定する。これはＳＡＭ４０３がインターフェース４００５を通じてＳＣＬ４０７にメッセージを送信するよう指示する。ＳＣＬ４０７はメッセージに埋め込むための必要な情報を生成することを担う。例えば、ＱＮＥ１０２とＱＮＥ１１４のＳＣＬ４０７はルート変更を示すためのメッセージに情報を挿入する。適当な情報が挿入されるとき、ＳＣＬ４０７はＳＴＭ４０１、例えばＮＳＩＳシステムの場合のＮＴＬＰレイヤにメッセージを転送させる。
【００９４】
図１０を参照してメッセージへの情報を管理するＳＣＬ４０７によって用いられる、考えられるロジックの一例について説明する。このロジックはすべてのＱＮＥ、例えばＱＮＩ１００を除き、ＱＮＲ１１２を含むＱＮＥ１０２からＱＮＥ１１６のＳＣＬ４０７によって用いられる。ＳＣＬ４０７がＳＡＭ４０３からメッセージとしてＭＳＧを受けたとき（ステップＳ１０００１）、これが新たなセッションであるか否かをチェックする（ステップＳ１０００３）。例えばＳＳＤ４０９に存在するセッションＩＤとフローＩＤを有するあるＱＳＤがシグナリングパス上の次のホップペアに送信したメッセージの記録があるか否かをチェックする。新たなセッションでなければＳＣＬ４０７はそのメッセージが同じペアに対してのものであるか否かをチェックする（ステップＳ１０００５）。ＮＳＩＳの場合、これは同じペアの識別子によって識別される。メッセージが異なるペアに送信されるならば、これはこのＱＮＥでルート変更が起こったことを意味し、したがってＳＣＬ４０７はＱＳＤのLocal_RC_Counterを増加させる（ステップＳ１０００７）。この後、ＳＣＬ４０７はＱＮＩ１００への距離値にＭＳＧのホップカウンターをセットする。例えば、ＱＳＤのOwn_Node_Indexをセットする（ステップＳ１０００９）。ＳＣＬ４０７はＭＳＧのRC_Stack＝ＱＳＤのRC_Stackとすることによって格納されたRC_Stackをメッセージのものと取って代える（ステップＳ１００１１）。
【００９５】
この後、ＳＣＬ４０７はＱＳＤのLocal_RC_Counterが０よりも大きいか否かをチェックする（ステップＳ１００１３）。０より大きい場合、すなわちＱＮＥがルート変更をしたことがある場合、ＳＣＬ４０７はまずＭＳＧのRC_Stackの中のRC_Node_Index＝nullというエントリーを消去する（ステップＳ１００１５）。ＳＣＬ４０７はＱＳＤのOwn_Node_Index及びRC_Counterを、ＭＳＧのRC_Stackの一番上にRC_Node_Index及びRC_Counterとして挿入する（ステップＳ１００１７）。この後、ＭＳＧはＳＴＭ４０１に引き渡され、次のホップペアに送信される。
【００９６】
ステップＳ１０００３において、ＳＣＬ４０７はＭＳＧが新たなセッションである、例えばシグナリングパス上で次のホップペアに送信したことのないメッセージであると判断した場合、ステップＳ１０００９に進み、ＭＳＧの中身を更新する。
【００９７】
ステップＳ１０００５において、ＳＣＬ４０７は次のホップペアが以前に送信した同じセッションＩＤ及びフローＩＤのメッセージを受けると判断すれば、ステップＳ１０００９に進み、ＭＳＧの中身を更新する。
【００９８】
ステップＳ１００１３において、ＳＣＬ４０７がＱＳＤのLocal_RC_Counterが０より大きくない場合、すなわちこのＱＮＥでルート変更が起こっていない場合、直接ステップＳ１００１９に進む。
【００９９】
上述したように、図１０に示すロジックはＱＮＩ１００にとって適切ではない。ＱＮＩ１００にとって、すべてのチェックをする必要はない。ＱＮＩ１００がメッセージを送信する必要があるとき、常にＭＳＧのE2E_Seq_No、ＭＳＧのホップカウンター＝０、ＭＳＧのRC_Stack＝｛null、０｝をセットする。
【０１００】
図１を参照して時刻Ｔ１以前、ＱＮＥ１０２が以下の値のＱＳＤを有している。それは、ＱＳＤ[ＱＮＥ１０２]＝｛セッションＩＤ、フローＩＤ、E2E_Seq_No、１、０、[null、０]｝である。
【０１０１】
時刻Ｔ１において、ＱＳＤの値が、ＱＳＤ[ＱＮＥ１０２]＝｛セッションＩＤ、フローＩＤ、E2E_Seq_No、１、１、[null、０]｝と変化した。したがって、メッセージ１は、メッセージ１＝｛セッションＩＤ、フローＩＤ、E2E_Seq_No、１、１、付加的ＮＳＩＳデータ｝という値を有する。
【０１０２】
したがって、ＱＮＥ１１４でのＱＳＤは以下のように更新される。すなわち、ＱＳＤ[ＱＮＥ１１４]＝｛セッションＩＤ、フローＩＤ、E2E_Seq_No、２、０、[１、１]｝のように更新される。
【０１０３】
図２を参照して時刻Ｔ２でＱＮＥ１１４でルート変更が起こったとき、ＱＳＤの値は、ＱＳＤ[ＱＮＥ１１４]＝｛セッションＩＤ、フローＩＤ、E2E_Seq_No、２、１、[１、１]｝と変化する。したがって、メッセージ２は、メッセージ２＝｛セッションＩＤ、フローＩＤ、E2E_Seq_No、２、｛[１、１]、[２、１]｝、付加的ＮＳＩＳデータ｝という値を有する。
【０１０４】
図３を参照して時刻Ｔ３でＱＮＥ１０２で再びルート変更が起こったとき、ＱＳＤ[ＱＮＥ１１２]＝｛セッションＩＤ、フローＩＤ、E2E_Seq_No、１、２、[null、０]｝と変化する。この場合、メッセージ３は、メッセージ３＝｛セッションＩＤ、フローＩＤ、E2E_Seq_No、１、[１、２]、付加的ＮＳＩＳデータ｝という値を有する。
【０１０５】
図８から図１０を参照して順番にかかわらずメッセージはＣＲＮ、ＱＮＥ１１０に到達することは明らかであり、それらの順番は正確に識別される。
【０１０６】
＜第３の実施の形態＞
上述したように、用いられたメッセージのフォーマットは説明のためである。実際の実施では、メッセージとＱＳＤのフォーマットは単純化される。例えば、ＱＮＩ１００は、シグナリングメッセージ、例えばE2E_Seq_Noに用いられるシーケンス番号を維持するためにLocal_RC_Counterを用いることができる。この場合、ＱＮＩ１００のLocal_RC_Counterはルート変更に影響ない。その代わり、シグナリングメッセージに用いようとするシーケンス番号に影響がある。したがって、メッセージは以下のようなフォーマットになる。
【０１０７】
Ｍｅｓｓａｇｅ：＝[セッションＩＤ]
[フローＩＤ]
[ホップカウンター]
[RC_Stack：＝[０、QNI.Local_RC_Counter]、[RC_Node_Index,RC_Counter]
[付加的ＮＳＩＳデータ]
【０１０８】
この場合、ＱＮＩ１００は常にRC_Stackエントリーの[０、QNI.Local_RC_Counter]を有するメッセージを送信することは明らかである。ここで、QNI.Local_RC_Counterは、第２の実施の形態で述べたE2E_Seq_Noと同じである。
【０１０９】
この変化によりＱＳＤのフォーマットも変化する。例えば、E2E_Seq_Noの要素が取り除かれる。
【０１１０】
上述したバリエーションはＲＣＬ４０５やＳＣＬ４０７で用いられるロジックに影響を与えないことは自明である。したがって、図８から図１０で示したロジックも当てはめられ、E2E_Seq_NoをRC_Stack[0].RC_Counterに変えるだけである。
【０１１１】
＜第４の実施の形態＞
図９で示したロジックはRC_Stackを比較する方法のみを示している。そのロジックはシーケンスの中でいくつかの方針がある。ＱＮＩ１００により近いＱＮＥでルート変更が生じたメッセージを選択する。同じＱＮＥで、より後のルート変更により生じたメッセージ、例えばより大きいRC_Counterで選択する。上の２つが同じとき、パス上でより多くのルート変更ノードを有するメッセージを選択する。実際の実施において、上述した方針は本発明の原理に影響を与えることなく他の最適な仕方を有する。
【０１１２】
＜第５の実施の形態＞
本発明において、ＱＮＥはシグナリングメッセージに埋め込まれたホップカウンターを通してＱＮＩ１００からの距離を得ている。ＱＮＥはその情報を得るために他の方法を用いることができる。例えば、ＱＮＥは地理的な情報や距離を計算するためのネットワークトポロジーなどを用いる。また、ＱＮＥが距離についてあらかじめ情報を有していてもよい。これらのことが本発明の原理に影響を与えないことは自明である。
【０１１３】
なお、上記各実施の形態の説明に用いた各機能ブロックは、典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部又はすべてを含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えばバイオ技術の適応などが可能性としてあり得る。
【産業上の利用可能性】
【０１１４】
本発明に係るメッセージ識別方法及びその方法で用いられる中継ノードは、ネットワークにおいてパス変更が起こった際に、新たなパスのリソースを予約するためのメッセージを的確に把握することができるため、データ通信経路の変更に伴って送信される所定のメッセージを識別するメッセージ識別方法及びその方法で用いられる中継ノードなどに有用である。
【図面の簡単な説明】
【０１１５】
【図１】本発明の第１の実施の形態における通信ネットワークの構成の一例を示す構成図
【図２】本発明の第１の実施の形態における時刻Ｔ２での通信ネットワークの構成の一例を示す構成図
【図３】本発明の第１の実施の形態における時刻Ｔ３での通信ネットワークの構成の一例を示す構成図
【図４】本発明の第１の実施の形態に係る中継ノードの構成の一例を示す構成図
【図５】本発明の第１の実施の形態における通信ネットワークでのRC_Node_Index_Stackを説明するための図
【図６】本発明の第１の実施の形態に係る中継ノード（ＱＮＥ）によるメッセージ処理ロジックの一例を示すフローチャート
【図７】本発明の第２の実施の形態における通信ネットワークでのRC_Stackを説明するための図
【図８】本発明の第２の実施の形態に係る中継ノード（ＱＮＥ）のＲＣＬでのメッセージ処理ロジックの一例を示すフローチャート
【図９】本発明の第２の実施の形態に係る中継ノード（ＱＮＥ）のＲＣＬでのＭＳＧのRC_StackがＱＳＤのものよりも新しいか否かを決定する処理ロジックの一例を示すフローチャート
【図１０】本発明の第２の実施の形態に係る中継ノード（ＱＮＥ）のＳＣＬでの処理ロジックの一例を示すフローチャート
【図１】
2009531875.tif 000003
【図２】
2009531875.tif 000004
【図３】
2009531875.tif 000005
【図４】
2009531875.tif 000006
【図５】
2009531875.tif 000007
【図６】
2009531875.tif 000008
【図７】
2009531875.tif 000009
【図８】
2009531875.tif 000010
【図９】
2009531875.tif 000011
【図１０】
2009531875.tif 000012
【国際調査報告】
2009531875.tif 000013
2009531875.tif 000014