特許第6174454号(P6174454)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧 ▶ 株式会社 日立産業制御ソリューションズの特許一覧

特許6174454マルチホップネットワークシステムおよびマルチホップネットワークシステムの制御方法
<>
  • 特許6174454-マルチホップネットワークシステムおよびマルチホップネットワークシステムの制御方法 図000002
  • 特許6174454-マルチホップネットワークシステムおよびマルチホップネットワークシステムの制御方法 図000003
  • 特許6174454-マルチホップネットワークシステムおよびマルチホップネットワークシステムの制御方法 図000004
  • 特許6174454-マルチホップネットワークシステムおよびマルチホップネットワークシステムの制御方法 図000005
  • 特許6174454-マルチホップネットワークシステムおよびマルチホップネットワークシステムの制御方法 図000006
  • 特許6174454-マルチホップネットワークシステムおよびマルチホップネットワークシステムの制御方法 図000007
  • 特許6174454-マルチホップネットワークシステムおよびマルチホップネットワークシステムの制御方法 図000008
  • 特許6174454-マルチホップネットワークシステムおよびマルチホップネットワークシステムの制御方法 図000009
  • 特許6174454-マルチホップネットワークシステムおよびマルチホップネットワークシステムの制御方法 図000010
  • 特許6174454-マルチホップネットワークシステムおよびマルチホップネットワークシステムの制御方法 図000011
  • 特許6174454-マルチホップネットワークシステムおよびマルチホップネットワークシステムの制御方法 図000012
  • 特許6174454-マルチホップネットワークシステムおよびマルチホップネットワークシステムの制御方法 図000013
  • 特許6174454-マルチホップネットワークシステムおよびマルチホップネットワークシステムの制御方法 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6174454
(24)【登録日】2017年7月14日
(45)【発行日】2017年8月2日
(54)【発明の名称】マルチホップネットワークシステムおよびマルチホップネットワークシステムの制御方法
(51)【国際特許分類】
   G06F 13/00 20060101AFI20170724BHJP
   H04W 28/04 20090101ALI20170724BHJP
   H04W 84/18 20090101ALI20170724BHJP
   H04W 40/02 20090101ALI20170724BHJP
【FI】
   G06F13/00 530A
   H04W28/04 110
   H04W84/18
   H04W40/02
