(57)【特許請求の範囲】
【請求項１】
フロントエンドプロセッサと、現用ホストと、待機ホストとから構成される電文処理システムであって、
前記フロントエンドプロセッサは、
端末から送信された電文を記憶する電文保持記憶装置と、
端末から送信された電文を受信する第１の受信手段と、
前記第１の受信手段で受信した電文を前記電文保持記憶装置に保存すると共に、通常電文である旨を設定した該電文を前記現用ホストに通知する手段と、
前記現用ホストまたは前記待機ホストから送信された応答電文を受信する第２の受信手段と、
前記第２の受信手段で受信した応答電文に対応する電文を前記電文保持記憶装置から破棄すると共に、該応答電文を前記端末に送信する手段と、
前記現用ホストの障害を契機に、前記電文保持記憶装置に保存されている電文を取り出し、再送電文である旨を設定した該電文を前記待機ホストに通知する手段と
を備え、
前記現用ホストは、
前記フロントエンドプロセッサから送信された電文を受信し、該電文で依頼を受けた処理を実行すると共に、前記現用ホストまたは前記待機ホストが処理を完了した電文を登録する端末テーブルに該電文を書き込む処理実行手段と、
前記処理実行手段の処理結果である応答電文を前記フロントエンドプロセッサに通知する手段と
を備え、
前記待機ホストは、
前記フロントエンドプロセッサから送信された電文を受信する受信手段と、
前記受信手段で受信した電文を該電文が再送電文である旨が設定されている場合に、前記端末テーブルに該電文と等しい電文があるか否かを判定する手段と、
前記判定の結果、等しい電文がある場合には、処理済の結果を応答電文に設定して前記フロントエンドプロセッサに送信するか、処理結果を破棄して該電文で依頼を受けた処理を実行すると共に前記端末テーブルに該電文を書き込み、該処理の処理結果である応答電文を該フロントエンドプロセッサに通知する手段と、
前記判定の結果、等しい電文がない場合には、該電文で依頼を受けた処理を実行すると共に前記端末テーブルに該電文を書き込み、該処理の処理結果である応答電文を該フロントエンドプロセッサに通知する手段と
を備えることを特徴とする電文処理システム。
【請求項２】
前記待機ホストは、前記現用ホストからの所定時間毎の生存通知を監視し、該生存通知がタイムオーバーした時に、前記フロントエンドプロセッサとの接続を自系に切り替えると共に、現用ホストに異常が発生した旨を該フロントエンドプロセッサに通知することを特徴とする請求項１記載の電文処理システム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、端末から回線を介して受信した電文を中断することなく確実に処理する電文処理システムに関するものである。
【０００２】
近年、コンピュータシステムの信頼性を高めるために、現用ホストと待機ホストよりなるホットスタンバイシステムが使用されるようになった。その場合、現用ホストに異常が発生した場合も端末のセションを切断しないなどの理由のためにＦＥＰ（フロントエンドプロセッサ）マシンが使用されている。この際、現用ホストで処理中の電文についても待機ホストで処理を引継ぎ、端末の処理を中断させないための工夫が望まれている。
【０００３】
【従来の技術】
従来のＦＥＰにおいては、端末から受信しホストへ送出しない電文を保持し、ホストへ送出した時点で電文を破棄していた。このような制御により、端末から回線を介してＦＥＰが一旦正常に受信した電文は保持されるので、ホストへ送出するまでの間に発生した障害に対しては端末の処理の継続を保証できた。
【０００４】
【発明が解決しようとする課題】
上述した従来のＦＥＰは、端末から回線を介して正常に受信した電文をホストに送出した時点で破棄し、ホストが正常に処理してその応答電文を返していたときはその応答電文を回線を介して端末に送信すればよい。
【０００５】
しかしながら、現用ホストに何らかの異常が発生した場合、当該現用ホストが処理中の電文が失われてしまい、端末から電文で依頼を受けた処理を継続して行うことができなくなってしまう問題があった。このため、現用ホストで処理中の電文であっても、端末からの電文で依頼を受けた処理の中断を無くすことが望まれている。
【０００６】
本発明は、これらの問題を解決するため、端末から回線を介して受信した電文をＦＥＰが保存し現用ホストに送出して処理依頼し、現用ホストに何らかの障害が発生したときに待機ホストがＦＥＰから保存しておいた電文の再送を受けて処理を続行し、応答電文を返し、端末から電文で依頼した処理の継続の保証を実現することを目的としている。
【０００７】
【課題を解決するための手段】
図１を参照して課題を解決するための手段を説明する。
図１において、端末１は、電文の処理を依頼するものである。
【０００８】
ＦＥＰ２は、フロントエンドプロセッサであり、端末１から回線を介して受信した電文を保存したり、現用ホスト３に通知したりなどするものであって、電文保存／破棄手段２３および電文保持記憶装置２４などから構成されるものである。
【０００９】
現用ホスト３は、ＦＥＰ２から通知された電文によって依頼された処理を実行するものである。
待機ホスト４は、現用ホスト３に何らかの障害が発生したときに、現用ホスト３に代わって処理を続行するものである。
【００１０】
端末テーブル５は、電文の処理を終了したときに処理済を登録するものである。
【００１１】
【作用】
本発明は、図１に示すように、端末１から回線を介して送信されてきた電文をＦＥＰ２が受信し、電文保持／破棄手段２３がこの受信した電文を電文保持記憶装置２４に保存すると共にこの電文を現用ホスト３に通知する。電文の通知を受けた現用ホスト３は、電文で依頼を受けた処理を実行し、その結果を応答電文にしてＦＥＰ２の電文保存／破棄手段２３に通知し、通知を受けた電文保存／破棄手段２３が電文保持記憶装置に保存した電文を破棄すると共に応答電文を該当する端末１に回線を介して送信する。一方、現用ホスト３に何らかの障害の発生を契機として、ＦＥＰ２が電文保持記憶装置２４に保存されている電文を待機ホスト４に通知して処理依頼し、正常処理済の旨の応答電文を受信したときに電文保持記憶装置２４に保存した電文を破棄すると共に応答電文を該当する端末１に回線を介して送信する。
【００１２】
この際、ＦＥＰ２から通知された電文を受信した現用ホスト３が当該電文の処理を終了したときに端末テーブル５に処理終了の旨を登録し、現用ホスト３に何らかの障害発生時に、ＦＥＰ２から通知された電文を受信した待機ホスト４が端末テーブル５を参照して当該電文が処理済と判明したときに処理済の結果を応答電文に設定してＦＥＰ２に通知、あるいは処理結果を破棄して電文の処理を再実行して端末テーブル５に処理済を登録およびその結果を応答電文に設定してＦＥＰ２に通知、一方、端末テーブル５を参照して当該電文が処理未と判明したときに電文の処理を実行して端末テーブル５に処理済を登録およびその結果を応答電文に設定してＦＥＰ２に通知するようにしている。
【００１３】
従って、端末１から回線を介して受信した電文をＦＥＰ２が保存し現用ホスト３に送出して処理依頼し、現用ホスト３に何らかの障害が発生したときに待機ホスト４がＦＥＰ２から保存しておいた電文の再送を受けて処理を続行し、応答電文を返すことにより、端末１から電文で依頼した処理の継続の保証を実現することが可能となる。
【００１４】
【実施例】
次に、図１から図４を用いて本発明の実施例の構成および動作を順次詳細に説明する。
【００１５】
図１は、本発明の１実施例構成図を示す。
図１において、端末１は、処理依頼内容を電文に組み立てて回線を介してＦＥＰ２に送信し、その処理結果を応答電文を受け取って各種処理を行うものであって、例えば銀行の現金自動支払機などの端末である。
【００１６】
ＦＥＰ２は、フロントエンドプロセッサであり、端末１から回線を介して受信した電文を受け付けて保存したり、現用ホスト３に通知したりなどするものであって、受信手段２１、送信手段２２、電文保存／破棄手段２３、電文保持記憶装置２４、送信手段２５、および受信手段２６などから構成されるものである。
【００１７】
受信手段２１は、端末１から回線を介して送信されてきた電文を受信するものである。
送信手段２２は、電文を回線を介して該当する端末１に送信するものである。
【００１８】
電文保存／破棄手段２３は、受信手段２１によって受信した電文を電文保持記憶装置２４に保存したり、電文を現用ホスト３に通知して処理依頼したり、正常処理済の旨の応答電文を受信したときに電文保持記憶装置２４に保存した電文を破棄すると共に応答電文を該当する端末１に送信させたりなどするものである。
【００１９】
電文保持記憶装置２４は、電文を保存するものであって、メモリや磁気ディスク装置などである。
送信手段２５は、電文を現用ホスト３あるいは待機ホスト４に送信（通知）するものである。
【００２０】
受信手段２６は、現用ホスト３あるいは待機ホスト４から送信されてきた電文を受信するものである。
現用ホスト３は、現用のホストであって、受信した電文によって依頼された処理を実行し、その処理結果を応答電文に組み立ててＦＥＰ２に通知するものである。
【００２１】
待機ホスト４は、現用ホスト３に何らかの障害が発生したときに電文の処理を続行するものである（図２、図４を用いて後述する）。
端末テーブル５は、現用ホスト３あるいは待機ホスト４が電文の処理を終了したときにその終了した旨を登録するものである。
【００２２】
次に、図２のフローチャートに示す順序に従い、図１の構成のもとで、現用ホスト３が正常な場合の動作を詳細に説明する。
図２は、本発明の動作説明フローチャート（正常時）を示す。
【００２３】
図２において、Ｓ１は、端末１が電文送出する。これは、端末１である例えば現金自動支払機が処理内容を電文に組み立てて回線を介してＦＥＰ２に送信する。
【００２４】
Ｓ２は、ＦＥＰ２が電文を受信する。これは、Ｓ１で端末１から送信された電文を、ＦＥＰ２の受信手段２１が受信する。
Ｓ３は、電文保存する。これは、Ｓ２で受信した電文を、電文保存／破棄手段２３が電文保持記憶装置２４に保存する。
【００２５】
Ｓ４は、電文を送信する。これは、Ｓ３で電文を保存した後、送信手段２５がこの電文を現用ホスト３に送信する。
Ｓ５は、現用ホスト３が電文を受信する。これは、Ｓ４で送信された電文を、現用ホスト３が受信する。
【００２６】
Ｓ６は、Ｓ５で受信した電文が通常電文か判別する。これは、Ｓ５で受信した電文のヘッダ部に通常電文表示がされているか判別する。ここでは、正常時の場合であるので、ＹＥＳとなって通常電文と判明するので、Ｓ７以降に進む。一方、ＮＯの場合には、後述する図４のＳ２９のＮＯに該当し、Ｓ３０以降に進む。
【００２７】
Ｓ７は、Ｓ６のＹＥＳで通常の電文と判明したので、通常の電文の処理を行う。
Ｓ８は、端末テーブルへ電文を書き込む。これにより、現用ホスト３で電文の処理が正常に処理終了した旨を端末テーブル５に登録したこととなる。
【００２８】
Ｓ９は、応答電文を組み立ててＦＥＰ２に送信する。
Ｓ１０は、Ｓ９で送信されてきた応答電文をＦＥＰ２が受信する。
Ｓ１１は、保存していた電文を破棄する。これは、Ｓ１０で正常処理した旨の応答電文をＦＥＰ２が受信したので、電文保存／破棄手段２３が電文保持記憶装置２４に保存されている電文を破棄する。
【００２９】
Ｓ１２は、応答電文を回線を介して該当する端末１に送信する。
Ｓ１３は、Ｓ１２で送信された応答電文を端末１が受信し、処理完了した旨を認識し、終了する。
【００３０】
以上によって、端末１が依頼する処理内容を電文に組み立てて回線を介してＦＥＰ２に送信すると、電文を受信したＦＥＰ２は電文を保存すると共に電文を現用ホスト３に送信して処理依頼する。現用ホスト３は、電文で依頼を受けた処理を終了するとその旨を端末テーブル５に登録すると共に応答電文をＦＥＰ２に送信する。ＦＥＰ２は、この送信された応答電文を受信し、保存していた電文を破棄および応答電文を該当する端末１に送信する。これらにより、正常時には、端末１は電文をＦＥＰ２に送信するのみで、確実にその処理実行が保証された状態で処理結果を応答電文として受信することが可能となる。障害発生時には、後述する図３および図４に示すように、ＦＥＰ２に保存した電文、更に、端末テーブル５に登録した電文の処理済を参照し、ＦＥＰ２が保存した電文を待機ホスト４に再送信して処理を中断した部分から続行し、応答電文を端末１に返すことが可能となる。
【００３１】
図３は、本発明の概念説明図を示す。これは、現用ホスト３に何らかの障害が発生したときに、電文の処理を待機ホスト４が続行するときの概念を模式的に示したものである。
【００３２】
図３において、▲１▼は、ＦＥＰ２が端末１から受信した電文を現用ホスト３に送出する。このときの電文は右側に記載したように、ヘッダ部に“通常電文表示”を設定し、データ部“電文の内容”を設定した電文を現用ホスト３に送出する。
【００３３】
▲２▼は、現用ホスト３の異常を検出する。これは、ＦＥＰ３が現用ホスト３から所定時間経過しても応答電文を受信しないことによって検出、あるいは待機ホスト４が現用ホスト３の動作を監視し、何らかの障害が発生して動作できない状態になったことを検出したときに、現用ホスト３の異常をＦＥＰ２に通知し、当該ＦＥＰ２が現用ホスト３の異常を検出する。
【００３４】
▲３▼は、▲２▼で現用ホスト３の異常を検出したので、ＦＥＰ２が保存しておいた電文を取り出し、右側に示すように、ヘッダ部に“再送電文表示”を設定し、データ部“電文の内容”を設定した電文を待機ホスト４に送出する。これにより、待機ホスト４が現用ホスト３に代わって電文の処理を実行し、その処理結果から応答電文を組み立て、ＦＥＰ２に送信する。ＦＥＰ２は、応答電文を受信すると、保存しておいた電文を破棄すると共にその応答電文を該当する端末１に送信する。端末１は、応答電文を受信し、正常に処理が完了した旨を認識する。
【００３５】
以上のように、現用ホスト３および待機ホスト４の前の部分にＦＥＰ２を設け、端末１から送信されてきた電文を保存し、この電文を現用ホスト３に送信して処理依頼したときに、現用ホスト３に何らかの障害が発生しても、保存している電文を待機ホスト４に送信して処理の続行を行わせ、その処理結果を設定した応答電文を端末１に送信することが可能であり、端末１から受信した電文の処理の実行（続行）を保証するシステムを実現できたこととなる。以下図４を用いて現用ホスト４に障害が発生した時の電文の処理の続行を保証する動作を詳細に説明する。
【００３６】
図４は、本発明の動作説明フローチャート（障害発生時）を示す。
図４において、Ｓ２１は、待機ホスト４が現用ホスト３の監視を行う。
Ｓ２２は、Ｓ２１の監視に対応して、現用ホスト３が待機ホスト４に生存通知を所定時間毎に行う。
【００３７】
Ｓ２３は、異常検出か判別する。これは、待機ホスト４が現用ホスト４の監視を行い、現用ホスト３から生存通知が所定時間毎に通知されなく、タイムオーバしたときに現用ホスト３に何らかの異常が発生したと検出する。ＹＥＳの場合には、Ｓ２４に進む。一方、ＮＯの場合にはＳ２１に戻り、現用ホスト３の監視を続ける。
【００３８】
Ｓ２４は、Ｓ２３のＹＥＳで現用ホスト３に異常発生したので、ＦＥＰとの接続を自系に切替える。これは、待機ホスト４がＦＥＰ２との接続を自系（待機ホスト４）に切り替える。
【００３９】
Ｓ２５は、待機ホスト４がＳ２４で自系に切り替えたことに対応して、ＦＥＰ２へ自系に切り替えた旨を通知する。
Ｓ２６は、ＦＥＰ２がＳ２５の通知に対応して、未処理電文が有か判別する。これは、ＦＥＰ２が電文保持記憶装置２４に保存した電文が破棄されないで残っているか判別する。ＹＥＳの場合には、電文保持記憶装置２４に電文が残っていたので、Ｓ２７でその電文を待機ホスト４に再送する（図３の▲３▼を行う）。
【００４０】
Ｓ２８は、Ｓ２７でＦＥＰ２から再送された電文を待機ホスト４が受信する。
Ｓ２９は、Ｓ２８で受信した電文が通常電文か判別する。ここでは、再送電文であってＮＯであるので、Ｓ３０に進む。
【００４１】
Ｓ３０は、待機ホスト４が端末テーブル５の読みだしを行う。
Ｓ３１は、端末テーブルの電文と、受信電文（再送）は等しいか判別する。ＹＥＳの場合には、端末テーブル５に処理完了と登録されていたので（図２のＳ８で書き込まれていたので）、Ｓ３２で前回の処理結果を破棄してＳ３４で電文の再処理を行い、Ｓ３５で端末テーブル５へ電文を書き込み、Ｓ３６に進むか、あるいはＳ３３で応答電文を組み立て（即ち前回の処理結果をそのままつかい当該処理結果をもとに応答電文を組み立て）、Ｓ３６に進むかのいずれかを行う。一方、ＮＯの場合には、端末テーブル５に書き込まれていなく、処理前に現用ホスト３に障害が発生したと判明したので、Ｓ３４で電文の処理を行い、Ｓ３５で端末テーブル５へ電文を書き込んで処理完了の旨を登録し、Ｓ３６に進む。
【００４２】
Ｓ３６は、応答電文を組み立て、ＦＥＰ２に送信する。
Ｓ３７は、Ｓ３６で送信された応答電文をＦＥＰ２が受信する。
Ｓ３８は、ＦＥＰ２が保存しておいた電文を破棄する（電文保持記憶装置２４に保存しておいた電文を破棄する）。
【００４３】
Ｓ３９は、ＦＥＰ２が応答電文を該当する端末１に回線を介して送信する。
Ｓ４０は、Ｓ３９で送信された応答電文を端末１が受信し、処理完了を認識する。
【００４４】
以上によって、図２のＳ５ないしＳ９の処理のいずれかを実行中の現用ホスト３に障害が発生した場合、Ｓ２３のＹＥＳとなり、待機ホスト４が自系に切り替えてその旨をＦＥＰ２に通知し、ＦＥＰ２が保存しておいた電文を待機ホスト４に再送し、待機ホスト４が端末テーブル５を参照し、未処理のときは再処理して端末テーブル５に処理済を登録および応答電文を組み立ててＦＥＰ２に送信し、一方、処理済のときは応答電文を組み立ててＦＥＰ２に送信、あるいは前回の処理結果を破棄して再処理して端末テーブル５に処理済を登録および応答電文を組み立ててＦＥＰ２に送信する。そして、ＦＥＰ２が保存しておいた電文を破棄し、応答電文を該当する端末１に送信し、端末１は処理完了を認識する。このようにＦＥＰ２を現用ホスト３と待機ホスト４の前に設けて応答電文を端末１に送信するまで保存することにより、現用ホスト３に障害が発生しても保存しておいた電文を待機ホスト４に再送して処理を続行させることができ、端末１から見て電文による処理の実行（続行）を保証するシステムが実現できたこととなる。
【００４５】
【発明の効果】
以上説明したように、本発明によれば、端末１から回線を介して受信した電文をＦＥＰ２が保存し現用ホスト３に送出して処理依頼し、現用ホスト３に何らかの障害が発生したときにＦＥＰ２から保存しておいた電文を待機ホスト４に再送して処理を続行し、応答電文を返す構成を採用しているため、端末１から電文で依頼した処理の継続を保証するシステムを実現できた。これらにより、現用ホスト３に異常が発生した場合でも、端末１からの電文が捨てられることがなく正常に処理を行うことができる。以下に試算してみる。
【００４６】
例えば端末１とＦＥＰ間の伝送時間が片道１秒、ＦＥＰの処理時間が０．１秒、ホストの処理時間が１秒と仮定すると、
（１）  本発明を使用しない場合には、端末１から送信した電文のうち、以下の割合の電文が破棄されることになる。
【００４７】
0003990742.tif 000002
となる。
【００４８】
（２）  本発明を使用すれば、上記（１）の３２％の電文が捨てられることがなく自動的に再処理されるので、端末１から見た場合に、３２％の電文が捨てられてしまった従来の問題を解決でき、システム全体の信頼性を大幅に向上させることが可能となった。
【図面の簡単な説明】
【図１】本発明の１実施例構成図である。
【図２】本発明の動作説明フローチャート（正常時）である。
【図３】本発明の概念説明図である。
【図４】本発明の動作説明フローチャート（障害発生時）である。
【符号の説明】
１：端末
２：ＦＥＰ（フロントエンドプロセッサ）
２１、２６：受信手段
２２、２５：送信手段
２３：電文保存／破棄手段
２４：電文保持記憶装置
３：現用ホスト
４：待機ホスト
５：端末テーブル
【図１】
0003990742.tif 000003
【図２】
0003990742.tif 000004
【図３】
0003990742.tif 000005
【図４】
0003990742.tif 000006