(57)【要約】【課題】制御装置の制御コマンドに対し被制御機器による制御装置への応答時間が長くとも制御装置にタイムアウトと判断させない装置を提供する。【解決手段】ゲートウェイ装置１００は、制御装置から一括コマンドを受信する一括コマンド受信部１０と、一括コマンドを解析し機器別コマンドに分割する一括コマンド解析・分割部２０と、機器別コマンドを各被制御機器に送信する機器別コマンド送信部３０と、各被制御機器から機器別コマンドへの応答データを受信し記憶する応答データ受信部４０と、応答データ受信部４０が受信する応答データの２以上を一体化した一体化応答データを生成するべき生成タイミングを決定し、生成タイミングが到達すると、応答データ受信部４０に記憶されている応答データから一体化応答データを生成する一括コマンド結果合成部５０と、一体化応答データを制御装置に送信する一括コマンド結果送信部７０とを備えた。【選択図】図４
2008210089.tif 000002
【特許請求の範囲】
【請求項１】
コマンドを受信して制御を受けるとともに前記コマンドの実行結果を示す応答データを返信するＮ台（Ｎは１以上の整数）の被制御機器のそれぞれを制御する前記被制御機器ごとのＮ個の機器別コマンドが一体化された一括コマンドを生成して送信する制御装置から前記一括コマンドを受信する一括コマンド受信部と、
前記一括コマンド受信部が受信した前記一括コマンドを解析し、Ｎ個の前記機器別コマンドに分割する一括コマンド分割部と、
前記一括コマンド分割部が解析して分割したＮ個の前記機器別コマンドのそれぞれを解析結果に従って該当するＮ台の前記被制御機器のそれぞれに送信する機器別コマンド送信部と、
前記被制御機器のそれぞれから前記機器別コマンドに応答する前記応答データを受信して記憶する応答データ受信部と、
前記一括コマンド受信部による前記一括コマンドの受信を検知可能であるとともに前記一括コマンド受信部による前記一括コマンドの受信を検知すると前記応答データ受信部が受信する前記応答データの少なくとも１つを一体化した一体化応答データを生成するべき生成タイミングを決定し、前記生成タイミングが到達すると、前記応答データ受信部が１台以上の前記被制御機器から前記応答データを受信し記憶している場合には前記応答データを一体化して前記一体化応答データを生成する一体化応答データ生成部と、
前記一体化応答データ生成部が生成した前記一体化応答データを前記制御装置に送信するデータ送信部と
を備えたことを特徴とするコマンド中継装置。
【請求項２】
前記コマンド中継装置は、さらに、
前記生成タイミングを決定する生成タイミング決定条件を記憶する生成タイミング決定条件記憶部を備え、
前記一体化応答データ生成部は、
前記生成タイミング決定条件記憶部が記憶している前記生成タイミング決定条件に基づいて、前記一体化応答データの前記生成タイミングを決定することを特徴とする請求項１記載のコマンド中継装置。
【請求項３】
前記制御装置は、
前記生成タイミング決定条件を送信し、
前記一括コマンド受信部は、
前記制御装置が送信した前記生成タイミング決定条件を受信し、
前記生成タイミング決定条件記憶部は、
前記一括コマンド受信部が受信した前記生成タイミング決定条件を記憶することを特徴とする請求項２記載のコマンド中継装置。
【請求項４】
前記生成タイミング決定条件記憶部が記憶する前記生成タイミング決定条件は、
前記被制御機器ごとに、前記機器別コマンド送信部が前記被制御機器に前記機器別コマンドを送信してから前記応答データ受信部が前記機器別コマンド送信部の送信した前記機器別コマンドに対応する前記応答データを前記被制御機器から受信するまでの期間を示す機器毎待ち時間情報を含み、
前記一体化応答データ生成部は、
前記生成タイミング決定条件に含まれる前記機器毎待ち時間情報に基づいて、前記一体化応答データの前記生成タイミングを決定することを特徴とする請求項２記載のコマンド中継装置。
【請求項５】
前記生成タイミング決定条件記憶部が記憶する前記生成タイミング決定条件は、
前記被制御機器の前記機器別コマンドごとに、前記機器別コマンド送信部が前記被制御機器に前記機器別コマンドを送信してから前記応答データ受信部が前記機器別コマンド送信部の送信した前記機器別コマンドに対応する前記応答データを前記被制御機器から受信するまでの期間を示す機器別コマンド毎待ち時間情報を含み、
前記一体化応答データ生成部は、
前記生成タイミング決定条件に含まれる前記機器別コマンド毎待ち時間情報に基づいて、前記一体化応答データの前記生成タイミングを決定することを特徴とする請求項２記載のコマンド中継装置。
【請求項６】
前記生成タイミング決定条件記憶部が記憶する前記生成タイミング決定条件は、
前記機器別コマンド送信部が送信する前記機器別コマンドの個数Ｎに対する前記応答データ受信部が受信する前記応答データの個数の比を示す応答完了率を定めており、
前記一体化応答データ生成部は、
前記生成タイミング決定条件の示す前記応答完了率を前記一体化応答データの前記生成タイミングと決定し、前記応答データ受信部が受信して記憶している前記応答データの個数が前記生成タイミング決定条件の定める前記応答完了率に到達すると、前記応答データ受信部が記憶している前記応答データを一体化して前記一体化応答データを生成することを特徴とする請求項２記載のコマンド中継装置。
【請求項７】
前記制御装置は、
前記一体化応答データを受信した場合には、前記一体化応答データの受信の元となる前記一括コマンドに含めた前記機器別コマンドのうち対応する前記応答データが前記一体化応答データに含まれていない前記機器別コマンドから構成される残一括コマンドを送信し、
前記コマンド中継装置は、さらに、
前記残一括コマンドを受信する残一括コマンド受信部を備え、
前記一体化応答データ生成部は、
前記残一括コマンド受信部が前記残一括コマンドを受信すると、前記残一括コマンドに含まれる前記機器別コマンドに対応する前記応答データが前記応答データ受信部に記憶されているかどうかを確認し、前記応答データが前記応答データ受信部に記憶されている場合には、記憶されている全ての前記応答データを含むデータであって前記残一括コマンドに応答する残一括コマンド応答データを生成し、
前記データ送信部は、
前記一体化応答データ生成部が生成した前記残一括コマンド応答データを前記制御装置に送信することを特徴とする請求項１記載のコマンド中継装置。
【請求項８】
前記機器別コマンド送信部は、
Ｎ個の前記機器別コマンドを保持し、
前記応答データ受信部は、
前記被制御機器のそれぞれから受信する前記応答データのそれぞれがエラーを示すかどうかを判定し、受信した前記応答データがエラーを示すエラーデータの場合には、受信したエラーデータを削除するとともに、前記機器別コマンド送信部に、前記エラーデータの送信元の前記被制御機器へ前記機器別コマンド送信部の保持するＮ個の前記機器別コマンドのうち該当する前記機器別コマンドを再び送信するべきことを指示する再送信指示信号を出力し、
前記機器別コマンド送信部は、
前記応答データ受信部から前記再送信指示信号を入力すると、前記再送信指示信号に従って、前記エラーデータの送信元の前記被制御機器へ該当する前記機器別コマンドを再び送信することを特徴とする請求項１記載のコマンド中継装置。
【請求項９】
前記機器別コマンド送信部は、
Ｎ個の前記機器別コマンドを保持し、
前記応答データ受信部は、
前記被制御機器のそれぞれから受信する前記応答データのそれぞれがエラーを示すかどうかを判定し、受信した前記応答データがエラーを示すエラーデータの場合には、受信したエラーデータを削除するとともに、前記機器別コマンド送信部に、前記エラーデータの送信元の前記被制御機器へ前記機器別コマンド送信部の保持するＮ個の前記機器別コマンドのうち該当する前記機器別コマンドを再び送信するべきことを指示する再送信指示信号を出力し、
前記機器別コマンド送信部は、
前記応答データ受信部から前記再送信指示信号を入力すると、前記再送信指示信号に従って、前記エラーデータの送信元の前記被制御機器へ該当する前記機器別コマンドを再び送信し、
前記生成タイミング決定条件記憶部が記憶する前記生成タイミング決定条件は、
前記機器別コマンド送信部が前記機器別コマンドを再送信する回数を定めており、
前記一体化応答データ生成部は、
前記生成タイミング決定条件の示す再送信の前記回数を前記一体化応答データの前記生成タイミングと決定し、前記機器別コマンド送信部による前記機器別コマンドの再送信の回数が前記生成タイミング決定条件の定める前記回数に到達すると、前記応答データ受信部が記憶している前記応答データを一体化して前記一体化応答データを生成することを特徴とする請求項２記載のコマンド中継装置。
【請求項１０】
前記機器別コマンド送信部と前記応答データ受信部とは、前記被制御機器と所定のプロトコルを用いて通信し、
前記コマンド中継装置は、さらに、
前記機器別コマンド送信部と前記応答データ受信部とが用いる前記所定のプロトコルを前記所定のプロトコルとは異なる別のプロトコルに変換可能なプロトコル変換部を備えたことを特徴とする請求項１記載のコマンド中継装置。
【請求項１１】
コマンドを受信して制御を受けるとともに前記コマンドの実行結果を示す応答データを返信するＮ台（Ｎは１以上の整数）の被制御機器のそれぞれを制御する前記被制御機器ごとのＮ個の機器別コマンドが一体化された一括コマンドを生成して送信する制御装置から前記一括コマンドを受信する処理と、
受信した前記一括コマンドを解析し、Ｎ個の前記機器別コマンドに分割する一処理と、
解析して分割したＮ個の前記機器別コマンドのそれぞれを解析結果に従って該当するＮ台の前記被制御機器のそれぞれに送信する処理と、
前記被制御機器のそれぞれから前記機器別コマンドに応答する前記応答データを受信して記憶する処理と、
前記一括コマンドの受信を検知すると受信する前記応答データの少なくとも１つを一体化した一体化応答データを生成するべき生成タイミングを決定する処理と、
前記生成タイミングが到達すると、１台以上の前記被制御機器から前記応答データを受信し記憶している場合に前記応答データを一体化して前記一体化応答データを生成する処理と、
生成した前記一体化応答データを前記制御装置に送信する処理と
をコンピュータに実行させることを特徴とするコマンド中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コマンドを受信して制御を受けるとともにコマンドの実行結果を示す応答データを返信する複数の被制御機器のそれぞれを制御する前記被制御機器ごとの複数の機器別コマンドが一体化された一括コマンドを生成して送信する制御装置から前記一括コマンドを受信し、機器別コマンドを各被制御機器に送信するコマンド中継装置及びコマンド中継プログラムに関する。
【背景技術】
【０００２】
従来の複数の被制御機器に対するリモート制御装置は、１台目の被制御機器に対してコマンドを発行しそのコマンド実行結果を受信し、次に２台目の被制御機器に対してコマンドを発行してそのコマンド実行結果を受信してといったように、複数の被制御機器に対して順次、コマンドを送信し結果を受信することを繰り返すことによって、１台のリモート制御装置から複数の被制御機器に対してコマンド実行を行った（例えば、特許文献１の従来技術）。また、これら複数の被制御機器へのコマンドを一括コマンドに変換し、受信してコマンドを分割し、実行し、コマンド実行結果を制御結果テーブルに蓄え、その蓄えられた制御結果テーブルの内容から一括制御コマンド応答データを組み立てることによって、制御コマンドの送信・受信の効率向上を行う方法も提案されている（例えば、特許文献１）。
【特許文献１】特開平９−７３４２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
被制御機器の特質やリモート制御のコマンド内容、あるいは、その被制御機器の別途実施している処理の実行状態によって、受けたコマンドに応答する応答時間が非常に長くなるケースがある（たとえば、数十秒から数分）。従来技術（特許文献１）は、一括制御コマンドを送信して、全ての被制御機器の制御結果が集まってから一括制御コマンド応答データを組み立てる。このため、ほとんどの被制御機器のコマンド実行の応答が即時に帰ってきても、１台でもコマンド実行の応答が遅れると、一括制御コマンドの応答データを組み立てることができない。その結果、一括制御コマンドの応答が非常に遅くなることが考えられる。あるいは、その結果、リモート制御装置側でリモート制御のタイムアウトと判断してしまうという課題があった。
【０００４】
この発明は、被制御機器の特質やリモートコマンド内容によっては、その応答時間が長くなりすぎた場合でも、リモート制御装置側にリモート制御のタイムアウトと判断させないコマンド中継装置の提供を目的とする。
【課題を解決するための手段】
【０００５】
この発明のコマンド中継装置は、
コマンドを受信して制御を受けるとともに前記コマンドの実行結果を示す応答データを返信するＮ台（Ｎは１以上の整数）の被制御機器のそれぞれを制御する前記被制御機器ごとのＮ個の機器別コマンドが一体化された一括コマンドを生成して送信する制御装置から前記一括コマンドを受信する一括コマンド受信部と、
前記一括コマンド受信部が受信した前記一括コマンドを解析し、Ｎ個の前記機器別コマンドに分割する一括コマンド分割部と、
前記一括コマンド分割部が解析して分割したＮ個の前記機器別コマンドのそれぞれを解析結果に従って該当するＮ台の前記被制御機器のそれぞれに送信する機器別コマンド送信部と、
前記被制御機器のそれぞれから前記機器別コマンドに応答する前記応答データを受信して記憶する応答データ受信部と、
前記一括コマンド受信部による前記一括コマンドの受信を検知可能であるとともに前記一括コマンド受信部による前記一括コマンドの受信を検知すると前記応答データ受信部が受信する前記応答データの少なくとも１つを一体化した一体化応答データを生成するべき生成タイミングを決定し、前記生成タイミングが到達すると、前記応答データ受信部が１台以上の前記被制御機器から前記応答データを受信し記憶している場合には前記応答データを一体化して前記一体化応答データを生成する一体化応答データ生成部と、
前記一体化応答データ生成部が生成した前記一体化応答データを前記制御装置に送信するデータ送信部と
を備えたことを特徴とする。
【発明の効果】
【０００６】
この発明により、被制御機器から返信される応答データの応答時間が長い場合でも、制御装置側でリモート制御のタイムアウトと判断させないコマンド中継装置を提供することができる。
【発明を実施するための最良の形態】
【０００７】
実施の形態１．
図１は、コンピュータであるゲートウェイ装置１００（コマンド中継装置）の外観の一例を示す図である。図１において、ゲートウェイ装置１００は、システムユニット８３０、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶）の表示画面を有する表示装置８１３、キーボード８１４（Ｋｅｙ・Ｂｏａｒｄ：Ｋ／Ｂ）、マウス８１５、ＦＤＤ８１７（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・  Ｄｒｉｖｅ）、コンパクトディスク装置８１８（ＣＤＤ：Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｄｒｉｖｅ）、プリンタ装置８１９などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
【０００８】
システムユニット８３０は、コンピュータであり、ネットワークに接続されている。ネットワークには、制御装置１、被制御機器４−１〜４−３等が接続されている。ゲートウェイ装置１００は、制御装置１素送信する一括コマンド（詳細は後述）を機器別コマンドに分割して、該当する被制御機器４−１等に送信する。
【０００９】
図２は、実施の形態１におけるゲートウェイ装置１００のハードウェア資源の一例を示す図である。図２において、ゲートウェイ装置１００は、プログラムを実行するＣＰＵ８１０（中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ８１０は、バス８２５を介してＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８１２、表示装置８１３、キーボード８１４、マウス８１５、通信ボード８１６、ＦＤＤ８１７、ＣＤＤ８１８、プリンタ装置８１９、磁気ディスク装置８２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置８２０の代わりに、光ディスク装置、メモリカード読み書き装置、フラッシュメモリなどの記憶装置でもよい。
【００１０】
ＲＡＭ８１２は、揮発性メモリの一例である。ＲＯＭ８１１、ＦＤＤ８１７、ＣＤＤ８１８、磁気ディスク装置８２０、フラッシュメモリ等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部の一例である。通信ボード８１６、キーボード８１４、ＦＤＤ８１７などは、入力部、入力装置の一例である。また、通信ボード８１６、表示装置８１３、プリンタ装置８１９などは、出力部、出力装置の一例である。
【００１１】
通信ボード８１６は、ネットワークに接続されており、送信部あるいは受信部の一例である。
【００１２】
磁気ディスク装置８２０には、オペレーティングシステム８２１（ＯＳ）、ウィンドウシステム８２２、プログラム群８２３、ファイル群８２４が記憶されている。プログラム群８２３のプログラムは、ＣＰＵ８１０、オペレーティングシステム８２１、ウィンドウシステム８２２により実行される。
【００１３】
上記プログラム群８２３には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ８１０により読み出され実行される。
【００１４】
ファイル群８２４には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明する情報や、あるいは後述する情報テーブル６１やコマンド実行結果状態テーブル９１、あるいはデータや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ８１０によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００１５】
また、以下に述べる実施の形態の説明においては、データや信号値は、ＲＡＭ８１２のメモリ、ＦＤＤ８１７のフレキシブルディスク、ＣＤＤ８１８のコンパクトディスク、磁気ディスク装置８２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス８２５や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００１６】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ８１１に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ８１０により読み出され、ＣＰＵ８１０により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００１７】
図３は、実施の形態１におけるリモート制御システム（コマンド中継システム）を示す構成図である。図３において、制御装置１とゲートウェイ装置１００は、通信線６（あるいはネットワーク）を通じてネットワーク２（あるいはインターネット）を介して接続している。またゲートウェイ装置１００は、ネットワーク５（あるいはフィールドリンク）で複数台の異なる機種の被制御機器４に接続されている。
【００１８】
図３を参照して、リモート制御システムの動作概要を説明する。
（１）制御装置１は、制御コマンド（後述の一括コマンド）を送信することにより、被制御機器をリモート制御する。制御装置１は、一括コマンドをゲートウェイ装置１００に送信する。ここで「一括コマンド」とは、複数の被制御機器を制御するそれぞれのコマンド（以下、機器別コマンドという）をマージした形式のコマンドである。「一括コマンド」とは、例えば、被制御機器４−１を制御するためのコマンドである機器別コマンド１１と、被制御機器４−２を制御するためのコマンドである機器別コマンド１２と、被制御機器４−３を制御するためのコマンドである機器別コマンド１３とが一体化（マージ）されたコマンドである。
（２）被制御機器４−１〜４−３は、制御装置１の制御コマンド（一括コマンド）により、制御される。
（３）ゲートウェイ装置１００は、制御装置１から一括コマンドを受信すると、一括コマンドを解析し、それぞれの「機器別コマンド」に分割する。そして、ゲートウェイ装置１００は、分割した「機器別コマンド」を該当する被制御機器に送信する。
（４）被制御機器４−１〜４−３は、ゲートウェイ装置１００から自己宛の「機器別コマンド」を受信すると、その機器別コマンドの実行結果であるコマンド実行結果（応答データともいう）をゲートウェイ装置１００に返信する。
（５）ゲートウェイ装置１００は、それぞれの被制御機器から応答データを受信すると、この応答データを一体化した一体化応答データを生成して、制御装置１に送信する。
【００１９】
なお、以下に説明する実施の形態１〜５では、後述するそれぞれの機種依存コマンド実行結果受信部４１〜４３がエラーを受け取った場合は、エラーをそのまま、一括コマンド結果合成部５０に渡すものとする。
【００２０】
図４は、ゲートウェイ装置１００の構成図である。ゲートウェイ装置１００（コマンド中継装置）は、一括コマンド受信部１０、一括コマンド解析・分割部２０（一括コマンド分割部）、機器別コマンド送信部３０、応答データ受信部４０、一括コマンド結果合成部５０（一体化応答データ生成部）、情報テーブル記憶部６０（生成タイミング決定条件記憶部）、一括コマンド結果送信部７０（データ送信部）、プロトコル変換部９５とを備える。機器別コマンド送信部３０は、複数の機種依存コマンド送信部３１〜３３を備える。応答データ受信部４０は、複数の機種依存コマンド実行結果受信部４１〜４３を備える。
【００２１】
（情報テーブル１１）
図５は、コマンド実行結果の受信待ち時間を示す「情報テーブル６１」の内容の一例である。「情報テーブル６１」は、情報テーブル記憶部６０に格納されている。コマンド実行結果受信待ち時間の「情報テーブル６１」は、被制御機器４−１，４−２，４−３を識別する被制御機器識別子６２と、それぞれの被制御機器に機器別コマンド送信部３０が機器別コマンドを送信して、応答データ受信部４０が被制御機器から機器別コマンドに対する応答であるコマンド実行結果（応答データ）を受信する期間を示す最大応答待ち時間６３とから構成されている。
【００２２】
（最大応答待ち時間６３）
この「最大応答待ち時間６３」は、システム構築者が経験や被制御機器の仕様から決定してもよいし、過去のコマンド実行の平均値（機器別コマンド送信から応答データ返信までの実際の平均値）から求めてもよい。また、システム稼動前に一度、試験コマンドを実行してその値を設定してもよい。また、システム稼動中の応答時間を記録しておいて、その平均値によって、一括コマンド結果合成部５０が、動的に変更してもよい。また、それぞれの値にある一定の割合を掛け合わせた値でもよい。この掛け合わせる値は、被制御機器別に設定してもよいし、システム全体で設定してもよい。たとえば、この値をシステム全体で０．８と設定した場合、平均応答時間などから、最大応答待ち時間が１０秒と設定されていた場合は、１０＊０．８＝８秒を、当該被制御機器の最大応答待ち時間としてもよい。
【００２３】
図６は、ゲートウェイ装置１００の動作のフローチャートである。図６を用いて、ゲートウェイ装置１００の動作を説明する。
【００２４】
一括コマンド受信部１０は、ネットワーク６−２から一括コマンドを受信する（Ｓ１）。一括コマンド受信部１０は、受信した一括コマンドを、一括コマンド解析・分割部２０に出力する。
【００２５】
一括コマンド解析・分割部２０は、「一括コマンド」を解析し、対応する被制御機器ごとの機器別コマンドに分割する（Ｓ２）。前述の例では、一括コマンド解析・分割部２０は、一括コマンドを機器別コマンド１１、機器別コマンド１２、機器別コマンド１３に分割する。一括コマンド解析・分割部２０は、その分割したそれぞれの機器別コマンドを、対応する機種依存コマンド送信部に渡す。
【００２６】
機種依存コマンド送信部は、一括コマンド解析・分割部２０から機器別コマンドを受信すると、自己の接続しているネットワークを通じて、その機器別コマンドを該当する被制御機器に送信する（Ｓ３）。
【００２７】
（「全体最大応答待ち時間」の設定）
一括コマンド結果合成部５０は、一括コマンド受信部１０による「一括コマンド」の受信を検知することが可能である。たとえば、一括コマンド結果合成部５０は、一括コマンド解析・分割部２０による解析結果を一括コマンド解析・分割部２０から入力する。これにより、一括コマンド結果合成部５０は、一括コマンドが受信されたことを知るとともに、どの被制御機器に機器別コマンドが送信されたかを知ることができる。一括コマンド結果合成部５０は「一括コマンド」の受信を検知すると、応答データ受信部４０の機種依存コマンド実行結果受信部が受信する応答データの少なくとも２つを一体化した一体化応答データを生成するべき生成タイミングを決定する。例えば、一括コマンド結果合成部５０は、「情報テーブル６１」に基づいて、コマンド結果（応答データ）の合成のタイミング（全体最大応答待ち時間）を決定する。例えば、一括コマンド結果合成部５０は、「情報テーブル６１」の最大応答待ち時間６３の最大値を採用する。具体的には、図５に示すように、一括コマンドが、被制御機器識別子「０００００１」、「０００００２」および「０００００３」に対する機器別コマンドを含んでおり、かつ、それぞれの最大応答待ち時間が１秒、１０秒および３０秒である場合は、一括コマンド結果合成部５０は最も大きい「３０秒」を採用することにより、「全体最大応答待ち時間」を「３０秒」に設定する（Ｓ４）。
【００２８】
応答データ受信部４０では、それぞれの機種依存コマンド実行結果受信部が、それぞれの被制御機器からコマンド実行結果（応答データ）が返信されるのを待ち、返信があれば受信して記憶する（Ｓ５）。
【００２９】
一括コマンド結果合成部５０は、各被制御機器からコマンド実行結果（応答データ）を確認し、すべての被制御機器から、機器別コマンドの送信から３０秒（全体最大応答待ち時間）以内に応答データが集まっている場合には（Ｓ６のＹＥＳ）、すべての応答データを一体に合成して、一括コマンド実行結果（一体化応答データ）を生成して一括コマンド結果送信部７０に出力する（Ｓ８）。
【００３０】
一括コマンド結果送信部７０は、一括コマンド結果合成部５０から一括コマンド実行結果（一体化応答データ）を入力すると、ネットワーク６−２を介して一括コマンド実行結果を制御装置１に送信する（Ｓ９）。
【００３１】
また、３０秒（全体最大応答待ち時間）以内において全ての被制御機器からのデータが集まっていない場合は、すなわち、応答データを返信していない被制御機器が少なくとも１台ある場合には（Ｓ６のＮＯ）、一括コマンド結果合成部５０は、３０秒（全体最大応答待ち時間）を越しているかを確認し（Ｓ７）、越していなければ、応答データ受信部４０による該当する被制御機器からのコマンド実行結果（応答データ）の受信を待つ（Ｓ５）。
【００３２】
一括コマンド結果合成部５０は、３０秒（全体最大応答待ち時間）を越していると判定した場合（Ｓ７のＹＥＳ）、その時点でいずれかの機種依存コマンド実行結果受信部が記憶している応答データを一体に合成して一括コマンド実行結果（一体化応答データ）を生成し（Ｓ７のＹＥＳ→Ｓ８）、一括コマンド結果送信部７０に送る。なお、一括コマンド結果合成部５０は、応答データが１個の場合であってもその一つの応答データを含む一括コマンド実行結果（一体化応答データ）を生成する。このように、一括コマンド結果合成部５０は、応答データ受信部４０が１台以上の被制御機器から応答データを受信し記憶している場合に３０秒（全体最大応答待ち時間）に到達すると、応答データ受信部４０が１台以上の被制御機器から受信し記憶している応答データを一体化し一体化応答データを生成する。
【００３３】
一括コマンド結果送信部７０は、一括コマンド結果合成部５０から一括コマンド実行結果（一体化応答データ）を入力すると、ネットワーク６−２を介して一括コマンド実行結果を制御装置１に送信する（Ｓ９）。
【００３４】
以上の実施の形態１では装置としてのゲートウェイ装置１００を説明したが、ゲートウェイ装置１００の各構成要素の動作を処理ととらえることにより、ゲートウェイ装置１００（コマンド中継装置）の動作（処理）をコンピュータに実行させるコマンド中継プログラムとして把握することも可能である。
【００３５】
以上のように、実施の形態１のゲートウェイ装置１００は、一括コマンド結果合成部５０を備えたので、すべてのコマンド実行結果（応答データ）がそろわなくても、そろったコマンド実行結果を合成し、送信する。このため、１台の被制御機器の応答データの返信がたまたま遅かった場合でも、制御装置１は、ある一定の時間内（例えば上記の全体最大応答待ち時間である３０秒）で結果を得ることができるようになる。このため、制御装置１におけるタイムアウトの課題を解消することができる。
【００３６】
また、上記の「全体最大応答待ち時間」は、固定ではなく、受信した「一括コマンド」に含まれる被制御機器の種別によって異なるものとすることができる。例えば、受信した「一括コマンド」は、被御機器識別子「０００００１」と「０００００２」に対するコマンドを含んでおり、かつ、それぞれの最大応答待ち時間が、図５に示すように、１秒および１０秒とする場合、一括コマンド結果合成部５０は「全体最大応答待ち時間」を１０秒と設定する。従って、制御装置１は、その一括コマンドに最適なある一定の時間内で一括コマンド実行結果（一体化応答データ）を得ることができ、タイムアウト解消の実効を図ることができる。
【００３７】
（プロトコル変換部）
また、機種依存コマンド送信部および機種依存コマンド実行結果受信部に対しては、非ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）のネットワークに対しても行えるように、図４に示すように、プロトコル変換部９５を備える構成でもよい。これによって、被制御機器が、制御装置１から直接操作できないような（プロトコルアンリーチャブルな）被制御機器である場合も一括制御可能となる。また、それぞれの被制御機器に対してそれぞれのプロトコルに対応したプロトコル変換機能を保持すれば、一括して、それぞれことなるプロトコル（フィールドネットワーク）の被制御機器を同時に制御可能となる。たとえば、ＣＣ−Ｌｉｎｋ、ＡＳｉ、ＥｃｈｏＮｅｔなど独自のフィールドネットワークに接続された、空調機、ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）機械、電灯、情報家電などの制御が可能となる。
【００３８】
実施の形態２．
以上の実施の形態１では、コマンド実行結果待ち時間の「情報テーブル６１」に設定する「最大応答待ち時間６３」は、被制御機器によって１つの値に決めるようにしたものであった。これに対して、実施の形態２では、機器別コマンドごとに設定した場合を示す。これにより、よりきめ細かく「最大応答待ち時間６３」を設定することができ、タイムアウトの発生防止の実行を図ることができる。
【００３９】
図７は、実施の形態２における、コマンド実行結果受信待ち時間の「情報テーブル６１」の内容の例である。図５との違いは、「情報テーブル６１」が「コマンド種別６４」を含む点にある。このため、図７の「最大応答待ち時間６３」は機器別コマンドごとの最大応答待ち時間（機器別コマンド毎待ち時間情報）となっている。例えば、図７の「最大応答待ち時間６３」におけるコマンド種別「Ｃ０１」の「１秒」は、機器別コマンドである「Ｃ０１」が機器別コマンド送信部３０から該当する被制御機器に送信されてから応答データ受信部４０がその応答データを受信するまでの許容時間を示している。
【００４０】
一括コマンド結果合成部５０は、実施の形態１の場合と同様に、図７の「情報テーブル６１」に含まれる「最大応答待ち時間６３」に基づいて、「全体最大応答待ち時間」を決定する。
【００４１】
このように実施の形態２のゲートウェイ装置１００は、「情報テーブル６１」が機器別コマンドごとの「最大応答待ち時間６３」を有し、一括コマンド結果合成部５０が、この「情報テーブル６１」に基づき「全体最大応答待ち時間」を決定する。このため、制御装置１は、その「一括コマンド」に対して、実施の形態１よりもさらに最適なある一定の時間内で一括コマンド実行結果（一体化応答データ）を得ることができるので、効率的にタイムアウトをなくすことができる。
【００４２】
また、ユーザは、機器別コマンドの種別ではなく、機器別コマンドのサイズによって「情報テーブル６１」を構成し、情報テーブル記憶部６０に「情報テーブル６１」を格納してもよい。また、時間帯によって「情報テーブル６１」を構成し、情報テーブル記憶部６０に格納してもよい。これによって、コマンドのサイズによって応答時間が決定されるようなシステムや、時間帯によって応答時間が決定される（夜中はバッチ処理が動作して応答が遅くなる、ネットワークが込んでいて応答が遅くなるなど）ようなシステムにおいて、実施の形態１よりもさらに最適なある一定の時間内で結果を得ることができ、タイムアウトをなくすことができる。
【００４３】
実施の形態３．
以上の実施の形態１、実施の形態２では、複数の被制御機器に送信した機器別コマンドのコマンド実行結果（応答データ）が「全体最大応答待ち時間」以内にすべて揃うか、あるいは一括コマンド結果合成部５０が前述の方法で求めた「全体最大応答待ち時間」が過ぎた場合に、一括コマンド結果合成部５０がコマンド実行結果を合成した。これに対して実施の形態３は、別途規定した、あるいは一括コマンドに含ませた「応答完了率」で、コマンド実行結果（応答データ）を合成する実施形態である。例えば、「応答完了率」を０．７とすると、一括コマンドに含まれる機器別コマンドが１０個の場合は、７個（１０＊０．７）の応答データが帰ってきた時点で、一括コマンド結果合成部５０はコマンド実行結果の合成を実施する。
【００４４】
すなわち、実施の形態３では、「情報テーブル６１」が、機器別コマンド送信部３０が送信する機器別コマンドの個数Ｎに対する応答データ受信部４０が受信する応答データの個数の比を示す応答完了率（前述の例では０．７）を記憶している。そして、一括コマンド結果合成部５０は、応答完了率を一括コマンド実行結果（一体化応答データ）の生成タイミングと決定し、応答データ受信部４０が受信して記憶している応答データの個数が応答完了率に到達すると、応答データ受信部４０が記憶している応答データを一体化して一括コマンド実行結果（一体化応答データ）を生成する。一括コマンド結果送信部７０は、この一括コマンド実行結果（一体化応答データ）を制御装置１に送信する。
【００４５】
これによって、制御装置１が、その一括コマンドに対して、短時間である程度の結果を知りたい場合のシステムに適用できる。
【００４６】
実施の形態４．
以上の実施の形態１〜３では、「情報テーブル６１」の内容を、予め、ゲートウェイ装置１００の情報テーブル記憶部６０に格納したが、一括コマンドに含まれるデータとしてこの情報を受信してもよい。あるいは、一括コマンドとは別に、制御装置１から受信するようにしてもよい。
【００４７】
即ち、制御装置１は、「情報テーブル６１の内容」（生成タイミング決定条件）を送信する。一括コマンド受信部１０は、制御装置１が送信した「情報テーブル６１の内容」を受信する。情報テーブル記憶部６０は、一括コマンド受信部１０が受信した「情報テーブル６１の内容」を記憶する。一括コマンド結果合成部５０は、情報テーブル記憶部６０の記憶した「情報テーブル６１の内容」を参照して、一括コマンド実行結果を生成する。
【００４８】
このように、実施の形態４のゲートウェイ装置１００は、「情報テーブル６１の内容」を制御装置１から受信するので、予め情報テーブル６１を保持する必要もなく、構成が簡単になる。また、制御装置１において一括コマンドの発行の度に「情報テーブル６１の内容」を変更できるため、より最適なある一定の時間内で結果を得ることができ、タイムアウトをなくすことができる。
【００４９】
実施の形態５．
次に、図８〜図１１を用いて実施の形態５を説明する。実施の形態１〜４では、「一括コマンド」の実行結果を「一括コマンド実行結果」として制御装置１に送付した。実施の形態５では、実施の形態１〜４において、「全体最大応答待ち時間」以内に応答データを返信しない被制御機器が存在する場合の処理を説明する。つまり、実施の形態５は、一括コマンド実行結果（一体化応答データ）に少なくとも一つの応答データが含まれていない場合に、この含まれていない残りのコマンド実行結果（応答データ）を得る実施形態である。
【００５０】
図８は、実施の形態５におけるゲートウェイ装置１００の構成図である。図８の図４との相違は、ゲートウェイ装置１００が、後述の「残一括コマンド」を受信する残一括コマンド受信部８０と、コマンド実行結果状態テーブル９１を格納するコマンド実行結果状態テーブル記憶部９０とを備えた点である。残一括コマンド受信部８０は一括コマンド結果合成部５０と連携し、また、残一括コマンド受信部８０、一括コマンド解析・分割部２０、および一括コマンド結果合成部５０は、コマンド実行結果状態テーブル９１にアクセスする。具体的な処理は動作の説明で後述する。
【００５１】
（残一括コマンド）
ここで、残一括コマンド受信部８０の受信する「残一括コマンド」を説明する。「残一括コマンド」とは、次のようなコマンドである。被制御機器４−１〜４−５が存在するものとする。制御装置１は、被制御機器４−１〜４−５に対する一括コマンドを送信する。この場合、一括コマンドは、被制御機器４−１〜４−５への機器別コマンドの束である。ゲートウェイ装置１００は、被制御機器４−１〜４−３から応答データを受信し、これらの応答データをもとに一括コマンド実行結果（一体化応答データ）を生成して制御装置１に送信したとする。制御装置１は、被制御機器４−４、４−５の応答データを取得していないため、前回に送信した一括コマンドに対して、前回の一括にコマンドに含めた被制御機器４−４への機器別コマンドと、被制御機器４−５への機器別コマンドとをマージしたコマンド（残一括コマンド）を生成してゲートウェイ装置１００に送信する。このマージされたコマンドが残一括コマンドである。
【００５２】
図９は、「コマンド実行結果状態テーブル９１」の一例である。コマンド実行結果状態テーブル９１は、制御装置１から受信した一括コマンドを識別するための一括コマンド識別子９２、その一括コマンドに含まれている被制御機器識別子９３、各被制御機器識別子９３の示す被制御機器からコマンド実行結果（応答データ）を受信したどうかを示す応答状態９４から構成されている。
【００５３】
図９のコマンド実行結果状態テーブル９１については、一括コマンド解析・分割部２０が、一括コマンドの受信の際に、一括コマンド識別子９２に対するエントリを作成する。このとき一括コマンド解析・分割部２０は、エントリの応答状態９４を全て「未」状態とする。
【００５４】
また、一括コマンド結果合成部５０が、被制御機器識別子に対する応答データを合成（一体化応答データを生成）する際に、その応答状態９４を「済」にする。なお、一括コマンド結果合成部５０は、一括コマンド識別子に該当する全ての応答状態９４が「済」になった場合は、その一括コマンド識別子のエントリを削除する。
【００５５】
（一括コマンドの受信の場合）
図１０は、残りのコマンド実行結果（応答データ）を得る場合の、ゲートウェイ装置１００の動作のフローチャートであり、まず「一括コマンド」を受信する場合を示している。Ｓ１からＳ９までは、実施の形態１に示した図６と以下の「ステップＳ２−１」、「ステップＳ８−１」を除いて同じである。
（１：ステップＳ２−１）一括コマンド解析・分割部２０が、図６のステップＳ２の代わりに「ステップＳ２−１」において、一括コマンド識別子を発行し、コマンド実行結果状態テーブル１５のエントリを作成する。
（２：ステップＳ８−１）図６のステップＳ８の代わりに「ステップＳ８−１」において、一括コマンド結果合成部５０は、該当する一括コマンド識別子に対する、コマンド実行結果状態テーブル９１のエントリを更新（すべての応答状態が「済み」になれば該当エントリは削除）する。
【００５６】
（残一括コマンドの受信の場合）
図１１は、ゲートウェイ装置１００が「残一括コマンド」を受信する場合のフローチャートであり、図１０から続くフローである。
【００５７】
残一括コマンド受信部８０は、「残一括コマンド」を受信する（Ｓ１０）。（このとき、別の一括コマンドを受信すれば、図１０のステップＳ１の場合である）。
【００５８】
Ｓ１１において、残一括コマンド受信部８０は、受信した「残一括コマンド」の内容から、「一括コマンド識別子９２」を取り出し、一括コマンド結果合成部５０に通知する（Ｓ１１）。
【００５９】
一括コマンド結果合成部５０は、通知を受けた「一括コマンド識別子９２」の「コマンド実行結果状態テーブル９１」をチェックする（Ｓ１２，Ｓ１３）。このとき、一括コマンド結果合成部５０は、その「一括コマンド識別子９２」がなければ、送信完了済みのデータを作成し（Ｓ１４）、その送信完了済データを一括コマンド結果送信部７０を介して制御装置１に送信する（Ｓ１７）。
【００６０】
Ｓ１３において「コマンド実行結果状態テーブル９１」にエントリが存在する場合は、一括コマンド結果合成部５０は、「未」状態の被制御機器から送信された「応答データ」が、該当する機種依存コマンド実行結果受信部に記憶されているかをチェックする（Ｓ１５）。
【００６１】
複数の機種依存コマンド実行結果受信部に「応答データ」が記憶されている場合、一括コマンド結果合成部５０は、それらの応答データを機種依存コマンド実行結果受信部から取得し合成して残一括コマンド実行結果（残一括コマンド応答データ）を生成するとともに、該当エントリの応答状態を「済」にする。（すべてが「済」の場合は、エントリそのものを削除する）（Ｓ１６）。なお、応答データが一つのみ存在する場合は、一括コマンド結果合成部５０は合成することなく一つの応答データ（残一括コマンド応答データ）を一括コマンド結果送信部７０を介して制御装置１に送信する。
【００６２】
一括コマンド結果送信部７０は、一括コマンド結果合成部５０が機種依存コマンド実行結果受信部から取得し合成した残一括コマンド実行結果（残一括コマンド応答データ）を応答データ制御装置１に送信する（Ｓ１７）。
【００６３】
なお、Ｓ１５において、どの機種依存コマンド実行結果受信部も応答データを格納していなければ、一括コマンド結果合成部５０は、その応答データがない旨の「残一括コマンド実行結果」を一括コマンド結果送信部７０を介して制御装置１に送信する（Ｓ１７）。なお、一括コマンド識別子９２のエントリが残っている間は、この「残一括コマンド」を何度受信してもよい。
【００６４】
実施の形態５のゲートウェイ装置１００は、「残一括コマンド」を受信して処理するので、制御装置１では、前回の「一括コマンド」で得られなかった残りの応答データ（全体最大応答待ち時間以上かかって帰ってきたコマンド実行結果）を漏れなく取得できる。
【００６５】
実施の形態６．
以上の実施の形態１〜５では、図３の説明の最後に述べたように、それぞれの機種依存コマンド実行結果受信部４１〜４３がエラーを受け取った場合は、エラーをそのまま、一括コマンド結果合成部５０に渡していた。この実施の形態６は、そのエラーリターンが、「全体最大応答待ち時間」以内であれば、何度でもリトライしてもよく、そのリトライによって正しいデータが得られた場合に、それぞれの機種依存コマンド実行結果受信部４１〜４３は、正しいデータを一括コマンド結果合成部５０に渡す実施形態を説明する。
【００６６】
図４を参照してリトライの動作を説明する。機器別コマンド送信部３０は、送信したＮ個の機器別コマンドを保持している。応答データ受信部４０は、被制御機器のそれぞれから受信する応答データのそれぞれがエラーを示すかどうかを判定する。応答データ受信部４０は、受信した応答データがエラーを示すエラーデータと判定した場合には、受信したエラーデータを削除するとともに、機器別コマンド送信部３０に、エラーデータの送信元の被制御機器へ機器別コマンド送信部３０の保持する機器別コマンドのうち該当する機器別コマンドを再び送信するべきことを指示する「再送信指示信号」を出力する。機器別コマンド送信部３０は、応答データ受信部４０から「再送信指示信号」を入力すると、「再送信指示信号」に従って、エラーデータの送信元の被制御機器へ該当する機器別コマンドを再び送信する。後の動作は実施の形態１と同様である。
【００６７】
また、リトライ回数を「情報テーブル６１」を拡張して保持することによって、「全体最大応答待ち時間」以内でなく、リトライ回数内実行するようにしてもよい。この場合の動作は次のようになる。
【００６８】
機器別コマンド送信部３０は、送信したＮ個の機器別コマンドを保持している。応答データ受信部４０は、被制御機器のそれぞれから受信する応答データのそれぞれがエラーを示すかどうかを判定する。応答データ受信部４０は、受信した応答データがエラーを示すエラーデータと判定した場合には、受信したエラーデータを削除するとともに、機器別コマンド送信部３０に、エラーデータの送信元の被制御機器へ機器別コマンド送信部３０の保持する機器別コマンドのうち該当する機器別コマンドを再び送信するべきことを指示する再送信指示信号を出力する機器別コマンド送信部３０は、応答データ受信部４０から「再送信指示信号」を入力すると、「再送信指示信号」に従って、エラーデータの送信元の被制御機器へ該当する前記機器別コマンドを再び送信する。情報テーブル記憶部６０が記憶する情報テーブル６１は、機器別コマンド送信部３０が機器別コマンドを再送信する回数を定めている。一括コマンド結果合成部５０は、情報テーブル６１の示す再送信の回数を一括コマンド結果合成部５０による一括コマンド実行結果（一体化応答データ）の生成タイミングと決定し、機器別コマンド送信部３０による機器別コマンドの再送信の回数が情報テーブル６１の回数に到達すると、応答データ受信部４０が記憶している応答データを一体化して一括コマンド実行結果を生成し、一括コマンド結果送信部７０を介して制御装置１に一括コマンド実行結果を送信する。
【００６９】
実施の形態６のゲートウェイ装置１００により、たまたまエラーが発生し、直後のリトライで正しい結果を得られるような場合に、制御装置１にエラーリターンを返すことなく、一回の一括コマンドの受信で、一括コマンド実行結果を取得することができる。
【００７０】
以上の実施の形態では、制御装置からインターネットなどのネットワークを介し、ゲートウェイ装置を通じて複数の被制御機器を制御するシステムにおいて、ゲートウェイ装置は、制御装置から複数の被制御機器を制御するコマンドをマージした形で一括コマンドとして受信（一括コマンド受信部）し、当該一括コマンドを解析・分割（一括コマンド解析・分割部）し、それぞれの被制御機器に対して対応するコマンドを送信（機種依存コマンド送信部）し、そのコマンド実行結果を受信（機種依存コマンド実行結果受信部）し、各被制御機器からのコマンド実行結果が揃うまで、被制御機器別のコマンド実行結果受信待ち時間の情報（コマンド実行結果受信待ち時間の情報時間テーブル）を参照し、コマンド実行結果がすべて揃うあるいは、当該時間待ったあと、受信したコマンド実行結果をマージ（一括コマンド結果合成部）して、前述の一括コマンドのリターンとして一括コマンド実行結果として送信（一括コマンド結果送信部）することを特徴とするゲートウェイ装置を説明した。
【００７１】
以上の実施の形態では、被制御機器別のコマンド実行結果受信待ち時間の情報とは、以下のいずれかあるいは組み合わせ等によって設定あるいは変更されることを特徴とするゲートウェイ装置を説明した。
（１）システムの管理者が経験あるいは被制御機器の仕様などから規定する。
（２）過去の制御コマンドの実行の応答時間の平均値から設定する。
（３）制御コマンド実行の応答時間の平均によって動的に変更する。
（４）制御コマンド内容によって、異なる値を決める。
（５）試験的にコマンド発行を行い、その応答時間を設定する。
（６）制御コマンドのサイズによって、異なる値を決める。
（７）時間帯によって、異なる値を決める。
【００７２】
以上の実施の形態では、被制御機器別のコマンド実行結果受信待ち時間の情報に基づいて待つ時間を、以下のいずれかあるいは組み合わせで決定することを特徴とするゲートウェイ装置を説明した。
（１）一括コマンドに含まれる被制御機器に対する待ち時間情報の最大値を待ち時間とする。
（２）（１）に対して、ある割合（たとえば９０％あるいは１１０％など）を待ち時間とする。
（３）応答が完了した率（たとえば１００％、あるいは８０％など、８０％のときは、１０台の被制御機器にコマンドを投げた場合は、１０台の８０％である８台の応答を受信したとき
（４）一括コマンドのデータの一部として得る。
【００７３】
以上の実施の形態では、ゲートウェイ装置であって、被制御機器別のコマンド実行結果受信待ち時間の情報に基づいて、制御対象機器と機種別制御リターン時間から求まった待ち時間待っても、機器からの結果が獲られない場合は、その時点で受信したコマンド実行結果のみをマージして、一括コマンド実行結果として送信することを特徴とするゲートウェイ装置を説明した。
【００７４】
以上の実施の形態では、全てのコマンド実行結果が集まる前に、一括コマンド実行結果として返し場合、コマンド実行結果の未送信の被制御機器を記録しておき、制御装置からの「残一括コマンド」を受信した場合、以下のいずれかの処理を行うことを特徴とするゲートウェイ装置を説明した。
（１）その後、被制御機器から残りのコマンド実行結果を受信し、制御装置からの「残一括コマンド」を受信すると、その残りのコマンド実行結果をマージして、「残一括コマンド」実行結果として送信する。
（２）その後、被制御機器から残りのコマンド実行結果を受信する前に、制御装置からの「残一括コマンド」を受信すると、まだ結果が戻っていない旨を、「残一括コマンド」実行結果として送信する。
（３）コマンド実行結果の未送信の被制御機器を記録がなくなったあとに、制御装置から「残一括コマンド」を受信すると、「残一括コマンド」実行結果は存在しない旨を、残一括コマンド実行結果として送信する。
【００７５】
以上の実施の形態では、一括コマンドと「残一括コマンド」は同一の識別子で関連づけられていることを特徴とするゲートウェイ装置を説明した。
【００７６】
以上の実施の形態では、ゲートウェイ装置が被制御機器別のコマンド実行結果受信待ち時間の情報に基づいた時間まで待っている間に、エラーリターンが帰ってきた場合、リトライを行い、その結果が、当該時間以内に成功して帰ってきた場合は、その結果をコマンド実行結果としてマージして、前述の一括コマンドのリターンとして一括コマンド実行結果として送信することを特徴とするゲートウェイ装置を説明した。
【００７７】
以上の実施の形態では、ゲートウェイ装置が被制御機器別のコマンド実行結果受信待ち時間の情報には、リトライ回数情報を持ち、エラーが発生した場合は、そのリトライ回数まで繰り返すまでは、コマンド実行結果が得られなかったと判断することを特徴とするゲートウェイ装置を説明した。
【００７８】
以上の実施の形態では、被制御機器として、ＩＰ通信可能なコンピュータなどの機器だけでなく、非ＩＰである個別の通信形態で通信・制御する空調機、情報家電などおよびその組み合わせた場合にも適用可能なように、通信プロトコル変換部をもったことを特徴とするゲートウェイ装置を説明した。
【００７９】
以上の実施の形態では、被制御機器別のコマンド実行結果の受信待ち時間の情報を、制御装置側で保持あるいは計算し、その情報を一括コマンドの送信時に、ゲートウェイ装置にコマンドと一緒にあるいは、別に送付し、ゲートウェイ装置で保持することを特徴とするゲートウェイ装置を説明した。
【図面の簡単な説明】
【００８０】
【図１】実施の形態１におけるゲートウェイ装置１００の外観を示す図。
【図２】実施の形態１におけるゲートウェイ装置１００のハードウェア構成を示す図。
【図３】実施の形態１におけるリモート制御システムのシステム構成図。
【図４】実施の形態１におけるゲートウェイ装置１００の構成図。
【図５】実施の形態１における情報テーブル６１の例を示す図。
【図６】実施の形態１におけるゲートウェイ装置１００の動作を示すチャート。
【図７】実施の形態２における情報テーブル６１の例を示す図。
【図８】実施の形態５におけるゲートウェイ装置１００の構成図。
【図９】実施の形態５におけるコマンド実行結果状態テーブルの例を示す図。
【図１０】実施の形態５におけるゲートウェイ装置１００の動作のフローチャート。
【図１１】実施の形態５におけるゲートウェイ装置１００の動作の別のフローチャート。
【符号の説明】
【００８１】
１  制御装置、２  ネットワーク、４−１，４−２，４−３  被制御機器、５−１，５−２，５−３  ネットワーク、６−１，６−２  ネットワーク、１０  一括コマンド受信部、２０  一括コマンド解析・分割部、３０  機器別コマンド送信部、３１，３２，３３  機種依存コマンド送信部、４０  応答データ受信部、４１，４２，４３  機種依存コマンド実行結果受信部、５０  一括コマンド結果合成部、６０  情報テーブル記憶部、６１  情報テーブル、６２  被制御機器識別子、６３  最大応答待ち時間、７０  一括コマンド結果送信部、８０  残一括コマンド受信部、９０  コマンド実行結果状態テーブル記憶部、９１  コマンド実行結果状態テーブル、９２  一括コマンド識別子、９３  被制御機器識別子、９４  応答状態、９５  プロトコル変換部、１００  ゲートウェイ装置。
【図１】
2008210089.tif 000003
【図２】
2008210089.tif 000004
【図３】
2008210089.tif 000005
【図４】
2008210089.tif 000006
【図５】
2008210089.tif 000007
【図６】
2008210089.tif 000008
【図７】
2008210089.tif 000009
【図８】
2008210089.tif 000010
【図９】
2008210089.tif 000011
【図１０】
2008210089.tif 000012
【図１１】
2008210089.tif 000013