(57)【要約】【課題】外部メモリの等価性回復処理と他の初期化処理とをバランスよく並行動作させ、コンピュータシステム立ち上げ時における初期化処理全体のスループットを最短にしていくことを目的としている。【解決手段】１回当たりの複写量と複写間隔時間とを対応付けた複写設定値を記憶させ、複写設定値に基づいて主系の外部メモリの内容を従系の外部メモリへ複写し、全領域の複写が完了すると他の初期化処理がすべて完了しているかどうかを判定し、他の初期化処理がすべて完了している場合は外部メモリの等価性回復処理を優先させて実行させるように１回当りの複写量を増加、複写間隔時間を短くするように、他の初期化処理がすべて完了していない場合にはその逆となるように複写設定値を再設定することにより、コンピュータシステムの立ち上げの度に初期化処理全体のスループットを最短に近づけていくことが可能となる。【選択図】　　　図１
2004054615.tif 000002
【特許請求の範囲】
【請求項１】
複数回に分けて主系の外部メモリの内容を従系の外部メモリへ複写することにより、多重化された外部メモリの等価性回復処理を行うプログラムであって、
１回当たりの複写量と複写間隔時間とを対応付けた複写設定値を記憶装置に記憶させる設定値記憶手段と、
前記複写設定値に基づいて、主系の外部メモリの内容を従系の外部メモリへ複写する複写手段と、
前記等価性回復処理が完了すると、前記等価性回復処理と並行動作している他の処理群の処理が完了している場合には前記等価性回復処理を、完了していない場合には前記等価性回復処理と並行動作している他の処理群の実行優先度を上げるように前記複写設定値を再設定する再設定手段と
してコンピュータを機能させる外部メモリの等価性回復プログラム。
【請求項２】
前記再設定手段は、前記等価性回復処理の完了時に前記等価性回復処理と並行動作している他の処理群が完了している場合には、前記１回当りの複写量を大きく、完了していない場合には、前記１回当りの複写量を小さく再設定する請求項１記載の外部メモリの等価性回復プログラム。
【請求項３】
前記再設定手段は、前記等価性回復処理の完了時に前記等価性回復処理と並行動作している他の処理群が完了している場合には、前記複写間隔時間を短く、完了していない場合には、前記複写間隔時間を長く再設定する請求項１、または請求項２記載の外部メモリの等価性回復プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多重化された外部メモリの等価性回復処理に関し、特に多重化された外部メモリの等価性回復処理時におけるコンピュータシステム全体のスループットを向上させる技術に関する。
【０００２】
【従来の技術】
バンキングシステムなどに代表される、コンピュータシステムのトラブルが単に企業活動や特定の内部問題にとどまらず社会問題に発展するような社会システムにおいては、複数のコンピュータシステムを利用したロードシェアシステムの形態が多用され、高処理能力はもとより高信頼性が強く要求されている。このような社会システムでは、より高速、かつ高信頼なホットスタンバイシステムの構築を目的として、Ｉ／Ｏ命令を出さずに高速にアクセスできる大容量の外部メモリを、複数のコンピュータシステムが共用して使用するように構成する場合がある。
【０００３】
外部メモリは高速なデータ転送能力、大きな記憶容量（例えば１２８ＧＢ）、メインメモリと同等のデータ保護機能、二重化機構、または四重化機構を備えた高信頼性、バッテリバックアップ機能などを備えていることを特徴としており、データベースの格納やページング・スーパバイザのページング域、ソートマージの作業域、プログラム間共用領域などの使用に向いている。多重化されている外部メモリには、それぞれ同一のデータが格納されており、この状態を外部メモリの等価性と呼ぶ。
【０００４】
外部メモリを多重化している場合には、常に等価性が保証されていなければならない。等価性が保証されていると、多重化されているいずれかの外部メモリに障害が発生した場合、障害が発生した外部メモリをコンピュータシステムから切り離し、残りの外部メモリを使用して運用を継続することが可能となる。外部メモリに書き込み中に、外部メモリやコンピュータ（ＣＰＵ）のハードウェア障害が発生すると、外部メモリの等価性が失われる可能性がある。この場合、障害が発生した外部メモリは、外部メモリを制御するプログラムが切り離しを行うが、外部メモリの切り離し処理が完了する前に計算機システムが停止してしまうと外部メモリは等価性を失ったままとなっている可能性がある。
【０００５】
コンピュータシステムの立ち上げ時に、初期化処理の一環として正しい内容が保持されている外部メモリ（主系）の内容を、障害が発生した外部メモリ（従系）に複写することによって等価性を回復させることを外部メモリの等価性回復処理と呼ぶ。しかしながら、コンピュータシステムの立ち上げ時点において、従系の外部メモリに障害が発生し、等価性が失われている状態かどうかを判断することは非常に困難である。
【０００６】
コンピュータに電源が投入され、コンピュータシステムが利用できるようにするためには、ＩＰＬ（Ｉｎｉｔｉａｌ　Ｐｒｏｇｒａｍ　Ｌｏａｄｉｎｇ）プログラム、核の初期化プログラム、マスタスケジューラの初期化プログラム、サブシステムの起動プログラムなど様々な初期化プログラム群が実行される。高信頼性が要求される社会システムなどでは、外部メモリの等価性を保証するために等価性回復プログラムが初期化プログラム群の１プログラムとしてコンピュータシステムを立ち上げる度に実行するようにしている。
【０００７】
外部メモリの等価性回復処理は、外部メモリに対するＣＰＵ命令を介して、直前の稼働時にその外部メモリが主系であったか従系であったかを問い合わせ、内容が保証されている主系の外部メモリの内容を従系の外部メモリへ複写することにより実施されている。外部メモリは、外部記憶装置をアクセスする場合と異なりＩ／Ｏ命令を出す必要がないためデータ転送速度が早い反面、外部メモリの等価性回復処理中はＣＰＵを占有してしまい、他のＣＰＵ処理との並行動作ができない問題がある。
【０００８】
この問題を解決するため、主系の外部メモリの内容を従系の外部メモリへ複写する際に、複写処理を複数回に分け、他の初期化処理と並行動作するように実現させたり、特開平８−２０２６２７号公報に記載の「二重化された共用メモリの等価性回復処理方法および装置」に開示されているように、外部メモリを複数の領域に分割し、特定のコンピュータシステムが他のコンピュータシステムに複写する領域を指示し、それぞれのコンピュータシステムは同期をとって割り当てられた外部メモリの領域を一斉に複写するようにしていた。
【０００９】
【発明が解決しようとする課題】
外部メモリの等価性の回復処理をコンピュータシステム立ち上げ時における他の初期化処理と並行して実行させる場合、コンピュータシステムの立ち上げ時間を最短とするためには、コンピュータシステム毎に最適な１回当りの複写量と複写間隔時間を設定する必要がある。しかしながら、コンピュータシステム毎に最適な１回当りの複写量と複写間隔時間を見積もるためには、コンピュータシステムが有する資源量やシステムパラメタなど様々な要素を考慮する必要があり非常に煩雑で困難な作業である。
【００１０】
また、特開平８−２０２６２７号公報に記載の「二重化された共用メモリの等価性回復処理方法および装置」では、特定のコンピュータシステムが他のコンピュータシステムに複写する領域を指示したり、それぞれのコンピュータシステムは同期をとって割り当てられた外部メモリの領域を一斉に複写するための複雑なプログラム処理が必要となる。また、外部メモリの等価性の回復処理と他の初期化処理とが並行動作するように制御しているのではないため、外部メモリの等価性の回復処理単独の処理時間は高速化するが、外部メモリの等価性の回復処理を含めたコンピュータシステムの立ち上げ時における初期化処理全体のスループットを最短にすることにはならない。
【００１１】
今後、データベースのアクセスをより高速化させるためにデータベースを構成するすべてのファイルを外部メモリに展開する運用の増加は見込まれ、かつデータベースも年々巨大化する傾向にある。外部メモリの等価性の回復処理時間は外部メモリ量の大きさに比例して長くなるため、システム立ち上げ時における初期化処理の時間の増加は必至の状況である。
【００１２】
本発明は、上記のような事情に鑑みて提案されたものであり、初期化処理が外部記憶装置からのプログラムのＬＯＡＤ処理や、外部記憶装置に格納された情報をメインメモリに展開するなど多くのＩ／Ｏ動作を伴うことに着目し、ＣＰＵ命令が中心の外部メモリの等価性回復処理と他の初期化処理とをバランスよく並行動作させ、かつコンピュータシステムを立ち上げる度に複写設定値を自動的に補正しながらシステムの初期化全体のスループットを最短にしていくことを目的としている。
【００１３】
【課題を解決するための手段】
図１は本発明の実施の形態１の全体構成図を示すものである。本発明の多重化された外部メモリの等価性回復プログラム１１は、コンピュータ１を用いて、システム管理者が設定した１回当りの複写量と複写間隔時間とを対応付けた複写設定値４１に基づき前回のコンピュータシステムの稼働時に主系であった外部メモリ０（主系）２の内容を外部メモリ１（従系）３へ複写し、多重化された外部メモリの等価性回復処理を行うものである。
【００１４】
等価性回復プログラム１１は、コンピュータシステムの立ち上げ時における初期化プログラム群の１プログラムとして位置付けられ、１回当たりの複写量と複写間隔時間とを対応付けた複写設定値を記憶装置、例えばメインメモリ５上の複写制御テーブル５１に記憶させる設定値記憶手段１１１と、前記複写設定値に基づいて、外部メモリ０（主系）２の内容を外部メモリ１（従系）３へＣＰＵ命令を使用して複写する複写手段１１２と、等価性回復処理が完了すると、例えばメッセージログに記憶されている初期化プログラムの完了メッセージを参照するなどして、等価性回復処理が完了した時点で等価性回復処理と並行動作している他の処理群が既に終了していると判断した場合には等価性回復処理を優先して実行させるように、完了していないと判断した場合には等価性回復処理と並行動作している他の処理群の実行優先度を上げるように複写設定値を再設定する再設定手段１１３として機能するものである。
【００１５】
なお、本発明では、等価性回復処理と並行動作している他の処理群に対して等価性回復処理の実行優先度を上げるためには、一回の複写量を増加させる、複写間隔時間を短くする、または一回の複写量を増加させ、かつ複写間隔時間を短くすることにより実現させている。また等価性回復処理に対して等価性回復処理と並行動作している他の処理群の実行優先度を上げるためには、一回の複写量を減少させる、複写間隔時間を長くする、または一回の複写量を減少させ、かつ複写間隔時間を長くすることにより実現させている。
【００１６】
以上のように本発明を構成することにより、最初に設定した複写設定値が順次、次のコンピュータシステムの立ち上げ時における等価性回復処理のために再設定されていくことになり、コンピュータシステムを立ち上げる度にＣＰＵ処理中心の等価性回復処理と多量のＩ／Ｏ動作を伴う他の初期化処理とがバランスよく並行動作することが可能となり、コンピュータシステムの立ち上げ時における初期化処理全体のスループットを最短に近づけていくことが可能となる。
【００１７】
【発明の実施の形態】
図１は本発明の実施の形態１の全体構成図を示すものである。本発明に係るコンピュータ１では電源が投入されると、コンピュータシステムを立ち上げるためにＩＰＬプログラム１２、核の初期化プログラム１３、ＭＳ（マスタースケジューラ）の初期化プログラム１４、サブシステムの起動プログラム１５など一連の初期化処理プログラム群１０が実行される。
【００１８】
等価性回復プログラム１１は、コンピュータシステムの立ち上げ時における初期化プログラム群１０の１プログラムとして位置付けられ、システム管理者が設定した１回当たりの複写量と複写間隔時間とを対応付けた複写設定値４１をメインメモリ５上の複写制御テーブル５１に記憶させる設定値記憶手段１１１と、複写制御テーブル５１に基づいて、外部メモリ０（主系）２の内容を外部メモリ１（従系）３へＣＰＵ命令を使用して複写する複写手段１１２と、
等価性回復処理が完了すると、メッセージログに記憶されている初期化プログラムの完了メッセージを参照して、等価性回復処理が完了した時点で等価性回復処理と並行動作している他の処理群が既に終了していると判断した場合には１回当りの複写量を増加させ、かつ複写間隔時間を短くし、完了していないと判断した場合には１回当りの複写量を減少させ、かつ複写間隔時間を長くするように複写設定値４１を再設定する再設定手段１１３として機能するものであり、コンピュータ読み取り可能な記録媒体に記録されている。
【００１９】
外部メモリ０（主系）２は、データベースの格納やページング・スーパバイザのページング域、ソートマージの作業域などとして使用される。また、外部メモリ１（従系）３には、外部メモリ０（主系）２と同じデータが格納され等価性が保たれている。本実施の形態１では、外部メモリを二重化した例としているが、本発明は、多重化した場合にも適用可能である。
【００２０】
外部記憶装置４には、初期化プログラム群１０が使用するシステムパラメタ４２や、オペレーティングシステム（ＯＳ）のプログラムなどを格納したプログラムファイル４３、システム管理者が設定した等価性回復プログラム１１が使用する外部メモリの複写を制御するための１回当りの複写量と複写間隔時間を含む複写設定値４１が格納されている。
【００２１】
コンピュータ１のメインメモリ５には、等価性回復プログラム１１の設定値記憶手段１１１が、システム管理者が設定した複写設定値４１を複写制御テーブル５１として記憶させている。
図２は、等価性回復プログラム１１が外部メモリの複写制御のために使用する複写設定値が格納される。１回当りの複写量には、外部メモリ０（主系）２の内容を複数回に分けて従系の外部メモリに複写する際の、例えば５メガバイトなど１回当りの複写量が、複写間隔時間には、次の複写処理までの例えば１秒など間隔時間が格納される。
【００２２】
図３は、本発明に係る実施の形態１における多重化された外部メモリの等価性回復処理の流れを示したフローチャートである。ＳＴＡＲＴ１は本処理のエントリであり、ＳＴＡＲＴ２は複数回に分けた次の複写処理のために複写設定値で指定された複写間隔時間でタイマ値を設定しＷＡＩＴ状態となり、タイマ割り込みにより再び等価性回復プログラムに制御を渡される時のエントリである。
【００２３】
コンピュータシステム立ち上げ時において等価性回復プログラム１１が制御を渡されると先ず、システム管理者が設定した１回当りの複写量と複写間隔時間を含む複写設定値を記憶する（Ｓ３０１）。１回当りの複写量に従って外部メモリ０（主系）２の内容を外部メモリ１（従系）３へＣＰＵ命令を使用して複写する（Ｓ３０２）。１回分の複写が完了すると、外部メモリの全領域の複写が完了したかどうかを複数に分割したそれぞれの領域の最終アドレスなどに基づき判断する（Ｓ３０３）。
【００２４】
未だ全領域の複写が完了していない場合には、ハードウェアのウォッチドッグタイマ割り込みの機能を利用し、タイマ値に複写間隔時間を、ウォッチドッグタイマ割り込みが発生した時にブランチするエントリアドレスとしてＳＴＡＲＴ２を設定し、等価性回復プログラムに実行権を与えた他の初期化プログラムへ制御を渡す（Ｓ３０４）。
【００２５】
外部メモリの全領域の複写が完了すると、他の初期化プログラムの処理がすでに完了しているかどうかを判定する（Ｓ３０５）。コンピュータシステムの立ち上げ時は、未だＯＳが形成されつつある状態であるため、ＯＳの機能は使用できないものとして処理する。そのため各初期化処理プログラムはシリアルに実行し、並行動作を行うにしても、ハードウェアの持つ機能を利用した擬似的な並行動作とせざるを得ない。他の初期化処理が完了しているかどうかを判定するにもＯＳの機能は使用できないため、例えば最後に実行する初期化プログラムが完了したことを示すメッセージがメッセージログに出力されているかどうかなどで判断する。
【００２６】
他のインプリメント方法として、メインメモリ５上に最後に実行する初期化プログラムの処理が完了した旨のフラグを設け、最後に実行する初期化プログラムは処理が完了すると、このフラグをオンにすることにより等価性回復プログラムが最後の初期化プログラムの処理が完了したかどうかを判断できるようにしてもよい。
【００２７】
他の初期化プログラムの処理がすべて完了していると判断した場合には、等価性回復プログラムの処理が他の初期化処理の完了までに完了しなかったので、等価性回復プログラムの実行優先度を上げるため、例えば図２のａで示すように複写量および複写間隔時間の設定値がそれぞれ５メガバイト、１秒であった場合、図２のｂで示すように１回当りの複写量を１０メガバイトに増加させ、かつ複写間隔時間を０．７秒に短くすることにより、次のコンピュータシステム立ち上げ時に、単位時間当りの等価性回復プログラムの実行する割合が多くなるように複写設定値の再設定を行う（Ｓ３０６）。
【００２８】
等価性回復プログラムは、他のいずれか１つの初期化プログラムとウォッチドッグタイマ割り込みを利用した擬似的な２多重の並行動作を行っているため、前回設定した１回当りの複写量を増加すれば、複写量の増加に応じて実行時間も増加するため、単位時間当りの等価性回復プログラムの実行する割合は多くなり、処理を完了させるための時間は短くなる。同様に、前回設定した複写間隔時間を減少すれば等価性回復プログラムが他の初期化プログラムの処理の実行に割り込む頻度が高まるため単位時間当りの等価性回復プログラムの実行する割合は多くなり、処理を完了させるための時間は短くなる。なお、複写間隔時間は、１回当りの外部メモリを複写するために必要な時間に比べて十分大きな値であることが前提となる。
【００２９】
他の初期化プログラムの処理がすべて完了していないと判断した場合には、等価性回復プログラムの処理が他の初期化処理の完了までに完了していたことになるので、例えば図２のａで示すように複写量および複写間隔時間の設定値がそれぞれ５メガバイト、１秒であった場合、等価性回復プログラムの実行優先度を下げるため図２のｃで示すように１回当りの複写量を４メガバイトに減少させ、かつ複写間隔時間を２秒に長くすることにより、次のコンピュータシステム立ち上げ時に、単位時間当りの等価性回復プログラムの実行する割合が少なくなるように複写設定値の再設定を行う（Ｓ３０７）。
【００３０】
本発明を適用すると、一度システム管理者が経験上の知識に基づき複写設定値を設定するだけで、コンピュータシステムを立ち上げる毎に、そのコンピュータシステムに最適な複写設定値に向かって再設定されていくことになり、コンピュータシステム立ち上げ時における、等価性回復処理を含めた初期化処理のスループットを最小時間に近づけていくことが可能となる。
【００３１】
（付記１）　複数回に分けて主系の外部メモリの内容を従系の外部メモリへ複写することにより、多重化された外部メモリの等価性回復処理を行うプログラムであって、
１回当たりの複写量と複写間隔時間とを対応付けた複写設定値を記憶装置に記憶させる設定値記憶手段と、
前記複写設定値に基づいて、主系の外部メモリの内容を従系の外部メモリへ複写する複写手段と、
前記等価性回復処理が完了すると、前記等価性回復処理と並行動作している他の処理群の処理が完了している場合には前記等価性回復処理を、完了していない場合には前記等価性回復処理と並行動作している他の処理群の実行優先度を上げるように前記複写設定値を再設定する再設定手段と
してコンピュータを機能させる外部メモリの等価性回復プログラム。
【００３２】
（付記２）　前記再設定手段は、前記等価性回復処理の完了時に前記等価性回復処理と並行動作している他の処理群が完了している場合には、前記１回当りの複写量を大きく、完了していない場合には、前記１回当りの複写量を小さく再設定する付記１記載の外部メモリの等価性回復プログラム。
（付記３）　前記再設定手段は、前記等価性回復処理の完了時に前記等価性回復処理と並行動作している他の処理群が完了している場合には、前記複写間隔時間を短く、完了していない場合には、前記複写間隔時間を長く再設定する付記１、または付記２記載の外部メモリの等価性回復処理プログラム。
【００３３】
（付記４）　複数回に分けて主系の外部メモリの内容を従系の外部メモリへ複写することにより、多重化された外部メモリの等価性回復処理を行うプログラムを記録した記録媒体であって、
１回当たりの複写量と複写間隔時間とを対応付けた複写設定値を記憶装置に記憶させる設定値記憶手段と、
前記複写設定値に基づいて、主系の外部メモリの内容を従系の外部メモリへ複写する複写手段と、
前記等価性回復処理が完了すると、前記等価性回復処理と並行動作している他の処理群の処理が完了している場合には前記等価性回復処理を、完了していない場合には前記等価性回復処理と並行動作している他の処理群の実行優先度を上げるように前記複写設定値を再設定する再設定手段と
してコンピュータを機能させる外部メモリの等価性回復プログラムを記録したコンピュータ読み取り可能な記録媒体。
【００３４】
（付記５）　複数回に分けて主系の外部メモリの内容を従系の外部メモリへ複写することにより、多重化された外部メモリの等価性回復処理を行う装置であって、
１回当たりの複写量と複写間隔時間とを対応付けた複写設定値を記憶装置に記憶させる設定値記憶手段と、
前記複写設定値に基づいて、主系の外部メモリの内容を従系の外部メモリへ複写する複写手段と、
前記等価性回復処理が完了すると、前記等価性回復処理と並行動作している他の処理群の処理が完了している場合には前記等価性回復処理を、完了していない場合には前記等価性回復処理と並行動作している他の処理群の実行優先度を上げるように前記複写設定値を再設定する再設定手段と
を有することを特徴とする外部メモリの等価性回復装置。
（付記６）　複数回に分けて主系の外部メモリの内容を従系の外部メモリへ複写することにより、多重化された外部メモリの等価性回復処理を行う方法であって、
１回当たりの複写量と複写間隔時間とを対応付けた複写設定値を記憶装置に記憶させるステップと、
前記複写設定値に基づいて、主系の外部メモリの内容を従系の外部メモリへ複写するステップと、
前記等価性回復処理が完了すると、前記等価性回復処理と並行動作している他の処理群の処理が完了している場合には前記等価性回復処理を、完了していない場合には前記等価性回復処理と並行動作している他の処理群の実行優先度を上げるように前記複写設定値を再設定するステップと
を有する外部メモリの等価性回復処理方法。
【００３５】
【発明の効果】
多重化されている外部メモリの等価性回復処理と前記外部メモリの等価性回復処理と並行動作している他の処理群とのコンピュータシステム全体のスループットを外部メモリの等価性回復処理を行う度に最短時間に近づけていくことが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態１の全体構成図
【図２】本発明に係る複写制御テーブル
【図３】本発明に係る実施の形態１における多重化された外部メモリの等価性回復処理
【符号の説明】
１　コンピュータ
２　外部メモリ０
３　外部メモリ１
４　外部記憶装置
５　メインメモリ
１０　初期化プログラム群
１１　等価性回復プログラム
１２　ＩＰＬプログラム
１３　核の初期化プログラム
１４　ＭＳの初期化プログラム
１５　サブシステムの起動プログラム
４１　複写設定値
４２　システムパラメタ
４３　プログラムファイル
５１　複写制御テーブル
１１１　設定値記憶手段
１１２　複写手段
１１３　再設定手段
【図１】
2004054615.tif 000003
【図２】
2004054615.tif 000004
【図３】
2004054615.tif 000005