説明

コマンド投入方法、プログラム及びサーバ

【課題】監視対象装置へ同時に投入することが禁止されているコマンドを同時に誤投入し、競合エラーや処理待ちによるサービス停止などを引き起こしてしまう事態を未然に防ぐことを実現するコマンド投入方法及びオペレーションシステムを提供する。
【解決手段】投入するコマンドをファイルにしたコマンドファイル142を監視対象装置103ごとに分割するステップと、監視対象装置103へ投入する投入方式に対応したコマンドを記載した投入方式設定ファイル162を作成するステップと、投入方式設定ファイル162に記載されたコマンドの投入先である監視対象装置103を記載した投入先設定ファイル172を作成するステップと、を備え、監視対象装置103へコマンドを投入するときは、コマンドファイル142に記載されたコマンドが投入方式設定ファイル162に存在するか否かに基づいて投入することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク上の監視対象装置にコマンドを投入するコマンド投入方法に関し、さらに詳しくは、複数の監視対象装置へ同時に投入が禁止されているコマンドのコマンド投入方法、プログラム及びサーバに関する。
【背景技術】
【0002】
オペレーションシステムは、コンピュータシステムを運用するためのプログラムであり、例えば、ネットワーク上においては、ネットワークサーバによりこのプログラムが運用されて、ネットワーク全体の装置や接続、アプリケーションなどを監視し、管理する。このような構成において、コンピュータシステムの構成状態を表示するためのHMI(Human Machine Interface)端末では、その監視対象となるコンピュータシステム、及び、コンピュータシステムを構成する各装置(以下、「監視対象装置」という)に対して、監視のためのデータやコマンドの入力が行われる。
【0003】
オペレーションシステムにより監視される監視対象装置は、ユーザへ各種サービスを提供しており、オペレーションシステムは、監視対象装置へサービスに関するデータの登録や変更、参照等を行う。監視対象装置へデータ設定等を行う場合は、サーバから監視対象装置へHMI端末を用いてコマンド投入を行う。また、保守面等での効率化を図るため、複数台の監視対象装置に対して同時にデータ設定を行いたい場合は、サーバから各監視対象装置に対して同時に並列にコマンドを投入する(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平6−75912号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の技術では、投入するコマンドによっては複数の監視対象装置に対して同時に投入してはいけないコマンドが存在するにもかかわらず、これが考慮されていない。例えば、複数の監視対象装置が一つのデータベースを更新するコマンドを複数の監視対象装置に対して同時に投入すると、投入された監視対象装置は、それぞれ、一斉にデータベースの書き込み処理を開始するため、書き込み処理で競合が発生し、競合エラーや処理待ち合わせによる性能劣化により、サービスに影響を及ぼしてしまうおそれがある。このため、オペレータは監視対象装置に投入するコマンドについて、同時に投入してはいけないコマンドと同時に投入が可能なコマンドを予め分別しておく必要があり、コマンドをひとつずつ分別する作業に時間を要するという問題点があった。
【0006】
本発明は、このような問題を解決するためになされたものであり、監視対象装置へ同時に投入することが禁止されているコマンドを同時に誤投入し、競合エラーや処理待ちによるサービス停止などを引き起こしてしまう事態を未然に防ぐことを実現するコマンド投入方法、プログラム及びサーバを提供することを目的とする。
【課題を解決するための手段】
【0007】
前記目的を達成するために、本発明は、サーバ(110)に監視される監視対象装置(103)に対して、前記サーバ(110)からコマンドを投入するコマンド投入方法において、前記サーバ(110)は、前記コマンドをファイルにしたコマンドファイル(142)を前記監視対象装置(103)ごとに分割するステップと、前記監視対象装置(103)へ投入する投入方式に対応した前記コマンドを記載した投入方式設定ファイル(162)を作成するステップと、前記投入方式設定ファイル(162)に記載された前記コマンドの投入先である前記監視対象装置(103)を記載した投入先設定ファイル(172)を作成するステップとを備え、前記監視対象装置(103)へ前記コマンドを投入するときは、前記コマンドファイル(142)に記載された前記コマンドが前記投入方式設定ファイル(162)に存在するか否かに基づいて投入方式を決定し、前記分割されたコマンドファイル(142)に記載されたコマンドが、前記監視対象装置(103)へ同時投入を禁止するコマンドであり、かつ、前記投入方式設定ファイル(162)に存在するときは、前記コマンドを順次投入することを特徴とする。
但し、括弧内の数字は、例示である。
【発明の効果】
【0008】
本発明によれば、監視対象装置へ同時に投入することが禁止されているコマンドを同時に誤投入し、競合エラーや処理待ちによるサービス停止などを引き起こしてしまう事態を未然に防ぐことを実現するコマンド投入方法、プログラム及びサーバを提供することが可能になる。
【図面の簡単な説明】
【0009】
【図1】本発明の実施形態の一例を示すコンピュータシステムの構成図である。
【図2】スクリプトファイルの構成を示す図である。
【図3】分割スクリプトファイルの構成を示す図である。
【図4】投入方式設定ファイルの構成を示す図である。
【図5】投入先設定ファイルの構成を示す図である。
【図6】HMI端末の動作を示すフローチャートである。
【図7】サーバにおける端末通信部の動作を示すフローチャートである。
【図8】サーバにおける装置通信処理部の動作を示すフローチャートである。
【図9】サーバにおける装置通信個別部の動作を示すフローチャートである。
【図10】監視対象装置に投入するコマンドの例を示す図である。
【発明を実施するための形態】
【0010】
本発明に係るコマンド投入方法及びプログラムについて、図1乃至図10を参照して、実施形態を説明する。なお、実施形態を説明するにあたり、同様な構成又は機能を示す部位については、同一の符号を付し、その説明の重複を省略することもある。
【0011】
図1は、本発明の実施形態のコンピュータシステム100の構成図である。図1に示すように、コンピュータシステム100は、HMI端末101、サーバ110及び監視対象装置103を備える。
HMI端末101は、スクリプトファイル(コマンドファイル)142を作成してサーバ110へ転送するスクリプト転送部111、スクリプトファイル142の実行をサーバ110へ要求するスクリプト実行部121、及び、サーバ110との間で通信を行うネットワーク接続部131を備える。
【0012】
ここで、スクリプトファイル142は、例えば、Java(登録商標)Scriptの構文で作成され、サーバ110から監視対象装置103に投入されて実行されるコマンド(以下、「装置コマンド」という)104(図2参照)が1行ずつ順番に記載されたファイルである。
【0013】
サーバ110は、制御部210と記憶部220とを備える。さらに、制御部210は、端末通信処理部112、装置通信処理部122及び装置通信個別部132を備え、記憶部220は、スクリプトファイル記憶部141、分割スクリプトファイル記憶部151、投入方式設定ファイル記憶部161及び投入先設定ファイル記憶部171を備える。オペレーションシステム102は、ネットワークサーバ等のサーバ110により運用され、具体的には、前記制御部210が有する機能を実現するプログラムである。サーバ110は、不図示のCPU(Central Processing Unit)、前記プログラムを記憶しておく記憶域となるRAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)等の記憶装置、I/O(Input/Output)装置等から構成される。前記各部の機能は、記憶部220に格納されたプログラムがCPUに実行されることにより、実現される。
【0014】
端末通信処理部112は、それぞれ、HMI端末101内のネットワーク接続部131、装置通信処理部122と通信を行う。また、端末通信処理部112は、HMI端末101から送信されたスクリプトファイル142を受信してスクリプトファイル記憶部141に格納したり、スクリプトファイル142によるプログラムの実行の指示をHMI端末101から受信して装置通信処理部122に通知する。
【0015】
装置通信処理部122は、それぞれ、端末通信処理部112、装置通信個別部132と通信を行う。装置通信処理部122は、HMI端末101からスクリプトファイル142の実行の指示を受信したときは、スクリプトファイル記憶部141に格納されたスクリプトファイル142を読み込み、監視対象装置103ごとにスクリプトファイル142を分割して分割スクリプトファイル152(図3)を作成し、分割スクリプトファイル記憶部151に格納する。スクリプトファイル142(図2)を分割することにより、個別に監視対象装置103ごとに装置コマンド104(図2、3)を投入することが可能になる。
【0016】
そして、装置通信処理部122は、監視対象装置103に対して装置コマンド104を投入する投入方式(直列投入、並列投入)を決定するときに、投入方式設定ファイル記憶部161に格納されている投入方式設定ファイル162(図4)、及び、投入先設定ファイル記憶部171に格納されている投入先設定ファイル172(図5)を読み込む。さらに、投入方式を決定した後、投入方式を装置通信個別部132に通知する。
【0017】
ここで直列投入とは、複数の監視対象装置103に対し、優先順位に従い、サーバ110からそれぞれの監視対象装置103へ装置コマンド104を投入することをいう。並列投入とは、サーバ110から複数の監視対象装置103へ同時に装置コマンド104を投入することをいう。
【0018】
装置通信個別部132は、それぞれ、装置通信処理部122、監視対象装置103と通信を行い、前記の分割スクリプトファイル152を読み込み、装置通信処理部122から要求された投入方式に応じて装置コマンド104を監視対象装置103に投入する。
【0019】
図2は、スクリプトファイル142の構成を示す図である。図2に示すように、スクリプトファイル142は、装置コマンド104の投入先である監視装置(以下、「投入先監視対象装置」ともいう)103、装置コマンド104の各データから構成される。スクリプトファイル142には、オペレーションシステム102からすべての監視対象装置103へ投入される投入可能な装置コマンド104が記載されている。一つの監視対象装置103に投入する装置コマンド104は、複数個の指定が可能となっている。
【0020】
図3は、分割スクリプトファイル152の構成を示す図である。図3に示すように、分割スクリプトファイル152は、投入先監視装置103、装置コマンド104の各データから構成される。分割スクリプトファイル152は、投入先監視対象装置103ごとに作成され、投入される装置コマンド104が記載されている。このように、スクリプトファイル142を分割することにより、個別に監視対象装置103に対して装置コマンド104の投入が可能となる。
【0021】
図4は、投入方式設定ファイル162の構成を示す図である。図4に示すように、投入方式設定ファイル162は、投入識別子114、装置コマンド104の各データから構成される。投入方式設定ファイル162は、コマンド投入方式(直列・並列)の決定、即ち、このファイルに記載されている装置コマンド104が直列方式か、又は並列方式かを決定する際に用いるものである。本実施形態においては、投入方式設定ファイル162には、同時投入禁止とする装置コマンド104を記載する例、即ち、直列方式で投入する装置コマンド104を記載する例を示している。したがって、スクリプトファイル142に記載されている装置コマンド104が投入方式設定ファイル162に記載されている装置コマンド104と合致した場合、コマンド投入方式は直列方式が選択される。また、スクリプトファイル142が新規に作成された場合において、直列投入する装置コマンド104が新規に記載されていた場合は、装置通信処理部122により、この装置コマンド104を反映した投入設定方式ファイル162が新規に作成される。
【0022】
図5は、投入先設定ファイル172の構成を示す図である。図5に示すように、投入先設定ファイル172は、投入識別子114、投入先監視対象装置103から各データから構成される。投入先設定ファイル172は、装置コマンド104を直列に投入する際に、監視対象装置103への装置コマンド104の投入順序の決定に用いる。図5に示すように、装置コマンド104の直列投入時の投入順序毎に監視対象装置103が記載される。また、スクリプトファイル142が新規に作成された場合において、直列投入する装置コマンド104が新規に記載されていた場合は、装置通信処理部122により、この装置コマンド104を反映した投入先設定ファイル172が新規に作成される。
【0023】
HMI端末101の動作を図6に示すフローチャートを用いて説明する(適宜図1参照)。まず、HMI端末101は、監視対象装置103に投入する装置コマンド104に基づいて、処理すべき処理内容がファイル転送かファイル実行かを判定する(ステップ601)。処理内容がファイル転送の場合は(ステップ601のYes)、自身が作成したスクリプトファイル142をサーバ110に転送する(ステップ602)。これは、HMI端末101において新たに監視対象装置103へ投入する装置コマンド104が追加された場合は、サーバ110におけるスクリプトファイル記憶部141に格納されているスクリプトファイル142を更新する必要がある。よって、HMI端末101において、この装置コマンド104を含むスクリプトファイル142を新規に作成し、サーバ110へ転送する必要がある。そして、スクリプトファイル記憶部141格納されているスクリプトファイル142に存在する既存の装置コマンド104を監視対象装置103に対して投入する場合(ステップ601のNo)は、スクリプトファイル142の実行をサーバ110に要求する(ステップ603)。
【0024】
サーバ110における端末通信処理部112の動作を図7に示すフローチャートで説明する(適宜図1参照)。端末通信処理部112は、起動された後、HMI端末101からの処理要求に応じて、処理内容がスクリプトファイル142の転送か、スクリプトファイル142の実行かを判定する(ステップ701)。処理内容がHMI端末101からサーバ110へのスクリプトファイル142の転送の場合は(ステップ701のYes)、HMI端末101から転送されたスクリプトファイル142を受信してスクリプトファイル記憶部へ格納する(ステップ702)。処理内容がスクリプトファイル142の実行の場合(ステップ701のNo)は、装置通信処理部122へその旨を通知する(ステップ703)。
【0025】
サーバ110における装置通信処理部122の動作を図8に示すフローチャートで説明する(適宜図1参照)。
装置通信処理部122は、HMI端末101よりスクリプトファイル142の実行という形で、監視対象装置103への装置コマンド104の投入の指示を受けたときは、スクリプトファイル142を分割して、投入先監視装置103の数の分だけ分割スクリプトファイル152を作成する(ステップ801)。これにより、投入先監視装置103毎に分割スクリプトファイル152が作成される。そして、装置コマンド104を投入する投入先監視装置103に対応する装置通信個別部132を起動する(ステップ802)。
【0026】
次に、スクリプトファイル142に記載されている装置コマンド104と、投入方式設定ファイル162に記載されている装置コマンド104とを比較する(ステップ803)。スクリプトファイル142に記載されている装置コマンド104が投入方式設定ファイル162に存在する場合は(ステップ804のYes)、投入先設定ファイル162を読み込み、装置コマンド104投入時において、どの監視対象装置103から優先的にこの装置コマンド104を投入していくか投入順序を取得する(ステップ805)。スクリプトファイル142に記載されている装置コマンド104が投入方式設定ファイル162に存在しない場合は(ステップ804のNo)、起動した全ての装置通信個別部132に装置コマンド104投入を要求し、投入先監視対象装置103からこのコマンド104を受信した旨の受信結果を受信し(ステップ806)、終了する。
【0027】
そして、この装置コマンド104を投入する投入先監視装置103が存在する場合は(ステップ807のYes)、装置通信個別部132に対して、対応する投入先監視対象装置103への装置コマンド104の投入を要求する。そして、装置コマンド104が投入された投入先監視対象装置103から、この装置コマンド104を受信した旨の受信結果を受信する(ステップ808)。この装置コマンド104を投入する投入先監視装置103が存在しない場合は(ステップ807のNo)終了する。
【0028】
本実施の形態では、投入方式設定ファイル162に記載されている装置コマンド104は、直列投入される装置コマンド104であるが、並列投入される装置コマンド104が記載されてもよい。この場合は、スクリプトファイル142と投入方式設定ファイル162との両方に記載されている装置コマンド104が並列投入される装置コマンド104として、監視対象装置103に対して同時に投入される。
【0029】
サーバ110における装置通信個別部132の動作を図9に示すフローチャートで説明する(適宜図1参照)。装置通信個別部132は起動された後、投入先監視対象装置103に応じた分割スクリプトファイル152を読み込む(ステップ901)。次に、監視対象装置103へ装置コマンド104を投入する(ステップ902)。そして、監視対象装置103から装置コマンド104を実行した旨の実行結果を受信する(ステップ903)。
【0030】
次に、具体的に監視対象装置103に投入する装置コマンド104の例を図10を用いて説明する。図10に示すように、並列投入するコマンド名を「cmd1」、直列投入するコマンド名を「cmd2」、「cmd3」とする。
【0031】
「cmd1」は、監視対象装置103上で起動しているサービスを制御するコマンドであるため、監視対象装置103の間で共有しているデータベースや他の監視対象装置103との連携はしなくてもよい。このため、「cmd1」は、監視対象装置103に対してコマンドの並列投入が可能になる。
【0032】
「cmd2」は、他の監視対象装置103と共有するデータベースの内容を更新するコマンドである。このコマンドが投入されると、データベースへの書き込み処理で他の監視対象装置103との間で競合が発生するため、並列投入は不可能になる。よって、直列投入の対象となる。
【0033】
「cmd3」は、自身以外の他の監視対象装置103と情報の同期をとるコマンドである。このコマンドを投入した場合も、データベースへの書き込み処理が発生し、他の監視対象装置103との間で競合が発生するため、並列投入は不可能になる。よって、直列投入の対象となる。
【0034】
実際に前記コマンドが監視対象装置103に投入される場合は、コマンドにパラメータが付与され、コマンドシンタックスとして投入される。「cmd1」のコマンドシンタックスは、「cmd1 param1」として投入され、別に用意されたパラメータテーブルのparam1に該当するパラメータが選択される。「cmd2」、「cmd3」に関しても同様である。
【0035】
本実施の形態では、サーバ110のスクリプトファイル記憶部141に格納したスクリプトファイル142に「cmd1」、「cmd2」及び「cmd3」のコマンドのうちいずれかのコマンドが存在しない場合は、HMI端末101において、このコマンドを含むスクリプトファイル142が新規に作成され、サーバ110に転送される。そして、直列投入の対象となる「cmd2」、「cmd3」に関するスクリプトファイル142が作成されたときは、投入方式設定ファイル162及び投入先設定ファイル172が作成される。
【0036】
HMI端末101により「cmd2」又は「cmd3」を監視対象装置103へ投入する指示、即ち、スクリプトファイル142の実行の指示が出たときは、装置通信処理部122は、スクリプトファイル142における「cmd2」又は「cmd3」が投入方式設定ファイル162に存在することを確認する。そして、投入先設定ファイル162に記載されている監視対象装置103の優先順位に従いコマンドを投入するため、投入する監視対象装置103に対応する装置通信個別部132を起動し、投入を指示する。このようにして、監視対象装置103にコマンドが投入された後、監視対象装置103は投入されたコマンドが実行された旨をサーバ110へ通知する。
【0037】
以上のように、監視対象装置103に対して同時投入が禁止されている装置コマンド104を、監視対象装置103ごとに設定が可能となる。これにより、コマンド投入時にオペレーションシステム102により装置コマンド104のチェックが実施され、同時投入が禁止されている装置コマンド104が含まれていた場合は、直列にコマンドを順次投入するため、監視対象装置103の保守者は、同時投入が禁止されているコマンドとそれ以外のコマンドを予め分別する必要がなくなる。
さらに、同時投入が禁止されている装置コマンド104を誤投入することにより、競合エラーや処理待ちによるサービス停止などを引き起こしてしまう事態を未然に防ぐことができる。
【符号の説明】
【0038】
100 コンピュータシステム
101 HMI端末(端末)
102 オペレーションシステム
103 監視対象装置(投入先監視対象装置)
104 装置コマンド
110 サーバ
111 スクリプト転送部
112 端末通信処理部
114 投入識別子
121 スクリプト実行部
122 装置通信処理部
131 ネットワーク接続部
132 装置通信個別部
141 スクリプトファイル記憶部
142 スクリプトファイル(コマンドファイル)
151 分割スクリプトファイル記憶部
152 分割スクリプトファイル
161 投入方式設定ファイル記憶部
162 投入方式設定ファイル
171 投入先設定ファイル記憶部
172 投入先設定ファイル
210 制御部
220 記憶部

