(57)【特許請求の範囲】
【請求項１】
被管理機器を有する第一のネットワークと、機器管理装置を有し上記第一のネットワークと異なるプロトコルの第二のネットワークとの間に設けられ、該両ネットワーク上を流れるコマンドを相互に変換するゲートウェイ装置において、
上記被管理機器とデータ通信を行う第一の通信処理手段と、
上記機器管理装置とデータ通信を行う第二の通信処理手段と、
上記第一の通信処理手段を介して取得した上記被管理機器の情報を保持する第一のデータベースと、
上記第一のデータベースを管理する第一のデータベース管理手段と、
上記第一のデータベースが上記機器管理装置の必要とする情報に変換された第二のデータベースと、
上記第二のデータベースを管理する第二のデータベース管理手段と、
上記第一のデータベースに保持される情報と上記第二のデータベースに保持される情報の対応する項目を一致させるデータベースマッピング手段と、
上記第一および第二の通信処理手段が受信したコマンドを解釈し、上記第一または第二のデータベース管理手段およびデータベースマッピング手段にコマンドを配送するコマンド配送手段とを有し、
上記コマンド配送手段は、上記機器管理装置から上記被管理機器へ送信されるコマンドあるいは上記被管理機器から上記機器管理装置へ送信されるコマンド内に含まれる情報の項目を、上記データベースマッピング手段を介して変換させながら転送する
ことを特徴とするゲートウェイ装置。
【請求項２】
被管理機器を有する第一のネットワークと、機器管理装置を有し上記第一のネットワークと異なるプロトコルの第二のネットワークとの間に設けられ、該両ネットワーク上を流れるコマンドを相互に変換するゲートウェイ装置において、
上記被管理機器とデータ通信を行う第一の通信処理手段と、
上記機器管理装置とデータ通信を行う第二の通信処理手段と、
上記第一の通信処理手段を介して取得した上記被管理機器の情報を保持する第一のデータベースと、
上記第一のデータベースが上記機器管理装置の必要とする情報に変換された第二のデータベースと、
上記第一のデータベースに保持される情報と上記第二のデータベースに保持される情報の対応する項目を一致させるデータベースマッピング手段と、
上記第一および第二の通信処理手段が受信したコマンドを解釈し、該コマンド内に含まれる情報の項目を上記データベースマッピング手段を介して変換させる
ことを特徴とするゲートウェイ装置。
【請求項３】
上記第一および第二のデータベース管理手段は、
上記被管理機器の特徴を示す機器モデルを有し、
上記機器モデルは、上記第一のネットワークまたは上記第二のネットワークから上記コマンド配送手段を介して配送される設定要求コマンドに基づいて機器モデル管理手段によって設定される
ことを特徴とする請求項１記載のゲートウェイ装置。
【請求項４】
上記第一および第二のデータベース管理手段は、
上記コマンド配送手段を介して第一のネットワークまたは第二のネットワークから送られてくる生成要求コマンドに基づいて、上記機器モデルを用いて、上記第一および第二のデータベースを生成するデータベース生成手段を有する
ことを特徴とする請求項３記載のゲートウェイ装置。
【請求項５】
上記データベースマッピング手段は、
上記第一のデータベースと上記第二のデータベースとの対応を記述したマッピングルールと、
上記マッピングルールを用いて、上記第一のデータベースの状態と上記第二のデータベースの対応する項目を一致させるマッピング管理手段とを有し、
上記マッピングルールは、上記第一のネットワークまたは上記第二のネットワークから上記コマンド配送手段を介して配送される設定要求コマンドに基づいてマッピングルール管理手段によって設定される
ことを特徴とする請求項１、３、４のいずれか記載のゲートウェイ装置。
【請求項６】
上記マッピングルールは、
上記第一および第二のデータベースに記憶された機器および該機器の属性を対にして記述した第一のマッピングルールと、
上記第一および第二のデータベースに記憶された機器および該機器を識別する識別子を対にして記述した第二のマッピングルールとを有し、
上記マッピング管理手段は、これら２つのルールにより上記第一および第二のデータベース間の対応する項目を一致させる
ことを特徴とする請求項５記載のゲートウェイ装置。
【請求項７】
上記マッピングルールは、
上記第一および第二のデータベースに記憶された機器および該機器の属性を対にして記述した第一のマッピングルールと、
上記第一および第二のデータベースに記憶された機器および該機器を識別する識別子を対にして記述した第二のマッピングルールと、
上記第一のマッピングルールおよび上記第二のマッピングルールから生成される上記第一および第二のデータベースに記憶された機器、該機器の属性および該機器の識別子を組にして記述した第三のマッピングルールとを有し、
上記マッピング管理手段は、上記第三のマッピングルールにより上記第一および第二のデータベース間の対応する項目を一致させる
ことを特徴とする請求項５記載のゲートウェイ装置。
【請求項８】
上記マッピングルールは、
上記第一および第二のデータベースに記憶された機器および該機器の属性を対にして記述した第一のマッピングルールと、
上記第一および第二のデータベースに記憶された機器および該機器を識別する識別子を対にして記述した第二のマッピングルールと、
上記第一のマッピングルールおよび上記第二のマッピングルールから外れる例外ルールを、上記第一および第二のデータベースに記憶された機器、該機器の属性および該機器の識別子を組にして記述した第四のマッピングルールとを有し、
上記マッピング管理手段は、上記第一および第二のデータベース間の対応する項目を一致させる際に、上記第四のマッピングルールにより行い、一致させることができなかった場合に上記第一および第二のマッピングルールにより一致させる
ことを特徴とする請求項５記載のゲートウェイ装置。
【請求項９】
上記マッピングルールは、
上記第一および第二のデータベースに記憶された機器、該機器の属性および該属性の値を対にして記述した第五のマッピングルールと、
上記第一および第二のデータベースに記憶された機器および該機器を識別する識別子を対にして記述した第二のマッピングルールと、
上記第一のマッピングルールおよび上記第二のマッピングルールから外れる例外ルールを、上記第一および第二のデータベースに記憶された機器、該機器の属性および該機器の識別子を組にして記述した第四のマッピングルールとを有し、
上記マッピング管理手段は、これら２つのルールにより上記第一および第二のデータベース間の対応する項目を一致させる
ことを特徴とする請求項５記載のゲートウェイ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、異なるプロトコルの２個のネットワーク間に設置され、各ネットワーク上を流れるコマンドを相互に変換するゲートウェイ装置に関するものである。
【０００２】
【従来の技術】
図２１は例えば特開平８−２０４７３６号公報に示された従来のゲートウェイ装置のソフトウェアブロック図である。図において、１０は複数の被管理機器１１が接続された第一のネットワーク、２０はインターネット、イントラネットおよび電話回線などの第二のネットワーク、２１は第二のネットワーク２０に接続される機器管理装置、１３０は第一のネットワーク１０と第二のネットワーク２０を相互に接続するゲートウェイ装置である。
【０００３】
ゲートウェイ装置１３０は、第一のネットワーク１０に接続される被管理機器１１とデータ授受を行う第一の通信処理手段１３０ａと、第二のネットワーク２０に接続される機器管理装置２１とデータ授受を行う第二の通信処理手段１３０ｅと、受信したデータの解析、プロトコル変換などを行う信号処理手段１３０ｉと、第一の通信処理手段１３０ａが受信したデータを記憶する記憶手段１３０ｊと、記憶手段１３０ｊに格納されたデータを検索する検索手段１３０ｋから構成される。
【０００４】
次に動作について説明する。記憶手段１３０ｊは、第一の通信処理手段１３０ａが受信するデータを順次記憶する。記憶容量に余裕がなくなると最も古いデータから破棄する。そのため、記憶手段１３０ｊには常に最新の受信データが記憶されている。
【０００５】
ゲートウェイ装置１３０は、第二のネットワーク２０に接続される機器管理装置２１の送信する送信データを第二の通信処理手段３０ｅによって受信し、信号処理手段１３０ｉが、この送信データを処理する。機器管理装置２１から送信される送信データの種類は大きく分けて、被管理機器１１への操作要求のコマンドとモニタ要求のコマンドとがある。
【０００６】
送信データとしてモニタ要求のコマンドを第二の通信処理手段１３０ｅが受信すると、信号処理手段１３０ｉは、送信データ中に含まれる被管理機器１１が管轄下の第一のネットワーク１０に存在するか否かを判断する。存在した場合、検索手段１３０ｋは、該当する被管理機器１１のモニタ値が記憶手段１３０ｊに存在するかを検索する。存在すれば、該当するモニタ値を記憶手段１３０ｊから読み出し第二の通信処理手段１３０ｅおよび第二のネットワーク２０を介して機器管理装置２１へ応答する。
【０００７】
存在していなければ、第一の通信処理手段１３０ａおよび第一のネットワーク１０を介して被管理機器１１から該当するモニタ値を取得する。そして取得したモニタ値を記憶手段１３０ｊへ格納すると共に、第二の通信処理手段１３０ｅおよび第二のネットワーク２０を介して機器管理装置２１へ応答する。
【０００８】
一方、送信データとして操作要求のコマンドを第二の通信処理手段１３０ｅが受信すると、信号処理手段１３０ｉは、送信デー夕中に含まれる被管理機器１１が管轄下の第一のネットワーク１０に存在するか否かを判断する。存在した場合、第一の通信処理手段１３０ａ、第一のネットワーク１０を介して被管理機器１１へ送信する。そして、被管理機器１１は、受信したデータ内容に従い自己の状態を制御する。
【０００９】
【発明が解決しようとする課題】
このような構成の従来のゲートウェイ装置１３０は、記憶手段１３０ｊ、検索手段１３０ｋを設けているので、自己の保持しているデータのモニタ時には、即座に返答ができレスポンス向上が計れるが、自己の保持しないデータのモニタ時には、第一のネットワーク１０までデータ取得に行かなければならず、レスポンスが遅いという問題点があった。これは、特に、ある特定の状態変化が多く起きているような場合で、記憶手段１３０ｊには特定の状態しか格納されていないような時に起こる。
【００１０】
また、被管理機器１１がビル内の空調機や照明器等の場合は、第一のネットワーク１０から取得するデータは、被管理機器１１の１台ずつのデータである。一方、第二のネットワーク２０で管理するデータは、テナント、フロアなどのまとまった単位のデータである。このように、第一のネットワーク１０から取得したデータの粒度（データの細かさ）と、機器管理装置２１が管理するデータの粒度が異なる。このような場合、従来のゲートウェイ装置１３０は、内部で収集データの粒度と管理データの粒度の間のマッピング処理が必要となり、レスポンスが遅くなるという問題点があった。
【００１１】
また、従来のゲートウェイ装置１３０では、上述のマッピング処理は、プログラムとしてゲートウェイ装置１３０内に納めることとなるが、被管理機器１１の種類、数、および機器管理装置２１で管理する機器の粒度、数量は、ビル、家など建物毎に異なるので、上述のソフトウェアを建物毎に構築しなければならず、開発工数がかかるといった問題点があった。
【００１２】
また、従来のゲートウェイ装置１３０では、上述のマッピングプログラムは、第一のネットワーク１０に接続される被管理機器１１の運転状態、温度などの属性と、第二のネットワーク２０での管理粒度での属性を１対１で比較する条件分岐文により記述されているため、プログラミング工数がかかるといった問題があった。例えば、ビル内の機器を対象とした場合で、１００個の機器が設置され、それぞれ機器が１０個の属性を持っていたら、１０００個の条件分岐文を記述しなければならなかった。
【００１３】
この発明は上述のような問題点を解決するためになされたもので、機器管理装置２１からのモニタ要求のコマンド指令時のレスポンスの向上と、さらに第一のネットワーク１０から取得したデータの粒度と、第二のネットワーク２０に接続される機器管理装置２１が管理するデータの粒度が異なる場合のモニタのレスポンス向上と、建物毎に作成するプログラムをなくすことにより開発工数を削減することと、第一のネットワーク１０から取得したデータの粒度と、第二のネットワーク２０に接続される機器管理装置２１が管理するデータの粒度が異なる場合のマッピングデータの設定の省力化をすることを可能とするゲートウェイ装置を得ることを目的とする。
【００１４】
【課題を解決するための手段】
この発明に係るゲートウェイ装置は、被管理機器を有する第一のネットワークと、機器管理装置を有し第一のネットワークと異なるプロトコルの第二のネットワークとの間に設けられ、両ネットワーク上を流れるコマンドを相互に変換するゲートウェイ装置において、被管理機器とデータ通信を行う第一の通信処理手段と、機器管理装置とデータ通信を行う第二の通信処理手段と、第一の通信処理手段を介して取得した被管理機器の情報を保持する第一のデータベースと、第一のデータベースを管理する第一のデータベース管理手段と、第一のデータベースが機器管理装置の必要とする情報に変換された第二のデータベースと、第二のデータベースを管理する第二のデータベース管理手段と、第一のデータベースに保持される情報と第二のデータベースに保持される情報の対応する項目を一致させるデータベースマッピング手段と、第一および第二の通信処理手段が受信したコマンドを解釈し、第一または第二のデータベース管理手段およびデータベースマッピング手段にコマンドを配送するコマンド配送手段とを有し、コマンド配送手段は、機器管理装置から被管理機器へ送信されるコマンドあるいは被管理機器から機器管理装置へ送信されるコマンド内に含まれる情報の項目を、データベースマッピング手段を介して変換させながら転送する。
【００１５】
また、第一および第二のデータベース管理手段は、被管理機器の特徴を示す機器モデルを有し、機器モデルは、第一のネットワークまたは第二のネットワークからコマンド配送手段を介して配送される設定要求コマンドに基づいて機器モデル管理手段によって設定される。
【００１６】
また、第一および第二のデータベース管理手段は、コマンド配送手段を介して第一のネットワークまたは第二のネットワークから送られてくる生成要求コマンドに基づいて、機器モデルを用いて、第一および第二のデータベースを生成するデータベース生成手段を有する。
【００１７】
また、データベースマッピング手段は、第一のデータベースと第二のデータベースとの対応を記述したマッピングルールと、マッピングルールを用いて、第一のデータベースの状態と第二のデータベースの対応する項目を一致させるマッピング管理手段とを有し、マッピングルールは、第一のネットワークまたは第二のネットワークからコマンド配送手段を介して配送される設定要求コマンドに基づいてマッピングルール管理手段によって設定される。
【００１８】
また、マッピングルールは、第一および第二のデータベースに記憶された機器および機器の属性を対にして記述した第一のマッピングルールと、第一および第二のデータベースに記憶された機器および機器を識別する識別子を対にして記述した第二のマッピングルールとを有し、マッピング管理手段は、これら２つのルールにより第一および第二のデータベース間の対応する項目を一致させる。
【００１９】
また、マッピングルールは、第一および第二のデータベースに記憶された機器および機器の属性を対にして記述した第一のマッピングルールと、第一および第二のデータベースに記憶された機器および機器を識別する識別子を対にして記述した第二のマッピングルールと、第一のマッピングルールおよび第二のマッピングルールから生成される第一および第二のデータベースに記憶された機器、機器の属性および機器の識別子を組にして記述した第三のマッピングルールとを有し、マッピング管理手段は、第三のマッピングルールにより第一および第二のデータベース間の対応する項目を一致させる。
【００２０】
また、マッピングルールは、第一および第二のデータベースに記憶された機器および機器の属性を対にして記述した第一のマッピングルールと、第一および第二のデータベースに記憶された機器および機器を識別する識別子を対にして記述した第二のマッピングルールと、第一のマッピングルールおよび第二のマッピングルールから外れる例外ルールを、第一および第二のデータベースに記憶された機器、機器の属性および機器の識別子を組にして記述した第四のマッピングルールとを有し、マッピング管理手段は、第一および第二のデータベース間の対応する項目を一致させる際に、第四のマッピングルールにより行い、一致させることができなかった場合に第一および第二のマッピングルールにより一致させる。
【００２１】
さらに、マッピングルールは、第一および第二のデータベースに記憶された機器、機器の属性および属性の値を対にして記述した第五のマッピングルールと、第一および第二のデータベースに記憶された機器および機器を識別する識別子を対にして記述した第二のマッピングルールと、第一のマッピングルールおよび第二のマッピングルールから外れる例外ルールを、第一および第二のデータベースに記憶された機器、機器の属性および機器の識別子を組にして記述した第四のマッピングルールとを有し、マッピング管理手段は、これら２つのルールにより第一および第二のデータベース間の対応する項目を一致させる。
【００２２】
【発明の実施の形態】
実施の形態１．
図１はこの発明のゲートウェイ装置のソフトウェアブロック図である。図において、１０は複数の被管理機器１１が接続される第一のネットワーク、２０はインターネット、イントラネットおよび電話回線などの第二のネットワーク、２１は、第二のネットワークに接続される機器管理装置、３０は第一のネットワーク１０と第二のネットワーク２０を相互に接続するゲートウェイ装置である。
【００２３】
ゲートウェイ装置３０の内部において、３０ａは第一のネットワーク１０に接続される被管理機器１１とデータ授受を行う第一の通信処理手段、３０ｅは第二のネットワークに接続される機器管理装置２１とデータ授受を行う第二の通信処理手段、３０ｂは受信したデータを解析し、該当する処理手段へデータを配送するコマンド配送手段、３０ｄは第一のネットワーク１０から受信したデータを格納する第一のデータベース、３０ｃは第一のデータベースを管理する第一のデータベース管理手段、３０ｈは第一のデータベース３０ｄを機器管理装置２１の管理する粒度のデータにマッピングするデータベースマッピング手段、３０ｇは機器管理装置２１の管理する粒度に変換された第二のデータベース、３０ｆは第二のデータベースを管理する第二のデータベース管理手段である。
【００２４】
さらに、第一のデータベース管理手段３０ｃの内部において、３０ｃ１はコマンド配送手段３０ｂから渡された命令に従い第一のデータベース３０ｄを読み書きするデータベースアクセス手段、３０ｃ２は機器モデル３０ｃ４を用いて第一のデータベース３０ｄ内に機器データベースを生成・削除するデータベース生成手段、３０ｃ３は第一のネットワーク１０または第二のネットワーク２０から送られてくる機器モデルに基づいて、機器モデル３０ｃ４を追加・更新・削除する機器モデル管理手段である。そして、第二のデータベース３０ｆの内部も同様な構成になっている。
【００２５】
また、データベースマッピング手段３０ｈの内部において、３０ｈ１は第一のデータベース３０ｄと第二のデータベース３０ｇの対応を記述したマッピングルール、３０ｈ２はコマンド配送手段３０ｂから渡されたコマンドの内容に従い第一のデータベース３０ｄと第二のデータベース３０ｇのマッピングを行うマッピング管理手段、３０ｈ３は第一のネットワーク１０または第二のネットワーク２０から送られてくる内容に基づいて、マッピングルールを追加・更新・削除するマッピングルール管理手段である。
【００２６】
次に動作について説明する。本実施の形態のゲートウェイ装置３０は、運用を開始する前に以下の操作をする必要がある。
１）  設置される被管理機器１１に対応する機器モデル３０ｃ４および３０ｆ４のインストール。
２）  マッピングルール３０ｈ１のインストール。
３）  機器モデル３０ｃ４および３０ｆ４を用いたデータベース３０ｄおよび３０ｇの作成。
４）  マッピングルール３０ｈ１の修正。
はじめに機器モデル３０ｃ４および３０ｆ４のインストールについて説明する。
【００２７】
図２にＪａｖａ言語を使用した場合の機器モデル３０ｃ４または３０ｆ４の記述例を示す。図は空調機のモデルで５つの属性を持っている。１番目の属性「識別子」は４バイト整数のｉｎｔ型、２番目の属性「運転状態」は１バイト整数のｂｙｔｅ型、３番目の属性「運転モード」は１バイト整数のｂｙｔｅ型、４番目の属性「設定温度」は４バイト整数のｉｎｔ型、５番目の属性「室内温度」は４バイト整数のｉｎｔ型で定義されている。各属性は他のプログラムから参照できるようにｐｕｂｌｉｃ宣言されている。実際にゲートウェイにインストールされる機器モデル３０ｃ４または３０ｆ４は、図２のソースコードをＪａｖａコンパイラでコンパイルしたクラスオブジェクトとなる。
【００２８】
図３はＪａｖａ言語を使用しない場合の機器モデルの記述例を示す。図で、１行目は、このモデルが空調機のモデルであることを示している。２行目は、このモデルが所有している属性の数を示し、この例の場合は５つの属性を所有していることを表している。３行目以降に属性とセミコロンに続いてサイズが記述されている。図では１番目の属性「識別子」が４バイト、２番目の属性「運転状態」が２バイト、３番目の属性「運転モード」が４バイト、５番目の属性「設定温度」が４バイト、５番目の属性「室内温度」が４バイトであることを示している。実際にゲートウェイにインストールされる機器モデルは、図３のコードそのものとなる。
【００２９】
図１を用いて、機器モデル３０ｃ４または３０ｆ４のインストール動作を説明する。第二の通信処理手段３０ｅには、ファイル転送プロトコル（ＦＴＰ:File Transfer Protocol）を使用したＦＴＰサーバが立ち上がっている。そして、機器管理装置２１側は、ファイル転送プロトコルを使用したＦＴＰクライアントを用いて、ゲートウェイ装置３０にインストールする機器モデル３０ｃ４および３０ｆ４をアップロードする。ゲートウェイ装置３０は、受信したファイルをメモリ上に格納する。
【００３０】
次にマッピングルール３０ｈ１のインストールについて説明する。図４が本実施の形態で使用するマッピングルールの論理構造の例である。本発明では、マッピングルールの設定を容易にするために、２つのルールに分けている。第一のマッピングルール３０ｈ１ａには、第一のネットワーク１０に接続される機器の｛モデル＋属性｝と、第二のネットワーク２０で管理する単位の｛モデル＋属性｝の対応が記述されている。また、第二のマッピングルール３０ｈ１ｂには、第一のネットワーク１０に接続される機器の｛モデル＋識別子｝と、第二のネットワーク２０で管理する単位の｛モデル＋識別子｝の対応が記述されている。
【００３１】
例えば、第一のマッピングルール３０ｈ１ａでは、第一のネットワーク１０の、モデル“室内機”の属性“状態”は、第二のネットワーク２０の、モデル“空調機”の属性“運転状態”に対応していることを示している。同様に“モード”は“運転モード”、“吸込温度”は“温度”“吸込湿度”は“湿度”に対応していることを示している。
【００３２】
また、第二のマッピングルール３０ｈ１ｂでは、第一のネットワーク１０の、モデル“室内機”の識別子“１００”は、第二のネットワーク２０の、モデル“空調機”の識別子“１”に対応していることを示している。同様に、“１０１”は“２”に、“１０２”は“３”に対応していることを示している。このような構成としている為、従来の条件分岐文では、４属性持った室内機が３台で４×３＝１２個の条件分岐文記述が必要であったプログラムの記述において、この実施の形態では、４＋３＝７個のルール記述で済むようになる。
【００３３】
図５はマッピングルールをインストールする際に使用するコマンドの例である。第一のマッピングルール３０ｈ１ａ、第二のマッピングルール３０ｈ１ｂのそれぞれに設定要求コマンド、モニタ要求コマンドがある。一番上のコマンドがゲートウェイ装置３０にマッピングルール３０ｈ１をインストールする際に使用するコマンドである。この中で「モデル１」は第一のネットワーク１０のモデル、「属性１」は前記モデル１の属性、「モデル２」は第二のネットワークで管理する粒度のモデル、「属性２」は前記モデル２の属性である。この例のコマンドは、マッピングルール１（すなわち第一のマッピングルール３０ｈ１ａ）にｎ対の｛モデル１＋属性１＋モデル２＋属性２｝を設定する為のコマンドである。２番目のコマンドは、マッピングルール１の内容を取得するためのモニタ要求コマンド、３番目のコマンドはモニタ要求に対する応答のコマンドである。マッピングルール２に関するコマンドも同様である。
【００３４】
マッピングルールインストール時のゲートウェイ装置３０内の動作について説明する。図１の構成において、第一の通信処理手段３０ａまたは第二の通信処理手段３０ｅが図５に示すコマンドを受信すると、コマンド配送手段３０ｂにコマンドを受け渡す。コマンド配送手段３０ｂは、受け渡されたコマンドがマッピングルールに関するコマンドであることを解釈すると、データベースマッピング手段３０ｈ内の、マッピングルール管理手段３０ｈ３にデータを渡す。マッピングルール管理手段３０ｈ３はコマンドを解釈し、設定要求コマンドであれば対応するマッピングルールにルールを設定する。また、モニタ要求コマンドであれば該当するマッピングルールの内容をモニタ応答コマンドにより応答する。
【００３５】
次に、機器モデル３０ｃ４および３０ｆ４を用いたデータベースの作成について説明する。図６はデータベースの生成および削除をする際に使用するコマンドの例である。上段のコマンドは、モデル「空調機」を使用して識別子「１」のデータベースを生成する為の生成要求コマンドである。一方、下段のコマンドは、モデル「空調機」が識別子「１」のデータベースを削除する為の削除要求コマンドである。
【００３６】
データベースの生成および削除時のゲートウェイ装置３０内の動作について説明する。図１の構成において、第一の通信処理手段３０ａ、または第二の通信処理手段３０ｅが図６に示すコマンドを受信すると、まず、コマンド配送手段３０ｂにコマンドを受け渡す。コマンド配送手段３０ｂは、データベースの生成または削除に関するコマンドであることを解釈すると、第一のデータベース管理手段３０ｃ内のデータベース生成手段３０ｃ２および、第二のデータベース管理手段３０ｆ内のデータベース生成手段３０ｆ２にコマンドを配送する。データベース生成手段３０ｃ２または３０ｆ２は、配送されたコマンド中のモデルが自己の管理するモデルかを判断し、管理外のモデルであればコマンドを破棄し、自己の管理するモデルであれば、コマンドを実行する。
【００３７】
図７はデータベース生成手段の動作を示すフローチャートである。ステップＳ１で、コマンド中のモデルが自己の管理するモデルかを判断し、管理外であればプログラムを終了する。管理するモデルであれば、ステップＳ２でコマンドの処理内容を判断する。処理が生成であれば、ステップＳ３で図２または図３に示した機器モデルを読み込み、ステップＳ４で機器モデルに応じたメモリ容量を確保する。
【００３８】
図２に示した機器モデルの場合、Ｊａｖａ言語を利用しているので“ｎｅｗ  空調機”文により空調機モデル対応したメモリが確保される。また、図３に示した機器モデルの場合、Ｃ言語、Ｃ＋＋言語では機器モデルに必要なメモリを“ｍａｌｌｏｃ”文により確保する。
【００３９】
図７に戻り、ステップＳ５で、コマンド中に示された識別子をステップＳ４で確保したメモリ上に代入する。図６に示した生成要求のコマンドの例では、識別子“１”を確保したメモリ上の１番目の属性に代入する。
【００４０】
続いてステップＳ６で、データベース生成手段３０ｃ２または３０ｆ２が、自己の生成したデータベース３０ｄまたは３０ｇを一覧できるデータベースリストを作成する。具体的には、生成したモデル名、識別子、配置したメモリの参照値をセットしてリスト形式で保存しておく。これは後述するデータベースへのアクセスの際に使用する。
【００４１】
一方、ステップＳ２で処理が削除であれば、ステップＳ７において、前記データベースリストより該当するデータベース３０ｄまたは３０ｇの参照値を読み込む。ステップＳ８で、該当するメモリを解放する。Ｊａｖａ言語の場合には、使用していないメモリの解放などのメモリ管理は、Ｊａｖａバーチャルマシンが行っているので、特に意識してプログラムする必要はない。Ｃ言語やＣ＋＋言語の場合には、“Ｆｒｅｅ”文によりメモリ解放を行う。ステップＳ９では、データベースリストより該当データベースを削除する。
【００４２】
次にマッピングルールの修正について説明する。例えば図４に示したマッピングルールでは、全ての空調機の属性は、室内機の属性にマッピングされているかが空調機２の温度だけは、別置の温度センサの値を使いたいといった例外マッピングに対応するためにマッピングルールの修正を行う。図４に示す第一のマッピングルール３０ｈ１ａの３番目を“空調機”、“温度”、“センサ”、“現在温度”のように書き換えてしまうと、識別子２以外の空調機の“温度”属性もセンサの温度にマッピングされてしまう。そこで本発明では、設定された第一のマッピングルール３０ｈ１ａと第二のマッピングルール３０ｈ１ｂから、図８に示す第三のマッピングルール３０ｈ１ｃを生成し、これを修正する。また、第三のマッピングルール３０ｈ１ｃは、後述する第一のネットワーク１０と第二のネットワーク１０とのマッピングの際に使用される。
【００４３】
図８の第三のマッピングルール３０ｈ１ｃは、第一のマッピングルール３０ｈ１ａと第二のマッピングルール３０ｈ１ｂから全ての機器の、全ての属性を１対１で記述したものである。例えば、前述のように空調機２の温度だけは、別置の温度センサの値を使いたい場合には、７番目のルールを、“空調機”、“２”、“温度”、“センサ”“２１”、“現在温度”のように変更すればよい。このようにすれば他の空調機のマッピングに影響を与えずに、空調機２の温度のみ変更することが可能である。この場合、第二のデータベース管理手段３０ｃにセンサ機器モデルをインストールしておく必要がある。
【００４４】
図９はマッピングルールの変更をする際に使用するコマンドの例である。第三のマッピングルール３０ｈ１ｃに対して、設定要求コマンド、モニタ要求コマンドがある。一番上のコマンドがゲートウェイ装置３０に第三のマッピングルール３０ｈ１ｃを設定する際に使用するコマンドで、「モデル１」は第一のネットワーク１０のモデル、「識別子１」は前記モデル１の識別子、「属性１」は前記モデル１の属性、「モデル２」は第二のネットワーク３０で管理する粒度のモデル、「識別子２」は前記モデル２の識別子、「属性２」は前記モデル２の属性である。この設定要求コマンドは、マッピングルール３（すなわち第三のマッピングルール３０ｈ１ｃ）にｎ対の｛モデル１＋識別子１＋属性１＋モデル２＋識別子２＋属性２｝を設定する為のコマンドである。２番目のコマンドは、マッピングルール３の内容を取得するためのモニタ要求コマンド、３番目のコマンドはモニタ要求に対する応答のコマンドである。
【００４５】
マッピングルール変更時のゲートウェイ３０内の動作について説明する。図１において、第一の通信処理手段３０ａ、または第二の通信処理手段３０ｅが図９に示すコマンドを受信すると、コマンド配送手段３０ｂにコマンドを受け渡す。コマンド配送手段３０ｂは、第三のマッピングルール３０ｈ１ｃに関するコマンドであることを解釈すると、データベースマッピング手段３０ｈ内の、マッピング管理手段３０ｈ２にデータを渡す。マッピング管理手段３０ｈ２はコマンドを解釈し、設定コマンドであれば第三のマッピングルール３０ｈ１ｃにルールを設定する。また、モニタ要求コマンドであれば第三のマッピングルール３０ｈ１ｃの内容をモニタ応答コマンドを用いて応答する。
【００４６】
次に運用時の動作について説明する。図１０はネットワークの運用時に使用するコマンドの例である。運用時には、機器管理装置２１から被管理機器１１への操作の命令である操作要求コマンド、同じく機器管理装置２１から被管理機器１１へのモニタを要求するモニタ要求コマンド、該モニタ要求コマンドに応答する被管理機器１１から機器管理装置２１へのモニタ応答コマンド、および被管理機器１１から機器管理装置２１への状態変化の通報をする通報コマンドがある。
【００４７】
図１０において、上から順にモデル「空調機」、識別子「１」、属性「温度」を“２５”に設定する操作要求コマンド、次に、モデル「空調機」、識別子「１」、属性「温度」を取得するモニタ要求コマンド、さらに前記要求に対するモニタ応答コマンド、最後に、モデル「空調機」が識別子「１」、属性「温度」が“２５”に変化した時の通報コマンドの例である。
【００４８】
始めに、操作要求コマンドを受信した場合のゲートウェイ装置３０の動作について説明する。図１において、第二の通信処理手段３０ｅが図１０に示す操作コマンドを受信すると、まずコマンド配送手段３０ｂにこのコマンドを受け渡す。
【００４９】
図１１はコマンド配送手段３０ｂの動作を示すフローチャートである。ステップＳ１で、第二のデータベースアクセス手段３０ｆ１へコマンドを配送する。第二のデータベースアクセス手段３０ｆ１ではコマンドを解釈して、配送されたコマンド中のモデルが自己の管理するモデルかを判断し、管理外のモデルであればコマンドを破棄し、自己の管理するモデルであれば、モデル「空調機」、識別子「１」、属性「温度」に“２５”を書き込む。
【００５０】
Ｊａｖａ言語を利用している場合は、データベースリストからモデル「空調機」、識別子「１」の参照値を読み込み、温度属性に“２５”を代入する。また、Ｃ言語またはＣ＋＋言語を使用した場合には、データベースリストと機器モデル３０ｆ４を利用する。まず、データベースリストより、モデル「空調機」、識別子「１」の参照値を読み込む。続いて、機器モデル３０ｆ４により、何番目の属性かを読み込み、該当するメモリへデータを書き込む。
【００５１】
次にステップ３で、マッピング管理手段３０ｈ２にコマンドを配送する。マッピング管理手段３０ｈ２では、前述の第三のマッピングルール３０ｈ１ｃを用いて、モデル「空調機」、識別子「１」、属性「温度」に対応する第一のデータベース３０ｄ上のモデル、識別子、属性を検索する。
【００５２】
図１２はマッピング管理手段３０ｈ２の検索の動作を示すフローチャートである。モデル「空調機」、識別子「１」、属性名「温度」の全てが一致したら、そのときの対応するモデル、識別子、属性名をコマンド配送手段３０ｂへ応答する。図８のルールの場合、モデル「室内機」、識別子「１００」、属性「吸込温度」を応答する。そして、ルールの最後まで検索しても一致するものが見つからなければ、エラーを応答し終了する。
【００５３】
図１１に戻り、ステップ３では、操作要求コマンドを、ステップ２でマッピング管理手段３０ｈ２が応答したモデル、識別子、属性名に置き換えて第一のデータベースアクセス手段３０ｃ１に配送する。コマンドを配送された第一のデータベースアクセス手段３０ｃ１は、コマンドを解釈して、モデル「室内機」、識別子「１００」、属性「吸込温度」に“２５”を書き込む。このときも前述の通り、データベースリストと機器モデル３０ｃ４を利用する。続いてステップＳ４では、第一の通信処理手段３０ａにモデル「室内機」、識別子「１００」、属性「吸込温度」、属性値「２５」の操作要求コマンドを配送する。第一の通信処理手段３０ａは、第一のネットワーク１０に、該コマンドを送信する。
【００５４】
次に、モニタ要求コマンドを受信した場合のゲートウェイ装置３０の動作について説明する。図１において、第二の通信処理手段３０ｅが図１０に示すモニタ要求コマンドを受信すると、まずコマンド配送手段３０ｂにコマンドを受け渡す。
【００５５】
図１３はモニタ要求コマンドを受信した場合のコマンド配送手段３０ｂの動作を示すフローチャートである。ステップＳ１で、第二のデータベースアクセス手段３０ｆ１へモニタ要求コマンドを配送する。第二のデータベースアクセス手段３０ｆ１は、コマンドを解釈して、配送されたコマンド中のモデルが自己の管理するモデルかを判断し、管理外のモデルであればコマンドを破棄し、自己の管理するモデルであれば、モデル「空調機」、識別子「１」、属性「温度」の値をコマンド配送手段３０ｂへ受け渡す。
【００５６】
次にステップ２では、ステップ１で第二のデータベースアクセス手段３０ｆ１が応答したモデル、識別子、属性、属性値を使用してモニタ応答コマンドを作成し、第二の通信処理手段３０ｅへ配送する。第二の通信処理手段３０ｅは、第二のネットワーク２０に、該コマンドを送信する。
【００５７】
このように、本実施の形態においては、第二のデータベース３０ｇが常に最新情報を保持しているので、内部でマッピング処理を行ったり、第一のネットワーク１０からデータ収集を行う必要がなく、モニタ要求コマンド受信時のレスポンスが向上する。
【００５８】
次に、通報コマンドを受信した場合のゲートウェイ装置３０の動作について説明する。図１において、第一の通信処理手段３０ａが図１０に示す通報コマンドを受信すると、まずコマンド配送手段３０ｂにコマンドを受け渡す。
【００５９】
図１４は通報コマンドを受信した場合のコマンド配送手段３０ｂの動作を示すフローチャートである。ステップＳ１で、第一のデータベースアクセス手段３０ｃ１へコマンドを配送する。第一のデータベースアクセス手段３０ｃ１は、コマンドを解釈して、配送されたコマンド中のモデルが自己の管理するモデルかを判断し、管理外のモデルであればコマンドを破棄し、自己の管理するモデルであれば、モデル「室内機」、識別子「１００」、属性「吸込温度」に“２５”を書き込む。この場合も前記のように、データベースリストおよび機器モデル３０ｃ４を利用して、書き込みを行う。
【００６０】
次にステップＳ２で、マッピング管理手段３０ｈ２にコマンドを配送する。マッピング管理手段３０ｈ２は、前述の第三のマッピングルール３０ｈ１ｃを用いて、モデル「室内機」、識別子「１００」、属性「吸込温度」に対応する第二のデータベース３０ｇ上のモデル、識別子、属性を検索する。
【００６１】
そして、前述の操作要求の時と同様に、マッピングを行う。図８のルールの場合、モデル「空調機」、識別子「１」、属性「温度」を応答する。もし、ルールの最後まで検索しても一致するものが見つからなければ、エラーを応答し終了する。
【００６２】
図１４に戻り、ステップ３では通報コマンドを、ステップ２でマッピング管理手段３０ｈ２が応答したモデル、識別子、属性名に置き換えて配送する。第二のデータベースアクセス手段３０ｆ１では、コマンドを解釈して、モデル「空調機」、識別子「１」、属性「温度」に“２５”を書き込む。続いてステップＳ４では、第二の通信処理手段にモデル「空調機」、識別子「１」、属性「温度」、属性値「２５」の通報コマンドを配送する。第二の通信処理手段３０ｅは、第二のネットワーク２０に前記コマンドを送信する。
【００６３】
実施の形態２．
本実施の形態のゲートウェイ装置のソフトウェアブロック図は、実施の形態１の図１と同様である。本実施の形態は、図１のデータベースマッピング手段３０ｈが実施の形態１と異なる。以下このデータベースマッピング手段３０ｈについて説明する。
【００６４】
図１５に示す第四のマッピングルール３０ｈ１ｄ及び第五のマッピングルール３０ｈ１ｅと図４の第二のマッピングルール３０ｈ１ｂが本実施の形態で使用するマッピングルールの論理構造の例である。本実施の形態においては、第五のマッピングルール３０ｈ１ｅには、第一のネットワーク１０に接続される機器の｛モデル＋属性＋属性の値｝と、第二のネットワーク２０で管理する単位の｛モデル＋属性＋属性の値｝の対応が記述されている。第二のマッピングルールは実施の形態１と同じである。
【００６５】
また、第四のマッピングルール３０ｈ１ｄには、第五のマッピングルール３０ｈ１ｅと第二のマッピングルールを合わせたルールとは異なる例外のルールが、第一のネットワーク１０に接続される機器の｛モデル＋識別子＋属性＋属性の値｝と第二のネットワーク２０で管理する単位の｛モデル＋識別子＋属性＋属性の値｝の対応によって記述されている。
【００６６】
例えば、第五のマッピングルール３０ｈ１ｅでは、第一のネットワーク１０の、モデル“室内機”の属性“状態”の値“ＯＮ”は、第二のネットワーク２０の、モデル“空調機”の属性“運転状態”の値“運転”に対応していることを示している。同様に“状態”の“ＯＦＦ”は、“運転状態”の“停止”に対応していることを示している。
【００６７】
また、５番目のルールの“吸込温度”と“温度”の対応にある、“＃１”、“＃２”などは、単なるデータ置換ではなく、ある算術式によるデータ値変換であることを示している。
【００６８】
本実施の形態では、＃１が華氏から摂氏への変換、＃２が摂氏から華氏への変換であることを示している。ここの実現方法は、ｆ（ｘ）＝９／５×Ｘ＋３２などのように直接算術式を記述することでも可能である。この場合、上記文字列を解釈し、算術式に変換し、値を代入して計算する属性値変換手段もゲートウェイ装置内に実装しておく必要がある。尚、第二のマッピングルールは、実施の形態１と同じである。
【００６９】
また、第四のマッピングルール３０ｈ１ｄは、空調機２の温度だけは、別置きセンサーの値を使いたいという例外処理が記述されている。モデル“センサ”識別子２１の属性“現在値”に対応していることを示している。属性の値“−”は、特に変換が必要ないことを示す。
【００７０】
図１６および図１７は、第五のマッピングルール３０ｈ１ｅと第四のマッピングルール３０ｈ１ｄにアクセスする場合のコマンド側である。上より、設定要求、モニタ要求、モニタ応答を示している。記述内容は、実施の形態１と同じである。
【００７１】
次に、マッピング管理手段の動作について図１８を用いて説明する。マッピング管理手段にコマンドが配送されると、ステップＳ１で、まず第四のマッピングルール３０ｈ１ｄから一致するものを検索する。第四のマッピングルール３０ｈ１ｄの検索は、図１９に示すように、ルールの終わりがくるまで、モデル、識別子、属性名のすべてが一致するものを検索し、一致した場合は、一致する属性値を検索する。検索したこれらの第一のネットワーク１０に対応する、モデル、識別子、属性名、属性値を記憶しておく。
【００７２】
図１８に戻り、ステップＳ２で一致と判断すると、ステップＳ５へ進み、ステップＳ１で記憶したモデル、識別子、属性名、属性値をコマンド配送手段へ応答する。
【００７３】
ステップＳ２で一致していなかった場合、ステップＳ３へ進み、第五および第二のマッピングルールを用いて検索を行う。図２０に第五のマッピングルールおよび第二のマッピングルールを用いた検索アルゴリズムを示す。第二のマッピングルールのモデル＋識別子が一致し、かつ第五のマッピングルール３０ｈ１ｅのモデル＋属性名が一致した場合、さらに一致する属性名を検索する。検索したこれらの第一のネットワークに対応する、モデル、識別子、属性名、属性値を記憶しておく。
【００７４】
図１８に戻り、ステップＳ４で一致と判断すると、ステップ５へ進み、ステップＳ３で記憶したモデル、識別子、属性名、属性値をコマンド配送手段へ応答する。
【００７５】
【発明の効果】
以上のように、この発明のゲートウェイ装置は、第一のネットワークから取得するデータの粒度で保持される第一のデータベースと、第二のネットワークで管理する粒度で保持される第二のデータベースを持ち、マッピング処理によりどちらのデータベースも常に最新情報を保持している構成としたため、機器データのモニタ時に第一のネットワークに対してデータ取得を行う必要がないこと、さらにマッピング処理を行う必要がないことにより、データモニタ時のレスポンスを向上することができるという効果がある。
【００７６】
また、この発明のゲートウェイ装置は、建物毎に異なる機器の種類を予めプログラミングする必要がなく、機器モデルという形で後からインストールできる構成としたため、建物毎に発生するプログラム開発工数を削減することができる。
【００７７】
また、この発明のゲートウェイ装置は、建物毎に異なる機器の数を予めプログラミングする必要がなく、上述の機器モデルから生成できる構成としたためが建物毎に発生するプログラム開発工数を削減することができる。
【００７８】
また、この発明のゲートウェイ装置は、例えば建物毎に異なる第一のネットワークと第二のネットワークとのマッピング処理を予めプログラミングするのではなく、あとからインストール可能なマッピングルールと、このマッピングルールを用いてマッピング処理を行うマッピング管理手段とに分ける構成とした為、建物毎に発生するマッピングプログラム開発工数を削減することができる。
【００７９】
また、この発明のゲートウェイ装置は、マッピングルールを１対１のすべての対応を記述するのではなく、２つの正規化されたルールで記述することにより、少ない設定ですみ、マッピングの設定を容易にすることができる。
【００８０】
また、この発明のゲートウェイ装置は、上述のように正規化された２つのルールから１対１対応のルールを生成し、それを編集できるような構成とした為、例外ルールなど特殊なルールにも対応が可能となる。
【００８１】
また、この発明のゲートウェイ装置は、上述のように正規化された２つのルールと、例外のみを記述する例外ルールからマッピングを行う構成としたため、省メモリで実現することが可能となる。
【００８２】
また、この発明のゲートウェイ装置は、マッピングルールの中に属性の値の対応も記述するため、表現の異なる属性のマッピングを容易に実現することが可能となる。さらに、単位の異なる属性のマッピングを容易に実現することが可能となる。
【図面の簡単な説明】
【図１】  この発明のゲートウェイ装置のソフトウェアブロック図である。
【図２】  Ｊａｖａ言語を使用した場合の機器モデルの記述例を示す。
【図３】  Ｊａｖａ言語を使用しない場合の機器モデルの記述例を示す。
【図４】  マッピングルールの論理構造の例である。
【図５】  マッピングルールをインストールする際に使用するコマンドの例である。
【図６】  データベースの生成および削除をする際に使用するコマンドの例である。
【図７】  データベース生成手段の動作を示すフローチャートである。
【図８】  第三のマッピングルールの論理構造の例である。
【図９】  マッピングルールの変更をする際に使用するコマンドの例である。
【図１０】  ネットワークの運用時に使用するコマンドの例である。
【図１１】  コマンド配送手段の動作を示すフローチャートである。
【図１２】  マッピング管理手段の検索の動作を示すフローチャートである。
【図１３】  モニタ要求コマンドを受信した場合のコマンド配送手段の動作を示すフローチャートである。
【図１４】  通報コマンドを受信した場合のコマンド配送手段の動作を示すフローチャートである。
【図１５】  第四マッピングルール及び第五のマッピングルールの論理構造の例である。
【図１６】  第五のマッピングルールにアクセスする際に使用するコマンドの例である。
【図１７】  第四のマッピングルールにアクセスする際に使用するコマンドの例である。
【図１８】  マッピング管理手段の検索の動作を示すフローチャートである。
【図１９】  第四のマッピングルールの検索の動作を示すフローチャートである。
【図２０】  第五のマッピングルール及び第二のマッピングルールの検索の動作を示すフローチャートである。
【図２１】  従来のゲートウェイ装置のソフトウェアブロック図である。
【符号の説明】
１０  第一のネットワーク、１１  被管理機器、２０  第二のネットワーク、２１  機器管理装置、３０ａ  第一の通信処理手段、３０ｂ  コマンド配送手段、３０ｃ  第一のデータベース管理手段、３０ｃ２  データベース生成手段、３０ｃ３  機器モデル管理手段、３０ｃ４  機器モデル、３０ｄ  第一のデータベース、３０ｅ  第二の通信処理手段、３０ｆ  第二のデータベース管理手段、３０ｆ２  データベース生成手段、３０ｆ３  機器モデル管理手段、３０ｆ４  機器モデル、３０ｇ  第二のデータベース、３０ｈ  データベースマッピング手段、３０ｈ１  マッピングルール、３０ｈ１ａ  第一のマッピングルール、３０ｈ１ｂ  第二のマッピングルール、３０ｈ１ｃ  第三のマッピングルール、３０ｈ１ｄ  第四のマッピングルール、３０ｈ１ｅ  第五のマッピングルール、３０ｈ２  マッピング管理手段、３０ｈ３  マッピングルール管理手段。
【図１】
0003660545.tif 000002
【図２】
0003660545.tif 000003
【図３】
0003660545.tif 000004
【図４】
0003660545.tif 000005
【図５】
0003660545.tif 000006
【図６】
0003660545.tif 000007
【図７】
0003660545.tif 000008
【図８】
0003660545.tif 000009
【図９】
0003660545.tif 000010
【図１０】
0003660545.tif 000011
【図１１】
0003660545.tif 000012
【図１２】
0003660545.tif 000013
【図１３】
0003660545.tif 000014
【図１４】
0003660545.tif 000015
【図１５】
0003660545.tif 000016
【図１６】
0003660545.tif 000017
【図１７】
0003660545.tif 000018
【図１８】
0003660545.tif 000019
【図１９】
0003660545.tif 000020
【図２０】
0003660545.tif 000021
【図２１】
0003660545.tif 000022