(57)【要約】システムオブジェクトに対する変更をジャーナリングする方法である。ダミーファンクション（６）は、システムファンクション（１２）と置換される。システムファンクション（１２）は、ダミーファンクション（６）の動作の下で実行（１３）される。システムファンクションの実行によって変更されるシステムオブジェクト（１６）のコピーが、ジャーナリング（２０）のために発生（１７）させられる。ダミーファンクション（６）の実行は、その後、完了される。望ましくは、システムオブジェクトはＯＳ／４００システムオブジェクトである。システムオブジェクトは、プログラムオブジェクト、コンフィギュレーションオブジェクト、待ち行列又は空間／メモリマップオブジェクトであり得る。システムオブジェクトのコピーは、別のシステム上での複製のためにジャーナリングされ得る。また、システムオブジェクトに対する変更をジャーナリングするためのシステム及びソフトウェアが開示される。
2006503372.tif 000002
【特許請求の範囲】
【請求項１】
システムオブジェクトに対する変更をジャーナリングする方法であって、
ｉ）システムファンクションをダミーファンクションで置換するステップと、
ｉｉ）ダミーファンクションの動作の下、前記システムファンクションを実行するステップと、
ｉｉｉ）ジャーナリングのために前記システムファンクションの実行によって変更されるシステムオブジェクトのコピーを発生させるステップと、
ｉｖ）前記ダミーファンクションの実行を完了するステップと、を含む方法。
【請求項２】
前記ダミーファンクションは、複製コーリングネームを有し、前記システムファンクションの実行に取って代わることによって前記システムファンクションを置換することを特徴とする請求項１に記載の方法。
【請求項３】
出口点は前記ダミーファンクションと協働し、出口プログラムは前記出口点に登録されていることを特徴とする請求項１又は２のいずれか１つに記載の方法。
【請求項４】
前記ダミーファンクションの動作中に前記出口プログラムは実行されることを特徴とする請求項３に記載の方法。
【請求項５】
前記システムファンクションの実行は前記出口プログラムによって処理されることを特徴とする請求項４に記載の方法。
【請求項６】
前記システムファンクションの実行によって変更される前記システムオブジェクトは、前記出口プログラムによって取り込まれることを特徴とする請求項５に記載の方法。
【請求項７】
前記出口プログラムは、前記出口プログラムによって取り込まれる前記システムオブジェクトのコピーを発生させることを特徴とする請求項６に記載の方法。
【請求項８】
前記システムファンクションの実行は、前記ダミーファンクションによって処理されることを特徴とする請求項４に記載の方法。
【請求項９】
前記システムファンクションの実行によって変更される前記システムオブジェクトは、前記ダミーファンクションによって取り込まれることを特徴とする請求項８に記載の方法。
【請求項１０】
前記出口プログラムは、前記ダミーファンクションによって取り込まれる前記システムオブジェクトのコピーを発生させことを特徴とする請求項９に記載の方法。
【請求項１１】
前記システムオブジェクトのコピーは、ディスクに保存されることを特徴とする請求項１から１０のいずれか１つに記載の方法。
【請求項１２】
前記システムオブジェクトのコピーは、ジャーナリングのためにデータベースシステムにストリームされることを特徴とする請求項１から１１のいずれか１つに記載の方法。
【請求項１３】
前記データベースシステムは、複製システムに組み込まれていることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記複製システムは、前記システムオブジェクトのコピーを１又は複数のローカル又はリモートデータベースに複製することを特徴とする請求項１３に記載の方法。
【請求項１５】
前記システムファンクションによって発生させられるメッセージ又は例外は、待ち行列に取り込まれることを特徴とする請求項１から１４のいずれか１つに記載の方法。
【請求項１６】
前記システムファンクションは、最初にプロセスによって読み出され、前記メッセージ又は例外は前記ダミーファンクションによって前記プロセスに送り返されることを特徴とする請求項１５に記載の方法。
【請求項１７】
前記システムオブジェクトは、１又は複数のプログラムオブジェクト、コンフィギュレーションオブジェクト、待ち行列及び空間／メモリマップオブジェクトのセットであることを特徴とする請求項１から１６のいずれか１つに記載の方法。
【請求項１８】
変更されたシステムオブジェクトは、作成され、変更され、又は削除されているそれらのシステムオブジェクトであることを特徴とする請求項１から１７のいずれか１つに記載の方法。
【請求項１９】
前記システムファンクションは、ＯＳ／４００システムファンクションであることを特徴とする請求項１から１８のいずれか１つに記載の方法。
【請求項２０】
システムオブジェクトに対する変更をジャーナリングする方法であって、
ｉ）システムオブジェクトに対する変更が生じる間にシステムファンクションを実行するステップと、
ｉｉ）前記システムファンクションの実行中にシステムオブジェクトに対する変更をジャーナリングするステップと、含む方法。
【請求項２１】
システムオブジェクトに対する変更は、ジャーナリングコマンドを前記システムファンクションのコードに統合することによってジャーナリングされることを特徴とする請求項２０に記載の方法。
【請求項２２】
システムオブジェクトに対する変更は、出口点を前記システムファンクションと協働させて、前記システムファンクション実行中に出口プログラムを呼び出すことによってジャーナリングされることを特徴とする請求項２０に記載の方法。
【請求項２３】
システムオブジェクトに対する変更をジャーナリングするためのシステムであって、
ｉ）システムファンクションの代わりにダミーファンクションを実行するようになっているプロセッサであって、前記ダミーファンクションは前記システムファンクションを実行し、ジャーナリングのためのシステムファンクション実行から結果として生じるシステムオブジェクトのコピーを発生させるプロセッサと、
ｉｉ）実行中に前記プロセッサが利用するためのメモリと、を含むシステム。
【請求項２４】
前記ダミーファンクションは、複製コーリングネームを有し、前記システムファンクションの実行に取って代わることによって前記システムファンクションを置換することを特徴とする請求項２３に記載のシステム。
【請求項２５】
出口プログラムは、出口点は前記ダミーファンクションと協働し、出口プログラムは前記出口点に登録されていることを特徴とする請求項２３から２４のいずれか１つに記載のシステム。
【請求項２６】
前記ダミーファンクションの動作中に前記出口プログラムは実行されることを特徴とする請求項２５に記載のシステム。
【請求項２７】
前記システムファンクションの実行は前記出口プログラムによって処理されることを特徴とする請求項２６に記載のシステム。
【請求項２８】
前記システムファンクションの実行によって変更される前記システムオブジェクトは、前記出口プログラムによって取り込まれることを特徴とする請求項２７に記載のシステム。
【請求項２９】
前記出口プログラムは、前記出口プログラムによって取り込まれる前記システムオブジェクトのコピーを発生させることを特徴とする請求項２８に記載のシステム。
【請求項３０】
前記システムファンクションの実行は、前記ダミーファンクションによって処理されることを特徴とする請求項２６に記載のシステム。
【請求項３１】
前記システムファンクションの実行によって変更される前記システムオブジェクトは、前記ダミープログラムによって取り込まれることを特徴とする請求項３０に記載のシステム。
【請求項３２】
前記出口プログラムは、前記ダミープログラムによって取り込まれる前記システムオブジェクトのコピーを発生させことを特徴とする請求項３１に記載のシステム。
【請求項３３】
前記システムオブジェクトのコピーは、ディスクに保存されることを特徴とする請求項２３から３２のいずれか１つに記載のシステム。
【請求項３４】
前記システムオブジェクトのコピーは、ジャーナリングのためにデータベースシステムにストリームされることを特徴とする請求項２３から３３のいずれか１つに記載のシステム。
【請求項３５】
前記データベースシステムは、複製システムに組み込まれていることを特徴とする請求項３４に記載のシステム。
【請求項３６】
前記複製システムは、前記システムオブジェクトのコピーを１又は複数のローカル又はリモートデータベースに複製することを特徴とする請求項３５に記載のシステム。
【請求項３７】
前記システムファンクションによって発生させられるメッセージ又は例外は、待ち行列に取り込まれることを特徴とする請求項２３から３６のいずれか１つに記載のシステム。
【請求項３８】
前記システムファンクションは、最初にプロセスによって読み出され、前記メッセージ又は例外は前記ダミーファンクションによって前記プロセスに送り返されることを特徴とする請求項３７に記載のシステム。
【請求項３９】
前記システムオブジェクトは、１又は複数のプログラムオブジェクト、コンフィギュレーションオブジェクト、待ち行列及び空間／メモリマップオブジェクトのセットであることを特徴とする請求項２３から３８のいずれか１つに記載のシステム。
【請求項４０】
変更されたシステムオブジェクトは、作成され、変更され、又は削除されているそれらのシステムオブジェクトであることを特徴とする請求項２３から３９のいずれか１つに記載のシステム。
【請求項４１】
前記プロセッサは、ＯＳ／４００プロセッサであることを特徴とする請求項２３から４０のいずれか１つに記載のシステム。
【請求項４２】
前記プロセッサは、ＯＳ／４００オペレーティングシステムの下で動作することを特徴とする請求項２３から４１のいずれか１つに記載のシステム。
【請求項４３】
請求項１から２２のいずれか１つに記載の方法を成し遂げるためのコンピュータシステム。
【請求項４４】
請求項１から４３のいずれか１に記載の方法又はシステムを成し遂げるためのソフトウェア。
【請求項４５】
請求項４４に記載のソフトウェアを含む記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジャーナリング作成、変更及びシステムオブジェクトの削除のための方法、システム及びソフトウェアに関する。より詳細には、排他的というわけではないが、本発明は、共用又は遠隔システム上でのこれら変更の複製のために、（プログラムオブジェクト、コンフィギュレーションオブジェクト、待ち行列及び空間／メモリマップオブジェクトの含む）汎用ＯＳ／４００システムオブジェクトへの変更をジャーナリングするための方法、システム及びソフトウェアに関する。
【背景技術】
【０００２】
ＩＢＭ  ＯＳ／４００オペレーティングシステムは、統合システム機能を介してデータベース変更のジャーナリングを提供する。このジャーナリング機能は、主として、システムリカバリー、（例えばトランザクション境界を確実にするための）制約コントロール、監査のためにデータベース記録レベル変更を記録することに対して向けられ、複製データベース（リモート又はローカル）に対する変更の再生をサポートする。プログラム及びコンフィギュレーションオブジェクトなどの他のシステムオブジェクトは、データベースジャーナル機能によってサポートされていない。これらの他のシステムオブジェクトに対しては、独立したシステム監査ジャーナルが保守される。システムオブジェクトの作成、削除及び変更は、これらのオブジェクトに関連するアクティビティの監査を提供するという主目的のために監査ジャーナルに記憶され得る。これらのオブジェクトの複製をリモート又はローカル（コピー）に提供しようとする観点では、監査ジャーナルは大きな欠点を有しており、すなわち、
１．監査ジャーナルエントリは、関連するオブジェクトアクティビティが実行された後にのみシステム上に置かれており、他の処理に利用可能である。“あいにく”オブジェクトアクティビティをトラップする方法は存在しない。これにより、関連する監査ジャーナルエントリが一定の監視プロセスによって得られる前に、オブジェクトアクティビティを実行しているプロセスがオブジェクトをロックし、かつ／又は利用する傾向にあるので、別のシステムプロセスによるオブジェクトの追加処理が難しくなる。
２．監査ジャーナルエントリは、“システムワイド”であり、全体のシステム上の全てのオブジェクトに対して１つのジャーナルが存在する。これは、たとえ小さなサブセットのみが複製のために必要とされる場合にもジャーナルエントリの全てを回復するための任意のモニタリングプロセスを必要とする。
３．監査ジャーナルエントリは、別のシステム（ローカルコピー）で関連するオブジェクトアクティビティを実行するための情報を十分には含んでいない。これは、任意のモニタリングプロセスが、関連するオブジェクトを配置してロックすることを試行しなければならず、試行時には、オブジェクトで実行されている別の変更よりも前にコピーすることを必要とする。コピーがオブジェクトの正確なステートを構成しない場合、このステートは“失われ”、複製プロセスは正確なオブジェクトステートをリモート（又はローカルコピー）システムに提供できない。
４．データベースジャーナルを用いて監査ジャーナルエントリを直列化する方法だけが、ジャーナルエントリタイムスタンプを用いて、監査ジャーナルエントリを関連するデータベースジャーナルエントリと組み合わせることを試行することになる。これは、複製のためのエントリを処理する際に大きなオーバーヘッドを生じる。加えて、システムがマルチプロセッサを有する場合、独立したジャーナルに含まれるタイムスタンプは動作の正確なシーケンスを厳密には反映しない。
【０００３】
これらの欠点に鑑みて、監査ジャーナルを用いて関連するデータベース変更とシステムオブジェクト変更を同期させるフールプルーフ法が利用されてきている。実際のデータベース記録レベル変更を取り込むのに用いられるのと同じデータベースジャーナルを用いてシステムオブジェクトのコンテンツ及びステートを取り込む方法は、データベース及びオブジェクト変更がリモート（又はローカルコピー）システムに正確に複製されることを確実にするだろう。
【０００４】
ＯＳ／４００システムがコマンドの標準（限定）セットを用いて、作成され、変更され、削除されてから、ステート情報を得ること（又はオブジェクトのコピーを作ること）に対する最も明白な解決策は、置換コマンドを提供すること又は出口プログラムコマンドを実行することである。これらの両アプローチには大きな欠点が存在する。
【０００５】
置換システムコマンドアプローチは、以下の欠点を有している。
１．プログラムを処理する関連のＯＳ／４００コマンドへのシステムコマンドパラメータインターフェースは、ＯＳ／４００の各リリースを用いて変更できる（変更できることが多い）。これは、複製ソフトウェアとＯＳ／４００の所定のリリースの間に大きな従属性を生じさせる。
２．置換される必要のあるコマンドの数と複雑さは大きいものである（幾つかはパラメータの入れ子のリストであり１５０コマンドを超える）。各コマンドは、各パラメータが正確に（例えば実情ではオリジナルのＯＳ／４００コマンドによって）処理されることを確実にするための大きな努力に加えてそれは自己置換処理プログラムであることを必要とする。
【０００６】
コマンド出口プログラムアプローチは、以下の欠点を有している。
１．ＯＳ／４００によって提供される２つの登録された出口点のどちらによっても、関連する出口プログラムはコマンドが実行された後に動作され得ない。それゆえ、オブジェクト作成、変更、削除コマンドの場合には、出口プログラムは結果として生じるオブジェクトを処理し得ない。
２．また、ＱＩＢＭ＿ＱＣＡ＿ＣＨＧ＿ＣＯＭＭＡＮＤ出口は、登録され得る出口プログラムの数に関して制限される。これにより、一定の顧客は、他のソフトウェアが出口を用いている場合にこの出口を利用できなくなる。
【０００７】
上記欠点を克服するシステムオブジェクトをジャーナリングするための方法、システム及びソフトウェアを提供し、又は少なくとも公衆に有効な選択を提供することが本発明の目的である。
【発明の開示】
【課題を解決するための手段】
【０００８】
本発明の第１の特徴によると、システムオブジェクトに対するジャーナル変更の方法であって、
ｉ）システムファンクションをダミーファンクションに置換するステップと、
ｉｉ）ダミーファンクションの動作の下、前記システムファンクションを実行するステップと、
ｉｉｉ）ジャーナリングのために前記システムファンクションの実行によって変更されるシステムオブジェクトのコピーを発生するステップと、
ｉｖ）前記ダミーファンクションの実行を完了するステップと、を含む方法が提供される。
【０００９】
ダミーファンクションは、複製コーリングネームを有することによってシステムファンクションの代替となり、システムファンクションの実行に取って代わる。
【００１０】
出口点はダミーファンクションと協働し、出口プログラムは出口点に登録され、ダミーファンクションの動作中に出口プログラムが実行されるようになっている。
【００１１】
出口プログラムは、システムファンクションの実行を処理し、前記実行中に生じるシステムオブジェクトに対する変更を取り込む。変更のコピーは、出口プログラムによって発生させられ、ジャーナリングのためにディスクに保存されるか又はデータベースシステムに直接ストリームされ得る。
【００１２】
代替的には、出口プログラムは、システムファンクションのためのコマンドストリングを検索し、これをダミーファンクションに送り返すのに用いられる。その後、ダミーファンクションは、システムファンクションの実行を処理し、前記実行中に生じるシステムオブジェクトに対する変更を取り込む。前記場合に、変更のコピーはダミーファンクションによって発生させられる。
【００１３】
望ましくは、ダミーファンクションは、置換コマンド及び置換コマンド処理プログラムを含んでいる。
【００１４】
データベースシステムは、複製システムを含み、他のローカル又はリモートデータベースに対する変更を複製し得る。
【００１５】
システムファンクションによって発生させられるメッセージ又は例外は待ち行列に取り込まれ得る。
【００１６】
ダミーファンクションは、システムファンクションによって発生させられる任意のメッセージ又は例外を、システムファンクションを呼び出したプロセスに送り返すことによって実行を完了し得る。
【００１７】
システムオブジェクトは、プログラムオブジェクト、コンフィギュレーションオブジェクト、待ち行列及び空間／メモリマップオブジェクトを含んでいる。
【００１８】
システムオブジェクトに対する変更は、システムオブジェクトの作成、変更及び削除を含んでいる。
【００１９】
望ましくは、システムファンクションは、ＯＳ／４００プロセッサ上に提供されるものである。
【００２０】
本発明のさらなる特徴によると、システムオブジェクトに対するジャーナリング変更の方法であって、
ｉ）システムオブジェクトに対する変更が生じる間にシステムファンクションを実行するステップと、
ｉｉ）システムファンクションの実行中にシステムオブジェクトに対する変更をジャーナリングするステップと、を含む方法が提供される。
【００２１】
システムファンクションの実行中にシステムオブジェクトに対する変更がジャーナリングされ得る１つの方法は、ジャーナリングコマンドをシステムファンクションのコードに統合することによる。
【００２２】
システムファンクションの実行中にシステムオブジェクトに対する変更がジャーナリングされ得る別の方法は、システムファンクションの実行中に、出口プログラムがシステムオブジェクトをジャーナリングするために呼び出され得るように、出口点をシステムファンクションと協働させることによる。
【００２３】
本発明のさらなる特徴によると、システムオブジェクトに対する変更をジャーナリングするためのシステムであって、
ｉ）システムファンクションの代わりにダミーファンクションを実行するようになっているプロセッサであって、ジャーナリングのために、前記ダミーファンクションは前記システムファンクションを実行し、システムファンクションの実行から生じるシステムオブジェクトのコピーを発生させるプロセッサと、
ｉｉ）実行中に前記プロセッサが利用するためのメモリと、を含むシステムが提供される。
【００２４】
望ましくは、プロセッサはＡＳ／４００プロセッサである。
【００２５】
本発明のさらなる特徴によると、本発明の前記第１及び第２の特徴に係る方法を成し遂げるためのソフトウェアが提供される。
【００２６】
ここで、本発明は、添付図面を参照して例を通して説明される。
【発明を実施するための最良の形態】
【００２７】
以下の記載は、ＯＳ／４００オペレーティングシステムの下で動作するシステムオブジェクトジャーナリング方法を説明する。前記方法は、適当な変更を伴って他のシステムに適用可能であることを認識すべきである。
【００２８】
前記方法は、所望の結果を達成するために組み合わせのアプローチを用いており、任意の単一のアプローチに関連する欠点を大きく減少させる。
【００２９】
前記方法のステップの概要は以下の通りである。
【００３０】
ｉ．オブジェクト変更と協働する各ＯＳ／４００コマンドの正確な複製が新たなライブラリになされる。
ｉｉ．各複製コマンドのコマンド処理プログラムは、コマンドパラメータのいずれかを処理する必要がない（それゆえ、コマンドパラメータ変更によって影響されない）通常の供給業者の提供するプログラムに変更される。
ｉｉｉ．ＱＩＢＭ＿ＱＣＡ＿ＲＴＶ＿ＣＯＭＭＡＮＤ出口プログラムは、新たなライブラリの各（複製）コマンドに登録される。これは、出口プログラムは協働するコマンド処理プログラム（例えばステップｉｉで特定されるプログラム）の前に呼び出されることを意味する。
ｉｖ．新たなコマンドライブラリは、上記の通常のＯＳ／４００システムライブラリ（ＱＳＹＳ）のシステムライブラリサーチリストに配置される。これにより、通常のシステムユーザ及びアプリケーションプログラムは、ＯＳ／４００システムライブラリ（ＱＳＹＳ）におけるそれらの複製よりもむしろ新たなライブラリからコマンドを起動することができる。
ｖ．出口プログラムは、（ＯＳ／４００システムライブラリの）オリジナル４００／コマンドを用いて特定のコマンドを実行するのに渡されたコマンドストリングを用いる。出口プログラムは、その後、ＯＳ／４００コマンドが実行された後に、（オブジェクト変更を取り込むための）それ自身の処理を実現し得る。ＯＳ／４００コマンドによって出口プログラムへ送信される任意のメッセージは、それらがオリジナル・リクエスタ（例えばコマンドを提供したユーザ及び／又はアプリケーションプログラム）に“送り返される”ように一時待ち行列に記憶される。
ｖｉ．その後、置換（複製）コマンド処理プログラムは、（出口プログラムが終了した時に）ＯＳ／４００によって呼び出される。共通の（置換）コマンド処理プログラムは、（ステップｖに置かれた）一時待ち行列に含まれる任意のメッセージを単純に送り返す。
【００３１】
代替的な実施例において、方法ステップｖ及びｖｉは、以下に置換えることができる。
ｖ．出口プログラムは、コマンドストリングをデータ待ち行列を用いて置換（複製）コマンド処理プログラムに渡す。
ｖｉ．置換（複製）コマンド処理プログラムは、（ＯＳ／４００システムライブラリの）オリジナルＯＳ／４００コマンドを用いて特定のコマンドを実行する。その後、（置換）コマンド処理プログラムは、ＯＳ／４００コマンドが実行された後に（オブジェクト変更を取り込むために）それ自身の処理を実現することができる。ＯＳ／４００コマンドによって（置換）コマンド処理プログラムに送信される任意のメッセージは、一時待ち行列に記憶され、オリジナル・リクエスタに“送り返される”。
【００３２】
前記方法は、各複製されたコマンドに対するカスタム置換コマンド処理プログラムの必要性を排除し、単一の共通のプログラムが各コマンドに対して用いられる。出口プログラムを付加するための複製バージョンの利用により、出口プログラム（又は代替的な実施例おける置換コマンド処理プログラム）は、協働するオブジェクトが作成／変更／削除される前後の両方において複製アクティビティを実現する実際のシステムコマンドの処理を制御できる。
【００３３】
図１に移ると、本発明は、リモートジャーナルに対する複製のための主システムにおけるシステムオブジェクトのジャーナリングに関連して説明され、システムオブジェクトに対する変更はユーザアプリケーションによるＯＳ／４００クラスオブジェクトの作成であり、出口プログラムは実際のシステムコマンドの処理を制御するのに用いられる。
【００３４】
ユーザアプリケーション１は、オペレーティングシステムコマンドライブラリ５（ＱＳＹＳ）の上位の複製コマンドライブラリ４（ＭＡＸＳＹＳ）を配置３するシステムライブラリサーチリスト２を用いて実行する。
【００３５】
これにより、認定されていないＣＲＴＣＬＳ（作成クラス記述）コマンド６を実行時にコマンドのＭＡＸＳＹＳライブラリバージョン４に設定７することができる。
【００３６】
複製プログラムＭＸＩＩＣＡＲＴＥＴ８は、ＣＲＴＣＬＳコマンドのＭＡＸＳＹＳバージョンに対して（システム定義されたＱＩＢＭ＿ＱＣＡ＿ＲＴＶ＿ＣＯＭＭＡＮＳ出口点９を用いる）出口プログラムとして登録される。これにより、ＭＸＩＩＣＡＲＴＥＴプログラム８は、コマンドのコマンド処理プログラム１１が呼び出される前に呼び出し１０され得る。出口点インターフェースは、ユーザアプリケーションによって特定されるフルコマンドストリングテキストを出口プログラム８に渡す。
【００３７】
出口プログラム８は、協働するオブジェクトが複製のために定義されているかどうかを決定するために任意の必要な前処理を実行する。本システムバージョンの特定のコマンド１２（この場合ＣＲＴＣＬＳコマンド）は、ＭＸＩＩＣＡＲＴＥＴプログラム８によって実行１３され、システムコマンドによって発生１４させられる任意のメッセージは、一時待ち行列１５に記憶される。
【００３８】
割り当てられたオブジェクト１６（本実施例における新たなクラス記述）は、ＭＸＩＩＣＡＲＴＥＴプログラムによって一時保存ファイルに保存１７される。
【００３９】
一時保存ファイルは、その後、協働する複製コンフィギュレーションによって用いられるジャーナル２０（例えば、複製のために定義されるデータベースファイル用に用いられるのと同じジャーナル）にジャーナリングされる、一時的なＯＳ／４００統合ファイルシステム（ＩＦＳ）ストリームファイル１９にコピー１８される。これは、保存イメージをジャーナルに有効に記憶する。
【００４０】
発生させられたジャーナルデータは、その後、標準ＯＳ／４００リモートジャーナルサポートを用いて複製のためにリモートシステムに送信２１される。
【００４１】
ＭＸＩＩＣＡＲＴＥＴプログラムは、その後、その呼ぶ側（caller）９（システム出口点）に制御を返し、その後、（ＭＡＸＳＹＳライブラリのＣＲＴＣＬＳコマンドに対して）コマンド処理プログラムの呼び出し２２を行う。ＭＡＸＳＹＳライブラリの各コマンドに対しては、コマンド処理プログラムはＭＸＣＰＰＮＵＬＬ１０である。
【００４２】
ＭＸＣＰＰＮＵＬＬプログラム１０は、コマンドの標準システムバージョン１２によって発生させられる、（ＭＸＩＩＣＡＲＴＥＴプログラムによって）一時的待ち行列１５に記憶されたメッセージを検索２３し、それらをユーザアプリケーション１に送信２４する。これにより、ユーザアプリケーション１は、たとえそれがコマンドのシステムバージョンを直接呼び出したとしてもメッセージを正確に処理できる。
【００４３】
図２を参照すると、本発明は、リモートジャーナルに対する複製のために主システム上のシステムオブジェクトのジャーナリングに関して説明され、システムオブジェクトに対する変更は、ユーザアプリケーションによるＯＳ／４００クラスオブジェクトの作成であり、置換コマンド処理プログラムは、実際のシステムコマンドの処理を制御するのに用いられる。
【００４４】
ユーザアプリケーション２５は、オペレーティングシステムコマンドライブラリ２９（ＱＳＵＳ）の上位の複製コマンドライブラリ２８（ＭＡＸＳＹＳ）を配置２７するシステムライブラリサーチリスト２６を用いて実行する。
【００４５】
これにより、認定されていないＣＲＴＣＬＳ（作成クラス記述）コマンド３０を実行時にコマンドのＭＡＸＳＹＳライブラリバージョン２８に設定３１できる。
【００４６】
複製プログラムＭＸＩＩＣＡＲＴＥＴ３２は、ＣＲＴＣＬＳコマンドのＭＡＸＳＹＳバージョンに対して（システム定義されたＱＩＢＭ＿ＱＣＡ＿ＲＴＶ＿ＣＯＭＭＡＮＤ出口点３３を用いて）出口プログラムとして登録される。これにより、ＭＸＩＩＣＡＲＴＥＴプログラム３２は、コマンドのコマンド処理プログラム３５が呼び出される前に呼び出し３４され得る。出口点インターフェースは、ユーザアプリケーションによって特定される全コマンドストリングテキストを出口プログラム３２に渡す。
【００４７】
出口プログラムは、（ＭＡＸＳＹＳライブラリのＣＲＴＣＬＳコマンドに向けて）全コマンドストリングをデータ待ち行列３６からコマンド処理プログラムに渡す。ＭＡＸＳＹＳライブラリの各コマンドに対し、コマンド処理プログラムは、ＭＸＣＰＰＮＵＬＬ３５である。
【００４８】
ＭＸＩＩＣＡＲＴＥＴプログラム３２は、その後、その呼ぶ側３３（システム出口点）に制御を返し、ＭＸＣＰＰＮＵＬＬ３５プログラムは実行される。
【００４９】
ＭＸＣＰＰＮＵＬＬ３５プログラムは、協働するオブジェクトが複製のために定義されているかどうかを決定するために任意の必要な前処理を実行する。全コマンドストリングは、データ待ち行列３６から抽出され、本システムバージョンの特定のコマンド３７（この場合ＣＲＴＣＬＳコマンド）は、ＭＸＣＰＰＮＵＬＬプログラム３６によって実行され、システムコマンドによって発生２９させられる任意のメッセージは一時待ち行列４０に記憶される。
【００５０】
割り当てられるオブジェクト４１（本実施例の新たなクラス記述）は、ＭＸＣＰＰＮＵＬＬプログラム３５によって一時保存ファイルに保存４２される。
【００５１】
一時保存ファイルは、その後、協働する複製コンフィギュレーションによって用いられるジャーナル４５（例えば、複製のために定義されるデータベースファイルに利用されるのと同じジャーナル）にジャーナリングされる、一時的ＯＳ／４００統合ファイルシステム（ＩＦＳ）ストリームファイル４４にコピー４３される。これは、有効に保存イメージをジャーナルに記憶する。
【００５２】
発生したジャーナルデータは、その後、標準ＯＳ／４００リモートジャーナルサポートを用いて複製のためにリモートシステムに送信４６される。
【００５３】
ＭＸＣＰＰＮＵＬＬプログラム３５は、コマンドの標準システムバージョン３７によって発生させられる一時待ち行列４０に記憶されるメッセージを検索４７し、それらをユーザアプリケーション２５に送信４８する。これにより、ユーザアプリケーション２５は、それがコマンドのシステムバージョンを直接呼び出したとしても正確にメッセージを処理することができる。
【００５４】
定義
クラス（クラス記述）
ジョブの実行属性を識別するオブジェクト
コマンド
システムのファンクションをリクエストするのに用いられるステートメント。コマンドは、コマンド名略記法により構成され、リクエストされたファンクション及びそのパラメータを識別する。
コマンド処理プログラム（ＣＰＰ）
コマンドを処理するプログラム。このプログラムは幾つかの信頼性チェックを実行し、リクエストされたファンクションが実行されるようにコマンドを処理する。
出口プログラム
１．システムファンクションの動作中における所定の制御であるユーザ記述プログラム。
２．制御が出口点から渡されるプログラム。
保存ファイル
補助記憶装置に割り当てられたファイルは、（ディスケット又はテープを必要とすることなく）ディスク上の保存されたデータを記憶するのに用いられ得る。
システム監査ジャーナル
発生するセキュリティ関連イベントの記録を保持するシステムによって用いられるジャーナル。
【００５５】
本発明がそれについての実施例の記載によって例証され、その実施例がかなり詳細に記載されている一方で、出願人は添付した特許請求の範囲の範囲を前記詳細に限定し、又は任意の方法で制限することを意図していない。付加的な利点及び変更は、当業者にとっては直ちに明らかである。それゆえ、その広範な特徴の本発明は、示され説明されている装置、方法及び実例を代表とする特定の詳細に限定されるものではない。従って、出願人の一般的な発明概念の意図及び範囲から逸脱することなく、前記詳細から発展がなされ得る。
【図面の簡単な説明】
【００５６】
【図１】ＯＳ／４００クラスオブジェクトに関するオブジェクトジャーナリングの例を示す。
【図２】本発明の択一的な実施例を示す。
【図１】
2006503372.tif 000003
【図２】
2006503372.tif 000004
【国際調査報告】
2006503372.tif 000005
2006503372.tif 000006