Hitachi

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


付録F.1 DCCMとのメッセージ衝突

TP1/NET/TCP/IPのメッセージ送信と,DCCMのメッセージ送信が衝突するときの処理の流れを,次に示すあらかじめ決められた定義の対応ごとに説明します。

  1. TP1/NET/TCP/IPの定義がmcftalccn -u delichk = dccm2s(DCCMII/TCPの定義がTERMINAL CONTENT=MASTER)の場合

  2. TP1/NET/TCP/IPの定義がmcftalccn -u delichk = dccm2m(DCCMII/TCPの定義がTERMINAL CONTENT=SLAVE)の場合

  3. TP1/NET/TCP/IPの定義がmcftalccn -u delichk = dccm3s(DCCM3/TCPの定義がTERMINAL CONTENT=MASTER)の場合

  4. TP1/NET/TCP/IPの定義がmcftalccn -u delichk = dccm3m(DCCM3/TCPの定義がTERMINAL CONTENT=SLAVE)の場合

〈この項の構成〉

(1) TP1/NET/TCP/IPの定義がmcftalccn -u delichk = dccm2s,またはmcftalccn -u delichk = dccm3sの場合

TP1/NET/TCP/IPの送信処理を中断し,メッセージ受信処理を継続します。メッセージ受信処理完了後,中断したメッセージを再送します。この場合の処理の流れを次の図に示します。

図F‒1 メッセージ衝突時の処理の流れ(TP1/NET/TCP/IPの定義がmcftalccn -u delichk = dccm2s,またはmcftalccn -u delichk = dccm3sの場合)

[図データ]

  1. UAPはDCCMへの一方送信メッセージを送信します。

  2. DCCMへ一方送信メッセージを送信する時,DCCMからUAPへの一方送信メッセージと衝突しました。

  3. 送信メッセージを出力キューに戻し,UAPからDCCMへの一方送信メッセージ送信処理を中断します。

  4. DCCMからUAPへの一方送信メッセージを受信し,UAPへ通知します。

  5. DCCMへ応答専用データを送信します。

  6. 出力キューから送信メッセージを取り出し,DCCMへ一方送信します。

(2) TP1/NET/TCP/IPの定義がmcftalccn -u delichk = dccm2mの場合

TP1/NET/TCP/IPは受信メッセージを破棄し,コネクションを解放し,コネクションレベルのCERREVTを起動します。このとき,送信メッセージは出力キューに残ります。この場合の処理の流れを次の図に示します。

図F‒2 メッセージ衝突時の処理の流れ(TP1/NET/TCP/IPの定義がmcftalccn -u delichk = dccm2mの場合)

[図データ]

  1. UAPはDCCMへの一方送信メッセージを送信します。

  2. DCCMへ一方送信メッセージを送信する時,DCCMからUAPへの一方送信メッセージと衝突しました。

  3. DCCMから受信したメッセージを破棄します。

  4. 送信メッセージを出力キューに戻し,コネクションを解放します。

  5. UAPにCERREVTを通知します。

(3) TP1/NET/TCP/IPの定義がmcftalccn -u delichk = dccm3mの場合

TP1/NET/TCP/IPは受信したメッセージを破棄し,メッセージ送信処理を継続します。この場合の処理の流れを次の図に示します。

図F‒3 メッセージ衝突時の処理の流れ(TP1/NET/TCP/IPの定義がmcftalccn -u delichk = dccm3mの場合)

[図データ]

  1. UAPはDCCMへの一方送信メッセージを送信します。

  2. DCCMへ一方送信メッセージを送信する時,DCCMからUAPへの一方送信メッセージと衝突しました。

  3. DCCMから受信したメッセージを破棄します。

  4. メッセージ送信処理を継続します。