複数のローカル ノード間で空き論理ユニット (LU) を検索しようとすると、アプリケーションは LU を所有しているローカル ノードを認識する必要はありません。 DL-BASE は、説明されているメカニズムを使用して、適切なローカル ノードを見つける役割を担います。 この説明は、関連するメッセージ・フローのトレースの解釈を支援することを目的としており、アプリケーションを記述する必要はありません。
Open(SSCP) 要求のオープンフォースタイプフィールドは、強制オープンまたは非強制オープンを指定します。 リンクが非アクティブであるためにオープンが意図されている LU にアクティブなシステム・サービス制御ポイント (SSCP) セッションがない場合、強制オープンは、リンクおよび SSCP セッションのアクティブ化を試行するようローカル・ノードに指示します。 非強制 Open は、SSCP セッションが既にアクティブな場合にのみ成功し、それ以外の場合は LU の接続の状態を示すエラー コードを返します。
アプリケーションが Open(SSCP) 要求を発行しても、オープンフォースタイプフィールドは設定されません。 DL-BASE は、アクティブな SSCP セッションが既に存在する LU が見つかるまで、各ノードに対して非強制 Open を発行します。 これらの Open が成功しなかった場合、DL-BASE は、最適なエラー コード (つまり、セッションをアクティブ化できる可能性が最も高いもの) を返したノードに対して強制的に Open を発行します。
次の図のサンプル メッセージ フローは、2 つのローカル ノードに対するこのプロセスを示しています。 DL-BASE は、非強制オープンを使用して、それぞれ順番に試行します。 ノード #2 のエラー コードは、ノード #1 よりも SSCP セッションをアクティブ化できる可能性が高いと示しているため、DL-BASE は強制的に Open をノード #2 に送信します。 アプリケーションは、最初の要求とその応答のみを認識します。
2 つのローカル ノードのサンプル メッセージ フロー
致命的な障害 (3270 エミュレーション プログラムの終了など) の後にアプリケーションを再起動できるようにするために、ローカル ノードは、失敗し、再起動されたアプリケーションからの Open(SSCP) 要求 も受け入れ、同じソースのローカリティ、パートナー、インデックス (LPI) フィールドが使用されます。 この場合、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) 応答のエラー コードから判断できるいくつかの理由の 1 つで失敗する可能性があります。
ローカル ノードはまだ初期化中である可能性があります (構成ファイルから情報を取得します)。 この場合、アプリケーションはすぐに再試行できます。
構成ファイルにアプリケーションのエントリがない場合や、構成ファイル内のアプリケーション レコードが LU または LU グループ レコードを指していない可能性があります。
非強制 Open の場合、SSCP セッションは非アクティブである可能性があります。