(57)【特許請求の範囲】
【請求項１】
トランザクション処理プログラムからの副ロードモジュール呼び出しに用いられる副ロードモジュールのトランザクション同期置換方式において、
トランザクション処理プログラムを記憶している第１の記憶部と、
一の副ロードモジュールを記憶する第２の記憶部と、
他の副ロードモジュールを記憶する第３の記憶部と、
前記トランザクション処理プログラムが前記一の副ロードモジュール及び前記他の副ロードモジュールのいずれの副ロードモジュールを使用するかを示す現用副ロードモジュール情報を保持する管理テーブルと、
前記トランザクション処理プログラムが使用するロードモジュールの置換を要求する要求情報に基づき、前記管理テーブルの保持する現用副ロードモジュール情報を置換する副ロードモジュール置換手段と、
前記トランザクション処理プログラムによるトランザクション処理開始時にリセットされ、該トランザクション処理における副ロードモジュールの初回呼び出し時に所定の値がセットされる呼出済みフラグと、
前記呼出済みフラグがセットされる際に、前記管理テーブルに保持された現用副ロードモジュール情報が複写される現用副ロードモジュール指示手段と、
前記トランザクション処理プログラムの要求により副ロードモジュールを呼び出す呼出手段と、を備え、
前記呼出手段は、前記トランザクション処理プログラムにより副ロードモジュールの呼び出し要求を受けると、前記呼出済フラグに前記所定の値がセットされているか否かを参照し、前記所定の値がセットされていなければ前記管理テーブルに保持される現用副ロードモジュール情報に基づいて前記第２の記憶部または前記第３の記憶部から副ロードモジュールを呼び出し、前記所定の値がセットされていれば前記現用副ロードモジュール指示手段に保持された現用副ロードモジュール情報に基づいて前記第２の記憶部または前記第３の記憶部から副ロードモジュールを呼び出すことを特徴とする副ロードモジュールのトランザクション同期置換方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コンピュータで処理するトランザクション処理中に副ロードモジュールを読み込むタイミングを制御する副ロードモジュールのトランザクション同期置換方式に関する。
【０００２】
【従来の技術】
従来の副ロードモジュール（Ｌｏａｄ  Ｍｏｄｕｌｅ、ＬＭ）置換方式の一例が、特開平６−４４７７号公報に記載されている。図５を用いて、この従来の副ロードモジュール置換方式の説明を行う。従来の副ロードモジュール置換方式は、オンラインリアルタイム処理システム１’と操作卓８で構成されている。
【０００３】
また、オンラインリアルタイム処理システム１’は、現在使用している副ロードモジュールと、この副ロードモジュールに置換される代替副ロードモジュールの各々の入り口点ポインタ５３、入り口点ポインタ５４、および副ロードモジュールの内どちらを使用するかを指定した現用副ロードモジュール５２を含む副ロードモジュール置換管理テーブル５と、副ロードモジュール呼出手段と、副ロードモジュール置換手段４から構成されている。
【０００４】
この従来の副ロードモジュール置換方式の動作を以下に示す。
副ロードモジュール呼出手段３’は、トランザクション処理プログラム２’より呼び出され、副ロードモジュール置換管理テーブル５の現用副ロードモジュール指示５２を現用の副ロードモジュールから置換する副ロードモジュールに書き換える。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述した副ロードモジュール置換方式は、利用者トランザクションの実行中に副ロードモジュールの切換が行われた場合、一つのトランザクション中において、切換の前後で新旧異なる２つの副ロードモジュールが呼び出される欠点がある。
【０００６】
このため、新旧２つの副ロードモジュールの論理差分の内容によって、上述した副ロードモジュール置換方式は、トランザクション処理がプログラム処理において論理矛盾を起こし、正しいプログラム処理を行えなくなる問題がある。
【０００７】
本発明はこのような背景の下になされたもので、現在稼働中の副ロードモジュールを新たに用意した副ロードモジュールへ置換するタイミングと、トランザクションの終了とのタイミングを一致させ、一つのトランザクションにおいて新旧の副ロードモジュールが混在して処理を行うことを防ぐ副ロードモジュールのトランザクション同期置換方式を提供する事にある。
【０００８】
【課題を解決するための手段】
請求項１記載の発明は、トランザクション処理プログラムからの副ロードモジュール呼び出しに用いられる副ロードモジュールのトランザクション同期置換方式において、トランザクション処理プログラムを記憶している第１の記憶部と、一の副ロードモジュールを記憶する第２の記憶部と、他の副ロードモジュールを記憶する第３の記憶部と、前記一の副ロードモジュールと前記他の副ロードモジュールとの置換を要求する要求情報を出力する要求手段と、この要求情報に基づきトランザクション処理プログラムが前記一の副ロードモジュールまたは前記他の副ロードモジュールのいずれを使用するかを指定する指定手段と、トランザクション処理プログラムの必要とする前記一の副ロードモジュールまたは前記他の副ロードモジュールのいずれかを呼び出す呼出手段と、使用されている前記一の副ロードモジュールと、前記他の副ロードモジュールとの置換の可否を、トランザクション処理プログラム中で当該副ロードモジュールの呼出を行っているか否かの置換許可情報により示す置換許可手段とを具備し、前記呼出手段は、前記置換許可情報を参照し、トランザクション処理プログラム中で当該副ロードモジュールの呼出を行っていなければ、前記指定手段による指定を複写し記憶するとともに、トランザクション処理プログラム中で当該副ロードモジュールの呼出を行ったことを前記置換許可情報として記憶し、前記複写し記憶した指定に基づきいずれの副ロードモジュールを呼び出すかを決定し、一方、トランザクション処理プログラム中で当該副ロードモジュールの呼出を行っていれば、先に複写し記憶した前記指定手段による指定に基づきいずれの副ロードモジュールを呼び出すかを決定し、これにより、前記要求手段が、トランザクション処理中に前記一の副ロードモジュールと、前記他の副ロードモジュールとの置換を要求した場合、前記指定手段が前記他の副ロードモジュールの使用を指定し、前記置換許可情報が置換可であれば、前記呼出手段が前記他の副ロードモジュールを呼び出し、前記一の副ロードモジュールとの置換を行うことを特徴とする。
【００１１】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態について説明する。図１は本発明の一実施形態による副ロードモジュールのトランザクション同期置換方式の構成を示すブロック図である。この図において、８は操作卓であり、ユーザの操作により副ロードモジュールの置換コマンドをオンラインリアルシステム１へ発行する。
【００１２】
オンラインリアルタイムシステム１は、記憶部２、副ロードモジュール呼出手段３、副ロードモジュール置換手段４、プロセス固有テーブル初期化手段９、副ロードモジュール置換管理テーブル５、プロセス固有テーブル６０、記憶部７１および記憶部７２で構成されている。
【００１３】
記憶部２は、オンラインリアルタイムシステム１で実行されるトランザクション処理プログラムが記憶されている。記憶部７１には、副ロードモジュールＭ１が記憶されている。記憶部７２には、副ロードモジュールＭ２が記憶されている。
【００１４】
副ロードモジュール置換管理テーブル５は、副ロードモジュールのファイル名を示す副ロードモジュール名部５１と、新旧２つの副ロードモジュールのいずれを使用中であるかを示す現用副ロードモジュール指示部５２と、新しい副ロードモジュール入り口へのポインタを記憶するポインタ部５３と、旧い副ロードモジュール入り口へのポインタを記憶するポインタ部５４とで構成されている。
【００１５】
プロセス固有テーブル６０は、トランザクション処理プログラム中で副ロードモジュールの呼び出しをすでに行っているか否かを判断するための、現用副ロードモジュール指示部６０１と、副ロードモジュール呼出済みフラグ６０２で構成されている。プロセス固有テーブル初期化手段９は、トランザクション開始時に副ロードモジュール呼出済みフラグ６０２を「ＯＦＦ」とする。
【００１６】
副ロードモジュール呼出手段３は、トランザクション処理プログラム中で初めて呼び出された場合、プロセス固有テーブル６０の副ロードモジュール呼出済みフラグ６０２が「ＯＦＦ」であるため、副ロードモジュール置換管理テーブル５の現用副ロードモジュール指示部５２をプロセス固有テーブル６０の現用副ロードモジュール指示部６０１に複写し、副ロードモジュール呼出済みフラグ６０２を「ＯＮ」とする。
【００１７】
また、副ロードモジュール呼出手段３は、プロセス固有テーブル６０を参照し、現用副ロードモジュール指示部６０１に従い、記憶部３から旧い副ロードモジュール７１を呼び出す。副ロードモジュール置換手段４は、ユーザにより操作卓８から副ロードモジュールの切換指示のコマンド投入あると、副ロードモジュール置換テーブル５の現用副ロードモジュール指示部５２を旧い副ロードモジュールＭ１から新しい副ロードモジュールＭ２へ切り換える。
【００１８】
また、副ロードモジュール呼出手段３は、副ロードモジュール置換テーブル５の現用副ロードモジュール指示部５２が旧い副ロードモジュールＭ１から新しい副ロードモジュールＭ２へ切り換えられていても、トランザクション処理プログラムが同一副ロードモジュールの要求を行った場合、プロセス固有テーブル６０の副ロードモジュール呼出済みフラグ６０２が「ＯＮ」となっているので、現用副ロードモジュール指示部６０１に従い、旧い副ロードモジュールＭ１を記憶部７１から読み出す。
【００１９】
さらに、副ロードモジュール呼出手段３は、現在のトランザクション処理プログラムが終了した後、新たに発生したトランザクション処理プログラムにより前記ロードモジュールが要求された場合、プロセス固有テーブル６０がリセットされ、現用副ロードモジュール指示部６０１に新しいロードモジュールＭ２が書き込まれるため、新しいロードモジュールＭ２を呼び出す。
【００２０】
次に、図１および図２を参照し、一実施形態の動作例を説明する。図２は、前述した副ロードモジュールのトランザクション同期置換方式の動作を示すフローチャートである。副ロードモジュール呼出手段３は、トランザクションプログラムにより副ロードモジュールの呼び出し時に呼び出されて図２のフローチャートに示される処理を行う。
【００２１】
例えば、トランザクション処理プログラムが新たに発生したとする。
ステップＡ１において、副ロードモジュール呼出手段３は、プロセス固有テーブル６０の副ロードモジュール呼出済みフラグ６０２のデータを読み出す。そして、副ロードモジュール呼出手段３は、処理をステップＡ２へ進める。
【００２２】
次に、ステップＡ２において、副ロードモジュール呼出手段３は、プロセス固有テーブル６０の副ロードモジュール呼出済みフラグ６０２から読み出したデータが「ＯＮ」または「ＯＦＦ」のいずれかであるかの判定を行う。このとき、トランザクション処理プログラム中で初めて呼び出されたため、副ロードモジュール呼出済みフラグ６０２から読み出したデータは、「ＯＦＦ」である。このため、副ロードモジュール呼出手段３は、処理をステップＡ３へ進める。
【００２３】
次に、ステップＡ３において、副ロードモジュール呼出手段３は、副ロードモジュール置換管理テーブル５の現用副ロードモジュール指示部５２をプロセス固有テーブル６０の現用副ロードモジュール指示部６０１に複写する。そして、副ロードモジュール呼出手段３は、処理をステップＡ４へ進める。
【００２４】
次に、ステップＡ４において、副ロードモジュール呼出手段３は、ステップＡ３における現用副ロードモジュール指示部５２をプロセス固有テーブル６０の現用副ロードモジュール指示部６０１に複写した処理に伴い、副ロードモジュール呼出済みフラグ６０２を「ＯＮ」とする。そして、副ロードモジュール呼出手段３は、処理をステップＡ５へ進める。
【００２５】
次に、ステップＡ５において、副ロードモジュール呼出手段３は、プロセス固有テーブル６０を参照し、現用副ロードモジュール指示部６０１に書き込まれている副ロードモジュールのデータを読み出す。そして、副ロードモジュール呼出手段３は、処理をステップＡ６へ進める。
【００２６】
次に、ステップＡ６において、副ロードモジュール呼出手段３は、現用副ロードモジュール指示部６０１に書き込まれている副ロードモジュールのデータが副ロードモジュールＭ１または副ロードモジュールＭ２のいずれかを指しているかの判定を行う。
【００２７】
ここで、副ロードモジュール呼出手段３は、、現用副ロードモジュール指示部６０１に書き込まれている副ロードモジュールのデータが副ロードモジュールＭ１を指していると判定した場合、処理をステップＡ７へ進める。
【００２８】
次に、ステップＡ７において、副ロードモジュール呼出手段３は、副ロードモジュールＭ１をポインタ５３に示されている記憶部７１から読み出す。そして、副ロードモジュール呼出手段３は、副ロードモジュール読み出しの処理を終了する。
【００２９】
また、ステップＡ６において、副ロードモジュール呼出手段３は、、現用副ロードモジュール指示部６０１に書き込まれている副ロードモジュールのデータが副ロードモジュールＭ２を指していると判定した場合、処理をステップＡ８へ進める。
【００３０】
次に、ステップＡ８において、副ロードモジュール呼出手段３は、副ロードモジュールＭ２をポインタ５４に示されている記憶部７２から読み出す。そして、副ロードモジュール呼出手段３は、副ロードモジュール読み出しの処理を終了する。
【００３１】
また、ステップＡ２において、副ロードモジュール呼出手段３は、副ロードモジュール呼出済みフラグ６０２から読み出したデータが「ＯＮ」である場合、処理をステップＡ５へ進める。この後は、上述した説明と同様なので説明を省略する。
【００３２】
次に、図３のフローチャートを用いて副ロードモジュール置換手段４の動作を説明する。
ステップＢ１において、副ロードモジュール置換手段４は、ユーザにより操作卓８から副ロードモジュールの切換指示のコマンド投入あると、副ロードモジュール置換テーブル５の現用副ロードモジュール指示部５２を旧い副ロードモジュールＭ１から新しい副ロードモジュールＭ２へ切り換える。
【００３３】
次に、図４のフローチャートを用いてプロセス固有初期化手段９の動作を説明する。
ステップＣ１において、プロセス固有初期化手段９は、トランザクション開始時に副ロードモジュール呼出済みフラグ６０２を「ＯＦＦ」とする。
【００３４】
上述したように、副ロードモジュール呼出手段３は、トランザクション処理プログラムが副ロードモジュールの呼び出しを行うとき呼び出される。そして、この呼び出しが初回である場合、副ロードモジュール呼出手段３は、副ロードモジュール置換管理テーブル５の現用副ロードモジュール指示部５２をプロセス固有テーブル６０へ複写し、目的の副ロードモジュールの新旧を判定して、対応する副ロードモジュールの呼び出しを行う。
【００３５】
次に、操作卓８より副ロードモジュールの切換指示が投入されると、副ロードモジュール置換手段は起動し、副ロードモジュール置換管理テーブル５の現用副ロードモジュール指示部５２を旧から新の副ロードモジュールを示すデータに書き換える。
【００３６】
その後、トランザクション処理プログラムが再度同一副ロードモジュールが呼び出された場合、副ロードモジュール呼出手段３は、プロセス固有テーブル６０の現用副ロードモジュール指示部６０１のデータに従い、対応する副ロードモジュールの呼び出しを行うため、前回と同一の副ロードモジュールＭ１（旧い副ロードモジュール）を呼び出すことができる。
【００３７】
そのため、上述した本発明による副ロードモジュールのトランザクション同期置換方式は、トランザクション処理中に、副ロードモジュールの動的置換を行っても、複数回の副ロードモジュールの呼び出しにおいて、新旧の異なる副ロードモジュールを呼び出すことを防止できる。
【００３８】
【発明の効果】
請求項１記載の発明によれば、トランザクション処理プログラムからの副ロードモジュール呼び出しに用いられる副ロードモジュールのトランザクション同期置換方式において、トランザクション処理プログラムを記憶している第１の記憶部と、一の副ロードモジュールを記憶する第２の記憶部と、他の副ロードモジュールを記憶する第３の記憶部と、前記一の副ロードモジュールと前記他の副ロードモジュールとの置換を要求する要求情報を出力する要求手段と、
この要求情報に基づきトランザクション処理プログラムが前記一の副ロードモジュールまたは前記他の副ロードモジュールのいずれを使用するかを指定する指定手段と、トランザクション処理プログラムの必要とする前記一の副ロードモジュールまたは前記他の副ロードモジュールのいずれかを呼び出す呼出手段と、使用されている前記一の副ロードモジュールと、前記他の副ロードモジュールとの置換の可否を、トランザクション処理プログラム中で当該副ロードモジュールの呼出を行っているか否かの置換許可情報により示す置換許可手段とを具備し、前記呼出手段は、前記置換許可情報を参照し、トランザクション処理プログラム中で当該副ロードモジュールの呼出を行っていなければ、前記指定手段による指定を複写し記憶するとともに、トランザクション処理プログラム中で当該副ロードモジュールの呼出を行ったことを前記置換許可情報として記憶し、前記複写し記憶した指定に基づきいずれの副ロードモジュールを呼び出すかを決定し、一方、トランザクション処理プログラム中で当該副ロードモジュールの呼出を行っていれば、先に複写し記憶した前記指定手段による指定に基づきいずれの副ロードモジュールを呼び出すかを決定し、これにより、前記要求手段が、トランザクション処理中に前記一の副ロードモジュールと、前記他の副ロードモジュールとの置換を要求した場合、前記指定手段が前記他の副ロードモジュールの使用を指定し、前記置換許可情報が置換可であれば、前記呼出手段が前記他の副ロードモジュールを呼び出し、前記一の副ロードモジュールとの置換を行うため、一つのトランザクション内で新旧異なる副ロードモジュールが呼び出されることが回避される。
【図面の簡単な説明】
【図１】  本発明の一実施形態による副ロードモジュールのトランザクション同期置換方式の構成を示すブロック図である。
【図２】  図１の副ロードモジュールのトランザクション同期置換方式における副ロードモジュール呼出手段３の動作を示すフローチャートである。
【図３】  図１の副ロードモジュールのトランザクション同期置換方式における副ロードモジュール置換手段４の動作を示すフローチャートである。
【図４】  図１の副ロードモジュールのトランザクション同期置換方式におけるプロセス固有テーブル初期化手段９の動作を示すフローチャートである。
【図５】  従来の副ロードモジュールのトランザクション置換方式の構成を示すブロック図である。
【符号の説明】
１  オンラインリアルタイムシステム
２、７１、７２  記憶部
３  副ロードモジュール（ＬＭ）呼出手段
４  副ロードモジュール（ＬＭ）置換手段
５  副ロードモジュール（ＬＭ）置換管理テーブル
８  操作卓
９  プロセス固有テーブル初期化手段
５１  副ロードモジュール（ＬＭ）名部
５２  現用副ロードモジュール（ＬＭ）指示部
５３  旧副ロードモジュール（ＬＭ）入り口点ポインタ
５４  新副ロードモジュール（ＬＭ）入り口点ポインタ
６０  プロセス固有テーブル
６０１  現用副ロードモジュール（ＬＭ）指示部
６０２  副ロードモジュール（ＬＭ）呼出済みフラグ
【図１】
0003652878.tif 000002
【図２】
0003652878.tif 000003
【図３】
0003652878.tif 000004
【図４】
0003652878.tif 000005
【図５】
0003652878.tif 000006