JPH031697B2 - - Google Patents

Info

Publication number
JPH031697B2
JPH031697B2 JP61193003A JP19300386A JPH031697B2 JP H031697 B2 JPH031697 B2 JP H031697B2 JP 61193003 A JP61193003 A JP 61193003A JP 19300386 A JP19300386 A JP 19300386A JP H031697 B2 JPH031697 B2 JP H031697B2
Authority
JP
Japan
Prior art keywords
work
node
queue
storage
block
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.)
Expired - Lifetime
Application number
JP61193003A
Other languages
English (en)
Other versions
JPS6272051A (ja
Inventor
Jenkinsu Kamacho Baabara
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 JPS6272051A publication Critical patent/JPS6272051A/ja
Publication of JPH031697B2 publication Critical patent/JPH031697B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake

Landscapes

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

Description

【発明の詳細な説明】
以下の順序で本発明を説明する。 A 産業上の利用分野 B 従来の技術 C 発明が解決しようとする問題点 D 問題点を解釈するための手段 E 実施例 E1 相互接続された階層記憶管理プログラム
IHSM(第1A図) E2 IHSMの理論配列 E3 作業の流れ E4 記憶空間もしくは定義域(第1B図) E5 集中的要求へのサービス E6 待ち行列データ・セツトQDS(第2A,B
図) E7 管理作業要素MWE E8 交互介在非同期待ち行列 E9 管理作業要素の待ち行列化 E10 初期設定処理(第3,4,5図) E10−1 作業ノード−初期設定(第6,7
図) E10−2 記憶ノード−初期設定(第8,9
図) E11 作業ノード−管理作業要素検索(第1
0,11図) E12 作業ノード−管理作業要素完成(第1
2,13図) E13 記憶ノード−予定作業の検索(第14,
15図) E14 記憶ノード−管理作業要素の完成(第1
6,17図) F 発明の効果 A 産業上の利用分野 本発明はデータ処理環境におけるデータ記憶空
間の機械管理に関する。 B 従来技術 この分野の参考文献として次のものがある。 (1) 特開昭60−147855号公報 (2) IBM刊行物:GH35−0007−6「OS/VS2多
重仮想記憶装置階層記憶管理プログラム:一般
情報」(“OS/VS2 MVSHierarchical
Storage Manager:General Information”)
プログラム番号5740−XRB、1980 (3) IBM刊行物:SH−0023−1「OS/VS2多重
仮想記憶装置階層記憶管理プログラム・システ
ムのプログラマの参考及び作業案内」(“OS/
VS2 MVS Hierarchical Storage Manager
System Programmer's Reference and
Operations Guide”)プログラム番号5740−
XRB、1978 (4) IBM刊行物:SH−0024−1「OS/VS2多重
仮想記憶装置階層記憶プログラム:ユーザ案
内」(“OS/VS2 MVSHierarchical Storage
Manager:User's Guide”)1978 さて、複雑なデータ処理設備ではホスト・プロ
セツサは一般に比較的多数の周辺データ記憶装置
を有し、ホスト・プロセツサの動作に関連して使
用するデータを記憶している。データ記憶装置の
使用効率を増大するために、種々レベルの優先順
位がこれらの周辺記憶装置に割振られている。一
群の高パフオーマンス・データ記憶装置は1次メ
モリと呼ばれ、ホスト・プロセツサによつて、計
算機のユーザ及びオペレーテイング・システムが
最もしばしばアクセスするデータを記憶するのに
使用されている。この様な1次メモリは高パフオ
ーマンスで高価である。データ記憶装置の第2の
群は2次メモリと呼ばれ、低い優先順位のデータ
を、この様なデータが1次メモリに昇格される
か、より低いメモリ階層のレベルにマイグレート
(移送)する迄保持している。 マイグレートという用語は相対的に高速アクセ
ス高コスト周辺データ記憶装置から低速アクセス
低コスト周辺データ記憶装置へのデータの移動を
意味する。マイグレートされるデータは使用頻度
が低く、従つて1バイト当りの記憶コストが低
い、低パフオーマンス・データ記憶装置にデモー
ト(降格)されるデータである。逆の動作「リコ
ール」では、ホスト・プロセツサによつて処理さ
れるためにデータはアクセスされた時に高パフオ
ーマンスの高コスト装置に移動される。そのよう
なリコールはまた、「データ・プロモーシヨン」
としても知られている。マイグレート及びリコー
ルは遂行されるタスクに関連してデータ記憶空間
の利用を最適化するためにホスト計算機システム
によつて遂行される2つの機能である。この様な
最適化は記憶したデータを組織化するために周辺
データ記憶装置の管理を必要とする。 データはマイグレートされる時、再フオーマツ
ト化され、圧縮されてマイグレーシヨン・データ
記憶装置の空間に保持される。このマイグレーシ
ヨンは又マイグレートされたデータ・セツトの断
片化を解消する。データがリコールされる時、デ
ータはその非圧縮形に復元される。 「バツクアツプ」及び「復元」はデータ処理装
置で遂行される2つの追加的な機能である。1つ
の記憶媒体中に存在するデータはシステムの故障
もしくはユーザによる論理的誤りの場合の支援と
して第2の、より安価な記憶媒体にしばしばコピ
ーされる。代表的には、この様なバツクアツプ媒
体は安全な場所に保管される磁気テープである。
システムのデータ記憶装置上に記憶したデータを
破壊するシステムの故障もしくはユーザによる論
理誤りが生じた場合は、バツクアツプ・テープを
「復元」処理中に記憶装置に再ロードする。バツ
クアツプ動作のためには他の媒体も適宜使用され
る。 大きなデータ処理装置では一般に「アクセス方
法」として知られた形のシステム・ソフトウエア
を使用して、ホスト・プロセツサによつて実行さ
れるタスクによる周辺データ記憶装置へのアクサ
スを制御している。代表的な場合(IBMによる
仮想順次アクセス管理プログラム−Virtual
Sequential Access Manager by IBM
Corporation−VSAM)の場合には「ユーザ
(User)」として知られた各タスクは周辺データ
記憶装置に記憶するために或る領域が割振られ
る。この様な記憶領域の割振りと割振り解消の副
作用が断片化である。データの断片化は「アクセ
ス方法」によつて記憶空間が多数回にわたつて順
次割振られ、割振りが解消された結果として、デ
ータの多くの小さな断片が記憶装置上に分散した
時に生ずる。 データ・セツトの断片化が生じた時、データは
記憶されるが、多数の未使用の記憶空間が残り、
その多くは比較的小さい。この結果、データ・セ
ツトへのアクセスが非効率的になり、ホスト・プ
ロセツサのデータ記憶のための周辺記憶ロケーシ
ヨンの割振り力が減少する。それは利用可能な空
間が小さすぎてデータが記憶出来ないからであ
る。従つて、断片化は利用可能な空間を減少する
ので周辺データ記憶空間の効率を減少し、記憶し
たデータへのアクセス時間を増大する。データ・
セツトの断片化はアクセス時間を増大し、所与の
データ記憶装置上の空間の使用が非効率的になる
だけでなく、装置が磁気デイスクである場合に
は、「ヘツド・スラツシング」(読取り/書込みヘ
ツドの速い振動)を生ずる。 従つて任意の周辺データ記憶装置の管理の重要
な機能の中には装置に記憶したデータ・セツトの
断片化したものを定期的に解消して、データ・セ
ツトの多くの小領域を連続した比較的大きな記憶
領域に結合して、全体のシステムの効率を改善す
る事が含まれる。 前述の文献中に説明があるプログラム「階層記
憶管理プログラム(Hierarchical Storage
Manager(HSM))」がホスト・プロセツサの上
述の機能を遂行する。HSMはデータ処理設備の
オペレータが指示した階層に従つて種々の周辺デ
ータ記憶装置を管理するため、ホスト・プロセツ
サで連続的に実行するプログラムである。例えば
HSMは種々の直接アクセス記憶装置、IBM3850
大容量記憶装置の様な大要量記憶装置及び磁気テ
ープ・データ記録機中のデータ記憶空間を管理す
る。 HSMには、種々のレベルの周辺データ記憶空
間が与えられている。1次記憶装置と呼ばれる1
組のデータ記憶装置はホスト・プロセツサで実行
する種々のアプリケーシヨン・プログラムが必要
なデータをアクセスするデータ記憶空間である。
HSMプログラムは移送と昇格によつて1次デー
タ記憶空間の使用を最適化する。HSMでは、い
くつかの制御データ・セツトがホスト・プロセツ
サによつて使用される。多重プロセツサ設備で
は、この様な制御データ・セツトは種々の周辺デ
ータ記憶装置の管理のため、及び種々の周辺デー
タ記憶装置に関するホスト・プロセツサの動作を
調整するための制御機能を直列化する。 HSMプログラム中の複数の「ユーザ出口」は
HSMによるホスト計算機の動作を容易にし、そ
の機能を有効に管理する。さらに、これ等のユー
ザ出口はHSM内のロケーシヨンであり、これら
のロケーシヨンから外部システム・ソフトウエア
がアクセス出来る。さらに一群のデータ記憶装置
がHSMの制御の外部に存在し、従つてこれらの
記憶装置はHSMでは自動的に管理もしくは制御
されない。この様なデータ記憶装置はVSAMの
様な従来のアクセス技術によつてアクセスされ続
け、HSMの自動的動作によつては影響を受けな
い。しかしながらオペレータの制御の下では、
HSMはこれ等の装置を介して有効な制御を与え
れられ、他の周辺データ記憶装置と同様にユー
ザ・データの記憶を管理出来る。 HSMは同様に多重プロセツサ複合システムの
周辺データ記憶装置を制御する能力をもち、多重
ホスト環境のホスト・プロセツサの1つもしくは
2以上と同時に及び独立してデータ記憶ボリユー
ムの管理プログラムを実行出来る。このHSM環
境の下で、実行される管理機能の調整のために、
共通のデータ・セツトがホスト・プロセツサによ
り共有されていた。しかしながら、これらの制御
機能はHSMの標準の単一プロセツサの実行に追
加されたものであつた。 複数の周辺データ記憶装置を同時に重なり合つ
てアクセス出来る数台のホスト・プロセツサの動
作を調整するためにHSMが生成し保持する共通
のデータ・セツトは「制御データ・セツト」であ
つた。制御データ・セツトは多重プロセツサ複合
システムのすべてのホスト・プロセツサによつて
共通にアクセス可能な周辺データ記憶装置に存在
していた。そして、データ記憶ボリユームを求め
てホスト・プロセツサ間に競合がある時は、この
競合はロツク・アウトされたホスト・プロセツサ
に別のボリウムを選択させる事によつて解決され
る。或るホスト・プロセツサのリコール・タスク
が、現在他のホスト・プロセツサの他のマイグレ
ーシヨン・タスクが使用しているマイグレーシヨ
ン・ポリユームを必要とする時は、そのリコール
を求めているホスト・プロセツサは他のホスト・
プロセツサに対してそのボリユームを求めてリコ
ール・タスクが待つている事を通知する。する
と、このボリユームに対してアクセス権を持つて
いたホスト・プロセツサのマイグレーシヨン・タ
スクは、リコール・タスクにこのボリユームを解
放し、他のターゲツトのマイグレーシヨン・ボリ
ユームを選択してマイグレーシヨン動作を続け
る。多重プロセツサ環境ではHSMの多くのコピ
ーが複合システム中のプロセツサの各々で同時に
非同期的に実行されている。この制御過程には本
来的な(inherent)調整はなく、制御される周辺
データ記憶装置の本来的な一致はない。従つて、
HSMプログラムの実行コピーの各々を並列的に
設置によつてしか、定義域をオーバラツプさせる
事ができない。 この様な並列処理システムがHSMの多重同時
実行の際の競合を避ける事を保証するために、複
合システム内のHSMのすべてのコピーはすべて
のプロセツサに共通なアクセス可能な制御デー
タ・セツトを使用する様に指示されていた。デー
タ・セツトのレベルで、このデータ・セツトはい
くつかのHSMプログラムの任意の1つによる更
新アクセス中にロツクされ、従つて多重プロセツ
サ複合システムで実行されるHSMのすべてのコ
ピーの間に調整的リンクが形成された。 従つて共通の制御データ・セツトを使用する結
果としてすべてのHSMの処理は動作を行うため
にデータ・セツトの制御が終るのを待つ必要があ
る。なぜなら、多重プロセツサ複合システム中で
実行中のHSMのコピーの任意の1つによる更新
アクセス中に、すべての他のコピーはそのデー
タ・セツトへのアクセスを待機しなければならな
いからである。この制御データ・セツトへのアク
セスの直列化は多重マルチプレクサ環境中の
HSMの動作に遅延を生ずるが、従来はシステム
内の個別のHSMプログラムの活動を調整する必
要があつたために、このことは不可避であつた。
さらにHSM下の多重プロセツサの動作は、常時
全マルチプレクサ複合システムにとつて真に大域
的な周辺データ記憶装置を有していなかつた。1
つのホスト・プロセツサに独占的に利用可能なボ
リユーム上のデータは、そのデータを他のボリユ
ームに移動させる事によらないでは他のホスト・
プロセツサによつて利用可能とはならなかつた。
或る場合には、この方法は非効率的であつた。 従来技術において複数のホスト・プロセツサで
実行される多重非同期処理を制御及び調整するた
めの尽力がなされている。通常、この様な尽力は
種々の処理間の優先順位を有する或る種の実行順
序指定、もしくはデータ記憶装置にアクセスを求
める複数の処理の動作間の衝突の検出もしくは回
避に関与している。 米国特許第4118771号は工作機械の制御のため
の数値制御システムを開示している。この特許で
は2つのプロセツサが同時に非同期的に動作して
共に機械の或る部品を位置決めし、工具の作業を
制御している。これ等の活動は案内され、それら
のプロセツサは共通の信号バスを介して相互接続
されている。2つのプロセツサは共通のランダ
ム・アクセス・メモリだけでなく、キーボード、
表示装置及びテープ駆動装置の様な周辺装置を共
有している。 米国特許第4413318号は多重プロセス機械の処
理を一義的に固定するノードを使用する技術を開
示している。この特許の多重プロセツサ環境で
は、任意のプロセツサはタスクを全システムのノ
ードもしくはサブノードに割当て、他のプロセツ
サとデータ・バスを介して通信している。この特
許のステムでは各プロセツサ(1次ノード)は1
つもしくは複数のサブノードドを有し、サブノー
ドの各々は1つのもしくは複数個の処理(タス
ク)を含む。ノードはすべての1次ノードによつ
てアクセス可能なシステム・メモリの記憶されて
いるノード・アドレス表を参照してアドレスされ
る。ノード・アドレス表はサブノード内の各処理
のための複数の処理アドレス表より成り、その関
連処理へのアクセスを制御するロツク制御ブロツ
クと結合されている。 米国特許第4445197号は「送信権要求解決」
(bid resolution)による複数の同時的非同期的
競合の解決方法を開示している。このシステムで
は、計算システム中の特定の共有リソースにアク
セスする必要のある処理は送信権要求と似た信号
を共通の送信権要求解決回路に向けて発生してい
る。発生した処理は送信権要求解決回路を待つ。
この回路は送信権要求に肯定応答を与え所定のプ
ロセツサが所望のリソースにアクセス出来る様に
する。 最後に、多重プロセツサのデータ処理環境で
種々のシステムが補助的ジヨブ管理、データ管
理、並びにジヨブの流れの制御、タスクの発注及
びスプーリング等のタスク管理機能に使用されて
いる。これらのシステムの中にはHASP、
HASPII、JES2及びJES3があり、すべてIBMプ
ロセツサと共に働いて補助システム管理機能を果
している。 ここで、以下で使用される用語を説明しておこ
う。 自動バツクアツプ:HSMにおいて、1次ボリ
ウムもしくは移送ボリユームから、指定されたバ
ツクアツプ・サイクル中にバツクアツプ・ポリユ
ームへの適切なデータ・セツトを自動的にコピー
する処理。 自動マイグレーシヨン:HSMでシステムの決
定により1次ボリユームから移送レベル1ボリユ
ームへ、もしくは移送レベル1ボリユームから移
送レベル2ボリユームへ適格なデータ・セツトを
自動的に移動する処理。 ツクアツプ:HSMにおいて、1次ボリユーム、
レベル1ボリユームもしくは、HSMによつて管
理されないボリユームに存在するデータ・セツト
をバツクアツプ・ボリユームにコピーする処理。 バツクアツプ制御データセツト:一種の
VSAM(仮想記憶アクセス方式)において、デー
タ・セツトのバツクアツプ版、バツクアツプ・ボ
リユーム及びHSMのバツクアツプ機能の制御の
下にあるボリユームに関する情報を含むキイ順デ
ータ・セツト。 バツクアツプ・ボリユーム:データ・セツトの
バツクアツプ版が書込まれるHSMが所有するボ
リユーム。 DASD(直接アクセス記憶装置):アクセス時間
がデータの位置に依存しない効率的な記憶装置。 データ・セツト削除:HSMで、指定した日数
の間参照されなかつた期限切れのデータ・セツト
を削除する空間管理技術。 データ・セツト回収:HSMで指定した日数の
間参照されないデータ・セツトを削除するが、バ
ツクアツプ版は保持する空間管理技術。 レベル0ボリユーム:1次ボリユーム即ち
HSMによつて管理されないユーザ・ボリユーム。 レベル1ボリユーム::レベル0のボリユーム
から移送されるデータ・セツトを含む、HSMに
よつて管理されるボリユーム。 レベル2ボリユーム:レベル0もしくはレベル
1ボリユームからマイグレートされるデータ・セ
ツトを含む、HSMの制御下にあるボリユーム。 管理空間:記憶ノード及び1乃至複数のノード
に共通にアクセス可能であり、そこからHSMが
データ・セツトを移送し、バツクアツプし、そこ
へHSMがデータ・セツトを昇格(リコール)及
び復元させる一組のボリユーム上の記憶空間。 マイグレーシヨン(移行):1次ボリユームか
らマイグレーシヨンレベル1もしくはマイグレー
シヨン・レベル2ボリユームへ、移送レベル1ボ
リユームからマイグレーシヨン・レベル2ボリユ
ームへ、もしくはHSMによつて管理されていな
いボリユームから移送レベル1もしくは移送レベ
ル2ボリユームへカタログ式データ・セツトを移
動させる処理。 マイグレーシヨン制御セツト:統計レコード、
制御レコード、ユーザ・レコード、マイグレート
されたデータ・セツトのためのレコード及び
HSMのマイグレーシヨン制御の下にあるボリユ
ームのためのレコードを含むVSAMキー順デー
タ・セツト。 移送ボリユーム:マイグレートされたデータ・
セツトを含むHSM管理ボリユーム。 MSS:IBM社製の3850大容量記憶システム。 非HSM管理ボリユーム:ユーザが直接アクセ
スされるデータ・セツトを含む、HSMに対して
定義されていないボリユーム。 オフライン制御データ・セツト。HSMで、テ
ープ・バツクアツプ・ボリユームに関する情報を
含むVSAMキー順データ・セツト。 所有空間:HSMが移送データ・セツト及びバ
ツクアツプ版を割振る事が出来るが、ユーザ・ジ
ヨブは割振る事が出来ない一組のボリユーム上の
記憶空間。 1次ボリユーム:ユーザが直接アクセス可能で
あるデータ・セツトを含む、HSMによつて管理
されるボリユーム。 昇格(リコール):マイグレートされたデー
タ・セツトをレベル1もしくはレベル2からレベ
ル0ボリユームへ移動させる処理。 復元:HSMでバツクアツプ・ボリユームから
データ・セツトのバツクアツプ版を指定したボリ
ユームへもしくはバツクアツプ版を発生したボリ
ユームにコピーする指令処理。 記憶階層:データを記憶させるためのコスト記
憶出来るデータの量そしてデータをアクセスする
速度が異なる、HSMが管理する記憶装置。 用語については、さらにIBM社の刊行物:
GC20−1699−6−「データ処理、遠隔通信及びオ
フイス・システムのための用語集」1981年版
(“Vocabulary for Data Processing,
Telecommunications,and Office System”,
1981)を参照されたい。 C 発明が解決しようとする問題点 本発明の目的は、多重プロセツサ計算機システ
ムに関連する複数の大容量記憶ボリユームを管理
するシステム及び方法を提供することにある。 D 問題点を解決するための手段 本発明によれば、データ記憶ボリユームの共用
性が多重プロセツサ・システム中のプロセツサの
1つを記憶ノードとして指定し、残りのプロセツ
サを、作業ノードに指定する事によつて強化す
る。作業ノードがそのホスト・プロセツサ内で実
行している処理から発生したサービス要求を認識
し、記憶ノードがそのサービスを遂行する。 認識されたサービス要求は、作業ノードによつ
て共通にアクセス可能な記憶媒体に転送される。
記憶ノードは共通にアクセス可能な記憶媒体から
サービス要求を検索し、要求されたサービスを遂
行する。要求されたサービスが遂行されると、記
憶ノードは完成の通知を作業ノードに転送する。
従つて、作業ノード及び記憶ノード間のすべての
通信は共通にアクセス可能な記憶媒体を介して進
行する。 本発明に従えば、データ記憶空間は1)1次の
データ記憶ボリユームから2次のデータ記憶ボリ
ユームへのデータの降格即ちマイグレーシヨン、
2)この様な2次データ記憶ボリユームからの昇
格即ちリコール3)1次もしくは2次ボリユーム
からのデータのバツクアツプ及び4)バツクアツ
プ・ボリユームから1次及び2次記憶ボリユーム
へのデータ復元を含む自動的及び明示的指令によ
つて管理される。 E 実施例 図面において、同一番号は同一部品及び構造上
の特徴を示す。本発明は種々の型及び能力を有す
る比較的多数の周辺データ記憶装置を有する多重
ホスト・プロセツサ・データ処理環境で実施され
るものとして説明されるが、本発明は少数の周辺
データ記憶装置を有する単一のホスト・プロセツ
サ環境でも同じ様に実施出来る。本発明の説明は
部分的に上述の参考文献に基づく。これ等の文献
は本発明と共に使用する時に有利に働く多くのリ
コール・マイグレーシヨン及び他のデータ記憶管
理機能を与える現在のプログラムを説明してい
る。 E1 相互接続された階造記憶管理プログラム
IHSM 階層記憶管理プログラム(HSM)は上述の様
にホスト・プロセツサで連続して実行され、デー
タ処理システムのオペレータによつて、指定出来
る階層に従つて種々の周辺データ記憶装置を管理
する。HSMでは多重プロセツサ・システム中の
各プロセツサは移送されたデータ・セツト及びバ
ツクアツプ・データ・セツトを含む周辺データ記
憶装置にアクセスする。本発明に従う相互接続階
層記憶管理プログラム(IHSM)においては、第
1図に示したようなマイグレートされたデータ・
セツト及びバツクアツプ・データ・セツトを含む
すべての周辺データ記憶装置の管理する制御がシ
ステムの1つのノードに集中し、このノードとシ
ステム中の残りのノードの各々間のすべての通信
が単一の記憶媒体100を介して行われる。これ等
の周辺データ記憶装置を制御するノードは従来の
HSMプロトコールを使用して制御を行う。従つ
てIHSMは従来のHSMシステムと多重プロセツ
サ・システムのすべての従来のHSM機能をシス
テム中の単一ノードによつて遂行出来る様にし
た、HSMより上位の制御層との組合せであると
考える事が出来る。 IHSMは第1A図の多重プロセツサ・システム
15の様な多重プロセツサ複合システム中で動作
する。多重プロセツサ・システム15は4つの中
央処理ユニツト、CPU200,CPU210,
CPU220及びCPU230(夫々CPUA、B、
C及びD)より成る。さらに、システム15は
DASD110、DASD120,DASD130,
DASD140及びDASD150で示した1次ボリ
ユーム並びに移送空間の2次ボリユーム160,
170,175並びにバツクアツプ空間66中の
複数のバツクアツプ・ボリユームを含む。バツク
アツプ・ボリユームは取外し可能な非発揮性ボリ
ユームとして定義される。空間60,63、及び
66については後に説明する。1次ボリユームは
直接アクセスが可能で、最高の速度を有し、通常
記憶単位当りのコストが最高であるボリユームで
ある。2次ボリユームは通常1次ボリユームより
も遅速で位価である。 CPU200,210,220,230は種々
の方法で複数の直接アクセス記憶装置(DASD)
を相互接続し、連絡する。例えば、システム15
中ではCPU200は3つの1次DASD:DASD
100、DASD110、DASD120と連絡す
る。同じく、CPU210は4つのDASD:
DASD100、DASD120、DASD130及び
DASD140と接続している。CRU220は唯
2つの1次DASD:DASD100及びDASD14
0と接続している。最後に、CPU230は2つ
の1次DASD:DASD100及びDASD150並
びに多数の2次ボリユームと接続している。2次
ボリユームの一部はDASDで、一部は大容量記憶
システム(MSS)、テープもしくは類似の装置で
ある。DASD/MSS160はCPU230と接続
した2次ボリユームの例である。 システム15において、CPU及びDASD間の
接続の相互関係は或る共有記憶の関係を生ずる。
CPU200はCPU230と1次DASD110を
共用する。従つて1次DASD110に存在する情
報は(同時ではないが)CPU200及びCPU2
30によつてアクセス可能である。同じ様に、
DASD120はCPU220及びCPU210で共
用される。1次DASD140はCPU200及び
CPU210で共用され、1次DASD100すべ
てのCPU:CPU200、210、20,230
によつて共用される。1次DASD130はCPU
210によつて独占的にアクセスされ、DASD1
50はCPU230によつて独占的にアクセスさ
れる。 CPUとその関連直接アクセス記憶装置との関
係のために、システムの共用要素が、システム1
5内のすべてCPUの間で情報を伝送し得る。こ
の共用要素は1次DASD100に存在し、すべて
のCPUがアクセス可能な待ち行列データ・セツ
ト(QDS)10である。待ち行列データ・セツ
ト10は多重プロセツサ・システム15中のすべ
てのプロセツサによつて種々の時間に、書込みも
しくは読取りがなされる。1次DASD100中の
QDS10以外の、システム15内のDASDはす
べてのCPUにとつてアクセス可能ではなく、従
つて他のDASDのどれも汎用通信媒体として働か
ない。 CPU230も1次DASD150に独占的にア
クセス出来る。IHSMが種々の制御データ・セツ
トを組立てて、保持するのはこのDASD150で
ある。さらにCPU230だけがHSM所有空間6
0中のDASDもしくは大容量記憶装置の2次ボリ
ユーム(20VOLS)160、2次テープ・ボリユ
ーム175及び他のDASDもしくは大容量記憶装
置の2次ボリユーム170を含む種々の他の記憶
装置にアクセス出来、これを制御出来る。さら
に、テープ185、バツクアツプDADS/MSS
180、スピル(こぼれ)ボリユーム及びスピ
ル・バツクアツプDASD/MSS190の様なす
べてバツクアツプ・スペース66中にある記憶装
置がCPU230によつて一意的にアクセスされ、
制御出来る。従つてCPU230は情報のマイグ
レーシヨン・バツクアツプ、復元及びリコールの
ための広範囲なリソースを有する。 説明を容易にするために、CPU200,21
0,220及び230は単一のプロセツサとして
単一のプログラムを実行する個別の物理的プロセ
ツサであり、仮想オペレーテイング・システムの
下で稼動しないもしくは任意の仮想装置をシユミ
レートしないものとする。しかしながら、他の実
施例では仮想装置としての動作も使用する。単一
の物理的CPUはIBMのVM370の様なオペレ
ーテイング・アーキテクチユアの制御を受けるい
くつかの仮想計算機能を含んでいる。従つて、例
えばシステム15中のCPU200及びCPU23
0は同じ物理的CPU内で動作する事が出来る。 同様に、システム15内のDASD、例えば
DASD110,120,130,140及び15
0は物理的に個別の装置として考える。しかしな
がら、単一の物理的装置上には複数の空間がある
ものと定義出来る。例えば、DASD110及び1
20は単一の直接アクセス記憶装置内の2つの個
別の区画と考える事が出来る。 E2 IHSMの論理配列 多重プロセツサ・システム15中のCPU20
0,210,220,230の相互関係とその
種々の記憶装置へのアクセス可能性及び制御可能
性のために、或る論理空間がIHSMの制御の下に
効果的に発生される、HSMが所有する空間60
はさらに2つの空間、マイグレーシヨン空間63
及びバツクアツプ空間66に分割される。空間6
3,66は或る論理記憶装置を含む論理定義域で
ある。論理定義域は或る物理的装置の延存部でよ
いが、かならずしもそうである必要はない。 システム15でCPU230はHSM所有空間6
0を排他的にアクセスし制御する。従つてCPU
230は記憶ノードとして指定される。残りの
CPU200,210,220が作業ノードとし
て指定される。IHSMはシステム15中のすべて
のCPU上で同時に走行し、各CPU内で記憶ノー
ド機能として走行するか(例えばCPU230
内)、作業ノード機能として走行するか(例えば
CPU200,210もしくは220)が指定さ
れる。 IHSMの実行によつて定義される第2の空間は
HSMによつて管理される空間50である。HSM
が管理する空間50は1次DASD100及び1次
DASD110を含む。HSMは空間50をデー
タ・セツトの制御及び配置換えに使用する。
HSM管理空間50内に存在するデータ・セツト
はIHSMの制御によつてHSM所有空間60へ転
送出来、空間50には空間60からデータ・セツ
トが転送出来る。HSM所有空間60にもHSM管
理空間50内にも存有しないDASD(例えば
DASD120,130,140)は非HSM空間
もしくは非HSM装置と呼ばれ、この様なDASD
は自動的にはIHSMによつて制御されず、アクセ
スされない。 データ・セツトはHSM管理空間50もしくは
非HSM空間にアクセス出来るCPU200,21
0,220の制御によつて1つの空間から他の空
間に転送出来る。これによつてHSM所有空間6
0もしくはHSM管理空間50内に存在しないデ
ータ・セツトの制御が可能になる。空間50,6
0はHSM空間と呼ばれる。それは本発明の
IHSMはこれ等を、HSMがこれ等を定義するの
と同様に定義するからである。 CPU230即ち記憶ノード230はこれだけ
が一意的にアククセス出来る、制御データ・セツ
トの保持のための装置を有する。上述のように、
この装置はDASD150である。制御データ・セ
ツトはIHSMがその活動の記録を保持するのを助
けるデイレクトリの働きを有する。これ等のデイ
レクトリは1次DASD150中に、移送制御デー
タ・セツト(MCDS)、バツクアツプ制御デー
タ・セツト(BCDS)及びオフライン制御デー
タ・セツト(OCDS)として示されている。
MCDS、BCDS及びOCDSはCPU230及びその
IHSMの実行のためにIHSMによつて管理される
種々のデータ・セツトの位置に関する情報を与え
る。 E3 作業の流れ 多重プロセツサ・システム15内でHSM管理
空間50内のDASD100によつて構成される記
憶媒体は1つのCPUから他のCPUへデータを通
信するための唯一の許可経路である。特に、
DASD100上の待ち行列データ・セツト10は
作業ノードで実行が指定されたIHSMプログラム
の実行から記憶ノード中で実行が指定された
IHSMプログラムの実行への唯一の通信経路を与
える。システム15中の記憶ノードで実行が指定
されたIHSMプログラムの実行は上述の如く
CPU230での実行である。 QDS10によつて伝えられる情報はIHSMの
記憶ノードの実行によつて操作を受ける記憶管理
機能もしくはサービス要求である。これ等の記憶
管理機能もしくはサービス要求はCPU200,
210,220及び230内で発生し、QDS1
0を通つて排他的にCPU230中で動作してい
る記憶ノードに流れる。この情報は管理作業要素
と呼ばれる通信データ・パケツトの形で伝えられ
る。 複数のCPUの各々中で発生してQDS10に転
送されたサービス要求はCPU230中のIHSM
の記憶ノードの実行によつて読取られる。CPU
230中で記憶ノードとして働いているIHSMは
要求されたサービスを検索して実行する。要求さ
れたサービスを実行した後に記憶ノードはサービ
ス完成の通知をQDS10に送り戻す。IHSMの
他の実行として、サービス要求を発生した作業ノ
ードはこの通知を検索してこれを発生したCPU
内の発生タスクに渡し、この通知ループを完了す
る。 従つて作業の流れは或るデータ・セツトを処理
しなければならない事を作業ノードが認識する事
によつて始まる。例えば前にマイグレートしたデ
ータ・セツトに対するアクセスを要求するCPU
200で動作しているユーザのプログラムは
CPU200内で動作しているIHSMにそのデー
タ・セツトを必要としている事を通知する。
CPU200内で動作しているIHSMはこのサー
ビス要求を認識して、このサービス要求を記憶媒
体100上のQDS10に転送する。 非同期的ではあるが、CPU230中で動作し
ているIHSMの動作の記憶ノード機能はCPU2
00によつてQDS10上に並んでいるサービス
要求を検索し、この要求に応じてこのデータ・セ
ツトを適切な位置にリコールし、サービス要求の
完成を通知する。データ・セツトの要求及びリコ
ールが実行された後はCPU200内で作業ノー
ドとして動作しているIHSMはQDS10から通
知を検索して、CPU200内で動作しているユ
ーザ・プログラムにデータ・セツトがリコールさ
れた事を知らせる。要求したデータ・セツトを必
要としていたユーザ・プログラムが次のその処理
を続ける。 IHSM内のデータの流れはユーザ・プログラム
によつて要求出来もしくはIHSM内部でもスケジ
ユールする事が出来る。例えばシステムを走らせ
るIHSMは毎日の特定の時間にもしくは所定のデ
ータ・セツトに対して最後のテクセスがなされも
しくは操作が加えられてから特定の時間が経過し
た後に、バツクアツプもしくは復元機能を遂行す
る事が出来る。この様な機能の要求も記憶ノード
での処理では差別されない。この様な要求は
QDS10に送られ、CPU230上の記憶ノード
実行によつて検索される。これ等のサービスは適
切ならば実行され通知が送られる。 いくつかのプロセツサ内で非同期的に発生した
作業の流れは従つて単一の点、QDS10に向つ
て集中的に送られ、QDS10から記憶ノード2
30に送られ、ここで処理される。この様にして
サービス要求の認識及び転送は集中化され、或る
装置への多重アクセスによつて多重ノードによる
努力の重複が除去される。CPU230はHSM所
有空間60を排他的にアクセスし、制御する。空
間60にはすべての2次ボリユームが存在する。
従つてHSM所有空間60に導入され、もしくは
空間60から出るすべての情報はCPU230に
よつて制御される。しかしながらHSM管理空間
50はDASD100,110の様な多重アクセス
装置を有し、これによつてCPU間の相互作用間
に種々のレベル及びデータ記憶装置の効率に種々
のレベルを与えている。 CPU230が遂行出来るサービス機能は(i)高
コストもしくは高性能装置から低コストもしくは
低性能装置へのデータの移動であるマイグレーシ
ヨン、(ii)逆の動作であるリコール、(iii)システムの
故障もしくは論理誤りによるデータの喪失を防止
するための低コストで安全性の高い装置にデータ
をコピーするバツクアツプ及び(iv)バツクアツプの
逆動作である復元を含む。 マイグレーシヨン・サービス要求が記憶ノード
230によつて遂行される時は、データはデータ
経路81を介してマイグレーシヨン空間63内の
2次ボリユーム160,170,175にマイグ
レートされる。リコール要求が遂行される時は、
データはマイグレーシヨン空間63からデータ経
路83を介してリコールされる。バツクアツプ要
求によつて記憶ノード230はデータ経路85を
介してデータタをバツクアツプ空間66内のボリ
ユーム180,185,190,195に転送す
る。記憶ノード230によつて復元サービス要求
が遂行される時は、データはデータ経路87を介
してバツクアツプ空間66から復元される。 多重プロセツサ・システム15中の作業の流れ
の中の他の機能には、IHSMによつて定義された
種々の領域及び空間にまたがるデータの断片を制
御する機能がある。単一のデータ・セツトが
IHSMによつて管理されてこの様な断片化が防止
される。データ・セツトは特定の物理的装置上の
一個所に保持され断片化が防止されもしくは救済
される。この様な断片化の防止もしくは救済は
IHSMの動作の全体の速度に貢献する。 E4 記憶空間もしくは定義域 第1B図を参照すると、IHSMによつて定義出
来る空間及び定義域を示す変形ベン図が示されて
いる。第1B図で空間はA、B、CもしくはDで
示され、夫々第1A図のCPU200,210,
220,230と対応している。IHSMを走らせ
る多重プロセツサ・システムでは、任意のCPU
は独占的にアクセス出来るDASDを有する。例え
ば、システム15(第1A図)でCPU210は
DASD130に排他的にアクセスしている。さら
に本発明に従つてIHSMを走らせているシステム
内のDASDは任意の2つもしくはそれ以上の
CPUによつて共用される。例えばDASD120
はCPU200,210によつて共用されている。
この様にしてIHSMを実行するシステム内で可能
なすべての構成の全体が大きくなる。第1B図の
範囲内にある構成は、この様な可能な構成の全体
の一部である。さらに第1A図に示したシステム
15の構成は第1B図の範囲内の構成の一部であ
る。従つてシステム15以外のシステムも第1B
図の範囲内に含まれ、第1B図はIHSMによつて
可能なすべての構成を示していない。 従つて、第1B図はいくつかの論理定義域を示
し、そのうちの一部だけが第1A図の特定のアー
キテクチエア中に物理的な対応装置を有する。例
えば第1B図はCPU200(A)に独占的に使用さ
れる記憶定義域を示しているが、第1A図にはこ
の様な物理的装置は存在しない。さらにIHSMを
走らせるこのシステム内のすべてのCPUによつ
て共用される複数のDASDを含む事が可能である
が、システム15では1つのこの様な共通にアク
セスされるDASDとして、唯一のDASD100が
存在するだけである。しかしながら唯一つの
QDS10が許容されているのみである。 空間201は1方向にだけ斜線を有し、CPU
200だけがアクセス可能な空間である。上述の
様に、空間201はIHSMによつては許容されて
いるがCPU200がDASDを独占的に制御しな
いシステム15中には具体化されていない。空間
211は1方向にだけ斜線を有しCPU210に
排他的にアクセス出来る空間である。空間211
はDASD130に対応する。2重斜線空間204
はCPU200,210の両方に利用可能な空間
であり、DASD120に対応する。 空間221はCPU210によつてアクセス可
能な空間の内部に完全に含まれDASD140に対
応する。DASD140はCPU220にもアクセ
ス可能であり、CPU210にアクセス可能な複
数の装置のうちの1つである。CPU220がそ
れ自身のDASD(図示されず)に排他的にアクセ
ス出来るシステムでは、空間221は完全には他
の空間に包まれない。空間231はCPU230
にアクセス可能な空間である。空間202は
CPU200,230の両方に利用可能であり、
物理的にはDASD110に対応する。 空間50はすべてのCPU200,210,2
20及び230にアクセス出来る(CPU230
の空間231の斜線の特徴が延長されている事に
注意されたい)。HSM管理空間50はHSMがそ
こにデータ・セツトを配置し、これから受取る事
が出来るDASDであるDASD100はHSM管理
空間50中にある。DASD110はCPU230
がアクセス可能であり、従つて共通にアクセス可
能ではないがHSM管理空間である。待ち行列デ
ータ・セツト10は空間50の内部に存在しなけ
ればならない。2重線で囲まれた空間60は
CPU230だけにアクセス可能な空間であり
HSMの所有空間である。空間60はHSM移送空
間63及びHSMバツクアツプ空間60を含む。
第1B図に示した様に記憶空間の或る重なりが可
能であり、記憶空間及び定義域の可能な範囲が大
きく出来る。しかしながら、HSMが動作出来る
条件は(1)すべてのプロセツサがアクセス可能なシ
ステム15のDASD100の様な或る領域が存在
する事、(2)記憶ノードとして指定出来るIHSMの
実行を含むプロセツサだけにアクセス可能な、例
えば空間60の様な或る領域が存在する事であ
る。 E5 集中的要求へのサービス 要求に対するサービスは上述の様にシステム1
5内の種々の作業ノードが遂行すべき、サービ
ス・タスクを認識する事から始まる。認識に続
き、作業ノード200,210,220はそのタ
スクを遂行する単一の中央サービス遂行装置に連
絡する。IHSMではこの様な連絡にはサービス要
求の発生を含み、サービス要求がQDS10を含
む記憶媒体100に送られる。単一のサービス遂
行装置、この場合はCPU230が種々の要求さ
れたタスクを遂行する。このタスクを遂行して、
データを適切な記憶位置にあずけた後、もしくは
適切な記憶位置からデータを検索した後、CPU
230は要求したプロセツサにタスクの完成を通
知する。 この様にして非同期的にサービスの遂行装置と
は別個に動作している多くの処理によつて認識さ
れる作業の流れがこれ等の要求を単一の中央に存
在する遂行装置が完成する様に通信する。 完成に基づいて、完成の非同期的通知が要求し
た装置に送られる。従つて作業の集中的遂行に続
いて多重プロセツサの非同期的環境中での種々の
要求装置への非同期的通知が行われる。 プロセツサ間のすべての通信が受渡しされなけ
ればならない通信装置として記憶媒体100を使
用する事はIHSMの重要な特徴である。記憶媒体
100上に保持されているQDS10上に通信デ
ータ・パケツトを並べ、解消する事によつて、他
の類似のシステムに見られがちな直列化のために
遅延が最小になる。要求を認識して中央の記憶位
置に送り、要求されたサービスの遂行のために必
要なすべてのリソースを独占的に制御出来る、よ
り効率的なプロセツサによつて遂行させる事によ
つて従来のシステムに固有な多くの遅延及び障害
がなくなる。 中央記憶媒体例えばDASD100内に存在する
待ち行列データ・セツト10を使用する主な利点
はこの様な記憶装置の待ち行列が非揮発性であ
り、非常に故障を生じにくく、故障が生じても復
元能力が高い点にある。他の従来の、揮発性の通
信技術を使用するシステムはたとえ点検をしても
この様な記憶装置をベースとする通信手段の動作
に復元性を与え、動作を容易にする事が出来な
い。この場合、発揮性通信技術は故障によつて決
定不可能な状態にリセツトする媒体に通信デー
タ・パケツトを記憶する技術として定義出来る。
非揮発性通信技術はシステムが故障してもその情
報を保持している技術を含むものとして定義され
る。 E6 待ち行列データ・セツト10 第2A、第2B図を参照するに、DASD100
内の待ち行列データ・セツト(QDS)10及び
管理作業要素560が示されている。多重プロセ
ツサ・システムの作業ノード中で動作している非
同期的処理はQDS10中に管理作業要素560
の如き管理作業要素を記憶させる事により記憶ノ
ードと通信する。管理作業要素はデータ通信パケ
ツトの形式をなす。従つてQDS10は共通に利
用可能な記憶媒体に存在する。管理作業要素が記
憶ノードによるサービスを受けた時は、この事は
記憶ノードによつてQDS10を介して要求した
作業ノードに通知される。従つて作業ノードと記
憶ノード間のすべての通信はQDS10を介して
行われる。代替実施例(図示されず)では、単一
の装置が第1A図のCPU230及びDASD10
0の機能を遂行出来従つてQDS10を含んでい
る。 第2A図は制御データ・セツト10を示してい
る。データ・セツト10は複数の待ち行列即ち記
憶ノード230によつて検討されるDASD要求待
ち行列及び作業ノード200,210及び220
を含む各作業ノードのための一つの作業完成待ち
行列を含む仮想記憶アクセス方式(VSAM)フ
アイルである。QDS10はすべてのVSAMフア
イルの様に制御レコード500で始まる。制御レ
コード500は活動、時間(タイム・スタンプ)
フイールド524を含む複数のフイールドを含
む。活動時間フイールド524は記憶ノード23
0が待ち行列データ・セツト10をアクセスする
度に記憶ノード230によつて更新される。記憶
ノード230によて活動時間フイールド524に
書込みがなされる度に記憶ノード230はQDS
10をアクセスする時間帯に入る。活動時間フイ
ールド524は各作業ノードによつて定期的にチ
エツクされ、記憶ノードが活動しているかどうか
が決定される。この様にして、フイールド524
の一番最新のエントリーの経過時間を決定する事
によつて記憶ノード230の誤動作が検出され
る。例えば5分以上経過したフイールド524中
のエントリーは記憶ノード230の故障と解釈さ
れる。 制御レコード500は又記憶ノード・セグメン
ト502を含む。記憶ノード・セグメント502
は2つのフイールド・記憶ノード・ホストID
(SNID)フイールド510及び予定作業ポイン
タ(PTR)フイールド512を含む。記憶ノー
ド・ホストIDフイールド510は多重プロセツ
サ・システム15内の複数のIHSM実行のうちど
れが記憶ノードとして働くかを決める。記憶ノー
ドの予定作業ポインタ512は記憶ノードの後入
れ先出し(LIFO)待ち行列に加わつた最後の割
当て作業のQDS10内の位置を示す相対レコー
ド番号ポインタである。 システムの各作業ノードに対して構造的に記憶
ノード・セグメント502と似た作業ノード・セ
グメントが制御レコード500に存在する。例え
ば、作業ノード1(WN1)のための作業ノー
ド・セグメント504が存在する。作業ノード・
セグメント504は作業ノード1ホストIDフイ
ールド514及び作業ノード1作業完成ポインタ
(PTR)フイールド516を有する。作業ノー
ド・ホストIDフイールド514は作業ノード1
に指定された多重プロセツサ・システム内の
IHSM実行手段のIDを含んでいる。作業ノード
1作業完成ポインタ516は作業ノード1のため
に、記憶ノード230が完成した最新の作業割振
り、従つて作業ノード1のLIFO待ち行列中の最
後の管理作業要素を含む相対レコードを指示する
相対レコード番号である。 作業ノード・セグメント506は作業ノード1
のための作業ノード・セグメント504と同様に
作業ノード2のための情報を含む。作業ノード2
ホストIDフイールド518は作業ノード2に指
定されたIHSM実行手段を固定する。作業ノード
2作業完了ポインタ・フイールド520は作業ノ
ード2の待ち行列のための最新のエントリを示
す。制御レコード500のフイールド508は複
数の追加の作業ノード・セグメントを含む。各セ
グメントはシステム中の追加の作業ノード(図示
されず)及びそれ等のLIFO待ち行列に対応する
作業ノード・ホストIDフイールド及び作業終了
ポインタを有する。そして、そのような追加的な
5個の作業ノード・セグメントをフイールド50
8に入れる事が許容され、制御データ・セツト5
00内の作業ノード・セグメントの数は7個にな
る。 E7 管理作業要素(MWE) 第2B図を参照すると、管理作業要素560が
示されている。管理作業要素560は制御デー
タ・セツト10の相対レコード中に記憶される複
数の管理作業要素の1つである。上述の様に、管
理作業要素はIHSMによつて発生され、記憶ノー
ド230に特定のIHSM機能が要求されている事
を示すデータ通信パケツトである。これ等の機能
はリコール、復元、マイグレーシヨンもしくはバ
ツクアツプの様な動作を含む。 管理作業要素はIHSMノードによつて待ち行列
データ・セツト10中に置かれ、指定した動作の
実行及び完成が要求される。管理作業要素はこれ
を記憶ノードの予定作業待ち行列に付加する事に
よつて待ち行列データ・セツトに加わる。 管理作業要素560のみならず待ち行列デー
タ・セツト10内の他の管理作業要素は4つのフ
イールドを含む。ホストIDフイールド542は
作業ノードによつて使用され、作業要求を行つ
て、それ自身を要求の発信者として同定する。相
対レコード番号(RRN)フイールド544は管
理作業要素560を待ち行列にリンクする逆ポイ
ンタを含んでいる。従つて相対レコード番号フイ
ールド544は予定作業待ち行列中の管理作業要
素560に直ちに先行する管理作業要素の相対レ
コード番号を含む。 例えば、管理作業要素562は制御データ・セ
ツト10内の制御レコード500に続く第2の管
理作業要素である。もし管理作業要素562が管
理作業要素560を追加したい待ち行列の最後で
ある時には、管理作業要素562の相対レコード
番号である2が管理作業要素560の相対レコー
ド番号フイールド544中に置かれる。従つて複
数の管理作業要素内の相対レコード番号フイール
ド544内の相継ぐ逆ポインタが複数の管理作業
要素をLIFO待ち行列にリンクする。待ち行列
(Q)制御フイールド546は管理作業要素が待
ち行列の一部として待ち行列データ・セツト10
内に記録された事を示す単一ビツトもしくはフラ
ツグである。従つて記憶ノード待ち行列及びすべ
ての作業ノード待ち行列中の管理作業要素中のす
べてのQ制御フイールド546は高レベルにあ
る。 MWEFUNCフイールド548は作業ノードに
よつて使用され、記憶ノード230に対し、管理
作業要素によつてどの機能が要求しれたかを示す
ものである。例えばMWEFUNCフイールド54
8中の3は作業ノードによつて記憶ノードに対し
リコールが要求され、5は復元が要求され、6は
マイグレーシヨンが要求された事を示す。 IHSM内の各活動状態にあるホスト・プロセツ
サはQDS10内にそれ自身の待ち行列を有する。
すべての待ち行列はLIFOである。記憶ノードの
LIFO待ち行列は記憶ノード230によつて遂行
されるべき作業を定義する。作業ノードのすべて
は記憶ノードのLIFO待ち行列に書込む事が出来
る。各作業ノードも又それ自身のLIFO待ち行列
を有する。これ等の作業ノード待ち行列は作業ノ
ードの代りに記憶ノード230が完成した作業を
示す。各作業ノード待ち行列は記憶ノードが要求
された動作を完成した時に記憶ノード230によ
つて書込まれる。 E8 交互介在非同期待ち行列 ここで次の表を参照するに、管理作業要素の3
つの待ち行列を含む待ち行列データ・セツト10
の例が示されている。3つの待ち行列は記憶ノー
ドの予定作業待ち行列、作業ノード1の作業完成
待ち行列及び作業ノード2の作業完成待ち行列で
ある。
【表】 相対レコード560−14及至592−32は
記憶ノード及び作業ノードの両方に利用出来、こ
れ等の待ち行列が形成される。図示した17個の管
理作業要素の数は説明の目的のためだけに選択さ
れたものである。一般に、待ち行列データ・セツ
ト10は任意の数の管理作業要素を含む事が出来
る。QDS10内の管理作業要素を記録もしくは
固定する参照番号の最初の3つのデイジツトは
QDS10内の位置に関して管理作業要素560
−14及至592−32を順番に記録しもしくは
固定している。 これ等の参照番号の最後の2つのデイジツトは
各管理作業要素の待ち行列とその待ち行列内の管
理作業要素の位置を固定している。最後の2つの
デイジツトのうち最初のデイジツトが1である時
は、管理作業要素が記憶ノード待ち行列中にある
事、2は管理作業要素が作業ノード1(WN1)
待ち行列中にある事、3は管理作業要素が作業ノ
ード2(WN2)待ち行列中にある事を示してい
る。QDS10の管理作業要素を固定する参照番
号の最後のデイジツトは待ち行列自身内の管理作
業要素の位置を示している。最後のデイジツトの
1はその待ち行列中の最初の管理作業要素を示
し、2は第2の従つてより最近待ち行列中に付け
加えられた管理作業要素を示している。 QDS10中の最初の管理作業要素は管理作業
要素560−14である。この事は管理作業要素
560−14が、参照番号中のダツシユの後の最
初の数字が1であるために記憶ノード待ち行列中
にあり、ダツシユの後の第2の数字位置には4が
あるのでこの要素が記憶ノード待ち行列内の第4
番目の要素である事を示している。同じ様に、
QDS10中の第8番目の相対レコード中の管理
作業要素574−31はダツシユに続く最初のデ
イジツト3で示した様に作業ノード2待ち行列中
にある。この要素は参照番号の最後のデイジツト
位置の1によつて示した様に作業ノード2待ち行
列中の最初の、従つて最も古い要素である。 記憶ノード待ち行列の内容を決定するために
は、待ち行列レコード500の記憶ノードの予定作
業ポインタ・フイールド512中の相対レコード
番号に従う。フイールド512中のポインタは最
も最近記憶ノード待ち行列に加えられた管理作業
要素を示している。制御レコード500のフイー
ルド512は15を含んでいるので、QDS10中
の第15番目の相対レコードを指示している。
QDS10の15番目の相対レコードは管理作業要
素588−16を含んでいる。 管理作業要素588−16のホストIDフイー
ルド542は管理作業要素588−16が作業ノ
ード(WN)2によつて記憶ノード待ち行列中に
置かれた事を示している。管理作業要素588−
16の待ち行列制御フイールド546は1を含み
相対レコード15が待ち行列に活動状態の管理作
業要素を含む作を示している。管理作業要素58
8−16のMWEFUNCフイールド548は3を
含み、作業ノード2が記憶ノード230にリコー
ルを遂行する事を要求している事を示している。
管理作業要素588−16の相対レコード番号フ
イールド544は4を含み、記憶ノードの待ち行
列中の次の管理作業要素が待ち行列データ・セツ
ト10の相対レコード4にある事を示している。 相対レコード4は管理作業要素566−15を
含んでいる。管理作業要素566−15は参照番
号の最後の2デイトツト中の15によつて示す様に
記憶ノード待ち行列中の第5番目の要素である。
管理作業要素566−15のホストIDフイール
ド542は管理作業要素566−15が作業ノー
ド1によつて記憶ノード待ち行列上に位置付けら
れた事を示す。管理作業要素566−15の
MWEFUNCフイールド548は5を含み、作業
ノード1は記憶ノード230に復元動作を遂行す
る様に要求した事を示す。管理作業要素566−
15の相対レコード番号フイールド544は1を
含み、記憶ノード待ち行列の次の管理作業要素が
相対レコード1に見出される事を示している。 相対レコード1は管理作業要素560−14を
含み。これはホストIDフイールド542によつ
て示す様に作業ノード1によつて記憶ノード待ち
行列上に置かれたものであり、MWEFUNCフイ
ールド548で示した様に記憶ノードのリコール
機能を要求している。管理作業要素560−14
の相対レコード番号フイールド544は3を含
み、相対レコード3の管理作業要素564−13
が記憶ノード待ち行列中の次の管理作業要素であ
る事を示している。 管理作業要素564−13のホストIDフイー
ルド542はこの管理作業要素564−13が作
業ノード2によつて記憶ノード待ち行列上に置か
れた事を示している。管理作業要素564−13
のMWEFUNCフイールド548は7を含み、記
憶ノードがバツクアツプ動作を遂行する様に作業
ノード2が要求した事を示している。相対レコー
ド番号フイールド544は相対レコード7を指示
し、相対レコード7は管理作業要素572−12
を含んでいる。 管理作業要素572−12はそのホストIDフ
イールド542によつて示した様に作業ノード1
によつて記憶ノード待ち行列上に置かれたもので
ある。管理作業要素572−12は5を含む
MWEFUNCフイールド548によつて示した様
に記憶ノードに復元動作を要求している。管理作
業要素572−12の相対レコード番号フイール
ド544は相対レコード番号6を指示するポイン
タ6を含んでいる。 相対レコード6は管理作業要素510−11を
含む。管理作業要素570−11の参照番号はこ
の要素が記憶ノード待ち行列上の最初の管理作業
要素である事を示している。この事は参照番号の
最後のデイジツト中の1によつてわかる。この要
素の相対レコード番号フイールド544は0を含
み、記憶ノード待ち行列の終りである事を示して
いる。従つて記憶ノードの予定作業待ち行列の6
個の管理作業要素を含んでいる。記憶ノード待ち
行列は6個の管理作業要素を含む6個の相対レコ
ードを最も最近受取つた管理作業要素から最初に
受取つた要素順に並べると、相対レコード15,
4,1,3,7及び6の順になる。 上出のQDS表は又作業ノード1のための作業
完成待ち行列を含む。作業ノード1の待ち行列に
追加される管理作業要素は制御レコード500の
作業ノード1の作業完成ポインタ・フイールド5
16で示した様に相対レコード5中に存在する。
作業ノード1の作業完成ポインタ・フイールド5
16は常に作業ノード1の待ち行列の終りを示し
ている。 相対レコード5は管理作業要素568−26を
含む。管理作業要素568−26は作業ノード1
の待ち行列である待ち行列2中の6番目の要素で
ある。管理作業要素568−26の相対レコード
番号フイールドは相対レコード12を指示する逆
ポインタを含み、相対レコード12が作業ノード
1のLIFO待ち行列の次の管理作業要素を含む事
を示している。 相対レコード12に存在する管理作業要素58
2−25は相対レコード番号フイールド544中
に11を含み、従つて相対レコード11に存在する
管理作業要素580−24を指示している。管理
作業要素580−24の相対レコード番号フイー
ルド544は10を含み、これによつて作業ノード
1の待ち行列の次の管理作業要素である管理作業
要素578−23を含む相対レコード10を指示
している。 相対レコード10中に存在する管理作業要素5
78−23の相対レコード番号フイイールド54
4は作業ノード1の待ち行列中の次の管理作業要
素として相対レコード2を指示するポインタを含
んでいる。相対レコード2は管理作業要素562
−22を含んでいる。管理作業要素562−22
は相対レコード番号フイールド544中に14を含
み、相対レコード14に存在する管理作業要素5
86−21の相対レコード番号フイールド544
は0を含み、管理作業要素586−21が作業ノ
ード1の待ち行列の終りである事を示している。 作業ノード2もQDS10中に待ち行列を有す
る。作業ノード2の待ち行列は制御レコード50
0中の作業ノード2の作業完成ポインタ・フイー
ルド520で示した様に相対レコード17で開始
する。作業ノード2の作業完成ポインタ・フイー
ルド520は常に作業ノード2の待ち行列の終り
を指示している。管理作業要素592−32の相
対レコード番号フイールド544は8を含み、こ
の待ち行列中の次の管理作業要素が相対レコード
8中の管理作業要素574−31である事を示し
ている。管理作業要素574−31の相対レコー
ド番号フイールド544は0を含み、この要素が
記憶ノードによつて作業ノード2の作業完成待ち
行列中に置かれた最初の要素であり、この要素が
作業ノード2の待ち行列の最後の管理作業要素で
ある事を示している。作業ノード2の待ち行列は
従つて夫々相対レコード17及び8中に記憶され
た管理作業要素592−32及び574−31だ
けを含んでいる。 従つてQDS10は3つの個別の待ち行列、即
ち記憶ノードのための予定作業行列、作業ノード
1のための作業完成待ち行列及び作業ノード2の
ための作業完成待ち行列を含んでいる。これ等の
待ち行列は表に示した様にQDS10の相対レコ
ード1及至17を通る順次進行に関して介在して
いる。これ等の待ち行列をなす管理作業要素はポ
インタによつて相互に連結しているので、待ち行
列からはずされもしくはこれに追加される管理作
業要素はQDS10中の任意の利用可能な記憶位
置に置く事が出来る。従つてQDS10内の待ち
行列は非同期的に形成される。例えば、相対レコ
ード9,13及び16は上述の3つの待ち行列の
どれにも属さない。これ等の相対レコードは作業
ノードが記憶ノードの待ち行列上に置く管理作業
要素を受取るのに利用出来る。 上述のID作業ノード1、作業ノード2及び作
業ノード3は第1A図のCPU200,210及
び220をさす。しかしながらシステム15内の
任意CPUが作業ノード1,2もしくは3として
指定できる。 E9 管理作業要素の待ち行列化 待ち行列に管理作業要素を追加するためには制
御レコード500のビツト割振りマツプ522を
走査する。ビツト割振りマツプ522はQDS1
0内の制御レコード500を含む各レコードのた
めの1ビツトを含んでいる。もし対応するレコー
ドが管理作業要素を含んでいるならば、ビツト割
振りマツプ522中のビツトは1であり、対応す
るレコードが利用可能であつて管理作業要素を受
取る事が出来るならばそのビツトは0である。
QDS10の最初のレコードは管理作業要素を受
取る様には利用出来ない。それは上述の様に制御
レコード500が制御データのために特別に取つ
ておかれているからである。従つてビツト割振り
マツプ522中の最初のビツトは常に1である。 ビツト割振りマツプ522の第2のビツトは管
理作業要素560−14を含む相対レコード1に
対応し、従つて活動状態にある。従つてビツト割
振りマツプ522の第2のビツトは1である。ビ
ツト割振りマツプ522の第3のビツトは相対レ
コード2に対応する。相対レコード2は管理作業
要素562−22を含み、従つてビツト割振りマ
ツプ522の第3のビツトも1である。 ビツト割振りマツプ522の第10番目のビツト
は活特状態の管理作業要素を含まない相対レコー
ド9に対応する。従つてビツト割振りマツプ52
2の第10ビツトは0を含み、対応する相対レコー
ド、即ち相対レコード9は管理作業要素を記憶す
る事が出来る。この管理作業要素は作業ノードに
よつて記憶ノード待ち行列上に置く事が可能であ
る。さらに、相対レコード13に対応するビツト
割振りマツプ522の第14のビツトも0である。
この事は相対レコード13も利用可能である事を
示す。同じ様に、ビツト割振りマツプ522の第
17のビツトも0であり、相対レコード16が利用
可能な事を示している。 管理作業要素を置く事の出来る相対レコードを
探索するために、作業ノードはビツト割振りマツ
プ522の下位から2番目のビツトから始めて、
0を発見する迄ビツト割振りマツプ522の上位
のビツトに向つて探索する。マツプ522中で遭
遇する最初の0に対応する相対レコードが作業ノ
ードによつて使用出来る。上出のQDS表の例で
は、遭遇する最初の0は相対レコード9に対応す
るビツト割振りマツプ522の10番目のビツトで
ある。従つて管理作業要素を記憶ノードの予定作
業待ち行列に追加する時には、作業ノードは管理
作業要素を相対レコード9に記憶する。管理作業
要素を待ち行列に加えた直後に探索を行つている
他の作業ノードは、その最初の0をビツト割振り
マツプ522の14番目のビツトに見出し、従つて
その管理作業要素を相対レコード13に記憶す
る。 管理作業要素を記憶ノード待ち行列の相対レコ
ード9に追加するために、作業ノードはデータを
相対レコード9の適切なフイールドに記憶する。
このデータはフイールド542中に記憶されるホ
ストID及びMWEFUNCフイールド548中に記
憶される要求機能を含む。管理作業要素576−
00の相対レコード番号フイールド544に導入
されるデータを決定するために、作業ノードは制
御レコード500の記憶ノード予定作業ポインタ
フイールド512をアクセスする。予定作業ポイ
ンタ・フイールド512は記憶ノード待ち行列に
追加された最後の管理作業要素を指示するポイン
タを含んでいる。この最後に追加された管理作業
要素は新らしく追加される管理作業要素が指示す
る事によつて連鎖になる要素である。 従つて、予定作業ポインタ・フイールド512
が読取られ、その内容が管理作業要素576−0
0の相対レコード番号フイールド544中に記憶
される。管理作業要素576−00を記憶ノード
待ち行列に加える作業ノードは次に記憶ノードの
予定作業ポインタフイールド中に、作業ノードが
その管理作業要素を挿入した相対レコードの番号
を記憶させなければらない。従つて作業ノードは
制御レコード500のポインタ・フイールド51
2に9を記憶させる。 さらに作業ノードはビツト割振りマツプ522
の第10ビツトに1を書込んで、その管理作業要素
を記憶した相対レコードが活動状態にある事を示
さなければならない。作業ノードが管理作業要素
を待ち行列に追加した後、要素の参照番号は57
6−000から576−17に変る。それはこの
管理作業要素576−17が待ち行列1、即ち記
憶ノード待ち行列の第7番目の要素であるからで
ある。 E10 初期設定処理 第3図を参照すると、本発明の方法のフローチ
ヤートが示されている。IHSM環境で実行するホ
スト計算機が起点600で開始する初期設定処理
プロセスを遂行する。IHSMを呼出す時、オペレ
ータが起点パラメータを与える。これ等のパラメ
ータはプログラム初期設定兼パラメータ処理ブロ
ツク610中で処理される。プログラム初期設定
は内部制御ブロツクの作成とホスト・プロセツサ
IDの決定を含む。この初期設定過程は複合シス
テムの各ホスト・プロセツサ毎に独立して実行さ
れる。もしスタートアツプがコールド・スタート
の時は、任意の作業ノードの手順の前に記憶ノー
ドの手順をブロツク610で遂行する。もしコー
ルルド・スタートで記憶ノードの前に作業ノード
が開始すると、これは無効条件となり、終了す
る。 決定ブロツク620で初期設定プログラムを遂
行するホスト・プロセツサが作業ノード(WN)
であるか記憶ノードであるかを示す決定がなされ
る。ホスト・プロセツサが作業ノードである時
は、決定ブロツク620の決定は肯定(YES)
であり、ブロツク630が実行される。ブロツク
630では、オペレータ通信がセツトアツプされ
る。多重プロセツサ複合システム内の各ホスト・
プロセツサはそれ自身のオペレータ通信を処理す
る個別のタスクを有する。従つて、各ホスト・プ
ロセツサはそのホスト環境を正しく同定して
IHSMに伝えなければならない。 ブロツク640において、オペレータが供給し
た、初期設定されつつある作業ノードのための特
定の起点パラメータが処理される。例えば、オペ
レータが供給する1つのパラメータは遂行されつ
つある起点パラメータの型である。起点は待ち行
列データ・セツト(QDS)10中の待ち行列の
依存してコールド・スタート、ウオーム・スター
トもしくはホツト・スタートである。 もしすべての待ち行列は無効である事が推定さ
れ、わかるとコールルド・スタートがオペレータ
によつて導入れる。この処理はQDS10のすべ
ての管理作業要素をコールド・スタート中に破壊
するので、極めて手荒な手段である。ホツト・ス
タートでは、すべての待ち行列は有効である事が
推定され、わかつている。ウオーム・スタートで
はQDS10内の待ち行列は待ち行列内のポイン
タを検査する事によつて検証される。ポインタに
対するこの検査以外でも、現在の待ち行列有効で
ある事が推定出来る。ウオーム・スタート中には
新らしい待ち行列が追加出来る。 ブロツク640でオペレータによつて供給出来
る他のパラメータは作業ノードのアクセス・タイ
マの接続時間である。作業ノードのアクセス・タ
イマの持続時間はQDS10へのアクセス間で作
業ノードが待機しなければならない時間を決定す
る。タイマはノードQDS10を解き放つ時にス
タートし、ノードはタイマが時間切れになる迄再
びQDS10をアクセス出来ない。初期設定中の
各ノードのタイマの接続時間を変更する事によつ
てIHSM内のQDS10へのアクセスの微調整が
出来る。 ブロツク650において、作業ノードは待ち行
列の初期設定を遂行する。待ち行列の初期設定を
遂行するために、作業ノードは以下説明される動
作の外に、QDS10をオープンして、そのホス
ト・プロセツサIDを空いている作業ノード・セ
グメント中に置く。例えば、初期設定中の作業ノ
ードが作業ノード1であるらば、そのホストID
が制御レコード500内の作業ノード1のセグメ
ント504の作業ノード1のIDフイールド51
4へ書込まれる。 決定ブロツク620によつて判明する様に、ホ
スト・プロセツサが記憶ノードである時には、ブ
ロツク660が遂行される。ブロツク660で
は、記憶ノードは3つの制御データ・セツト、即
ちバツクアツプ制御データ・セツト(BCDS)、
移送制御データ・セツト(MCDS)及びオフラ
イン制御データ・セツト(OCDS)をオープンす
る。これ等の制御データ・セツトが通常の
VSAMのキイによる順次データ・セツトである。
ブロツク660の動作は通常の様に既存の制御デ
ータ・セツトをオープンするだけである。もしこ
れ等のフアイルが既存でないか、正しく初期設定
されい時は、記憶ノードが誤りを発生して終了す
る。 ブロツク670で第1A図に関連して説明した
空間をセツトアツプする。ブロツク680で出口
リストが処理される。ブロツク670,680の
動作は上述の参考文献に説明された様に従来の
HSMによつて遂行される。 ブロツク690で、HSM機能のサブタスクが
接続される。これ等のサブタスクはマイグレーシ
ヨン制御タスク、リコール、回復、及びバツクア
ツプ、復元、削除及びび回収の様な他のタスクに
も含まれるタスクを含む、これ等は実際にはユー
ザの要求もしくはシステムのプロトコールによつ
て要求される時に1つのボリウムから他のボリウ
ムにフアイルを移動する機能を遂行する。 ブロツク700において、記憶ノードはブロツ
ク630で作業ノードがオペレータの通信をセツ
トアツプした様にオペレータ通信をセツトアツプ
する。同様に、ブロツク710で、記憶ノードは
その起点パラメータを処理する。ブロツク710
で記憶ノードが処理するパラメータの範囲はブロ
ツク640で事業ノードが処理する範囲よりもか
なり広い。それは作業ノードが処理するパラメー
タが記憶ノードのパラメータの部分集合だからで
ある。 記憶ノードがブロツク710で処理出来る起点
パラメータの例は、IHSMが管理するボリウムを
決定するADVOL指命である。さらに、IHSM内
の自動的処理で処理するルーチンである
SETSYSに関連するパラメータがブロツク71
0で記憶ノードによつて処理される。SETSYS
パラメータの例は2次記憶装置に移送する迄はデ
ータ・セツトが(アクセスされないで)上位レベ
ルのDASDに存在する日数である。 起点パラメータの処理に続いて、待ち行列
(θ)初期設定がブロツク720で遂行される。
記憶ノードの待ち行列初期設定は、以下詳細に説
明する様にQDS10をオープンし、記憶ノード
のホストIDを制御レコード500内の記憶ノー
ド・セグメントの記憶ノードIDフイールド51
0に置く。ブロツク720から実行は他頁結合子
730を介して第4図の頁結合子735に続く。 オン頁結合子735に続く決定ブロツク740
において、IHSMを遮断するかどうかの決定がな
される。この決定はIHSM内の複数の点で種々の
理由でセツトされる終了フラツグを知る事によつ
て行われる。終了フラツグをセツトする最もあり
ふれた方法は停止指令のオペレータ導入である。
オペレータの停止指令は各異なるノードのオペレ
ータ・タスクによつてトラツプされ、もしタスク
が遮断モードにあるならばそれ自身の内部制御ブ
ロツク・フラツグをセツトする。さらに、以下詳
細に説明する様に終了フラツグをセツトする種々
の誤り条件が存在する。しかしながら、決定ブロ
ツク740では合了フラツグの起点は問題にしな
い。もしこのフラツグがオンの時は、ブロツク7
50を遂行する。 ブロツク750において、IHSM機能のブロツ
ク690で接続したIHSM機能サブタスクが消去
され、正常遮断の手順が遂行される。ブロツク7
60で開始して、BCDS、MCDS及びOCDSを含
むすべてのIHSM制御データ・セツトがクローズ
される。QDS10はブロツク770で、IHSM
はブロツク780で終了し、このタスクは停止7
90で完全に解消する。 決定ブロツク740で遮断しないという決定が
なされると、実行は他頁結合子800から第5図
の頁結合子805に進行する。オン頁結合子73
5から決定ブツク740のNO経路を通り他頁結
合子800に至る経路はホスト・プロセツサが
HSMの主ループを実行するたびにたどる経路で
ある。この経路は通常の処理ループである。 第5図を参照するに、実行がオン頁結合子80
5で導入すると、決定ブロツク810で再びこの
ホスト・プロセツサが作業ノードであるかもしく
は記憶ノードであるかの決定がなされる。もしホ
スト・プロセツサが作業ノードならば実行は
YES経路をたどり、決定ブロツク820で作業
ノードのなすべき作業があるかどうかの決定がな
される。 なすべき作業(予定作業)が存在するかどうか
の決定はバツチ・ジヨブの様なユーザ・タスクが
IHSAMに要求を提示した時にセツトするフラツ
グを調べる事によつて行われる。これ等の環境の
下に、管理作業要素が作成され、共通の記憶装置
中の待ち行列にされ、IHSMへの仮想記憶装置間
通知がなされる。このIHSMへの通知は決定ブロ
ツク820でフラツグとして読取られる。このフ
ラツグは又作業ノードのアクセス・タイマによつ
てもセツトされ、作業ノードによるQDS10の
定期的な検査が保証される。もし作業ノードに遂
行する作業がない場合には、実行はブロツク92
0に分岐する。決定ブロツク820でこのフラツ
グを調べる事によつて予定作業がある事が決定さ
れると、作業ノードはブロツク830で管理作業
要素(WNE)を検索して処理する。 以下より詳細に説明する様に、ブロツク830
中の管理作業要素の処理は処理すべき管理作業要
素をQDS10内の記憶ノード待ち行列中に並べ
る事を含む。さらに、作業ノードはQDS10を
オープンして管理作業要素を待ち行列にしている
間に、現在完成している管理作業要素のうち仕意
のものの待ち行列を解消する(ブロツク850)。
もし決定ブロツク810でホスト・プロセツサが
作業ノードでない事が決定されると、このポス
ト・プロセツサは記憶ノードでなければならず、
決定ブロツク860で記憶ノードが遂行する作業
が存在するかどうかの決定がなされる。記憶ノー
ドに遂行する作業がない場合には、記憶ノードは
ブロツク920で現在の処理ループ中に導入され
たコンソール指令を処理する。もし記憶ノードに
遂行すべき作業がある時は、記憶ノードはブロツ
ク870で管理作業要素を検索して処理する。 決定ブロツク860で検査して記憶ノードにな
すべき作業ノードのための作業が存在するかどう
かの決定をするフラツグは記憶ノードのアクセ
ス・タイマによつてセツトされ、記憶ノードが
QDS10の待ち行列を周期的に検査出来る様に
なつている。ブロツク870内の管理作業要素の
処理は記憶ノードの予定作業待ち行列から管理作
業要素を検策し、記憶ノードの汎用待ち行列に並
べる事を含む。 管理作業要素はその管理作業要素内の要求に基
づいて適切なサブタスクに指名される。管理作業
要素のサブタスクへの指名はサブタスクの予定作
業待ち行列に通知される。 サブタスクが管理作業要素によつて要求された
機能を完成すると、この事は管理作業要素に通知
される。管理作業要素が完成したものとして通知
されると、記憶ノードがこれ等を検策して、これ
をブロツク910中で記憶ノードの汎用待ち行列
中に置く。又ブロツク910中で記憶ノードは記
憶ノードの汎用行列から管理作業要素をはずし、
これをQDS10中の発生した作業ノード待ち行
列中に置く。 ブロツク910の管理作業要素の検策及び完成
に続き、ブロツク920中でコンソールがポーリ
ングされる。これはオペレータからのコンソール
指令(CMD)をIHSMが受取つて、処理する手
段である。この段階は処理ループの各パスを実行
し、ループの最後のパスの後にコンソールのオペ
レータが指令を導入したかどうかを決定する事に
よつて実行される。 IHSMはブロツク930でなすべき作業、作業
完成指令、そのタイマの時間切れ、もしくは記憶
ノード内の予定作業の発生を待つ。IHSMがブロ
ツク930で待機している間に記能タスクは処理
を続ける。ブロツク930に続く他頁結合子73
7は第4回の上述のオン頁結合子735に続く。
この結合によつて主処理ループが完了する。 E10−1 作業ノード初期設定 第6図を参照するに、作業ノード初期設定のフ
ローチヤートが示されている。この図は第3図の
作業ノード待ち行列初期設定ブツク650の詳細
を示すブロツク図である。実行はブロツク640
からブロツク940に続き、ここでQDS10を
オープンする。ブロツク940のQDS10のオ
ープンはVSAMに関連するレコード・データ・
セツトの通常のオープンである。ブロツク950
で、QDS10はこれをオープンした作業ノード
によつて予約される。QDSの予約は、プロセツ
サ間の相互作用を防止する機能であり、作業ノー
ドが初期設定されつつある間にQDSが記憶され
ているハードウエアへの入力及び出力を防止す
る。従つて作業ノードが、続く初期設定プロセス
を完成する間にすべての他のプロセツサはDASD
からブロツク・アウトされる。 初期設定を行つている事業ノードによつてすべ
ての他のプロセツサがブロツク・アウトされてい
る間に、作業ノードはブロツク960でQDS1
0の相対レコード(RR)0を読取る。QDS10
の相対レコード0は上記表に示した様に制御レコ
ード500である。制御レコード500内のフイ
ールドの1つは記憶ノードIDフイールド510
である。決定ブロツク970で初期設定中の作業
ノードは記憶ノード(SN)IDフイールド510
中に0を含んでいるかどうかを決定する。記憶ノ
ードIDフイールド510が0を含んでいる場合
には、活動状態ノードは存在せず、ブロツク10
20に0を示した誤り条件が存在する。ブロツク
1020で、QDS10はクローズされ、解放さ
れて、実行は終了1030で終了する。 もしSNIDが非0ならば、決定ブロツク980
で処理の起点がコールド・スタートであるかどう
かの決定がされる。決定ブロツク980の決定は
オペレータが与えブロツク640で処理したパラ
メータに基ずいてセツトされるフラツグに基づい
ている。もしシステムがコールド・スタートを行
つている場合には、作業ノードは決定ブロツク1
040でその作業ノード(WN)セグメントが存
在するかどうかの決定をする。作業ノード・セグ
メントはQDS10内の制御レコード500のセ
グメントであり、作業ノードのIDフイールド及
びその作業ノードの待ち行列の最後の管理作業要
素を示すポインタを含んでいる。 決定ブロツク1040で初期設定を行つている
作業ノードの作業ノード・セグメントが存在する
事が決定されると、誤りが存在する。それはコー
ルド・スタートでは既存の作業ノード・セグメン
トが存在してはいけないからである。例えば作業
ノードがこの時点でそのIDが既に作業ノード・
セグメント中に存在する事を見出すと、この事は
ホスト・プロセツサIDが2重になつている事を
示す。従つてブロツク1020に示した様な誤り
条件が存在し、QDS10がクローズされ、解放
され、実行は上述の様に終了1030で終了す
る。 決定ブロツク1040で決定した結果、作業ノ
ード・セグメントが存在しない場合合には、初期
設定処理を遂行する作業ノードのホストIDが利
用可能であり実行は次項結合子1050へと進
む。もし起点が決定ブロツク980によつてコー
ルド・スタートでない事がわかると、決定ブロツ
ク990で起点がホツト・スタートであるかどう
かの決定がなされる。 決定ブロツク1060で起点がホツト・スター
トである事が決定されると、決定ブロツク106
0で初期設定を行つている作業ノードに対応する
作業ノード・セグメントが存在するかどうかの決
定がなされる。もし作業ノード・セグメントが存
在しない場合には誤り条件が存在する。それはホ
ツト・スタート中には作業ノード・セグメントが
既に存在しなければならないからである。従つて
実行は上記の場合と同様に、ブツク1020に進
む。そうでない場合には、実行は次頁結合子10
70に進む。 もし起点が決定ブロツク980で決定される様
にコールド・スタートでもなく、決定ブロツク9
90によつて決定される様にホツト・スタートで
もない時は、起点はウオーム・スタートである。
ウオーム・スタート中に初期設定を行つている作
業ノードに対応する作業ノード・セグメントが存
在するかどうかの決定がなされる。この決定は決
定ブロツク1000でなされる。作業ノード・セ
グメントが存在すると、実行は次頁結合子107
0に進む。 もし作業ノード・セグメントが存在しないと、
決定ブロツク1010で作業ノードがそのホスト
IDを書込む事が出来る空きの作業ノード・セグ
メントが存在するかどうかの決定がされる。空き
のセグメントが存在しない時は、作業ノードはそ
のIDを置くセグメントがない。従つて実行は上
述の様に、ブロツク1020に進む。もし空きの
セグメントが存在すると、実行は次頁結合子10
80に進む。 次に第7図を参照するに、第6図のフローチヤ
ートの続きが示されている。第6図の次頁結合子
1050は第7図の頁結合子1055と接続す
る。この経路は起点がコールド・スタートで初期
設定中の作業ノードの作業ノード・セグメントが
既に存在しない時に作業ノードがたどる経路であ
る。従つて、ブロツク1090において、作業ノ
ードはそのホスト・プロセツサIDを利用可能な
作業ノード(WN)セグメント中に置く。例えば
初期設定中の作業ノードが作業ノード1である時
には、ホスト・プロセツサIDは制御レコード5
00の作業ノードIDフイールド514中に置か
れる。もし、初期設定中の作業ノードが作業ノー
ド2である時には、そのホスト・プロセツサID
はフイールド518中に置かれる。 利用可能な作業ノード・セグメント中に新らし
い作業ノード・ホストIDを含む更新制御レコー
ド500はブロツク1100でQDS10へ書込
まれる。ブロツク1150で、QDS10はこの
作業ノードから解放され、ブロツク940で
QDS10をオープンした作業ノードのアクセ
ス・タイマが始動する。これによつてQDS10
は複合システム中の他のノードに利用可能にな
り、解放した作業ノードはそのアクセス・タイマ
が時間切れになる迄QDS10にアクセス出来な
くなる。 第6図の次頁結合子1070は第7図の頁結合
子1075に接続する。この経路は起点がウオー
ムもしくはホツト・スタートであり、初期設定処
理を遂行している作業ノードのための作業ノー
ド・セグメントが既に存在する時にたどられる。
この状態は作業ノードダウンになり、記憶ノード
が走行を続けている時に再びアツプに戻つた時に
生ずる。この様な情況の下でこの作業ノードのた
めに動作出来る状態になかつた記憶ノードは作業
を完成する事が可能になる。 任意の管理作業要素の作業が作業ノードのダウ
ン中に完成した事を決定するために、初期設定中
の作業ノードは決定ブロツク1130中でその作
業ノード・セグメント中のポインタが0であるか
どうかを決定する。もしポインタが0でない場合
には除去される作業がその待ち行列中にある。さ
らに初期設定中の作業ノードはブロツク1140
に示した様に記憶ノード待ち行列に予定作業を通
知する。 決定ブロツク1010中で決定される様にウオ
ーム・スタートでは空きセグメントが存在し、実
行は次頁結合子1080からオン頁結合子108
5を介してブロツク1110に進む。ブロツク1
110で作業ノードは上述の様にそのホストID
を利用可能な作業ノード・セグメントに書込む。
更新制御レコード500(RRO)がブロツク1
120でQDS10に書込まれ、作業ノードは
QDS10を解放してそのアクセス・タイマをブ
ロツク1150中でセツトし、終了1160で終
了する。 E10−2 記憶ノード初期設定 第8図を参照するに、記憶ノード初期設定処理
のフローチヤートが示されている。第8図は第3
図のブロツク720をより詳細に示したものであ
る。実行はブロツク710からブロツク1170
に進み、ここでQDSは作業ノード初期設定のブ
ロツク940で説明した様にオープンされる。又
上述した様に、QDS10はブロツク1180で
予約され、他のプロセツサが記憶ノード初期設定
中にQDS10と相互作用するのが妨止される。
QDS10中の制御レコード500がブロツク1
190中で読取られる。 決定ブロツク1200で起点がコールド・スタ
ートであるかどうかの決定がなされる。もし起点
がコールド・スタートならば、QDS10の制御
レコード500はブロツク1310で0が充填さ
れる。制御レコード500中の各位置を0にする
事によつて、前回の使用によつて制御レコード5
00にあつた任意の情報が完全に消去される。 ブロツク1320で、記憶ノードとして初期設
定中のホスト・プロセツサのIDが制御レコード
500内の記憶ノード(SN)セグメント502
の記憶ノードIDフイールド510に書込まれる。
ブロツク1330で、時間(タイム・スタンプ)
活動フイールド524の時刻が更新され、制御レ
コード500がQDS10中に書戻される。QDS
10が解放され、記憶ノードのアクセス・タイマ
がブロツク1340でセツトされる。ここでコー
ルド・スタートの場合の記憶ノードの初期設定が
終了1350で終了する。 もし記憶ノードの起点が決定ブロツク1200
によつてコールド・スタートでない事が判明する
と、決定ブロツク1210で起点がウオーム・ス
タートであるかどうかの決定がなされる。もし起
点がウオーム・スタートならば、決定ブロツク1
240で制御レコード500の記憶ノードIDの
フイールド510中にある記憶ノードIDがホス
トIDと同じであるかどうかの決定がなされる。
決定ブロツク1240の決定に対する答がNOの
時は、現在記憶ノードとして初期設定されるてい
るホスト・プロセツサはウオーム・スタートの前
に記憶ノードとして働いていたホスト・プロセツ
サと異なる(この様な事は希である。それは所与
の複合システムでは通常一つのホスト・プロセツ
サが記憶ノードとして働いているからである)。
従つてオペレレータへの応答待ち書込み
(WTOR)がブロツク1260で遂行される。
WTOR手順で、タスクはオペレータが応答する
迄待機する。もしオペレータがホスト・プロセツ
サを記憶ノードに強制する様に決定ブロツク12
70で決定しない場合にはブロツク1290で誤
りルーチンが遂行され、QDS10がクローズさ
れ解放され、この初期設定処理が終了1300で
終了する。この誤りの通常の原因は正しくないホ
スト・プロセツサを記憶ノードとして指定した事
による。 もしオペレータがそのホスト・プロセツサを記
憶ノードにしなければならない事を指示した場合
には、実行は次頁結合子1280に進む。もし決
定ブロツク1240で制御レコード500の記憶
ノードIDフイールド510中の記憶ノードIDが
HSMホスト・プロセツサIDと同じである事がわ
かると、実行は次頁結合子1250に進む。 もし、起点がコールド・スタートでもなく(ブ
ロツク1200)、ウオーム・スタツートでもな
い(ブロツク1210)場合には、起点がホツ
ト・スタートでなければらない。ホツト・スター
ト中に、これと同じホスト・プロセツサが記憶ノ
ード状態を保持していなければならない。従つて
決定ブロツク1220で制御レコード500中の
記憶ノードIDがHSMのホスト・プロセツサのID
と同じであるかどうかの決定がなされる。フイー
ルド510の記憶ノードIDがホスト・プロセツ
サIDと同じならば、記憶ノードの初期設定は、
完了しているので終了1230で終了する。 第9図を参照するに、第8図のフローチヤート
の続きが示されている。決定ブロツク1240に
おいて記憶ノードIDがHSMホスト・プロセツサ
IDと同じ事が決定されたウオーム・スタートで
は、実行は第8図の次頁結合子1250からオン
頁結合子1255を介して、ブロツク1360に
進む。決定ブロツク1270の決定に従い、この
ホスト・プロセツサが記憶ノードになる場合に
は、実行は第8図の次頁結合子1280からオン
頁結合子1285を介してブロツク1450で記
憶ノード・セグメント中にホストIDが置かれる。
ブロツク1360で制御レコード500の割振り
ビツト・マツプ522を左から右に走査して、制
御レコード500自体に対応するビツトの次の最
初の1を発見する。この最初の1はQDS10の
最初の活動状態にある管理作業要素の位置を示し
ている。割振りビツト・マツプ522中のこの1
ビツトの位置は最初の活動状態の管理作業要素を
含むQDS10内の相対レコードの番号を示す。 決定ブロツク1370中で、管理作業要素
(MWE)が見出されたかどうかの決定がなされ
る。従つて全割振りビツト・マツプを走査して1
を発見しなかつた時は決定ブロツク1370の決
定に対する答えはNOであり、全QDS10は空き
である。ウオーム・スタートでQDS10が空き
であると、活動時間フイールドの時刻がブロツク
1420で更新され、制御レコード500が
QDS10の相対レコード0中に書戻される。ブ
ロツク1430でQDS10は解放され、記憶ノ
ードのアクセス・タイマが始動する。終了144
0はウオーム・スタートに基づく記憶ノードの初
期設定が成功裡に完成した事を示す。 管理作業要素が見出されると(ブロツク137
0)、決定ブロツク1380でその管理作業要素
が完成した管理作業要素であるかどうかの決定が
なされる。管理作業要素が完成していると、これ
はブロツク1390で正しい作業ノード作業完成
待ち行列中に置かれる。もし管理作業要素が完成
していないと、管理作業要素は記憶ノードの汎用
待ち行列中に置かれる。 管理作業要素が完成していて作業ノード作業完
了待ち行列中に置かれるか、もしくは完成してい
なくて記憶ノードの汎用待ち行列中に置かれるか
にかかわりなく、ブロツク1400中で制御レコ
ード500の割振りビツト・マツプ522が走査
され、次の管理作業要素が発見される。実行は決
定ブロツク1370にループ・バツクして、この
中で他の管理作業要素が存在するかどうかの決定
がなされる。他の管理作業要素が存在しない場合
には、実行は上述の様に終了1440に進む。も
し管理作業要素が見出されると、再び決定ブロツ
ク1380中でこれを作業ノード待ち行列に置く
か、記憶ノードの汎用待ち行列中に置くかの決定
がなされ、再びブロツク1400中で割振りビツ
ト・マツプ522が走査される。 このループはQDS10中のすべての管理作業
要素が探知される迄続く。この動作がウオーム・
スタートの記憶ノード初期設定中になされるの
は、QDS10内の或る管理作業要素が完成して
いて、他の管理作業要素は完成していないが、後
の動作のためにすべての完成管理作業要素を夫々
の作業ノード待ち行列中に置き、完成していない
すべての管理作業要素を記憶ノード待ち行列中に
並べつくすための終詰処理が必要だからである。 E11 作業ノード管理作業要素検索 第10図を参照するに、第5図のブロツク83
0内の動作の詳細なフローチヤートが示されてい
る。ブロツク830中では、作業ノードが検索さ
れ、処理される。実行は決定ブロツク820から
決定ブロツク1460に進行し、作業ノードの
QDSアクセス・タイマが時詰間切れになつてい
るかどうかが決定される。もし、作業ノードのア
クセス・タイマが時間切れになつていないと、作
業ノードはまだQDS10にアクセス出来ず、終
了1540に出る。 もし作業ノード・アクセス・タイマが時間切れ
になつていると、作業ノードはブロツク1460
に示した様にそれ自身の汎用待ち行列をロツクし
ている。これによつて作業ノード内で走行中の他
のタスクは作業ノード待ち行列にアクセス出来ず
作業ノード管理作業要素を検索する。(作業ノー
ドが管理作業要素を検索している間に汎用待ち行
列へのアクセスを許すと、待ち行列にする処理が
遮げられる)。ブロツク1480で管理作業要素
を検索する作業ノードはQDS10を予約し、他
のホスト・プロセツサをQDS10からロツク・
アウトする。ブロツク1490で作業ノードは
QDS10から制御コード500を読取る。 次に作業ノードはQDS10の制御レコード5
00内の作業ノード・セグメントを探索する。決
定ブロツク1500中で作業ノードがその作業ノ
ード・セグメントを発見したかどうかの決定がさ
れる。作業ノードがその作業ノード・セグメント
を見つけ得なかつた場合には、誤り条件が存在
し、ブロツク1560で作業ノード汎用待ち行列
がロツクされ、解放されて、処理は終了1570
で終了する。 上述の様に、作業ノードはQDS10をアクセ
スする毎に、この誤り検査を行い、例えば媒体の
故障によるQDS10中の情報の破壊を検出する。
作業ノードが検査した作業ノード・セグメントが
正確である事がわかると、QDS10内の他のデ
ータが正しいという高い確信がもてる。それは多
くの故障は全レコードを破壊し、或るフイールド
を破壊して他のフイールドを完全に残すという様
な事がないからである。 作業ノード・セグメントが決定ブロツク150
0中で見出されると、決定ブロツク1510で制
御レコード500の記憶ノードIDフイールド5
10が0を含むかどうかの決定がなされる。フイ
ールド510の0値は記憶ノードが不活動状態に
あり、ブロツク1560中で誤り条件が発生され
て作業ノードの汎用待ち行列がクローズされ、解
放される。 記憶ノードIDフイールド510が0でない場
合には、ブロツク1520で時間活動フイールド
524中の時刻を調べて、経過時間が(例えば)
5分以内であるかどうかを知る。記憶ノードは
QDS10をアクセスする度にフイールド524
中の活動時間を更新しているので、時間が5分以
上経つているという事は記憶ノードがかなりの時
間QDSをアクセスしていない事を示し、記憶ノ
ードの故障の様なシステムの故障がある事を示
す。 もし長時間の経過が発見されると(おそらく記
憶ノードが動作出来ない事を示す)、ブロツク1
580でオペレータへの返答待ち書込み
(WTOR)が行われる。さらに決定ブロツク15
20が時間が5分以上経つている事を決定した時
に処理中の管理作業要素があつて、オペレータが
WTORに取消し指令で応答する時は管理作業要
素は取消される。オペレータの応答が続けよであ
れば、管理作業要素は消去されない。時間が5分
以上経つていない時は、実行は次頁結合子153
0に続く。 第11図を参照するに、頁結合子1535は第
10図の次頁結合子1530に継つている。決定
ブロツク1590で、作業ノード汎用待ち行列か
ら受取つた管理作業要素が既にQDS10内の記
憶ノード待ち行列中にあるかどうかの決定がなさ
れる。作業ノード汎用待ち行列は予定作業をタス
ク指名し、完成した作業を受取るための汎用記憶
装置である。従つて作業ノード汎用待ち行列内の
種々の管理作業要素は、これを記憶ノード待ち行
列中に置くべきか、もしくはこれに既に置かれて
いるかもしくは記憶ノードによつて既に処理され
たかを決定しなければらない様な種々の状態にあ
る。 例えば、作業ノード汎用待ち行列内の管理作業
要素にはQDS10に通知されるのを待つている
か、QDS10に通知されてはいるが完成してい
ないか、完成して検索されたが、削除されていな
いものがある。管理作業要素が既にQDS10に
存在する時には実行は決定ブロツク1660に分
岐し、ここで作業ノード汎用待ち行列中にさらに
管理作業要素(WNE)が存在するかどうかを示
す決定がなされる。 もし作業ノード汎用待ち行列中の管理作業要素
が、決定ブロツク1590で判明する様に、予じ
めQDS10中になければ、決定ブロツク160
0で管理作業要素が削除可能であるか、待機型の
作業要素であるかどうかが決定される。要素が削
除可能であるならば管理作業要素はブロツク17
00において除去され、実行は決定ブロツク16
60に進み、さらに管理作業要素が存在するかが
決定される。ブロツク1700での除去は作業ノ
ード汎用待ち行列から管理作業要素を取除き、取
除かれた管理作業要素は要求者に戻される。 決定ブロツク1600によつて判明する様に、
管理作業要素が待機型で削除型でなければ、決定
ブロツク1610で作業ノード汎用待ち行列中の
管理作業要素がQDS10内の記憶ノード予定作
業待ち行列中に並べなければならないかどうかの
決定がなされる。もし考察中の管理作業要素が局
所的に処理される作業ノード要求であれば、決定
ブロツク1610の決定に対する答はNOであ
り、実行は上述の如く決定ブロツク1660に進
む。 考慮中の管理作業要素が、決定ブロツク161
0で決定された結果、記憶ノード予定作業待ち行
列に加えなければならないものである時は、
QDS10内の割振りビツト・マツプ522がブ
ロツク1620で走査され、マツプ522内の相
対ビツト位置の0によつて示される最初に利用出
来る相対レコードを発見する。ブロツク1620
の走査で利用可能なレコードが発見されると、管
理作業要素がブロツク1630でその利用可能な
レコード中に保管される。 この管理作業要素はQDS10中の記憶ノード
予定作業待ち行列中に並べられるが、この時記憶
ノード・ポインタ・フイールド512中に存在す
る相対レコード番号を並べられた管理作業要素の
相対レコード番号フイールド544に書込み、管
理作業要素が挿入されたレコードの相対レコード
番号を制御レコード500の記憶ノード・ポイン
タ・フイールド512に書込む。ブロツク163
0に示す様に管理作業要素を配列した時、実行は
ブロツク1670に進み、更新制御レコード50
0をQDS10に書戻す。この動作が必要なのは、
作業ノードは管理作業要素を記憶ノード待ち行列
に加えた時に、制御レコード500のポインタ・
フイールド512を更新するが、この情報を変更
した時にQDS10に書込んで、作業ノード汎用
待列の処理が完成する前にこの実行が割込まれた
場合にQDS10の完全性を保持しなければなら
ないからである。 決定ブロツク1640で、記憶ノード予測作業
待ち行列に加えられた管理作業要素が非待機型管
理作業要素であるかどうかの決定がなされる。管
理作業要素が待機型の管理作業要素である場合に
は、実行は決定ブロツク1660に進み、上述の
様に作業ノード汎用作業要素中にさらに管理作業
要素が存在するかどうかの決定がなされる。もし
記憶ノード待ち行列に加えられる管理作業要素が
決定ブロツク1640で判明する様に非待機型の
管理作業要素である時は、記憶ノード予定作業待
ち行列に加えた管理作業要素はブロツク1650
で作業ノード汎用待ち行列からはずされる。管理
作業要素が非待機型の要素である時には、作業ノ
ードはこれを待つていないので、記憶ノードは作
業ノード待ち行列中に応答を置く必要はない。 ブロツク1650で作業ノード汎行待ち行列か
ら管理作業要素をはずした後、実行は決定ブロツ
ク1660に進みここで作業ノード汎用待ち行列
中にさらに管理作業要素が存在するかどうかの決
定がなされる。作業ノー汎行待ち行列中にさらに
管理作業要素が存在する時は、ループが繰返され
て、決定ブロツク1590から始まつて、ここで
作業ノード汎用待ち行列中の次の管理作業要素が
既に存在するかどうかが決定される。 このループは記憶ノードの予定作業待ち行列中
に置かれるべき作業ノード汎用待ち行列のすべて
の管理作業要素が処理される迄繰返される。すべ
てのこの様な管理作業要素が処理された時、実行
は決定ブロツク1660から次頁結合子1680
に進む。この時、作業ノードは管理作業要素を記
憶ノード待ち行列中に置き終え、次頁結合子16
80を介して、完成した管理作業要素を記憶ノー
ドから検索して戻す段階に進む。完成した管理作
業要素は記憶ノードによつて各作業ノードの作業
完了待ち行列中に置かれる。 E12 作業ノード−管理作業要素の完成 第12図を参照するに、管理作業要素を検索す
る第5図のブロツク850の機能のより詳細なフ
ローチヤートが示されている。作業ノードがその
管理作業要素を記憶ノード予定作業待ち行列中に
置き、完成した管理作業要素をその作業完成待ち
行列から検索する用意が出来た時、実行は第11
図の次頁結合子1680から頁結合子1950に
進む。ブロツク1960で、作業ノードの作業完
成ポインタが保管される。例えば、この処理を実
行している作業ノードが作業ノード1である時に
は、QDS10の制御レコード500のポイン
タ・フイールド516が保管される。この処理を
作業ノード2が処理している時は、ポインタ・フ
イールド520が保管される。 決定ブロツク1970で保管ポインタが0であ
るかどうかの決定がなされる。ポインタが0でな
い時は、作業ノードの作業完成待ち行列は空でな
く、記憶ノードが作業ノードのためのいくつかの
管理作業要素を完成している事を意味している。
これ等の完成管理作業要素は作業ノードによつて
検索されなければならない。管理作業要素を検索
するために、ブロツク2030において、作業ノ
ードはブロツク1960において保管しておいた
制御レコード500の適切なポインタ・フイール
ドのポイントが指示する管理作業要素を読取る。
この要素は作業ノードの作業完成待ち行列上に最
後に置かれた完成した管理作業要素である。この
管理作業要素がブロツク2040でこれを検索し
てる作業ノードの汎用待ち行列にコピーされる。 ブロツク2040で作業ノードの汎用待ち行列
にコピーした管理作業要素の相対レコード番号フ
イールド544は作業ノードの作業完成待ち行列
中の次の管理作業要素を指摘する。このポインタ
はブロツク2050で保管され、作業ノードが次
の管理作業要素をQDS10から検索出来る様に
する。 作業ノードのバツフア中にある制御レコード5
00は作業ノードの待ち行列の次の管理作業要素
の相対レコード番号を適切なポインタ・フイール
ド、例えば作業ノード1のためのフイールド51
6に書込む事によつて更新される。次に制御レコ
ード500はQDS10に書戻される。作業ノー
ドがその作業完成待ち行列を検索している間に
HSMの動作を突然停止させる様な誤りが生じた
場合には、この様な手段でQDS10が更新され
る。ブロツク2060で管理作業要素の呼出者に
要求した機能が完成した事が知らされる。 次に実行は決定ブロツク1970に戻り、ブロ
ツク2030でQDS10から検索した管理作業
要素の相対レコード番号フイールド544中から
読取つたポインタが0であるかどうかが決定され
る。ポインタが0でない時は作業ノードの作業完
成待ち行列は空でなく、ブロツク2030,20
40,2050及び2060を含むループが繰返
される。待ち行列が空きで0に等しいポインタが
QPS10から読取つた最後の管理作業要素の相
対レコード番号フイールド544中に存在する時
は、ブロツク1980で作業ノード汎用待ち行列
がアドレスされる。次に実行は次頁結合子199
0に進む。 次に第13図を参照するに、実行は次頁結合子
1990からオン頁結合子2120に導入する。
決定ブロツク2070で、作業ノードの汎用待ち
行列中に管理作業要素が存在するかどうかの決定
がなされる。もし存在しない時は、作業ノードは
管理作業要素を記憶ノード予定作業待ち行列中に
並べる処理とそれ自身の作業完成待ち行列から完
成した管理作業要素をはずす処理の両方を完了し
ている。ブロツク2130でQDS10及び作業
ノードの待ち行列が解放される。さらにブロツク
2130で、作業ノードのアクセス・タイマが始
動する。この処理は終了2140で終わる。 ブロツク2070で、作業ノード汎用待ち行列
中にまだ管理作業要素が存在すると、決定ブロツ
ク2080中で管理作業要素が完成してQDS1
0中に通知されたかどうかが決定される。管理作
業要素が完成していて通知されていると、決定ブ
ロツク2090で完成し通知された管理作業要素
の受取りを呼出者が肯定応答したかどうかについ
ての決定がなされる。もし受信に肯定応答がなさ
れていると、管理作業要素は完全にQDS10か
ら除去され、ブロツク2100に示した様に割振
りビツト・マツプ522中の対応するビツトが0
にされ、更新制御レコード500がQDS10に
書込まれる。次にブロツク2110で管理作業要
素は作業ノードの汎用待ち行列からはずされる。
第13図に示したループは作業ノード汎用待ち行
列中にもはや管理作業要素がなくなる迄繰返さ
れ、終了2140で通常の終了が生ずる。 E13 記憶ノード−予定作業の検索 第14図を参照するに、記憶ノードが処理すべ
き管理作業要素を探索する方法の流れ図が示され
ている。この図は第5図のブロツク870
〔MWEの検索、処理〕の詳細である。実行はブ
ロツク860から決定ブロツク1710に進み、
ここで記憶ノードのアクセス・タイマが時間切れ
になつているかどうかの決定がなされる。もし記
憶ノードのアクセス・タイマが時間切れになつて
いない時には、記憶ノードはQDS10にアクセ
ス出来ず、終了1780で終了する。 記憶ノードのアクセス・タイマが時間切れであ
ると、記憶ノードはQDS10へのアクセスが許
容され、ブロツク1720で記憶ノード汎用待ち
行列をロツクして、記憶ノードがQDS10をア
クセスしている間に記憶ノードで走行中のタスク
が汎用待ち行列を妨害しない様にされる。ブロツ
ク1730で記憶ノードQDS10を予約し、す
べての作業ノードを閉出し、ブロツク1740で
QDS10から制御レコード500を読取る。次
に実行は次頁結合子1770を介して他の図面に
移る。 第15図を参照するに、実行は次頁結合子17
70からオン頁結合子1775へ進む。決定ブロ
ツク1810でQDS10中の制御レコード50
0の記憶ノード・ポインタ・フイールド512内
の記憶ノードの予定作業ポインタが0であるかの
決定がなされる。ポインタ・フイールド512中
の記憶ノードの予定作業ポインタが0の場合に
は、記憶ノードの予定作業待ち行列は空きであ
り、実行はオフ頁結合子1890に進行する。さ
らに決定ブロツク1810でなされる決定は
QDS10の内容を無効にする媒体の故障を検出
するのを助ける。 決定ブロツク1810によつて記憶ノードの予
定作業待ち行列中に管理作業要素が存在する事が
決定されると、ブロツク1820中で予定作業ポ
インタが保管され、記憶ノード予定作業ポイン
タ・フイールド512に0が置かれる。ポイン
タ・フイールド512を0にする事によつて新ら
しい記憶ノード予定待ち行列が作業ノードにより
構築出来、この間に現在の予定作業待ち行列は記
憶ノードによつて処理可能になる。 さらにブロツク1820で活動時間フイールド
24の時間が更新される。QDS10を更新した
ものがブロツク1830で保管され、ブロツク1
840でQDS10が記憶ノードによつて解放さ
れる。この解放によつて作業ノードはQDS10
にアクセツが可能になり、他の記憶ノード予定作
業待ち行列を非同期的に構築し、完成した管理作
業要素の検索が可能になる。ブロツク1820で
記憶ノードによつて保管された記憶ノード・ポイ
ンタ・フイールド512からのポインタによつて
指示された管理作業要素がQDS10から読取ら
れる。この管理作業要素はブロツク1860で記
憶ノードの汎用待ち行列中に並べられる。記憶ノ
ードがQDS10にアクセスしている間に記憶ノ
ードが予定作業待ち行列の処理を進める事が出来
るのは記憶ノードの待ち行列の処理ポインタを変
更せず、同期的な解放がないからである。 ブロツク1870において、ブロツク1860
で記憶ノード汎用待ち行列中に並べられた管理作
業要素の相対レコード番号フイールド544が読
取られ、待ち行列中にさらに管理作業要素が存在
するかどうかを決定するのに使用し、もし存在す
る時は次の要素がどこに存在するかが決定され
る。従つて決定ブロツク1880では、相対レコ
ード番号フイールド544が0であるかどうかを
決定する。 もしポインタが0でなければ、待ち行列中には
少なく共1つ以上の管理作業要素が存在し、実行
ループはブロツク1850に戻つて、この管理作
業要素を読取る。ブロツク1850を決定ブロツ
ク1880を介して実行する時は、前の管理作業
要素のフイールド544が使用されて、次の管理
作業要素を読取る。記憶ノード汎用待ち行列中に
並べられた最後の管理作業要素のフイード544
のポインタが0である時は記憶ノード予定作業待
ち行列中にはもはや管理作業要素が存在せず、実
行は決定ブロツク1880から次頁結合子189
0に進む。 E14 記憶ノード−管理作業要素の完成 次に第16図を参照するに、第15図の次頁結
合子1890はオン頁結合子2150に続く。
QDS10はブロツク1840で記憶ノードによ
つて解放されているので、記憶ノードはQDS1
0をブロツク2160で再び予約しなければなら
ない。記憶ノードは、再びブロツク2170で制
御レコード500を読取り、ブロツク2180で
記憶ノードの汎用待ち行列の最上部をアドレスす
る。次に実行は次頁結合子2190で次頁に進
む。 第17図を参照するに、第16図の次頁結合子
2190は頁結合子2195に続く。決定ブロツ
ク2210で、記憶ノード汎用待ち行列に管理作
業要素が存在するかどうかが決定される。もし存
在する時は決定ブロツク2220で管理作業要素
が完成し、QDS10中に存在するかどうかの決
定がなされる。もし管理作業要素が完成し、
QDS10中に存在する時はブロツク2250で
管理作業要素が待機型管理作業要素であるかどう
かの決定がなされる。 管理作業要素が待機型作業要素である時は、適
切な作業ノード・セグメントの作業ノードのポイ
ンタ・フイールド中にポインタはブロツク226
0でその作業ノードの作業完成待ち行列に並べら
れている管理作業要素の相対レコード番号フイー
ルド544に保存される。さらに、並べられた管
理作業要素の相対レコード番号(RRN)が適切
な作業ノード・セグメントのポインタに書込まれ
る。例えば、管理作業要素が作業ノード1によつ
て通知された場合には、並べられた管理作業要素
の相対レコード番号はポインタ・フイールド51
6に記憶される。 ブロツク2340で完成した管理作業要素は
QDS10の作業ノード・ポインタ・フイールド
に保存された位置に書込まれ、更新制御レコード
500がQDDS10の相対レコード0に保存され
る。管理作業要素はブロツク2350で記憶ノー
ドの汎用待ち行列からはずされる。次に実行は決
定ブロツク2210にループし、ここで記憶ノー
ドの汎用待ち行列中にさらに管理作業要素が存在
するかどうかが決定される。 処理中の管理作業要素が決定ブロツク2250
によつて決定さる様に待機型の管理作業要素でな
い時は、管理作業要素に対応する割振りビツト・
マツプ522中のビツトはブロツク2320で0
にされる。さらにブロツク2330で記憶ノード
汎用待ち行列から管理作業要素が剥脱される。次
に実行は決定ブロツク2210にループし、上述
の様に記憶ノードの汎用待ち行列中に追加の管理
作業要素が存在するかどうかが決定される。決定
ブロツク2210によつて記憶ノード汎用待ち行
列中にもはや管理作業要素が存在しない事がわか
ると、活動時間フイールド524の時刻がブロツ
ク2270で更新され、制御レコード500が
QDS10の相対レコード0に書込まれる。ブロ
ツク2280でQDS10及び記憶ノード汎用待
ち行列が記憶ノードによて解放され、記憶ノード
のアクセス・タイマがセツトされる。次に実行は
終了2290で終了する。 F 発明の効果 以上説明したように、本発明によれば、多重プ
ロセツサ・システムの複数のプロセツサの1つを
記憶ノードに指定し、残りのプロセツサを作業ノ
ードに指定する事によつてデータ記憶ボリユーム
に効率に効育が高められる。
【図面の簡単な説明】
第1A図は複数の周辺データ記憶装置を有する
多重ホスト・データ処理システムの簡単なブロツ
ク図である。第1B図は本発明によつて定義され
る空間及び定義域を示す変形ベン図である。第2
A図はホスト・プロセツサのための共通のデー
タ・セツトである待ち行列データ・セツトを示す
図である。第2B図は第2A図の待ち行列デー
タ・セツトに並べる事が出来る通信データ・パケ
ツトのキー・フイールドを示す図である。第3
図、第4図、第5図は本発明の多重ホスト・デー
タ処理システムのホスト・プロセツサで同時に実
行される計算機プログラムの初期設定及びシヤツ
トダウン処理を示す簡単なフローチヤートであ
る。第6図、第7図は移送及びバツクアツプ空間
を独占的に制御しないノードの1つのための待ち
行列初期設定を示す詳細なフローチヤートであ
る。第8図、第9図はマイグレーシヨン及びバツ
クアツプ空間を独占的に制御するノードのための
待ち行列初期設定を示す詳細なフローチヤートで
ある。第10図、第11図、第12図及び第13
図は移送及びバツクアツプ空間を排他的に制御し
ないノードの1つのための通信データ・パケツト
の検索及び処理を示す詳細なフローチヤートであ
る。第14図、第15図、第16図及び第17図
は移送及びバツクアツプ空間を独占的に制御する
通信データ・パケツトの検索及び処理を示す詳細
なフローチヤートである。 10……待ち行列データ・システム(QDS)、
15……多重プロセツサ・システム、50……
HSM管理空間、60……HSM所有空間、63…
…マイグレーシヨン空間、66……バツクアツプ
空間、100,110,120,130,14
0,150……直接アクセス記憶装置(DASD)、
200,210,220,230……CPU、1
60,170,175……移送空間の2次ボリユ
ーム、180,185,190,195……バツ
クアツプ空間のボリユーム。

