[go: up one dir, main page]

JPH07262119A - トランザクション・メッセージを処理するための装置、システムおよび方法 - Google Patents

トランザクション・メッセージを処理するための装置、システムおよび方法

Info

Publication number
JPH07262119A
JPH07262119A JP6323405A JP32340594A JPH07262119A JP H07262119 A JPH07262119 A JP H07262119A JP 6323405 A JP6323405 A JP 6323405A JP 32340594 A JP32340594 A JP 32340594A JP H07262119 A JPH07262119 A JP H07262119A
Authority
JP
Japan
Prior art keywords
transaction
message
client
output
server
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
JP6323405A
Other languages
English (en)
Other versions
JP2583027B2 (ja
Inventor
Steve Tsanchun Kuo
スティーヴ・ツァンチュン・クオ
Thomas Clarke Morrison
トマス・クラーク・モリソン
Hoang Minh Nguyen
ホアン・ミン・グエン
Harry Otto Radke
ハリー・オットー・ラドケ
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 JPH07262119A publication Critical patent/JPH07262119A/ja
Application granted granted Critical
Publication of JP2583027B2 publication Critical patent/JP2583027B2/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)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】 クライアントが、サーバ・プロセスとクライ
アント・プロセスの間のトランザクション・メッセージ
・トラフィックを制御できるようにする。 【構成】 サーバ・プロセスに結合された複数のクライ
アント・プロセスを含むトランザクション処理システム
において、サーバ・プロセスが、クライアント・プロセ
スによって生成されたトランザクションの実行を支援す
る。サーバ・プロセスは、サービスされる各クライアン
ト・プロセスごとに1つまたは複数のトランザクション
・メッセージ制御機構(Tパイプ)を含む。各トランザ
クション・メッセージ制御機構は、オブジェクトを識別
する名前を含む名前付き処理オブジェクトを含む。トラ
ンザクション・メッセージ制御機構は、サーバ・プロセ
スとクライアント・プロセスの間で、両方向のトランザ
クション・メッセージの流れを提供する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、トランザクション処理
に関し、より詳細には、クライアント・プロセスが、ク
ライアント・プロセスとサーバ・プロセスとの間の両方
向トランザクション・メッセージ・トラフィックを制御
する機構をサーバ・プロセスにおいて作成する、クライ
アント/サーバ型のトランザクション処理システムに関
する。
【0002】
【従来の技術】トランザクションは、C.J.デイト
(C. J. Date)著"INTRODUCTION TO DATABASE SYSTEM
S"、Vol.1(Addison-Wesley、1985年9月)で、論
理作業単位として定義されている。上記論文は特に、デ
ータベース・コンテキストにおけるトランザクション
が、データベースをある整合状態から別の整合状態に変
換する一連の動作からなることを教示している。トラン
ザクション処理システムは、トランザクションがデータ
ベースの新しい整合状態への変換を完了し、あるいはデ
ータベースをトランザクションが開始した整合状態に戻
すことを保証する。
【0003】分散システムでトランザクション処理を実
施するために特に役立つアーキテクチャは、H.M.デ
イテル(H. M. Deitel)著"OPERATING SYSTEMS"(Addis
on-Wesley,1990)に記載されたクライアント/サーバ・
モデルである。このモデルにおいて、クライアントはク
ライアント・プロセスの形のサービス消費者を表し、サ
ーバはサービスを提供するプロセスである。複数のユー
ザにトランザクション・ベースのアクセスを提供する代
表的なデータベース・システムにおいては、ユーザはク
ライアント・プロセスを通じてデータベース要求を入力
する。クライアント・プロセスは、データベース管理シ
ステムの形のサーバ・プロセスに、所定のトランザクシ
ョン・プロトコルに従ってユーザの要求を処理すること
を約束する。
【0004】クライアント・プロセスおよびサーバ・プ
ロセスから見ると、トランザクションは「オブジェク
ト」と見なすことができる。トランザクションは、オブ
ジェクトとして、ユーザ要求を満たすために必要な手順
とデータを含む。トランザクションは、オブジェクトと
して、クライアントとサーバによって直接操作できる。
トランザクション・オブジェクトを処理する好ましい方
式は、特定の操作タイプを指定するメッセージによるも
のである。これに関して、データベースからレコードを
読み取ることを求めるユーザ要求は、トランザクション
がデータベースを読み取ることを指定し、読取りを行う
場所や読み取るレコードなどを確定するパラメータを提
供することによってトランザクションを操作することが
できる。トランザクションは、操作の結果を含む応答メ
ッセージを戻すことによって操作結果を報告する。
【0005】一般にオブジェクトは、「名前」と呼ばれ
るデータ構造によって記述される。オブジェクト指向プ
ログラミングの現在の技法は、「名前付き処理オブジェ
クト」を、名前を有し1つまたは複数の手順を含むオブ
ジェクトとして認識する。
【0006】トランザクション・メッセージは、ソース
と宛先を暗示する。IBM社から入手可能なIMSプロ
ダクトなどの現行のデータベース管理システムは、論理
端末(LTERM)を使用してこれらの終端を区別す
る。LTERMは、IMSプロダクトからのトランザク
ション出力が入る待ち行列を提供する。最終的には、I
MSプロダクトが、待ち行列と待ち行列に入れられた出
力を受け取る物理ノードとの間の接続を行う。IMSプ
ロダクトは、クライアント/サーバ・モデルにおいてサ
ーバ・プロセスと見なされる。そのようなデータベース
・システムは、クライアント・プロセスに、トランザク
ション・メッセージのソースと宛先を指定することによ
ってトランザクション・メッセージの流れを制御する機
構を提供しない。
【0007】別の点から見ると、IMSプロダクトのL
TERM能力は、サーバのみによって操作できる単一方
向(サーバ−クライアント)パイプラインを提供する。
これに関して、LTERMは、UNIX[R]システムで
使用されるパイプ構造を提案する。パイプは、名前によ
ってオブジェクト化することができる。それらのパイプ
は、プロセス間で単一方向のFIFOデータ転送を提供
し、プロセス間同期能力を含んでいる。クライアント・
プロセスとサーバ・プロセスの間で逆の方向に向いた2
本のパイプは、両方向のメッセージ流れを提供できる
が、2つの処理オブジェクトを必要とし、そのうちの一
方だけをクライアント・プロセスが操作できる。
【0008】
【発明が解決しようとする課題】明らかに、サーバがト
ランザクション・メッセージの処理に費やさなくてはな
らない時間が多くなるほど、トランザクションを処理す
る際の効率は低下する。したがって、クライアント/サ
ーバ型のトランザクション・ベース・システムにおい
て、任意のクライアント・プロセスが、トランザクショ
ンをオブジェクト化し、両方向メッセージ・パイプライ
ンにおけるメッセージによってトランザクション・オブ
ジェクトを操作できるようにする機構を提供する必要が
ある。
【0009】
【課題を解決するための手段】本発明は、クライアント
・プロセスによってオブジェクトとして操作できる機構
を提供し、もってクライアント・プロセスとサーバ・プ
ロセスの間で両方向のトランザクション・メッセージ・
トラフィックを制御する。本発明により、クライアント
・プロセスが、その機構をサーバ・プロセスにおけるオ
ブジェクトとして指名できるようになる。名前付きオブ
ジェクト(「Tパイプ」とも呼ばれる)は、サーバ・プ
ロセスでトランザクション要求メッセージとトランザク
ション出力メッセージとを受け取り、そのトランザクシ
ョン出力メッセージを最終宛先に関連づける機能を含ん
でいる。したがって、トランザクション出力とその宛先
の関連付けは、サーバ・プロセスによって行われず、ク
ライアント・プロセスに任せられる。
【0010】本発明は、サーバ・プロセスとクライアン
ト・プロセスの間でトランザクション・メッセージの両
方向転送のための、機構および手順として実施される。
【0011】
【実施例】本発明は、クライアント/サーバ型のトラン
ザクション処理システムに関する。そのようなシステム
の典型的な実施例を図1に示す。図1において、中央演
算処理装置12は、たとえばIBM社から入手可能な3
090/MVSプロダクトを含んでいる。サーバ・プロ
セス14は、中央演算処理装置12内で実行される。好
ましい実施例においては、サーバ・プロセスは、IBM
社から入手可能なIMSプロダクトなどのデータベース
管理システムを含んでいる。サーバ・プロセスは、通信
機構16によって、クライアント・プロセス19を実行
する周辺処理装置18に結合されている。他の周辺装置
20、21が、ノード24によって通信機構16に結合
されていることもある。サーバ・プロセス14およびク
ライアント・プロセス19はそれぞれ、プロセス間の情
報の転送を支援するために適切な通信プロトコルを実施
する通信インターフェ−ス25と26を含んでいる。ま
た、このようなアーキテクチャが、任意のクライント・
プロセスとサーバ・プロセス14の間の通信を特徴付け
る(本発明において、クラインアント・プロセスは、事
実上どんなトランザクション処理システム位置でも実行
することができる。したがって、クライアント・プロセ
スは、周辺装置18、20、21、たとえば24のよう
なノード、あるいは中央演算処理装置12内に位置する
ことができる)。
【0012】サーバ・プロセス14は、データベース2
7、28など1つまたは複数のデータベースにアクセス
する能力をクライアント・プロセスに与えるトランザク
ション処理を支援する。サーバ・プロセスは、少なくと
もトランザクション・マネージャ31とデータベース・
マネージャ32とを有するデータベース管理システム
(DBMS)29を含んでいる。1つまたは複数のアプ
リケーション・プロセス33と34が、データベース・
アクセスを求めるユーザ要求を支援するために実行され
る。すなわち、ユーザのアクセス要求が周辺処理装置1
8に入力された場合、クライアント・プロセス19が実
行され、ユーザから要求されたアクセスを実施するため
にトランザクション要求を準備する。トランザクション
要求は、メッセージを介して中央演算処理装置12に送
られ、サーバ・プロセス14に転送される。トランザク
ション要求は、入力待ち行列35を介してトランザクシ
ョン・マネージャ31に渡される。トランザクション・
マネージャは、トランザクション要求を評価し、アプリ
ケーション33、34の一方によってその要求を実行す
るように、トランザクション処理をディスパッチする。
トランザクション要求の出力は、待ち行列36に入れら
れ、通信インターフェ−ス25と通信機構16を介し
て、それぞれの要求クライアント・プロセスに渡され
る。
【0013】当業者には理解できるように、図1のクラ
イアント/サーバ・モデルは、たとえば、クライアント
・プロセスとサーバ・プロセスを相互接続するネットワ
ークを含む構造化通信機構を組み込んでいる点でアプリ
ケーション固有のものであるが、本発明は、そのような
構造に限定されるものではなく、特定の通信制御機構を
意図するものでもない。プロセスがどこに位置しようと
も、本発明は本質的に、クライアント・プロセスとサー
バ・プロセスとの間のメッセージ・トラフィックの制御
に関する。
【0014】図2に、本発明を、本質的に複数のクライ
アント・プロセスのうちの1つのクライアント・プロセ
ス40とサーバ・プロセス42という文脈中で示す。ク
ライアント・プロセス40はユーザ要求を受け取り、そ
のユーザ要求をトランザクション要求メッセージに構造
化してサーバ・プロセス42に提供する。クライアント
・プロセス40およびサーバ・プロセス42は、実施要
件に従って選択されるトランザクション・プロトコルに
従って、トランザクション処理を実施する。
【0015】本発明は、1つまたは複数のトランザクシ
ョン・メッセージ制御機構(Tパイプ)を通じてトラン
ザクション・メッセージ・トラフィックを制御する能力
をクライアント・プロセス40に与える。Tパイプは、
サーバ・プロセス42にある名前付き処理オブジェクト
である。各Tパイプのデータ構造は、関連する待ち行列
(PIQ)を有する入力プロセス(PI)、関連する待
ち行列(POQ)を有する出力プロセス(PO)、およ
びトランザクションを処理するために作成されディスパ
ッチされる動的に作成された(実行後削除される)一連
のトランザクション・プロセス(Tプロセス)を有す
る。すなわち、各Tパイプは、クライアント・プロセス
40とサーバ・プロセス42の間のインターフェース中
で参照できる名前を有するデータ構造である。本発明の
Tパイプは、本質的にトランザクション・マネージャに
対応するサーバ・プロセス42の構成要素中に提供され
ることが企図されている。
【0016】図2において、サーバ・Tパイプ・プロセ
ス43は、ハッシュ構造44を使って、Tパイプの名前
(TパイプN)を含むデータ・フィールド46と入力プ
ロセス47と出力プロセス48とを有するTパイプ45
にアクセスする。入力プロセス47は、トランザクショ
ン・プロセス50などのトランザクション・プロセスを
ディスパッチする機能を含んでいる。入力プロセス47
によってディスパッチされる各トランザクション・プロ
セス50はそれぞれ、メッセージを分析し操作する能力
を有する。ディスパッチされたトランザクション・プロ
セスは、トランザクション要求を実行のためサーバ・プ
ロセスに転送する。これに関して、トランザクション・
プロセス50は、トランザクションを実行する処理を提
供し、たとえば入力待ち行列55と出力待ち行列56を
介しトランザクション・プロセス50とトランザクショ
ン・データを交換する、アプリケーション52などのア
プリケーションを決定するための論理を含んでいる。ま
た、トランザクション・プロセスは、トランザクション
出力とメッセージによる応答をクライアント・プロセス
に通信する能力を有する。
【0017】動作に際しては、クライアント・プロセス
40は、ユーザ要求に応答して、複数のフィールドを有
するメッセージ58を組み立てる。第1のメッセージ・
フィールド59において、メッセージがトランザクショ
ン・メッセージとして示される。フィールド60におい
ては、メッセージ58を受け取って処理すべきTパイプ
の名前が指定される。名前付きTパイプ用の動作モード
を示すモード・フィールド61がそのメッセージ内に提
供される。経路指定情報を含むフィールド63がメッセ
ージ58に含まれ、したがって、トランザクション出力
を発信クライアント・プロセスに経路指定することがで
きる。
【0018】メッセージ・フィールド60がTパイプN
を指定すると仮定する。サーバのTパイプ・プロセス・
マネージャ43が、メッセージ58をTタイプNの入力
プロセス47に送る。入力プロセス47は、フィールド
59におけるトランザクションのタイプを識別し、フィ
ールド61に応答してTパイプの動作モードを決定し、
モード・フラグ64をセットし、要求されたトランザク
ションを実行するためにトランザクション・プロセス5
0をディスパッチする。トランザクション・プロセス5
0をディスパッチする際、入力プロセス47は、トラン
ザクションのタイプとそのトランザクションの実行を制
御するために必要なすべてのデータをトランザクション
・プロセスに渡し、クライアント・プロセス40を識別
する。トランザクション・プロセス50は、名前付き処
理オブジェクト45の一部分なので、トランザクション
・プロセス50は、TパイプN内のプロセスにそのアク
ティビティを参照付ける。トランザクションが完了する
と、トランザクション・プロセスはモード・フラグ64
を検査する。モード・フラグ64のある設定に従って、
トランザクション・プロセスはメッセージを構築し、そ
のメッセージが、入力プロセス47によってディスパッ
チされる他のトランザクション・プロセスに対して非同
期にクライアント・プロセスに戻される。別の設定モー
ドに従って、トランザクション・プロセス50は、出力
プロセス48の制御下でクライアント・プロセスにトラ
ンザクション応答を戻す。出力プロセス48は、入力プ
ロセス47によってディスパッチされたすべてのトラン
ザクション・プロセスの間でトランザクション出力を同
期させる。
【0019】本発明によれば、クライアント・プロセス
40によって命名されたTパイプはすべて、その排他的
使用のために予約される。さらに、クライアント・プロ
セスは、トランザクション・メッセージ処理の特定の様
式を支援する様々なトランザクション・メッセージ制御
モードを提供するために、複数のTパイプに名前を付け
ることができる。たとえば、クライアント・プロセス
が、回復可能なメッセージ処理のためにTパイプYを予
約することができるとすると、このTパイプYは、同期
動作モードにセットされ、それによりTパイプYの出力
プロセスの制御下でトランザクション出力が提供される
ようになる。同じクライアント・プロセスが、メッセー
ジ回復を必要としないトランザクションで使用するため
に、TパイプXを非同期ではないモードにセットするこ
ともできる。
【0020】図3に、本発明に従ってクライアント・プ
ロセスとサーバ・プロセスの間で転送されるメッセージ
のフォーマットを示す。各メッセージは、その連続する
セクションに、メッセージ制御情報、トランザクション
状態データ、およびアプリケーション・プロセス・デー
タ用のフィールドを含む複数フィールド構造を含んでい
る。
【0021】メッセージ制御情報セクションは、メッセ
ージ・タイプ・フィールドとTパイプ名前フィールドを
含んでいる。メッセージ・タイプ・フィールドは、トラ
ンザクション入力であることをサーバ・プロセスに示す
ために使用される。Tパイプ名前フィールドは、サーバ
・プロセスにおいてメッセージを制御すべきTパイプを
指名する。状態データ・セクション内の同期フィールド
は、名前付きTパイプにおいてモード・フラグをセット
するために使用される。そのモードはコミット・モード
と呼ぶことが好ましく、コミット・モード0は、クライ
アント・プロセスに送られる前にトランザクション応答
をサーバ・プロセスでコミットすべきことを示す。コミ
ット・モード1では、サーバ・プロセスでコミットされ
る前に、トランザクション応答をクライアント・プロセ
スに送ることができる。また、状態データ・セクション
は、メッセージの発信元と宛先を示すトークン・フィー
ルドを提供する。アプリケーション・データ・セクショ
ンは実行すべきトランザクションを指名し、トランザク
ションの実行のために使用すべきアプリケーション・プ
ロセスを暗示する。また、このセクションは、トランザ
クションを開始するために必要なすべてのデータを提供
する。
【0022】次に、図2と図4および表Iないし表III
を参照して、コミット・モード1における本発明の動作
を説明する。表Iないし表IIIは、それぞれサーバのT
パイプ・プロセス43、Tパイプ入力プロセス(P
I)、トランザクション・プロセス(Tプロセス)用の
論理の疑似コードによる記述である。コミット・モード
1用の動作モードを、非同期Tパイプと呼ぶ。非同期T
パイプ動作モードでは、すべてのTプロセスが、クライ
アント・プロセスへのトランザクション応答メッセージ
の送信を制御する。したがって、出力プロセス(PO)
は使用されない。非同期Tパイプを通るトランザクショ
ンおよび出力の流れを、図4に示す。非同期動作の順序
および説明は、以下のとおりである。
【0023】1.クライアント40が、サーバ・プロセ
ス42に入力としてトランザクションX用のトランザク
ション・メッセージを送る。
【0024】2.トランザクション・メッセージが、表
Iにその論理を記述したサーバのTパイプ・プロセス4
3によって検査される。Tパイプ・プロセス43は、メ
ッセージ中にTパイプの名前があることを確認し、ハッ
シュ表44を調べて、Tパイプがクライアント・プロセ
ス40のために命名されたものであるかどうかを判定す
る。表中に名前がない場合は、Tパイプが作成され、そ
の名前がクライアント・プロセス40のためにハッシュ
表44に加えられる。次に、トランザクション・メッセ
ージが入力プロセス("PI")に待ち行列として入れら
れ、実行のためにPIがスケジューリングされる。Tパ
イプが作成された後は、そのTパイプは、サーバ・プロ
セスの存続期間中、ハッシュ表44によって、その作成
の対象であったクライアントにリンクされたままにな
る。
【0025】3.PIは、その待ち行列からトランザク
ション・メッセージを取り出し、トランザクションX用
のTプロセス(「TプロセスX」)を動的に作成する。
【0026】4.トランザクションX用のTプロセスX
が、トランザクションを処理するためPIによってディ
スパッチされる。
【0027】5.TプロセスXが、トランザクション
を、待ち行列55に入っている名前付きアプリケーショ
ン52に提示する。
【0028】6.次に、アプリケーション52が、その
出力待ち行列56を介して、トランザクション出力メッ
セージをTプロセスXに提供する。
【0029】7.次に、TプロセスXが、クライアント
・プロセス40に戻すために必要なとき、トランザクシ
ョン出力メッセージを取り出してそれを処理する。
【0030】8.次に、TプロセスXは、トランザクシ
ョン出力メッセージをクライアント・プロセス40に送
る。トランザクションX用に2つ以上の出力メッセージ
が必要な場合は、クライアント・プロセスに送るため
に、出力メッセージがTプロセスXで待ち行列に入れら
れる。クライアントがメッセージを肯定応答すると仮定
すると、トランザクションX用の全トランザクション出
力メッセージがクライアントによって肯定応答されたと
き、TプロセスXが削除される。
【0031】図5に、コミット・モード0で動作する同
期Tパイプでのメッセージの流れを示す。これに関し
て、本発明では、クライアント・プロセスまたはサーバ
・プロセスのどちらかが異常終了する場合に処理を再同
期化するために同期Tパイプが必要となることを企図し
ている。
【0032】たとえば、クライアント・プロセスが、ト
ランザクション要求メッセージを肯定応答要求と共にサ
ーバ・プロセスに送るというシナリオを考えてみる。ト
ランザクション・プロトコルが、クライアント・プロセ
スに肯定応答を送る前に、要求されたトランザクション
のログをとりそれを待ち行列に入れることをサーバに要
求すると仮定する。肯定応答が送られる前にサーバ・プ
ロセスがクラッシュした場合、クライアント・プロセス
とサーバ・プロセスは共に、たとえば順序番号の交換に
よって再同期化する必要がある。再同期の場合、クライ
アント・プロセスはトランザクションがサーバ・プロセ
スによって受け取られなかったと仮定し、その場合、ク
ライアント・プロセスがトランザクションを再度送ろう
とする。トランザクションがサーバ・プロセスで再度待
ち行列に入れられる場合、その結果として、ある口座に
同じ借方を2度記入するような容認できない状態になる
ことがある。これを回避するため、サーバ・プロセス
は、再同期中にそのログに関して、トランザクションが
首尾よく受け取られたことをクライアント・プロセスに
通知する。この場合、クライアントは、その情報を肯定
応答として処理することになる。
【0033】前述のシナリオでは、再同期化を支援する
ために、クライアント・プロセスおよびサーバ・プロセ
スが、最後に送信されたメッセージのコピーと最後に受
信されたメッセージの記録とを維持する必要があること
になる。そのためには、前に送られたメッセージに対す
る肯定応答を受け取るまでメッセージが送られることが
ないように、サーバ・プロセスにおいてすべての送信動
作を適切に逐次化することが必要になる。それに関連し
て、送信されたメッセージおよび受信されたメッセージ
はすべて待ち行列に入れなければならない。これは、本
発明においては、同期動作モードで、すべての出力メッ
セージに出力プロセスを通過させることにより達成され
る。
【0034】同期Tパイプでは、出力プロセス(PO)
によって制御される出力待ち行列(POQ)が使用され
る。同期モードのTパイプにおいてトランザクション出
力メッセージを有するどのTプロセスも、出力プロセス
からの許可を待つ。出力プロセスがあるTプロセスに許
可を与えたとき、そのTプロセスだけが、トランザクシ
ョン出力メッセージをクライアント・プロセスに送るこ
とを許される。
【0035】同期Tパイプを通るトランザクションと出
力の流れを図5に示し、以下に説明する。
【0036】1.サーバのTパイプ・プロセスが、トラ
ンザクションXを含むトランザクション要求メッセージ
を受け取る。
【0037】2.Tパイプ・プロセスは、TパイプAが
そのトランザクションのために命名されており、そのオ
ブジェクトを位置決めしようと試みていることに気付
く。見つからなかった場合は、そのオブジェクトが動的
に作成され、要求クライアント・プロセス用のハッシュ
表44内に入れられ、サーバ・プロセスの存続期間中そ
こに留まる。
【0038】3.入力プロセスPIがトランザクション
要求メッセージを取り出し、トランザクションX用のT
プロセスを動的に作成する。このTプロセスは、Tプロ
セスXと呼ばれる。
【0039】4.TプロセスXが作成され、トランザク
ションXを処理するためにPIによってディスパッチさ
れる。
【0040】5.TプロセスXが、そのトランザクショ
ンをアプリケーション・プロセスに提示し、そのトラン
ザクションがそこで待ち行列に入れられることもある。
【0041】6.次に、アプリケーション・プロセス
が、TプロセスXへのトランザクション応答メッセージ
における出力を提供する。
【0042】7.TプロセスXは、関係通信プロトコル
によって要求されるとき、トランザクション応答メッセ
ージを取り出しそれをフォーマットする。
【0043】8.TプロセスXが、要求トークンをPO
Qの待ち行列に入れる。
【0044】9.TパイプA用のPOが、TプロセスX
に許可を戻す。このとき、TプロセスXは、メッセージ
をクライアント・プロセスに送ることができるTパイプ
A用の唯一のTプロセスである。
【0045】10.TプロセスXが、トランザクション
出力メッセージをクライアント・プロセスに送り、メッ
セージ伝送が完了したときTパイプA用のPOに通知す
る。このとき、TパイプA用のPOは、別のTプロセス
に許可を与えてトランザクション出力メッセージの送信
を開始させることができる。トランザクションX用のト
ランザクション出力メッセージがすべて送信されると、
TプロセスXは削除される。
【0046】以下の表は、図4と図5に示した構成要素
に関する論理の疑似コードによる記述である。表Iは、
トランザクション要求メッセージを受け取り、Tパイプ
の識別を確認し、そしてクライアント・プロセスのトラ
ンザクション要求を含むメッセージを適切なTパイプに
送るサーバのTプロセスを示したものである。
【0047】表IIは、Tパイプ入力プロセス(PI)用
の論理を示したものである。この論理では、同期動作モ
ードでクライアント・プロセスからの肯定応答(Ac
k)を識別する能力が暗示されている。表IIを見ると明
らかなように、同期動作モードの出力プロセス(PO)
は、Tプロセスが出力メッセージを送り肯定応答を待っ
ているときに信号を送る。この論理はまた、クライアン
ト・プロセスのためのトランザクション要求にサービス
する必要があるとき、PIがTプロセスを作成し変更す
ることができることを示している。
【0048】表IIIは、非同期動作用のTプロセスの論
理を示したものである。この論理は、出力メッセージの
肯定応答によって、Tプロセスを、出力メッセージを受
信するためにアプリケーション・プロセスと同期させ、
クライアント・プロセスと同期させる。
【0049】表IVは、Tプロセスによって出力され要求
されなければならない出力サービスとして機能するTパ
イプ出力プロセス(PO)の論理を示したものである。
【0050】表Vは、同期TパイプにおけるTプロセス
用の論理を示したものである。同期Tパイプにおいて、
Tプロセスは、PIからトランザクションを受け取った
ときそのトランザクションのログをとり、あるトランザ
クションのために生成されたすべての出力メッセージに
関するPOの排他的サービスを保持し、すべての出力メ
ッセージのログをとる。
【0051】図6に、本発明の最良の動作モードを組み
込んだ工業用応用例を示す。この応用例においては、3
090/MVSシステムの形のメインフレーム・コンピ
ュータ80が、通常通りアプリケーション83と84に
結合されたIMSデータベース・アクセス・システム8
2を実行する。IMSシステム82はサーバ・プロセス
として動作し、本発明のTパイプ論理を組み込んでい
る。IMSシステム82は、MVS XCFプロセス間
通信機構89を介してIMSシステム82と通信するア
ダプタ86と87の形のクライアント・プロセスにサー
ビスを提供するサーバ・プロセスである。MVS XC
Fは、IBM社から入手可能であり、たとえば、同社か
ら刊行された"Application Development Guide(AD
G):Authorized Assembler Language Program"(資料
番号GC28−1645)に記載されている。アダプタ
86と87はそれぞれ1つまたは複数のプロセッサ90
〜93に接続され、ユーザに、IMSシステム82を介
して1つまたは複数のデータベースにアクセスする能力
を与える。そのようなプロセスは、端末装置などの遠隔
処理位置にあってもよく、またサーバ・プロセスと同じ
プロセッサ内にあってもよい。
【0052】表I (図2のサーバTパイプ・プロセス43用の疑似コー
ド) クライアントのトランザクションを受け取る(XCFま
たは他の任意の移送機構を介して)。 トランザクション中でTパイプの名前が指定されている
ことを確認する。 Tパイプのハッシュ表中でTパイプの名前を探し出す。 IfTパイプが存在しない場合 thenTパイプを作成しそれをTパイプのハッシュ表に加
える。 Endif トランザクションをTパイプのPIプロセスの待ち行列
に入れ、実行のためPIをスケジューリングする。 別のトランザクションを待つ。
【0053】表II (図2の入力プロセス47用の疑似コード) データを入力待ち行列(PIQ)上で受け取る。 Ifデータがトランザクションである場合、 If同期Tパイプの場合、then IfPOが肯定応答を待っている場合、then トランザクションを拒否する。 WAIT論理に進む。 Endif Endif トランザクション用のTプロセスを作成し、それをTパ
イプ用の既存のTプロセスのリストに連鎖する。 実行のためTプロセスをスケジューリングする。 Elseifデータがクライアントからの肯定応答(ACK)
である場合、then If同期Tパイプの場合、then IfPOが肯定応答を待っていない場合、then 肯定応答を拒否する。 WAIT論理に進む。 Else 予期した肯定応答が到着したことをPOに通知する。 これにより、POが覚醒し稼働するようになる。 WAIT論理に進む。 Endif Endif 肯定応答を待っているTプロセスを探し出し、そのTプ
ロセスが予期した肯定応答が到着したことをそのTプロ
セスに通知する。 これにより、Tプロセスが覚醒し稼働するようになる。 Elseifデータがコマンドである場合、then そのコマンドを処理する。 Else そのデータを拒否する。 Endif PIQ上で次のデータをWAITする。
【0054】表III (非同期モードにおけるTプロセス用の疑似コード) 初期処理:PIからトランザクション・メッセージを受
け取った。 トランザクションをサーバ・アプリケーションの待ち行
列に入れる。 LOOP:通知を待つ。 通知により覚醒する。PIが肯定応答を与えているか、
またはサーバ・アプリケーションが出力メッセージを与
えている。 If通知が肯定応答に関するものである場合、 If別の出力メッセージが待ち行列に入っている場合、th
en 出力メッセージをクライアントに送る。 Elseif出力メッセージがもう期待できない場合、then プロセスを削除する。 Endif Elseif通知がアプリケーション出力メッセージに関する
ものである場合、thenその出力メッセージをクライアン
トに送る。 Endif LOOPに進み肯定応答を待つ。
【0055】表IV (同期モードにおける出力プロセス(PO)用の疑似コ
ード) POQ待ち行列上でTプロセスXの要求を受け取る。 TプロセスXに制御を譲るものとPOにマークする。 TプロセスXが現在出力処理の制御下にあることをTプ
ロセスXに通知する。これにより、Xが稼働するように
なる。 Main Wait IfTプロセスがPOの制御を放棄する場合、then POQ上の次の要求を獲得し、最初に戻る。 ElseifPIがすでにPOに肯定応答を与えた場合、then 肯定応答をそれ以上待たないものとTプロセスにマーク
する。 Tプロセスの肯定応答がすでに到着していることをTプ
ロセスに通知する。 Main Waitに進む。 Endif
【0056】表V (同期モードにおけるTプロセス用の疑似コード) 初期処理:PIからトランザクションを受け取った。 トランザクションのログをとる。ログ・レコード中にク
ライアントのトランザクション順序番号を含める。 トランザクションをサーバ・アプリケーションの待ち行
列に入れる。 LOOP:通知を待つ。 通知により覚醒する。PIが肯定応答を与えているか、
またはサーバ・アプリケーションが出力メッセージを与
えている(他の出力メッセージ処理が行われていないと
き、すなわち、出力メッセージ処理が進行中である場合
は、アプリケーションはメッセージをTプロセスの待ち
行列に入れるだけである)。 If通知が肯定応答に関するものである場合、then If別の出力メッセージが待ち行列に入っている場合、th
en 出力メッセージをクライアントに送る。 Elseif出力メッセージをそれ以上期待できない場合、th
en 出力処理の制御を放棄するようPOに通知する。 プロセスを削除する。 Endif Elseif通知がアプリケーション出力メッセージに関する
ものである場合、thenPO制御要求をPOQの待ち行列
に入れ、POがこの制御を与えるのを待つ。 Tパイプの出力順序番号で出力メッセージのログをと
る。 出力メッセージをクライアントに送る。 クライアントが現在肯定応答を待っていることをPO中
で示す。 Endif LOOPに進んで肯定応答を待つ。
【0057】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0058】(1)複数のクライアント・プロセスと、
該複数のクライアント・プロセスに結合され、クライア
ントが開始したトランザクションを実行するサーバ・プ
ロセスとを含むトランザクション処理システムにおい
て、該サーバ・プロセスにおけるトランザクション・メ
ッセージを処理する装置であって、各クライアント・プ
ロセスからの、各クライアント・プロセスを識別するフ
ィールドと名前付き処理オブジェクトを識別する名前と
を含むトランザクション要求メッセージに応答して、名
前付き処理オブジェクトを作成する手段と、各クライア
ント・プロセスから、対応する名前付き処理オブジェク
トを識別する名前を含むすべてのトランザクション要求
メッセージを受け取るための、名前付き処理オブジェク
トに含まれる入力プロセス手段と、トランザクション手
段に結合され、トランザクション要求メッセージによっ
て要求されたトランザクションを処理するため、トラン
ザクション・プロセスを作成してディスパッチし、ディ
スパッチされたトランザクション・プロセスにトランザ
クション要求メッセージを提供するための、前記入力プ
ロセス手段におけるディスパッチ手段とを含む装置。 (2)ディスパッチ・プロセスによってディスパッチさ
れたトランザクション・プロセスが、トランザクション
出力メッセージを各クライアント・プロセスに提供す
る、上記(1)に記載の装置。 (3)名前付き処理オブジェクト内に含まれ、各クライ
アントに対するトランザクション出力メッセージの提供
を逐次化するための出力プロセス手段をさらに含む、上
記(2)に記載の装置。 (4)前記出力プロセス手段が、1つのトランザクショ
ン・プロセスが各クライアントにトランザクション出力
メッセージを提供するように制御するとともに、前記デ
ィスパッチ手段によってディスパッチされた残りのすべ
てのトランザクション・プロセスがトランザクション出
力メッセージを提供しないように制御する、上記(3)
に記載の装置。 (5)前記出力プロセス手段が、トランザクション出力
メッセージを待ち行列に入れる手段を含む、上記(3)
に記載の装置。 (6)トランザクションの実行を求める要求と処理オブ
ジェクト名とを含むトランザクション要求メッセージを
生成する複数のクライアント・プロセス部と、複数のク
ライアント・プロセスからのトランザクション要求メッ
セージに含まれるトランザクション要求を実行するため
のサーバ・プロセス部と、複数のクライアント・プロセ
スとサーバ・プロセスとに結合され、クライアント・プ
ロセスのトランザクション要求メッセージをサーバ・プ
ロセスに提供し、トランザクション出力メッセージをク
ライアント・プロセスに提供するためのプロセス間メッ
セージ交換機構と、トランザクション要求メッセージに
含まれる処理オブジェクト名に従ってトランザクション
要求メッセージを経路指定するための、サーバ・プロセ
スに含まれる経路指定手段と、サーバ・プロセスに含ま
れる複数のトランザクション・メッセージ移送機構とを
含み、各トランザクション・メッセージ移送機構が、自
身を識別するオブジェクト名と各クライアント・プロセ
スの識別とを含む名前付き処理オブジェクトと、オブジ
ェクト名と各クライアント・プロセスの識別とを含むす
べてのトランザクション要求メッセージを受け取るため
の、名前付き処理オブジェクトにおける入力プロセス手
段と、トランザクション要求メッセージに応答して、そ
れぞれがトランザクション要求メッセージを受け取り、
実行のためにトランザクションを開始するトランザクシ
ョン・プロセスをディスパッチするための、前記入力プ
ロセス手段におけるディスパッチ手段とを含む、トラン
ザクション処理システム。 (7)ディスパッチ・プロセスによってディスパッチさ
れたトランザクション・メッセージ・プロセスがトラン
ザクション出力メッセージを提供する、上記(6)に記
載のシステム。 (8)名前付き処理オブジェクトがさらに、各クライア
ント・プロセスへのトランザクション出力メッセージの
提供を逐次化するための出力プロセス手段を含む、上記
(7)に記載の装置。 (9)前記出力プロセス手段が、1つのトランザクショ
ン・プロセスがトランザクション出力メッセージを提供
するように制御するとともに、前記ディスパッチ手段に
よってディスパッチされた残りのすべてのトランザクシ
ョン・プロセスがトランザクション出力メッセージを提
供しないように制御する、上記(8)に記載の装置。 (10)前記出力プロセス手段が、トランザクション出
力メッセージを待ち行列に入れる手段を含む、上記
(8)に記載の装置。 (11)複数のクライアント・プロセスと、該複数のク
ライアント・プロセスに結合され、クライアントが開始
したトランザクションを実行するサーバ・プロセスとを
含むトランザクション処理システムにおいて、トランザ
クション・メッセージを処理する方法であって、各クラ
イアント・プロセスから、各クライアント・プロセスを
識別するフィールドとオブジェクト名とを含むトランザ
クション要求メッセージをサーバ・プロセスに送る段階
と、サーバ・プロセスにおいて、トランザクション要求
メッセージに応答し、オブジェクト名を含み各クライア
ント・プロセスを識別する名前付き処理オブジェクトを
作成する段階と、名前付き処理オブジェクトにおいて入
力プロセスを活動化する段階と、各クライアントから
の、対応するオブジェクト名を含むすべてのトランザク
ション要求メッセージを入力プロセスに提供する段階
と、入力プロセスが受け取った各トランザクション要求
メッセージごとに、そのトランザクション要求メッセー
ジによって要求されたトランザクションを処理するため
のトランザクション・プロセスを、そのトランザクショ
ン要求メッセージをトランザクション・プロセスに提供
してディスパッチする段階とを含む方法。 (12)入力プロセスによってディスパッチされたトラ
ンザクション・プロセスが、トランザクション出力メッ
セージを各クライアント・プロセスに提供する、上記
(11)に記載の方法。 (13)名前付き処理オブジェクトにおいて出力プロセ
スを活動化する段階と、出力プロセスが、各クライアン
トへのトランザクション出力メッセージの提供を逐次化
する段階とをさらに含む、上記(11)に記載の方法。 (14)前記逐次化段階が、1つのトランザクション・
プロセスが各クライアント・プロセスにトランザクショ
ン出力メッセージを提供するよう制御するとともに、入
力手段によってディスパッチされた残りのすべてのトラ
ンザクション・プロセスが、トランザクション出力メッ
セージを各クライアント・プロセスに提供しないように
制御する、上記(13)に記載の方法。 (15)前記逐次化段階が、トランザクション出力メッ
セージを待ち行列に入れる段階を含む、上記(13)に
記載の方法。 (16)複数のクライアント・プロセスと、サーバ・プ
ロセスと、複数のクライアント・プロセスとサーバ・プ
ロセスとに結合されたメッセージ交換機構と、サーバ・
プロセスにおける複数のトランザクション・メッセージ
移送機構とを含むトランザクション処理システムにおい
て、トランザクション・メッセージを処理する方法であ
って、各トランザクション・メッセージ移送機構が、ト
ランザクション・メッセージ移送機構を識別するオブジ
ェクト名と各クライアント・プロセスの識別とを含む名
前付き処理オブジェクトと、該名前付き処理オブジェク
トに含まれる入力プロセスと、該入力プロセスに含まれ
るプロセスをディスパッチする手段とを具備し、複数の
クライアント・プロセスにおいて、それぞれが所定のト
ランザクションの実行を求める要求と、オブジェクト名
と、発信クライアント・プロセスの識別とを含む、トラ
ンザクション要求メッセージを生成する段階と、トラン
ザクション要求メッセージを、クライアント・プロセス
からサーバ・プロセスへメッセージ交換機構を介して提
供する段階と、サーバ・プロセスにおいて、トランザク
ション要求メッセージを、そのメッセージに含まれる名
前と発信クライアント・プロセスを識別するフィールド
とを含む名前付き処理オブジェクトにリンクされた各ト
ランザクション・メッセージ移送機構へ経路指定する段
階と、各トランザクション・メッセージ移送機構におい
て、トランザクション要求メッセージ内の要求を実行す
るために対応するトランザクション・プロセスをディス
パッチする段階とを含むことを特徴とする方法。 (17)トランザクション・メッセージ移送機構によっ
てディスパッチされたトランザクション・プロセスが、
トランザクション出力メッセージを提供する、上記(1
6)に記載の方法。 (18)前記各トランザクション・メッセージ移送機構
がさらに、名前付き処理オブジェクト内に出力プロセス
を含み、前記各トランザクション・メッセージ移送機構
において、該出力プロセスが各クラインアント・プロセ
スへのトランザクション出力メッセージの提供を逐次化
する段階を含む、上記(17)に記載の方法。 (19)前記逐次化段階が、1つのトランザクション・
プロセスがトランザクション出力メッセージを提供する
ように制御するとともに、各トランザクション・メッセ
ージ移送機構によってディスパッチされた残りのすべて
のトランザクション・プロセスがトランザクション出力
メッセージを提供しないように制御する段階を含む、上
記(18)に記載の装置。 (20)前記逐次化段階が、トランザクション出力メッ
セージを待ち行列に入れる段階を含む、上記(18)に
記載の装置。
【0059】
【発明の効果】本発明により、同じTパイプを多数のト
ランザクション出力が同時に流れることができるという
点で、クライアント/サーバ・モデルのトランザクショ
ン処理システムに柔軟性が与えられる。
【0060】本発明により、クライアント・プロセスが
複数のTパイプを作成できるようになり、それにより、
たとえば、フロー制御および同期の差異のために自然に
生じるトランザクション間の区別を行うことができるよ
うになる。
【0061】本発明により、サーバ・プロセスが、トラ
ンザクション出力を最終ユーザに結合する責任を解除さ
れ、その処理負担の軽減がはかられる。
【0062】本発明により、提示されたトランザクショ
ンの出力に対する制御権がクライアント・プロセスに提
供される。
【図面の簡単な説明】
【図1】トランザクション・ベースのクライアント/サ
ーバ・データベース・システムのブロック図である。
【図2】本発明を代表的な動作環境において示すブロッ
ク図である。
【図3】トランザクション・メッセージの構造を示す図
である。
【図4】第1のモードによる本発明の動作を示すブロッ
ク図と流れ図の複合図である。
【図5】第2のモードによる本発明の動作を示すブロッ
ク図と流れ図の複合図である。
【図6】本発明の最良の動作モードを示す図である。
【符号の説明】
40 クライアント・プロセス 42 サーバ・プロセス 43 サーバTパイプ・プロセス 45 Tパイプ 47 入力プロセス 48 出力プロセス 50 トランザクション・プロセス 52 アプリケーション・プロセス 55 入力待ち行列 56 出力待ち行列 58 メッセージ 59 メッセージ・フィールド 60 フィールド 61 モード・フィールド 63 フィールド 64 モード・フラグ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 トマス・クラーク・モリソン アメリカ合衆国95133 カリフォルニア州 サンノゼ ソールト・レーク・ドライブ 899 (72)発明者 ホアン・ミン・グエン アメリカ合衆国95111 カリフォルニア州 サンノゼ ウォー・アドミラル・アベニュ ー 522 (72)発明者 ハリー・オットー・ラドケ アメリカ合衆国95139 カリフォルニア州 サンノゼ チェルテンハム・ウェイ 16

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】複数のクライアント・プロセスと、該複数
    のクライアント・プロセスに結合され、クライアントが
    開始したトランザクションを実行するサーバ・プロセス
    とを含むトランザクション処理システムにおいて、該サ
    ーバ・プロセスにおけるトランザクション・メッセージ
    を処理する装置であって、 各クライアント・プロセスからの、各クライアント・プ
    ロセスを識別するフィールドと名前付き処理オブジェク
    トを識別する名前とを含むトランザクション要求メッセ
    ージに応答して、名前付き処理オブジェクトを作成する
    手段と、 各クライアント・プロセスから、対応する名前付き処理
    オブジェクトを識別する名前を含むすべてのトランザク
    ション要求メッセージを受け取るための、名前付き処理
    オブジェクトに含まれる入力プロセス手段と、 トランザクション手段に結合され、トランザクション要
    求メッセージによって要求されたトランザクションを処
    理するため、トランザクション・プロセスを作成してデ
    ィスパッチし、ディスパッチされたトランザクション・
    プロセスにトランザクション要求メッセージを提供する
    ための、前記入力プロセス手段におけるディスパッチ手
    段とを含む装置。
  2. 【請求項2】ディスパッチ・プロセスによってディスパ
    ッチされたトランザクション・プロセスが、トランザク
    ション出力メッセージを各クライアント・プロセスに提
    供する、請求項1に記載の装置。
  3. 【請求項3】名前付き処理オブジェクト内に含まれ、各
    クライアントに対するトランザクション出力メッセージ
    の提供を逐次化するための出力プロセス手段をさらに含
    む、請求項2に記載の装置。
  4. 【請求項4】前記出力プロセス手段が、1つのトランザ
    クション・プロセスが各クライアントにトランザクショ
    ン出力メッセージを提供するように制御するとともに、
    前記ディスパッチ手段によってディスパッチされた残り
    のすべてのトランザクション・プロセスがトランザクシ
    ョン出力メッセージを提供しないように制御する、請求
    項3に記載の装置。
  5. 【請求項5】前記出力プロセス手段が、トランザクショ
    ン出力メッセージを待ち行列に入れる手段を含む、請求
    項3に記載の装置。
  6. 【請求項6】トランザクションの実行を求める要求と処
    理オブジェクト名とを含むトランザクション要求メッセ
    ージを生成する複数のクライアント・プロセス部と、 複数のクライアント・プロセスからのトランザクション
    要求メッセージに含まれるトランザクション要求を実行
    するためのサーバ・プロセス部と、 複数のクライアント・プロセスとサーバ・プロセスとに
    結合され、クライアント・プロセスのトランザクション
    要求メッセージをサーバ・プロセスに提供し、トランザ
    クション出力メッセージをクライアント・プロセスに提
    供するためのプロセス間メッセージ交換機構と、 トランザクション要求メッセージに含まれる処理オブジ
    ェクト名に従ってトランザクション要求メッセージを経
    路指定するための、サーバ・プロセスに含まれる経路指
    定手段と、 サーバ・プロセスに含まれる複数のトランザクション・
    メッセージ移送機構とを含み、各トランザクション・メ
    ッセージ移送機構が、 自身を識別するオブジェクト名と各クライアント・プロ
    セスの識別とを含む名前付き処理オブジェクトと、 オブジェクト名と各クライアント・プロセスの識別とを
    含むすべてのトランザクション要求メッセージを受け取
    るための、名前付き処理オブジェクトにおける入力プロ
    セス手段と、 トランザクション要求メッセージに応答して、それぞれ
    がトランザクション要求メッセージを受け取り、実行の
    ためにトランザクションを開始するトランザクション・
    プロセスをディスパッチするための、前記入力プロセス
    手段におけるディスパッチ手段とを含む、トランザクシ
    ョン処理システム。
  7. 【請求項7】ディスパッチ・プロセスによってディスパ
    ッチされたトランザクション・メッセージ・プロセスが
    トランザクション出力メッセージを提供する、請求項6
    に記載のシステム。
  8. 【請求項8】名前付き処理オブジェクトがさらに、各ク
    ライアント・プロセスへのトランザクション出力メッセ
    ージの提供を逐次化するための出力プロセス手段を含
    む、請求項7に記載の装置。
  9. 【請求項9】前記出力プロセス手段が、1つのトランザ
    クション・プロセスがトランザクション出力メッセージ
    を提供するように制御するとともに、前記ディスパッチ
    手段によってディスパッチされた残りのすべてのトラン
    ザクション・プロセスがトランザクション出力メッセー
    ジを提供しないように制御する、請求項8に記載の装
    置。
  10. 【請求項10】前記出力プロセス手段が、トランザクシ
    ョン出力メッセージを待ち行列に入れる手段を含む、請
    求項8に記載の装置。
  11. 【請求項11】複数のクライアント・プロセスと、該複
    数のクライアント・プロセスに結合され、クライアント
    が開始したトランザクションを実行するサーバ・プロセ
    スとを含むトランザクション処理システムにおいて、ト
    ランザクション・メッセージを処理する方法であって、 各クライアント・プロセスから、各クライアント・プロ
    セスを識別するフィールドとオブジェクト名とを含むト
    ランザクション要求メッセージをサーバ・プロセスに送
    る段階と、 サーバ・プロセスにおいて、トランザクション要求メッ
    セージに応答し、オブジェクト名を含み各クライアント
    ・プロセスを識別する名前付き処理オブジェクトを作成
    する段階と、 名前付き処理オブジェクトにおいて入力プロセスを活動
    化する段階と、 各クライアントからの、対応するオブジェクト名を含む
    すべてのトランザクション要求メッセージを入力プロセ
    スに提供する段階と、 入力プロセスが受け取った各トランザクション要求メッ
    セージごとに、そのトランザクション要求メッセージに
    よって要求されたトランザクションを処理するためのト
    ランザクション・プロセスを、そのトランザクション要
    求メッセージをトランザクション・プロセスに提供して
    ディスパッチする段階とを含む方法。
  12. 【請求項12】入力プロセスによってディスパッチされ
    たトランザクション・プロセスが、トランザクション出
    力メッセージを各クライアント・プロセスに提供する、
    請求項11に記載の方法。
  13. 【請求項13】名前付き処理オブジェクトにおいて出力
    プロセスを活動化する段階と、 出力プロセスが、各クライアントへのトランザクション
    出力メッセージの提供を逐次化する段階とをさらに含
    む、請求項11に記載の方法。
  14. 【請求項14】前記逐次化段階が、1つのトランザクシ
    ョン・プロセスが各クライアント・プロセスにトランザ
    クション出力メッセージを提供するよう制御するととも
    に、入力手段によってディスパッチされた残りのすべて
    のトランザクション・プロセスが、トランザクション出
    力メッセージを各クライアント・プロセスに提供しない
    ように制御する、請求項13に記載の方法。
  15. 【請求項15】前記逐次化段階が、トランザクション出
    力メッセージを待ち行列に入れる段階を含む、請求項1
    3に記載の方法。
  16. 【請求項16】複数のクライアント・プロセスと、サー
    バ・プロセスと、複数のクライアント・プロセスとサー
    バ・プロセスとに結合されたメッセージ交換機構と、サ
    ーバ・プロセスにおける複数のトランザクション・メッ
    セージ移送機構とを含むトランザクション処理システム
    において、トランザクション・メッセージを処理する方
    法であって、各トランザクション・メッセージ移送機構
    が、 トランザクション・メッセージ移送機構を識別するオブ
    ジェクト名と各クライアント・プロセスの識別とを含む
    名前付き処理オブジェクトと、該名前付き処理オブジェ
    クトに含まれる入力プロセスと、該入力プロセスに含ま
    れるプロセスをディスパッチする手段とを具備し、 複数のクライアント・プロセスにおいて、それぞれが所
    定のトランザクションの実行を求める要求と、オブジェ
    クト名と、発信クライアント・プロセスの識別とを含
    む、トランザクション要求メッセージを生成する段階
    と、 トランザクション要求メッセージを、クライアント・プ
    ロセスからサーバ・プロセスへメッセージ交換機構を介
    して提供する段階と、 サーバ・プロセスにおいて、トランザクション要求メッ
    セージを、そのメッセージに含まれる名前と発信クライ
    アント・プロセスを識別するフィールドとを含む名前付
    き処理オブジェクトにリンクされた各トランザクション
    ・メッセージ移送機構へ経路指定する段階と、 各トランザクション・メッセージ移送機構において、ト
    ランザクション要求メッセージ内の要求を実行するため
    に対応するトランザクション・プロセスをディスパッチ
    する段階とを含むことを特徴とする方法。
  17. 【請求項17】トランザクション・メッセージ移送機構
    によってディスパッチされたトランザクション・プロセ
    スが、トランザクション出力メッセージを提供する、請
    求項16に記載の方法。
  18. 【請求項18】前記各トランザクション・メッセージ移
    送機構がさらに、名前付き処理オブジェクト内に出力プ
    ロセスを含み、前記各トランザクション・メッセージ移
    送機構において、該出力プロセスが各クラインアント・
    プロセスへのトランザクション出力メッセージの提供を
    逐次化する段階を含む、請求項17に記載の方法。
  19. 【請求項19】前記逐次化段階が、1つのトランザクシ
    ョン・プロセスがトランザクション出力メッセージを提
    供するように制御するとともに、各トランザクション・
    メッセージ移送機構によってディスパッチされた残りの
    すべてのトランザクション・プロセスがトランザクショ
    ン出力メッセージを提供しないように制御する段階を含
    む、請求項18に記載の装置。
  20. 【請求項20】前記逐次化段階が、トランザクション出
    力メッセージを待ち行列に入れる段階を含む、請求項1
    8に記載の装置。
