(57)【要約】【課題】トランザクションの終結方法をユーザが任意に選択可能とする。【解決手段】コンピュータに、操作指定されたトランザクション１１を構成する各処理６の実行を処理実行部５に指示して実行させる機能１４と、トランザクションを構成する各処理の実行結果１８に基づいて各処理を終結させる機能１２とを実現させるためのトランザクション実行管理プログラム２３である。さらに、このトランザクション実行管理プログラム２３は、コンピュータに、処理実行部においてトランザクションに含まれる全ての処理が終了したとき各処理の実行結果を出力させる機能１９と、各処理の実行結果の出力後に操作指定された終結方法を入力する機能２０とを実現させる。また、各処理を終結する機能１２は、入力された終結方法に従って該当トランザクション１１を構成する各処理６を終結させる【選択図】    図１
2004280397.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、操作指定されたトランザクションを構成する各処理の実行を処理実行部に指示して実行させる機能と、前記トランザクションを構成する各処理の実行結果に基づいて各処理を終結させる機能とを実現させるためのトランザクション実行管理プログラムにおいて、
コンピュータに、前記処理実行部において前記トランザクションに含まれる全ての処理が終了したとき各処理の実行結果を出力させる機能と、前記各処理の実行結果の出力後に操作指定された終結方法を入力する機能とを実現させ、
前記各処理を終結する機能は、前記入力された終結方法に従って該当トランザクションを構成する各処理を終結させる
ことを特徴とするトランザクション実行管理プログラム。
【請求項２】
前記操作指定される終結方法は、
前記トランザクションを構成する一部の処理の実行結果が目的結果であり他の処理の実行結果が目的結果でないとき、前記トランザクションを構成する目的結果が得られた処理に対する実行結果を確定し目的結果が得られない処理に対する実行結果を取消す終結方法と、
前記トランザクションを構成する一部の処理の実行結果が目的結果であり他の処理の実行結果が目的結果でないとき、前記トランザクションを構成する全ての処理の実行結果を取消す終結方法と、
前記トランザクションを構成する全部の処理の実行結果が目的結果であるとき、前記トランザクションを構成する全ての処理の実行結果を確定する終結方法とを含むことを特徴とする請求項１記載のトランザクション実行管理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータに、複数の処理で構成されたトランザクションに対する実行管理を実施させるトランザクション実行管理プログラムに関する。
【０００２】
【従来の技術】
互いに関連する複数の処理を便宜的に一つの塊（トランザクション）と見なして、このトランザクションを構成する各処理の実行管理を行うトランザクション管理機構は、例えば非特許文献１に示すように、ＲＤＢＭＳ（リレーショナルデータベース・管理システム）などのコンピュータシステムの実行管理に主に用いられてきた。
【０００３】
例えば、図６に示すように、金融機関等において、顧客口座１から例えばガス料金等の公共料金Ｙをガス会社口座２へ振替える場合、顧客口座１の残高確認Ｒ［Ａ］、残高から公共料金Ｙを減算した金額を顧客口座１に書込む結果書込Ｗ［Ａ］、ガス会社口座２の残高確認Ｒ［Ｘ］、残高に公共料金Ｙを加算した金額をガス会社口座２に書込む結果書込Ｗ［Ｘ］との４つの処理でトランザクションｔｒが構成されている。
【０００４】
ｔｒ＝Ｒ［Ａ］→Ｗ［Ａ］→Ｒ［Ｘ］→Ｗ［Ｘ］
このような環境下では、４個の処理Ｒ［Ａ］〜Ｗ［Ｘ］のうち、一つの処理でも正常に終了しないと、正常に終了している処理の実行結果を取消す必要がある。すなわち、一般に、トランザクションｔｒはそのトランザクションｔｒを構成する全ての処理Ｒ［Ａ］〜Ｗ［Ｘ］が正常に完了するか（コミット）、全ての処理Ｒ［Ａ］〜Ｗ［Ｘ］が何も行われないか（アボート）のいずれかがトランザクションとしての終結方法であった。
【０００５】
したがって、通常、全ての処理が正常に終了すればトランザクション管理機構が自動的にすべての処理に対してコミットを出し、いずれかの処理が正常に終了しなかった場合にアボートを出すのが一般的である。
【０００６】
また、トランザクションを構成する各処理の実行結果において、正常に終了した処理と、正常に終了しなかった処理とが混在した場合においては、トランザクション全体をコミット又はアボートにする指示を、トランザクション要求者あるいはアプリケーションプログラムが指定できる場合もある。例えば、リレーショナルデータベース等である。但し、この場合にも全ての処理をコミットするかアボートするかのいずれかを指定できるのみである。
【０００７】
また、非特許文献２には、例えば旅行情報等の各種サービスを、インターネットを介して収集又は提供するＷｅｂサービスの技術が記載されている。
【０００８】
【非特許文献１】
メディアミックス・プロジェクト著、株式会社イシサキ編  「図解雑学  データベース」、ナツメ社  ２００２．３、ｐ１８０−ｐ１８７
【０００９】
【非特許文献２】
（株）東芝  西澤、早瀬、山田、矢野、山本著、「Ｗｅｂサービス設計・分析ガイド  −オブジェクト指向によるモデリングの手引き−」、  ソフトバンクパブリッシング（株）  ２００２．１２、ｐ７−ｐ１１
【００１０】
【発明が解決しようとする課題】
しかしながら、上述したトランザクション全体をコミット又はアボートにするモデルは、非特許文献２に記載された例えば旅行情報等の各種サービスを、インターネットを介して収集又は提供するＷｅｂサービスに適用した場合、必ずしも都合の良いものではない。
【００１１】
第１の問題はシステム上の処理状況の管理だけでは不十分である点である。例えば、ある顧客に対する商品の販売処理をＷｅｂサービスのプロセス上で処理できたとしても、実際に顧客に対する商品の配送が終了するまでは業務は終了したとはいえない。したがって、この商品の配送をも含めた状態の管理が必要である。
【００１２】
第２の問題は実際の（人間系を含めた）業務を管理しようとすると、コミット／アボートといった二者択一の考え方だけでは不十分な場合が発生する点である。例えば、現実世界において、図７に示すように、［タクシー予約］、［レストラン予約］、［ホテル予約］という３つの処理を一つのトランザクションｔｒに組込んだ場合を想定する。
【００１３】
この場合、前述のトランザクションの理論によれば、原則として、３つの処理において正常に予約できた場合のみ、このトランザクションはコミットされ、トランザクションを実行要求した顧客に対して、各予約結果を通知する。
【００１４】
しかしながら顧客によっては、レストランだけ予約ができた場合それを受入れることもあるし、なにも予約しない（アボート）ことにすることもある。つまり，当初の要求に対するそれぞれの結果に応じて、トランザクションの各処理の実行結果を受入れるか否かをトランザクションの実行要求者（顧客）が判断するのが一般的である。
【００１５】
本発明はこのような事情に鑑みてなされたものであり、トランザクションの実行要求者が各処理の実行結果を選択的に受入れることができ、トランザクションの実行要求者の多様な要求を実現でき、現実世界での判断・終結と同様の処理を可能とし、トランザクションの実行要求者に対するサービスを大幅に向上できるトランザクション実行管理プログラムを提供することを目的とする。
【００１６】
【課題を解決するための手段】
上記課題を解消するために、本発明は、コンピュータに、操作指定されたトランザクションを構成する各処理の実行を処理実行部に指示して実行させる機能と、トランザクションを構成する各処理の実行結果に基づいて各処理を終結させる機能とを実現させるためのトランザクション実行管理プログラムである。
【００１７】
さらに、このトランザクション実行管理プログラムは、コンピュータに、処理実行部においてトランザクションに含まれる全ての処理が終了したとき各処理の実行結果を出力させる機能と、各処理の実行結果の出力後に操作指定された終結方法を入力する機能とを実現させる。また、各処理を終結する機能は、入力された終結方法に従って該当トランザクションを構成する各処理を終結させる。
【００１８】
このように構成されたトランザクション実行管理プログラムにおいては、トランザクションの実行要求者にて操作指定されたトランザクションを構成する各処理は処理実行部で順次実行され、各処理の実行結果が例えば表示出力される。トランザクションの実行要求者は、表示出力された各処理の実行結果を参照にして、該当トランザクションに対する終結方法を指定する。この終結方法に従って該当トランザクションが終結される。
【００１９】
この終結方法としては、トランザクションを構成する一部の処理の実行結果が目的結果であり他の処理の実行結果が目的結果でないとき、トランザクションを構成する目的結果が得られた処理に対する実行結果を確定し目的結果が得られない処理に対する実行結果を取消す終結方法、トランザクションを構成する一部の処理の実行結果が目的結果であり他の処理の実行結果が目的結果でないとき、トランザクションを構成する全ての処理の実行結果を取消す終結方法、トランザクションを構成する全部の処理の実行結果が目的結果であるとき、トランザクションを構成する全ての処理の実行結果を確定する終結方法等が実現可能である。
【００２０】
【発明の実施の形態】
以下、本発明の一実施形態を図面を用いて説明する。
図１は本発明の一実施形態に係るトランザクション実行管理プログラムが適用されるトランザクション実行管理装置の概略構成を示すブロック図である。
【００２１】
このトランザクション実行管理装置３は、トランザクションの実行要求者であるユーザ４の指定するトランザクションの各処理６の実行を処理実行部５に対して指示し、各処理６の実行結果を表示器７に表示し、ユーザ４が指定する終結方法に従って、該当トランザクションを終結させる。
【００２２】
次に、各部の具体的構成を順を追って説明していく。
トランザクション定義部８は、例えばこのトランザクション実行管理装置３の管理者等の設定者９が行う設定指示に基づいて、各トランザクションをトランザクション定義テーブル１０に設定する。このトランザクション定義テーブル１０内には、図２に示すように、トランザクション１１毎に、該当トランザクション１１で実行する複数の処理６が記憶されている。この例では、ｔｒ１、ｔｒ２という２種類のトランザクション１１が定義されている。ｔｒ１のトランザクション１１はｐ１、ｐ２、ｐ３という３つの処理６を順次実行するトランザクションであり、ｔｒ２トランザクション１１はｐ３、ｐ４の各処理６を並列に実行するトランザクションである。
【００２３】
実行トランザクション指定部１２は、ユーザ４が指定したトランザクション１１をトランザクション定義テーブル１０から読出して、トランザクション実行状況テーブル１３へトランザクション実行番号を付して設定すると共にトランザクション実行指示部１４へ送出する。
【００２４】
トランザクション実行状況テーブル１３内には、図３に示すように、トランザクション実行番号毎に、ｔｒ１、ｔｒ２等のトランザクション１１のトランザクション名（ＩＤ）、該当トランザクション１１を構成する各処理６の最新の実行状況１５が記憶されている。例えば、トランザクション実行番号「１」のｔｒ３のトランザクション１１においては、ｐ３の処理６が「実行済」であり、ｐ４の処理６が「実行中」であることを示す。
【００２５】
トランザクション実行指示部１４は、トランザクション定義テーブル１０から読出されたトランザクション１１の実行指示を処理実行部５へ送出する。処理実行部５はトランザクション１１の各処理６を指定された順番で実行していく。
【００２６】
トランザクション実行監視部１５は、処理実行部５における各トランザクション１１における各処理６の実行状態を一定時間間隔で検出して、トランザクション実行状況テーブル１３内の該当トランザクション１１における各処理６の実行状態１５を更新する。さらに、このトランザクション実行監視部１５は、実行中のトランザクション１１を構成する全部の処理６の実行状態が「実行済」になると、該当トランザクション１１の各処理６の実行結果をトランザクション実行結果テーブル１７へ書込む。
【００２７】
トランザクション実行結果テーブル１７内には、図４に示すように、トランザクション実行番号毎に、ｔｒ１、ｔｒ２等のトランザクション１１のトランザクション名（ＩＤ）、該当トランザクション１１を構成する各処理６の実行結果１８が書込まれている。例えば、トランザクション実行番号「１」のトランザクション１１におけるｐ３の処理６の処理結果１８は目的結果「ＯＫ」であり、ｐ４の処理６の処理結果１８は目的結果でない「ＮＧ」である。
【００２８】
実行結果通知部１９は、トランザクション実行結果テーブル１７に書込まれている各トランザクション１１の各処理６の実行結果１８を表示器７に表示出力する。
【００２９】
終結方法入力部２０は、表示器７に表示されたトランザクション１１の各処理６の実行結果１８を確認したユーザ４が入力した終結方法をトランザクション終結部２１へ転送する。トランザクション終結部２１は、該当トランザクション１１を指定された終結方法で終結させる。
【００３０】
ここで、ユーザ４が指定するトランザクション１１に対する終結方法の例を説明する。
【００３１】
（ａ）  トランザクション１１を構成する一部の処理６の実行結果１８が目的結果［ＯＫ］であり他の処理６の実行結果１８が目的結果でない［ＮＧ］とき、トランザクション１１を構成する目的結果が得られた処理６に対する実行結果１８を確定し目的結果が得られない処理６に対する実行結果１８を取消す。
【００３２】
（ｂ）  トランザクション１１を構成する一部の処理６の実行結果１８が目的結果［ＯＫ］であり他の処理の実行結果１８が目的結果でない［ＮＧ］とき、トランザクション１１を構成する全ての処理６の実行結果１８を取消す。
【００３３】
（ｃ）  トランザクションを構成する全部の処理６の実行結果１８が目的結果［ＯＫ］であるとき、トランザクション１１を構成する全ての処理６の実行結果１８を確定する。
【００３４】
（ｄ）  トランザクション１１を構成する全部の処理６の実行結果１８が目的結果でない［ＮＧ］とき、トランザクション１１を構成する全ての処理６の実行結果１８を取消す。
【００３５】
（ｅ）  トランザクション１１を構成する目的結果［ＯＫ］の処理６のうち任意に指定した処理６の実行結果１８のみを確定し、他の全ての処理６の実行結果１８を取消す。
【００３６】
このように、ユーザ４は、表示器７に表示されたトランザクション１１の各処理６の実行結果１８を参考にして、該当トランザクション１１を任意の終結方法で終結させることが可能となる。
【００３７】
コンピュータ等の一種の情報処理装置で構成されたトランザクション実行管理装置３内に設けられたＨＤＤ等の記憶装置２２内にトランザクション実行管理プログラム２３が記憶されている。このコンピュータ等のトランザクション実行管理装置３は、このトランザクション実行管理プログラム２３を起動させることによって、上述した各部８、１２、１４、１６、１９、２０、２１が実現される。
【００３８】
そして、このトランザクション実行管理装置３内に実現された上述した各部８、１２、１４、１６、１９、２０、２１は、図５に示す流れ図に従って、トランザクション１１に対する実行管理を実行する。
【００３９】
ユーザ４から実行すべきトランザクション１１のトランザクション名（ＩＤ）が入力されると（Ｓ１）、このトランザクション１１に対してトランザクション番号を発行して（Ｓ２）、このトランザクション１１をトランザクション定義テーブル１０から読出して、先に発行したトランザクション番号を付して、トランザクション実行状況テーブル１３に設定する（Ｓ３）。そして、該当トランザクション１１を起動する（Ｓ４）。
【００４０】
Ｓ５にて、一つの処理６の実行が終了すると、トランザクション実行状況テーブル１３内の対応トランザクション１１の該当処理６に終了を示す「実行済」の実行状況１６を書込む（Ｓ６）。そして、トランザクション実行状況テーブル１３内の該当トランザクション１１を構成する全部の処理６の実行状況１６が終了を示す「実行済」になった場合（Ｓ７）、トランザクション実行結果テーブル１７に該当トランザクション１１の各処理６の実行結果１８を書込む（Ｓ８）。そして、該当トランザクション１１の各処理６の実行結果１８を表示器７に表示出力する（Ｓ９）。
【００４１】
ユーザ４が該当トランザクション１１に対する終結方法を入力すると（Ｓ１０）、この指定された終結方法で該当トランザクション１１を終結させる（Ｓ１１）。
【００４２】
このように構成されたトランザクション実行管理プログラムが適用されるトランザクション実行管理装置３においては、トランザクション１１の実行要求者であるユーザ４にて操作指定されたトランザクション１１を構成する各処理６は処理実行部６５で順次実行され、トランザクション１１を構成する全部の処理６に対する実行が終了すると、各処理６の実行結果１８が表示器７に表示出力される。
【００４３】
ユーザ４は、表示器７に表示出力されたトランザクション１１の各処理６の実行結果１８を参照にして、該当トランザクション１１に対する終結方法を指定すると、この終結方法に従って該当トランザクション１１が終結される。
【００４４】
このように、ユーザ４が該当トランザクション１１に対する終結方法を任意に指定可能であるので、現実の世界での要求の終結方法と同様の終結が可能であり、このような必要性のある場合には効果がある。
【００４５】
例えば、Ｗｅｂサービスが普及するとアプリケーションはいくつかのＷｅｂサービスの提供を受けて、全体としての処理を構成することになる。そして、それぞれのＷｅｂサービスは、図７に示したように、トランザクション１１の各処理６を「タクシー予約」、「レストラン予約」、「ホテル予約」等の現実の業務に相当することを考えることができる。このような場合には、それぞれの予約結果（実行結果）に応じてタクシーのみを予約するのか、ホテルのみ予約するのか、などを自由に指定でき、Ｗｅｂサービスのユーザ４にとって、汎用性が広く、非常に便利である。
【００４６】
なお、上記各実施形態で説明した各構成要素は、自由に組合せてもよく、また複数の要素に分割してもよい。また、実施形態におけるトランザクション実行管理プログラム２３は、複数のコンピュータ上に分散され、互いに連携しつつ動作してもよい。
【００４７】
さらに、トランザクション実行管理プログラム２３は通信媒体により伝送してコンピュータに適用可能である。トランザクション実行管理プログラム２３を読み込んだコンピュータは、トランザクション実行管理プログラム２３によって動作が制御され、上述した機能を実現する。
【００４８】
【発明の効果】
以上説明したように、本発明のトランザクション実行管理プログラムにおいては、トランザクションの実行要求者が各処理の実行結果を選択的に受入れることができ、トランザクションの実行要求者の多様な要求を実現でき、現実世界での判断・終結と同様の処理を可能とし、トランザクションの実行要求者に対するサービスを大幅に向上できる。
【図面の簡単な説明】
【図１】本発明の一実施形態のトランザクション実行管理プログラムが適用されるトランザクション実行管理装置の概略構成を示すブロック図
【図２】同トランザクション実行管理装置内に形成されたトランザクション定義テーブルの記憶内容を示す図
【図３】同トランザクション実行管理装置内に形成されたトランザクション実行状況テーブルの記憶内容を示す図
【図４】同トランザクション実行管理装置内に形成されたトランザクション実行結果テーブルの記憶内容を示す図
【図５】同トランザクション実行管理装置におけるトランザクション実行管理動作を示す流れ図
【図６】従来のトランザクション処理動作を示す図
【図７】現実世界のＷｅｂサービスにトランザクションを適用した例を示す図
【符号の説明】
３…トランザクション実行管理装置、４…ユーザ、５…処理実行部、６…処理、７…表示器、８…トランザクション定義部、１０…トランザクション定義テーブル、１１…トランザクション、１２…トランザクション指定部、１３…トランザクション実行状況テーブル、１４…トランザクション実行指示部、１６…トランザクション実行監視部、１７…トランザクション実行結果テーブル、１８…実行結果、２０…終結入力部、２１…トランザクション終結部、２３…トランザクション実行管理プログラム
【図１】
2004280397.tif 000003
【図２】
2004280397.tif 000004
【図３】
2004280397.tif 000005
【図４】
2004280397.tif 000006
【図５】
2004280397.tif 000007
【図６】
2004280397.tif 000008
【図７】
2004280397.tif 000009