(57)【要約】【課題】無線アドホック通信システムにおいて、あるノードにおいて代替経路が発見できない場合に送信元に至る全ての経路を削除せずに途中ノードにおける修復を試みる。【解決手段】データ通信要求１０の際に該当する経路が設定されていなければ、経路発見プロセス２０は経路を発見して設定する。リンク状態管理プロセス４０は、経路発見プロセス２０によって設定された経路上のリンク３０の状態を監視して、各無線端末の経路テーブルにおけるリンク状態を更新する。経路情報通知プロセス５０は、リンク品質が悪化した際にリンク状態を通知して送信データの保持を促す。代替経路探索プロセス６０は、リンク品質が悪化した際に代替経路を検索し、発見できない場合にはさらに送信側の端末に遡りながら探索する。経路切替プロセス７０は、代替経路の候補を正規の経路として切り替える。【選択図】      図３
2004282269.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末により構成される無線アドホック通信システムであって、
通信データを発信する発信端末と前記通信データを受信する宛先端末との間において自端末に接続するリンクの品質が悪化すると代替経路を発見するための要求を送信する第１の中間端末と、
発信端末と前記宛先端末との間において前記第１の中間端末の上流に位置して前記第１の中間端末にデータを送信する第２の端末と
を具備し、
前記第１の中間端末は、前記要求に失敗した場合に経路エラーの報告を前記第２の端末に送信し、
前記第２の中間端末は、前記第１の中間端末から前記報告を受信すると他の代替経路を発見するための要求を送信する
ことを特徴とする無線アドホック通信システム。
【請求項２】
前記第１の中間端末は、自端末に接続するリンクの品質が悪化するとそのリンクに関する経路情報を前記第２の端末に通知し、
前記第２の中間端末は、データバッファを備え、前記第１の中間端末から前記報告を受信すると前記第１の中間端末に送信している前記データを前記データバッファに保持する
ことを特徴とする請求項１記載の無線アドホック通信システム。
【請求項３】
通信の宛先アドレスとその宛先アドレスに到達するための次の転送先アドレスとその転送先アドレスに接続するリンクのリンク状態と前記宛先アドレスに向けた通信を自端末に送信する送信元のアドレスリストとを対応付けて経路エントリとして保持する経路テーブルと、
前記リンクの状態を監視して前記リンク状態を更新する手段と、
前記リンク状態が不安定状態になると対応する前記宛先アドレスに対する代替経路を発見するための要求を他の端末に送信する手段と、
前記要求に失敗すると前記アドレスリストに示される送信元に対して経路エラーの報告を送信する手段と
を具備することを特徴とする端末。
【請求項４】
前記リンク状態が不安定状態になるとそのリンクに関する経路情報を前記アドレスリストに示される送信元に対して送信する手段をさらに具備することを特徴とする請求項３記載の端末。
【請求項５】
通信の宛先アドレスとその宛先アドレスに到達するための次の転送先アドレスとその転送先アドレスに接続するリンクのリンク状態と前記宛先アドレスに向けた通信を自端末に送信する送信元のアドレスリストとを対応付けて経路エントリとして保持する経路テーブルと、
前記リンクの状態を監視して前記リンク状態を更新する手段と、
前記リンク状態が不安定状態になるとそのリンクに関する経路情報を前記アドレスリストに示される送信元に対して送信する手段と
を具備することを特徴とする端末。
【請求項６】
データバッファと、
他の端末にデータを送信している際に前記他の端末からリンク状態が不安定状態になったリンクに関する経路情報を受信すると前記他の端末へ送信しているデータを前記データバッファに保持する手段と
を具備することを特徴とする端末。
【請求項７】
前記経路情報を受信してから所定時間を経過しても前記他の端末から経路エラーの報告を受信しない場合には前記データバッファに保持されたデータを破棄する手段をさらに具備することを特徴とする請求項６記載の端末。
【請求項８】
前記経路情報を受信してから所定時間内に前記他の端末から経路エラーの報告を受信した場合には前記宛先アドレスに対する代替経路を発見するための要求をさらに他の端末に送信する手段をさらに具備することを特徴とする請求項６記載の端末。
【請求項９】
通信の宛先アドレスとその宛先アドレスに到達するための次の転送先アドレスとその転送先アドレスに接続するリンクのリンク状態と前記宛先アドレスに向けた通信を自端末に送信する送信元のアドレスリストとを対応付けて経路エントリとして保持する経路テーブルと、
前記要求に失敗すると前記アドレスリストに示される送信元に対して前記他の端末からの経路エラーの報告を転送する手段と
をさらに具備することを特徴とする請求項８記載の端末。
【請求項１０】
前記要求に対して代替経路が発見されると当該発見された代替経路を正規の経路として切り替えるための指示を送信する手段をさらに具備することを特徴とする請求項８記載の端末。
【請求項１１】
通信の宛先アドレスとその宛先アドレスに到達するための次の転送先アドレスとその転送先アドレスに接続するリンクのリンク状態と前記宛先アドレスに向けた通信を自端末に送信する送信元のアドレスリストとを対応付けて経路エントリとして保持する経路テーブルを備える端末における処理方法であって、
前記リンクの状態を監視して前記リンク状態を更新する手順と、
前記リンク状態が不安定状態になるとそのリンクに関する経路情報を前記アドレスリストに示される送信元に対して送信する手順と、
前記リンク状態が不安定状態になると対応する前記宛先アドレスに対する代替経路を発見するための要求を他の端末に送信する手順と、
前記要求に失敗すると前記アドレスリストに示される送信元に対して経路エラーの報告を送信する手順と
を具備することを特徴とする処理方法。
【請求項１２】
データバッファを備える端末における処理方法であって、
他の端末にデータを送信している際に前記他の端末からリンク状態が不安定状態になったリンクに関する経路情報を受信すると前記他の端末へ送信しているデータを前記データバッファに保持する手順と、
前記経路情報を受信してから所定時間内に前記他の端末から経路エラーの報告を受信した場合には前記宛先アドレスに対する代替経路を発見するための要求をさらに他の端末に送信する手順と、
前記経路情報を受信してから所定時間を経過しても前記他の端末から経路エラーの報告を受信しない場合には前記データバッファに保持されたデータを破棄する手順と
を具備することを特徴とする処理方法。
【請求項１３】
通信の宛先アドレスとその宛先アドレスに到達するための次の転送先アドレスとその転送先アドレスに接続するリンクのリンク状態と前記宛先アドレスに向けた通信を自端末に送信する送信元のアドレスリストとを対応付けて経路エントリとして保持する経路テーブルとデータバッファとを備える端末における処理方法であって、
他の端末にデータを送信している際に前記他の端末からリンク状態が不安定状態になったリンクに関する経路情報を受信すると前記他の端末へ送信しているデータを前記データバッファに保持する手順と、
前記経路情報を受信してから所定時間内に前記他の端末から経路エラーの報告を受信した場合には前記宛先アドレスに対する代替経路を発見するための要求をさらに他の端末に送信する手順と、
前記要求に対して代替経路が発見されれば当該発見された代替経路を正規の経路として切り替えるための指示を送信する手順と、
前記要求に対して代替経路が発見されなければ前記アドレスリストに示される送信元に対して前記他の端末からの経路エラーの報告を転送する手順と
を具備することを特徴とする処理方法。
【請求項１４】
通信の宛先アドレスとその宛先アドレスに到達するための次の転送先アドレスとその転送先アドレスに接続するリンクのリンク状態と前記宛先アドレスに向けた通信を自端末に送信する送信元のアドレスリストとを対応付けて経路エントリとして保持する経路テーブルを備える端末に、
前記リンクの状態を監視して前記リンク状態を更新する手順と、
前記リンク状態が不安定状態になるとそのリンクに関する経路情報を前記アドレスリストに示される送信元に対して送信する手順と、
前記リンク状態が不安定状態になると対応する前記宛先アドレスに対する代替経路を発見するための要求を他の端末に送信する手順と、
前記要求に失敗すると前記アドレスリストに示される送信元に対して経路エラーの報告を送信する手順と
を実行させることを特徴とするプログラム。
【請求項１５】
データバッファを備える端末に、
他の端末にデータを送信している際に前記他の端末からリンク状態が不安定状態になったリンクに関する経路情報を受信すると前記他の端末へ送信しているデータを前記データバッファに保持する手順と、
前記経路情報を受信してから所定時間内に前記他の端末から経路エラーの報告を受信した場合には前記宛先アドレスに対する代替経路を発見するための要求をさらに他の端末に送信する手順と、
前記経路情報を受信してから所定時間を経過しても前記他の端末から経路エラーの報告を受信しない場合には前記データバッファに保持されたデータを破棄する手順と
を実行させることを特徴とするプログラム。
【請求項１６】
通信の宛先アドレスとその宛先アドレスに到達するための次の転送先アドレスとその転送先アドレスに接続するリンクのリンク状態と前記宛先アドレスに向けた通信を自端末に送信する送信元のアドレスリストとを対応付けて経路エントリとして保持する経路テーブルとデータバッファとを備える端末に、
他の端末にデータを送信している際に前記他の端末からリンク状態が不安定状態になったリンクに関する経路情報を受信すると前記他の端末へ送信しているデータを前記データバッファに保持する手順と、
前記経路情報を受信してから所定時間内に前記他の端末から経路エラーの報告を受信した場合には前記宛先アドレスに対する代替経路を発見するための要求をさらに他の端末に送信する手順と、
前記要求に対して代替経路が発見されれば当該発見された代替経路を正規の経路として切り替えるための指示を送信する手順と、
前記要求に対して代替経路が発見されなければ前記アドレスリストに示される送信元に対して前記他の端末からの経路エラーの報告を転送する手順と
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、無線アドホック通信システムに関し、特にパケットの送信中に中間のリンク品質が悪化した際に代替経路を発見しておいてその後の経路切替に備える無線アドホック通信システム、当該システムにおける端末、および、これらにおける処理方法ならびに当該方法をコンピュータ（端末）に実行させるプログラムに関する。
【０００２】
【従来の技術】
電子機器の小型化、高性能化が進み、簡単に持ち運び利用することが可能となったことから、必要になったその場で端末をネットワークに接続し、通信を可能とする環境が求められている。その一つとして、必要に応じて一時的に構築されるネットワーク、すなわち無線アドホックネットワーク技術の開発が進められている。この無線アドホックネットワークでは、特定のアクセスポイントを設けることなく、各端末（例えば、コンピュータ、携帯情報端末（ＰＤＡ：Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅ）、携帯電話等）が自律分散して相互に接続される。
【０００３】
この無線アドホックネットワークでは、従来の固定的なネットワークとは異なりトポロジの変化が頻繁に起こるので、信頼性を確保するための経路制御方式、すなわちルーティングプロトコルを確立する必要がある。現在提案されている無線アドホックネットワークのルーティングプロトコルは、オンデマンド方式とテーブル駆動方式という二つのカテゴリーに大きく分けられる。また、これらを統合したハイブリッド方式も提案されている。
【０００４】
テーブル駆動方式およびハイブリッド方式は、常時経路情報を交換していることから、比較的障害には強いとされている。一方で、常に情報を送受信することによるオーバーヘッドの大きさが問題となる。例えば、電池により駆動されるモバイル機器が無線アドホックネットワークに接続された環境を考えると、消費電力の面からも常に経路情報を交換するのは得策ではない。また、経路テーブルを更新する周期が長いと、突然の障害に対処できないという問題もある。
【０００５】
一方、オンデマンド方式は、通信する直前に経路発見要求を送信して経路を作成するので、通信を開始する段階でリンクに突然障害が起きた場合でも、そのリンクを無視して有効な経路を作成する。しかし、通信中に使用リンクの品質が低下し、経路が利用できなくなると、すぐに通信は中断されてしまい、もう一度送信元から経路を作成し直す必要がある。
【０００６】
オンデマンド方式の代表的なルーティングプロトコルとして、例えば、ＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）のＭＡＮＥＴ  ＷＧ（Ｍｏｂｉｌｅ  Ａｄ  ｈｏｃ  ＮＥＴｗｏｒｋ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ）で提案されているＡＯＤＶ（Ａｄ  ｈｏｃ  Ｏｎ−ｄｅｍａｎｄ  Ｄｉｓｔａｎｃｅ  Ｖｅｃｔｏｒ）プロトコルがある。このＡＯＤＶプロトコルでは、「ローカルリペア」という手法により、リンクに障害が起きて切断されたときに、両端のノードから経路の再発見を要求するメッセージを送信し、新たに経路を作成する手法が提案されている（例えば、非特許文献１参照。）。
【０００７】
【非特許文献１】
チャールス・パーキンス（Ｃｈａｒｌｅｓ  Ｅ．  Ｐｅｒｋｉｎｓ）他，「アドホック・オンデマンド・ディスタンス・ベクター・ルーティング（Ａｄ  ｈｏｃ  Ｏｎ−ｄｅｍａｎｄ  Ｄｉｓｔａｎｃｅ  Ｖｅｃｔｏｒ  Ｒｏｕｔｉｎｇ）」，（米国），アイイーティーエフ（ＩＥＴＦ），２００３年２月１７日，ｐ．２３−２５，インターネット・ドラフト＜ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｉｎｔｅｒｎｅｔ−ｄｒａｆｔｓ／ｄｒａｆｔ−ｉｅｔｆ−ｍａｎｅｔ−ａｏｄｖ−１３．ｔｘｔ＞
【０００８】
【発明が解決しようとする課題】
上述の従来技術によれば、代替経路を発見することにより障害が起きた経路を修復できるが、もしそのような修復が不可能であった場合、障害が起きたリンクを経路として持つノードのどちらかが経路エラーメッセージを送信元に対して送信する。経路エラーメッセージを受信したノードは、該当する経路を削除した上でその経路エラーメッセージをさらに送信元に対して転送する。
【０００９】
このような性質から、一つのリンクに障害が発生して修復不可能であったときは、経路エラーメッセージの転送を繰り返しながら全ての経路を削除してしまうことになる。例えば、送信元から受信先まで１０ホップあるようなアドホックネットワークにおいて、最後の１ホップで障害が起きて修復できなかったときには、全ての経路を消去することになってしまう。経路を最初から作り直すのは、計算コストがかかるばかりか、時間的なコストや、パケットロスの面でも無駄が多い。
【００１０】
特に、無線アドホックネットワークでは、端末（ノード）の移動や電波状況などによりトポロジの変化が非常に頻繁に起こるため、リンクの切断時にも通信できる方法を確保しておくことが重要である。上述の従来技術では、リンクに障害が起きたときに、障害を発見したノードから代替経路を発見しようとするが、そのノードで一度失敗してしまうとすべての経路を消去する必要がある。一方で、送信元から改めて経路を発見する方法では、計算コストや時間コストがかかりすぎてしまう。特に大規模なアドホックネットワークにおいては、受信先に近い一つのリンクに障害が起きても、経路を全部消したり、送信元から経路発見をやり直すのではコストがかかりすぎるため、モバイル機器がノードとして想定されるような省電力指向の環境においては望ましくない。
【００１１】
そこで、本発明の目的は、無線アドホック通信システムにおいて、あるノードにおいて代替経路が発見できない場合に送信元に至る全ての経路を削除せずに途中ノードにおける修復を試みることにある。
【００１２】
【課題を解決するための手段】
上記課題を解決するために本発明の請求項１記載の無線アドホック通信システムは、複数の端末により構成される無線アドホック通信システムであって、通信データを発信する発信端末と上記通信データを受信する宛先端末との間において自端末に接続するリンクの品質が悪化すると代替経路を発見するための要求を送信する第１の中間端末と、発信端末と上記宛先端末との間において上記第１の中間端末の上流に位置して上記第１の中間端末にデータを送信する第２の端末とを具備し、上記第１の中間端末は、上記要求に失敗した場合に経路エラーの報告を上記第２の端末に送信し、上記第２の中間端末は、上記第１の中間端末から上記報告を受信すると他の代替経路を発見するための要求を送信するものである。これにより、第１の中間端末において代替経路が発見できない場合に送信元に至る全ての経路を削除せずに第２の中間端末に修復を試行せしめるという作用をもたらす。
【００１３】
また、本発明の請求項２記載の無線アドホック通信システムは、請求項１記載の無線アドホック通信システムにおいて、上記第１の中間端末は、自端末に接続するリンクの品質が悪化するとそのリンクに関する経路情報を上記第２の端末に通知し、上記第２の中間端末は、データバッファを備え、上記第１の中間端末から上記報告を受信すると上記第１の中間端末に送信している上記データを上記データバッファに保持するものである。これにより、第１の端末が経路エラーの報告に先立って経路情報の通知をすることによって第２の端末において経路切替に備えて送信データをデータバッファへ保持させるという作用をもたらす。
【００１４】
また、本発明の請求項３記載の端末は、通信の宛先アドレスとその宛先アドレスに到達するための次の転送先アドレスとその転送先アドレスに接続するリンクのリンク状態と上記宛先アドレスに向けた通信を自端末に送信する送信元のアドレスリストとを対応付けて経路エントリとして保持する経路テーブルと、上記リンクの状態を監視して上記リンク状態を更新する手段と、上記リンク状態が不安定状態になると対応する上記宛先アドレスに対する代替経路を発見するための要求を他の端末に送信する手段と、上記要求に失敗すると上記アドレスリストに示される送信元に対して経路エラーの報告を送信する手段とを具備する。これにより、経路上のリンクが不安定状態になったことにより代替経路を検索して、検索に失敗すると経路エラーの報告を送信することによって自端末より上流の端末においてさらに代替経路を検索させるという作用をもたらす。
【００１５】
また、本発明の請求項４記載の端末は、請求項３記載の端末において、上記リンク状態が不安定状態になるとそのリンクに関する経路情報を上記アドレスリストに示される送信元に対して送信する手段をさらに具備するものである。これにより、経路エラーの報告に先立って経路情報の通知をすることによって自端末より上流の端末において経路切替に備えて送信データをデータバッファに保持させるという作用をもたらす。
【００１６】
また、本発明の請求項５記載の端末は、通信の宛先アドレスとその宛先アドレスに到達するための次の転送先アドレスとその転送先アドレスに接続するリンクのリンク状態と上記宛先アドレスに向けた通信を自端末に送信する送信元のアドレスリストとを対応付けて経路エントリとして保持する経路テーブルと、上記リンクの状態を監視して上記リンク状態を更新する手段と、上記リンク状態が不安定状態になるとそのリンクに関する経路情報を上記アドレスリストに示される送信元に対して送信する手段とを具備する。これにより、経路情報の通知をすることによって自端末より上流の端末においてその後の経路切替に備えて送信データをデータバッファへ保持させるという作用をもたらす。
【００１７】
また、本発明の請求項６記載の端末は、データバッファと、他の端末にデータを送信している際に上記他の端末からリンク状態が不安定状態になったリンクに関する経路情報を受信すると上記他の端末へ送信しているデータを上記データバッファに保持する手段とを具備する。これにより、経路情報の通知を受信した場合にその後の経路切替に備えて送信データをデータバッファへ保持せしめるという作用をもたらす。
【００１８】
また、本発明の請求項７記載の端末は、請求項６記載の端末において、上記経路情報を受信してから所定時間を経過しても上記他の端末から経路エラーの報告を受信しない場合には上記データバッファに保持されたデータを破棄する手段をさらに具備する。これにより、自端末より下流の端末において代替経路の検索に成功したことが推測される場合に、不要となったデータをデータバッファから破棄させるという作用をもたらす。
【００１９】
また、本発明の請求項８記載の端末は、請求項６記載の端末において、上記経路情報を受信してから所定時間内に上記他の端末から経路エラーの報告を受信した場合には上記宛先アドレスに対する代替経路を発見するための要求をさらに他の端末に送信する手段をさらに具備する。これにより、自端末より下流の端末からの経路エラー報告の受信を契機として代替経路の検索をさせるという作用をもたらす。
【００２０】
また、本発明の請求項９記載の端末は、請求項８記載の端末において、通信の宛先アドレスとその宛先アドレスに到達するための次の転送先アドレスとその転送先アドレスに接続するリンクのリンク状態と上記宛先アドレスに向けた通信を自端末に送信する送信元のアドレスリストとを対応付けて経路エントリとして保持する経路テーブルと、上記要求に失敗すると上記アドレスリストに示される送信元に対して上記他の端末からの経路エラーの報告を転送する手段とをさらに具備する。これにより、代替経路の検索に失敗すると経路エラーの報告を送信することによって自端末より上流の端末においてさらに代替経路を検索させるという作用をもたらす。
【００２１】
また、本発明の請求項１０記載の端末は、請求項８記載の端末において、上記要求に対して代替経路が発見されると当該発見された代替経路を正規の経路として切り替えるための指示を送信する手段をさらに具備する。これにより、自端末より下流の端末において代替経路が発見できなかった場合でも自端末において代替経路が発見されればその代替経路を正規の経路として切り替えるという作用をもたらす。
【００２２】
また、本発明の請求項１１記載の処理方法は、通信の宛先アドレスとその宛先アドレスに到達するための次の転送先アドレスとその転送先アドレスに接続するリンクのリンク状態と上記宛先アドレスに向けた通信を自端末に送信する送信元のアドレスリストとを対応付けて経路エントリとして保持する経路テーブルを備える端末における処理方法であって、上記リンクの状態を監視して上記リンク状態を更新する手順と、上記リンク状態が不安定状態になるとそのリンクに関する経路情報を上記アドレスリストに示される送信元に対して送信する手順と、上記リンク状態が不安定状態になると対応する上記宛先アドレスに対する代替経路を発見するための要求を他の端末に送信する手順と、上記要求に失敗すると上記アドレスリストに示される送信元に対して経路エラーの報告を送信する手順とを具備する。これにより、経路上のリンクが不安定状態になったことによりそのリンク状態を通知して経路切替に備えて送信データをデータバッファへ保持せしめるとともに代替経路を検索して、検索に失敗すると経路エラーの報告を送信することによって自端末より上流の端末における代替経路の発見を促すという作用をもたらす。
【００２３】
また、本発明の請求項１２記載の処理方法は、データバッファを備える端末における処理方法であって、他の端末にデータを送信している際に上記他の端末からリンク状態が不安定状態になったリンクに関する経路情報を受信すると上記他の端末へ送信しているデータを上記データバッファに保持する手順と、上記経路情報を受信してから所定時間内に上記他の端末から経路エラーの報告を受信した場合には上記宛先アドレスに対する代替経路を発見するための要求をさらに他の端末に送信する手順と、上記経路情報を受信してから所定時間を経過しても上記他の端末から経路エラーの報告を受信しない場合には上記データバッファに保持されたデータを破棄する手順とを具備する。これにより、代替経路の検索に失敗すると経路エラーの報告を送信することによって自端末より上流の端末において代替経路の発見を促し、代替経路の検索に成功したことが推測される場合には不要となったデータをデータバッファから破棄させるという作用をもたらす。
【００２４】
また、本発明の請求項１３記載の処理方法は、通信の宛先アドレスとその宛先アドレスに到達するための次の転送先アドレスとその転送先アドレスに接続するリンクのリンク状態と上記宛先アドレスに向けた通信を自端末に送信する送信元のアドレスリストとを対応付けて経路エントリとして保持する経路テーブルとデータバッファとを備える端末における処理方法であって、他の端末にデータを送信している際に上記他の端末からリンク状態が不安定状態になったリンクに関する経路情報を受信すると上記他の端末へ送信しているデータを上記データバッファに保持する手順と、上記経路情報を受信してから所定時間内に上記他の端末から経路エラーの報告を受信した場合には上記宛先アドレスに対する代替経路を発見するための要求をさらに他の端末に送信する手順と、上記要求に対して代替経路が発見されれば当該発見された代替経路を正規の経路として切り替えるための指示を送信する手順と、上記要求に対して代替経路が発見されなければ上記アドレスリストに示される送信元に対して上記他の端末からの経路エラーの報告を転送する手順とを具備する。これにより、自端末より下流の端末において経路が発見できなかった場合に、代替経路を検索して代替経路が発見されれば当該発見された代替経路を正規の経路として切り替え、代替経路が発見できなければ自端末よりも上流の端末に経路エラーの報告を転送して代替経路の発見を促すという作用をもたらす。
【００２５】
また、本発明の請求項１４記載のプログラムは、通信の宛先アドレスとその宛先アドレスに到達するための次の転送先アドレスとその転送先アドレスに接続するリンクのリンク状態と上記宛先アドレスに向けた通信を自端末に送信する送信元のアドレスリストとを対応付けて経路エントリとして保持する経路テーブルを備える端末に、上記リンクの状態を監視して上記リンク状態を更新する手順と、上記リンク状態が不安定状態になるとそのリンクに関する経路情報を上記アドレスリストに示される送信元に対して送信する手順と、上記リンク状態が不安定状態になると対応する上記宛先アドレスに対する代替経路を発見するための要求を他の端末に送信する手順と、上記要求に失敗すると上記アドレスリストに示される送信元に対して経路エラーの報告を送信する手順とを実行させるものである。。これにより、経路上のリンクが不安定状態になったことによりそのリンク状態を通知して経路切替に備えて送信データをデータバッファへ保持せしめるとともに代替経路を検索して、検索に失敗すると経路エラーの報告を送信することによって自端末より上流の端末における代替経路の発見を促すという作用をもたらす。
【００２６】
また、本発明の請求項１５記載のプログラムは、データバッファを備える端末に、他の端末にデータを送信している際に上記他の端末からリンク状態が不安定状態になったリンクに関する経路情報を受信すると上記他の端末へ送信しているデータを上記データバッファに保持する手順と、上記経路情報を受信してから所定時間内に上記他の端末から経路エラーの報告を受信した場合には上記宛先アドレスに対する代替経路を発見するための要求をさらに他の端末に送信する手順と、上記経路情報を受信してから所定時間を経過しても上記他の端末から経路エラーの報告を受信しない場合には上記データバッファに保持されたデータを破棄する手順とを実行させるものである。これにより、代替経路の検索に失敗すると経路エラーの報告を送信することによって自端末より上流の端末において代替経路の発見を促し、代替経路の検索に成功したことが推測される場合には不要となったデータをデータバッファから破棄させるという作用をもたらす。
【００２７】
また、本発明の請求項１６記載のプログラムは、通信の宛先アドレスとその宛先アドレスに到達するための次の転送先アドレスとその転送先アドレスに接続するリンクのリンク状態と上記宛先アドレスに向けた通信を自端末に送信する送信元のアドレスリストとを対応付けて経路エントリとして保持する経路テーブルとデータバッファとを備える端末に、他の端末にデータを送信している際に上記他の端末からリンク状態が不安定状態になったリンクに関する経路情報を受信すると上記他の端末へ送信しているデータを上記データバッファに保持する手順と、上記経路情報を受信してから所定時間内に上記他の端末から経路エラーの報告を受信した場合には上記宛先アドレスに対する代替経路を発見するための要求をさらに他の端末に送信する手順と、上記要求に対して代替経路が発見されれば当該発見された代替経路を正規の経路として切り替えるための指示を送信する手順と、上記要求に対して代替経路が発見されなければ上記アドレスリストに示される送信元に対して上記他の端末からの経路エラーの報告を転送する手順とを実行させるものである。これにより、自端末より下流の端末において経路が発見できなかった場合に、代替経路を検索して代替経路が発見されれば当該発見された代替経路を正規の経路として切り替え、代替経路が発見できなければ自端末よりも上流の端末に経路エラーの報告を転送して代替経路の発見を促すという作用をもたらす。
【００２８】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００２９】
図１は、本発明の実施の形態における無線アドホック通信システムで想定する無線アドホックネットワークの一例を示す図である。この図１（ａ）の例では、端末Ｓ（２０１）乃至端末Ｅ（２０６）の６つの端末が無線アドホック通信システムのネットワークを構成している。また、各端末の周囲の点線は、各端末２０１乃至２０６の通信範囲２９１乃至２９６をそれぞれ表している。
【００３０】
例えば、端末Ｓ（２０１）の通信範囲２９１には、端末Ａ（２０２）および端末Ｂ（２０３）が含まれる。また、端末Ａ（２０２）の通信範囲２９２には、端末Ｓ（２０１）、端末Ｂ（２０３）および端末Ｃ（２０４）が含まれる。また、端末Ｂ（２０３）の通信範囲２９３には、端末Ｓ（２０１）、端末Ａ（２０２）および端末Ｅ（２０６）が含まれる。また、端末Ｃ（２０４）の通信範囲２９４には、端末Ａ（２０２）、端末Ｄ（２０５）および端末Ｅ（２０６）が含まれる。また、端末Ｄ（２０５）の通信範囲２９５には、端末Ｃ（２０４）および端末Ｅ（２０６）が含まれる。また、端末Ｅ（２０６）の通信範囲２９６には、端末Ｂ（２０３）、端末Ｃ（２０４）および端末Ｄ（２０５）が含まれる。
【００３１】
このような端末間の関係を模式的に表したのが図１（ｂ）である。この図１（ｂ）では、互いに通信範囲２９１乃至２９６内にある端末同士が線により結ばれている。従って、直接結ばれていない端末間で通信を行う場合には他の端末を介して複数ホップにより通信を行わなければならないことがわかる。
【００３２】
図２は、図１の例による無線アドホックネットワークにおいて経路を設定するための手順を示す図である。ある端末間で経路が設定されていない場合に、最初に経路を設定するための手順は従来技術を用いることができる。例えば、上述のＡＯＤＶプロトコルでは、発信端末から宛先端末に対して経路要求メッセージを送信し、宛先端末から発信端末に対して経路返答メッセージを送信することにより、経路を設定している。
【００３３】
図２（ａ）は、端末Ｓ（２０１）から端末Ｄ（２０５）に対して経路要求を行う際のパケットの流れを示すものである。端末Ｓは、端末Ｄにデータを送信する際に、まだ端末Ｄへの経路が設定されていなければ、経路発見プロセスに入る。まず、端末Ｓは、経路要求メッセージ（Ｒｏｕｔｅ  ＲＥＱｕｅｓｔ  ｍｅｓｓａｇｅ：ＲＲＥＱ）をブロードキャストする。この経路要求メッセージを受信した端末Ａ（２０２）および端末Ｂ（２０３）は、その経路要求メッセージの送信元である端末Ｓへの逆向きの経路（Ｒｅｖｅｒｓｅ  Ｐａｔｈ）を設定する。ここで逆向きの経路とは、経路要求メッセージの送信元までデータを送信したいという要求が生じた場合に、その経路要求メッセージを送信してきた近隣端末を次の転送先とする経路を意味する。
【００３４】
経路要求メッセージを受信した端末Ａおよび端末Ｂは、宛先が自端末でないことから、その経路要求メッセージをさらにブロードキャストする。これにより、端末Ｃ（２０４）および端末Ｅ（２０６）に経路要求メッセージが伝わる。一方、端末Ａのブローキャストした経路要求メッセージは、端末Ｓや端末Ｂにおいても受信されるが、経路要求メッセージに付された要求識別子が一致するため、端末Ｓや端末Ｂにおいて破棄される。同様にして、端末Ｂのブローキャストした経路要求メッセージは、端末Ｓや端末Ａにおいて破棄される。このように、要求識別子は二重受け取りチェックのために使用される。
【００３５】
経路要求メッセージを受信した端末Ｃおよび端末Ｅは、端末Ｓへの逆向きの経路を設定した後、その経路要求メッセージをさらにブロードキャストする。これにより、端末Ｄ（２０５）に経路要求メッセージが到達する。端末Ｄは、端末Ｃおよび端末Ｅの両者から経路要求メッセージを受信するが、後から受信した経路要求メッセージを破棄する。
【００３６】
図２（ｂ）は、端末Ｄから端末Ｓに対して経路返答を行う際のパケットの流れを示すものである。端末Ｄは、端末Ｓへの逆向きの経路を設定した後、送信元である端末Ｓに対して経路返答メッセージ（Ｒｏｕｔｅ  ＲＥＰｌｙ  ｍｅｓｓａｇｅ：ＲＲＥＰ）をユニキャストで送信する。例えば、端末Ｄが端末Ｃからの経路要求メッセージに返答する場合には、端末Ｄは端末Ｃを次の送信先としてユニキャストによる送信を行う。
【００３７】
経路返答メッセージを受信した端末Ｃは、経路返答メッセージの送信元である端末Ｄへの逆向きの経路を設定する。そして、端末Ｃはその経路返答メッセージを端末Ａに転送する。同様に、経路返答メッセージを受信した端末Ａは、経路返答メッセージの送信元である端末Ｄへの逆向きの経路を設定して、その経路返答メッセージを端末Ｓに転送する。
【００３８】
経路返答メッセージを受信した端末Ｓは、経路返答メッセージの送信元である端末Ｄへの逆向きの経路を設定する。これにより、経路発見プロセスは完了する。
【００３９】
図３は、本発明の実施の形態における処理の概要を示す図である。既に図２により説明したとおり、データ通信要求１０の発生の際にまだ宛先端末への経路が設定されていなければ、その端末は経路発見プロセス２０に入る。これにより端末間に経路が設定される。端末間の経路は、端末同士を結ぶリンク３０を１つ以上経ることにより構成される。
【００４０】
経路が設定されると、そのリンクはリンク状態管理プロセス４０において監視される。具体的には、各端末における経路テーブルの経路エントリ内のリンク状態という項目が適宜更新される。各端末は後述するように自端末に接続するリンクに関する情報を経路テーブルに保持しており、リンク状態が変化するたびにこの経路テーブルが更新されるようになっている。これにより、各端末は最新のリンク状態を常に把握できる。
【００４１】
使用している経路のリンク状態が所定の状態になると、経路情報通知プロセス５０において、当該リンク状態が送信元に向けて通知される。例えば、何らかの理由によりリンクの品質が悪化すると、そのリンクに接続する送信側の端末が送信元に向けて経路情報通知を送信する。この経路情報通知を受信した端末は自端末の有するデータバッファにデータを保持するようになる。また、この経路情報通知は、送信元に向けて各端末間で転送されていく。
【００４２】
使用している経路のリンク状態が所定の状態になると、代替経路探索プロセス６０において、代替経路が探索される。例えば、何らかの理由によりリンクの品質が悪化すると、そのリンクに接続する送信側の端末が代替経路を発見するために経路要求を送信する。その経路要求を送信した端末が所定の手順により経路返答を受信することにより、代替経路の候補が設定される。
【００４３】
但し、この経路要求に対して適切な代替経路が発見されなかった場合には、送信元に向けた経路上の次の端末に経路エラーが送信される。そして、この経路エラーを受信した端末が、代替経路を発見するために経路要求を送信する。これによっても適切な代替経路が発見されなかった場合には、送信元に向けた経路上のさらに次の端末に経路エラーが転送され、代替経路を発見されるまで同様の手順を繰り返す。
【００４４】
代替経路の候補が設定された後、使用している経路のリンク状態が所定の状態になると、経路切替プロセス７０において、代替経路への切り替えが行われる。例えば、何らかの理由によりリンクの品質がさらに悪化して切断されそうになると、代替経路の候補を設定させた端末は、代替経路の候補を正規の経路として切り替えるよう他の端末に指示をする。これにより、代替経路が宛先端末までの正規な経路となる。
【００４５】
次に本発明の実施の形態における無線端末の構成例について図面を参照して説明する。
【００４６】
図４は、本発明の実施の形態における無線端末１００の一構成例を示す図である。この無線端末１００は、通信処理部１１０と、制御部１２０と、表示部１３０と、操作部１４０と、メモリ６００とを備え、これらの間をバス１８０が接続する構成となっている。また、通信処理部１１０にはアンテナ１０５が接続されている。通信処理部１１０は、アンテナ１０５を介して受信した信号からネットワークインターフェース層（データリンク層）のフレームを構成する。また、通信処理部１１０は、ネットワークインターフェース層のフレームをアンテナ１０５を介して送信する。また、通信処理部１１０は、アンテナ１０５を介して受信した信号について信号ノイズ比（Ｓ／Ｎ比）を検出して制御部１２０に報告する。
【００４７】
制御部１２０は、無線端末１００全体を制御する。例えば、通信処理部１１０により構成されたフレームを参照して所定の処理を行う。制御部１２０は、タイマ１２５を有し、時間を計測する。また、制御部１２０は、フレームもしくはパケットのエラー率を算出する。
【００４８】
表示部１３０は、所定の情報を表示するものであり、例えば、液晶ディスプレイ等が用いられ得る。操作部１４０は、無線端末１００に対して外部から操作指示を行うためのものであり、例えば、キーボードやボタンスイッチ等が用いられ得る。
【００４９】
メモリ６００は、制御部１２０の動作に必要なデータを保持するものであり、次に説明するように、自端末に接続する経路に関する情報を保持する経路テーブル６１０と、他の端末に送信されるデータを保持するデータバッファ６２０とを含む。
【００５０】
図５は、本発明の実施の形態における無線端末１００に保持される経路テーブル６１０の構成例を示す図である。経路テーブル６１０は、経路エントリとして、宛先アドレス６１１と、転送先アドレス６１２と、宛先ホップ数６１３と、リンク状態６１４と、シーケンス番号６１５と、先行リスト６１７とを保持する。宛先アドレス６１１は、その経路の最終的な宛先端末のアドレスを示す。ここでアドレスとは、端末を一意に識別できるものであればよく、例えば、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスやＩＰ（ＩｎｔｅｒｎｅｔＰｒｏｔｏｃｏｌ）アドレス等を用いることができる。転送先アドレス６１２は、対応する宛先アドレス６１１に到達するために次に転送すべき端末のアドレスを示す。
【００５１】
宛先ホップ数６１３は、対応する宛先アドレス６１１に到達するために必要なリンクの数を示す。例えば、図１（ｂ）の例では、端末Ｃから端末Ｓに到達するためには途中に端末Ａを介して、合計２つのリンクを経る必要があるのでホップ数は「２」となる。リンク状態６１４は、対応する転送先アドレス６１２との間のリンクについて、その状態を示すものである。このリンク状態については後述する。
【００５２】
シーケンス番号６１５は、過去に作成された経路と新規に作成された経路との間で生じ得るループを回避するためのものである。このシーケンス番号６１５の大小を比較することにより、何れの経路が新規のものであるかを判断することができる。
【００５３】
先行リスト６１７は、その経路の宛先アドレス６１１とは逆方向の端末のアドレス群を示すものである。例えば、端末Ｄから端末Ｃを介し、さらに端末Ａを介して端末Ｓに向かう経路が存在する場合、端末Ｃの経路テーブル６１０において、宛先アドレス６１１を端末Ｓ、転送先アドレス６１２を端末Ａとする経路エントリの先行リスト６１７は端末Ｄを含むことになる。ここで、例えば、端末Ｘから端末Ｃを介し、さらに端末Ａを介して端末Ｓに向かうデータの流れがさらにあったとすると、その先行リスト６１７はさらに端末Ｘを含むことになる。この先行リスト６１７は、代替経路が発見できなかった場合の経路エラーメッセージの送信先となる。
【００５４】
次に本発明の実施の形態におけるリンク状態の状態遷移について図面を参照して説明する。
【００５５】
図６は、本発明の実施の形態のリンク状態管理プロセス４０における状態遷移の一例を示す図である。リンク状態としては、有効状態（Ｖ状態：Ｖａｌｉｄ）４１、無効状態（Ｉ状態：Ｉｎｖａｌｉｄ）４２、切断状態（Ｂ状態：Ｂｒｅａｋ）４３、不安定状態（Ｓ状態：Ｓｔｒｅｔｃｈｅｄ）４４、候補状態（Ｃ状態：Ｃａｎｄｉｄａｔｅ）４５という５つの状態を持ち得る。
【００５６】
有効状態４１は、正規の経路として設定されている状態である。無効状態４２は、経路としては使用されていない状態であるが、経路テーブル６１０には経路エントリが保持されているものである。一方、切断状態４３も経路としては使用されていない状態であるが、既に経路テーブル６１０から削除されているものである。この切断状態４３を想定することにより、経路エントリを最小限に抑えて空きメモリを増大させ、管理コストを下げることができる。
【００５７】
不安定状態４４は、それまで有効状態４１であったリンクがリンク品質の悪化によって不安定になった状態を示すものである。例えば電波の受信状況が悪化してくる場合や、人体遮蔽により電波が通りにくくなっている場合などが考えられる。ただし、この不安定状態４４においても、多少通信に問題はあるものの、全く通信できない程の状態ではないものとする。候補状態４５は、代替経路探索プロセス６０により代替経路の候補として設定された状態であり、使用可能ではあるがこの時点ではまだ正規の経路として使用されていない状態である。
【００５８】
最初に経路発見プロセス２０において経路が設定されると有効状態４１となるが、その後、リンクの品質が悪化すると不安定状態４４に遷移する。また、有効状態４１において経路が使用されず所定時間が経過すると、タイムアウトとして無効状態４２に遷移する。また、代替経路が正規の経路として切り替わると、元の有効状態４１のリンクは無効状態４２に遷移する。
【００５９】
不安定状態４４になると、代替経路探索プロセス６０により代替経路が発見される。代替経路が正規の経路として切り替わると、元の不安定状態４４のリンクは無効状態４２に遷移する。また、不安定状態４４において経路が使用されず所定時間が経過すると、タイムアウトとして無効状態４２または切断状態４３に遷移する。なお、不安定状態４４において、さらにリンクの品質が悪化して全く通信不可能な状態になると切断状態４３に遷移するが、リンクの品質が改善した場合には再び有効状態４１に戻る。
【００６０】
候補状態４５においてその代替経路が正規の経路として切り替わると有効状態４１に遷移する。一方、候補状態４５においてさらにリンクの品質が悪化して全く通信不可能な状態になったり、そのまま経路が使用されず所定時間が経過すると、タイムアウトとして切断状態４３に遷移して経路テーブル６１０から削除される。
【００６１】
また、無効状態４２においてさらにリンクの品質が悪化して全く通信不可能な状態になるか、そのまま所定時間が経過すると切断状態４３に遷移して経路テーブル６１０から削除される。一方、有効状態４１にある経路は通信ができないくらい急激に品質が劣化したとしても一旦必ず不安定状態４４に遷移するものとし、切断状態４３には直接遷移しないものとする。
【００６２】
なお、この状態遷移におけるリンクの品質の良否は、通信処理部１１０により検出された物理層の信号ノイズ比や制御部１２０により算出されたＭＡＣ副層のエラー率に基づいて、制御部１２０により判断される。また、タイムアウトの判断は、制御部１２０のタイマ１２５を基準として判断される。
【００６３】
次に本発明の実施の形態におけるパケット構成について図面を参照して説明する。
【００６４】
図７は、本発明の実施の形態の経路情報通知プロセス５０において使用される経路情報通知パケット８３０の一構成例を示す図である。この経路情報通知パケット８３０は、経路テーブル６１０におけるリンク状態６１４が有効状態（Ｖ状態）４１から不安定状態（Ｓ状態）４４に遷移した際に、そのリンクに接続する送信側の端末が送信するものである。この経路情報通知パケット８３０は、パケットタイプ８３１と、リンク状態８３２と、発信アドレス８３３と、上流アドレス８３４と、下流アドレス８３５と、データ保持時間８３６とを含んでいる。
【００６５】
パケットタイプ８３１は、パケットの種別を表すフィールドであり、この経路情報通知パケット８３０の場合は、経路情報通知パケットであることが示される。リンク状態８３２は、そのリンクの現在のリンク状態を表すフィールドである。本発明の実施の形態では、このリンク状態８３２として、有効状態（Ｖ状態）４１および不安定状態（Ｓ状態）４４の何れかを想定するが、これ以外の状態であっても送信することはできるようにしてよい。
【００６６】
発信アドレス８３３は、その経路を使用してデータを送信している端末のアドレスを表すフィールドである。上流アドレス８３４および下流アドレス８３５は、リンク状態８３２を有するリンクを特定する端末のアドレスを表すフィールドである。すなわち、上流アドレス８３４は、そのリンクに接続する送信側の端末であり、この経路情報通知パケット８３０を送信する端末のアドレスを表す。また、下流アドレス８３５は、そのリンクに接続する受信側の端末であり、この経路情報通知パケット８３０を送信する端末の次ホップに該当する端末のアドレスを表す。
【００６７】
データ保持時間８３６は、この経路情報通知パケット８３０を受信した端末がその送信中のデータをデータバッファ６２０（図４）にどれ位の時間保持しておくべきかを指定するフィールドである。例えば、数ミリ秒から数秒の間、データを保持しておくべき旨を指定することができる。一方、保持させない場合には、このデータ保持時間８３６には「０」値を設定しておく。無線端末１００は、経路情報通知パケット８３０を受信した後、このデータ保持時間８３６を経過するまでの間に経路エラーメッセージを受け取らなければデータバッファ６２０に保持していたデータを破棄する。
【００６８】
図８は、本発明の実施の形態の代替経路探索プロセス６０において使用される経路要求パケット８１０の一構成例を示す図である。この経路要求パケット８１０は、経路テーブル６１０におけるリンク状態６１４が有効状態（Ｖ状態）４１から不安定状態（Ｓ状態）４４に遷移した際に、そのリンクに接続する送信側の端末が送信するものである。この経路要求パケット８１０は、パケットタイプ８１１と、代替フラグ８１２と、ホップカウント８１３と、要求識別子８１４と、宛先アドレス８１５と、宛先シーケンス番号８１６と、発信アドレス８１７と、代行アドレス８１８と、発信シーケンス番号８１９とを含んでいる。
【００６９】
パケットタイプ８１１は、パケットの種別を表すフィールドであり、この経路要求パケット８１０の場合は、経路要求パケットであることが示される。代替フラグ８１２は、その経路要求パケット８１０が当初の経路設定のために使用されているのか、もしくは代替経路の候補を設定するために使用されているのかを表示するフィールドである。例えば、代替フラグ８１２が「ＯＦＦ」であれば通常の経路要求であり、代替フラグ８１２が「ＯＮ」にセットされていれば代替経路の候補を設定するための特別な経路要求であることがわかる。この代替フラグ８１２がセットされている経路要求パケット８１０は、不安定状態４４以外の端末にマルチプルユニキャスト転送される。また、この代替フラグ８１２がセットされている経路要求パケット８１０を受信した端末においては、後述のシーケンス番号やホップ数の制限に制約されずに経路要求元に対する経路情報が作成される。
【００７０】
ホップカウント８１３は、発信アドレス８１７から経てきたリンクの数を表すフィールドである。要求識別子８１４は、その経路要求パケット８１０に係る経路要求を一意に識別するための識別子を表すフィールドである。この要求識別子８１４は、発信アドレス８１７から宛先アドレス８１５まで経路要求が転送されていく過程において変更されない。
【００７１】
宛先アドレス８１５は、設定すべき経路の終点となる端末のアドレスを表すフィールドであり、この宛先アドレス８１５がその経路要求パケット８１０の最終的な宛先端末のアドレスを表す。この経路要求パケット８１０により、宛先アドレス８１５までの経路が設定される。宛先シーケンス番号８１６は、宛先アドレス８１５に向けた経路上にある端末が過去に受信した最大のシーケンス番号を表すフィールドである。
【００７２】
発信アドレス８１７は、設定すべき経路の始点となる端末のアドレスを表すフィールドである。代替フラグ８１２がセットされていない場合にはこの発信アドレス８１７がその経路要求パケット８１０を最初に発信した発信端末のアドレスを表すが、代替フラグ８１２がセットされている場合には次の代行アドレス８１８がその経路要求パケット８１０を最初に発信した発信端末のアドレスを表すことになる。代行アドレス８１８は、代替フラグ８１２がセットされている場合において、その経路要求パケット８１０を代行して発信した端末のアドレスを表すフィールドである。
【００７３】
発信シーケンス番号８１９は、発信端末の現在のシーケンス番号を表すフィールドであり、その発信端末に向けて経路を設定した端末にとっての宛先シーケンス番号となる。
【００７４】
図９は、本発明の実施の形態の代替経路探索プロセス６０において使用される経路返答パケット８２０の一構成例を示す図である。この経路返答パケット８２０は、経路要求パケット８１０の宛先アドレス８１５に示された端末がその経路要求パケット８１０に対する返答として送信するものである。この経路返答パケット８２０は、パケットタイプ８２１と、代替フラグ８２２と、ホップカウント８２３と、宛先アドレス８２５と、宛先シーケンス番号８２６と、発信アドレス８２７と、代行アドレス８２８と、残存時間８２９とを含んでいる。
【００７５】
パケットタイプ８２１は、パケットの種別を表すフィールドであり、この経路返答パケット８２０の場合は、経路返答パケットであることが示される。代替フラグ８２２は、代替フラグ８１２と同様に、その経路返答パケット８２０が当初の経路設定のために使用されているのか、もしくは代替経路の候補を設定するために使用されているのかを表示するフィールドである。この代替フラグ８２２がセットされている経路返答パケット８２０は、代行アドレス８１８に示される端末によって受信されると、それ以上転送されなくなる。
【００７６】
ホップカウント８２３は、宛先アドレス８２５から経てきたリンクの数を表すフィールドである。宛先アドレス８２５は、設定すべき経路の終点となる端末のアドレスを表すフィールドであり、この宛先アドレス８２５がその経路返答パケット８２０を発信した端末のアドレスを表す。宛先シーケンス番号８２６は、宛先アドレス８２５に向けた経路上にある端末が過去に受信した最大のシーケンス番号を表すフィールドである。
【００７７】
発信アドレス８２７は、設定すべき経路の始点となる端末のアドレスを表すフィールドである。代行アドレス８２８は、代替フラグ８２２がセットされている場合において、その経路返答パケット８２０の最終的宛先となる端末のアドレスを表すフィールドである。残存時間８２９は、その経路の残存時間を表すフィールドであり、上述のタイムアウトを判断するために用いられる。
【００７８】
図１０は、本発明の実施の形態の代替経路探索プロセス６０において使用される経路エラーパケット８４０の一構成例を示す図である。この経路エラーパケット８４０は、代替経路探索プロセス６０においてリンクの品質が悪化したことをきっかけに代替経路を検索しても発見できなかった場合に、そのリンクに接続する送信側の端末が送信するものである。この経路エラーパケット８４０は、パケットタイプ８４１と、未到達宛先アドレス８４２とを含んでいる。パケットタイプ８４１は、パケットの種別を表すフィールドであり、この経路エラーパケット８４０の場合は、経路エラーパケットであることが示される。
【００７９】
未到達宛先アドレス８４２は、経路エラーパケット８４０の送信端末において代替経路を検索しても発見できなかったその経路の宛先アドレスを表すフィールドである。経路エラーパケット８４０を受信した端末は、この未到達宛先アドレス８４２を参照して、経路テーブル６１０の宛先アドレス６１１（図５）と一致する経路エントリにおいてリンク状態６１４を有効状態から不安定状態に変更して、自端末からの代替経路の検索を行う。この検索によっても代替経路を発見できなかった場合には、経路エントリのリンク状態６１４を不安定状態から無効状態に変更（もしくは削除）して、先行リスト６１７に記されたアドレスに対して経路エラーパケット８４０を転送する。
【００８０】
図１１は、本発明の実施の形態の経路切替プロセス７０において使用される経路切替パケット８５０の一構成例を示す図である。この経路切替パケット８５０は、代替経路の候補を設定するために経路要求パケット８１０を送信した端末がその代替経路の候補を正規の経路として切り替えるために送信するものである。この経路切替パケット８５０は、通常のデータパケットを利用することができる。例えば、図１１のように、ペイロード部８５６にデータ８５７を含むデータパケットにおいて、ヘッダ部８５１の定義を一部変更することにより実現することができる。但し、ＩＰｖ４のようにヘッダ部を変更できない場合には、同様の情報を含む経路切替パケット８５０を制御パケットとして送信した後にデータパケットを送信するようにしてもよい。
【００８１】
データパケットを利用した経路切替パケット８５０のヘッダ部８５１は、通常の宛先アドレス８５２および発信アドレス８５３に加えて、経路切替フラグ８５４が追加されている。この経路切替フラグ８５４が「ＯＮ」にセットされているデータパケットを受信した端末は、代替経路の候補を正規の経路として切り替える。すなわち、経路テーブル６１０において、宛先アドレス６１１が宛先アドレス８５２と一致する経路エントリを探し、そのような経路エントリにおけるリンク状態６１４を候補状態４５から有効状態４１に変更する。また、それに先だって、宛先アドレス６１１が宛先アドレス８５２と一致する経路エントリにおいてリンク状態６１４が有効状態４１もしくは不安定状態４４のものがあれば無効状態４２に変更しておく。
【００８２】
次に本発明の実施の形態における各プロセスにおける動作について図面を参照して説明する。
【００８３】
図１２は、本発明の実施の形態において端末Ｃが経路情報通知パケット８３０を送信する際の経路を示す図である。ここでは、端末Ｓから端末Ｄへデータの送信が行われるに際して、端末Ａ、端末Ｂおよび端末Ｃを介した経路が使用されているものとする。端末Ｃと端末Ｄとの間のリンクの品質が悪化して不安定状態になると、端末Ｃは経路情報通知パケット８３０を端末Ｂに送信する。この場合、図７の経路情報通知パケット８３０において、発信アドレス８３３はデータ送信元である端末Ｓのアドレス、上流アドレス８３４はこの経路情報通知パケット８３０を送信する端末Ｃのアドレス、下流アドレス８３５は次ホップの端末Ｄのアドレスをそれぞれ示す。リンク状態８３２としては不安定状態であることを示す。
【００８４】
この経路情報通知パケット８３０を受信した端末Ｂは、それ以降、端末Ｃに対して送信するデータを自端末のデータバッファ６２０に保持する。端末Ｂは、この経路情報通知パケット８３０をさらに上流の端末Ａに転送する。これにより、端末Ａも、それ以降、端末Ｂに対して送信するデータを自端末のデータバッファ６２０に保持するようになる。同様に、端末Ａは、この経路情報通知パケット８３０をさらに上流の端末Ｓ転送する。これにより、端末Ｓも、それ以降、端末Ａに対して送信するデータを自端末のデータバッファ６２０に保持するようになる。端末Ｓは、データの送信元であり、発信アドレス８３３と自端末のアドレスとが一致することから、それ以上の転送は行わない。
【００８５】
図１３は、本発明の実施の形態において端末Ｃが経路エラーパケット８４０を送信する際の経路を示す図である。図１２で端末Ｃが経路情報通知パケット８３０を送信した後、端末Ｃは不安定状態となっている端末Ｃと端末Ｄとの間の経路に代わる代替経路を検索するために、経路要求パケット８１０を送信する。端末Ｃから見ると端末Ｄ以外の隣接端末は端末Ｂおよび端末Ｇである。端末Ｂは現在の経路の先行リスト６１７に含まれているため、端末Ｂを介する経路はこの段階では検索されない。ここで、図１３に示すように、端末Ｃと端末Ｇとの間の経路が既に切断されていたとすると、端末Ｇを介する経路も発見できない。従って、端末Ｃはそれ以外の経路を発見できない。そこで、端末Ｃは端末Ｂに対して経路エラーパケット８４０を送信する。
【００８６】
この経路エラーパケット８４０を受信した端末Ｂは、端末Ｂと端末Ｄとの間の代替経路を検索するために、経路要求パケット８１０を送信する。端末Ｂから見ると端末Ｃ以外の隣接端末は端末Ａおよび端末Ｆである。端末Ａは現在の経路の先行リスト６１７に含まれているため、端末Ａを介する経路はこの段階では検索されない。ここで、図１３に示すように、端末Ｆと端末Ｇとの間の経路および端末Ｆと端末Ｉとの間の経路が既に切断されていたとすると、端末Ｂはそれ以外の経路を発見できない。そこで、端末Ｂは端末Ａに対して経路エラーパケット８４０を転送する。
【００８７】
この経路エラーパケット８４０を受信した端末Ａは、端末Ａと端末Ｄとの間の代替経路を検索するために、経路要求パケット８１０を送信する。端末Ａから見ると端末Ｂ以外の隣接端末は端末Ｓおよび端末Ｅである。端末Ｓは現在の経路の先行リスト６１７に含まれているため、端末Ｓを介する経路はこの段階では検索されない。端末Ｅについては、図１３に示すように端末Ｆとの間の経路が切断されているが、端末Ｈへの経路はつながっている。端末Ａから送信された経路要求パケット８１０は、端末Ｅから端末Ｈ、端末Ｉおよび端末Ｊによって、端末Ｄに到達するまで転送される。この過程で、経路上の端末における経路テーブル６１０には、端末Ｄから端末Ｓに向けた経路が設定される。この段階では、この経路上のリンク状態６１４は候補状態となっている。
【００８８】
経路要求パケット８１０を受信した端末Ｄは、端末Ｊに対して経路返答パケット８２０を送信する。この経路返答パケット８２０は、経路要求パケット８１０の転送されてきた経路を逆方向に転送されていく。この過程で、経路上の端末における経路テーブル６１０には、端末Ｓから端末Ｄに向けた経路が設定される。この段階では、この経路上のリンク状態６１４は候補状態となっている。
【００８９】
図１４は、本発明の実施の形態において端末Ｓと端末Ｄとの間で代替経路に切り替えられた状態を示す図である。上述のように経路要求パケット８１０および経路返答パケット８２０により代替経路が設定された段階では経路上のリンク状態６１４は候補状態となっている。これを正規の経路に切替えるために、端末Ａは経路切替パケット８５０を端末Ｅに送信する。この経路切替パケット８５０を受信した代替経路上の端末Ｅは、元の経路を無効状態に変更した後に、候補状態のリンクを有効状態に変更する。そして、この経路切替パケット８５０は、端末Ｅから端末Ｈ、端末Ｉおよび端末Ｊによって、端末Ｄに到達するまで転送される。これにより、代替経路が正規の経路として切替えられる。
【００９０】
図１５は、本発明の実施の形態における経路情報通知前後の端末Ａのデータ送信タイミングを示す図である。図１５（ａ）は、端末Ａから端末Ｂにデータ送信がされる際のデータの流れが示されている。端末Ａがデータｄ１からｄ３を送信したところで、経路情報通知パケット８３０を受信したとすると、ｄ４以降のデータは、端末Ｂに送信されるとともに、図１５（ｂ）に示されるように端末Ａのデータバッファ６２０に保持される。
【００９１】
端末Ａがｄ６を送信したところで、端末Ｅに経路を切替える旨の経路切替パケット８５０を受信したとすると、次に端末Ａは端末Ｅにデータを送信する。このとき、端末Ａは次のデータｄ７を送信するのではなく、データバッファ６２０に保持されていたデータｄ４からｄ６を先に送信する。そして、データバッファ６２０に保持されていたデータｄ４からｄ６の端末Ｅへの送信が終了すると、端末Ａは次いでデータｄ７以降を端末Ｅに送信していく。これにより、経路切替の際に切替途中の送信データを漏らすことなく送信することができる。なお、その結果、端末Ｂを介した元の経路によるデータｄ４からｄ６が端末Ｄによって重複して受信されてしまう可能性もあるが、その場合には端末Ｄは後から到達したデータを破棄するので問題は生じない。
【００９２】
次に本発明の実施の形態の各端末における処理方法について図面を参照して説明する。
【００９３】
図１６は、本発明の実施の形態における無線端末１００が経路情報通知パケット８３０を受信した場合の処理手順を示す流れ図である。無線端末１００は、経路情報通知パケット８３０を受信すると（ステップＳ９１１）、その経路情報通知パケット８３０の発信アドレス８３３が自端末のアドレスでなければ（ステップＳ９１２）、その経路情報通知パケット８３０を発信アドレス８３３に向けて転送する（ステップＳ９１３）。また、この経路情報通知パケット８３０のリンク状態８３２が不安定状態または切断状態以外（すなわち、有効状態、無効状態または候補状態）であれば（ステップＳ９１４）、次の経路情報通知パケット８３０を受信する（ステップＳ９１１）。
【００９４】
ステップＳ９１４において、リンク状態８３２が不安定状態または切断状態であると判断すると、無線端末１００は現在の経路における送信データをデータバッファ６２０に保持する（ステップＳ９１５）。そして、データ保持時間８３６を経過する前に（ステップＳ９１７）、経路エラーパケット８４０を受信すると、自端末から宛先端末への代替経路を検索する（ステップＳ９２０）。これについては、図１７を参照して後述する。
【００９５】
一方、データバッファ６２０への保持（ステップＳ９１５）を開始してからデータ保持時間８３６を経過すると（ステップＳ９１７）、データバッファ６２０に保持していたデータを廃棄する（ステップＳ９１８）。
【００９６】
図１７は、本発明の実施の形態における無線端末１００が経路エラーパケット８４０を受信した場合の処理手順を示す流れ図である。無線端末１００は、経路エラーパケット８４０を受信すると（ステップＳ９２１）、自端末から宛先端末への代替経路を検索するために経路要求パケット８１０を送信する（ステップＳ９２２）。この経路要求パケット８１０に対して経路返答パケット８２０を受信すれば、宛先端末への代替経路が発見されたことになるので（ステップＳ９２３）、経路切替パケット８５０を送信することにより代替経路への切り替えを行う（ステップＳ９６０）。これら経路検索から経路切替の手順については、図１８から図２０を参照して後述する。
【００９７】
ステップＳ９２３において経路が発見できなかった場合には、その経路エントリを経路テーブル６１０から削除もしくは無効状態にして（ステップＳ９２４）、データバッファ６２０に保持していたデータを廃棄する（ステップＳ９２５）。そして、自端末がデータの送信元でなければ（ステップＳ９２６）、その経路エラーパケット８４０を先行リスト６１７に記載されたアドレスに向けて転送する（ステップＳ９２７）。
【００９８】
図１８は、本発明の実施の形態における無線端末１００が経路要求パケット８１０を受信した場合の処理手順を示す流れ図である。無線端末１００は、経路要求パケット８１０を受信すると（ステップＳ９３１）、その経路要求パケット８１０の要求識別子８１４を参照することにより、重複して受信していないかどうかを判断する（ステップＳ９３２）。既に同じ要求識別子を有する経路要求パケットを受信していれば、後から受信したその経路要求パケット８１０を廃棄する（ステップＳ９４３）。
【００９９】
ステップＳ９３２において重複受信ではないと判断した場合には、その経路要求パケット８１０の要求識別子８１４を記録して（ステップＳ９３３）、その後の重複受信の判断に利用する。そして、その経路要求パケット８１０の代替フラグ８１２を参照して、「ＯＮ」にセットされているか、すなわち代替経路発見のための経路要求であるかを判断する（ステップＳ９３４）。代替経路発見のための経路要求であれば、以下のステップＳ９３５およびＳ９３６の判断は行わずに経路要求元への経路情報を作成する（ステップＳ９３７）。
【０１００】
ステップＳ９３４において代替経路発見のための経路要求でなく通常の（最初の）経路要求であると判断されると、シーケンス番号のチェック（ステップＳ９３５）およびホップカウントのチェック（ステップＳ９３６）が行われる。すなわち、経路要求パケット８１０の宛先シーケンス番号８１６が現在設定されている経路のシーケンス番号６１５よりも新しいものであれば、経路要求元への経路情報を作成する（ステップＳ９３７）。一方、経路要求パケット８１０の宛先シーケンス番号８１６が現在設定されている経路のシーケンス番号６１５よりも古いものであれば、経路情報の作成（ステップＳ９３７）は行わない。また、経路要求パケット８１０の宛先シーケンス番号８１６が現在設定されている経路のシーケンス番号６１５と一致する場合には、経路要求パケット８１０のホップカウント８１３と現在設定されている経路の宛先ホップ数６１３とを比較して、経路要求パケット８１０のホップカウント８１３の方が短ければ、経路要求元への経路情報を作成する（ステップＳ９３７）。
【０１０１】
ステップＳ９３７において経路要求元への経路情報を作成する際には、具体的には以下の処理を行う。すなわち、経路要求パケット８１０の宛先シーケンス番号８１６をシーケンス番号６１５に設定し、経路要求パケット８１０のホップカウント８１３に「１」を加えたものを宛先ホップ数６１３に設定し、その経路要求パケット８１０を送信した近隣端末のアドレスを転送先アドレス６１２に設定する。また、通常の（最初の）経路要求であればリンク状態６１４を有効状態とするが、代替経路発見のための経路要求であればリンク状態６１４を候補状態とする。
【０１０２】
そして、経路要求パケット８１０の宛先アドレス８１５が自端末のアドレスであれば（ステップＳ９３８）、この経路要求パケット８１０に対して経路返答パケット８２０を送信する（ステップＳ９４１）。一方、経路要求パケット８１０の宛先アドレス８１５が自端末のアドレスでなければ、その経路要求パケット８１０を他の端末に転送する（ステップＳ９４２）。このとき、通常の（最初の）経路要求であればブロードキャストにより送信するが、代替経路発見のための経路要求であれば不安定状態のリンクに接続する端末以外の端末であって且つ先行リスト６１７（図５）に記載されていない端末に対してマルチプルユニキャストにより送信する。
【０１０３】
図１９は、本発明の実施の形態における無線端末１００が経路返答パケット８２０を受信した場合の処理手順を示す流れ図である。無線端末１００は、経路返答パケット８２０を受信すると（ステップＳ９５１）、経路返答送信元への経路情報を作成する（ステップＳ９５２）。
【０１０４】
そして、経路返答パケット８２０の発信アドレス８２７が自端末のアドレスと一致する場合には（ステップＳ９５３）、通常の経路が設定されたことになるため、そのまま処理を終了する。一方、経路返答パケット８２０の発信アドレス８２７が自端末のアドレスと一致しない場合には、さらに代替フラグ８２２を調べ（ステップＳ９５４）、代替フラグ８２２がセットされていなければ通常の経路返答であると解釈して、その経路返答パケット８２０をさらに転送する（ステップＳ９５６）。
【０１０５】
ステップＳ９５４において代替フラグ８２２がセットされていれば、さらに代行アドレス８２８を調べ（ステップＳ９５５）、代行アドレス８２８が自端末のアドレスと一致しない場合にはその経路返答パケット８２０をさらに転送する（ステップＳ９５６）。一方、代行アドレス８２８が自端末のアドレスと一致する場合には、自端末から送信した代替経路要求に対する返答が戻ってきたことになるため、そのまま処理を終了する。
【０１０６】
図２０は、本発明の実施の形態における無線端末１００が経路切替パケット８５０を受信した場合の処理手順を示す流れ図である。無線端末１００は、データパケットを受信すると（ステップＳ９６１）、そのデータパケットの経路切替フラグ８５４がセットされているか否かを調べる（ステップＳ９６２）。経路切替フラグ８５４がセットされていなければ、通常のデータパケットであるため、経路の切替えは行わない。
【０１０７】
ステップＳ９６２において経路切替フラグ８５４がセットされていると判断した場合には、そのデータパケットは経路切替パケット８５０であるため、以下の手順で経路の切替えを行う。まず、経路テーブル６１０で、宛先アドレス６１１が宛先アドレス８５２と一致する経路エントリにおいてリンク状態６１４が有効状態もしくは不安定状態のものがあれば（ステップＳ９６３）、無効状態に変更しておく（ステップＳ９６４）。そして、経路テーブル６１０で、宛先アドレス６１１が宛先アドレス８５２と一致する経路エントリにおいてリンク状態６１４を候補状態から有効状態に変更する（ステップＳ９６５）。
【０１０８】
そして、宛先アドレス８５２が自端末のアドレスと一致すれば（ステップＳ９６６）、そのまま処理を終了する。一方、宛先アドレス８５２が自端末のアドレスと一致しなければ、そのデータパケットを経路テーブル６１０に従って他の端末に転送する（ステップＳ９６７）。
【０１０９】
このように、本発明の実施の形態によれば、経路発見プロセス２０によって設定された経路上のリンク３０の状態をリンク状態管理プロセス４０により監視して、リンク品質が悪化した際に経路情報通知プロセス５０によりリンク状態を通知した上で代替経路探索プロセス６０により代替経路を検索する。これにより、通知を受けた端末は送信データの保持を開始し、その後の経路切替プロセス７０における代替経路の切替えに備えることができる。
【０１１０】
また、代替経路探索プロセス６０においてある端末から代替経路を発見できなかった場合には送信側の隣接する端末に経路エラーが送信され、その経路エラーを受信した端末が代替経路を検索する。これにより、全ての経路を削除することなく、代替経路を設定することができる。すなわち、リンクの障害が頻繁に起こるような電波状況の劣悪なアドホックネットワーク環境においても安定した通信を行え、また、ノードの移動が頻繁に起こるアドホックネットワークの環境においても継続的に通信を行える信頼性の高いネットワークを提供することができる。
【０１１１】
なお、ここでは本発明の実施の形態を例示したものであり、本発明はこれに限られず、本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
【０１１２】
また、ここで説明した処理手順はこれら一連の手順を有する方法として捉えてもよく、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。
【０１１３】
【発明の効果】
以上の説明で明らかなように、本発明によると、無線アドホック通信システムにおいて、あるノードにおいて代替経路が発見できない場合に送信元に至る全ての経路を削除せずに途中ノードにおける修復を試みることができるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施の形態における無線アドホック通信システムで想定する無線アドホックネットワークの一例を示す図である。
【図２】図１の例による無線アドホックネットワークにおいて経路を設定するための手順を示す図である。
【図３】本発明の実施の形態における処理の概要を示す図である。
【図４】本発明の実施の形態における無線端末１００の一構成例を示す図である。
【図５】本発明の実施の形態における無線端末１００に保持される経路テーブル６１０の構成例を示す図である。
【図６】本発明の実施の形態のリンク状態管理プロセス４０における状態遷移の一例を示す図である。
【図７】本発明の実施の形態の経路情報通知プロセス５０において使用される経路情報通知パケット８３０の一構成例を示す図である。
【図８】本発明の実施の形態の代替経路探索プロセス６０において使用される経路要求パケット８１０の一構成例を示す図である。
【図９】本発明の実施の形態の代替経路探索プロセス６０において使用される経路返答パケット８２０の一構成例を示す図である。
【図１０】本発明の実施の形態の代替経路探索プロセス６０において使用される経路エラーパケット８４０の一構成例を示す図である。
【図１１】本発明の実施の形態の経路切替プロセス７０において使用される経路切替パケット８５０の一構成例を示す図である。
【図１２】本発明の実施の形態において端末Ｃが経路情報通知を送信する際の経路を示す図である。
【図１３】本発明の実施の形態において端末Ｃが経路エラーを送信する際の経路を示す図である。
【図１４】本発明の実施の形態において端末Ｓと端末Ｄとの間で代替経路に切り替えられた状態を示す図である。
【図１５】本発明の実施の形態における経路情報通知前後の端末Ａのデータ送信タイミングを示す図である。
【図１６】本発明の実施の形態における無線端末１００が経路情報通知パケット８３０を受信した場合の処理手順を示す流れ図である。
【図１７】本発明の実施の形態における無線端末１００が経路エラーパケット８４０を受信した場合の処理手順を示す流れ図である。
【図１８】本発明の実施の形態における無線端末１００が経路要求パケット８１０を受信した場合の処理手順を示す流れ図である。
【図１９】本発明の実施の形態における無線端末１００が経路返答パケット８２０を受信した場合の処理手順を示す流れ図である。
【図２０】本発明の実施の形態における無線端末１００が経路切替パケット８５０を受信した場合の処理手順を示す流れ図である。
【符号の説明】
１０  データ通信要求
２０  経路発見プロセス
３０  リンク
４０  リンク状態管理プロセス
４１  有効状態
４２  無効状態
４３  切断状態
４４  不安定状態
４５  候補状態
５０  経路情報通知プロセス
６０  代替経路探索プロセス
７０  経路切替プロセス
１００  無線端末
１０５  アンテナ
１１０  通信処理部
１２０  制御部
１２５  タイマ
１３０  表示部
１４０  操作部
１８０  バス
２０１−２１１  無線端末
２９１−２９６  通信範囲
６００  メモリ
６１０  経路テーブル
６２０  データバッファ
８１０  経路要求パケット
８２０  経路返答パケット
８３０  経路情報通知パケット
８４０  経路エラーパケット
８５０  経路切替パケット
【図１】
2004282269.tif 000003
【図２】
2004282269.tif 000004
【図３】
2004282269.tif 000005
【図４】
2004282269.tif 000006
【図５】
2004282269.tif 000007
【図６】
2004282269.tif 000008
【図７】
2004282269.tif 000009
【図８】
2004282269.tif 000010
【図９】
2004282269.tif 000011
【図１０】
2004282269.tif 000012
【図１１】
2004282269.tif 000013
【図１２】
2004282269.tif 000014
【図１３】
2004282269.tif 000015
【図１４】
2004282269.tif 000016
【図１５】
2004282269.tif 000017
【図１６】
2004282269.tif 000018
【図１７】
2004282269.tif 000019
【図１８】
2004282269.tif 000020
【図１９】
2004282269.tif 000021
【図２０】
2004282269.tif 000022