オープン SSCP のリソースの場所

複数のローカル ノードにまたがる空き論理ユニット (LU) を見つける場合、どのローカル ノードが LU を所有しているかをアプリケーション側が知る必要はありません。 DL-BASE は、説明されているメカニズムを使用して、適切なローカル ノードを見つける役割を担います。 この説明は、関係するメッセージ フローのトレースを解釈する上で役に立つことを目的としており、アプリケーションの作成に必要ではありません。

Open (SSCP) 要求のオープン フォース型フィールドには、強制オープンか非強制オープンかを指定します。 リンクが非アクティブであるために、オープンが意図されている LU にアクティブなシステム サービス制御ポイント (SSCP) セッションがない場合、強制オープンにより、リンクと SSCP セッションのアクティブ化を試みるようにローカル ノードに対して指示されます。 非強制オープンが成功するのは SSCP セッションが既にアクティブな場合のみであり、そうでない場合は LU の接続状態を示すエラー コードが返されます。

アプリケーションから Open(SSCP) 要求が発行された場合、オープン強制型フィールドは設定されません。 既にアクティブな SSCP セッションがある LU が見つかるまで、DL-BASE から各ノードに対して順に非強制オープンが発行されます。 このようなオープンがいずれも成功しなかった場合、最良のエラー コードを返したノード、つまりセッションをアクティブ化できる可能性が最も高いノードに DL-BASE から強制オープンが発行されます。

次の図のサンプル メッセージ フローは、2 つのローカル ノードに対するこのプロセスを示しています。 DL-BASE により、非強制オープンを使用して、それぞれが順に試行されます。 ノード #2 からのエラー コードは、ノード #1 よりも SSCP セッションをアクティブ化できる可能性が高いことを示しているので、DL-BASE からノード #2 に強制オープンが送信されます。 アプリケーションに認識されるのは、最初の要求とその応答のみです。

2 つのローカル ノードのサンプル メッセージ フローを示す画像。
2 つのローカル ノードのサンプル メッセージ フロー

致命的な障害 (3270 エミュレーション プログラムの終了など) が発生した後でもアプリケーションを再起動できるように、ソースのローカリティ、パートナー、インデックス (LPI) フィールドが同じであることを条件に、ローカル ノードは、障害が発生して再起動したアプリケーションからの Open(SSCP) 要求も受け入れます。 この場合、LU がバインドされていれば、TERM-SELF メッセージがホストに送信されます。

アプリケーションが通信する SNA サーバーの LU は、構成ファイル内の APPL レコードと LU または LU グループ レコードとの関係によって選択されます。 アプリケーションにより、Open(SSCP) 要求のソース名フィールドを使用して名前が指定されます。 ローカル ノードによって LU または LU グループの番号が入力され、LU グループ内の使用されていない LU が選択され (LU グループへの関連付けの場合)、Open(SSCP) 応答でこの LU 番号がアプリケーションに通知されます。

Open(SSCP) 要求には以下が指定されます。

  • ソース アプリケーション名。

  • アプリケーションに送信される Open(PLU) 要求を関連付けるために、アプリケーションから使用できるリソース識別子 (詳細については、「PLU 接続を開く」を参照してください)。

  • 応答ヘッダーの使用方法を指定する接続情報制御ブロックでは、ローカル ノードが LU に対して実行すべきチェックが実行されます。 コードのフィールドが 0x01 に設定されている場合、その受信チェックは、ホストから到着したデータに対してローカル ノードのデータ フロー制御レイヤーによって実行されます。 対応する送信チェックは影響を受けず、常に実行されます。 接続情報制御ブロックが用意されているのは、これらの受信チェックは SNA では省略可能だからです。 ただし、ほとんどのアプリケーションでは、これらのチェックがすべて実行される (すべての値が 0x01 に設定される) ことが要求されると予想されます。

  • アプリケーションを高優先度として扱うか低優先度として扱うかを指定するインジケーター。 すべての SNA サーバー 3270 の LU は、高優先度としてマークされています (プリンターからは重要なデータが内部向けに送信されません)。 高優先度の効果は、リンクがビジー状態のときに、データをホストへより速く送信できることです。

  • アプリケーションが LUA であるかどうかを示すインジケーター。 これにより、ローカル ノードとアプリケーションの通信に、関数管理インターフェイス (FMI) の LUA バリアントが使用されるかどうかが決まります (詳細については、「FMI の概念」を参照してください)。

  • 非強制オープンか強制オープンかを示すインジケーター。 これにより、SSCP セッションが現在アクティブでない場合に、ローカル ノードによってアクティブ化を試みるかどうかが決まります。

    Open(SSCP) 要求は、いくつかの理由で失敗することがあります。これは、次の一覧で詳しく説明しているように、アプリケーションに送信される Open(SSCP) 応答のエラー コードから判断できます。

  • ローカル ノードはまだ初期化中 (構成ファイルから情報を取得中) である可能性があります。 この場合、アプリケーションからは直ちに再試行できます。

  • 構成ファイルにアプリケーションのエントリがないか、構成ファイルのアプリケーション レコードが LU または LU グループ レコードを指していない可能性があります。

  • 非強制オープンの場合、SSCP セッションは非アクティブである可能性があります。