JP2006503372A - システムオブジェクトをジャーナリングする方法、システム及びソフトウェア - Google Patents

システムオブジェクトをジャーナリングする方法、システム及びソフトウェア Download PDF

Info

Publication number
JP2006503372A
JP2006503372A JP2004545093A JP2004545093A JP2006503372A JP 2006503372 A JP2006503372 A JP 2006503372A JP 2004545093 A JP2004545093 A JP 2004545093A JP 2004545093 A JP2004545093 A JP 2004545093A JP 2006503372 A JP2006503372 A JP 2006503372A
Authority
JP
Japan
Prior art keywords
function
objects
program
execution
dummy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004545093A
Other languages
English (en)
Other versions
JP2006503372A5 (ja
Inventor
ジェイムズ スコット ターベル
ディヴィッド ジョン ガーヴェイ
Original Assignee
マキシマム アヴェイラビリティ リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by マキシマム アヴェイラビリティ リミテッド filed Critical マキシマム アヴェイラビリティ リミテッド
Publication of JP2006503372A publication Critical patent/JP2006503372A/ja
Publication of JP2006503372A5 publication Critical patent/JP2006503372A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/855Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

システムオブジェクトに対する変更をジャーナリングする方法である。ダミーファンクション(6)は、システムファンクション(12)と置換される。システムファンクション(12)は、ダミーファンクション(6)の動作の下で実行(13)される。システムファンクションの実行によって変更されるシステムオブジェクト(16)のコピーが、ジャーナリング(20)のために発生(17)させられる。ダミーファンクション(6)の実行は、その後、完了される。望ましくは、システムオブジェクトはOS/400システムオブジェクトである。システムオブジェクトは、プログラムオブジェクト、コンフィギュレーションオブジェクト、待ち行列又は空間/メモリマップオブジェクトであり得る。システムオブジェクトのコピーは、別のシステム上での複製のためにジャーナリングされ得る。また、システムオブジェクトに対する変更をジャーナリングするためのシステム及びソフトウェアが開示される。

Description

本発明は、ジャーナリング作成、変更及びシステムオブジェクトの削除のための方法、システム及びソフトウェアに関する。より詳細には、排他的というわけではないが、本発明は、共用又は遠隔システム上でのこれら変更の複製のために、(プログラムオブジェクト、コンフィギュレーションオブジェクト、待ち行列及び空間/メモリマップオブジェクトの含む)汎用OS/400システムオブジェクトへの変更をジャーナリングするための方法、システム及びソフトウェアに関する。
IBM OS/400オペレーティングシステムは、統合システム機能を介してデータベース変更のジャーナリングを提供する。このジャーナリング機能は、主として、システムリカバリー、(例えばトランザクション境界を確実にするための)制約コントロール、監査のためにデータベース記録レベル変更を記録することに対して向けられ、複製データベース(リモート又はローカル)に対する変更の再生をサポートする。プログラム及びコンフィギュレーションオブジェクトなどの他のシステムオブジェクトは、データベースジャーナル機能によってサポートされていない。これらの他のシステムオブジェクトに対しては、独立したシステム監査ジャーナルが保守される。システムオブジェクトの作成、削除及び変更は、これらのオブジェクトに関連するアクティビティの監査を提供するという主目的のために監査ジャーナルに記憶され得る。これらのオブジェクトの複製をリモート又はローカル(コピー)に提供しようとする観点では、監査ジャーナルは大きな欠点を有しており、すなわち、
1.監査ジャーナルエントリは、関連するオブジェクトアクティビティが実行された後にのみシステム上に置かれており、他の処理に利用可能である。“あいにく”オブジェクトアクティビティをトラップする方法は存在しない。これにより、関連する監査ジャーナルエントリが一定の監視プロセスによって得られる前に、オブジェクトアクティビティを実行しているプロセスがオブジェクトをロックし、かつ/又は利用する傾向にあるので、別のシステムプロセスによるオブジェクトの追加処理が難しくなる。
2.監査ジャーナルエントリは、“システムワイド”であり、全体のシステム上の全てのオブジェクトに対して1つのジャーナルが存在する。これは、たとえ小さなサブセットのみが複製のために必要とされる場合にもジャーナルエントリの全てを回復するための任意のモニタリングプロセスを必要とする。
3.監査ジャーナルエントリは、別のシステム(ローカルコピー)で関連するオブジェクトアクティビティを実行するための情報を十分には含んでいない。これは、任意のモニタリングプロセスが、関連するオブジェクトを配置してロックすることを試行しなければならず、試行時には、オブジェクトで実行されている別の変更よりも前にコピーすることを必要とする。コピーがオブジェクトの正確なステートを構成しない場合、このステートは“失われ”、複製プロセスは正確なオブジェクトステートをリモート(又はローカルコピー)システムに提供できない。
4.データベースジャーナルを用いて監査ジャーナルエントリを直列化する方法だけが、ジャーナルエントリタイムスタンプを用いて、監査ジャーナルエントリを関連するデータベースジャーナルエントリと組み合わせることを試行することになる。これは、複製のためのエントリを処理する際に大きなオーバーヘッドを生じる。加えて、システムがマルチプロセッサを有する場合、独立したジャーナルに含まれるタイムスタンプは動作の正確なシーケンスを厳密には反映しない。
これらの欠点に鑑みて、監査ジャーナルを用いて関連するデータベース変更とシステムオブジェクト変更を同期させるフールプルーフ法が利用されてきている。実際のデータベース記録レベル変更を取り込むのに用いられるのと同じデータベースジャーナルを用いてシステムオブジェクトのコンテンツ及びステートを取り込む方法は、データベース及びオブジェクト変更がリモート(又はローカルコピー)システムに正確に複製されることを確実にするだろう。
OS/400システムがコマンドの標準(限定)セットを用いて、作成され、変更され、削除されてから、ステート情報を得ること(又はオブジェクトのコピーを作ること)に対する最も明白な解決策は、置換コマンドを提供すること又は出口プログラムコマンドを実行することである。これらの両アプローチには大きな欠点が存在する。
置換システムコマンドアプローチは、以下の欠点を有している。
1.プログラムを処理する関連のOS/400コマンドへのシステムコマンドパラメータインターフェースは、OS/400の各リリースを用いて変更できる(変更できることが多い)。これは、複製ソフトウェアとOS/400の所定のリリースの間に大きな従属性を生じさせる。
2.置換される必要のあるコマンドの数と複雑さは大きいものである(幾つかはパラメータの入れ子のリストであり150コマンドを超える)。各コマンドは、各パラメータが正確に(例えば実情ではオリジナルのOS/400コマンドによって)処理されることを確実にするための大きな努力に加えてそれは自己置換処理プログラムであることを必要とする。
コマンド出口プログラムアプローチは、以下の欠点を有している。
1.OS/400によって提供される2つの登録された出口点のどちらによっても、関連する出口プログラムはコマンドが実行された後に動作され得ない。それゆえ、オブジェクト作成、変更、削除コマンドの場合には、出口プログラムは結果として生じるオブジェクトを処理し得ない。
2.また、QIBM_QCA_CHG_COMMAND出口は、登録され得る出口プログラムの数に関して制限される。これにより、一定の顧客は、他のソフトウェアが出口を用いている場合にこの出口を利用できなくなる。
上記欠点を克服するシステムオブジェクトをジャーナリングするための方法、システム及びソフトウェアを提供し、又は少なくとも公衆に有効な選択を提供することが本発明の目的である。
本発明の第1の特徴によると、システムオブジェクトに対するジャーナル変更の方法であって、
i)システムファンクションをダミーファンクションに置換するステップと、
ii)ダミーファンクションの動作の下、前記システムファンクションを実行するステップと、
iii)ジャーナリングのために前記システムファンクションの実行によって変更されるシステムオブジェクトのコピーを発生するステップと、
iv)前記ダミーファンクションの実行を完了するステップと、を含む方法が提供される。
ダミーファンクションは、複製コーリングネームを有することによってシステムファンクションの代替となり、システムファンクションの実行に取って代わる。
出口点はダミーファンクションと協働し、出口プログラムは出口点に登録され、ダミーファンクションの動作中に出口プログラムが実行されるようになっている。
出口プログラムは、システムファンクションの実行を処理し、前記実行中に生じるシステムオブジェクトに対する変更を取り込む。変更のコピーは、出口プログラムによって発生させられ、ジャーナリングのためにディスクに保存されるか又はデータベースシステムに直接ストリームされ得る。
代替的には、出口プログラムは、システムファンクションのためのコマンドストリングを検索し、これをダミーファンクションに送り返すのに用いられる。その後、ダミーファンクションは、システムファンクションの実行を処理し、前記実行中に生じるシステムオブジェクトに対する変更を取り込む。前記場合に、変更のコピーはダミーファンクションによって発生させられる。
望ましくは、ダミーファンクションは、置換コマンド及び置換コマンド処理プログラムを含んでいる。
データベースシステムは、複製システムを含み、他のローカル又はリモートデータベースに対する変更を複製し得る。
システムファンクションによって発生させられるメッセージ又は例外は待ち行列に取り込まれ得る。
ダミーファンクションは、システムファンクションによって発生させられる任意のメッセージ又は例外を、システムファンクションを呼び出したプロセスに送り返すことによって実行を完了し得る。
システムオブジェクトは、プログラムオブジェクト、コンフィギュレーションオブジェクト、待ち行列及び空間/メモリマップオブジェクトを含んでいる。
システムオブジェクトに対する変更は、システムオブジェクトの作成、変更及び削除を含んでいる。
望ましくは、システムファンクションは、OS/400プロセッサ上に提供されるものである。
本発明のさらなる特徴によると、システムオブジェクトに対するジャーナリング変更の方法であって、
i)システムオブジェクトに対する変更が生じる間にシステムファンクションを実行するステップと、
ii)システムファンクションの実行中にシステムオブジェクトに対する変更をジャーナリングするステップと、を含む方法が提供される。
システムファンクションの実行中にシステムオブジェクトに対する変更がジャーナリングされ得る1つの方法は、ジャーナリングコマンドをシステムファンクションのコードに統合することによる。
システムファンクションの実行中にシステムオブジェクトに対する変更がジャーナリングされ得る別の方法は、システムファンクションの実行中に、出口プログラムがシステムオブジェクトをジャーナリングするために呼び出され得るように、出口点をシステムファンクションと協働させることによる。
本発明のさらなる特徴によると、システムオブジェクトに対する変更をジャーナリングするためのシステムであって、
i)システムファンクションの代わりにダミーファンクションを実行するようになっているプロセッサであって、ジャーナリングのために、前記ダミーファンクションは前記システムファンクションを実行し、システムファンクションの実行から生じるシステムオブジェクトのコピーを発生させるプロセッサと、
ii)実行中に前記プロセッサが利用するためのメモリと、を含むシステムが提供される。
望ましくは、プロセッサはAS/400プロセッサである。
本発明のさらなる特徴によると、本発明の前記第1及び第2の特徴に係る方法を成し遂げるためのソフトウェアが提供される。
ここで、本発明は、添付図面を参照して例を通して説明される。
以下の記載は、OS/400オペレーティングシステムの下で動作するシステムオブジェクトジャーナリング方法を説明する。前記方法は、適当な変更を伴って他のシステムに適用可能であることを認識すべきである。
前記方法は、所望の結果を達成するために組み合わせのアプローチを用いており、任意の単一のアプローチに関連する欠点を大きく減少させる。
前記方法のステップの概要は以下の通りである。
i.オブジェクト変更と協働する各OS/400コマンドの正確な複製が新たなライブラリになされる。
ii.各複製コマンドのコマンド処理プログラムは、コマンドパラメータのいずれかを処理する必要がない(それゆえ、コマンドパラメータ変更によって影響されない)通常の供給業者の提供するプログラムに変更される。
iii.QIBM_QCA_RTV_COMMAND出口プログラムは、新たなライブラリの各(複製)コマンドに登録される。これは、出口プログラムは協働するコマンド処理プログラム(例えばステップiiで特定されるプログラム)の前に呼び出されることを意味する。
iv.新たなコマンドライブラリは、上記の通常のOS/400システムライブラリ(QSYS)のシステムライブラリサーチリストに配置される。これにより、通常のシステムユーザ及びアプリケーションプログラムは、OS/400システムライブラリ(QSYS)におけるそれらの複製よりもむしろ新たなライブラリからコマンドを起動することができる。
v.出口プログラムは、(OS/400システムライブラリの)オリジナル400/コマンドを用いて特定のコマンドを実行するのに渡されたコマンドストリングを用いる。出口プログラムは、その後、OS/400コマンドが実行された後に、(オブジェクト変更を取り込むための)それ自身の処理を実現し得る。OS/400コマンドによって出口プログラムへ送信される任意のメッセージは、それらがオリジナル・リクエスタ(例えばコマンドを提供したユーザ及び/又はアプリケーションプログラム)に“送り返される”ように一時待ち行列に記憶される。
vi.その後、置換(複製)コマンド処理プログラムは、(出口プログラムが終了した時に)OS/400によって呼び出される。共通の(置換)コマンド処理プログラムは、(ステップvに置かれた)一時待ち行列に含まれる任意のメッセージを単純に送り返す。
代替的な実施例において、方法ステップv及びviは、以下に置換えることができる。
v.出口プログラムは、コマンドストリングをデータ待ち行列を用いて置換(複製)コマンド処理プログラムに渡す。
vi.置換(複製)コマンド処理プログラムは、(OS/400システムライブラリの)オリジナルOS/400コマンドを用いて特定のコマンドを実行する。その後、(置換)コマンド処理プログラムは、OS/400コマンドが実行された後に(オブジェクト変更を取り込むために)それ自身の処理を実現することができる。OS/400コマンドによって(置換)コマンド処理プログラムに送信される任意のメッセージは、一時待ち行列に記憶され、オリジナル・リクエスタに“送り返される”。
前記方法は、各複製されたコマンドに対するカスタム置換コマンド処理プログラムの必要性を排除し、単一の共通のプログラムが各コマンドに対して用いられる。出口プログラムを付加するための複製バージョンの利用により、出口プログラム(又は代替的な実施例おける置換コマンド処理プログラム)は、協働するオブジェクトが作成/変更/削除される前後の両方において複製アクティビティを実現する実際のシステムコマンドの処理を制御できる。
図1に移ると、本発明は、リモートジャーナルに対する複製のための主システムにおけるシステムオブジェクトのジャーナリングに関連して説明され、システムオブジェクトに対する変更はユーザアプリケーションによるOS/400クラスオブジェクトの作成であり、出口プログラムは実際のシステムコマンドの処理を制御するのに用いられる。
ユーザアプリケーション1は、オペレーティングシステムコマンドライブラリ5(QSYS)の上位の複製コマンドライブラリ4(MAXSYS)を配置3するシステムライブラリサーチリスト2を用いて実行する。
これにより、認定されていないCRTCLS(作成クラス記述)コマンド6を実行時にコマンドのMAXSYSライブラリバージョン4に設定7することができる。
複製プログラムMXIICARTET8は、CRTCLSコマンドのMAXSYSバージョンに対して(システム定義されたQIBM_QCA_RTV_COMMANS出口点9を用いる)出口プログラムとして登録される。これにより、MXIICARTETプログラム8は、コマンドのコマンド処理プログラム11が呼び出される前に呼び出し10され得る。出口点インターフェースは、ユーザアプリケーションによって特定されるフルコマンドストリングテキストを出口プログラム8に渡す。
出口プログラム8は、協働するオブジェクトが複製のために定義されているかどうかを決定するために任意の必要な前処理を実行する。本システムバージョンの特定のコマンド12(この場合CRTCLSコマンド)は、MXIICARTETプログラム8によって実行13され、システムコマンドによって発生14させられる任意のメッセージは、一時待ち行列15に記憶される。
割り当てられたオブジェクト16(本実施例における新たなクラス記述)は、MXIICARTETプログラムによって一時保存ファイルに保存17される。
一時保存ファイルは、その後、協働する複製コンフィギュレーションによって用いられるジャーナル20(例えば、複製のために定義されるデータベースファイル用に用いられるのと同じジャーナル)にジャーナリングされる、一時的なOS/400統合ファイルシステム(IFS)ストリームファイル19にコピー18される。これは、保存イメージをジャーナルに有効に記憶する。
発生させられたジャーナルデータは、その後、標準OS/400リモートジャーナルサポートを用いて複製のためにリモートシステムに送信21される。
MXIICARTETプログラムは、その後、その呼ぶ側(caller)9(システム出口点)に制御を返し、その後、(MAXSYSライブラリのCRTCLSコマンドに対して)コマンド処理プログラムの呼び出し22を行う。MAXSYSライブラリの各コマンドに対しては、コマンド処理プログラムはMXCPPNULL10である。
MXCPPNULLプログラム10は、コマンドの標準システムバージョン12によって発生させられる、(MXIICARTETプログラムによって)一時的待ち行列15に記憶されたメッセージを検索23し、それらをユーザアプリケーション1に送信24する。これにより、ユーザアプリケーション1は、たとえそれがコマンドのシステムバージョンを直接呼び出したとしてもメッセージを正確に処理できる。
図2を参照すると、本発明は、リモートジャーナルに対する複製のために主システム上のシステムオブジェクトのジャーナリングに関して説明され、システムオブジェクトに対する変更は、ユーザアプリケーションによるOS/400クラスオブジェクトの作成であり、置換コマンド処理プログラムは、実際のシステムコマンドの処理を制御するのに用いられる。
ユーザアプリケーション25は、オペレーティングシステムコマンドライブラリ29(QSUS)の上位の複製コマンドライブラリ28(MAXSYS)を配置27するシステムライブラリサーチリスト26を用いて実行する。
これにより、認定されていないCRTCLS(作成クラス記述)コマンド30を実行時にコマンドのMAXSYSライブラリバージョン28に設定31できる。
複製プログラムMXIICARTET32は、CRTCLSコマンドのMAXSYSバージョンに対して(システム定義されたQIBM_QCA_RTV_COMMAND出口点33を用いて)出口プログラムとして登録される。これにより、MXIICARTETプログラム32は、コマンドのコマンド処理プログラム35が呼び出される前に呼び出し34され得る。出口点インターフェースは、ユーザアプリケーションによって特定される全コマンドストリングテキストを出口プログラム32に渡す。
出口プログラムは、(MAXSYSライブラリのCRTCLSコマンドに向けて)全コマンドストリングをデータ待ち行列36からコマンド処理プログラムに渡す。MAXSYSライブラリの各コマンドに対し、コマンド処理プログラムは、MXCPPNULL35である。
MXIICARTETプログラム32は、その後、その呼ぶ側33(システム出口点)に制御を返し、MXCPPNULL35プログラムは実行される。
MXCPPNULL35プログラムは、協働するオブジェクトが複製のために定義されているかどうかを決定するために任意の必要な前処理を実行する。全コマンドストリングは、データ待ち行列36から抽出され、本システムバージョンの特定のコマンド37(この場合CRTCLSコマンド)は、MXCPPNULLプログラム36によって実行され、システムコマンドによって発生29させられる任意のメッセージは一時待ち行列40に記憶される。
割り当てられるオブジェクト41(本実施例の新たなクラス記述)は、MXCPPNULLプログラム35によって一時保存ファイルに保存42される。
一時保存ファイルは、その後、協働する複製コンフィギュレーションによって用いられるジャーナル45(例えば、複製のために定義されるデータベースファイルに利用されるのと同じジャーナル)にジャーナリングされる、一時的OS/400統合ファイルシステム(IFS)ストリームファイル44にコピー43される。これは、有効に保存イメージをジャーナルに記憶する。
発生したジャーナルデータは、その後、標準OS/400リモートジャーナルサポートを用いて複製のためにリモートシステムに送信46される。
MXCPPNULLプログラム35は、コマンドの標準システムバージョン37によって発生させられる一時待ち行列40に記憶されるメッセージを検索47し、それらをユーザアプリケーション25に送信48する。これにより、ユーザアプリケーション25は、それがコマンドのシステムバージョンを直接呼び出したとしても正確にメッセージを処理することができる。
定義
クラス(クラス記述)
ジョブの実行属性を識別するオブジェクト
コマンド
システムのファンクションをリクエストするのに用いられるステートメント。コマンドは、コマンド名略記法により構成され、リクエストされたファンクション及びそのパラメータを識別する。
コマンド処理プログラム(CPP)
コマンドを処理するプログラム。このプログラムは幾つかの信頼性チェックを実行し、リクエストされたファンクションが実行されるようにコマンドを処理する。
出口プログラム
1.システムファンクションの動作中における所定の制御であるユーザ記述プログラム。
2.制御が出口点から渡されるプログラム。
保存ファイル
補助記憶装置に割り当てられたファイルは、(ディスケット又はテープを必要とすることなく)ディスク上の保存されたデータを記憶するのに用いられ得る。
システム監査ジャーナル
発生するセキュリティ関連イベントの記録を保持するシステムによって用いられるジャーナル。
本発明がそれについての実施例の記載によって例証され、その実施例がかなり詳細に記載されている一方で、出願人は添付した特許請求の範囲の範囲を前記詳細に限定し、又は任意の方法で制限することを意図していない。付加的な利点及び変更は、当業者にとっては直ちに明らかである。それゆえ、その広範な特徴の本発明は、示され説明されている装置、方法及び実例を代表とする特定の詳細に限定されるものではない。従って、出願人の一般的な発明概念の意図及び範囲から逸脱することなく、前記詳細から発展がなされ得る。
OS/400クラスオブジェクトに関するオブジェクトジャーナリングの例を示す。 本発明の択一的な実施例を示す。

