(57)【要約】  【課題】  ユーザの計算機利用の予実算管理をするクラスタシステムにおいて、予実算管理システムを構成するプログラムの計算機への配置を柔軟に設定・変更できるようにして、クラスタシステムのもつ高可用性と高拡張性の特徴を生かす。  【解決手段】  予実算管理システムを構成するプログラムとして、ユーザの予算チェックをする予算チェックプログラム１０２、課金情報を収集する実算値・統計情報収集エージェント１０３および予実算管理データベース２０８を管理する予実算管理マネージャ２０２に分離する。予実算管理構成定義ファイル１０４には、予算チェックプログラム１０２、実算値・統計情報収集エージェント１０３および予実算管理マネージャ２０２が実行されるマシン名が設定される。予算チェックプログラム１０２および実算値・統計情報収集エージェント１０３は、それぞれ予実算管理構成定義ファイル１０４を参照して予実算管理マネージャ２０２が実行されるマシン名を取得する。【選択図】  図１
2006155276.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して相互に接続される複数の計算機から構成され、ユーザによる計算機利用と予実算管理とを実行するクラスタシステムであって、
前記クラスタシステムでは、マネージャ、エージェントおよび予算チェックプログラムの各プログラムが実行され、
前記マネージャ、前記エージェントおよび前記予算チェックプログラムの各々が実行される少なくとも１つの計算機の識別子が設定される構成定義ファイルの記憶手段と、各ユーザごとに計算機利用の予算値と実算値累計が格納される予実算管理データベースの記憶手段と、各ユーザごとに計算機利用の結果である課金情報が記録される課金ファイルの記憶手段と、
前記構成定義ファイルを参照して前記マネージャが実行される計算機の識別子を取得し、ユーザの計算機利用を開始するとき、取得した計算機識別子を用いて前記マネージャに当該ユーザの予算状況を問い合わせ、当該ユーザの計算機利用を許可するか否か判定する前記予算チェックプログラムの処理手段と、
前記構成定義ファイルを参照して前記マネージャが実行される計算機の識別子を取得し、ユーザの計算機利用に係わるプロセスの実行が終了したとき、当該ユーザについて前記課金ファイルを参照して課金情報を取得し、取得した前記課金情報から計算機利用の実算値を算出し、前記マネージャに前記データベースの更新を要求する前記エージェントの処理手段と、
前記予算チェックプログラムからの問合せに応答して前記予実算管理データベースを参照し、当該ユーザについての予算状況を前記予算チェックプログラムに回答し、前記エージェントからの更新要求に応答して前記予実算管理データベースの当該ユーザに関する前記実算値累計を更新する前記マネージャの処理手段とを有することを特徴とする予実算管理システム。
【請求項２】
前記クラスタシステムは、さらにユーザ利用による前記実算値の統計情報が格納される統計情報ファイルを有し、
前記エージェントは、前記実算値から前記統計情報を作成して前記統計情報ファイルに格納することを特徴とする請求項１記載の予実算管理システム。
【請求項３】
前記クラスタシステムは、さらに各ユーザごとに前記実算値が記録される実算値退避ファイルの記憶手段と、
前記実算値退避ファイルから各ユーザの前記実算値を入力し、前記マネージャに前記データベースの更新を要求する障害回復プログラムの処理手段とを有し、
さらに前記エージェントの処理手段は、前記の更新要求が失敗したとき、算出した前記実算値を前記実算値退避ファイルに記録することを特徴とする請求項１記載の予実算管理システム。
【請求項４】
前記クラスタシステムは、さらに前記課金ファイルの課金情報に含まれるユーザ利用によるプロセス実行終了時刻であって前記エージェントによる実算値算出処理が済んだ最終のユーザ利用によるプロセス実行終了時刻が記録される課金データ管理ファイルの記憶手段を有し、
前記エージェントは、各ユーザについて前記データベースの更新が済むごとに前記課金データ管理ファイルの前記プロセス実行終了時刻を更新することを特徴とする請求項１記載の予実算管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の計算機から構成されるクラスタシステム上でユーザの計算機利用の際の予実算を管理する技術に関する。
【背景技術】
【０００２】
計算機センターの運用に当り、ユーザが計算機利用の際の特定の利用単位ごとに課金されるが、特定ユーザがシステム資源を独占すると他ユーザがシステム利用できないことから、決められた予算を超えた場合、システム利用を拒否する方法が必要となる。このため各ユーザの予算額と実算額をデータベースにより管理し、予算チェックをすることによって予算を超過するようなシステム利用を拒否できる予実算管理方法が取られるようになった。また計算機センターのコンピュータ環境は、大規模な汎用機から、複数の計算機システムを接続した分散システムを経て、永くサービスを提供し続けるために低コストな計算機システムを自在に構成できるクラスタシステムへと変化してきた。
【０００３】
従来、分散システムにおけるユーザの予実算を管理する技術として、例えば特許文献１に記載のものが知られている。特許文献１は、分散システムにおける予実算管理を実現する技術に関するものである。
【０００４】
またマスタプロセッサとスレーブプロセッサにより課金を収集し管理する技術として、例えば特許文献２に記載のものが知られている。特許文献２は、マスタプロセッサとスレーブプロセッサとの対応を設定・変更できるシステムにおける課金情報収集を実現する技術に関するものである。
【０００５】
さらにクラスタシステムにおいて課金情報を収集する技術として、例えば特許文献３に記載のものが知られている。特許文献３は、運用系と待機系オペレーティングシステムを制御できるクラスタシステムにおいてユーザへの計算機資源の割当てと、課金情報収集に関する技術である。
【０００６】
【特許文献１】特開平９−１７９６４７号公報
【特許文献２】特開平２−２４２４６６号公報
【特許文献３】特開２００１−３３１３３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
クラスタシステムにおいて、クラスタシステムを構成する複数の計算機にユーザ利用システムと予実算管理システムとをどう配置するかが問題となる。また予実算管理システムは、ユーザ利用開始時に予算チェックをするプログラム、ユーザ利用に係わるプロセス実行終了時にそのプロセスの課金情報を収集するプログラム、および予実算管理データベースの実算値を更新するプログラムを有する。そこでこれらのプログラムをどの計算機に配置するかが問題となる。
【０００８】
従来技術によれば、ユーザ利用システムと予実算管理システムとが別々の計算機群に配置されたり、予実算管理システムを構成するプログラムがすべて同一の計算機に配置したり、計算機を固定したりした。このため、ユーザ利用システムと予実算管理システムとの間のネットワークを介する通信の量が増大したり、予実算管理システムが配置される計算機のすべてに重複して予実算管理データベースをもつ必要があった。またプログラムとそれが実行される計算機が固定されるために、計算機の障害によってそのプログラムが使用できなくなるという問題もある。
【０００９】
本発明の目的は、予実算管理システムを構成するプログラムの計算機への配置を柔軟に設定し、また変更できるようにして、上記問題点に対処するとともに、クラスタシステムの特徴である高可用性と高拡張性に対応することにある。
【課題を解決するための手段】
【００１０】
本発明は、予実算管理システムを構成するプログラムとして、ユーザ利用開始の際の予算チェックをするプログラム、ユーザの課金情報を収集するエージェント、および予実算管理データベースを管理するマネージャに分離する。そして予算チェックプログラム、エージェントおよびマネージャの各々が実行される少なくとも１台の計算機の識別子が設定される構成定義ファイルを設ける。予算チェックプログラムおよびエージェントは、それぞれこの構成定義ファイルを参照することによってマネージャが実行される計算機を認識する。
【発明の効果】
【００１１】
本発明によれば、システム間あるいはプログラム間のネットワークを介する通信を少なくするような柔軟な予実算管理システムを構成できるとともに、クラスタシステムの高可用性と高拡張性という特徴を生かした予実算情報の管理ができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明のクラスタシステムを利用する予実算管理の一実施例について図面を参照して具体的に説明する。
【００１３】
図１は、予実算管理を行うクラスタシステムの一実施例の全体構成を示す図である。同図中１００、２００、３００、４００は、それぞれクラスタシステムを構成する計算機システムである。１０１、２０１、３０１、４０１は、それぞれ計算機システム１００、計算機システム２００、計算機システム３００、計算機システム４００のオペレーティングシステムである。１０２は計算機システム１００、計算機システム３００で稼動する予算チェックプログラムである。２０２は計算機システム２００、計算機システム４００で稼動する予実算管理マネージャである。１０３は計算機システム１００、計算機システム２００、計算機システム３００、計算機システム４００で稼動する実算値・統計情報収集エージェントである。１０４は計算機システム１００、計算機システム２００、計算機システム３００、計算機システム４００に保持される予実算管理構成定義ファイルである。１０５は計算機システム１００、計算機システム２００、計算機システム３００、計算機システム４００に保持される課金ファイルである。１０６は計算機システム１００、計算機システム２００、計算機システム３００、計算機システム４００に保持される統計情報ファイルである。１０７はユーザが計算機システム１００、計算機システム３００を利用する時に用いるユーザ操作端末である。２０８はＴＳＳ（Time Sharing System）用マシン群１１０とバッチジョブ用マシン群３１０の予実算管理データベースである。３０９、４０９は、それぞれ計算機システム３００、計算機システム４００のバッチシステムである。
【００１４】
クラスタシステムを用いる計算機センターでは、ＴＳＳ用マシン群１１０とバッチジョブ用マシン群３１０に分けて運用することが多く、同図中でも計算機システム１００、計算機システム２００はＴＳＳ用マシン群３１０を、計算機システム３００、計算機システム４００はバッチジョブ用マシン群３１０を構成している。
【００１５】
計算機システム１００，２００，３００，４００は、各々ＣＰＵ、メモリ、記憶装置を備えた計算機システムである。予実算管理構成定義ファイル１０４、課金ファイル１０５、統計情報ファイル１０６および予実算管理データベース２０８は、それが保持される計算機システムの各々の記憶装置上に格納されるファイルまたはデータベースである。予算チェックプログラム１０２、実算値・統計情報収集エージェント１０３および予実算管理マネージャ２０２は、各々計算機のメモリに格納され、ＣＰＵによって実行されるプログラムである。計算機システム１００，２００，３００，４００の間は、ＬＡＮなどのローカルネットワークによって接続されている。ユーザ操作端末１０７は、入力装置および表示装置を備える端末装置である。
【００１６】
図１において、ユーザ操作端末１０７から計算機システム１００のＴＳＳ利用依頼をオペレーティングシステム１０１が受け取るとオペレーティングシステム１０１は予算チェックプログラム１０２に利用依頼したユーザＩＤを渡す。予算チェックプログラム１０２は、予実算管理構成定義ファイル１０４から予実算管理データベース２０８のある計算機システムを特定し、それが計算機システム２００の場合、計算機システム２００のオペレーティングシステム２０１を介して予実算管理マネージャ２０２にＴＳＳ利用依頼したユーザＩＤを渡す。予実算管理マネージャ２０２は、予実算管理データベース２０８−２を検索しＴＳＳ利用依頼ユーザの予算が残っている場合は利用許可を、残っていない場合は利用不許可を予算チェックプログラム１０２に返す。このあとＴＳＳ利用許可になった場合は、予実算管理データベース２０８−２内に登録されていた予実算情報を用いて当該ユーザのＴＳＳ利用中の予実算管理を行なう。当該ユーザのＴＳＳ利用に係わるプロセスの実行が終了したとき、実算値・統計情報収集エージェント１０３は、課金ファイル１０５−２から当該プロセスの課金情報を採取し、予実算管理構成定義ファイル１０４から予実算管理データベース２０８のある計算機システムを特定し、それが計算機システム２００の場合、計算機システム２００のオペレーティングシステム２０１を介して予実算管理マネージャ２０２に当該ユーザの実算値情報を渡す。予実算管理マネージャ２０２は送られた当該ユーザの実算値情報から予実算管理データベース２０８−２を更新する。また実算値・統計情報収集エージェント１０３は、採取した課金情報から統計情報を加工して統計情報ファイル１０６−２に出力する。
【００１７】
図１において、ユーザ操作端末３０７から計算機システム３００のバッチジョブ利用依頼をオペレーティング３０１を介してバッチジョブシステム３０９が受け取るとバッチジョブシステム３０９は、予算チェックプログラム１０２にバッチジョブ利用依頼したユーザＩＤを渡す。予算チェックプログラム１０２は、予実算管理構成定義ファイル１０４から予実算管理データベース２０８のある計算機システムを特定し、それが計算機システム４００の場合、計算機システム４００のオペレーティングシステム４０１を介して予実算管理マネージャ２０２にバッチジョブ利用依頼したユーザＩＤを渡す。予実算管理マネージャ２０２は予実算管理データベース２０８−４を検索しバッチジョブ利用依頼ユーザの予算が残っている場合は利用許可を、残っていない場合は利用不許可を予算チェックプログラム１０２に返す。このあとバッチジョブ利用許可になった場合は、予実算管理データベース２０８−４内に登録されていた予実算情報を用いて当該ユーザのバッチジョブ利用中の予実算管理を行なう。当該ユーザ利用に係わるプロセスの実行が終了したとき、実算値・統計情報収集エージェント１０３は、課金ファイル１０５−４から当該プロセスの課金情報を採取し、予実算管理構成定義ファイル１０４から予実算管理データベース２０８のある計算機システムを特定し、それが計算機システム４００の場合、計算機システム４００のオペレーティングシステム４０１を介して予実算管理マネージャ２０２に当該ユーザの実算値情報を渡す。予実算管理マネージャ２０２は、送られた当該ユーザの実算値情報から予実算管理データベース２０８−４を更新する。また実算値・統計情報収集エージェント１０３は、採取した課金情報から統計情報を加工して統計情報ファイル１０６−４に出力する。
【００１８】
図２は、予実算管理構成定義ファイル１０４のデータ構成例を示す図である。予実算管理構成定義ファイル１０４は、マネージャ実行マシン名、エージェント実行マシン名、チェックプログラム実行マシン名、ポート番号、ＴＳＳリソースのマシン名およびバッチリソースのマシン名を格納する。マネージャ実行マシン名は、予実算管理マネージャ２０２が実行される計算機の識別子である。エージェント実行マシン名は、実算値・統計情報収集エージェント１０３が実行される計算機の識別子である。チェックプログラム実行マシン名は、予算チェックプログラム１０２が実行される計算機の識別子である。
【００１９】
ポート番号は、予実算管理マネージャ２０２が実行される計算機のポート番号である。この例では予実算系の処理に使用する計算機のポート番号として１００、ユーザ利用に係わるコマンド系の処理に使用する計算機のポート番号として１０１が割当てられている。各マシンは、いずれも対応するネットワークアドレスをもつ。ＴＳＳリソースは、ＴＳＳが実行される計算機の識別子である。バッチリソースは、バッチジョブシステムが実行される計算機の識別子である。リソースは、課金の対象とするＣＰＵ、メモリ使用量、ディスクＩ／Ｏ回数、ディスク使用量などの計算機リソースを意味する。マシン名は、いずれも少なくとも１つが必要であり、複数個設定可能である。
【００２０】
予実算管理マネージャ２０２は、予実算管理データベース２０８を保持する計算機システムに配置する。またクラスタシステム上で予算チェックプログラム１０２、実算値・統計情報収集エージェント１０３および予実算管理マネージャ２０２が以下に述べる処理を行うときに、できるだけネットワークを介する通信を避けるように各プログラムを計算機システムに配置するのが望ましい。
【００２１】
なお計算機の障害により使用できないマシンが生じたとき、予実算管理構成定義ファイル１０４のマシン名は、使用不可のマシンを除くように更新される。
【００２２】
図３は、予実算管理データベース２０８のデータ構成例を示す図である。予実算管理データベース２０８は、各ユーザごとにユーザＩＤ、グループＩＤ、予算値、実算値累計、管理対象／対象外の情報を格納する。予算値は月／期など期間当りの予算金額、実算値累計は当該期間中に課金された実算金額の合計を示す。管理対象／対象外は当該ユーザが管理対象となっているか否かの区分を示す。予実算管理データベース２０８−２はＴＳＳ用マシン群１１０のユーザの予実算管理のためのもの、予実算管理データベース２０８−４はバッチジョブ用マシン群３１０のユーザの予実算管理のためのものである。
【００２３】
図４は、予実算管理システムの準備をするプログラムの処理手順を示すフロ−チャ−トである。当該プログラムは、まず始めに予実算管理する対象リソースと、予実算管理マネージャ２０２、予算チェックプログラム１０２、実算値・統計情報収集エージェント１０３を配置する計算機システムを指定するユーザ操作端末１０７からの入力データを受け付ける（ステップ２００）。次にプログラムは、入力されたデータより予実算管理構成定義ファイル１０４を作成し、ユーザ操作端末１０７から指定された対象計算機システムに配布する（ステップ２０１）。そして当該プログラムは、予実算管理マネージャ２０２を配置する計算機システムの記憶装置上に予実算管理データベース２０８を作成し、上記のようなユーザ情報や予実算管理情報を登録する（ステップ２０２）。プログラムは、ユーザ情報ファイルや予実算管理情報を格納するファイルから各ユーザごとのレコードを入力し、予実算管理データベース２０８を作成する。ユーザ情報に予実算管理対象外を指定すると、予実算管理システムは、当該ユーザの実算値を収集し、統計情報を作成する処理のみを行う。
【００２４】
図５は、ユーザのログイン時の予算チェックプログラム１０２の処理手順を示すフロ−チャ−トである。ユーザによるＴＳＳやバッチジョブ利用が開始されるとき、その計算機システムのオペレーティングシステムやバッチジョブシステムは、当該計算機システムに配置された予算チェックプログラム１０２を起動する。予算チェックプログラム１０２は、まず当該ユーザが特権ユーザか否か判定する（ステップ３００）。特権ユーザであれば、予算チェックせずに終了し、システム利用を許可する（ステップ３０１）。次に予実算管理構成定義ファイル１０４が存在するか否か判定する（ステップ３０２）。予実算管理構成定義ファイル１０４が存在しない場合、予算チェックプログラム１０２は異常終了し（ステップ３０９）、当該ユーザにシステム利用を許可しない。
【００２５】
予実算管理構成定義ファイル１０４が存在する場合、予算チェックプログラム１０２は、予実算管理構成定義ファイル１０４から情報を入力し（ステップ３０３）、当該計算機システムが予算チェック対象か否か判定する（ステップ３０４）。当該計算機システムが予算チェック対象になっていなければ、予算チェックせずに終了し（ステップ３０５）、システム利用を許可する。
【００２６】
予算チェック対象になっていれば、予算チェックプログラム１０２は、予実算管理マネージャ２０２の通信先がメモリに記録されているか否か判定し、通信先が記録されてない場合には予実算管理マネージャ２０２のマシン名とポート番号をメモリに記録する（ステップ３０６）。予算チェックプログラム１０２は、個々のユーザの開始の際に、記録した通信先を用いて予実算管理マネージャ２０２に当該ユーザの予算状況と許可／不許可を問い合わせる（ステップ３０７）。
【００２７】
予実算管理マネージャ２０２は、予実算管理データベース２０８を参照し、当該ユーザの予算値、実算値累計、管理対象／対象外の情報から当該ユーザのシステム利用を許可するか否かの回答を問合せ元の予算チェックプログラム１０２へ送信する。予実算管理マネージャ２０２は、当該ユーザが管理対象外であるか、管理対象の場合には実算値累計が予算値以下であればシステム利用を許可し、実算値累計が予算値を越えていれば不許可とする。
【００２８】
予算状況取得に失敗した場合、予算チェックプログラム１０２は、異常終了して（ステップ３０９）システム利用を許可しない。予算状況取得が成功した場合（ステップ３０８ＹＥＳ）、予算チェックプログラム１０２は、システム利用が許可されたか否か判定し（ステップ３１０）、許可されたときシステム利用を許可するメッセージを出力して（ステップ３１１）終了するが、許可されなければシステム利用を許可しないメッセージを出力して（ステップ３１２）終了する。
【００２９】
図６は、課金ファイル１０５と課金データ管理ファイル１５０のデータ構成例を示す図である。課金ファイル１０５は、ユーザ利用により実行された各プロセスについて１つの課金レコードが記録されている。各課金レコードは、プロセスの実行開始時刻、終了時刻、ユーザＩＤ、各リソース使用量などの課金情報を含む。課金レコードは終了時刻の順に時系列に配列されている。課金ファイル１０５−１，１０５−２，１０５−３，１０５−４は、各々その計算機システム利用の課金情報を格納する。
【００３０】
課金データ管理ファイル１５０は、記憶装置上に格納され、課金ファイル名、処理完了時刻およびレコードオフセットのデータを含む。「課金ファイル名」は、課金ファイル１０５のファイル名である。「処理完了時刻」は、課金ファイル１０５の課金レコードの終了時刻のうち実算値・統計情報収集エージェント１０３の処理が完了した最後の終了時刻を示す。「レコードオフセット」は、課金ファイル１０５の課金レコードのうち、実算値・統計情報収集エージェント１０３が次に処理すべきレコードの位置を示す。すなわち未処理レコードのうちの先頭のレコードを指す。
【００３１】
図７は、実算値退避ファイル６０１のデータ構成例を示す図である。実算値退避ファイル６０１は、記憶装置上に格納され、ユーザの計算機利用に対応してリソース種別、ユーザＩＤ、グループＩＤおよび実算値から成るレコードを記録する。リソース種別はＴＳＳリソースかバッチリソースかの区分である。実算値は当該ユーザについて課金された実算金額である。
【００３２】
図８は、実算値・統計情報収集エージェント１０３の起動時の処理手順を示すフロ−チャ−トである。システムリブート時に実算値・統計情報収集エージェント１０３が起動される。実算値・統計情報収集エージェント１０３は、予実算管理構成定義ファイル１０４が存在するか否か判定する（ステップ４００）。予実算管理構成定義ファイル１０４が存在しない場合、実算値・統計情報収集エージェント１０３は、異常終了する（ステップ４０４）。
【００３３】
予実算管理構成定義ファイル１０４が存在する場合、実算値・統計情報収集エージェント１０３は、予実算管理構成定義ファイル１０４から情報を入力し（ステップ４０１）、当該計算機システムが実算値・統計情報収集対象か否か判定する（ステップ４０２）。実算値・統計情報収集対象になっていなければ、異常終了する（ステップ４０４）。実算値・統計情報収集対象になっていれば、実算値・統計情報収集エージェント１０３は、予実算管理マネージャ２０２の通信先がメモリに記録されているか否か判定し、通信先が記録されてない場合には予実算管理マネージャ２０２のマシン名とポート番号をメモリに記録する（ステップ４０３）。ただし当該実算値・統計情報収集エージェント１０３が存在する計算機システムに予実算管理マネージャ２０２が存在すれば、ネットワークを介する通信の代わりに両プログラムを実行するプロセスについてのプロセス間通信となる。次に実算値・統計情報収集エージェント１０３は、記録した通信先を用いて予実算管理マネージャ２０２にその起動時刻を問い合わせる（ステップ４０５）。予実算管理マネージャ２０２は、その起動時刻を実算値・統計情報収集エージェント１０３へ送信する。起動時刻取得に失敗した場合、実算値・統計情報収集エージェント１０３は、一定時間待機してから再度問合せする（ステップ４０７）。起動時刻取得が成功した場合（ステップ４０６ＹＥＳ）、実算値・統計情報収集エージェント１０３は、課金データ管理ファイル１５０が存在するか否か判定する（ステップ４０８）。課金データ管理ファイル１５０が存在する場合、実算値・統計情報収集エージェント１０３は、課金データ管理ファイル１５０から処理完了時刻を入力してメモリに保存する（ステップ４０９）。課金データ管理ファイル１５０が存在しない場合、実算値・統計情報収集エージェント１０３は、予実算管理マネージャ２０２の起動時刻を処理完了時刻としてメモリに保存する（ステップ４１０）。そして実算値・統計情報収集エージェント１０３は、課金情報の収集を開始する。
【００３４】
図９は、実算値・統計情報収集エージェント１０３の課金情報収集時の処理手順を示すフロ−チャ−トである。課金情報の収集を開始すると、実算値・統計情報収集エージェント１０３は、課金ファイル１０５から課金レコードをメモリに入力する（ステップ５００）。図１の例では、各計算機システムに実算値・統計情報収集エージェント１０３が存在するので、各実算値・統計情報収集エージェント１０３は、その計算機システムを利用したユーザについてその計算機システムが保持する課金ファイル１０５だけを処理すればよい。メモリに読み込まれる課金レコードは、課金データ管理ファイル１５０に記録された「レコードオフセット」以後のレコードである。ここでプロセスの終了時刻は、メモリあるいは課金データ管理ファイル１５０に保存された「処理完了時刻」より大きい。もし課金ファイル１０５に課金レコードが存在しない場合（ステップ５０１ＮＯ）、一定時間待機してから（ステップ５０２）、ステップ５００に戻る。次に実算値・統計情報収集エージェント１０３は、入力した課金情報から実算値を算出し、算出した実算値情報を予実算管理マネージャ２０２へ送り予実算管理データベース２０８の更新を要求する（ステップ５０３）。
【００３５】
予実算管理マネージャ２０２は、実算値・統計情報収集エージェント１０３から実算値情報を受け取り、予実算管理データベース２０８の当該ユーザの実算値累計に現在の実算値を加える更新を行う。
【００３６】
実算値・統計情報収集エージェント１０３は、予実算管理マネージャ２０２からの応答により予実算管理データベース２０８の更新が成功したか否か判定する（ステップ５０４）。更新が失敗した時、実算値・統計情報収集エージェント１０３は、実算値退避ファイル６０１への出力処理を行なう。実算値・統計情報収集エージェント１０３は、実算値退避ファイル６０１がロックされているか否か判定する（ステップ５０６）。ロックされている場合、実算値・統計情報収集エージェント１０３は、ロックが解除されるまで待ち（ステップ５０７）、ロックが解除されたとき、ロックして実算値退避ファイル６０１の最後のレコードとして算出した実算値情報を出力してロックを解除する（ステップ５０８）。
【００３７】
その後、実算値・統計情報収集エージェント１０３は、課金データ管理ファイル１５０を更新する（ステップ５０５）。すなわち実算値・統計情報収集エージェント１０３は、処理の済んだプロセスの終了時刻によって課金データ管理ファイル１５０の「処理完了時刻」を更新し、課金ファイル１０５の先頭の未処理レコードの位置によって「レコードオフセット」を更新する。次に実算値・統計情報収集エージェント１０３は、課金情報を加工して統計情報を作成し（ステップ５０９）、作成した統計情報を統計情報ファイル１０６へ出力する（ステップ５１０）。以上の処理が完了すると、実算値・統計情報収集エージェント１０３は、ステップ５００に戻る。
【００３８】
図１０は、障害発生時の計算機システム２００の構成を示す図である。障害発生によるシステムリブートによって障害回復プログラム６００が実行される。障害回復プログラム６００は、実算値退避ファイル６０１を用いて予実算管理データベース２０８を回復する。
【００３９】
図１１は、障害発生後の障害回復プログラム６００の処理手順を示すフロ−チャ−トである。障害発生によりシステムリブートされると、自動的に予実算管理システムも再起動され、まず予実算管理マネージャ２０２と障害回復プログラム６００の実行が開始される。障害回復プログラム６００は、実算値退避ファイル６０１の存在を判定し（ステップ７００）、存在しなければ直ちに終了する（ステップ７０１）。次に障害回復プログラム６００は、予実算管理構成定義ファイル１０４から情報を入力する（ステップ７０４）。次に障害回復プログラム６００は、予実算管理マネージャ２０２の通信先がメモリに記録されているか否か判定し、通信先が記録されていない場合には予実算管理マネージャ２０２のマシン名とポート番号をメモリに記録する（ステップ７０６）。次に障害回復プログラム６００は、実算値退避ファイル６０１がロックされているか判定する（ステップ７０７）。障害回復プログラム６００は、ロックされている時だけロック解除を待ち（ステップ７０９）、ロックを取る（ステップ７０８）。次に障害回復プログラム６００は、実算値退避ファイル６０１から実算値情報を入力し、計算機システム２００内のオペレーティングシステム２０１を介して予実算管理マネージャ２０２に実算値情報による予実算管理データベース２０８の更新を要求する（ステップ７１０）。更新が失敗した場合（ステップ７１１ＮＯ）には、ロックを解除し一定時間待機してからロックを取り直して再度更新要求する（ステップ７１２）。更新が成功した場合は、障害回復プログラム６００は、実算値退避ファイル６０１の最後まで処理したか否か判定し（ステップ７１３）、処理していなければ、次の実算値情報を処理し、処理していれば、ロックを解除し実算値退避ファイル６０１を削除してから終了する（ステップ７１４）。障害回復が終了すると、実算値・統計情報収集エージェント１０３の処理が開始される。
【図面の簡単な説明】
【００４０】
【図１】実施形態の予実算管理を行うクラスタシステムの構成図である。
【図２】予実算管理構成定義ファイル１０４のデータ構成例を示す図である。
【図３】予実算管理データベース２０８のデータ構成例を示す図である。
【図４】実施形態の予実算管理システム起動までの処理手順を示すフロ−チャ−トである。
【図５】実施形態の予算チェック処理の手順を示すフロ−チャ−トである。
【図６】課金ファイル１０５と課金データ管理ファイル１５０のデータ構成例を示す図である。
【図７】実算値退避ファイル６０１のデータ構成例を示す図である。
【図８】実施形態の実算値・統計情報収集処理の起動時の処理手順を示すフロ−チャ−トである。
【図９】実施形態の課金情報収集時の処理手順を示すフロ−チャ−トである。
【図１０】実施形態の障害発生時の計算機システム２００の構成を示す図である。
【図１１】実施形態の障害発生後の障害回復処理の手順を示すフロ−チャ−トである。
【符号の説明】
【００４１】
１００…計算機システム、１０２…予算チェックプログラム、１０３…実算値・統計情報収集エージェント、１０４…予実算管理構成定義ファイル、１０５…課金ファイル、１０６…統計情報ファイル、１０７…ユーザ操作端末、２００…計算機システム、２０２…予実算管理マネージャ、２０８…予実算管理データベース、３００…計算機システム、４００…計算機システム、６００…障害回復プログラム、６０１…実算値退避ファイル
【図１】
2006155276.tif 000003
【図２】
2006155276.tif 000004
【図３】
2006155276.tif 000005
【図４】
2006155276.tif 000006
【図５】
2006155276.tif 000007
【図６】
2006155276.tif 000008
【図７】
2006155276.tif 000009
【図８】
2006155276.tif 000010
【図９】
2006155276.tif 000011
【図１０】
2006155276.tif 000012
【図１１】
2006155276.tif 000013