JPH0644195A - 結合式データ処理システム用の方法および装置 - Google Patents

結合式データ処理システム用の方法および装置

Info

Publication number
JPH0644195A
JPH0644195A JP5066503A JP6650393A JPH0644195A JP H0644195 A JPH0644195 A JP H0644195A JP 5066503 A JP5066503 A JP 5066503A JP 6650393 A JP6650393 A JP 6650393A JP H0644195 A JPH0644195 A JP H0644195A
Authority
JP
Japan
Prior art keywords
list
command
ses
data
item
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
JP5066503A
Other languages
English (en)
Other versions
JP2656708B2 (ja
Inventor
David A Elko
デーヴィッド・アーレン・エルコ
Jeffrey A Frey
ジェフリー・アラン・フレイ
Audrey A Helffrich
オードリー・アン・ヘルフリッヒ
Jr John F Isenberg
ジョン・フランクリン・アイゼンバーグ・ジュニア
Jeffrey M Nick
ジェフリー・マーク・ニック
Jimmy P Strickland
ジミー・ポール・ストリックランド
Michael D Swanson
マイケル・ダスティン・スワンソン
Brian B Moore
ブライアン・バリー・モア
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 JPH0644195A publication Critical patent/JPH0644195A/ja
Application granted granted Critical
Publication of JP2656708B2 publication Critical patent/JP2656708B2/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/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 疎結合データ処理システム用の改良された機
構を提供する。 【構成】 構造化外部記憶(SES)装置を、2つ以上
のDPシステムに接続し、システムを疎結合する。この
SESは、異なる2つのタイプのデータ・オブジェクト
を保持する能力を有し、メッセージ・プロトコルを使っ
てコマンドおよびコマンド応答をシステムと通信する。
その上で1システムが実行中のプロセッサ内のサポート
機構が、メインライン・システム実行に割り込むことな
く、SESから状況情報を受け取る。SES内で、逐次
化機構を用いて、データ・オブジェクトの保全性または
コマンドの一貫性を失うことなく、複数のコマンドが並
列に実行できるようにする。順方向完了機構が、特定の
コマンド完了の早期通知をシステムに送るが、得られる
この通知と矛盾する結果を生じさせない。再始動機構
は、開始元のシステムによって、割り込まれたコマンド
が再始動できるようにする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、結合式データ処理シス
テムに関する。具体的に言うと、本発明は、独立に動作
するが、構造化外部記憶(SES)処理機構への付加に
よって疎結合されたデータ処理システムに関する。
【0002】
【従来の技術】過去の疎結合データ処理システムは、し
ばしば、(異なるプロセッサ上または共通の区分式プロ
セッサ上で実行される)複数のオペレーティング・シス
テムがそれぞれ共用データを格納する共用直接アクセス
記憶装置(DASD)に付加されることを特徴としてい
た。このようなシステムでは、共用DASDは、単なる
リポジトリとして機能し、付加された各システム(また
はそのようなシステム上のプログラムもしくはプロセ
ス)がDASD上のデータを操作し、他のシステムが後
でそのような操作の結果を見るようになっている。IB
MのMVS/SPJES2が、このような環境の一例で
ある。このような環境では、共用データ・リポジトリ
(共用DASD)は、「受動」要素であり、その結合
は、ロック・プロトコルなどシステム間で合意されたプ
ロトコルによって、また、しばしばシステム間の直接通
信によって達成される。
【0003】
【発明が解決しようとする課題】本発明は、本明細書で
「構造化外部記憶」(SES)機構と称する装置を介し
てシステムを互いに結合するための機構を提供する。こ
の機構は、共用データ・オブジェクト(本明細書では、
キャッシュ・オブジェクトとリスト・オブジェクトとい
う異なる2つのタイプのうちの一方または両方として記
述する)用のリポジトリであり、共用側システムから定
義済みのメッセージ・プロトコルを介して受け取ったコ
マンドまたはメッセージを、独立に処理できる処理能力
を有する。これらのコマンドを処理する際に、SES
は、コマンド送出元のシステムまたは他のシステムへの
メッセージを生成することができる。各共用側システム
は、SESサポート機構を有し、このSESサポート機
構は、共用側システムがその上で動作しているプロセッ
サ内のメインライン処理への割込みなしに、共用側シス
テムがSESからの通知を受け取れるようにする。
【0004】SES側では、コマンド逐次化機構が、複
数のコマンドの並列実行を可能にすると同時に、データ
・オブジェクトの保全性を保つ。「順方向完了」機構
が、SESで実際に処理が完了する前に共用側プロセッ
サにコマンド応答を返せるようにすると同時に、このよ
うな早期完了応答を受け取った後に共用側プロセッサか
らの不完全な結果が観察されないようにする。また、再
始動機構は、開始側システムによる、あるいは特定のコ
マンドの場合には任意のシステムによる、SES内で割
り込まれたコマンドの再始動を可能にする。
【0005】本発明の目的は、疎結合データ処理システ
ム用の改良された機構を提供することである。
【0006】本発明のもう1つの目的は、独立にコマン
ドを実行できるシステム結合装置を提供することであ
る。
【0007】本発明のもう1つの目的は、共用側システ
ムからのコマンドに応答して、少なくとも2つの異なる
タイプの共用データ・オブジェクトを記憶し、それに対
して操作できるシステム結合装置を提供することであ
る。
【0008】本発明のもう1つの目的は、異なる2つの
タイプのデータ・オブジェクトを格納する共用結合装置
と相互作用し、これから通知を受け取ることのできるサ
ポート機構を、各共用側プロセッサ側で提供することで
ある。
【0009】本発明のもう1つの目的は、実際のコマン
ド完了の前に、その後の結合装置によるコマンド完了の
失敗を共用側システムが認識する可能性なしに、共用結
合装置が、共用側データ処理システムに早期にコマンド
完了を通知できるようにすることである。
【0010】本発明のもう1つの目的は、ある共用側シ
ステムによって結合装置で処理を開始されたコマンド
を、その共用側システムによって再始動するための機構
を提供することである。
【0011】本発明のもう1つの目的は、ある共用側シ
ステムによって結合装置で処理を開始されたコマンド
を、別の共用側システムによって再始動するための機構
を提供することである。
【0012】図1は、本発明を使用するデータ処理シス
テムのブロック図である。図1のシステムは、複数の入
出力制御ユニット14A〜14Nへのアクセスを制御す
る動的切替機構12を含む入出力(I/O)システムに
接続された、複数の中央処理複合体(CPC)10A〜
10Nを含む。入出力制御ユニット14A〜14Nは、
それぞれ図示の通り、1つまたは複数の直接アクセス記
憶装置(DASD)D1〜DNを制御する。動的切替機
構12は、インターナショナル・ビジネス・マシーンズ
・コーポレーション(IBM、米国ニューヨーク州アー
モンク)から入手できるESCONディレクタ動的切替
機構とすることができる。このような動的切替機構は、
本発明の所有者に譲渡され、参照によって本明細書に組
み込まれた、1989年10月30日出願の米国特許出
願第07/429267号に開示されている。既知の通
り、入出力コマンドとデータは、当該のCPC10A〜
10Nの入出力チャネル15A〜15Nによって、動的
切替機構12を介しCPCから入出力制御ユニットに送
られる。特定の入出力チャネル用のチャネル・プログラ
ムは、当技術分野で周知の通り、チャネル・コマンド・
ワード(CCW)によって確立される。
【0013】CPC10A〜10Nはそれぞれ、構造化
外部記憶(SES)機構16に接続される。SES機構
16は、CPCによってアクセス可能な記憶域を含み、
CPC内のプログラムによって要求される動作を実行す
る。CPC10A〜10Nは、それぞれシステム間(I
/S)チャネル18A〜18Nを含み、各I/Sチャネ
ルは、SES機構16内のI/Sチャネル20に接続さ
れる。本明細書では、SES機構16を結合機構とも称
する。図1の実施例には、SES機構16が1つだけ示
してあるが、それぞれCPC10A〜10Nのすべてま
たはその一部に接続されたそれ自体のI/Sチャネルと
メッセージ経路を有する、複数のSES機構を設けるこ
とができることが理解されよう。入出力チャネル15
は、周知のチャネル・サブシステム(CSS)の一部で
あり、図1では図示の都合上、入出力チャネル15とI
/Sチャネル18を別々に示してあるが、このCSSは
本明細書に開示するI/Sチャネル18も含むことを理
解されたい。
【0014】各CPC10A〜10Nは、それぞれロー
カル・キャッシュ24A〜24Nを有し、SES機構1
6は、1つまたは複数のSESキャッシュ26を含む。
DASD装置D(本明細書では、DASD40と総称す
る)、ローカル・キャッシュ24A〜24N、およびS
ESキャッシュ26は、3段記憶階層を形成する。最低
記憶段はDASD40であり、中間記憶段はSESキャ
ッシュ26であり、最高記憶段はローカル・キャッシュ
24A〜24Nである。本明細書では、ローカル・キャ
ッシュ24A〜24Nをローカル・キャッシュ24と称
することがある。
【0015】CPC10A〜10Nはそれぞれ、IBM
の出版物SA22-7201-00「エンタープライズ・システム体
系/390解説書(Enterprise Systems Architecture/3
90 Principles of Operation)」に記載の原理に従うI
BMシステムとすることができる。CPC10A〜10
Nはそれぞれ、1台または複数の中央演算処理装置(C
PU)を含み、このCPUは、周知の通り、IBMのM
VSオペレーティング・システムなどのオペレーティン
グ・システムを実行して、データ処理用プログラムの実
行を制御する。このようなプログラムの1つが、本明細
書で述べるSES動作の多くを実行する。このプログラ
ムを、本明細書では「該プログラム」と称する。該プロ
グラムの個々の命令は、「CPU命令」として識別す
る。
【0016】外部基準時間(ETR)28は、障害から
の回復および望ましくない動作の取消しを記録するた
め、また監査証跡のために、ログに書き込まれる制御情
報のタイム・スタンプを供給する。ETR28は、CP
C10A〜10Nのタイム・クロック(図示せず)を、
外部から可視の最も短い動作の持続時間以下の精度に同
期させ、光ファイバ相互接続ケーブルを使用する。ET
R28は、同期を上述の外部動作の長さ以内に維持でき
るようにするために、ケーブル長伝播時間差が重要であ
る場合には、このケーブル長伝播時間差を提供する。
【0017】図2は、SES機構16に接続された単一
のCPC10を示す図である。CPC10は、分離機構
30、メッセージ機構31、入出力機構32およびSE
Sサポート機構33を含んでいる。SES機構16は、
メッセージ経路プロセッサ35、中間メッセージ・プロ
セッサ36およびメッセージ・プロセッサ37を含んで
いる。メッセージ経路プロセッサ35は、メッセージ経
路コマンドを実行し、メッセージ経路機能を実行する。
中間メッセージ・プロセッサ36は、分離機構30など
の遠隔メッセージ・プロセッサに、中間メッセージ・コ
マンドを転送する。メッセージ・プロセッサ37は、図
4に関して本明細書で説明するリスト型およびキャッシ
ュ型の構造化記憶域をサポートする。
【0018】入出力機構32は、図2および図3の40
に示すDASDと入出力装置を用いて、入出力動作を実
行し、チャネル・プログラムを実行する。START SUBCHA
NNEL(サブチャネル開始)命令を使用して、当技術分野
で周知の形で入出力動作を開始する。この入出力機構
は、前掲の「エンタープライズ・システム体系/390
解説書」に記載されている。
【0019】メッセージ機構31は、メッセージ経路プ
ロセッサ35、中間メッセージ・プロセッサ36および
メッセージ・プロセッサ37を用い、分離機構30を用
いて、メッセージ動作を実行する。SEND MESSAGE(メッ
セージ送出)命令を使用して、SES機構16または分
離機構30に関するメッセージ動作を開始する。この機
構と命令は、参照によって本明細書に組み込まれる、米
国特許出願第860380号"Communicating Messages
Between Processors and a Coupling Facility"に開示
されている。
【0020】分離機構30は、他のメッセージ機構から
中間メッセージ・プロセッサを経て受け取ったコマンド
を実行する。それらのコマンドは、しばしば、他のCP
C上で走行中のプログラムによって発行される。これら
のコマンドは、後に説明する許可ベクトルおよびチャネ
ル・サブシステム状態指示に作用する。
【0021】SESサポート機構33は、CPC10内
でSES機能を実行し、SES機構16内でメッセージ
・プロセッサ37が生成したコマンドを実行する。
【0022】別々の5つのタイプのメッセージ・コマン
ドが定義されており、これらは、SES機構16とCP
C10のハードウェア構成要素の間で通信される。経路
コマンドは、SEND MESSAGE命令により、メッセージ機構
31から、サブチャネルに関連する選択されたメッセー
ジ経路を介してメッセージ経路プロセッサ35へ通信さ
れる。経路の選択は、CPC10の制御プログラムによ
って実行される。メッセージ経路識別、メッセージ経路
活動化およびメッセージ経路非活動化の、3つの経路コ
マンドが定義されている。
【0023】該プログラムは、SEND MESSAGE(SMS
G)命令を使用して、図2のメッセージ・プロセッサ3
7による動作を開始する。メッセージ・プロセッサ動作
の実行は、SES機構16にコマンド情報を送り、結果
を要約した応答情報を返すことによって達成される。さ
らに、このコマンドは、主記憶装置からSES機構への
データの転送すなわちSES書込み動作、またはSES
機構から主記憶装置へのデータの転送すなわちSES読
取り動作を指定することができる。
【0024】直接コマンドは、SEND MESSAGE命令によ
り、メッセージ機構31から、サブチャネルに関連する
選択されたメッセージ経路を介してメッセージ・プロセ
ッサ37へ通信される。経路の選択は、チャネル・サブ
システムまたはCPUによって実行され、直接コマンド
は、活動状態のメッセージ経路を介して通信されなけれ
ばならない。直接コマンドはまた、データ転送動作を含
むこともできる。直接コマンドは転送されないが、1つ
または複数のコマンドを生成することができる。直接コ
マンドのクラスには、グローバル・コマンド、バッファ
再試行コマンド、キャッシュ構造コマンドおよびリスト
構造コマンドが含まれる。
【0025】生成されたコマンドは、メッセージ・プロ
セッサ37から、メッセージ・プロセッサ37によって
システムの経路グループから選択されたメッセージ経路
を介して、指定されたCPC内のSESサポート機構3
3へ通信される。SESサポート機構33は、メッセー
ジ経路を介して通信された生成コマンドを実行するため
のプロセッサを含んでいる。経路の選択は、メッセージ
経路プロセッサ35によって実行される。データ転送は
行われない。生成コマンドは、活動状態のメッセージ経
路を介して通信されなければならない。生成コマンドに
は、後に説明する相互無効化コマンドとリスト通知コマ
ンドが含まれる。生成コマンドの処理は、そのコマンド
に応じて、関連する直接コマンドが完了する前に完了す
ることも、しないこともある。ただし、生成コマンドに
よって意図された処置が確実なものにならないうちに、
直接コマンドが完了することはない。
【0026】中間コマンドは、SEND MESSAGE命令によ
り、メッセージ機構31から、サブチャネルに関連する
選択されたメッセージ経路を介して中間メッセージ・プ
ロセッサ36へ通信される。経路の選択は、チャネル・
サブシステムまたはCPUによって実行される。中間分
離コマンドは、指定されたCPC内の分離機構30に転
送される。
【0027】転送されるコマンドは、中間メッセージ・
プロセッサ36からメッセージ・プロセッサに通信され
る。経路の選択は、メッセージ経路プロセッサ35によ
って実行される。転送コマンドは、活動状態のメッセー
ジ経路を介して通信されなければならない。中間メッセ
ージ・プロセッサ36で受け取った中間コマンド毎に、
厳密に1つの転送コマンドが処理される。転送コマンド
の処理は、関連する中間コマンドが完了する前に完了し
なければならない。
【0028】SES機構16からCPC10へのすべて
の通信は、構成に応じて、宛先がメッセージ・プロセッ
サ37、メッセージ経路プロセッサ35または中間メッ
セージ・プロセッサ36のどれであろうとも、同じメッ
セージ経路を使用することができる。また、SES機構
16からCPC10へのすべての通信は、構成に応じ
て、宛先が分離機構30またはSESサポート機構33
のどちらであろうとも、同じ1組のメッセージ経路を使
用することができる。
【0029】分離機構30は、ESA/390チャネル
・サブシステムの1構成要素である。分離コマンドは、
CPUプログラムによって発行されるが、分離機構によ
って実行される。コマンド実行には、主記憶装置から要
求オペランドを取り出し、分離機構で記憶オブジェクト
に対して操作し、応答オペランドを主記憶装置に記憶す
ることが必要である。
【0030】メッセージ経路に関して、識別、活動化、
テスト、非活動化、相互無効化コマンドまたはリスト通
知コマンドの配布、直接コマンド、応答、および分離コ
マンドの配布の8つの機構が存在する。
【0031】メッセージ経路の識別及び活動化は、コマ
ンド通信用のリンクを選択的に構成できるようにするた
め、CPUプログラムによって実行される。活動状態の
経路に対してのみ実行が許可される、メッセージ経路を
介して配布された後続コマンドについて、テストが実行
される。あるコマンドについてインターフェース制御検
査が提示され、ある経路がもはや動作可能でないことが
発見された場合、その経路は、SES機構16側で非活
動状態であり、動作不能なその経路は、代替経路を介し
て該プログラムによって非活動化される。メッセージ経
路の選択と動作は、いずれも参照によって本明細書に組
み込まれる、米国特許出願第7860797号 "Manage
ment of Data Objects used to Maintain State Inform
ation for Shared Data at a Local Complex"、およ
び、米国特許出願第860647号"Recovery of Data
Objects Used to Maintain State Information for Sha
redData at a Local Complex"に開示されている。
【0032】キャッシュの相互無効化は、たとえば、1
つまたは複数のローカル・キャッシュ24A〜24Nに
登録されたSESキャッシュ26内のデータに関する書
込み動作が実行される時に、SES機構16によって実
行される。SESの書込み動作が完了する前に、SES
機構16は、選択されたメッセージ経路を介してローカ
ル・キャッシュ24A〜24Nのコヒーレンシを維持す
るため、ローカル・キャッシュ24A〜24N内のデー
タの有効なコピーを含む各システムに、相互無効化信号
を送る。これは、参照によって本明細書に組み込まれ
る、米国特許出願第860805号 "Sysplex Shared D
ata Coherency Method and Means"に開示されている。
【0033】リスト状態遷移の通知は、空であったリス
トを非空にするリスト操作、または、非空であったリス
トを空にするリスト操作(後で図4および図6に関して
説明する)が実行される時に、SES機構16によって
実行される。いずれの場合も、リスト通知コマンドを、
そのリストを監視している各システムに送って、そのシ
ステムに状態遷移について知らせる。これは、参照によ
って本明細書に組み込まれる、米国特許出願第8608
09号"Method and Apparatus for Notification of St
ate Transitions for Shared Lists of Data Entries"
に開示されている。
【0034】分離コマンドすなわち分離または索引を使
用する分離は、CPC上で走行するプログラムによって
発行され、目標CPC上に置かれたシステム・イメージ
が目標となる。目標CPC上で分離コマンドを実行する
と、目標システムまたは目標システム上で走行するサブ
システムが、シスプレックスすなわち複数のCPCを有
するシステム内の諸システムによって共用される資源か
ら分離される。これは、参照によって本明細書に組み込
まれる、米国特許出願第860489号 "Interdicting
I/O and Messaging Operations in a Multi-system Co
mplex"に開示されている。分離コマンドは、コマンドを
SES機構16に送り、そこから目標システム・イメー
ジに転送することによって、目標に送られる。
【0035】SES機構16は、図3のメッセージ経路
状況テーブル43によって、コマンドの通信に使用され
る物理リンクの状態を連続的に監視する。一時的であれ
永続的であれ、物理接続の喪失または変化をもたらす可
能性のある障害が発生すると、メッセージ経路状況テー
ブル43に記録されている物理リンクに関連するすべて
のメッセージ経路が、非活動状態になる。該プログラム
が接続を再調整し、メッセージ経路を再活動化するま
で、コマンドはこれらのリンク上に送られない。これに
よって、ケーブルの移動などによる誤った接続のために
コマンドが誤って経路指定されることがなくなる。
【0036】SES監視機能に加えて、該プログラム
は、意図的に経路を非活動化したり、関連するシステム
識別子を変更することができる。SES機構16は、再
調整の進行中に、新規の相互無効化コマンド、リスト通
知コマンドまたはシステム分離コマンドが配布されない
ように、これらの経路指定構成の変更を直列化する。
【0037】メッセージ経路プロセッサ35によって提
供される経路選択機構は、転送されるコマンドと生成さ
れるコマンドのすべてに共通である。該プログラムは、
特定のコマンド・アーキテクチャとは無関係に、構成を
再調整し、経路指定情報を維持する。コマンド・アーキ
テクチャは、キャッシュ構造コマンドおよびリスト構造
コマンドならびに分離によって転送されるコマンドによ
る付加処理を含めて、様々な手段によって経路選択機構
とインターフェースする。
【0038】分離コマンドは、SES機構16内の中間
メッセージ・プロセッサを使用してコマンドを転送させ
ることによって、メッセージ機構から分離機構へ送られ
る。中間メッセージ・プロセッサ36を使用すると、シ
スプレックス内のCPC間の直接接続が不要になる。
【0039】図3は、3つのCPCとSES機構16を
示す図である。
【0040】分離コマンドは、中間メッセージ・プロセ
ッサで受け取られると、分離機構30に転送される。中
間メッセージ・プロセッサ36が、メッセージ経路プロ
セッサ35内の経路選択機能を呼び出して、指定された
システムにこの分離コマンドを配布する。
【0041】図4は、複数の構造(キャッシュ構造4
5、48およびリスト構造46、47)を有するSES
機構16を示す図である。メッセージ・プロセッサ37
は、該プログラムに別々の記憶構造を提供する。これら
の記憶構造のうちに、リスト構造(たとえば46と4
7)とキャッシュ構造(たとえば45と48)がある。
構造体のタイプ毎に1組のコマンドが用意され、後で論
じるグローバル・オブジェクトを参照するための追加の
コマンドも用意されている。特定の構造の生成、削除お
よび属性は、該プログラムにより割振りコマンドと割振
り解除コマンドを用いて制御される。図4には、同時に
存在することのできる、同一タイプの複数の構造が示さ
れている。割り振られた構造(キャッシュ構造45、4
8およびリスト構造46、47)は、別々のSES記憶
場所に常駐し、構造識別子(SID)によって位置指定
される。SID値は、コマンドによる目標構造の識別を
可能にする。キャッシュ構造コマンドやリスト構造コマ
ンドなど、特定の構造タイプのコマンドは、所与のタイ
プの単一の構造の内容だけしかアドレスまたは変更でき
ない。
【0042】SES機構は、データ・オブジェクトと制
御オブジェクトを格納している。データ・オブジェクト
は、どの記憶場所に常駐してもよいが、制御オブジェク
トは、一般に制御域だけに制限される。
【0043】SES記憶域および制御域の図4、図5お
よび図6に示す構造への区分は、該プログラムによって
管理される。データ・オブジェクトは、任意指定の付属
データ域を有するテーブルまたはリストに編成される。
残りのオブジェクトは、制御オブジェクトである。デー
タ・オブジェクトと制御オブジェクトに割り当てられる
記憶域の相対的な量は、割振りコマンドに含まれるプロ
グラム指定のパラメータによって決定される。図4のキ
ャッシュ構造45および48の一方が、図1のSESキ
ャッシュ26として示されている。
【0044】前述のように、図1のSESキャッシュ2
6はそれぞれ、付加CPC10A〜10Nのネットワー
ク内の3段記憶階層の1構成要素である。図5は、この
記憶階層を示す図である。この階層の最低段がDASD
40であり、中間段がSESキャッシュ26であり、最
高段がプロセッサ記憶装置内のローカル・キャッシュで
ある。DASD40とSESキャッシュ26は、CPC
10A〜10Nによって共用され、DASD40は入出
力動作によってアクセスされ、SESキャッシュ26は
メッセージ動作によってアクセスされる。ローカル・キ
ャッシュ24は、各CPC10内で定義され、CPU命
令を使ってアクセスされる。
【0045】図1に関連して論じたように、CPC10
A〜10Nは、入出力チャネル15A〜15Nによって
DASD40に接続され、I/Sチャネル18A〜18
NによってSESキャッシュ26に接続される。
【0046】図5を参照すると、記憶階層中を移動する
データには、名前が与えられる(ローカル・キャッシュ
24Aの欄50A、ローカル・キャッシュ24Bの欄5
0B、およびSESキャッシュ26の欄51)。ローカ
ル・キャッシュ24Aおよび24B内のデータ域は、そ
れぞれ欄52Aおよび52Bに示され、ローカル・キャ
ッシュ24Aおよび24B内の任意指定の付属データ域
は、それぞれ欄53Aおよび53Bに示されている。ロ
ーカル・キャッシュ24Aおよび24B内の各エントリ
は、それぞれ欄54Aおよび54Bに示す状態標識を含
んでいる。各SESキャッシュ26は、データ域(欄5
6)と付属データ域(欄57)を含むデータ・テーブル
55を含むことができる。データ・サイズは、可変であ
って、1実施例ではデータ域要素サイズの1〜n倍の範
囲である。データ域の要素サイズは、SESキャッシュ
26ごとに固定されており、2の累乗で、最小サイズが
256バイトである。任意指定の付属データ・フィール
ドを、データと関連付けることができる(欄53A、5
3Bおよび57)。データの名前(欄50A、50Bお
よび51)は、16バイト値で、プログラミング・プロ
トコルによって割り当てられる。データは、DASD4
0内に永続的に常駐する。
【0047】データのコピーまたはデータの新バージョ
ンは、SESキャッシュ26またはローカル・キャッシ
ュ24Aおよび24Bあるいはその両方の任意の組合せ
に常駐することができる。たとえば、データ・オブジェ
クトは、SESキャッシュ26とローカル・キャッシュ
24A〜24Nの一部分に常駐することがあり、また、
ローカル・キャッシュ24A〜24Nの一部には常駐す
るが、SESキャッシュ26には常駐しないことがあ
る。
【0048】各ローカル・キャッシュ24A〜24N
は、DEFINE VECTOR(ベクトル定義)命令によって定義
されるローカル・キャッシュ・ベクトルを含むCPC上
の当該の各SESサポート機構33を利用することによ
って、該プログラムによって維持されるプロセッサ記憶
域である。DEFINE VECTOR命令は、SESサポート機構
33内の制御を初期設定し、ローカル・キャッシュ・ト
ークンを割り当てる。
【0049】SESキャッシュ26の各構造は、ディレ
クトリ60と、欄56および57のデータ域要素の集合
体を有する任意指定のデータ・テーブル55とからな
る、SES機構16内の構造である。ディレクトリ60
は、前述の名前欄51、各ディレクトリ・エントリの状
態を示す状態欄61、および、ディレクトリ60内の各
エントリからデータ・テーブル55内の1エントリを指
すレジスタ欄62を含んでいる。各キャッシュ構造は、
構造識別子(SID)によって指定される。SESキャ
ッシュ26内の各SESキャッシュ構造は、キャッシュ
構造割振りコマンドによって作成される。このコマンド
は、SESキャッシュ構造の属性、すなわち、データ域
要素のサイズと数、ディレクトリ項目の数、記憶クラス
の数、およびキャストアウト・クラスの数を決定する、
該プログラム内の初期設定手順によって発行される。
【0050】ローカル・キャッシュ24は、ローカル・
キャッシュ付加コマンドによってSESキャッシュ26
に付加される。このローカル・キャッシュ付加コマンド
は、図2に関して論じたように、SES機構16内の制
御を初期設定し、SES機構16がSESサポート機構
33に生成されたコマンドを発行するのに利用される1
組の経路とローカル・キャッシュを関連付ける。ローカ
ル・キャッシュ24は、SESキャッシュ26構造に付
加され、その結果、記憶階層に参加できるようになる。
ローカル・キャッシュ24A〜24NとSESキャッシ
ュ26内のデータのコピーのコヒーレンシは、SESキ
ャッシュ26内の制御によって維持され、生成されたコ
マンドとしてCPC10A〜10N内の様々なSESサ
ポート機構33に発行される、相互無効化コマンドによ
って実効化される。SES機構内での1組の経路の構築
は、参照によって本明細書に組み込まれる、米国特許出
願第860646号 "Message Path Mechanism for Man
aging Connections Between Processors and a Couplin
g Facility"に開示されている。
【0051】ディレクトリ60は、完全連想式アレイと
して配列されたディレクトリ項目の集合体である。ディ
レクトリ項目は、記憶クラスに区分される。変更済みデ
ィレクトリ項目からなる部分は、キャストアウト・クラ
スに区分される。名前付きデータ・オブジェクトが、階
層の上の2つの段(SESキャッシュ26とローカル・
キャッシュ24)に置かれる時には、SESキャッシュ
・ディレクトリによって、その状態が状態欄61に記録
され、その場所がレジスタ欄62に記録される。状態情
報は、そのデータが、変更済みか、未変更か、キャスト
アウト用にロックされているか、それとも、SESキャ
ッシュ26に常駐しているかを示す。場所情報には、ロ
ーカル・キャッシュ24A〜24Nのうちのどれにコピ
ーが格納されているかが含まれる。一部のSES読取り
コマンドおよびSES書込みコマンドは、ローカル・キ
ャッシュのコピーをSESキャッシュ・ディレクトリに
登録する。SES書込みコマンドおよびSES無効化コ
マンドは、この登録を除去し、ローカル・コピーを無効
にする。
【0052】データがローカル・キャッシュ24内にあ
る時、そのデータの状態は、有効か無効のいずれかであ
る。ローカル・キャッシュ・エントリの有効状態は、S
ESサポート機構33内の制御によって維持される。デ
ータは、CPU命令によって有効にされ、SES書込み
動作およびSES無効化動作によって無効にされる。デ
ータの有効状態は、CPU命令によってテストされる。
有効な名前付きデータ・オブジェクトは、ローカル・キ
ャッシュのコヒーレンシを維持するため、SESキャッ
シュのディレクトリ60に登録しなければならない。ロ
ーカル・キャッシュのコヒーレンシは、無効化処理によ
って維持される。登録済みのローカル・キャッシュ・エ
ントリは、無効と判定される可能性がある。これを無効
状態の過剰指示と称し、本明細書で議論するように、こ
れは許される。
【0053】SESキャッシュ26は、通常はDASD
40より小さい。したがって、周期的に、変更済みデー
タをSESキャッシュ26から補助DASD40に転送
しなければならない。この処理は、キャストアウトと称
するが、該プログラムによって制御され、以下の動作を
伴う。キャストアウト用SES読取り動作を発行し、こ
れによって、キャストアウト直列化を設定し、データ・
ブロックを主記憶装置にコピーする。このデータ・ブロ
ックは、ローカル・キャッシュ24に置いても置かなく
てもよい。入出力動作を実行し、これによって、データ
・ブロックをDASD40にコピーする。SESキャス
トアウト・ロック解除動作を発行し、これによって、キ
ャストアウト直列化を解除する。
【0054】ローカル・キャッシュ24A〜24Nのう
ちの1つに対して、複数のキャストアウト処理が共存で
きる。データがキャストアウト用にロックされる時に
は、そのローカル・キャッシュ24A〜24Nの識別子
とそのキャストアウト処理の識別子が、ディレクトリ6
0内に置かれる。これは、参照によって本明細書に組み
込まれる、米国特許出願第860806号 "Management
of Data Movement froma SES Cache to DASD"に開示さ
れている。
【0055】最も以前に使用された(LRU)未変更の
データ資源およびディレクトリ資源が、新しい要求を満
足するのに必要な時、SESキャッシュ26によって再
利用される。データ・オブジェクトは、該プログラムに
よって、複数の記憶クラスのうちの1つにマップされ
る。各記憶クラスは、再利用処理を制御する再利用ベク
トルを有する。これを用いると、記憶クラス間でのSE
S記憶域の割当てを動的に調節して、作業負荷特性の変
化に対処できるようになる。再利用ベクトルは、該プロ
グラムによって維持される。これは、参照によって本明
細書に組み込まれる、米国特許出願第860807号 "
Storage Management for a Shared Electronic Storage
Cache"に開示されている。
【0056】図6は、各CPC10A〜10Nがそれぞ
れプロセッサ記憶装置65A〜65Nを含む、CPC1
0A〜10NのSES機構16への接続を示す図であ
る。図4のリスト構造46の1つの内容を、図6に示
す。SES機構の他のリスト構造も、図6に示したリス
ト構造と同じであることを理解されたい。
【0057】リスト構造46は、リスト構造制御66と
ユーザ制御67とを含み、さらに任意指定として、ロッ
ク・テーブル68またはリスト・セット70、あるいは
その両方を含むことができ、リスト・セット70は、リ
スト制御69とリスト・エントリ制御71を含む。
【0058】各ロック・テーブル68は、1つまたは複
数のエントリのシーケンスからなり、これらのエントリ
には、0から始まる連続した番号が付けられる。リスト
構造タイプは、すべてのロック・テーブル・エントリ
が、グローバル・ロック・マネージャ(GLM)オブジ
ェクト、またはローカル・ロック・マネージャ(LL
M)オブジェクトあるいはその両方を有するかどうかを
決定する。
【0059】リスト構造制御66は、リスト構造46の
作成時に初期設定される。リスト構造制御66は、構造
のサイズ、リスト構造タイプ、ロック・テーブル・エン
トリのカウント、非0ロック・テーブル・エントリのカ
ウント、ロック・テーブル・エントリのサイズ、リスト
・カウント、リスト要素サイズ、リスト・セット・エン
トリのカウント、ユーザ識別子ベクトル、および符号6
7で別に示したユーザ制御など、その構造の属性を含
む。
【0060】ユーザ制御67は、リスト構造のユーザが
付加される時に、作成され初期設定される。ユーザ制御
67は、リスト通知トークン、システム識別子、ユーザ
付加制御およびユーザ状態を含む。
【0061】リスト・セット70は、リスト制御69に
よって表される1つまたは複数のリストを含み、これら
のリストには、0から始まる連続した番号が付けられ
る。
【0062】リスト72のそれぞれにリスト制御69が
関連付けられる。リスト制御69は、リスト・エントリ
・カウント、リスト・エントリ・カウントの限界、リス
ト監視テーブル、リスト状態遷移カウントおよびユーザ
・リスト制御を含む。
【0063】各リスト72は、ゼロまたは1個以上のエ
ントリのシーケンスからなる。リスト構造タイプは、リ
スト・セット70内のすべてのリスト・エントリが、デ
ータ・リスト・エントリ73、付属データ・リスト・エ
ントリ74またはその両方を有するかどうかを決定す
る。
【0064】上述のリスト・エントリ制御71のうちの
1つが、リスト72の各エントリに関連付けられる。リ
スト・エントリ制御71は、リスト・エントリ記憶場所
情報と、付属データ・リスト・エントリ74内のデータ
を管理するための他の情報を含む。
【0065】リスト・コマンドは、ロック・テーブル・
エントリを書き込む手段を提供する。すなわち、あるコ
マンドで、グローバル・ロック・マネージャ(GLM)
を比較し、条件付きでグローバル・ロック・マネージャ
(GLM)、ローカル・ロック・マネージャ(LLM)
またはグローバル・ロック・マネージャ(GLM)とロ
ーカル・ロック・マネージャ(LLM)の両方を置換す
ることができる。リスト・コマンドは、ロック・テーブ
ル68内の1エントリまたは次の非0のロック・テーブ
ル・エントリを読み取る手段や、ロック・テーブル68
をクリアする手段も提供する。
【0066】リスト・コマンドはまた、条件付きでリス
ト72内のエントリを作成、読取り、置換、移動または
削除する手段を提供する。これらの処理中に複数の比較
が要求されることがある。この比較には、リスト番号の
比較、バージョン番号の比較、グローバル・ロック・マ
ネージャ(GLM)の比較、またはこれらの任意の組合
せが含まれる。さらに、グローバル・ロック・マネージ
ャを比較する際に、ローカル・ロック・マネージャ(L
LM)を比較することができる。リスト・エントリを、
1つのリスト72から同じリスト構造46内の別のリス
トへ移動することができ、また同じリスト72内のある
位置から別の位置に移動することができる。これは、参
照によって本明細書に組み込まれる、米国特許出願第8
60655号 "Method and Apparatus for Performing
Conditional Operations on Externally Shared Data"
に開示されている。
【0067】リスト72内のリスト・エントリの位置
は、その作成時に決定され、そのリスト内の任意のエン
トリを生成、削除または移動する時に変更できる。リス
ト・エントリまたはリスト・エントリ位置は、リスト・
エントリ識別子、任意指定のリスト・エントリ名、また
は位置によって、リスト・セット70内で位置指定され
る。
【0068】リスト・エントリ識別子は、リスト・セッ
ト70に固有であり、SES機構16によって割り当て
られる。リスト・エントリ名は、どの特定の瞬間にもリ
スト・セット70に固有であり、該プログラムによって
提供される。位置は、リスト番号、方向および任意指定
のリスト・エントリ・キーによって指定される。
【0069】リスト・エントリ・キーが存在する時、キ
ー付きのリスト・エントリは、最も小さい数字のキーが
左端の位置になるようにキーの順に並べられる。同じキ
ー値を有する要素は、同じキー値の中の先頭または末尾
によって位置指定できる。
【0070】キーなしのリスト・エントリを作成または
移動する時、目標のリスト・エントリ位置は、必ずキー
なしの位置によって位置指定される。キー付きのリスト
・エントリを作成または移動する時、目標のリスト・エ
ントリ位置は必ず、キー付きの位置と、同じキー値の中
の先頭または末尾によって位置指定される。
【0071】リスト・コマンドはまた、リスト72の1
エントリの、同期式の書込みと移動、移動と読取り、ま
たは読取りと削除を行う手段を提供する。複数のリスト
・エントリを同期式に削除することができ、複数のデー
タ・リスト・エントリ73または付属データ・リスト・
エントリ74を同期式に読み取ることもできる。データ
・リスト・エントリ73は、メッセージ動作ブロックに
よって指定された主記憶装置内のデータ域に必ず返され
る。付属データ・リスト・エントリは、コマンドに応じ
て、メッセージ応答ブロック内またはデータ域内に返さ
れる。これは、参照によって本明細書に組み込まれる、
米国特許出願第860633号"Apparatus and Method
for List Management in a Coupled Data Processing S
ystem"に開示されている。
【0072】通常、データ・リスト・エントリ73は、
アプリケーション・プログラムのデータを格納し、付属
データ・リスト・エントリ74は、それに関連する制御
データを格納している。
【0073】リスト監視とは、リスト構造ユーザ付加コ
マンドおよびリスト監視登録コマンドを使って、リスト
構造のユーザが任意指定で要求する、SESリスト機能
である。リスト構造ユーザ付加コマンドは、リスト構造
のユーザが常駐するシステムとそのユーザに関連するリ
スト通知ベクトルLNVとを、SESに対して識別す
る。リスト監視登録コマンドを用いると、ユーザがリス
トの監視を開始できるようになる。これは、参照によっ
て本明細書に組み込まれる、米国特許出願第86080
9号 "Method and Apparatus for Notification of Sta
te Transitions for Shared Lists of Data Entries"に
開示されている。
【0074】各プロセッサ記憶装置65A〜65Nは、
1つのリスト通知ベクトル・グローバル・サマリ(LN
VGS)、複数のリスト通知ベクトル・ローカル・サマ
リ(LNVLS)エントリ、および複数のリスト通知ベ
クトル(LNV)を含む。リスト通知ベクトル(LN
V)は、DEFINE VECTOR命令によって作成される。LN
Vのサイズは、リスト・ユーザによって変わることがあ
る。LNVは、リスト構造ユーザ付加コマンドによって
SESのリスト構造46に付加される。LNV内の各エ
ントリは、リスト構造46内のリスト72に関連付ける
ことができる。空から非空の状態へまたは非空から空の
状態へのリスト遷移は、LNV内の適当なエントリをC
PUから周期的にポーリングすることによって検出され
る。このために、TEST VECTOR ENTRY(ベクトル・エン
トリ・テスト)命令が用意してある。
【0075】LNVエントリは、空状態へのリスト遷移
の結果として1にセットされ、非空状態へのリスト遷移
の結果として0にセットされる。
【0076】CPC上で作成された各LNV毎に、1つ
のリスト通知ベクトル・ローカル・サマリLNVLSが
存在する。プログラム指定のオプションとして、関連す
るLNVが空から非空へのリスト遷移を示すことのない
ように何らかのリスト通知コマンドが処理される時、L
NVLSは活動状態になる。LNVLSは、非空から空
へのリスト状態遷移の結果として更新されることはな
い。LNVLSの更新は、リスト通知コマンドのオプシ
ョンを使用して指定される。LNVLSは、TESTVECTOR
SUMMARY(ベクトル・サマリ・テスト)命令によってテ
ストされ、SET VECTOR SUMMARY(ベクトル・サマリ・セ
ット)命令によってセットまたはリセットされる。
【0077】CPC上には、CPCイメージ毎に1つの
リスト通知ベクトル・グローバル・サマリLNVGSが
存在する。LNVGSは、非空から空へのリスト状態遷
移の結果としては更新されず、LNVLSがリスト通知
コマンドによってセットされる時にセットされる。LN
VGSは、TEST VECTOR SUMMARY命令によってテストさ
れ、SET VECTOR SUMMARY命令によってセットまたはリセ
ットされる。
【0078】ユーザがリストを監視している時、空から
非空へおよび非空から空へのリストの状態遷移が起こる
と、SES機構16は、ユーザ付加を開始したシステム
にリスト通知コマンドを発行する。
【0079】リスト通知コマンドは、指定されたリスト
通知ベクトル(LNV)エントリを、監視されるリスト
72の空状態または非空状態を反映するように更新させ
る。リスト通知コマンドはまた、指定されたリスト通知
ベクトル・グローバル・サマリ(LNVGS)およびリ
スト通知ベクトル・ローカル・サマリ(LNVLS)
を、監視されるリスト72の非空状態を反映するように
更新させることもできる。
【0080】これは、本願出願人に係る1992年3月
30日出願の米国特許出願第860800号に開示され
ている。
【0081】並行コマンド実行と早期コマンド応答:S
ES機構は、同じまたは異なるSESオブジェクトに影
響を与える異なるコマンドを同時に実行する可能性のあ
る、複数のメッセージ・プロセッサ(図4の16A、1
6B)を含むことができるので、CPC(図4の10
A、10B、10N)を用いて実行され、SESのキャ
ッシュ・オブジェクト(45、48)またはリスト・オ
ブジェクト(46、47)あるいはその両方にアクセス
するプロセスに、SES内のコマンド実行の重なり合い
が見えないような形で、これらのコマンドの実行を同期
させるための規則をSES内で確立しなければならな
い。
【0082】オブジェクト参照:SES機構の記憶オブ
ジェクトは、SES機構コマンドの実行中に参照され
る。オブジェクト参照とは、オブジェクト内の明示的な
値を取り出すまたは記憶することである。
【0083】コマンドの実行中に、そのコマンドに関す
るオブジェクトのすべてまたは一部を取り出すことがで
き、後で変更できるように中間結果を維持することがで
き、最終結果をそのオブジェクトに入れる前に一時的に
保持することができる。
【0084】あるコマンドのオブジェクト参照は、サブ
チャネルで観察される限りで、以前のすべてのコマンド
のオブジェクト参照の後、後続コマンドのオブジェクト
参照の前に行われる。
【0085】メッセージ・コマンド逐次化:メッセージ
・コマンドによるオブジェクト参照は、他のメッセージ
・コマンドによって観察される限りで、すべて、(1)
状況がサブチャネルで取り消される前に、あるいは
(2)サブチャネル状況がいずれかのCPUにとって使
用可能になる前に、完了する(すなわち、コマンドは、
サブチャネルで観察される通りの順序になる)。
【0086】オブジェクト参照には、取出し、記憶、更
新の3タイプがある。
【0087】取出し参照:あるオブジェクトが、ソース
としてのみコマンド実行に関与する時、そのオブジェク
トを取出しタイプ・オブジェクトと称し、そのオブジェ
クトに対する参照を取出し参照と称する。
【0088】記憶参照:あるオブジェクトが、新しい値
によって置換される限りで宛先としてのみコマンド実行
に関与する時、そのオブジェクトを記憶タイプ・オブジ
ェクトと称し、そのオブジェクトに対する参照を記憶参
照と称する。
【0089】更新参照:一部のコマンドでは、オブジェ
クトが、ソースとしても宛先としても関与する。このよ
うな場合には、そのオブジェクトに対する参照が、まず
取出しの際に行われ、次に記憶の際に行われる。このオ
ブジェクトを、更新タイプ・オブジェクトと称し、この
2つのアクセスの組合せを、更新参照と称する。
【0090】更新参照は、他のコマンドによるアクセス
が行われないようにインターロックされる。インターロ
ックされた更新参照に関連する取出しアクセスと記憶ア
クセスは、必ずしも互いに連続して行われないが、更新
参照の取出しアクセスと記憶アクセスの間に、同一のオ
ブジェクトで、他のコマンドのための参照に関連するす
べての取出しアクセスと記憶アクセスが、行われないよ
うになっている。
【0091】上記要件の制限の範囲内で、1つの更新参
照に関連する取出しアクセスと記憶アクセスは、前の諸
節で説明した取出しや記憶と同じ規則に従う。
【0092】オブジェクト並行参照:オブジェクト参照
では、あるオブジェクト内のすべてのバイトに対するア
クセスが、すべてのCPUによって観察される限りで、
並行であるように見える。取出しタイプの参照の場合、
オブジェクトに含まれるバイトが取り出されている間、
そのオブジェクトに対する、別のコマンドのための記憶
アクセスは許されない。記憶タイプの参照の場合、オブ
ジェクト内のバイトが記憶されている間、そのオブジェ
クトに対する別のコマンドのためのアクセスは、取出し
であれ記憶であれ、許されない。SES内のロックを使
用して、これらのオブジェクト並行参照規則を実施す
る。SES内のロックについては、以下のSESロック
機構に関する節で説明する。
【0093】コマンド並行参照:1つのコマンドで複数
のオブジェクトを参照することができる。オブジェクト
群に対する参照は、すべてのCPUによって観察される
限りで、並行であるように見えなければならない。いず
れかのオブジェクトに含まれるバイトが取り出されまた
は記憶されている間、別のコマンドのための記憶アクセ
スは、どのオブジェクトに対しても許されない。いずれ
かの記憶タイプ・オブジェクトに含まれるバイトが記憶
されている間、別のコマンドによる取出しアクセスは、
どの記憶タイプ・オブジェクトに対しても許可されな
い。
【0094】オブジェクトは、オブジェクト階層に従っ
て配列される。最初に静的SES制御があり、その後に
動的SES制御と再試行テーブルがある。再試行テーブ
ル項目は、さらに再試行指標によって順序付けられる。
共通のオブジェクト記憶域にアクセスする複数のエンジ
ンを有するSES機構の場合、各オブジェクトを参照す
る前にそれに対する内部ロックを獲得し、コマンドが抑
止されるかまたは完了するまで、すべてのロックを保持
することによって、コマンド並行性の要件を満たすこと
ができる。取出しタイプ・オブジェクトでは共用ロック
を獲得し、記憶タイプと更新タイプのオブジェクトで
は、最初の取出しの前に排他ロックを獲得する。オブジ
ェクト参照階層の順でロックを獲得すると、内部デッド
ロックが回避される。一時に1つのコマンドしか実行で
きず、あるコマンドを完了してから、別のコマンドに進
むSES機構には、ロックを使用する必要はない。SE
Sロック機構の詳細を、以下に示す。
【0095】ロック機構とロック規則:複数のプログラ
ムが、逐次再使用可能なオブジェクトを使用する時に
は、計画が必要である。逐次再使用可能なオブジェクト
とは、現在の使用が終わった後に別のプログラムが使用
できるオブジェクト、すなわち、所与の処理の間に複数
のプログラムによって使用または変更されないはずのオ
ブジェクトである。
【0096】ロック機構は、あるオブジェクトに対する
アクセスを逐次化する。しかし、このロック技法は、あ
るオブジェクトに依存するすべてのプログラムが同一の
ロック機構を使用する場合にのみ有効である。逐次再使
用可能なオブジェクトの各タイプに、1つのロックが割
り当てられる。システムは、複数のタイプのロックを有
する階層ロック構造を制御して、逐次再使用可能なオブ
ジェクトの使用を同期させる。また、このシステムは、
ロックに関連するすべての機能を処理する。そうした機
能としては、ロックの獲得および解放や、1プロセッサ
上の特定のロックの状況の検査がある。
【0097】ロックのタイプによって、多重プロセッサ
・システム内のあるプロセッサ上のプログラムが、別の
プロセッサ上の別のプログラムによって保持されるロッ
クに対して無条件要求を行う時に、何が起きるかが決ま
る。以下の節で説明するロックは、「スピン」ロックと
称する。スピン・ロックは、別のプロセッサ上でロック
が解放されない限り、あるプロセッサ上の要求元プログ
ラムが全く作業を行えないようにする。このタイプのロ
ック機構は、「MVS/ESAアプリケーション開発の
手引き:許可アセンブラ言語プログラム;GC28−1
645("MVS/ESA Application Development Guide: Au
thorized Assembler Language Programs; GC28-164
5")」に記載されている。
【0098】プロセッサ上での機能間でのデッドロック
を防止するため、ロックは階層として配列される。ある
プロセッサ上の機能は、現在保持しているロックより階
層内で上位にあるロックのみを無条件で要求することが
でき、したがって、デッドロックが防止される。あるロ
ックは、そのロックがそのシステムで1回だけ発生する
単一システム・ロックである。他のロックは、システム
内でロックが複数回発生する、多重ロックである。複数
回発生するロックに対して、「クラス・ロック」という
用語を使用する。クラス・ロックの各発生は、逐次再使
用を必要とするオブジェクトの集合に関連する。たとえ
ば、SESキャッシュ構造内では、アクセスしようとす
るデータ・エントリの名前にハッシュ関数が適用され
る。このハッシュ関数の結果は、合同クラスのディレク
トリ項目用のアンカーとして働く、あるアレイ範囲内の
指標である。合同クラス内のディレクトリ項目は、待ち
行列を形成する。各ハッシュ・クラス待ち行列原点に、
それぞれ1つのロックが関連する。これらのロックは、
複数回発生し各発生が1つのハッシュ・クラスに関連す
る、単一のクラス・ロックを形成する。同様に、SES
キャッシュ構造内の各記憶域クラスおよび各キャストア
ウト・クラスごとに、それぞれ1つのロックが存在す
る。SESリスト構造内のリストごとに1つのクラス・
ロックが存在する。
【0099】SESでのロック・サービスは、逐次化動
作を実行する命令を使用して実施される。SESでの逐
次化動作により、SES内のいずれのコマンド実行用プ
ロセッサ上で実行中のプログラムによっても、すべての
記憶参照が観察可能となる。
【0100】ロックは、オブジェクト並行参照規則をS
ES内で実施するための基礎を提供する。SES内で提
供されるロック・サービスは、1つのコマンドが、第2
のコマンドの実行と並列に、逐次再使用可能な資源にア
クセスすることが絶対にできないようにする。SES内
のオブジェクトに対するロックは、階層の順序で獲得さ
れ、したがって、デッドロックが回避される。さらに、
オブジェクトに対するロックは、これらのオブジェクト
へのアクセスの順序で獲得される。1組のオブジェクト
へのアクセスが、すべてのコマンドおよびCPUにとっ
て逐次発生するものとして見えなければならない時に
は、これらのオブジェクトに対するロックは、オブジェ
クト参照の順序で獲得され解放される。共通の1組のオ
ブジェクトを参照するすべてのコマンドは、オブジェク
ト参照の順序を決定する1組の規則の範囲内で動作す
る。コマンドは、必要なコマンド並行参照要件を達成す
るために、いずれかのロックが解放される前にすべての
ロックが獲得されるという、周知の2段階ロック・プロ
トコルを使用することができる。
【0101】SESには、実質的に正しいものとして定
義される1組のオブジェクトが存在する。すなわち、こ
れらのオブジェクトを変更する処理は、正しく完了する
必要があるが、プログラムによって開始されそのオブジ
ェクトを変更するコマンドが応答を供給する時に、完了
している必要はない。たとえば、SESキャッシュのデ
ィレクトリ項目が、記憶域クラス待ち行列上に存在して
おり、あるディレクトリ項目が存在する記憶域クラス待
ち行列に対する更新が、プログラミングによって要求さ
れることがある。ディレクトリ項目に関連する記憶域ク
ラスに対する変更が、そのような変更を要求するコマン
ドより前に完了する必要はない。ただし、すべてのコマ
ンド処理の最終結果は、複数のコマンドが所与のディレ
クトリ項目に関連する記憶域クラスを変更する場合、そ
のディレクトリ項目が、データ・エントリにアクセスし
記憶域クラスを変更した最後のコマンドによって指定さ
れる記憶域クラス待ち行列上にあることを保証するもの
である必要がある。
【0102】SESでロック処理を行う場合、SESで
オブジェクトにアクセスし更新した後にデータとメッセ
ージ応答ブロック(MRB)で応答するすべてのコマン
ドが、順方向で完了することも保証しなければならな
い。これが必要なのは、SESでのオブジェクトに対す
るコマンドによる処理の結果が、他のプログラムには見
えるが、部分的コマンド処理はプログラミングには見え
ないことが必要とされるからである。言い換えると、コ
マンドが、ロックを獲得し、データ・オブジェクトを変
更し、そのロックを解放し、そのコマンドを開始したプ
ログラムに処置が行われたことを示すMRBで応答する
場合、そのコマンドは、順方向で完了しなければならな
い。このようなコマンドによって実行されるポストMR
B処理(後述)は、完了まで走行しなければならない。
【0103】新規データ・オブジェクトの受取り:図1
2は、SESが新規データ・オブジェクトを受け取る処
理を示す図である。(この図の、機構損傷または構造損
傷に関連する部分は、以下の「順方向コマンド完了」で
論ずる。)データ・オブジェクトが、メッセージ・コマ
ンドの一部としてSESに転送される時、到着するデー
タは、それを介してデータが到着したメッセージ経路に
関連するバッファ(図1の20A)に置かれる(120
1)。コマンド記述も、SESに到着し、同様にしてバ
ッファ(図1の20B)に置かれる。コマンドが到着す
る時、SES機構のメッセージ・プロセッサ選択機構構
成要素(図1の16C)に制御が渡される。このメッセ
ージ・プロセッサ選択機構構成要素は、コマンド・バッ
ファ内のコマンド記述に問い合わせ、適切なメッセージ
・プロセッサをディスパッチする(1204、120
5)。
【0104】メッセージ・プロセッサは、コマンド実行
の責任を負う。コマンド実行の一環として、SES構造
内の空き記憶場所または再使用可能記憶場所からデータ
域を獲得し(1208)、これを利用して、到着するデ
ータ・オブジェクトの内容を格納する。メッセージ・プ
ロセッサは、メッセージ・バッファから新規データ域に
データ・オブジェクトを移動し(1209)、新規デー
タ域をディレクトリ項目に連鎖して、SESデータ・オ
ブジェクト位置指定機構を使用可能にする(1210、
1211)。
【0105】この機構は、SES構造内の既存のデータ
・オブジェクトを更新しようとする時にも使用される。
到着するデータ・オブジェクトは、既存のデータ・オブ
ジェクトがそれ自体のデータ域を占有する場合であって
も、新規データ域に置かれる(1208、1209)。
新規データ・オブジェクトがメッセージ・バッファから
移動された後に、ディレクトリ項目内の既存のデータ域
のアドレスが、新規データ域のアドレスで置換される。
到着するデータ・オブジェクトが確実に新規データ域に
置かれるようにすることによって、SES機構は、デー
タ・オブジェクトに対する部分的な更新が観察される可
能性をなくす。
【0106】順方向コマンド完了:SES機構でのメッ
セージ・コマンドの実行は、複数のステップを要するこ
とがある。メッセージ・コマンドによって参照されるオ
ブジェクトがロックされると、並列に処理されるコマン
ドが、確実に順序通り実行されるようになる。必要なコ
マンド応答とデータが要求側プログラムに使用可能にな
るところまでコマンドが処理された時に、メッセージ応
答ブロック(MRB)が作成できる。コマンド要求を完
了するために、さらにコマンド処理が必要なこともあ
る。たとえば、SES構造内のディレクトリ項目を、位
置指定用の1次待ち行列によって見つけることができ
る。さらに、同じディレクトリ項目が、SES構造によ
ってサポートされる、データ・エントリの記憶場所に直
接には関係しない他の複数の2次待ち行列上に存在する
こともある。たとえば、SESキャッシュ・ディレクト
リ項目は、記憶域クラス待ち行列上に存在するが、キャ
ストアウト・クラス待ち行列上にも存在することがあ
る。これらは共に、2次待ち行列の例である。このコマ
ンドによって返されるMRBとデータを、2次待ち行列
動作またはカウントの更新あるいはその両方が完了する
前に、該プログラムに返すことができる。データとMR
Bの返送を開始した後に続く処理を、「ポストMRB」
処理と称する。ポストMRB処理中にコマンドが完了す
ることを、コマンドの「順方向完了」と称する。このよ
うなコマンドの順方向完了が必要なのは、該プログラム
によって要求される動作が確実に完了するようにするた
め、および記憶域アクセス規則を実施するためである。
ポストMRB処理をサポートするSES機構は、停電な
らびにハードウェア・エラーおよびソフトウェア・エラ
ーが存在する際にも順方向コマンド完了を成功させるた
めに、電源処理、論理処理および回復処理を提供する。
【0107】SES機構のマイクロコードに対するハー
ドウェア・エラーおよびソフトウェア・エラーの提示
は、プログラム割込みや機械検査割込みなど周知の機構
を使って達成できる。このような機構は、IBMのES
A/390アーキテクチャで周知である。検出されるエ
ラーには、プログラム論理エラー、ハードウェア誤動
作、許容できない熱偏差、一時的な電源喪失などが含ま
れ得る。
【0108】これらのエラーが発生する時、これらの割
込みの結果、割込みハンドラとして知られる制御プログ
ラム要素に制御が渡される。この割込みハンドラは、割
り込まれた処理のための回復を行う。その実行の間、S
ESコマンド処理は、回復処理にとって使用可能なチェ
ックポイント状態情報を作成することによって、その順
方向進行を記録する。この状態情報は、順方向完了の時
点を決定するのに使用される。
【0109】電源喪失の場合のコマンド完了を容易にす
るため、SES機構はバックアップ・バッテリ電源を利
用することができる。このバッテリは、割り込まれたコ
マンド処理を完了できるのに十分な時間システムを維持
できなければならない。その後、適切な遮断の後に、S
ES機構を静止状態に置くことができる。
【0110】回復が不可能な場合、または回復処理の間
に反復的エラーが発生する場合には、永続エラー状態に
入って、SESオブジェクトが不確定状態にならないよ
うにそれ以上のコマンドの実行を防止することができ
る。
【0111】永続エラー状態は、2つの方法のうちの1
つでSESに記録される。そのエラーが、アクセスされ
るSES構造によるものと特定される場合、その構造に
対するそれ以上のアクセスを防止するだけでよい。この
場合、その構造に関連する制御オブジェクト内の「構造
損傷」標識をセットすることによって損傷が示される。
そのエラーを単一のSES構造によるものと特定できな
い場合は、グローバル制御オブジェクト内の「機構損
傷」標識(図5の16D)をセットすることによって損
傷が示される。
【0112】コマンドがSES機構に到着する時、メッ
セージ・プロセッサ選択機構構成要素は、グローバル制
御オブジェクトに問い合わせて、機構損傷が示されてい
るかどうかを判定する(図12の1202)。そうであ
る場合は、コマンド実行が抑制され、それを指示するエ
ラー・コマンド応答が返される(1212)。
【0113】機構損傷が示されていない場合、メッセー
ジ・プロセッサ選択機構構成要素は、適切なメッセージ
・プロセッサをディスパッチし(1204、120
5)、このメッセージ・プロセッサは、構造識別子入力
コマンド・パラメータを使って、アクセスされるSES
構造に関連する制御を見つける(1206)。構造損傷
が示されている場合(図5の26A、図6の66A)、
コマンド実行が抑制され、それを指示するエラー・コマ
ンド応答が返される(1213)。
【0114】並列コマンド実行の筋書:ロックを利用し
てオブジェクトの並行参照をサポートするコマンドの処
理に関して、4つの筋書を示す。最初の3つの例は、図
7に基づくものである。ディレクトリ項目と、潜在的に
それと関連するそれぞれ複数の待ち行列のうちの1つに
あるデータ・エントリとを含む、代表的な構造がSES
内に存在する。待ち行列は、1次ディレクトリ・アンカ
ー・アレイにアンカーされ、各待ち行列が、ロックと待
ち行列ヘッダからなるアレイ内の1項目を有する。4番
目の筋書では、記憶域クラス待ち行列の場合にそうであ
るが、図7の構造に、図8に示す2次待ち行列が増補さ
れる。2次待ち行列の更新は、実質上正しければよい。
【0115】筋書1:第1の筋書では、ディレクトリ項
目を待ち行列1から待ち行列2に移す。この構造をサポ
ートする2つのロック・レベルを、ロック階層内で定義
する。「低」と名付けられるロックは、「高」と名付け
られるクラス・ロックよりも階層内で低位のクラス・ロ
ックである。各待ち行列ヘッダ内のロックは、低ロック
または高ロックとして獲得される。ディレクトリ項目を
ある待ち行列から別の待ち行列へ移すための処理では、
より低い番号を有する待ち行列(ソースまたは目標のい
ずれか)の「低」ロックを獲得し、より高い番号を有す
る待ち行列の「高」ロックを獲得する。下記のステップ
に従う。 1.待ち行列1を「低」ロックする 2.待ち行列2を「高」ロックする 3.指定されたディレクトリ項目を見つける 4.ディレクトリ項目を待ち行列1から削除する 5.ディレクトリ項目を待ち行列2に追加する 6.待ち行列2のロックを解除する 7.待ち行列1のロックを解除する 8.MRBとデータを送る
【0116】上記のプロトコルに従うと、オブジェクト
・アクセス参照の規則が満たされ、並列に実行されるコ
マンドが共通の待ち行列を参照しないというコマンド並
行性が可能になる。
【0117】筋書2:SES機構への要求を開始するプ
ログラムに対してできるだけ迅速に応答し、なおかつオ
ブジェクト・アクセス参照の規則を実施することが望ま
しい。下記のプロトコルでは、コマンドが完了する前に
MRBとデータを送ることができ、しかも、コマンドの
結果がプログラミングによって観察可能でないことが保
証される。この例では、ディレクトリ項目を待ち行列2
から待ち行列1に移すものと仮定する。 1.待ち行列1を「低」ロックする 2.待ち行列2を「高」ロックする 3.指定されたディレクトリ項目を見つける 4.ディレクトリ項目を待ち行列2から削除する 5.待ち行列2のロックを解除する 6.MRBとデータを送る 7.ディレクトリ項目を待ち行列1に追加する 8.待ち行列1のロックを解除する
【0118】このプロトコルを用いると、該プログラム
は、コマンド完了の前に応答を受け取ることができる。
これによって、コマンド要求に対するSESの応答性が
向上する。このコマンドの結果は、プログラミングには
原子的に見える。というのは、このディレクトリ項目が
待ち行列2上にないことを観察するSES要求をプログ
ラミングが処理できるようになる前に、この移動によっ
て待ち行列2からその項目が削除され、このディレクト
リ項目が待ち行列1上にないことを観察するSES要求
をプログラミングが処理できるようになる前に、この移
動によって待ち行列1上にその項目が置かれるからであ
る。これは、待ち行列2のロックが解放された後、およ
びMRBとデータが返された後に、待ち行列1のオブジ
ェクトに対するロックが保持されているからである。こ
のプロトコルでは、MRBを返した後にコマンドの順方
向完了が必要である。
【0119】筋書3:前の2つの筋書きは、単一のクラ
ス・ロックを用いても達成できるように思われる。とこ
ろが、下記のプロトコルでは、プログラミングが部分的
コマンド結果を観察できる可能性が残される。 1.待ち行列2をロックする 2.指定されたディレクトリ項目を見つける 3.ディレクトリを待ち行列2から削除する 4.待ち行列2のロックを解除する 5.待ち行列1をロックする 6.MRBとデータを送る 7.ディレクトリ項目を待ち行列1に追加する 8.待ち行列1のロックを解除する
【0120】このSESコマンドを実行しているプロセ
ッサが、ステップ4とステップ5の間で遅延される場
合、SESの第2のプロセッサ上で実行中の1連のコマ
ンドによって、ディレクトリ項目が待ち行列1にも待ち
行列2にも存在しないことが観察される可能性があるこ
とが認められよう。この移動コマンドは、他のSESコ
マンドと同様に、プログラミングからは原子的に見えな
ければならない。部分的コマンド実行をプログラミング
から見えるようにすることは、SES機構によって実施
される並行オブジェクト・アクセス規則に違反してい
る。待ち行列1に対するロックを獲得する前にMRBが
送られていない場合でもそうである。このプロトコルで
は、そのディレクトリ項目がどの待ち行列上で見つかる
かをプログラミングが予想できないはずである。プログ
ラミングにはSESでの並行コマンド実行の順序が予測
できないので、待ち行列1または待ち行列2のどちらか
が許容可能である。コマンド実行の順序は、遊休状態ま
たは状況保留中にされているサブチャネルでの状況を観
察しなければ断言できない。それでもこのプロトコル
は、単一のコマンドの部分的結果が見えるので、アクセ
ス規則に違反している。
【0121】筋書4:図8に基づくこの例では、ディレ
クトリ項目が、位置指定用の1次待ち行列上と他のSE
S機能用の2次待ち行列上に存在する。2次待ち行列
は、SESでのコマンド実行の順序を正確に反映しなけ
ればならないが、コマンド実行の完了時に更新される必
要はない。これらの目標を達成するため、各位置指定用
1次待ち行列にそれぞれ1つのロックが関連し、各2次
待ち行列にそれぞれ1つのロックが関連する。2次待ち
行列ロックは、ロック階層内で1次待ち行列ロックより
高位である。
【0122】ディレクトリ項目内で、2次待ち行列を変
更する事象のカウントを表すシーケンス番号が定義され
る。コマンドは、SESが受け取って処理する。SES
は、ディレクトリ項目にアクセスし、2次待ち行列を変
更する。コマンド実行中に、コマンド完了の前にMRB
が送られる。さらに、MRBが送られてから2次待ち行
列動作が行われるまでの間に、処理が必要である。この
処理は、MRB応答と、2次待ち行列操作までの後続の
コマンド処理との全体にわたって位置指定用1次待ち行
列を逐次化する、ロックの解放を強制するのに十分な範
囲にある。 1.1次待ち行列をロックする 2.要求されたディレクトリを見つける 3.ディレクトリ内の2次変更カウントを更新する 4.2次変更カウントをセーブする 5.1次待ち行列のロックを解放する 6.MRBを送る 7.2次待ち行列に対する処置の前に必要なコマンド処
理を行う 8.1次待ち行列をロックする 9.ディレクトリを見つける 10.2次変更カウントを検査する 11.現2次待ち行列をロックする 12.ディレクトリを現2次待ち行列から削除する 13.現2次待ち行列のロックを解放する 14.新規2次待ち行列をロックする 15.新規2次待ち行列でディレクトリを更新する 16.ディレクトリを新規2次待ち行列に追加する 17.新規2次待ち行列のロックを解放する 18.1次待ち行列のロックを解放する
【0123】ステップ8およびステップ9で、1次待ち
行列に対してロックが獲得され、ディレクトリ項目が再
度見つけられることに留意されたい。この処置が行われ
るのは、このコマンドの処理中に、並行して実行中のコ
マンドが、このディレクトリ項目が存在する1次待ち行
列を変更した可能性があるからである。ステップ3で、
変更カウントが変更され、1次待ち行列をロックした状
態でセーブされる。ステップ10で、セーブされた変更
カウントが、1次ロックを保持した状態で、ディレクト
リ項目内の現変更カウントと比較される。別のコマンド
が実行され、やはり2次変更カウントを更新していた場
合、そのコマンドは、そのディレクトリ項目に関して2
次待ち行列を変更せずに終了する。この処理により、多
数のコマンド実行の最終結果によって、そのディレクト
リ項目がSESで処理される最後のコマンドの実行に関
連する2次待ち行列上に存在するようになることが保証
される。
【0124】並行コマンド処理:上記では、SES機構
が多数のコマンドを並列に処理する際に従う規則を詳細
に説明した。多数のコマンド実行をサポートするには、
ロック・プロトコルが必要である。こうしたロック・プ
ロトコルは、互換性のないアクセス参照が行われるSE
S機構内部でコマンドによるオブジェクトの逐次再使用
を実現するために使用できる。SESコマンドは、こう
したロック・プロトコルを利用して、SES機構内のオ
ブジェクト並行アクセスが、コマンドが順序通り原子的
に実行されることをプログラミングが観察するような形
になることを保証する。
【0125】コマンド再始動:SES機構で実行される
コマンドは、タイミング制限下に置かれる。どれか1つ
のコマンドが実行中である可能性のある持続時間は、複
数の要因によって決定される。まず、すべてのコマンド
が、リンク・タイムアウト・インターバル内に完了する
ものとする。こうすると、正常なコマンド実行によっ
て、CPCのシステム間チャネルでのインターフェース
制御検査が行われることがなくなる。インターフェース
制御検査は、予期されないまたは異常なエラー状態を表
す。この状態が提示された時には、オペレーティング・
システム・ソフトウェアによって、エラーがログされ、
破壊的なメッセージ経路回復手順が実行される。したが
って、正常ではあるが時間のかかるコマンド実行が原因
となってこの状態が報告されることのないことが、絶対
に必要である。第2に、コマンドは、SESで実行され
るすべての処理が、プログラミングにはほぼ同等の持続
時間を有するように見える時間だけ実行されるものとし
て定義される。コマンド実行の持続時間をほぼ同等にす
ると、割込み可能なコマンド実行およびコマンド実行の
優先順位づけをサポートするための、CPCプログラミ
ングに対する要件とSES内の要件が不要になる。
【0126】プログラミングで必要とされる処理を達成
するため、コマンド処理の中には、再始動環境を確立す
ることによってSESでの処理を完了するように定義さ
れた複数のコマンド動作を含むものがある。SESコマ
ンドに関して、下記の4タイプの再始動環境が定義され
る。
【0127】1.コマンドが、SES構造から複数のデ
ータ・エントリまたはディレクトリ項目を取り出すこと
がある。このようなコマンドは、コマンド指定に合致す
るディレクトリ要素の待ち行列を処理することによっ
て、要求されたデータ・エントリまたはディレクトリ項
目を見つけることができる。たとえば、キャストアウト
・クラスは、SESキャッシュ・コマンド「キャストア
ウト・クラス読取り」によって処理できる。別の例を挙
げると、SESリスト構造内の指定されたリスト上の項
目が、「リスト読取り」コマンドによって処理できる。
このようなコマンドの実行中にSESモデル依存のタイ
ムアウトが発生した時は、指定された待ち行列の処理の
続行を可能にする値が該プログラムに返される。返され
る値は、再始動トークン、またはリスト項目制御や次の
ロック・テーブル項目番号など次に処理される要素に固
有の識別である。プログラミングは、返された再始動ト
ークンを指定することによって、コマンド実行を再開す
る。待ち行列の完全なまたは一貫した外見が必要な場
合、プログラミングによって、処理される待ち行列に対
するアクセスを逐次化する必要がある。
【0128】2.コマンドが、SES構造から複数のデ
ータ・エントリまたはディレクトリ項目を取り出すこと
がある。このようなコマンドは、コマンド指定と共に供
給される値と一致する項目の固定ディレクトリを処理す
ることによって、要求されたデータ・エントリまたはデ
ィレクトリ項目を見つけることができる。たとえば、S
ESキャッシュに対する「補足コピー無効化」コマンド
は、キャッシュ・ディレクトリの処理中に、名前と、そ
れに関連する名前マスク・フィールドの突合せを行う。
同様に、SESリスト構造コマンド「リスト・セット削
除」は、コマンドで指定されたリスト番号およびバージ
ョン番号と一致するリスト項目制御を処理する。このよ
うなコマンドの実行中にSESモデル依存のタイムアウ
トが発生した時は、指定された待ち行列の処理の続行を
可能にする値が該プログラムに返される。返される値
は、固定ディレクトリ内の次に処理される項目を表す再
始動トークンである。プログラミングによって、指定さ
れた再始動トークンを用いてコマンド実行が再開され
る。
【0129】3.コマンドが、SES構造内の複数のデ
ィレクトリ項目またはデータ・エントリの指定を供給す
ることがある。たとえば、SESリスト・コマンド「リ
スト項目削除」は、リスト項目の識別子または名前によ
って、複数のリスト項目を指定する。「キャストアウト
・ロック解除」コマンドは、名前によって、キャッシュ
・ディレクトリ項目を識別する項目のリストを指定す
る。このようなコマンドの実行中にSESモデル依存の
タイムアウトが発生した時は、指定された動作のうち実
行された動作の数を示す値が該プログラムに返される。
前の例では、それぞれ、現データ指標または現リスト項
目が返される。プログラミングは、そのコマンドによっ
て指定された値の残りの部分を用いてそのコマンドを再
発行することによって、処理を続行することができる。
【0130】4.コマンドの開始元である個々のプロセ
スまたはシステムよりも広い範囲の1組のSESコマン
ドが存在する。具体的に言うと、これらのコマンドは、
構造の割振りまたは割振り解除、あるいはSES構造に
関連するユーザの切断を引き起こす。シスプレックス全
体動作に対する影響は重大であり、SES構造の複数の
システムおよびユーザに影響を及ぼす。これらのコマン
ドは、あるユーザの終了によって影響を受けるSES構
造のサイズとその構造内の項目数によっては、実行する
のに長時間かかる可能性もある。これらのコマンドはそ
れぞれ、各段階がSESモデル依存のタイムアウト間隔
内で完了できる、処理段階を確立する。各処理段階で
は、コマンド実行をチェックポイント化することができ
る。これらのコマンドのチェックポイント状況は、SE
S構造内で維持される。したがって、これらのコマンド
の継続は、SESに付加された任意のシステム上のプロ
グラミングによって達成できる。このようなコマンドが
プログラミングによって再発行される時は、コマンド実
行の状況が、SES内に記憶されたチェックポイント状
況から回復され、コマンド実行の後続の段階が実行され
る。たとえば、「キャッシュ構造割振り」コマンドは、
ディレクトリ域とデータ域を初期設定できる。ディレク
トリ域とデータ域の空き待ち行列も必要である。実行段
階は、制御域の初期設定など、コマンドによって暗示的
に定義されることも、固定数のディレクトリ項目の初期
設定など、コマンドによって明示的に定義されることも
ある。同様に、「リスト構造ユーザ切断」などのコマン
ドは、固定数のリスト監視テーブル項目のリスト監視活
動状態ビットをリセットすることからなる処理段階を決
定することができる。
【0131】上記の最初の3つのケースでは、更新され
るオブジェクトの変更が、他のコマンドの処理に関して
一貫した状態になっている境界で、コマンド処理が完了
する。たとえば、複数のリスト項目が削除される時、所
与のリスト項目は削除済みか未削除かのどちらかであ
り、部分的処理済み状態にはならない。
【0132】ケース1ないし3の処理を、図10に示
す。1001で、コマンドに伴う再始動トークンの指定
に基づいて、作用すべき最初のオブジェクトまたは次の
オブジェクトを見つけることによって、コマンド処理が
開始する。1002で、モデル依存タイムアウトになっ
たかどうかの検査を実行する。タイムアウト状態が発生
していない場合、1003で、残りの処理が必要かどう
か判定する。コマンドが完了していない場合、1004
で、作用すべき次のオブジェクトを処理する。1005
で、次に作用されるオブジェクトを見つけるため、ロケ
ータを更新する。このコマンドが処理を完了する前に、
タイムアウト状態が発生した場合、1006で、再始動
トークンと指示応答コードをプログラミングに返す。こ
のコマンドによる処理を必要とするオブジェクトがもう
他には存在しない場合、1007で、コマンド完了を示
す応答コードをプログラミングに返す。
【0133】ケース4の処理を図11に示す。1101
で、このコマンドに関してSESで記憶された状況に基
づいて、最初のコマンド処理かそれともコマンド続行か
を判定する。最初のコマンド処理の場合、1102で、
コマンド実行段階が、既にわかっており、あるいは確立
される。最初のコマンド実行の場合、1103で、この
コマンドに関して次に処理すべき段階を確立する。コマ
ンド実行の続行の場合は、1104で、このコマンドに
関して次に処理すべき段階を、SES内のチェックポイ
ント状況域から確立する。1105で、コマンド処理が
続行する。1106で、モデル依存タイムアウトになっ
たかどうか検査する。モデル依存タイムアウトが発生し
ていない場合は、1107で、コマンド実行の次の段階
を確立する。タイムアウト条件が発生している場合は、
1108で、コマンド状況を、SES内のこのコマンド
に関連するチェックポイント域にセーブし、1109
で、指示応答コードをプログラミングに返す。このコマ
ンドが処理を完了している時は、1110で、このコマ
ンドに関連するSES内のチェックポイント状況域をク
リアし、コマンド完了応答をプログラミングに返す。
【0134】非ブロッキング・ディレクトリ走査:デー
タ要素は、複数のユーザ間で共用できる電子記憶機構内
に存在すると定義される。これらのデータ要素を異なる
グループに編成し、各要素グループを、そのグループに
共通の特性に基づいて管理することができる。各データ
要素ごとに1つずつ、データ要素を記述しそれが常駐す
るグループを示す、ディレクトリ要素が存在する。記憶
機構内のデータ要素に対して操作が行われ、グループ内
またはグループ間でのディレクトリ項目の追加、削除お
よび移動が実施される。記憶装置に対するアクセス権を
有するプログラムが、並行動作を防止するための明示的
な逐次化を必要とせずに、指定されたグループ内のすべ
てのディレクトリ項目に問い合わせることを可能にする
機構が記述される。
【0135】図9には、CECのネットワークが、結合
機構に要求を発行し、結合機構から応答を受け取ること
を可能にする構成が示されている。このような結合機構
の1つが、共用電子記憶機構(SES)である。プログ
ラミングは、データと状況情報を返すように設計され
た、SESによって実行される動作を要求することがで
きる。
【0136】SESで実行される動作のほとんどは、本
来原子的である。コマンドは、該プログラムに応答が返
される前に、完了まで実行される。しかし、ディレクト
リ検索などある種の動作では、単一のコマンドの実行に
割り振られた時間内に達成できる以上の処理が必要であ
る。長時間走行するコマンドの場合、コマンドのモデル
依存タイムアウトが実施される。この手順の間に、ある
コマンド実行状態データが、該プログラムに返され、S
ESでの動作が打ち切られる。該プログラムは、所期の
動作を完了するため、後続の要求の際に繰り返し再始動
状態データをSESに渡す責任を負う。
【0137】タイムアウト状態の故にコマンドが割り込
まれる時、その動作を維持するためのSES内部での逐
次化が解除されて、他のコマンドによる同じデータ・オ
ブジェクトに対する実行が可能になる。その結果、該プ
ログラムに渡された再始動状態データが無効になる可能
性がある。というのは、この動作に関連する再始動デー
タが、待ち行列上の次に処理されるディレクトリ項目の
アドレスとなる可能性が高いからである。再始動データ
が無効であると、ディレクトリ検索がループになる、検
索中にディレクトリ要素が隠される、アドレッシング例
外などSES内部のエラーが発生するといった、予想で
きない処理結果が生じる可能性がある。したがって、他
の何らかの技法を用いない限り、長時間走行するコマン
ドの繰返しがすべて完了するまで、他のシステムによる
介在要求をブロックするために、プログラミングが逐次
化を獲得することが必要になるはずである。
【0138】この問題を例示するため、図9に示した4
つのディレクトリ要素を含むSESキャッシュ構造内の
記憶域クラスについて検討する。
【0139】該プログラムは、この記憶域クラス待ち行
列の走査を開始するコマンドを開始する。モデル依存タ
イムアウトが満了し、SESは、記憶域クラス待ち行列
の走査中にディレクトリ要素Bから得られた、ディレク
トリ要素Cのアドレスを含む再始動データを返す。
【0140】その後、別のプログラムが、SESコマン
ドを開始し、ディレクトリ要素Dで表されるデータに対
する参照を実施する。記憶域クラス内のディレクトリ要
素のLRU順序を維持するため、SESは、ディレクト
リ要素Dをこの待ち行列の先頭に移動する。
【0141】返された再始動データを使用してディレク
トリ走査が続行される時、ディレクトリ要素Dは、待ち
行列上で再始動点より論理的に前にあるので、処理され
ない。
【0142】使用中の1組のディレクトリ項目が、走査
処理の繰返しの間に変化する可能性があることに留意さ
れたい。走査処理の開始時に存在し、その後も有効な状
態に留まる有効なディレクトリ項目が、走査が完了する
前に処理されなければならない1組のディレクトリ項目
である。走査が開始された後に割り当てられたまたは解
放されたディレクトリ項目は、処理の必要がない。
【0143】データ・オブジェクトがディレクトリ走査
によって処理されないように明示的に逐次化する必要を
なくすには、該プログラムに返される再始動データが、
その動作の次の繰返しでも有効なままである必要があ
る。これを達成するには、下記の3つのことが必要であ
る。・SES構造のディレクトリ要素用に静的に割り振
られた記憶域・静的プール内で最初にまたは次に走査さ
れるディレクトリ要素をアドレスするコマンド再始動ト
ークン・ディレクトリ要素の内容に対してディレクトリ
を選択するための判断基準をサポートするディレクトリ
走査コマンド
【0144】静的に割り振られたディレクトリ記憶域:
SES構造内のディレクトリ要素用の空間は、その構造
の作成時に割り振られる。このディレクトリ要素のプー
ルは、このプール内の個々の要素が、所与の時点でその
構造のために使用中であるような形でまたは使用中でな
いような形で管理される。ある要素が使用中である時、
その要素自体に常駐するポインタを使って、他の使用中
のディレクトリ項目に対してその要素を待ち行列化する
ことができる。ただし、このSES構造の存続期間中の
どの時点でも、あるディレクトリ要素の物理記憶場所は
変化しない。この構造の存続期間中には、ディレクトリ
・プールの動的拡張または動的縮小は行われず、このプ
ール内の要素が、解放されることも別のSES構造にと
って使用可能になることもない。
【0145】コマンド再始動トークン:コマンド再始動
トークンには、静的に割り振られたディレクトリ要素プ
ール内の1要素をアドレスするのに必要な情報が格納さ
れる。0の再始動トークンには特別な意味があり、これ
は、プール内の最初のディレクトリ要素を指定するため
に使用される。SESによって供給される非0のコマン
ド再始動トークンは、ディレクトリ要素の状態と内容を
変更する可能性のある他の介在動作とは無関係に、この
SES構造の存続期間中有効である。
【0146】ディレクトリ選択判断基準:静的に割り振
られたプール内のすべてのディレクトリ要素に問い合わ
せることが必要なので、走査中のディレクトリ要素の選
択は、走査方法によって暗示的に指定できない。したが
って、ディレクトリ走査コマンドは、該プログラムから
選択判断基準を受け入れ、検索の際にそれを適用しなけ
ればならない。たとえば、該プログラムは、リスト5上
に常駐し、7のキーを有する使用中のディレクトリ要素
だけが選択されることを要求することができる。
【0147】切断(資源再利用):SES構造の使用
は、プログラミングによって、各SES構造に付加され
たユーザを識別するためにSESに記憶された状況を用
いて管理される。プログラミングは、「ローカル・キャ
ッシュ付加」コマンドを利用して、あるユーザをSES
キャッシュ構造に関連付ける。同様に、プログラミング
は、「リスト構造ユーザ付加」コマンドを利用して、あ
るユーザをSESリスト構造に関連付ける。
【0148】SES構造に関連するユーザの通常の実行
中、そのSES構造内のオブジェクトが、ユーザの関心
を反映するように変更される。たとえば、キャッシュ内
では、ローカル・キャッシュ・レジスタが、所与のディ
レクトリ項目に対するユーザの関心を表す。キャストア
ウト・ロックは、あるデータ項目に対するキャストアウ
ト処理を実行するユーザを識別する。同様に、リスト監
視テーブルは、その構造内のリストの状態変化について
通知を受けるようにリスト監視通知に関して登録された
ユーザを識別する。
【0149】あるユーザが終了した時、そのユーザを表
すSES資源の再利用が、プログラミング制御下でSE
S機構によって実行される。SESでのユーザ識別子と
それに関連するユーザ制御の再利用を可能にするため、
まず、終了したユーザのために登録された関心を反映す
るすべてのローカル・キャッシュ・レジスタまたはリス
ト監視テーブルに対する、潜在的な束縛をすべて破棄す
る必要がある。あるUIDを新規ユーザに再割振りする
前にこれらの束縛を破棄できないと、終了したユーザに
関連するSESでの状態情報の変化を反映して、新規ユ
ーザのために遠隔CPCで維持される状態情報の更新が
誤ったものになる可能性がある。「ローカル・キャッシ
ュ切断」コマンドと「リスト構造ユーザ切断」コマンド
の発行によって、これらの資源が、初期設定された使用
可能な状態に設定される。再利用処理を完了するため
に、これらのコマンドを複数回呼び出すことが必要とな
ることもある。これらのコマンドに関する内部チェック
ポイント処理は、プログラミングがコマンド完了に向け
て進行できるように保証し、プログラミングが、SES
機構に付加されたどのCPCからでもこれらのコマンド
を再発行できるようにする。キャッシュまたはリスト構
造内の1ユーザに関連するすべての資源が切断処理によ
って再利用された時、切断コマンドは完了する。
【0150】切断コマンドを用いると、終了したユーザ
のための資源再利用を、異なるCPCに常駐する対等プ
ログラムによって実行できるようになり、終了したユー
ザが常駐していたCPCに障害が発生しても、クリーン
アップ処理が走行できるようになる。さらに、この対等
プログラムは、目標の構造に付加する必要がない。
【0151】グローバル・オブジェクト:グローバル・
オブジェクトは、SES機構を識別し、その状態を記述
し、そのモデル依存制限を定義し、その資源の状況を要
約する。
【0152】固定グローバル制御は、SES電源オン・
リセット時にセットされ、どのSESコマンドによって
も変更されない。
【0153】プログラムによって変更可能なグローバル
制御は、SES電源オン・リセット時に初期設定され、
後続のSESコマンドによって変更できる。
【0154】固定グローバル制御を、次表に要約して示
す。 固定グローバル制御 頭字語 SID限界 SL 全制御空間 TCS
【0155】プログラム変更可能グローバル制御を、次
表に要約して示す。 プログラム変更可能グローバル制御 頭字語 空き制御空間 FCS 空き空間 FS SIDベクトル SV 全空間 TS
【0156】空き制御空間(FCS):まだ割り当てら
れておらず、構造への割当てに使用可能な制御記憶域の
量を指定する、オブジェクトまたはフィールド。空き制
御空間の値は、全制御空間の値と同じ値に初期設定され
る。
【0157】空き空間(FS):まだ割り当てられてお
らず、構造への割当てに使用可能な記憶域の量を指定す
る、オブジェクトまたはフィールド。空き空間の値は、
全空間の値と同じ値に初期設定され、SES機構内で割
振り可能な最大の構造サイズを表す。
【0158】SID限界(SL):サポートされる最大
のSID値を指定するオブジェクトまたはフィールド。
【0159】SIDベクトル(SV):割当て済みのS
IDを指定するオブジェクトまたはフィールド。
【0160】全制御空間(TCS):SES制御記憶域
内で定義され、構造に対する制御オブジェクトの割振り
に使用可能な記憶域の量を指定する、オブジェクトまた
はフィールド。
【0161】全空間(TS):SES記憶域内で定義さ
れ、構造の割振りに使用可能な記憶域の量を指定する、
オブジェクトまたはフィールド。
【0162】リスト限界 頭
字語 リスト番号限界 LNL ロック・テーブル項目特性限界 LTEXL ユーザ識別子限界 UIDL
【0163】リスト番号限界(LNL):最大リスト番
号を指定するオブジェクトまたはフィールド。
【0164】ロック・テーブル項目特性限界(LTEX
L): ロック・テーブル項目の最大サイズを指定するオブジェ
クトまたはフィールド。
【0165】ユーザ識別子限界(UIDL):最大ユー
ザ識別子を指定するオブジェクトまたはフィールド。最
大ユーザ識別子の値は、各リスト構造に付加することの
できるリスト構造ユーザとリスト通知ベクトルの最大数
である。
【0166】SESリスト構造:リスト構造は、リスト
構造制御、ユーザ制御、およびロック・テーブルまたは
リスト制御とリスト項目制御とを有するリスト・セット
のどちらかあるいはその両方からなる。
【0167】各ロック・テーブルは、1つまたは複数の
一連の項目からなり、この項目には、0から始まる連続
した番号が付けられる。リスト構造タイプとロック・テ
ーブル項目特性は、すべてのロック・テーブル項目が、
グローバル・ロック・マネージャ・オブジェクトまたは
ローカル・ロック・マネージャ・オブジェクトあるいは
その両方を有するかどうかを決定する。
【0168】リスト構造制御は、リスト構造の作成時に
初期設定される。リスト構造制御には、構造サイズ、リ
スト構造タイプ、ロック・テーブル項目カウント、非0
ロック・テーブル項目カウント、ロック・テーブル項目
サイズ、リスト・カウント、リスト要素サイズ、最大デ
ータ・リスト項目サイズ、最大リスト・セット項目カウ
ント、リスト・セット項目カウント、最大リスト・セッ
ト要素カウント、リスト・セット要素カウント、ユーザ
識別子ベクトルおよびユーザ構造制御が含まれる。
【0169】ユーザ制御は、リスト構造ユーザが付加さ
れる時に作成され、初期設定される。ユーザ制御には、
リスト通知トークン、システム識別子およびユーザ付加
制御が含まれる。
【0170】各リスト・セットは、1つまたは複数のリ
ストからなり、このリストには、0から始まる連続した
番号が付けられる。
【0171】各リストに関連するリスト制御がある。リ
スト制御には、リスト項目カウントまたはリスト要素カ
ウント、リスト項目カウント限界またはリスト要素カウ
ント限界、リスト監視テーブル、リスト状態遷移カウン
トおよびユーザ・リスト制御が含まれる。
【0172】各リストは、0個以上の一連の項目からな
る。リスト構造タイプは、そのリスト・セット内のすべ
てのリスト項目が、データ・リスト項目または付属リス
ト項目あるいはその両方を有するかどうかを決定する。
【0173】各リスト項目に関連するリスト項目制御が
ある。この制御には、リスト項目記憶場所情報、データ
・リスト項目サイズおよびバージョン番号が含まれる。
【0174】リスト構造オブジェクト リスト構造:可
能なリスト構造オブジェクトは、下記のものからなる。 ・リスト構造制御・ユーザ制御・リスト制御・リスト項
目制御・ロック・テーブル・リスト・セット
【0175】リスト構造制御:固定リスト構造制御は、
リスト構造の作成時に初期設定され、そのリスト構造が
割振り解除されるまで変更されない。
【0176】プログラムによって変更可能なリスト構造
制御は、リスト構造の作成時に初期設定される。プログ
ラム変更可能リスト構造制御の値は、SESコマンドに
よって変更できる。
【0177】固定リスト構造制御を、以下の表に要約し
て示す。 固定リスト構造制御 頭字語 リスト・カウント LC リスト要素特性 LELX リスト構造タイプ LST ロック・テーブル項目特性 LTEX ロック・テーブル項目カウント LTEC 最大データ・リスト項目サイズ MDLES 最大リスト・セット要素カウント MLSELC 最大リスト・セット項目カウント MLSEC 構造サイズ SS
【0178】プログラム変更可能リスト構造制御を、以
下の表に要約して示す。 プログラム変更可能リスト構造制御 頭字語 リスト・セット要素カウント LSELC リスト・セット項目カウント LSEC 非0ロック・テーブル項目カウント NLTEC ユーザ識別子ベクトル UIDV ユーザ構造制御 USC
【0179】リスト・カウント(LC):作成されたリ
ストの数を指定するオブジェクトまたはフィールド。
【0180】リスト要素特性(LELX):各リスト要
素内のバイト数を指定するオブジェクトまたはフィール
ド。
【0181】リスト・セット要素カウント(LSEL
C):リスト・セット内のリスト項目または再試行デー
タ・ブロックあるいはその両方に割り当てられているリ
スト要素の数を指定するオブジェクトまたはフィール
ド。
【0182】リスト・セット項目カウント(LSE
C):リスト・セット内に存在するリスト項目の数を指
定するオブジェクトまたはフィールド。
【0183】リスト構造タイプ(LST):割振りの際
に作成されるリスト・オブジェクトを指示するオブジェ
クトまたはフィールド。1つのフィールドに、カウンタ
標識(CI)、ロック標識(LI)、データ標識(D
I)、付属標識(AI)、名前標識(NI)およびキー
標識(KI)が格納される。
【0184】カウンタ標識は、下記のいずれかを指定す
る。リスト項目カウントとリスト項目カウント限界が定
義されるリスト要素カウントとリスト要素カウント限界
が定義される
【0185】ロック標識は、ロック・テーブルを作成す
るか否かを指定する。
【0186】データ標識と付属標識は、下記のいずれか
を指定する。 リスト・セットを作成しない リスト項目が付属リスト項目だけを有する リスト項目がデータ・リスト項目だけを有する リスト項目がそのリスト項目内にデータ・リスト項目と
付属リスト項目を有する
【0187】名前標識は、リスト項目に名前が付けられ
ているか否かを指定する。
【0188】キー標識は、リスト項目がキー付きである
か否かを指定する。
【0189】ロック・テーブル項目特性(LTEX):
各ロック・テーブル項目内のバイト数を指定するオブジ
ェクトまたはフィールド。
【0190】ロック・テーブル項目カウント(LTE
C):割り振られたロック・テーブル項目の数を指定す
るオブジェクトまたはフィールド。
【0191】最大データ・リスト項目サイズ(MDLE
S):データ・リスト項目の最大サイズを指定するオブ
ジェクトまたはフィールド。
【0192】最大リスト・セット要素カウント(MLS
ELC):リスト・セット内のリスト項目または再試行
データ・ブロックあるいはその両方に対する割当てに使
用できる最大のリスト要素数を指定するオブジェクトま
たはフィールド。
【0193】最大リスト・セット項目カウント(MLS
EC):リスト・セット内で可能な最大のリスト項目数
を指定するオブジェクトまたはフィールド。
【0194】非0ロック・テーブル項目カウント(NL
TEC):構造内に存在する非0のロック・テーブル項
目の数を指定するオブジェクトまたはフィールド。
【0195】構造サイズ(SS):割り振られた記憶域
の量を指定するオブジェクトまたはフィールド。
【0196】ユーザ識別子ベクトル(UIDV):割当
て済みのUIDを指定するオブジェクトまたはフィール
ド。
【0197】ユーザ構造制御(USC):ユーザによっ
て定義される、構造ごとに1つのフィールド。
【0198】ユーザ制御:ユーザ制御は、リスト構造ユ
ーザの割当て時に作成され初期設定され、リスト構造ユ
ーザの割当て解除時に削除される。
【0199】ユーザ制御を、以下の表に要約して示す。 ユーザ制御 頭字語 リスト通知トークン LNT システム識別子 SI ユーザ付加制御 UAC
【0200】リスト通知トークン(LNT):システム
に対してリスト通知ベクトルを指定する値。
【0201】システム識別子(SI):LNSIDと称
するメッセージ経路が活動化される時に該プログラムに
よって指定される値。システム識別子は、メッセージ経
路状況ベクトル内で維持され、リスト構造ユーザ付加コ
マンドがそのメッセージ経路を介して通信される時に、
ユーザ制御にコピーされる。
【0202】ユーザ付加制御(UAC):ユーザによっ
て定義される、付加ユーザごとに1つのフィールド。
【0203】リスト制御:リスト構造内で作成されるリ
ストごとに1つのリスト制御オブジェクトがある。リス
ト項目カウント限界とリスト要素カウント限界以外のす
べてのリスト制御は、そのリスト構造の作成時に0に初
期設定される。
【0204】リスト構造を、以下の表に要約して示す。 リスト制御 頭字語 リスト要素カウント LELC リスト要素カウント限界 LELCL リスト項目カウント LEC リスト項目カウント限界 LECL リスト監視テーブル LMT リスト状態遷移カウント LSTC ユーザ・リスト制御 ULC
【0205】リスト要素カウント(LELC):現在リ
スト内にあるリスト要素の数を指定するオブジェクトま
たはフィールド。
【0206】リスト要素カウント限界(LELCL):
リスト内で可能な最大のリスト要素数を指定するオブジ
ェクトまたはフィールド。このオブジェクトは、リスト
構造の作成時に、最大リスト・セット要素カウントに初
期設定される。
【0207】リスト項目カウント(LEC):現在その
リスト内にあるリスト項目の数を指定するオブジェクト
またはフィールド。
【0208】リスト項目カウント限界(LECL):リ
スト内で可能な最大のリスト項目数を指定するオブジェ
クトまたはフィールド。このオブジェクトは、リスト構
造の作成時に、最大リスト・セット項目カウントに初期
設定される。
【0209】リスト状態遷移カウント(LSTC):空
から非空へのリスト状態遷移が発生した回数を指定する
オブジェクトまたはフィールド。
【0210】ユーザ・リスト制御(ULC):ユーザに
よって定義される、リストごとに1つのフィールド。
【0211】リスト監視テーブル:リスト監視テーブル
には、そのリストの状態遷移に対する関心が登録された
各ユーザのリスト通知ベクトルを処理するのに使用され
る情報が格納される。
【0212】リスト監視テーブルは、リスト監視テーブ
ル項目と称するオブジェクトのシーケンスである。
【0213】リスト監視テーブル項目の数は、そのテー
ブルの作成時に決定され、リスト構造ユーザの最大数と
等しい。リスト監視テーブル項目には、0からユーザ識
別子限界までの番号が付けられる。
【0214】各リスト監視テーブル項目には、リスト監
視活動状態ビット・オブジェクト、リスト通知要求タイ
プ・オブジェクト、およびリスト通知項目番号オブジェ
クトがある。
【0215】リスト監視活動状態ビット(LMAB):
そのリスト監視テーブル項目に関連するユーザが、その
リストのリスト状態遷移を監視しているかどうかを指定
するオブジェクトまたはフィールド。
【0216】ユーザがリストを監視していない時は、そ
のリストに関してその関連ユーザのために以前に発行さ
れたリスト通知コマンドがすべて完了している。
【0217】リスト通知要求タイプ(LNRT):監視
されるリスト上で空から非空への状態遷移が発生する時
に、リスト通知ベクトル・サマリを更新するかどうかを
指示するオブジェクトまたはフィールド。
【0218】リスト通知項目番号(LNEN):リスト
通知ベクトル項目を指定するオブジェクトまたはフィー
ルド。
【0219】リスト項目制御:構造内のリスト項目ごと
に1つのリスト項目制御オブジェクトがある。このリス
ト項目制御は、リスト項目の作成時に初期設定され、そ
のリスト項目が削除される時に削除される。
【0220】リスト項目制御を、以下の表に要約して示
す。 リスト項目制御 頭字語 データ・リスト項目サイズ DLES リスト項目識別子 LEID リスト項目キー/リスト項目名 LEK/LEN リスト番号 LN バージョン番号 VN
【0221】データ・リスト項目サイズ(DLES):
データ・リスト項目のサイズを指定するオブジェクトま
たはフィールド。
【0222】リスト項目識別子(LEID):リスト項
目を指定するオブジェクトまたはフィールド。リスト項
目識別子は、リスト・セットに固有であり、SESによ
って割り当てられる。
【0223】リスト項目キー(LEK):リスト内のリ
スト項目の位置を部分的に指定するオブジェクトまたは
フィールド。
【0224】リスト項目名(LEN):リスト・セット
内のリスト項目の位置を完全に指定するオブジェクトま
たはフィールド。リスト項目名は、どの瞬間にもリスト
・セットに固有であり、該プログラムによって供給され
る。
【0225】リスト番号(LN):そのリスト項目が含
まれるリストを指定するオブジェクトまたはフィール
ド。
【0226】バージョン番号(VN):条件付きで比較
され、条件付きで更新されるオブジェクトまたはフィー
ルド。バージョン番号は、リスト項目の作成時に、0に
初期設定される。
【0227】ロック・テーブル:ロック・テーブルは、
ロック・テーブル項目と称するオブジェクトのシーケン
スである。ロック・テーブル項目の数は、そのテーブル
の作成時に決定される。ロック・テーブル項目には、0
からロック・テーブル項目カウントより1つ小さい値ま
での番号が付けられる。特定のロック・テーブルについ
て、その項目は、1から最大ロック・テーブル項目サイ
ズまでの値をべき指数とする2の累乗のサイズを有す
る。最大ロック・テーブル・サイズは、空き空間と、リ
スト構造をサポートするのに必要なすべての制御のサイ
ズとによって制限される。
【0228】各ロック・テーブル項目は、グローバル・
ロック・マネージャ(GLM)オブジェクトと、任意指
定のローカル・ロック・マネージャ(LLM)オブジェ
クトを有する。
【0229】そのサイズが1バイトであるロック・テー
ブル項目は、グローバル・ロック・マネージャ・オブジ
ェクトだけを有する。ロック・テーブル項目のサイズが
1バイトを超える時には、その左端バイトがグローバル
・ロック・マネージャ・オブジェクトであり、残りのバ
イトがローカル・ロック・マネージャ・オブジェクトを
形成する。項目サイズが1バイトのロック・テーブル
は、ローカル・ロック・マネージャをサポートしない。
項目サイズが少なくとも2バイトのロック・テーブル
は、ローカル・ロック・マネージャをサポートする。
【0230】ロック・テーブル項目のグローバル・ロッ
ク・マネージャ・オブジェクトには、ユーザ識別子と称
するフィールドが含まれる。
【0231】ロック・テーブル項目のローカル・ロック
・マネージャ・オブジェクトには、ローカル・ロック・
ビットのストリングが含まれ、その各ビットが1つのユ
ーザ識別子を表す。
【0232】ロック・テーブル・オブジェクトは、その
テーブルが割り振られる時に0の値を有し、後続のコマ
ンドによってこれを変更することができる。
【0233】リスト・セット:リスト・セットは、リス
トと称するオブジェクトのシーケンスである。リストの
数は、そのリスト・セットの作成時に決定される。リス
トには、0からリスト・カウントより1つ小さい値まで
の番号が付けられる。
【0234】リスト:リストは、リスト項目と称するオ
ブジェクトのシーケンスである。可能な項目の数は、そ
のリスト構造の作成時に決定される。
【0235】リスト項目は、再試行データ・ブロックと
して働くこともできる。
【0236】あるリスト項目のシーケンス内の相対位置
は、その項目の作成時に決定され、いずれかのリスト項
目の作成、削除または移動時に変更できる。
【0237】リスト項目は、リスト項目識別子、リスト
項目名または位置によって位置指定される。最大リスト
・サイズは、空き空間と、リスト構造をサポートするの
に必要なすべての制御のサイズとによって制限される。
【0238】リスト項目は、リスト構造のタイプに応じ
て、データ・リスト項目と付属リスト項目という、2つ
までのオブジェクトを有する。
【0239】データ・リスト項目は、1つからMDLE
S個までのリスト要素からなる。データ・リスト項目の
サイズは、そのデータ・リスト項目が書き込まれる時に
決定される。付属リスト項目のサイズは、静的である。
【0240】リスト項目は、作成時に存在し、削除時に
存在しなくなる。
【0241】リスト構造オペランド:記憶オブジェクト
およびプロセスは、該プログラムによって発行されるコ
マンドを使ってアクセスされる。各リスト構造コマンド
は、下記の3つの部分を有する。 ・メッセージ・コマンド・ブロック、これには下記のも
のが含まれる。 ・メッセージ・ヘッダ・要求オペランド・留保域 ・メッセージ応答ブロック、これには下記のものが含ま
れる。 ・応答記述子・応答オペランド・留保域・コマンドに応
じて任意指定のデータ・ブロック
【0242】コマンド記述には、メッセージ・コマンド
・ブロック、メッセージ応答ブロックおよびデータ・ブ
ロックのフォーマットが含まれる。
【0243】本節では、オブジェクトでもあるオペラン
ドを除く、リスト構造オペランドを定義する。オブジェ
クトでもあるオペランドは、「グローバル・オブジェク
ト」または「リスト構造オブジェクト」の所に示した。
【0244】比較用グローバル・ロック・マネージャ
(CGLM):グローバル・ロック・マネージャ・オブ
ジェクトと比較される値。
【0245】比較用バージョン番号(CVN):バージ
ョン番号オブジェクトと比較される値。
【0246】現データ指標(CDI):リスト項目削除
コマンドに関して、現リスト項目名またはデータ・ブロ
ック内の現リスト項目識別子に対する指標となる値。
【0247】データ・ブロック・サイズ(DBS):デ
ータ・ブロックのサイズを指定する値。
【0248】削除項目ロケータ・タイプ(DELT):
リスト項目削除コマンドに関して、リスト項目識別子と
リスト項目名のどちらによってリスト項目が位置指定さ
れているのか、およびリスト番号を比較するか否かを指
定する値。
【0249】リスト項目削除カウント(DLEC):削
除されたリスト項目の数を指定する値。
【0250】方向(DIR):指定位置に対して、リス
ト項目の位置が相対的にどのように番号付けされるかを
示す値。方向は、下記のいずれかである。 左から右 右から左
【0251】項目/要素比(ETELR):そのリスト
・セット内で可能なリスト要素に対するリスト項目の相
対数の目標を指定する、2つの符号なし2進整数からな
るフィールド。
【0252】第1のフィールドで指定される整数を2つ
の数の和で割った値は、最大リスト・セット要素カウン
トと最大リスト・セット項目カウントの合計に対するリ
スト項目から構成される部分の割合を表す。第2のフィ
ールドで指定される整数を2つの数の和で割った値は、
最大リスト・セット要素カウントと最大リスト・セット
項目カウントの合計に対する、データ・リスト項目と再
試行データ・ブロックに関連するリスト要素から構成さ
れる部分の割合を表す。
【0253】最終データ指標(EDI):リスト項目削
除コマンドに関して、データ・ブロック内で最後のリス
ト項目名またはリスト項目識別子に対する指標となる
値。
【0254】項目ロケータ・タイプ(ELT):読取り
動作、置換動作または削除動作に関してあるいは移動動
作のソースとしてリスト項目がどう位置指定されるか、
およびリスト番号の比較が必要かどうかを示す値。リス
ト項目は、リスト項目識別子、リスト項目名、キーなし
位置またはキー付き位置によって位置指定される。
【0255】作成動作の場合または移動動作の目標に関
して、目標リスト項目位置は、その項目がキー付きの時
にはキー付き位置によって位置指定され、その項目がキ
ーなしの時にはキーなし位置によって位置指定される。
【0256】キー要求タイプ(KRT):ある項目の置
換、移動、読取りまたは削除を行う時に、キー付きリス
ト項目がどう位置指定されるかを示す値。このタイプ
は、リスト項目キー・オブジェクトとリスト項目キー・
オペランドの関係が下記のどれであるかを決定する。 00 リスト項目キー・オペランドと等しい 01 リスト項目キー・オペランド以下 10 リスト項目キー・オペランド以上 11 無効
【0257】項目ロケータ・タイプが無視される時、ま
たはその項目がリスト項目キーによって位置指定されな
い時には、キー要求タイプは無視される。
【0258】リスト制御タイプ(LCT):リスト制御
タイプは、(1)カウント標識に応じて、リスト要素カ
ウント限界またはリスト項目カウント限界が書き込まれ
るか、(2)ユーザ・リスト制御が書き込まれるか、こ
の両方が書き込まれるか、どちらも書き込まれないかを
指定する。
【0259】リスト項目タイプ(LET):データ・リ
スト項目または付属リスト項目あるいはその両方が、通
常のコマンド実行完了時に読み取られまたは置換される
かどうかを示す値。
【0260】ローカル・ロック・マネージャ(LL
M):ロック・テーブル項目に対してローカルな関心を
有するユーザを識別する値。
【0261】ローカル・ロック・ビット(LLB):ロ
ーカル・ロック・マネージャに書き込まれる値。
【0262】ロック要求タイプ(LRT):ロック要求
のタイプを示す値。ロック要求タイプは、下記のことを
指定する。 (1)ロック処理が要求されていない (2)グローバル・ロック・マネージャの比較 (3)グローバル・ロック・マネージャの置換 (4)ローカル・ロック・マネージャの置換 (5)グローバル・ロック・マネージャとローカル・ロ
ック・マネージャの置換
【0263】ロック・テーブル項目番号(LTEN):
ロック・テーブル内の項目を指定する値。
【0264】移動項目ロケータ・タイプ(MELT):
キー付きリスト項目を移動する時にどのキーを使用する
かを示す値。移動項目ロケータ・タイプは、下記のいず
れかを指定する。目標キーがリスト項目内のLEKであ
るMCB内のTLEKである
【0265】リスト項目読取りカウント(RLEC):
読み取られるリスト項目数を指定する値。
【0266】リスト読取りタイプ(RLT):正常のコ
マンド実行完了時に、リスト項目制御、データ、リスト
項目、付属リスト項目またはそれらの任意の組合せのう
ちのどれが読み取られるかを示す値。
【0267】応答コード(RC):応答コードは、リス
ト・コマンドの実行の結果を示す。
【0268】再始動トークン(RT):リスト・セット
読取りコマンドおよびリスト・セット削除コマンド上
で、リスト項目の読取りまたは削除を制御する値。
【0269】再試行指標(RX):特定の再試行バッフ
ァを指定する、あるいは再試行バッファを使用しないか
を指定する値。
【0270】再試行バージョン番号(RVN):再試行
バッファに記憶されるバージョン番号を指定する値。
【0271】開始データ指標(SDI):リスト項目削
除コマンドに関して、データ・ブロック内の最初のリス
ト項目名またはリスト項目識別子に対する指標となる
値。
【0272】目標方向(TDIR):移動後のリスト項
目に関して指定される目標位置に対して、リスト項目の
位置が相対的にどのように番号付けされるかを示す値。
目標方向は、左から右または右から左のどちらかであ
る。
【0273】目標リスト項目キー(TLEK):リスト
項目の移動先である目標位置を部分的に指定する値。
【0274】目標リスト番号(TLN):リスト項目の
移動先のリストを指定する値。
【0275】ユーザ識別子(UID):ユーザを識別す
る値。ロック要求タイプが、グローバル・ロック・マネ
ージャとローカル・ロック・マネージャの置換を指定す
る時、ユーザ識別子は、グローバル・ロック・マネージ
ャを指定する。ロック要求タイプが、グローバル・ロッ
ク・マネージャの置換を指定する時、ユーザ識別子は、
グローバル・ロック・マネージャを指定し、ローカル・
ロック・マネージャが存在する時には、1つのローカル
・ロック・マネージャも指定する。ロック要求タイプ
が、ローカル・ロック・マネージャの置換を指定する
時、ユーザ識別子は、ローカル・ロック・マネージャを
指定する。
【0276】バージョン要求タイプ(VRT):バージ
ョン番号要求のタイプが、(1)バージョン番号の比
較、(2)バージョン番号の増分、減分または置換、あ
るいはその両方もしくはどちらでもないことを示す値。
【0277】書込み要求タイプ(WRT):書込み要求
のタイプを示す値。書込み要求タイプは、下記のいずれ
かを指定する。 (1)リスト項目の置換 (2)リスト項目の作成 (3)リスト項目の置換または作成
【0278】リスト構造処理:下記の処理を、SESリ
スト構造コマンドによって呼び出すことができる。1コ
マンドによって呼び出される1組の処理が、コマンド記
述にリストされる。
【0279】リスト構造の割振り:ユーザ構造制御は、
リスト構造割振りコマンド上で更新される。リスト構造
は、まだ存在していない構造に対するリスト構造割振り
コマンドの最初の呼出し成功の際に作成される。リスト
構造は、最初、リスト構造割振りコマンドの1回または
複数の呼出しの成功の後に割り振られる。これらの動作
を総称して、リスト割振り処理と称する。
【0280】リスト構造の作成:リスト構造を作成する
際、リスト構造タイプによって、作成される構造の属性
が決まる。リスト構造タイプは、カウンタ、ロック、デ
ータ、付属、名前およびキー用の標識を有する。
【0281】リスト構造タイプ内のカウンタ標識が、リ
スト項目カウントとリスト項目カウント限界を定義する
ことを指定し、割振りが成功した時は、各リストのリス
ト制御に、リスト項目カウントとリスト項目カウント限
界が格納される。リスト構造タイプ内のカウンタ標識
が、リスト要素カウントとリスト要素カウント限界を定
義することを指定し、割振りが成功した時は、各リスト
のリスト制御に、リスト要素カウントとリスト要素カウ
ント限界が格納される。
【0282】リスト構造タイプ内のロック標識が、ロッ
ク・テーブルの作成を指定し、割振りが成功した時は、
ロック・テーブル項目特性によって指定される幅とロッ
ク・テーブル項目カウントによって指定される長さを有
するロック・テーブルが作成される。
【0283】リスト構造タイプ内のデータ標識が、リス
ト項目がデータを有することを指定し、割振りが成功し
た時は、リスト要素の作成用に記憶域が割り振られる。
そのリスト要素のサイズは、リスト要素特性によって指
定される。
【0284】リスト構造タイプ内の付属標識が、リスト
項目が付属リスト項目を有することを指定し、割振りが
成功した時は、その構造内で作成される各リスト項目
は、付属リスト項目を有する。
【0285】リスト構造タイプ内の名前標識が、リスト
項目が名前を有することを指定し、割振りが成功した時
は、その構造内で作成される各リスト項目は、それに関
連するリスト項目名を有する。
【0286】リスト構造タイプ内のキー標識が、リスト
項目がキーを有することを指定し、割振りが成功した時
は、その構造内で作成される各リスト項目は、それに関
連するリスト項目キーを有する。
【0287】リスト項目が作成される時、(1)グロー
バル制御の空き空間と空き制御空間が更新され、(2)
構造識別子ベクトル内の適切なフィールドがセットさ
れ、(3)リスト構造とリスト制御が初期設定される。
【0288】リスト構造の割振り解除:リスト構造が割
振り解除される時、その記憶域が解放され、グローバル
制御の空き空間と空き制御空間が更新され、構造識別子
ベクトル内の適切なフィールドとすべてのリスト監視活
動状態オブジェクトがリセットされる。
【0289】リスト構造ユーザの付加:リスト構造ユー
ザは、リスト構造ユーザ付加コマンドによって付加され
る。
【0290】リスト構造ユーザが付加される時、ユーザ
制御が初期設定され、ユーザ識別子ベクトル内の適切な
フィールドが更新され、ユーザが付加状態に置かれる。
【0291】リスト構造ユーザの切断:リスト構造ユー
ザは、リスト構造ユーザ切断コマンドの1回または複数
の呼出し成功の後に切断される。
【0292】リスト構造ユーザが切断される時、そのユ
ーザに関連するすべてのリスト監視テーブル項目内で、
リスト監視活動状態オブジェクトが更新済みになってい
る。ユーザ制御が削除され、ユーザ識別子ベクトル内で
割り当てられたフィールドが更新される。
【0293】リスト監視活動状態ビットは、関連するリ
ストおよびユーザに対して発行されたすべてのリスト通
知コマンドが完了した後に限って、更新される。
【0294】グローバル・ロック・マネージャの比較:
グローバル・ロック・マネージャの比較は、コマンドと
ロック要求タイプに応じて、ロック・テーブル項目が書
き込まれる前には必ず行われ、リスト項目の作成、置
換、読取り、移動または削除の前にも行われることがあ
る。
【0295】グローバル・ロック・マネージャ・オブジ
ェクトは、指定された比較用グローバル・ロック・マネ
ージャと比較される。これらが一致する時は、グローバ
ル・ロック・マネージャの比較は成功であり、コマンド
が続行される。これらが一致しない時は、グローバル・
ロック・マネージャの比較は失敗であり、指示応答コー
ドが返される。
【0296】ローカル・ロック・マネージャの比較:ロ
ーカル・ロック・マネージャの比較は、コマンド・コー
ドとロック要求タイプに応じて、ロック・テーブル項目
が書き込まれる前、またはリスト項目の作成、置換、読
取り、移動または削除の前に行われることがある。
【0297】ローカル・ロック・マネージャの比較を行
わせるロック要求タイプには、グローバル・ロック・マ
ネージャ置換とローカル・ロック・マネージャ置換の2
つがある。
【0298】ローカル・ロック・マネージャ・オブジェ
クトが存在し、グローバル・ロック・マネージャの置換
が要求される時は、ローカル・ロック・マネージャ・オ
ブジェクトの値が、指定されたユーザ識別子に対応する
ローカル・ロック・ビット以外の全ビットが1のマスク
とAND(論理積)される。このAND後の値を、0と
比較する。これらが一致する時には、ローカル・ロック
・マネージャの比較は成功である。これらが一致しない
時には、ローカル・ロック・マネージャの比較は失敗で
ある。
【0299】ローカル・ロック・マネージャ・オブジェ
クトが存在し、ローカル・ロック・マネージャの置換が
要求される時は、指定されたユーザ識別子に対応するロ
ーカル・ロック・ビットが、指定されたローカル・ロッ
ク・ビット値と比較される。これらが一致する時には、
ローカル・ロック・マネージャの比較は失敗である。こ
れらが一致しない時には、ローカル・ロック・マネージ
ャの比較は成功である。
【0300】ローカル・ロック・マネージャの比較が失
敗した時は、指示応答コードが返される。
【0301】ロック・テーブル項目の書込み:指定され
たロック要求タイプに応じて、ロック・テーブル項目内
に格納されるオブジェクトの一方または両方が置換され
る。
【0302】ロック要求タイプが、グローバル・ロック
・マネージャの置換またはグローバル・ロック・マネー
ジャとローカル・ロック・マネージャの置換を指定し、
グローバル・ロック・マネージャの比較が成功した時
は、グローバル・ロック・マネージャが置換できる。
【0303】ロック要求タイプが、ローカル・ロック・
マネージャの置換またはグローバル・ロック・マネージ
ャとローカル・ロック・マネージャの置換を指定し、グ
ローバル・ロック・マネージャの比較が成功した時は、
1つまたは複数のローカル・ロック・マネージャが置換
される。
【0304】グローバル・ロック・マネージャの置換:
グローバル・ロック・マネージャの置換が要求される
時、グローバル・ロック・マネージャが比較され、ロー
カル・ロック・マネージャも比較されることがある。
【0305】グローバル・ロック・マネージャの比較が
成功した時は、ローカル・ロック・マネージャの比較が
成功するか否かにかかわりなく、グローバル・ロック・
マネージャが指定されたユーザ識別子で置換できる。
【0306】ローカル・ロック・マネージャの置換:ロ
ーカル・ロック・マネージャの置換が要求される時、グ
ローバル・ロック・マネージャとローカル・ロック・マ
ネージャが比較される。
【0307】グローバル・ロック・マネージャの比較が
成功した時は、ローカル・ロック・マネージャの比較が
成功するか否かにかかわりなく、指定されたユーザ識別
子に関連するローカル・ロック・ビットが、指定された
ローカル・ロック・ビットで置換できる。
【0308】グローバル・ロック・マネージャとローカ
ル・ロック・マネージャの置換:グローバル・ロック・
マネージャとローカル・ロック・マネージャの置換が要
求される時、グローバル・ロック・マネージャが比較さ
れる。
【0309】グローバル・ロック・マネージャの比較が
成功した時は、グローバル・ロック・マネージャが指定
されたユーザ識別子で置換でき、ローカル・ロック・マ
ネージャが指定されたローカル・ロック・マネージャで
置換される。
【0310】リスト項目またはリスト項目位置の位置指
定:項目の削除前、項目の読取り、置換または移動の
際、あるいは項目の作成後に指定されるリスト項目は、
指定位置に対して相対的に最初の項目である。指定位置
は、指定された項目ロケータ・タイプと割り振られた構
造のタイプに応じて、(1)キーなし位置によって、
(2)キー付き位置によって、(3)リスト項目識別子
によって、または(4)リスト項目名によって指定され
る。
【0311】リスト項目がキーなし位置によって位置指
定されるのは、項目ロケータ・タイプがキーなし位置に
よる位置指定を指定する時、またはキーなしリスト項目
の作成または移動が行われる時、すなわち指定位置がリ
スト番号と方向によって指定される時である。リスト項
目がキー付き位置によって位置指定されるのは、リスト
項目がキー付きであり、項目ロケータ・タイプがキー付
き位置による位置指定を指定する時、あるいはキー付き
リスト項目の作成または移動が行われる時、すなわち指
定位置がリスト番号と方向とリスト項目キーによって指
定される時である。リスト項目がリスト項目識別子によ
って位置指定されるのは、項目ロケータ・タイプがリス
ト項目識別子による位置指定を指定する時、すなわち指
定位置がその識別子を有するリスト項目の位置である時
である。リスト項目がリスト項目名によって位置指定さ
れるのは、リスト項目が名前付きであり、項目ロケータ
・タイプがリスト項目名による位置指定を指定する時、
すなわち指定位置がその名前を有するリスト項目の位置
である時である。
【0312】リスト項目は、指定位置に対して相対的な
位置を有する。あるリスト項目が作成、移動または削除
される時、後続のリスト項目の相対位置が変更される。
これらの場合には、指定リスト項目が最初の項目とな
り、後続の項目は、指定された方向によって決定され
る。
【0313】リスト項目を位置指定する方法とは無関係
に、左から右の方向が指定される時には、最終項目はそ
のリスト内の右端項目であり、右から左の方向が指定さ
れる時には、最終項目はそのリスト内の左端項目であ
る。
【0314】リスト項目識別子によってリスト項目が位
置指定される時には、指定リスト項目は、その識別子を
有するリスト項目である。
【0315】リスト項目名によってリスト項目が位置指
定される時には、指定リスト項目は、その名前を有する
リスト項目である。
【0316】キーなし位置によってリスト項目が位置指
定され、左から右の方向が指定される時には、指定リス
ト項目は、そのリスト内の左端の項目である。キーなし
位置によってリスト項目が位置指定され、右から左の方
向が指定される時には、指定リスト項目は、そのリスト
内の右端の項目である。
【0317】(1)キー付き位置によってリスト項目が
位置指定され、(2)項目の削除、読取り、置換または
移動が要求され、(3)キー要求タイプに応じて、指定
値と等しいキー、指定値以下のキー、または指定値以上
のキーを有するリスト項目がリスト上に存在し、(4)
左から右の方向が指定される時には、指定ソース・リス
ト項目は、指定されたリスト項目キー要求オペランドと
等しいキー、それ以下で最大のキー、またはそれ以上で
最小のキーを有する左端の項目である。
【0318】(1)キー付き位置によってリスト項目が
位置指定され、(2)項目の削除、読取り、置換または
移動が要求され、(3)キー要求タイプに応じて、指定
値と等しいキー、指定値以下のキー、または指定値以上
のキーを有するリスト項目がリスト上に存在し、(4)
右から左の方向が指定される時には、指定リスト項目
は、指定されたリスト項目キー要求オペランドと等しい
キー、それ以下で最大のキー、またはそれ以上で最小の
キーを有する右端の項目である。
【0319】(1)キー付き位置によってリスト項目が
位置指定され、(2)項目の作成または移動が要求さ
れ、(3)指定値と等しいキーを有するリスト項目がリ
スト上に存在し、(4)左から右の方向が指定される時
には、指定目標位置は、同一のキーを有する左端の項目
の位置である。
【0320】(1)キー付き位置によってリスト項目が
位置指定され、(2)項目の作成または移動が要求さ
れ、(3)指定値と等しいキーを有するリスト項目がリ
スト上に存在し、(4)右から左の方向が指定される時
には、指定目標位置は、同一のキーを有する右端の項目
の位置である。
【0321】(1)キー付き位置によってリスト項目が
位置指定され、(2)項目の作成または移動が要求さ
れ、(3)リスト上のすべての項目が、指定されたキー
より大きいキーを有する時には、指定目標位置は、その
リスト内の左端の位置である。
【0322】(1)キー付き位置によってリスト項目が
位置指定され、(2)項目の作成または移動が要求さ
れ、(3)そのリスト上の少なくとも1つのリスト項目
が、指定されたキーより小さいキーを有し、(4)指定
されたキーと一致するリスト項目がそのリスト内に存在
しない時には、指定目標位置は、そのリスト内で、指定
されたリスト項目キーより小さなキーを有する右端の項
目の後の最初の位置である。
【0323】リスト項目識別子またはリスト項目名によ
ってリスト項目が位置指定される時に、指定位置が存在
するのは、そのリスト項目が存在する時である。
【0324】キーなし位置によってリスト項目が位置指
定される時に、指定位置が存在するのは、そのリストが
存在する時である。
【0325】キー付き位置によってリスト項目が位置指
定され、項目の作成または移動が要求される時に、指定
目標位置が存在するのは、そのリストが存在する時であ
る。
【0326】キー付き位置によってリスト項目が位置指
定され、項目の作成が要求されない時に、指定位置が存
在するのは、そのリスト内の1リスト項目が、キー要求
タイプに応じて、指定されたリスト項目キーと等しいキ
ー、それ以上のキー、またはそれ以下のキーを有する時
である。
【0327】指定位置が存在しない時は、指示応答コー
ドが返される。
【0328】リスト番号の比較:項目ロケータ・タイプ
がリスト番号の比較を指定し、リスト項目が作成されな
い時、リスト番号の比較が要求される。
【0329】リスト番号の比較が要求される時は、リス
ト番号オブジェクトが、指定されたリスト番号と比較さ
れる。これらが一致しない場合、リスト番号の比較は失
敗であり、指示応答コードが返される。
【0330】カウントの比較:比較されるカウントに
は、要求される処理に応じて、リスト・セット項目カウ
ント、リスト・セット要素カウント、およびカウント標
識に応じてリスト項目カウントまたはリスト要素カウン
トの3組がある。
【0331】リスト要素カウントの比較:リスト項目の
書込みまたは移動が行われ、リスト構造タイプ内のカウ
ント標識が1である時には必ず、リスト要素カウント限
界オブジェクトがリスト要素カウント・オペランドと比
較される。リスト要素カウントと必要とされる追加リス
ト要素の数の合計が、リスト要素カウント限界を超える
場合、そのリストは満杯である。リストが満杯であり、
書込み動作または移動動作が要求される時は、指示応答
コードが返される。
【0332】リスト要素カウント限界またはリスト項目
カウント限界は、リスト制御タイプに応じて、リスト制
御書込みコマンド上で更新される。
【0333】リスト項目カウントの比較:リスト項目の
作成または移動が行われ、リスト項目カウント限界オブ
ジェクトとリスト項目カウント・オペランドが存在する
時には必ず、リスト項目カウント限界オブジェクトがリ
スト項目カウント・オペランドと比較される。作成され
るリスト項目の数が、リスト項目カウント限界と一致す
るかまたはこれを超える時には、そのリストは満杯であ
る。リストが満杯であり、作成動作または移動動作が要
求される時は、指示応答コードが返される。
【0334】リスト・セット要素カウントの比較:デー
タ・リスト項目が書き込まれる時には必ず、最大リスト
・セット要素カウントがリスト・セット要素カウント・
オブジェクトと比較される。リスト・セット要素カウン
トと必要とされる追加リスト要素の数の合計が、最大リ
スト・セット要素カウントを超える場合、そのリスト・
セットは満杯である。リスト・セットが満杯であり、リ
スト項目の作成または再試行データ・ブロックの作成が
要求される時は、指示応答コードが返される。
【0335】リスト・セット項目カウントの比較:リス
ト項目が作成される時には必ず、最大リスト・セット項
目カウント・オブジェクトがリスト・セット項目カウン
ト・オブジェクトと比較される。作成されたが削除され
ていないリスト項目の数が、最大リスト・セット項目カ
ウントと一致する時、そのリスト・セットは満杯であ
る。リスト・セットが満杯であり、リスト項目の作成ま
たは再試行データ・ブロックの作成が要求される時は、
指示応答コードが返される。
【0336】カウントの更新:更新されるカウントに
は、要求される処理に応じて、リスト・セット項目カウ
ント、リスト・セット要素カウント、および、カウント
標識に応じてリスト項目カウントまたはリスト要素カウ
ントの3タイプがある。
【0337】リスト要素カウントの更新:リスト項目の
作成、削除、別のリストへの移動または置換が行われ、
そのリスト項目に関連するリスト要素の数が変更される
か、または再試行データ・ブロックの作成または削除が
行われる時には必ず、リスト要素カウントが更新され
る。そのリスト項目が再試行データ・ブロックでもある
時は、このカウントは、せいぜいそのリスト項目に関連
するリスト要素の数だけ増分または減分される。
【0338】リスト項目カウントの更新:リスト項目カ
ウントが存在し、リスト項目の作成、削除または別のリ
ストへの移動が行われる時には必ず、リスト項目カウン
トが更新される。
【0339】リスト・セット要素カウントの更新:リス
ト項目の作成、削除または置換が行われ、そのリスト項
目に関連するリスト要素の数が変更されるか、または再
試行データ・ブロックの作成または削除が行われる時に
は必ず、リスト・セット要素カウントが更新される。そ
のリスト項目が再試行データ・ブロックでもある時は、
このカウントは、せいぜいそのリスト項目に関連するリ
スト要素の数だけ増分または減分される。
【0340】リスト・セット項目カウントの更新:リス
ト項目の作成または削除が行われる時には必ず、リスト
・セット項目カウントが更新される。
【0341】バージョン番号の比較:指定されたバージ
ョン要求タイプに応じて、項目の置換、読取り、移動ま
たは削除が行われる時、バージョン番号が比較される。
バージョン要求タイプがバージョン番号の比較を指定す
る時は、バージョン番号オブジェクトが、比較用バージ
ョン番号要求オペランドと比較される。これらが一致す
る時は、処理が続行する。これらが一致しない時は、バ
ージョン番号の比較は失敗であり、指示応答コードが返
される。
【0342】バージョン番号の更新:指定されるバージ
ョン要求タイプに応じて、項目の作成、置換、読取りま
たは移動が行われる時、バージョン番号が更新される。
【0343】バージョン要求タイプがバージョン番号の
減分を指定する時は、バージョン番号が1つ減分され
る。バージョン要求タイプがバージョン番号の増分を指
定する時は、バージョン番号が1つ増分される。バージ
ョン要求タイプがバージョン番号の置換を要求する時
は、バージョン番号要求オペランドがバージョン番号オ
ブジェクトに設定される。
【0344】リスト項目の書込み:リスト項目は、リス
ト項目書込みコマンドまたはリスト項目書込み・移動コ
マンド上で書き込まれることがある。リスト項目は、項
目の作成または置換時に書き込まれる。
【0345】リスト項目が作成される時、リスト構造タ
イプ・オブジェクト内のデータ標識と付属標識を使用し
て、データ・リスト項目または付属リスト項目あるいは
その両方を書き込むか否かを決定する。リスト項目が置
換される時、リスト項目タイプ・オペランド内のデータ
標識と付属標識を使用して、データ・リスト項目または
付属リスト項目あるいはその両方を書き込むか否かを決
定する。
【0346】データ標識が、リスト項目がデータ・リス
ト項目を有すると指定する時は、そのデータ・リスト項
目が、データ・ブロックから書き込まれる。付属標識
が、リスト項目が付属リスト項目を有すると指定する時
は、その付属リスト項目が、付属リスト項目値要求オペ
ランドから書き込まれる。
【0347】データ・リスト項目が置換され、データ・
リスト項目サイズ・オペランドがデータ・リスト項目サ
イズ・オブジェクトより小さい時は、そのデータ・リス
ト項目が新規サイズに縮小され、データ・ブロックがそ
のデータ・リスト項目内に記憶され、リスト項目制御内
のデータ・リスト項目サイズ・オブジェクトがデータ・
リスト項目サイズ・オペランドの値で更新される。デー
タ・リスト項目が置換され、データ・リスト項目サイズ
・オペランドがデータ・リスト項目サイズ・オブジェク
トより大きい時は、そのデータ・リスト項目が新規サイ
ズに拡大され、データ・ブロックがそのデータ・リスト
項目内に記憶され、リスト項目制御内のデータ・リスト
項目サイズ・オブジェクトがデータ・リスト項目サイズ
・オペランドの値で更新される。
【0348】リスト項目の作成:リスト項目の作成は、
指定された書込み要求タイプに応じて、リスト項目書込
みコマンド上で要求される。
【0349】書込み要求タイプがリスト項目の作成を指
定する時は、リスト項目の作成が無条件に要求される。
書込み要求タイプが、リスト項目の置換または作成を指
定する時は、リスト項目の作成が条件付きで要求され
る。すなわち、指定リスト項目が存在しない時に、リス
ト項目の作成が要求される。
【0350】リスト・セットとリストが満杯でなく、リ
スト項目の作成が要求される時、リスト項目を作成する
ことができる。リスト項目が作成される時、リスト・セ
ット項目カウントが1つ増分され、関連するリスト項目
カウントが存在する時には、これも1つ増分される。リ
スト項目が作成される時、リスト・セット要素カウント
が、データ・リスト項目サイズの値だけ増加され、関連
するリスト要素カウントが存在する時には、これも同じ
値だけ増加される。
【0351】リスト項目は、指定位置に対して相対的に
最初の項目位置に作成され、後続のすべての項目の相対
位置が1ずつ増加される。
【0352】リスト項目の置換:リスト項目は、リスト
項目書込みコマンド上で置換されることがある。
【0353】書込み要求タイプが、リスト項目の置換を
指定するか、あるいはリスト項目の置換または作成を指
定し、指定リスト項目が存在する時、リスト項目が置換
できる。
【0354】リスト項目が置換される時、リスト・セッ
ト要素カウントが、データ・リスト項目サイズの変化分
だけ増加または減少され、関連するリスト要素カウント
が存在する時には、これも同じ値だけ増加または減少さ
れる。
【0355】項目の位置は、置換時には影響を受けな
い。
【0356】書込み要求タイプがリスト項目の置換を指
定し、指定リスト項目が存在しない時には、指示応答コ
ードが返される。
【0357】リスト項目の読取り:リスト項目読取りコ
マンド、リスト項目移動・読取りコマンド、またはリス
ト項目読取り・削除コマンド上で、1つのリスト項目が
読み取られることがあり、リスト読取りコマンドまたは
リスト・セット読取りコマンド上で、1つまたは複数の
リスト項目が読み取られることがある。
【0358】リスト項目タイプがデータ・リスト項目を
指定する時は、実行されるコマンドに応じて、1つまた
は複数のデータ・リスト項目をデータ域中に読み取るこ
とができる。リスト項目タイプが付属リスト項目を指定
する時は、実行されるコマンドに応じて、1つの付属リ
スト項目を付属リスト項目値応答オペランド中に読み取
り、または1つまたは複数の付属リスト項目をデータ域
中に読み取ることができる。
【0359】リスト読取りコマンドまたはリスト・セッ
ト読取りコマンドが実行される時には必ず、付属リスト
項目またはデータ・リスト項目が、データ域中に読み取
られる。そうでなくて、読取り動作を行う他の何らかの
コマンドが実行される時には、付属リスト項目が応答オ
ペランド中に読み取られる。
【0360】項目の位置は読取り動作によって影響され
ない。
【0361】リスト項目の移動:リスト項目移動コマン
ド、リスト項目書込み・移動コマンドまたはリスト項目
移動・読取りコマンド上で1つのリスト項目が移動され
ることがある。複数のリスト項目が、1つのリスト・セ
ット内のリスト間で移動し、または同一のリストに移動
されることがある。
【0362】リスト項目は、指定位置に対して相対的に
最初の項目位置から移動され、後続のすべての項目の相
対位置が1つずつ減らされる。リスト項目は、目標位置
に対して相対的に最初の項目位置に移動され、後続のす
べての項目の相対位置が1つずつ増加される。
【0363】リスト項目が、あるリストから別のリスト
に移動され、リスト項目カウントが存在する時は、ソー
ス・リストのリスト項目カウントが1つ減分され、目標
リストのリスト項目カウントが1つ増分される。
【0364】リスト項目が、あるリストから別のリスト
に移動され、リスト要素カウントが存在する時は、ソー
ス・リストのリスト要素カウントが、データ・リスト項
目サイズの値だけ減らされ、目標リストのリスト要素カ
ウントが同じ量だけ増加される。
【0365】リスト項目の削除:リスト項目削除コマン
ドまたはリスト項目読取り・削除コマンド上で1つのリ
スト項目が削除されることがあり、リスト・セット削除
コマンドまたはリスト項目削除コマンド上で1つまたは
複数のリスト項目が削除されることがある。
【0366】1つの項目が、指定位置に対して相対的に
最初の項目位置で削除され、後続のすべての項目の相対
位置が1ずつ減らされる。
【0367】リスト項目が削除される時、リスト・セッ
ト項目カウントが1つ減分され、リスト項目カウントが
存在する時には、関連するリスト項目カウントが1つ減
分される。
【0368】リスト項目が削除される時、リスト・セッ
ト要素カウントが、データ・リスト項目サイズの値だけ
減らされ、リスト要素カウントが存在する時には、関連
するリスト要素カウントが同じ値だけ減らされる。
【0369】再試行バッファの書込み:再試行指標が再
試行バッファを指定する時は、応答記述子以外のすべて
の応答オペランドと再試行バージョン番号要求オペラン
ドが、その再試行指標によって指定される再試行バッフ
ァの再試行情報部分に記憶される。再試行指標が再試行
バッファを指定し、データ・リスト項目が読み取られる
時は、そのデータ・リスト項目も、その再試行指標によ
って指定される再試行バッファの再試行データ・ブロッ
ク部分に記憶される。
【0370】リスト・モニタへの通知:リスト通知コマ
ンドの処理は、メッセージ経路選択、開始および完了と
いう3つの動作からなる。
【0371】リスト状態遷移が発生する時、そのリスト
を監視している各ユーザに関して、そのユーザを付加し
たシステムに対して1つまたは複数のリスト通知コマン
ドが開始される。リスト状態遷移の結果として開始され
るすべてのリスト通知コマンドは、そのリスト状態遷移
を引き起こしたコマンドが完了する前に開始される。
【0372】リスト通知コマンドは、システムが1つの
リスト通知項目を更新するのに必要な情報を供給し、要
求された時には、新しいリスト状態を反映するように、
関連するリスト通知サマリを供給する。
【0373】ユーザは、リスト監視登録コマンドによっ
てリストに登録することにより、リスト・モニタにな
る。ユーザは、リスト監視登録解除コマンドによってリ
ストから登録解除されるか、あるいはリスト構造ユーザ
切断コマンドによってリスト構造から切断されることに
よって、リスト・モニタでなくなる。
【0374】非空から空へのリスト状態遷移の結果とし
てあるユーザに関してシステムに発行されたリスト通知
コマンドは、反対のリスト状態遷移を指定する、同じリ
ストおよびユーザのための別のリスト通知コマンドが発
行される前に完了しなければならない。
【0375】リスト項目の追加、削除または移動を行え
るすべてのSESリスト構造コマンドが、状態が変化す
るリストを監視する各ユーザのためにリスト監視通知処
理を実行する。
【0376】本節では、リスト通知コマンド用のリスト
構造オペランドを定義する。 リスト通知オペランド 頭字語 非空状態変化 NESC リスト通知項目番号 LNEN リスト通知トークン LNT サマリ更新 SU
【0377】非空状態変化(NESC):関連するリス
ト通知ビット・ベクトル項目からのリスト遷移が、空か
ら非空への遷移(値は0)と非空から空への遷移(値は
1)のどちらであったかを示す値。
【0378】リスト通知項目番号(LNEN):リスト
通知ベクトル項目を指定するオブジェクトまたはフィー
ルド。
【0379】リスト通知トークン(LNT):システム
に対してリスト通知ベクトルを指定する値。
【0380】サマリ更新(SU):LNRTと称する。
監視されるリスト上で空から非空への状態遷移が発生す
る時にリスト通知ベクトル・サマリを更新するかどうか
を示す値。
【0381】リスト構造コマンド:本節では、SES機
構110によってサポートされるリスト構造コマンドを
要約して示す。リスト構造コマンドとは、CPC101
〜104からSESのメッセージ処理機能113へメッ
セージ送出CPU命令を用いて通信される、直接コマン
ドである。リスト構造コマンドは、下記のように分類さ
れる。 ・リスト構造111、リスト構造制御201およびリス
ト制御314の、割振り、読取りおよび書込みを行う、
構造コマンド。 ・ユーザ(プログラム)が、SESに対してそれ自体を
識別できるようにし、SES内の特定のリスト109の
モニタとして登録できるようにする、ユーザ・コマン
ド。 ・ロック・テーブル項目206オブジェクトに対する読
取り動作、書込み動作およびクリア動作をサポートす
る、ロック専用コマンド。 ・1つのリスト項目302オブジェクトに対する読取り
動作、書込み動作、移動動作および削除動作をサポート
する、単一リスト項目コマンド。 ・複数のリスト・オブジェクトまたはリスト項目302
に対する読取り動作と削除動作をサポートする、複数リ
スト項目コマンド。
【0382】構造コマンド:構造コマンドには、下記の
ものが含まれる。 ・リスト構造割振り(ALST) ・リスト構造割振り解除(DLST) ・リスト構造制御読取り(RLSC) ・リスト制御読取り(RLC) ・リスト制御書込み(WLC)
【0383】ALSTコマンド:ALSTコマンドは、
リスト構造111を作成する(割り振る)。
【0384】リスト構造割振りコマンドは、構造識別子
が割り当てられておらず、要求されたロック・テーブル
項目、リストおよび関連する制御、ならびに、リスト・
セットが要求される時には、少なくとも1つのリスト項
目を作成するのに十分な、空き空間と空き制御空間がS
ES内で使用可能な時、リスト構造を作成する。
【0385】リスト構造割振りコマンドは、構造識別子
が割り当てられ、その構造の初期割振りが完了していな
い時、リスト構造の初期割振りを続行する。
【0386】構造が割り振られる時、チェックポイント
が確立され、最大リスト・セット項目カウント、最大リ
スト・セット要素カウント、割り振られた構造のサイ
ズ、および指示応答コードが、応答オペランド中で返さ
れる。
【0387】割振り処理が完了する前にモデル依存の時
間が経過した時は、最大リスト・セット項目カウント、
最大リスト・セット要素カウント、割り振られた構造の
サイズおよび指示応答コードが、応答オペランド中で返
される。
【0388】SES内で使用可能なその構造用の空き制
御空間は不十分であるが、空き空間は十分である時は、
指示応答コードが、応答オペランド中で返される。
【0389】SES内で使用可能なその構造用の空き空
間が不十分な時は、指示応答コードが、応答オペランド
中で返される。
【0390】リスト構造の初期割振りが完了していない
時は、その初期割振りが続行される。
【0391】DLSTコマンド:DLSTコマンドは、
指定された構造識別子に関連するリスト構造111を割
振り解除する。指定されたリスト構造が割振り解除さ
れ、指示応答コードが、応答オペランド中で返される。
割振り解除処理が完了する前にモデル依存の時間が経過
した時は、指示応答コードが、応答オペランド中で返さ
れる。
【0392】RLSCコマンド:RLSCコマンドは、
指定された構造識別子に関連するリスト構造制御201
を(応答オペランド中で)返す。
【0393】RLCコマンド:RLCコマンドは、指定
された構造識別子とリスト番号に関連するリスト制御3
14を(応答オペランド中で)返す。
【0394】WLCコマンド:WLCコマンドは、指定
された構造識別子とリスト番号に関連するリスト制御3
14の書込みまたは更新を行う。
【0395】リスト制御書込みコマンドは、リスト制御
タイプに応じて、リスト制御を書き込む。
【0396】ユーザ・コマンド:ユーザ・コマンドに
は、下記のものが含まれる。 ・リスト構造ユーザ付加(ALSU) ・リスト構造ユーザ切断(DLSU) ・リスト監視登録(RLM) ・リスト監視登録解除(DLM) ・ユーザ制御読取り(RUC)
【0397】ALSUコマンド:ALSUコマンドは、
付加処理を実行する。
【0398】図13は、ALSUコマンドの処理を示す
流れ図である。
【0399】リスト構造ユーザ付加コマンドは、リスト
構造ユーザを付加する。
【0400】リスト構造ユーザが付加される時、指示応
答コードが、応答オペランド中で返される。
【0401】DLSUコマンド:DLSUコマンドは、
切断処理を完了し、ユーザ識別子418の状態を、未割
当てに変更する。
【0402】図14は、DLSUコマンドの処理を示す
流れ図である。
【0403】リスト構造ユーザ切断コマンドは、リスト
構造ユーザの切断を続行する。
【0404】リスト構造ユーザ切断コマンドがリスト構
造ユーザの切断を完了するのは、そのリスト構造ユーザ
に関連するすべてのリスト監視テーブル項目のリスト監
視活動状態ビットがリセットされた時である。すべての
リスト監視テーブルを処理した後、DLSUコマンド
は、そのリスト構造ユーザに関連する、すでに開始され
ているLNコマンドがすべて完了するのを待つ(150
1)。
【0405】そのユーザ識別子は、未割当て状態に置か
れる。
【0406】リスト構造ユーザが切断される時、指示応
答コードが、応答オペランド中で返される。
【0407】切断処理が完了する前にモデル依存の時間
が経過した時は、指示応答コードが、応答オペランド中
で返される。
【0408】RLMコマンド:RLMコマンドは、リス
ト監視テーブル316を更新することによって、リスト
構造ユーザをリスト・モニタとして登録する。これを図
15に示す。
【0409】指定されたリスト構造ユーザが、有効なリ
スト通知トークンを用いて付加される時は、指定された
リストとユーザのリスト監視テーブル項目内で、リスト
監視活動状態フィールドが更新され、リスト通知要求タ
イプとリスト通知項目番号が更新され、リスト項目カウ
ントまたはリスト要素カウントと指示応答コードが、応
答オペランド中で返される。
【0410】指定されたリスト構造ユーザが、無効なリ
スト通知トークンを用いて付加される時は、指示応答コ
ードが、応答オペランド中で返される。
【0411】DLMコマンド:DLMコマンドは、リス
ト・モニタとしてのリスト構造ユーザの登録を解除す
る。これを図16に示す。
【0412】指定されたリストとユーザのリスト監視テ
ーブル項目内で、リスト監視活動状態フィールドが更新
される。その後、DLMコマンドは、そのリストとユー
ザに関連する、すでに開始されているLNコマンドがす
べて完了するのを待つ(1701)。指示応答コード
が、応答オペランド中で返される。
【0413】RUCコマンド:RUCコマンドは、応答
オペランド中でユーザ制御210を返す。
【0414】ロック専用コマンド:ロック専用コマンド
には、下記のものが含まれる。 ・ロック・テーブル項目読取り(RLTE) ・ロック・テーブル項目書込み(WLTE) ・次ロック・テーブル項目読取り(RNLTE) ・ロック・テーブル・クリア(CLT)
【0415】RLTEコマンド:RLTEコマンドは、
構造識別子とロック・テーブル項目番号によって指定さ
れるロック・テーブル項目206のロック・テーブル項
目値を返す。
【0416】構造識別子およびロック・テーブル項目番
号によって指定されるロック・テーブル項目のロック・
テーブル項目値と、指示応答コードが、応答オペランド
中で返される。
【0417】WLTEコマンド:WLTEコマンドは、
グローバル・ロック・マネージャ207を比較し、グロ
ーバル・ロック・マネージャ、ローカル・ロック・マネ
ージャ208またはその両方を条件付きで置換する。
【0418】グローバル・ロック・マネージャが置換さ
れ、他のローカル・ロック・マネージャが存在しない
時、またはローカル・ロック・マネージャが反対の値に
置換される時、またはグローバル・ロック・マネージャ
とローカル・ロック・マネージャが置換される時には、
指示応答コードが、応答オペランド中で返される。
【0419】グローバル・ロック・マネージャが置換さ
れ、他に1つまたは複数のローカル・ロック・マネージ
ャが存在する時、またはローカル・ロック・マネージャ
が同じ値で置換される時には、指示応答コードが、応答
オペランド中で返される。
【0420】グローバル・ロック・マネージャの比較が
失敗した時は、指示応答コードが、応答オペランド中で
返される。
【0421】RNLTEコマンド:RNLTEコマンド
は、次の非0のロック・テーブル項目206を条件付き
で読み取る。
【0422】次ロック・テーブル項目読取りコマンド
は、指定されたロック・テーブル項目番号から開始し
て、非0の項目またはロック・テーブルの末尾に達する
か、あるいはモデル依存の時間が経過するまで、ロック
・テーブル項目番号の昇順で順次進んでロック・テーブ
ル項目を走査する。
【0423】非0の項目に出会わずにロック・テーブル
の末尾に達した時は、最後のロック・テーブル項目番号
と指示応答コードが、応答オペランド中で返される。
【0424】ロック・テーブルの末尾に達する前にモデ
ル依存の時間が経過した時は、指示応答コードが、応答
オペランド中で返される。
【0425】非0のロック・テーブル項目に達した時
は、そのロック・テーブル項目番号、そのロック・テー
ブル項目の値および応答コード2が、応答オペランド中
で返される。
【0426】CLTコマンド:CLTコマンドは、1つ
または複数のロック・テーブル項目206を0にする。
【0427】ロック・テーブル・クリア・コマンドは、
指定されたロック・テーブル項目番号から開始して、モ
デル依存の時間が経過するか、あるいはロック・テーブ
ルの末尾に達するまで、ロック・テーブル項目番号の昇
順で順次進んでロック・テーブル項目を0にする。
【0428】モデル依存の時間が経過する前にロック・
テーブルの末尾に達した時は、指示応答コードが、応答
オペランド中で返される。
【0429】ロック・テーブルの末尾に達する前にモデ
ル依存の時間が経過した時は、そのシーケンス内で次
の、まだクリアされていない項目のロック・テーブル項
目番号と、指示応答コードが、応答オペランド中で返さ
れる。
【0430】単一リスト項目コマンド:単一リスト項目
コマンドには、下記のものが含まれる。 ・リスト項目読取り(RLE) ・リスト項目書込み(WLE) ・リスト項目移動(MLE) ・リスト項目削除(DLE) ・リスト項目書込み・移動(WMLE) ・リスト項目移動・読取り(MRLE) ・リスト項目読取り・削除(RDLE)
【0431】RLEコマンド:RLEコマンドは、リス
ト番号305とリスト番号423を条件付きで比較し、
バージョン番号304と比較用バージョン番号421を
比較し、バージョン番号304をバージョン番号411
で条件付きで更新し、グローバル・ロック・マネージャ
207と比較用グローバル・ロック・マネージャ415
を比較し、ローカル・ロック・マネージャ208とロー
カル・ロック・マネージャ416を比較し、ロック・テ
ーブル項目206を書き込み、指定されたリスト項目制
御315、データ・リスト項目306の値および付属リ
スト項目309の値を返し、再試行バッファを条件付き
で更新する。
【0432】リスト項目を見つけ、要求された時には、
リスト番号を比較し、バージョン番号を比較し、バージ
ョン番号を更新するか、またはグローバル・ロック・マ
ネージャを比較するか、あるいは上記の処理の任意の組
合せを実行する。グローバル・ロック・マネージャが比
較される時、ローカル・ロック・マネージャが比較され
ることがある。リスト項目を読み取るためには、これら
の処理がすべて、要求された時に成功しなければならな
い。ロック・テーブル項目を書き込むためには、ローカ
ル・ロック・マネージャの比較を除くこれらの処理がす
べて、要求された時に成功しなければならない。
【0433】再試行指標に応じて、再試行バッファが書
き込まれる。
【0434】リスト項目を読み取る時には、指定された
リスト項目制御、リスト・セット項目カウント、リスト
項目カウントまたはリスト要素カウント、および指示応
答コードが、応答オペランド中で返される。
【0435】グローバル・ロック・マネージャが置換さ
れ、他のローカル・ロック・マネージャがない時、また
はローカル・ロック・マネージャが反対の値に置換され
る時、またはグローバル・ロック・マネージャとローカ
ル・ロック・マネージャが置換される時は、指示応答コ
ードが、応答オペランド中で返される。
【0436】グローバル・ロック・マネージャが置換さ
れ、他に1つまたは複数のローカル・ロック・マネージ
ャが存在する時、またはローカル・ロック・マネージャ
が同じ値で置換される時は、ロック・テーブル項目値と
指示応答コードが、応答オペランド中で返される。
【0437】グローバル・ロック・マネージャの比較が
失敗した時は、ロック・テーブル項目値と指示応答コー
ドが、応答オペランド中で返される。
【0438】指定されたリスト項目が存在するが、要求
されたバージョン番号の比較が失敗した時は、指定され
たリスト項目制御と指示応答コードが、応答オペランド
中で返される。
【0439】指定されたリスト項目が存在するが、要求
されたリスト番号の比較が失敗した時は、指定されたリ
スト項目制御と指示応答コードが、応答オペランド中で
返される。
【0440】指定されたリスト項目が存在しない時は、
指示応答コードが、応答オペランド中で返される。
【0441】WLEコマンド:WLEコマンドは、リス
ト番号305とリスト番号423を条件付きで比較し、
リスト・セット項目カウントを比較し、リスト項目カウ
ント301とリスト項目カウント限界303の比較また
はリスト要素カウント312とリスト要素カウント限界
313の比較を行い、バージョン番号304と比較用バ
ージョン番号421を比較し、バージョン番号304を
バージョン番号411で条件付きで更新し、グローバル
・ロック・マネージャ207と比較用グローバル・ロッ
ク・マネージャ415を比較し、ローカル・ロック・マ
ネージャ208とローカル・ロック・マネージャ416
を比較し、ロック・テーブル項目206を書き込み、指
定されたリスト項目302の置換または作成を行い、指
定されたリスト項目制御315を返し、再試行バッファ
を条件付きで更新する。
【0442】指定されたリスト項目または位置を見つ
け、要求された時には、バージョン番号を更新し、グロ
ーバル・ロック・マネージャを比較するか、あるいはリ
スト項目の置換または作成を行うか、あるいは上記の処
理の任意の組合せを実行する。グローバル・ロック・マ
ネージャが比較される時、ローカル・ロック・マネージ
ャが比較されることがある。リスト項目の作成が要求さ
れた時、リスト・セット項目カウントの比較と、リスト
項目カウントまたはリスト要素カウントの比較が行われ
る。リスト項目の置換が要求された時、リスト番号とバ
ージョン番号の比較が行われることがある。グローバル
・ロック・マネージャが比較される時、ロック・テーブ
ル項目が書き込まれることがある。リスト項目を書き込
むためには、これらの処理が、要求された時に成功しな
ければならない。ロック・テーブル項目を書き込むため
には、ローカル・ロック・マネージャの比較を除くこれ
らの処理がすべて、要求された時に成功しなければなら
ない。
【0443】リスト項目が作成され、リスト状態遷移が
生じる時、リスト・モニタが通知を受ける。リスト通知
コマンドは、リスト項目書込みコマンドが完了する前に
完了しなくてもよい。
【0444】再試行指標に応じて、再試行バッファが書
き込まれる。
【0445】リスト項目が書き込まれる時、リスト項目
制御、リスト・セット項目カウント、リスト項目カウン
トまたはリスト要素カウント、および指示応答コード
が、応答オペランド中で返される。
【0446】グローバル・ロック・マネージャが置換さ
れ、他のローカル・ロック・マネージャがない時、また
はローカル・ロック・マネージャが反対の値に置換され
る時、またはグローバル・ロック・マネージャとローカ
ル・ロック・マネージャが置換される時は、指示応答コ
ードが、応答オペランド中で返される。
【0447】グローバル・ロック・マネージャが置換さ
れ、他に1つまたは複数のローカル・ロック・マネージ
ャが存在する時、またはローカル・ロック・マネージャ
が同じ値に置換される時は、ロック・テーブル項目値と
指示応答コードが、応答オペランド中で返される。
【0448】グローバル・ロック・マネージャの比較が
失敗した時は、ロック・テーブル項目値と指示応答コー
ドが、応答オペランド中で返される。
【0449】指定されたリスト項目が存在するが、要求
されたバージョン番号の比較が失敗した時は、指定され
たリスト項目制御と指示応答コードが、応答オペランド
中で返される。
【0450】リスト項目カウントが、リスト項目カウン
ト限界と一致するかまたはこれを超える時、あるいはリ
スト要素カウントが、リスト要素カウント限界と一致す
るかまたはこれを超える時は、指示応答コードが、応答
オペランド中で返される。
【0451】リスト・セットが満杯であり、リスト項目
作成が要求される時は、指示応答コードが、応答オペラ
ンド中で返される。
【0452】指定されたリスト項目が存在するが、要求
されたリスト番号の比較が失敗した時は、指定されたリ
スト項目制御と指示応答コードが、応答オペランド中で
返される。
【0453】指定されたリスト項目が存在しない時は、
指示応答コードが、応答オペランド中で返される。
【0454】リスト項目名がすでに存在し、リスト項目
作成が要求される時は、指示応答コードが、応答オペラ
ンド中で返される。
【0455】MLEコマンド:MLEコマンドは、リス
ト番号305とリスト番号423を条件付きで比較し、
リスト項目カウント301とリスト項目カウント限界3
03の比較またはリスト要素カウント312とリスト要
素カウント限界313の比較を行い、バージョン番号3
04と比較用バージョン番号421を比較し、バージョ
ン番号304をバージョン番号411で条件付きで更新
し、グローバル・ロック・マネージャ207と比較用グ
ローバル・ロック・マネージャ415を比較し、ローカ
ル・ロック・マネージャ208とローカル・ロック・マ
ネージャ416を比較し、ロック・テーブル項目206
を書き込み、指定されたリスト項目302を移動し、指
定されたリスト項目制御315を返し、再試行バッファ
を条件付きで更新する。
【0456】リスト項目と指定された目標位置を見つ
け、リスト項目カウントまたはリスト要素カウントを比
較し、要求された時には、リスト番号を比較し、バージ
ョン番号を比較し、バージョン番号を更新するか、ある
いはグローバル・ロック・マネージャを比較するか、あ
るいは上記の処理の任意の組合せを実行する。グローバ
ル・ロック・マネージャが比較される時、ローカル・ロ
ック・マネージャが比較されることがある。リスト項目
を移動するためには、これらの処理は、要求された時に
成功しなければならない。ロック・テーブル項目を書き
込むためには、ローカル・ロック・マネージャの比較を
除くこれらの処理がすべて、要求された時に成功しなけ
ればならない。
【0457】リスト項目が移動され、リスト状態遷移が
生じる時、リスト・モニタが通知を受ける。リスト通知
コマンドは、リスト項目移動コマンドが完了する前に完
了しなくてもよい。
【0458】再試行指標に応じて、再試行バッファが書
き込まれる。
【0459】リスト項目が移動される時、指定されたリ
スト項目制御、リスト・セット項目カウント、目標のリ
スト項目カウントまたは目標のリスト要素カウント、お
よび指示応答コードが、応答オペランド中で返される。
【0460】グローバル・ロック・マネージャが置換さ
れ、他のローカル・ロック・マネージャがない時、また
はローカル・ロック・マネージャが反対の値に置換され
る時、またはグローバル・ロック・マネージャとローカ
ル・ロック・マネージャが置換される時は、指示応答コ
ードが、応答オペランド中で返される。
【0461】グローバル・ロック・マネージャが置換さ
れ、他に1つまたは複数のローカル・ロック・マネージ
ャが存在する時、またはローカル・ロック・マネージャ
が同じ値に置換される時は、ロック・テーブル項目値と
指示応答コードが、応答オペランド中で返される。
【0462】グローバル・ロック・マネージャの比較が
失敗した時は、ロック・テーブル項目値と指示応答コー
ドが、応答オペランド中で返される。
【0463】指定されたリスト項目が存在するが、要求
されたバージョン番号の比較が失敗した時は、指定され
たリスト項目制御と指示応答コードが、応答オペランド
中で返される。
【0464】リスト項目カウントが、リスト項目カウン
ト限界と一致するかまたはこれを超える時、あるいはリ
スト要素カウントが、リスト要素カウント限界と一致す
るかまたはこれを超える時は、指示応答コードが、応答
オペランド中で返される。
【0465】指定されたリスト項目が存在するが、要求
されたリスト番号の比較が失敗した時は、指定されたリ
スト項目制御と指示応答コードが、応答オペランド中で
返される。
【0466】指定されたリスト項目が存在しない時は、
指示応答コードが、応答オペランド中で返される。
【0467】DLEコマンド:DLEコマンドは、リス
ト番号305とリスト番号423を条件付きで比較し、
バージョン番号304と比較用バージョン番号421を
比較し、バージョン番号304をバージョン番号411
で条件付きで置換し、グローバル・ロック・マネージャ
207と比較用グローバル・ロック・マネージャ415
を比較し、ローカル・ロック・マネージャ208とロー
カル・ロック・マネージャ416を比較し、ロック・テ
ーブル項目206を書き込み、指定されたリスト項目3
02を削除し、指定されたリスト項目制御315を返
し、再試行バッファを条件付きで更新する。
【0468】リスト項目を見つけ、要求された時には、
リスト番号を比較し、バージョン番号を比較するか、あ
るいはグローバル・ロック・マネージャを比較するか、
あるいは上記の処理の任意の組合せを実行する。グロー
バル・ロック・マネージャが比較される時、ローカル・
ロック・マネージャが比較されることがある。リスト項
目を削除するためには、これらの処理は、要求された時
に成功しなければならない。ロック・テーブル項目を書
き込むためには、ローカル・ロック・マネージャの比較
を除くこれらの処理がすべて、要求された時に成功しな
ければならない。
【0469】リスト項目が削除され、リスト状態遷移が
生じる時、リスト・モニタが通知を受ける。リスト通知
コマンドは、リスト項目削除コマンドが完了する前に完
了しなくてもよい。
【0470】再試行指標に応じて、再試行バッファが書
き込まれる。
【0471】リスト項目が削除される時、指定されたリ
スト項目制御、リスト・セット項目カウント、リスト項
目カウントまたはリスト要素カウント、および指示応答
コードが、応答オペランド中で返される。
【0472】グローバル・ロック・マネージャが置換さ
れ、他のローカル・ロック・マネージャがない時、また
はローカル・ロック・マネージャが反対の値に置換され
る時、またはグローバル・ロック・マネージャとローカ
ル・ロック・マネージャが置換される時は、指示応答コ
ードが、応答オペランド中で返される。
【0473】グローバル・ロック・マネージャが置換さ
れ、他に1つまたは複数のローカル・ロック・マネージ
ャが存在する時、またはローカル・ロック・マネージャ
が同じ値で置換される時は、ロック・テーブル項目値と
指示応答コードが、応答オペランド中で返される。
【0474】グローバル・ロック・マネージャの比較が
失敗した時は、ロック・テーブル項目値と指示応答コー
ドが、応答オペランド中で返される。
【0475】指定されたリスト項目が存在するが、要求
されたバージョン番号の比較が失敗した時は、指定され
たリスト項目制御と指示応答コードが、応答オペランド
中で返される。
【0476】指定されたリスト項目が存在するが、要求
されたリスト番号の比較が失敗した時は、指定されたリ
スト項目制御と指示応答コードが、応答オペランド中で
返される。
【0477】指定されたリスト項目が存在しない時は、
指示応答コードが、応答オペランド中で返される。
【0478】WMLEコマンド:WMLEコマンドは、
リスト番号305とリスト番号423を条件付きで比較
し、リスト・セット項目カウントを比較し、リスト項目
カウント301とリスト項目カウント限界303の比較
またはリスト要素カウント312とリスト要素カウント
限界313の比較を行い、リスト項目302の作成また
は置換を行い、バージョン番号304と比較用バージョ
ン番号421を比較し、バージョン番号304をバージ
ョン番号411で条件付きで更新し、グローバル・ロッ
ク・マネージャ207と比較用グローバル・ロック・マ
ネージャ415を比較し、ローカル・ロック・マネージ
ャ208とローカル・ロック・マネージャ416を比較
し、ロック・テーブル項目206を書き込み、指定され
たリスト項目302を移動し、指定されたリスト項目制
御315を返し、再試行バッファを条件付きで更新す
る。
【0479】指定されたリスト項目または位置を見つ
け、要求された時には、バージョン番号を更新し、グロ
ーバル・ロック・マネージャを比較するか、あるいはリ
スト項目の置換または作成を行うか、あるいは前の処理
の任意の組合せを実行する。グローバル・ロック・マネ
ージャが比較される時、ローカル・ロック・マネージャ
が比較されることがある。リスト項目の作成が要求され
た時には、リスト・セット項目カウントの比較とリスト
項目カウントまたはリスト・セット項目カウントとリス
ト要素カウントの比較が行われる。リスト項目の置換が
要求された時、リスト番号とバージョン番号が比較され
ることがある。グローバル・ロック・マネージャが比較
される時、ロック・テーブル項目が書き込まれることが
ある。リスト項目を書き込み、移動するためには、これ
らの処理は、要求された時に成功しなければならない。
ロック・テーブル項目を書き込むためには、ローカル・
ロック・マネージャの比較を除くこれらの処理がすべ
て、要求された時に成功しなければならない。
【0480】リスト項目が移動され、リスト状態遷移が
生じる時、リスト・モニタが通知を受ける。リスト通知
コマンドは、リスト項目書込み・移動コマンドが完了す
る前に完了しなくてもよい。
【0481】再試行指標に応じて、再試行バッファが書
き込まれる。
【0482】リスト項目が書き込まれ、移動される時、
リスト項目制御、リスト・セット項目カウント、目標の
リスト項目カウントまたは目標のリスト要素カウント、
および指示応答コードが、応答オペランド中で返され
る。
【0483】グローバル・ロック・マネージャが置換さ
れ、他のローカル・ロック・マネージャがない時、また
はローカル・ロック・マネージャが反対の値に置換され
る時、またはグローバル・ロック・マネージャとローカ
ル・ロック・マネージャが置換される時は、指示応答コ
ードが、応答オペランド中で返される。
【0484】グローバル・ロック・マネージャが置換さ
れ、他に1つまたは複数のローカル・ロック・マネージ
ャが存在する時、またはローカル・ロック・マネージャ
が同じ値で置換される時は、ロック・テーブル項目値と
指示応答コードが、応答オペランド中で返される。
【0485】グローバル・ロック・マネージャの比較が
失敗した時は、ロック・テーブル項目値と指示応答コー
ドが、応答オペランド中で返される。
【0486】指定されたリスト項目が存在するが、要求
されたバージョン番号の比較が失敗した時は、指定され
たリスト項目制御と指示応答コードが、応答オペランド
中で返される。
【0487】リスト項目カウントが、リスト項目カウン
ト限界と一致するかまたはこれを超える時、あるいはリ
スト要素カウントが、リスト要素カウント限界と一致す
るかこれを超える時は、指示応答コードが、応答オペラ
ンド中で返される。
【0488】リスト・セットが満杯であり、リスト項目
作成が要求される時は、指示応答コードが、応答オペラ
ンド中で返される。
【0489】指定されたリスト項目が存在するが、要求
されたリスト番号の比較が失敗した時は、指定されたリ
スト項目制御と指示応答コードが、応答オペランド中で
返される。
【0490】指定されたリスト項目が存在しない時は、
指示応答コードが、応答オペランド中で返される。
【0491】リスト項目名がすでに存在し、リスト項目
作成が要求される時は、指示応答コードが、応答オペラ
ンド中で返される。
【0492】MRLEコマンド:MRLEコマンドは、
リスト番号305とリスト番号423を条件付きで比較
し、リスト項目カウント301とリスト項目カウント限
界303の比較またはリスト要素カウント312とリス
ト要素カウント限界313の比較を行い、バージョン番
号304と比較用バージョン番号421を比較し、バー
ジョン番号304をバージョン番号411で条件付きで
更新し、グローバル・ロック・マネージャ207と比較
用グローバル・ロック・マネージャ415を比較し、ロ
ーカル・ロック・マネージャ208とローカル・ロック
・マネージャ416を比較し、ロック・テーブル項目2
06を書き込み、指定されたリスト項目302を移動
し、指定されたデータ・リスト項目306の値および付
属リスト項目309の値を返し、指定されたリスト項目
制御315を返し、再試行バッファを条件付きで更新す
る。
【0493】リスト項目と指定された目標位置を見つ
け、リスト項目カウントの比較またはリスト要素カウン
トの比較を行い、要求された時には、リスト番号を比較
し、バージョン番号を比較し、バージョン番号を更新す
るか、またはグローバル・ロック・マネージャを比較す
るか、または上記の処理の任意の組合せを実行する。グ
ローバル・ロック・マネージャが比較される時、ローカ
ル・ロック・マネージャが比較されることがある。リス
ト項目を移動し、読み取るためには、これらの処理は、
要求された時に成功しなければならない。ロック・テー
ブル項目を書き込むためには、ローカル・ロック・マネ
ージャの比較を除くこれらの処理がすべて、要求された
時に成功しなければならない。
【0494】リスト項目が移動され、リスト状態遷移が
生じる時、リスト・モニタが通知を受ける。リスト通知
コマンドは、リスト項目移動・読取りコマンドが完了す
る前に完了しなくてもよい。
【0495】再試行指標に応じて、再試行バッファが書
き込まれる。
【0496】リスト項目が移動され、読み取られる時、
指定されたリスト項目制御、リスト・セット項目カウン
ト、目標のリスト項目カウントまたは目標のリスト要素
カウント、および指示応答コードが、応答オペランド中
で返される。
【0497】グローバル・ロック・マネージャが置換さ
れ、他のローカル・ロック・マネージャがない時、また
はローカル・ロック・マネージャが反対の値に置換され
る時、またはグローバル・ロック・マネージャとローカ
ル・ロック・マネージャが置換される時は、指示応答コ
ードが、応答オペランド中で返される。
【0498】グローバル・ロック・マネージャが置換さ
れ、他に1つまたは複数のローカル・ロック・マネージ
ャが存在する時、またはローカル・ロック・マネージャ
が同じ値で置換される時は、ロック・テーブル項目値と
指示応答コードが、応答オペランド中で返される。
【0499】グローバル・ロック・マネージャの比較が
失敗した時は、ロック・テーブル項目値と指示応答コー
ドが、応答オペランド中で返される。
【0500】指定されたリスト項目が存在するが、要求
されたバージョン番号の比較が失敗した時は、指定され
たリスト項目制御と指示応答コードが、応答オペランド
中で返される。
【0501】リスト項目カウントが、リスト項目カウン
ト限界と一致するかまたはこれを超える時、あるいはリ
スト要素カウントが、リスト要素カウント限界と一致す
るかまたはこれを超える時は、指示応答コードが、応答
オペランド中で返される。
【0502】指定されたリスト項目が存在するが、要求
されたリスト番号の比較が失敗した時は、指定されたリ
スト項目制御と指示応答コードが、応答オペランド中で
返される。
【0503】指定されたリスト項目が存在しない時は、
指示応答コードが、応答オペランド中で返される。
【0504】RDLEコマンド:RDLEコマンドは、
リスト番号305とリスト番号423を条件付きで比較
し、バージョン番号304と比較用バージョン番号42
1を比較し、バージョン番号304をバージョン番号4
11で条件付きで更新し、グローバル・ロック・マネー
ジャ207と比較用グローバル・ロック・マネージャ4
15を比較し、ローカル・ロック・マネージャ208と
ローカル・ロック・マネージャ416を比較し、ロック
・テーブル項目206を書き込み、指定されたリスト項
目302を削除し、指定されたデータ・リスト項目30
6の値および付属リスト項目309の値を返し、指定さ
れたリスト項目制御315を返し、再試行バッファを条
件付きで更新する。
【0505】リスト項目を見つけ、要求された時には、
リスト番号を比較し、バージョン番号を比較するか、あ
るいはグローバル・ロック・マネージャを比較するか、
あるいは上記の処理の任意の組合せを実行する。グロー
バル・ロック・マネージャが比較される時、ローカル・
ロック・マネージャが比較されることがある。リスト項
目を読み取り、削除するためには、これらの処理が、要
求された時に成功しなければならない。ロック・テーブ
ル項目を書き込むためには、ローカル・ロック・マネー
ジャの比較を除くこれらの処理がすべて、要求された時
に成功しなければならない。
【0506】リスト項目が削除され、リスト状態遷移が
生じる時、リスト・モニタが通知を受ける。リスト通知
コマンドは、リスト項目読取り・削除コマンドが完了す
る前に完了しなくてもよい。
【0507】再試行指標に応じて、再試行バッファが書
き込まれる。
【0508】リスト項目が読み取られ、削除される時、
指定されたリスト項目制御、リスト・セット項目カウン
ト、リスト項目カウントまたはリスト要素カウント、お
よび指示応答コードが、応答オペランド中で返される。
【0509】グローバル・ロック・マネージャが置換さ
れ、他のローカル・ロック・マネージャがない時、また
はローカル・ロック・マネージャが反対の値に置換され
る時、またはグローバル・ロック・マネージャとローカ
ル・ロック・マネージャが置換される時は、指示応答コ
ードが、応答オペランド中で返される。
【0510】グローバル・ロック・マネージャが置換さ
れ、他の1つまたは複数のローカル・ロック・マネージ
ャが存在する時、またはローカル・ロック・マネージャ
が同じ値で置換される時は、ロック・テーブル項目値と
指示応答コードが、応答オペランド中で返される。
【0511】グローバル・ロック・マネージャの比較が
失敗した時は、ロック・テーブル項目値と指示応答コー
ドが、応答オペランド中で返される。
【0512】指定されたリスト項目が存在するが、要求
されたバージョン番号の比較が失敗した時は、指定され
たリスト項目制御と指示応答コードが、応答オペランド
中で返される。
【0513】指定されたリスト項目が存在するが、要求
されたリスト番号の比較が失敗した時は、指定されたリ
スト項目制御と指示応答コードが、応答オペランド中で
返される。
【0514】指定されたリスト項目が存在しない時は、
指示応答コードが、応答オペランド中で返される。
【0515】複数リスト項目コマンド:複数リスト項目
コマンドには、下記のものが含まれる。 ・リスト読取り(RL) ・リスト・セット読取り(RLS) ・リスト・セット削除(DLS) ・リスト項目削除(DLES)
【0516】RLコマンド:RLコマンドは、リスト番
号305とリスト番号423、ならびにバージョン番号
304と比較用バージョン番号421を条件付きで比較
する。このコマンドは、リスト項目読取りカウント、次
のリスト項目302のリスト項目制御315、0または
1個以上のデータ・リスト項目306の値と付属リスト
項目309の値、0または1個以上のリスト項目制御3
15、またはこれらの任意の組合せを返す。
【0517】要求された時には、最初のリスト項目を走
査する前にリスト番号が比較される(この走査処理を図
17に示す)。リスト項目の走査は、指定された位置か
ら開始され、モデル依存の時間が経過するか、あるいは
データ域が満たされるか、あるいは最終リスト項目が走
査されるまで、指定された方向に進行する。各リスト項
目を見つけ、要求された時には、バージョン番号を比較
する。任意のリスト項目またはリスト項目制御を読み取
るためには、リスト番号の比較が要求された時に、その
比較が成功しなければならない。特定のリスト項目また
はリスト項目制御を読み取るためには、バージョン番号
の比較が要求された時に、その比較が成功しなければな
らない。
【0518】最初に走査されるリスト項目のリスト項目
制御と付属リスト項目が、メッセージ応答ブロックに置
かれる。最初のリスト項目のデータ・リスト項目と、後
続のすべてのリスト項目制御、付属リスト項目およびデ
ータ・リスト項目が、データ・ブロックに置かれる。
【0519】最後のリスト項目が走査された時、記憶さ
れたデータ・リスト項目、付属リスト項目またはリスト
項目制御の数と等しいリスト項目読取りカウントと指示
応答コードが、応答オペランド中で返される。
【0520】データ・ブロックが満たされるか、あるい
はモデル依存の時間が経過した時は、メッセージ応答ブ
ロックとデータ・ブロックに記憶された、データ・リス
ト項目または付属リスト項目またはリスト項目制御の数
と等しいリスト項目読取りカウントと、このシーケンス
内で次に走査されるリスト項目のリスト制御と、指示応
答コードが、応答オペランド中で返される。
【0521】指定されたデータ・ブロック・サイズが、
少なくとも1つのリスト項目のリスト読取りタイプによ
って指定される情報を格納するのに十分な大きさでない
時は、指示応答コードが、応答オペランド中で返され
る。
【0522】指定されたリスト項目が存在するが、要求
されたリスト番号の比較が失敗した時は、指定されたリ
スト項目制御と指示応答コードが、応答オペランド中で
返される。
【0523】指定されたリスト項目が存在しない時は、
指示応答コードが、応答オペランド中で返される。
【0524】RLSコマンド:RLSコマンドは、リス
ト番号305とリスト番号423、ならびにバージョン
番号304と比較用バージョン番号421を条件付きで
比較する。このコマンドは、リスト項目読取りカウン
ト、再始動トークン、0または1個以上のデータ・リス
ト項目306の値と付属リスト項目309の値、0また
は1個以上のリスト項目制御315、またはこれらの任
意の組合せを返す。
【0525】リスト・セット内のリスト項目は、指定さ
れた再始動トークンから始めて、モデル依存の時間が経
過するか、あるいはデータ域が満たされるか、あるいは
最終リスト項目が走査されるまで、走査される。再始動
トークンが0の時は、処理が開始され、トークンが非0
の時は、次のリスト項目から処理が再始動される。各リ
スト項目を見つけ、要求された時には、バージョン番号
を比較するか、あるいはリスト番号を比較するか、ある
いは上記の処理の任意の組合せを実行する。特定のリス
ト項目またはリスト項目制御を読み取るためには、バー
ジョン番号の比較とリスト番号の比較が要求された時
に、これらの比較が成功しなければならない。
【0526】最初に走査されるリスト項目のリスト項目
制御と付属リスト項目が、メッセージ応答ブロック(M
RB)に置かれる。最初のリスト項目のデータ・リスト
項目と、後続のリスト項目制御、付属リスト項目および
データ・リスト項目がすべて、データ・ブロックに置か
れる。
【0527】最後のリスト項目が走査された時、記憶さ
れたデータ・リスト項目、付属リスト項目またはリスト
項目制御の数と等しいリスト項目読取りカウントと指示
応答コードが、応答オペランド中で返される。
【0528】データ・ブロックが満たされるか、あるい
はモデル依存の時間が経過した時は、メッセージ応答ブ
ロックとデータ・ブロックに記憶されたデータ・リスト
項目または付属リスト項目またはリスト項目制御の数と
等しいリスト項目読取りカウントと、再始動トークン
と、指示応答コードが、応答オペランド中で返される。
【0529】指定されたデータ・ブロック・サイズが、
少なくとも1つのリスト項目のリスト読取りタイプによ
って指定される情報を格納するのに十分な大きさでない
時は、指示応答コードが、応答オペランド中で返され
る。
【0530】再始動トークンが無効である時は、指示応
答コードが、応答オペランド中で返される。
【0531】DLSコマンド:DLSコマンドは、リス
ト番号305とリスト番号423、ならびにバージョン
番号304と比較用バージョン番号421を条件付きで
比較する。このコマンドは、リスト項目削除カウントと
再始動トークンを返す。このコマンドは、0または1個
以上のリスト項目302を削除する。
【0532】リスト・セット内のリスト項目は、指定さ
れた再始動トークンから始めて、モデル依存の時間が経
過するか、あるいは最終リスト項目が走査されるまで、
走査される。再始動トークンが0の時は処理が開始さ
れ、トークンが非0の時は、次のリスト項目から処理が
再始動される。各リスト項目を見つけ、要求された時に
は、バージョン番号を比較するか、あるいはリスト番号
を比較するか、あるいは上記の処理の任意の組合せを実
行する。特定のリスト項目を削除するためには、バージ
ョン番号の比較とリスト番号の比較が要求された時に、
これらの比較が成功しなければならない。
【0533】リスト項目が削除され、リスト状態遷移が
生じる時、リスト・モニタが通知を受ける。リスト通知
コマンドは、リスト・セット削除コマンドが完了する前
に完了しなくてもよい。
【0534】最後のリスト項目が走査された時、削除さ
れたリスト項目の数と等しいリスト項目削除カウントと
指示応答コードが、応答オペランド中で返される。
【0535】モデル依存の時間が経過した時は、削除さ
れた項目の数と等しいリスト項目削除カウント、再始動
トークンおよび応答コード1が、応答オペランド中で返
される。
【0536】再始動トークン・オペランドが無効である
時は、指示応答コードが、応答オペランド中で返され
る。
【0537】DLESコマンド:DLESコマンドは、
リスト番号305とリスト番号423、ならびにバージ
ョン番号304と比較用バージョン番号421を条件付
きで比較する。このコマンドは、リスト項目削除カウン
トと現データ指標を返す。このコマンドは、0または1
個以上のリスト項目302を削除する。
【0538】リスト・セット内のリスト項目は、開始デ
ータ指標によって指定された最初のリスト項目から始め
て、データ・ブロック内で指定されるのと同じ順序で続
けて走査される。各リスト項目を見つけ、要求された時
には、バージョン番号を比較するか、あるいはリスト番
号を比較するか、あるいは上記の処理の任意の組合せを
実行する。特定のリスト項目を削除するためには、バー
ジョン番号の比較とリスト番号の比較が要求された時
に、これらの比較が成功しなければならない。
【0539】リスト項目が削除され、リスト状態遷移が
生じる時、リスト・モニタが通知を受ける。リスト通知
コマンドは、リスト項目削除コマンドが完了する前に完
了しなくてもよい。
【0540】最終データ指標によって指定される最後の
リスト項目が走査された時、削除されたリスト項目の数
と等しいリスト項目削除カウントと指示応答コードが、
応答オペランド中で返される。
【0541】モデル依存の時間が経過した時は、削除さ
れたリスト項目の数と等しいリスト項目削除カウント、
次に走査するリスト項目の現データ指標、および指示応
答コードが、応答オペランド中で返される。
【0542】指定されたリスト項目が存在しない時は、
削除されたリスト項目の数と等しいリスト項目削除カウ
ント、存在しないリスト項目の現データ指標、および指
示応答コードが、応答オペランド中で返される。
【図面の簡単な説明】
【図1】入出力システムおよびSES機構に接続された
複数のCPCを有する本発明のデータ処理システムのブ
ロック図である。
【図2】図1のシステムの一部分であり、SES機構の
プロセッサに接続された単一のCPCの複数の機構を示
す図である。
【図3】図1のシステムの別の部分であり、SES機構
と3つのCPCの中間メッセージ・プロセッサを示す図
である。
【図4】図1のシステムの別の部分であり、SES機構
内の複数の構造を示す図である。
【図5】図1のシステムの3段記憶階層を示す図であ
る。
【図6】図4に示した構造のリスト構造の1つを示す図
である。
【図7】ディレクトリ項目と待ち行列に入れられたデー
タ項目を示す制御ブロック図である。
【図8】1次待ち行列構造と2次待ち行列構造を示す制
御ブロック図である。
【図9】コマンド再始動中の記憶域クラス待ち行列を示
す制御ブロック図である。
【図10】再始動処理の例を示す流れ図である。
【図11】広範囲のコマンド用の再始動処理の別の例を
示す流れ図である。
【図12】SESでの新規データ・オブジェクトの受取
りと永続エラーの検出の処理を示す流れ図である。
【図13】リスト構造ユーザ付加(ALSU)コマンド
を示す流れ図である。
【図14】リスト構造ユーザ切断(DLSU)コマンド
を示す流れ図である。
【図15】リスト監視登録(RLM)コマンドを示す流
れ図である。
【図16】リスト監視登録解除(DLM)コマンドを示
す流れ図である。
【図17】多数のリスト項目コマンドがある場合の、リ
スト項目の方向別走査の処理を示す流れ図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェフリー・アラン・フレイ アメリカ合衆国12524、ニューヨーク州フ ィッシュキル、グリーンヒル・ドライブ24 エイ (72)発明者 オードリー・アン・ヘルフリッヒ アメリカ合衆国12603、ニューヨーク州ポ ーキープシー、モネル・アベニュー6 (72)発明者 ジョン・フランクリン・アイゼンバーグ・ ジュニア アメリカ合衆国12603、ニューヨーク州ポ ーキープシー、ソーンウッド・ドライブ29 (72)発明者 ジェフリー・マーク・ニック アメリカ合衆国12524、ニューヨーク州フ ィッシュキル、プリマス・ロード43 (72)発明者 ジミー・ポール・ストリックランド アメリカ合衆国95070、カリフォルニア州 サラトガ・オールコット・ウェイ18929 (72)発明者 マイケル・ダスティン・スワンソン アメリカ合衆国12603、ニューヨーク州ポ ーキープシー、カレッジ・アベニュー95 (72)発明者 ブライアン・バリー・モア アメリカ合衆国12603、ニューヨーク州ポ ーキープシー、カーネリ・コート16

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】中央電子複合体(CEC)内で実行される
    2つ以上のプロセス間でデータを共用するための装置で
    あって a)構造化外部記憶(SES)プロセッサであって、 i)リスト構造とキャッシュ構造をとる、データを記憶
    するためのデータ構造手段と、 ii)前記データ構造手段と相互作用し、前記CECのう
    ちの1つに含まれるサポート機構(SF)と相互作用す
    るメッセージ・プロセッサ手段とを備えるものと、 b)前記CECのうちの1つに含まれる前記SFであっ
    て、 i)前記データ構造内のデータ項目に関する状況を示す
    ためのベクトル手段と、 ii)前記ベクトル手段を定義するための第1命令手段
    と、 iii)前記ベクトル手段をポーリングするための第2命
    令手段とを備えるものと、 c)2つ以上のプロセスのうちの1つによる前記状況に
    対する関心を登録するための登録手段と、 d)前記SESと前記CECのうちの1つとの間でメッ
    セージを通信するための通信手段と、 を含む装置。
  2. 【請求項2】1つまたは複数のCEC内で実行される2
    つ以上のプロセス間でデータを共用するための装置であ
    って、 a)構造化外部記憶(SES)プロセッサであって、 i)1以上のデータ・オブジェクトを含む、データを記
    憶するためのデータ構造手段と、 ii)コマンドを実行するため、前記データ構造手段およ
    び前記中央電子複合体(CEC)のうちの1つに含まれ
    るサポート機構(SF)と相互作用する、複数のメッセ
    ージ・プロセッサ手段と、 iii)前記複数のメッセージ・プロセッサ手段の間でコ
    マンド処理を逐次化するための逐次化手段とを含むもの
    と、 b)前記SESと前記CECのうちの前記1つとの間で
    メッセージを通信するための通信手段とを備えるもの。
  3. 【請求項3】前記CECのうちの前記1つに含まれる前
    記サポート機構が、前記CECのうちの前記1つでの処
    理に割り込むことなしに、前記SESから状況通知を受
    け取る手段を備えることを特徴とする、請求項2の装
    置。
  4. 【請求項4】前記逐次化手段が、前記1以上のデータ・
    オブジェクトのうちのただ1つに対する取出し参照と記
    憶参照の間に、前記1つまたは複数のデータ・オブジェ
    クトのうちの前記ただ1つに対するアクセスをインター
    ロックするための更新参照インターロック手段を備える
    ことを特徴とする、請求項2の装置。
  5. 【請求項5】前記逐次化手段が、前記1以上のデータ・
    オブジェクトのうちの各オブジェクトに対するアクセス
    を前記2以上のメッセージ・プロセッサ手段の間で逐次
    化するための第1ロック手段を備えることを特徴とす
    る、請求項4の装置。
  6. 【請求項6】前記逐次化手段が、さらに、前記1以上の
    データ・オブジェクトのうちの2つ以上のデータ・オブ
    ジェクトを参照する複数オブジェクト・コマンドが実行
    される時に、前記2つ以上のデータ・オブジェクトへの
    アクセスを逐次化するための第2ロック手段を備えるこ
    とを特徴とする、請求項5の装置。
  7. 【請求項7】1つまたは複数のCEC内で実行される2
    つ以上のプロセス間でデータを共用するための装置であ
    って a)構造化外部記憶(SES)プロセッサであって、 i)1つまたは複数のデータ・オブジェクトと、前記1
    つまたは複数のデータ・オブジェクトのそれぞれを位置
    指定する1つまたは複数のディレクトリ要素を含むディ
    レクトリとを備える、データを記憶するためのデータ構
    造手段と、入力データ・オブジェクトを受け取るための
    バッファ手段と、 ii)2つ以上のプロセスのうちの1つのプロセスに関し
    てコマンドを実行するため、前記データ構造手段と相互
    作用し、中央電子複合体(CEC)のうちの1つに含ま
    れるサポート機構(SF)と相互作用することのでき
    る、1つまたは複数のメッセージ・プロセッサ手段とを
    備える b)前記CECのうちの前記1つでの処理に割り込むこ
    となしに、前記SESから状況通知を受け取る手段を備
    える、前記CECのうちの前記1つに含まれるSFと、 c)前記SESと前記CECのうちの前記1つとの間で
    メッセージを通信するための通信手段とを備える装置。
  8. 【請求項8】1以上のCEC内で実行される2つ以上の
    プロセス間でデータを共用するための装置であって、 a)構造化外部記憶(SES)プロセッサであって、 i)1つまたは複数のデータ・オブジェクトを含む、デ
    ータを記憶するためのデータ構造手段と、 ii)2つ以上のプロセスのうちの1つのプロセスに関し
    てコマンドを実行するため、前記データ構造手段および
    中央電子複合体(CEC)のうちの1つに含まれるサポ
    ート機構(SF)と相互作用することのできる、1以上
    のメッセージ・プロセッサ手段とを備えるものと、 b)前記CECのうちの前記1つでの処理に割り込むこ
    となしに、前記SESから状況通知を受け取る手段を備
    える、前記CECのうちの前記1つに含まれるSFと、 c)前記SESと前記CECのうちの前記1つとの間で
    メッセージを通信するための通信手段と d)前記1以上のメッセージ・プロセッサ手段による前
    記コマンドの最終処理の前に、前記2つ以上のプロセス
    のうちの前記1つにコマンド完了表示を返すと同時に、
    前記2つ以上のプロセスがいずれも、その後、前記最終
    処理と矛盾する結果を検出しないことを保証するため
    の、順方向完了手段とを備える装置。
  9. 【請求項9】前記順方向完了手段が、割り込まれたコマ
    ンド・プロセスを回復し、損傷を受けたデータをチェッ
    クポイント状態情報から再構築するための割込みハンド
    ラ手段を備えること、前記割込みハンドラ手段による前
    記回復が成功しなかった時、前記損傷を受けたデータに
    対するアクセスを防止するための、前記1つまたは複数
    のメッセージ・プロセッサ手段からアクセス可能な損傷
    標識を備えること、を特徴とする、請求項8の装置。
  10. 【請求項10】オペレーティング・システムによって制
    御されリンクによって構造化外部記憶(SES)に付加
    されるCECを備えるシステム複合体内で、コマンドを
    再始動するための装置であって、 a)前記SES内でコマンド・プロセスを開始するコマ
    ンド要求を中央電子複合体(CEC)のうちの第1CE
    C内の第1プログラム・プロセスから前記SESプロセ
    ッサに送るためのコマンド・メッセージ手段と、 b)前記コマンド・プロセスを実行するための、前記S
    ES内のコマンド・メッセージ処理手段と、 c)前記コマンド・プロセスの実行中にSESモデル依
    存タイムアウト間隔の満了を検出し、中断点で前記コマ
    ンド・プロセスの実行を中断するための、前記SES内
    のタイムアウト手段と、 d)前記CECのうちの第2CEC内の第2プログラム
    ・プロセスの要求時に、前記中断点で前記コマンド・プ
    ロセスを再始動するための、前記SES内の再開始手段
    とを備える装置。
  11. 【請求項11】前記タイムアウト手段が、再始動トーク
    ンを獲得し、これを前記第1プログラム・プロセスに渡
    す手段を備えること、前記再開始手段が、前記再始動ト
    ークンを前記第1プログラム・プロセスから受け取る手
    段を備えることを特徴とする、請求項10の装置。
  12. 【請求項12】前記SESが、1つまたは複数のディレ
    クトリ要素からなるディレクトリ・オブジェクトを含
    み、前記ディレクトリ要素がそれぞれ、順序通り配列さ
    れ、関連するデータ・オブジェクトにリンクされるこ
    と、前記コマンド・プロセスが、前記の順序通り配列さ
    れたディレクトリ要素の順次走査を含むこと、前記再始
    動トークンが、前記タイムアウト手段によって前記コマ
    ンド・プロセスが中断された第1の順序通り配列された
    ディレクトリ要素を見つけるためのディレクトリ項目ロ
    ケータ手段を備えること、を特徴とする、請求項10の
    装置。
  13. 【請求項13】ディレクトリ内のディレクトリ項目によ
    ってそれぞれ位置指定されるデータ・エントリを有す
    る、構造化外部記憶(SES)プロセッサ内のデータ構
    造を、前記SESに付加された中央電子複合体(CE
    C)内で実行されるプロセスによって更新する方法であ
    って、 a)前記プロセスが、コマンド・オブジェクトとデータ
    ・オブジェクトとを含むコマンドを定式化し、そのSE
    Sへの送出を開始するステップと、 b)SES内のメッセージ・プロセッサ選択機構が、前
    記コマンドを処理するため、メッセージ・プロセッサを
    選択するステップと、 c)前記メッセージ・プロセッサが、SES内で新規デ
    ータ域を割り振るステップと、 d)前記メッセージ・プロセッサが、前記データ・オブ
    ジェクトを前記新規データ域にコピーするステップと、 e)前記メッセージ・プロセッサが、前記コピー・ステ
    ップの後に、前記ディレクトリ内の関連するディレクト
    リ項目内に前記新規データ域のアドレスを置くステップ
    とを含む方法。
  14. 【請求項14】構造化外部記憶(SES)プロセッサに
    付加された中央電子複合体(CEC)内のプログラムに
    よってSESに送られるコマンドによって開始されるコ
    マンド・プロセスを、SES内で実行する方法であっ
    て、 a)前記コマンド・プロセスを実行するため、メッセー
    ジ・プロセッサをSES内で選択するステップと、 b)前記メッセージ・プロセッサが、前記コマンド・プ
    ロセスの全体に満たない前記コマンド・プロセスの一部
    分を実行し、前記プログラムに完了表示を返すステップ
    と、 c)前記メッセージ・プロセッサが、前記コマンド・プ
    ロセスの残りの部分を実行し、前記残りの部分が、実行
    される前記コマンド・プロセスの全体に満たない場合に
    は、SES内のデータに対するそれ以上のアクセスを防
    止するために、SES内の損傷標識をセットするステッ
    プと、を含む方法。
  15. 【請求項15】構造化外部記憶(SES)プロセッサに
    付加された第1中央電子複合体(CEC)内の第1プロ
    グラムによってSESに送られるコマンドによって開始
    されるコマンド・プロセスを、SES内で実行する方法
    であって、 a)前記コマンド・プロセスを実行するため、メッセー
    ジ・プロセッサをSES内で選択するステップと、 b)前記メッセージ・プロセッサが、前記コマンド・プ
    ロセスの一部分を実行し、前記コマンドを中断点で再始
    動できるようにチェックポイント・データを記憶するス
    テップと、 c)第2CEC内の第2プログラムが、前記コマンドを
    前記SESに送るステップと、 d)前記メッセージ・プロセッサが、前記第2プログラ
    ムによって送られた前記コマンドに応答して、前記チェ
    ックポイント・データにアクセスし、前記中断点から前
    記コマンド・プロセスを続行するステップとを含む方
    法。
  16. 【請求項16】構造化外部記憶(SES)プロセッサに
    付加された中央電子複合体(CEC)内のプログラムに
    よってSESに送られる第1コマンドによって開始され
    るコマンド・プロセスを、SES内で実行する方法であ
    って、 a)前記コマンド・プロセスを実行するため、メッセー
    ジ・プロセッサをSES内で選択するステップと、 b)前記メッセージ・プロセッサが、前記コマンド・プ
    ロセスの一部分を実行し、前記プログラムに再始動トー
    クンを返すステップと、 c)前記プログラムが、前記再始動トークンを含む第2
    コマンドを前記SESに送るステップと、 d)前記メッセージ・プロセッサが、前記第2コマンド
    に応答して、前記再始動トークンを受け取り、前記再始
    動トークンを開始位置標識として使用して、前記中断点
    から前記コマンド・プロセスを続行するステップとを含
    む方法。
