管理装置及びプログラム
【課題】稼働中のコントローラ等に負担を掛けることなく、稀かつ不定期に実行される制御に対して、事前にコントローラの性能への影響を予測する。
【解決手段】管理装置1001の情報収集部1009が、コントローラ1003等から、性能予測に必要な情報をネットワークシステム運用開始時に予め収集し、性能情報データベース1010に収集した情報を格納し、システムの稼働中に、稀かつ不定期に実行される制御を行う必要が生じた際に、予測部1011が、性能情報データベース1010に格納されている情報を用いて、当該制御を行った場合のコントローラ性能への影響を予測する。これにより、稼働中のコントローラの演算処理やネットワークのトラフィックを増加させることなく、コントローラ性能への影響を予測することができる。
【解決手段】管理装置1001の情報収集部1009が、コントローラ1003等から、性能予測に必要な情報をネットワークシステム運用開始時に予め収集し、性能情報データベース1010に収集した情報を格納し、システムの稼働中に、稀かつ不定期に実行される制御を行う必要が生じた際に、予測部1011が、性能情報データベース1010に格納されている情報を用いて、当該制御を行った場合のコントローラ性能への影響を予測する。これにより、稼働中のコントローラの演算処理やネットワークのトラフィックを増加させることなく、コントローラ性能への影響を予測することができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、管理装置が被管理装置を管理する技術に関し、特に、管理装置が、被管理装置が特定の処理を実行する際の処理性能を予測する技術に関する。
【背景技術】
【0002】
ネットワークシステムの性能を予測する技術としては、例えば、以下の特許文献1に示す技術がある。
特許文献1の技術では、稼動中のネットワークシステムをモニタすることにより、実負荷データを収集し、これをエミュレータに入力することにより、精度の高い予測を行うことを可能としている。
より具体的には、特許文献1では、以下の動作が開示されている。
1)稼働中の実ネットワーク上を流れる伝送フレームを監視する。
2)監視した伝送フレームのデータをタイムスタンプ付きで保存する。
3)保存したデータをネットワークで使用されているプロトコルと対比させることにより、制御とそれに対する応答の組み合わせを抽出する。
4)上記抽出した制御・応答の組み合わせのタイムスタンプを参照し、実ネットワークシステムにおける応答時間を求める。
5)応答時間と、通信を行ったコントローラの情報を整理して、データベースを作成する。
6)データベースをエミュレータに入力することにより、実ネットワークシステム上での稼動情報に基づいた性能予測を行う。
7)以上により、稼働中のネットワークシステムのアプリケーションを更新する際に、実ネットワークへの適用前に性能への影響を予測することができる。
【特許文献1】特開平7−58760号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
特許文献1の技術では、ネットワーク上を流れる制御、応答のやり取りを監視し、これをエミュレータに入力することにより性能予測を行うため、ある制御を行うことがネットワークシステムの性能に影響を与えるか判断するためには、その制御と応答、または類似した制御と応答のやり取りがネットワーク上を流れていなければならない。
しかし、例えば、ネットワークシステム内のコントローラのプログラムを更新したいとき、または障害が発生したときにその障害を解除したいときに、これらプログラム更新や障害解除の処理がネットワークシステムの性能に影響を与えないかを事前に判断しようとしても、これらの処理は稼働中のネットワークシステム上で常時行われているものではないため、ネットワーク上に対応する制御、応答のやり取りは流れておらず、応答性能が取得できない。
このため、特許文献1の技術では、システムの更新、障害復旧のような稀に発生する処理の影響を予測することができないという課題があった。
さらに、特許文献1の技術では、エミュレータを用いて予測した性能への影響を使用者(システム管理者)が検証し、適用の判断を行っており、使用者の負担が高いという課題があった。
【0004】
本発明は、上記のような課題を解決することを主な目的の一つとし、稼働中のコントローラおよびネットワーク等に負担を掛けることなく、ネットワークシステム上で稀かつ不定期に実行される制御に対しても、事前に性能への影響を予測することを可能とし、また、使用者の負担を軽減することを可能とする仕組みを提供することを主な目的とする。
【課題を解決するための手段】
【0005】
本発明に係る管理装置は、
被管理装置の制御を行う管理装置において、
前記被管理装置が特定の処理を実行する際の前記被管理装置の処理性能を予測するよう要求する処理性能予測要求を入力する要求入力部と、
前記要求入力部により前記処理性能予測要求が入力される前に、前記被管理装置の処理性能の予測に用いられる予測用情報を取得する情報取得部と、
前記要求入力部により前記処理性能予測要求が入力された場合に、前記情報取得部により取得されている前記予測用情報を用いて、前記被管理装置が前記特定の処理を実行する際の前記被管理装置の処理性能を予測する処理性能予測部とを有することを特徴とする。
【発明の効果】
【0006】
本発明によれば、稼働中の被管理装置に負担を掛けることなく、稀かつ不定期に実行される特定の処理の実行時の被管理装置の処理性能を事前に予測することが可能となり、予測した処理性能に基づいて、被管理装置に特定の処理を行わせるか否かの判断を適切に行うことができる。
【発明を実施するための最良の形態】
【0007】
実施の形態1.
本実施の形態では、性能予測に必要な情報をあらかじめ収集しておくことにより、システムの稼働中に、コントローラの演算処理や、ネットワークのトラフィックを増加させることなく、性能を予測する方式について説明する。
つまり、性能予測のために必要なデータをネットワークシステム運用開始時に予め収集し、データベースに蓄えておくことにより、稼働中のコントローラおよびネットワークに負担を掛けることなく、ネットワークシステム上で稀かつ不定期に実行される制御に対しても、事前に性能への影響を予測する方式について説明する。
【0008】
図1は、本実施の形態に係るシステム構成例を示す図である。
【0009】
管理装置1001は、ネットワーク1002を通じて、複数のコントローラ1003、1004、1005と接続され、ネットワークシステムを構成する。
各コントローラには、動作を制御するためのプログラムがロードされ、またネットワーク1002を通じて他のコントローラ、管理装置1001と通信を行う通信部を持っている。
例えば、コントローラ1003は、プログラム1006がロードされ、通信部1007を持っている。
図1には図示していないが、コントローラ1004、1005も同様の構成である。
なお、コントローラ1003〜1005の各々は、管理装置1001により制御される被管理装置の例である。
【0010】
管理装置1001は、外部との入出力を行うための入力部1008および出力部1014を備えている。
また、ネットワーク1002を通じてコントローラ1003、1004、1005から情報を収集する情報収集部1009を備える。収集された情報は、性能情報データベース1010に書き込まれる。
予測部1011は、コントローラの演算性能、通信性能など機器情報を保持する機器情報データベース1012と、性能情報データベース1010を参照し、処理時間を演算する機能を持つ。
予測部1011において演算された処理時間は判定部1013に渡され、出力部1014を通じて出力される。
【0011】
つまり、入力部1008は、被管理装置たるコントローラが特定の処理を実行する際のコントローラの処理性能を予測するよう要求する制御処理時間予測要求(処理性能予測要求)を入力する。入力部1008は、要求入力部の例である。
情報収集部1009は、入力部1008により制御処理時間予測要求(処理性能予測要求)が入力される前に、コントローラの処理性能の予測に用いられる性能情報(予測用情報)を取得する。より、具体的には、情報収集部1009は管理装置1001においてコントローラの制御を行うための準備が行われる初期化処理中に、性能情報を取得する。
そして、入力部1008は、初期化処理の終了後に、制御処理時間予測要求を入力する。
また、情報収集部1009は、取得した性能情報を性能情報データベース1010に格納する。
情報収集部1009は、情報取得部の例である。
また、性能情報データベース1010は、情報記憶部の例である。
【0012】
機器情報データベース1012は、コントローラの処理の演算能力、通信能力を保持するデータベースである。
予測部1011は、入力部1008により制御処理時間予測要求が入力された場合に、情報収集部1009により取得され性能情報データベース1010に格納されている性能情報と機器情報データベース1012に格納されている機器情報を用いて、コントローラが特定の処理を実行する際のコントローラの処理性能を予測する。
予測部1011は、処理性能予測部の例である。
また、判定部1013は、コントローラに特定の処理を実行させるかどうかを判定する。
【0013】
図2は、本実施の形態に係る管理装置1001の動作例を示すフローチャート図である。
図2の処理の詳細は、後述する。
【0014】
図3は、特定の処理の例として、コントローラ1003のプログラムを更新する場合のコントローラ1003の処理の流れを示している。
まず、図3の各処理について説明する。
【0015】
例えば、管理装置1001がコントローラ1003に対してプログラム更新を要求すると、コントローラ1003は、実行中の旧版プログラムをバックアップ領域にコピーした後(処理3001)、コピーされたバックアップ領域上の旧版プログラムに処理を移す(処理3002)、続いて通信部1007を通じて管理装置1001から新版プログラムを取得し(処理3003)、新版プログラムを旧版プログラムが記憶されていた領域に書き込む(処理3004)。
次に、コントローラ1003は、新版プログラムの書き込みが成功したかを確認し(判定3005)、成功した場合は、プログラムの実行をバックアップ領域上の旧版プログラムから、新版プログラムに切り替え(処理3006)、最後にバックアップ領域上の旧版プログラムを削除して(処理3007)終了する。
逆に、判定3005において新版プログラムの書き込みに失敗していた場合は、異常終了するが、この場合もバックアップ領域上の旧版プログラムによりコントローラ1003の稼動は継続される。
【0016】
また、図4は、同様に上記コントローラのプログラム更新処理において、機器情報データベース1012に書き込まれている情報の例4001(図4(a))と性能情報データベース1010に書き込まれる情報の例4002(図4(b))を示している。
例えば、図4(b)の性能情報データベースのデータ例4002に示した例では、コントローラの番号毎にコントローラの形式(TYPExx)、メモリ容量(Smxx)、プログラムサイズ(Spxx)が格納されている。これらの情報は、初期化処理中に情報収集部1009により各コントローラから収集され、性能情報データベース1010に格納される。
また、例えば、図4(a)の機器情報データベースのデータ例4001に示す例では、コントローラの形式毎に単位サイズのメモリ読み出し性能(Pmrxx)、単位サイズのメモリ書き込み性能(Pmwxx)、単位サイズのネットワーク読み出し性能(Pnrxx)、単位サイズのネットワーク書き込み性能(Pnwxx)、処理切り替え時間(Tsw)、判定処理時間(Pjgxx)が格納されている。
これら個別の処理能力は、一般的にコントローラに内蔵されるプロセッサ、メモリ、ネットワークコントローラなどのハードウェア構成、ソフトウェアによる制御方式により一意に決定できるため、あらかじめネットワークシステムを構成するすべての機器に対してデータベースを構築しておくものとする。
【0017】
次に、図1、図3及び図4を参照しながら、図2のフローチャートに従って、本実施の形態に係る管理装置1001の動作について説明する。
【0018】
図1に示したネットワークシステムを起動すると、処理2001において、情報収集部1009は、ネットワーク1002を経由して接続されたコントローラ1003、1004、1005から性能に関わる設定情報を取得する。
例えば、プログラム更新においては、演算処理性能を予測するためにコントローラの型名を取得し、また、プログラムのネットワーク経由での転送時間、メモリへの読み出し、書き込み時間を予測するためのプログラムのサイズを取得する。
次に、処理2002において、情報収集部1009は、収集した情報を性能情報データベース1010に保存する。
例えば、図4(b)に示した例では、コントローラの番号毎にコントローラの形式(TYPExx)、メモリ容量(Smxx)、プログラムサイズ(Spxx)を書き込む。
これら処理2001、2002は、コントローラの制御を行うための準備が行われる初期化処理中に行われ、その後、管理装置1001及びネットワークシステムは通常の運転を開始する。
通常の運転中に、例えばコントローラ1003のプログラムを更新する場合、入力部1008を通じてプログラム更新処理におけるコントローラ1003の処理時間の予測を要求する制御処理時間予測要求(処理性能予測要求)の入力を受け、性能予測を開始する(処理2003)。
予測部1011は、性能情報データベース1010、機器情報データベース1012を参照し(処理2004)、処理時間の予測演算を行う(処理2005)。
【0019】
ここで、処理2005におけるコントローラの処理時間の演算方法について述べる。
図3は、先に述べた通り、コントローラがプログラム更新を行う際の典型的な処理の流れである。
予測部1011は、この流れに沿って、性能情報データベース1010および機器情報データベース1012を参照しながら、コントローラ1003のプログラム更新処理を模擬することによって処理時間を予測演算する。
具体的には、まず、処理3001において、コントローラ1003が旧版のプログラムをメモリ上のバックアップ領域にコピーする処理を模擬して処理時間を計算する。
予測部1011は、性能情報データベース1010から、更新対象のコントローラ1003の形式(TYPE01)を取得し、これをキーとして機器情報データベース1012を参照することにより、サイズ単位あたりのメモリの読み出し性能(Pmr01[MB/秒])、書き込み性能(Pmw01[MB/秒])の値を取得する。
また、性能情報データベース1010から、コントローラ1003の旧版のプログラムサイズがSp01[MB]であることを取得する。
これらの情報から、コントローラ1003が、サイズSp01のプログラムを、メモリから読み出し性能Pmr01で読み出し、メモリのバックアップ領域に書き込み性能Pmw01でバックアップする処理時間を求めることができる。
次に、コントローラ1003の運転を継続するために、バックアップ領域に制御を切り替える。
このための処理3002の時間は、機器情報データベースのデータ例4001を参照することにより、Tsw01[秒]であることが分かる。
次に、コントローラ1003が新版プログラムを受信するための処理3003の時間は、プログラム更新の要求時に受け取った新版のプログラムサイズと、機器情報データベースから、ネットワーク読み出し性能Pnr01[MB/秒]を参照することにより求めることができる。
予測部1011は、以下同様にして、新版のプログラムサイズと、メモリ書き込み性能Pmw01[MB/秒]から新版プログラムの書き込み処理3004の時間を、Tjg01から判定処理3005の時間を、再びTsw01から新版プログラムへの制御移行3006の時間を、旧版プログラムサイズSp01とメモリ書き込み性能Pmw01からバックアップ領域の消去3007の時間を求めることができ、これら図3に示した個別の処理時間から、コントローラ1003のプログラム更新に要する処理時間の合計を求めることができる。
【0020】
次に、管理装置1001は、出力部1014を通じて、予測部1011による処理時間の予測値を出力する(処理2006)。
管理装置1001は、再び入力部1008から、指示を受け取り(処理2007)、判定部1013が、処理実施の指示であるか判定を行い(判定2008)、処理実施の指示であった場合は、判定部1013は、コントローラ1003に対してプログラム更新を指示すると共に、新版プログラムをネットワーク1002を経由して送付する(処理2009)。
一方、判定2008の結果がNOであった場合は、プログラム更新処理を行わず、図2の一連の処理を終了する。
【0021】
以上のように、本実施の形態では、ネットワークシステムを構成する機器の性能に関する情報をシステム起動時に予め取得しておき、機器の処理フロー、処理性能のデータベースとあわせて参照することにより、稼働中のコントローラに情報提供のための処理を行わせることなく、また、ネットワーク上のトラフィックも増加させることなく、制御を行う前に処理時間を予測することができるという効果がある。
この方法によれば、例えば運転効率を上げるために、極めて少ないマージンで協調動作を行っているネットワークシステムにおいて、予測処理の中で発生するコントローラ、ネットワークの負荷上昇によりネットワークシステムの性能に影響を与える危険を避けることができる効果がある。
また、本方式によれば、処理時間を予測するために、定常運転中にネットワーク上を監視しても取得できない情報(例えば、上記例における各コントローラのプログラムサイズなど)が必要な、特殊な処理についても、性能予測を行うことができるという効果がある。
【0022】
以上、本実施の形態では、複数のコントローラと管理装置がネットワーク接続されたシステムで、管理装置がコントローラに対して制御を行う際に、制御を行ったときのシステムの性能に対する影響を事前に予測する方法において、以下の機能を備える管理装置および性能予測方法について説明した。
(a)処理性能を予測するための情報を収集する情報収集部、
(b)収集した情報を保持するデータベース、
(c)情報から処理時間を演算する予測部、
(d)処理時間からシステム性能に対する影響を判定する判定部。
【0023】
また、本実施の形態では、複数のコントローラと管理装置がネットワーク接続されたシステムで、管理装置がコントローラに対して制御を行う際に、制御を行ったときのシステムの性能に対する影響を事前に予測する方法において、システムの運転開始時に、予め情報収集部が各コントローラから処理性能を予測するための情報を収集する管理装置および性能予測方法について説明した。
【0024】
複数のコントローラと管理装置がネットワーク接続されたシステムで、管理装置がコントローラに対して制御を行う際に、制御を行ったときのシステムの性能に対する影響を事前に予測する方法において、以下の機能を備え、
(e)システム使用者からの制御命令を受け取る入力部、
(f)システム使用者に判定結果を知らせる出力部、
システムの運転開始時に、処理性能を予測するための情報を予め収集し、入力部を通じて使用者から制御実行の要求があった際に、予測部が演算した処理時間によって判定部がシステム性能への影響を判定し、判定結果を出力部を通じて使用者に示し、処理実施有無を使用者に判断させる管理装置および性能予測方法について説明した。
【0025】
実施の形態2.
本実施の形態では、コントローラにおけるアイドル時間を監視することにより、新たな制御を追加するときに、既存の処理性能に影響を与えないことを事前に検証する方法について説明する。
【0026】
以上の実施の形態1では、管理装置が制御の実施要求を受けたときに、コントローラに対する制御を実行する前に、処理時間を予測し結果を出力することにより、実施有無の確認を求める制御装置を示したものであるが、実施の形態2においては、ネットワークに接続されたコントローラにアイドル時間(空き時間)が存在する場合に、管理装置が性能への影響を判定する例、および判定結果によって特定の条件下での実施有無判断を自動的に行う例について述べる。
【0027】
実施の形態2におけるシステムの構成は、実施の形態1と同じ(図1に示す構成)であるため、詳しい説明は省略する。
図5は、本実施の形態に係る管理装置1001の動作例を示すフローチャート図である。
図5の各処理の詳細は後述する。
【0028】
図6は運転中の定常状態における、一般的なコントローラの処理の流れを示している。
コントローラは、運転開始直後に一度初期化処理6001を行った後、演算処理6002、周辺機器との入出力処理6003、ネットワークとの通信処理6004を繰り返す。
ネットワークシステムの他のコントローラとの協調動作を行うため、通常アイドル時間6005により処理時間を調整し、範囲6007の繰り返し処理が一定になるように制御される。
仮に演算処理6002が条件分岐を含まず固定時間で処理され、入出力処理6003、通信処理6004も同様に固定時間で処理される場合は、範囲6007を一定にするためのアイドル時間6005も常に同じ時間となるため、アイドル時間が一定の場合は、上記実施の形態1の方法と同様に、管理装置1001の定常運転開始前(初期化処理中)に情報収集部1009がネットワーク1002を通じて、接続されたコントローラ1003、1004、1005からアイドル時間の長さの情報を取得し、性能情報データベース1010に保持しておくことによって、容易に各コントローラのアイドル時間の値を用いた判定が可能となるため、ここでは詳しい説明は行わない。
以下では、演算処理6002、入出力処理6003、通信処理6004が処理サイクル毎に異なる値をとり、その吸収のためにアイドル時間も処理サイクル毎に異なる値となる場合について、図5を参照して、本実施の形態に係る管理装置1001の動作を説明する。
【0029】
処理を開始してから処理時間の予測演算を行うまでの流れ(処理5001〜5005)は、上記の実施の形態1と同様であるため、説明は省略する。
これらの処理に続き、情報収集部1009は、ネットワーク1002を通じて、制御対象となるコントローラ1003からアイドル時間の長さを示すアイドル時間情報を取得する(処理5006)。
次に、処理5005において計算した処理時間と、上記で取得したアイドル時間情報に示されるアイドル時間の値を比較する(判定5007)。
アイドル時間が処理時間より長いと判定された場合(判定5007でYES)は、出力は行わず、直接処理(例えば、コントローラにおけるプログラムの更新)を実施する(処理5008)。
逆にアイドル時間より処理時間が長いと判定された場合(判定5007でNO)は、出力部1014が、予測した処理時間と、アイドル時間の値を出力する(処理5009)。
管理装置1001は、再び入力部1008から、指示を受け取り(処理5010)、判定部1013が処理実施の指示であるか判定を行い(判定5011)、処理実施の指示であった場合は、判定部1013はコントローラ1003に対して処理実施を指示する(処理5008)。
一方、判定5011の結果がNOであった場合は、処理の指示は行わず、図5の一連の処理を終了する。
【0030】
以上のように、ネットワークシステムを構成する機器の性能に関する情報をシステム起動時に予め取得しておき、判定部においてアイドル処理時間と予測した処理時間を比較する仕組みを持つことにより、判定の処理の一部(処理時間がアイドル時間に収まる場合)を自動化することが可能となり、管理装置の入出力を行うシステム管理者の作業負荷を軽減する効果がある。
また、稼働中のコントローラ、ネットワークに対する負荷の影響は、演算処理、入出力処理、通信処理が固定的な場合は上記実施の形態1と同様に負荷を無くすことができ、逆に毎回アイドル時間が変化する場合においても、稼働中のコントローラの処理、ネットワーク上のトラフィック増加は最小限に抑えることができるという効果がある。
【0031】
以上、本実施の形態では、複数のコントローラと管理装置がネットワーク接続されたシステムで、管理装置がコントローラに対して制御を行う際に、制御を行ったときのシステムの性能に対する影響を事前に予測する方法において、以下の機能を備え、
(g)コントローラのアイドル時間を監視する監視部、
システムの運転開始時に、処理性能を予測するための情報を予め収集し、入力部を通じて使用者から制御実行の要求があった際に、予測部は処理時間を演算し、また、監視部は処理を行うコントローラのアイドル時間を取得し、判定部は、処理時間とアイドル時間を比較することによりシステム性能に対する影響を判定する管理装置および性能予測方法について説明した。
【0032】
また、本実施の形態では、複数のコントローラと管理装置がネットワーク接続されたシステムで、管理装置がコントローラに対して制御を行う際に、制御を行ったときのシステムの性能に対する影響を事前に予測する方法において、システムの運転開始時に、処理性能を予測するための情報を予め収集し、処理時間の演算と、アイドル時間の取得を行い、判定部は、処理時間とアイドル時間を比較することによりシステム性能に対する影響を判定し、システム性能への影響がないと判定された場合は、制御を実行し、システム性能への影響があると判定された場合は、制御を保留し、出力装置を通じて使用者に実施確認を求める管理装置及び性能予測方法について説明した。
【0033】
実施の形態3.
本実施の形態では、使用者から処理の要求があったときに、処理を実行する前に、実行した場合の性能への影響に関する情報を提供し、また判断を一部自動化することにより、使用者の負担を軽減する例について説明する。
【0034】
以上の実施の形態2では、ネットワークに接続されたコントローラにアイドル時間が常に存在する場合に、管理装置が制御対象となるコントローラからアイドル時間の値を取得し、これと処理時間の予測値を比較することにより、処理実施の判定を行う制御を示したものであるが、実施の形態3においては、要求された処理時間以外にアイドル時間内に実行される可能性がある別の処理が存在する場合の制御について説明する。
【0035】
実施の形態3におけるシステム構成は、実施の形態1と同じ(図1に示す構成)であるため、詳しい説明は省略する。
また、実施の形態3におけるコントローラの動作は、実施の形態2と同じように図6に示した通りであるが、一般にコントローラは、アイドル時間6005を利用して低優先度のプログラムを実行する機能を有しており、リアルタイム性の要求が低い処理(たとえば印刷など)を必要に応じて行う機能を備えている。
実施の形態3では、低優先度のプログラムがアイドル時間6005を利用する可能性があり、また、本低優先度のプログラムは、アイドル時間内に処理を確実に終えるため、固定的な処理時間を要する処理であることとする。
【0036】
図7は、本実施の形態に係る管理装置1001の動作例を示すフローチャート図である。
【0037】
以下、図7を参照して、本実施の形態に係る管理装置1001の動作について説明する。
最初に、情報収集部1009は、ネットワーク1002を通じてコントローラ1003、1004、1005の情報を取得する。
実施の形態3においては、上記実施の形態1、2で用いた情報に加えて、アイドル時間6005で実行される可能性のある低優先度のプログラム(アイドル実行予定処理)の情報(アイドル実行予定処理情報)を取得する(処理7001)。
上記した通り、低優先度のプログラムは、アイドル時間内に確実に処理を終えるため、条件によらず固定的な処理時間を持つものとする。
次に予測部1011において、低優先度のプログラムの処理時間を予測演算する(処理7002)。
この処理時間の予測演算方法については、実施の形態1に示した処理時間の演算方法と同様に、処理7001で取得した低優先度プログラムの内容を解析し、機器情報データベース1012に保持されているコントローラの命令処理、演算時間を用いて行うものであるため、詳しい説明は省略する。
次に処理7001、7002で取得、演算した値を性能情報データベース1010に保存する(処理7003)。
管理装置1001が制御要求の入力を受けてから、制御対象のコントローラのアイドル時間を取得するまで(処理7004から7007)は、上記実施の形態2とほぼ同様であるため、詳しい説明を省略するが、処理7004において要求を受け取る際に、低優先度プログラムと要求された処理のどちらを優先させるかをあわせて入力することとする。
【0038】
次に、判定部1013は、低優先度のプログラムの予測処理時間、入力された制御の予測処理時間、アイドル時間を比較する(判定7008)。
そして、アイドル時間中に低優先度のプログラムと、入力された制御に伴う処理の両方が実行できる場合、つまり低優先度のプログラムの予測処理時間と要求されている処理の予測処理時間の合計時間よりもアイドル時間が長い場合(判定7008でYES)は、両処理を実施する(処理7009、7010)。
逆に、アイドル時間内に両方の処理が実施できない場合、つまりアイドル時間が低優先度のプログラムの予測処理時間と要求されている処理の予測処理時間の合計時間以下の場合(判定7008でNO)、処理7004で入力された優先度に従って実施する処理を判定する(判定7011)。
つまり、アイドル時間内に優先的に実行する処理として、低優先度プログラムが設定されていた場合(判定7011でYES)は、低優先度プログラムを実行し(処理7012)、要求された制御処理が実行できなかったことを出力する(処理7013)。
また、アイドル時間内に優先的に実行する処理として、要求された制御が設定されていた場合(判定7011でNO)は、要求された制御の処理時間とアイドル時間の比較を行い(判定7014)、要求された制御の処理時間がアイドル時間内に収まる場合(判定7014でYES)は、コントローラ1003に処理を実行させる(処理7015)。
要求された制御の処理時間がアイドル時間に納まらない場合(判定7014でNO)は、アイドル時間が不足していることを示す。
【0039】
なお、本実施の形態では、予測部1011が、低優先度のプログラムの処理時間を予測することとしたが、情報収集部1009が、各コントローラから低優先度のプログラムの処理時間を示す情報を取得するようにしてもよい。
【0040】
以上のように、本実施の形態では、ネットワークシステムを構成する機器の性能に関する情報をシステム起動時に予め取得しておき、管理装置がアイドル時間を監視すると共に、アイドル時間内に行われている別の処理の処理時間を予測することによって、コントローラのアイドル時間を有効に利用して通常運転に影響を与えることなく、要求した制御が実施できるかを事前に検証することができる効果がある。
また、アイドル時間内に実行される可能性がある他の処理との衝突を防ぐ効果がある。
さらに、上記実施の形態2同様に、システム管理者の作業負荷を軽減する効果がある。
【0041】
以上、本実施の形態では、複数のコントローラと管理装置がネットワーク接続されたシステムで、管理装置がコントローラに対して制御を行う際に、制御を行ったときのシステムの性能に対する影響を事前に予測する方法において、システムの運転開始時に、処理性能を予測するための情報を予め収集し、入出力部を通じて使用者から制御実行の要求があった際に、予測部は処理時間を演算し、また、監視部は処理を行うコントローラのアイドル時間と、アイドル時間内に実行が予定されている低優先度処理の処理時間を取得し、判定部は、アイドル時間、制御処理時間、低優先度処理時間を比較し、制御処理と低優先度処理両方がアイドル時間に納まると判定された場合は、制御を実行し、両方の実行がアイドル時間に収まらないと判定された場合は、出力部を通じて使用者に通知し、使用者の選択に従って低優先度処理、または制御処理の片方を実行する管理装置及び性能予測方法について説明した。
【0042】
実施の形態4.
以上の実施の形態1〜3では、管理装置がコントローラからあらかじめ収集した性能に関する情報を元に、稼働中のコントローラまたはネットワークに影響を与えずに、処理時間を予測演算し、制御を実行した場合のネットワークシステムの影響を事前に知る方法について示したものであるが、実施の形態4においては、あらかじめ収集した性能に関する情報が制御を行うことにより変更となる場合に、これを更新するための方法について説明する。
【0043】
実施の形態4におけるシステム構成は、実施の形態1と同じ(図1に示す構成)であるため、詳しい説明は省略する。
【0044】
図8は、本実施の形態に係る管理装置1001の動作例を示すフローチャート図である。
図8では、管理装置1001が、コントローラ1003、1004、1005に対して制御を行った後、性能情報データベースの更新を行う処理の全体の流れを示している。
以下、図1および図8を用いて実施の形態4の動作について説明するが、開始してから処理を実施するまでの流れ(処理8001〜処理8009)は実施の形態1と同様であるため、説明は省略する。
【0045】
コントローラによって、処理が実施された後、情報収集部1009は、管理装置1001内の性能情報データベース1010の更新を行う(処理8010)。
例えば、実施の形態1の制御の例として使用したコントローラ1003のプログラムを更新する処理では、コントローラ内にロードされているプログラムのサイズSp01が処理時間を演算するために必要なパラメータの一つとなっているが、プログラムの更新が完了した後、データベース内の情報を更新後プログラムサイズに書き直す必要がある。
コントローラ1003は、指示されたプログラムの更新処理が完了したことを管理装置1001に通知する。通知を受けた管理装置1001は、情報収集部1009を通じて更新後の情報を取得し、性能情報データベース1010を更新する(処理8010)。
このときの情報取得方法は、たとえば上記例で用いているプログラムの更新処理においては、入力部1008を経由して制御の要求を受け付ける処理(処理8003)において、新版のプログラムが入力されるため、このサイズの値を情報収集部1009が保持し、コントローラからの処理完了通知を受け取った後、性能情報データベース1010を更新することによって実現することができる。この意味で、情報収集部1009は更新部の例でもある。
また、情報収集部1009は、コントローラ内部にのみ存在する情報の更新が必要であるか否か、換言すれば、入力部1008から入力された情報でコントローラの処理性能が予測可能であるかを判断し、コントローラ内部にのみ存在する情報の更新が必要である場合(入力部1008から入力された情報ではコントローラの処理性能の予測が可能でない場合)は、処理8010において、コントローラから管理装置1001に対して処理完了を通知する際に、情報収集部1009は、あわせて更新後の情報の送信を要求する。
要求を受けたコントローラは、例えば、自身の演算処理のアイドル時間を利用して情報を予測し、またネットワークのアイドル時間を利用して、更新後の情報を管理装置1001に送り、情報収集部1009が更新後の情報を受け取り、性能情報データベース1010を更新する。
【0046】
以上のように、本実施の形態によれば、ネットワークシステムを構成する機器の性能に関する情報をシステム起動時に予め取得しておき、制御の処理時間を予測した後、収集済みの情報を更新することによって、次回に同様の制御を行う際に、システム起動時に情報を再収集する必要がなく、ネットワークシステム内のコントローラ、ネットワークに影響することなく、処理時間を予測できるという効果がある。
【0047】
以上、本実施の形態では、複数のコントローラと管理装置がネットワーク接続されたシステムで、管理装置がコントローラに対して制御を行う際に、制御を行ったときのシステムの性能に対する影響を事前に予測する方法において、収集した情報を更新する更新部を備え、システムの運転開始時に、処理性能を予測するための情報を予め収集し、入出力部を通じて使用者から制御実行の要求があった際に、予測部は処理時間を演算し、また、制御を実行することにより収集済みの情報が更新される場合は、その更新後の値を予測演算し、制御実行後に、書き換え部がデータベースの情報を更新する管理装置及び性能予測方法について説明した。
【0048】
また、本実施の形態では、複数のコントローラと管理装置がネットワーク接続されたシステムで、管理装置がコントローラに対して制御を行う際に、制御を行ったときのシステムの性能に対する影響を事前に予測する方法において、処理時間の予測を行い、制御を実行することにより収集済みの情報が更新され、かつ更新後の値が管理装置の持つ情報から予測演算できない場合に、管理装置は制御対象のコントローラに対し情報更新を要求し、要求を受けたコントローラは、自身の演算処理のアイドル時間を利用して情報を予測し、またネットワークのアイドル時間を利用して、更新後の情報を管理装置に送り、管理装置の収集部がデータベースを更新する管理装置および性能予測方法について説明した。
【0049】
実施の形態5.
以上の実施の形態1〜4では、性能を予測する例として、ネットワークシステムに接続されたコントローラのプログラムを更新する制御について述べたが、実施の形態5においては、ネットワークに接続されたコントローラに障害が発生し、障害の要因を取り除いた後に、障害発生状態を解除する際の制御について説明する。
【0050】
実施の形態5におけるシステム構成は、実施の形態1と同じ(図1に示す構成)であるため、詳しい説明は省略する。
【0051】
図9は、ネットワークシステムに接続されたコントローラの一台、たとえばコントローラ1003の障害状態を解除する際の、管理装置1001の処理の流れを、また、図10は障害の発生したコントローラ1003の処理の流れを示している。
さらに、図11は、図1における機器情報データベース1012のデータ例11001(図11(a)と、性能情報データベース1010のデータ例11002(図11(b))を示している。
【0052】
以下、これらの図を用いて、コントローラ1003で発生した障害状態を解除し、ネットワークシステムに復帰させるまでの動作について説明するが、図9において、性能予測に必要なデータを情報収集部1009があらかじめ取得し、性能情報データベース1010に書き込む処理(処理9001、9002)については、上記実施の形態1と同様であるため、詳しい説明は省略する。
【0053】
ネットワークシステムに接続されたコントローラ1003に障害が発生した場合、コントローラ1003は障害の発生を検知し(処理10005)、運転状態を示すフラグなどを用いて障害発生と発生した障害の種類を示すと共に(処理10006)、通常の制御処理を停止し、通常運転に復帰する指示を待つ(処理10001、判断10002)。
一方、管理装置1001は、コントローラ1003、1004、1005の運転状態を監視し(処理9003)、たとえばコントローラ1003が障害発生を報告した場合(判定9004でYES)は、他のコントローラ1004、1005によってネットワークシステムを稼動させつつ、システム管理者にコントローラ1003における障害発生を通知する(処理9005)。
システム管理者はコントローラ1003に発生した障害の要因を取り除いた後(処理9006)、入力部1008から、コントローラ1003の障害状態を解除し、ネットワークシステムに復帰するよう指示を行う(処理9007)。
一般に、コントローラにおける障害状態解除の処理に要する時間は、コントローラの機器構成および発生した障害の種類によって一意に決定することができるため、予測部1011は、性能情報データベース1010からコントローラ1003の型名を特定し、また運転状態を示すフラグなどから発生した障害の種類を特定し、機器情報データベース1012を参照することにより、例えば障害(1)が発生した場合の障害解除時間Ter103[秒]を予測することができる(処理9008、9009)。
次に、管理装置1001は、出力部1014を通じて、予測部1011による処理時間の予測値を出力する(処理9010)。
管理装置1001は、再び入力部1008から、指示を受け取り(処理9011)、判定部1013が処理実施の指示であるか判定を行い(判定9012)、処理実施の指示であった場合は、判定部1013はコントローラ1003に対して障害状態の解除を指示する(処理9013)。
【0054】
コントローラ1003は、障害解除の指示を受け取ると(判定10002)、運転状態を示すフラグなどを更新し、障害状態を解除して(処理10003)、通常の処理に復帰する(処理10004)。
【0055】
以上のように、本実施の形態によれば、ネットワークシステムを構成する機器の性能に関する情報をシステム起動時にあらかじめ取得しておき、機器情報、性能情報のデータベースとあわせて参照することにより、障害が発生したコントローラの障害を解除する際に、ネットワーク上のトラフィックを増加させることなく、制御を行う前に処理時間を予測することができるという効果がある。
【0056】
最後に、実施の形態1〜5に示した管理装置1001のハードウェア構成例について説明する。
図12は、実施の形態1〜5に示す管理装置1001のハードウェア資源の一例を示す図である。
なお、図12の構成は、あくまでも管理装置1001のハードウェア構成の一例を示すものであり、管理装置1001のハードウェア構成は図12に記載の構成に限らず、他の構成であってもよい。
【0057】
図12において、管理装置1001は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
【0058】
通信ボード915は、図1に示すように、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。
【0059】
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
【0060】
また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
【0061】
また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
管理装置1001の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
【0062】
上記プログラム群923には、実施の形態1〜5の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
【0063】
ファイル群924には、実施の形態1〜5の説明において、「〜の判断」、「〜の判定」、「〜の演算」、「〜の計算」、「〜の比較」、「〜の予測」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜5で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0064】
また、実施の形態1〜5の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1〜5の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜5の「〜部」の手順や方法をコンピュータに実行させるものである。
【0065】
このように、実施の形態1〜5に示す管理装置1001は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【図面の簡単な説明】
【0066】
【図1】実施の形態1に係るシステム構成例を示す図。
【図2】実施の形態1に係る管理装置の動作例を示すフローチャート図。
【図3】実施の形態1に係るコントローラの動作例を示すフローチャート図。
【図4】実施の形態1に係る管理装置のデータベースのデータ例を示す図。
【図5】実施の形態2に係る管理装置の動作例を示すフローチャート図。
【図6】実施の形態2に係るコントローラの動作例を示すフローチャート図。
【図7】実施の形態3に係る管理装置の動作例を示すフローチャート図。
【図8】実施の形態4に係る管理装置の動作例を示すフローチャート図。
【図9】実施の形態5に係る管理装置の動作例を示すフローチャート図。
【図10】実施の形態5に係るコントローラの動作例を示すフローチャート図。
【図11】実施の形態5に係る管理装置のデータベースのデータ例を示す図。
【図12】実施の形態1〜5に係る管理装置のハードウェア構成例を示す図。
【符号の説明】
【0067】
1001 管理装置、1002 ネットワーク、1003 コントローラ、1004 コントローラ、1005 コントローラ、1006 プログラム、1007 通信部、1008 入力部、1009 情報収集部、1010 性能情報データベース、1011 予測部、1012 機器情報データベース、1013 判定部、1014 出力部。
【技術分野】
【0001】
本発明は、管理装置が被管理装置を管理する技術に関し、特に、管理装置が、被管理装置が特定の処理を実行する際の処理性能を予測する技術に関する。
【背景技術】
【0002】
ネットワークシステムの性能を予測する技術としては、例えば、以下の特許文献1に示す技術がある。
特許文献1の技術では、稼動中のネットワークシステムをモニタすることにより、実負荷データを収集し、これをエミュレータに入力することにより、精度の高い予測を行うことを可能としている。
より具体的には、特許文献1では、以下の動作が開示されている。
1)稼働中の実ネットワーク上を流れる伝送フレームを監視する。
2)監視した伝送フレームのデータをタイムスタンプ付きで保存する。
3)保存したデータをネットワークで使用されているプロトコルと対比させることにより、制御とそれに対する応答の組み合わせを抽出する。
4)上記抽出した制御・応答の組み合わせのタイムスタンプを参照し、実ネットワークシステムにおける応答時間を求める。
5)応答時間と、通信を行ったコントローラの情報を整理して、データベースを作成する。
6)データベースをエミュレータに入力することにより、実ネットワークシステム上での稼動情報に基づいた性能予測を行う。
7)以上により、稼働中のネットワークシステムのアプリケーションを更新する際に、実ネットワークへの適用前に性能への影響を予測することができる。
【特許文献1】特開平7−58760号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
特許文献1の技術では、ネットワーク上を流れる制御、応答のやり取りを監視し、これをエミュレータに入力することにより性能予測を行うため、ある制御を行うことがネットワークシステムの性能に影響を与えるか判断するためには、その制御と応答、または類似した制御と応答のやり取りがネットワーク上を流れていなければならない。
しかし、例えば、ネットワークシステム内のコントローラのプログラムを更新したいとき、または障害が発生したときにその障害を解除したいときに、これらプログラム更新や障害解除の処理がネットワークシステムの性能に影響を与えないかを事前に判断しようとしても、これらの処理は稼働中のネットワークシステム上で常時行われているものではないため、ネットワーク上に対応する制御、応答のやり取りは流れておらず、応答性能が取得できない。
このため、特許文献1の技術では、システムの更新、障害復旧のような稀に発生する処理の影響を予測することができないという課題があった。
さらに、特許文献1の技術では、エミュレータを用いて予測した性能への影響を使用者(システム管理者)が検証し、適用の判断を行っており、使用者の負担が高いという課題があった。
【0004】
本発明は、上記のような課題を解決することを主な目的の一つとし、稼働中のコントローラおよびネットワーク等に負担を掛けることなく、ネットワークシステム上で稀かつ不定期に実行される制御に対しても、事前に性能への影響を予測することを可能とし、また、使用者の負担を軽減することを可能とする仕組みを提供することを主な目的とする。
【課題を解決するための手段】
【0005】
本発明に係る管理装置は、
被管理装置の制御を行う管理装置において、
前記被管理装置が特定の処理を実行する際の前記被管理装置の処理性能を予測するよう要求する処理性能予測要求を入力する要求入力部と、
前記要求入力部により前記処理性能予測要求が入力される前に、前記被管理装置の処理性能の予測に用いられる予測用情報を取得する情報取得部と、
前記要求入力部により前記処理性能予測要求が入力された場合に、前記情報取得部により取得されている前記予測用情報を用いて、前記被管理装置が前記特定の処理を実行する際の前記被管理装置の処理性能を予測する処理性能予測部とを有することを特徴とする。
【発明の効果】
【0006】
本発明によれば、稼働中の被管理装置に負担を掛けることなく、稀かつ不定期に実行される特定の処理の実行時の被管理装置の処理性能を事前に予測することが可能となり、予測した処理性能に基づいて、被管理装置に特定の処理を行わせるか否かの判断を適切に行うことができる。
【発明を実施するための最良の形態】
【0007】
実施の形態1.
本実施の形態では、性能予測に必要な情報をあらかじめ収集しておくことにより、システムの稼働中に、コントローラの演算処理や、ネットワークのトラフィックを増加させることなく、性能を予測する方式について説明する。
つまり、性能予測のために必要なデータをネットワークシステム運用開始時に予め収集し、データベースに蓄えておくことにより、稼働中のコントローラおよびネットワークに負担を掛けることなく、ネットワークシステム上で稀かつ不定期に実行される制御に対しても、事前に性能への影響を予測する方式について説明する。
【0008】
図1は、本実施の形態に係るシステム構成例を示す図である。
【0009】
管理装置1001は、ネットワーク1002を通じて、複数のコントローラ1003、1004、1005と接続され、ネットワークシステムを構成する。
各コントローラには、動作を制御するためのプログラムがロードされ、またネットワーク1002を通じて他のコントローラ、管理装置1001と通信を行う通信部を持っている。
例えば、コントローラ1003は、プログラム1006がロードされ、通信部1007を持っている。
図1には図示していないが、コントローラ1004、1005も同様の構成である。
なお、コントローラ1003〜1005の各々は、管理装置1001により制御される被管理装置の例である。
【0010】
管理装置1001は、外部との入出力を行うための入力部1008および出力部1014を備えている。
また、ネットワーク1002を通じてコントローラ1003、1004、1005から情報を収集する情報収集部1009を備える。収集された情報は、性能情報データベース1010に書き込まれる。
予測部1011は、コントローラの演算性能、通信性能など機器情報を保持する機器情報データベース1012と、性能情報データベース1010を参照し、処理時間を演算する機能を持つ。
予測部1011において演算された処理時間は判定部1013に渡され、出力部1014を通じて出力される。
【0011】
つまり、入力部1008は、被管理装置たるコントローラが特定の処理を実行する際のコントローラの処理性能を予測するよう要求する制御処理時間予測要求(処理性能予測要求)を入力する。入力部1008は、要求入力部の例である。
情報収集部1009は、入力部1008により制御処理時間予測要求(処理性能予測要求)が入力される前に、コントローラの処理性能の予測に用いられる性能情報(予測用情報)を取得する。より、具体的には、情報収集部1009は管理装置1001においてコントローラの制御を行うための準備が行われる初期化処理中に、性能情報を取得する。
そして、入力部1008は、初期化処理の終了後に、制御処理時間予測要求を入力する。
また、情報収集部1009は、取得した性能情報を性能情報データベース1010に格納する。
情報収集部1009は、情報取得部の例である。
また、性能情報データベース1010は、情報記憶部の例である。
【0012】
機器情報データベース1012は、コントローラの処理の演算能力、通信能力を保持するデータベースである。
予測部1011は、入力部1008により制御処理時間予測要求が入力された場合に、情報収集部1009により取得され性能情報データベース1010に格納されている性能情報と機器情報データベース1012に格納されている機器情報を用いて、コントローラが特定の処理を実行する際のコントローラの処理性能を予測する。
予測部1011は、処理性能予測部の例である。
また、判定部1013は、コントローラに特定の処理を実行させるかどうかを判定する。
【0013】
図2は、本実施の形態に係る管理装置1001の動作例を示すフローチャート図である。
図2の処理の詳細は、後述する。
【0014】
図3は、特定の処理の例として、コントローラ1003のプログラムを更新する場合のコントローラ1003の処理の流れを示している。
まず、図3の各処理について説明する。
【0015】
例えば、管理装置1001がコントローラ1003に対してプログラム更新を要求すると、コントローラ1003は、実行中の旧版プログラムをバックアップ領域にコピーした後(処理3001)、コピーされたバックアップ領域上の旧版プログラムに処理を移す(処理3002)、続いて通信部1007を通じて管理装置1001から新版プログラムを取得し(処理3003)、新版プログラムを旧版プログラムが記憶されていた領域に書き込む(処理3004)。
次に、コントローラ1003は、新版プログラムの書き込みが成功したかを確認し(判定3005)、成功した場合は、プログラムの実行をバックアップ領域上の旧版プログラムから、新版プログラムに切り替え(処理3006)、最後にバックアップ領域上の旧版プログラムを削除して(処理3007)終了する。
逆に、判定3005において新版プログラムの書き込みに失敗していた場合は、異常終了するが、この場合もバックアップ領域上の旧版プログラムによりコントローラ1003の稼動は継続される。
【0016】
また、図4は、同様に上記コントローラのプログラム更新処理において、機器情報データベース1012に書き込まれている情報の例4001(図4(a))と性能情報データベース1010に書き込まれる情報の例4002(図4(b))を示している。
例えば、図4(b)の性能情報データベースのデータ例4002に示した例では、コントローラの番号毎にコントローラの形式(TYPExx)、メモリ容量(Smxx)、プログラムサイズ(Spxx)が格納されている。これらの情報は、初期化処理中に情報収集部1009により各コントローラから収集され、性能情報データベース1010に格納される。
また、例えば、図4(a)の機器情報データベースのデータ例4001に示す例では、コントローラの形式毎に単位サイズのメモリ読み出し性能(Pmrxx)、単位サイズのメモリ書き込み性能(Pmwxx)、単位サイズのネットワーク読み出し性能(Pnrxx)、単位サイズのネットワーク書き込み性能(Pnwxx)、処理切り替え時間(Tsw)、判定処理時間(Pjgxx)が格納されている。
これら個別の処理能力は、一般的にコントローラに内蔵されるプロセッサ、メモリ、ネットワークコントローラなどのハードウェア構成、ソフトウェアによる制御方式により一意に決定できるため、あらかじめネットワークシステムを構成するすべての機器に対してデータベースを構築しておくものとする。
【0017】
次に、図1、図3及び図4を参照しながら、図2のフローチャートに従って、本実施の形態に係る管理装置1001の動作について説明する。
【0018】
図1に示したネットワークシステムを起動すると、処理2001において、情報収集部1009は、ネットワーク1002を経由して接続されたコントローラ1003、1004、1005から性能に関わる設定情報を取得する。
例えば、プログラム更新においては、演算処理性能を予測するためにコントローラの型名を取得し、また、プログラムのネットワーク経由での転送時間、メモリへの読み出し、書き込み時間を予測するためのプログラムのサイズを取得する。
次に、処理2002において、情報収集部1009は、収集した情報を性能情報データベース1010に保存する。
例えば、図4(b)に示した例では、コントローラの番号毎にコントローラの形式(TYPExx)、メモリ容量(Smxx)、プログラムサイズ(Spxx)を書き込む。
これら処理2001、2002は、コントローラの制御を行うための準備が行われる初期化処理中に行われ、その後、管理装置1001及びネットワークシステムは通常の運転を開始する。
通常の運転中に、例えばコントローラ1003のプログラムを更新する場合、入力部1008を通じてプログラム更新処理におけるコントローラ1003の処理時間の予測を要求する制御処理時間予測要求(処理性能予測要求)の入力を受け、性能予測を開始する(処理2003)。
予測部1011は、性能情報データベース1010、機器情報データベース1012を参照し(処理2004)、処理時間の予測演算を行う(処理2005)。
【0019】
ここで、処理2005におけるコントローラの処理時間の演算方法について述べる。
図3は、先に述べた通り、コントローラがプログラム更新を行う際の典型的な処理の流れである。
予測部1011は、この流れに沿って、性能情報データベース1010および機器情報データベース1012を参照しながら、コントローラ1003のプログラム更新処理を模擬することによって処理時間を予測演算する。
具体的には、まず、処理3001において、コントローラ1003が旧版のプログラムをメモリ上のバックアップ領域にコピーする処理を模擬して処理時間を計算する。
予測部1011は、性能情報データベース1010から、更新対象のコントローラ1003の形式(TYPE01)を取得し、これをキーとして機器情報データベース1012を参照することにより、サイズ単位あたりのメモリの読み出し性能(Pmr01[MB/秒])、書き込み性能(Pmw01[MB/秒])の値を取得する。
また、性能情報データベース1010から、コントローラ1003の旧版のプログラムサイズがSp01[MB]であることを取得する。
これらの情報から、コントローラ1003が、サイズSp01のプログラムを、メモリから読み出し性能Pmr01で読み出し、メモリのバックアップ領域に書き込み性能Pmw01でバックアップする処理時間を求めることができる。
次に、コントローラ1003の運転を継続するために、バックアップ領域に制御を切り替える。
このための処理3002の時間は、機器情報データベースのデータ例4001を参照することにより、Tsw01[秒]であることが分かる。
次に、コントローラ1003が新版プログラムを受信するための処理3003の時間は、プログラム更新の要求時に受け取った新版のプログラムサイズと、機器情報データベースから、ネットワーク読み出し性能Pnr01[MB/秒]を参照することにより求めることができる。
予測部1011は、以下同様にして、新版のプログラムサイズと、メモリ書き込み性能Pmw01[MB/秒]から新版プログラムの書き込み処理3004の時間を、Tjg01から判定処理3005の時間を、再びTsw01から新版プログラムへの制御移行3006の時間を、旧版プログラムサイズSp01とメモリ書き込み性能Pmw01からバックアップ領域の消去3007の時間を求めることができ、これら図3に示した個別の処理時間から、コントローラ1003のプログラム更新に要する処理時間の合計を求めることができる。
【0020】
次に、管理装置1001は、出力部1014を通じて、予測部1011による処理時間の予測値を出力する(処理2006)。
管理装置1001は、再び入力部1008から、指示を受け取り(処理2007)、判定部1013が、処理実施の指示であるか判定を行い(判定2008)、処理実施の指示であった場合は、判定部1013は、コントローラ1003に対してプログラム更新を指示すると共に、新版プログラムをネットワーク1002を経由して送付する(処理2009)。
一方、判定2008の結果がNOであった場合は、プログラム更新処理を行わず、図2の一連の処理を終了する。
【0021】
以上のように、本実施の形態では、ネットワークシステムを構成する機器の性能に関する情報をシステム起動時に予め取得しておき、機器の処理フロー、処理性能のデータベースとあわせて参照することにより、稼働中のコントローラに情報提供のための処理を行わせることなく、また、ネットワーク上のトラフィックも増加させることなく、制御を行う前に処理時間を予測することができるという効果がある。
この方法によれば、例えば運転効率を上げるために、極めて少ないマージンで協調動作を行っているネットワークシステムにおいて、予測処理の中で発生するコントローラ、ネットワークの負荷上昇によりネットワークシステムの性能に影響を与える危険を避けることができる効果がある。
また、本方式によれば、処理時間を予測するために、定常運転中にネットワーク上を監視しても取得できない情報(例えば、上記例における各コントローラのプログラムサイズなど)が必要な、特殊な処理についても、性能予測を行うことができるという効果がある。
【0022】
以上、本実施の形態では、複数のコントローラと管理装置がネットワーク接続されたシステムで、管理装置がコントローラに対して制御を行う際に、制御を行ったときのシステムの性能に対する影響を事前に予測する方法において、以下の機能を備える管理装置および性能予測方法について説明した。
(a)処理性能を予測するための情報を収集する情報収集部、
(b)収集した情報を保持するデータベース、
(c)情報から処理時間を演算する予測部、
(d)処理時間からシステム性能に対する影響を判定する判定部。
【0023】
また、本実施の形態では、複数のコントローラと管理装置がネットワーク接続されたシステムで、管理装置がコントローラに対して制御を行う際に、制御を行ったときのシステムの性能に対する影響を事前に予測する方法において、システムの運転開始時に、予め情報収集部が各コントローラから処理性能を予測するための情報を収集する管理装置および性能予測方法について説明した。
【0024】
複数のコントローラと管理装置がネットワーク接続されたシステムで、管理装置がコントローラに対して制御を行う際に、制御を行ったときのシステムの性能に対する影響を事前に予測する方法において、以下の機能を備え、
(e)システム使用者からの制御命令を受け取る入力部、
(f)システム使用者に判定結果を知らせる出力部、
システムの運転開始時に、処理性能を予測するための情報を予め収集し、入力部を通じて使用者から制御実行の要求があった際に、予測部が演算した処理時間によって判定部がシステム性能への影響を判定し、判定結果を出力部を通じて使用者に示し、処理実施有無を使用者に判断させる管理装置および性能予測方法について説明した。
【0025】
実施の形態2.
本実施の形態では、コントローラにおけるアイドル時間を監視することにより、新たな制御を追加するときに、既存の処理性能に影響を与えないことを事前に検証する方法について説明する。
【0026】
以上の実施の形態1では、管理装置が制御の実施要求を受けたときに、コントローラに対する制御を実行する前に、処理時間を予測し結果を出力することにより、実施有無の確認を求める制御装置を示したものであるが、実施の形態2においては、ネットワークに接続されたコントローラにアイドル時間(空き時間)が存在する場合に、管理装置が性能への影響を判定する例、および判定結果によって特定の条件下での実施有無判断を自動的に行う例について述べる。
【0027】
実施の形態2におけるシステムの構成は、実施の形態1と同じ(図1に示す構成)であるため、詳しい説明は省略する。
図5は、本実施の形態に係る管理装置1001の動作例を示すフローチャート図である。
図5の各処理の詳細は後述する。
【0028】
図6は運転中の定常状態における、一般的なコントローラの処理の流れを示している。
コントローラは、運転開始直後に一度初期化処理6001を行った後、演算処理6002、周辺機器との入出力処理6003、ネットワークとの通信処理6004を繰り返す。
ネットワークシステムの他のコントローラとの協調動作を行うため、通常アイドル時間6005により処理時間を調整し、範囲6007の繰り返し処理が一定になるように制御される。
仮に演算処理6002が条件分岐を含まず固定時間で処理され、入出力処理6003、通信処理6004も同様に固定時間で処理される場合は、範囲6007を一定にするためのアイドル時間6005も常に同じ時間となるため、アイドル時間が一定の場合は、上記実施の形態1の方法と同様に、管理装置1001の定常運転開始前(初期化処理中)に情報収集部1009がネットワーク1002を通じて、接続されたコントローラ1003、1004、1005からアイドル時間の長さの情報を取得し、性能情報データベース1010に保持しておくことによって、容易に各コントローラのアイドル時間の値を用いた判定が可能となるため、ここでは詳しい説明は行わない。
以下では、演算処理6002、入出力処理6003、通信処理6004が処理サイクル毎に異なる値をとり、その吸収のためにアイドル時間も処理サイクル毎に異なる値となる場合について、図5を参照して、本実施の形態に係る管理装置1001の動作を説明する。
【0029】
処理を開始してから処理時間の予測演算を行うまでの流れ(処理5001〜5005)は、上記の実施の形態1と同様であるため、説明は省略する。
これらの処理に続き、情報収集部1009は、ネットワーク1002を通じて、制御対象となるコントローラ1003からアイドル時間の長さを示すアイドル時間情報を取得する(処理5006)。
次に、処理5005において計算した処理時間と、上記で取得したアイドル時間情報に示されるアイドル時間の値を比較する(判定5007)。
アイドル時間が処理時間より長いと判定された場合(判定5007でYES)は、出力は行わず、直接処理(例えば、コントローラにおけるプログラムの更新)を実施する(処理5008)。
逆にアイドル時間より処理時間が長いと判定された場合(判定5007でNO)は、出力部1014が、予測した処理時間と、アイドル時間の値を出力する(処理5009)。
管理装置1001は、再び入力部1008から、指示を受け取り(処理5010)、判定部1013が処理実施の指示であるか判定を行い(判定5011)、処理実施の指示であった場合は、判定部1013はコントローラ1003に対して処理実施を指示する(処理5008)。
一方、判定5011の結果がNOであった場合は、処理の指示は行わず、図5の一連の処理を終了する。
【0030】
以上のように、ネットワークシステムを構成する機器の性能に関する情報をシステム起動時に予め取得しておき、判定部においてアイドル処理時間と予測した処理時間を比較する仕組みを持つことにより、判定の処理の一部(処理時間がアイドル時間に収まる場合)を自動化することが可能となり、管理装置の入出力を行うシステム管理者の作業負荷を軽減する効果がある。
また、稼働中のコントローラ、ネットワークに対する負荷の影響は、演算処理、入出力処理、通信処理が固定的な場合は上記実施の形態1と同様に負荷を無くすことができ、逆に毎回アイドル時間が変化する場合においても、稼働中のコントローラの処理、ネットワーク上のトラフィック増加は最小限に抑えることができるという効果がある。
【0031】
以上、本実施の形態では、複数のコントローラと管理装置がネットワーク接続されたシステムで、管理装置がコントローラに対して制御を行う際に、制御を行ったときのシステムの性能に対する影響を事前に予測する方法において、以下の機能を備え、
(g)コントローラのアイドル時間を監視する監視部、
システムの運転開始時に、処理性能を予測するための情報を予め収集し、入力部を通じて使用者から制御実行の要求があった際に、予測部は処理時間を演算し、また、監視部は処理を行うコントローラのアイドル時間を取得し、判定部は、処理時間とアイドル時間を比較することによりシステム性能に対する影響を判定する管理装置および性能予測方法について説明した。
【0032】
また、本実施の形態では、複数のコントローラと管理装置がネットワーク接続されたシステムで、管理装置がコントローラに対して制御を行う際に、制御を行ったときのシステムの性能に対する影響を事前に予測する方法において、システムの運転開始時に、処理性能を予測するための情報を予め収集し、処理時間の演算と、アイドル時間の取得を行い、判定部は、処理時間とアイドル時間を比較することによりシステム性能に対する影響を判定し、システム性能への影響がないと判定された場合は、制御を実行し、システム性能への影響があると判定された場合は、制御を保留し、出力装置を通じて使用者に実施確認を求める管理装置及び性能予測方法について説明した。
【0033】
実施の形態3.
本実施の形態では、使用者から処理の要求があったときに、処理を実行する前に、実行した場合の性能への影響に関する情報を提供し、また判断を一部自動化することにより、使用者の負担を軽減する例について説明する。
【0034】
以上の実施の形態2では、ネットワークに接続されたコントローラにアイドル時間が常に存在する場合に、管理装置が制御対象となるコントローラからアイドル時間の値を取得し、これと処理時間の予測値を比較することにより、処理実施の判定を行う制御を示したものであるが、実施の形態3においては、要求された処理時間以外にアイドル時間内に実行される可能性がある別の処理が存在する場合の制御について説明する。
【0035】
実施の形態3におけるシステム構成は、実施の形態1と同じ(図1に示す構成)であるため、詳しい説明は省略する。
また、実施の形態3におけるコントローラの動作は、実施の形態2と同じように図6に示した通りであるが、一般にコントローラは、アイドル時間6005を利用して低優先度のプログラムを実行する機能を有しており、リアルタイム性の要求が低い処理(たとえば印刷など)を必要に応じて行う機能を備えている。
実施の形態3では、低優先度のプログラムがアイドル時間6005を利用する可能性があり、また、本低優先度のプログラムは、アイドル時間内に処理を確実に終えるため、固定的な処理時間を要する処理であることとする。
【0036】
図7は、本実施の形態に係る管理装置1001の動作例を示すフローチャート図である。
【0037】
以下、図7を参照して、本実施の形態に係る管理装置1001の動作について説明する。
最初に、情報収集部1009は、ネットワーク1002を通じてコントローラ1003、1004、1005の情報を取得する。
実施の形態3においては、上記実施の形態1、2で用いた情報に加えて、アイドル時間6005で実行される可能性のある低優先度のプログラム(アイドル実行予定処理)の情報(アイドル実行予定処理情報)を取得する(処理7001)。
上記した通り、低優先度のプログラムは、アイドル時間内に確実に処理を終えるため、条件によらず固定的な処理時間を持つものとする。
次に予測部1011において、低優先度のプログラムの処理時間を予測演算する(処理7002)。
この処理時間の予測演算方法については、実施の形態1に示した処理時間の演算方法と同様に、処理7001で取得した低優先度プログラムの内容を解析し、機器情報データベース1012に保持されているコントローラの命令処理、演算時間を用いて行うものであるため、詳しい説明は省略する。
次に処理7001、7002で取得、演算した値を性能情報データベース1010に保存する(処理7003)。
管理装置1001が制御要求の入力を受けてから、制御対象のコントローラのアイドル時間を取得するまで(処理7004から7007)は、上記実施の形態2とほぼ同様であるため、詳しい説明を省略するが、処理7004において要求を受け取る際に、低優先度プログラムと要求された処理のどちらを優先させるかをあわせて入力することとする。
【0038】
次に、判定部1013は、低優先度のプログラムの予測処理時間、入力された制御の予測処理時間、アイドル時間を比較する(判定7008)。
そして、アイドル時間中に低優先度のプログラムと、入力された制御に伴う処理の両方が実行できる場合、つまり低優先度のプログラムの予測処理時間と要求されている処理の予測処理時間の合計時間よりもアイドル時間が長い場合(判定7008でYES)は、両処理を実施する(処理7009、7010)。
逆に、アイドル時間内に両方の処理が実施できない場合、つまりアイドル時間が低優先度のプログラムの予測処理時間と要求されている処理の予測処理時間の合計時間以下の場合(判定7008でNO)、処理7004で入力された優先度に従って実施する処理を判定する(判定7011)。
つまり、アイドル時間内に優先的に実行する処理として、低優先度プログラムが設定されていた場合(判定7011でYES)は、低優先度プログラムを実行し(処理7012)、要求された制御処理が実行できなかったことを出力する(処理7013)。
また、アイドル時間内に優先的に実行する処理として、要求された制御が設定されていた場合(判定7011でNO)は、要求された制御の処理時間とアイドル時間の比較を行い(判定7014)、要求された制御の処理時間がアイドル時間内に収まる場合(判定7014でYES)は、コントローラ1003に処理を実行させる(処理7015)。
要求された制御の処理時間がアイドル時間に納まらない場合(判定7014でNO)は、アイドル時間が不足していることを示す。
【0039】
なお、本実施の形態では、予測部1011が、低優先度のプログラムの処理時間を予測することとしたが、情報収集部1009が、各コントローラから低優先度のプログラムの処理時間を示す情報を取得するようにしてもよい。
【0040】
以上のように、本実施の形態では、ネットワークシステムを構成する機器の性能に関する情報をシステム起動時に予め取得しておき、管理装置がアイドル時間を監視すると共に、アイドル時間内に行われている別の処理の処理時間を予測することによって、コントローラのアイドル時間を有効に利用して通常運転に影響を与えることなく、要求した制御が実施できるかを事前に検証することができる効果がある。
また、アイドル時間内に実行される可能性がある他の処理との衝突を防ぐ効果がある。
さらに、上記実施の形態2同様に、システム管理者の作業負荷を軽減する効果がある。
【0041】
以上、本実施の形態では、複数のコントローラと管理装置がネットワーク接続されたシステムで、管理装置がコントローラに対して制御を行う際に、制御を行ったときのシステムの性能に対する影響を事前に予測する方法において、システムの運転開始時に、処理性能を予測するための情報を予め収集し、入出力部を通じて使用者から制御実行の要求があった際に、予測部は処理時間を演算し、また、監視部は処理を行うコントローラのアイドル時間と、アイドル時間内に実行が予定されている低優先度処理の処理時間を取得し、判定部は、アイドル時間、制御処理時間、低優先度処理時間を比較し、制御処理と低優先度処理両方がアイドル時間に納まると判定された場合は、制御を実行し、両方の実行がアイドル時間に収まらないと判定された場合は、出力部を通じて使用者に通知し、使用者の選択に従って低優先度処理、または制御処理の片方を実行する管理装置及び性能予測方法について説明した。
【0042】
実施の形態4.
以上の実施の形態1〜3では、管理装置がコントローラからあらかじめ収集した性能に関する情報を元に、稼働中のコントローラまたはネットワークに影響を与えずに、処理時間を予測演算し、制御を実行した場合のネットワークシステムの影響を事前に知る方法について示したものであるが、実施の形態4においては、あらかじめ収集した性能に関する情報が制御を行うことにより変更となる場合に、これを更新するための方法について説明する。
【0043】
実施の形態4におけるシステム構成は、実施の形態1と同じ(図1に示す構成)であるため、詳しい説明は省略する。
【0044】
図8は、本実施の形態に係る管理装置1001の動作例を示すフローチャート図である。
図8では、管理装置1001が、コントローラ1003、1004、1005に対して制御を行った後、性能情報データベースの更新を行う処理の全体の流れを示している。
以下、図1および図8を用いて実施の形態4の動作について説明するが、開始してから処理を実施するまでの流れ(処理8001〜処理8009)は実施の形態1と同様であるため、説明は省略する。
【0045】
コントローラによって、処理が実施された後、情報収集部1009は、管理装置1001内の性能情報データベース1010の更新を行う(処理8010)。
例えば、実施の形態1の制御の例として使用したコントローラ1003のプログラムを更新する処理では、コントローラ内にロードされているプログラムのサイズSp01が処理時間を演算するために必要なパラメータの一つとなっているが、プログラムの更新が完了した後、データベース内の情報を更新後プログラムサイズに書き直す必要がある。
コントローラ1003は、指示されたプログラムの更新処理が完了したことを管理装置1001に通知する。通知を受けた管理装置1001は、情報収集部1009を通じて更新後の情報を取得し、性能情報データベース1010を更新する(処理8010)。
このときの情報取得方法は、たとえば上記例で用いているプログラムの更新処理においては、入力部1008を経由して制御の要求を受け付ける処理(処理8003)において、新版のプログラムが入力されるため、このサイズの値を情報収集部1009が保持し、コントローラからの処理完了通知を受け取った後、性能情報データベース1010を更新することによって実現することができる。この意味で、情報収集部1009は更新部の例でもある。
また、情報収集部1009は、コントローラ内部にのみ存在する情報の更新が必要であるか否か、換言すれば、入力部1008から入力された情報でコントローラの処理性能が予測可能であるかを判断し、コントローラ内部にのみ存在する情報の更新が必要である場合(入力部1008から入力された情報ではコントローラの処理性能の予測が可能でない場合)は、処理8010において、コントローラから管理装置1001に対して処理完了を通知する際に、情報収集部1009は、あわせて更新後の情報の送信を要求する。
要求を受けたコントローラは、例えば、自身の演算処理のアイドル時間を利用して情報を予測し、またネットワークのアイドル時間を利用して、更新後の情報を管理装置1001に送り、情報収集部1009が更新後の情報を受け取り、性能情報データベース1010を更新する。
【0046】
以上のように、本実施の形態によれば、ネットワークシステムを構成する機器の性能に関する情報をシステム起動時に予め取得しておき、制御の処理時間を予測した後、収集済みの情報を更新することによって、次回に同様の制御を行う際に、システム起動時に情報を再収集する必要がなく、ネットワークシステム内のコントローラ、ネットワークに影響することなく、処理時間を予測できるという効果がある。
【0047】
以上、本実施の形態では、複数のコントローラと管理装置がネットワーク接続されたシステムで、管理装置がコントローラに対して制御を行う際に、制御を行ったときのシステムの性能に対する影響を事前に予測する方法において、収集した情報を更新する更新部を備え、システムの運転開始時に、処理性能を予測するための情報を予め収集し、入出力部を通じて使用者から制御実行の要求があった際に、予測部は処理時間を演算し、また、制御を実行することにより収集済みの情報が更新される場合は、その更新後の値を予測演算し、制御実行後に、書き換え部がデータベースの情報を更新する管理装置及び性能予測方法について説明した。
【0048】
また、本実施の形態では、複数のコントローラと管理装置がネットワーク接続されたシステムで、管理装置がコントローラに対して制御を行う際に、制御を行ったときのシステムの性能に対する影響を事前に予測する方法において、処理時間の予測を行い、制御を実行することにより収集済みの情報が更新され、かつ更新後の値が管理装置の持つ情報から予測演算できない場合に、管理装置は制御対象のコントローラに対し情報更新を要求し、要求を受けたコントローラは、自身の演算処理のアイドル時間を利用して情報を予測し、またネットワークのアイドル時間を利用して、更新後の情報を管理装置に送り、管理装置の収集部がデータベースを更新する管理装置および性能予測方法について説明した。
【0049】
実施の形態5.
以上の実施の形態1〜4では、性能を予測する例として、ネットワークシステムに接続されたコントローラのプログラムを更新する制御について述べたが、実施の形態5においては、ネットワークに接続されたコントローラに障害が発生し、障害の要因を取り除いた後に、障害発生状態を解除する際の制御について説明する。
【0050】
実施の形態5におけるシステム構成は、実施の形態1と同じ(図1に示す構成)であるため、詳しい説明は省略する。
【0051】
図9は、ネットワークシステムに接続されたコントローラの一台、たとえばコントローラ1003の障害状態を解除する際の、管理装置1001の処理の流れを、また、図10は障害の発生したコントローラ1003の処理の流れを示している。
さらに、図11は、図1における機器情報データベース1012のデータ例11001(図11(a)と、性能情報データベース1010のデータ例11002(図11(b))を示している。
【0052】
以下、これらの図を用いて、コントローラ1003で発生した障害状態を解除し、ネットワークシステムに復帰させるまでの動作について説明するが、図9において、性能予測に必要なデータを情報収集部1009があらかじめ取得し、性能情報データベース1010に書き込む処理(処理9001、9002)については、上記実施の形態1と同様であるため、詳しい説明は省略する。
【0053】
ネットワークシステムに接続されたコントローラ1003に障害が発生した場合、コントローラ1003は障害の発生を検知し(処理10005)、運転状態を示すフラグなどを用いて障害発生と発生した障害の種類を示すと共に(処理10006)、通常の制御処理を停止し、通常運転に復帰する指示を待つ(処理10001、判断10002)。
一方、管理装置1001は、コントローラ1003、1004、1005の運転状態を監視し(処理9003)、たとえばコントローラ1003が障害発生を報告した場合(判定9004でYES)は、他のコントローラ1004、1005によってネットワークシステムを稼動させつつ、システム管理者にコントローラ1003における障害発生を通知する(処理9005)。
システム管理者はコントローラ1003に発生した障害の要因を取り除いた後(処理9006)、入力部1008から、コントローラ1003の障害状態を解除し、ネットワークシステムに復帰するよう指示を行う(処理9007)。
一般に、コントローラにおける障害状態解除の処理に要する時間は、コントローラの機器構成および発生した障害の種類によって一意に決定することができるため、予測部1011は、性能情報データベース1010からコントローラ1003の型名を特定し、また運転状態を示すフラグなどから発生した障害の種類を特定し、機器情報データベース1012を参照することにより、例えば障害(1)が発生した場合の障害解除時間Ter103[秒]を予測することができる(処理9008、9009)。
次に、管理装置1001は、出力部1014を通じて、予測部1011による処理時間の予測値を出力する(処理9010)。
管理装置1001は、再び入力部1008から、指示を受け取り(処理9011)、判定部1013が処理実施の指示であるか判定を行い(判定9012)、処理実施の指示であった場合は、判定部1013はコントローラ1003に対して障害状態の解除を指示する(処理9013)。
【0054】
コントローラ1003は、障害解除の指示を受け取ると(判定10002)、運転状態を示すフラグなどを更新し、障害状態を解除して(処理10003)、通常の処理に復帰する(処理10004)。
【0055】
以上のように、本実施の形態によれば、ネットワークシステムを構成する機器の性能に関する情報をシステム起動時にあらかじめ取得しておき、機器情報、性能情報のデータベースとあわせて参照することにより、障害が発生したコントローラの障害を解除する際に、ネットワーク上のトラフィックを増加させることなく、制御を行う前に処理時間を予測することができるという効果がある。
【0056】
最後に、実施の形態1〜5に示した管理装置1001のハードウェア構成例について説明する。
図12は、実施の形態1〜5に示す管理装置1001のハードウェア資源の一例を示す図である。
なお、図12の構成は、あくまでも管理装置1001のハードウェア構成の一例を示すものであり、管理装置1001のハードウェア構成は図12に記載の構成に限らず、他の構成であってもよい。
【0057】
図12において、管理装置1001は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
【0058】
通信ボード915は、図1に示すように、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。
【0059】
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
【0060】
また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
【0061】
また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
管理装置1001の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
【0062】
上記プログラム群923には、実施の形態1〜5の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
【0063】
ファイル群924には、実施の形態1〜5の説明において、「〜の判断」、「〜の判定」、「〜の演算」、「〜の計算」、「〜の比較」、「〜の予測」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜5で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0064】
また、実施の形態1〜5の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1〜5の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜5の「〜部」の手順や方法をコンピュータに実行させるものである。
【0065】
このように、実施の形態1〜5に示す管理装置1001は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【図面の簡単な説明】
【0066】
【図1】実施の形態1に係るシステム構成例を示す図。
【図2】実施の形態1に係る管理装置の動作例を示すフローチャート図。
【図3】実施の形態1に係るコントローラの動作例を示すフローチャート図。
【図4】実施の形態1に係る管理装置のデータベースのデータ例を示す図。
【図5】実施の形態2に係る管理装置の動作例を示すフローチャート図。
【図6】実施の形態2に係るコントローラの動作例を示すフローチャート図。
【図7】実施の形態3に係る管理装置の動作例を示すフローチャート図。
【図8】実施の形態4に係る管理装置の動作例を示すフローチャート図。
【図9】実施の形態5に係る管理装置の動作例を示すフローチャート図。
【図10】実施の形態5に係るコントローラの動作例を示すフローチャート図。
【図11】実施の形態5に係る管理装置のデータベースのデータ例を示す図。
【図12】実施の形態1〜5に係る管理装置のハードウェア構成例を示す図。
【符号の説明】
【0067】
1001 管理装置、1002 ネットワーク、1003 コントローラ、1004 コントローラ、1005 コントローラ、1006 プログラム、1007 通信部、1008 入力部、1009 情報収集部、1010 性能情報データベース、1011 予測部、1012 機器情報データベース、1013 判定部、1014 出力部。
【特許請求の範囲】
【請求項1】
被管理装置の制御を行う管理装置において、
前記被管理装置が特定の処理を実行する際の前記被管理装置の処理性能を予測するよう要求する処理性能予測要求を入力する要求入力部と、
前記要求入力部により前記処理性能予測要求が入力される前に、前記被管理装置の処理性能の予測に用いられる予測用情報を取得する情報取得部と、
前記要求入力部により前記処理性能予測要求が入力された場合に、前記情報取得部により取得されている前記予測用情報を用いて、前記被管理装置が前記特定の処理を実行する際の前記被管理装置の処理性能を予測する処理性能予測部とを有することを特徴とする管理装置。
【請求項2】
前記情報取得部は、
前記管理装置において前記被管理装置の制御を行うための準備が行われる初期化処理中に、前記予測用情報を取得し、
前記要求入力部は、
前記初期化処理の終了後に、前記処理性能予測要求を入力することを特徴とする請求項1に記載の管理装置。
【請求項3】
前記管理装置は、
処理サイクル中にアイドル時間が設けられている被管理装置の制御を行い、
前記情報取得部は、
前記被管理装置から、アイドル時間の長さを示すアイドル時間情報を取得し、
前記処理性能予測部は、
前記被管理装置の処理性能として、前記被管理装置が前記特定の処理を実行する際の処理時間を予測し、
前記管理装置は、更に、
前記情報取得部により取得されたアイドル時間情報に示されるアイドル時間の長さと、前記処理性能予測部により予測された予測処理時間の長さとに基づき、前記被管理装置に前記特定の処理を実行させるか否かを判定する判定部を有することを特徴とする請求項1又は2に記載の管理装置。
【請求項4】
前記判定部は、
アイドル時間が予測処理時間よりも長い場合に、前記被管理装置に前記特定の処理の実行を指示することを特徴とする請求項3に記載の管理装置。
【請求項5】
前記管理装置は、
処理サイクル中にアイドル時間が設けられている被管理装置の制御を行い、
前記情報取得部は、
前記被管理装置から、前記被管理装置のアイドル時間の長さを示すアイドル時間情報と、アイドル時間中に前記被管理装置において実行される予定のアイドル実行予定処理を示すアイドル実行予定処理情報を取得し、
前記処理性能予測部は、
アイドル実行予定処理情報を用いて、アイドル実行予定処理の処理時間を予測し、
前記被管理装置の処理性能として、前記被管理装置が前記特定の処理を実行する際の処理時間を予測し、
前記管理装置は、更に、
前記情報取得部により取得されたアイドル時間情報に示されるアイドル時間の長さと前記処理性能予測部により予測されたアイドル実行予定処理の処理時間の長さと、前記処理性能予測部により予測された予測処理時間の長さとに基づき、前記被管理装置に前記特定の処理を実行させるか否かを判定する判定部を有することを特徴とする請求項1又は2のいずれかに記載の管理装置。
【請求項6】
前記判定部は、
アイドル時間がアイドル実行予定処理の処理時間と予測処理時間との合計時間よりも長い場合に、前記被管理装置に前記特定の処理の実行を指示することを特徴とする請求項5に記載の管理装置。
【請求項7】
前記判定部は、
アイドル時間がアイドル実行予定処理の処理時間と予測処理時間との合計時間以下であって、前記特定の処理が前記アイドル実行予定処理よりも優先される場合に、アイドル時間と予測処理時間とを比較し、アイドル時間が予測処理時間よりも長い場合に、前記被管理装置に前記特定の処理の実行を指示することを特徴とする請求項6に記載の管理装置。
【請求項8】
前記管理装置は、更に、
予測用情報を記憶する情報記憶部と、
前記判定部により前記被管理装置に前記特定の処理の実行が指示された場合に、前記被管理装置において前記特定の処理を実行する際に用いられる情報を用いて前記情報記憶部に記憶されている予測用情報を更新する更新部とを有することを特徴とする請求項3〜7のいずれかに記載の管理装置。
【請求項9】
前記情報取得部は、
前記情報記憶部に記憶されている更新後の予測用情報で前記被管理装置の処理性能の予測が可能であるか否かを判断し、
前記情報記憶部に記憶されている予測用情報で前記被管理装置の処理性能の予測が可能でない場合は、前記被管理装置から、新たな情報を予測用情報として取得することを特徴とする請求項8に記載の管理装置。
【請求項10】
被管理装置の制御を行うコンピュータに、
前記被管理装置が特定の処理を実行する際の前記被管理装置の処理性能を予測するよう要求する処理性能予測要求を入力する要求入力手順と、
前記要求入力手順により前記処理性能予測要求が入力される前に、前記被管理装置の処理性能の予測に用いられる予測用情報を取得する情報取得手順と、
前記要求入力手順により前記処理性能予測要求が入力された場合に、前記情報取得手順により取得されている前記予測用情報を用いて、前記被管理装置が前記特定の処理を実行する際の前記被管理装置の処理性能を予測する処理性能予測手順とを実行させることを特徴とするプログラム。
【請求項1】
被管理装置の制御を行う管理装置において、
前記被管理装置が特定の処理を実行する際の前記被管理装置の処理性能を予測するよう要求する処理性能予測要求を入力する要求入力部と、
前記要求入力部により前記処理性能予測要求が入力される前に、前記被管理装置の処理性能の予測に用いられる予測用情報を取得する情報取得部と、
前記要求入力部により前記処理性能予測要求が入力された場合に、前記情報取得部により取得されている前記予測用情報を用いて、前記被管理装置が前記特定の処理を実行する際の前記被管理装置の処理性能を予測する処理性能予測部とを有することを特徴とする管理装置。
【請求項2】
前記情報取得部は、
前記管理装置において前記被管理装置の制御を行うための準備が行われる初期化処理中に、前記予測用情報を取得し、
前記要求入力部は、
前記初期化処理の終了後に、前記処理性能予測要求を入力することを特徴とする請求項1に記載の管理装置。
【請求項3】
前記管理装置は、
処理サイクル中にアイドル時間が設けられている被管理装置の制御を行い、
前記情報取得部は、
前記被管理装置から、アイドル時間の長さを示すアイドル時間情報を取得し、
前記処理性能予測部は、
前記被管理装置の処理性能として、前記被管理装置が前記特定の処理を実行する際の処理時間を予測し、
前記管理装置は、更に、
前記情報取得部により取得されたアイドル時間情報に示されるアイドル時間の長さと、前記処理性能予測部により予測された予測処理時間の長さとに基づき、前記被管理装置に前記特定の処理を実行させるか否かを判定する判定部を有することを特徴とする請求項1又は2に記載の管理装置。
【請求項4】
前記判定部は、
アイドル時間が予測処理時間よりも長い場合に、前記被管理装置に前記特定の処理の実行を指示することを特徴とする請求項3に記載の管理装置。
【請求項5】
前記管理装置は、
処理サイクル中にアイドル時間が設けられている被管理装置の制御を行い、
前記情報取得部は、
前記被管理装置から、前記被管理装置のアイドル時間の長さを示すアイドル時間情報と、アイドル時間中に前記被管理装置において実行される予定のアイドル実行予定処理を示すアイドル実行予定処理情報を取得し、
前記処理性能予測部は、
アイドル実行予定処理情報を用いて、アイドル実行予定処理の処理時間を予測し、
前記被管理装置の処理性能として、前記被管理装置が前記特定の処理を実行する際の処理時間を予測し、
前記管理装置は、更に、
前記情報取得部により取得されたアイドル時間情報に示されるアイドル時間の長さと前記処理性能予測部により予測されたアイドル実行予定処理の処理時間の長さと、前記処理性能予測部により予測された予測処理時間の長さとに基づき、前記被管理装置に前記特定の処理を実行させるか否かを判定する判定部を有することを特徴とする請求項1又は2のいずれかに記載の管理装置。
【請求項6】
前記判定部は、
アイドル時間がアイドル実行予定処理の処理時間と予測処理時間との合計時間よりも長い場合に、前記被管理装置に前記特定の処理の実行を指示することを特徴とする請求項5に記載の管理装置。
【請求項7】
前記判定部は、
アイドル時間がアイドル実行予定処理の処理時間と予測処理時間との合計時間以下であって、前記特定の処理が前記アイドル実行予定処理よりも優先される場合に、アイドル時間と予測処理時間とを比較し、アイドル時間が予測処理時間よりも長い場合に、前記被管理装置に前記特定の処理の実行を指示することを特徴とする請求項6に記載の管理装置。
【請求項8】
前記管理装置は、更に、
予測用情報を記憶する情報記憶部と、
前記判定部により前記被管理装置に前記特定の処理の実行が指示された場合に、前記被管理装置において前記特定の処理を実行する際に用いられる情報を用いて前記情報記憶部に記憶されている予測用情報を更新する更新部とを有することを特徴とする請求項3〜7のいずれかに記載の管理装置。
【請求項9】
前記情報取得部は、
前記情報記憶部に記憶されている更新後の予測用情報で前記被管理装置の処理性能の予測が可能であるか否かを判断し、
前記情報記憶部に記憶されている予測用情報で前記被管理装置の処理性能の予測が可能でない場合は、前記被管理装置から、新たな情報を予測用情報として取得することを特徴とする請求項8に記載の管理装置。
【請求項10】
被管理装置の制御を行うコンピュータに、
前記被管理装置が特定の処理を実行する際の前記被管理装置の処理性能を予測するよう要求する処理性能予測要求を入力する要求入力手順と、
前記要求入力手順により前記処理性能予測要求が入力される前に、前記被管理装置の処理性能の予測に用いられる予測用情報を取得する情報取得手順と、
前記要求入力手順により前記処理性能予測要求が入力された場合に、前記情報取得手順により取得されている前記予測用情報を用いて、前記被管理装置が前記特定の処理を実行する際の前記被管理装置の処理性能を予測する処理性能予測手順とを実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2010−33131(P2010−33131A)
【公開日】平成22年2月12日(2010.2.12)
【国際特許分類】
【出願番号】特願2008−191835(P2008−191835)
【出願日】平成20年7月25日(2008.7.25)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
【公開日】平成22年2月12日(2010.2.12)
【国際特許分類】
【出願日】平成20年7月25日(2008.7.25)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
[ Back to top ]