JPH0954754A - 疎結合並列処理環境における顧客情報制御システム及び方法 - Google Patents

疎結合並列処理環境における顧客情報制御システム及び方法

Info

Publication number
JPH0954754A
JPH0954754A JP8145733A JP14573396A JPH0954754A JP H0954754 A JPH0954754 A JP H0954754A JP 8145733 A JP8145733 A JP 8145733A JP 14573396 A JP14573396 A JP 14573396A JP H0954754 A JPH0954754 A JP H0954754A
Authority
JP
Japan
Prior art keywords
transaction
user application
execution
server
transactions
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
JP8145733A
Other languages
English (en)
Inventor
Mark Phillips
フィリップス マーク
Roo John S De
エス ディ ロー ジョン
Andreas E Hotea
イー ホーティ アンドリアス
Robert W Redd
ダブリュー レッド ロバート
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 JPH0954754A publication Critical patent/JPH0954754A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 疎結合並列プロセッサの顧客情報制御システ
ムの計算負荷を分散するコンピュータを提供する。 【解決手段】 分散型システムには複数の端末と複数の
疎結合サーバを含み、多数のアプリケーションがこれ等
に分布される。ユーザ端末とサーバの1つにおいて実行
されるトランザクション間のデータ送信に基づいて、ア
プリケーションによるトランザクションの実行が開始さ
れる。リンクマネージャプロセスは計算負荷分布基準に
基づいてアプリケーションを実行し、計算負荷をできる
だけ均一に分布させてシステムの効率と応答性を最大に
する。サーバの少なくとも1つに配置されたファイルは
どのサーバにおいてユーザアプリケーションプロセスが
実行されるかに関わりなく全てのプロセスに対し記憶さ
れたファイル及びデータベーステーブルへのアクセスを
与える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般に、顧客情報
制御システム(CICS)トランザクション処理に使用
されるコンピュータシステムに係り、より詳細には、顧
客情報制御システムの計算負荷を1組の疎結合の並列プ
ロセッサにわたって分散する分散型コンピュータシステ
ムに係る。
【0002】
【従来の技術】大規模顧客情報制御システムの普及モデ
ルは、単一メインフレームコンピュータである。単一メ
インフレーム上であるが個別のアドレススペース内で実
行される多数のユーザアプリケーションプロセスを用い
ることにより非常に多数のトランザクションが受け入れ
られる。このようなシステムで実行される2つのトラン
ザクションがコンテクスト情報を共用する必要があると
きには、両方のトランザクションが同じアドレススペー
スにおいて実行され(即ち、同じユーザアプリケーショ
ンプロセスにより)、そして共用される必要のあるコン
テクスト情報は、共通のアドレススペース内の「共用」
メモリに記憶される。あるトランザクションが、コンテ
クスト情報を共用する必要のある他のトランザクション
を実行するのに用いられるものと同じユーザアプリケー
ションプロセスにより実行されるよう確保する助けとし
て、トランザクションの実行の前に、そのトランザクシ
ョンと顧客情報制御システムで実行される他の全てのト
ランザクションとの「トランザクション親和性」を決定
することが必要となっている。このトランザクション親
和性を決定する手順は、複雑であり、トランザクション
の実行を開始する前に行わねばならず、そして大きな負
荷のかかったユーザアプリケーションプロセスにトラン
ザクションを割り当てる一方、他のユーザアプリケーシ
ョンプロセスの負荷が相当に軽くなることがある。
【0003】更に、このようなシステムのトランザクシ
ョン負荷が増加して、使用されているコンピュータが許
容応答時間内にトランザクションを実行できない点に達
すると、そのコンピュータを、更に大型で高速のコンピ
ュータに交換しなければならず、このようなコンピュー
タは、非常に高価なメインフレームコンピュータである
ことが多い。
【0004】
【発明が解決しようとする課題】そこで、本発明の主た
る目的は、システム内の多数のプロセッサが疎結合され
ていて、リソースを共用しないような拡張可能な顧客情
報制御システムを提供することである。本発明の別の目
的は、トランザクション処理負荷の増加を、システム内
の疎結合プロセッサの数を増加することにより受け入れ
ることのできる拡張可能な顧客情報制御システムを提供
することである。本発明の更に別の目的は、トランザク
ションがコンテクストを共用する潜在的又は既知の必要
性に関わりなく使用可能なプロセッサリソースに基づい
て(即ち負荷バランスの要件に基づいて)トランザクシ
ョンがアプリケーションプロセスに指定されるようなマ
ルチコンピュータ顧客情報制御システムを提供すること
である。
【0005】
【課題を解決するための手段】要約すれば、本発明は、
複数のエンドユーザターミナルと、互いにリソースを共
用しない複数の疎結合されたサーバコンピュータとを有
する分散型コンピュータシステムを提供する。多数のユ
ーザアプリケーションプロセスがサーバコンピュータに
わたり分散される。通信管理プロセスは、エンドユーザ
ターミナルと、サーバコンピュータの1つにおいて実行
されるトランザクションルータプロセスとの間にデータ
を送信する。このトランザクションルータプロセスは、
エンドユーザターミナルから受け取ったデータに基づい
てユーザアプリケーションプロセスの1つによりトラン
ザクションの実行を開始する。リンクマネージャプロセ
スは、計算負荷分布基準に基づいてトランザクションを
実行するようにアプリケーションプロセスを選択し、計
算負荷をサーバコンピュータにわたってできるだけ均一
に分散させ、これにより、システムのスループット及び
応答性能を最大にさせる。上記サーバコンピュータの少
なくとも1つに配置されたファイルシステムは、どのサ
ーバコンピュータにおいて各ユーザアプリケーションプ
ロセスが実行されるかに関わりなく全てのユーザアプリ
ケーションプロセスに対しその記憶されたファイル及び
データベーステーブルへのグローバルなアクセスを与え
る。
【0006】トランザクションルータプロセスは、スタ
ートを待機しているトランザクションを指示すると共
に、関連するスタート基準が満足され且つユーザトラン
ザクションプロセスが使用できるときにユーザアプリケ
ーションプロセスの1つにより待機中トランザクション
の1つの実行を開始するためのデータ構造体を備えてい
る。
【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のトランザクションスタート記録に対応するトラン
ザクション要求をトランザクションルータプロセスへ送
り、そしてその次のトランザクションがもしあれば、そ
れに関連した時間までそれ自身をスリープ状態に戻す。
要約すれば、トランザクション要求プロセス114、リ
ンクマネージャ115及びトランザクションスタートプ
ロセス172は、サーバ独立ベースでエンドユーザにト
ランザクションスタート及びアプリケーションプロセス
割り当てサービスを与える。
【0021】直列化の制御 並列アプリケーションは、重畳する時間周期中に実行さ
れるものであるか、或いは異なる時間に実行できるがそ
れに関連した直列化の必要性を有するものである。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)発明者 アンドリアス イー ホーティ アメリカ合衆国 カリフォルニア州 95051 サンタ クララ ペッパー トゥ リー レーン 900 アパートメント 725 (72)発明者 ロバート ダブリュー レッド アメリカ合衆国 ジョージア州 30076 ロズウェル ウインドリフト コート 320 (72)発明者 ディヴィッド ヴェラスコ アメリカ合衆国 カリフォルニア州 95008 キャムベル ハシエンダ コート 1370

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 複数のエンドユーザターミナルと、 複数のサーバコンピュータとを備え、これらサーバコン
    ピュータは、 これら複数のサーバコンピュータにわたって分散された
    多数のユーザアプリケーションプロセスと、 トランザクションルータと、 上記エンドユーザターミナルと、上記ルータプロセスと
    の間にデータを送信するための通信インターフェイスと
    を含み、 上記トランザクションルータは、上記エンドユーザター
    ミナルから受け取ったデータに基づいて上記ユーザアプ
    リケーションプロセスの1つにおいてトランザクション
    の実行を開始するためのものであって、上記アプリケー
    ション間の情報共用要求に関わりなく計算負荷分布基準
    に基づいて上記トランザクションを実行するようにユー
    ザアプリケーションプロセスを選択することを含み、そ
    して上記トランザクションルータは、実行スタートを待
    機しているトランザクションを示すための待機中トラン
    ザクションデータ構造体と、関連するスタート基準が満
    足され且つユーザトランザクションプロセスが使用可能
    であるときに上記ユーザアプリケーションプロセスの1
    つにより上記待機中トランザクションの1つの実行を開
    始するための手段とを備えたことを特徴とする分散型コ
    ンピュータシステム。
  2. 【請求項2】 上記サーバコンピュータの少なくとも1
    つに配置され、ファイル及びデータベーステーブルを記
    憶すると共に、どのサーバコンピュータにおいて各ユー
    ザアプリケーションプロセスが実行されるかに関わりな
    く全ての上記ユーザアプリケーションプロセスに対し上
    記記憶されたファイル及びデータベーステーブルへのア
    クセスを与えるためのファイルシステムを更に備えた請
    求項1に記載のシステム。
  3. 【請求項3】 各々の上記トランザクションに対し、上
    記トランザクションを実行するのに適した上記ユーザア
    プリケーションプロセスのサブセットを指示するプログ
    ラム制御テーブルを更に備え、 上記トランザクションルータは、上記プログラム制御テ
    ーブルにより指示された上記ユーザプロセスアプリケー
    ションサブセットからの各々の上記トランザクションを
    実行するためにユーザアプリケーションプロセスを選択
    するリソース割り当て機能を含む請求項1に記載のシス
    テム。
  4. 【請求項4】 上記サーバコンピュータの1つに記憶さ
    れ、上記ユーザアプリケーションプロセスにより実行さ
    れている他のトランザクションにより実行が要求された
    トランザクションを表すトランザクションスタートデー
    タを記憶するためのトランザクションスタートテーブル
    を更に備え、上記トランザクションスタートデータは、
    実行が要求された各々の上記トランザクションに対する
    スタート条件を指示し、 上記サーバコンピュータの1つにおいて実行されそして
    上記トランザクションスタートテーブルに接続されたト
    ランザクションスタートプロセスを更に備え、このトラ
    ンザクションスタートプロセスは、実行が要求された各
    々の上記トランザクションに対して上記スタート条件を
    評価しそして上記スタート条件が満足されたときに上記
    トランザクションルータが上記トランザクションの実行
    を開始するよう要求するメッセージを上記トランザクシ
    ョンルータに送信するための手段を含む請求項1に記載
    のシステム。
  5. 【請求項5】 トランザクションの形式指示子を各々の
    サーバクラスにマップすると共に、各々のサーバクラス
    を上記ユーザアプリケーションプロセスの個別のサブセ
    ットにマップする制御データ構造体を更に備え、 上記トランザクションルータは、各トランザクションの
    実行を開始するときに上記制御データ構造体から上記各
    々のトランザクションに関連したサーバクラスを決定
    し、上記ユーザアプリケーションプロセスの対応サブセ
    ットを決定し、ユーザアプリケーションプロセスの上記
    サブセットのどれが、他のトランザクションを実行する
    ビジー状態でないかを決定し、そして上記ビジーでない
    ユーザアプリケーションプロセスが存在するサーバコン
    ピュータに上記負荷分布基準を適用して、上記各々のト
    ランザクションを実行するために上記ビジーでないユー
    ザアプリケーションプロセスの1つを選択するための手
    段を含む請求項1に記載のシステム。
  6. 【請求項6】 複数のエンドユーザターミナルと、複数
    のサーバコンピュータとを有する分散型コンピュータシ
    ステムを動作する方法であって、上記サーバコンピュー
    タは、それら複数のサーバコンピュータにわたって分散
    された多数のユーザアプリケーションプロセスを含み、
    上記方法は、 上記エンドユーザターミナルから受け取ったデータに基
    づいて上記ユーザアプリケーションプロセスの1つにお
    いてトランザクションの実行を開始し、これは上記トラ
    ンザクション間の情報共用要求に関わりなく計算負荷分
    布基準に基づき上記トランザクションを実行するように
    ユーザアプリケーションプロセスを選択することを含
    み、 上記サーバコンピュータの少なくとも1つに待機中トラ
    ンザクションのデータ構造体を記憶し、そして上記待機
    中トランザクションのデータ構造体において実行のスタ
    ートを待機しているトランザクションを表示し、 上記実行開始段階は、関連するスタート基準が満足され
    且つユーザトランザクションプロセスが使用できるとき
    に上記ユーザアプリケーションプロセスにより上記待機
    中トランザクションの1つの実行を開始することを含む
    ことを特徴とする方法。
  7. 【請求項7】 上記実行開始段階は、 上記サーバコンピュータの1つにおいてトランザクショ
    ンルート決め手順を実行し、そして上記エンドユーザタ
    ーミナルと上記トランザクションルート決め手順との間
    にデータを送信することを含み、 上記トランザクションルート決め手順は、どのユーザア
    プリケーションプロセスが各々の上記トランザクション
    を実行すべきか選択し、そしてその選択されたユーザア
    プリケーションプロセスにより上記各々のトランザクシ
    ョンの実行を開始する請求項6に記載の方法。
  8. 【請求項8】 上記サーバコンピュータの少なくとも1
    つに配置され、ファイル及びデータベーステーブルを記
    憶すると共に、どのサーバコンピュータにおいて各ユー
    ザアプリケーションプロセスが実行されるかに関わりな
    く全ての上記ユーザアプリケーションプロセスに対し上
    記記憶されたファイル及びデータベーステーブルへのア
    クセスを与えるためのファイルシステムを設けることを
    更に含む請求項6に記載の方法。
  9. 【請求項9】 各々の上記トランザクションに対し、上
    記トランザクションを実行するのに適した上記ユーザア
    プリケーションプロセスのサブセットを指示するプログ
    ラム制御テーブルを設け、 上記プログラム制御テーブルにより指示された上記ユー
    ザプロセスアプリケーションサブセットから各々の上記
    トランザクションを実行するようにユーザアプリケーシ
    ョンプロセスを選択することを更に含む請求項6に記載
    の方法。
  10. 【請求項10】 上記サーバコンピュータの1つにトラ
    ンザクションスタートテーブルを記憶し、そしてこのト
    ランザクションスタートテーブル内に、上記ユーザアプ
    リケーションプロセスにより実行されている他のトラン
    ザクションにより実行が要求されたトランザクションを
    表すトランザクションスタートデータを記憶し、このト
    ランザクションスタートデータは、実行が要求された各
    々の上記トランザクションに対するスタート条件を指示
    し、 上記実行開始段階を行うために上記サーバコンピュータ
    の1つにおいてトランザクションルータプロセスを実行
    し、 上記サーバコンピュータの1つにおいてトランザクショ
    ンスタートプロセスを実行し、このトランザクションス
    タートプロセスは、実行が要求された各々の上記トラン
    ザクションに対し上記スタート条件を評価し、そしてそ
    のスタート条件が満足されたときに、上記トランザクシ
    ョンルータが上記トランザクションの実行を開始するよ
    うに要求するメッセージを上記トランザクションルータ
    に送信するという段階を更に含む請求項6に記載の方
    法。
  11. 【請求項11】 トランザクションの形式指示子を各々
    のサーバクラスにマップすると共に、各々のサーバクラ
    スを上記ユーザアプリケーションプロセスの個別のサブ
    セットにマップする制御データ構造体を記憶し、 上記実行開始段階は、各トランザクションの実行を開始
    するときに、上記制御データ構造体から、上記各々のト
    ランザクションに関連したサーバクラスを決定し、上記
    ユーザアプリケーションプロセスの対応サブセットを決
    定し、ユーザアプリケーションプロセスの上記サブセッ
    トのどれがビジーでなくて他のトランザクションを実行
    するかを決定し、そして上記ビジーでないユーザアプリ
    ケーションプロセスが存在するサーバコンピュータに上
    記負荷分布基準を適用して、上記各々のトランザクショ
    ンを実行するために上記ビジーでないユーザアプリケー
    ションプロセスの1つを選択することを含む請求項6に
    記載の方法。
