(57)【要約】【課題】  プログラムが所望の動作をするかどうかというプログラムの検査のために、保存された一連のトランザクションを処理タイミングを変更して再実行できるようにする。【解決手段】  利用者は、利用者入出力手段１０を通じて、再生、停止、コマ送り、停止の各コマンドと、再生速度を指定でき、これらの指定から、トランザクション処理タイミング制御部１２は、次に処理するトランザクションと、その処理するタイミングを決定し、トランザクション保存部２２からそのトランザクションを抽出し、前記決定したタイミングでトランザクション処理手段１１に投入する。トランザクション処理手段１１は、処理データ保存部２１に保持されたレコードを処理する。処理結果は、トランザクション処理タイミング制御１２に出力され、利用者入出力手段１０を通じて利用者に提示される。【選択図】  図１
2005165600.tif 000002
【特許請求の範囲】
【請求項１】
データ処理装置とデータ記憶装置とで構成され、前記データ記憶装置は、時刻情報を付加した一連のトランザクションを保存するトランザクション保存部と、前記トランザクションによる処理の対象となるデータを保存する処理データ保存部とを備え、前記データ処理装置は、利用者から再生および停止の指示を受け付ける手段と利用者に対して情報を表示する手段とを有する利用者入出力手段と、トランザクション処理プログラムに従ってトランザクションを処理し処理結果を返却するトランザクション処理手段と、前記利用者入出力手段が利用者から受け付けた再生の指示に応じて、前記利用者入出力手段が利用者から停止の指示を受け付けるまで、前記トランザクション保存部に保存されている一連のトランザクションを順次抽出し、タイマーを用いて、前記抽出した一連のトランザクションをそれに設定された時刻情報に応じて定まる時間間隔で前記トランザクション処理手段に送信し、その処理結果を受信して前記利用者入出力手段に通知するトランザクション処理タイミング制御手段とを備えることを特徴とするトランザクション処理システム。
【請求項２】
データ処理装置とデータ記憶装置とで構成され、前記データ記憶装置は、時刻情報を付加した一連のトランザクションを保存するトランザクション保存部と、前記トランザクションによる処理の対象となるデータを保存する処理データ保存部とを備え、前記データ処理装置は、利用者から再生、再生速度および停止の指示を受け付ける手段と利用者に対して情報を表示する手段とを有する利用者入出力手段と、トランザクション処理プログラムに従ってトランザクションを処理し処理結果を返却するトランザクション処理手段と、前記利用者入出力手段が利用者から受け付けた再生の指示に応じて、前記利用者入出力手段が利用者から停止の指示を受け付けるまで、前記トランザクション保存部に保存されている一連のトランザクションを順次抽出し、タイマーを用いて、前記抽出した一連のトランザクションをそれに設定された時刻情報および前記再生速度に応じて定まる時間間隔で前記トランザクション処理手段に送信し、その処理結果を受信して前記利用者入出力手段に通知するトランザクション処理タイミング制御手段とを備えることを特徴とするトランザクション処理システム。
【請求項３】
前記利用者入出力手段は、利用者からコマ送りの指示を受け付ける手段を有し、前記トランザクション処理タイミング制御手段は、前記利用者入出力手段が利用者から受け付けたコマ送りの指示に応じて、前記トランザクション保存部に保存されている次に実行すべきトランザクションを１つ抽出し、そのトランザクションを速やかに前記トランザクション処理手段に送信するものであることを特徴とする請求項１または２記載のトランザクション処理システム。
【請求項４】
前記利用者入出力手段は、利用者から初期状態復帰の指示を受け付ける手段を有し、前記トランザクション処理タイミング制御手段は、前記利用者入出力手段が利用者から受け付けた初期状態復帰の指示に応じて、前記トランザクション処理手段および前記処理データ保存部の状態を初期化し、抽出すべきトランザクションを前記トランザクション保存部に保存されている最初に実行すべきトランザクションに設定するものであることを特徴とする請求項１または２記載のトランザクション処理システム。
【請求項５】
前記データ記憶装置に、前記トランザクション処理手段および前記処理データ保存部の状態を実行されたトランザクションを処理する前の状態に戻すトランザクションＵＮＤＯ情報を保存するトランザクションＵＮＤＯ保存部を備え、前記利用者入出力手段は、利用者から１つ戻るの指示を受け付ける手段を有し、前記トランザクション処理タイミング制御手段は、前記利用者入出力手段が利用者から受け付けた１つ戻るの指示に応じて、直前に実行したトランザクションを処理する前の状態に戻すトランザクションＵＮＤＯ情報を前記トランザクションＵＮＤＯ保存部から抽出して前記トランザクション処理手段に送信するものであることを特徴とする請求項１または２記載のトランザクション処理システム。
【請求項６】
前記データ記憶装置に、チェックポイントデータを保存するチェックポイントデータ保存部を備え、前記利用者入出力手段は、利用者から指定状態への復帰の指示を受け付ける手段を有し、且つ、前記データ処理装置に、前記利用者入出力手段が利用者から受け付けた指定状態への復帰の指示に応じて、前記チェックポイントデータ保存部に保存されたチェックポイントデータのうち前記復帰の指示で指定されたチェックポイントデータを用いて、前記トランザクション処理手段および前記処理データ保存部の状態をチェックポイント時点の状態に復元するチェックポイント制御手段を備え、前記トランザクション処理タイミング制御手段は、抽出すべきトランザクションを前記トランザクション保存部に保存されているトランザクションのうち前記復帰したチェックポイントの次に実行すべきトランザクションに設定するものであることを特徴とする請求項１または２記載のトランザクション処理システム。
【請求項７】
前記データ記憶装置に、チェックポイントデータを保存するチェックポイントデータ保存部を備え、前記利用者入出力手段は、利用者から巻戻しの指示を受け付ける手段を有し、且つ、前記データ処理装置に、前記利用者入出力手段が利用者から受け付けた巻戻しの指示に応じて、前記チェックポイントデータ保存部に保存されたチェックポイントデータのうち現時点より１つ前のチェックポイントデータを用いて、前記トランザクション処理手段および前記処理データ保存部の状態をそのチェックポイント時点の状態に復元するチェックポイント制御手段を備え、前記トランザクション処理タイミング制御手段は、抽出すべきトランザクションを前記トランザクション保存部に保存されているトランザクションのうち前記復帰したチェックポイントの次に実行すべきトランザクションに設定するものであることを特徴とする請求項１または２記載のトランザクション処理システム。
【請求項８】
前記データ記憶装置に、チェックポイントデータを保存するチェックポイントデータ保存部を備え、前記利用者入出力手段は、利用者から早送りの指示を受け付ける手段を有し、且つ、前記データ処理装置に、前記利用者入出力手段が利用者から受け付けた早送りの指示に応じて、前記チェックポイントデータ保存部に保存されたチェックポイントデータのうち現時点より１つ後のチェックポイントデータを用いて、前記トランザクション処理手段および前記処理データ保存部の状態をそのチェックポイント時点の状態に復元するチェックポイント制御手段を備え、前記トランザクション処理タイミング制御手段は、抽出すべきトランザクションを前記トランザクション保存部に保存されているトランザクションのうち前記復帰したチェックポイントの次に実行すべきトランザクションに設定するものであることを特徴とする請求項１または２記載のトランザクション処理システム。
【請求項９】
前記利用者入出力手段は、利用者から編集対象となるトランザクションの選択を受け付ける手段を有し、且つ、前記データ処理装置に、前記トランザクション保存部に保存されたトランザクションのうち前記選択されたトランザクションを利用者からの指示に従って編集するトランザクション編集手段を備えることを特徴とする請求項１または２記載のトランザクション処理システム。
【請求項１０】
前記データ記憶装置に、チェックポイントデータを保存するチェックポイントデータ保存部を備え、前記利用者入出力手段は、利用者から編集対象となるトランザクションの選択を受け付ける手段を有し、且つ、前記データ処理装置に、前記トランザクション保存部に保存されたトランザクションのうち前記選択されたトランザクションを利用者からの指示に従って編集し、編集後の一連のトランザクションを別ファイルとして前記トランザクション保存部に保存するトランザクション編集手段と、別ファイルとして保存された編集後の一連のトランザクションに対して、前記チェックポイントデータ保存部に保存されたチェックポイントデータのうちの有効なチェックポイントデータを対応付け別バージョンのトランザクションセットとして管理するバージョン管理手段とを備えることを特徴とする請求項１または２記載のトランザクション処理システム。
【請求項１１】
前記利用者入出力手段は、利用者からのトランザクションセットの選択指示を受け付ける手段を有し、前記バージョン管理手段は、前記トランザクション保存手段および前記チェックポイントデータ保存部に保存されたトランザクションおよびチェックポイントデータのうち利用者が選択したトランザクションセットに属する一連のトランザクションおよびチェックポイントデータを有効とするものであることを特徴とする請求項１０記載のトランザクション処理システム。
【請求項１２】
ａ）利用者入出力手段が、利用者から再生の指示を受け付けるステップ、
ｂ）トランザクション処理タイミング制御手段が、トランザクション保存部から次に実行するトランザクションを抽出し、該抽出したトランザクションの実行開始時刻として、直前に実行したトランザクションの実行開始時刻に、前記抽出したトランザクションに設定された時刻情報と直前に実行したトランザクションに設定された時刻情報との差だけ加算した時刻を設定し、タイマーを用いてその実行開始時刻が到来したことを検出して、トランザクション処理手段に送信するステップ、
ｃ）前記トランザクション処理手段が、受信したトランザクションをトランザクション処理プログラムに従って処理し、処理結果を出力するステップ、
ｄ）前記トランザクション処理タイミング制御手段が、前記トランザクション処理手段の処理結果を受信して前記利用者入出力手段に通知し、前記利用者入出力手段が通知された処理結果を利用者に提示するステップ、
ｅ）利用者入出力手段が、利用者から停止の指示があるかどうかを判定し、停止の指示があればトランザクションの実行を停止し、停止の指示がなければ前記ステップｂに戻るステップ、
を含むことを特徴とするトランザクション処理方法。
【請求項１３】
ａ）利用者入出力手段が、利用者から再生の指示および再生速度の指示を受け付けるステップ、
ｂ）トランザクション処理タイミング制御手段が、トランザクション保存部から次に実行するトランザクションを抽出し、該抽出したトランザクションの実行開始時刻として、直前に実行したトランザクションの実行開始時刻に、前記抽出したトランザクションに設定された時刻情報と直前に実行したトランザクションに設定された時刻情報との差の時間を前記再生速度に応じて補正した時間だけ加算した時刻を設定し、タイマーを用いてその実行開始時刻が到来したことを検出して、トランザクション処理手段に送信するステップ、
ｃ）前記トランザクション処理手段が、受信したトランザクションをトランザクション処理プログラムに従って処理し、処理結果を出力するステップ、
ｄ）前記トランザクション処理タイミング制御手段が、前記トランザクション処理手段の処理結果を受信して前記利用者入出力手段に通知し、前記利用者入出力手段が通知された処理結果を利用者に提示するステップ、
ｅ）利用者入出力手段が、利用者から停止の指示があるかどうかを判定し、停止の指示があればトランザクションの実行を停止し、停止の指示がなければ前記ステップｂに戻るステップ、
を含むことを特徴とするトランザクション処理方法。
【請求項１４】
時刻情報を付加した一連のトランザクションを保存するトランザクション保存部と前記トランザクションによる処理の対象となるデータを保存する処理データ保存部とを備えたデータ記憶装置に接続されたデータ処理装置を構成するコンピュータを、利用者から再生および停止の指示を受け付ける手段と利用者に対して情報を表示する手段とを有する利用者入出力手段、前記利用者入出力手段が利用者から受け付けた再生の指示に応じて、前記利用者入出力手段が利用者から停止の指示を受け付けるまで、前記トランザクション保存部に保存されている一連のトランザクションを順次抽出し、タイマーを用いて、前記抽出した一連のトランザクションをそれに設定された時刻情報に応じて定まる時間間隔でトランザクション処理手段に送信し、その処理結果を受信して前記利用者入出力手段に通知するトランザクション処理タイミング制御手段、として機能させることを特徴とするプログラム。
【請求項１５】
時刻情報を付加した一連のトランザクションを保存するトランザクション保存部と前記トランザクションによる処理の対象となるデータを保存する処理データ保存部とを備えたデータ記憶装置に接続されたデータ処理装置を構成するコンピュータを、利用者から再生、再生速度および停止の指示を受け付ける手段と利用者に対して情報を表示する手段とを有する利用者入出力手段、前記利用者入出力手段が利用者から受け付けた再生の指示に応じて、前記利用者入出力手段が利用者から停止の指示を受け付けるまで、前記トランザクション保存部に保存されている一連のトランザクションを順次抽出し、タイマーを用いて、前記抽出した一連のトランザクションをそれに設定された時刻情報および前記再生速度に応じて定まる時間間隔でトランザクション処理手段に送信し、その処理結果を受信して前記利用者入出力手段に通知するトランザクション処理タイミング制御手段、として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はトランザクション処理システムおよびトランザクション処理方法に関し、特に保存された一連のトランザクションを再実行もしくは修正実行するトランザクション処理システムおよびトランザクション処理方法に関する。
【背景技術】
【０００２】
従来より、トランザクション処理システムにおいて、過去に実行したトランザクションを保存しておき、後に再実行もしくは修正実行することが行われている。
【０００３】
例えば、特許文献１には、トランザクションレコード格納部から過去のトランザクションレコードを取り出し、このトランザクションレコードあるいはそれを修正したトランザクションレコードをトランザクション処理部に送り、トランザクション処理部内のトランザクション処理プログラムによってトランザクション処理を実行するトランザクション処理装置が記載されている。
【０００４】
また、特許文献２には、プログラムを実行するプロセッサにおいて、実行中のプログラムに何らかの障害が発生するまでの期間中、所定の間隔でチェックポイントと呼ぶリスタート用のデータを取得して保存し、障害発生時には障害発生直前のチェックポイントデータを用いてプログラム障害を再現させてデバッグを進めるデバッグ方法が提案されている。
【特許文献１】特開平８−１６１２０９号公報
【特許文献２】特開平１０−１９８５７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
トランザクション処理においては、多様なサービスを実現するために、分散処理や他プログラムとの連携処理を行うようになり、処理プログラムが複雑化し、処理プログラムの誤り（バグ）によるシステム障害が増大している。そのため、このようなシステム障害に対して、様々なトランザクションを様々なタイミングで処理するテストや、特許文献２に見られるように障害が発生した時のシステムの状態を再現して、問題となったトランザクションを再実行する再現テストや、問題となったトランザクションを修正して再実行する復旧作業が重要となる。
【０００６】
トランザクションの再実行や修正実行自体は特許文献１に見られるように従来から行われている。しかし、特許文献１ではトランザクションを処理した時刻は記録されているものの、各トランザクションを実行すべき時刻の記録はなく、単にトランザクションを順に実行するものに過ぎない。従って、プログラムのテストなどの作業を効率良く実施するのは困難である。
【０００７】
本発明はこのような事情に鑑みて提案されたものであり、その目的は、保存された一連のトランザクションを保存当初の実行タイミングで正確に再実行することのできるトランザクション処理システム及びその方法を提供することにある。
【０００８】
本発明の別の目的は、保存された一連のトランザクションを保存当初の実行タイミングを変更して再実行することのできるトランザクション処理システム及びその方法を提供することにある。
【０００９】
本発明の他の目的は、保存された一連のトランザクションの内容を変更して再実行することのできるトランザクション処理システム及びその方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の第１のトランザクション処理システムは、データ処理装置とデータ記憶装置とで構成され、前記データ記憶装置は、時刻情報を付加した一連のトランザクションを保存するトランザクション保存部と、前記トランザクションによる処理の対象となるデータを保存する処理データ保存部とを備え、前記データ処理装置は、利用者から再生および停止の指示を受け付ける手段と利用者に対して情報を表示する手段とを有する利用者入出力手段と、トランザクション処理プログラムに従ってトランザクションを処理し処理結果を返却するトランザクション処理手段と、前記利用者入出力手段が利用者から受け付けた再生の指示に応じて、前記利用者入出力手段が利用者から停止の指示を受け付けるまで、前記トランザクション保存部に保存されている一連のトランザクションを順次抽出し、タイマーを用いて、前記抽出した一連のトランザクションをそれに設定された時刻情報に応じて定まる時間間隔で前記トランザクション処理手段に送信し、その処理結果を受信して前記利用者入出力手段に通知するトランザクション処理タイミング制御手段とを備えることを特徴とする。
【００１１】
本発明の第２のトランザクション処理システムは、データ処理装置とデータ記憶装置とで構成され、前記データ記憶装置は、時刻情報を付加した一連のトランザクションを保存するトランザクション保存部と、前記トランザクションによる処理の対象となるデータを保存する処理データ保存部とを備え、前記データ処理装置は、利用者から再生、再生速度および停止の指示を受け付ける手段と利用者に対して情報を表示する手段とを有する利用者入出力手段と、トランザクション処理プログラムに従ってトランザクションを処理し処理結果を返却するトランザクション処理手段と、前記利用者入出力手段が利用者から受け付けた再生の指示に応じて、前記利用者入出力手段が利用者から停止の指示を受け付けるまで、前記トランザクション保存部に保存されている一連のトランザクションを順次抽出し、タイマーを用いて、前記抽出した一連のトランザクションをそれに設定された時刻情報および前記再生速度に応じて定まる時間間隔で前記トランザクション処理手段に送信し、その処理結果を受信して前記利用者入出力手段に通知するトランザクション処理タイミング制御手段とを備えることを特徴とする。
【００１２】
本発明の第３のトランザクション処理システムは、第１または第２のトランザクション処理システムにおいて、前記利用者入出力手段は、利用者からコマ送りの指示を受け付ける手段を有し、前記トランザクション処理タイミング制御手段は、前記利用者入出力手段が利用者から受け付けたコマ送りの指示に応じて、前記トランザクション保存部に保存されている次に実行すべきトランザクションを１つ抽出し、そのトランザクションを速やかに前記トランザクション処理手段に送信するものであることを特徴とする。
【００１３】
本発明の第４のトランザクション処理システムは、第１または第２のトランザクション処理システムにおいて、前記利用者入出力手段は、利用者から初期状態復帰の指示を受け付ける手段を有し、前記トランザクション処理タイミング制御手段は、前記利用者入出力手段が利用者から受け付けた初期状態復帰の指示に応じて、前記トランザクション処理手段および前記処理データ保存部の状態を初期化し、抽出すべきトランザクションを前記トランザクション保存部に保存されている最初に実行すべきトランザクションに設定するものであることを特徴とする。
【００１４】
本発明の第５のトランザクション処理システムは、第１または第２のトランザクション処理システムにおいて、前記データ記憶装置に、前記トランザクション処理手段および前記処理データ保存部の状態を実行されたトランザクションを処理する前の状態に戻すトランザクションＵＮＤＯ情報を保存するトランザクションＵＮＤＯ保存部を備え、前記利用者入出力手段は、利用者から１つ戻るの指示を受け付ける手段を有し、前記トランザクション処理タイミング制御手段は、前記利用者入出力手段が利用者から受け付けた１つ戻るの指示に応じて、直前に実行したトランザクションを処理する前の状態に戻すトランザクションＵＮＤＯ情報を前記トランザクションＵＮＤＯ保存部から抽出して前記トランザクション処理手段に送信するものであることを特徴とする。
【００１５】
本発明の第６のトランザクション処理システムは、第１または第２のトランザクション処理システムにおいて、前記データ記憶装置に、チェックポイントデータを保存するチェックポイントデータ保存部を備え、前記利用者入出力手段は、利用者から指定状態への復帰の指示を受け付ける手段を有し、且つ、前記データ処理装置に、前記利用者入出力手段が利用者から受け付けた指定状態への復帰の指示に応じて、前記チェックポイントデータ保存部に保存されたチェックポイントデータのうち前記復帰の指示で指定されたチェックポイントデータを用いて、前記トランザクション処理手段および前記処理データ保存部の状態をチェックポイント時点の状態に復元するチェックポイント制御手段を備え、前記トランザクション処理タイミング制御手段は、抽出すべきトランザクションを前記トランザクション保存部に保存されているトランザクションのうち前記復帰したチェックポイントの次に実行すべきトランザクションに設定するものであることを特徴とする。
【００１６】
本発明の第７のトランザクション処理システムは、第１または第２のトランザクション処理システムにおいて、前記データ記憶装置に、チェックポイントデータを保存するチェックポイントデータ保存部を備え、前記利用者入出力手段は、利用者から巻戻しの指示を受け付ける手段を有し、且つ、前記データ処理装置に、前記利用者入出力手段が利用者から受け付けた巻戻しの指示に応じて、前記チェックポイントデータ保存部に保存されたチェックポイントデータのうち現時点より１つ前のチェックポイントデータを用いて、前記トランザクション処理手段および前記処理データ保存部の状態をそのチェックポイント時点の状態に復元するチェックポイント制御手段を備え、前記トランザクション処理タイミング制御手段は、抽出すべきトランザクションを前記トランザクション保存部に保存されているトランザクションのうち前記復帰したチェックポイントの次に実行すべきトランザクションに設定するものであることを特徴とする。
【００１７】
本発明の第８のトランザクション処理システムは、第１または第２のトランザクション処理システムにおいて、前記データ記憶装置に、チェックポイントデータを保存するチェックポイントデータ保存部を備え、前記利用者入出力手段は、利用者から早送りの指示を受け付ける手段を有し、且つ、前記データ処理装置に、前記利用者入出力手段が利用者から受け付けた早送りの指示に応じて、前記チェックポイントデータ保存部に保存されたチェックポイントデータのうち現時点より１つ後のチェックポイントデータを用いて、前記トランザクション処理手段および前記処理データ保存部の状態をそのチェックポイント時点の状態に復元するチェックポイント制御手段を備え、前記トランザクション処理タイミング制御手段は、抽出すべきトランザクションを前記トランザクション保存部に保存されているトランザクションのうち前記復帰したチェックポイントの次に実行すべきトランザクションに設定するものであることを特徴とする。
【００１８】
本発明の第９のトランザクション処理システムは、第１または第２のトランザクション処理システムにおいて、前記利用者入出力手段は、利用者から編集対象となるトランザクションの選択を受け付ける手段を有し、且つ、前記データ処理装置に、前記トランザクション保存部に保存されたトランザクションのうち前記選択されたトランザクションを利用者からの指示に従って編集するトランザクション編集手段を備えることを特徴とする。
【００１９】
本発明の第１０のトランザクション処理システムは、第１または第２のトランザクション処理システムにおいて、前記データ記憶装置に、チェックポイントデータを保存するチェックポイントデータ保存部を備え、前記利用者入出力手段は、利用者から編集対象となるトランザクションの選択を受け付ける手段を有し、且つ、前記データ処理装置に、前記トランザクション保存部に保存されたトランザクションのうち前記選択されたトランザクションを利用者からの指示に従って編集し、編集後の一連のトランザクションを別ファイルとして前記トランザクション保存部に保存するトランザクション編集手段と、別ファイルとして保存された編集後の一連のトランザクションに対して、前記チェックポイントデータ保存部に保存されたチェックポイントデータのうちの有効なチェックポイントデータを対応付け別バージョンのトランザクションセットとして管理するバージョン管理手段とを備えることを特徴とする。
【００２０】
本発明の第１１のトランザクション処理システムは、第１０のトランザクション処理システムにおいて、前記利用者入出力手段は、利用者からのトランザクションセットの選択指示を受け付ける手段を有し、前記バージョン管理手段は、前記トランザクション保存手段および前記チェックポイントデータ保存部に保存されたトランザクションおよびチェックポイントデータのうち利用者が選択したトランザクションセットに属する一連のトランザクションおよびチェックポイントデータを有効とするものであることを特徴とする。
【００２１】
本発明の第１のトランザクション処理方法は、ａ）利用者入出力手段が、利用者から再生の指示を受け付けるステップ、ｂ）トランザクション処理タイミング制御手段が、トランザクション保存部から次に実行するトランザクションを抽出し、該抽出したトランザクションの実行開始時刻として、直前に実行したトランザクションの実行開始時刻に、前記抽出したトランザクションに設定された時刻情報と直前に実行したトランザクションに設定された時刻情報との差だけ加算した時刻を設定し、タイマーを用いてその実行開始時刻が到来したことを検出して、トランザクション処理手段に送信するステップ、ｃ）前記トランザクション処理手段が、受信したトランザクションをトランザクション処理プログラムに従って処理し、処理結果を出力するステップ、ｄ）前記トランザクション処理タイミング制御手段が、前記トランザクション処理手段の処理結果を受信して前記利用者入出力手段に通知し、前記利用者入出力手段が通知された処理結果を利用者に提示するステップ、ｅ）利用者入出力手段が、利用者から停止の指示があるかどうかを判定し、停止の指示があればトランザクションの実行を停止し、停止の指示がなければ前記ステップｂに戻るステップ、を含むことを特徴とする。
【００２２】
本発明の第２のトランザクション処理方法は、ａ）利用者入出力手段が、利用者から再生の指示および再生速度の指示を受け付けるステップ、ｂ）トランザクション処理タイミング制御手段が、トランザクション保存部から次に実行するトランザクションを抽出し、該抽出したトランザクションの実行開始時刻として、直前に実行したトランザクションの実行開始時刻に、前記抽出したトランザクションに設定された時刻情報と直前に実行したトランザクションに設定された時刻情報との差の時間を前記再生速度に応じて補正した時間だけ加算した時刻を設定し、タイマーを用いてその実行開始時刻が到来したことを検出して、トランザクション処理手段に送信するステップ、ｃ）前記トランザクション処理手段が、受信したトランザクションをトランザクション処理プログラムに従って処理し、処理結果を出力するステップ、ｄ）前記トランザクション処理タイミング制御手段が、前記トランザクション処理手段の処理結果を受信して前記利用者入出力手段に通知し、前記利用者入出力手段が通知された処理結果を利用者に提示するステップ、ｅ）利用者入出力手段が、利用者から停止の指示があるかどうかを判定し、停止の指示があればトランザクションの実行を停止し、停止の指示がなければ前記ステップｂに戻るステップ、を含むことを特徴とする。
【００２３】
本発明の第１のプログラムは、時刻情報を付加した一連のトランザクションを保存するトランザクション保存部と前記トランザクションによる処理の対象となるデータを保存する処理データ保存部とを備えたデータ記憶装置に接続されたデータ処理装置を構成するコンピュータを、利用者から再生および停止の指示を受け付ける手段と利用者に対して情報を表示する手段とを有する利用者入出力手段、前記利用者入出力手段が利用者から受け付けた再生の指示に応じて、前記利用者入出力手段が利用者から停止の指示を受け付けるまで、前記トランザクション保存部に保存されている一連のトランザクションを順次抽出し、タイマーを用いて、前記抽出した一連のトランザクションをそれに設定された時刻情報に応じて定まる時間間隔でトランザクション処理手段に送信し、その処理結果を受信して前記利用者入出力手段に通知するトランザクション処理タイミング制御手段、として機能させることを特徴とする。
【００２４】
本発明の第２のプログラムは、時刻情報を付加した一連のトランザクションを保存するトランザクション保存部と前記トランザクションによる処理の対象となるデータを保存する処理データ保存部とを備えたデータ記憶装置に接続されたデータ処理装置を構成するコンピュータを、利用者から再生、再生速度および停止の指示を受け付ける手段と利用者に対して情報を表示する手段とを有する利用者入出力手段、前記利用者入出力手段が利用者から受け付けた再生の指示に応じて、前記利用者入出力手段が利用者から停止の指示を受け付けるまで、前記トランザクション保存部に保存されている一連のトランザクションを順次抽出し、タイマーを用いて、前記抽出した一連のトランザクションをそれに設定された時刻情報および前記再生速度に応じて定まる時間間隔でトランザクション処理手段に送信し、その処理結果を受信して前記利用者入出力手段に通知するトランザクション処理タイミング制御手段、として機能させることを特徴とする。
【発明の効果】
【００２５】
本発明の第１のトランザクション処理システム及び方法ならびにプログラムによれば、保存された一連のトランザクションを保存当初の実行タイミングで正確に再実行することができる。その理由は、各トランザクションは実行時刻情報が付加されて保存されており、トランザクション処理タイミング制御手段が、タイマーを用いて、保存されている一連のトランザクションをそれに設定された時刻情報に応じて定まる時間間隔でトランザクション処理手段に送信するからである。これによって、実環境で実行された一連のトランザクションを保存して再実行する場合、実環境と全く同一のタイミングでトランザクションを再実行しながら、プログラムが所望の動作を行うかどうかを調査するテストなどが行える。
【００２６】
本発明の第２のトランザクション処理システム及び方法ならびにプログラムによれば、保存された一連のトランザクションを保存当初の実行タイミングを変更して、２倍速や４倍速あるいはその逆の２分の１倍速、４分の１倍速などで再実行することができる。その理由は、トランザクション処理タイミング制御手段が、タイマーを用いて、保存されている一連のトランザクションをそれに設定された時刻情報および再生速度に応じて定まる時間間隔でトランザクション処理手段に送信するからである。これによって、一連のトランザクションの実行タイミングを様々に変更しながら再実行させ、プログラムが所望の動作を行うかどうかを調査するテストなどが行える。
【００２７】
本発明の第３のトランザクション処理システムによれば、第１または第２のトランザクション処理システムで得られる効果に加えて、保存された一連のトランザクションをその有する実行時刻と無関係に一つずつ再実行させることができる。
【００２８】
本発明の第４のトランザクション処理システムによれば、第１または第２のトランザクション処理システムで得られる効果に加えて、初期状態復帰の指示を与えることで、トランザクション処理手段および処理データの状態を初期状態に戻して、何度でも一連のトランザクションを最初から再実行することが可能である。
【００２９】
本発明の第５のトランザクション処理システムによれば、第１または第２のトランザクション処理システムで得られる効果に加えて、１つ戻るの指示を与えることで、トランザクション処理手段および処理データの状態を直前に実行したトランザクションの処理する前の状態に戻すことができ、１つ前の状態に戻ってテストを繰り返すなどの作業を効率良く実施することができる。
【００３０】
本発明の第６のトランザクション処理システムによれば、第１または第２のトランザクション処理システムで得られる効果に加えて、指定状態への復帰の指示を与えることで、トランザクション処理手段および処理データの状態をチェックポイント時点の状態に戻すことができ、前の状態に戻ったり、先の状態に飛んだりしてテストを繰り返すなどの作業を効率良く実施することができる。
【００３１】
本発明の第７のトランザクション処理システムによれば、第１または第２のトランザクション処理システムで得られる効果に加えて、巻戻しの指示を与えることで、トランザクション処理手段および処理データの状態を現時点より１つ前のチェックポイント時点の状態に戻すことができ、前の状態に戻ってテストを繰り返すなどの作業を効率良く実施することができる。
【００３２】
本発明の第８のトランザクション処理システムによれば、第１または第２のトランザクション処理システムで得られる効果に加えて、早送りの指示を与えることで、トランザクション処理手段および処理データの状態を現時点より１つ後のチェックポイント時点の状態に進めることができ、先の状態に飛んでテストなどを進める作業を効率良く実施することができる。
【００３３】
本発明の第９のトランザクション処理システムによれば、第１または第２のトランザクション処理システムで得られる効果に加えて、保存された一連のトランザクションの内容を変更して再実行することができ、様々なトランザクションを様々なタイミングで再実行しながら、プログラムが所望の動作を行うかどうかを調査するテストなどが行える。
【００３４】
本発明の第１０のトランザクション処理システムによれば、第１または第２および第９のトランザクション処理システムで得られる効果に加えて、変更した一連のトランザクションとそれに関連するチェックポイントとを別バージョンのトランザクションセットとして管理できる。
【００３５】
本発明の第１１のトランザクション処理システムによれば、第１０のトランザクション処理システムで得られる効果に加えて、別バージョンとして管理された任意のトランザクションセットを用いて、プログラムが所望の動作を行うかどうかを調査するテストなどが行える。
【発明を実施するための最良の形態】
【００３６】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００３７】
図１を参照すると、本発明の第１の実施の形態にかかるトランザクション処理システムは、プログラム制御により動作するデータ処理装置（コンピュータ、中央処理装置、プロセッサ）１と、磁気ディスクなどで構成されたデータ記憶装置２とから構成されている。
【００３８】
データ処理装置１は、利用者入出力手段１０と、トランザクション処理手段１１と、トランザクション処理タイミング制御手段１２とを含む。データ記憶装置２は、処理データ保存部２１と、トランザクション保存部２２とを含む。これらの手段はそれぞれ概略つぎのような機能を有する。
【００３９】
トランザクション保存部１２は、トランザクション処理手段１１で実行する一連のトランザクションをその実行時刻と共に保持する。処理データ保存部２１は、トランザクション保存部１２に保存されたトランザクションの処理対象となるデータを保持する。
【００４０】
利用者入出力手段１０は、利用者から各種の指示（コマンド）を受け付けてトランザクション処理タイミング制御手段１２に伝達し、反対に、トランザクション処理タイミング制御手段１２から送られてくるトランザクション処理状態情報などの情報を受信して利用者に提示する。利用者から受け付ける指示としては、トランザクションの処理の再生、その停止、再生速度の変更、コマ送り（次のトランザクションを１つだけ実行）、初期状態への復帰、処理の終了がある。
【００４１】
トランザクション処理タイミング制御手段１２は、利用者入出力手段１０より受信した指示に従って、トランザクション処理手段１１におけるトランザクション処理のタイミングを制御する。例えば、トランザクション処理の再生の指示を受けると、トランザクション保存部２２より、次に処理すべきトランザクションを抽出し、適切なタイミングでトランザクション処理手段１１に送信し、トランザクション処理手段１１から処理結果を受信すると、それを利用者入出力手段１０に通知する。
【００４２】
トランザクション処理手段１１は、トランザクション処理タイミング制御手段１２から、処理すべきトランザクションを受信し、予め読み込まれているトランザクション処理プログラムを実行することにより当該トランザクションを処理する。その際、必要に応じて処理データ保存部２１に保存されているデータの読込み、書込みを実行する。トランザクションの処理結果は、トランザクション処理タイミング制御手段１２に送信する。
【００４３】
次に、図１のブロック図及び図２のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。ただし、説明を簡単にするために、エラー処理は省く。
【００４４】
まず、利用者入出力手段１０において利用者からの指示があるかどうかをチェックする（図２のＳ１０）。もし、何らかの指示があれば、トランザクション処理タイミング制御手段１２において、入力された指示に応じた処理を以下のように実行する（Ｓ１１〜Ｓ１６）。
【００４５】
初期状態復帰の指示の場合（Ｓ１５）、トランザクション処理タイミング制御手段１２は、トランザクションの処理状態を初期化する。具体的には、トランザクション処理手段１１の処理を停止させ、必要があれば初期化を行う。処理データ保存部２１に保存されているトランザクションの処理結果も初期化する。これは、例えば図示しない保存部に記憶されている初期化データで処理データ保存部２１を置き換えることで可能である。次に実行すべきトランザクションを、トランザクション保存部２２に保存されているトランザクションのうちの先頭のトランザクションに設定し、再生速度を予め指定されているデフォルト値に設定する。また、トランザクション処理タイミング制御手段１２内部に設けられた再生中かどうかを示すフラグ（再生中フラグ)をオフにする。ステップＳ１５の処理の完了後、ステップＳ２３の処理へ進む。
【００４６】
再生の指示の場合（Ｓ１１）、トランザクション処理タイミング制御手段１２は、トランザクションを再生するための前処理を行う。具体的には、次に実行すべきトランザクションをトランザクション保存部２２から読み込み、トランザクション処理の実行開始時刻をゼロに設定し、トランザクション処理タイミング制御手段１２の内部に備わるタイマーの時刻をゼロに初期化し、再生中フラグをオンにする。但し、既に再生中フラグがオンになっている場合には、これらの処理は行わない。その後、ステップＳ１７の処理に進む。
【００４７】
再生速度の変更の指示の場合（Ｓ１２）、トランザクション処理タイミング制御手段１２は、再生速度のパラメータを指示通りに変更する。その後、再生の指示の場合と同様にステップＳ１７の処理に進む。
【００４８】
コマ送りの指示の場合（Ｓ１３）、トランザクション処理タイミング制御手段１２は、次に実行すべきトランザクションを１つ処理する。具体的には、トランザクション保存部２２から次に実行すべきトランザクションを読み込み、速やかにトランザクション処理手段１１に送信する。但し、再生中フラグがオンになっている場合には、これらの処理は行わない。その後、ステップＳ１７〜Ｓ２０をスキップし、ステップＳ２１の処理に進む。
【００４９】
停止の指示の場合（Ｓ１４）、トランザクション処理タイミング制御手段１２は、再生中フラグをオフにする。但し、再生中フラグが既にオフになっている場合には、何も処理は行わない。ステップＳ１４の処理の完了後、ステップＳ２３に進む。
【００５０】
終了の指示の場合（Ｓ１６）、トランザクション処理タイミング制御手段１２は、全体の動作を停止させる。
【００５１】
ステップＳ１７では、トランザクション処理タイミング制御手段１２は、再生中フラグがオンかオフかをチェックする。オフの場合は、利用者入力のチェックに戻る（Ｓ１０）。オンの場合は、タイマー時刻を読み込む（Ｓ１８）。次に、実行すべきトランザクションの実行開始時刻と、再生速度およびタイマー時刻の積とを比較する。もし、トランザクションの実行開始時刻の方が前記積より小さければ、次に実行すべきトランザクションの実行開始時刻に達したと判断する（Ｓ１９）。もし、実行開始すべき時刻に達していなければ、利用者入力のチェックに戻る（Ｓ１０）。実行開始すべき時刻に達していれば、当該次に実行すべきトランザクションをトランザクション処理手段１１に送信する（Ｓ２０）。
【００５２】
ステップＳ２１では、トランザクション処理手段１１において、順次受信されたトランザクションが処理され、必要に応じて処理データ保存部２１に保存されているデータが更新され、処理結果がトランザクション処理タイミング制御手段１２に送信される。
【００５３】
次のステップＳ２２において、トランザクション処理タイミング制御手段１２は、トランザクション処理手段１１よりトランザクション処理結果を受信する。また同ステップＳ２２において、トランザクション処理タイミング制御手段１２は以下の処理も行う。まず、次に実行すべきトランザクションの位置を１つ進める。もし、次に実行すべきトランザクションがトランザクション保存部２２に存在しており、且つ、再生中フラグがオンであれば、当該次に実行すべきトランザクションをトランザクション保存部２２より読み込み、そのトランザクションの実行開始時刻を、そのトランザクションに予め付与されている実行時刻と、前に処理したトランザクションに予め付与されている実行時刻との差分時間だけ進めた時刻に設定する。例えば、トランザクション保存部２２に、１２分５秒の実行時刻を持つトランザクションＡと、その次に実行すべきトランザクションとして、１２分１０秒の実行時刻を持つトランザクションＢとがあり、トランザクションＡの実行開始時刻が２０秒に設定され、タイマー時刻が２０秒になった時点でトランザクションＡの実行が開始され、その処理が終了したとする。このとき、次に実行すべきトランザクションはＢであり、トランザクションＡとの実行時刻の差は１２分１０秒−１２分５秒＝５秒なので、トランザクションＢの実行開始時刻は２０秒＋５秒＝２５秒に設定される。これにより、タイマー時刻が２５秒になったタイミングでトランザクションＢが実行される。
【００５４】
次のステップＳ２３においては、トランザクションの処理状態の情報や、処理の送受信に失敗などのエラーがあった場合にはそのエラー情報などが利用者入出力手段１０に表示される。トランザクションの処理状態の情報とは、トランザクションの処理結果、再生中かどうかの情報、再生速度のパラメータ、次に実行すべきトランザクションの位置、タイマー時刻などである。ステップＳ２３の処理後、再び利用者入力のチェックに戻る（Ｓ１０）。
【００５５】
このように本実施の形態によれば、利用者は、再生、停止、コマ送り、再生速度変更、停止といった操作コマンドを用いることで、トランザクション保存部２２に保存された一連のトランザクションをその処理タイミングを自由に調整しながら何度でも繰り返し実行することができる。
【００５６】
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。
【００５７】
図３を参照すると、本発明の第２の実施の形態にかかるトランザクション処理システムは、データ記憶装置２にトランザクションＵＮＤＯ保存部２４を備えている点で、図１の第１の実施の形態と構成が相違する。トランザクションＵＮＤＯ保存部２４は、トランザクション保存部２２に保持されている１つのトランザクションがトランザクション処理手段１１で実行される毎に、トランザクション処理手段１１および処理データ保存部２１の状態を、そのトランザクションを処理する前の状態に戻すための情報を保持する部分である。このような情報をトランザクションＵＮＤＯ情報と呼ぶ。例えば、或るユーザＡに関する情報をデータベースに登録するトランザクションａの場合、そのトランザクションを処理する前の状態に戻すためのトランザクションＵＮＤＯ情報は、「ユーザＡに関する情報をデータベースから削除するトランザクション」である。本実施の形態では、このようなトランザクションＵＮＤＯ情報を用いて、利用者入出力手段１０において、「１つ戻る」という指示（コマンド）をサポートする。
【００５８】
利用者入出力手段１０において、１つ戻るという指示があると、トランザクション処理タイミング制御手段１２は、１つ前のトランザクションに対応するトランザクションＵＮＤＯ情報をトランザクションＵＮＤＯ保存部２４から抽出し、トランザクション処理手段１１に送信する。トランザクション処理手段１１は、受信したトランザクションＵＮＤＯ情報を使って、トランザクション処理手段１１および処理データ保存部２１の状態を、１つ前のトランザクションを実行する前の状態に戻す。なお、もし１つ戻るべき状態がない場合（１つもトランザクション処理がなされていない場合）や、再生中の場合は、何も処理は行わない。
【００５９】
このように本実施の形態によれば、利用者は、再生、停止、コマ送り、再生速度変更、停止といった操作コマンドに加えて「一つ戻る」コマンドを用いることで、トランザクション保存部２２に保存された一連のトランザクションをその処理タイミングを自由に調整しながら何度でも繰り返し実行することができると共に、一つ或いは幾つか前のトランザクションを実行した状態を速やかに再現することができる。
【００６０】
次に、本発明の第３の実施の形態について図面を参照して詳細に説明する。
【００６１】
図４を参照すると、本発明の第３の実施の形態にかかるトランザクション処理システムは、データ処理装置１にチェックポイント制御手段１３を備え、データ記憶装置２にチェックポイントデータ保存部２３を備える点で、図１の第１の実施の形態と構成が相違する。
【００６２】
利用者入出力手段１０は、第１の実施の形態の場合に加え、早送りと、巻戻しと、読み込むチェックポイントデータの選択との指示（コマンド）をサポートし、これらの指示が利用者から入力されると、その指示情報をチェックポイント制御手段１３に送信する。また、チェックポイントデータの処理状態情報をチェックポイント制御手段１３から受信し、この状態情報を利用者が参照することを可能とする。
【００６３】
チェックポイント制御手段１３は、利用者入出力手段１０より受信した前記指示情報から、チェックポイントデータ保存部２３よりチェックポイントデータを読み込み、このデータを用いて、トランザクション処理手段１１および処理データ保存部２１の状態をチェックポイントデータが保存された時点の状態に戻す。チェックポイントデータ保存部２３には、少なくともチェックポイントのデータと、チェックポイントの時刻情報が保存されている。チェックポイント処理については、トランザクション処理、データベース処理分野において、よく知られた技術であるので、ここでの説明は省略する。
【００６４】
次に、図４のブロック図及び図５のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
【００６５】
本実施の形態において、利用者入出力手段１０において検出された利用者からの指示が、再生、再生速度の変更、コマ送り、停止、終了処理の各指示である場合の動作は第１の実施の形態と同じである。利用者からの指示が、巻戻し、早送り、指定状態への復帰、記録の指示、初期状態復帰の場合には以下のような動作が行われる。
【００６６】
指定状態の復帰の指示の場合（Ｓ３３）、チェックポイント制御手段１３は、チェックポイントデータ保存部２３に保存されている何れかのチェックポイントデータの識別情報を利用者入出力手段１０を通じて利用者に選択させ、その選択された識別情報に基づいてチェックポイントデータ保存部２３に保持されているチェックポイントデータを抽出し、そのチェックポイントデータを用いて、トランザクション処理手段１１および処理データ保存部２１の状態を、当該チェックポイントデータが保存された時点の状態に復帰する。トランザクション処理タイミング制御手段１２は、次に実行すべきトランザクションを、トランザクション保存部２２における一連のトランザクションのうち、当該チェックポイントの時刻以降で最も近い時刻になっているトランザクションに設定する。再生中フラグはオフにする。
【００６７】
初期状態の復帰の指示の場合（Ｓ１５’）、チェックポイント制御手段１３は、初期状態としてあらかじめ指定されている、もしくは最も時刻が古いチェックポイントデータをチェックポイントデータ保存部２３から抽出し、そのチェックポイントデータを用いて、トランザクション処理手段１１および処理データ保存部２１の状態を当該チェックポイントデータが保存された時点の状態に復帰する。トランザクション処理タイミング制御手段１２は、次に実行すべきトランザクションを、トランザクション保存部２２における一連のトランザクションのうち、当該チェックポイントの時刻以降で最も近い時刻になっているトランザクションに設定する。再生中フラグはオフにする。
【００６８】
巻戻しの指示の場合（Ｓ３１）、チェックポイント制御手段１３は、現在設定されている次に実行すべきトランザクションの時刻以前で、最も近い時刻になっているチェックポイントデータをチェックポイントデータ保存部２３から抽出し、そのチェックポイントデータを用いて、トランザクションの処理手段１１および処理データ保存部２１の状態を当該チェックポイントデータが保存された時点の状態に復帰する。トランザクション処理タイミング制御手段１２は、次に実行すべきトランザクションを、トランザクション保存部２２における一連のトランザクションのうち、当該チェックポイントの時刻以降で最も近い時刻になっているトランザクションに設定する。再生中フラグはオフにする。もし、対象となるチェックポイントデータが何もない場合には、何も処理は行われない。
【００６９】
早送りの指示の場合（Ｓ３２）、チェックポイント制御手段１３は、現在設定されている次に実行すべきトランザクションの時刻以降で、最も近い時刻になっているチェックポイントデータをチェックポイントデータ保存部２３から抽出し、そのチェックポイントデータを用いて、トランザクションの処理手段１１および処理データ保存部２１の状態を当該チェックポイントデータが保存された時点の状態に復帰する。チェックポイント制御手段１３は、次に実行すべきトランザクションを、トランザクション保存部２２における一連のトランザクションのうち、当該チェックポイントの時刻以降で最も近い時刻になっているトランザクションに設定する。再生中フラグはオフにする。もし、対象となるチェックポイントデータが何もない場合には、何も処理は行われない。
【００７０】
記録の指示の場合（Ｓ３４）、チェックポイント制御手段１３は、現在のトランザクション処理手段１１および処理データ保存部２１に対してチェックポイントを行い、その処理状態をチェックポイントデータとして、チェックポイントデータ保存部２３に、識別情報、時刻情報を付加して保存する。
【００７１】
このように本実施の形態によれば、利用者は、再生、停止、コマ送り、再生速度変更、停止といった操作コマンドに加えて、早送り、巻戻し、指定状態の復帰、記録といったコマンドを用いることで、トランザクション保存部２２に保存された一連のトランザクションをその処理タイミングを自由に調整しながら何度でも繰り返し実行することができると共に、任意の時点で保存したチェックポイントデータを用いて、幾つか前あるいは幾つか後のトランザクションを実行した状態に速やかにシステムを復元することができる。
【００７２】
次に、本発明の第４の実施の形態について図面を参照して詳細に説明する。
【００７３】
図６を参照すると、本発明の第４の実施の形態にかかるトランザクション処理システムは、データ処理装置１にトランザクション編集手段１５およびバージョン管理手段１６を備えている点で、図４に示した第３の実施の形態と構成が相違する。
【００７４】
トランザクション編集手段１５は、利用者入出力手段１０を通じて利用者から与えられる編集指示に従って、トランザクション保存部２２に保存されているトランザクションの更新、削除、あるいは新たなトランザクションの追加を行う手段である。トランザクション編集手段１５は、利用者入出力手段１０において利用者がトランザクションの編集を選択すると起動され、トランザクション保存部２２に記憶されたトランザクションの一覧を利用者入出力手段１０を通じて利用者に表示し、利用者にトランザクションの更新、削除、追加を行わせる。更新は、トランザクションのデータおよびそのトランザクションに付加された実行時刻情報の少なくとも一方を変更する作業であり、削除はトランザクションのデータを消去する作業であり、追加は新たなトランザクションのデータおよびそのトランザクションの実行時刻情報を追加する作業である。
【００７５】
トランザクション編集手段１５による編集作業は、利用者が利用者入出力手段１０において保存の指示を選択することで確定し、トランザクション編集手段１５は、編集前後の一連のトランザクションをそれぞれ別ファイルとしてトランザクション保存部２２に保存する。また、バージョン管理手段１６は、別ファイルとして保存された編集後の一連のトランザクションに対して、チェックポイントデータ保存部２３に保存されたチェックポイントデータのうちの有効なチェックポイントデータを対応付け、編集後の一連のトランザクションとそのチェックポイントデータの組とを別バージョンの異なるトランザクションセットとして管理する。
【００７６】
例えば、トランザクション保存部２２に一連のトランザクション（トランザクションＡ、トランザクションＢ、トランザクションＣ）があり、チェックポイントデータ保存部２３に、トランザクションＢ実行直前のチェックポイントデータＡＢとトランザクションＣ実行直前のチェックポイントデータＢＣとが存在する状況において、利用者がトランザクションＢをトランザクションＢ’に変更した場合、編集前の一連のトランザクション（トランザクションＡ、Ｂ、Ｃ）とチェックポイントデータ（ＡＢ、ＢＣ）との組がバージョン０として管理され、編集後の一連のトランザクション（Ａ、Ｂ’、Ｃ）とチェックポイントデータ（ＡＢ）との組がバージョン１として管理される。
【００７７】
利用者入出力手段１０において、利用者がセットの読込みを選択すると、バージョン管理手段１６は、読込み可能なトランザクションセットの組の一覧を利用者に表示する。次に、利用者がトランザクションセットを選択すると、バージョン管理手段１６は、トランザクション保存部２２に保存された当該トランザクションセットに属する一連のトランザクションを有効とし、またチェックポイントデータ保存部２３に保存された当該トランザクションセットに属するチェックポイントデータを有効とする。その後、有効となった一連のトランザクションデータおよびチェックポイントデータを使って、第３の実施の形態と同様に、再生、早送りなどの操作コマンドにより、一連のトランザクション処理を再現することができる。
【００７８】
本実施の形態によれば、一連のトランザクション中の任意のトランザクションを更新あるいは削除し、或いは新たなトランザクションを追加して別バージョンとして保存でき、また保存された複数のバージョンの中から任意のバージョンのトランザクションセットを選択して再実行できるため、容易に過去のトランザクションを修正して、トランザクション処理を再実行することが可能となる。
【００７９】
以上、本発明の幾つかの実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。例えば、１つ前のトランザクションを実行する前の状態に戻す「１つ戻る」機能は、第２の実施の形態で説明したようにトランザクションＵＮＤＯ情報を用いて実現する以外に、第３の実施の形態における「巻き戻し」で直前のチェックポイントまで戻り、そこから１つ前のトランザクションを実行する前まで「コマ送り」で状態を進める方法によって実現することもできる。また、第１の実施の形態において、再生速度変更機能に代えて或いはそれに加えて、第２の実施の形態が有する「一つ戻る」機能を付加したり、第４の実施の形態が有するトランザクション編集機能を付加する実施の形態も考えられる。さらに第３の実施の形態において、第２の実施の形態が有する「一つ戻る」機能を付加したり、第４の実施の形態が有するトランザクション編集機能を付加する実施の形態も考えられる。
【００８０】
また、本発明のトランザクション処理システムにおける利用者入出力手段、トランザクション処理タイミング制御手段、トランザクション処理手段、チェックポイント制御手段、トランザクション編集手段、バージョン管理手段は、その有する機能をハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した利用者入出力手段、トランザクション処理タイミング制御手段、トランザクション処理手段、チェックポイント制御手段、トランザクション編集手段、バージョン管理手段として機能させる。
【００８１】
次に、利用者入出力手段１０が提供する利用者入出力インタフェイスを中心に本発明の幾つかの実施例を説明する。
【実施例１】
【００８２】
図７は利用者入出力手段１０を構成する表示装置に表示されるトランザクション処理操作画面の一例を示す。利用者は、このトランザクション処理操作画面１０００により、トランザクション処理に関する操作と情報の参照を行う。
【００８３】
図７に示すように、トランザクション処理操作画面１０００は、トランザクション操作ボタン表示部１１００、ステータス表示部１２００、トランザクションデータ表示部１３００、処理データ表示部１４００を有する。トランザクション操作ボタン表示部１１００は、トランザクション処理を制御するための操作ボタンが配置される。本実施例１の場合、操作ボタンには、「再生」、「停止」、「コマ送り」、「一つ戻る」、「初期状態復帰」がある。ステータス表示部１２００は、トランザクション処理の現在の状態を示すためのメッセージやアイコンが表示される。トランザクションデータ表示部１３００は、制御対象となるトランザクションに関する情報を表示する部分で、処理待ちトランザクション表示部１３１０とトランザクション処理結果表示部１３２０とで構成される。処理待ちトランザクション表示部１３１０は、トランザクション保存部２２に保存された一連のトランザクションのうち未だ処理を実行していないトランザクションに関する情報を表示する。トランザクション処理結果表示部１３２０は、トランザクション処理手段１１による処理を終えたトランザクションに関する情報を表示する。処理データ表示部１４００は、トランザクション処理の編集対象となるデータベースに関する情報、つまり処理データ保存部２１のデータを表示する。
【００８４】
次に、具体的な事例を挙げてトランザクション処理の流れを説明する。事例としては、ウェブサービスの管理者が、当該ウェブサービスに登録しているユーザ管理（登録／削除）の操作テストを行う場面を採り上げる。
【００８５】
図８に示すように、テスト開始前のトランザクション処理操作画面１００１において、処理データ表示部１４１１には、当該ウェブサービスに加入しているユーザの情報として、各ユーザ毎に、ユーザＩＤ、ユーザ名、年齢、ユーザ登録日およびパスワードを表示している。この時点において、３名のユーザ（ＵｓｅｒＣ、ＵｓｅｒＤ、ＵｓｅｒＦ）が登録されていることが分かる。
【００８６】
処理待ちトランザクション表示部１３１１には、トランザクション保存部２２に保存された、ユーザ管理操作が正常に動作するかを確認するためのテスト用トランザクションが表示されている。処理待ちトランザクション表示部１３１１では、各トランザクションに付随するＩＤ、要求日時、要求元および要求内容を表示しており、要求日時の早かった（処理される順番が早い）トランザクションがリストの下に来るように表示している。
【００８７】
トランザクション処理結果表示部１３２１は、まだ処理を終えたトランザクションが存在しないため、何も表示されていない状態である。
【００８８】
管理者は、「再生」ボタンを押すことによりトランザクション処理を開始する。このときのトランザクション処理操作画面の状態を図９に示す。図９に示すように、トランザクション処理実行中（再生中）のトランザクション処理操作画面１００２においては、ステータス表示部１２０１は、トランザクション処理が実行中である旨を示すメッセージを表示している。また、処理待ちトランザクション表示部１３１２には、処理を終えたトランザクションが削除され、未だ処理を実行していない残り２つのトランザクションが表示されている。さらに、トランザクション処理結果表示部１３２２には、各トランザクションに付随するＩＤ、処理日時、要求元、要求内容に加えて処理結果（問題が発生しなかったか）を表示しており、処理日時の早かったトランザクションが下に来るように（新たなに処理されたトランザクションが一番上に来るように）表示している。トランザクション処理結果表示部１３２２を見ることで、管理者は、３つのトランザクションが処理を終えており、「ＵｓｅｒＣを削除する」トランザクションの処理に問題が発生したことを把握することができる。
【００８９】
処理データ表示部１４１２には、この時点における処理データ保存部２１の内容である登録ユーザ情報が表示されており、管理者は、既に処理を終えたトランザクションによって、新たなユーザ（ＵｓｅｒＡ、ＵｓｅｒＢ）が登録されたことが随時把握できる。加えて、「ＵｓｅｒＣを削除する」トランザクションについては、処理が失敗したため、処理データ表示部１４１２において、ＵｓｅｒＣが削除されていないことも把握することができる。
【００９０】
トランザクション処理中において、「停止」ボタンを押すことにより、トランザクション処理を一時的に停止することができる。更に、トランザクション処理を停止している状態において、「一つ戻る」ボタンを押すことにより直前に処理したトランザクションを未処理の状態に戻し、「コマ送り」ボタンを押すことにより一つだけトランザクション処理を実行することができる。管理者は、トランザクションを最小単位で実行し（あるいは戻し）、その都度、処理データ表示部１４００を確認することで、各トランザクションによって処理データにどのような内容が反映されるか（あるいは全く反映されないか）を確認することができる。これは処理データが膨大になり、トランザクション処理を実行しながら随時、処理データの状態を把握することが困難になった場合に、有効である。
【００９１】
また管理者は、「初期状態復帰」ボタンを押すことにより、処理するトランザクションおよび処理データをテスト開始時の状態（トランザクション処理操作画面１００１）に戻すことができる。
【実施例２】
【００９２】
図１０は利用者入出力手段１０を構成する表示装置に表示されるトランザクション処理操作画面の別の例を示し、図７のトランザクション処理操作画面１０００に再生速度制御部２１０１が追加され、トランザクションデータ表示部２３１１に処理待ち時間の項目が追加されている。本実施例においては、このようなトランザクション処理操作画面２００１を用いて利用者がトランザクション処理に関する操作と情報の参照を行う。
【００９３】
再生速度制御部２１０１は、トランザクション処理を実行する時間間隔を利用者が調整するための部品であり、利用者はつまみ２１１０を左右にスライドさせることで、トランザクション処理タイミングを速く或いは遅く設定することができる。ここで、ｘ１は等倍、ｘ２、ｘ４は２倍速、４倍速、ｘ１／４、ｘ１／２は１／４倍速、１／２倍速を示す。尚、本例ではスライダの形態を採っているが、ダイアル型や再生速度に対応したボタンを配置する形態を採っても構わない。
【００９４】
次に、具体的な事例を挙げてトランザクション処理の流れを説明する。以下では、実施例１で用いたものと同様の具体例を用い、テストを行う管理者はＴＸ０００３のトランザクション（ＵｓｅｒＣを削除する）の実行時において問題が発生することを既に認識しているものとする。
【００９５】
図１０に示すように、テスト開始前の状態のトランザクション処理操作画面２００１において、再生速度制御部２１０１でトランザクション再生速度は本来の要求時間に従う（等倍）設定となっていることが把握できる。処理待ちトランザクション表示部２３１１には、実施例１で表示していた情報に加えて、処理待ち時間に関する情報が提示されている。この時点においては、再生速度が等倍であるため、処理待ち時間は要求日時の差分に等しい値が提示されている。例えばＴＸ０００３は、ＴＸ０００２の２分後に処理が開始されることが把握できる。
【００９６】
管理者は問題が起こりそうにないトランザクションの処理はできるだけ早い再生時間で処理してしまい、問題が生じる恐れがあるトランザクションの処理が近づいてきた時点で再生速度を遅くし、テストの効率を良くしようと考えている。そこで、まず管理者は、再生速度制御部２１０１を操作して、再生速度を４倍速に設定した後、「再生」ボタンによりトランザクション処理を実行する。このときのトランザクション処理操作画面の状態を図１１に示す。
【００９７】
図１１に示すようにトランザクション処理操作画面２００２では、再生速度制御部２１０２でトランザクション再生速度が本来の要求時間に対し４倍速い設定となっていることが把握できる。同様に、処理待ちトランザクション表示部２３１２において、処理待ち時間が本来の４分の１になっていることが把握できる。
【００９８】
次に、管理者は、ＴＸ０００３のトランザクション（ＵｓｅｒＣを削除する）の実行が近づいたので、再生速度制御部２１０２により、再生速度を２分の１速に設定変更する。このときのトランザクション処理操作画面の状態を図１２に示す。
【００９９】
図１２に示すようにトランザクション処理操作画面２００３では、再生速度制御部２１０３でトランザクション再生速度が本来の要求時間に対し２倍遅い設定となっていることが把握できる。同様に、処理待ちトランザクション表示部２３１３において、処理待ち時間が本来の２倍になっていることが把握できる。
【０１００】
このようにして管理者は、問題が起こりそうにないトランザクション（ＴＸ０００１、ＴＸ０００２）の処理はできるだけ速く処理し、逆に問題が生じる恐れがあるトランザクション（ＴＸ０００３）の処理を時間をかけて行うことが可能となる。このように、処理するトランザクションに応じての柔軟な再生速度制御を可能とすることで、より効率的なテストが実施可能となる。
【実施例３】
【０１０１】
図１３は利用者入出力手段１０を構成する表示装置に表示されるトランザクション処理操作画面の別の例を示し、図１０のトランザクション処理操作画面２００１に「状態保存」、「早送り」、「巻き戻し」、「読み込み」、「状態データ削除」のボタンが追加されている。本実施例においては、このようなトランザクション処理操作画面３００１を用いて利用者がトランザクション処理および状態データ（チェックポイント）管理に関する操作と情報の参照を行う。
【０１０２】
状態データ（チェックポイント）は、図４に示した第３の実施の形態におけるチェックポイントデータ保存部２３に保存されるデータであり、図１４に示すように、ＩＤ（識別情報）、その状態において最後に処理を行ったトランザクションの要求日時（時間情報）およびトランザクション処理対象となるデータ状態を保有する。
【０１０３】
次に、具体的な事例を挙げてトランザクション処理の流れを説明する。ここでは、実施例１で用いたものと同様の具体例を用い、テストを行う管理者はＴＸ０００３（ＵｓｅｒＣを削除する）の実行時において問題が発生することを既に認識しているものとする。テスト開始前における状態データ３０００では、テスト開始前の状態をＩＤ００００として保有している。テスト開始前（トランザクション未処理）のため、時間情報は空白となっているが、処理データの状態はテスト開始前の処理データが全て記録されている。管理者は、「再生」ボタンによりテストを開始し、正常に処理が完了する二つのトランザクション処理を終えた時点で、「停止」ボタンによりトランザクション処理を一時的に停止する。このときのトランザクション処理画面の状態が図１３に示されている。
【０１０４】
次に管理者は、図１３のトランザクション処理画面３００１において、「状態保存」ボタンにより、現時点での状態データを記録する。これにより、チェックポイント制御手段１３によって、この時点において最後に処理を行ったトランザクションＴＸ０００２の要求時間と、処理データの状態（データ表示部3411に表示されている状態に等しい）とを新たな状態データ（チェックポイント）として、図１５に示すように、状態データ３００２に追加される。
【０１０５】
この後、管理者は「再生」ボタンによりテストを再開する。また管理者は、任意のタイミングにおいて「巻き戻し」ボタンにより一つ前の状態データ、つまり先ほど保存した状態に戻ることが可能となる。再度「巻き戻し」ボタンを押下すると、もう一つ前の状態データであるテスト開始前の状態に戻る。更に、テスト開始前の状態で「早送り」ボタンを押下すると、一つ先の状態データである、トランザクションを二つ処理した状態に移行することができる。
【０１０６】
また、管理者が「読み込み」ボタンを操作すると、利用者入出力手段１０は、例えば図１６（ａ）に示すような状態データ読み込み画面３００３を画面に表示する。状態データ読み込み画面３００３は、状態データ表示部３５０３を有する。状態データ表示部３５０３には、現在保有している状態データに関する情報として、ＩＤ、最後に処理を行ったトランザクションの要求日時および登録ユーザ一覧（処理データの状態）が表示される。尚、処理データ状態に何を表示するかはアプリケーションに依存するものであり、別画面により詳細な情報を提示する形態を採っても構わない。管理者は、状態データ表示部３５０３から任意の状態データを選択し、「読み込み」ボタンを操作すれば、選択した状態データの状態に移行することが可能となる。
【０１０７】
また、トランザクション処理画面上の「状態データ削除」を管理者が操作すると、利用者入出力手段１０は、例えば図１６（ｂ）に示すような状態データ削除画面３００４を画面に表示する。状態データ削除画面３００４は、状態データ表示部３５０４を有する。管理者は、状態データ表示部３５０４から任意の状態データを選択し、「削除」ボタンを操作すれば、選択した状態データを削除することが可能となる。
【０１０８】
こうして管理者は、任意の時点での処理データの状態を保存し、自由に移行（巻き戻し・早送り・読み出し）および削除が可能となる。このように、テストが不要なトランザクション処理部分を飛ばすこと（早送り）や、問題が発生した場合に問題発生前の最新の状態（テスト開始前の初期状態ではなく、可能な限り問題の発生時に近い状態）に戻ること（巻き戻し）を可能とすることで、テスト時間を短縮し、より効率的なテストを実施することが可能となる。
【実施例４】
【０１０９】
図１７は利用者入出力手段１０を構成する表示装置に表示されるトランザクション処理操作画面の別の例を示し、図１３のトランザクション処理操作画面３００１に「トランザクション編集」のボタンが追加されている。本実施例においては、このようなトランザクション処理操作画面４０００を用いて利用者がトランザクション処理および状態データ（チェックポイント）管理に関する操作と情報の参照を行う。
【０１１０】
次に、具体的な事例を挙げてトランザクション処理の流れを説明する。事例として、実施例１で用いたものと同様の例を用いる。ここで、テストを行う管理者は、トランザクションＴＸ０００３（ＵｓｅｒＣを削除する）の実行時において問題が発生することを既に認識しており、とりあえず先に他のトランザクション処理テストを終えた状態で状態データを保存し、その上でトランザクションＴＸ０００３に対処したいと考えているものとする。更に、管理者は、トランザクションＴＸ０００５（ＵｓｅｒＤを登録する）の処理対象となるデータ（ＵｓｅｒＤ）はテスト開始時に既に登録されており、トランザクションＴＸ０００５実行前に削除されることもないため、トランザクションＴＸ０００５の処理は意味が無いため省略したいと考えているものとする。
【０１１１】
管理者が、テスト開始前の状態のトランザクション処理操作画面４０００において、「トランザクション編集」のボタンを操作すると、利用者入出力手段１０は、処理待ちトランザクション表示部４３１０に表示されているトランザクションの編集を行う図１８（ａ）に示すようなトランザクション編集画面を表示する。
【０１１２】
図１８（ａ）に示すようにトランザクション編集画面４００１は、処理待ちトランザクション表示部４３１１と、選択トランザクション編集手段表示部４６０１とを有する。処理待ちトランザクション表示部４３１１では、現在選択されている（フォーカスの当たっている）トランザクションが編集対象となり、選択トランザクション編集手段表示部４６０１では、編集対象トランザクションの各情報（要求日時、要求内容）を表示する。
【０１１３】
管理者は、処理待ちトランザクション表示部４３１１でトランザクションＴＸ０００５を選択し、「削除」ボタンを押下することにより、トランザクションＴＸ０００５を削除することができる。このとき、トランザクション編集画面４００１は図１８（ｂ）のトランザクション編集画面４００２のように遷移し、処理待ちトランザクション表示部４３１２で、トランザクションＴＸ０００５が削除されていることが確認できる。
【０１１４】
次に、管理者は処理待ちトランザクション表示部４３１２でトランザクションＴＸ０００３を選択し、選択トランザクション編集手段表示部４６０２において、要求日時の項をトランザクションＴＸ０００４よりも後の日時「２００３／０７／０１  １６：５０：００」に書き換えた後、「更新」ボタンを押下すれば、トランザクションＴＸ０００３の要求日時を変更することができる。
【０１１５】
管理者は、「決定」ボタンにより、上述の一連のトランザクション編集作業を確定し、トランザクション処理操作画面に復帰する。図１９に復帰したトランザクション処理操作画面４００３の状態を示す。トランザクション処理操作画面４００３の処理待ちトランザクション表示部４３１３で、トランザクションＴＸ０００５が削除されており、トランザクションＴＸ０００３の要求日時が変更され、トランザクションＴＸ０００４と処理の順序が入れ替わっていることが確認できる。この後、「再生」ボタンを操作すれば、処理待ちトランザクション４３１３に表示されている一連のトランザクションの処理を実行することができる。
【０１１６】
こうして管理者は、トランザクションの処理する順番や、要求内容をトランザクション毎に編集することが可能となる。このように、トランザクション単位での処理の設定を可能とすることで、より柔軟かつ効率的なテストが実施可能となる。
【産業上の利用可能性】
【０１１７】
本発明によれば、トランザクション処理プログラムに一連のトランザクション処理を投入したときに、プログラムが所望の動作をするかどうかというプログラムの検査といった用途に適用できる。
【図面の簡単な説明】
【０１１８】
【図１】本発明の第１の実施の形態にかかるトランザクション処理システムのブロック図である。
【図２】本発明の第１の実施の形態にかかるトランザクション処理システムの動作を示す流れ図である。
【図３】本発明の第２の実施の形態にかかるトランザクション処理システムのブロック図である。
【図４】本発明の第３の実施の形態にかかるトランザクション処理システムのブロック図である。
【図５】本発明の第３の実施の形態にかかるトランザクション処理システムの動作を示す流れ図である。
【図６】本発明の第４の実施の形態にかかるトランザクション処理システムのブロック図である。
【図７】本発明の実施例１にかかるトランザクション処理システムにおける利用者入出力手段を構成する表示装置に表示されるトランザクション処理操作画面の一例を示す図である。
【図８】本発明の実施例１におけるテスト開始前のトランザクション処理操作画面の内容例を示す図である。
【図９】本発明の実施例１におけるトランザクション再生中のトランザクション処理操作画面の状態を示す図である。
【図１０】本発明の実施例２にかかるトランザクション処理システムにおける利用者入出力手段を構成する表示装置に表示されるトランザクション処理操作画面の一例を示す図である。
【図１１】本発明の実施例２におけるトランザクション再生中のトランザクション処理操作画面の状態を示す図である。
【図１２】本発明の実施例２において再生速度を２分の１に変更してトランザクションを再生している際のトランザクション処理操作画面の状態を示す図である。
【図１３】本発明の実施例３にかかるトランザクション処理システムにおける利用者入出力手段を構成する表示装置に表示されるトランザクション処理操作画面の一例を示す図である。
【図１４】本発明の実施例３にかかるトランザクション処理システムにおけるチェックポイントデータ保存部に保存される状態データ（チェックポイント）の内容例を示す図である。
【図１５】本発明の実施例３にかかるトランザクション処理システムにおけるチェックポイントデータ保存部に新たなチェックポイントデータが追加された様子を示す図である。
【図１６】本発明の実施例３にかかるトランザクション処理システムにおける利用者入出力手段が表示する状態データ読み込み画面を示す図である。
【図１７】本発明の実施例４にかかるトランザクション処理システムにおける利用者入出力手段を構成する表示装置に表示されるトランザクション処理操作画面の一例を示す図である。
【図１８】本発明の実施例４にかかるトランザクション処理システムにおける利用者入出力手段が表示するトランザクション編集画面を示す図である。
【図１９】本発明の実施例４にかかるトランザクション処理システムにおいてトランザクション編集後のトランザクション処理操作画面の状態を示す図である。
【符号の説明】
【０１１９】
１…データ処理装置
２…データ記憶装置
１０…利用者入出力手段
１１…トランザクション処理手段
１２…トランザクションタイミング制御手段
１３…チェックポイント制御手段
１５…トランザクション編集手段
１６…バージョン管理手段
２１…処理データ保存部
２２…トランザクション保存部
２３…チェックポイントデータ保存部
２４…トランザクションUNDO保存部
【図１】
2005165600.tif 000003
【図２】
2005165600.tif 000004
【図３】
2005165600.tif 000005
【図４】
2005165600.tif 000006
【図５】
2005165600.tif 000007
【図６】
2005165600.tif 000008
【図７】
2005165600.tif 000009
【図８】
2005165600.tif 000010
【図９】
2005165600.tif 000011
【図１０】
2005165600.tif 000012
【図１１】
2005165600.tif 000013
【図１２】
2005165600.tif 000014
【図１３】
2005165600.tif 000015
【図１４】
2005165600.tif 000016
【図１５】
2005165600.tif 000017
【図１６】
2005165600.tif 000018
【図１７】
2005165600.tif 000019
【図１８】
2005165600.tif 000020
【図１９】
2005165600.tif 000021