ノード装置、ノード装置の制御方法およびノード装置の制御プログラム
【課題】パケットの衝突を抑止することを課題とする。
【解決手段】GW装置は、ノード装置からGW装置までの経路情報、または、各ノード装置ごとに隣接ノード装置のアドレス情報を記憶する。そして、GW装置は、記憶される情報から、ブロードキャストでデータ送信を実行するノード装置を特定する。続いて、GW装置は、特定されたノード装置に、ブロードキャストでデータ送信を実行する装置であることを通知する。そして、GW装置は、通知された後に、記憶されるアドレス情報または経路情報に基づいて、隣接ノード装置にブロードキャストでデータを送信する。
【解決手段】GW装置は、ノード装置からGW装置までの経路情報、または、各ノード装置ごとに隣接ノード装置のアドレス情報を記憶する。そして、GW装置は、記憶される情報から、ブロードキャストでデータ送信を実行するノード装置を特定する。続いて、GW装置は、特定されたノード装置に、ブロードキャストでデータ送信を実行する装置であることを通知する。そして、GW装置は、通知された後に、記憶されるアドレス情報または経路情報に基づいて、隣接ノード装置にブロードキャストでデータを送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ノード装置、ノード装置の制御方法およびノード装置の制御プログラムに関する。
【背景技術】
【0002】
近年、基地局やアクセスポイントなどのネットワークインフラを用いずに、端末同士が直接接続してネットワークを構築するアドホックネットワークが利用されている。
【0003】
アドホックネットワークは、例えばコンピュータ、PDA(Personal Digital Assistant)、携帯電話端末等の無線接続に用いられている技術を用いて多数の端末をアクセスポイントの介在なしに相互に接続する。また、アドホックネットワークは、通信ノードの追加や削除に伴うネットワークの構築を自立して実行するので、ネットワーク設定の労力を軽減でき、通信ノードが多い場合やネットワークの構成がある程度の頻度で変化する場合に有効である。
【0004】
このようなアドホックネットワークを構築する各通信ノードのファームウェアの更新を行う場合、他のアドホックネットワークと接続するゲートウェイ装置は、各通信ノードに対してファームウェアを更新するパケットを送信する。このパケットを受信した各通信ユニットは、ファームウェアを更新するとともに、受信したパケットを隣接する通信ノードにブロードキャストで転送する。
【0005】
このように、各通信ノードがブロードキャストでパケットを転送する場合、アドホックネットワークのトラフィックが増大して、パケットの衝突が多発し、正常にファームウェアを更新できない通信ノードが発生する。このため、通信ノードの位置情報に基づいてブロードキャストを実行することで、通信ノードの密集地域におけるパケット衝突を抑止する技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−74790号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、従来の技術では、通信ノードの密集地域を特定することができるものの、ネットワークの輻輳状況を検出することができないので、多量のパケット送信によってネットワークが輻輳し、パケットの衝突を誘発する場合があるという問題があった。
【0008】
開示の技術は、上記に鑑みてなされたものであって、パケットの衝突を抑止することができるノード装置、ノード装置の制御方法およびノード装置の制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本願の開示するノード装置、ノード装置の制御方法およびノード装置の制御プログラムムは、無線アドホックネットワークを形成するノード装置は、記憶部と、特定部と、通知部と、送信部とを有する。記憶部は、前記ノード装置から他のノード装置までの経路情報、または、前記無線アドホックネットワークを形成する各ノード装置ごとに隣接ノード装置のアドレス情報を記憶する。特定部は、前記記憶部に記憶される情報から、ブロードキャストでデータ送信を実行する他のノード装置を特定する。通知部は、前記特定部によって特定された他のノード装置に、前記ブロードキャストでデータ送信を実行する装置であることを通知する。送信部は、前記通知部によって通知された後に、前記記憶部に記憶されるアドレス情報または経路情報に基づいて、前記ノード装置の隣接ノード装置に前記ブロードキャストでデータを送信する。
を有する
【発明の効果】
【0010】
本願の開示するノード装置、ノード装置の制御方法およびノード装置の制御プログラムの一つの態様によれば、パケットの衝突を抑止することができるという効果を奏する。
【図面の簡単な説明】
【0011】
【図1】図1は、実施例1に係るシステムの全体構成を示す図である。
【図2】図2は、実施例1に係るGW装置の構成を示す機能ブロック図である。
【図3】図3は、経路情報テーブルに記憶される情報の例を示す図である。
【図4】図4は、実施例1に係るGW装置が実行する処理の流れを示すフローチャートである。
【図5】図5は、実施例1に係るシステムが実行するデータ送信を示すシーケンス図である。
【図6】図6は、実施例1に係るGW装置を用いた場合のデータ送信結果を示す図である。
【図7】図7は、実施例2に係るGW装置が隣接ノード情報を用いてデータ送信を実行する場合の処理の流れを示すフローチャートである。
【図8】図8は、実施例2に係るGW装置が保持する隣接ノード情報の例を示す図である。
【図9】図9は、GW装置と他のノード装置との位置関係を示す図である。
【図10】図10は、特定部が実行するブロードキャスト対象装置の選択遷移を示す図である。
【図11】図11は、選択されたデータ送信ルートを示す図である。
【図12】図12は、特定部が実行するブロードキャスト対象装置の選択遷移を示す図である。
【図13】図13は、選択されたデータ送信ルートを示す図である。
【図14】図14は、特定部が実行するブロードキャスト対象装置の選択遷移を示す図である。
【図15】図15は、選択されたデータ送信ルートを示す図である。
【図16】図16は、特定部が実行するブロードキャスト対象装置の選択遷移を示す図である。
【図17】図17は、選択されたデータ送信ルートを示す図である。
【図18】図18は、特定部が実行するブロードキャスト対象装置の選択遷移を示す図である。
【図19】図19は、選択されたデータ送信ルートを示す図である。
【図20】図20は、特定部が実行するブロードキャスト対象装置の選択遷移を示す図である。
【図21】図21は、選択されたデータ送信ルートを示す図である。
【図22】図22は、特定部が実行するブロードキャスト対象装置の選択遷移を示す図である。
【図23】図23は、選択されたデータ送信ルートを示す図である。
【図24】図24は、特定部が実行するブロードキャスト対象装置の選択遷移を示す図である。
【図25】図25は、選択されたデータ送信ルートを示す図である。
【図26】図26は、特定部が実行するブロードキャスト対象装置の選択遷移を示す図である。
【図27】図27は、最終的に決定したデータ送信ルートを示す図である。
【図28】図28は、データ送信制御プログラムを実行するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【0012】
以下に、本願の開示するノード装置、ノード装置の制御方法およびノード装置の制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、実施例では、各処理をGW(Gateway)装置が実行する例で説明するが、GW装置として特別な装置に限定されるものではなく、アドホックネットワークを形成するノード装置であれば、いずれの装置もGW装置として機能するように構成することも可能である。
【実施例1】
【0013】
実施例1では、実施例1に係るGW装置を含むシステムの全体構成、GW装置の機能ブロック図、処理の流れ、効果を説明する。なお、ノード装置は、例えばサーバなどの情報処理装置、ルータなどの中継装置、センサ等を有する無線装置などである。
【0014】
[全体構成]
図1は、実施例1に係るシステムの全体構成を示す図である。図1に示すように、このシステムは、GW装置10、ノード装置A、ノード装置B、ノード装置C、ノード装置D、ノード装置E、ノード装置F、ノード装置G、ノード装置Hを有する。また、図1に示した円は、各ノード装置が直接通信することができる範囲を示す。なお、ノード装置の数や位置関係は、あくまで例示であり、図1に限定するものではない。
【0015】
つまり、GW装置10は、ノード装置A、ノード装置B、ノード装置C、ノード装置D各々と直接通信することができる。すなわち、GW装置10の隣接ノードがノード装置A、ノード装置B、ノード装置C、ノード装置Dとなる。
【0016】
同様に、ノード装置Aの隣接ノードが、GW装置10とノード装置Cとノード装置Eである。ノード装置Bの隣接ノードが、GW装置10とノード装置Dである。ノード装置Cの隣接ノードが、GW装置10とノード装置Aである。ノード装置Dの隣接ノードが、GW装置10とノード装置Bとノード装置Fである。ノード装置Eの隣接ノードが、ノード装置Aとノード装置Gである。ノード装置Fの隣接ノードが、ノード装置Dとノード装置Hである。ノード装置Gの隣接ノードが、ノード装置Eである。ノード装置Hの隣接ノードが、ノード装置Fである。
【0017】
また、図1に示したシステムは、アドホックネットワークなどの自律分散型ネットワークであり、各ノード装置が無線接続に用いられている技術を用いてアクセスポイントの介在なしに相互に接続する。各ノード装置は、他のノード装置またはGW装置10との間で、Helloメッセージ等が定期的にやり取りして、GW装置10までの経路情報を生成したり、隣接ノードの生死確認を実行したりする。
【0018】
このようなシステムにおけるGW装置10は、各ノード装置からGW装置10までの経路情報、または、アドホックネットワークの各ノード装置ごとの隣接ノードのアドレス情報を記憶する。そして、GW装置10は、記憶される情報から、ブロードキャストでデータ送信を実行するノード装置を特定する。続いて、GW装置10は、特定されたノード装置に、ブロードキャストでデータ送信を実行する装置であることを通知する。そして、GW装置10は、通知された後に、記憶されるアドレス情報または経路情報に基づいて、隣接ノードにブロードキャストでデータを送信する。
【0019】
この結果、システム内のノード装置のうち、ブロードキャスト指示を受信したノード装置だけブロードキャストでGW装置10から受信したデータを送信することになる。したがって、従来に比べて総送信データ数を削減できるので、ネットワーク内の輻輳を誘発する可能性を小さくすることができ、パケットの衝突を抑止することができる。
【0020】
[GW装置]
次に、GW装置10の構成について説明する。なお、ノード装置は、アドホックネットワークで使用される情報処理装置や無線装置などの一般的な装置であるので、詳細な説明は省略する。
【0021】
図2は、実施例1に係るGW装置の構成を示す機能ブロック図である。図2に示すように、GW装置10は、無線インタフェース部11、経路情報テーブル12、更新データテーブル13、制御部14を有する。
【0022】
また、経路情報テーブル12や更新データテーブル13は、例えば半導体メモリ素子やハードディスクなどの記憶装置に設けられる。制御部14は、例えばCPU(Central Processing Unit)などの電子回路やFPGA(Field-Programmable Gate Array)などの集積回路である。
【0023】
無線インタフェース部11は、少なくとも1つのアンテナを有し、アンテナを介して電波を送受信し、各ノード装置と無線通信を確立する。例えば、この無線インタフェース部11は、各ノード装置との間でHelloメッセージを送受信したり、隣接ノード装置にブロードキャストでデータを送信したりする。また、無線インタフェース部11は、後述する特定部14b等によって特定されたノード装置に、ブロードキャストでデータ送信を実行する装置であること示すメッセージを送信する。
【0024】
経路情報テーブル12は、各ノード装置からGW装置10までの経路情報であるルーティング情報を記憶する。図3は、経路情報テーブルに記憶される情報の例を示す図である。ここで記憶される情報や形式は、あくまで例示であり、これに限定されるものではない。
【0025】
図3に示すように、経路情報テーブル12は、経路情報として「ノード装置AからGW装置10へ至る経路」、「ノード装置CからGW装置10へ至る経路」、「ノード装置Eからノード装置Aを経由してGW装置10に至る経路」を記憶する。同様に、経路情報テーブル12は、経路情報として「ノード装置Gからノード装置Eとノード装置Cとを経由してGW装置10に至る経路」、「ノード装置BからGW装置10へ至る経路」、「ノード装置DからGW装置10へ至る経路」を記憶する。同様に、経路情報テーブル12は、経路情報として「ノード装置Fからノード装置Dを経由してGW装置10に至る経路」、「ノード装置Hからノード装置Fとノード装置Dとを経由してGW装置10に至る経路」を記憶する。
【0026】
更新データテーブル13は、各ノード装置に送信するデータを記憶する。例えば、更新データテーブル13は、ノード装置のファームウェアを更新する更新データ等を記憶する。また、ここで記憶される情報は、所定サイズに分割されていてもよい。また、ここで記憶される情報は、ユーザによって格納された情報であってもよく、制御部14等がインターネットなどのネットワークを介して外部のサーバから取得された情報であってもよい。
【0027】
制御部14は、内部メモリ等を有して、GW装置10全体の処理を司る処理部であり、情報収集部14aと、特定部14bと、通知部14cと、データ送信部14dと、データ再送信部14eとを有する。
【0028】
情報収集部14aは、各ノード装置とHelloメッセージをやり取りして、経路情報を収集して、経路情報テーブル12に格納する処理部である。例えば、情報収集部14aは、30分ごとにHelloメッセージを各ノード装置に送信し、その応答を受信して経路情報を特定する。
【0029】
特定部14bは、経路情報テーブル12に記憶される情報から、ブロードキャストでデータ送信を実行するノード装置を特定する処理部である。例えば、特定部14bは、経路情報テーブル12を参照し、GW装置10の隣接ノードのうち複数の経路情報に該当するノード装置と、当該ノード装置が該当する経路情報における最大ホップ数以外のノード装置とを特定する。そして、特定部14bは、特定したノード装置をブロードキャストでデータ送信を実行するノード装置として特定する。また、特定部14bは、経路情報テーブル12を参照し、「ブロードキャスト対象装置」と選択されていない他のノード装置については「ブロードキャスト対象外装置」と特定する。そして、特定部14bは、特定したこれらの情報を通知部14cに通知する。
【0030】
通知部14cは、特定部14bによって特定されたノード装置に、ブロードキャストでデータ送信を実行する装置であることを通知する処理部である。例えば、通知部14cは、特定部14bから通知された「ブロードキャスト対象装置」各々に対して、ブロードキャストでデータ送信を実行する装置であることを通知する。このとき、通知部14cは、特定された順番にしたがって送信開始の遅延量を算出し、算出した遅延量を通知してもよい。
【0031】
データ送信部14dは、通知部14cによって通知された後に、経路情報テーブル12に記憶される経路情報に基づいて、隣接ノードにブロードキャストでデータを送信する処理部である。例えば、データ送信部14dは、更新データテーブル13から取得したデータをブロードキャストで送信する。すなわち、データ送信部14dは、隣接ノードであるノード装置A、ノード装置B、ノード装置C、ノード装置D各々に、データを送信する。
【0032】
データ再送信部14eは、データが受信できなかったノード装置に隣接するノード装置に対して、データの再送信を指示する処理部である。例えば、データ再送信部14eは、データ送信部14dのデータ送信が終了した後、経路情報テーブル12に記憶される経路情報に基づいて各ノード装置にデータが受信できたかを問い合わせる。そして、データ再送信部14eは、データが受信できなかったことを通知したノード装置と隣接するノード装置を、経路情報テーブル12に記憶される経路情報から特定する。その後、データ再送信部14eは、特定したノード装置に、データを受信できなかったノード装置にデータを送信する指示をユニキャストで送信する。
【0033】
[処理の流れ]
次に、実施例1に係るGW装置が実行する処理のフローチャートと、実施例1に係るシステムが実行する処理シーケンスとについて説明する。
【0034】
(GW装置が実行する処理)
図4は、実施例1に係るGW装置が実行する処理の流れを示すフローチャートである。図4に示すように、GW装置10の特定部14bは、処理の開始指示を受信すると(S101肯定)、経路情報テーブル12を参照して、1HOPに位置するノード装置を抽出する(S102)。続いて、特定部14bは、抽出したノード装置のうち出現頻度の最も高いノード装置を選択する(S103)。
【0035】
その後、特定部14bは、選択したノード装置が既に選択済みのノード装置であるか否かを判定する(S104)。そして、特定部14bは、選択したノード装置が既に選択済みのノード装置である場合(S104肯定)、選択したノード装置が1HOPでカバーできるノード装置を経路情報テーブル12から抽出する(S105)。特定部14bは、S105で抽出したノード装置のうち出現頻度の最も高いノード装置を選択する(S106)。その後、特定部14bは、S106で選択したノード装置が最大HOP数のノード装置でない場合に(S107否定)、S105からS107を繰り返す。
【0036】
一方、特定部14bは、S106で選択したノード装置が最大HOP数のノード装置である場合に(S107肯定)、まだ抽出されていないノード装置が存在するか否かを判定する(S108)。そして、特定部14bは、まだ抽出されていないノード装置が存在すると判定した場合(S108肯定)、S104以降の処理を実行する。一方、特定部14bは、経路情報テーブル12の全てのノード装置が選択または抽出されたと判定した場合(S108否定)、S114を実行する。
【0037】
一方、S104に戻って、特定部14bは、選択したノード装置が既に選択済みのノード装置でない場合(S104否定)、未抽出のノード装置をカバーできるノード装置を選択する(S109)。つまり、特定部14bは、既に抽出済みのノード装置かつ未選択のノード装置から、未抽出のノード装置をカバーできるノード装置を選択する。
【0038】
そして、特定部14bは、S109で選択したノード装置が1HOPでカバーできるノード装置を抽出する(S110)。続いて、特定部14bは、S110で抽出したノード装置が既に他のステップで選択済みのノード装置である場合(S111肯定)、干渉フラグを有効にして遅延量(N)を算出して(S112)、S108を実行する。一方、特定部14bは、S110で抽出したノード装置が既に他のステップで選択済みのノード装置でない場合(S111否定)、干渉フラグを無効にして遅延量(N)を0にする(S113)、S108を実行する。なお、遅延量の測定は、実行しなくてもよい。
【0039】
そして、通知部14cは、経路情報テーブル12の全ノード装置が選択または抽出された場合(S108否定)、S101からS108までで選択されたノード装置に、「ブロードキャスト対象装置」である通知と「遅延量(N)」とを送信する(S114)。
【0040】
続いて、データ送信部14dは、経路情報テーブル12の経路情報に基づいて、更新データテーブル13に記憶されるデータを、GW装置10の隣接ノード各々に送信する(S115)。このとき、データ送信部14dは、データが分割されている場合には、S115を分割分繰り返す。
【0041】
その後、データ再送信部14eは、データ送信部14dのデータ送信が終了した後、経路情報テーブル12に記憶される経路情報に基づいて各ノード装置にデータが受信できたかを問い合わせる(S116)。そして、データ再送信部14eは、データが受信できなかったことの応答を受信した場合(S117肯定)、当該応答を送信したノード装置に隣接するノード装置に、データの再送信を指示して処理を終了する(S118)。
【0042】
(フローチャートの具体例)
次に、図4で説明した処理の流れを図3に示した経路情報テーブル12を用いて具体的に説明する。まず、特定部14bは、経路情報テーブル12を参照し、GW装置10から1HOPに位置するノード装置として、「ノード装置A、ノード装置B、ノード装置C、ノード装置D」を特定する。さらに、特定部14bは、「ノード装置Aの出現頻度が2」、「ノード装置Bの出現頻度が1」、「ノード装置Cの出現頻度が2」、「ノード装置Dの出現頻度が3」と特定する。この結果、特定部14bは、出現頻度の最も高いノード装置として「ノード装置D」と選択する。
【0043】
続いて、特定部14bは、経路情報テーブル12を参照し、選択した「ノード装置D」が1HOPでカバーできるノード装置を抽出し、抽出したノード装置のうち出現頻度が最も高いノード装置を選択する。ここでは、特定部14bは、「ノード装置F」を選択する。そして、特定部14bは、経路情報テーブル12を参照し、「ノード装置F」が1HOPでカバーできるノード装置を抽出する。ここでは、特定部14bは、「ノード装置H」を抽出する。また、特定部14bは、経路情報テーブル12を参照し、「ノード装置H」がGW装置10から最大HOP数の位置に位置することを特定する。
【0044】
ここまでで、特定部14bは、「ノード装置D」と「ノード装置F」とを選択し、「ノード装置H」を抽出したことになる。つまり、特定部14bは、「ノード装置D」および「ノード装置F」を「ブロードキャスト対象装置」と特定し、「ノード装置H」を「ブロードキャスト対象外装置」と特定する。
【0045】
続いて、特定部14bは、「ブロードキャスト対象装置」または「ブロードキャスト対象外装置」と特定していないノード装置が存在するので、上述したGW装置10から1HOPでカバーできるノード装置のうち、次に出現頻度が多いノード装置を選択する。ここでは、特定部14bは、出現頻度が2の「ノード装置A」を選択する。なお、特定部14bは、出現頻度が同じ数であるノード装置が複数存在する場合、どちらか一方を任意に選択してもよく、両方を選択してもよい。
【0046】
そして、特定部14bは、経路情報テーブル12を参照し、選択した「ノード装置A」が1HOPでカバーできるノード装置を抽出する。ここでは、特定部14bは、「ノード装置E」を抽出する。そして、特定部14bは、抽出した「ノード装置E」を経路とする「ノード装置G」が存在することから、「ノード装置E」が最大HOP数のノード装置でないと判定して、「ノード装置E」を選択する。その後、特定部14bは、最大HOP数のノード装置である「ノード装置G」を抽出する。
【0047】
ここまでで、上述した内容に加え、特定部14bは、「ノード装置A」と「ノード装置E」とを選択し、「ノード装置G」を抽出したことになる。つまり、特定部14bは、「ノード装置A」および「ノード装置E」を「ブロードキャスト対象装置」と特定し、「ノード装置G」を「ブロードキャスト対象外装置」と特定する。
【0048】
この結果、通知部14cは、「ノード装置D」、「ノード装置F」、「ノード装置A」、「ノード装置E」に、「ブロードキャスト対象装置」であることを送信する。このとき、通知部14cは、遅延量を送信してもよい。その後、データ送信部14dは、1HOP内に存在する「ノード装置A、ノード装置C、ノード装置B、ノード装置D」にデータ送信する。
【0049】
(システムが実行するシーケンス)
図5は、実施例1に係るシステムが実行するデータ送信を示すシーケンス図である。図5では、ノード装置D、ノード装置F、ノード装置A、ノード装置E各々に対して、「ブロードキャスト対象装置」であることを通知済みとする。また、遅延量(N)は0とする。
【0050】
図5に示すように、GW装置10は、ブロードキャストでHOP数1のノード装置にブロック1のデータを送信する(S201〜S205)。「ブロードキャスト対象外装置」であるノード装置Bとノード装置Cは、受信したブロック1のデータを蓄積する。
【0051】
「ブロードキャスト対象装置」であるノード装置Dは、受信したブロック1のデータを蓄積するとともに、ブロードキャスト送信を実行して、ブロック1のデータをノード装置Fに送信する(S206)。
【0052】
ノード装置Fは、「ブロードキャスト対象装置」であるので、ノード装置Dから受信したブロック1のデータを蓄積するとともに(S207)、ブロードキャスト送信を実行して、ブロック1のデータをノード装置Hに送信する(S208)。ノード装置Hは、「ブロードキャスト対象外装置」であるので、ノード装置Fから受信したブロック1のデータを蓄積する(S209)。
【0053】
また、「ブロードキャスト対象装置」であるノード装置Aは、受信したブロック1のデータを蓄積するとともに、ブロードキャスト送信を実行して、ブロック1のデータをノード装置Eに送信する(S210)。
【0054】
ノード装置Eは、「ブロードキャスト対象装置」であるので、ノード装置Aから受信したブロック1のデータを蓄積するとともに(S211)、ブロードキャスト送信を実行して、ブロック1のデータをノード装置Gに送信する(S212)。ノード装置Gは、「ブロードキャスト対象外装置」であるので、ノード装置Eから受信したブロック1のデータを蓄積する(S213)。
【0055】
上述したS201からS213までの処理をブロック2のデータについても実行し(S214)、ノード装置Gにて受信エラー、すなわちパケットロスが発生したとする(S215)。また、上述したS201からS213までの処理を、最終ブロックNのデータの送信が終了するまで繰り返す(S216とS217)。
【0056】
最終ブロックのデータまでの送信が完了すると、GW装置10は、不足問合せを開始し、不足問合せメッセージを上述したデータと同様の経路で送信する(S218からS222)。すなわち、GW装置10は、HOP数が1であるノード装置B、ノード装置D、ノード装置A、ノード装置Cに不足問合せメッセージを送信する。
【0057】
「ブロードキャスト対象外装置」であるノード装置Bとノード装置Cは、受信したメッセージを蓄積し、不足がないのでGW装置10に応答を送信しない。
【0058】
「ブロードキャスト対象装置」であるノード装置Dは、受信した不足問合せメッセージを蓄積するとともに、ブロードキャスト送信を実行して(S223)、不足問合せメッセージをノード装置Fに送信する(S224)。このとき、ノード装置Dは、不足がないのでGW装置10に応答を送信しない。
【0059】
ノード装置Fは、「ブロードキャスト対象装置」であるので、GW装置10から受信した不足問合せメッセージを蓄積するとともに、ブロードキャスト送信を実行して(S225)、不足問合せメッセージをノード装置Hに送信する(S226)。このとき、ノード装置Fは、不足がないのでGW装置10に応答を送信しない。ノード装置Hは、「ブロードキャスト対象外装置」であるので、ノード装置Fから受信した不足問合せメッセージを蓄積する。このとき、ノード装置Hは、不足がないのでGW装置10に応答を送信しない。
【0060】
ノード装置Aは、「ブロードキャスト対象装置」であるので、GW装置10から受信した不足問合せメッセージを蓄積するとともに、ブロードキャスト送信を実行して、不足問合せメッセージをノード装置Eに送信する(S227)。このとき、ノード装置Aは、不足がないのでGW装置10に応答を送信しない。
【0061】
ノード装置Eは、ノード装置Aから受信した不足問合せメッセージを蓄積するとともに、ブロードキャスト送信を実行して(S228)、不足問合せメッセージをノード装置Gに送信する(S229)。このとき、ノード装置Eは、不足がないのでGW装置10に応答を送信しない。
【0062】
ノード装置Gは、「ブロードキャスト対象外装置」であるので、ノード装置Eから受信した不足問合せメッセージを蓄積する(S230)。そして、ノード装置Gは、ブロック2のデータが未受信であることをGW装置に応答する(S231とS232)。
【0063】
この応答を受信したGW装置10は、ノード装置Gの隣接ノード装置であるノード装置Eに、ブロック2のデータをノード装置Gに再送する指示を送信する(S233とS234)。すると、ノード装置Eは、ノード装置Gに対して、ブロック2のデータを送信する(S235とS236)。
【0064】
[実施例1による効果]
このように、実施例1に係るGW装置10は、ブロードキャストパケットを受信したノード装置がブロードキャストを行わない仕組みにすることで無線干渉を回避する。図6は、実施例1に係るGW装置を用いた場合のデータ送信結果を示す図である。図6に示すように、全ノード装置がブロードキャストでデータを送信することなく、ノード装置A、ノード装置D、ノード装置E、ノード装置Fがブロードキャストでデータを送信する。つまり、最低限のノード装置だけブロードキャストすることで、全ノード装置にデータを送信することができるので、パケットの衝突を防止することができる。
【実施例2】
【0065】
ところで、実施例1では、GW装置10が経路情報を用いてブロードキャストでデータを送信するノード装置を特定する例について説明したが、これに限定されるものではない。例えば、GW装置10は、隣接ノード装置のアドレス情報を記憶する隣接ノードテーブルを用いた場合でも同様に処理することができる。
【0066】
そこで、実施例2では、図7から図27を用いて、GW装置10が隣接ノードテーブルを用いて、ブロードキャストでデータを送信するノード装置を特定する例について説明する。なお、実施例2に係るGW装置10の構成は、図2に示した構成のうち、経路情報テーブル12の代わりに隣接ノードテーブルを有している点以外は、同様の構成を有するので、詳細な説明は省略する。
【0067】
一例を挙げると、GW装置10は、GW装置10の隣接ノード装置から他のノード装置に至る経路において、以下の条件で、ブロードキャストでデータ送信を実行するノード装置を特定する。GW装置10は、ブロードキャストでデータ送信を実行する装置であると既に特定されたノード装置が、直接通信することができないノード装置を隣接ノード装置としてより多く含むノード装置を、ブロードキャストでデータ送信を実行する装置として特定する。
【0068】
[処理の流れ]
図7は、実施例2に係るGW装置が隣接ノード情報を用いてデータ送信を実行する場合の処理の流れを示すフローチャートである。まず、図7に示す処理の考え方を説明する。(1)GW装置10は、ブロードキャストするノード装置の隣接ノード装置の中で、カバーできない隣接ノード装置が最も多いノード装置を選択する。つまり、ここで選択されたノード装置がブロードキャスト送信を実行するノード装置となる。
【0069】
続いて、(2)GW装置10は、(1)において選択したノード装置の中で、カバーできない隣接ノード装置が最も多いノード装置を選択する。つまり、ここで選択されたノード装置がブロードキャスト送信を実行するノード装置となる。
【0070】
そして、(3)GW装置10は、カバーできていない隣接ノード装置が0になるまで繰り返し、ここで1回目のデータ転送ルート(ブロードキャスト転送ルート)を決定する。その後、(4)GW装置10は、これまで選択されたブロードキャストするノード装置の中で、カバーできていない隣接ノード装置が最もノード装置を選択する。そして、(5)GW装置10は、(1)から(4)までの手順により、ブロードキャスト転送ルートを確定する。また、(6)GW装置10は、カバーできていないノード数が0になるまで、(1)から(5)を繰り返す。
【0071】
次に、上述した(1)から(6)を実行するフローチャートを説明する。図7に示すように、特定部14bは、隣接ノードテーブルを参照し(S301)、初期値として、仮の選択されたノード装置を示す変数「Un1」にGWを代入する(S302)。
【0072】
続いて、特定部14bは、変数「Un+1」にGWを代入し、Unを選択ノード装置とし、データ送信経路に含まれるノード装置の配列を示す「Rn」に順に保持する(S303)。特定部14bは、選択された各ノード装置において「Un」の隣接ノード装置を抽出する(S304)。
【0073】
そして、特定部14bは、変数「Un」の隣接ノード装置において、抽出されていない隣接ノード装置を抽出する(S305)。ここで、特定部14bは、隣接ノード装置を最も多く抽出したノード装置を「Un1」として、その個数を「M」とする。
【0074】
続いて、特定部14bは、「M」が0よりも大きい場合には(S306肯定)、S303に戻って処理を繰り返し、「M」が0以下の場合には(S306否定)、全ノード装置の中で未抽出のノード装置が存在するか否かを判定する(S307)。
【0075】
そして、特定部14bは、全ノード装置の中で未抽出のノード装置が存在しない場合(S307否定)、処理を終了する。
【0076】
そして、特定部14bは、全ノード装置の中で未抽出のノード装置が存在する場合(S307肯定)、1つでも抽出されているノード装置の中に、最も未抽出のノード装置が多いノード装置を抽出する(S308)。なお、特定部14bは、ここで抽出したノード装置を「Un2」として、その個数を「M」とする。そして、特定部14bは、「Rn」を「Rn+1」とする(S309)。
【0077】
続いて、特定部14bは、「M」が0よりも小さい場合には(S310否定)、S307に戻って処理を繰り返し、「M」が0よりも大きい場合には(S310肯定)、S311を実行する。すなわち、特定部14bは、変数「Un2」を「Un」に代入して、Unを選択ノード装置とし、データ送信経路に含まれるノード装置の配列を示す「Rn」に順に保持する(S311)。特定部14bは、選択された各ノード装置において、「Un」の隣接ノード装置を抽出する(S312)。
【0078】
そして、特定部14bは、変数「Un」の隣接ノード装置において、抽出されていない隣接ノード装置を抽出する(S313)。ここで、特定部14bは、隣接ノード装置を最も多く抽出したノード装置を「Un2」として、その個数を「M」とする。その後、特定部14bは、S310に戻って処理を繰り返す。
【0079】
[具体例]
次に、図7のフローチャートを実施した場合の具体例を説明する。図8は、実施例2に係るGW装置が保持する隣接ノード情報の例を示す図である。図9は、GW装置と他のノード装置との位置関係を示す図である。
【0080】
図8に示す情報において、縦軸は、システムを形成する各ノード装置を示し、横軸は、隣接するノード装置を示し、数字は、ノード装置を示す。図8の場合、システムは、GW装置と、ノード装置1からノード装置40から構成される。そして、GW装置1の隣接ノードが、ノード装置1、ノード装置3、ノード装置8、ノード装置9、ノード装置12、ノード装置17、ノード装置21、ノード装置23、ノード装置24、ノード装置26、ノード装置28、ノード装置33、ノード装置34である。
【0081】
したがって、図9に示すように、GW装置10が直接通信できる範囲を示す円の内部または周辺に、上述した隣接ノード装置が位置することになる。なお、図9に示す数字は、ノード装置を示し、図8に示した数字に対応する。
【0082】
続いて、図10から図28を用いて、特定部14bが「ブロードキャスト対象装置」および「ブロードキャスト対象外装置」を特定する具体例を説明する。図10、図12、図14、図16、図18、図20、図22、図24、図26は、特定部が実行するブロードキャスト対象装置の選択遷移を示す図である。図11、図13、図15、図17、図19、図21、図23、図25は、選択されたデータ送信ルートを示す図である。図27は、最終的に決定したデータ送信ルートを示す図である。なお、以下では、説明を簡略化するため、必要に応じて、ノード装置11を11と省略して記載する。
【0083】
具体的に説明すると、まず、特定部14bは、図10に示すように、隣接ノード情報の縦軸に記載されるノード装置のうち、横軸に記載されるノード装置すなわちGW装置10に隣接するノード装置を特定する。具体的には、特定部14bは、ノード装置「1、3、8、9、12、17、21、23、24、26、28、33、34」と特定する。
【0084】
続いて、特定部14bは、特定した隣接するノード装置の中で、GW装置10がカバーできない隣接ノード装置の数を抽出する。具体的には、特定部14bは、ノード装置「1、3、8、9、12、17、21、23、24、26、28、33、34」各々について、隣接ノード装置のうちGW装置10の隣接ノード装置以外のノード装置を計数し、未カバーノード装置として格納する。そして、特定部14bは、GW装置10がカバーできない隣接ノード装置の数が最も多いノード装置として、未カバーノード数が「7」であるノード装置3とノード装置28を特定し、若番のノード装置3を選択する。
【0085】
この結果、特定部14bは、図11に示すように、GW装置10からノード装置3まで経路をデータ送信経路として特定する。すなわち、特定部14bは、ノード装置3を「ブロードキャスト対象装置」と特定する。
【0086】
そして、図12に示すように、特定部14bは、ノード装置3の隣接ノード装置のうち、まだカバーできていないノード装置「4、16、19、32、36、37、40」を抽出する。つまり、特定部14bは、ノード装置3の隣接ノード装置のうち、既に選択されたノード装置の隣接ノード装置に該当しないノード装置を抽出する。続いて、特定部14bは、ノード装置「4、16、19、32、36、37、40」各々について、隣接ノード装置のうち、まだカバーできないノード装置を計数し、未カバーノード数として格納する。つまり、特定部14bは、特定したノード装置各々について、選択済みのノード装置の隣接ノード装置またはGW装置10の隣接ノード装置と一致しないノード装置を計数する。そして、特定部14bは、GW装置10がカバーできてない隣接ノード装置の数が最も多いノード装置として、未カバーノード数が「3」であるノード装置40を特定する。
【0087】
この結果、特定部14bは、図13に示すように、GW装置10からノード装置3を経由してノード装置40まで到達する経路をデータ送信経路として特定する。すなわち、特定部14bは、ノード装置40を新たな「ブロードキャスト対象装置」と特定する。
【0088】
その後、図14に示すように、特定部14bは、ノード装置40の隣接ノード装置のうち、まだカバーできれいないノード装置「22、29、38」を抽出する。続いて、特定部14bは、ノード装置「22、29、38」各々について、隣接ノード装置のうちまだカバーできないノード装置を計数し、未カバーノード装置として格納する。ここで、特定部14bは、図14に示すように、ノード装置「22、29、38」各々の未カバーノード装置が「0」であるので、一旦処理を終了する。
【0089】
続いて、特定部14bは、図14に示すように、GW装置と隣接するノード装置のうち未だ選択または抽出されていないノード装置の隣接ノード装置で、カバーできないノード装置を計数し、未カバーノード装置として格納する。そして、特定部14bは、GW装置10がカバーできてない隣接ノード装置の数が最も多いノード装置として、未カバーノード数が「6」であるノード装置1を特定する。
【0090】
この結果、特定部14bは、図15に示すように、GW装置10からノード装置1までの経路をデータ送信経路として特定する。すなわち、特定部14bは、ノード装置1を新たな「ブロードキャスト対象装置」と特定する。
【0091】
その後、図16に示すように、特定部14bは、ノード装置1の隣接ノード装置のうち、まだカバーできていなノード装置「2、14、25、27、30、35」を抽出する。続いて、特定部14bは、ノード装置「2、14、25、27、30、35」各々について、隣接ノード装置のうちまだカバーできないノード装置を計数し、未カバーノード装置として格納する。そして、特定部14bは、GW装置10がカバーできてない隣接ノード装置の数が最も多いノード装置として、未カバーノード数が「2」であるノード装置14とノード装置25を特定し、若番のノード装置14を選択する。
【0092】
この結果、特定部14bは、図17に示すように、GW装置10からノード装置1を経由してノード装置14に至るまで経路をデータ送信経路として特定する。すなわち、特定部14bは、ノード装置14を新たな「ブロードキャスト対象装置」と特定する。
【0093】
続いて、図18に示すように、特定部14bは、ノード装置14の隣接ノード装置のうち、まだカバーできていなノード装置「6、7」を抽出する。続いて、特定部14bは、ノード装置「6、7」各々について、隣接ノード装置のうち、まだカバーできないノード装置を計数し、未カバーノード装置として格納する。ここで、特定部14bは、図18に示すように、ノード装置「6、7」各々の未カバーノード装置が「0」であるので、一旦処理を終了する。
【0094】
その後、特定部14bは、図18に示すように、GW装置と隣接するノード装置のうち未だ選択または抽出されていないノード装置の隣接ノード装置で、カバーできないノード装置を計数し、未カバーノード装置として格納する。そして、特定部14bは、GW装置10がカバーできてない隣接ノード装置の数が最も多いノード装置として、未カバーノード数が「4」であるノード装置9を特定する。
【0095】
この結果、特定部14bは、図19に示すように、GW装置10からノード装置9までの経路をデータ送信経路として特定する。すなわち、特定部14bは、ノード装置9を新たな「ブロードキャスト対象装置」と特定する。
【0096】
続いて、図20に示すように、特定部14bは、ノード装置9の隣接ノード装置のうち、まだカバーできていなノード装置「5、18、31、39」を抽出する。続いて、特定部14bは、ノード装置「5、18、31、39」各々について、隣接ノード装置のうち、まだカバーできないノード装置を計数し、未カバーノード装置として格納する。そして、特定部14bは、GW装置10がカバーできてない隣接ノード装置の数が最も多いノード装置として、未カバーノード数が「2」であるノード装置5とノード装置18を特定し、若番のノード装置5を選択する。
【0097】
この結果、特定部14bは、図21に示すように、GW装置10からノード装置9を経由してノード装置5に至る経路をデータ送信経路として特定する。すなわち、特定部14bは、ノード装置5を新たな「ブロードキャスト対象装置」と特定する。
【0098】
続いて、図22に示すように、特定部14bは、ノード装置5の隣接ノード装置のうち、まだカバーできていなノード装置「10、20」を抽出する。続いて、特定部14bは、ノード装置「10、20」各々について、まだカバーできない隣接のノード装置を計数し、未カバーノード装置として格納する。ここで、特定部14bは、図22に示すように、ノード装置「10、22」各々の未カバーノード装置が「0」であるので、一旦処理を終了する。
【0099】
その後、特定部14bは、図22に示すように、GW装置と隣接するノード装置のうち未だ選択または抽出されていないノード装置の隣接ノード装置で、カバーできないノード装置を計数し、未カバーノード装置として格納する。そして、特定部14bは、GW装置10がカバーできてない隣接ノード装置の数が最も多いノード装置として、未カバーノード数が「1」であるノード装置26を特定する。
【0100】
この結果、特定部14bは、図23に示すように、GW装置10からノード装置26までの経路をデータ送信経路として特定する。すなわち、特定部14bは、ノード装置26を新たな「ブロードキャスト対象装置」と特定する。
【0101】
続いて、図24に示すように、特定部14bは、ノード装置26の隣接ノード装置のうち、まだカバーできていなノード装置「15」を抽出する。続いて、特定部14bは、ノード装置「15」各々について、隣接ノード装置のうち、まだカバーできないノード装置を計数し、未カバーノード装置として格納する。そして、特定部14bは、GW装置10がカバーできてない隣接ノード装置の数が最も多いノード装置として、未カバーノード数が「2」であるノード装置15を選択する。
【0102】
この結果、特定部14bは、図25に示すように、GW装置10からノード装置26を経由してノード装置15に至る経路をデータ送信経路として特定する。すなわち、特定部14bは、ノード装置15を新たな「ブロードキャスト対象装置」と特定する。
【0103】
続いて、図26に示すように、特定部14bは、ノード装置15の隣接ノード装置のうち、まだカバーできていなノード装置「11、13」を抽出する。続いて、特定部14bは、ノード装置「11、13」各々について、隣接ノード装置のうち、まだカバーできないノード装置を計数し、未カバーノード装置として格納する。ここで、特定部14bは、図26に示すように、ノード装置「11、13」各々の未カバーノード装置が「0」であるので、一旦処理を終了する。
【0104】
上述した処理によって、特定部14bは、GW装置10が記憶する全隣接ノード装置がカバーできたため、処理を終了する。具体的には、特定部14bは、ノード装置「1、3、5、9、14、15、26、40」を「ブロードキャスト対象装置」と特定し、その他のノード装置を「ブロードキャスト対象外装置」と特定する。
【0105】
さらに、特定部14bは、図27に示すように、上述した処理で特定した順番にしたがって、ルートを区分する。具体的には、特定部14bは、はじめに特定した「GW装置→ノード装置3→ノード装置40」をルート1とする。また、特定部14bは、次に特定した「GW装置→ノード装置1→ノード装置14」をルート2とする。また、特定部14bは、次に特定した「GW装置→ノード装置9→ノード装置5」をルート3とする。また、特定部14bは、最後に特定した「GW装置→ノード装置26→ノード装置15」をルート4とする。
【0106】
その後、通知部14cは、ノード装置「1、3、5、9、14、15、26、40」に「ブロードキャスト対象装置」であることを通知する。このとき、通知部14cは、各ルートごとに算出した遅延量をあわせて通知することもできる。
【0107】
一例を挙げると、通知部14cは、ルート1の該当する「ノード装置3とノード装置40」に対しては遅延量として「0」を通知する。また、通知部14cは、ルート2の該当する「ノード装置1」に対しては、遅延量として「N=ルート1の最大HOP数×指定遅延量(DT1)」を通知する。また、通知部14cは、ルート3の該当する「ノード装置9」に対しては、遅延量として「N=ルート1の最大HOP数×ルート2の最大HOP数×指定遅延量(DT2)」を通知する。また、通知部14cは、ルート4の該当する「ノード装置26」に対しては、遅延量として「N=ルート1の最大HOP数×ルート2の最大HOP数×ルート3の最大HOP数×指定遅延量(DT3)」を通知する。なお、遅延量としては、例えばDT1=100msecなどが挙げられる。
【0108】
このように、GW装置10は、経路情報の代わりに隣接ノード情報を用いた場合でも、実施例1と同様、全装置がブロードキャストすることなく、全装置にデータを送信するkとができるので、パケットの衝突を防止することができる。
【0109】
また、干渉する場合には、遅延量を設けることで、1タイミングに1ノード装置だけがブロードキャスト送信させることで、他のノード装置との無線干渉も防止できる。さらに、カバーできないパケットロスや天候状況によるパケット未達に対して、隣接にいる受信が完了しているノード装置が、不足があるノード装置に対して補完の処理を行う仕組みを設けることで、パケット量の増加も抑止できる。
【実施例3】
【0110】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
【0111】
(システム)
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0112】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0113】
(プログラム)
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。
【0114】
図28は、データ送信制御プログラムを実行するコンピュータのハードウェア構成例を示す図である。図28に示すように、コンピュータ100は、バス101に、CPU102、入力装置103、出力装置104、通信インタフェース105、HDD(Hard Disk Drive)106、RAM(Random Access Memory)107が接続される。
【0115】
入力装置103は、マウスやキーボードであり、出力装置104は、ディスプレイなどであり、通信インタフェース105は、NIC(Network Interface Card)などのインタフェースである。HDD106は、データ送信制御プログラム106aとともに、図2等に示した各テーブル等に記憶される情報を記憶する。記録媒体の例としてHDD106を例に挙げたが、ROM(Read Only Memory)、RAM(Random Access Memory)、CD−ROM等の他のコンピュータ読み取り可能な記録媒体に各種プログラムを格納しておき、コンピュータに読み取らせることとしてもよい。なお、記憶媒体を遠隔地に配置し、コンピュータが、その記憶媒体にアクセスすることでプログラムを取得して利用してもよい。また、その際、取得したプログラムをそのコンピュータ自身の記録媒体に格納して用いてもよい。
【0116】
CPU102は、データ送信制御プログラム106aを読み出してRAM107に展開することで、図2等で説明した各機能を実行するデータ送信制御プロセス107aを動作させる。すなわち、データ送信制御プロセス107aは、図2に記載した情報収集部14a、特定部14b、通知部14c、データ送信部14d、データ再送信部14eと同様の機能を実行する。このようにコンピュータシステム100は、プログラムを読み出して実行することでデータ送信制御方法を実行するノード装置として動作する。
【符号の説明】
【0117】
10 GW装置
11 無線インタフェース
12 経路情報テーブル
13 更新データテーブル
14 制御部
14a 情報収集部
14b 特定部
14c 通知部
14d データ送信部
14e データ再送信部
【技術分野】
【0001】
本発明は、ノード装置、ノード装置の制御方法およびノード装置の制御プログラムに関する。
【背景技術】
【0002】
近年、基地局やアクセスポイントなどのネットワークインフラを用いずに、端末同士が直接接続してネットワークを構築するアドホックネットワークが利用されている。
【0003】
アドホックネットワークは、例えばコンピュータ、PDA(Personal Digital Assistant)、携帯電話端末等の無線接続に用いられている技術を用いて多数の端末をアクセスポイントの介在なしに相互に接続する。また、アドホックネットワークは、通信ノードの追加や削除に伴うネットワークの構築を自立して実行するので、ネットワーク設定の労力を軽減でき、通信ノードが多い場合やネットワークの構成がある程度の頻度で変化する場合に有効である。
【0004】
このようなアドホックネットワークを構築する各通信ノードのファームウェアの更新を行う場合、他のアドホックネットワークと接続するゲートウェイ装置は、各通信ノードに対してファームウェアを更新するパケットを送信する。このパケットを受信した各通信ユニットは、ファームウェアを更新するとともに、受信したパケットを隣接する通信ノードにブロードキャストで転送する。
【0005】
このように、各通信ノードがブロードキャストでパケットを転送する場合、アドホックネットワークのトラフィックが増大して、パケットの衝突が多発し、正常にファームウェアを更新できない通信ノードが発生する。このため、通信ノードの位置情報に基づいてブロードキャストを実行することで、通信ノードの密集地域におけるパケット衝突を抑止する技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−74790号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、従来の技術では、通信ノードの密集地域を特定することができるものの、ネットワークの輻輳状況を検出することができないので、多量のパケット送信によってネットワークが輻輳し、パケットの衝突を誘発する場合があるという問題があった。
【0008】
開示の技術は、上記に鑑みてなされたものであって、パケットの衝突を抑止することができるノード装置、ノード装置の制御方法およびノード装置の制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本願の開示するノード装置、ノード装置の制御方法およびノード装置の制御プログラムムは、無線アドホックネットワークを形成するノード装置は、記憶部と、特定部と、通知部と、送信部とを有する。記憶部は、前記ノード装置から他のノード装置までの経路情報、または、前記無線アドホックネットワークを形成する各ノード装置ごとに隣接ノード装置のアドレス情報を記憶する。特定部は、前記記憶部に記憶される情報から、ブロードキャストでデータ送信を実行する他のノード装置を特定する。通知部は、前記特定部によって特定された他のノード装置に、前記ブロードキャストでデータ送信を実行する装置であることを通知する。送信部は、前記通知部によって通知された後に、前記記憶部に記憶されるアドレス情報または経路情報に基づいて、前記ノード装置の隣接ノード装置に前記ブロードキャストでデータを送信する。
を有する
【発明の効果】
【0010】
本願の開示するノード装置、ノード装置の制御方法およびノード装置の制御プログラムの一つの態様によれば、パケットの衝突を抑止することができるという効果を奏する。
【図面の簡単な説明】
【0011】
【図1】図1は、実施例1に係るシステムの全体構成を示す図である。
【図2】図2は、実施例1に係るGW装置の構成を示す機能ブロック図である。
【図3】図3は、経路情報テーブルに記憶される情報の例を示す図である。
【図4】図4は、実施例1に係るGW装置が実行する処理の流れを示すフローチャートである。
【図5】図5は、実施例1に係るシステムが実行するデータ送信を示すシーケンス図である。
【図6】図6は、実施例1に係るGW装置を用いた場合のデータ送信結果を示す図である。
【図7】図7は、実施例2に係るGW装置が隣接ノード情報を用いてデータ送信を実行する場合の処理の流れを示すフローチャートである。
【図8】図8は、実施例2に係るGW装置が保持する隣接ノード情報の例を示す図である。
【図9】図9は、GW装置と他のノード装置との位置関係を示す図である。
【図10】図10は、特定部が実行するブロードキャスト対象装置の選択遷移を示す図である。
【図11】図11は、選択されたデータ送信ルートを示す図である。
【図12】図12は、特定部が実行するブロードキャスト対象装置の選択遷移を示す図である。
【図13】図13は、選択されたデータ送信ルートを示す図である。
【図14】図14は、特定部が実行するブロードキャスト対象装置の選択遷移を示す図である。
【図15】図15は、選択されたデータ送信ルートを示す図である。
【図16】図16は、特定部が実行するブロードキャスト対象装置の選択遷移を示す図である。
【図17】図17は、選択されたデータ送信ルートを示す図である。
【図18】図18は、特定部が実行するブロードキャスト対象装置の選択遷移を示す図である。
【図19】図19は、選択されたデータ送信ルートを示す図である。
【図20】図20は、特定部が実行するブロードキャスト対象装置の選択遷移を示す図である。
【図21】図21は、選択されたデータ送信ルートを示す図である。
【図22】図22は、特定部が実行するブロードキャスト対象装置の選択遷移を示す図である。
【図23】図23は、選択されたデータ送信ルートを示す図である。
【図24】図24は、特定部が実行するブロードキャスト対象装置の選択遷移を示す図である。
【図25】図25は、選択されたデータ送信ルートを示す図である。
【図26】図26は、特定部が実行するブロードキャスト対象装置の選択遷移を示す図である。
【図27】図27は、最終的に決定したデータ送信ルートを示す図である。
【図28】図28は、データ送信制御プログラムを実行するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【0012】
以下に、本願の開示するノード装置、ノード装置の制御方法およびノード装置の制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、実施例では、各処理をGW(Gateway)装置が実行する例で説明するが、GW装置として特別な装置に限定されるものではなく、アドホックネットワークを形成するノード装置であれば、いずれの装置もGW装置として機能するように構成することも可能である。
【実施例1】
【0013】
実施例1では、実施例1に係るGW装置を含むシステムの全体構成、GW装置の機能ブロック図、処理の流れ、効果を説明する。なお、ノード装置は、例えばサーバなどの情報処理装置、ルータなどの中継装置、センサ等を有する無線装置などである。
【0014】
[全体構成]
図1は、実施例1に係るシステムの全体構成を示す図である。図1に示すように、このシステムは、GW装置10、ノード装置A、ノード装置B、ノード装置C、ノード装置D、ノード装置E、ノード装置F、ノード装置G、ノード装置Hを有する。また、図1に示した円は、各ノード装置が直接通信することができる範囲を示す。なお、ノード装置の数や位置関係は、あくまで例示であり、図1に限定するものではない。
【0015】
つまり、GW装置10は、ノード装置A、ノード装置B、ノード装置C、ノード装置D各々と直接通信することができる。すなわち、GW装置10の隣接ノードがノード装置A、ノード装置B、ノード装置C、ノード装置Dとなる。
【0016】
同様に、ノード装置Aの隣接ノードが、GW装置10とノード装置Cとノード装置Eである。ノード装置Bの隣接ノードが、GW装置10とノード装置Dである。ノード装置Cの隣接ノードが、GW装置10とノード装置Aである。ノード装置Dの隣接ノードが、GW装置10とノード装置Bとノード装置Fである。ノード装置Eの隣接ノードが、ノード装置Aとノード装置Gである。ノード装置Fの隣接ノードが、ノード装置Dとノード装置Hである。ノード装置Gの隣接ノードが、ノード装置Eである。ノード装置Hの隣接ノードが、ノード装置Fである。
【0017】
また、図1に示したシステムは、アドホックネットワークなどの自律分散型ネットワークであり、各ノード装置が無線接続に用いられている技術を用いてアクセスポイントの介在なしに相互に接続する。各ノード装置は、他のノード装置またはGW装置10との間で、Helloメッセージ等が定期的にやり取りして、GW装置10までの経路情報を生成したり、隣接ノードの生死確認を実行したりする。
【0018】
このようなシステムにおけるGW装置10は、各ノード装置からGW装置10までの経路情報、または、アドホックネットワークの各ノード装置ごとの隣接ノードのアドレス情報を記憶する。そして、GW装置10は、記憶される情報から、ブロードキャストでデータ送信を実行するノード装置を特定する。続いて、GW装置10は、特定されたノード装置に、ブロードキャストでデータ送信を実行する装置であることを通知する。そして、GW装置10は、通知された後に、記憶されるアドレス情報または経路情報に基づいて、隣接ノードにブロードキャストでデータを送信する。
【0019】
この結果、システム内のノード装置のうち、ブロードキャスト指示を受信したノード装置だけブロードキャストでGW装置10から受信したデータを送信することになる。したがって、従来に比べて総送信データ数を削減できるので、ネットワーク内の輻輳を誘発する可能性を小さくすることができ、パケットの衝突を抑止することができる。
【0020】
[GW装置]
次に、GW装置10の構成について説明する。なお、ノード装置は、アドホックネットワークで使用される情報処理装置や無線装置などの一般的な装置であるので、詳細な説明は省略する。
【0021】
図2は、実施例1に係るGW装置の構成を示す機能ブロック図である。図2に示すように、GW装置10は、無線インタフェース部11、経路情報テーブル12、更新データテーブル13、制御部14を有する。
【0022】
また、経路情報テーブル12や更新データテーブル13は、例えば半導体メモリ素子やハードディスクなどの記憶装置に設けられる。制御部14は、例えばCPU(Central Processing Unit)などの電子回路やFPGA(Field-Programmable Gate Array)などの集積回路である。
【0023】
無線インタフェース部11は、少なくとも1つのアンテナを有し、アンテナを介して電波を送受信し、各ノード装置と無線通信を確立する。例えば、この無線インタフェース部11は、各ノード装置との間でHelloメッセージを送受信したり、隣接ノード装置にブロードキャストでデータを送信したりする。また、無線インタフェース部11は、後述する特定部14b等によって特定されたノード装置に、ブロードキャストでデータ送信を実行する装置であること示すメッセージを送信する。
【0024】
経路情報テーブル12は、各ノード装置からGW装置10までの経路情報であるルーティング情報を記憶する。図3は、経路情報テーブルに記憶される情報の例を示す図である。ここで記憶される情報や形式は、あくまで例示であり、これに限定されるものではない。
【0025】
図3に示すように、経路情報テーブル12は、経路情報として「ノード装置AからGW装置10へ至る経路」、「ノード装置CからGW装置10へ至る経路」、「ノード装置Eからノード装置Aを経由してGW装置10に至る経路」を記憶する。同様に、経路情報テーブル12は、経路情報として「ノード装置Gからノード装置Eとノード装置Cとを経由してGW装置10に至る経路」、「ノード装置BからGW装置10へ至る経路」、「ノード装置DからGW装置10へ至る経路」を記憶する。同様に、経路情報テーブル12は、経路情報として「ノード装置Fからノード装置Dを経由してGW装置10に至る経路」、「ノード装置Hからノード装置Fとノード装置Dとを経由してGW装置10に至る経路」を記憶する。
【0026】
更新データテーブル13は、各ノード装置に送信するデータを記憶する。例えば、更新データテーブル13は、ノード装置のファームウェアを更新する更新データ等を記憶する。また、ここで記憶される情報は、所定サイズに分割されていてもよい。また、ここで記憶される情報は、ユーザによって格納された情報であってもよく、制御部14等がインターネットなどのネットワークを介して外部のサーバから取得された情報であってもよい。
【0027】
制御部14は、内部メモリ等を有して、GW装置10全体の処理を司る処理部であり、情報収集部14aと、特定部14bと、通知部14cと、データ送信部14dと、データ再送信部14eとを有する。
【0028】
情報収集部14aは、各ノード装置とHelloメッセージをやり取りして、経路情報を収集して、経路情報テーブル12に格納する処理部である。例えば、情報収集部14aは、30分ごとにHelloメッセージを各ノード装置に送信し、その応答を受信して経路情報を特定する。
【0029】
特定部14bは、経路情報テーブル12に記憶される情報から、ブロードキャストでデータ送信を実行するノード装置を特定する処理部である。例えば、特定部14bは、経路情報テーブル12を参照し、GW装置10の隣接ノードのうち複数の経路情報に該当するノード装置と、当該ノード装置が該当する経路情報における最大ホップ数以外のノード装置とを特定する。そして、特定部14bは、特定したノード装置をブロードキャストでデータ送信を実行するノード装置として特定する。また、特定部14bは、経路情報テーブル12を参照し、「ブロードキャスト対象装置」と選択されていない他のノード装置については「ブロードキャスト対象外装置」と特定する。そして、特定部14bは、特定したこれらの情報を通知部14cに通知する。
【0030】
通知部14cは、特定部14bによって特定されたノード装置に、ブロードキャストでデータ送信を実行する装置であることを通知する処理部である。例えば、通知部14cは、特定部14bから通知された「ブロードキャスト対象装置」各々に対して、ブロードキャストでデータ送信を実行する装置であることを通知する。このとき、通知部14cは、特定された順番にしたがって送信開始の遅延量を算出し、算出した遅延量を通知してもよい。
【0031】
データ送信部14dは、通知部14cによって通知された後に、経路情報テーブル12に記憶される経路情報に基づいて、隣接ノードにブロードキャストでデータを送信する処理部である。例えば、データ送信部14dは、更新データテーブル13から取得したデータをブロードキャストで送信する。すなわち、データ送信部14dは、隣接ノードであるノード装置A、ノード装置B、ノード装置C、ノード装置D各々に、データを送信する。
【0032】
データ再送信部14eは、データが受信できなかったノード装置に隣接するノード装置に対して、データの再送信を指示する処理部である。例えば、データ再送信部14eは、データ送信部14dのデータ送信が終了した後、経路情報テーブル12に記憶される経路情報に基づいて各ノード装置にデータが受信できたかを問い合わせる。そして、データ再送信部14eは、データが受信できなかったことを通知したノード装置と隣接するノード装置を、経路情報テーブル12に記憶される経路情報から特定する。その後、データ再送信部14eは、特定したノード装置に、データを受信できなかったノード装置にデータを送信する指示をユニキャストで送信する。
【0033】
[処理の流れ]
次に、実施例1に係るGW装置が実行する処理のフローチャートと、実施例1に係るシステムが実行する処理シーケンスとについて説明する。
【0034】
(GW装置が実行する処理)
図4は、実施例1に係るGW装置が実行する処理の流れを示すフローチャートである。図4に示すように、GW装置10の特定部14bは、処理の開始指示を受信すると(S101肯定)、経路情報テーブル12を参照して、1HOPに位置するノード装置を抽出する(S102)。続いて、特定部14bは、抽出したノード装置のうち出現頻度の最も高いノード装置を選択する(S103)。
【0035】
その後、特定部14bは、選択したノード装置が既に選択済みのノード装置であるか否かを判定する(S104)。そして、特定部14bは、選択したノード装置が既に選択済みのノード装置である場合(S104肯定)、選択したノード装置が1HOPでカバーできるノード装置を経路情報テーブル12から抽出する(S105)。特定部14bは、S105で抽出したノード装置のうち出現頻度の最も高いノード装置を選択する(S106)。その後、特定部14bは、S106で選択したノード装置が最大HOP数のノード装置でない場合に(S107否定)、S105からS107を繰り返す。
【0036】
一方、特定部14bは、S106で選択したノード装置が最大HOP数のノード装置である場合に(S107肯定)、まだ抽出されていないノード装置が存在するか否かを判定する(S108)。そして、特定部14bは、まだ抽出されていないノード装置が存在すると判定した場合(S108肯定)、S104以降の処理を実行する。一方、特定部14bは、経路情報テーブル12の全てのノード装置が選択または抽出されたと判定した場合(S108否定)、S114を実行する。
【0037】
一方、S104に戻って、特定部14bは、選択したノード装置が既に選択済みのノード装置でない場合(S104否定)、未抽出のノード装置をカバーできるノード装置を選択する(S109)。つまり、特定部14bは、既に抽出済みのノード装置かつ未選択のノード装置から、未抽出のノード装置をカバーできるノード装置を選択する。
【0038】
そして、特定部14bは、S109で選択したノード装置が1HOPでカバーできるノード装置を抽出する(S110)。続いて、特定部14bは、S110で抽出したノード装置が既に他のステップで選択済みのノード装置である場合(S111肯定)、干渉フラグを有効にして遅延量(N)を算出して(S112)、S108を実行する。一方、特定部14bは、S110で抽出したノード装置が既に他のステップで選択済みのノード装置でない場合(S111否定)、干渉フラグを無効にして遅延量(N)を0にする(S113)、S108を実行する。なお、遅延量の測定は、実行しなくてもよい。
【0039】
そして、通知部14cは、経路情報テーブル12の全ノード装置が選択または抽出された場合(S108否定)、S101からS108までで選択されたノード装置に、「ブロードキャスト対象装置」である通知と「遅延量(N)」とを送信する(S114)。
【0040】
続いて、データ送信部14dは、経路情報テーブル12の経路情報に基づいて、更新データテーブル13に記憶されるデータを、GW装置10の隣接ノード各々に送信する(S115)。このとき、データ送信部14dは、データが分割されている場合には、S115を分割分繰り返す。
【0041】
その後、データ再送信部14eは、データ送信部14dのデータ送信が終了した後、経路情報テーブル12に記憶される経路情報に基づいて各ノード装置にデータが受信できたかを問い合わせる(S116)。そして、データ再送信部14eは、データが受信できなかったことの応答を受信した場合(S117肯定)、当該応答を送信したノード装置に隣接するノード装置に、データの再送信を指示して処理を終了する(S118)。
【0042】
(フローチャートの具体例)
次に、図4で説明した処理の流れを図3に示した経路情報テーブル12を用いて具体的に説明する。まず、特定部14bは、経路情報テーブル12を参照し、GW装置10から1HOPに位置するノード装置として、「ノード装置A、ノード装置B、ノード装置C、ノード装置D」を特定する。さらに、特定部14bは、「ノード装置Aの出現頻度が2」、「ノード装置Bの出現頻度が1」、「ノード装置Cの出現頻度が2」、「ノード装置Dの出現頻度が3」と特定する。この結果、特定部14bは、出現頻度の最も高いノード装置として「ノード装置D」と選択する。
【0043】
続いて、特定部14bは、経路情報テーブル12を参照し、選択した「ノード装置D」が1HOPでカバーできるノード装置を抽出し、抽出したノード装置のうち出現頻度が最も高いノード装置を選択する。ここでは、特定部14bは、「ノード装置F」を選択する。そして、特定部14bは、経路情報テーブル12を参照し、「ノード装置F」が1HOPでカバーできるノード装置を抽出する。ここでは、特定部14bは、「ノード装置H」を抽出する。また、特定部14bは、経路情報テーブル12を参照し、「ノード装置H」がGW装置10から最大HOP数の位置に位置することを特定する。
【0044】
ここまでで、特定部14bは、「ノード装置D」と「ノード装置F」とを選択し、「ノード装置H」を抽出したことになる。つまり、特定部14bは、「ノード装置D」および「ノード装置F」を「ブロードキャスト対象装置」と特定し、「ノード装置H」を「ブロードキャスト対象外装置」と特定する。
【0045】
続いて、特定部14bは、「ブロードキャスト対象装置」または「ブロードキャスト対象外装置」と特定していないノード装置が存在するので、上述したGW装置10から1HOPでカバーできるノード装置のうち、次に出現頻度が多いノード装置を選択する。ここでは、特定部14bは、出現頻度が2の「ノード装置A」を選択する。なお、特定部14bは、出現頻度が同じ数であるノード装置が複数存在する場合、どちらか一方を任意に選択してもよく、両方を選択してもよい。
【0046】
そして、特定部14bは、経路情報テーブル12を参照し、選択した「ノード装置A」が1HOPでカバーできるノード装置を抽出する。ここでは、特定部14bは、「ノード装置E」を抽出する。そして、特定部14bは、抽出した「ノード装置E」を経路とする「ノード装置G」が存在することから、「ノード装置E」が最大HOP数のノード装置でないと判定して、「ノード装置E」を選択する。その後、特定部14bは、最大HOP数のノード装置である「ノード装置G」を抽出する。
【0047】
ここまでで、上述した内容に加え、特定部14bは、「ノード装置A」と「ノード装置E」とを選択し、「ノード装置G」を抽出したことになる。つまり、特定部14bは、「ノード装置A」および「ノード装置E」を「ブロードキャスト対象装置」と特定し、「ノード装置G」を「ブロードキャスト対象外装置」と特定する。
【0048】
この結果、通知部14cは、「ノード装置D」、「ノード装置F」、「ノード装置A」、「ノード装置E」に、「ブロードキャスト対象装置」であることを送信する。このとき、通知部14cは、遅延量を送信してもよい。その後、データ送信部14dは、1HOP内に存在する「ノード装置A、ノード装置C、ノード装置B、ノード装置D」にデータ送信する。
【0049】
(システムが実行するシーケンス)
図5は、実施例1に係るシステムが実行するデータ送信を示すシーケンス図である。図5では、ノード装置D、ノード装置F、ノード装置A、ノード装置E各々に対して、「ブロードキャスト対象装置」であることを通知済みとする。また、遅延量(N)は0とする。
【0050】
図5に示すように、GW装置10は、ブロードキャストでHOP数1のノード装置にブロック1のデータを送信する(S201〜S205)。「ブロードキャスト対象外装置」であるノード装置Bとノード装置Cは、受信したブロック1のデータを蓄積する。
【0051】
「ブロードキャスト対象装置」であるノード装置Dは、受信したブロック1のデータを蓄積するとともに、ブロードキャスト送信を実行して、ブロック1のデータをノード装置Fに送信する(S206)。
【0052】
ノード装置Fは、「ブロードキャスト対象装置」であるので、ノード装置Dから受信したブロック1のデータを蓄積するとともに(S207)、ブロードキャスト送信を実行して、ブロック1のデータをノード装置Hに送信する(S208)。ノード装置Hは、「ブロードキャスト対象外装置」であるので、ノード装置Fから受信したブロック1のデータを蓄積する(S209)。
【0053】
また、「ブロードキャスト対象装置」であるノード装置Aは、受信したブロック1のデータを蓄積するとともに、ブロードキャスト送信を実行して、ブロック1のデータをノード装置Eに送信する(S210)。
【0054】
ノード装置Eは、「ブロードキャスト対象装置」であるので、ノード装置Aから受信したブロック1のデータを蓄積するとともに(S211)、ブロードキャスト送信を実行して、ブロック1のデータをノード装置Gに送信する(S212)。ノード装置Gは、「ブロードキャスト対象外装置」であるので、ノード装置Eから受信したブロック1のデータを蓄積する(S213)。
【0055】
上述したS201からS213までの処理をブロック2のデータについても実行し(S214)、ノード装置Gにて受信エラー、すなわちパケットロスが発生したとする(S215)。また、上述したS201からS213までの処理を、最終ブロックNのデータの送信が終了するまで繰り返す(S216とS217)。
【0056】
最終ブロックのデータまでの送信が完了すると、GW装置10は、不足問合せを開始し、不足問合せメッセージを上述したデータと同様の経路で送信する(S218からS222)。すなわち、GW装置10は、HOP数が1であるノード装置B、ノード装置D、ノード装置A、ノード装置Cに不足問合せメッセージを送信する。
【0057】
「ブロードキャスト対象外装置」であるノード装置Bとノード装置Cは、受信したメッセージを蓄積し、不足がないのでGW装置10に応答を送信しない。
【0058】
「ブロードキャスト対象装置」であるノード装置Dは、受信した不足問合せメッセージを蓄積するとともに、ブロードキャスト送信を実行して(S223)、不足問合せメッセージをノード装置Fに送信する(S224)。このとき、ノード装置Dは、不足がないのでGW装置10に応答を送信しない。
【0059】
ノード装置Fは、「ブロードキャスト対象装置」であるので、GW装置10から受信した不足問合せメッセージを蓄積するとともに、ブロードキャスト送信を実行して(S225)、不足問合せメッセージをノード装置Hに送信する(S226)。このとき、ノード装置Fは、不足がないのでGW装置10に応答を送信しない。ノード装置Hは、「ブロードキャスト対象外装置」であるので、ノード装置Fから受信した不足問合せメッセージを蓄積する。このとき、ノード装置Hは、不足がないのでGW装置10に応答を送信しない。
【0060】
ノード装置Aは、「ブロードキャスト対象装置」であるので、GW装置10から受信した不足問合せメッセージを蓄積するとともに、ブロードキャスト送信を実行して、不足問合せメッセージをノード装置Eに送信する(S227)。このとき、ノード装置Aは、不足がないのでGW装置10に応答を送信しない。
【0061】
ノード装置Eは、ノード装置Aから受信した不足問合せメッセージを蓄積するとともに、ブロードキャスト送信を実行して(S228)、不足問合せメッセージをノード装置Gに送信する(S229)。このとき、ノード装置Eは、不足がないのでGW装置10に応答を送信しない。
【0062】
ノード装置Gは、「ブロードキャスト対象外装置」であるので、ノード装置Eから受信した不足問合せメッセージを蓄積する(S230)。そして、ノード装置Gは、ブロック2のデータが未受信であることをGW装置に応答する(S231とS232)。
【0063】
この応答を受信したGW装置10は、ノード装置Gの隣接ノード装置であるノード装置Eに、ブロック2のデータをノード装置Gに再送する指示を送信する(S233とS234)。すると、ノード装置Eは、ノード装置Gに対して、ブロック2のデータを送信する(S235とS236)。
【0064】
[実施例1による効果]
このように、実施例1に係るGW装置10は、ブロードキャストパケットを受信したノード装置がブロードキャストを行わない仕組みにすることで無線干渉を回避する。図6は、実施例1に係るGW装置を用いた場合のデータ送信結果を示す図である。図6に示すように、全ノード装置がブロードキャストでデータを送信することなく、ノード装置A、ノード装置D、ノード装置E、ノード装置Fがブロードキャストでデータを送信する。つまり、最低限のノード装置だけブロードキャストすることで、全ノード装置にデータを送信することができるので、パケットの衝突を防止することができる。
【実施例2】
【0065】
ところで、実施例1では、GW装置10が経路情報を用いてブロードキャストでデータを送信するノード装置を特定する例について説明したが、これに限定されるものではない。例えば、GW装置10は、隣接ノード装置のアドレス情報を記憶する隣接ノードテーブルを用いた場合でも同様に処理することができる。
【0066】
そこで、実施例2では、図7から図27を用いて、GW装置10が隣接ノードテーブルを用いて、ブロードキャストでデータを送信するノード装置を特定する例について説明する。なお、実施例2に係るGW装置10の構成は、図2に示した構成のうち、経路情報テーブル12の代わりに隣接ノードテーブルを有している点以外は、同様の構成を有するので、詳細な説明は省略する。
【0067】
一例を挙げると、GW装置10は、GW装置10の隣接ノード装置から他のノード装置に至る経路において、以下の条件で、ブロードキャストでデータ送信を実行するノード装置を特定する。GW装置10は、ブロードキャストでデータ送信を実行する装置であると既に特定されたノード装置が、直接通信することができないノード装置を隣接ノード装置としてより多く含むノード装置を、ブロードキャストでデータ送信を実行する装置として特定する。
【0068】
[処理の流れ]
図7は、実施例2に係るGW装置が隣接ノード情報を用いてデータ送信を実行する場合の処理の流れを示すフローチャートである。まず、図7に示す処理の考え方を説明する。(1)GW装置10は、ブロードキャストするノード装置の隣接ノード装置の中で、カバーできない隣接ノード装置が最も多いノード装置を選択する。つまり、ここで選択されたノード装置がブロードキャスト送信を実行するノード装置となる。
【0069】
続いて、(2)GW装置10は、(1)において選択したノード装置の中で、カバーできない隣接ノード装置が最も多いノード装置を選択する。つまり、ここで選択されたノード装置がブロードキャスト送信を実行するノード装置となる。
【0070】
そして、(3)GW装置10は、カバーできていない隣接ノード装置が0になるまで繰り返し、ここで1回目のデータ転送ルート(ブロードキャスト転送ルート)を決定する。その後、(4)GW装置10は、これまで選択されたブロードキャストするノード装置の中で、カバーできていない隣接ノード装置が最もノード装置を選択する。そして、(5)GW装置10は、(1)から(4)までの手順により、ブロードキャスト転送ルートを確定する。また、(6)GW装置10は、カバーできていないノード数が0になるまで、(1)から(5)を繰り返す。
【0071】
次に、上述した(1)から(6)を実行するフローチャートを説明する。図7に示すように、特定部14bは、隣接ノードテーブルを参照し(S301)、初期値として、仮の選択されたノード装置を示す変数「Un1」にGWを代入する(S302)。
【0072】
続いて、特定部14bは、変数「Un+1」にGWを代入し、Unを選択ノード装置とし、データ送信経路に含まれるノード装置の配列を示す「Rn」に順に保持する(S303)。特定部14bは、選択された各ノード装置において「Un」の隣接ノード装置を抽出する(S304)。
【0073】
そして、特定部14bは、変数「Un」の隣接ノード装置において、抽出されていない隣接ノード装置を抽出する(S305)。ここで、特定部14bは、隣接ノード装置を最も多く抽出したノード装置を「Un1」として、その個数を「M」とする。
【0074】
続いて、特定部14bは、「M」が0よりも大きい場合には(S306肯定)、S303に戻って処理を繰り返し、「M」が0以下の場合には(S306否定)、全ノード装置の中で未抽出のノード装置が存在するか否かを判定する(S307)。
【0075】
そして、特定部14bは、全ノード装置の中で未抽出のノード装置が存在しない場合(S307否定)、処理を終了する。
【0076】
そして、特定部14bは、全ノード装置の中で未抽出のノード装置が存在する場合(S307肯定)、1つでも抽出されているノード装置の中に、最も未抽出のノード装置が多いノード装置を抽出する(S308)。なお、特定部14bは、ここで抽出したノード装置を「Un2」として、その個数を「M」とする。そして、特定部14bは、「Rn」を「Rn+1」とする(S309)。
【0077】
続いて、特定部14bは、「M」が0よりも小さい場合には(S310否定)、S307に戻って処理を繰り返し、「M」が0よりも大きい場合には(S310肯定)、S311を実行する。すなわち、特定部14bは、変数「Un2」を「Un」に代入して、Unを選択ノード装置とし、データ送信経路に含まれるノード装置の配列を示す「Rn」に順に保持する(S311)。特定部14bは、選択された各ノード装置において、「Un」の隣接ノード装置を抽出する(S312)。
【0078】
そして、特定部14bは、変数「Un」の隣接ノード装置において、抽出されていない隣接ノード装置を抽出する(S313)。ここで、特定部14bは、隣接ノード装置を最も多く抽出したノード装置を「Un2」として、その個数を「M」とする。その後、特定部14bは、S310に戻って処理を繰り返す。
【0079】
[具体例]
次に、図7のフローチャートを実施した場合の具体例を説明する。図8は、実施例2に係るGW装置が保持する隣接ノード情報の例を示す図である。図9は、GW装置と他のノード装置との位置関係を示す図である。
【0080】
図8に示す情報において、縦軸は、システムを形成する各ノード装置を示し、横軸は、隣接するノード装置を示し、数字は、ノード装置を示す。図8の場合、システムは、GW装置と、ノード装置1からノード装置40から構成される。そして、GW装置1の隣接ノードが、ノード装置1、ノード装置3、ノード装置8、ノード装置9、ノード装置12、ノード装置17、ノード装置21、ノード装置23、ノード装置24、ノード装置26、ノード装置28、ノード装置33、ノード装置34である。
【0081】
したがって、図9に示すように、GW装置10が直接通信できる範囲を示す円の内部または周辺に、上述した隣接ノード装置が位置することになる。なお、図9に示す数字は、ノード装置を示し、図8に示した数字に対応する。
【0082】
続いて、図10から図28を用いて、特定部14bが「ブロードキャスト対象装置」および「ブロードキャスト対象外装置」を特定する具体例を説明する。図10、図12、図14、図16、図18、図20、図22、図24、図26は、特定部が実行するブロードキャスト対象装置の選択遷移を示す図である。図11、図13、図15、図17、図19、図21、図23、図25は、選択されたデータ送信ルートを示す図である。図27は、最終的に決定したデータ送信ルートを示す図である。なお、以下では、説明を簡略化するため、必要に応じて、ノード装置11を11と省略して記載する。
【0083】
具体的に説明すると、まず、特定部14bは、図10に示すように、隣接ノード情報の縦軸に記載されるノード装置のうち、横軸に記載されるノード装置すなわちGW装置10に隣接するノード装置を特定する。具体的には、特定部14bは、ノード装置「1、3、8、9、12、17、21、23、24、26、28、33、34」と特定する。
【0084】
続いて、特定部14bは、特定した隣接するノード装置の中で、GW装置10がカバーできない隣接ノード装置の数を抽出する。具体的には、特定部14bは、ノード装置「1、3、8、9、12、17、21、23、24、26、28、33、34」各々について、隣接ノード装置のうちGW装置10の隣接ノード装置以外のノード装置を計数し、未カバーノード装置として格納する。そして、特定部14bは、GW装置10がカバーできない隣接ノード装置の数が最も多いノード装置として、未カバーノード数が「7」であるノード装置3とノード装置28を特定し、若番のノード装置3を選択する。
【0085】
この結果、特定部14bは、図11に示すように、GW装置10からノード装置3まで経路をデータ送信経路として特定する。すなわち、特定部14bは、ノード装置3を「ブロードキャスト対象装置」と特定する。
【0086】
そして、図12に示すように、特定部14bは、ノード装置3の隣接ノード装置のうち、まだカバーできていないノード装置「4、16、19、32、36、37、40」を抽出する。つまり、特定部14bは、ノード装置3の隣接ノード装置のうち、既に選択されたノード装置の隣接ノード装置に該当しないノード装置を抽出する。続いて、特定部14bは、ノード装置「4、16、19、32、36、37、40」各々について、隣接ノード装置のうち、まだカバーできないノード装置を計数し、未カバーノード数として格納する。つまり、特定部14bは、特定したノード装置各々について、選択済みのノード装置の隣接ノード装置またはGW装置10の隣接ノード装置と一致しないノード装置を計数する。そして、特定部14bは、GW装置10がカバーできてない隣接ノード装置の数が最も多いノード装置として、未カバーノード数が「3」であるノード装置40を特定する。
【0087】
この結果、特定部14bは、図13に示すように、GW装置10からノード装置3を経由してノード装置40まで到達する経路をデータ送信経路として特定する。すなわち、特定部14bは、ノード装置40を新たな「ブロードキャスト対象装置」と特定する。
【0088】
その後、図14に示すように、特定部14bは、ノード装置40の隣接ノード装置のうち、まだカバーできれいないノード装置「22、29、38」を抽出する。続いて、特定部14bは、ノード装置「22、29、38」各々について、隣接ノード装置のうちまだカバーできないノード装置を計数し、未カバーノード装置として格納する。ここで、特定部14bは、図14に示すように、ノード装置「22、29、38」各々の未カバーノード装置が「0」であるので、一旦処理を終了する。
【0089】
続いて、特定部14bは、図14に示すように、GW装置と隣接するノード装置のうち未だ選択または抽出されていないノード装置の隣接ノード装置で、カバーできないノード装置を計数し、未カバーノード装置として格納する。そして、特定部14bは、GW装置10がカバーできてない隣接ノード装置の数が最も多いノード装置として、未カバーノード数が「6」であるノード装置1を特定する。
【0090】
この結果、特定部14bは、図15に示すように、GW装置10からノード装置1までの経路をデータ送信経路として特定する。すなわち、特定部14bは、ノード装置1を新たな「ブロードキャスト対象装置」と特定する。
【0091】
その後、図16に示すように、特定部14bは、ノード装置1の隣接ノード装置のうち、まだカバーできていなノード装置「2、14、25、27、30、35」を抽出する。続いて、特定部14bは、ノード装置「2、14、25、27、30、35」各々について、隣接ノード装置のうちまだカバーできないノード装置を計数し、未カバーノード装置として格納する。そして、特定部14bは、GW装置10がカバーできてない隣接ノード装置の数が最も多いノード装置として、未カバーノード数が「2」であるノード装置14とノード装置25を特定し、若番のノード装置14を選択する。
【0092】
この結果、特定部14bは、図17に示すように、GW装置10からノード装置1を経由してノード装置14に至るまで経路をデータ送信経路として特定する。すなわち、特定部14bは、ノード装置14を新たな「ブロードキャスト対象装置」と特定する。
【0093】
続いて、図18に示すように、特定部14bは、ノード装置14の隣接ノード装置のうち、まだカバーできていなノード装置「6、7」を抽出する。続いて、特定部14bは、ノード装置「6、7」各々について、隣接ノード装置のうち、まだカバーできないノード装置を計数し、未カバーノード装置として格納する。ここで、特定部14bは、図18に示すように、ノード装置「6、7」各々の未カバーノード装置が「0」であるので、一旦処理を終了する。
【0094】
その後、特定部14bは、図18に示すように、GW装置と隣接するノード装置のうち未だ選択または抽出されていないノード装置の隣接ノード装置で、カバーできないノード装置を計数し、未カバーノード装置として格納する。そして、特定部14bは、GW装置10がカバーできてない隣接ノード装置の数が最も多いノード装置として、未カバーノード数が「4」であるノード装置9を特定する。
【0095】
この結果、特定部14bは、図19に示すように、GW装置10からノード装置9までの経路をデータ送信経路として特定する。すなわち、特定部14bは、ノード装置9を新たな「ブロードキャスト対象装置」と特定する。
【0096】
続いて、図20に示すように、特定部14bは、ノード装置9の隣接ノード装置のうち、まだカバーできていなノード装置「5、18、31、39」を抽出する。続いて、特定部14bは、ノード装置「5、18、31、39」各々について、隣接ノード装置のうち、まだカバーできないノード装置を計数し、未カバーノード装置として格納する。そして、特定部14bは、GW装置10がカバーできてない隣接ノード装置の数が最も多いノード装置として、未カバーノード数が「2」であるノード装置5とノード装置18を特定し、若番のノード装置5を選択する。
【0097】
この結果、特定部14bは、図21に示すように、GW装置10からノード装置9を経由してノード装置5に至る経路をデータ送信経路として特定する。すなわち、特定部14bは、ノード装置5を新たな「ブロードキャスト対象装置」と特定する。
【0098】
続いて、図22に示すように、特定部14bは、ノード装置5の隣接ノード装置のうち、まだカバーできていなノード装置「10、20」を抽出する。続いて、特定部14bは、ノード装置「10、20」各々について、まだカバーできない隣接のノード装置を計数し、未カバーノード装置として格納する。ここで、特定部14bは、図22に示すように、ノード装置「10、22」各々の未カバーノード装置が「0」であるので、一旦処理を終了する。
【0099】
その後、特定部14bは、図22に示すように、GW装置と隣接するノード装置のうち未だ選択または抽出されていないノード装置の隣接ノード装置で、カバーできないノード装置を計数し、未カバーノード装置として格納する。そして、特定部14bは、GW装置10がカバーできてない隣接ノード装置の数が最も多いノード装置として、未カバーノード数が「1」であるノード装置26を特定する。
【0100】
この結果、特定部14bは、図23に示すように、GW装置10からノード装置26までの経路をデータ送信経路として特定する。すなわち、特定部14bは、ノード装置26を新たな「ブロードキャスト対象装置」と特定する。
【0101】
続いて、図24に示すように、特定部14bは、ノード装置26の隣接ノード装置のうち、まだカバーできていなノード装置「15」を抽出する。続いて、特定部14bは、ノード装置「15」各々について、隣接ノード装置のうち、まだカバーできないノード装置を計数し、未カバーノード装置として格納する。そして、特定部14bは、GW装置10がカバーできてない隣接ノード装置の数が最も多いノード装置として、未カバーノード数が「2」であるノード装置15を選択する。
【0102】
この結果、特定部14bは、図25に示すように、GW装置10からノード装置26を経由してノード装置15に至る経路をデータ送信経路として特定する。すなわち、特定部14bは、ノード装置15を新たな「ブロードキャスト対象装置」と特定する。
【0103】
続いて、図26に示すように、特定部14bは、ノード装置15の隣接ノード装置のうち、まだカバーできていなノード装置「11、13」を抽出する。続いて、特定部14bは、ノード装置「11、13」各々について、隣接ノード装置のうち、まだカバーできないノード装置を計数し、未カバーノード装置として格納する。ここで、特定部14bは、図26に示すように、ノード装置「11、13」各々の未カバーノード装置が「0」であるので、一旦処理を終了する。
【0104】
上述した処理によって、特定部14bは、GW装置10が記憶する全隣接ノード装置がカバーできたため、処理を終了する。具体的には、特定部14bは、ノード装置「1、3、5、9、14、15、26、40」を「ブロードキャスト対象装置」と特定し、その他のノード装置を「ブロードキャスト対象外装置」と特定する。
【0105】
さらに、特定部14bは、図27に示すように、上述した処理で特定した順番にしたがって、ルートを区分する。具体的には、特定部14bは、はじめに特定した「GW装置→ノード装置3→ノード装置40」をルート1とする。また、特定部14bは、次に特定した「GW装置→ノード装置1→ノード装置14」をルート2とする。また、特定部14bは、次に特定した「GW装置→ノード装置9→ノード装置5」をルート3とする。また、特定部14bは、最後に特定した「GW装置→ノード装置26→ノード装置15」をルート4とする。
【0106】
その後、通知部14cは、ノード装置「1、3、5、9、14、15、26、40」に「ブロードキャスト対象装置」であることを通知する。このとき、通知部14cは、各ルートごとに算出した遅延量をあわせて通知することもできる。
【0107】
一例を挙げると、通知部14cは、ルート1の該当する「ノード装置3とノード装置40」に対しては遅延量として「0」を通知する。また、通知部14cは、ルート2の該当する「ノード装置1」に対しては、遅延量として「N=ルート1の最大HOP数×指定遅延量(DT1)」を通知する。また、通知部14cは、ルート3の該当する「ノード装置9」に対しては、遅延量として「N=ルート1の最大HOP数×ルート2の最大HOP数×指定遅延量(DT2)」を通知する。また、通知部14cは、ルート4の該当する「ノード装置26」に対しては、遅延量として「N=ルート1の最大HOP数×ルート2の最大HOP数×ルート3の最大HOP数×指定遅延量(DT3)」を通知する。なお、遅延量としては、例えばDT1=100msecなどが挙げられる。
【0108】
このように、GW装置10は、経路情報の代わりに隣接ノード情報を用いた場合でも、実施例1と同様、全装置がブロードキャストすることなく、全装置にデータを送信するkとができるので、パケットの衝突を防止することができる。
【0109】
また、干渉する場合には、遅延量を設けることで、1タイミングに1ノード装置だけがブロードキャスト送信させることで、他のノード装置との無線干渉も防止できる。さらに、カバーできないパケットロスや天候状況によるパケット未達に対して、隣接にいる受信が完了しているノード装置が、不足があるノード装置に対して補完の処理を行う仕組みを設けることで、パケット量の増加も抑止できる。
【実施例3】
【0110】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
【0111】
(システム)
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0112】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0113】
(プログラム)
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。
【0114】
図28は、データ送信制御プログラムを実行するコンピュータのハードウェア構成例を示す図である。図28に示すように、コンピュータ100は、バス101に、CPU102、入力装置103、出力装置104、通信インタフェース105、HDD(Hard Disk Drive)106、RAM(Random Access Memory)107が接続される。
【0115】
入力装置103は、マウスやキーボードであり、出力装置104は、ディスプレイなどであり、通信インタフェース105は、NIC(Network Interface Card)などのインタフェースである。HDD106は、データ送信制御プログラム106aとともに、図2等に示した各テーブル等に記憶される情報を記憶する。記録媒体の例としてHDD106を例に挙げたが、ROM(Read Only Memory)、RAM(Random Access Memory)、CD−ROM等の他のコンピュータ読み取り可能な記録媒体に各種プログラムを格納しておき、コンピュータに読み取らせることとしてもよい。なお、記憶媒体を遠隔地に配置し、コンピュータが、その記憶媒体にアクセスすることでプログラムを取得して利用してもよい。また、その際、取得したプログラムをそのコンピュータ自身の記録媒体に格納して用いてもよい。
【0116】
CPU102は、データ送信制御プログラム106aを読み出してRAM107に展開することで、図2等で説明した各機能を実行するデータ送信制御プロセス107aを動作させる。すなわち、データ送信制御プロセス107aは、図2に記載した情報収集部14a、特定部14b、通知部14c、データ送信部14d、データ再送信部14eと同様の機能を実行する。このようにコンピュータシステム100は、プログラムを読み出して実行することでデータ送信制御方法を実行するノード装置として動作する。
【符号の説明】
【0117】
10 GW装置
11 無線インタフェース
12 経路情報テーブル
13 更新データテーブル
14 制御部
14a 情報収集部
14b 特定部
14c 通知部
14d データ送信部
14e データ再送信部
【特許請求の範囲】
【請求項1】
無線アドホックネットワークを形成するノード装置であって、
前記ノード装置から他のノード装置までの経路情報、または、前記無線アドホックネットワークを形成する各ノード装置ごとに隣接ノード装置のアドレス情報を記憶する記憶部と、
前記記憶部に記憶される情報から、ブロードキャストでデータ送信を実行する他のノード装置を特定する特定部と、
前記特定部によって特定された他のノード装置に、前記ブロードキャストでデータ送信を実行する装置であることを通知する通知部と、
前記通知部によって通知された後に、前記記憶部に記憶されるアドレス情報または経路情報に基づいて、前記ノード装置の隣接ノード装置に前記ブロードキャストでデータを送信する送信部と
を有することを特徴とするノード装置。
【請求項2】
前記特定部は、前記記憶部が前記経路情報を記憶している場合、前記ノード装置の隣接ノード装置のうち複数の経路情報に該当する隣接ノード装置と、当該隣接ノード装置が該当する経路情報における最大ホップ数以外の他のノード装置とを、前記ブロードキャストでデータ送信を実行する装置として特定することを特徴とする請求項1に記載のノード装置。
【請求項3】
前記特定部は、同じ経路情報に該当する前記ノード装置の隣接ノード装置が複数特定された場合、特定した隣接ノード装置のうち少なくとも1つの隣接ノード装置を、前記ブロードキャストでデータ送信を実行する装置として特定することを特徴とする請求項2に記載のノード装置。
【請求項4】
前記特定部は、前記記憶部が前記隣接通信装置のアドレス情報を記憶している場合、前記ノード装置の隣接ノード装置から他のノード装置に至る経路において、前記ブロードキャストでデータ送信を実行する装置であると既に特定された他のノード装置とは隣接しない装置を隣接ノード装置としてより多く含む他のノード装置を、前記ブロードキャストでデータ送信を実行する装置として特定することを特徴とする請求項1に記載のノード装置。
【請求項5】
前記通知部は、前記ブロードキャストでデータを送信する経路が複数存在する場合には、前記経路における前記ノード装置の隣接ノード装置に対して、所定の遅延量経過後に、前記ブロードキャストでデータを送信することを通知することを特徴とする請求項1から4のいずれか一つに記載のノード装置。
【請求項6】
無線アドホックネットワークを形成するノード装置が、
前記ノード装置から他のノード装置までの経路情報、または、前記無線アドホックネットワークを形成する各ノード装置ごとに隣接ノード装置のアドレス情報を記憶する記憶部に記憶される情報から、ブロードキャストでデータ送信を実行する他のノード装置を特定し
前記特定した他のノード装置に、前記ブロードキャストでデータ送信を実行する装置であることを通知し、
前記通知した後に、前記記憶部に記憶されるアドレス情報または経路情報に基づいて、前記ノード装置の隣接ノード装置に前記ブロードキャストでデータを送信する、
ことを特徴とするノード装置の制御方法。
【請求項7】
無線アドホックネットワークを形成するノード装置に、
前記ノード装置から他のノード装置までの経路情報、または、前記無線アドホックネットワークを形成する各ノード装置ごとに隣接ノード装置のアドレス情報を記憶する記憶部に記憶される情報から、ブロードキャストでデータ送信を実行する他のノード装置を特定し
前記特定した他のノード装置に、前記ブロードキャストでデータ送信を実行する装置であることを通知し、
前記通知した後に、前記記憶部に記憶されるアドレス情報または経路情報に基づいて、前記ノード装置の隣接ノード装置に前記ブロードキャストでデータを送信する、
処理を実行させることを特徴とするノード装置の制御プログラム。
【請求項1】
無線アドホックネットワークを形成するノード装置であって、
前記ノード装置から他のノード装置までの経路情報、または、前記無線アドホックネットワークを形成する各ノード装置ごとに隣接ノード装置のアドレス情報を記憶する記憶部と、
前記記憶部に記憶される情報から、ブロードキャストでデータ送信を実行する他のノード装置を特定する特定部と、
前記特定部によって特定された他のノード装置に、前記ブロードキャストでデータ送信を実行する装置であることを通知する通知部と、
前記通知部によって通知された後に、前記記憶部に記憶されるアドレス情報または経路情報に基づいて、前記ノード装置の隣接ノード装置に前記ブロードキャストでデータを送信する送信部と
を有することを特徴とするノード装置。
【請求項2】
前記特定部は、前記記憶部が前記経路情報を記憶している場合、前記ノード装置の隣接ノード装置のうち複数の経路情報に該当する隣接ノード装置と、当該隣接ノード装置が該当する経路情報における最大ホップ数以外の他のノード装置とを、前記ブロードキャストでデータ送信を実行する装置として特定することを特徴とする請求項1に記載のノード装置。
【請求項3】
前記特定部は、同じ経路情報に該当する前記ノード装置の隣接ノード装置が複数特定された場合、特定した隣接ノード装置のうち少なくとも1つの隣接ノード装置を、前記ブロードキャストでデータ送信を実行する装置として特定することを特徴とする請求項2に記載のノード装置。
【請求項4】
前記特定部は、前記記憶部が前記隣接通信装置のアドレス情報を記憶している場合、前記ノード装置の隣接ノード装置から他のノード装置に至る経路において、前記ブロードキャストでデータ送信を実行する装置であると既に特定された他のノード装置とは隣接しない装置を隣接ノード装置としてより多く含む他のノード装置を、前記ブロードキャストでデータ送信を実行する装置として特定することを特徴とする請求項1に記載のノード装置。
【請求項5】
前記通知部は、前記ブロードキャストでデータを送信する経路が複数存在する場合には、前記経路における前記ノード装置の隣接ノード装置に対して、所定の遅延量経過後に、前記ブロードキャストでデータを送信することを通知することを特徴とする請求項1から4のいずれか一つに記載のノード装置。
【請求項6】
無線アドホックネットワークを形成するノード装置が、
前記ノード装置から他のノード装置までの経路情報、または、前記無線アドホックネットワークを形成する各ノード装置ごとに隣接ノード装置のアドレス情報を記憶する記憶部に記憶される情報から、ブロードキャストでデータ送信を実行する他のノード装置を特定し
前記特定した他のノード装置に、前記ブロードキャストでデータ送信を実行する装置であることを通知し、
前記通知した後に、前記記憶部に記憶されるアドレス情報または経路情報に基づいて、前記ノード装置の隣接ノード装置に前記ブロードキャストでデータを送信する、
ことを特徴とするノード装置の制御方法。
【請求項7】
無線アドホックネットワークを形成するノード装置に、
前記ノード装置から他のノード装置までの経路情報、または、前記無線アドホックネットワークを形成する各ノード装置ごとに隣接ノード装置のアドレス情報を記憶する記憶部に記憶される情報から、ブロードキャストでデータ送信を実行する他のノード装置を特定し
前記特定した他のノード装置に、前記ブロードキャストでデータ送信を実行する装置であることを通知し、
前記通知した後に、前記記憶部に記憶されるアドレス情報または経路情報に基づいて、前記ノード装置の隣接ノード装置に前記ブロードキャストでデータを送信する、
処理を実行させることを特徴とするノード装置の制御プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【公開番号】特開2012−212988(P2012−212988A)
【公開日】平成24年11月1日(2012.11.1)
【国際特許分類】
【出願番号】特願2011−76756(P2011−76756)
【出願日】平成23年3月30日(2011.3.30)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成24年11月1日(2012.11.1)
【国際特許分類】
【出願日】平成23年3月30日(2011.3.30)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]