JP5299561B2 - ファームウェア更新方法、通信ユニット、およびプログラム - Google Patents
ファームウェア更新方法、通信ユニット、およびプログラム Download PDFInfo
- Publication number
- JP5299561B2 JP5299561B2 JP2012507914A JP2012507914A JP5299561B2 JP 5299561 B2 JP5299561 B2 JP 5299561B2 JP 2012507914 A JP2012507914 A JP 2012507914A JP 2012507914 A JP2012507914 A JP 2012507914A JP 5299561 B2 JP5299561 B2 JP 5299561B2
- Authority
- JP
- Japan
- Prior art keywords
- communication unit
- program
- adjacent communication
- unit
- units
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000004891 communication Methods 0.000 title claims description 370
- 238000011156 evaluation Methods 0.000 claims description 28
- 230000005540 biological transmission Effects 0.000 claims description 25
- 230000001174 ascending effect Effects 0.000 claims 1
- 238000001514 detection method Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 20
- 238000012546 transfer Methods 0.000 description 19
- 238000007405 data analysis Methods 0.000 description 15
- 235000008694 Humulus lupulus Nutrition 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000007796 conventional method Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 2
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 1
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 1
- 241000255777 Lepidoptera Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Description
無線通信ネットワークにおける各通信ユニットのファームウェアの更新方法、通信ユニット、およびプログラムに関する。
ルータやアクセスポイント、基地局といったネットワーク接続装置を使わずに通信ユニット同士が直接または他の通信ユニットを経由して無線で接続するアドホック無線ネットワークが知られている。
アドホック無線ネットワークの環境において、数多くの通信ユニットに対して、例えば機能を向上させるために、それらを動作するためのファームウェアを更新する必要がある。例えば、住宅エリアにおける数多くの電気使用量の検針器(約1,000台、以下「通信ユニット」と表記する)のファームウェアを更新することが求められている。
ファームウェア更新方法としては従来、ブロードキャスト転送による通信ユニットへのファームウェアダウンロードを実施し、ファームウェア更新を行っていた。例えば、上述の検針器である通信ユニットのエリアを管轄するゲートウェイ(各検針器からの検針情報を収集するサーバ、以下「GW」と表記する)からブロードキャスト配信によるファームウェアデータの分割送信を実施し、ファームウェア更新を行っていた。このようなGWは、例えば街路の電柱に設置される。
図1は、1つの従来技術としての、ブロードキャスト配信によるファーム更新方式の説明図である。まず、第1ホップとして、ファームウェアの送信元であるゲートウェイマシン102から、その周囲の通信ユニット101−1に対してブロードキャスト転送が実施される。次に、第2ホップとして、第1ホップの受信を行った各通信ユニット101−1の各々から、周囲の全ての通信ユニット101−2に対してブロードキャスト転送が実施される。図示はしていないが、さらに第3ホップとして、第2ホップの受信を行った各通信ユニット101−2の各々から、周囲の全ての通信ユニットに対してブロードキャスト転送が実施される。
また、他の従来技術として、配信順番を司るツリーサーバに次の配信先を問合せすることにより、配信すべきサーバを決定して段階的な配信を行う技術が知られている(例えば特許文献1)。
さらに、他の従来技術として、送信元を中心として距離、受信電力値、送信タイミングを元に領域を分けてブロードキャストを行うことでパケット衝突を抑止し、効率的にパケット転送を行う従来技術が知られている(例えば特許文献2)。
加えて、他の従来技術として、MPRと呼ばれる特殊なノードが、マルチキャスト経路テーブルを生成し、その経路テーブルに従って各ノードからのパケットを指定のノードにマルチキャストする従来技術が知られている(例えば特許文献3)。
しかし、従来技術によるブロードキャスト方式は、以下の問題点を有していた。
まず、従来技術では、ゲートウェイマシン102から周囲の通信ユニット101−1、101−2、・・・に対して、第1、第2、第3ホップというように段階的にブロードキャスト転送が行われる。そして、各段階(ホップ)で、全ての通信ユニット101−1、101−2、・・・がブロードキャスト転送を実施していた。このため、細実線(第1ホップ)、細破線(第2ホップ)、一点鎖線(第3ホップ)というように、トラヒックが爆発的に増大していることがわかる。この結果、無線ネットワーク網に多大なパケットが生成され輻輳状態を引き起こす。この輻輳状態が起きると、ファームウェアデータ自体が欠落してしまう可能性があり、正常にファーム更新が出来ない事態となる。
まず、従来技術では、ゲートウェイマシン102から周囲の通信ユニット101−1、101−2、・・・に対して、第1、第2、第3ホップというように段階的にブロードキャスト転送が行われる。そして、各段階(ホップ)で、全ての通信ユニット101−1、101−2、・・・がブロードキャスト転送を実施していた。このため、細実線(第1ホップ)、細破線(第2ホップ)、一点鎖線(第3ホップ)というように、トラヒックが爆発的に増大していることがわかる。この結果、無線ネットワーク網に多大なパケットが生成され輻輳状態を引き起こす。この輻輳状態が起きると、ファームウェアデータ自体が欠落してしまう可能性があり、正常にファーム更新が出来ない事態となる。
また、ファームウェア更新ではファームウェアデータを分割して配信する。この場合例えば、ファームウェアデータを5,000回に分割してブロードキャスト配信した場合にかかる時間を算出すると、1ブロードキャスト配信に30秒かかるので、
5,000(回)×30(秒)=42時間≒2日間
を要することになる。そのためその間に停電等の突発的な事故や落雷等の自然災害が発生すると、再度最初から開始しなければならなくなる。すなわち、図1の従来技術では、ファームウェアのデータ更新にかかる時間の増大を招いてしまうという問題点を有していた。
5,000(回)×30(秒)=42時間≒2日間
を要することになる。そのためその間に停電等の突発的な事故や落雷等の自然災害が発生すると、再度最初から開始しなければならなくなる。すなわち、図1の従来技術では、ファームウェアのデータ更新にかかる時間の増大を招いてしまうという問題点を有していた。
上述の第1の従来技術における網のトラヒック増大という問題点を避けるために、ブロードキャスト配信をユニキャスト配信にする技術が考えられる。しかし、単純にこれを行った場合、GWからシリアルでユニキャスト処理すると、
1,000(台数)×5,000(回)×100ms=約6日間
となってしまう。この結果、さらに時間がかかってしまうという問題点を有している。
1,000(台数)×5,000(回)×100ms=約6日間
となってしまう。この結果、さらに時間がかかってしまうという問題点を有している。
他の従来技術においても、ファームウェアデータの更新にあたり、時間がかかり、また、ネットワークの負荷が増大するという問題があった。
そこで、本発明の課題は、ファームウェアの更新において、パケットの輻輳状態とかかる時間の増大と、ネットワーク負荷の増大を抑制することである。
そこで、本発明の課題は、ファームウェアの更新において、パケットの輻輳状態とかかる時間の増大と、ネットワーク負荷の増大を抑制することである。
態様の一例では、無線ネットワークを構成する通信ユニットであって、1ホップで接続可能な隣接通信ユニット毎に、該隣接通信ユニットにおける所定のプログラムの設定状況、及び、前記通信ユニットと該隣接通信ユニット間の無線品質に関する情報が記憶される記憶部と、前記所定のプログラムの設定状況及び無線品質に関する情報に基づき、前記通信ユニットと隣接通信ユニット間におけるネットワークの前記無線品質を含む評価値において、複数の該隣接通信ユニット間で該評価値が相対的に低く、かつ、該所定のプログラムが未設定の隣接通信ユニットを選択する選択手段と、前記選択された隣接通信ユニットに対して前記所定のプログラムを送信する送信手段、を備えたことを特徴とする通信ユニットを提供する。
また、態様の他の例として無線ネットワークにおける通信ユニットが実行するプログラムの送信方法において、前記通信ユニットが、1ホップで接続可能な隣接通信ユニットから、該隣接通信ユニットにおける前記プログラムの設定状況、及び、前記通信ユニットと該隣接通信ユニット間の無線品質に関する情報を受信する受信ステップと、前記プログラムの設定状況及び無線品質に関する情報に基づき、前記通信ユニットと隣接通信ユニット間におけるネットワークの前記無線品質を含む評価値において、複数の該隣接通信ユニット間で該評価値が相対的に低く、かつ、該プログラムが未設定の隣接通信ユニットを選択する選択ステップと、前記選択された隣接通信ユニットに対して該プログラムを送信する送信ステップ、を備えたことを特徴とするプログラム送信方法を提供する。
ファームウェアのデータ更新において、パケットの輻輳状態とかかる時間の増大を抑制することが可能となる。さらに、無線ネットワークの負荷を小さくすることが可能となる。
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
本実施形態では、配信元のゲートウェイからのブロードキャストのデータ配信をやめ、通信ユニットに対して段階的にユニキャスト送信(またはマルチキャスト送信)のデータ配信を行う方式をとる。例えば、1000台の通信ユニットに対してファーム配信を行う場合、ある条件にて選定した通信ユニットを親通信ユニット201−1として選択し、親通信ユニット201−1へデータ配信を行う。親通信ユニット201−1は自ユニットのファーム更新処理が終わると、自律で選定した子通信ユニット201−2に対してデータ配信を行う。同様の処理を行うことで子通信ユニット201−2、孫通信ユニット201−3と段階的に自律で配信を繰り返すことで1000台のユニットのファーム配信を行う。孫通信ユニット201−3以降も同様に配信を繰り返す。これにより、データ配信時間の短縮、および無線ネットワークの負荷軽減を実現する。
本実施形態では、配信元のゲートウェイからのブロードキャストのデータ配信をやめ、通信ユニットに対して段階的にユニキャスト送信(またはマルチキャスト送信)のデータ配信を行う方式をとる。例えば、1000台の通信ユニットに対してファーム配信を行う場合、ある条件にて選定した通信ユニットを親通信ユニット201−1として選択し、親通信ユニット201−1へデータ配信を行う。親通信ユニット201−1は自ユニットのファーム更新処理が終わると、自律で選定した子通信ユニット201−2に対してデータ配信を行う。同様の処理を行うことで子通信ユニット201−2、孫通信ユニット201−3と段階的に自律で配信を繰り返すことで1000台のユニットのファーム配信を行う。孫通信ユニット201−3以降も同様に配信を繰り返す。これにより、データ配信時間の短縮、および無線ネットワークの負荷軽減を実現する。
図2は、本実施形態のネットワーク構成図である。
ゲートウェイ(Gateway、以下「GW」と表記する)202は、ファームデータの配信元である。親通信ユニット201−1は、GW202から1ホップの位置関係にあり、GW202からファームデータの更なる配信を指示される最初の通信ユニットである。子通信ユニット201−2は、親通信ユニット201−1から1ホップの位置関係にあり、親通信ユニット201−1からファームデータの配信を2番目に指示される通信ユニットである。孫通信ユニット201−3も同様で、子通信ユニット201−2から1ホップの位置関係にあり、子通信ユニット201−2からファームデータの配信を3番目に指示される通信ユニットである。以下、図示していないが、ひ孫通信ユニットなども同様に存在し得る。その他の通信ユニット201は、GW202、親通信ユニット201−1、子通信ユニット201−2などから直接ファームデータの更新を受ける通信ユニットである。
ゲートウェイ(Gateway、以下「GW」と表記する)202は、ファームデータの配信元である。親通信ユニット201−1は、GW202から1ホップの位置関係にあり、GW202からファームデータの更なる配信を指示される最初の通信ユニットである。子通信ユニット201−2は、親通信ユニット201−1から1ホップの位置関係にあり、親通信ユニット201−1からファームデータの配信を2番目に指示される通信ユニットである。孫通信ユニット201−3も同様で、子通信ユニット201−2から1ホップの位置関係にあり、子通信ユニット201−2からファームデータの配信を3番目に指示される通信ユニットである。以下、図示していないが、ひ孫通信ユニットなども同様に存在し得る。その他の通信ユニット201は、GW202、親通信ユニット201−1、子通信ユニット201−2などから直接ファームデータの更新を受ける通信ユニットである。
図2において、GW202、親通信ユニット201−1、子通信ユニット201−2、孫通信ユニット201−3はそれぞれ、一定の距離間隔の範囲内で配信対象の通信ユニットを自律的に選択する。親通信ユニット201−1、子通信ユニット201−2、孫通信ユニット201−3を総称して、通信ユニット201と表記する。
上述の距離間隔の範囲は、ホップ数(以下「HOP数」と表記する)1で届く範囲(以下この通信ユニット201を「隣接ユニット201」と呼ぶ)である。
GW202/通信ユニット201共に、それぞれが所持している経路情報テーブル(GW202を含む周囲の通信ユニット201の装置ID、無線品質(評価値)、HOP数)に、GW202を(0,0)基点とした(X,Y)座標情報を追加する。これにより、自通信ユニット201に対する他の隣接ユニット201の相対位置が認識可能になる。そして、位置的に離れたユニットの選択が可能となる。
GW202/通信ユニット201共に、それぞれが所持している経路情報テーブル(GW202を含む周囲の通信ユニット201の装置ID、無線品質(評価値)、HOP数)に、GW202を(0,0)基点とした(X,Y)座標情報を追加する。これにより、自通信ユニット201に対する他の隣接ユニット201の相対位置が認識可能になる。そして、位置的に離れたユニットの選択が可能となる。
本実施形態による段階ユニキャストファーム更新方式の処理を、図3のシーケンス図とともに説明する。図3は、GW202、親通信ユニット201−1(図中「親ユニット#1」などと記載)、子通信ユニット201−2(図中「子ユニット#1」などと記載)、孫通信ユニット(図中「孫ユニット#1」などと記載)、ひ孫通信ユニット(図中「ひ孫ユニット#1」などと記載)、および玄孫通信ユニット(図中「玄孫ユニット」などと記載)の間の通信処理の関係を示す図である。
(ステップS1)親/子/孫/ひ孫の対象となる各通信ユニット201の選択方法(対象となる各通信ユニット201の数は、4台か2台が理想だが台数は限定しない)。以下のステップ1−1から1−5の選択処理を実行する。
(ステップS1−1)GW202は自分の隣接ユニット201(1ホップで届く通信ユニット201)の中で、無線品質が悪くお互いのユニットが位置的に離れている4ユニットを、親通信ユニット201−1として選択する(図3のS1−1)。図3では、親ユニット#1と、親ユニット#2〜#4として記載されているものが、GW202から親通信ユニット201−1として選択された4つの通信ユニット201である。
(ステップS1−2)親通信ユニット201−1(計4台)は各々、自分の隣接ユニット201の中で無線品質の悪くお互いのユニットが位置的に離れている4ユニットを、子通信ユニット201−2として選択する(図3のS1−2)。図3では、子ユニット#1と、子ユニット#2〜#4として記載されているものが、1つの親通信ユニット201−1から子通信ユニット201−2として選択された4つの通信ユニット201である。
(ステップS1−3)子通信ユニット201−2の(計16台)は各々、自分の隣接ユニット201の中で無線品質の悪くお互いのユニットが位置的に離れている4ユニットを、孫通信ユニット201−3として選択する(図3のS1−3)。図3では、孫ユニット#1と、孫ユニット#2〜#4として記載されているものが、1つの子通信ユニット201−2から孫通信ユニット201−3として選択された4つの通信ユニット201である。
(ステップS1−4)孫通信ユニット201−3(計64台)は各々、自分の隣接ユニット201の中で無線品質の悪くお互いのユニットが位置的に離れている4ユニットを、ひ孫通信ユニット(図2では図示しない)として選択する(図3のS1−4)。図3では、ひ孫ユニット#1と、ひ孫ユニット#2〜#4として記載されているものが、1つの孫通信ユニット201−3からひ孫通信ユニットとして選択された4つの通信ユニット201である。
(ステップS1−5)ひ孫通信ユニット(計256台)は各々、玄孫通信ユニット(図2では図示しない)の選択は行わず、各々が1台の玄孫に対しファームデータを転送し更新させる(図3のS1−5)。
(ステップS2)通信ユニット201は位置固定であり、GW202/通信ユニット201は、隣接する通信ユニット201の位置を把握している(図3のS2)。
(ステップS3)GW202は、親通信ユニット201−1を選択し(図3のS1−1)、それらに対してユニキャストでファームデータを転送する(図3のS3)。
(ステップS4)ファームデータの受信が完了した親通信ユニット201−1は、自分の子通信ユニット201−2を選択し(図3のS1−2)、それらに対してユニキャストでファームデータを転送する(図3のS4)。
(ステップS5)親通信ユニット201−1は、子通信ユニット201−2として選択しようとしたユニットが既に別の親から選択されていれば、次の候補を子通信ユニット201−2として選択する(図3のS5)。具体的には、既に選択済みの通信ユニット201は、新たな親通信ユニット201−1から未更新か否かの問い合わせを受信した際に、NACK(更新中または更新済み)を返す。それを受信した親通信ユニット201−1は、その通信ユニット201が選択済みであることを認識する。
(ステップS6)選択から漏れた通信ユニット201に対しては、各親通信ユニット201−1が、選択した子通信ユニット201−2に対する更新動作の後、ユニキャストでファームデータを転送し更新させる。
(ステップS7)以下同様にして、選択された子通信ユニット201−2、孫通信ユニット201−3および、ひ孫通信ユニット(図2では図示せず)が、それぞれの世代で通信ユニット201を選択し、ユニキャストでファームデータを転送して、ファーム更新を行う。
図3に示した処理シーケンス例では、約1000台の通信ユニット201に関して、親、子、孫、ひ孫、玄孫の各々の各世代の通信ユニット201が、各世代での選択からもれた通信ユニット201に対し、1台あたり5台のファーム更新を行っている。図4に、本実施形態による段階ユニキャストファーム更新方式でのファーム更新台数の例を示す。選択された送信元としての、GW202、親通信ユニット201−1、子通信ユニット201−2、孫通信ユニット201−3、およびひ孫通信ユニットのそれぞれについて、本実施形態による段階的ユニキャスト方式によって、それぞれが選択された台数、段階的ユニキャストの対象とはされずに直接更新の対象とされた選択もれ台数の例が示されている。さらに、ファーム更新の合計台数の例が示されている。ここでは、各々の世代で、選択からもれた通信ユニット201として、1台あたり5台をファーム更新すると仮定している。
まず、GW202は1台であり、そこでの選択もれ台数は5台である。
親通信ユニット201−1として選択された台数は、4台である。その4台での選択もれ台数は4×5=20台である。
親通信ユニット201−1として選択された台数は、4台である。その4台での選択もれ台数は4×5=20台である。
子通信ユニット201−2として選択された台数は、親4台×4=16台である。その16台での選択もれ台数は16×5=80台である。
孫通信ユニット201−3として選択された台数は、子16台×4=64台である。その64台での選択もれ台数は64×5=320台である。
孫通信ユニット201−3として選択された台数は、子16台×4=64台である。その64台での選択もれ台数は64×5=320台である。
ひ孫通信ユニットとして選択された台数は、孫64台×4=256台である。その256台については、1台につき玄孫1台のファーム更新を行うため(ステップS1−5)、選択もれ台数は256×1=256台である。
以上により、世代毎に選択されると同時にファーム更新をした台数は、各世代での選択された台数の総計340台である。また、選択もれとしてファーム更新された台数は681台である。この結果、340=681=1021台のファーム更新がなされることになる。
次に、上述した本実施形態による段階ユニキャストファーム更新方式の更に詳細な処理方式について以下に説明する。
(1)無線品質が悪く、お互いのユニットが位置的に離れているユニットの選択
図5は無線品質の良い親を選択した例の説明図、図6は無線品質の悪い親を選択した例の説明図である。図5の例は、GW202が無線品質の良い親通信ユニット201−1を選択した場合の通信経路を示している。図6の例は、GW202が無線品質の悪い親通信ユニット201−1を選択した場合の通信経路を示している。
図5は無線品質の良い親を選択した例の説明図、図6は無線品質の悪い親を選択した例の説明図である。図5の例は、GW202が無線品質の良い親通信ユニット201−1を選択した場合の通信経路を示している。図6の例は、GW202が無線品質の悪い親通信ユニット201−1を選択した場合の通信経路を示している。
図5に示されるように、無線品質の良い親通信ユニット201−1が選択されたと仮定した場合には、以下のような動作となる。まず、ユニキャストで親通信ユニット201−1がファーム更新される。その後、それぞれの親通信ユニット201−1が同様に、品質の良い子の通信ユニットのファーム更新を実施しようとする。しかし、GW202も、自分が親通信ユニット201−1として選択しなかった1ホップで届く範囲の残りの通信ユニット501のファーム更新を実施する。このため、1ホップ到達範囲内で電波干渉が発生することになる。図5では、502として示される範囲の破線のファーム更新経路と点線のファーム更新経路とで電波干渉が発生する。
一方、図6に示されるように、無線品質の悪い親通信ユニット201−1が選択されたと仮定した場合には、以下のような動作となる。まず、ユニキャストで親通信ユニット201−1がファーム更新される。その後、それぞれの親通信ユニット201−1が同様に、品質の悪い子の通信ユニットのファーム更新を実施しようとする。このときそれぞれの親通信ユニット201−1は、点線602で囲まれた範囲外にある子通信ユニット201−2を選択する制御方式を採用する。これにより、GW202において親通信ユニット201−1の選択から漏れた通信ユニット601については、GW202のみからファーム更新を実施させることが可能となる。これにより、1ホップ内到達範囲内での電波干渉を低減させることが可能となる。図6では、破線のファーム更新経路と点線のファーム更新経路とで電波干渉が発生しなくなる。
無線品質の悪い通信ユニット201の判定方法は例えば、後述する経路情報テーブルに基づいて、評価値が相対的に低い、例えばHOP数が1で評価値が最も低いものを選択する処理として実現できる。ここで、評価値が相対的に低いということは、例えばその通信ユニット201がGW202や親通信ユニット201−1等から最も遠くに位置しているか、最も電波が届きにくいところに位置していることを示しているため、送信元へ与える電波干渉が少ないといえる。
このように、本実施形態では、無線品質が悪い通信ユニット201を優先してファーム更新を行うことで、その後の段階ユニキャストによるファームデータの配信に与える電波干渉を低減させることが可能となる。位置的に離れて選択された各通信ユニット201が各々の電波干渉の少ないエリアでファーム更新を行うことで、無線ネットワークの負荷を分散化することができるのが特徴である。
(2)経路情報テーブルへの座標情報の追加
経路情報テーブルは、最終宛先となる通信ユニット201と次の宛先となる通信ユニット201の経路情報を格納しているテーブルであり、各通信ユニット201が保持する。図7は、GW202での経路情報テーブルのデータ構成例を示す図である。この例では、経路情報テーブルは、装置ID、評価値、隣接ノード、HOP数(ホップ数)、座標(x,y)の各データの格納フィールドを有している。
経路情報テーブルは、最終宛先となる通信ユニット201と次の宛先となる通信ユニット201の経路情報を格納しているテーブルであり、各通信ユニット201が保持する。図7は、GW202での経路情報テーブルのデータ構成例を示す図である。この例では、経路情報テーブルは、装置ID、評価値、隣接ノード、HOP数(ホップ数)、座標(x,y)の各データの格納フィールドを有している。
装置IDで識別される最終宛先一つに対し、経路情報は、経路情報テーブルの各行として、最大3個まで管理される。
隣接ノードは、宛先装置IDの通信ユニット201に向けてパケットを送出するための隣接ユニットの装置IDである。HOP数は、宛先装置IDの通信ユニット201までに中継される通信ユニット201の数(中継ユニット数)である。
隣接ノードは、宛先装置IDの通信ユニット201に向けてパケットを送出するための隣接ユニットの装置IDである。HOP数は、宛先装置IDの通信ユニット201までに中継される通信ユニット201の数(中継ユニット数)である。
各経路情報は、評価値によって評価されている。評価値は、通信ユニット201がお互いに隣接ノード等の情報を交換し合うパケットであるHELLOパケットによって得られる、無線品質、すなわち最終宛先までの到達可能性を表す経路品質を示している。評価値は、HOP数、隣接ユニットとの受信信号強度、その経路の通信実績に基づいて計算される。
本実施形態では、この経路情報テーブルに、図7に示される「座標」情報が追加されている。この座標は、GW202を原点としたX−Y平面座標上での、装置IDが示す宛先通信ユニット201の位置を示す。
親/子/孫の各通信ユニット201の以降の選択時には、この座標を相対的に変換する座標変換を実施することで、相対位置を認識する。
この座標は、段階ユニキャストを実現させるための通信ユニット201の選択手段となる。
この座標は、段階ユニキャストを実現させるための通信ユニット201の選択手段となる。
座標は、GW202を原点としたX−Y平面座標で表され、そのエリアの通信ユニット201の密集度に応じて、座標の目盛りの単位を5m、10m等と決定する。
この座標は通信ユニット201を住宅に取り付ける際、装置固有情報として入力後、HELLOパケットのやり取りによって経路情報テーブルに反映される。
この座標は通信ユニット201を住宅に取り付ける際、装置固有情報として入力後、HELLOパケットのやり取りによって経路情報テーブルに反映される。
(3)通信ユニット201による未更新の通信ユニット201のファーム更新
既存の通信ユニット201は、GW202のように他の通信ユニット201をファーム更新する機能がない。このため、本実施形態によるファーム更新機能を実現にするために、通信ユニット201にファーム更新実施機能を具備する。ファームウェアデータは、不揮発性メモリに書込む必要があるため、書込み前か後かのどちらを選択可能である。
既存の通信ユニット201は、GW202のように他の通信ユニット201をファーム更新する機能がない。このため、本実施形態によるファーム更新機能を実現にするために、通信ユニット201にファーム更新実施機能を具備する。ファームウェアデータは、不揮発性メモリに書込む必要があるため、書込み前か後かのどちらを選択可能である。
<不揮発性メモリへの書込み前に、ファームデータを更新する方式>
選択された通信ユニット201は、全てのファーム更新データを受信すると、揮発性メモリに格納したファーム更新データを読み出して、配信対象の通信ユニット201を選んで送信する。
選択された通信ユニット201は、全てのファーム更新データを受信すると、揮発性メモリに格納したファーム更新データを読み出して、配信対象の通信ユニット201を選んで送信する。
<不揮発性メモリへの書込みの後に自律リセットしてから、
ファームデータを更新する方法>
選択された通信ユニット201は、全てのファーム更新データを受信した時点で不揮発性メモリ(フラッシュメモリ等)にファーム更新データ書き込む際に、更新フラグ有効を示す識別子も書き込む。自律リセットによる再起動後、不揮発性メモリから更新フラグを読み出して有効であれば、不揮発性メモリから起動中のファームデータを読み出して、配信対象の通信ユニット201を選んで配信する。
ファームデータを更新する方法>
選択された通信ユニット201は、全てのファーム更新データを受信した時点で不揮発性メモリ(フラッシュメモリ等)にファーム更新データ書き込む際に、更新フラグ有効を示す識別子も書き込む。自律リセットによる再起動後、不揮発性メモリから更新フラグを読み出して有効であれば、不揮発性メモリから起動中のファームデータを読み出して、配信対象の通信ユニット201を選んで配信する。
本実施形態による前述したステップS1−1(図3参照)の親通信ユニット201−1の選択処理について、図8の説明図を用いて更に詳細に説明する。図8は、GW202を中心として、親通信ユニット201−1が選択されるときのxy座標による位置関係を示している。
通信ユニット201は、実際には図8に示されるように、GW202を中心として、360°全方向に点在している。
そこで、GW202が親通信ユニット201−1を選択する際も、GW202を中心として360°全方向を網羅するユニット選択が行われる。すなわち、ユニット同士が位置的に離れている通信ユニット201を選択するために、GW202をX−Y座標の原点と考え、360°を90°間隔で4つに区切ることができる位置(例えば0°、90°、180°、270°)の近い位置に存在する通信ユニット201が、経路情報テーブルから選択される。なお、図8では、1ホップで到達可能な範囲が半径5の円で示されている。
そこで、GW202が親通信ユニット201−1を選択する際も、GW202を中心として360°全方向を網羅するユニット選択が行われる。すなわち、ユニット同士が位置的に離れている通信ユニット201を選択するために、GW202をX−Y座標の原点と考え、360°を90°間隔で4つに区切ることができる位置(例えば0°、90°、180°、270°)の近い位置に存在する通信ユニット201が、経路情報テーブルから選択される。なお、図8では、1ホップで到達可能な範囲が半径5の円で示されている。
(ステップS1−1−1)GW202の経路情報テーブル(図7参照)から、評価値の低いものから優先されるように通信ユニット201を選択する。すなわち評価値が最も低くHOP数が1である通信ユニット201を選択する。図7の経路情報テーブルから、評価値が60と最も低い隣接ノード“A10004”が選択され、その座標が(0,5)と求まる。
(ステップS1−1−2)次に、座標(0,5)と点対称の座標(0,−5)に対し、この座標に最も近くHOP数が1の装置IDを有する通信ユニット201を、GW202の経路情報テーブルから検索する。図7の経路情報テーブルから、座標(0,−5)に一番近い隣接ノードの座標は図8に示される座標(−1,−5)なので、装置ID“A10006”の通信ユニット201が選択される。
(ステップS1−1−3)次に、座標(0,5)から90°および−90°回転した座標を、下記数1式により求める。
[数1]
s=xcosα−ysinα s:回転後のx座標
t=xsinα+ycosα t:回転後のy座標
よって、それぞれ90°回転時は(−5,0)、−90°回転時は(5,0)の各座標を求めることができ、図7のGW202の経路情報テーブルからこれにもっとも近い座標を検索すると、図8に示されるように、(−4,−1)および(5,1)となる。この結果、それぞれ装置ID“A10003”、“A10008”の各通信ユニット201が選択される。なお、装置ID“A10003”は“A10009”と比べて評価値が低いので、“A10003”が選択される。
s=xcosα−ysinα s:回転後のx座標
t=xsinα+ycosα t:回転後のy座標
よって、それぞれ90°回転時は(−5,0)、−90°回転時は(5,0)の各座標を求めることができ、図7のGW202の経路情報テーブルからこれにもっとも近い座標を検索すると、図8に示されるように、(−4,−1)および(5,1)となる。この結果、それぞれ装置ID“A10003”、“A10008”の各通信ユニット201が選択される。なお、装置ID“A10003”は“A10009”と比べて評価値が低いので、“A10003”が選択される。
続いて、本実施形態による前述したステップS1−2(図3参照)の子通信ユニット201−2の選択処理について、図9の親通信ユニット201−1の経路情報テーブルのデータ構成例と図10の説明図を用いて更に詳細に説明する。図9の例では、図7の例と同様に、経路情報テーブルは、装置ID、評価値、隣接ノード、HOP数(ホップ数)、座標(x,y)の各データの格納フィールドを有している。また、座標(x,y)から自装置である親通信ユニット201−1を原点とした変換後座標(x,y)も同時に示されている。また、図10は、親通信ユニット201−1を中心として子通信ユニット201−2が選択されるときのxy座標による位置関係を示している。
親通信ユニット201−1の選択時には360°全方向を網羅できるような選択方法としたが、子通信ユニット201−2の選択からは親通信ユニット201−1を中心として180°方向を網羅できるような選択を行う。すなわち、ユニット同士が位置的に離れている通信ユニット201を選択するために、親通信ユニット201−1を中心として0°、60°、120°、180°の近い位置に存在する通信ユニット201を、親の経路情報テーブルから選択する。
(ステップS1−2−1)親の経路情報テーブルにある座標は、GW202を原点としたものであるため、親通信ユニット201−1に選択された通信ユニット201は、自分が原点に位置した場合の座標に座標変換する必要がある。つまり、「変換前の座標−相対座標=変換後の座標」で変換する。例えば、親通信ユニット201−1の座標が(0,5)で、親通信ユニット201−1の経路情報テーブルの装置ID“A10111”の座標が(1,8)とすると、変換後の座標は、(1,8)−(0,5)=(1,3)となる。
(ステップS1−2−2)親通信ユニット201−1を原点(0,0)とした変換後の座標において、0°の(5,0)と180°の(−5,0)に近い装置IDを、親の経路情報テーブルから検索する。図9の例では、図10に示されるように、変換後座標(5,1)の装置ID“A10112”と変換後座標(−4,1)の装置ID“A10116”が選択される。
(ステップS1−2−3)次に、ユニット同士が位置的に離れている通信ユニット201を選択するために、変換後座標(5,1)から60°および120°回転した座標を、前述の数1式により求める。α=60°の場合、cos60°=1/2、sin60°=SQRT(3/2)より、座標(1.634・・・,4.83・・・)に近い変換後座標を、図9の経路情報テーブルから検索する。その結果、図10に示されるように、変換後座標(4,3)を有する装置ID“A10114”を選択する。なお、SQRT(x)は、xに対する平方根演算を示す。また、α=120°の場合、cos120°=−1/2、sin120°=SQRT(3/2)より、座標(−3.366・・・,4.33・・・)に近い変換後座標を、図9の経路情報テーブルから検索する。その結果、図10に示されるように、変換後座標(−4,3)を有する装置ID“A10117”を選択する。
以下同様にして、孫通信ユニット201−3の選択を行うと、図11の本実施形態によるユニット選択イメージのように、GW202を中心とし、内から外へ全方向を網羅することができるような通信ユニット201を段階的に選択できる。そして、それらに対して図3で示したように段階的に、ユニキャストによるファームデータの転送を実施することが可能となる。これにより、GW202から無線品質の悪い例えばGWから最も離れた1つの親通信ユニットが選択される。さらに、互いに最も離れた3つの親ユニットが選択される。これにより4つの親通信ユニット間の電波干渉が抑制される。親通信ユニットはさらに外側の通信ユニットであって、無線品質の悪い例えば親ユニットから最も離れかつ互いに最も離れた子の通信ユニットが選択される。これにより、子の通信ユニット間及び子と親の通信ユニットの電波干渉も抑制される。
図12は、図2のGW(ゲートウェイ)202の構成図である。GW202は、LAN等を終端するL2SW(レイヤ2スイッチ)1201、通信処理を実行するアドホックFPGA(Field Programmable Gate Array)1202、アドホックネットワークを終端する複数の通信部1203を備える。また、全体の制御を実行するCPU1204、特には図示しないフラッシュメモリに記憶されCPU1204によって実行されるファームウェア1205およびミドルウェア1206を備える。
LAN等を介した特には図示しないサーバとの通信は、L2SW1201によって終端される。無線通信による通信ユニット201(図2参照)との通信は、それぞれ通信ポートを備える複数の通信部1203によって終端され、送受信フレームの符号化または復号の処理が実行される。この通信部1203は例えば、PHY(PHYsical Layer Device)によって構成される。L2SW1201または通信ユニット201を介して送受信されるフレームデータは、アドホックFPGA1202にて処理される。ここでは、ルーティングテーブルや経路情報テーブルに基づくフレームデータのルーティングの処理や、フレームデータ中の上位レイヤ情報をCPU1204との間で通信する処理等が実行される。CPU1204は、GW202の全体の処理を制御するプロセッサであり、特には図示しないフラッシュメモリに記憶されたファームウェア1205に基づいて基本動作が実行される。また、フラッシュメモリやディスク記憶装置に記憶されたミドルウェア1206によって上位レイヤの処理を実行する。
図13は、図2の通信ユニット201の構成図である。通信ユニット201の構成は、図12のGW202の構成に対して、LANを終端するL2SW1201の機能が無いだけで、その他の機能は同様である。図13において、アドホックFPGA1202と通信部1203は、それぞれ図12のGW202の場合と同じものを使用できる。また、CPU1301は、通信ユニット201の全体の処理を制御するプロセッサであり、特には図示しないフラッシュメモリに記憶されたファームウェア1302に基づいて基本動作が実行される。また、フラッシュメモリやディスク記憶装置に記憶されたミドルウェア1303によって上位レイヤの処理を実行する。本実施形態では、サーバからGW202を経由して転送されるファームデータに基づいて、このファームウェア1302が更新されることになる。
図14は、図12または図13のアドホックFPGA1202の構成図である。アドホックFPGA1202は、データの受信処理を実行するデータ受信部1402、データの送信処理を実行するデータ送信部1403、および送受信データの解析および制御を実施するデータ解析・制御部1401を備える。データ解析・制御部1401は、図12のL2SW1201や図12または図13の通信部1203に対してデータ受信部1402およびデータ送信部1403が送受信するフレームデータを解析し、ルーティングや上位レイヤとの通信等を制御するフィールドプログラマブルゲートアレイである。
図15は、図12に示されるGW202内のアドホックFPGA1202内の、図14に示されるデータ解析・制御部1401によって実行される、ファーム更新処理を示すフローチャートである。
まず、特には図示しないサーバを経由して、保守者からファーム更新指示が受信される(ステップS1501)。
次に、基点となる親通信ユニット(図15中で「親ユニット」と表記)201−1が経路情報テーブル(図15中で「経路テーブル」と表記)1507から選択され、その座標Aが取得される(ステップS1502)。ここで、基点とは、GW202の経路情報テーブルにおいて(例えば図7参照)、評価値が最も低くHOP数が1である親通信ユニット201−1を指す。この処理は、前述したステップS1−1−1の処理に対応する。
次に、基点となる親通信ユニット(図15中で「親ユニット」と表記)201−1が経路情報テーブル(図15中で「経路テーブル」と表記)1507から選択され、その座標Aが取得される(ステップS1502)。ここで、基点とは、GW202の経路情報テーブルにおいて(例えば図7参照)、評価値が最も低くHOP数が1である親通信ユニット201−1を指す。この処理は、前述したステップS1−1−1の処理に対応する。
次に、座標Aと点対称の座標Bが求められ、その座標に一番近い通信ユニット201が経路情報テーブル1507から選択される(ステップS1503)。この処理は、前述したステップS1−1−2の処理に対応する。
次に、座標Aから90°および−90°回転した座標C,Dが、前述した数1式により求められ、その座標に一番近い通信ユニット201が経路情報テーブル(例えば図7参照)から選択される(ステップS1504)。この処理は、前述したステップS1−1−3の処理に対応する。
続いて、座標A,B,C,Dの各通信ユニット201に対して、ファーム更新が実行される。具体的には、ユニキャストでファームデータが転送される(ステップS1505)。この処理は、前述したステップS3(図3参照)の処理に対応する。
さらに、経路情報テーブルにおいて、GW202からみてHOP数が1である経路情報のうち、ステップS1502からS1504によって選択されなかった座標A,B,C,D以外の座標の経路情報に対応する各通信ユニット201に対して、ユニキャストでファームデータを転送し更新させる(ステップS1506)。この処理は、残術したステップS6(図3参照)の処理に対応する。
そして、経路情報テーブル上で、GW202からみてHOP数が1の範囲にある経路情報に対応する通信ユニット201全てに対してファーム更新が完了されたことが確認された上で、GW202でのファーム更新処理を完了する(ステップS1507)。
図16は、図13に示される通信ユニット201内のアドホックFPGA1202内の、図14に示されるデータ解析・制御部1401によって実行される、ファーム更新処理を示すフローチャートである。
GW202から親通信ユニット(図16中で「親ユニット」と表記)201−1として選ばれ、かつファーム更新が完了した通信ユニット201は、以下の子通信ユニット201−2の選択処理を開始する(ステップS1601)。
まず、経路情報テーブル(図16中で「経路テーブル」と表記)中の各座標が、自分を原点とした座標に座標変換される(ステップS1602)。この処理は、前述したステップS1−2−1の処理に対応する。
次に、親通信ユニット201−1を原点とした変換後の座標において、0°および180°の各座標に近い座標E,Fを有する各装置IDの通信ユニット201が、親の経路情報テーブルから検索される(ステップS1603)。この処理は、前述したステップS1−2−2の処理に対応する。
次に、変換後座標から60°および120°回転した座標に近い座標G,Hを有する各装置IDの通信ユニット201が、親の経路情報テーブルから検索される(ステップS1604)。この処理は、前述したステップS1−2−3の処理に対応する。
続いて、座標E,F,G,Hの各通信ユニット201に対して、ファーム更新が実行される。具体的には、ユニキャストでファームデータが転送される(ステップS1605)。この処理は、前述したステップS7(S4)(図3参照)の処理に対応する。
さらに、経路情報テーブルにおいて、親通信ユニット201−1からみてHOP数が1である経路情報のうち、ステップS1603およびS1604によって選択されなかった座標E,F,G,H以外の座標の経路情報に対応する各通信ユニット201に対して、ユニキャストでファームデータを転送し更新させる(ステップS1606)。この処理は、前述したステップS7(S6)(図3参照)の処理に対応する。
そして、経路情報テーブル上で、親通信ユニット201−1からみてHOP数が1の範囲にある経路情報に対応する通信ユニット201全てに対してファーム更新が完了されたことが確認された上で、選択された親通信ユニット201−1でのファーム更新処理を完了する(ステップS1607)。
図17は、図14のデータ解析・制御部1401の他の実施形態の構成図である。この実施形態におけるデータ解析・制御部1401は、Helloパケット制御部1701、未更新ユニット制御部1702、基点ユニット選択制御部1703、アドホックインタフェース1704、Table検索部1705、基点ユニットレジスタ1706、経路情報テーブル1707、および未更新ユニット管理レジスタ1708を備える。
Helloパケット制御部1701は、周囲の通信ユニット201(図2参照)とHelloパケットの交換を行う制御部である。Helloパケット制御部1701は、周囲の通信ユニット201との間で、Helloパケットを授受することにより、周囲の通信ユニット201の無線品質を評価し、また、周囲の通信ユニット201の座標位置を管理/検出する。そして、最終宛先までの経路品質、HOP数、隣接ユニットに対する受信信号強度、その経路の通信実績等から求まる評価値と、その装置IDに対して固定の座標情報を、各装置ID毎に、図7または図9等と同等の経路情報テーブル1707としてテーブル化する。
未更新ユニット制御部1702は、経路情報テーブル1707に存在する通信ユニット201がファーム更新済みか否かを管理する制御部である。
未更新ユニット制御部1702は、Table検索部1705にHOP数1の装置IDを要求する。
未更新ユニット制御部1702は、Table検索部1705にHOP数1の装置IDを要求する。
Table検索部1705は、経路情報テーブル1707を検索して、その要求に対する結果を未更新ユニット制御部1702に応答する。
未更新ユニット制御部1702は、得られた応答を未更新ユニット管理レジスタ1708に反映し、項1から順番にその装置IDに対しファーム更新済みか否かの問合せをアドホックインタフェース1704に対して行う。
未更新ユニット制御部1702は、得られた応答を未更新ユニット管理レジスタ1708に反映し、項1から順番にその装置IDに対しファーム更新済みか否かの問合せをアドホックインタフェース1704に対して行う。
アドホックインタフェース1704は、その装置IDに対してファーム更新済みか否かの問合せを行い、その結果を未更新ユニット制御部1702に応答する。未更新ユニット制御部1702は、その応答を未更新ユニット管理レジスタ1708に書き込む。
基点ユニット選択制御部1703は、無線品質が悪くGW202から位置的に離れた未更新の通信ユニット201を選択/更新する制御部である。
基点ユニット選択制御部1703は、Table検索部1705にHOP数1でかつ評価値が最も低い装置IDを要求する。
基点ユニット選択制御部1703は、Table検索部1705にHOP数1でかつ評価値が最も低い装置IDを要求する。
Table検索部1705は、経路情報テーブル1707を検索し、その要求に対する結果を基点ユニット選択制御部1703に応答する。基点ユニット選択制御部1703は、得られた応答を基点ユニットレジスタ1706に反映する。
基点ユニットレジスタ1706に格納された装置IDに対し、ファームアップ等の処理が完了すると、基点ユニット選択制御部1703は、Table検索部1705にHOP数1でかつ評価値が二番目に低い装置IDを要求する。
以下同様に、無線品質の悪い通信ユニット201を検索して、基点ユニットレジスタ1706を更新し処理を実行する。
図14のデータ解析・制御部1401のさらに他の実施形態について以下に説明する。
図14のデータ解析・制御部1401のさらに他の実施形態について以下に説明する。
GW202および通信ユニット201は、ファーム更新処理の高速化を図るため、ユニキャストまたはマルチキャストによるファーム更新方式を選択することができる。
図18は、GW202を取り囲むように通信ユニット201が密集してグループA,B,Cなどが形成される様子を示している。GW202を中心としたHOP数1の到達範囲内に通信ユニット201が密集している部分(グループAとグループBとグループC)が存在する場合、グループAとBにはマルチキャストでファーム更新を実施したほうが、更新時間の短縮化が図れる。
図18は、GW202を取り囲むように通信ユニット201が密集してグループA,B,Cなどが形成される様子を示している。GW202を中心としたHOP数1の到達範囲内に通信ユニット201が密集している部分(グループAとグループBとグループC)が存在する場合、グループAとBにはマルチキャストでファーム更新を実施したほうが、更新時間の短縮化が図れる。
図19は、上述の考え方に基づくデータ解析・制御部のさらに他の実施形態の構成図である。図19において、セレクタ部1901は、図14のデータ解析・制御部1401内に設けられ、経路情報テーブルが保有する座標情報に基づいて、経路情報テーブル上の装置IDを、お互いの座標位置が近いものをグループ化して、マルチキャスト制御部1903A〜1903C、およびユニキャスト制御部1903Dに振り分ける。
セレクタ部1901では、図7または図9等と同等の経路情報テーブル1902に存在する座標情報から、図18に示されるような全ての通信ユニット201の位置関係がわかるマップを生成し、密集箇所を特定する。その密集箇所内に通信ユニット数が例えば10以上であるとマルチキャスト対象と判断し、グループ化して、図14のデータ解析・制御部1401内に実装されるマルチキャスト制御部1903A〜1903Cへ、装置IDを引き渡す。マルチキャスト制御部1903A〜1903Cは、グループ毎にマルチキャストによるファーム更新を実行する。
また、セレクタ部1901は、マルチキャスト対象と判断しなかった装置IDについては、ユニキャスト制御部1903Dに引き渡す。ユニキャスト制御部1903Dは、各装置IDの通信ユニットに対して、ユニキャストによるファーム更新を実行する。
上述の各実施形態において、GW202や通信ユニット201は、段階的ユニキャストまたはマルチキャストによるファームデータの転送処理を自律的に並列して実行することができる。この並列処理の動作について、図20および図21を用いて以下に説明する。なお、図20と図21は相互に連続する処理として表記されている。
(ステップS2001)GW202は、親aユニットのファーム更新を開始する。
(ステップS2002)GW202は、親bユニットのファーム更新を開始する。これと並列して、親aユニットは、子a1ユニットのファーム更新を開始する。
(ステップS2003)GW202は、親cユニットのファーム更新を開始する。これと並列して、親aユニットは、子a2ユニットのファーム更新を開始する。これらと並列して、親bユニットは、子b1ユニットのファーム更新を開始する。これらと並列して、子a1ユニットは、孫a11ユニットのファーム更新を開始する。
(ステップS2004)GW202は、親dユニットのファーム更新を開始する。これと並列して、親aユニットは、子a3ユニットのファーム更新を開始する。これらと並列して、親bユニットは、子b2ユニットのファーム更新を開始する。これらと並列して、親cユニットは、子c1ユニットのファーム更新を開始する。これらと並列して、子a1ユニットは、孫a12ユニットのファーム更新を開始する。これらと並列して、子a2ユニットは、孫a21ユニットのファーム更新を開始する。これらと並列して、子b1ユニットは、孫b11ユニットのファーム更新を開始。これらと並列して、孫a11は、ひ孫a111ユニットのファーム更新を開始する。
(ステップS2005)GW202は、選択にもれた通信ユニット201のファーム更新を開始する。以下同様である。
以上説明した各実施形態によれば、無線ネットワークの負荷を小さくすることが可能となる。より具体的には、無線リソースの節約や電波干渉の低減を実現することができる。
前述した実施形態では、経路情報テーブルからHOP数1(隣接ノード)で最も無線品質が悪く(=無線干渉が小さく)、お互いに離れた位置にある通信ユニット201が選択される。そして、それらに対して、ユニキャストによるファームデータの転送が段階的に実行される。この結果、ファームデータの転送が実行される通信ユニット201が、位置的(距離範囲的)かつ時間的に離されることで、電波干渉が位置/時間で分散化され、無線ネットワーク全体に流れるパケットを抑制(負荷を低減)することが可能となる。
図22は、実施形態での電波伝搬イメージを示す図である。GW202の電波伝搬範囲が白い円で示され、各親通信ユニット201−1(図22中で「親ユニット」と表記)の電波伝搬範囲が塗りつぶされた円で示されている。GW202の電波伝搬範囲2201と各親通信ユニット201−1の電波伝搬範囲2202は、位置的に異なる。また、各親通信ユニット201−1の電波伝搬範囲2202は、伝搬時間が異なるようになるため、時間的にも異なる。このようにして、無線ネットワークの負荷を小さくすることができる。
また、各実施形態によれば、GW202および各通信ユニット201が、次の通信ユニット201を自律的に選択しながら、並列して段階的ユニキャストまたはマルチキャストによるファームデータの転送を実行することができる。これにより、ファームウェアのデータ更新にかかる時間の増大を、ブロードキャストで更新する場合に比較して、大幅に短縮することが可能となる。
従来のブロードキャストによるファーム更新の場合、更新時間は、例えば下記のように計算される。
5000パケット×30秒/(60秒)=2500分(41.66時間)
5000パケット×30秒/(60秒)=2500分(41.66時間)
一方、本実施形態によるファーム更新の時間は、例えば下記のように計算することができる。
1台あたりのユニキャスト時間
:5000パケット×0.1秒/(60秒)=8.3分
8.3分×4台=約32分
32分×5段階=160分(2.66時間)
1台あたりのユニキャスト時間
:5000パケット×0.1秒/(60秒)=8.3分
8.3分×4台=約32分
32分×5段階=160分(2.66時間)
この計算例のように、従来のブロードキャスト方式に対して、本実施形態では、約1/20の時間で、ファーム更新が可能となる。
さらに、図18および図19で説明したように、選択された4台の親や子に対して、ユニキャストではなくマルチキャストによるファーム更新応答を行った場合には、
8.3分×5段階=42分
となり、従来のブロードキャスト方式に対して、本実施形態では、約1/60の時間でファーム更新が可能となる。
8.3分×5段階=42分
となり、従来のブロードキャスト方式に対して、本実施形態では、約1/60の時間でファーム更新が可能となる。
また、上述した各実施形態によれば、ファーム更新の漏れがなく、全通信ユニットに対して確実にファームデータの更新を実行することが可能となる。すなわち、ファームデータ等のパケットの到達性が向上する。
さらに、上述した各実施形態によれば、通信ユニットの増設や取り外し、場所変更が発生しても、各通信ユニットが自律的にファームデータ等の更新のためのユニット選択を実施するため、保守作業にかかるコストの発生を抑制することが可能となる。
加えて、上述した各実施形態によれば、MPRのような特殊な中継ノードは必要でなく、万一中継ノード(実施形態における親通信ユニット201−1や子通信ユニット201−2等)が故障したとしても、それに変わる別のノードが自律で選択される。また、次のファームデータ等の転送先を選択する際も、特殊なパケットは必要ないため、ネットワークの負荷増大を招くことはない。
以上説明したように、本実施形態によれば以下の効果を奏する。
ファームウェアのデータ更新において、パケットの輻輳状態とかかる時間の増大を抑制することが可能となる。さらに、無線ネットワークの負荷を小さくすることが可能となる。
ファームウェアのデータ更新において、パケットの輻輳状態とかかる時間の増大を抑制することが可能となる。さらに、無線ネットワークの負荷を小さくすることが可能となる。
通信ユニットの増設や取り外し、場所変更が発生しても、各通信ユニットが自律的にファームデータ等の更新のためのユニット選択を実施し、また特殊な中継ノードも不要なため、保守作業にかかるコストの発生を抑制することが可能となる。
更新データの転送のために特殊なパケットが不要なため、ネットワークの負荷増大を回避することが可能となる。
更新データの転送のために特殊なパケットが不要なため、ネットワークの負荷増大を回避することが可能となる。
図23は、上述した各実施形態のシステムを実現できるコンピュータのハードウェア構成の一例を示す図である。
図23に示されるコンピュータは、CPU2301、メモリ2302、入出力装置2303、外部記憶装置2305、可搬記録媒体2309が挿入される可搬記録媒体駆動装置2306、および通信ネットワーク2307を有し、これらがバス2308によって相互に接続された構成を有する。同図に示される構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
図23に示されるコンピュータは、CPU2301、メモリ2302、入出力装置2303、外部記憶装置2305、可搬記録媒体2309が挿入される可搬記録媒体駆動装置2306、および通信ネットワーク2307を有し、これらがバス2308によって相互に接続された構成を有する。同図に示される構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
CPU2301は、当該コンピュータ全体の制御を行う。メモリ2302は、プログラムの実行、データ更新等の際に、外部記憶装置2305(或いは可搬記録媒体2309)に記憶されているプログラムまたはデータを一時的に格納するRAM等のメモリである。CUP2301は、プログラムをメモリ2302に読み出して実行することにより、全体の制御を行う。
入出力装置2303は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をCPU2301に通知し、CPU2301の制御によって送られてくるデータを表示装置や印刷装置に出力する。
外部記憶装置2305は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。
可搬記録媒体駆動装置2306は、光ディスクやSDRAM、コンパクトフラッシュ(登録商標)等の可搬記録媒体2309を収容するもので、外部記憶装置2305の補助の役割を有する。
可搬記録媒体駆動装置2306は、光ディスクやSDRAM、コンパクトフラッシュ(登録商標)等の可搬記録媒体2309を収容するもので、外部記憶装置2305の補助の役割を有する。
通信インターフェース2307は、例えばLAN(ローカルエリアネットワーク)またはWAN(ワイドエリアネットワーク)の通信回線を接続するための装置である。
各実施形態によるシステムは、各実施形態の機能を実現するFPGAの機能や動作フローチャートに対応する各制御プログラムを、CPU2301が実行することで実現される。そのプログラムは、例えば外部記憶装置2305や可搬記録媒体2309に記録して配布してもよく、或いは通信インターフェース2307によりネットワークから取得できるようにしてもよい。***などの各データは、例えば外部記憶装置2305またはメモリ2302上に記憶して運用される。また、メモリ2302上には、必要に応じて各制御プログラムを実行するためのワーク領域が展開される。
各実施形態によるシステムは、各実施形態の機能を実現するFPGAの機能や動作フローチャートに対応する各制御プログラムを、CPU2301が実行することで実現される。そのプログラムは、例えば外部記憶装置2305や可搬記録媒体2309に記録して配布してもよく、或いは通信インターフェース2307によりネットワークから取得できるようにしてもよい。***などの各データは、例えば外部記憶装置2305またはメモリ2302上に記憶して運用される。また、メモリ2302上には、必要に応じて各制御プログラムを実行するためのワーク領域が展開される。
以上説明した実施形態では、ファームデータの更新を例に説明を行ったが、更新データはファームデータに限られるものではなく、通信ユニットにおいて用いられる各種データであってもよい。
以上説明した実施形態において、図14のデータ解析・制御部1401は、第1〜第5の制御部101を構成する。図12のCPU1204または図13のCPU1301は、第4の制御部を構成する。図15のHelloパケット制御部1501は、第1および第3の制御部101を構成する。図15の未更新ユニット制御部1502は、第2の制御部を構成する。図15の基点ユニット選択制御部1503は、第5の制御部を構成する。
201 通信ユニット
201−1 親通信ユニット
201−2 子通信ユニット
201−3 孫通信ユニット
202 ゲートウェイ(Gateway、GW)
1201 L2SW(レイヤ2スイッチ)
1202 アドホックFPGA(Field Programmable Gate Array)
1203 通信部
1204、1301 CPU
1205、1302 ファームウェア
1206、1303 ミドルウェア
1401 データ解析・制御部
1402 データ受信部
1403 データ送信部
1701 Helloパケット制御部
1702 未更新ユニット制御部
1703 基点ユニット選択制御部
1704 アドホックインタフェース
1705 Table検索部
1706 基点ユニットレジスタ
1707、1902 経路情報テーブル
1708 未更新ユニット管理レジスタ
1901 セレクタ部
1903A グループAのマルチキャスト制御部
1903B グループBのマルチキャスト制御部
1903C グループCのマルチキャスト制御部
1903D グループDのマルチキャスト制御部
201−1 親通信ユニット
201−2 子通信ユニット
201−3 孫通信ユニット
202 ゲートウェイ(Gateway、GW)
1201 L2SW(レイヤ2スイッチ)
1202 アドホックFPGA(Field Programmable Gate Array)
1203 通信部
1204、1301 CPU
1205、1302 ファームウェア
1206、1303 ミドルウェア
1401 データ解析・制御部
1402 データ受信部
1403 データ送信部
1701 Helloパケット制御部
1702 未更新ユニット制御部
1703 基点ユニット選択制御部
1704 アドホックインタフェース
1705 Table検索部
1706 基点ユニットレジスタ
1707、1902 経路情報テーブル
1708 未更新ユニット管理レジスタ
1901 セレクタ部
1903A グループAのマルチキャスト制御部
1903B グループBのマルチキャスト制御部
1903C グループCのマルチキャスト制御部
1903D グループDのマルチキャスト制御部
Claims (11)
- 無線ネットワークを構成する通信ユニットであって、
1ホップで接続可能な隣接通信ユニット毎に、該隣接通信ユニットにおける所定のプログラムの設定状況、及び、前記通信ユニットと該隣接通信ユニット間の無線品質に関する情報が記憶される記憶部と、
前記所定のプログラムの設定状況及び無線品質に関する情報に基づき、前記通信ユニットと隣接通信ユニット間におけるネットワークの前記無線品質を含む評価値において、複数の該隣接通信ユニット間で該評価値が相対的に低く、かつ、該所定のプログラムが未設定の隣接通信ユニットを選択する選択手段と、
前記選択された隣接通信ユニットに対して前記所定のプログラムを送信する送信手段、
を備えたことを特徴とする通信ユニット。 - 前記記憶部は、さらに、前記隣接通信ユニットが存在する位置情報が記憶され、
前記選択手段は、複数の前記隣接通信ユニットの前記位置情報に基づき、既に選択した隣接通信ユニットを起点にして、他の複数の隣接通信ユニットの中で、該既選択の隣接通信ユニットとの距離が相対的に大きく前記プログラムが未設定である隣接通信ユニットを選択する、
ことを特徴とする請求項1に記載の通信ユニット。 - 前記送信手段は、前記選択された隣接通信ユニットの数に応じて、該選択された隣接通信ユニットに対する前記プログラムの送信方式を、ユニキャスト送信とマルチキャスト送信に切り替える、
を更に備えることを特徴とする請求項1に記載の通信ユニット。 - 前記通信ユニットは、
前記選択手段は、前記プログラムが未設定の隣接通信ユニットの内で所定数を選択し、
前記送信手段は、前記所定数に選択されなかった隣接通信ユニットに対しては、前記プログラムをユニキャスト送信する、
ことを特徴とする請求項1に記載のプログラム送信方法。 - 前記記憶部は、前記隣接通信ユニットの前記位置情報として、前記無線ネットワーク内に前記プログラムを最初に送信する通信ユニットを起点とした座標情報が記憶される、
ことを特徴とする請求項2に記載の通信ユニット。 - 前記通信ユニットは、前記無線ネットワーク内に前記プログラムを最初に送信する通信ユニットであり、
前記選択手段は、前記評価値において低い順に、前記通信ユニットを中心として360度の方位角の中で、選択される前記隣接通信ユニットが相互に離れて配置される方位角となるように、前記プログラムが未設定である複数の隣接通信ユニットを選択する、
ことを特徴とする請求項2記載の通信ユニット。 - 前記通信ユニットは、前記隣接通信ユニットのいずれかから、前記プログラムを受信する通信ユニットであり、
前記選択手段は、前記評価値において低い順に、前記無線ネットワーク内に前記プログラムを最初に送信した通信ユニットの位置に対して反対側の180度の方位角の中で、選択される前記隣接通信ユニットが相互に離れて配置されるような方位角となるように、前記プログラムが未設定である複数の隣接通信ユニットを選択する、
ことを特徴とする請求項2に記載の通信ユニット。 - 無線ネットワークにおける通信ユニットが実行するプログラムの送信方法において、
前記通信ユニットが、
1ホップで接続可能な隣接通信ユニットから、該隣接通信ユニットにおける前記プログラムの設定状況、及び、前記通信ユニットと該隣接通信ユニット間の無線品質に関する情報を受信する受信ステップと、
前記プログラムの設定状況及び無線品質に関する情報に基づき、前記通信ユニットと隣接通信ユニット間におけるネットワークの前記無線品質を含む評価値において、複数の該隣接通信ユニット間で該評価値が相対的に低く、かつ、該プログラムが未設定の隣接通信ユニットを選択する選択ステップと、
前記選択された隣接通信ユニットに対して該プログラムを送信する送信ステップ、
を備えたことを特徴とするプログラム送信方法。 - 無線ネットワークにおける通信ユニットを制御するプログラムを記憶した記憶媒体であって、
前記プログラムがコンピュータに、
1ホップで接続可能な隣接通信ユニットから、該隣接通信ユニットにおける所定のプログラムの設定状況、及び、前記通信ユニットと該隣接通信ユニット間の無線品質に関する情報を受信する受信機能と、
前記所定のプログラムの設定状況及び無線品質に関する情報に基づき、前記通信ユニットと隣接通信ユニット間におけるネットワークの前記無線品質を含む評価値において、複数の該隣接通信ユニット間で該評価値が相対的に低く、かつ、該所定のプログラムが未設定の隣接通信ユニットを選択する選択機能と、
前記選択された隣接通信ユニットに対して前記所定のプログラムを送信する送信機能、
を実行させる記憶媒体。 - 前記コンピュータが
前記受信機能で、前記隣接通信ユニットから、さらに、該隣接通信ユニットが存在する位置情報を受信し、
前記選択機能で、複数の隣接通信ユニットの前記位置情報に基づき、既に選択した隣接通信ユニットを起点にして、他の複数の隣接通信ユニットの中で、該既選択の隣接通信ユニットとの距離が相対的に大きく前記所定のプログラムが未設定である隣接通信ユニットを選択する、
ことを特徴とする請求項9に記載の記憶媒体。 - 前記コンピュータが制御する前記通信ユニットは、前記隣接通信ユニットのいずれかから、前記所定のプログラムを受信する通信ユニットであり、
前記コンピュータは、
前記選択機能で、前記評価値において低い順に、前記無線ネットワーク内に前記プログラムを最初に送信した通信ユニットの位置に対して反対側の180度の方位角の中で、選択される前記隣接通信ユニットが相互に離れて配置されるような方位角となるように、前記所定のプログラムが未設定である複数の隣接通信ユニットを選択する、
ことを特徴とする請求項10に記載の記憶媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/002395 WO2011121671A1 (ja) | 2010-03-31 | 2010-03-31 | ファームウェア更新方法、通信ユニット、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2011121671A1 JPWO2011121671A1 (ja) | 2013-07-04 |
JP5299561B2 true JP5299561B2 (ja) | 2013-09-25 |
Family
ID=44711468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012507914A Expired - Fee Related JP5299561B2 (ja) | 2010-03-31 | 2010-03-31 | ファームウェア更新方法、通信ユニット、およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20130009751A1 (ja) |
JP (1) | JP5299561B2 (ja) |
WO (1) | WO2011121671A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8570156B2 (en) * | 2010-09-01 | 2013-10-29 | Quake Global, Inc. | Pluggable small form-factor UHF RFID reader |
TW201001958A (en) | 2008-04-29 | 2010-01-01 | Odin Technologies Inc | Method and apparatus for a deployable radio-frequency identification portal system |
WO2013145253A1 (ja) * | 2012-03-30 | 2013-10-03 | 富士通株式会社 | 通信方法、ノード装置、および、通信プログラム |
US9841492B2 (en) | 2013-02-25 | 2017-12-12 | Quake Global, Inc. | Ceiling-mounted RFID-enabled tracking |
EP2962254A1 (en) | 2013-02-26 | 2016-01-06 | Quake Global, Inc. | Methods and apparatus for automatic identification wristband |
JP2016105561A (ja) * | 2014-12-01 | 2016-06-09 | 沖電気工業株式会社 | 通信制御装置及びネットワークシステム |
US10091767B2 (en) | 2015-08-20 | 2018-10-02 | Toshiba Memory Corporation | Communication apparatus and communication method |
JP2019036841A (ja) | 2017-08-15 | 2019-03-07 | 富士通株式会社 | 配信制御方法および通信システム |
EP3462260A1 (de) * | 2017-09-29 | 2019-04-03 | Siemens Aktiengesellschaft | Verfahren und anordnung zur überwachung des zustands einer produktionseinrichtung |
JP6975974B2 (ja) * | 2018-02-28 | 2021-12-01 | サイレックス・テクノロジー株式会社 | 制御装置、制御方法、及び、プログラム |
JP7309471B2 (ja) * | 2019-06-20 | 2023-07-18 | 株式会社東芝 | 伝送装置 |
US11162750B1 (en) * | 2019-09-16 | 2021-11-02 | Donald L. Weeks | Detection of firearms in a security zone using radio frequency identification tag embedded within weapon bolt carrier |
JPWO2022209801A1 (ja) * | 2021-03-31 | 2022-10-06 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007058275A (ja) * | 2005-08-22 | 2007-03-08 | Brother Ind Ltd | ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム |
JP2008288978A (ja) * | 2007-05-18 | 2008-11-27 | Hitachi Electronics Service Co Ltd | センサネットシステム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030008619A1 (en) * | 2001-07-03 | 2003-01-09 | Werner Raymond J. | Location-based information service for identifying areas with degraded radio signal strength |
US9331928B2 (en) * | 2006-10-16 | 2016-05-03 | Qualcomm Incorporated | Diagnostic agent in device that retrieves key performance indicators |
US7965680B2 (en) * | 2007-09-05 | 2011-06-21 | Motorola Mobility, Inc. | Method and system for utilizing commonality in data streams |
-
2010
- 2010-03-31 JP JP2012507914A patent/JP5299561B2/ja not_active Expired - Fee Related
- 2010-03-31 WO PCT/JP2010/002395 patent/WO2011121671A1/ja active Application Filing
-
2012
- 2012-09-14 US US13/617,984 patent/US20130009751A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007058275A (ja) * | 2005-08-22 | 2007-03-08 | Brother Ind Ltd | ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム |
JP2008288978A (ja) * | 2007-05-18 | 2008-11-27 | Hitachi Electronics Service Co Ltd | センサネットシステム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2011121671A1 (ja) | 2013-07-04 |
WO2011121671A1 (ja) | 2011-10-06 |
US20130009751A1 (en) | 2013-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5299561B2 (ja) | ファームウェア更新方法、通信ユニット、およびプログラム | |
JP5977818B2 (ja) | センサーネットワークのための基幹ネットワークを制御する装置及びその方法 | |
EP2103163B1 (en) | Adaptive antenna system for diversity and interference avoidance in a multi-station network | |
US20130279410A1 (en) | Communicating Data in a Mesh Network | |
WO2008091725A1 (en) | Path optimization for mesh access points in a wireless mesh network | |
JP4871154B2 (ja) | 無線通信ネットワークシステム、ネットワーク構築方法、センタ局、中継局、端局およびそのプログラム | |
US10440631B1 (en) | Payload type aware routing in wireless mesh networks | |
US10924343B1 (en) | Event propagation and action coordination in a mesh network | |
Nakamura et al. | A reactive role assignment for data routing in event-based wireless sensor networks | |
US11356357B2 (en) | Proactive prefix disaggregation for traffic assurance in data center routing | |
CN113133013B (zh) | 定向自组网方法、设备及系统 | |
US8391183B2 (en) | System and method for operating a large-scale wireless network | |
JP2023033553A (ja) | 経路制御方法、ノード、及び、通信システム | |
Ooi et al. | A collaborative IoT-gateway architecture for reliable and cost effective measurements | |
JP2007189301A (ja) | 通信システム及び通信方法 | |
KR100942156B1 (ko) | 무선 단말기 메쉬 네트워크에서의 통신 노드별 자동 망구성방법 및 통신 고장 감내 방법 | |
CN114845289A (zh) | 多跳组网方法、装置、设备及存储介质 | |
KR101861262B1 (ko) | 서로 다른 무선 신체 영역 네트워크(wban) 간의 임시 연결에 의해 통신을 수행하는 제1 허브, 제2 허브 및 그 통신 방법들 | |
Durresi et al. | Geometric broadcast protocol for heterogeneous sensor networks | |
US11240746B1 (en) | Selecting access point based on mesh network resource utilization metric | |
WO2014104453A1 (ko) | 지리적 정보를 이용하여 접속 노드를 선택하는 라우팅 시스템 및 접속 노드 선택 방법 | |
KR20100119402A (ko) | 다중 경로 라우팅 시스템 및 방법 | |
TWI306707B (en) | Methods for constructing multi-point-link interactive environments using based on point-to-point connections in wireless networks | |
CN101237412B (zh) | 一种分组的交付和路由选择的方法 | |
JPWO2019211907A1 (ja) | 無線経路制御方法、無線通信システム、無線ノード、及び、無線経路制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130521 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130603 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |