(57)【要約】【課題】送信側アプリケーションと受信側アプリケーションの通信プロトコルの変更、新規追加にもアプリケーションの再設計を不要にし、少しのデータ設定で対応できる。【解決手段】ディスパッチャクラス２が送信側アプリケーションから状態データを受信する部分を該ディスパッチャクラスから切り離したプロトコルクラス９を設ける。プロトコルクラスは送信側アプリケーションに応じた専用の通信プロトコルを使用してデータを受信してディスパッチャクラスに引き渡し、ディスパッチャクラスは引き渡された状態データを代理受信者クラス６に引き渡す。これにより、送信側アプリケーションの通信プロトコルの変更には設定データのプロトコルの部分だけを置き換えることで対応する。また、送信側アプリケーションの追加にはプロトコルクラスの作成と設定データの書き換えで対応する。【選択図】図１
2008176432.tif 000002
【特許請求の範囲】
【請求項１】
送信側アプリケーションに組み込まれた送信者クラスのオブジェクトから送信される状態データを、受信側アプリケーションに組み込まれたディスパッチャクラスのオブジェクトがネットワークを介して受信し、該ディスパッチャクラスのオブジェクトが代理受信者クラスのオブジェクトを予め備えられたキーに基づいて選択し、受信者インプリメンタのオブジェクトが該状態データを該代理受信者クラスのオブジェクトを介して受信し、該受信者インプリメンタのオブジェクトが該代理受信者クラスのオブジェクトに該状態データを入力する画面表示情報連携方法において、
前記ディスパッチャクラスが送信側アプリケーションから状態データを受信する部分を該ディスパッチャクラスから切り離したプロトコルクラスとして作成しておき、
前記プロトコルクラスは、送信側アプリケーションがもつ通信プロトコルに応じた専用の通信プロトコルを使用して前記状態データを受信してディスパッチャクラスに引き渡すステップを有し、
ディスパッチャクラスは、前記プロトコルクラスから引き渡された状態データを、前記キーに基づいて前記代理受信者クラスに引き渡すステップを有することを特徴とする画面表示情報連携方法。
【請求項２】
前記プロトコルクラスは、送信側アプリケーションの通信プロトコルが変更されたときに、設定データのプロトコルの部分だけを置き換えるステップを有することを特徴とする請求項１に記載の画面表示情報連携方法。
【請求項３】
前記プロトコルクラスは、通信プロトコルが異なる送信側アプリケーションが追加されたときに、プロトコルクラスの作成と設定データを書き換えるステップを有することを特徴とする請求項１に記載の画面表示情報連携方法。
【請求項４】
送信側アプリケーションに組み込まれた送信者クラスのオブジェクトから送信される状態データを、受信側アプリケーションに組み込まれたディスパッチャクラスのオブジェクトがネットワークを介して受信し、該ディスパッチャクラスのオブジェクトが代理受信者クラスのオブジェクトを予め備えられたキーに基づいて選択し、受信者インプリメンタのオブジェクトが該状態データを該代理受信者クラスのオブジェクトを介して受信し、該受信者インプリメンタのオブジェクトが該代理受信者クラスのオブジェクトに該状態データを入力する画面表示情報連携システムにおいて、
前記ディスパッチャクラスが送信側アプリケーションから状態データを受信する部分を該ディスパッチャクラスから切り離したプロトコルクラスとして作成しておき、
前記プロトコルクラスは、送信側アプリケーションがもつ通信プロトコルに応じた専用の通信プロトコルを使用して前記状態データを受信してディスパッチャクラスに引き渡す手段を有し、
ディスパッチャクラスは、前記プロトコルクラスから引き渡された状態データを、前記キーに基づいて前記代理受信者クラスに引き渡す手段を有することを特徴とする画面表示情報連携システム。
【請求項５】
前記プロトコルクラスは、送信側アプリケーションの通信プロトコルが変更されたときに、設定データのプロトコルの部分だけを置き換える手段を有することを特徴とする請求項４に記載の画面表示情報連携システム。
【請求項６】
前記プロトコルクラスは、通信プロトコルが異なる送信側アプリケーションが追加されたときに、プロトコルクラスの作成と設定データを書き換える手段を有することを特徴とする請求項４に記載の画面表示情報連携システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面表示情報連携方法、画面表示情報連携システムであって、例えば、監視制御システムにおける画面表示連携技術に関するものである。
【背景技術】
【０００２】
現在、監視制御装置間で画面表示を連携する監視制御システムは、一般に知られており（例えば、特許文献１参照）、その画面表示を連携操作する方式は分散オブジェクト技術を応用した方式である。
【０００３】
まず、システム開発者は、送信者側の画面部品オブジェクトがリモートオブジェクトとなるように拡張画面部品インタフェース（オブジェクト指向プログラミングにおける多重継承の代替として用いられるインタフェース）を作成し、該画面部品に追加してリモート画面部品クラスと成す。
【０００４】
次に、システム開発者は、リモート画面部品クラスを送信者側の監視制御装置にインストールされた監視アプリケーションに組み込む。
【０００５】
次に、システム開発者は、拡張画面インタフェースと同じメソッドを持つ代理クラスを受信側に作成し、該代理クラスのメソッドを用いて、リモート画面部品オブジェクトを呼び出しできるように、受信者側の監視制御装置にインストールされる監視アプリケーションに対して組み込む。なお、特許文献１における監視制御システムで、受信管理部オブジェクトが代理オブジェクトを介してリモート画面部品オブジェクトに対する呼び出しを行っている。
【０００６】
上述の作業によって、監視サーバアプリケーションに組み込まれたリモート画面部品オブジェクトを、受信者側の監視制御装置内の監視クライアントアプリケーションから、ネットワークを介して呼び出すことができるようになる。なお、特許文献１における監視制御システムでは、送信管理部オブジェクトが全てのリモート画面部品オブジェクトを管理している。
【０００７】
次に、送信者側は監視サーバアプリケーション内のリモート画面部品オブジェクトを使って表示した状態を示すデータを、ファイルやデータベースに保存しておく。一方で、受信者側はネットワークを介してリモート画面部品のオブジェクト参照を代理オブジェクトに含めて、監視クライアントアプリケーションに取得させる。
【０００８】
次に、受信者側は、監視クライアントアプリケーションに取得したリモート画面部品オブジェクトに対応する表示状態データをファイルやデータベースから取得させる。
【０００９】
そして、監視クライアントアプリケーションは、表示状態データをリモート画面部品オブジェクトに対して入力し、該リモート画面部品オブジェクトの表示状態を生成して、該監視クライアントアプリケーションの編集画面上に表示する。
【特許文献１】特開２００４−３５５４５５
【発明の開示】
【発明が解決しようとする課題】
【００１０】
送信側アプリケーションからネットワークを介して表示状態データを受信側アプリケーションが受信可能とするには、受信側の通信プロトコルを送信側のそれに合致させたシステム設計をしている。
【００１１】
このため、受信側アプリケーションが別の通信プロトコルを使用して状態データを受信するためには、受信側アプリケーションを再構築する必要がある。
【００１２】
同様に、新たな通信プロトコルを使用する受信側アプリケーションをシステムに追加または開発する場合には、設計を見直し、受信側アプリケーションを再構築する必要がある。
【００１３】
本発明の目的は、送信側アプリケーションと受信側アプリケーションの通信プロトコルの変更、新規追加にもアプリケーションの再設計を不要にし、少しのデータ設定で対応できる画面表示情報連携方法および画面表示情報連携システムを提供することにある。
【課題を解決するための手段】
【００１４】
本発明は、前記の課題を解決するため、以下の方法およびシステムを特徴とする。
【００１５】
（方法の発明）
（１）送信側アプリケーションに組み込まれた送信者クラスのオブジェクトから送信される状態データを、受信側アプリケーションに組み込まれたディスパッチャクラスのオブジェクトがネットワークを介して受信し、該ディスパッチャクラスのオブジェクトが代理受信者クラスのオブジェクトを予め備えられたキーに基づいて選択し、受信者インプリメンタのオブジェクトが該状態データを該代理受信者クラスのオブジェクトを介して受信し、該受信者インプリメンタのオブジェクトが該代理受信者クラスのオブジェクトに該状態データを入力する画面表示情報連携方法において、
前記ディスパッチャクラスが送信側アプリケーションから状態データを受信する部分を該ディスパッチャクラスから切り離したプロトコルクラスとして作成しておき、
前記プロトコルクラスは、送信側アプリケーションがもつ通信プロトコルに応じた専用の通信プロトコルを使用して前記状態データを受信してディスパッチャクラスに引き渡すステップを有し、
ディスパッチャクラスは、前記プロトコルクラスから引き渡された状態データを、前記キーに基づいて前記代理受信者クラスに引き渡すステップを有することを特徴とする。
【００１６】
（２）前記プロトコルクラスは、送信側アプリケーションの通信プロトコルが変更されたときに、設定データのプロトコルの部分だけを置き換えるステップを有することを特徴とする。
【００１７】
（３）前記プロトコルクラスは、通信プロトコルが異なる送信側アプリケーションが追加されたときに、プロトコルクラスの作成と設定データを書き換えるステップを有することを特徴とする。
【００１８】
（システムの発明）
（４）送信側アプリケーションに組み込まれた送信者クラスのオブジェクトから送信される状態データを、受信側アプリケーションに組み込まれたディスパッチャクラスのオブジェクトがネットワークを介して受信し、該ディスパッチャクラスのオブジェクトが代理受信者クラスのオブジェクトを予め備えられたキーに基づいて選択し、受信者インプリメンタのオブジェクトが該状態データを該代理受信者クラスのオブジェクトを介して受信し、該受信者インプリメンタのオブジェクトが該代理受信者クラスのオブジェクトに該状態データを入力する画面表示情報連携システムにおいて、
前記ディスパッチャクラスが送信側アプリケーションから状態データを受信する部分を該ディスパッチャクラスから切り離したプロトコルクラスとして作成しておき、
前記プロトコルクラスは、送信側アプリケーションがもつ通信プロトコルに応じた専用の通信プロトコルを使用して前記状態データを受信してディスパッチャクラスに引き渡す手段を有し、
ディスパッチャクラスは、前記プロトコルクラスから引き渡された状態データを、前記キーに基づいて前記代理受信者クラスに引き渡す手段を有することを特徴とする。
【００１９】
（５）前記プロトコルクラスは、送信側アプリケーションの通信プロトコルが変更されたときに、設定データのプロトコルの部分だけを置き換える手段を有することを特徴とする。
【００２０】
（６）前記プロトコルクラスは、通信プロトコルが異なる送信側アプリケーションが追加されたときに、プロトコルクラスの作成と設定データを書き換える手段を有することを特徴とする。
【発明の効果】
【００２１】
以上のとおり、本発明によれば、ディスパッチャが送信側アプリケーションから状態データを受信する部分をディスパッチャクラスから切り離し、新規にプロトコルクラスを作成し、ディスパッチャクラスは送信側アプリケーションから受信した状態データを、キーに基づいて状態データを代理受信者に引き渡すだけとする機能分離を行い、プロトコルクラスは、送信側アプリケーションから専用のプロトコルを使用して状態データを受信し、ディスパッチャクラスにこの状態データを引き渡すようにしたため、送信側アプリケーションと受信側アプリケーションの通信プロトコルの変更、新規追加にもアプリケーションの再設計を不要にし、少しのデータ設定で対応できる。また、作成したプロトコルの試験だけ行えばよく、ディスパッチャの再試験は必要ない。
【発明を実施するための最良の形態】
【００２２】
図１は、本発明の実施形態を示すブロック構成図である。なお、本実施形態はオブジェクト指向技術に基づいているため、この技術における用語を以下の説明では使用する。例えば、クラスから生成されたオブジェクトに関する表記は、「Ａクラスから生成されたＡオブジェクト」または、「Ａクラスのオブジェクト」または、「Ａオブジェクト」のように表記する。さらに、オブジェクト指向技術に基づくため、当該クラスから継承したクラスは、当該クラスと同じ振る舞いを持つことが前提となる。
【００２３】
図１において、送信側アプリケーションに組み込まれた送信者クラスのオブジェクトから送信される状態データを、受信側アプリケーションに組み込まれたディスパッチャクラスのオブジェクトがネットワークを介して受信し、該ディスパッチャクラスのオブジェクトが代理受信者クラスのオブジェクトを予め備えられたキーに基づいて選択し、受信者インプリメンタのオブジェクトが該状態データを該代理受信者クラスのオブジェクトを介して受信し、該受信者インプリメンタのオブジェクトが該代理受信者クラスのオブジェクトに該状態データを入力する。
【００２４】
なお、前記の受信者インプリメンタは、受信のための共通インタフェース定義（受信者インタフェースと称する）を実装したクラスである。例えば、前記の受信者インプリメンタのオブジェクトは、該受信者インプリメンタのオブジェクトに対応する代理受信者クラスのオブジェクトから状態データ群を取得し、特定のファイルやデータベースに対して状態データ群を保存する。
【００２５】
さらに、前記の受信者インプリメンタのオブジェクトは、前記の代理受信者のオブジェクトに対して表示状態データ群を設定するために、前記のファイルやデータベースから該表示状態データ群を読み込む動作も有する。
【００２６】
そして、前記の受信者インプリメンタのオブジェクトは、代理受信者クラスのオブジェクトに係る状態データ入力方法に合わせるように、前記状態データ群を各々の状態データに分解（例えば、結合されたデータ「ＡＢＣ」をデータ「Ａ」，データ「Ｂ」，データ「Ｃ」に分解）し、前記の代理受信者クラスのオブジェクトに、その各々の状態データを設定する。
【００２７】
図１は符号１乃至８に示すクラスまたはインタフェースから成る。まず、ディスパッチャ管理クラス１は、個別の送信者に対応したディスパッチャオブジェクトに係るオブジェクト参照をリスト（以後、ディスパッチャリストと称する）に登録して管理する。
【００２８】
即ち、前記のディスパッチャ管理クラス１は、ホスト情報及びキーの組み合わせに対応するディスパッチャオブジェクトを取得できる。例えば、ディスパッチャ管理クラス１は、ホスト情報（ホスト情報クラス３のオブジェクトに含まれるホスト情報と同じ形式の情報），キー（キークラス４のオブジェクトに含まれるキー情報と同じ形式の情報），ディスパッチャオブジェクトに係るオブジェクト参照をデータ項目としたディスパッチャリストを有し、そのディスパッチャリストに基づいて特定のホスト情報及びキーの組み合わせに対応したディスパッチャオブジェクトに係るオブジェクト参照を取得できる。
【００２９】
ディスパッチャクラス２は、監視サーバアプリケーション内の送信者オブジェクトから状態データ群（例えば、インスタンスデータ）を取得し、キー（キークラス４のオブジェクトに含まれる情報と同じ形式の情報）と代理受信者オブジェクトに係るオブジェクト参照をデータ項目とするリスト（以後、代理受信者オブジェクトリストと称する；該ディスパッチャクラス２に備えられたリスト）から、特定のキーに対応する代理受信者クラス６のオブジェクトを選択し、該選択された代理受信者クラス６のオブジェクトに対して該状態データ群をディスパッチする（送る）クラスである。
【００３０】
即ち、ディスパッチャクラス２はキー及びホスト情報を取得（例えば、該ディスパッチャクラス２がアクセスできる特定のキーオブジェクト及びホスト情報オブジェクトから取得）し、前記ホスト情報に対応する送信者オブジェクトから該キーに対応する状態データ群を取得する。さらに、前記のディスパッチャクラス２は、前記の代理受信者オブジェクトリストから前記キーに対応する代理受信者オブジェクトのオブジェクト参照を取得し、該代理受信者オブジェクトに対して前記の状態データ群を引き渡す。
【００３１】
ホスト情報クラス３は、送信者オブジェクトを有する監視サーバアプリケーション及び該アプリケーションが動作している装置に係るネットワーク情報（即ち、ホスト情報）を管理するクラスである。例えば、前記の監視サーバアプリケーションをネットワーク上で識別できるような情報（例えば、ＩＰアドレスとポート番号の組み合わせ）を管理する。
【００３２】
キークラス４は、前記の送信者オブジェクトから送信されるデータを識別するための情報（即ち、キー）を持つ。前記の情報は、例えば、クラス名（或いは、オブジェクト番号），データ型，データサイズ，データ位置などである。
【００３３】
ディスパッチリスナインタフェース５は、前記の状態データ群をディスパッチャオブジェクトから受信するインタフェース定義と、前記の状態データ群を受信者インタフェース７に対して引き渡す定義と、ディスパッチリスナインタフェース５自体をディスパッチャに登録するインタフェース定義と、を有するものである。
【００３４】
代理受信者クラス６は、ディスパッチリスナインタフェース５を実装したクラスである。代理受信者クラス６がディスパッチャクラス２のオブジェクトに登録されることによって、受信者インタフェースを実装したクラス（即ち、受信者インプリメンタ）のオブジェクトの代わりに、前記の送信者オブジェクトから送られた前記の状態データ群を受信可能とする。
【００３５】
即ち、前記の代理受信者クラス６のオブジェクトは、前記キーオブジェクトに含まれるキーに対応する状態データ群を受信するものである。なお、代理受信者クラスのデータ構造は、送信者クラスのデータ構造と同じか、該送信者クラスのデータ構造を含むデータ構造を持つことが望ましい。
【００３６】
受信者インタフェース７は、自らに対応する代理受信者オブジェクトに登録するインタフェース定義と、前記の状態データ群を代理受信者オブジェクトから受信させるインタフェース定義と、状態データ群をファイルやデータベースに保存させるインタフェース定義と、ファイルやデータベースから状態データ群を読み込ませるインタフェース定義と、を有するものである。
【００３７】
受信者管理クラス８は、受信者インプリメンタのオブジェクトが登録され、該受信者インプリメンタのオブジェクトを管理するクラスである。なお、実際の受信者インプリメンタには、様々なクラスを想定できる。例えば、後述する画面部品クラス，ファイル用画面部品クラス，データベース用画面部品クラスである。
【００３８】
また、前記の受信者管理クラス８は、前記の受信者インタフェース７を介して、受信者インプリメンタのオブジェクトに、状態データ群を所定のファイルやデータベースから読み込ませたり、所定のファイルやデータベースに対して保存させたりすることによって、受信者インプリメンタのオブジェクトの管理を行う。
【００３９】
以上の構成において、ディスパッチャクラス２は、前記のように、キー及びホスト情報を取得し、ホスト情報に対応する送信者オブジェクトから該キーに対応する状態データ群を取得し、さらに、代理受信者オブジェクトリストからキーに対応する代理受信者オブジェクトのオブジェクト参照を取得し、該代理受信者オブジェクトに対して状態データ群を引き渡す機能構成にされる。
【００４０】
ここで、本実施形態では、ディスパッチャが送信側アプリケーションから状態データを受信する部分をディスパッチャクラスから切り離し、新規にプロトコルクラス９を作成する。このプロトコルクラス９は、ディスパッチャクラス２と双方向の関連を持つようにする。これにより、ディスパッチャクラス２は、送信側アプリケーションから受信した状態データを、キーに基づいて状態データを代理受信者に引き渡すだけとなる。
【００４１】
一方、プロトコルクラス９は、送信側アプリケーションから専用のプロトコルを使用して状態データを受信し、ディスパッチャクラス２にこの状態データを引き渡す。このとき、ディスパッチャクラス２に、状態データを受け取るメソッド（Ａ）を用意する。その後のディスパッチャクラス２から受信者インタフェース７に状態データを引き渡す流れは、前記と同様になる。
【００４２】
図１の変形例として、通信プロトコルにソケットを使用する場合を図２に示す。  この場合、プロトコルクラス９を派生してソケットプロトコルクラス１０を作成する。このクラス１０では、ソケットを使用して送信側アプリケーションから状態データを受信して、上記メソッド（Ａ）を使用してディスパッチャクラス２にこの状態データを引き渡す。
【００４３】
図１の変形例として、通信プロトコルにＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）を使用する場合を図３に示す。この場合、プロトコルクラス９を派生してＳＯＡＰプロトコルクラス１１を作成する。このクラス１１では、ＳＯＡＰを使用して送信側アプリケーションから状態データを受信して、上記メソッド（Ａ）を使用してディスパッチャクラス２にこの状態データを引き渡す。
【００４４】
なお、使用する通信プロトコルはホスト情報に使用通信プロトコルとして記述する。初期化時にこのホスト情報の通信使用プロトコルを読み込んで、使用するプロトコルオブジェクトを生成する。
【００４５】
（１）通信プロトコルの変更
以上の図１〜図３に示すように、ディスパッチャが送信側アプリケーションから状態データを受信する部分をディスパッチャクラスから切り離し、新規にプロトコルクラス９を作成しておくことで、使用する通信プロトコルの変更を容易にする。
【００４６】
使用する通信プロトコルの変更は、ホスト情報の使用通信プロトコルを書き換える。通信プロトコルとしてソケットからＳＯＡＰに変更する場合を図４に示す。プロトコルの記述をソケットからＳＯＡＰに変更する。ディスパッチャは、初期化時に、この使用通信プロトコルを読み込んで、該当するプロトコルオブジェクトを生成する。
【００４７】
（２）通信プロトコルの新規追加
新規に追加する通信プロトコルを使用して、送信側アプリケーションから状態データを受信して、ディスパッチャに引き渡す専用のクラスを、プロトコルクラスを派生して作成する。
【００４８】
ＣＯＲＢＡ（Ｃｏｍｍｏｎ  Ｏｂｊｅｃｔ  Ｒｅｑｕｅｓｔ  Ｂｒｏｋｅｒ  Ａｒｃｈｔｅｃｔｕｒｅ）を追加する場合を図５に示す。プロトコルクラス９を派生してＣＯＲＢＡプロトコルクラス１２を作成する。このクラス１２では、ＣＯＲＢＡを使用して送信側アプリケーションから状態データを受信して、上記メソッド（Ａ）を使用してディスパッチャにこの状態データを引き渡すようにする。
【００４９】
ホスト情報の使用通信プロトコルを、作成した新規プロトコルに書き換える。ＣＯＲＢＡを追加する場合を図６に示し、プロトコルの記述にＣＯＲＢＡと記入する。
【００５０】
ディスパッチャは、初期化時に、この使用通信プロトコルを読み込んで、該当するプロトコルオブジェクトを生成する。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施形態を示すブロック構成図。
【図２】ソケットを使用したブロック構成図。
【図３】ＳＯＡＰを使用したブロック構成図。
【図４】通信プロトコルの変更時のデータ書き換え例。
【図５】ＣＯＲＢＡを追加したブロック構成図。
【図６】通信プロトコルの変更時のデータ書き換え例。
【符号の説明】
【００５２】
１  ディスパッチャ管理クラス
２  ディスパッチャクラス
３  ホスト情報クラス
４  キークラス
５  ディスパッチリスナインタフェース
６  代理受信者クラス
７  受信者インタフェース
８  受信者管理クラス
９  プロトコルクラス
１０  ソケットプロトコル
１１  ＳＯＡＰプロトコル
１２  ＣＯＲＢＡプロトコル
【図１】
2008176432.tif 000003
【図２】
2008176432.tif 000004
【図３】
2008176432.tif 000005
【図５】
2008176432.tif 000006
【図４】
2008176432.tif 000007
【図６】
2008176432.tif 000008