Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/User Agent編


2.1.1 コネクションの確立と解放

TP1/NET/User Agentは,相手システムとの間で,論理的な通信路(コネクション)を確立してメッセージを送受信します。コネクションは,OSAS/UAプロトコルのアソシエーションに対応します。

OSAS/UAプロトコルでは,データ送受信の多重化はUAで行います。

このため自システムと相手システムの同一PSAPアドレス間では,1本のコネクションしか確立できません。

〈この項の構成〉

(1) コネクションの確立

TP1/NET/User Agentからコネクションを確立します。コネクションの確立方法には,次の三つがあります。

運用コマンド(mcftactcn)入力時またはオンライン開始時の,TP1/NET/User Agentからのコネクションの確立について,次の図に示します。

図2‒1 TP1/NET/User Agentからのコネクションの確立(運用コマンド入力時またはオンライン開始時)

[図データ]

  1. OpenTP1システムを開始・再開始します。または運用コマンド(mcftactcn)を入力します。

  2. TP1/NET/User Agentは,MCF通信構成定義情報に基づいてUINT要求を作成し,相手システムに送信します。

  3. 相手システムからUINT構成指示またはUINT受諾を受信します。

  4. 相手システムからUINT構成指示を受信した場合には,処理完了UINFを相手システムに送信すると,コネクションが確立します。UINT受諾を受信した場合には,UINT受諾受信を契機にコネクションが確立します。

  5. TP1/NET/User Agentは,コネクションが確立すると状態通知イベント(COPNEVT)を通知します。

API(dc_mcf_tactcn関数またはCBLDCMCF('TACTCN△△'))発行時の,TP1/NET/User Agentからのコネクションの確立について,次の図に示します。

図2‒2 TP1/NET/User Agentからのコネクションの確立(API発行時)

[図データ]

  1. API(dc_mcf_tactcn関数またはCBLDCMCF('TACTCN△△'))を発行します。

  2. TP1/NET/User Agentは,MCF通信構成定義情報に基づいてUINT要求を作成し,相手システムに送信します。

  3. 相手システムからUINT構成指示またはUINT受諾を受信します。

  4. 相手システムからUINT構成指示を受信した場合には,処理完了UINFを相手システムに送信すると,コネクションが確立します。UINT受諾を受信した場合には,UINT受諾受信を契機にコネクションが確立します。

  5. TP1/NET/User Agentは,コネクションが確立すると状態通知イベント(COPNEVT)を通知します。

コネクション確立時に,自システムと相手システムのUAの数を突き合わせます。UAの数が不一致の場合,一致しないUAを使用不可(閉塞状態)として,一致するUAだけが使用可能となります。

コネクション確立時の,UAの数によるTP1/NET/User Agentの処理を次の表に示します。

表2‒2 UAの数によるTP1/NET/User Agentのコネクション確立

項番

UAの数

TP1/NET/User Agentの処理

1

相手システム<自システム

不一致となったUAの論理端末を使用不可とし,一致したUAの論理端末を使用可能としてコネクションを確立します。

mcftalccnコマンドに-fオプションを指定した場合は,相手システムの構成に合わせて,自システムを縮退することを通知するメッセージ(KFCA13257-W)が出力されます。

2

相手システム=自システム

該当するコネクション下の全論理端末を使用してコネクションを確立します。

3

相手システム>自システム

コネクションの確立を拒否します。

4

相手システム=0

コネクションの確立を拒否します。

ただし,MCF通信構成定義で「個別開局」と指定されたUAに関しては,該当するUAに関する論理端末を閉塞扱いとし,運用コマンド(mcftactle)またはAPI(dc_mcf_tactle関数またはCBLDCMCF('TACTLE△△'))で閉塞を解除するまではメッセージ送受信ができません。また,表2-2の項番1で使用不可となった論理端末については,閉塞を解除できません。

(2) コネクションの解放

コネクションは,次に示す場合,正常に解放します。

なお,次の場合はコネクションを強制的に解放し,障害通知イベント(CERREVT)を通知します。

注※

dc_mcf_tdctcn関数の場合,action引数にDCMCFFRCを指定します。

CBLDCMCF('TDCTCN△△')の場合,データ名D1に'1'を指定します。

コネクションの正常解放はユーザ間で,データ転送の終了の同期合わせ後に行ってください。

相手システムからのコネクションの正常解放を図2-3に示します。運用コマンド(mcftdctcn)入力時またはオンライン終了時の自システムからのコネクションの解放を図2-4に示します。また,API(dc_mcf_tdctcn関数またはCBLDCMCF('TDCTCN△△'))発行時の自システムからのコネクションの解放を図2-5に示します。

コネクションが正常に解放されると,TP1/NET/User Agentは,状態通知イベント(CCLSEVT)を通知します。

図2‒3 相手システムからのコネクションの解放

[図データ]

図2‒4 自システムからのコネクションの解放(運用コマンド入力時またはオンライン終了時)

[図データ]

図2‒5 自システムからのコネクションの解放(API発行時)

[図データ]