Claims (45)

  1. システムオブジェクトに対する変更をジャーナリングする方法であって、
    i)システムファンクションをダミーファンクションで置換するステップと、
    ii)ダミーファンクションの動作の下、前記システムファンクションを実行するステップと、
    iii)ジャーナリングのために前記システムファンクションの実行によって変更されるシステムオブジェクトのコピーを発生させるステップと、
    iv)前記ダミーファンクションの実行を完了するステップと、を含む方法。
  2. 前記ダミーファンクションは、複製コーリングネームを有し、前記システムファンクションの実行に取って代わることによって前記システムファンクションを置換することを特徴とする請求項1に記載の方法。
  3. 出口点は前記ダミーファンクションと協働し、出口プログラムは前記出口点に登録されていることを特徴とする請求項1又は2のいずれか1つに記載の方法。
  4. 前記ダミーファンクションの動作中に前記出口プログラムは実行されることを特徴とする請求項3に記載の方法。
  5. 前記システムファンクションの実行は前記出口プログラムによって処理されることを特徴とする請求項4に記載の方法。
  6. 前記システムファンクションの実行によって変更される前記システムオブジェクトは、前記出口プログラムによって取り込まれることを特徴とする請求項5に記載の方法。
  7. 前記出口プログラムは、前記出口プログラムによって取り込まれる前記システムオブジェクトのコピーを発生させることを特徴とする請求項6に記載の方法。
  8. 前記システムファンクションの実行は、前記ダミーファンクションによって処理されることを特徴とする請求項4に記載の方法。
  9. 前記システムファンクションの実行によって変更される前記システムオブジェクトは、前記ダミーファンクションによって取り込まれることを特徴とする請求項8に記載の方法。
  10. 前記出口プログラムは、前記ダミーファンクションによって取り込まれる前記システムオブジェクトのコピーを発生させことを特徴とする請求項9に記載の方法。
  11. 前記システムオブジェクトのコピーは、ディスクに保存されることを特徴とする請求項1から10のいずれか1つに記載の方法。
  12. 前記システムオブジェクトのコピーは、ジャーナリングのためにデータベースシステムにストリームされることを特徴とする請求項1から11のいずれか1つに記載の方法。
  13. 前記データベースシステムは、複製システムに組み込まれていることを特徴とする請求項12に記載の方法。
  14. 前記複製システムは、前記システムオブジェクトのコピーを1又は複数のローカル又はリモートデータベースに複製することを特徴とする請求項13に記載の方法。
  15. 前記システムファンクションによって発生させられるメッセージ又は例外は、待ち行列に取り込まれることを特徴とする請求項1から14のいずれか1つに記載の方法。
  16. 前記システムファンクションは、最初にプロセスによって読み出され、前記メッセージ又は例外は前記ダミーファンクションによって前記プロセスに送り返されることを特徴とする請求項15に記載の方法。
  17. 前記システムオブジェクトは、1又は複数のプログラムオブジェクト、コンフィギュレーションオブジェクト、待ち行列及び空間/メモリマップオブジェクトのセットであることを特徴とする請求項1から16のいずれか1つに記載の方法。
  18. 変更されたシステムオブジェクトは、作成され、変更され、又は削除されているそれらのシステムオブジェクトであることを特徴とする請求項1から17のいずれか1つに記載の方法。
  19. 前記システムファンクションは、OS/400システムファンクションであることを特徴とする請求項1から18のいずれか1つに記載の方法。
  20. システムオブジェクトに対する変更をジャーナリングする方法であって、
    i)システムオブジェクトに対する変更が生じる間にシステムファンクションを実行するステップと、
    ii)前記システムファンクションの実行中にシステムオブジェクトに対する変更をジャーナリングするステップと、含む方法。
  21. システムオブジェクトに対する変更は、ジャーナリングコマンドを前記システムファンクションのコードに統合することによってジャーナリングされることを特徴とする請求項20に記載の方法。
  22. システムオブジェクトに対する変更は、出口点を前記システムファンクションと協働させて、前記システムファンクション実行中に出口プログラムを呼び出すことによってジャーナリングされることを特徴とする請求項20に記載の方法。
  23. システムオブジェクトに対する変更をジャーナリングするためのシステムであって、
    i)システムファンクションの代わりにダミーファンクションを実行するようになっているプロセッサであって、前記ダミーファンクションは前記システムファンクションを実行し、ジャーナリングのためのシステムファンクション実行から結果として生じるシステムオブジェクトのコピーを発生させるプロセッサと、
    ii)実行中に前記プロセッサが利用するためのメモリと、を含むシステム。
  24. 前記ダミーファンクションは、複製コーリングネームを有し、前記システムファンクションの実行に取って代わることによって前記システムファンクションを置換することを特徴とする請求項23に記載のシステム。
  25. 出口プログラムは、出口点は前記ダミーファンクションと協働し、出口プログラムは前記出口点に登録されていることを特徴とする請求項23から24のいずれか1つに記載のシステム。
  26. 前記ダミーファンクションの動作中に前記出口プログラムは実行されることを特徴とする請求項25に記載のシステム。
  27. 前記システムファンクションの実行は前記出口プログラムによって処理されることを特徴とする請求項26に記載のシステム。
  28. 前記システムファンクションの実行によって変更される前記システムオブジェクトは、前記出口プログラムによって取り込まれることを特徴とする請求項27に記載のシステム。
  29. 前記出口プログラムは、前記出口プログラムによって取り込まれる前記システムオブジェクトのコピーを発生させることを特徴とする請求項28に記載のシステム。
  30. 前記システムファンクションの実行は、前記ダミーファンクションによって処理されることを特徴とする請求項26に記載のシステム。
  31. 前記システムファンクションの実行によって変更される前記システムオブジェクトは、前記ダミープログラムによって取り込まれることを特徴とする請求項30に記載のシステム。
  32. 前記出口プログラムは、前記ダミープログラムによって取り込まれる前記システムオブジェクトのコピーを発生させことを特徴とする請求項31に記載のシステム。
  33. 前記システムオブジェクトのコピーは、ディスクに保存されることを特徴とする請求項23から32のいずれか1つに記載のシステム。
  34. 前記システムオブジェクトのコピーは、ジャーナリングのためにデータベースシステムにストリームされることを特徴とする請求項23から33のいずれか1つに記載のシステム。
  35. 前記データベースシステムは、複製システムに組み込まれていることを特徴とする請求項34に記載のシステム。
  36. 前記複製システムは、前記システムオブジェクトのコピーを1又は複数のローカル又はリモートデータベースに複製することを特徴とする請求項35に記載のシステム。
  37. 前記システムファンクションによって発生させられるメッセージ又は例外は、待ち行列に取り込まれることを特徴とする請求項23から36のいずれか1つに記載のシステム。
  38. 前記システムファンクションは、最初にプロセスによって読み出され、前記メッセージ又は例外は前記ダミーファンクションによって前記プロセスに送り返されることを特徴とする請求項37に記載のシステム。
  39. 前記システムオブジェクトは、1又は複数のプログラムオブジェクト、コンフィギュレーションオブジェクト、待ち行列及び空間/メモリマップオブジェクトのセットであることを特徴とする請求項23から38のいずれか1つに記載のシステム。
  40. 変更されたシステムオブジェクトは、作成され、変更され、又は削除されているそれらのシステムオブジェクトであることを特徴とする請求項23から39のいずれか1つに記載のシステム。
  41. 前記プロセッサは、OS/400プロセッサであることを特徴とする請求項23から40のいずれか1つに記載のシステム。
  42. 前記プロセッサは、OS/400オペレーティングシステムの下で動作することを特徴とする請求項23から41のいずれか1つに記載のシステム。
  43. 請求項1から22のいずれか1つに記載の方法を成し遂げるためのコンピュータシステム。
  44. 請求項1から43のいずれか1に記載の方法又はシステムを成し遂げるためのソフトウェア。
  45. 請求項44に記載のソフトウェアを含む記憶媒体。
