(57)【要約】  ログ情報記録システムは、ログ記録媒体１と、一意に増加するログ順序番号によって記録操作を管理しログ情報を記録するログ記録制御部２と、記録完了を休眠状態として待ち合わせているプロセスの中から起床操作の対象を選択する目的で使用しログ順序番号とプロセスの情報とを対応付けて含むエントリを要素とする待ち行列を記憶する待ち行列記憶部３とを備え、ログ記録制御部２は、第一のプロセスがログ情報の記録を要求した際に他のプロセスにより記録操作が行われていた場合、ログ順序番号と第一のプロセスの情報とを設定したエントリを待ち行列に格納した後、第一のプロセスを休眠処理させ、ログ情報の記録完了時には、待ち行列に格納されたエントリに含まれるログ順序番号と記録が完了したログ情報のログ順序番号とを比較して、記録が完了したプロセスを抽出し、プロセスに起床処理させる。
2012140916.tif 000002
【特許請求の範囲】
【請求項１】
ログ記録媒体と、
一意に増加するログ順序番号によってログ情報の記録操作を管理し、前記ログ記録媒体にログ情報を記録するログ記録制御手段と、
ログ情報の記録完了を休眠状態として待ち合わせているプロセスの中から、ログ情報の記録完了により起床操作の対象となるプロセスを選択する目的で使用するプロセス待ち管理用待ち行列を記憶する待ち行列記憶手段とを備え、
前記待ち行列記憶手段は、前記プロセス待ち管理用待ち行列が保持する要素である待ち行列エントリには前記ログ順序番号と休眠状態であるプロセスを示す情報とを対応付けて含み、
前記ログ記録制御手段は、
第一のプロセスがログ情報の記録を要求した際に他のプロセスによりログ情報の記録操作が行われていた場合、前記第一のプロセスについて、ログ順序番号と前記第一のプロセスを示す情報とを設定した待ち行列エントリを前記プロセス待ち管理用待ち行列に格納した後、前記第一のプロセスを休眠処理させ、ログ情報の記録完了時には、前記プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、前記待ち行列エントリに含まれるログ順序番号と記録が完了した前記ログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出した前記ログ記録の完了した総てのプロセスを起床処理させる
ことを特徴とするログ情報記録システム。
【請求項２】
ログ記録制御手段は、ログ情報の記録完了時には、プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、前記待ち行列エントリに含まれるログ順序番号と記録が完了した前記ログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出した前記ログ情報の記録が完了した総てのプロセスを起床処理させた後、前記プロセス待ち管理用待ち行列に待ち行列エントリが残っている場合には、残っている前記待ち行列エントリの中から最大のログ順序番号を含む待ち行列エントリを抽出し、抽出した前記待ち行列エントリに含まれる情報によって示されるプロセスを起床処理させる
請求項１記載のログ情報記録システム。
【請求項３】
ロックが取得されているか否かを示すロック・フラグを記憶するロック・フラグ記憶手段を備え、
ログ記録制御手段は、前記ロックを取得したプロセスのみがログ情報の記録操作を起動するように制御し、更にログ情報の記録完了時に起床処理させたプロセスの内、ログ情報の記録が完了したプロセスについては前記ロックの取得操作を行うことなく動作を再開するように制御し、ログ情報の記録が完了していないプロセスの内、最大のログ順序番号でログ情報の記録を要求しているプロセスについては前記ロックの取得を試み、前記ロックが取得できた場合にはログ情報の記録操作を起動するように制御する
請求項２記載のログ情報記録システム。
【請求項４】
ログ記録制御手段は、ロックが取得できた場合には最大のログ順序番号までのログ情報をログ記録媒体に記録する
請求項３記載のログ情報記録システム。
【請求項５】
ログ記録制御手段は、休眠状態であるプロセスを起床処理させるとともに、前記プロセスに対応する待ち行列エントリをプロセス待ち管理用待ち行列から削除する
請求項１から請求項４のうちのいずれか１項に記載のログ情報記録システム。
【請求項６】
ログ記録媒体と、
一意に増加するログ順序番号によってログ情報の記録操作を管理し、前記ログ記録媒体にログ情報を記録するログ記録制御手段と、
ログ情報の記録完了を休眠状態として待ち合わせているプロセスの中から、ログ情報の記録完了により起床操作の対象となるプロセスを選択する目的で使用するプロセス待ち管理用待ち行列を記憶する待ち行列記憶手段とを備え、
前記待ち行列記憶手段は、前記プロセス待ち管理用待ち行列が保持する要素である待ち行列エントリには前記ログ順序番号と休眠状態であるプロセスを示す情報とを対応付けて含み、
前記ログ記録制御手段は、
第一のプロセスがログ情報の記録を要求した際に他のプロセスによりログ情報の記録操作が行われていた場合、前記第一のプロセスについて、ログ順序番号と前記第一のプロセスを示す情報とを設定した待ち行列エントリを前記プロセス待ち管理用待ち行列に格納した後、前記第一のプロセスを休眠処理させ、ログ情報の記録完了時には、前記プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、前記待ち行列エントリに含まれるログ順序番号と記録が完了した前記ログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出した前記ログ記録の完了した総てのプロセスを起床処理させる
ことを特徴とするログ情報記録装置。
【請求項７】
ログ情報の記録完了を休眠状態として待ち合わせているプロセスの中から、ログ情報の記録完了により起床操作の対象となるプロセスを選択する目的で使用し、一意に増加するログ順序番号と休眠状態であるプロセスを示す情報とを対応付けて含む待ち行列エントリを要素として保持するプロセス待ち管理用待ち行列を記憶し、
第一のプロセスがログ情報の記録を要求した際に他のプロセスによりログ情報の記録操作が行われていた場合、前記第一のプロセスについて、ログ順序番号と前記第一のプロセスを示す情報とを設定した待ち行列エントリを前記プロセス待ち管理用待ち行列に格納した後、前記第一のプロセスを休眠処理させ、ログ情報の記録完了時には、前記プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、前記待ち行列エントリに含まれるログ順序番号と記録が完了した前記ログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出した前記ログ記録の完了した総てのプロセスを起床処理させる
ことを特徴とするログ情報記録方法。
【請求項８】
ログ情報の記録完了を休眠状態として待ち合わせているプロセスの中から、ログ情報の記録完了により起床操作の対象となるプロセスを選択する目的で使用し、一意に増加するログ順序番号と休眠状態であるプロセスを示す情報とを対応付けて含む待ち行列エントリを要素として保持するプロセス待ち管理用待ち行列を記憶する記憶手段を備えたコンピュータに、
第一のプロセスがログ情報の記録を要求した際に他のプロセスによりログ情報の記録操作が行われていた場合、前記第一のプロセスについて、ログ順序番号と前記第一のプロセスを示す情報とを設定した待ち行列エントリを前記プロセス待ち管理用待ち行列に格納した後、前記第一のプロセスを休眠処理させ、ログ情報の記録完了時には、前記プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、前記待ち行列エントリに含まれるログ順序番号と記録が完了した前記ログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出した前記ログ記録の完了した総てのプロセスを起床処理させるログ記録制御処理を
実行させるためのログ情報記録用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ログ情報記録システム、ログ情報記録装置、ログ情報記録方法およびログ情報記録用プログラムに関する。
【背景技術】
【０００２】
ファイルやデータベースなどに情報を書込む情報システムの内、特に高い信頼性を必要とする情報システム、具体的には、書込みが完了した情報の消失が許されないシステムでは、書込み操作に関する情報をログ情報としてファイルやデータベースとは別のログ記録媒体に記録する方式を採ることが多い。データベース管理システムは、このような情報システムの典型例である。本明細書では、以降、ファイルやデータベースなどに情報を格納する操作を「書込み」と表記し、書込み操作に関するログ情報をログ記録媒体に格納する操作を「記録」と表記して区別する。ログ情報を記録する目的は、システム障害が発生してファイルやデータベースに書込んだ情報が読み出せなくなった場合でも、ログ記録媒体に記録したログ情報を元に書込み操作を再実行し、障害発生時におけるファイルやデータベースの情報を復元可能とすることである。【０００３】
一般に、情報システム内では、複数のプロセスが並行に動作しているため、ファイルやデータベースへの書込みについても、複数の書込み処理が並行して実行されることになる。そのため、書込み操作に伴って発生するログ情報についても、複数のログ情報を並行して記録することになる。この場合、ログを記録する装置の特性を考慮すると、各ログ情報に対して記録操作を実行するよりも、複数のログ情報をまとめて記録操作を実行したほうがログ情報を記録する際の効率は高くなる。これは、記録装置に対して記録操作を起動してから、記録装置内の記録媒体への記録操作が開始されるまでに時間が掛かる、すなわち、１回の記録操作に対してオーバヘッドがかかるからである。このことから、各々のログ情報について記録操作を実行すると、オーバヘッドは各々の記録操作に対してかかってくるのに対し、複数のログ情報をまとめて記録すると、オーバヘッドは１回の記録操作にかかるだけとなり、オーバヘッドを低減して効率を高めることができる。【０００４】
複数のプロセスによるログ情報をまとめて記録する制御を行なうと、記録操作の完了時には複数のプロセスに対してログ記録完了を通知する必要がある。プロセッサが直接使うデータを格納するメモリの速度と比較すると、ログ記録媒体へのアクセスの方が数1000倍以上遅いことから、プロセスは、休眠（sleep）、すなわち、プロセッサの使用を中断してログ記録完了を待ち合わせることが多い。休眠して待ち合わせる方式であれば、プロセッサはその間、別プロセスの処理を実行できるため、システムとしての性能を向上させることができるためである。この場合、ログ記録完了を通知する操作は、休眠しているプロセスを起床、すなわち、プロセッサを使用して処理を実行可能な状態に変更する操作を意味する。【０００５】
一般に、個々のログ情報には、一意に増加するログ順序番号（Log Sequence Number, 以下LSN）が付与されており、ログ記録操作はLSNによって管理されている。すなわち、あるLSNのログ情報の記録完了は、それよりも小さい値のLSNを持つログ情報の記録完了も意味している。すなわち、あるLSNのログ記録操作が完了すると、それより小さな値のLSNを持つログ情報の記録操作も完了しているので、それらのログ情報記録を待つプロセスについても起床操作を行う必要がある。逆に、記録操作が完了したログ情報のLSNよりも大きなLSNのログ情報は記録されていない可能性があるため、それらのログ情報の記録完了を待つプロセスに対しての起床操作は行なってはならないという点も遵守した制御を行う必要がある。【０００６】
これらに関連する技術として、例えば特許文献１には、ログファイル書き込み方式が記載されている。特許文献１に記載された方式では、キューイング手段が複数のアプリケーションからメッセージのログファイル書き込み要求を受け取ると、複数のファイルＩ／Ｏ処理部は、メッセージを予め決められた順番に取り出し、予め対応付けられたログファイルに書き込む。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平０７−２７１６４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記のような制御を実現するプログラムのフローを図１０に示す。これは、オープン・ソースのデータベース管理システムであるPostgreSQLで使われている方式を簡略化したものである。全プロセスから参照できる変数は、記録操作を行うプロセス数を１に限定するためのロックを実現するためのロック・フラグと、記録を完了しているLSN（完了LSN）と、記録すべき各ログ情報に付与されたLSNの内の最大値（要求LSN）とである。【０００９】
図１０に示された処理では、あるプロセスが、データベースへの書込みを行い、対応するログ情報の記録を行なう必要が生じると、まず、ロック・フラグで実現されているロックを取得する（ステップ10-1）。ここでロックが獲得できない場合には、そのロック解放を休眠により待つことになる（ステップ10-7）。この休眠状態は、ロックを獲得しているプロセスがロックを解放する際に起床操作を行う（ステップ10-6）ことで解消される。【００１０】
ステップ10-1においてロックが獲得できると、そのプロセスが記録すべきログ情報のLSNと完了LSNとを比較する（ステップ10-3）。その結果、そのプロセスが記録すべきログ情報のLSNが、完了LSNよりも大きい場合には、ログ情報の記録操作を実行する必要があることを示しているので、要求LSNに対応するログ情報までの記録操作を行う（ステップ10-4）。【００１１】
ステップ10-4の記録操作が完了すると、要求LSNを完了LSNに設定した上で（ステップ10-5）、記録操作ロックを解放し（ステップ10-6）、一連のフローを終了する。また、ステップ10-3の比較操作の結果、そのプロセスが記録すべきログ情報のLSNが、完了LSNよりも小さいか等しい場合には、直ちに記録操作ロックを解放して（ステップ10-6）、一連のフローを終了する。【００１２】
このフローを複数のプロセスが並行して実行すると、1)各プロセスのフロー終了時点では、それらのプロセスが記録すべきログ情報の記録操作が完了している、2)ログ情報の記録が完了していない場合には記録操作を起動する、の２点が保証できる。なお、システムによっては、ステップ10-4にて、要求LSN、すなわち、その時点で記録すべき各ログ情報に付与されたLSNの内の最大値を取得できない事態が起きる可能性のあるものもある。そのようなシステムにおいて、要求LSNが取得できない場合には、ロックを獲得したプロセスが書込むべきログ情報のLSNまでのログをステップ10-4にて記録することになる。【００１３】
図４は、このフローを複数のプロセスが並行して実行したときの動作の一例を示したタイミング図である。具体的には、トランザクション2-1を処理するプロセスがトランザクション2-1から2-4までのログ情報をログ記録媒体に記録したときの動作を示している。【００１４】
図４に示すとおり、ログ記録媒体における記録操作が完了すると、まず、トランザクション2-1を処理するプロセスが起床され、そのプロセスが動作を再開するとトランザクション2-2を処理するプロセスを起床し、そのプロセスが動作を再開するとトランザクション2-3を処理するプロセスを起床する、というように、１プロセスずつ順番に起床されていく。【００１５】
図１１は、１プロセスずつ順番に起床されていく際、ログ記録操作の完了したプロセス（トランザクション2-4の処理プロセス）より先に、ログ記録操作の完了していないプロセス（トランザクション3の処理プロセス）を起床したときの動作を示すタイミング図である。この図は、トランザクション2-4の処理プロセスは、ログ情報（２）（３）（４）（５）の記録操作が完了した時点で動作を再開できるのにも関わらず、その動作再開はトランザクション3のログ情報（６）の記録完了またはそれ以降となってしまうことを示している。【００１６】
上記のような制御を行った場合の問題点として、複数プロセスのログ情報をまとめて記録する場合、ログ格納媒体へのログ情報の記録操作完了時の起床操作に時間がかかることが挙げられる。その理由は、プロセスの起床操作が連鎖していく必要があるためである。すなわち、複数プロセスのログ情報をまとめて記録する操作が完了すると、まず、記録操作を行ったプロセスが起床されて処理を再開し、その中でログ記録の完了を休眠により待っているプロセスの一つを起床する。次に、起床されたプロセスが再開した処理において、その時点でログ情報の記録完了を休眠して待っている複数プロセスの内１つを起床する。更に、その起床操作によって処理を再開したプロセスが次のプロセスを起床する、というように、１プロセスずつ順番に起床されていく、すなわち、起床操作が連鎖することになる。このため、ログ記録が完了したことにより処理の実行を再開できるようになった総てのプロセス、つまり、起床すべき総てのプロセスに対する起床操作が完了するまでに時間がかかってしまうこととなる。【００１７】
また、ログ情報の記録が完了し、本来であれば次の処理を実行できるプロセスを休眠させたままとしてしまう可能性がある。その理由は、複数プロセスのログ情報をまとめて記録する操作の完了時において、ログ記録の完了を休眠により待っているプロセスの一つを選んで起床する際、その選択が不適切、すなわち、ログ記録が完了しているプロセスと完了していないプロセスが混在している状況において、ログ記録が完了していないプロセスを選択して起床する可能性が残ってしまうためである。このようなプロセス選択を行なうと、その選択されたプロセスはログ記録操作を起動し、それが完了するまではログ記録待ち状態のプロセスを起床する操作を行わない。そのため、最初のプロセス選択時にはログ情報の記録が完了しており、本来であれば次の処理を実行できるプロセスを不必要な期間、休眠状態のままとしてしまうわけである。【００１８】
また、ログ記録操作の単位が断片的となり、効率が低下する可能性がある。その理由は、ログ記録操作を行う際、その時点で記録すべき各ログ情報に付与されたログ順序番号の内の最大値を取得できない場合、その時点で記録可能な全ログではなく、記録操作を行うプロセスが記録を必要としているログ情報に付与されたログ順序番号までのログ情報についての記録を行なうためである。【００１９】
本発明は、ファイルやデータベースなどに情報を書込む情報システムの内、既に書込みの完了した情報のシステム障害発生に起因する消失から保護するため、書込み操作に関する記録をログ情報として出力する情報システムにおいて、複数のプロセスが実行した書込み操作に関するログ情報をまとめて１回の書込み操作で記録する動作を効率化することができるログ情報記録システム、ログ情報記録装置、ログ情報記録方法およびログ情報記録用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２０】
本発明によるログ情報記録システムは、ログ記録媒体と、一意に増加するログ順序番号によってログ情報の記録操作を管理し、ログ記録媒体にログ情報を記録するログ記録制御手段と、ログ情報の記録完了を休眠状態として待ち合わせているプロセスの中から、ログ情報の記録完了により起床操作の対象となるプロセスを選択する目的で使用するプロセス待ち管理用待ち行列を記憶する待ち行列記憶手段とを備え、待ち行列記憶手段は、プロセス待ち管理用待ち行列が保持する要素である待ち行列エントリにはログ順序番号と休眠状態であるプロセスを示す情報とを対応付けて含み、ログ記録制御手段は、第一のプロセスがログ情報の記録を要求した際に他のプロセスによりログ情報の記録操作が行われていた場合、第一のプロセスについて、ログ順序番号と第一のプロセスを示す情報とを設定した待ち行列エントリをプロセス待ち管理用待ち行列に格納した後、第一のプロセスを休眠処理させ、ログ情報の記録完了時には、プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、待ち行列エントリに含まれるログ順序番号と記録が完了したログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出したログ記録の完了した総てのプロセスを起床処理させることを特徴とする。【００２１】
本発明によるログ情報記録装置は、ログ記録媒体と、一意に増加するログ順序番号によってログ情報の記録操作を管理し、ログ記録媒体にログ情報を記録するログ記録制御手段と、ログ情報の記録完了を休眠状態として待ち合わせているプロセスの中から、ログ情報の記録完了により起床操作の対象となるプロセスを選択する目的で使用するプロセス待ち管理用待ち行列を記憶する待ち行列記憶手段とを備え、待ち行列記憶手段は、プロセス待ち管理用待ち行列が保持する要素である待ち行列エントリにはログ順序番号と休眠状態であるプロセスを示す情報とを対応付けて含み、ログ記録制御手段は、第一のプロセスがログ情報の記録を要求した際に他のプロセスによりログ情報の記録操作が行われていた場合、第一のプロセスについて、ログ順序番号と第一のプロセスを示す情報とを設定した待ち行列エントリをプロセス待ち管理用待ち行列に格納した後、第一のプロセスを休眠処理させ、ログ情報の記録完了時には、プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、待ち行列エントリに含まれるログ順序番号と記録が完了したログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出したログ記録の完了した総てのプロセスを起床処理させることを特徴とする。【００２２】
本発明によるログ情報記録方法は、ログ情報の記録完了を休眠状態として待ち合わせているプロセスの中から、ログ情報の記録完了により起床操作の対象となるプロセスを選択する目的で使用し、一意に増加するログ順序番号と休眠状態であるプロセスを示す情報とを対応付けて含む待ち行列エントリを要素として保持するプロセス待ち管理用待ち行列を記憶し、第一のプロセスがログ情報の記録を要求した際に他のプロセスによりログ情報の記録操作が行われていた場合、第一のプロセスについて、ログ順序番号と第一のプロセスを示す情報とを設定した待ち行列エントリをプロセス待ち管理用待ち行列に格納した後、第一のプロセスを休眠処理させ、ログ情報の記録完了時には、プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、待ち行列エントリに含まれるログ順序番号と記録が完了したログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出したログ記録の完了した総てのプロセスを起床処理させることを特徴とする。【００２３】
本発明によるログ情報記録用プログラムは、ログ情報の記録完了を休眠状態として待ち合わせているプロセスの中から、ログ情報の記録完了により起床操作の対象となるプロセスを選択する目的で使用し、一意に増加するログ順序番号と休眠状態であるプロセスを示す情報とを対応付けて含む待ち行列エントリを要素として保持するプロセス待ち管理用待ち行列を記憶する記憶手段を備えたコンピュータに、第一のプロセスがログ情報の記録を要求した際に他のプロセスによりログ情報の記録操作が行われていた場合、第一のプロセスについて、ログ順序番号と第一のプロセスを示す情報とを設定した待ち行列エントリをプロセス待ち管理用待ち行列に格納した後、第一のプロセスを休眠処理させ、ログ情報の記録完了時には、プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、待ち行列エントリに含まれるログ順序番号と記録が完了したログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出したログ記録の完了した総てのプロセスを起床処理させるログ記録制御処理を実行させることを特徴とする。
【発明の効果】
【００２４】
本発明によれば、ファイルやデータベースなどに情報を書込む情報システムの内、既に書込みの完了した情報のシステム障害発生に起因する消失から保護するため、書込み操作に関する記録をログ情報として出力する情報システムにおいて、複数のプロセスが実行した書込み操作に関するログ情報をまとめて１回の書込み操作で記録する動作を効率化することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明によるログ情報記録システムの第１の実施形態の構成例を示すブロック図である。
【図２】第１の実施形態におけるログ記録制御手段の動作例を示す流れ図である。
【図３】第１の実施形態における記録完了通知手段の動作例を示す流れ図である。
【図４】一般的な技術によるログ記録完了時の動作の一例を示すタイミング図である。
【図５】第１の実施形態におけるログ記録完了時の動作例を示すタイミング図である。
【図６】本発明によるログ情報記録システムの第２の実施形態の構成例を示すブロック図である。
【図７】第２の実施形態におけるログ記録制御手段の動作例を示す流れ図である。
【図８】第２の実施形態における媒体記録完了通知手段の動作例を示す流れ図である。
【図９】第２の実施形態におけるロック解放通知手段の動作例を示す流れ図である。
【図１０】一般的な技術によるログ記録制御手段の動作を示す流れ図である。
【図１１】一般的な技術によるログ記録完了時において、トランザクション処理プロセスの動作再開が次のログ記録完了以降まで遅れる動作の一例を示すタイミング図である。
【図１２】ログ情報記録システムの最小の構成例を示すブロック図である。
【発明を実施するための形態】
【００２６】
実施形態１．
次に、本発明の第１の実施形態について図面を参照して説明する。図１は、本発明によるログ情報記録システムの第１の実施形態の構成例を示すブロック図である。図１を参照すると、第１の実施形態では、ログ情報記録システムは、ログ記録制御手段１１０および状態保持手段１２０を含むログ記録手段１００と、ログ記録媒体２００とを備えている。また、ログ情報記録システムにおいて、複数のトランザクション処理プロセス３００に従って処理を実行可能である。
【００２７】
ログ記憶手段１００は、具体的には、プログラムに従って動作するパーソナルコンピュータ等の情報処理装置によって実現される。また、ログ記録媒体２００は、具体的には、磁気ディスク装置や光ディスク装置等の記憶装置によって実現される。また、トランザクション処理プロセスは、具体的には、プログラムに従って情報処理装置のＣＰＵが処理を実行することによって実現される。
【００２８】
状態保持手段１２０は、待ち行列リスト１２１、完了LSN１２２、要求LSN１２３およびロック・フラグ１２４を含む。具体的には、状態保持手段１２０は、これらのデータを記憶している。ログ記録制御手段１１０は、媒体記録手段１１１、記録完了待ち手段１１２および記録完了通知手段１１３を含む。
【００２９】
これらの手段はそれぞれ概略つぎのように動作する。
【００３０】
状態保持手段１２０は、他の手段からの書込み要求に応じて、要求元から渡された値を待ち行列リスト１２１、完了LSN１２２、要求LSN１２３、ロック・フラグ１２４の各変数に格納する機能を備えている。また、状態保持手段１２０は、他の手段から各情報の読み出し要求に応じて、各変数に格納された値を抽出して要求元に出力する機能を備えている。
【００３１】
各変数の内、待ち行列リスト１２１は、待ち行列エントリを要素とする連結リスト構造を形成するためのポインタを保持する変数である。また、完了LSN１２２と要求LSN１２３とは、LSNを格納する変数である。また、ロック・フラグ１２４は、ロックされている、ロックされていない、という２種類の値を格納する変数である。
【００３２】
待ち行列エントリは、休眠するプロセスに関する情報を記録するためのデータ構造である。待ち行列エントリは、上記の待ち行列リスト変数とともに連結リスト構造を形成するために用いる他の待ち行列エントリへのポインタ、休眠するプロセスを特定するためのプロセス情報、LSNの３種類の変数を含んでいる。待ち行列リスト１２１と待ち行列エントリとで形成する連結リスト構造のデータを、プロセス待ち管理用待ち行列と呼ぶ。
【００３３】
ログ記録制御手段１１０は、トランザクション処理プロセス３００からの要求に応じてログ記録を行なう機能を備えている。ログ記録制御手段１１０は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。
【００３４】
媒体記録手段１１１は、完了LSN１２２の次から要求されたLSNまでのログ情報をログ記録媒体２００に格納する操作を行う機能を備えている。
【００３５】
第一のトランザクション処理プロセス３００からのログ記録要求に従って媒体記録手段１１１がログ情報の記録操作を行っているときに、第二のトランザクション処理プロセス３００がログ記録要求を行なう場合を想定する。この場合、第二のトランザクション処理プロセス３００は、記録完了待ち手段１１２により、第一のトランザクション処理プロセス３００によるログ情報記録操作の完了を待ち合わせる。また、ログ情報記録が完了したときには、第一のトランザクション処理プロセス３００は、記録完了通知手段１１３により、第二のトランザクション処理プロセス３００にログ記録操作の完了を通知する。なお、待ち合わせ処理と完了通知処理との詳細については後述する。
【００３６】
次に、図２及び図３のフローチャートを参照して本実施形態の全体の動作について説明する。図２は、第１の実施形態におけるログ記録制御手段の動作例を示す流れ図である。また、図３は、第１の実施形態における記録完了通知手段の動作例を示す流れ図である。
【００３７】
まず、ログの記録を要求するトランザクション処理プロセス３００は、記録すべきログ情報を作成する。そして、トランザクション処理プロセス３００は、要求LSN１２３を更新し、更新した要求LSN１２３にログ情報を対応付けた後、ログ記録制御手段１１０を起動する。例えば、トランザクション処理プロセス３００は、ログ記録要求として、更新した要求LSN１２３と作成したログ情報とを対応付けてログ記録制御手段１１０に出力する。
【００３８】
ここまでの動作は、一般的な技術によるログ情報の扱いと同じである。以降、上記のトランザクション処理プロセス３００が作成したログ情報に対応付けられたLSNを、そのトランザクション処理プロセス３００のLSNという意味で「自LSN」と呼ぶ。
【００３９】
ログ記録制御手段１１０は、まず、自LSNと完了LSN１２２とを比較する（図２のステップ2-1）。比較の結果、自LSNが完了LSN１２２に等しいか、完了LSN１２２より値が小さいと判断した場合には、ログ情報のログ記録媒体２００への記録が完了していることを意味しているので、ログ記録制御手段１１０は、ログ記録操作を終了する。
【００４０】
一方、自LSNの方が完了LSN１２２よりも値が大きいと判断した場合には、ログ記録制御手段１１０は、状態保持手段１２０内のロック・フラグ１２４で管理されているロックの取得を試み（ステップ2-2）、取得が成功したかどうかを確認する（ステップ2-3）。
【００４１】
このロック取得操作で、ロックの取得に失敗した場合、すなわち、別のトランザクション処理プロセス３００によってロックが既に取得されている場合について説明する。この場合には、ロックを取得しているトランザクション処理プロセス３００がログ記録媒体２００への記録操作を行っていることを意味しているので、ロック取得に失敗したトランザクション処理プロセス３００は、記録完了待ち手段１１２により、ログ記録媒体２００への記録操作の完了を待ち合わせる。
【００４２】
具体的には、記録完了待ち手段１１２は、待ち行列エントリを作成し（ステップ2-8）、作成した待ち行列エントリに自プロセス（すなわち、ロック取得に失敗したトランザクション処理プロセス３００）の情報と自LSNとを設定する（ステップ2-9）。そして、記録完了待ち手段１１２は、その待ち行列エントリをリスト構造によりデータを管理するプロセス待ち管理用待ち行列に繋ぐ（ステップ2-10）。以下、待ち行列エントリをプロセス待ち管理用待ち行列に繋ぐとの表現を用いるが、具体的には、プロセス管理用待ち行列に待ち行列エントリを格納することである。
【００４３】
なお、本実施形態では、待ち行列エントリの管理を一般的な技術であるリスト構造のデータを利用する方法としているが、どのデータ構造を使うのかは任意である。
【００４４】
待ち行列エントリをプロセス待ち管理用待ち行列に繋いだ後、記録完了待ち手段１１２は、そのトランザクション処理プロセス３００に対して休眠操作をする（ステップ2-11）。この休眠状態は、後述するように、別のトランザクション処理プロセス３００による記録完了通知操作によって起床するまで続く。
【００４５】
休眠したトランザクション処理プロセス３００が起床して処理を再開した後には、記録完了待ち手段１１２は、不要となった待ち行列エントリを削除する（ステップ2-12）。その後、ログ記録制御手段１１０は、ログ記録操作の最初（ステップ2-1）から処理をやり直す。
【００４６】
一方、ステップ2-2のロック取得操作で、ロックの取得に成功した場合について説明する。この場合には、媒体への記録操作を行っているトランザクション処理プロセス３００が他に存在していないことを意味しているので、ロック取得に成功したトランザクション処理プロセス３００は、媒体記録手段１１１により要求LSN１２３までのログ情報をログ記録媒体２００に記録する操作を行う（ステップ2-4）。具体的には、トランザクション処理プロセス３００から出力されたログ記録要求に従って、媒体記録手段１１１は、完了LSN１２２の次から要求LSN１２３までのログ情報をログ記録媒体２００に記録する操作を行う。
【００４７】
ログ記録媒体２００への記録が完了すると、ログ記録制御手段１１０は、ステップ2-4において媒体記録手段１１１に要求したLSN、すなわち、記録の完了したログ情報に対応するLSNを完了LSN１２２に設定する（ステップ2-5）。
【００４８】
次に、ログ記録制御手段１１０は、ロックを解放する（ステップ2-6）。そして、トランザクション処理プロセス３００は、記録完了通知手段１１３によりログ情報の記録完了を待ち合わせている他のトランザクション処理プロセス３００を記録完了通知操作によって起床させる（ステップ2-7）。
【００４９】
具体的には、記録完了通知手段１１３は、まず、プロセス待ち管理用待ち行列に繋がれている待ち行列エントリの中から、待ち行列エントリのLSNが完了LSN１２２に等しいか小さいという条件を満たす総ての待ち行列エントリを選択する。そして、記録完了通知手段１１３は、選択した待ち行列エントリ中のプロセス情報に対応するトランザクション処理プロセス３００に記録完了通知をして起床させるように制御する。その後、記録完了通知手段１１３は、選択した待ち行列エントリをプロセス待ち管理用待ち行列から外す（図３のステップ3-1）。
【００５０】
ステップ3-1の操作が完了した後、記録完了通知手段１１３は、プロセス待ち管理用待ち行列に待ち行列エントリが残っているかどうかを確認する（ステップ3-2）。
【００５１】
待ち行列エントリが残っている場合には、記録完了通知手段１１３は、プロセス待ち管理用待ち行列に繋がれている待ち行列エントリの中から、最大のLSNの待ち行列エントリを選択する。そして、記録完了通知手段１１３は、選択した待ち行列エントリ中のプロセス情報に対応するトランザクション処理プロセス３００に記録完了通知をして起床させるように制御する。その後、記録完了通知手段１１３は、選択した待ち行列エントリをプロセス待ち管理用待ち行列から外す（ステップ3-3）。
【００５２】
次に、本実施形態の効果について説明する。本実施形態では、複数のトランザクション処理プロセス３００が各々のログ情報の記録完了を休眠して待ち合わせている場合、記録完了通知手段１１３は、待ち行列エントリのうちのLSNが完了LSN１２２に等しいか小さいという条件を満たす総てのエントリを選択する。そして、記録完了通知手段１１３は、選択した待ち行列エントリ中のプロセス情報に対応するトランザクション処理プロセス３００を起床させるように構成されている。そのため、１回の記録完了通知操作でログ情報の記録が完了した総てのトランザクション処理プロセス３００を起床させることができる。
【００５３】
すなわち、一般的な技術では、図４に示すとおり、複数のトランザクション処理プロセス３００（図４では、トランザクション2-1〜2-4）のログ情報を、トランザクション2-1の処理プロセスがログ記録媒体２００への記録を要求した場合、まずトランザクション2-1の処理プロセスを起床させる。そして、トランザクション2-1の処理プロセスがトランザクション2-2の処理プロセスを起床させる。更にトランザクション2-2の処理プロセスがトランザクション2-3の処理プロセスを起床させる。このように各トランザクション処理プロセス３００を経由して起床操作が行われる。これに対し、本実施形態では、図５に示すとおり、トランザクション2-1の処理プロセスが、ログ記録の完了したトランザクション2-2〜2-4の処理プロセスを起床させることができる。
【００５４】
また、本実施形態では、さらに、記録完了通知手段１１３は、ログ記録操作が完了した総てのトランザクション処理プロセス３００を起床させた後、待ち行列エントリが残っている場合には、プロセス待ち管理用待ち行列に繋がれている待ち行列エントリの中から、LSNが最大の待ち行列エントリを選択する。そして、記録完了通知手段１１３は、選択した待ち行列エントリ中のプロセス情報に対応するプロセスを起床させるように構成されている。
【００５５】
そのため、次回のログ記録操作では、記録完了通知手段１１３の実行時における最大の要求LSN１２３までに対応するログ情報を記録対象とすることができる。
【００５６】
したがって、本実施形態では、複数プロセスのログ情報をログ格納媒体に記録する操作が完了した際において、起床操作を実行するまでの時間を短縮できる。その理由は、記録を完了したログ順序番号およびそれよりも小さいログ順序番号を持つエントリに設定されている複数のプロセスを起床対象とするためである。
【００５７】
また、本実施形態では、複数プロセスのログ情報をログ格納媒体に記録する操作が完了した際に、ログ情報の記録が完了した総てのプロセスに対して起床操作を実行するように制御できる。その理由は、ログ記録操作の完了を待つプロセスは、ログ順序番号の情報と自プロセスの情報とを設定したエントリを待ち行列に繋げているため、起床対象プロセスを選択する際、記録の完了したログ順序番号に等しいか小さい番号を持つエントリを漏れなく選択できるためである。
【００５８】
また、本実施形態では、ログ記録操作の単位を最大化できる。その理由は、ログ記録操作の完了を待つプロセスは、ログ順序番号の情報と自プロセスの情報とを設定したエントリを待ち行列に繋げているため、記録の完了したプロセスの他に、記録の完了していないプロセスの中から最大のログ順序番号を持つプロセスを起床対象として選択できるためである。
【００５９】
以上のことから、本実施形態では、ファイルやデータベースなどに情報を書込む情報システムの内、既に書込みの完了した情報のシステム障害発生に起因する消失から保護するため、書込み操作に関する記録をログ情報として出力する情報システムにおいて、複数のプロセスが実行した書込み操作に関するログ情報をまとめて１回の書込み操作で記録する動作を効率化することができる。
【００６０】
実施形態２．
次に、本発明の第２の実施形態について図面を参照して説明する。図６は、ログ情報記録システムの第２の実施形態の構成例を示すブロック図である。
【００６１】
図６を参照すると、本実施形態では、ログ情報記録システムは、ログ記録制御手段１１０および状態保持手段１２０を含むログ記録手段１００と、ログ記録媒体２００とを備えている。また、ログ情報記録システムにおいて、複数のトランザクション処理プロセス３００に従って処理を実行可能である。
【００６２】
ログ記憶手段１００は、具体的には、プログラムに従って動作するパーソナルコンピュータ等の情報処理装置によって実現される。また、ログ記録媒体２００は、具体的には、磁気ディスク装置や光ディスク装置等の記憶装置によって実現される。また、トランザクション処理プロセスは、具体的には、プログラムに従って情報処理装置のＣＰＵが処理を実行することによって実現される。
【００６３】
状態保持手段１２０は、待ち行列リスト１２１、完了LSN１２２、要求LSN１２３およびロック・フラグ１２４を含む。具体的には、状態保持手段１２０は、これらのデータを記憶している。ログ記録制御手段１１０は、媒体記録手段１１１、記録完了待ち手段１１２、ロック解放通知手段１１４および媒体記録完了通知手段１１５を含む。
【００６４】
これらの手段はそれぞれ概略つぎのように動作する。
【００６５】
状態保持手段１２０は、他の手段からの書込み要求に応じて、要求元から渡された値を待ち行列リスト１２１、完了LSN１２２、要求LSN１２３、ロック・フラグ１２４の各変数に格納する機能を備えている。また、状態保持手段１２０は、他の手段から各情報の読み出し要求に応じて各変数に格納された値を抽出して要求元に出力する機能を備えている。
【００６６】
各変数の内、待ち行列リスト１２１は、待ち行列エントリへのポインタを保持する変数である。また、完了LSN１２２と要求LSN１２３とは、LSNを格納する変数である。また、ロック・フラグ１２４は、ロックされている、ロックされていない、という２種類の値を格納する変数である。
【００６７】
また、待ち行列エントリは、他の待ち行列エントリへのポインタ、プロセス情報、LSNの３種類の変数を含んでおり、待ち行列リスト１２１とともにプロセス管理用待ち行列を形成する。
【００６８】
ログ記録制御手段１１０は、トランザクション処理プロセス３００からの要求に応じてログ記録を行なう機能を備えている。ログ記録制御手段１１０は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。
【００６９】
媒体記録手段１１１は、完了LSN１２２の次から要求されたLSNまでのログ情報をログ記録媒体２００に格納する操作を行う機能を備えている。
【００７０】
第一のトランザクション処理プロセス３００が媒体記録手段１１１によりログ情報の記録操作を行っているとき、第二のトランザクション処理プロセス３００がログ記録要求を行なった場合を想定する。この場合、第二のトランザクション処理プロセス３００は、記録完了待ち手段１１２により、第一のトランザクション処理プロセス３００によるログ情報記録操作の完了を待ち合わせる。ログ記録媒体２００へのログ情報記録が完了すると、ログ記録制御手段１１０は、媒体記録完了通知手段１１５により、第一と第二のトランザクション処理プロセス３００にログ記録操作の完了を通知する。
【００７１】
次に、図７、図８、図９のフローチャートを参照して本実施形態の全体の動作について説明する。図７は、本実施形態におけるログ記録制御手段の動作例を示す流れ図である。図８は、本実施形態における媒体記録完了通知手段の動作例を示す流れ図である。図９は、本実施形態におけるロック解放通知手段の動作例を示す流れ図である。
【００７２】
まず、ログの記録を要求するトランザクション処理プロセス３００は、記録すべきログ情報を作成する。そして、トランザクション処理プロセス３００は、要求LSN１２３を更新し、更新した要求LSN１２３にログ情報を対応付けた後、ログ記録制御手段１１０を起動する。例えば、トランザクション処理プロセス３００は、ログ記録要求として、更新した要求LSN１２３と作成したログ情報とを対応付けてログ記録制御手段１１０に出力する。
【００７３】
ここまでの動作は、一般的な技術によるログ情報の扱いと同じである。以降、上記のトランザクション処理プロセス３００が作成したログ情報に対応付けられたLSNを、そのトランザクション処理プロセス３００のLSNという意味で「自LSN」と呼ぶ。
【００７４】
ログ記録制御手段１１０は、まず、自LSNと完了LSN１２２とを比較する（図７のステップ7-1）。比較の結果、自LSNが完了LSN１２２に等しいか、完了LSN１２２より値が小さいと判断した場合には、ログ情報のログ記録媒体２００への記録が完了していることを意味しているので、ログ記録制御手段１１０は、ログ記録操作を終了する。
【００７５】
一方、自LSNの方が完了LSN１２２よりも値が大きいと判断した場合には、ログ記録制御手段１１０は、状態保持手段１２０内のロック・フラグ１２４で管理されているロックの取得を試み（ステップ7-2）、取得が成功したかどうかを確認する（ステップ7-3）。
【００７６】
このロック取得操作で、ロックの取得に失敗したと判断した場合、すなわち、別のトランザクション処理プロセス３００によってロックが既に取得されている場合について説明する。この場合には、ロックを取得しているトランザクション処理プロセス３００がログ記録媒体２００への記録操作を行っていることを意味しているので、ロック取得に失敗したトランザクション処理プロセス３００は、記録完了待ち手段１１２により、ログ記録媒体２００への記録操作の完了を待ち合わせる。
【００７７】
具体的には、記録完了待ち手段１１２は、待ち行列エントリを作成し（ステップ7-8）、作成した待ち行列エントリに自プロセス（すなわち、ロック取得に失敗したトランザクション処理プロセス３００）の情報と自LSNとを設定（ステップ7-9）する。そして、記録完了待ち手段１１２は、作成した待ち行列エントリをリスト構造によりデータを管理するプロセス待ち管理用待ち行列に繋ぐ（ステップ7-10）。
【００７８】
なお、本実施形態では、待ち行列エントリの管理を一般的な技術であるリスト構造のデータを利用する方法としているが、どのデータ構造を使うのかは任意である。
【００７９】
待ち行列エントリをプロセス待ち管理用待ち行列に繋いだ後、記録完了待ち手段１１２は、そのトランザクション処理プロセス３００に対して休眠操作を行う（ステップ7-11）。この休眠状態は、後述するように、別のトランザクション処理プロセス３００による記録完了通知操作によって起床されるまで続く。
【００８０】
休眠したトランザクション処理プロセス３００が起床して処理を再開した後には、記録完了待ち手段１１２は、不要となった待ち行列エントリを削除する（ステップ7-12）。そして、ログ記録制御手段１１０は、ログ記録操作の最初（ステップ7-1）から処理をやり直す。
【００８１】
一方、ステップ7-2のロック取得操作で、ロックの取得に成功した場合について説明する。この場合には、媒体への記録操作を行っているトランザクション処理プロセス３００が他に存在していないことを意味しているので、ロック取得に成功したトランザクション処理プロセス３００は、要求LSN１２３までのログ情報をログ記録媒体２００に記録するログ記録要求を媒体記録手段１１１に対して行い（ステップ7-4）、休眠する（ステップ7-5）。具体的には、媒体記録手段１１１は、ログ記録要求に従ってログ記録媒体２００へのログ情報の記録を開始するとともに、トランザクション処理プロセス３００に対して休眠操作を行う。
【００８２】
ログ記録媒体２００へのログ記録操作が完了すると、後述する媒体記録完了通知手段１１５からの起床操作により、トランザクション処理プロセス３００は、ステップ7-5による休眠状態が解除されて処理の実行を再開する。実行を再開すると、トランザクション処理プロセス３００からの要求に従って、ログ記録制御手段１１０は、まずロックを解放し（ステップ7-6）、ロック解放通知手段１１４によりロック解放を待ち合わせているトランザクション処理プロセス３００を起床させる（ステップ2-7）。具体的には、ログ記録制御手段１１０は、ロック解放通知手段１１４を起動する。
【００８３】
起動したロック解放通知手段１１４は、プロセス待ち管理用待ち行列に待ち行列エントリが残っているかどうかを確認する（図９のステップ9-1）。
【００８４】
待ち行列エントリが残っていると判断した場合には、ロック解放通知手段１１４は、プロセス待ち管理用待ち行列に繋がれている待ち行列エントリの中から、最大のLSNの待ち行列エントリを選択する。そして、ロック解放通知手段１１４は、選択した待ち行列エントリに含まれるプロセス情報に対応するプロセスをロック解放の通知によって起床させるように制御する。その後、ロック解放通知手段１１４は、その待ち行列エントリをプロセス待ち管理用待ち行列から外す（ステップ9-2）。
【００８５】
また、遡って、ログ記録媒体２００へのログ情報の記録操作が完了すると、媒体記録手段１１１は、媒体記録完了通知手段１１５を起動する。すると、起動された媒体記録完了通知手段１１５は、まず、完了LSN１２２に要求LSN１２３を設定する（図８のステップ8-1）。そして、媒体記録完了通知手段１１５は、ログ記録媒体２００にログ情報記録を要求したトランザクション処理プロセス３００を媒体記録完了通知によって起床させるように制御する（ステップ8-2）。
【００８６】
次に、媒体記録完了通知手段１１５は、プロセス待ち管理用待ち行列に繋がれている待ち行列エントリの中から、待ち行列エントリのLSNが完了LSN１２２に等しいか小さいという条件を満たす総てのエントリを選択する。そして、媒体記録完了通知手段１１５は、選択した待ち行列エントリに含まれるプロセス情報に対応するプロセスを起床させる。その後、媒体記録完了通知手段１１５は、そのエントリをプロセス待ち管理用待ち行列から外す（ステップ8-3）。
【００８７】
次に、本実施形態の効果について説明する。本実施形態では、複数のトランザクション処理プロセス３００が各々のログ情報の記録完了を休眠して待ち合わせているとき、媒体記録完了通知手段は、待ち行列エントリのLSNがログ情報の記録が完了したLSNに等しいか小さいという条件を満たす総てのエントリを選択する。そして、媒体記録完了通知手段は、選択した待ち行列エントリに含まれるプロセス情報に対応するプロセスを起床させるように構成されている。そのため、第１の実施形態と同様、１回の記録完了通知操作でログ情報の記録が完了した総てのトランザクション処理プロセス３００を起床させることができる。
【００８８】
また、ロック解放通知手段による効果、すなわち、次回のログ記録操作では、記録完了通知手段の実行時における最大の要求LSN１２３までに対応するログ情報を記録対象とすることができる点も、第１の実施形態と同様である。
【００８９】
したがって、本実施形態では、複数プロセスのログ情報をログ格納媒体に記録する操作が完了した際において、起床操作を実行するまでの時間を短縮できる。その理由は、記録を完了したログ順序番号およびそれよりも小さいログ順序番号を持つエントリに設定されている複数のプロセスを起床対象とするためである。
【００９０】
また、本実施形態では、複数プロセスのログ情報をログ格納媒体に記録する操作が完了した際に、ログ情報の記録が完了した総てのプロセスに対して起床操作を実行するように制御できる。その理由は、ログ記録操作の完了を待つプロセスは、ログ順序番号の情報と自プロセスの情報とを設定したエントリを待ち行列に繋げているため、起床対象プロセスを選択する際、記録の完了したログ順序番号に等しいか小さい番号を持つエントリを漏れなく選択できるためである。
【００９１】
また、本実施形態では、ログ記録操作の単位を最大化できる。その理由は、ログ記録操作の完了を待つプロセスは、ログ順序番号の情報と自プロセスの情報とを設定したエントリを待ち行列に繋げているため、記録の完了したプロセスの他に、記録の完了していないプロセスの中から最大のログ順序番号を持つプロセスを起床対象として選択できるためである。
【００９２】
以上のことから、本実施形態では、ファイルやデータベースなどに情報を書込む情報システムの内、既に書込みの完了した情報のシステム障害発生に起因する消失から保護するため、書込み操作に関する記録をログ情報として出力する情報システムにおいて、複数のプロセスが実行した書込み操作に関するログ情報をまとめて１回の書込み操作で記録する動作を効率化することができる。
【００９３】
以上に説明したように、本発明は、複数のプロセスからのログ記録要求をまとめて１回の操作でログ記録媒体２００に記録する際のプロセス起床操作を効率化することができるログ情報記録システム、ログ情報記録装置、ログ情報記録方法およびログ情報記録用プログラムに関する。
【００９４】
本発明によるログ記録システムは、ログ順序番号とプロセスの情報とを含むエントリを要素とする待ち行列を管理する手段を備えている。そして、１）プロセスがログ情報の記録操作を要求する際には、プロセスが記録しようとするログ情報に付与されたログ順序番号および自身のプロセス情報を格納したエントリを待ち行列に繋げ、プロセスを休眠させる。また、２）ログ格納媒体へのログ記録操作が完了すると、待ち行列を検索し、記録を完了したログ順序番号およびそれよりも小さいログ順序番号を持つエントリに設定されている複数のプロセスと、記録の完了していないプロセスの中から最大のログ順序番号を持つプロセスとを起床対象とするよう動作する。
【００９５】
このような構成を採用し、ログ情報の記録完了時に起床させるプロセスの選択を行なうことにより以下に示す効果を得ることができる。
【００９６】
第１の効果は、複数プロセスのログ情報をログ格納媒体に記録する操作が完了した際において、起床操作を実行するまでの時間を短縮できることにある。その理由は、記録を完了したログ順序番号およびそれよりも小さいログ順序番号を持つエントリに設定されている複数のプロセスを起床対象とするためである。
【００９７】
第２の効果は、複数プロセスのログ情報をログ格納媒体に記録する操作が完了した際には、ログ情報の記録が完了した総てのプロセスに対して起床操作を実行するように制御できることにある。その理由は、ログ記録操作の完了を待つプロセスは、ログ順序番号の情報と自プロセスの情報とを設定したエントリを待ち行列に繋げているため、起床対象プロセスを選択する際、記録の完了したログ順序番号に等しいか小さい番号を持つエントリを漏れなく選択できるためである。
【００９８】
第３の効果は、ログ記録操作の単位を最大化できることにある。その理由は、ログ記録操作の完了を待つプロセスは、ログ順序番号の情報と自プロセスの情報とを設定したエントリを待ち行列に繋げているため、記録の完了したプロセスの他に、記録の完了していないプロセスの中から最大のログ順序番号を持つプロセスを起床対象として選択できるためである。
【００９９】
次に、本発明によるログ情報記録システムの最小構成について説明する。図１２は、ログ情報記録システムの最小の構成例を示すブロック図である。図１２に示すように、ログ情報記録システムは、最小の構成要素として、ログ記録媒体１と、一意に増加するログ順序番号によってログ情報の記録操作を管理し、ログ記録媒体１にログ情報を記録するログ記録制御部２と、待ち行列記憶部３とを含む。
【０１００】
図１２に示す最小構成のログ情報記録システムでは、待ち行列記憶部３は、ログ情報の記録完了を休眠状態として待ち合わせているプロセスの中から、ログ情報の記録完了により起床操作の対象となるプロセスを選択する目的で使用するプロセス待ち管理用待ち行列を記憶している。また、待ち行列記憶部３は、プロセス待ち管理用待ち行列が保持する要素である待ち行列エントリにはログ順序番号と休眠状態であるプロセスを示す情報とを対応付けて含む。
【０１０１】
ログ記録制御部２は、第一のプロセスがログ情報の記録を要求した際に他のプロセスによりログ情報の記録操作が行われていた場合、第一のプロセスについて、ログ順序番号と第一のプロセスを示す情報とを設定した待ち行列エントリをプロセス待ち管理用待ち行列に格納した後、第一のプロセスを休眠処理させる。また、ログ記録制御部２は、ログ情報の記録完了時には、プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、待ち行列エントリに含まれるログ順序番号と記録が完了したログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出したログ記録の完了した総てのプロセスを起床処理させる。
【０１０２】
ログ情報記録システムは、複数のプロセスが実行した書込み操作に関するログ情報をまとめて１回の書込み操作で記録する動作を効率化することができる。
【０１０３】
なお、本実施形態では、以下の（１）〜（５）に示すようなログ情報記録システムの特徴的構成が示されている。
【０１０４】
（１）ログ情報記録システムは、ログ記録媒体（例えば、ログ記録媒体２００によって実現される）と、一意に増加するログ順序番号（例えば、ＬＳＮ）によってログ情報の記録操作を管理し、ログ記録媒体にログ情報を記録するログ記録制御手段（例えば、ログ記録制御手段１１０によって実現される）と、ログ情報の記録完了を休眠状態として待ち合わせているプロセス（例えば、トランザクション処理プロセス３００によって実現される）の中から、ログ情報の記録完了により起床操作の対象となるプロセスを選択する目的で使用するプロセス待ち管理用待ち行列を記憶する待ち行列記憶手段（例えば、状態保持手段１２０によって実現される）とを備え、待ち行列記憶手段は、プロセス待ち管理用待ち行列が保持する要素である待ち行列エントリにはログ順序番号と休眠状態であるプロセスを示す情報（例えば、図１に示されるプロセス情報）とを対応付けて含み、ログ記録制御手段は、第一のプロセスがログ情報の記録を要求した際に他のプロセスによりログ情報の記録操作が行われていた場合、第一のプロセスについて、ログ順序番号と第一のプロセスを示す情報とを設定した待ち行列エントリをプロセス待ち管理用待ち行列に格納した後、第一のプロセスを休眠処理させ（例えば、記録完了待ち手段１１２が処理を実行することによって実現される）、ログ情報の記録完了時には、プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、待ち行列エントリに含まれるログ順序番号（例えば、要求ＬＳＮ）と記録が完了したログ情報のログ順序番号（例えば、完了ＬＳＮ）とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出したログ記録の完了した総てのプロセスを起床処理させる（例えば、記録完了通知手段１１３又は媒体記録完了通知手段１１５が処理を実行することによって実現される）ことを特徴とする。
【０１０５】
（２）ログ情報記録システムにおいて、ログ記録制御手段は、ログ情報の記録完了時には、プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、待ち行列エントリに含まれるログ順序番号と記録が完了したログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出したログ情報の記録が完了した総てのプロセスを起床処理させた後、プロセス待ち管理用待ち行列に待ち行列エントリが残っている場合には、残っている待ち行列エントリの中から最大のログ順序番号を含む待ち行列エントリを抽出し、抽出した待ち行列エントリに含まれる情報によって示されるプロセスを起床処理させるように構成されていてもよい。
【０１０６】
（３）ログ情報記録システムにおいて、ロックが取得されているか否かを示すロック・フラグを記憶するロック・フラグ記憶手段（例えば、状態保持手段１２０によって実現される）を備え、ログ記録制御手段は、ロックを取得したプロセスのみがログ情報の記録操作を起動するように制御し、更にログ情報の記録完了時に起床処理させたプロセスの内、ログ情報の記録が完了したプロセスについてはロックの取得操作を行うことなく動作を再開するように制御し、ログ情報の記録が完了していないプロセスの内、最大のログ順序番号でログ情報の記録を要求しているプロセスについてはロックの取得を試み、ロックが取得できた場合にはログ情報の記録操作を起動するように制御するように構成されていてもよい。
【０１０７】
（４）ログ情報記録システムにおいて、ログ記録制御手段は、ロックが取得できた場合には最大のログ順序番号までのログ情報をログ記録媒体に記録するように構成されていてもよい。
【０１０８】
（５）ログ情報記録システムにおいて、ログ記録制御手段は、休眠状態であるプロセスを起床させるとともに、プロセスに対応する待ち行列エントリをプロセス待ち管理用待ち行列から削除するように構成されていてもよい。
【０１０９】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【０１１０】
（付記１）ログ記録媒体と、一意に増加するログ順序番号によってログ情報の記録操作を管理し、前記ログ記録媒体にログ情報を記録するログ記録制御手段と、ログ情報の記録完了を休眠状態として待ち合わせているプロセスの中から、ログ情報の記録完了により起床操作の対象となるプロセスを選択する目的で使用するプロセス待ち管理用待ち行列を記憶する待ち行列記憶手段とを備え、前記待ち行列記憶手段は、前記プロセス待ち管理用待ち行列が保持する要素である待ち行列エントリには前記ログ順序番号と休眠状態であるプロセスを示す情報とを対応付けて含み、前記ログ記録制御手段は、第一のプロセスがログ情報の記録を要求した際に他のプロセスによりログ情報の記録操作が行われていた場合、前記第一のプロセスについて、ログ順序番号と前記第一のプロセスを示す情報とを設定した待ち行列エントリを前記プロセス待ち管理用待ち行列に格納した後、前記第一のプロセスを休眠処理させ、ログ情報の記録完了時には、前記プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、前記待ち行列エントリに含まれるログ順序番号と記録が完了した前記ログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出した前記ログ記録の完了した総てのプロセスを起床処理させ、前記ログ記録制御手段は、ログ情報の記録完了時には、プロセス待ち管理用待ち行列に繋がれた待ち行列エントリについて、前記待ち行列エントリに含まれるログ順序番号と記録が完了した前記ログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出した前記ログ情報の記録が完了した総てのプロセスを起床処理させた後、前記プロセス待ち管理用待ち行列に待ち行列エントリが残っている場合には、残っている前記待ち行列エントリの中から最大のログ順序番号を含む待ち行列エントリを抽出し、抽出した前記待ち行列エントリに含まれる情報によって示されるプロセスを起床処理させるログ情報記録装置。
【０１１１】
（付記２）ロックが取得されているか否かを示すロック・フラグを記憶するロック・フラグ記憶手段を備え、ログ記録制御手段は、前記ロックを取得したプロセスのみがログ情報の記録操作を起動するように制御し、更にログ情報の記録完了時に起床処理させたプロセスの内、ログ情報の記録が完了したプロセスについては前記ロックの取得操作を行うことなく動作を再開するように制御し、ログ情報の記録が完了していないプロセスの内、最大のログ順序番号でログ情報の記録を要求しているプロセスについては前記ロックの取得を試み、前記ロックが取得できた場合にはログ情報の記録操作を起動するように制御する付記１記載のログ情報記録装置。
【０１１２】
（付記３）ログ情報の記録完了を休眠状態として待ち合わせているプロセスの中から、ログ情報の記録完了により起床操作の対象となるプロセスを選択する目的で使用し、一意に増加するログ順序番号と休眠状態であるプロセスを示す情報とを対応付けて含む待ち行列エントリを要素として保持するプロセス待ち管理用待ち行列を記憶し、第一のプロセスがログ情報の記録を要求した際に他のプロセスによりログ情報の記録操作が行われていた場合、前記第一のプロセスについて、ログ順序番号と前記第一のプロセスを示す情報とを設定した待ち行列エントリを前記プロセス待ち管理用待ち行列に格納した後、前記第一のプロセスを休眠処理させ、ログ情報の記録完了時には、前記プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、前記待ち行列エントリに含まれるログ順序番号と記録が完了した前記ログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出した前記ログ記録の完了した総てのプロセスを起床処理させ、ログ情報の記録完了時には、前記プロセス待ち管理用待ち行列に繋がれた待ち行列エントリについて、前記待ち行列エントリに含まれるログ順序番号と記録が完了した前記ログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出した前記ログ情報の記録が完了した総てのプロセスを起床させた後、前記プロセス待ち管理用待ち行列に待ち行列エントリが残っている場合には、残っている前記待ち行列エントリの中から最大のログ順序番号を含む待ち行列エントリを抽出し、抽出した前記待ち行列エントリに含まれる情報によって示されるプロセスを起床させるログ情報記録方法。
【０１１３】
（付記４）ロックを取得したプロセスのみがログ情報の記録操作を起動するように制御し、更にログ情報の記録完了時に起床処理させたプロセスの内、ログ情報の記録が完了したプロセスについては前記ロックの取得操作を行うことなく動作を再開するように制御し、ログ情報の記録が完了していないプロセスの内、最大のログ順序番号でログ情報の記録を要求しているプロセスについては前記ロックの取得を試み、前記ロックが取得できた場合にはログ情報の記録操作を起動するように制御する付記３記載のログ情報記録方法。
【０１１４】
（付記５）ログ情報の記録完了を休眠状態として待ち合わせているプロセスの中から、ログ情報の記録完了により起床操作の対象となるプロセスを選択する目的で使用し、一意に増加するログ順序番号と休眠状態であるプロセスを示す情報とを対応付けて含む待ち行列エントリを要素として保持するプロセス待ち管理用待ち行列を記憶する記憶手段を備えたコンピュータに、第一のプロセスがログ情報の記録を要求した際に他のプロセスによりログ情報の記録操作が行われていた場合、前記第一のプロセスについて、ログ順序番号と前記第一のプロセスを示す情報とを設定した待ち行列エントリを前記プロセス待ち管理用待ち行列に格納した後、前記第一のプロセスを休眠処理させ、ログ情報の記録完了時には、前記プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、前記待ち行列エントリに含まれるログ順序番号と記録が完了した前記ログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出した前記ログ記録の完了した総てのプロセスを起床処理させるログ記録制御処理を実行させ、前記ログ記録制御処理で、ログ情報の記録完了時には、プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、前記待ち行列エントリに含まれるログ順序番号と記録が完了した前記ログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出した前記ログ情報の記録が完了した総てのプロセスを起床処理させた後、前記プロセス待ち管理用待ち行列に待ち行列エントリが残っている場合には、残っている前記待ち行列エントリの中から最大のログ順序番号を含む待ち行列エントリを抽出し、抽出した前記待ち行列エントリに含まれる情報によって示されるプロセスを起床処理させる処理を実行させるログ情報記録用プログラム。
【０１１５】
（付記６）ロックが取得されているか否かを示すロック・フラグを記憶するロック・フラグ記憶手段を備えたコンピュータに、ログ記録制御処理で、前記ロックを取得したプロセスのみがログ情報の記録操作を起動するように制御し、更にログ情報の記録完了時に起床処理させたプロセスの内、ログ情報の記録が完了したプロセスについては前記ロックの取得操作を行うことなく動作を再開するように制御し、ログ情報の記録が完了していないプロセスの内、最大のログ順序番号でログ情報の記録を要求しているプロセスについては前記ロックの取得を試み、前記ロックが取得できた場合にはログ情報の記録操作を起動するように制御する処理を実行させる付記５記載のログ情報記録用プログラム。
【０１１６】
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１１７】
この出願は、２０１１年４月１５日に出願された日本特許出願２０１１−９１２８８を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１１８】
本発明は、ファイルやデータベースへの書込み操作に関する情報をログ情報としてファイルやデータベースとは別の媒体に記録する用途に適用可能である。
【符号の説明】
【０１１９】
１  ログ記憶媒体
２  ログ記録制御部
３  待ち行列記憶部
１００  ログ記録手段
１１０  ログ記録制御手段
１１１  媒体記録手段
１１２  記録完了待ち手段
１１３  記録完了通知手段
１１４  ロック解放通知手段
１１５  媒体記録完了通知手段
１２０  状態保持手段
１２１  待ち行列リスト
１２２  完了ＬＳＮ
１２３  要求ＬＳＮ
１２４  ロック・フラグ
２００  ログ記録媒体
３００  トランザクション処理プロセス
【図１】
2012140916.tif 000003
【図２】
2012140916.tif 000004
【図３】
2012140916.tif 000005
【図４】
2012140916.tif 000006
【図５】
2012140916.tif 000007
【図６】
2012140916.tif 000008
【図７】
2012140916.tif 000009
【図８】
2012140916.tif 000010
【図９】
2012140916.tif 000011
【図１０】
2012140916.tif 000012
【図１１】
2012140916.tif 000013
【図１２】
2012140916.tif 000014
【手続補正書】
【提出日】平成24年12月26日(2012.12.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ログ記録媒体と、
一意に増加するログ順序番号によってログ情報の記録操作を管理し、前記ログ記録媒体にログ情報を記録するログ記録制御手段と、
ログ情報の記録完了を休眠状態として待ち合わせているプロセスの中から、ログ情報の記録完了により起床操作の対象となるプロセスを選択する目的で使用するプロセス待ち管理用待ち行列を記憶する待ち行列記憶手段とを備え、
前記プロセス待ち管理用待ち行列が保持する要素である待ち行列エントリには前記ログ順序番号と休眠状態であるプロセスを示す情報とが対応付けて含まれ、
前記ログ記録制御手段は、
第一のプロセスがログ情報の記録を要求した際に他のプロセスによりログ情報の記録操作が行われていた場合、前記第一のプロセスについて、ログ順序番号と前記第一のプロセスを示す情報とを設定した待ち行列エントリを前記プロセス待ち管理用待ち行列に格納した後、前記第一のプロセスを休眠処理させ、ログ情報の記録完了時には、前記プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、前記待ち行列エントリに含まれるログ順序番号と記録が完了した前記ログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出した前記ログ情報の記録が完了した総てのプロセスを起床処理させる
ことを特徴とするログ情報記録システム。
【請求項２】
ログ記録制御手段は、ログ情報の記録完了時には、プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、前記待ち行列エントリに含まれるログ順序番号と記録が完了した前記ログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出した前記ログ情報の記録が完了した総てのプロセスを起床処理させた後、前記プロセス待ち管理用待ち行列に待ち行列エントリが残っている場合には、残っている前記待ち行列エントリの中から最大のログ順序番号を含む待ち行列エントリを抽出し、抽出した前記待ち行列エントリに含まれる情報によって示されるプロセスを起床処理させる
請求項１記載のログ情報記録システム。
【請求項３】
ロックが取得されているか否かを示すロック・フラグを記憶するロック・フラグ記憶手段を備え、
ログ記録制御手段は、前記ロックを取得したプロセスのみがログ情報の記録操作を起動するように制御し、更にログ情報の記録完了時に起床処理させたプロセスの内、ログ情報の記録が完了したプロセスについては前記ロックの取得操作を行うことなく動作を再開するように制御し、ログ情報の記録が完了していないプロセスの内、最大のログ順序番号でログ情報の記録を要求しているプロセスについては前記ロックの取得を試み、前記ロックが取得できた場合にはログ情報の記録操作を起動するように制御する
請求項２記載のログ情報記録システム。
【請求項４】
ログ記録制御手段は、ロックが取得できた場合には最大のログ順序番号までのログ情報をログ記録媒体に記録する
請求項３記載のログ情報記録システム。
【請求項５】
ログ記録制御手段は、休眠状態であるプロセスを起床処理させるとともに、前記プロセスに対応する待ち行列エントリをプロセス待ち管理用待ち行列から削除する
請求項１から請求項４のうちのいずれか１項に記載のログ情報記録システム。
【請求項６】
ログ記録媒体と、
一意に増加するログ順序番号によってログ情報の記録操作を管理し、前記ログ記録媒体にログ情報を記録するログ記録制御手段と、
ログ情報の記録完了を休眠状態として待ち合わせているプロセスの中から、ログ情報の記録完了により起床操作の対象となるプロセスを選択する目的で使用するプロセス待ち管理用待ち行列を記憶する待ち行列記憶手段とを備え、
前記プロセス待ち管理用待ち行列が保持する要素である待ち行列エントリには前記ログ順序番号と休眠状態であるプロセスを示す情報とが対応付けて含まれ、
前記ログ記録制御手段は、
第一のプロセスがログ情報の記録を要求した際に他のプロセスによりログ情報の記録操作が行われていた場合、前記第一のプロセスについて、ログ順序番号と前記第一のプロセスを示す情報とを設定した待ち行列エントリを前記プロセス待ち管理用待ち行列に格納した後、前記第一のプロセスを休眠処理させ、ログ情報の記録完了時には、前記プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、前記待ち行列エントリに含まれるログ順序番号と記録が完了した前記ログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出した前記ログ情報の記録が完了した総てのプロセスを起床処理させる
ことを特徴とするログ情報記録装置。
【請求項７】
ログ情報の記録完了を休眠状態として待ち合わせているプロセスの中から、ログ情報の記録完了により起床操作の対象となるプロセスを選択する目的で使用し、一意に増加するログ順序番号と休眠状態であるプロセスを示す情報とを対応付けて含む待ち行列エントリを要素として保持するプロセス待ち管理用待ち行列を記憶し、
第一のプロセスがログ情報の記録を要求した際に他のプロセスによりログ情報の記録操作が行われていた場合、前記第一のプロセスについて、ログ順序番号と前記第一のプロセスを示す情報とを設定した待ち行列エントリを前記プロセス待ち管理用待ち行列に格納した後、前記第一のプロセスを休眠処理させ、ログ情報の記録完了時には、前記プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、前記待ち行列エントリに含まれるログ順序番号と記録が完了した前記ログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出した前記ログ情報の記録が完了した総てのプロセスを起床処理させる
ことを特徴とするログ情報記録方法。
【請求項８】
ログ情報の記録完了を休眠状態として待ち合わせているプロセスの中から、ログ情報の記録完了により起床操作の対象となるプロセスを選択する目的で使用し、一意に増加するログ順序番号と休眠状態であるプロセスを示す情報とを対応付けて含む待ち行列エントリを要素として保持するプロセス待ち管理用待ち行列を記憶する記憶手段を備えたコンピュータに、
第一のプロセスがログ情報の記録を要求した際に他のプロセスによりログ情報の記録操作が行われていた場合、前記第一のプロセスについて、ログ順序番号と前記第一のプロセスを示す情報とを設定した待ち行列エントリを前記プロセス待ち管理用待ち行列に格納した後、前記第一のプロセスを休眠処理させ、ログ情報の記録完了時には、前記プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、前記待ち行列エントリに含まれるログ順序番号と記録が完了した前記ログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出した前記ログ情報の記録が完了した総てのプロセスを起床処理させるログ記録制御処理を
実行させるためのログ情報記録用プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
本発明によるログ情報記録システムは、ログ記録媒体と、一意に増加するログ順序番号によってログ情報の記録操作を管理し、ログ記録媒体にログ情報を記録するログ記録制御手段と、ログ情報の記録完了を休眠状態として待ち合わせているプロセスの中から、ログ情報の記録完了により起床操作の対象となるプロセスを選択する目的で使用するプロセス待ち管理用待ち行列を記憶する待ち行列記憶手段とを備え、プロセス待ち管理用待ち行列が保持する要素である待ち行列エントリにはログ順序番号と休眠状態であるプロセスを示す情報とが対応付けて含まれ、ログ記録制御手段は、第一のプロセスがログ情報の記録を要求した際に他のプロセスによりログ情報の記録操作が行われていた場合、第一のプロセスについて、ログ順序番号と第一のプロセスを示す情報とを設定した待ち行列エントリをプロセス待ち管理用待ち行列に格納した後、第一のプロセスを休眠処理させ、ログ情報の記録完了時には、プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、待ち行列エントリに含まれるログ順序番号と記録が完了したログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出したログ情報の記録が完了した総てのプロセスを起床処理させることを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
本発明によるログ情報記録装置は、ログ記録媒体と、一意に増加するログ順序番号によってログ情報の記録操作を管理し、ログ記録媒体にログ情報を記録するログ記録制御手段と、ログ情報の記録完了を休眠状態として待ち合わせているプロセスの中から、ログ情報の記録完了により起床操作の対象となるプロセスを選択する目的で使用するプロセス待ち管理用待ち行列を記憶する待ち行列記憶手段とを備え、プロセス待ち管理用待ち行列が保持する要素である待ち行列エントリにはログ順序番号と休眠状態であるプロセスを示す情報とが対応付けて含まれ、ログ記録制御手段は、第一のプロセスがログ情報の記録を要求した際に他のプロセスによりログ情報の記録操作が行われていた場合、第一のプロセスについて、ログ順序番号と第一のプロセスを示す情報とを設定した待ち行列エントリをプロセス待ち管理用待ち行列に格納した後、第一のプロセスを休眠処理させ、ログ情報の記録完了時には、プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、待ち行列エントリに含まれるログ順序番号と記録が完了したログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出したログ情報の記録が完了した総てのプロセスを起床処理させることを特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
本発明によるログ情報記録方法は、ログ情報の記録完了を休眠状態として待ち合わせているプロセスの中から、ログ情報の記録完了により起床操作の対象となるプロセスを選択する目的で使用し、一意に増加するログ順序番号と休眠状態であるプロセスを示す情報とを対応付けて含む待ち行列エントリを要素として保持するプロセス待ち管理用待ち行列を記憶し、第一のプロセスがログ情報の記録を要求した際に他のプロセスによりログ情報の記録操作が行われていた場合、第一のプロセスについて、ログ順序番号と第一のプロセスを示す情報とを設定した待ち行列エントリをプロセス待ち管理用待ち行列に格納した後、第一のプロセスを休眠処理させ、ログ情報の記録完了時には、プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、待ち行列エントリに含まれるログ順序番号と記録が完了したログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出したログ情報の記録が完了した総てのプロセスを起床処理させることを特徴とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
本発明によるログ情報記録用プログラムは、ログ情報の記録完了を休眠状態として待ち合わせているプロセスの中から、ログ情報の記録完了により起床操作の対象となるプロセスを選択する目的で使用し、一意に増加するログ順序番号と休眠状態であるプロセスを示す情報とを対応付けて含む待ち行列エントリを要素として保持するプロセス待ち管理用待ち行列を記憶する記憶手段を備えたコンピュータに、第一のプロセスがログ情報の記録を要求した際に他のプロセスによりログ情報の記録操作が行われていた場合、第一のプロセスについて、ログ順序番号と第一のプロセスを示す情報とを設定した待ち行列エントリをプロセス待ち管理用待ち行列に格納した後、第一のプロセスを休眠処理させ、ログ情報の記録完了時には、プロセス待ち管理用待ち行列に格納された待ち行列エントリについて、待ち行列エントリに含まれるログ順序番号と記録が完了したログ情報のログ順序番号とを比較することで、ログ情報の記録が完了した総てのプロセスを抽出し、抽出したログ情報の記録が完了した総てのプロセスを起床処理させるログ記録制御処理を実行させることを特徴とする。
【国際調査報告】
2012140916.tif 000015
2012140916.tif 000016