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