通信システム
【課題】迅速にデータ通信を開始することができる通信システムを提供する。
【解決手段】通信対象ノード確認部26c及びスケジュール作成部26dが、通信フレームの通信要求が発生するとルーティングテーブル24を参照して通信要求先のノードにホッピング通信する際の最初の中継ノードを全て抽出し、当該抽出した全ての中継ノードと目的ノードとに基づいて送信先のノードを順番に並べた応答スケジュールを作成し、通信要求ブロードキャスト作成部26eが、作成した応答スケジュールを付加した通信要求ブロードキャストを送信させる。また、通信可否判別部26fが、受信器21により通信要求ブロードキャストを受信したとき、当該通信要求ブロードキャストに付加された応答スケジュールに自ノードが含まれているか否かを判定し、応答スケジュールに自ノードが含まれていると判定された場合のみ、応答スケジュールで定められた自ノードの順番に応じたタイミングで、送信元を付加した応答を送信器22から送信させる。
【解決手段】通信対象ノード確認部26c及びスケジュール作成部26dが、通信フレームの通信要求が発生するとルーティングテーブル24を参照して通信要求先のノードにホッピング通信する際の最初の中継ノードを全て抽出し、当該抽出した全ての中継ノードと目的ノードとに基づいて送信先のノードを順番に並べた応答スケジュールを作成し、通信要求ブロードキャスト作成部26eが、作成した応答スケジュールを付加した通信要求ブロードキャストを送信させる。また、通信可否判別部26fが、受信器21により通信要求ブロードキャストを受信したとき、当該通信要求ブロードキャストに付加された応答スケジュールに自ノードが含まれているか否かを判定し、応答スケジュールに自ノードが含まれていると判定された場合のみ、応答スケジュールで定められた自ノードの順番に応じたタイミングで、送信元を付加した応答を送信器22から送信させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信システムに係り、特に、データの無線受信を行う受信手段と、データの無線送信を行う送信手段と、を備えた通信ノードを複数有して無線メッシュネットワークを構成する通信システムに関するものである。
【背景技術】
【0002】
全ての通信ノードが中継ノードとなれるメッシュネットワークにおいては、送信元の通信ノードから送信先の通信ノードまでの経路を選択する必要がある。通信ノードの設置位置が固定である場合、一般的には複数の通信ノードの設置位置の関係から上記経路を選択することが行われている。
【0003】
ここで、通信ノード間に障害物が存在したり、有線の配線が困難な場所では、通信ノードとして無線端末を利用する。このように設置位置が固定されている通信ノードであっても無線通信を利用した場合、例えば以下の例1、例2のような諸々の影響により、経路の状態が変わるため通信ノードの設置位置の関係だけでは、最適な経路を選択できない、という問題点があった。
【0004】
例1:近隣で利用されている無線機の送信電波によって、通信ノード間の電波環境の影響を及ぼす。例2:通信ノード間の途中に人など、移動体が入ることによって電波環境が悪化する。
【0005】
そこで、このような問題点を解決するために、通信の直前に送信元の通信ノードから他の通信ノードに対して送信要求をブロードキャスト送信し、この送信要求を受け取った他の通信ノードから応答が送信され、送信元の通信ノードが受け取った応答の受信強度が閾値以上の経路の中から選択する通信システムが提案されている(例えば特許文献1)。また、本出願人は、送信要求を受け取ったノードがその送信要求の受信強度が通信閾値未満である場合は応答しないようにして通信量の低減を図ったものも提案している。
【0006】
上記従来の通信システムの動作の一例について図9を参照して説明する。図9は、図1に示す構成の従来の通信システムがノードBからノードEにデータを送信する場合のタイムチャートである。ノードA〜Eは予め順番が決められている。ここでは、ノードAが1番、ノードBが2番、ノードCが3番、ノードDが4番、ノードEが5番に定められている。ノードBでノードEへの送信要求が発生すると、ノードBは送信要求をブロードキャスト送信する。上記送信要求を受け取ったノードA、C、Dは、予め定めた順番で応答を送信する。この場合、ノードA、ノードC、ノードDの順番で応答が送信される。なお、ノードEは、送信要求の受信強度が低いため、応答しない。
【0007】
ノードBは、ノードA、C、Dの応答を受信すると、応答を受け取ったノードA、C、Dの中からノードCを最適な中継ノードとして選択して、送信要求先をノードEとしたデータをノードC宛に送信する。このデータを受け取ったノードCは、送信要求をブロードキャスト送信する。上記送信要求を受け取ったノードA、B、D、Eは、予め定めた順番で応答を送信する。この場合、ノードA、ノードB、ノードD、ノードEの順番で応答が送信される。ノードCは、ノードA、B、D、Eの応答を受信すると、データをノードEに直接送信する。
【0008】
図1から明らかなように、ノードBからノードEへの送信には、ノードAが中継ノードとなることはない。しかしながら、従来の通信システムでは、送信元のノード以外の全てのノードが応答を行うようにスケジュールが定められているので、ノードAも応答送信を行っている。さらに、ノードCが中継ノードとなってノードEへデータをリレーする後段では、ノードAに加えてノードBも中継ノードとなることはないにも関わらず、ノードBも応答送信を行っている。このように、明らかに無駄と思われる応答が存在しているため、データ通信の開始が遅れてしまう、という問題があった。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】信学技法IEICE Techinical Report SRW2010-24
【発明の概要】
【発明が解決しようとする課題】
【0010】
そこで、本発明は、迅速にデータ通信を開始することができる通信システムを提供することを課題とする。
【課題を解決するための手段】
【0011】
上述した課題を解決するための請求項1記載の発明は、データの無線受信を行う受信手段と、データの無線送信を行う送信手段と、を備えた通信ノードを複数有して無線メッシュネットワークを構成する通信システムにおいて、前記複数の通信ノードの各々が、自ノードから各他ノードにホッピング通信をする際の最初の中継ノードが記憶された記憶手段と、前記データの通信要求が発生すると、前記記憶手段を参照して通信要求先のノードにホッピング通信する際の最初の中継ノードを全て抽出する抽出手段と、前記抽出手段により抽出した全ての中継ノードと前記通信要求先のノードとに基づいて送信先のノードを順番に並べた応答スケジュールを作成するスケジュール作成手段と、前記作成した応答スケジュールを付加した通信要求を前記送信手段から送信させる通信要求手段と、前記受信手段が前記通信要求を受信すると、当該通信要求に付加された前記応答スケジュールに自ノードが含まれているか否かを判定する判定手段と、前記応答スケジュールに自ノードが含まれていると判定された場合、前記応答スケジュールで定められた自ノードの順番に応じたタイミングで、自ノードのアドレスを送信元として付加した応答を前記送信手段から送信させ、前記応答スケジュールに自ノードが含まれていないと判定された場合、前記応答を送信しない応答手段と、前記応答スケジュールに含まれる全てのノードからの応答を受信するタイミングが経過した後に、前記受信手段が受信した前記応答に付加された送信元に通信要求先のノードがある場合、前記通信要求先のノードとの直接通信を行い、通信要求先のノードがない場合、前記応答に付加された送信元の中から1つを中継ノードとして選択し、前記通信要求先のノードとのホッピング通信を行う通信手段と、を備えたことを特徴とする通信システムに存する。
【0012】
請求項2記載の発明は、前記記憶手段には自ノードからデータを直接送信できる他ノードがさらに記憶され、前記スケジュール作成手段は、前記通信要求先のノードが直接通信できるノードでない場合、前記応答スケジュールには前記通信要求先のノードを並べないことを特徴とする請求項1に記載の通信システムに存する。
【0013】
請求項3記載の発明は、前記スケジュール作成手段は、前記ホッピング通信するためのデータ受信に応じて前記データの通信要求が発生した場合、当該受信されたデータの送信元のノードを前記応答スケジュールには並べないことを特徴とする請求項1又は2に記載の通信システムに存する。
【0014】
請求項4記載の発明は、前記スケジュール作成手段は、前記ホッピング通信するためのデータ受信に応じて前記データの通信要求が発生した場合、当該受信されたデータが経由した中継ノードを前記応答スケジュールには並べないことを特徴とする請求項3に記載の通信システムに存する。
【0015】
請求項5記載の発明は、前記受信手段が受信した通信要求の受信強度を検出する受信強度検出手段を備え、前記応答手段が、前記受信強度検出手段が検出した受信強度が通信閾値未満である場合、前記応答を送信しないことを特徴とする請求項1〜4何れか1項に記載の通信システムに存する。
【発明の効果】
【0016】
以上説明したように請求項1記載の発明によれば、スケジュール作成手段が、データの通信要求が発生すると記憶手段を参照して通信要求先のノードにホッピング通信する際の最初の中継ノードを全て抽出し、当該抽出した全ての中継ノードと通信要求先とに基づいて送信先のノードを順番に並べた応答スケジュールを作成し、通信要求手段が、作成した応答スケジュールを付加した通信要求を送信させる。また、判定手段が、受信手段により通信要求を受信したとき、当該通信要求に付加された応答スケジュールに自ノードが含まれているか否かを判定し、応答手段が、応答スケジュールに自ノードが含まれていると判定された場合のみ、応答スケジュールで定められた自ノードの順番に応じたタイミングで、送信元を付加した応答を送信手段から送信させるので、中継ノードとならないノードが応答スケジュールに含まれることがなくなり、迅速にデータ通信を開始することができる。
【0017】
請求項2記載の発明によれば、通信要求先のノードが直接通信できるノードでない場合、応答スケジュールには通信要求先のノードを並べないので、直接送信できない通信要求先のノードが応答スケジュールに含まれることがなくなり、より一層、迅速にデータ通信を開始することができる。
【0018】
請求項3記載の発明によれば、通信要求がホッピング通信するためのデータ受信に応じて発生した場合、応答スケジュールには受信されたデータの送信元のノードを並べないので、データが送信元に戻されることがなくなる。
【0019】
請求項4記載の発明によれば、通信要求がホッピング通信するためのデータ受信に応じて発生した場合、応答スケジュールには受信されたデータが経由した中継ノードを並べないので、すでにデータが経由した中継ノードにデータが戻されることがなくなる。
【0020】
請求項5記載の発明によれば、通信要求を受け取った全ての通信ノードから応答が送信されることなく、通信要求を受け取った通信ノードのうち通信要求の受信強度が通信閾値以上の通信ノードからしか応答が送信されないので、無駄な応答の送信が行われることなく、経路を決定するための通信量を抑えることができる。
【図面の簡単な説明】
【0021】
【図1】本発明の通信システムの一実施形態を示す構成図である。
【図2】図1に示す通信ノードの構成を示すブロック図である。
【図3】図1に示された通信ノードA〜Eのルーティングテーブルを示す表である。
【図4】図1に示す通信ノード間で送受信されるデータのフレーム構成例を示す図である。
【図5】通信要求処理における図2に示すCPUの処理手順を示すフローチャートである。
【図6】通信可能通知処理における図2に示すCPUの処理手順を示すフローチャートである。
【図7】通信フレーム受信処理における図2に示すCPUの処理手順を示すフローチャートである。
【図8】ノードBからノードEへの通信要求が発生した場合(ホッピング通信)についての本発明の通信システムを構成する各ノードのタイムチャートである。
【図9】図1に示す構成の従来の通信システムがノードBからノードCにデータを送信する場合のタイムチャートである。
【発明を実施するための形態】
【0022】
以下、本発明の通信システムを図1乃至図3を参照して説明する。本発明の通信システム1は、図1に示すように、複数の通信ノード20(ノードA、ノードB、ノードC、ノードD、ノードE)を有して構成され、これらのノードA〜Eは無線メッシュネットワークを構成している。
【0023】
図1に示した通信システム1は、ノードAはノードBと相互に無線通信可能に配置されている。ノードBはノードA、C、D、Eと相互に無線通信可能に配置されている。ノードCは、ノードB、D、Eと相互に無線通信可能に配置されている。ノードDは、ノードB、C、Eと相互に無線通信可能に配置されている。ノードEは、ノードB、C、Dと相互に無線通信可能に配置されている。各通信ノード20の配置位置は固定である。
【0024】
次に、上記通信ノード20の構成について図2を参照して以下説明する。同図に示すように、通信ノード20は、アンテナATと、データの無線受信を行うための受信手段としての受信器21と、データの無線送信を行うための送信手段としての送信器22と、受信強度検出手段としての受信強度検出回路23と、記憶手段としてのルーティングテーブル24と、通信テーブル25と、通信ノード20全体を司るCPU26と、を備えている。
【0025】
上記受信器21は、アンテナATが受信した他の通信ノード20からのデータを復調してCPU26に対して供給する。上記送信器22は、CPU26から出力されたデータを変調してアンテナATから無線送信させる。上記受信強度検出回路23は、アンテナATが受信したデータの受信強度を検出してCPU26に対して供給する。
【0026】
上記ルーティングテーブル24には、図3に示すように、通信システム1を構成する自身以外の他ノード20へのホップ数や、中継ノードの有無、中継ノードがある場合は中継ノード名(アドレスなど中継ノードを示すことができる情報)が通信ノード20毎にテーブル上に予め格納されている。
【0027】
CPU26は、受信データ判別部26aと、API26bと、通信対象ノード確認部26cと、スケジュール作成部26dと、通信要求ブロードキャスト作成部26eと、通信可否判別部26fと、通信可能通知ブロードキャスト作成部26gと、ブロードキャスト送信タイミング調整部26hと、通信テーブル作成部26iと、通信相手判別部26jと、を備えている。
【0028】
上記受信データ判別部26aは、受信器21が受信したデータの種別が、後述する通信要求ブロードキャスト(=通信要求)か、通信可能通知ブロードキャスト(=応答)か、受信通信フレームかを判別する。上記API26bは、アプリケーションから通信要求が発生すると、送信通信フレームを作成して後述する通信相手判別部26jに対して送信する。この送信通信フレームの構成例について図4を参照して説明する。図4は、通信ノード20間で送受信されるデータのフレーム構成例を示す図である。
【0029】
同図(A)に示すように、通信ノード20間で送受信されるデータ30は、送信元アドレス領域31と、送信先アドレス領域32と、通信種別領域33と、データ領域34と、から構成されている。上記API26bは、アプリケーションから通信要求が発生すると、送信元アドレス領域31に自ノードのアドレスを格納し、通信種別領域33に通信フレームである旨を示す情報を格納し、データ領域34に送信要求先(以下目的ノード)のアドレスと目的ノードへ送信したい通信データを格納した送信通信フレームを作成する。なお、送信先は後述する通信相手判別部26jが決定するため、API26bは送信先アドレス領域32をブランクにした通信フレームを作成する。
【0030】
また、API26bは、アプリケーションから通信要求が発生すると、目的ノード及び通信閾値を通信対象ノード確認部26cに出力する。通信対象ノード確認部26cは、AIP26bから目的ノード及び通信閾値が入力されると、抽出手段として働き、ルーティングテーブル24を参照して入力された目的ノードにホッピング通信する際の最初の中継ノードを全て抽出する。例えば、ノードBの場合、目的ノードがノードEであると、図3(B)に示すように、ノードC、Dが最初の中継ノードとして抽出される。
【0031】
また、通信対象ノード確認部26cは、ルーティングテーブル24を参照して入力された目的ノードと直接通信できるか否かを判定する。その後、通信対象ノード確認部26cは、目的ノードと直接通信できると判定した場合、目的ノード及び抽出した中継ノードを通信対象ノードとしてスケジュール作成部26dに出力し、目的ノードと直接通信できない即ちホッピング通信しかできないと判定した場合、スケジュール作成手段として働き、目的ノードを除いて中継ノードのみを通信対象ノードとしてスケジュール作成部26dに出力する。また、通信対象ノード確認部26cは、目的ノード及び通信閾値もスケジュール作成部26dに出力する。
【0032】
スケジュール作成部26dは、通信対象ノード確認部26cから目的ノード、通信閾値及び通信対象ノードが入力されると、スケジュール作成手段として働き、通信対象ノードを順番に並べた応答スケジュールを作成し、入力された目的ノード、通信閾値及び作成した応答スケジュールを通信要求ブロードキャスト作成部26eに出力する。通信要求ブロードキャスト作成部26eは、目的ノード、通信閾値及び応答スケジュールを入力すると、通信要求手段として働き、通信要求ブロードキャストを作成して送信器22から送信させる。
【0033】
この通信要求ブロードキャストの構成例について図4(B)を参照して説明する。上記通信要求ブロードキャスト作成部26eは、送信元アドレス領域31に自ノードのアドレスを格納し、送信先アドレス領域32に通信システム1を構成する全ての通信ノード20に送信するためのアドレスであるブロードキャストアドレスを格納し、通信種別領域33に通信要求ブロードキャストである旨を示す情報を格納する。また、通信要求ブロードキャスト作成部26eは、データ領域34に入力された通信閾値、目的ノードアドレス及び応答スケジュールを格納する。
【0034】
上記通信可否判別部26fは、受信データ判別部26aにより通信要求ブロードキャストが受信されたと判別されたとき、受信強度検出回路23により検出された受信強度を通信要求ブロードキャストの受信強度として取り込む。次に、通信可否判別部26fは、判定手段として働き、受信データ判別部26aから入力された通信要求ブロードキャストに付加された応答スケジュールに自ノードが含まれているか否かを判別する。通信可否判別部26fは、応答手段として働き、自ノードが含まれていると判別すると、検出された通信要求ブロードキャストの受信強度と通信要求ブロードキャストに付加された通信閾値とを比較し、その結果、検出された通信要求ブロードキャストの受信強度が通信閾値以上のときに通信可能通知ブロードキャスト作成部26gに通信可能通知ブロードキャストを作成させる。通信可否判別部26は、応答スケジュールに自ノードが含まれていないとき、又は、応答スケジュールに自ノードが含まれていても受信強度が通信閾値未満のときは、通信可能通知ブロードキャスト作成部26gに通信可能通知ブロードキャストを作成させない。
【0035】
上記通信可能通知ブロードキャスト作成部26gは、通信可否判別部26fからの指示により、通信可能通知ブロードキャストを作成する。この通信可能通知ブロードキャストの構成例について図4(C)を参照して説明する。通信可能通知ブロードキャスト作成部26gは、送信元アドレス領域31に自ノードのアドレスを格納し、送信先アドレス領域32にブロードキャストアドレスを格納し、通信種別領域33に通信可能通知ブロードキャストである旨を示す情報を格納する。また、通信可能通知ブロードキャスト作成部26gは、データ領域34に通信要求ブロードキャストに格納された目的ノードアドレスを格納する。
【0036】
上記ブロードキャスト送信タイミング調整部26hは、通信要求ブロードキャストを受信したタイミングを起点として、自ノードがブロードキャストで通信を行えるタイミングをカウントし、そのカウントしたタイミングで作成した通信可能通知ブロードキャストを送信器22から送信させる。詳しくは、ブロードキャスト送信タイミング調整部26hは、応答スケジュールに定められた自ノードの順番n×所定時間Tをカウントする。
【0037】
通信テーブル作成部26iは、通信可能通知ブロードキャストを受信すると、そのとき受信強度検出回路23から検出された受信強度を通信可能通知ブロードキャストの受信強度として取り込む。そして、通信テーブル作成部26iは、受信した通信可能通知ブロードキャストの送信元と受信強度との関係を示す通信テーブル25を作成する。
【0038】
通信相手判別部26jは、通信手段として働き、応答スケジュールに含まれる全てのノードからの通信可能通知ブロードキャストを受信するタイミングが経過した後、受信した通信可能通知ブロードキャストの送信元アドレス領域31に中に目的ノードアドレスが格納されている場合、API26bから出力された送信通信フレームの送信アドレス領域32に目的ノードアドレスを格納して送信させることにより、目的ノードとの直接通信を行う。一方、通信相手判別部26jは、受信した通信可能通知ブロードキャストの送信元アドレス領域31の中に目的ノードアドレスがない場合、通信可能通知ブロードキャストに付加された送信元の中から1つを中継ノードとして選択し、API26bから出力された通信フレームの送信アドレス領域32に中継ノードのアドレスを格納して送信させることにより、目的ノードとのホッピング通信を行う。
【0039】
また、上記API26bは、受信通信フレームの送信先が自ノードであり、データ領域34に格納された目的ノードも自ノードである場合は、データ領域34に格納された通信データをアプリケーションに取り込む。また、上記API26bは、受信通信フレームの送信先が自ノードであり、データ領域34に格納された目的ノードが自ノードでない場合は、ホッピング通信するための通信フレームを受信したと判定して、通受信通信フレームの送信先をブランクにし、データ領域34に自ノードを既に中継したノードとして書き込んだものを送信通信フレームとして通信相手判別部26jに対して出力すると共に受信通信フレームに格納された目的ノード及び通信閾値を通信要求ブロードキャスト作成部26eに出力して、通信要求を発生させる。
【0040】
上記通信対象ノード確認部26cは、スケジュール作成手段として働き、上述したようにホッピング通信するための通信フレームの受信に応じて通信要求が発生した場合、応答スケジュールには、受信した通信フレームの送信元のノードと、通信フレームに格納された既に中継されたノードと、を並べない。
【0041】
次に、上述した構成の通信システム1のより詳細な動作について図5〜図7に示すフローチャートを参照して説明する。まず、CPU26は、アプリケーションからの通信要求が発生したり、送信先が自ノードであり、目的ノードが自ノードでない受信通信フレームを受信すると、通信要求処理を開始する。
【0042】
通信要求処理において、CPU26は、ルーティングテーブル24を参照して目的ノードにホッピング通信する際の最初の中継ノードを全て抽出して通信対象ノードとすると共に、ルーティングテーブル24を参照して目的ノードと直接通信できるか否かを判定し、直接通信できると判定した場合のみ通信対象ノードに目的ノードを含める(ステップS1)。また、送信先が自ノードであり、目的ノードが自ノードでない受信通信フレームの受信に応じて通信要求処理が開始された場合、ステップS1においてCPU26は、その受信通信フレームの送信元のノード、受信通信フレームに格納された既に中継した中継ノードを通信対象ノードから外す。
【0043】
次に、CPU26は、通信対象ノードを順番に並べた応答スケジュールを作成する(ステップS2)。その後、CPU26は、目的ノード、通信閾値及び応答スケジュールを付加した通信要求ブロードキャストを作成し(ステップS3)、作成した通信要求ブロードキャストを送信する(ステップS4)。その後、CPU26は、他ノードからの通信可能通知ブロードキャストを順次受信すると共に、通信可能通知ブロードキャストの送信元とその受信強度とを対応付けて通信テーブル25に保存する(ステップS5)。このとき、他のノードからの通信可能通知ブロードキャストは、上記応答スケジュールによって定められた順番で受信される。
【0044】
次に、CPU26は、受信した通信可能通知ブロードキャストの送信元の中に目的ノードがあるか否かを判定する(ステップS6)。目的ノードがあると判定すると(ステップS6でY)、CPU26は、目的ノードからの通信可能通知ブロードキャストの受信強度が通信閾値以上であり安定して通信できるか否かを判定する(ステップS7)。目的ノードからの通信可能通知ブロードキャストの受信強度が通信閾値以上であり安定して通信できると判定すると(ステップS7でY)、CPU26は、直接通信を行って(ステップS8)、処理を終了する。
【0045】
一方、受信した通信可能通知ブロードキャストの送信元の中に目的ノードがないと判定したり(ステップS6でN)、目的ノードからの通信可能通知ブロードキャストの受信強度が通信閾値未満であり安定して通信できないと判定すると(ステップS7でN)、CPU26は、通信可能通知ブロードキャストの送信元の中から1つを中継ノードとして選択し(ステップS9)、ホッピング通信を行って(ステップS10)、処理を終了する。中継ノードとしては、例えば、各送信元からの通信可能通知ブロードキャストの受信強度を比較し、さらに各通信ノード20の配置やルーティングテーブル24のホップ数から最も安定して通信できるものが選択される。具体的には、通信可能通知ブロードキャストの受信強度が通信閾値以上の送信元であり、かつ、目的ノードまでの距離やホップ数が少ないものや応答スケジュールの順番が一番早いものが中継ノードとして選択される。また、CPU26は、送信先が自ノードであり、目的ノードが自ノードでない受信通信フレームの受信に応じて通信要求処理が開始された場合において上記ホッピング通信するときは、自ノードを既に経由した中継ノードとして通信フレームに書き込んだ後、次の中継ノードに通信フレームを送信する。
【0046】
一方、CPU26は、受信待ち状態のときに他の通信ノード20から通信要求ブロードキャストを受信すると通信可能通知処理を開始する。図6に示すように、通信可能通知処理において、CPU26は、まず、受信した通信要求ブロードキャストの受信強度がその通信要求ブロードキャストに格納された通信閾値以上であるか否かを判定する(ステップS11)。通信閾値未満であると(ステップS11でN)、CPU26は、通信要求ブロードキャストを無視して受信待ち状態に戻る。これに対して、通信閾値以上であると判定すると(ステップS11でY)、CPU26は、通信要求ブロードキャストに格納された目的ノードが自ノードであるか否かを判定する(ステップS12)。自ノードである場合(ステップS12でY)、CPU26は、通信可能通知ブロードキャストを作成する(ステップS13)。
【0047】
一方、CPU26は、通信要求ブロードキャストに格納された目的ノードが自ノードでないと判定すると(ステップS12でN)、CPU26は、通信要求ブロードキャストに格納された応答スケジュールを確認して(ステップS14)、自ノードが含まれているか否かを判定する(ステップS15)。自ノードが含まれていなければ(ステップS15でN)、CPU26は、通信要求ブロードキャストを無視して受信待ち状態に戻る。これに対して、自ノードが含まれていれば(ステップS15でY)、CPU26は、ステップS13に進んで通信可能通知ブロードキャストを作成する。通信可能通知ブロードキャストを作成した後、CPU26は、応答スケジュールにより決められた順番n×所定時間T経過するのを待った後(ステップS16)、作成した通信可能通知ブロードキャストを送信し(ステップS17)、再び受信待ち状態に戻る。
【0048】
また、CPU26は、受信待ち状態のときに他の通信ノード20から自ノード宛の通信フレームを受信すると通信フレーム受信処理を開始する。図7に示すように、通信フレーム受信処理において、CPU26は、まず、受信した通信フレームに格納された目的ノードが自ノードであれば(ステップS18でY)、API26bで通信フレームの受信通知すると共に通信フレームに格納されたデータをアプリケーションに出力した後(ステップS19)、再び受信待ち状態に戻る。これに対して、受信した通信フレームに格納された目的ノードが自ノードでなければ(ステップS18でN)、CPU26は、通信要求処理を開始して、他のノードに通信フレームを送信する。
【0049】
次に、具体的な動作例を図8を参照して説明する。図8は、ノードBからノードEへの通信要求が発生した場合(ホッピング通信)の各ノードA〜Eのタイムチャートである。なお、この動作例では各通信ノード20の受信能力を−70dBm、通信閾値を−55dBmとする。
【0050】
まず、ノードBでノードEとの通信要求が発生する。ノードBは、送信元アドレス領域31に自ノードBのアドレス、送信先アドレス領域32にブロードキャストアドレス、通信種別領域33に通信要求ブロードキャストである旨の情報、データ領域34に通信閾値−55dBm、目的ノードであるノードEのアドレスを格納した通信要求ブロードキャストを作成する。また、ノードBでは、ルーティングテーブル24を確認して、ノードEへ至るまでの経路を確認する。ノードBは、図3(B)からも明らかなように、ノードEへの直接通信の他、ノードC、Dを最初の中継ノードとしたホッピング通信ができることを確認し、これらノードC、D、Eを通信対象ノードとする。
【0051】
また、ノードBは、応答スケジュールとして、ノードC、ノードD、ノードEをこの順番で作成し、通信要求ブロードキャストのデータ領域34に格納した後、通信要求ブロードキャストを送信する。図8に示すように、ノードBからの通信要求ブロードキャストはノードA、C、D、Eが受信する。
【0052】
ノードAでは、通信要求ブロードキャストを−40dBmで受信している。ノードAでは、通信要求ブロードキャストに含まれる通信閾値−55dBmを確認し、通信要求ブロードキャストの受信強度−40dBmが通信閾値−55dBm以上であることを確認する。その後、ノードAは、応答スケジュールを確認するが、そこにはノードAが含まれていないので、以降は何もしない。ノードC、Dでは、通信要求ブロードキャストを−50dBmで受信している。ノードC、Dでは、通信要求ブロードキャストに含まれる通信閾値−55dBmを確認し、通信要求ブロードキャストの受信強度−50dBmが通信閾値−55dB以上であることを確認する。
【0053】
その後、ノードCは、応答スケジュールを確認し、自ノードが含まれていることを確認すると共にその順番が1番であることを確認する。また、ノードDは、応答スケジュールを確認し、自ノードが含まれていることを確認すると共にその順番が2番であることを確認する。ノードEでは、通信要求ブロードキャストを−70dBmで受信している。ノードEでは、通信要求ブロードキャストに含まれる通信要求−55dBを確認し、通信要求ブロードキャストの受信強度−70dBmが通信閾値−55dBm未満であることを確認し、通信要求ブロードキャストを受信しなかったものとし以降は何もしない。
【0054】
ノードC、Dは、ノードBからの通信要求ブロードキャストの受信を起点として、各々通信要求ブロードキャストを送信するタイミングのカウント時間を作成する。ノードCでは、所定時間Tがカウント時間として作成され、ノードDでは、2×所定時間Tがカウント時間として作成される。ノードCは、ノードBからの通信要求ブロードキャストの受信を起点とした経過時間をカウントし、そのカウント時間が所定時間Tになると、通信可能通知ブロードキャストを送信する。このとき、ノードBでは、ノードCからの通信可能通知ブロードキャストを受信したら、その受信強度と、ノードBとの受信可否の通信テーブル25を作成する。
【0055】
ノードDは、ノードBからの通信要求ブロードキャストの受信を起点とした経過時間をカウントし、そのカウント時間が2×所定時間Tになると、通信可能通知ブロードキャストを送信する。このとき、ノードBでは、ノードDからの通信可能通知ブロードキャストを受信したら、その受信強度と、ノードBとの受信可否の通信テーブル25を作成する。
【0056】
ノードBでは、通信要求ブロードキャストを送信してから、最後の通信対象ノード(ノードE)からの通信可能通知ブロードキャストを受信すべきタイミング(3×所定時間T)が経過した後、作成された通信テーブル25からデータ通信を行う際に次に送信する相手を決定する。この場合、ノードEと直接通信できないため、ノードC若しくはノードDを中継ノードとして利用する必要がある。ノードC及びノードDは共に通信閾値−55dB以上であるため、ノードBは応答スケジュールの順番が一番早いノードCを選択することにし、送信元アドレス領域31にノードBのアドレス、送信先アドレス領域32にノードCのアドレス、データ領域34に目的ノードであるノードEのアドレスと送信したいデータとを格納した通信フレームを送信する。
【0057】
ノードCでは、ノードBからの通信フレームを受信すると、この通信フレームをさらに目的ノードに直接又は中継ノードを介して送信するために、送信元アドレス領域31にノードCのアドレス、送信先アドレス領域32にブロードキャストアドレス、通信種別領域33に通信要求ブロードキャストである旨の情報、データ領域34に目的ノードアドレスを格納した通信要求ブロードキャストを作成する。また、ノードCでは、ルーティングテーブル24を確認して、ノードEへ至るまでの経路を確認する。ノードCは、図3(C)からも明らかなように、ノードEへの直接通信の他、ノードB、Dを最初の中継ノードとしたホッピング通信ができることを確認する。ノードBは受信した通信フレームの送信元であるため、ノードBは、ノードBを除いたノードD、Eを通信対象ノードとする。
【0058】
また、ノードCは、応答スケジュールとしてノードD、ノードEをこの順番で作成し、通信要求ブロードキャストのデータ領域34に格納した後、通信要求ブロードキャストを送信する。図8に示すように、ノードCからの通信要求ブロードキャストは、ノードA、B、D、Eが受信する。
【0059】
ノードAでは、通信要求ブロードキャストを−60dBmで受信している。ノードAでは、通信要求ブロードキャストに含まれる通信閾値−55dBmを確認し、通信要求ブロードキャストの受信強度−60dBmが通信閾値−55dBm未満であることを確認し、通信要求ブロードキャストを受信しなかったものとし以降は何もしない。ノードBでは、通信要求ブロードキャストを−50dBmで受信している。ノードBでは、通信要求ブロードキャストに含まれる通信閾値−55dBmを確認し、通信要求ブロードキャストの受信強度−50dBmが通信閾値−55dBm以上であることを確認する。その後、ノードBは、応答スケジュールを確認するが、そこにはノードBが含まれていないので、以降は何もしない。
【0060】
ノードD、Eでは、通信要求ブロードキャストを−50dBmで受信している。ノードD、Eでは、通信要求ブロードキャストに含まれる通信閾値−55dBmを確認し、通信要求ブロードキャストの受信強度−50dBmが通信閾値−55dB以上であることを確認する。その後、ノードDは、応答スケジュールを確認し、自ノードが含まれていることを確認する共にその順番が1番であることを確認する。また、ノードEは、応答スケジュールを確認し、自ノードが含まれていることを確認すると共にその順番が2番であることを確認する。
【0061】
ノードD、Eは、ノードCからの通信要求ブロードキャストの受信を起点として、各々通信要求ブロードキャストを送信するタイミングのカウント時間を作成する。ノードDでは、所定時間Tがカウント時間として作成され、ノードEでは、2×所定時間Tがカウント時間として作成される。ノードDは、ノードBからの通信要求ブロードキャストの受信を起点とした経過時間をカウントし、そのカウント時間が所定時間Tになると、通信可能通知ブロードキャストを送信する。このとき、ノードCでは、ノードDからの通信可能通知ブロードキャストを受信したら、その受信強度と、ノードDとの受信可否の通信テーブル25を作成する。
【0062】
ノードEは、ノードCからの通信要求ブロードキャストの受信を起点とした経過時間をカウントし、そのカウント時間が2×所定時間Tになると、通信可能通知ブロードキャストを送信する。このとき、ノードCでは、ノードEからの通信可能通知ブロードキャストを受信したら、その受信強度と、ノードEとの受信可否の通信テーブル25を作成する。
【0063】
ノードCでは、通信要求ブロードキャストを送信してから、最後の通信対象ノード(ノードE)からの通信可能通知ブロードキャストを受信すべきタイミング(2×所定時間T)が経過した後、作成された通信テーブル25からデータ通信を行う際に次に送信する相手を決定する。この場合、ノードEと直接通信でできるため、ノードCは、ノードBから送信された通信フレームの送信先アドレス領域32に格納されたアドレスをノードEのアドレスに書き換えて送信する。
【0064】
図8及び図9を比較しても明らかなように、従来は通信システム1を構成するノード数m=5とすると、通信要求ブロードキャストを送信してから4×所定時間T経過するのを必ず待ってからでないと通信フレームを送信できなかったが、本発明の通信システム1によれば、通信要求ブロードキャストを送信してから4×所定時間T経過するのを待たなくても通信フレームを送信できるので、迅速にデータ通信を開始できる。
【0065】
即ち、上述した通信システム1によれば、通信対象ノード確認部26c及びスケジュール作成部26dが、通信フレームの通信要求が発生するとルーティングテーブル24を参照して通信要求先のノードにホッピング通信する際の最初の中継ノードを全て抽出し、当該抽出した全ての中継ノードと目的ノードとに基づいて送信先のノードを順番に並べた応答スケジュールを作成し、通信要求ブロードキャスト作成部26eが、作成した応答スケジュールを付加した通信要求ブロードキャストを送信させる。また、通信可否判別部26dが、受信器21により通信要求ブロードキャストを受信したとき、当該通信要求ブロードキャストに付加された応答スケジュールに自ノードが含まれているか否かを判定し、応答スケジュールに自ノードが含まれていると判定された場合のみ、応答スケジュールで定められた自ノードの順番に応じたタイミングで、送信元を付加した応答を送信器22から送信させるので、中継ノードとならないノードが応答スケジュールに含まれることがなくなり、迅速にデータ通信を開始することができる。
【0066】
また、上述した通信システム1によれば、目的ノードが直接通信できるノードでない場合、通信対象ノード確認部26cが目的ノードを通信対象ノードとしない(即ち応答スケジュールに並べない)ので、直接送信できない目的ノードが応答スケジュールに含まれることがなくなり、より一層、迅速にデータ通信を開始することができる。
【0067】
また、上述した通信システム1によれば、通信要求がホッピング通信するための通信フレーム受信に応じて発生した場合、通信対象ノード確認部26cが、受信された通信フレームの送信元のノードを通信対象ノードとしないので、通信フレームが送信元に戻されることがなくなる。
【0068】
また、上述した通信システム1によれば、通信要求がホッピング通信するための通信フレーム受信に応じて発生した場合、通信対象ノード確認部26cが、受信された通信フレームが経由した中継ノードを通信対象ノードとしないので、すでに通信フレームが経由した中継ノードにデータが戻されることがなくなる。
【0069】
また、上述した通信システム1によれば、CPU26は、通信要求ブロードキャストの受信強度が通信閾値以上のときに送信元を付加した通信可能通知ブロードキャストを送信させている。これにより、通信要求ブロードキャストを受け取った全ての通信ノード20から通信可能通知ブロードキャストが送信されることなく、通信要求ブロードキャストを受け取った通信ノード20のうち通信要求ブロードキャストの受信強度が通信閾値以上の通信ノード20からしか通信可能通知ブロードキャストが送信されないので、無駄な通信可能通知ブロードキャストの送信が行われることなく、経路を決定するための通信量を抑えることができる。
【0070】
なお、上述した実施形態によれば、図4に示す通信フレームの構成は一例であり、各領域の配置はどのようになっていてもよい。さらに、無線LANなどで広く利用されているフォーマットであってもよい。
【0071】
また、上述した実施形態によれば、通信可能通知ブロードキャストを送信してきた通信ノード20のうち目的ノードに最も近いものを中継ノードとして選択していたが、中継ノードを選択する方法としては一例であり、例えば、目的ノードまでのホップ数が一番少ないものを中継ノードと選択し、さらに、ホップ数が同じ場合には目的ノードまでの距離が短く、受信強度の高いものを選択するようにしてもよい。
【0072】
また、上述した実施形態によれば、通信要求ブロードキャストに通信閾値を付加させていたが、本発明はこれに限ったものではない。通信閾値としては、例えば、共通の値として各通信ノード20にそれぞれ格納するようにしてもよい。
【0073】
また、どのノード20からも通信可能通知ブロードキャストが送信されない場合、目的ノードまで経由できる中継ノードがない、若しくは、目的ノードとは直接通信できる環境にないか、目的ノードまでが受信強度レベルぎりぎりであることになる。その場合、中継ノードを選択する処理をスキップして、直接通信する処理を行うようにしてもよい。
【0074】
また、上述した実施形態によれば、各ノード20は、通信要求ブロードキャストを受信したとき、応答スケジュールに自ノードが含まれ、かつ、通信要求ブロードキャストの受信強度が通信閾値以上のときに、通信可能通知ブロードキャストを送信していたが、本発明はこれに限ったものではない。例えば、通信要求ブロードキャストの受信強度と通信閾値との比較をやめて、応答スケジュールに自ノードが含まれていたときに通信可能通知ブロードキャストを送信するようにしてもよい。
【0075】
また、前述した実施形態は本発明の代表的な形態を示したに過ぎず、本発明は、実施形態に限定されるものではない。即ち、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。
【符号の説明】
【0076】
1 通信システム
20 通信ノード
21 受信器(受信手段)
22 送信器(送信手段)
23 受信強度検出回路(受信強度検出手段)
24 ルーティングテーブル(記憶手段)
26c 通信対象ノード確認部(抽出手段、スケジュール作成手段)
26d スケジュール作成部(スケジュール作成手段)
【技術分野】
【0001】
本発明は、通信システムに係り、特に、データの無線受信を行う受信手段と、データの無線送信を行う送信手段と、を備えた通信ノードを複数有して無線メッシュネットワークを構成する通信システムに関するものである。
【背景技術】
【0002】
全ての通信ノードが中継ノードとなれるメッシュネットワークにおいては、送信元の通信ノードから送信先の通信ノードまでの経路を選択する必要がある。通信ノードの設置位置が固定である場合、一般的には複数の通信ノードの設置位置の関係から上記経路を選択することが行われている。
【0003】
ここで、通信ノード間に障害物が存在したり、有線の配線が困難な場所では、通信ノードとして無線端末を利用する。このように設置位置が固定されている通信ノードであっても無線通信を利用した場合、例えば以下の例1、例2のような諸々の影響により、経路の状態が変わるため通信ノードの設置位置の関係だけでは、最適な経路を選択できない、という問題点があった。
【0004】
例1:近隣で利用されている無線機の送信電波によって、通信ノード間の電波環境の影響を及ぼす。例2:通信ノード間の途中に人など、移動体が入ることによって電波環境が悪化する。
【0005】
そこで、このような問題点を解決するために、通信の直前に送信元の通信ノードから他の通信ノードに対して送信要求をブロードキャスト送信し、この送信要求を受け取った他の通信ノードから応答が送信され、送信元の通信ノードが受け取った応答の受信強度が閾値以上の経路の中から選択する通信システムが提案されている(例えば特許文献1)。また、本出願人は、送信要求を受け取ったノードがその送信要求の受信強度が通信閾値未満である場合は応答しないようにして通信量の低減を図ったものも提案している。
【0006】
上記従来の通信システムの動作の一例について図9を参照して説明する。図9は、図1に示す構成の従来の通信システムがノードBからノードEにデータを送信する場合のタイムチャートである。ノードA〜Eは予め順番が決められている。ここでは、ノードAが1番、ノードBが2番、ノードCが3番、ノードDが4番、ノードEが5番に定められている。ノードBでノードEへの送信要求が発生すると、ノードBは送信要求をブロードキャスト送信する。上記送信要求を受け取ったノードA、C、Dは、予め定めた順番で応答を送信する。この場合、ノードA、ノードC、ノードDの順番で応答が送信される。なお、ノードEは、送信要求の受信強度が低いため、応答しない。
【0007】
ノードBは、ノードA、C、Dの応答を受信すると、応答を受け取ったノードA、C、Dの中からノードCを最適な中継ノードとして選択して、送信要求先をノードEとしたデータをノードC宛に送信する。このデータを受け取ったノードCは、送信要求をブロードキャスト送信する。上記送信要求を受け取ったノードA、B、D、Eは、予め定めた順番で応答を送信する。この場合、ノードA、ノードB、ノードD、ノードEの順番で応答が送信される。ノードCは、ノードA、B、D、Eの応答を受信すると、データをノードEに直接送信する。
【0008】
図1から明らかなように、ノードBからノードEへの送信には、ノードAが中継ノードとなることはない。しかしながら、従来の通信システムでは、送信元のノード以外の全てのノードが応答を行うようにスケジュールが定められているので、ノードAも応答送信を行っている。さらに、ノードCが中継ノードとなってノードEへデータをリレーする後段では、ノードAに加えてノードBも中継ノードとなることはないにも関わらず、ノードBも応答送信を行っている。このように、明らかに無駄と思われる応答が存在しているため、データ通信の開始が遅れてしまう、という問題があった。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】信学技法IEICE Techinical Report SRW2010-24
【発明の概要】
【発明が解決しようとする課題】
【0010】
そこで、本発明は、迅速にデータ通信を開始することができる通信システムを提供することを課題とする。
【課題を解決するための手段】
【0011】
上述した課題を解決するための請求項1記載の発明は、データの無線受信を行う受信手段と、データの無線送信を行う送信手段と、を備えた通信ノードを複数有して無線メッシュネットワークを構成する通信システムにおいて、前記複数の通信ノードの各々が、自ノードから各他ノードにホッピング通信をする際の最初の中継ノードが記憶された記憶手段と、前記データの通信要求が発生すると、前記記憶手段を参照して通信要求先のノードにホッピング通信する際の最初の中継ノードを全て抽出する抽出手段と、前記抽出手段により抽出した全ての中継ノードと前記通信要求先のノードとに基づいて送信先のノードを順番に並べた応答スケジュールを作成するスケジュール作成手段と、前記作成した応答スケジュールを付加した通信要求を前記送信手段から送信させる通信要求手段と、前記受信手段が前記通信要求を受信すると、当該通信要求に付加された前記応答スケジュールに自ノードが含まれているか否かを判定する判定手段と、前記応答スケジュールに自ノードが含まれていると判定された場合、前記応答スケジュールで定められた自ノードの順番に応じたタイミングで、自ノードのアドレスを送信元として付加した応答を前記送信手段から送信させ、前記応答スケジュールに自ノードが含まれていないと判定された場合、前記応答を送信しない応答手段と、前記応答スケジュールに含まれる全てのノードからの応答を受信するタイミングが経過した後に、前記受信手段が受信した前記応答に付加された送信元に通信要求先のノードがある場合、前記通信要求先のノードとの直接通信を行い、通信要求先のノードがない場合、前記応答に付加された送信元の中から1つを中継ノードとして選択し、前記通信要求先のノードとのホッピング通信を行う通信手段と、を備えたことを特徴とする通信システムに存する。
【0012】
請求項2記載の発明は、前記記憶手段には自ノードからデータを直接送信できる他ノードがさらに記憶され、前記スケジュール作成手段は、前記通信要求先のノードが直接通信できるノードでない場合、前記応答スケジュールには前記通信要求先のノードを並べないことを特徴とする請求項1に記載の通信システムに存する。
【0013】
請求項3記載の発明は、前記スケジュール作成手段は、前記ホッピング通信するためのデータ受信に応じて前記データの通信要求が発生した場合、当該受信されたデータの送信元のノードを前記応答スケジュールには並べないことを特徴とする請求項1又は2に記載の通信システムに存する。
【0014】
請求項4記載の発明は、前記スケジュール作成手段は、前記ホッピング通信するためのデータ受信に応じて前記データの通信要求が発生した場合、当該受信されたデータが経由した中継ノードを前記応答スケジュールには並べないことを特徴とする請求項3に記載の通信システムに存する。
【0015】
請求項5記載の発明は、前記受信手段が受信した通信要求の受信強度を検出する受信強度検出手段を備え、前記応答手段が、前記受信強度検出手段が検出した受信強度が通信閾値未満である場合、前記応答を送信しないことを特徴とする請求項1〜4何れか1項に記載の通信システムに存する。
【発明の効果】
【0016】
以上説明したように請求項1記載の発明によれば、スケジュール作成手段が、データの通信要求が発生すると記憶手段を参照して通信要求先のノードにホッピング通信する際の最初の中継ノードを全て抽出し、当該抽出した全ての中継ノードと通信要求先とに基づいて送信先のノードを順番に並べた応答スケジュールを作成し、通信要求手段が、作成した応答スケジュールを付加した通信要求を送信させる。また、判定手段が、受信手段により通信要求を受信したとき、当該通信要求に付加された応答スケジュールに自ノードが含まれているか否かを判定し、応答手段が、応答スケジュールに自ノードが含まれていると判定された場合のみ、応答スケジュールで定められた自ノードの順番に応じたタイミングで、送信元を付加した応答を送信手段から送信させるので、中継ノードとならないノードが応答スケジュールに含まれることがなくなり、迅速にデータ通信を開始することができる。
【0017】
請求項2記載の発明によれば、通信要求先のノードが直接通信できるノードでない場合、応答スケジュールには通信要求先のノードを並べないので、直接送信できない通信要求先のノードが応答スケジュールに含まれることがなくなり、より一層、迅速にデータ通信を開始することができる。
【0018】
請求項3記載の発明によれば、通信要求がホッピング通信するためのデータ受信に応じて発生した場合、応答スケジュールには受信されたデータの送信元のノードを並べないので、データが送信元に戻されることがなくなる。
【0019】
請求項4記載の発明によれば、通信要求がホッピング通信するためのデータ受信に応じて発生した場合、応答スケジュールには受信されたデータが経由した中継ノードを並べないので、すでにデータが経由した中継ノードにデータが戻されることがなくなる。
【0020】
請求項5記載の発明によれば、通信要求を受け取った全ての通信ノードから応答が送信されることなく、通信要求を受け取った通信ノードのうち通信要求の受信強度が通信閾値以上の通信ノードからしか応答が送信されないので、無駄な応答の送信が行われることなく、経路を決定するための通信量を抑えることができる。
【図面の簡単な説明】
【0021】
【図1】本発明の通信システムの一実施形態を示す構成図である。
【図2】図1に示す通信ノードの構成を示すブロック図である。
【図3】図1に示された通信ノードA〜Eのルーティングテーブルを示す表である。
【図4】図1に示す通信ノード間で送受信されるデータのフレーム構成例を示す図である。
【図5】通信要求処理における図2に示すCPUの処理手順を示すフローチャートである。
【図6】通信可能通知処理における図2に示すCPUの処理手順を示すフローチャートである。
【図7】通信フレーム受信処理における図2に示すCPUの処理手順を示すフローチャートである。
【図8】ノードBからノードEへの通信要求が発生した場合(ホッピング通信)についての本発明の通信システムを構成する各ノードのタイムチャートである。
【図9】図1に示す構成の従来の通信システムがノードBからノードCにデータを送信する場合のタイムチャートである。
【発明を実施するための形態】
【0022】
以下、本発明の通信システムを図1乃至図3を参照して説明する。本発明の通信システム1は、図1に示すように、複数の通信ノード20(ノードA、ノードB、ノードC、ノードD、ノードE)を有して構成され、これらのノードA〜Eは無線メッシュネットワークを構成している。
【0023】
図1に示した通信システム1は、ノードAはノードBと相互に無線通信可能に配置されている。ノードBはノードA、C、D、Eと相互に無線通信可能に配置されている。ノードCは、ノードB、D、Eと相互に無線通信可能に配置されている。ノードDは、ノードB、C、Eと相互に無線通信可能に配置されている。ノードEは、ノードB、C、Dと相互に無線通信可能に配置されている。各通信ノード20の配置位置は固定である。
【0024】
次に、上記通信ノード20の構成について図2を参照して以下説明する。同図に示すように、通信ノード20は、アンテナATと、データの無線受信を行うための受信手段としての受信器21と、データの無線送信を行うための送信手段としての送信器22と、受信強度検出手段としての受信強度検出回路23と、記憶手段としてのルーティングテーブル24と、通信テーブル25と、通信ノード20全体を司るCPU26と、を備えている。
【0025】
上記受信器21は、アンテナATが受信した他の通信ノード20からのデータを復調してCPU26に対して供給する。上記送信器22は、CPU26から出力されたデータを変調してアンテナATから無線送信させる。上記受信強度検出回路23は、アンテナATが受信したデータの受信強度を検出してCPU26に対して供給する。
【0026】
上記ルーティングテーブル24には、図3に示すように、通信システム1を構成する自身以外の他ノード20へのホップ数や、中継ノードの有無、中継ノードがある場合は中継ノード名(アドレスなど中継ノードを示すことができる情報)が通信ノード20毎にテーブル上に予め格納されている。
【0027】
CPU26は、受信データ判別部26aと、API26bと、通信対象ノード確認部26cと、スケジュール作成部26dと、通信要求ブロードキャスト作成部26eと、通信可否判別部26fと、通信可能通知ブロードキャスト作成部26gと、ブロードキャスト送信タイミング調整部26hと、通信テーブル作成部26iと、通信相手判別部26jと、を備えている。
【0028】
上記受信データ判別部26aは、受信器21が受信したデータの種別が、後述する通信要求ブロードキャスト(=通信要求)か、通信可能通知ブロードキャスト(=応答)か、受信通信フレームかを判別する。上記API26bは、アプリケーションから通信要求が発生すると、送信通信フレームを作成して後述する通信相手判別部26jに対して送信する。この送信通信フレームの構成例について図4を参照して説明する。図4は、通信ノード20間で送受信されるデータのフレーム構成例を示す図である。
【0029】
同図(A)に示すように、通信ノード20間で送受信されるデータ30は、送信元アドレス領域31と、送信先アドレス領域32と、通信種別領域33と、データ領域34と、から構成されている。上記API26bは、アプリケーションから通信要求が発生すると、送信元アドレス領域31に自ノードのアドレスを格納し、通信種別領域33に通信フレームである旨を示す情報を格納し、データ領域34に送信要求先(以下目的ノード)のアドレスと目的ノードへ送信したい通信データを格納した送信通信フレームを作成する。なお、送信先は後述する通信相手判別部26jが決定するため、API26bは送信先アドレス領域32をブランクにした通信フレームを作成する。
【0030】
また、API26bは、アプリケーションから通信要求が発生すると、目的ノード及び通信閾値を通信対象ノード確認部26cに出力する。通信対象ノード確認部26cは、AIP26bから目的ノード及び通信閾値が入力されると、抽出手段として働き、ルーティングテーブル24を参照して入力された目的ノードにホッピング通信する際の最初の中継ノードを全て抽出する。例えば、ノードBの場合、目的ノードがノードEであると、図3(B)に示すように、ノードC、Dが最初の中継ノードとして抽出される。
【0031】
また、通信対象ノード確認部26cは、ルーティングテーブル24を参照して入力された目的ノードと直接通信できるか否かを判定する。その後、通信対象ノード確認部26cは、目的ノードと直接通信できると判定した場合、目的ノード及び抽出した中継ノードを通信対象ノードとしてスケジュール作成部26dに出力し、目的ノードと直接通信できない即ちホッピング通信しかできないと判定した場合、スケジュール作成手段として働き、目的ノードを除いて中継ノードのみを通信対象ノードとしてスケジュール作成部26dに出力する。また、通信対象ノード確認部26cは、目的ノード及び通信閾値もスケジュール作成部26dに出力する。
【0032】
スケジュール作成部26dは、通信対象ノード確認部26cから目的ノード、通信閾値及び通信対象ノードが入力されると、スケジュール作成手段として働き、通信対象ノードを順番に並べた応答スケジュールを作成し、入力された目的ノード、通信閾値及び作成した応答スケジュールを通信要求ブロードキャスト作成部26eに出力する。通信要求ブロードキャスト作成部26eは、目的ノード、通信閾値及び応答スケジュールを入力すると、通信要求手段として働き、通信要求ブロードキャストを作成して送信器22から送信させる。
【0033】
この通信要求ブロードキャストの構成例について図4(B)を参照して説明する。上記通信要求ブロードキャスト作成部26eは、送信元アドレス領域31に自ノードのアドレスを格納し、送信先アドレス領域32に通信システム1を構成する全ての通信ノード20に送信するためのアドレスであるブロードキャストアドレスを格納し、通信種別領域33に通信要求ブロードキャストである旨を示す情報を格納する。また、通信要求ブロードキャスト作成部26eは、データ領域34に入力された通信閾値、目的ノードアドレス及び応答スケジュールを格納する。
【0034】
上記通信可否判別部26fは、受信データ判別部26aにより通信要求ブロードキャストが受信されたと判別されたとき、受信強度検出回路23により検出された受信強度を通信要求ブロードキャストの受信強度として取り込む。次に、通信可否判別部26fは、判定手段として働き、受信データ判別部26aから入力された通信要求ブロードキャストに付加された応答スケジュールに自ノードが含まれているか否かを判別する。通信可否判別部26fは、応答手段として働き、自ノードが含まれていると判別すると、検出された通信要求ブロードキャストの受信強度と通信要求ブロードキャストに付加された通信閾値とを比較し、その結果、検出された通信要求ブロードキャストの受信強度が通信閾値以上のときに通信可能通知ブロードキャスト作成部26gに通信可能通知ブロードキャストを作成させる。通信可否判別部26は、応答スケジュールに自ノードが含まれていないとき、又は、応答スケジュールに自ノードが含まれていても受信強度が通信閾値未満のときは、通信可能通知ブロードキャスト作成部26gに通信可能通知ブロードキャストを作成させない。
【0035】
上記通信可能通知ブロードキャスト作成部26gは、通信可否判別部26fからの指示により、通信可能通知ブロードキャストを作成する。この通信可能通知ブロードキャストの構成例について図4(C)を参照して説明する。通信可能通知ブロードキャスト作成部26gは、送信元アドレス領域31に自ノードのアドレスを格納し、送信先アドレス領域32にブロードキャストアドレスを格納し、通信種別領域33に通信可能通知ブロードキャストである旨を示す情報を格納する。また、通信可能通知ブロードキャスト作成部26gは、データ領域34に通信要求ブロードキャストに格納された目的ノードアドレスを格納する。
【0036】
上記ブロードキャスト送信タイミング調整部26hは、通信要求ブロードキャストを受信したタイミングを起点として、自ノードがブロードキャストで通信を行えるタイミングをカウントし、そのカウントしたタイミングで作成した通信可能通知ブロードキャストを送信器22から送信させる。詳しくは、ブロードキャスト送信タイミング調整部26hは、応答スケジュールに定められた自ノードの順番n×所定時間Tをカウントする。
【0037】
通信テーブル作成部26iは、通信可能通知ブロードキャストを受信すると、そのとき受信強度検出回路23から検出された受信強度を通信可能通知ブロードキャストの受信強度として取り込む。そして、通信テーブル作成部26iは、受信した通信可能通知ブロードキャストの送信元と受信強度との関係を示す通信テーブル25を作成する。
【0038】
通信相手判別部26jは、通信手段として働き、応答スケジュールに含まれる全てのノードからの通信可能通知ブロードキャストを受信するタイミングが経過した後、受信した通信可能通知ブロードキャストの送信元アドレス領域31に中に目的ノードアドレスが格納されている場合、API26bから出力された送信通信フレームの送信アドレス領域32に目的ノードアドレスを格納して送信させることにより、目的ノードとの直接通信を行う。一方、通信相手判別部26jは、受信した通信可能通知ブロードキャストの送信元アドレス領域31の中に目的ノードアドレスがない場合、通信可能通知ブロードキャストに付加された送信元の中から1つを中継ノードとして選択し、API26bから出力された通信フレームの送信アドレス領域32に中継ノードのアドレスを格納して送信させることにより、目的ノードとのホッピング通信を行う。
【0039】
また、上記API26bは、受信通信フレームの送信先が自ノードであり、データ領域34に格納された目的ノードも自ノードである場合は、データ領域34に格納された通信データをアプリケーションに取り込む。また、上記API26bは、受信通信フレームの送信先が自ノードであり、データ領域34に格納された目的ノードが自ノードでない場合は、ホッピング通信するための通信フレームを受信したと判定して、通受信通信フレームの送信先をブランクにし、データ領域34に自ノードを既に中継したノードとして書き込んだものを送信通信フレームとして通信相手判別部26jに対して出力すると共に受信通信フレームに格納された目的ノード及び通信閾値を通信要求ブロードキャスト作成部26eに出力して、通信要求を発生させる。
【0040】
上記通信対象ノード確認部26cは、スケジュール作成手段として働き、上述したようにホッピング通信するための通信フレームの受信に応じて通信要求が発生した場合、応答スケジュールには、受信した通信フレームの送信元のノードと、通信フレームに格納された既に中継されたノードと、を並べない。
【0041】
次に、上述した構成の通信システム1のより詳細な動作について図5〜図7に示すフローチャートを参照して説明する。まず、CPU26は、アプリケーションからの通信要求が発生したり、送信先が自ノードであり、目的ノードが自ノードでない受信通信フレームを受信すると、通信要求処理を開始する。
【0042】
通信要求処理において、CPU26は、ルーティングテーブル24を参照して目的ノードにホッピング通信する際の最初の中継ノードを全て抽出して通信対象ノードとすると共に、ルーティングテーブル24を参照して目的ノードと直接通信できるか否かを判定し、直接通信できると判定した場合のみ通信対象ノードに目的ノードを含める(ステップS1)。また、送信先が自ノードであり、目的ノードが自ノードでない受信通信フレームの受信に応じて通信要求処理が開始された場合、ステップS1においてCPU26は、その受信通信フレームの送信元のノード、受信通信フレームに格納された既に中継した中継ノードを通信対象ノードから外す。
【0043】
次に、CPU26は、通信対象ノードを順番に並べた応答スケジュールを作成する(ステップS2)。その後、CPU26は、目的ノード、通信閾値及び応答スケジュールを付加した通信要求ブロードキャストを作成し(ステップS3)、作成した通信要求ブロードキャストを送信する(ステップS4)。その後、CPU26は、他ノードからの通信可能通知ブロードキャストを順次受信すると共に、通信可能通知ブロードキャストの送信元とその受信強度とを対応付けて通信テーブル25に保存する(ステップS5)。このとき、他のノードからの通信可能通知ブロードキャストは、上記応答スケジュールによって定められた順番で受信される。
【0044】
次に、CPU26は、受信した通信可能通知ブロードキャストの送信元の中に目的ノードがあるか否かを判定する(ステップS6)。目的ノードがあると判定すると(ステップS6でY)、CPU26は、目的ノードからの通信可能通知ブロードキャストの受信強度が通信閾値以上であり安定して通信できるか否かを判定する(ステップS7)。目的ノードからの通信可能通知ブロードキャストの受信強度が通信閾値以上であり安定して通信できると判定すると(ステップS7でY)、CPU26は、直接通信を行って(ステップS8)、処理を終了する。
【0045】
一方、受信した通信可能通知ブロードキャストの送信元の中に目的ノードがないと判定したり(ステップS6でN)、目的ノードからの通信可能通知ブロードキャストの受信強度が通信閾値未満であり安定して通信できないと判定すると(ステップS7でN)、CPU26は、通信可能通知ブロードキャストの送信元の中から1つを中継ノードとして選択し(ステップS9)、ホッピング通信を行って(ステップS10)、処理を終了する。中継ノードとしては、例えば、各送信元からの通信可能通知ブロードキャストの受信強度を比較し、さらに各通信ノード20の配置やルーティングテーブル24のホップ数から最も安定して通信できるものが選択される。具体的には、通信可能通知ブロードキャストの受信強度が通信閾値以上の送信元であり、かつ、目的ノードまでの距離やホップ数が少ないものや応答スケジュールの順番が一番早いものが中継ノードとして選択される。また、CPU26は、送信先が自ノードであり、目的ノードが自ノードでない受信通信フレームの受信に応じて通信要求処理が開始された場合において上記ホッピング通信するときは、自ノードを既に経由した中継ノードとして通信フレームに書き込んだ後、次の中継ノードに通信フレームを送信する。
【0046】
一方、CPU26は、受信待ち状態のときに他の通信ノード20から通信要求ブロードキャストを受信すると通信可能通知処理を開始する。図6に示すように、通信可能通知処理において、CPU26は、まず、受信した通信要求ブロードキャストの受信強度がその通信要求ブロードキャストに格納された通信閾値以上であるか否かを判定する(ステップS11)。通信閾値未満であると(ステップS11でN)、CPU26は、通信要求ブロードキャストを無視して受信待ち状態に戻る。これに対して、通信閾値以上であると判定すると(ステップS11でY)、CPU26は、通信要求ブロードキャストに格納された目的ノードが自ノードであるか否かを判定する(ステップS12)。自ノードである場合(ステップS12でY)、CPU26は、通信可能通知ブロードキャストを作成する(ステップS13)。
【0047】
一方、CPU26は、通信要求ブロードキャストに格納された目的ノードが自ノードでないと判定すると(ステップS12でN)、CPU26は、通信要求ブロードキャストに格納された応答スケジュールを確認して(ステップS14)、自ノードが含まれているか否かを判定する(ステップS15)。自ノードが含まれていなければ(ステップS15でN)、CPU26は、通信要求ブロードキャストを無視して受信待ち状態に戻る。これに対して、自ノードが含まれていれば(ステップS15でY)、CPU26は、ステップS13に進んで通信可能通知ブロードキャストを作成する。通信可能通知ブロードキャストを作成した後、CPU26は、応答スケジュールにより決められた順番n×所定時間T経過するのを待った後(ステップS16)、作成した通信可能通知ブロードキャストを送信し(ステップS17)、再び受信待ち状態に戻る。
【0048】
また、CPU26は、受信待ち状態のときに他の通信ノード20から自ノード宛の通信フレームを受信すると通信フレーム受信処理を開始する。図7に示すように、通信フレーム受信処理において、CPU26は、まず、受信した通信フレームに格納された目的ノードが自ノードであれば(ステップS18でY)、API26bで通信フレームの受信通知すると共に通信フレームに格納されたデータをアプリケーションに出力した後(ステップS19)、再び受信待ち状態に戻る。これに対して、受信した通信フレームに格納された目的ノードが自ノードでなければ(ステップS18でN)、CPU26は、通信要求処理を開始して、他のノードに通信フレームを送信する。
【0049】
次に、具体的な動作例を図8を参照して説明する。図8は、ノードBからノードEへの通信要求が発生した場合(ホッピング通信)の各ノードA〜Eのタイムチャートである。なお、この動作例では各通信ノード20の受信能力を−70dBm、通信閾値を−55dBmとする。
【0050】
まず、ノードBでノードEとの通信要求が発生する。ノードBは、送信元アドレス領域31に自ノードBのアドレス、送信先アドレス領域32にブロードキャストアドレス、通信種別領域33に通信要求ブロードキャストである旨の情報、データ領域34に通信閾値−55dBm、目的ノードであるノードEのアドレスを格納した通信要求ブロードキャストを作成する。また、ノードBでは、ルーティングテーブル24を確認して、ノードEへ至るまでの経路を確認する。ノードBは、図3(B)からも明らかなように、ノードEへの直接通信の他、ノードC、Dを最初の中継ノードとしたホッピング通信ができることを確認し、これらノードC、D、Eを通信対象ノードとする。
【0051】
また、ノードBは、応答スケジュールとして、ノードC、ノードD、ノードEをこの順番で作成し、通信要求ブロードキャストのデータ領域34に格納した後、通信要求ブロードキャストを送信する。図8に示すように、ノードBからの通信要求ブロードキャストはノードA、C、D、Eが受信する。
【0052】
ノードAでは、通信要求ブロードキャストを−40dBmで受信している。ノードAでは、通信要求ブロードキャストに含まれる通信閾値−55dBmを確認し、通信要求ブロードキャストの受信強度−40dBmが通信閾値−55dBm以上であることを確認する。その後、ノードAは、応答スケジュールを確認するが、そこにはノードAが含まれていないので、以降は何もしない。ノードC、Dでは、通信要求ブロードキャストを−50dBmで受信している。ノードC、Dでは、通信要求ブロードキャストに含まれる通信閾値−55dBmを確認し、通信要求ブロードキャストの受信強度−50dBmが通信閾値−55dB以上であることを確認する。
【0053】
その後、ノードCは、応答スケジュールを確認し、自ノードが含まれていることを確認すると共にその順番が1番であることを確認する。また、ノードDは、応答スケジュールを確認し、自ノードが含まれていることを確認すると共にその順番が2番であることを確認する。ノードEでは、通信要求ブロードキャストを−70dBmで受信している。ノードEでは、通信要求ブロードキャストに含まれる通信要求−55dBを確認し、通信要求ブロードキャストの受信強度−70dBmが通信閾値−55dBm未満であることを確認し、通信要求ブロードキャストを受信しなかったものとし以降は何もしない。
【0054】
ノードC、Dは、ノードBからの通信要求ブロードキャストの受信を起点として、各々通信要求ブロードキャストを送信するタイミングのカウント時間を作成する。ノードCでは、所定時間Tがカウント時間として作成され、ノードDでは、2×所定時間Tがカウント時間として作成される。ノードCは、ノードBからの通信要求ブロードキャストの受信を起点とした経過時間をカウントし、そのカウント時間が所定時間Tになると、通信可能通知ブロードキャストを送信する。このとき、ノードBでは、ノードCからの通信可能通知ブロードキャストを受信したら、その受信強度と、ノードBとの受信可否の通信テーブル25を作成する。
【0055】
ノードDは、ノードBからの通信要求ブロードキャストの受信を起点とした経過時間をカウントし、そのカウント時間が2×所定時間Tになると、通信可能通知ブロードキャストを送信する。このとき、ノードBでは、ノードDからの通信可能通知ブロードキャストを受信したら、その受信強度と、ノードBとの受信可否の通信テーブル25を作成する。
【0056】
ノードBでは、通信要求ブロードキャストを送信してから、最後の通信対象ノード(ノードE)からの通信可能通知ブロードキャストを受信すべきタイミング(3×所定時間T)が経過した後、作成された通信テーブル25からデータ通信を行う際に次に送信する相手を決定する。この場合、ノードEと直接通信できないため、ノードC若しくはノードDを中継ノードとして利用する必要がある。ノードC及びノードDは共に通信閾値−55dB以上であるため、ノードBは応答スケジュールの順番が一番早いノードCを選択することにし、送信元アドレス領域31にノードBのアドレス、送信先アドレス領域32にノードCのアドレス、データ領域34に目的ノードであるノードEのアドレスと送信したいデータとを格納した通信フレームを送信する。
【0057】
ノードCでは、ノードBからの通信フレームを受信すると、この通信フレームをさらに目的ノードに直接又は中継ノードを介して送信するために、送信元アドレス領域31にノードCのアドレス、送信先アドレス領域32にブロードキャストアドレス、通信種別領域33に通信要求ブロードキャストである旨の情報、データ領域34に目的ノードアドレスを格納した通信要求ブロードキャストを作成する。また、ノードCでは、ルーティングテーブル24を確認して、ノードEへ至るまでの経路を確認する。ノードCは、図3(C)からも明らかなように、ノードEへの直接通信の他、ノードB、Dを最初の中継ノードとしたホッピング通信ができることを確認する。ノードBは受信した通信フレームの送信元であるため、ノードBは、ノードBを除いたノードD、Eを通信対象ノードとする。
【0058】
また、ノードCは、応答スケジュールとしてノードD、ノードEをこの順番で作成し、通信要求ブロードキャストのデータ領域34に格納した後、通信要求ブロードキャストを送信する。図8に示すように、ノードCからの通信要求ブロードキャストは、ノードA、B、D、Eが受信する。
【0059】
ノードAでは、通信要求ブロードキャストを−60dBmで受信している。ノードAでは、通信要求ブロードキャストに含まれる通信閾値−55dBmを確認し、通信要求ブロードキャストの受信強度−60dBmが通信閾値−55dBm未満であることを確認し、通信要求ブロードキャストを受信しなかったものとし以降は何もしない。ノードBでは、通信要求ブロードキャストを−50dBmで受信している。ノードBでは、通信要求ブロードキャストに含まれる通信閾値−55dBmを確認し、通信要求ブロードキャストの受信強度−50dBmが通信閾値−55dBm以上であることを確認する。その後、ノードBは、応答スケジュールを確認するが、そこにはノードBが含まれていないので、以降は何もしない。
【0060】
ノードD、Eでは、通信要求ブロードキャストを−50dBmで受信している。ノードD、Eでは、通信要求ブロードキャストに含まれる通信閾値−55dBmを確認し、通信要求ブロードキャストの受信強度−50dBmが通信閾値−55dB以上であることを確認する。その後、ノードDは、応答スケジュールを確認し、自ノードが含まれていることを確認する共にその順番が1番であることを確認する。また、ノードEは、応答スケジュールを確認し、自ノードが含まれていることを確認すると共にその順番が2番であることを確認する。
【0061】
ノードD、Eは、ノードCからの通信要求ブロードキャストの受信を起点として、各々通信要求ブロードキャストを送信するタイミングのカウント時間を作成する。ノードDでは、所定時間Tがカウント時間として作成され、ノードEでは、2×所定時間Tがカウント時間として作成される。ノードDは、ノードBからの通信要求ブロードキャストの受信を起点とした経過時間をカウントし、そのカウント時間が所定時間Tになると、通信可能通知ブロードキャストを送信する。このとき、ノードCでは、ノードDからの通信可能通知ブロードキャストを受信したら、その受信強度と、ノードDとの受信可否の通信テーブル25を作成する。
【0062】
ノードEは、ノードCからの通信要求ブロードキャストの受信を起点とした経過時間をカウントし、そのカウント時間が2×所定時間Tになると、通信可能通知ブロードキャストを送信する。このとき、ノードCでは、ノードEからの通信可能通知ブロードキャストを受信したら、その受信強度と、ノードEとの受信可否の通信テーブル25を作成する。
【0063】
ノードCでは、通信要求ブロードキャストを送信してから、最後の通信対象ノード(ノードE)からの通信可能通知ブロードキャストを受信すべきタイミング(2×所定時間T)が経過した後、作成された通信テーブル25からデータ通信を行う際に次に送信する相手を決定する。この場合、ノードEと直接通信でできるため、ノードCは、ノードBから送信された通信フレームの送信先アドレス領域32に格納されたアドレスをノードEのアドレスに書き換えて送信する。
【0064】
図8及び図9を比較しても明らかなように、従来は通信システム1を構成するノード数m=5とすると、通信要求ブロードキャストを送信してから4×所定時間T経過するのを必ず待ってからでないと通信フレームを送信できなかったが、本発明の通信システム1によれば、通信要求ブロードキャストを送信してから4×所定時間T経過するのを待たなくても通信フレームを送信できるので、迅速にデータ通信を開始できる。
【0065】
即ち、上述した通信システム1によれば、通信対象ノード確認部26c及びスケジュール作成部26dが、通信フレームの通信要求が発生するとルーティングテーブル24を参照して通信要求先のノードにホッピング通信する際の最初の中継ノードを全て抽出し、当該抽出した全ての中継ノードと目的ノードとに基づいて送信先のノードを順番に並べた応答スケジュールを作成し、通信要求ブロードキャスト作成部26eが、作成した応答スケジュールを付加した通信要求ブロードキャストを送信させる。また、通信可否判別部26dが、受信器21により通信要求ブロードキャストを受信したとき、当該通信要求ブロードキャストに付加された応答スケジュールに自ノードが含まれているか否かを判定し、応答スケジュールに自ノードが含まれていると判定された場合のみ、応答スケジュールで定められた自ノードの順番に応じたタイミングで、送信元を付加した応答を送信器22から送信させるので、中継ノードとならないノードが応答スケジュールに含まれることがなくなり、迅速にデータ通信を開始することができる。
【0066】
また、上述した通信システム1によれば、目的ノードが直接通信できるノードでない場合、通信対象ノード確認部26cが目的ノードを通信対象ノードとしない(即ち応答スケジュールに並べない)ので、直接送信できない目的ノードが応答スケジュールに含まれることがなくなり、より一層、迅速にデータ通信を開始することができる。
【0067】
また、上述した通信システム1によれば、通信要求がホッピング通信するための通信フレーム受信に応じて発生した場合、通信対象ノード確認部26cが、受信された通信フレームの送信元のノードを通信対象ノードとしないので、通信フレームが送信元に戻されることがなくなる。
【0068】
また、上述した通信システム1によれば、通信要求がホッピング通信するための通信フレーム受信に応じて発生した場合、通信対象ノード確認部26cが、受信された通信フレームが経由した中継ノードを通信対象ノードとしないので、すでに通信フレームが経由した中継ノードにデータが戻されることがなくなる。
【0069】
また、上述した通信システム1によれば、CPU26は、通信要求ブロードキャストの受信強度が通信閾値以上のときに送信元を付加した通信可能通知ブロードキャストを送信させている。これにより、通信要求ブロードキャストを受け取った全ての通信ノード20から通信可能通知ブロードキャストが送信されることなく、通信要求ブロードキャストを受け取った通信ノード20のうち通信要求ブロードキャストの受信強度が通信閾値以上の通信ノード20からしか通信可能通知ブロードキャストが送信されないので、無駄な通信可能通知ブロードキャストの送信が行われることなく、経路を決定するための通信量を抑えることができる。
【0070】
なお、上述した実施形態によれば、図4に示す通信フレームの構成は一例であり、各領域の配置はどのようになっていてもよい。さらに、無線LANなどで広く利用されているフォーマットであってもよい。
【0071】
また、上述した実施形態によれば、通信可能通知ブロードキャストを送信してきた通信ノード20のうち目的ノードに最も近いものを中継ノードとして選択していたが、中継ノードを選択する方法としては一例であり、例えば、目的ノードまでのホップ数が一番少ないものを中継ノードと選択し、さらに、ホップ数が同じ場合には目的ノードまでの距離が短く、受信強度の高いものを選択するようにしてもよい。
【0072】
また、上述した実施形態によれば、通信要求ブロードキャストに通信閾値を付加させていたが、本発明はこれに限ったものではない。通信閾値としては、例えば、共通の値として各通信ノード20にそれぞれ格納するようにしてもよい。
【0073】
また、どのノード20からも通信可能通知ブロードキャストが送信されない場合、目的ノードまで経由できる中継ノードがない、若しくは、目的ノードとは直接通信できる環境にないか、目的ノードまでが受信強度レベルぎりぎりであることになる。その場合、中継ノードを選択する処理をスキップして、直接通信する処理を行うようにしてもよい。
【0074】
また、上述した実施形態によれば、各ノード20は、通信要求ブロードキャストを受信したとき、応答スケジュールに自ノードが含まれ、かつ、通信要求ブロードキャストの受信強度が通信閾値以上のときに、通信可能通知ブロードキャストを送信していたが、本発明はこれに限ったものではない。例えば、通信要求ブロードキャストの受信強度と通信閾値との比較をやめて、応答スケジュールに自ノードが含まれていたときに通信可能通知ブロードキャストを送信するようにしてもよい。
【0075】
また、前述した実施形態は本発明の代表的な形態を示したに過ぎず、本発明は、実施形態に限定されるものではない。即ち、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。
【符号の説明】
【0076】
1 通信システム
20 通信ノード
21 受信器(受信手段)
22 送信器(送信手段)
23 受信強度検出回路(受信強度検出手段)
24 ルーティングテーブル(記憶手段)
26c 通信対象ノード確認部(抽出手段、スケジュール作成手段)
26d スケジュール作成部(スケジュール作成手段)
【特許請求の範囲】
【請求項1】
データの無線受信を行う受信手段と、データの無線送信を行う送信手段と、を備えた通信ノードを複数有して無線メッシュネットワークを構成する通信システムにおいて、
前記複数の通信ノードの各々が、
自ノードから各他ノードにホッピング通信をする際の最初の中継ノードが記憶された記憶手段と、
前記データの通信要求が発生すると、前記記憶手段を参照して通信要求先のノードにホッピング通信する際の最初の中継ノードを全て抽出する抽出手段と、
前記抽出手段により抽出した全ての中継ノードと前記通信要求先のノードとに基づいて送信先のノードを順番に並べた応答スケジュールを作成するスケジュール作成手段と、
前記作成した応答スケジュールを付加した通信要求を前記送信手段から送信させる通信要求手段と、
前記受信手段が前記通信要求を受信すると、当該通信要求に付加された前記応答スケジュールに自ノードが含まれているか否かを判定する判定手段と、
前記応答スケジュールに自ノードが含まれていると判定された場合、前記応答スケジュールで定められた自ノードの順番に応じたタイミングで、自ノードのアドレスを送信元として付加した応答を前記送信手段から送信させ、前記応答スケジュールに自ノードが含まれていないと判定された場合、前記応答を送信しない応答手段と、
前記応答スケジュールに含まれる全てのノードからの応答を受信するタイミングが経過した後に、前記受信手段が受信した前記応答に付加された送信元に通信要求先のノードがある場合、前記通信要求先のノードとの直接通信を行い、通信要求先のノードがない場合、前記応答に付加された送信元の中から1つを中継ノードとして選択し、前記通信要求先のノードとのホッピング通信を行う通信手段と、
を備えたことを特徴とする通信システム。
【請求項2】
前記記憶手段には自ノードからデータを直接送信できる他ノードがさらに記憶され、
前記スケジュール作成手段は、前記通信要求先のノードが直接通信できるノードでない場合、前記応答スケジュールには前記通信要求先のノードを並べない
ことを特徴とする請求項1に記載の通信システム。
【請求項3】
前記スケジュール作成手段は、前記ホッピング通信するためのデータ受信に応じて前記データの通信要求が発生した場合、当該受信されたデータの送信元のノードを前記応答スケジュールには並べない
ことを特徴とする請求項1又は2に記載の通信システム。
【請求項4】
前記スケジュール作成手段は、前記ホッピング通信するためのデータ受信に応じて前記データの通信要求が発生した場合、当該受信されたデータが経由した中継ノードを前記応答スケジュールには並べない
ことを特徴とする請求項3に記載の通信システム。
【請求項5】
前記受信手段が受信した通信要求の受信強度を検出する受信強度検出手段を備え、
前記応答手段が、前記受信強度検出手段が検出した受信強度が通信閾値未満である場合、前記応答を送信しない
ことを特徴とする請求項1〜4何れか1項に記載の通信システム。
【請求項1】
データの無線受信を行う受信手段と、データの無線送信を行う送信手段と、を備えた通信ノードを複数有して無線メッシュネットワークを構成する通信システムにおいて、
前記複数の通信ノードの各々が、
自ノードから各他ノードにホッピング通信をする際の最初の中継ノードが記憶された記憶手段と、
前記データの通信要求が発生すると、前記記憶手段を参照して通信要求先のノードにホッピング通信する際の最初の中継ノードを全て抽出する抽出手段と、
前記抽出手段により抽出した全ての中継ノードと前記通信要求先のノードとに基づいて送信先のノードを順番に並べた応答スケジュールを作成するスケジュール作成手段と、
前記作成した応答スケジュールを付加した通信要求を前記送信手段から送信させる通信要求手段と、
前記受信手段が前記通信要求を受信すると、当該通信要求に付加された前記応答スケジュールに自ノードが含まれているか否かを判定する判定手段と、
前記応答スケジュールに自ノードが含まれていると判定された場合、前記応答スケジュールで定められた自ノードの順番に応じたタイミングで、自ノードのアドレスを送信元として付加した応答を前記送信手段から送信させ、前記応答スケジュールに自ノードが含まれていないと判定された場合、前記応答を送信しない応答手段と、
前記応答スケジュールに含まれる全てのノードからの応答を受信するタイミングが経過した後に、前記受信手段が受信した前記応答に付加された送信元に通信要求先のノードがある場合、前記通信要求先のノードとの直接通信を行い、通信要求先のノードがない場合、前記応答に付加された送信元の中から1つを中継ノードとして選択し、前記通信要求先のノードとのホッピング通信を行う通信手段と、
を備えたことを特徴とする通信システム。
【請求項2】
前記記憶手段には自ノードからデータを直接送信できる他ノードがさらに記憶され、
前記スケジュール作成手段は、前記通信要求先のノードが直接通信できるノードでない場合、前記応答スケジュールには前記通信要求先のノードを並べない
ことを特徴とする請求項1に記載の通信システム。
【請求項3】
前記スケジュール作成手段は、前記ホッピング通信するためのデータ受信に応じて前記データの通信要求が発生した場合、当該受信されたデータの送信元のノードを前記応答スケジュールには並べない
ことを特徴とする請求項1又は2に記載の通信システム。
【請求項4】
前記スケジュール作成手段は、前記ホッピング通信するためのデータ受信に応じて前記データの通信要求が発生した場合、当該受信されたデータが経由した中継ノードを前記応答スケジュールには並べない
ことを特徴とする請求項3に記載の通信システム。
【請求項5】
前記受信手段が受信した通信要求の受信強度を検出する受信強度検出手段を備え、
前記応答手段が、前記受信強度検出手段が検出した受信強度が通信閾値未満である場合、前記応答を送信しない
ことを特徴とする請求項1〜4何れか1項に記載の通信システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【公開番号】特開2013−102314(P2013−102314A)
【公開日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願番号】特願2011−244203(P2011−244203)
【出願日】平成23年11月8日(2011.11.8)
【出願人】(000006895)矢崎総業株式会社 (7,019)
【Fターム(参考)】
【公開日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願日】平成23年11月8日(2011.11.8)
【出願人】(000006895)矢崎総業株式会社 (7,019)
【Fターム(参考)】
[ Back to top ]