(57)【要約】【課題】サーバが目的とするデータを取得するまでの間にサーバにかかる負荷及びサーバとゲートウェイ装置との間のネットワークにかかる負荷の増大を回避する。【解決手段】サーバ２からのデータ取得要求に応じてデータの送信を機器４に要求し、その要求に対して機器から送信されてきたデータをサーバ２へ送信する中継部１３と、サーバ２により指定されたデータが機器４から送信されてこない場合、中継部１３のコマンド生成部１３１にデータの送信を機器４に要求させ、サーバ２により指定されたデータが機器４から送信されてきてはじめて、中継部１３の応答生成部１３２に、取得したデータをサーバ２に送る応答メッセージを生成させる応答判断部１４と、を有する。【選択図】図３
2016136297.tif 000002
【特許請求の範囲】
【請求項１】
サーバから第１ネットワークを介して送信されてきた機器からのデータ取得要求に応じて、前記第１ネットワークとは異なる第２ネットワークに接続された前記機器にデータの送信を要求し、その要求に対して前記機器から送信されてきたデータを前記サーバへ送信するデータ中継手段と、
前記データ取得要求により指定されたデータが前記機器から送信されてこない場合、前記データ中継手段に、前記データ取得要求により指定されたデータが前記機器から送信されてくるまで前記機器に更なるデータの送信を要求させ、前記データ取得要求により指定されたデータが前記機器から送信されてきてはじめて当該データを前記サーバへ送信させる応答制御手段と、
を有することを特徴とする中継装置。
【請求項２】
前記応答制御手段は、前記データ中継手段が前記機器に保持されている複数のデータをグループ単位に取得する場合において、前記機器から取得したグループの中に前記サーバからのデータ取得要求に応じるデータが含まれていない場合、前記データ中継手段に、前記機器に他のグループの送信を要求させることを特徴とする請求項１に記載の中継装置。
【請求項３】
前記機器がデータを、ウェブページを動的に生成するための動的コンテンツに含めて送信する場合、前記機器から送信されてきた動的コンテンツを処理する動的コンテンツ処理手段を有し、
前記応答制御手段は、前記データ取得要求により指定されたデータが前記動的コンテンツから取得できない場合、前記動的コンテンツ処理手段に、前記データ取得要求により指定されたデータが前記動的コンテンツから取得できるまで前記機器に更なるデータの送信を要求させることを特徴とする請求項１に記載の中継装置。
【請求項４】
前記応答制御手段は、前記データ取得要求により指定されたデータが前記動的コンテンツ処理手段により生成されたウェブページ上に含まれていない場合、前記動的コンテンツ処理手段にウェブページを更新させることで、前記機器に更なるデータの送信を要求させることを特徴とする請求項３に記載の中継装置。
【請求項５】
少なくとも前記応答制御手段に参照され、前記機器とデータをやり取りする際の仕様に関する情報を記憶する記憶手段と、
前記機器とデータをやり取りする際の仕様が変更された場合に変更後の仕様に関する情報を取得して前記記憶手段に記憶された仕様に関する情報を更新する更新手段と、
を有することを特徴とする請求項１に記載の中継装置。
【請求項６】
サーバと、
機器と、
前記サーバとは第１ネットワークを介して接続され、前記機器とは前記第１ネットワークとは異なる第２ネットワークを介して接続される中継装置と、
を有し、
前記中継装置は、
前記サーバから送信されてきた機器からのデータ取得要求に応じて前記機器にデータの送信を要求し、その要求に対して前記機器から送信されてきたデータを前記サーバへ送信するデータ中継手段と、
前記データ取得要求により指定されたデータが前記機器から送信されてこない場合、前記データ中継手段に、前記データ取得要求により指定されたデータが前記機器から送信されてくるまで前記機器に更なるデータの送信を要求させ、前記データ取得要求により指定されたデータが前記機器から送信されてきてはじめて当該データを前記サーバへ送信させる応答制御手段と、
を有することを特徴とするデータ通信システム。
【請求項７】
コンピュータを、
サーバから第１ネットワークを介して送信されてきた機器からのデータ取得要求に応じて、前記第１ネットワークとは異なる第２ネットワークに接続された前記機器にデータの送信を要求し、その要求に対して前記機器から送信されてきたデータを前記サーバへ送信するデータ中継手段、
前記データ取得要求により指定されたデータが前記機器から送信されてこない場合、前記データ中継手段に、前記データ取得要求により指定されたデータが前記機器から送信されてくるまで前記機器に更なるデータの送信を要求させ、前記データ取得要求により指定されたデータが前記機器から送信されてきてはじめて当該データを前記サーバへ送信させる応答制御手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、データ通信システム及びプログラム、特に外部ネットワークに接続されたサーバと、内部ネットワークに接続された機器との間のデータ通信に関する。
【背景技術】
【０００２】
ビルの内部に設置された機器に保持されているデータを、保守管理や見える化など顧客向けサービス等のためにデータセンター等ビルの外部から取得することは従来から行われている。この場合、データセンターに設置されたサーバの通信プロトコルと機器の通信プロトコルとが同じとは限らないので、ゲートウェイ装置をサーバと機器の間であってビルに設置する場合が少なくない。ゲートウェイ装置は、一方の通信プロトコルに準じたコマンド等を他方の通信プロトコルに準じたコマンド等に変換することによってサーバと機器との間における情報交換を可能としている。
【０００３】
ところで、近年では、通信手段を介してデータを提供するための機能としてウェブ機能しか持たない機器が登場している。データセンターがこのような機器からデータを取得するために、サーバは、目的とするデータを表示するためのウェブページを取得できるまで、機器に繰り返しアクセスする必要がある。この所望のデータを取得するまでの従来における処理の流れについて図１を用いて説明する。
【０００４】
図１は、データ通信システムの全体構成図である。図１には、データセンター１に設置されたサーバ２とビル３に設置された機器４、設備５及びゲートウェイ装置１０とが示されている。サーバ２とゲートウェイ装置１０は、インターネット等の外部ネットワーク６により接続され、ゲートウェイ装置１０と機器４は、ＬＡＮ等のビルの内部に構築された内部ネットワーク７により接続される。機器４は、電気設備等の１又は複数の設備５を接続し、測定値、設定値等の信号データやオン／オフ等の制御データ、あるいは警報データ等を各設備５から収集し蓄積する管理装置やコントローラ等である。機器４は、通信手段を介した情報提供機能としてウェブ機能しか持っていない。データセンター１は、サーバ２を用いて、ビル３に設置された設備５の保守管理等のために機器４からデータを取得する。
【０００５】
ここで、サーバ２が例えばデータＩＤ＝２５６の信号データを機器から取得したいとする。この場合、サーバ２は、データＩＤ＝２５６のデータの取得要求をゲートウェイ装置１０へ送信する。
【０００６】
ゲートウェイ装置１０は、サーバ２からのデータ取得要求に応じてデータの取得を機器に要求する。ただ、ゲートウェイ装置１０は、機器４の通信プロトコルの仕様に従い、複数のデータを含むブロック単位（例えば、１００データずつ）で機器４からデータを取得することになる。それも、先頭のブロックから１ブロックずつ順番に取得することになる。
【０００７】
従って、ゲートウェイ装置１０は、サーバ２からのデータ取得要求に応じて最初のブロックの取得要求を機器へ送信する。機器４は、この要求に応じてデータＩＤ＝１〜１００のデータをゲートウェイ装置１０へ送る。より詳細には、データＩＤ＝１〜１００のデータを画面表示するためのウェブページをゲートウェイ装置１０へ送る。ゲートウェイ装置１０は、このように機器４から取得したウェブページをサーバ２へ送信する。
【０００８】
サーバ２は、データ取得要求に応じてウェブページをゲートウェイ装置１０から取得するが、この取得したウェブページの中にはデータＩＤ＝１〜１００のデータが含まれており、データＩＤ＝２５６のデータは含まれていない。サーバ２は、取得したウェブページにデータＩＤ＝２５６のデータが含まれていないことを確認すると、そのウェブページに含まれている「次へ」ボタンを選択した旨を示すデータ取得要求をゲートウェイ装置１０へ送信する。
【０００９】
ゲートウェイ装置１０、サーバ２からのデータ取得要求に応じて次のブロックの取得を機器４に要求する。機器４は、この要求に応じて次のデータＩＤ＝１０１〜２００のデータを画面表示するためのウェブページをゲートウェイ装置１０へ送る。そして、ゲートウェイ装置１０は、機器４から取得したウェブページをサーバ２へ送信する。
【００１０】
サーバ２は、データ取得要求に応じてウェブページをゲートウェイ装置１０から取得するが、この取得したウェブページの中にはデータＩＤ＝１０１〜２００のデータが含まれており、データＩＤ＝２５６のデータは含まれていない。サーバ２は、取得したウェブページにデータＩＤ＝２５６のデータが含まれていないことを確認すると、そのウェブページに含まれている「次へ」ボタンを選択した旨を示すデータ取得要求をゲートウェイ装置１０へ送信する。
【００１１】
ゲートウェイ装置１０は、サーバ２からのデータ取得要求に応じて次のブロックの取得を機器４に要求する。機器４は、この要求に応じて次のデータＩＤ＝２０１〜３００のデータを画面表示するためのウェブページをゲートウェイ装置１０へ送る。そして、ゲートウェイ装置１０は、機器４から取得したウェブページをサーバ２へ送信する。
【００１２】
サーバ２は、データ取得要求に応じてウェブページをゲートウェイ装置１０から取得するが、この取得したウェブページの中にはデータＩＤ＝２０１〜３００のデータが含まれており、よってデータＩＤ＝２５６のデータが含まれている。このようにして、サーバ２は、取得対象のデータを取得することができる。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００８−１５８７１６号公報
【特許文献２】特開２００６−４２１６４号公報
【特許文献３】特開２００９−２２４８５２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
従来においては、サーバは、前述したようにデータ取得要求を発してから取得対象のデータが取得できるまでゲートウェイ装置との間で無駄なデータ通信を実施しなければならない場合があった。つまり、従来においては、サーバに無用な負荷がかかり、また、ネットワーク通信量を増大させてしまう可能性があった。
【００１５】
本発明は、サーバが目的とするデータを取得するまでの間にサーバにかかる負荷及びサーバとゲートウェイ装置との間のネットワークにかかる負荷の増大を回避することを目的とする。
【課題を解決するための手段】
【００１６】
本発明に係る中継装置は、サーバから第１ネットワークを介して送信されてきた機器からのデータ取得要求に応じて、前記第１ネットワークとは異なる第２ネットワークに接続された前記機器にデータの送信を要求し、その要求に対して前記機器から送信されてきたデータを前記サーバへ送信するデータ中継手段と、前記データ取得要求により指定されたデータが前記機器から送信されてこない場合、前記データ中継手段に、前記データ取得要求により指定されたデータが前記機器から送信されてくるまで前記機器に更なるデータの送信を要求させ、前記データ取得要求により指定されたデータが前記機器から送信されてきてはじめて当該データを前記サーバへ送信させる応答制御手段と、を有するものである。
【００１７】
また、前記応答制御手段は、前記データ中継手段が前記機器に保持されている複数のデータをグループ単位に取得する場合において、前記機器から取得したグループの中に前記サーバからのデータ取得要求に応じるデータが含まれていない場合、前記データ中継手段に、前記機器に他のグループの送信を要求させるものである。
【００１８】
また、前記機器がデータを、ウェブページを動的に生成するための動的コンテンツに含めて送信する場合、前記機器から送信されてきた動的コンテンツを処理する動的コンテンツ処理手段を有し、前記応答制御手段は、前記データ取得要求により指定されたデータが前記動的コンテンツから取得できない場合、前記動的コンテンツ処理手段に、前記データ取得要求により指定されたデータが前記動的コンテンツから取得できるまで前記機器に更なるデータの送信を要求させるものである。
【００１９】
また、前記応答制御手段は、前記データ取得要求により指定されたデータが前記動的コンテンツ処理手段により生成されたウェブページ上に含まれていない場合、前記動的コンテンツ処理手段にウェブページを更新させることで、前記機器に更なるデータの送信を要求させるものである。
【００２０】
また、少なくとも前記応答制御手段に参照され、前記機器とデータをやり取りする際の仕様に関する情報を記憶する記憶手段と、前記機器とデータをやり取りする際の仕様が変更された場合に変更後の仕様に関する情報を取得して前記記憶手段に記憶された仕様に関する情報を更新する更新手段と、を有するものである。
【００２１】
本発明に係るデータ通信システムは、サーバと、機器と、前記サーバとは第１ネットワークを介して接続され、前記機器とは前記第１ネットワークとは異なる第２ネットワークを介して接続される中継装置と、を有し、前記中継装置は、前記サーバから送信されてきた機器からのデータ取得要求に応じて前記機器にデータの送信を要求し、その要求に対して前記機器から送信されてきたデータを前記サーバへ送信するデータ中継手段と、前記データ取得要求により指定されたデータが前記機器から送信されてこない場合、前記データ中継手段に、前記データ取得要求により指定されたデータが前記機器から送信されてくるまで前記機器に更なるデータの送信を要求させ、前記データ取得要求により指定されたデータが前記機器から送信されてきてはじめて当該データを前記サーバへ送信させる応答制御手段と、を有するものである。
【００２２】
本発明に係るプログラムは、コンピュータを、サーバから第１ネットワークを介して送信されてきた機器からのデータ取得要求に応じて、前記第１ネットワークとは異なる第２ネットワークに接続された前記機器にデータの送信を要求し、その要求に対して前記機器から送信されてきたデータを前記サーバへ送信するデータ中継手段、前記データ取得要求により指定されたデータが前記機器から送信されてこない場合、前記データ中継手段に、前記データ取得要求により指定されたデータが前記機器から送信されてくるまで前記機器に更なるデータの送信を要求させ、前記データ取得要求により指定されたデータが前記機器から送信されてきてはじめて当該データを前記サーバへ送信させる応答制御手段、として機能させるためのものである。
【発明の効果】
【００２３】
本発明によれば、サーバが目的とするデータを取得するまでの間にサーバにかかる負荷及びサーバとゲートウェイ装置との間のネットワークにかかる負荷の増大を回避することができる。
【００２４】
また、機器がデータを動的コンテンツに含めて送信する場合にも対応可能である。
【００２５】
また、機器とデータをやり取りする際の仕様が変更された場合にも対応可能である。
【図面の簡単な説明】
【００２６】
【図１】本発明に係るデータ通信システムの一実施の形態を示す全体構成図である。
【図２】実施の形態１におけるゲートウェイ装置のハードウェア構成図である。
【図３】実施の形態１におけるゲートウェイ装置のブロック構成図である。
【図４】実施の形態１におけるコマンド記憶部に予め設定されているコマンド情報の一例を示した図である。
【図５】実施の形態１における判断規則記憶部に予め設定されている判断規則情報の一例を示した図である。
【図６】実施の形態１における応答規則記憶部に予め設定されている応答規則情報の一例を示した図である。
【図７】実施の形態１におけるゲートウェイ装置が実施する処理全体の概要を示したフローチャートである。
【図８】実施の形態１におけるコマンド変換処理を示したフローチャートである。
【図９】実施の形態１においてコマンドに含まれる変数の初期規則を示した図である。
【図１０】実施の形態１における応答判断処理を示したフローチャートである。
【図１１】実施の形態１において応答メッセージに含まれる変数の初期規則を示した図である。
【図１２】実施の形態１における応答生成処理を示したフローチャートである。
【図１３】実施の形態２におけるゲートウェイ装置のブロック構成図である。
【図１４】実施の形態３におけるゲートウェイ装置のブロック構成図である。
【発明を実施するための形態】
【００２７】
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
【００２８】
実施の形態１．
図１は、本発明に係るデータ通信システムの一実施の形態を示す全体構成図である。本実施の形態におけるデータ通信システムの全体構成は従来と同じでよい。本実施の形態におけるデータ通信システムは、ゲートウェイ装置１０が持つ機能に特徴を有している。図１には、データセンター１に設置されたサーバ２と、ビル３に設置された機器４、設備５及びゲートウェイ装置１０と、が示されている。サーバ２とゲートウェイ装置１０は、インターネット等の第１ネットワークとしての外部ネットワーク６により接続される。また、ゲートウェイ装置１０と機器４は、ＬＡＮ等のビルの内部に構築された、第１ネットワークとは異なる第２ネットワークとしての内部ネットワーク７により接続される。機器４は、電気設備等の１又は複数の設備５を接続し、測定値、設定値等の信号データやオン／オフ等の制御データ、あるいは警報データ等を設備５から収集し蓄積する管理装置やコントローラ等により実現される。機器４は、通信手段を介した情報提供機能としてウェブ機能しか持たないものとする。
【００２９】
データセンター１は、サーバ２を用いて、ビル３に設置された設備５の保守管理や見える化など顧客向けサービス等のために機器４からデータを取得する。なお、データセンター１は、１又は複数のビル３から情報を取得するが、各ビル３は同等の装置構成を有しているので便宜的に１つのビル３のみ図示した。また、内部ネットワーク７には、複数の機器４が接続されているかもしれないが、各機器４とも同等の構成を有しているので便宜的に１台のみ図示した。
【００３０】
図２は、本実施の形態におけるゲートウェイ装置１０のハードウェア構成図である。本実施の形態におけるゲートウェイ装置１０は、コンピュータを搭載し、従前から存在する汎用的なハードウェア構成で実現できる。すなわち、ゲートウェイ装置１０は、図２に示したようにＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、ハードディスクドライブ（ＨＤＤ）３４、通信手段として設けられ、外部ネットワーク接続用の外部ネットワークインタフェース（ＩＦ）３５及び内部ネットワーク接続用の内部ネットワークインタフェース（ＩＦ）３６を内部バス３７に接続して構成される。なお、図示していないが、環境設定等のためにコンピュータを接続可能なインタフェースを設けてもよい。
【００３１】
図３は、本実施の形態におけるゲートウェイ装置１０のブロック構成図である。なお、本実施の形態において説明に用いない構成要素に関しては図から省略している。本実施の形態におけるゲートウェイ装置１０は、上位通信部１１、下位通信部１２、中継部１３、応答判断部１４、コマンド記憶部２１、判断規則記憶部２２及び応答規則記憶部２３を有している。上位通信部１１、下位通信部１２及び中継部１３は、データ中継手段として設けられており、サーバ２から送信されてきた機器４からのデータ取得要求に応じて、機器４にデータの取得を要求し、その要求に対して機器４から応答されてきたデータをサーバ２へ送信する。このうち、上位通信部１１は、外部ネットワーク６を介してサーバ２との間でデータ通信を行う。下位通信部１２は、内部ネットワーク７を介して機器４との間でデータ通信を行う。
【００３２】
サーバ２の通信プロトコルと機器４の通信プロトコルとは必ずしも同じでない。そこで、中継部１３は、サーバ２の通信プロトコルに準じたコマンドを機器４の通信プロトコルに準じたコマンドに変換するなどして機器用のコマンドを生成するコマンド生成部１３１と、機器４の通信プロトコルに準じた応答メッセージをサーバ２の通信プロトコルに準じた応答メッセージに変換するなどして、サーバ２からのデータ取得要求に対する応答メッセージを生成する応答生成部１３２と、応答判断部１４からの指示に応じてコマンド生成部１３１あるいは応答生成部１３２にコマンド等を生成させるよう実行制御する生成制御部１３３と、を有する。
【００３３】
応答判断部１４は、応答制御手段として設けられ、サーバ２からのデータ取得要求により指定されたデータが機器４から送信されてこない場合、中継部１３に、データ取得要求により指定されたデータが機器４から送信されてくるまで機器４に更なるデータの送信を要求させ、データ取得要求により指定されたデータが機器４から送信されてきてはじめてデータ取得要求により指定されたデータをサーバ２へ送信させるよう指示する。なお、本実施の形態における機器４は、中継部１３からのデータ取得要求に応じて、１又は複数のデータを表示するためのウェブページ（ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）文書）を応答メッセージとして返信するが、本実施の形態では、上記のように機器４がゲートウェイ装置１０へ送信するのは単に「データ」と簡略して説明する場合もある。
【００３４】
図４は、本実施の形態におけるコマンド記憶部２１に予め設定されているコマンド情報の一例を示した図である。コマンド情報には、サーバ２の通信プロトコルに準じたコマンドを識別する上位コマンド番号、当該コマンドにおけるサブ番号及び当該コマンドを機器４の通信プロトコルに準じたコマンドに変換するためのコマンド雛形が含まれている。コマンド生成部１３１は、このコマンド情報を参照して機器用のコマンドの変換、生成を行う。
【００３５】
図５は、本実施の形態における判断規則記憶部２２に予め設定されている判断規則情報の一例を示した図である。判断規則情報には、前述した上位コマンド番号及びサブ番号、機器４から送信されてくる応答メッセージの構文により表される判断規則、次処理及び次サブ番号が含まれている。各項目の詳細については動作と合わせて説明する。応答判断部１４は、この判断規則情報を参照して機器４から受け取ったデータ（応答メッセージ）を解析し、機器４から別のデータを取得するか、あるいは取得したデータをサーバ２へ送信するかを判断して中継部１３に次の処理を指示する。
【００３６】
図６は、本実施の形態における応答規則記憶部２３に予め設定されている応答規則情報の一例を示した図である。応答規則情報には、前述した上位コマンド番号、当該コマンドに対する応答メッセージの雛形（応答雛形）が含まれている。応答生成部１３２は、この応答規則情報を参照して機器４から送信されてきたデータを含む応答メッセージをサーバ２の通信プロトコルに準じた応答メッセージに変換することで生成する。
【００３７】
ゲートウェイ装置１０における各構成要素１１〜１４は、ゲートウェイ装置１０に搭載されたコンピュータと、コンピュータに搭載されたＣＰＵ３１で動作するプログラムとの協調動作により実現される。また、各記憶部２１〜２３は、ゲートウェイ装置１０に搭載されたＨＤＤ３４にて実現される。あるいは、ＲＡＭ３３又は外部にある記憶手段をネットワーク経由で利用してもよい。
【００３８】
また、本実施の形態で用いるプログラムは、通信手段により提供することはもちろん、ＣＤ−ＲＯＭやＵＳＢメモリ等のコンピュータ読み取り可能な記録媒体に格納して提供することも可能である。通信手段や記録媒体から提供されたプログラムはコンピュータにインストールされ、コンピュータのＣＰＵがプログラムを順次実行することで各種処理が実現される。
【００３９】
次に、本実施の形態における動作について説明する。ここでは、サーバ２が機器４に保存されているデータＩＤ＝２５６で識別される信号データを取得する場合を例にして説明する。
【００４０】
サーバ２は、データＩＤ＝２５６の信号データを取得するためにデータ取得要求としてコマンド“ＧＥＴ／ｓｉｇｎａｌ？ｎｏ＝２５６  ＨＴＴＰ／１．１”をゲートウェイ装置１０へ送信する。なお、このコマンドに含まれる“２５６”はデータＩＤを示している。以下、コマンドを受信したゲートウェイ装置１０における処理全体の概要について図７に示したフローチャートを用いて説明する。
【００４１】
ゲートウェイ装置１０における上位通信部１１がサーバ２から送信されてきたコマンドを受信すると（ステップ１００）、中継部１３におけるコマンド生成部１３１は、コマンド記憶部２１に設定されたコマンド情報を参照して、受信したコマンドを機器４の通信プロトコルに準じたコマンドに変換することで機器用のコマンドを生成する（ステップ２００）。下位通信部１２は、中継部１３において生成されたコマンドを機器４に送信することで、サーバ２により要求されたデータの送信を要求する（ステップ３００）。機器４は、コマンドを実行することで取得したデータ（実行結果）をゲートウェイ装置１０へ送信する。具体的には、機器４は、ゲートウェイ装置１０からの要求に応じてデータを画面表示するためのウェブページを送信することになる。
【００４２】
下位通信部１２が機器４から送信されてきたデータを取得すると（ステップ４００）、応答判断部１４は、判断規則記憶部２２に記憶された判断規則を参照して、受信したデータを解析し、次に実施すべき処理を決定する（ステップ５００）。決定した処理が機器４からのデータ取得の場合、すなわち、サーバ２により要求されたデータ（データＩＤ＝２５６のデータ）が機器４から取得したデータの中に含まれていない場合（ステップ６００でＮ）、応答判断部１４は、中継部１３における生成制御部１３３に機器４からのデータ取得を指示する。生成制御部１３３は、応答判断部１４からの指示に応じてコマンド生成部１３１にコマンドの生成を指示する。コマンド生成部１３１は、この指示に応じて機器４からデータを取得するためのコマンドを生成する（ステップ２００）。なお、上記ステップ２００〜５００は、サーバ２により要求されたデータが機器４から取得できるまで繰り返し実行される。
【００４３】
一方、決定した処理がサーバ２への応答の場合、すなわち、サーバ２により要求されたデータが機器４から取得したデータの中に含まれていた場合（ステップ６００でＹ）、応答判断部１４は、中継部１３における生成制御部１３３にサーバ２へのデータ送信のための応答メッセージの生成を指示する。生成制御部１３３は、応答判断部１４からの指示に応じて応答生成部１３２に応答メッセージの生成を指示する。応答生成部１３２は、この指示に応じて応答規則記憶部２３に記憶された応答規則情報を参照して、当該データをサーバ２へ送信するための応答メッセージを生成する（ステップ７００）。そして、上位通信部１１は、応答生成部１３２により生成されたコマンドをサーバ２へ送信する（ステップ８００）。このようにして、ゲートウェイ装置１０は、サーバ２からのデータ取得要求に応じて、要求されたデータを送信する。
【００４４】
以上がゲートウェイ装置１０における処理の概要であるが、次に、ステップ２００を実施するコマンド生成部１３１におけるコマンド変換処理の詳細について図８に示したフローチャートを用いて説明する。
【００４５】
上位通信部１１が受信したコマンドを受け取ると（ステップ２０１）、コマンド生成部１３１は、まず、コマンドの生成に用いる各種変数を適宜初期化する（ステップ２０３）。コマンド生成時における初期化規則を図９に示す。コマンド生成部１３１は、信号データの取得要求に対しては、サブ番号＝１、ｐｐ（ページ番号）＝１、そして変数ｎｏを“２５６”で初期化する。警報データを取得するためのコマンド“ＧＥＴ／ａｌａｒｍ？ｎｏ＝ｘ  ＨＴＴＰ／１．１”に対しても信号データと同様の初期化を実施する。なお、図９に示した変数ｄａｔａは、“ＧＥＴ／ｓｔａｒｔｓｔｏｐ？ｎｏ＝ｘ＆ｄａｔａ＝ｙ  ＨＴＴＰ／１．１”というフォーマット（構文）で表される制御用のコマンドに含まれている。
【００４６】
続いて、コマンド生成部１３１は、コマンド記憶部２１を参照し、受け取ったコマンド“ＧＥＴ／ｓｉｇｎａｌ？ｎｏ＝２５６  ＨＴＴＰ／１．１”を解析することで“ｓｉｇｎａｌ”という上位コマンドに該当するコマンドであることを特定すると、上位コマンド番号＝１、サブ番号＝１及びコマンド雛形を取得する（ステップ２０４）。なお、この例では、初期値及びステップ２０４で取得したサブ番号は共に１であるが、初期値を、取得したサブ番号で更新する。そして、コマンド生成部１３１は、コマンド雛形に変数を代入することで機器用のコマンドを生成する（ステップ２０５）。具体的には、“／ｋａｎｒｉｌｉｓｔ？ｐａｇｅ＝１”と生成する。
【００４７】
なお、コマンド生成部１３１は、前述したように上位通信部１１がサーバ２からのコマンドを受信した場合と、応答判断部１４からの指示に応じて処理を実行するが、後者の処理については追って説明する。また、ステップ２０４においてコマンド生成部１３１により取得されたデータは、ＲＡＭ３３等に記憶し、ゲートウェイ装置１０における他の構成要素からも参照可能に保持しておく。
【００４８】
下位通信部１２が以上のようにして生成されたコマンドを機器４に送信すると（ステップ３００）、機器４は、内部に蓄積しているデータの中からコマンドにより指定されたデータを抽出して返信する。本実施の形態における機器４は、内部に保持しているデータそれぞれに識別情報（データＩＤ）を割り当てて管理している。そして、データをページ（グループ）単位に提供する。本実施の形態における機器４は、データをデータＩＤの順番に並べ、１ページに１００データが含まれるようにページ画面を生成する。ここでは、コマンドにページ番号＝１が設定されているので、機器４は、１ページ目に含まれるデータ、すなわちデータＩＤ＝１〜１００のデータを抽出し、そのデータを含むウェブページを応答メッセージとしてゲートウェイ装置１０へ送信することになる。ゲートウェイ装置１０は、機器４からデータをグループ単位に取得するが、このグループというのは、機器４が生成するページと同義である。
【００４９】
送信したコマンドに対する実行結果を含む応答メッセージを下位通信部１２が機器４から取得すると（ステップ４００）、応答判断部１４は、次に処理すべき処理を決定する（ステップ５００）。以下、ステップ５００を実施する応答判断部１４における応答判断処理の詳細について図１０に示したフローチャートを用いて説明する。なお、サーバ２から送られてきたコマンドがサブ番号＝２のときのｓｔａｒｔｓｔｏｐコマンドの場合にはステップ５００，６００は実行する必要がないので、この処理は実行されない。
【００５０】
応答判断部１４は、まずコマンド生成部１３１が取得した上位コマンド番号及びサブ番号を取得し（ステップ５０１）、この上位コマンド番号及びサブ番号で判断規則記憶部２２を検索することで上位コマンド及びサブ番号の組に対応する判断規則情報を取得する（ステップ５０２）。そして、後述する変数“ｎｅｘｔ”の初期値として、判断規則情報に含まれる次処理の設定値を設定する（ステップ５０３）。信号データを取得するこの例では、“ｒｅｑｕｅｓｔ”が設定される。なお、応答判断部１４が取り扱う変数を図１１に示している。
【００５１】
ところで、機器４からのデータは、図５に示した判断規則情報に含まれる判断規則に示したフォーマットに従って送られてくる。例えば、信号データは、“ｋａｎｒｉｉｄ＝“ｎｏ”＆ｓｈｉｎｇｏｕ＝“ｓｉｇｎａｌ””という構文に従い記載されて送られてくる。本実施の形態の場合、１ページ内に１００データが含まれているので、機器４からは、“ｋａｎｒｉｉｄ＝“１”＆ｓｈｉｎｇｏｕ＝“１２．３””から“ｋａｎｒｉｉｄ＝“１００”＆ｓｈｉｎｇｏｕ＝“４５．６””までの１００データがリスト形式でまとめて送られてくる。なお、ｓｈｉｎｇｏｕに対応付けされるデータ値“１２．３”と“４５．６”は一例である。
【００５２】
ここで、応答判断部１４は、サーバ２から送られてきた取得対象のデータ（データＩＤ＝２５６）と、機器４から取得した１００データそれぞれの“ｎｏ”に設定されたデータＩＤとを比較する。
【００５３】
ここでは、ゲートウェイ装置１０は、データＩＤ＝１〜１００のデータを取得していることになるので、取得対象のデータ（データＩＤ＝２５６）と合致するデータが機器４から取得したデータに含まれていない。この場合（ステップ５０４でＮ）、応答判断部１４は、機器４からのデータ取得が継続して実行可能かどうかを判断する。例えば、機器４が保持している全ページをすでに取得した場合や、機器４から今までと異なる構文（図５に示した判断規則）のＨＴＭＬ文書が送信されてきた場合などは、継続して実行することはできない。継続して実行できないと判断した場合（ステップ５０７でＮ）、応答判断部１４は、正常に処理できないことを示す“ＮＧ”を変数ｒｅｓｐｏｎｓｅｃｏｄｅに、、サーバ２へ応答する旨の“ｒｅｓｐｏｎｓｅ”を変数ｎｅｘｔに、それぞれ設定する（ステップ５１０）。そして、応答判断部１４は、生成制御部１３３に対して、応答生成部１３２による応答メッセージの生成を指示する（ステップ５１１）。
【００５４】
一方、機器４からのデータ取得を継続して実行できると判断した場合（ステップ５０７でＹ）、応答判断部１４は、正常に処理できたことを示す“ＯＫ”を変数ｒｅｓｐｏｎｓｅｃｏｄｅに設定する（ステップ５０８）。なお、機器４へデータ取得を要求する旨の“ｒｅｑｕｅｓｔ”は変数ｎｅｘｔに初期設定済みである。ここでは、ゲートウェイ装置１０は、データＩＤ＝１〜１００のデータを取得しているので、変数ｒｅｓｐｏｎｓｅｃｏｄｅには“ＯＫ”が、変数ｎｅｘｔには“ｒｅｑｕｅｓｔ”が、それぞれ設定されている。そして、応答判断部１４は、生成制御部１３３に対して、コマンド生成部１３１によるコマンドの生成を指示する（ステップ５０９）。
【００５５】
図８において、生成制御部１３３が応答判断部１４からコマンドの生成の指示を受けた場合（ステップ２０１，２０２でＮ）、コマンド生成部１３１は、変数ｐｐに１加算することで取得するページ番号を更新する（ステップ２０６）。そして、コマンド生成部１３１は、コマンド雛形に変数を代入することで機器用のコマンドを生成する（ステップ２０５）。具体的には、“／ｋａｎｒｉｌｉｓｔ？ｐａｇｅ＝２”と、２ページ目に含まれるデータを取得するためのコマンドを生成する。
【００５６】
下位通信部１２がコマンドを機器４に送信し、その送信されたコマンドによって機器４が得たデータ（実行結果）をゲートウェイ装置１０に送信する処理（ステップ３００，４００）は上記と同様なので説明を省略するが、ここでは、ゲートウェイ装置１０は、データＩＤ＝１０１〜２００のデータを取得することになる。また、データＩＤ＝１０１〜２００のデータには、取得対象のデータ（データＩＤ＝２５６）と合致するデータが含まれていないので、応答判断部１４は、前述したデータＩＤ＝１〜１００のデータを取得した場合と同じ処理を行う。この場合の処理の説明は省略する。
【００５７】
そして、図８において、生成制御部１３３が応答判断部１４からコマンドの生成の指示を受けた場合（ステップ２０１，２０２でＮ）、コマンド生成部１３１は、変数ｐｐに１加算することでページ番号を更新することで（ステップ２０６）、“／ｋａｎｒｉｌｉｓｔ？ｐａｇｅ＝３”という機器用のコマンドを生成する（ステップ２０５）。
【００５８】
このようにして、ゲートウェイ装置１０がデータＩＤ＝２０１〜３００のデータを機器４から取得すると、この取得したデータの中には取得対象のデータ（データＩＤ＝２５６）と合致するデータが含まれている。この場合（ステップ５０４でＹ）、応答判断部１４は、サーバ２への応答に必要な各変数に値を設定する（ステップ５０５）。この例のように取得対象のデータが信号データの場合、受信結果のｋａｎｒｉｉｄに設定されたｎｏ（データＩＤ、この例では、２５６）を変数ｎｏに、受信結果のｓｈｉｎｇｏｕに設定されたｓｉｇｎａｌ（データＩＤ＝２５６のデータ値）を変数ｓｉｇｎａｌに、正常に処理できたことを示す“ＯＫ”を変数ｒｅｓｐｏｎｓｅｃｏｄｅに、そして、サーバ２へ応答する旨の“ｒｅｓｐｏｎｓｅ”を変数ｎｅｘｔに、それぞれ設定する。そして、応答判断部１４は、生成制御部１３３に対して、応答生成部１３２による応答メッセージの生成を指示する（ステップ５０６）。
【００５９】
サーバ２に応答メッセージを送信する場合（ステップ６００でＹ）、換言すると変数ｎｅｘｔに“ｒｅｓｐｏｎｓｅ”が設定されている場合、応答生成部１３２は、応答メッセージを生成するが（ステップ７００）、この応答生成部１３２における応答生成処理について図１２に示したフローチャートを用いて説明する。
【００６０】
応答生成部１３２は、コマンド生成部１３１が抽出している上位コマンド番号に基づき応答規則記憶部２３を検索することで応答雛形を取得する（ステップ７０１）。そして取得した雛形の各変数に応答判断部１４により設定された値をそれぞれ設定することでサーバ２へ送信する応答メッセージを生成する（ステップ７０２）。本実施の形態において例示している信号データの場合、サーバ２からのデータ取得要求に対し、データＩＤ＝２５６のデータ値が“２３．４”の場合、応答生成部１３２は、“ｒｅｓｐｏｎｓｅｃｏｄｅ＝ＯＫ＆ｎｏ＝２５６＆ｒｅｓｕｌｔ＝２３．４”という応答メッセージを生成する。
【００６１】
そして、上位通信部１１は、サーバ２からのデータ取得要求に対して応答生成部１３２により生成された応答メッセージを送信する（ステップ８００）。
【００６２】
本実施の形態によれば、以上のようにしてサーバ２からのデータ取得要求に応じて要求されたデータを送信する。前述した例のようにデータＩＤ＝２５６のデータを取得対象とした場合、従来においては、サーバ２はデータＩＤ＝１〜１００，１０１〜２００に対するウェブ画面がゲートウェイ装置１０から送られてくるので、これらに対応する必要があった。すなわち、取得対象のデータを取得するまでにゲートウェイ装置１０との間で３回情報の授受を行う必要があった。
【００６３】
これに対し、本実施の形態においては、サーバ２は、データ取得要求をしてから取得対象のデータを取得するまでの間に何の対応もする必要がない。すなわち、送信したデータ取得要求に対してダイレクトに取得対象のデータを取得することができる。これにより、サーバ２は、従来に比してデータを取得するのにかかる負荷を軽減できる。また、サーバ２が取得対象のデータを取得するまでの間にサーバ２とゲートウェイ装置１０との間で何のデータ通信も発生しないので、従来に比して外部ネットワーク６にかかる負荷を軽減することができる。
【００６４】
実施の形態２．
上記実施の形態１では、機器４は、ＨＴＭＬで記載された文書をゲートウェイ装置１０へ送信し、ゲートウェイ装置１０における応答判断部１４がその文書を解析し、サーバ２により要求されたデータが取得できていないときにはコマンド生成部１３１にデータ取得のコマンドを再度生成させるようにした。本実施の形態では、機器４が動的コンテンツの一例としてスクリプトを送信する場合を例にして説明する。
【００６５】
図１３は、本実施の形態におけるゲートウェイ装置１０のブロック構成図である。なお、実施の形態１と同じ構成要素には同じ符号を付け説明を適宜省略する。本実施の形態におけるゲートウェイ装置１０は、実施の形態１にページ処理部１５を追加した構成を有している。ページ処理部１５は、動的コンテンツ処理手段として設けられ、機器４がデータを、ウェブページを動的に生成するための動的コンテンツに含めて送信する場合、前記機器から送信されてきた動的コンテンツを処理する。なお、本実施の形態におけるハードウェア構成及び各構成要素における処理は、以下に説明する以外は実施の形態１と同じでよいので説明を省略する。
【００６６】
続いて、本実施の形態における動作について説明すると、サーバ２からのデータ取得要求に応じてコマンド生成部１３１が生成したコマンドを機器４へ送るところまでは実施の形態１と同じでよい。本実施の形態では、機器４がコマンドの実行結果をスクリプトで返す場合である。この場合、下位通信部１２が機器４からスクリプトを受信すると、ページ処理部１５は、そのスクリプトを処理して機器４から取得したデータを表示するウェブページを生成して仮想的に表示する。
【００６７】
応答判断部１４は、仮想的に表示された内容を参照して、サーバ２から要求されたデータが表示されているかを確認する。そして、表示されていないと判断した場合、換言すると機器４からのスクリプトに、データ取得要求により指定されたデータが含まれていない場合、ウェブページ上の「次へ」ボタンを選択することをページ処理部１５に指示する。ページ処理部１５は、この指示に応じてボタン操作を行うことで、その操作指示を下位通信部１２を介して機器４へ送信する。これをサーバ２から要求されたデータが表示されるまで繰り返し実行する。そして、サーバ２から要求されたデータが画面表示されると、換言するとサーバ２から要求されたデータを機器４から取得できた後の処理は実施の形態１と同じでよいので説明を省略する。
【００６８】
なお、本実施の形態では、ページ処理部１５にスクリプトを処理させることによってウェブページを仮想的に生成させるようにしたが、スクリプトの構文を解析してサーバ２から要求されたデータの有無を確認するようにしてもよい。また、本実施の形態では、データ取得要求により指定されたデータをスクリプトに直接含める場合を想定したが、スクリプトに含まれているデータをスクリプトに含まれている計算式に代入し算出するなどしてもデータ取得要求により指定されたデータを間接的に得るようにしてもよい。いずれにしても、本実施の形態では、データ取得要求により指定されたデータがスクリプトから取得できるまで機器４に更なるデータの送信を要求させることになる。また、本実施の形態では、動的コンテンツとしてスクリプトを例にして説明したが、ＦＬＡＳＨ（登録商標）やＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）５などを用いてもよい。
【００６９】
実施の形態３．
上記各実施の形態では、応答判断部１４が機器４から送信されてくるウェブ画面（ＨＴＭＬ文書）を解析することによってサーバ２により要求されたデータが送信されてきたかを判断している。ただ、機器４が送信するウェブ画面（ＨＴＭＬ文書）の構文の変更等機器４とやり取りする際の仕様が変更されると、応答判断部１４は、ＨＴＭＬ文書の解析を正常に行うことができなってしまう可能性が生じてくる。そこで、本実施の形態においては、このような仕様の変更にも対応できるようにしたことを特徴としている。
【００７０】
図１４は、本実施の形態におけるゲートウェイ装置１０のブロック構成図である。なお、実施の形態１と同じ構成要素には同じ符号を付け説明を適宜省略する。本実施の形態におけるゲートウェイ装置１０は、実施の形態１に更新データ取得部１６を追加した構成を有している。更新データ取得部１６は、更新手段として設けられ、機器４とデータをやり取りする際の仕様が変更された場合に変更後の仕様に関する情報を取得して判断規則記憶部２２に記憶された仕様に関する情報を更新する。なお、本実施の形態におけるハードウェア構成及び各構成要素における処理は、以下に説明する以外は実施の形態１と同じでよいので説明を省略する。
【００７１】
続いて、本実施の形態における動作について説明すると、例えば機器４が送信するＨＴＭＬ文書の仕様が変更されたことにより、応答判断部１４がＨＴＭＬ文書を正常に解析できなくなったとする。これは、図１０におけるステップ５０７において次の処理の実行が不可能な場合に該当する。実施の形態１では、異常が発生したとして応答判断部１４は処理を終了するが、本実施の形態では、更新データ取得部１６にその旨を伝える。そして、更新データ取得部１６は、サーバ２に最新の仕様情報の送信を要求する。なお、データセンター１では、ビル３の機器４においてウェブ画面の仕様が変更されていることを事前に認識しており、その変更後の最新のウェブ画面に対応した仕様情報を保持している。従って、サーバ２は、更新データ取得部１６からの送信要求に応じて機器４の仕様情報をゲートウェイ装置１０へ送信する。
【００７２】
サーバ２から送信されてきた仕様情報を取得すると、更新データ取得部１６は、その仕様情報で判断規則記憶部２２に記憶されている判断規則情報、具体的には判断規則に設定されている構文を更新する。判断規則情報が更新されたことを認識すると、応答判断部１４は、図１０におけるステップ５０４から処理を継続して実行する。
【００７３】
本実施の形態によれば、以上のようにして機器４が送信するウェブ画面の仕様が変更された場合にも自動的に対応することが可能である。
【００７４】
なお、本実施の形態では、機器４が送信するＨＴＭＬ文書の変更に着目して説明したが、機器４の通信プロトコルのバージョンアップや変更等が実施された場合、更新データ取得部１６は、サーバ２からその変更後の通信プロトコルに関する仕様情報を取得して、判断規則記憶部２２のみならず、必要に応じてコマンド記憶部２１に設定されているコマンド雛形を更新するようにしてもよい。なお、サーバ２の通信プロトコルの仕様が変更された場合もサーバ２と機器４との間のデータ通信が継続してできるように、更新データ取得部１６は、応答規則記憶部２３に設定されている応答雛形を適宜変更する。
【００７５】
本実施の形態によれば、以上説明したように、サーバ２が要求するデータを、サーバ２及び外部ネットワーク６に負荷をかけることなくサーバ２に提供することができる。上記各実施の形態においては、ゲートウェイ装置１０を設備５の監視、管理のためのビル監視システム等のデータ通信システムに適用した場合を例にして説明したが、他の目的のデータ通信システムに適用してもい。
【符号の説明】
【００７６】
１  データセンター、２  サーバ、３  ビル、４  機器、５  設備、６  外部ネットワーク、７  内部ネットワーク、１０  ゲートウェイ装置、１１  上位通信部、１２  下位通信部、１３  中継部、１４  応答判断部、１５  ページ処理部、１６  更新データ取得部、２１  コマンド記憶部、２２  判断規則記憶部、２３  応答規則記憶部、３１  ＣＰＵ、３２  ＲＯＭ、３３  ＲＡＭ、３４  ハードディスクドライブ（ＨＤＤ）、３５  外部ネットワークインタフェース（ＩＦ）、３６  内部ネットワークインタフェース（ＩＦ）、３７  内部バス、１３１  コマンド生成部、１３２  応答生成部、１３３  生成制御部。
【図１】
2016136297.tif 000003
【図２】
2016136297.tif 000004
【図３】
2016136297.tif 000005
【図４】
2016136297.tif 000006
【図５】
2016136297.tif 000007
【図６】
2016136297.tif 000008
【図７】
2016136297.tif 000009
【図８】
2016136297.tif 000010
【図９】
2016136297.tif 000011
【図１０】
2016136297.tif 000012
【図１１】
2016136297.tif 000013
【図１２】
2016136297.tif 000014
【図１３】
2016136297.tif 000015
【図１４】
2016136297.tif 000016