近年、複数の無線通信装置をメッシュ状に無線通信で接続する無線メッシュネットワークが注目を集めている。特に、センサネットワークあるいはホームネットワーク等の分野では、温度センサ、照度センサ、人感センサ、開閉センサ等のセンサ類および調光器、エアコン等の制御対象機器の各々に無線通信装置を備え、それらの無線通信装置を、無線メッシュネットワークを介して有機的に結合することにより新しいサービスを提供することが模索されている。
このような無線メッシュネットワークでは、点在する複数の無線通信装置をメッシュ状に結合することにより、特定の無線通信装置から他の特定の無線通信装置へ、直接には通信ができない場合にも、別の無線通信装置を介して通信を行うことが可能となる。この結果、小さな送信電力を用いて、広いエリアで通信を行うことができる。以下では、無線メッシュネットワークを構成する無線通信装置をノードと称する。
このような複数のノードを経由して、送り側のノードから受け側のノードまで情報を伝達する技術は、マルチホップ技術と称され、IETF(Internet Engineering Task Force)のMANET(Mobile ad hoc network) WGにおいて、複数の方式が提案されており、標準化に向けた検討が行われてきた。
その代表例としてAODV(Ad-hoc On-demand Distance Vector)方式がある。AODVを使用したプロトコルとしては、Zigbee(登録商標)が有名であり、これについては非特許文献1に記載されている。
AODV方式では、各ノードは、宛先ノード毎に決定された次の転送先ノードの情報である経路制御表(ルーティングテーブル)をノード内部のメモリに保持し、経路制御表に基づいてデータフレームを転送する。以下に、AODV方式におけるデータフレーム転送方法および経路発見プロセスついて説明する。
図27は、AODV方式の無線メッシュネットワークの構成を示す。この無線メッシュネットワークは、データフレームの送信起点となるノード制御用ノードCおよび制御対象ノードN1〜N4から構成される。ここでは、通信距離が短く、互いに通信が可能なノードの組み合わせを双方向の矢印で示し、一方、通信距離が大きく直接には通信ができないノードの組み合わせを双方向の矢印上に"×"を付して示している。
AODV方式においては、各ノードは、無線メッシュネットワークの任意ノード宛てのデータフレームの次ホップ先となるアドレスからなる経路情報を経路制御表の形で保持しており、この経路制御表に基づいて、受信した他ノード宛てのデータフレームを転送する。
図28に、無線メッシュネットワークの各ノードN1〜N4が保持する経路制御表の一例を示す。この経路制御表によると、次の転送先は、必ず両隣の隣接ノードのどちらか一方である。すなわち、この場合、各ノードは、両隣の隣接ノードとは通信可能であるが、それ以外のノードとは直接には通信できない。例えば、ノード制御用ノードCは、ノードN1,N2に対しては直接通信によりデータフレームを伝送できるが、ノードN3,N4に対しては、各々ノードN1またはノードN2を介してデータフレームを伝送することになる。
図29は、このときの伝送で使用するデータフレームのフレームフォーマットの一例を示す。ユニキャスト伝送では、送り側ノードアドレスと受け側ノードアドレスがデータフレームを伝送するために必要であり、ACK(到達確認)フレームを用いて再送制御を行う場合には再送フレームを識別するためにシーケンス番号が必要である。このフレームフォーマットは、2つのノード間の直接通信でデータフレームを伝送する場合でも、他ノードを経由して(以下、マルチホップ経路と称する)によりデータフレームを伝送する場合でも共通である。
ところで、一般的なAODV方式においては、経路制御表を生成した時点で通信可能であった経路は、その後も通信可能としている。しかし、電波伝搬路は、一般に、フェージング伝送路であり受信信号の電界強度は時間的に変動する。すなわち、フェージングの状況により、確率的に通信可能となっている場合もあり、ある時点において生成された経路制御表上では通信可能であっても実際には通信できないという場合も起こり得る。
図30aは、例えば、経路制御表に基づいてノード制御用ノードCからノードN3に対してデータフレームを送信したが、ノードN1とノードN3の間が直接通信できないために通信に失敗した場合を示している。なお、ここでは、探索フレームを用いて探索された経路に更新される前の経路制御表を示している。
この場合、ノード制御用ノードCからノードN3にデータフレームを送信しても、ノードN1とノードN3間が通信不能のため、ノードN3からのACKフレームがノード制御用ノードCに戻らない。このとき、一般に、ノード制御用ノードCは、再送を試みるが、それでもACKフレームが戻らない場合には、探索フレームを送信する。
図31は、このときに使用される探索フレームのフレームフォーマットを示す。探索フレームのフレームフォーマットには、送り側ノードアドレス、探索対象ノードアドレス、シーケンス番号が含まれ、さらに制御データ等を含ませることができる。探索フレームは、フラッディングを用いて伝送される。すなわち、探索フレームはブロードキャストで送信され、これを受信したノードは、さらにその探索フレームをブロードキャストするというプロセスが連鎖されていく。ただし、直前に受信した探索フレームと同一シーケンス番号の探索フレームはブロードキャストしないので、探索フレームがループを形成することはない。
各ノードは、受信した探索フレームをブロードキャストする際、その探索フレームの送信元のアドレスを記憶しておく。このようにすると、探索対象ノードが探索フレームを受信したときには、その中には、直前の中継ノードのアドレスが含まれている。そこで、探索対象ノードは、送り側ノードに対する応答フレームを直前の中継ノード宛てに送信する。直前の中継ノードは、さらに直前の中継ノードのアドレスを記憶しているので、順に、直前の中継ノードに応答フレームを転送することにより、最終的には、探索対象ノードからの応答フレームは、送り側ノードにまで届けられる。そして、この一連の過程を経て、送り側ノードから探索対象ノードまでの転送経路上にある全ての経路制御表の情報が新しい情報に更新されることになる。この更新後の経路制御表を図30bに示す。この新しい経路制御表では、ノードN1、ノードN3間の経路を通らない形での新しい経路が形成されている。
特許文献1および特許文献2には、AODV方式の改良に関する技術が提案されている。しかしながら、AODV方式は、各ノードを集中管理するノードが存在することがない「分散処理」を基本とし、各ノードにおいてデータフレームの転送を行うために、自ノードと通信が可能なる他のノードに関する情報等が必要となる。このような情報は、各ノード(無線装置)のメモリに保存する必要があり、このために必要なメモリ容量は、400B(バイト)〜3KB(キロバイト)程度である。組み込み用の小型CPU(中央演算装置)を無線装置の通信制御部に用いる場合、このメモリ容量の大きさは、大きな負担となり、無線装置の小型化を困難とする。また、ルーティング処理は複雑であり、ルーティング処理を行うCPUは処理能力の高いものが必要とされるので、CPUの価格や消費電力の面でも不利となる。
上記の点を解決するものとして、DSR(Dynamic Source Routing)方式がある。DSR方式では、送り側ノードから受け側ノードまでのルートを形成する複数のノードのアドレスの完全な順序付きリストを含むフレームが送信されており、各中継ノードは受信したデータフレームを順序付きリストに従って自ノードの次のノードに転送するだけでよい。DSR方式では、各中継ノードは、ネットワーク内のすべてのノードに関する経路制御表を必要としないため、これをメモリ内に保持する必要はなく、また複雑なルーティング処理を行う必要もない。この結果、外付けメモリが不要となり、また、安価なCPUを使用することができる。DSR方式を使用したプロトコルとしては、Z-Wave(登録商標)がその代表例として知られており、これについては特許文献3に記載されている。以下に、DSR方式におけるデータフレーム転送方法および経路発見プロセスついて説明する。
図32は、DSR方式の無線メッシュネットワークの構成を示す。この無線メッシュネットワークは、データフレームの送信起点となるノード制御用ノードCおよび制御対象ノードN1〜N4から構成される。ここでは、通信距離が短く、互いに通信が可能なノードの組み合わせを双方向の矢印で示し、一方、通信距離が大きく直接には通信ができないノードの組み合わせを双方向の矢印上に"×"を付して示している。
DSR方式においては、ノード制御用ノードCが、無線メッシュネットワーク全体の経路情報を経路制御表の形で保持しており、これに基づいてノード制御用ノードCは、受け側ノードまでの経路を指定した上でデータフレームを送信する。
図33に、この場合の経路制御表の一例を示す。この経路制御表によると、各ノードは両隣の隣接ノードとは通信可能であるが、それ以外のノードとは直接には通信できない。図34は、この場合に、ノード制御用ノードCから各ノードまでのマルチホップ経路の一例を示す。このマルチホップ経路は、ノード制御用ノードCの内部で計算される。ノード制御用ノードCは、ノードN1,N2に対しては直接通信によりデータフレームを伝送するが、ノードN3,N4に対してはそれぞれノードN1,N2を介してデータフレームを伝送する。
図35および図36は、このときの伝送で使用するデータフレームのフレームフォーマットの例を示す。図35は、ノード間の直接通信でデータフレームを伝送する場合に使用するデータフレームのフレームフォーマットであり、図36は、マルチホップ経路によりデータフレームを伝送する場合に使用する基本的なデータフレームのフレームフォーマットである。
直接通信におけるユニキャスト伝送では、送り側ノードアドレスと受け側ノードアドレスがデータフレームを伝送するために必要であり、ACK(到達確認)フレームを用いて再送制御を行う場合には再送フレームを識別するためにシーケンス番号が必要となる。一方、マルチホップ経路によりデータフレームを伝送する場合には、1つまたは複数の中継用ノードのアドレス情報もフレーム(データフレーム)内に含まれており、これを受信した中継用ノードは、次の中継用ノードあるいは受け側ノードにデータフレームを転送する。
ところで、一般的なDSR方式においては、経路制御表を生成した時点で通信可能であった経路は、その後も通信可能としている。しかし、電波伝搬路は、一般に、フェージング伝送路であり受信信号の電界強度は時間的に変動する。すなわち、フェージングの状況により、確率的に通信可能となっている場合もあり、ある時点で生成された経路制御表上では通信可能であっても実際には通信できないという場合も起こり得る。
図37は、例えば、経路制御表に基づいてノード制御用ノードCからノードN3に対して制御信号を送信したが、ノードN1とノードN3の間が直接通信できないために通信に失敗した場合を示している。
この場合、ノード制御用ノードCからノードN3にデータフレームを送信しても、ノードN1とノードN3間が通信不能のため、ノードN3からのACKフレームがノード制御用ノードCに戻らない。このとき、一般に、ノード制御用ノードCは、再送を試みるが、それでもACKフレームが戻らない場合には、探索フレームを送信する。
図38は、このときに使用される探索フレームのフレームフォーマットを示す。探索フレームのフレームフォーマットには、送り側ノードアドレス、探索対象ノードアドレス、シーケンス番号、制御データ等が含まれる。探索フレームは、フラッディングを用いて伝送される。すなわち、探索フレームはブロードキャストで送信され、これを受信したノードは、さらにその探索フレームをブロードキャストするというプロセスが連鎖されていく。ただし、直前に受信した探索フレームと同一シーケンス番号の探索フレームはブロードキャストしないので、探索フレームがループを形成することはない。
各ノードは、受信した探索フレームをブロードキャストする際、自ノードのアドレスを中継用ノードアドレスに加えていく。このようにすると、探索対象ノードが探索フレームを受信したときには、その中には、送り側ノードからの経路情報が全て含まれている。この経路情報を送り側ノードに対して探索対象ノードから送信することにより、送り側ノードは、新しい経路情報を取得することができる。
DSR方式においては、新規ノードのネットワークへの登録は、ノード制御用ノードCが行う。この際、ノード制御用ノードCは、無線メッシュネットワークの既存ノードのアドレスを新規ノードに通知し、新規ノードは、これらの既存ノードとの直接通信ができるかを確認し、さらにその結果をノード制御用ノードCに報告する。この結果、新規ノードを含む完全な経路制御表が作られることになる。
以下、図面を参照して本発明を説明する。図1は、本発明の無線メッシュネットワークシステムの実施形態を概念的に示す図である。本発明の無線メッシュネットワークシステムは、アドホックネットワークシステムであるので、以下では、アドホックネットワークシステムと称する場合がある。本実施形態のアドホックネットワークシステムは、3種類のノード、すなわち、ノード制御用ノードC、マルチキャスト用ノードMおよび制御対象ノードNから構成される。各ノードは無線通信装置で構成される。
ノード制御用ノードCは、複数のマルチキャスト用ノードMの各々を宛先として、制御対象ノードの指定および制御データを含むマルチキャスト生成用フレームをマルチキャストで送信する。マルチキャスト用ノードMは、マルチキャスト生成用フレームを受信すると、当該受信フレームにおける複数の宛先アドレスの中から自マルチキャスト用ノードのアドレスのみを削除したフレームを再度マルチキャストにて送信する。このフレームもマルチキャスト生成用フレームとなる。ループを防止するため、マルチキャスト生成用フレームはシーケンス番号を含み、マルチキャスト用ノードから送信されるマルチキャスト生成用フレームにもノード制御用ノードCからのマルチキャスト生成用フレームと同一のシーケンス番号を付与する。マルチキャスト用ノードは、既に転送済みのマルチキャスト生成用フレームと同一シーケンス番号のマルチキャスト生成用フレームを受信した場合には、このフレームを破棄する。また、マルチキャスト用ノードは、さらに、受信したマルチキャスト生成用フレームに基づき制御データを含むマルチキャストフレームを生成し、これをマルチキャスト生成用フレームで指定された制御対象ノードNに対してマルチキャストで送信する。制御対象ノードNは、マルチキャストフレームを受信し、そのマルチキャストフレームに含まれる制御データを解析し、それに基づくアプリケーション処理を行う。
また、図1に示された5つの円はノード制御用ノードCおよび4つのマルチキャスト用ノードMの各々を中心とする半径30mの円を表わしており、上記各ノードから送信されるマルチキャストフレームの概略到達範囲を示している。ただし、先に説明したように、実際にはフェージング変動に起因して上記の円内においても確率的に伝送エラーが発生する。
以下では、具体的には、照明(調光器)の調光制御の場合について説明するが、本発明は、その制御に限らず、種々のアプリ関連機器の制御に適用できる。
ノード制御用ノードCは、アドホックネットワークにおいて、例えば、照明の調光制御のように、多数のノードを短時間かつ高信頼で制御する際に、制御データの送信起点となるノードである。1つの例では、ノード制御用ノードCは、調光制御のための押ボタンスイッチの接点情報を入力とし、この接点情報の変化時に照明の調光制御データを生成する。また、別の例では、ノード制御用ノードCは、有線LANあるいは無線LAN等の、アドホックネットワークとは別のネットワークを介してアンドロイド端末等の表示用端末に接続されており、表示用端末からの調光制御情報に基づいて調光制御データを生成する。このようなノード制御用ノードCは、アドホックネットワーク内に1台だけ存在してもよいし、複数台存在してもよい。
ノード制御用ノードCにおいて生成された調光制御データを含むマルチキャスト生成用フレームは、アドホックネットワークを介して複数のマルチキャスト用ノードMにマルチキャストで伝送される。ノード制御用ノードCからマルチキャスト用ノードMまでのマルチキャスト生成用フレームの伝送は、マルチキャスト用ノード間でのフラッディングにより実現できる。すなわち、マルチキャスト生成用フレームを受信したマルチキャスト用ノードは、マルチキャスト生成用フレームを、1つまたは複数のマルチキャスト用ノードを宛先アドレスとしてマルチキャストで送信する。このマルチキャスト生成用フレームの転送(フラッディング)においては、自マルチキャスト用ノードのアドレスを宛先アドレスのリストから削除する。通常のフラッディングとは異なり、マルチキャスト生成用フレームのフラッディングはマルチキャスト用ノード間のみで行う。これは、すべてのノード間でフラッディングを行うと、一般に大きな遅延が発生するためである。マルチキャスト生成用フレームのマルチキャスト用ノードでの転送(フラッディング)の実現方法については後で詳述する。ソースルーティング型のアドホックネットワークの場合、ノード制御用ノードCは、すべてのマルチキャスト用ノードMを含むマルチキャスト用ルーティングテーブルを保持する。後で詳述するが、マルチキャスト生成用フレームにはシーケンス番号などのフレーム識別子を含めることができ、これにより、マルチキャスト用ノードがマルチキャスト生成用フレームを受信し得る機会を増やすために、自ノード(マルチキャスト用ノード)が受信したマルチキャスト生成用フレームを他ノード(マルチキャスト用ノード)に送信するようにしても、各マルチキャスト用ノードMは,重複して受信したマルチキャスト生成用フレームを識別して廃棄することができる。
マルチキャスト用ノードMは、ノード制御用ノードCあるいは他のマルチキャスト用ノードからマルチキャストで伝送されるマルチキャスト生成用フレームを受信し、これを他のマルチキャスト用ノードに転送すると、さらにそれを元にマルチキャストフレームを生成し、それを指定された制御対象ノードに調光用制御データをマルチキャストで伝送する。マルチキャスト用ノードMは、ノード制御用ノードCからの調光制御データを制御対象ノードに転送する中継用ノードとして機能する。また、マルチキャスト用ノードMにアプリ関連機器(調光器などの制御対象機器)を具備し制御対象ノードとしても機能することもできる。マルチキャスト用ノードMは、マルチキャスト伝送の信頼性を高めるために、アドホックネットワーク内に複数台、できれば少なくとも4台以上を備えることが望ましい。また、ノード制御対象ノードCが広域エリアに分布する場合には、さらに多くのマルチキャスト用ノードMをアドホックネットワーク内に備えることが望ましい。
図1のアドホックネットワークにおいては、予め定められた複数のマルチキャスト用ノードMから、調光制御データを含むマルチキャストフレームが、順次、マルチキャストで送信される。制御対象ノードは、複数のマルチキャスト用ノードMから送信される複数のマルチキャストフレームの中の1つ以上のマルチキャストフレームを正常に受信すれば、正しく制御される。マルチキャストフレームにフレーム識別子を含めることにより、制御対象ノードでは、重複して受信されたマルチキャストフレームを識別して廃棄することが可能となる。
なお、マルチキャストフレームは、マルチキャスト用ノードMからだけでなく、ノード制御用ノードCからも送信してもよい。また、マルチキャスト生成用フレームでは、マルチキャスト用ノードMを制御対象ノードとして指定することもでき、その場合、マルチキャスト用ノードMは、受信したマルチキャスト生成用フレームに含まれる制御対象ノードの指定を確認し、自ノードが指定されている場合は、マルチキャスト生成用フレームを転送し、さらにマルチキャストフレームを送信すると同時に、調光制御データに対応した処理を自ノードに対して実施する。
図2aは、ノード制御用ノードCから単にマルチキャストフレームを送信したときの、各ノードにおける伝送エラーの発生確率を示し、図2b〜図2eは、4つのマルチキャスト用ノードMの各々からマルチキャストフレームを送信したときの、各ノードにおける伝送エラーの発生確率を示す。なお、図2a〜図2eにおける円は、ノード制御ノードCあるいはマルチキャスト用ノードMからの通信距離が30mとなる円であり、平均伝送エラー率が1%以下のエリアを表している。この円は、各マルチキャストフレームの概略の受信可能エリアを表わすが、この円内においても確率的に伝送エラーは発生するし、この円外においても伝送エラーが発生しない場合もある。なお、ここでは、フェージング変動周期と比較して、十分に長い時間でエラー率を測定するものとしている。
図2aから、ノード制御用ノードCの近傍のノードでは10万回に1回程度、通信距離が30mのノードでは100回に1回程度の確率でエラーが発生し、これだけでは十分な信頼性が得られないことが分かる。図2(b)〜(e)の場合、エラー率が小さくなるノードの位置は互いに異なるが、図2(a)と同様の傾向が得られ、これだけでは十分な信頼性が得られないことが分かる。
図3は、ノード制御用ノードCおよび図2a〜図2eの4つのマルチキャスト用ノードMから、順次、マルチキャストフレームを送信し、その中の1つでも正常に受信されればエラーなしとした場合の伝送エラー率を示している。なお、図3におけるエラー率の計算では、5つのマルチキャスト伝送のエラー率は電波伝搬経路が異なるため、互いに独立であると仮定している。
図3から、この場合のエラー率は10−6未満であり、マルチキャスト伝送を用いているにもかかわらず、非常に高い信頼性が得られていることが分かる。以上のことから、本発明のアドホックネットワークシステムによれば、マルチキャスト伝送の信頼性を飛躍的に高めることができることが分かる。
図4は、ソースルーティング方式における制御用ノードCで用いられる制御用無線通信装置の実施形態を示すブロック図である。
図4に示すように、ノード制御用ノードCで用いられる制御用無線通信装置は、無線通信装置1、アプリケーション表示部およびGUI部2、データ記憶部3を備える。データ記憶部3は、ユニキャスト用経路制御表3-1および中継マルチキャスト用経路制御表3-2を格納する。また、アプリケーション表示部およびGUI部2のうちのアプリケーション表示部は、アプリケーション関連情報、例えば、調光制御の場合には、調光器の点灯状態、輝度情報、およびこれらを制御するための照度センサ、人感センサからの情報等を表示する。また、GUI部は、アプリケーション表示部の内容に応じて設定を変更するためのものであり、調光器の調光制御の例では、これにより調光器の点灯状態あるいは輝度の変更を行うことができる。
上記では、アプリケーション関連情報を表示し、それに基づいて設定変更を行うとしたが、実際には、無線通信装置1のアプリケーション処理部30にて、照度センサが暗くなったことを検出して調光器を点灯させたり、その輝度を増大させたり、あるいは人感センサにおいて不検出の状態が長時間継続した場合に調光器を消灯させたりといった、自動制御を行うようにすることもできる。なお、ノード制御ノードCと、アンドロイド端末等のアプリケーション表示部およびGUI部を備える端末を有線LANあるいは無線LAN等の無線メッシュネットワークとは別のネットワークを介して接続し、これらの端末から調光制御を行うことも可能であり、この場合には、無線通信装置1およびデータ記憶部3のみで制御用無線通信装置を構成することができる。
無線通信装置1は、無線送受信部10、通信制御部20、アプリケーション処理部30およびネットワーク処理部40を備える。無線送受信部10には、通信制御部20から送信データ系列が印加され、これに基づいて無線信号が生成されて、アンテナから送信される。一方、アンテナにおいて受信された無線信号は、無線送受信部10において復調され、受信データ系列が通信制御部20に出力される。
通信制御部20は、送信制御部21および受信制御部22を備える。送信制御部21は、ユニキャスト送信制御部21-1、マルチキャスト送信制御部21-2、フラッディング送信制御部21-3および中継マルチキャスト送信制御部21-4を備え、アプリケーション処理部30やネットワーク処理部40から送信要求があった場合、送信するデータフレームのタイプに応じて、いずれか1つの送信制御部を選択し、該送信制御部において送信データ系列を生成して、無線送受信部10に出力する。ここでは、特に、中継マルチキャスト送信制御部21-4を備えた点に特徴があり、多数のノード(無線通信装置)を短時間かつ高い信頼度で制御することが要求される場合に、中継マルチキャスト送信制御部21-4が選択される。
受信制御部22は、自ノード宛フレーム受信制御部22-1を備える。無線送受信部10から受信データ系列が受信制御部22に印加された場合、自ノード宛フレーム受信制御部22-1は、受信データ系列の宛先アドレスをチェックし、それが自ノードアドレスと一致する場合、それが自ノードアドレスを含むマルチキャストアドレスである場合、あるいはそれが自ノードを制御対象(受け側ノードアドレス)として含むマルチキャストアドレスである場合には、その受信データ系列が含む受信情報、具体的には、パラメータを含む関数、コマンド等を抽出し、その関数あるいはコマンドの種類に応じて受信データ系列をアプリケーション処理部30あるいはネットワーク処理部40へ出力する。
アプリケーション処理部30は、例えば、GUI部において設定データが変更された場合に、この設定データの変更を、無線メッシュネットワークを介して、例えば、調光器などのノードに伝達するための送信情報、具体的には、パラメータを含む関数、コマンド等を生成し、これを送信制御部21に出力する。また、アプリケーション処理部30は、受信制御部22から、照度情報、人感センサ情報等のアプリケーションに関連した関数、コマンド等が入力された場合、これをアプリケーション表示部に表示させる。
ネットワーク処理部40は、ユニキャスト送信時におけるACKフレームの受信状況を常時監視しており、ACKフレームが連続して受信できない場合には、当該経路は使用不能と判断し当該フレームの宛先ノードに対してフラッディングフレームを送信し、ユニキャスト用経路制御表3-1をアップデートする。フラッディングフレームに対しても応答が得られない場合には、当該ノードは存在しないと判断して、ユニキャスト用経路制御表3-1から削除してもよい。また、無線メッシュネットワークにおける新ノードの追加あるいは既存ノードの削除に関する情報は、無線メッシュネットワークを介してノード制御用ノードCに通知される。ノード制御用ノードCのネットワーク処理部40は、この情報を取得すると、ユニキャスト用経路制御表3-1を更新する。ここで更新されたユニキャスト用経路制御表3-1は、ユニキャスト送信制御部21-1で使用される。
なお、ユニキャスト用経路制御表3-1は、フェージング変動におけるある特定の高々数100ms程度の期間での通信状況に基づいて、ネットワーク処理部40において決定されて更新される。一方、中継マルチキャスト用経路制御表3-2は、フェージング変動を考慮した上で、ネットワーク構築時に作成されており、ネットワーク処理部40によって更新されない。中継マルチキャスト用経路制御表3-2は、中継マルチキャスト送信制御部21-4で使用される。中継マルチキャスト用経路制御表3-2の作成の手法については、後で詳述する。
図5は、送信制御部21において、印加された送信データのタイプに応じた送信制御部の選択動作の一例を示すフローチャートである。アプリケーション処理部30あるいはネットワーク処理部40で送信コマンドが生成され(S51)、送信データが探索フレームの場合には(S52)、フラッディング送信制御部21-3を選択する(S53)。上記以外で、送信データが多数のノードを短時間かつ高い信頼度で同時に制御するタイプである場合には(S54)、中継マルチキャスト送信制御部21-4を選択する(S55)。上記以外で、送信データがマルチキャストタイプである場合には(S56)、マルチキャスト送信制御部21-2を選択する(S57)。上記以外の場合には、ユニキャスト送信制御部21-1を選択する(S58)。
図6は、ソースルーティング方式におけるマルチキャスト用ノードで用いられるマルチキャスト無線通信装置の実施形態を示すブロック図である。
図6に示すように、マルチキャスト用ノードで用いられるマルチキャスト無線通信装置は、無線通信装置4、アプリ関連機器5およびデータ記憶部6を備える。ここで、データ記憶部6は、ユニキャスト用経路制御表6-1を格納する。なお、アプリ関連機器5は、マルチキャスト用ノードが制御対象ノードとしても機能する場合に備えるものであり、この機能を持たない場合には、マルチキャスト無線通信装置は、アプリ関連機器5なしで構成される。また、アプリ関連機器5が例えば調光器のような場合には、当該無線通信装置は自発的にデータフレームを送信せず、このような場合にはマルチキャスト無線通信装置をデータ記憶部6なしで構成することもできる。
アプリ関連機器5は、例えば、調光器であり、調光器の例では、無線通信装置4のアプリケーション処理部70からPWM(Pulse Width Modulation)信号が出力され、これにより照明の輝度が制御される。
無線通信装置4は、無線送受信部50、通信制御部60、アプリケーション処理部70およびネットワーク処理部80を備える。無線送受信部50には、通信制御部60から送信データ系列が印加され、これに基づいて無線信号が生成されて、アンテナから送信される。一方、アンテナにおいて受信された無線信号は、無線送受信部50において復調され、受信データ系列が通信制御部60に出力される。
通信制御部60は、送信制御部61および受信制御部62を備える。送信制御部61は、ユニキャスト送信制御部61-1、マルチキャスト送信制御部61-2、フラッディング送信制御部61-3および中継マルチキャスト送信制御部61-4を備え、受信制御部62は、マルチホップ転送制御部62-1、中継マルチキャスト転送制御部62-2、フラッディング転送制御部62-3および自ノード宛フレーム受信制御部62-4を備える。無線送受信部50から受信データ系列が受信制御部62に印加されると、それがフラッディングフレーム(探索フレーム)であれば、フラッディング転送制御部62-3は、送信制御部61のフラッディング送信制御部61-3と協働してフラッディング転送および送信制御を行う。自ノード宛フレーム受信制御部62-4は、受信データ系列の宛先アドレスをチェックし、それが自ノードアドレスと一致する場合、それが自ノードアドレスを含むマルチキャストアドレスである場合、あるいはそれが自ノードを制御対象として含むマルチキャストアドレスである場合には、その受信データ系列が含む受信情報、具体的には、パラメータを含む関数、コマンド等を抽出し、それをアプリケーション処理部70へ出力する。アプリケーション処理部70の出力によりアプリ関連機器5が制御される。例えば、調光器の場合、受信コマンドは調光制御コマンドであり、アプリケーション処理部70は、調光制御コマンドをPWM信号に変換してから調光器に出力する。このPWM信号により照明の輝度が制御される。
また、宛先アドレスが自ノードアドレスと完全に一致する場合には、さらに、受信データ系列がマルチホップ転送フレームか、中継マルチキャスト用フレーム(マルチキャスト生成用フレーム)かを確認し、この結果に従ってマルチホップ転送制御部62-1とユニキャスト送信制御部61-1、中継マルチキャスト転送制御部62-2と中継マルチキャスト送信制御部61-4とマルチキャスト送信制御部61-2の組み合わせにより各々マルチホップ転送および送信制御、中継マルチキャスト転送および送信制御を行う。ここでは、特に、中継マルチキャスト転送制御部62-2と中継マルチキャスト送信制御部61-4によるマルチキャスト生成用フレームのマルチキャスト用ノード間でのフラッディングおよび中継マルチキャスト転送制御部62-2とマルチキャスト送信制御部61-2によるマルチキャストフレームの転送制御に特徴があり、多数のノード(無線通信装置)を短時間かつ高い信頼度で制御することが要求される場合に、ノード制御用ノードは複数のマルチキャスト用ノードを宛先とするマルチキャスト生成用フレームをマルチキャストで送信するが、これを受信した場合に、中継マルチキャスト転送制御部62-2とマルチキャスト送信制御部61-2および中継マルチキャスト送信制御部61-4が使用されて、複数のマルチキャスト用ノードMから、各々他のマルチキャスト用ノード宛てのマルチキャスト生成用フレームと制御対象ノード宛てのマルチキャストフレームの両方がマルチキャストで送信される。
ネットワーク処理部80は、ユニキャスト送信時におけるACKフレームの受信状況を常時監視しており、ACKフレームが連続して受信できない場合には、当該フレームの宛先ノードに対してフラッディングフレーム(探索フレーム)を送信し、ユニキャスト用経路制御表6-1をアップデートする。フラッディングフレームに対しても応答が得られない場合には、当該ノードは存在しないと判断して、ユニキャスト用経路制御表6-1から削除してもよい。また、無線メッシュネットワークにおける新ノードの追加あるいは既存ノードの削除に関する情報は、無線メッシュネットワークを介してマルチキャスト用ノードに通知される。マルチキャスト用ノードのネットワーク処理部80は、この情報を取得すると、ユニキャスト用経路制御表6-1を更新する。ここで更新されたユニキャスト用経路制御表6-1は、ユニキャスト送信制御部61-1で使用される。ただし、先に述べたように、当該無線通信装置が例えば調光器のように自発的にデータフレームを送信しない場合には、データ記憶部6なしの構成とすることができる。ただし、この場合でも、マルチホップ転送制御においてユニキャスト送信が行われる。このようなユニキャスト送信においてACKフレームが連続して受信できない場合には、当該伝送路は通信不能と見なし、ネットワーク処理部80はマルチホップ伝送の送信元、例えばノード制御用ノードに対してマルチホップ伝送におけるエラー発生を通知する。これを受けて、マルチホップ伝送の送信元、例えばノード制御用ノードは、フラッディングフレームを送信する。
アプリケーション処理部70から送信要求が送信制御部61にあった場合、ユニキャスト送信制御部61-1は、送信データ系列を生成して無線送受信部50に出力する。一方、ネットワーク処理部80から送信要求が送信制御部61にあった場合には、それは探索フレームであるので、フラッディング送信制御部61-3において送信データ系列を生成して無線送受信部50に出力する。
一方、受信制御部62のマルチホップ転送制御部62-1からの転送データ系列は、ユニキャスト送信制御部61-1に印加され、ユニキャスト送信制御部61-1は、送信データ系列を生成して無線送受信部50に出力する。このユニキャスト送信においては、転送データ系列に含まれる1つまたは複数の中継ノードアドレスのリストの中で、自ノードアドレスの次となるアドレスを宛先アドレスとする。自ノードアドレスが中継ノードのアドレスリストの最後である場合には、最終的な伝送先のアドレスを宛先アドレスとする。また、フラッディング転送制御部62-3からの転送データ系列は、フラッディング送信制御部61-3に印加され、フラッディング送信制御部61-3は、送信データ系列を生成して無線送受信部50に出力する。さらに、中継マルチキャスト転送制御部62-2からの転送データ系列は、マルチキャスト送信制御部62-2に印加され、マルチキャスト送信制御部62-2は、送信データ系列を生成して無線送受信部50に出力する。ここでは、特に、送信制御部61にマルチキャスト送信制御部61-2を備え、中継マルチキャスト転送制御部62-2からの転送データ系列をマルチキャストで送信することに特徴がある。
アプリケーション処理部70は、受信データ系列における制御データを受信制御部62から受け、アプリ関連機器5を制御する。例えば、アプリケーション処理部70は、調光制御コマンドを受信制御部62から受け、これに対応したPWM信号を調光器5に出力し、照明の輝度を制御するように動作する。
ネットワーク処理部80は、ユニキャスト送信時におけるACKフレームの受信状況を常時監視しており、ACKフレームが連続して受信できない場合には、当該フレームの 宛先ノードに対してフラッディングフレームを送信し、ユニキャスト用経路制御表6-1をアップデートする。更新されたユニキャスト用経路制御表6-1は、ユニキャスト送信制御部61-1で使用される。
図7は、通信制御部60における、受信データ系列の宛先アドレス確認と転送制御の動作の一例を示すフローチャートである。
まず、受信データ系列が、探索フレームのフラッディング転送を指示しているかを判定する(S71)。S71でフラッディング転送と判定された場合には、フラッディング転送制御(S72)を行い、処理を終了する。それ以外の場合には、次に受信データ系列の宛先アドレスが自ノードのアドレスに完全に一致するかを判定する(S73)。ここでは、宛先アドレスがユニキャストアドレスであって、それが自ノードのアドレスと同じ場合は一致すると判定され、それ以外の場合は一致しないと判定される。S73で一致すると判定された場合には、自ノード宛フレーム受信制御部62-4において受信データ系列における制御データを解析し、これに対応する処理、例えば、調光制御を行い(S74)、さらに、S75に進む。S75では、受信データ系列が、マルチホップ転送を指示しているか(S75)を判定し、その指示に従ってマルチホップ転送制御(S76)を行う。
S73で一致しないと判定された場合には、マルチキャストアドレスに自ノードのアドレスが含まれているかを判定し(S77)、ここで含まれていないと判定された場合には処理を終了する。しかし、S77で含まれていると判定された場合には、さらに、自ノードが制御対象となっているかを判定し(S78)、ここで制御対象となっていると判定された場合は、S79で、自ノード宛フレーム受信制御部62-4において受信データ系列における制御データを解析し、これに対応する処理、例えば、調光制御を行ってからS80に進む。S78で、自ノードが制御対象となっていないと判定された場合にはそのままS80に進む。自ノードが制御対象となっているかどうかは、受信データ系列における受け側マルチキャストアドレスから判定できる。S80では、受信データ系列が中継マルチキャスト転送を指示しているかを判定し(S80)、その指示に従って中継マルチキャスト転送制御(S81)を行う。ここで、中継マルチキャスト転送制御には、マルチキャスト用ノード間でのマルチキャスト生成用フレームのフラッディングおよび調光制御データを含むマルチキャストフレームのマルチキャストでの送信の両方を含む。
図8は、ソースルーティング方式における制御対象ノードで用いられる制御対象無線通信装置の実施形態を示すブロック図である。
図8に示すように、制御対象ノードで用いられる制御対象無線通信装置は、無線通信装置7、アプリ関連機器8およびデータ記憶部9を備える。ここで、データ記憶部9は、ユニキャスト用経路制御表9-1を格納する。なお、アプリ関連機器8が例えば調光器のような場合には、当該無線通信装置は自発的にデータフレームを送信せず、このような場合にはマルチキャスト無線通信装置をデータ記憶部9なしで構成することもできる。
アプリ関連機器8は、例えば、調光器であり、調光器の例では、無線通信装置7のアプリケーション処理部110からPWM(Pulse Width Modulation)信号が出力され、これにより照明の輝度が制御される。
無線通信装置7は、無線送受信部90、通信制御部100、アプリケーション処理部110およびネットワーク処理部120を備える。無線送受信部90には、通信制御部100から送信データ系列が印加され、これに基づいて無線信号が生成されて、アンテナから送信される。一方、アンテナにおいて受信された無線信号は、無線送受信部100において復調され、受信データ系列が通信制御部100に出力される。
通信制御部100は、送信制御部101および受信制御部102を備える。受信制御部102は、マルチホップ転送制御部102-1、フラッディング転送制御部102-2および自ノード宛フレーム受信制御部102-3を備える。無線送受信部90から受信データ系列が受信制御部102に印加されると、それがフラッディングフレーム(探索フレーム)であれば、フラッディング転送制御部102-3は、送信制御部101のフラッディング送信制御部101-2と協働してフラッディング転送および送信制御を行う。自ノード宛フレーム受信制御部102-3は、受信データ系列の宛先アドレスをチェックし、それが自ノードアドレスと一致する場合、それが自ノードアドレスを含むマルチキャストアドレスである場合、あるいはそれが自ノードを制御対象として含むマルチキャストアドレスである場合には、その受信データ系列が含む受信情報、具体的には、パラメータを含む関数、コマンド等を抽出し、それをアプリケーション処理部110へ出力する。アプリケーション処理部110の出力によりアプリ関連機器5が制御される。例えば、調光器の場合、受信コマンドは調光制御コマンドであり、アプリケーション処理部110は、調光制御コマンドをPWM信号に変換してから調光器に出力する。このPWM信号により照明の輝度が制御される。
また、宛先アドレスが自ノードアドレスと一致する場合には、さらに、受信データ系列がマルチホップ転送フレームかを確認し、この結果に従ってマルチホップ転送制御部102-1とユニキャスト送信制御部101-1の組み合わせにより各々マルチホップ転送および送信制御を行う。
ネットワーク処理部120は、ユニキャスト送信時におけるACKフレームの受信状況を常時監視しており、ACKフレームが連続して受信できない場合には、当該フレームの宛先ノードに対してフラッディングフレーム(探索フレーム)を送信し、ユニキャスト用経路制御表9-1をアップデートする。フラッディングフレームに対しても応答が得られない場合には、当該ノードは存在しないと判断して、ユニキャスト用経路制御表9-1から削除してもよい。また、無線メッシュネットワークにおける新ノードの追加あるいは既存ノードの削除に関する情報は、無線メッシュネットワークを介して制御対象ノードに通知される。制御対象ノードNのネットワーク処理部120は、この情報を取得すると、ユニキャスト用経路制御表9-1を更新する。ここで更新されたユニキャスト用経路制御表9-1は、ユニキャスト送信制御部101-1で使用される。ただし、先に述べたように、当該無線通信装置が例えば調光器のように自発的にデータフレームを送信しない場合には、データ記憶部6なしの構成とすることができる。ただし、この場合でも、マルチホップ転送制御においてユニキャスト送信が行われる。このようなユニキャスト送信においてACKフレームが連続して受信できない場合には、当該伝送路は通信不能と見なし、ネットワーク処理部80はマルチホップ伝送の送信元、例えばノード制御用ノードに対してマルチホップ伝送におけるエラー発生を通知する。これを受けて、マルチホップ伝送の送信元、例えばノード制御用ノードは、フラッディングフレームを送信する。
アプリケーション処理部110から送信要求が送信制御部61にあった場合、ユニキャスト送信制御部101-1は、送信データ系列を生成して無線送受信部90に出力する。一方、ネットワーク処理部120から送信要求が送信制御部101にあった場合には、それは探索フレームであるので、フラッディング送信制御部101-2において送信データ系列を生成して無線送受信部50に出力する。
一方、受信制御部102のマルチホップ転送制御部102-1からの転送データ系列は、ユニキャスト送信制御部101-1に印加され、ユニキャスト送信制御部101-1は、送信データ系列を生成して無線送受信部90に出力する。また、フラッディング転送制御部102-2からの転送データ系列は、フラッディング送信制御部101-2に印加され、フラッディング送信制御部101-2は、送信データ系列を生成して無線送受信部90に出力する。このユニキャスト送信においては、転送データ系列に含まれる1つまたは複数の中継ノードアドレスのリストの中で、自ノードアドレスの次となるアドレスを宛先アドレスとする。自ノードアドレスが中継ノードのアドレスリストの最後である場合には、最終的な伝送先のアドレスを宛先アドレスとする。
アプリケーション処理部110は、受信データ系列における制御データを受信制御部102から受け、アプリ関連機器8を制御する。例えば、アプリケーション処理部110は、調光制御コマンドを受信制御部102から受け、これに対応したPWM信号を調光器5に出力し、照明の輝度を制御するように動作する。
ネットワーク処理部120は、ユニキャスト送信時におけるACKフレームの受信状況を常時監視しており、ACKフレームが連続して受信できない場合には、当該フレームの宛先ノードに対してフラッディングフレームを送信し、ユニキャスト用経路制御表9-1をアップデートする。更新されたユニキャスト用経路制御表9-1は、ユニキャスト送信制御部101-1で使用される。
以下では、図9、図10および図11a〜図11cを参照して、本発明の一実施形態における動作についてさらに詳細に説明する。
図9は、本発明の無線メッシュネットワークの一実施形態におけるノード制御用ノードC、マルチキャスト用ノードMおよび制御対象ノードNの空間配置を示している。本実施形態では、1台のノード制御用ノードC、4台のマルチキャスト用ノードM1〜M4および20台の制御対象ノードN1〜N20から無線メッシュネットワークが構成されている。
図10は、図9の無線メッシュネットワークにおける全てのノードを一斉制御、例えば、全てのノードの調光器を一斉点灯または一斉消灯させる場合の、時間tの経過に伴う無線上の動作シーケンスを示している。
最初に、ノード制御用ノードCは、マルチキャスト用ノードM1〜M4に対して、"一斉点灯"あるいは"一斉消灯"をマルチキャストで送信するように指示するデータフレーム(マルチキャスト生成用フレーム)Dをマルチキャストで送信する。ノード制御用ノードCからマルチキャスト用ノードM1〜M4へのマルチキャスト生成用フレームDの送信は、マルチキャスト用ノードを宛先とするマルチキャストで行われているので、マルチキャスト用ノードM1〜M4は、マルチキャスト生成用フレームDを正常に受信してもACKフレームAをノード制御用ノードCに送信しない。
各マルチキャスト用ノードM1〜M4は、マルチキャスト生成用フレームDを受信すると、それに含まれているマルチキャスト用ノードのアドレスのリストから自ノードのアドレスを削除したマルチキャスト生成用フレームDを生成し、それを他のマルチキャスト用ノードに対して送信する。これにより、各マルチキャスト用ノードM1〜M4は、最大で4回、同一のマルチキャスト生成用フレームDを受信することになる。しかし、後述するように、マルチキャスト生成用フレームDには、データフレーム識別用の識別子が含まれており、各マルチキャスト用ノードM1〜M4は、マルチキャスト生成用フレームDを一度正常に受信すれば、それと同一の識別子のマルチキャスト生成用フレームを受信しても破棄する。
マルチキャスト用ノードM1〜M4は、ノード制御用ノードCからのマルチキャスト生成用フレームDを受信すると、そこで送信するように指示されているマルチキャストフレームDを、制御対象ノードN1〜N20のアドレスを受け側ノードアドレスとしてマルチキャストで送信する。
受け側マルチキャストアドレスに対応する制御対象ノードで、マルチキャスト用ノードM1〜M4から送信されるマルチキャストフレームDが一度正常に受信されれば、そのマルチキャストフレームDの中の制御データによりアプリ関連機器が制御される。制御対象ノードでは、マルチキャスト用ノードM1〜M4が送信する自ノード宛のマルチキャストフレームDを一度正常に受信すれば、それと同一の識別子のマルチキャストフレームを受信しても破棄する。
以上のように、ノード制御用ノードCからマルチキャスト用ノードM1〜M4に対して、制御対象ノードNの指定および制御データを含むマルチキャスト生成用フレームをマルチキャストで送信し、マルチキャスト用ノードM1〜M4からマルチキャストフレームをマルチキャストで送信するという手法を採用することにより、短時間で信頼度の高い制御が実現できる。例えば、制御対象ノードNがデータフレームを正常に受信できない確率であるエラー率を大幅に低減させることができる(図3参照)。
図11aは、図10において、ノード制御用ノードCからマルチキャスト用ノードM1〜M4宛に送信されるマルチキャスト生成用フレームDのフレームフォーマットの一例を示す。なお、ここでは、伝送制御に必要な情報要素のみを列挙しており、誤り検出、誤り訂正等の無線伝送において一般的に使用される情報要素は省略している。また、ここに列挙された情報要素の順序は、任意である。
図11aに示すように、マルチキャスト生成用フレームDは、送り側ノードアドレス、マルチキャスト用ノードアドレス1〜K、受け側マルチキャストアドレス、シーケンス番号および制御データを含む。この場合、送り側ノードアドレスは、ノード制御用ノードCのアドレスであり、マルチキャスト用ノードアドレス1〜Kは、マルチキャスト用ノードM1〜M4のアドレスである。また、受け側マルチキャストアドレスは、マルチキャスト用ノードM1〜M4から"一斉点灯"あるいは"一斉消灯"をマルチキャストで送信する際の宛先アドレスである。受け側マルチキャストアドレスとして、20台の制御対象ノードN1〜N20の全てに対して割り振られたマルチキャストアドレスを使用することができ、予め規定されたブロードキャスト用のアドレスを使用することもできる。受け側マルチキャストアドレスに4台のマルチキャスト用ノードM1〜M4のアドレスが含まれるようにすれば、マルチキャスト用ノードM1〜M4を制御対象ノードとすることができる。
また、図11aのフレームフォーマットは、複数のデータフレーム(マルチキャストフレーム)を識別するためのシーケンス番号(一般的には、データフレーム識別用の識別子でよい。) を含む。マルチキャスト用ノードM1〜M4がマルチキャスト生成用フレームを受信し、これに基づいてマルチキャストフレームを送信する際には、マルチキャスト生成用フレームに含まれるシーケンス番号を、そのままシーケンス番号として使用する。これは、上述のように、マルチキャスト用ノードM1〜M4から同一マルチキャスト生成用フレームを送信するので、これを一度正常に受信したノードが、その後、同一シーケンス番号のマルチキャスト生成用フレームを受信した場合に、これを破棄できるようにするためである。
図11aのフレームフォーマットは、さらに、制御データを含む。この制御データは、受け側マルチキャストアドレスのノードに対してアプリ関連機器の制御を指示するコマンドである。例えば、調光器の"点灯"あるいは"消灯"の指示を行う。制御データには、さらに詳細な制御情報、例えば、輝度情報あるいは輝度を変更する際の変更に要する時間等の情報を含めることができる。
図11bは、図10において、ノード制御用ノードCからマルチキャスト用ノードM1〜M4宛に送信されるマルチキャスト生成用フレームDのフレームフォーマットの他の例を示す。図11aの例では、マルチキャストで送信する際の宛先アドレスを受け側マルチキャストアドレスにより指定しているが、図11bでは、マルチキャストで送信する際の宛先となる複数の受け側ノードを、複数の受け側ノードアドレス1〜Nを併記することにより指定する。
図11cは、図10において、ノード制御用ノードCからマルチキャスト用ノードM1〜M4宛に送信されるマルチキャスト生成用フレームDのフレームフォーマットの、さらに他の例を示す。図11cに示すように、マルチキャストで送信する際の宛先となる複数の受け側ノードを、受け側ノード指定ビットマップにより指定することもできる。
図12aは、図10において、マルチキャスト用ノードM1〜M4からマルチキャストで送信されるマルチキャストフレームDのフレームフォーマットの一例を示す。図12aに示すように、マルチキャストフレームDは、送り側ノードアドレス、受け側マルチキャストアドレス、シーケンス番号および制御データを含む。この場合、送り側ノードアドレスは、マルチキャスト用ノードM1〜M4のアドレスのいずれかであり、受け側マルチキャストアドレスは、マルチキャスト用ノードM1〜M4から"一斉点灯"あるいは"一斉消灯"をマルチキャストで送信する際の宛先アドレスである。受け側マルチキャストアドレスとして、4台のマルチキャスト用ノードM1〜M4および20台の制御対象ノードN1〜N20の全てに対して割り振られたマルチキャストアドレスを使用することができ、予め規定されたブロードキャスト用のアドレスを使用することもできる。
また、図12aのフレームフォーマットは、複数のデータフレームを識別するためのシーケンス番号(一般的には、データフレーム識別用の識別子でよい。) を含む。これは、上述のように、マルチキャスト用ノードM1〜M4から同一マルチキャストフレームを送信するので、これを一度正常に受信したノードが、その後、同一シーケンス番号のマルチキャストフレームを受信した場合に、これを破棄できるようにするためである。
図12aのフレームフォーマットは、さらに、制御データを含む。この制御データは、受け側マルチキャストアドレスのノードに対してアプリ関連機器の制御を指示するコマンドである。例えば、調光器の"点灯"あるいは"消灯"の指示を行う。制御データには、さらに詳細な制御情報、例えば、輝度情報あるいは輝度を変更する際の変更に要する時間等の情報を含めることができる。
図12bは、図10において、マルチキャスト用ノードM1〜M4からマルチキャストで送信されるマルチキャストフレームDのフレームフォーマットの他の例を示す。図12aの例では、マルチキャストで送信する際の宛先アドレスを受け側マルチキャストアドレスにより指定しているが、図12bでは、複数の受け側ノードアドレスを併記することにより宛先アドレスを指定する。
図12cは、図10において、マルチキャスト用ノードM1〜M4からマルチキャストで送信されるマルチキャストフレームDのフレームフォーマットの、さらに他の例を示す。図12cに示すように、マルチキャストで送信する際の宛先となる複数の受け側ノードを、受け側ノード指定ビットマップにより指定することもできる。
次に、中継マルチキャスト用経路制御表の一例とその作成手法について説明する。図13は、無線メッシュネットワークのノード配置の例を示し、図14は、この無線メッシュネットワークの場合に用いられる中継マルチキャスト用経路制御表の一例である。
図14に示されるように、中継マルチキャスト用経路制御表は、無線メッシュネットワークにおける各制御対象ノード(ノード制御用ノードとマルチキャスト用ノードを除いた残りのノード)N1〜N20に対して、マルチキャスト伝送を用いて高い信頼度で制御するために必要なマルチキャスト用ノードに"○"、それ以外のマルチキャスト用ノードに"×"を表記したものである。図14の例では、全ての制御対象ノードN1〜N20に対して4台のマルチキャスト用ノードM1〜M4を使用するものとしている。すなわち、マルチキャスト用ノードM1〜M4の各々は、全ての制御対象ノードN1〜N20のアドレスを受け側マルチキャストアドレスに指定して、マルチキャストフレームをマルチキャストで送信する。信頼性確保の点からは、各制御対象ノードに対するマルチキャスト用ノードの数を少なくとも4〜5台以上とするのが好ましい。この場合のように、マルチホップなしでマルチキャスト伝送が可能な狭いエリアで制御を行う場合には、例えば、3〜4台の複数のノードをマルチキャスト用ノードとし、全てのマルチキャスト用ノードを、宛先アドレスによらず任意のノードへのマルチキャスト伝送に使用してもよい。
図15は、エリア1〜4を含む広域なエリアにおいて9台のマルチキャスト用ノードM1〜M9を用いて40台の制御対象ノードN1〜N40の制御を行う場合の無線メッシュネットワークのノード配置を示す。なお、ここでは、ノード制御用ノードCは図示されていないが、ノード制御用ノードCは、いずれかのノードを介してマルチホップでマルチキャスト用ノードM1〜M9にマルチキャスト生成用フレームをマルチキャスト伝送できるように配置すればよい。
図16は、図15の無線メッシュネットワークの場合に用いられる中継マルチキャスト用経路制御表の一例である。本例の中継マルチキャスト用経路制御表は、制御対象ノードの各々に対して常に近傍の4台のマルチキャスト用ノードからマルチキャスト伝送を行うことを表している。この中継マルチキャスト用経路制御表に従って、エリア1の調光用ノード(制御対象ノード)N1〜N10に対してはマルチキャスト用ノードM1,M2,M4およびM5からマルチキャスト伝送を行い、エリア2の調光用ノードN11〜N20に対してはマルチキャスト用ノードM2,M3,M5およびM6からマルチキャスト伝送を行い、エリア3の調光用ノードN21〜N30に対してはマルチキャスト用ノードM4,M5,M7およびM8からマルチキャスト伝送を行い、エリア4の調光用ノードN31〜N40に対してはマルチキャスト用ノードM5,M6,M8およびM9からマルチキャスト伝送を行う。
例えば、エリア1の調光用ノードN1〜N10のみの一斉制御(一斉点灯あるいは一斉消灯)を行う場合、図16の中継マルチキャスト用経路制御表を参照して、エリア1に対応する4台のマルチキャスト用ノードM1,M2,M4およびM5からマルチキャスト伝送を各々行えばよい。また、エリア1とエリア2の両方の調光用ノードN1〜N10,N11〜N20の一斉制御を行う場合には、図16の中継マルチキャスト用経路制御表を参照して、エリア1とエリア2に対応する各4台、合計8台のマルチキャスト用ノードM1,M2,M4およびM5, M2,M3,M5およびM6の中の重複するマルチキャスト用ノードM2,M5の一方を削除し、残った合計6台のマルチキャスト用ノードM1,M2,M3,M4,M5およびM6からマルチキャスト伝送を各々行えばよい。また、エリア1〜4の調光用ノードN1〜N40の一斉制御を行う場合には、エリア1〜4に対応する各4台、合計16台のマルチキャスト用ノードM1〜M9の中で重複するマルチキャスト用ノードは1台とカウントし、結局合計9台のマルチキャスト用ノードM1〜M9からマルチキャスト伝送を各々行えばよい。
以上のように、上記実施形態によれば、制御対象ノードごとに、そのノード宛のデータフレームをマルチキャストで送信する際に使用する複数の、例えば4つのマルチキャスト用ノードが予め定められており、同一の制御データにより複数の制御対象ノードを制御する場合、制御用ノードから、複数の制御対象ノードの各々に対応したマルチキャスト用ノードの全てに対して、制御データをマルチキャストで送信することを指示する内容のデータフレームをマルチキャストで順次伝送し、さらに、上記のマルチキャスト用ノードのすべてから制御データをマルチキャストで伝送し、制御対象ノードの各々は、複数のマルチキャストフレームの中の1つ以上を正常に受信すればよいので、マルチキャストによる短時間での制御とサイトダイバーシチによる高い信頼性の両方を実現できる。
次に、中継マルチキャスト用経路制御表の作成手法について説明する。中継マルチキャスト用経路制御表は、以下のように予め作成されてノード制御用ノードCのデータ記憶部3(図4)に格納される。
一般に、無線メッシュネットワークにおける経路制御表は、フェージング変動の瞬時値に基づいて更新される。すなわち、フェージングの落ち込み等により既存の経路が通信不能となった場合、探索フレームを使用して、この時点で通信可能となる経路が新たに発見され、これに基づいて経路制御表が更新される。ただし、この新たに発見された経路も、そのときのフェージング変動の瞬時値において通信が可能であったに過ぎず、将来にわたって継続的に通信可能であることが保証される訳ではない。
本発明は、事前に用意された、例えば3〜4個の複数の無線伝送路における個々のフェージング変動に着目するものではなく、それらの無線伝送路により等価的にダイバーシチ伝送を行うことにより高い信頼性を実現するものである。すなわち、中継マルチキャスト用経路制御表は、個別の無線伝送路のフェージング変動の瞬時値に基づいて生成、更新されるものではなく、1つの高信頼のダイバーシチ伝送路を実現するために必要な無線伝送路の組み合わせを表したものである。
図17は、本発明の無線メッシュネットワークの一実施形態において、各マルチキャスト用ノードM1〜M4と調光用ノード(制御対象ノード)N1〜N20の間の無線伝送路が使用可能である確率をまとめたものである。ここで、無線伝送路が使用可能である確率は、伝送路のフェージング変動の瞬時値において測定した単なるエラー率ではなく、十分に長い時間をかけてフェージング変動の統計分布を取得して求めたものである。例えば、受信レベルが最小受信感度を下回る確率が1%のとき、この無線伝送路が使用可能である確率は99%としている。この無線伝送路が使用可能である確率は、当該伝送路がダイバーシチブランチとして機能する確率を表しており、ある特定の調光用ノードと4つのマルチキャスト用ノードM1〜M4との間の無線伝送路が使用可能である確率の総和(合計)は、複数のマルチキャスト伝送を用いたサイトダイバーシチのダイバーシチオーダを表している。図17によれば、各調光用ノードN1〜N20におけるダイバーシチオーダは3超である。一般的に、ダイバーシチオーダが2〜3程度であれば十分なダイバーシチ利得が得られるとされるので、ここでは十分に高い信頼性が得られることが分かる。
中継マルチキャスト用経路制御表は、上記事項を考慮して作成する。まず、最初に、無線メッシュネットワーク内のノードの中からノード制御用ノードを除いた全てのノードについて、任意の2つのノードの組み合わせでの無線伝送路が使用可能である確率を求める。ここで、任意の2つのノードの組み合わせにおいて、送信側ノードと受信側ノードを入れ替えた2通りの確率を求めるものとする。なお、無線伝送路が使用可能である確率を求める手法については、後で説明する。
図18は、この結果の一例を示す。図18において、"Am,n"は、ノードNmからノードNnにデータフレームを送信する場合における無線伝送路が使用可能である確率を表している。
次に、送信側ノードの中から複数ノードを選択し、これを仮のマルチキャスト用ノードとしたときの仮の中継マルチキャスト用経路制御表を作成する。これは、図18において、マルチキャスト用ノードとして選択したノード以外の列を全て削除することで得られる。
図19は、仮の中継マルチキャスト用経路制御表の一例を示す。ここでは、ノードN1,N3,N18,N20を仮のマルチキャスト用ノードとして選択した場合の一例を示している。
次に、図19において、図17と同様に、受信側ノードN1〜N20毎に、選択したマルチキャスト用ノードN1,N3,N18,N20との間の無線伝送路が使用可能である確率の総和を求める。この総和が良好な値、例えば3以上であれば、仮に選択したノードN1,N3,N18,N20を正式にマルチキャスト用ノードとして決定することができる。もし、確率の総和が十分に大きくない、例えば2以下の受信側ノードが存在する場合には、さらにマルチキャスト用ノードを追加してから、再度、無線伝送路が使用可能である確率の総和を求め、その総和が任意の受信側ノードに対して良好な値となっていることを確認すればよい。
異なるノードをマルチキャスト用ノードとすれば、さらに良好な結果が得られる可能性があるので、前とは異なるノードをマルチキャスト用ノードとして選択して確率の総和を求め、先の結果と比較して良好な方をマルチキャスト用ノードとして決定してもよい。あるいは3台もしくは4台のノードの組み合わせの全てに対して、無線伝送路が使用可能である確率の総和を各々求め、例えば、各組み合わせにおける確率の総和の最小値を相互に比較し、その最小値が最大となる組み合わせを最終的なマルチキャスト用ノードとして決定してもよい。
次に、任意の2つのノード、すなわち、送信側ノードおよび受信側ノードの間において無線伝送路が使用可能である確率を求める手法について説明する。
図20は、一般的な屋内電波伝播モデルである仲上-ライスフェージングにおける受信レベルとその累積確率分布との関係の一例を示す。この例の場合では、フェージングによる受信レベルの5dB低下の発生頻度は3%であり、10dB低下の発生頻度は0.1%となっている。このことは、送信電力を、例えば5dBあるいは10dB低下させた状態で、2つのノード間での無線伝送の品質、すなわち、エラー率を測定し、これがエラーフリーであれば、逆に、送信電力を低下させない通常の送信状態におけるエラーの発生頻度は、各々3%あるいは0.1%以下であることを意味する。ただし、ここでのエラーの発生頻度とは、フェージング変動の瞬時値において測定したデータフレームのエラー率ではなくて、フェージング変動と比較して十分に長い時間をかけて測定した場合に受信レベルが最小受信感度以下となる頻度のことである。
図21は、送信電力の低下量と、送信電力を低下させた状態で伝送エラーを評価し、これがエラーフリーであった場合の無線伝送路が使用可能である確率の下限値の関係を示す。
無線メッシュネットワーク内のノードの中からノード制御ノードを除いた全てのノードについて、任意の2つのノードの組み合わせでの伝送エラー率を、送信電力を低下させた状態で評価し、エラーフリーとなる限界における送信電力の低下分の値から、この2つのノードの組み合わせでの無線伝送路が使用可能である確率の下限値を求めることができる。
このように、送信電力を低下させた状態で、無線伝送のエラー率を測定し、エラーフリーの限界を実測することで、無線伝送路が使用可能である確率の下限を求めることができる。ただし、図21における無線伝送路が使用可能である確率の下限値は、屋内電波伝播モデルに大きく依存するので、事前に無線メッシュネットワークを設置する環境のフェージング特性、具体的には、仲上-ライス分布におけるライスファクタ等を評価しておく必要がある。
図22aは、ノード制御用ノードCから制御対象ノードN1,N5,N15,N20までの伝送で使用するマルチキャスト用ノードと、各経路でのエラー率とサイトダイバーシチ実施時のエラー率の関係を示している。なお、図22aでの制御用ノードと制御対象ノードの配置は、図13や図15と対応するものでなく、例えば、図示最上段は、制御用ノードCから制御対象ノードN1までの伝送でマルチキャスト用ノードN1,N5,N15を使用するとしている。C→N1、C→N5、N5→N1、C→N15、N15→N1の各経路でのエラー率をそれぞれ、P0,1、P0,5、P5,1、P0,15、P15,1とすると、C→N1(経路1)、C→N5→N1(経路2)、C→N15→N1(経路3)の各経路でのエラー率はそれぞれ、P0,1、P0,5+P5,1、P0,15+P15,1となり、経路1,2,3を用いたサイトダイバーシチ実施時のエラー率は、P0,1×(P0,5+P5,1)×(P0,15+P15,1)となる。
以上では、中継マルチキャスト用経路制御表の理論に基づく厳密な作成方法について説明した。しかし、実際には、上記で説明した内容を、無線メッシュネットワークの構築時に実施することは大変である。そこで、以下ではより簡易ではあるが有効な中継マルチキャスト用経路制御表の作成方法について説明する。
この簡易な中継マルチキャスト用経路制御表の作成方法においては、各マルチキャスト用ノードから送信電力を例えば10dB低下させた状態でデータフレームを送信し、これを、各制御対象ノードにおいて受信したときの伝送エラー率を求める。この測定は、フェージング変動の瞬時値でのエラー率の測定であり、例えば10〜100フレーム程度の無線伝送においてエラー率を求めてもよい。この伝送エラー率の測定において、ほぼエラーフリーとなる場合には、該制御対象ノードは該マルチキャスト用ノードを中継用ノードとして使用可能と見なす。
図21によると、送信電力を10dB低下させた状態で無線伝送を行ってエラーフリーとなった無線伝送路では、送信電力を低下させない状態で無線伝送を行うと99.9%以上の確率で通信可能である。ここで、ほぼエラーフリーと見なす基準としては、例えば1フレーム程度のフレームエラーを許容するものとしてもよい。具体的には、100フレームの伝送でエラー率の測定を行う場合には、99フレーム以上を正しく受信できた場合にエラーフリーと見なしてよい。これは、フェージング変動の瞬時値でのエラー率の測定においてはその結果は2極化し、エラーフリーとなるか、あるいは100%に近いエラー率となる場合が多く、これらを区別できればよいからである。このようにして作成した各マルチキャスト用ノードを各制御対象ノードが中継用ノードとして使用可能であるかを示す表の例を図22bに示す。
図22bにおいて"Bm,n"は、ノードNmからノードNnに送信電力を例えば10dB低下させた状態でデータフレームを送信する場合に略エラーフリーと見なせるかどうかを2値で表現したものであり、略エラーフリーと見なせる場合に"1"、そうでない場合に"0"とする。次に、図22bにおける送信側ノードの中から複数ノードを選択し、これを仮のマルチキャスト用ノードとしたときの仮の中継マルチキャスト用経路制御表を作成する。これは、図22bにおいて、マルチキャスト用ノードとして選択したノード以外の列を全て削除することで得られる。
図22cは、仮の中継マルチキャスト用経路制御表の一例を示す。ここでは、ノードN1,N3,N18,N20を仮のマルチキャスト用ノードとして選択した場合の一例を示している。
次に、図22cにおいて、受信側ノードN1〜N20毎に、中継ノードとして使用可能なマルチキャスト用ノードの数を求める。この総和が良好な値、例えば4以上であれば、仮に選択したノードN1,N3,N18,N20を正式にマルチキャスト用ノードとして決定することができる。もし、総和が十分に大きくない、例えば2以下の受信側ノードが存在する場合には、さらにマルチキャスト用ノードを追加してから、再度、無線伝送路が使用可能である総和を求め、その総和が任意の受信側ノードに対して良好な値となっていることを確認すればよい。
異なるノードをマルチキャスト用ノードとすれば、さらに良好な結果が得られる可能性があるので、前とは異なるノードをマルチキャスト用ノードとして選択して総和を求め、先の結果と比較して良好な方をマルチキャスト用ノードとして決定してもよい。あるいは3台もしくは4台のマルチキャスト用ノードの組み合わせの全てに対して、中継ノードとして使用可能なマルチキャスト用ノードの数を各々求め、例えば、各組み合わせにおける総和の最小値を相互に比較し、その最小値が最大となる組み合わせを最終的なマルチキャスト用ノードとして決定してもよい。
次に、この簡易な中継マルチキャスト用経路制御表の生成方法の有効性の実機での検証結果を図22dに示す。実機検証は、40m×40mの広さの室内に1台の制御用ノードと28台の制御対象ノードを配置し、制御対象ノードの中から1台〜6台のマルチキャスト用ノードを様々に選択した状態において、各々データフレームの無線伝送を行い、各制御対象ノードが中継用ノードとして使用可能なマルチキャスト用ノードの数とそのときのエラー率の関係を同一グラフ上にプロットしたものである。図22dより、使用可能な中継用ノードの数が増えるにしたがって伝送エラー率は急激に減少していること、使用可能な中継用ノードの数が4以上の場合には伝送エラー率は0.0001以下となることが分かる。
以上実施形態について説明したが、本発明は、上記実施形態に限定されるものではない。例えば、上記実施形態では、無線メッシュネットワークがソースルーティング型のアドホックネットワークであるとしたが、本発明は、ルータ型のアドホックネットワークにも適用することができる。ルータ型のアドホックネットワークでは、ルータ用ノードが、各々転送用ルーティングテーブルを保持しており、任意のノードがノード制御用ノードCとなることができる。
図23は、ルータ方式における制御用ノードCで用いられる制御用無線通信装置の実施形態を示すブロック図であり、図24は、ルータ方式における制御対象ノードNで用いられる制御対象無線通信装置の実施形態を示すブロック図である。なお、マルチキャスト用ノードは、図6と同様であるので、図示省略する。図23、図24では、図4、図8と同一あるいは同等部分に同じ符号を付している。
図23が図4と異なるのは、受信制御部22がマルチホップ転送制御部22-2とフラッディング転送制御部22-3を備える点である。また、図24が図8と異なるのは、送信制御部101がマルチキャスト送信制御部101-3を備える点である。これらの相違は、ノードがルータ用であることによるものであり、本発明に関係する構成や動作は、ソースルーティング方式(図4,図8)と同様であるので、説明は省略する。
また、上記実施形態では、全ての制御対象ノードを同一制御するものとしたが、例えば、ノードに応じて制御を異ならせることもできる。例えば、ノード1〜9は100%の輝度で点灯させ、ノード10〜20は70%の輝度で点灯させるといった制御である。
図25aは、ノードに応じて制御を異ならせる場合にノード制御用ノードCからマルチキャスト用ノードMへ送信されるデータフレームのフレームフォーマットの一例を示す。このフレームフォーマットには、受け側マルチキャストアドレス1と制御データ1のペア、受け側マルチキャストアドレス2と制御データ2のペアの2組が含まれている。マルチキャスト用ノードアドレス1〜Kは、中継用となる複数のマルチキャスト用ノードのアドレスであり、受け側マルチキャストアドレス1,2は、例えば、ノード1〜9,ノード10〜20に対応する。例えば、制御データ1,2がそれぞれ"100%輝度で点灯","70%輝度で点灯"を指示するものとすると、ノード1〜9の調光器を100%輝度で点灯させ、ノード10〜20の調光器を70%輝度で点灯させることができる。
図26aは、このときにマルチキャスト用ノードMから送信されるデータフレームのフレームフォーマットの一例を示す。マルチキャスト用ノードMからは、図25(a)のフレームフォーマットを有する2つのマルチキャストフレームが、順次、送信される。
図25bは、ノードに応じて制御を異ならせる場合にノード制御用ノードCからマルチキャスト用ノードMへ送信されるデータフレームのフレームフォーマットの他の例を示す。図25aの例では、マルチキャストで送信する際の宛先アドレスを受け側マルチキャストアドレスにより指定しているが、図25bでは、複数の受け側ノードアドレスを併記することにより宛先アドレスを指定する。
図26bは、このときにマルチキャスト用ノードから送信されるデータフレームのフレームフォーマットの一例を示す。マルチキャスト用ノードからは、図26bに示すように、複数の受け側ノードアドレスを併記したフレームフォーマットを有する2つのマルチキャストフレームが、順次、送信される。
図25cは、ノードに応じて制御を異ならせる場合にノード制御用ノードCからマルチキャスト用ノードMへ送信されるデータフレームのフレームフォーマットの、さらに他の例を示す。図25cに示すように、マルチキャストで送信する際の宛先となる複数の受け側ノードを、受け側ノード指定ビットマップにより指定することもできる。
図26cは、このときにマルチキャスト用ノードから送信されるデータフレームのフレームフォーマットの一例を示す。マルチキャスト用ノードからは、図26cに示すように、受け側ノード指定ビットマップが記述されたフレームフォーマットを有する2つのマルチキャストフレームが、順次、送信される。
例えば、ノード1〜9の調光器を100%輝度で点灯させ、ノード10〜20の調光器を70%輝度で点灯させたい場合、従来では、ノード1〜9の調光器の制御とノード10〜20の調光器の制御を2回に分けて行う必要があり、全てのノードを一斉制御する場合と比較して2倍の時間がかかるが、上記の手法によれば、マルチキャストによる短時間での制御を実現できる。