JP2004545093A 2002-10-14 2003-10-14 システムオブジェクトをジャーナリングする方法、システム及びソフトウェア Pending JP2006503372A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NZ521983A NZ521983A (en) 2002-10-14 2002-10-14 Journaling changes to system objects such as programs in the IBM OS/400 operating system
PCT/NZ2003/000228 WO2004036436A1 (en) 2002-10-14 2003-10-14 Method, system and software for journaling system objects

Publications (2)

Publication Number Publication Date
JP2006503372A true JP2006503372A (ja) 2006-01-26
JP2006503372A5 JP2006503372A5 (ja) 2006-11-24

Family

ID=32105745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004545093A Pending JP2006503372A (ja) 2002-10-14 2003-10-14 システムオブジェクトをジャーナリングする方法、システム及びソフトウェア

Country Status (14)

Country Link
US (1) US20060075002A1 (ja)
EP (1) EP1559019B1 (ja)
JP (1) JP2006503372A (ja)
KR (1) KR101091071B1 (ja)
CN (1) CN100350396C (ja)
AU (1) AU2003278631B2 (ja)
CA (1) CA2501928C (ja)
DK (1) DK1559019T3 (ja)
ES (1) ES2548087T3 (ja)
HK (1) HK1073370A1 (ja)
IL (1) IL168001A (ja)
NZ (1) NZ521983A (ja)
WO (1) WO2004036436A1 (ja)
ZA (1) ZA200502951B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090138562A1 (en) * 2007-11-28 2009-05-28 Loyal Technology Solutions, L.L.C. Method and system for aggregation of electronic messages
US8997047B2 (en) * 2012-12-13 2015-03-31 International Business Machines Corporation Dynamically updating code without requiring processes to restart
US9910676B1 (en) * 2015-09-22 2018-03-06 Microsemi Solutions (U.S.), Inc. Hardware based XIP exit sequence to enable XIP mode operation on SPI boot interface

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307498A (en) * 1992-12-04 1994-04-26 International Business Machines Corporation Automated method for adding hooks to software
JPH08255106A (ja) * 1994-11-18 1996-10-01 Microsoft Corp ネットワーク独立型ファイル・シャドウイング
JPH11110194A (ja) * 1997-10-06 1999-04-23 Toshiba Corp 外部ライブラリ関数との結合方法ならびに同方法がプログラムされ記録される記録媒体
JP2000181634A (ja) * 1998-12-18 2000-06-30 Nec Corp ミラーリング装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2710190B2 (ja) * 1991-12-31 1998-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション データ辞書の同期化を調整するための方法および装置
US5530855A (en) * 1992-10-13 1996-06-25 International Business Machines Corporation Replicating a database by the sequential application of hierarchically sorted log records
US5634127A (en) * 1994-11-30 1997-05-27 International Business Machines Corporation Methods and apparatus for implementing a message driven processor in a client-server environment
US5778168A (en) * 1995-09-11 1998-07-07 Sun Microsystems, Inc. Transaction device driver technique for a journaling file system to ensure atomicity of write operations to a computer mass storage device
JPH11331891A (ja) * 1998-05-12 1999-11-30 Fujitsu Ltd 情報処理方法及び情報処理装置
DE19836347C2 (de) * 1998-08-11 2001-11-15 Ericsson Telefon Ab L M Fehlertolerantes Computersystem
CN1159649C (zh) * 2000-12-28 2004-07-28 中兴通讯股份有限公司 一种日志信息的自动循环存储方法
US6714951B2 (en) * 2001-04-16 2004-03-30 International Business Machines Corporation Continuous journaling of objects within a hierarchical directory tree
US6941322B2 (en) * 2002-04-25 2005-09-06 International Business Machines Corporation Method for efficient recording and management of data changes to an object
US6968349B2 (en) * 2002-05-16 2005-11-22 International Business Machines Corporation Apparatus and method for validating a database record before applying journal data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307498A (en) * 1992-12-04 1994-04-26 International Business Machines Corporation Automated method for adding hooks to software
JPH08255106A (ja) * 1994-11-18 1996-10-01 Microsoft Corp ネットワーク独立型ファイル・シャドウイング
JPH11110194A (ja) * 1997-10-06 1999-04-23 Toshiba Corp 外部ライブラリ関数との結合方法ならびに同方法がプログラムされ記録される記録媒体
JP2000181634A (ja) * 1998-12-18 2000-06-30 Nec Corp ミラーリング装置

