(57)【特許請求の範囲】
【請求項１】
実行単位の生成時に、プロセス管理情報に含まれる実行単位の識別子が、所定の識別子か否かに応じて課金レコード出力を行うか否かの条件を設定する課金レコード出力条件設定手段と、
実行単位の識別子情報が所定の識別子か否かに応じて前記課金レコード出力条件設定手段が設定した課金レコード出力を行うか否かの条件に基づいて、生成された実行単位の種別に基づく実行課金レコード出力の可否を判定し、該実行単位が課金レコード出力を行うと判定した場合、該実行単位の終了時に、該実行単位によって使用されたＣＰＵ時間や入出力データ量の累積時間に応じた課金レコード出力を行う課金レコード出力手段
とを有する課金情報出力装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、計算機システムでプログラムを実行する際の実行単位毎の課金レコードの出力に関する。
【０００２】
【従来の技術】
計算量の多いプログラムを実行する場合には、高速演算という目的に特化した計算機システムが利用される。このような計算機システムは単一の利用者によって利用されることはまれで、通常は複数の利用者によって共用される。実行されたプログラムによって使用されたＣＰＵ時間やＩ／Ｏ量に応じて利用者毎に料金が請求される。
【０００３】
プログラムはプロセスと呼ばれる実行単位によってオペレーティングシステムプログラムの配下で実行される。プログラムを実行する際にはプロセスが生成され、プロセスに対して割り当てられたメモリ空間上にロードされ実行される。プログラムの実行に応じて、使用したＣＰＵ時間やＩ／Ｏ量等が課金情報としてプロセス毎に管理・更新される。プログラムの実行が終了すると、プロセスは消滅する。その際に課金情報が課金レコードとして課金ファイルに出力される。
【０００４】
また、関連のある複数のプログラムを実行する場合、プログラムを実行する複数のプロセスをまとめて、一つのジョブとして管理することができる。また、利用者のプログラムはジョブとして実行される。
従来の計算機システムでは、システム管理のために実行されたプログラムも利用者が実行したプログラムも区別することなく、プロセス終了の際には課金ファイルに課金レコードを出力していた。
【０００５】
【発明が解決しようとする課題】
計算機システムに電源を投入した際や、システムの再起動を行なった場合等は、各種の初期化設定等のために多くのプログラムが実行される。そのため、プロセスの生成と消滅を数多く繰り返すことになる。
ところで、課金ファイルに対する課金レコードの出力は外部記憶装置に対するアクセスを伴うため時間の掛かる処理となる。すなわち、計算機システムに電源を投入した際や、システムの再起動を行なった際に利用者のプログラムの実行を開始するまでに長時間を要してしまうという問題があった。
【０００６】
本発明では計算機システムの起動の際に利用者のプログラムの実行までに要する時間を短縮することを課題とする。
【０００７】
【問題を解決するための手段】
そこで、本発明では、プロセス終了時に課金レコードを出力するための条件を満足するか否かの判断を行い、条件を満足する場合にのみ課金レコードを出力することで不要な課金レコードの出力を省くことで、上記課題を解決する。
【０００８】
【発明の実施の形態】
図１は本発明の実施の形態を示す図である。
図中、１は計算機、２はＣＰＵ、３はオペレーティングシステム（ＯＳ）、４は課金プロセスタイプ設定プログラム、５は課金レコード出力プログラム、６は課金プロセスタイプ情報格納領域、７はプロセス管理情報格納領域、８は外部記憶装置、９は課金プロセスタイプ格納ファイル、１０は課金ファイルである。
【０００９】
オペレーティングシステム３は計算機１で実行される利用者のプログラムの実行を制御するプログラムであって、計算機１上の図示されないメモリ上に存在し、ＣＰＵ２によって実行される。
課金レコード出力プログラム５は、プロセス終了の際にそのプロセスに関する課金情報を課金レコードとして、課金ファイル１０に出力するプログラムである。
【００１０】
課金プロセスタイプ情報格納領域６は、課金プロセスタイプ情報格納ファイル７に記述された課金プロセスタイプに関する記述内容を記憶するメモリ上の領域である。
課金プロセスタイプ情報格納ファイル７は、課金対象のプロセスを特定する情報を格納するファイルである。全てのプロセスについて課金レコードを出力する場合には、このファイルに″ＰＲＯＣＴＹＰＥ＝ＡＰ＿ＡＬＬ″と記述する。ジョブプロセスについてのみ課金レコードを出力する場合は、このファイルに″ＰＲＯＣＴＹＰＥ＝ＡＰ＿ＪＯＢ″と記述する。ＴＳＳプロセス等、ジョブプロセス以外のプロセスについて課金レコードを出力する場合は、このファイルに″ＰＲＯＣＴＹＰＥ＝ＡＰ＿ＮＪＯＢ″と記述する。
【００１１】
課金プロセスタイプ情報格納ファイル７の内容はシステム起動時に課金プロセスタイプ設定プログラム４が読み込み、メモリ上の所定領域課金プロセスタイプ情報格納領域６に格納する。
新たなプロセスは、プロセス生成要求に基づくプロセスの生成と、ジョブ起動要求に基づくプロセスの生成のいずれかによって生成される。
【００１２】
どちらの場合も新たなプロセスが生成されると、それに対応したプロセス管理情報が生成され、プロセス管理情報格納領域７に格納される。プロセス管理情報の構成の一例を図３に示す。
プロセスＩＤはプロセスを一意に識別するＩＤである。ジョブＩＤはプロセスが属するジョブを一意に識別するＩＤである。ユーザＩＤはプロセスを実行したユーザを一意に識別するＩＤである。グループＩＤはユーザの属するグループを一意に識別するＩＤである。
【００１３】
ジョブ起動要求に基づいてプロセスが生成された場合にはジョブＩＤはプロセスの属するジョブのジョブＩＤとなるが、プロセス生成要求に基づくプロセスの生成の場合は、ジョブプロセスではないことを示す特別の値である−１がジョブＩＤとして設定される。
ＣＰＵ時間は、プロセスが生成されてから現在に至るまでに、プログラムを実行するためにＣＰＵを使用した累積の時間を示す。
【００１４】
Ｉ／Ｏ量は、プロセスが生成されてから現在に至るまでに、プログラムが入出力を行ったデータの量の累積値を示す。
ＣＰＵ時間及びＩ／Ｏ量はオペレーティングシステム３によって動的に更新される。
プロセスが終了する際には課金レコード出力プログラム５が実行される。課金レコード出力プログラム５の処理のフローは図２に示す通りである。
【００１５】
すなわち、まずステップ１１においてプロセスが課金レコード出力対象として指定されているか否かを判定する。課金プロセスタイプ情報格納領域６にＡＰ＿ＡＬＬが設定されている（ＰＲＯＣＴＹＰＥ＝ＡＰ＿ＡＬＬ）か、または、ＡＰ＿ＪＯＢが設定されていてジョブＩＤが０でない（ＰＲＯＣＴＹＰＥ＝ＡＰ＿ＪＯＢ＆ジョブＩＤ！＝−１）か、または、ＡＰ＿ＮＪＯＢが設定されていてジョブＩＤが０である（ＰＲＯＣＴＹＰＥ＝ＡＰ＿ＮＪＯＢ＆ジョブＩＤ＝−１）かのいずれかの場合は条件を満足する。条件を満足している場合にのみステップ１３においてプロセス管理情報の内容を課金レコードとして外部記憶装置８の課金ファイル１０の最後に追加する。
【００１６】
上に示した実施の形態では、プロセスの種別がジョブプロセスであるのかＴＳＳプロセスであるのかを基準にして課金レコードを出力するか否かの判定を行ったがそれ以外にも課金レコードの出力条件として、ユーザＩＤが特定のユーザＩＤであることや、グループＩＤが特定のグループＩＤであることや、ＣＰＵ時間またはＩ／Ｏ量が所定量以上であること等を条件として用いてもよい。また、基準として利用するプロセス管理情報は図示したものに限られない。
【００１７】
【効果】
本発明によれば、設定された条件を満足する場合にのみ課金レコードを出力するよう制御することができるので、課金レコードを出力する必要の無いプロセスに関する課金レコードの出力処理を省略することができ、処理に要する時間を節約し、利用者のプログラムの実行開始までに要する時間を短縮することができる。
【００１８】
また、課金ファイルのサイズが小さくなるので、課金ファイルを格納するのに必要な領域を節約すること、課金ファイルを入力として集計処理を行う場合の処理時間を短縮することが可能になる。
【図面の簡単な説明】
【図１】本発明の実施の形態の構成を示す図。
【図２】課金レコード出力プログラムの処理のフローを示す図。
【図３】プロセス管理情報の構成を示す図。
【符号の説明】
１．．．計算機
２．．．ＣＰＵ
３．．．オペレーティングシステム（ＯＳ）
４．．．課金プロセスタイプ設定プログラム
５．．．課金レコード出力プログラム
６．．．課金プロセスタイプ情報格納領域
７．．．プロセス管理情報格納領域
８．．．外部記憶装置
９．．．課金プロセスタイプ情報格納ファイル
１０．．．課金ファイル
【図１】
0003780610.tif 000002
【図２】
0003780610.tif 000003
【図３】
0003780610.tif 000004