本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
図1は、この発明の実施の形態による無線通信システムの概略図である。無線通信システム100は、無線装置101〜116を備える。無線装置101〜116は、無線通信空間に配置され、自律的にネットワークを構成する。
無線装置114は、例えば、ゲートウエイ(GW:Gate Way)であり、有線130を介して有線ネットワークに接続されている。また、無線装置101〜113,115,116は、例えば、アクセスポイント(AP:Access Point)である。
無線通信システム100は、網目状に配置されたループ状通信経路LP1〜LP4を有する。ループ状通信経路LP1〜LP4の各々は、略正六角形の形状を有する。無線装置101〜106は、ループ状通信経路LP1の各頂点に配置され、無線装置101,106〜110は、ループ状通信経路LP2の各頂点に配置される。また、無線装置101,102,110〜113は、ループ状通信経路LP3の各頂点に配置され、無線装置109〜111,114〜116は、ループ状通信経路LP4の各頂点に配置される。
無線装置117〜119は、無線装置105にアクセスし、無線装置105と無線通信を行なう。また、無線装置120〜122は、無線装置116にアクセスし、無線装置116と無線通信を行なう。
そして、無線装置114から無線装置101へデータを送信する場合、無線装置111,110は、無線装置114からのデータを中継して無線装置101へ届ける。
この場合、無線装置114,111,110,101が同じチャネル(=周波数)を用いれば、無線装置114,111,110,101は、同時に無線通信を行なうことができないため、無線通信のスループットが低下する。
従って、無線通信のスループットを向上させるために、無線装置114,111,110,101が異なるチャネル(=周波数)で無線通信を行なうことが好ましい。
そこで、以下においては、無線装置101〜116が使用するチャネルを各無線装置101〜116に割当てる方法について説明する。
なお、この発明においては、無線通信のプロトコルとしてOLSRを用いた。
[実施の形態1]
図2は、図1に示す無線装置101の実施の形態1における構成を示す概略ブロック図である。無線装置101は、アンテナ11と、入力部12と、表示部13と、電子メールアプリケーション14と、通信制御部15とを含む。
アンテナ11は、全方位性のアンテナであり、無線通信空間を介して他の無線装置からデータを受信し、その受信したデータを通信制御部15へ出力するとともに、通信制御部15からのデータを無線通信空間を介して他の無線装置へ送信する。
入力部12は、無線装置101の操作者が入力したメッセージおよびデータの宛先を受付け、その受付けたメッセージおよび宛先を電子メールアプリケーション14へ出力する。表示部13は、電子メールアプリケーション14からの制御に従ってメッセージを表示する。
電子メールアプリケーション14は、入力部12からのメッセージおよび宛先に基づいてデータを生成して通信制御部15へ出力する。
通信制御部15は、ARPA(Advanced Research Projects Agency)インターネット階層構造に従って、通信制御を行なう複数のモジュールからなる。即ち、通信制御部15は、無線インターフェースモジュール16と、MACモジュール17と、LLC(Logical Link Control)モジュール18と、IP(Internet Protocol)モジュール19と、ルーティングテーブル20と、TCPモジュール21と、UDPモジュール22と、SMTP(Simple Mail Transfer Protocol)モジュール23と、ルーティングデーモン24とからなる。
無線インターフェースモジュール16は、物理層に属し、所定の規定に従って送信信号または受信信号の変復調を行なうとともに、それぞれ異なるチャネル(=周波数)を用いて信号の送信と受信とを行なう。
即ち、無線インターフェースモジュール16は、それぞれ異なるチャネルを有するインターフェースIF0,IF1を備え、インターフェースIF0,IF1のいずれか一方を介して信号の送信を行ない、インターフェースIF0,IF1のいずれか他方を介して信号の受信を行なう。
この場合、無線インターフェースモジュール16は、IPモジュール19からの制御によってインターフェースIF0,IF1の選択を行なう。
MACモジュール17は、MAC層に属し、MACプロトコルを実行して、以下に述べる各種の機能を実行する。
即ち、MACモジュール17は、無線通信システム100における経路情報を他の無線装置へ送信するとき、隣接する無線装置に関する情報等の各種のメッセージを含むパケットPKTを作成し、無線インターフェースモジュール16を介してブロードキャストする。
また、MACモジュール17は、データ(パケット)の再送制御等を行なう。そして、MACモジュール17は、データ(パケット)の再送回数が所定値を超えるとリンクが切断されたことを検知し、リンクが切断されたことをルーティングデーモン24に通知する。
LLCモジュール18は、データリンク層に属し、LLCプロトコルを実行して隣接する無線装置との間でリンクの接続および解放を行なう。
IPモジュール19は、インターネット層に属し、IPパケットを生成する。IPパケットは、IPヘッダと、上位のプロトコルのパケットを格納するためのIPデータ部とからなる。そして、IPモジュール19は、TCPモジュール21からデータを受けると、その受けたデータをIPデータ部に格納してIPパケットを生成する。そうすると、IPモジュール19は、テーブル駆動型のルーティングプロトコルであるOLSRプロトコルに従ってルーティングテーブル20を検索し、生成したIPパケットを送信するための経路が正常であるか否かを判定する。IPモジュール19は、データを送信するための経路が正常であるとき、生成したIPパケットをLLCモジュール18へ送信する。
IPモジュール19は、データを送信するための経路をルーティングテーブル20を参照して決定した場合、その決定した経路に対応するインターフェース(インターフェースIF0,IF1のいずれか)を検出し、その検出したインターフェース(インターフェースIF0,IF1のいずれか)を選択するための選択信号IFSL0,IFSL1を生成して無線インターフェースモジュール16へ送信する。なお、選択信号IFSL0は、インターフェースIF0を選択するための信号であり、選択信号IFSL1は、インターフェースIF1を選択するための信号である。
ルーティングテーブル20は、インターネット層に属し、後述するように、無線通信システム100における経路情報を格納する。ルーティングテーブル20の詳細については、後述する。
TCPモジュール21は、トランスポート層に属し、TCPパケットを生成する。TCPパケットは、TCPヘッダと、上位のプロトコルのデータを格納するためのTCPデータ部とからなる。そして、TCPモジュール21は、生成したTCPパケットをIPモジュール19へ送信する。
UDPモジュール22は、トランスポート層に属し、ルーティングデーモン24によって抽出された隣接する無線装置に関する情報等をメッセージに格納してパケットPKTを作成するために、その隣接する無線装置に関する情報等をMACモジュール17へ送信するとともに、他の無線装置からブロードキャストされたパケットPKTを受信してルーティングデーモン24へ出力する。
SMTPモジュール23は、プロセス/アプリケーション層に属し、電子メールアプリケーション14から受け取ったデータに基づいて、全二重通信チャネルの確保およびメッセージの交換等を行なう。
ルーティングデーモン24は、プロセス/アプリケーション層に属し、他の通信制御モジュールの実行状態を監視するとともに、他の通信制御モジュールからのリクエストを処理する。また、ルーティングデーモン24は、OLSRプロトコルに従って他の無線装置と経路情報を定期的に交換し合い、取得した経路情報に基づいて、後述する方法によって最適な経路を算出してインターネット層にルーティングテーブル20を動的に作成する。
なお、図1に示す無線装置102〜116の各々も、図2に示す無線装置101の構成と同じ構成からなる。
図3は、図2に示す無線インターフェースモジュール16の実施の形態1における構成を示す概略ブロック図である。無線インターフェースモジュール16は、インターフェースIF0,IF1を含む。
インターフェースIF0は、送受信部161と、チャネル部162と、バンドパスフィルタ(BPF:Band Pass Filter)163とからなる。送受信部161は、インターフェースIF0を選択するための選択信号IFSL0をIPモジュール19から受け、上位層であるMACモジュール17から各種のメッセージを含むパケットPKTを受ける。そして、送受信部161は、選択信号IFSL0をIPモジュール19から受けると、周波数f0でパケットPKTを変調し、その変調したパケットPKTをチャネル部162を介してBPF163へ出力する。
また、送受信部161は、チャネル部162を介して受けた信号を復調して上位層へ送信する。
チャネル部162は、チャネルCh0からなる。チャネルCh0は、周波数f0を有する信号を送受信部161とBPF163との間でやり取りする。
BPF163は、周波数f0を有する信号をアンテナ11とチャネル部162との間でやり取りする。
インターフェースIF1は、送受信部164と、チャネル部165と、BPF166とからなる。送受信部164は、選択信号IFSL1をIPモジュール19から受ける。そして、チャネル部165は、チャネル部162と同じ構成からなり、送受信部164およびBPF166は、それぞれ、インターフェースIF0の送受信部161およびBPF163と同じ機能を果たす。従って、インターフェースIF0の説明における選択信号IFSL0を選択信号IFSL1に読替えればよい。
図4は、IPヘッダの構成図である。IPヘッダは、バージョン、ヘッダ長、サービスタイプ、パケット長、識別番号、フラグ、フラグメントオフセット、生存時間、プロトコル、ヘッダチェックサム、送信元IPアドレス、送信先IPアドレス、およびオプションからなる。
図5は、TCPヘッダの構成図である。TCPヘッダは、送信元ポート番号、送信先ポート番号、シーケンス番号、確認応答(ACK)番号、データオフセット、予約、フラグ、ウィンドサイズ、ヘッダチェックサムおよびアージェントポインタからなる。
送信元ポート番号は、送信元の無線装置で複数のアプリケーションが動作しているときに、TCPパケットを出力したアプリケーションを特定する番号である。また、送信先ポート番号は、送信先の無線装置で複数のアプリケーションが動作しているときに、TCPパケットを届けるアプリケーションを特定する番号である。
TCP通信は、エンド・ツー・エンドのコネクション型通信プロトコルである。TCP通信のコネクション接続を要求する無線装置(以下、「TCP通信接続要求装置」という。)のTCPモジュール21は、コネクションの確立時に、TCPヘッダ内のCode BitにSYN(Synchronize Flag)を設定したコネクションの接続要求を示す第1パケットをTCP通信のコネクション接続を受理する端末(以下、「TCP通信接続受理装置」という。)のTCPモジュール21へ送信する。これを受けて、TCP通信接続受理装置のTCPモジュール21は、TCPヘッダ内のCode BitにSYNおよびACK(確認応答)を設定したコネクションの接続要求受理および接続完了を示す第2パケットをTCP通信接続要求装置のTCPモジュール21へ送信する。更に、これを受けて、TCP通信接続要求装置のTCPモジュール21は、TCPヘッダ内のCode BitをACK(確認応答)に設定したコネクションの接続完了を示す第3パケットをTCP通信接続受理装置のTCPモジュール21へ送信する。
コネクションの切断要求は、TCP通信要求装置およびTCP通信受理装置のいずれの側からでも行なうことができる。TCP通信のコネクション切断を要求する無線装置(以下、「TCP通信切断要求装置」という。)のTCPモジュール21は、コネクションの切断時に、TCPヘッダ内のCode BitをFIN(Finish Flag)に設定したコネクションの切断要求を示す第1パケットをTCP通信のコネクション切断を受理する無線装置(以下、「TCP通信切断受理装置」という。)へ送信する。これを受けて、TCP通信切断受理装置のTCPモジュール21は、TCPヘッダ内のCode BitをACK(確認応答)に設定したコネクションの切断要求受理を示す第2パケットと、TCPヘッダ内のCode BitをFINに設定したコネクションの切断完了を示す第3パケットをTCP通信切断要求装置のTCPモジュール21へ送信する。更に、これを受けて、TCP通信切断要求装置のTCPモジュール21は、TCPヘッダ内のCode BitをACK(確認応答)に設定したコネクションの切断完了を示す第4パケットをTCP通信切断受理装置のTCPモジュール21へ送信する。
図6は、図2に示すルーティングテーブル20の構成図である。ルーティングテーブル20は、宛先と、次ホップと、ホップ数と、インターフェースインデックス(Interface Index)とからなる。
宛先は、無線通信の送信先のIPアドレスを示す。次ホップは、各無線装置がパケットPKTを送信する隣りの無線装置のIPアドレスを示す。ホップ数は、宛先の無線装置までのリンクの数を示す。インターフェースインデックスは、宛先の無線装置までの無線通信に使用すべきインターフェースを示す。そして、実施の形態1においては、インターフェースインデックスには、IF0またはIF1が格納される。
図7は、OLSRプロトコルにおけるパケットPKTの構成図である。パケットPKTは、パケットヘッダPHDと、メッセージヘッダMHD1,MHD2,・・・とからなる。なお、パケットPKTは、UDPモジュール22のポート番号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プロトコルにおいては、各種のメッセージが図7に示す構成のパケットPKTを用いて送受信される。
無線装置101〜116は、ルーティングテーブル20を作成する場合、HelloメッセージおよびTC(Topology Control)メッセージを送受信する。
Helloメッセージは、各無線装置101〜116が有する情報の配信を目的として、定期的に送信される。このHelloメッセージを受信することによって、各無線装置101〜116は、周辺の無線装置に関する情報を収集でき、自己の周辺にどのような無線装置が存在するのかを認識する。
OLSRプロトコルにおいては、各無線装置101〜116は、ローカルリンク情報を管理する。そして、Helloメッセージは、このローカルリンク情報の構築および送信を行なうためのメッセージである。ローカルリンク情報は、「リンク集合」、「隣接無線装置集合」、「2ホップ隣接無線装置集合とそれらの無線装置へのリンク集合」、「MPR(Multipoint Relay)集合」、および「MPRセレクタ集合」を含む。
リンク集合は、直接的に電波が届く無線装置(隣接無線装置)の集合へのリンクのことであり、各リンクは2つの無線装置間のアドレスの組の有効時間によって表現される。なお、有効時間は、そのリンクが単方向なのか双方向なのかを表すためにも利用される。
隣接無線装置集合は、各隣接無線装置のアドレス、およびその無線装置の再送信の積極度(Willingness)等によって構成される。2ホップ隣接無線装置集合は、隣接無線装置に隣接する無線装置の集合を表す。
MPR集合は、MPRとして選択された無線装置の集合である。なお、MPRとは、各パケットPKTを無線通信システム100の全ての無線装置101〜116へ送信する場合、各無線装置101〜116が1つのパケットPKTを1回だけ送受信することによってパケットPKTを全ての無線装置101〜116へ送信できるように中継無線装置を選択することである。
MPRセレクタ集合は、自己をMPRとして選択した無線装置の集合を表す。
ローカルリンク情報が確立される過程は、概ね、次のようになる。Helloメッセージは、初期の段階では、各無線装置101〜116が自己の存在を知らせるために、自己のアドレスが入ったHelloメッセージを隣接する無線装置へ送信する。これを、無線装置101〜116の全てが行ない、各無線装置101〜116は、自己の周りにどのようなアドレスを持った無線装置が存在するのかを把握する。このようにして、リンク集合および隣接無線装置集合が構築される。
そして、構築されたローカルリンク情報は、再び、Helloメッセージによって定期的に送り続けられる。これを繰返すことによって、各リンクが双方向であるのか、隣接無線装置の先にどのような無線装置が存在するのかが徐々に明らかになって行く。各無線装置101〜116は、このように徐々に構築されたローカルリンク情報を蓄える。
更に、MPRに関する情報も、Helloメッセージによって定期的に送信され、各無線装置101〜116へ告知される。各無線装置101〜116は、自己が送信するパケットPKTの再送信を依頼する無線装置として、いくつかの無線装置をMPR集合として隣接無線装置の中から選択している。そして、このMPR集合に関する情報は、Helloメッセージによって隣接する無線装置へ送信されるので、このHelloメッセージを受信した無線装置は、自己がMPRとして選択してきた無線装置の集合を「MPRセレクタ集合」として管理する。このようにすることにより、各無線装置101〜116は、どの無線装置から受信したパケットPKTを再送信すればよいのかを即座に認識できる。
Helloメッセージの送受信により各無線装置101〜116において、ローカルリンク集合が構築されると、無線通信システム100全体のトポロジーを知らせるためのTCメッセージが無線装置101〜116へ送信される。このTCメッセージは、MPRとして選択されている全ての無線装置によって定期的に送信される。そして、TCメッセージは、各無線装置とMPRセレクタ集合との間のリンクを含んでいるため、無線通信システム100の全ての無線装置101〜116は、全てのMPR集合および全てのMPRセレクタ集合を知ることができ、全てのMPR集合および全てのMPRセレクタ集合に基づいて、無線通信システム100全体のトポロジーを知ることができる。各無線装置101〜116は、無線通信システム100全体のトポロジーを用いて最短路を計算し、それに基づいて経路表を作成する。
なお、各無線装置101〜116は、Helloメッセージとは別に、TCメッセージを頻繁に交換する。そして、TCメッセージの交換にも、MPRが利用される。
各無線装置101〜116のUDPモジュール22は、上述したHelloメッセージおよびTCメッセージを送受信し、ルーティングデーモン24は、UDPモジュール22が受信したHelloメッセージおよびTCメッセージに基づいて無線通信システム100全体のトポロジーを認識し、その無線通信システム100全体のトポロジーに基づいて、最短路を計算し、それに基づいて、図6に示すルーティングテーブル20を動的に作成する。
但し、この段階では、インターフェースインデックスの内容は空欄である。
次に、無線通信システム100におけるチャネル割当について説明する。図8および図9は、それぞれ、図1に示す無線通信システム100におけるチャネル割当の第1および第2の概念図である。また、図10は、図1に示す無線通信システム100におけるチャネル割当が終了した状態の概念図である。
無線通信システム100において各無線装置101〜116へのチャネル割当が行なわれる場合、有線ネットワークに接続された無線装置114(ゲートウエイ)からチャネル割当を開始する。
無線装置114は、ルーティングテーブル20Aを保持している。そして、ルーティングテーブル20Aにおいて、無線装置114がチャネル割当を開始する前、インターフェースインデックス(Interface Index)の欄は、空欄である。
即ち、無線装置114のルーティングデーモン24は、無線通信システム100全体のトポロジーに基づいて、宛先を無線装置111とし、次ホップを無線装置111とし、ホップ数を”1”とする経路情報と、宛先を無線装置115とし、次ホップを無線装置115とし、ホップ数を”1”とする経路情報とからなるルーティングテーブル20Aを作成する。そして、無線装置114のIPモジュール19は、2つのインターフェースIF0,IF1のうち、インターフェースIF1を無線装置111,115を宛先とする無線通信に使用するように決定し、ルーティングテーブル20Aの2つの経路情報に対応するインターフェースインデックスの欄に”1”を格納する。これにより、無線装置114から無線装置111への送信および無線装置114から無線装置115への送信にチャネルCh1が割当てられる。インターフェースIF1は、チャネルCh1で無線通信を行なうインターフェースであるからである。
そして、無線装置114のIPモジュール19は、チャネル割当(Channel Assign)=1と、シーケンス番号(CASF)=1とを含むメッセージHLMS1を生成し、その生成したメッセージHLMS1を含むパケットPKT=[HLMS1]を作成して無線インターフェースモジュール16へ送信する。
また、無線装置114のIPモジュール19は、選択信号IFSL1を生成して無線インターフェースモジュール16へ送信する。
そうすると、無線インターフェースモジュール16において、インターフェースIF1の送受信部164は、IPモジュール19からの選択信号IFSL1に応じて、上位層からのパケットPKT=[HLMS1]を周波数f1で変調し、チャネル部165を介してBPF166へ出力する。BPF166は、周波数f1によって変調されたパケットPKT=[HLMS1]をアンテナ11を介して無線装置111,115へ送信する。即ち、無線装置114は、パケットPKT=[HLMS1]を周波数f1で無線装置111,115へ送信する。
無線装置111は、無線装置114からパケットPKT=[HLMS1]を受信する。この場合、無線装置111の無線インターフェースモジュール16は、インターフェースIF1によってパケットPKT=[HLMS1]を受信する。インターフェースIF1は、周波数f1を有する信号のみを通過させるBPF166を有するからである。
無線装置111のルーティングデーモン24は、無線装置114からパケットPKT=[HLMS1]を受信すると、パケットPKT=[HLMS1]に含まれるチャネル割当=1を検出し、その検出したチャネル割当=1をIPモジュール19へ送信する。また、無線装置111のルーティングデーモン24は、宛先を無線装置110とし、次ホップを無線装置110とし、ホップ数を”1”とする経路情報と、宛先を無線装置112とし、次ホップを無線装置112とし、ホップ数を”1”とする経路情報とからなるルーティングテーブル20Bを作成する。
そして、無線装置111のIPモジュール19は、ルーティングデーモン24からのチャネル割当=1に応じて、無線装置111から無線装置110へのパケットの送信および無線装置111から無線装置112へのパケットの送信にチャネルCh1と異なるチャネルCh0を割当てる。
即ち、無線装置111のIPモジュール19は、無線装置111から無線装置110,112へのパケットの送信にインターフェースIF0を使用するように決定し、ルーティングテーブル20Bの2つの経路情報に対応するインターフェースインデックスの欄に”0”を格納する。なお、無線装置111のIPモジュール19は、無線装置111が無線装置114から周波数f1でパケットPKT=[HLMS1]を受信したので、無線装置111から無線装置114へのパケットの送信にインターフェースIF0を使用するように決定する。即ち、無線装置111のIPモジュール19は、無線装置111から無線装置110,112,114へのパケットの送信にチャネルCh0を割当てる。インターフェースIF0は、チャネルCh0で無線通信を行なうからである。
そして、無線装置111のIPモジュール19は、チャネル割当(Channel Assign)=0と、シーケンス番号(CASF)=1とを含むメッセージHLMS2を生成し、その生成したメッセージHLMS2を含むパケットPKT=[HLMS2]を作成して無線インターフェースモジュール16へ送信する。
また、無線装置111のIPモジュール19は、選択信号IFSL0を生成して無線インターフェースモジュール16へ送信する。
そうすると、無線装置111の無線インターフェースモジュール16において、インターフェースIF0の送受信部161は、IPモジュール19からの選択信号IFSL0に応じて、上位層からのパケットPKT=[HLMS2]を周波数f0で変調し、チャネル部162を介してBPF163へ出力する。BPF163は、周波数f0によって変調されたパケットPKT=[HLMS2]をアンテナ11を介して無線装置110,112へ送信する。即ち、無線装置111は、パケットPKT=[HLMS2]を周波数f0で無線装置110,112へ送信する。
無線装置115は、無線装置114からパケットPKT=[HLMS1]を受信する。この場合、無線装置115の無線インターフェースモジュール16は、インターフェースIF1によってパケットPKT=[HLMS1]を受信する。インターフェースIF1は、周波数f1を有する信号のみを通過させるBPF166を有するからである。
無線装置115のルーティングデーモン24は、無線装置114からパケットPKT=[HLMS1]を受信すると、パケットPKT=[HLMS1]に含まれるチャネル割当=1を検出し、その検出したチャネル割当=1をIPモジュール19へ送信する。また、無線装置115のルーティングデーモン24は、宛先を無線装置109とし、次ホップを無線装置116とし、ホップ数を”2”とする経路情報と、宛先を無線装置116とし、次ホップを無線装置116とし、ホップ数を”1”とする経路情報とからなるルーティングテーブル20Cを作成する。
そして、無線装置115のIPモジュール19は、ルーティングデーモン24からのチャネル割当=1に応じて、無線装置115から無線装置109,116へのパケットの送信にチャネルCh1と異なるチャネルCh0を割当てる。
即ち、無線装置115のIPモジュール19は、無線装置115から無線装置109,116へのパケットの送信にインターフェースIF0を使用するように決定し、ルーティングテーブル20Cの2つの経路情報に対応するインターフェースインデックスの欄に”0”を格納する。なお、無線装置115のIPモジュール19は、無線装置115が無線装置114から周波数f1でパケットPKT=[HLMS1]を受信したので、無線装置115から無線装置114へのパケットの送信にインターフェースIF0を使用するように決定する。即ち、無線装置115のIPモジュール19は、無線装置111から無線装置109,114,116へのパケットの送信にチャネルCh0を割当てる。インターフェースIF0は、チャネルCh0で無線通信を行なうからである。
そして、無線装置115のIPモジュール19は、チャネル割当(Channel Assign)=0と、シーケンス番号(CASF)=1とを含むメッセージHLMS3を生成し、その生成したメッセージHLMS3を含むパケットPKT=[HLMS3]を作成して無線インターフェースモジュール16へ送信する。
また、無線装置115のIPモジュール19は、選択信号IFSL0を生成して無線インターフェースモジュール16へ送信する。
そうすると、無線装置115の無線インターフェースモジュール16において、インターフェースIF0の送受信部161は、IPモジュール19からの選択信号IFSL0に応じて、上位層からのパケットPKT=[HLMS3]を周波数f0で変調し、チャネル部162を介してBPF163へ出力する。BPF163は、周波数f0によって変調されたパケットPKT=[HLMS3]をアンテナ11を介して無線装置116へ送信する。即ち、無線装置115は、パケットPKT=[HLMS3]を周波数f0で無線装置116へ送信する。
無線装置112は、無線装置111からのパケットPKT=[HLMS2]をインターフェースIF0(=周波数f0)で受信し、その受信したパケットPKT=[HLMS2]に基づいて、上述した方法と同じ方法によって、ルーティングテーブル20DおよびメッセージHLMS4を作成する。そして、無線装置112は、メッセージHLMS4を含むパケットPKT=[HLMS4]を作成して周波数f1で無線装置113へ送信する。
また、無線装置110は、無線装置111からのパケットPKT=[HLMS2]をインターフェースIF0(=周波数f0)で受信し、その受信したパケットPKT=[HLMS2]に基づいて、上述した方法と同じ方法によって、ルーティングテーブル20EおよびメッセージHLMS5を作成する。そして、無線装置110は、メッセージHLMS5を含むパケットPKT=[HLMS5]を作成して周波数f1で無線装置101へ送信する。
更に、無線装置116は、無線装置115からのパケットPKT=[HLMS3]をインターフェースIF0(=周波数f0)で受信し、その受信したパケットPKT=[HLMS3]に基づいて、上述した方法と同じ方法によって、ルーティングテーブル20FおよびメッセージHLMS6を作成する。そして、無線装置116は、メッセージHLMS6を含むパケットPKT=[HLMS6]を作成して周波数f1で無線装置109,115へ送信する。
以下、同様にして、無線装置109,101,113,108,102,106,107,103,105,104は、無線装置114側の無線装置からチャネル割当情報を含むメッセージを受信し、自己が送信用に使用するチャネルを割当てる。
その結果、図10に示すように、各無線装置101〜116は、送信用と受信用とにそれぞれ異なるチャネルCh0,Ch1(=周波数f0,f1)を割当てる。
これにより、各無線装置101〜116は、送信と受信とを同時に行なうことができる。例えば、無線装置114は、無線装置111へチャネルCh1(=周波数f1)で信号を送信しながら、無線装置111からチャネルCh0(=周波数f0)で信号を受信できる。
上述したように、無線装置114からチャネル割当を開始し、各無線装置101〜116が受信したチャネル情報によって指定されたチャネルと異なるチャネルを送信用のチャネルとして割当て、その割当てたチャネルを示すチャネル情報を隣接する無線装置へ、順次、送信することによって、各無線装置101〜116は、送信用と受信用とにそれぞれ異なるチャネルを割当てることができる。
各無線装置101〜116は、チャネル割当が終了すると、その割当てたチャネルを用いて受信先との間で無線通信を行なう。例えば、無線装置114は、無線装置101と無線通信を行なう場合、送信対象のメッセージを含むパケットPKTを作成してチャネルCh1(=周波数f1)で無線装置111へ送信し、無線装置111は、無線装置114からのパケットPKTをチャネルCh1(=周波数f1)で受信し、その受信したパケットPKTをチャネルCh0(=周波数f0)で無線装置110へ中継する。そして、無線装置110は、無線装置111からのパケットPKTをチャネルCh0(=周波数f0)で受信し、その受信したパケットPKTをチャネルCh1(=周波数f1)で無線装置101へ中継する。そうすると、無線装置101は、無線装置110からのパケットPKTをチャネルCh1(=周波数f1)で受信する。これにより、受信先である無線装置101は、送信元である無線装置114からパケットを受信する。
無線装置101は、無線装置114へ返信用のパケットを送信する場合、パケットPKTをチャネルCh0(=周波数f0)で無線装置110へ送信する。無線装置110は、無線装置101からのパケットPKTをチャネルCh0(=周波数f0)で受信し、その受信したパケットPKTをチャネルCh1(=周波数f1)で無線装置111へ中継する。そして、無線装置111は、無線装置110からのパケットPKTをチャネルCh1(=周波数f1)で受信し、その受信したパケットPKTをチャネルCh0(=周波数f0)で無線装置114へ中継する。そうすると、無線装置114は、無線装置111からのパケットPKTをチャネルCh0(=周波数f0)で受信する。これにより、送信元である無線装置114は、受信先である無線装置101からパケットPKTを受信する。
[実施の形態2]
図11は、実施の形態2における無線装置101〜116の構成を示す概略ブロック図である。実施の形態2においては、図1に示す無線装置101〜116の各々は、図11に示す無線装置101Aからなる。
無線装置101Aは、図2に示す無線装置101の通信制御部15を通信制御部15Aに代えたものであり、その他は、無線装置101と同じである。
通信制御部15Aは、図2に示す通信制御部15の無線インターフェースモジュール16、MACモジュール17、IPモジュール19およびルーティングテーブル20をそれぞれ無線インターフェースモジュール16A、MACモジュール17A、IPモジュール19Aおよびルーティングテーブル200に代えたものであり、その他は、通信制御部15と同じである。
無線インターフェースモジュール16Aは、各々が4つのチャネルを有する2つのインターフェースを有し、IPモジュール19Aによって指定されたインターフェースおよびMACモジュール17Aによって指定されたチャネルを用いて隣接する無線装置と無線通信を行なう。
MACモジュール17Aは、無線インターフェースモジュール16Aが使用するチャネルを後述する方法によって決定し、その決定したチャネルを選択するためのチャネル選択信号CHSL0,1を無線インターフェースモジュール16Aへ送信する。その他、MACモジュール17Aは、MACモジュール17と同じ機能を果たす。
IPモジュール19Aは、IPモジュール19と同じように、ルーティングテーブル200を参照して、パケットを送信する経路に対応するインターフェース(インターフェースIF0A,IF1Aのいずれか)を検出し、その検出したインターフェースを選択するための選択信号IFSL0,IFSL1を生成して無線インターフェースモジュール16Aへ送信する。
また、IPモジュール19Aは、無線インターフェースモジュール16Aが信号の送受信に用いる周波数fx,fyを決定し、その決定した周波数fx,fyを選択するための周波数選択信号FQSL0,FQSL1を生成して無線インターフェースモジュール16Aへ送信する。
更に、IPモジュール19Aは、無線装置101Aが信号を受信するとき、信号を通過させる周波数を変化させるための周波数切換信号FQEX0,FQEX1を生成して無線インターフェースモジュール16Aへ送信する。
IPモジュール19Aは、その他、IPモジュール19と同じ機能を果たす。
図12は、図11に示す無線インターフェースモジュール16Aの構成を示す概略ブロック図である。無線インターフェースモジュール16Aは、インターフェースIF0A,IF1Aを含む。
インターフェースIF0Aは、送受信部161Aと、チャネル部162Aと、BPF163Aとからなる。
送受信部161Aは、IPモジュール19Aから選択信号IFSL0および周波数選択信号FQSL0を受信する。そして、送受信部161Aは、選択信号IFSL0を受けると、周波数選択信号FQSL0によって指定された周波数fxによって、上位層から受信したパケットを変調し、その変調したパケットをチャネル部162Aへ出力する。また、送受信部161Aは、チャネル部162Aから受けたパケットを復調して上位層へ送信する。
チャネル部162Aは、チャネルCh0〜Ch3からなる。チャネルCh0〜Ch3は、それぞれ、周波数f0〜f3を有する信号を送受信部161AとBPF163Aとの間でやり取りする。
チャネル部162Aは、チャネル選択信号CHSL0をMACモジュール17Aから受信する。そして、チャネル部162Aは、チャネル選択信号CHSL0を受信すると、その受信したチャネル選択信号CHSL0によって指定されたチャネル(チャネルCh0〜Ch3のいずれか)を介して信号を送受信部161AとBPF163Aとの間でやり取りする。
BPF163Aは、信号を通過させる周波数を変化させるための周波数切換信号FQEX0と、周波数選択信号FQSL0とをIPモジュール19Aから受ける。そして、BPF163Aは、周波数切換信号FQEX0を受けると、周波数を周波数f0〜f3の範囲で変化させながらアンテナ11からの信号を受信し、その変化させた周波数と信号の周波数とが一致した場合、その一致した周波数と同じ周波数を有するチャネル(チャネルCh0〜Ch3のいずれか)を介してアンテナ11からの信号を送受信部161Aへ出力する。
また、BPF163Aは、周波数選択信号FQSL0をIPモジュール19Aから受けると、周波数選択信号FQSL0によって指定された周波数fxの信号をチャネル部162Aとアンテナ11との間でやり取りする。
インターフェースIF1Aは、送受信部164Aと、チャネル部165Aと、BPF166Aとからなる。送受信部164Aは、選択信号IFSL1および周波数選択信号FQSL1をIPモジュール19Aから受け、チャネル部165Aは、チャネル選択信号CHSL1をMACモジュール17Aから受け、BPF166Aは、周波数切換信号FQEX1および周波数選択信号FQSL1をIPモジュール19Aから受ける。そして、チャネル部165Aは、チャネル部162Aと同じ構成からなり、送受信部164AおよびBPF166Aは、それぞれ、インターフェースIF0Aの送受信部161AおよびBPF163Aと同じ機能を果たす。従って、インターフェースIF0Aの説明における周波数選択信号FQSL0、チャネル選択信号CHSL0および周波数切換信号FQEX0をそれぞれ周波数選択信号FQSL1、チャネル選択信号CHSL1および周波数切換信号FQEX1に読替えればよい。
図13は、図11に示すルーティングテーブル200の構成図である。ルーティングテーブル200は、テーブル21〜23からなる。テーブル21は、実施の形態1におけるルーティングテーブル20と同じである。即ち、ルーティングテーブル200は、実施の形態1におけるルーティングテーブル20にテーブル22,23を追加した構成からなる。
テーブル22は、無線インターフェースモジュール16AのインターフェースIF0Aに対応して設けられ、インターフェースIF0Aを示すインターフェースインデックス(interface index=0)と、チャネル番号(channel number)と、隣接する無線装置の数(neighbor number)と、隣接する無線装置(neighbor[0]〜neighbor[k]))(kは、正の整数)とからなる。
また、テーブル23は、無線インターフェースモジュール16AのインターフェースIF1Aに対応して設けられ、インターフェースIF1Aを示すインターフェースインデックス(interface index=1)と、チャネル番号(channel number)と、隣接する無線装置の数(neighbor number)と、隣接する無線装置(neighbor[0]〜neighbor[k])とからなる。
なお、neighbor[0]〜neighbor[k]の個数は、隣接する無線装置の数(neighbor number)に一致する。
このように、ルーティングテーブル200は、インターフェースIF0A,IF1A毎に、隣接する無線装置に関する情報を有する。
図1に示す無線装置101〜116が図11に示す無線装置101Aからなる場合、無線装置101〜116のルーティングデーモン24は、実施の形態1において説明したルーティングテーブル20に追加して図13に示すテーブル22,23を作成し、ルーティングテーブル200を作成する。
次に、図1に示す無線装置101〜116が図11に示す無線装置101Aからなる場合に、無線通信システム100におけるチャネル割当について説明する。
図14は、無線装置111,114,115が有するルーティングテーブル200の初期状態を示す概念図である。無線装置114は、初期状態において、ルーティングテーブル200Aを有する。ルーティングテーブル200Aは、テーブル21A,22A,23Aからなる。
テーブル21Aは、宛先(dst)を無線装置110とし、次ホップ(next)を無線装置111とし、ホップ数(hops)を”2”とし、インターフェースインデックス(ifindex)を”0”とする経路と、宛先(dst)を無線装置111とし、次ホップ(next)を無線装置111とし、ホップ数(hops)を”1”とし、インターフェースインデックス(ifindex)を”0”とする経路と、宛先(dst)を無線装置112とし、次ホップ(next)を無線装置111とし、ホップ数(hops)を”2”とし、インターフェースインデックス(ifindex)を”0”とする経路と、宛先(dst)を無線装置115とし、次ホップ(next)を無線装置115とし、ホップ数(hops)を”1”とし、インターフェースインデックス(ifindex)を”0”とする経路と、宛先(dst)を無線装置116とし、次ホップ(next)を無線装置115とし、ホップ数(hops)を”2”とし、インターフェースインデックス(ifindex)を”0”とする経路とからなる。
テーブル22Aは、インターフェースIF0Aを示すインターフェースインデックス(interface index)=0と、チャネル番号(channel number)=0と、隣接する無線装置の数(neighbor number)=2と、隣接する無線装置neighbor[0]=111,neighbor[0]=115とからなる。
また、テーブル23Aは、インターフェースIF1Aを示すインターフェースインデックス(interface index)=1と、チャネル番号(channel number)=1と、隣接する無線装置の数(neighbor number)=2と、隣接する無線装置neighbor[0]=111,neighbor[0]=115とからなる。
テーブル22A,23Aにおいて、隣接する無線装置の数が2”であるのは、2つの無線装置111,115が無線装置114に隣接しているからである。そして、インターフェースIF0Aを示すテーブル22AおよびインターフェースIF1Aを示すテーブル23Aの両方において、2つの隣接する無線装置neighbor[0]=111,neighbor[0]=115が格納されているのは、インターフェースIF0A,IF1Aの両方が無線装置114と無線装置111,115との間の無線通信に使用される可能性があるからである。
無線装置111は、ルーティングテーブル200B(テーブル21B,22B,23Bからなる)を保持し、無線装置115は、ルーティングテーブル200C(テーブル21C,22C,23Cからなる)を保持する。ルーティングテーブル200B,200Cは、ルーティングテーブル200Aと同じように作成され、ルーティングテーブル200Bは、無線装置111に隣接する3つの無線装置110,112,114を含み、ルーティングテーブル200Cは、無線装置115に隣接する2つの無線装置114,116を含む。
[無線装置114と無線装置111との間のチャネル割当]
まず、無線装置114と無線装置111との間のリンクへのチャネル割当について説明する。なお、実施の形態2においても、有線ネットワークに接続されている無線装置114がチャネル割当を開始する。
図15は、チャネル割当において隣接する無線装置間で送受信されるパケットの概念図である。無線装置114と無線装置111との間でチャネル割当の動作が開始されると、無線装置114のIPモジュール19Aは、インターフェースIF0Aを選択するための選択信号IFSL0と、周波数f0を選択するための周波数選択信号FQSL0とを生成して無線インターフェースモジュール16Aへ送信する。また、IPモジュール19Aは、送信先アドレス(DA)を”無線装置111”に設定し、送信元アドレスを”無線装置114”に設定し、タイプ(Type)を”Reserve”に設定したパケットPKT1を作成してMACモジュール17Aへ送信する。
MACモジュール17Aは、IPモジュール19AからパケットPKT1を受信すると、チャネルCh0〜Ch3の中からチャネルCh0を選択し、その選択したチャネルCh0をパケットPKT1の新チャネル(New channel)および旧チャネル(Old channel)に設定して無線インターフェースモジュール16Aへ送信する。この場合、パケットPKT1は、最初のチャネル割当において送信されるパケットであるので、MACモジュール17Aは、新チャネルおよび旧チャネルに同じチャネルC0を設定する。
また、MACモジュール17Aは、チャネルCh0を選択するためのチャネル選択信号CHSL0を生成して無線インターフェースモジュール16Aへ送信する。
無線インターフェースモジュール16Aにおいて、インターフェースIF0Aの送受信部161Aは、IPモジュール19Aから選択信号IFSL0および周波数選択信号FQSL0を受信し、MACモジュール17AからパケットPKT1を受信する。そして、送受信部161Aは、選択信号IFSL0に応じて、周波数選択信号FQSL0によって指定された周波数f0でパケットPKT1を変調し、その変調したパケットPKT1をチャネル部162Aへ送信する。
チャネル部162Aは、MACモジュール17Aからのチャネル選択信号CHSL0に応じて、チャネルCh0を選択し、その選択したチャネルCh0を介して送受信部161AからのパケットPKT1をBPF163Aへ送信する。
BPF163Aは、IPモジュール19Aからの周波数選択信号FQSL0に応じて、チャネル部162Aからの周波数f0を有するパケットPKT1を通過させ、アンテナ11を介して無線装置111へ送信する。
無線装置111において、IPモジュール19Aは、選択信号IFSL0および周波数切換信号FQEX0を生成して無線インターフェースモジュール16Aへ出力する。また、無線装置111のアンテナ11は、無線装置114からのパケットPKT1を受信し、その受信したパケットPKT1を無線インターフェースモジュール16Aへ送信する。
無線インターフェースモジュール16Aにおいて、インターフェースIF0AのBPF163Aは、周波数切換信号FQEX0に応じて、周波数を周波数f0〜f3の範囲で変化させ、パケットPKT1を周波数f0でチャネル部162Aへ通過させる。
チャネル部162Aは、BPF163AからのパケットPKT1をチャネルCh0を介して送受信部161Aへ出力する。送受信部161Aは、チャネル部162AからのパケットPKT1を復調して上位層へ送信する。
無線装置111のルーティングデーモン24は、パケットPKT1のタイプ(Type)が”Reserve”になっていることを検出し、無線装置114からチャネル割当の要求を受信したことを検知する。
そして、無線装置111のルーティングデーモン24は、無線装置114からチャネル割当の要求を受信したことをIPモジュール19Aへ通知する。無線装置111のIPモジュール19Aは、ルーティングデーモン24からの通知に応じて、無線装置114からのチャネル割当の要求を承諾し、送信先アドレス(DA)=“無線装置114”と、送信元アドレス(SA)=“無線装置111”と、タイプ(Type)=“Reserve−reply”と、承諾(Accept)とからなるパケットPKT2を作成して無線インターフェースモジュール16Aへ送信する。この場合、無線装置111のIPモジュール19Aは、無線装置111に隣接する無線装置110,112,114との間で3つのリンクを有するため、隣接する無線装置110,112への通知をすることなく自己のみで判断し、無線装置114からのチャネル割当要求を直ちに承諾する。
また、無線装置111のIPモジュール19Aは、インターフェースIF0Aを選択するための選択信号IFSL0と、周波数f0を選択するための周波数選択信号FQSL0とを生成して無線インターフェースモジュール16Aへ送信する。更に、無線装置111のMACモジュール17Aは、チャネルCh0を選択するためのチャネル選択信号CHSL0を生成して無線インターフェースモジュール16Aへ送信する。
無線装置111の無線インターフェースモジュール16Aにおいて、インターフェースIF0Aの送受信部161Aは、IPモジュール19Aから選択信号IFSL0、周波数選択信号FQSL0およびパケットPKT2を受信する。そして、送受信部161Aは、選択信号IFSL0に応じて、周波数選択信号FQSL0によって指定された周波数f0でパケットPKT2を変調し、その変調したパケットPKT2をチャネル部162Aへ送信する。
チャネル部162Aは、MACモジュール17Aからのチャネル選択信号CHSL0に応じて、チャネルCh0を選択し、その選択したチャネルCh0を介して送受信部161AからのパケットPKT2をBPF163Aへ送信する。
BPF163Aは、IPモジュール19Aからの周波数選択信号FQSL0に応じて、BPF162AからのパケットPKT2を周波数f0で通過させ、アンテナ11を介して無線装置114へ送信する。
図16は、チャネル割当におけるルーティングテーブルの状態を示す概念図である。
無線装置114のアンテナ11は、無線装置111からのパケットPKT2を受信し、その受信したパケットPKT2を無線インターフェースモジュール16Aへ送信する。
無線装置114の無線インターフェースモジュール16Aにおいて、インターフェースIF0AのBPF163Aは、パケットPKT2を周波数f0でチャネル部162Aへ通過させ、チャネル部162Aは、BPF163AからのパケットPKT2をチャネルCh0を介して送受信部161Aへ出力する。送受信部161Aは、チャネル部162AからのパケットPKT2を復調して上位層へ送信する。
無線装置114のルーティングデーモン24は、復調されたパケットPKT2を受信し、その受信したパケットPKT2の承諾(Accept)を検出し、チャネル割当の要求が無線装置111に承諾されたことを検知する。
そして、無線装置114のルーティングデーモン24は、チャネル割当の要求が無線装置111に承諾されたことをIPモジュール19AおよびMACモジュール17Aへ通知する。IPモジュール19Aは、ルーティングデーモン24からの通知に応じて、無線装置111との無線通信用のインターフェースとしてインターフェースIF0Aを固定し、MACモジュール17Aは、ルーティングデーモン24からの通知に応じて、インターフェースIF0AのためのチャネルとしてチャネルCh0を固定する。
そうすると、無線装置114のルーティングデーモン24は、IPモジュール19AがインターフェースIF0Aを固定し、MACモジュール17AがチャネルCh0を固定したことに応じて、ルーティングテーブル200Aにおいて、無線装置111を隣接無線装置とする経路用のインターフェースをインターフェースIF0Aに固定する。即ち、無線装置114のルーティングデーモン24は、ルーティングテーブル200Aにおいて、宛先(dst)を無線装置110,111,112とする3つの経路に対応するインターフェースインデックス(ifindex)を“0”に固定する(図16の(a)参照)。
また、無線装置111のルーティングデーモン24は、ルーティングテーブル200Bにおいて、無線装置114を隣接無線装置とする経路用のインターフェースをインターフェースIF0Aに固定する。即ち、無線装置111のルーティングデーモン24は、ルーティングテーブル200Bにおいて、宛先(dst)を無線装置114,115とする2つの経路に対応するインターフェースインデックス(ifindex)を“0”に固定する(図16の(b)参照)。
そして、無線装置111のルーティングデーモン24は、ルーティングテーブル200Bにおいて、インターフェースIF1Aの隣接無線装置を示すテーブル23Cからneighbor[2]=114を削除し、隣接する無線装置の数(neighbor number)を“3”から“2”に減少させる(図14の(c)および図16の(b)参照)。
なお、テーブル23Cからneighbor[2]=114を削除するのは、無線装置111と無線装置114との間の無線通信は、インターフェースIF0Aを用いて行なわれるため、無線装置111は、インターフェースIF1Aを用いて無線装置114と無線通信を行なうことが有り得ないためである。
[無線装置114と無線装置115との間のチャネル割当]
次に、無線装置114と無線装置115との間のリンクにチャネルを割当てる動作について説明する。
図17は、チャネル割当において隣接する無線装置間で送受信されるパケットの他の概念図である。無線装置114と無線装置115との間でチャネル割当の動作が開始されると、無線装置114のIPモジュール19Aは、インターフェースIF1Aを選択するための選択信号IFSL1と、周波数f2を選択するための周波数選択信号FQSL1とを生成して無線インターフェースモジュール16Aへ送信する。また、IPモジュール19Aは、送信先アドレス(DA)を”無線装置115”に設定し、送信元アドレスを”無線装置114”に設定し、タイプ(Type)を”Reserve”に設定したパケットPKT3を作成してMACモジュール17Aへ送信する。
無線装置114のMACモジュール17Aは、IPモジュール19AからパケットPKT3を受信すると、チャネルCh0〜Ch3の中から周波数f2に対応するチャネルCh2を選択し、その選択したチャネルCh2をパケットPKT3の新チャネル(New channel)に設定し、チャネルCh0を旧チャネル(Old channel)に設定して無線インターフェースモジュール16Aへ送信する。
また、無線装置114のMACモジュール17Aは、チャネルCh2を選択するためのチャネル選択信号CHSL1を生成して無線インターフェースモジュール16Aへ送信する。
無線装置114の無線インターフェースモジュール16Aにおいて、インターフェースIF1Aの送受信部164Aは、IPモジュール19Aから選択信号IFSL1および周波数選択信号FQSL1を受信し、MACモジュール17AからパケットPKT3を受信する。そして、送受信部164Aは、選択信号IFSL1に応じて、周波数選択信号FQSL1によって指定された周波数f2でパケットPKT3を変調し、その変調したパケットPKT3をチャネル部165Aへ送信する。
チャネル部165Aは、MACモジュール17Aからのチャネル選択信号CHSL1に応じて、チャネルCh2を選択し、その選択したチャネルCh2を介して送受信部164AからのパケットPKT3をBPF166Aへ送信する。
BPF166Aは、IPモジュール19Aからの周波数選択信号FQSL1に応じて、チャネル部165Aからの周波数f2を有するパケットPKT3を通過させ、アンテナ11を介して無線装置115へ送信する。
無線装置115において、IPモジュール19Aは、選択信号IFSL0および周波数切換信号FQEX0を生成して無線インターフェースモジュール16Aへ出力する。また、無線装置115のアンテナ11は、無線装置114からのパケットPKT3を受信し、その受信したパケットPKT3を無線インターフェースモジュール16Aへ送信する。
無線装置115の無線インターフェースモジュール16Aにおいて、インターフェースIF0AのBPF163Aは、周波数切換信号FQEX0に応じて、周波数を周波数f0〜f3の範囲で変化させ、パケットPKT3を周波数f2でチャネル部162Aへ通過させる。
チャネル部162Aは、BPF163AからのパケットPKT3をチャネルCh2を介して送受信部161Aへ出力する。送受信部161Aは、チャネル部162AからのパケットPKT3を周波数f2で復調して上位層へ送信する。
無線装置115のルーティングデーモン24は、パケットPKT3のタイプ(Type)が”Reserve”になっていることを検出し、無線装置114からチャネル割当の要求を受信したことを検知する。また、無線装置115のルーティングデーモン24は、パケットPKT3の新チャネル(New Channel)に“Ch2”が設定されていることを検出する。
そして、無線装置115のルーティングデーモン24は、無線装置114からチャネル割当の要求を受信したことをIPモジュール19Aへ通知し、新チャネル(New Channel)=“Ch2”をMACモジュール17Aへ通知する。
無線装置115のIPモジュール19Aは、ルーティングデーモン24からの通知に応じて、送信先アドレス(DA)に“無線装置116”を設定し、送信元アドレス(SA)に“無線装置115”を設定し、タイプ(Type)に“Notify”を設定したパケットPKT4を作成してMACモジュール17Aへ送信する。また、無線装置115のIPモジュール19Aは、インターフェースIF1Aを選択するための選択信号IFSL1と、周波数f1を選択するための周波数選択信号FQSL1とを生成して無線インターフェースモジュール16Aへ送信する。
無線装置115のMACモジュール17Aは、IPモジュール19AからのパケットPKT4の適応可能チャネル(Available Ch)に、ルーティングデーモン24から受信した新チャネル(New Channel)=“Ch2”と異なるチャネルCh1を設定してパケットPKT4を無線インターフェース16Aへ送信する。また、無線装置115のMACモジュール17Aは、チャネルCh1を選択するためのチャネル選択信号CHSL1を生成して無線インターフェース16Aへ送信する。
この場合、無線装置115は、自己が2つのリンクのみを有するため、一方の隣接する無線装置である無線装置114からのチャネル割当の要求に応じて、他方の隣接する無線装置である無線装置116との間のチャネルをチャネルCh1に設定することを無線装置116へ通知することにしたものである。
無線装置115の無線インターフェースモジュール16Aにおいて、インターフェースIF1Aの送受信部164Aは、IPモジュール19Aからの選択信号IFSL1に応じて、MACモジュール17AからのパケットPKT4を周波数選択信号FQSL1によって指定された周波数f1で変調してチャネル部165Aへ送信する。
チャネル部165Aは、IPモジュール19Aからのチャネル選択信号CHSL1に応じて、チャネルCh1を介して送受信部164AからのパケットPKT4をBPF166Aへ送信する。BPF166Aは、IPモジュール19Aからの周波数選択信号FQSL1に応じて、パケットPKT4を周波数f1で通過させ、アンテナ11を介して無線装置116へ送信する。
無線装置116のアンテナ11は、無線装置115からのパケットPKT4を受信して無線インターフェースモジュール16Aへ送信する。また、無線装置116のIPモジュール19Aは、周波数切換信号FQEX1を生成して無線インターフェースモジュール16Aへ送信する。
無線装置116の無線インターフェースモジュール16Aにおいて、インターフェースIF1AのBPF166Aは、IPモジュール19Aからの周波数切換信号FQEX1に応じて、周波数を周波数f0〜f3の間で変化させ、パケットPKT4を周波数f1でチャネル部165Aへ通過させる。
チャネル部165Aは、BPF166AからのパケットPKT4をチャネルCh1を介して送受信部164Aへ送信する。送受信部164Aは、パケットPKT4を復調して上位層へ送信する。
無線装置116のルーティングデーモン24は、パケットPKT4を無線インターフェースモジュール16Aから受信し、その受信したパケットPKT4のタイプ(Type)が”Notify”になっていることを検出し、無線装置115からチャネル割当の通知(Notify)を受信したことを検知する。また、無線装置116のルーティングデーモン24は、パケットPKT4の適用可能チャネル(Available Ch)=“Ch1”を検出する。
そして、無線装置116のルーティングデーモン24は、無線装置115からチャネル割当の通知を受信したことをIPモジュール19Aへ通知し、適用可能チャネル(Available Ch)=“Ch1”をMACモジュール17Aへ送信する。
無線装置116のIPモジュール19Aは、ルーティングデーモン24からの通知に応じて、無線装置115からのチャネル割当の通知を承諾し、送信先アドレス(DA)=“無線装置115”と、送信元アドレス(SA)=“無線装置116”と、タイプ(Type)=“Notify−reply”と、承諾(Accept)とからなるパケットPKT5を作成して無線インターフェースモジュール16Aへ送信する。
また、無線装置116のIPモジュール19Aは、インターフェースIF1Aを選択するための選択信号IFSL1と、周波数f1を選択するための周波数選択信号FQSL1とを生成して無線インターフェースモジュール16Aへ送信する。更に、無線装置116のMACモジュール17Aは、チャネルCh1を選択するためのチャネル選択信号CHSL1を生成して無線インターフェースモジュール16Aへ送信する。
無線装置116の無線インターフェースモジュール16Aにおいて、インターフェースIF1Aの送受信部164Aは、IPモジュール19Aから選択信号IFSL1、周波数選択信号FQSL1およびパケットPKT5を受信する。そして、送受信部164Aは、選択信号IFSL1に応じて、周波数選択信号FQSL1によって指定された周波数f1でパケットPKT5を変調し、その変調したパケットPKT5をチャネル部165Aへ送信する。
チャネル部165Aは、MACモジュール17Aからのチャネル選択信号CHSL1に応じて、チャネルCh1を選択し、その選択したチャネルCh1を介して送受信部164AからのパケットPKT5をBPF166Aへ送信する。
BPF166Aは、IPモジュール19Aからの周波数選択信号FQSL1に応じて、チャネル部165AからのパケットPKT5を周波数f1で通過させ、アンテナ11を介して無線装置115へ送信する。
無線装置115のアンテナ11は、無線装置116からのパケットPKT5を受信して無線インターフェースモジュール16Aへ送信する。無線装置116の無線インターフェースモジュール16Aにおいて、インターフェースIF1AのBPF166Aは、アンテナ11からのパケットPKT5を周波数f1でチャネル部165Aへ通過させる。
チャネル部165Aは、BPF166AからのパケットPKT5をチャネルCh1を介して送受信部164Aへ送信する。送受信部164Aは、パケットPKT5を復調して上位層へ送信する。
無線装置115のルーティングデーモン24は、パケットPKT5を無線インターフェースモジュール16Aから受信し、その受信したパケットPKT5の承諾(Accept)を検出し、無線装置116が無線装置115と無線装置116との間のリンクにチャネルCh1を割当てることを承諾した旨を検知する。そして、無線装置115のルーティングデーモン24は、無線装置116が無線装置115と無線装置116との間のリンクにチャネルCh1を割当てることを承諾した旨をIPモジュール19Aへ通知する。
そうすると、無線装置115のIPモジュール19Aは、ルーティングデーモン24からの通知に応じて、送信先アドレス(DA)に“無線装置114”を設定し、送信元アドレス(SA)に“無線装置115”を設定し、タイプ(Type)=“Reserve−reply”および承諾(Accept)を含むパケットPKT6を作成して無線インターフェースモジュール16Aへ送信する。
また、無線装置115のIPモジュール19Aは、インターフェースIF0Aを選択するための選択信号IFSL0と、周波数f2を選択するための周波数選択信号FQSL0とを生成して無線インターフェースモジュール16Aへ送信する。更に、MACモジュール17Aは、チャネルCh2を選択するためのチャネル選択信号CHSL0を生成して無線インターフェースモジュール16Aへ送信する。
無線装置115の無線インターフェースモジュール16Aにおいて、インターフェースIF0Aの送受信部164Aは、IPモジュール19Aから選択信号IFSL0、周波数選択信号FQSL0およびパケットPKT6を受信する。そして、送受信部161Aは、選択信号IFSL0に応じて、周波数選択信号FQSL0によって指定された周波数f2でパケットPKT6を変調し、その変調したパケットPKT6をチャネル部162Aへ送信する。
チャネル部162Aは、MACモジュール17Aからのチャネル選択信号CHSL1に応じて、チャネルCh2を選択し、その選択したチャネルCh2を介して送受信部161AからのパケットPKT6をBPF163Aへ送信する。
BPF163Aは、IPモジュール19Aからの周波数選択信号FQSL0に応じて、チャネル部162AからのパケットPKT6を周波数f2で通過させ、アンテナ11を介して無線装置114へ送信する。
図18は、チャネル割当におけるルーティングテーブルの状態を示す他の概念図である。
無線装置114のアンテナ11は、無線装置115からのパケットPKT6を受信し、その受信したパケットPKT6を無線インターフェースモジュール16Aへ送信する。
無線装置114の無線インターフェースモジュール16Aにおいて、インターフェースIF1AのBPF166Aは、パケットPKT6を周波数f2でチャネル部165Aへ通過させ、チャネル部165Aは、BPF166AからのパケットPKT6をチャネルCh2を介して送受信部164Aへ出力する。送受信部164Aは、チャネル部165AからのパケットPKT6を復調して上位層へ送信する。
無線装置114のルーティングデーモン24は、復調されたパケットPKT6を受信し、その受信したパケットPKT6の承諾(Accept)を検出し、チャネル割当の要求が無線装置115に承諾されたことを検知する。
そして、無線装置114のルーティングデーモン24は、チャネル割当の要求が無線装置115に承諾されたことをIPモジュール19AおよびMACモジュール17Aへ通知する。IPモジュール19Aは、ルーティングデーモン24からの通知に応じて、無線装置115との無線通信用のインターフェースとしてインターフェースIF1Aを設定し、MACモジュール17Aは、ルーティングデーモン24からの通知に応じて、インターフェースIF1AのためのチャネルとしてチャネルCh2を設定する。
そうすると、無線装置114のルーティングデーモン24は、IPモジュール19AがインターフェースIF1Aを設定し、MACモジュール17AがチャネルCh2を設定したことに応じて、ルーティングテーブル200Aにおいて、無線装置115を隣接無線装置とする経路用のインターフェースをインターフェースIF1Aに設定する。即ち、無線装置114のルーティングデーモン24は、ルーティングテーブル200Aにおいて、宛先(dst)を無線装置115,116とする2つの経路に対応するインターフェースインデックス(ifindex)を“1”に設定する(図18の(a)参照)。
そして、無線装置114のルーティングデーモン24は、ルーティングテーブル200Aにおいて、インターフェースIF0Aの隣接無線装置を示すテーブル22Aからneighbor[1]=115を削除し、隣接する無線装置の数(neighbor number)を“2”から“1”に減少させる。また、無線装置114のルーティングデーモン24は、ルーティングテー部200Aにおいて、インターフェースIF1Aの隣接無線装置を示すテーブル23Aからneighbor[0]=111を削除し、隣接する無線装置の数(neighbor number)を“2”から“1”に減少させる(図14の(a)および図18の(a)参照)。
一方、無線装置115のルーティングデーモン24は、ルーティングテーブル200Cにおいて、無線装置114を隣接無線装置とする経路用のインターフェースをインターフェースIF0Aに設定する。即ち、無線装置115のルーティングデーモン24は、ルーティングテーブル200Cにおいて、宛先(dst)を無線装置114とする経路に対応するインターフェースインデックス(ifindex)を“0”に設定し、宛先(dst)を無線装置116とする経路に対応するインターフェースインデックス(ifindex)を“1”に設定する(図18の(b)参照)。
そして、無線装置115のルーティングデーモン24は、ルーティングテーブル200Cにおいて、インターフェースIF0Aの隣接無線装置を示すテーブル22Cからneighbor[1]=116を削除し、隣接する無線装置の数(neighbor number)を“2”から“1”に減少させる。また、無線装置115のルーティングデーモン24は、ルーティングテーブル200Cにおいて、インターフェースIF1Aの隣接無線装置を示すテーブル23Cからneighbor[0]=114を削除し、隣接する無線装置の数(neighbor number)を“2”から“1”に減少させる(図14の(c)および図18の(b)参照)。
図19は、チャネル割当において隣接する無線装置間で送受信されるパケットの更に他の概念図である。
無線装置114のルーティングデーモン24は、無線装置114と無線装置111との間のリンクにチャネルCh0を割当て、無線装置114と無線装置115との間のリンクにチャネルCh2を割当てると、無線装置114に隣接する無線装置111,115との間のリンクへのチャネル割当が終了したことを示す通知をIPモジュール19Aへ送信する。
無線装置114のIPモジュール19Aは、ルーティングデーモン24からの通知に応じて、送信先アドレス(DA)に”無線装置111”を設定し、送信元アドレス(SA)に”無線装置114”を設定し、メッセージタイプ(Message Type)に”StartCA”を設定し、チャネル割当のシーケンス番号であるCASに”1”を設定したパケットPKT7を作成してMACモジュール17Aへ送信する。
また、無線装置114のIPモジュール19Aは、ルーティングデーモン24からの通知に応じて、送信先アドレス(DA)に”無線装置115”を設定し、送信元アドレス(SA)に”無線装置114”を設定し、メッセージタイプ(Message Type)に”StartCA”を設定し、チャネル割当のシーケンス番号であるCASに”1”を設定したパケットPKT8を作成してMACモジュール17Aへ送信する。
更に、IPモジュール19Aは、選択信号IFSL0および周波数選択信号FQSL0を生成して無線インターフェースモジュール16AのインターフェースIF0Aへ送信するとともに、選択信号IFSL1および周波数選択信号FQSL1を生成して無線インターフェースモジュール16AのインターフェースIF1Aへ送信する。
無線装置114のMACモジュール17Aは、IPモジュール19AからのパケットPKT7,8のチャネルCh0,Ch2に”1”を設定し、チャネルCh1,Ch3に”0”を設定する。そして、MACモジュール17Aは、パケットPKT7を無線インターフェースモジュール16AのインターフェースIF0Aへ送信し、パケットPKT8を無線インターフェースモジュール16AのインターフェースIF1Aへ送信する。また、MACモジュール17Aは、チャネルCh0を選択するためのチャネル選択信号CHSL0と、チャネルCh2を選択するためのチャネル選択信号CHSL1とを生成し、その生成したチャネル選択信号CHSL0,CHSL1をそれぞれ無線インターフェースモジュール16AのインターフェースIF0A,IF1Aへ送信する。
そうすると、無線装置114の無線インターフェースモジュール16Aにおいて、インターフェースIF0Aの送受信部161Aは、IPモジュール19Aからの選択信号IFSL0に応じて、MACモジュール17AからのパケットPKT7を周波数選択信号FQSL0によって指定された周波数f0で変調してチャネル部162Aへ送信する。
チャネル部162Aは、MACモジュール17Aからのチャネル選択信号CHSL0に応じて、送受信部161AからのパケットPKT7をチャネルCh0を介してBPF163Aへ送信する。BPF163Aは、IPモジュール19Aからの周波数選択信号FQSL0に応じて、チャネル部162AからのパケットPKT7を周波数f0で通過させ、アンテナ11を介してパケットPKT7を無線装置111へ送信する。
一方、無線装置114のインターフェースIF1Aの送受信部164Aは、IPモジュール19Aからの選択信号IFSL1に応じて、MACモジュール17AからのパケットPKT8を周波数選択信号FQSL1によって指定された周波数f2で変調してチャネル部165Aへ送信する。
チャネル部165Aは、MACモジュール17Aからのチャネル選択信号CHSL1に応じて、送受信部164AからのパケットPKT8をチャネルCh2を介してBPF166Aへ送信する。BPF166Aは、IPモジュール19Aからの周波数選択信号FQSL1に応じて、チャネル部165AからのパケットPKT8を周波数f2で通過させ、アンテナ11を介してパケットPKT8を無線装置115へ送信する。
図20は、チャネル割当におけるルーティングテーブルの状態を示す更に他の概念図である。無線装置114と無線装置111との間のリンクおよび無線装置114と無線装置115との間のリンクへのチャネル割当が終了した時点で、無線装置114,111,115は、それぞれ、図20に示すルーティングテーブル200A’,200B’,200C’を保持している。
無線装置111のアンテナ11は、無線装置114からパケットPKT7を受信して無線インターフェースモジュール16Aへ送信する。そして、無線装置111の無線インターフェースモジュール16Aにおいて、インターフェースIF0AのBPF163Aは、アンテナ11からのパケットPKT7を周波数f0で通過させ、パケットPKT7をチャネル部162Aへ送信する。チャネル部162Aは、BPF163AからのパケットPKT7をチャネルCh0を介して送受信部161Aへ送信する。
送受信部161Aは、チャネル部162AからのパケットPKT7を復調して上位層へ送信する。無線装置111のルーティングデーモン24は、インターフェースIF0AからのパケットPKT7を受信し、パケットPKT7のメッセージタイプ(Message Type)に設定されている”StartCA”を検出し、チャネル割当が開始されたことを検知する。
そして、無線装置111のルーティングデーモン24は、パケットPKT7をIPモジュール19AおよびMACモジュール17Aへ送信する。無線装置111のIPモジュール19Aは、パケットPKT7のメッセージタイプ(Message Type)=”StartCA”を検出し、ルーティングテーブル200Bを参照して無線装置111に隣接する無線装置110,112との間のリンクへのチャネル割当を開始する。
無線装置111のIPモジュール19Aは、3個の無線装置110,112,114が無線装置111に隣接し、無線装置111と無線装置114との間の無線通信にインターフェースIF0Aを使用しているので、無線装置110,112のうち、いずれか一方の無線装置との間の無線通信にインターフェースIF0Aを使用し、いずれか他方の無線装置との間の無線通信にインターフェースIF1Aを使用する。
例えば、無線装置111のIPモジュール19Aは、無線装置111と無線装置110との間の無線通信に、無線装置111と無線装置114との間の無線通信に使用するインターフェースIF0Aと同じインターフェースIF0Aを使用し、無線装置111と無線装置112との間の無線通信に、無線装置111と無線装置114との間の無線通信に使用するインターフェースIF0Aと異なるインターフェースIF1Aを使用する。
無線装置111は、隣接する無線装置110,112,114との間で3個のリンクを有するので、3個のリンクのうち、2個のリンクには、同じインターフェースIF0Aを割当て、残りのリンクには、インターフェースIF0Aと異なるインターフェースIF1Aを割当てる。
そして、無線装置111のIPモジュール19Aは、図15に示すパケットPKT1と同じパケット(チャネル割当を要求するパケット)を作成してMACモジュール17Aへ送信する。
無線装置111のMACモジュール17Aは、ルーティングデーモン24からのパケットPKT7を参照して、チャネルCh0,Ch2が既に割当てられていることを検知する。そして、無線装置111のMACモジュール17Aは、IPモジュール19Aが無線装置111と無線装置112との間の無線通信にインターフェースIF1Aを割当てたことに応じて、無線装置111と無線装置112との間のリンクにチャネルCh1を割当て、IPモジュール19AからのパケットにNew Channel=C1を格納して無線インターフェースモジュール16Aへ送信する。
その後、無線装置111は、無線装置114と同じ動作によって無線装置112との間でパケットPKT1,PKT2を交換し、無線装置112との間のリンクにチャネルCh1を割当てる。
そして、無線装置111は、無線装置112との間のリンクにチャネルCh1を割当てると、無線装置114と同じ動作によって無線装置110との間のリンクにチャネルCh0を割当てる。
一方、無線装置115は、無線装置114からパケットPKT8を受信し、パケットPKT8の受信に応じて、無線装置114と同じ動作によって無線装置116との間のリンクにチャネルを割当てる。
図21は、図1に示す無線通信システム100において割当てられたチャネルの状態図である。
無線装置101,102,106,109,110は、無線装置111と同じ動作によって隣接する無線装置との間のリンクにチャネルを割当て、無線装置103〜105,107,108,112,113,115,116は、無線装置114と同じ動作によって隣接する無線装置との間のリンクにチャネルを割当てる。
その結果、図21に示すように、2個のリンクを有する無線装置は、2個のリンクに同じチャネルを割当てるか、2個のリンクに異なるチャネルを割当てる。また、3個のリンクを有する無線装置は、3個のリンクのうち、2個のリンクに同じチャネルを割当て、残りのリンクに異なるチャネルを割当てる。
なお、図21において、S1,S2,・・・,S19は、リンクにチャネルを割当てる順序を示す。
その他は、実施の形態1と同じである。
実施の形態2においても、無線装置114からチャネル割当を開始し、割当てたチャネルを示すチャネル情報(パケットPKT7,8)を隣接する無線装置111,115へ送信する。そして、無線装置111,115は、無線装置114から受信したチャネル情報に基づいて、自己が隣接する無線装置との間のリンクにチャネルを割当て、その割当てたチャネルを示すチャネル情報を隣接する無線装置へ送信する。これを繰返すことによって、無線通信システム100において、無線装置101〜116にチャネルを割当てることができる。
上記においては、各無線装置101〜116が2個のインターフェースを有し、その2個のインターフェースの各々が4個のチャネル(4個の周波数)で無線通信を行なう場合について説明したが、この発明においては、これに限られず、各無線装置101〜116は、3個以上のインターフェースを有し、3個以上のインターフェースの各々が5個以上のチャネル(=5個以上の周波数)で無線通信を行なうものであってもよい。
また、上記においては、無線通信システム100は、正六角形のループ状通信経路が網目状に配置された構造を有すると説明したが、この発明においては、これに限らず、無線通信システム100は、四角形および正五角形等の四角形以上のp(pは4以上の整数)角形の形状を有するループ状通信経路が網目状に配置され、p角形の各頂点に無線装置が配置された構造からなっていてもよい。
更に、上記においては、無線通信システム100は、ループ状通信経路が網目状に配置された構造を有すると説明したが、この発明においては、これに限らず、無線通信システム100は、ループ状通信経路を有していなくてもよく、1つの上位の通信ノード(アクセスポイント)と複数の下位の通信ノードとがスター型に接続された構造を有するものであればよい。
更に、無線通信システム100においては、無線装置101〜116は、相互に無線通信を行なう(即ち、無線によって接続される)と説明したが、この発明においては、これに限らず、無線通信システム100は、無線装置101〜116の一部が有線によって相互に接続されていてもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
11 アンテナ、12 入力部、13 表示部、14 電子メールアプリケーション、15,15A 通信制御部、16,16A 無線インターフェースモジュール、17,17A MACモジュール、18 LLCモジュール、19,19A IPモジュール、20,20A,20B,20C,20D,20E,20F,200,200A,200B,200C,200A’,200B’,200C’ ルーティングテーブル、21 TCPモジュール、22 UDPモジュール、23 SMTPモジュール、24 ルーティングデーモン、100 無線通信システム、101〜122,101A 無線装置、161,161A,164,164A 送受信部、162,162A,165,165A チャネル部、163,163A,166,166A BPF、IF0,IF1,IF0A,IF1A インターフェース。