JP8145733A 1995-06-07 1996-06-07 疎結合並列処理環境における顧客情報制御システム及び方法 Pending JPH0954754A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/478058 1995-06-07
US08/478,058 US5687372A (en) 1995-06-07 1995-06-07 Customer information control system and method in a loosely coupled parallel processing environment

Publications (1)

Publication Number Publication Date
JPH0954754A true JPH0954754A (ja) 1997-02-25

Family

ID=23898357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8145733A Pending JPH0954754A (ja) 1995-06-07 1996-06-07 疎結合並列処理環境における顧客情報制御システム及び方法

Country Status (4)

Country Link
US (1) US5687372A (ja)
EP (1) EP0747832A3 (ja)
JP (1) JPH0954754A (ja)
CA (1) CA2177020A1 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2159269C (en) * 1995-09-27 2000-11-21 Chaitanya K. Baru Method and apparatus for achieving uniform data distribution in a parallel database system
US6047309A (en) * 1995-10-02 2000-04-04 International Business Machines Corporation Recording observed and reported response characteristics at server and/or client nodes in a replicated data environment, and selecting a server to provide data based on the observed and/or reported response characteristics
US6173317B1 (en) 1997-03-14 2001-01-09 Microsoft Corporation Streaming and displaying a video stream with synchronized annotations over a computer network
US6412004B1 (en) * 1997-03-27 2002-06-25 Microsoft Corporation Metaserver for a multimedia distribution network
US5920863A (en) * 1997-05-31 1999-07-06 International Business Machines Corporation System and method for supporting transactions for a thin client lacking a persistent store in a distributed object-oriented environment
US6151707A (en) * 1997-11-20 2000-11-21 Remedy Corporation System and method for product registration
US20020055906A1 (en) * 1998-03-11 2002-05-09 Katz Ronald A. Methods and apparatus for intelligent selection of goods and services in telephonic and electronic commerce
US7437313B1 (en) 1998-03-11 2008-10-14 West Direct, Llc Methods, computer-readable media, and apparatus for offering users a plurality of scenarios under which to conduct at least one primary transaction
US6615245B1 (en) * 1998-09-08 2003-09-02 Mcfall Michael E. System and method for enabling a hierarchal collaboration of devices across a communication channel
US6477535B1 (en) * 1998-11-25 2002-11-05 Computer Associates Think Inc. Method and apparatus for concurrent DBMS table operations
US6442568B1 (en) 1998-12-11 2002-08-27 Compaq Computer Corporation Customer information control system application programming interface with transient data functions, in a loosely coupled data processing environment
US6618820B1 (en) 2000-01-10 2003-09-09 Imagex.Com, Inc. Method for configuring an application server system
US6618742B1 (en) 2000-01-10 2003-09-09 Imagex.Com, Inc. Method for job impact learning
JP3788111B2 (ja) * 1999-06-30 2006-06-21 株式会社デンソー 情報サービスシステム
US6418540B1 (en) * 1999-08-27 2002-07-09 Lucent Technologies Inc. State transfer with throw-away thread
US6775831B1 (en) * 2000-02-11 2004-08-10 Overture Services, Inc. System and method for rapid completion of data processing tasks distributed on a network
US6928482B1 (en) 2000-06-29 2005-08-09 Cisco Technology, Inc. Method and apparatus for scalable process flow load balancing of a multiplicity of parallel packet processors in a digital communication network
US7246123B2 (en) * 2000-08-04 2007-07-17 Carr Scott Software Incorporated Automatic transaction management
FR2816080B1 (fr) * 2000-10-30 2003-01-31 France Telecom Procede de propagation de contextes d'invocation a travers un systeme distribue a objets
US7523454B2 (en) * 2001-03-06 2009-04-21 Hewlett-Packard Development Company, L.P. Apparatus and method for routing a transaction to a partitioned server
US20020141378A1 (en) * 2001-03-28 2002-10-03 Bays Robert James Methods, apparatuses and systems facilitating deployment, support and configuration of network routing policies
US7139242B2 (en) * 2001-03-28 2006-11-21 Proficient Networks, Inc. Methods, apparatuses and systems facilitating deployment, support and configuration of network routing policies
US6931410B2 (en) 2002-01-11 2005-08-16 International Business Machines Corporation Method, apparatus, and program for separate representations of file system locations from referring file systems
US7178720B1 (en) 2004-09-30 2007-02-20 West Corporation Methods, computer-readable media, and computer program product for intelligent selection of items encoded onto portable machine-playable entertainment media
US7644410B1 (en) * 2004-11-23 2010-01-05 Hewlett-Packard Development Company, L.P. Resource management for shared computing environment
US8214461B1 (en) 2004-11-23 2012-07-03 Hewlett-Packard Development Company, L.P. Method of processing request by server computer system
US7987225B2 (en) * 2004-12-22 2011-07-26 International Business Machines Corporation Method for remembering resource allocation in grids
US8806495B2 (en) * 2006-11-20 2014-08-12 Microsoft Corp. Lightweight transactional memory for data parallel programming
US20130080635A1 (en) * 2011-09-23 2013-03-28 Loyal3 Holdings, Inc. Massively Scalable Electronic Gating System
US20130160022A1 (en) * 2011-12-19 2013-06-20 International Business Machines Corporation Transaction manager for negotiating large transactions
US9692818B2 (en) * 2014-04-11 2017-06-27 Bank Of America Corporation Automated application deployment based on server utilization
US9936048B2 (en) * 2014-09-10 2018-04-03 International Business Machines Corporation Client system communication with a member of a cluster of server systems
CN110708258B (zh) * 2019-09-29 2023-04-07 Oppo广东移动通信有限公司 流量控制方法、装置、服务器及存储介质

