計画引き継ぎが行われるためには、アプリケーション・プログラムは SNPS リカバリー保留状態でなければなりません。
アプリケーションは、持続動作が使用可能になるとこの状態に入り、
次に CLOSE ACB コマンドを出すか、異常終了します。 この状態は、マルチノード持続セッションカップリング・ファシリティー構造内の所有 VTAM® によって維持され、それによって、シスプレックス内の他の VTAM は、そのアプリケーションが計画引き継ぎ処理に適格であることを認識できます。
注: D NET,ID コマンドを使用することにより、シスプレックス内の任意の MNPS アプリケーションの状態を検査できます。
APPC/MVS を持続アプリケーションとして使用している場合は、計画引き継ぎをサポートするため
に PERSIST キーワードを指定しなければなりません。PERSIST は、APPCPMxx parmlib メンバーの LUADD ステートメントに追加されています。このキーワードをコーディングすると、APPC/MVS は、この LU の 1 つに対して LUDEL が出されたときに
持続クローズを出します。
以下に、計画引き継ぎ処理について説明します。
- アプリケーションは、オペレーター・コマンドまたは自動再始動マネージャーを使用して ACB を
オープンします。このとき、アプリケーションには、異常終了したか ACB をクローズした
アプリケーション・プログラムと同じアプリケーション・プログラム名を使用します。
- リカバリーする側の VTAM は、カップリング・ファシリティー構造からリカバリーされる側のアプリケーションの機能情報を取り出します。引き継ぎ処理を継続するためには、リカバリーする側のアプリケーション・プログラムの機能が、
リカバリーされる側のアプリケーション・プログラムの機能と一致していなければなりません。
を参照してください。
一致させる必要のある実際の機能の詳細については、「z/OS Communications Server: SNA Programming」を参照してください。
- 新しい所有 VTAM は、新しいアプリケーション・プログラムと同じ名前の CDRSC があるかどうかを判別します。CDRSC 定義が存在していて、以前の所有 VTAM 上でアクティブであったときの
リカバリーする側のアプリケーション・プログラムを CDRSC が表しているものと VTAM が判別した場合は、CDRSC と
のセッションは終了し、CDRSC はシャドー・リソースになります。同じ名前のアプリケーション・プログラムが、このノードに移動しようとしているため、この処理は必須です。
リカバリーが VTAM DLUS ノードで行われる場合は、VTAM DLUS ネットワーク・ノードがサービスを提供する DLUR 従属 LU とアプリケーションとの間のセッションは、すべてこの処理の例外です。DLUS が HPR 接続パスの中間にあるかまたは全く存在しない場合は、DLUS が
これらのセッションに対して持つセッションの認識は最小限に限られます。
これらのセッションは維持されて、MNPS リカバリー処理中に再作成される HPR 接続に関連付けられます。セッションは維持されますが、
処理のこの時点でアプリケーションの CDRSC 表示から切断され、
このアプリケーションを表すようになった APPL RDTE に関連付けられます。このため、OPEN ACB 処理を継続することができます。
- OPEN ACB 処理は、引き継ぎ状態の VTAM でアプリケーションのために実行されますが、
応答はアプリケーションには通知されません。OPEN ACB 処理を正常に実行するには、VTAM は、まず現在所有権を持っている VTAM からアプリケーションの所有権を獲得しなければなりません。
- 所有権を獲得しようとしている VTAM は、引き継ぎ要求を現在の VTAM に (XCF によって) 送信します。要求が受諾されると、現在所有権を持っている VTAM は、マルチノード持続セッション構造を更新して、アプリケーション所有者として引き継ぎ状態の VTAM を表示し、次に肯定の引き継ぎ応答を送信します。
- 引き継ぎ状態の VTAM が肯定の引き継ぎ応答を受け取ると、VTAM はアプリケーションに対応する構造ストレージ・リストを要求し、アプリケーションに持続動作可能とマークを付けます。この
後、OPEN ACB への応答がアプリケーションに通知されます。これは、
この VTAM が
現在そのアプリケーションの所有権を獲得しているためです。
- 直前に所有権を持っていた VTAM は、所有権の移動後、セッションのローカル表示をクリーンアップします。その際、カップリング・ファシリティー・データに一切変更が加えられないよう配慮されています。セッションに対応する HPR 接続もローカル・ノード上でクリーンアップされます。ただし、もう一方のエンドポイントには、この処理についての認識はありません。VTAM がこれらの接続に関する情報を送信したりこれらの接続に関する受信情報を処理しないからです。アプリケーションのイメージは、
直前に所有権を持っていた VTAM においてもクリーンアップされます。HPR パイプに
関係ないセッションは、直前に所有権を持っていた VTAM によって、
この時点ですべて終了されます。
直前の所有 VTAM が DLUS ネットワーク・ノードである場合は、この VTAM DLUS がサービスを提供する DLUR 従属 LU とアプリケーションとの間の最低限のセッション認識は、ローカル・セッション表示のクリーンアップが行われた後も維持されます。この最低限のセッション認識は、従属 LU に正確
なセッション限度管理を提供するために保持しておかなければなりません。このセッション認識を
維持するためには、アプリケーションの CDRSC 表示をリソースのシャドー・セットから再利用する
か (OPEN ACB が実行される前に事前定義の CDRSC が既にアプリケーションに存在する
場合)、CDRSC を動的に作成しなければなりません。
CDRSC の再利用または作成を行うことができない場合 (始動オプションで CDRDYN=NO と指定されている場合など) は、セッション認識を維持することができず、セッションは終了します。
- 引き継ぎ状態の VTAM は、パス切り替え処理を実行して、この VTAM をアプリケーションに対応する HPR 接続の新規のエンドポイントにします。パス切り替え処理時に、セッションのリカバリー側は HPR 接続再開のためにもう一方の
エンドポイントからの応答を 90 秒待ちます。応答を受信しないと、リカバリー処理は完了しません。
パス切り替えタイマーが時間切れになると、HPR 接続のもう一方のエンドポイントではクリーンアップが
行われます。
マルチノード持続セッションで使用されている HPR 接続の場合は、
パス・スイッチ・タイマー (VTAM の場合、これは HPRPST 始動オプションです) の最小値は 4 分です。
ただし
、HPRPST 始動オプションにさらに大きな値が指定されている場合は、その値が使用されます。
- 新しい所有 VTAM は、カップリング・ファシリティーの情報から必要なセッション制御ブロックを再作成します。アプリケーション・プログラムは、OPNDST RESTORE コマンド
または APPCCMD RESTORE コマンド (APPCCMD API を使用する場合) を使用してセッション
を復元する必要があります。復元しないと、セッション・データの通信を完全な形で再開できません。
注: リカバリー側の VTAM が総称リソースをサポートせず、同じ総称リソース構造に接続しない場合、障害の発生した総称リソース・アプリケーション・プログラムのリカバリー処理を実行するアプリケーション・プログラムには、OPEN を実行しても失敗します。