(57)【要約】【課題】ＴＣＰ或いはＴＣＰに類似したプロトコルを、無線アドホックネットワークに適用した場合における、伝送特性の劣化を効果的に防止する。【解決手段】複数の通信局で構成されるネットワーク内で通信を行う場合であって、マルチホップの通信を行うアドホックネットワークである場合に、ネットワーク内の通信局が、自己の通信局を通過している通信量をカウントし、そのカウントした通信量に対応して、バックオフの大きさを決定し、その決定されたバックオフの大きさに応じて、パケットの再送を開始させるタイムアウト時間を設定する。このようにしたことで、自己の通信局を通過している通信量に応じて、良好なタイムアウト時間の設定が可能になる。【選択図】　　　図１
2004015746.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信局で構成されるネットワーク内で通信を行う通信方法であって、ネットワーク内で直接的に通信ができない通信局の間の通信については、ネットワーク内に存在する他の通信局で中継してマルチホップの通信を行う通信方法において、
ネットワーク内の通信局が、自己の通信局を通過している通信量をカウントし、そのカウントした通信量に対応して、バックオフの大きさを決定し、その決定されたバックオフの大きさに応じて、パケットの再送を開始させるタイムアウト時間を設定する
通信方法。
【請求項２】
請求項１記載の通信方法において、
上記自己の通信局を通過している通信量には、自己の通信局が送信元又は受信先となる通信を含むようにした
通信方法。
【請求項３】
請求項１記載の通信方法において、
上記通信量のカウントは、自己の通信局を通過しているコネクション数をカウントし、そのカウントしたコネクション数に対応して、バックオフの大きさを決定するようにした
通信方法。
【請求項４】
請求項１記載の通信方法において、
上記通信量のカウントは、自己の通信局を通過しているパケットの送信元及び／又は受信先となるアドレスの数をカウントし、そのカウントしたアドレス数に対応して、バックオフの大きさを決定するようにした
通信方法。
【請求項５】
請求項４記載の通信方法において、
上記パケットのアドレスは、メディアアクセスコントロール層で使用されるＭＡＣアドレス、又はルーティング層で使用されるＩＰアドレスである
通信方法。
【請求項６】
請求項１記載の通信方法において、
上記通信量のカウントは、自己の通信局で送信及び／又は受信しているパケット数をカウントし、そのカウントしたパケット数に対応して、バックオフの大きさを決定するようにした
通信方法。
【請求項７】
請求項６記載の通信方法において、
上記カウントするパケット数は、メディアアクセスコントロール層で送信及び／又は受信しているパケット数、又はルーティング層で送信及び／又は受信しているパケット数である
通信方法。
【請求項８】
ネットワーク内の他の通信装置とコネクションを確立させて通信を行う通信装置であって、ネットワーク内の他の通信装置間の通信の中継が可能な通信装置において、
ネットワーク内の他の通信装置と通信を行う通信手段と、
設定されたタイムアウト時間を保持する記憶手段と、
上記通信手段で通信している通信量をカウントし、そのカウントした通信量に対応して、バックオフの大きさを決定し、その決定されたバックオフの大きさに応じて、上記記憶手段に記憶されたタイムアウト時間を更新させ、上記記憶手段に記憶されたタイムアウト時間を使用して、パケットの再送制御を行う制御手段とを備えた
通信装置。
【請求項９】
請求項８記載の通信装置において、
上記制御手段がカウントする通信量には、自己の通信装置で中継している通信の通信量と、時刻の通信装置が送信元又は受信先となる通信の通信量とを含む
通信装置。
【請求項１０】
請求項８記載の通信装置において、
上記制御手段での通信量のカウントは、自己の通信装置を通過しているコネクション数をカウントし、そのカウントしたコネクション数に対応して、バックオフの大きさを決定する
通信装置。
【請求項１１】
請求項８記載の通信装置において、
上記制御手段での通信量のカウントは、自己の通信装置を通過しているパケットの送信元及び／又は受信先となるアドレスの数をカウントし、そのカウントしたアドレス数に対応して、バックオフの大きさを決定する
通信装置。
【請求項１２】
請求項１１記載の通信装置において、
上記パケットのアドレスは、メディアアクセスコントロール層で使用されるＭＡＣアドレス、又はルーティング層で使用されるＩＰアドレスである
通信装置。
【請求項１３】
請求項８記載の通信装置において、
上記制御手段での通信量のカウントは、自己の通信装置で送信及び／又は受信しているパケット数をカウントし、そのカウントしたパケット数に対応して、バックオフの大きさを決定する
通信装置。
【請求項１４】
請求項１３記載の通信装置において、
上記制御手段でカウントするパケット数は、メディアアクセスコントロール層で送信及び／又は受信しているパケット数、又はルーティング層で送信及び／又は受信しているパケット数である
通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、各種データ転送を行う通信ネットワークでの通信方法及びその通信ネットワークに使用される通信装置に関し、特に通信ネットワーク内で中継して通信を行うシステムに好適なものに関する。
【０００２】
【従来の技術】
近年、無線によるＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ：構内情報通信網）が普及しており、コンピュータ装置やその周辺機器などの多数の機器でネットワークを構築させて、そのネットワーク内で無線通信によりデータ転送を行うことが、一般化している。
【０００３】
この場合、ネットワーク層プロトコルに、インターネットなどで広く普及して信頼性の高いプロトコルであるＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ　Ｃｏｎｔｒｏｌ　Ｐｒｏｔｏｃｏｌ　）を採用することで、インターネットに接続可能な機器が採用している構成をそのまま利用して、比較的容易にデータ転送が可能となる。また、そのネットワークを経由して、インターネットに接続される場合にも、同じＴＣＰのプロトコルが採用されていることで、データを容易にインターネット側に受け渡すことが可能になる。
【０００４】
無線ネットワークを構築する場合には、例えば、ネットワーク内に、少なくとも１台の基地局を設けて、ネットワーク内の各端末局での無線通信を、必ず基地局を経由して行うシステム構成とするものがある。このような基地局を必要とするネットワーク構成の場合には、基地局と直接的に無線通信ができる範囲が、ネットワークのサービスエリアになる。
【０００５】
これに対して、ネットワーク内での各端末局で無線伝送信号の中継が出来る構成として、ネットワーク内で、基地局のような固定的なインフラを使用せずに、ネットワーク内の任意の端末局間で無線通信が行えるネットワーク構成が提案されている。このように、ネットワーク内の任意の端末局で中継させて、いわゆるマルチホップの通信を行うものは、アドホックネットワークと呼ばれている。
【０００６】
アドホックネットワークの場合には、どの無線局（端末局）を経由して通信を行うかを示す通信経路を選択するプロトコルが必要で、アドホックルーティングプロトコルとして盛んに研究されている。
【０００７】
ところで、アドホックネットワークでは、ネットワーク内でデータ転送を行う場合に、送信側の無線局から送信されたパケットが、受信側の無線局に届くのに要する時間は、そのパケットが中継されるルートに依存する。例えば、複数の無線局を経由してデータパケットの転送を行う場合には、受信側の無線局に届くまでの時間が、比較的長く必要である。また、各無線局が移動局である場合には、中継されるルートが変更される可能性が高く、受信側の無線局に届くまでの時間についても、一定でない可能性が高く、急激に変動する可能性もある。
【０００８】
一方、無線ネットワーク内でデータ転送を行う場合の処理として、送信側の無線局（送信局）からパケットを送出させて、受信側の無線局（受信局）でそのパケットが正しく受信できた場合に、受信局から送信局に対して、ＡＣＫパケットと称される確認応答パケットを返送し、送信局で確認応答パケットを受信できた時点で、正しくデータ転送されたと判断する処理を行うことがある。送信局が確認応答パケットを受信できない場合には、再度送信局から同じデータを送信させて、確実にデータを転送させる。送信局で確認応答パケットを受信できた場合には、次のパケットの送信に移ることができる。
【０００９】
送信局では、確認応答パケットの受信を待つ時間が設定してあり、データを送信してからその設定された時間が経過するまでの間に、確認応答パケットが受信できない場合に、再度同じデータを送信するようにしてある。この確認応答パケットの受信を待つ時間は、ＲＴＯ（Ｒｅｔｒａｎｓｍｉｓｓｉｏｎ　Ｔｉｍｅｏｕｔ　Ｉｎｔｅｒｖａｌ　）と称され、タイムアウト時間やバックオフ時間とも言われる。
【００１０】
確認応答パケットの受信を待つ時間であるＲＴＯは、適切に設定しないと、データの転送に要する時間が長くなってしまう。即ち、ＲＴＯを必要以上に長い時間に設定すると、１単位のパケットを送る毎に、長い時間確認応答パケットの受信を待機する必要があり、また、短すぎると、確認応答パケットが受信局から送信されているのに、同じパケットが送信局から再送されてしまう問題がある。
【００１１】
有線通信でのＴＣＰのプロトコルでは、ＲＴＯとして設定されたタイムアウト時間を経過して、確認応答パケットを受信できない場合に、次に送信するパケットについては、タイムアウト時間を２倍にする、指数バックオフ法が実施されている。
【００１２】
【発明が解決しようとする課題】
ここで、上述した無線アドホックネットワークに、ＴＣＰのプロトコルを適用した場合には、以下の問題が生じる。
【００１３】
有線通信におけるパケット損失は、ネットワークの輻輳を意味するため、ＴＣＰのプロトコルでは、パケット損失を検出すると、データの送出レートを下げて、輻輳を回避するように設定されている。このため、ＴＣＰのプロトコルを無線通信に適用した場合には、無線区間でのエラーによるパケット損失も輻輳と解釈され、必要以上に輻輳回避を行う結果、スループットが低下してしまう。
【００１４】
さらに、上述したアドホックネットワークにおいては、各無線局の移動等により、通信経路が断絶することが比較的高い確率で生じるが、ＴＣＰのプロトコルでは、通信経路が断絶した場合でも、パケット損失はネットワークの輻輳を意味するとして必要以上に輻輳制御を行うため、ＴＣＰのプロトコルをアドホックネットワークに適用した場合にはさらにスループットが低下してしまう。具体的には、通信経路が断絶している間に、必要以上にＴＣＰウィンドウが小さくなること、及びＴＣＰのプロトコルでのタイムアウト時間が大きくなることにより、スループットが低下する。
【００１５】
このようなＴＣＰのプロトコルをアドホックネットワークに適用した場合に、通信経路の断絶によるスループットの低下を防ぐ方式としては、例えば以下の２つの論文中に提案されている。
論文１：Ａｎａｌｙｓｉｓ　ｏｆ　ＴＣＰ　ｐｅｒｆｏｒｍａｎｃｅ　ｏｖｅｒ　ｍｏｂｉｌｅ　ａｄ　ｈｏｃ　ｎｅｔｗｏｒｋｓ”
ｉｎ　ｐｒｏｃｅｅｄｉｎｇ　ｏｆ　ＩＥＥＥ／ＡＣＭ　ＭＯＢＩＣＯＭ’９９，Ａｕｇｕｓｔ　１９９９
論文２：Ａ　ｃｏｍｐａｒｉｓｏｎ　ｏｆ　ＴＣＰ　ｐｅｒｆｏｒｍａｎｃｅ　ｏｖｅｒ　ｔｈｒｅｅ　ｒｏｕｔｉｎｇ　ｐｒｏｔｏｃｏｌｓ　ｆｏｒ
ｍｏｂｉｌｅ　ａｂ　ｈｏｃ　ｎｅｔｗｏｒｋｓ”
ｉｎ　ｐｒｏｃｅｅｄｉｎｇ　ｏｆ　ＩＥＥＥ　ＭＯＢＩＨＯＣ’０１，Ｏｃｔｏｂｅｒ　２００１
【００１６】
論文１に記載された処理では、通信経路が断絶した場合、ＴＣＰのプロトコルで伝送されるウィンドウ値（１回に伝送されるデータ量に相当）、及びタイムアウト時間（上述したＲＴＯの値）を固定することによって、スループットの低下を防いでいる。論文２では、常にタイムアウト時間を一定にすることによって、タイムアウト時間が必要以上に大きくなるのを防いで、スループットの低下を防いでいる。
【００１７】
しかしながら、これらの論文で提案されている方式は、いずれも、通信経路が断絶した場合には、数秒毎の比較的短い間隔で周期的にパケットを送信することが必要である。論文１の方式では、通信経路が再度設定されたかどうかを知るために、周期的にパケットを送信する必要があり、論文２の方式では、常にタイムアウト時間は一定であり、周期的にパケットを送信することになる。これは、ＴＣＰのプロトコルが、ネットワークの混雑時にもネットワークの状況を正常に保つために実施する指数バックオフ法が、通信経路が断絶している期間は無効であることを意味している。
【００１８】
従って、論文１，論文２などの従来から提案されている方式では、ネットワークが混雑していない場合には、スループットの低下を防ぐことができるが、ネットワークが混雑している場合には、周期的に送信されるパケットが他のＴＣＰコネクションへの干渉となり、全体としての特性が劣化してしまうという問題点がある。
【００１９】
本発明はかかる点に鑑み、ＴＣＰ或いはＴＣＰに類似したプロトコルを、無線などのアドホックネットワークに適用した場合における、伝送特性の劣化を効果的に防止できるようにすることを目的とする。
【００２０】
【課題を解決するための手段】
本発明は、複数の通信局で構成されるネットワーク内で通信を行う場合であって、ネットワーク内で直接的に通信ができない無線通信局の間の通信については、ネットワーク内に存在する他の通信局で中継してマルチホップの通信を行う場合に、ネットワーク内の通信局が、自己の通信局を通過している通信量をカウントし、そのカウントした通信量に対応して、バックオフの大きさを決定し、その決定されたバックオフの大きさに応じて、パケットの再送を開始させるタイムアウト時間を設定するようにしたものである。
【００２１】
このようにしたことで、自己の通信局を通過している通信量に応じて、良好なタイムアウト時間の設定が可能になる。
【００２２】
【発明の実施の形態】
以下、添付図面を参照して、本発明の一実施の形態を説明する。
【００２３】
図１は、本例のシステム構成例を示した図である。本例においては、複数台の無線通信局１〜８で、無線ネットワーク１０を構成してある。ここでは、各無線通信局１〜８は、ネットワーク１０内の他の無線通信局から送信された信号を、中継伝送できる機能を備えて、各無線通信局１〜８で中継させて、ネットワーク１０内の２台の無線通信局間で双方向のデータ伝送が行える、いわゆる無線アドホックネットワーク１０として構成してある。この無線アドホックネットワークとして機能するために、各無線通信局１〜８は、ルーティングテーブルを持ち、そのルーティングテーブルを使用して、データを中継させるルートが選定される。
【００２４】
各無線通信局１〜８は、位置が固定された固定局、或いは移動可能に構成された移動局のいずれであっても良い。また、中継伝送可能な機能については、無線アドホックネットワーク１０内の一部の無線通信局だけが備えても良い。
【００２５】
また、ここでは、ネットワーク１０内の特定の１つの無線通信局８については、別の有線ネットワーク２０に接続させてあり、無線通信局８が、無線アドホックネットワーク１０と有線ネットワーク２０との間で、データを受け渡すブリッジ装置として機能するようにしてある。
【００２６】
無線アドホックネットワーク１０内で、各無線通信局１〜８が実行する無線通信方式としては、例えばＩＥＥＥ（Ｔｈｅ　Ｉｎｓｔｉｔｕｔｅ　ｏｆ　Ｅｌｅｃｔｒｉｃａｌ　ａｎｄ　Ｅｌｅｃｔｒｏｎｉｃｓ　Ｅｎｇｉｎｅｅｒｓ　）８０２．１１ａ方式と称される通信方式が適用できる。このＩＥＥＥ８０２．１１ａ方式は、１伝送チャンネルで複数のサブキャリアを使用してデータを伝送するＯＦＤＭ（Ｏｒｔｈｏｇｏｎａｌ　Ｆｒｅｑｕｅｎｃｙ　Ｄｉｖｉｓｉｏｎ　Ｍｕｌｔｉｐｌｅｘ　：直交周波数分割多重）方式を採用してある。
【００２７】
ここでは、無線アドホックネットワーク１０と有線ネットワーク２０のいずれも、トランスポート層プロトコルとして、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ　Ｃｏｎｔｒｏｌ　Ｐｒｏｔｏｃｏｌ　）を使用してある。このＴＣＰのプロトコルは、インターネットなどのプロトコルとして広く使用されている。また、ネットワーク層プロトコルとして、ＩＰ（Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ　）を使用してある。このＩＰのプロトコルについても、インターネットで一般に使用されている。トランスポート層プロトコルにＴＣＰを採用し、ネットワーク層プロトコルにＩＰを採用したものは、ＴＣＰ／ＩＰと称される。本明細書でも、両プロトコルを合わせてＴＣＰ／ＩＰと述べる場合がある。
【００２８】
次に、各無線通信局１〜８として使用可能な無線通信装置１００の構成例を、図２を参照して説明する。無線通信装置１００は、アンテナ１０１が高周波部１０２に接続してあり、高周波部１０２で受信信号のフィルタリング，周波数変換などのアナログ処理を行い、無線伝送された信号を受信する処理を行う。高周波部１０２で得られた受信信号は、アナログ／デジタル変換器１０３に供給して、デジタル化された受信系列に変換する。デジタル変換された受信系列は、ウィンドウ検出部１０４に供給して、高速フーリエ変換するデータの切れ目やフレームの切れ目を検出する同期検出処理を行い、その同期検出された受信系列を、高速フーリエ変換部１０５に供給して、検出されたタイミングに同期した高速フーリエ処理を行い、送信時の逆高速フーリエ変換と逆の処理を行う。
【００２９】
高速フーリエ変換部１０５でフーリエ変換された信号は、復調部１０６に供給して、ＱＰＳＫ復調などの送信時の変調方式に対応した復調処理を行い、受信シンボルストリームを生成させる。生成された受信シンボルストリームは、デインターリーバ１０７に供給して、分散されたビット系列を再配置させ、受信符号化ビット系列を生成させる。この受信符号化ビット系列は、ビタビ復号器１０８に供給してビタビ復号し、受信情報ビット系列に変調し、受信データ処理部１０９に供給する。
【００３０】
受信データ処理部１０９では、受信情報ビット系列として供給された受信パケットの中から、必要なデータを抽出する処理を行い、また必要によりエラー訂正符号に基づいたエラー訂正処理を行い、処理されたデータを、データ蓄積部としてのメモリ３１０に供給して蓄積させる。
【００３１】
この無線通信装置１００の中央制御ユニット１１１は、メモリ１１０に蓄積された受信データの中から、各々のアプリケーションに合ったデータや、画像データなどの各種データを分離して出力させる。なお、中央制御ユニット１１１には、タイミング制御部１１２が接続させてあり、中央制御ユニット１１１の制御に基づいて、タイミング制御部１１２が各回路での受信タイミングや復調方式などの指示を行う。
【００３２】
次に、無線通信装置１００の送信系の構成について説明すると、送信用のデータを一時蓄積させるメモリとして、メモリ１２１を備え、メモリ１２１に蓄積されたデータは、中央制御ユニット１１１の制御により、無線送信系の回路に供給する。即ち、メモリ１２１から読出されたデータを、送信データ処理部１２２に供給する。送信データ処理部１２２は、ＭＡＣ処理を行う回路であり、供給される送信データを、パケット形式データとして処理を行う。リードソロモン符号やターボ符号を使用したエラー訂正コードを付加させる処理を行う場合もある。
【００３３】
送信データ処理部１２２で得られたパケットデータは、畳み込み部１２３で系列間距離の伸長を行い、送信符号化ビット系列を生成させる畳み込み符号化処理を行う。畳み込み部１２３で得られた送信符号化ビット系列は、インターリーバ１２４に供給して、符号化ビット系列の並び替えを行い、ビット系列を分散させる。分散されたビット系列は、変調部１２５に供給して、プリアンブル信号をビット系列内に挿入し、次に１次変調としてＱＰＳＫ変調，ＢＰＳＫ，８ＰＳＫ，ＱＡＭ等の変調（絶対変調でも差動変調でも良い）を行う。
【００３４】
変調部１２５で変調された送信シンボルストリームは、逆高速フーリエ変換部１２６に供給し、逆高速フーリエ変換処理を行い、さらに窓がけ処理を行う。逆高速フーリエ変換部１２６での処理により、仮想的に周波数軸上に配置されていた送信シンボルストリームが時間軸上で平均化され、ＯＦＤＭ変調された送信系列となる。
【００３５】
この逆高速フーリエ変換部１２６で得られた送信系列を、デジタル・アナログ変換器１２７に供給し、アナログ信号に変換する。変換されたアナログ信号は、高周波部１０２に供給して、周波数変換，フィルタリングなどの送信用のアナログ処理を行い、接続されたアンテナ１０１から無線送信させる。
【００３６】
なお、本例の無線通信装置１００は、無線信号を中継するルータとして機能するようにしてあり、例えば、受信系のメモリ１１０に書込まれた受信データを、送信系のメモリ１２１に供給して、送信処理させて、中継させることができる。中継時に受信信号の送信先を決めるルーティング処理は、中央制御ユニット１１１内に用意されたメモリの一部の容量を使用した、ルーティングテーブル（図示せず）のデータを使用して実行される。無線通信装置１００で中継する信号については、受信系での復調や送信系での変調などの一部の処理を省略して、受信した信号をそのまま送信させるように構成しても良い。また、中央制御ユニット１１１内のメモリの一部の容量を利用して、この無線通信装置１００（即ち自局）を使用して中継している信号に関する情報などを記憶するようにしてある。この中継している信号に関する情報については後述する。
【００３７】
このように構成される無線通信装置１００を、図１に示した構成の無線アドホックネットワーク１０内の無線局１〜８に適用した場合の、各無線局のプロトコルスタックとしては、例えば図３に示す構成となる。即ち、最も下の層に無線通信を実際に実行する物理層が形成され、その上に、ＭＡＣ（Ｍｅｄｉａ　Ａｃｃｅｓｓ　Ｃｏｎｔｒｏｌ）層、ルーティング層（ネットワーク層）、トランスポート層、アプリケーション層が順に用意されている。アプリケーション層は、伝送させるデータの種類に応じて用意される。本例の場合には、既に説明したように、トランスポート層でのプロトコルについてはＴＣＰを使用し、ネットワーク層でのプロトコルについてはＩＰを使用した、いわゆるＴＣＰ／ＩＰのプロトコルを採用してある。
【００３８】
各層について説明すると、物理層は、主として無線信号に送受信、変復調、誤り訂正符号化／復号化などの、無線信号の送受信に必要な信号処理を行う。図２の構成では、受信系の高周波部１０２からビタビ復号器１０８までの回路での受信処理と、送信系の畳み込み部１２３から高周波部１０２までの回路での送信処理が、物理層に相当する。
【００３９】
ＭＡＣ層は、パケットの送受信の管理、無線区間でのパケット再送処理を行う。即ち、無線局がパケットを送信する際に、その無線局の周辺に存在する無線局のパケットの送受信と自局のパケットの送信が時間的に重ならないように管理する手順、及び無線局がパケットを送信し、正しく受信された場合には当該無線受信局から確認応答パケット（ＡＣＫパケット）を受け取り、必要ならパケットを再送する手順がＭＡＣ層で定められる。
【００４０】
ここでは、ＩＥＥＥ８０２．１１規格で採用されているＭＡＣ層の方式である、ＣＳＭＡ／ＣＡ（Ｃａｒｒｉｅｒ　Ｓｅｎｓｅ　Ｍｕｌｔｉｐｌｅ　Ａｃｓｅｓｓ　ｗｉｔｈ　Ｃｏｌｌｉｓｉｏｎ　Ａｖｏｉｄａｎｃｅ）方式を採用して、確認応答パケット（ＡＣＫパケット）を使用して、ＭＡＣ層での再送を行う再送手順（プロトコル）を定義している。このＭＡＣ層の処理は、中央制御ユニット１１１の制御により、受信データ処理部１０９及び送信データ処理部１２２で実行される。
【００４１】
ここで本例においては、ＡＣＫパケットを使用した再送制御として、送信側の局でＡＣＫパケットが受信されるまで待つ時間として、従来の技術で既に説明したＲＴＯ（Ｒｅｔｒａｎｓｍｉｓｓｉｏｎ　Ｔｉｍｅｏｕｔ　Ｉｎｔｅｒｖａｌ　）が中央制御ユニット１１１内のメモリに設定してあり、パケットを送信してから、このＲＴＯとして設定された時間が経過するまでの間に、ＡＣＫパケットが受信できない場合に、再度同じデータを送信する制御を、中央制御ユニット１１１が行うようにしてある。
【００４２】
ルーティング層は、ネットワーク上における通信経路を探索、選定、確定する。ルーティング層は、ネットワーク層とも呼ばれ、ネットワーク上の全ての通信局に対して固有のアドレス（ＩＰアドレス）を割り振り、ネットワーク上に存在する全ての通信局を、割り振られたアドレスを元にして管理する。アドホックネットワークにおける、このルーティング層のプロトコルであるアドホックルーティングプロトコルには大きく分けて、オンデマンドルーティングプロトコルとテーブルドリブンルーティングプロトコルの２種類のプロトコルが存在する。
【００４３】
オンデマンドルーティングプロトコルは、通信の要求があった場合のみ経路の探索を行い、テーブルドリブンルーティングプロトコルは、通信の要求がなくても定期的にルーティングアップデート情報を各通信局でやり取りして経路情報を各無線局にて記憶する。一般に、オンデマンドルーティングプロトコルは、定期的に情報のやり取りを行う必要がないためオーバーヘッドが小さく、テーブルドリブンルーティングプロトコルより高いスループットが得られるプロトコルとして知られている。アドホックネットワークにおけるルーティング層の詳細については、例えば、文献”Ｔｈｅ　ｄｙｎａｍｉｃ　ｓｏｕｒｃｅ　ｒｏｕｔｉｎｇ　ｐｒｏｔｏｃｏｌ　ｆｏｒ　ｍｏｂｉｌｅ　ａｄ　ｈｏｃｎｅｔｗｏｒｋｓ（Ｉｎｔｅｒｎｅｔ　Ｄｒａｆｔ），”ＭＡＮＥＴ　ｗｏｒｋｉｎｇ　ｇｒｏｕｐ，ＩＥＴＦ　や、文献”Ａｄ　ｈｏｃ　ｏｎ　ｄｅｍａｎｄ　ｄｉｓｔａｎｃｅ　ｖｅｃｔｏｒ（ＡＯＤＶ）ｒｏｕｔｉｎｇ（Ｉｎｔｅｒｎｅｔ　Ｄｒａｆｔ），”ＭＡＮＥＴ　ｗｏｒｋｉｎｇ　ｇｒｏｕｐ，ＩＥＴＦに記載されている。
【００４４】
トランスポート層は、ネットワーク上の任意の送信局と受信局の間、即ち、エンドエンドでのパケットの再送手順や輻輳制御を管理する。ＵＤＰやＴＣＰがトランスポート層のプロトコルとして知られている。現在のインターネットにおけるトランスポート層プロトコルのデファクトスタンダードであるＴＣＰは、ＷＷＷ（Ｗｏｒｌｄ　Ｗｉｄｅ　Ｗｅｂ）やファイル転送に代表される多くのアプリケーションによって使用されているフローチャートで、送信局と受信局の間にコネクションを張ることによって信頼性のあるリンクを提供する。本例では、既に説明したように、トランスポート層でのプロトコルとして、ＴＣＰを採用している。
【００４５】
アプリケーション層は、例えばＷＷＷ閲覧や、ファイル転送などのアプリケーション機能を提供する部分である。
【００４６】
次に、本例のアドホックネットワーク内の各無線通信局での、パケット再送制御処理を、図４のフローチャートを参照して説明する。まず各無線局で通信を行う際には、受信先の無線局との間でコネクションを確立させて、その確立させたコネクションを使用して、通常のＴＣＰのプロトコルに基づいた手順で、パケット（ＴＣＰパケット）を送信させる（ステップＳ１１）。その後、その送信パケットに対する確認応答パケットであるＡＣＫパケットを受信できたか否か判断する（ステップＳ１２）。
【００４７】
ＡＣＫパケットを受信できた場合には、パケットを送信してからＡＣＫパケットを受信するまでの時間（ＲＴＴ：Ｒｏｕｎｄ　Ｔｒｉｐ　Ｔｉｍｅ　）を測定して、その測定された時間ＲＴＴを使用して、パケットの再送制御に使用するタイムアウト時間であるＲＴＯの値を計算し、その計算されたＲＴＯの値を、ＲＴＯ＿ＯＲＧとして、中央制御ユニット１１１内のメモリなどに記憶させておく（ステップＳ１３）。測定されたＲＴＴに基づいたＲＴＯの値の計算については、ＴＣＰのプロトコルで従来から使用されている計算式が使用できる。ステップＳ１３でＲＴＯ＿ＯＲＧを記憶させた後は、ステップＳ１１に移って、次のパケットの送信処理が行われる。
【００４８】
そして、ステップＳ１２の判断で、ＡＣＫパケットが受信できないと判断した場合には、ステップＳ１１でパケットを送信させてから、そのとき自局に設定されたＲＴＯの値の時間（即ちタイムアウト時間）を越えたか否か判断し（ステップＳ１４）、タイムアウト時間を越えてない場合には、ステップＳ１１に戻って、ＡＣＫパケットの受信を待機する。
【００４９】
ステップＳ１４でパケットの送信から、タイムアウト時間を越えてＡＣＫパケットの受信がないと判断した場合には、次回のＲＴＯの値（タイムアウト時間）、即ちバックオフの値を、ルーティング層から得られた、自局を通過するコネクション数を使用して、決定させる（ステップＳ１５）。
【００５０】
ここで、自局のルーティング層から報告されたＴＣＰコネクション数の内で、最新のコネクション数をｍとし、現在のＲＴＯの値をＲＴＯ（ｉ）とすると、次回のＴＣＰパケットの送信に使用するタイムアウトの値ＲＴＯ（ｉ＋１）、即ちバックオフ値は、次式により決定する。
【００５１】
【数１】
ＲＴＯ（ｉ＋１）＝ｆ（ｍ，ＲＴＯ（ｉ））
但し、ｆは関数を表している。また、ＲＴＯ（ｉ）は、ステップＳ１３でＲＴＯ＿ＯＲＧとして記憶された値である。
【００５２】
この数１式に示されるように、過去のバックオフ値ＲＴＯ（ｉ）と、コネクション数ｍを使用した関数ｆで、新たなバックオフ値ＲＴＯ（ｉ＋１）に更新させることで、そのときのコネクション数ｍに基づいた良好なバックオフ時間の設定が可能になる。具体的には、例えば、コネクション数ｍの値が大きくなるごとに、バックオフ時間を長い時間に設定することになる。但し、コネクション数ｍの値と設定されるバックオフ時間とが増える比率が一定であるとは限らない。これらは、コネクション数ｍと過去のバックオフ値ＲＴＯ（ｉ）を使用した関数ｆの設定により決まる。
【００５３】
図４のフローチャートの説明に戻ると、ステップＳ１５でＲＴＯの値を更新させた後、確認応答パケットが返送されなかったＴＣＰパケットを再送させる制御を行い（ステップＳ１６）、ステップＳ１１に戻って、通常のＴＣＰのプロトコルに戻る。
【００５４】
このようにしてタイムアウトの値ＲＴＯが設定されるが、そのタイムアウトの値ＲＴＯを設定する上で必要な、コネクション数ｍのカウント処理の例を、図５のフローチャートを参照して説明する。
【００５５】
図５のフローチャートの例は、ルーティング層で、ＴＣＰコネクション数をカウントする例を示した図である。まず、中央制御ユニット１１１内に設定されたカウントタイマで一定時間の経過をカウントしたか否か判断する（ステップＳ２１）。このカウントタイマは、スタートから一定時間毎の経過をカウントするタイマである。
【００５６】
カウントタイマのカウントで一定時間の経過を検出した場合には、ルーティング層でカウントした現在のＴＣＰコネクション数ｍをＴＣＰのプロトコル制御部に報告する（ステップＳ２２）。報告後、カウントしたＴＣＰコネクション数をリセットし（ステップＳ２３）、再びカウントタイマをスタートさせ（ステップＳ２４）、ステップＳ２１の判断に戻る。
【００５７】
そして、ステップＳ２１の判断で、カウントタイマのカウントで一定時間に到達してない場合には、ＴＣＰ層でパケットの受信があるか否か判断する（ステップＳ２５）。ここで、ＴＣＰ層でパケットの受信がない場合には、ステップＳ２１の判断に戻る。
【００５８】
ＴＣＰ層でパケットの受信がある場合には、ステップＳ２６に移り、そのときの受信パケットの送信元ＴＣＰポート番号と、ＩＰヘッダ内に含まれる送信元ＩＰアドレスの組み合わせによって、ＴＣＰコネクションを判別する。ＩＰヘッダの構成を図６に示すと、バージョン、ヘッダ長、サービスタイプ、パケット長、識別子、フラグ、フラグメントオフセット、生存時間、プロトコル番号、ヘッダチェックサム、送信元ＩＰアドレス、宛先ＩＰアドレスなどが示される。このＩＰヘッダに続いて、ＴＣＰのヘッダと伝送したいデータ（ペイロード）が配置される。送信元ＴＣＰポート番号については、ＩＰヘッダに続いて配置されるＴＣＰヘッダ内に配置されている。
【００５９】
図５のフローチャートの説明に戻ると、このように送信元ＴＣＰポート番号と送信元ＩＰアドレスとを判断して、今までカウントしたＴＣＰコネクションに、現在受信したパケットに含まれる送信元ＴＣＰポート番号と送信元ＩＰアドレスの組み合わせがなければ、ＴＣＰコネクション数をカウントするカウンタを、カウントアップし、受信したパケットに含まれる送信元ＴＣＰポート番号と送信元ＩＰアドレスの組み合わせを記憶しておく。
【００６０】
今までカウントしたＴＣＰコネクションに、現在受信したパケットに含まれる送信元ＴＣＰポートと送信元ＩＰアドレスの組み合わせが含まれていれば、同じコネクションは既にカウントしていることになるので、ＴＣＰコネクション数のカウントアップはしない。
【００６１】
このコネクション数のカウント処理に関するステップＳ２６の処理の後、受信したパケットの送信先アドレスが自局宛か否か判断し（ステップＳ２７）、自局宛のパケットであれば、そのパケットを上位層に渡し（ステップＳ２８）、自局宛のパケットでなければ、受信したパケットを、別の局に送信させる中継処理を行い（ステップＳ２９）、送信先アドレスの局側に伝送させる。ステップＳ２８，Ｓ２９の処理を行った後には、ステップＳ２１の判断に戻る。
【００６２】
このようにして、自局を経由するコネクション数をカウントして、そのカウントしたコネクション数に基づいて、再送制御のタイムアウト時間ＲＴＯを決めるようにしたので、そのときのネットワーク内での通信状態に応じた適切なタイムアウト時間の設定が可能になる。
【００６３】
例えば図７に示すように、無線局１から無線局２を経由して無線局３へのコネクションを確立させて、そのコネクションで、無線局１からパケットＰ１を無線局２に送り、無線局２から無線局３にパケットＰ２が送られ、そのパケット送信に対するＡＣＫパケットの返送Ｐ３，Ｐ４の返送が逆の経路である場合に、無線局２でＲＴＯ値ｔ１　が設定されていたとする。このとき、この無線局２を送信先とする別のパケットの伝送Ｐ５及びそのＡＣＫパケットの返送Ｐ６があると、この無線局２での再送制御に使用するＲＴＯの値は、値ｔ１　よりも大きな値ｔ１　＋αに更新され、この無線局２でＴＣＰパケットを送信する際の再送制御には、その更新されたＲＴＯ値ｔ１　＋αが使用される。ここでは、ＲＴＯ値が大きくなる例についてだけ説明したが、コネクション数が減った場合に、ＲＴＯ値は小さくなる。
【００６４】
無線アドホックネットワークにおいて、ＴＣＰのプロトコルを使用する場合には、従来の方式では、ネットワークが混雑している場合には、周期的に送信されるパケットが他のＴＣＰコネクションへの干渉となり、全体としての特性が劣化してしまう問題があったが、本例の処理を行うことで、ある期間内にカウントしたＴＣＰコネクション数を基にバックオフの大きさを決定するので、ネットワークが混在している場合にはバックオフ値が大きく設定され、他のＴＣＰコネクションへの干渉が軽減され、従来の方式の場合に生じていた特性劣化を防ぐことができ、結果的にスループットを高くすることができる。
【００６５】
また、ある期間内にカウントしたＴＣＰコネクション数をもとに、ＴＣＰにおいてタイムアウト時に行うバックオフの大きさを決定するので、ネットワークが混雑してない場合には、バックオフの値を従来の方式よりも小さく設定され、ネットワークが混雑していない状況においても、従来の方式に比べて高いスループットが得られる。
【００６６】
また、ネットワークの混雑度を示す指標をもとにＴＣＰのバックオフ値を決定しているので、トラヒックの変化に柔軟に対処することができる。
【００６７】
無線アドホックネットワークにおいてＴＣＰのプロトコルを使用する場合、従来の方式では、経路が断絶した場合に比較的短い周期にて周期的にパケットを送信する必要があった。ネットワークが混雑している状況では、このような周期的に送信されるパケットは、他のコネクションへの干渉になるばかりでなく、無線局の電力資源の面でも無駄であった。本例の処理を行うことで、ネットワークが混雑している状況では、バックオフ値が大きく設定されることで、周期的に送信されるパケットの周期が長く設定されることになり、無線局の電力資源の節約につながる。
【００６８】
なお、ここまでの説明では、ネットワークでの通信状況（混雑状況）を判断する処理として、ＴＣＰコネクション数をカウントし、カウントしたコネクション数によってバックオフ値を決定するようにしたが、ネットワーク内での通信量や混雑状況が判る別の指標を使用しても良い。例えば、受信したパケットの送信元ＩＰアドレス数をカウントして、そのカウント値を元にバックオフ値を決定しても良い。また、受信したパケットのＭＡＣ層（メディアアクセスコントロール層）で使用されるＭＡＣアドレス数をカウントして、その値を元にバックオフ値を決定しても良い。また、ＭＡＣ層にて送受信したパケット数をカウントして、その値を元にバックオフ値を決定しても良い。
【００６９】
また、ネットワーク内での通信量や混雑状況をコネクション数などから判断する場合に、図５のフローチャートでは、受信したパケットから判断を行い、その受信したパケットには、自局で中継されるパケットと、自局宛のパケットの双方を、コネクション数として判断するようにしたが、例えば自局で中継されるパケットだけから、コネクション数を判断するようにしても良い。また、自局が送信元となるコネクションを、コネクション数に加えるようにしても良い。
【００７０】
また、図５のフローチャートの処理では、ルーティング層がＴＣＰに対してＴＣＰコネクションを報告するのは、カウントタイマが一定時間のカウントを行ったときに報告する例としたが、ルーティング層がＴＣＰに対してコネクション数を報告するのは、このようなカウンタを使用しないで行うようにしても良い。例えば、ＴＣＰコネクション数を報告するための独自のタイマを備えて、そのタイマに従って報告しても良く、或いはＴＣＰに対するＡＣＫパケットを受信したときにＴＣＰに報告するようにしても良い。
【００７１】
また、ここまで説明したバックオフ値の設定処理は、ネットワーク内のそれぞれの無線通信局内で完結する処理としたが、各無線通信局内でカウントしたコネクション数などの通信量のデータを、ネットワーク内の他の無線通信局に送って、そのデータを受信した無線通信局側でも、バックオフ値を決めるための判断材料の１つとして使用しても良い。
【００７２】
また、ここまで説明した例では、無線アドホックネットワークのトランスポート層のプロトコルにＴＣＰを使用する場合についての例としたが、例えば、有線のネットワークにおいて、そのトランスポート層にＴＣＰを使用する場合にも適用可能である。その場合、受信したパケットの送信元ＭＡＣアドレスをカウントし、その値を元にＴＣＰのバックオフ値を決定する。または、ＭＡＣ層にて送受信したパケット数をカウントして、その値を元にＴＣＰのバックオフ値を決定する。
【００７３】
また、無線，有線いずれの場合であっても、ＴＣＰ以外のプロトコルを使用したネットワークにも適用可能である。
【００７４】
さらに、上述した実施の形態では、各無線局を構成する無線通信装置は、専用の通信機器として構成した例としたが、例えばパーソナルコンピュータ装置に、データ通信用のボードなどを組み込み、上述したフローチャートで説明した処理を実行するプログラムを、コンピュータ装置にインストールして、同様の処理を行うシステムを構成させるようにしても良い。
【００７５】
【発明の効果】
本発明によると、自己の局を通過している通信量に応じて、良好なタイムアウト時間の設定が可能になり、ネットワーク内の無線通信局でのパケットの再送制御が適切に行えて、ネットワーク内での伝送効率が向上するようになる。
【００７６】
この場合、自己の通信局を通過している通信量には、自己の通信局が送信元又は受信先となる通信を含むようにしたことで、自己の通信局が送信元又は受信先となる通信を考慮した、より的確なタイムアウト時間の設定が可能になる。
【００７７】
また、通信量のカウントは、自己の通信局を通過しているコネクション数をカウントし、そのカウントしたコネクション数に対応して、バックオフの大きさを決定するようにしたことで、コネクション数のカウント処理で簡単に通信量が判断できるようになる。
【００７８】
また、通信量のカウントは、自己の通信局を通過しているパケットの送信元及び／又は受信先となるアドレスの数をカウントし、そのカウントしたアドレス数に対応して、バックオフの大きさを決定するようにしたことで、アドレス数のカウント処理で簡単に通信量が判断できるようになる。
【００７９】
このパケットのアドレスとしては、メディアアクセスコントロール層で使用されるＭＡＣアドレス、又はルーティング層で使用されるＩＰアドレスであることで、メディアアクセスコントロール層又はルーティング層での判断で、簡単に通信量が判断できるようになる。
【００８０】
さらに、通信量のカウントは、自己の通信局で送信及び／又は受信しているパケット数をカウントし、そのカウントしたパケット数に対応して、バックオフの大きさを決定するようにしたことで、パケット数のカウント処理で簡単に通信量が判断できるようになる。
【００８１】
このパケット数をカウントする場合に、メディアアクセスコントロール層で送信及び／又は受信しているパケット数、又はルーティング層で送信及び／又は受信しているパケット数をカウントすることで、メディアアクセスコントロール層又はルーティング層での判断で、簡単に通信量が判断できるようになる。
【図面の簡単な説明】
【図１】本発明の一実施の形態によるシステム構成例を示した説明図である。
【図２】本発明の一実施の形態による機器構成例を示したブロック図である。
【図３】本発明の一実施の形態による各無線局のプロトコルスタック例を示した説明図である。
【図４】本発明の一実施の形態によるパケット再送処理例を示したフローチャートである。
【図５】本発明の一実施の形態によるルーティング層でのＴＣＰコネクション数をカウントする処理例を示したフローチャートである。
【図６】ＩＰデータグラムフォーマットの例を示した説明図である。
【図７】本発明の一実施の形態による通信例を示した説明図である。
【符号の説明】
１〜８…無線通信局、１０…無線アドホックネットワーク、２０…有線ネットワーク、１００…無線通信装置、１０１…アンテナ、１０２…高周波部、１０３…アナログ／デジタル変換器、１０４…ウィンドウ検出部、１０５…高速フーリエ変換部、１０６…復調部、１０７…デインターリーバ、１０８…ビタビ復号器、１０９…受信データ処理部、１１０…メモリ、１１１…中央制御ユニット、１１２…タイミング制御部、１２１…メモリ、１２２…送信データ処理部、１２３…畳み込み部、１２４…インターリーバ、１２５…変調部、１２６…逆高速フーリエ変換部、１２７…デジタル・アナログ変換器
【図１】
2004015746.tif 000003
【図２】
2004015746.tif 000004
【図３】
2004015746.tif 000005
【図４】
2004015746.tif 000006
【図５】
2004015746.tif 000007
【図６】
2004015746.tif 000008
【図７】
2004015746.tif 000009