以下、流星バースト通信システム等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、流星バーストを利用して、マスタ局と2以上のリモート局とが通信を行う場合に、マスタ局と個別のリモート局とが通信する処理(以下、適宜「個別通信」という)、およびマスタ局とグループ化されたリモート局のグループ単位で通信する処理(以下、適宜「グループ通信」という)の両方を行う流星バースト通信システムについて説明する。
本実施の形態における流星バースト通信システムは、個別通信とグループ通信とを組み合わせて、マスタ局と2以上のリモート局とが効率的に通信を行う流星バースト通信システムであるが、個別通信とグループ通信との組み合わせ方法は種々あり得る。
図1は、本実施の形態における流星バースト通信システム1の概念図である。流星バースト通信システム1は、一のマスタ局11と2以上のリモート局12を具備する。また、流星バースト通信システム1は、流星バースト13を用いる。なお、地球に向って大気圏に侵入する流星の経路に沿って、概ね数秒間という短い時間であるが、電離気体が発生し、電波の反射体となる。この反射体を流星バースト13という。そして、流星バースト13を利用することによって、図1に示すように通信距離が離れた2点間の無線通信を行うことができる。これを流星バースト通信という。
また、ここでは、マスタ局11が2以上の各リモート局12から、リモート局12の状態を示す状態情報を取得する、とする。ただし、マスタ局11がリモート局12から受信する情報の内容は問わない。
図2は、流星バースト通信システム1の構成を示すブロック図である。流星バースト通信システム1は、一のマスタ局11と2以上のリモート局12を具備する。なお、リモート局12は、例えば、2500存在する。ただし、流星バースト通信システム1が有するリモート局12の数は問わない。
マスタ局11は、マスタ格納部111、マスタ送信部112、マスタ受信部113、およびマスタ出力部114を具備する。
リモート局12は、リモート格納部121、状態情報取得部122、状態情報格納部123、リモート受信部124、リモート判断部125、およびリモート送信部126を具備する。
マスタ局11は、流星バースト13の反射を用いて、リモート局12と無線通信を行う。マスタ局11は、例えば、各地のリモート局12からの観測データの収集地に設置される。なお、マスタ局11は、流星バースト13の反射を用いずに、リモート局12と直接的に無線通信を行える場合もあり得る。
マスタ局11を構成するマスタ格納部111は、2以上の第一リモート局情報を格納している。第一リモート局情報とは、リモート局12と通信を行うための情報であり、リモート局12を識別するリモート局識別子と、リモート局12が属するグループを識別するグループ識別子とを有する。第一リモート局情報は、リモート局12のIPアドレス等を保持していても良い。
マスタ格納部111は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。マスタ格納部111に第一リモート局情報が記憶される過程は問わない。例えば、記録媒体を介して第一リモート局情報がマスタ格納部111で記憶されるようになってもよく、通信回線等を介して送信された第一リモート局情報がマスタ格納部111で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された第一リモート局情報がマスタ格納部111で記憶されるようになってもよい。
マスタ送信部112は、第一送信命令、および第二送信命令を、流星バーストを利用して送信する。第一送信命令は、2以上のリモート局12に情報の送信を促す命令であり、リモート局識別子を有する命令である。また、第二送信命令は、2以上のリモート局12に情報の送信を促す命令であり、グループ識別子を有する命令である。つまり、第一送信命令は、個々のリモート局12と個別に通信を行う命令である。また、第二送信命令は、グループ化されたリモート局12と、グループ単位で通信を行う命令である。なお、グループ化されたリモート局12とは、通常、2以上のリモート局12であるが、一つのリモート局12が一のグループを形成しても良い。また、マスタ送信部112は、個別通信とグループ通信とが可能である。
マスタ送信部112は、個々のリモート局12と通信を行う第一送信手順と、当該第一送信手順の後に、グループ単位でリモート局12と通信を行う第二送信手順と、当該第二送信手順の後に、個々のリモート局12と通信を行う第三送信手順とを実行することは好適である。ここで、第一送信手順は、マスタ格納部111に格納されている2以上の第一リモート局情報が有する2以上の各リモート局識別子を有する2以上の第一送信命令を構成し、流星バースト13を利用して送信する処理である。また、第二送信手順は、リモート局返答情報を送信してきていないリモート局12が属する1以上のグループのグループ識別子を有する2以上の第二送信命令を構成し、流星バーストを利用して送信する処理である。なお、リモート局返答情報を送信してきていないリモート局12が属する1以上のグループとは、例えば、リモート局返答情報を送信してきたリモート局12がひとつも属さない1以上のグループが該当する。また、ここで、リモート局返答情報とは、リモート局12からマスタ局11に返信される情報である。リモート局返答情報は、通常、リモート局識別子を有する。また、リモート局返答情報は、リモート局識別子とグループ識別子とを有しても良い。また、第三送信手順は、リモート局返答情報を送信してきていないリモート局12のリモート局識別子を有する2以上の第一送信命令を構成し、流星バーストを利用して送信する処理である。
また、マスタ送信部112は、それぞれ2周以上、第一送信手順、または第二送信手順、または第三送信手順を行っても良い。なお、2周とは、同じアルゴリズムで2以上の各リモート局12に2回以上命令を送信すること、または1以上のグループのリモート局12群に2回以上命令を送信することである。
マスタ送信部112は、第二送信手順において、グループの中でリモート局返答情報を送信してきていないリモート局12の割合、またはリモート局返答情報を送信してきていないリモート局12の数が多いグループに対して第二送信命令を送信する頻度を、その割合またはその数が少ないグループに対して第二送信命令を送信する頻度より多くすることは好適である。かかる場合、例えば、マスタ送信部112は、マスタ受信部113が受信した1以上のリモート局返答情報に含まれる1以上のリモート局識別子と、マスタ格納部111の第一リモート局情報とから、リモート局返答情報を送信してきたリモート局12の割合または数を、グループ毎に取得する。なお、リモート局12の割合とは、グループ内の1以上のリモート局12に対する、リモート局返答情報を送信してきていないリモート局12の割合である。そして、当該割合または数に応じて、グループ毎の第二送信命令の送信頻度を決定する。なお、マスタ送信部112は、当該割合または数と送信頻度との対応表を保持していても良いし、当該割合または数をパラメータとする演算式(例えば、マスタ送信部112が格納している演算式)により送信頻度を算出しても良い。
マスタ送信部112は、予め決められた条件を満たす場合に、第二送信手順から第三送信手順に移行しても良い。ここで、予め決められた条件とは、例えば、予め決められた割合または予め決められた数以上(より大きい、でも良い)のリモート局12からリモート局返答情報を受信できた場合である。かかる場合、例えば、マスタ送信部112は、マスタ受信部113が受信した1以上のリモート局返答情報に含まれる1以上のリモート局識別子と、マスタ格納部111の第一リモート局情報とから、リモート局返答情報を送信してきたリモート局12の割合または数を算出する。また、マスタ送信部112は、予め決められた割合または予め決められた数(閾値)を格納している。そして、マスタ送信部112は、前記リモート局12の割合または数と、閾値とを比較し、前記リモート局12の割合または数が閾値以上(より大きい、でも良い)と判断した場合に、第二送信手順から第三送信手順に移行する。
マスタ送信部112は、グループ内の予め決められた割合以上のリモート局12からリモート局返答情報を受信できた場合に、グループ内のリモート局12であり、リモート局返答情報を送信してきていないリモート局12のリモート局識別子を有する2以上の第一送信命令を構成し、流星バーストを利用して送信することは好適である。なお、ここでは、例えば、マスタ送信部112は、リモート局返答情報を受信できたリモート局12の割合をグループ毎に取得する。そして、マスタ送信部112は、格納している割合(閾値)と、取得したグループの割合を対比し、グループの割合が閾値以上である場合に、第三送信手順に移行する。つまり、マスタ送信部112は、グループ単位で通信を行う第二送信手順において、予め決められた割合以上のリモート局12からリモート局返答情報を受信できたと判断した場合に、第二送信手順から第三送信手順に移行する。つまり、一部のグループのリモート局12に対して、第二送信手順から第三送信手順に移行しても良い。
マスタ送信部112は、グループにより、第二送信手順から第三送信手順に移行する場合のリモート局返答情報を受信できたリモート局12の割合および数が異なるように、通信制御を行うことは好適である。
マスタ送信部112は、無線通信手段で実現される。
マスタ受信部113は、リモート局12からの返答であり、リモート局識別子を有するリモート局返答情報を、1以上のリモート局12から受信する。リモート局返答情報は、リモート局識別子とグループ識別子とを有する場合もある。リモート局返答情報が、グループ識別子を有さない場合、マスタ送信部112は、リモート局識別子をキーとしてマスタ格納部111を検索し、グループ識別子を取得する場合もある。
マスタ受信部113は、無線通信手段で実現される。
マスタ出力部114は、マスタ受信部113が受信したリモート局返答情報を出力する。なお、リモート局返答情報の出力とは、リモート局返答情報の一部の情報の出力を含む、とする。また、ここで、出力とは、通常、図示しない記録媒体への蓄積であるが、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、音出力、外部の装置への送信、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
マスタ出力部114は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。マスタ出力部114は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
リモート局12は、マスタ局11からの無線通信による問い合わせに応じて、マスタ局11に情報を送信する。リモート局12は、流星バースト13を用いて、マスタ局11と無線通信を行う。なお、リモート局12は、流星バースト13を用いずに、マスタ局11と無線通信を行える場合もあり得る。また、リモート局12がマスタ局11に送信する情報は、リモート局12の状態を示す状態情報であることが好適であるが、他の情報でも良い。
リモート局12を構成するリモート格納部121は、第二リモート局情報を格納している。第二リモート局情報は、リモート局12に関する情報であり、自身のリモート局識別子および自身が属するグループのグループ識別子とを有する。リモート格納部121は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。リモート格納部121に第二リモート局情報が記憶される過程は問わない。
状態情報取得部122は、リモート局12の状態を示す状態情報を取得し、状態情報格納部123に蓄積する。状態情報は、例えば、リモート局12に電波が届いているか否かを示す電波状態情報、リモート局12が放送を受信できているか否かを示す放送状態情報、リモート局12が信号を出力しているか否かを示す信号出力情報等である。但し、状態情報の内容は問わない。状態情報取得部122は、公知技術により実現可能であるので、状態情報取得部122の実現手段の説明は省略する。
状態情報格納部123は、リモート局12の状態情報を格納し得る。状態情報とは、通常、状態情報取得部122が取得した情報であるが、予め格納されている情報でも良い。状態情報格納部123は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
リモート受信部124は、マスタ局11から送信された送信命令を受信する。送信命令は、通常、第一送信命令または第二送信命令である。リモート受信部124は、無線通信手段で実現される。
リモート判断部125は、第一送信命令または第二送信命令に含まれるリモート局識別子またはグループ識別子を取得し、リモート局識別子またはグループ識別子が第二リモート局情報に含まれるか否かを判断する。リモート判断部125は、通常、MPUやメモリ等から実現され得る。リモート判断部125の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
リモート送信部126は、リモート判断部125が第二リモート局情報に含まれると判断した場合(マスタ局11からの送信が自身への送信であると判断した場合)に、リモート局返答情報をマスタ局11に送信する。リモート局返答情報は、リモート局12からマスタ局11に返送される情報であり、リモート格納部121に格納されている第二リモート局情報に含まれるリモート局識別子を有する。
また、リモート送信部126は、リモート判断部125がリモート局識別子またはグループ識別子が第二リモート局情報に含まれると判断した場合(マスタ局11からの送信が自身への送信であると判断した場合)に、リモート局識別子と状態情報とを有するリモート局返答情報をマスタ局11に送信することは好適である。リモート送信部126は、無線通信手段で実現される。
次に、流星バースト通信システム1の動作について説明する。まず、マスタ局11の第一の動作例について、図3のフローチャートを用いて説明する。
(ステップS301)マスタ局11は、第一個別通信処理を行う。第一個別通信処理は、上述した個別通信の一種であり、複数の各リモート局12に対して、個別に通信を行おうとする通信処理である。第一個別通信処理について、図4のフローチャートを用いて説明する。なお、第一個別通信処理は、上述した第一送信手順に該当する。
(ステップS302)マスタ局11は、グループ通信処理を行う。グループ通信処理は、リモート局12の各グループに対して、通信を行おうとする通信処理である。グループ通信処理について、図5のフローチャートを用いて説明する。なお、グループ通信処理は、上述した第二送信手順に該当する。
(ステップS303)マスタ局11は、第二個別通信処理を行う。第二個別通信処理は、上述した個別通信の一種であり、リモート局返答情報を送信してきていない各リモート局12に対して、個別に通信を行おうとする通信処理である。第二個別通信処理について、図4のフローチャートを用いて説明する。なお、第一個別通信処理と第二個別通信処理とは、重複する処理が存在するので、同一のフローチャート(図4)を用いて説明する。なお、第二個別通信処理は、上述した第三送信手順に該当する。
なお、図3のフローチャートにおいて、第一個別通信処理からグループ通信処理への切替の判断方法、およびグループ通信処理から第二個別通信処理への切替の判断方法は、種々あり得る。例えば、マスタ局11のマスタ送信部112は、予め決められた割合または予め決められた数以上のリモート局からリモート局返答情報を受信できた場合に、第一個別通信処理からグループ通信処理へ切り替える。また、マスタ送信部112は、予め決められた割合または予め決められた数以上のリモート局からリモート局返答情報を受信できた場合に、グループ通信処理から第二個別通信処理へ切り替える。また、マスタ送信部112は、第一個別通信処理の開始から予め決められた時間が経過した場合に、第一個別通信処理からグループ通信処理へ切り替える。また、マスタ送信部112は、グループ通信処理の開始から予め決められた時間が経過した場合に、グループ通信処理から第二個別通信処理へ切り替える。かかることは、他のマスタ局11の動作の場合も同様である。
次に、個別通信処理について、図4のフローチャートを用いて説明する。なお、個別通信処理は、第一個別通信処理および第二個別通信処理を含む処理である。
(ステップS401)マスタ送信部112は、カウンタiに1を代入する。
(ステップS402)マスタ送信部112は、リモート格納部121に格納されている第一リモート局情報の中のi番目の第一リモート局情報に対応するリモート局12が、リモート局返答情報を送信してきていないか否かを判断する。i番目のリモート局12が、リモート局返答情報を送信してきていない場合はステップS403に行き、リモート局返答情報を送信してきている場合はステップS410に行く。なお、リモート局返答情報を送信してきているか否かは、例えば、マスタ出力部114が蓄積したリモート局返答情報が有するリモート局識別子をチェックすることにより判断可能である。但し、リモート局返答情報を送信してきているか否かの判断方法は問わない。
(ステップS403)マスタ送信部112は、i番目の第一リモート局情報が有するリモート局識別子を、マスタ格納部111から取得する。
(ステップS404)マスタ送信部112は、ステップS403で取得したリモート局識別子を有する第一送信命令を構成する。
(ステップS405)マスタ送信部112は、ステップS404で構成した第一送信命令を送信する。なお、ここでの送信は、通常、流星バースト13を用いた送信であるが、流星バースト13を用いずに、ダイレクトにリモート局12と通信できる場合もある。また、マスタ送信部112は、第一リモート局情報が有するリモート局識別子と対応付けて、第一送信命令を送信した時刻を管理することは好適である。なお、第一送信命令を送信した時刻は、図示しない時計から取得され得る。
(ステップS406)マスタ受信部113は、リモート局12からリモート局返答情報を受信したか否かを判断する。リモート局返答情報を受信すればステップS407に行き、受信しなければステップS409に行く。
(ステップS407)マスタ出力部114は、ステップS406で受信されたリモート局返答情報を、図示しない記録媒体(例えば、リモート局返答情報格納部)に蓄積する。また、マスタ出力部114は、リモート局返答情報を蓄積できた旨を、リモート局識別子と対応付けて記録することは好適である。なお、リモート局識別子と対応付けて記録することと、例えば、後述する第一リモート局情報管理表のフラグの値を「0」から「1」に書き換えることである。また、蓄積されたリモート局返答情報は、例えば、ユーザの指示または自動的に図示しないディスプレイに表示される。その他、蓄積されたリモート局返答情報の利用方法は問わない。
(ステップS408)マスタ送信部112は、カウンタiを1、インクリメントし、ステップS402に戻る。
(ステップS409)マスタ受信部113は、リモート局12からのリモート局返答情報の受信がタイムアウトか否かを判断する。タイムアウトであればステップS408に行き、タイムアウトでなければステップS406に戻る。なお、マスタ受信部113は、例えば、タイムアウト時間を保持しており、マスタ送信部112が第一送信命令を送信した時刻を読み出し、当該時刻と現在時刻とタイムアウト時間とを用いて、タイムアウトであるか否かを判断する。
(ステップS410)マスタ送信部112は、i番目のリモート局が、リモート格納部121で管理されている第一リモート局情報に対応するリモート局12の中で、最後のリモート局12であるか否かを判断する。最後のリモート局12であればステップS411に行き、最後のリモート局12でなければステップS408に行く。
(ステップS411)マスタ送信部112は、第一個別通信処理を終了するか否か、または第二個別通信処理を終了するか否かを判断する。第一個別通信処理または第二個別通信処理を終了すると判断した場合上位処理にリターンし、終了しないと判断した場合ステップS401に戻る。なお、第一個別通信処理について、マスタ送信部112は、第一個別通信処理を終了する条件を保持しており、かかる条件を満たすか否かにより、第一個別通信処理を終了するか否かを判断する。なお、第一個別通信処理を終了する条件は、例えば、第一個別通信処理のループ回数が所定回数まで(例えば、1回または2回など)、または第一個別通信処理を行う時間が措定時間まで(例えば、2時間または3時間など)などである。また、第二個別通信処理について、マスタ送信部112は、第二個別通信処理を終了する条件を保持しており、かかる条件を満たすか否かにより、第二個別通信処理を終了するか否かを判断する。なお、第二個別通信処理を終了する条件は、例えば、すべてのリモート局12からリモート局返答情報が送信されたこと、または、閾値以上の数または割合のリモート局12からリモート局返答情報が送信されたこと等である。なお、上記のループとは、ステップS401からS410までの一連の処理である。
次に、ステップS302のグループ通信処理について、図5のフローチャートを用いて説明する。
(ステップS501)マスタ送信部112は、カウンタiに1を代入する。
(ステップS502)マスタ送信部112は、i番目のグループで、第二送信命令を送信すべきグループが存在するか否かを判断する。グループが存在すればステップS503に行き、存在しなければステップS510に行く。ここで、マスタ送信部112は、第二送信命令を送信すべきグループのグループ識別子であり、i番目のグループ識別子がリモート格納部121に格納されているか否かを判断する。なお、第二送信命令を送信すべきグループか否かについて、マスタ送信部112は、予め決められた条件を満たすか否かにより判断する。予め決められた条件は、例えば、グループを構成する閾値より少ない割合または数(例えば、100%より少ない割合、または80%以下の割合等)のリモート局12からのみリモート局返答情報が送信されてきていること等である。
(ステップS503)マスタ送信部112は、i番目のグループのグループ識別子を、マスタ格納部111から取得する。
(ステップS504)マスタ送信部112は、ステップS503で取得したグループ識別子を有する第二送信命令を構成する。
(ステップS505)マスタ送信部112は、第二送信命令を送信する。なお、ここでの送信は、通常、流星バースト13を用いた送信である。また、マスタ送信部112は、第一リモート局情報が有するグループ識別子と対応付けて、第二送信命令を送信した時刻を管理することは好適である。なお、第二送信命令を送信した時刻は、図示しない時計から取得され得る。
(ステップS506)マスタ受信部113は、リモート局12からリモート局返答情報を受信したか否かを判断する。リモート局返答情報を受信すればステップS507に行き、受信しなければステップS509に行く。なお、ここで受信されるリモート局返答情報は、通常、グループ識別子とリモート局識別子とを有する。但し、リモート局返答情報は、リモート局識別子のみでも良い。
(ステップS507)マスタ出力部114は、ステップS506で受信されたリモート局返答情報を、図示しない記録媒体(例えば、リモート局返答情報格納部)に蓄積する。なお、蓄積されたリモート局返答情報は、例えば、ユーザの指示または自動的に図示しないディスプレイに表示される。その他、蓄積されたリモート局返答情報の利用方法は問わない。
(ステップS508)マスタ送信部112は、カウンタiを1、インクリメントし、ステップS502に戻る。
(ステップS509)マスタ受信部113は、リモート局12の集合で構成されるグループからのリモート局返答情報の受信がタイムアウトか否かを判断する。タイムアウトであればステップS508に行き、タイムアウトでなければステップS506に戻る。なお、マスタ受信部113は、例えば、タイムアウト時間を保持しており、マスタ送信部112が第二送信命令を送信した時刻を読み出し、当該時刻と現在時刻とタイムアウト時間とを用いて、タイムアウトであるか否かを判断する。
(ステップS510)マスタ送信部112は、i番目のグループが、第二送信命令を送信すべき最後のグループであるか否かを判断する。最後のグループであればステップS511に行き、最後のグループでなければステップS508に行く。
(ステップS511)マスタ送信部112は、グループ通信を終了するか否かを判断する。グループ通信を終了すると判断した場合上位処理にリターンし、終了しないと判断した場合ステップS501に戻る。
なお、図5のフローチャートにおいて、マスタ送信部112は、グループ通信において、グループの中でリモート局返答情報を送信してきていないリモート局の割合、またはリモート局返答情報を送信してきていないリモート局の数が多いグループに対して第二送信命令を送信する頻度を、前記割合または数が少ないグループに対して第二送信命令を送信する頻度より多くすることは好適である。かかる場合のグループ通信処理について、図6のフローチャートを用いて説明する。図6のフローチャートにおいて、図5のフローチャートと同一のステップについて説明を省略する。
(ステップS601)マスタ送信部112は、カウンタiに1を代入する。
(ステップS602)マスタ送信部112は、i番目のグループで、第二送信命令を送信すべきグループが存在するか否かを判断する。グループが存在すればステップS603に行き、存在しなければステップS501に行く。なお、「第二送信命令を送信すべきグループが存在するか否か」とは、「送出頻度を算出すべきグループが存在するか否か」と同意義である。
(ステップS603)マスタ送信部112は、i番目のグループに対する既通信割合を取得する。既通信割合とは、グループに属するリモート局12の中で、リモート局返答情報を送信してきたリモート局12の割合である。
(ステップS604)マスタ送信部112は、ステップS603で取得した既通信割合を用いて、i番目のグループの通信頻度(N)を取得する。なお、既通信割合が少ないほど、通信頻度(N)が大きくなるようにする。マスタ送信部112は、例えば、既通信割合と、通信頻度(N)とを対応付けた表を保持しており、かかる表を用いて、i番目のグループの通信頻度(N)を取得する。また、マスタ送信部112は、例えば、既通信割合をパラメータとする減少関数に既通信割合を代入し、通信頻度(N)を算出する。
(ステップS605)マスタ送信部112は、カウンタiを1、インクリメントする。ステップS601に戻る。
(ステップS606)マスタ送信部112は、i番目のグループの通信頻度(N)を、1デクリメントする。ステップS508に行く。
なお、図6のフローチャートにおいて、マスタ送信部112は、グループ通信において、通信頻度(N)に従って、各グループに第二送信命令を送信すれば良く、どのようなスケジュールで第二送信命令を送信しても良い。
次に、マスタ局11の第二の動作例について、図7のフローチャートを用いて説明する。
(ステップS701)マスタ局11は、グループ通信処理を行う。グループ通信処理について、図5のフローチャートを用いて説明した。
(ステップS702)マスタ局11は、第二個別通信処理を行う。第二個別通信処理は、複数の各リモート局12に対して、個別に通信を行おうとする通信処理である。第一個別通信処理について、図4のフローチャートを用いて説明した。
なお、図7のフローチャートにおいて、グループ通信処理から第二個別通信処理への切替の判断方法は、上述したように、種々あり得る。
次に、マスタ局11の第三の動作例について、図8のフローチャートを用いて説明する。図8のフローチャートの動作は、グループ通信と個別通信とが時間的に分離されておらず、グループ通信と個別通信とがグループ毎に異なる場合の動作である。なお、図8のフローチャートにおいて、図4のフローチャートと同一のステップについて、説明を省略する。
(ステップS801)マスタ局11は、第一個別通信処理を行う。
(ステップS802)マスタ送信部112は、カウンタiに1を代入する。
(ステップS803)マスタ送信部112は、リモート格納部121に格納されているリモート局12の情報について、i番目のグループが存在するか否かを判断する。i番目のグループが存在すればステップS804に行き、存在しなければステップS810に行く。
(ステップS804)マスタ送信部112は、i番目のグループに対応する送信は、個別送信か、グループ送信かを判断する。個別送信であればステップS805に行き、グループ送信であればステップS809に行く。なお、個別送信とは、リモート局12に個別に送信することである。また、グループ送信とは、リモート局12の各グループに向けて送信することである。また、マスタ送信部112は、例えば、i番目のグループの中で、閾値以上の割合または数のリモート局12から、既にリモート局返答情報を受信している場合は個別送信と決定し、そうでない場合はグループ送信と決定する。また、マスタ送信部112は、例えば、同じリモート局12からの応答(リモート局返答情報の送信)が閾値以上の回数続く場合、同じリモート局12からの応答の頻度が閾値よりも高い場合、グループ送信と決定するなどしても良い。
(ステップS805)マスタ送信部112は、カウンタjに1を代入する。
(ステップS806)マスタ送信部112は、i番目のグループに属するリモート局12であり、リモート局返答情報を送信してきていないj番目のリモート局12が存在するか否かを判断する。存在すればステップS403に行き、存在しなければステップS808に行く。
(ステップS807)マスタ送信部112は、カウンタjを1、インクリメントする。ステップS806に戻る。
(ステップS808)マスタ送信部112は、カウンタiを1、インクリメントする。ステップS803に戻る。
(ステップS809)マスタ局11は、グループ通信処理を行う。ステップS808に行く。なお、グループ通信処理の終了の条件について、上述したように種々の条件があり得る。
(ステップS810)マスタ送信部112は、リモート局12との通信処理を終了するか否かを判断する。終了するとの判断の場合は処理を終了し、終了しないとの判断の場合はステップS802に戻る。なお、マスタ送信部112は、すべてのリモート局12との通信が完了した場合に処理を終了しても良いし、予め決められた割合または数のリモート局12との通信が完了した場合に処理を終了しても良いし、処理の開始から予め決められた時間が経過した場合に処理を終了しても良い。
次に、リモート局12の動作例について、図9のフローチャートを用いて説明する。
(ステップS901)状態情報取得部122は、リモート局12の状態を示す状態情報を取得する。
(ステップS902)状態情報取得部122は、ステップS901で取得した状態情報を、状態情報格納部123に蓄積する。
(ステップS903)リモート受信部124は、マスタ局11から送信された送信命令(第一送信命令または第二送信命令)を受信したか否かを判断する。送信命令を受信すればステップS904に行き、受信しなければステップS901に戻る。
(ステップS904)リモート判断部125は、ステップS903で受信された送信命令からリモート局識別子またはグループ識別子を取得する。
(ステップS905)リモート判断部125は、リモート格納部121に格納されている第二リモート局情報が有するリモート局識別子またはグループ識別子が、ステップS904で取得されたリモート局識別子またはグループ識別子と一致するか否かを判断する。一致すればステップS906に行き、一致しなければステップS901に戻る。
(ステップS906)リモート送信部126は、状態情報格納部123の状態情報を取得する。
(ステップS907)リモート送信部126は、ステップS906で取得した状態情報、リモート局識別子を有するリモート局返答情報を構成する。なお、リモート局返答情報は、グループ識別子をも有することは好適である。
(ステップS908)リモート送信部126は、ステップS907で構成したリモート局返答情報を送信する。ステップS901に戻る。
なお、図9のフローチャートにおいて、ステップS901、およびステップS902の処理の頻度は、例えば、一度だけ、または所定時間(例えば、1時間)に1回等、少なくても良い。
以下、本実施の形態における流星バースト通信システム1の具体的な動作について説明する。流星バースト通信システム1の概念図は図1である。
今、流星バースト通信システム1は、一つのマスタ局11と2500のリモート局12を有する。そして、本具体例において、マスタ局11は、2500のリモート局12の状態情報を6時間毎に取得するものとする。
そして、マスタ局11のマスタ格納部111は、図10に示す第一リモート局情報管理表を保持している。第一リモート局情報管理表は、2500のリモート局12についての情報を管理する表である。第一リモート局情報管理表は、「ID」「第一リモート局情報」を有する「第一リモート局情報」は「グループ識別子」「リモート局識別子」「フラグ」を有する。「フラグ」は、リモート局返答情報を受信したか否かを示す情報であり、「1」は受信済み、「0」は未受信を示す。なお、「フラグ」は、現在の一連の通信処理期間(6時間毎の通信処理期間)において、リモート局返答情報を送信してきたか否かを示す。また、図10において、リモート局識別子はユニークな情報であるが、グループ識別子とリモート局識別子との組み合わせにより、ユニークな情報となっても良い。
また、リモート局12の状態情報格納部123は、例えば、図11に示す状態情報管理表を保持している、とする。状態情報管理表は、「ID」「電波状態情報」「放送状態情報」「信号出力情報」等を有する。「電波状態情報」「放送状態情報」「信号出力情報」が「1」である場合は、ぞれぞれ「電波が届いている」「放送を受信できている」「信号を出力している」ことを示し、「0」である場合は、ぞれぞれ「電波が届いていない」「放送を受信できていない」「信号を出力していない」ことを示す。また、「ID」はリモート局識別子である。
また、リモート局12の状態情報取得部122は、例えば、定期的に状態情報を取得し、状態情報格納部123に蓄積している、とする。
かかる状況で、マスタ局11は、処理を開始する、とする。つまり、マスタ局11は、以下のように第一個別通信処理を行う。
マスタ局11のマスタ送信部112は、リモート格納部121に格納されている第一リモート局情報の中の1番目の第一リモート局情報のフラグが「0」であるので(リモート局返答情報を受信していないので)、マスタ送信部112は、1番目の第一リモート局情報が有するリモート局識別子「0001」を第一リモート局情報管理表から読み出す。
次に、マスタ送信部112は、リモート局識別子「0001」を有する第一送信命令を構成し、送信する。
次に、リモート局識別子「0001」で識別されるリモート局12のリモート受信部124は、マスタ局11から送信された第一送信命令を受信した、とする。次に、リモート判断部125は、第一送信命令からリモート局識別子「0001」を取得する。
次に、リモート判断部125は、リモート格納部121に格納されている第二リモート局情報「0001」を取得し、受信されたリモート局識別子「0001」と一致すると判断する。
次に、リモート送信部126は、状態情報格納部123の状態情報(例えば、「1,1,1,・・・」)を取得する。なお、状態情報は、「電波状態情報,放送状態情報,信号出力情報・・・」の構造を有する、とする。
次に、リモート送信部126は、取得した状態情報、リモート局識別子「0001」を有するリモート局返答情報を構成し、送信する。
次に、マスタ受信部113は、リモート局識別子「0001」のリモート局12からリモート局返答情報を受信する。
次に、マスタ出力部114は、受信されたリモート局返答情報を、図示しない記録媒体(例えば、リモート局返答情報格納部)に蓄積する。また、マスタ出力部114は、リモート局識別子「0001」を有する第一リモート局情報のフラグを「0」から「1」に書き換える。
そして、マスタ局11は、以上の処理を、すべての第一リモート局情報に対して行う。そして、一部のリモート局12は、第一送信命令を受信しない結果、リモート局返答情報を送信してこない。
次に、マスタ送信部112は、第一個別通信処理を終了するか否かを判断する。例えば、一通り、すべてのリモート局12に対して第一送信命令の送信を試みれば、第一個別通信処理を終了するとする場合、マスタ送信部112は、第一個別通信処理を終了する。なお、例えば、リモート局返答情報を送信してきていないすべてのリモート局12に対して第一送信命令を送信する処理ループを2回行うとする場合、上記の処理がもう一度繰り返される。
次に、マスタ局11は、以下のグループ通信処理を行う。つまり、マスタ送信部112は、1番目のグループが、第二送信命令を送信すべきグループであるか否かを判断する。ここで、マスタ局11は、例えば、8割以上のリモート局12から既にリモート局返答情報を受信している場合はグループ通信処理を行わず、リモート局返答情報を受信しているリモート局12が8割未満のグループに対してはグループ通信処理を行う、とする。
そして、マスタ局11は、1番目のグループのグループ識別子「A」に対応するフラグをすべて取得し、「0」の割合が6割、「1」の割合が4割であった、とする。
次に、マスタ送信部112は、1番目のグループのグループ識別子「A」を、マスタ格納部111から取得する。
次に、マスタ送信部112は、グループ識別子「A」を有する第二送信命令を構成し、送信する。
次に、リモート局識別子「0003」で識別されるリモート局12のリモート受信部124は、グループ識別子「A」を有する第二送信命令を受信した、とする。
そして、リモート判断部125は、受信された第二送信命令からグループ識別子「A」を取得し、リモート格納部121に格納されている第二リモート局情報が有する自身のグループ識別子「A」と比較する。そして、リモート判断部125は、2つのグループ識別子が同一である、と判断する。
次に、リモート送信部126は、状態情報格納部123の状態情報を取得する。そして、リモート送信部126は、取得した状態情報、リモート局識別子「0003」、グループ識別子「A」を有するリモート局返答情報を構成し、送信する。
次に、マスタ受信部113は、リモート局識別子「0003」で識別されるリモート局12からリモート局返答情報を受信する。
そして、マスタ出力部114は、受信されたリモート局返答情報を、図示しない記録媒体(例えば、リモート局返答情報格納部)に蓄積する。また、マスタ出力部114は、リモート局識別子「0003」と対になるフラグ(図10の第一リモート局情報管理表のフラグ)を「1」に書き換える。
かかる処理を、マスタ局11等はすべてのグループに対して行う。そして、マスタ局11等は、例えば、所定の時間が経過するまで、グループに対する処理を行う、とする。
次に、マスタ局11は、第二個別通信処理を行う。つまり、マスタ送信部112は、リモート格納部121に格納されている第一リモート局情報の中で、フラグ「0」に対応する第一リモート局情報が有するリモート局識別子を取得し、当該リモート局識別子で識別されるリモート局12に対して通信を行う。
詳細には、マスタ送信部112は、フラグ「0」に対応する第一リモート局情報が有するリモート局識別子を取得し、第一送信命令を構成する。次に、マスタ送信部112は、当該第一送信命令を送信する。
そして、リモート局12のリモート受信部124は、第一送信命令を受信する。そして、リモート判断部125は、第一送信命令に含まれるリモート局識別子と自身のリモート局識別子とが一致するか否かを判断する。一致する場合、リモート送信部126は、状態情報格納部123の状態情報を取得する。リモート送信部126は、取得した状態情報、リモート局識別子を有するリモート局返答情報を構成し、マスタ局11に送信する。
かかる第二個別通信処理は、マスタ局11がすべて(ここでは、2500個)のリモート局12からリモート局返答情報を受信できた場合、または予め決められた時間(例えば、通信の開始から6時間)が経過するまで行う。
そして、先の通信処理から6時間経過後に、再度、第一個別通信処理、グループ通信処理、および第二個別通信処理を行う。かかることにより、6時間以内のリモート局12の状態変化を、マスタ局11は取得できる。
以上、本実施の形態によれば、流星バーストを利用して、2以上のリモート局から情報を効率的に受信できる。さらに具体的には、本実施の形態によれば、流星バーストを利用して、2以上のリモート局の状態情報を効率的に取得できる。
なお、本実施の形態において、上述したように、個々のリモート局に対する通信である個別通信と、1以上のリモート局の集合であるグループに対する通信であるグループ通信とを、どのように組み合わせても良い。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるマスタ局を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、リモート局を識別するリモート局識別子と、当該リモート局が属するグループを識別するグループ識別子とを有する2以上の第一リモート局情報を格納しており、コンピュータを、前記2以上のリモート局に情報の送信を促す命令であり、リモート局識別子を有する命令である第一送信命令、およびグループ識別子を有する第二送信命令を、流星バーストを利用して送信するマスタ送信部と、リモート局からの返答であり、リモート局識別子を有するリモート局返答情報を、1以上のリモート局から受信するマスタ受信部と、前記リモート局返答情報を出力するマスタ出力部として機能させるためのプログラム、である。
また、上記プログラムにおいて、前記マスタ送信部は、前記マスタ格納部に格納されている2以上の第一リモート局情報が有する2以上の各リモート局識別子を有する2以上の第一送信命令を構成し、流星バーストを利用して送信する第一送信手順と、当該第一送信手順の後に、前記リモート局返答情報を送信してきていないリモート局が属する1以上のグループのグループ識別子を有する2以上の第一送信命令を構成し、流星バーストを利用して送信する第二送信手順と、当該第二送信手順の後に、前記リモート局返答情報を送信してきていないリモート局のリモート局識別子を有する2以上の第一送信命令を構成し、流星バーストを利用して送信する第三送信手順とを実行するものとして、コンピュータを機能させるためのプログラムであることは好適である。
また、上記プログラムにおいて、前記マスタ送信部は、前記第二送信手順において、グループの中でリモート局返答情報を送信してきていないリモート局の割合、またはリモート局返答情報を送信してきていないリモート局の数が多いグループに対して第一送信命令を送信する頻度を、前記割合または前記数が少ないグループに対して第一送信命令を送信する頻度より多くするものとして、コンピュータを機能させるためのプログラムであることは好適である。
また、上記プログラムにおいて、予め決められた割合または予め決められた数以上のリモート局からリモート局返答情報を受信できた場合に、前記マスタ送信部は、前記第二送信手順から前記第三送信手順に移行するものとしてコンピュータを機能させるためのプログラムであることは好適である。
また、上記プログラムにおいて、グループ内の予め決められた割合以上のリモート局からリモート局返答情報を受信できた場合に、前記マスタ送信部は、前記第三送信手順において、当該グループ内のリモート局であり、前記リモート局返答情報を送信してきていないリモート局のリモート局識別子を有する2以上の第一送信命令を構成し、流星バーストを利用して送信するものとしてコンピュータを機能させるためのプログラムであることは好適である。
また、上記プログラムにおいて、前記マスタ送信部は、グループにより、前記第二送信手順から前記第三送信手順に移行する場合の前記リモート局返答情報を受信できたリモート局の割合および数が異なるものとしてコンピュータを機能させるためのプログラムであることは好適である。
また、上記プログラムにおいて、前記第二送信手順における送信命令の送信に対応する前記マスタ受信部のリモート局返答情報の受信において、同一のリモート局からのリモート局返答情報の受信が、所定の条件を満たすほど続く場合に、前記マスタ送信部は、前記第二送信手順から前記第三送信手順に移行するものとしてコンピュータを機能させるためのプログラムであることは好適である。
また、本実施の形態におけるリモート局を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、自身のリモート局識別子と自身が属するグループのグループ識別子とを有する第二リモート局情報を格納しており、コンピュータを、前記マスタ局から送信された第一送信命令または第二送信命令を受信するリモート受信部と、前記第一送信命令または第二送信命令に含まれるリモート局識別子またはグループ識別子を取得し、当該リモート局識別子またはグループ識別子が前記第二リモート局情報に含まれるか否かを判断するリモート判断部と、前記リモート判断部が前記第二リモート局情報に含まれると判断した場合に、前記リモート格納部に格納されている第二リモート局情報に含まれるリモート局識別子を有するリモート局返答情報を前記マスタ局に送信するリモート送信部として機能させるためのプログラムである。
(実施の形態2)
本実施の形態において、一のマスタ局と2以上のリモート局とが通信する場合であって、地震、火災等の災害、不具合等により、通常利用している通信手段が利用できない場合に、流星バーストの反射を利用する流星バースト通信システム2について説明する。
図12は、本実施の形態における流星バースト通信システム2の概念図である。図12において、流星バースト通信システム2は、流星バーストを用いた通信手段以外に、通常利用している通信手段を有する。
図13は、本実施の形態における流星バースト通信システム2のブロック図である。流星バースト通信システム2は、一のマスタ局21、および2以上のリモート局22を具備する。
マスタ局21は、マスタ局第二通信手段211、判断手段212、マスタ格納部111、マスタ送信部112、マスタ受信部113、およびマスタ出力部114を具備する。
リモート局22は、リモート局第二通信手段221、リモート格納部121、状態情報取得部122、状態情報格納部123、リモート受信部124、リモート判断部125、およびリモート送信部126を具備する。
マスタ局第二通信手段211は、2以上のリモート局22と通信を行い、2以上のリモート局22から情報を受信する。マスタ局第二通信手段211は、2以上のリモート局に情報の送信を促す命令である送信命令を送信する。送信命令は、通常、リモート局識別子を有する。なお、マスタ局第二通信手段211は、流星バーストの反射を利用しない通信手段である。また、マスタ局第二通信手段211が受信する情報は、例えば、各リモート局22の状態情報である。マスタ局第二通信手段211は、通常、無線または有線の通信手段で実現される。
マスタ局21の判断手段212は、マスタ局第二通信手段211により、2以上のリモート局22と通信可能であるか否かを判断する。そして、判断手段212が、2以上のリモート局22と通信可能でないと判断した場合に、マスタ送信部112等が機能し、流星バーストの反射を利用して2以上のリモート局22と通信することとなる。また、「2以上のリモート局22と通信可能でない」とは、2以上のリモート局22の全部と通信可能でない場合でも良いし、閾値以上の割合または数のリモート局22と通信可能でない場合でも良い。ただし、「2以上のリモート局22と通信可能でない」とは、2つのリモート局22と通信可能でない場合でも良い。判断手段212は、通常、MPUやメモリ等から実現され得る。判断手段212の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
リモート局22のリモート局第二通信手段221は、マスタ局21との通信を行う。リモート局第二通信手段221は、マスタ局21から送信命令を受信し、情報をマスタ局21に送信する。リモート局第二通信手段221が送信する情報は、状態情報であることは好適である。リモート局第二通信手段221は、通常、無線または有線の通信手段で実現される。
また、マスタ局第二通信手段211およびリモート局第二通信手段221による通信手段を、第二の通信手段という。
次に、流星バースト通信システム2の動作について説明する。まず、マスタ局21の動作について、図14のフローチャートを用いて説明する。
(ステップS1401)マスタ局第二通信手段211は、2以上のリモート局22と通信を行う。かかる処理を、第二通信手段を用いた通信という。第二通信手段を用いた通信について、図15のフローチャートを用いて説明する。
(ステップS1402)判断手段212は、判断処理を行う。判断処理について、図16のフローチャートを用いて説明する。
(ステップS1403)マスタ送信部112は、ステップS1402における判断処理の結果が、流星バーストを利用した通信を行う判断結果であるか否かを判断する。流星バーストを利用した通信を行う判断結果である場合はステップS1404に行き、かかる判断結果でない場合は処理を終了する
(ステップS1404)マスタ送信部112等は、実施の形態1で説明した通信処理(流星バーストを利用した通信処理)を行う。マスタ送信部112等は、実施の形態1で説明した、いかなる通信処理を行っても良い。
なお、図14のフローチャートにおいて、例えば、予め決められた時間間隔(例えば、6時間の間隔)で、処理が繰り返されることは好適である。
次に、ステップS1401の第二通信手段を用いた通信について、図15のフローチャートを用いて説明する。図15のフローチャートにおいて、図4のフローチャートと同一のステップについて、説明を省略する。
(ステップS1501)マスタ局第二通信手段211は、カウンタiに1を代入する。
(ステップS1502)マスタ局第二通信手段211は、マスタ格納部111にi番目の第一リモート局情報が存在するか否かを判断する。存在すればステップS1503に行き、存在しなければ上位処理にリターンする。
(ステップS1503)マスタ局第二通信手段211は、送信命令を構成する。送信命令は、通常、i番目の第一リモート局情報が有するリモート局識別子を有する。但し、マスタ局第二通信手段211がダイレクトにリモート局22と通信できる場合は、送信命令にリモート局識別子を有する必要はない。
(ステップS1504)マスタ局第二通信手段211は、ステップS1503で構成した送信命令を、i番目の第一リモート局情報に対応するリモート局22に送信する。ステップS406に行く。
なお、図15のフローチャートにおいて、どのリモート局22から返答があったかが把握できる。
次に、ステップS1402の判断処理について、図16のフローチャートを用いて説明する。
(ステップS1601)判断手段212は、リモート局返答情報を送信してきたリモート局22の数を取得する。
(ステップS1602)判断手段212は、リモート局返答情報を送信してきていないリモート局22の数を取得する。
(ステップS1603)判断手段212は、ステップS1601で取得した数、または/およびステップS1602で取得した数を用いて、流星バーストを利用する通信を行うか否かを判断する。なお、判断手段212は、判断結果をバッファに一時蓄積する。
次に、リモート局22の動作について、図17のフローチャートを用いて説明する。図17のフローチャートにおいて、図9のフローチャートと同一のステップについて説明を省略する。
(ステップS1701)リモート局第二通信手段221は、送信命令を受信したか否かを判断する。送信命令を受信すればステップS906に行き、送信命令を受信しなければステップS903に行く。
(ステップS1702)リモート局第二通信手段221は、リモート局返答情報をマスタ局21に送信する。
以上、本実施の形態によれば、本来の通信手段が利用できない場合に、流星バーストの反射を利用して通信を行える。また、本実施の形態によれば、本来の通信手段が利用できない場合に、流星バーストを利用して、2以上のリモート局から情報を効率的に受信できる。
なお、本実施の形態によれば、流星バーストを利用した通信において、個別通信とグループ通信とを組み合わせた通信を行った。しかし、本実施の形態における流星バーストを利用した通信において、個別通信のみにより、流星バーストの反射を利用した通信を行っても良い。
なお、本実施の形態におけるマスタ局を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、リモート局を識別するリモート局識別子と、当該リモート局が属するグループを識別するグループ識別子とを有する2以上の第一リモート局情報を格納しており、コンピュータを、前記2以上のリモート局に情報の送信を促す命令であり、リモート局識別子を有する命令である第一送信命令、およびグループ識別子を有する第二送信命令を、流星バーストを利用して送信するマスタ送信部と、リモート局からの返答であり、リモート局識別子を有するリモート局返答情報を、1以上のリモート局から受信するマスタ受信部と、前記リモート局返答情報を出力するマスタ出力部として機能させるためのプログラム、である。
また、上記プログラムにおいて、流星バーストの反射を利用しない第二の通信手段により通信可能であり、前記第二の通信手段を用いて通信できない場合に、流星バーストの反射を利用して通信を行うものとしてコンピュータを機能させるためのプログラムであることは好適である。
(実施の形態3)
本実施の形態において、グループ単位で通信する手順の際に、一度、返答し、マスタ局からACKを受信したリモート局は、返事を返さない流星バースト通信システム3について説明する。なお、本実施の形態における流星バースト通信システム3は、個別通信とグループ通信とを組み合わせて、マスタ局と2以上のリモート局とが効率的に通信を行う流星バースト通信システムである点は、実施の形態1、2で説明した流星バースト通信システムと同様である。
図18は、本実施の形態における流星バースト通信システム3のブロック図である。
流星バースト通信システム3は、一のマスタ局31と2以上のリモート局32を具備する。
また、マスタ局31は、マスタ格納部111、マスタ送信部312、マスタ受信部113、およびマスタ出力部114を備える。
また、リモート局32は、リモート格納部121、状態情報取得部122、状態情報格納部123、リモート受信部324、リモート判断部325、およびリモート送信部326を備える。
マスタ局31は、流星バースト13の反射を用いて、リモート局32と無線通信を行う。マスタ局31は、例えば、各地のリモート局32からの観測データの収集地に設置される。なお、マスタ局31は、流星バースト13の反射を用いずに、リモート局32と直接的に無線通信を行える場合もあり得る。
マスタ局31を構成するマスタ送信部312は、第一送信手順と第二送信手順とを実行する。また、マスタ送信部312は、確認手順を実行する。第一送信手順は、マスタ格納部111に格納されている2以上の第一リモート局情報が有する2以上の各リモート局識別子を有する2以上の第一送信命令を構成し、流星バーストを利用して送信する手順である。第二送信手順は、第一送信手順の後の手順であり、リモート局返答情報を送信してきていないリモート局が属する1以上のグループのグループ識別子を有する2以上の第二送信命令を構成し、流星バーストを利用して送信する手順である。また、確認手順は、第二送信手順における第二送信命令の送信に対応して、リモート局32からリモート局返答情報を受信した場合に、確認情報を送信する手順である。確認情報とは、リモート局返答情報を受信した旨を示す情報であり、リモート局返答情報に含まれるリモート局識別子を有する情報である。なお、確認情報は、通信プロトコルにおける、いわゆるACKと同意義である、と考えても良い。
マスタ送信部312は、無線通信手段で実現される。
リモート局32は、マスタ局31からの無線通信による問い合わせに応じて、マスタ局31に情報を送信する。リモート局32は、流星バースト13を用いて、マスタ局11と無線通信を行う。なお、リモート局32は、流星バースト13を用いずに、マスタ局31と無線通信を行える場合もあり得る。また、リモート局32がマスタ局31に送信する情報は、リモート局12の状態を示す状態情報であることが好適であるが、他の情報でも良い。
リモート局32を構成するリモート受信部324は、マスタ局31から送信された第一送信命令または第二送信命令を受信する。また、リモート受信部324は、マスタ局31から確認情報をも受信する。リモート受信部324は、無線通信手段で実現される。
リモート判断部325は、第一送信命令または第二送信命令に含まれるリモート局識別子またはグループ識別子を取得し、リモート局識別子またはグループ識別子が第二リモート局情報に含まれるか否かを判断する。また、リモート判断部325は、確認情報に自身のリモート局識別子が含まれているか否かをも判断する。リモート判断部325は、通常、MPUやメモリ等から実現され得る。リモート判断部325の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
リモート送信部326は、リモート判断部325が第二リモート局情報に含まれると判断した場合(マスタ局11からの送信が自身への送信であると判断した場合)に、リモート局返答情報をマスタ局11に送信する。リモート局返答情報は、リモート局12からマスタ局11に返送される情報であり、リモート格納部121に格納されている第二リモート局情報に含まれるリモート局識別子を有する。
また、リモート送信部126は、リモート判断部125がリモート局識別子またはグループ識別子が第二リモート局情報に含まれると判断した場合(マスタ局11からの送信が自身への送信であると判断した場合)に、リモート局識別子と状態情報とを有するリモート局返答情報をマスタ局11に送信することは好適である。ただし、リモート送信部326は、リモート判断部325が確認情報に自身のリモート局識別子が含まれていると判断した後は、第二リモート局情報に自身が属するグループのグループ識別子が含まれている場合でも、リモート局返答情報をマスタ局31に送信しない。なお、自身のリモート局識別子が含まれている確認情報をリモート受信部324が受信した後は、リモート送信部126は、結果として、リモート局返答情報を送信しなければ良い。つまり、自身のリモート局識別子が含まれている確認情報をリモート受信部324が受信したか否かの判断は、リモート判断部325ではなく、リモート送信部126等が行っても良い。リモート送信部326は、無線通信手段で実現される。
次に、流星バースト通信システム3の動作について説明する。まず、マスタ局31の動作例について、図19のフローチャートを用いて説明する。図19のフローチャートにおいて、図3のフローチャートと同一のステップについて、説明を省略する。
(ステップS1901)マスタ局31は、グループ通信処理を行う。グループ通信処理は、リモート局32の各グループに対して、通信を行おうとする通信処理である。グループ通信処理について、図20のフローチャートを用いて説明する。なお、グループ通信処理は、上述した第二送信手順に該当する。
なお、図19のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS1901のグループ通信処理について、図20のフローチャートを用いて説明する。図20のフローチャートにおいて、図5のフローチャートと同一のステップについて、説明を省略する。
(ステップS2001)マスタ送信部312は、確認情報を構成する。マスタ送信部312は、受信されたリモート局返答情報に含まれるリモート局識別子を取得し、当該リモート局識別子を有する確認情報を構成する。
(ステップS2002)マスタ送信部312は、ステップS2001で構成した確認情報を送信する。
なお、図20のステップS502において、マスタ送信部112は、i番目のグループで、第二送信命令を送信すべきグループが存在するか否かを判断する。この第二送信命令を送信すべきグループか否かについて、マスタ送信部112は、予め決められた条件を満たすか否かにより判断する。予め決められた条件は、ここでは、通常、グループを構成するすべてのリモート局12からリモート局返答情報が送信されてきていることである。
次に、リモート局32の動作例について、図21のフローチャートを用いて説明する。図21のフローチャートにおいて、図9のフローチャートと同一のステップについて、説明を省略する。
(ステップS2101)リモート受信部324は、マスタ局31から命令または情報等を受信したか否かを判断する。命令等を受信すればステップS2102に行き、受信しなければステップS901に戻る。
(ステップS2102)リモート判断部325は、ステップS2101で受信された命令等が、第一送信命令であるか否かを判断する。第一送信命令であればステップS2103に行き、第一送信命令でなければステップS2105に行く。なお、ステップS2101で受信された命令等には、命令等を識別する情報が含まれる、とする。かかる識別情報は、グループ識別子やリモート局識別子を用いた情報でも良いし、単に、第一送信命令、第二送信命令、または確認情報を識別するフラグ等でも良い。
(ステップS2103)リモート判断部325は、ステップS2101で受信された第一送信命令からリモート局識別子を取得する。
(ステップS2104)リモート判断部325は、ステップS2103で取得したリモート局識別子が自身のリモート局識別子と一致するか否かを判断する。自身のリモート局識別子と一致する場合はステップS2105に行き、一致しない場合はステップS901に戻る。
(ステップS2105)リモート判断部325は、ステップS2101で受信された命令等が、第二送信命令であるか否かを判断する。第二送信命令であればステップS2105に行き、第二送信命令でなければステップS2109に行く。
(ステップS2106)リモート判断部325は、図示しない格納部に格納されているフラグがOFFであるか否かを判断する。フラグがOFFであればステップS2107に行き、ONであればステップS901に戻る。なお、フラグとは、リモート判断部325が確認情報に自身のリモート局識別子が含まれていると判断した後であるか否かを示すフラグである。
(ステップS2107)リモート判断部325は、リモート判断部325は、ステップS2101で受信された第二送信命令からグループ識別子を取得する。
(ステップS2108)リモート判断部325は、ステップS2107で取得したグループ識別子が自身の属するグループのグループ識別子と一致するか否かを判断する。一致する場合はステップS906に行き、一致しない場合はステップS901に戻る。
(ステップS2109)リモート判断部325は、ステップS2101で受信された命令等が、確認情報であるか否かを判断する。確認情報であればステップS2110に行き、確認情報でなければステップS901に戻る。
(ステップS2110)リモート判断部325は、ステップS2101で受信された確認情報から、リモート局識別子を取得する。
(ステップS2111)リモート判断部325は、ステップS2110で取得したリモート局識別子が自身のリモート局識別子と一致するか否かを判断する。自身のリモート局識別子と一致する場合はステップS2112に行き、一致しない場合はステップS901に戻る。
(ステップS2112)リモート判断部325は、図示しない格納部のフラグをONに書き換える。ステップS901に戻る。なお、フラグの初期値はOFFである。
以上、本実施の形態によれば、流星バーストを利用して、2以上のリモート局から情報を効率的に受信できる。
なお、本実施の形態におけるマスタ局を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、リモート局を識別するリモート局識別子と、当該リモート局が属するグループを識別するグループ識別子とを有する2以上の第一リモート局情報を格納しており、コンピュータを、前記2以上のリモート局に情報の送信を促す命令であり、リモート局識別子を有する命令である第一送信命令、およびグループ識別子を有する第二送信命令を、流星バーストを利用して送信するマスタ送信部と、リモート局からの返答であり、リモート局識別子を有するリモート局返答情報を、1以上のリモート局から受信するマスタ受信部と、前記リモート局返答情報を出力するマスタ出力部として機能させるためのプログラム、である。
また、上記プログラムにおいて、前記マスタ送信部は、前記マスタ格納部に格納されている2以上の第一リモート局情報が有する2以上の各リモート局識別子を有する2以上の第一送信命令を構成し、流星バーストを利用して送信する第一送信手順と、当該第一送信手順の後に、前記リモート局返答情報を送信してきていないリモート局が属する1以上のグループのグループ識別子を有する2以上の第二送信命令を構成し、流星バーストを利用して送信する第二送信手順とを実行し、かつ、当該第二送信手順における第二送信命令の送信に対応して、前記リモート局からリモート局返答情報を受信した場合に、リモート局返答情報を受信した旨を示す情報であり、前記リモート局返答情報に含まれるリモート局識別子を有する確認情報を送信する確認手順を実行し、前記リモート受信部は、前記マスタ局から前記確認情報をも受信し、前記リモート判断部は、前記確認情報に自身のリモート局識別子が含まれているか否かをも判断し、前記リモート送信部は、前記リモート判断部が前記確認情報に自身のリモート局識別子が含まれていると判断した後は、前記第二リモート局情報に自身が属するグループのグループ識別子が含まれている場合でも、前記リモート局返答情報を前記マスタ局に送信しないものとしてコンピュータを機能させるためのプログラムであることは好適である。
なお、上記で説明した情報通信のプロトコルは、流星バースト通信が、例えば、約10秒に一回のみ通信可能となる通信路であるので、極めて有意義である。
また、図22は、本明細書で述べたプログラムを実行して、上述した実施の形態のマスタ局またはリモート局を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図22は、このコンピュータシステム300の概観図であり、図23は、コンピュータシステム300のブロック図である。
図22において、コンピュータシステム300は、FDドライブ、CD−ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図23において、コンピュータ301は、FDドライブ3011、CD−ROMドライブ3012に加えて、MPU3013と、CD−ROMドライブ3012及びFDドライブ3011に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015とに接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態のマスタ局またはリモート局等の機能を実行させるプログラムは、CD−ROM3101、またはFD3102に記憶されて、CD−ROMドライブ3012またはFDドライブ3011に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101、FD3102またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態のマスタ局またはリモート局等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。