Claims (1)

  1. 【特許請求の範囲】 1 多重プロセツサ・システムのプロセツサのす
    べてにアクセス可能な、少なくとも共通にアクセ
    ス可能な記憶媒体を有する多重プロセツサ・シス
    テム中で、サービス要求を発生する多くの同時的
    な処理を制御する方法であつて、 (a) 多重プロセツサ・システムのプロセツサの1
    つを記憶ノードとして指定し、 (b) 多重プロセツサ・システムの残りのプロセツ
    サを作業ノードとして指定し、 (c) 作業ノード中の処理によつて発生したサービ
    ス要求を認識し、 (d) 上記サービス要求を上記共通にアクセス可能
    な記憶媒体に送り、 (e) 上記記憶ノードが上記共通にアクセス可能な
    記憶媒体から上記サービス要求を検索して、処
    理する段階を含む、 作業ノードの各々と記憶ノードが記憶媒体だけ
    を通じて通信する事を特徴とする多重プロセツ
    サ・システム中の多重同時処理制御方法。
JP61193003A 1985-09-24 1986-08-20 多重プロセツサ・システム中の多重同時処理制御方法 Granted JPS6272051A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US77980585A 1985-09-24 1985-09-24
US779805 1985-09-24

Publications (2)

Publication Number Publication Date
JPS6272051A JPS6272051A (ja) 1987-04-02
JPH031697B2 true JPH031697B2 (ja) 1991-01-11

