(57)【特許請求の範囲】
【請求項１】
ネットワークを介して通信を行う第１のコンピュータと第２のコンピュータとの間の経路上に設けられるアプリケーション通信制御装置であって、
対処すべき障害の状態と、前記第１のコンピュータから受信する特定のメッセージの特定の位置に含まれる数値に対する閾値と、前記特定のメッセージの特定の位置に含まれる数値と前記閾値との比較結果に応じて前記特定のメッセージに対して送信すべき応答メッセージの内容についてのデータとを対応して保持する条件テーブルと、前記ネットワークと前記第２のコンピュータとの障害の有無を管理するための状態管理テーブルとを格納するデータ記憶部と、
前記ネットワークと前記第２のコンピュータとを監視して、前記状態管理テーブルに障害の有無を登録する手段と、
前記第１のコンピュータから前記特定のメッセージを受信した場合、前記状態管理テーブルに前記対処すべき障害の状態が登録されているか確認し、前記対処すべき障害の状態が登録されている場合には、受信した前記特定のメッセージの前記特定の位置に含まれる数値と前記条件テーブルにおいて対応して登録されている前記閾値とを比較し、当該比較結果に対応して前記条件テーブルに登録されている前記応答メッセージの内容についてのデータに従って今回の応答メッセージを生成し、前記第１のコンピュータに返信する代理応答手段と、
前記代理応答手段により生成された前記今回の応答メッセージが肯定的な応答メッセージである場合には、前記特定のメッセージを前記第２のコンピュータ又は当該第２のコンピュータの代替コンピュータに送信する処理を実施する送信手段と、
を有するアプリケーション通信制御装置。
【請求項２】
前記データ記憶部が、
前記第１のコンピュータから受信する送信メッセージと当該送信メッセージに応答して前記第２のコンピュータから受信する特定の応答メッセージとを対応して保持するメッセージ管理テーブルを格納しており、
前記代理応答手段が、
前記第１のコンピュータから前記送信メッセージを受信した場合、前記状態管理テーブルに前記対処すべき障害の状態が登録されているか確認し、前記対処すべき障害の状態が登録されていない場合には、前記メッセージ管理テーブルに前記送信メッセージが登録されているか判断し、登録されている場合には、受信した前記送信メッセージに対応して前記メッセージ管理テーブルに登録されている前記特定の応答メッセージを読み出し、前記送信メッセージに含まれるデータに応じて、読み出した前記特定の応答メッセージを修正して、前記第１のコンピュータに返信し、
前記送信手段は、
修正後の前記特定の応答メッセージを前記第２のコンピュータに送信する処理を実施する
請求項１記載のアプリケーション通信制御装置。
【請求項３】
前記代理応答手段が、
前記代理応答手段により生成された前記今回の応答メッセージが否定的な応答メッセージである場合には、前記特定のメッセージを破棄する
請求項１記載のアプリケーション通信制御装置。
【請求項４】
ネットワークを介して通信を行う第１のコンピュータと第２のコンピュータとの間の経路上に設けられるアプリケーション通信制御装置のプロセッサに実行されるプログラムであって、
前記ネットワークと前記第２のコンピュータとを監視して、前記ネットワークと前記第２のコンピュータとの障害の有無を管理するための状態管理テーブルに障害の有無を登録する機能と、
前記第１のコンピュータから特定のメッセージを受信した場合、前記状態管理テーブルに前記対処すべき障害の状態が登録されているか確認し、前記対処すべき障害の状態が登録されている場合には、対処すべき障害の状態と、前記第１のコンピュータから受信する特定のメッセージの特定の位置に含まれる数値に対する閾値と、前記特定のメッセージの特定の位置に含まれる数値と前記閾値との比較結果に応じて前記特定のメッセージに対して送信すべき応答メッセージの内容についてのデータとを対応して保持する条件テーブルにおいて前記特定のメッセージに対応して登録されている前記閾値と、受信した前記特定のメッセージの前記特定の位置に含まれる数値とを比較し、当該比較結果に対応して前記条件テーブルに登録されている前記応答メッセージの内容についてのデータに従って今回の応答メッセージを生成し、前記第１のコンピュータに返信する代理応答機能と、
前記代理応答機能により生成された前記今回の応答メッセージが肯定的な応答メッセージである場合には、前記特定のメッセージを前記第２のコンピュータ又は当該第２のコンピュータの代替コンピュータに送信する処理を実施する送信機能と、
を前記プロセッサに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介した、アプリケーション間の通信の制御技術に関する。
【背景技術】
【０００２】
例えば図１に示すように、拠点の端末とセンタの端末とを、ＷＡＮ（Wide Area Network）回線のメイン網とバックアップ網とで接続して通信を行う場合に、ＷＡＮ回線のメイン網に障害が発生すると、ルータ等のレイヤ３通信装置が、メイン網からバックアップ網へ切替／迂回するが、切替をしている間はサーバと端末との間のアプリケーション通信は、「異常」となってしまう。
【０００３】
また、図２に示すように、図１と同様に単一センタ構成の場合には、センタに異常が発生すると、サーバと端末との間のアプリケーション通信は、全て「異常」となってしまう。
【０００４】
さらに、図３に示すように、単一センタ構成ではなく、バックアップセンタを設けて、拠点とＷＡＮ回線のメイン網及びバックアップ網とを介して接続する構成でも、メインセンタに異常が発生すると、センタ側及び拠点側の人的運用（例えばセンタ管理者及び端末利用者）によるセンタ切替が必要となり、通常の構成では、切替が完了するまでアプリケーション通信は「異常」となってしまう。
【０００５】
また、特開平１１−２５２１７９号公報には、計算機間の通信経路に伝送遅延の大きい区間を含む場合に、通信経路上に１台設置するだけで一方向の通信速度を高速化する技術が開示されている。具体的には、非対称回線用ＴＣＰ通信高速化装置を、ＴＣＰ等、フロー制御を持つ通信プロトコルにより通信を行う２つの計算機間の伝送路上で、第１の計算機との間の伝送遅延が第２の計算機との間の伝送遅延よりも小さい位置に設ける。この高速化装置は第１の計算機との間及び第２の計算機との間でパケット送受信手段により、それぞれパケットの送受信を行う。第１の計算機から送信されてくるデータパケットは第２の計算機が通知している最大受信データ量を超えて第２の計算機に転送し、第２の計算機から送信されてくるデータパケットを第１の計算機に転送し、第２の計算機から送信されてくるＡＣＫパケットは第１の計算機には転送しない。また、この高速化装置は第１の計算機から送信されてくるデータパケットに対するＡＣＫパケットを第２の計算機２の代わりにＡＣＫパケット生成手段で生成し第１の計算機に送信する。このように、特定のプロトコルに対して代理応答することにより、端末の待ち時間を短くして、通信の高速化を図っているが、個別アプリケーション間の通信について高速化や継続性保持を図るような仕組みは開示されていない。
【特許文献１】特開平１１−２５２１７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
例えば、販売店サーバが利用者端末との間で受注処理を行っているような場合に、当該販売店サーバに障害が発生してしまったとしても、受注金額が少額であれば又は受注数量が少数であれば当該販売店サーバにおける在庫確認等の処理を行わずに、暫定的に注文確定の応答を利用者端末に返信してしまっても問題がない場合が多い。しかしながら、上で述べたように従来技術では、必ず「異常」という取り扱いがなされてしまう。また、上で述べたようにＴＣＰなどの特定の通信プロトコルに対して代理応答する技術は開示されているが、上で述べたような問題は解決できない。
【０００７】
従って、本発明の目的は、現行のアプリケーションを変更することなく、アプリケーション通信の高速化及び継続を可能とする技術を提供することである。
【０００８】
また、本発明の他の目的は、障害に応じてアプリケーション通信の継続又は中断を柔軟に切り替えることができるようにするための技術を提供することである。
【課題を解決するための手段】
【０００９】
本発明に係るアプリケーション通信制御装置は、ネットワークを介して通信を行う第１のコンピュータと第２のコンピュータとの間の経路上に設けられるアプリケーション通信制御装置である。そして、本アプリケーション通信制御装置は、対処すべき障害の状態と、第１のコンピュータから受信する特定のメッセージの特定の位置に含まれる数値に対する閾値と、特定のメッセージの特定の位置に含まれる数値と上記閾値との比較結果に応じて特定のメッセージに対して送信すべき応答メッセージの内容についてのデータとを対応して保持する条件テーブルと、ネットワークと第２のコンピュータとの障害の有無を管理するための状態管理テーブルとを格納するデータ記憶部と、ネットワークと第２のコンピュータとを監視して、状態管理テーブルに障害の有無を登録する手段と、第１のコンピュータから特定のメッセージを受信した場合、状態管理テーブルに上記対処すべき障害の状態が登録されているか確認し、上記対処すべき障害の状態が登録されている場合には、受信した特定のメッセージの特定の位置に含まれる数値と条件テーブルにおいて対応して登録されている上記閾値とを比較し、当該比較結果に対応して条件テーブルに登録されている応答メッセージの内容についてのデータに従って今回の応答メッセージを生成し、第１のコンピュータに返信する代理応答手段と、代理応答手段により生成された今回の応答メッセージが肯定的な応答メッセージである場合には、特定のメッセージを第２のコンピュータ又は当該第２のコンピュータの代替コンピュータに送信する処理を実施する送信手段とを有する。
【００１０】
このような構成を採用することによって、対処すべき障害が発生した場合においても、第１のコンピュータにおいてアプリケーションが特定のメッセージの特定の位置に埋め込んだ数値（例えば受注金額や数量）と閾値との比較結果に応じて、可能であれば肯定的な応答メッセージを第１のコンピュータに返信すると共に、第２のコンピュータにも特定のメッセージを送信することによって、アプリケーション通信の高速化及び継続が図られるようになる。なお、送信手段は、発生した障害によっては直ぐには上記特定のメッセージを送信することができない場合があるので、その場合には送信できるようになってから送信する。また、条件テーブルは様々な状況に応じて設定可能であり、閾値の設定も任意である。従って、障害に応じたアプリケーション通信の継続又は中断を柔軟に切り替えることができるようになる。
【００１１】
なお、上で述べたデータ記憶部が、第１のコンピュータから受信する送信メッセージと当該送信メッセージに応答して第２のコンピュータから受信する特定の応答メッセージとを対応して保持するメッセージ管理テーブルを格納するようにしてもよい。その場合には、上で述べた代理応答手段が、第１のコンピュータから上記送信メッセージを受信した場合、状態管理テーブルに上記対処すべき障害の状態が登録されているか確認し、上記対処すべき障害の状態が登録されていない場合には、メッセージ管理テーブルに上記送信メッセージが登録されているか判断し、登録されている場合には、受信した送信メッセージに対応してメッセージ管理テーブルに登録されている特定の応答メッセージを読み出し、送信メッセージに含まれるデータに応じて、読み出した特定の応答メッセージを修正して、第１のコンピュータに返信するようにしてもよい。また、上で述べた送信手段は、修正後の特定の応答メッセージを第２のコンピュータに送信する処理を実施するようにしてもよい。このように、障害とは関係なく代理応答することによって、アプリケーション通信の高速化が図られるようになる。
【００１２】
また、上で述べた代理応答手段が、当該代理応答手段により生成された今回の応答メッセージが否定的な応答メッセージである場合には、特定のメッセージを破棄する場合もある。後で再度正式に第１のコンピュータからメッセージを送信し直した方が良いためである。
【００１３】
上で述べたような処理をプロセッサに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークを介してディジタル信号にて頒布される場合もある。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
【発明の効果】
【００１４】
本発明によれば、現行のアプリケーションを変更することなく、アプリケーション通信の高速化及び継続が可能となる。
【００１５】
また、本発明の他の側面によれば、障害に応じてアプリケーション通信の継続又は中断を柔軟に切り替えることができるようになる。
【発明を実施するための最良の形態】
【００１６】
本発明の一実施の形態に係るシステム概要を図４に示す。メインセンタ５、バックアップセンタ９及び１又は複数の拠点７は、ＷＡＮ回線メイン網１（以下、メイン回線１とも呼ぶ）及びＷＡＮ回線バックアップ網３（以下、バックアップ回線３とも呼ぶ）を介して接続されている。すなわち、拠点７は、ＷＡＮ回線のメイン網１及びバックアップ網３に接続しており、メインセンタ５も、ＷＡＮ回線のメイン網１及びバックアップ網３に接続しており、バックアップセンタ９も、ＷＡＮ回線のメイン網１及びバックアップ網３に接続している。
【００１７】
メインセンタ５では、本実施の形態における主要な処理を実施するセンタサイドのアプリケーション通信制御装置５１が、ＷＡＮ回線のメイン網１及びバックアップ網３に接続されており、他方、ルータ等の通信装置５３とも接続されている。通信装置５３は、ＬＡＮ（Local Area Network）５７に接続されており、当該ＬＡＮ５７には、サーバ５５も接続されている。
【００１８】
同様に、バックアップセンタ９では、本実施の形態における主要な処理を実施するバックアップセンタサイドのアプリケーション通信制御装置９１が、ＷＡＮ回線のメイン網１及びバックアップ網３に接続されており、他方、ルータ等の通信装置９３とも接続されている。通信装置９３は、ＬＡＮ９７に接続されており、当該ＬＡＮ９７には、サーバ９５も接続されている。
【００１９】
拠点７では、本実施の形態における主要な処理を実施する拠点サイドのアプリケーション通信制御装置７１が、ＷＡＮ回線のメイン網１及びバックアップ網３に接続されており、他方、ルータ等の通信装置７３とも接続されている。通信装置７３は、ＬＡＮ７９に接続されており、当該ＬＡＮ７９には、拠点が販売店である場合には１又は複数のＰＯＳ端末７５や１又は複数の受発注端末７７が接続されている。
【００２０】
メインセンタ５及びバックアップセンタ９におけるサーバ５５及び９５においては、サーバ側のアプリケーションが実行されており、また、拠点７の受発注端末７７やＰＯＳ端末７５においてはサーバ側のアプリケーションと通信を行う拠点側のアプリケーションが実行されている。
【００２１】
次に、図５乃至図８を用いて、本実施の形態における処理の概要を説明する。まず、通常時の処理について図５を用いて説明する。拠点７の例えば受発注端末７７において実行されている拠点側のアプリケーションは、例えばユーザからの指示に応じて、メインセンタ５のサーバ５５において実行されているサーバ側のアプリケーションに、「ＩＤ＝１Ｒ，Ｎａｍｅ＝ａ１，Ｎｕｍｂｅｒ＝００５」というデータを含む要求メッセージを送信する（ステップ（１））。拠点サイドのアプリケーション通信制御装置７１は、受発注端末７７から要求メッセージを受信すると、以下で述べる代理応答メッセージ管理テーブルに当該要求メッセージが登録されているか判断し、登録されている場合には、当該要求メッセージに対応して登録されている代理応答メッセージを返信する（ステップ（２））。この代理応答メッセージは、「ＩＤ＝１Ａ，Ｎａｍｅ＝ａ１，Ｎｕｍｂｅｒ＝００５，ＯＫ」というデータを含んでいる。
【００２２】
一方、拠点サイドのアプリケーション通信制御装置７１は、受発注端末７７から受信した要求メッセージを、メインセンタ５に送信する（ステップ（３））。メインセンタ５のアプリケーション通信制御装置５１は、拠点７から要求メッセージを受信すると、サーバ５５に当該要求メッセージを転送する（ステップ（４））。サーバ５５は、要求メッセージを受信すると所定の処理を実施し、応答メッセージを拠点７宛に送信する（ステップ（５））。センタサイドのアプリケーション通信制御装置５１は、サーバ５５から応答メッセージを受信し、拠点７に当該応答メッセージを転送する（ステップ（６））。拠点７のアプリケーション通信制御装置７１は、メインセンタ５から応答メッセージを受信するが、既に代理応答メッセージを送信しているので、当該応答メッセージを破棄する。
【００２３】
このように受発注端末７７では、拠点サイドのアプリケーション通信制御装置７１が代理応答メッセージを送信してから、メインセンタ５から応答メッセージを受信するまでの時間だけレスポンスが高速化されることになる。
【００２４】
なお、Ｎｕｍｂｅｒが発注商品の個数を示すものとすると、ステップ（１）で送信した要求メッセージでは５個だけ発注したような場合を示しているが、以下では、１０５個発注した場合を示している。すなわち、拠点７の受発注端末７７において実行されている拠点側のアプリケーションは、例えばユーザからの指示に応じて、メインセンタ５のサーバ５５において実行されているサーバ側のアプリケーションに、「ＩＤ＝１Ｒ，Ｎａｍｅ＝ａ１，Ｎｕｍｂｅｒ＝１０５」というデータを含む要求メッセージを送信する（ステップ（７））。拠点サイドのアプリケーション通信制御装置７１は、受発注端末７７から要求メッセージを受信すると、以下で述べる代理応答メッセージ管理テーブルに当該要求メッセージが登録されているか判断し、登録されている場合には、当該要求メッセージに対応して登録されている代理応答メッセージを返信する（ステップ（８））。この代理応答メッセージは、「ＩＤ＝１Ａ，Ｎａｍｅ＝ａ１，Ｎｕｍｂｅｒ＝１０５，ＯＫ」というデータを含んでいる。なお、代理応答メッセージ管理テーブル及び以下で説明するメッセージ可変項目管理テーブルにおいて、要求メッセージに応じて代理応答メッセージで変更すべき位置（部分）及びどのように変更すべきかについてのデータが管理されており、アプリケーション通信制御装置７１は、それに従って代理応答メッセージを変更して送信している。
【００２５】
一方、拠点サイドのアプリケーション通信制御装置７１は、受発注端末７７から受信した要求メッセージを、メインセンタ５に送信する（ステップ（９））。メインセンタ５のアプリケーション通信制御装置５１は、拠点７から要求メッセージを受信すると、サーバ５５に当該要求メッセージを転送する（ステップ（１０））。サーバ５５は、要求メッセージを受信すると所定の処理を実施し、応答メッセージを拠点７宛に送信する（ステップ（１１））。センタサイドのアプリケーション通信制御装置５１は、サーバ５５から応答メッセージを受信し、拠点７に当該応答メッセージを転送する（ステップ（１２））。拠点７のアプリケーション通信制御装置７１は、メインセンタ５から応答メッセージを受信するが、既に代理応答メッセージを送信しているので、当該応答メッセージを破棄する。
【００２６】
なお、図６に示すような処理を実施することによって、各アプリケーション通信制御装置は、ネットワークやサーバ、端末などの生存監視を行っている。具体的には、メインセンタ５のアプリケーション通信制御装置５１と拠点７のアプリケーション通信制御装置７１とはセッションを維持して相互監視を行っており（ステップ（２１））、同様に、バックアップセンタ９のアプリケーション通信制御装置９１と拠点７のアプリケーション通信制御装置７１ともセッションを維持して相互監視を行っている（ステップ（２２））。さらに、メインセンタ５のアプリケーション通信制御装置５１とバックアップセンタ９のアプリケーション通信制御装置９１ともセッションを維持して相互監視を行っている（ステップ（２３））。また、拠点７のアプリケーション通信制御装置７１は、ＬＡＮ７９を介して接続されている端末に対してリアルタイムの監視を行っている（ステップ（２５））。これは、ＳＮＭＰのＴｒａｐの監視も含む。同様に、メインセンタ５のアプリケーション通信制御装置５１は、ＬＡＮ５７を介して接続されているサーバ５５に対してリアルタイムの監視を行っている（ステップ（２４））。また、バックアップセンタ９のアプリケーション通信制御装置９１は、ＬＡＮ９７を介して接続されているサーバ９５に対してリアルタイムの監視を行っている（ステップ（２６））。
【００２７】
次に、図７を用いてＷＡＮ回線のメイン網１に障害が発生した場合の処理について説明する。拠点７の例えば受発注端末７７において実行されている拠点側のアプリケーションは、例えばユーザからの指示に応じて、メインセンタ５のサーバ５５において実行されているサーバ側のアプリケーションに、「ＩＤ＝１Ｒ，Ｎａｍｅ＝ａ１，Ｎｕｍｂｅｒ＝００５」というデータを含む要求メッセージを送信する（ステップ（３１））。拠点サイドのアプリケーション通信制御装置７１は、既にＷＡＮ回線のメイン網１に障害が発生していることを認識しており、受発注端末７７から要求メッセージを受信すると、以下で述べるサービス提供条件テーブルを参照して、ＷＡＮ回線のメイン網１に障害が発生している場合には、どのような対応を行うのかを確認する。本例では、ＷＡＮ回線のバックアップ網３が機能しており、バックアップ網３を用いればメインセンタ５と通信することができるので、全てのメッセージについて代理応答メッセージ管理テーブルに従うものとする。従って、代理応答メッセージ管理テーブルに当該要求メッセージが登録されているか判断し、登録されている場合には、当該要求メッセージに対応して登録されている代理応答メッセージを返信する（ステップ（３２））。この代理応答メッセージは、「ＩＤ＝１Ａ，Ｎａｍｅ＝ａ１，Ｎｕｍｂｅｒ＝００５，ＯＫ」というデータを含んでいる。
【００２８】
一方、拠点サイドのアプリケーション通信制御装置７１は、受発注端末７７から受信した要求メッセージを、メインセンタ５に送信する（ステップ（３３））。上でも述べたが、ここではＷＡＮ回線のバックアップ網３を使用して送信する。このように処理の継続性を確保するように制御される。メインセンタ５のアプリケーション通信制御装置５１は、拠点７から要求メッセージを受信すると、サーバ５５に当該要求メッセージを転送する（ステップ（３４））。サーバ５５は、要求メッセージを受信すると所定の処理を実施し、応答メッセージを拠点７宛に送信する（ステップ（３５））。センタサイドのアプリケーション通信制御装置５１は、サーバ５５から応答メッセージを受信し、拠点７に当該応答メッセージを転送する（ステップ（３６））。ここでもＷＡＮ回線のバックアップ網３を使用して送信する。拠点７のアプリケーション通信制御装置７１は、メインセンタ５から応答メッセージを受信するが、既に代理応答メッセージを送信しているので、当該応答メッセージを破棄する。
【００２９】
このように受発注端末７７は、拠点サイドのアプリケーション通信制御装置７１が代理応答メッセージを送信してから、メインセンタ５から応答メッセージを受信するまでの時間だけレスポンスが高速化されることになる。また、ＷＡＮ回線のメイン網１に障害が発生していても、バックアップ網３を用いて通常どおりメインセンタ５と通信を行う。
【００３０】
同様に、Ｎｕｍｂｅｒ＝１０５の場合にも、拠点７の受発注端末７７において実行されている拠点側のアプリケーションは、例えばユーザからの指示に応じて、メインセンタ５のサーバ５５において実行されているサーバ側のアプリケーションに、「ＩＤ＝１Ｒ，Ｎａｍｅ＝ａ１，Ｎｕｍｂｅｒ＝１０５」というデータを含む要求メッセージを送信する（ステップ（３７））。拠点サイドのアプリケーション通信制御装置７１は、受発注端末７７から要求メッセージを受信すると、上で述べたのと同様に、サービス提供条件テーブルに従って代理応答メッセージ管理テーブルを参照して、当該代理応答メッセージ管理テーブルに当該要求メッセージが登録されているか判断し、登録されている場合には、当該要求メッセージに対応して登録されている代理応答メッセージを返信する（ステップ（３８））。この代理応答メッセージには、「ＩＤ＝１Ａ，Ｎａｍｅ＝ａ１，Ｎｕｍｂｅｒ＝１０５，ＯＫ」というデータを含んでいる。
【００３１】
一方、拠点サイドのアプリケーション通信制御装置７１は、受発注端末７７から受信した要求メッセージを、メインセンタ５にバックアップ網３を介して送信する（ステップ（３９））。メインセンタ５のアプリケーション通信制御装置５１は、拠点７から要求メッセージを受信すると、サーバ５５に当該要求メッセージを転送する（ステップ（４０））。サーバ５５は、要求メッセージを受信すると所定の処理を実施し、応答メッセージを拠点７宛に送信する（ステップ（４１））。センタサイドのアプリケーション通信制御装置５１は、サーバ５５から応答メッセージを受信し、拠点７に当該応答メッセージをバックアップ網３を介して転送する（ステップ（４２））。拠点７のアプリケーション通信制御装置７１は、メインセンタ５から応答メッセージを受信するが、既に代理応答メッセージを送信しているので、当該応答メッセージを破棄する。
【００３２】
以上のような処理を実施することにより、拠点７の端末からすれば、アプリケーション通信の高速化及び継続性確保が可能となる。
【００３３】
次に、図８を用いてメインセンタ５のサーバ５５に障害が発生した場合の処理について説明する。拠点７の例えば受発注端末７７において実行されている拠点側のアプリケーションは、例えばユーザからの指示に応じて、メインセンタ５のサーバ５５において実行されているサーバ側のアプリケーションに、「ＩＤ＝１Ｒ，Ｎａｍｅ＝ａ１，Ｎｕｍｂｅｒ＝００５」というデータを含む要求メッセージを送信する（ステップ（５１））。拠点サイドのアプリケーション通信制御装置７１は、既にメインセンタ５に障害が発生していることを認識しており、受発注端末７７から要求メッセージを受信すると、以下で述べるサービス提供条件テーブルを参照して、メインセンタ５に障害が発生している場合には、どのような対応を行うのかを確認する。本例では、メインセンタ５に障害が発生している場合には、バックアップセンタ９に切り替えなければならない。本例では、バックアップセンタ９はあくまでバックアップであるから、メインセンタ５と同様に要求メッセージを送信できないものとして、Ｎｕｍｂｅｒの数値が１００以上の場合には、アプリケーション通信制御装置７１で要求メッセージを拒否する応答メッセージを返すという方針がサービス提供条件テーブルに規定されているものとする。従って、アプリケーション通信制御装置７１は、受信した要求メッセージにおけるＮｕｍｂｅｒの値を確認する。上で述べた例では、Ｎｕｍｂｅｒの値は１００未満であるから、サービス提供条件テーブル及び代理応答メッセージ管理テーブルに規定されているデータに従って応答する。すなわち、サービス提供条件テーブル及び代理応答メッセージ管理テーブルに従って代理応答メッセージを生成して、返信する（ステップ（５２））。この代理応答メッセージには、「ＩＤ＝１Ａ，Ｎａｍｅ＝ａ１，Ｎｕｍｂｅｒ＝００５，ＯＫ」というデータを含んでいる。
【００３４】
一方、拠点７のアプリケーション通信制御装置７１は、バックアップセンタ９に、受信した要求メッセージを送信しても良くなるまでキャッシュ（ＤＢなど）に蓄積しておく（ステップ（５３））。そして、バックアップセンタ９に送信できるようになると、受発注端末７７から受信した要求メッセージを、ＷＡＮ回線のメイン回線１を介してバックアップセンタ９に送信する（ステップ（５４））。バックアップセンタ９のアプリケーション通信制御装置９１は、拠点７から要求メッセージを受信すると、サーバ９５に当該要求メッセージを転送する（ステップ（５５））。サーバ９５は、要求メッセージを受信すると所定の処理を実施し、応答メッセージを拠点７宛に送信する（ステップ（５６））。バックアップセンタサイドのアプリケーション通信制御装置９１は、サーバ９５から応答メッセージを受信し、拠点７に当該応答メッセージを転送する（ステップ（５７））。拠点７のアプリケーション通信制御装置７１は、バックアップセンタ９から応答メッセージを受信するが、既に代理応答メッセージを送信しているので、当該応答メッセージを破棄する。
【００３５】
また、拠点７の受発注端末７７において実行されている拠点側のアプリケーションは、例えばユーザからの指示に応じて、メインセンタ５のサーバ５５において実行されているサーバ側のアプリケーションに、「ＩＤ＝１Ｒ，Ｎａｍｅ＝ａ１，Ｎｕｍｂｅｒ＝１０５」というデータを含む要求メッセージを送信する（ステップ（５８））。拠点サイドのアプリケーション通信制御装置７１は、受発注端末７７から要求メッセージを受信すると、上で述べたのと同様に、サービス提供条件テーブルに従って、Ｎｕｍｂｅｒの値を確認する。本例の場合、Ｎｕｍｂｅｒの値が１００以上であるから、拒否応答メッセージを返信するものとする。従ってアプリケーション通信制御装置７１は、サービス提供条件テーブル及び代理応答メッセージ管理テーブルに従って拒否を表す代理応答メッセージを生成し、返信する（ステップ（５９））。この代理応答メッセージには、「ＩＤ＝１ａ，Ｎａｍｅ＝ａ１，Ｎｕｍｂｅｒ＝１０５，ＮＧ」というデータを含んでいる。
【００３６】
このようにして、メインセンタ５に障害が発生している場合には、あまり大きな数量の注文を受け付けないようにして、在庫確認その他の処理で後にエラーが発生するようなことがないようにしている。
【００３７】
次に、図９に、拠点サイドのアプリケーション通信制御装置７１の詳細な構成を示す。アプリケーション通信制御装置７１は、代理応答メッセージ自動生成部７１１と、アプリケーション管理部７１２と、サービス提供条件管理部７１３と、代理応答メッセージ追加部７１４と、端末／センタ／回線状態分析部７１５と、アプリケーション通信高速化／継続制御部７１６と、端末データ配信部７１７と、ＤＢ７１８とを有する。
【００３８】
代理応答メッセージ自動生成部７１１は、例えば受発注端末７７で実行されるアプリケーションと、メインセンタ５のサーバ５５で実行されるアプリケーションとの通信をスヌープして、端末側から送信されるメッセージと、サーバ側から返信されるメッセージとの対を、ＤＢ７１８に格納されている代理応答メッセージ管理テーブルに仮に登録すると共に、サーバ側から返信されるメッセージのうちメッセージに応じて変化する部分（メッセージ中の位置及び内容）などを抽出して、代理応答メッセージ管理テーブル及び同じくＤＢ７１８に格納されているメッセージ可変項目テーブルに仮に登録する処理を実施する。なお、アプリケーションによっては、サーバ側から要求メッセージが送信され、端末側から応答メッセージが送信される場合があり、その場合には、この方向に必要なデータが抽出され、仮に登録される。このように送信メッセージ（要求メッセージとも呼ぶ）と応答メッセージの対を自動的に抽出することによって、受発注端末７７で実行されるアプリケーションと、メインセンタ５のサーバ５５で実行されるアプリケーションとの仕様が明らかでない場合においても、通信内容を特定して、上で述べたような処理を実施させることができるようになる。なお、代理応答メッセージ自動生成部７１１で特定されるデータについては、システム管理者によって確認の上で有効化されるものとする。また、必ずしも代理応答メッセージ自動生成部７１１を利用しなくとも良い。すなわち、システム管理者が、アプリケーションの仕様書から必要なデータを抽出して、以下で述べる代理応答メッセージ追加部７１４によってＤＢ７１８内の代理応答メッセージ管理テーブル及びメッセージ可変項目テーブルに登録するようにしても良い。
【００３９】
アプリケーション管理部７１２は、システム管理者からの指示に応じて、ＤＢ７１８に格納されているアプリケーション通信制御条件テーブルに、高速化の有無及び処理継続の有無を、例えば代理応答メッセージ管理テーブルに登録されているレコード毎に設定する。
【００４０】
サービス提供条件管理部７１３は、システム管理者からの指示に応じて、ＤＢ７１８に格納されているサービス提供条件テーブルに、取り扱う障害事象及び処理内容（例えば閾値条件と代理応答メッセージの内容）を、例えば代理応答メッセージ管理テーブルに登録されているレコード毎に設定する。取り扱う障害事象が複数存在する場合には、その障害事象毎にデータが登録される。
【００４１】
代理応答メッセージ追加部７１４は、上で述べたように、システム管理者からの指示に応じて、ＤＢ７１８に格納されている代理応答メッセージ管理テーブル及びメッセージ可変項目テーブルに、サーバ側から返信されるメッセージのうちメッセージに応じて変化する部分（メッセージ中の位置及び内容）等を、例えば送信メッセージのタイプ毎に登録する。
【００４２】
端末／センタ／回線状態分析部７１５は、受発注端末７７などの端末、メインセンタ５及びバックアップセンタ９、ＷＡＮ回線のメイン網１及びバックアップ網３の状態を監視して、アプリケーション通信高速化／継続制御部７１６に状態遷移を通知すると共に、ＤＢ７１８に格納されている端末／センタ／回線状態テーブルに状態データを登録する。
【００４３】
アプリケーション通信高速化／継続制御部７１６は、本実施の形態における主要な処理を実施するものであり、ＤＢ７１８に格納されているデータに従って、受発注端末７７などの端末からの要求メッセージに対して代理応答メッセージを返信したり、可能であればサーバ側へのメッセージを透過的に送出したり、直ぐに送信できないようなメッセージについてはＤＢ７１８にキャッシュ的に登録したりする処理を実施する。なお、端末データ配信部７１７に、ＤＢ７１８に対してメッセージを登録したことの通知を出力することもある。
【００４４】
端末データ配信部７１７は、ＤＢ７１８に格納されている未送信のメッセージを、可能なタイミングで送信する処理を実施する。
【００４５】
ＤＢ７１８は、上で述べたように、代理応答メッセージ管理テーブルと、メッセージ可変項目テーブルと、アプリケーション通信制御条件テーブルと、サービス提供条件テーブルと、端末／センタ／回線状態管理テーブルと、未送信メッセージのデータとを格納している。
【００４６】
代理応答メッセージ管理テーブルの一例を図１０に示す。図１０の例では、代理応答メッセージ管理テーブルは、管理ＩＤ（主キー）の列と、送信元の列と、メッセージの長さの列と、要求メッセージ（送信メッセージとも呼ぶ）の列と、代理応答メッセージの列と、代理応答メッセージにおいて可変データの位置を表すメッセージ内可変項目（１又は複数のパラメータ箇所）の列とを含む。このように要求メッセージと代理応答メッセージの対が登録される。図１０の例は、アプリケーション通信制御装置７１のＤＢ７１８に格納される代理応答メッセージ管理テーブルを示しており、送信元の列には、主に端末が登録される。なお、代理応答メッセージ管理テーブルは、センタサイドのアプリケーション通信制御装置５１のＤＢにも代理応答メッセージ管理テーブルが同様のフォーマットで格納されるが、この場合には、送信元の列には、主に「サーバ」が登録される。
【００４７】
図１１に、メッセージ可変項目テーブルの一例を示す。図１１の例では、メッセージ可変項目テーブルは、管理ＩＤ（主キー）の列と、可変項目数の列と、可変箇所と可変情報とを有する１又は複数の可変項目の列とを有する。可変箇所は、代理応答メッセージにおける位置を表し、可変情報の「要求メ１２〜１３」は、要求メッセージにおける１２から１３桁のデータを用いることを表している。すなわち、可変項目において、代理応答メッセージを生成する際の生成ルールを規定する。
【００４８】
図１２に、アプリケーション通信制御条件テーブルの一例を示す。図１２の例では、アプリケーション通信制御条件テーブルは、管理ＩＤ（主キー）の列と、高速化有無の列と、継続有無の列とを含む。なお、本実施の形態では、代理応答メッセージ管理テーブルにおけるレコード毎に、高速化有無及び継続有無を登録するようになっているが、アプリケーション通信制御装置７１全体で、高速化有無及び継続有無を登録するようにしても良い。また、高速化と継続処理の区別をしないようにしてもよい。
【００４９】
図１３に、サービス提供条件テーブルの一例を示す。図１３の例では、サービス提供条件テーブルは、管理キー（主キー）の列と、障害事象数の列と、障害内容と閾値条件（閾値と代理応答の内容データ）とを含む１又は複数の障害事象の列とを含む。図１３の例においては、障害内容が、メイン回線１の障害の場合には、閾値条件が、全てのメッセージについて肯定的な代理応答を行う（ＯＫ：ａｌｌ）というものである。全てのメッセージということであるが、代理応答メッセージ管理テーブルに登録されていなければ応答のしようがないので、代理応答メッセージ管理テーブルに従って肯定的な代理応答メッセージを返信するということである。同様に、障害内容が、バックアップ回線３の障害の場合には、閾値条件が、全てのメッセージについて肯定的な代理応答を行う（ＯＫ：ａｌｌ）というものである。メイン回線１の障害の場合と同じである。一方、障害内容が、メインセンタ５の障害である場合には、閾値条件が、要求メッセージの２２から２４桁の値が１００未満であれば、肯定的な応答（ＯＫ：ＩＤ＝１Ａ）を行い、要求メッセージの２２から２４桁の値が１００以上であれば、否定的な応答（ＮＧ：ＩＤ＝１ａ）を行うというものである。このように、肯定的な応答を行ってよいような要求メッセージを受信した場合には、代理応答メッセージ管理テーブルにおいて同一管理ＩＤのレコードに従うが、否定的な応答を行うような要求メッセージを受信した場合には、代理応答メッセージ管理テーブルにおいて同一管理ＩＤのレコードに対して閾値条件で指定された変更を行って、否定的な代理応答メッセージを生成する。このように図８に示したようなフローを実施する上で必要なデータが登録されることになる。要求メッセージの２２から２４桁は、発注数量のような例を示したが、発注金額であるようなメッセージについても同じような条件を設定することができる。同様に他のデータ項目について閾値及び条件を設定することができる。
【００５０】
図１４に、端末／センタ／回線状態管理テーブルの一例を示す。図１４の例では、端末／センタ／回線状態管理テーブルは、制御ＩＤ（副キー）の列と、担当するコンピュータ（端末又はサーバ）についての自局情報の列と、メイン回線１及びバックアップ回線３についての回線情報の列と、他局情報１の列と、他局情報２の列とを含む。このテーブルを適切に管理することによって、障害状態を把握することができるようになる。
【００５１】
次に、センタサイドのアプリケーション通信制御装置５１の構成を図１５に示す。アプリケーション通信制御装置５１は、代理応答メッセージ自動生成部５１１と、アプリケーション管理部５１２と、サービス提供条件管理部５１３と、代理応答メッセージ追加部５１４と、端末／センタ／回線状態分析部５１５と、アプリケーション通信高速化／継続制御部５１６と、センタデータ配信部５１８と、センタ間制御部５１９と、ＤＢ５１７とを有する。
【００５２】
代理応答メッセージ自動生成部５１１は、代理応答メッセージ自動生成部７１１と同様の機能を有する。アプリケーション管理部５１２は、アプリケーション管理部７１２と同様の機能を有する。サービス提供条件管理部５１３は、サービス提供条件管理部７１３と同様の機能を有する。代理応答メッセージ追加部５１４は、代理応答メッセージ追加部７１４と同様の機能を有する。端末／センタ／回線状態分析部５１５は、端末／センタ／回線状態分析部７１５と同様の機能を有する。アプリケーション通信高速化／継続制御部５１６は、アプリケーション通信高速化／継続制御部７１６と同様の機能を有する。ＤＢ５１７は、ＤＢ７１８と同様のデータを格納する。
【００５３】
センタデータ配信部５１８は、ＤＢ５１７に格納されている未送信のメッセージを、可能なタイミングで送信する。
【００５４】
センタ間制御部５１９は、メインセンタ５の状態遷移を契機とするバックアップセンタ９への切替／切戻に必要となるメインセンタの制御を行う。
【００５５】
以下、端末／センタ／回線状態分析部７１５、アプリケーション通信高速化／継続制御部７１６、端末データ配信部７１７、センタデータ配信部５１８、及びセンタ間制御部５１９の処理について図１６乃至図２２を用いて詳細に説明する。
【００５６】
まず、端末／センタ／回線状態分析部７１５の処理フローを図１６に示す。但し、上でも述べたように、端末／センタ／回線状態分析部５１５は、端末／センタ／回線状態分析部７１５と同様の機能を有する。端末／センタ／回線状態分析部７１５は、図６に示したように、端末（例えば受発注端末７７。但し、センタサイドのアプリケーション通信制御装置５１の端末／センタ／回線状態分析部５１５の場合にはサーバ５５）、メインセンタ５及びバックアップセンタ９（センタサイドのアプリケーション通信制御装置５１の端末／センタ／回線状態分析部５１５の場合には拠点７及びバックアップセンタ９。バックアップセンタ９のアプリケーション通信制御装置９１の端末／センタ／回線状態分析部の場合にはメインセンタ５及び拠点７）、ＷＡＮ回線のメイン網１及びバックアップ網３の状態を監視して、定期的又は任意のタイミングで、それらの状態を確認する（ステップＳ１）。そして状態遷移が発生しているか判断する（ステップＳ３）。例えば、正常状態から異常状態に遷移したり、その逆で異常状態から正常状態に遷移したかを判断する。状態遷移が存在しない場合には、今回の処理を終了する。
【００５７】
状態遷移が発生している場合には、端末／センタ／回線状態分析部７１５は、所定の処理部（例えば、アプリケーション通信高速化／継続制御部７１６など）に状態遷移の発生を通知し（ステップＳ５）、ＤＢ７１８の端末／センタ／回線状態管理テーブルに当該状態遷移に係るデータを登録する（ステップＳ７）。そして、今回の処理を終了する。
【００５８】
このような処理を実施すれば、端末／センタ／回線状態管理テーブルが最新の状態に変更され、アプリケーション通信高速化／継続制御部７１６も、状態遷移に応じて判断の内容を変更することができる。なお、上でも述べたが、図１６の処理は、定期的又は任意のタイミングで実行される。
【００５９】
次に、アプリケーション通信高速化／継続制御部７１６の処理フローを図１７及び図１８に示す。まず、アプリケーション通信高速化／継続制御部７１６は、端末とサーバとのアプリケーション通信を受信し（ステップＳ１１）、ＤＢ７１８に格納されているテーブルを参照する（ステップＳ１３）。そして、受信した要求メッセージが代理応答メッセージ管理テーブルの要求メッセージの列に登録されているか確認し、登録されている場合にはアプリケーション通信制御条件テーブルの対応するレコードにおいて、高速化／継続処理ありと規定されているか判断する（ステップＳ１５）。ここで、代理応答メッセージ管理テーブルに要求メッセージが登録されていない場合又は高速化／継続処理なしと規定されている場合、アプリケーションの透過制御として、要求メッセージをそのまま宛先に送信する（ステップＳ１７）。
【００６０】
一方、高速化／継続処理ありと規定されている場合には、アプリケーション通信高速化／継続制御部７１６は、端末／センタ／回線状態管理テーブルにおいて異常が登録されているか判断する（ステップＳ１９）。なお、端末／センタ／回線状態分析部７１５から通知があった場合には、当該通知のデータを基に判断する。そして、異常がなければ、端子Ａを介して図１８の処理に移行する。一方、異常があれば、要求メッセージが、サービス提供条件テーブルにおいて該当する異常に対応して規定されている閾値条件において、肯定的な閾値条件を満たしているか判断する（ステップＳ２１）。図１３の例では、メイン回線１及びバックアップ回線３の障害の場合には、全ての要求メッセージが肯定的な代理応答を可能にするものであるので、代理応答メッセージ管理テーブルに登録されている要求メッセージは、肯定的な閾値条件を満たすと判断される。一方、メインセンタ５の障害の場合には、肯定的な閾値条件は、要求メッセージの２２から２４桁の数値が１００未満という条件である。
【００６１】
このように、要求メッセージが、サービス提供条件テーブルにおいて該当する異常に対応して規定されている閾値条件において、肯定的な閾値条件を満たしていない場合、すなわち、要求メッセージが否定的な閾値条件に合致している場合、アプリケーション通信高速化／継続制御部７１６は、閾値条件に含まれる制御内容（図１３のメインセンタ５の障害の場合においては、ＩＤ＝１ａでＮＧとする制御）に応じて否定的な代理応答メッセージを生成し（ステップＳ２３）、当該代理応答メッセージを送信元に返信する（ステップＳ２５）。このように、図８の下段に示したような処理が実施される。
【００６２】
一方、要求メッセージが、サービス提供条件テーブルにおいて該当する異常に対応して規定されている閾値条件において、肯定的な閾値条件を満たしている場合、アプリケーション通信高速化／継続制御部７１６は、閾値条件に含まれる制御内容（図１３のメインセンタ５の障害の場合においては、ＩＤ＝１ＡでＯＫとする制御）に応じて肯定的な代理応答メッセージを生成し（ステップＳ２７）、当該代理応答メッセージを送信元に返信する（ステップＳ２９）。このようにして、図８の上段に示したような処理が実施される。
【００６３】
そして、アプリケーション通信高速化／継続制御部７１６は、今回の要求メッセージをデータ蓄積するか判断する（ステップＳ３１）。データ蓄積するか否かは、例えば、端末／センタ／回線状態分析部７１５からの状態通知において、メイン回線１の障害の場合にはバックアップ回線３への切替が完了しているか、メインセンタ５の障害の場合にはバックアップセンタ９への切替が完了しているかに応じて判断する。なお、障害が発生している場合には、必ずデータ蓄積を行うようにしても良い。また、必ずデータ蓄積するモード設定がなされているか否かを判断基準にしても良い。
【００６４】
データ蓄積しない場合には、アプリケーション通信高速化／継続制御部７１６は、アプリケーション通信の透過制御を実施する（ステップＳ３３）。具体的には、受信した要求メッセージをそのまま宛先に送信する。
【００６５】
一方、データ蓄積を実施する場合には、アプリケーション通信高速化／継続制御部７１６は、受信した要求メッセージをＤＢ７１８にデータ蓄積する（ステップＳ３５）。そして、所定の処理部（拠点サイドのアプリケーション通信制御装置７１の場合には端末データ配信部７１７。センタサイドのアプリケーション通信制御装置５１の場合にはセンタデータ配信部５１８。）に通知を行う（ステップＳ３７）。端末データ配信部７１７やセンタデータ配信部５１８は、定期的に又はこのような通知のタイミングで以下で述べるような処理を実施する。
【００６６】
次に、図１８を用いて端子Ａの後の処理を実施する。すなわち、異常なしと判断された場合には、アプリケーション通信高速化／継続制御部７１６は、代理応答メッセージ管理テーブル及びメッセージ可変項目テーブルに規定されているルールに従って代理応答メッセージを生成し（ステップＳ３９）、当該代理応答メッセージを送信元に返信する（ステップＳ４１）。
【００６７】
そして、アプリケーション通信高速化／継続制御部７１６は、今回の要求メッセージをデータ蓄積するか判断する（ステップＳ４３）。例えば、データ蓄積を行うか否かについてモード設定されている場合には、これに従うようにしても良い。データ蓄積しない場合には、アプリケーション通信高速化／継続制御部７１６は、アプリケーション通信の透過制御を実施する（ステップＳ４５）。具体的には、受信した要求メッセージをそのまま宛先に送信する。
【００６８】
一方、データ蓄積を実施する場合には、アプリケーション通信高速化／継続制御部７１６は、受信した要求メッセージをＤＢ７１８にデータ蓄積する（ステップＳ４７）。そして、所定の処理部（拠点サイドのアプリケーション通信制御装置７１の場合には端末データ配信部７１７。センタサイドのアプリケーション通信制御装置５１の場合にはセンタデータ配信部５１８。）に通知を行う（ステップＳ４９）。端末データ配信部７１７やセンタデータ配信部５１８は、定期的に又はこのような通知のタイミングで以下で述べるような処理を実施する。
【００６９】
次に、図１９を用いて、端末データ配信部７１７の処理について説明する。端末データ配信部７１７は、定期的に又は任意のタイミング（例えばアプリケーション通信高速化／継続制御部７１６からの通知受信のタイミング）で、ＤＢ７１８に未送信のメッセージが蓄積されているか判断する（ステップＳ５１）。蓄積されていなければ、今回は処理を終了する。蓄積されていれば、未送信メッセージを読み出し、宛先に送信する（ステップＳ５３）。例えば、メインセンタ５からバックアップセンタ９に切り替えられている場合には、メインセンタ５ではなくバックアップセンタ９に宛先を変更して送信する。
【００７０】
以上のような処理を実施することによって、送信すべき要求メッセージを、多少時間差が生じても送信することができるようになる。
【００７１】
次に、図２０を用いてセンタデータ配信部５１８の処理について説明する。センタデータ配信部５１８は、定期的に又は任意のタイミング（例えばアプリケーション通信高速化／継続制御部５１６からの通知受信のタイミング）で、ＤＢ５１７に未送信のメッセージが蓄積されているか判断する（ステップＳ６１）。蓄積されていなければ、今回は処理を終了する。蓄積されていれば、未送信メッセージを読み出し、宛先（拠点７の端末やバックアップセンタ９）に送信する（ステップＳ６３）。
【００７２】
以上のような処理を実施することによって、送信すべき要求メッセージを、多少時間差が生じても送信することができるようになる。
【００７３】
次に、センタ間制御部５１９（又はバックアップセンタ９のアプリケーション通信制御装置９１におけるセンタ間制御部）の処理について図２１及び図２２を用いて説明する。センタ間制御部は、定期的に又は任意のタイミング（例えば端末／センタ／回線状態分析部５１５からの通知受領やメインセンタ５からの切替通知のタイミング）で、他方のセンタの状態確認を実施する（ステップＳ７１）。そして、自らがメインセンタ５である場合には（ステップＳ７３：Ｙｅｓルート）、端子Ｂを介して図２２の処理に移行する。一方、自らがバックアップセンタ９である場合には（ステップＳ７３：Ｎｏルート）、ステップＳ７１の結果がメインセンタ５の応答無しであるか判断する（ステップＳ７５）。その場合には、メインセンタ５の応答無しであった場合には、センタ切替の所定の処理を実施する（ステップＳ７７）。メインセンタ５の応答がない場合には、メインセンタ５とのデータ同期はできないが、拠点７からの要求メッセージに応答できるようにする。
【００７４】
一方、センタ間制御部は、メインセンタ５の応答無しではない場合には、メインセンタ切替であるか判断する（ステップＳ７９）。メインセンタ５の切替であると判断された場合には、メインセンタ５とのデータ同期を実施し（ステップＳ８１）、さらにセンタ切替の所定の処理を実施する（ステップＳ８３）。
【００７５】
また、メインセンタ切替ではない場合にはメインセンタ復旧であるから、センタ間制御部は、メインセンタ５とのデータ同期を実施し（ステップＳ８５）、センタ切戻の所定の処理を実施する（ステップＳ８７）。
【００７６】
次に図２２を用いて端子Ｂ以降の処理について説明する。図２２は、自らがメインセンタ５のセンタ間制御部５１９である場合の処理である。センタ間制御部５１９は、ステップＳ７１の結果がメインセンタ切替であるか判断する（ステップＳ９９）。メインセンタ切替であると判断された場合には、バックアップセンタ９へメインセンタ切替通知を送信する（ステップＳ１０１）。そして、バックアップセンタ９とのデータ同期を実施する（ステップＳ１０３）。その後、センタ切替のための所定の処理を実施する（ステップＳ１０５）。
【００７７】
一方、メインセンタ切替ではなくメインセンタ復旧を認識した場合には、センタ間制御部５１９は、バックアップセンタ９へメインセンタ復旧通知を送信する（ステップＳ１０７）。そして、バックアップセンタ９とのデータ同期を実施する（ステップＳ１０９）。その後、センタ切戻のための所定の処理を実施する（ステップＳ１１１）。具体的には、拠点からの要求メッセージを処理できるような準備処理を実施する。
【００７８】
以上のような処理を実施することによって、メインセンタ５とバックアップセンタ９との間の切替をスムーズに実施することができるようになる。
【００７９】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、図９及び図１５に示した機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成とは一致しない場合もある。
【００８０】
また、処理フローについても処理結果が変わらない限り、処理ステップの順番を入れ替えたり、並列実行させるようにしても良い。
【００８１】
なお、受発注端末７７、サーバ５５及び９５、アプリケーション通信制御装置５１、７１及び９１においては、図２３に示すように、メモリ２５０１（記憶部）とＣＰＵ２５０３（処理部）とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。ＯＳ及びＷｅｂブラウザを含むアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。このようなコンピュータは、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００８２】
（付記１）
ネットワークを介して通信を行う第１のコンピュータと第２のコンピュータとの間の経路上に設けられるアプリケーション通信制御装置であって、
対処すべき障害の状態と、前記第１のコンピュータから受信する特定のメッセージの特定の位置に含まれる数値に対する閾値と、前記特定のメッセージの特定の位置に含まれる数値と前記閾値との比較結果に応じて前記特定のメッセージに対して送信すべき応答メッセージの内容についてのデータとを対応して保持する条件テーブルと、前記ネットワークと前記第２のコンピュータとの障害の有無を管理するための状態管理テーブルとを格納するデータ記憶部と、
前記ネットワークと前記第２のコンピュータとを監視して、前記状態管理テーブルに障害の有無を登録する手段と、
前記第１のコンピュータから前記特定のメッセージを受信した場合、前記状態管理テーブルに前記対処すべき障害の状態が登録されているか確認し、前記対処すべき障害の状態が登録されている場合には、受信した前記特定のメッセージの前記特定の位置に含まれる数値と前記条件テーブルにおいて対応して登録されている前記閾値とを比較し、当該比較結果に対応して前記条件テーブルに登録されている前記応答メッセージの内容についてのデータに従って今回の応答メッセージを生成し、前記第１のコンピュータに返信する代理応答手段と、
前記代理応答手段により生成された前記今回の応答メッセージが肯定的な応答メッセージである場合には、前記特定のメッセージを前記第２のコンピュータ又は当該第２のコンピュータの代替コンピュータに送信する処理を実施する送信手段と、
を有するアプリケーション通信制御装置。
【００８３】
（付記２）
前記データ記憶部が、
前記第１のコンピュータから受信する送信メッセージと当該送信メッセージに応答して前記第２のコンピュータから受信する特定の応答メッセージとを対応して保持するメッセージ管理テーブルを格納しており、
前記代理応答手段が、
前記第１のコンピュータから前記送信メッセージを受信した場合、前記状態管理テーブルに前記対処すべき障害の状態が登録されているか確認し、前記対処すべき障害の状態が登録されていない場合には、前記メッセージ管理テーブルに前記送信メッセージが登録されているか判断し、登録されている場合には、受信した前記送信メッセージに対応して前記メッセージ管理テーブルに登録されている前記特定の応答メッセージを読み出し、前記送信メッセージに含まれるデータに応じて、読み出した前記特定の応答メッセージを修正して、前記第１のコンピュータに返信し、
前記送信手段は、
修正後の前記特定の応答メッセージを前記第２のコンピュータに送信する処理を実施する
付記１記載のアプリケーション通信制御装置。
【００８４】
（付記３）
前記代理応答手段が、
前記代理応答手段により生成された前記今回の応答メッセージが否定的な応答メッセージである場合には、前記特定のメッセージを破棄する
付記１記載のアプリケーション通信制御装置。
【００８５】
（付記４）
ネットワークを介して通信を行う第１のコンピュータと第２のコンピュータとの間の経路上に設けられるアプリケーション通信制御装置のプロセッサに実行されるプログラムであって、
前記ネットワークと前記第２のコンピュータとを監視して、前記ネットワークと前記第２のコンピュータとの障害の有無を管理するための状態管理テーブルに障害の有無を登録する機能と、
前記第１のコンピュータから特定のメッセージを受信した場合、前記状態管理テーブルに前記対処すべき障害の状態が登録されているか確認し、前記対処すべき障害の状態が登録されている場合には、対処すべき障害の状態と、前記第１のコンピュータから受信する特定のメッセージの特定の位置に含まれる数値に対する閾値と、前記特定のメッセージの特定の位置に含まれる数値と前記閾値との比較結果に応じて前記特定のメッセージに対して送信すべき応答メッセージの内容についてのデータとを対応して保持する条件テーブルにおいて前記特定のメッセージに対応して登録されている前記閾値と、受信した前記特定のメッセージの前記特定の位置に含まれる数値とを比較し、当該比較結果に対応して前記条件テーブルに登録されている前記応答メッセージの内容についてのデータに従って今回の応答メッセージを生成し、前記第１のコンピュータに返信する代理応答機能と、
前記代理応答機能により生成された前記今回の応答メッセージが肯定的な応答メッセージである場合には、前記特定のメッセージを前記第２のコンピュータ又は当該第２のコンピュータの代替コンピュータに送信する処理を実施する送信機能と、
を前記プロセッサに実現させるためのプログラム。
【図面の簡単な説明】
【００８６】
【図１】第１の従来技術を説明するための図である。
【図２】第２の従来技術を説明するための図である。
【図３】第３の従来技術を説明するための図である。
【図４】本発明の実施の形態におけるシステム概要を示す図である。
【図５】通常時のフローを示す図である。
【図６】通常時相互監視のフローを示す図である。
【図７】メイン回線障害時のフローを示す図である。
【図８】メインセンタ障害時のフローを示す図である。
【図９】拠点サイドのアプリケーション通信制御装置の機能ブロック図を示す図である。
【図１０】代理応答メッセージ管理テーブルの一例を示す図である。
【図１１】メッセージ可変項目管理テーブルの一例を示す図である。
【図１２】アプリケーション通信制御条件テーブルの一例を示す図である。
【図１３】サービス提供条件テーブルの一例を示す図である。
【図１４】端末／センタ／回線状態管理テーブルの一例を示す図である。
【図１５】センタサイドのアプリケーション通信制御装置の機能ブロック図を示す図である。
【図１６】端末／センタ／回線状態分析処理の処理フローを示す図である。
【図１７】アプリケーション通信高速化／継続制御処理の処理フローを示す図である。
【図１８】アプリケーション通信高速化／継続制御処理の処理フローを示す図である。
【図１９】端末データ配信処理の処理フローを示す図である。
【図２０】センタデータ配信処理の処理フローを示す図である。
【図２１】センタ間制御処理の処理フローを示す図である。
【図２２】センタ間制御処理の処理フローを示す図である。
【図２３】コンピュータの機能ブロック図である。
【符号の説明】
【００８７】
１  ＷＡＮ回線のメイン網    ３  ＷＡＮ回線のバックアップ網
５  メインセンタ    ７  拠点
９  バックアップセンタ
５１，７１，９１  アプリケーション通信制御装置
５３，７３，９３  通信装置
５５，９５  サーバ    ７５  ＰＯＳ端末
７７  受発注端末    ５７，７９，９７  ＬＡＮ
５１１，７１１  代理応答メッセージ自動生成部
５１２，７１２  アプリケーション管理部
５１３，７１３  サービス提供条件管理部
５１４．７１４  代理応答メッセージ追加部
５１５，７１５  端末／センタ／回線状態分析部
５１６，７１６  アプリケーション通信高速化／継続制御部
５１７，７１８  ＤＢ
５１８  センタデータ配信部
５１９  センタ間制御部
７１７  端末データ配信部
【図１】
0004900268.tif 000002
【図２】
0004900268.tif 000003
【図３】
0004900268.tif 000004
【図４】
0004900268.tif 000005
【図５】
0004900268.tif 000006
【図６】
0004900268.tif 000007
【図７】
0004900268.tif 000008
【図８】
0004900268.tif 000009
【図９】
0004900268.tif 000010
【図１０】
0004900268.tif 000011
【図１１】
0004900268.tif 000012
【図１２】
0004900268.tif 000013
【図１３】
0004900268.tif 000014
【図１４】
0004900268.tif 000015
【図１５】
0004900268.tif 000016
【図１６】
0004900268.tif 000017
【図１７】
0004900268.tif 000018
【図１８】
0004900268.tif 000019
【図１９】
0004900268.tif 000020
【図２０】
0004900268.tif 000021
【図２１】
0004900268.tif 000022
【図２２】
0004900268.tif 000023
【図２３】
0004900268.tif 000024