Family Cites Families (14)

* 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
US5095421A (en) * 1989-08-17 1992-03-10 International Business Machines Corporation Transaction processing facility within an operating system environment
US5283897A (en) * 1990-04-30 1994-02-01 International Business Machines Corporation Semi-dynamic load balancer for periodically reassigning new transactions of a transaction type from an overload processor to an under-utilized processor based on the predicted load thereof
US5363121A (en) * 1990-06-29 1994-11-08 International Business Machines Corporation Multiple protocol communication interface for distributed transaction processing
US5247664A (en) * 1991-03-28 1993-09-21 Amoco Corporation Fault-tolerant distributed database system and method for the management of correctable subtransaction faults by the global transaction source node
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
EP0595453B1 (en) * 1992-10-24 1998-11-11 International Computers Limited Distributed data processing system
US5452459A (en) * 1993-01-08 1995-09-19 Digital Equipment Corporation Method and apparatus for allocating server access in a distributed computing environment
JP3003440B2 (ja) * 1993-01-19 2000-01-31 株式会社日立製作所 負荷分散制御方法および分散処理システム
SE9300671D0 (sv) * 1993-03-01 1993-03-01 Sven Nauckhoff Work flow management
US5459837A (en) * 1993-04-21 1995-10-17 Digital Equipment Corporation System to facilitate efficient utilization of network resources in a computer network
US5537542A (en) * 1994-04-04 1996-07-16 International Business Machines Corporation Apparatus and method for managing a server workload according to client performance goals in a client/server data processing system
US5553239A (en) * 1994-11-10 1996-09-03 At&T Corporation Management facility for server entry and application utilization in a multi-node server configuration
US5603029A (en) * 1995-06-07 1997-02-11 International Business Machines Corporation System of assigning work requests based on classifying into an eligible class where the criteria is goal oriented and capacity information is available

