JPH10124371A - 取引処理方法及びシステム - Google Patents

取引処理方法及びシステム

Info

Publication number
JPH10124371A
JPH10124371A JP9224587A JP22458797A JPH10124371A JP H10124371 A JPH10124371 A JP H10124371A JP 9224587 A JP9224587 A JP 9224587A JP 22458797 A JP22458797 A JP 22458797A JP H10124371 A JPH10124371 A JP H10124371A
Authority
JP
Japan
Prior art keywords
transaction
management program
program
resource management
resource
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP9224587A
Other languages
English (en)
Other versions
JP3582963B2 (ja
Inventor
Freandow Thomas
トーマス・フレンドゥ
Robert Anthony Storey
ロバート・アンソニー・ストレイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH10124371A publication Critical patent/JPH10124371A/ja
Application granted granted Critical
Publication of JP3582963B2 publication Critical patent/JP3582963B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing

Landscapes

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

Abstract

(57)【要約】 【課題】 資源管理プログラム(120)のプロトコル
と共用することのできない取引管理プログラム(14
5)によって調整された取引に資源管理プログラムが参
加することを可能にする。 【解決手段】 マッパー(248)はアプリケーション
・プログラム(190)が資源管理プログラム(12
0)から取得した接続に関する参照とこのアプリケーシ
ョン・プログラム(190)が取引管理プログラム(1
45)から取得した取引に関する参照を記録する。資源
管理プログラム(120)は関連するログ・ファイル
(320)に回復情報を格納する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ処理の分野に
関し、更に詳しくは、取引処理システムに関し、特に資
源管理プログラムのプロトコルと共用することのできな
い取引管理プログラムと共に上記資源管理プログラムを
動作させることに関する。
【0002】
【従来の技術】
取引(トランザクション) 多くの産業に於いて重要なビジネスのタスクにコンピュ
ータによって実施される取引処理システムを使用してい
る。取引は、完全に完了しなければならないかまたはア
クションを起こすことなく完全に除去しなければならな
い1単位のワークとして定義する。例えば顧客が金銭を
引き出す銀行の自動金銭引出機(ATM)の場合、金銭
を供給する動作、機械の中で手元にある金銭の帳尻を減
額する動作及び顧客の銀行の帳尻を減額する動作は、全
て行わなければならないかまたはこれらは何れも行って
はいけない。これらの付随する動作の1つに誤りが発生
すると、記録と現実に発生している事柄の間に不一致が
生じる。
【0003】分散取引 分散した取引の処理には、2つ以上の物理的または論理
的位置に於ける資源に影響を及ぼす取引が含まれてい
る。上記例では、ATMによる取引は地域のATM装置
の管理する資源に影響を及ぼすと共に銀行のメイン・コ
ンピュータの管理する銀行の帳尻にも影響を及ぼす。分
散した取引は物理的に分散しているか、または物理的に
分散していなくても、取引の完了を成功させるために
は、同期して完了しなければならない協働して行われて
いるタスクが含まれている。
【0004】X/Open X/Open株式会社(X/OpenはX/Open株
式会社の商標である)は、分散取引処理を実施するため
の1つのモデルを説明したガイドを公表している。「X
/Openのガイド、分散取引処理の参考モデル」、1
996年2月、ISBN1−85912−170−5
は、分散取引システムの構成要素とこれらの構成要素の
間の相互関係を論じている。X/Open分散取引処理
モデル(DTPモデル)は、3つの主要な構成要素、即
ちアプリケーション・プログラム(AP)、取引管理プ
ログラム(TM)と1つ以上の資源管理プログラム(R
M)に付いて説明している。アプリケーション・プログ
ラムは、1つ以上の資源管理プログラムによって制御さ
れた資源を使用しまたこれらの資源を変更している。取
引管理プログラムは、地球規模の取引を担当しまた資源
管理プログラムの取り上げたアクションをコミットする
かロールバックするかの判定を調整している。(コミッ
トするとは資源を更新することであり、一方ロールバッ
クするとは全ての作業を放棄して資源を取引の最初の状
態に戻すことである。)資源管理プログラムは、特定の
資源を管理している。資源管理プログラムは、データベ
ース管理システム(DBMS)、ファイル・システムま
たは同様の資源を有することができる。X/Open取
引管理プログラムは、XAインターフェースと呼ぶプロ
グラミング・インターフェースによって資源管理プログ
ラムと通信を行う。
【0005】2フェーズ・コミット X/OpenDTPモデルは、取引によって行われた変
化をコミットするか否かを判定するための「2フェーズ
・コミット」プロセスと呼ばれるプロセスの説明を行
い、多くの商業上の取引処理システムがこのプロセスを
使用している。第1フェーズには、取引管理プログラム
を信じる資源管理プログラムが取引によって行われた変
化のコミットに成功することができるかどうかをこの取
引管理プログラムが判定するステップが含まれる。もし
いずれかの資源管理プログラムがコミットすることがで
きないと指示したりまたは応答に失敗すると取引管理プ
ログラムは各資源管理プログラムに於いてこれらの変化
をロールバックさせる。もし全ての応答が肯定を示すも
のであれば、取引管理プログラムは全ての資源管理プロ
グラムにその取引をコミットするように命ずる。
【0006】米国特許5,428,771は、異なった
環境で実行されている第2取引管理プログラムを分散取
引処理環境の取引管理プログラムに接続する変換ブリッ
ジを有する従来技術による取引処理システムを開示して
いる。この変換ブリッジは2つの異なった環境の間でマ
ッピングを実行することを要求され、異なった取引識別
用の仕様の相関関係を有している。取引及びその他のゲ
ートウエイの状態情報を長期間保持可能なアーカイバル
を必要とする適切な状態情報を記録することと異なった
コミットのプロトコルの解釈と取引のコミットメント領
域の橋絡を含む失敗と再スタートのシナリオを実行する
手順を提供することがまた要求されている。この取引処
理システムは、第2分散取引処理環境内で実行されるア
プリケーション・プログラムをまた有する。取引処理ブ
リッジは、各システムのそれぞれの取引処理プロトコル
を他のシステムが使用することのできるプロトコルに変
換するという別の機能を有している。例えば、分散取引
処理環境はAIX動作システムの2つのヘーズによるコ
ミット/プレジュームド・アボート・プロトコルを使用
し、第2分散取引処理環境はSNAの2つのフェーズに
よるコミット/プレジューム・ナッシング・プロトコル
を使用することができる(AIXはIBM社の商標であ
る)。これらのプロトコルは下記の点で異なっている。
即ち、2つのフェーズによるコミット/プレジュームド
・アボート・プロトコルは取引の結果に関する情報が存
在しない場合、取引を中止するものと仮定し、一方SN
Aプロトコルは取引の結果に関して何らの仮定を行わ
ず、取引管理プログラムが取引の結果を判定すべきサイ
トの間で情報の交換を要求される取引の参加者のリスト
を保持する。
【0007】オブジェクト指向プログラミング オブジェクト指向プログラミング・システムは、オブジ
ェクトの再使用を可能し機能を明確に分離することによ
ってシステムのメンテナンスを単純化することによって
プログラム開発の効率を高めるように設計されている。
オブジェクト指向システム内の各オブジェクトは、その
オブジェクト用のデータとそのデータ上で動作する手順
又は方法を隠蔽している。隠蔽とは、あるオブジェクト
に対するデータは定義された方法を使用しているそのオ
ブジェクトのみによって処理することができることを意
味している。オブジェクト指向システムは、オブジェク
トとその外部インターフェースを定義する方法を指定し
ている。1つのこのようなオブジェクト指向システム
は、IBM社から供給されているシステム・オブジェク
ト・モデル(SOM)である。SOMは、「SOMob
jects:プラクティカル・イントロダクション・ツ
ーSOMアンドDOSM」、IBM社刊、著作権199
4、オーダ番号GG24−4357−00(SOMとS
OMobjectsはIBM社の商標である)に説明さ
れている。
【0008】OMG オブジェクト指向技術を取引処理システムに適用すると
多くの新しい問題が発生するが、これによってオブジェ
クト指向の原理の使用によるシステム効率の増加の機会
が提供される。オブジェクト・マネージメント・グルー
プ社(OMG)は、相互に動作可能なオブジェクト指向
システムに対する標準を設定している。OMGによって
定義されている全体的なアーキテクチャは、オブジェク
ト・マネージメント・アーキテクチャ(OMA)であ
る。OMAの中心となる構成要素はオブジェクトが他の
オブジェクトに対してメッセージを送付することを可能
にするオブジェクト・リクエスト・ブローカである。コ
モン・オブジェクト・リクエスト・ブローカ・アーキテ
クチャ(CORBA)は、オブジェクト間の相互作用、
特に異なったコンピュータ・システムに於ける分散した
オブジェクト間の相互作用を定義している。オブジェク
ト・リクエスト・ブローカ(ORB)はロケーションを
明かにし、オブジェクト間の通信の詳細を隠蔽してい
る。CORBAは「コモン・オブジェクト・リクエスト
・ブローカ:アーキテクチャ・アンド・スペシフィケー
ション」、1992年3月という名称のOMGの出版物
で説明されている。
【0009】OTS OMGは、オブジェクト指向システムに於ける取引の処
理を標準化するための仕様を受け入れている。オブジェ
クト・トランザクション・サービス(OTS)仕様書、
OMG文書94.8.4.という名称の本仕様書は、取
引処理システムを実施するのに必要なオブジェクトのサ
ービスのために4つの要件を設定している。OTSは、
オブジェクト指向アプリケーションが回復可能な挙動を
達成するために使用することのできる1組の標準インタ
ーフェースによって構成されている。これは、ORBプ
ロセスの間で取引のコンテキストの伝達を可能にしサー
バの開始時点でOTSの状態の回復を可能にするための
ORBを有する1組の標準インターフェースによってま
た構成される。OTSの仕様は、目的指向システムのユ
ニークな能力の内の多くを使用している。しかし、OT
Sモデルは、X/OpenDTPモデル及び既存の処理
用の取引処理システムとは相互に動作不能に設計されて
いる。
【0010】DTC マイクロソフト社から供給されている分散取引コーディ
ネータ(DTC)のソフトウェア製品は、取引のACI
D(構成状態、一致性、隔離性及び耐久性)特性を使用
した取引の調整を行うための装置を提供する取引コーデ
ィネータである。DTC内の取引は、取引上のオブジェ
クトによって表す。これらの取引上のオブジェクトはD
TCによって生成及び管理され、DTCのサービスを使
用してアプリケーション・プログラムと資源管理プログ
ラムによってこれらの上で動作する。
【0011】DTCがサポートしている資源管理プログ
ラムのみが、マイクロソフト社のオブジェクト・リンキ
ング・アンド・エンベッディング(OLE)の取引用イ
ンターフェースの定義に適合している。このことは、既
存の標準−コンプリアント資源は、マイクロソフト社の
OLE取引用インターフェースの定義に適合するように
その取引管理プログラムを資源管理プログラムのインタ
ーフェースに合わせてコードを書き直す必要がある。こ
こで、コンプリアントまたはコンパチプルは他と共用す
ることが可能であることを意味する。このような既存の
標準−コンプリアント資源の例には、IBM社の供給し
ているDB2データベース、オラクル社のデータベー
ス、サイベース社のデータベース、インフォーミックス
社のデータベース及びグレシャム・プロダクト社のIS
AMファイルのようなファイル(DB2とIBMはIB
M社の商標である)がある。DTCのサービスと資源か
らX/OpenのXAインターフェースに変換するマッ
パーを提供することによって、これらのDTCのサービ
スと資源を既存の取引モニタ環境で使用することを可能
にするサポートが、DTCに含まれている。上記の逆を
可能にする、即ち、X/OpenのXAインターフェー
スのようなOLEインターフェース以外のインターフェ
ースを有する資源管理プログラムをマイクロソフト社の
DTC取引コーディネータに使用することを可能にする
サポートは、DTCに含まれていない。
【0012】
【発明が解決しようとする課題】従って、DB2、オラ
クル社、サイベース社及びインフォーミックス社のデー
タベースとグレシャム・プロダクト社のISAMファイ
ルは、資源管理プログラムに適合するように変更を加え
ることなしにはDTCに使用できるようにサポートされ
ていない。もしこのような資源をDTC取引環境に於い
て変更なしに使用することができれば、これは好まし
い。
【0013】
【課題を解決するための手段】従って、本発明は、デー
タ処理システムによって処理を行う方法に於いて、第1
取引をアプリケーション・プログラムによって開始する
と共にこの第1取引が資源管理プログラムと関連する必
要性を有し、上記第1取引は第1取引管理プログラムに
よって管理し、上記第1取引管理プログラムのプロトコ
ルは上記資源管理プログラムのプロトコルと共用するこ
とができず、上記システムはそのプロトコルが上記資源
管理プログラムのプロトコルと共用することができる第
2取引管理プログラムと上記第1取引管理プログラムに
対する呼び出しを上記第2取引管理プログラムに対する
呼び出しに変換するマッパーを有する上記方法を提供
し、上記方法は、上記アプリケーション・プログラムが
上記資源管理プログラムに対して接続に関する参照を設
定するステップと、上記アプリケーション・プログラム
が上記取引管理プログラムから取引に関する参照を得る
ステップと、上記マッパーが上記資源管理プログラムと
共に第2取引管理プログラムによって管理された第2取
引を開始するステップであって、上記第2取引管理プロ
グラムのプロトコルは上記資源管理プログラムのプロト
コルと共用することができる上記ステップを具備する。
【0014】上記方法は、上記アプリケーション・プロ
トコルが取引を開始した後、上記マッパーは上記接続に
関する参照と上記取引に関する参照を記録し、上記接続
に関する参照と上記取引に関する参照を上記資源管理プ
ログラムの認識することのできる取引識別子と関連させ
るステップを更に有することを特徴とする。
【0015】これによって、その資源をDTC取引管理
プログラムと共用することのできないDB2、オラクル
社、サイベース社及びインフォミックス社のデータベー
スとグレシャム・プロダクト社のISAMファイルのよ
うな標準の共用可能資源管理プログラムをアプリケーシ
ョン・プログラムのコードを書き直すことなくDTC取
引管理プログラムと共に使用することがができるという
利点が得られる。
【0016】本発明発明は、またデータ処理システム内
で実行されるアプリケーション・プログラム(190)
の開始した第1取引を処理する取引処理システムを提供
し、このシステムは、取引に関する参照を有するアプリ
ケーション・プログラムを提供する上記第1取引を管理
する第1取引管理プログラムと、上記第1取引が使用し
上記取引管理プログラムのプロトコルと共用することが
できずアプリケーション・プログラムの設定した接続に
関する参照を有する資源管理プログラムと、上記資源管
理プログラムと共用することのできるプロトコルを有す
る第2取引管理プログラムと、上記資源管理プログラム
と共に第2取引管理プログラムによって管理される第2
取引を開始するマッパーであって、上記第2取引管理プ
ログラムのプロトコルは上記資源管理プログラムのプロ
トコルと共用することのできる上記マッパーを具備す
る。
【0017】本システムは、上記マッパーが上記接続に
関する参照と上記取引に関する参照を記録し、上記接続
に関する参照と上記取引に関する参照を上記資源管理プ
ログラムの認識することのできる取引識別子と関連させ
ることを特徴とする。
【0018】
【発明の実施の形態】図1は、OLEインタフェースを
有する資源がX/Openの管理する取引に参加してい
る従来技術によるシステムのブロック図である。この取
引システムはX/Open−コンプリアントTPモニタ
110を有し、このTPモニタ110はX/Open取
引管理プログラム115、X/Open−コンプリアン
ト資源管理プログラム120、オブジェクト・リンキン
グ・アンド・エンベッデング(OLE)資源管理プログ
ラム130とDTC TPモニタ140を有している。
DTC TPモニタ140は、マッパー148とDTC
取引管理プログラム145を有している。図1には、ア
プリケーション・プログラム190をまた示している。
X/Open取引管理プログラム115は、アプリケー
ション・プログラム190の開始した取引を調整し、X
/Open資源管理プログラム120とOLE資源管理
プログラム130を有している。OLE資源管理プログ
ラム130は、DTC TPモニタ140を介してX/
Open取引管理プログラム115によって管理する。
X/Open取引管理プログラム115は、OLE資源
管理プログラム130を管理することができるが、これ
はOLE資源管理プログラム130がX/Open取引
管理プログラム115と互換性を有するように設計され
ているからである。
【0019】図2は、資源管理プログラム120とTP
モニタ240用のX/Open−コンプリアント構成要
素を使用した第1実施例を示し、TPモニタ240内に
取引管理プログラム115とマッパー248を有し、本
実施例ではこのマッパー248はDTCのプロトコルか
らX/Openのプロトコルに対するマッピングとこの
逆のマッピングを行う。前に述べたように、OTSモデ
ルはX/OpenのDTPモデルと相互に動作可能に設
計され、従って第2実施例では、資源管理プログラムは
OTS−コンプリアント資源管理プログラムであり、取
引管理プログラムはOTS−コンプリアントTP管理プ
ログラムである。本実施例のマッパーはDTCプロトコ
ルからOTSプロトコルに対するマッピングとこの逆の
マッピングを行う。更に他の実施例では、他の標準−コ
ンプリアント取引環境を使用することができる。以下の
説明ではX/Openの取引処理環境で実行される実施
例を説明するが、X/OpenまたはX/Open−コ
ンプリアントに対して参照を行う場合、これはまたOM
G OTSまたはOMG OTS−コンプリアントに対
する参照または何れかの標準−コンプリアント取引処理
環境に対する参照としてまた受け止めることができる。
【0020】DB2、オラクル社、サイベース社及びイ
ンフォミックス社のデータベースとグレシャム・プロダ
クト社のISAMファイルのような資源管理プログラム
は、従って、資源管理プログラムに対する変更無しには
DTCと共に使用できるようにサポートされていない。
図2は、本発明を実施することのできる取引システム2
00の1実施例のブロック図を例示している。この取引
システムはマイクロソフト社のDTC TPモニタ21
0を有し、このモニタ210はDTC取引管理プログラ
ム145、X/Open−コンプリアント資源管理プロ
グラム120、オブジェクト・リンキング・アンド・エ
ンベッディング(OLE)資源管理プログラム130と
X/Open−コンプリアントTPモニタ240を有し
ている。X/Open−コンプリアントTPモニタ24
0はマッパー248とX/Open−コンプリアント取
引管理プログラム115を有している。図2は、またア
プリケーション・プログラム190を示している。
【0021】DTC取引管理プログラム145と互換性
のある唯一の資源管理プログラムは、マイクロソフト社
のオブジェクト・リンキング・アンド・エンベッディン
グ(OLE)取引インターフェースの定義に適合する資
源管理プログラムである。これは、既存の標準−コンプ
リアント資源は、マイクロソフト社のOLE取引用イン
ターフェースの定義に適合するようにその取引管理プロ
グラムを資源管理プログラムのインターフェースに合わ
せて再コード化する必要があることを意味する。
【0022】図2のシステムで実行される取引を概観す
る。アプリケーション・プログラム190は、DTC取
引管理プログラム145の管理する取引を開始する。こ
の取引は、資源管理プログラム120、130の管理す
る資源を使用する。アプリケーション・プログラム19
0は、DTC取引管理プログラム145に取引を完了す
るように求める。DTC取引管理プログラム145はこ
の取引に含まれている資源が矛盾のない状態にあること
を保証し、取引を終了してこの取引がコミットされたか
ロールバックされたかをアプリケーション・プログラム
190に指示する。
【0023】種々の取引の参加者が相互に通信を行うた
めに使用する機構を説明する。アプリケーション・プロ
グラム190は、取引を開始するため、DTCインタフ
ェース292を使用してDTC取引管理プログラム14
5と通信を行う。DTCインタフェース292は、アプ
リケーション・プログラム190がDTC取引管理プロ
グラム145を呼び出して地球規模の取引の境界を画定
し、それらの完了を指示するインタフェースである。D
TCインタフェース292は、マイクロソフト・ウィン
ドウズ・オペレーティング・システム用の「マイクロソ
フト・ディストリビューテッド・トランザクション・コ
ーディネータ・アドミニストレータズ・ガイド・アンド
・プログラマーズ・リファレンス−マイクロソフトSQ
Lサーバ、バージョン6.5」に更に詳細に説明されて
いる。
【0024】X/Open取引管理プログラム115と
X/Open資源管理プログラム120は、XAインタ
フェース150を使用して相互に通信を行っている。X
Aインタフェースは、これによってX/Open取引管
理プログラム115が資源管理プログラム120と通信
を行うプログラミング・インターフェースである。XA
インターフェースは、X/Openの仕様書、配布され
たTP:XA仕様書、1992年2月、ISBN1−8
72630−24−3に更に詳細に説明されている。
【0025】DTC取引管理プログラム145とOLE
資源管理プログラム130は、DTCインタフェース1
70を使用して相互に通信を行っている。DTCインタ
フェース170は、これによってDTC取引管理プログ
ラム145がOLE資源管理プログラム130と通信を
行うプログラミング・インターフェースである。DTC
取引管理プログラム145は、DTCインターフェース
260を使用してX/Open−コンプリアントTPモ
ニタ240とまた通信を行い、X/Open−コンプリ
アントTPモニタ240は次にマッパー248を使用し
てこの通信をX/Open取引管理プログラム115に
伝える。
【0026】アプリケーション・プログラム190は資
源管理プログラムAPI194、196を使用してこれ
が使用することを希望している各資源管理プログラム1
20、130を初期化する。これらの資源管理プログラ
ム120、130は、次に入力を待機する。アプリケー
ション・プログラム190に対する資源管理プログラム
API194、196(RM API)は、IBM社か
ら供給されているISAM APIのような資源管理プ
ログラム120、130のプロバイダによって各資源管
理プログラム120、130に対して定義され、または
資源管理プログラムAPIは、SQL APIのような
産業界の標準の資源管理プログラムAPIを使用する。
【0027】アプリケーション・プログラム190によ
って行われる取引を説明する。最も単純な形態では、こ
の取引は下記のステップによって構成する。 1.取引開始−DTC 2.資源管理プログラムの動作の実行 3.取引終了−DTC
【0028】1.取引開始−DTC アプリケーション・プログラム190からの取引の開始
に対する要求に応答して、DTC取引管理プログラム1
45はこの取引を実行スレッドと関連させる。これを行
うことによって、取引管理プログラム145はアプリケ
ーション・プログラム190が特定の取引識別子それ自
身を追跡する必要性から解放する。取引管理プログラム
145は、適当な構造によって取引オブジェクトをまた
開始し、取引参加者の情報と何れかの結果として得られ
るデータを追跡する。この取引オブゼクトはアプリケー
ション・プログラム190に対する参照として戻され
る。アプリケーション・プログラム190はこの取引オ
ブジェクトを参照するが、DTC自身はこの取引オブジ
ェクトを取引id(GUID)に対してマッピングす
る。
【0029】2.資源管理プログラムの動作の実行 取引の実行中、アプリケーション・プログラム190
は、資源管理プログラム120、130の所有する資源
上で動作を実行する必要がある。これは、上述したRM
APIを使用してこれらの要求と通信を行う。X/O
pen資源管理プログラム120と通信を行う場合に
は、アプリケーション・プログラム190はこの通信の
中にX/Open取引ID(Xid)を含まなければな
らない。OLE資源管理プログラム130と通信を行う
場合には、OLEインターフェースはこの通信の一部と
して取引オブジェクトに対するトークン即ち参照を含ま
なければならないが、取引id(GUID)は含んでい
ない。本実施例では、この取引id(GUID)はDT
Cのみに知られている。非標準コンプリアント取引コデ
ィネータの他の実行例では、OLE資源管理プログラム
130に対して引き渡される情報の一部として取引id
(GUID)を含むことができる。これはユーザの定義
した取引のコンテキストとして含まれるものである。取
引オブジェクト及び従って要求が関連している取引id
(GUID)を決定することができるが、これは1つの
DTC取引のみを1つのコネクション上で実行すること
ができるからである。X/Open取引id(Xid)
は、次にマッピングによって決定することができる。
【0030】サービスに対する要求をOLE資源管理プ
ログラム130が受け取ると、OLE資源管理プログラ
ム130は、IResourceManager::E
nlist(&TransactionObejct.
ITransactionResourceAsyn
c)のようなDTCインタフェース170からのEnl
ist呼び出しを使用してDTC取引管理プログラム1
45に登録を行う。この呼び出しは、活発な取引即ち取
引オブジェクトを表すトークンを有している。その取引
id(GUID)を有するDTC取引管理プログラム1
45内に保持されている取引の結果を判定する場合、O
LD資源管理プログラム130がその2つのフェーズを
有するコミット・プロセスに含まれていることが、これ
によって保証される。
【0031】サービスに対する要求をX/Open−コ
ンプリアント資源管理プログラム120が受け取る場
合、このX/Open−コンプリアント資源管理プログ
ラム120は、取引管理プログラム115との取引を発
生し、XAインターフェース150からのax_reg
()を使用して資源管理プログラム115に登録を行
う。この呼び出しによって、取引が行われた場合に発生
した取引idを戻す。その取引idを有する取引の結果
が判定された場合、X/Open−コンプリアント資源
管理プログラム120が2つのフェーズを有するコミッ
ト・プロセスに含まれていることが、これによって保証
される。X/Open−コンプリアント取引管理プログ
ラム115は次にax_reg()登録呼び出しをマッ
パー248に引き渡し、このマッパー248はこの呼び
出しをDTCインターフェースからのIResourc
eManager::Enlistに変換する。マッパ
ー248は、次にこの呼び出しをDTCインタフェース
260によってDTC取引管理プログラム145に引き
渡す。マッパー248は、DTC取引管理プログラム1
45とX/Open−コンプリアント取引の間の相関関
係を維持する。この関係はDTC取引トークン即ちコネ
クション・ハンドルによって表され、X/Open−コ
ンプリアント取引はX/Open取引idによって表さ
れる。
【0032】3.取引終了−DTC アプリケーション・プログラム190は、取引を終了す
るためDTCインタフェース292を使用してDTC取
引管理プログラム145と通信を行う。この通信は、ア
プリケーションと関連する取引に対するDTC取引管理
プログラム145の参照を含む。
【0033】取引を終了するというアプリケーション・
プログラム190からの要求に応答して、DTC取引管
理プログラム145は、DTCインターフェースからO
LE資源管理プログラム130に対してITransa
ctionResourceAsync::Prepa
reRequest呼び出しを発生する。この呼び出し
は、コネクションと関連する取引上で実行する。OLE
資源管理プログラム130はその資源を準備し、準備し
た指示をDTC取引管理プログラム145に戻す。
【0034】取引を終了するというアプリケーション・
プログラム190からの要求に応答して、DTC取引管
理プログラム145は、DTCインターフェースからX
/Open−コンプリアントTPモニタ240に対して
ITransactionResourceAsyn
c::PrepareRequest呼び出しをまた発
生する。この呼び出しは、接続ハンドルと関連する取引
上で実行する。X/Open−コンプリアントTPモニ
タ240内のマッパー248は、相関情報を使用してX
Aインターフェースからのxa_prepare()呼
び出しに対してPrepareRequest呼び出し
をマッピングし、これをX/Open−コンプリアント
取引管理プログラム115に引き渡す。X/Open−
コンプリアント取引管理プログラム115は、次にX/
Open資源管理プログラム120に対してその資源を
準備するように要求する。X/Open資源管理プログ
ラムは、その資源を準備し、準備した指示をX/Ope
n−コンプリアント取引管理プログラム115に戻す。
X/Open−コンプリアント取引管理プログラム11
5は取引状態を記録し、準備した指示をマッパー248
に引き渡すが、このマッパー248はDTC取引管理プ
ログラム145の要求する別のログ機能を実行する。マ
ッパー248はまたこの指示をDTCインターフェース
からのITransactionEnlistment
Async:PrepareRequestDone応
答に対してまたマッピングしこの指示をDTC取引管理
プログラム145に引き渡す。
【0035】DTC取引管理プログラム145が取引に
於ける全ての参加者からの「準備された」指示の受信を
終了すると、これはOLE資源管理プログラム130に
対してITransactionResourceAs
ync::CommitRequest呼び出しを発生
し、これに対してその資源をコミットすることを要求す
る。この呼び出しには上記要求と共に受信した取引id
が含まれている。資源管理プログラム130はその資源
をコミットし、コミットした指示をDTC取引管理プロ
グラム145に戻す。もし資源の内の何れかがコミット
するように準備されていなければ、関連する指示をDT
C取引管理プログラム145に戻し、コミット呼び出し
(CommitRequest)の代わりにロールバッ
ク呼び出し(AbortRequest)を発生する。
アプリケーション・プログラム190は直接取引のロー
ルバックを決定してもよいし、または2つのフェーズの
コミット・プロセスに於ける参加者の一人が自分は資源
をコミットする準備をしていないと応答してもよい。何
れの場合に於いても、DTC取引管理プログラム145
はロールバック呼び出しを発生する。
【0036】DTC取引管理プログラム145が取引に
於ける全ての参加者からの「準備された」指示の受信を
終了すると、これはまたX/Open−コンプリアント
TPモニタ240に対してITransactionR
esourceAsync::CommitReque
st呼び出しを発生し、これに対してその資源をコミッ
トすることを要求する。この呼び出しは、上記コネクシ
ョンと関連する取引上で実行する。X/Open−コン
プリアントTPモニタ240内のマッパー248はXA
インターフェースからのxa_commit()呼び出
しに対してCommitRequest呼び出しをマッ
ピングし、これをX/Open−コンプリアント取引管
理プログラム115に引き渡す。X/Open−コンプ
リアント取引管理プログラム115は、X/Open資
源管理プログラム120に対してその資源をコミットす
ることを要求する。X/Open資源管理プログラム1
20はその資源をコミットし、コミットした指示をX/
Open−コンプリアント取引管理プログラム115に
戻す。X/Open−コンプリアント取引管理プログラ
ム115はこの指示をマッパー248に引き渡し、マッ
パー248はDTCインターフェースからのITran
sactionEnlistmentAsync:Co
mmitRequestDoneに対してこの指示をマ
ッピングし、この指示をDTC取引管理プログラム14
5に引き渡す。
【0037】もし資源(OLEまたはX/Open)の
内の何れかがコミットするように準備されていなけれ
ば、関連する指示をDTC取引管理プログラム145に
戻し、コミット呼び出しCommitRequestの
代わりにロールバック呼び出し(AbortReque
st)を発生する。マッパー248は、ロールバック呼
び出し(AbortRequest)をXAインターフ
ェースからのxa_rollbackに変換する。アプ
リケーション・プログラム190は直接ロールバックを
行うように決断してもよいし、または2つのフェーズに
よるコミット・プロセスに於ける参加者の一人が自分は
資源をコミットする準備をしていないと応答してもよ
い。何れの場合に於いても、DTC取引管理プログラム
145はロールバック呼び出しを発生する。
【0038】図3は、DTCの管理する取引に参加して
いる構成要素の特定の実施例とオブジェクト環境に於け
るこれらの構成要素の間の相互作用のブロック図であ
る。DTC取引管理プログラム145を有しているマイ
クロソフト社のDTC TPモニタ210は図2に示す
ものと同一の構成要素であるが、これは、後者の場合、
X/Open−コンプリアントTPモニタ240がマッ
パー248とOMG−コンプリアント取引管理プログラ
ムを有し、この取引管理プログラムはまたX/Open
−コンプリアント取引管理プログラム115とアプリケ
ーション・プログラム190を有しているからである。
【0039】X/Open−コンプリアントTPモニタ
240は、この特定の実施例ではSOMオブジェクト指
向システム内で実行する。サン社からのNEOまたはD
OR及びDEC社からのObjectBrokerのよ
うな他のオブジェクト指向システムも使用することがで
き、この明細書に於けるSOMに対する参照は他の目的
指向システムに対する参照と代替することができる。X
/Open−コンプリアントTPモニタ240の周囲に
はOLE/SOMラッパーが存在し、これによってその
内部のSOMオブジェクトが外部から表れてOLEオブ
ジェクトになる。SOMオブジェクトはこれらの遠隔地
のオブジェクトとの接触がラッパーを介して行われてい
ることに気付いていない。OLEインタフェース260
は、X/Open−コンプリアントTPモニタ240を
OCXコンテナ・オブジェクトとしてみなす。OCXコ
ンテナ・オブジェクトは、単にその中に他のオブジェク
トを含む1つのオブジェクトである。資源管理プログラ
ム120は、オブジェクト・サーバの実行例である。イ
ンターフェース292(DTC)、194(資源管理プ
ログラムAPI)、150(X/OpenXA)及び2
60(DTC)は、資源管理プログラムAPI194が
資源管理プログラム120に対して直接接続されている
のではなくOCXコンテナ330を介して接続されてい
ることを除いて図2に於けるこれらの対応する番号のイ
ンターフェースと同一である。上で述べたように、以下
の説明ではX/Open取引処理環境内で実行されてい
る。実施例を説明するが、X/OpenまたはX/Op
en−コンプリアントに対して何らかの参照を行う場
合、これはまたOMG OTSまたはOMG OTS−
コンプリアントまたは何れかの標準−コンプリアント取
引処理環境に対する参照をまた行うものである。X/O
penコンプリアント資源管理プログラムは、本実施例
ではOMG取引管理プログラムまたはX/Open取引
管理プログラムと共に使用することができる。同様に、
OMG−コンプリアント資源管理プログラムを本実施例
ではOMG取引管理プログラムまたはX/Open取引
管理プログラムと共に使用することができる。
【0040】マッパー248との通信325に於いて、
ログ・ファイル320を使用してX/Open−コンプ
リアントTPモニタ240が保証する必要のある種々の
データを記録するが、このログ・ファイル320は失敗
から回復するために使用することができる。この情報に
は、資源管理プログラムが取引の終了を準備するように
求められた場合に記録される取引状態情報が含まれる。
X/Open取引システムでは、これは取引管理プログ
ラムの担当であり、資源管理プログラムはログ・ファイ
ルに対する要求を行わない。しかし、DTCでは、資源
管理プログラムはこのようなログ・ファイルを設けなけ
ればならない。ログをまた使用し、資源管理プログラム
によってアプリケーション・プログラムに戻されたコネ
クション・ハンドル、DTC取引idとX/Open取
引id(Xid)の間のマッピングを格納することがで
きる。X/Open−コンプリアント資源管理プログラ
ム120と通信を行うX/Open−コンプリアントT
Pモニタ240内の実行制御スレッド335によって多
重同時要求を資源管理プログラム120に対して引き渡
すことが可能になり、また複数の方法に渡ってコンテキ
ストが重要になる動作をサポートすることができる。こ
れらはまた非同期挙動をチェックし、コミットに対する
要求をDTC取引管理プログラム145から受信した場
合、取引を強制的に終了させる。オブジェクト350
は、これが取引idを含むアプリケーション・プログラ
ム190から要求を受信した場合、取引を資源管理プロ
グラム120によって自動的に開始するかどうかのよう
なコンフィギュレーション・パラメータを有している。
これらは、動作中にDTC取引管理プログラム145に
よって使用する。通信経路385を使用してコンフィギ
ュレーション・パラメータをDTC取引管理プログラム
145に伝え、通信経路380を使用してこれらのコン
フィギュレーション・パラメータをX/Open−コン
プリアント取引管理プログラム115に伝える。
【0041】図4は、DTCの管理する取引に含まれて
いるステップを示すフロー図である。取引は図2または
図3のブロック図に示すシステム内で実行されている。
【0042】ステップ400に於いて、システム管理装
置を使用してシステムのサービスを記録する。DTC取
引管理プログラム145とX/Open資源管理プログ
ラム120のOCXコンテナを、DTCシステムのレジ
ストリに入力する。更に、X/OpenまたはOMGサ
ービスのような標準−コンプリアント・サービスをOC
Xコンテナに対するマッピングと共にディレクトリに記
録する。このディレクトリはOMGディレクトリまたは
X/Openディレクトリである。
【0043】ステップ410に於いて、アプリケーショ
ン・プログラム190は、DTC取引管理プログラム1
45からDTC取引管理プログラムの参照を得る。これ
は、DTCGetTransactionManage
r(&TM Instance,TMInterfac
e=ITransaction Dispenser)
のDTCインターフェースに対する呼び出しによって取
得する。DTC取引管理プログラム145は取引管理プ
ログラムのインターフェースに対する参照を戻すが、こ
れは取引を開始するために使用する取引ディスペンサ・
インターフェースである。
【0044】ステップ420に於いて、アプリケーショ
ン・プログラムは、図3に於いてインターフェース15
0によってX/Open−コンパチブル資源管理プログ
ラム120に対して接続されたOCXコンテナ(33
0)を開く。これは、例えば、OCXコンテナに対して
LogonToDB(&Server)呼び出しを発生
することによって行う。アプリケーション・プログラム
190はX/Open−コンパチブル資源管理プログラ
ム120を表すOCXコンテナ(330)に対する接続
を行い、OCXコンテナ(330)はコネクション・ハ
ンドルをアプリケーション・プログラム190に戻す。
図3を参照して、X/Open資源管理プログラムであ
る資源管理プログラム120を開くには、コンテナ・オ
ブジェクト330を開く。このOCXコンテナ330
は、マッパー248を有している。このようなマッパー
248は、サービスに対する何れかのCOM/OLEア
クセスにとってジェネリックであるOLE/CORBA
マッパーと取引の特性を要求するサービスにとって特定
の取引マッパーを有している。
【0045】ステップ430に於いて、取引オブジェク
トを生成する。アプリケーション・プログラム190は
ITransaction::BeginTransa
ctionインターフェースを呼び出す。ステップ44
0に於いて、DTC取引管理プログラム145は、取引
オブジェクトを生成し、取引識別子GUIDを発生し、
取引オブジェクト内にTidGUIDを格納し、ポイン
タをアプリケーション・プログラム190に対する取引
オブジェクトに戻す。取引オブジェクト即ちトークンに
対するポインタは取引idと等しくない。
【0046】ステップ450に於いて、アプリケーショ
ン・プログラム190は暗黙の内に各資源に対して取引
を伝える。アプリケーション・プログラム190は、資
源管理プログラムの取引エンリストメント・インターフ
ェースを、例えば、SQLSetConnect(SQ
L_Enlist、Connection Handl
e,&Transaction Object)また
は、dbenlisttrans APIによって呼び
出すことによってこれを行うが、dbenlisttr
ans APIは資源管理プログラム120のコネクシ
ョンを取引トークン(取引オブジェクトに対するポイン
タ)と関連させるものである。取引をOMG−コンプリ
アント取引管理プログラム115に伝えると、OMG−
コンプリアント取引管理プログラム115はX/Ope
n取引を発生する。コネクション・ハンドル、取引オブ
ジェクトとX/Open取引識別子を有するDTC情報
は、一方を他方にマッピングすることができるように、
ログファイル320に記録する。X/Open取引管理
プログラム115は、アプリケーション・プログラム1
90に対してこれのリスト化が完了したことを指示す
る。通信用の資源管理プログラムである資源管理プログ
ラムの場合、これによって、DTC取引をエクスポート
することなく取引を伝えることができる。
【0047】ステップ460に於いて、アプリケーショ
ン・プログラム190は、X/Open−コンパチブル
資源管理プログラム120によって管理されている資源
の保持しているデータの読み出し、書き込みまたは更新
のようなサービスの実行を要求するため、X/Open
−コンパチブル資源管理プログラムAPI194を表す
OCXコンテナ(330)を呼び出す。このステップは
図5に詳細に説明されている。このステップは461で
始まる。
【0048】ステップ463に於いて、X/Open−
コンプリアントTPモニタ240は、次にIResou
rceManager::Enlist(&Trans
actionObject,TransactionR
esorceAsync)呼び出しを使用して自己を取
引の参加者としてDTC取引管理プログラム145に登
録する。これによって、DTC取引管理プログラム14
5にコミット・プロセスの間に使用すべきX/Open
−コンパチブル資源管理プログラム120に対するイン
ターフェースが与えられる。ステップ464に於いてD
TC取引管理プログラム145はエンリストメント・オ
ブジェクトをX/Open−コンパチブル資源管理プロ
グラム120に戻す。このエンリストメント・オブジェ
クトは2つのフェーズを有するコミット・フェーズの完
了に成功した後、資源管理プログラム120が供給され
る方法を有している。ステップ465に於いて、X/O
pen−コンパチブル資源管理プログラム120は、ロ
グ・ファイル320にDTC取引情報とパラメータを格
納する。ステップ466に於いて、X/Open−コン
パチブル資源管理プログラム120は、ステップ450
の一部としてスタートしたX/Open取引の参加者と
してX/Open−コンプリアント取引管理プログラム
115に登録する。ステップ467に於いてX/Ope
n−コンパチブル資源管理プログラム120は、アプリ
ケーション・プログラム190の要求したサービスを実
行する。ステップ468に於いて、X/Open−コン
パチブル資源管理プログラム120は応答をアプリケー
ション・プログラム190に戻す。ステップ469で処
理を終了する。
【0049】再び図4に戻って、ステップ470ではア
プリケーション・プログラム190は、DTC取引管理
プログラム145にDTCインターフェースからのIT
ransaction::Commit呼び出しを使用
して取引をコミットすることを要求する。
【0050】ステップ480に於いて、DTC取引管理
プログラム145は、取引をコミットする。このステッ
プは、図6に詳細に説明されている。このステップはス
テップ600で開始される。
【0051】ステップ602に於いて、DTC取引管理
プログラム145は、DTCインターフェースからのI
TransactionResourceAsyn
c::PrepareRequestを使用することに
よってコミットメントまたはロールバックに対してその
資源を準備することをX/Open−コンパチブル資源
管理プログラム120に要求する。ステップ604に於
いて、X/Openーコンパチブル資源管理プログラム
120は、これが準備に対する要求を受信したことを確
認する。X/Open−コンパチブル資源管理プログラ
ム120は、参加者のリスト、取引の結果及び何れかの
再スタートの情報のようないずれのDTC取引管理プロ
グラム145に関する情報をログするようにDTC取引
管理プログラム145から要求されているかを判断す
る。X/Open−コンパチブル資源管理プログラム1
20は、IPrepareInfo:GetPrepa
reInfoSizeとIPrepareInfo:G
etPrepareInfo?呼び出し使用してこれを
行う。ステップ606に於いて、X/Open−コンパ
チブル資源管理プログラム120はログ・ファイル32
0上に「準備」記録をログしX/Open取引を準備す
る。「準備」記録をログする機能は、X/Open取引
システムに於いては、資源管理プログラムによって行わ
れるのではなく取引管理プログラムによって行われる
か、または取引管理プログラムによって使用可能になっ
たログを使用して資源管理プログラムによって行われ
る。ステップ608に於いて、X/Open−コンパチ
ブル資源管理プログラム120は、これがDTCインタ
ーフェースからのITransactionEnlis
tmentAsync:PrepareRequest
Done呼び出しを使用して「準備された」ことをDT
C取引管理プログラム145に知らせる。
【0052】ステップ610に於いて、DTC取引管理
プログラム145は、取引の結果を判定する。もしX/
Open−コンパチブル資源管理プログラム120また
はOLE資源管理プログラム130または取引に於ける
他の何れかの参加者がこれらがコミットすることが不可
能であることを指示するか、またはもし参加者の何れか
が応答に失敗すれば、X/Open−コンパチブル取引
管理プログラム145は資源管理プログラムの各々に於
いて変化を発生させてロールバックを行う。もし応答の
全てが肯定を意味するものであれば、X/Open−コ
ンパチブル取引管理プログラム145は、全ての資源管
理プログラムに取引をコミットするように命令する。
【0053】もし取引の結果がこれをコミットすべきも
のであれば、ステップ612に於いて、アプリケーショ
ン・プログラム190はそのログ・ファイルにコミット
記録をログする。ステップ614に於いて、DTC取引
管理プログラム145は、X/Open−コンパチブル
資源管理プログラム120にDTCインターフェースか
らのITransactionResourceAsy
nc:CommitRequest呼び出しを使用して
X/Open−コンパチブル資源管理プログラム120
に対してこれが担当する資源をコミットするように要求
する。ステップ616に於いて、X/Open−コンパ
チブル資源管理プログラム120はこれがコミットに対
する要求を受信したことを認める。ステップ618に於
いて、X/Open−コンパチブル資源管理プログラム
120はログ・ファイル320上に「コミットした」記
録をログし、X/Open取引をコミットする。ステッ
プ620に於いて、X/Open−コンパチブル資源管
理プログラム120は、これがDTCインターフェース
からのITransactionEnlistment
Async:CommitRequestDone呼び
出しを使用して取引を「コミットした」ことをDTC取
引管理プログラム145に知らせる。ステップ622に
於いて、アプリケーション・プログラム190は、その
ログ・ファイルにフォアゲット記録をログする。
【0054】もし取引の結果がこの取引をロールバック
することであれば、ステップ630に於いて、アプリケ
ーション・プログラム190はそのログ・ファイルにロ
ールバック記録をログする。ステップ632に於い、D
TC取引管理プログラム145は、X/Open−コン
パチブル資源管理プログラム120に対してDTCイン
ターフェースからのITransactionReso
urceAsync:AbortRequest呼び出
しを使用することによってこれが担当している資源に対
して行われた更新をロールバックするように要求する。
ステップ634に於いて、X/Open−コンパチブル
資源管理プログラム120は、これがロールバックに対
する要求を受信したことを認める。ステップ636に於
いて、X/Open−コンパチブル資源管理プログラム
120はログ・ファイル320に「ロールバック」記録
をログし、X/Open取引によって資源に行われた更
新をロールバックする。ステップ638に於いて、X/
Open−コンパチブル資源管理プログラム120は、
これがDTCインターフェースからのITransac
tionEnlistmentAsync:Abort
Done呼び出しを使用して取引によって行われた資源
に対する更新を「バックアウトした」ことをDTC取引
管理プログラム145に伝える。ステップ640に於い
て、アプリケーション・プログラム190は、そのログ
・ファイルにフォアゲット記録をログする。このコミッ
トメント・プロセスはステップ650で終了する。再び
図4を参照して、ステップ490に於いてこの取引を終
了する。
【0055】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)データ処理システムによって処理を行う方法であ
って、第1取引がアプリケーション・プログラム(19
0)によって開始され、かつ、この第1取引は資源管理
プログラムと関連する必要性を有し、上記第1取引は第
1取引管理プログラム(145)によって管理され、上
記第1取引管理プログラムのプロトコルは上記資源管理
プログラム(120)のプロトコルと共用することがで
きず、上記システムはそのプロトコルが上記資源管理プ
ログラムのプロトコルと共用することのできる第2取引
管理プログラム(115)と上記第1取引管理プログラ
ムに対する呼び出しを上記第2取引管理プログラムに対
する呼び出しに変換するマッパー(248)を有し、上
記方法は、上記アプリケーション・プログラムが上記資
源管理プログラムに対して接続に関する参照を設定する
ステップと、上記アプリケーション・プログラムが上記
第1取引管理プログラムから取引に関する参照を得るス
テップと、上記マッパーが上記資源管理プログラムと共
に第2取引管理プログラムによって管理される第2取引
を開始するステップであって、上記第2取引管理プログ
ラムのプロトコルは上記資源管理プログラムのプロトコ
ルと共用することのできる上記ステップを具備し、上記
方法は、さらに、上記アプリケーション・プロトコルが
取引を開始した後、上記マッパーは上記接続に関する参
照と上記取引に関する参照を記録し、上記接続に関する
参照と上記取引に関する参照を上記資源管理プログラム
の認識することのできる取引識別子と関連させるステッ
プ、を有することを特徴とする方法。 (2)上記接続に関する参照はコネクション・ハンドル
であり、上記取引に関する参照はOLEターゲット・オ
ブジェクトに対するポインタであり、上記取引識別子は
X/Open XIDであることを特徴とする上記
(1)記載の方法。 (3)上記アプリケーション・プログラム(190)と
上記資源管理プログラム(120)の間で相互作用を行
っている期間中、取引に対する上記取引管理プログラム
の識別子は各相互作用と関連するデータ内に含まれてい
ることを特徴とする上記(1)記載の方法。 (4)上記取引の処理の期間中上記資源管理プログラム
(120)は関連するログ・ファイル(320)内に回
復情報を格納することを特徴とする上記(1)記載の方
法。 (5)データ処理システム内で実行されるアプリケーシ
ョン・プログラム(190)の開始した第1取引を処理
する取引処理システムであって、取引に関する参照をア
プリケーション・プログラムに提供する上記第1取引を
管理する第1取引管理プログラム(145)と、上記第
1取引が使用し上記取引管理プログラム(145)のプ
ロトコルと共用することができず、かつ、アプリケーシ
ョン・プログラムの設定した接続に関する参照を有する
資源管理プログラム(120)と、上記資源管理プログ
ラムと共用することのできるプロトコルを有する第2取
引管理プログラム(115)と、上記資源管理プログラ
ムと共に第2取引管理プログラムによって管理される第
2取引を開始するマッパー(248)であって、上記第
2取引管理プログラムのプロトコルは上記資源管理プロ
グラムのプロトコルと共用することのできる上記マッパ
ー(248)を具備し、上記マッパーは上記接続に関す
る参照と上記取引に関する参照を記録し、上記接続に関
する参照と上記取引に関する参照を上記資源管理プログ
ラムの認識することのできる取引識別子と関連させるこ
とを特徴とするシステム。 (6)上記アプリケーション・プログラム(190)と
上記資源管理プログラム(120)の間で相互作用を行
っている期間中、取引に対する上記取引管理プログラム
の識別子は各相互作用と関連するデータ内に含まれてい
ることを特徴とする上記(5)記載のシステム。 (7)上記資源管理プログラム(120)は、回復情報
を格納するための関連するログ・ファイル(320)を
更に具備することを特徴とする上記(5)記載のシステ
ム。
【図面の簡単な説明】
【図1】図1は、DTC資源がX/Openの管理する
取引に参加している従来技術のブロック図である。
【図2】X/Openの資源がDTCの管理する取引に
参加し、本発明を使用しているシステムのブロック図で
ある。
【図3】図3は、DTCの管理する取引に参加している
図2のシステムの構成要素とこれらの構成要素間の相互
作用の特定の実施例を示すブロックである。
【図4】図4は、図2のシステムに於いてDTCの管理
する取引に含まれているステップを示すフロー図であ
る。
【図5】図5は、図4のフロー図からサービスを実行す
るステップの詳細を示すフロー図である。
【図6】図6は、図4のフロー図から取引をコミットす
るステップを詳細に示すフロー図である。
【符号の説明】
115 X/Open取引管理プログラム 120 オブジェクト・サーバ 145 DTC取引管理プログラム 120 X/Open資源管理プログラム 130 OLE資源管理プログラム 190 ウインドウズアプリケーション・プログラム 210 マイクロソフトDTC TPモニタ 240 X/Open−コンプリアントTPモニタ 292 DTCインタフェース 320 ログ・ファイル 330 OCXコンテナ 350 コンフィグレーション・パラメータ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート・アンソニー・ストレイ イギリス国 エスオー15 5エヌジェイ ハンプシャー州 サウスハンプトン シャ ーリィー アヴェニュー 42

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】データ処理システムによって処理を行う方
    法であって、第1取引がアプリケーション・プログラム
    (190)によって開始され、かつ、この第1取引は資
    源管理プログラムと関連する必要性を有し、上記第1取
    引は第1取引管理プログラム(145)によって管理さ
    れ、上記第1取引管理プログラムのプロトコルは上記資
    源管理プログラム(120)のプロトコルと共用するこ
    とができず、上記システムはそのプロトコルが上記資源
    管理プログラムのプロトコルと共用することのできる第
    2取引管理プログラム(115)と上記第1取引管理プ
    ログラムに対する呼び出しを上記第2取引管理プログラ
    ムに対する呼び出しに変換するマッパー(248)を有
    し、上記方法は、 上記アプリケーション・プログラムが上記資源管理プロ
    グラムに対して接続に関する参照を設定するステップ
    と、 上記アプリケーション・プログラムが上記第1取引管理
    プログラムから取引に関する参照を得るステップと、 上記マッパーが上記資源管理プログラムと共に第2取引
    管理プログラムによって管理される第2取引を開始する
    ステップであって、上記第2取引管理プログラムのプロ
    トコルは上記資源管理プログラムのプロトコルと共用す
    ることのできる上記ステップを具備し、 上記方法は、さらに、 上記アプリケーション・プロトコルが取引を開始した
    後、上記マッパーは上記接続に関する参照と上記取引に
    関する参照を記録し、上記接続に関する参照と上記取引
    に関する参照を上記資源管理プログラムの認識すること
    のできる取引識別子と関連させるステップ、 を有することを特徴とする方法。
  2. 【請求項2】上記接続に関する参照はコネクション・ハ
    ンドルであり、上記取引に関する参照はOLEターゲッ
    ト・オブジェクトに対するポインタであり、上記取引識
    別子はX/Open XIDであることを特徴とする請
    求項1記載の方法。
  3. 【請求項3】上記アプリケーション・プログラム(19
    0)と上記資源管理プログラム(120)の間で相互作
    用を行っている期間中、取引に対する上記取引管理プロ
    グラムの識別子は各相互作用と関連するデータ内に含ま
    れていることを特徴とする請求項1記載の方法。
  4. 【請求項4】上記取引の処理の期間中上記資源管理プロ
    グラム(120)は関連するログ・ファイル(320)
    内に回復情報を格納することを特徴とする請求項1記載
    の方法。
  5. 【請求項5】データ処理システム内で実行されるアプリ
    ケーション・プログラム(190)の開始した第1取引
    を処理する取引処理システムであって、 取引に関する参照をアプリケーション・プログラムに提
    供する上記第1取引を管理する第1取引管理プログラム
    (145)と、 上記第1取引が使用し上記取引管理プログラム(14
    5)のプロトコルと共用することができず、かつ、アプ
    リケーション・プログラムの設定した接続に関する参照
    を有する資源管理プログラム(120)と、 上記資源管理プログラムと共用することのできるプロト
    コルを有する第2取引管理プログラム(115)と、 上記資源管理プログラムと共に第2取引管理プログラム
    によって管理される第2取引を開始するマッパー(24
    8)であって、上記第2取引管理プログラムのプロトコ
    ルは上記資源管理プログラムのプロトコルと共用するこ
    とのできる上記マッパー(248)を具備し、 上記マッパーは上記接続に関する参照と上記取引に関す
    る参照を記録し、上記接続に関する参照と上記取引に関
    する参照を上記資源管理プログラムの認識することので
    きる取引識別子と関連させることを特徴とするシステ
    ム。
  6. 【請求項6】上記アプリケーション・プログラム(19
    0)と上記資源管理プログラム(120)の間で相互作
    用を行っている期間中、取引に対する上記取引管理プロ
    グラムの識別子は各相互作用と関連するデータ内に含ま
    れていることを特徴とする請求項5記載のシステム。
  7. 【請求項7】上記資源管理プログラム(120)は、回
    復情報を格納するための関連するログ・ファイル(32
    0)を更に具備することを特徴とする請求項5記載のシ
    ステム。
