(57)【特許請求の範囲】
【請求項１】
管理対象機器からの属性情報を受信時刻とともに保持する属性情報保持部と、
機器管理装置から属性情報の取得要求を受信すると、前記取得要求の受信時刻と前記属性情報の受信時刻との差に応じて、前記属性情報保持部が保持している属性情報を前記機器管理装置に応答すること、
または前記取得要求に対応する属性情報を前記管理対象機器から取得して前記機器管理装置に応答することのいずれかを行う応答制御部と、
からなることを特徴とする機器管理中継装置。
【請求項２】
前記属性情報保持部は、キャッシュ値許容時間を前記各機器管理装置の属性情報として保持し、
前記応答制御部は、前記取得要求の受信時刻と前記属性情報との差が、前記キャッシュ値許容時間より小さい場合は前記取得要求に対応する属性情報を前記機器管理装置に応答する、
ことを特徴とする請求項１に記載の機器管理中継装置。
【請求項３】
前記応答制御部は、各前記機器管理装置に対して前記キャッシュ値許容時間通知要求を送信することにより、または、いずれかの前記機器管理装置からの前記キャッシュ値許容時間の更新通知を受信することにより、前記キャッシュ値許容時間を取得する、
ことを特徴とする請求項２に記載の機器管理中継装置。
【請求項４】
前記属性情報保持部は、前記管理対象機器または前記機器管理装置ごとにエントリを有し、当該エントリごとに前記属性情報および前記受信時刻が登録される機器データ管理テーブルのデータを記憶する、
ことを特徴とする請求項２または３に記載の機器管理中継装置。
【請求項５】
取得要求のフレームデータに設定される前記機器管理装置のアドレス情報は前記機器データ管理テーブル上に設定されている、
ことを特徴とする請求項４に記載の機器管理中継装置。
【請求項６】
前記応答制御部は、前記取得要求の属性情報が複数の属性値を含む場合、前記取得要求の受信時刻と当該属性値の受信時刻との差が前記キャッシュ値許容時間に比較して小さい属性値については、前記属性情報保持部が保持している内容を前記属性値ごとに応答値とし、
当該属性値以外の属性値については、前記管理対象機器に要求して取得した値を応答値として、前記複数の属性値に対応する応答値が揃った時点で、当該応答値を前記機器管理装置に応答する、
ことを特徴とする請求項２ないし５のいずれかに記載の機器管理中継装置。
【請求項７】
管理対象機器からの属性情報を受信時刻とともに保持し、
機器管理装置から属性情報の取得要求を受信すると、前記取得要求の受信時刻と前記属性情報の受信時刻との差に応じて、前記保持されている属性情報を前記機器管理装置に応答し、
または前記取得要求に対応する属性情報を前記管理対象機器から取得して前記機器管理装置に応答する、
ことを特徴とする機器管理中継方法。
【請求項８】
管理対象機器からの属性情報を受信時刻とともに保持する処理と、
機器管理装置から属性情報の取得要求を受信すると、前記取得要求の受信時刻と前記属性情報の受信時刻との差に応じて、前記保持されている属性情報を前記機器管理装置に応答し、
または前記取得要求に対応する属性情報を前記管理対象機器から取得して前記機器管理装置に応答する処理と、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
宅内のセンサや電化製品等の管理対象機器からデータを取得し、取得したデータをもとに機器を制御する機器管理システムにおける機器管理中継装置、方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、住宅やビル等の宅内のホームネットワークとインターネット等の外部ネットワークとを接続する、ホームゲートウェイ装置またはゲートウェイ装置(以後「ＧＷ」と記載)と呼ばれる装置が知られている（例えば特許文献１または２に記載の技術）。
【０００３】
例えば、インターネット上のサーバやゲートウェイ装置上で動作するアプリケーションソフトウェアによるサービスは、ＧＷを介して、ホームネットワークに接続されたセンサや電化製品等の管理対象機器に対して、データの収集や制御を行う。より具体的には、サービスの一例では、宅内の家庭用電化製品が宅外からインターネットを介して制御される。あるいは、サービスの他の例では、電力会社やガス会社から各契約宅内の電力計やガスメータに対して遠隔で検診が行われる。
【０００４】
このようなサービスが同一のホームネットワーク内で複数利用される場合において、同一のホームネットワークに複数のＧＷが接続され、同一の管理対象機器に対して複数のＧＷからデータ収集が行われる場合が考えられる。
【０００５】
ここで、クライアントからホームサーバへのパスに沿って、ネットワーク内で自動的、透過的、分散的なキャッシュ方法からなる技術が知られている（例えば特許文献３に記載の技術）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２４５６８１号公報
【特許文献２】特表２００１−５２６８１４号公報
【特許文献３】ＷＯ２００６／１２６３５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のように、同一の管理対象機器に対して複数のＧＷからデータ収集が行われる場合、短時間に複数のＧＷから複数のデータ取得メッセージが同一の管理対象機器に対して送信される可能性がある。ここで、管理対象機器には様々なものが存在し得るため、管理対象機器において、受信バッファ等のハードリソースが少ない場合が考えられる。この場合例えば、一つの管理対象機器に複数のデータ取得メッセージが集中することにより、受信バッファでの保持可能数を超えるパケットが受信された場合、受信バッファ溢れによりパケットが破棄されてしまい、サービスに影響を及ぼしてしまう可能性がある。
【０００８】
受信バッファ溢れへの対策として、受信バッファを構成するメモリを増強し最大受信バッファ数を増やす方法が考えられるが、ホームネットワークシステムでは通常、既存の電化製品やセンサ機器を利用しハード内を変更できない場合が多いため、現実的には困難である。
【０００９】
そこで、本発明の１つの側面では、管理対象機器における受信バッファ等のリソースの消費を低減することを目的とする。
【課題を解決するための手段】
【００１０】
態様の一例では、管理対象機器からの属性情報を受信時刻とともに保持する属性情報保持部と、機器管理装置から属性情報の取得要求を受信すると、前記取得要求の受信時刻と前記属性情報の受信時刻との差に応じて、前記属性情報保持部が保持している属性情報を前記機器管理装置に応答すること、または前記取得要求に対応する属性情報を前記管理対象機器から取得して前記機器管理装置に応答することのいずれかを行う応答制御部と、からなることを特徴とする機器管理中継装置、を提供する。
【発明の効果】
【００１１】
管理対象機器における受信バッファ等のリソースの消費を低減することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態による機器管理システムの構成例を示す図である。
【図２】スイッチ１０１およびＧＷ１０２の機能構成例を示すブロック図である。
【図３】スイッチ１０１およびＧＷ１０２のハードウェア構成例を示す図である。
【図４】機器データ管理テーブル２０３−３のデータ構成例を示す図である。
【図５】ＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトデータ管理テーブル２１３のデータ構成例を示す図である。
【図６】ＥＣＨＯＮＥＴ  Ｌｉｔｅフレームが格納されたイーサネットフレームデータの構成例を示す図である。
【図７】スイッチ１０１の立上げ時の代理応答処理の例を示すフローチャートである。
【図８】スイッチ１０１のフレーム受信時の代理応答処理の例を示すフローチャートである。
【図９】スイッチ１０１のデータ取得要求受信時処理の詳細例を示すフローチャートである。
【図１０】スイッチ１０１の状態通知・応答受信時処理の詳細例を示すフローチャートである。
【図１１】ＧＷ１０２のキャッシュ値許容時間登録・更新状態通知処理の例を示すフローチャートである。
【図１２】ＧＷ１０２へのキャッシュ値許容時間登録のシーケンス例を示す図である。
【図１３】ＧＷ１０２でのキャッシュ値許容時間登録に続くキャッシュ値許容時間登録状態通知処理のシーケンス例を示す図である。
【図１４】スイッチ１０１の立上げ時のインスタンスリスト通知要求処理およびキャッシュ値許容時間取得処理のシーケンス例を示す図である。
【図１５】ＧＷ１０２からのインスタンスリスト取得要求処理（機器検出処理）のシーケンス例を示す図である。
【図１６】ＧＷ１０２からのプロパティ値取得要求処理のシーケンス例（その１）を示す図である。
【図１７】ＧＷ１０２からのプロパティ値取得要求処理のシーケンス例（その２）を示す図である。
【図１８】機器１０３からの状態通知処理のシーケンス例を示す図である。
【図１９】本実施形態の効果を説明するシーケンス例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態（以下、「本実施形態」と記載）について図面を参照しながら詳細に説明する。
【００１４】
図１は、本実施形態による機器管理システムの構成例を示す図である。
住宅・ビル等の宅内１００に設置されるセンサ機器や電化製品等の＃１、＃２、・・・、＃ｎのｎ台（ｎは１以上の任意の整数）の機器１０３（管理対象機器）が、スイッチ１０１に接続される。また、＃１、＃２、・・・、＃ｍのｍ台（ｍは１以上の任意の整数）のＧＷ１０２（機器管理装置）が、スイッチ１０１に接続される。例えばＧＷ１０２（＃２）は、ルータ１０４を介して、インターネット等のグローバルネットワーク１０６に接続される。グローバルネットワーク１０６には、サーバ１０５が接続される。
【００１５】
例えばＧＷ１０２（＃２）は、グローバルネットワーク１０６上のサーバ１０５で実行されるアプリケーションソフトウェアのサービスからの要求に応じて、スイッチ１０１を介して、＃１〜＃ｎのうちの任意の１つ以上の機器（管理対象機器）１０３と通信する。また、他の所定のＧＷ１０２は、ＧＷ１０２自身に搭載されたアプリケーションソフトウェアのサービスからの要求に応じて、スイッチ１０１を介して、＃１〜＃ｎのうちの任意の１つ以上の機器１０３と通信する。
【００１６】
本実施形態では、ＧＷ１０２が機器１０３が管理するプロパティ値（属性情報）の取得を要求する場合に、機器１０３に問い合わせる代わりに、スイッチ１０１内にキャッシュした機器１０３ごとおよびその機器１０３のプロパティ値ごとのキャッシュ値を代理応答することで、機器１０３への通信を削減することができる。この場合、スイッチ１０１での各プロパティ値のキャッシュの保持時間が長いと、機器１０３の各プロパティ値の変更が長時間反映されず、短期的な更新が必要なサービスへ影響が出てしまう。逆に、各プロパティ値のキャッシュの保持時間が短いと、機器１０３へのアクセス頻度が高くなってしまう。すなわち、通常のキャッシュ技術を用いて機器１０３への送信パケット削減をすると、リアルタイムなデータを取得することができない。そこで、本実施形態では、予めスイッチ１０１に登録されたＧＷ１０２ごとのキャッシュ値許容時間に基づいて、キャッシュ応答をするか機器１０３に問い合わせるかが制御される。
【００１７】
これにより、本実施形態では、同一の機器１０３に対するプロパティ値の取得要求数を減少させて機器１０３に到達するパケット数を削減することにより、機器１０３への問合せを最小限に抑えることを可能とする。これとともに、本実施形態では、ＧＷ１０２が許容する時間範囲の最新データを、スイッチ１０１からＧＷ１０２に代理応答することを可能とする。
【００１８】
このようにして、本実施形態では、機器１０３への問合せが削減される結果、機器１０３に大きな容量の受信バッファを搭載する必要がなくなり、受信バッファ等のリソースの消費を低減できる。さらに、バッファ溢れによるパケット破棄数を削減することが可能となる。また、本実施形態では、機器１０３における取得要求への応答処理等の処理負荷を低減することが可能となる。さらに、本実施形態は、ＧＷ１０２やそのＧＷ１０２が接続されるサーバで実行されるサービスの要求に応じたリアルタイムなデータの取得が、スイッチ１０１に搭載されるキャッシュ機構を通じて可能になる。
【００１９】
図２は、図１のスイッチ１０１およびＧＷ１０２の機能構成例を示すブロック図である。
【００２０】
スイッチ１０１は、スイッチ機能部２０１、スイッチ側送受信部２０２、および代理応答部２０３を含む。
【００２１】
スイッチ側送受信部２０２は、図１のＧＷ１０２（図２では＃１、＃２、＃３）および図１の機器１０３（図２では＃１、＃２、＃３）のそれぞれと、特には図示しないポート部を介して接続され、各ＧＷ１０２または各機器１０３との間で、フレームデータを送信または受信する。
【００２２】
スイッチ機能部２０１は、スイッチ側送受信部２０２の任意のポート部で受信されるフレームデータを、そのフレームデータに設定されている宛先ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスに従って、他の宛先のポート部に中継転送する。
【００２３】
代理応答部２０３は、フレーム振分け部２０３−１、キャッシュデータ制御部２０３−２、および機器データ管理テーブル２０３−３を含む。
【００２４】
フレーム振分け部２０３−１は、スイッチ機能部２０１が転送するフレームデータを監視する。そして、フレーム振分け部２０３−１は、ＧＷ１０２と機器１０３との間の通信プロトコルに従うフレームデータについては、そのフレームデータをキャッシュデータ制御部２０３−２へ引き渡す。ＧＷ１０２と機器１０３との間の通信プロトコルは例えば、エコーネットコンソーシアムが策定し、国際標準化機構（ＩＳＯ）規格および国際電気標準会議（ＩＥＣ）規格として国際標準化されたＥＣＨＯＮＥＴ  Ｌｉｔｅ通信プロトコルである。ＥＣＨＯＮＥＴ  Ｌｉｔｅ通信プロトコルは、ＥＣＨＯＮＥＴ  Ｌｉｔｅフレームと呼ばれるメッセージ（後述する図６参照）によって、ＧＷ１０２が機器１０３に対してデータ収集をしまたは制御する通信手順である。
【００２５】
属性情報保持部たとえば、機器データ管理テーブル２０３−３は、機器１０３のプロパティ（属性情報）およびそのプロパティの受信時刻を含む情報を保持する。より具体的には、機器データ管理テーブル２０３−３は、機器１０３またはＧＷ１０２ごとにエントリを有し、そのエントリごとにプロパティおよびそのプロパティの受信時刻が登録される。プロパティは、機器１０３ごとに定義されているプロパティ名とその値の組の集合である。この詳細については、図４の機器データ管理テーブル２０３−３の説明において後述する。
【００２６】
属性情報応答制御部たとえば、キャッシュデータ制御部２０３−２は、機器１０３からプロパティを受信すると、そのプロパティをその受信時刻とともに機器データ管理テーブル２０３−３に保持する。また、キャッシュデータ制御部２０３−２は、ＧＷ１０２からプロパティ値取得要求を受信すると、以下の動作を実行する。キャッシュデータ制御部２０３−２は、プロパティ値取得要求に対応して機器データ管理テーブル２０３−３が保持するプロパティ値をＧＷ１０２に代理応答する処理、又はプロパティ値取得要求に対応するプロパティ値を機器１０３から取得してＧＷ１０２に代理応答する処理の何れかを実行する。どちらの応答処理が実行されるかは、プロパティ値取得要求に対応するプロパティ値を機器データ管理テーブル２０３−３が保持しているか否かおよびプロパティ値取得要求の受信時刻と機器データ管理テーブル２０３−３が保持している各プロパティ値の受信時刻との差に基づき決定される。キャッシュデータ制御部２０３−２のその他の動作の詳細については、図７〜図１０のフローチャートによるキャッシュデータ制御部２０３−２の詳細動作の説明において後述する。
【００２７】
次にＧＷ１０２は、図２の＃１のＧＷ１０２として示されるように、ＥＣＨＯＮＥＴ  Ｌｉｔｅプロトコル処理部２１０（図２中では「プロトコル処理部」と表記）を含む。、また、ＧＷ１０２は、ＧＷ側送受信部２１１、およびキャッシュ値許容時間登録インタフェース（図２中では「キャッシュ値許容時間登録ＩＦ」と表記）２１２を含む。さらに、ＧＷ１０２は、ＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトデータ管理テーブル（図２中では「オブジェクトデータ」と表記）２１３を含む。
【００２８】
ＧＷ側送受信部２１１は、図２のスイッチ１０１内のスイッチ側送受信部２０２との間で、フレームデータの送受信を行う。
【００２９】
ＥＣＨＯＮＥＴ  Ｌｉｔｅプロトコル処理部２１０は、ＥＣＨＯＮＥＴ  Ｌｉｔｅ通信プロトコルに従って、ＧＷ側送受信部２１１が受信したＥＣＨＯＮＥＴ  Ｌｉｔｅフレームの受信処理や、ＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトデータ管理テーブル２１３の通知処理を行う。例えば、ＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトデータ管理テーブル２１３においてキャッシュ値許容時間プロパティの値が更新されたら、その旨を通知する状態通知メッセージを、ＧＷ側送受信部２１１を介してマルチキャストにて送信する。
【００３０】
ここで、キャッシュ値許容時間は、後述するように、スイッチ１０１内のキャッシュデータ制御部２０３−２が、ＧＷ１０２からプロパティ値取得要求を受信したときに、対応するプロパティ値が機器データ管理テーブル２０３−３のエントリに保持されているときに、プロパティ値取得要求の受信時刻とそのエントリのプロパティ値の受信時刻との時間差を判定するためのデータである。キャッシュ値許容時間は、上述の状態通知メッセージによって、図２のスイッチ１０１に通知され、機器データ管理テーブル２０３−３内のエントリに保持される。スイッチ１０１内のキャッシュデータ制御部２０３−２は、上記時間差が対応するＧＷ１０２のキャッシュ値許容時間に比較して小さければ、上記エントリに保持されているプロパティ値を、上記ＧＷ１０２に代理応答する。一方、キャッシュデータ制御部２０３−２は、上記時間差が対応するＧＷ１０２のキャッシュ値許容時間に比較して大きければ、プロパティ値取得要求に対応する機器１０３から新たなプロパティ値を取得して、ＧＷ１０２に代理応答する。
【００３１】
このように、本実施形態では、予めスイッチ１０１に登録されたＧＷ１０２ごとのキャッシュ値許容時間に基づいて、キャッシュ応答をするか機器１０３に問い合わせるかが制御される。これにより、本実施形態では、ＧＷ１０２が許容する時間範囲の最新データを、機器１０３に問い合わせることなく、スイッチ１０１からＧＷ１０２にキャッシュデータとして代理応答することが可能となる。
【００３２】
図２において、ＧＷ１０２内のＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトデータ管理テーブル２１３は、ＥＣＨＯＮＥＴ  Ｌｉｔｅ通信プロトコルにおけるコントローラオブジェクトとして、ＧＷ１０２のオブジェクトのデータを保持する。より具体的には、ＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトデータ管理テーブル２１３は、個別プロパティとして、キャッシュ値許容時間プロパティを保持する。
【００３３】
ＧＷ１０２内のキャッシュ値許容時間登録インタフェース２１２は、ＧＷ１０２の管理者または上位システムのサービスなどによって、ＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトデータ管理テーブル２１３のキャッシュ値許容時間プロパティに値を登録するためのインタフェースである。
【００３４】
図２において例えば、＃１または＃３のＧＷ１０２は、ＧＷ１０２自身に搭載されたアプリケーションソフトウェアのサービス１または３からの要求に応じて、スイッチ１０１を介して、＃１、＃２、＃３のうちの任意の１つ以上の機器１０３に対してデータ収集を行う。また＃２のＧＷ１０２は、図１のグローバルネットワーク１０６上のサーバ１０５で実行されるアプリケーションソフトウェアのサービス２からの要求に応じて、スイッチ１０１を介して、＃１、＃２、＃３のうちの任意の１つ以上の機器１０３に対してデータ収集を行う。
【００３５】
図３（ａ）は、図１または図２のスイッチ１０１のハードウェア構成例を示す図である。スイッチ１０１は、ＣＰＵ（中央演算処理装置）３０１、メモリ３０２、ストレージ３０３、フレーム転送エンジン３０４、複数のＬＡＮ（ローカルエリアネットワーク）インタフェース部３０５、システムバス３０６、および通信バス３０７を含む。ＣＰＵ３０１、メモリ３０２、ストレージ３０３、およびフレーム転送エンジン３０４は、システムバス３０６によって相互に接続される。フレーム転送エンジン３０４および複数のＬＡＮインタフェース部３０５は、通信バス３０７によって相互に接続される。
【００３６】
ＣＰＵ３０１は、ストレージ３０３からメモリ３０２に読み出した制御プログラムを実行することにより、図２のフレーム振分け部２０３−１およびキャッシュデータ制御部２０３−２に対応する動作を実行する。
【００３７】
ＬＡＮインタフェース部３０５は、図２のスイッチ側送受信部２０２内の特には図示しない各ポート部に対応し、図２のスイッチ側送受信部２０２とＧＷ側送受信部２１１とを接続するＬＡＮに対して送受信されるフレームデータを終端する。
【００３８】
フレーム転送エンジン３０４は、図２のスイッチ機能部２０１に対応する動作を実行するハードウェアである。フレーム転送エンジン３０４は、ＬＡＮインタフェース部３０５ごとに、それに接続される図１または図２の機器１０３またはＧＷ１０２のＭＡＣアドレスを接続先ＭＡＣアドレスとして保持する。そして、フレーム転送エンジン３０４は、ＬＡＮインタフェース部３０５で受信されたフレームデータを、それに設定されている宛先ＭＡＣアドレスに対応するＬＡＮインタフェース部３０５に中継転送する。
【００３９】
ストレージ３０３は、上記ＣＰＵ３０１が実行する制御プログラムを記憶するほか、図２の機器データ管理テーブル２０３−３のデータ等を記憶する。
【００４０】
本実施形態では、後述する図７から図１０のフローチャート等で実現される機能を搭載した制御プログラムをＣＰＵ３０１が実行することで実現される。その制御プログラムは、例えばストレージ３０３に記録して配布してもよく、或いはＬＡＮインタフェース部３０５によりネットワークから取得できるようにしてもよい。
【００４１】
図３（ｂ）は、図１または図２のＧＷ１０２のハードウェア構成例を示す図である。ＧＷ１０２は、ＣＰＵ３１１、メモリ３１２、ストレージ３１３、ＬＡＮインタフェース部３１４、他システムインタフェース部３１５、およびユーザインタフェース部３１６が、システムバス３１７によって相互に接続された構成を有する。
【００４２】
ＣＰＵ３１１は、ストレージ３１３からメモリ３１２に読み出した制御プログラムを実行することにより、図２のプロトコル処理部２１０およびキャッシュ値許容時間登録インタフェース２１２に対応する動作を実行する。
【００４３】
ＬＡＮインタフェース部３１４は、図２のＧＷ側送受信部２１１に対応し、図２のスイッチ側送受信部２０２とＧＷ側送受信部２１１とを接続するＬＡＮに対して送受信されるフレームデータを終端する。
【００４４】
他システムインタフェース部３１５は、図１のルータ１０４を介してグローバルネットワーク１０６との間で送受信されるデータを終端する。
【００４５】
ユーザインタフェース部３１６は、ＣＰＵ３１１と連携して、図２のキャッシュ値許容時間登録インタフェース２１２の動作を実行するハードウェアである。
【００４６】
ストレージ３１３は、上記ＣＰＵ３１１が実行する制御プログラムを記憶するほか、図２のＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトデータ管理テーブル２１３のデータ等を記憶する。
【００４７】
図４は、図２の機器データ管理テーブル２０３−３のデータ構成例を示す図である。機器データ管理テーブル２０３−３は、前述したように、スイッチ１０１に接続される機器１０３またはＧＷ１０２ごとにエントリを有する。このエントリは、「機種種別」「ＭＡＣアドレス」「ＩＰアドレス」「ＥＯＪ」「プロパティ名」「値」および「更新日時」の各項目を有する。
【００４８】
「機種種別」項目には、そのエントリに対応する機器１０３またはＧＷ１０２の機種の種別が登録される。各エントリが、図１または図２の＃１または＃２の各機器１０３に対応している場合は、「機種種別」項目には、「機器（＃１）」、「機器（＃２）」、・・・等が登録される。各エントリが、図１または図２の＃１、＃２、＃３の各ＧＷ１０２に対応している場合は、「機種種別」項目には、「コントローラ（＃１）」、「コントローラ（＃２）」、「コントローラ（＃３）」等が登録される。
【００４９】
「ＭＡＣアドレス」項目および「ＩＰアドレス」項目には、そのエントリに対応する機器１０３またはＧＷ１０２のＭＡＣアドレスおよびＩＰアドレスが登録される。
【００５０】
「ＥＯＪ」項目には、そのエントリに対応する機器１０３またはＧＷ１０２のＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクト識別子が、１６進数値で登録される。なお、図４において、「ＥＯＪ」項目内の「０ｘ」は、それに続く数値が１６進数であることを示している。
【００５１】
「プロパティ名」項目には、そのエントリが機器１０３に対応する場合、機器１０３が管理する１つ以上のプロパティ項目の名称が登録され、「値」項目には、「プロパティ名」項目ごとの値が登録される。図４では、機器１０３（＃１）に対して、「プロパティ名」＝「値」として、「動作状態」＝「ＯＮ」（オン状態）、「設定温度」＝「２６度」（目標の温度）、「温度」＝「２８度」（現在の温度）、および「タイマ設定」＝「ＯＮ」（稼働状態）が登録されている。これは、機器１０３（＃１）がセンサである場合の例である。一方、機器１０３（＃２）に対して、「動作状態」＝「ＯＮ」、・・・、「ＣＰＵ使用率」＝「１５％」、「稼働時間」＝「８ｈ」（時間）、「エラー累計数」＝「５２回」、および「メモリ残容量」＝「１．２ＧＢ」（ギガバイト）が登録されている。これは、機器１０３（＃２）がコンピュータである場合の例である。
【００５２】
また、「更新日時」項目には、「プロパティ名」項目ごとの「値」の、機器１０３からの受信時刻が登録されている。
【００５３】
さらに、「プロパティ名」項目には、そのエントリがＧＷ１０２に対応する場合、ＧＷ１０２が管理する名称「キャッシュ値許容時間」が登録され、「値」項目には、ＧＷ１０２から通知された実際のキャッシュ値許容時間の時間値が登録される。図４では、コントローラ（＃１）（ＧＷ１０２（＃１））にはキャッシュ値許容時間＝「５秒」が登録されている。また、コントローラ（＃２）（ＧＷ１０２（＃２））にはキャッシュ値許容時間＝「６０秒」が登録されている。そして、コントローラ（＃３）ＧＷ１０２（＃３））にはキャッシュ値許容時間＝「１秒」が登録されている。
【００５４】
図５は、図２のＧＷ１０２が保持するＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトデータ管理テーブル２１３のデータ構成例を示す図であり、このテーブルのエントリは、ＧＷ１０２のＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトとしてのプロパティを保持する。このテーブルは、ＧＷ１０２の「機器種別」項目＝「コントローラ」、「ＥＯＪ」＝ＧＷ１０２の識別子、「動作状態」項目＝「ＯＮ」または「ＯＦＦ」、「メーカコード」＝メーカが設定したコード番号等の必須プロパティおよび個別プロパティを有する。また、このテーブルは、キャッシュ値許容時間を保持する。
【００５５】
図６は、図１または図２のＧＷ１０２、スイッチ１０１、機器１０３間で送受信される、ＥＣＨＯＮＥＴ  Ｌｉｔｅ通信プロトコルに基づくＥＣＨＯＮＥＴ  Ｌｉｔｅフレームが格納されたイーサネットフレームデータの構成例を示す図である。
【００５６】
まず、送信元ＭＡＣアドレス６０１と宛先ＭＡＣアドレス６０２は、イーサネットフレームのヘッダを構成する。送信元ＭＡＣアドレス６０１は、このイーサネットフレームを送信した機器（スイッチ１０１、ＧＷ１０２、または機器１０３）のＭＡＣアドレスである。宛先ＭＡＣアドレス６０２は、このイーサネットフレームの宛先の機器のＭＡＣアドレスである。
【００５７】
送信元ＩＰアドレス６０３と宛先ＩＰアドレス６０４は、イーサネットフレームに格納されるＩＰ（インターネットプロトコル）パケットのヘッダを構成する。送信元ＩＰアドレス６０３は、このＩＰパケットを送信した機器のＩＰアドレスである。宛先ＩＰアドレス６０４は、このＩＰパケットの宛先の機器のＩＰアドレスである。
【００５８】
送信元ポート番号６０５と宛先ポート番号６０６は、ＩＰパケットに格納されるＴＣＰ（トランスミッションコントロールプロトコル）セグメントのヘッダを構成する。送信元ポート番号６０５は、このＴＣＰセグメントを送信した機器のポート番号（サービスに対応）である。宛先ポート番号６０６は、このＴＣＰセグメントの宛先の機器のポート番号（サービスに対応）である。
【００５９】
ＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７は、ＴＣＰセグメントのデータ部に格納され、ＥＣＨＯＮＥＴ  Ｌｉｔｅ通信プロトコルに従って、スイッチ１０１、ＧＷ１０２、機器１０３間で送受信されるプロパティである。
【００６０】
ＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７は、特には図示しないヘッダ「ＥＨＤ」に続いて、「ＴＩＤ」、「ＳＥＯＪ」、「ＤＥＯＪ」、「ＥＳＶ」、「ＯＰＣ」の各データを含む。さらに、ＥＣＨＯＮＥＴ  Ｌｉｔｅフレームは、上記データ群に続く（「ＥＰＣ１」、「ＰＤＣ１」、「ＥＤＴ１」）〜（「ＥＰＣｎ」、「ＰＤＣｎ」、「ＥＤＴｎ」）のプロパティ値の組を含む。
【００６１】
ＴＩＤは、トランザクション識別子である。ＴＩＤについては、後述する。
「ＳＥＯＪ」は、送信元ＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトの識別子、「ＤＥＯＪ」は、宛先ＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトの識別子である。これらの識別子は、送信元または宛先の機器を識別するとともに、その機器の種別を示している。
【００６２】
「ＥＳＶ」は、ＥＣＨＯＮＥＴ  Ｌｉｔｅのアクセスルールを指定するサービス値であり、その値＝「０ｘ６Ｘ」のときには、そのＥＣＨＯＮＥＴ  Ｌｉｔｅフレームがプロパティ値取得要求メッセージであることを示す。なお、「０ｘ」は「６Ｘ」が１６進数であることを示し、「Ｘ」は任意の１６進値である。また、上記値＝「０ｘ５Ｘ」または「０ｘ７Ｘ」のときには、そのＥＣＨＯＮＥＴ  Ｌｉｔｅフレームが応答メッセージであることを示す。
【００６３】
「ＯＰＣ」は、処理プロパティ数＝ｎが格納される。
上記ｎに対応する処理プロパティ数を有するプロパティ値の組（「ＥＰＣ１」、「ＰＤＣ１」、「ＥＤＴ１」）〜（「ＥＰＣｎ」、「ＰＤＣｎ」、「ＥＤＴｎ」）は、「ＥＰＣ」がアクセス先プロパティ、「ＥＤＴ」がプロパティ値データを示す。また、「ＰＤＣ」は、「ＥＤＴ」のバイト数を示す。
【００６４】
図７は、スイッチ１０１の立上げ時の代理応答処理の例を示すフローチャートである。この処理は、図３（ａ）のハードウェア構成例において、ＣＰＵ３０１がストレージ３０３からメモリ３０２に読み出したスイッチ立上げ処理プログラムを実行する処理である。この処理は、図２の代理応答部２０３の動作の一部である。
【００６５】
まず、スイッチ１０１は、スイッチ１０１自身のＩＰアドレスを取得する。具体的には、スイッチ１０１のＣＰＵ３０１は、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）などとして知られるＩＰアドレス自動取得技術を用いて、特には図示しないＤＨＣＰサーバ（例えば図１のルータ１０４）に問い合わせる。これにより、ＣＰＵ３０１は、スイッチ１０１自身のためのＩＰアドレスを取得し、例えばメモリ３０２に設定する（以上、図７のステップＳ７０１）。
【００６６】
次に、スイッチ１０１は、インスタンスリスト通知要求メッセージを、スイッチ１０１に接続されている全ての機器１０３およびＧＷ１０２に向けて、マルチキャストで送信する。具体的には、スイッチ１０１のＣＰＵ３０１は、ＥＣＨＯＮＥＴ  Ｌｉｔｅ通信プロトコルに従った要求メッセージであるＧｅｔ要求メッセージとして、インスタンスリスト通知要求メッセージが格納されたフレームデータを、マルチキャストで送出する。図３（ａ）のフレーム転送エンジン３０４は、宛先ＭＡＣアドレス６０２がマルチキャストであるフレームデータは、各ＬＡＮインタフェース部３０５に中継転送して送信する（図７のステップＳ７０２）。この場合、送信される図６のデータ構成例のフレームデータにおいて、インスタンスリスト通知要求メッセージは、ＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７に格納される。送信元ＭＡＣアドレス６０１には、各ＬＡＮインタフェース部３０５のＭＡＣアドレスが格納される。宛先ＭＡＣアドレス６０２には、マルチキャスト用のＭＡＣアドレスが格納される。送信元ＩＰアドレス６０３（図７のステップＳ７０２では「ＳＡ」と表記）には、ステップ７０１で取得したスイッチ１０１自身（代理応答部２０３）のＩＰアドレスが格納される。宛先ＩＰアドレス６０４には、マルチキャスト用のＩＰアドレスが格納される。送信元ポート番号６０５および宛先ポート番号６０６にはそれぞれ、ＥＣＨＯＮＥＴ  Ｌｉｔｅ通信プロトコルに割り当てられているポート番号が格納される。
【００６７】
次に、スイッチ１０１のＣＰＵ３０１は、上記インスタンスリスト通知要求メッセージに応答してきた各機器１０３および各ＧＷ１０２（図１）の機器リストを、機器データ管理テーブル２０３−３（図２）に登録する（図７のステップＳ７０３）。具体的には、ＣＰＵ３０１は、インスタンスリスト通知要求メッセージに応答した各機器１０３および各ＧＷ１０２（図１）からのインスタンスリスト通知応答メッセージを、図３（ａ）の各ＬＡＮインタフェース部３０５およびフレーム転送エンジン３０４を介して受信する。この場合、受信された図６のデータ構成例のフレームデータにおいて、インスタンスリスト通知応答メッセージは、ＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７に格納されている。送信元ＭＡＣアドレス６０１および送信元ＩＰアドレス６０３には、応答元の機器１０３またはＧＷ１０２のＭＡＣアドレスおよびＩＰアドレスが格納されている。また、ＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７内の「ＳＥＯＪ」項目には、応答元の機器１０３またはＧＷ１０２のＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクト識別子が格納されている。ＣＰＵ３０１は、上記送信元ＭＡＣアドレス６０１、送信元ＩＰアドレス６０３、および「ＳＥＯＪ」項目値をそれぞれ、メモリ３０２またはストレージ３０３内の機器データ管理テーブル２０３−３（図２参照）に登録する。より具体的には、ＣＰＵ３０１は、機器データ管理テーブル２０３−３に、図４のデータ構成例を有する新規エントリを生成する。そして、ＣＰＵ３０１は、そのエントリの「ＭＡＣアドレス」項目、「ＩＰアドレス」項目、および「ＥＯＪ」項目にそれぞれ、送信元ＭＡＣアドレス６０１、送信元ＩＰアドレス６０３、および「ＳＥＯＪ」項目値を登録する。また、ＣＰＵ３０１は、「ＥＯＪ」項目によって定まる機器種別名を、図４の機器データ管理テーブル２０３−３の上記新規エントリの「機種種別」項目に登録する。また、ＣＰＵ３０１は、インスタンスリスト通知応答メッセージに設定されているプロパティ名を、上記新規エントリの「プロパティ名」項目に登録する。このプロパティ名は、受信された図６のデータ構成例のフレームデータにおいて、「ＥＰＣ１」〜「ＥＰＣｎ」などの値として通知される。
【００６８】
次に、スイッチ１０１は、破線で囲まれたキャッシュ値許容時間登録処理Ａを実行する。
【００６９】
まず、スイッチ１０１のＣＰＵ３０１は、ステップ７０３の登録処理において、プロパティ名として「キャッシュ値許容時間」を含む「コントローラ」種別の機器があるか否かを判定する（図７のステップＳ７０４）。
【００７０】
スイッチ１０１のＣＰＵ３０１は、ステップＳ７０４の判定がＹＥＳならば、ステップＳ７０４のＹＥＳ判定を生じさせた応答元のＧＷ１０２に対して、キャッシュ値許容時間通知要求メッセージを送信する（図７のステップＳ７０５）。この場合、送信される図６のデータ構成例のフレームデータにおいて、キャッシュ値許容時間通知要求メッセージは、ＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７に格納される。送信元ＭＡＣアドレス６０１（図７のステップＳ７０５では「ＳＡ」と表記）には、各ＬＡＮインタフェース部３０５のＭＡＣアドレスが格納される。宛先ＭＡＣアドレス６０２には、ステップＳ７０４のＹＥＳ判定を生じさせた受信フレームデータに設定されていた送信元ＭＡＣアドレス６０１が格納される。送信元ＩＰアドレス６０３には、ステップ７０１で取得したスイッチ１０１自身（図２の代理応答部２０３）のＩＰアドレスが格納される。宛先ＩＰアドレス６０４には、ステップＳ７０４のＹＥＳ判定を生じさせた受信フレームデータに設定されていた送信元ＩＰアドレス６０３が格納される。送信元ポート番号６０５および宛先ポート番号６０６には、ＥＣＨＯＮＥＴ  Ｌｉｔｅ通信プロトコルに割り当てられているポート番号が格納される。
【００７１】
次に、スイッチ１０１は、上記キャッシュ値許容時間通知要求メッセージに応答してきたＧＷ１０２（図１）からのキャッシュ値許容時間通知応答メッセージに含まれているキャッシュ値許容時間を、機器データ管理テーブル２０３−３に登録する。具体的には、スイッチ１０１のＣＰＵ３０１は、キャッシュ値許容時間通知応答メッセージを、図３（ａ）のいずれかのＬＡＮインタフェース部３０５およびフレーム転送エンジン３０４を介して受信する。この場合、受信された図６のデータ構成例のフレームデータにおいて、キャッシュ値許容時間通知応答メッセージは、ＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７に格納されている。送信元ＭＡＣアドレス６０１および送信元ＩＰアドレス６０３には、応答元のＧＷ１０２のＭＡＣアドレスおよびＩＰアドレスが格納されている。また、ＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７内の「ＳＥＯＪ」項目には、応答元のＧＷ１０２のＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクト識別子が格納されている。さらに、ＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７内の「ＥＰＣ１」項目には名称「キャッシュ値許容時間」が、「ＥＤＴ１」項目にはキャッシュ値許容時間値が、それぞれ格納されている。なお、「ＲＤＣ１」項目には「ＥＤＴ１」項目値のバイト数が格納されている。ＣＰＵ３０１は、図４のデータ構成例の機器データ管理テーブル２０３−３において、上記送信元ＭＡＣアドレス６０１、送信元ＩＰアドレス６０３、または「ＳＥＯＪ」項目値が格納されている「コントローラ」種別のエントリを抽出する。そして、ＣＰＵ３０１は、そのエントリにおいて、「プロパティ名」項目＝「キャッシュ値許容時間」に対応する「値」項目に、上記「ＥＤＴ１」項目のキャッシュ値許容時間値を登録する（以上、図７のステップＳ７０６）。
【００７２】
ＣＰＵ３０１は、ステップＳ７０４の判定がＮＯならば、上述のステップＳ７０５とＳ７０６の処理はスキップする。
【００７３】
その後、スイッチ１０１のＣＰＵ３０１は、ステップ７０３の登録処理において、「コントローラ」種別の機器ではあるが、プロパティ名として「キャッシュ値許容時間」を含まないものについては、以下の処理を実行する。ＣＰＵ３０１は、図４のデータ構成例の機器データ管理テーブル２０３−３の上記条件を満たすエントリにおいて、「プロパティ名」項目＝「キャッシュ値許容時間」に対応する「値」項目に、「０」を登録する（図７のステップＳ７０７）。
【００７４】
図８は、スイッチ１０１のフレーム受信時の代理応答処理の例を示すフローチャートである。この処理は、図３（ａ）のハードウェア構成例において、フレーム転送エンジン３０４からのフレーム受信通知に基づいて、ＣＰＵ３０１がストレージ３０３からメモリ３０２に読み出したフレーム受信処理プログラムを実行する処理である。この処理は、図２の代理応答部２０３の動作の一部である。
【００７５】
まず、スイッチ１０１のＣＰＵ３０１は、図３（ａ）のいずれかのＬＡＮインタフェース部３０５からフレーム転送エンジン３０４にて受信されたフレームデータが、ＥＣＨＯＮＥＴ  Ｌｉｔｅフレームであるか否かを判定する（図８のステップＳ８０１）。具体的には、ＣＰＵ３０１は、フレーム転送エンジン３０４から通知された図６のデータ構成例のフレームデータにおいて、宛先ポート番号６０６に、ＥＣＨＯＮＥＴ  Ｌｉｔｅ通信プロトコルに対応するポート番号値「３６１０」が格納されているか否かを判定する。
【００７６】
ステップＳ８０１の判定がＮＯならば、ＣＰＵ３０１は、フレーム転送エンジン３０４に対して、受信フレームデータを通常通り転送するよう指示をして（図８のステップＳ８０２）、図８のフローチャートのフレーム受信処理プログラムを終了する。これにより、フレーム転送エンジン３０４は、いずれかのＬＡＮインタフェース部３０５で受信されたフレームデータの宛先ＭＡＣアドレス６０２に基づいて、そのＭＡＣアドレスが登録されているＬＡＮインタフェース部３０５に、上記フレームデータを中継転送する。
【００７７】
ステップＳ８０１の判定がＹＥＳならば、ＣＰＵ３０１は、フレーム転送エンジン３０４にその受信フレームデータの転送処理は実施させずに、図８のステップＳ８０３からＳ８０６の一連の処理で示される代理応答処理を実行する。
【００７８】
まず、ＣＰＵ３０１は、受信した図６のデータ構成例のフレームデータにおいて、以下の判定を実行する（図８のステップＳ８０３）。ＣＰＵ３０１は、フレームデータ中の送信元ＭＡＣアドレス６０１およびＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７内の「ＳＥＯＪ」項目値が、機器データ管理テーブル２０３−３のいずれかのエントリに登録されているか否かを判定する（ステップＳ８０３）。すなわち、ＣＰＵ３０１は、送信元ＭＡＣアドレス６０１と「ＳＥＯＪ」項目値がそれぞれ、図４のデータ構成例の機器データ管理テーブル２０３−３において、いずれかのエントリの「ＭＡＣアドレス」項目と「ＥＯＪ」項目に登録されているか否かを判定する。
【００７９】
ステップＳ８０３の判定がＹＥＳならば、ＣＰＵ３０１は、受信した図６のデータ構成例のフレームデータ中のＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７内の「ＥＳＶ」項目値を判定する（図８のステップＳ８０４）。
【００８０】
ＣＰＵ３０１は、ステップＳ８０４の判定で「ＥＳＶ」＝「０ｘ６Ｘ」なら、受信フレームデータのＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７はデータ取得要求メッセージであると判定する。この場合、ＣＰＵ３０１は、後述するデータ取得要求受信時処理を実行する（図８のステップＳ８０５）。
【００８１】
一方、ＣＰＵ３０１は、ステップＳ８０４の判定で「ＥＳＶ」＝「０ｘ５Ｘ」または「０ｘ７Ｘ」なら、受信フレームデータのＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７は状態通知または応答メッセージであると判定する。この場合、ＣＰＵ３０１は、後述する状態通知・応答受信時処理を実行する（図８のステップＳ８０６）。
【００８２】
上記ステップＳ８０５またはＳ８０６の処理の後、ＣＰＵ３０１は、図８のフローチャートのフレーム受信処理プログラムを終了する。
【００８３】
前述したステップＳ８０３の判定がＮＯならば、スイッチ１０１のＣＰＵ３０１は、受信フレームデータを送信した機器１０３またはＧＷ１０２（図１）を、機器データ管理テーブル２０３−３（図２）に登録する（図８のステップＳ８０７）。具体的には、ＣＰＵ３０１は、受信された図６のデータ構成例のフレームデータから、送信元ＭＡＣアドレス６０１、送信元ＩＰアドレス６０３、および「ＳＥＯＪ」項目値を取り出す。次に、ＣＰＵ３０１は、メモリ３０２またはストレージ３０３内の機器データ管理テーブル２０３−３（図２参照）に、図４のデータ構成例を有する新規エントリを生成する。そして、ＣＰＵ３０１は、そのエントリの「ＭＡＣアドレス」項目、「ＩＰアドレス」項目、および「ＥＯＪ」項目にそれぞれ、送信元ＭＡＣアドレス６０１、送信元ＩＰアドレス６０３、および「ＳＥＯＪ」項目値を登録する。また、ＣＰＵ３０１は、「ＥＯＪ」項目によって定まる機器種別名を、図４の機器データ管理テーブル２０３−３の上記新規エントリの「機種種別」項目に登録する。また、ＣＰＵ３０１は、インスタンスリスト通知応答メッセージに設定されているプロパティ名を、上記新規エントリの「プロパティ名」項目に登録する。このプロパティ名は、受信された図６のデータ構成例のフレームデータにおいて、「ＥＰＣ１」〜「ＥＰＣｎ」などの値として通知される。
【００８４】
次に、スイッチ１０１のＣＰＵ３０１は、図７の破線で囲まれたキャッシュ値許容時間登録処理Ａを実行する（図８のステップＳ８０８）。これにより、ステップ８０７の登録処理において、プロパティ名として「キャッシュ値許容時間」を含む「コントローラ」種別の機器があった場合には、ＣＰＵ３０１は、受信フレームデータの送信元のＧＷ１０２に、キャッシュ値許容時間を問い合わせる。そして、ＣＰＵ３０１は、ＧＷ１０２から応答されたキャッシュ値許容時間を、ステップＳ８０７の登録処理で生成した機器データ管理テーブル２０３−３上のエントリに登録する。
【００８５】
その後、ＣＰＵ３０１は、前述したステップＳ８０４からＳ８０６の一連の処理を実行する。
【００８６】
図９は、図８のステップＳ８０５のデータ取得要求受信時処理の詳細例を示すフローチャートである。
【００８７】
スイッチ１０１のＣＰＵ３０１はまず、フレーム転送エンジン３０４を介して受信したフレームデータのＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７が、インスタンスリスト取得要求メッセージであるか否かを判定する（図９のステップＳ９０１）。
【００８８】
ステップＳ９０１の判定がＹＥＳならば、ＣＰＵ３０１は、図４のデータ構成例の機器データ管理テーブル２０３−３の各エントリに登録されているインスタンスのリストを生成して、インスタンスリスト取得要求メッセージの送信元に応答する（図９のステップＳ９０２）。具体的には、ＣＰＵ３０１は、上記エントリごとに、インスタンスリスト取得応答メッセージを生成する。この場合、応答される図６のデータ構成例のフレームデータにおいて、送信元ＭＡＣアドレス６０１には、応答されるフレームデータが送出されるＬＡＮインタフェース部３０５自身のＭＡＣアドレスが格納される。宛先ＭＡＣアドレス６０２には、図８のフローチャートに対応するフレーム受信処理プログラムの起動時の受信フレームデータに設定されていた送信元ＭＡＣアドレス６０１が格納される。送信元ＩＰアドレス６０３には、処理対象エントリの「ＩＰアドレス」項目（図４参照）に登録されているＩＰアドレスが格納される。すなわち、スイッチ１０１は、処理対象エントリの機器を代理してＩＰアドレスを応答することになる。宛先ＩＰアドレス６０４には、上記受信フレームデータに設定されていた送信元ＩＰアドレス６０３が格納される。送信元ポート番号６０５および宛先ポート番号６０６には、ＥＣＨＯＮＥＴ  Ｌｉｔｅ通信プロトコルに対応するポート番号が格納される。ＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７内の「ＳＥＯＪ」項目には、処理対象エントリの「ＥＯＪ」項目（図４参照）に登録されているオブジェクト識別子が格納される。この場合も、スイッチ１０１は、処理対象エントリの機器を代理してＥＯＪ値を応答することになる。ＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７内の「ＥＳＶ」項目には、応答を示す値が格納される。ＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７内のプロパティ値の組（「ＥＰＣ１」、「ＰＤＣ１」、「ＥＤＴ１」）〜（「ＥＰＣｎ」、「ＰＤＣｎ」、「ＥＤＴｎ」）には、処理対象エントリの「プロパティ名」項目と「値」項目の組が格納される。この場合、「ＥＰＣ１」〜「ＥＰＣｎ」に「プロパティ名」項目が、「ＥＤＴ１」〜「ＥＤＴｎ」には「値」項目が、それぞれ格納される。「ＰＤＣ１」〜「ＰＤＣｎ」には、「ＥＤＴ１」〜「ＥＤＴｎ」の各バイト数が格納される。ＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７内の「ＯＰＣ」項目には、処理対象エントリの「プロパティ名」項目と「値」項目の組の数が処理プロパティ数として格納される。
【００８９】
ステップＳ９０２の処理の後、ＣＰＵ３０１は、図９のフローチャートで示される図８のステップＳ８０５のデータ取得要求受信時処理を終了する。
【００９０】
以上のようにして、スイッチ１０１は、インスタンスリスト取得要求メッセージに対して、各機器１０３またはＧＷ１０２からの応答を代理して、各インスタンスリスト取得応答メッセージのフレームデータを応答することができる。
【００９１】
ステップＳ９０１の判定がＮＯならば、スイッチ１０１のＣＰＵ３０１は、受信されたフレームデータによるデータ取得要求メッセージは、プロパティ値取得要求メッセージであると判定する。この場合、ＣＰＵ３０１は、要求プロパティのうち、機器データ管理テーブル２０３−３にあるプロパティについて、そのプロパティの更新日時と、現在日時との差分時間を算出する（図９のステップＳ９０３）。具体的には、プロパティ値取得要求メッセージに対応する図６のデータ構成例のフレームデータに格納されているＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７の「ＤＥＯＪ」には、プロパティ値を要求する機器１０３のオブジェクト識別子が格納されている。また、ＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７の「ＥＰＣ１」〜「ＥＰＣｎ」項目には、要求されるプロパティ値に対応するプロパティ名が格納されている。一方、図４のデータ構成例の機器データ管理テーブル２０３−３の各エントリには、「ＥＯＪ」項目に各機器のオブジェクト識別子が登録され、「プロパティ名」項目と「値」項目の組ごとに、値が更新された更新日時が「更新日時」項目に登録されている。ＣＰＵ３０１はまず、機器データ管理テーブル２０３−３上で、プロパティ値取得要求メッセージ内の「ＤＥＯＪ」項目の値が「ＥＯＪ」項目に登録されているエントリを特定する。そして、ＣＰＵ３０１は、そのエントリにおいて、プロパティ値取得要求メッセージにより要求されたプロパティ名「ＥＰＣ１」〜「ＥＰＣｎ」ごとに、各プロパティ名が登録されている「プロパティ名」項目に対応する「値」項目に値が登録されているか否かを判定する。この登録がなされている場合、ＣＰＵ３０１は、その登録がなされている「値」項目に対応する「更新日時」項目に登録されている更新日時と、現在日時（プロパティ値取得要求メッセージが受信された日時）との差分時間を算出する。
【００９２】
次に、スイッチ１０１のＣＰＵ３０１は、上記プロパティ値取得要求メッセージにより要求された全てのプロパティにおいてステップＳ９０３で差分時間が算出でき、かつ差分時間がキャッシュ値許容時間内か否かを判定する（図９のステップＳ９０４）。このとき、ＣＰＵ３０１は、キャッシュ値許容時間を以下のようにして取得する。ＣＰＵ３０１は、図４のデータ構成例の機器データ管理テーブル２０３−３から、プロパティ値取得要求メッセージを送信したＧＷ１０２に対応する「コントローラ」種別のエントリを抽出する。具体的には、ＣＰＵ３０１は、プロパティ値取得要求メッセージに対応する図６のデータ構成例のフレームデータに格納されているＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７の「ＳＥＯＪ」項目値が「ＥＯＪ」項目に格納されているエントリを抽出する。そして、ＣＰＵ３０１は、その抽出したエントリの「プロパティ名」項目＝「キャッシュ値許容時間」に対応する「値」項目から、キャッシュ値許容時間の値を取得する。
【００９３】
ステップＳ９０４の判定がＹＥＳならＣＰＵ３０１は、機器データ管理テーブル２０３−３に登録されている該当エントリのデータで、プロパティ値取得応答メッセージを構築する（図９のステップＳ９０５）。
【００９４】
具体的には、まずＣＰＵ３０１は、図６のデータ構成例のフレームデータに格納されるべきプロパティ値取得応答メッセージに対応するＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７として、以下のデータを生成する。ＣＰＵ３０１は、ステップＳ９０３で特定したエントリから、プロパティ値取得要求メッセージが要求する各プロパティ名「ＥＰＣ１」〜「ＥＰＣｎ」が登録されている各「プロパティ名」項目に対応する各「値」項目値を取得する。そして、ＣＰＵ３０１は、各「値」項目値が「ＥＤＴ１」から「ＥＤＴｎ」として設定された、プロパティ値の組（「ＥＰＣ１」、「ＰＤＣ１」、「ＥＤＴ１」）〜（「ＥＰＣｎ」、「ＰＤＣｎ」、「ＥＤＴｎ」）を生成する。なお、ＣＰＵ３０１は、「ＰＤＣ１」〜「ＰＤＣｎ」を、「ＥＤＴ１」〜「ＥＤＴｎ」の各バイト数として設定する。ＣＰＵ３０１は、処理プロパティ数ｎを「ＯＰＣ」項目値として設定する。ＣＰＵ３０１は、「ＳＥＯＪ」項目値として、ステップＳ９０３で特定したエントリの「ＥＯＪ」項目値を設定する。また、ＣＰＵ３０１は、「ＤＥＯＪ」項目値として、プロパティ値取得要求メッセージに対応する図６のデータ構成例のフレームデータに格納されているＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７の「ＳＥＯＪ」項目値を設定する。そして、ＣＰＵ３０１は、「ＥＳＶ」項目値として、応答を示す値を設定する。
【００９５】
例えば、図４の機器データ管理テーブル２０３−３のデータ構成例において、プロパティ値取得要求メッセージが機器（＃１）の全プロパティ値を要求している場合、ＣＰＵ３０１は、プロパティ値取得応答メッセージとして、次のようなＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７を生成する。
・プロパティ値の組
（「動作状態」「２」「ＯＮ」）
（「設定温度」「２」「２６」）
（「温度」「２」「２８」）
（「タイマ設定」「２」「ＯＮ」）
・「ＯＰＣ」＝４
・「ＳＥＯＪ」＝「０ｘ０１３００１」
・「ＤＥＯＪ」＝「０ｘ０５ＦＦ０１」
・「ＥＳＶ」＝「０ｘ７」
【００９６】
次に、ＣＰＵ３０１は、以上のようにして生成したＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７が格納された図６のデータ構成例のフレームデータを生成する。このとき、ＣＰＵ３０１は、送信元ＭＡＣアドレス６０１として、プロパティ値取得要求メッセージのフレームデータを受信した図２のＬＡＮインタフェース部３０５のＭＡＣアドレスを設定する。ＣＰＵ３０１は、宛先ＭＡＣアドレス６０２として、プロパティ値取得要求メッセージのフレームデータに設定されていた送信元ＭＡＣアドレス６０１を設定する。ＣＰＵ３０１は、送信元ＩＰアドレス６０３として、ステップＳ９０３で特定したエントリの「ＩＰアドレス」項目値を設定する。ＣＰＵ３０１は、宛先ＩＰアドレス６０４として、プロパティ値取得要求メッセージのフレームデータに設定されていた送信元ＩＰアドレス６０３を設定する。そして、ＣＰＵ３０１は、送信元ポート番号６０５および宛先ポート番号６０６として、ＥＣＨＯＮＥＴ  Ｌｉｔｅ通信プロトコルに対応するポート番号を設定する。
【００９７】
スイッチ１０１は、上記プロパティ値取得応答メッセージを、要求元に送信する。具体的には、ＣＰＵ３０１は、ステップＳ９０５で構築したプロパティ値取得応答メッセージが格納されたフレームデータを、図３（ａ）のフレーム転送エンジン３０４に送信依頼する（図９のステップＳ９０６）。フレーム転送エンジン３０４は、依頼されたフレームデータを、そのフレームデータの宛先ＭＡＣアドレス６０２が接続先ＭＡＣアドレスとして保持されているＬＡＮインタフェース部３０５から送信する。
【００９８】
ステップＳ９０６の処理の後、ＣＰＵ３０１は、図９のフローチャートで示される図８のステップＳ８０５のデータ取得要求受信時処理を終了する。
【００９９】
ステップＳ９０４の判定がＮＯの場合、スイッチ１０１は、「機器データ管理テーブル２０３−３にない要求プロパティ」＋「差分時間がキャッシュ値許容時間外のプロパティ」で、プロパティ値取得要求メッセージを再構築する。そして、スイッチ１０１は、その要求メッセージを、現在要求が行われている宛先の機器１０３に送信する（図９のステップＳ９０７）。具体的には、ＣＰＵ３０１は、ステップＳ９０３で特定したエントリにおいて、以下の抽出処理を実行する。ＣＰＵ３０１は、プロパティ値取得要求メッセージにより要求された各プロパティ名「ＥＰＣ１」〜「ＥＰＣｎ」が登録されている「プロパティ名」項目のうち、「値」項目に値が登録されていないプロパティ名を抽出する。さらに、ＣＰＵ３０１は、ステップＳ９０３で算出した差分時間が前述したキャッシュ値許容時間外である（以内でない）プロパティ名を抽出する。そして、ＣＰＵ３０１は、これらの抽出したプロパティ名が設定されたプロパティ値取得要求メッセージを再構築して、該当する機器１０３に向けて送信する。
【０１００】
より具体的には、まずＣＰＵ３０１は、図６のデータ構成例のフレームデータに格納されるべきプロパティ値取得要求メッセージに対応するＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７として、以下のデータを生成する。ＣＰＵ３０１は、ステップＳ９０７で抽出した各プロパティ名を含むを含むプロパティ値の組「ＥＰＣ１」〜「ＥＰＣｎ」を生成する。ＣＰＵ３０１は、処理プロパティ数ｎを「ＯＰＣ」項目値として設定する。ＣＰＵ３０１は、「ＤＥＯＪ」項目値として、ステップＳ９０３で特定したエントリの「ＥＯＪ」項目値を設定する。また、ＣＰＵ３０１は、「ＥＳＶ」項目値として、要求を示す値を設定する。例えば、「ＥＳＶ」＝「０ｘ５Ｘ」である。さらに、ＣＰＵ３０１は、「ＴＩＤ」項目値として、今回のプロパティ値取得要求メッセージに対して一意に生成した識別値を設定する。
【０１０１】
次に、ＣＰＵ３０１は、以上のようにして生成したＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７が格納された図６のデータ構成例のフレームデータを生成する。このとき、ＣＰＵ３０１は、宛先ＭＡＣアドレス６０２として、ステップＳ９０３で特定したエントリの「ＭＡＣアドレス」項目値を設定する。ＣＰＵ３０１は、送信元ＭＡＣアドレス６０１として、上記宛先ＭＡＣアドレス６０２が接続先ＭＡＣアドレスとして設定されている図３（ａ）のＬＡＮインタフェース部３０５自身のＭＡＣアドレスを設定する。ＣＰＵ３０１は、送信元ＩＰアドレス６０３として、図７のステップＳ７０１で取得しメモリ３０２に保持しているスイッチ１０１自身のＩＰアドレスを設定する。ＣＰＵ３０１は、宛先ＩＰアドレス６０４として、ステップＳ９０３で特定したエントリの「ＩＰアドレス」項目値を設定する。そして、ＣＰＵ３０１は、送信元ポート番号６０５および宛先ポート番号６０６として、ＥＣＨＯＮＥＴ  Ｌｉｔｅ通信プロトコルに対応するポート番号を設定する。
【０１０２】
ＣＰＵ３０１は、以上のプロパティ値取得要求メッセージが格納されたフレームデータを、図３（ａ）のフレーム転送エンジン３０４に送信依頼する。フレーム転送エンジン３０４は、依頼されたフレームデータを、そのフレームデータの宛先ＭＡＣアドレス６０２が接続先ＭＡＣアドレスとして保持されているＬＡＮインタフェース部３０５から送信する。
【０１０３】
以上のステップＳ９０７では、機器データ管理テーブル２０３−３のエントリに登録されていないプロパティ名と、差分時間がキャッシュ値許容時間外であるプロパティ名についてのみ、プロパティ値取得要求メッセージが機器１０３に送信される。これに対して、プロパティ値取得要求メッセージにより要求された全てのプロパティ名「ＥＰＣ１」〜「ＥＰＣｎ」について、プロパティ値取得要求メッセージが機器１０３に送信されて、全てのプロパティ値の再取得が要求されてもよい。
【０１０４】
一方、ＣＰＵ３０１は、差分時間がキャッシュ値許容時間内の機器データ管理テーブル２０３−３上のプロパティ値は、応答待ちプロパティとして、ステップＳ９０７で付与したＴＩＤ値とともに、メモリ３０２に一時保持する（図９のステップＳ９０８）。なお、ＣＰＵ３０１は、プロパティ値取得要求メッセージの送信元（要求元）のＧＷ１０２の情報も一緒に保持する。この結果、ステップＳ９０７で送信されたプロパティ値取得要求メッセージに対して機器１０３からプロパティ値が応答された場合に、そのプロパティ値とメモリ３０２に一時保持したプロパティ値をＴＩＤで紐付けして、要求元のＧＷ１０２に応答することが可能となる。すなわち、ＣＰＵ３０１は、受信された応答のフレームデータに付与されているＴＩＤ値と同じＴＩＤ値が付与されているメモリ３０２上の応答待ちプロパティの値を、受信された応答のフレームデータ中のプロパティ値ととりまとめて、要求元のＧＷ１０２に応答する。
【０１０５】
ステップＳ９０８の処理の後、ＣＰＵ３０１は、図９のフローチャートで示される図８のステップＳ８０５のデータ取得要求受信時処理を終了する。
【０１０６】
図１０は、図８のステップＳ８０６の状態通知・応答受信時処理の詳細例を示すフローチャートである。
【０１０７】
ＣＰＵ３０１は、受信された状態通知または応答のフレームデータに格納されているＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７によって、機器データ管理テーブル２０３−３の該当するエントリのプロパティを更新する（図１０のステップＳ１００１）。この場合、受信された図６のデータ構成例のフレームデータに格納されているＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７の「ＳＥＯＪ」には、プロパティ値を更新すべき機器１０３またはＧＷ１０２のオブジェクト識別子が格納されている。また、ＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７内のプロパティ値の組（「ＥＰＣ１」、「ＰＤＣ１」、「ＥＤＴ１」）〜（「ＥＰＣｎ」、「ＰＤＣｎ」、「ＥＤＴｎ」）には、更新すべてきプロパティのプロパティ名とプロパティ値の組が格納されている。ＣＰＵ３０１はまず、機器データ管理テーブル２０３−３上で、上記フレーム内の「ＳＥＯＪ」項目の値が「ＥＯＪ」項目に登録されているエントリを特定する。そして、ＣＰＵ３０１は、そのエントリにおいて、上記プロパティ値の組で、対応する「プロパティ名」項目ごとの「値」項目の値を更新する。また、ＣＰＵ３０１は、その登録がなされている「値」項目に対応する「更新日時」項目に、現在日時（状態通知・応答のメッセージが受信された日時）を登録する。
【０１０８】
次に、ＣＰＵ３０１は、受信された応答のメッセージに対応する応答待ちプロパティが、メモリ３０２にあるか否かを判定する（図１０のステップＳ１００２）。具体的には、ＣＰＵ３０１は、受信された応答メッセージのフレームデータに格納されているＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７の「ＴＩＤ」項目のＴＩＤ値と同じＴＩＤ値が付与されている応答待ちプロパティを、メモリ３０２上で検索する。
【０１０９】
ステップＳ１００２の判定がＮＯとなった場合、スイッチ１０１は、受信された状態通知メッセージまたは応答メッセージをそのまま宛先のポートに中継する。具体的には、ＣＰＵ３０１は、受信された状態通知メッセージまたは応答メッセージをそのまま中継して送信するよう、フレーム転送エンジン３０４に指示する（図１０のステップＳ１００３）。フレーム転送エンジン３０４は、状態通知メッセージのフレームデータの宛先ＭＡＣアドレス６０２（図６参照）に、マルチキャストを示す値が設定されているのを確認後、そのフレームデータを図３（ａ）の全てのＬＡＮインタフェース部３０５に中継転送する。
【０１１０】
一方、ステップＳ１００２の判定がＹＥＳとなる場合は、受信されたメッセージが、図９のステップＳ９０７で送信されたプロパティ値取得要求メッセージに対するスイッチ１０１自身宛ての応答メッセージで、かつ応答待ちプロパティがある場合である。この場合、ＣＰＵ３０１は、ステップＳ１００２でメモリ３０２上で検索された応答待ちプロパティのプロパティ値を、受信された応答のフレームデータ中のプロパティ値ととりまとめて、プロパティ値取得応答メッセージを再構築する（図１０のステップＳ１００４）。ＣＰＵ３０１は、応答待ちプロパティとともに保持していた要求元のＧＷ１０２の情報に基づいて、上記再構築したプロパティ値取得応答メッセージがＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７（図６参照）として格納されたフレームデータを生成する。この生成のしかたは、図９のステップＳ９０５の場合と同様である。
【０１１１】
スイッチ１０１は、それに対応するプロパティ値取得要求メッセージを送信した宛先に、上記プロパティ値取得応答メッセージを応答する（図１０のステップＳ１００３）。具体的には、ＣＰＵ３０１は、以上のステップＳ１００４で構築したプロパティ値取得応答メッセージが格納されたフレームデータを、図３（ａ）のフレーム転送エンジン３０４に送信依頼する。フレーム転送エンジン３０４は、依頼されたフレームデータを、そのフレームデータの宛先ＭＡＣアドレス６０２が接続先ＭＡＣアドレスとして保持されているＬＡＮインタフェース部３０５から送信する。
【０１１２】
ステップＳ１００３の処理の後、ＣＰＵ３０１は、図１０のフローチャートで示される図８のステップＳ８０６の状態通知・応答受信時処理を終了する。
【０１１３】
図１１は、ＧＷ１０２のキャッシュ値許容時間登録・更新状態通知処理の例を示すフローチャートである。この処理は、図３（ｂ）のハードウェア構成例において、ＣＰＵ３１１がストレージ３１３からメモリ３１２に読み出したキャッシュ値許容時間登録・更新状態通知処理プログラムを実行する処理である。この処理は、図２のプロトコル処理部２１０の動作の一部である。
【０１１４】
図２のＧＷ１０２内のキャッシュ値許容時間登録インタフェース２１２は、ＧＷ１０２の管理者または上位システムのサービスから、キャッシュ値許容時間の登録または更新を受け付ける。この結果、キャッシュ値許容時間登録インタフェース２１２は、図３（ｂ）のメモリ３１２またはストレージ３１３に記憶されているＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトデータ管理テーブル２１３（図２）を更新する。具体的には、キャッシュ値許容時間登録インタフェース２１２は、図５のデータ構成例を有するＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトデータ管理テーブル２１３上で、「キャッシュ値許容時間」項目値を登録または更新する。
【０１１５】
これに対して、ＧＷ１０２のＣＰＵ３１１は、ＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトデータ管理テーブル２１３上の「キャッシュ値許容時間」項目値が登録または更新されたか否かを判定待機している（図１１のステップＳ１１０１）。
【０１１６】
ステップＳ１１０１の判定がＹＥＳになると、ＧＷ１０２のＣＰＵ３１１は、登録または更新されたキャッシュ値許容時間を、図３（ａ）のＬＡＮインタフェース部３１４を介して、マルチキャストで状態通知する（図１１のステップＳ１１０２）。具体的には、送信される図６のデータ構成例のフレームデータのＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７において、送信元ＭＡＣアドレス６０１および送信元ＩＰアドレス６０３には、応答元のＧＷ１０２のＭＡＣアドレスおよびＩＰアドレスが格納される。また、宛先ＭＡＣアドレス６０２には、マルチキャストに対応する「値」が格納される。さらに、ＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７内の「ＳＥＯＪ」項目には、応答元のＧＷ１０２のＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクト識別子が格納される。加えて、ＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７内の「ＥＰＣ１」項目には名称「キャッシュ値許容時間」が、「ＥＤＴ１」項目にはキャッシュ値許容時間値が、それぞれ格納される。なお、「ＲＤＣ１」項目には「ＥＤＴ１」項目値のバイト数が格納されている。
【０１１７】
ステップＳ１１０２の処理の後、ＣＰＵ３１１は、図１１のフローチャートで示されるキャッシュ値許容時間登録処理を終了する。
【０１１８】
上述のようにしてＧＷ１０２から送信されたキャッシュ値許容時間の状態通知メッセージのフレームデータを受信したスイッチ１０１は、図８のフレーム受信時の代理応答処理において、ステップＳ８０４からＳ８０６を実行することにより、図１０のステップＳ１００１でその状態通知メッセージを処理する。
【０１１９】
ステップＳ１００１で、図３（ａ）のＣＰＵ３０１は、図４のデータ構成例の機器データ管理テーブル２０３−３において、キャッシュ値許容時間の状態通知メッセージ中の「ＳＥＯＪ」項目値が格納されている「コントローラ」種別のエントリを抽出する。そして、ＣＰＵ３０１は、そのエントリにおいて、「プロパティ名」項目＝「キャッシュ値許容時間」に  対応する「値」項目に、キャッシュ値許容時間の状態通知メッセージ中の「ＥＤＴ１」項目のキャッシュ値許容時間値を登録する。
【０１２０】
このようにして、ＧＷ１０２上でのキャッシュ値許容時間の登録・更新に応じてＧＷ１０２から送信されるマルチキャストの状態通知に基づき、スイッチ１０１の機器データ管理テーブル２０３−３の該当エントリのキャッシュ値許容時間を登録・更新することができる。
【０１２１】
以上説明した図７から図１１のフローチャートで例示される制御処理による動作シーケンスを以下に説明する。
【０１２２】
図１２は、ＧＷ１０２へのキャッシュ値許容時間登録のシーケンス例を示す図である。
図２のＧＷ１０２（＃１）内のキャッシュ値許容時間登録インタフェース２１２は、ＧＷ１０２（＃１）のサービス１管理者から、キャッシュ値許容時間の登録を受け付ける。この時間値を例えば５秒とする。この結果、ＧＷ１０２（＃１）における図２のキャッシュ値許容時間登録インタフェース２１２は、ＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトデータ管理テーブル２１３（図２）の「キャッシュ値許容時間」項目に「５秒」を登録する（図１２のＳ１２０１）。
【０１２３】
一方、図２のＧＷ１０２（＃２）内のキャッシュ値許容時間登録インタフェース２１２は、上位システムのサービスから、キャッシュ値許容時間の登録を受け付ける。この時間値を例えば６０秒とする。この結果、ＧＷ１０２（＃２）における図２のキャッシュ値許容時間登録インタフェース２１２は、ＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトデータ管理テーブル２１３（図２）の「キャッシュ値許容時間」項目に「６０秒」を登録する（図１２のＳ１２０２）。
【０１２４】
図１３は、図１２のシーケンス例で示されるＧＷ１０２（＃１）およびＧＷ１０２（＃２）でのキャッシュ値許容時間登録に続くキャッシュ値許容時間登録状態通知処理のシーケンス例を示す図である。
【０１２５】
ＧＷ１０２（＃１）のＣＰＵ３１１は、図１１のフローチャートで例示されるキャッシュ値許容時間登録・更新状態通知処理を実行している。ＧＷ１０２（＃１）の図５のデータ構成例を有するＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトデータ管理テーブル２１３の「キャッシュ値許容時間」項目にキャッシュ値許容時間＝「５秒」が登録されると、ＣＰＵ３１１が、図１１のステップＳ１１０１で、登録を検出する。そして、ＣＰＵ３１１は、図１１のステップＳ１１０２で、登録されたキャッシュ値許容時間＝「５秒」を、マルチキャストの状態通知として送信する（図１３のＳ１３０１）。
【０１２６】
この結果、ＧＷ１０２（＃１）から送信されたキャッシュ値許容時間＝「５秒」の状態通知メッセージのフレームデータは、スイッチ１０１で、ＧＷ１０２（＃１）が接続される図３（ａ）のＬＡＮインタフェース部３０５を介して、フレーム転送エンジン３０４で受信される。スイッチ１０１のＣＰＵ３０１は、フレーム転送エンジン３０４から上記状態通知メッセージのフレームデータを受け取る。ＣＰＵ３０１は、図８のステップＳ８０４からＳ８０６のフレーム受信の処理を実行することにより、図１０のステップＳ１００１を実行する。これにより、上記状態通知メッセージ内のキャッシュ値許容時間＝５秒が、図４のデータ構成例の機器データ管理テーブル２０３−３内のコントローラ（＃１）のエントリのプロパティ名＝「キャッシュ値許容時間」に対応する「値」項目に登録される（図１３のＳ１３０２）。
【０１２７】
ＧＷ１０２（＃２）でも同様に、ＣＰＵ３１１は、図１１のフローチャートで例示されるキャッシュ値許容時間登録・更新状態通知処理を実行している。ＧＷ１０２（＃２）の図５のデータ構成例を有するＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトデータ管理テーブル２１３の「キャッシュ値許容時間」項目にキャッシュ値許容時間＝「６０秒」が登録されると、ＣＰＵ３１１が、図１１のステップＳ１１０１で、登録を検出する。ＣＰＵ３１１は、図１１のステップＳ１１０２で、登録されたキャッシュ値許容時間＝「６０秒」を、マルチキャストの状態通知として送信する（図１３のＳ１３０３）。
【０１２８】
この結果、ＧＷ１０２（＃２）から送信されたキャッシュ値許容時間＝「６０秒」の状態通知メッセージのフレームデータは、スイッチ１０１で、ＧＷ１０２（＃２）が接続される図３（ａ）のＬＡＮインタフェース部３０５を介して、フレーム転送エンジン３０４で受信される。スイッチ１０１のＣＰＵ３０１は、フレーム転送エンジン３０４から上記状態通知メッセージのフレームデータを受け取る。ＣＰＵ３０１は、図８のステップＳ８０４からＳ８０６のフレーム受信の処理を実行することにより、図１０のステップＳ１００１を実行する。上記状態通知メッセージ内のキャッシュ値許容時間＝６０秒が、図４のデータ構成例の機器データ管理テーブル２０３−３内のコントローラ（＃２）のエントリのプロパティ名＝「キャッシュ値許容時間」に対応する「値」項目に登録される（図１３のＳ１３０４）。
【０１２９】
以上の図１３のシーケンス例は、スイッチ１０１が、ＧＷ１０２（＃１）やＧＷ１０２（＃２）よりも先に起動していて、各ＧＷ１０２におけるキャッシュ値許容時間が、あとからスイッチ１０１に登録される場合の例である。
【０１３０】
図１４は、スイッチ１０１の立上げ時のインスタンスリスト通知要求処理およびキャッシュ値許容時間取得処理のシーケンス例を示す図である。
【０１３１】
スイッチ１０１が起動されると（図１４のＳ１４０１）、ＣＰＵ３０１は、図７のフローチャートで例示されるスイッチ１０１の立上げ時の代理応答処理をスタートさせる。
【０１３２】
この結果、ＣＰＵ３０１は、図７のステップＳ７０１により、スイッチ１０１自身のＩＰアドレスを取得する（図１４のＳ１４０２）。
【０１３３】
その後、ＣＰＵ３０１は、図７のステップＳ７０２により、Ｇｅｔ要求として、インスタンスリスト通知要求メッセージのフレームデータを、マルチキャストで送信する（図１４のＳ１４０３）。
【０１３４】
このフレームデータは、図３（ａ）のフレーム転送エンジン３０４から各ＬＡＮインタフェース部３０５を介して、ＧＷ１０２（＃１）、機器１０３（＃１）、ＧＷ１０２（＃２）などに到達する。ここで、機器１０３（＃２）は、例えば起動していない。
【０１３５】
ＧＷ１０２（＃１）、機器１０３（＃１）、ＧＷ１０２（＃２）等は、上記インスタンスリスト通知要求メッセージを受信すると、それぞれの機器が管理しているプロパティ名が格納されたインスタンスリスト通知応答メッセージを応答する。応答の形式は、ＥＣＨＯＮＥＴ  Ｌｉｔｅ通信プロトコルに従ったＧｅｔ応答による。
【０１３６】
この結果、ＣＰＵ３０１は、図７のステップＳ７０３により、図３（ａ）の各ＬＡＮインタフェース部３０５およびフレーム転送エンジン３０４を介して、各インスタンスリスト通知応答メッセージを受信する（図１４のＳ１４０４、Ｓ１４０５、Ｓ１４０６）。これを受けて、ＣＰＵ３０１は、図４のデータ構成例を有する機器データ管理テーブル２０３−３に、「機種種別」、「ＭＡＣアドレス」、「ＩＰアドレス」、「ＥＯＪ」、および「プロパティ名」の各項目値が設定された各エントリを生成する（図１４のＳ１４０７）。例えば、「機種種別」項目に「機器（＃１）」「コントローラ（＃１）」「コントローラ（＃２）」などがそれぞれ設定された各エントリが生成される。
【０１３７】
さらに、ＣＰＵ３０１は、図７のステップＳ７０４からＳ７０５の処理により、上記応答機器の中にプロパティ名として「キャッシュ値許容時間」を含む「コントローラ」種別の機器がある場合には、それらのＧＷ１０２に、キャッシュ値許容時間通知要求メッセージを送信する。
【０１３８】
ＧＷ１０２（＃１）宛てのキャッシュ値許容時間通知要求メッセージのフレームデータは、図３（ａ）のフレーム転送エンジン３０４からＧＷ１０２（＃１）が接続されたＬＡＮインタフェース部３０５を介してＧＷ１０２（＃１）に到達する（図１４のＳ１４０８）。
【０１３９】
ＧＷ１０２（＃１）内のＣＰＵ３１１は、上記キャッシュ値許容時間通知要求メッセージを受信すると、以下の制御動作を実行する。ＣＰＵ３１１は、メモリ３１２等から、図５のデータ構成例を有するＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトデータ管理テーブル２１３（図２参照）の「キャッシュ値許容時間」項目に登録されているキャッシュ値許容時間＝「５秒」を読み出す。ＣＰＵ３１１は、キャッシュ値許容時間値＝「５秒」が設定されたキャッシュ値許容時間通知応答メッセージを生成して、図３（ｂ）のＬＡＮインタフェース部３１４からスイッチ１０１に向けて応答する。応答の形式は、Ｇｅｔ応答による（図１４のＳ１４０９）。
【０１４０】
スイッチ１０１内のＣＰＵ３０１は、上記キャッシュ値許容時間通知応答メッセージを、ＧＷ１０２（＃１）が接続される図３（ａ）のＬＡＮインタフェース部３０５およびフレーム転送エンジン３０４を介して受信する。ＣＰＵ３０１は、図７のステップＳ７０６により、キャッシュ値許容時間通知応答メッセージからキャッシュ値許容時間値を取り出す。そして、ＣＰＵ３０１は、機器データ管理テーブル２０３−３上のＧＷ１０２（＃１）に対応するエントリにおいて、「プロパティ名」項目＝「キャッシュ値許容時間」に対応する「値」項目に、上記キャッシュ値許容時間値＝「５秒」を登録する（図１４のＳ１４１０）。
【０１４１】
ＧＷ１０２（＃２）宛てのキャッシュ値許容時間通知要求メッセージも同様に処理され（図１４のＳ１４１１）、ＧＷ１０２（＃２）からのキャッシュ値許容時間通知応答メッセージからキャッシュ値許容時間値＝「６０秒」が取り出される（図１４のＳ１４１２）。そして、機器データ管理テーブル２０３−３上のＧＷ１０２（＃２）に対応するエントリにおいて、「プロパティ名」項目＝「キャッシュ値許容時間」に対応する「値」項目に、キャッシュ値許容時間値＝「６０秒」が登録される（図１４のＳ１４１３）。
【０１４２】
図１４のシーケンス例は、図１３のシーケンス例とは逆に、スイッチ１０１が、ＧＷ１０２（＃１）やＧＷ１０２（＃２）よりも後に起動する場合であって、スイッチ１０１が後から各ＧＷ１０２にキャッシュ値許容時間を要求して取得する場合の例である。
【０１４３】
図１５は、例えばＧＷ１０２（＃１）からのインスタンスリスト取得要求処理（機器検出処理）のシーケンス例を示す図である。例えばＧＷ１０２（＃１）が後から起動したようなケースにおいて、ＧＷ１０２（＃１）上で稼働するサービスが、ネットワークにどの機器が接続されているかを知りたい場合がある。
【０１４４】
このような場合に、ＧＷ１０２（＃１）等は、インスタンスリスト取得要求メッセージをマルチキャストで送信する。ＧＷ１０２（＃１）のＣＰＵ３１１は、送信されるフレームの図６のデータ構成例のフレームデータのＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７において、「ＥＳＶ」項目にデータ取得要求を示す値「０ｘ６Ｘ」を設定する。これに対して、スイッチ１０１のＣＰＵ３０１は、図３（ａ）の各ＬＡＮインタフェース部３０５およびフレーム転送エンジン３０４を介して、上記インスタンスリスト取得要求メッセージのフレームデータを受信する（図１５のＳ１５０１）。
【０１４５】
この結果、ＣＰＵ３０１は、図８のフレーム受信時の代理応答処理を起動し、図８のステップＳ８０１→Ｓ８０３→Ｓ８０４→Ｓ８０５と実行し、さらにステップＳ８０５の詳細である図９のＳ９０１で判定がＹＥＳとなって、図９のステップＳ９０２を実行する。ＣＰＵ３０１は、図４のデータ構成例の機器データ管理テーブル２０３−３の各エントリに登録されているインスタンスのリストを生成して、インスタンスリスト取得要求メッセージの送信元に応答する（図１５のＳ１５０２）。
【０１４６】
この場合、ＣＰＵ３０１は、上記エントリごとに、各エントリの機器を代理するＧｅｔ応答によるインスタンスリスト取得応答メッセージを生成して、ＧＷ１０２（＃１）に応答する（図１４のＳ１５０３、Ｓ１５０４）。これにより、例えば図１５において、ＧＷ１０２（＃１）は、あたかも機器１０３（＃１）およびＧＷ１０２（＃２）（コントローラ（＃２））が応答したかのように、各インスタンスリスト取得応答メッセージを受信する。
【０１４７】
実際には、機器１０３（＃１）およびＧＷ１０２（＃２）にはアクセスは行われておらず、スイッチ１０１が代理応答しているため、特に各機器１０３へのアクセス数が削減され、余分な要求メッセージを機器１０３に送信しなくて済むという効果が得られる。なお、ＧＷ１０２（＃１）が他のＧＷ１０２（＃２）の接続状態を知りたい場合もあるため、ＧＷ１０２（＃２）の代理応答の対象となる（図１４のＳ１５０４）。この結果、ＧＷ１０２にも余分な要求メッセージが送信されなくなるため、ネットワーク全体のトラフィックを減少ささせる効果がある。
【０１４８】
図１６は、ＧＷ１０２からのプロパティ値取得要求処理のシーケンス例（その１）を示す図である。
【０１４９】
まず、例えばＧＷ１０２（＃１）が、機器１０３（＃１）に対して、Ｇｅｔ要求によるプロパティ値取得要求メッセージを送信する（図１６のＳ１６０１）。ＧＷ１０２（＃１）のＣＰＵ３１１は、送信されるフレームの図６のデータ構成例のフレームデータのＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７において、予め取得しているインスタンスリスト（図１５参照）から、次の値を設定する。ＣＰＵ３１１は、「ＳＥＯＪ」項目に、ＧＷ１０２（＃１）自身のオブジェクト識別子＝「０ｘ０５ＦＦ０１」（図４のコントローラ（＃１）のエントリの「ＥＯＪ」項目値を参照）を設定する。ＣＰＵ３１１は、「ＤＥＯＪ」項目に、機器１０３（＃１）のオブジェクト識別子＝「０ｘ０１３００１」（図４の機器（＃１）のエントリの「ＥＯＪ」項目値を参照）を設定する。さらに、ＣＰＵ３１１は、要求プロパティとして、「ＥＰＣ１」＝「動作状態」を設定する。これに対して、スイッチ１０１のＣＰＵ３０１は、ＧＷ１０２（＃１）が接続される図３（ａ）のＬＡＮインタフェース部３０５およびフレーム転送エンジン３０４を介して、上記プロパティ値取得要求メッセージのフレームデータを受信する（図１６のＳ１６０１）。
【０１５０】
この結果、ＣＰＵ３０１は、図８のフレーム受信時の代理応答処理を起動し、図８のステップＳ８０１→Ｓ８０３→Ｓ８０４→Ｓ８０５と実行し、さらにステップＳ８０５の詳細である図９のＳ９０１で判定がＮＯとなって、図９のステップＳ９０３を実行する。ＣＰＵ３０１は、プロパティ値取得要求メッセージから、「ＳＥＯＪ」＝「０ｘ０５ＦＦ０１」と、「ＤＥＯＪ」＝「０ｘ０１３００１」と、要求プロパティ「ＥＰＣ１」＝「動作状態」を取り出す。ＣＰＵ３０１は、機器データ管理テーブル２０３−３において、「ＥＯＪ」項目値が「０ｘ０１３００１」である機器１０３（＃１）のエントリを特定する（図４参照）。ＣＰＵ３０１は、そのエントリの「プロパティ名」＝「動作状態」に対応する「更新日時」＝「２０１４／１／２４  １０：１５：４０」と、上記メッセージの受信時刻＝「２０１４／１／２４  １０：１５：５５」との差分時間＝「１５」秒を算出する。ＣＰＵ３０１は、機器データ管理テーブル２０３−３において、「ＥＯＪ」項目値が「０ｘ０５ＦＦ０１」であるコントローラ（＃１）（＝ＧＷ１０２（＃１））のエントリから、プロパティ名＝「キャッシュ値許容時間」に対応する「値」＝「５」秒を抽出する。ＣＰＵ３０１は、図９のステップＳ９０４で、上記差分時間＝「１５」秒が上記キャッシュ値許容時間＝「５」秒内ではないことを判定し、図９のステップＳ９０７の処理に進む（図１６のＳ１６０２）。
【０１５１】
ＣＰＵ３０１は、図９のステップＳ９０７で、差分時間がキャッシュ値許容時間内になかった要求プロパティ「ＥＰＣ１」＝「動作状態」が設定されたプロパティ値取得要求メッセージを再構築する。ＣＰＵ３０１は、そのプロパティ値取得要求メッセージを、Ｇｅｔ要求として機器１０３（＃１）に向けて送信する（図１６のＳ１６０３）。
【０１５２】
上記プロパティ値取得要求メッセージを受信した機器１０３（＃１）は、要求プロパティ「ＥＰＣ１」＝「動作状態」に対応するプロパティ値「ＥＤＴ１」＝「ＯＮ」が設定されたプロパティ値取得応答メッセージを、Ｇｅｔ応答として応答する。このほか、上記メッセージには、「ＳＥＯＪ」＝機器１０３（＃１）自身のオブジェクト識別子＝「０ｘ０１３００１」、「ＥＳＶ」＝「０ｘ７Ｘ」が設定される。これに対して、スイッチ１０１のＣＰＵ３０１は、図３（ａ）の機器１０３（＃１）が接続されるＬＡＮインタフェース部３０５およびフレーム転送エンジン３０４を介して、上記プロパティ値取得応答メッセージのフレームデータを受信する（図１６のＳ１６０４）。
【０１５３】
この結果、ＣＰＵ３０１は、図８のフレーム受信時の代理応答処理を起動し、図８のステップＳ８０１→Ｓ８０３→Ｓ８０４と実行する。ステップＳ８０４で、ＣＰＵ３０１は、上記メッセージから「ＥＳＶ」＝「０ｘ７Ｘ」を取り出して判定した結果、図８のステップＳ８０６を実行し、さらにステップＳ８０６の詳細である図１０のＳ１００１を実行する。ＣＰＵ３０１は、受信したプロパティ値取得応答メッセージから、要求プロパティ「ＥＰＣ１」＝「動作状態」に対応するプロパティ値「ＥＤＴ１」＝「ＯＮ」、「ＳＥＯＪ」＝「０ｘ０１３００１」を取り出す。ＣＰＵ３０１は、図４のデータ構成例の機器データ管理テーブル２０３−３の「ＥＯＪ」項目値が「０ｘ０１３００１」である機器１０３（＃１）のエントリを特定する（図４参照）。ＣＰＵ３０１は、そのエントリの「プロパティ名」＝「動作状態」に対応する「値」項目値を「ＯＮ」に更新し、「更新日時」項目値に現在時刻「２０１４／１／２４  １０：１５：５６」を登録する（図１６のＳ１６０５）。
【０１５４】
そして、ＣＰＵ３０１は、図１０のステップＳ１００２の判定がＮＯとなった後、ステップＳ１００３を実行する。ＣＰＵ３０１は、図３のフレーム転送エンジン３０４を介して、受信されたプロパティ値取得応答メッセージをそのまま、ＧＷ１０２（＃１）が接続されるＬＡＮインタフェース部３０５に中継転送する。この結果、ＧＷ１０２（＃１）に対して、Ｇｅｔ応答によるプロパティ値取得応答メッセージが通知される（図１６のＳ１６０６）。
【０１５５】
このようにして、ＧＷ１０２（＃１）は、機器１０３（＃１）に関する要求プロパティ＝「動作状態」に対する最新のプロパティ値＝「ＯＮ」を取得することができる。
【０１５６】
続いて、例えばＧＷ１０２（＃２）が、機器１０３（＃１）に対して、要求プロパティとして「ＥＰＣ１」＝「動作状態」が設定されたＧｅｔ要求によるプロパティ値取得要求メッセージを送信する。この動作は、ＧＷ１０２（＃１）に関するＳ１６０１の場合と同様である。これに対して、スイッチ１０１のＣＰＵ３０１は、ＧＷ１０２（＃２）が接続される図３（ａ）のＬＡＮインタフェース部３０５およびフレーム転送エンジン３０４を介して、上記プロパティ値取得要求メッセージのフレームデータを受信する（図１６のＳ１６０７）。
【０１５７】
この結果、ＣＰＵ３０１は、Ｓ１６０２の場合と同様にして、図９のステップＳ９０３で、機器データ管理テーブル２０３−３の機器１０３（＃１）のエントリで、要求プロパティの「更新日時」項目値と上記メッセージの受信時刻との差分時間を算出する。具体的には、ＣＰＵ３０１は、「プロパティ名」＝「動作状態」に対応する「更新日時」＝「２０１４／１／２４  １０：１５：５６」とメッセージ受信時刻＝「２０１４／１／２４  １０：１６：１０」との差分時間＝「１４」秒を算出する。一方、ＣＰＵ３０１は、Ｓ１６０２と同様に、図９のステップＳ９０４で、機器データ管理テーブル２０３−３のコントローラ（＃２）（＝ＧＷ１０２（＃２））のエントリから、プロパティ名＝「キャッシュ値許容時間」の「値」＝「６０」秒を抽出する。ＣＰＵ３０１は、図９のステップＳ９０４で、上記差分時間＝「１４」秒が上記キャッシュ値許容時間＝「６０」秒内であることを判定し、図９のステップＳ９０５の処理に進む（図１６のＳ１６０８）。
【０１５８】
ＣＰＵ３０１は、図９のステップＳ９０５およびＳ９０６で、機器データ管理テーブル２０３−３において、機器１０３（＃１）のエントリの「プロパティ名」＝「動作状態」に対応するプロパティ値＝「ＯＮ」を読み出す（図１６のＳ１６０９）。
【０１５９】
この結果、ＣＰＵ３０１は、要求プロパティ名＝「動作状態」に対応するプロパティ値＝「ＯＮ」が設定されたプロパティ値取得応答メッセージを生成し、ＧＷ１０２（＃２）に代理応答する（図１６のＳ１６１０）。
【０１６０】
このようにして、ＧＷ１０２（＃２）は、スイッチ１０１による代理応答により、ＧＷ１０２（＃２）に対応するキャッシュ値許容時間＝「６０」秒の範囲内で、要求プロパティ名＝「動作状態」に対応する最新のプロパティ値＝「ＯＮ」を取得することが可能となる。この場合、ＧＷ１０２（＃２）から送信されたプロパティ値取得要求メッセージは、機器１０３（＃１）には転送されずにスイッチ１０１で代理で処理されるため、機器１０３（＃１）に対する処理負担を最小限に抑えることが可能となる。
【０１６１】
図１７は、ＧＷ１０２からのプロパティ値取得要求処理のシーケンス例（その２）を示す図である。
【０１６２】
図１７では、機器データ管理テーブル２０３−３の機器１０３（＃１）のエントリの「プロパティ名」項目＝「動作状態」に対応する「値」項目が、図１６のＳ１６０９で最新状態に更新された状態をスタートとする。この状態における機器データ管理テーブル２０３−３は、図１７のＡに示される内容を有している。すなわち、機器１０３（＃１）のエントリにおいて、「プロパティ名」項目＝「動作状態」の「更新日時」項目の値は、「２０１４／１／２４  １０：１５：５６」になっている。また、上記エントリのその他の「プロパティ名」項目＝「設定温度」と「プロパティ名」項目＝「温度」の「更新日時」項目の値は、「２０１４／１／２４  １０：１５：５６」で最新状態にはなっていない。
【０１６３】
上記状態において、ＧＷ１０２（＃２）が、機器１０３（＃１）に対して、３つの要求プロパティ「ＥＰＣ１」＝「動作状態」、「ＥＰＣ２」＝「設定温度」、「ＥＰＣ３」＝「温度」が設定されたＧｅｔ要求によるプロパティ値取得要求メッセージを送信したとする。このメッセージは、図１６のＳ１６０１の場合と同様にして送信される。これに対して、スイッチ１０１のＣＰＵ３０１は、ＧＷ１０２（＃２）が接続される図３（ａ）のＬＡＮインタフェース部３０５およびフレーム転送エンジン３０４を介して、上記プロパティ値取得要求メッセージのフレームデータを受信する（図１７のＳ１７０１）。
【０１６４】
ＣＰＵ３０１は、図１６のＳ１６０２の場合と同様に、図９のステップＳ９０３で、図１７のＡの機器データ管理テーブル２０３−３の機器１０３（＃１）のエントリで、要求プロパティごとに、「更新日時」項目値と上記メッセージの受信時刻との差分時間を算出する。具体的には、要求プロパティ＝「動作状態」については、「更新日時」＝「２０１４／１／２４  １０：１５：５６」とメッセージの受信時刻＝「２０１４／１／２４  １０：１６：４５」との差分時間＝「４９」秒が算出される。また、要求プロパティ＝「設定温度」については、「更新日時」＝「２０１４／１／２４  １０：１５：４０」とメッセージの受信時刻＝「２０１４／１／２４  １０：１６：４５」との差分時間＝「６５」秒が算出される。さらに、要求プロパティ＝「動作状態」については、「更新日時」＝「２０１４／１／２４  １０：１５：４０」とメッセージの受信時刻＝「２０１４／１／２４  １０：１６：４５」との差分時間＝「６５」秒が算出される。一方、ＣＰＵ３０１は、図１６のＳ１６０２と同様に、図９のステップＳ９０４で、機器データ管理テーブル２０３−３のコントローラ（＃２）（＝ＧＷ１０２（＃２））のエントリから、プロパティ名＝「キャッシュ値許容時間」の「値」＝「６０」秒を抽出する。ＣＰＵ３０１は、図９のステップＳ９０４で、要求プロパティ＝「動作状態」の差分時間＝「４９」秒のみが上記キャッシュ値許容時間以内で、要求プロパティ＝「設定温度」と「温度」については、それらの差分時間＝「６５」秒は上記キャッシュ値許容時間外と判定する。
【０１６５】
この結果、ＣＰＵ３０１は、図９のステップＳ９０７の処理に進む。
ＣＰＵ３０１は、図９のステップＳ９０７により、差分時間がキャッシュ値許容時間外である要求プロパティ＝「設定温度」と「温度」が設定されたプロパティ値取得要求メッセージを再構築する。ＣＰＵ３０１は、そのプロパティ値取得要求メッセージを、Ｇｅｔ要求として機器１０３（＃１）に向けて送信する（図１７のＳ１７０３）。このとき、ＣＰＵ３０１は、プロパティ値取得要求メッセージを構成する図６のデータ構成例のフレームデータ内のＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム６０７の「ＴＩＤ」項目に、一意に決定した値（図１７では「１２３４５」と例示）を設定する。
【０１６６】
一方、ＣＰＵ３０１は、図９のステップＳ９０８により、差分時間がキャッシュ値許容時間内となった要求プロパティ＝「動作状態」の「値」項目＝「ＯＮ」については、応答待ちプロパティとして、メモリ３０２に一時保持する（図１７のＳ１７０４）。このとき、ＣＰＵ３０１は、ステップＳ９０７で付与したＴＩＤ値も、応答待ちプロパティの一部として保持する。なお、図１７には特には図示しないが、ＣＰＵ３０１は、プロパティ値取得要求メッセージの送信元（要求元）のＧＷ１０２（＃２）の情報も一緒に保持する。
【０１６７】
上記プロパティ値取得要求メッセージを受信した機器１０３（＃１）は、以下の制御動作を実行する。機器１０３（＃１）は、図１６のＳ１６０４と同様に、要求プロパティ「ＥＰＣ１」＝「設定温度」と「ＥＰＣ２」＝「温度」に対応するプロパティ値「ＥＤＴ１」＝「２４」度と「ＥＤＴ２」＝「２７」度が設定されたプロパティ値取得応答メッセージをＧｅｔ応答する。ただし、図１７の例の場合、機器１０３（＃１）は、プロパティ値取得応答メッセージに、プロパティ値取得要求メッセージに付与されていた「ＴＩＤ」項目値（図１７の例では「１２３４５」）を付与して応答する。これに対して、スイッチ１０１のＣＰＵ３０１は、図３（ａ）の機器１０３（＃１）が接続されるＬＡＮインタフェース部３０５およびフレーム転送エンジン３０４を介して、上記プロパティ値取得応答メッセージのフレームデータを受信する（図１７のＳ１７０５）。
【０１６８】
この結果、ＣＰＵ３０１は、図１６のＳ１６０５と同様にして、図１０のＳ１００１により、図４のデータ構成例の機器データ管理テーブル２０３−３の機器１０３（＃１）のエントリにおいて、以下の更新を実行する。ＣＰＵ３０１は、「プロパティ名」＝「設定温度」に対応する「値」項目値を「２４」度に、「プロパティ名」＝「温度」に対応する「値」項目値を「２７」度にそれぞれ更新する。さらに、ＣＰＵ３０１は、それぞれの「更新日時」項目値に現在時刻「２０１４／１／２４  １０：１６：４６」を登録する（図１７のＳ１７０６）。この結果、機器データ管理テーブル２０３−３の機器１０３（＃１）のエントリは、図１７のＢに示される内容に更新される。
【０１６９】
ここで、メモリ３０２には、Ｓ１７０４により、上記プロパティ値取得応答メッセージに付与されているＴＩＤ値（＝「１２３４５」）と同じＴＩＤ値を含む応答待ちプロパティが保持されている。上記ＴＩＤ値の一致を判定することにより、ＣＰＵ３０１は、図１０のステップＳ１００２の判定がＹＥＳとなった後、ステップＳ１００４を実行する。ＣＰＵ３０１は、応答待ちプロパティの値「動作状態」＝「ＯＮ」と、プロパティ値取得応答メッセージの要求プロパティの値「設定温度」＝「２４」および「温度」＝「２７」とをとりまとめて、プロパティ値取得応答メッセージを再構築する。ＣＰＵ３０１は、図１０のステップＳ１００３により、応答待ちプロパティとともに保持していたＧＷ１０２（＃２）の情報に基づき、上記プロパティ値取得応答メッセージが格納されたフレームデータを生成する（図１７のＳ１７０７）。
【０１７０】
ＣＰＵ３０１は、上記プロパティ値取得応答メッセージが格納されたフレームデータを、ＧＷ１０２（＃２）に代理応答する（図１７のＳ１７０８）。
【０１７１】
以上のようにして、図１７のケースでは、スイッチ１０１は、ＧＷ１０２（＃２）のキャッシュ値許容時間内の要求プロパティについては、機器データ管理テーブル２０３−３内のキャッシュ値を代理応答する。また、スイッチ１０１は、キャッシュ値許容時間外の要求プロパティについては、新たに機器１０３（＃１）から取得した最新のプロパティ値を代理応答する。このようにして、本実施形態によれば、機器１０３への問合せを最小限に抑えながら、ＧＷ１０２が許容する時間範囲の最新データを、スイッチ１０１からＧＷ１０２に代理応答することが可能となる。
【０１７２】
図１８は、機器１０３からの状態通知処理のシーケンス例を示す図である。
スイッチ１０１のＣＰＵ３０１は、機器１０３が接続される図３（ａ）のＬＡＮインタフェース部３０５およびフレーム転送エンジン３０４を介して、機器１０３から、最新のプロパティ値が格納された状態通知メッセージを受信する（図１８のＳ１８０１）。図１８の例では、プロパティ＝「動作状態」の値「ＯＮ」が、状態通知メッセージに格納されている。
【０１７３】
この結果、ＣＰＵ３０１は、図１６のＳ１６０５と同様にして、図１０のＳ１００１により、図４のデータ構成例の機器データ管理テーブル２０３−３の機器１０３（＃１）のエントリにおいて、以下の更新を実行する。ＣＰＵ３０１は、「プロパティ名」＝「動作状態」に対応する「値」項目値を「ＯＮ」に更新し、「更新日時」項目値に現在時刻を登録する（図１８のＳ１８０２）。
【０１７４】
ＣＰＵ３０１は、図１０のステップＳ１００２の判定がＮＯとなった後、ステップＳ１００３により、受信された状態通知メッセージをそのまま中継して送信するよう、図３のフレーム転送エンジン３０４に指示する。フレーム転送エンジン３０４は、状態通知メッセージのフレームデータの宛先ＭＡＣアドレス６０２（図６参照）に、マルチキャストを示す値が設定されているのを確認後、そのフレームデータを図３（ａ）の全てのＬＡＮインタフェース部３０５に中継転送する。この結果、機器１０３（＃１）からの状態通知メッセージが、ＧＷ１０２（＃１）およびＧＷ１０２（＃２）に到達する（図１８のＳ１８０３）。各ＧＷ１０２は、通知されたプロパティ値に基づいて、自装置が管理するプロパティ値を更新する。
【０１７５】
図１９は、本実施形態の効果を説明するシーケンス例を示す図である。
例えば、キャッシュ値許容時間が異なるＧＷ１０２（＃Ａ）、（＃Ｂ）、（＃Ｃ）があり、それぞれのキャッシュ値許容時間は１秒、３秒、５秒で、それぞれ７秒、９秒、９秒の周期で、同一の機器１０３（＃１）の同一のプロパティのデータＡの取得を行うとする。
【０１７６】
図１９のシーケンス例では、スイッチ１０１は、Ｓ１８０１またはＳ１８０４でのＧＷ１０２（＃Ａ）からのプロパティ値取得要求により機器１０３（＃１）から取得したデータを機器データ管理テーブル２０３−３に保持し、同時にＧＷ１０２（＃Ａ）に応答する。その後、ＧＷ１０２（＃Ｂ）、（＃Ｃ）の２周期目までのプロパティ値取得要求（Ｓ１８０２、Ｓ１８０３、およびＳ１８０５、Ｓ１８０６）については、それぞれのキャッシュ値許容時間内である。このため、スイッチ１０１が、機器データ管理テーブル２０３−３にキャッシュされているデータＡを代理応答する。そして、上記プロパティ値取得要求は、機器１０３（＃１）へは送信されず、機器１０３（＃１）への到達フレームが削減される。
【０１７７】
３周期目では、スイッチ１０１は、Ｓ１８０７でのＧＷ１０２（＃Ａ）からのプロパティ値取得要求により機器１０３（＃１）から取得したデータを、機器データ管理テーブル２０３−３に保持し、同時にＧＷ１０２（＃Ａ）に応答する。その後、ＧＷ１０２（＃Ｂ）からのプロパティ値取得要求の受信時には、上記Ｓ１８０７で更新された機器データ管理テーブル２０３−３内のデータでは、ＧＷ１０２（＃Ｂ）のキャッシュ値許容時間外となる。つまり、このタイミングにおける機器データ管理テーブル２０３−３内のデータは、ＧＷ１０２（＃Ｂ）にとっては古いデータとなる。このため、スイッチ１０１は、Ｓ１８０８におけるＧＷ１０２（＃Ｂ）からのプロパティ値取得要求に基づいて機器１０３（＃１）にアクセスし、その結果機器１０３（＃１）から応答された最新データを、ＧＷ１０２（＃Ｂ）に送信する。このようにして、要求元のＧＷ１０２が定めるキャッシュ値許容時間内のデータを常に要求元のＧＷ１０２へ応答することができる。
【０１７８】
また、４周期目では、ＧＷ１０２（＃Ｂ）がＳ１８０９でデータ取得した直後のＳ１８１０でＧＷ１０２（＃Ａ）からプロパティ値取得要求が送信されている。この場合は、スイッチ１０１は、キャッシュ許容時間が最も短いＧＷ１０２（＃Ａ）に対しても、機器データ管理テーブル２０３−３にキャッシュされたデータを応答することができ、機器１０３（＃１）への到達フレームが削減される。
【０１７９】
このように、本実施形態では、スイッチ１０１内で1つのキャッシュ許容時間ではなく、要求元ごとのキャッシュ値許容時間を管理することで、要求元のサービスが許容する範囲で機器１０３へ到達するフレームを削減することが可能となる。
【０１８０】
なお、キャッシュ値許容時間は、必ずしも要求元のＧＷ１０２に対応させなくてもよく、ＧＷ１０２と機器１０３との間の通信量が最適となるように、様々な基準に基づいて決定してよい。
【０１８１】
以上のようにして、本実施形態によれば、ＧＷ１０２から電化製品やセンサ等の機器１０３へのデータ取得要求時に、最適に設定（例えばサービスごとに設定）されたキャッシュ値許容時間に応じて、スイッチ１０１がキャッシュデータを代理応答する。これにより、同一の機器１０３に対するプロパティ値の取得要求数を削減し、機器１０３における受信バッファ等のリソースの消費を低減し、取得要求への応答処理等の処理負荷を低減することが可能となる。
【０１８２】
以上の実施形態に関して、更に以下の付記を開示する。
（付記１)
管理対象機器からの属性情報を受信時刻とともに保持する属性情報保持部と、
機器管理装置から属性情報の取得要求を受信すると、前記取得要求の受信時刻と前記属性情報の受信時刻との差に応じて、前記属性情報保持部が保持している属性情報を前記機器管理装置に応答すること、
または前記取得要求に対応する属性情報を前記管理対象機器から取得して前記機器管理装置に応答することのいずれかを行う応答制御部と、
からなることを特徴とする機器管理中継装置。
（付記２)
前記属性情報保持部は、キャッシュ値許容時間を前記各機器管理装置の属性情報として保持し、
前記応答制御部は、前記取得要求の受信時刻と前記属性情報との差が、前記キャッシュ値許容時間より小さい場合は前記取得要求に対応する属性情報を前記機器管理装置に応答する、
ことを特徴とする付記１に記載の機器管理中継装置。
（付記３)
前記応答制御部は、各前記機器管理装置に対して前記キャッシュ値許容時間通知要求を送信することにより、または、いずれかの前記機器管理装置からの前記キャッシュ値許容時間の更新通知を受信することにより、前記キャッシュ値許容時間を取得する、
ことを特徴とする付記２に記載の機器管理中継装置。
（付記４)
前記機器管理装置の管理者または上位システムからの指示によって登録または更新されたキャッシュ値許容時間を前記機器管理装置から受信することを特徴とする付記３に記載の機器管理中継装置。
（付記５)
前記属性情報保持部は、前記管理対象機器または前記機器管理装置ごとにエントリを有し、当該エントリごとに前記属性情報および前記受信時刻が登録される機器データ管理テーブルのデータを記憶する、
ことを特徴とする付記２ないし４のいずれかに記載の機器管理中継装置。
（付記６)
前記応答制御部は、前記機器管理装置からマルチキャストによるインスタンスリスト取得要求を受信すると、前記機器データ管理テーブルのエントリごとに、当該エントリに登録されている前記管理対象機器または前記機器管理装置のアドレス情報または識別情報および属性情報の項目名情報を含むインスタンスを、当該エントリに対応する管理対象機器または機器管理装置を代理して前記機器管理装置に応答する、
ことを特徴とする付記５に記載の機器管理中継装置。
（付記７)
前記応答制御部は、前記機器データ管理テーブルのエントリごとに、当該エントリに登録されている前記管理対象機器または前記機器管理装置のアドレス情報または識別情報および属性情報の項目名情報のインスタンスを、当該各エントリに設定されている前記アドレス情報が送信元アドレスとして設定され、前記インスタンスリスト取得要求に含まれるアドレス情報が宛先アドレスとして設定され、前記属性情報の項目名情報がデータフィールドに設定されたフレームデータによって、当該エントリに対応する管理対象機器または機器管理装置を代理して前記機器管理装置に応答する、
ことを特徴とする付記６に記載の機器管理中継装置。
（付記８)
取得要求のフレームデータに設定され前記機器管理装置のアドレス情報は前記機器データ管理テーブル上に設定されている、
ことを特徴とする付記５ないし７に記載の機器管理中継装置。
（付記９)
前記応答制御部は、前記取得要求の属性情報が複数の属性値を含む場合、前記取得要求の受信時刻と当該属性値の受信時刻との差が前記キャッシュ値許容時間に比較して小さい属性値については、前記属性情報保持部が保持している内容を前記属性値ごとに応答値とし、
当該属性値以外の属性値については、前記管理対象機器に要求して取得した値を応答値として、前記複数の属性値に対応する応答値が揃った時点で、当該応答値を前記機器管理装置に応答する、
ことを特徴とする付記２ないし８のいずれかに記載の機器管理中継装置。
（付記１０)
管理対象機器からの属性情報を受信時刻とともに保持し、
機器管理装置から属性情報の取得要求を受信すると、前記取得要求の受信時刻と前記属性情報の受信時刻との差に応じて、前記保持されている属性情報を前記機器管理装置に応答し、
または前記取得要求に対応する属性情報を前記管理対象機器から取得して前記機器管理装置に応答する、
ことを特徴とする機器管理中継方法。
（付記１１)
管理対象機器からの属性情報を受信時刻とともに保持する処理と、
機器管理装置から属性情報の取得要求を受信すると、前記取得要求の受信時刻と前記属性情報の受信時刻との差に応じて、前記保持されている属性情報を前記機器管理装置に応答し、
または前記取得要求に対応する属性情報を前記管理対象機器から取得して前記機器管理装置に応答する処理と、
をコンピュータに実行させるためのプログラム。
【符号の説明】
【０１８３】
１００  宅内
１０１  スイッチ
１０２  ＧＷ
１０３  機器
１０４  ルータ
１０５  サーバ
１０６  グローバルネットワーク
２０１  スイッチ機能部
２０２  スイッチ側送受信部
２０３  代理応答部
２０３−１  フレーム振分け部
２０３−２  キャッシュデータ制御部
２０３−３  機器データ管理テーブル
２１０  ＥＣＨＯＮＥＴ  Ｌｉｔｅプロトコル処理部
２１１  ＧＷ側送受信部
２１２  キャッシュ値許容時間登録インタフェース
２１３  ＥＣＨＯＮＥＴ  Ｌｉｔｅオブジェクトデータ管理テーブル
３０１、３１１  ＣＰＵ
３０２、３１２  メモリ
３０３、３１３  ストレージ
３０４  フレーム転送エンジン
３０５、３１４  ＬＡＮインタフェース部
３０６、３１７  システムバス
３０７  通信バス
３１５  他システムインタフェース部
３１６  ユーザインタフェース部
６０１  送信元ＭＡＣアドレス
６０２  宛先ＭＡＣアドレス
６０３  送信元ＩＰアドレス
６０４  宛先ＩＰアドレス
６０５  送信元ポート番号
６０６  宛先ポート番号
６０７  ＥＣＨＯＮＥＴ  Ｌｉｔｅフレーム
【図１】
0006384271.tif 000002
【図２】
0006384271.tif 000003
【図３】
0006384271.tif 000004
【図４】
0006384271.tif 000005
【図５】
0006384271.tif 000006
【図６】
0006384271.tif 000007
【図７】
0006384271.tif 000008
【図８】
0006384271.tif 000009
【図９】
0006384271.tif 000010
【図１０】
0006384271.tif 000011
【図１１】
0006384271.tif 000012
【図１２】
0006384271.tif 000013
【図１３】
0006384271.tif 000014
【図１４】
0006384271.tif 000015
【図１５】
0006384271.tif 000016
【図１６】
0006384271.tif 000017
【図１７】
0006384271.tif 000018
【図１８】
0006384271.tif 000019
【図１９】
0006384271.tif 000020