本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
図1は、この発明の実施の形態による無線装置を用いた無線ネットワークの概略図である。無線ネットワーク100は、無線装置31〜43を備える。無線装置31〜43は、無線通信空間に配置され、無線メッシュネットワークを自律的に構成している。アンテナ51〜63は、それぞれ、無線装置31〜43に装着される。
例えば、無線装置31から無線装置42へデータを送信する場合、無線装置32,35〜41は、無線装置31からのデータを中継して無線装置42へ届ける。
この場合、無線装置31は、各種の経路を介して無線装置42との間で無線通信を行なうことができる。即ち、無線装置31は、無線装置37,41を介して無線装置42との間で無線通信を行なうことができ、無線装置32,36,39を介して無線装置42との間で無線通信を行なうこともでき、無線装置32,35,38,40を介して無線装置42との間で無線通信を行なうこともできる。
無線装置37,41を介して無線通信を行なう場合、ホップ数が”3”と最も少なく、無線装置32,36,39を介して無線通信を行なう場合、ホップ数が”4”であり、無線装置32,35,38,40を介して無線通信を行なう場合、ホップ数が”5”と最も多い。
従って、無線装置37,41を介して無線通信を行なう経路を選択すると、ホップ数が”3”と最も少なくなるので、無線装置31は、ホップ数が最も少ない無線装置31−無線装置37―無線装置41−無線装置42からなる経路を介して無線装置42との間でマルチホップ無線通信を行なう。
しかし、このようなマルチホップ無線通信を行なう場合、無線装置31−無線装置37間の無線区間における送信レートが54Mbpsであり、無線装置37−無線装置41間の無線区間における送信レートが11Mbpsである場合、無線装置37において、送信量は、受信量よりも少なくなるので、無線装置37のバッファにおいて、パケットが溢れる。その結果、パケットロスが生じ、マルチホップ無線通信の安定性が低下する。
そこで、以下においては、無線ネットワーク100において、無線通信経路が自律的に確立された場合に、その確立された無線通信経路を用いて安定したマルチホップ無線通信を行なう方法について説明する。
[実施の形態1]
実施の形態1においては、送信元と送信先との間で無線通信経路を確立するプロトコルとしてOLSRプロトコルを用いる。このOLSRプロトコルは、テーブル駆動型のルーティングプロトコルであり、HelloメッセージおよびTC(Topology Control)メッセージを用いて経路情報を交換し、ルーティングテーブルを作成するプロトコルである。
図2は、図1に示す無線装置31の実施の形態1における構成を示す概略ブロック図である。無線装置31は、アンテナ11と、入力部12と、出力部13と、ユーザアプリケーション14と、通信制御部15とを含む。
アンテナ11は、図1に示すアンテナ51〜63の各々を構成する。そして、アンテナ11は、無線通信空間を介して他の無線装置からデータを受信し、その受信したデータを通信制御部15へ出力するとともに、通信制御部15からのデータを無線通信空間を介して他の無線装置へ送信する。
入力部12は、無線装置1の操作者が入力したメッセージおよびデータの宛先を受付け、その受付けたメッセージおよび宛先をユーザアプリケーション14へ出力する。出力部13は、ユーザアプリケーション14からの制御に従ってメッセージを表示する。
ユーザアプリケーション14は、入力部12からのメッセージおよび宛先に基づいてデータを生成して通信制御部15へ出力する。
通信制御部15は、ARPA(Advanced Research Projects Agency)インターネット階層構造に従って、通信制御を行なう複数のモジュールからなる。即ち、通信制御部15は、無線インターフェースモジュール16と、MAC(Media Access Control)モジュール17と、バッファ18と、LLC(Logical Link Control)モジュール19と、IP(Internet Protocol)モジュール20と、ルーティングテーブル21と、TCPモジュール22と、UDPモジュール23と、ルーティングデーモン24とからなる。
無線インターフェースモジュール16は、物理層に属し、所定の規定に従って送信信号または受信信号の変復調を行なうとともに、アンテナ11を介して信号を送受信する。そして、無線インターフェースモジュール16は、アンテナ11が他の無線装置から受信したHelloパケットの受信信号強度RSSIを検出し、その検出した受信信号強度RSSIをルーティングデーモン24へ出力する。
MACモジュール17は、MAC層に属し、MACプロトコルを実行して、以下に述べる各種の機能を実行する。
即ち、MACモジュール17は、ルーティングデーモン24から受けたHelloパケットを無線インターフェースモジュール16を介してブロードキャストする。また、MACモジュール17は、バッファ18からパケットを取り出し、その取り出したパケットをIPモジュール20から受けた送信レートで送信する。更に、MACモジュール17は、データ(パケット)の再送制御等を行なう。そして、MACモジュール17は、ユニキャストによる再送率をパケットロス率PKT_LOSSとして検出し、その検出したパケットロス率PKT_LOSSをIPモジュール20およびルーティングデーモン24へ出力する。
バッファ18は、データリンク層に属し、パケットを一時的に格納する。LLCモジュール19は、データリンク層に属し、LLCプロトコルを実行して隣接する無線装置との間でリンクの接続および解放を行なう。
IPモジュール20は、インターネット層に属し、無線ネットワーク100全体のトポロジーを示すトポロジー情報TPIFをルーティングデーモン24から受ける。また、IPモジュール20は、各無線装置31〜43が隣接する無線装置からHelloパケットを受信したときの平均受信信号強度RSSI_AVEおよび受信信号強度RSSIの標準偏差RSSI_DEVをルーティングデーモン24から受ける。更に、IPモジュール20は、MACモジュール17からパケットロス率PKT_LOSSを受ける。更に、IPモジュール20は、マルチレートでパケットを送信するときの送信レートをMACモジュール17へ送信する。そして、IPモジュール20は、その受けたトポロジー情報TPIF、平均受信信号強度RSSI_AVE、受信信号強度RSSIの標準偏差RSSI_DEVおよびパケットロス率PKT_LOSSに基づいて、後述する方法によって、各無線区間における最大送信レートmaxRateを決定し、その決定した最大送信レートmaxRateを各無線区間に書き込んだトポロジーテーブルを作成する。
また、IPモジュール20は、IPパケットを生成する。IPパケットは、IPヘッダと、上位のプロトコルのパケットを格納するためのIPデータ部とからなる。そして、IPモジュール20は、TCPモジュール22からデータを受けると、その受けたデータをIPデータ部に格納してIPパケットを生成する。
そうすると、IPモジュール20は、テーブル駆動型のルーティングプロトコルであるOLSRプロトコルに従ってルーティングテーブル21を検索し、生成したIPパケットを送信するための経路を決定する。そして、IPモジュール20は、その決定した経路上における各無線区間の最大送信レートmaxRateをトポロジーテーブルを参照して検出し、その検出した最大送信レートmaxRateに基づいて、後述する方法によって、IPパケットの送信レートを決定する。
そうすると、IPモジュール20は、その決定した送信レートをMACモジュール17へ送信するとともに、IPパケットをLLCモジュール19へ送信し、決定した経路に沿ってIPパケットを送信先へ送信する。
ルーティングテーブル21は、インターネット層に属し、後述するように、各送信先に対応付けて経路情報を格納する。
TCPモジュール22は、トランスポート層に属し、TCPパケットを生成する。TCPパケットは、TCPヘッダと、上位のプロトコルのデータを格納するためのTCPデータ部とからなる。そして、TCPモジュール22は、生成したTCPパケットをIPモジュール20へ送信する。
UDPモジュール23は、トランスポート層に属し、ルーティングデーモン24によって作成されたUpdateパケットをブロードキャストし、他の無線装置からブロードキャストされたUpdateパケットを受信してルーティングデーモン24へ出力する。
ルーティングデーモン24は、プロセス/アプリケーション層に属し、他の通信制御モジュールの実行状態を監視するとともに、他の通信制御モジュールからのリクエストを処理する。
また、ルーティングデーモン24は、一定期間内に無線インターフェースモジュール16から受けた受信信号強度RSSIに基づいて、平均受信信号強度RSSI_AVE、または平均受信信号強度RSSI_AVEおよび受信信号強度RSSIの標準偏差RSSI_DEVを演算する。そして、ルーティングデーモン24は、MACモジュール17からパケットロス率PKT_LOSSを受ける。そうすると、ルーティングデーモン24は、[平均受信信号強度RSSI_AVE]、[平均受信信号強度RSSI_AVEおよびパケットロス率PKT_LOSS]、[平均受信信号強度RSSI_AVEおよび受信信号強度の標準偏差RSSI_DEV]および[平均受信信号強度RSSI_AVE、受信信号強度の標準偏差RSSI_DEVおよびパケットロス率PKT_LOSS]のいずれかを含むHelloパケットを生成してUDPモジュール23へ出力する。
更に、ルーティングデーモン24は、他の無線装置から受信したHelloパケットに含まれる[平均受信信号強度RSSI_AVE]、[平均受信信号強度RSSI_AVEおよびパケットロス率PKT_LOSS]、[平均受信信号強度RSSI_AVEおよび受信信号強度の標準偏差RSSI_DEV]および[平均受信信号強度RSSI_AVE、受信信号強度の標準偏差RSSI_DEVおよびパケットロス率PKT_LOSS]のいずれかを取り出し、その取り出した[平均受信信号強度RSSI_AVE]、[平均受信信号強度RSSI_AVEおよびパケットロス率PKT_LOSS]、[平均受信信号強度RSSI_AVEおよび受信信号強度の標準偏差RSSI_DEV]および[平均受信信号強度RSSI_AVE、受信信号強度の標準偏差RSSI_DEVおよびパケットロス率PKT_LOSS]のいずれかをIPモジュール20へ出力する。
更に、ルーティングデーモン24は、他の無線装置から受信したHelloパケットの経路情報に基づいて、最適な経路を算出してルーティングテーブル21をインターネット層に動的に作成する。
なお、図1に示す無線装置32〜43の各々も、図2に示す無線装置31の構成と同じ構成からなる。
図3は、OLSRプロトコルにおけるパケットPKTの構成図である。パケットPKTは、パケットヘッダPHDと、メッセージヘッダMHD1,MHD2,・・・とからなる。なお、パケットPKTは、UDPモジュール23のポート番号698番を使用して送受信される。
パケットヘッダPHDは、パケット長と、パケットシーケンス番号とからなる。パケット長は、16ビットのデータからなり、パケットのバイト数を表す。また、パケットシーケンス番号は、16ビットのデータからなり、どのパケットが新しいかを区別するために用いられる。そして、パケットシーケンス番号は、新しいパケットが生成される度に“1”づつ増加される。従って、パケットシーケンス番号が大きい程、そのパケットPKTが新しいことを示す。
メッセージヘッダMHD1,MHD2,・・・の各々は、メッセージタイプと、有効時間と、メッセージサイズと、発信元アドレスと、TTLと、ホップ数と、メッセージシーケンス番号と、メッセージとからなる。
メッセータイプは、8ビットのデータからなり、メッセージ本体に書かれたメッセージの種類を表し、0〜127は、予約済みである。有効時間は、8ビットのデータからなり、受信後に、このメッセージを管理しなければならない時間を表す。そして、有効時間は、仮数部と、指数部とからなる。
メッセージサイズは、16ビットのデータからなり、メッセージの長さを表す。発信元アドレスは、32ビットのデータからなり、メッセージを生成した無線装置を表す。TTLは、8ビットのデータからなり、メッセージが転送される最大ホップ数を指定する。そして、TTLは、メッセージが転送される時に”1”づつ減少される。そして、TTLが“0”か“1”である場合、メッセージは、転送されない。ホップ数は、8ビットのデータからなり、メッセージの生成元からのホップ数を表す。そして、ホップ数は、最初、“0”に設定され、転送される毎に“1”づつ増加される。メッセージシーケンス番号は、16ビットのデータからなり、各メッセージに割当てられる識別番号を表す。そして、メッセージシーケンス番号は、メッセージが作成される毎に、“1”づつ増加される。メッセージは、送信対象のメッセージである。
OLSRプロトコルにおいては、各種のメッセージが図3に示す構成のパケットPKTを用いて送受信される。
図4は、図2に示すルーティングテーブル21の構成図である。ルーティングテーブル21は、送信先、次の無線装置およびホップ数からなる。送信先、次の無線装置およびホップ数は、相互に対応付けられている。“送信先”は、送信先の無線装置のIPアドレスを表す。“次の無線装置”は、送信先にパケットPKTを送信するときに、次に送信すべき無線装置のIPアドレスを表す。“ホップ数”は、送信先までのホップ数を表す。例えば、図1において、無線装置31−無線装置32−無線装置36−無線装置39−無線装置42の経路によって無線装置31と無線装置42との間で無線通信が行なわれる場合、無線装置32のルーティングテーブル21のホップ数には、“3”が格納される。
図5は、ネイバーリストNTBLの構成を示す概略図である。ネイバーリストNTBLは、自己のアドレスと、隣接無線装置のアドレスとを含む。自己のアドレスおよび隣接無線装置のアドレスは、相互に対応付けられる。“自己のアドレス”は、ネイバーリストNTBLを作成する無線装置のIPアドレスからなる。“隣接無線装置のアドレス”は、ネイバーリストNTBLを作成する無線装置に隣接する無線装置のIPアドレスからなる。
この発明においては、各無線装置31〜43は、OLSRプロトコルに従ってルーティングテーブル21を作成する。OLSRプロトコルに従ったルーティングテーブル21の作成について詳細に説明する。無線装置31〜43は、ルーティングテーブル21を作成する場合、HelloメッセージおよびTCメッセージを送受信する。
Helloメッセージは、各無線装置31〜43が有する情報の配信を目的として、定期的に送信される。このHelloメッセージを受信することによって、各無線装置31〜43は、周辺の無線装置に関する情報を収集でき、自己の周辺にどのような無線装置が存在するのかを認識する。
OLSRプロトコルにおいては、各無線装置31〜43は、ローカルリンク情報を管理する。そして、Helloメッセージは、このローカルリンク情報の構築および送信を行なうためのメッセージである。ローカルリンク情報は、「リンク集合」、「隣接無線装置集合」、「2ホップ隣接無線装置集合とそれらの無線装置へのリンク集合」、「MPR集合」、および「MPRセレクタ集合」を含む。
リンク集合は、直接的に電波が届く無線装置(隣接無線装置)の集合へのリンクのことであり、各リンクは、2つの無線装置間のアドレスの組の有効時間によって表現される。なお、有効時間は、そのリンクが単方向なのか双方向なのかを表すためにも利用される。
隣接無線装置集合は、各隣接無線装置のアドレス、およびその無線装置の再送信の積極度(Willingness)等によって構成される。2ホップ隣接無線装置集合は、隣接無線装置に隣接する無線装置の集合を表す。
MPR集合は、MPRとして選択された無線装置の集合である。なお、MPRとは、各パケットPKTを無線ネットワーク100の全ての無線装置31〜43へ送信する場合、各無線装置31〜43が1つのパケットPKTを1回だけ送受信することによってパケットPKTを全ての無線装置31〜43へ送信できるように中継無線装置を選択することである。
MPRセレクタ集合は、自己をMPRとして選択した無線装置の集合を表す。
ローカルリンク情報が確立される過程は、概ね、次のようになる。Helloメッセージは、初期の段階では、各無線装置31〜43が自己の存在を知らせるために、自己のアドレスが入ったHelloメッセージを隣接する無線装置へ送信する。これを、無線装置31〜43の全てが行ない、各無線装置31〜43は、自己の周りにどのようなアドレスを持った無線装置が存在するのかを把握する。このようにして、リンク集合および隣接無線装置集合が構築される。
そして、構築されたローカルリンク情報は、再び、Helloメッセージによって定期的に送り続けられる。これを繰返すことによって、各リンクが双方向であるのか、隣接無線装置の先にどのような無線装置が存在するのかが徐々に明らかになって行く。各無線装置31〜43は、このように徐々に構築されたローカルリンク情報を蓄える。
更に、MPRに関する情報も、Helloメッセージによって定期的に送信され、各無線装置31〜43へ告知される。各無線装置31〜43は、自己が送信するパケットPKTの再送信を依頼する無線装置として、いくつかの無線装置をMPR集合として隣接無線装置の中から選択している。そして、このMPR集合に関する情報は、Helloメッセージによって隣接する無線装置へ送信されるので、このHelloメッセージを受信した無線装置は、自己をMPRとして選択してきた無線装置の集合を「MPRセレクタ集合」として管理する。このようにすることにより、各無線装置31〜43は、どの無線装置から受信したパケットPKTを再送信すればよいのかを即座に認識できる。
Helloメッセージの送受信により各無線装置31〜43において、ローカルリンク集合が構築されると、無線ネットワーク100全体のトポロジーを知らせるためのTCメッセージが無線装置31〜43へ送信される。このTCメッセージは、MPRとして選択されている全ての無線装置によって定期的に送信される。そして、TCメッセージは、各無線装置とMPRセレクタ集合との間のリンクを含んでいるため、無線ネットワーク100の全ての無線装置31〜43は、全てのMPR集合および全てのMPRセレクタ集合を知ることができ、全てのMPR集合および全てのMPRセレクタ集合に基づいて、無線ネットワーク100全体のトポロジーを知ることができる。各無線装置31〜43は、無線ネットワーク100全体のトポロジーを用いて最短路を計算し、それに基づいて経路表を作成する。
なお、各無線装置31〜43は、Helloメッセージとは別に、TCメッセージを頻繁に交換する。そして、TCメッセージの交換にも、MPRが利用される。
各無線装置31〜43は、上述したHelloメッセージおよびTCメッセージを送受信し、無線ネットワーク100全体のトポロジーを認識し、その認識した無線ネットワーク100全体のトポロジーに基づいて、最短路を計算し、それに基づいて、図4に示すルーティングテーブル21を動的に作成する。
図6は、ネイバーリストの例を示す図である。無線装置32,37は、自己のIPアドレスを含むHelloメッセージ=[IPaddress32],[IPaddress37]を作成して送信し、無線装置31のルーティングデーモン24は、Helloメッセージ=[IPaddress32]およびHelloメッセージ=[IPaddress37]をそれぞれ無線装置32,37から直接受信する。
そして、無線装置31のルーティングデーモン24は、Helloメッセージ=[IPaddress32]およびHelloメッセージ=[IPaddress37]に基づいて、無線装置31におけるネイバーリストNTBL_31を作成する(図6の(a)参照)。
そうすると、無線装置31のルーティングデーモン24は、ネイバーリストNTBL_31を含むHelloメッセージを作成して送信する。そして、無線装置31のルーティングデーモン24は、無線装置31にとってのMPRである無線装置のIPアドレスを含むTCメッセージを作成して無線ネットワーク100内でフラッディングする。
また、無線装置32は、上述した動作によって、ネイバーリストNTBL_32(図6の(b)参照)を作成し、その作成したネイバーリストNTBL_32を含むHelloメッセージを作成して送信する。これにより、ネイバーリストNTBL_32を含むHelloメッセージを受信した無線装置31のルーティングデーモン24は、無線装置31から2ホップの領域内にどのような無線装置が存在するかを知ることができる。そして、無線装置32は、無線装置32にとってのMPRである無線装置のIPアドレスを含むTCメッセージを作成して無線ネットワーク100内でフラッディングする。
更に、無線装置36は、上述した動作によって、ネイバーリストNTBL_36(図6の(c)を参照)を作成し、その作成したネイバーリストNTBL_36を含むHelloメッセージを作成して送信する。これにより、ネイバーリストNTBL_36を含むHelloメッセージを受信した無線装置32のルーティングデーモン24は、無線装置32から2ホップの領域内にどのような無線装置が存在するかを知ることができる。そして、無線装置36は、無線装置36にとってのMPRである無線装置のIPアドレスを含むTCメッセージを作成して無線ネットワーク100内でフラッディングする。
さらに、他の無線装置33〜35,37〜43も、上述した動作によって、自己のネイバーリストNTBL_33〜NTBL_35,NTBL37〜NTBL_43を作成し、その作成したネイバーリストNTBL_33〜NTBL_35,NTBL37〜NTBL_43を含むHelloメッセージを作成して送信するとともに、自己にとってのMPRである無線装置のIPアドレスを含むTCメッセージを作成して無線ネットワーク100内でフラッディングする。
上述した動作によって、無線装置31は、自己から2ホップの領域内に存在する無線装置35,36,41を知るとともに、無線装置32〜43にとってのMPRである無線装置を知ることができる。
図7は、トポロジー情報の概念図である。なお、図7に示すトポロジー情報TPIFは、無線ネットワーク100を構成する無線装置31〜43の完全なトポロジーを示すものではなく、一部のトポロジーが欠けている。
無線装置31において、ルーティングデーモン24は、無線装置31から2ホップの領域内に存在する無線装置35,36,41を知るとともに、無線装置32〜43にとってのMPRである無線装置を知ることによって、無線ネットワーク100を構成する無線装置31〜43のトポロジーを示すトポロジー情報TPIFを作成する。
以下、各無線区間における最大送信レートmaxRateを決定する方法について説明する。各無線区間における最大送信レートmaxRateは、各無線区間を構成する無線装置へのデータ到達状況を用いて決定される。そして、この発明においては、データ到達状況は、次のいずれかからなる。
1.平均受信信号強度RSSI_AVE
2.平均受信信号強度RSSI_AVE+パケットロス率PKT_LOSS
3.平均受信信号強度RSSI_AVE+受信信号強度の標準偏差RSSI_DEV
4.平均受信信号強度RSSI_AVE+受信信号強度の標準偏差RSSI_DEV+パケットロス率PKT_LOSS
[最大送信レートの決定方法1]
最大送信レートの決定方法1においては、データ到達状況は、平均受信信号強度RSSI_AVEからなる。
図8は、各無線区間におけるデータ到達状況を検出する方法を説明するための図である。
(a1)データ到達状況の検出
まず、データ到達状況が平均受信信号強度RSSI_AVEからなる場合のデータ到達状況の検出について説明する。
OLSRプロトコルにおいては、上述したように、無線装置32,35,37,38,39,41は、自己のIPアドレスを含むHelloメッセージを定期的にブロードキャストし、無線装置36は、無線装置32,35,37,38,39,41からHelloメッセージを定期的に受信する(図8の(a)参照)。
そして、無線装置36の無線インターフェースモジュール16は、無線装置32,35,37,38,38,41からHelloメッセージを受信するごとに、Helloメッセージの受信信号強度RSSI_32,RSSI_35,RSSI_37,RSSI_38,RSSI_39,RSSI_41を検出し、その検出した受信信号強度RSSI_32,RSSI_35,RSSI_37,RSSI_38,RSSI_39,RSSI_41をルーティングデーモン24へ出力する。
無線装置36のルーティングデーモン24は、無線インターフェースモジュール16から受信信号強度RSSI_32,RSSI_35,RSSI_37,RSSI_38,RSSI_39,RSSI_41を受信する。そして、無線装置36のルーティングデーモン24は、一定期間内に受信した複数の受信信号強度RSSI_32に基づいて、平均受信信号強度RSSI_AVE_32を演算する。同様にして、無線装置36のルーティングデーモン24は、それぞれ、複数の受信信号強度RSSI_35、複数の受信信号強度RSSI_37、複数の受信信号強度RSSI_38、複数の受信信号強度RSSI_39および複数の受信信号強度RSSI_41に基づいて平均受信信号強度RSSI_AVE_35,RSSI_AVE_37,RSSI_AVE_38,RSSI_AVE_39,RSSI_AVE_41を演算する。
そうすると、無線装置36のルーティングデーモン24は、平均受信信号強度RSSI_AVE_32,RSSI_AVE_35,RSSI_AVE_37,RSSI_AVE_38,RSSI_AVE_39,RSSI_AVE_41と自己のIPアドレスIPaddress36とを含むHelloメッセージHLOMを作成してブロードキャストする。
無線装置32,35,37,38,39,41のルーティングデーモン24は、HelloメッセージHLOMを無線装置36から受信する。そして、無線装置32のルーティングデーモン24は、その受信したHelloメッセージHLOMから平均受信信号強度RSSI_AVE_32およびIPアドレスIPaddress36を検出し、その検出した平均受信信号強度RSSI_AVE_32およびIPアドレスIPaddress36に基づいて、無線装置32から無線装置36へパケットを送信したときの無線装置36へのデータ到達状況(=平均受信信号強度RSSI_AVE_32)を検知する。また、無線装置35,37,38,39,41のルーティングデーモン24は、同様にして、無線装置35,37,38,39,41から無線装置36へパケットを送信したときの無線装置36へのデータ到達状況(=平均受信信号強度RSSI_AVE_35,RSSI_AVE_37,RSSI_AVE_38,RSSI_AVE_39,RSSI_AVE_41)を検知する(図8の(b)参照)。
無線装置32,35,37,38,39,41のルーティングデーモン24は、無線装置36へのデータ到達状況(=平均受信信号強度RSSI_AVE_32,RSSI_AVE_35,RSSI_AVE_37,RSSI_AVE_38,RSSI_AVE_39,RSSI_AVE_41)を検知すると、その検知した無線装置36へのデータ到達状況(=平均受信信号強度RSSI_AVE_32,RSSI_AVE_35,RSSI_AVE_37,RSSI_AVE_38,RSSI_AVE_39,RSSI_AVE_41)をIPモジュール20へ出力する。そして、無線装置32,35,37,38,39,41のIPモジュール20は、無線装置32,35,37,38,39,41から無線装置36へのデータ到達状況(=平均受信信号強度RSSI_AVE_32,RSSI_AVE_35,RSSI_AVE_37,RSSI_AVE_38,RSSI_AVE_39,RSSI_AVE_41)を取得する。即ち、無線装置32,35,37,38,39,41のIPモジュール20は、それぞれ、無線区間(=無線装置32−無線装置36)、無線区間(=無線装置35−無線装置36)、無線区間(=無線装置37−無線装置36)、無線区間(=無線装置38−無線装置36)、無線区間(=無線装置39−無線装置36)および無線区間(=無線装置41−無線装置36)におけるデータ到達状況を取得する。
また、無線装置32,35,37,38,39,41のルーティングデーモン24は、その検知した無線装置36へのデータ到達状況(=平均受信信号強度RSSI_AVE_32,RSSI_AVE_35,RSSI_AVE_37,RSSI_AVE_38,RSSI_AVE_39,RSSI_AVE_41)と無線装置32,35,37,38,39,41のIPアドレスとを含むHelloメッセージを作成してブロードキャストする。これによって、他の無線装置31,33,34,36,40,42,43のIPモジュール20は、無線区間(=無線装置32−無線装置36)、無線区間(=無線装置35−無線装置36)、無線区間(=無線装置37−無線装置36)、無線区間(=無線装置38−無線装置36)、無線区間(=無線装置39−無線装置36)および無線区間(=無線装置41−無線装置36)におけるデータ到達状況を取得する。
なお、無線装置36のルーティングデーモン24は、無線装置32,35,37,38,39,41から送信されたHelloメッセージの平均受信信号強度RSSI_AVE_32,RSSI_AVE_35,RSSI_AVE_37,RSSI_AVE_38,RSSI_AVE_39,RSSI_AVE_41を演算する場合、好ましくは、無線装置36が無線装置32,35,37,38,39,41から受信した受信パケット数を考慮して平均受信信号強度RSSI_AVE_32,RSSI_AVE_35,RSSI_AVE_37,RSSI_AVE_38,RSSI_AVE_39,RSSI_AVE_41を演算する。受信パケット数が相対的に少ない場合は、平均受信信号強度RSSI_AVE_32,RSSI_AVE_35,RSSI_AVE_37,RSSI_AVE_38,RSSI_AVE_39,RSSI_AVE_41の信頼性が相対的に低く、受信パケット数が相対的に多い場合は、平均受信信号強度RSSI_AVE_32,RSSI_AVE_35,RSSI_AVE_37,RSSI_AVE_38,RSSI_AVE_39,RSSI_AVE_41の信頼性が相対的に高いからである。
従って、無線装置36のルーティングデーモン24は、好ましくは、無線装置32,35,37,38,39,41からの受信パケット数(=受信したHelloメッセージの個数)が一定値(=平均受信信号強度RSSI_AVE_32,RSSI_AVE_35,RSSI_AVE_37,RSSI_AVE_38,RSSI_AVE_39,RSSI_AVE_41の信頼性が得られるときの受信パケット数(受信したHelloメッセージの個数))に達すると、平均受信信号強度RSSI_AVE_32,RSSI_AVE_35,RSSI_AVE_37,RSSI_AVE_38,RSSI_AVE_39,RSSI_AVE_41を演算する。
これによって、無線装置32,35,37,38,39,41のIPモジュール20は、信頼性が高いデータ到達状況(=平均受信信号強度RSSI_AVE_32,RSSI_AVE_35,RSSI_AVE_37,RSSI_AVE_38,RSSI_AVE_39,RSSI_AVE_41)を取得できる。
また、無線ネットワーク100を構成する無線装置31,33,34,36,40,42,43のIPモジュール20も、上述した動作によって、無線装置31,33,34,36,40,42,43から隣接する無線装置へのデータ到達状況を取得するとともに、無線装置31,33,34,36,40,42,43のルーティングデーモン24は、無線装置31,33,34,36,40,42,43から隣接する無線装置へのデータ到達状況と無線装置31,33,34,36,40,42,43のIPアドレスとを含むHelloメッセージを作成してブロードキャストする。これによって、無線ネットワーク100を構成する無線装置31〜43の各々のIPモジュール20は、無線ネットワーク100の全ての無線区間におけるデータ到達状況(=平均受信信号強度RSSI_AVE)を取得する。
(b1)最大送信レートmaxRateの決定
図9は、図2に示すIPモジュール20が有する機能のうち、送信レートを決定する機能の機能ブロック図である。IPモジュール20は、最大送信レート決定手段201と、関係テーブル202と、トポロジーテーブル203と、送信レート決定手段204とを含む。
最大送信レート決定手段201は、ルーティングデーモン24から無線ネットワーク100における全体の無線区間におけるデータ到達状況(=平均受信信号強度RSSI_AVE)およびトポロジー情報TPIFを受信し、データ到達状況(=平均受信信号強度RSSI_AVE)および関係テーブル202に基づいて、各無線区間における最大送信レートmaxRateを決定する。そして、最大送信レート決定手段201は、その決定した最大送信レートmaxRateをトポロジー情報TPIFに追加してトポロジーテーブル203を作成する。
関係テーブル202は、平均受信信号強度RSSI_AVEと基準送信レートとの関係を保持する。トポロジーテーブル203は、無線ネットワーク100における無線装置31〜43のトポロジー情報TPIFに各無線区間の最大送信レートmaxRateを追加したテーブルからなる。
送信レート決定手段204は、ルーティングテーブル21を参照して、パケットの送信経路を決定し、その決定した送信経路上の複数の無線区間における最大送信レートmaxRateをトポロジーテーブル203を参照して抽出し、その抽出した複数の無線区間における最大送信レートmaxRateに基づいて、自己が搭載された無線装置の送信レートtxRateを決定する。そして、送信レート決定手段204は、その決定した送信レートtxRateをMACモジュール17へ出力する。
図10は、図9に示す関係テーブル202の構成を示す図である。関係テーブル202は、平均受信信号強度RSSI_AVEと、基準送信レートとからなる。そして、平均受信信号強度RSSI_AVEおよび基準送信レートは、相互に対応付けられる。より具体的には、6Mbpsの基準送信レートは、−85dBよりも低い平均受信信号強度RSSI_AVEに対応付けられる。また、9Mbps,12Mbps,18Mbps,24Mbps,36Mbps,48Mbps,54Mbpsの基準送信レートは、それぞれ、−85dB〜−82dB,−82dB〜−80dB,−80dB〜−78dB,−78dB〜−75dB,−75dB〜−72dB,−72dB〜−65dB,−65dB〜の平均受信信号強度RSSI_AVEに対応付けられる。
図11は、スループットと送信レートとの関係を示す図である。図11の(a)は、パケットサイズが160バイトであるときのスループットと送信レートとの関係を示し、図11の(b)は、パケットサイズが500バイトであるときのスループットと送信レートとの関係を示し、図11の(c)は、パケットサイズが1000バイトであるときのスループットと送信レートとの関係を示し、図11の(d)は、パケットサイズが1500バイトであるときのスループットと送信レートとの関係を示す。
そして、図11の(a)〜図11の(b)において、縦軸は、スループットを表し、横軸は、送信レートを表す。また、曲線k1,k4,k7,k10は、パケットの再送がないときのスループットと送信レートとの関係を示し、曲線k2,k5,k8,k11は、パケットの再送率が20%であるときのスループットと送信レートとの関係を示し、曲線k3,k6,k9,k12は、パケットの再送率が40%であるときのスループットと送信レートとの関係を示す。
パケットサイズが160バイトである場合、送信レートがスループットに与える影響は小さく、パケットサイズが500バイト、1000バイトおよび1500バイトと大きくなるに従って、送信レートがスループットに与える影響は大きくなる。
また、パケットサイズが160バイトである場合、パケットの再送を考慮したときのスループットがパケットの再送がないときのスループットよりも高くなるのは、12Mbpsの送信レートでパケットの再送がない場合に対して、18Mbps以上の送信レートで20%の再送がある場合、または36Mbps以上の送信レートで40%の再送がある場合である(曲線k1〜k3参照)。
一方、パケットサイズが500バイトである場合、パケットの再送を考慮したときのスループットがパケットの再送がないときのスループットよりも高くなるのは、12Mbpsの送信レートでパケットの再送がない場合に対して、18Mbps以上の送信レートで20%の再送がある場合、または24Mbps以上の送信レートで40%の再送がある場合である(曲線k4〜k6参照)。また、パケットサイズが1000バイトである場合、パケットの再送を考慮したときのスループットがパケットの再送がないときのスループットよりも高くなるのは、12Mbpsの送信レートでパケットの再送がない場合に対して、18Mbps以上の送信レートで20%の再送がある場合、または24Mbps以上の送信レートで40%の再送がある場合である(曲線k7〜k9参照)。更に、パケットサイズが1500バイトである場合、パケットの再送を考慮したときのスループットがパケットの再送がないときのスループットよりも高くなるのは、12Mbpsの送信レートでパケットの再送がない場合に対して、18Mbps以上の送信レートで20%の再送がある場合、または24Mbps以上の送信レートで40%の再送がある場合である(曲線k10〜k12参照)。
そして、パケットサイズが大きくなるに従って、パケットの再送の有無に拘わらず、スループットは、大きく向上する。
従って、パケットサイズが相対的に大きい場合には、送信レートを高くしてパケットを送信する方が有利であり、パケットサイズが相対的に小さい場合には、高い送信レートでの送信はパケットロスが大きくなるので送信レートを低くして送信する方が有利である。
最大送信レート決定手段201は、ルーティングデーモン24から各無線区間におけるデータ到達状況(=平均受信信号強度RSSI_AVE)を受信すると、関係テーブル202を参照し、かつ、パケットサイズによる重み付けを行なうことによって各無線区間における最大送信レートmaxRateを決定する。
より具体的には、最大送信レート決定手段201は、ルーティングデーモン24から受信したデータ到達状況(=平均受信信号強度RSSI_AVE)が−70dB以上であり、かつ、パケットサイズが1500バイトであれば、最大送信レートmaxRateを54Mbpsと決定する。関係テーブル202を参照すれば、−70dB以上の平均受信信号強度RSSI_AVEに対応する基準送信レートは、48Mbpsであるが、1500バイトのパケットは、上述したように、パケットロスが増加しても高レートの方が有利であるので、データ到達状況として−65dB以上の平均受信信号強度RSSI_AVEよりも低い−70dB以上の平均受信信号強度RSSI_AVEが得られれば、最大送信レートmaxRateを54Mbpsと決定することにしたものである。
また、最大送信レート決定手段201は、ルーティングデーモン24から受信したデータ到達状況(=平均受信信号強度RSSI_AVE)が−60dB以上であり、かつ、パケットサイズが160バイトであれば、最大送信レートmaxRateを54Mbpsと決定する。関係テーブル202を参照すれば、−65dB以上の平均受信信号強度RSSI_AVEに対応する基準送信レートは、54Mbpsであるが、160バイトのパケットは、上述したように、パケットロスが生じないように低レートで送信する方が有利であるので、データ到達状況として−65dBの平均受信信号強度RSSI_AVEよりも高い−60dB以上の平均受信信号強度RSSI_AVEが得られれば、最大送信レートmaxRateを54Mbpsと決定することにしたものである。
このように、最大送信レート決定手段201は、データ到達状況(=平均受信信号強度RSSI_AVE)と基準送信レートとの関係を示す関係テーブル202を参照し、かつ、パケットサイズによる重み付けを行なって各無線区間における最大送信レートmaxRateを決定する。
[最大送信レートの決定方法2]
最大送信レートの決定方法2においては、データ到達状況は、平均受信信号強度RSSI_AVEおよびパケットロス率PKT_LOSSからなる。
(a2)データ到達状況の検出
無線装置32,35,37,38,39,41は、自己から無線装置36へHelloパケットを送信するときのデータ到達状況(平均受信信号強度RSSI_AVEおよびパケットロス率PKT_LOSSからなる)を取得する場合、送信レートを複数の送信レートに切換えてHelloパケットを無線装置36へ送信する。より具体的には、無線装置32,35,37,38,39,41のIPモジュール20は、Helloパケットを送信するときの送信レートとして複数の送信レートをMACモジュール17へ、順次、出力する。そして、無線装置32,35,37,38,39,41のMACモジュール17は、IPモジュール20から受けた送信レートでHelloパケットを送信する。
この場合、無線装置32,35,37,38,39,41のIPモジュール20は、送信レートを次の3つの方式によって複数の送信レートに順次切換える。
(MTH1)
方式MTH1は、送信レートを周期的に切換える方式である。即ち、方式MTH1では、送信レートは、・・・,54Mbps,6Mbps,48Mbps,9Mbps,36Mbps,12Mbps,24Mbps,18Mbps,54Mbps,6Mbps,48Mbps,9Mbps,36Mbps,12Mbps,24Mbps,18Mbps,・・・の順で切換えられる。つまり、方式MTH1では、送信レートは、[54Mbps,6Mbps,48Mbps,9Mbps,36Mbps,12Mbps,24Mbps,18Mbps]の周期で複数の送信レートに順次切換えられる。
この方式MTH1を用いることによって、全送信レートにおけるパケットロス率PKT_LOSSを比較的早く測定できるという利点がある。
(MTH2)
方式MTH2は、ベースレートでの送信を定期的に混ぜる方式である。そして、ベースレートとしては、例えば、6Mbpsが用いられる。即ち、方式MTH2では、送信レートは、・・・,54Mbps,6Mbps,48Mbps,6Mbps,36Mbps,6Mbps,24Mbps,6Mbps,18Mbps,6Mbps,12Mbps,6Mbps,9Mbps,6Mbps,・・・の順、または・・・,54Mbps,9Mbps,6Mbps,48Mbps,12Mbps,6Mbps,36Mbps,18Mbps,6Mbps,24Mbps,6Mbps,・・・の順で切換えられる。つまり、方式MTH2では、送信レートは、ベースレート(=6Mbps)よりも高い1個以上の送信レートでHelloパケットを送信した後、必ず、ベースレート(=6Mbps)でHelloパケットが送信されるように複数の送信レートに順次切換えられる。
この方式MTH2を用いることによって、ベースレート(=6Mbps)でのHelloパケットの送信が定期的に現れるため、各無線区間の確立が安定するという利点がある。
(MTH3)
方式MTH3は、徐々に高レートでの送信を混ぜる方式である。即ち、方式MTH3では、送信レートは、・・・,6Mbps,6Mbps,6Mbps,・・・,6Mbps,9Mbps,6Mbps,・・・,6Mbps,12Mbps,6Mbps,9Mbps,6Mbps,・・・,6Mbps,54Mbps,6Mbps,48Mbps,6Mbps,36Mbps,・・・,9Mbps,6Mbps,・・・の順で切換えられる。
つまり、方式MTH3は、測定しているパケットロス率PKT_LOSSによって送信レートを動的に変動させる。より具体的には、方式MTH3は、パケットロス率PKT_LOSSが相対的に低いとき、高レートの送信レートを混ぜ、パケットロス率PKT_LOSSが相対的に高いとき、低レートの送信レートを混ぜる。
また、方式MTH3は、複数の無線装置が存在する場合、パケットロス率の平均値、中間値、最小値および最大値、または重要な無線区間(MPR集合の無線区間)の値等に従って送信レートを動的に変化させる。そして、どれを採用するかは、システム特性によって決定され、それぞれの値を組み合わせることも可能である。
この方式MTH3を用いることによって、各無線区間の確立が安定するとともに、必要最小限の送信レートにおけるパケットロス率PKT_LOSSの測定が可能であるという利点がある。また、パケットロス率PKT_LOSSの測定に用いるパケットの長さも変化させることによって、更に緻密な測定が可能であり、最大送信レートmaxRateを更に正確に決定できるという利点がある。
なお、使用可能な複数の送信レートは、用いる通信プロトコルによって決定される。そして、通信プロトコルとしてIEEE802.11aが用いられた場合、複数の送信レートは、6Mbps(=ベースレート),9Mbps,12Mbps,18Mbps,24Mbps,36Mbps,48Mbps,54Mbpsからなる。また、通信プロトコルとしてIEEE802.11bが用いられた場合、複数の送信レートは、1Mbps(=ベースレート),2Mbps,5.5Mbps,11Mbpsからなる。更に、通信プロトコルとしてIEEE802.11gが用いられた場合、複数の送信レートは、1Mbps(=ベースレート),2Mbps,5.5Mbps,11Mbps,6Mbps,9Mbps,12Mbps,18Mbps,24Mbps,36Mbps,48Mbps,54Mbpsからなる。
従って、無線装置32,35,37,38,39,41のIPモジュール20は、送信レートを上述した3つの方式MTH1〜MTH3のいずれかによって複数の送信レートに順次切換え、MACモジュール17は、その切換えられた送信レートでHelloパケットを送信する。そして、無線装置36の無線インターフェースモジュール16は、無線装置32,35,37,38,39,41からのHelloパケットを受信するとともに、Helloパケットの受信信号強度RSSI_32,RSSI_35,RSSI_37,RSSI_38,RSSI_39,RSSI_41を検出し、Helloパケットおよび受信信号強度RSSI_32,RSSI_35,RSSI_37,RSSI_38,RSSI_39,RSSI_41をルーティングデーモン24へ送信する。
無線装置36のルーティングデーモン24は、無線インターフェースモジュール16からHelloパケットおよび受信信号強度RSSI_32,RSSI_35,RSSI_37,RSSI_38,RSSI_39,RSSI_41を受信する。そして、無線装置36のルーティングデーモン24は、一定期間内に受信した複数の受信信号強度RSSI_32に基づいて、平均受信信号強度RSSI_AVE_32を演算する。同様にして、無線装置36のルーティングデーモン24は、それぞれ、複数の受信信号強度RSSI_35、複数の受信信号強度RSSI_37、複数の受信信号強度RSSI_38、複数の受信信号強度RSSI_39、および複数の受信信号強度RSSI_41に基づいて平均受信信号強度RSSI_AVE_35,RSSI_AVE_37,RSSI_AVE_38,RSSI_AVE_39,RSSI_AVE_41を演算する。
また、無線装置36のルーティングデーモン24は、無線装置32,35,37,38,39,41から一定期間内に定期的に受信した複数のHelloパケットに基づいて、各送信レートにおける時間当たりのパケットロス率PKT_LOSS_32,PKT_LOSS_35,PKT_LOSS_37,PKT_LOSS_38,PKT_LOSS_39,PKT_LOSS_41を検出する。
そうすると、無線装置36のルーティングデーモン24は、平均受信信号強度RSSI_AVE_32,RSSI_AVE_35,RSSI_AVE_37,RSSI_AVE_38,RSSI_AVE_39,RSSI_AVE_41と、各送信レートにおけるパケットロス率PKT_LOSS_32,PKT_LOSS_35,PKT_LOSS_37,PKT_LOSS_38,PKT_LOSS_39,PKT_LOSS_41と、無線装置32,35,37,38,39,41のIPアドレスと、無線装置36のIPアドレスとを含むHelloパケットHELOを作成してブロードキャストする。
無線装置32のルーティングデーモン24は、無線装置36からHelloパケットHELOを受信し、その受信したHelloパケットHELOから平均受信信号強度RSSI_AVE_32および各送信レートにおけるパケットロス率PKT_LOSS_32を検出する。そして、無線装置32のルーティングデーモン24は、その検出した平均受信信号強度RSSI_AVE_32および各送信レートにおけるパケットロス率PKT_LOSS_32をIPモジュール20へ出力し、無線装置32のIPモジュール20は、平均受信信号強度RSSI_AVE_32および各送信レートにおけるパケットロス率PKT_LOSS_32を取得する。無線装置35,37,38,39,41のIPモジュール20も、同様にして、それぞれ、平均受信信号強度RSSI_AVE_35および各送信レートにおけるパケットロス率PKT_LOSS_35、平均受信信号強度RSSI_AVE_37および各送信レートにおけるパケットロス率PKT_LOSS_37、平均受信信号強度RSSI_AVE_38および各送信レートにおけるパケットロス率PKT_LOSS_38、平均受信信号強度RSSI_AVE_39および各送信レートにおけるパケットロス率PKT_LOSS_39、および平均受信信号強度RSSI_AVE_41および各送信レートにおけるパケットロス率PKT_LOSS_41を取得する。
なお、無線装置31,33,34,40,42,43も、無線装置36からブロードキャストされたHelloパケットHELOを受信するため、無線装置31,33,34,40,42,43のIPモジュール20は、無線装置32,35,37,38,39,41から無線装置36へHelloパケットを送信したときの平均受信信号強度RSSI_AVE_32および各送信レートにおけるパケットロス率PKT_LOSS_32、平均受信信号強度RSSI_AVE_35および各送信レートにおけるパケットロス率PKT_LOSS_35、平均受信信号強度RSSI_AVE_37および各送信レートにおけるパケットロス率PKT_LOSS_37、平均受信信号強度RSSI_AVE_38および各送信レートにおけるパケットロス率PKT_LOSS_38、平均受信信号強度RSSI_AVE_39および各送信レートにおけるパケットロス率PKT_LOSS_39、および平均受信信号強度RSSI_AVE_41および各送信レートにおけるパケットロス率PKT_LOSS_41を取得する。
また、無線装置31,33,34,36,40,42,43のIPモジュール20も、上述した動作によって、無線装置31,33,34,36,40,42,43から隣接する無線装置へのデータ到達状況(平均受信信号強度RSSI_AVEおよび各送信レートにおけるパケットロス率PKT_LOSSからなる)を取得するとともに、そのデータ到達状況は、無線ネットワーク100内でブロードキャストされる。
これによって、無線ネットワーク100を構成する無線装置31〜43の各々のIPモジュール20は、無線ネットワーク100の全ての無線区間におけるデータ到達状況(平均受信信号強度RSSI_AVEおよび各送信レートにおけるパケットロス率PKT_LOSSからなる)を取得する。
(b2)最大送信レートmaxRateの決定
データ到達状況が平均受信信号強度RSSI_AVEおよび各送信レートにおけるパケットロス率PKT_LOSSからなる場合、最大送信レート決定手段201は、ルーティングデーモン24からトポロジー情報TPIFおよび平均受信信号強度RSSI_AVEを受信し、MACモジュール17から各送信レートにおけるパケットロス率PKT_LOSSを受信する。また、最大送信レート決定手段201は、決定方法2によって最大送信レートmaxRateを決定する場合、図11に示す4個の関係図を保持している。
図12は、決定方法2によって最大送信レートmaxRateを決定する方法を説明するための図である。最大送信レート決定手段201は、トポロジー情報TPIF、平均受信信号強度RSSI_AVEおよび各送信レートにおけるパケットロス率PKT_LOSSを取得すると、関係テーブル202を参照して、平均受信信号強度RSSI_AVEに対応する基準送信レートtxRate_STDを検出する。この場合、最大送信レート決定手段201は、例えば、48Mbpsの基準送信レートtxRate_STDを検出するものとする。
そして、最大送信レート決定手段201は、その検出した基準送信レートtxRate_STDの付近において、送信レートとパケットロス率PKT_LOSSとの関係をパケットサイズを考慮したスループットと送信レートとの関係(図11参照)にプロットする。この場合、最大送信レート決定手段201は、例えば、36Mbpsの送信レートと“0”のパケットロス率PKT_LOSSとの関係P1、48Mbpsの送信レートと“20%”のパケットロス率PKT_LOSSとの関係P2、および54Mbpsの送信レートと“40%”のパケットロス率PKT_LOSSとの関係P3をプロットする。
より具体的には、最大送信レート決定手段201は、パケットサイズが160バイトである場合、36Mbps,48Mbps,54Mbpsの送信レートとパケットロス率PKT_LOSSとの関係P1〜P3を図11の(a)に示すスループットと送信レートとの関係(曲線k1〜k3参照)にプロットする(図12の(a)参照)。また、最大送信レート決定手段201は、パケットサイズが1500バイトである場合、36Mbps,48Mbps,54Mbpsの送信レートとパケットロス率PKT_LOSSとの関係P4〜P6を図11の(d)に示すスループットと送信レートとの関係(曲線k10〜k12参照)にプロットする(図12の(b)参照)。なお、図11の(a)〜(d)における再送率は、パケットロス率PKT_LOSSを表すので、0%のパケットロス率PKT_LOSS、20%のパケットロス率PKT_LOSSおよび40%のパケットロス率PKT_LOSSは、それぞれ、再送なし、20%の再送率および40%の再送率に相当する。
最大送信レート決定手段201は、平均受信信号強度RSSI_AVEに対応した基準送信レートtxRate_STD付近において、送信レートとパケットロス率PKT_LOSSとの関係をプロットすると、そのプロットした関係から最大のスループットが得られる送信レートを最大送信レートmaxRateとして決定する。より具体的には、最大送信レート決定手段201は、パケットサイズが160バイトである場合、36Mbpsの送信レートにおいて、パケットロス率PKT_LOSSが“0”となり、スループットが最大になるので、36Mbpsを最大送信レートmaxRateと決定する。また、最大送信レート決定手段201は、パケットサイズが1500バイトである場合、48Mbpsの送信レートにおいて、パケットロス率PKT_LOSSが“20%”となり、スループットが最大になるので、48Mbpsを最大送信レートmaxRateと決定する。
また、平均受信信号強度RSSI_AVEが−73dBであり、18Mbps,24Mbps,36Mbps,48Mbps,54Mbpsの送信レートにおけるパケットロス率PKT_LOSSが、それぞれ、0%,20%,20%,40%,40%である場合、−73dBの平均受信信号強度RSSI_AVEに対応する基準送信レートtxRate_STDは、36Mbpsとなる(図10参照)。そして、基準送信レートtxRate_STD(=36Mbps)付近における送信レートとパケットロス率PKT_LOSSとの関係を送信レートとスループットとの関係図にプロットすると、図12の(a),(b)に示す「×」印のようになる。
その結果、パケットサイズが160バイトである場合、18Mbps,36Mbps,54Mbpsの送信レートで、スループットが約5Mbpsとなる。従って、パケットサイズが160バイトである場合、スループットに大差がないので、最大送信レートmaxRateを18Mbpsに決定する。
一方、パケットサイズが1500バイトである場合、18Mbpsの送信レートで、スループットが14Mbpsとなり、36Mbpsの送信レートで、スループットが20Mbpsとなり、54Mbpsの送信レートで、スループットが22Mbpsとなる。
その結果、54Mbpsの送信レートで送信すると、スループットが最大となるので、パケットロス率PKT_LOSSが40%と高いにも拘わらず、54Mbpsの送信レートを最大送信レートmaxRateと決定する。
このように、パケットサイズが大きい場合、パケットロス率PKT_LOSSが高くても、送信レートが高い方がスループットが高くなるので、相対的に高い送信レートを最大送信レートmaxRateとして決定する。
なお、最大送信レート決定手段201は、パケットサイズが500バイトおよび1000バイトである場合、平均受信信号強度RSSI_AVEに対応する基準送信レートtxRate_STD付近における送信レートとパケットロス率PKT_LOSSとの関係を図11の(b),(c)に示すスループットと送信レートとの関係(曲線k4〜k6,k7〜k9)に追加し、上述した方法によって、各無線区間における最大送信レートmaxRateを決定する。
このように、決定方法2においては、最大送信レートmaxRateは、パケットサイズに応じて決定されたスループットと送信レートとの関係(図11参照)に、送信レートとパケットロス率PKT_LOSSとの関係(P1〜P6参照)を追加して、スループットが最大となるときの送信レートを最大送信レートmaxRateとして決定されるので、決定方法2によって最大送信レートmaxRateを決定することは、パケットサイズによる重み付けを行なって最大送信レートmaxRateを決定することに相当する。
[最大送信レートの決定方法3]
最大送信レートの決定方法3においては、データ到達状況は、平均受信信号強度RSSI_AVEおよび受信信号強度RSSIの標準偏差RSSI_DEVからなる。即ち、最大送信レートの決定方法3においては、データ到達状況は、補正受信信号強度RSSI_modifyからなる。そして、補正受信信号強度RSSI_modifyは、次式によって決定される。
なお、式(1)において、wは、重みであり、適正値は、実験によって求められる。
(a3)データ到達状況の検出
図8の(a)に示すように、無線装置32,35,37,38,39,41は、自己のIPアドレスを含むHelloメッセージを定期的にブロードキャストし、無線装置36は、無線装置32,35,37,38,39,41からHelloメッセージを定期的に受信する。
そして、無線装置36の無線インターフェースモジュール16は、無線装置32,35,37,38,38,41からHelloメッセージを受信するごとに、Helloメッセージの受信信号強度RSSI_32,RSSI_35,RSSI_37,RSSI_38,RSSI_39,RSSI_41を検出し、その検出した受信信号強度RSSI_32,RSSI_35,RSSI_37,RSSI_38,RSSI_39,RSSI_41をルーティングデーモン24へ出力する。
無線装置36のルーティングデーモン24は、無線インターフェースモジュール16から受信信号強度RSSI_32,RSSI_35,RSSI_37,RSSI_38,RSSI_39,RSSI_41を受信する。そして、無線装置36のルーティングデーモン24は、一定期間内に受信した複数の受信信号強度RSSI_32に基づいて、平均受信信号強度RSSI_AVE_32および受信信号強度RSSIの標準偏差RSSI_DEVを演算する。同様にして、無線装置36のルーティングデーモン24は、それぞれ、複数の受信信号強度RSSI_35、複数の受信信号強度RSSI_37、複数の受信信号強度RSSI_38、複数の受信信号強度RSSI_39および複数の受信信号強度RSSI_41に基づいて平均受信信号強度RSSI_AVE_35,RSSI_AVE_37,RSSI_AVE_38,RSSI_AVE_39,RSSI_AVE_41および受信信号強度RSSI_35,RSSI_37,RSSI_38,RSSI_39,RSSI_41の標準偏差RSSI_DEV_35,RSSI_DEV_37,RSSI_DEV_38,RSSI_DEV_39,RSSI_DEV_41を演算する。
そうすると、無線装置36のルーティングデーモン24は、平均受信信号強度RSSI_AVE_32,RSSI_AVE_35,RSSI_AVE_37,RSSI_AVE_38,RSSI_AVE_39,RSSI_AVE_41と、受信信号強度の標準偏差RSSI_DEV_32,RSSI_DEV_35,RSSI_DEV_37,RSSI_DEV_38,RSSI_DEV_39,RSSI_DEV_41と自己のIPアドレスIPaddress36とを含むHelloメッセージHLOMを作成してブロードキャストする。
無線装置32,35,37,38,39,41のルーティングデーモン24は、HelloメッセージHLOMを無線装置36から受信する。そして、無線装置32のルーティングデーモン24は、その受信したHelloメッセージHLOMから平均受信信号強度RSSI_AVE_32、受信信号強度の標準偏差RSSI_DEV_32およびIPアドレスIPaddress36を検出し、その検出した平均受信信号強度RSSI_AVE_32および受信信号強度の標準偏差RSSI_DEV_32を式(1)に代入して補正受信信号強度RSSI_modify_32を演算する。これによって、無線装置32のルーティングデーモン24は、無線装置32から無線装置36へパケットを送信したときの無線装置36へのデータ到達状況(=補正受信信号強度RSSI_modify_32)を検知する。また、無線装置35,37,38,39,41のルーティングデーモン24は、同様にして、無線装置35,37,38,39,41から無線装置36へパケットを送信したときの無線装置36へのデータ到達状況(=補正受信信号強度RSSI_modify_35,RSSI_modify_37,RSSI_modify_38,RSSI_modify_39,RSSI_modify_41)を検知する。
無線装置32,35,37,38,39,41のルーティングデーモン24は、無線装置36へのデータ到達状況(=補正受信信号強度RSSI_modify_32,RSSI_modify_35,RSSI_modify_37,RSSI_modify_38,RSSI_modify_39,RSSI_modify_41)を検知すると、その検知した無線装置36へのデータ到達状況(=補正受信信号強度RSSI_modify_32,RSSI_modify_35,RSSI_modify_37,RSSI_modify_38,RSSI_modify_39,RSSI_modify_41)をIPモジュール20へ出力する。そして、無線装置32,35,37,38,39,41のIPモジュール20は、無線装置32,35,37,38,39,41から無線装置36へのデータ到達状況(=補正受信信号強度RSSI_modify_32,RSSI_modify_35,RSSI_modify_37,RSSI_modify_38,RSSI_modify_39,RSSI_modify_41)を取得する。
その後、データ到達状況(=補正受信信号強度RSSI_modify_32,RSSI_modify_35,RSSI_modify_37,RSSI_modify_38,RSSI_modify_39,RSSI_modify_41)は、最大送信レートの決定方法1と同様にして無線通信システム100内でブロードキャストされる。
また、無線装置31,33,34,36,40,42,43のIPモジュール20も、上述した方法によって、データ到達状況(=補正受信信号強度RSSI_modify_31,RSSI_modify_33,RSSI_modify_34,RSSI_modify_36,RSSI_modify_40,RSSI_modify_42,RSSI_modify_43)を取得し、データ到達状況(=補正受信信号強度RSSI_modify_31,RSSI_modify_33,RSSI_modify_34,RSSI_modify_36,RSSI_modify_40,RSSI_modify_42,RSSI_modify_43)は、最大送信レートの決定方法1と同様にして無線通信システム100内でブロードキャストされる。
これによって、無線通信システム100内の全ての無線装置31〜43は、無線通信システム100における全ての無線区間における補正受信信号強度RSSI_modifyからなるデータ到達状況を取得する。
(b3)最大送信レートmaxRateの決定
最大送信レートmaxRateの決定方法3においては、最大送信レート決定手段201は、ルーティングデーモン24から補正受信信号強度RSSI_modifyを受け、関係テーブル202は、補正受信信号強度RSSI_modifyと、基準送信レートとの関係を保持する。より具体的には、関係テーブル202は、図10に示す関係テーブルにおいて、「平均受信信号強度」を「補正受信信号強度」に代えた関係を保持する。
最大送信レート決定手段201は、ルーティングデーモン24から補正受信信号強度RSSI_modifyを受けると、関係テーブル202を参照して、補正受信信号強度RSSI_modifyに対応する基準送信レートtxRate_STDを検出する。そして、最大送信レート決定手段201は、その検出した基準送信レートtxRate_STDに対して、最大送信レートの決定方法1におけるのと同じようにパケットサイズによる重み付けを行なって、各無線区間における最大送信レートmaxRtaeを決定する。
[最大送信レートmaxRateの決定方法4]
最大送信レートの決定方法4においては、データ到達状況は、補正受信信号強度RSSI_modifyおよびパケットロス率PKT_LOSSからなる。
(a4)データ到達状況の検出
無線装置31〜43は、(a2)データ到達状況の検出において説明した方法によって、無線通信システム100の全ての無線区間における各送信レートに対するパケットロス率PKT_LOSSを取得するとともに、(a3)データ到達状況の検出において説明した方法によって、無線通信システム100の全ての無線区間における補正受信信号強度RSSI_modifyを取得する。これによって、無線装置31〜43は、補正受信信号強度RSSI_modifyおよび各送信レートに対するパケットロス率PKT_LOSSからなるデータ到達状況を取得する。
(b4)最大送信レートmaxRateの決定
最大送信レートmaxRateの決定方法4においては、最大送信レート決定手段201は、補正受信信号強度RSSI_modifyおよび各送信レートにおけるパケットロス率PKT_LOSSをルーティングデーモン24から受け、関係テーブル202は、上述したように、補正受信信号強度RSSI_modifyと基準送信レートとの関係を保持する。
最大送信レート決定手段201は、ルーティングデーモン24から補正受信信号強度RSSI_modifyを受けると、関係テーブル202を参照して、補正受信信号強度RSSI_modifyに対応する基準送信レートtxRate_STDを検出する。
そして、最大送信レート決定手段201は、(b2)最大送信レートmaxRateの決定方法2において説明したように、その検出した基準送信レートtxRate_STDの付近における送信レートとパケットロス率PKT_LOSSとの関係をスループットと送信レートとの関係(図11参照)にプロットし、上述した方法によって各無線区間における最大送信レートmaxRateを決定する。つまり、最大送信レート決定手段201は、補正受信信号強度RSSI_modifyに対応する基準送信レートtxRate_STDを検出すると、その後、(b2)最大送信レートmaxRateの決定方法2における方法と同じ方法に従って最大送信レートmaxRateを決定する。
図13は、図9に示すトポロジーテーブル203の例を示す図である。最大送信レート決定手段201は、無線ネットワーク100における各無線区間のデータ到達状況およびトポロジー情報TPIFをルーティングデーモン24から受信すると、上述した4個の方法のいずれかによって、各無線区間における最大送信レートmaxRateを決定し、その決定した最大送信レートmaxRateをトポロジー情報TPIFに書き込んでトポロジーテーブル203A(図13参照)を作成する。
図14は、ルーティングテーブル21の例を示す図である。また、図15は、無線通信経路の例を示す図である。更に、図16は、無線通信経路の他の例を示す図である。図1に示す無線装置31が無線装置40と無線通信を行なう場合の各無線装置の送信レートの決定方法について説明する。
無線装置31は、ルーティングテーブル21A(図14参照)を保持している。そして、無線装置31が無線装置40と無線通信を行なう場合、無線装置31の送信レート決定手段204は、ルーティングテーブル21Aおよびトポロジーテーブル203Aを参照して、無線装置31から無線装置40までの経路を無線装置31−無線装置32−無線装置36−無線装置39−無線装置40からなる経路RTと決定し、無線区間(無線装置31−無線装置32)、無線区間(無線装置32−無線装置36)、無線区間(無線装置36−無線装置39)および無線区間(無線装置39−無線装置40)における最大送信レートmaxRateがそれぞれ54Mbps,11Mbps,54Mbps,54Mbpsであることを検出する(図13の太線、図15および図16参照)。
そうすると、無線装置31の送信レート決定手段204は、送信元(=無線装置31)から送信先(=無線装置40)へ向かう経路RT上において、最小の最大送信レート(=11Mbps)を有する無線区間(=無線装置32−無線装置36)が存在するので、無線装置31の送信レートtxRateを11Mbpsと決定する。
また、無線装置32の送信レート決定手段204は、自己が搭載された無線装置32から送信先の無線装置40へ向かう経路上において、最小の最大送信レート(=11Mbps)を有する無線区間(=無線装置32−無線装置36)が存在するので、無線装置32の送信レートtxRateを11Mbpsと決定する。
更に、無線装置36の送信レート決定手段204は、自己が搭載された無線装置36から送信先の無線装置40へ向かう経路上において、最小の最大送信レートが54Mbpsであるので、無線装置36の送信レートtxRateを54Mbpsと決定する。
更に、無線装置39の送信レート決定手段204は、自己が搭載された無線装置39から送信先の無線装置40へ向かう経路上において、最小の最大送信レートが54Mbpsであるので、無線装置39の送信レートtxRateを54Mbpsと決定する(図15参照)。
次に、無線装置40が経路RTを用いて無線装置31へパケットを送信する場合、無線装置40の送信レート決定手段204は、自己が搭載された無線装置40から送信先の無線装置31へ向かう経路上において、最小の最大送信レート(=11Mbps)を有する無線区間(=無線装置36−無線装置32)が存在するので、無線装置40の送信レートtxRateを11Mbpsと決定する。
また、無線装置39の送信レート決定手段204は、自己が搭載された無線装置39から送信先の無線装置31へ向かう経路上において、最小の最大送信レート(=11Mbps)を有する無線区間(=無線装置36−無線装置32)が存在するので、無線装置39の送信レートtxRateを11Mbpsと決定する。
更に、無線装置36の送信レート決定手段204は、自己が搭載された無線装置36から送信先の無線装置31へ向かう経路上において、最小の最大送信レート(=11Mbps)を有する無線区間(=無線装置36−無線装置32)が存在するので、無線装置36の送信レートtxRateを11Mbpsと決定する。
更に、無線装置32の送信レート決定手段204は、自己が搭載された無線装置32から送信先の無線装置31へ向かう経路上において、最小の最大送信レートが54Mbpsであるので、無線装置32の送信レートtxRateを54Mbpsと決定する(図16参照)。
このように、無線装置31,32,36,39,40の送信レート決定手段204は、自己が搭載された無線装置から送信先の無線装置までの経路上において最小の最大送信レートmaxRateを自己が搭載された無線装置31,32,36,39,40の送信レートtxRateとして決定する。
上述した方法によって各無線装置31,32,36,39,40の送信レートを決定することにより、最小の最大送信レートmaxRateを有する無線区間(無線装置32−無線装置36)を構成する無線装置32,36において受信量が送信量に等しくなり、無線装置32,36のバッファ18が溢れることを防止できる。その結果、無線装置32,36におけるパケットロスが抑制される。従って、無線通信の安定性を向上できる。
なお、無線装置33,34,35,37,38,41〜43の送信レート決定手段204も、上述した方法によって、無線装置33,34,35,37,38,41〜43の送信レートtxRateを決定し、その決定した送信レートtxRateによって送信先との間で無線通信を行なう。
また、上記においては、無線装置31が無線通信経路RTを介して無線装置40へパケットを送信する場合、無線装置31,32,36,39の各々が自己の送信レートを決定すると説明したが、この発明においては、これに限らず、無線装置31は、無線通信経路RTを介して無線装置40へパケットを送信する場合、上述した方法によって、無線装置31,32,36,39における送信レートtxRate_31,txRate_32,txRate_36,txRate_39を決定し、その決定した送信レートtxRate_32,txRate_36,txRate_39を含むパケットPKTを生成して送信レートtxRate_31で送信するようにしてもよい。この場合、パケットPKTを中継する無線装置32,36,39は、パケットPKTに含まれる自己の送信レートtxRate_32,txRate_36,txRate_39を検出し、その検出した送信レートtxRate_32,txRate_36,txRate_39でパケットPKTを中継する。無線装置40が無線通信経路RTを介して無線装置31へパケットPKTを送信する場合も同様である。
[実施の形態2]
実施の形態2においては、送信元と送信先との間で通信経路を確立するプロトコルとしてAODVプロトコルを用いる。このAODVプロトコルは、オンデマンド型のルーティングプロトコルであり、無線通信が生じたときに送信先との間で無線通信経路を確立し、送信先との間で無線通信を行なうプロトコルである。
図17は、図1に示す無線装置31〜43の実施の形態2における構成を示す概略ブロック図である。実施の形態2においては、図1に示す無線装置31〜43の各々は、図17に示す無線装置31Aからなる。
無線装置31Aは、図2に示す無線装置31の通信制御部15を通信制御部15Aに代えたものであり、その他は、無線装置31と同じである。通信制御部15Aは、通信制御部15のルーティングテーブル21を削除し、IPモジュール20をIPモジュール20Aに代えたものであり、その他は、通信制御部15と同じである。
なお、以下においては、データ到達状況は、平均受信信号強度RSSI_AVEからなるものとして説明する。
IPモジュール20Aは、自己が搭載された無線装置が保持するデータ到達状況(=平均受信信号強度RSSI_AVE)を取得する。そして、IPモジュール20Aは、送信先の無線装置との間で無線通信の要求が生じると、AODVプロトコルに従って送信先の無線装置までの経路RTを確立するとともに、その経路RTを確立する動作に連動して経路RT上に存在する各無線区間におけるデータ到達状況(=平均受信信号強度RSSI_AVE)を取得する。なお、AODVプロトコルにおいても、受信信号強度RSSIは、Helloパケットに含めて隣接する無線装置へ送信されるので、各無線装置31〜43は、図8に示す方法によって平均受信信号強度RSSI_AVEを取得できる。
そして、IPモジュール20Aは、各無線区間におけるデータ到達状況(=平均受信信号強度RSSI_AVE)を取得すると、確立した経路RTと、取得したデータ到達状況(=平均受信信号強度RSSI_AVE)とに基づいて、上述した方法によって、送信レートを決定し、その決定した送信レートをMACモジュール17へ出力する。
図18は、図17に示すIPモジュール20Aが有する機能のうち、送信レートを決定する機能の機能ブロック図である。IPモジュール20Aは、関係テーブル202と、経路確立手段205と、最大送信レート決定手段206と、トポロジーテーブル207と、送信レート決定手段208とを含む。
経路確立手段205は、自己が搭載された無線装置が保持するデータ到達状況(=平均受信信号強度RSSI_AVE)をルーティングデーモン24から受け、その受けたデータ到達状況(=平均受信信号強度RSSI_AVE)を含むルート要求パケットRREQを生成して送信する。
また、経路確立手段205は、自己が搭載された無線装置がルート要求パケットRREQを中継する無線装置である場合、ルート要求パケットRREQを受信すると、その受信したルート要求パケットRREQに含まれるデータ到達状況(=平均受信信号強度RSSI_AVE)を読み出して最大送信レート決定手段206へ出力する。そして、経路確立手段205は、自己が搭載された無線装置から送信元までの経路情報をルート要求パケットRREQから読み出して最大送信レート決定手段206へ出力する。また、経路確立手段205は、自己が搭載された無線装置が保持するデータ到達状況(=平均受信信号強度RSSI_AVE)をルート要求パケットRREQに追加して中継する。
更に、経路確立手段205は、自己が搭載された無線装置が保持するデータ到達状況(=平均受信信号強度RSSI_AVE)を含めて、ルート要求パケットRREQに対する応答であるルート返答パケットRREPを生成し、その生成したルート応答パケットRREPを送信する。
更に、経路確立手段205は、自己が搭載された無線装置がルート返答パケットRREPを中継する無線装置である場合、ルート返答パケットRREPを受信すると、その受信したルート返答パケットRREPに含まれるデータ到達状況(=平均受信信号強度RSSI_AVE)を読み出して最大送信レート決定手段206へ出力する。そして、経路確立手段205は、自己が搭載された無線装置から送信先までの経路情報をルート返答パケットRREPから読み出して最大送信レート決定手段206へ出力する。また、経路確立手段205は、自己が搭載された無線装置が保持するデータ到達状況(=平均受信信号強度RSSI_AVE)をルート返答パケットRREPに追加して中継する。
最大送信レート決定手段206は、自己が搭載された無線装置が保持するデータ到達状況(=平均受信信号強度RSSI_AVE)をルーティングデーモン24から受け、他の無線装置が保持するデータ到達状況(=平均受信信号強度RSSI_AVE)および経路情報を経路確立手段205から受ける。そして、最大送信レート決定手段206は、経路情報に基づいて、送信先または送信元までの経路を検知し、その検知した経路上の各無線区間における最大送信レートmaxRateをデータ到達状況(=平均受信信号強度RSSI_AVE)、関係テーブル202およびパケットサイズに基づいて、上述した方法によって決定する。そして、最大送信レート決定手段206は、その決定した最大送信レートmaxRateを送信先または送信元までの経路上の各無線区間に書き込んでトポロジーテーブル207を作成する。
トポロジーテーブル207は、送信元から送信先までの経路情報と、各無線区間に書き込まれた最大送信レートmaxRateとからなる。
送信レート決定手段208は、トポロジーテーブル207を参照して、送信先または送信元までの経路上の各無線区間における最大送信レートmaxRateを検出し、その検出した最大送信レートmaxRateに基づいて、上述した方法によって送信レートtxRateを決定する。そして、送信レート決定手段208は、その決定した送信レートtxRateをMACモジュール17へ出力する。
以下、無線装置31が無線装置40との間で無線通信経路RTを確立する動作について説明する。送信元である無線装置31は、送信先である無線装置40との間で無線通信経路RTを確立する場合、ルート要求パケットRREQを生成してブロードキャストする。
このルート要求パケットRREQは、送信元Senderと、タイプTypeと、送信先アドレスDSTと、送信先シーケンス番号DSTSeqと、送信元IPアドレスSrcと、送信元シーケンス番号SrcSeqと、ルート要求パケット識別子RREQidと、ホップ数Hopsと、データ到達状況(=平均受信信号強度RSSI_AVE)とからなる。
送信元Senderは、ルート要求パケットRREQを送信する無線装置のアドレスであり、ルート要求パケットRREQを受信する各無線装置が送信先から送信元への逆通信経路において次に送信すべき無線装置であると認識するアドレスである。そして、この送信元Senderは、ルート要求パケットRREQを中継する無線装置によって変えられる。
タイプは、ルート要求パケットRREQがルートの確立を要求するパケットであることを示す“RREQ”からなり、この“RREQ”は、変更されない。
送信先アドレスDSTは、確立しようとしている無線通信経路における最終的な送信先である無線装置のIPアドレスである。そして、送信先アドレスDSTは、不変である。
送信先シーケンス番号DSTSeqは、最終的な送信先へ向かう複数の経路のうち、ルート要求パケットRREQの生成元によって受信された最新のシーケンス番号である。
送信元IPアドレスSrcは、ルート要求パケットRREQの生成元のIPアドレスである。従って、この送信元IPアドレスは、不変である。
送信元シーケンス番号SrcSeqは、ルート要求パケットRREQの生成元へ向かう経路において使用されるべき現在のシーケンス番号である。そして、この送信元シーケンス番号は、不変である。
ルート要求パケット識別子RREQidは、順次生成される複数のルート要求パケットRREQの各々を特定するシーケンス番号である。そして、このルート要求パケット識別子RREQidは、一度付与されると、変更されない。
ホップ数Hopsは、ルート要求パケットRREQの生成元からルート要求パケットRREQを中継する各無線装置までのホップ数を表す。従って、このホップ数は、ルート要求パケットRREQを中継する無線装置によって“1”ずつインクリメントされる。
データ到達状況(=平均受信信号強度RSSI_AVE)は、ルート要求パケットRREQの生成元またはルート要求パケットRREQを中継する無線装置が有するデータ到達状況(=平均受信信号強度RSSI_AVE)からなる。そして、データ到達状況(=平均受信信号強度RSSI_AVE)は、ホップ数の増加に伴って追加される。
従って、無線装置31の経路確立手段205は、[Sender31/RREQ/IPaddress40/10/Src31/20/3/0/RSSI_AVE1(IPaddress31−IPaddress32)]からなるルート要求パケットRREQを生成してブロードキャストする。
そして、無線装置31の隣の無線装置32,37は、無線装置31からのルート要求パケットRREQを受信し、無線装置32,37の経路確立手段205は、ルート要求パケットRREQを無線装置31から最初に受信したか否かを判定する。
ルート要求パケットRREQを最初に受信したものである場合、無線装置32の経路確立手段205は、ルート要求パケットRREQからデータ到達状況(=RSSI_AVE1(IPaddress31−IPaddress32)を検出して最大送信レート決定手段206へ出力する。そして、無線装置32の経路確立手段205は、ルート要求パケットRREQ中の送信元Sender1を、無線装置32が送信元であることを示す送信元Sender32に代え、無線装置31から無線装置32までの経路数であるホップ数に“1”を加算するとともに、データ到達状況に自己が保持するデータ到達状況(=平均受信信号強度RSSI_AVE2(IPaddress32−IPaddress36):RSSI_AVE3(IPaddress32−IPaddress35))を追加してルート要求パケットRREQ=[Sender32/RREQ/IPaddress40/10/Src31/20/3/1/RSSI_AVE1(IPaddress31−IPaddress32):RSSI_AVE2(IPaddress32−IPaddress36):RSSI_AVE3(IPaddress32−IPaddress35)]を生成し、その生成したルート要求パケットRREQ=[Sender32/RREQ/IPaddress40/10/Src31/20/3/1/RSSI_AVE1(IPaddress31−IPaddress32):RSSI_AVE2(IPaddress32−IPaddress36):RSSI_AVE3(IPaddress32−IPaddress35)]をブロードキャストする。
また、無線装置32の経路確立手段205は、送信元Sender31に基づいて、無線装置40から無線装置31への逆通信経路において無線装置32が次に送信すべき無線装置が無線装置31であると認識する。
無線装置36の経路確立手段205は、ルート要求パケットRREQからデータ到達状況(=RSSI_AVE1(IPaddress31−IPaddress32):RSSI_AVE2(IPaddress32−IPaddress36))を検出して最大送信レート決定手段206へ出力する。そして、無線装置36の経路確立手段205は、ルート要求パケットRREQ中の送信元Sender321を、無線装置36が送信元であることを示す送信元Sender36に代え、無線装置31から無線装置32までの経路数であるホップ数に“1”を加算するとともに、データ到達状況に自己が保持するデータ到達状況(=平均受信信号強度RSSI_AVE4(IPaddress36−IPaddress35):RSSI_AVE5(IPaddress36−IPaddress38):RSSI_AVE6(IPaddress36−IPaddress39):RSSI_AVE7(IPaddress36−IPaddress41):RSSI_AVE8(IPaddress36−IPaddress37))を追加してルート要求パケットRREQ=[Sender36/RREQ/IPaddress40/10/Src31/20/3/2/RSSI_AVE1(IPaddress31−IPaddress32):RSSI_AVE2(IPaddress32−IPaddress36):RSSI_AVE3(IPaddress32−IPaddress35)RSSI_AVE4(IPaddress36−IPaddress35):RSSI_AVE5(IPaddress36−IPaddress38):RSSI_AVE6(IPaddress36−IPaddress39):RSSI_AVE7(IPaddress36−IPaddress41):RSSI_AVE8(IPaddress36−IPaddress37)]を生成し、その生成したルート要求パケットRREQ=[Sender36/RREQ/IPaddress40/10/Src31/20/3/2/RSSI_AVE1(IPaddress31−IPaddress32):RSSI_AVE2(IPaddress32−IPaddress36):RSSI_AVE3(IPaddress32−IPaddress35)RSSI_AVE4(IPaddress36−IPaddress35):RSSI_AVE5(IPaddress36−IPaddress38):RSSI_AVE6(IPaddress36−IPaddress39):RSSI_AVE7(IPaddress36−IPaddress41):RSSI_AVE8(IPaddress36−IPaddress37)]をブロードキャストする。
また、無線装置36の経路確立手段205は、送信元Sender32に基づいて、無線装置40から無線装置31への逆通信経路において無線装置36が次に送信すべき無線装置が無線装置32であると認識する。
無線装置35,37,38,41,42も、無線装置32,36と同様にしてルート要求パケットRREQを中継する。
そして、送信先である無線装置40の経路確立手段205は、ルート要求パケットRREQ=[Sender39/RREQ/IPaddress40/10/Src31/20/3/3/無線装置31,32,36,39が有するデータ到達状況]を無線装置39から受信する。
そうすると、無線装置40の経路確立手段205は、ルート要求パケットRREQに含まれる送信先アドレス=IPaddress40に基づいて自己が送信先であることを検知するとともに、[無線装置31,32,36,39が有するデータ到達状況]をルート要求パケットRREQから読み出して最大送信レート決定手段206へ出力する。そして、無線装置40の経路確立手段205は、ルート要求パケットRREQに対する返答であるルート返答パケットRREPを生成する。
この場合、ルート返答パケットRREPは、送信元Senderと、タイプTypeと、送信先アドレスDSTと、送信先シーケンス番号DSTSeqと、ホップ数Hopsと、データ到達状況(=平均受信信号強度RSSI_AVE)とからなる。
送信元Senderは、ルート返答パケットRREPを送信する無線装置のアドレスである。そして、この送信元Senderは、ルート返答パケットRREPを中継する無線装置によって変えられる。
タイプは、ルート返答パケットRREPがルート要求パケットRREQに対する返答であることを示す“RREP”からなり、この“RREP”は、変更されない。
送信先アドレスDSTおよび送信先シーケンス番号DSTSeqは、それぞれ、ルート要求パケットRREQに格納された送信先アドレスDSTおよび送信先シーケンス番号DSTSeqである。
ホップ数Hopsは、ルート返答パケットRREPの生成元からルート返答パケットRREPを中継する各無線装置までのホップ数を表す。従って、このホップ数は、ルート返答パケットRREPを中継する無線装置によって“1”ずつインクリメントされる。
データ到達状況(=平均受信信号強度RSSI_AVE)は、ルート返答パケットRREPの生成元またはルート返答パケットRREPの中継器が有するデータ到達状況(=平均受信信号強度RSSI_AVE)からなる。そして、データ到達状況(=平均受信信号強度RSSI_AVE)は、ホップ数の増加に伴って追加される。
従って、無線装置40の経路確立手段205は、[Sender40/RREP/IPaddress40/10/0/RSSI_AVE9(IPaddress40→IPaddress39)]からなるルート返答パケットRREPを生成し、その生成したルート返答パケットRREP=[Sender40/RREP/IPaddress40/10/0/RSSI_AVE9(IPaddress40→IPaddress39)]をルート要求パケットRREQを受信した経路に沿って送信する。即ち、無線装置40の経路確立手段205は、ルート要求パケットRREQを無線装置39から受信したので、ルート返答パケットRREPを無線装置39へ送信する。
無線装置39の経路確立手段205は、無線装置40からルート返答パケットRREP=[Sender40/RREP/IPaddress40/10/0/RSSI_AVE9(IPaddress40→IPaddress39)]を受信し、その受信したルート返答パケットRREP=[Sender40/RREP/IPaddress40/10/0/RSSI_AVE9(IPaddress40→IPaddress39)]からデータ到達状況(=RSSI_AVE9(IPaddress40→IPaddress39))を読み出して最大送信レート決定手段206へ出力する。そして、無線装置39の経路確立手段205は、ルート返答パケットRREP=[Sender40/RREP/IPaddress40/10/0/RSSI_AVE9(IPaddress40→IPaddress39)]の送信元Sender40を無線装置39を示す送信元Sender39に代え、無線装置39までの経路数であるホップ数に“1”を加算するとともに、データ到達状況にデータ到達状況(=平均受信信号強度RSSI_AVE10(IPaddress39→IPaddress36))を追加してルート返答パケットRREP=[Sender39/RREP/IPaddress40/10/1/RSSI_AVE9(IPaddress40→IPaddress39):RSSI_AVE10(IPaddress39→IPaddress36)]を生成し、その生成したルート返答パケットRREP=[Sender39/RREP/IPaddress40/10/1/RSSI_AVE9(IPaddress40→IPaddress39):RSSI_AVE10(IPaddress39→IPaddress36)]無線装置36へ送信する。
そうすると、無線装置36の経路確立手段205は、ルート返答パケットRREP=[Sender39/RREP/IPaddress40/10/1/RSSI_AVE9(IPaddress40→IPaddress39):RSSI_AVE10(IPaddress39→IPaddress36)]を受信し、無線装置39と同様にして、ルート返答パケットRREP=[Sender36/RREP/IPaddress40/10/2/RSSI_AVE9(IPaddress40→IPaddress39):RSSI_AVE10(IPaddress39→IPaddress36):RSSI_AVE11(IPaddress36→IPaddress32)]を生成し、その生成したルート返答パケットRREP=[Sender36/RREP/IPaddress40/10/2/RSSI_AVE9(IPaddress40→IPaddress39):RSSI_AVE10(IPaddress39→IPaddress36):RSSI_AVE11(IPaddress36→IPaddress32)]を無線装置32へ送信する。
そして、無線装置32の経路確立手段205は、ルート返答パケットRREP=[Sender36/RREP/IPaddress40/10/2/RSSI_AVE9(IPaddress40→IPaddress39):RSSI_AVE10(IPaddress39→IPaddress36):RSSI_AVE11(IPaddress36→IPaddress32)]を受信し、その受信したルート返答パケットRREP=[Sender36/RREP/IPaddress40/10/2/RSSI_AVE9(IPaddress40→IPaddress39):RSSI_AVE10(IPaddress39→IPaddress36):RSSI_AVE11(IPaddress36→IPaddress32)]からデータ到達状況(=RSSI_AVE9(IPaddress40→IPaddress39):RSSI_AVE10(IPaddress39→IPaddress36):RSSI_AVE11(IPaddress36→IPaddress32))を読出して最大送信レート決定手段206へ出力する。そして、無線装置32の経路確立手段205は、ルート返答パケットRREP=[Sender36/RREP/IPaddress40/10/2/RSSI_AVE9(IPaddress40→IPaddress39):RSSI_AVE10(IPaddress39→IPaddress36):RSSI_AVE11(IPaddress36→IPaddress32)]をルート返答パケットRREP=[Sender32/RREP/IPaddress40/10/3/RSSI_AVE9(IPaddress40→IPaddress39):RSSI_AVE10(IPaddress39→IPaddress36):RSSI_AVE11(IPaddress36→IPaddress32):RSSI_AVE12(IPaddress32→IPaddress31)]に変えて無線装置31へ送信する。
なお、ルート要求パケットRREQが無線装置31から無線装置40へ送信されることによって無線装置31→無線装置32→無線装置36→無線装置39→無線装置40の経路が確立されているので、各無線装置32,36,39は、ルート要求パケットRREQを受信した経路に沿ってルート返答パケットRREPを無線装置31(送信元)へ送信できる。
そして、送信元である無線装置31の経路確立手段205は、ルート返答パケットRREP=[Sender32/RREP/IPaddress40/10/3/RSSI_AVE9(IPaddress40→IPaddress39):RSSI_AVE10(IPaddress39→IPaddress36):RSSI_AVE11(IPaddress36→IPaddress32):RSSI_AVE12(IPaddress32→IPaddress31)]を受信すると、その受信したルート返答パケットRREPからデータ到達状況(=平均受信信号強度RSSI_AVE9(IPaddress40→IPaddress39):RSSI_AVE10(IPaddress39→IPaddress36):RSSI_AVE11(IPaddress36→IPaddress32):RSSI_AVE12(IPaddress32→IPaddress31))を読み出して最大送信レート決定手段206へ出力する。
上述したように、無線装置31,32,36,39,40の最大送信レート決定手段206は、経路確立手段205が無線装置31−無線装置32−無線装置36−無線装置39−無線装置40からなる経路を確立する過程において、各無線区間の双方向のデータ到達状況(=平均受信信号強度RSSI_AVE)と、送信元(=無線装置31)または送信先(=無線装置40)までの経路情報とを取得する。
そして、最大送信レート決定手段206は、各無線区間におけるデータ到達状況(=平均受信信号強度RSSI_AVE)を取得すると、上述した方法によって、各無線区間における最大送信レートmaxRateを決定し、その決定した最大送信レートmaxRateを経路情報の各無線区間に書き込んだトポロジーテーブル207を作成する。
図19は、図18に示すトポロジーテーブル207の例を示す図である。最大送信レート決定手段206は、上述した動作によって、例えば、図19に示すトポロジーテーブル207Aを作成する。
そうすると、送信レート決定手段208は、トポロジーテーブル207Aを参照して、各無線装置31,32,36,39,40の送信レートを図15および図16において説明したように決定し、その決定した送信レートをMACモジュール17へ出力する。
送信元である無線装置31は、送信先である無線装置40からのルート返答パケットRREPを受信すると、上述した方法によって送信レートを決定し、その決定した送信レートでデータパケットを送信先の無線装置40へ送信する。これによって、無線装置31→無線装置32→無線装置36→無線装置39→無線装置40からなる無線通信経路RTが活性化され、無線装置31→無線装置32→無線装置36→無線装置39→無線装置40からなるアドホックネットワークが自律的に構成される。
このように、オンデマンド型のルーティングプロトコルに従って、送信元と送信先との間で無線通信が行なわれる場合も、各無線装置は、送信先までの経路上における最小の最大送信レートmaxRateを自己の送信レートtxRateとして決定してパケットを送信または中継する。
従って、この発明によれば、送信元と送信先との間で確立された経路上の無線装置において、パケットロスが抑制され、無線通信の安定性を向上できる。
なお、データ到達状況として[平均受信信号強度RSSI_AVEおよびパケットロス率PKT_LOSS]、[補正受信信号強度RSSI_modify]および[補正受信信号強度RSSI_modifyおよびパケットロス率PKT_LOSS]のいずれかが用いられる場合も、上述した方法によって、送信元と送信先との間の無線通信経路RT上の各無線装置は、無線通信経路RTの確立に連動してデータ到達状況を取得するとともに、各無線区間における送信レートを決定する。
その他は、実施の形態1と同じである。
上記においては、パケットサイズによる重み付けを行なって各無線区間における最大送信レートmaxRateを決定すると説明したが、この発明においては、これに限らず、アプリケーションの種類とデータ到達状況とに基づいて、各無線区間における最大送信レートmaxRateを決定するようにしてもよい。VoIPのように、リアルタイム性を要求されるアプリケーションの場合、パケットサイズは、160バイトであり、データ転送を行なうアプリケーションの場合、パケットサイズは、1500バイトである。従って、アプリケーションが決定されれば、パケットサイズが決定されるので、アプリケーションの種類とデータ到達状況とに基づいて、上述した方法によって、各無線区間における最大送信レートmaxRateを決定できる。
また、160バイトと500バイトとの間にパケットサイズの基準値を設け、パケットサイズが基準値以下である160バイトであるとき、相対的に低い基準送信レートを最大送信レートmaxRateと決定し、パケットサイズが基準値よりも大きい500バイト、1000バイトおよび1500バイトであるとき、相対的に高い基準送信レートを最大送信レートmaxRateと決定するようにしてもよい。
この発明においては、MACモジュール17および無線インターフェースモジュール16は、「送信手段」を構成し、データ到達状況(=平均受信信号強度RSSI_AVE)を受信するルーティングデーモン24は、「取得手段」を構成する。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
11,51〜63 アンテナ、12 入力部、13 出力部、14 ユーザアプリケーション、15,15A 通信制御部、16 無線インターフェースモジュール、17 MACモジュール、18 バッファ、19 LLCモジュール、20,20A IPモジュール、21,21A ルーティングテーブル、22 TCPモジュール、23 UDPモジュール、24 ルーティングデーモン、31〜43,31A 無線装置、100 無線ネットワーク、201,206 最大送信レート決定手段、202 関係テーブル、203,203A,207,207A トポロジーテーブル、204,208 送信レート決定手段、205 経路確立手段。