(57)【要約】      （修正有）【課題】ネットワークにおける伝送効率を高めやすくする。【解決手段】通信装置は、送信元装置と送信先装置とのデータの通信経路に含まれる通信装置であって、通信経路において要求される帯域幅が含まれる第１メッセージを受信する受信部と、通信経路上、次のデータ転送先となる別の通信装置または送信先装置とのリンクにおける許容帯域幅が、要求される帯域幅に満たない場合に、許容帯域幅を含む第２メッセージを生成する生成部と、第２メッセージを、第１メッセージの送信元へ向けて返信する送信部とを有する。【選択図】図２７
2017041860.tif 000002
【特許請求の範囲】
【請求項１】
送信元装置と送信先装置とのデータの通信経路に含まれる通信装置であって、
前記通信経路において要求される帯域幅が含まれる第１メッセージを受信する受信部と、
前記通信経路上、次のデータ転送先となる別の通信装置または前記送信先装置とのリンクにおける許容帯域幅が、前記要求される帯域幅に満たない場合に、前記許容帯域幅を含む第２メッセージを生成する生成部と、
前記第２メッセージを、前記第１メッセージの送信元へ向けて返信する送信部と
を有する通信装置。
【請求項２】
更に、
前記許容帯域幅が前記要求される帯域幅を満たす場合に、前記第１メッセージに含まれる識別子に従って、前記要求される帯域幅の予約を省く予約部
を有する請求項１記載の通信装置。
【請求項３】
同一の送信先装置へ至る複数の通信経路に対して、それぞれ要求する帯域幅を含む要求メッセージを送信する送信部と、
前記要求する帯域幅より小さい許容帯域幅を含むエラーメッセージを受信した場合に、改めて要求する帯域幅として前記許容帯域幅の値を含む要求メッセージを再生成する生成部と
を有し、
前記送信部は、再生成した前記要求メッセージを同じ通信経路に対して送信し、
更に、
前記複数の通信経路の各々について、要求した帯域幅が許容される旨の応答メッセージを受信した場合に、前記複数の通信経路の各々において許容された前記帯域幅に基づくトラフィックの分配を指示する指示部
を有する通信装置。
【請求項４】
送信元装置と送信先装置とのデータの通信経路において要求される帯域幅が含まれる第１メッセージを受信し、
前記通信経路上、次のデータ転送先となる別の通信装置または前記送信先装置とのリンクにおける許容帯域幅が、前記要求される帯域幅に満たない場合に、前記許容帯域幅を含む第２メッセージを生成し、
前記第２メッセージを、前記第１メッセージの送信元へ向けて返信する
処理を含み、コンピュータにより実行される通信方法。
【請求項５】
同一の送信先装置へ至る複数の通信経路に対して、それぞれ要求する帯域幅を含む要求メッセージを送信し、
前記要求する帯域幅より小さい許容帯域幅を含むエラーメッセージを受信した場合に、改めて要求する帯域幅として前記許容帯域幅の値を含む要求メッセージを再生成し、
再生成した前記要求メッセージを同じ通信経路に対して送信し、
前記複数の通信経路の各々について、要求した帯域幅が許容される旨の応答メッセージを受信した場合に、前記複数の通信経路の各々において許容された前記帯域幅に基づくトラフィックの分配を指示する
処理を含み、コンピュータにより実行される通信方法。
【請求項６】
送信元装置と送信先装置とのデータの通信経路において要求される帯域幅が含まれる第１メッセージを受信し、
前記通信経路上、次のデータ転送先となる別の通信装置または前記送信先装置とのリンクにおける許容帯域幅が、前記要求される帯域幅に満たない場合に、前記許容帯域幅を含む第２メッセージを生成し、
前記第２メッセージを、前記第１メッセージの送信元へ向けて返信する
処理をコンピュータに実行させるプログラム。
【請求項７】
同一の送信先装置へ至る複数の通信経路に対して、それぞれ要求する帯域幅を含む要求メッセージを送信し、
前記要求する帯域幅より小さい許容帯域幅を含むエラーメッセージを受信した場合に、改めて要求する帯域幅として前記許容帯域幅の値を含む要求メッセージを再生成し、
再生成した前記要求メッセージを同じ通信経路に対して送信し、
前記複数の通信経路の各々について、要求した帯域幅が許容される旨の応答メッセージを受信した場合に、前記複数の通信経路の各々において許容された前記帯域幅に基づくトラフィックの分配を指示する
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにおけるトラフィックを制御する技術に関する。
【背景技術】
【０００２】
大規模なネットワークにおいては、各ネットワーク機器が物理的及び論理的に冗長化されており、複数の経路が存在する。そして、ルーティングプロトコルによって最適な経路が選択されるようになっている。
【０００３】
そして、複数の経路が存在する場合に、それらの経路を使用してトラフィックを分散させて通信を行うこともある。
【０００４】
但し、経路に割り当てるトラフィックが小さ過ぎると、当該経路における伝送能力を生かしきれない。一方、経路に割り当てるトラフィックが大き過ぎると、当該経路中の一部のリンクにおいて帯域不足によるパケットロスが発生することがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−７７２３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、一側面では、ネットワークにおける伝送効率を高めやすくすることである。
【課題を解決するための手段】
【０００７】
一態様の通信装置は、送信元装置と送信先装置とのデータの通信経路に含まれる通信装置であって、（Ａ）通信経路において要求される帯域幅が含まれる第１メッセージを受信する受信部と、（Ｂ）通信経路上、次のデータ転送先となる別の通信装置または送信先装置とのリンクにおける許容帯域幅が、要求される帯域幅に満たない場合に、許容帯域幅を含む第２メッセージを生成する生成部と、（Ｃ）第２メッセージを、第１メッセージの送信元へ向けて返信する送信部とを有する。
【０００８】
一態様の通信装置は、（Ａ）同一の送信先装置へ至る複数の通信経路に対して、それぞれ要求する帯域幅を含む要求メッセージを送信する送信部と、（Ｂ）要求する帯域幅より小さい許容帯域幅を含むエラーメッセージを受信した場合に、改めて要求する帯域幅として許容帯域幅の値を含む要求メッセージを再生成する生成部とを有し、（Ｃ）上記送信部は、再生成した要求メッセージを同じ通信経路に対して送信し、更に、（Ｄ）複数の通信経路の各々について、要求した帯域幅が許容される旨の応答メッセージを受信した場合に、複数の通信経路の各々において許容された帯域幅に基づくトラフィックの分配を指示する指示部を有する。
【発明の効果】
【０００９】
一側面としては、ネットワークにおける伝送効率を高めやすくなる。
【図面の簡単な説明】
【００１０】
【図１】図１は、ＯＳＰＦ（Open Shortest Path First）の動作を説明するための図である。
【図２】図２は、ＥＣＭＰ（Equal Cost Multi Path）の動作を説明するための図である。
【図３】図３は、ＰＡＴＨメッセージによる動作を説明するための図である。
【図４】図４は、ＲＳＶＰ（Resource reSerVation Protocol）で用いられるメッセージの構成を示す図である。
【図５】図５は、ＲＥＳＶメッセージによる動作を説明するための図である。
【図６】図６は、ＰａｔｈＥｒｒメッセージによる動作を説明するための図である。
【図７】図７は、ＰａｔｈＴｅａｒメッセージによる動作を説明するための図である。
【図８】図８は、パケットロスが発生する例を示す図である。
【図９】図９は、ＥＣＭＰ経路を検出する動作を示す図である。
【図１０】図１０は、１回目のＰＡＴＨメッセージが送出される様子を示す図である。
【図１１】図１１は、第１経路におけるＲＥＳＶメッセージが返信される様子を示す図である。
【図１２】図１２は、ルーティングテーブルを更新する様子を示す図である。
【図１３】図１３は、１回目のＰａｔｈＥｒｒメッセージが返信される様子を示す図である。
【図１４】図１４は、２回目のＰＡＴＨメッセージが送信される様子を示す図である。
【図１５】図１５は、２回目のＰａｔｈＥｒｒメッセージが返信される様子を示す図である。
【図１６】図１６は、３回目のＰＡＴＨメッセージが送信される様子を示す図である。
【図１７】図１７は、第２経路におけるＲＥＳＶメッセージが返信される様子を示す図である。
【図１８】図１８は、負荷分散を制御する様子を示す図である。
【図１９】図１９は、ＰＡＴＨメッセージに関する動作におけるデータフローを示す図である。
【図２０】図２０は、ＰａｔｈＥｒｒメッセージに関する動作におけるデータフローを示す図である。
【図２１】図２１は、送信先ノードに該当するルータの動作におけるデータフローを示す図である。
【図２２】図２２は、ＲＥＳＶメッセージに関する動作におけるデータフローを示す図である。
【図２３】図２３は、テーブル管理部のモジュール構成例を示す図である。
【図２４】図２４は、ＲＳＶＰ制御部のモジュール構成例を示す図である。
【図２５】図２５は、送信元処理フローを示す図である。
【図２６】図２６は、送信元処理フローを示す図である。
【図２７】図２７は、中継処理フローを示す図である。
【図２８】図２８は、中継処理フローを示す図である。
【図２９】図２９は、送信先処理フローを示す図である。
【図３０】図３０は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１１】
最初に、図１を用いてＯＳＰＦの動作を説明する。この例では、ＯＳＰＦによって、ＴＣＰ（Transmission Control Protocol）／ＩＰ（Internet Protocol）における経路選択（ルーティング）を行う。具体的には、各区間のコストに基づいて、送信先ルータに対する最適な経路を選択する。
【００１２】
図示するように、各区間に対して予め伝送のコストが設定されているものとする。コストは、例えば保守者によって設定されるようにしてもよい。ＯＳＰＦでは、経路に含まれる各区間におけるコストの合計を比較し、コストの合計が小さい方の経路を選択する。
【００１３】
この例に示すセッションで、ルータＲ１は送信元ノードに該当する。同じくルータＲ４は、送信先ノードに該当する。そして、ルータＲ２及びルータＲ３は、中継ノードに該当する。以下では、送信元ノードに該当するルータを、送信元ルータと呼ぶことがある。同じく送信先ノードに該当するルータを、送信先ルータと呼ぶことがある。同じく中継ノードに該当するルータを、中継ルータと呼ぶことがある。
【００１４】
この例では、送信元ルータＲ１→中継ルータＲ２→送信先ルータＲ４の経路におけるコストの合計は２０であり、送信元ルータＲ１→中継ルータＲ３→送信先ルータＲ４の経路におけるコストの合計４０よりも小さいので、送信元ルータＲ１→中継ルータＲ２→送信先ルータＲ４の経路が最適経路として選択される。以上で、図１の説明を終える。
【００１５】
ネットワークトラフィックを複数の経路に分散させることによって大容量データ転送を実現させるために、ＯＳＰＦには、ＥＣＭＰと呼ばれる負荷分散技術が実装されている。
【００１６】
図２を用いて、ＥＣＭＰの動作を説明する。図２は、ＥＣＭＰによってトラフィックを分散する様子を示している。ＥＣＭＰでは、コストが最も小さい経路が複数ある場合に、それらの経路にトラフィックを分散させる。このような経路を、ＥＣＭＰ経路という。
【００１７】
この例では、送信元ルータＲ１→中継ルータＲ２→送信先ルータＲ４の経路におけるコストの合計と、送信元ルータＲ１→中継ルータＲ３→送信先ルータＲ４の経路におけるコストの合計とが共に３０である。これらのコストは、他の経路におけるコストの合計よりも小さいものとする。
【００１８】
このような場合に、送信元ルータＲ１→中継ルータＲ２→送信先ルータＲ４の経路と、送信元ルータＲ１→中継ルータＲ３→送信先ルータＲ４の経路とを用いて、各経路にトラフィックを振り分けて、送信元ルータＲ１と送信先ルータＲ４とのセッションに係る通信を行う。以上で、図２の説明を終える。
【００１９】
このようにネットワークにおけるセッションを利用して伝送されるデータは多様である。即時性及び連続性が求められるデータ（例えば、テレビ会議やリアルタイムの動画像配信におけるデータ）については、ＲＳＶＰによって優先的に転送することがある。
【００２０】
続いて、ＲＳＶＰの機能について説明する。ＲＳＶＰでは、各種のメッセージを用いた制御によって、送信先ルータまでの経路における帯域幅を予約し、通信品質を確保する。但し、常に要求する帯域幅が予約できるとは限らない。中継ルータにおいて要求帯域幅の条件を満たさない場合には、要求する帯域幅は予約されない。
【００２１】
図３に、ＰＡＴＨメッセージによる動作例を示す。ＰＡＴＨメッセージは、経路における帯域幅の予約を要求するためのメッセージである。
【００２２】
ここで、ＲＳＶＰで用いられるメッセージ（以下、ＲＳＶＰメッセージという。）について説明する。図４に、ＲＳＶＰメッセージの構成を示す。ＲＳＶＰメッセージは、ＩＰヘッダ及びＲＳＶＰヘッダを有している。ＲＳＶＰヘッダは、メッセージタイプを設定するための領域を含んでいる。ＲＳＶＰメッセージは、更にメッセージタイプに応じたオブジェクトを有している。
【００２３】
図３に示すように、ＰＡＴＨメッセージの場合には、セッションを設定するための第１オブジェクトと、明示ルート（Explicit Route）を設定するための第２オブジェクトと、レコードルートを設定するための第３オブジェクトと、要求帯域幅を設定するための第４オブジェクトとが設けられている。セッションは、送信元ノードの識別子（例えば、送信元ノードのＩＰアドレス）と送信先ノードの識別子（例えば、送信先ノードのＩＰアドレス）とによって特定される。また、明示ルートによって、次のノードとそれ以降のノードが特定される。但し、明示ルートによって、次のノードのみを特定するようにしてもよい。更に、レコードルートによって、前のノードとそれ以前のノードが特定される。
【００２４】
最初に、要求帯域幅が設定されたＰＡＴＨメッセージが、送信元ルータＲ１から送信先ルータＲ３に向けて送出される。
【００２５】
そして、中継ルータＲ２において、ＰＡＴＨメッセージに設定されている要求帯域幅の条件を満たす場合には、明示ルートに従って送信先ルータＲ３に向けて当該ＰＡＴＨメッセージが転送される。図３に示した例で、中継ルータＲ２において、次の区間における許容帯域幅１００Ｇｂｐｓが要求帯域幅１００Ｇｂｐｓに一致するので、送信先ルータＲ３に向けてＰＡＴＨメッセージを転送する。このとき、中継ルータＲ２において要求帯域幅１００Ｇｂｐｓが予約される。尚、許容帯域幅は、当該区間において使用しても支障のない帯域幅である。
【００２６】
図５に、ＲＥＳＶメッセージによる動作例を示す。ＲＥＳＶメッセージは、送信元ノードへ要求帯域幅の予約完了を通知するためのメッセージである。
【００２７】
ＲＥＳＶメッセージには、セッションを設定するための第１オブジェクトと、レコードルートを設定するための第２オブジェクトと、許容帯域幅を設定するための第３オブジェクトとが設けられている。尚、許容帯域幅は、ＰＡＴＨメッセージにおける要求帯域幅と一致する。
【００２８】
送信先ルータＲ３にＰＡＴＨメッセージが到着すると、送信先ルータＲ３はＲＥＳＶメッセージを返信する。ＲＥＳＶメッセージは、ＰＡＴＨメッセージの場合と同じ経路を逆方向に転送される。そして、ＲＥＳＶメッセージを転送する際に、要求帯域幅の予約が完了する。図５に示した例で、中継ルータＲ２は、ＲＥＳＶメッセージを受信すると、予約した要求帯域幅１００Ｇｂｐｓを確保し、当該ＲＥＳＶメッセージを送信元ルータＲ１へ転送する。
【００２９】
図６に、ＰａｔｈＥｒｒメッセージによる動作例を示す。ＰａｔｈＥｒｒメッセージは、要求された帯域幅が予約されないことを通知するためのメッセージである。
【００３０】
ＰａｔｈＥｒｒメッセージには、セッションを設定するための第１オブジェクトと、拒否帯域幅を設定するための第２オブジェクトとが設けられている。拒否帯域幅は、ＰＡＴＨメッセージにおける要求帯域幅と一致する。
【００３１】
中継ルータにおいて要求帯域幅の条件を満たさない場合には、当該中継ルータは、ＰａｔｈＥｒｒメッセージによって、送信元へ帯域幅予約の失敗を通知する。ＰａｔｈＥｒｒメッセージは、ＰＡＴＨメッセージの場合と同じ経路を逆方向に転送される。図６に示した例で、中継ルータＲ２において、次の区間における許容帯域幅５０Ｇｂｐｓが要求帯域幅１００Ｇｂｐｓに足りないので、送信元ルータＲ１へＰａｔｈＥｒｒメッセージを返信する。
【００３２】
図７に、ＰａｔｈＴｅａｒメッセージによる動作例を示す。ＰａｔｈＴｅａｒメッセージは、通信を完了した後に、使用した帯域を解放させるためのメッセージである。
【００３３】
ＰａｔｈＴｅａｒメッセージには、セッションを設定するための第１オブジェクトと、明示ルートを設定するための第２オブジェクトと、解放帯域幅を設定するための第３オブジェクトとが設けられている。
【００３４】
送信元ルータは、ＰａｔｈＴｅａｒメッセージによって、帯域の解放を指示する。ＰａｔｈＴｅａｒメッセージは、ＰＡＴＨメッセージの場合と同じ経路に沿って転送される。通信を完了した送信元ルータＲ１は、ＰａｔｈＴｅａｒメッセージを生成し、中継ルータＲ２へ送信する。中継ルータＲ２は、使用された帯域を解放し、ＰａｔｈＴｅａｒメッセージを送信先ルータＲ３へ向けて転送する。
【００３５】
次に、図８を用いて、ＥＣＭＰ経路においてパケットロスが発生する場合について説明する。送信元ルータＲ１から送信先ルータＲ６へデータを送る場合、送信元ルータＲ１→中継ルータＲ２→中継ルータＲ３→送信先ルータＲ６の第１経路と送信元ルータＲ１→中継ルータＲ４→中継ルータＲ５→送信先ルータＲ６の第２経路とが存在する。この例で、第１経路におけるコスト値の合計が７０であり、第２経路におけるコスト値の合計も７０であり、両者は等しい。図２に示した例と同様に、これらの経路にトラフィックを分散させて通信を行う。
【００３６】
但し、送信元ルータが、単純に自らの出力ＩＦで許容される帯域幅によってトラフィックを送信すると、経路上で帯域が不足することがある。例えば、第２経路について、送信元ルータＲ１が、中継ルータＲ４との区間において許容される帯域幅２００Ｇｂｐｓでトラフィックを送信すると、中継ルータＲ４と中継ルータＲ５との区間において許容される帯域幅が１００Ｇｂｐｓであるので、帯域不足に起因するパケットロスが起こる。尚、この例における第１経路については、使用する帯域幅５０Ｇｂｐｓが、各区間において許容される帯域幅を超えないので、エラーは起きない。
【００３７】
このように、従来の技術では、送信元ルータが経路上における各区間の帯域幅を予め考慮して、使用する帯域幅を決めるようにはなっていない。
【００３８】
本実施の形態では、経路において許容される帯域幅を調査することによって、帯域不足が生じないようにする。以下、本実施の形態における通信処理の概要について説明する。ここでは、第１段階乃至第１０段階に分けて説明する。
【００３９】
図９に、第１段階の概要を示す。第１段階では、ＥＣＭＰ経路を検出する。
【００４０】
ルータＲ１を送信元ノードとし、ルータＲ６を送信先ノードとするセッションによる通信を行おうとする場合、送信元ルータＲ１は、ルーティングテーブルに基づいて、ＥＣＭＰ経路に該当する複数の経路が存在するか否かを判定する。ルーティングテーブルには、上述したコストの合計が最も小さい経路に対するレコードが設けられている。そして、レコードは、「送信先ノード」の項目と、「ネクストホップ」の項目を含んでいる。この例で、ネクストホップは、隣接するノードを特定する。
【００４１】
同一の送信先ノードを示すレコードが複数存在する場合、それらはＥＣＭＰ経路に該当する。ＥＣＭＰ経路に該当するレコードが存在すると判定した場合、それらのレコードに「許容帯域幅」の項目を追加する。そして、許容帯域幅に初期値「０」が設定される。
【００４２】
この例では、送信元ルータＲ１→中継ルータＲ２→中継ルータＲ３→送信先ルータＲ６の第１経路と送信元ルータＲ１→中継ルータＲ４→中継ルータＲ５→送信先ルータＲ６の第２経路とが、ＥＣＭＰ経路に該当する。ルーティングテーブルの第１レコードは、第１経路に対応し、同じく第２レコードは、第２経路に対応する。そして、第１レコード及び第２レコードに許容帯域幅の項目が設けられ、それらに初期値「０」が設定される。
【００４３】
図１０に、第２段階の概要を示す。第２段階では、１回目のＰＡＴＨメッセージが送出される。
【００４４】
送信元ルータＲ１は、上述したＥＣＭＰ経路の各々に対するＰＡＴＨメッセージを生成する。ＰＡＴＨメッセージの要求帯域幅には、ネクストホップ向けの出力ＩＦにおいて許容される帯域幅が設定される。第１経路に対するＰＡＴＨメッセージの要求帯域幅には、中継ルータＲ２向けの出力ＩＦにおいて許容される帯域幅５０Ｇｂｐｓが設定される。第２経路に対するＰＡＴＨメッセージの要求帯域幅には、中継ルータＲ４向けの出力ＩＦにおいて許容される帯域幅２００Ｇｂｐｓが設定される。
【００４５】
この例で、送信先ルータＲ６に至る明示ルートは、送信元ルータＲ１において予め特定されているものとする。但し、各中継ルータにおいて、当該中継ルータで保持するルーティングテーブルに設定されているネクストホップに基づいて、明示ルートを設定するようにしてもよい。
【００４６】
本実施の形態では、ＰＡＴＨメッセージのＲＳＶＰヘッダに非予約フラグという識別子を設ける。そして、非予約フラグがＯＮに設定されている場合には、ＰＡＴＨメッセージを受け取った中継ルータにおいて要求帯域幅を予約しないようにする。この場合には、ＰＡＴＨメッセージは、経路において許容される帯域幅を調査するために用いられる。この例では、ＰＡＴＨメッセージの非予約フラグをＯＮに設定して、各区間における帯域に余裕を残すようにする。
【００４７】
一方、非予約フラグがＯＦＦに設定されている場合には、従来通りＲＳＶＰに従って中継ルータにおいて要求帯域幅を予約する。
【００４８】
第１経路に対するＰＡＴＨメッセージは、中継ルータＲ２及びＲ３において要求帯域幅の条件を満たす。また、非予約フラグにＯＮが設定されているので、中継ルータＲ２及びＲ３は、要求帯域幅を予約せずに、ＰＡＴＨメッセージをそのまま転送する。
【００４９】
図１１に、第３段階の概要を示す。第３段階では、第１経路に対するＲＥＳＶメッセージが返信される。
【００５０】
第１経路を経たＰＡＴＨメッセージを受け取った送信先ルータＲ６は、送信元ルータＲ１に向けて、ＲＥＳＶメッセージを返信する。非予約フラグがＯＮに設定されているＰＡＴＨメッセージに応答するＲＥＳＶメッセージは、経路全体において要求帯域幅の条件を満たすことを通知するメッセージに相当する。
【００５１】
本実施の形態では、ＰＡＴＨメッセージの場合と同様に、ＲＥＳＶメッセージのヘッダ部に非予約フラグを設ける。非予約フラグがＯＮに設定されている場合には、ＲＥＳＶメッセージを受け取った中継ルータにおいて要求帯域幅を確保しない。一方、非予約フラグがＯＦＦに設定されている場合には、従来通りＲＳＶＰに従って中継ルータにおいて要求帯域幅を確保する。
【００５２】
この例で、送信先ルータＲ６は、ＲＥＳＶメッセージの非予約フラグにＯＮを設定するので、中継ルータＲ２及び中継ルータＲ３は、要求帯域幅を確保せずに、当該ＲＥＳＶメッセージを送信元ルータＲ１に向けて転送する。
【００５３】
図１２に、第４段階の概要を示す。第４段階では、第１経路における調査結果をルーティングテーブルに記録する。
【００５４】
第１経路からＲＥＳＶメッセージを受け取った送信元ルータＲ１は、第１経路に向けて送出したＰＡＴＨメッセージに設定した要求帯域幅を、許容帯域幅としてルーティングテーブルに記録する。この例では、第１経路に対応するレコードの許容帯域幅に「５０Ｇｂｐｓ」が設定される。これにより、送信元ルータＲ１において、第１経路を用いて帯域幅「５０Ｇｂｐｓ」のトラフィックで通信を行った場合にエラーが発生しないことを把握したことになる。
【００５５】
続いて、図１３乃至図１７を用いて、第２経路における動作例について説明する。図１３に、第５段階の概要を示す。第５段階では、１回目のＰａｔｈＥｒｒメッセージが返信される。
【００５６】
本実施の形態では、ＰａｔｈＥｒｒメッセージに「許容帯域幅」というオブジェクトを設ける。そして、中継ルータにおいて、受け取ったＰＡＴＨメッセージに設定されている要求帯域幅の条件を満たさないと判定した場合に、ＰａｔｈＥｒｒメッセージの許容帯域幅に、次の区間において許容される帯域幅を設定して、送信元ルータに向けて返信する。
【００５７】
この例で、中継ルータＲ４において、要求帯域幅に「２００Ｇｂｐｓ」が設定されているＰＡＴＨメッセージを受信すると、次の中継ルータＲ５との区間において許容される帯域幅１００Ｇｂｐｓが要求帯域幅の条件を満たさないと判定する。そのため、中継ルータＲ４は、ＰａｔｈＥｒｒメッセージを生成する。このとき、中継ルータＲ４は、ＰａｔｈＥｒｒメッセージの許容帯域幅に、次の中継ルータＲ５との区間において許容される帯域幅１００Ｇｂｐｓを設定する。そして、ＰａｔｈＥｒｒメッセージを送信元ルータＲ１に返信する。
【００５８】
図１４に、第６段階の概要を示す。第６段階では、２回目のＰＡＴＨメッセージが送信される。
【００５９】
送信元ルータＲ１は、ＰａｔｈＥｒｒメッセージを受け取ると、再び第２経路に対するＰＡＴＨメッセージを生成する。このとき、送信元ルータＲ１は、ＰＡＴＨメッセージの要求帯域幅に、ＰａｔｈＥｒｒメッセージから読み取った許容帯域幅「１００Ｇｂｐｓ」を設定する。そして、ＰＡＴＨメッセージを中継ルータＲ４へ再送信する。
【００６０】
中継ルータＲ４において、要求帯域幅に「１００Ｇｂｐｓ」が設定されているＰＡＴＨメッセージを受信すると、次の中継ルータＲ５との区間において許容される帯域幅「１００Ｇｂｐｓ」が要求帯域幅の条件を満たすと判定する。そして、中継ルータＲ４は、当該ＰＡＴＨメッセージを中継ルータＲ５へ転送する。
【００６１】
図１５に、第７段階の概要を示す。第７段階では、２回目のＰａｔｈＥｒｒメッセージが返信される。
【００６２】
中継ルータＲ５において、要求帯域幅に「１００Ｇｂｐｓ」が設定されているＰＡＴＨメッセージを受信すると、送信先ルータＲ６との区間において許容される帯域幅「５０Ｇｂｐｓ」が要求帯域幅の条件を満たさないと判定する。そのため、中継ルータＲ５は、ＰａｔｈＥｒｒメッセージを生成する。このとき、中継ルータＲ５は、ＰａｔｈＥｒｒメッセージの許容帯域幅に、上記許容される帯域幅「５０Ｇｂｐｓ」を設定する。そして、ＰａｔｈＥｒｒメッセージを中継ルータＲ４に返信する。ＰａｔｈＥｒｒメッセージは、中継ルータＲ４において転送され、送信元ルータＲ１に至る。
【００６３】
図１６に、第８段階の概要を示す。第８段階では、３回目のＰＡＴＨメッセージが送信される。
【００６４】
ＰａｔｈＥｒｒメッセージを再び受け取った送信元ルータＲ１は、ＰａｔｈＥｒｒメッセージから読み取った許容帯域幅「５０Ｇｂｐｓ」を、再生成するＰＡＴＨメッセージの要求帯域幅に設定し、中継ルータＲ４に送信する。
【００６５】
このようにして、送信元ルータＲ１は、ＲＥＳＶメッセージを受け取るまで、ＰＡＴＨメッセージの要求帯域幅にＰａｔｈＥｒｒメッセージから読み取った許容帯域幅を設定して、再送信を繰り返す。
【００６６】
中継ルータＲ５において、要求帯域幅に「５０Ｇｂｐｓ」が設定されているＰＡＴＨメッセージを受信すると、送信先ルータＲ６との区間において許容される帯域幅「５０Ｇｂｐｓ」が要求帯域幅の条件を満たすと判定する。そして、中継ルータＲ５は、当該ＰＡＴＨメッセージを送信先ルータＲ６へ転送する。このようにして、経路中における最小の帯域幅「５０Ｇｂｐｓ」が要求帯域幅に設定されているＰＡＴＨメッセージが、送信先ルータＲ６へ到達する。経路中における最小の帯域幅は、当該経路の全域でエラーを起こさずに伝送できる帯域幅に相当する。
【００６７】
尚、ＰＡＴＨメッセージの非予約フラグにＯＮが設定されているので、中継ルータＲ４及びＲ５は、要求されている帯域幅を予約せずに、ＰＡＴＨメッセージをそのまま転送する。
【００６８】
図１７に、第９段階の概要を示す。第９段階では、第２経路に対するＲＥＳＶメッセージが返信される。
【００６９】
第２経路を経たＰＡＴＨメッセージを受け取った送信先ルータＲ６は、送信元ルータＲ１に向けて、第２経路全体において要求帯域幅の条件を満たすことを通知するＲＥＳＶメッセージを返信する。
【００７０】
送信先ルータＲ６は、ＲＥＳＶメッセージの非予約フラグにＯＮを設定するので、中継ルータＲ４及び中継ルータＲ５は、要求帯域幅を確保せずに、当該ＲＥＳＶメッセージを転送する。
【００７１】
図１８に、第１０段階の概要を示す。第１０段階では、負荷分散を制御する。
【００７２】
ＲＥＳＶメッセージを受け取った送信元ルータＲ１は、第２経路に対応するレコードの許容帯域幅に「５０Ｇｂｐｓ」を設定する。これにより、送信元ルータＲ１において、第２経路を用いて帯域幅「５０Ｇｂｐｓ」のトラフィックで通信を行った場合にエラーが発生しないことを把握したことになる。
【００７３】
送信元ルータＲ１は、各ＥＣＭＰ経路について調査結果を記録すると、各ＥＣＭＰ経路において許容帯域幅の範囲でトラフィックを振り分けて通信を行う。このようにすれば、パケットロスを起こさずに通信を行うことができる。以上で、本実施の形態における通信処理の概要についての説明を終える。
【００７４】
図１９に、ルータ１９０１のモジュール構成例を示す。ルータ１９０１は、ルータ設定情報記憶部１９０３、ルーティング制御部１９０５、ルーティングテーブル記憶部１９０７、テーブル管理部１９０９、ＲＳＶＰ制御部１９１１、識別子設定部１９１３、インターフェース処理部１９１５、入力ＩＦ１９１７及び出力ＩＦ１９１９を有する。尚、上述した送信元ルータ、中継ルータ及び送信元ルータは、共通の構成である。
【００７５】
ルータ設定情報記憶部１９０３は、ルータ１９０１において設定されている情報（以下、ルータ設定情報という。）を記憶する。ルータ設定情報には、各区間に割り当てられているコストの情報が含まれる。
【００７６】
ルーティング制御部１９０５は、ルーティングプロトコル（例えば、ＯＳＰＦ）に従って制御を行う。ルーティング制御部１９０５は、例えば、ルータ設定情報に基づいてルーティングテーブルにおけるルート情報を更新する。
【００７７】
ルーティングテーブル記憶部１９０７は、ルート情報をまとめたルーティングテーブルを記憶する。
【００７８】
テーブル管理部１９０９は、ルーティングテーブルにおけるルート情報を監視し、更新する。
【００７９】
ＲＳＶＰ制御部１９１１は、ＲＳＶＰに従った制御を行う。ＲＳＶＰ制御部１９１１は、例えば各種のＲＳＶＰメッセージを生成する。また、ＲＳＶＰ制御部１９１１は、要求帯域幅についての判定も行う。
【００８０】
識別子設定部１９１３は、ＲＳＶＰメッセージにおける非予約フラグの設定を行う。
【００８１】
インターフェース処理部１９１５は、入力ＩＦ１９１７及び出力ＩＦ１９１９に対する処理を行う。
【００８２】
入力ＩＦ１９１７は、物理的にパケットを受信する。出力ＩＦ１９１９は、物理的にパケットを送信する。
【００８３】
上述したルーティング制御部１９０５、テーブル管理部１９０９、ＲＳＶＰ制御部１９１１及び識別子設定部１９１３は、ハードウエア資源（例えば、図３０）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【００８４】
上述したルータ設定情報記憶部１９０３及びルーティングテーブル記憶部１９０７は、ハードウエア資源（例えば、図３０）を用いて実現される。インターフェース処理部１９１５、入力ＩＦ１９１７及び出力ＩＦ１９１９は、例えば図３０に示した通信制御部２５１７に含まれる。
【００８５】
本実施の形態における内部的な動作の概要について説明する。図１９の左側に示した送信元ノードに相当するルータ１９０１には、ＰＡＴＨメッセージを送出する場合のデータフローが示されている。
【００８６】
テーブル管理部１９０９は、ルーティングテーブル記憶部１９０７に記憶されているルーティングテーブルからＥＣＭＰ経路を検出する（Ｓ１９３１）。
【００８７】
テーブル管理部１９０９は、ＲＳＶＰ制御部１９１１へ各ＥＣＭＰ経路における許容帯域幅の調査を指示する（Ｓ１９３３）。
【００８８】
許容帯域幅の調査の指示を受けると、ＲＳＶＰ制御部１９１１は、各ＥＣＭＰ経路に対するＰＡＴＨメッセージを生成する。このとき、ＲＳＶＰ制御部１９１１は、ＰＡＴＨメッセージの要求帯域幅に、当該経路における次のルータ１９０１にリンクする出力ＩＦ１９１９において許容される帯域幅を設定する。
【００８９】
識別子設定部１９１３は、ＰＡＴＨメッセージの非予約フラグをＯＮに設定する（Ｓ１９３５）。
【００９０】
インターフェース処理部１９１５は、ＲＳＶＰ制御部１９１１から受け取ったＰＡＴＨメッセージを、次のルータ１９０１（つまり、送信先ノード向けのネクストホップルータ）にリンクする出力ＩＦ１９１９から、当該次のルータ１９０１へ送信する（Ｓ１９３７）。
【００９１】
図１９の右側に示した中継ノードに相当するルータ１９０１には、ＰＡＴＨメッセージを受けた場合のデータフローが示されている。
【００９２】
ＲＳＶＰ制御部１９１１は、インターフェース処理部１９１５からＰＡＴＨメッセージを受け付ける（Ｓ１９３９）。
【００９３】
ＲＳＶＰ制御部１９１１は、次のルータ１９０１とリンクする出力ＩＦ１９１９において許容される帯域幅をインターフェース処理部１９１５から取得する（Ｓ１９４１）。そして、当該出力ＩＦ１９１９において許容される帯域幅が、ＰＡＴＨメッセージに設定されている要求帯域幅の条件を満たすか否かを判定する。
【００９４】
次のルータ１９０１とリンクする出力ＩＦ１９１９において許容される帯域幅が、ＰＡＴＨメッセージに設定されている要求帯域幅の条件を満たさないと判定した場合には、ＲＳＶＰ制御部１９１１は、ＰａｔｈＥｒｒメッセージを生成する。このとき、ＲＳＶＰ制御部１９１１は、ＰａｔｈＥｒｒメッセージに許容帯域幅のオブジェクトを設け、当該出力ＩＦ１９１９において許容される帯域幅を許容帯域幅に書き込む。
【００９５】
インターフェース処理部１９１５は、ＲＳＶＰ制御部１９１１から受け取ったＰａｔｈＥｒｒメッセージを、前のルータ１９０１（つまり、送信元ノード向けのネクストホップルータ）とリンクする出力ＩＦ１９１９から、当該前のルータ１９０１に返信する（Ｓ１９４３）。
【００９６】
一方、次のルータ１９０１とリンクする出力ＩＦ１９１９において許容される帯域幅が、ＰＡＴＨメッセージに設定されている要求帯域幅の条件を満たすと判定した場合には、ＲＳＶＰ制御部１９１１は、次のルータ１９０１へＰＡＴＨメッセージを転送する。
【００９７】
従って、インターフェース処理部１９１５は、当該ＰＡＴＨメッセージを、次のルータ１９０１（つまり、送信先ノード向けのネクストホップルータ）にリンクする出力ＩＦ１９１９から、当該次のルータ１９０１へ送る（Ｓ１９４５）。
【００９８】
図２０に、ＰａｔｈＥｒｒメッセージに関する動作におけるデータフローを示す。具体的には、図２０の左側は、中継ノードに相当するルータ１９０１がＰａｔｈＥｒｒメッセージを受けた場合のデータフローを示している。中継ノードに相当するルータ１９０１のＲＳＶＰ制御部１９１１が、インターフェース処理部１９１５からＰａｔｈＥｒｒメッセージを受け付けた場合には（Ｓ２００１）、ＲＳＶＰ制御部１９１１は、送信元ノードに向けてＰａｔｈＥｒｒメッセージを転送する。
【００９９】
従って、インターフェース処理部１９１５は、当該ＰａｔｈＥｒｒメッセージを、前のルータ１９０１（つまり、送信元ノード向けのネクストホップルータ）にリンクする出力ＩＦ１９１９から、当該前のルータ１９０１に送る（Ｓ２００３）。
【０１００】
送信元ノードに相当するルータ１９０１にＰａｔｈＥｒｒメッセージが届くと、当該ルータ１９０１のＲＳＶＰ制御部１９１１が、インターフェース処理部１９１５からＰａｔｈＥｒｒメッセージを受け付ける（Ｓ２００５）。
【０１０１】
送信元ノードに相当するルータ１９０１のＲＳＶＰ制御部１９１１は、当該ＥＣＭＰ経路のＰＡＴＨメッセージを再生成する。このとき、当該ルータ１９０１のＲＳＶＰ制御部１９１１は、受け付けたＰａｔｈＥｒｒメッセージに設定されている許容帯域幅を、ＰＡＴＨメッセージの要求帯域幅に設定する。
【０１０２】
また、識別子設定部１９１３は、ＰＡＴＨメッセージの非予約フラグをＯＮに設定する（Ｓ２００７）。
【０１０３】
インターフェース処理部１９１５は、ＲＳＶＰ制御部１９１１から受け取ったＰＡＴＨメッセージを、次のルータ１９０１（つまり、送信先ノード向けのネクストホップルータ）にリンクする出力ＩＦ１９１９から、当該次のルータ１９０１へ送信する（Ｓ２００９）。
【０１０４】
図２１に、送信先ノードに該当するルータ１９０１の動作におけるデータフローを示す。
【０１０５】
送信先ノードに相当するルータ１９０１のＲＳＶＰ制御部１９１１は、インターフェース処理部１９１５からＰＡＴＨメッセージを受け付けると（Ｓ２１０１）、ＲＥＳＶメッセージを生成する。
【０１０６】
また、識別子設定部１９１３は、ＲＥＳＶメッセージの非予約フラグをＯＮに設定する（Ｓ２１０３）。
【０１０７】
インターフェース処理部１９１５は、ＲＳＶＰ制御部１９１１から受け取ったＲＥＳＶメッセージを、前のルータ１９０１（つまり、送信元ノード向けのネクストホップルータ）にリンクする出力ＩＦ１９１９から、当該前のルータ１９０１へ返信する（Ｓ２１０５）。
【０１０８】
図２２に、ＲＥＳＶメッセージに関する動作におけるデータフローを示す。図２２の右側に示した中継ノードに相当するルータ１９０１には、ＲＥＳＶメッセージを受けた場合のデータフローが示されている。
【０１０９】
中継ノードに相当するルータ１９０１のＲＳＶＰ制御部１９１１が、インターフェース処理部１９１５からＲＥＳＶメッセージを受け付けた場合には（Ｓ２２０１）、ＲＳＶＰ制御部１９１１は、送信元ノードに向けてＲＥＳＶメッセージを転送する。
【０１１０】
従って、インターフェース処理部１９１５は、ＲＳＶＰ制御部１９１１から受け取ったＲＥＳＶメッセージを、前のルータ１９０１（つまり、送信元ノード向けのネクストホップルータ）にリンクする出力ＩＦ１９１９から、当該前のルータ１９０１へ転送する（Ｓ２２０３）。
【０１１１】
図２２の左側に示した送信元ノードに相当するルータ１９０１に、ＲＥＳＶメッセージを受けた場合のデータフローが示されている。当該ルータ１９０１にＲＥＳＶメッセージが届くと、ＲＳＶＰ制御部１９１１が、インターフェース処理部１９１５からＲＥＳＶメッセージを受け付ける（Ｓ２２０５）。
【０１１２】
ＲＳＶＰ制御部１９１１は、ＲＥＳＶメッセージに含まれる情報をテーブル管理部１９０９に伝える（Ｓ２２０７）。
【０１１３】
テーブル管理部１９０９は、当該ＥＣＭＰ経路に対して最後に送出したＰＡＴＨメッセージに設定した要求帯域幅を、ルーティングテーブルにおける許容帯域幅の項目に書き込む（Ｓ２２０９）。
【０１１４】
テーブル管理部１９０９は、ＥＣＭＰ経路の各々について、許容帯域幅が書き込まれたか否かを判定する（Ｓ２２１１）。
【０１１５】
すべてのＥＣＭＰ経路について、許容帯域幅が書き込まれると、テーブル管理部１９０９は、ＲＳＶＰ制御部１９１１に各ＥＣＭＰ経路における許容帯域幅を通知する（Ｓ２２１３）。
【０１１６】
ＲＳＶＰ制御部１９１１は、各ＥＣＭＰ経路における許容帯域幅に基づくトラフィックの分配をインターフェース処理部１９１５に指示する（Ｓ２２１５）。
【０１１７】
そして、インターフェース処理部１９１５は、当該各ＥＣＭＰ経路における許容帯域幅の範囲で、各ＥＣＭＰ経路にトラフィックを振り分けて通信を行う。例えば、許容帯域幅の割合に応じて各ＥＣＭＰ経路にトラフィックを分配するようにしてもよい。或いは、許容帯域幅が大きい方のＥＣＭＰ経路を優先的に使用するようにしてもよい。ポリシーによって、振り分ける方式は任意である。
【０１１８】
ルータ１９０１における処理フローについて説明する前に、テーブル管理部１９０９のモジュール構成及びＲＳＶＰ制御部１９１１のモジュール構成について説明する。
【０１１９】
図２３に、テーブル管理部１９０９のモジュール構成例を示す。テーブル管理部１９０９は、検出部２３０１、更新部２３０３、第１指示部２３０５、第１判定部２３０７及び通知部２３０９を有する。
【０１２０】
検出部２３０１は、ルーティングテーブルからＥＣＭＰ経路を検出する。更新部２３０３は、ルーティングテーブルを更新する。第１指示部２３０５は、ＲＳＶＰ制御部１９１１へ各ＥＣＭＰ経路における許容帯域幅の調査を指示する。第１判定部２３０７は、すべてのＥＣＭＰ経路について許容帯域幅が書き込まれたか否かを判定する。通知部２３０９は、ＲＳＶＰ制御部１９１１へ各ＥＣＭＰ経路における許容帯域幅を通知する。
【０１２１】
上述した検出部２３０１、更新部２３０３、第１指示部２３０５、第１判定部２３０７及び通知部２３０９は、ハードウエア資源（例えば、図３０）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【０１２２】
図２４に、ＲＳＶＰ制御部１９１１のモジュール構成例を示す。ＲＳＶＰ制御部１９１１は、生成部２４０１、送信部２４０３、受信部２４０５、応答部２４０７、第２指示部２４０９、第２判定部２４１１、返信部２４１３、転送部２４１５、予約部２４１７及びデータ記憶部２４２１を有する。
【０１２３】
生成部２４０１は、各種のＲＳＶＰメッセージを生成する。送信部２４０３は、各種のＲＳＶＰメッセージを送信する。受信部２４０５は、各種のＲＳＶＰメッセージを受信する。応答部２４０７は、テーブル管理部１９０９からの指示に対して応答する。第２指示部２４０９は、各ＥＣＭＰ経路における許容帯域幅に基づくトラフィックの分配をインターフェース処理部１９１５に指示する。第２判定部２４１１は、出力ＩＦ１９１９において許容される帯域幅が、ＰＡＴＨメッセージに設定されている要求帯域幅以上であるか否かを判定する。返信部２４１３は、各種のＲＳＶＰメッセージを返信する。転送部２４１５は、各種のＲＳＶＰメッセージを転送する。予約部２４１７は、帯域幅を予約し、確保する。データ記憶部２４２１は、ＰＡＴＨメッセージに設定した要求帯域幅を記憶する。尚、返信部２４１３における処理を送信部２４０３が行うようにしてもよい。また、転送部２４１５における処理を送信部２４０３が行うようにしてもよい。
【０１２４】
上述した生成部２４０１、送信部２４０３、受信部２４０５、応答部２４０７、第２指示部２４０９、第２判定部２４１１、返信部２４１３、転送部２４１５及び予約部２４１７は、ハードウエア資源（例えば、図３０）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【０１２５】
上述したデータ記憶部２４２１は、ハードウエア資源（例えば、図３０）を用いて実現される。
【０１２６】
続いて、ルータ１９０１における処理について説明する。以下、送信元処理、中継処理及び送信先処理について順に説明する。尚、送信元処理は、送信元ルータとなる場合の処理である。中継処理は、中継ルータとなる場合の処理である。送信先処理は、送信先ルータとなる場合の処理である。この例で、各ルータ１９０１は、送信元処理、中継処理及び送信先処理を並行して実行することがある。
【０１２７】
図２５及び図２６に、送信元処理フローを示す。送信元処理は、例えば当該ルータを送信元とするセッションによる通信の要求を受けた場合に起動される。テーブル管理部１９０９の検出部２３０１は、ルーティングテーブルからＥＣＭＰ経路を検出する（Ｓ２５０１）。ルーティングテーブルには、送信先ノードのまでの経路のうちコストの合計が最小となる経路に対応するレコードが登録されている。従って、同じ送信先ノードのレコードが複数存在すると判定した場合には、それらのレコードに対応する経路がＥＣＭＰ経路に該当する。当該経路が１つ存在すると判定した場合には、ＥＣＭＰによらない通常の通信を行う。ＥＣＭＰによらない通常の通信については、説明を省く。
【０１２８】
テーブル管理部１９０９の更新部２３０３は、ルーティングテーブルにおける各ＥＣＭＰ経路に対応するレコードに許容帯域幅の項目を設け、初期値「０」を設定する（Ｓ２５０３）。
【０１２９】
テーブル管理部１９０９の第１指示部２３０５は、ＲＳＶＰ制御部１９１１へ各ＥＣＭＰ経路における許容帯域幅の調査を指示する（Ｓ２５０５）。
【０１３０】
許容帯域幅の調査の指示を受けると、ＲＳＶＰ制御部１９１１の生成部２４０１は、各ＥＣＭＰ経路に対するＰＡＴＨメッセージを生成する（Ｓ２５０７）。このとき、ＲＳＶＰ制御部１９１１の生成部２４０１は、ＰＡＴＨメッセージの要求帯域幅に、当該ＥＣＭＰ経路の次のルータ１９０１（つまり、送信先ノード向けのネクストホップルータ）にリンクする出力ＩＦ１９１９において許容される帯域幅を設定する。このとき、ＰＡＴＨメッセージに設定した要求帯域幅をデータ記憶部２４２１に記憶する。
【０１３１】
識別子設定部１９１３は、ＰＡＴＨメッセージの非予約フラグをＯＮに設定する（Ｓ２５０９）。
【０１３２】
ＲＳＶＰ制御部１９１１の送信部２４０３は、インターフェース処理部１９１５を介して、ＰＡＴＨメッセージを次のルータ１９０１（つまり、送信先ノード向けのネクストホップルータ）へ送信する（Ｓ２５１１）。
【０１３３】
ＲＳＶＰ制御部１９１１の受信部２４０５は、インターフェース処理部１９１５を介して、セッションの送信元ノードに自ルータが設定されているＰａｔｈＥｒｒメッセージを受信したか否かを判定する（Ｓ２５１３）。
【０１３４】
当該ＰａｔｈＥｒｒメッセージを受信したと判定した場合には、ＲＳＶＰ制御部１９１１の生成部２４０１は、当該ＥＣＭＰ経路に対するＰＡＴＨメッセージを再生成する（Ｓ２５１５）。
【０１３５】
このとき、ＲＳＶＰ制御部１９１１の生成部２４０１は、受信したＰａｔｈＥｒｒメッセージに設定されている許容帯域幅の値を、ＰＡＴＨメッセージの要求帯域幅に設定する（Ｓ２５１７）。このとき、ＰＡＴＨメッセージに設定した要求帯域幅をデータ記憶部２４２１に記憶する。
【０１３６】
また、識別子設定部１９１３は、ＰＡＴＨメッセージの非予約フラグをＯＮに設定する（Ｓ２５１９）。
【０１３７】
ＲＳＶＰ制御部１９１１の送信部２４０３は、インターフェース処理部１９１５を介して、再生成したＰＡＴＨメッセージを次のルータ１９０１（つまり、送信先ノード向けのネクストホップルータ）へ送信する（Ｓ２５２１）。そして、Ｓ２５１３に示した処理に戻って上述した処理を繰り返す。
【０１３８】
一方、Ｓ２５１３において、セッションの送信元ノードに自ルータが設定されているＰａｔｈＥｒｒメッセージを受信していないと判定した場合には、端子Ａを介して図２６のＳ２６０１に示した処理に移る。
【０１３９】
図２６の説明に移る。ＲＳＶＰ制御部１９１１の受信部２４０５は、インターフェース処理部１９１５を介して、セッションの送信元ノードに自ルータが設定されているＲＥＳＶメッセージを受信したか否かを判定する（Ｓ２６０１）。
【０１４０】
当該ＲＥＳＶメッセージを受信したと判定した場合には、ＲＳＶＰ制御部１９１１の応答部２４０７は、ＲＥＳＶメッセージの情報をテーブル管理部１９０９に伝える（Ｓ２６０３）。このとき、ＲＳＶＰ制御部１９１１の応答部２４０７は、当該ＥＣＭＰ経路に対して最後に送出したＰＡＴＨメッセージに設定した要求帯域幅を、テーブル管理部１９０９に伝える。
【０１４１】
テーブル管理部１９０９の更新部２３０３は、ＲＥＳＶメッセージが返送されたＥＣＭＰ経路に対して最後に送出したＰＡＴＨメッセージに設定した要求帯域幅を、ルーティングテーブルにおける当該ＥＣＭＰ経路に対応するレコードの許容帯域幅に書き込む（Ｓ２６０５）。この例では、データ記憶部２４２１に記憶している要求帯域幅を書き込むが、ＲＥＳＶメッセージに含まれる許容帯域幅を書き込むようにしてもよい。両者は、一致している。
【０１４２】
テーブル管理部１９０９の第１判定部２３０７は、すべてのＥＣＭＰ経路について許容帯域幅が書き込まれたか否かを判定する（Ｓ２６０７）。いずれかのＥＣＭＰ経路について未だ許容帯域幅が書き込まれていないと判定した場合には、端子Ｂを介して図２５のＳ２５１３に示した処理に戻る。
【０１４３】
すべてのＥＣＭＰ経路について許容帯域幅が書き込まれたと判定した場合には、テーブル管理部１９０９の通知部２３０９は、ＲＳＶＰ制御部１９１１へ各ＥＣＭＰ経路における許容帯域幅を通知する（Ｓ２６０９）。
【０１４４】
ＲＳＶＰ制御部１９１１の第２指示部２４０９は、各ＥＣＭＰ経路における許容帯域幅の通知を受けると、当該各ＥＣＭＰ経路における許容帯域幅に基づくトラフィックの分配をインターフェース処理部１９１５に指示する（Ｓ２６１１）。
【０１４５】
インターフェース処理部１９１５は、当該各ＥＣＭＰ経路における許容帯域幅の範囲で、各ＥＣＭＰ経路にトラフィックを振り分けて通信を行う。上述した通り、ポリシーによって、振り分ける方式は任意である。
【０１４６】
Ｓ２６０１に示した処理の説明に戻る。一方、Ｓ２６０１において、セッションの送信元ノードに自ルータが設定されているＲＥＳＶメッセージを受信していないと判定した場合には、端子Ｂを介して図２５のＳ２５１３に示した処理に戻る。
【０１４７】
図２７及び図２８に、中継処理フローを示す。ＲＳＶＰ制御部１９１１の受信部２４０５は、インターフェース処理部１９１５を介して、セッションの送信先ノードに自ルータが設定されていないＰＡＴＨメッセージを受信したか否かを判定する（Ｓ２７０１）。
【０１４８】
当該ＰＡＴＨメッセージを受信したと判定した場合には、ＲＳＶＰ制御部１９１１の第２判定部２４１１は、次のルータ１９０１（つまり、送信先ノード向けのネクストホップルータ）にリンクする出力ＩＦ１９１９において許容される帯域幅をインターフェース処理部１９１５から取得する（Ｓ２７０３）。
【０１４９】
そして、ＲＳＶＰ制御部１９１１の第２判定部２４１１は、当該出力ＩＦ１９１９において許容される帯域幅が、ＰＡＴＨメッセージに設定されている要求帯域幅以上であるか否かを判定する（Ｓ２７０５）。
【０１５０】
当該出力ＩＦ１９１９において許容される帯域幅が、ＰＡＴＨメッセージに設定されている要求帯域幅に満たないと判定した場合には、ＲＳＶＰ制御部１９１１の生成部２４０１は、ＰａｔｈＥｒｒメッセージを生成する（Ｓ２７０７）。
【０１５１】
ＲＳＶＰ制御部１９１１の生成部２４０１は、ＰａｔｈＥｒｒメッセージに許容帯域幅のオブジェクトを設け、当該出力ＩＦ１９１９において許容される帯域幅を許容帯域幅に設定する（Ｓ２７０９）。
【０１５２】
ＲＳＶＰ制御部１９１１の返信部２４１３は、インターフェース処理部１９１５を介して、前のルータ１９０１（つまり、送信元ノード向けのネクストホップルータ）にＰａｔｈＥｒｒメッセージを返信する（Ｓ２７１１）。そして、Ｓ２７０１に示した処理に戻って上述した処理を繰り返す。
【０１５３】
一方、当該出力ＩＦ１９１９において許容される帯域幅が、ＰＡＴＨメッセージに設定されている要求帯域幅以上であると判定した場合には、ＲＳＶＰ制御部１９１１の転送部２４１５は、インターフェース処理部１９１５を介して、次のルータ１９０１（つまり、送信先ノード向けのネクストホップルータ）にＰＡＴＨメッセージを転送する（Ｓ２７１３）。また、ＰＡＴＨメッセージの非予約フラグがＯＦＦに設定されている場合には、ＲＳＶＰ制御部１９１１の予約部２４１７は、従来通り要求帯域幅を予約する（Ｓ２７１５）。一方、ＰＡＴＨメッセージの非予約フラグがＯＮに設定されている場合には、ＲＳＶＰ制御部１９１１の予約部２４１７は、要求帯域幅を予約しない。そして、Ｓ２７０１に示した処理に戻って上述した処理を繰り返す。
【０１５４】
Ｓ２７０１に示した処理の説明に戻る。Ｓ２７０１において、インターフェース処理部１９１５を介して、当該ＰＡＴＨメッセージを受信していないと判定した場合には、端子Ｃを介して図２８のＳ２８０１に示した処理に移る。
【０１５５】
図２８の説明に移る。ＲＳＶＰ制御部１９１１の受信部２４０５は、インターフェース処理部１９１５を介して、セッションの送信元ノードに自ルータが設定されていないＰａｔｈＥｒｒメッセージを受信したか否かを判定する（Ｓ２８０１）。
【０１５６】
当該ＰａｔｈＥｒｒメッセージを受信したと判定した場合には、ＲＳＶＰ制御部１９１１の転送部２４１５は、インターフェース処理部１９１５を介して、前のルータ１９０１（つまり、送信元ノード向けのネクストホップルータ）にＰａｔｈＥｒｒメッセージを転送する（Ｓ２８０３）。そして、端子Ｄを介して図２７のＳ２７０１に示した処理に戻る。
【０１５７】
Ｓ２８０１において、セッションの送信元ノードに自ルータが設定されていないＰａｔｈＥｒｒメッセージを受信していないと判定した場合には、ＲＳＶＰ制御部１９１１の受信部２４０５は、インターフェース処理部１９１５を介して、セッションの送信元ノードに自ルータが設定されていないＲＥＳＶメッセージを受信したか否かを判定する（Ｓ２８０５）。当該ＲＥＳＶメッセージを受信していないと判定した場合には、端子Ｄを介して図２７のＳ２７０１に示した処理に戻って上述した処理を繰り返す。
【０１５８】
一方、当該ＲＥＳＶメッセージを受信したと判定した場合には、ＲＳＶＰ制御部１９１１の転送部２４１５は、インターフェース処理部１９１５を介して、前のルータ１９０１（つまり、送信元ノード向けのネクストホップルータ）にＲＥＳＶメッセージを転送する（Ｓ２８０７）。また、ＲＥＳＶメッセージの非予約フラグがＯＦＦに設定されている場合には、ＲＳＶＰ制御部１９１１の予約部２４１７は、従来通り予約した要求帯域幅を確保する（Ｓ２８０９）。一方、ＲＥＳＶメッセージの非予約フラグがＯＮに設定されている場合には、ＲＳＶＰ制御部１９１１の予約部２４１７は、要求帯域幅を確保しない。そして、端子Ｄを介して図２７のＳ２７０１に示した処理に戻って上述した処理を繰り返す。
【０１５９】
図２９に、送信先処理フローを示す。ＲＳＶＰ制御部１９１１の受信部２４０５は、インターフェース処理部１９１５を介して、セッションの送信先ノードに自ルータが設定されているＰＡＴＨメッセージを受信したか否かを判定する（Ｓ２９０１）。当該ＰＡＴＨメッセージを受信したと判定するまでこの処理を繰り返す。
【０１６０】
当該ＰＡＴＨメッセージを受信したと判定した場合には、ＲＳＶＰ制御部１９１１の生成部２４０１は、ＲＥＳＶメッセージを生成する（Ｓ２９０３）。
【０１６１】
識別子設定部１９１３は、ＲＥＳＶメッセージの非予約フラグをＯＮに設定する（Ｓ２９０５）。
【０１６２】
ＲＳＶＰ制御部１９１１の返信部２４１３は、インターフェース処理部１９１５を介して、前のルータ１９０１（つまり、送信元ノード向けのネクストホップルータ）にＲＥＳＶメッセージを返信する（Ｓ２９０７）。そして、Ｓ２９０１に示した処理に戻って上述した処理を繰り返す。
【０１６３】
本実施の形態によれば、ネットワークにおける伝送効率を高めやすくなる。具体的には、中継ノードが許容帯域幅を送信元ノードへ通知するので、中継ノードにおける転送能力を発揮させやすくなる。
【０１６４】
更に、非予約フラグがＯＮに設定されている場合に、要求帯域幅の予約を省くので、他の通信機会を阻害しない。
【０１６５】
更に、より適切な割合でトラフィックを分散させることができる。
【０１６６】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
【０１６７】
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
【０１６８】
なお、上で述べたルータ１９０１は、コンピュータ装置であって、図３０に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１６９】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【０１７０】
一態様の通信装置は、送信元装置と送信先装置とのデータの通信経路に含まれる通信装置であって、（Ａ）通信経路において要求される帯域幅が含まれる第１メッセージを受信する受信部と、（Ｂ）通信経路上、次のデータ転送先となる別の通信装置または送信先装置とのリンクにおける許容帯域幅が、要求される帯域幅に満たない場合に、許容帯域幅を含む第２メッセージを生成する生成部と、（Ｃ）第２メッセージを、第１メッセージの送信元へ向けて返信する送信部とを有する。
【０１７１】
このようにすれば、ネットワークにおける伝送効率を高めやすくなる。具体的には、中継ノードにおける転送能力を発揮させやすくなる。
【０１７２】
更に、許容帯域幅が要求される帯域幅を満たす場合に、第１メッセージに含まれる識別子に従って、要求される帯域幅の予約を省く予約部を有するようにしてもよい。
【０１７３】
このようにすれば、他の通信機会を阻害しない。
【０１７４】
一態様の通信装置は、（Ａ）同一の送信先装置へ至る複数の通信経路に対して、それぞれ要求する帯域幅を含む要求メッセージを送信する送信部と、（Ｂ）要求する帯域幅より小さい許容帯域幅を含むエラーメッセージを受信した場合に、改めて要求する帯域幅として許容帯域幅の値を含む要求メッセージを再生成する生成部とを有し、（Ｃ）上記送信部は、再生成した要求メッセージを同じ通信経路に対して送信し、更に、（Ｄ）複数の通信経路の各々について、要求した帯域幅が許容される旨の応答メッセージを受信した場合に、複数の通信経路の各々において許容された帯域幅に基づくトラフィックの分配を指示する指示部を有する。
【０１７５】
このようにすれば、より適切な割合でトラフィックを分散させることができる。従って、ネットワークにおける伝送効率が高まる。
【０１７６】
なお、上で述べた通信装置の処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
【０１７７】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１７８】
（付記１）
送信元装置と送信先装置とのデータの通信経路に含まれる通信装置であって、
前記通信経路において要求される帯域幅が含まれる第１メッセージを受信する受信部と、
前記通信経路上、次のデータ転送先となる別の通信装置または前記送信先装置とのリンクにおける許容帯域幅が、前記要求される帯域幅に満たない場合に、前記許容帯域幅を含む第２メッセージを生成する生成部と、
前記第２メッセージを、前記第１メッセージの送信元へ向けて返信する送信部と
を有する通信装置。
【０１７９】
（付記２）
更に、
前記許容帯域幅が前記要求される帯域幅を満たす場合に、前記第１メッセージに含まれる識別子に従って、前記要求される帯域幅の予約を省く予約部
を有する付記１記載の通信装置。
【０１８０】
（付記３）
同一の送信先装置へ至る複数の通信経路に対して、それぞれ要求する帯域幅を含む要求メッセージを送信する送信部と、
前記要求する帯域幅より小さい許容帯域幅を含むエラーメッセージを受信した場合に、改めて要求する帯域幅として前記許容帯域幅の値を含む要求メッセージを再生成する生成部と
を有し、
前記送信部は、再生成した前記要求メッセージを同じ通信経路に対して送信し、
更に、
前記複数の通信経路の各々について、要求した帯域幅が許容される旨の応答メッセージを受信した場合に、前記複数の通信経路の各々において許容された前記帯域幅に基づくトラフィックの分配を指示する指示部
を有する通信装置。
【０１８１】
（付記４）
送信元装置と送信先装置とのデータの通信経路において要求される帯域幅が含まれる第１メッセージを受信し、
前記通信経路上、次のデータ転送先となる別の通信装置または前記送信先装置とのリンクにおける許容帯域幅が、前記要求される帯域幅に満たない場合に、前記許容帯域幅を含む第２メッセージを生成し、
前記第２メッセージを、前記第１メッセージの送信元へ向けて返信する
処理を含み、コンピュータにより実行される通信方法。
【０１８２】
（付記５）
同一の送信先装置へ至る複数の通信経路に対して、それぞれ要求する帯域幅を含む要求メッセージを送信し、
前記要求する帯域幅より小さい許容帯域幅を含むエラーメッセージを受信した場合に、改めて要求する帯域幅として前記許容帯域幅の値を含む要求メッセージを再生成し、
再生成した前記要求メッセージを同じ通信経路に対して送信し、
前記複数の通信経路の各々について、要求した帯域幅が許容される旨の応答メッセージを受信した場合に、前記複数の通信経路の各々において許容された前記帯域幅に基づくトラフィックの分配を指示する
処理を含み、コンピュータにより実行される通信方法。
【０１８３】
（付記６）
送信元装置と送信先装置とのデータの通信経路において要求される帯域幅が含まれる第１メッセージを受信し、
前記通信経路上、次のデータ転送先となる別の通信装置または前記送信先装置とのリンクにおける許容帯域幅が、前記要求される帯域幅に満たない場合に、前記許容帯域幅を含む第２メッセージを生成し、
前記第２メッセージを、前記第１メッセージの送信元へ向けて返信する
処理をコンピュータに実行させるプログラム。
【０１８４】
（付記７）
同一の送信先装置へ至る複数の通信経路に対して、それぞれ要求する帯域幅を含む要求メッセージを送信し、
前記要求する帯域幅より小さい許容帯域幅を含むエラーメッセージを受信した場合に、改めて要求する帯域幅として前記許容帯域幅の値を含む要求メッセージを再生成し、
再生成した前記要求メッセージを同じ通信経路に対して送信し、
前記複数の通信経路の各々について、要求した帯域幅が許容される旨の応答メッセージを受信した場合に、前記複数の通信経路の各々において許容された前記帯域幅に基づくトラフィックの分配を指示する
処理をコンピュータに実行させるプログラム。
【符号の説明】
【０１８５】
１９０１  ルータ    １９０３  ルータ設定情報記憶部
１９０５  ルーティング制御部    １９０７  ルーティングテーブル記憶部
１９０９  テーブル管理部    １９１１  ＲＳＶＰ制御部
１９１３  識別子設定部    １９１５  インターフェース処理部
１９１７  入力ＩＦ    １９１９  出力ＩＦ
２３０１  検出部    ２３０３  更新部
２３０５  第１指示部    ２３０７  第１判定部
２３０９  通知部    ２４０１  生成部
２４０３  送信部    ２４０５  受信部
２４０７  応答部    ２４０９  第２指示部
２４１１  第２判定部    ２４１３  返信部
２４１５  転送部    ２４１７  予約部
２４２１  データ記憶部
【図１】
2017041860.tif 000003
【図２】
2017041860.tif 000004
【図３】
2017041860.tif 000005
【図４】
2017041860.tif 000006
【図５】
2017041860.tif 000007
【図６】
2017041860.tif 000008
【図７】
2017041860.tif 000009
【図８】
2017041860.tif 000010
【図９】
2017041860.tif 000011
【図１０】
2017041860.tif 000012
【図１１】
2017041860.tif 000013
【図１２】
2017041860.tif 000014
【図１３】
2017041860.tif 000015
【図１４】
2017041860.tif 000016
【図１５】
2017041860.tif 000017
【図１６】
2017041860.tif 000018
【図１７】
2017041860.tif 000019
【図１８】
2017041860.tif 000020
【図１９】
2017041860.tif 000021
【図２０】
2017041860.tif 000022
【図２１】
2017041860.tif 000023
【図２２】
2017041860.tif 000024
【図２３】
2017041860.tif 000025
【図２４】
2017041860.tif 000026
【図２５】
2017041860.tif 000027
【図２６】
2017041860.tif 000028
【図２７】
2017041860.tif 000029
【図２８】
2017041860.tif 000030
【図２９】
2017041860.tif 000031
【図３０】
2017041860.tif 000032