Family

ID=25117630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61193003A Granted JPS6272051A (ja) 1985-09-24 1986-08-20 多重プロセツサ・システム中の多重同時処理制御方法

Country Status (2)

Country Link
EP (1) EP0216170A3 (ja)
JP (1) JPS6272051A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3130536B2 (ja) * 1993-01-21 2001-01-31 アップル コンピューター インコーポレーテッド 多数のネットワークされたコンピュータ記憶装置からデータを転送し記憶する装置ならびに方法
CA2153770A1 (en) * 1993-01-21 1994-08-04 Charles S. Spirakis Method and apparatus for data transfer and storage in a highly parallel computer network environment
JP2005293224A (ja) * 2004-03-31 2005-10-20 Hitachi Computer Peripherals Co Ltd バックアップシステム及びバックアップ方法
JP2007243112A (ja) * 2006-03-13 2007-09-20 Disco Abrasive Syst Ltd ウェーハの凹状加工方法及び凹凸吸収パッド

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2023314B (en) * 1978-06-15 1982-10-06 Ibm Digital data processing systems
US4402046A (en) * 1978-12-21 1983-08-30 Intel Corporation Interprocessor communication system
US4449182A (en) * 1981-10-05 1984-05-15 Digital Equipment Corporation Interface between a pair of processors, such as host and peripheral-controlling processors in data processing systems

