Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/EE/Message Control Extension 使用の手引


2.1.4 コネクションリプレース機能

コネクションリプレース機能とは,割り当て可能な未確立コネクションがない状態でコネクションの確立要求を受け付けたときに,確立状態にあり,かつ送信処理で使用していない最も古いコネクションを解放することで新たなコネクションの確立要求を受け付ける機能です。この機能を使用していない場合に,割り当て可能な未確立コネクションがない状態でコネクションの確立要求を受け付けたときは,コネクションの確立要求を拒否します。

コネクションリプレース機能は,自システムのIPアドレスとポート番号が同じであるコネクションが,すべて確立状態にあるときだけ使用できます。

コネクションリプレース機能を使用するときの処理の流れを次の図に示します。

図2‒7 コネクションリプレース機能を使用するときの処理の流れ

[図データ]

説明
  1. 相手システムからのコネクション確立要求を受け付けます。

  2. MCPは,コネクション管理テーブルを検索し,未確立のコネクションがあるかどうかをチェックします。

  3. コネクション管理テーブルを調査した結果,割り当て可能なコネクションがない場合,送信処理で使用していない最も古いコネクション(コネクションID(A))の解放要求をします。

  4. コネクションを解放します。

  5. コネクションID(A)のコネクション解放によるRL(MCP後処理トランザクション)を処理キューに登録します。

  6. UAPを起動してコネクション解放を通知します。

  7. 確立要求のあったコネクションをコネクションID(A)で確立します。

  8. コネクションID(A)のコネクション確立によるRL(MCP後処理トランザクション)を処理キューに登録します。

  9. UAPを起動してコネクションの確立を通知します。

注意事項

eemcpcn定義コマンドの指定値によっては,コネクションリプレース機能を使用できません。コネクションリプレース機能を使用できない場合は,次に示すとおりです。

  • -oオプションのoportnoオペランドに1〜65535の値を指定した場合

  • -rオプションのportnoオペランドが一致するすべてのサーバ型コネクションで,-hオプションのchgconnオペランドの値が異なる場合

次の場合には,自システムのIPアドレスおよびポート番号が同じコネクションを複数定義できます。

ポートフリーのコネクション

eemcpcn定義コマンドの-oオプションのoportnoオペランドにfreeを指定した,ポートフリーのコネクションに対してコネクションリプレース機能を使用できます。この場合は,自システムのIPアドレスおよびポート番号が同じコネクションの中から,確立状態にあり,かつ送信処理で使用していない最も古いコネクションをコネクションリプレースの対象として選択します。

送信処理で使用していないコネクションが一つもない場合は,新たなコネクションの確立要求を拒否します。

相手アドレスのチェックを抑止しているコネクション

eemcpcn定義コマンドの-hオプションのaddrchkオペランドにnoを指定して,相手アドレスチェックを抑止したコネクションに対してコネクションリプレース機能を使用できます。この場合は,次に示す二つの条件と一致し,かつ確立状態にあり,送信処理で使用していない最も古いコネクションをコネクションリプレースの対象として選択します。

  • 接続している既存のコネクションの相手アドレスと,確立要求をした相手のアドレスが同じである

  • 自システムのIPアドレスおよびポート番号が同じである

なお,該当するコネクションがない場合,ポートフリーのコネクションの場合と同様に自システムのIPアドレスおよびポート番号が同じコネクションの中から,送信処理で使用していない最も古いコネクションをコネクションリプレースの対象として選択します。

送信処理で使用していないコネクションが一つもない場合は,新たなコネクションの確立要求を拒否します。