(57)【要約】【課題】チェックポイント取得に起因するシステムのオーバヘッドを抑制する。【解決手段】ＣＰ取得決定部２１４は、処理中要求情報記憶部２６に格納されている、処理機構２２によって現在処理中の処理要求が、チェックポイント取得を必要とするかを当該処理要求の種別に基づいて判定する。ＣＰ取得決定部２１４は、チェックポイント取得を必要としないと判定した場合、チェックポイント取得のタイミング、つまりＣＰ取得部２３０にチェックポイント取得命令を発行するタイミングを、定期的なチェックポイント取得のタイミングが到来したかに無関係に遅らせる。【選択図】      図２
2009276908.tif 000002
【特許請求の範囲】
【請求項１】
処理要求を実行するための処理機構を有するコンピュータシステムにおいて、
前記コンピュータシステムで障害が発生した場合の障害の復旧のために、チェックポイント取得命令に応じてチェックポイント情報を取得して、チェックポイント情報保存手段に保存するチェックポイント取得手段と、
前記チェックポイント取得手段がチェックポイント情報を取得すべきタイミングであるチェックポイント取得のタイミングを決定し、当該決定されたタイミングに前記チェックポイント取得命令を発行するチェックポイント取得決定手段であって、前記処理機構によって実行中の処理要求がチェックポイント取得を必要とするかを当該処理要求の種別に基づいて判定し、チェックポイント取得を必要としないと判定した場合、チェックポイント取得のタイミングを、予め定められた定期的なチェックポイント取得のタイミングが到来したかに無関係に遅らせるチェックポイント取得決定手段と
を具備することを特徴とするコンピュータシステム。
【請求項２】
前記処理機構で実行されるべき処理要求を受け付ける要求受付手段と、
前記要求受け付け手段によって受け付けられた処理要求を将来実行されるべき処理要求として受付順に格納する要求キューと、
前記要求キューに格納された処理要求を前記処理機構によって実行させるためのスケジュールを示すスケジューリング情報を格納するスケジュール記憶手段と、
前記要求キューに格納されている処理要求に基づいて前記スケジューリング情報を作成・更新するスケジューリング手段であって、前記スケジュール記憶手段に格納されている前記スケジューリング情報に従って、次に実行されるべき処理要求を前記要求キューから取り出して、当該取り出された処理要求を前記処理機構に発行するスケジューリング手段とを更に具備し、
前記チェックポイント取得決定手段は、前記処理機構によって実行中の処理要求がチェックポイント取得を必要としないと判定した場合、前記スケジュール記憶手段に格納されている前記スケジュール情報の示すスケジュール内にチェックポイント取得を必要とする処理要求が有るかを判定し、チェックポイント取得を必要とする処理要求が有ると判定した場合、当該チェックポイント取得を必要とする処理要求の直後に前記チェックポイント取得命令が発行されるように、前記スケジュ情報を更新する
ことを特徴とする請求項１記載のコンピュータシステム。
【請求項３】
前記チェックポイント取得決定手段は、前記処理機構によって実行中の処理要求がチェックポイント取得を必要とすると判定した場合、前記コンピュータシステムの現在の負荷が予め定められた高負荷閾値よりも高く、且つ前記要求キューに格納されている処理要求の数が予め定められた処理要求数閾値よりも少ないならば、次に実行されるべき処理要求の直前に前記チェックポイント取得命令が発行されるように、前記スケジュ情報を更新する
ことを特徴とする請求項２記載のコンピュータシステム。
【請求項４】
前記チェックポイント取得決定手段は、前記処理機構によって実行中の処理要求がチェックポイント取得を必要とすると判定した場合、前記コンピュータシステムの現在の負荷が前記高負荷閾値より低い予め定められた低負荷閾値よりも更に低いならば、前記チェックポイント取得命令を直ちに発行する
ことを特徴とする請求項３記載のコンピュータシステム。
【請求項５】
前記チェックポイント取得決定手段は、前記処理機構によって実行中の処理要求がチェックポイント取得を必要とすると判定した場合、前記コンピュータシステムの現在の負荷が、前記高負荷閾値より高くなく且つ前記低負荷閾値よりも低くないか、或いは前記コンピュータシステムの現在の負荷が前記高負荷閾値より高く、且つ前記要求キューに格納されている将来実行されるべき処理要求の数が予め定められた処理要求数閾値より少なくないならば、前記定期的なチェックポイント取得のタイミングに前記チェックポイント取得命令を発行する
ことを特徴とする請求項４記載のコンピュータシステム。
【請求項６】
処理要求を実行するための処理機構と、前記処理機構によって実行中の処理要求を示す情報を格納する処理中要求記憶手段とを有するコンピュータを、
前記コンピュータシステムで障害が発生した場合の障害の復旧のために、チェックポイント取得命令に応じてチェックポイント情報を取得して、チェックポイント情報保存手段に保存するチェックポイント取得手段と、
前記チェックポイント取得手段がチェックポイント情報を取得すべきタイミングであるチェックポイント取得のタイミングを決定し、当該決定されたタイミングに前記チェックポイント取得命令を発行するチェックポイント取得決定手段であって、前記処理中要求記憶手段に格納されている現在実行中の処理要求がチェックポイント取得を必要とするかを当該処理要求の種別に基づいて判定し、チェックポイント取得を必要としないと判定した場合、チェックポイント取得のタイミングを、予め定められた定期的なチェックポイント取得のタイミングが到来したかに無関係に遅らせるチェックポイント取得決定手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理要求を実行するための処理機構を有するコンピュータシステムに係り、特に、障害が発生した場合の復旧を可能とするためにチェックポイント情報を取得するのに好適なコンピュータシステム及びプログラムに関する。
【背景技術】
【０００２】
処理要求を実行するための処理機構を有するコンピュータシステムでは、当該システムの可用性を向上させるために、当該システムに障害が発生した場合に当該システムの状態を回復させて再開させるのに必要な、メモリ・ディスクの内容など、システムの状態を表す情報を定期的に取得して保存することが行われている（例えば特許文献１参照）。このシステムを回復させるのに必要な情報を取得（して保存）する時点（タイミング）をチェックポイントと呼び、取得（されて保存）される情報をチェックポイント情報と呼ぶ。また、チェックポイント情報を取得（して保存）することをチェックポイント取得と呼ぶ。コンピュータシステム内でチェックポイント取得を行う機構をチェック取得機構と呼ぶ。
【０００３】
チェックポイント取得機構を有するコンピュータシステムでは、当該システムで実際に障害が発生した際には、最も最近（つまり最後）のチェックポイントにおいて取得されたチェックポイント情報に基づいて、当該システムの状態が当該最も最近のチェックポイントの時点の状態に回復（復旧）される。これにより、障害発生により中断されていた処理を継続（再実行）させることが可能となる。
【０００４】
このように、チェックポイント情報を用いて、システムの状態を最も最近のチェックポイントの時点の状態に回復（復旧）させることを、チェックポイント・リカバリまたはチェックポイント・ロールバックと呼ぶ。
【特許文献１】特開２０００−０１０８１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述のように、特許文献１に記載されたような従来のコンピュータシステムでは、チェックポイントが定期的に設定されて、チェックポイント取得が定期的に実行される。しかしながら、チェックポイント取得はシステムにとって大きな負荷となる。このため、システムの負荷が大きい状態で定期的なチェックポイント取得のタイミング（つまりチェックポイント）が到来すると、システムのオーバヘッドを招く可能性がある。また、チェックポイント取得を必要としない処理要求が続いているにも拘わらずに、定期的なチェックポイント取得のタイミングが到来した場合、無駄なチェックポイント取得が実行されることになる。
【０００６】
本発明は上記事情を考慮してなされたものでその目的は、チェックポイント取得に起因するオーバヘッドを抑制しながら、信頼性も保証できる、コンピュータシステム及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の１つの観点によれば、処理要求を実行するための処理機構を有するコンピュータシステムが提供される。このコンピュータシステムは、当該システムで障害が発生した場合の障害の復旧のために、チェックポイント取得命令に応じてチェックポイント情報を取得して、チェックポイント情報保存手段に保存するチェックポイント取得手段と、前記チェックポイント取得手段がチェックポイント情報を取得すべきタイミングであるチェックポイント取得のタイミングを決定し、当該決定されたタイミングに前記チェックポイント取得命令を発行するチェックポイント取得決定手段であって、前記処理機構によって実行中の処理要求がチェックポイント取得を必要とするかを当該処理要求の種別に基づいて判定し、チェックポイント取得を必要としないと判定した場合、チェックポイント取得のタイミングを、予め定められた定期的なチェックポイント取得のタイミングが到来したかに無関係に遅らせるチェックポイント取得決定手段とを具備する。
【発明の効果】
【０００８】
本発明によれば、処理機構によって実行中の処理要求がチェックポイント取得を必要とするかが当該処理要求の種別に基づいて判定され、チェックポイント取得を必要としないと判定された場合、チェックポイント取得のタイミングが、定期的なチェックポイント取得のタイミングの到来とは無関係に遅らせられる。これにより、無駄なチェックポイント取得が行われるのを抑制して、チェックポイント取得に起因するオーバヘッドを抑制しながら、システム障害の発生時には、最も最近に取得されたチェックポイント情報に基づいて障害からの復旧が可能となるため、信頼性も保証できる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態につき図面を参照して説明する。  
図１は本発明の一実施形態に係るコンピュータシステムのハードウェア構成を示すブロック図である。
【００１０】
図１において、コンピュータシステム１００は、コンピュータ１１０及び外部記憶装置１２０から構成される。外部記憶装置１２０は不揮発性の記憶装置である。本実施形態において外部記憶装置１２０は、少なくとも１つのディスクドライブから構成されるものとする。外部記憶装置１２０には、コンピュータ１１０での処理に用いられるプログラム１２１が予め格納されている。
【００１１】
コンピュータ１１０は例えば汎用計算機であり、通信インタフェースのような入出力インタフェース（入出力Ｉ／Ｆ）１１１、主メモリ１１２及びＣＰＵ１１３を含む。主メモリ１１２の記憶領域は、外部記憶装置１２０に格納されているプログラム１２１がロードされる領域、ＣＰＵ１１３が利用する作業領域等を提供する。ＣＰＵ１１３は、入出力Ｉ／Ｆ１１１によって例えば外部から入力される処理要求を、主メモリ１１２にロードされているプログラム１２１に従って実行する。
【００１２】
図２は図１に示されるコンピュータシステム１００の主として機能構成を示すブロック図である。コンピュータシステム１００は、モニタ機構２１、処理機構２２及び回復処理機構２３の各機能要素を含む。コンピュータシステム１００はまた、要求キュー２４、スケジュール記憶部２５、処理中要求情報記憶部２６、チェックポイント時刻記憶部（ＣＰ時刻記憶部）２７、要求種別情報記憶部２８及びチェックポイント情報保存部（ＣＰ情報保存部）２９の各記憶部を含む。
【００１３】
要求キュー２４は、後述する要求受付部２１１によって受け付けられた、処理機構２２によって実行されるべき処理要求の群を、当該処理要求が処理機構２２に対して発行されるまで一時的に格納しておくための、キュー（ｑｕｅｕｅ）構造を持つ記憶部である。本実施形態において、処理要求に従って処理機構２２によって実行される処理（処理業務、プロセス）の種別（つまり処理要求の種別）は、処理Ａ、処理Ｂ及び処理Ｃの３種に分類される。また本実施形態において、処理機構２２は、種別の異なる処理要求（つまり処理Ａ乃至Ｃそれぞれの処理要求）を同時に１個ずつしか実行できないものとする。つまり処理機構２２は、同一種別の複数の処理要求を同時に実行することはできないものとする。そこで要求キュー２４は、処理Ａ乃至Ｃの処理種別毎に、処理要求を受け付け順に格納する。
【００１４】
スケジュール記憶部２５は、処理機構２２に対して発行されるべき処理要求の最適な実行スケジュールを表すスケジュール情報を格納するのに用いられる。処理中要求情報記憶部２６は、処理機構２２によって処理（実行）中の処理要求に関する情報（要求情報）を格納するのに用いられる。
【００１５】
ＣＰ時刻記憶部２７は、最も最近にチェックポイント取得が行われた時刻、つまりチェックポイント時刻（ＣＰ時刻）を表す情報（ＣＰ時刻情報）を格納するのに用いられる。
【００１６】
要求種別情報記憶部２８は、処理Ａ乃至Ｃそれぞれの要求種別に関する情報（要求種別情報）を予め格納するのに用いられる。処理Ａ乃至Ｃの要求種別情報は、チェックポイント取得有無情報（ＣＰ取得有無情報）を含む。チェックポイント取得有無情報は、対応する要求種別に属する処理要求で示される処理が、チェックポイント取得（ＣＰ取得）を必要とするかを示す。ＣＰ情報保存部２９は、最も最近のチェックポイント時刻で取得されたチェックポイント情報を保存するのに用いられる。
【００１７】
モニタ機構２１は、要求キュー２４を例えば定期的に参照しながら、当該要求キュー２４に格納されている処理要求が処理機構２２によって実行（処理）されるべきスケジュールを表す処理スケジュール情報を作成（更新）し、当該スケジュール情報に従って処理要求を処理機構２２に発行するスケジューリング機能を有する。本実施形態では、処理要求の種別毎にスケジュール情報が作成されるものとする。モニタ機構２１はまた、コンピュータシステム１００の負荷（マシン負荷）、処理中の処理要求の種別及び最も最近のチェックポイント時刻に基づいてチェックポイント取得のタイミング（スケジュール）を決定するチェックポイント取得タイミング決定機能も有する。
【００１８】
要求キュー２４、スケジュール記憶部２５、処理中要求情報記憶部２６及びＣＰ時刻記憶部２７は、それぞれ、コンピュータシステム１００内のコンピュータ１１０が有する主メモリ１１２の一部の記憶領域を用いて実現されるものとする。一方、要求種別情報記憶部２８及びＣＰ情報保存部２９は、コンピュータシステム１００内の外部記憶装置１２０の一部の記憶領域（つまり不揮発性の記憶領域）を用いて実現されるものとする。
【００１９】
モニタ機構２１は、要求受付部２１１、スケジューリング部２１２、負荷計測部２１３及びチェックポイント取得決定部（ＣＰ取得決定部）２１４から構成される。要求受付部２１１は、図１に示される入出力Ｉ／Ｆ１１１によって入力される処理要求を受け付ける。
【００２０】
スケジューリング部２１２は、上記スケジューリング機能を有する。負荷計測部２１３はコンピュータシステム１００の負荷（マシン負荷）を、例えばコンピュータ１１０上で動作するオペレーティングシステム（図示せず）に問い合わせることによって取得する。
【００２１】
ＣＰ取得決定部２１４は、上記チェックポイント取得タイミング決定機能を有する。ＣＰ取得決定部２１４は、チェックポイント取得タイミング決定機能によって現時点がチェックポイント取得のタイミングであると決定された場合、チェックポイント取得を指示するためのチェックポイント取得命令（ＣＰ取得命令）を回復処理機構２３（内の後述するＣＰ取得部２３０）に発行する。
【００２２】
ＣＰ取得決定部２１４は、チェックポイント取得タイミング決定機能によって将来実行されるべきチェックポイント取得のタイミングが決定された場合、当該将来実行されるべきチェックポイント取得を、スケジュール記憶部２５に格納されているスケジュール情報中に予約する。このＣＰ取得決定部２１４による予約は、チェックポイント取得を指示するチェックポイント取得命令（ＣＰ取得命令）を、スケジューリング部２１２による処理要求のスケジューリングと同様にスケジューリングすることで実現される。
【００２３】
ＣＰ取得決定部２１４はまた、ＣＰ取得部２３０からのチェックポイント取得通知（ＣＰ取得通知）に応じて、ＣＰ時刻記憶部２７に格納されているチェックポイント時刻情報を、その際の時刻を表すように更新する。
【００２４】
処理機構２２は、モニタ機構２１内のスケジューリング部２１２によって発行された処理要求を実行する。処理機構２２は、処理要求の実行を終了した場合、当該処理要求の終了通知をスケジューリング部２１２に返す。この終了通知に応じて、処理中要求情報記憶部２６に格納されている処理中の処理要求の情報（要求情報）のうち、実行終了した処理要求の情報が削除される。
【００２５】
回復処理機構２３は、コンピュータシステム１００に障害が発生した場合、当該システム１００を、例えば周知のチェックポイント・リカバリ方式を適用して、最も最近のチェックポイントの状態に回復させるための処理を行う。この回復のための処理に、ＣＰ情報保存部２９に保存されている、最も最近のチェックポイントで取得されたチェックポイント情報が用いられる。
【００２６】
回復処理機構２３は、チェックポイント取得部（ＣＰ取得部）２３０を含む。ＣＰ取得部２３０は、モニタ機構２１内のＣＰ取得決定部２１４からのチェックポイント取得命令に応じ、例えばメモリ・ディスクの内容など、システム１００の状態を表す情報をチェックポイント情報として取得する。ＣＰ取得部２３０は、取得されたチェックポイント情報をＣＰ情報保存部２９に保存して、チェックポイント取得通知（ＣＰ取得通知）をモニタ機構２１内のＣＰ取得決定部２１４に返す。
【００２７】
本実施形態において、モニタ機構２１、処理機構２２及び回復処理機構２３は、図１のコンピュータ１１０内のＣＰＵ１１３が外部記憶装置１２０に格納されているプログラム１２１を当該コンピュータ１１０内の主メモリ１１２に読み込んで実行することにより実現されるものとする。このプログラム１２１は、コンパクトディスク、或いはＲＯＭのような、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム１２１が、ネットワーク及び入出力Ｉ／Ｆ１１１を介してコンピュータシステム１００の外部記憶装置１２０にダウンロードされても構わない。
【００２８】
次に、本実施形態の動作について、モニタ機構２１内のスケジューリング部２１２の動作を中心に、図３の動作説明図を参照して説明する。  
今、要求キュー２４には、要求受付部２１１によって受け付けられた要求（処理要求）が、処理Ａ乃至Ｃの要求種別毎に、キュー構造で格納されているものとする。ここでは、図３（ａ）に示されるように、処理Ａに属する要求（処理要求）Ａ１，Ａ２，Ａ３が、受け付け順にキュー２４Ａに格納されている。同様に、処理Ｂに属する要求（処理要求）Ｂ１がキュー２４Ｂに格納され、処理Ｃに属する要求（処理要求）Ｃ２，Ｃ３が、受け付け順にキュー２４Ｃに格納されている。
【００２９】
このとき、処理機構２２では、キュー２４Ａ，２４Ｂ，２４Ｃの先頭位置に格納されている要求Ａ１，Ｂ１，Ｃ２に先行して要求受付部２１１で受け付けられた、それぞれ要求Ａ０，Ｂ０，Ｃ１が実行（処理）されているものとする。この場合、処理中要求情報記憶部２６には、処理機構２２によって現在処理中の要求Ａ０，Ｂ０，Ｃ１に関する情報（要求情報）が格納されている。
【００３０】
このような状態で、要求受付部２１１で新たな要求Ａ４が受け付けられたものとする。すると、この要求Ａ４は、図３（ｂ）に示されるように、キュー２４Ａの最後に格納される。このとき、処理機構２２で処理されていた要求Ａ０，Ｂ０，Ｃ１のうち、要求Ｂ０の処理が終了したものとする。すると処理機構２２は、図３（ｂ）において矢印３１で示されるように、要求Ｂ０の終了を示す終了通知（要求Ｂ０終了通知）をスケジューリング部２１２に返す。この終了通知に応じて、処理中要求情報記憶部２６に格納されている要求Ａ０，Ｂ０，Ｃ１に関する情報（要求情報）のうち、当該終了通知で示される要求Ｂ０に関する情報が、図３（ｂ）に示されるように当該処理中要求情報記憶部２６から削除される。この削除のための操作は、例えばスケジューリング部２１２によって行われるものとする。
【００３１】
スケジューリング部２１２は、処理機構２２から要求Ｂ０終了通知を受け取ると、次に実行されるべき要求を、スケジュール記憶部２５に格納されている処理Ａ，Ｂ，Ｃ毎のスケジュール情報のうち、終了した要求Ｂ０と要求種別が同一の処理Ｂのスケジュール情報に従うタイミングで、要求キュー２４から取り出す。ここではスケジューリング部２１２は、要求キュー２４内のキュー２４Ａ，２４Ｂ，２４Ｃのうち、終了した要求Ｂ０と要求種別が同一のキュー２４Ｂから、当該キュー２４Ｂの先頭に格納されている要求Ｂ１を、図３（ｃ）において矢印３２で示されるように取り出す。そしてスケジューリング部２１２は、取り出された要求Ｂ１の処理を指示する処理要求（要求Ｂ１処理要求）を、図３（ｃ）において矢印３３で示されるように処理機構２２に発行する。
【００３２】
処理機構２２は、スケジューリング部２１２から要求Ｂ１処理要求を受け取ると、要求Ｂ１の処理を開始する。このとき処理中要求情報記憶部２６には、要求Ｂ１処理要求に応じて、図３（ｃ）に示されるように、要求Ｂ１の情報（要求情報）が格納される。なお、格納のための操作は、例えばスケジューリング部２１２によって行われるものとする。
【００３３】
次に、処理機構２２から終了通知が返された場合のスケジューリング部２１２の動作の手順について、図４のフローチャートを参照して説明する。  
スケジューリング部２１２は処理機構２２から処理要求の終了通知が返されるのを監視している（ステップＳ１）。もし、処理要求の終了通知が返されたならば、スケジューリング部２１２は、その終了通知が、処理Ａ乃至Ｃのいずれの処理種別の処理要求についてのものであるかを次のように判定する。
【００３４】
まずスケジューリング部２１２は、終了通知が処理Ａの処理要求についてのものであるかを判定する（ステップＳ２）。もし、ステップＳ２の判定がＹＥＳであるならば、スケジューリング部２１２は、スケジュール記憶部２５に格納されている処理Ａに関するスケジューリング情報に従うタイミングで、要求キュー２４内の処理Ａに固有のキュー２４Ａ（図３参照）から、次に実行されるべき処理要求を取り出して処理機構２２に送る（ステップＳ３）。
【００３５】
これに対し、ステップＳ２の判定がＮＯであるならば、スケジューリング部２１２は、終了通知が処理Ｂの処理要求についてのものであるかを判定する（ステップＳ４）。もし、ステップＳ４の判定がＹＥＳであるならば、スケジューリング部２１２は、スケジュール記憶部２５に格納されている処理Ｂに関するスケジューリング情報に従うタイミングで、要求キュー２４内の処理Ｂに固有のキュー２４Ｂ（図３参照）から、次に実行されるべき処理要求を取り出して処理機構２２に送る（ステップＳ５）。
【００３６】
これに対し、ステップＳ４の判定がＮＯであるならば、スケジューリング部２１２は、終了通知が処理Ｃの処理要求についてのものであるとして、スケジュール記憶部２５に格納されている当該処理Ｃに関するスケジューリング情報に従うタイミングで、要求キュー２４内の処理Ｃに固有のキュー２４Ｃ（図３参照）から、次に実行されるべき処理要求を取り出して処理機構２２に送る（ステップＳ６）。
【００３７】
スケジューリング部２１２は、ステップＳ３、ステップＳ５またはステップＳ６を実行すると、処理機構２２から次の終了通知が返されるのを待つ（ステップＳ１）。
【００３８】
次に、ＣＰ取得決定部２１４によって実行される、チェックポイント（以下ＣＰと称する）を取得するタイミング（ＣＰ取得タイミング）を決定するための処理（ＣＰ取得タイミング決定処理）の手順について、図５のフローチャートを参照して説明する。ここでは、回復処理機構２３内のＣＰ取得部２３０によって少なくとも１回ＣＰ情報が取得され、ＣＰ時刻記憶部２７には最も最近にＣＰ情報が取得された際の時刻（ＣＰ時刻）を示す情報（ＣＰ時刻情報）が格納されているものとする。
【００３９】
ＣＰ取得決定部２１４は、ＣＰ取得部２３０によってＣＰ情報を取得する処理が実行されているならば、当該ＣＰ取得部２３０によってＣＰ情報が取得されるまで待機する（ステップＳ１１）。ＣＰ取得部２３０によってＣＰ情報が取得されたかは、ＣＰ取得決定部２１４によって発行されたＣＰ取得命令に対して当該ＣＰ取得部２３０からＣＰ取得通知が返されたかによって判定することができる。
【００４０】
ＣＰ取得決定部２１４は、ＣＰ取得部２３０によってＣＰ情報が取得されるまで待機すると（ステップＳ１１）、現在処理機構２２によって処理中の処理要求の中に、ＣＰ取得を必要とする処理要求が有るかを判定する（ステップＳ１２）。このステップＳ１２の判定は次のように行われる。
【００４１】
まずＣＰ取得決定部２１４は、処理中要求情報記憶部２６に格納されている、現在処理機構２２によって処理されている処理要求（つまり現在処理中の処理要求）を示す情報を参照する。これによりＣＰ取得決定部２１４は、現在処理中の処理要求の要求種別を識別する。そしてＣＰ取得決定部２１４は、要求種別情報記憶部２８に格納されている、識別された要求種別に固有の要求種別情報を参照する。ＣＰ取得決定部２１４は、参照された要求種別情報に含まれているＣＰ取得有無情報に基づき、現在処理中の処理要求がＣＰ取得を必要とするかを判定する。
【００４２】
もし、現在処理中の処理要求の中に、ＣＰ取得を必要とする処理要求が無いならば（ステップＳ１２がＮＯの場合）、スケジュール記憶部２５に格納されているスケジュール情報の示すスケジュール内に、ＣＰ取得を必要とする処理要求（将来実行されるべき処理要求）が有るかを判定する（ステップＳ１３）。このステップＳ１３の判定も、上記ステップＳ１２と同様に行われる。ステップＳ１３がステップＳ１２と相違するのは、判定の対象となる処理要求が、現在処理中の処理要求ではなくて、将来実行されるべき処理要求である点である。
【００４３】
もし、スケジュール内の将来実行されるべき処理要求の中に、ＣＰ取得を必要とする処理要求が無いならば（ステップＳ１３がＮＯの場合）、ＣＰ取得決定部２１４はステップＳ１２に戻る。つまりＣＰ取得決定部２１４は、ＣＰ取得を必要とする処理要求が出現して処理中となるまでの間は、ＣＰ取得を必要とする将来実行されるべき処理要求が出現するまで、ステップＳ１２及びＳ１３を繰り返す。
【００４４】
これに対し、スケジュール内の将来実行されるべき処理要求の中に、ＣＰ取得を必要とする処理要求が有るならば（ステップＳ１３がＹＥＳの場合）、ＣＰ取得決定部２１４は、当該ＣＰ取得を必要とする処理要求の直後にＣＰ取得命令が発行されるように、スケジュール記憶部２５に格納されているスケジューリング情報に変更を加える（ステップＳ１４）。つまり、ＣＰ取得を必要とする処理要求の直後にＣＰ取得命令が発行されるように、スケジュール情報にＣＰ取得命令発行の予約が設定される。なお、スケジューリング情報に対する操作が、ＣＰ取得決定部２１４からの要求に応じてスケジューリング部２１２によって行われる構成としてもよい。スケジューリング部２１２は、ステップＳ１４を実行すると、ステップＳ１２に戻る。
【００４５】
このように本実施形態においては、ＣＰ取得を必要としない処理要求が処理機構２２によって処理されている限り、ステップＳ１２及びＳ１３のループまたはステップＳ１２乃至Ｓ１４のループが繰り返され、たとえ定期的なＣＰ取得のタイミングが到来したとしても、ＣＰ取得決定部２１４から回復処理機構２３内のＣＰ取得部２３０にＣＰ取得命令が発行されることはない。つまり、ＣＰ取得を必要としない処理要求が処理機構２２によって処理されている限り、ＣＰ取得のタイミングが遅らせられる。
【００４６】
一方、現在処理中の処理要求の中に、ＣＰ取得を必要とする処理要求が有るならば（ステップＳ１２がＹＥＳの場合）、ＣＰ取得決定部２１４は、現在のマシン負荷ＣＬが、予め定められた高負荷閾値ＨＬＴＨよりも高いかを判定する（ステップＳ１５）。マシン負荷ＣＬを示す情報（マシン負荷の情報）は、ＣＰ取得決定部２１４が負荷計測部２１３に問い合わせることで、当該負荷計測部２１３から取得することができる。本実施形態において負荷計測部２１３は、マシン負荷ＣＬの情報（マシン負荷情報）を、コンピュータ１１０上で動作するオペレーティングシステム（ＯＳ）から取得する。マシン負荷ＣＬの情報は、ＣＰＵ使用率、要求を処理するための時間（スループット）、パケット受信数／パケット送信数などの、ＯＳが持つ統計情報である。なお、要求種別情報記憶部２８に予め格納されている要求種別情報に、ＣＰ取得有無情報だけでなく、対応する要求種別に属する処理要求を実行した際のマシン負荷を示すマシン負荷情報を含めるならば、当該マシン負荷情報に基づいて、マシン負荷ＣＬを算出することも可能である。
【００４７】
もし、現在のマシン負荷ＣＬが高負荷閾値ＨＬＴＨよりも高いならば（ステップＳ１５がＹＥＳの場合）、ＣＰ取得決定部２１４は、要求キュー２４に格納されている処理要求の数（つまり将来実行されるべき処理要求の数）ＲＮが処理要求数閾値ＮＴＨより少ないかを判定する（ステップＳ１６）。
【００４８】
もし、将来実行されるべき処理要求の数ＲＮが処理要求数閾値ＮＴＨより少ないならば（ステップＳ１６がＹＥＳの場合）、ＣＰ取得決定部２１４は、次に実行されるべき処理要求の直前にＣＰ取得命令が発行されるように、スケジュール記憶部２５に格納されているスケジューリング情報に変更を加える（ステップＳ１７）。つまりＣＰ取得決定部２１４は、現在処理中の処理要求の中にＣＰ取得を必要とする処理要求が有り（ステップＳ１２がＹＥＳの場合）、且つ現在のマシン負荷が極めて高い場合（ステップＳ１５がＹＥＳの場合）、将来実行されるべき処理要求の数ＲＮが少ないならば（ステップＳ１６がＹＥＳの場合）、定期的なＣＰ取得のタイミングが到来しているか否かに無関係に、次に実行されるべき処理要求の直前にＣＰ取得命令が発行されるようにスケジュールが変更される。ＣＰ取得決定部２１４は、ステップＳ１７を実行すると、ステップＳ１２に戻る。
【００４９】
このように本実施形態においては、ＣＰ取得を必要とする処理業務が、システムが非常に高負荷な状態で処理されている場合に、将来実行すべき処理要求が少ないならば、ＣＰ取得が後回しにされる。これにより、コンピュータシステム１００における負荷の分散を行うことができる。
【００５０】
一方、現在のマシン負荷ＣＬが高負荷閾値ＨＬＴＨよりも高くないならば（ステップＳ１５がＮＯの場合）、ＣＰ取得決定部２１４は、現在のマシン負荷ＣＬが予め定められた低負荷閾値ＬＬＴＨよりも低いかを判定する（ステップＳ１８）。ここで、低負荷閾値ＬＬＴＨは高負荷閾値ＨＬＴＨよりも低い（ＬＬＴＨ＜ＨＬＴＨ）。
【００５１】
もし、現在のマシン負荷ＣＬが低負荷閾値ＬＬＴＨよりも低くないならば（ステップＳ１８がＮＯの場合）、つまり現在のマシン負荷ＣＬが比較的高いならば、ＣＰ取得決定部２１４は、現在時刻ＣＴが、ＣＰ時刻記憶部２７に格納されているＣＰ時刻情報の示す時刻（つまり最も最近のＣＰ時刻）ＣＰＴから予め定められた時間閾値ＴＴＨよりも経過しているかを判定する（ステップＳ１９）。このようにＣＰ取得決定部２１４は、最も最近のＣＰ時刻ＣＰＴからの経過時間（現在時刻ＣＴと最も最近のＣＰ時刻ＣＰＴとの差分の時間）が時間閾値ＴＴＨを超えているかを判定する。ここで時間閾値ＴＴＨは、従来技術のようにＣＰ取得を定期的に行う場合の周期を表す。
【００５２】
またＣＰ取得決定部２１４は、将来実行されるべき処理要求の数ＲＮが処理要求数閾値ＮＴＨより少なくない場合（ステップＳ１６がＮＯの場合）にも、つまり将来実行されるべき処理要求の数ＲＮが多い場合にも、ステップＳ１９の判定を行う。
【００５３】
もし、現在時刻ＣＴが最も最近のＣＰ時刻ＣＰＴから時間閾値ＴＴＨよりも経過しているならば（ステップＳ１９がＹＥＳの場合）、ＣＰ取得決定部２１４は回復処理機構２３内のＣＰ取得部２３０に対して直ちにＣＰ取得命令を発行する（ステップＳ２０）。つまり、現在処理中の処理要求の中にＣＰ取得を必要とする処理要求が有り、且つ現在の負荷ＣＬが比較的低いならば、ＣＰ取得決定部２１４は、定期的なＣＰ取得のタイミングでＣＰ取得命令を発行する。同様に、現在処理中の処理要求の中にＣＰ取得を必要とする処理要求が有り、且つ現在の負荷ＣＬが極めて高く、しかも将来実行されるべき処理要求の数ＲＮが多いならば、定期的なＣＰ取得のタイミングでＣＰ取得命令を発行する。
【００５４】
ＣＰ取得部２３０は、ＣＰ取得決定部２１４からのＣＰ取得命令を受け取ると、コンピュータシステム１００（特に処理機構２２）に障害が発生した場合に当該システム１００（処理機構２２）の状態を回復（復旧）するのに必要な、メモリ・ディスクの内容など、システム１００の状態を表す情報を、ＣＰ情報として取得する。ＣＰ取得部２３０は、取得されたＣＰ情報をＣＰ情報保存部２９に保存する。これにより、コンピュータシステム１００の例えば処理機構２２に障害が発生したとしても、回復処理機構２３は、最も最近にＣＰ情報保存部２９に保存されたＣＰ情報に基づいて、コンピュータシステム１００（特に処理機構２２）を当該ＣＰ情報が取得された時点の状態に戻すこと（つまりロールバック）することができる。
【００５５】
ＣＰ取得部２３０は、取得されたＣＰ情報をＣＰ情報保存部２９に保存すると、ＣＰ取得決定部２１４にＣＰ取得通知を返す。するとＣＰ取得決定部２１４は、ＣＰ時刻記憶部２７に格納されている、最も最近のＣＰ時刻を表すＣＰ時刻情報を、現在時刻を表すように更新する。
【００５６】
一方、現在時刻ＣＴが最も最近のＣＰ時刻ＣＰＴから時間閾値ＴＴＨよりも経過していないならば（ステップＳ１９がＮＯの場合）、ＣＰ取得決定部２１４は定期的なＣＰ取得のタイミングが到来していないとして、何もせずにステップＳ１５に戻る。
【００５７】
また、現在のマシン負荷ＣＬが低負荷閾値ＬＬＴＨよりも低いならば（ステップＳ１８がＹＥＳの場合）、つまり現在のマシン負荷ＣＬが非常に低いならば、ＣＰ取得決定部２１４は、回復処理機構２３内のＣＰ取得部２３０に対して直ちにＣＰ取得命令を発行する（ステップＳ２０）。この場合にも、ＣＰ取得部２３０によってＣＰ情報が取得されてＣＰ情報保存部２９に保存される。また、ＣＰ時刻記憶部２７に格納されているＣＰ時刻情報が、現在時刻を表すようにＰ取得決定部２１４によって更新される。
【００５８】
このように本実施形態においては、現在処理中の処理要求の中にＣＰ取得を必要とする処理要求が有り（ステップＳ１２がＹＥＳの場合）、且つ現在のマシン負荷ＣＬが非常に低いならば（ステップＳ１８がＹＥＳの場合）、ＣＰ取得決定部２１４によって直ちにＣＰ取得命令が発行される。つまり本実施形態においては、ＣＰ取得を必要とする処理業務が、システムが非常に低負荷な状態で処理されている場合には、定期的なタイミングが到来しなくてもＣＰ取得が実行される。これにより、処理業務にできるだけ影響を与えず、最も最近のＣＰ情報に基づくロールバック（いわゆるＣＰリカバリ時のロールバック）による損失を抑えることができる。
【００５９】
また本実施形態においては、現在処理中の処理要求について、ＣＰ取得が必要かが判定され（ステップＳ１１）、ＣＰ取得を必要としない処理要求の場合には、たとえ定期的なＣＰ取得のタイミングが到来していたとしても、ＣＰ取得決定部２１４からＣＰ取得部２３０に対してＣＰ取得命令が発行されることはない。これにより、無駄なＣＰ取得が実行される数が減り、システムのオーバヘッドを防ぐことができる。
【００６０】
更に本実施形態においては、現在処理中の処理要求がＣＰ取得を必要としない場合に、ＣＰ取得を必要とする処理要求（処理業務）がスケジューリングされているならば（ステップＳ１３がＹＥＳの場合）、当該処理要求の直後にＣＰ取得が実行されるように予めスケジュール情報が変更される（ステップＳ１４）。このようにＣＰ取得を考慮に入れたスケジュールを組むことにより、必要のないＣＰ取得によるオーバヘッドを防ぎ、且つ処理業務の集中の防止（負荷の分散）を図ることもできる。
【００６１】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００６２】
【図１】本発明の一実施形態に係るコンピュータシステムのハードウェア構成を示すブロック図。
【図２】図１に示されるコンピュータシステムの主として機能構成を示すブロック図。
【図３】同実施形態の動作について、モニタ機構内のスケジューリング部の動作を中心に説明するための図。
【図４】同実施形態において、処理機構から終了通知が返された場合のスケジューリング部の動作の手順を示すフローチャート。
【図５】同実施形態においてＣＰ取得決定部によって実行される、チェックポイントを取得するタイミングを決定するための処理の手順を示すフローチャート。
【符号の説明】
【００６３】
２１…モニタ機構、２２…処理機構、２３…回復処理機構、２４…要求キュー、２５…スケジュール記憶部、２６…処理中要求情報記憶部、２７…ＣＰ時刻記憶部、２８…要求種別情報記憶部、２９…ＣＰ情報保存部、１００…コンピュータシステム、１１０…コンピュータ、１２０…外部記憶装置、１２１…プログラム、２１１…要求受付部、２１２…スケジューリング部、２１３…負荷計測部、２１４…ＣＰ取得決定部、
【図１】
2009276908.tif 000003
【図２】
2009276908.tif 000004
【図３】
2009276908.tif 000005
【図４】
2009276908.tif 000006
【図５】
2009276908.tif 000007