JP5066503A 1992-03-30 1993-03-25 結合式データ処理システム用の方法および装置 Expired - Fee Related JP2656708B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US860803 1992-03-30
US07/860,803 US5317739A (en) 1992-03-30 1992-03-30 Method and apparatus for coupling data processing systems

Publications (2)

Publication Number Publication Date
JPH0644195A true JPH0644195A (ja) 1994-02-18
JP2656708B2 JP2656708B2 (ja) 1997-09-24

Family

ID=25334054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5066503A Expired - Fee Related JP2656708B2 (ja) 1992-03-30 1993-03-25 結合式データ処理システム用の方法および装置

Country Status (3)

Country Link
US (1) US5317739A (ja)
EP (1) EP0563620A3 (ja)
JP (1) JP2656708B2 (ja)

Families Citing this family (142)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2781092B2 (ja) * 1991-11-06 1998-07-30 富士通株式会社 システム間排他制御方式
JP2566717B2 (ja) 1992-03-30 1996-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション 条件付きオペレーション提供装置及び方法
JPH06301657A (ja) * 1993-02-22 1994-10-28 Internatl Business Mach Corp <Ibm> 並行管理方法
US5761739A (en) * 1993-06-08 1998-06-02 International Business Machines Corporation Methods and systems for creating a storage dump within a coupling facility of a multisystem enviroment
US6298371B1 (en) * 1993-07-08 2001-10-02 Bmc Software, Inc. Method of dynamically adjusting NCP program memory allocation of SNA network
US5465359A (en) * 1993-11-01 1995-11-07 International Business Machines Corporation Method and system for managing data and users of data in a data processing system
US5416921A (en) * 1993-11-03 1995-05-16 International Business Machines Corporation Apparatus and accompanying method for use in a sysplex environment for performing escalated isolation of a sysplex component in the event of a failure
US5584039A (en) * 1993-11-08 1996-12-10 International Business Machines Corporation System for coordinating execution of multiple concurrent channel programs without host processor involvement using suspend and resume commands to control data transfer between I/O devices
JPH08180001A (ja) * 1994-04-12 1996-07-12 Mitsubishi Electric Corp 通信方式及び通信方法及びネットワークインタフェース
US5574902A (en) * 1994-05-02 1996-11-12 International Business Machines Corporation Efficient destaging of updated local cache pages for a transaction in a multisystem and multiprocess database management system with a high-speed shared electronic store
US5634096A (en) * 1994-10-31 1997-05-27 International Business Machines Corporation Using virtual disks for disk system checkpointing
US5797005A (en) * 1994-12-30 1998-08-18 International Business Machines Corporation Shared queue structure for data integrity
US5577261A (en) * 1995-01-23 1996-11-19 Tandem Computers Incorporated Ordered and reliable maintenance of inter-process relationships in a distributed multiprocessor
US5630140A (en) * 1995-01-23 1997-05-13 Tandem Computers Incorporated Ordered and reliable signal delivery in a distributed multiprocessor
US6029160A (en) * 1995-05-24 2000-02-22 International Business Machines Corporation Method and means for linking a database system with a system for filing data
US6453325B1 (en) 1995-05-24 2002-09-17 International Business Machines Corporation Method and means for backup and restoration of a database system linked to a system for filing data
US5765200A (en) * 1995-06-07 1998-06-09 International Business Machines Corporation Logical positioning within a storage device by a storage controller
JPH09171441A (ja) * 1995-12-20 1997-06-30 Hitachi Ltd 二重化記憶装置の記憶一致方法および装置
US5848241A (en) * 1996-01-11 1998-12-08 Openframe Corporation Ltd. Resource sharing facility functions as a controller for secondary storage device and is accessible to all computers via inter system links
US5761734A (en) * 1996-08-13 1998-06-02 International Business Machines Corporation Token-based serialisation of instructions in a multiprocessor system
US5887135A (en) * 1996-08-15 1999-03-23 International Business Machines Corporation System and method for management of object transitions in an external storage facility accessed by one or more processors
US6216168B1 (en) * 1997-03-17 2001-04-10 Cabletron Systems, Inc. Perspective-based shared scope address resolution method and apparatus
US5933849A (en) * 1997-04-10 1999-08-03 At&T Corp Scalable distributed caching system and method
US6092166A (en) * 1997-04-30 2000-07-18 International Business Machines Corporation Cross-system data piping method using an external shared memory
US6061771A (en) * 1997-04-30 2000-05-09 International Business Machines Corporation Cross-system data piping system using an external shared memory
US6170045B1 (en) 1997-04-30 2001-01-02 International Business Machines Corporation Cross-system data piping using an external shared memory
JPH1165863A (ja) * 1997-08-26 1999-03-09 Hitachi Ltd 共有資源管理方法
US6389482B1 (en) 1997-08-28 2002-05-14 International Business Machines Corp. Dynamic transitioning from a local pipe to a cross-system pipe
US5941972A (en) 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6185699B1 (en) 1998-01-05 2001-02-06 International Business Machines Corporation Method and apparatus providing system availability during DBMS restart recovery
US6237000B1 (en) 1998-05-01 2001-05-22 International Business Machines Corporation Method and apparatus for previewing the results of a data structure allocation
US6178421B1 (en) 1998-06-05 2001-01-23 International Business Machines Corporation Method of performing parallel cleanup of segments of a lock structure
US6233644B1 (en) 1998-06-05 2001-05-15 International Business Machines Corporation System of performing parallel cleanup of segments of a lock structure located within a coupling facility
US6185562B1 (en) 1998-06-05 2001-02-06 International Business Machines Corporation Performing parallel cleanup of segments of a lock structure
US7013305B2 (en) 2001-10-01 2006-03-14 International Business Machines Corporation Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange
US6442613B1 (en) 1998-09-10 2002-08-27 International Business Machines Corporation Controlling the flow of information between senders and receivers across links being used as channels
US6681254B1 (en) 1998-09-10 2004-01-20 International Business Machines Corporation Method of controlling the flow of information between senders and receivers across links being used as channels
US6401216B1 (en) 1998-10-29 2002-06-04 International Business Machines Corporation System of performing checkpoint/restart of a parallel program
US6393583B1 (en) 1998-10-29 2002-05-21 International Business Machines Corporation Method of performing checkpoint/restart of a parallel program
US6338147B1 (en) 1998-10-29 2002-01-08 International Business Machines Corporation Program products for performing checkpoint/restart of a parallel program
US6675175B2 (en) * 1999-02-19 2004-01-06 International Business Machines Corporation Method and system for sharing catalogs in a multiprocessing system utilizing a shared processor
US6230243B1 (en) 1999-02-19 2001-05-08 International Business Machines Corporation Method, system and program products for managing changed data of castout classes
US6539495B1 (en) 1999-02-22 2003-03-25 International Business Machines Corporation Method, system and program products for providing user-managed duplexing of coupling facility cache structures
US6438654B1 (en) 1999-02-22 2002-08-20 International Business Machines Corporation Castout processing for duplexed cache structures
US6438609B1 (en) 1999-03-04 2002-08-20 International Business Machines Corporation Method of pacing the frequency at which systems of a multisystem environment compress log streams
US6275826B1 (en) 1999-03-04 2001-08-14 International Business Machines Corporation Program products for pacing the frequency at which systems of a multisystem environment compress log streams
US6567818B1 (en) 1999-06-14 2003-05-20 International Business Machines Corporation Employing management policies to manage instances of objects
US20040019898A1 (en) * 1999-06-14 2004-01-29 International Business Machines Corporation Accessing local objects using local access proxies
US6418447B1 (en) 1999-06-14 2002-07-09 International Business Machines Corporation Registration of object factories under multiple interface names
US6553384B1 (en) 1999-06-14 2003-04-22 International Business Machines Corporation Transactional name service
US6505210B1 (en) 1999-06-14 2003-01-07 International Business Machines Corporation Federation of naming contexts across multiple and/or diverse underlying directory technologies
US6442564B1 (en) 1999-06-14 2002-08-27 International Business Machines Corporation Facilitating workload management by using a location forwarding capability
US6594671B1 (en) 1999-06-14 2003-07-15 International Business Machines Corporation Separating privileged functions from non-privileged functions in a server instance
US6560609B1 (en) 1999-06-14 2003-05-06 International Business Machines Corporation Delegating instance management functions to underlying resource managers
US20030177182A1 (en) * 1999-06-14 2003-09-18 International Business Machines Corporation Ensuring a given transactional unit of work arrives at an appropriate server instance
US6775789B2 (en) 1999-06-21 2004-08-10 International Business Machines Corporation Method, system and program products for generating sequence values that are unique across operating system images
US6490689B1 (en) 1999-06-21 2002-12-03 International Business Machines Corporation Managing instruction execution in order to accommodate a physical clock value in a clock representation
US6542970B1 (en) 1999-08-23 2003-04-01 International Business Machines Corporation Method, system and program products for copying coupling facility list structures
US6546466B1 (en) 1999-08-23 2003-04-08 International Business Machines Corporation Method, system and program products for copying coupling facility cache structures
US6546414B1 (en) 1999-08-23 2003-04-08 International Business Machines Corporation Method, system and program products for copying coupling facility lock structures
US6609214B1 (en) 1999-08-23 2003-08-19 International Business Machines Corporation Method, system and program products for copying coupling facility structures
US6317744B1 (en) 1999-08-23 2001-11-13 International Business Machines Corporation Method, system and program products for browsing fully-associative collections of items
US6266783B1 (en) 1999-08-23 2001-07-24 International Business Machines Corporation System-managed rebuild of coupling facility structures
US6594667B2 (en) 1999-08-23 2003-07-15 International Business Machines Corporation Method, system and program products for modifying coupling facility structures
US6584554B1 (en) 1999-08-23 2003-06-24 International Business Machines Corporation Directed allocation of coupling facility structures
US6651125B2 (en) 1999-09-28 2003-11-18 International Business Machines Corporation Processing channel subsystem pending I/O work queues based on priorities
US7051188B1 (en) 1999-09-28 2006-05-23 International Business Machines Corporation Dynamically redistributing shareable resources of a computing environment to manage the workload of that environment
US6986137B1 (en) 1999-09-28 2006-01-10 International Business Machines Corporation Method, system and program products for managing logical processors of a computing environment
US6587938B1 (en) 1999-09-28 2003-07-01 International Business Machines Corporation Method, system and program products for managing central processing unit resources of a computing environment
US7568052B1 (en) 1999-09-28 2009-07-28 International Business Machines Corporation Method, system and program products for managing I/O configurations of a computing environment
US7007276B1 (en) 1999-09-28 2006-02-28 International Business Machines Corporation Method, system and program products for managing groups of partitions of a computing environment
US6519660B1 (en) 1999-09-28 2003-02-11 International Business Machines Corporation Method, system and program products for determining I/O configuration entropy
KR100605893B1 (ko) * 1999-10-08 2006-08-01 삼성전자주식회사 시간지연 시청을 위한 비디오 스트림 처리방법
US6397216B1 (en) * 1999-12-09 2002-05-28 Amdahl Corporation Ordering keys in a table using an ordering mask
US6473819B1 (en) * 1999-12-17 2002-10-29 International Business Machines Corporation Scalable interruptible queue locks for shared-memory multiprocessor
US6490595B1 (en) 2000-03-30 2002-12-03 International Business Machines Corporation Method, system and program products for providing efficient syncpoint processing of distributed transactions
US6862595B1 (en) 2000-10-02 2005-03-01 International Business Machines Corporation Method and apparatus for implementing a shared message queue using a list structure
US6963882B1 (en) 2000-10-02 2005-11-08 International Business Machines Corporation Method and apparatus for processing a list structure
US6772137B1 (en) * 2001-06-20 2004-08-03 Microstrategy, Inc. Centralized maintenance and management of objects in a reporting system
GB0118294D0 (en) * 2001-07-27 2001-09-19 Ibm Method and system for deadlock detection and avoidance
US7155537B1 (en) * 2001-09-27 2006-12-26 Lsi Logic Corporation Infiniband isolation bridge merged with architecture of an infiniband translation bridge
US6944787B2 (en) * 2001-10-01 2005-09-13 International Business Machines Corporation System-managed duplexing of coupling facility structures
US6910158B2 (en) * 2001-10-01 2005-06-21 International Business Machines Corporation Test tool and methods for facilitating testing of duplexed computer functions
US7099935B2 (en) * 2001-10-01 2006-08-29 International Business Machines Corporation Dynamically determining whether to process requests synchronously or asynchronously
US6859866B2 (en) * 2001-10-01 2005-02-22 International Business Machines Corporation Synchronizing processing of commands invoked against duplexed coupling facility structures
US6813726B2 (en) 2001-10-01 2004-11-02 International Business Machines Corporation Restarting a coupling facility command using a token from another coupling facility command
US6954817B2 (en) * 2001-10-01 2005-10-11 International Business Machines Corporation Providing at least one peer connection between a plurality of coupling facilities to couple the plurality of coupling facilities
US7099814B2 (en) * 2002-03-29 2006-08-29 International Business Machines Corportion I/O velocity projection for bridge attached channel
GB0207967D0 (en) * 2002-04-08 2002-05-15 Ibm Data processing arrangement and method
GB0207969D0 (en) 2002-04-08 2002-05-15 Ibm Data processing arrangement and method
US7120746B2 (en) * 2002-09-09 2006-10-10 International Business Machines Corporation Technique for data transfer
US7337444B2 (en) * 2003-01-09 2008-02-26 International Business Machines Corporation Method and apparatus for thread-safe handlers for checkpoints and restarts
US7493513B2 (en) * 2003-04-29 2009-02-17 International Business Machines Corporation Automatically freezing functionality of a computing entity responsive to an error
US7130938B2 (en) * 2003-05-12 2006-10-31 International Business Machines Corporation Method, system and program products for identifying communications adapters of a computing environment
US7000036B2 (en) 2003-05-12 2006-02-14 International Business Machines Corporation Extended input/output measurement facilities
US7177961B2 (en) * 2003-05-12 2007-02-13 International Business Machines Corporation Managing access, by operating system images of a computing environment, of input/output resources of the computing environment
US7127599B2 (en) * 2003-05-12 2006-10-24 International Business Machines Corporation Managing configurations of input/output system images of an input/output subsystem, wherein a configuration is modified without restarting the input/output subsystem to effect a modification
US6996638B2 (en) * 2003-05-12 2006-02-07 International Business Machines Corporation Method, system and program products for enhancing input/output processing for operating system images of a computing environment
US7290070B2 (en) * 2003-05-12 2007-10-30 International Business Machines Corporation Multiple logical input/output subsystem facility
US7058837B2 (en) * 2003-05-12 2006-06-06 International Business Machines Corporation Method and system for providing a message-time-ordering facility
US7174550B2 (en) * 2003-05-12 2007-02-06 International Business Machines Corporation Sharing communications adapters across a plurality of input/output subsystem images
US7826386B2 (en) * 2003-12-08 2010-11-02 International Business Machines Corporation Facilitating the configuring of communications environments
US7277968B2 (en) 2004-01-23 2007-10-02 International Business Machines Corporation Managing sets of input/output communications subadapters of an input/output subsystem
US7650360B2 (en) * 2004-04-16 2010-01-19 Microsoft Corporation System and methods for database lock with reference counting
US20060026601A1 (en) * 2004-07-29 2006-02-02 Solt David G Jr Executing commands on a plurality of processes
US7500023B2 (en) * 2006-10-10 2009-03-03 International Business Machines Corporation Facilitating input/output processing by using transport control words to reduce input/output communications
KR100862661B1 (ko) * 2006-11-16 2008-10-10 삼성전자주식회사 지연된 로깅 방법 및 그 장치
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US8117347B2 (en) 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US7937507B2 (en) * 2008-02-14 2011-05-03 International Business Machines Corporation Extended measurement word determination at a channel subsystem of an I/O processing system
US7890668B2 (en) 2008-02-14 2011-02-15 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US8001298B2 (en) * 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in an I/O processing system
US9176963B2 (en) * 2008-10-30 2015-11-03 Hewlett-Packard Development Company, L.P. Managing counters in a distributed file system
US8874627B2 (en) * 2008-10-30 2014-10-28 Hewlett-Packard Development Company, L.P. Enumerating metadata in file system directories
US8312242B2 (en) * 2008-10-30 2012-11-13 Hewlett-Packard Development Company, L.P. Tracking memory space in a storage system
US8560524B2 (en) * 2008-10-30 2013-10-15 Hewlett-Packard Development Company, L.P. Allocating priorities to prevent deadlocks in a storage system
US8315992B1 (en) * 2008-11-26 2012-11-20 Symantec Corporation Affinity based allocation for storage implementations employing deduplicated data stores
US8332542B2 (en) * 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
US8364853B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8738811B2 (en) 2011-06-01 2014-05-27 International Business Machines Corporation Fibre channel input/output data routing system and method
US9021155B2 (en) 2011-06-01 2015-04-28 International Business Machines Corporation Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US8677027B2 (en) 2011-06-01 2014-03-18 International Business Machines Corporation Fibre channel input/output data routing system and method
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364854B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8689240B2 (en) 2011-06-10 2014-04-01 International Business Machines Corporation Transmitting operator message commands to a coupling facility
US9037907B2 (en) 2011-06-10 2015-05-19 International Business Machines Corporation Operator message commands for testing a coupling facility
US8560737B2 (en) 2011-06-10 2013-10-15 International Business Machines Corporation Managing operator message buffers in a coupling facility
US8918797B2 (en) 2011-06-10 2014-12-23 International Business Machines Corporation Processing operator message commands
US8799522B2 (en) 2011-06-10 2014-08-05 International Business Machines Corporation Executing a start operator message command
US8346978B1 (en) 2011-06-30 2013-01-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8312176B1 (en) 2011-06-30 2012-11-13 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8473641B2 (en) 2011-06-30 2013-06-25 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8549185B2 (en) 2011-06-30 2013-10-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8838888B2 (en) 2012-03-19 2014-09-16 International Business Machines Corporation Conditional write processing for a cache structure of a coupling facility
US8918542B2 (en) 2013-03-15 2014-12-23 International Business Machines Corporation Facilitating transport mode data transfer between a channel subsystem and input/output devices
US8990439B2 (en) 2013-05-29 2015-03-24 International Business Machines Corporation Transport mode data transfer between a channel subsystem and input/output devices
US10394620B2 (en) * 2016-11-21 2019-08-27 International Business Machines Corporation Method for changing allocation of data using synchronization token
WO2020157594A1 (en) 2019-01-31 2020-08-06 International Business Machines Corporation Handling an input/output store instruction
SG11202104428PA (en) 2019-01-31 2021-05-28 Ibm Handling an input/output store instruction
TWI773959B (zh) 2019-01-31 2022-08-11 美商萬國商業機器公司 用於處理輸入輸出儲存指令之資料處理系統、方法及電腦程式產品

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01251267A (ja) * 1988-03-31 1989-10-06 Toshiba Corp データ転送システム
JPH02189670A (ja) * 1988-12-19 1990-07-25 Internatl Business Mach Corp <Ibm> コンピュータ・システムのインターロック方法
JPH02242364A (ja) * 1989-02-03 1990-09-26 Digital Equip Corp <Dec> マルチプロセッサシステムにおいてシステム制御ユニットを用いて通信要求を仲裁するための方法及び手段
JPH02287666A (ja) * 1989-04-27 1990-11-27 Toshiba Corp インタロック付命令受付制御回路
JPH0374760A (ja) * 1989-05-17 1991-03-29 Internatl Business Mach Corp <Ibm> データ処理システム
JPH03161859A (ja) * 1989-11-13 1991-07-11 Internatl Business Mach Corp <Ibm> リクエスト管理方法及びアクセス制御システム
JPH03182939A (ja) * 1989-08-01 1991-08-08 Digital Equip Corp <Dec> ソフトウェアのエラー処理の方法
JPH03220661A (ja) * 1990-01-26 1991-09-27 Nec Ibaraki Ltd 処理装置間の通信方式
JPH03278259A (ja) * 1990-03-28 1991-12-09 Nec Corp 異ホストアプリケーションプログラム間メッセージ交換のための通信システム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4543627A (en) * 1981-12-14 1985-09-24 At&T Bell Laboratories Internal communication arrangement for a multiprocessor system
US4777595A (en) * 1982-05-07 1988-10-11 Digital Equipment Corporation Apparatus for transferring blocks of information from one node to a second node in a computer network
JPS6054052A (ja) * 1983-09-02 1985-03-28 Nec Corp 処理継続方式
AT382253B (de) * 1984-06-22 1987-02-10 Austria Mikrosysteme Int Lose gekoppeltes verteiltes computersystem
US4718002A (en) * 1985-06-05 1988-01-05 Tandem Computers Incorporated Method for multiprocessor communications
US5142683A (en) * 1987-03-09 1992-08-25 Unisys Corporation Intercomputer communication control apparatus and method
US5084816A (en) * 1987-11-25 1992-01-28 Bell Communications Research, Inc. Real time fault tolerant transaction processing system
US4965719A (en) * 1988-02-16 1990-10-23 International Business Machines Corporation Method for lock management, page coherency, and asynchronous writing of changed pages to shared external store in a distributed computing system
US5056000A (en) * 1988-06-21 1991-10-08 International Parallel Machines, Inc. Synchronized parallel processing with shared memory
US5163131A (en) * 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
DE69024753T2 (de) * 1989-10-31 1996-05-30 Hewlett Packard Co Tragbarer, Ressourcen teilender Datei-Server, der gemeinsame Routines benutzt
US5214768A (en) * 1989-11-01 1993-05-25 E-Systems, Inc. Mass data storage library
JPH05508046A (ja) * 1990-06-11 1993-11-11 クレイ、リサーチ、インコーポレーテッド 多重プロセッサシステムのための高速割込み機構

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01251267A (ja) * 1988-03-31 1989-10-06 Toshiba Corp データ転送システム
JPH02189670A (ja) * 1988-12-19 1990-07-25 Internatl Business Mach Corp <Ibm> コンピュータ・システムのインターロック方法
JPH02242364A (ja) * 1989-02-03 1990-09-26 Digital Equip Corp <Dec> マルチプロセッサシステムにおいてシステム制御ユニットを用いて通信要求を仲裁するための方法及び手段
JPH02287666A (ja) * 1989-04-27 1990-11-27 Toshiba Corp インタロック付命令受付制御回路
JPH0374760A (ja) * 1989-05-17 1991-03-29 Internatl Business Mach Corp <Ibm> データ処理システム
JPH03182939A (ja) * 1989-08-01 1991-08-08 Digital Equip Corp <Dec> ソフトウェアのエラー処理の方法
JPH03161859A (ja) * 1989-11-13 1991-07-11 Internatl Business Mach Corp <Ibm> リクエスト管理方法及びアクセス制御システム
JPH03220661A (ja) * 1990-01-26 1991-09-27 Nec Ibaraki Ltd 処理装置間の通信方式
JPH03278259A (ja) * 1990-03-28 1991-12-09 Nec Corp 異ホストアプリケーションプログラム間メッセージ交換のための通信システム

