JPWO2016039039A1 - 通信装置、その制御方法、通信システム、およびプログラム - Google Patents

通信装置、その制御方法、通信システム、およびプログラム Download PDF

Info

Publication number
JPWO2016039039A1
JPWO2016039039A1 JP2016509812A JP2016509812A JPWO2016039039A1 JP WO2016039039 A1 JPWO2016039039 A1 JP WO2016039039A1 JP 2016509812 A JP2016509812 A JP 2016509812A JP 2016509812 A JP2016509812 A JP 2016509812A JP WO2016039039 A1 JPWO2016039039 A1 JP WO2016039039A1
Authority
JP
Japan
Prior art keywords
program
notification
receiving
communication
distribution
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.)
Pending
Application number
JP2016509812A
Other languages
English (en)
Inventor
原田 繁和
繁和 原田
利胤 西大條
利胤 西大條
貴則 菅野
貴則 菅野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
NEC Communication Systems Ltd
Original Assignee
NEC Corp
NEC Communication Systems Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp, NEC Communication Systems Ltd filed Critical NEC Corp
Publication of JPWO2016039039A1 publication Critical patent/JPWO2016039039A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • H04W84/20Master-slave selection or change arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

通信装置(100)は、マルチホップネットワークに含まれ、マルチホップネットワークにおける上位装置および下位装置と通信を行う通信部(102)と、上位装置から、プログラムの配信通知を受信する配信通知受信部(104)と、配信通知を受信した後に、上位装置からプログラムを受信するプログラム受信部(106)と、受信したプログラムを自装置にインストールするプログラム導入部(108)と、プログラムのインストール完了後に、下位装置に配信通知を送信する通知部(110)と、を備える。

Description

