(57)【要約】【課題】相手端末との通信状況を動的に把握したうえで、通信状況に応じたルーティングを行うことのできる端末間の通信経路制御方法、端末間の通信経路制御プログラム、及びその通信経路制御方法を実行する通信端末を得る。【解決手段】通信環境の状態を表すパラメータに基づいて求めた伝播状態評価値に基づいて、端末間の通信経路を制御する方法であって、通信相手の端末毎に伝播状態値を格納した伝播状態テーブル１１５を端末内に設け、所定の時間間隔で、伝播状態テーブル１１５に格納した伝播状態値を自動的に修正して評価を下げるとともに、通信パケットを受信した際には、当該通信パケットの送信元端末の伝播状態値を計算して、伝播状態テーブル１５の該当箇所に格納することを特徴とする。【選択図】図１
2008067208.tif 000002
【特許請求の範囲】
【請求項１】
通信環境の状態を表すパラメータに基づいて求めた伝播状態評価値に基づいて、端末間の通信経路を制御する方法であって、
通信相手の端末毎に前記伝播状態評価値を格納した伝播状態テーブルを端末内に設け、
所定の時間間隔で、前記伝播状態テーブルに格納した伝播状態評価値を自動的に修正して評価を下げるとともに、
通信パケットを受信した際には、
当該通信パケットの送信元端末の伝播状態評価値を計算して、前記伝播状態テーブルの該当箇所に格納することを特徴とする端末間の通信経路制御方法。
【請求項２】
前記伝播状態評価値が第１所定値以上である端末は通信可能であるものとみなし、
端末間の通信経路エントリに当該端末を追加ないしは既エントリを更新することを特徴とする請求項１に記載の端末間の通信経路制御方法。
【請求項３】
前記伝播状態評価値が前記第１所定値未満である端末は通信不可であるものとみなし、
端末間の通信経路エントリから当該端末を削除することを特徴とする請求項２に記載の端末間の通信経路制御方法。
【請求項４】
前記伝播状態評価値が第２所定値以下の端末に対して存在確認パケットを送信し、
その応答パケットを受信した際には、
当該応答パケットに基づいて当該端末の伝播状態評価値を計算して、前記伝播状態テーブルの該当箇所に格納し、
応答パケットを受信できない際には、
当該端末は通信不可であるものとみなし、端末間の通信経路エントリから当該端末を削除することを特徴とする請求項３に記載の端末間の通信経路制御方法。
【請求項５】
各端末は、自身の位置情報を含む通信パケットを送信し、
通信パケットを受信した端末は、
送信元端末の位置情報に基づいて端末間距離を算出し、当該端末間距離に基づいて前記伝播状態評価値を計算することを特徴とする請求項１ないし請求項４のいずれかに記載の端末間の通信経路制御方法。
【請求項６】
各端末は、ホップ数を含む通信パケットを送信し、
通信パケットを受信した端末は、
当該ホップ数に基づいて前記伝播状態評価値を計算することを特徴とする請求項５に記載の端末間の通信経路制御方法。
【請求項７】
通信パケットを受信した端末は、
受信電力に基づいて前記伝播状態評価値を計算することを特徴とする請求項５又は請求項６に記載の端末間の通信経路制御方法。
【請求項８】
請求項１ないし請求項７に記載の端末間の通信経路制御方法をコンピュータに実行させることを特徴とする端末間の通信経路制御プログラム。
【請求項９】
通信パケットの送信部及び受信部と、
通信環境の状態を表すパラメータに基づいて端末の伝播状態評価値を計算する伝播状態評価値計算部と、
通信相手の端末毎に前記伝播状態評価値を格納する伝播状態テーブルと、
前記伝播状態評価値に基づいて端末間の通信経路を算出する通信経路算出部と、
端末間の通信経路エントリを格納する通信経路テーブルとを有し、
前記伝播状態評価値計算部は、
所定の時間間隔で、前記伝播状態テーブルに格納した伝播状態評価値を自動的に修正して評価を下げるとともに、
通信パケットを受信した際には、
当該通信パケットの送信元端末の伝播状態評価値を計算して、前記伝播状態テーブルの該当箇所に格納することを特徴とする通信端末。
【請求項１０】
前記通信経路算出部は、
前記伝播状態評価値が第１所定値以上である端末は通信可能であるものとみなし、
端末間の通信経路エントリに当該端末を追加ないしは既エントリを更新することを特徴とする請求項９に記載の通信端末。
【請求項１１】
前記通信経路算出部は、
前記伝播状態評価値が前記第１所定値未満である端末は通信不可であるものとみなし、
端末間の通信経路エントリから当該端末を削除することを特徴とする請求項１０に記載の通信端末。
【請求項１２】
前記送信部は、
前記伝播状態評価値が第２所定値以下の端末に対して存在確認パケットを送信し、
前記伝播状態評価値計算部は、前記受信部がその応答パケットを受信した際に、
当該応答パケットに基づいて当該端末の伝播状態評価値を計算して、前記伝播状態テーブルの該当箇所に格納し、
前記通信経路算出部は、応答パケットを受信できない際に、
当該端末は通信不可であるものとみなし、端末間の通信経路エントリから当該端末を削除することを特徴とする請求項１１に記載の通信端末。
【請求項１３】
前記送信部は、自端末の位置情報を含む通信パケットを送信し、
前記伝播状態評価値計算部は、
送信元端末の位置情報に基づいて端末間距離を算出し、当該端末間距離に基づいて前記伝播状態評価値を計算することを特徴とする請求項９ないし請求項１２のいずれかに記載の通信端末。
【請求項１４】
前記送信部は、ホップ数を含む通信パケットを送信し、
前記伝播状態評価値計算部は、
当該ホップ数に基づいて前記伝播状態評価値を計算することを特徴とする請求項１３に記載の通信端末。
【請求項１５】
前記伝播状態評価値計算部は、
受信電力に基づいて前記伝播状態評価値を計算することを特徴とする請求項１３又は請求項１４に記載の通信端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末間の通信経路制御方法、端末間の通信経路制御プログラム、及びその通信経路制御方法を実行する通信端末に関するものであり、特に通信環境に応じて動的に経路制御をおこなう方法に関するものである。
【背景技術】
【０００２】
従来、アドホックネットワークにおける通信経路制御（ルーティング）プロトコルとして、インターネット技術標準化委員会（ＩＥＴＦ：Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）が提案するＡＯＤＶ（Ａｄ  ｈｏｃ  Ｏｎ−Ｄｅｍａｎｄ  Ｄｉｓｔａｎｃｅ  Ｖｅｃｔｏｒ）プロトコルや、ＤＳＲ（Ｄｙｎａｍｉｃ  Ｓｏｕｒｃｅ  Ｒｏｕｔｉｎｇ）プロトコルといったものがある。
また、『この経路制御方法では、経路制御部１により、リンクステートデータベース３ｂを参照して、ノード間の各経路に付与されたメトリックに基づいて最短経路を選択し、伝送路自体の品質に係るリンク測定値に基づいて各ノード間において要求される速度に対して上記最短経路で伝送可能か否かの判断を行い、当該判断結果に基づいて最適経路に係る経路テーブル３ｃを作成する。』というものが提案されている（特許文献１）。
さらには、『本発明に係る経路情報交換方法では、制御メッセージを伝達するための制御チャネルを利用して、ＩＰエッジルータ間に光パスを生成する前からルーチングピアを確立することで、データベース同期，リンクステート交換を行い、予め経路情報を交換可能とするものである。』というものも提案されている（特許文献２）。
【０００３】
【特許文献１】特開２００４−３６３８１６号公報（要約）
【特許文献２】特開２００４−８０２６８号公報（要約）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、無線通信における従来のルーティングプロトコルでは、通信環境の変化を考慮しないため、相手の端末との通信環境が劣悪な条件に変化しても通信を開始し、結果として無駄な電波を送信することがある。
そのため、相手端末との通信状況を動的に把握したうえで、通信状況に応じたルーティングを行うことのできる端末間の通信経路制御方法、端末間の通信経路制御プログラム、及びその通信経路制御方法を実行する通信端末が望まれていた。
【課題を解決するための手段】
【０００５】
本発明に係る端末間の通信経路制御方法は、
通信環境の状態を表すパラメータに基づいて求めた伝播状態評価値に基づいて、端末間の通信経路を制御する方法であって、
通信相手の端末毎に前記伝播状態評価値を格納した伝播状態テーブルを端末内に設け、
所定の時間間隔で、前記伝播状態テーブルに格納した伝播状態評価値を自動的に修正して評価を下げるとともに、
通信パケットを受信した際には、
当該通信パケットの送信元端末の伝播状態評価値を計算して、前記伝播状態テーブルの該当箇所に格納することを特徴とするものである。
【発明の効果】
【０００６】
本発明に係る端末間の通信経路制御方法によれば、
相手端末との通信状況を動的に把握することができ、通信状況に応じたルーティングテーブルの作成が可能となる。また、通信が悪化した場合には、代替の経路に変更し通信を継続することが可能であるため、全体のスループットを上げることができる。
【発明を実施するための最良の形態】
【０００７】
実施の形態１．
図１は、本発明の実施の形態１に係る通信端末の構成図を示すものである。以下、図１の構成について説明する。なお、図１において、通信端末が一般的に有する汎用的な構成については、記載を省略している。
図１の通信端末は、伝播状態テーブル作成部１０１、通信プロトコル処理部１０２を有する。
伝播状態テーブル作成部１０１は、通信相手の端末毎に伝播状態値を計算し、後述の伝播状態テーブル１１５に格納する役割を果たす。
通信プロトコル処理部１０２は、伝播状態テーブル１１５に基づき、端末間のルーティング情報を保持・管理する役割を果たす。
【０００８】
伝播状態テーブル作成部１０１は、パケット解析部１０３、電力解析部１０４、テーブル管理部１０５、伝播状態値計算部１０６から構成される。
パケット解析部１０３は、受信した通信パケットのヘッダ部分を解析して各ヘッダ値を取り出し、テーブル管理部１０５と伝播状態値計算部１０６に出力する。
電力解析部１０４は、自端末が受信した信号の受信電力を解析し、伝播状態値計算部１０６に出力する。
テーブル管理部１０５は、パケット解析部１０３の出力と伝播状態値計算部１０６の出力に基づき、通信相手の端末毎に伝播状態値を格納した伝播状態テーブル１１５を保持・管理する。
伝播状態値計算部１０６は、パケット解析部１０３の出力と電力解析部１０４の出力に基づき、通信相手の端末毎の伝播状態値を計算し、テーブル管理部１０５に出力する。
【０００９】
パケット解析部１０３は、パケット分解モジュール１０７、送信元解析モジュール１０８、送信先解析モジュール１０９、中継元解析モジュール１１０、中継先解析モジュール１１１、ホップ数解析モジュール１１２、位置情報解析モジュール１１３を有する。
パケット分解モジュール１０７は、通信端末が受信した通信パケットを受け取り、ヘッダ部分を分解して、送信元解析モジュール１０８、送信先解析モジュール１０９、中継元解析モジュール１１０、中継先解析モジュール１１１、ホップ数解析モジュール１１２、及び位置情報解析モジュール１１３に、対応するヘッダ部分をそれぞれ出力する。
送信元解析モジュール１０８、送信先解析モジュール１０９、中継元解析モジュール１１０、中継先解析モジュール１１１、ホップ数解析モジュール１１２、及び位置情報解析モジュール１１３は、それぞれパケット分解モジュール１０７の出力を受け取り、対応するヘッダ値を取り出す。
送信元解析モジュール１０８、送信先解析モジュール１０９、及び中継元解析モジュール１１０、及び中継先解析モジュール１１１は、取り出したヘッダ値をテーブル管理部１０５に出力する。
ホップ数解析モジュール１１２、及び位置情報解析モジュール１１３は、取り出したヘッダ値を伝播状態値計算部１０６に出力する。
なお、位置情報解析モジュール１１３は、自端末が受け取ったＧＰＳ信号の解析と位置情報の取り出しも行う。
【００１０】
電力解析部１０４は、受信電力解析モジュール１１４を有する。
受信電力解析モジュール１１４は、自端末が受信した信号の受信電力を解析し、伝播状態値計算部１０６に出力する。
【００１１】
テーブル管理部１０５は、伝播状態テーブル１１５、タイマー１１６を有する。
伝播状態テーブル１１５は、パケット解析部１０３の出力と伝播状態値計算部１０６の出力に基づき求められた、通信相手の端末毎の伝播状態値を格納する。
タイマー１１６は、伝播状態テーブル１１５に格納されたデータの有効時間を管理する。
【００１２】
伝播状態値計算部１０６は、関数モジュール１１７を有する。
関数モジュール１１７は、パケット解析部１０３の出力と電力解析部１０４の出力に基づき、伝播状態値を計算してテーブル管理部１０５に出力する。
【００１３】
通信プロトコル処理部１０２は、ルーティングプロトコル処理部１１８を有する。
ルーティングプロトコル処理部１１８はルーティングテーブル１１９を備え、伝播状態テーブル１１５を適宜参照して、ルーティングテーブル１１９の端末エントリを作成・更新・削除する処理を行う。
【００１４】
伝播状態テーブル作成部１０１と通信プロトコル処理部１０２は、マイコンやＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）のような演算手段上に実装したソフトウェア、もしくは回路デバイスのようなハードウェアによって実現することができる。
また、メモリやハードディスク等の記憶手段に上記各機能を実現するソフトウェアを格納し、ＣＰＵ等の演算装置がこれを読み出して実行することによっても、実現することができる。
【００１５】
なお、伝播状態テーブル１１５とルーティングテーブル１１９の具体的な構成は、後述の図３で述べる。
【００１６】
本発明における「伝播状態評価値」は、伝播状態テーブル１１５に格納される伝播状態値がこれに該当する。
また、「通信経路エントリ」とは、ルーティングテーブル１１９の端末エントリのことを指す。
また、「伝播状態評価値計算部」は、伝播状態テーブル作成部１０１がこれに該当する。
また、「通信経路算出部」は、ルーティングプロトコル処理部１１８がこれに該当する。
【００１７】
図２は、図１の通信端末が用いる通信パケットフォーマットを示すものである。
図２のパケットフォーマットは、送信元アドレス部２０１、送信先アドレス部２０２、中継元アドレス部２０３、中継先アドレス部２０４、ホップ数部２０５、位置情報部２０６、データ部２０７を有する。送信元アドレス部２０１〜位置情報部２０６はヘッダ部分である。
送信元アドレス部２０１には、通信パケットを最初に送信した端末のアドレスが格納される。例えば、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いる場合は、送信元端末のＩＰアドレスが格納される。
送信先アドレス部２０２には、最終的に通信パケットを到着させたい端末のアドレスが格納される。例えば、ＩＰを用いる場合は、宛先端末のＩＰアドレスが格納される。
中継元アドレス部２０３には、当該通信パケットを作成した端末のアドレスが格納される。パケットの中継を伴う場合には、個々の中継端末のアドレスが中継の度にセットされる。例えば、イーサネット（登録商標）を用いる場合は、当該通信パケットを作成した端末のＭＡＣアドレスが格納される。
中継先アドレス部２０４には、当該通信パケットの次の宛先端末のアドレスが格納される。例えば、イーサネット（登録商標）を用いる場合は、当該通信パケットを次に受信する端末のＭＡＣアドレスが格納される。
ホップ数部２０５には、中継を繰り返した回数が格納され、中継を伴わない場合は「１」がセットされる。
位置情報部２０６には、当該通信パケットを作成した端末の位置情報が格納される。例えば、ＧＰＳから得た緯度・経度の座標値がセットされる。
データ部２０７には、送信元端末が送信するアプリケーションデータなどの、主に利用者向けデータが格納される。
【００１８】
図３〜図７は、通信端末の動作と、これに伴う各テーブルの更新状況を説明するものである。時系列に従って、図３〜図７の順に説明する。
図３において、通信端末３０１〜３０３が、相互に通信可能な距離に存在しているものと仮定する。以後、通信端末３０１を中心として説明を行う。
なお、通信端末３０１と通信端末３０２の距離は５０、通信端末３０１と通信端末３０３の距離は１００であるとする。
【００１９】
通信端末３０１内の伝播状態テーブル１１５は、「端末番号」列と「伝播状態値」列を有している。
「端末番号」列には、通信端末３０１の通信相手端末を識別するための番号が格納される。図３においては、端末番号「２」（＝通信端末３０２）と「３」（＝通信端末３０３）がその対象となる。
「伝播状態値」列には、それぞれの「端末番号」列のエントリに対応した端末の伝播状態値が格納される。
【００２０】
通信端末３０１内のルーティングテーブル１１９は、「宛先」列と「中継」列を有している。
「宛先」列には、通信端末３０１内の通信宛先候補となる端末を識別するための番号が格納される。この列の値に、端末の識別番号を格納する替わりに、当該端末のアドレス（図２の「送信先アドレス」に相当）を格納してもよい。
「中継」列には、「宛先」列のエントリに対応した端末に通信パケットを送信する場合において、端末間の中継を伴う場合に、次の中継端末となるべき端末を識別するための番号が格納される。この列の値に、端末の識別番号を格納する替わりに、当該端末のアドレス（図２の「中継先アドレス」に相当）を格納してもよい。
パケットの中継を伴わない場合には、「宛先」列の値と「中継」列の値は同じ端末を表す値が格納される。
【００２１】
初期状態では、伝播状態テーブル１１５の「伝播状態値」列の全てのエントリが「０」にセットされている。
また、ルーティングテーブル１１９の「中継」列の全てのエントリが「−」（＝通信不能）にセットされている。
【００２２】
図４は、図３の状態において、通信端末３０２が通信端末３０１に通信パケット４０１を送信した際の動作を説明するものである。
通信パケット４０１は、図２のフォーマットに準拠しており、それぞれの部分の値は、送信元アドレス＝２、送信先アドレス＝１、中継元アドレス＝２、中継先アドレス＝１、ホップ数＝１、位置情報＝（ｘ２、ｙ２）、データ＝データ、とする。
【００２３】
（１）通信パケット４０１受信時の動作
通信端末３０１が通信パケット４０１を受信すると、通信端末３０１の伝播状態テーブル作成部１０１は、以下の関数ｆにより通信端末３０２の伝播状態値を求める。
伝播状態値＝ｆ（ホップ数、端末間距離、受信電力）
＝（Ａ／ホップ数）＋（Ｂ／端末間距離）＋（Ｃ×受信電力）
ただし、Ａ、Ｂ、Ｃは所定の定数
端末間距離は、通信パケット４０１に含まれている通信端末３０２の位置情報（ｘ２、ｙ２）と、通信端末３０１自身が受信したＧＰＳ信号より取得した通信端末３０１の位置情報（ｘ１、ｙ１）とにより、以下の計算式で求められる。
端末間距離＝（（ｘ２−ｘ１）＾２＋（ｙ２−ｙ１）＾２）＾０．５
ここでは仮に、上記関数ｆにより求めた値を「４５」とする。
上記計算により求めた値が所定値（例えば１０）以上である場合は、通信端末３０１と通信端末３０２は通信可能であるものとみなし、伝播状態テーブル１１５の「端末番号」列が「２」のエントリにおいて、「伝播状態値」列の値が「４５」にセットされる。
また、通信端末３０２との直接通信が可能であることが判明したため、ルーティングテーブル１１９の「宛先」列が「２」のエントリにおいて、「中継」列の値が「２」にセットされる。「宛先」列の値と「中継」列の値が同じであるため、通信端末３０１と通信端末３０２は中継を伴わずに直接通信可能であることが分かる。
【００２４】
（２）時間経過に伴う動作
通信端末３０１が通信パケット４０１を受信してから３秒経過後の各テーブルの状態を、図４の中図に示す。
「端末番号」列が「２」の伝播状態値は、毎秒１ポイントずつデクリメントされる。
これは、時間経過に伴い、通信端末３０１と通信端末３０２の伝播状態が劣化するものと仮定したことによる。
ただし、伝播状態が劣化しても通信可能であることに変わりはないものとして、ルーティングテーブル１１９の該当エントリはそのままの状態で維持する。
なお、伝播状態値の値は「０」より小さくなることはないものとする。
【００２５】
図５は、図４の状態から２秒経過後において、通信端末３０３が通信端末３０１に通信パケット５０１を送信した際の動作を説明するものである。
通信パケット５０１は、図２のフォーマットに準拠しており、それぞれの部分の値は、送信元アドレス＝３、送信先アドレス＝１、中継元アドレス＝３、中継先アドレス＝１、ホップ数＝１、位置情報＝（ｘ３、ｙ３）、データ＝データ、とする。
【００２６】
（１）通信パケット５０１受信時の動作
通信端末３０１が通信パケット５０１を受信すると、通信端末３０１の伝播状態テーブル作成部１０１は、上述の関数ｆにより通信端末３０３の伝播状態値を求める。
伝播状態値＝ｆ（ホップ数、端末間距離、受信電力）
＝（Ａ／ホップ数）＋（Ｂ／端末間距離）＋（Ｃ×受信電力）
ただし、Ａ、Ｂ、Ｃは所定の定数
ここでは仮に、上記関数ｆにより求めた値を「１５」とする。
上記計算により、伝播状態テーブル１１５の「端末番号」列が「３」のエントリにおいて、「伝播状態値」列の値が「１５」にセットされる。
また、通信端末３０３との直接通信が可能であることが判明したため、ルーティングテーブル１１９の「宛先」列が「３」のエントリにおいて、「中継」列の値が「３」にセットされる。「宛先」列の値と「中継」列の値が同じであるため、通信端末３０１と通信端末３０３は中継を伴わずに直接通信可能であることが分かる。
なお、図４の状態からさらに２秒経過後であるため、伝播状態テーブル１１５の「端末番号」列が「２」のエントリにおいて、「伝播状態値」列の値はさらにデクリメントされて「４０」となっている。
また、伝播状態が劣化しても通信可能であることに変わりはないものとして、ルーティングテーブル１１９の該当エントリはそのままの状態で維持する。
【００２７】
図６は、図５の状態から３秒経過後において、通信端末３０２が通信端末３０１に通信パケット６０１を送信した際の動作を説明するものである。
通信パケット６０１の内容は、通信パケット４０１と同様であるものとする。
このときの動作は、通信パケット４０１の受信時と同様であり、伝播状態テーブル１１５の「端末番号」列が「２」のエントリにおいて、「伝播状態値」列の値が「４５」にセットされる。
なお、図５の状態からさらに３秒経過後であるため、伝播状態テーブル１１５の「端末番号」列が「３」のエントリにおいて、「伝播状態値」列の値はデクリメントされて「１２」となっている。
また、伝播状態が劣化しても通信可能であることに変わりはないものとして、ルーティングテーブル１１９の該当エントリはそのままの状態で維持する。
【００２８】
図７は、図６の状態からさらに１２秒経過後における各テーブルの状態を説明するものである。この間、通信端末３０１は他の端末からの通信パケットを受信していないものとする。
伝播状態テーブル１１５の「端末番号」列が「２」のエントリにおいて、「伝播状態値」列の値はデクリメントされて「３３」となっている。
また、「端末番号」列が「３」のエントリにおいて、「伝播状態値」列の値はデクリメントされて「０」となっている。
「伝播状態値」列の値が「０」となった端末は、もはや通信可能な状況下にはないものとみなすことにし、ルーティングテーブル１１９の該当エントリを「通信不能」にセットする。ここでは、「端末番号」が「３」のエントリがこれに該当するため、ルーティングテーブル１１９の「宛先」列の値が「３」のエントリにおいて、「中継」列の値を「−」（＝通信不能）にセットする。
【００２９】
本実施の形態１において、伝播状態値が所定値以上である端末は通信可能であるとみなすこととしたが、その所定値は使用環境に応じて自動的に設定するようにしてもよいし、端末出荷時に適切な値をあらかじめセットしておくようにしてもよい。
また、所定値の実際の値は製品設計の上で適切に設定すればよい。
【００３０】
本実施の形態１において、時間経過に伴い、伝播状態テーブル１１５に格納した伝播状態値を自動的にデクリメントすることとしたが、この逆に、上限値を設けた上でインクリメントするように構成し、値が大きいほど伝播状態が悪いものと判断してもよい。
また、デクリメントする場合において、値が「０」より小さくはならないとしたが、下限値を設けた上で「０」より小さい値にデクリメントするようにしてもよい。
【００３１】
本実施の形態１において、通信不能な端末に関しては、ルーティングテーブル１１９の該当エントリを「−」にセットすることとしたが、これに限られるものではなく、例えば端末エントリ自体を削除するようにしてもよい。
【００３２】
以上のように、本実施の形態１によれば、
通信相手の端末毎に伝播状態値を格納した伝播状態テーブル１１５を端末内に設け、
所定の時間間隔で、伝播状態テーブル１１５に格納した伝播状態値を自動的にデクリメントするとともに、
通信パケットを受信した際には、
当該通信パケットの送信元端末の伝播状態値を計算して、伝播状態テーブル１１５の該当箇所に格納するので、
相手端末との通信状況を動的に把握することができ、通信状況に応じたルーティングテーブルの作成が可能となる。また、通信が悪化した場合には、代替の経路に変更し通信を継続することが可能であるため、全体のスループットを上げることができる。
さらには、制御パケットなどの特別なパケットを送受信することなく、ルーティングテーブル１１９の管理を容易に行うことができる。これにより、オーバヘッドとなる制御パケットの送受信が不要となる。
【００３３】
また、伝播状態値が第１所定値以上である端末は通信可能であるものとみなし、
ルーティングテーブル１１９に当該端末を追加ないしは既エントリを更新し、
伝播状態値が前記第１所定値未満である端末は通信不可であるものとみなし、
ルーティングテーブル１１９のエントリから当該端末を削除するので、
通信状況に応じて、ルーティングテーブル１１９を自動的にメンテナンスすることができ、適切な経路制御を行うことができる。
【００３４】
また、各端末は、自身の位置情報、及びホップ数を含む通信パケットを送信し、
通信パケットを受信した端末は、
送信元端末の位置情報、ホップ数、及び受信電力に基づいて端末間距離を算出し、これらに基づいて伝播状態値を計算するので、
通信品質に基づいて、ルーティングテーブル１１９を自動的にメンテナンスすることができる。
【００３５】
実施の形態２．
本発明の実施の形態２では、実施の形態１で説明した通信端末の構成及び経路制御方法を、マルチホップネットワークにおいて適用した場合について説明する。
なお、通信端末の構成は実施の形態１の図１と同様であるため、説明を省略する。
【００３６】
図８は、本実施の形態２におけるマルチホップネットワークの構成を示すものである。
図８において、通信端末８０１〜８０３は、直列的に接続されている。通信端末８０１と通信端末８０３は直接通信することができず、通信端末８０２が通信パケットの中継を行うことにより、通信可能となる。
【００３７】
図８において、通信端末８０３が、通信端末８０１に向けて、通信パケット８０４を送信したものとする。
通信パケット８０４は、通信端末８０２により中継され、最終的に通信端末８０１に届けられる。
通信パケット８０４は、図２のフォーマットに準拠しており、通信端末８０２が中継した時点におけるそれぞれの部分の値は、送信元アドレス＝３、送信先アドレス＝１、中継元アドレス＝２、中継先アドレス＝１、ホップ数＝２、位置情報＝（ｘ２、ｙ２）、データ＝データ、とする。
【００３８】
（１）通信パケット８０４受信時の動作
通信端末８０１が通信パケット８０４を受信すると、通信端末８０１の伝播状態テーブル作成部１０１は、上述の関数ｆにより通信端末８０２の伝播状態値を求める。
伝播状態値＝ｆ（ホップ数、端末間距離、受信電力）
ここでは仮に、上記関数ｆにより求めた値を「４５」とする。
同様に、通信端末８０３の伝播状態値を求める。ここでは仮に、上記関数ｆにより求めた値を「２０」とする。
なお、図８に示す通信パケット８０４には通信端末８０３の位置情報が含まれていないので、ホップ数と受信電力にそれぞれ所定の係数を乗算するなどして適宜補間処理を行ったうえで、通信端末８０３の伝播状態値を求める。もちろん、「位置情報」列に通信端末８０３の位置情報を含めておき、これを直接用いるようにしてもよい。
上記計算により、伝播状態テーブル１１５の「端末番号」列が「２」のエントリにおいて、「伝播状態値」列の値が「４５」にセットされる。また、「端末番号」列が「３」のエントリにおいて、「伝播状態値」列の値が「２０」にセットされる。
また、通信端末８０２及び８０３との通信が可能であることが判明したため、ルーティングテーブル１１９の「宛先」列が「２」のエントリにおいて、「中継」列の値が「２」にセットされるとともに、「宛先」列が「３」のエントリにおいて、「中継」列の値が「２」にセットされる。
「宛先」列が「２」のエントリにおいては、「宛先」列の値と「中継」列の値が同じであるため、通信端末８０１と通信端末８０２は中継を伴わずに直接通信可能であることが分かる。また、「宛先」列が「３」のエントリにおいては、「宛先」列の値と「中継」列の値が異なるため、通信端末８０１と通信端末８０３の通信は、通信端末８０２による中継を伴うことが分かる。
【００３９】
以上のように、本実施の形態２によれば、
マルチホップネットワークにおいても、実施の形態１と同様に、制御パケットなどの特別なパケットを送受信することなく、ルーティングテーブル１１９の管理を容易に行うことができる。
【００４０】
実施の形態３．
実施の形態１、２では、時間経過に伴って伝播状態値をデクリメントする構成を説明した。しかし、この方法によれば、実際には伝播状態が良好であっても、時間経過により通信経路のエントリがルーティングテーブル１１９から削除されてしまう場合がある。
そこで、本発明の実施の形態３に係る通信端末では、上記のような事態を回避する方法について説明する。
なお、通信端末の構成や、基本的な経路制御の手順に関しては、実施の形態１、２と同様であるため、説明を省略する。
【００４１】
図９は、存在確認用パケットの送信フローチャートである。
存在確認用パケットとは、宛先の通信端末から応答を得るためだけに送信される通信パケットのことである。
伝播状態値が所定の閾値を下回った場合、通信状態が劣化したか、通信を行っていない状態が偶然続いていたかのいずれかが考えられる。そこで、存在確認用パケットを該当端末に送信し、応答の有無により各テーブルのエントリを更新することとする。
なお、存在確認用パケットのフォーマットは図２に準拠するが、データ部には特に何も格納されていなくともよい。
以下、図９のフローチャートの各ステップについて説明する。
【００４２】
（Ｓ９０１）
存在確認用パケットを送信するか否かの判断を開始する。
（Ｓ９０２）
伝播状態テーブル１１５を参照し、該当端末の伝播状態値と、あらかじめ定めた閾値（例えば「２０」）とを比較する。
伝播状態値が閾値以上であれば、存在確認用パケットを送信するか否かの判断を終了する。閾値未満であれば、ステップＳ９０３に進む。
（Ｓ９０３）
ルーティングテーブル１１９を適宜参照の上、該当端末に存在確認用パケットを送信する。
（Ｓ９０４）
存在確認用パケットの応答があった場合にはステップＳ９０６へ、応答がない場合にはステップＳ９０５へ進む。
（Ｓ９０５）
当該端末のエントリを、ルーティングテーブル１１９から削除する。即ち、ルーティングテーブル１１９の該当エントリの「中継」列の値を「−」にセットする。
（Ｓ９０６）
当該端末の伝播状態値を再計算し、伝播状態テーブル１１５の該当箇所にセットする。
【００４３】
本実施の形態３における図９のフローチャートの処理は、伝播状態テーブル作成部１０１や通信プロトコル処理部１０２、もしくはその構成要素が行うようにしてもよいし、それ以外の図示していない構成要素が行うようにしてもよい。
【００４４】
本実施の形態３において、閾値は使用環境に応じて自動的に設定するようにしてもよいし、端末出荷時に適切な値をあらかじめセットしておくようにしてもよい。
また、閾値の実際の値は製品設計の上で適切に設定すればよい。
【００４５】
なお、上記実施の形態１〜３の具体的な適用対象としては、移動無線通信システムが考えられる。特に、アドホックネットワーク無線通信システムのように、無線通信手段を具備した移動端末間で無線通信を行う移動無線通信システムに利用可能である。
【００４６】
以上のように、本実施の形態３によれば、
前記伝播状態評価値が第２所定値以下の端末に対して存在確認パケットを送信し、
その応答パケットを受信した際には、
当該応答パケットに基づいて当該端末の伝播状態評価値を計算して、前記伝播状態テーブルの該当箇所に格納し、
応答パケットを受信できない際には、
当該端末は通信不可であるものとみなし、端末間の通信経路エントリから当該端末を削除するので、
実際には伝播状態が良好であっても、時間経過により通信経路のエントリがルーティングテーブル１１９から削除されてしまう事態を回避でき、余分なオーバヘッドを伴うことなく、効率的な経路制御を行うことができる。
【図面の簡単な説明】
【００４７】
【図１】実施の形態１に係る通信端末の構成図を示すものである。
【図２】図１の通信端末が用いる通信パケットフォーマットを示すものである。
【図３】通信端末の動作と、これに伴う各テーブルの更新状況を説明する図である。
【図４】図３の状態において、通信端末３０２が通信端末３０１に通信パケット４０１を送信した際の動作を説明するものである。
【図５】図４の状態から２秒経過後において、通信端末３０３が通信端末３０１に通信パケット５０１を送信した際の動作を説明するものである。
【図６】図５の状態から３秒経過後において、通信端末３０２が通信端末３０１に通信パケット６０１を送信した際の動作を説明するものである。
【図７】図６の状態からさらに１２秒経過後における各テーブルの状態を説明するものである。
【図８】実施の形態２におけるマルチホップネットワークの構成を示すものである。
【図９】存在確認用パケットの送信フローチャートである。
【符号の説明】
【００４８】
１０１  伝播状態テーブル作成部、１０２  通信プロトコル処理部、１０３  パケット解析部、１０４  電力解析部、１０５  テーブル管理部、１０６  伝播状態値計算部、１０７  パケット分解モジュール、１０８  送信元解析モジュール、１０９  送信先解析モジュール、１１０  中継元解析モジュール、１１１  中継先解析モジュール、１１２  ホップ数解析モジュール、１１３  位置情報解析モジュール、１１４  受信電力解析モジュール、１１５  伝播状態テーブル、１１６  タイマー、１１７  関数モジュール、１１８  パルーティングプロトコル処理部、１１９  ルーティングテーブル、２０１  送信元アドレス部、２０２  送信先アドレス部、２０３  中継元アドレス部、２０４  中継先アドレス部、２０５  ホップ数部、２０６  位置情報部、２０７  データ部、３０１〜３０３  通信端末、４０１  通信パケット、５０１  通信パケット、６０１  通信パケット、８０１〜８０３  通信端末。
【図１】
2008067208.tif 000003
【図２】
2008067208.tif 000004
【図３】
2008067208.tif 000005
【図４】
2008067208.tif 000006
【図５】
2008067208.tif 000007
【図６】
2008067208.tif 000008
【図７】
2008067208.tif 000009
【図８】
2008067208.tif 000010
【図９】
2008067208.tif 000011