Also Published As

Publication number Publication date
EP0216170A2 (en) 1987-04-01
JPS6272051A (ja) 1987-04-02
EP0216170A3 (en) 1989-09-06

Similar Documents

Publication Publication Date Title
EP0130349B1 (en) A method for the replacement of blocks of information and its use in a data processing system
US5093912A (en) Dynamic resource pool expansion and contraction in multiprocessing environments
EP0150705B1 (en) Data storage hierarchy and its method of operation
JP5037881B2 (ja) ストレージシステム及びその制御方法
US5511177A (en) File data multiplexing method and data processing system
US6085200A (en) System and method for arranging database restoration data for efficient data recovery in transaction processing systems
US5379412A (en) Method and system for dynamic allocation of buffer storage space during backup copying
US5317728A (en) Storage management of a first file system using a second file system containing surrogate files and catalog management information
USRE37364E1 (en) Method and system for sidefile status polling in a time zero backup copy process
US6256704B1 (en) Task management for data accesses to multiple logical partitions on physical disk drives in computer systems
US6848021B2 (en) Efficient data backup using a single side file
US20050027956A1 (en) System and method for using file system snapshots for online data backup
EP0566968A2 (en) Method and system for concurrent access during backup copying of data
EP0747832A2 (en) Customer information control system and method in a loosely coupled parallel processing environment
JPH0766355B2 (ja) 入出力チャネル経路上の負荷を均衡させる方法及びコンピュータ・システム
JP2004062869A (ja) コンピュータ・システムでのトランザクションの選択的キャッシングの方法および装置
US6658541B2 (en) Computer system and a database access method thereof
JP2000122902A (ja) ログ構造記憶先にデ―タを書き込む方法、媒体及びデ―タ記憶システム
EP0747813A2 (en) Customer information control system and method with temporary storage queuing functions in a loosely coupled parallel processing environment
US20060069888A1 (en) Method, system and program for managing asynchronous cache scans
US5678024A (en) Method and system for dynamic performance resource management within a computer based system
JPH06332625A (ja) ファイルのデータ多重化方法及びデータ処理システム
EP0747812A2 (en) Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment
JPH031697B2 (ja)
US6732194B1 (en) Method and apparatus for multi-sequential data operations