【特許請求の範囲】
【請求項1】
サーバに監視される監視対象装置に対して、前記サーバからコマンドを投入するコマンド投入方法において、
前記サーバは、
前記コマンドをファイルにしたコマンドファイルを前記監視対象装置ごとに分割するステップと、
前記監視対象装置へ投入する投入方式に対応した前記コマンドを記載した投入方式設定ファイルを作成するステップと、
前記投入方式設定ファイルに記載された前記コマンドの投入先である前記監視対象装置を記載した投入先設定ファイルを作成するステップとを備え、
前記監視対象装置へ前記コマンドを投入するときは、前記コマンドファイルに記載された前記コマンドが前記投入方式設定ファイルに存在するか否かに基づいて投入方式を決定し、
前記分割されたコマンドファイルに記載された前記コマンドが、前記監視対象装置へ同時投入を禁止するコマンドであり、かつ、前記投入方式設定ファイルに存在するときは、前記コマンドを順次投入する
ことを特徴とするコマンド投入方法。
【請求項2】
前記投入方式は、前記サーバから前記監視対象装置に対して、
同時に投入する並列投入方式と、
前記投入先設定ファイルに記載された優先順位に従って投入する直列投入方式との双方を含む
ことを特徴とする請求項1に記載のコマンド投入方法。
【請求項3】
前記監視対象装置へ投入するコマンドが前記コマンドファイルに存在しないときは、前記コマンドを含む前記コマンドファイルを前記サーバに接続された端末で作成するステップをさらに備える
ことを特徴とする請求項1又は請求項2に記載のコマンド投入方法。
【請求項4】
請求項1乃至請求項3のいずれか1項に記載のコマンド投入方法を前記サーバに実行させるためのプログラム。
【請求項5】
監視対象装置に対して、端末を用いてコマンドを投入するサーバにおいて、
前記コマンドをファイルにしたコマンドファイルを前記端末から受信し、前記コマンドファイルをコマンドファイル記憶部に格納する端末通信処理部と、
前記コマンドファイルを前記監視対象装置ごとに分割し、前記監視対象装置へ投入する投入方式に対応した前記コマンドを記載した投入方式設定ファイルを作成し、前記投入方式設定ファイルに記載された前記コマンドの投入先である前記監視対象装置を記載した投入先設定ファイルを作成する装置通信処理部とを備え、
前記装置通信処理部は、
前記監視対象装置へ前記コマンドを投入するときは、前記コマンドファイルに記載された前記コマンドが前記投入方式設定ファイルに存在するか否かに基づいて投入方式を決定し、
前記コマンドファイルに記載されたコマンドが、前記監視対象装置へ同時投入を禁止するコマンドであり、かつ、前記投入方式設定ファイルに存在するときは、前記コマンドを順次投入する
ことを特徴とするサーバ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−60105(P2011−60105A)
【公開日】平成23年3月24日(2011.3.24)
【国際特許分類】
【出願番号】特願2009−210630(P2009−210630)
【出願日】平成21年9月11日(2009.9.11)
【出願人】(308033722)株式会社OKIネットワークス (165)
【出願人】(591051645)株式会社OKIソフトウェア (173)
【Fターム(参考)】