(57)【要約】【課題】  複数のノードが相互に接続して構成される網目状ネットワークに接続している端末装置から外部ネットワークとの通信を行う経路を複数持つ通信ネットワークにおいて、アプリケーションが必要とする品質に見合う最適な経路を利用することができる通信方式を提案することを目的とする。【解決手段】  複数のノードが相互に接続して構成される網目状ネットワークに接続する端末装置からこの網目状ネットワークを介して外部ネットワークにアクセスする際、網目状ネットワークから外部ネットワークへの通信経路が複数存在する場合に、端末装置と直接接続するノードが、この端末装置から入力されたデータを転送するのに要求される通信品質と各通信経路の通信品質とを照合し、当該データを転送するのに最適な通信経路を選択する。【選択図】      図２ 
2005072720.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードが相互に接続して構成される網目状ネットワークに接続する端末装置から前記網目状ネットワークを介して外部ネットワークにアクセスする通信ネットワークシステムであって、
前記網目状ネットワークから外部ネットワークへの通信経路が複数存在する場合に、前記端末装置と直接接続するノードが、前記端末装置から入力されたデータを転送するのに要求される通信品質と各通信経路の通信品質とを照合し、当該データを転送するのに最適な通信経路を選択する通信経路選択手段を有する
ことを特徴とする通信ネットワークシステム。
【請求項２】
請求項１記載の通信ネットワークシステムにおいて、
前記通信経路選択手段は、前記端末装置と直接接続するノードと前記外部ネットワークのサーバとの間の通信経路にトンネルを設定するトンネル設定手段と、
予めアプリケーションソフトウェア種別の要求する通信品質を記録するアプリケーション種別品質記録手段と、
各通信経路の通信品質を監視する品質確認手段と、
前記品質確認部の監視により得た品質情報を記録する通信経路品質記録手段と、
一又は複数の端末装置から前記ノードに入力された各データが、前記アプリケーション種別品質記録手段に記録されているいずれのアプリケーションソフトウェア種別に該当するか判断し、前記アプリケーション種別品質記録手段及び前記通信経路品質記録手段に記録されている品質情報を照合し、前記各データの要求する品質を確保する一又は複数の通信経路を指定する経路判別手段と備え、
前記指定された通信経路に前記各データを出力する
ことを特徴とする通信ネットワークシステム。
【請求項３】
請求項２記載の通信ネットワークシステムにおいて、
前記トンネル設定手段は、前記トンネルを特定のアプリケーションソフトウェア種別のデータ通信にのみ利用するトンネル、又は任意のアプリケーションソフトウェア種別のデータ通信に利用できるトンネルのいずれかに区分して設定する
ことを特徴とする通信ネットワークシステム。
【請求項４】
複数のノードが相互に接続して構成される網目状ネットワークに接続する端末装置から前記網目状ネットワークを介して外部ネットワークにアクセスする際に前記端末装置と直接接続するノードであり、前記網目状ネットワークから外部ネットワークへの通信経路が複数存在する場合に、前記端末装置から入力されたデータを転送するのに要求される通信品質と各通信経路の通信品質とを照合し、当該データを転送するのに最適な通信経路を選択する
ことを特徴とする通信経路選択装置。
【請求項５】
請求項４記載の通信経路選択装置において、
前記通信経路選択手段は、前記端末装置と直接接続するノードと前記外部ネットワークのサーバとの間の通信経路にトンネルを設定するトンネル設定手段と、
予めアプリケーションソフトウェア種別の要求する通信品質を記録するアプリケーション種別品質記録手段と、
各通信経路の通信品質を監視する品質確認手段と、
前記品質確認手段の監視により得た品質情報を記録する通信経路品質記録手段と、
一又は複数の端末装置から前記ノードに入力された各データが、前記アプリケーション種別品質記録手段に記録されているいずれのアプリケーションソフトウェア種別に該当するか判断し、前記アプリケーション種別品質記録部手段及び前記通信経路品質記録手段に記録されている品質情報を照合し、前記各データの要求する品質を確保する一又は複数の通信経路を指定する経路判別手段とを備え、
前記指定された通信経路に前記各データを出力する
ことを特徴とする通信経路選択装置。
【請求項６】
請求項５記載の通信経路選択装置において、
前記トンネル設定手段は、前記トンネルを特定のアプリケーションソフトウェア種別のデータ通信にのみ利用するトンネル、又は任意のアプリケーションソフトウェア種別のデータ通信に利用できるトンネルのいずれかに区分して設定する
ことを特徴とする通信経路選択装置。
【請求項７】
複数のノードが相互に接続して構成される網目状ネットワークに接続する端末装置から前記網目状ネットワークを介して外部ネットワークにアクセスする情報通信方法であって、
前記網目状ネットワークから外部ネットワークへの通信経路が複数存在する場合に、前記通信経路として前記端末装置と直接接続するノードと前記外部ネットワークのサーバとの間の通信経路にトンネルを設定するステップと、
予めアプリケーションソフトウェア種別の要求する通信品質を記録するステップと、
前記通信経路に設定したトンネルの通信品質を監視するステップと、
監視により得られた前記トンネルの品質情報を記録するステップと、
前記端末装置から前記ノードに入力された各データが、前記アプリケーション種別品質記録手段に記録されているいずれのアプリケーションソフトウェア種別に該当するか判断し、前記アプリケーション種別の要求する通信品質と前記トンネルの通信品質を照合し、前記データの要求する通信品質を確保する一又は複数の通信経路を指定するステップと、
前記指定された通信経路に前記データを出力するステップとを備える
ことを特徴とする情報通信方法。
【請求項８】
請求項７記載の情報通信方法において、
前記トンネルを設定するステップにおいて、前記トンネルを特定のアプリケーションソフトウェア種別のデータ通信にのみ利用するトンネル、又は任意のアプリケーションソフトウェア種別のデータ通信に利用できるトンネルのいずれかに区分して設定する
ことを特徴とする情報通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば網目状に接続されたノードで構成されるネットワークに加入する端末装置から外部ネットワーク上のサーバにアクセスして情報通信を行う通信ネットワークシステム、通信経路選択装置及び情報通信方法に関する。
【背景技術】
【０００２】
近年の無線技術のひとつにアドホックネットワークがあるが、このアドホックネットワークは、多数の端末をアクセスポイントの介在なしに相互に接続する形態(マルチホップ通信)を取っており、無線技術を用い網目状にネットワークを形成して複数経路の利用を可能とする。このため、アドホックネットワークでは基地局やアクセスポイントが不要となり、このようなインフラを持たない場所で安価にネットワークを構築することができ、ある限られた域内での簡易なネットワークの構築の手段として有効である。
【０００３】
しかし、アドホックネットワークは、各ノードが自律的に無線接続してネットワークの構成を行うため、有線ネットワークと違い、例えば通信レートが時々刻々と変化するなど、技術的課題が残されており通信経路の定常的な品質を確保することは困難である。
【０００４】
その対策の一つとして、ネットワーク内でのデータの通信レートに応じて、アプリケーションソフトウェア（以下、アプリケーションと称する。）の起動を制御し、常に良好な動作状態でアプリケーションを動作させるようにしたものに、例えば、ネットワーク内でのクライアント端末とホスト端末との間のデータ通信レートを測定し、その測定履歴に基づいて、その通信レートがクライアント端末の所定アプリケーションを正常に動作させる通信レートに満たないと判断された場合、クライアント端末の所定アプリケーションの起動を制限するようにした技術がある（例えば、特許文献１参照。）。
【特許文献１】特開２００３−１２２６７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載のものは、ネットワーク内の対象とする端末間の通信回線の通信レートを測定して得られる通信レートに応じて、クライアント端末において起動して正常に動作させることのできるアプリケーションのみ起動できるよう制御するものであり、アプリケーションの要求する通信レートが得られない場合は目的のアプリケーションを起動することができないという不都合があった。
【０００６】
また、アドホックネットワークでは、各ノードにとっての最適経路のみを計算し、その経路を利用して通信を行う。しかしその場合、アドホックネットワーク外へアクセスするノードが複数存在したとしても一般のＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）を利用する現状では、アプリケーションソフトウェア等による１つのセッションが利用可能なのは１つの経路のみとなり、同一セッションのときは分散できないため、経路が複数ある利点を生かすことができていないという不都合があった。
【０００７】
斯かる点に鑑み、本発明は、複数のノードが相互に接続して構成される網目状ネットワークに接続している端末装置から外部ネットワークとの通信を行う経路を複数持つ通信ネットワークにおいて、アプリケーションが必要とする品質に見合う最適な経路を利用することができる通信方式を提案することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決し、目的を達成するため、本発明は、複数のノードが相互に接続して構成される網目状ネットワークに接続する端末装置からこの網目状ネットワークを介して外部ネットワークにアクセスする際、網目状ネットワークから外部ネットワークへの通信経路が複数存在する場合に、端末装置と直接接続するノードが、この端末装置から入力されたデータを転送するのに要求される通信品質と各通信経路の通信品質とを照合し、当該データを転送するのに最適な通信経路を選択するようにしたものであり、より具体的には、端末装置と直接接続するノードと外部ネットワークのサーバとの間の通信経路にトンネルを設定するトンネル設定手段と、予めアプリケーションソフトウェア種別の要求する通信品質を記録するアプリケーション種別品質記録手段と、各通信経路の通信品質を監視する品質確認手段と、この品質確認手段の監視により得た品質情報を記録する通信経路品質記録手段と、一又は複数の端末装置からこのノードに入力された各データが、前記アプリケーション種別品質記録手段に記録されているいずれのアプリケーションソフトウェア種別に該当するか判断し、このアプリケーション種別品質記録手段及びこの通信経路品質記録手段に記録されている品質情報を照合し、各データの要求する品質を確保する一又は複数の通信経路を指定する経路判別手段と備え、この指定された通信経路に各データを出力することを特徴とする。
【０００９】
斯かる本発明によれば、網目状ネットワークから外部ネットワークへの通信経路が複数存在する場合に、端末装置と直接接続するノードが、その端末装置から入力されたデータを転送するのに要求される通信品質と各通信経路を監視することにより得た通信品質とを照合することで、対象とするデータを転送するのに必要とされる品質を持つ通信経路を選択し、最適な経路を利用する。
【００１０】
また本発明は、上述トンネル設定手段は、トンネルを特定のアプリケーションソフトウェア種別のデータ通信にのみ利用するトンネル、又は任意のアプリケーションソフトウェア種別のデータ通信に利用できるトンネルのいずれかに区分して設定することを特徴とする。
【００１１】
斯かる本発明において、トンネルを設定する際にトンネルをある特定のアプリケーションソフトウェアに利用する固定用、又は任意のアプリケーションソフトウェアに利用できる一般用のいずれかに区分することで、入力されたデータのアプリケーションソフトウェア種別を特定するだけで、トンネル（通信経路）をアプリケーションソフトウェア種別の要求する品質に合わせて適切に割り当てることができる。
【発明の効果】
【００１２】
斯かる本発明によれば、例えばアドホックな網目状のネットワークから外部ネットワークへの通信を行うために設定した各経路（トンネル）の帯域や遅延時間、パケット損失率等の通信品質に関する情報を得ることで、端末装置から入力されるストリーミングやダウンロードのデータ、音声データ、動画データ、テキストデータなど、各通信に適切な経路を選択することができ、各経路の帯域の有効利用が可能となる。したがって、網目状ネットワークから外部ネットワークへアクセスする際の定常的な通信品質を確保することができる。
【００１３】
また、トンネルを特定のアプリケーションソフトウェア用、又は任意のアプリケーションソフトウェアに利用できる一般用に区分して設定することで、入力されたデータのアプリケーションソフトウェア種別を特定するだけで、トンネル（通信経路）をアプリケーションソフトウェア種別の要求する品質に合わせて適切に割り当てることができ、より効率よく各経路の帯域を有効利用できる。
【発明を実施するための最良の形態】
【００１４】
以下、図１〜図１２を参照して、本発明の一実施の形態の例について説明する。
本例は、ゲートウェイ機能を備えるノード間をアドホックに結合することで通信を実現する自立分散型ネットワークに加入している端末装置から、インターネット等外部ネットワークにアクセスする場合に適用した例としてあり、この例のアドホックな通信ネットワーク自体は、ＭＡＮＥＴ（Mobile Ad-hoc Networks）等既存の技術を用いていわゆる略網目状（メッシュ）のネットワークを構成している。
【００１５】
図１に、本例の通信ネットワークシステムの全体図を示す。
１はゲートウェイ機能を備えたノード２〜７より構成されるアドホックネットワークに接続可能な端末装置である。ノード２〜７は周囲に存在する複数のノードと相互接続し、この例ではＩＰ（Internet Protocol）によりネットワーク（以下、ＮＷと称する。）１０を形成する。８はインターネット等の外部ネットワーク（以下、外部ＮＷと称する。）２０上に設けられ、アドホックネットワーク上のノード６又は７からの通信要求及びデータを受信するサーバである。このサーバ８はＮＷ１０内のノードと後述するトンネルを形成するトンネルサーバとしても機能する。９はサーバ８と通信可能に接続されている端末装置である。この例では、アクセス回線に接続するノード６，７がアクセスノード、その他は一般ノードとなっている。
【００１６】
図２に、本例の網目状ネットワークを形成するノードのソフトウェアモジュール構成を示す。
図中示すように、ＭＡＮＥＴモジュール３０、トンネル設定モジュール３１、ノード認証モジュール３２、品質確認モジュール３３、アプリケーションデータベース（以下、アプリケーションＤＢと称する。）３４、トンネル情報データベース（以下、トンネルＤＢと称する。）３５、ルーティングテーブル３６、パケット入力モジュール３７、パケット判定モジュール３８及びパケット出力モジュール３９により構成され、図示しないＲＯＭ（Read Only Memory）に格納されているものとする。
【００１７】
トンネル設定モジュール３１及びノード認証モジュール３２はトンネル設定手段として機能し、トンネル設定を行う際に必要となるトンネル形成情報、トンネル設定要求、ノード認証等を送受信する。そして、品質確認手段として機能する品質確認モジュール３３は、トンネル設定モジュール３１からトンネル設定情報を受信し、例えば端末装置と直接接続するノード２のような一般ノードにおける品質確認モジュール３３は、実際に接続を設定したトンネルの通信品質を定期的に監視して、その品質情報をトンネルＤＢ３５に登録するとともに、後述するアプリケーションＤＢ３４に登録されたアプリケーション種別の要求する通信品質との比較等を行う。
【００１８】
アプリケーションＤＢ３４はアプリケーションソフトウェア（以下、アプリケーションと称する。）種別の要求する通信品質を記録するアプリケーション種別品質記録手段として機能し、ノードを通るデータが要求する品質をアプリケーション毎に整理して格納するデータベースであり、例えば後述の図１１に示すように、アプリケーション種別、ＤＳＣＰ（DiffServ Code Point）、遅延時間、パケット損失率、伝送帯域、セッション数等の情報が登録されている。このセッション数は、例えば図１のノード２に複数の端末装置を接続し通信を行うような場合を想定したときに、同一アプリケーション種別においてノード２が同時に制御可能なセッション数を表す。
【００１９】
トンネルＤＢ３５は通信経路品質記録手段として機能し、品質確認モジュール３３により設定されたトンネルを定常的に監視して得られる品質情報、例えば後述の図１２に示すように、経路上のアクセスノードのＩＤ、ＩＰアドレス、遅延時間、パケット損失率、割当帯域、通信品質の測定時刻等の情報が格納されている。
【００２０】
ルーティングテーブル３６は、一般的なルーティングとしてこの例ではアドホックネットワーク内の経路表や設定したトンネルの経路表を保持する。
【００２１】
ＭＡＮＥＴモジュール３０は、隣接するノードと自立的にネットワークを構築するとともに、例えば、上述ルーティングテーブル３６の経路表に基づいてＩＥＴＦ（Internet Engineering Task Force）のワーキンググループ（ＷＧ）で種々提案されているようなＭＡＮＥＴルーティングプロトコルによる通信を行う。
【００２２】
パケット入力モジュール３７は、一般ノード側ではＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）などから入力されてきたパケットの処理を行う。アクセスノードでも同様である。パケット入力モジュール３７は外部から受信したパケットをパケット判定モジュール３８に供給する。
【００２３】
パケット判定モジュール３８は経路判別手段として機能し、アプリケーションＤＢ３４及びトンネルＤＢ３５を照合してパケット入力モジュール３７で抽出したパケットの情報をどのトンネル（通信経路）を通って外部ネットワークに転送するかを指定しパケット出力モジュール３９に送信する。パケット出力モジュール３９は、パケット判定モジュール３８で指定された経路にパケットを出力する。
【００２４】
各ノードのこれらのモジュールは、ノード認証モジュール３２、トンネル設定モジュール３１、品質確認モジュール３３及びＭＡＮＥＴモジュール３０により制御部を構成し、また、パケット入力モジュール３７、パケット判定モジュール３８及びパケット出力モジュール３９によりパケット処理部を構成し、制御部及びパケット処理部が、アプリケーションデータベース３４、トンネル情報データベース３５とルーティングテーブル３６に格納された情報に応じて、パケットの適切な通信制御を行う。
【００２５】
上述の如く構成される各ノードの一般ノードにおける主な機能は、次のようなものである。
１．既存技術を用いて自立的にアドホックネットワークを構築する。
２．アクセスノードからのブロードキャストを受信し、その情報を元にトンネルの設定を行う。
３．アクセスノードにトンネリングによる接続要求を行う。
４．接続したトンネルの品質を定期的に監視する。
５．入出力されるアプリケーションの要求する品質が格納されているＤＢを保持する。
６．で監視しているトンネルの品質が格納されているＤＢを保持する。
７．アドホックネットワークとトンネルの経路情報を保持する。
８．ＬＡＮやＷＡＮなど、他のノードから入力されるパケットの処理を行う。
９．パケット入力モジュールで抽出したパケットの情報を元に、パケットの転送先を決定する。
１０.パケット判定モジュールで指定された経路にパケットを出力する。
【００２６】
また、アクセスノードにおける主な機能は、次のようなものである。
１．既存技術を用いて自立的にアドホックネットワークを構築する。
２．自身が接続しているアクセス回線の情報と、各ノードに対して許容する通信帯域をブロードキャストなどの手法によりアドホックネットワーク内に広告する。
３．一般ノードからの接続要求の認証を行う。
４．アドホックネットワークとトンネルの経路情報を保持する。
５．ＬＡＮやＷＡＮなど、他のノードから入力されるパケットの処理を行う。
６．パケット入力モジュールで抽出したパケットの情報を元に、パケットの転送先を決定する。
７．パケット判定モジュールで指定された経路にパケットを出力する。
【００２７】
図３を参照して、ネットワーク内のアクセスノードと一般ノード間で行われる情報伝達を説明する。
まず、アクセスノードはトンネル設定モジュール３１ａより不特定の一般ノードに対し、トンネル形成情報として利用されるデフォルトルート（デフォルト通信経路）情報を定期的にブロードキャスト（配布）する。一般ノードはトンネル設定モジュール３１ａにてデフォルトルート情報を受信し、その情報を基にアクセスノードに対しトンネリングによる接続（トンネル設定）要求を行う。
【００２８】
アクセスノードは一般ノードからのトンネル設定要求に応じ、トンネル設定モジュール３１ｂがノード認証モジュール３２ｂにノード認証要求信号を出力する。ノード認証モジュール３２ｂはトンネル設定を要求した一般ノードに対しノード認証する旨を通知する。ノード認証通知を受け取ったトンネル設定モジュール３２ａは、例えば明らかにトンネルの帯域が狭かったりパケット損失率が大きい等の問題が見られなければ、アクセスノードへノード認証に対する応答をする。
【００２９】
また、アクセスノードはノード認証モジュール３２ｂにて一般ノードからのノード認証の応答を受信して、トンネル設定モジュール３１ｂへトンネル設定許可信号を供給し、トンネル設定モジュール３１ｂから一般ノードへトンネル設定情報を送信する。
【００３０】
そして、一般ノードではトンネル設定モジュール３１ａにてトンネル設定情報を受信し図２に示したルーティングテーブル３６に登録するとともに、品質確認モジュール３３ａはこのトンネル設定情報を基に定常的にトンネルの品質監視を行い、そのトンネルの品質をトンネルＤＢ３５ａにトンネル情報として登録する。そして、後述するが品質確認モジュール３３ａはアプリケーションＤＢ３４ａに登録されているアプリケーション情報を参照して登録されているトンネル情報とアプリケーション種別の要求する品質との整合性を判断し、ＱｏＳ（Quality of Service）を実現する。
【００３１】
次に、本例の通信ネットワークシステムのトンネル設定について、図４〜６の説明図、図７，８のフローチャートを参照して説明する。
まず、各ノードは、既存技術を用いて自立的にアドホックなネットワーク（ＮＷ）１０を構築する。各ノードは、特定のアプリケーションについて、ＩＰ／ＩＣＭＰ（Internet Control Message Protocol）ヘッダなどのＯＳＩ参照モデルでのレイヤー３ヘッダ、及びＴＣＰ（Transmission Control Protocol）／ＵＤＰ（User Datagram Protocol）ヘッダなどのレイヤー４ヘッダの情報、並びにそのアプリケーションが要求する遅延・帯域・パケット損失率などの情報を、図２に示したようにデータベースとして保持する。
【００３２】
図４にトンネル設定を行う際のデフォルトルート情報配布の説明図を示す。外部ＮＷ２０に接続しているアクセスノード６，７は、ＮＷ１０外と接続している旨をトンネル形成情報として利用されるデフォルトルート（デフォルト通信経路）情報を、隣接するノードにブロードキャスト（配布）する（ステップＳ１）。
【００３３】
この例では、ノード２は、図４に示すようなノード６，３を通る経路とノード７，４を通る経路のトンネル形成情報を受信する。このトンネル形成情報の基となるデフォルト通信経路情報はＮＷ１０上を定常的にブロードキャストされており、端末装置１がＮＷ１０に接続したときに受信され、通常のＩＰ層でのやり取り、あるいはアプリケーション層でのやり取り、いずれでも構わない。
【００３４】
図５は、本例のアドホックネットワーク内トンネル設定の説明図である。ノード２は、受け取ったデフォルト通信経路情報に従って、アクセスノード６，７に対し、トンネル設定をリクエストする（ステップＳ２）。トンネルの設定に関しては既存の技術が用いられる。ＮＷ１０内での盗聴等を防ぐため、例えば、ＩＰ−ｉｎ−ＩＰ（ＲＦＣ １８５３）やＧＲＥ（ＲＦＣ １７０１）よりは、ＩＰｓｅｃ（Security Architecture for Internet Protocol）のトンネルモードの利用がより好ましい。
【００３５】
アクセスノード６，７は、リクエストしてきたノード２の認証を行うか否かを判断し（ステップＳ３）、接続対象として不適切であると判断したならば認証を拒否し、所定の指定回数認証を失敗したかどうかを判別し（ステップＳ４）、指定回数認証を失敗していないのであればステップＳ２の処理に戻り、トンネルリクエストを繰り返す。指定回数認証を失敗したときはトンネル設定処理を終了する。アクセスノード６，７はノード２が接続対象として適切であると判断し認証が通った場合にノード２へトンネルの情報を送信する（ステップＳ５）。
【００３６】
ノード２は、アクセスノード６，７から受信したトンネル情報がノード２にとって有効なものであるかどうかを判断し（ステップＳ６）、有効でない場合はトンネル設定処理を終了する。有効であると判断した場合、ノード２は受信したトンネル情報を基に、ノード２とノード６及びノード７の間でそれぞれトンネルを設定する（ステップＳ７）。
【００３７】
図６は、本例のメッシュネットワーク外トンネル設定の説明図である。端末装置１と接続されたノード２とアクセスノード６，７との間に張られたトンネル１１，１２を利用し、さらに外部ネットワーク２０上のサーバ８との間にトンネルを設定する。ノード２は、デフォルト通信経路を設定した各トンネル１１，１２から、ＮＷ１０外のサーバ８に向けてトンネル接続を要求する。この際、サーバ８による認証が行われる。ノードの識別には、該当ノードの機器ＩＤやＮＷ１０内のＩＰアドレスが送信され、認証に利用される。
【００３８】
また、トンネルサーバ８は通常の認証処理に加え、以下の登録を行う。ノード２に対し使用されるＩＰアドレスは通信経路の分複数あるが、それらを登録しておくことで、複数のトンネルからの通信を１つのフロー（flow）として識別する。トンネルサーバ８は、ノード２との間に張られた複数のトンネルから届くパケットのヘッダを外し、上述ＩＰアドレスに基づいて１つのフローに戻す。
【００３９】
サーバ８はノード２からのトンネル設定要求に際し、接続対象として不適切であると判断したならば認証を拒否する。また、接続対象として問題がなければ適切であると判断し認証を許可する旨をノード２に返信し、トンネル１１を利用してノード２とサーバ８との間でトンネルを設定する。同様に、ＮＷ１０内に設定したトンネル１２を利用してノード２とサーバ８とのトンネルを設定する。設定されたトンネル情報は、トンネルＤＢに登録される。図６の例では、ＮＷ１０の端末装置１から外部ＮＷ２０のサーバ８にアクセス可能なトンネル（通信経路）が２つ存在する。
【００４０】
次に、設定したトンネルの品質監視を行う定常的トンネル監視フェーズについて説明する。
まず、ノード２はトンネルを設定するとその新規に設定したトンネルの情報をトンネルＤＢに追加登録する（ステップＳ８）。このときのトンネル追加フローについて、図８のフローチャートを参照して説明する。
【００４１】
ノード２はアプリケーションＤＢに、例えばストリーミングデータ等の特殊な転送ルールを要求するアプリケーションが存在するか否かを判断する。ノードは、アプリケーションＤＢとトンネルＤＢを比較し、個別アプリケーション種別の要求する通信品質を確保できるトンネルが存在するかを確認する（ステップＳ２１）。特殊な転送ルールが存在しない場合には、新規トンネルを一般トンネルに追加する（ステップＳ２２）。ここで一般トンネルとは、特定のアプリケーション用途の通信に限定されない、他目的に利用されるトンネルである。また、特殊用トンネルとは特定アプリケーション用途にのみ使用するトンネルを指すものとする。
【００４２】
次に、特殊な転送ルールを要求するアプリケーションがアプリケーションＤＢに存在する場合、新規設定したトンネルを含めトンネルＤＢに登録されているトンネルの中に、この特殊な転送ルールに最適なトンネルが存在するか否かを判断し（ステップＳ２３）、存在しない場合新規トンネルを一般トンネルに追加登録する（ステップＳ２４）。
【００４３】
ステップＳ２３の処理で特殊な転送ルールに対し最適なトンネルが存在する場合、まず、それが一本のときはその一本のトンネルが新規トンネルか否かを判断する（ステップＳ２５）。新規トンネルであった場合には、その新規トンネルを専ら特殊な転送ルールのアプリケーションの通信に限定した特殊用（個別用）トンネルに設定しトンネルＤＢに登録する（ステップＳ２６）。新規トンネルでない場合は、新規トンネルを一般トンネルに、該当トンネルを特殊用トンネルに設定、登録する（ステップＳ２７）。
【００４４】
また、ステップＳ２３の処理で特殊な転送ルールに対しトンネルＤＢに最適なトンネルが存在する場合、まず、それが複数本のときはその複数本のトンネルの中に新規トンネルが含まれるか否かを判断する（ステップＳ２８）。新規トンネルが含まれる場合には、その新規トンネルを含むトンネル群を専ら特殊な転送ルールのアプリケーションの通信に限定した特殊用トンネルに設定、登録し（ステップＳ２９）、新規トンネルを含まない場合は、新規トンネルを一般トンネルに、該当トンネル群を特殊用トンネルに設定、登録する（ステップＳ３０）。
【００４５】
このように、トンネルを予め一般用及び特殊用に割り当ててデータベースに登録することで、端末装置からノードに入力されたデータのアプリケーションが要求する品質に応じて即座に適切なトンネル（通信経路）を選択することができる。
【００４６】
そして、ノード２の品質確認モジュールからサーバ８との間に張られたトンネルに対し、例えば１秒間隔などで定期的に死活確認・品質情報要求用のビーコンを送信し（ステップＳ９）、サーバ８のトンネル通信品質応答モジュール（図示せず）から応答される、遅延時間、パケット損失率等の品質情報を収集しトンネルＤＢに記録する。このとき、ビーコンの送信に対してトンネルからの反応があるか否かを判断し（ステップＳ１０）、反応があり品質情報要求に対する応答が返ってきた場合には、返信されてきたトンネル品質情報をデータベースに反映するとともに、図１２の測定時刻を基に設定した有効期間を更新し（ステップＳ１１）、ステップＳ８の処理に移行して定常的トンネル監視を続ける。
【００４７】
有効期間内にトンネルからの反応がない場合には、そのトンネルの情報をトンネルＤＢから削除し切断する（ステップＳ１２）。例えば、所定回数ビーコンを送信して応答がなかったら通信経路ダウンと判断してそのトンネルをトンネルＤＢから削除し切断したり、或いは、トンネルの品質が一定の基準以下になった場合には、死活監視で該当しなくてもトンネルを切断するようにしてもよい。これらトンネルの品質情報をデータベースに保持する。
【００４８】
尚、ステップＳ８の一連のトンネル追加フローにおいて、全ての新規に設定するトンネルをまず一般用トンネルとして登録するという方法が考えられる。即ち、一般ノードは、一番初めに設定したトンネルを一般アプリケーション用のトンネルとして登録し、アプリケーション固有のトンネルが設定されるまでは、一般用トンネルを用いて全てのアプリケーションを転送する。以降、新規トンネルが設定された場合、そのトンネルは最初は一般トンネルとして追加・登録し、定常的トンネル監視の過程で、時々刻々と変化するトンネルの通信品質に応じて随時用途の変更を行うようにする。
【００４９】
ノードは、アプリケーションＤＢとトンネルＤＢを比較し、個別アプリケーション種別の要求する通信品質を確保できるトンネルが存在するか定期的に確認する。１本のトンネルで品質を確保できない場合は、確保できるまでそのアプリケーションは一般用トンネルを用いて転送される。個別用トンネルは、一般用トンネルが残り１本になるまで追加することができる。一般用トンネルを最低１本残しておくことで、全てのアプリケーションに対応することができ、アプリケーション種別に依っては対応するトンネルがなく通信できないという事態を回避する。
【００５０】
図９は、本例の通信ネットワークシステムがＮＷ１０に接続する端末装置１が外部ネットワーク２０の端末装置９と通信する場合の一例を示し、以下のようなパケットフォーマット形式で実装することができる。
【００５１】
この例は、ＩＰｓｅｃ（トンネルモード）＋ＮＡＴ（Network Address Translation）トラバーサルの応用形態であるが、このとき、サーバ８は下記の機能を果たす。
・機器ＩＤを見て、適切なＩＰアドレスに変換する機能を持つ。
・適切な時間キュー方式（queue）にバッファし、できるだけＴＣＰのシーケンス番号順に送出する。
・ＵＤＰの場合はそのまま送出する。
【００５２】
それぞれの機器にＩＰアドレスを割り当て、例えば、端末装置１はＩＰアドレス「ＩＰ−ｚ」及び機器ＩＤ「Ｅ−ＩＤ」、通信経路選択装置であるノード２はＮＡＴによりＩＰアドレス「ＩＰ−Ｚ」とする。また、アクセス回路に接続するノード６，７は、それぞれＮＷ１０側よりＮＡＴによるＩＰアドレス「ＩＰ−Ａ」、「ＩＰ−Ｂ」及び外部ＮＷ２０よりＮＡＰＴ（Network Address Port Translation）によるＩＰアドレス「ＩＰ−１」、「ＩＰ−２」とする。さらにまた、サーバ８はＮＡＰＴによるＩＰアドレス「ＩＰ−３」、端末装置９はＩＰアドレス「ＩＰ−４」とする。
【００５３】
ノード２からサーバ８へ複数のトンネルが張られている場合、ノード２は、端末装置１から発信されるデータを、ラウンドロビン（round-robin）などの方式により複数のＩＰアドレスを割り当て、１パケット単位で自身が利用可能なトンネルに対し転送する。このとき端末装置１からノード２への通信のパケット情報は、「ＤＡＴＡ」「ＴＣＰヘッダ（ｚ→４）」のみである。そして、ノード２によりトンネル１１，１２の２つの通信経路に分散して転送されると、ノード２からノード６及びノード７への通信のパケット情報は、「ＤＡＴＡ」「ＩＰヘッダ」「ＩＰｓｅｃヘッダ」「トンネルＩＰヘッダ」となり、トンネル１１，１２の両端のノードのＩＰアドレス情報を表す「ＩＰｓｅｃヘッダ」とトンネル内を送信するための「トンネルＩＰヘッダ」が付加される。
【００５４】
さらに、ノード６から外部ＮＷ２０内のサーバ８へ転送されると、その通信パケット情報は、ＮＷ１０上でトンネル１１，１２を利用して送信する情報が消え、ここではＮＷ１０とＮＷ２０間の通信のプロトコルとしてＵＤＰを用いていることで「ＵＤＰヘッダ」がそれぞれ付加されている。サーバ８は、機器ＩＤとＴＣＰヘッダに基づいてノード６，７から送信されたパケットの出所が同一のノード２からのものであると判断して、パケット単位に分散された情報の再構成を行う。このとき、この例では、ＵＤＰによる通信であるので、ラウンドトリップ時間を考慮して再構成し、「ＤＡＴＡ」「ＴＣＰヘッダ（３→４）」の情報として、サーバ８から端末装置９へパケットを一つの通信情報に再構成したものを転送することで、端末装置９は、端末装置１からのデータを受け取ることができる。
【００５５】
サーバ８は、単一のノード２から複数のトンネルが張られている時、該当ノード２の機器ＩＤやＮＷ１０内のＩＰアドレスによって同一のノード２からの異なるトンネルであることを認識し、複数のトンネル経由で転送される同一のノードからのパケットをひとつの通信に再構成する。例えば、ＴＣＰの場合はシーケンス番号で、ＵＤＰの場合はラウンドトリップ時間（ＲＴＴ：Round Trip Time）の差分を利用して正しい順序での再構成を行い、外部へ転送する。
【００５６】
以上の仕組みを実装することで、ノード２に接続する端末装置は、隣接するノードとの経路を複数利用することができ、１つのセッションを複数帯域に分散させることが可能であるため、一つあたりの通信経路にかかる負担を軽減し、通信速度の上限を大幅に向上することができる。さらに、複数セッションを同時に通信することができる。
【００５７】
本例の通信ネットワークシステムにおいて端末装置からデータが入力されたときの通信経路の選択について、図１２を参照して説明する。この図１２は、図１、図６〜図８と比較すると、アドホックネットワーク上のアクセスノード６，７はそれぞれ外部ネットワーク２１，２３を経由してネットワーク２２の図示しないサーバと接続するとともにそれぞれトンネル２４，２５を設定し、端末装置９と通信するようにしている点が相違しているがその他は同様の構成である。
【００５８】
端末装置１又は９から見れば、トンネル１１及び２４、若しくはトンネル１２及び２５を経由して、あたかも各端末装置からはデータがノード２とネットワーク２２上の図示しないサーバと間を直接通信されているように見えるが、実際には、それぞれ太線部を経由して端末装置１と端末装置９間のデータ通信が行われる。
【００５９】
端末装置１と直接接続しているノード２は、端末装置１からデータ（パケット）が入力されてきたときに、ＩＰ／ＩＣＭＰヘッダなどのレイヤー３ヘッダ、及びＴＣＰ/ＵＤＰヘッダなどのレイヤー４ヘッダ、アプリケーションヘッダなどのレイヤーＬ５〜Ｌ７ヘッダを参照し、そのパケットが何のアプリケーションなのかを判断する。
【００６０】
このとき、パケットの宛先がアドホックネットワーク内の場合は、外部から転送中に覗き見られたり改ざんされたりする恐れが少ないので、トンネルを利用せず、そのままルーティングテーブルに記録されているアドホックネットワークの転送ルールに従ってパケットを目的のノードまで転送する。
【００６１】
宛先がアドホックネットワーク外の場合は、ノード２と外部ネットワーク２２との間に張られたトンネルを利用して通信を行う。そのアプリケーション用のトンネルが設定されている場合はそのトンネルを用いてパケットを転送する。複数のトンネルがそのアプリケーション用に割り当てられている場合は、ラウンドロビン（round-robin）などの手順により、パケット単位で割り当てたトンネルに振り分けて転送する。
【００６２】
ノード２はそのアプリケーションがアプリケーションＤＢのどのアプリケーション種別に該当するかを判断し、トンネルＤＢからそのアプリケーション種別に対応したトンネルを選択する。
【００６３】
ノード２は、アプリケーションの要求する遅延とパケット損失率の両方を満たすトンネルを検索し、検索にヒットしたトンネルのうち、１本で合計帯域（要求帯域×セッション数）を満足するトンネルが存在する場合はその１本をそのアプリケーションに割り当てて転送する。１本で満たすことができない場合は、帯域が最も広いトンネルを含めた複数本のトンネルを１組としてアプリケーションに割り当てを行い転送する。複数本を用いても満たすことができない場合、及び検索にヒットしなかった場合はそのアプリケーション固有のトンネルの設定は行わず、一般トンネルを用いて転送する。
【００６４】
図中示すように、ノード２から外部ネットワーク２２へ２つの通信経路が設定されている場合、例えば、アクセスノード６のＩＤを図４のトンネルＤＢのＩＤ−Ａ、アクセスノード７を同ＩＤ−Ｂとすると、図１２に示すアプリケーションＡが図３のアプリケーションＤＢのＶｏＩＰであるとき、パケット判定モジュールでは遅延時間、パケット損失等を考慮してアクセスノード６を通る経路（ＶｏＩＰ用トンネルに設定されているとき）が最適通信回路であると判断して、データ転送を行う。
【００６５】
また同様に、アプリケーションＢが図３のアプリケーションＤＢのストリーミングであるとき、パケット判定モジュール３８では遅延時間、パケット損失等を考慮して最適な通信経路をアクセスノード７を通る経路（ストリーミング用トンネルに設定されているとき）であると判断して、パケットデータの転送が行われ、アプリケーションの種別、通信経路の通信品質に応じて、最適な通信経路を選択することができる。
【００６６】
先にも述べたように、特殊用トンネルが設定されていない場合には、一般トンネルを利用して転送し、上述アプリケーションＡ及びＢがそれぞれ要求する通信品質を最も満たしているトンネルを選択し転送するようにする。
【００６７】
また、図１２において、よく利用するアプリケーション種別を利用者がノード２のアプリケーションＤＢに登録できるようにしておくと、そのアプリケーション種別の品質を確保するトンネルが設定されるようになるので、目的のアプリケーション種別に合ったトンネルを割り当てることができより効率的な通信を行うことができる。
【００６８】
斯かる本例によれば、アドホックな網目状のネットワークから外部ネットワークへの通信を行うために設定した各経路（トンネル）の帯域や遅延時間、パケット損失率等の情報を得ることで、ストリーミングやダウンロード、音声データ、動画データ、テキストデータなど、各通信に適切な経路を選択することができる。さらに、端末装置からアドホックなネットワーク外への通信及びネットワーク内に閉じた通信によってトンネルの挙動を分けることによって、帯域の有効利用が可能となる。
【００６９】
尚、上述実施の形態の例では、無線接続により網目状ネットワークを構成しているが無線に限るものではなく、また、網目状ネットワークに直接接続する端末装置からこの網目状ネットワークの外部のネットワークに接続する際の網目状ネットワーク上での通信経路を複数有するものであればよい。一般に有線で形成されたネットワークは無線のそれよりも通信経路の品質が安定しているが、トラフィックの増加によって転送レートが変化するような経路が設けられているベストエフォート型のサービスを用いている場合にも本発明を適用して通信経路（トンネル）の死活監視・品質監視を行うことで、通信品質をより良好な状態で安定させることができる。
【００７０】
また、本発明は上述した実施の形態の例に限られるものではなく、本発明の要旨を逸脱することなくその他種々の構成を取り得ることは勿論である。
【図面の簡単な説明】
【００７１】
【図１】本発明の一実施の形態の例の通信ネットワーク構成図である。
【図２】本発明の一実施の形態の例のノードのモジュール構成図である。
【図３】本発明の一実施の形態の例のアクセスノードと一般ノードの情報伝達を示す説明図である。
【図４】本発明の一実施の形態の例のデフォルトルート情報配布の説明図である。
【図５】本発明の一実施の形態の例のアドホックネットワーク内トンネル設定の説明図である。
【図６】本発明の一実施の形態の例のアドホックネットワーク外トンネル設定の説明図である
【図７】本発明の一実施の形態の例のトンネル設定フローチャートである。
【図８】本発明の一実施の形態の例のトンネル追加フローチャートである
【図９】本発明の一実施の形態の例のデータ通信の説明図である。
【図１０】本発明の一実施の形態の例の通信経路選択の説明図である。
【図１１】本発明の一実施の形態の例のアプリケーションデータベースの説明図である。
【図１２】本発明の一実施の形態の例のトンネル情報データベースの説明図である。
【符号の説明】
【００７２】
１，９…端末装置、２…ノード（通信経路選択装置）、３，４，５，６，７…ノード、８…サーバ、１０…網目状ネットワーク、１１，１２，２４，２５…トンネル、２０，２１，２２，２３…外部ネットワーク、３１…トンネル設定モジュール、３２…ノード認証モジュール、３３…品質確認モジュール、３４…アプリケーションデータベース、３５…トンネルデータ情報ベース、３８…パケット判定モジュール
【図１】
2005072720.tif 000003
【図２】
2005072720.tif 000004
【図３】
2005072720.tif 000005
【図４】
2005072720.tif 000006
【図５】
2005072720.tif 000007
【図６】
2005072720.tif 000008
【図７】
2005072720.tif 000009
【図８】
2005072720.tif 000010
【図９】
2005072720.tif 000011
【図１０】
2005072720.tif 000012
【図１１】
2005072720.tif 000013
【図１２】
2005072720.tif 000014