JP6323405A 1994-03-21 1994-12-26 トランザクション・メッセージを処理するための装置、システムおよび方法 Expired - Fee Related JP2583027B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/215,438 US6330582B1 (en) 1994-03-21 1994-03-21 Apparatus and method enabling a client to control transaction message traffic between server and client processes
US215438 1994-03-21

Publications (2)

Publication Number Publication Date
JPH07262119A true JPH07262119A (ja) 1995-10-13
JP2583027B2 JP2583027B2 (ja) 1997-02-19

Family

ID=22802986

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6323405A Expired - Fee Related JP2583027B2 (ja) 1994-03-21 1994-12-26 トランザクション・メッセージを処理するための装置、システムおよび方法

Country Status (4)

Country Link
US (1) US6330582B1 (ja)
EP (1) EP0674260B1 (ja)
JP (1) JP2583027B2 (ja)
DE (1) DE69527873T2 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2312766A (en) 1996-05-01 1997-11-05 Ibm Transactional layer for object management system
JPH103416A (ja) * 1996-06-14 1998-01-06 Canon Inc 情報処理装置およびその方法
US6813769B1 (en) 1997-10-28 2004-11-02 Microsoft Corporation Server application components with control over state duration
US7076784B1 (en) 1997-10-28 2006-07-11 Microsoft Corporation Software component execution management using context objects for tracking externally-defined intrinsic properties of executing software components within an execution environment
US6631425B1 (en) 1997-10-28 2003-10-07 Microsoft Corporation Just-in-time activation and as-soon-as-possible deactivation or server application components
US5958004A (en) 1997-10-28 1999-09-28 Microsoft Corporation Disabling and enabling transaction committal in transactional application components
US6526416B1 (en) 1998-06-30 2003-02-25 Microsoft Corporation Compensating resource managers
US6604085B1 (en) 1998-07-20 2003-08-05 Usa Technologies, Inc. Universal interactive advertising and payment system network for public access electronic commerce and business related products and services
US6611810B1 (en) 1998-07-20 2003-08-26 Usa Technologies, Inc. Store display window connected to an electronic commerce terminal
US6615183B1 (en) 1998-07-20 2003-09-02 Usa Technologies, Inc. Method of warehousing user data entered at an electronic commerce terminal
US6604086B1 (en) 1998-07-20 2003-08-05 Usa Technologies, Inc. Electronic commerce terminal connected to a vending machine operable as a telephone
US6609102B2 (en) 1998-07-20 2003-08-19 Usa Technologies, Inc. Universal interactive advertizing and payment system for public access electronic commerce and business related products and services
US6425017B1 (en) 1998-08-17 2002-07-23 Microsoft Corporation Queued method invocations on distributed component applications
US6442620B1 (en) 1998-08-17 2002-08-27 Microsoft Corporation Environment extensibility and automatic services for component applications using contexts, policies and activators
US6604122B1 (en) * 1998-11-03 2003-08-05 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for evaluating a data processing request performed by distributed processes
US6748455B1 (en) 1999-02-23 2004-06-08 Microsoft Corporation Object connectivity through loosely coupled publish and subscribe events with filtering
US6829770B1 (en) 1999-02-23 2004-12-07 Microsoft Corporation Object connectivity through loosely coupled publish and subscribe events
US6728879B1 (en) 1999-06-02 2004-04-27 Microsoft Corporation Transactional log with multi-sector log block validation
US6920636B1 (en) 1999-12-15 2005-07-19 Microsoft Corporation Queued component interface passing for results outflow from queued method invocations
US7805338B2 (en) 2001-03-26 2010-09-28 Usa Technologies, Inc. Method of constructing a digital content play list for transmission and presentation on a public access electronic terminal
US20020169863A1 (en) * 2001-05-08 2002-11-14 Robert Beckwith Multi-client to multi-server simulation environment control system (JULEP)
US7213049B2 (en) * 2001-07-17 2007-05-01 Bea Systems, Inc. System and method for transaction processing with transaction property feature
US7337441B2 (en) 2001-07-17 2008-02-26 Bea Systems, Inc. System and method for prepreparing a transaction process involving a chain of servers in a circular flow
US7080119B2 (en) 2001-07-17 2006-07-18 Bea Systems, Inc. System and method for transaction processing with delegated commit feature
US7058632B1 (en) 2002-06-27 2006-06-06 Unisys Corporation Method and system for facilitating execution of a user-inputted message in a client-server database network
US7406511B2 (en) * 2002-08-26 2008-07-29 International Business Machines Corporation System and method for processing transactions in a multisystem database environment
JP4291060B2 (ja) * 2003-07-01 2009-07-08 富士通株式会社 トランザクション処理方法,トランザクション制御装置およびトランザクション制御プログラム
US7490083B2 (en) 2004-02-27 2009-02-10 International Business Machines Corporation Parallel apply processing in data replication with preservation of transaction integrity and source ordering of dependent updates
US8688634B2 (en) 2004-02-27 2014-04-01 International Business Machines Corporation Asynchronous peer-to-peer data replication
US7614546B2 (en) 2005-02-03 2009-11-10 Yottamark, Inc. Method and system for deterring product counterfeiting, diversion and piracy
US8300806B2 (en) 2005-02-03 2012-10-30 Yottamark, Inc. Duo codes for product authentication
JP4357473B2 (ja) * 2005-11-04 2009-11-04 株式会社ソニー・コンピュータエンタテインメント データ処理システムおよびプログラム
US8706849B1 (en) 2007-02-09 2014-04-22 Crimson Corporation Systems and methods for increasing the scalability in a client/server environment
US8060653B2 (en) * 2007-04-23 2011-11-15 Ianywhere Solutions, Inc. Background synchronization
US8341134B2 (en) * 2010-12-10 2012-12-25 International Business Machines Corporation Asynchronous deletion of a range of messages processed by a parallel database replication apply process
US9405602B1 (en) 2012-06-25 2016-08-02 Google Inc. Method for application notification and tasking
US9727625B2 (en) 2014-01-16 2017-08-08 International Business Machines Corporation Parallel transaction messages for database replication
US9948724B2 (en) 2015-09-10 2018-04-17 International Business Machines Corporation Handling multi-pipe connections
US12032995B1 (en) * 2023-07-28 2024-07-09 Snowflake Inc. Asynchronous task queue configuration in a database system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2667818B2 (ja) 1986-10-09 1997-10-27 株式会社日立製作所 トランザクション処理方法
US4853843A (en) * 1987-12-18 1989-08-01 Tektronix, Inc. System for merging virtual partitions of a distributed database
US5051892A (en) 1989-02-09 1991-09-24 International Business Machines Corp. Full duplex conversation between transaction programs
US5249293A (en) 1989-06-27 1993-09-28 Digital Equipment Corporation Computer network providing transparent operation on a compute server and associated method
US5095421A (en) * 1989-08-17 1992-03-10 International Business Machines Corporation Transaction processing facility within an operating system environment
CA2025120A1 (en) * 1989-09-28 1991-03-29 John W. White Portable and dynamic distributed application architecture
US5265250A (en) 1990-03-29 1993-11-23 At&T Bell Laboratories Apparatus and methods for performing an application-defined operation on data as part of a system-defined operation on the data
AU628753B2 (en) * 1990-08-14 1992-09-17 Digital Equipment Corporation Method and apparatus for implementing server functions in a distributed heterogeneous environment
US5195181A (en) 1992-01-10 1993-03-16 Digital Equipment Corporation Message processing system having separate message receiving and transmitting processors with message processing being distributed between the separate processors
US5396630A (en) * 1992-10-06 1995-03-07 International Business Machines Corporation Method and system for object management across process boundries in a data processing system