本発明は、通信装置、その制御方法、通信システム、およびプログラムに関し、特に、マルチホップネットワークを構成する通信装置、その制御方法、通信システム、およびプログラムに関する。
検針メータなどに接続された通信装置のファームウェアのアップデート方法の一例が特許文献1に記載されている。この特許文献1のファームウェアのアップデート方法は、保守端末がファームウェアを分割した複数の分割ブロックに識別情報を付し、保守端末と複数の通信ユニットとの間で無線リンクを確立して、分割ブロックを同報通信により各通信ユニットに送信する。通信ユニットは受信した分割ブロックの識別情報に基づいて分割ブロックの抜けを管理する。保守端末は、各通信ユニットにブロックの抜けの有無を確認し、ブロックの抜けが存在する通信ユニットに対して分割ブロックを再送する。
また、特許文献2には、同様のファームウェアのアップデート方法において、マルチホップによりパケットが送信されていることが記載されている。
特開2011−66529号公報 特開2009−206723号公報
しかしながら、上述した文献記載の技術においては、プログラムを分割した分割ブロックを、マルチホップネットワークで同報通信により順次子局に送信し、子局はさらにその配下の子局に同報通信により順次転送を繰り返し、ネットワークの末端の子局まで連鎖的に到達させていた。また、親局が、ネットワーク内の全子局について抜けブロックの存在の有無を確認して再送処理を行っていた。この再送処理時にも、ネットワークの末端の子局から抜けブロックの情報を送信する場合には、中継局を介して順次転送を繰り返し親局まで連鎖的に到達させ、親局からブロックを再送する場合も同様に中継局を介して順次転送を繰り返して末端の子局まで連鎖的に到達させていた。
そのため、中継局でブロックの抜けがあった場合に、その影響が中継局以降の子局にも波及してしまうし、抜けブロックの情報収集と再送がマルチホップネットワーク内の中継局を介した複数の子局との間で多重に行われるため、通信トラフィック量が増大するという問題点があった。
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、マルチホップネットワークにおける効率のよいプログラム配信が可能な通信装置、その制御方法、通信システム、およびプログラムを提供することにある。
本発明の各側面では、上述した課題を解決するために、それぞれ以下の構成を採用する。
第一の側面は、通信装置に関する。第一の側面に係る通信装置は、
マルチホップネットワークにおける上位装置および下位装置と通信を行う通信装置であって、
前記上位装置から、プログラムの配信通知を受信する配信通知受信手段と、
前記プログラムを自装置にインストールするプログラム導入手段と、
前記プログラムのインストール完了後に、前記下位装置に前記配信通知を送信する通知手段と、
を有する。
第二の側面は、通信装置に関する。第二の側面に係る通信装置は、
他の装置から、プログラムの配信通知を受信する配信通知受信手段と、
前記プログラムを自装置にインストールするプログラム導入手段と、
前記プログラムのインストール完了後に、前記他の装置以外の装置に対して、前記配信通知を送信する通知手段と、
を有する。
第三の側面は、少なくとも1つのコンピュータにより実行される通信装置の制御方法に関する。第三の側面に係る通信装置の制御方法は、
通信装置が、
マルチホップネットワークにおける上位装置および下位装置と通信を行い、
前記上位装置から、プログラムの配信通知を受信し、
前記プログラムを自装置にインストールし、
前記プログラムのインストール完了後に、前記下位装置に前記配信通知を送信する、
ことを含む。
第四の側面は、通信システムに関する。第四の側面に係る通信システムは、
配信起点装置と、
マルチホップネットワークにおける上位装置および下位装置と通信を行う、複数の通信装置と、を備え、
前記配信起点装置および前記複数の通信装置は、マルチホップネットワークに含まれ、
前記通信装置は、
前記上位装置から、プログラムの配信通知を受信する配信通知受信手段と、
前記配信通知を受信した後に、前記上位装置から前記プログラムを受信するプログラム受信手段と、
受信した前記プログラムを自装置にインストールするプログラム導入手段と、
前記プログラムのインストール完了後に、前記下位装置に前記配信通知を送信する通知手段と、
を有する。
なお、本発明の他の側面としては、上記第三の側面の方法を少なくとも1つのコンピュータに実行させるプログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記録媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。
このコンピュータプログラムは、コンピュータにより実行されたとき、コンピュータに、上記第一の側面の通信装置または上記第二の側面の通信装置上で、その制御方法を実施させるコンピュータプログラムコードを含む。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施するときには、その複数の手順の順番は内容的に支障のない範囲で変更することができる。
さらに、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
上記各側面によれば、マルチホップネットワークにおける効率のよいプログラム配信が可能な通信装置、その制御方法、通信システム、およびプログラムを提供することができる。
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
本発明の実施の形態に係る通信システムのシステム構成を概念的に示す図である。 本実施形態の通信装置を適用するスマートメーターの構成例を示すブロック図である。 本実施形態の通信装置を適用するゲートウェイの構成例を示すブロック図である。 本発明の実施の形態に係る通信装置の論理的な構成を示す機能ブロック図である。 本実施形態の通信装置の動作の一例を示すフローチャートである。 本発明の実施の形態に係る通信装置の論理的な構成を示す機能ブロック図である。 本実施形態の通信装置の動作の一例を示すフローチャートである。 本発明の実施の形態に係る通信装置の論理的な構成を示す機能ブロック図である。 本実施形態の通信装置の動作の一例を示すフローチャートである。 本発明の実施の形態に係る通信装置の論理的な構成を示す機能ブロック図である。 本実施形態の通信装置の動作の一例を示すフローチャートである。 本発明の他の実施形態に係る通信装置の論理的な構成を示す機能ブロック図である。 本発明の他の実施形態に係る通信装置の動作の一例を示すフローチャートである。 本発明の実施の形態に係る通信装置の論理的な構成を示す機能ブロック図である。 本発明の実施例1の通信システムの動作フローを示す図である。 本発明の比較例1の通信システムの動作フローを示す図である。 本発明の比較例1の通信システムの動作フローを示す図である。 本発明の実施例2の通信システムの動作フローを示す図である。 本発明の実施の形態に係る通信装置の論理的な構成を示す機能ブロック図である。 本実施形態の通信装置の動作の一例を示すフローチャートである。 本発明の実施の形態に係る通信装置の論理的な構成を示す機能ブロック図である。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
(第1の実施の形態)
本発明の第1の実施の形態に係る通信装置、その制御方法およびプログラムについて、以下説明する。
まず、本発明の通信装置を含む通信システムについて説明する。
図1は、本発明の実施の形態に係る通信システム1のシステム構成を概念的に示す図である。
本発明において、通信システム1は、サーバ10(図中「SVn」と示す。)とネットワーク12を介して接続されるゲートウェイ14(図中「GWn」と示す。)と、複数のノード16(図中、A1〜An、B11〜Bnn、C111〜C2n1と示す。)とを含む。ゲートウェイ14はサーバ10と複数のノード16の通信を中継する。ゲートウェイ14と複数のノード16は、マルチホップネットワークを構成する。すなわち、ゲートウェイ14は、本発明のマルチホップネットワークの配信起点装置となる。なお、図1において、nは同じ数を示しているのでなく、自然数を取り得ることを示す。
図1において、サーバ10とゲートウェイ14は、1台ずつ示されているが、複数台でもよい。また、ノード16の台数も図1の台数に限定されない。
ネットワーク12は、特に限定されず、公衆回線網、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット等、様々な形態の通信網を含む。また、ネットワーク12は、無線、有線、およびそれらの組み合わせのいずれの通信形態であってもよい。図1で破線は、ゲートウェイ14とノード16の間、およびノード16同士の間の通信経路を模式的に示している。これらの装置間の通信方式は、無線、有線、およびそれらの組み合わせのいずれの形態であってもよいが、本明細書では、ゲートウェイ14とノード16との間、および、ノード16同士の間は、無線通信として説明する。
本実施形態において、各ノード16は、コンピュータによりプログラムを実行することにより、複数台がマルチホップネットワークを形成して互いに通信する通信機能と、さらに何らかの機能を実現する装置である。通信機能以外に装置が実現する機能は特に限定されない。
本発明は、ノードの機能を実現するためのプログラムを、マルチホップネットワークで各ノードに配信し、各ノードにインストールさせる、通信装置、その制御方法、およびプログラムを提供する。本発明におけるプログラムは、ファームウェア、OS(Operating System)プログラム、OS上で動作する各種アプリケーションプログラム等、各ノードにインストールされているプログラムであり、プログラムの種類や内容は制限されない。また、サーバ10と各ノード16の間に介在するゲートウェイ14の機能の一部も、本発明の通信装置、その制御方法、およびプログラムにより実現することができる。本発明の通信装置は、ノードに含まれる通信モジュールや、1つのチップとして実現されてもよく、さらに、他の装置に装着するような形態で実現されてもよい。
本明細書では、スマートメーターに本発明の通信装置を適用する例を説明する。本発明の通信装置の適用例はスマートメーターに限定されない。本発明は、マルチホップネットワークを構成し得る通信機能、および、通信を介して受信されたプログラムで自装置にインストールされているプログラムを自動で更新する機能を有していれば、どのような装置にも適用可能である。また、本明細書では、スマートメーターは、電力量を検針する機能を有しているが、ガス使用量、水道使用量等を検針する機能を有してもよい。
本実施形態のスマートメーターは、消費電力量を検針してサーバ10に定期的に送信する機能を有する。サーバ10への消費電力量に関する情報の送信方法は様々な方式のものが検討されているが、特に、都市部の住宅密集地帯などでは、無線マルチホップ方式による通信が適しているとされている。
無線マルチホップ方式の通信では、複数のスマートメーターを経由しながらデータを目的の宛先まで転送する。各スマートメーターの情報は、バケツリレー方式で複数のスマートメーターを経由しながら、コンセントレータに集約されてセンタ側のサーバに転送される。また、サーバからの情報や指示は、コンセントレータから複数のスマートメーターを経由して、ルートを拡散させながら、マルチホップネットワーク内の複数のスマートメーターに転送される。
図1のようなマルチホップネットワークにおいて、スマートメーターは各ノード16に相当し、コンセントレータはゲートウェイ14に相当する。
複数のノード16は、ゲートウェイ14を起点とするツリー構造のマルチホップネットワークで互いに通信し、最上位のノードA1〜Anがゲートウェイ14と通信する。マルチホップネットワークのツリー構造は、固定的に決められていてもよいし、周知のルーティングプロトコルにより動的に形成されてもよい。各ノード16は、上記ツリー構造上での自ノードの上位ノードおよび下位ノードを区別してそれぞれ認識し、上位ノードおよび下位ノードと無線チャネルをそれぞれ確立する。これにより、たとえば、最上位のノードA1と、次の下位階層のノードB11〜B1nとが通信し、さらに、たとえば、ノードB11は、次の下位階層のノードC111〜C11nと通信する。
各ノード16は、マルチホップネットワークの周知のプロトコルで規定されているように、上位ノードからブロードキャストメッセージを受信した場合には、下位ノードにブロードキャストメッセージを転送する。これにより、ゲートウェイ14から送信されたブロードキャストメッセージは、マルチホップネットワークを形成する各ノード16にそれぞれ届けられる。一方、各ノード16は、上位ノードまたは下位ノードから他ノード宛のユニキャストメッセージを受信した場合には、そのメッセージの宛先に基づいて、上位ノードまたは下位ノードにユニキャストメッセージを転送する。
図2は、通信装置100を適用するスマートメーター50の構成例を示すブロック図である。
スマートメーター50は、CPU(Central Processing Unit)42と、ROM(Read Only Memory)44と、RAM(Random Access Memory)46と、I/O(Input/Output)48とを含むコンピュータ40により実現される。
コンピュータ40は、CPU42、メモリ(RAM46)、メモリにロードされた、スマートメーター50の機能を実現するプログラム60、そのプログラム60を格納するストレージ(ROM44)、および、データおよび制御信号を入出力するI/O48を備える。
ROM44、RAM46、およびI/O48は、バス49を介して互いに接続され、CPU42により各要素とともにコンピュータ40全体が制御される。なお、本図のROM44およびRAM46は、フラッシュメモリやディスクドライブなどの不揮発性メモリ、プログラム60が動作するための設定データや一時保存データ、ユーザデータなどを記憶するための機能を有する他のメモリやストレージデバイスであってもよい。また、本発明において、ROM44は書き換え可能な不揮発性メモリとし、ROM44に記憶されたプログラム60は、センタ側のサーバから更新できる。
スマートメーター50は、たとえば、負荷装置20の消費電力量を検針する電力量計52と、920MHz帯を使用する特定小電力無線方式で通信する第1通信部54と、3G(3rd Generation)やLTE(Long Term Evolution)等の携帯電話通信方式を利用した携帯電話通信網30に基地局(不図示)を介して接続して通信する第2通信部56と、を備える。スマートメーター50は、電力量計52で検針された消費電力量の情報を第1通信部54(920MHz)により他のスマートメーター50を介してサーバ10に30分毎に送信する機能を有する。
さらに、マルチホップネットワークにおけるスマートメーター50は、電力計52で検針された消費電力量の情報を第1通信部54(920MHz)により他のスマートメーター50とコンセントレータを介して、サーバ10に30分毎に送信する機能を有する。
なお、図2において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
コンピュータ40のCPU42が、ROM44に記憶されるプログラム60をRAM46に読み出して実行することにより、スマートメーター50の上記各ユニットの各機能を実現することができる。なお、本発明では、スマートメーター50の機能自体は特に限定されず、上記機能は一例に過ぎない。
また、本実施形態の通信装置100は、スマートメーター50のマルチホップネットワークの起点となるコンセントレータにも、その親ノードとしての機能の一部を適用できる。コンセントレータは、たとえば、配下のスマートメーター50の検針データを収集し、サーバ10に送信する機能、およびサーバ10からスマートメーター50への指示等を配信する機能等を有する。本発明では、コンセントレータの機能自体は特に限定されない。コンセントレータは、少なくともゲートウェイ14としての機能を有し、特に、配下のスマートメーター50に、スマートメーター50のプログラム60を配信する機能を有する。
図3は、ゲートウェイ14の構成例を示すブロック図である。本実施形態のゲートウェイ14は、図2のスマートメーター50と同様な、コンピュータ40と、第1通信部54とを備え、さらに、第2通信部58を備える。
第2通信部58は、LAN(Local Area Network)またはWAN(Wide Area Network)に有線または無線で接続し、通信する機能を有する。ゲートウェイ14は、第2通信部58により、ネットワーク12に接続し、サーバ10と通信できる。あるいは、第2通信部58は、図2の第2通信部56と同様に3GやLTE等の携帯電話通信方式を利用した携帯電話通信網に基地局を介して接続して、携帯電話通信網を経由してネットワーク12に接続し、サーバ10と通信してもよい。
ゲートウェイ14のコンピュータ40のCPU42は、ROM44に記憶される、ゲートウェイ14の機能を実現するプログラム62をRAM46に読み出して実行することにより、ゲートウェイ14の各機能を実現することができる。
次に、本実施形態の通信装置100の構成について説明する。
図4は、本発明の実施の形態に係る通信装置100の論理的な構成を示す機能ブロック図である。
通信装置100は、マルチホップネットワークに含まれる。
上位装置から、プログラム60の配信通知80を受信する配信通知受信部104と、配信通知80を受信した後に、上位装置からプログラム60を受信するプログラム受信部106と、プログラム60を自装置(通信装置100)にインストールするプログラム導入部108と、プログラム60のインストール完了後に、下位装置に配信通知80を送信する通知部110と、を備える。
また、図1では、通信装置100は、マルチホップネットワークにおける上位装置および下位装置と通信を行う通信部102をさらに備えている。本発明の通信装置は、図1の通信部102を含む構成に限定されず、通信部102の機能を有する他の装置の通信機能を利用する形態であってもよい。
ここで、通信装置100が図1のノードA1である場合、上位装置とはゲートウェイ14であり、下位装置とはノードB11〜ノードB1nである。通信装置100が図1のノードB11である場合、上位装置とは、ノードA1であり、下位ノードとはノードC111〜C11nである。本明細書では、上位装置のことを、上位ノードまたは親ノードとも呼ぶ。また、下位装置のことを、下位ノードまたは子ノードとも呼ぶ。
図4の本実施形態の通信装置100の各構成要素は、図2または図3のコンピュータ40のハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下説明する各実施形態の通信装置を示す機能ブロック図は、ハードウェア単位の構成ではなく、論理的な機能単位のブロックを示している。
また、本実施形態では、図2に示すように、スマートメーター50本来の機能を実現するプログラム60に加え、さらに、図4の本発明の通信装置100の各ユニットの各機能を実現するプログラム70が、ROM44に記憶される。コンピュータ40のCPU42が、ROM44に記憶されるプログラム70をRAM46に読み出して実行することにより、図4の本発明の通信装置100の各ユニットの各機能を実現することができる。なお、プログラム60とプログラム70は、1つのプログラムであってもよい。
また、本実施形態では、図3に示すように、ゲートウェイ14が有するコンピュータ40のCPU42が、ROM44に記憶されるプログラム72をRAM46に読み出して実行することにより、図4の本発明の通信装置100の各ユニットの各機能の一部を実現することができる。なお、プログラム62とプログラム72は1つのプログラムであってもよい。
図4の通信装置100の各構成要素について、以下詳細に説明する。
通信部102は、図1に示すようなマルチホップネットワークにおける、上位ノードおよび下位ノードと通信を確立する。本実施形態では、ノード間のルート検索により、各ノードは宛先情報等を取得済みとする。通信部102は、この宛先情報に従い、他のノードと通信する。通信装置100がゲートウェイ14の場合は、通信部102が通信を確立する上位ノードは、サーバ10である。ゲートウェイ14の場合には、サーバ10とゲートウェイ14間の通信は、マルチホップネットワークでなく、たとえば第2通信部56により、3GやLTE等の携帯電話通信方式を利用した携帯電話通信網に基地局を介して接続して通信する。また、サーバ10とゲートウェイ14間は、無線または有線でLAN、またはWAN等のネットワークに接続して通信が行われてもよい。ゲートウェイ14と下位ノードのスマートメーター50、および、スマートメーター50間は、第1通信部54により、920MHzを使用する特定小電力無線方式で通信してマルチホップネットワークを確立する。
配信通知受信部104は、通信部102により確立されている通信ルートに従い、上位ノードから、プログラム60の配信通知80を受信する。配信通知80は、サーバ10からプログラム60が配信される前に、事前に配信される。配信通知80配信の大元は、サーバ10またはゲートウェイ14のいずれでもよく、特に限定されない。通信装置100がゲートウェイ14の場合、配信通知受信部104は、サーバ10から配信通知80を受信してもよい。あるいは、通信装置100がゲートウェイ14の場合には、配信通知受信部104による配信通知80の受信は省略して、プログラム受信部106が任意のタイミングでサーバ10からプログラム60を受信してもよい。
サーバ10から配信されるプログラムは、スマートメーター50の機能を実現するプログラム60の一部または全部である。たとえば、当該プログラムは、スマートメーター50のファームウェアである。本発明の通信装置100は、サーバ10から配信されるプログラム60の一部または全部を、各スマートメーター50のコンピュータ40にインストールする機能を有する。
サーバ10から配信されるプログラムは、本発明のプログラム70を含んでもよいが、その場合には、プログラムのインストールの前後で、本発明の通信装置の機能が適切に動作するような工夫が必要となる。この工夫自体は、本発明の本質には関わらないので詳細な説明は省略する。以下、サーバ10から配信されるプログラムは、「プログラム60」と呼ぶ。
プログラム受信部106は、配信通知80を受信した後に、上位ノード(ゲートウェイ14の場合はサーバ10)からプログラム60を受信する。受信したプログラム60は、図2のRAM46またはストレージ(不図示)に一時的に格納される。
プログラム導入部108は、プログラム受信部106が受信したプログラム60を自装置(通信装置100)にインストールする。ここで、プログラム60は、通信装置100のファームウェアの一部または全部である。更新プログラムであってもよいし、新規のプログラムであってもよい。ここで、「更新」とは、プログラム60の新しいバージョンへのアップグレードだけではなく、以前のバージョンに戻すダウングレードも含む。プログラム導入部108は、図2のRAM46またはストレージに一時的に格納されたプログラム60を、ROM44に書き込む。そして、新しいプログラム60が書き込まれた後、通信装置100が必要に応じて再起動され、RAM46にロードされ、CPU42が実行可能な形式で展開され、CPU42により実行されて、プログラム60のインストールが完了する。
通知部110は、プログラム60のインストール完了後に、下位ノードに配信通知80を送信する。なお、通信装置100がゲートウェイ14であって、プログラム60が自身の対象のプログラムを含まない場合には、プログラム導入部108は動作せず、通知部110が下位ノードに配信通知80を送信する。
配信通知受信部104、プログラム受信部106、およびプログラム導入部108は、子ノードとしての機能を実現する構成であり、通知部110は、親ノードとしての機能を実現する構成である。通信部102は、子ノードおよび親ノードに共通の機能を実現する構成である。このように、通信装置100は、子ノードとしての機能と、親ノードとしての機能の両方を備えることができる。本実施形態のマルチホップネットワークにおいて、子ノードは、プログラムを受信してインストールすると、次は親ノードとなって次の階層(ホップ)の子ノードにプログラムを配信する。
なお、マルチホップネットワークの構成上(たとえば、最上位または最下位の階層のノード等)、親ノードと子ノードのどちらか一方にしかなり得ない通信装置は、その一方の機能のみを備えてもよい。
また、本実施形態において、配信通知受信部104は、上位ノードから受信したブロードキャストメッセージが配信通知80か否かを判定する。
配信通知80である場合に、通知部110は、配信通知80をブロードキャスト転送する。
本実施形態では、上位ノードから下位ノードに配信通知80がブロードキャスト送信されるが、配信通知80を受信した下位ノードは、受信した配信通知80を、さらなる下位のノードに対し、直ぐには送信しない。つまり、通信装置100は、ブロードキャスト処理を一時的に中断する。通信装置100は、プログラム60を受信した後に、自装置(通信装置100)におけるプログラム60のインストールを行い、インストール処理が完了するまで待った後、配信通知80をさらに下位のノードに対しブロードキャスト送信する。
プログラム受信部106は、ブロードキャスト送信された配信通知80を受信した後、ブロードキャストの発信元である上位ノード宛てに、プログラムの配信要求をユニキャストで送信してもよい。ブロードキャストの発信元である上位ノードは、自身の配下にある複数のノードから、配信要求を受信することになる。発信元の上位ノードは、少なくとも1つのノードから配信要求を受信したら、プログラム60の配信を開始してよく、全ての下位ノードからの配信要求を受信するまで待つ必要はない。この理由は、発信元の上位ノードの配下にある下位ノードは、動的に変更になる場合があり、その場合には「全て」の下位ノードを特定できないためでもある。後で詳細に説明するように、プログラム60を受信できなかった下位ノードは、後で再送要求を行えばよい。
なお、上記構成は、通信装置100をゲートウェイ14に適用した場合、以下の点でスマートメーター50に適用した場合と異なる。
ゲートウェイ14の上位装置は、サーバ10となり、マルチホップネットワークではなく、ネットワーク12を介してサーバ10と通信する。ゲートウェイ14は、通信装置100のプログラム導入部108を含まなくてよい。ただし、更新対象となるプログラムが、ゲートウェイ14の通信機能にも適用される場合には、プログラム導入部108によりプログラムをインストールし、完了した後、配信通知を送信してもよい。
配信通知受信部104は、サーバ10から配信通知を受信する。プログラム受信部106は、サーバ10にアクセスし、スマートメーター50のプログラム60をダウンロードする。通知部110は、プログラム受信部106がサーバ10からスマートメーター50のプログラム60を受信した後に、下位ノード(図1のノードA1〜An)に配信通知を送信する。
次に、本発明の通信装置100を実現するプログラム70またはプログラム72について、以下説明する。
本実施形態のプログラム70またはプログラム72は、通信装置100を実現するコンピュータ40により実行されることにより、通信装置100の各ユニットの各機能を実現する。
本実施形態のコンピュータプログラム70は、通信装置100(スマートメータ50)を実現させるためのコンピュータ40に、マルチホップネットワークにおける上位装置(ゲートウェイ14または上位のスマートメーター50)および下位装置(下位のスマートメータ50)と通信を行う手順、上位装置から、プログラム60の配信通知80を受信する手順、配信通知80を受信した後に、上位装置からプログラム60を受信する手順、受信したプログラム60を自装置(通信装置100(コンピュータ40))にインストールする手順、プログラム60のインストール完了後に、下位装置に配信通知80を送信する手順、を実行させるように記述されている。
また、本実施形態のコンピュータプログラム72は、通信装置100(ゲートウェイ14)を実現させるためのコンピュータ40に、マルチホップネットワークにおける下位装置(下位のスマートメータ50)と通信を行う手順、サーバ10から、プログラム60の配信通知80を受信する手順、配信通知80を受信した後に、サーバ10からプログラム60を受信する手順、プログラム60を受信した後に、下位装置に配信通知80を送信する手順、を実行させるように記述されている。
本実施形態のコンピュータプログラム70またはプログラム72は、コンピュータ40で読み取り可能な記録媒体に記録されてもよい。記録媒体は特に限定されず、様々な形態のものが考えられる。また、プログラム70またはプログラム72は、記録媒体からコンピュータ40のメモリにロードされてもよいし、ネットワークを通じてコンピュータ40にダウンロードされ、メモリにロードされてもよい。
コンピュータプログラム70またはプログラム72を記録する記録媒体は、非一時的な有形のコンピュータ40が使用可能な媒体を含み、その媒体に、コンピュータ40が読み取り可能なプログラムコードが埋め込まれる。コンピュータプログラム70またはプログラム72が、コンピュータ40上で実行されたとき、コンピュータ40に、通信装置100を実現する以下の制御方法を実行させる。
次に、本実施形態の通信装置100の制御方法について、以下説明する。
図5は、本実施形態の通信装置100の動作の一例を示すフローチャートである。
本発明の実施の形態に係る制御方法は、通信装置100の制御方法であり、通信装置100を実現するコンピュータ40により実行される制御方法である。
本実施形態の制御方法は、通信装置100が、マルチホップネットワークにおける上位装置および下位装置と通信を行い(ステップS101)、上位装置から、プログラムの配信通知を受信し(ステップS103)、配信通知を受信した後に(ステップS103のYES)、上位装置からプログラムを受信し(ステップS105)、受信したプログラムを自装置にインストールし(ステップS107)、プログラムのインストール完了後に(ステップS109のYES)、下位装置に配信通知を送信する(ステップS111)。
たとえば、本実施形態では、配信通知80は、ブロードキャストメッセージに含まれる。この例では、上記ステップS103において、配信通知受信部104が、上位装置から受信したブロードキャストメッセージが配信通知80か否かを判定する。配信通知80である場合に(ステップS103のYES)、ステップS107でプログラム導入部108がプログラムを自装置にインストールする。そして、プログラムのインストールの完了後に(ステップS109のYES)、ステップS111で通知部110が下位装置に配信通知80を転送する。
本実施形態の通信装置100において、通信部102がマルチホップネットワークにおける上位装置と下位装置と通信を確立している状況で、通信装置100は、通常の動作、たとえば、スマートメーター50であれば、検針データをサーバ10に定期的に送信する処理を行っている。このような状況下で、サーバ10からスマートメーター50のプログラム60がゲートウェイ14に送信されると、ゲートウェイ14は受信したプログラム60をRAM46またはストレージ(不図示)に記憶する。
ゲートウェイ14は、サーバ10から受信したスマートメーター50のプログラム60を、マルチホップネットワークを介して各ノード16に配信する処理を開始する。
具体的には、ゲートウェイ14は、まず、下位ノードにプログラム60の配信通知80を送信する。そして、この配信通知80を、各ノードの配信通知受信部104が受信する。各ノードにおいて、プログラム受信部106が、配信通知80を受信した後に、上位装置(ここでは、ゲートウェイ14)からプログラム60を受信し、RAM46またはストレージ(不図示)に一時的に記憶する。このとき、通知部110は、配信通知80を下位装置に直ぐには送信しない。プログラム導入部108が、受信したプログラム60を自装置(通信装置100)にインストールし、通知部110がプログラム60のインストールが完了した後に、さらに下位階層の複数のノードに配信通知80を送信する。
すると、下位階層の各ノードの配信通知受信部104が、この配信通知80を受信し、以後、同様にプログラム60の受信とインストールを行い、さらに下位の階層の複数のノードへ配信通知80を送信する。このようにして、プログラム60がゲートウェイ14からマルチホップネットワークで順次下位階層のノードへと拡散されながら転送されていく。
以上説明したように、本実施形態の通信装置100によれば、マルチホップネットワークで、プログラム60を上位ノードから下位ノードに転送する際に、ゲートウェイ14(またはサーバ10)が下位ノード全ての管理をするのではなく、直近の親子関係にあるノード間でデータ配信を完了させて、次の下位階層に順次転送を繰り返していくことができる。これにより、本実施形態の通信装置100は、マルチホップネットワーク内の複数階層のノードを跨ぐような不要なトラフィックの発生を抑制できるとともに、上位側の管理負荷を軽減でき、効率のよいプログラム配信が可能になる。また、本実施形態の通信装置100は、プログラムの配信処理を階層毎に自律的に管理できる。
また、通信装置100では、上位ノードからブロードキャストメッセージを受信したとき、配信通知80か否かを判定し、配信通知80の場合には、直ぐにはブロードキャストメッセージを転送せず、プログラム60のインストールの完了後まで待ってから転送する。これにより、ブロードキャストメッセージによる簡易な配信手法での通知を可能にしつつ、直近の親子関係にあるノード間で、プログラムの配信処理を完結させることができるので、マルチホップネットワーク内の複数階層のノードを跨ぐような不要なトラフィックの発生を抑制できるとともに、上位側の管理負荷を軽減でき、効率のよいプログラム配信が可能になる。また、本実施形態の通信装置100は、プログラムの配信処理を階層毎に自律的に管理できる。
(第1の実施の形態の変形態様1)
第1の実施の形態の変形態様1の通信装置について以下説明する。
図6は、本発明の実施の形態に係る通信装置の論理的な構成を示す機能ブロック図である。
図6は、通信装置の要部構成のみ示してある。図6では、通信装置が子ノード120として機能する場合の構成例と、親ノード130として機能する場合の構成例を区別してそれぞれ示している。通信装置は、子ノード120と親ノード130の両方になり得るので、両方の機能を実現する構成要素を全て備えることができる。ここでは、説明上、各ノードが必要な構成のみ示してある。
本発明の通信装置は、プログラムを配信する親ノード130としての機能と、プログラムを受信してインストールする子ノード120としての機能の少なくともいずれか一方の機能を備えることができる。本実施形態のマルチホップネットワークにおいて、子ノード120は、プログラムを受信してインストールすると、次は親ノード130となって次の階層(ホップ)の子ノード120にプログラムを配信する。
なお、マルチホップネットワークの構成上(たとえば、最上位または最下位の階層のノード等)、親ノードと子ノードのどちらか一方にしかなり得ない通信装置は、その一方の機能のみを備えてもよい。
親ノードおよび子ノードの各機能は、プログラムにより実現でき、各機能を実現するプログラムを選択的に実行することで、対応する機能を実現することができる。これらの手法は、本発明の本質には関わらず、当業者にとって自明であるので、詳細な説明は省略する。
本実施形態の通信装置は、図4の上記実施形態の通信装置100とは、子ノード120が自身の都合のよいタイミングでプログラムを受信できるように配信要求を親ノード130に送信する点で相違する。
本実施形態の通信装置は、子ノード120の場合、図4の上記実施形態の通信装置100と同様な構成を備えるとともに、さらに、配信要求部122を備える。親ノード130の場合、通信装置は、図4の上記実施形態の通信装置100と同様な構成を備えるとともに、さらに、配信要求受信部132と、プログラム送信部134と、を備える。
通信装置(子ノード120)において、配信要求部122は、配信通信受信部104により配信通知80が受信されると、自装置の動作状況または動作スケジュールに基づいて決定した受信タイミングで、プログラムの配信要求82を上位装置(親ノード130)に送信する。
配信要求部122は、通信装置自身の動作状況や、動作スケジュールに基づいて、プログラム60の受信処理を行うのに適した都合のよいタイミングを受信タイミングとして決定できる。配信要求部122は、自装置の動作負荷に基づいて、たとえば、通信装置本来の動作処理の負荷が高い時間は避けて、比較的負荷が低い時間を選んで、受信タイミングを決定してもよい。また、スマートメーター50であれば、配信要求部122は、検針データの送信処理時以外に受信タイミングを決定してもよい。
通信装置(親ノード130)において、配信要求受信部132は、複数の下位装置(子ノード120)の中のいずれか1つからプログラム60の配信要求82を受信する。プログラム送信部134は、配信要求受信部132により、複数の下位装置(子ノード120)の中のいずれか1つから配信要求82が得られた後に、プログラム60を下位装置(子ノード120)にブロードキャスト送信する。
配信通知80を受信した子ノード120は、配信要求部122により、自身の動作スケジュール等に応じて、都合のよい受信タイミングを決定し、プログラム60の配信要求82を親ノード130に送信する。親ノード130は、配信通知80を子ノード120に送信した後、子ノード120からの配信要求82を受信するまで、プログラム60の送信を待機する。そして、親ノード130は、配信要求受信部132により、子ノード120の中のいずれか1つからプログラム60の配信要求82を受信した後に、プログラム送信部134により、プログラム60を子ノード120にブロードキャスト送信するとよい。
発信元の上位ノードは、少なくとも1つのノードから配信要求を受信したら、プログラム60の配信を開始してよく、全ての下位ノードからの配信要求を受信するまで待つ必要はない。この理由は、発信元の上位ノードの配下にある下位ノードは、動的に変更になる場合があり、その場合には「全て」の下位ノードを特定できないためでもある。後で詳細に説明するように、プログラム60を受信できなかった下位ノードは、後で再送要求を行えばよい。
この構成によれば、親ノード130から配信通知80を受信した後、配信要求部122により、子ノード120の動作スケジュールなどに応じて、子ノード120自身の都合のよいタイミングで、親ノード130にプログラム60の配信要求82を送信でき、結果として、自身の都合のよいタイミングでプログラム60を受信できる。
また、親ノード130は、配信要求受信部132が子ノード120の中のいずれか1つから配信要求82を受信した後、プログラム送信部134が配下の複数の子ノード120にプログラム60をブロードキャスト送信する。これにより、配下の子ノード120は、ブロードキャスト送信されたプログラム60を受信できる。なお、子ノード120において、受信タイミングが合わず、送信されたプログラム60を受信できなかった場合には、後述するように、後で親ノード130に再送要求を行うことで、受信できなかったプログラム60を受信できる。
本実施形態において、プログラム60を子ノード120に配信する際、そのまま送信するのではなく、複数のブロックに分割して送信するのが好ましい。以下、複数のブロックに分割したプログラム60を送信する構成について説明する。この構成において、図6の子ノード120は、プログラム受信部106に替えて、プログラム受信部124を有する。
本実施形態の親ノード130において、プログラム送信部134は、配信要求82を受信すると、複数のブロックに分割したプログラム60を下位装置(子ノード120)にブロードキャスト送信する。
ここで、ブロックは、所謂パケットに相当する。
さらに、子ノード120において、プログラム受信部124は、親ノード130からブロードキャスト送信された各ブロックを順次受信する。
図7は、本実施形態の通信装置の動作の一例を示すフローチャートである。
図7では、通信装置130の構成を有する親ノードA1と、親ノードA1からプログラムを受信する、通信装置120の構成を有する子ノードB11、B12、...、B1nの動作を示す。ここで、nは自然数である。
このフローは、上記実施形態の図5のフローチャートのステップS103の配信通知の受信から開始する、ステップS105のプログラム受信処理の手順の詳細を示している。各子ノードは、既に図5のステップS101の通信の確立は終了している状態であるとする。また、親ノードA1では、図5のフローチャートのステップS107におけるプログラムのインストールが完了し(図5のステップS109のYES)、通知部110が配信通知80をブロードキャスト送信するところ(ステップS111)から、本フローは示してある。
図5のステップS103と同様に、親ノードA1の配下にある複数の子ノードB11、B12、...、B1nがブロードキャスト送信された配信通知80をそれぞれ受信すると(ステップS103のYES)、子ノードは、配信要求部122により自身の動作スケジュールに応じて、都合のよいタイミングでプログラム60の配信要求82を親ノードA1にユニキャスト送信する(ステップS123)。
図7では、子ノードB11の配信要求82が最も早く親ノードA1に到達している。その後、親ノードA1に発信された他の子ノードB12、...、B1nの配信要求82は、親ノードA1が受信し、配信要求82を受信した子ノードの情報を記録しておいてもよい。しかし、配信要求82が不要な構成においては、破棄してもよい。
親ノードA1において、配信要求受信部132により、複数の下位装置(子ノードB11、B12、...、B1n)の中のいずれか1つから配信要求82が得られた後に(ステップS125のYES)、プログラム送信部134が、プログラム60を分割した複数のブロック(ここでは、M個のブロック)を下位装置(子ノードB11、B12、...、B1n)にブロードキャスト送信する(ステップS131〜ステップS137)。Mは2以上の整数とする。ここでは、たとえば、M=100とする。
ここで、複数の子ノード120の中のいずれか1つから配信要求82が得られた時に、プログラム60の配信が開始されるので、配信要求82を送信する前に、ブロードキャスト送信されたプログラムを受信する子ノード120も存在することになる。この場合、プログラムを受信できる状態になっていれば、子ノード120は、そのままブロードキャスト送信されたプログラムを受信できる。
詳細には、まず、プログラム送信部134は、ブロック番号iに1をセットし(ステップS131)、ブロック送信開始を準備する。ここで、iは自然数である。そして、プログラム送信部134は、ブロック番号1のブロック(1)を子ノードB11、B12、...、B1nにブロードキャスト送信する(ステップS133)。子ノードB11、B12、...、B1nは、プログラム受信部124によりそれぞれブロック(1)を受信する(ステップS141)。そして、プログラム送信部134は、ブロック番号iをインクリメントする(ステップS135)。
ブロック番号i=2となり、i>Mではないので(ステップS137のNO)、ステップS133に戻り、次のブロック(2)を子ノードB11、B12、...、B1nにブロードキャスト送信する。ここで、ブロック(i)とブロック(i+1)の間の送信間隔は、少なくとも、子ノード側でブロック(i)の受信処理を行う時間分(t秒)空けるのが好ましい。子ノードB11、B12、...、B1nは、それぞれブロック(2)を受信する(ステップS141)。以降、プログラム60のブロックを順次ブロードキャスト送信し、i>Mとなった時(ステップS137のYES)、全てのブロックの送信が完了したことになるので、プログラムの送信処理を終了する。
このようにして、子ノードB11、B12、...、B1nはプログラム受信部124によりプログラム60の全てのブロックを受信した後、本処理を終了する。
その後、各子ノードは、図5のステップS107以降の処理に進む。各子ノードは、プログラム導入部108により、それぞれプログラム60のインストールを行う(図5のステップS107)。そして、プログラム60のインストールが完了したら(ステップS109のYES)、通知部110により、さらに下位のノード(たとえば、図1のノードC111〜C11n)に配信通知80をブロードキャスト送信して通知する(ステップS111)。
このように、本実施形態の構成によれば、子ノードからプログラムの配信要求82を受けた後に、プログラム60を複数のブロックに分割して送信するので、子ノードの受信体勢が整った後に順次ブロックを受信させることができる。また、ブロードキャスト送信された配信通知80に呼応した子ノードの配信要求82を、1つでも受信すればプログラムの配信を開始するので、たとえ自身が配信要求82を送信する前であっても他ノードが送信した配信要求82によりプログラムの配信が始まれば、ブロードキャスト送信されたプログラムを受信できるので、配信要求82を全ての子ノードが送信する必要がなく、通信負荷をより低減できる。
また、プログラム送信部134は、プログラム60をそのまま送信するのではなく、サイズの小さいブロックに分けて送信するので、サイズが大きいプログラム60の送信により、通信経路が占有されてしまうのを防ぐことができる。また、後述するように、ブロック単位で送受信すれば、通信障害などによりパケットロスが発生した場合にも、プログラム60全体を再送するのではなく、不足するパケット(ブロック)のみ再送すればよいので、効率がよい。また、ブロックの送信は、各ノード(スマートメータ50)が検針データをサーバ10に送信する等の通常の処理の合間に細切れに行うことができ、各ノードの通常の処理を停滞させることもない。
(第1の実施の形態の変形態様2)
第1の実施の形態の変形態様2の通信装置について以下説明する。
図8は、本発明の実施の形態に係る通信装置の論理的な構成を示す機能ブロック図である。
図8は、通信装置の要部構成のみ示してある。図8では、通信装置が子ノード150として機能する場合の構成例と、親ノード170として機能する場合の構成例を区別してそれぞれ示している。本発明の通信装置は、子ノードと親ノードの両方になり得るので、たとえば、図14に示すように、通信装置180として、両方の機能(親ノード182および子ノード184)を実現する構成要素を全て備えてもよい。図8では、説明上、各ノードが必要な構成のみ示してある。
本発明の通信装置は、プログラムを配信する親ノード170としての機能と、プログラムを受信してインストールする子ノード150としての機能の両方を備えることができる。本実施形態のマルチホップネットワークにおいて、子ノード150は、プログラムを受信してインストールすると、次は親ノード170となって次の階層(ホップ)の子ノード150にプログラムを配信する。
マルチホップネットワークの構成上(たとえば、最上位または最下位の階層のノード等)、親ノードと子ノードのどちらか一方にしかなり得ない通信装置は、その一方の機能のみを備えてもよい。
親ノードおよび子ノードの各機能は、プログラムにより実現でき、各機能を実現するプログラムを選択的に実行することで、対応する機能を実現することができる。これらの手法は、本発明の本質には関わらず、当業者にとって自明であるので、詳細な説明は省略する。
本実施形態の通信装置は、図6の通信装置とは、さらに、子ノード150が、受信した複数のブロックが、プログラム60全体に対応する不足がないかを検出し、不足ブロックを親ノード170に再送させる点で相違する。
本実施形態において、通信装置の子ノード150は、図4の通信装置100の通信部102と、配信通知受信部104と、プログラム導入部108と、通知部110(いずれも図8には図示しない)を備えるとともに、さらに、プログラム受信部124と、不足判定部154と、配信要求部156と、を備える。さらに、通信装置の親ノード170は、図4の通信装置100の構成要素(図8には図示しない)と、図6の通信装置130のプログラム送信部134と、を備えるとともに、さらに、配信要求受信部172を備える。さらに、親ノード170は、後述する完了判定部174を備えてもよい。
図8に戻り、通信装置(子ノード150)において、プログラム受信部124は、プログラムを分割したブロードキャスト送信された複数のブロックを受信する。
不足判定部154は、複数ブロックに分割されたプログラム60を受信すると、複数のブロックがプログラム全体に対する不足が無いかを判定する。
配信要求部156は、不足ブロックがあると判定された場合、不足ブロックの指定を含む配信要求83を上位装置(親ノード170)に送信する。
なお、不足ブロックの受信タイミングは、上記実施形態の配信要求部122と同様に、自装置の動作状況または動作スケジュールに基づいて決定することができる。
ブロックの不足の判定方法は様々考えられるが、本実施形態では、以下に例示される方法で判定する。
たとえば、通知部110が、子ノード150に送信する配信通知に、送信対象の複数に分割したプログラムのブロック総数を予め含めて通知する。
また、親ノード170は、各ブロックに、ブロックの識別子を付して送信する。本実施形態では、ブロックには、1から順に整数の番号が付されるものとする。そして、子ノード150は、受信したブロックの識別子と、ブロック総数に基づいて、不足ブロックを特定すればよい。なお、データをブロック分割して送受信する方法は、本発明の本質に関わらず、当業者にとって自明であるので、詳細な説明は省略する。
通信装置(親ノード170)において、配信要求受信部172は、下位装置(子ノード150)から不足ブロックの指定を含む配信要求83を受信する。
プログラム送信部134は、配信要求83に呼応して、不足ブロックを下位装置(子ノード150)にブロードキャスト送信する。
プログラム送信部134は、不足ブロックをブロードキャスト送信してよい。親ノード170の配下の複数の子ノード150では、プログラム受信部124が、不足ブロックがなければ(配信要求83を送信していなければ)、ブロードキャスト送信されたブロックを受信せずに無視すればよい。あるいは、子ノード150のプログラム受信部124が、一旦ブロックを受信した後、受信した不足ブロックの要否を判定し、必要なブロックをRAM46に一時的に記憶し、不要なブロックは破棄する構成としてもよい。
なお、親ノード170において、配信要求受信部172が、配下の子ノード150の中のいずれか1つから配信要求83を受信したとき、プログラム送信部134は、配信要求83で指定された不足ブロックを配下の複数の子ノード150に対してブロードキャスト送信する。このとき、指定された不足ブロックのみを送信してもよいし、指定された不足ブロック以降のブロックを全て送信してもよい。
指定された不足ブロック以降のブロックを全て送信する構成とすれば、複数のブロックが受信できなかった場合に、子ノード150が配信要求83を親ノード170に一度送信するだけで、不足ブロックを続けて受信できるので、効率がよい。配信要求83に、不足ブロックのみの送信か、不足ブロック以降の全てのブロックの送信かを指定する情報をさらに含めてもよい。あるいは、配信要求83に不足ブロックの範囲の指定を含めてもよい。
さらに、親ノード170において、通知部110が配信通知80を送信後、所定の時間経過するまでに自身の配下の下位装置(子ノード150)からプログラム60の配信要求83(または配信要求82)を受信しない場合、下位装置(子ノード150)のプログラム60の受信が完了したと判定する完了判定部174を備える。
なお、完了の判定は、配信通知80の送信後から所定時間経過後以外にも考えられ、たとえば、最初の配信要求82(または配信要求83)を子ノード150から受信した後から所定時間経過後でもよいし、プログラム60の全てのブロックの最初の送信が完了した後から所定時間経過後でもよいし、最後のブロック送信(再送も含む)後から所定時間経過後でもよく、また、これらの少なくとも2つの組み合わせでもよく、特に限定されない。
図9は、本実施形態の通信装置の動作の一例を示すフローチャートである。
図9のフローチャートは、図7のフローチャートと同様な手順に加え、さらに、ステップS151〜ステップS155を含む。以下、図7と異なる手順についてのみ説明する。
各子ノード150は、ステップS141で、プログラム受信部124によりブロック(M)まで受信した後(不図示)、不足判定部154により、受信したブロック番号を確認し、プログラム60全体に対応するブロックが全て受信できたか否かを判定し、不足がないか否かを判定する(ステップS151)。不足があった場合(ステップS151のYES)、ステップS123に戻り、自身のスケジュールに基づいて受信タイミングを決定し、決定したタイミングで、配信要求部156により、不足ブロックの指定を含む配信要求83を親ノード130に送信する。
このとき、親ノード170は、複数の子ノードB11、B12、...、B1nの中のいずれか1つから配信要求83が得られた後に(ステップS125のYES)、ブロックの再送処理を行う。
そして、配信要求83を送信した子ノード150は、親ノード170からブロードキャスト送信されたブロックをプログラム受信部124により受信する(ステップS141)。不足ブロックがなくなるまでブロック受信を繰り返し、不足ブロックがなくなったとき(ステップS151のNO)、本処理を終了する。
なお、不足ブロックがなかった子ノード150は、親ノード170からブロードキャスト送信されたブロックを破棄する(不図示)。
なお、不足ブロックの指定を含む配信要求83では、たとえば、ブロック番号jが指定されているものとする。ここでjは自然数である。そこで、配信要求受信部132により、複数の下位装置(子ノードB11、B12、...、B1n)の中のいずれか1つから配信要求83を受信した場合(ステップS125のYES)、ステップS131では、ブロック番号iにjを設定する。そして、プログラム送信部134が、ブロック番号jのブロック(j)を下位装置(子ノードB11、B12、...、B1n)にブロードキャスト送信する(ステップS131〜ステップS137)。この例では、ブロック番号j以降のブロックについて、ブロックの再送処理がi=Mになるまで、繰り返される。
また、親ノード170は、ステップS137で、プログラム60の全ブロックの送信が終了した(i>M)と判定されたとき(ステップS137のYES)、配信通知80送信後から所定時間が経過しているか否かを判定する(ステップS153)。所定時間が経過した場合(ステップS153のYES)、完了判定部174が、プログラムの配信が完了したと判定し(ステップS155)、本処理を終了する。
所定時間が経過しない間は(ステップS153のNO)、ステップS125に戻り、配下の子ノード150からの配信要求82を待つ。この配信要求82の受信の待機状態(ステップS125)は、所定時間が経過するまでの間(ステップS153のNO)、持続される。
この構成によれば、ブロック分割されて送信されたブロックが、プログラム全体に対応する不足があった場合にも、不足ブロックを再送要求できる。このとき、本実施形態では、ブロックを送信した直近の親ノードに対して配信要求を行えばよい。本実施形態では、直近の親ノードがブロードキャスト送信により不足ブロックの再送処理を行うことができるので、複数の階層(ホップ)にまたがってやりとりする必要がなく、通信負荷を軽減できる。
また、本実施形態では、配信通知80を送信後、送信後から所定時間経過した後、配信要求83を受信しなくなったときに、下位装置のプログラムの受信が完了したものと判断し、処理を終了する。
本実施形態では、親ノードがその配下のノードのプログラム受信完了の判断を行うので、管理が簡単で効率がよい。
(第2の実施の形態)
次に、本発明の第2の実施の形態に係る通信装置およびその制御方法について、以下説明する。なお、本実施形態のプログラムは、上記実施形態と同様に、通信装置の制御方法を少なくとも1つのコンピュータに実行させるものであり、本実施形態での詳細な説明は省略する。
図10は、本発明の実施の形態に係る通信装置200の論理的な構成を示す機能ブロック図である。
本実施形態の通信装置200は、上記実施形態の通信装置とは、プログラムのインストール後に子ノードへ送信する配信通知の送信タイミングを、同じ階層のノード間でずらす点で相違する。
図10の通信装置200は、図4の上記実施形態の通信装置100と同様な通信部102と、配信通知受信部104と、プログラム受信部106と、プログラム導入部108と、図6の通信装置130と同様な配信要求受信部132と、プログラム送信部134とを備えるとともに、さらに、通知部210を備える。
図10では、図4の通信装置100と図6の通信装置130の構成に通知部210を備える構成としているが、他の実施形態の構成に通知部210を備える構成とすることもできる。各構成は、矛盾のない範囲で組み合わせることができる。
通信装置200において、通知部210は、プログラム60のインストール完了後に、下位装置に配信通知80を送信する際、マルチホップネットワークにおける同一階層の他の通信装置と異なるタイミングで設定された送信タイミングで配信通知を送信する。
具体的には、たとえば、図1の同一階層のノードB11、B12、...、B1nが、それぞれ親ノードA1から受信したプログラム60をインストールした後、各ノードB11、B12、...、B1nは、異なるタイミングで次の階層の子ノードC1nnに配信通知80をブロードキャスト送信する。
配信通知80の送信タイミングは、ノード毎に決定すればよく、たとえば、通知部210が、ノードの識別子、またはMAC(Media Access Control)アドレス等を元に、所定の関数を用いて送信タイミングを算出してもよい。送信タイミングは、インストール完了後から送信までの待ち時間T(秒)等で設定できる。あるいは、1台のゲートウェイ14、または親ノードの配下に含まれる子ノードの台数の上限をn台(nは自然数)とし、通知部210が単純に各ノードに0〜(n−1)の範囲で番号mを割り振り(mは整数)、m番目のノードの待ち時間をT×m(秒)として求めてもよい。
あるいは、1台のゲートウェイ14、または親ノードの配下に含まれる子ノードの台数の上限をn台(nは自然数)とし、通知部210が0〜(n−1)の範囲で乱数を生成し(mは整数)、得られた値mを元に、待ち時間をT×m(秒)を求め、各ノードに割り振ってもよい。送信タイミングが偶然一致する可能性もあるが、本発明では、そのような偶然の一致は許容してよい。
次に、本実施形態の通信装置200の制御方法について、以下説明する。
図11は、本実施形態の通信装置200の動作の一例を示すフローチャートである。
本発明の実施の形態に係る制御方法は、通信装置200の制御方法であり、通信装置200を実現するコンピュータ40(図2または図3)により実行される制御方法である。
本実施形態の通信装置200の動作は、図5の上記実施形態のフローチャートと同様なステップS101〜ステップS111を含むとともに、さらに、ステップS201を有する。
プログラムのインストール完了した後(ステップS109のYES)、通知部210が、送信イミングまで待機する(ステップS201)。そして、送信タイミングになったとき、通知部210が配信通知80をブロードキャスト送信する(ステップS111)。
この構成によれば、プログラムを受信し、インストールしたノードが、次の階層の子ノードにプログラムを転送する際、配信通知を同一階層の他のノードと異なるタイミングで送信することができるので、各ノード間の無線トラフィックの輻輳を、簡単な構成で低減できる。無線トラフィックの輻輳を防止するために、たとえば、電波の干渉状況等の情報から送信タイミングを決めることも可能であるが、演算処理が煩雑なため、本実施形態では、簡単な構成で送信タイミングを決定し、無線トラフィックの輻輳の低減を図ることができる。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
(他の実施形態1:通信経路の変更に対応した形態)
上記実施形態では、マルチホップネットワークのルートが配信途中で変更にならないケースについて説明した。以下に、マルチホップネットワークのルートが配信途中で変更について説明する。
他の実施形態1の通信装置は、プログラムを配信している途中で、マルチホップネットワークのルートの変更が発生した場合に対応できる構成を有する。
ルート変更(親子関係の変更)が起こる原因は、たとえば、ネットワーク内の電波状況の悪化、ノードの故障、ノードの新設等が考えられる。
たとえば、電波状況が悪化すると、ブロックを受信していた子ノードは、(A)そのまま孤立する、(B)電波状況のよりよい他の親ノードの配下に変更になる。(B)のケースにおいては、新たに配下に入った、他の親ノードからブロックを受信すればよい。最初の親ノードから受信したブロックと、新たな親ノードから受信したブロックを合わせてもなおプログラム全体を構成するブロックに不足がある場合には、上記第1実施形態2の構成のように、新たな親ノードに不足ブロックの配信要求をすればよい。なお、重複しているブロックは破棄すればよい。
また、他のケースとして、(C)配下の子ノードが故障した場合には、その子ノードが復旧した後に、故障中に受信できなかった不足分を親ノードに再送要求すればよい。これは、上記第1実施形態の変形態様2の構成で対応できる。
(他の実施形態2:異なるプログラムを配信する形態)
上記実施形態では、配信されるプログラムは、マルチホップネットワーク内で共通のものとして説明してきた。ここでは、マルチホップネットワーク内で、ノードの機器の種類が違っていたり、ノードによってインストール対象のプログラムが異なる場合の構成について説明する。
図12は、本発明の他の実施の形態に係る通信装置400の論理的な構成を示す機能ブロック図である。
なお、図12は、通信装置400の要部構成のみを示してある。通信装置400は、図示していない他の実施形態の少なくともいずれか1つと同様な構成をさらに含んでもよく、各構成は矛盾のない範囲で組み合わせることができる。たとえば、通信装置400は、図8のプログラム受信部124を備える(図12には不図示)。
通信装置400において、配信通知受信部402は、プログラムの属性情報を含む配信通知86を受信する。
そして、通信装置400は、受信された配信通知86に含まれる属性情報と自装置のプログラムに関する属性情報とに基づいて、プログラム受信部124により受信されたプログラムをインストールするか否かを判定する対象判定部408と、を備える。
通知部404は、対象判定部408による判定結果に基づいて、プログラムのインストールの完了後に、属性情報を含む配信通知86を送信するか、プログラムのインストールの完了に関わらず、属性情報を含む配信通知86を送信するかを切り替える。
なお、本実施形態の通信装置400は、自装置のプログラムの属性情報を記憶する記憶部406をさらに含む。記憶部406は、図2のROM44、RAM46、またはストレージ(不図示)、あるいは、CPU42内の所定のレジスタ(不図示)に相当する。
属性情報は、更新対象となるプログラムの種別とバージョンの情報の少なくとも一方を含む。さらに、属性情報に、配信される更新後のプログラムの種別とバージョンの情報の少なくとも一方を含んでもよい。さらに、この属性情報は、プログラムを分割して配信される各ブロックにも分割して送信されるのが好ましい。プログラムの種別は、更新対象となる対応機器の型名、プログラムの名称などを含む。
このように構成された本実施形態の通信装置400の動作について、以下説明する。
図13は、本実施形態の通信装置400の動作の一例を示すフローチャートである。
まず、配信通知受信部402が、プログラムの属性情報を含む配信通知86を受信する(ステップS401)。そして、図5の上記実施形態のフローチャートと同様なステップS105で、プログラム受信部124が上位ノードからプログラム60を受信する(ステップS105)。
そして、対象判定部408が、記憶部406に記憶されているプログラムの属性情報を参照し、ステップS401で受信した配信通知86に含まれる属性情報と比較し、配信されるプログラム60を、自装置にインストールするか否かを判定する(ステップS403)。
たとえば、更新対象のプログラムの種別(たとえば、対応機器)の情報のみで判定する場合には、自装置のプログラムの種別と、更新対象のプログラムの種別(たとえば、対応機器)の情報が同じで、かつ、更新対象のバージョンが自装置のバージョンより新しい場合にインストール対象と判定することができる。また、マルチホップネットワーク内の機器が全て同じ種別の場合には、更新対象のプログラムのバージョン情報のみで判定でき、更新対象のバージョンの情報と自装置のバージョンの情報が一致した場合にインストール対象と判定することができる。ただし、更新対象のバージョンが自装置のバージョンより古い場合にインストール対象と判定することは排除されず、強制的に以前のバージョンに戻す場合も含んでよい。
判定結果が、プログラムを自装置にインストールするとの判定であった場合は(ステップS403のYES)、図5のフローチャートのステップS107〜ステップS111と同様に、プログラム導入部410が、受信したプログラム60を自身にインストールする(ステップS107)。そして、プログラムのインストールが完了したら(ステップS109のYES)、通知部404が、下位ノードに配信情報を含む配信通知86を通知する(ステップS111)。
一方、判定結果が、プログラムを自装置にインストールしないとの判定であった場合は(ステップS403のNO)、ステップS107とステップS109のプログラムのインストール処理は行わずに、ステップS111に進む。通知部404が、下位ノードに属性情報を含む配信通知86を送信し、ステップS105で受信したプログラム60を転送する処理に進む。インストール対象でないノードでは、プログラムのインストールは行わないが、プログラムデータは受信して保存し、配下のノードへの配信は行う。
以上説明したように、本実施形態の通信装置400では、配信通知86に、配信されるプログラム60の種別やバージョン情報を含めて送信し、自装置のプログラム情報と比較して、受信したプログラム60を自装置にインストールするか否かを判定する。そして、インストール対象外の場合は、通信装置400は、受信したプログラム60をインストールせずに、そのままプログラム60を下位ノードに転送すべく、下位ノードに対して配信通知86を送信する。
これにより、本実施形態の通信装置400は、マルチホップネットワーク内に異なる種別の機器や、異なるバージョンのプログラム60がインストールされている機器が混在しているような場合であっても、効率よく適切なプログラム60を自装置にインストールし、かつ他の装置用のプログラムは転送することができる。
(他の実施形態3)
図19は、本発明の実施の形態に係る通信装置500の論理的な構成を示す機能ブロック図である。
本実施形態の通信装置500は、他の上記実施形態とは、自装置にインストールされるプログラム60を上位装置から受信することに限定されない点で相違する。
本実施形態の通信装置500は、図4の上記実施形態の通信装置100と同様な、通信部102と、配信通知受信部104と、プログラム導入部108と、通知部110とを備える。
具体的には、通信装置500は、マルチホップネットワークにおける上位装置および下位装置と通信を行う通信部102と、上位装置から、プログラム60の配信通知80を受信する配信通知受信部104と、プログラム60を自装置(通信装置500)にインストールするプログラム導入部108と、プログラム60のインストール完了後に、下位装置に配信通知を送信する通知部110と、を備える。
本発明において、上位装置から、プログラム60の配信通知80は、プログラム60より前に配信されるが、通信装置における配信通知80とプログラム60の受信タイミングは、配信タイミング(配信通知80の後にプログラム60を受信)と同じになるとは限らない。通信経路の状況によっては、配信通知80とプログラム60が同時またはプログラム60を配信通知80より前に受信するケースも考えられ、本発明ではそのようなケースも排除されない。
また、たとえば、複数のブロックに分割して配信されるプログラム60の先頭のブロックの前に配信通知80を付加して配信する形態も排除されない。また、本発明において、マルチホップネットワークの複数のノード(通信装置500)の中に、配信通知80を受信する以前に、直近の上位装置、または他の通信装置、サーバ、あるいは、外部メディアからプログラム60を取得し、自装置(図2のコンピュータ40)のRAM46(図2)またはストレージ(不図示)に格納されているノード(通信装置500)が含まれていることも排除されない。その場合、そのノードは、配信通知80を受信後に、既に取得済みのプログラム60をインストールしてもよい。そして、プログラム60のインストール完了後に、下位装置に配信通知80を送信し、その後、下位装置にプログラム60を送信してもよい。
本実施形態のコンピュータプログラム70は、通信装置500(スマートメータ50)を実現させるためのコンピュータ40に、マルチホップネットワークにおける上位装置(ゲートウェイ14または上位のスマートメーター50)および下位装置(下位のスマートメータ50)と通信を行う手順、上位装置から、プログラム60の配信通知80を受信する手順、プログラム60を自装置(通信装置500(コンピュータ40))にインストールする手順、プログラム60のインストール完了後に、下位装置に配信通知80を送信する手順、を実行させるように記述されている。
図20は、本実施形態の通信装置500の動作の一例を示すフローチャートである。
本発明の実施の形態に係る制御方法は、通信装置500の制御方法であり、通信装置500を実現するコンピュータ40により実行される制御方法である。
本実施形態の制御方法は、通信装置500が、マルチホップネットワークにおける上位装置および下位装置と通信を行い(ステップS101)、上位装置から、プログラム60の配信通知80を受信し(ステップS103)、プログラム60を自装置にインストールし(ステップS107)、プログラムのインストール完了後に(ステップS109のYES)、下位装置に配信通知80を送信する(ステップS111)。
本実施形態の通信装置500によれば、上記実施形態と同様に、マルチホップネットワークで、プログラム60のインストールを行う場合に、ゲートウェイ14(またはサーバ10)が下位ノード全ての管理をするのではなく、直近の親子関係にあるノード間でデータ配信を完了させて、次の下位階層に順次転送を繰り返していくことができる。
これにより、本実施形態の通信装置500は、マルチホップネットワーク内の複数階層のノードを跨ぐような不要なトラフィックの発生を抑制できるとともに、上位側の管理負荷を軽減でき、効率のよいプログラムの配信が可能になる。また、本実施形態の通信装置500は、プログラムの配信処理を階層毎に自律的に管理できる。
(他の実施形態4)
図21は、本発明の実施の形態に係る通信装置600の論理的な構成を示す機能ブロック図である。
本実施形態の通信装置600は、他の上記実施形態の通信装置とは、プログラム60の転送が、上位装置から下位装置への転送に限定されない点で相違する。
通信装置600は、他の装置から、プログラム60の配信通知80を受信する配信通知受信部604と、プログラム60を自装置にインストールするプログラム導入部108と、プログラム60のインストール完了後に、他の装置以外の装置に対して、配信通知80を送信する通知部610と、を備える。
本実施形態の通信装置600の制御方法は、少なくとも1つのコンピュータにより実行される通信装置600が、他の装置から、プログラム60の配信通知80を受信し、プログラム60を自装置にインストールし、プログラム60のインストール完了後に、他の装置以外の装置に対して、配信通知80を送信することを含む。
本実施形態のコンピュータプログラムは、通信装置600の制御方法を少なくとも1つのコンピュータに実行させるプログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記録媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。
このコンピュータプログラムは、コンピュータにより実行されたとき、コンピュータに、通信装置600上で、その制御方法を実施させるコンピュータプログラムコードを含む。
本実施形態の通信装置600によれば、プログラム60をある他のノードから別の他のノードに順次転送していく際に、ゲートウェイ14(またはサーバ10)が全てのノードの管理をするのではなく、直近のノード間でデータ配信を完了させて、次の別の他のノードに順次転送を繰り返していくことができる。
これにより、本実施形態の通信装置600は、複数のノードを跨ぐような不要なトラフィックの発生を抑制できるとともに、プログラム配信側の管理負荷を軽減でき、効率のよいプログラム配信が可能になる。また、本実施形態の通信装置600は、プログラムの配信処理を直近のノード間毎に自律的に管理できる。
以下、本発明の上記実施形態の実施例について、比較例と比較しながら説明する。
(実施例1)
本実施例は、第1の実施形態の実施例であり、各ノードは、図14の第1実施形態の通信装置180の構成を有するものとする。また、各通信装置180は、スマートメーター50であるとする。
図15は、本発明の実施例1の通信システムの動作フローを示す図である。なお、図中、破線の矢印は、メッセージをユニキャスト送信していることを示し、二重線の矢印は、メッセージをブロードキャスト送信していることを示している。
まず、サーバ10(SV1)が、プログラム60の更新通知をゲートウェイ14(GW1)に送信する(ステップS501)。ここで、「更新通知」は、上記実施形態で説明した「配信通知」に相当する。ゲートウェイ14は、更新通知に呼応して、プログラム受信部124により、サーバ10にFTP(File Transfer Protocol)でアクセスし、プログラムをダウンロードする(ステップS503)。そして、ゲートウェイ14は、プログラムのダウンロードが終了すると、通知部110により、ダウンロードが済んだことをサーバ10に応答をする(ステップS505)。
そして、ゲートウェイ14は、親ノード(図中、「P(Parent)」と示す)として、通知部110により、配下の複数の子ノードA1、A2、...、An(図中、「C(Child)」と示す)に、プログラムの更新通知をブロードキャスト送信する(ステップS507)。子ノードA1、A2、...、Anは、各自のスケジュールを確認し(ステップS509)、都合のよいタイミングで、プログラムの配信要求をゲートウェイ14に送信する(ステップS511)。ゲートウェイ14は、配信要求受信部132により、少なくとも1つの子ノードから配信要求を受信すると、プログラム送信部134によりプログラムの配信を開始する。プログラムは、複数のブロックに分割して、順に複数の子ノードにブロードキャスト送信される(ステップS513)。このとき、各ブロック(i)は、t秒間隔で送信される。各子ノードは、プログラム受信部124により、ブロックを順に受信し、RAM46に一時的に記憶する。ここで、iは1〜Mの自然数である。
子ノードは、不足判定部154により、プログラム配信通知に含まれるブロック総数と、受信したブロック数とブロック番号から、不足ブロックを検出する(ステップS515)。不足ブロックがあれば(ステップS515のY)、スケジュールを確認し(ステップS509)、都合のよいタイミングで再送要求をゲートウェイ14に送信する(ステップS511)。
ゲートウェイ14は、配信要求受信部172により、子ノードから不足ブロックの指定を含む配信要求を受信すると、プログラム送信部134により、配信要求で指定された不足ブロックをブロードキャスト送信する(ステップS513)。
子ノードは、プログラム受信部124により、再送されたブロックを受信し、RAM46に一時的に記憶する。また、子ノードは、受信したブロックが不要であれば破棄する。
そして、各子ノードは、全てのブロックがそろったら(ステップS515のN)、プログラム導入部108によりプログラムをインストールして更新する(ステップS517)。インストールが完了したら、各子ノードA1、A2、...、Anは、次は、親ノードとして、通信部102により、更新通知を配下の子ノードB11〜B1n、B21〜B2n、...、Bn1〜Bnn等にそれぞれブロードキャスト送信する(ステップS519)。
なお、ゲートウェイ14は、完了判定部174により、配信通知を送信した後、所定時間経過しても配信要求が受信されなくなった場合(ステップS521のY)、配下(子ノードA1〜An)へのプログラム配信処理が完了したと判定し、処理を終了する。所定時間が経過するまでは(ステップS521のN)、下位ノード(子ノードA1〜An)から配信要求が来るのを待つ。
配信通知受信部104により配信通知を受信した子ノードB11〜B1n等は、それぞれ上記ノードA1〜Anと同様に動作する。そして、階層毎に、プログラムの配信とインストールが行われ、インストールが完了すると、次の下位階層へと、さらに進んでいく。このようにして、マルチホップネットワーク内の全てのノードにプログラムが配信される。
(比較例1)
図16および図17は、本発明の比較例1の通信システムの動作フローを示す図である。
まず、サーバ10(SV1)が、プログラム60の更新通知をゲートウェイ14(GW1)に送信し(ステップS501)、ゲートウェイ14がプログラムをダウンロードし(ステップS503)、サーバ10に応答をする(ステップS505)手順までは図15の実施例1と同様である。
その後、ゲートウェイ14が、プログラムを下位ノードに配信する手順が実施例1とは異なる。比較例1では、ゲートウェイ14のプログラム送信部は、プログラムをM個のブロック(i)に分割して子ノードA1〜Anに順次ブロードキャスト送信する(ステップS531)。ここで、iは、1〜Mの自然数である。また、ここで、ブロック(i)は、所定の時間間隔(たとえば、(t+T)秒)で順次送信される。
各子ノードA1〜Anは、受信したブロック(i)を、さらに、t秒後に、その配下の下位ノードB11〜B1n、B21〜B2n、Bn1〜Bnn等にそれぞれブロードキャスト送信する(ステップS533)。上位ノードからブロック(i)を受信する毎に、t秒後に、その配下の下位ノードにそれぞれブロードキャスト送信する。
さらに、各子ノードB11〜B1n、B21〜B2n、Bn1〜Bnnが、受信したブロック(i)を、その配下の下位ノードC111〜C11n、C121〜C12n、C1n1〜C1nn、C211〜C21n、...、Cnn1〜Cnnn等に、それぞれブロードキャスト送信する(ステップS535)。
そして、各ノードA1〜An、B11〜B1n、B21〜B2n、Bn1〜Bnn等は、それぞれ全ブロックの受信および送信が完了した後、プログラムを自身にインストールして更新する(ステップS537)。そして、インストールしたプログラムのバージョン情報を、各ノードA1〜An、B11〜B1n、B21〜B2n、Bn1〜Bnn等はそれぞれ上位ノードに応答メッセージとして送信する(ステップS539)。このバージョン応答メッセージは、さらに、上位ノードへ転送され、最終的にゲートウェイ14まで送信される。
そして、ゲートウェイ14は、バージョン応答メッセージが返信されないノードが存在するか否かを判定する。そして、ゲートウェイ14は、応答のないノードが存在する場合には、図17に示すように、そのノードに対して、不足ブロックを問合せる(ステップS541)。たとえば、ここでは、図16に示すように、ノードC111が応答していなかったものとする。
不足ブロック問合せメッセージは、該当するノードC111まで転送され、該当するノードC111が応答し、不足ブロックの情報を上位ノードに送信し、中間のノードが中継して、ゲートウェイ14まで転送する(ステップS543)。
そして、ゲートウェイ14は、応答された情報に基づいて、不足ブロックをノードC111に送信する(ステップS545)。このブロックは、ノードA1およびノードB11が中継してノードC111まで転送される。そして、ノードC111は、不足ブロックを全て受信し終わると、プログラムを自身にインストールして更新する(ステップS537)。そして、インストールしたプログラムのバージョン情報を、ノードC111が応答メッセージとして送信する(ステップS539)。このバージョン応答メッセージは、ノードB11およびノードA1が中継して、最終的にゲートウェイ14まで送信される。
そして、ゲートウェイ14は、全てのノードからバージョン応答メッセージが返信されるまで、不足ブロック問合せと送信の処理を繰り返す。そして、ゲートウェイ14は、全てのノードからバージョン応答メッセージが返信された場合、プログラムの更新が正常に終了したと判定し、プログラムの更新処理を完了する。
比較例1では、もし、ノードA2等の比較的上位のノードで不足ブロックが生じた場合、その下位のノードB21〜B2n、C211〜C21n、...、C2n1〜C2nn等、多数の下位ノードでも当該ブロックを受信できない状態となる。つまり、あるノードでの受信エラーの影響は、その配下の複数の下位ノードにも次々と波及してしまう。さらに、ゲートウェイ14が一括して各ノードの更新状態を管理しているため、不足ブロックの再送処理時には、不足ブロックの問合せ、応答、および送信等のメッセージを、途中のノードが中継しながら、該当する下位ノードとゲートウェイ14間でやり取りしなければならない。
上述した実施例1では、プログラムの不足ブロックがあった場合にも、比較例1のように、下位ノードとゲートウェイ14がメッセージをやり取りする必要がない。実施例1では、プログラムの配信処理を階層毎に自律的に管理できる。そして、実施例1では、直近の親子関係にあるノード間でデータ配信を完了させることができるので、比較例1に比べて、不要なトラフィックの発生を抑制できるとともに、上位側の管理負荷を軽減でき、効率のよいプログラム配信が可能になることが分かる。
(実施例2)
本実施例は、第2の実施形態の実施例である。各ノードは、図14の第1実施形態の通信装置180の通知部110以外の構成と、さらに、図10の通信装置200の通知部210を有するものとする。実施例2は、プログラムのインストール後に子ノードへ送信する配信通知の送信タイミングを、同じ階層のノード間でずらす構成を有する。また、本実施例でも、各通信装置180は、スマートメーター50であるとする。
図18は、本発明の実施例2の通信システムの動作フローを示す図である。なお、図中、破線の矢印は、ユニキャストでメッセージを送信していることを示し、二重線の矢印は、メッセージをブロードキャスト送信していることを示している。
実施例2において、サーバ10からプログラム60の更新通知がゲートウェイ14に送信され(ステップS501)、ノードA1〜Anに配信されて、それぞれプログラム60がインストールされる(ステップS517)までの手順は、実施例1と同じである。
そして、インストールが完了した各子ノードA1〜Anは、次は、親ノードとして、通信部102により、更新通知を配下の子ノードB11〜B1n、B21〜B2n、...、Bn1〜Bnn等にブロードキャスト送信するが、その送信タイミングが通知部210によりノード毎に異なる値(たとえば、T1、T2、...、Tn)に設定される。
図18の例では、ノードA1は、インストール完了後T1秒経過後に、通知部210により配下の子ノードB11〜B1nに配信通知を送信する(ステップS551)。ノードA2は、インストール完了後T2秒経過後に、通知部210により配下の子ノードB21〜B2n(図18には不図示)に配信通知を送信する(ステップS553)。ノードAnは、インストール完了後Tn秒経過後に、通知部210により配下の子ノードBn1〜Bnn(図18には不図示)に配信通知を送信する(ステップS555)。このように、本実施例では、各ノードA1〜Anから下位ノードに配信通知が同じタイミングで送信されないようになっている。
配信通知受信部104により配信通知を受信した子ノードB11〜B1n、B21〜B2n、Bn1〜Bnn等は、それぞれ上記ノードA1〜Anと同様に動作する。そして、階層毎に、プログラムの配信とインストールが行われ、インストールが完了すると、次の下位階層に、さらにそれぞれ異なる送信タイミングで配信通知を送信し、本プログラム更新処理が各ノードで行われる。このようにして、マルチホップネットワーク内の全てのノードにプログラムが配信される。
本実施例では、プログラムを受信してインストールしたノードが、次の階層の子ノードにプログラムを転送する際、配信通知を同一階層の他のノードと異なるタイミングで送信することができるので、下位ノードへのプログラムの配信タイミングをずらすことができ、各ノード間の無線トラフィックの輻輳を、簡単な構成で低減できる。
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
なお、本発明において利用者に関する情報を取得、利用する場合は、これを適法に行うものとする。
以下、参考形態の例を付記する。
1. コンピュータに、
マルチホップネットワークにおける上位装置および下位装置と通信を行う手順、
前記上位装置から、プログラムの配信通知を受信する手順、
前記配信通知を受信した後に、前記上位装置から前記プログラムを受信する手順、
受信した前記プログラムを自装置にインストールする手順、
前記プログラムのインストール完了後に、前記下位装置に前記配信通知を送信する手順、
を実行させるためのプログラム。
2. 前記配信通知を受信する手順で、前記上位装置から受信したブロードキャストメッセージが前記配信通知か否かを判定する手順、
前記配信通知である場合に、前記配信通知を前記下位装置にブロードキャスト転送する手順、
をコンピュータに実行させるための、1.に記載のプログラム。
3. 前記配信通知を受信すると、自装置の動作状況または動作スケジュールに基づいて決定した受信タイミングで、前記プログラムの配信要求を前記上位装置に送信する手順、
をコンピュータに実行させるための、1.または2.に記載のプログラム。
4. 前記配信要求を前記上位装置に送信する際、自装置の動作負荷に基づいて前記受信タイミングを決定する手順、
をコンピュータに実行させるための、3.に記載のプログラム。
5. 前記配信要求を前記上位装置に送信する際、検針データの送信処理時以外に前記受信タイミングを決定する手順、
をコンピュータに実行させるための、3.に記載のプログラム。
6. 複数の前記下位装置の中のいずれか1つから前記プログラムの配信要求を受信する手順、
前記配信要求を受信すると、複数のブロックに分割した前記プログラムを前記下位装置にブロードキャスト送信する手順、
をコンピュータに実行させるための、1.から5.いずれか1つに記載のプログラム。
7. 前記複数のブロックに分割されたプログラムを受信すると、前記複数のブロックが前記プログラム全体に対する不足が無いかを判定する手順、
不足ブロックがあると判定された場合、前記不足ブロックの指定を含む配信要求を前記上位装置に送信する手順、
をコンピュータに実行させるための、1.から6.いずれか1つに記載のプログラム。
8. 前記下位装置に前記配信通知を送信する際、前記下位装置に送信する前記配信通知に複数に分割したプログラムのブロック総数を含める手順、
をコンピュータに実行させるための、7.に記載のプログラム。
9. 前記配信通知を送信後、所定の時間経過するまでに自身の配下の前記下位装置から前記プログラムの配信要求を受信しない場合、前記下位装置の前記プログラムの受信が完了したと判定する手順、
をコンピュータに実行させるための、1.から8.いずれか1つに記載のプログラム。
10. 前記マルチホップネットワークにおける同一階層の他の通信装置と異なるタイミングで設定された送信タイミングで前記配信通知を送信する手順、
をコンピュータに実行させるための、1.から9.いずれか1つに記載のプログラム。
11. 前記プログラムを複数のブロックに分けて前記下位装置に送信する手順、
前記下位装置から不足ブロックの指定を含む配信要求を受信する手順、
前記配信要求に呼応して、前記不足ブロックを前記下位装置にブロードキャスト送信する手順、
をコンピュータに実行させるための、1.から10.いずれか1つに記載のプログラム。
12. 前記配信通知を受信する際、前記プログラムの属性情報を含む配信通知を受信する手順、
前記配信通知に含まれる属性情報と、自装置のプログラムに関する属性情報とに基づいて、受信した前記プログラムをインストールするか否かを判定する手順、
をコンピュータに実行させるための、1.から11.いずれか1つに記載のプログラム。
13. 通信装置が、
マルチホップネットワークにおける上位装置および下位装置と通信を行い、
前記上位装置から、プログラムの配信通知を受信し、
前記配信通知を受信した後に、前記上位装置から前記プログラムを受信し、
受信した前記プログラムを自装置にインストールし、
前記プログラムのインストール完了後に、前記下位装置に前記配信通知を送信する、
通信装置の制御方法。
14. 前記通信装置が、
前記配信通知を受信した際、前記上位装置から受信したブロードキャストメッセージが前記配信通知か否かを判定し、
前記配信通知である場合に、前記下位装置に前記配信通知をブロードキャスト転送する、
13.に記載の通信装置の制御方法。
15. 前記通信装置が、
前記配信通知を受信すると、自装置の動作状況または動作スケジュールに基づいて決定した受信タイミングで、前記プログラムの配信要求を前記上位装置に送信する、
13.または14.に記載の通信装置の制御方法。
16. 前記通信装置が、
前記配信要求を前記上位装置に送信する際、自装置の動作負荷に基づいて前記受信タイミングを決定する、
15.に記載の通信装置の制御方法。
17. 前記通信装置が、
前記配信要求を前記上位装置に送信する際、検針データの送信処理時以外に前記受信タイミングを決定する、
15.に記載の通信装置の制御方法。
18. 前記通信装置が、
複数の前記下位装置の中のいずれか1つから前記プログラムの配信要求を受信し、
前記配信要求を受信すると、複数のブロックに分割した前記プログラムを前記下位装置にブロードキャスト送信する、
13.から17.いずれか1つに記載の通信装置の制御方法。
19. 前記通信装置が、
前記複数のブロックに分割されたプログラムを受信すると、前記複数のブロックが前記プログラム全体に対する不足が無いかを判定し、
不足ブロックがあると判定された場合、前記不足ブロックの指定を含む配信要求を前記上位装置に送信する、
13.から18.いずれか1つに記載の通信装置の制御方法。
20. 前記通信装置が、
前記配信要求を送信する際、前記下位装置に送信する前記配信通知に複数に分割したプログラムのブロック総数を含める、
19.に記載の通信装置の制御方法。
21. 前記通信装置が、
前記配信通知を送信後、所定の時間経過するまでに自身の配下の前記下位装置から前記プログラムの配信要求を受信しない場合、前記下位装置の前記プログラムの受信が完了したと判定する、
13.から20.いずれか1つに記載の通信装置の制御方法。
22. 前記通信装置が、
前記マルチホップネットワークにおける同一階層の他の通信装置と異なるタイミングで設定された送信タイミングで前記配信通知を送信する、
13.から21.いずれか1つに記載の通信装置の制御方法。
23. 前記通信装置が、
前記プログラムを複数のブロックに分けて前記下位装置に送信し、
前記下位装置から不足ブロックの指定を含む配信要求を受信し、
前記配信要求に呼応して、前記不足ブロックを前記下位装置にブロードキャスト送信する、
13.から22.いずれか1つに記載の通信装置の制御方法。
24. 前記通信装置が、
前記上位装置から、前記プログラムの属性情報を含む配信通知を受信し、
前記配信通知に含まれる属性情報と、自装置のプログラムに関する属性情報とに基づいて、受信された前記プログラムをインストールするか否かを判定する、
13.から23.いずれか1つに記載の通信装置の制御方法。
この出願は、2014年9月10日に出願された日本出願特願2014−184014号を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (16)

  1. マルチホップネットワークにおける上位装置および下位装置と通信を行う通信装置において、
    前記上位装置から、プログラムの配信通知を受信する配信通知受信手段と、
    受信した前記プログラムを自装置にインストールするプログラム導入手段と、
    前記プログラムのインストール完了後に、前記下位装置に前記配信通知を送信する通知手段と、
    を備える通信装置。
  2. 前記配信通知受信手段は、前記上位装置から受信したブロードキャストメッセージが前記配信通知か否かを判定し、
    前記配信通知である場合に、前記通知手段は前記下位装置に前記配信通知をブロードキャスト転送する、
    請求項1に記載の通信装置。
  3. 前記配信通知を受信すると、自装置の動作状況または動作スケジュールに基づいて決定した受信タイミングで、前記プログラムの配信要求を前記上位装置に送信する配信要求手段を備える、
    請求項1または2に記載の通信装置。
  4. 前記配信要求手段は、自装置の動作負荷に基づいて前記受信タイミングを決定する、
    請求項3に記載の通信装置。
  5. 前記配信要求手段は、検針データの送信処理時以外に前記受信タイミングを決定する、
    請求項3に記載の通信装置。
  6. 複数の前記下位装置の中のいずれか1つから前記プログラムの配信要求を受信する配信要求受信手段と、
    前記配信要求を受信すると、複数のブロックに分割した前記プログラムを前記下位装置にブロードキャスト送信するプログラム送信手段と、を備える、
    請求項1から5いずれか1項に記載の通信装置。
  7. 前記複数のブロックに分割されたプログラムを受信すると、前記複数のブロックが前記プログラム全体に対する不足が無いかを判定する不足判定手段と、
    不足ブロックがあると判定された場合、前記不足ブロックの指定を含む配信要求を前記上位装置に送信する配信要求手段と、を備える、
    請求項1から6いずれか1項に記載の通信装置。
  8. 前記通知手段は、前記下位装置に送信する前記配信通知に複数に分割したプログラムのブロック総数を含める、
    請求項7に記載の通信装置。
  9. 前記通知手段が前記配信通知を送信後、所定の時間経過するまでに自身の配下の前記下位装置から前記プログラムの配信要求を受信しない場合、前記下位装置の前記プログラムの受信が完了したと判定する完了判定手段を備える、
    請求項1から8いずれか1項に記載の通信装置。
  10. 前記通知手段は、前記マルチホップネットワークにおける同一階層の他の通信装置と異なるタイミングで設定された送信タイミングで前記配信通知を送信する、
    請求項1から9いずれか1項に記載の通信装置。
  11. 前記プログラムを複数のブロックに分けて前記下位装置に送信するプログラム送信手段と、
    前記下位装置から不足ブロックの指定を含む配信要求を受信する配信要求受信手段と、
    前記配信要求に呼応して、前記不足ブロックを前記下位装置にブロードキャスト送信するプログラム送信手段と、を備える、
    請求項1から10いずれか1項に記載の通信装置。
  12. 前記配信通知受信手段は、前記プログラムの属性情報を含む配信通知を受信し、
    前記配信通知に含まれる属性情報と、自装置のプログラムに関する属性情報とに基づいて、受信した前記プログラムをインストールするか否かを判定する対象判定手段と、を備える、
    請求項1から11いずれか1項に記載の通信装置。
  13. 他の装置から、プログラムの配信通知を受信する配信通知受信手段と、
    前記プログラムを自装置にインストールするプログラム導入手段と、
    前記プログラムのインストール完了後に、前記他の装置以外の装置に対して、前記配信通知を送信する通知手段と、
    を備える通信装置。
  14. 配信起点装置と、
    マルチホップネットワークにおける上位装置および下位装置と通信を行う、複数の通信装置と、を備え、
    前記配信起点装置および前記複数の通信装置は、マルチホップネットワークに含まれ、
    前記通信装置は、
    前記上位装置から、プログラムの配信通知を受信する配信通知受信手段と、
    前記配信通知を受信した後に、前記上位装置から前記プログラムを受信するプログラム受信手段と、
    受信した前記プログラムを自装置にインストールするプログラム導入手段と、
    前記プログラムのインストール完了後に、前記下位装置に前記配信通知を送信する通知手段と、を有する、
    通信システム。
  15. コンピュータに、
    マルチホップネットワークにおける上位装置および下位装置と通信を行う手順、
    前記上位装置から、プログラムの配信通知を受信する手順、
    前記配信通知を受信した後に、前記上位装置から前記プログラムを受信する手順、
    受信した前記プログラムを自装置にインストールする手順、
    前記プログラムのインストール完了後に、前記下位装置に前記配信通知を送信する手順、
    を実行させるためのプログラム。
  16. 通信装置が、
    マルチホップネットワークにおける上位装置および下位装置と通信を行い、
    前記上位装置から、プログラムの配信通知を受信し、
    前記配信通知を受信した後に、前記上位装置から前記プログラムを受信し、
    受信した前記プログラムを自装置にインストールし、
    前記プログラムのインストール完了後に、前記下位装置に前記配信通知を送信する、
    通信装置の制御方法。