Also Published As

Publication number Publication date
EP0563620A2 (en) 1993-10-06
US5317739A (en) 1994-05-31
EP0563620A3 (en) 1996-02-28
JP2656708B2 (ja) 1997-09-24

Similar Documents

Publication Publication Date Title
JP2656708B2 (ja) 結合式データ処理システム用の方法および装置
JP2549237B2 (ja) データ処理システム
EP0563623B1 (en) Communicating messages between processors and a coupling facility
US5860115A (en) Requesting a dump of information stored within a coupling facility, in which the dump includes serviceability information from an operating system that lost communication with the coupling facility
US6963882B1 (en) Method and apparatus for processing a list structure
US5465359A (en) Method and system for managing data and users of data in a data processing system
JP2572518B2 (ja) 共用データの状態情報をローカル複合体で維持するのに使用されるデータ・オブジェクトの管理
EP0563624B1 (en) Method and apparatus for performing conditional operations on externally shared data
US5410695A (en) Apparatus and method for list management in a coupled data processing system
US5604863A (en) Method for coordinating executing programs in a data processing system
US5737600A (en) Method and system for log management in a coupled data processing system
US5634072A (en) Method of managing resources in one or more coupling facilities coupled to one or more operating systems in one or more central programming complexes using a policy
JP2532194B2 (ja) プロセッサと結合機能間に対するメッセ―ジ経路指定機能を有するデ―タ処理システム
US5442763A (en) System and method for preventing deadlock in multiprocessor multiple resource instructions
US9798595B2 (en) Transparent user mode scheduling on traditional threading systems
US5394542A (en) Clearing data objects used to maintain state information for shared data at a local complex when at least one message path to the local complex cannot be recovered
US6862595B1 (en) Method and apparatus for implementing a shared message queue using a list structure
US5416921A (en) Apparatus and accompanying method for use in a sysplex environment for performing escalated isolation of a sysplex component in the event of a failure
US6438654B1 (en) Castout processing for duplexed cache structures
JPH02163835A (ja) 待ち行列又はスタックから要素を除去する方法
US5450590A (en) Authorization method for conditional command execution
US6539495B1 (en) Method, system and program products for providing user-managed duplexing of coupling facility cache structures
JP3437938B2 (ja) データ構造割当ての結果をプレビューする方法及び装置

Legal Events

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