(57)【特許請求の範囲】
【請求項１】
管理クライアントに対して管理サービスの実行指示を行う管理マネージャを有する管理コンピュータと、
前記管理マネージャからの管理サービス実行指示に基づいて管理サービスの実行を制御する親プロセスおよび該親プロセスからの指示に基づいて個々の管理サービスを実行する子プロセスからなる管理クライアントを有する被管理対象コンピュータとがネットワークを介して接続されたシステムのネットワーク管理サービス実行方法であって、
前記管理クライアントの親プロセスは、前記管理サービスの優先度に応じた複数の資源量の上限値を予め保持し、
前記管理マネージャは、前記管理クライアントに対して管理サービス実行指示を行う場合に、前記管理サービスの優先度を表す情報を付加し、
前記親プロセスは、管理サービスの実行指示を受けたときに、該管理サービス実行に必要な資源量と該管理サービスの優先度に応じて保持した資源量の上限値とを比較し、
必要な資源量が前記上限値を下回っていれば、当該管理サービスを実行する子プロセスを起動し、
また、必要な資源量が前記上限値を上回っていれば、当該管理サービス実行の延期を管理マネージャに要求することを特徴とするネットワーク管理サービス実行方法。
【請求項２】
前記管理クライアントの親プロセスは、
管理サービスの種類に応じた管理サービスの平均実行時間を保持しており、
前記管理マネージャより管理サービス実行指示を受けた際に起動した子プロセスに関して起動時からの経過時間の測定を行い、
必要な資源量が上限値を上回った場合、前記平均実行時間と前記経過時間の測定結果から、前記必要な資源量が前記上限値を下回って確保できるようになるまでの見込み時間を算出し、
前記管理サービス実行延期要求を管理マネージャに行う際に、前記算出した見込み時間を合わせて通知することを特徴とする請求項１記載のネットワーク管理サービス実行方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はネットワーク管理サービス実行方法に関し、特にコンピュータネットワークの管理システムにおいて、管理のためのコンピュータおよびネットワーク資源を制限することにより、システム全体の性能を確保することができるようにしたネットワーク管理サービス実行方法に関する。
【０００２】
【従来の技術】
コンピュータ・ネットワーク・システムにおけるクライアント機能の拡大に伴い、クライアント管理の重要性が高まり、クライアントを個別に管理するための仕組みが出てきた。これは、以下に示すような構成をとるのが一般的である。
(１)コンピュータ・ネットワークにおけるネットワーク管理システムで、
(２)管理用コンピュータ上では管理マネージャが動作し、被管理対象コンピュータ上では管理クライアントが動作し、管理マネージャと管理クライアントが相互に関連を持って動作し、管理サービスを実行する。
(３)管理マネージャは、管理サービスの実行指示を管理クライアントに対して指示する。
(４)管理クライアントは、管理サービスの実行指示を受け取る親プロセスと管理サービスを実際に行う子プロセスとから成る構成をとる。
(５)管理クライアントの親プロセスは、管理サービスの実行指示を管理マネージャから受け取ると、管理サービスの種類に対応した異なる種類の子プロセスを生成する。
(６)管理クライアントの親プロセスは、生成した子プロセスの管理サービス実行結果を受け取り、管理マネージャに応答を返す。
【０００３】
【発明が解決しようとする課題】
ここで問題になるのは、例えば、被管理対象コンピュータの構成情報を管理用コンピュータに収集したり、あるいは、管理用コンピュータから被管理対象コンピュータに対してファイルを配布するといった管理サービスの種類の増加と、クライアント数の増加に従い、
(１)管理クライアントのプログラム実行による、メモリ，ディスク記憶装置等のコンピュータ資源の圧迫が、他のアプリケーションの実行にとって無視できない程度まで増大する。
(２)管理マネージャと管理クライアントとの間の通信量が増加する。
という２点である。
本発明は上記事情に鑑みてなされたもので、その目的とするところは、従来の技術における上述の如き問題を解消し、コンピュータ資源の圧迫を避け、かつ、管理マネージャと管理クライアントとの間の通信量の増加を防止可能としたネットワーク管理サービス実行方法を提供することにある。
【０００４】
【課題を解決するための手段】
本発明の上記目的は、管理マネージャ１０２を有する管理コンピュータ１０１と、管理クライアント１０５を有する被管理対象コンピュータ１０４とがネットワーク１０３を介して接続されたシステムにおいて、管理クライアント１０５の親プロセス１０６が、子プロセス１０７も含めた管理クライアント全体が動作するための資源量の上限値を各管理サービスの優先度に応じて予め保持しており、優先度が付加された管理サービスの実行指示を受けたときに、該管理サービス実行に必要な資源量と当該優先度に応じて保持した資源量の上限値とを比較し、必要な資源量が上記上限値を下回っていれば、当該管理サービスを実行する子プロセス１０７を起動し、また、必要な資源量が上記上限値を上回っていれば、当該管理サービス実行の延期を管理マネージャ１０２に要求することを特徴とするネットワーク管理サービス実行方法により達成される。
【０００５】
【発明の実施の形態】
本発明に係るネットワーク管理サービス実行方法においては、管理クライアント１０５が管理サービス実行時に確保する資源をある一定値以下に制限することにより、コンピュータ・ネットワーク上の管理用オーバヘッドの時間的変動を抑止することができ、これにより、システム全体の性能確保が可能になる。
なお、管理クライアント１０５の親プロセス１０６は、管理サービスの種類、つまり、子プロセス１０７の種類に応じた管理サービスの平均実行時間を保持しており、管理クライアント１０５の親プロセス１０６は、起動した子プロセス１０７に関して、起動時からの経過時間を測定する。このとき、上述の、必要な資源量が上限値を上回った場合の管理サービス実行延期要求を管理マネージャ１０２に行う際に、必要な資源量が上限値を下回って確保できるようになるまでの見込み時間をも合わせて通知する。
これにより、管理マネージャ１０２が管理クライアント１０５に対して効率的に管理サービス実行要求の再試行を行うことができる。
【０００６】
以下、本発明の実施例を図面に基づいてより詳細に説明する。
図１は、本発明の適用対象であるコンピュータ・ネットワークの概要を示す図である。
管理用コンピュータ１０１では、コンピュータ・ネットワーク管理のための管理マネージャ１０２を実行する。管理マネージャ１０２は、ネットワーク１０３を介して接続されている被管理対象コンピュータ１０４を管理対象とする。この管理のために、被管理対象コンピュータ１０４上で管理クライアント１０５を実行する。
【０００７】
管理マネージャ１０２と管理クライアント１０５は、ネットワーク１０３を介した通信を行いながら、管理サービスを実現する。管理サービスの例としては、
(１)被管理対象コンピュータの構成情報を管理用コンピュータに収集する。
(２)管理用コンピュータから被管理対象コンピュータに対してファイルを配布する。
などがある。
【０００８】
図２は、被管理対象コンピュータ１０４内の管理クライアント１０５の内部構成の概要を示す図である。
管理クライアント１０５のプロセス構成は、管理クライアント１０５における管理サービスの実行を制御する親プロセス１０６と、個々の管理サービスを実行する子プロセス１０７から成る。親プロセス１０６の起動は、手動またはシステム起動時の自動起動により行われる。また、子プロセス１０７の起動契機は、親プロセスからの起動による。
【０００９】
図３は、親プロセス１０６と子プロセス１０７のブロック図である。
対管理マネージャ通信部３０１は、管理マネージャ１０２からの管理サービス実行指示メッセージの受信，結果の応答送信，実行延期要求送信などを行う。
管理サービス実行制御部３０２は、管理サービス実行可否の判断および実行状態の管理を行う。
子プロセス起動・監視処理部３０３は、管理サービス実行制御部３０２からの子プロセス起動要求に基づき、プロセスの起動・終了の監視を行う。
【００１０】
子プロセス起動・監視処理部３０３は、管理サービス実行制御部３０２からの子プロセス起動要求に基づき、プロセスの起動・終了の監視を行う。
また、実時刻取得処理部３０５は、コンピュータ内のタイマ割り込みを取得して、一定時間の経過を管理サービス実行制御部３０２に通知する。
子プロセス１０７内の管理サービス実行部３０４は、コンピュータ内の構成情報収集，管理マネージャからのファイル受信等の、実際の管理サービスを実行する。
【００１１】
次に、上述の如く構成された本実施例における処理の流れを、図３〜図９を用いて説明する。まず、全体的な動作を説明する。
管理マネージャ１０２が管理クライアント１０５に対して、管理サービス実行指示を送信すると、管理クライアント親プロセス１０６の対管理マネージャ通信部３０１がこれを受信する。
実行指示メッセージのフォーマットは、図４に示すように実行要求サービス名称フィールドと優先度フィールドから成る。
【００１２】
ここで、実行要求サービス名称は、予め管理マネージャと管理クライアントとの間で定義されているものとする。また、優先度は管理サービスの起動の優先度を表わす数値であり、値が大きいほど高い優先度を表わすものとする。
管理マネージャと管理クライアントとの間のメッセージ通信手順は、図４に示すメッセージを透過的に送る手順であれば、種別を問わない。
対管理マネージャ通信部３０１は、メッセージを受信すると、この内容を管理サービス実行制御部３０２に渡す。
【００１３】
管理サービス実行制御部３０２は、受け取った実行要求サービス名称と後述するサービス定義テーブル５０１とのマッチング処理を行い、起動すべき子プログラム名称を決定する。
サービス定義テーブルの一例を、図５に示す。サービス定義テーブル５０１の各フィールドの定義は、以下のとおりである。
【００１４】
(１)サービス名称：管理マネージャ１０２からの実行要求に含まれる名称と一致するサービス名称
(２)プログラム名称：該当するサービスを実行する主体となるプログラム名称
(３)平均実行時間：該当するプログラムを実行するのに必要な時間の平均値
(４)実行時所要メモリ：該当するプログラムを実行するのに必要となる一時記憶装置の最大容量
(５)実行時所要ディスク容量：該当するプログラムを実行するのに必要となる二次記憶装置の最大容量
【００１５】
次に、管理サービス実行制御部３０２は、起動すべき子プログラムが実行許容範囲内にあるかどうかをチェックする。まず、管理マネージャから受け取った優先度と後述する資源量上限値定義テーブル６０１とのマッチングを行い、許容できる実行時メモリと実行時ディスクの容量の上限値を求める。
資源量上限値定義テーブルの一例を、図６に示す。資源量上限値定義テーブル６０１は、優先度が高いほど、上限値が高くなるように定義しておく。
【００１６】
次に、後述する実行中プロセス管理テーブル７０１を用いて、現在起動中のプロセスの状態を確認する。
実行中プロセス管理テーブル７０１の一例を、図７に示す。実行中プロセス管理テーブル７０１の各フィールドの定義は、次のとおりである。
(１)実行中プログラム名称：サービス定義テーブル５０１のプログラム名称
(２)実行中プロセス名称：プログラムを実行するプロセスの名称
(３)プロセス起動時刻：該当プロセスを起動した時刻
(４)経過時間：該当プロセスを起動した時刻から現在までの経過時間。この経過時間フィールドの更新は、実時刻取得処理部３０５からの現在時刻通知を基に、管理サービス実行制御部３０２が行う。
【００１７】
管理サービス実行制御部３０２の経過時間フィールド、および、サービス定義テーブル５０１の平均実行時間フィールドの更新アルゴリズムを、図９を用いて説明する。
管理サービス実行制御部３０２に対して、実時刻取得処理部３０５からの実時刻更新イベント通知があると(ステップ９０１)、管理クライアントの実行中プロセス管理テーブル７０１の各エントリの「経過時間」フィールドを、(現在時刻)−(プロセス起動時間)の値で更新する(ステップ９０２)。
【００１８】
次に、子プロセス起動・監視処理部３０３からのプロセス終了イベント通知をチェックする(ステップ９０３)。もし、イベント通知があった場合には、まず、管理クライアントの実行中プロセス管理テーブル７０１の該当エントリから、経過時間の値を取り出す(ステップ９０４)。
次に、この値を基にして、サービス定義テーブル５０１の平均実行時間フィールド、および、実行回数フィールドを更新する(ステップ９０５)。
【００１９】
平均実行時間フィールドの値の算出は、（平均実行時間値×実行回数値＋経過時間値)÷(実行回数値＋１)で、また、実行回数フィールドの値の算出は、(実行回数値＋１)の式で求める。
処理の最後に、実行中プロセス管理テーブル７０１の該当エントリを削除する(ステップ９０６)。
管理サービス実行制御部３０２は、実行中プロセス管理テーブル７０１とサービス定義テーブル５０１を基に、現在使用中の資源量を求める。
【００２０】
本実施例では、使用中のメモリ容量は２５ＭＢ(Ｐrog2の１０ＭＢ＋Ｐrog３の１５ＭＢ)，ディスク容量は３００ＫＢ(Ｐrog２の１００ＫＢ＋Ｐrog３の２００ＫＢ)である。
この結果を基に許容上限値との差を求め、更に、実行要求プログラムが起動可能かどうかのチェックを行う。本実施例では、メモリ容量上限値は４０ＭＢなので、起動可能なプログラムは１５ＭＢ(＝４０ＭＢ−２５ＭＢ)であるが、要求のＰrog４は２０ＭＢ必要なので、起動できない結果となる。
【００２１】
この場合、管理サービス実行制御部３０２は、管理マネージャ１０２に対する実行延期要求を、対管理マネージャ通信部３０１を経由して行う。
実行延期要求メッセージのフォーマットを、図８に示す。このメッセージの中の起動可能見込み時間フィールド値は、次の方法で算出する。
(１)資源解放によって、要求プログラム起動に必要な資源が確保できるプログラム
(２)上の条件を満たすプログラムの中で、(プログラム平均実行時間−経過時間)の値が最小のプログラム
を選択する。
【００２２】
本実施例の場合：
(１)Ｐrog２とＰrog３共に、資源解放によって、要求のＰrog４起動に必要な資源を確保可能
(２)プログラム平均実行時間−経過時間：Ｐrog２・・・・３０sec，Ｐrog３・・・・２２０sec
これより、起動可能見込み時間フィールド値は、３０となる。
【００２３】
仮に、管理マネージャ１０２が実行要求を次の条件のどちらかに変更した場合には、上と同様の判定方法を用いると、メモリ，ディスク双方ともに上限値を超えないのでプロセス起動が可能になる。
(１)実行要求サービス名称＝サービスＳ１
(２)優先度＝２
プロセス起動が可能な場合には、管理サービス実行制御部３０２は、子プロセス起動・監視処理部３０３に、起動するプログラム名称を渡す。
【００２４】
子プロセス起動・監視処理部３０３は、受け取ったプログラム名称のプロセスを起動し、正常起動を確認(管理サービス実行部３０４が動作を開始)すると、プロセス名称およびプロセス起動時刻を管理サービス実行制御部３０２に渡す。
管理サービス実行制御部３０２は、これを基に実行中プロセス管理テーブル７０１を更新する。
また、子プロセス起動・監視処理部３０３は、子プロセスの終了を継続的に監視し、プロセスが終了した場合には、終了結果と共に、管理サービス実行制御部３０２に通知する。
【００２５】
管理サービス実行制御部３０２は、管理マネージャに対するサービス終了応答を対管理マネージャ通信部３０１を経由して行う。
上記実施例によれば、管理クライアント１０５が確保する資源量を常にある値以下に保持することができ、また、管理サービスの実行優先度を設定できるようにできる。更に、管理マネージャ１０２が管理クライアント１０５に対して効率的に管理サービス実行要求の再試行を行うことができる。
なお、上記実施例は本発明の一例を示したものであり、本発明はこれに限定されるべきものではないことは言うまでもないことである。
【００２６】
【発明の効果】
以上、詳細に説明した如く、本発明によれば、メモリ，ディスク記憶装置等のコンピュータ資源の圧迫を避け、かつ、管理マネージャ１０２と管理クライアント１０５との間の通信量の増加を防止可能としたネットワーク管理クライアント起動方法を実現できるという顕著な効果を奏するものである。
【図面の簡単な説明】
【図１】本発明の適用対象であるコンピュータネットワークの概要を示す図である。
【図２】実施例に係る、被管理対象コンピュータ１０４内の管理クライアント１０５の内部構成の概要を示す図である。
【図３】実施例に係る、管理クライアント１０５内部の親プロセス１０６と子プロセス１０７のブロック図である。
【図４】実施例に係る、管理マネージャ１０２から管理クライアント１０５への管理サービス実行要求メッセージの例を示す図である。
【図５】実施例に係る、管理クライアント１０５のサービス定義テーブル５０１の例を示す図である。
【図６】実施例に係る、管理クライアント１０５の資源量上限値定義テーブル６０１の例を示す図である。
【図７】実施例に係る、管理クライアント１０５の実行中プロセス管理テーブル７０１の例を示す図である。
【図８】実施例に係る、管理クライアント１０５から管理マネージャ１０２への実行延期要求メッセージの例を示す図である。
【図９】実施例に係る、管理サービス実行制御部３０２の経過時間フィールドおよびサービス定義テーブル５０１の平均実行時間フィールドの更新処理のフローチャートである。
【符号の説明】
１０１  管理用コンピュータ
１０２  管理マネージャ
１０３  ネットワーク
１０４  被管理対象コンピュータ
１０５  管理クライアント
１０６  親プロセス
１０７  子プロセス
３０１  対管理マネージャ通信部
３０２  管理サービス実行制御部
３０３  子プロセス起動・監視処理部
３０４  管理サービス実行部
３０５  実時刻取得処理部
５０１  サービス定義テーブル
６０１  資源量上限値定義テーブル
７０１  実行中プロセス管理テーブル
【図１】
0003543548.tif 000002
【図２】
0003543548.tif 000003
【図３】
0003543548.tif 000004
【図４】
0003543548.tif 000005
【図５】
0003543548.tif 000006
【図６】
0003543548.tif 000007
【図７】
0003543548.tif 000008
【図８】
0003543548.tif 000009
【図９】
0003543548.tif 000010