JP2016509812A 2014-09-10 2015-07-31 通信装置、その制御方法、通信システム、およびプログラム Pending JPWO2016039039A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014184014 2014-09-10
JP2014184014 2014-09-10
PCT/JP2015/071807 WO2016039039A1 (ja) 2014-09-10 2015-07-31 通信装置、その制御方法、通信システム、およびプログラム

Publications (1)

Publication Number Publication Date
JPWO2016039039A1 true JPWO2016039039A1 (ja) 2017-04-27

Family

ID=55458798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016509812A Pending JPWO2016039039A1 (ja) 2014-09-10 2015-07-31 通信装置、その制御方法、通信システム、およびプログラム

Country Status (2)

Country Link
JP (1) JPWO2016039039A1 (ja)
WO (1) WO2016039039A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6843681B2 (ja) * 2017-04-07 2021-03-17 三菱電機株式会社 無線通信システムおよび無線通信機器
JP6762989B2 (ja) * 2018-05-16 2020-09-30 ソフトバンク株式会社 無線通信装置、無線通信装置の制御方法、無線通信装置の制御プログラム、ファームウェア提供装置、ファームウェア提供装置の制御方法、ファームウェア提供装置の制御プログラム、及び、通信システム
JP7134771B2 (ja) * 2018-07-31 2022-09-12 ラピスセミコンダクタ株式会社 通信システム及びプログラム更新方法
WO2022137365A1 (ja) * 2020-12-22 2022-06-30 三菱電機株式会社 通信システム、通信管理装置、通信装置、ソフトウェア配布方法およびソフトウェア配布プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011066529A (ja) * 2009-09-15 2011-03-31 Panasonic Electric Works Co Ltd ファームウェアのアップデート方法、分散システム、保守端末、通信ユニット、及び、ファームウェアのアップデートプログラム
JP2011161704A (ja) * 2010-02-08 2011-08-25 Brother Industries Ltd プリンタ
JP2012252552A (ja) * 2011-06-03 2012-12-20 Fujitsu Ltd 配信方法及び配信システム
JP2013141132A (ja) * 2012-01-05 2013-07-18 Hitachi Ltd 自動検針システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011066529A (ja) * 2009-09-15 2011-03-31 Panasonic Electric Works Co Ltd ファームウェアのアップデート方法、分散システム、保守端末、通信ユニット、及び、ファームウェアのアップデートプログラム
JP2011161704A (ja) * 2010-02-08 2011-08-25 Brother Industries Ltd プリンタ
JP2012252552A (ja) * 2011-06-03 2012-12-20 Fujitsu Ltd 配信方法及び配信システム
JP2013141132A (ja) * 2012-01-05 2013-07-18 Hitachi Ltd 自動検針システム

