JPH0944461A - 疎結合並列処理環境においてapiスタート及びキャンセルトランザクション機能を有する顧客情報制御システム及び方法 - Google Patents

疎結合並列処理環境においてapiスタート及びキャンセルトランザクション機能を有する顧客情報制御システム及び方法

Info

Publication number
JPH0944461A
JPH0944461A JP8145730A JP14573096A JPH0944461A JP H0944461 A JPH0944461 A JP H0944461A JP 8145730 A JP8145730 A JP 8145730A JP 14573096 A JP14573096 A JP 14573096A JP H0944461 A JPH0944461 A JP H0944461A
Authority
JP
Japan
Prior art keywords
transaction
user application
requested
executed
record
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.)
Pending
Application number
JP8145730A
Other languages
English (en)
Inventor
Andreas E Hotea
イー ホーティ アンドリアス
Roo John S De
エス ディ ロー ジョン
Mark Phillips
フィリップス マーク
David G Velasco
ヴェラスコ ディヴィッド
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.)
Tandem Computers Inc
Original Assignee
Tandem Computers Inc
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 Tandem Computers Inc filed Critical Tandem Computers Inc
Publication of JPH0944461A publication Critical patent/JPH0944461A/ja
Pending 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

Abstract

(57)【要約】 (修正有) 【課題】 1組の疎結合並列プロセッサにわたって顧客
情報制御システムの計算負荷を分散し且つAPIトラン
ザクションスタート及びキャンセル機能を与える。 【解決手段】 分散型コンピュータシステムは、複数の
エンドユーザターミナルと、互いにリソースを共用しな
い複数の疎結合のサーバコンピュータとを含む。多数の
ユーザアプリケーションプロセスがこれらサーバコンピ
ュータに分布される。第1のサーバコンピュータに記憶
されたトランザクションスタートテーブルは、ユーザア
プリケーションプロセスにより実行が要求されたトラン
ザクションを表すトランザクションスタートデータを記
憶する。スタート条件は、その要求されたトランザクシ
ョンの実行をスタートすべき最も早い時刻を示す値であ
る。ユーザアプリケーションプロセスがスタートトラン
ザクション機能を実行するとき、トランザクションスタ
ート記録が発生され、トランザクションスタートテーブ
ルに記憶される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般に、顧客情報
制御システム(CICS)トランザクション処理に使用
されるコンピュータシステムに係り、より詳細には、顧
客情報制御システムの計算負荷を1組の疎結合並列プロ
セッサにわたって分散しそしてアプリケーションプログ
ラムインターフェイス(API)トランザクションスタ
ート及びトランザクションキャンセル機能を与える分散
型コンピュータシステムに係る。
【0002】
【従来の技術】大規模顧客情報制御システムの普及モデ
ルは、単一メインフレームコンピュータである。単一メ
インフレーム上であるが個別のアドレススペース内で実
行される多数のユーザアプリケーションプロセスを用い
ることにより非常に多数のトランザクションが受け入れ
られる。このようなシステムで実行される2つのトラン
ザクションがコンテクスト情報を共用する必要があると
きには、両方のトランザクションが同じアドレススペー
スにおいて実行され(即ち、同じユーザアプリケーショ
ンプロセスにより)、そして共用される必要のあるコン
テクスト情報は、共通のアドレススペース内の「共用」
メモリに記憶される。あるトランザクションが、コンテ
クスト情報を共用する必要のある他のトランザクション
を実行するのに用いられるものと同じユーザアプリケー
ションプロセスにより実行されるよう確保する助けとし
て、トランザクションの実行の前に、そのトランザクシ
ョンと顧客情報制御システムで実行される他の全てのト
ランザクションとの「トランザクション親和性」を決定
することが必要となっている。このトランザクション親
和性を決定する手順は、複雑であり、トランザクション
の実行を開始する前に行わねばならず、そして大きな負
荷のかかったユーザアプリケーションプロセスにトラン
ザクションを割り当てる一方、他のユーザアプリケーシ
ョンプロセスの負荷が相当に軽くなることがある。
【0003】上記の普及モデルにおいてトランザクショ
ン間の親和性を形成することのできる顧客情報制御シス
テムのAPI機能は、例えば、CICSスタートトラン
ザクション及びCICSキャンセルトランザクション機
能である。これらの機能は、付加的なトランザクション
をスタートしそして付加的なトランザクションをキャン
セルするためのトランザクションを、それらの実行を開
始する前に、実行することにより使用される。特に、C
ICSキャンセルトランザクション機能を使用できるよ
うにするために、普及モデルは、CICSキャンセル機
能を行うトランザクションを、それに対応するCICS
スタート機能を以前に行ったトランザクションと同じア
ドレススペースにおいて実行することを必要とする。
【0004】
【発明が解決しようとする課題】本発明の主たる目的
は、トランザクションがコンテクストを共用する潜在的
な又は既知の必要性に関わりなく、トランザクション
を、使用可能なプロセッサリソースに基づいて(即ち負
荷のバランス要件に基づいて)アプリケーションプロセ
スに指定するような顧客情報制御システムを提供するこ
とである。これに関連した本発明の目的は、CICSス
タートトランザクション及びCICSキャンセルトラン
ザクション機能のコールを含むトランザクションを、使
用可能なプロセッサリソースに基づいて(即ち、負荷の
バランス要件に基づいて)アプリケーションプロセスに
指定し、そしてそれを同じアドレススペースにおいて実
行する必要がなく且つ同じサーバプロセッサにより実行
する必要がないような顧客情報制御システムを提供する
ことである。
【0005】
【課題を解決するための手段】要約すれば、本発明は、
複数のエンドユーザターミナルと、互いにリソースを共
用しない複数の疎結合されたサーバコンピュータとを有
する分散型コンピュータシステムを提供する。多数のユ
ーザアプリケーションプロセスがサーバコンピュータに
わたって分散される。サーバコンピュータのうちの第1
のサーバコンピュータに記憶されたトランザクションス
タートテーブルは、ユーザアプリケーションプロセスに
より実行されている他のトランザクションによって実行
が要求されたトランザクションを表すトランザクション
スタートデータを記憶する。トランザクションスタート
データは、実行が要求された各トランザクションに対す
るスタート条件を指示する。ほとんどの要求されたトラ
ンザクションに対し、スタート条件は、その要求された
トランザクションの実行をスタートすべき最も早い時間
を示す時間値である。ユーザアプリケーションプロセス
のいずれかがスタートトランザクション機能を実行する
ときには、トランザクションスタート記録が発生されそ
してトランザクションスタートテーブルに記憶される。
トランザクションスタート記録は、どのサーバコンピュ
ータがスタートトランザクション機能を実行するかに関
わりなく第1のサーバコンピュータの同じトランザクシ
ョンスタートテーブルに記憶される。
【0006】トランザクションスタートプロセスは、実
行が要求された各トランザクションのスタート条件を評
価する。要求されたトランザクションのスタート条件が
満足されたときに、トランザクションスタートプロセス
がその要求されたトランザクションの実行を開始する。
【0007】
【発明の実施の形態】本発明の更に別の目的及び特徴
は、添付図面を参照した以下の詳細な説明及び特許請求
の範囲から容易に明らかとなろう。図1には、顧客情報
制御システムとして動作するように構成された分散型コ
ンピュータシステム100が示されている。エンドユー
ザターミナル102は、通信管理プロセス112を介し
てサーバシステム110へデータを送信したり受信した
りする。通信管理プロセス112は、ターミナルとトラ
ンザクションルータプロセス114との間でデータメッ
セージをルート指定するための通信アクセス手順を含ん
でいる。通信手順は、好ましい実施形態では、SNAX
という商標でタンデム社がライセンスを有するSNAア
クセス方法のバージョンを使用する。好ましい実施形態
では、トランザクションルータプロセス114は、サー
バ120(図2)の1つに存在し、それによって実行さ
れる。説明上、トランザクションとは、確立されたアプ
リケーションプログラムインターフェイス(API)を
介してトランザクション処理ファシリティへ送られる多
数の機能及び/又はサブルーチンコールを含むことので
きるアプリケーションプログラムの実行により行われる
論理的なワーク単位であると定義される。好ましい実施
形態では、定義されたトランザクションの各別々の形式
に対し、そのトランザクションを行うように実行される
対応するアプリケーションプログラムが存在し、これに
ついては図3を参照して以下に詳細に述べる。
【0008】トランザクションルータプロセス114
は、エンドユーザターミナルから受け取ったデータの情
報に基づき、エンドユーザターミナルからのメッセージ
に応答するためにどんなトランザクションを実行すべき
かを決定する。より詳細には、トランザクションルータ
プロセスは、それが通信する各ターミナル102ごとに
1つの実行スレッドを形成して維持する。各ターミナル
に関連した実行スレッドは、欠陥回復の目的でその対応
ターミナル(即ち実行されている及び実行を待機してい
るトランザクションの)に関連したコンテクストをセー
ブする役目を果たす。実行の各スレッドは、それに関連
したターミナルに対し一度に1つのトランザクションし
か実行できないようにプログラムされる。別のトランザ
クションが既に実行されているターミナルに対しトラン
ザクションが要求されたときには、その要求されたトラ
ンザクションの実行が、上記別のトランザクションの完
了まで遅延される。又、トランザクションルータプロセ
ス114は、各要求されたトランザクションをどんな
「サーバクラス」にマップすべきか(以下に詳細に述べ
る)を決定すると共に、対応するトランザクション記録
をリンクマネージャプロセス115に送ることによりス
タート準備の整ったトランザクションの実行を開始す
る。リンクマネージャ115は、これらトランザクショ
ンを実行するためのユーザアプリケーションプロセス1
16を選択する。ユーザアプリケーションプロセスにト
ランザクション(トランザクションを実行する要求を含
む)をいかに割り当て又は指定するかは、図3及び4に
ついて以下に説明する。
【0009】ユーザアプリケーションプロセス116
は、複数のサーバにわたって分布される。図2を参照す
れば、各サーバ120は、それ自身のCPU121と、
一次メモリ122(即ち高速ランダムアクセスメモリ)
と、二次メモリ124(通常はディスク記憶装置)と、
その他のリソースとを有する個別のプロセッサである。
これらサーバは、好ましい実施形態では、疎結合された
「何も共用しない」プロセッサであって、データリンク
以外のリソースを共用せず、その基本的な動作はメッセ
ージをベースとするオペレーティングシステムによって
制御され、このオペレーティングシステムは、好ましい
実施形態では、タンデム社のメッセージベースのオペレ
ーティングシステムである。サーバプロセッサ間の「疎
結合」は、共用リソースがないことと、メッセージベー
スのオペレーティングシステムを用いて多数のサーバプ
ロセッサを単一のシステムに一体化することとによるも
のである。好ましい実施形態では、サーバプロセッサ
は、高速データリンクによって相互接続されるが、別の
実施形態では、サーバプロセッサは、ローカルエリアネ
ットワーク又はワイドエリアネットワークの接続により
相互接続することもできる。
【0010】サーバ120及びターミナル102は、通
信インターフェイス126、128及び通信ネットワー
ク129を経て互いに通信する。ターミナル102は、
クライエントシステムであり、通信インターフェイス1
28及びユーザインターフェイス130のみを有する簡
単な無口なターミナルと、それ自身のCPU132、一
次メモリ134及び二次メモリ136を有する全ワーク
ステーションと、その他のサーバコンピュータ(サー
バ)との混合体である。メッセージベースのオペレーテ
ィングシステムを使用するシステムは、分散型ファイル
及びデータベースマネージメントシステム(DBM
S)、以下ファイルシステム140と称する、を備えて
おり、この場合、データベーステーブル142は、シス
テムのいかなるノードに記憶することもでき、そしてテ
ーブルの種々の部分を多数のノードに記憶するように区
画することができる。ファイルシステムテーブルへのア
クセスは、ファイルシステム140へサブルーチン及び
ファンクションコールし、これが、次いで、ファイルシ
ステムテーブル及びファイルへの全てのアクセスを取り
扱うディスクプロセス146(図5、6)へコールを発
することにより、ファイル及びテーブル区画の位置に関
わりなく、ユーザアプリケーションプロセス116及び
システムレベルプロセスによって行われる。好ましい実
施形態では、テーブル内の指定の記録をアクセスするた
めにファイルシステム140にコールを発したときに、
ファイルシステムは、データベースカタログ及び/又は
他のリソースから、アクセスされるべきファイルの位置
を決定する。これは、次いで、ファイルが配置されたサ
ーバの関連ディスクプロセスにアクセス要求メッセージ
を送信し、これは、対応するディスクプロセス手順14
7を実行して、要求されたファイル又はテーブルのアク
セスタスクを行う。物理的なファイル及びディスクプロ
セスが、アクセスを要求するプロセスと同じサーバコン
ピュータに存在する場合には、メッセージがサーバ内の
あるプロセスから別のプロセスへ送られる。さもなく
ば、メッセージは、あるサーバから別のサーバへ送られ
る。テーブル又はファイルへのアクセスを要求するユー
ザ又はシステムプロセスの見地から、アクセスを開始す
るためになされた手順コールに関する限り、ローカル記
憶されたファイルとリモート記憶されたファイルとの間
に区別はない。
【0011】又、各サーバ120は、1組の顧客情報制
御システム(CICS)手順150も含み、これは、標
準的なCICS手順コールを受け取って処理するための
アプリケーションプログラムインターフェイス(AP
I)手順を含む。又、各サーバは、エンドユーザターミ
ナル102からのデータメッセージに応答して、これら
データメッセージにより指定されたトランザクションを
実行するための1組のアプリケーションプログラム15
2も含む。次いで、アプリケーションプログラム152
は、CICS手順150への埋め込まれたコールを含
む。図3を参照すれば、プログラム制御テーブル160
は、トランザクションIDをサーバクラスへマップす
る。各サーバクラスは、次いで、サーバクラステーブル
162により、そのサーバクラスに対する全てのアプリ
ケーションプログラムを実行できる1組のユーザアプリ
ケーションプロセスへマップされる。従って、サーバク
ラスは、特定の1組のアプリケーションプログラムを実
行するために1組の手順へアクセスするユーザアプリケ
ーションプロセスの多数のインスタンスを表す。一般
に、各サーバクラスにおけるユーザアプリケーションプ
ロセスは、互いに他のサーバクラスにおけるユーザアプ
リケーションプロセスとは異なる属性を有する。プログ
ラム制御テーブル160とサーバクラステーブル162
は、どんなユーザアプリケーションプロセスが指定のア
プリケーションプログラムを実行するための適当な候補
であるかを指示する情報を記憶する1つの方法に過ぎな
い。サーバクラスに関連した全てのユーザアプリケーシ
ョンプロセスが、そのサーバクラスに指定された全ての
アプリケーションプログラムを実行するための手順にア
クセスする限り、2つ以上のアプリケーションプログラ
ムを同じサーバクラスにマップすることができる。
【0012】エンドユーザターミナル102からの要求
に応答する(又は以下に述べるように別のトランザクシ
ョンからのCICSスタートコマンドに応答する)トラ
ンザクション(即ち対応するアプリケーションプログラ
ム)の実行は、トランザクションルータプロセス114
及びリンクマネージャプロセス115により特定のユー
ザアプリケーションプロセスに次のように指定される。
トランザクションルータプロセス114により受け取ら
れたトランザクション要求は、トランザクションIDを
含む。トランザクションルータプロセス114は、プロ
グラム制御テーブル160においてトランザクションI
Dをルックアップし、そのトランザクションIDに対す
るサーバクラスを選択すると共に、そのトランザクショ
ンIDとその選択されたサーバクラスを表す値とを有す
るトランザクション記録をリンクマネージャプロセス1
15に送る。リンクマネージャプロセス115は、受け
取ったトランザクション記録で指定されたサーバクラス
に対応するサーバクラステーブル162内の記録をルッ
クアップすることにより、要求されたトランザクション
を実行するための1組の潜在的なユーザアプリケーショ
ンプロセスを決定する。従って、リソース割り当てファ
ンクション164を使用し、指定されたユーザクラスの
1組の潜在的なユーザアプリケーションプロセスから1
つのユーザアプリケーションプロセスを選択する。リソ
ース割り当てファンクション164は、(A)どのユー
ザアプリケーションプロセスがビジーであるか、及び
(B)各サーバの全負荷、を指示する情報166を受け
取る。ビジーのユーザアプリケーションプロセスのリス
トがリンクマネージャ115によって発生される。とい
うのは、これは、ユーザアプリケーションプロセスを最
初に割り当てるプロセスだからである。各サーバの全負
荷は当業者に良く知られた負荷監視技術を用いて得られ
る。
【0013】リソース割り当てファンクション164
は、先ず、特定のトランザクションを実行するための1
組の潜在的なユーザアプリケーションプロセスから、現
在ビジーでない潜在的なユーザアプリケーションプロセ
スを選択する。1組のビジーでないユーザアプリケーシ
ョンプロセスがもしあれば、そこから、関連するサーバ
の全負荷が比較され、そしてそれらサーバのうちのビジ
ーでない1つにおけるユーザアプリケーションプロセス
が、保留中のトランザクション要求に対する指定のユー
ザアプリケーションプロセスとして選択される。全ての
潜在的なユーザアプリケーションプロセスがビジーであ
る場合には、保留中のエンドユーザ要求は実行を待機す
るトランザクションの待ち行列169(図4)に入れら
れる。単一のユーザアプリケーションプロセスが欠陥と
なっても、一般的に、同じサーバクラスの他のアプリケ
ーションプロセスにより行われるワークにダメージを及
ぼしたり妨げたりすることはない。好ましい実施形態で
は、各サーバクラスは同じユーザアプリケーションプロ
セスの多数のインスタンスを有する。それ故、特定のサ
ーバクラスにおいて、あるユーザアプリケーションプロ
セスに欠陥が生じた場合には、リンクマネージャ115
は、そのサーバクラスにおいてユーザアプリケーション
プロセスによる実行を要求するトランザクションを、そ
の同じサーバクラスにおけるユーザアプリケーションプ
ロセスの他のインスタンスへ指定する。その結果、本発
明の顧客情報制御システム100の性能は、少数のユー
ザアプリケーションプロセスが欠陥となった場合に徐々
に低下する傾向となる。プロセッサの欠陥に対し欠陥許
容度を与えるために、各サーバクラスのユーザアプリケ
ーションプロセスは、システム内の全てのサーバコンピ
ュータにわたって分散されるのが好ましい。加えて、当
業者に知られた他の欠陥許容方法を使用し、欠陥プロセ
スが最初に存在したコンピュータよりも、同じ又は異な
るサーバコンピュータにおける欠陥プロセスの方が迅速
に再始動するように確保する。
【0014】別の実施形態においては、トランザクショ
ンルータプロセス114及びリンクマネージャプロセス
115のファンクションは、単一の「ルータプロセス」
を実行することができる。好ましい実施形態では、これ
ら2つのプロセスは、トランザクション実行要求を適当
なユーザアプリケーションプロセスにルート指定するよ
うに一緒に機能する。本発明による分散型コンピュータ
システムのトランザクション又は計算負荷がトランザク
ションの完了及び応答時間が受け入れられなくなる点ま
で増加したときには、システムの計算容量は、1つ以上
の付加的なサーバ120をシステムに追加しそして新た
なサーバのユーザアプリケーションプロセスを含むよう
にサーバクラステーブル162(図3)を調整するだけ
で拡張される。換言すれば、本発明の分散型コンピュー
タシステム100は、トランザクションのほとんどいか
なるレベルも、そのレベルのトランザクションを取り扱
うのに充分な計算リソースをもつ対応する数のサーバを
設けることにより受け入れられるという点で拡張可能で
ある。トランザクションスタート制御 図4は、待機中のトランザクションの実行をスタートす
るのに含まれるプロセスと、待機中及び静止トランザク
ションを追跡するのに用いられるデータ構造体とを示す
概念図である。「スタート待機」待ち行列168は、同
じ関連ターミナルIDを有する別のトランザクションが
既に実行されているためにスタートを待機しているトラ
ンザクションの待ち行列である。
【0015】エンドユーザターミナル又はトランザクシ
ョンスタートプロセス172(以下に述べる)からトラ
ンザクション要求が受け取られると、それに関連したト
ランザクションは、同じターミナルに対する別のトラン
ザクションが既に実行されている場合にのみ(即ち、シ
ステムはターミナル当たり一度に1つのトランザクショ
ンしか実行しない)トランザクションルータプロセス1
14により待ち行列168に入れられる。さもなくば、
トランザクションルータプロセス114は、対応するト
ランザクション記録をリンクマネージャ115へ送るこ
とにより受け取ったトランザクションの実行を開始す
る。トランザクションの実行が完了するたびに、トラン
ザクションルータプロセス114は、丁度完了したトラ
ンザクションと同じターミナルIDを有するトランザク
ションに対し、「スタート待機」待ち行列168のトラ
ンザクション記録を再調査する。待ち行列168のトラ
ンザクション記録により表されるこのような待機中トラ
ンザクションが1つ以上ある場合には、トランザクショ
ンルータプロセス114は、これらの待機中トランザク
ションの1つを、当業者に良く知られた技術を用いてト
ランザクション順序付け基準に基づいて選択する。次い
で、トランザクションルータプロセスは、その選択され
たトランザクションの実行を、それに対応するトランザ
クション記録をリンクマネージャ115に送ることによ
り開始し、そしてそのトランザクション記録を「スター
ト待機」待ち行列168から削除する。
【0016】リンクマネージャプロセス115は、トラ
ンザクションルータプロセスにより送られたトランザク
ション記録を受け取る。図3を参照して上記したよう
に、リンクマネージャプロセス115は、受け取ったト
ランザクション記録に指定されたサーバクラスに対応す
るサーバクラステーブル162内の記録をルックアップ
することにより、要求されたトランザクションを実行す
るための1組の潜在的なユーザアプリケーションプロセ
スを決定する。次いで、特定のトランザクションを実行
するための1組の潜在的なユーザアプリケーションプロ
セスから、現在ビジーでない潜在的なユーザアプリケー
ションプロセスを選択する。1組のビジーでないユーザ
アプリケーションプロセスがもしあれば、それらから、
関連サーバにおける全体的な負荷が比較され、これらサ
ーバのうちのビジーでない1つにおけるユーザアプリケ
ーションプロセスが、保留中のトランザクション要求に
対する指定のユーザアプリケーションプロセスとして選
択される。全ての潜在的なユーザアプリケーションプロ
セスがビジーである場合には、保留中のエンドユーザ要
求が、実行を待機しているトランザクションの待ち行列
169(図4)に入れられる。
【0017】トランザクションの実行が完了し、ユーザ
アプリケーションプロセスを別のトランザクション要求
への指定に使用できるようになるたびに、リンクマネー
ジャプロセス115は、トランザクションの実行が丁度
完了したユーザアプリケーションプロセスに指定するこ
とのできるトランザクションに対し待ち行列169の待
機中トランザクション記録を再調査する。即ち、使用で
きるようになったユーザアプリケーションプロセスに関
連したサーバクラスに指定されるアプリケーションを待
ち行列169から探す。次いで、リンクマネージャプロ
セス115は、使用できるユーザアプリケーションプロ
セスのサーバクラスに一致するトランザクションの1つ
(もしあれば)を選択し、そしてその選択されたトラン
ザクションの実行を、それに対応するトランザクション
記録を使用可能なユーザアプリケーションプロセスに送
ることにより開始する。図4の下半分を参照すれば、実
行中のトランザクションは、CICSスタートコマンド
を使用することにより他のトランザクションを開始する
ことができる。CICSスタートコマンドが実行される
ときは、それに対応する記録が、グローバルにアクセス
可能なトランザクションスタートファイル170に記録
される。換言すれば、CICSスタート手順は、そのフ
ァイルに関連したディスクプロセスをコールし、それに
より、トランザクションスタートファイル170に記録
を追加させる。トランザクションスタートファイル17
0の各記録は、トランザクションIDと、日付IDと、
要求IDと、ターミナルIDとを含む。トランザクショ
ンIDは、実行されるべきアプリケーションを識別し、
データIDは、関連トランザクションをスタートすべき
最も早い時刻及び日付を指示し、そして要求IDは、要
求中のトランザクションを識別する。ターミナルID
は、要求されたトランザクションに関連するターミナル
を識別する。要求されたトランザクションのターミナル
IDは、要求中のトランザクションに対するものと通常
は同じであるが、CICSスタートコマンドを実行して
いるトランザクションがそれ自身とは異なるターミナル
IDを指定することがある(例えば、トランザクション
の結果を、要求中のトランザクションのターミナル以外
の指定のターミナルへ送るべきとき)。要求IDは、各
トランザクションスタート記録が独特であるように確保
し、そして各「キャンセルトランザクション」コマンド
が、指定の要求者に関連したトランザクションのみをキ
ャンセルするよう確保するために必要とされる。
【0018】単一のグローバルにアクセス可能なトラン
ザクションスタートファイル170が全システム100
に対して設けられており、トランザクションによるCI
CSスタートコマンドの実行は、このCICSスタート
コマンドを実行するのにどのユーザアプリケーションプ
ロセス及びサーバコンピュータが使用されるかに関わり
なく、同じトランザクションスタートファイル170に
トランザクションスタート記録を形成する。トランザク
ションスタートファイル170は、日付IDに基づく一
次インデックスをもつテーブルであり、従って、トラン
ザクションスタート記録へのアクセスは、日付及び時刻
の順であり、最も早い日付及び時刻を有する記録が、そ
れより遅い日付及び時刻を有する記録の前にアクセスさ
れる。トランザクションスタートファイル170は、ト
ランザクションスタートプロセス172と称するプロセ
スによって監視される。特に、通常の動作中に、トラン
ザクションスタートプロセス172は、現在時間以前の
スタート時間を有する全てのトランザクションスタート
記録を処理する。各々のこのようなトランザクションス
タート記録は、トランザクションルータプロセス114
へ「スタート要求」を送信しそしてトランザクションス
タート記録をトランザクションスタートファイル170
から削除することにより処理される。トランザクション
ルータプロセス114へ送られるスタート要求は、スタ
ート要求メッセージのトランザクションID及びターミ
ナルID値によって表されたように指定のターミナルに
対して指定のトランザクションを実行する要求である。
現在時間以前のスタート時間を有する全てのトランザク
ションスタート記録を処理すると、トランザクションス
タートプロセス172は、トランザクションスタートフ
ァイル170に残りの記録がもしあれば、それに関連し
た最も早い日付及び時刻を決定し、そしてその日付及び
時刻までそれ自身をスリープ状態に入れる「待機」又は
「スリープ」コマンドを実行する。
【0019】アプリケーションがCICSスタートコマ
ンドを実行し、それにより、新たな記録をトランザクシ
ョンスタートファイル170に加えるたびに、トランザ
クションスタートプロセス172に通知メッセージも送
られ、トランザクションスタートプロセスがウェイクア
ップしてトランザクションスタートファイル170を再
評価するようにさせる。特に、CICSスタートコマン
ドは、現在時間又はそれより前のスタート時間を指示す
るだけでトランザクションが直ちにスタートするように
要求する。トランザクションスタートプロセス172が
新たな記録通知によってウェイクアップされると、その
標準的な手順を実行し、従って、トランザクションスタ
ートファイル170のトランザクションスタート記録が
現在時間又はそれより前の指定のスタート時間を有する
かどうか決定する。このようなトランザクションスター
ト記録を処理しそしてその後にトランザクションスター
トプロセスをスリープ状態に戻すことについては上記で
説明した。実行トランザクションがCICSキャンセル
コマンドを行うときには、トランザクションスタートフ
ァイル170に関連したディスクプロセスに「削除記
録」コマンドが送られる。キャンセルコマンドは、それ
に関連したトランザクションスタート記録のトランザク
ションID及び要求IDを含まねばならない。トランザ
クションスタートファイル170に一致する記録が見つ
かると、それがディスクプロセスによって削除され、そ
れにより、トランザクションスタート要求をキャンセル
する。トランザクションスタートを開始したものではな
いいかなるトランザクションも、それに関連したトラン
ザクションスタート記録のトランザクションID及び要
求IDの両方を知っている限り、保留中のトランザクシ
ョンスタートをキャンセルすることができる。更に、保
留中のトランザクションをキャンセルする(CICSキ
ャンセルコマンドにより)トランザクションは、異なる
ユーザアプリケーションプロセスにおいて、そのユーザ
アプリケーションプロセスとは異なるサーバ、及びその
保留中トランザクションを開始した(CICSスタート
コマンドにより)トランザクションを実行したサーバ上
で実行することができる。
【0020】全てのサーバの全てのユーザアプリケーシ
ョンプロセスにおいて実行されるトランザクションによ
り開始される全てのスケジュールされたトランザクショ
ンスタートは、単一のトランザクションスタートプロセ
ス172によって取り扱われるので、本発明のシステム
は、順序付けされたスタート時間値をもつトランザクシ
ョン要求をそれらの指定の順序でスタートするよう保証
することができる。例えば、トランザクション(又は1
組のトランザクション)がCICSスタートコマンドを
実行し、例えば1秒という互いに離れたスタート時間で
トランザクションスタートファイル170に2つ以上の
トランザクションスタート記録を形成する場合のトラン
ザクションスタートプロセス172の動作について考え
る。これらトランザクションのうちの第1のトランザク
ションに関連した時間に到達すると、トランザクション
スタートプロセス172がウェイクアップし、対応する
トランザクション要求をトランザクションルータプロセ
ス114へ送り、そして次のトランザクションに関連し
た時間までそれ自身を約1秒間スリープ状態に戻す。第
2のトランザクションに関連した時間に到達すると、ト
ランザクションスタートプロセスがウェイクアップし、
第2のトランザクションスタート記録に対応するトラン
ザクション要求をトランザクションルータプロセスへ送
り、そしてその次のトランザクションがもしあれば、そ
れに関連した時間までそれ自身をスリープ状態に戻す。
【0021】要約すれば、トランザクション要求プロセ
ス114、リンクマネージャ115及びトランザクショ
ンスタートプロセス172は、サーバ独立ベースでエン
ドユーザにトランザクションスタート及びアプリケーシ
ョンプロセス割り当てサービスを与える。直列化の制御 並列アプリケーションは、重畳する時間周期中に実行さ
れるものであるか、或いは異なる時間に実行できるがそ
れに関連した直列化の必要性を有するものである。CI
CS Enq及びCICS Deq機能は、トランザク
ションを指定のリソースの使用性と同期するのに使用さ
れる。これらの「直列化機能」は、幾つかのトランザク
ションを一度に1つづつ実行するよう確保するか、或い
は幾つかのトランザクション間に直接的なリンク又は通
信経路がなくてもそれらのトランザクションを特定の順
序で実行するよう確保するためにトランザクションによ
り使用される。図5を参照すれば、本発明において、C
ICS Enq機能は次のように実行される。ユーザア
プリケーションプロセスにより実行される各アプリケー
ションは、システムリソースに名前をつけて又は任意の
名前をつけてCICS Enq機能を実行することがで
きる。Enq機能は、Enqファイル202に関連した
ディスクプロセス146−1へメッセージを送信する。
単一のグローバルにアクセスできるEnqファイル20
2は、全システム100(図2)に対して設けられ、そ
してEnq及びDeq機能コールに使用されるリソース
名を含む「名前」は、アプリケーションプロセスが実行
されるサーバに関わりなく、特定の名前のEnqが、同
じ名前を用いるEnq機能をコールするよう試みる他の
アプリケーションプロセスの進行を阻止するという点で
「グローバル」な名前である。
【0022】Enq機能コールが実行されるときには、
ディスクプロセス146−1は、先ず、Enqファイル
202が同じ名前又はリソースに対してEnq記録を含
むかどうかチェックする。Enq名がデータエリアリソ
ースでありそして最初のEnq機能コールに長さ値が含
まれるときには、データエリアリソースに名前をつける
Enq機能をその後にコールする場合に、Enq記録に
おける全リソース範囲を新たなEnq機能コールの全範
囲と比較して何らかの重畳があるかどうか決定する必要
がある。何らかの重畳がありそしてNoSuspend
オプションが使用されていない場合には、その後のEn
q機能コールを行うプロセスが保留となる。より一般的
には、Enq機能コールで名前をつけられた名前又はリ
ソースが、既存のEnq記録の名前又はリソースと一致
又は重畳し、このようなEnq記録が見つかり、そして
NoSuspendオプションがEnq機能コールで指
定されていない場合には、Enq機能コールを行うプロ
セスが保留となる。Enq機能コールを行うプロセスが
NoSuspendオプションを指定している場合に
は、発呼プロセスが保留にならず、EnqBusyフラ
グが発呼プロセスへリターンパラメータとして通され、
従って、発呼プロセスによって実行されているトランザ
クションは、End機能コールに関連したリソースが使
用できないことを検出し、そしてリソースが使用できる
ようになるのを待たずにリソース使用不可を処理するこ
とができる。
【0023】Enq機能コールにおける名前又はリソー
スが、既存のEnq記録にリストされた名前又はリソー
スに一致又は重畳しない場合には、新たなEnq記録が
形成され、そしてディスクプロセス146−1によって
Enqファイル202に記憶される。Enq機能コール
に最大時間巾値(MaxLifetime)を指定する
ことにより、Enq記録が自動的に期間終了となるよう
にすることができる。最も一般的には、Enq記録は、
CICS Deq機能コールを使用することにより明確
に検出される。アプリケーションが、以前のEnq機能
コールに関連したリソースの使用を完了すると、Deq
機能がアプリケーションによってコールされる。同様
に、トランザクションが、2つ以上のアプリケーション
の明確な直列化に使用される名前のようにリソースに関
連しないEnq名を用いるEnq記録を形成するときに
は、そのトランザクションは、Enq名に関連した直列
化ロックを解除する用意ができたときに、CICS D
eq機能をコールする。CICS Deq機能へのコー
ルは、Enqファイル202に対するディスクプロセス
146−1へのコールを発生し、これは、次いで、En
qファイル202に関連Enq記録がもし存在すれば、
それを削除する。加えて、Enq記録が削除された後
に、同じ特定リソースにおいてEnq命令を実行しよう
と試みたときに保留となったユーザアプリケーションプ
ロセスに対し実行が再開される。この復活されたユーザ
アプリケーションプロセスにより実行される第1の命令
は、ユーザアプリケーションを保留にさせたCICS
Enq機能コールである。同じEnq記録において2つ
以上のユーザアプリケーションプロセスが保留になって
いる場合には、CICS Enq機能を実行するために
これらユーザアプリケーションプロセスの第1のプロセ
スが復活され、そして他のものは、Enq記録が再び削
除されるまで再び保留される。
【0024】いかなるプロセスも、CICS Deq機
能をそれに対応するリソース又はEnq名でコールする
ことにより、それを形成したプロセス以外のEnq記録
の削除を要求できることに注意されたい。しかしなが
ら、通常の使用中には、Enq記録の形成の役目を果た
すトランザクションのみが、そのEnq記録の削除を行
うためにDeq機能をコールすることが予想される。要
約すれば、Enqファイル202の各記録は、2つ以上
のプロセスの実行を直列化するのに各Enq記録を使用
できるという点でミューテックス(mutex) と同様であ
る。Enq機能の典型的な用途は、一度に2つ以上のプ
ロセスが特定のリソースを使用するのを防止することで
ある。本発明では、リソースの直列化使用を行うか、さ
もなくばそれらの動作を直列化するプロセスは、同じサ
ーバにおいて実行される必要はない。むしろ、Enq機
能は、グローバルなファンクションとして実施され、E
nq機能コールに同じ名前を使用してEnq機能コール
を実行するいかなる2つのプロセスも、システムにおけ
るそれらの各々の実行位置に関わりなく、直列化される
ようにする。即ち、Enq機能コールを行おうとする2
つのプロセスのうちの第2のプロセスは、Enq機能を
行う2つのプロセスのうちの第1のプロセスが、Deq
機能コールを行うか又は関連するEnq記録の自動的な
期間終了によって第2のプロセスを解除するまで、保留
となる。
【0025】一時的な記憶待ち行列 図6を参照すれば、一時的な記憶待ち行列は、データを
一時的に記憶すると共に、個別のアドレススペースを有
する個別のユーザアプリケーションプロセスにおいて実
行されるアプリケーション間でデータを転送するための
メカニズムである。好ましい実施形態では、2つのグロ
ーバルにアクセス可能なファイル212及び214(図
2)を用いて、全ての一時的な記憶(TS)待ち行列、
即ち回復可能なTS待ち行列ファイル212及び回復不
能なTS待ち行列ファイル214が記憶される。回復可
能なTS待ち行列ファイル212は、監査されるファイ
ルであり、これは、回復可能なTS待ち行列ファイル2
12への全ての変化を示すログ記録がログファイルに永
続的に記憶されて、いつシステム欠陥が発生するかに関
わりなく、完成したファイルの内容を変更したトランザ
クションを最後に委ねた時間に関して回復可能なTS待
ち行列ファイル212の完成状態を再構成できることを
意味する。タンデムシステムにおける監査式のデータベ
ーステーブルを回復するための方法は、当業者に知られ
ている。回復不能なTS待ち行列ファイル214は、非
監査式のファイルである。
【0026】好ましい実施形態において、TS待ち行列
の属性は、最初にシステムアドミニストレータによって
定義され、そしてそのときに、回復可能なTS待ち行列
ファイル212又は回復不能なTS待ち行列ファイル2
14のいずれかとして定義される。各TS待ち行列は、
独特の名前をもたねばならず、従って、CICS TS
機能に対して機能コールがなされるときには、システム
アドミニストレータがTS待ち行列を形成するたびに内
容が更新されるTS待ち行列ルックアップテーブル21
5を経て2つのTS待ち行列ファイルの一方へと独特に
マップされる。TS待ち行列ファイルの動作を説明する
ために、以下の説明では、回復可能なTS待ち行列ファ
イル212の動作について述べ、これは簡単化のために
「TS待ち行列ファイル」と称する。回復不能なTS待
ち行列ファイル212の動作も同じであるが、システム
欠陥の場合にその内容を回復することはできない。図6
に示したように、TS待ち行列ファイルの各記録は、そ
れに関連する待ち行列名、項目番号及びシーケンス番号
を指示する。待ち行列名は、記録に関連した一時的な記
憶待ち行列を識別し、一方、項目番号及びシーケンス番
号は、記録を順序付けするためにファイルの一次キーに
使用される。各々の一時的な記憶シーケンスに対して独
特の待ち行列名を使用することにより単一のTS待ち行
列ファイル212に多数の一時的記憶待ち行列が記憶さ
れる。TS待ち行列ファイルの一次キーは、次の通りで
ある。
【0027】PrimaryKey=QueueNam
e,ItemNo,SeqNo.TS待ち行列ファイル
212に記憶される各TS待ち行列216は、TS待ち
行列へのアクセスを制御するのに使用される関連制御記
録218を有している。この制御記録218は、ゼロの
項目番号によって指示される。各制御記録は、ブラウズ
カーソルと、項目の数の指示子とをそれに関連する一時
的記憶「待ち行列」に記憶する。ブラウズカーソルは、
関連するTS待ち行列が空であるか又はTS待ち行列の
項目が読み取られていないときを除いて、常に、読み取
られているべき最後の待ち行列項目の項目番号に等しく
セットされる。TS待ち行列の各データ記録は、TS待
ち行列に記憶された項目に対しデータの少なくとも一部
分を含む。好ましい実施形態では、TS待ち行列に記憶
される「項目」は、32Kバイトまでのデータを含むこ
とができる。しかしながら、好ましい実施形態では、テ
ーブルの各記録は、4Kバイトより長くすることはでき
ない。4Kバイトより多いデータをもつ項目を記憶でき
るようにするために、好ましい実施形態は、ある形式の
「論理的記録スパン」を使用する。特に、TS待ち行列
記録はシーケンス番号を含み、そして各TS待ち行列項
目の第1記録は、その項目を記憶するのに使用される記
録の数を指示する「記録カウント」値(図6に「#記
録」として示す)を含む。ほとんどの場合に、記録カウ
ントは1に等しいが、ある場合には、記録カウントは9
程度になる。
【0028】TS待ち行列に関連して、WriteQ
TS、ReadQ TS及びDeleteQ Tsの3
つの機能コールがある。これら機能の各々の動作を以下
に述べる。図7を参照すれば、CICS WriteQ
TS機能コール、例えば、 CICS WriteQ TS Q1 data1 の実行は、(A)TS待ち行列ルックアップテーブル2
15を見て、指定のTS待ち行列(Q1)が記憶される
のは2つのTS待ち行列ファイルのどちからを決定し、
そして(B)識別されたTS待ち行列ファイルに対しデ
ィスクプロセス146−2へコマンドを送って(ステッ
プ226)、指定のデータを含む1つ以上の記録を書き
込むことにより開始される。指定の待ち行列名(Q1)
がTS待ち行列ルックアップテーブル214に見つから
ないか又はディスクプロセスが名前の付けられた待ち行
列(Q1)に対する制御記録を見つけることができない
場合には(ステップ230)、機能コールが中断され、
エラーコードを発呼プロセスに返送する。ブラウズカー
ソルは、WriteQ TS機能により不変のままとさ
れる。TS待ち行列ファイルに書き込まれた新たなデー
タ記録は、一般に、ファイルの終わりに添付される。
【0029】TS待ち行列は、トランザクションがWr
iteQ TS機能コールを行うユーザアプリケーショ
ンプロセスがどのサーバに存在するかに関わりなく、同
じTS待ち行列ファイル(即ち、TS待ち行列ルックア
ップテーブル215によって指定されたファイル)に記
憶される。更に、TS待ち行列ファイルが発呼ユーザア
プリケーションプロセスと同じサーバにあるか又はシス
テムの別のサーバにあるかに関わりなく、WriteQ
TS機能コールは同じである。発呼ユーザアプリケー
ションプロセスと、TS待ち行列ファイルに関連したデ
ィスクプロセス146−2との間の接続性は、上記した
ように、オペレーティングシステム及びファイルシステ
ムによって自動的に与えられる。CICS Write
Q TS機能コールによってリライトオプションが指定
されない限り(ステップ234)、機能コールは、制御
記録218の「項目数」パラメータ(No.Items
InQueue)を、1つ以上の記録(そのサイズに基
づく)に記憶されるべき指定の項目に対して1だけ増加
させ(ステップ238)、各々のこのような記録は、待
ち行列名と、項目番号(制御記録のNo.ItemsI
nQueueパラメータにより指定された)と、その記
録に関連したシーケンス番号とを含む(ステップ24
0、242、244)。従って、同じTS待ち行列を指
定するWriteQ TS機能の次々の実行は、以下に
述べるように、項目及びリライトオプションが使用され
ない限り、データを次々の項目番号と共にTS待ち行列
ファイルへ書き込ませる。
【0030】CICS Write TS機能コール
が、リライトオプション及び書き込まれるべき特定項
目、例えば、 CICS WriteQ TS Q1 Item:02 Rewite data1 を指定するときには、その指定されたTS待ち行列の指
定項目に対する記録(又は1組の記録)が、指定のデー
タに対する新たな記録(又は1組の記録)に置き換えら
れる(ステップ236、240、242、244)。上
記したように、ブラウズカーソルは、WriteQ T
S機能によって不変のままである。図8を参照すれば、
CICS ReadQ TS機能コール、例えば、 CICS ReadQ TS Q1 Next の実行は、TS待ち行列ファイルのディスクプロセスに
対応するコマンドを送信することにより開始される(ス
テップ250)。ディスクプロセスは、TS待ち行列フ
ァイルを読み取り、指定のTS待ち行列に対する制御記
録を検索する(ステップ252)。制御記録が見つかる
と(ステップ254)、ディスクプロセスは、指定のT
S待ち行列に対する制御記録においてブラウズカーソル
を1だけ増加し(ステップ260)、そして指定のTS
待ち行列におけるブラウズカーソルに一致する項目数を
もつ記録(又は1組の記録)のデータを検索する(ステ
ップ262)。同じTS待ち行列を指定するReadQ
TS機能の次々の実行は、以下に述べるように、項目
オプションを使用しない限り、次々の項目番号をもつ記
録からのTS待ち行列ファイルからデータを検索する。
【0031】TS待ち行列における指定の項目(例え
ば、項目01)を読み取るために、CICS機能コール
は、次のようになる。 CICS ReadQ TS Q1 Item:01 ReadQ TS機能コールのこのバージョンは、シス
テムが指定のTS待ち行列に対するブラウズカーソルを
指定の項目番号にリセットするようにさせ(ステップ2
56、258)、そして指定のTS待ち行列におけるブ
ラウズカーソルに一致する項目番号を有する記録又は1
組の記録のデータを検索させる(ステップ262)。指
定のTS待ち行列に対するブラウズカーソルは、上記の
「項目」オプションを有するReadQ TS機能コー
ルを使用して、指定のTS待ち行列における項目数以下
の特定の項目番号にリセットすることができる。TS待
ち行列(待ち行列Q1のような)における全てのデータ
記録は、CICS DeleteQ TS機能をコール
することにより削除できる。 CICS DeleteQ TS Q1 DeleteQ TS機能の実行は、TS待ち行列ファ
イルから関連するデータ記録を削除することにより指定
のTS待ち行列に関連した全ての一時的なデータを削除
する。しかしながら、DeleteQ TS機能は、指
定のTS待ち行列の制御記録を削除させない。むしろ、
制御記録の内容は、(A)ゼロの項目カウント(No.
ItemsInQueue)及び(B)ゼロのブラウズ
カーソル値を指示するようにリセットされる。
【0032】TS待ち行列ファイル212及び214
は、グローバルにアクセス可能であるから、異なるユー
ザアプリケーションプロセスが同じ一時的記憶待ち行列
を書き込み及び読み取りすることができ、これにより、
システム内の異なるサーバに存在するユーザアプリケー
ションプロセスによってトランザクションが実行される
ときでも、あるトランザクションから別のトランザクシ
ョンへ(ひいては、あるユーザアプリケーションプロセ
スから別のユーザアプリケーションプロセスへ)情報を
転送することができる。要約すれば、本発明を用いると
きには、リソースを共用しない異なるサーバにおけるユ
ーザアプリケーションプロセスにより実行されるアプリ
ケーションは、グローバルにアクセス可能な一時的記憶
待ち行列を介してデータを交換することができる。更
に、TS待ち行列のグローバルなアクセス性と、Enq
ファイル202及びTxスタートファイル170のグロ
ーバルなアクセス性は、いずれのトランザクションも、
異なるサーバクラスのユーザアプリケーションプロセス
により実行される他のトランザクションへ、ひいては、
そのトランザクションを実行するユーザアプリケーショ
ンプロセスとは異なる属性を有する他のトランザクショ
ンへアクセスできるようにする。異なる属性を有するプ
ロセス間で情報を共用しそしてそれらの間の動作を整合
するための本発明によるシステムの能力は、貴重なもの
であり、コンテクスト情報を共用する必要のあるトラン
ザクションを同じアドレススペースで実行しなければな
らない顧客情報制御システムではサポートされないもの
である。
【0033】別の実施形態及び拡張 本発明の別の実施形態では、新たなTS待ち行列が、シ
ステムアドミニストレータによるのではなく動的に形成
及び削除される。特に、CICS WriteQ TS
コマンドが指定のTS待ち行列名で最初に実行されると
きに、TS待ち行列ルックアップテーブル215に記録
を形成しそして2つのTS待ち行列ファイルの指定の1
つに制御記録を形成することにより新たなTS待ち行列
が発生される。CICS WriteQ TS機能は、
この別の実施形態では、新たなTS待ち行列を形成すべ
きTS待ち行列ファイルを指示するために新たな「回復
不能」オプションを含むように変更される。「回復不
能」オプションが、WriteQ TS機能コールにお
いて指定された場合には、新たなTS待ち行列が回復不
能TS待ち行列ファイル214において発生され、さも
なくば、新たなTS待ち行列が回復可能なTS待ち行列
ファイル212において発生される。この別の実施形態
では、DeleteQ TS機能は、制御記録の内容を
そのスタート値にリセットして戻すのではなく、TS待
ち行列の制御記録を含む名前付きTS待ち行列を完全に
削除する。
【0034】本発明の別の実施形態においては、32K
バイトより大きな項目を一時的記憶(TS)待ち行列に
記憶することができる。32Kバイトの限界は、好まし
い実施形態における他の記録の最大サイズに関連した人
為的な限界である。従って、他の実施形態においては、
上記のように、一時的な記憶待ち行列の基本的なメカニ
ズムを変更せずに、TS待ち行列項目についての大きな
(又は小さな)サイズ限界を使用することができる。図
9を参照すれば、本発明の規模の拡張において、顧客情
報制御システムのトランザクション負荷が大きく成長し
て、トランザクションルータプロセス又はリンクマネー
ジャプロセスがトランザクション要求処理能力の限界に
よるボトルネックに達したときには、2つ以上の「サー
バクラスター」300を設けることにより図1に示すシ
ステム290を拡張することができ、サーバクラスター
の各々は、それ自身のトランザクションルータプロセス
114、リンクマネージャプロセス115、及びユーザ
アプリケーションプロセス116を有する。各サーバク
ラスター300は、別々の組のサーバ120において動
作する。しかしながら、全てのクラスターにおける全て
のサーバは、通信ネットワーク129(図2)を介して
一緒に接続され、これは、高速データバス及びワイドエ
リアネットワーク(WAN)接続の両方を含む。図9に
示すように、サーバは、共通のファイルシステム及びD
BMS140を共用し、本発明によりコンテクスト情報
をグローバルに共用することができる。又、好ましい実
施形態では、クラスターは、通信アクセスプロセス11
2の使用も分担するが、通信アクセスプロセス112の
多数のインスタンスを使用することもできる。
【0035】マルチクラスターシステム290の好まし
い実施形態では、全てのクラスター300のスタートを
取り扱うのに単一トランザクションスタートプロセス
(図4を参照)が使用され、従って、システムは、順序
付けされたスタート時間値をもつトランザクション要求
がそれらの指定の順序でスタートされるよう確保するこ
とができる。以上、幾つかの特定の実施形態を参照して
本発明を説明したが、これは、単に本発明を解説するも
のに過ぎず、本発明を限定するものではない。特許請求
の範囲に規定された本発明の真の精神及び範囲から逸脱
せずに種々の変更が当業者に明らかであろう。
【図面の簡単な説明】
【図1】本発明の好ましい実施形態による顧客情報制御
システムのブロック図である。
【図2】本発明の好ましい実施形態による顧客情報制御
システムの多数のワークステーション及びサーバコンピ
ュータを示すブロック図である。
【図3】本発明の好ましい実施形態においてリンクマネ
ージャプロセスにより使用されるユーザアプリケーショ
ンプロセス割り当てのブロック図である。
【図4】本発明の好ましい実施形態においてトランザク
ションの実行をスタートするのに使用されるプロセスの
制御流れ線図である。
【図5】本発明の好ましい実施形態においてトランザク
ションの実行を直列化するためのグローバルなエンキュ
ー(Enqueue)/デキュー(Dequeue)機
能の使用に関連したシステムリソースのブロック図であ
る。
【図6】本発明の好ましい実施形態において同じ又は異
なるサーバにおける別々のユーザアプリケーションプロ
セスにより実行されるトランザクション間でデータを共
用するのに適したグローバルな一時的記憶待ち行列の使
用に関連したシステムリソースのブロック図である。
【図7】本発明の好ましい実施形態においてグローバル
にアクセスできる一時的記憶待ち行列にデータを書き込
むための手順のフローチャートである。
【図8】本発明の好ましい実施形態においてグローバル
にアクセスできる一時的記憶待ち行列からデータを読み
取るための手順のフローチャートである。
【図9】複数のサーバクラスターを有する顧客情報制御
システムのブロック図である。
【符号の説明】
100 分散型コンピュータシステム 102 エンドユーザターミナル 110 サーバシステム 112 通信管理プロセス 114 トランザクションルータプロセス 115 リンクマネージャプロセス 116 ユーザアプリケーションプロセス 120 サーバ 121、132 CPU 122、134 一次メモリ 124、136 二次メモリ 126、128 通信インターフェイス 129 通信ネットワーク 130 ユーザインターフェイス 140 ファイルシステム 142 データベーステーブル 146 ディスクプロセス 147 ディスクプロセス手順 150 顧客情報制御システム(CICS)手順 152 アプリケーションプログラム 160 プログラム制御テーブル
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョン エス ディ ロー アメリカ合衆国 カリフォルニア州 95051 サンタ クララ ペッパー トゥ リー レーン 900 アパートメント 725 (72)発明者 マーク フィリップス アメリカ合衆国 カリフォルニア州 95008 キャムベル ラモイン ウェイ 4136 (72)発明者 ディヴィッド ヴェラスコ アメリカ合衆国 カリフォルニア州 95008 キャムベル ハシエンダ コート 1370

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 複数のエンドユーザターミナルと、 複数のサーバコンピュータであって、これら複数のサー
    バコンピュータにわたって分散された多数のユーザアプ
    リケーションプロセスを含んでいるサーバコンピュータ
    と、 上記サーバコンピュータのうちの第1のサーバコンピュ
    ータに記憶されたトランザクションスタートテーブルで
    あって、上記ユーザアプリケーションプロセスによって
    実行されている他のトランザクションにより実行が要求
    されたトランザクションを表すトランザクションスター
    トデータを記憶するためのトランザクションスタートテ
    ーブルとを備え、上記トランザクションスタートデータ
    は、実行が要求された各々の上記トランザクションに対
    するスタート条件を指示し、 上記ユーザアプリケーションプロセスは、スタートトラ
    ンザクション命令の実行に応答して、トランザクション
    スタート記録を発生して、これを、実行が要求されたト
    ランザクションを表す上記トランザクションスタートテ
    ーブルに記憶するための手段を含み、上記トランザクシ
    ョンスタート記録は、上記サーバコンピュータのどれが
    上記スタートトランザクション命令を実行するかに関わ
    りなく、上記第1のサーバコンピュータの上記トランザ
    クションスタートテーブルに記憶され、そして上記サー
    バコンピュータの1つにおいて実行されそして上記トラ
    ンザクションスタートテーブルに結合されたトランザク
    ションスタートプロセスを更に備え、このトランザクシ
    ョンスタートプロセスは、実行が要求された各々の上記
    トランザクションに対する上記スタート条件を評価する
    ための手段であって、上記要求されたトランザクション
    の1つに対する上記スタート条件が満足されたときに、
    上記1つの要求されたトランザクションの実行を上記ユ
    ーザアプリケーションプロセスの1つによって開始する
    ための手段を含むことを特徴とする分散型コンピュータ
    システム。
  2. 【請求項2】 各々の要求されたトランザクションに対
    する上記スタート条件は、その要求されたトランザクシ
    ョンの実行をスタートすべき最も早い時間を示す時間値
    である請求項1に記載の分散型コンピュータシステム。
  3. 【請求項3】 上記ユーザアプリケーションプロセス
    は、キャンセルトランザクション命令の実行に応答し
    て、実行が要求された上記トランザクションを表す上記
    トランザクションスタートテーブルの上記トランザクシ
    ョンスタート記録を削除するための手段を含み、いずれ
    の上記サーバコンピュータのいずれのユーザアプリケー
    ションプロセスも、指定のトランザクションスタート記
    録を発生して記憶するために上記ユーザアプリケーショ
    ンプロセスのどれがそれに対応するスタートトランザク
    ション命令を実行したかに関わりなく上記トランザクシ
    ョンスタートテーブルの上記指定のトランザクションス
    タート記録を削除できる請求項1に記載の分散型コンピ
    ュータシステム。
  4. 【請求項4】 上記サーバコンピュータは、 ルータプロセス手段と、 上記エンドユーザターミナルと上記ルータプロセス手段
    との間でデータを送信するための通信インターフェイス
    とを備え、 上記エンドユーザターミナルから受け取ったデータに基
    づいて上記ユーザアプリケーションプロセスの各々にお
    いてトランザクションの実行を開始するための上記ルー
    タプロセス手段は、上記アプリケーション間の情報共用
    要求に関わりなく計算負荷分布基準に基づいて上記トラ
    ンザクションを実行するようにユーザアプリケーション
    プロセスを選択することを含み、 上記ルータプロセスは、実行の開始を待機しているトラ
    ンザクションを示すための待機トランザクションデータ
    構造体と、関連するスタート基準を満足し且つユーザト
    ランザクションプロセスを使用できるときに上記ユーザ
    アプリケーションプロセスの1つにより上記待機トラン
    ザクションの1つの実行を開始するための手段とを備
    え、そして上記トランザクションスタートプロセスは、
    上記スタート条件が満足されたときに、上記要求された
    トランザクションの実行を要求するメッセージを上記ル
    ータプロセスへ送ることにより、各々の上記要求された
    トランザクションの実行を開始する請求項1に記載の分
    散型コンピュータシステム。
  5. 【請求項5】 複数のエンドユーザターミナルと、複数
    のサーバコンピュータとを有する分散型コンピュータシ
    ステムを動作する方法であって、上記サーバコンピュー
    タは、それら複数のサーバコンピュータにわたって分散
    された多数のユーザアプリケーションプロセスを含み、
    上記方法は、 上記サーバコンピュータのうちの第1のサーバコンピュ
    ータにトランザクションスタートテーブルを記憶し、こ
    れは、上記ユーザアプリケーションプロセスにより実行
    されている他のトランザクションにより実行が要求され
    たトランザクションを表すトランザクションスタートデ
    ータを記憶することを含み、上記トランザクションスタ
    ートデータは、実行が要求された各々の上記トランザク
    ションに対するスタート条件を指示し、 いずれかの実行トランザクションがスタートトランザク
    ション命令を実行するときに、トランザクションスター
    ト記録を発生して、これを、実行が要求されたトランザ
    クションを表す上記トランザクションスタートテーブル
    に記憶し、上記トランザクションスタート記録は、上記
    サーバコンピュータのどれが上記スタートトランザクシ
    ョン命令を実行するかに関わりなく上記サーバコンピュ
    ータのうちの第1のサーバコンピュータの上記トランザ
    クションスタートテーブルに記憶され、 上記サーバコンピュータの1つにおいてトランザクショ
    ンスタートプロセスを実行し、上記トランザクションス
    タートプロセスは、実行が要求された各々の上記トラン
    ザクションに対する上記スタート条件を評価し、そして
    上記要求されたトランザクションの1つに対する上記ス
    タート条件が満足されたときに、上記ユーザアプリケー
    ションプロセスの1つにより上記1つの要求されたトラ
    ンザクションの実行を開始する、という段階を備えたこ
    とを特徴とする方法。
  6. 【請求項6】 上記実行開始段階は、上記トランザクシ
    ョン間の情報共用要求に関わりなく計算負荷分布基準に
    基づいて上記要求されたトランザクションを実行するよ
    うにユーザアプリケーションプロセスを選択することを
    含む請求項5に記載の方法。
  7. 【請求項7】 いずれかの実行トランザクションがキャ
    ンセルトランザクション命令を実行するときに、実行が
    要求された指定のトランザクションを表す上記トランザ
    クションスタートテーブルにおける指定のトランザクシ
    ョンスタート記録を削除し、いずれの上記サーバコンピ
    ュータにおけるいずれのユーザアプリケーションプロセ
    スも、指定のトランザクションスタート記録を発生して
    記憶するために上記ユーザアプリケーションプロセスの
    どれがそれに対応するスタートトランザクション命令を
    実行したかに関わりなく上記トランザクションスタート
    テーブルにおける上記指定のトランザクションスタート
    記録の削除を開始できる請求項5に記載の方法。
  8. 【請求項8】 各々の要求されたトランザクションに対
    する上記スタート条件は、その要求されたトランザクシ
    ョンの実行をスタートすべき最も早い時間を指示する時
    間値である請求項5に記載の方法。