Also Published As

Publication number Publication date
US5687372A (en) 1997-11-11
CA2177020A1 (en) 1996-12-08
EP0747832A2 (en) 1996-12-11
EP0747832A3 (en) 1998-04-01

Similar Documents

Publication Publication Date Title
JPH0954754A (ja) 疎結合並列処理環境における顧客情報制御システム及び方法
US7349970B2 (en) Workload management of stateful program entities
US9665404B2 (en) Optimization of map-reduce shuffle performance through shuffler I/O pipeline actions and planning
US9996401B2 (en) Task processing method and virtual machine
JPH0950418A (ja) 疎結合並列処理環境において一時的記憶待ち行列機能を有する顧客情報制御システム及び方法
US7814065B2 (en) Affinity-based recovery/failover in a cluster environment
JP3882930B2 (ja) 共用リソースを使用するための仮想計算機の管理
US8006254B2 (en) Bequeathing privilege to a dynamically loaded module
JPH0522259B2 (ja)
JPH0962635A (ja) 疎結合並列処理環境においてトランザクション直列化制御機能を有する顧客情報制御システム及び方法
JPH11506552A (ja) pipes及びfifosを用いてマルチプロセッサ・コンピュータ・システムのファイルをアクセスする方法
JPH0944461A (ja) 疎結合並列処理環境においてapiスタート及びキャンセルトランザクション機能を有する顧客情報制御システム及び方法
US20140089260A1 (en) Workload transitioning in an in-memory data grid
US12001338B2 (en) Method and system for implementing metadata compression in a virtualization environment
JPH01144152A (ja) データ処理システムの制御方法
CN112039963A (zh) 一种处理器的绑定方法、装置、计算机设备和存储介质
JP5235751B2 (ja) 仮想計算機を有する物理計算機
US10824640B1 (en) Framework for scheduling concurrent replication cycles
US10942821B1 (en) Method and apparatus for dynamic binding and unbinding thin logical storage volumes to snapshots of a file system
US12007842B2 (en) Database node soft restart
JPH09231180A (ja) サーバ分割方法
US20240160487A1 (en) Flexible gpu resource scheduling method in large-scale container operation environment
CN117290160A (zh) 数据库读写分离集群的备份方法、存储介质与设备
JPH04167152A (ja) 空きメモリ管理方式
JPH11134206A (ja) 分散共有リソース管理方法ならびに並列処理環境提供システム、及び同方法がプログラムされ記録される記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060110

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060703