(57)【特許請求の範囲】
【請求項１】
階層化して構築された階層制御手段であって，各コネクションのデータについて自階層のデータ通信制御を実行する複数の階層制御手段と，前記階層制御手段間の通信制御にかかるデータの受渡しを制御するデータ受渡し制御手段として，コンピュータを機能させるための通信制御プログラムであって，
前記階層制御手段を，
コネクションごとに通信制御を行うデータを管理するコネクション管理情報を保持するコネクション管理表記憶手段と，
通信制御の異常事象を検出する異常検出手段と，
前記異常事象を検出した場合に，前記通信制御におけるデータ送出の宛先情報を含むデータ通知制御情報に異常を設定したものを，前記データ受渡し制御部へ送出する異常設定手段と，
前記データ受渡し制御手段から受け取ったデータ通知制御情報から異常を検出した場合に，通信制御中のコネクションのデータから，前記データ通知制御情報に対応するコネクションのデータを破棄するデータ回収手段として機能させるとともに，
前記データ受渡し制御手段を，
前記階層制御手段から受け取った，前記通信制御におけるデータ送出の宛先情報を含むデータ通知制御情報を保持するデータ通知制御表記憶手段と，
前記データ通知制御情報に異常が設定されているかどうかを検出する異常判定手段と，
前記データ通知制御情報から異常を検出した場合に，前記階層制御手段に通知するデータ通知制御情報に異常を設定し，前記複数の階層制御手段もしくは前記異常が設定されたデータ通知制御情報の発信元の階層制御手段以外の階層制御手段に対し，前記異常を設定したデータ通知制御情報を一括して通知する回収通知手段として機能させる
ことを特徴とする通信制御プログラム。
【請求項２】
請求項１記載の通信制御プログラムにおいて，
前記データ受渡し制御手段において，前記異常判定手段によって前記データ通知制御情報から異常が検出された場合に，前記データ通知制御表記憶手段を参照して，前記異常を検出したデータ通知制御情報に対応するコネクションのデータを破棄する回収処理手段として，
前記コンピュータを機能させる通信制御プログラム。
【請求項３】
請求項１記載の通信制御プログラムにおいて，
前記回収通知手段は，前記異常判定手段が前記階層制御手段以外の他の通信制御装置から異常事象を示す情報を受け取った場合に，前記データ通知制御表記憶手段を参照して，前記異常事象が発生したコネクションのデータ通知制御情報内に異常を設定して前記階層制御部へ送出する処理を行う処理手段として，
前記コンピュータを機能させる通信制御プログラム。
【請求項４】
階層化して構築された階層制御手段であって，各コネクションのデータについて自階層のデータ通信制御を実行する複数の階層制御手段と，前記階層制御手段間の通信制御にかかるデータの受渡しを制御するデータ受渡し制御手段とを備えるデータ処理装置における通信制御方法であって，
前記階層制御手段によって，
コネクションごとに通信制御を行うデータを管理するコネクション管理情報にもとづいた通信制御中に異常事象を検出し，
前記異常事象を検出した場合に，前記通信制御におけるデータ送出の宛先情報を含むデータ通知制御情報に異常を設定したものを前記データ受渡し制御部へ送出し，
前記データ受渡し制御手段によって，
前記階層制御手段から受け取った，データ送出の宛先情報を含むデータ通知制御情報をデータ通知制御表記憶手段に保持し，
前記階層制御手段から受け取ったデータ通知制御情報に異常が設定されているかどうかを検出し，
前記データ通知制御情報から異常を検出した場合に，前記階層制御手段に通知するデータ通知制御情報に異常を設定し，前記複数の階層制御手段もしくは前記異常が設定されたデータ通知制御情報の発信元の階層制御手段以外の階層制御手段に対し，前記異常を設定したデータ通知制御情報を一括して通知し，
前記階層制御手段によって，
前記データ受渡し制御手段から受け取ったデータ通知制御情報から異常の表示を検出した場合に，通信制御中のコネクションのデータから，前記データ通知制御情報に対応するコネクションのデータを破棄する
ことを特徴とする通信制御方法。
【請求項５】
階層化して構築された階層制御手段であって，各コネクションのデータについて自階層のデータ通信制御を実行する複数の階層制御手段と，前記階層制御手段間の通信制御にかかるデータの受渡しを制御するデータ受渡し制御手段とを備えるデータ処理装置であって，
前記階層制御手段は，
コネクションごとに，通信制御を行うデータを管理するコネクション管理情報を保持するコネクション管理表記憶手段と，
通信制御の異常事象を検出する異常検出手段と，
前記異常事象を検出した場合に，前記通信制御におけるデータ送出の宛先情報を含むデータ通知制御情報に異常を設定したものを，前記データ受渡し制御部へ送出する異常設定手段と，
前記データ受渡し制御手段から受け取ったデータ通知制御情報から異常を検出した場合に，通信制御中のコネクションのデータから，前記データ通知制御情報に対応するコネクションのデータを破棄するデータ回収手段とを備えるとともに，
前記データ受渡し制御手段は，
前記階層制御手段から受け取ったデータ通知制御情報を保持するデータ通知制御表記憶手段と，
前記階層制御手段から受け取ったデータ通知制御情報に，異常が設定されているかどうかを検出する異常判定手段と，
前記データ通知制御情報から異常を検出した場合に，前記階層制御手段に通知するデータ通知制御情報に異常を設定し，前記複数の階層制御手段もしくは前記異常が設定されたデータ通知制御情報の発信元の階層制御手段以外の階層制御手段に対し，前記異常を設定したデータ通知制御情報を一括して通知する回収通知手段とを備える
ことを特徴とするデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，インターネットなどの通信網を利用する通信制御の基盤となる技術にかかり，特に，通信制御におけるデータ受渡し処理を行う通信制御プログラム，通信制御方法およびデータ処理装置に関する。
【０００２】
インターネットなどを利用した通信製品が今後もさまざまな形で提供されると予想される。本発明は，例えばオペレーティングシステムの一部として提供される通信制御システムなどの通信基盤製品に適用される。
【０００３】
【従来の技術】
通信制御プログラムは階層を持って制御しており，各階層の制御ごとに処理を実施して次の制御部に制御が渡される。送信した要求が完了すると１つの通信が完了する。図１２は，従来の通信制御を説明するための図である。図１２では，通信制御の階層制御を３階層で行うデータ処理装置の構成例であり，データ処理装置９０は，業務プログラム９６，階層１制御部９１，階層２制御部９２，階層３制御部９３，ディスパッチ制御部９４を備える。
【０００４】
例えば，業務プログラム９６からデータ送信があると，階層１制御部９１，階層２制御部９２，階層３制御部９３は，データ送信（コネクション）についてそれぞれ自階層の処理を実行する。階層１制御部９１は業務プログラム９６から順次データを受け取り自階層の処理を行い，宛先として階層２を指定してデータを階層２制御部９２へ送信する。階層２制御部９２は，階層１制御部９１からデータを受け取ったデータに対して自階層の処理を行い，宛先として階層３を指定してデータを階層３制御部９３へ送信する。階層３制御部９３は，受け取ったデータに対して自階層の処理を行い，通信制御装置９７へデータを送信する。
【０００５】
また，通信制御装置９７からの完了通知を受け取ると，階層３制御部９３，階層２制御部９２，階層１制御部９１の順でそれぞれの階層制御を行って，通知を上位層の制御部へ渡し，最上位層の階層１制御部９１から業務プログラム９６へ通知（正常／異常）を行う。
【０００６】
詳しくは，階層３制御部９３は，通信制御装置９７からデータ（完了通知）を受信して自階層の処理を行い，データの宛先に階層２制御部９２を設定して，ディスパッチ制御部９４へデータを渡す。
【０００７】
ディスパッチ制御部９４では図１３に示すような処理が行なわれる。ディスパッチ制御部９４では，階層３制御部９３からデータを受信すると（ステップＳ９０），データ受渡し制御表９５の宛先情報をもとに階層２制御部９２のエントリを検出する（ステップＳ９１）。階層２制御部９２のエントリが空きでない場合は（ステップＳ９２），そのデータをエントリにキューイングし（ステップＳ９３），キューの先頭データから階層２制御部９２にデータを通知する（ステップＳ９４）。階層２制御部９２のエントリが空いている場合は（ステップＳ９２），階層２制御部９２に受信したデータを通知する（ステップＳ９５）。
【０００８】
階層２制御部９２では，上述の説明とほぼ同様の流れにより自階層の処理を行い，データを階層１制御部９１へ渡す。階層１制御部９１では，階層２制御部９２から受け取ったデータに対し自階層の処理を行い，業務プログラム９６の要求にしたがって，そのデータを業務プログラム９６へ通知する。
【０００９】
データ処理装置９０では，通信制御装置９７から異常通知を受け取った場合にも，ディスパッチ制御部９４により，通知の正常または異常に関係なく，宛先情報をもとに階層制御部９１〜９３へデータを順次受け渡していく。そのため，各階層制御部９１〜９３では，それぞれの階層において受け取ったデータを処理し，異常である旨を検出して初めて自己のコネクション管理制御表（図示しない）にエントリしている制御中のデータを破棄し上位階層へ異常を通知する。
【００１０】
このような通信制御が異常の場合の処理を図１４により説明する。階層３制御部９３では，通信制御装置９７からデータを受信し（ステップ１００），処理を実行して（ステップ１０１），異常を検出すると（ステップ１０２），そのデータを破棄し（ステップ１０３），階層２制御部９２へのデータに異常表示を設定する（ステップ１０４）。
【００１１】
ディスパッチ制御部９４では，階層３制御部９３からデータを受け取ると（ステップ１０５），データ受渡し制御表９５にもとづいて階層２制御部９２へデータを通知する（ステップ１０６）。
【００１２】
階層２制御部９２では，ディスパッチ制御部９４からデータを受信し（ステップ１０７），異常を検出すると（ステップ１０８），そのデータを破棄し（ステップ１０９），階層１制御部９１へのデータに異常表示を設定する（ステップ１１０）。
【００１３】
ディスパッチ制御部９４では，再度，階層２制御部９２からデータを受け取り（ステップ１１１），データ受渡し制御表９５にもとづいて階層１制御部へデータを通知する（ステップ１１２）。
【００１４】
階層１制御部９１では，ディスパッチ制御部９４からデータを受信し（ステップ１１３），異常を検出すると（ステップ１１４），そのデータを破棄し（ステップ１１５），業務プログラム９６へ異常を通知する（ステップ１１６）。
【００１５】
従来の通信制御においては，各階層制御部ごとに処理を行い次の階層制御部へデータを通知するようにしている。このようなデータ処理中の状態で異常事象が発生すると，待ち合わせ処理により各階層制御部のデータの破棄が完了するまではそのデータ通信（コネクション）が完結しないため，同一の環境を使用する新たな通信は待たされることになる。
【００１６】
【発明が解決しようとする課題】
従来の通信制御プログラムは階層を持って制御しており，各層の制御ごとに処理を実施して次の階層へ渡すようにしている。このため，異常事象が発生した場合でも，全階層に順次異常事象を通知して処理を実施しないと一つの通信が完結しない。さらに通信が完結するまで，同一の環境を持つ新たな通信を開始することができない。また，コネクションＩＤが同一の通信については，通信環境が不安定であり信頼性が低いと考えられる。
【００１７】
よって，一つのコネクションでは複数回のデータやりとりが発生するが，異常が発生した場合には，同一コネクションの通信については，既に上位層に通知されたデータも含めてすべて回収し，新たな事象を受け付けられるようにする必要がある。
【００１８】
具体的な通信例として，銀行システムにおいては，ＡＴＭなどの端末で発生した記帳が必要なデータ（入金，出金，振込など）は，処理の都度ホストを更新するのではなく，昼間は部門サーバなどに蓄えておき，夜間に一括してホストと通信を行う。例えば，Ａ銀行がＢ銀行およびＣ銀行と通信する場合に，Ａ銀行は，Ｂ銀行とＣ銀行との間でそれぞれ異なるコネクションを設定し，各銀行間で発生した帳票に関する処理データを通信することになる。こうした処理は昼間は行うことができないために夜間にまとめて行われるものであり，通信制御にエラーが発生した場合には，早急なリカバリが要求される。
【００１９】
しかし，従来の通信制御の各階層制御部で処理を待ち合わせる方式は効率が悪く，そのデータ回収処理（データ破棄など）が完了しないと新たな事象を受け付けることができず，通信の遅延が生ずるという問題が生じていた。
【００２０】
本発明は，前処理である通信制御装置などからの異常事象を受信した場合または各階層制御部による通信制御中に異常事象が発生した場合に，データ回収処理を共通化し独立化することにより，データ回収制御を短期間で行える通信制御プログラム，通信制御方法，およびデータ処理装置を提供することを目的とする。
【００２１】
【課題を解決するための手段】
上記の課題を解決し本発明の目的を達成するため，本発明は，通信制御中に，通信制御が正常であれば従来と同様の処理を行うが，異常事象を検出した場合には，ディスパッチ制御部において異常を検出でき，さらにこの異常を各階層制御部に対し同時に通知することができるようにして，データ回収処理を局所化して実施するものである。本発明では，ディスパッチ制御手段に設けられるデータ受渡し制御手段に，新たに異常判定手段と，回収処理手段と，回収通知手段とを備える。
【００２２】
具体的には，本発明にかかるプログラムは，階層化して構築された階層制御手段であって，各コネクションのデータについて自階層のデータ通信制御を実行する複数の階層制御手段と，前記階層制御手段間の通信制御にかかるデータの受渡しを制御するデータ受渡し制御手段として，コンピュータを機能させるための通信制御プログラムであって，前記階層制御手段では，コネクションごとに通信制御を行うデータを管理するコネクション管理情報を保持するコネクション管理表記憶手段と，通信制御の異常事象を検出する異常検出手段と，前記異常事象を検出した場合に，前記通信制御におけるデータ送出の宛先情報を含むデータ通知制御情報に異常を設定したものを，前記データ受渡し制御部へ送出する異常設定手段と，前記データ受渡し制御手段から受け取ったデータ通知制御情報から異常を検出した場合に，通信制御中のコネクションのデータから，前記データ通知制御情報に対応するコネクションのデータを破棄するデータ回収手段として機能させるとともに，前記データ受渡し制御手段では，前記階層制御手段から受け取った，前記通信制御におけるデータ送出の宛先情報を含むデータ通知制御情報を保持するデータ通知制御表記憶手段と，前記データ通知制御情報に異常が設定されているかどうかを検出する異常判定手段と，前記データ通知制御情報から異常を検出した場合に，前記階層制御手段に通知するデータ通知制御情報に異常を設定し，前記複数の階層制御手段もしくは前記異常が設定されたデータ通知制御情報の発信元の階層制御手段以外の階層制御手段に対し，前記異常を設定したデータ通知制御情報を一括して通知する回収通知手段として機能させることを特徴とする。
【００２３】
また，本発明にかかるプログラムは，前記データ受渡し制御手段において，前記異常判定手段によって前記データ通知制御情報から異常が検出された場合に，前記データ通知制御表記憶手段を参照して，前記異常を検出したデータ通知制御情報に対応するコネクションのデータを破棄する回収処理手段として，前記コンピュータを機能させる。また，前記回収通知手段において，前記異常判定手段が前記階層制御手段以外の他の通信制御装置から異常事象を示す情報を受け取った場合に，前記データ通知制御表記憶手段を参照して，前記異常事象が発生したコネクションのデータ通知制御情報内に異常を設定して前記階層制御部へ送出する処理を行う処理手段として，前記コンピュータを機能させる。
【００２４】
本発明の各機能または要素をコンピュータにより実現するためのプログラムは，コンピュータが読み取り可能な可搬媒体メモリ，半導体メモリ，ハードディスクなどの適当な記録媒体に格納することができ，これらの記録媒体に記録して提供され，または，通信インタフェースを介して種々の通信網を利用した送受信により提供される。また，本発明にかかる装置または方法は，種々の通信回線に接続するデータ処理装置（ＣＰＵ／メモリ）により実現することが可能である。
【００２５】
本発明は，各コネクションのデータについて自階層のデータ通信制御を実行する複数の階層制御手段と，階層制御手段間の通信制御にかかるデータの受渡しを制御するデータ受渡し制御手段とを備えるコンピュータにおいて，以下のように作用する。階層制御手段は，異常検出手段により，通信制御の異常事象を検出すると，異常設定手段により，通信制御におけるデータ送出の宛先情報を含むデータ通知制御情報に異常を設定したものをデータ受渡し制御部へ送出する。そして，データ受渡し制御手段は，異常判定手段により，データ通知制御情報の異常の設定を検出すると，回収通知手段により，階層制御手段に通知するデータ通知制御情報に異常を設定し，複数の階層制御手段（もしくは発信元の階層制御手段以外の階層制御手段）に対し，異常を設定したデータ通知制御情報を一括して通知する。すると，階層制御手段は，データ回収手段により，受け取ったデータ通知制御情報から異常を検出すると，通信制御中のコネクションのデータから，データ通知制御情報に対応するコネクションのデータを破棄する。
【００２６】
これにより，各階層制御手段におけるデータ回収処理の待ち合わせ制御が不要になり，同一の環境下での新たな通信を迅速に開始することができるようになる。
【００２７】
【発明の実施の形態】
以下，本発明の実施の形態を説明する。図１は本発明の実施の形態における処理の概要を説明するための図，図２は本発明の実施の形態におけるデータ受渡し制御部の構成例を示す図，図３は各階層制御部の構成例を示す図，図４は階層制御部からデータ受渡し制御部へ通知されるデータの例を示す図である。
【００２８】
本実施の形態では，図１に示すように，業務プログラム４と通信制御装置５とのデータ通信（コネクション）を３階層で制御する。なお，通信制御の階層は３階層に限らず，複数階層に構築されていれば階層数は限定されない。
【００２９】
データ処理装置（ＣＰＵ／メモリ）１は，階層１制御部２１，階層２制御部２２，階層３制御部２３，ディスパッチ制御部３，業務プログラム４を備え，通信制御装置５と接続されている。
【００３０】
業務プログラム４は，データ通信を利用する業務処理のためのアプリケーションプログラムである。通信制御装置５は，データ処理装置１が外部の通信網などと接続してデータ通信を行うための通信制御を行う装置である。
【００３１】
ディスパッチ制御部３は，データ処理装置１内における処理の割り当てを制御する手段であり，データ受渡し制御部３０を備える。データ受渡し制御部３０は，データ受渡し制御表３４を用いて階層制御部２１〜２３の間のデータの受渡しなどを制御する手段である。
【００３２】
図２（Ａ）に，データ受渡し制御部３０の構成例を示す。データ受渡し制御部３０は，通信制御装置５または階層制御部２１〜２３から受け取ったデータに異常表示があるかどうかを判定する異常判定部３１と，データ受渡し制御部３０のデータ受渡し制御表３４のエントリにキューイングされたデータを破棄する回収処理部３２と，異常表示を設定したデータである回収通知を階層制御部２１〜２３に対して一括して通知する回収通知部３３とを備える。
【００３３】
図２（Ｂ）に，データ受渡し制御表３４の例を示す。データ受渡し制御表３４は，各階層制御部ごとに，宛先情報と制御表管理域とを持つテーブルである。データ受渡し制御部３０では，異常事象を受信した場合には，データ受渡し制御表３４の宛先情報に設定された異常表示をみて回収通知を発行する。また，データ受渡し制御表３４の制御表管理域は，上位層へ通知するように指定されたデータ通知制御表７０をキューイングするものである。データ受渡し制御部３０では，異常事象を受信した場合には，データ受渡し制御表３４の該当制御表管理域のキューイングデータも破棄する。
【００３４】
図２（Ｂ）に示すデータ受渡し制御表３４は，３階層（階層３，階層２，階層１）である。しかし，データ処理装置１内の階層数はシステムの設計時に決定されるため，データ受渡し制御表３４の各エントリは，設計内容にしたがって階層個数分作成される。
【００３５】
データ処理装置１の階層制御部２１〜２３は，階層化して構築されており，それぞれが各階層の通信制御を実行する手段である。図３（Ａ）に，各階層制御部の構成例を示す。階層制御部２１，２２，２３は，自階層の制御中の異常事象を検出する異常検出部２１１，２２１，２３１と，異常時に他の階層制御部へ送出するデータへ異常表示を設定する異常設定部２１２，２２２，２３２と，異常時に自己のコネクション管理制御表２１４，２２４，２３４のエントリにキューイングされている当該異常の生じたコネクションのデータを破棄するデータ回収処理部２１３，２２３，２３３とを備える。さらに，最上位層である階層１制御部２１は，異常を検出した場合に業務プログラム４に異常通知を行う異常通知部２１５を備える。
【００３６】
図３（Ｂ）に，階層制御部２１，２２，２３内で管理するコネクション管理制御表２１４，２２４，２３４の例を示す。コネクション管理制御表２１４，２２４，２３４のデータ管理域（キュー）は，上位層へ渡すデータ７をキューイングするものである。
【００３７】
各階層制御部では，コネクションは複数存在するため，コネクション管理制御表２１４，２２４，２３４は，それぞれのコネクションに対応して作成し，コネクションＩＤにより該当するコネクション管理制御表を検出する。
【００３８】
図４に示すデータ７は，たとえばデータ通知制御表７０およびデータ７１からなる。データ通知制御表７０は，少なくとも，宛先情報，データ領域ポインタ情報からなる。宛先情報にはデータ通知先である階層制御部２１〜２３の識別情報が設定され，データ領域ポインタ情報には，データ７１が格納されているデータ領域Ａのアドレスなどの位置情報が設定される。さらに，各階層制御部２１〜２３において異常が発生した場合には，異常表示が設定される。なお，異常が発生した場合には，データ７としてデータ通知制御表７０のみが送出される。
【００３９】
業務プログラム４からデータ送信が行なわれる場合に，通信制御が正常であれば従来と同様の処理である。
【００４０】
階層１制御部２１では，ディスパッチ制御部３を介して業務プログラム４から受け取ったデータを処理した後，データを階層２制御部２２へ送信し，階層２制御部２２，階層３制御部２３では，それぞれ受け取ったデータに対して自階層の処理をして，データを階層３制御部２３からディスパッチ制御部３を介して通信制御装置５へ送信する。データ送信が完了した場合には，通信制御装置５では，業務プログラム４に対するデータ（完了通知）をデータ処理装置１へ送信する。階層３制御部２３では，通信制御装置５からのデータ（完了通知）をディスパッチ制御部３を介して受信し処理を行った後，階層２制御部２２を宛先とする完了通知をディスパッチ制御部３へ通知する。ディスパッチ制御部３のデータ受渡し制御部３０では，データ受渡し制御表３４にもとづいて，受け取った完了通知を宛先の階層２制御部２２へ通知する。同様にして階層２制御部２２から階層１制御部２１へデータが受け渡され，上位の階層１制御部２１は業務プログラム４へデータ（完了通知）を送信する。
【００４１】
しかし，業務プログラム４からのデータ送信の通信制御が失敗した場合などは，通信制御装置５は，業務プログラム４に対する異常通知をデータ処理装置１へ送信する。ディスパッチ制御部３のデータ受渡し制御部３０では，通信制御装置５からのデータ（異常通知）から異常事象である旨を検出して，データ受渡し制御表３４にエントリされている当該コネクションに関するデータを破棄し，各階層制御部２１〜２３に対し異常表示を設定したデータ（回収通知）を一括して通知する。各階層制御部２１〜２３では，このデータ（回収通知）を受け取ると，各階層制御部２１〜２３のコネクション管理制御表２１４，２２４，２３４のエントリにキューイングされているデータを破棄し，さらに最上位層の階層１制御部２１は，業務プログラム４に対しデータ（異常通知）を通知する。
【００４２】
なお，図１においては，データ送信に対する異常通知を受信した場合について説明したが，データ受渡し制御部３０では，通信制御装置５からの異常通知だけでなく，データもしくはメッセージの異常事象の場合，または各階層制御部２１〜２３での処理において異常が発生し階層制御部２１〜２３から受け取ったデータに異常表示がされていた場合にも同様の処理を行う。
【００４３】
以下に本発明の実施の形態における処理をさらに詳しく説明する。
【００４４】
図５に，各階層制御部の処理フローを示す。階層制御部２１〜２３は，データ受渡し制御部３０を介して通信制御装置５または他の階層制御部からデータ７を受け取り，各階層ごとの処理を実施する（ステップＳ１）。データ７であるデータＡ〜Ｃは図４に示すようなデータ通知制御表７０とデータ７１からなるとする。
【００４５】
図６は，階層３制御部２３の処理を説明するための図である。階層３制御部２３では，通信制御装置５とのインタフェース情報からデータをコネクションごとに振り分け，コネクション管理制御表２３４によりリンク管理をする。通信制御装置５からのデータＡ，データＢ，データＣを順に受け取ると，コネクション管理制御表２３４の該当するデータ管理域にデータＡ，データＢ，データＣをキューイングする。受信するデータがなくなったら，先頭のデータＡから順番に階層２制御部２２へ渡す。すなわち，データ通知制御表７０の宛先に階層２制御部２２を設定し，データ受渡し制御部３０へ通知する。
【００４６】
図７は，階層２制御部２２の処理を説明するための図である。階層２制御部２２では，コネクションごとに相手システムからの要求を受信し，ソケットインタフェースのハンドリングを行う。階層３制御部２３の処理で説明したようにコネクション管理制御表２２４にもとづいて，受け取ったデータＡ，データＢ，データＣに対して順に処理を行いデータ受渡し制御部３０を介して階層１制御部２１へ渡す。
【００４７】
図８は，階層１制御部２１の処理を説明するための図である。階層１制御部２１では，コネクションごとに相手システムからの要求を受信し，業務プログラム４の指示に従いデータの受渡しを行う。階層３制御部２３の処理で説明したようにコネクション管理制御表２１４にもとづいて，業務プログラム４がＲＥＡＤ要求を発行している場合には，先頭のデータＡから順番にデータ受渡し制御部３０を介して業務プログラム４へデータを渡す。
【００４８】
このように，階層制御部２１〜２３でそれぞれ各階層ごとの処理を実施して（図５：ステップＳ１），受け取ったデータのデータ通知制御表７０から異常を検出した場合には（ステップＳ２），処理を行ったデータ７のデータ通知制御表７０に異常表示を設定して宛先へデータを渡し（ステップＳ３），自己のコネクション管理制御表２１４，２２４，２３４のデータ管理域にエントリしているデータを破棄する（ステップＳ４）。
【００４９】
図９は，データ受渡し制御部３０の処理フローを示す図である。データ受渡し制御部３０は，前処理である通信制御装置５または階層制御部２１〜２３のいずれかからデータを受信すると（ステップＳ１０），制御中のデータが有効かどうかを判断する（ステップＳ１１）。ここで，通信制御部装置５からの通知が異常事象である場合，または，各階層制御部２１〜２３から渡されたデータのデータ通知制御表７０に異常表示が設定されていた場合には，制御中のデータが有効でないと判断する。制御中のデータが有効な場合（正常時）には，データ受渡し制御表３４により宛先の階層制御部２１〜２３へデータを送信する（ステップＳ１２）。制御中のデータが有効でない場合（異常時）には，階層制御部２１〜２３へ異常通知を同時に通知する（ステップＳ１３）。
【００５０】
図１０に，ステップＳ１３の処理の詳細な処理フローを示す。データ受渡し制御部３０では，各階層制御部２１〜２３への通知用のデータ通知制御表８０（図９）を獲得し（ステップＳ２１），通知用のデータ通知制御表８０の宛先情報に各階層制御部２１〜２３のいずれかへの宛先を設定し（ステップＳ２２），さらに異常表示を設定し（ステップＳ２３），各階層制御部２１〜２３へデータ（データ通知制御表８０）を通知する（ステップＳ２４）。なお，かかる通知はすべての階層制御部２１〜２３に対して送出するが，階層制御部２１〜２３のいずれかからのデータにより異常を検出した場合には，当該通知した階層制御部以外の階層制御部にのみデータを通知するようにしてもよい。
【００５１】
また，データ受渡し制御表３４のエントリにキューイングされたデータを破棄する（ステップＳ１４）。なお，ステップＳ１３の処理に先立ってステップＳ１４の処理を行うようにしてもよい。
【００５２】
階層制御部２１〜２３では，データ受渡し制御部３０からデータ通知制御表８０を受け取り異常を検出すると（図５：ステップＳ２），自己のコネクション管理制御表２１４，２２４，２３４にエントリされたデータを破棄する（図５：ステップＳ４）。
【００５３】
【発明の効果】
以上説明したように，本発明では，図１１に示すように，ディスパッチ制御部３でデータ（異常事象）を受信して（ステップ５０），データが異常であると判定すると（ステップ５１），各階層制御部へ一括して異常表示を設定したデータ（異常通知）を送出する（ステップ５２）。各階層制御部２１〜２３では，相互に待ち合わせることなく，ほぼ並行して，ディスパッチ制御部３からのデータ（異常通知）を受信し（ステップ５３），データから異常を検出し（ステップ５４），自己の制御中のデータを破棄する（ステップ５５）。さらに最上位の階層１制御部２１では業務プログラム４へ異常を通知する（ステップ５６）。
【００５４】
図１４に示すように，従来技術における異常時の処理では，各階層制御部が順に異常を検出してデータを回収するが，本発明では，ディスパッチ制御部で異常を検出し，各階層制御部はほぼ同時に異常通知を受け取り回収処理を行うことができる。これにより，従来に比べて早急にデータ回収処理を行うことができ，同一の環境による新たなデータ通信を遅滞なく開始することができるという格別の効果を奏する。
【図面の簡単な説明】
【図１】本発明の実施の形態における処理の概要を説明するための図である。
【図２】本発明の実施の形態におけるデータ受渡し制御部の構成例およびデータ受渡し制御表の例を示す図である。
【図３】本発明の実施の形態における階層制御部の構成例およびコネクション管理制御表の例を示す図である。
【図４】階層制御部からデータ受渡し制御部へ通知されるデータの例を示す図である。
【図５】各階層制御部の処理フローを示す図である。
【図６】階層３制御部の処理を説明するための図である。
【図７】階層２制御部の処理を説明するための図である。
【図８】階層１制御部の処理を説明するための図である。
【図９】データ受渡し制御部の処理フローを示す図である。
【図１０】図９に示すステップＳ１３の処理の詳細な処理フローを示す図である。
【図１１】本発明における異常時の処理の流れを説明するための図である。
【図１２】従来の通信制御を説明するための図である。
【図１３】従来のデータ受渡し制御の処理フローを示す図である。
【図１４】従来技術における異常時の処理の流れを説明するための図である。
【符号の説明】
１  データ処理装置
２１  階層１制御部
２２  階層２制御部
２３  階層３制御部
３  ディスパッチ制御部
３０  データ受渡し制御部
３１  異常判定部
３２  回収処理部
３３  回収通知部
３４  データ受渡し制御表
４  業務プログラム
５  通信制御装置
７  データ
【図１】
0003764348.tif 000002
【図２】
0003764348.tif 000003
【図３】
0003764348.tif 000004
【図４】
0003764348.tif 000005
【図５】
0003764348.tif 000006
【図６】
0003764348.tif 000007
【図７】
0003764348.tif 000008
【図８】
0003764348.tif 000009
【図９】
0003764348.tif 000010
【図１０】
0003764348.tif 000011
【図１１】
0003764348.tif 000012
【図１２】
0003764348.tif 000013
【図１３】
0003764348.tif 000014
【図１４】
0003764348.tif 000015