JP8145730A 1995-06-07 1996-06-07 疎結合並列処理環境においてapiスタート及びキャンセルトランザクション機能を有する顧客情報制御システム及び方法 Pending JPH0944461A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/479,702 US5630133A (en) 1995-06-07 1995-06-07 Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment
US08/479702 1995-06-07

Publications (1)

Publication Number Publication Date
JPH0944461A true JPH0944461A (ja) 1997-02-14

Family

ID=23905068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8145730A Pending JPH0944461A (ja) 1995-06-07 1996-06-07 疎結合並列処理環境においてapiスタート及びキャンセルトランザクション機能を有する顧客情報制御システム及び方法

Country Status (4)

Country Link
US (1) US5630133A (ja)
EP (1) EP0747812A3 (ja)
JP (1) JPH0944461A (ja)
CA (1) CA2176905A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5964830A (en) * 1995-08-22 1999-10-12 Durrett; Charles M. User portal device for the world wide web to communicate with a website server
US5778367A (en) * 1995-12-14 1998-07-07 Network Engineering Software, Inc. Automated on-line information service and directory, particularly for the world wide web
US5828847A (en) * 1996-04-19 1998-10-27 Storage Technology Corporation Dynamic server switching for maximum server availability and load balancing
US6178464B1 (en) * 1996-05-10 2001-01-23 Apple Computer, Inc. System and method for canceling a computer request
US5925095A (en) * 1997-05-12 1999-07-20 International Business Machines Corporation Method and a computer program product for client/server computing with support for both recoverable and non-recoverable clients
US6230183B1 (en) 1998-03-11 2001-05-08 International Business Machines Corporation Method and apparatus for controlling the number of servers in a multisystem cluster
US6618742B1 (en) 2000-01-10 2003-09-09 Imagex.Com, Inc. Method for job impact learning
US6618820B1 (en) 2000-01-10 2003-09-09 Imagex.Com, Inc. Method for configuring an application server system
US8402124B1 (en) * 2000-11-16 2013-03-19 International Business Machines Corporation Method and system for automatic load balancing of advertised services by service information propagation based on user on-demand requests
US6925645B2 (en) * 2000-12-29 2005-08-02 Webex Communications, Inc. Fault tolerant server architecture for collaborative computing
US8214461B1 (en) 2004-11-23 2012-07-03 Hewlett-Packard Development Company, L.P. Method of processing request by server computer system
US7644410B1 (en) * 2004-11-23 2010-01-05 Hewlett-Packard Development Company, L.P. Resource management for shared computing environment
US9836353B2 (en) * 2012-09-12 2017-12-05 International Business Machines Corporation Reconstruction of system definitional and state information

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
JPS63204437A (ja) * 1987-02-13 1988-08-24 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン ロック・システム
US5341477A (en) * 1989-02-24 1994-08-23 Digital Equipment Corporation Broker for computer network server selection
US5095421A (en) * 1989-08-17 1992-03-10 International Business Machines Corporation Transaction processing facility within an operating system environment
JPH0378082A (ja) * 1989-08-21 1991-04-03 Hitachi Ltd 予約取引処理方法
US5161227A (en) * 1989-11-13 1992-11-03 International Business Machines Corporation Multilevel locking system and method
JP2533266B2 (ja) * 1991-06-14 1996-09-11 インターナショナル・ビジネス・マシーンズ・コーポレイション 共用デ―タシステムにおけるデ―タ資源のロッキング方法及びシステム間のデ―タロック管理方法
US5504894A (en) * 1992-04-30 1996-04-02 International Business Machines Corporation Workload manager for achieving transaction class response time goals in a multiprocessing system
US5530848A (en) * 1992-10-15 1996-06-25 The Dow Chemical Company System and method for implementing an interface between an external process and transaction processing system
JP3003440B2 (ja) * 1993-01-19 2000-01-31 株式会社日立製作所 負荷分散制御方法および分散処理システム
SE9300671D0 (sv) * 1993-03-01 1993-03-01 Sven Nauckhoff Work flow management

