(57)【特許請求の範囲】
【請求項１】
データの無線受信を行う受信手段と、データの無線送信を行う送信手段と、を備えた通信ノードを複数有して無線メッシュネットワークを構成する通信システムにおいて、
前記複数の通信ノードの各々が、
自ノードから各他ノードにホッピング通信をする際の最初の中継ノードが記憶された記憶手段と、
前記データの通信要求が発生すると、前記記憶手段を参照して通信要求先のノードにホッピング通信する際の最初の中継ノードを全て抽出する抽出手段と、
前記抽出手段により抽出した全ての中継ノードと前記通信要求先のノードとに基づいて送信先のノードを順番に並べた応答スケジュールを作成するスケジュール作成手段と、
前記作成した応答スケジュールを付加した通信要求を前記送信手段から送信させる通信要求手段と、
前記受信手段が前記通信要求を受信すると、当該通信要求に付加された前記応答スケジュールに自ノードが含まれているか否かを判定する判定手段と、
前記応答スケジュールに自ノードが含まれていると判定された場合、前記応答スケジュールで定められた自ノードの順番に応じたタイミングで、自ノードのアドレスを送信元として付加した応答を前記送信手段から送信させ、前記応答スケジュールに自ノードが含まれていないと判定された場合、前記応答を送信しない応答手段と、
前記応答スケジュールに含まれる全てのノードからの応答を受信するタイミングが経過した後に、前記受信手段が受信した前記応答に付加された送信元に通信要求先のノードがある場合、前記通信要求先のノードとの直接通信を行い、通信要求先のノードがない場合、前記応答に付加された送信元の中から１つを中継ノードとして選択し、前記通信要求先のノードとのホッピング通信を行う通信手段と、
を備えたことを特徴とする通信システム。
【請求項２】
前記記憶手段には自ノードからデータを直接送信できる他ノードがさらに記憶され、
前記スケジュール作成手段は、前記通信要求先のノードが直接通信できるノードでない場合、前記応答スケジュールには前記通信要求先のノードを並べない
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記スケジュール作成手段は、前記ホッピング通信するためのデータ受信に応じて前記データの通信要求が発生した場合、当該受信されたデータの送信元のノードを前記応答スケジュールには並べない
ことを特徴とする請求項１又は２に記載の通信システム。
【請求項４】
前記スケジュール作成手段は、前記ホッピング通信するためのデータ受信に応じて前記データの通信要求が発生した場合、当該受信されたデータが経由した中継ノードを前記応答スケジュールには並べない
ことを特徴とする請求項３に記載の通信システム。
【請求項５】
前記受信手段が受信した通信要求の受信強度を検出する受信強度検出手段を備え、
前記応答手段が、前記受信強度検出手段が検出した受信強度が通信閾値未満である場合、前記応答を送信しない
ことを特徴とする請求項１〜４何れか１項に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムに係り、特に、データの無線受信を行う受信手段と、データの無線送信を行う送信手段と、を備えた通信ノードを複数有して無線メッシュネットワークを構成する通信システムに関するものである。
【背景技術】
【０００２】
全ての通信ノードが中継ノードとなれるメッシュネットワークにおいては、送信元の通信ノードから送信先の通信ノードまでの経路を選択する必要がある。通信ノードの設置位置が固定である場合、一般的には複数の通信ノードの設置位置の関係から上記経路を選択することが行われている。
【０００３】
ここで、通信ノード間に障害物が存在したり、有線の配線が困難な場所では、通信ノードとして無線端末を利用する。このように設置位置が固定されている通信ノードであっても無線通信を利用した場合、例えば以下の例１、例２のような諸々の影響により、経路の状態が変わるため通信ノードの設置位置の関係だけでは、最適な経路を選択できない、という問題点があった。
【０００４】
例１：近隣で利用されている無線機の送信電波によって、通信ノード間の電波環境の影響を及ぼす。例２：通信ノード間の途中に人など、移動体が入ることによって電波環境が悪化する。
【０００５】
そこで、このような問題点を解決するために、通信の直前に送信元の通信ノードから他の通信ノードに対して送信要求をブロードキャスト送信し、この送信要求を受け取った他の通信ノードから応答が送信され、送信元の通信ノードが受け取った応答の受信強度が閾値以上の経路の中から選択する通信システムが提案されている（例えば特許文献１）。また、本出願人は、送信要求を受け取ったノードがその送信要求の受信強度が通信閾値未満である場合は応答しないようにして通信量の低減を図ったものも提案している。
【０００６】
上記従来の通信システムの動作の一例について図９を参照して説明する。図９は、図１に示す構成の従来の通信システムがノードＢからノードＥにデータを送信する場合のタイムチャートである。ノードＡ〜Ｅは予め順番が決められている。ここでは、ノードＡが１番、ノードＢが２番、ノードＣが３番、ノードＤが４番、ノードＥが５番に定められている。ノードＢでノードＥへの送信要求が発生すると、ノードＢは送信要求をブロードキャスト送信する。上記送信要求を受け取ったノードＡ、Ｃ、Ｄは、予め定めた順番で応答を送信する。この場合、ノードＡ、ノードＣ、ノードＤの順番で応答が送信される。なお、ノードＥは、送信要求の受信強度が低いため、応答しない。
【０００７】
ノードＢは、ノードＡ、Ｃ、Ｄの応答を受信すると、応答を受け取ったノードＡ、Ｃ、Ｄの中からノードＣを最適な中継ノードとして選択して、送信要求先をノードＥとしたデータをノードＣ宛に送信する。このデータを受け取ったノードＣは、送信要求をブロードキャスト送信する。上記送信要求を受け取ったノードＡ、Ｂ、Ｄ、Ｅは、予め定めた順番で応答を送信する。この場合、ノードＡ、ノードＢ、ノードＤ、ノードＥの順番で応答が送信される。ノードＣは、ノードＡ、Ｂ、Ｄ、Ｅの応答を受信すると、データをノードＥに直接送信する。
【０００８】
図１から明らかなように、ノードＢからノードＥへの送信には、ノードＡが中継ノードとなることはない。しかしながら、従来の通信システムでは、送信元のノード以外の全てのノードが応答を行うようにスケジュールが定められているので、ノードＡも応答送信を行っている。さらに、ノードＣが中継ノードとなってノードＥへデータをリレーする後段では、ノードＡに加えてノードＢも中継ノードとなることはないにも関わらず、ノードＢも応答送信を行っている。このように、明らかに無駄と思われる応答が存在しているため、データ通信の開始が遅れてしまう、という問題があった。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】信学技法IEICE  Techinical Report SRW2010-24
【発明の概要】
【発明が解決しようとする課題】
【００１０】
そこで、本発明は、迅速にデータ通信を開始することができる通信システムを提供することを課題とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決するための請求項１記載の発明は、データの無線受信を行う受信手段と、データの無線送信を行う送信手段と、を備えた通信ノードを複数有して無線メッシュネットワークを構成する通信システムにおいて、前記複数の通信ノードの各々が、自ノードから各他ノードにホッピング通信をする際の最初の中継ノードが記憶された記憶手段と、前記データの通信要求が発生すると、前記記憶手段を参照して通信要求先のノードにホッピング通信する際の最初の中継ノードを全て抽出する抽出手段と、前記抽出手段により抽出した全ての中継ノードと前記通信要求先のノードとに基づいて送信先のノードを順番に並べた応答スケジュールを作成するスケジュール作成手段と、前記作成した応答スケジュールを付加した通信要求を前記送信手段から送信させる通信要求手段と、前記受信手段が前記通信要求を受信すると、当該通信要求に付加された前記応答スケジュールに自ノードが含まれているか否かを判定する判定手段と、前記応答スケジュールに自ノードが含まれていると判定された場合、前記応答スケジュールで定められた自ノードの順番に応じたタイミングで、自ノードのアドレスを送信元として付加した応答を前記送信手段から送信させ、前記応答スケジュールに自ノードが含まれていないと判定された場合、前記応答を送信しない応答手段と、前記応答スケジュールに含まれる全てのノードからの応答を受信するタイミングが経過した後に、前記受信手段が受信した前記応答に付加された送信元に通信要求先のノードがある場合、前記通信要求先のノードとの直接通信を行い、通信要求先のノードがない場合、前記応答に付加された送信元の中から１つを中継ノードとして選択し、前記通信要求先のノードとのホッピング通信を行う通信手段と、を備えたことを特徴とする通信システムに存する。
【００１２】
請求項２記載の発明は、前記記憶手段には自ノードからデータを直接送信できる他ノードがさらに記憶され、前記スケジュール作成手段は、前記通信要求先のノードが直接通信できるノードでない場合、前記応答スケジュールには前記通信要求先のノードを並べないことを特徴とする請求項１に記載の通信システムに存する。
【００１３】
請求項３記載の発明は、前記スケジュール作成手段は、前記ホッピング通信するためのデータ受信に応じて前記データの通信要求が発生した場合、当該受信されたデータの送信元のノードを前記応答スケジュールには並べないことを特徴とする請求項１又は２に記載の通信システムに存する。
【００１４】
請求項４記載の発明は、前記スケジュール作成手段は、前記ホッピング通信するためのデータ受信に応じて前記データの通信要求が発生した場合、当該受信されたデータが経由した中継ノードを前記応答スケジュールには並べないことを特徴とする請求項３に記載の通信システムに存する。
【００１５】
請求項５記載の発明は、前記受信手段が受信した通信要求の受信強度を検出する受信強度検出手段を備え、前記応答手段が、前記受信強度検出手段が検出した受信強度が通信閾値未満である場合、前記応答を送信しないことを特徴とする請求項１〜４何れか１項に記載の通信システムに存する。
【発明の効果】
【００１６】
以上説明したように請求項１記載の発明によれば、スケジュール作成手段が、データの通信要求が発生すると記憶手段を参照して通信要求先のノードにホッピング通信する際の最初の中継ノードを全て抽出し、当該抽出した全ての中継ノードと通信要求先とに基づいて送信先のノードを順番に並べた応答スケジュールを作成し、通信要求手段が、作成した応答スケジュールを付加した通信要求を送信させる。また、判定手段が、受信手段により通信要求を受信したとき、当該通信要求に付加された応答スケジュールに自ノードが含まれているか否かを判定し、応答手段が、応答スケジュールに自ノードが含まれていると判定された場合のみ、応答スケジュールで定められた自ノードの順番に応じたタイミングで、送信元を付加した応答を送信手段から送信させるので、中継ノードとならないノードが応答スケジュールに含まれることがなくなり、迅速にデータ通信を開始することができる。
【００１７】
請求項２記載の発明によれば、通信要求先のノードが直接通信できるノードでない場合、応答スケジュールには通信要求先のノードを並べないので、直接送信できない通信要求先のノードが応答スケジュールに含まれることがなくなり、より一層、迅速にデータ通信を開始することができる。
【００１８】
請求項３記載の発明によれば、通信要求がホッピング通信するためのデータ受信に応じて発生した場合、応答スケジュールには受信されたデータの送信元のノードを並べないので、データが送信元に戻されることがなくなる。
【００１９】
請求項４記載の発明によれば、通信要求がホッピング通信するためのデータ受信に応じて発生した場合、応答スケジュールには受信されたデータが経由した中継ノードを並べないので、すでにデータが経由した中継ノードにデータが戻されることがなくなる。
【００２０】
請求項５記載の発明によれば、通信要求を受け取った全ての通信ノードから応答が送信されることなく、通信要求を受け取った通信ノードのうち通信要求の受信強度が通信閾値以上の通信ノードからしか応答が送信されないので、無駄な応答の送信が行われることなく、経路を決定するための通信量を抑えることができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の通信システムの一実施形態を示す構成図である。
【図２】図１に示す通信ノードの構成を示すブロック図である。
【図３】図１に示された通信ノードＡ〜Ｅのルーティングテーブルを示す表である。
【図４】図１に示す通信ノード間で送受信されるデータのフレーム構成例を示す図である。
【図５】通信要求処理における図２に示すＣＰＵの処理手順を示すフローチャートである。
【図６】通信可能通知処理における図２に示すＣＰＵの処理手順を示すフローチャートである。
【図７】通信フレーム受信処理における図２に示すＣＰＵの処理手順を示すフローチャートである。
【図８】ノードＢからノードＥへの通信要求が発生した場合（ホッピング通信）についての本発明の通信システムを構成する各ノードのタイムチャートである。
【図９】図１に示す構成の従来の通信システムがノードＢからノードＣにデータを送信する場合のタイムチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明の通信システムを図１乃至図３を参照して説明する。本発明の通信システム１は、図１に示すように、複数の通信ノード２０（ノードＡ、ノードＢ、ノードＣ、ノードＤ、ノードＥ）を有して構成され、これらのノードＡ〜Ｅは無線メッシュネットワークを構成している。
【００２３】
図１に示した通信システム１は、ノードＡはノードＢと相互に無線通信可能に配置されている。ノードＢはノードＡ、Ｃ、Ｄ、Ｅと相互に無線通信可能に配置されている。ノードＣは、ノードＢ、Ｄ、Ｅと相互に無線通信可能に配置されている。ノードＤは、ノードＢ、Ｃ、Ｅと相互に無線通信可能に配置されている。ノードＥは、ノードＢ、Ｃ、Ｄと相互に無線通信可能に配置されている。各通信ノード２０の配置位置は固定である。
【００２４】
次に、上記通信ノード２０の構成について図２を参照して以下説明する。同図に示すように、通信ノード２０は、アンテナＡＴと、データの無線受信を行うための受信手段としての受信器２１と、データの無線送信を行うための送信手段としての送信器２２と、受信強度検出手段としての受信強度検出回路２３と、記憶手段としてのルーティングテーブル２４と、通信テーブル２５と、通信ノード２０全体を司るＣＰＵ２６と、を備えている。
【００２５】
上記受信器２１は、アンテナＡＴが受信した他の通信ノード２０からのデータを復調してＣＰＵ２６に対して供給する。上記送信器２２は、ＣＰＵ２６から出力されたデータを変調してアンテナＡＴから無線送信させる。上記受信強度検出回路２３は、アンテナＡＴが受信したデータの受信強度を検出してＣＰＵ２６に対して供給する。
【００２６】
上記ルーティングテーブル２４には、図３に示すように、通信システム１を構成する自身以外の他ノード２０へのホップ数や、中継ノードの有無、中継ノードがある場合は中継ノード名（アドレスなど中継ノードを示すことができる情報）が通信ノード２０毎にテーブル上に予め格納されている。
【００２７】
ＣＰＵ２６は、受信データ判別部２６ａと、ＡＰＩ２６ｂと、通信対象ノード確認部２６ｃと、スケジュール作成部２６ｄと、通信要求ブロードキャスト作成部２６ｅと、通信可否判別部２６ｆと、通信可能通知ブロードキャスト作成部２６ｇと、ブロードキャスト送信タイミング調整部２６ｈと、通信テーブル作成部２６ｉと、通信相手判別部２６ｊと、を備えている。
【００２８】
上記受信データ判別部２６ａは、受信器２１が受信したデータの種別が、後述する通信要求ブロードキャスト（＝通信要求）か、通信可能通知ブロードキャスト（＝応答）か、受信通信フレームかを判別する。上記ＡＰＩ２６ｂは、アプリケーションから通信要求が発生すると、送信通信フレームを作成して後述する通信相手判別部２６ｊに対して送信する。この送信通信フレームの構成例について図４を参照して説明する。図４は、通信ノード２０間で送受信されるデータのフレーム構成例を示す図である。
【００２９】
同図（Ａ）に示すように、通信ノード２０間で送受信されるデータ３０は、送信元アドレス領域３１と、送信先アドレス領域３２と、通信種別領域３３と、データ領域３４と、から構成されている。上記ＡＰＩ２６ｂは、アプリケーションから通信要求が発生すると、送信元アドレス領域３１に自ノードのアドレスを格納し、通信種別領域３３に通信フレームである旨を示す情報を格納し、データ領域３４に送信要求先（以下目的ノード）のアドレスと目的ノードへ送信したい通信データを格納した送信通信フレームを作成する。なお、送信先は後述する通信相手判別部２６ｊが決定するため、ＡＰＩ２６ｂは送信先アドレス領域３２をブランクにした通信フレームを作成する。
【００３０】
また、ＡＰＩ２６ｂは、アプリケーションから通信要求が発生すると、目的ノード及び通信閾値を通信対象ノード確認部２６ｃに出力する。通信対象ノード確認部２６ｃは、ＡＩＰ２６ｂから目的ノード及び通信閾値が入力されると、抽出手段として働き、ルーティングテーブル２４を参照して入力された目的ノードにホッピング通信する際の最初の中継ノードを全て抽出する。例えば、ノードＢの場合、目的ノードがノードＥであると、図３（Ｂ）に示すように、ノードＣ、Ｄが最初の中継ノードとして抽出される。
【００３１】
また、通信対象ノード確認部２６ｃは、ルーティングテーブル２４を参照して入力された目的ノードと直接通信できるか否かを判定する。その後、通信対象ノード確認部２６ｃは、目的ノードと直接通信できると判定した場合、目的ノード及び抽出した中継ノードを通信対象ノードとしてスケジュール作成部２６ｄに出力し、目的ノードと直接通信できない即ちホッピング通信しかできないと判定した場合、スケジュール作成手段として働き、目的ノードを除いて中継ノードのみを通信対象ノードとしてスケジュール作成部２６ｄに出力する。また、通信対象ノード確認部２６ｃは、目的ノード及び通信閾値もスケジュール作成部２６ｄに出力する。
【００３２】
スケジュール作成部２６ｄは、通信対象ノード確認部２６ｃから目的ノード、通信閾値及び通信対象ノードが入力されると、スケジュール作成手段として働き、通信対象ノードを順番に並べた応答スケジュールを作成し、入力された目的ノード、通信閾値及び作成した応答スケジュールを通信要求ブロードキャスト作成部２６ｅに出力する。通信要求ブロードキャスト作成部２６ｅは、目的ノード、通信閾値及び応答スケジュールを入力すると、通信要求手段として働き、通信要求ブロードキャストを作成して送信器２２から送信させる。
【００３３】
この通信要求ブロードキャストの構成例について図４（Ｂ）を参照して説明する。上記通信要求ブロードキャスト作成部２６ｅは、送信元アドレス領域３１に自ノードのアドレスを格納し、送信先アドレス領域３２に通信システム１を構成する全ての通信ノード２０に送信するためのアドレスであるブロードキャストアドレスを格納し、通信種別領域３３に通信要求ブロードキャストである旨を示す情報を格納する。また、通信要求ブロードキャスト作成部２６ｅは、データ領域３４に入力された通信閾値、目的ノードアドレス及び応答スケジュールを格納する。
【００３４】
上記通信可否判別部２６ｆは、受信データ判別部２６ａにより通信要求ブロードキャストが受信されたと判別されたとき、受信強度検出回路２３により検出された受信強度を通信要求ブロードキャストの受信強度として取り込む。次に、通信可否判別部２６ｆは、判定手段として働き、受信データ判別部２６ａから入力された通信要求ブロードキャストに付加された応答スケジュールに自ノードが含まれているか否かを判別する。通信可否判別部２６ｆは、応答手段として働き、自ノードが含まれていると判別すると、検出された通信要求ブロードキャストの受信強度と通信要求ブロードキャストに付加された通信閾値とを比較し、その結果、検出された通信要求ブロードキャストの受信強度が通信閾値以上のときに通信可能通知ブロードキャスト作成部２６ｇに通信可能通知ブロードキャストを作成させる。通信可否判別部２６は、応答スケジュールに自ノードが含まれていないとき、又は、応答スケジュールに自ノードが含まれていても受信強度が通信閾値未満のときは、通信可能通知ブロードキャスト作成部２６ｇに通信可能通知ブロードキャストを作成させない。
【００３５】
上記通信可能通知ブロードキャスト作成部２６ｇは、通信可否判別部２６ｆからの指示により、通信可能通知ブロードキャストを作成する。この通信可能通知ブロードキャストの構成例について図４（Ｃ）を参照して説明する。通信可能通知ブロードキャスト作成部２６ｇは、送信元アドレス領域３１に自ノードのアドレスを格納し、送信先アドレス領域３２にブロードキャストアドレスを格納し、通信種別領域３３に通信可能通知ブロードキャストである旨を示す情報を格納する。また、通信可能通知ブロードキャスト作成部２６ｇは、データ領域３４に通信要求ブロードキャストに格納された目的ノードアドレスを格納する。
【００３６】
上記ブロードキャスト送信タイミング調整部２６ｈは、通信要求ブロードキャストを受信したタイミングを起点として、自ノードがブロードキャストで通信を行えるタイミングをカウントし、そのカウントしたタイミングで作成した通信可能通知ブロードキャストを送信器２２から送信させる。詳しくは、ブロードキャスト送信タイミング調整部２６ｈは、応答スケジュールに定められた自ノードの順番ｎ×所定時間Ｔをカウントする。
【００３７】
通信テーブル作成部２６ｉは、通信可能通知ブロードキャストを受信すると、そのとき受信強度検出回路２３から検出された受信強度を通信可能通知ブロードキャストの受信強度として取り込む。そして、通信テーブル作成部２６ｉは、受信した通信可能通知ブロードキャストの送信元と受信強度との関係を示す通信テーブル２５を作成する。
【００３８】
通信相手判別部２６ｊは、通信手段として働き、応答スケジュールに含まれる全てのノードからの通信可能通知ブロードキャストを受信するタイミングが経過した後、受信した通信可能通知ブロードキャストの送信元アドレス領域３１に中に目的ノードアドレスが格納されている場合、ＡＰＩ２６ｂから出力された送信通信フレームの送信アドレス領域３２に目的ノードアドレスを格納して送信させることにより、目的ノードとの直接通信を行う。一方、通信相手判別部２６ｊは、受信した通信可能通知ブロードキャストの送信元アドレス領域３１の中に目的ノードアドレスがない場合、通信可能通知ブロードキャストに付加された送信元の中から１つを中継ノードとして選択し、ＡＰＩ２６ｂから出力された通信フレームの送信アドレス領域３２に中継ノードのアドレスを格納して送信させることにより、目的ノードとのホッピング通信を行う。
【００３９】
また、上記ＡＰＩ２６ｂは、受信通信フレームの送信先が自ノードであり、データ領域３４に格納された目的ノードも自ノードである場合は、データ領域３４に格納された通信データをアプリケーションに取り込む。また、上記ＡＰＩ２６ｂは、受信通信フレームの送信先が自ノードであり、データ領域３４に格納された目的ノードが自ノードでない場合は、ホッピング通信するための通信フレームを受信したと判定して、通受信通信フレームの送信先をブランクにし、データ領域３４に自ノードを既に中継したノードとして書き込んだものを送信通信フレームとして通信相手判別部２６ｊに対して出力すると共に受信通信フレームに格納された目的ノード及び通信閾値を通信要求ブロードキャスト作成部２６ｅに出力して、通信要求を発生させる。
【００４０】
上記通信対象ノード確認部２６ｃは、スケジュール作成手段として働き、上述したようにホッピング通信するための通信フレームの受信に応じて通信要求が発生した場合、応答スケジュールには、受信した通信フレームの送信元のノードと、通信フレームに格納された既に中継されたノードと、を並べない。
【００４１】
次に、上述した構成の通信システム１のより詳細な動作について図５〜図７に示すフローチャートを参照して説明する。まず、ＣＰＵ２６は、アプリケーションからの通信要求が発生したり、送信先が自ノードであり、目的ノードが自ノードでない受信通信フレームを受信すると、通信要求処理を開始する。
【００４２】
通信要求処理において、ＣＰＵ２６は、ルーティングテーブル２４を参照して目的ノードにホッピング通信する際の最初の中継ノードを全て抽出して通信対象ノードとすると共に、ルーティングテーブル２４を参照して目的ノードと直接通信できるか否かを判定し、直接通信できると判定した場合のみ通信対象ノードに目的ノードを含める（ステップＳ１）。また、送信先が自ノードであり、目的ノードが自ノードでない受信通信フレームの受信に応じて通信要求処理が開始された場合、ステップＳ１においてＣＰＵ２６は、その受信通信フレームの送信元のノード、受信通信フレームに格納された既に中継した中継ノードを通信対象ノードから外す。
【００４３】
次に、ＣＰＵ２６は、通信対象ノードを順番に並べた応答スケジュールを作成する（ステップＳ２）。その後、ＣＰＵ２６は、目的ノード、通信閾値及び応答スケジュールを付加した通信要求ブロードキャストを作成し（ステップＳ３）、作成した通信要求ブロードキャストを送信する（ステップＳ４）。その後、ＣＰＵ２６は、他ノードからの通信可能通知ブロードキャストを順次受信すると共に、通信可能通知ブロードキャストの送信元とその受信強度とを対応付けて通信テーブル２５に保存する（ステップＳ５）。このとき、他のノードからの通信可能通知ブロードキャストは、上記応答スケジュールによって定められた順番で受信される。
【００４４】
次に、ＣＰＵ２６は、受信した通信可能通知ブロードキャストの送信元の中に目的ノードがあるか否かを判定する（ステップＳ６）。目的ノードがあると判定すると（ステップＳ６でＹ）、ＣＰＵ２６は、目的ノードからの通信可能通知ブロードキャストの受信強度が通信閾値以上であり安定して通信できるか否かを判定する（ステップＳ７）。目的ノードからの通信可能通知ブロードキャストの受信強度が通信閾値以上であり安定して通信できると判定すると（ステップＳ７でＹ）、ＣＰＵ２６は、直接通信を行って（ステップＳ８）、処理を終了する。
【００４５】
一方、受信した通信可能通知ブロードキャストの送信元の中に目的ノードがないと判定したり（ステップＳ６でＮ）、目的ノードからの通信可能通知ブロードキャストの受信強度が通信閾値未満であり安定して通信できないと判定すると（ステップＳ７でＮ）、ＣＰＵ２６は、通信可能通知ブロードキャストの送信元の中から１つを中継ノードとして選択し（ステップＳ９）、ホッピング通信を行って（ステップＳ１０）、処理を終了する。中継ノードとしては、例えば、各送信元からの通信可能通知ブロードキャストの受信強度を比較し、さらに各通信ノード２０の配置やルーティングテーブル２４のホップ数から最も安定して通信できるものが選択される。具体的には、通信可能通知ブロードキャストの受信強度が通信閾値以上の送信元であり、かつ、目的ノードまでの距離やホップ数が少ないものや応答スケジュールの順番が一番早いものが中継ノードとして選択される。また、ＣＰＵ２６は、送信先が自ノードであり、目的ノードが自ノードでない受信通信フレームの受信に応じて通信要求処理が開始された場合において上記ホッピング通信するときは、自ノードを既に経由した中継ノードとして通信フレームに書き込んだ後、次の中継ノードに通信フレームを送信する。
【００４６】
一方、ＣＰＵ２６は、受信待ち状態のときに他の通信ノード２０から通信要求ブロードキャストを受信すると通信可能通知処理を開始する。図６に示すように、通信可能通知処理において、ＣＰＵ２６は、まず、受信した通信要求ブロードキャストの受信強度がその通信要求ブロードキャストに格納された通信閾値以上であるか否かを判定する（ステップＳ１１）。通信閾値未満であると（ステップＳ１１でＮ）、ＣＰＵ２６は、通信要求ブロードキャストを無視して受信待ち状態に戻る。これに対して、通信閾値以上であると判定すると（ステップＳ１１でＹ）、ＣＰＵ２６は、通信要求ブロードキャストに格納された目的ノードが自ノードであるか否かを判定する（ステップＳ１２）。自ノードである場合（ステップＳ１２でＹ）、ＣＰＵ２６は、通信可能通知ブロードキャストを作成する（ステップＳ１３）。
【００４７】
一方、ＣＰＵ２６は、通信要求ブロードキャストに格納された目的ノードが自ノードでないと判定すると（ステップＳ１２でＮ）、ＣＰＵ２６は、通信要求ブロードキャストに格納された応答スケジュールを確認して（ステップＳ１４）、自ノードが含まれているか否かを判定する（ステップＳ１５）。自ノードが含まれていなければ（ステップＳ１５でＮ）、ＣＰＵ２６は、通信要求ブロードキャストを無視して受信待ち状態に戻る。これに対して、自ノードが含まれていれば（ステップＳ１５でＹ）、ＣＰＵ２６は、ステップＳ１３に進んで通信可能通知ブロードキャストを作成する。通信可能通知ブロードキャストを作成した後、ＣＰＵ２６は、応答スケジュールにより決められた順番ｎ×所定時間Ｔ経過するのを待った後（ステップＳ１６）、作成した通信可能通知ブロードキャストを送信し（ステップＳ１７）、再び受信待ち状態に戻る。
【００４８】
また、ＣＰＵ２６は、受信待ち状態のときに他の通信ノード２０から自ノード宛の通信フレームを受信すると通信フレーム受信処理を開始する。図７に示すように、通信フレーム受信処理において、ＣＰＵ２６は、まず、受信した通信フレームに格納された目的ノードが自ノードであれば（ステップＳ１８でＹ）、ＡＰＩ２６ｂで通信フレームの受信通知すると共に通信フレームに格納されたデータをアプリケーションに出力した後（ステップＳ１９）、再び受信待ち状態に戻る。これに対して、受信した通信フレームに格納された目的ノードが自ノードでなければ（ステップＳ１８でＮ）、ＣＰＵ２６は、通信要求処理を開始して、他のノードに通信フレームを送信する。
【００４９】
次に、具体的な動作例を図８を参照して説明する。図８は、ノードＢからノードＥへの通信要求が発生した場合（ホッピング通信）の各ノードＡ〜Ｅのタイムチャートである。なお、この動作例では各通信ノード２０の受信能力を−７０ｄＢｍ、通信閾値を−５５ｄＢｍとする。
【００５０】
まず、ノードＢでノードＥとの通信要求が発生する。ノードＢは、送信元アドレス領域３１に自ノードＢのアドレス、送信先アドレス領域３２にブロードキャストアドレス、通信種別領域３３に通信要求ブロードキャストである旨の情報、データ領域３４に通信閾値−５５ｄＢｍ、目的ノードであるノードＥのアドレスを格納した通信要求ブロードキャストを作成する。また、ノードＢでは、ルーティングテーブル２４を確認して、ノードＥへ至るまでの経路を確認する。ノードＢは、図３（Ｂ）からも明らかなように、ノードＥへの直接通信の他、ノードＣ、Ｄを最初の中継ノードとしたホッピング通信ができることを確認し、これらノードＣ、Ｄ、Ｅを通信対象ノードとする。
【００５１】
また、ノードＢは、応答スケジュールとして、ノードＣ、ノードＤ、ノードＥをこの順番で作成し、通信要求ブロードキャストのデータ領域３４に格納した後、通信要求ブロードキャストを送信する。図８に示すように、ノードＢからの通信要求ブロードキャストはノードＡ、Ｃ、Ｄ、Ｅが受信する。
【００５２】
ノードＡでは、通信要求ブロードキャストを−４０ｄＢｍで受信している。ノードＡでは、通信要求ブロードキャストに含まれる通信閾値−５５ｄＢｍを確認し、通信要求ブロードキャストの受信強度−４０ｄＢｍが通信閾値−５５ｄＢｍ以上であることを確認する。その後、ノードＡは、応答スケジュールを確認するが、そこにはノードＡが含まれていないので、以降は何もしない。ノードＣ、Ｄでは、通信要求ブロードキャストを−５０ｄＢｍで受信している。ノードＣ、Ｄでは、通信要求ブロードキャストに含まれる通信閾値−５５ｄＢｍを確認し、通信要求ブロードキャストの受信強度−５０ｄＢｍが通信閾値−５５ｄＢ以上であることを確認する。
【００５３】
その後、ノードＣは、応答スケジュールを確認し、自ノードが含まれていることを確認すると共にその順番が１番であることを確認する。また、ノードＤは、応答スケジュールを確認し、自ノードが含まれていることを確認すると共にその順番が２番であることを確認する。ノードＥでは、通信要求ブロードキャストを−７０ｄＢｍで受信している。ノードＥでは、通信要求ブロードキャストに含まれる通信要求−５５ｄＢを確認し、通信要求ブロードキャストの受信強度−７０ｄＢｍが通信閾値−５５ｄＢｍ未満であることを確認し、通信要求ブロードキャストを受信しなかったものとし以降は何もしない。
【００５４】
ノードＣ、Ｄは、ノードＢからの通信要求ブロードキャストの受信を起点として、各々通信要求ブロードキャストを送信するタイミングのカウント時間を作成する。ノードＣでは、所定時間Ｔがカウント時間として作成され、ノードＤでは、２×所定時間Ｔがカウント時間として作成される。ノードＣは、ノードＢからの通信要求ブロードキャストの受信を起点とした経過時間をカウントし、そのカウント時間が所定時間Ｔになると、通信可能通知ブロードキャストを送信する。このとき、ノードＢでは、ノードＣからの通信可能通知ブロードキャストを受信したら、その受信強度と、ノードＢとの受信可否の通信テーブル２５を作成する。
【００５５】
ノードＤは、ノードＢからの通信要求ブロードキャストの受信を起点とした経過時間をカウントし、そのカウント時間が２×所定時間Ｔになると、通信可能通知ブロードキャストを送信する。このとき、ノードＢでは、ノードＤからの通信可能通知ブロードキャストを受信したら、その受信強度と、ノードＢとの受信可否の通信テーブル２５を作成する。
【００５６】
ノードＢでは、通信要求ブロードキャストを送信してから、最後の通信対象ノード（ノードＥ）からの通信可能通知ブロードキャストを受信すべきタイミング（３×所定時間Ｔ）が経過した後、作成された通信テーブル２５からデータ通信を行う際に次に送信する相手を決定する。この場合、ノードＥと直接通信できないため、ノードＣ若しくはノードＤを中継ノードとして利用する必要がある。ノードＣ及びノードＤは共に通信閾値−５５ｄＢ以上であるため、ノードＢは応答スケジュールの順番が一番早いノードＣを選択することにし、送信元アドレス領域３１にノードＢのアドレス、送信先アドレス領域３２にノードＣのアドレス、データ領域３４に目的ノードであるノードＥのアドレスと送信したいデータとを格納した通信フレームを送信する。
【００５７】
ノードＣでは、ノードＢからの通信フレームを受信すると、この通信フレームをさらに目的ノードに直接又は中継ノードを介して送信するために、送信元アドレス領域３１にノードＣのアドレス、送信先アドレス領域３２にブロードキャストアドレス、通信種別領域３３に通信要求ブロードキャストである旨の情報、データ領域３４に目的ノードアドレスを格納した通信要求ブロードキャストを作成する。また、ノードＣでは、ルーティングテーブル２４を確認して、ノードＥへ至るまでの経路を確認する。ノードＣは、図３（Ｃ）からも明らかなように、ノードＥへの直接通信の他、ノードＢ、Ｄを最初の中継ノードとしたホッピング通信ができることを確認する。ノードＢは受信した通信フレームの送信元であるため、ノードＢは、ノードＢを除いたノードＤ、Ｅを通信対象ノードとする。
【００５８】
また、ノードＣは、応答スケジュールとしてノードＤ、ノードＥをこの順番で作成し、通信要求ブロードキャストのデータ領域３４に格納した後、通信要求ブロードキャストを送信する。図８に示すように、ノードＣからの通信要求ブロードキャストは、ノードＡ、Ｂ、Ｄ、Ｅが受信する。
【００５９】
ノードＡでは、通信要求ブロードキャストを−６０ｄＢｍで受信している。ノードＡでは、通信要求ブロードキャストに含まれる通信閾値−５５ｄＢｍを確認し、通信要求ブロードキャストの受信強度−６０ｄＢｍが通信閾値−５５ｄＢｍ未満であることを確認し、通信要求ブロードキャストを受信しなかったものとし以降は何もしない。ノードＢでは、通信要求ブロードキャストを−５０ｄＢｍで受信している。ノードＢでは、通信要求ブロードキャストに含まれる通信閾値−５５ｄＢｍを確認し、通信要求ブロードキャストの受信強度−５０ｄＢｍが通信閾値−５５ｄＢｍ以上であることを確認する。その後、ノードＢは、応答スケジュールを確認するが、そこにはノードＢが含まれていないので、以降は何もしない。
【００６０】
ノードＤ、Ｅでは、通信要求ブロードキャストを−５０ｄＢｍで受信している。ノードＤ、Ｅでは、通信要求ブロードキャストに含まれる通信閾値−５５ｄＢｍを確認し、通信要求ブロードキャストの受信強度−５０ｄＢｍが通信閾値−５５ｄＢ以上であることを確認する。その後、ノードＤは、応答スケジュールを確認し、自ノードが含まれていることを確認する共にその順番が１番であることを確認する。また、ノードＥは、応答スケジュールを確認し、自ノードが含まれていることを確認すると共にその順番が２番であることを確認する。
【００６１】
ノードＤ、Ｅは、ノードＣからの通信要求ブロードキャストの受信を起点として、各々通信要求ブロードキャストを送信するタイミングのカウント時間を作成する。ノードＤでは、所定時間Ｔがカウント時間として作成され、ノードＥでは、２×所定時間Ｔがカウント時間として作成される。ノードＤは、ノードＢからの通信要求ブロードキャストの受信を起点とした経過時間をカウントし、そのカウント時間が所定時間Ｔになると、通信可能通知ブロードキャストを送信する。このとき、ノードＣでは、ノードＤからの通信可能通知ブロードキャストを受信したら、その受信強度と、ノードＤとの受信可否の通信テーブル２５を作成する。
【００６２】
ノードＥは、ノードＣからの通信要求ブロードキャストの受信を起点とした経過時間をカウントし、そのカウント時間が２×所定時間Ｔになると、通信可能通知ブロードキャストを送信する。このとき、ノードＣでは、ノードＥからの通信可能通知ブロードキャストを受信したら、その受信強度と、ノードＥとの受信可否の通信テーブル２５を作成する。
【００６３】
ノードＣでは、通信要求ブロードキャストを送信してから、最後の通信対象ノード（ノードＥ）からの通信可能通知ブロードキャストを受信すべきタイミング（２×所定時間Ｔ）が経過した後、作成された通信テーブル２５からデータ通信を行う際に次に送信する相手を決定する。この場合、ノードＥと直接通信でできるため、ノードＣは、ノードＢから送信された通信フレームの送信先アドレス領域３２に格納されたアドレスをノードＥのアドレスに書き換えて送信する。
【００６４】
図８及び図９を比較しても明らかなように、従来は通信システム１を構成するノード数ｍ＝５とすると、通信要求ブロードキャストを送信してから４×所定時間Ｔ経過するのを必ず待ってからでないと通信フレームを送信できなかったが、本発明の通信システム１によれば、通信要求ブロードキャストを送信してから４×所定時間Ｔ経過するのを待たなくても通信フレームを送信できるので、迅速にデータ通信を開始できる。
【００６５】
即ち、上述した通信システム１によれば、通信対象ノード確認部２６ｃ及びスケジュール作成部２６ｄが、通信フレームの通信要求が発生するとルーティングテーブル２４を参照して通信要求先のノードにホッピング通信する際の最初の中継ノードを全て抽出し、当該抽出した全ての中継ノードと目的ノードとに基づいて送信先のノードを順番に並べた応答スケジュールを作成し、通信要求ブロードキャスト作成部２６ｅが、作成した応答スケジュールを付加した通信要求ブロードキャストを送信させる。また、通信可否判別部２６ｄが、受信器２１により通信要求ブロードキャストを受信したとき、当該通信要求ブロードキャストに付加された応答スケジュールに自ノードが含まれているか否かを判定し、応答スケジュールに自ノードが含まれていると判定された場合のみ、応答スケジュールで定められた自ノードの順番に応じたタイミングで、送信元を付加した応答を送信器２２から送信させるので、中継ノードとならないノードが応答スケジュールに含まれることがなくなり、迅速にデータ通信を開始することができる。
【００６６】
また、上述した通信システム１によれば、目的ノードが直接通信できるノードでない場合、通信対象ノード確認部２６ｃが目的ノードを通信対象ノードとしない（即ち応答スケジュールに並べない）ので、直接送信できない目的ノードが応答スケジュールに含まれることがなくなり、より一層、迅速にデータ通信を開始することができる。
【００６７】
また、上述した通信システム１によれば、通信要求がホッピング通信するための通信フレーム受信に応じて発生した場合、通信対象ノード確認部２６ｃが、受信された通信フレームの送信元のノードを通信対象ノードとしないので、通信フレームが送信元に戻されることがなくなる。
【００６８】
また、上述した通信システム１によれば、通信要求がホッピング通信するための通信フレーム受信に応じて発生した場合、通信対象ノード確認部２６ｃが、受信された通信フレームが経由した中継ノードを通信対象ノードとしないので、すでに通信フレームが経由した中継ノードにデータが戻されることがなくなる。
【００６９】
また、上述した通信システム１によれば、ＣＰＵ２６は、通信要求ブロードキャストの受信強度が通信閾値以上のときに送信元を付加した通信可能通知ブロードキャストを送信させている。これにより、通信要求ブロードキャストを受け取った全ての通信ノード２０から通信可能通知ブロードキャストが送信されることなく、通信要求ブロードキャストを受け取った通信ノード２０のうち通信要求ブロードキャストの受信強度が通信閾値以上の通信ノード２０からしか通信可能通知ブロードキャストが送信されないので、無駄な通信可能通知ブロードキャストの送信が行われることなく、経路を決定するための通信量を抑えることができる。
【００７０】
なお、上述した実施形態によれば、図４に示す通信フレームの構成は一例であり、各領域の配置はどのようになっていてもよい。さらに、無線ＬＡＮなどで広く利用されているフォーマットであってもよい。
【００７１】
また、上述した実施形態によれば、通信可能通知ブロードキャストを送信してきた通信ノード２０のうち目的ノードに最も近いものを中継ノードとして選択していたが、中継ノードを選択する方法としては一例であり、例えば、目的ノードまでのホップ数が一番少ないものを中継ノードと選択し、さらに、ホップ数が同じ場合には目的ノードまでの距離が短く、受信強度の高いものを選択するようにしてもよい。
【００７２】
また、上述した実施形態によれば、通信要求ブロードキャストに通信閾値を付加させていたが、本発明はこれに限ったものではない。通信閾値としては、例えば、共通の値として各通信ノード２０にそれぞれ格納するようにしてもよい。
【００７３】
また、どのノード２０からも通信可能通知ブロードキャストが送信されない場合、目的ノードまで経由できる中継ノードがない、若しくは、目的ノードとは直接通信できる環境にないか、目的ノードまでが受信強度レベルぎりぎりであることになる。その場合、中継ノードを選択する処理をスキップして、直接通信する処理を行うようにしてもよい。
【００７４】
また、上述した実施形態によれば、各ノード２０は、通信要求ブロードキャストを受信したとき、応答スケジュールに自ノードが含まれ、かつ、通信要求ブロードキャストの受信強度が通信閾値以上のときに、通信可能通知ブロードキャストを送信していたが、本発明はこれに限ったものではない。例えば、通信要求ブロードキャストの受信強度と通信閾値との比較をやめて、応答スケジュールに自ノードが含まれていたときに通信可能通知ブロードキャストを送信するようにしてもよい。
【００７５】
また、前述した実施形態は本発明の代表的な形態を示したに過ぎず、本発明は、実施形態に限定されるものではない。即ち、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。
【符号の説明】
【００７６】
１      通信システム
２０    通信ノード
２１    受信器（受信手段）
２２    送信器（送信手段）
２３    受信強度検出回路（受信強度検出手段）
２４    ルーティングテーブル（記憶手段）
２６ｃ  通信対象ノード確認部（抽出手段、スケジュール作成手段）
２６ｄ  スケジュール作成部（スケジュール作成手段）
【図１】
0005780924.tif 000002
【図２】
0005780924.tif 000003
【図３】
0005780924.tif 000004
【図４】
0005780924.tif 000005
【図５】
0005780924.tif 000006
【図６】
0005780924.tif 000007
【図７】
0005780924.tif 000008
【図８】
0005780924.tif 000009
【図９】
0005780924.tif 000010