(57)【要約】【課題】  現在サービスを行っているトランザクション処理サービスを停止させずに、現行の処理プログラムと新規の処理プログラムを並行して実行し、新規プログラムの動作検証を可能にする。【解決手段】  トランザクション複製転送部１は、クライアント１００からの処理要求トランザクションを複製し、現行プログラム２および新規プログラム３に与え並行して処理させる。外部アクセス管理部４は、現行プログラム２および新規プログラム３からの外部データ４００に対するアクセスを管理する。トランザクション複製転送部１は、現行プログラム２から応答トランザクションを受信すると、クライアント１００に返却し且つ出力部７に保存する。他方、新規プログラム３から応答トランザクションを受信すると、出力部８に保存し、クライアント１００へは送信しない。【選択図】  図１
2005149043.tif 000002
【特許請求の範囲】
【請求項１】
与えられた処理要求トランザクションに応じた処理を行う現行プログラムを実行するプログラム実行手段と、与えられた処理要求トランザクションに応じた処理を行う新規プログラムを実行するプログラム実行手段と、処理要求元から受信した処理要求トランザクションを前記現行プログラムおよび前記新規プログラムに与え、前記現行プログラムから得られた応答トランザクションを前記処理要求元に送信するトランザクション入出力手段と、前記現行プログラムおよび前記新規プログラムが外部データにアクセスする際にそのアクセスを管理する外部アクセス管理手段と、前記現行プログラムおよび前記新規プログラムに関連するログを採取するログ採取手段とを備えたことを特徴とするトランザクション処理システム。
【請求項２】
前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムおよび前記新規プログラムに転送するトランザクション複製転送手段を含むことを特徴とする請求項１記載のトランザクション処理システム。
【請求項３】
前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムに転送するトランザクション複製転送手段と、前記複製された処理要求トランザクションを保存するトランザクション保存手段と、前記保存された処理要求トランザクションを読み出して前記新規プログラムに転送するトランザクション転送手段とを含むことを特徴とする請求項１記載のトランザクション処理システム。
【請求項４】
前記トランザクション入出力手段は、前記受信した処理要求トランザクションを保存するトランザクション保存手段と、前記保存された処理要求トランザクションを読み出して前記現行プログラムおよび前記新規プログラムに転送するトランザクション転送手段とを含むことを特徴とする請求項１記載のトランザクション処理システム。
【請求項５】
前記外部アクセス管理手段は、前記現行プログラムからのアクセス要求の場合には前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記新規プログラムからのアクセス要求の場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記新規プログラムに返却するアクセス要求結果を生成するものであることを特徴とする請求項１記載のトランザクション処理システム。
【請求項６】
前記外部アクセス管理手段は、前記プログラム実行手段と独立に設けられていることを特徴とする請求項５記載のトランザクション処理システム。
【請求項７】
前記外部アクセス管理手段は、前記現行プログラムを実行する前記プログラム実行手段に設けられたマスター外部アクセス管理手段と、前記新規プログラムを実行する前記プログラム実行手段に設けられたスレーブ外部アクセス管理手段とで構成されることを特徴とする請求項５記載のトランザクション処理システム。
【請求項８】
前記マスター外部アクセス管理手段は、前記現行プログラムからアクセス要求が与えられた場合には、前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記スレーブ外部アクセス管理手段からアクセス要求が与えられた場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記スレーブ外部アクセス管理手段に返却するアクセス要求結果を生成するものであり、前記スレーブ外部アクセス管理手段は、前記新規プログラムからアクセス要求が与えられたときに、そのアクセス要求を前記マスター外部アクセス管理手段に転送し、前記マスター外部アクセス管理手段から返却されたアクセス要求結果を前記新規プログラムに転送するものであることを特徴とする請求項７記載のトランザクション処理システム。
【請求項９】
前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの応答トランザクションを採取する手段を含むことを特徴とする請求項１記載のトランザクション処理システム。
【請求項１０】
採取された前記現行プログラムの応答トランザクションと採取された前記新規プログラムの応答トランザクションとを比較し、その差異情報を表示もしくは保存する比較検証手段を備えたことを特徴とする請求項９記載のトランザクション処理システム。
【請求項１１】
前記比較検証手段は、比較する応答トランザクションのデータの中で比較する領域、または比較しない領域を指定する情報を保持する手段を備えたことを特徴とする請求項１０記載のトランザクション処理システム。
【請求項１２】
比較する領域を指定する情報として、比較する領域の先頭アドレスと長さのリストを保持し、前記比較検証手段は、指定された先頭アドレスと長さで特定される比較領域どうしのみを比較するものであることを特徴とする請求項１１記載のトランザクション処理システム。
【請求項１３】
比較しない領域を指定する情報として、比較しない領域の先頭アドレスと長さのリストを保持し、前記比較検証手段は、指定された先頭アドレスと長さで特定される領域を除いて比較するものであることを特徴とする請求項１１記載のトランザクション処理システム。
【請求項１４】
前記応答トランザクションは構造化された文書データであり、前記比較検証手段は、あらかじめ指定された文字列に囲まれた領域のみを比較するものであることを特徴とする請求項１０記載のトランザクション処理システム。
【請求項１５】
前記応答トランザクションは構造化された文書データであり、前記比較検証手段は、あらかじめ指定された文字列を含む行または段落のみを比較するものであることを特徴とする請求項１０記載のトランザクション処理システム。
【請求項１６】
前記応答トランザクションは構造化された文書データであり、前記比較検証手段は、あらかじめ指定された文字列に囲まれた領域を除いて比較することを特徴とする請求項１０記載のトランザクション処理システム。
【請求項１７】
前記応答トランザクションは構造化された文書データであり、前記比較検証手段は、あらかじめ指定された文字列を含む行もしくは段落を除いて比較するものであることを特徴とする請求項１０記載のトランザクション処理システム。
【請求項１８】
前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの前記外部データに対するアクセス要求を採取する手段を含むことを特徴とする請求項１記載のトランザクション処理システム。
【請求項１９】
採取された前記現行プログラムのアクセス要求と採取された前記新規プログラムのアクセス要求とを比較し、その差異情報を表示もしくは保存する比較検証手段を備えたことを特徴とする請求項１８記載のトランザクション処理システム。
【請求項２０】
前記ログ採取手段は、前記現行プログラムを実行する前記プログラム実行手段の環境情報および前記新規プログラムを実行する前記プログラム実行手段の環境情報を採取する手段を含むことを特徴とする請求項１記載のトランザクション処理システム。
【請求項２１】
採取された前記現行プログラムの環境情報と採取された前記新規プログラムの環境情報とを比較し、その差異情報を表示もしくは保存する比較検証手段を備えたことを特徴とする請求項２０記載のトランザクション処理システム。
【請求項２２】
前記現行プログラムによる処理サービスから前記新規プログラムによる処理サービスに切替えるプログラム切替手段を備えたことを特徴とする請求項１乃至２１の何れか１項に記載のトランザクション処理システム。
【請求項２３】
前記プログラム切替手段は、現行プログラムを停止させるものであることを特徴とする請求項２２記載のトランザクション処理システム。
【請求項２４】
前記プログラム切替手段は、前記現行プログラムを停止させずに前記新規プログラムと並行して動作させ続けるものであることを特徴とする請求項２２記載のトランザクション処理システム。
【請求項２５】
a)それぞれ異なるプログラム実行手段が、与えられた処理要求トランザクションに応じた処理を行う現行プログラムと与えられた処理要求トランザクションに応じた処理を行う新規プログラムとを並行して実行するステップと、
b)トランザクション入出力手段が、処理要求元から受信した処理要求トランザクションを前記現行プログラムおよび前記新規プログラムに与え、前記現行プログラムから得られた応答トランザクションを前記処理要求元に送信するステップと、
c)外部アクセス管理手段が、前記現行プログラムおよび前記新規プログラムが外部データにアクセスする際にそのアクセスを管理するステップと、
d)ログ採取手段が、前記現行プログラムおよび前記新規プログラムに関連するログを採取するステップと、
を含むことを特徴とするトランザクション処理方法。
【請求項２６】
前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムおよび前記新規プログラムに転送することを特徴とする請求項２５記載のトランザクション処理方法。
【請求項２７】
前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムに転送すると共に記憶手段に一旦保存し、該保存した処理要求トランザクションを読み出して前記新規プログラムに転送することを特徴とする請求項２５記載のトランザクション処理方法。
【請求項２８】
前記トランザクション入出力手段は、前記受信した処理要求トランザクションを記憶手段に一旦保存し、該保存された処理要求トランザクションを読み出して前記現行プログラムおよび前記新規プログラムに転送することを特徴とする請求項２５記載のトランザクション処理方法。
【請求項２９】
前記外部アクセス管理手段は、前記現行プログラムからのアクセス要求の場合には前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記新規プログラムからのアクセス要求の場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記新規プログラムに返却するアクセス要求結果を生成することを特徴とする請求項２５記載のトランザクション処理方法。
【請求項３０】
前記外部アクセス管理手段は、前記プログラム実行手段と独立に動作することを特徴とする請求項２９記載のトランザクション処理方法。
【請求項３１】
前記外部アクセス管理手段は、前記現行プログラムを実行する前記プログラム実行手段に設けられたマスター外部アクセス管理手段と、前記新規プログラムを実行する前記プログラム実行手段に設けられたスレーブ外部アクセス管理手段とで構成されることを特徴とする請求項２９記載のトランザクション処理方法。
【請求項３２】
前記マスター外部アクセス管理手段は、前記現行プログラムからアクセス要求が与えられた場合には、前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記スレーブ外部アクセス管理手段からアクセス要求が与えられた場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記スレーブ外部アクセス管理手段に返却するアクセス要求結果を生成し、前記スレーブ外部アクセス管理手段は、前記新規プログラムからアクセス要求が与えられたときに、そのアクセス要求を前記マスター外部アクセス管理手段に転送し、前記マスター外部アクセス管理手段から返却されたアクセス要求結果を前記新規プログラムに転送することを特徴とする請求項３１記載のトランザクション処理方法。
【請求項３３】
前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの応答トランザクションを採取することを特徴とする請求項２５記載のトランザクション処理方法。
【請求項３４】
e)比較検証手段が、採取された前記現行プログラムの応答トランザクションと採取された前記新規プログラムの応答トランザクションとを比較し、その差異情報を表示もしくは保存するステップ、
を更に含むことを特徴とする請求項３３記載のトランザクション処理方法。
【請求項３５】
前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの前記外部データに対するアクセス要求を採取することを特徴とする請求項２５記載のトランザクション処理方法。
【請求項３６】
e)比較検証手段が、採取された前記現行プログラムのアクセス要求と採取された前記新規プログラムのアクセス要求とを比較し、その差異情報を表示もしくは保存するステップ、
を更に含むことを特徴とする請求項３５記載のトランザクション処理方法。
【請求項３７】
前記ログ採取手段は、前記現行プログラムを実行する前記プログラム実行手段の環境情報および前記新規プログラムを実行する前記プログラム実行手段の環境情報を採取することを特徴とする請求項２５記載のトランザクション処理方法。
【請求項３８】
e)比較検証手段が、採取された前記現行プログラムの環境情報と採取された前記新規プログラムの環境情報とを比較し、その差異情報を表示もしくは保存するステップ、
を更に含むことを特徴とする請求項３７記載のトランザクション処理方法。
【請求項３９】
f)プログラム切替手段が、前記現行プログラムによる処理サービスから前記新規プログラムによる処理サービスに切替えるステップ、
を更に含むことを特徴とする請求項２５乃至３８の何れか１項に記載のトランザクション処理方法。
【請求項４０】
与えられた処理要求トランザクションに応じた処理を行う現行プログラムを実行するプログラム実行手段と、与えられた処理要求トランザクションに応じた処理を行う新規プログラムを実行するプログラム実行手段とを備えたトランザクション処理システムを構成するコンピュータを、
処理要求元から受信した処理要求トランザクションを前記現行プログラムおよび前記新規プログラムに与え、前記現行プログラムから得られた応答トランザクションを前記処理要求元に送信するトランザクション入出力手段、
前記現行プログラムおよび前記新規プログラムが外部データにアクセスする際にそのアクセスを管理する外部アクセス管理手段、
前記現行プログラムおよび前記新規プログラムに関連するログを採取するログ採取手段、
として機能させることを特徴とするプログラム。
【請求項４１】
前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムおよび前記新規プログラムに転送するトランザクション複製転送手段を含むことを特徴とする請求項４０記載のプログラム。
【請求項４２】
前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムに転送するトランザクション複製転送手段と、前記複製された処理要求トランザクションを保存するトランザクション保存手段と、前記保存された処理要求トランザクションを読み出して前記新規プログラムに転送するトランザクション転送手段とを含むことを特徴とする請求項４０記載のプログラム
【請求項４３】
前記トランザクション入出力手段は、前記受信した処理要求トランザクションを保存するトランザクション保存手段と、前記保存された処理要求トランザクションを読み出して前記現行プログラムおよび前記新規プログラムに転送するトランザクション転送手段とを含むことを特徴とする請求項４０記載のプログラム。
【請求項４４】
前記外部アクセス管理手段は、前記現行プログラムからのアクセス要求の場合には前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記新規プログラムからのアクセス要求の場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記新規プログラムに返却するアクセス要求結果を生成するものであることを特徴とする請求項４０記載のプログラム。
【請求項４５】
前記外部アクセス管理手段は、前記プログラム実行手段と独立に設けられていることを特徴とする請求項４４記載のプログラム。
【請求項４６】
前記外部アクセス管理手段は、前記現行プログラムを実行する前記プログラム実行手段に設けられたマスター外部アクセス管理手段と、前記新規プログラムを実行する前記プログラム実行手段に設けられたスレーブ外部アクセス管理手段とで構成されることを特徴とする請求項４５記載のプログラム。
【請求項４７】
前記マスター外部アクセス管理手段は、前記現行プログラムからアクセス要求が与えられた場合には、前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記スレーブ外部アクセス管理手段からアクセス要求が与えられた場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記スレーブ外部アクセス管理手段に返却するアクセス要求結果を生成するものであり、前記スレーブ外部アクセス管理手段は、前記新規プログラムからアクセス要求が与えられたときに、そのアクセス要求を前記マスター外部アクセス管理手段に転送し、前記マスター外部アクセス管理手段から返却されたアクセス要求結果を前記新規プログラムに転送するものであることを特徴とする請求項４５記載のプログラム。
【請求項４８】
前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの応答トランザクションを採取する手段を含むことを特徴とする請求項４０記載のプログラム。
【請求項４９】
前記コンピュータを、更に、採取された前記現行プログラムの応答トランザクションと採取された前記新規プログラムの応答トランザクションとを比較し、その差異情報を表示もしくは保存する比較検証手段、として機能させることを特徴とする請求項４８記載のプログラム。
【請求項５０】
前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの前記外部データに対するアクセス要求を採取する手段を含むことを特徴とする請求項４０記載のプログラム。
【請求項５１】
前記コンピュータを、更に、採取された前記現行プログラムのアクセス要求と採取された前記新規プログラムのアクセス要求とを比較し、その差異情報を表示もしくは保存する比較検証手段、として機能させることを特徴とする請求項５０記載のプログラム。
【請求項５２】
前記ログ採取手段は、前記現行プログラムを実行する前記プログラム実行手段の環境情報および前記新規プログラムを実行する前記プログラム実行手段の環境情報を採取する手段を含むことを特徴とする請求項４０記載のプログラム。
【請求項５３】
前記コンピュータを、更に、採取された前記現行プログラムの環境情報と採取された前記新規プログラムの環境情報とを比較し、その差異情報を表示もしくは保存する比較検証手段、として機能させることを特徴とする請求項５２記載のプログラム。
【請求項５４】
前記コンピュータを、更に、前記現行プログラムによる処理サービスから前記新規プログラムによる処理サービスに切替えるプログラム切替手段、として機能させることを特徴とする請求項４０乃至５３の何れか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トランザクション処理システム、方法およびプログラムに関し、特に現行プログラムによる処理サービスと並行して、同一の機能を達成する異なるバージョンの新規プログラムをその動作確認のために実行することができるトランザクション処理システム、方法およびプログラムに関する。
【背景技術】
【０００２】
バージョンは異なるが同一の機能を達成する複数のプログラムを並列に実行する計算機システムの一例として、非特許文献１に記載されるＮバージョン方式の耐障害システムが知られている。この耐障害システムでは、複数の異なる開発者によってそれぞれ異なる手法で作成された同一の機能を達成する複数のバージョン（版）のプログラムを計算機システムで並列に実行し、複数のプログラムの出力結果から多数決によりシステムの出力を導出する。
【０００３】
バージョンは異なるが同一の機能を達成する複数のプログラムを並列に実行する計算機システムの他の例が、特許文献１に記載されている。この特許文献１に記載されたトランザクション処理システムは、トランザクションの転送先を切り替えるアクセス制御部と、異なるバージョンのソフトウェアが使用するデータ保存部にアクセスする際に一時的に利用される各データバッファ部と、異なるバージョンのソフトウェア間で排他的に前記データバッファ部へのアクセスを制御するための排他制御部を含む構成となっている。このような構成を有する従来のトランザクション処理システムは、次のように動作する。
【０００４】
ユーザアプリケーションからある処理要求のトランザクションをアクセス制御部が受け取り、これを適切なソフトウェアに選択的に投入する。ソフトウェアを新たに変更する時に、稼動中の古いソフトウェアと新たなソフトウェアが並行に動作し、新規に到着したトランザクションは、新しいソフトウェアに投入される。一時的に、古いソフトウェアで実行中のトランザクション処理と、新しいソフトウェアで開始されたトランザクション処理が同時に動作するが、それらの処理のデータアクセスが矛盾なく行われるために、データアクセスは一時的にデータバッファ部に保存され、新旧のソフトウェアで排他的にデータアクセスが行われるように排他制御が行われる。古いソフトウェアで実行中のトランザクションがすべて終了した時点で、古いソフトウェアから新しいソフトウェアへの変更が完了する。このようにして、トランザクションサービスを停止させることなく、古いソフトウェアから新しいソフトウェアへの変更を可能としている。
【０００５】
非特許文献１に記載されるＮバージョン方式の耐障害システムで使用する新たなバージョンのプログラムや特許文献１に記載される新しいソフトウェアは、実際のサービスに供される前に充分なテストを行ってその動作を確認しておく必要がある。このような動作確認は、実際の環境に近い環境で実施することが望まれる。
【０００６】
計算機のプログラムをオンラインでテストする従来技術の一例が特許文献２に記載されている。この特許文献２に記載される分散計算機システムは、ネットワークに接続される複数の計算機から構成され、各計算機内のプログラムはテストフラグ格納ファイルを持ち、各プログラムはテストフラグ格納ファイルの内容に応じてテストモードあるいはオンラインモードで起動され、各プログラムは起動されたモードに対応したフラグを出力データに付加する機能を持ち、被テストプログラムは出力されたテストデータを受け取りテスト処理を行う。そして、複数個のデータを受け取って起動するプログラムを備え、このプログラムはオンラインデータのみを受け取った時にはオンラインモードで起動し、テストデータのみを受け取った時にはテストモードで起動し、テストデータとオンラインデータが混在したデータを受け取った時には、受け取ったテストデータとオンラインデータを用いたテストモードによる起動と、受け取ったテストデータに対応するデータのデフォルト値と受け取ったオンラインデータによるオンラインモードによる起動とを行う。
【０００７】
計算機のプログラムをオンラインでテストする従来技術の他の例が特許文献３に記載されている。この特許文献３に記載されるオンラインテスト方式は、端末装置からトランザクションデータを受信したホストシステムにおいて、トランザクションデータにテスト識別子がセットされているかどうかを判別し、テスト識別子がセットされていない場合には可動中のオンライン環境の下で当該トランザクションデータを処理して結果を端末装置に返し、テスト識別子がセットされていた場合にはオンラインテスト環境の下で当該トランザクションデータを処理して結果を端末装置に返すようにしている。
【特許文献１】特開2000-137620号公報
【特許文献２】特開平08-335212号公報
【特許文献３】特開平05-216827号公報
【非特許文献１】「Fault tolerance by design diversity: Concepts and experiments」（Avizienis, A., Kelly, J.P.J., IEEE Computer vol.17, no.8, pp:67-80, 1984.）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
非特許文献１に見られるＮバージョン方式の耐障害システムで使用する新たなバージョンのプログラムや、特許文献１に見られるような現在使用しているプログラムと置き換える新バージョンのプログラムは、実際のサービスに供される前に充分なテストを行ってその動作を確認する必要があり、このような動作確認は、実際の環境に近い環境で実施することが望まれる。特許文献２および特許文献３に見られるテスト手法は、何れもオンライン処理を停止させずにテストプログラムをテストすることが可能である。しかし、何れの従来技術も現行プログラムと同一の機能を達成する異なるバージョンの新規プログラムの動作確認には適していない。その理由は、現行プログラムと同一の機能を達成する異なるバージョンの新規プログラムの動作確認では、現行プログラムと同等の動作が行われていることを確認しなければならないが、特許文献２および３に記載されるテスト手法では、テストプログラムを単にオンラインで実行できるようにしただけで、テストプログラムが現行プログラムと同一の機能を達成していることは確認できないからである。
【０００９】
そこで本発明の目的は、現行プログラムによる処理サービスを停止させずに、現行プログラムとバージョンは異なるが同一の機能を達成する新規プログラムの動作を確認することができるトランザクション処理システムおよび方法を提供することにある。
【００１０】
また本発明の他の目的は、現行プログラムと、そのバージョンは異なるが同一の機能を達成する新規プログラムとで同一のトランザクションを並行して処理し、新規プログラムで処理が正常に行われているかどうかを自動的に検証できるトランザクション処理システムおよび方法を提供することにある。
【００１１】
さらに本発明の別の目的は、現行プログラムによる処理サービスを停止させずに、現行プログラムとバージョンは異なるが同一の機能を達成する新規プログラムの動作を確認することができ、且つ、現行プログラムに代えて動作確認を終えた新規プログラムによる処理サービスを開始することができるトランザクション処理システムおよび方法を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の第１のトランザクション処理システムは、与えられた処理要求トランザクションに応じた処理を行う現行プログラムを実行するプログラム実行手段と、与えられた処理要求トランザクションに応じた処理を行う新規プログラムを実行するプログラム実行手段と、処理要求元から受信した処理要求トランザクションを前記現行プログラムおよび前記新規プログラムに与え、前記現行プログラムから得られた応答トランザクションを前記処理要求元に送信するトランザクション入出力手段と、前記現行プログラムおよび前記新規プログラムが外部データにアクセスする際にそのアクセスを管理する外部アクセス管理手段と、前記現行プログラムおよび前記新規プログラムに関連するログを採取するログ採取手段とを備えたことを特徴とする。ここで、現行プログラムおよび新規プログラムに関連するログとは、典型的には、現行プログラムから返却される応答トランザクション、新規プログラムから返却される応答トランザクションであるが、それのみに限定されない。何故なら、最終結果自体を比較しなくても、その途中の情報を比較することで、新規プログラムが現行プログラムと同等の機能を達成しているかどうかを確認できるからである。途中の情報の例としては、外部データへのアクセス要求がある。また、途中の情報の他の例としては、現行プログラムおよび新規プログラムのＣＰＵ使用率、メモリ使用率などの環境情報がある。
【００１３】
本発明の第２のトランザクション処理システムは、第１のトランザクション処理システムにおいて、前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムおよび前記新規プログラムに転送するトランザクション複製転送手段を含むことを特徴とする。
【００１４】
本発明の第３のトランザクション処理システムは、第１のトランザクション処理システムにおいて、前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムに転送するトランザクション複製転送手段と、前記複製された処理要求トランザクションを保存するトランザクション保存手段と、前記保存された処理要求トランザクションを読み出して前記新規プログラムに転送するトランザクション転送手段とを含むことを特徴とする。
【００１５】
本発明の第４のトランザクション処理システムは、第１のトランザクション処理システムにおいて、前記トランザクション入出力手段は、前記受信した処理要求トランザクションを保存するトランザクション保存手段と、前記保存された処理要求トランザクションを読み出して前記現行プログラムおよび前記新規プログラムに転送するトランザクション転送手段とを含むことを特徴とする。
【００１６】
本発明の第５のトランザクション処理システムは、第１のトランザクション処理システムにおいて、前記外部アクセス管理手段は、前記現行プログラムからのアクセス要求の場合には前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記新規プログラムからのアクセス要求の場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記新規プログラムに返却するアクセス要求結果を生成するものであることを特徴とする。
【００１７】
本発明の第６のトランザクション処理システムは、第５のトランザクション処理システムにおいて、前記外部アクセス管理手段は、前記プログラム実行手段と独立に設けられていることを特徴とする。
【００１８】
本発明の第７のトランザクション処理システムは、第５のトランザクション処理システムにおいて、前記外部アクセス管理手段は、前記現行プログラムを実行する前記プログラム実行手段に設けられたマスター外部アクセス管理手段と、前記新規プログラムを実行する前記プログラム実行手段に設けられたスレーブ外部アクセス管理手段とで構成されることを特徴とする。
【００１９】
本発明の第８のトランザクション処理システムは、第７のトランザクション処理システムにおいて、前記マスター外部アクセス管理手段は、前記現行プログラムからアクセス要求が与えられた場合には、前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記スレーブ外部アクセス管理手段からアクセス要求が与えられた場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記スレーブ外部アクセス管理手段に返却するアクセス要求結果を生成するものであり、前記スレーブ外部アクセス管理手段は、前記新規プログラムからアクセス要求が与えられたときに、そのアクセス要求を前記マスター外部アクセス管理手段に転送し、前記マスター外部アクセス管理手段から返却されたアクセス要求結果を前記新規プログラムに転送するものであることを特徴とする。
【００２０】
本発明の第９のトランザクション処理システムは、第１のトランザクション処理システムにおいて、前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの応答トランザクションを採取する手段を含むことを特徴とする。
【００２１】
本発明の第１０のトランザクション処理システムは、第９のトランザクション処理システムにおいて、採取された前記現行プログラムの応答トランザクションと採取された前記新規プログラムの応答トランザクションとを比較し、その差異情報を表示もしくは保存する比較検証手段を備えたことを特徴とする。
【００２２】
本発明の第１１のトランザクション処理システムは、第１０のトランザクション処理システムにおいて、前記比較検証手段は、比較する応答トランザクションのデータの中で比較する領域、または比較しない領域を指定する情報を保持する手段を備えたことを特徴とする。
【００２３】
本発明の第１２のトランザクション処理システムは、第１１のトランザクション処理システムにおいて、比較する領域を指定する情報として、比較する領域の先頭アドレスと長さのリストを保持し、前記比較検証手段は、指定された先頭アドレスと長さで特定される比較領域どうしのみを比較するものであることを特徴とする。
【００２４】
本発明の第１３のトランザクション処理システムは、第１１のトランザクション処理システムにおいて、比較しない領域を指定する情報として、比較しない領域の先頭アドレスと長さのリストを保持し、前記比較検証手段は、指定された先頭アドレスと長さで特定される領域を除いて比較するものであることを特徴とする。
【００２５】
本発明の第１４のトランザクション処理システムは、第１０のトランザクション処理システムにおいて、前記応答トランザクションは構造化された文書データであり、前記比較検証手段は、あらかじめ指定された文字列に囲まれた領域のみを比較するものであることを特徴とする。
【００２６】
本発明の第１５のトランザクション処理システムは、第１０のトランザクション処理システムにおいて、前記応答トランザクションは構造化された文書データであり、前記比較検証手段は、あらかじめ指定された文字列を含む行または段落のみを比較するものであることを特徴とする。
【００２７】
本発明の第１６のトランザクション処理システムは、第１０のトランザクション処理システムにおいて、前記応答トランザクションは構造化された文書データであり、前記比較検証手段は、あらかじめ指定された文字列に囲まれた領域を除いて比較することを特徴とする。
【００２８】
本発明の第１７のトランザクション処理システムは、第１０のトランザクション処理システムにおいて、前記応答トランザクションは構造化された文書データであり、前記比較検証手段は、あらかじめ指定された文字列を含む行もしくは段落を除いて比較するものであることを特徴とする。
【００２９】
本発明の第１８のトランザクション処理システムは、第１のトランザクション処理システムにおいて、前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの前記外部データに対するアクセス要求を採取する手段を含むことを特徴とする。
【００３０】
本発明の第１９のトランザクション処理システムは、第１８のトランザクション処理システムにおいて、採取された前記現行プログラムのアクセス要求と採取された前記新規プログラムのアクセス要求とを比較し、その差異情報を表示もしくは保存する比較検証手段を備えたことを特徴とする。
【００３１】
本発明の第２０のトランザクション処理システムは、第１のトランザクション処理システムにおいて、前記ログ採取手段は、前記現行プログラムを実行する前記プログラム実行手段の環境情報および前記新規プログラムを実行する前記プログラム実行手段の環境情報を採取する手段を含むことを特徴とする。
【００３２】
本発明の第２１のトランザクション処理システムは、第２０のトランザクション処理システムにおいて、採取された前記現行プログラムの環境情報と採取された前記新規プログラムの環境情報とを比較し、その差異情報を表示もしくは保存する比較検証手段を備えたことを特徴とする。
【００３３】
本発明の第２２のトランザクション処理システムは、第１乃至第２１の何れかのトランザクション処理システムにおいて、前記現行プログラムによる処理サービスから前記新規プログラムによる処理サービスに切替えるプログラム切替手段を備えたことを特徴とする。
【００３４】
本発明の第２３のトランザクション処理システムは、第２２のトランザクション処理システムにおいて、前記プログラム切替手段は、現行プログラムを停止させるものであることを特徴とする。
【００３５】
本発明の第２４のトランザクション処理システムは、第２２のトランザクション処理システムにおいて、前記プログラム切替手段は、前記現行プログラムを停止させずに前記新規プログラムと並行して動作させ続けるものであることを特徴とする。
【００３６】
本発明の第１のトランザクション処理方法は、a)それぞれ異なるプログラム実行手段が、与えられた処理要求トランザクションに応じた処理を行う現行プログラムと与えられた処理要求トランザクションに応じた処理を行う新規プログラムとを並行して実行するステップと、b)トランザクション入出力手段が、処理要求元から受信した処理要求トランザクションを前記現行プログラムおよび前記新規プログラムに与え、前記現行プログラムから得られた応答トランザクションを前記処理要求元に送信するステップと、c)外部アクセス管理手段が、前記現行プログラムおよび前記新規プログラムが外部データにアクセスする際にそのアクセスを管理するステップと、d)ログ採取手段が、前記現行プログラムおよび前記新規プログラムに関連するログを採取するステップと、を含むことを特徴とする。
【００３７】
本発明の第２のトランザクション処理方法は、第１のトランザクション処理方法において、前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムおよび前記新規プログラムに転送することを特徴とする。
【００３８】
本発明の第３のトランザクション処理方法は、第１のトランザクション処理方法において、前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムに転送すると共に記憶手段に一旦保存し、該保存した処理要求トランザクションを読み出して前記新規プログラムに転送することを特徴とする。
【００３９】
本発明の第４のトランザクション処理方法は、第１のトランザクション処理方法において、前記トランザクション入出力手段は、前記受信した処理要求トランザクションを記憶手段に一旦保存し、該保存された処理要求トランザクションを読み出して前記現行プログラムおよび前記新規プログラムに転送することを特徴とする。
【００４０】
本発明の第５のトランザクション処理方法は、第１のトランザクション処理方法において、前記外部アクセス管理手段は、前記現行プログラムからのアクセス要求の場合には前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記新規プログラムからのアクセス要求の場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記新規プログラムに返却するアクセス要求結果を生成することを特徴とする。
【００４１】
本発明の第６のトランザクション処理方法は、第５のトランザクション処理方法において、前記外部アクセス管理手段は、前記プログラム実行手段と独立に動作することを特徴とする。
【００４２】
本発明の第７のトランザクション処理方法は、第５のトランザクション処理方法において、前記外部アクセス管理手段は、前記現行プログラムを実行する前記プログラム実行手段に設けられたマスター外部アクセス管理手段と、前記新規プログラムを実行する前記プログラム実行手段に設けられたスレーブ外部アクセス管理手段とで構成されることを特徴とする。
【００４３】
本発明の第８のトランザクション処理方法は、第７のトランザクション処理方法において、前記マスター外部アクセス管理手段は、前記現行プログラムからアクセス要求が与えられた場合には、前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記スレーブ外部アクセス管理手段からアクセス要求が与えられた場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記スレーブ外部アクセス管理手段に返却するアクセス要求結果を生成し、前記スレーブ外部アクセス管理手段は、前記新規プログラムからアクセス要求が与えられたときに、そのアクセス要求を前記マスター外部アクセス管理手段に転送し、前記マスター外部アクセス管理手段から返却されたアクセス要求結果を前記新規プログラムに転送することを特徴とする。
【００４４】
本発明の第９のトランザクション処理方法は、第１のトランザクション処理方法において、前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの応答トランザクションを採取することを特徴とする。
【００４５】
本発明の第１０のトランザクション処理方法は、第９のトランザクション処理方法において、e)比較検証手段が、採取された前記現行プログラムの応答トランザクションと採取された前記新規プログラムの応答トランザクションとを比較し、その差異情報を表示もしくは保存するステップ、を更に含むことを特徴とする。
【００４６】
本発明の第１１のトランザクション処理方法は、第１のトランザクション処理方法において、前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの前記外部データに対するアクセス要求を採取することを特徴とする。
【００４７】
本発明の第１２のトランザクション処理方法は、第１１のトランザクション処理方法において、e)比較検証手段が、採取された前記現行プログラムのアクセス要求と採取された前記新規プログラムのアクセス要求とを比較し、その差異情報を表示もしくは保存するステップ、を更に含むことを特徴とする。
【００４８】
本発明の第１３のトランザクション処理方法は、第１のトランザクション処理方法において、前記ログ採取手段は、前記現行プログラムを実行する前記プログラム実行手段の環境情報および前記新規プログラムを実行する前記プログラム実行手段の環境情報を採取することを特徴とする。
【００４９】
本発明の第１４のトランザクション処理方法は、第１３のトランザクション処理方法において、e)比較検証手段が、採取された前記現行プログラムの環境情報と採取された前記新規プログラムの環境情報とを比較し、その差異情報を表示もしくは保存するステップ、を更に含むことを特徴とする。
【００５０】
本発明の第１５のトランザクション処理方法は、第１乃至第１４の何れかのトランザクション処理方法において、f)プログラム切替手段が、前記現行プログラムによる処理サービスから前記新規プログラムによる処理サービスに切替えるステップ、を更に含むことを特徴とする。
【００５１】
本発明の第１のプログラムは、与えられた処理要求トランザクションに応じた処理を行う現行プログラムを実行するプログラム実行手段と、与えられた処理要求トランザクションに応じた処理を行う新規プログラムを実行するプログラム実行手段とを備えたトランザクション処理システムを構成するコンピュータを、処理要求元から受信した処理要求トランザクションを前記現行プログラムおよび前記新規プログラムに与え、前記現行プログラムから得られた応答トランザクションを前記処理要求元に送信するトランザクション入出力手段、前記現行プログラムおよび前記新規プログラムが外部データにアクセスする際にそのアクセスを管理する外部アクセス管理手段、前記現行プログラムおよび前記新規プログラムに関連するログを採取するログ採取手段、として機能させることを特徴とする。
【００５２】
本発明の第２のプログラムは、第１のプログラムにおいて、前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムおよび前記新規プログラムに転送するトランザクション複製転送手段を含むことを特徴とする。
【００５３】
本発明の第３のプログラムは、第１のプログラムにおいて、前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムに転送するトランザクション複製転送手段と、前記複製された処理要求トランザクションを保存するトランザクション保存手段と、前記保存された処理要求トランザクションを読み出して前記新規プログラムに転送するトランザクション転送手段とを含むことを特徴とする。
【００５４】
本発明の第４のプログラムは、第１のプログラムにおいて、前記トランザクション入出力手段は、前記受信した処理要求トランザクションを保存するトランザクション保存手段と、前記保存された処理要求トランザクションを読み出して前記現行プログラムおよび前記新規プログラムに転送するトランザクション転送手段とを含むことを特徴とする。
【００５５】
本発明の第５のプログラムは、第１のプログラムにおいて、前記外部アクセス管理手段は、前記現行プログラムからのアクセス要求の場合には前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記新規プログラムからのアクセス要求の場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記新規プログラムに返却するアクセス要求結果を生成するものであることを特徴とする。
【００５６】
本発明の第６のプログラムは、第５のプログラムにおいて、前記外部アクセス管理手段は、前記プログラム実行手段と独立に設けられていることを特徴とする。
【００５７】
本発明の第７のプログラムは、第５のプログラムにおいて、前記外部アクセス管理手段は、前記現行プログラムを実行する前記プログラム実行手段に設けられたマスター外部アクセス管理手段と、前記新規プログラムを実行する前記プログラム実行手段に設けられたスレーブ外部アクセス管理手段とで構成されることを特徴とする。
【００５８】
本発明の第８のプログラムは、第７のプログラムにおいて、前記マスター外部アクセス管理手段は、前記現行プログラムからアクセス要求が与えられた場合には、前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記スレーブ外部アクセス管理手段からアクセス要求が与えられた場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記スレーブ外部アクセス管理手段に返却するアクセス要求結果を生成するものであり、前記スレーブ外部アクセス管理手段は、前記新規プログラムからアクセス要求が与えられたときに、そのアクセス要求を前記マスター外部アクセス管理手段に転送し、前記マスター外部アクセス管理手段から返却されたアクセス要求結果を前記新規プログラムに転送するものであることを特徴とする。
【００５９】
本発明の第９のプログラムは、第１のプログラムにおいて、前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの応答トランザクションを採取する手段を含むことを特徴とする。
【００６０】
本発明の第１０のプログラムは、第９のプログラムにおいて、前記コンピュータを、更に、採取された前記現行プログラムの応答トランザクションと採取された前記新規プログラムの応答トランザクションとを比較し、その差異情報を表示もしくは保存する比較検証手段、として機能させることを特徴とする。
【００６１】
本発明の第１１のプログラムは、第１のプログラムにおいて、前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの前記外部データに対するアクセス要求を採取する手段を含むことを特徴とする。
【００６２】
本発明の第１２のプログラムは、第１１のプログラムにおいて、前記コンピュータを、更に、採取された前記現行プログラムのアクセス要求と採取された前記新規プログラムのアクセス要求とを比較し、その差異情報を表示もしくは保存する比較検証手段、として機能させることを特徴とする。
【００６３】
本発明の第１３のプログラムは、第１のプログラムにおいて、前記ログ採取手段は、前記現行プログラムを実行する前記プログラム実行手段の環境情報および前記新規プログラムを実行する前記プログラム実行手段の環境情報を採取する手段を含むことを特徴とする。
【００６４】
本発明の第１４のプログラムは、第１３のプログラムにおいて、前記コンピュータを、更に、採取された前記現行プログラムの環境情報と採取された前記新規プログラムの環境情報とを比較し、その差異情報を表示もしくは保存する比較検証手段、として機能させることを特徴とする。
【００６５】
本発明の第１５のプログラムは、第１乃至第１４の何れかのプログラムにおいて、前記コンピュータを、更に、前記現行プログラムによる処理サービスから前記新規プログラムによる処理サービスに切替えるプログラム切替手段、として機能させることを特徴とする。
【発明の効果】
【００６６】
本発明の第１のトランザクション処理システムおよび方法ならびにプログラムにあっては、現行プログラムと新規プログラムとを並行して実行し、処理要求元から受信した処理要求トランザクションを現行プログラムおよび新規プログラムの双方に与え、現行プログラムから得られた応答トランザクションを処理要求元に送信し、現行プログラムおよび新規プログラムに関連するログを採取するため、現行プログラムによる処理サービスを停止させずに、別の新規プログラムの動作を現行プログラムの動作と比較させて確認することができる。これによって、新しいプログラムへのシステムの切り替えの安全性をより確実に確認することができる。
【００６７】
本発明の第２のトランザクション処理システムおよび方法ならびにプログラムにあっては、現行プログラムと新規プログラムとを並行して実行し、処理要求元から受信した処理要求トランザクションを複製して現行プログラムおよび新規プログラムの双方に与え、現行プログラムから得られた応答トランザクションを処理要求元に送信し、現行プログラムおよび新規プログラムに関連するログを採取するため、現行プログラムによる処理サービスを停止させずに、別の新規プログラムの動作を現行プログラムの動作と比較させて確認することができる。
【００６８】
本発明の第３のトランザクション処理システムおよび方法ならびにプログラムにあっては、現行プログラムと新規プログラムとを並行して実行し、処理要求元から受信した処理要求トランザクションを複製して現行プログラムに与えると同時に記憶手段を通じて新規プログラムに与え、現行プログラムから得られた応答トランザクションを処理要求元に送信し、現行プログラムおよび新規プログラムに関連するログを採取するため、現行プログラムによる処理サービスを停止させずに、別の新規プログラムの動作を現行プログラムの動作と比較させて確認することができる。また、新規プログラムに与える処理要求トランザクションは記憶手段経由で与えるため、現行プログラムに対する処理要求トランザクションの投入と新規プログラムに対する同じ処理要求トランザクションの投入とを非同期に並行して実行でき、新規プログラムの不具合による現行プログラムへの影響を抑えることができる。
【００６９】
本発明の第４のトランザクション処理システムおよび方法ならびにプログラムにあっては、現行プログラムと新規プログラムとを並行して実行し、処理要求元から受信した処理要求トランザクションを記憶手段に一旦保存し、記憶手段から処理要求トランザクションを読み出して現行プログラムおよび新規プログラムの双方に与え、現行プログラムから得られた応答トランザクションを処理要求元に送信し、現行プログラムおよび新規プログラムに関連するログを採取するため、現行プログラムによる処理サービスを停止させずに、別の新規プログラムの動作を現行プログラムの動作と比較させて確認することができる。また、新規プログラムに与える処理要求トランザクションは記憶手段経由で与えるため、現行プログラムに対する処理要求トランザクションの投入と新規プログラムに対する同じ処理要求トランザクションの投入とを非同期に並行して実行でき、新規プログラムの不具合による現行プログラムへの影響を抑えることができ、さらに、処理要求トランザクションの投入経路が現行プログラムと新規プログラムで同じになるため、現行プログラムと新規プログラムの処理の比較がより正確に行える。
【００７０】
本発明の第５のトランザクション処理システムおよび方法ならびにプログラムにあっては、第１のトランザクション処理システムおよび方法ならびにプログラムと同じ効果が得られると共に、現行プログラムと新規プログラムとで同じ外部データが２度アクセスされる事態を回避でき、また動作確認中の新規プログラムからの予期せぬ不正なアクセス要求によって外部データが破壊されるなどの不測の事態を回避できる。
【００７１】
本発明の第６のトランザクション処理システムおよび方法ならびにプログラムにあっては、第５のトランザクション処理システムおよび方法ならびにプログラムと同じ効果が得られると共に、外部アクセス管理手段がプログラム実行手段と独立しているため、外部アクセス管理手段をネットワークデータ処理を行うネットワークノードの１つとして実装するといったことが可能となる。
【００７２】
本発明の第７のトランザクション処理システムおよび方法ならびにプログラムにあっては、第５のトランザクション処理システムおよび方法ならびにプログラムと同じ効果が得られると共に、外部アクセス管理手段が、現行プログラムを実行するプログラム実行手段に設けられたマスター外部アクセス管理手段と、新規プログラムを実行するプログラム実行手段に設けられたスレーブ外部アクセス管理手段とで構成されるため、外部アクセス管理手段をプログラム実行手段を構成するコンピュータにおけるネットワークアクセスを行うプログラムライブラリの１つとして実装するといったことが可能となる。
【００７３】
本発明の第８のトランザクション処理システムおよび方法ならびにプログラムにあっては、第７のトランザクション処理システムおよび方法ならびにプログラムと同じ効果が得られると共に、現行プログラムと新規プログラムとで同じ外部データが２度アクセスされる事態を回避でき、また動作確認中の新規プログラムからの不正なアクセス要求によって外部データが破壊されるなどの不測の事態を回避できる。
【００７４】
本発明の第９のトランザクション処理システムおよび方法ならびにプログラムは、第１のトランザクション処理システムおよび方法ならびにプログラムと同じ効果が得られると共に、現行プログラムおよび新規プログラムの応答トランザクションどうしを直接比較することが可能である。
【００７５】
本発明の第１０のトランザクション処理システムおよび方法ならびにプログラムは、第９のトランザクション処理システムおよび方法ならびにプログラムと同じ効果が得られると共に、比較検証手段によって、現行プログラムの応答トランザクションと新規プログラムの応答トランザクションとの比較、その差異情報の表示もしくは保存を自動的に行うことができる。これによって、切り替えようとしている新しいプログラムに不具合があった場合に、より容易にその不具合を発見することができる。
【００７６】
本発明の第１１のトランザクション処理システムにあっては、第１０のトランザクション処理システムと同じ効果が得られると共に、比較する応答トランザクションのデータの中で比較する領域、または比較しない領域を指定することができる。
【００７７】
本発明の第１２のトランザクション処理システムにあっては、第１１のトランザクション処理システムと同じ効果が得られると共に、比較する領域を指定する情報として、比較する領域の先頭アドレスと長さのリストを指定でき、指定した先頭アドレスと長さで特定される比較領域どうしのみを比較することができる。
【００７８】
本発明の第１３のトランザクション処理システムにあっては、第１１のトランザクション処理システムと同じ効果が得られると共に、比較しない領域を指定する情報として、比較しない領域の先頭アドレスと長さのリストを指定でき、指定した先頭アドレスと長さで特定される領域を除いて比較することができる。
【００７９】
本発明の第１４のトランザクション処理システムにあっては、第１０のトランザクション処理システムと同じ効果が得られると共に、比較検証において、あらかじめ指定された文字列に囲まれた領域のみを比較することができる。
【００８０】
本発明の第１５のトランザクション処理システムにあっては、第１０のトランザクション処理システムと同じ効果が得られると共に、比較検証において、あらかじめ指定された文字列を含む行または段落のみを比較することができる。
【００８１】
本発明の第１６のトランザクション処理システムにあっては、第１０のトランザクション処理システムと同じ効果が得られると共に、比較検証において、構造化された文書データを対象として、あらかじめ指定された文字列に囲まれた領域を除いて比較することができる。
【００８２】
本発明の第１７のトランザクション処理システムにあっては、第１０のトランザクション処理システムと同じ効果が得られると共に、比較検証において、構造化された文書データを対象として、あらかじめ指定された文字列を含む行もしくは段落を除いて比較することができる。
【００８３】
本発明の第１８のトランザクション処理システムにあっては、第１のトランザクション処理システムと同じ効果が得られると共に、現行プログラムおよび新規プログラムの外部データに対するアクセス要求どうしを直接比較することが可能である。
【００８４】
本発明の第１９のトランザクション処理システムにあっては、第１８のトランザクション処理システムと同じ効果が得られると共に、現行プログラムのアクセス要求と新規プログラムのアクセス要求との比較、その差異情報の表示もしくは保存を自動的に行うことができる。
【００８５】
本発明の第２０のトランザクション処理システムにあっては、第１のトランザクション処理システムと同じ効果が得られると共に、現行プログラムを実行するプログラム実行手段の環境情報と新規プログラムを実行するプログラム実行手段の環境情報とを比較することができる。
【００８６】
本発明の第２１のトランザクション処理システムにあっては、第１のトランザクション処理システムと同じ効果が得られると共に、現行プログラムの環境情報と新規プログラムの環境情報との比較、その差異情報の表示もしくは保存を自動的に行うことが可能である。
【００８７】
本発明の第２２のトランザクション処理システムにあっては、第１乃至第２１のトランザクション処理システムと同じ効果が得られると共に、新規プログラムの動作確認後、問題が見つからなければ、現行プログラムから新規プログラムへのトランザクション処理を速やかに切替えることができる。
【００８８】
本発明の第２３のトランザクション処理システムにあっては、第２２のトランザクション処理システムと同じ効果が得られると共に、現行プログラムを停止させるため、システムのＣＰＵ使用率や消費電力を低減することができる。
【００８９】
本発明の第２４のトランザクション処理システムにあっては、第２２のトランザクション処理システムと同じ効果が得られると共に、現行プログラムを停止させずに新規プログラムと並行して動作させ続けるため、若し、新規プログラムに不具合が発見され、元の現行プログラムによるトランザクション処理に戻す場合に、現行プログラムを一から起動する手間と時間を省くことができる。
【００９０】
本発明の第１１のトランザクション処理方法およびプログラムにあっては、第１のトランザクション処理方法およびプログラムと同じ効果が得られると共に、現行プログラムおよび新規プログラムの外部データに対するアクセス要求どうしを直接比較することが可能である。
【００９１】
本発明の第１２のトランザクション処理方法およびプログラムにあっては、第１１のトランザクション処理方法およびプログラムと同じ効果が得られると共に、現行プログラムのアクセス要求と新規プログラムのアクセス要求との比較、その差異情報の表示もしくは保存を自動的に行うことができる。
【００９２】
本発明の第１３のトランザクション処理方法およびプログラムにあっては、第１のトランザクション処理方法およびプログラムと同じ効果が得られると共に、現行プログラムを実行するプログラム実行手段の環境情報と新規プログラムを実行するプログラム実行手段の環境情報とを比較することができる。
【００９３】
本発明の第１４のトランザクション処理方法およびプログラムにあっては、第１３のトランザクション処理方法およびプログラムと同じ効果が得られると共に、現行プログラムの環境情報と新規プログラムの環境情報との比較、その差異情報の表示もしくは保存を自動的に行うことが可能である。
【００９４】
本発明の第１５のトランザクション処理方法およびプログラムにあっては、第１乃至第１４のトランザクション処理方法およびプログラムと同じ効果が得られると共に、新規プログラムの動作確認後、問題が見つからなければ、現行プログラムから新規プログラムへのトランザクション処理を速やかに切替えることができる。
【発明を実施するための最良の形態】
【００９５】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００９６】
図１を参照すると、本発明の第１の実施の形態にかかるトランザクション処理システム1001は、インターネットブラウザのようなクライアント（端末装置）100からの処理要求トランザクションを受信して、そのトランザクションに応じた処理を行う現行プログラム2が動作するプログラム実行部200と、同じくそのトランザクションに応じた処理を行う新規プログラム3が動作するプログラム実行部300と、クライアント100とプログラム実行部200、300の間にあってトランザクションを複製および転送するトランザクション複製転送部1と、現行プログラム2と新規プログラム3がデータベースシステムやインターネットWebサービスシステムなどの外部システムに存在する外部データ400にアクセスする際にそのアクセスを管理する外部アクセス管理部4と、現行プログラム2の応答トランザクションを保存もしくは出力する現行プログラム応答トランザクション出力部7と、新規プログラム3の応答トランザクションを保存もしくは出力する新規プログラム応答トランザクション出力部８とを含む。
【００９７】
現行プログラム2は、クライアント100に対してサービスを実際に提供するプログラムであり、正常に動作することが既に確認されている。これに対して新規プログラム3は、現行プログラム2と同等の機能を提供するがバージョンが異なるプログラムであり、正常に動作するか否かは未だ確認されていない。プログラム実行部200、300はコンピュータ（中央処理装置、プロセッサ、データ処理装置）で構成されるが、双方のプログラム実行部200と300は必ずしも異なるコンピュータである必要はなく、同じコンピュータであっても良い。
【００９８】
次に、図１及び図２のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
【００９９】
まず、クライアント100において、サービス要求が発生すると（S101)、処理要求トランザクションがクライアント100から送信され（S102)、トランザクション複製転送部1で受信される（S103)。ここで、トランザクションは複製されて、１つは現行の処理プログラム2に処理されるように送信され（S104)、もう１つは新規プログラム3に処理されるように送信される（S105)。
【０１００】
現行プログラム２では、処理要求トランザクションを受信し（S106)、トランザクション処理を実行し（S107)、その処理結果を処理応答トランザクションとしてトランザクション複製転送部1に向けて送信する（S108)。トランザクション複製転送部1は処理応答トランザクションを受信すると（S109）、受信した処理応答トランザクションを現行プログラム応答トランザクション出力部7に送信すると同時に、処理要求元のクライアント100に送信する（S110)。クライアント100は処理応答トランザクションを受信する（S111)。現行プログラム応答トランザクション出力部7は、受信した処理応答トランザクションを内部の記憶装置に保存するか、図示しないディスプレイやプリンタなどの出力装置から出力する。
【０１０１】
一方、新規プログラム3では、処理要求トランザクションを受信すると(S112)、トランザクション処理を実行し（S113)、その処理結果を処理応答トランザクションとしてトランザクション複製転送部1に向けて送信する(S114)。トランザクション複製転送部1は、処理応答トランザクションを受信すると(S115)、受信した処理応答トランザクションを新規プログラムトランザクション出力部8に伝達するが、クライアント100には転送しない。新規プログラム応答トランザクション出力部8は、受信した処理応答トランザクションを内部の記憶装置に保存するか、図示しないディスプレイやプリンタなどの出力装置から出力する。
【０１０２】
次に、図３を用いて、現行プログラム2および新規プログラム3がデータベースシステムやインターネットWebサービスシステムなどの外部システムに存在する外部データ400にアクセスを行う場合の外部アクセス管理部4の動作について詳細に説明する。
【０１０３】
現行プログラム2において外部データ400へのアクセスがあると、外部アクセス管理部4では、その外部データ400へのアクセス要求を受信する（S201、S202)。その要求が、現行プログラム2からのものであれば（S203）、実際に外部データ400をアクセスするために外部のシステムへアクセス要求を送信する（S204)。外部のシステムがその要求を処理し、応答があると、外部アクセス管理部4では、そのアクセス応答を受信する（S205)。そして、その応答を現行プログラム2に送信する（S206)。もし、外部のシステムからの応答がなく、何らかのエラー結果があれば、エラー結果を送信する。これらのアクセス情報は、以下に述べるように新規プログラム3からのアクセスの際に利用できるように、外部アクセス管理部4内に備わる保存部4aに保存される（S207)。すなわち、現行プログラム2から1回アクセス要求が出される毎に、そのアクセス要求を一意に識別するためのアクセス要求情報4bとそのアクセス要求結果情報4cとの組が保存部4aに保存される。アクセス要求結果情報4cには、読み込みや書き込みが成功したか失敗したかを示すアクセス結果と、読み込みアクセスの場合の読み込まれたデータとが含まれる。
【０１０４】
新規プログラム3において外部データ400へのアクセスがあると、外部アクセス管理部4では、その外部データへのアクセス要求を受信する（S201、S202)。その要求が、新規プログラム3からのものであれば（S203）、同じアクセス要求が、現行プログラム2から既に行われているかどうかを保存部4aの内容を調べてチェックする（S210）。もし、現行プログラム2からの同じアクセス要求にかかるアクセス要求情報4bがまだ存在しなければ、所定のタイムアウト時間だけ、繰り返しチェックを行い（S213)、タイムアウト時には、新規プログラム3にエラー結果を送信する（S214)。もし、現行プログラム2からの同じアクセス要求にかかるアクセス要求情報4bがあれば、それに対応するアクセス要求結果情報4cに応答情報もしくは何らかのエラー結果が保存されているので、それを抽出し（S211)、新規プログラム3に外部データ400からのアクセス結果として送信する（S212)。
【０１０５】
つまり、現行プログラム2が外部データ400から読み込みを行う場合、読み込みを行ったデータと読み込み結果はアクセス要求結果情報4cとして保存される。新規プログラム3が外部データ400から読み込みを行う場合、保存されている現行プログラム2が読み込んだデータおよびその読み込み結果が利用される。いわゆるキャッシュデータの読み込みとほぼ同じ動作を行う。現行プログラム2が外部データへ書き込みを行う場合は、通常通り書き込みは行われ、その書き込み結果がアクセス要求結果情報4cとして保存される。新規プログラム3が外部データ400へ書き込みを行う場合は、実際の書き込みは行われず、アクセス要求結果情報4cに保存されている現行プログラム2が書き込んだ際の書き込み結果が新規プログラム3に返却される。
【０１０６】
次に、本実施の形態の効果について説明する。本実施の形態では、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、現行プログラム2によるオンライン業務に影響を与えずに、新規プログラム3を並行して実行することが可能である。また、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作を確認することができる。
【０１０７】
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。
【０１０８】
図４を参照すると、本発明の第２の実施の形態にかかるトランザクション処理システム1002は、図１に示した第１の実施の形態にかかるトランザクション処理システム1001における外部アクセス管理手段4を、マスター外部アクセス管理部4Aとスレーブ外部アクセス管理部4Bとに分離し、それぞれ現行プログラム2を実行するプログラム実行部200と、新規プログラム3を実行するプログラム実行部300に含むように構成されている。
【０１０９】
次に、図４及び図５のフローチャートを用いて、マスター外部アクセス管理部4Aの動作について詳細に説明する。
【０１１０】
現行プログラム2において、外部データ400へのアクセスがあると(S301)、マスター外部アクセス管理部4Aは、外部データ400へのアクセス要求を受信し（S302）、そのアクセス要求を外部データ400に送信し（S303）、外部データ400からの応答を受信し（S304）、さらに現行プログラム2にその応答を送信し（S305)、そのアクセス情報を内部の保存部4aに保存する（S306)。アクセス情報の保存は外部アクセス管理部4の場合と同様に行われる。次に新規プログラム3からの同一のアクセス要求があるかどうかをチェックし（S307）、もしあればその応答を保存部4aから抽出し、送信する（S308)。ここでは、１つのプロセスとして、説明を行ったが、現行プログラム2からの要求の受信および応答の転送と保存を行うS302からS306の処理と、新規プログラム3からのアクセスに応答して、外部データ400から応答を抽出し、送信するS307からS308の処理は、別プロセスでもよい。
【０１１１】
次に、図４及び図６のフローチャートを用いて、スレーブ外部アクセス管理部4Bの動作について詳細に説明する。
【０１１２】
新規プログラム3において、外部データ400へのアクセスがあると(S401)、マスター外部アクセス管理部4Aに対して、同一のアクセスが現行プログラム2で実行されていれば、そのアクセス結果を送信するように要求する（S402)。もし、マスター外部アクセス管理部4Aから応答があれば(S403)、それを外部データ400からのアクセス結果として受信する(S404)。もし、マスター外部アクセス管理部4Aから応答がなければ（S403)、所定のタイムアウト時間だけ、応答のチェックを繰り返す（S405)。タイムアウト時には、エラー処理を行う(S406)。
【０１１３】
次に、本発明の第２の実施の形態の効果について説明する。
【０１１４】
本実施の形態では、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、新規プログラム3を並行して実行することが可能となっており、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作検証を行うことができる。
【０１１５】
さらに、本実施の形態では、第１の実施の形態における外部アクセス管理手段4を、現行プログラム2および新規プログラム3を実行する各プログラム実行部200,300に含むように構成しているので、第１の実施の形態の効果に加え、より正確な外部アクセスを行うことができる。その理由は、第１の実施の形態では、外部データ400へのアクセスを行う通信の経路上に外部アクセス管理部4を設けて、要求および応答を代理転送しているので、接続情報がこのような代理接続の構成と、通常の直接接続の構成とでは異なる場合があるためである。例えば、外部アクセス管理部4が外部データ400に接続を確立できなくても、プログラムからみると、外部アクセス管理部4への接続を確立し、その後エラー情報が通信されることになり、そのエラー状態は直接接続しようとして接続できないエラー状態と異なる。第２の実施の形態では、プログラム実行部を構成するコンピュータ内部のマスター外部アクセス管理部4Aからの接続であるので、そのような差異は発生しない。
【０１１６】
ただし、第２の実施の形態では、コンピュータ内部での処理に変更を加えることになるので、コンピュータ内部の処理に影響する場合があり、プログラムによっては、第１の実施の形態の方が好適である場合がある。実装上、第１の実施の形態の外部アクセス管理部4は、ネットワークデータ処理を行うネットワークノードの１つとして実装され、第２の実施の形態のマスター外部アクセス管理部4Aおよびスレーブ外部アクセス管理部4Bは、ネットワークアクセスを行うプログラムライブラリの１つとして実装され、第１の実施の形態では、コンピュータに含まれるソフトウェアを変更する必要がない。
【０１１７】
次に、本発明の第３の実施の形態について図面を参照して詳細に説明する。
【０１１８】
図７を参照すると、本発明の第３の実施の形態にかかるトランザクション処理システム1003は、インターネットブラウザのようなクライアント100からの処理要求トランザクションを受信して、そのトランザクションに応じた処理を行う現行プログラム2が動作するプログラム実行部（コンピュータ、中央処理装置、プロセッサ、データ処理装置など）200と、同じくそのトランザクションに応じた処理を行う新規プログラム3が動作するプログラム実行部300と、クライアント100とプログラム実行部200の間にあってトランザクションを複製転送するトランザクション複製転送部1'と、現行プログラム2と新規プログラム3がデータベースシステムやインターネットWebサービスシステムなどの外部システムに存在する外部データ400にアクセスする際にそのアクセスを管理する外部アクセス管理部4と、トランザクション複製転送部1'の処理する処理要求トランザクションを保持する要求トランザクション保存部5と、その保持されたトランザクションから適切なトランザクションを抽出し、新規プログラム3に転送するトランザクション転送部6と、現行プログラム2の応答トランザクションを保存もしくは出力する現行プログラム応答トランザクション出力部7と、新規プログラム3の応答トランザクションを保存もしくは出力する新規プログラム応答トランザクション出力部8とを含む。
【０１１９】
次に、本発明の第３の実施の形態の動作を、第１の実施の形態との相違点を中心に説明する。
【０１２０】
トランザクション複製転送部1'は、クライアント100とプログラム実行部200の間にあって、クライアント100から受信したトランザクション処理要求をプログラム実行部200の現行プログラム2に転送する。その際、受信したトランザクション処理要求を複製し、複製したトランザクション処理要求を要求トランザクション保存部5に保存する。また、トランザクション複製転送部1'は、現行プログラム2から処理応答トランザクションを受信すると、それをクライアント100に転送する。その際、トランザクション複製転送部1'は、処理応答トランザクションを複製し、複製した処理応答トランザクションを現行プログラム応答トランザクション出力部7に伝達する。現行プログラム応答トランザクション出力部7は、受け取った処理応答トランザクションを内部の記憶部に保存するか、もしくは図示しないディスプレイやプリンタなどの出力装置から出力する。
【０１２１】
要求トランザクション保存部5は、トランザクション転送部6から読み込み可能となっている。トランザクション転送部6は、新たに要求トランザクション保存部5に保持された処理要求トランザクションを新規プログラム3に送信し、新規プログラム3がその処理要求トランザクションを処理した後に送信してくる処理応答トランザクションを受信する。トランザクション転送部6は受信した処理応答トランザクションを、新規プログラム応答トランザクション出力部8に伝達する。新規プログラム応答トランザクション出力部8は、受け取った処理応答トランザクションを内部の記憶部に保存するか、もしくは図示しないディスプレイやプリンタなどの出力装置から出力する。
【０１２２】
次に、本発明の第３の発明を実施するための形態の効果について説明する。
【０１２３】
本実施の形態では、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、新規プログラム3を並行して実行することが可能となっており、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作検証を行うことができる。
【０１２４】
さらに、本発明の実施の形態では、トランザクション複製転送部1'は、新規プログラム3と直接通信を行わないので、新規プログラム3の処理と同期することはない。そのため、現行プログラム2を実行しながら、新規プログラム3を非同期で並行して実行することが可能となっている。これは、新規プログラム3の動作に不具合があった場合に、その不具合と現行サービスを行っている現行プログラム2を含む系統のトランザクション処理とは独立しているので、その不具合の影響を少なくするという効果がある。
【０１２５】
さらに、図７に示すように、別のトランザクション転送部6'、新規プログラム3'、そのプログラムを動作させるプログラム実行部300'を複数用意し、要求トランザクション保存部5を複数のトランザクション転送部6,6'からアクセス可能とすることで、複数の新規プログラム3,3'を並行して動作させることが可能となる。これによって、一度に複数のバージョンの新規プログラム3,3'の動作を確認することができる。
【０１２６】
次に、本発明の第４の実施の形態について図面を参照して詳細に説明する。
【０１２７】
図８を参照すると、本発明の第４の実施の形態にかかるトランザクション処理システム1004は、インターネットブラウザのようなクライアント100からの処理要求トランザクションを受信して、そのトランザクションに応じた処理を行う現行プログラム2が動作するプログラム実行部（コンピュータ、中央処理装置、プロセッサ、データ処理装置など）200と、同じくそのトランザクションに応じた処理を行う新規プログラム３が動作するプログラム実行部300と、クライアント100からの処理要求トランザクションを保存する要求トランザクション保存部5と、その保持されたトランザクションから適切なトランザクション抽出し、現行プログラム2、新規プログラム3にそれぞれ転送するトランザクション転送部6A,6Bと、現行プログラム2の応答トランザクションを保存もしくは出力する現行プログラム応答トランザクション出力部7と、新規プログラム3の応答トランザクションを保存もしくは出力する新規プログラム応答トランザクション出力部8とを含む。
【０１２８】
本実施の形態では、第３の実施の形態と同様に、新規プログラム3の動作に不具合があった場合に、その不具合と現行サービスを行っている現行プログラム2を含む系統のトランザクション処理とは独立しているので、その不具合の影響を少なくするという効果がある。
【０１２９】
また、第３の実施の形態と比較して、クライアント100からの要求処理トランザクションを保存後、抽出して、現行プログラム2への転送処理を行っているので、その応答速度は劣ることになる。しかしながら、トランザクション複製転送部が不要であるので、システム構築が容易となる効果がある。さらに、現行プログラム2のトランザクション処理経路と、新規プログラム3のトランザクション処理経路とが、要求トランザクション保存部5とトランザクション転送部6A,6Bを経由している点で同じになり、現行プログラム2と新規プログラム3の処理の比較がより正確に行えるという効果がある。
【０１３０】
勿論、本実施の形態では、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、新規プログラム3を並行して実行することが可能となっており、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作検証を行うことができる。
【０１３１】
次に、本発明の第５の発明を実施するための形態について図面を参照して詳細に説明する。
【０１３２】
図９を参照すると、本発明の第５の実施の形態にかかるトランザクション処理システム1005は、インターネットブラウザのようなクライアント100からの処理要求トランザクションを受信して、そのトランザクションに応じた処理を行う現行プログラム2が動作するプログラム実行部（コンピュータ、中央処理装置、プロセッサ、データ処理装置など）200と、同じくそのトランザクションに応じた処理を行う新規プログラム3が動作するプログラム実行部300と、クライアント100とコンピュータ200の間にあってトランザクションを複製および転送するトランザクション複製転送部1"と、現行プログラム2と新規プログラム3がデータベースシステムやインターネットWebサービスシステムなどの外部システムに存在する外部データ400にアクセスする際にそのアクセスを管理する外部アクセス管理部4と、トランザクション複製転送部1"の処理するトランザクションを保持する要求トランザクション保存部5と、その保持されたトランザクションから適切なトランザクションを抽出し、新規プログラム3に転送するトランザクション転送部6"と、現行プログラム2の応答トランザクションを保存する現行プログラム応答トランザクション出力部7と、新規プログラム3の応答トランザクションを保存する新規プログラム応答トランザクション出力部8と、これら応答トランザクション出力部7,8に保存されている対応する応答トランザクションどうしを比較する比較検証部9とを含む。
【０１３３】
すなわち、本発明の第５の実施の形態にかかるトランザクション処理システム1005は、図７の第３の実施の形態にかかるトランザクション処理システム1003における現行プログラム応答トランザクション出力部7と新規プログラム応答トランザクション出力部8との間に比較検証部9を設けた点で相違し、それ以外は第３の実施の形態と同じである。
【０１３４】
次に、図１０のフローチャートを参照して、比較検証部9の動作について詳細に説明する。比較検証部9は、順次各トランザクションについて、比較検証を実行する。まず最初の比較検証のトランザクションを選択し（S501)、現行プログラム2の応答トランザクションを現行プログラム応答トランザクション出力部7から読み込む（S502）。次に、そのトランザクションに対応する新規プログラム3の応答トランザクションを新規プログラム応答トランザクション出力部8から読み込む（S503)。次に、各応答トランザクションから比較検証領域の抽出を行う（S504)。この比較検証領域の抽出の詳細は後述する。次に抽出された領域のデータが一致しているかどうか比較検証処理を行う(S505)。もし差異があれば、図示しないディスプレイに差異情報の表示を行うか、もしくは差異情報を内部の記憶部に保存する（S507）。もし次のトランザクションがなければ、新たなトランザクションがあるまで待つ(S508)。もし、次のトランザクションがあれば、その次のトランザクションの比較検証に選択を移し、上記の処理を繰り返す（S501)。
【０１３５】
S504の比較領域の抽出について説明する。比較領域の抽出ステップS504では、例えば、応答トランザクションがXMLのような構造化テキストデータである場合、あらかじめ比較検証の対象となるタグ、もしくは比較検証の除外対象となるタグを指定しておき、指定されたタグで囲まれた領域、もしくは指定されたタグで囲まれていない領域を抽出する。または、指定されたタグが含まれる行や段落、もしくは指定されたタグが含まれていない行や段落を抽出してもよい。このような、構造化テキストデータの処理に関しては広く知られた技術であるので、ここでは詳しい説明は省く。また、応答トランザクションが一般的なデータであっても、あらかじめ比較対象領域または比較対象外領域が、先頭アドレスと長さで指定されていれば、比較領域の抽出を行うことが可能である。
【０１３６】
比較領域の指定は、利用者が設定ファイルに記述し、それを比較検証部9が読み込む手法であっても良いし、また現行プログラム2を冗長に実行し、複数の現行プログラム2の処理応答トランザクションを比較することで、比較対象領域となる同一であるべき領域、もしくは比較対象外領域となる差異があってもよい領域を自動的に抽出してもよい。
【０１３７】
このように本発明の第５の実施の形態によれば、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成され、現行プログラム2を実行しながら、新規プログラム3を並行して実行し、それらのプログラムのクライアント100への出力である処理応答を比較検証し、新規プログラム3の処理動作と現行プログラム2の処理動作とを容易に比較することができる効果がある。
【０１３８】
次に、本発明の第６の実施の形態について図面を参照して詳細に説明する。
【０１３９】
図１１を参照すると、本発明の第６の実施の形態にかかるトランザクション処理システム1006は、インターネットブラウザのようなクライアント100からの処理要求トランザクションを受信して、そのトランザクションに応じた処理を行う現行プログラム2が動作するプログラム実行部（コンピュータ、中央処理装置、プロセッサ、データ処理装置など）200と、同じくそのトランザクションに応じた処理を行う新規プログラム3が動作するプログラム実行部300と、クライアント100とプログラム実行部200、300の間にあってトランザクションを複製転送するトランザクション複製転送部1と、現行プログラム2と新規プログラム3がデータベースシステムやインターネットWebサービスシステムなどの外部システムに存在する外部データ400にアクセスする際にそのアクセスを管理する外部アクセス管理部4'と、現行プログラム2が外部データ400に対して行ったアクセス要求を保存する現行プログラム外部アクセス保存部10と、新規プログラム3が外部データ400に対して行ったアクセス要求を保存する新規プログラム外部アクセス保存部11と、これらの外部アクセス保存部10,11に保存されている対応する外部データ400へのアクセス要求どうしを比較する比較検証部12とを含む。
【０１４０】
すなわち、本実施の形態のトランザクション処理システム1006は、図１に示した第１の実施の形態のトランザクション処理システム1001における現行プログラム応答トランザクション出力部7および新規プログラム応答トランザクション出力部8に代えて、現行プログラム外部アクセス保存部10、新規プログラム外部アクセス保存部11および比較検証部12を設けた点で相違する。
【０１４１】
次に、本発明の第６の実施の形態に含まれる構成にあって、第１の実施の形態と異なる構成を中心にその動作を説明する。外部アクセス管理部4'は、図１に示した第１の実施の形態における外部アクセス管理部4と同様に、現行プログラム2および新規プログラム3の外部データアクセスを管理する。その際、外部アクセス管理部4'は、各プログラム2、3の外部データ400へのアクセス要求を現行プログラム外部アクセス保存部10および新規プログラム外部アクセス保存部11に渡す。
【０１４２】
現行プログラム外部アクセス保存部10は、現行プログラム2が外部データ400に対して行ったアクセス要求を保存し、新規プログラム外部アクセス保存部11は、新規プログラム3が外部データ400に対して行ったアクセス要求を保存する。比較検証部12は、現行プログラム外部アクセス保存部10および新規プログラム外部アクセス保存部11に保存された対応する外部データ400へのアクセス要求どうしを比較し、差異があるかどうかを検証する。そして、検証結果である差異情報を図示しないディスプレイに表示するか、あるいは内部の記憶部に記憶する。
【０１４３】
このように本実施の形態によれば、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成され、現行プログラム2を実行しながら、新規プログラム3を並行して実行し、それらのプログラムの外部データ400への出力であるアクセス要求を比較検証し、新規プログラム3の処理動作（経過）を現行プログラム2の処理動作（経過）と容易に比較することができる効果がある。
【０１４４】
次に、本発明の第７の発明を実施するための形態について図面を参照して詳細に説明する。
【０１４５】
図１２を参照すると、本発明の第７の実施の形態にかかるトランザクション処理システム1007は、インターネットブラウザのようなクライアント100からの処理要求トランザクションを受信して、そのトランザクションに応じた処理を行う現行プログラム2が動作するプログラム実行部（コンピュータ、中央処理装置、プロセッサ、データ処理装置など）200と、同じくそのトランザクションに応じた処理を行う新規プログラム3が動作するプログラム実行部300と、クライアント100とプログラム実行部200、300の間にあってトランザクションを複製および転送するトランザクション複製転送部1と、現行プログラム2と新規プログラム3がデータベースシステムやインターネットWebサービスシステムなどの外部システムに存在する外部データ400にアクセスする際にそのアクセスを管理する外部アクセス管理部4と、プログラム実行部200から環境情報を取得して保存する現行プログラム環境情報保存部21と、プログラム実行部300から環境情報を取得して保存する新規プログラム環境情報保存部22と、双方の保存部21、22に保存された環境情報を比較検証し、その結果を保存あるいは出力する比較検証部20とを含む。ここで、環境情報とは、プログラム実行部を構成するコンピュータの使用状態、稼動中プロセスの実行状態、ＣＰＵ使用率、メモリの使用状態などのことである。
【０１４６】
すなわち、本実施の形態のトランザクション処理システム1007は、図１に示した第１の実施の形態のトランザクション処理システム1001における現行プログラム応答トランザクション出力部7および新規プログラム応答トランザクション出力部8に代えて、現行プログラム環境情報保存部21、新規プログラム環境情報保存部22および比較検証部20を設けた点で相違する。
【０１４７】
次に、本発明の第７の実施の形態に含まれる構成にあって、第１の実施の形態と異なる構成を中心にその動作について説明する。現行プログラム環境情報保存部21および新規プログラム環境情報保存部22は、現行プログラム2の動作するプログラム実行部200および新規プログラム3の動作するプログラム実行部300の環境情報を採取して保存する。例えば、プログラム実行部200、300を構成するコンピュータがアクティブがどうか、そのコンピュータ内のプロセスがアクティブかどうか、そのコンピュータもしくはプロセスの負荷、メモリ使用率、IO使用率などを監視する。このような環境情報を監視するソフトウェアは、すでに広く利用され、知られているので、ここでは詳細な説明を省く。
【０１４８】
比較検証部20は、現行プログラム2の稼動するプログラム実行部200から採取された環境情報を現行プログラム環境情報保存部21から入力し、新規プログラム3の稼動するプログラム実行部300から採取された環境情報を新規プログラム環境情報保存部22から入力し、双方を比較検証して、ある環境情報のデータの差分値があらかじめ指定された値以上に異なる場合、もしくはいくつかの環境情報のデータを使った評価式の値があらかじめ指定された閾値を超えれば、その差異情報を内部の記憶部に保存するか、もしくはディスプレイやプリンタなどの出力装置に出力する。評価式とは、たとえばプロセスのＣＰＵ負荷平均の差分をd1、メモリ使用率をd2、IO使用率をd3とし、それぞれ重み係数wn=(1≦n≦3)との積の和(w1・d1＋w２・d２＋w３・d３）のようなものである。
【０１４９】
このように本実施の形態によれば、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成され、現行プログラム2を実行しながら、新規プログラム3を並行して実行し、それらの実行処理中の環境情報を採取して比較検証部20を用いて比較検証することにより、新規プログラム3の処理動作（経過）を現行プログラム2の処理動作（経過）と容易に比較することができる効果がある。
【０１５０】
次に、本発明の第８の実施の形態について図面を参照して詳細に説明する。
【０１５１】
図１３を参照すると、本発明の第８の実施の形態にかかるトランザクション処理システム1008は、図１に示した第１の実施の形態にかかるトランザクション処理システム1001にプログラム切替部32を付加した構成となっている。プログラム切替部32は、利用者もしくは他プログラムの指示を受けて、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える手段である。
【０１５２】
次に、図１４のフローチャートを参照して、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える動作について詳細に説明する。
【０１５３】
新規プログラム3の動作確認を終え、現行プログラム2に代えて新規プログラム2で処理サービスを提供する場合、プログラム切替部32は、利用者もしくは他プログラムからの指示を受けて、図１４に示されるプログラム切替処理を開始する。まず、プログラム切替部32は、トランザクション複製転送部1に対してトランザクションの受信停止を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を停止させる(S601)。このとき、トランザクション複製転送部1は、クライアント100からの新たなトランザクション要求の受信自体を停止しても良いし、要求は受信して内部の記憶部に記憶し、現行プログラム2および新規プログラム3への転送は停止するようにしても良い。
【０１５４】
次にプログラム切替部32は、現行プログラム2及び新規プログラム3に投入されたトランザクションについて処理が完了しているかどうかを確認する(S602)。この確認は、例えば、トランザクション複製転送部1が現行プログラム2および新規プログラム3に投入した全てのトランザクションについて、現行プログラム応答トランザクション出力部7および新規プログラム応答トランザクション出力部8に応答トランザクションが記録されたかどうかを調べることにより可能である。
【０１５５】
現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、プログラム切替部32は、現行プログラム2の動作を停止させ(S603)、外部アクセス管理部4の動作およびトランザクション複製転送部1の動作をテスト併用モードの動作から新規運用モードの動作に切替えることにより(S604、S605)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、新規プログラム3への新たなトランザクションの転送を再開させる(S606)。
【０１５６】
外部アクセス管理部4におけるテスト併用モードの動作とは、図３を参照して説明した動作を意味する。他方、新規運用モードの動作とは、新規プログラム3から出されたアクセス要求を実際に外部データ400に出して、そのアクセス結果を新規プログラム3に返却する動作を意味する。このような動作の切替えを行う外部アクセス管理部4の処理例を図１５に示す。図１５において、S201〜S214は図３と同じである。S701は、テスト併用モードか、新規運用モードかを判別するステップであり、テスト併用モードであれば図３で説明したステップS203〜S207、S210〜S214を実行する(S707)。他方、新規運用モードであれば、新規プログラム3からのアクセス要求かどうかを判別し(S702)、新規プログラム3からのアクセス要求であれば、実際に外部データ400をアクセスするために外部のシステムへアクセス要求を送信し（S703)、外部のシステムがその要求を処理し、応答があると、そのアクセス応答を受信し（S704)、このアクセス応答を新規プログラム3に送信する（S705)。新規運用モードになる前に現行プログラム2は停止されているので、現行プログラム2からアクセス要求が出されることはないが、何らかの理由で現行プログラム2が停止できず、現行プログラム2からアクセス要求が出された場合には、そのアクセス要求は無効化する(S706)。
【０１５７】
トランザクション複製転送部1におけるテスト併用モードの動作とは、図１のトランザクション複製転送部１と同じ動作を意味する。他方、新規運用モードの動作とは、クライアント100から受信したトランザクションを新規プログラム3にのみ転送し、新規プログラム3から受信した応答トランザクションをクライアント100に返却する動作を意味する。
【０１５８】
以上の例では、プログラム切替えによって現行プログラム2を停止させ、新規プログラム3のみが動作する形態としたが、現行プログラム2を停止させずに新規プログラム3と並行して動作させておくこともできる。この場合の切替え動作について図１６のフローチャートを参照して以下説明する。
【０１５９】
図１６において、S601、S602は図１４と同じである。プログラム切替部32は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、次に、外部アクセス管理部4の動作およびトランザクション複製転送部1の動作をテスト併用モードの動作から新規多重運用モードの動作に切替えることにより(S811、S812)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を再開させる(S813)。
【０１６０】
外部アクセス管理部4におけるテスト併用モードの動作とは、図３を参照して説明した動作を意味する。他方、新規多重運用モードの動作とは、図３を参照して説明した動作において新規プログラム3に対する動作と現行プログラム2に対する動作とを逆にした動作をを意味する。このような動作の切替えを行う外部アクセス管理部4の処理例を図１７に示す。図１７において、S201〜S214は図３と同じである。S901は、テスト併用モードか、新規多重運用モードかを判別するステップである。S902は、現行プログラムからのアクセス要求かどうかを判別するステップである。S903は、新規プログラムからのアクセス要求かどうかを判別するステップである。テスト併用モードで且つ現行プログラム2からのアクセス要求か、新規多重運用モードで且つ新規プログラム3からのアクセス要求であれば、図３で説明したステップS204〜S207を実行する(S904)。他方、テスト併用モードで且つ新規プログラム3からのアクセス要求か、新規多重運用モードで且つ現行プログラム2からのアクセス要求であれば、図３で説明したステップS210〜S214を実行する(S905)。但し、S210中の「現行プログラム」は、現行プログラム2からのアクセス要求を処理する場合には「新規プログラム」になる。
【０１６１】
トランザクション複製転送部1におけるテスト併用モードの動作とは、図１のトランザクション複製転送部１と同じ動作を意味する。他方、新規多重運用モードの動作とは、クライアント100から受信したトランザクションを複製して新規プログラム3および現行プログラム2に転送し、新規プログラム3から受信した応答トランザクションをクライアント100に返却する動作を意味する。
【０１６２】
このように現行プログラム2を停止させずにプログラム実行部200で動かしておくことで、若し、新規プログラム3に不具合が見つかったために再びテスト併用モードに切替えて現行プログラム2を用いてサービスを提供する場合に、現行プログラム2を再起動する手間と時間を省略できる利点がある。
【０１６３】
以上の例では、現行プログラム2および新規プログラム3の動作するプログラム実行部200、300を変えずにプログラム切替えを行ったが、現行プログラム2の稼動するプログラム実行部200で新規プログラム3を稼動させることで、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替えることもできる。この場合の切替え動作について図１８のフローチャートを参照して以下説明する。
【０１６４】
図１８において、S601、S602は図１４と同じである。プログラム切替部32は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、次に、現行プログラム2および新規プログラム3を停止させる(S1001)。次に、プログラム実行部200に新規プログラム3をロードするとともに、プログラム実行部300に現行プログラム2をロードし(S1002)、それぞれの実行部200、300でそれらのプログラム3、2を起動する(S1003)。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、新規プログラム3および現行プログラム2への新たなトランザクションの転送を再開させる(S1004)。
【０１６５】
このプログラム入替えによるプログラム切替え方法は、サービス停止期間が若干長くなるものの、外部アクセス管理部4やトランザクション複製転送部1の動作を切替える必要がない利点がある。
【０１６６】
このように本実施の形態によれば、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、新規プログラム3を並行して実行することが可能であり、また、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作を確認することができ、そして、現行プログラム2から新規プログラム3へトランザクション処理を切替えることができるように構成されているため、新規プログラム3の動作確認が終わり次第、スムーズに処理プログラムを切替えることができる効果がある。
【０１６７】
次に、本発明の第９の実施の形態について図面を参照して詳細に説明する。
【０１６８】
図１９を参照すると、本発明の第９の実施の形態にかかるトランザクション処理システム1009は、図４に示した第２の実施の形態にかかるトランザクション処理システム1002にプログラム切替部32-1を付加した構成となっている。プログラム切替部32-1は、利用者もしくは他プログラムの指示を受けて、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える手段である。
【０１６９】
次に、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える動作について詳細に説明する。なお、その際の動作の流れは第８の実施の形態の動作説明に用いた図１４のフローチャートと同じなので、図１４を参照して説明する。
【０１７０】
新規プログラム3の動作確認を終え、現行プログラム2に代えて新規プログラム2で処理サービスを提供する場合、プログラム切替部32-1は、利用者もしくは他プログラムからの指示を受けて、図１４に示されるプログラム切替処理を開始する。まず、プログラム切替部32-1は、トランザクション複製転送部1に対してトランザクションの受信停止を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を停止させる(S601)。このとき、トランザクション複製転送部1は、クライアント100からの新たなトランザクション要求の受信自体を停止しても良いし、要求は受信して内部の記憶部に記憶し、現行プログラム2および新規プログラム3への転送は停止するようにしても良い。
【０１７１】
次にプログラム切替部32-1は、現行プログラム2及び新規プログラム3に投入されたトランザクションについて処理が完了しているかどうかを確認する(S602)。この確認は、例えば、トランザクション複製転送部1が現行プログラム2および新規プログラム3に投入した全てのトランザクションについて、現行プログラム応答トランザクション出力部7および新規プログラム応答トランザクション出力部8に応答トランザクションが記録されたかどうかを調べることにより可能である。
【０１７２】
現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、プログラム切替部32-1は、現行プログラム2の動作を停止させ(S603)、マスター外部アクセス管理部4A、スレーブ外部アクセス管理部4Bの動作およびトランザクション複製転送部1の動作をテスト併用モードの動作から新規運用モードの動作に切替えることにより(S604、S605)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、新規プログラム3への新たなトランザクションの転送を再開させる(S606)。
【０１７３】
マスター外部アクセス管理部4Aにおけるテスト併用モードの動作とは、図５を参照して説明した動作を意味し、スレーブ外部アクセス管理部4Bにおけるテスト併用モードの動作とは、図６を参照して説明した動作を意味する。他方、外部アクセス管理部4Aにおける新規運用モードの動作とは、もし現行プログラム2からアクセス要求が出された場合にはそれを無効化する動作を意味し、スレーブ外部アクセス管理部4Bにおける新規運用モードの動作とは、新規プログラム3から出されたアクセス要求をマスター外部アクセス管理部4Aを経由せずに直接に外部データ400に出して、そのアクセス結果を新規プログラム3に返却する動作を意味する。
【０１７４】
トランザクション複製転送部1におけるテスト併用モードの動作とは、図４のトランザクション複製転送部１と同じ動作を意味する。他方、新規運用モードの動作とは、クライアント100から受信したトランザクションを新規プログラム3にのみ転送し、新規プログラム3から受信した応答トランザクションをクライアント100に返却する動作を意味する。
【０１７５】
以上の例では、プログラム切替えによって現行プログラム2を停止させ、新規プログラム3のみが動作する形態としたが、現行プログラム2を停止させずに新規プログラム3と並行して動作させておくこともできる。この場合の流れは第８の実施の形態の動作説明に用いた図１６のフローチャートと同じなので、図１６を参照して説明する。
【０１７６】
プログラム切替部32-1は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、マスター外部アクセス管理部4A、スレーブ外部アクセス管理部4Bの動作およびトランザクション複製転送部1の動作をテスト併用モードの動作から新規多重運用モードの動作に切替えることにより(S811、S812)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を再開させる(S813)。
【０１７７】
マスター外部アクセス管理部4Aにおけるテスト併用モードの動作とは、図５を参照して説明した動作を意味し、スレーブ外部アクセス管理部4Bにおけるテスト併用モードの動作とは、図６を参照して説明した動作を意味する。他方、マスター外部アクセス管理部4Aにおける新規多重運用モードの動作とは、図６を参照して説明した動作を意味し、スレーブ外部アクセス管理部4Bにおける新規多重運用モードの動作とは、図５を参照して説明した動作を意味する（但し、図５および図６中、「現行プログラム」は「新規プログラム」に読み替え、「新規プログラム」は「現行プログラム」に読み替える）。
【０１７８】
トランザクション複製転送部1におけるテスト併用モードの動作とは、図４のトランザクション複製転送部１と同じ動作を意味する。他方、新規多重運用モードの動作とは、クライアント100から受信したトランザクションを複製して新規プログラム3および現行プログラム2に転送し、新規プログラム3から受信した応答トランザクションをクライアント100に返却する動作を意味する。
【０１７９】
このように現行プログラム2を停止させずにプログラム実行部200で動かしておくことで、若し、新規プログラム3に不具合が見つかったために再びテスト併用モードに切替えて現行プログラム2を用いてサービスを提供する場合に、現行プログラム2を再起動する手間と時間を省略できる利点がある。
【０１８０】
以上の例では、現行プログラム2および新規プログラム3の動作するプログラム実行部200、300を変えずにプログラム切替えを行ったが、現行プログラム2の稼動するプログラム実行部200で新規プログラム3を稼動させることで、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替えることもできる。この場合の流れは第８の実施の形態の動作説明に用いた図１８のフローチャートと同じなので、図１８を参照して説明する。
【０１８１】
プログラム切替部32-1は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、現行プログラム2および新規プログラム3を停止させる(S1001)。次に、プログラム実行部200に新規プログラム3をロードするとともに、プログラム実行部300に現行プログラム2をロードし(S1002)、それぞれの実行部200、300でそれらのプログラム3、2を起動する(S1003)。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、新規プログラム3および現行プログラム2への新たなトランザクションの転送を再開させる(S1004)。
【０１８２】
このプログラム入替えによるプログラム切替え方法は、サービス停止期間が若干長くなるものの、マスター外部アクセス管理部4A、スレーブ外部アクセス管理部4Bやトランザクション複製転送部1の動作を切替える必要がない利点がある。
【０１８３】
このように本実施の形態によれば、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、新規プログラム3を並行して実行することが可能であり、また、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作を確認することができ、そして、現行プログラム2から新規プログラム3へトランザクション処理を切替えることができるように構成されているため、新規プログラム3の動作確認が終わり次第、スムーズに処理プログラムを切替えることができる効果がある。
【０１８４】
次に、本発明の第１０の実施の形態について図面を参照して詳細に説明する。
【０１８５】
図２０を参照すると、本発明の第１０の実施の形態にかかるトランザクション処理システム1010は、図７に示した第３の実施の形態にかかるトランザクション処理システム1003にプログラム切替部32-2を付加した構成となっている。プログラム切替部32-2は、利用者もしくは他プログラムの指示を受けて、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える手段である。
【０１８６】
次に、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える動作について詳細に説明する。なお、その際の動作の流れは第８の実施の形態の動作説明に用いた図１４のフローチャートと同じなので、図１４を参照して説明する。
【０１８７】
新規プログラム3の動作確認を終え、現行プログラム2に代えて新規プログラム2で処理サービスを提供する場合、プログラム切替部32-2は、利用者もしくは他プログラムからの指示を受けて、図１４に示されるプログラム切替処理を開始する。まず、プログラム切替部32-2は、トランザクション複製転送部1'に対してトランザクションの受信停止を指示することにより、現行プログラム2および要求トランザクション保存部5への新たなトランザクションの転送を停止させる(S601)。このとき、トランザクション複製転送部1'は、クライアント100からの新たなトランザクション要求の受信自体を停止しても良いし、要求は受信して内部の記憶部に記憶し、現行プログラム2および要求トランザクション保存部5への転送は停止するようにしても良い。
【０１８８】
次にプログラム切替部32-2は、現行プログラム2及び新規プログラム3に投入されたトランザクションについて処理が完了しているかどうかを確認する(S602)。この確認は、例えば、トランザクション複製転送部1'が現行プログラム2および新規プログラム3に投入した全てのトランザクションについて、現行プログラム応答トランザクション出力部7および新規プログラム応答トランザクション出力部8に応答トランザクションが記録されたかどうかを調べることにより可能である。
【０１８９】
現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、プログラム切替部32-2は、現行プログラム2の動作を停止させ(S603)、外部アクセス管理部4の動作およびトランザクション複製転送部1'の動作をテスト併用モードの動作から新規運用モードの動作に切替えることにより(S604、S605)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1'に対して、トランザクションの受信の再開を指示することにより、要求トランザクション保存部5経由による新規プログラム3への新たなトランザクションの転送を再開させる(S606)。
【０１９０】
外部アクセス管理部4におけるテスト併用モードの動作とは、図７の第３の実施の形態における外部アクセス管理部4と同じ動作を意味する。他方、外部アクセス管理部4における新規運用モードの動作とは、新規プログラム3から出されたアクセス要求を実際に外部データ400に出して、そのアクセス結果を新規プログラム3に返却する動作を意味する。
【０１９１】
トランザクション複製転送部1'におけるテスト併用モードの動作とは、図７の第３の実施の形態におけるトランザクション複製転送部1'と同じ動作を意味する。他方、新規運用モードの動作とは、クライアント100から受信したトランザクションを新規プログラム3にのみ転送し、新規プログラム3から応答トランザクションを受け取ってクライアント100に返却する動作を意味する。
【０１９２】
以上の例では、プログラム切替えによって現行プログラム2を停止させ、新規プログラム3のみが動作する形態としたが、現行プログラム2を停止させずに新規プログラム3と並行して動作させておくこともできる。この場合の流れは第８の実施の形態の動作説明に用いた図１６のフローチャートと同じなので、図１６を参照して説明する。
【０１９３】
プログラム切替部32-2は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、外部アクセス管理部4の動作およびトランザクション複製転送部1'の動作をテスト併用モードの動作から新規多重運用モードの動作に切替えることにより(S811、S812)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1'に対して、トランザクションの受信の再開を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を再開させる(S813)。
【０１９４】
外部アクセス管理部4におけるテスト併用モードの動作とは、図３を参照して説明した動作を意味する。他方、新規多重運用モードの動作とは、図３を参照して説明した動作において新規プログラム3に対する動作と現行プログラム2に対する動作とを逆にした動作をを意味する。
【０１９５】
トランザクション複製転送部1'におけるテスト併用モードの動作とは、図７のトランザクション複製転送部1'と同じ動作を意味する。他方、新規多重運用モードの動作とは、クライアント100から受信したトランザクションを複製して新規プログラム3および現行プログラム2に転送し、新規プログラム3から受信した応答トランザクションをクライアント100に返却する動作を意味する。
【０１９６】
このように現行プログラム2を停止させずにプログラム実行部200で動かしておくことで、若し、新規プログラム3に不具合が見つかったために再びテスト併用モードに切替えて現行プログラム2を用いてサービスを提供する場合に、現行プログラム2を再起動する手間と時間を省略できる利点がある。
【０１９７】
以上の例では、現行プログラム2および新規プログラム3の動作するプログラム実行部200、300を変えずにプログラム切替えを行ったが、現行プログラム2の稼動するプログラム実行部200で新規プログラム3を稼動させることで、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替えることもできる。この場合の流れは第８の実施の形態の動作説明に用いた図１８のフローチャートと同じなので、図１８を参照して説明する。
【０１９８】
プログラム切替部32-2は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、現行プログラム2および新規プログラム3を停止させる(S1001)。次に、プログラム実行部200に新規プログラム3をロードするとともに、プログラム実行部300に現行プログラム2をロードし(S1002)、それぞれの実行部200、300でそれらのプログラム3、2を起動する(S1003)。そして、トランザクション複製転送部1'に対して、トランザクションの受信の再開を指示することにより、新規プログラム3および現行プログラム2への新たなトランザクションの転送を再開させる(S1004)。
【０１９９】
このプログラム入替えによるプログラム切替え方法は、サービス停止期間が若干長くなるものの、外部アクセス管理部4やトランザクション複製転送部1'の動作を切替える必要がない利点がある。
【０２００】
このように本実施の形態によれば、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、新規プログラム3を並行して実行することが可能であり、また、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作を確認することができ、そして、現行プログラム2から新規プログラム3へトランザクション処理を切替えることができるように構成されているため、新規プログラム3の動作確認が終わり次第、スムーズに処理プログラムを切替えることができる効果がある。
【０２０１】
次に、本発明の第１１の実施の形態について図面を参照して詳細に説明する。
【０２０２】
図２１を参照すると、本発明の第１１の実施の形態にかかるトランザクション処理システム1011は、図８に示した第４の実施の形態にかかるトランザクション処理システム1004にプログラム切替部32-3を付加した構成となっている。プログラム切替部32-3は、利用者もしくは他プログラムの指示を受けて、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える手段である。
【０２０３】
次に、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える動作について詳細に説明する。なお、その際の動作の流れは第８の実施の形態の動作説明に用いた図１４のフローチャートと同じなので、図１４を参照して説明する。
【０２０４】
新規プログラム3の動作確認を終え、現行プログラム2に代えて新規プログラム2で処理サービスを提供する場合、プログラム切替部32-3は、利用者もしくは他プログラムからの指示を受けて、図１４に示されるプログラム切替処理を開始する。まず、プログラム切替部32-3は、要求トランザクション保存部5に対してトランザクションの受信停止を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を停止させる(S601)。このとき、要求トランザクション保存部5は、クライアント100からの新たなトランザクション要求の受信自体を停止しても良いし、要求は受信して記憶し、トランザクション転送部6A、6B経由による現行プログラム2および新規プログラム3への転送は停止するようにしても良い。
【０２０５】
次にプログラム切替部32-3は、現行プログラム2及び新規プログラム3に投入されたトランザクションについて処理が完了しているかどうかを確認する(S602)。この確認は、例えば、トランザクション転送部6A、6Bが現行プログラム2および新規プログラム3に投入した全てのトランザクションについて、現行プログラム応答トランザクション出力部7および新規プログラム応答トランザクション出力部8に応答トランザクションが記録されたかどうかを調べることにより可能である。
【０２０６】
現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、プログラム切替部32-3は、現行プログラム2の動作を停止させ(S603)、外部アクセス管理部4の動作およびトランザクション転送部6A、6Bの動作をテスト併用モードの動作から新規運用モードの動作に切替えることにより(S604、S605)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション保存部5に対して、トランザクションの受信の再開を指示することにより、トランザクション転送部6B経由による新規プログラム3への新たなトランザクションの転送を再開させる(S606)。
【０２０７】
外部アクセス管理部4におけるテスト併用モードの動作とは、図８の第４の実施の形態における外部アクセス管理部4と同じ動作を意味する。他方、外部アクセス管理部4における新規運用モードの動作とは、新規プログラム3から出されたアクセス要求を実際に外部データ400に出して、そのアクセス結果を新規プログラム3に返却する動作を意味する。
【０２０８】
トランザクション転送部6A、6Bにおけるテスト併用モードの動作とは、図８の第４の実施の形態におけるトランザクション転送部6A、6Bと同じ動作を意味する。他方、新規運用モードの動作とは、トランザクション転送部6Bにあっては、要求トランザクション保存部5からトランザクションを読み出して新規プログラム3に投入し、新規プログラム3から応答トランザクションを受信して要求トランザクション保存部5経由でクライアント100に返却する動作を意味し、トランザクション転送部6Aにあっては、転送動作を停止する動作を意味する。
【０２０９】
以上の例では、プログラム切替えによって現行プログラム2を停止させ、新規プログラム3のみが動作する形態としたが、現行プログラム2を停止させずに新規プログラム3と並行して動作させておくこともできる。この場合の流れは第８の実施の形態の動作説明に用いた図１６のフローチャートと同じなので、図１６を参照して説明する。
【０２１０】
プログラム切替部32-3は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、外部アクセス管理部4の動作およびトランザクション転送部6A、6Bの動作をテスト併用モードの動作から新規多重運用モードの動作に切替えることにより(S811、S812)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、要求トランザクション保存部5に対して、トランザクションの受信の再開を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を再開させる(S813)。
【０２１１】
外部アクセス管理部4におけるテスト併用モードの動作とは、図３を参照して説明した動作を意味する。他方、新規多重運用モードの動作とは、図３を参照して説明した動作において新規プログラム3に対する動作と現行プログラム2に対する動作とを逆にした動作をを意味する。
【０２１２】
トランザクション転送部6A、6Bにおけるテスト併用モードの動作とは、図８のトランザクション転送部6A、6Bと同じ動作を意味する。他方、新規多重運用モードの動作とは、トランザクション転送部6Bにあっては、要求トランザクション保存部5から読み出したトランザクションを新規プログラム3に投入し、新規プログラム3から受信した応答トランザクションを要求トランザクション保存部5経由でクライアント100に返却する動作を意味し、トランザクション転送部6Aにあっては、要求トランザクション保存部5から読み出したトランザクションを現行プログラム2に投入し、現行プログラム2から受信した応答トランザクションは無効化する動作を意味する。
【０２１３】
このように現行プログラム2を停止させずにプログラム実行部200で動かしておくことで、若し、新規プログラム3に不具合が見つかったために再びテスト併用モードに切替えて現行プログラム2を用いてサービスを提供する場合に、現行プログラム2を再起動する手間と時間を省略できる利点がある。
【０２１４】
以上の例では、現行プログラム2および新規プログラム3の動作するプログラム実行部200、300を変えずにプログラム切替えを行ったが、現行プログラム2の稼動するプログラム実行部200で新規プログラム3を稼動させることで、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替えることもできる。この場合の流れは第８の実施の形態の動作説明に用いた図１８のフローチャートと同じなので、図１８を参照して説明する。
【０２１５】
プログラム切替部32-3は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、現行プログラム2および新規プログラム3を停止させる(S1001)。次に、プログラム実行部200に新規プログラム3をロードするとともに、プログラム実行部300に現行プログラム2をロードし(S1002)、それぞれの実行部200、300でそれらのプログラム3、2を起動する(S1003)。そして、トランザクション保存部5に対して、トランザクションの受信の再開を指示することにより、新規プログラム3および現行プログラム2への新たなトランザクションの転送を再開させる(S1004)。
【０２１６】
このプログラム入替えによるプログラム切替え方法は、サービス停止期間が若干長くなるものの、外部アクセス管理部4やトランザクション転送部6A、6Bなどの動作を切替える必要がない利点がある。
【０２１７】
このように本実施の形態によれば、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、新規プログラム3を並行して実行することが可能であり、また、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作を確認することができ、そして、現行プログラム2から新規プログラム3へトランザクション処理を切替えることができるように構成されているため、新規プログラム3の動作確認が終わり次第、スムーズに処理プログラムを切替えることができる効果がある。
【０２１８】
次に、本発明の第１２の実施の形態について図面を参照して詳細に説明する。
【０２１９】
図２２を参照すると、本発明の第１２の実施の形態にかかるトランザクション処理システム1012は、図９に示した第５の実施の形態にかかるトランザクション処理システム1005にプログラム切替部32-4を付加した構成となっている。プログラム切替部32-4は、利用者もしくは他プログラムの指示を受けて、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える手段である。
【０２２０】
次に、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える動作について詳細に説明する。なお、その際の動作の流れは第８の実施の形態の動作説明に用いた図１４のフローチャートと同じなので、図１４を参照して説明する。
【０２２１】
新規プログラム3の動作確認を終え、現行プログラム2に代えて新規プログラム3で処理サービスを提供する場合、プログラム切替部32-4は、利用者もしくは他プログラムからの指示を受けて、図１４に示されるプログラム切替処理を開始する。まず、プログラム切替部32-4は、トランザクション複製転送部1"に対してトランザクションの受信停止を指示することにより、現行プログラム2および要求トランザクション保存部5への新たなトランザクションの転送を停止させる(S601)。このとき、トランザクション複製転送部1"は、クライアント100からの新たなトランザクション要求の受信自体を停止しても良いし、要求は受信して内部の記憶部に記憶し、現行プログラム2および要求トランザクション保存部5への転送は停止するようにしても良い。
【０２２２】
次にプログラム切替部32-4は、現行プログラム2及び新規プログラム3に投入されたトランザクションについて処理が完了しているかどうかを確認する(S602)。この確認は、例えば、トランザクション複製転送部1"が現行プログラム2および新規プログラム3に投入した全てのトランザクションについて、現行プログラム応答トランザクション出力部7および新規プログラム応答トランザクション出力部8に応答トランザクションが記録されたかどうかを調べることにより可能である。
【０２２３】
現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、プログラム切替部32-4は、現行プログラム2の動作を停止させ(S603)、外部アクセス管理部4の動作およびトランザクション複製転送部1"の動作をテスト併用モードの動作から新規運用モードの動作に切替えることにより(S604、S605)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1"に対して、トランザクションの受信の再開を指示することにより、要求トランザクション保存部5経由による新規プログラム3への新たなトランザクションの転送を再開させる(S606)。
【０２２４】
外部アクセス管理部4におけるテスト併用モードの動作とは、図９の第５の実施の形態における外部アクセス管理部4と同じ動作を意味する。他方、外部アクセス管理部4における新規運用モードの動作とは、新規プログラム3から出されたアクセス要求を実際に外部データ400に出して、そのアクセス結果を新規プログラム3に返却する動作を意味する。
【０２２５】
トランザクション複製転送部1"におけるテスト併用モードの動作とは、図９の第５の実施の形態におけるトランザクション複製転送部1"と同じ動作を意味する。他方、新規運用モードの動作とは、クライアント100から受信したトランザクションを新規プログラム3にのみ転送し、新規プログラム3から応答トランザクションを受け取ってクライアント100に返却する動作を意味する。
【０２２６】
以上の例では、プログラム切替えによって現行プログラム2を停止させ、新規プログラム3のみが動作する形態としたが、現行プログラム2を停止させずに新規プログラム3と並行して動作させておくこともできる。この場合の流れは第８の実施の形態の動作説明に用いた図１６のフローチャートと同じなので、図１６を参照して説明する。
【０２２７】
プログラム切替部32-4は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、外部アクセス管理部4の動作およびトランザクション複製転送部1"の動作をテスト併用モードの動作から新規多重運用モードの動作に切替えることにより(S811、S812)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1"に対して、トランザクションの受信の再開を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を再開させる(S813)。
【０２２８】
外部アクセス管理部4におけるテスト併用モードの動作とは、図３を参照して説明した動作を意味する。他方、新規多重運用モードの動作とは、図３を参照して説明した動作において新規プログラム3に対する動作と現行プログラム2に対する動作とを逆にした動作をを意味する。
【０２２９】
トランザクション複製転送部1"におけるテスト併用モードの動作とは、図９のトランザクション複製転送部1"と同じ動作を意味する。他方、新規多重運用モードの動作とは、クライアント100から受信したトランザクションを複製して新規プログラム3および現行プログラム2に転送し、新規プログラム3から受信した応答トランザクションをクライアント100に返却する動作を意味する。
【０２３０】
このように現行プログラム2を停止させずにプログラム実行部200で動かしておくことで、若し、新規プログラム3に不具合が見つかったために再びテスト併用モードに切替えて現行プログラム2を用いてサービスを提供する場合に、現行プログラム2を再起動する手間と時間を省略できる利点がある。
【０２３１】
以上の例では、現行プログラム2および新規プログラム3の動作するプログラム実行部200、300を変えずにプログラム切替えを行ったが、現行プログラム2の稼動するプログラム実行部200で新規プログラム3を稼動させることで、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替えることもできる。この場合の流れは第８の実施の形態の動作説明に用いた図１８のフローチャートと同じなので、図１８を参照して説明する。
【０２３２】
プログラム切替部32-4は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、現行プログラム2および新規プログラム3を停止させる(S1001)。次に、プログラム実行部200に新規プログラム3をロードするとともに、プログラム実行部300に現行プログラム2をロードし(S1002)、それぞれの実行部200、300でそれらのプログラム3、2を起動する(S1003)。そして、トランザクション複製転送部1"に対して、トランザクションの受信の再開を指示することにより、新規プログラム3および現行プログラム2への新たなトランザクションの転送を再開させる(S1004)。
【０２３３】
このプログラム入替えによるプログラム切替え方法は、サービス停止期間が若干長くなるものの、外部アクセス管理部4やトランザクション複製転送部1"の動作を切替える必要がない利点がある。
【０２３４】
このように本実施の形態によれば、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、新規プログラム3を並行して実行することが可能であり、また、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作を確認することができ、そして、現行プログラム2から新規プログラム3へトランザクション処理を切替えることができるように構成されているため、新規プログラム3の動作確認が終わり次第、スムーズに処理プログラムを切替えることができる効果がある。
【０２３５】
次に、本発明の第１３の実施の形態について図面を参照して詳細に説明する。
【０２３６】
図２３を参照すると、本発明の第１３の実施の形態にかかるトランザクション処理システム1013は、図１１に示した第６の実施の形態にかかるトランザクション処理システム1006にプログラム切替部32-5を付加した構成となっている。プログラム切替部32-5は、利用者もしくは他プログラムの指示を受けて、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える手段である。
【０２３７】
次に、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える動作について詳細に説明する。なお、その際の動作の流れは第８の実施の形態の動作説明に用いた図１４のフローチャートと同じなので、図１４を参照して説明する。
【０２３８】
新規プログラム3の動作確認を終え、現行プログラム2に代えて新規プログラム3で処理サービスを提供する場合、プログラム切替部32-5は、利用者もしくは他プログラムからの指示を受けて、図１４に示されるプログラム切替処理を開始する。まず、プログラム切替部32-5は、トランザクション複製転送部1に対してトランザクションの受信停止を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を停止させる(S601)。このとき、トランザクション複製転送部1は、クライアント100からの新たなトランザクション要求の受信自体を停止しても良いし、要求は受信して内部の記憶部に記憶し、現行プログラム2および新規プログラム3への転送は停止するようにしても良い。
【０２３９】
次にプログラム切替部32-5は、現行プログラム2及び新規プログラム3に投入されたトランザクションについて処理が完了しているかどうかを確認する(S602)。この確認は、例えば、トランザクション複製転送部1が現行プログラム2および新規プログラム3に投入した全てのトランザクションについて、その応答トランザクションが現行プログラム2および新規プログラム3から帰ってきたかどうかを調べることにより可能である。
【０２４０】
現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、プログラム切替部32-5は、現行プログラム2の動作を停止させ(S603)、外部アクセス管理部4の動作およびトランザクション複製転送部1の動作をテスト併用モードの動作から新規運用モードの動作に切替えることにより(S604、S605)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、要求トランザクション保存部5経由による新規プログラム3への新たなトランザクションの転送を再開させる(S606)。
【０２４１】
外部アクセス管理部4'におけるテスト併用モードの動作とは、図１１の第６の実施の形態における外部アクセス管理部4'と同じ動作を意味する。他方、外部アクセス管理部4'における新規運用モードの動作とは、新規プログラム3から出されたアクセス要求を実際に外部データ400に出して、そのアクセス結果を新規プログラム3に返却する動作を意味する。
【０２４２】
トランザクション複製転送部1におけるテスト併用モードの動作とは、図１１の第６の実施の形態におけるトランザクション複製転送部1と同じ動作を意味する。他方、新規運用モードの動作とは、クライアント100から受信したトランザクションを新規プログラム3にのみ転送し、新規プログラム3から応答トランザクションを受け取ってクライアント100に返却する動作を意味する。
【０２４３】
以上の例では、プログラム切替えによって現行プログラム2を停止させ、新規プログラム3のみが動作する形態としたが、現行プログラム2を停止させずに新規プログラム3と並行して動作させておくこともできる。この場合の流れは第８の実施の形態の動作説明に用いた図１６のフローチャートと同じなので、図１６を参照して説明する。
【０２４４】
プログラム切替部32-5は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、外部アクセス管理部4'の動作およびトランザクション複製転送部1の動作をテスト併用モードの動作から新規多重運用モードの動作に切替えることにより(S811、S812)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を再開させる(S813)。
【０２４５】
外部アクセス管理部4'におけるテスト併用モードの動作とは、図１１の外部アクセス管理部4'と同じ動作を意味する。他方、新規多重運用モードの動作とは、図３を参照して説明した外部アクセス管理部の動作において新規プログラム3に対する動作と現行プログラム2に対する動作とを逆にした動作を意味する。
【０２４６】
トランザクション複製転送部1におけるテスト併用モードの動作とは、図１１のトランザクション複製転送部1と同じ動作を意味する。他方、新規多重運用モードの動作とは、クライアント100から受信したトランザクションを複製して新規プログラム3および現行プログラム2に転送し、新規プログラム3から受信した応答トランザクションをクライアント100に返却する動作を意味する。
【０２４７】
このように現行プログラム2を停止させずにプログラム実行部200で動かしておくことで、若し、新規プログラム3に不具合が見つかったために再びテスト併用モードに切替えて現行プログラム2を用いてサービスを提供する場合に、現行プログラム2を再起動する手間と時間を省略できる利点がある。
【０２４８】
以上の例では、現行プログラム2および新規プログラム3の動作するプログラム実行部200、300を変えずにプログラム切替えを行ったが、現行プログラム2の稼動するプログラム実行部200で新規プログラム3を稼動させることで、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替えることもできる。この場合の流れは第８の実施の形態の動作説明に用いた図１８のフローチャートと同じなので、図１８を参照して説明する。
【０２４９】
プログラム切替部32-5は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、現行プログラム2および新規プログラム3を停止させる(S1001)。次に、プログラム実行部200に新規プログラム3をロードするとともに、プログラム実行部300に現行プログラム2をロードし(S1002)、それぞれの実行部200、300でそれらのプログラム3、2を起動する(S1003)。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、新規プログラム3および現行プログラム2への新たなトランザクションの転送を再開させる(S1004)。
【０２５０】
このプログラム入替えによるプログラム切替え方法は、サービス停止期間が若干長くなるものの、外部アクセス管理部4'やトランザクション複製転送部1の動作を切替える必要がない利点がある。
【０２５１】
このように本実施の形態によれば、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、新規プログラム3を並行して実行することが可能であり、また、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作を確認することができ、そして、現行プログラム2から新規プログラム3へトランザクション処理を切替えることができるように構成されているため、新規プログラム3の動作確認が終わり次第、スムーズに処理プログラムを切替えることができる効果がある。
【０２５２】
次に、本発明の第１４の実施の形態について図面を参照して詳細に説明する。
【０２５３】
図２４を参照すると、本発明の第１４の実施の形態にかかるトランザクション処理システム1014は、図１２に示した第７の実施の形態にかかるトランザクション処理システム1007にプログラム切替部32-6を付加した構成となっている。プログラム切替部32-6は、利用者もしくは他プログラムの指示を受けて、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える手段である。
【０２５４】
次に、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える動作について詳細に説明する。なお、その際の動作の流れは第８の実施の形態の動作説明に用いた図１４のフローチャートと同じなので、図１４を参照して説明する。
【０２５５】
新規プログラム3の動作確認を終え、現行プログラム2に代えて新規プログラム3で処理サービスを提供する場合、プログラム切替部32-6は、利用者もしくは他プログラムからの指示を受けて、図１４に示されるプログラム切替処理を開始する。まず、プログラム切替部32-6は、トランザクション複製転送部1に対してトランザクションの受信停止を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を停止させる(S601)。このとき、トランザクション複製転送部1は、クライアント100からの新たなトランザクション要求の受信自体を停止しても良いし、要求は受信して内部の記憶部に記憶し、現行プログラム2および新規プログラム3への転送は停止するようにしても良い。
【０２５６】
次にプログラム切替部32-6は、現行プログラム2及び新規プログラム3に投入されたトランザクションについて処理が完了しているかどうかを確認する(S602)。この確認は、例えば、トランザクション複製転送部1が現行プログラム2および新規プログラム3に投入した全てのトランザクションについて、その応答トランザクションが現行プログラム2および新規プログラム3から帰ってきたかどうかを調べることにより可能である。
【０２５７】
現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、プログラム切替部32-6は、現行プログラム2の動作を停止させ(S603)、外部アクセス管理部4の動作およびトランザクション複製転送部1の動作をテスト併用モードの動作から新規運用モードの動作に切替えることにより(S604、S605)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、要求トランザクション保存部5経由による新規プログラム3への新たなトランザクションの転送を再開させる(S606)。
【０２５８】
外部アクセス管理部4におけるテスト併用モードの動作とは、図１２の第７の実施の形態における外部アクセス管理部4と同じ動作を意味する。他方、外部アクセス管理部4における新規運用モードの動作とは、新規プログラム3から出されたアクセス要求を実際に外部データ400に出して、そのアクセス結果を新規プログラム3に返却する動作を意味する。
【０２５９】
トランザクション複製転送部1におけるテスト併用モードの動作とは、図１２の第７の実施の形態におけるトランザクション複製転送部1と同じ動作を意味する。他方、新規運用モードの動作とは、クライアント100から受信したトランザクションを新規プログラム3にのみ転送し、新規プログラム3から応答トランザクションを受け取ってクライアント100に返却する動作を意味する。
【０２６０】
以上の例では、プログラム切替えによって現行プログラム2を停止させ、新規プログラム3のみが動作する形態としたが、現行プログラム2を停止させずに新規プログラム3と並行して動作させておくこともできる。この場合の流れは第８の実施の形態の動作説明に用いた図１６のフローチャートと同じなので、図１６を参照して説明する。
【０２６１】
プログラム切替部32-6は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、外部アクセス管理部4の動作およびトランザクション複製転送部1の動作をテスト併用モードの動作から新規多重運用モードの動作に切替えることにより(S811、S812)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を再開させる(S813)。
【０２６２】
外部アクセス管理部4におけるテスト併用モードの動作とは、図１２の外部アクセス管理部4と同じ動作を意味する。他方、新規多重運用モードの動作とは、図３を参照して説明した外部アクセス管理部の動作において新規プログラム3に対する動作と現行プログラム2に対する動作とを逆にした動作を意味する。
【０２６３】
トランザクション複製転送部1におけるテスト併用モードの動作とは、図１２のトランザクション複製転送部1と同じ動作を意味する。他方、新規多重運用モードの動作とは、クライアント100から受信したトランザクションを複製して新規プログラム3および現行プログラム2に転送し、新規プログラム3から受信した応答トランザクションをクライアント100に返却する動作を意味する。
【０２６４】
このように現行プログラム2を停止させずにプログラム実行部200で動かしておくことで、若し、新規プログラム2に不具合が見つかったために再びテスト併用モードに切替えて現行プログラム2を用いてサービスを提供する場合に、現行プログラム2を再起動する手間と時間を省略できる利点がある。
【０２６５】
以上の例では、現行プログラム2および新規プログラム3の動作するプログラム実行部200、300を変えずにプログラム切替えを行ったが、現行プログラム2の稼動するプログラム実行部200で新規プログラム3を稼動させることで、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替えることもできる。この場合の流れは第８の実施の形態の動作説明に用いた図１８のフローチャートと同じなので、図１８を参照して説明する。
【０２６６】
プログラム切替部32-6は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、現行プログラム2および新規プログラム3を停止させる(S1001)。次に、プログラム実行部200に新規プログラム3をロードするとともに、プログラム実行部300に現行プログラム2をロードし(S1002)、それぞれの実行部200、300でそれらのプログラム3、2を起動する(S1003)。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、新規プログラム3および現行プログラム2への新たなトランザクションの転送を再開させる(S1004)。
【０２６７】
このプログラム入替えによるプログラム切替え方法は、サービス停止期間が若干長くなるものの、外部アクセス管理部4やトランザクション複製転送部1の動作を切替える必要がない利点がある。
【０２６８】
このように本実施の形態によれば、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、新規プログラム3を並行して実行することが可能であり、また、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作を確認することができ、そして、現行プログラム2から新規プログラム3へトランザクション処理を切替えることができるように構成されているため、新規プログラム3の動作確認が終わり次第、スムーズに処理プログラムを切替えることができる効果がある。
【０２６９】
以上本発明の実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。また、本発明のトランザクション処理システムは、その有する機能をハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態におけるトランザクション処理システムを構成する機能手段として機能させる。
【産業上の利用可能性】
【０２７０】
本発明は、トランザクション処理サービスシステムにおいて、現用のプログラムが実行しているサービスを停止させずに、現用プログラムと同等の機能を提供する新規プログラムが現用のプログラムと同じ動作をするか、互換性があるかどうかを検証する用途に適用できる。
【図面の簡単な説明】
【０２７１】
【図１】本発明の第１の実施の形態の構成を示すブロック図である。
【図２】本発明の第１の実施の形態の動作を示す流れ図である。
【図３】本発明の第１の実施の形態における外部アクセス管理部の動作を示す流れ図である。
【図４】本発明の第２の実施の形態の構成を示すプロック図である。
【図５】本発明の第２の実施の形態におけるマスター外部アクセス管理部の動作を示す流れ図である。
【図６】本発明の第２の実施の形態におけるスレーブ外部アクセス管理部の動作を示す流れ図である。
【図７】本発明の第３の実施の形態の構成を示すブロック図である。
【図８】本発明の第４の実施の形態の構成を示すブロック図である。
【図９】本発明の第５の実施の形態の構成を示すブロック図である。
【図１０】本発明の第５の実施の形態における比較検証部の動作を示す流れ図である。
【図１１】本発明の第６の実施の形態の構成を示すブロック図である。
【図１２】本発明の第７の実施の形態の構成を示すブロック図である。
【図１３】本発明の第８の実施の形態の構成を示すブロック図である。
【図１４】本発明の第８の実施の形態におけるプログラム切替部の動作例を示す流れ図である。
【図１５】本発明の第８の実施の形態における外部アクセス管理部の動作例を示す流れ図である。
【図１６】本発明の第８の実施の形態におけるプログラム切替部の他の動作例を示す流れ図である。
【図１７】本発明の第８の実施の形態における外部アクセス管理部の他の動作例を示す流れ図である。
【図１８】本発明の第８の実施の形態におけるプログラム切替部の別の動作例を示す流れ図である。
【図１９】本発明の第９の実施の形態の構成を示すブロック図である。
【図２０】本発明の第１０の実施の形態の構成を示すブロック図である。
【図２１】本発明の第１１の実施の形態の構成を示すブロック図である。
【図２２】本発明の第１２の実施の形態の構成を示すブロック図である。
【図２３】本発明の第１３の実施の形態の構成を示すブロック図である。
【図２４】本発明の第１４の実施の形態の構成を示すブロック図である。
【符号の説明】
【０２７２】
1, 1', 1"…トランザクション複製転送部
2…現行プログラム
3, 3'…新規プログラム
4, 4'…外部アクセス管理部
4A…マスター外部アクセス管理部
4B…スレーブ外部アクセス管理部
5…要求トランザクション保存部
6, 6', 6", 6A, 6B…トランザクション転送部
7…現行プログラム応答トランザクション保存部
8…新規プログラム応答トランザクション保存部
9, 12, 20…比較検証部
10…現行プログラム外部アクセス保存部
11…新規プログラム外部アクセス保存部
21…現行プログラム環境情報保存部
22…新規プログラム環境情報保存部
32,32-1〜32-6…プログラム切替部
100…クライアント（ブラウザ) 
200, 300, 300'…プログラム実行部
400…外部データ
1001〜1014…トランザクション処理システム
【図１】
2005149043.tif 000003
【図２】
2005149043.tif 000004
【図３】
2005149043.tif 000005
【図４】
2005149043.tif 000006
【図５】
2005149043.tif 000007
【図６】
2005149043.tif 000008
【図７】
2005149043.tif 000009
【図８】
2005149043.tif 000010
【図９】
2005149043.tif 000011
【図１０】
2005149043.tif 000012
【図１１】
2005149043.tif 000013
【図１２】
2005149043.tif 000014
【図１３】
2005149043.tif 000015
【図１４】
2005149043.tif 000016
【図１５】
2005149043.tif 000017
【図１６】
2005149043.tif 000018
【図１７】
2005149043.tif 000019
【図１８】
2005149043.tif 000020
【図１９】
2005149043.tif 000021
【図２０】
2005149043.tif 000022
【図２１】
2005149043.tif 000023
【図２２】
2005149043.tif 000024
【図２３】
2005149043.tif 000025
【図２４】
2005149043.tif 000026