【請求項の数】3
【全頁数】19
(21)【出願番号】特願2013-223380(P2013-223380)
(22)【出願日】2013年10月28日
(65)【公開番号】特開2015-87804(P2015-87804A)
(43)【公開日】2015年5月7日
【審査請求日】2016年6月16日
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(73)【特許権者】
【識別番号】000153443
【氏名又は名称】株式会社 日立産業制御ソリューションズ
(74)【代理人】
【識別番号】110000279
【氏名又は名称】特許業務法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】佐藤 善良
(72)【発明者】
【氏名】松崎 健二
(72)【発明者】
【氏名】縄▲崎▼ 北斗
(72)【発明者】
【氏名】松▲崎▼ 崇夫
【審査官】 北川 純次
(56)【参考文献】
【文献】 特開2013−207428(JP,A)
【文献】 特開2005−217743(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
H04W 28/04
H04W 40/02
H04W 84/18
(57)【特許請求の範囲】
【請求項1】
複数の無線通信装置が順次中継することでデータを管理装置へ送信するマルチホップネットワークシステムであって、
所定のソフトウェアを分割して複数のブロックを生成するブロック生成部と、
前記各ブロックを前記各無線通信装置へ送信するブロック送信部と、
前記各ブロックのうち、前記各無線通信装置のいずれかの無線通信装置で受信されていない欠落ブロックと、前記欠落ブロックの再送信対象となる再送信対象装置とを検出する欠落ブロック検出部と、
前記再送信対象装置へ前記欠落ブロックを再送信する再送信部と、
を備え、
前記再送信部は、
前記再送信対象装置の上位に位置する無線通信装置または管理装置のうち、前記欠落ブロックを保持する直近の装置を再送信元装置とし、前記欠落ブロックを前記再送信元装置から前記再送信対象装置へ再送信するものであり、前記再送信対象装置の直近上位に位置する前記無線通信装置が前記欠落ブロックを保持していない場合は、前記再送信対象装置の直近上位に位置する前記無線通信装置の直近上位の無線通信装置から前記欠落ブロックを取得して保持することにより、前記再送信元装置となり、
前記再送信元装置の直下に位置する前記再送信対象装置の数が予め設定された所定数以上である場合、再送信元装置の直下に位置する全ての無線通信装置へブロードキャスト通信により前記欠落ブロックを送信し、
前記再送信元装置の直下に位置する前記再送信対象装置の数が前記所定数未満である場合、前記再送信元装置の直下に位置する前記再送信対象装置に対してユニキャスト通信により個別に前記欠落ブロックを送信する、
マルチホップネットワークシステム。
【請求項2】
前記欠落ブロック検出部は、前記管理装置の管理下にある全ての前記無線通信装置に問い合わせることにより、前記欠落ブロックの有無を検出する、
請求項に記載のマルチホップネットワークシステム。
【請求項3】
前記欠落ブロック検出部は、前記再送信対象装置から当該再送信対象装置の上位に位置する他の無線通信装置を介して中継される所定の通知に基づいて、前記欠落ブロックおよび前記再送信対象装置とを検出する、
請求項に記載のマルチホップネットワークシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マルチホップネットワークシステムおよびマルチホップネットワークシステムの制御方法に関する。
【背景技術】
【0002】
サーバ装置からゲートウェイを介して複数の無線通信装置を接続した通信システムにおいて、更新用ソフトウェアを所定サイズのブロックに分割して各無線通信装置に送信する技術は、特許文献1で知られている。その特許文献1では、ブロックに通し番号を付して各無線通信装置に送信するため、各無線通信装置はブロック番号に欠番を検出すると、その受信していないブロックの再送信を要求するようになっている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−188930号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来技術では、送信できなかったブロックのみを、対象の無線局へユニキャスト通信で再送信する。そのため、従来技術では、効率よく、かつネットワークトラフィックを抑えて、ソフトウェアを各無線通信装置に送信し、各無線通信装置のソフトウェアを更新することができる。
【0005】
しかし、無線通信ネットワークシステムに含まれる無線通信装置の数が増大したり、最大ホップ数が増加したりした場合、ユニキャスト通信を用いて複数の無線通信装置に再送信すると、ネットワークトラフィックが上昇する。例えば、比較的大規模な無線通信ネットワークシステムにおいて、ゲートウェイから末端の無線通信装置に向けてユニキャスト通信でブロックを送信する場合、ホップ数が大きいため、ネットワークトラフィックが上昇する。したがって、ソフトウェアの更新が完了するまでに時間を要し、システムの保守性が低下する。
【0006】
特に、例えば、AMI(Advanced Metering Infrastructure)システムなどの比較的大規模な無線通信ネットワークシステムの場合は、無線通信装置の台数および設置箇所も変化し易く、最大ホップ数も増加し易い。さらに、AMIシステムでは、道路工事、建築工事、大型車両の駐停車などにより、通信経路の安定性が損なわれる可能性があるため、ブロックを受信できない無線通信装置の数も増大し易い。
【0007】
本発明は、上記課題に鑑みてなされたもので、その目的は、ネットワークトラフィックの上昇を抑え、所定のソフトウェアを各無線通信装置に適切に送信できるようにしたマルチホップネットワークシステムおよびマルチホップネットワークシステムの制御方法を提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決すべく、本発明に係るマルチホップネットワークシステムは、複数の無線通信装置が順次中継することでデータを管理装置へ送信するマルチホップネットワークシステムであって、所定のソフトウェアを分割して複数のブロックを生成するブロック生成部と、各ブロックを各無線通信装置へ送信するブロック送信部と、各ブロックのうち、各無線通信装置のいずれかの無線通信装置で受信されていない欠落ブロックと、欠落ブロックの再送信対象となる再送信対象装置とを検出する欠落ブロック検出部と、再送信対象装置へ欠落ブロックを再送信する再送信部と、を備え、再送信部は、再送信対象装置の上位に位置する無線通信装置または管理装置のうち、欠落ブロックを保持する直近の装置を再送信元装置とし、欠落ブロックを再送信元装置から再送信対象装置へ再送信する。
【発明の効果】
【0009】
本発明によれば、欠落ブロックを受信していない再送信対象装置の上位に位置する無線通信装置または管理装置のうち、欠落ブロックを有する直近の装置を再送信元装置として、欠落ブロックを再送信対象装置へ再送信することができる。したがって、ブロックを再送信する経路のホップ数を少なくでき、ネットワークトラフィックを抑制しながら、所定のソフトウェアを各無線通信装置に配信することができる。
【図面の簡単な説明】
【0010】
図1】マルチホップネットワークシステムの全体構成を示す説明図。
図2】集約サーバのブロック図。
図3】ゲートウェイのブロック図。
図4】無線局のブロック図。
図5】ソフトウェア更新時に、集約サーバからゲートウェイを介して各無線局にブロックを送信する様子を示すシーケンス。
図6】ブロックが途中で消失する様子を示すシーケンス。
図7】ブロックを再送信する一つの例を示す説明図。
図8】ブロックを再送信する他の例を示す説明図。
図9】ブロックを再送信するさらに別の例を示す説明図。
図10】親局から子局に欠落ブロックの有無を問い合わせるシーケンス。
図11】子局から親局に欠落ブロックの存在を通知するシーケンス。
図12】第2実施例に係り、ネットワーク構成を管理するための管理テーブルを自動的に作成する様子を示す説明図。
図13】第3実施例に係り、中継の可否を設定できるようにしたブロック構成の例を示す説明図。
【発明を実施するための形態】
【0011】
以下、図面に基づいて、本発明の実施の形態を説明する。本実施形態では、以下に詳述する通り、無線通信装置が受信できなかったブロック(欠落ブロック)を再送信する場合、欠落ブロックを保持する上位装置のうち、再送信対象の無線通信装置に最も近い装置を再送信元装置とし、再送信元装置から再送信対象装置に欠落ブロックを再送信する。これにより、AMIシステムのようにネットワーク規模が大きい場合でも、再送信時のホップ数を少なくでき、ネットワークトラフィックの上昇を抑制できる。
【0012】
本実施形態では、再送信元装置の下位に位置する再送信対象装置の数に応じて、再送信時の通信方法を切り替える。第1の通信方法として、特定の一つの無線通信装置に対して個別にブロックを送信するユニキャスト通信がある。第2の通信方法として、複数の無線通信装置に一斉にブロックを送信するブロードキャスト通信がある。なお、「一斉にブロックを送信する」とは、パケット衝突を回避するための時間差を設定して送信する場合も含む。
【0013】
例えば、再送信元装置の直下に所定数以上の再送信対象装置が存在する場合、再送信元装置は、欠落ブロックの再送信にブロードキャスト通信を用いる。所定数は、例えば「2」であるが、これに限らず「3」以上の値でもよい。同一の集約サーバに繋がるゲートウェイ毎に、所定数の値を変えてもよい。
【0014】
ブロードキャスト通信を用いた、欠落ブロックの再送信を説明する。例えば、再送信元装置は、その直下に位置する1ホップ目の各無線通信装置へブロードキャスト通信で欠落ブロックを再送信する。1ホップ目の各無線通信装置は、全ての欠落ブロックを受信すると、その直下に位置する2ホップ目の各無線通信装置へブロードキャスト通信で欠落ブロックを再送信する。このブロードキャスト通信による欠落ブロックの再送信を末端ホップまで繰り返し実施する。これにより、ユニキャスト通信で欠落ブロックを個別に再送信する場合に比べて通信回数を少なくでき、全ての無線通信装置が全てのブロックを受信するまでの所要時間を短縮できる。さらに、上述の通り、再送信の起点となる再送信元装置は、再送信対象装置の上位に位置する装置のうち、必要な欠落ブロックを全て保持する装置の中から選択される。したがって、再送信元装置と再送信対象装置との間のホップ数を短くできる。本実施形態では、ホップ数を短くできる構成とブロードキャスト通信で再送信する構成とが結合することで、ネットワークトラフィックの上昇を抑えつつ、全ブロックを全無線通信装置に短時間で行き渡らせることができる。
【0015】
再送信元装置の直下に存在する再送信対象装置の数が所定数未満の場合、ユニキャスト通信で欠落ブロックが再送信される。これにより、必要な無線通信装置にのみ、欠落ブロックを無駄なく再送信することができる。
【実施例1】
【0016】
図1図11を用いて第1実施例を説明する。図1は、マルチホップネットワークのシステム全体を示す説明図である。マルチホップネットワークシステム1は、マルチホップネットワーク10と、集約サーバ20とを含んで構成される。
【0017】
マルチホップネットワーク10は、例えば少なくとも一つのゲートウェイ30と、複数の無線局40(WA〜WL)とを備える。通信経路P1は、ゲートウェイ30と集約サーバ20との間の通信経路を示す。他の通信経路P10〜P21は、無線局40間の通信経路を示す。
【0018】
集約サーバ20は、ゲートウェイ30を介して各無線局40からデータを収集するコンピュータである。集約サーバ20は、各無線局40のソフトウェア更新も管理する。ゲートウェイ30は、各無線局40との通信を管理する。集約サーバ20は、複数のゲートウェイ30に接続することができる。
【0019】
集約サーバ20とゲートウェイ30とは、「管理装置」の一例である。例えば、集約サーバ20を「マルチホップネットワークシステムの最上位に位置する第1管理装置」と呼び、ゲートウェイ30を「第1管理装置の直下に接続された第2管理装置」と呼ぶこともできる。
【0020】
無線局40は、「無線通信装置」の一例である。無線局40は、例えば、通信機能を有するセンサ装置のように構成される。センサ装置としては、例えば、電力計、温度計、照度計、日照計、風速計、水量計などがある。
【0021】
図2は、集約サーバ20の構成例を示すブロック図である。集約サーバ20は、例えば、メモリ200と、マイクロプロセッサ(図中CPUと略記)210と、通信部220を備えるコンピュータとして構成される。通信部220は、ゲートウェイ30と通信するための装置である。
【0022】
メモリ200には、ソフトウェアの更新を指示するための機能201を実現するためのコンピュータプログラムおよび必要な管理データが格納されている。マイクロプロセッサ210がそのコンピュータプログラムを実行することで、ゲートウェイ30に対して各無線局40のソフトウェアを更新するよう指示することができる。そのソフトウェア更新指示には、後述する他の実施例で説明するように、欠落ブロックの中継の可否を制御するための情報を含めることができる。さらに、ソフトウェア更新指示には、欠落ブロックの中継を許可する場合のホップ数を含めることもできる。中継を許可された欠落ブロックは、許可されたホップ数だけ転送される。
【0023】
図3は、ゲートウェイ30の構成例を示すブロック図である。ゲートウェイ30は、例えば、メモリ300と、マイクロプロセッサ310と、通信部320を備えるコンピュータとして構成される。メモリ300には、各機能301〜306を実現するためのコンピュータプログラムおよび必要な管理データが格納されている。通信部320は、集約サーバ20および各無線局40と通信するための機能である。
【0024】
ソフトウェアブロック分割機能301は、「ブロック生成部」の一例であり、集約サーバ20からのソフトウェア更新指示を受けて、所定のソフトウェアを所定サイズのブロックに分割する機能である。所定のソフトウェアは、例えば、無線局40の機能を改善または拡張するためのコンピュータプログラムである。
【0025】
ブロック送信機能302は、分割したブロックをブロードキャスト通信でマルチホップネットワーク内の全ての無線局40へ送信する機能である。欠落ブロック問合せ機能303は、各無線局40おいて未受信のブロック(欠落ブロック)が発生していないか問い合わせる機能である。
【0026】
欠落ブロック集約機能304は、図4で後述する欠落ブロック通知機能403による通知で判明した欠落ブロックの番号を集約する機能である。ブロック再送機能305は、集約したブロック番号を有する欠落ブロックを無線局40に再送信する機能である。つまり、欠落ブロックはまとめられて、再送信対象の無線局40に送られる。送信タイミング制御機能306は、ブロードキャスト通信によりブロックを同時に送信する場合の衝突を回避するために、各無線局での送信タイミングを調整する機能である。
【0027】
図4は、無線局40の構成例を示すブロック図である。無線局40は、例えば、メモリ400、マイクロプロセッサ410、通信部420を備えるコンピュータ端末として構成される。メモリ400には、各機能401〜406を実現するためのコンピュータプログラムおよび必要な管理データが格納されている。通信部420は、ゲートウェイ30と通信するための機能である。
【0028】
ブロック中継機能401は、親局である上位装置(ゲートウェイ30または無線局40)から受信したブロックを、1ホップ下に位置する直下の子局である無線局40に転送する機能である。欠落ブロック問合せ機能402は、ゲートウェイ30の欠落ブロック問合せ機能303と同様に、1ホップ下に位置する直下の無線局40に対して、欠落ブロックの有無を問い合わせる機能である。
【0029】
欠落ブロック通知機能403は、親局(ゲートウェイ30または無線局40)からの欠落ブロックの問合せに対して、欠落ブロックを特定するためのブロック番号とその欠落ブロックを受信していない無線局を特定するための識別子(ネットワークアドレスなど)を返信する機能である。親局からの問合せに応じて受動的に欠落ブロックの番号などを通知してもよいし、子局からの欠落ブロック番号などの受信を契機に、能動的に欠落ブロックの番号などを親局に通知してもよい。
【0030】
欠落ブロック集約機能404は、ゲートウェイ30の欠落ブロック集約機能304と同様に、欠落ブロックの番号を集約する機能である。ブロック再送機能405は、欠落ブロックを無線局40に向けて再送信する機能である。送信タイミング制御機能406は、ブロックの送信時期が重ならないように調整する機能である。子局検知機能407は、1ホップ下の無線局を検出する機能である。欠落ブロック確認機能408は、自装置40が受領していないブロック(欠落ブロック)が存在しないか確認する機能である。
【0031】
ゲートウェイ30のブロック送信機能302と無線局40のブロック中継機能401とは、「ブロック送信部」の一例を構成することができる。ゲートウェイ30の欠落ブロック問合せ機能303および欠落ブロック集約機能304と、無線局40の欠落ブロック問合せ機能402と欠落ブロック通知機能403と欠落ブロック集約機能404と欠落ブロック確認機能408とは、「欠落ブロック検出部」の一例を構成することができる。ゲートウェイ30のブロック再送機能305と無線局40のブロック再送機能405とは、「再送信部」の一例を構成する。
【0032】
図5および図6のフローチャートを参照して、各無線局40のソフトウェアを更新する手法を説明する。なお、説明の便宜上、フローチャートに示すネットワーク構成と図1などで示すネットワーク構成とは一致しない。図5および図6に示すフローチャートでは、ゲートウェイ30の1ホップ下に2つの無線局40(WA)、40(WB)が接続されており、それらのうちの無線局40(WA)にはさらに別の無線局40(WC)が接続されているものとする。
【0033】
集約サーバ20は、ゲートウェイ30のメモリ300へ更新対象のソフトウェアを格納した後、ゲートウェイ30に対して各無線局40のソフトウェアを更新するよう指示する(S10)。
【0034】
集約サーバ20からソフトウェア更新指示を受けたゲートウェイ30は、メモリ300へ格納されたソフトウェアを所定サイズのブロックに分割し、分割した各ブロックに通し番号を付与する(S11)。ゲートウェイ30は、1ホップ下位の無線局である、無線局40(WA)と無線局40(WB)へ1ブロックずつブロードキャスト通信にて送信する(S12、S16)。以下の説明では、1ホップ下に位置する無線局40を子局と呼ぶことがある。逆に、1ホップ上に位置する無線局40またはゲートウェイ30を親局と呼ぶことがある。
【0035】
無線局40(WA)は、ゲートウェイ30からブロックを受信すると、そのブロックをメモリ400内の記憶領域へ格納する(S13)。無線局40(WA)は、子局40(WC)を有する。そこで、無線局40(WC)の親局である無線局40(WA)は、子局である無線局40(WC)へブロックを中継する(S14)。中継するとは、自装置が受信したデータを他の装置に転送することを意味する。子局40(WC)は、親局40(WA)からのブロックを受信すると、メモリ400内の記憶領域に格納する(S15)。
【0036】
ゲートウェイ30からブロックを受信した無線局40(WB)も、そのブロックをメモリ400内の記憶領域に格納する(S17)。無線局40(WB)は、子局を持たないため、中継はしない。
【0037】
以上の処理をマルチホップネットワークシステムの末端に位置する無線局40まで順次繰り返すことで、最初のブロックが各無線局40に受信され保持される。つまり、各無線局40がブロードキャスト通信を用いてブロックを中継することで、比較的短時間で末端の無線局40までブロックを配信することができる。
【0038】
2番目のブロックについても同様である。ゲートウェイ30は、一方の子局である無線局40(WA)に2番目のブロックを送信して記憶させると共に(S18、S19)、他方の子局である無線局40(WB)にも2番目のブロックを送信して記憶させる(S22、S23)。一方の子局である無線局40(WA)は、さらに子局40(WC)を有するため、ゲートウェイ30から受信したブロックを子局40(WC)に転送し、記憶させる(S20、S21)。以上の処理をマルチホップネットワークシステムの末端に位置する無線局40まで順次繰り返すことで、2番目のブロックが各無線局40に受信され保持される。
【0039】
3番目のブロックについても同様に、ゲートウェイ30から各子局40(WA)、40(WB)にブロックが送信され(S24、S28)、各子局40(WA)、40(WB)はそれぞれのメモリ400内に3番目のブロックを格納する(S25、S29)。無線局40(WA)は、1ホップ下に位置する無線局40(WC)に、ゲートウェイ30から受信した3番目のブロックを中継する(S26、S27)。以上の処理をマルチホップネットワークシステムの末端に位置する無線局40まで順次繰り返すことで、3番目のブロックが各無線局40に受信され保持される。
【0040】
ソフトウェアを分割して生成された各ブロックのうち最終ブロック#nも、上記同様である。ゲートウェイ30から各子局40(WA)、40(WB)に最終ブロックが送信され(S30、S34)、各子局40(WA)、40(WB)はそれぞれのメモリ400内に最終ブロックを格納する(S31、S35)。無線局40(WA)は、子局である無線局40(WC)に、最終ブロックを中継する(S32、S33)。
【0041】
以上の処理をマルチホップネットワークシステムの末端に位置する無線局40まで順次繰り返すことで、最終ブロックが各無線局40に受信され保持される。各無線局40が最終ブロックを受信して記憶すると、更新対象ソフトウェアの受信が完了する(S36、S37、S38)。図示は省略するが、ソフトウェアを受信した後、適当なタイミングで、各無線局40はソフトウェアを更新する。
【0042】
このように本実施例では、更新対象のソフトウェアを複数ブロックに分割し、各ブロックをブロードキャスト通信を用いてマルチホップネットワークシステム内の各無線局40に送信する。ブロードキャスト通信を用いるため、ユニキャスト通信を用いる場合に比べて、ネットワークトラフィックの上昇を抑制しつつ、かつ短時間で全ての無線局40のソフトウェア更新が可能となる。ブロードキャスト通信は、ACKの返信が不要であり、1回の送信でN台の子局へデータを送信できるためである。
【0043】
図6は、ブロードキャスト通信を用いた場合においてブロックが途中で消失する様子を示すフローチャートである。上述のようにブロードキャスト通信を用いれば、効率的に多数の無線局40にブロックを送信できる。
【0044】
しかし、無線局の設置数が増えたり、最大ホップ数が増加したりすると、ホップ間でブロックを中継する際に、ブロック送信の衝突が発生するため、データ(ブロック)を消失する可能性が高まる(S19A、S27A)。図6に示す例では、無線局40(WA)は第2ブロックの受信に失敗し(S19A)、無線局40(WC)は第3ブロックの受信に失敗している。
【0045】
したがって、無線局40(WA)では、2番目のブロックが欠落ブロックとなる。無線局40(WC)は無線局40(WA)の子局であるため、親局である無線局40(WA)の欠落ブロックでもある2番目のブロックと、3番目のブロックとが、無線局40(WC)にとっての欠落ブロックである。
【0046】
もしも、図7で後述のように、欠落ブロックをユニキャスト通信で個別に各無線局に再送信する場合、再送信すべき無線局の数が多くなるほど、再送信完了までに要する時間が長くなり、ソフトウェアの更新完了まで長時間を要する。さらに、ユニキャスト通信では、データを受信した無線局が受領通知(ACK)を返す必要があるため、ネットワークトラフィックが増大しやすい。
【0047】
そこで、本実施例では後述の方法で欠落ブロックを無線局40に再送信することにより、ブロック再送信時のネットワークトラフィックの上昇を抑え、さらにソフトウェア更新完了までにかかる時間を短縮する。なお、以下の説明では、欠落ブロックの再送信を、ブロック再送信と表現する場合がある。
【0048】
図7図9を用いて、再送処理の方法をケースを分けて説明する。図7は、末端に位置する一つの無線局40(WL)で欠落ブロックが生じたため、ユニキャスト通信でブロック(欠落ブロック)を再送信する様子を示す。
【0049】
ユニキャスト通信では、データの送信後に、そのデータが到達したことを確認するためのACKを返信する必要がある。図7に示す例では、ゲートウェイ30から再送信対象の無線局40(WL)までの間に5ホップの転送が必要になる。ブロックは、ゲートウェイ30から、通信経路P10、P12、P15、P18、P21を経て、目的の無線局40(WL)に到達する。この場合、ブロックの再送信のために10個のパケットが必要となる(ブロックの再送信に必要なパケット数=(再送信元装置30から再送信先の無線局40(WL)までのホップ数)*(データ数(=再送信対象ブロック+ACK)))。なお、再送信対象の無線局を再送信先の無線局と呼ぶ場合がある。
【0050】
上記の再送信方法では、ブロックを上位ホップから下位ホップへ順次中継して送信している。ここでもしも、再送信対象の無線局40(WL)の1ホップ上位に位置する無線局40(WI)が、再送信対象のブロック(無線局40(WL)が受信していないブロック)を受信して保持している場合を考える。無線局40(WI)は、再送信対象の無線局40(WL)の1ホップ上に位置する親局であり、再送信対象の無線局40(WL)は子局である。
【0051】
親局40(WI)から子局40(WL)に再送信対象のブロックを送信すれば、そのブロックが再送信対象の無線局40(WL)に受信されるまでのパケット数を「10」から「2」に低下させることができる。再送信元である親局40(WI)から再送信先である子局40(WL)までのホップ数は「1」であり、データ数は「2」であるから、ブロックの再送信に必要なパケット数は「2」となる。
【0052】
このように、再送信対象の無線局の上位に位置する無線局のうち、欠落ブロックを全て保持している無線局を再送信元の無線局として選択すれば、ブロックの再送信に関するホップ数をほぼ一定に保つことができる。したがって、マルチホップネットワークシステム全体の最大ホップ数がたとえ増加した場合であっても、そのホップ数増大による影響を受けずに、比較的短時間で各無線局40に各ブロックを配信することができる。
【0053】
なお、親局が再送信元になるためには、その親局が、再送信先である子局の必要とする全ての欠落ブロックを保持している必要がある。再送信先で必要とされている欠落ブロックを親局が保持していない場合、親局は、上位の無線局から欠落ブロックを取得して保持する。再送信処理は、上位の無線局から1ホップずつ順次繰り返して実施する。これにより、マルチホップネットワークシステムの上位に位置する各無線局から順番に、全てのブロックを保持する。
【0054】
図8は、無線局40(WI)と無線局40(WL)とが、同一のブロックを1個受信していない場合のブロック再送信を示す。図8において、再送信対象の無線局40(WI)、40(WL)の上位に位置する無線局40(WF)、40(WC)、40(WA)、ゲートウェイ30のうち、再送信対象のブロックを保持する直近の装置40(WF)が、再送信元の装置となる。
【0055】
なお、もしも、図8において右側に示す無線局40(WE)でもブロックが欠落している場合、再送信元の装置は親局である無線局40(WB)である。この場合、それぞれ異なる複数の再送信元から異なる欠落ブロックが子局に向けて送信される。
【0056】
再送信元の無線局40(WF)は、通信経路P18を用いて、子局である無線局40(WI)に再送信対象ブロック(欠落ブロック)を送信する。この送信は、ユニキャスト通信で行われる。無線局40(WI)は、親局40(WF)から受信したブロックをメモリ400に格納する。
【0057】
無線局40(WI)は全てのブロックを保持したので、その直下に位置する再送信対象の無線局40(WL)に対する再送信元装置としての資格を備える。そこで、新たに再送信元となった無線局40(WI)は、ユニキャスト通信により、子局である無線局40(WL)へ欠落ブロックを送信する。
【0058】
もしも或る親局の有する複数の子局のそれぞれでブロックが欠落している場合、親局は、ユニキャスト通信に代えてブロードキャスト通信を使用し、欠落ブロックを各子局に略同時に送信する。
【0059】
親局からブロードキャスト通信でブロックを受信した各子局は、そのブロック内に格納されている中継制御情報に基づいて、さらに下位の無線局へそのブロックを中継することもできる。後述する他の実施例で明らかになるように、中継制御情報には、中継が許可された場合のホップ数を含むことができる。中継制御情報は、例えば、集約サーバ20がゲートウェイ30にソフトウェア更新指示を出すときに、設定することができる。
【0060】
マルチホップネットワーク全体から見て欠落ブロック数が多い場合、再送信対象の無線局に最も近い無線局を再送信元の無線局として、ブロードキャスト通信で欠落ブロックを送信することで、ソフトウェアの更新を短時間で完了することができる。
【0061】
これに対し、欠落したブロック数が少ない場合、親局から子局に順番に欠落ブロックをブロードキャスト通信で送信すると、全てのブロックを保持している無線局にもブロックが転送されてしまい、無駄な通信が増えるため、ネットワークトラフィックが上昇する。したがって、例えば、無線局の数、最大ホップ数などの状況に合わせて、中継の可否およびホップ数を設定できるようにしている。
【0062】
図9は、無線局40(WG)、40(WH)、40(WJ)、40(WK)でそれぞれ同一の欠落ブロックが1つある場合の、ブロック再送信の様子を示す。
【0063】
無線局40(WG)、40(WH)は、受信していないブロックの番号を特定して、親局である無線局40(WC)に通知する。この通知は、欠落ブロック通知機能403により実行される。
【0064】
親局である無線局40(WC)は、子局である無線局40(WG)、40(WH)から欠落ブロック通知を受信すると、通知されたブロックをブロードキャスト通信を用いて各無線局40(WG)、40(WH)へ送信する。
【0065】
無線局40(WG)は、ブロードキャスト通信を用いて、さらに下位の無線局40(WJ)、40(WK)へ欠落ブロックをそれぞれ中継する。これにより、再送対象の無線局40(WG)、40(WH)、40(WJ)、40(WK)で全てのブロックが保持され、ソフトウェアの更新処理が実施される。
【0066】
ところで、上述の再送信処理では、親局から子局にブロードキャスト通信でブロックを再送信し、かつ、各無線局はさらに下位の無線局にもブロックを中継する。したがって、無線局40(WC)からブロードキャストされたブロックは、欠落ブロックの生じていない無線局40(WF)、40(WI)、40(WL)にも送信されてしまい、無駄なデータ送信が生じる。
【0067】
このため例えば、無駄な再送信が行われる無線局の数を算出し、その数に応じて、ユニキャスト通信を用いるか、ブロードキャスト通信を用いるかを決定してもよい。または、ブロードキャスト通信に代えて、特定範囲内の複数の無線局に対してブロックを送信するマルチキャスト通信を用いる構成としてもよい。例えば、図9の例では、無線局40(WC)は、無線局40(WG)、40(WH)に対してのみブロックを再送信し、他の無線局40(WF)にはブロックを再送信しないように構成することもできる。
【0068】
図10および図11を用いて、無線局で生じた欠落ブロックを上位の装置に通知する処理について説明する。図10および図11において、ゲートウェイ30から1ホップ目に存在する無線局には数字(1)を添える。ゲートウェイ30から2ホップ目に位置する無線局には数字(2)を添える。図10図11において、無線局40(WA)、40(WB)は、ゲートウェイ30の1ホップ下に存在し、無線局40(WC)は無線局40(WA)の1ホップ下、ゲートウェイ30から見て2ホップ下に位置する。さらに、無線局40(WC)は、無線局40(WA)の子局に該当する。
【0069】
無線局40の記憶領域に格納したブロックに欠落がある場合は、少なくとも以下に示す第1の通知方法または第2の通知方法のいずれかを用いて、親局へ欠落ブロックを通知することができる。
【0070】
図10は、第1の通知方法を示すフローチャートである。第1の通知方法では、親局が子局に対して、欠落ブロックの有無を問い合わせる。
【0071】
図10に示すように、ゲートウェイ30は、最終ブロックの送信が終了すると(S40)、任意のタイミングで、子局40(WA)、40(WB)に対して欠落ブロックの有無を問い合わせる(S41、S44)。ゲートウェイ30が欠落ブロックを確認するタイミングは、最終ブロックの送信完了時である。各無線局がそれぞれの子局に対して欠落ブロックを確認するタイミングは、全てのブロックを受信した場合とする。
【0072】
ゲートウェイ30からの問合せを受けた各子局40(WA)、40(WB)は、受信済みのブロック番号を調べて、欠落ブロックが有るかを確認する(S42、S45)。欠落ブロックの見つかった子局40(WA)は、欠落ブロックの番号(図9では第2番目のブロック)を問合せ元であるゲートウェイ30に通知する(S43)。他方の子局40(WB)は、全てのブロックを受信しているため、欠落ブロックが存在しない。従って、子局40(WB)は、問合せ元であるゲートウェイ30に返信しない。
【0073】
ゲートウェイ30は、子局40(WA)から欠落ブロックの番号を通知されると、子局40(WA)に欠落ブロックをユニキャスト通信で送信する(S46)。この例では、再送信対象の子局は1つだけであるため、ユニキャスト通信が使用される。上述の通り、複数の子局でブロックの欠落が生じている場合は、ブロードキャスト通信(またはマルチキャスト通信)が用いられる。
【0074】
子局40(WA)は、欠落ブロックを受信してメモリ400に記憶する(S47)。これにより、子局40(WA)は、ソフトウェアの更新に必要な全てのブロックを受信したことになる(S48)。
【0075】
全てのブロックを保持した無線局40(WA)は、欠落ブロックの再送信元装置となることができる。そこで、無線局40(WA)は親局として、子局である無線局40(WC)に対して欠落ブロックが有るか問い合わせる(S49)。
【0076】
子局40(WC2)は、受信済みのブロックの番号から、欠落しているブロックが存在するか確認する(S50)。この例では、子局40(WC)は、第2ブロックおよび第3ブロックを受信していないものとする。子局40(WC)は、親局40(WA)に対して、第2ブロックおよび第3ブロックを受信していない旨を通知する(S51)。
【0077】
親局40(WA)は、子局40(WC)からの通知を受信すると、欠落ブロックである第2ブロックを子局40(WC)に送信すると共に(S52)、さらに続けて、他の欠落ブロックである第3ブロックを子局40(WC)に送信する(S54)。
【0078】
子局40(WC)は、親局40(WA)から受信した欠落ブロックをメモリ400に格納する(S53、S55)。これにより、子局40(WC)は、ソフトウェアの更新に必要な全てのブロックを受信したことになる(S56)。
【0079】
各無線局40(WA)、40(WB)、40(WC)は、全ブロックを入手した後、適切なタイミングで、ソフトウェアを更新することができる。ソフトウェアの更新準備が完了次第に直ちに更新してもよいし、ソフトウェアの更新準備が完了した後、予め設定される待機時間またはランダムに選択される待機時間だけ待機してから、ソフトウェアを更新してもよい。
【0080】
図11は、第2の通知方法を示すフローチャートである。第2の通知方法では、子局から親局へ欠落ブロックの存在を通知する。各子局は、欠落ブロックが有るか否かを定期的に確認し、欠落ブロックが有る場合は親局に通知する。その通知を受けた親局は、欠落ブロックを集約し、再送信処理を実行する。
【0081】
例えば、無線局40(WA)に欠落ブロックが存在する場合(S60)、無線局40(WA)は、親局であるゲートウェイ30に対して、欠落ブロック(例えば第2ブロック)の番号を通知する(S61)。同様に、無線局40(WB)も受信していないブロックがあることを検出すると(S62)、欠落しているブロック(例えば第2ブロックと第3ブロック)の番号をゲートウェイ30に通知する(S63)。
【0082】
ゲートウェイ30は、子局40(WA)および40(WB)からの通知を受領すると、複数の子局40(WA)、40(WB)でブロックの欠落が発生していることを知る。ゲートウェイ30は、子局40(WA)、40(WB)で欠落しているブロックの番号を集約する。これにより、ゲートウェイ30は、子局40(WA)、40(WB)に関して欠落しているブロックが第2ブロックおよび第3ブロックであることを知る。
【0083】
ゲートウェイ30は、欠落ブロックを子局40(WA)、40(WB)に送信するための通信方法として、ブロードキャスト通信を使用する。複数の子局でブロックの欠落が生じているため、欠落ブロックをユニキャストで個別に送信するよりも、集約した欠落ブロックをブロードキャストで一斉に送信する方が効率が良いためである。
【0084】
ゲートウェイ30は、一方の子局40(WA)に第2ブロックを送信すると共に(S64)、他方の子局40(WB)にも第2ブロックを送信する(S67)。一方の子局40(WA)は、第2ブロックを受信してメモリ400に格納することで(S65)、ソフトウェアの更新に必要な全てのブロックを保持することになる(S66)。他方の子局40(WB)も、ゲートウェイ30から受信した第2ブロックをメモリ400に格納する。しかし、他方の子局40(WB)は、未だ第3ブロックを保持していない。
【0085】
ゲートウェイ30は、他方の子局40(WB)だけが受信していない第3ブロックを、各子局40(WB)、40(WA)に送信する(S69、S71)。一方の子局40(WA)は、ゲートウェイ30から第3ブロックを受信するが、その第3ブロックは一方の子局40(WA)の有するメモリ400に格納済みである。子局40(WA)は、格納済みの第3ブロックを、今回ゲートウェイ30から受信した第3ブロックで上書きしてもよいし、今回受信した第3ブロックを破棄してもよい(S70)。
【0086】
他方の子局40(WB)は、ゲートウェイ30から受信した第3ブロックをメモリ400に格納する(S72)。これにより、子局40(WB)は、ソフトウェアの更新に必要な全てのブロックを保持する(S73)。
【0087】
このように構成される本実施例は、欠落ブロックを受信していない無線局40の上位に位置する装置のうち、欠落ブロックを有する直近の装置(ソフトウェア更新に必要な全てのブロックを保持する直近の装置)を再送信元装置とする。そして、本実施例では、再送信元装置から欠落ブロックを再送信対象の無線局40に再送信する。したがって、本実施例では、比較的大規模なマルチホップネットワークであっても、ブロックを再送信する経路のホップ数を少なくできる。この結果、本実施例では、ネットワークトラフィックを抑制しながら、所定のソフトウェアを各無線局40に短時間で配信でき、運用性、保守管理性が向上する。
【実施例2】
【0088】
図12を用いて第2実施例を説明する。本実施例を含む以下の各実施例は、第1実施例の変形例に該当する。そこで、以下では、第1実施例との相違を中心に説明する。本実施例では、ゲートウェイ30は、各無線局40からの通信に基づいて、マルチホップネットワークの構造を把握する。
【0089】
ゲートウェイ30と各無線局40とは定期的に通信を行い、情報を交換することで管理テーブルT30、T40、T41を作成する。ゲートウェイ30の保持する管理テーブルT30は、例えば、各子局を特定するための識別子(ID)が登録されている。識別子は、図示せぬ他のテーブルによりネットワークアドレスへ変換することができる。ゲートウェイ30は、管理テーブルT30を用いることで、子局を特定できる。
【0090】
各無線局40は、複数の管理テーブルT40、T41を保持する。第1管理テーブルT40には、親局を特定するための識別子と、子局を特定するための識別子とが登録されている。第2管理テーブルT41は、ゲートウェイ30までのホップ数と、同一ホップに存在する無線局の数とが登録されている。例えば、ゲートウェイ30の1ホップ下に位置する無線局40の場合、「ゲートウェイまでのホップ数」の欄には「1」が登録される。ゲートウェイ30の1ホップ下に2個の無線局40が存在する場合、「同一ホップの無線局数」の欄には「2」が登録される。
【0091】
各無線局40は、管理テーブルT40、T41を用いることで、親局および子局を特定でき、さらにゲートウェイ30までのホップ数と同一ホップに位置する無線局の数とを知ることができる。
【0092】
無線局40は、管理テーブルT40に記載の親局のIDを通信フレームに付加して、送信する。その通信フレームを受信した各無線局40のうち、通信フレーム内で指定されたIDと自装置のIDとが一致する無線局40は、その通信フレームの発信元である無線局を自装置の子局であると認識することができる。
【0093】
次に、図12に示す管理テーブルの作成方法の例を説明する。
(1)ゲートウェイ30は、ゲートウェイ30のIDとゲートウェイ30までのホップ数(=0)と管理テーブルT30に登録済みの子局数(=0)とを対応づけて、各無線局40にブロードキャストで送信する。
【0094】
(2)ゲートウェイ30がブロードキャストしたフレームを受信した無線局40のうち、第1管理テーブルT40の「親局」エントリが未登録の無線局は、受信フレームに含まれている情報を管理テーブルT40、T41に登録する。すなわち、無線局40は、受信フレームの有するIDを、第1管理テーブルT40の「親局」に記憶する。無線局40は、ゲートウェイ30までのホップ数に1を加えた値を、第2管理テーブルT41の「ゲートウェイまでのホップ数」に記憶する。無線局40は、管理テーブルT30に登録済みの子局数を、第2管理テーブルT41の「同一ホップの無線局数」に記憶する。
【0095】
(3)ゲートウェイ30からのフレームを受信した無線局40のうち、第1管理テーブルT40に親局を登録済みの無線局40は、自局の周期で、自局のIDと第2管理テーブルT41に登録済みのゲートウェイ30までのホップ数(=1)と第2管理テーブルT41に登録済みの同一ホップの無線局数(=0)とをブロードキャスト送信する。
【0096】
(4)親局エントリ登録済みの無線局40からのフレームを受信したゲートウェイ30は、ゲートウェイ30における「ゲートウェイまでのホップ数(=0)」に1を加えた数と、受信フレーム中の「ゲートウェイまでのホップ数(=1)」とが一致するため、その受信フレームは子局からのフレームであると判断する。そこで、ゲートウェイ30は、管理テーブルT30の「子局」エントリに、受信フレームの持つIDを登録する。
【0097】
(5)一方、親局エントリ登録済みの無線局40からのフレームを受信した他の無線局40は、前記(2)で述べたと同様に、受信フレームの内容を管理テーブルT40、T41に登録する。(6)ゲートウェイ30および各無線局40は、上述の(1)〜(5)を定期的に繰り返すことで、管理テーブルT30、T40、T41を構築していく。
【0098】
このように構成される本実施例も第1実施例と同様の作用効果を奏する。さらに本実施例では、各無線局40(およびゲートウェイ30)が周辺の無線局40と定期的に通信を行うことで、マルチホップネットワークの構成を自動的に検知して管理テーブルを作成することができる。
【0099】
また、各無線局40は、ゲートウェイ30までのホップ数と、同一ホップに存在する無線局数とから送信タイミングの分散を行うか否かを判断できる。送信タイミングを分散することで、ブロック送信時の衝突を回避することができる。
【実施例3】
【0100】
図13を用いて第3実施例を説明する。本実施例では、中継制御情報を含むブロックの構成例を説明する。
【0101】
更新対象のソフトウェア100は、複数のブロック110に分割される。一つのブロック110は、例えば、データ本体120と、管理情報121〜123とを含む。管理情報121〜123のうち、第1管理情報121は、中継の可否を設定する。中継する場合には「1」を設定し、中継しない場合には「0」を設定する。第1管理情報121は、例えば「中継可否設定情報」と呼んでも良い。
【0102】
第2管理情報122は、受信可能なホップ数を設定する。再送信時のブロック110を受信した無線局40は、そのブロック110内の第2管理情報122で指定された受信可能なホップ数と、自装置の保持する第2管理テーブルT41内の「ゲートウェイまでのホップ数」の値とを比較する。無線局40は、第2管理情報122の指定する「受信可能なホップ数」の値と第2管理テーブルT41の「ゲートウェイまでのホップ数」の値とが一致した場合に、そのブロック110をメモリ400内に格納する。
【0103】
なお、第2管理情報122で指定する「受信可能なホップ数」に「0」が設定されている場合、無線局40は、第2管理テーブルT41に登録されている「ゲートウェイまでのホップ数」の値を無視して、受信する。すなわち、ゲートウェイ30からのホップ数を問わずに、受信可能な無線局40は、ブロック110を受信する。このように、親局は、第2管理情報122の値を設定するだけで、ブロック110を所望のホップ数までの範囲でブロードキャストできる。
【0104】
第2管理情報122は、例えば「受信可能ホップ数情報」と呼んでも良い。第1管理情報121と第2管理情報122とは、「中継制御情報」の一例に該当する。
【0105】
第1管理情報121に「1」が格納されており、ブロックを中継する設定担っている場合、ブロック110を受信した無線局40は、第2管理情報122に格納されている「受信可能ホップ数」の値に「1」を加算して、子局にブロック110を中継する。第1管理情報121に「1」が格納されており、かつ、第2管理情報122の「受信可能ホップ数」に「0」が格納されている場合、無線局40は、「受信可能ホップ数」の値を加算せずに、ブロック110を子局に中継する。
【0106】
第3管理情報123は、ブロック110の通し番号を格納する。最終ブロックには、そのブロックが最後のブロックであることを示す情報(例えば、EOB:End Of Block)などが格納される。無線局40は、第3管理情報123内のブロック番号に基づいて、受信していないブロック(欠落ブロック)が有るか判定できる。
【0107】
このように構成される本実施例では、ブロードキャスト通信で、1ホップ下の無線局40に欠落ブロックを再送信することができる。したがって、このように構成される本実施例も第1実施例と同様に、ネットワークトラフィックの上昇を抑制しつつ、ソフトウェア100を更新することができる。
【0108】
なお、本発明は、上述した実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
【符号の説明】
【0109】
1:マルチホップネットワークシステム1、10:マルチホップネットワーク10、20:集約サーバ、30:ゲートウェイ、40:無線局
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13