Also Published As

Publication number Publication date
DK1559019T3 (en) 2015-10-19
WO2004036436A1 (en) 2004-04-29
NZ521983A (en) 2005-05-27
AU2003278631B2 (en) 2009-10-08
EP1559019B1 (en) 2015-07-15
KR20050070054A (ko) 2005-07-05
US20060075002A1 (en) 2006-04-06
KR101091071B1 (ko) 2011-12-08
ES2548087T3 (es) 2015-10-13
CA2501928A1 (en) 2004-04-29
CA2501928C (en) 2012-11-13
AU2003278631A1 (en) 2004-05-04
CN1739099A (zh) 2006-02-22
ZA200502951B (en) 2006-02-22
EP1559019A4 (en) 2006-11-02
CN100350396C (zh) 2007-11-21
IL168001A (en) 2012-09-24
HK1073370A1 (en) 2005-09-30
EP1559019A1 (en) 2005-08-03

Similar Documents

Publication Publication Date Title
KR101076851B1 (ko) 복제된 파일들을 위한 복수의 파일 상태 관리 방법
JP3197789B2 (ja) 分散ファイル・システム内にあるディレクトリの操作を要求する方法およびシステム
US7207034B2 (en) Undo infrastructure
US20040181560A1 (en) Method and apparatus for interrupting updates to a database to provide read-only access
US20050028171A1 (en) System and method enabling multiple processes to efficiently log events
US20050273474A1 (en) Method and system for data processing with data replication for the same
US20140237293A1 (en) Application monitoring through continuous record and replay
CN107710215A (zh) 在测试设施中的移动计算装置安全的方法和设备
US8380660B2 (en) Database system, database update method, database, and database update program
JP2003528392A (ja) ソフトウェアアプリケーションにおいてなされた進行中の変更を復旧するための方法及び装置
JP2006065845A (ja) 最適化された復元プランの生成
WO2006052869A2 (en) Replicated data validation
JP5308403B2 (ja) データ処理の障害回復方法、システムおよびプログラム
JP2007140698A (ja) 計算機システム及びストレージシステムと管理計算機並びにバックアップ管理方法
US7228526B2 (en) Application imaging infrastructure
JP2006338197A (ja) トランザクション制御プログラム、トランザクション制御方法及びトランザクション処理システム
US20220121523A1 (en) Identifying database backup copy chaining
US7337195B2 (en) Method and device for establishing synchronized recovery log points
US20030191918A1 (en) Data processing arrangement and method
US20210034709A1 (en) Optimizing incremental backups
ZA200502951B (en) Method, system and software for journaling system objects.
JP4428887B2 (ja) データベースシステム
JP2010152707A (ja) データベースのバックアップ方法及びデータベースシステム
US6581156B1 (en) Method for recording a data state in a data processing system
JP2000305830A (ja) コンピュータシステムにおけるファイル管理方法およびファイル管理システム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061006

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090803

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091102

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091110

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091202

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100203

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100412