Also Published As

Publication number Publication date
EP0674260B1 (en) 2002-08-28
DE69527873T2 (de) 2003-04-30
DE69527873D1 (de) 2002-10-02
EP0674260A3 (en) 1999-04-14
US6330582B1 (en) 2001-12-11
EP0674260A2 (en) 1995-09-27
JP2583027B2 (ja) 1997-02-19

Similar Documents

Publication Publication Date Title
JPH07262119A (ja) トランザクション・メッセージを処理するための装置、システムおよび方法
US5448734A (en) Selective distribution of messages using named pipes
US4823304A (en) Method of providing synchronous message exchange in an asychronous operating environment
US7516176B2 (en) Distributed request and response queues for service processor
EP0814590A2 (en) Preventing conflicts in distributed systems
JP2002507017A (ja) ソースでのフィルタリング及びサーバーリソースを保存する為の補償用トランザクションのプロキシ実行を含むモジュール型アプリケーションの共同
EP0992901B1 (en) Enhanced two phase commit protocol
JPH0415840A (ja) 分散型データベース管理装置
US6895408B1 (en) Method and apparatus to facilitate interaction management between loosely coupled applications
JP3490473B2 (ja) プロセッサ間通信システム
US8606833B2 (en) Method and system of committing operations of a synchronized transaction
Davidson et al. Timed atomic commitment
US20030212587A1 (en) Apparatus and methods for coordinating Web services using role based interpretation of coordination plans
JPH05290003A (ja) 非同期型遠隔手続き呼び出し装置
JP3077669B2 (ja) 分散メモリ型マルチプロセッサシステムにおけるプロセスの停止方式
JPH04113442A (ja) プロセッサ間通信方式
JP3320221B2 (ja) クライアント/サーバシステムおよび同システム用ワークステーション装置
JPH06195317A (ja) データ処理システム
JPH02118841A (ja) 入力待ち行列管理方式
JPH0314058A (ja) クライアントとサーバ間のメッセージ通信制御方式
CN113744055A (zh) 一种跨链消息传输方法、设备及储存介质
JP2910176B2 (ja) 要求受付処理装置
JPH03148747A (ja) プロセッサ間通信方式
JPH01200457A (ja) 分散システムでのノード間メッセージ追い越し処理方式
JPS6352263A (ja) 分散処理システムのデツドロツク検出方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees