以下、実施形態について図面を参照しつつ説明する。
図1に実施形態として説明するホームネットワークシステム1の概略的な構成を示している。同図に示すように、ホームネットワークシステム1は、機器管理装置10、並びに通信ネットワーク5を介して機器管理装置10と通信可能に接続する一つ以上の管理対象機器20を含む。
ホームネットワークシステム1は、例えば、エネルギーマネジメントサービス(電気使用量、電気料金モニタ、家電機器の省エネ運転、契約電力デマンド制御等)、生活支援サービス、ホームセキュリティサービス、ホームヘルスケアサービス、機器リモートメンテナンスサービス、モバイルサービス等の各種サービスの提供を目的として構築される。
管理対象機器20は、ECHONET Lite規格(「ECHONET」、「ECHONET Lite」は登録商標)に準拠した機器であり、機器管理装置10との間でECHONET Lite規格に従った通信を行う。管理対象機器20の例として、各種家電製品(エアコン、照明、テレビ、冷蔵庫、洗濯機、炊飯器、食器洗浄機、床暖房機、乾燥機、パーソナルコンピュータ)、スマートメータ、太陽光発電装置、ゲートウェイ装置、燃料電池、ガスメータ、電気自動車、蓄電池充放電制御器、給湯器等がある。
通信ネットワーク5は、有線又は無線による通信環境を実現する通信基盤(通信インフラストラクチャ)であり、例えば、LAN(Local Area Network)である。尚、ECHONET Lite規格は、OSI参照モデル(OSI reference model)における第5層〜第7層の3層のみを規定しており、第1層〜第4層は規格対象外としている。そのため、第1層〜第4層のプロトコルとしては任意のものを選択することができ、例えば、管理対象機器20の通信アドレスとして、IPアドレス(第3層(ネットワーク層)のプロトコルとしてIPを選択した場合)やMACアドレス(第2層(データリンク層)のプロトコルとしてEthernet(登録商標)を選択した場合)を採用することができる。
機器管理装置10は、通信ネットワーク5に接続している管理対象機器20との間でECHONET Lite規格に従って通信を行い、通信ネットワーク5に接続している管理対象機器20の集中管理(監視(稼働状態の監視等)、設定(所在情報の設定、動作設定等)、制御(電源オンオフ制御、動作制御等))を行う。機器管理装置10は、通信ネットワーク5に接続している管理対象機器20を一意に識別しつつ、管理対象機器20の集中管理を行う。機器管理装置10の例としてHEMS(Home Energy Management System)を構成するホームゲートウェイやHEMSサーバがある。
機器管理装置10は、管理対象機器20からの管理対象機器20に関する情報(以下、機器情報(後述する機器情報221)と称する。)を随時取得する。また機器管理装置10は、取得した機器情報もしくはこれに基づく情報をユーザに提供する。機器情報の具体例として、通信ネットワーク5において管理対象機器20に付与されている、OSI参照モデルにおける第2層又は第3層の通信アドレス、ECHONET Lite規格に対応した機器(ECHONET Lite機器と称する。)が保持すべきことを規定している情報(例えば、「プロファイルオブジェクトスーパークラス」、「ノードプロファイルクラス」等として保持される情報)がある。
本実施形態では、機器管理装置10が通信ネットワーク5に接続している管理対象機器20を一意に識別することをトレースと称し、機器管理装置10が管理対象機器20のトレースに用いる情報のことをトレース情報と称する。より正確には、トレースとは、通信ネットワーク5に接続している管理対象機器20を正しく特定(区別)できること、即ち、通信ネットワーク5に同種の管理対象機器20が複数接続しているような状況でも、また管理対象機器20が再起動されたり通信ネットワーク5に再接続されたりしたような場合でも、継続して個々の管理対象機器20を正しく特定(識別)できることをいう。
ECHONET Lite規格では、ECHONET Lite機器はオブジェクト指向によりモデル化されており、ECHONET Lite機器は、「ノードプロファイルオブジェクト」及び「機器オブジェク」トを保持する。このうち前者の「ノードプロファイルオブジェクト」は、ECHONET Lite機器の通信機能をオブジェクト化したものである。後者の「機器オブジェクト」は、「ノードプロファイルオブジェクト」に付随するオブジェクトであり、ECHONET Lite機器が備える(もしくは付随する)機器の機能(エアコン、照明、給湯器、太陽光発電システム、蓄電池、スマート電力量計、各種センサ等)をオブジェクト化したものである。「機器オブジェクト」は、ECHONET Lite規格における「スーパークラスオブジェクト」及び「クラスグループオブジェクト」を継承し、インスタンスの概念を有する。
ECHONET Lite機器間では、オブジェクトを対象としてフレーム(以下、ECHONET Liteフレームと称する。)の授受が行われる。ECHONET Liteフレームは、ヘッダ(EHD)、トランザクションID(TID)、送信元オブジェクト(SEOJ)、送信先オブジェクト(DEOJ)、アクセスルールを指定するサービス(ESV)、アクセス先プロパティ(EPC)、アクセス先プロパティ値(EDT)などの情報を含む。ECHONET Lite機器は、ECHONET Liteフレームのサービス(ESV)に所定のコマンド(GET(状態取得)、SET(設定・操作)、ANNOUNCE(通知))を設定することで、他のECHONET Lite機器の制御、他のECHONET Lite機器の状態やプロパティの取得や参照、ECHONET Lite機器間での各種情報の通知等を行うことができる。
「ノードプロファイルオブジェクト」は、必須プロパティとしてECHONET Lite機器が備える「機器オブジェクト」のリストを示す「自ノードインスタンスリストS」を含む。ECHONET Lite機器のトレースに際し、「ノードプロファイルオブジェクト」のトレースが実現された場合には、その「ノードプロファイルオブジェクト」に付随する「機器オブジェクト」についてもトレースが実現されることになる。これは「ノードプロファイルオブジェクト」のトレース情報と「ECHONET機器オブジェクト(EOJ)」とを組み合わせることで機器オブジェクトを一意に識別できることを意味している。以下の説明において、トレース情報は、「ノードプロファイルオブジェクト」を一意に識別する情報であるものとする。
図1に示しているように、機器管理装置10は、中央処理装置11、記憶装置12、通信装置13、入力装置14、及び出力装置15を備える。これらの装置は図示しない通信手段(バス等)を介して互いに通信可能に接続されている。
中央処理装置11は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)を用いて構成され、記憶装置12に記憶されているプログラムを読み出して実行することにより機器管理装置10の機能を実現する。
記憶装置12は、プログラムやデータを記憶する装置であり、例えば、半導体記憶装置(RAM(Random Access Memory)(DRAM(Dynamic RAM)、SRAM(Static RAM)等)、ROM(Read Only Memory)(PROM(EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable PROM)等))、NVRAM(Non Volatile RAM)等)、ハードディスクドライブ(Hard Disk Drive)、SSD(Solid State Drive)を用いて構成されている。
通信装置13は、通信ネットワーク5を介して管理対象機器20や他の機器管理装置10との間の通信を実現する通信インタフェースであって、例えば、NIC(Network Interface Card)を用いて構成されている。上記通信は、ECHONET Lite規格に準拠(但し、OSI参照モデルの第1層〜第4層についてはTCP/IP、Ethernet(登録商標)等の任意の規格に準拠)して行われる。
入力装置14は、ユーザから操作入力を受け付けるためのユーザインタフェースであって、タッチパネル、キーパッド、キーボード、マウス等である。出力装置15は、五感を通じてユーザに情報を提供するユーザインタフェースであって、例えば、液晶パネル、液晶モニタ、有機ELパネル等の表示装置、スピーカ等の音声出力装置である。
同図に示すように、記憶装置12は、機器情報取得処理プログラム110、第1乃至第4処理プログラム111〜114、トレース情報設定処理プログラム116、及び機器管理処理プログラム117を記憶している。尚、同図では「プログラム」のことを「PG」と略記している。
同図に示すように、記憶装置12は、接続機器管理テーブル121、トレース情報管理テーブル122、個体識別情報管理テーブル123、及び設置場所管理テーブル124を記憶している。尚、同図では「テーブル」のことを「TBL」と略記している。
機器情報取得処理プログラム110は、管理対象機器20と通信することにより管理対象機器20から前述した機器情報を取得する。
第1処理プログラム111は、管理対象機器20から通信ネットワーク5を介して取得される、ECHONET Lite規格における「ノードプロファイルクラス」のプロパティである「識別番号」をその管理対象機器20のトレース情報として選択する機能(以下、第1処理部とも称する。)を機器管理装置10に実現する。
第2処理プログラム112は、通信ネットワーク5を介して管理対象機器20からECHONET Lite規格における「プロファイルオブジェクトスーパークラス」のプロパティである、「メーカコード」と「製造番号」の双方(「メーカコード」と「製造番号」の組み合わせ)を取得している場合に、上記組み合わせを管理対象機器20のトレース情報として選択する機能(以下、第2処理部とも称する。)を機器管理装置10に実現する。
第3処理プログラム113は、通信ネットワーク5を介して管理対象機器20からこれに付与されているOSI参照モデルの第2層の通信アドレスを取得している場合に、その第2層の通信アドレスを管理対象機器20のトレース情報として選択する機能(以下、第3処理部とも称する。)を機器管理装置10に実現する。
第4処理プログラム114は、通信ネットワーク5を介して管理対象機器20から取得されるECHONET Lite規格における「ノードプロファイルクラス」の「個体識別情報」を管理対象機器20のトレース情報として選択する機能(以下、第4処理部とも称する。)を機器管理装置10に実現する。
トレース情報設定プログラム116は、第1乃至第4処理部のうちのいずれかによって、(1)「識別番号」、(2)「メーカコード」と「製造番号」との組み合わせ、(3)第2層の通信アドレス、及び(4)「個体識別情報」のうちのいずれかの種類を管理対象機器20のトレース情報として選択し、選択したトレース情報を管理対象機器20の識別子(例えば、管理対象機器20の通信アドレス)に対応付けてトレース情報管理テーブル122に登録する機能を機器管理装置10に実現する。
機器管理処理プログラム117は、トレース情報管理テーブル122に登録されているトレース情報に基づき管理対象機器20を特定しつつ、通信ネットワーク5に接続している管理対象機器20を集中管理(監視、設定、制御等)するための機能を機器管理装置10に実現する。
尚、機器管理装置10は、例えば、管理対象機器20が通信ネットワーク5に接続されたことを検出したタイミング(管理対象機器20がオンラインになったタイミング)、管理対象機器20が再起動されたことを検出したタイミング、トレース情報を取得するための予め設定されたタイミングが到来した際等のタイミングで管理対象機器20から送られてくる機器情報を取得し、取得した機器情報を参照しつつ、第1乃至第4処理プログラム112〜115、及びトレース情報設定処理プログラム116に基づく処理を実行して管理対象機器20にトレース情報を設定する。
図1に示しているように、管理対象機器20は、中央処理装置21、記憶装置22、通信装置23、及び制御装置24を備える。これらは図示しない通信手段(バス等)を介して互いに通信可能に接続されている。
このうち中央処理装置21は、CPUやMPU等を用いて構成され、記憶装置22に記憶されているプログラムを読み出して実行することにより管理対象機器20の機能を実現する。
記憶装置22は、プログラムやデータを記憶する装置であり、例えば、半導体記憶装置(RAM、ROM、NVRAM等)、ハードディスクドライブ、SSDを用いて構成されている。
通信装置23は、通信ネットワーク5を介して機器管理装置10や他の管理対象機器20との間の通信を実現するインタフェースであり、例えば、NICを用いて構成されている。尚、上記通信は、ECHONET Lite規格に準拠(但しOSI参照モデルの第1層〜第4層についてはTCP/IP、Ethernet(登録商標)等の任意の規格に準拠)して行われる。
制御装置24は、ユーザの操作入力や通信ネットワーク5を介して行われる機器管理装置10からの指示に応じて管理対象機器20が備える各種装置25の制御(例えば、管理対象機器20がエアコンとして機能するものであれば、エアコンの機能を実現している電気回路や機械装置)を行う。機器管理装置10は、上記指示に際しトレース情報を用いて制御対象となる管理対象機器20を特定する。
同図に示すように、記憶装置22は機器情報提供プログラム211を記憶している。また記憶装置22は前述した機器情報221を記憶している。機器情報提供処理プログラム211は、機器管理装置10からの指示に応じてもしくは自発的に通信ネットワーク5を介して機器情報221を随時機器管理装置10に送信する。
図2(a)は機器管理装置10が記憶する接続機器管理テーブル121の一例である。同図に示すように、接続機器管理テーブル121には、通信アドレス1211、トレース情報1212、及びトレース情報の種類1213の各項目を有するレコードを単位として管理対象機器20に関する情報が管理されている。図2(b)は機器管理装置10が記憶するトレース情報管理テーブル122の一例である。同図に示すように、トレース情報管理テーブル122には、トレース情報1221、トレース情報の種類1222、及び通信アドレス1223の各項目を有するレコードを単位として情報が管理されている。尚、接続機器管理テーブル121には、通信ネットワーク5に現在接続している管理対象機器20の情報のみが登録される。一方、トレース情報管理テーブル122には、通信ネットワーク5に現在接続している管理対象機器20の情報に加えて、現在は接続していないが過去に通信ネットワーク5に接続したことのある管理対象機器20の情報も含めて登録される。
図3は機器管理装置10が記憶する個体識別情報管理テーブル123の一例である。同図に示すように、個体識別情報管理テーブル123には、個体識別情報1231、メーカコード1232、及びインスタンスリスト1233の各項目を有するレコードを単位として情報が管理されている。尚、機器管理装置10が記憶する設置場所管理テーブル124については後述する。
ところで、ECHONET Lite規格は機器をトレースするための統一的な方法を規定していない。そのため、機器管理装置10によって管理対象機器20を集中管理するには機器管理装置10に管理対象機器20を正確にトレースする仕組みが必要になる。そこで本実施形態では、ECHONET Lite規格おけるプロパティである「識別番号」、「メーカコード」及び「製造番号」の組み合わせ、OSI参照モデル(OSI reference model)の第2層の通信アドレス(例えば「MACアドレス」)、及び「個体識別情報」のいずれかをトレース情報として採用することにより、管理対象機器20を正確にトレースする仕組みを機器管理装置10に実現している。尚、これらの情報をトレース情報として採用する場合は各情報について以下に示す特性を考慮する。
まず「ノードプロファイルオブジェクト」のプロパティの一つである「識別番号」であるが、これはECHONET Lite機器の「ノードプロファイルオブジェクト」をドメイン内で一意に識別するための番号である。ECHONET Lite規格Ver1.01では「識別番号」の1バイト目に「0xFE」、「0xFF」、「0x00」(「0x」は16進表記を意味している)のいずれかを設定することができる。一方、ECHONET Lite規格Ver1.10では、「識別番号」は必ず設定する必要があり、「識別番号」の1バイト目に必ず「0xFE」を設定する必要がある。
「識別番号」の1バイト目に「0xFE」が設定されている場合、「識別番号」の2〜4バイト目の3バイトはメーカコード、5〜17バイト目の13バイトは各メーカで重複しないように担保するよう規定されているメーカ独自のユニークなID部となる。
「識別番号」の1バイト目に「0xFF」が設定されている場合、「識別番号」の2バイト目以降には乱数が設定される。尚、確率は高くはないものの乱数の生成方法によっては他の機器と値が重複する可能性がある。
「識別番号」の1バイト目に「0x00」が設定されている場合は「識別番号」が未設定であることを意味する。ECHONET Lite規格Ver1.01ではこのように「識別番号」を未設定とすることを許容しており、1バイト目に「0x00」が設定されているECHONET Lite機器についてはその「識別番号」をトレース情報とすることができない。
次に「プロファイルオブジェクトスーパークラス」のプロパティである「メーカコード」及び「製造番号」の組み合わせであるが、「製造番号」を各メーカが一意に設定している場合はこれをトレース情報として用いることができる。但し「製造番号」はECHONET Lite規格において他のECHONET Lite機器から取得が可能な必須プロパティに指定されておらず(「製造番号」を設定しないことも許容されており)、「メーカコード」及び「製造番号」の組み合わせが設定されていないECHONET Lite機器についてはこれをトレース情報とすることができない。
次にOSI参照モデルの第2層の通信アドレス(例えば「MACアドレス」)であるが、これは通常は個々のECHONET Lite機器に不変な情報として設定され、またECHONET Lite機器ごとに一意に設定される性質の情報である。しかしECHONET Lite規格においてはOSI参照モデルの第2層は規格対象外であり、ECHONET Lite機器に第2層の通信アドレスが設定されていない場合もある。
「個体識別情報」は、ECHONET Lite規格において、ドメイン内で各ノード(ECHONET Lite機器)を一意に識別可能な情報とし、かつ機器を移動(サブネットの変更等)した後も常に同一ノードは不変なものとして取り扱い可能とするための情報として定義されている。また「個体識別情報」は不揮発メモリに保持(記憶)することを原則必須としている。但し例外として「メーカコード」と「製造番号」の組合せにより機器の識別が可能な場合は「個体識別情報」を不揮発メモリ保持(記憶)しなくてもよい。尚、「個体識別情報」には2バイトの値しか設定することができず(メーカ等が自由に設定できるのはさらにそのうちの14ビットのみ)、他のECHONET Lite機器と重複してしまう可能性がある。従って、例えば、通信ネットワーク5に複数のベンダが提供するECHONET Lite機器が共存する場合は「個体識別情報」が重複する可能性がある。
機器管理装置10は以上の特性を踏まえつつユーザの入力や選択なしに管理対象機器20に付与すべき適切なトレース情報を自動的に取得する。以下、トレース情報の取得並びにトレース情報の利用に関して機器管理装置10が行う処理について説明する。
図4は機器管理装置10が、通信ネットワーク5に接続している管理対象機器20のトレース情報を取得する処理(以下、トレース情報取得シーケンスS400と称する。)を説明する図である。尚、以下の説明において、符号の前に付している「S」の文字は「ステップ」を意味する。
同図に示すように、まず機器管理装置10は、通信ネットワーク5に接続している管理対象機器20に機器情報221の提供を要求する。例えば、機器管理装置10は、マルチキャストアドレスを送信先アドレスとし、「ノードプロファイルオブジェクト」を送信先ECHONETオブジェクト(EOJ)として設定した、上記要求を載せたフレーム(ECHONET Liteフレーム。以下、フレームと表記する。)を通信ネットワーク5に一斉同報送信し、通信ネットワーク5に接続している管理対象機器20に機器情報221の提供を要求する(S411)。管理対象機器20がOSI参照モデルの第3層として例えばIPv4を使用している場合、上記マルチキャストアドレスは「224.0.23.0」であり、またIPv6を使用している場合、上記マルチキャストアドレスは「FF02::1」である。尚、機器管理装置10は、必ずしも管理対象機器20からマルチキャストフレームに対する応答として機器情報221を取得する必要はなく、各管理対象機器20に対して個別に機器情報221の要求フレームを送信してもよい。また各管理対象機器20が自発的に機器管理装置10に機器情報221を送信するようにしてもよい。
管理対象機器20は、機器管理装置10から上記フレームを受信すると、機器情報221を含んだフレームを機器管理装置10に送信する(S412)。複数の管理対象機器20が通信ネットワーク5に接続している場合はそれら全ての管理対象機器20が個別に夫々の機器情報221を含むフレームを機器管理装置10に送信する。尚、以下の説明において、上記機器情報221には、ECHONET Lite規格におけるECHONET Liteノードの必須プロパティ(「機器オブジェクトスーパークラス」の必須プロパティまたは「ノードプロファイルクラス」の必須プロパティ)が含まれており、少なくとも「ノードプロファイルクラス」の「自ノードインスタンスリストS」が含まれているものとする。この「自ノードインスタンスリストS」は、自ノードとして公開している「機器オブジェクト」のインスタンスの情報を含む。
機器管理装置10は、管理対象機器20から機器情報221を受信すると、続いて管理対象機器20にトレース情報を設定する処理(以下、トレース情報設定処理S413と称する。)を行う。
図5は、トレース情報設定処理S413の詳細を説明するフローチャートである。同図に示すように、まず機器管理装置10は、図4のS412で受信したフレームに機器情報221として含まれている当該フレームの送信元の管理対象機器20(以下、該当機器と称する。)の通信アドレスが接続機器管理テーブル121に既に登録済みであるか否かを判断する(S511)。該当機器の通信アドレスが接続機器管理テーブル121に既に登録されている場合(S511:YES)、機器管理装置10は、S512の処理(以下、機器登録情報確認処理S512と称する。)を行う。一方、該当機器の通信アドレスが接続機器管理テーブル121に登録されていない場合(S511:NO)、機器管理装置10は、S513の処理(以下、機器登録処理S513と称する。)を行う。
図6は、図5の機器登録情報確認処理S512を説明するフローチャートである。同図に示すように、まず機器管理装置10は、図4のS412において機器情報221を送信してきた管理対象機器20(該当機器)のトレース情報の種類を接続機器管理テーブル121から取得する(S611)。
続いて機器管理装置10は、取得したトレース情報の種類に対応するトレース情報(以下、これをトレース情報Aと称する。)を図4のS412で受信した機器情報221から取得する(S612)。また機器管理装置10は、機器情報管理テーブル300から該当機器の通信アドレスに対応づけて登録されているトレース情報(以下、これをトレース情報Bと称する。)を取得する(S613)。
続いて機器管理装置10は、トレース情報Aとトレース情報Bとを比較する(S614)。比較の結果、トレース情報Aとトレース情報Bが同じであれば(S614:YES)、当該機器登録情報確認処理S512は終了する。一方、トレース情報Aとトレース情報Bとが同じでなければ(S614:NO)、機器管理装置10はトレース情報を再取得する。具体的には、機器管理装置10は、接続機器管理テーブル121から該当機器の通信アドレスに対応づけて記憶されているトレース情報を削除し(S615)、図7に示す機器登録処理S513を行ってトレース情報を再取得する。このように、機器管理装置10は、トレース情報として記憶している機器情報が最新に取得した機器情報と一致しない場合はトレース情報を再取得するので、機器管理装置10は常に該当機器の最新の状態に基づくトレース情報を保持することができる。尚、S614にてトレース情報Aとトレース情報Bとが不一致(S614:NO)となるのは、例えば、該当機器の電源がオフオンされた場合や通信ネットワーク5にて通信アドレスの再取得(例えば、DHCPサーバから取得したIPアドレスの解放(Release)及び更新(Renew))が行われた場合である。
図7は、図5並びに図6に示した機器登録処理S513の詳細を説明するフローチャートである。以下、機器登録処理S513について説明する。
同図に示すように、まず機器管理装置10は、該当機器からトレース情報の決定に用いる機器情報221を取得する(S711)。尚、機器情報221のうち、これまでの処理にて既に取得している情報については必ずしも再取得する必要はなく、記憶装置12に既に記憶している機器情報221を流用してよい。例えば、図4のS412で取得し記憶装置12に記憶している機器情報221については必ずしもこの段階で機器管理装置10が再取得する必要はない。
続いて機器管理装置10は、取得した機器情報221に含まれている「ノードプロファイルクラス」のプロパティである「Version情報」に基づき、該当機器のECHONET Lite規格のバージョンが1.10以上であるか否かを調べる(S712)。該当機器のECHONET Lite規格のバージョンが1.10以上である場合(S712:YES)、機器管理装置10は、「識別番号」をトレース情報とすることを決定し、S717からの処理を行う。一方、該当機器のECHONET Lite規格のバージョンが1.10未満である場合(S712:NO)、機器管理装置10はS713からの処理を行う。
S713では、機器管理装置10は、取得した機器情報221に含まれている「ノードプロファイルクラス」のプロパティである「識別番号」の1バイト目が「0xFE」であるか否かを判断する。「識別番号」の1バイト目が「0xFE」である場合(S713:YES)、機器管理装置10は、「識別番号」をトレース情報とすることを決定し、S717からの処理を行う。一方、「識別番号」の1バイト目が「0xFE」でない場合(S713:NO)、機器管理装置10はS714からの処理を行う。
S714では、機器管理装置10は、「プロファイルオブジェクトスーパークラス」のプロパティである「メーカコード」と「製造番号」の双方を取得できているか否かを判断する。「メーカコード」と「製造番号」の双方を取得できている場合(S714:YES)、機器管理装置10は、「メーカコード」と「製造番号」の組み合わせをトレース情報とすることを決定し、S717からの処理を行う。一方、「メーカコード」と「製造番号」の双方を取得できていない場合(S714:NO)、機器管理装置10はS715からの処理を行う。
S715では、機器管理装置10は、「MACアドレス」を取得できているか否かを判断する。「MACアドレス」を取得できている場合(S715:YES)、機器管理装置10は、「MACアドレス」をトレース情報とすることを決定し、S717からの処理を行う。一方、「MACアドレス」を取得できていない場合(S715:NO)、機器管理装置10はS716の処理を行う。
S716では、機器管理装置10は、「個体識別情報」をトレース情報とすることを決定し、「個体識別情報」のユニーク性を確保するための処理(以下、個体識別情報解析処理S716と称する。)を開始する。尚、個体識別情報解析処理S716の詳細については後述する。
S717では、機器管理装置10は、S712〜S715にてトレース情報とすることを決定した情報(「識別番号」、「メーカコード」と「製造番号」の組み合わせ、「MACアドレス」うちのいずれか)と該当機器の通信アドレス(識別子)とを対応づけたレコードをトレース情報管理テーブル122に追加する。尚、該当機器のレコード(通信アドレス1223から特定されるレコード)が既に存在する場合は当該レコードのトレース情報を更新する。
S718では、機器管理装置10は、S712〜S715にてトレース情報とすることを決定した情報(「識別番号」、「メーカコード」と「製造番号」の組み合わせ、「MACアドレス」のうちのいずれか)と該当機器の通信アドレスとを対応づけたレコードを接続機器管理テーブル121に追加する。
図8は、図7に示した個体識別情報解析処理S716を説明するフローチャートである。同図に示すように、まず機器管理装置10は、取得している「個体識別情報」が、個体識別情報管理テーブル123に既に登録済みであるか否かを判断する(S811)。取得している「個体識別情報」が個体識別情報管理テーブル123に登録済みでなければ(S811:NO)、S812の処理に進む。一方、取得している「個体識別情報」が個体識別情報管理テーブル123に登録済みであれば(S811:YES)、S815の処理(以下、同一機器判定処理S815と称する。)を行う。
S812では、機器管理装置10は、取得している「個体識別情報」、「メーカコード」、及び「自ノードインスタンスリストS」を対応づけたレコードを個体識別情報管理テーブル123に追加する。またS813では、機器管理装置10は、該当機器の「個体識別情報」(トレース情報)と該当機器の通信アドレス(識別子)とを対応づけたレコードをトレース情報管理テーブル122に追加する。S814では、機器管理装置10は、該当機器の「個体識別情報」(トレース情報)と該当機器の通信アドレス(識別子)とを対応づけたレコードを接続機器管理テーブル121に追加する。
図9は、図8に示した同一機器判定処理S815を説明するフローチャートである。同図に示すように、まず機器管理装置10は、該当機器が個体識別情報管理テーブル123に登録されている管理対象機器20と同一の機器か否かを判定する(S911)。この判定は、具体的には、図4のS412又は図7のS711で取得した該当機器の「メーカコード」及び「自ノードインスタンスリストS」を、個体識別情報管理テーブル123の該当機器の「個体識別情報」に対応付けて登録されている「メーカコード」及び「自ノードインスタンスリストS」と比較することにより行う。該当機器が個体識別情報管理テーブル123に登録されている管理対象機器20と同一である場合(S911:YES)、処理はS921に進む。両者が同一でない場合(S911:NO)、処理はS912に進む。尚、上記の「メーカコード」及び「自ノードインスタンスリストS」は例示に過ぎず、これら以外の情報に基づき上記判定を行ってもよい。
S912では、機器管理装置10は、該当機器に管理対象機器20に付与されている「個体識別情報」と重複しない「個体識別情報」を設定する。具体的には、機器管理装置10は、個体識別情報管理テーブル123に未登録の「個体識別情報」を生成し、該当機器にその設定要求を送信して該当機器に生成した「個体識別情報」を設定する。このように機器管理装置10は、該当機器に、管理対象機器20に付与されている「個体識別情報」と重複しない「個体識別情報」を設定するので、「個体識別情報」のユニーク性を確保することができる。
S913では、機器管理装置10は、S912で生成した「個体識別情報」と、取得している「メーカコード」及び「自ノードインスタンスリストS」とを対応づけて、個体識別情報管理テーブル123に追加する。
S914では、機器管理装置10は、S912で生成した「個体識別情報」(トレース情報)を該当機器の通信アドレス(識別子)と対応づけたレコードをトレース情報管理テーブル122に追加する。S915では、機器管理装置10は、S912で生成した「個体識別情報」(トレース情報)を該当機器の通信アドレス(識別子)と対応づけたレコードを接続機器管理テーブル121に追加する。
一方、S921では、機器管理装置10は、トレース情報管理テーブル122の該当機器の「個体識別情報」で特定されるレコードを更新する(該当機器の「個体識別情報」を該当機器の通信アドレス(識別子)に対応づける)。またS922では、機器管理装置10は、該当機器の「個体識別情報」を該当機器の通信アドレス(識別子)に対応づけたレコードを接続機器管理テーブル121に追加する。
尚、前述したように、管理対象機器20が不揮発性の記憶素子を備えていない場合は「個体識別情報」をトレース情報として活用することができないが、同一機器判定処理S815では「個体識別情報」が不揮発記憶可であるか否の確認をとくに行っていない。これは図7の個体識別情報解析処理S716が実行されるのは、図7の機器登録処理S513にて「メーカコード」と「製造番号」の組み合わせを取得することができない場合であり、この場合は「個体識別情報」を不揮発性メモリに記憶することが必須だからである。機器管理装置10は、管理対象機器20が「個体識別情報」を不揮発性メモリに記憶可能であるか否かについて、「個体識別情報」の上位バイトの第7ビットを参照することにより確認することができる(上記第7ビットが「0」であれば不揮発性メモリに記憶可、上記第7ビットが「1」であれば不揮発性メモリに記憶不可)。
以上に説明したように、本実施形態のホームネットワークシステム1においては、ユーザにトレース情報の入力操作や選択操作を強いることなく、不変性の高い適切なトレース情報を通信ネットワーク5に接続する管理対象機器20に自動的に設定することができる。また個々の管理対象機器20の状態(ECHONET Lite規格のバージョンはいくつか、「識別番号」のユニーク性は確保されているか(「識別番号」の1バイト目が「0xFE」であるか)、「メーカコード」と「製造番号」の双方を取得できているか否か、第2層の通信アドレス(「MACアドレス」)を取得可能か、「個体識別情報」のユニーク性は確保されているか等)に応じて、管理対象機器20ごとに適切なトレース情報を設定することができる。また図7に示した順序で管理対象機器20に設定するトレース情報を選択することにより、トレース情報として適切な情報(ユニーク性が高いもの)を優先して選択することができる。
尚、以上の仕組みは、今後、管理対象機器20をトレースする統一的な方法が規定された新バージョンのECHONET Lite規格が登場した後においても、管理対象機器20をトレースする統一的な方法が規定されていない旧バージョンのECHONET Lite機器が通信ネットワーク5に接続される可能性がある限り有効に機能する。
図10は、トレース情報の利用態様として示す、トレース情報管理テーブル122に基づき機器管理装置10が出力装置15に表示する画面(以下、機器設置場所登録画面1000と称する。)である。機器管理装置10は、例えば、通信ネットワーク5に新たな管理対象機器20が接続されていることを検出した際にこの機器設置場所登録画面1000を表示して管理対象機器20の設置場所の登録をユーザに促す。同図に示すように、機器設置場所登録画面1000には、検出された管理対象機器20の名称の表示欄1011、設置場所の設定欄1012、及びトレース情報の表示欄1013が設けられている。トレース情報の表示欄1013には、前述した処理によって機器管理装置10が自動的に設定したトレース情報が編集不可の状態で表示される(トレース情報は自動設定されるため)。ユーザは設置場所の設定欄1012に設置場所を設定した後、登録ボタン1014を選択する。すると機器管理装置10は、設定された設置場所を管理対象機器20のトレース情報と対応づけて設置場所管理テーブル124に登録する。
尚、この例では「エアコン」と「温度センサ」に同一のトレース情報が設定されているが、これは前述したトレース情報が「ノードプロファイルオブジェクト」を一意に特定する情報であるからであり、ECHONET Lite機器は、1つの「ノードプロファイルオブジェクト」と1つ以上の「機器オブジェクト」(この場合は「エアコン」と「温度センサ」)とで構成されるからである。
また同図にはトレース情報の表示欄1013を設けているが、ユーザにトレース情報を見せる必要がない場合はトレース情報の画面表示を省略してもよい。ユーザは通常は新規に通信ネットワーク5に接続した機器がどれであるか(例えば、図10の機器設置場所登録画面1000に表示されている「エアコン」がリビングに設置されたものであるのか、寝室に設置されたものであるのか)を知っているので、ユーザは支障なく設置場所の設定を行うことができる。
図11に設置場所管理テーブル124の一例を示す。機器管理装置10は、機器設置場所登録画面1000の表示内容を設置場所管理テーブル124から取得する。同図に示すように、設置場所管理テーブル124は、トレース情報とEOJ(ECHONETオブジェクト)の組み合わせ1111並びに設置場所1112の各項目を含むレコードを単位として情報が管理されている。トレース情報管理テーブル122に登録されている管理対象機器20についてはその「自ノードインスタンスリストS」から、それがどのようなEOJの機器オブジェクトを有しているかを把握する事が可能である。このため、このようにトレース情報とEOJとを組み合わせた情報と設置場所との対応を設置場所管理テーブル124に管理することで、「機器オブジェクト」の設置場所を特定することができる。
以上、本発明の実施形態について詳細に説明したが、本発明の範囲は以上に示した実施形態に限定されるものではなく、本発明には様々な変形例が含まれる。例えば、以上の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。またある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、またある実施形態の構成に他の実施形態の構成を加えることも可能である。また各実施形態の構成の一部について、他の構成の追加・削除・置換をすることも可能である。
また上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によってハードウエアで実現するようにしてもよい。また上記の各構成、機能等は、プロセッサがそれらの構成や機能を実現するプログラムを解釈し、実行することによりソフトウエアで実現するようにしてもよい。各構成や機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また制御線や情報線は説明上必要と考えられるものを示しているのであり、製品上、必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えることもできる。
また前述した接続機器管理テーブル121及びトレース情報管理テーブル122は、例えば、図12に示すように単一のテーブル(以下、トレース情報管理テーブル1200と称する。)としてもよい。このトレース情報管理テーブル1200には、トレース情報1211、トレース情報の種類1212、通信アドレス1213、及び接続状態1214の各項目を有するレコードを単位として情報が管理されている。接続状態1214には、そのレコードのトレース情報で特定される管理対象機器20が、通信ネットワーク5に現在接続しているか否かを示す情報が設定される(接続中:オンライン、切断中:オフライン)。