JP22458797A 1996-08-31 1997-08-21 取引処理方法及びシステム Expired - Fee Related JP3582963B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9618248A GB2316777B (en) 1996-08-31 1996-08-31 Operating a transaction manager with a non-compliant resource manager
GB9618248.0 1996-08-31

Publications (2)

Publication Number Publication Date
JPH10124371A true JPH10124371A (ja) 1998-05-15
JP3582963B2 JP3582963B2 (ja) 2004-10-27

Family

ID=10799255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22458797A Expired - Fee Related JP3582963B2 (ja) 1996-08-31 1997-08-21 取引処理方法及びシステム

Country Status (3)

Country Link
US (1) US5768587A (ja)
JP (1) JP3582963B2 (ja)
GB (1) GB2316777B (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6035301A (en) * 1996-12-20 2000-03-07 Tandem Computers, Inc. Method and apparatus for accessing transaction services using object linking and embedding
US6275866B1 (en) * 1997-03-14 2001-08-14 Mathsoft Engineering & Education, Inc. Manipulation and coupling of object oriented components
GB2328044B (en) * 1997-08-01 2002-02-27 Ibm Apparatus,method and computer program product for client/server computing with a transaction representation located on each transactionally involved server
IES79079B2 (en) * 1997-08-20 1998-04-08 Openwrite Limited A communication system for facilitating communication between a PC and a host computer
GB2333868B (en) * 1997-12-09 2000-06-28 Scp Powersoft Limited An inter-computer communications apparatus and method
GB2333168B (en) * 1998-01-07 2002-09-18 Ibm Apparatus,method and computer program product for client/server computing with reduced cross-process calls
US6157927A (en) * 1998-04-22 2000-12-05 Unisys Corporation Methods and apparatus for enabling a component in a first transaction processing environment to access a resource in another environment that is under the control of an Xatmi complaint transaction manager
US6233587B1 (en) * 1998-05-07 2001-05-15 Oracle Corporation Extensible framework of key resource manager and transaction manager events for providing native support for foreign-initiated transactions
GB2339621A (en) * 1998-07-15 2000-02-02 Ibm Client/server computing system provides extension to basic transaction service
GB2339622A (en) 1998-07-15 2000-02-02 Ibm Client/server computing with transactional interface between legacy and non-legacy systems
GB2339933A (en) * 1998-07-22 2000-02-09 Ibm Client/server computing with improved correspondence between transaction identifiers when supporting subordinate resource manager(s)
US6401111B1 (en) * 1998-09-11 2002-06-04 International Business Machines Corporation Interaction monitor and interaction history for service applications
AU1622100A (en) * 1998-11-12 2000-05-29 E*Trade Securities, Inc. Distributed, high performance architecture for online investment services
US6542885B1 (en) * 1998-12-30 2003-04-01 International Business Machines Corporation Methods, systems and computer program products for controlling variables associates with transactions in a multiple transaction environment
US6671704B1 (en) * 1999-03-11 2003-12-30 Hewlett-Packard Development Company, L.P. Method and apparatus for handling failures of resource managers in a clustered environment
US6463456B1 (en) * 1999-09-01 2002-10-08 International Business Machines Corporation Efficient registration for distributed transaction systems
US7426730B2 (en) * 2001-04-19 2008-09-16 Wre-Hol Llc Method and system for generalized and adaptive transaction processing between uniform information services and applications
US20020194244A1 (en) * 2001-06-01 2002-12-19 Joan Raventos System and method for enabling transaction-based service utilizing non-transactional resources
US6799172B2 (en) 2001-08-28 2004-09-28 International Business Machines Corporation Method and system for removal of resource manager affinity during restart in a transaction processing system
US20030055809A1 (en) * 2001-09-18 2003-03-20 Sun Microsystems, Inc. Methods, systems, and articles of manufacture for efficient log record access
US20040255036A1 (en) * 2002-07-25 2004-12-16 Yee James D. System and method for providing computer services
AU2003264291A1 (en) * 2002-09-12 2004-04-30 International Business Machines Corporation A data processing system adapted to integrating non-homogeneous processes
US7730489B1 (en) * 2003-12-10 2010-06-01 Oracle America, Inc. Horizontally scalable and reliable distributed transaction management in a clustered application server environment
US8074220B2 (en) * 2004-05-21 2011-12-06 Computer Associates Think, Inc. System and method for interfacing an application to a distributed transaction coordinator
US7676810B2 (en) * 2004-06-03 2010-03-09 Sap Ag Identification of execution context
US8095826B1 (en) * 2004-06-29 2012-01-10 Symantec Operating Corporation Method and apparatus for providing in-memory checkpoint services within a distributed transaction
US8180846B1 (en) * 2005-06-29 2012-05-15 Emc Corporation Method and apparatus for obtaining agent status in a network management application
US7752484B2 (en) * 2006-10-24 2010-07-06 Sap Ag On-demand wrappers of application data with session failover recovery
US20090193286A1 (en) * 2008-01-30 2009-07-30 Michael David Brooks Method and System for In-doubt Resolution in Transaction Processing
US20090193280A1 (en) * 2008-01-30 2009-07-30 Michael David Brooks Method and System for In-doubt Resolution in Transaction Processing
FR2944366B1 (fr) * 2009-04-09 2012-02-03 Bull Sas Procede et dispositif permettant l'execution de composants transactionnels heterogenes
US8745629B2 (en) * 2010-01-11 2014-06-03 Qualcomm Incorporated System and method of controlling power in an electronic device
US11210129B2 (en) * 2018-06-14 2021-12-28 International Business Machines Corporation Extended architecture as a service to integrate resource and transaction managers

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3234079A1 (de) * 1982-09-14 1984-03-15 Nixdorf Computer Ag, 4790 Paderborn Informationssystem
US5363121A (en) * 1990-06-29 1994-11-08 International Business Machines Corporation Multiple protocol communication interface for distributed transaction processing
JPH0797782B2 (ja) * 1991-09-18 1995-10-18 インターナショナル・ビジネス・マシーンズ・コーポレイション 異種トランザクションの調整方法
US5504899A (en) * 1991-10-17 1996-04-02 Digital Equipment Corporation Guaranteeing global serializability by applying commitment ordering selectively to global transactions
US5473680A (en) * 1994-06-14 1995-12-05 Bell Communications Research, Inc. Methods and apparatus for interfacing with application programs to manage multimedia multiparty communications
EP0694838A1 (en) * 1994-07-25 1996-01-31 International Business Machines Corporation Step level recovery
US5729733A (en) * 1995-05-05 1998-03-17 Harris Corporation Method of operating a distributed databse based on object ownership and transaction classification utilizing an aggressive reverse one phase commit protocol

Also Published As

Publication number Publication date
GB9618248D0 (en) 1996-10-09
GB2316777B (en) 2000-10-04
US5768587A (en) 1998-06-16
GB2316777A (en) 1998-03-04
JP3582963B2 (ja) 2004-10-27

Similar Documents

Publication Publication Date Title
JP3582963B2 (ja) 取引処理方法及びシステム
US5923833A (en) Restart and recovery of OMG-compliant transaction systems
EP0702295B1 (en) System for building optimal commit trees in a distributed transaction system
US5920863A (en) System and method for supporting transactions for a thin client lacking a persistent store in a distributed object-oriented environment
US6275843B1 (en) Method and apparatus for processing multiple service requests within a global transaction by a single server application program instance
US5586312A (en) Method and apparatus for using an independent transaction processing application as a service routine
CN100435101C (zh) 在软件环境中用于保持资源完整性的装置和方法
US6470342B1 (en) Process of maintaining a distributed map of transaction identifiers and using hashing to access these maps
US5852732A (en) Heterogeneous operations with differing transaction protocols
US20030005172A1 (en) Apparatus, method and computer program product for client/server computing with improved correspondence between transaction identifiers when supporting subordinate resource manager(s)
US6381617B1 (en) Multiple database client transparency system and method therefor
US20040158549A1 (en) Method and apparatus for online transaction processing
EP0707265A2 (en) A system and method for creating an object oriented transaction service that interoperates with procedural transaction coordinators
JPH035846A (ja) リモート・アプリケーシヨン実行方式
JPH04229334A (ja) コンピュータ・システム及びアプリケーションプログラム実行方法
JPH04229335A (ja) コミット手順の最適化方法
US6389431B1 (en) Message-efficient client transparency system and method therefor
JP3579353B2 (ja) クライアント/サーバ・コンピューティング・システム、およびクライアント/サーバ処理方法
US6138169A (en) System and method for creating an object oriented transaction service that achieves interoperability with encina procedural transactions
JP3409308B2 (ja) クライアント/サーバ・コンピューティング・システム及びサーバ処理方法
JP3548030B2 (ja) サーバ処理装置及びサーバ処理方法
US7284018B1 (en) Logless transaction coordination
US6237018B1 (en) Apparatus method and computer program product for client/server computing with improved transactional interface
US6256641B1 (en) Client transparency system and method therefor
JPH10149286A (ja) 効率的な共通オブジェクトリクエストブローカアーキテクチャトランザクションを実行するための方法および装置

Legal Events

Date Code Title Description
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040727

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080806

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080806

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090806

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees