(57)【要約】【課題】  不必要なプログラムが多数実行されている場合に、重要なプログラムがすぐに実行できないという問題点があった。すなわち、優先度の低いアプリケーションが起動していることにより、新しいアプリケーションを起動させることが出来ないという事態が生じていた。【解決手段】  上記課題を解決するために、本発明は、CPUの負荷を監視し、CPUの負荷が閾値を越えた場合に、優先度の低いアプリケーションを終了させる。【選択図】  図１
2008186208.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションを動作するアプリケーションサーバのCPUの負荷を低減する監視／制御サーバを用いたCPU負荷低減方法において、
複数の前記アプリケーションが起動している場合に、
前記CPUの負荷を監視し、
前記CPUの負荷が、予め定められた閾値以上になった場合に、
起動している前記アプリケーションのうち少なくとも１つを終了させることを特徴とするCPU負荷低減方法。
【請求項２】
請求項１に記載のCPU負荷低減方法において、
起動している前記アプリケーションの優先度を算出し、
終了させる前記アプリケーションは、予め定めた優先度より優先度の低いアプリケーションであることを特徴とするCPU負荷低減方法。
【請求項３】
請求項２に記載のCPU負荷低減方法において、
前記監視／制御サーバは、
CPUの負荷の段階に応じて、終了させるアプリケーションの優先度を定義したテーブルを保持し、
前記CPUの負荷の監視の結果、
前記予め定めた優先度を、前記テーブルから抽出し、
抽出された前記優先度より低い優先度のアプリケーションを終了させることを特徴とするCPU負荷低減方法。
【請求項４】
複数のアプリケーションを動作するアプリケーションサーバのCPUの負荷を低減する監視/制御サーバにおいて、
複数の前記アプリケーションが起動している場合に、前記CPUの負荷を監視する監視手段と
前記CPUの負荷が、予め定められた閾値以上になった場合に、起動している前記アプリケーションのうち少なくとも１つを終了させる終了手段とを有することを特徴とする監視/制御サーバ。
【請求項５】
請求項４に記載の監視/制御サーバにおいて、
起動している前記アプリケーションの優先度を算出する算出手段を有し、
前記終了手段は、予め定めた優先度より優先度の低いアプリケーションを終了させることを特徴とする監視/制御サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のアプリケーションを起動/動作するコンピュータにおいて、CPUの負荷を低減する技術に関する。
【背景技術】
【０００２】
複数のプログラムを実行できるシステムにおいて、実行されるプログラムの数を制限、またはプログラムの実行状況を監視することで、アプリケーションプログラムを信頼性高く処理し、計算機システムの安定的な運転管理機能を提供するシステムがある（例えば、特許文献１）。
【０００３】
【特許文献１】特開平８−３２８８８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１では、実行できるプログラムの数を制限しているため、新たなプログラムを実行させるためには、実行しているプログラムを終了させる必要があった。それゆえ、不必要なプログラムが多数実行されている場合に、重要なプログラムがすぐに実行できないという問題点があった。すなわち、優先度の低いアプリケーションが起動していることにより、新しいアプリケーションを起動させることが出来ないという事態が生じていた。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明は、CPUの負荷を監視し、CPUの負荷が閾値を越えた場合に、より優先度の低いアプリケーションを終了させる。より優先度の低いアプリケーションとしては、予め定めた優先度と比較してこれよりも低い優先度のアプリケーションが含まれる。
【発明の効果】
【０００６】
本発明によれば、CPUの負荷低減を実現でき、優先度の高いアプリケーションに対しより安定した動作状態を提供し、また新しいアプリケーションを起動させるのに障害を取り除くことが出来る。
【発明を実施するための最良の形態】
【０００７】
以下に本発明の実施形態について詳細に説明する。
図１はアプリケーションの動作状況、およびユーザのログイン状況に応じて、監視／制御サーバから当該動作を制限するシステムの全体構成図を示す。
【０００８】
本システムの主な構成要素は、利用者が業務処理を行うために操作するユーザ端末（70,80,90）、本システムの各要素を連結するネットワーク（60）、業務処理用のアプリケーションプログラムを作動させるアプリケーションサーバ（30）、そして本発明システムの要である監視／制御サーバである。
【０００９】
なお、ここにおいて、アプリケーションサーバは複数あってもよいし、アプリケーションサーバと、監視/制御サーバが一体化されていてもよいものとする。また、実施例は、複数のクライアントがアプリケーションを使用する例を記載しているが、一人のクライアントが複数のアプリケーションを利用する場合であってもよい。また、クライアントPCとアプリケーションサーバと、監視/制御サーバが一体化されていてもよいものとする。
【００１０】
監視／制御サーバ（10）の中にはOS部（12）の配下に、利用者からのログイン要求に対する処理とアプリケーションサーバに搭載されたアプリケーションプログラムの起動処理を行う起動要求処理部（14）、利用者のログイン状態、アプリケーションサーバの動作状態を把握、管理する監視処理部（16）、および強制的に利用者端末をログアウトし、アプリケーションプログラムを停止しメモリから削除するなどの指示を行う制御処理部（18）、そして前記状態を示すデータならびに制御を行うための基準データを蓄積するための監視制御情報DB（20）を具備する。
【００１１】
まず最初に、図１の全体システム構成図を用いて、基本的な処理の流れを説明する。通常、業務処理は、ユーザ端末（70,80,90）、ネットワーク（60）、監視／制御サーバ（10）そしてアプリケーションサーバ群（30,40,50）の経路で行われる。
【００１２】
一方、併設された監視／制御サーバ（10）は定期的に、当該サーバに搭載した監視処理部（12）で、アプリケーションサーバの状態を把握し、制御処理部（18）でアプリケーションサーバの動作制限を施すための、前記状態情報とシステムに事前設定した基準データを元に計算し、監視制御情報ＤＢ（20）の更新処理を行っている。
【００１３】
次にアプリケーションプログラムの起動について、その処理の流れを以下に説明する。ユーザ端末《70,80,90》は、アプリケーションサーバに搭載されたアプリケーションプログラムの起動要求を監視／制御サーバ（10）に行う。
【００１４】
監視／制御サーバ（10）は、要求されたアプリケーションプログラムの起動前に、起動要求処理部《14》および制御処理部（18）における定期的な状態把握の処理結果をもとに、アプリケーションプログラムの起動可否を判定する。
【００１５】
監視／制御サーバ（10）は、“起動が可能である”、との判定に至って初めて、起動要求のあったアプリケーションプログラムを実行させるために、アプリケーションサーバに起動要求を行う。
【００１６】
もし監視／制御サーバ（10）が、“起動が不可能な状態である”、との判定時はユーザ端末利用者へ、使用要求のあったアプリケーションプログラムは利用できないことおよびその理由をメッセージで通知する。
【００１７】
以上が本システムの基本的な処理の流れである。次に、上記処理内容につき、図２〜図４のフローチャートを用いて、より詳細に説明する。図２~図４のフローは、監視/制御サーバが行うものとする。
【００１８】
図２は、利用者がログインを行ったり、アプリケーションを立ち上げたりするときの処理である。S21において、起動要求処理を開始する。S22において、クライアントPCから利用者のログインを受け付ける。すなわち、クライアントPCから利用者IDを受信し、S24において利用者ログインテーブルに利用者IDを格納するとともに、現在時刻を取得し、現在時刻をログイン時刻として格納する。
【００１９】
S25において、クライアントPCから、アプリケーションの起動の要求（起動させたいアプリケーションのIDを含む）を受け付ける。S26において、アプリケーションを起動するCPUの余裕はあるか否かを判断する。具体的には、CPU負荷監視テーブルを参照し、負荷率から指定されたアプリケーションを起動させられるか否かを判断する。
【００２０】
S27において、S26でアプリケーションを起動できないと判断した場合には、メッセージ一覧テーブルからメッセージID１のメッセージを抽出し、クライアントPCへ送信する。
【００２１】
S28において、S26でアプリケーションを起動できると判断した場合には、アプリケーションサーバへアプリケーションを起動させる指示を行い、タスク動作監視テーブルのレコードを追加する。なお、ここにおいて、クライアントPCとアプリケーションサーバは伝送路を介して通信処理を行い、クライアントPCはアプリケーションサーバに格納されているアプリケーションを実施できる。
【００２２】
S29において、システム制御処理部を起動し、図４に示すフローを開始する。
【００２３】
図３の処理は、システム監視処理部の動作である。システム監視処理部は、定期的に動作するものとする。S31において、アプリケーションサーバのCPU負荷率を収集する。S32において、収集した負荷率をCPU負荷監視テーブルへ格納する。
【００２４】
S33において、利用者IDとタスク起動時刻を、タスク動作監視テーブルから収集する。S34において、タスク起動時刻から、タスク動作時間を算出し、タスク動作監視テーブルに書き込む。図5に示す例では、タスク動作時間が30分未満か30分以上かを判別し、その結果を書き込む。
【００２５】
S35において、規模、発生頻度の順位を計算し、規模順位×発生頻度順位で優先度を計算する。なお、図５の例では、優先度の値が小さいほうが、優先度が高いことになる。ここにおいて、発生頻度とは、例えば、起動回数のログをとっておき、その起動回数が多い方が良く使われるアプリケーションとして重要性が高いとみなし、順位が高いとしている。なお、優先度の計算は例であり、他の計算方法であってもよい。
【００２６】
S36において、計算された結果を、タスク優先度テーブルに格納する。S37において、利用者ログインのログイン状況（利用時間）を収集する。S38において、ログイン状況を利用者ログインテーブルへ書き込む。S31~S38を定期的に繰り返すものとする。
【００２７】
次に、図４のシステム制御処理部の処理の説明をする。S41において、タスク動作監視テーブルを読み込む。S42において、CPU負荷監視テーブルを読み込む。
【００２８】
S43において、S42で読み込んだ負荷率が閾値テーブルに定められた閾値の範囲に該当するか否かを判断する。閾値の範囲に該当する場合は、どの閾値（閾値１、閾値２、閾値３のいずれか）に該当するかを判断する。閾値の範囲に該当しない場合は、S41にもどる。図５に示す例では、負荷率は60%なので、閾値テーブルの閾値３に該当する。
【００２９】
S44において、閾値優先度テーブルを読み込み、S43で抽出した閾値に該当する優先度を抽出し、S45において、当該優先度に該当するタスクをタスク優先度テーブルから抽出する。例えば、図５では、閾値３であったので、優先度６以上が該当する。次に、タスク優先度テーブルにより、優先度が6以上のタスクを抽出する。図５の例では、ＡＰ3が優先度９であり、優先度6以上に該当する。
【００３０】
S46において、S45で抽出したタスクがタスク動作監視テーブルを参照し、タスク動作時間30分以上か否かを判断する。タスク動作時間が30分未満であった場合には、たとえ優先度がタスク優先度テーブルから抽出されたものよりも低かったとしても、該当AP（アプリケーションプログラム）を終了させる処理を行わない(該当ＡＰの起動を継続させるための処理を行ってもよい)。これにより、優先度が低いAPが長々と立ち上がっている事態を防ぐことができる。
【００３１】
また、ここにおいて、タスク動作時間ではなく、利用者のログイン時間を判断し、利用者のログイン時間が一定時間より長いか否かでAPを終了させるか否かを判断してもよい。例えば、タスク優先度テーブルでAP３が該当し、AP３を使用しているユーザは、タスク動作監視テーブルにより利用者ID0003の利用者であるが、利用者ログインテーブルを判断すると、利用時間が利用者ID0003の利用者は60分以上であるので、S47以降のAPを終了させる処理を行う。
S46において、「未満」と判断された場合は、S41に戻る。
【００３２】
S47において、該当するAPの作業状態を保存する。保存する先として、アプリケーションサーバであってもよいし、監視/制御サーバであってもよいし、個々のクライアントPCであってもよいものとする。
S48において、該当するAPを終了させる。
【００３３】
S49において、メッセージ一覧テーブルを読み込む。例えば、S46において、タスクが30分以上と判断された場合は、メッセージID3を読み込む。S45において、ログインが60分以上と判断された場合には、メッセージID2を読み込む。
S50において、S49で読み出したメッセージを、クライアントに送信する。
S５１において、タスク動作監視テーブルのレコードとタスクを削除する。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施の実施形態を示すシステム構成ブロック図
【図２】図１における起動要求処理部の処理の手順を示すフローチャート
【図３】図１におけるシステム監視処理部の処理の手順を示すフローチャート
【図４】図１におけるシステム制御処理部の処理の手順を示すフローチャート
【図５】図１における起動要求処理部、システム監視処理部、システム制御処理部が参照するテーブル
【符号の説明】
【００３５】
１０  監視／制御サーバ
１２  ＯＳ部
１４  起動要求処理部
１６  監視処理部
１８  制御処理部
２０  監視制御情報ＤＢ
３０、４０、５０  アプリケーションサーバ郡
３１、４１、５１    監視制御情報収集部
６０  光ネットワーク
７０、８０、９０  ユーザ端末
【図１】
2008186208.tif 000003
【図２】
2008186208.tif 000004
【図３】
2008186208.tif 000005
【図４】
2008186208.tif 000006
【図５】
2008186208.tif 000007