Also Published As

Publication number Publication date
US5630133A (en) 1997-05-13
CA2176905A1 (en) 1996-12-08
EP0747812A2 (en) 1996-12-11
EP0747812A3 (en) 1998-03-25

Similar Documents

Publication Publication Date Title
JPH0954754A (ja) 疎結合並列処理環境における顧客情報制御システム及び方法
US7349970B2 (en) Workload management of stateful program entities
US9977689B2 (en) Dynamic scaling of management infrastructure in virtual environments
US9959313B2 (en) Database management system and method capable of dynamically issuing inputs/outputs and executing operations in parallel
US7814065B2 (en) Affinity-based recovery/failover in a cluster environment
JPH0950418A (ja) 疎結合並列処理環境において一時的記憶待ち行列機能を有する顧客情報制御システム及び方法
US7107323B2 (en) System and method of file distribution for a computer system in which partial files are arranged according to various allocation rules
US7188128B1 (en) File system and methods for performing file create and open operations with efficient storage allocation
JPH0522259B2 (ja)
JPH0962635A (ja) 疎結合並列処理環境においてトランザクション直列化制御機能を有する顧客情報制御システム及び方法
JPH11506552A (ja) pipes及びfifosを用いてマルチプロセッサ・コンピュータ・システムのファイルをアクセスする方法
JPH0944461A (ja) 疎結合並列処理環境においてapiスタート及びキャンセルトランザクション機能を有する顧客情報制御システム及び方法
US11449241B2 (en) Customizable lock management for distributed resources
US10942821B1 (en) Method and apparatus for dynamic binding and unbinding thin logical storage volumes to snapshots of a file system
JP5235751B2 (ja) 仮想計算機を有する物理計算機
US20090320036A1 (en) File System Object Node Management
US20060010094A1 (en) Managing entity-relationship data for data objects persisted in a relational database
US20240118973A1 (en) Database node soft restart
CN117290160A (zh) 数据库读写分离集群的备份方法、存储介质与设备
JPH04167152A (ja) 空きメモリ管理方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050404

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050905