Also Published As

Publication number Publication date
WO2016039039A1 (ja) 2016-03-17

Similar Documents

Publication Publication Date Title
US8910141B2 (en) Distribution of software updates in wireless multihop networks
WO2019192605A1 (zh) 拓扑信息的管理方法及装置、***、存储介质、电子装置
WO2018103579A1 (zh) 抄表方法及装置、***、通信网关
WO2016039039A1 (ja) 通信装置、その制御方法、通信システム、およびプログラム
JP2007235444A (ja) 移動端末装置、制御方法及び移動通信システム
CN105306369A (zh) 将集中式自组织网络整合到网络中的***、方法和装置
WO2012101779A1 (ja) ネットワーク管理システム、ネットワーク管理サーバ、ネットワーク端末、およびネットワーク管理方法
JP5875696B2 (ja) データ配信システム、配信装置、端末装置、データ配信方法
Bravo-Torres et al. VaNetLayer: A virtualization layer supporting access to web contents from within vehicular networks
EP3164968B1 (en) Methods, devices and systems for implementing centralized hybrid wireless self-organizing networks
CN104038427A (zh) 路由更新方法和路由更新装置
US20080165692A1 (en) Method and system for opportunistic data communication
US10630594B2 (en) System, device, and method for communicating data over a mesh network
US20140372626A1 (en) Terminal, route generating method, and computer-readable recording medium
JP2013197746A (ja) 無線通信装置および通信制御方法
JP5868506B2 (ja) 無線ネットワークシステムにおける時刻同期方法
CN103068000B (zh) 基于小卫星的自组织网络方法及***
JP6254840B2 (ja) 集約装置、配信方法、配信プログラム、及び、ネットワークシステム
TWI727519B (zh) 終端裝置、通信系統及通信方法
US11095514B2 (en) System and method for propagating anima network objective changes
US20220167253A1 (en) Systems, Devices, and Methods for Autonomic Formation of Wireless Networks
JP7458275B2 (ja) データ配信システム、集約ルータ、通信端末、および、データ配信方法
JP6176394B2 (ja) ノード、マスタ装置、ならびに通信制御システム、方法およびプログラム
JP2014068286A (ja) 通信ネットワークシステム、通信媒体の切替え方法、及びネットワーク構築支援方法
JP6843681B2 (ja) 無線通信システムおよび無線通信機器

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170425

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171024