(57)【要約】  本発明は、複数種類のアプリケーションプログラムが動作を行う監視制御システムにおいて、各種アプリケーションの特性に合わせて動作を管理することを課題とする。この課題を解決するための手段は、現場設備からの収集したデータに基づいて制御演算を行い、コントローラに対して制御出力を行うリアルタイム制御アプリケーションと、外部端末に対して前記現場設備の設備状態を送信し、前記外部端末を介してユーザから制御指示を受信して処理する画面系アプリケーションと、計画サーバから制御計画を受信して処理する計画系アプリケーションと、に複数のアプリケーションをグループ分けし、各アプリケーションの動作の優先度をグループごとに予め定め、前記複数のアプリケーションそれぞれを前記予め定めた優先度に応じて実行することを特徴とする。
2016084212.tif 000002
【特許請求の範囲】
【請求項１】
現場設備からの収集したデータに基づいて制御演算を行い、コントローラに対して制御出力を行うリアルタイム制御アプリケーションと、外部端末に対して前記現場設備の設備状態を送信し、前記外部端末を介してユーザから制御指示を受信して処理する画面系アプリケーションと、計画サーバから制御計画を受信して処理する計画系アプリケーションと、に複数のアプリケーションがグループ分けされ、各アプリケーションの動作の優先度をグループごとに定めた優先度制御テーブルを記憶する記憶部と、
前記複数のアプリケーションを前記優先度制御テーブルに定めた優先度に応じて実行する演算処理部と、を備える制御サーバ。
【請求項２】
請求項１において、
前記優先度制御テーブルには、前記アプリケーションの実行優先度と、ディスクアクセス優先度と、ネットワーク送受信優先度と、が前記グループごとに定められることを特徴とする制御サーバ。
【請求項３】
請求項２において、
前記優先度制御テーブルには、
前記リアルタイム制御アプリケーションの実行優先度及びネットワーク送受信優先度が、前記画面系アプリケーション及び前記計画系アプリケーションよりも高く設定され、
画面系アプリケーションの前記ディスクアクセス優先度が、前記リアルタイム制御アプリケーション及び前記計画系アプリケーションよりも高く設定されることを特徴とする制御サーバ。
【請求項４】
請求項１において、さらに、
前記記憶部には、各グループに属するアプリケーションに求められる制約内容を定めた制約管理テーブルが記憶され、
前記演算処理部は、新たに前記グループに登録するアプリケーションが、登録先のグループに必要な制約内容を満たすアプリケーションであるか前記制約管理テーブルを用いてチェックすることを特徴とする制御サーバ。
【請求項５】
請求項４において、
前記制約管理テーブルには、
前記リアルタイム制御アプリケーションに求められる制約内容として、ディスクアクセスを行わないこと、及び、ディスクアクセスインタフェースを利用しないことが定められ、
画面系アプリケーションの制約内容として、所定のディスクアクセス容量を超えないことが定められることを特徴とする制約サーバ。
【請求項６】
請求項１において、さらに、
前記記憶部には、各アプリケーションの解析に必要なトレース情報を収集するためのトレースポイントを前記グループごとに定めたトレースフィルタ設定テーブルが記憶され、
前記演算処理部は、前記トレースフィルタ設定テーブルを用いて、前記複数のアプリケーションそれぞれの解析に必要なトレース情報を選択して収集することを特徴とする制御サーバ。
【請求項７】
請求項６において、
前記トレースフィルタ設定テーブルには、前記画面系アプリケーション及び前記計画系アプリケーションの解析に必要なトレース情報として、アプリケーションの実行開始、アプリケーションの実行終了、ネットワーク送受信、及び、ディスクアクセス、に関するトレース情報が定められることを特徴とする制御サーバ。
【請求項８】
現場設備からの収集したデータに基づいて制御演算を行い、コントローラに対して制御出力を行うリアルタイム制御アプリケーションと、外部端末に対して前記現場設備の設備状態を送信し、前記外部端末を介してユーザから制御指示を受信して処理する画面系アプリケーションと、計画サーバから制御計画を受信して処理する計画系アプリケーションと、に複数のアプリケーションをグループ分けし、各アプリケーションの動作の優先度をグループごとに予め定め、
前記複数のアプリケーションそれぞれを前記予め定めた優先度に応じて実行する制御用アプリケーションのグループ化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御サーバ、及び、制御用アプリケーションのグループ化方法に関する。
【背景技術】
【０００２】
コンピュータシステムにおいて、アプリケーションを複数グループに分けて、グループの優先度に応じて処理を実行するシステムがある。例えば、特許文献１には、アプリケーションサーバにおいて、複数種類のアプリケーションプログラムは優先度に応じて複数のグループに分類され、グループに指定された優先度で実行し、トランザクション処理時間に応じて、適切な負荷制御を行なうことが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２００５／０４１０３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
産業プラントや電力システム等の監視制御システムを構成する制御サーバでは、複数種類の制御用アプリケーションが動作している。この制御用アプリケーションには例えば、プラントなどのセンサデータに基づきリアルタイム制御を行なうリアルタイム制御アプリケーションと、外部の端末装置においてシステム状況を常に監視し、必要に応じて人の操作によって制御するために必要なサーバに搭載される画面系アプリケーション、また、監視制御システムの動作を計画する計画系アプリケーション等がある。  このように制御サーバでは、リアルタイム制御アプリケーションと、画面系アプリケーション、計画系アプリケーション等が制御サーバ上で共に動作するが、それぞれの特性に合わせた動作処理をする必要がある。【０００５】
ここで、上記の特許文献１の技術では、複数種類のアプリケーションプログラムは優先度に応じて複数のグループに分類し、各アプリケーションプログラムが属するグループに指定された優先度で実行することが記載されている。【０００６】
しかし、特許文献１の技術を制御サーバに適用した場合には、制御サーバ上で動作する複数種類の制御アプリケーションのうち、具体的な各アプリケーションの特性に合せて、何の動作を優先させるか定める必要があるが、この点は何ら考慮されていない。【０００７】
本発明の目的は、複数種類のアプリケーションプログラムが動作を行う監視制御システムにおいて、各種アプリケーションの特性に合わせて動作を管理することが可能な制御サーバ、又は、制御用アプリケーションのグループ化方法を提供することである。
【課題を解決するための手段】
【０００８】
上記目的を達成するための代表的な本発明の制御サーバ及び制御用アプリケーションのグループ化方法の一つは、現場設備からの収集したデータに基づいて制御演算を行い、コントローラに対して制御出力を行うリアルタイム制御アプリケーションと、外部端末に対して前記現場設備の設備状態を送信し、前記外部端末を介してユーザから制御指示を受信して処理する画面系アプリケーションと、計画サーバから制御計画を受信して処理する計画系アプリケーションと、に複数のアプリケーションをグループ分けし、各アプリケーションの動作の優先度をグループごとに予め定め、前記複数のアプリケーションそれぞれを前記予め定めた優先度に応じて実行することを特徴とする。
【発明の効果】
【０００９】
複数のアプリケーションプログラムが動作を行う監視制御システムにおいて、各種アプリケーションの特性に合わせて動作を管理することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明に係わるグループ化手法の構成図である。
【図２】図１におけるプロセス管理テーブルを示す図である。
【図３】図１における優先度制御テーブルを示す図である。
【図４】図１におけるグループ制御機構のフローチャートである。
【図５】図１における制約管理テーブルを示す図である。
【図６】図１におけるグループ登録機構のフローチャートである。
【図７】図１における制約チェック機構のフローチャートである。
【図８】図１におけるトレースフィルタ設定を示す図である。
【図９】図１におけるトレース制御機構のフローチャートである。
【発明を実施するための形態】
【００１１】
以下に本発明を適用した実施例として、制御サーバ内の制御用アプリケーションにおいて、制御サーバ内に搭載されるアプリケーション処理の設計や試験に対して、グループで管理する手法を説明する。
【００１２】
本実施例における制御サーバ上制御用アプリケーションのグループ化手法では、図１のような構成をとる。
【００１３】
図１は、本発明を適用した実施例である監視制御システムのシステム構成を示す図である。本実施例の監視制御システムでは、制御サーバ１とコントローラ２、外部端末３、計画サーバ４が外部ネットワークで接続される。また、制御サーバ１とコントローラ２を接続する外部ネットワークと、制御サーバ１と外部端末３、及び、計画サーバ４とを接続する外部ネットワークとは、別のネットワークを用いる。
【００１４】
制御サーバ１は、ハード構成としてＣＰＵ１１、メモリ１２、ディスク装置１３、ネットワークＩ／Ｆ１４、表示装置１５、とを備えそれぞれがバスで接続されている。
【００１５】
ＣＰＵ１１は、ディスク装置１３からプログラムをメモリ１２に転送し、このプログラムを実行する。実行するプログラムとしては、オペレーティングシステム（以下「ＯＳ」と称す）や、ＯＳ上で動作するアプリケーションプログラムを例示できる。
【００１６】
メモリ１２は、ＣＰＵ１１が動作するための一時的な記憶領域であり、例えば、ディスク装置１３から転送されたＯＳやアプリケーションプログラムを格納する。
【００１７】
ディスク装置１３は、情報の記憶媒体であり、ＯＳ、アプリケーションプログラム、デバイスドライバ、及びＣＰＵ１１を動作させるためのプログラムを保存し、プログラムの実行結果も保存する。ディスク装置１３としては、ハードディスクドライブ（ＨＤＤ）やソリッドステートドライブ（ＳＳＤ）、及びフラッシュメモリを例示できる。また、ディスク装置１３には、取り外しが容易な外部記憶媒体を用いてもよい。このような外部記憶媒体としては、例えば、フレキシブルディスク（ＦＤ）、ＣＤやＤＶＤなどの光ディスク、ＵＳＢメモリやコンパクトフラッシュ（登録商標）などのフラッシュメモリを利用することができる。
【００１８】
ネットワークＩ／Ｆ１４は、外部ネットワークとの通信機能を有する。ネットワークＩ／Ｆ１４は、ＣＰＵ１１が実行するプログラムから通信要求を受け取り、外部ネットワークに対して通信する。ネットワークＩ／Ｆ１４としては、ＩＥＥＥ８０２．３規格のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）チップ、ＰＨＹ（物理層）チップ、ＭＡＣとＰＨＹの複合チップ、ＦＰＧＡ、ＣＰＬＤ、ＡＳＩＣ、及びゲートアレイといったＩＣを例示できる。なお、ネットワークＩ／Ｆ１４は、ＣＰＵ１１や、コンピュータ内部の情報経路を制御するチップセットに含まれていてもよい。
【００１９】
表示画面１５は、制御サーバ１上の動作や、現場設備の監視データ等を表示する装置であり、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）やＬＣＤ（Ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ）を例示できる。
【００２０】
また、バスとしては、ＰＣＩバス、ＩＳＡバス、ＰＣＩ  Ｅｘｐｒｅｓｓバス、システムバス、及びメモリバスを例示できる。
【００２１】
次に制御サーバ１が有する機能について説明する。図１では、ＣＰＵ１１が実行する各種プログラムを機能ブロック図としてメモリ１２上へ記載し、各種テーブルやフィルタをディスク装置１３上へ記載している。
【００２２】
ＣＰＵ１１が実行するアプリケーションとしては、リアルタイム制御アプリケーション１２５と、画面系アプリケーション１２６と、計画系アプリケーション１２７と、が少なくとも含まれ、それぞれリアルタイムグループ、画面系グループ、計画系グループに分類分けされている。各アプリケーションの特性については後述する。
【００２３】
また、ＣＰＵ１１が実行する他のプログラムとして、グループ制御機構１２１と、グループ登録機構１２２と、制約チェック機構１２３と、トレース制御機構１２４と、を有する。また、ディスク装置１３２には、プロセス管理テーブル１３１と、優先度制御テーブル１３２と、制約管理テーブル１３３と、トレースフィルタ設定１３４と、が記憶されている。それぞれの機構、テーブルの詳細は、後述する。
【００２４】
コントローラ２とは、監視制御システムで現場の設備に設置されるセンサデータなどを扱う装置である。コントローラ２からのデータを制御サーバ１にてデータ収集し、計画に従って制御判断を行い、必要に応じて制御出力する。制御サーバ上でこれを処理するのが、リアルタイム制御アプリケーション１２５である。
【００２５】
外部端末３は、監視制御システムにて、運用者が現場の設備状態を参照し、必要に応じて制御指示を行なう端末で、制御サーバ上でこれを処理するのが、画面系アプリケーション１２６である。
【００２６】
計画サーバ４は、監視制御システムの制御計画を行なうサーバであり、制御サーバをこの制御計画に基づき、センサデータなどの情報を処理する。制御サーバでこの処理をするのが、計画系アプリケーション１２７である。
【００２７】
また、制御サーバ１では、これらのアプリケーション（リアルタイム制御アプリケーション１２５、画面系アプリケーション１２６、計画系アプリケーション１２７）の性能解析や障害解析をするためのＯＳのトレース情報を収集する。  本実施例では、グループ制御機構１２１が、各種アプリケーションをリアルタイムグループと画面系グループ、計画系グループでグループ管理し、各種アプリケーションの特性に合わせた動作をさせ、制御サーバ１として最適な動作をさせる。この特性は、優先度制御テーブル１３２にあらかじめ設定しておき、グループ制御機構１２１はこれを利用して動作させる。
【００２８】
また、グループを構成するプログラムはプロセス管理テーブル１３１で管理され、グループ制御機構１２１は、プロセスが実行する際に、この情報に基づき、グループを決定し、優先度制御テーブル１３２の情報に基づき、プロセスを動作させることで、特性に合わせた動作を可能とする。  グループ登録機構１２２は、これらのグループにプログラムを登録する機構であり、制約チェック機構１２３は、グループに登録可能なプログラムであるかを確認する機構である。
【００２９】
グループ登録機構１２２は、登録するグループ番号、プログラム名、ソースコードを受付け、まず、登録可能なソースコードであるかを、制約チェック機構１２３を呼び出して確認する。制約チェックにてチェック成功であれば、プロセス管理テーブル１３１に登録を行なう。
【００３０】
制約チェック機構１２３では、ソースコードにグループ毎に定められた制約が守られているかを確認する。この制約は、制約管理テーブル１３３にて保持され、制約チェック機構１２３は、このテーブルの内容を利用して、ソースコードを確認する。これにより、制約が守られたプログラムのみがグループ内で実行できるようになり、登録時点で正しく設計されたプログラムであるかどうかが判定できる。
【００３１】
トレース制御機構１２４は、各種アプリケーションが必要とするＯＳのトレースを収集するように制御する機構である。各種アプリケーションはグループで管理されているため、各グループで必要となるトレースポイントをトレースフィルタ設定で管理しておき、この情報に基づき、ＯＳのトレースを制御することにより、トレースを最小限で効率的に収集することができ、有限な容量の収集エリアに対して、長時間のトレースを収集することができる。
＜グループ制御＞
はじめに、本実施例の制御サーバ１が行うグループ制御について説明する。
【００３２】
前述のように、制御サーバ１は、リアルタイム制御アプリケーション１２５、画面系アプリケーション１２６、計画系アプリケーション１２７等の複数のアプリケーションの動作を行う。これらのアプリケーションを設計していくには、全アプリケーションの全体設計に基づき、各種アプリケーションの特性に合わせて、プロセス毎にプロセッサ実行優先度やディスクアクセス処理優先度、ネットワーク処理優先度を定める必要がある。
【００３３】
図２は、プロセス管理テーブル１３１の内容を示す図でる。プロセス管理テーブル１３１には、グループ番号と、グループの名称であるグループ名と、具体的なアプリケーションの名称であるプログラム名と、が対応付けて記憶される。本実施例では、グループ１のリアルタイムに属するプログラムとして制御プログラムＡが、グループ２の画面系に属するプログラムとして画面プログラムＡが、グループ３の計画系に属するプログラムとして計画プログラムＡが、それぞれ対応付けて記憶されている。
【００３４】
図３は、優先度制御テーブルの内容を示す図である。優先度制御テーブル１３２には、プロセス管理テーブル１３１で定められたグループ番号に対応させて、プログラムの実行優先度と、ディスクアクセス優先度と、ネットワーク送受信優先度と、が記憶されている。これらの優先度は各アプリケーションのグループの特性に応じて設定される。
【００３５】
リアルタイム制御アプリケーションは、外部より送信されてくるセンサデータなどの時系列なデータを処理し、そのデータに基づき制御判断をして、システムを制御するという、リアルタイム性の高いアプリケーションである。そのため、画面系アプリケーションや計画系アプリケーションよりも優先して動作する必要がある。また、画面系アプリケーションは、外部の端末にてシステム運用者などの操作要求によって処理するアプリケーションである。そのため、送受信のデータ量は比較的に小容量であるが、応答時間を求められるアプリケーションである。一方、計画系アプリケーションは、監視制御システム全体の計画を示すデータを処理するため、送受信のデータ量が比較的、大容量であり、処理時間は高速であることが望ましいが、他のアプリケーションと比較すると、リアルタイム性は求められない。
【００３６】
従って本実施例では、グループ１（リアルタイム）に対応させて、実行優先度「高」、ディスクアクセス優先度「低」、ネットワーク優先度「高」と設定され、グループ２（画面系）に対応させて、実行優先度「中」、ディスクアクセス優先度「高」、ネットワーク優先度「中」と設定され、グループ３（計画系）に対応させて、実行優先度「低」、ディスクアクセス優先度「高」、ネットワーク優先度「低」と設定されている。  図４にグループ制御機構１２１のフローチャートを示す。グループ制御機構１２１は、Ｓ１１にてプロセス管理テーブル１３１を読み込む。Ｓ１２にて優先度制御テーブル１３２を読み込む。Ｓ１３にてプログラム実行開始待ちを行なう。アプリケーションが実行を開始すると、この待ちが解除される。その後、Ｓ１４にて、実行を開始したアプリケーションのプログラム名を受け取り、その名称からプロセス管理テーブル１３１を検索して、グループ番号を特定する。Ｓ１５では、特定されたグループ番号に対して、優先度制御テーブル１３２を参照し、設定されている優先度をＯＳに対して設定する。これにより、グループ内のアプリケーションのプロセスが、設定された優先度にしたがって、動作することができる。
【００３７】
また、本実施例では、複数のアプリケーションをその特性に応じてグループ分けし、グループごとに各種優先度を定めている。そのため、各アプリケーションの設計に際し、個別に優先度を設定する必要がなく、容易にアプリケーション設計が可能となる。
＜グループ登録＞
次に、本実施例の制御サーバ１において、アプリケーションを新たにグループ登録する際の処理について説明する。
【００３８】
前述のように、本実施例では、複数のアプリケーションを、リアルタイムグループ、画面系グループ、計画系グループにグループ分けして、それぞれの優先度に従って動作を行う。
【００３９】
ここで、例えばリアルタイム制御アプリケーション１２５は、低速なディスクアクセス処理を行なうとリアルタイム性を確保できないため、ディスクアクセスを行なわないように設計する必要があるが、これもプロセス毎に設計しなければいけない。そのため、アプリケーション設計プロセスにおいて、各プロセスの試験以降に、各アプリケーションを組合せて動作させた際に、優先度やディスクアクセス処理の不具合を摘出する場合が多い。これは、設計プロセスにおいて、再度設計をやり直す必要があり、工数を増大させる。そのため、各プロセスの試験実施タイミングでは、特性に合わせたプログラムとなっていることを確認できる必要がある。
【００４０】
そこで本実施例では、各グループに求められる条件を予め制約管理テーブル１３３に設定しておき、アプリケーションを新たにグループ登録する際に、制約管理テーブル１３３をチェックすることで、特性に合わせたプログラムとなっていることを確認する。
【００４１】
図５は、制約管理テーブル１３３の内容を示す図である。制約管理テーブル１３３には、プロセス管理テーブル１３１で定められたグループ番号に対応させて、各グループに求められる条件として、利用不可ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）と、ディスクアクセス容量上限と、ネットワーク送受信容量上限と、が記憶されている。
【００４２】
本実施例では、グループ１（リアルタイム）に対応させて、利用不可ＡＰＩ「ｒｅａｄ，ｗｒｉｔｅ等」、ディスクアクセス容量上限「なし」、ネットワーク送受信容量条件「４ＫＢ」と設定され、グループ２（画面系）に対応させて、利用不可ＡＰＩ「なし」、ディスクアクセス容量上限「１ＭＢ」、ネットワーク送受信容量条件「１ＭＢ」と設定され、グループ３（計画系）に対応させて、利用不可ＡＰＩ「なし」、ディスクアクセス容量上限「なし」、ネットワーク送受信容量条件「なし」と設定されている。
【００４３】
図６にグループ登録機構１２２のフローチャートを示す。グループ登録機構１２２は、Ｓ２１にて本機構に与えられた登録グループ番号を取得し、Ｓ２２にて本機構に与えられた登録プログラム名を取得し、Ｓ２３にて本機構に与えられた登録ソースを取得する。次に、Ｓ２４にてグループ番号とソースコードを指定し、制約チェック機構１２３を呼び出す。Ｓ２５にて制約チェック機構１２３の結果を判定し、制約を満たしていないことを示す失敗である場合は、失敗メッセージを出力して、グループには登録しない。制約を満たしていることを示す成功である場合は、Ｓ２７にてプロセス管理テーブルに登録する。また、Ｓ２８にて成功メッセージを出力する。これにより、制約を満たすプログラムのみがグループに登録されることとなる。  図７に制約チェック機構１２３のフローチャートを示す。制約チェック機構１２３は、Ｓ３１にてグループ登録機構１２２から渡されるグループ番号とソースコードを取得する。Ｓ３２にてグループ毎に満たすべき制約が設定された制約管理テーブル１３３を読込む。Ｓ３３にて制約管理テーブル１３３に指定されたグループ番号に対する利用不可ＡＰＩがソースコード上で利用されていないかを検索する。Ｓ３４にて検索結果を判定する。利用されていた場合は、チェック失敗となる。次に、Ｓ３５にてディスクアクセスを行なうディスクＡＰＩがソースコードで利用されているかを検索する。利用されていた場合、アクセス容量が制約管理テーブルに指定されたディスクアクセス容量上限を超過していないかをＳ３６にて判定する。上限を超過していた場合は、チェック失敗となる。次に、Ｓ３７にてネットワーク送受信を行なうネットワークＡＰＩがソースコードで利用されているかを検索する。利用されていた場合、送受信容量が制約管理テーブル１３３に指定されたネットワーク送受信容量上限を超過していないかをＳ３８にて判定する。上限を超過していたい場合は、チェック失敗となる。全ての制約を満たしていた場合は、チェック成功となる。
【００４４】
このように、本実施例では、各グループのアプリケーションに求められる条件を予め制約管理テーブル１３３に設定しておき、アプリケーションを新たにグループ登録する際に、この制約管理テーブル１３３を用いることで、グループの特性に合わせたプログラムとなっていることを確認することができる。これによって、各プロセスの試験以降に、各アプリケーションを組合せて動作させた際に、初めて不具合を摘出して再設計するというような不要な工数を削減することができる。
＜トレース収集＞
本実施例のような産業プラントや電力システム等の監視制御システムの制御サーバでは、各種アプリケーションの性能解析や障害解析のために、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の動作トレースを収集する必要がある。ここで、各種アプリケーションでは、特性が異なるので、解析に必要となるデータが異なるが、ＯＳはその特性が不明のため、全てのトレース情報を取得する必要がある。しかし、トレースに利用するメモリなどの記憶装置は有限のリソースであるため、収集できる時間が限られてしまう。
【００４５】
そこで本実施例では、各グループに対応させてアプリケーションの解析に必要なトレースを収集するためのトレースポイントをグループごとに予めトレースフィルタ設定１３４に定めて、本トレースフィルタ設定１３４を用いて必要なトレース情報を選択して収集する。
【００４６】
図８は、トレースフィルタ設定１３４の内容を示す図である。トレースフィルタ設定１３４は、プロセス管理テーブル１３１で定められたグループ番号に対応させて、各グループのアプリケーションの解析に必要なトレースを収集するためのトレースポイントが収集トレースポイントフィルタとして記憶されている。
【００４７】
本実施例では、グループ１（リアルタイム）に対応させて、「全て（全て集集集）」が設定され、グループ２（画面系）及びグループ３（計画系）に対応させて、「実行開始，実行終了，ネットワーク送受信，ディスクアクセス」が設定されている。
【００４８】
図９にトレース制御機構１２４とトレース収集のフローチャートを示す。ＯＳのトレースは各種トレースポイントにて、トレース収集のフローチャートのように処理してトレースを収集する。トレース収集は、Ｓ４４にてトレースを収集するポイントを通過する時に現在実行中のカレントプロセスの情報から、グループ番号を特定する。Ｓ４５にて当該グループでは、このトレースポイントの情報が必要かどうかを収集フラグにより判定する。必要がない場合は、収集フラグがＯＦＦされており、トレース収集を行なわずに終了する。必要な場合は、収集フラグがＯＮされているので、トレースを収集して終了する。トレース制御機構は、グループ内アプリケーションにとって不必要なトレースは収集しないように収集フラグをＯＦＦする。Ｓ４１にてトレースフィルタ設定１３４を読込む。トレースフィルタ設定１３４には、収集が必要なトレースポイントが記載されている。なお、全てのトレースを収集する場合には、”全て”が指定されている。Ｓ４２，Ｓ４３にて全てのトレースポイントに対して収集フラグを設定する。トレースフィルタ設定での各トレースポイントのグループ毎の収集要否定義に基づき、Ｓ４３にて収集フラグを設定する。これにより、各グループで必要なトレースのみを収集することができ、効率的に長時間のトレース収集が可能となる。
【００４９】
このように本実施例では、各グループに対応させてアプリケーションの解析に必要なトレースを収集するためのトレースポイントをグループごとに予めトレースフィルタ設定１３４に定める。そして、トレースの収集の際に、トレースフィルタ設定１３４を用いて必要なトレース情報のみを選択して収集する。これによって、障害解析用のＯＳトレース情報を全プロセス同様に収集するのではなく、グループ毎に収集するトレースを必要なトレースに限定することで、効率的に収集して長時間のトレース収集が可能となる。
【００５０】
以上のとおり本実施例では、各種アプリケーションの特性に合わせて、グループの管理を行ない、プロセス毎ではなく、グループの単位で設計、試験を可能として、開発効率を向上させ、また、試験や運用中に必要な解析用トレース情報の長時間収集を可能とする監視制御システムを説明した。
【００５１】
具体的には、各種アプリケーションをグループ管理して実行させるグループ制御機構にて、リアルタイム制御アプリケーションと画面系アプリケーション、計画系アプリケーションをグループに分けて管理する。各グループ内の実行プログラムには、特性に合わせた制御を行なう。リアルタイム制御アプリケーションは、他のアプリケーションに対して、優先的に動作させる。また、画面系アプリケーションは、計画系アプリケーションよりもディスクアクセスおよびネットワークアクセスを優先的に動作させる。これにより、リアルタイム制御アプリケーションのリアルタイム性、画面系アプリケーションの応答時間の短時間化を実現する。
【００５２】
また、各種アプリケーションのプログラムを各グループに登録するグループ登録機構を有する。また、グループの特性に合わせたプログラムしか登録できないように、制約チェック機構を有する。グループ登録時に、この制約チェック機構にて確認することで、前述の再設計になる不具合を、グループ登録のタイミングで摘出することができる。
【００５３】
また、トレース収集制御機構により、各種アプリケーションにて収集するトレースを選択する。これにより、各種アプリケーションの特性に合わせたトレースに限定して収集することで、全トレースを収集するよりも長時間の収集が可能となる。
【００５４】
このように本実施例によれば、制御サーバにて、リアルタイム制御アプリケーション、画面系アプリケーション、計画系アプリケーションをグループで管理し、それぞれを適切な優先度で実行ができ、登録の際に制約をチェックして不具合摘出タイミングを早めることを可能とする、また、アプリケーション実行中に、解析に必要なトレース情報の効率的な収集を可能とする、という効果が得られる。
【００５５】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【符号の説明】
【００５６】
１      制御サーバ
１１      ＣＰＵ
１２      メモリ
１２１    グループ制御機構
１２２    グループ登録機構
１２３    制約チェック機構
１２４    トレース制御機構
１２５    リアルタイム制御アプリケーション
１２６    画面系アプリケーション
１２７    計画系アプリケーション
１３      ディスク装置
１４      ネットワークＩ／Ｆ
１５      表示装置
２      コントローラ
３      外部端末
４      計画サーバ
【図１】
2016084212.tif 000003
【図２】
2016084212.tif 000004
【図３】
2016084212.tif 000005
【図４】
2016084212.tif 000006
【図５】
2016084212.tif 000007
【図６】
2016084212.tif 000008
【図７】
2016084212.tif 000009
【図８】
2016084212.tif 000010
【図９】
2016084212.tif 000011
【国際調査報告】
2016084212.tif 000012
2016084212.tif 000013
2016084212.tif 000014