【解決手段】少なくとも1つの機器を管理する管理プログラムであって、コンピュータを、機器の複数のジョブ管理情報を取得する取得部34、及び、取得部34で取得された複数のジョブ管理情報のうち少なくとも2つのジョブ管理情報が、それぞれの条件を共に満たした場合に、機器に対して予め設定されるジョブを実行指示する実行指示部36、として機能させる管理プログラム。
【発明を実施するための形態】
【0010】
図1に示すように、本発明の実施形態に係るジョブ管理システム1は、管理サーバ10と、少なくとも1つの機器12(n)と、を有している。なお、nは1以上の整数であり、その値は特に限定されない。管理サーバ10と各機器12(n)は、ネットワークとしてのインターネットNETによって相互に通信可能に接続されている。
【0011】
管理サーバ10は、機器12(n)の情報の収集やジョブの実行指示等、当該機器12(n)を管理する端末である。この管理サーバ10は、サーバ本体14と、表示装置16と、入力装置18と、を有する。サーバ本体14は、CPU(Central Processing Unit)20やメモリ22、HDD(Hard disk drive)24、通信装置26等のハードウェア、及び、当該HDD24内にインストールされているオペレーティングシステム(不図示)や例えばSNMP(Simple Network Management Protocol)マネージャ等のマネージャプログラムを含み、上記管理を実現する管理プログラム28等のソフトウェアを有する。表示装置16は、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ等のディスプレイである。入力装置18は、例えばキーボードやマウスである。一方、各機器12(n)は、サーバやルータ、スイッチ等のネットワーク装置、ディスクアレイ等のストレージ装置等である。各機器12(n)は、管理サーバ10からの情報収集の要求に応答して、機器12(n)の情報を収集及び返信する、例えばSNMPエージェント等のエージェントプログラムを有する。
【0012】
次に、管理サーバ10の機能的構成について説明する。
図2に示すように、管理サーバ10は、メモリ22やHDD24等で構成される記憶部30を有する。また、管理サーバ10は、CPU20が管理プログラム28を実行することによりそれぞれ機能する、設定部32、取得部34と、実行指示部36と、通知部38と、計測部40と、表示制御部42と、を有する。ここで、本明細書において「ジョブ」とは、機器12(n)により行なわれる処理の実行単位であり、実行指示部36の実行指示の対象であるジョブを、「実行指示対象ジョブ」と称す。
【0013】
記憶部30には、実行指示部36の実行指示の対象である実行指示対象ジョブ及び実行指示の条件の設定を示す指示設定データD1と、通知部38の通知の対象である通知対象ジョブ及び当該通知対象ジョブの通知条件の設定を示す通知設定データD2と、ジョブの実行所要時間の計測結果を示す計測データD3と、が格納される。なお、本実施形態では、指示設定データD1は、機器12(n)の全ジョブのうち設定部32により設定される実行指示対象ジョブ毎に格納され、通知設定データD2は、機器12(n)の全ジョブ毎に格納されている。
【0014】
設定部32は、入力装置18で実行指示に係る設定開始操作を受け付けた場合、例えば
図3に示すようなダイアログボックス50を表示装置16に表示させる。このダイアログボックス50は、実行指示対象ジョブの名前やIDを表示又は入力する入力表示欄52と、実行指示対象ジョブの実行指示の前提となる単一又は複数のジョブ、例えば本実施形態では3つのジョブ(前提ジョブ1、前提ジョブ2、前提ジョブ3)のそれぞれの判定基準や当該判定基準を基にした条件の選択欄54と、を有する。また、ダイアログボックス50には、入力装置18で押下された場合に入力表示欄52と選択欄54の各情報を指示設定データD1として記憶部30に保存する保存ボタン56も有する。
なお、上記「判定基準」としては、例えば機器12(n)のジョブの終了や実行中等を含むジョブ状態を示すステータス情報であるジョブ実行処理ステータスと、起動失敗及び強制終了等のコードを含むジョブ実行結果コードと、が挙げられる。また、上記「判定基準を基にした条件」としては、例えば上記ステータス情報に基づいた条件である、ジョブの正常終了、警告終了、又は異常終了を満たすという条件が挙げられる。
【0015】
また、設定部32は、入力装置18で通知に係る設定開始操作を受け付けた場合、例えば
図4に示すようなダイアログボックス60を表示装置16に表示させる。このダイアログボックス60には、ジョブの名前を表示する表示欄62と、当該表示欄62に表示されているジョブを通知対象ジョブとするか否か、即ち通知設定が有効か否かを決定するチェックボックス64と、通知条件及び通知内容として例えば通知対象ジョブのステータスである開始又は終了を決定するチェックボックス66と、通知対象の宛先を決定する選択欄68と、を有する。また、ダイアログボックス60には、入力装置18で押下された場合にチェックボックス64,66と選択欄68等の各情報を通知設定データD2として記憶部30に保存するOKボタン70も有する。
【0016】
図2に戻って、取得部34は、機器12(n)の複数の(ジョブの)ジョブ管理情報を取得して、一時的に記憶部30に記憶する。これら複数のジョブ管理情報は、互いに異なる機器12(n)のジョブ管理情報であっても、互いに同一の機器12(n)で異なるジョブのジョブ管理情報であってもよい。
【0017】
実行指示部36は、記憶部30内の指示設定データD1に基づいて、取得部34で取得された複数のジョブ管理情報のうち少なくとも2つ(本実施形態では3つ)のジョブ管理情報が、それぞれの条件を共に満たした場合に、機器12(n)に対して予め設定されるジョブを実行指示する。また、実行指示部36は、入力装置18で少なくとも1つのジョブの実行指示の入力操作を受け付けた場合等に、当該少なくとも1つのジョブを対応する機器12(n)に対して実行指示してもよい。
【0018】
通知部38は、記憶部30内の通知設定データD2に基づいて、取得部34で取得されたジョブ管理情報が通知の条件である通知条件を満たした場合に、予め設定される宛先に通知する。この通知の手段は、例えば表示装置16等への表示の他、メール、電話による自動音声等が挙げられる。
【0019】
計測部40は、実行指示部36により実行指示されたジョブの実行所要時間を計測するとともに、この計測結果を計測データD3として記憶部30に記憶する。
【0020】
表示制御部42は、記憶部30内の計測データD3に基づいて、実行指示部36が実行指示しているジョブの進捗状況の表示を制御する。表示制御部42は、例えば本実施形態では、実行指示部36が既に実行指示したジョブを再度実行指示して当該ジョブが実行中の間、計測部40で過去に計測された実行所要時間に基づいて、再度実行指示しているジョブの進捗状況の表示を制御する。
【0021】
次に、
図5を用いて、実行指示部36の処理の流れについて説明する。当該処理は、定期的に例えば1秒毎に、または、不定期に繰り返し実行される。
【0022】
(ステップSP10)実行指示部36は、記憶部30内の1つの指示設定データD1を読み出して、実行指示対象ジョブと、前提ジョブ、例えば3つの前提ジョブ1、前提ジョブ2、前提ジョブ3のそれぞれの判定基準と、当該判定基準を基にしたそれぞれの条件(以下、前提ジョブ1の条件を「条件1」、前提ジョブ2の条件を「条件2」、前提ジョブ3の条件を「条件3」と称す。)等の各種情報を取得する。そして、実行指示部36は、ステップSP12の処理に移行する。
(ステップSP12)実行指示部36は、取得した前提ジョブ1の判定基準を取得部34に渡すと共に、取得部34に処理を開始させる。取得部34は、渡された前提ジョブ1の判定基準に係るジョブ管理情報を、当該前提ジョブ1に対応する機器12(n)から取得して、取得したジョブ管理情報を実行指示部36に渡す。そして、実行指示部36は、ステップSP14の処理に移行する。
(ステップSP14)実行指示部36は、取得部34から渡されたジョブ管理情報が、取得した前提ジョブ1の判定基準を基にした条件1を満たすか否か判定する。そして、実行指示部36は、肯定判定した場合(Yes)にはステップSP16の処理に移行し、否定判定した場合(No)には処理を終える。
(ステップSP16)実行指示部36は、取得した前提ジョブ2の判定基準を取得部34に渡すと共に、取得部34に処理を開始させる。取得部34は、渡された前提ジョブ2の判定基準に係るジョブ管理情報を、当該前提ジョブ2に対応する機器12(n)から取得して、取得したジョブ管理情報を実行指示部36に渡す。そして、実行指示部36は、ステップSP18の処理に移行する。
(ステップSP18)実行指示部36は、取得部34から渡されたジョブ管理情報が、取得した前提ジョブ2の判定基準を基にした条件2を満たすか否か判定する。そして、実行指示部36は、肯定判定(Yes)した場合にはステップSP20の処理に移行し、否定判定した場合(No)には処理を終える。
(ステップSP20)実行指示部36は、取得した前提ジョブ3の判定基準を取得部34に渡すと共に、取得部34に処理を開始させる。取得部34は、渡された前提ジョブ3の判定基準に係るジョブ管理情報を、当該前提ジョブ3に対応する機器12(n)から取得して、取得したジョブ管理情報を実行指示部36に渡す。そして、実行指示部36は、ステップSP22の処理に移行する。
(ステップSP22)実行指示部36は、取得部34から渡されたジョブ管理情報が、取得した前提ジョブ3の判定基準を基にした条件3を満たすか否か判定する。そして、実行指示部36は、肯定判定した場合(Yes)にはステップSP24の処理に移行し、否定判定した場合(No)には処理を終える。
(ステップSP24)実行指示部36は、取得した実行指示対象ジョブを対応する機器12(n)に対して実行指示する。そして、実行指示部36は、全処理を終える。
なお、記憶部30内に指示設定データD1が複数ある場合は、上記ステップSP10〜SP24が指示設定データD1毎に繰り返される。
【0023】
以上の処理を経ることで、実行指示部36は、例えば複数の機器12(n)のジョブを順番に実行指示する際、複数の機器12(n)のうち既にジョブが実行されている少なくとも2つの機器の(前提ジョブの)ジョブ管理情報が、予め設定されたそれぞれの条件(条件1、条件2等)を共に満たした場合に、次の順番の機器12(n)のジョブを実行指示することができる。このように、実行指示部36が、少なくとも2つのジョブ管理情報がそれぞれの条件を共に満たした場合にジョブを実行指示するので、当該実行指示をより複雑な条件下で行なうことができる。
【0024】
次に、
図6を用いて、通知部38の処理の流れについて説明する。当該処理は、定期的に例えば1秒毎に、または、不定期に繰り返し実行される。
【0025】
(ステップSP30)通知部38は、記憶部30内の1つの通知設定データD2を読み出して、ジョブの名前と、通知設定の有効又は無効と、通知設定が有効である場合の、通知条件及び通知内容と、宛先等の各種情報を取得する。そして、通知部38は、ステップSP32の処理に移行する。
(ステップSP32)通知部38は、取得した通知設定が有効か否かを判定する。そして、通知部38は、肯定判定した場合(Yes)にはステップSP34の処理に移行し、否定判定した場合(No)には処理を終える。
(ステップSP34)通知部38は、取得したジョブ(通知対象ジョブ)の通知条件を取得部34に渡すと共に、取得部34に処理を開始させる。取得部34は、渡された通知対象ジョブの通知条件に係るジョブ管理情報を、当該通知対象ジョブに対応する機器12(n)から取得して、取得したジョブ管理情報を通知部38に渡す。そして、通知部38は、は、ステップSP36の処理に移行する。
(ステップSP36)通知部38は、渡されたジョブ管理情報が、取得した通知条件を満たすか否か判定する。そして、通知部38は、肯定判定した場合(Yes)にはステップSP38の処理に移行し、否定判定した場合(No)には処理を終える。
(ステップSP38)通知部38は、取得した宛先に取得した通知内容、例えば「ジョブ1が終了しました」等を通知する。そして、通知部38は、全処理を終える。
【0026】
以上の処理を経ることで、例えば通知の宛先となるユーザが管理サーバ10等から離れていても通知部38のメール等の通知を受けることでジョブの状況監視をすることができるため、ジョブの状況監視のために管理サーバ10の前に居続けなくて済む。なお、通知の宛先となるユーザが管理サーバ10の前に居ても、例えば各種ジョブを示すアイコン80が100個等多数あり、その一部が画面に表示されていないようなジョブの状況監視が複雑な場合、通知部38による表示装置16への表示で通知を受けることで、ジョブの実行状況等を一目で把握できるようになる。
【0027】
次に、
図7を用いて、表示制御部42の処理の流れについて説明する。当該処理は、定期的に例えば1秒毎に、または、不定期に繰り返し実行される。
【0028】
(ステップSP50)表示制御部42は、例えば
図8(A)に示すように、実行指示部36が指示することのできるジョブ毎にアイコン80を表示装置16に対して表示制御しており、表示制御しているジョブのうち少なくとも何れか1つが実行開始されたか否か判定する。表示制御部42は、肯定判定した場合(Yes)にはステップSP52の処理に移行し、否定判定した場合(No)には処理を終える。
(ステップSP52)表示制御部42は、例えば
図8(B)に示すように、開始時間82、終了予測時間84及び進捗状況バー枠86を実行開始されたジョブのアイコン80上部に表示制御する。開始時間82は、実行開始されたジョブの開始時間であり、機器12(n)が実際にジョブの実行を開始した時間に限定されず、例えば実行指示部36が実行指示した時間であってもよい。終了予測時間84は、実行開始されたジョブの計測データD3が存在しない、すなわち過去に実行開始されたジョブがない場合、開始時間82に予め設定されている実行所要時間の初期値を足したものである。また、終了予測時間84は、実行開始されたジョブの計測データD3が存在する、すなわち過去に実行開始されたジョブについて計測された実行所要時間が記憶されている場合、開始時間82に当該実行所要時間を足したものである。そして、表示制御部42は、ステップSP54の処理に移行する。なお、表示制御部42は、開始されたジョブの計測データD3が例えば過去1回目、過去2回目、過去3回目・・・等の複数あり、実行開始されたジョブの実行所要時間が日々長くなるものであるとき、最新の実行所要時間を示す計測データD3を用いることが好ましい。ただし、これに限定されず、各計測データD3が示す実行所要時間の平均であってもよい。
(ステップSP54)表示制御部42は、計測部40の処理を開始する。計測部40は、実行指示部36により実行指示されたジョブの実行所要時間の計測を開始する。そして、表示制御部42は、ステップSP56の処理に移行する。
(ステップSP56)表示制御部42は、実行開始されたジョブの進捗状況を算出する。この進捗状況は、例えばステップSP54で計測部40により現在計測されている実行所要時間の、実行開始されたジョブに対応する計測データD3が示す過去に計測された実行所要時間に対する割合である。対応する計測データD3がない場合、進捗状況は、例えばステップSP54で計測部40により現在計測されている実行所要時間の、実行開始されたジョブの実行所要時間の初期値に対する割合である。次に、表示制御部42は、算出した進捗状況を進捗状況バー88として進捗状況バー枠86内に表示制御する。そして、表示制御部42は、ステップSP58の処理に移行する。
(ステップSP58)表示制御部42は、実行開始されたジョブが終了したか否か判定する。そして、表示制御部42は、肯定判定した場合(Yes)にはステップSP60の処理に移行し、否定判定した場合(No)には、ステップSP56の処理に戻る。
(ステップSP60)表示制御部42は、開始時間82、終了予測時間84、進捗状況バー枠86及び進捗状況バー88の表示制御を終える。この結果、開始時間82、終了予測時間84、進捗状況バー枠86及び進捗状況バー88は表示装置16に表示されなくなり、
図8(A)に示す表示に戻る。また、計測部40は、実行所要時間の計測を終え、計測結果を計測データD3として記憶部30に記憶する。そして、表示制御部42及び計測部40は、全処理を終える。
【0029】
以上の処理を経ることで、管理サーバ10のユーザは、例えば実行指示部36が既に実行指示したジョブを再度実行指示して当該ジョブが実行中の間、計測部40で過去に計測された実行所要時間に基づいたジョブの進捗状況を見ることになる。この結果、本実施形態によれば、ユーザが単に予め設定された実行所要時間の初期値に基づいたジョブの進捗状況を見る場合に比べて、ジョブの進捗状況をより正確に把握することができる。
【0030】
(変形例)
以上、本願の開示する技術の複数の実施形態について説明したが、本願の開示する技術は、上記に限定されるものではない。例えば、実行指示部36は、3つのジョブ管理情報がそれぞれの条件を共に満たした場合にジョブを実行指示する場合を説明したが、少なくとも2つのジョブ管理情報がそれぞれの条件を共に満たした場合にジョブを実行指示してもよい。また、
図2に示す管理サーバ10の機能的構成において、通知部38、計測部40及び表示制御部42のうち少なくとも1つを省略してもよい。また、ジョブの実行所要時間が長く日付を跨るような場合はいつの日付のものか区別ができるように、
図8(B)に示す開始時間82や終了予測時間84には日付を入れてもよい。
【0031】
また、ジョブ管理システム1において、
図1では不図示のコンピュータや携帯電話等、他の外部端末から、HTTP(Hypertext Transfer Protocol)インターフェースで、管理サーバ10の実行指示部36にジョブの実行指示の開始を依頼することができるようにしてもよい。この場合、外部端末から実行指示の開始を受け付けるプログラムを別途開発する手間を省くことができる。また、本明細書において、「〜部」は「〜手段」と読み替えることもできる。
【0032】
本発明は、以下のような態様とすることも可能である。
<付記項1>少なくとも1つの機器を管理する管理プログラムであって、コンピュータを、前記機器のジョブを実行指示する実行指示部と、前記実行指示部による前記ジョブの実行所要時間を計測する計測部、及び、前記実行指示部が既に実行指示した前記ジョブを再度実行指示して当該ジョブが実行中の間、前記取得部で過去に取得された前記実行所要時間に基づいて、前記ジョブの進捗状況の表示を制御する表示制御部、として実現させる管理プログラム。
<付記項2>少なくとも1つの機器を管理する管理プログラムあって、コンピュータを、前記機器のジョブ管理情報を取得する取得部、及び、前記取得部で取得された前記ジョブ管理情報が通知の条件である通知条件を満たした場合に、予め設定される宛先に通知する通知部、として実現させる管理プログラム。