(57)【特許請求の範囲】
【請求項１】
単一のクライアント装置に対して複数台のサーバ装置が接続され、データ通信を行う前記クライアント装置側の２重化装置からのデータ受信方式において、
前記クライアント装置には、前記複数のサーバ装置からのデータを受信する受信回路と、該受信回路で受信した前記複数のサーバ装置からの受信データにサーバ識別コードおよび受信時刻を付加する情報付加回路と、該情報付加回路からの出力データを格納する比較バッファと、
前記情報付加回路の出力データおよび前記比較バッファが格納するデータを比較する比較回路とを備え、該比較回路により前記複数のサーバ装置からの受信データを前記サーバ識別コードおよび前記受信時刻に基づき通過／破棄の判定を行い、前記複数のサーバ装置からの受信データのうちの１つを上位処理へ通知することを特徴とする２重化装置からのデータ受信方式。
【請求項２】
前記クライアント装置は、前記比較バッファの格納データ数を定めるバッファ格納数を有し、前記比較バッファの格納データ数が前記バッファ格納数を越えるとき古いデータを削除する追加／削除回路を更に備えることを特徴とする請求項１に記載の２重化装置からのデータ受信方式。
【請求項３】
前記比較回路は、前記情報追加回路からのデータを前記比較バッファ内に格納された新しいデータから順次比較して、データの一致を判定することを特徴とする請求項１又は２に記載の２重化装置からのデータ受信方式。
【請求項４】
前記クライアント装置は、前記情報追加回路から前記比較回路へのデータと前記比較バッファの格納データが同一であるとき、当該両データの受信時刻差分を計算する時刻差分計算回路を更に備えることを特徴とする請求項１、２又は３に記載の２重化装置からのデータ受信方式。
【請求項５】
前記時刻差分計算回路は、該計算回路によるデータの受信時間差に基づき統計処理を行い、新しい基準時間および前記バッファ格納数を算出することを特徴とする請求項４に記載の２重化装置からのデータ受信方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ受信方式、特にデュアルシステムにおけるクライアント側のデータ受信方式に関する。
【０００２】
【従来の技術】
２つのサーバから通知される同一データを正確にＯＲ（オペレーションズ・リサーチ）し、上位処理へ１つのデータとして通知する二重化装置（デュアルシステム）からのデータ受信方式又は受信回路は周知である。
【０００３】
例えば、特開平４−３６０２４２号公報の「二重化システムの系切替装置およびその方法」及び特開昭６０−１０００３６号公報の「２重化システムデータ受信処理方式」には、斯る従来技術が開示されている。
【０００４】
図６は、従来の２重化サーバ（デュプレックスシステム）とクライアントとの接続及び動作説明図である。この従来技術は、運用状態と待機状態とを有するデュプレックスシステムである。通常、サーバ装置は、クライアント装置からその動作状態が指定される。クライアント装置は、運用状態のサーバ装置と情報のやりとり（通信）を行う。待機状態のサーバ装置は、それが正常状態且つ待機状態であることをクライアント装置に知らせることのみを行い、データ操作等の処理を行わない。
【０００５】
サーバ装置からクライアント装置のデータを連続的に通知している状態で、何らかの理由／原因でサーバ装置が異常停止した場合、クライアント装置は、サーバ装置の切り替えを行い、待機状態のサーバ装置を運用状態として新たに情報のやりとりを行う。従って、今まで通知されていたデータとの連続性は失われ、再処理する為の時間の無駄も生じることとなる。
【０００６】
また、図７は、従来の２重化サーバ（デュアルシステム）とクライアントとの接続動作説明図である。２台のサーバ装置（サーバ０系とサーバ１系）が共に運用状態となって動作するデュアルシステムである。このシステムでは、一方のサーバ装置が停止しても同じデータが他方の正常なサーバ装置からクライアント装置に通知されている。そこで、クライアント側では、データの連続性を維持することができる。しかし、同じデータが２個ずつ通知されてくるので、２重処理にならないように、後から受信したデータを破棄する等の処理が必要となる。
【０００７】
このデータ破棄処理において、２台のサーバ装置から通知されてくるデータが同時刻で連続していれば、２つ目のデータを破棄することは容易である。しかし、現実には、図８に示す如き場合がある。即ち、一方のサーバ装置であるサーバ０系が大阪に設置され、他方のサーバ装置であるサーバ１系が東京に設置され、クライアント装置が夫々大阪、名古屋及び東京にあり、これらの間に数１００ｋｍの距離差がある。このような場合、サーバ装置の内部保持時間差、サーバ装置の設置場所の違いによる伝送路遅延が不可避的に生じる。その結果、２つのデータのクライアント装置への到達時間は不定となり、２つ目のデータを破棄することは困難であり、実現されていない。
【０００８】
【発明が解決しようとする課題】
上述の説明から理解される如く、従来技術の問題点の１つは、データの連続性の保持ができないということである。その理由は、２重化システムでは、接続されているサーバ装置がダウンした場合に、クライアント装置は接続されているサーバ装置を切り替える必要があるが、サーバ装置がダウンした時点からクライアント装置が他方のサーバ装置に切り替え完了するまでの間はデータを受け取ることができない。この間に発生した事象データは、捨てられてしまうこととなる。従って、クライアント装置は、切り替えられたサーバ装置から時間を遡ってデータを再受信する必要があり、データの連続性が保たれない為である。
【０００９】
また、別の問題点は、信頼性向上の為の２重化構成を１００％生かせないことである。その理由は、サーバ装置を２重化して信頼性を向上しても、クライアント装置との間は１対１で接続されており、情報の欠損等を防止できない為である。
【００１０】
そこで、本発明の目的は、２重化システムにおける異常処理時のデータの連続性を保証することと、データの再送等の手順を省き、伝送効率の向上を図るデータ受信方式を提供することである。
【００１１】
また、本発明の他の目的は、クライアント装置とサーバ装置との間で、完全な２重化システムを構築し、信頼性向上したデータ受信方式を提供することである。
【００１２】
【課題を解決するための手段】
前述の課題を解決するため、本発明による２重化装置からのデータ受信方式は、次のような特徴的な構成を採用している。
【００１３】
（１）単一のクライアント装置に対して複数台のサーバ装置が接続され、データ通信を行う前記クライアント装置側の２重化装置からのデータ受信方式において、
前記クライアント装置には、前記複数のサーバ装置からのデータを受信する受信回路と、該受信回路で受信した前記複数のサーバ装置からの受信データにサーバ識別コートおよび受信時刻を付加する情報付加回路と、該情報付加回路からの出力データを格納する比較バッファと、
前記情報付加回路の出力データおよび前記比較バッファが格納するデータを比較する比較回路とを備え、該比較回路により前記複数のサーバ装置からの受信データを前記サーバ識別コードおよび前記受信時刻に基づき通過／破棄の判定を行い、前記複数のサーバ装置からの受信データのうちの１つを上位処理へ通知する２重化装置からのデータ受信方式。
【００１４】
（２）前記クライアント装置は、前記比較バッファの格納データ数を定めるバッファ格納数を有し、前記比較バッファの格納データ数が前記バッファ格納数を越えるとき古いデータを削除する追加／削除回路を更に備える上記（１）の２重化装置からのデータ受信方式。
【００１５】
（３）前記比較回路は、前記情報追加回路からのデータを前記比較バッファ内に格納された新しいデータから順次比較して、データの一致を判定する上記（１）又は（２）の２重化装置からのデータ受信方式。
【００１６】
（４）前記クライアント装置は、前記情報追加回路から前記比較回路へのデータと前記比較バッファの格納データが同一であるとき、当該両データの受信時刻差分を計算する時刻差分計算回路を更に備える上記（１）、（２）又は（３）の２重化装置からのデータ受信方式。
【００１７】
（５）前記時刻差分計算回路は、該計算回路によるデータの受信時間差に基づき統計処理を行い、新しい基準時間および前記バッファ格納数を算出する上記（４）の２重化装置からのデータ受信方式。
【００１８】
【発明の実施の形態】
以下、本発明による２重化装置からのデータ受信方式の好適実施形態例を添付図１乃至図４を参照して詳細に説明する。
【００１９】
先ず、図１を参照して説明する。図１は、本発明による２重化装置からのデータ受信方式の好適実施形態例のブロック図である。この２重化装置からのデータ受信方式は、受信回路１１、情報追加回路１２、比較回路１３、追加／削除回路１４、時刻差分計算回路１５、格納バッファ数計算回路１６及び比較バッファ１７を有する。情報追加回路１２には、サーバ識別コードＡ及び受信時刻Ｂが入力される。格納バッファ数計算回路１６からバッファ格納数Ｃ及び受信時刻差許容値Ｄを得る。バッファ格納数Ｃは、比較回路１３と追加／削除回路１４に入力される。受信時刻差許容値Ｄは、時刻差分計算回路１５に入力される。また、この時刻差分計算回路１５へ又はこの回路から統計データＥを入出力する。
【００２０】
図１の２重化装置からのデータ受信方式は、２台のサーバ、即ちサーバ系１０ａとサーバ１系１０ｂが完全に２重化動作していることを前提としている。これらに接続されているクライアント装置は、受信回路１１において、２台のサーバ装置１０ａ、１０ｂとデータの送受信を並行して行うことで、完全に２重化システムとしている。
【００２１】
クライアント装置に搭載される本発明によるデータ受信方式は、従来の如く単にサーバ装置からデータを受信して上位処理に通知するデータ受信方式とは異なる。内部にバッファを有し、データのファイリングを行うことで、上位処理に対してあたかも１台のサーバ装置からデータを受信しているように見せることを特徴とする。
【００２２】
図３に示す如くサーバ０系１０ａ及びサーバ１系１０ｂの両方とも正常の場合（図３（Ａ）参照）でも、サーバ１０ａ、１０ｂの片方、例えばサーバ０系１０ａが異常の場合（図３（Ｂ）参照）でも、上位処理は全く意識することなく処理を継続することが可能になる。
【００２３】
図２は、図１に示した本発明による２重化装置からのデータ受信方式の動作フローチャートである。図２のフローチャートを参照して、本発明による２重化装置からのデータ受信方式におけるデータ通過／破棄の判定ロジックを説明する。
【００２４】
ステップＳ１で、サーバ識別コード（０系／１系）を付加する。ステップＳ２で、受信時刻を付加する。ステップＳ３で、受信データを比較バッファ（図１の１７）に格納する。ステップＳ４で比較バッファ１７がＦＵＬＬか否か判断し、ＦＵＬＬの場合には次のステップＳ５へ移行し、ＦＵＬＬでなければ、ステップＳ６へ移行する。ステップＳ５で、最も古いデータを削除する。ステップＳ６では、比較する古いデータの有無を判断する。受信したデータと同じものが比較バッファ１７に存在しない場合には、０系／１系サーバ装置から最初に受信したデータとして上位処理へ通知する（ステップＳ１４）。比較する古いデータがある場合には、ステップＳ７へ移行する。
【００２５】
ステップＳ７で、比較バッファ１７に格納されているデータと比較する。即ち、新しいものから古いものへと比較する。次にステップＳ８で、データが同一か否か判断する。同一データの場合には、ステップＳ１０へ移行し、データが同一でない場合にはステップＳ９へ移行する。ステップＳ９で、次に新しいデータとの比較を行う。
【００２６】
次に、ステップＳ１０で、サーバ識別コードが同じか否か判断する。即ち、データと同じものが比較バッファ１７に存在し、更にそのデータが同一のサーバ装置から通知されたものである場合は、他方のサーバ装置からのデータが何らかの原因で通知なかったものとに見なし、同じ処理が２回行われた結果が通知されてきたと判断して、上位処理へ通知する（ステップＳ１４）。
【００２７】
ステップＳ１１で、受信時刻の差計算を行う。ステップＳ１２で、統計処理にて新しい基準時間／バッファ数を算出する。次にステップ１３で、時刻差が基準時間を越えているか否か判断する。即ち、受信したデータと同じものが比較バッファ１７に存在し、更にそのデータが異なるサーバ装置から通知されたものであり、両方の受信時間の差が基準値を越えている場合には、同じ処理が２回行われた結果が夫々０系／１系サーバ装置から通知され、且つ順番が逆転したものと判断して上位処理へ通知する（ステップ１４）。また、両方の受信時刻の差が基準値以内であれば、２重化処理の為の同一データの２回目の通知と判断して廃棄して処理を終了する（ステップＳ１５）。尚、通常殆んどの場合は、この廃棄処理となる。
【００２８】
また、本発明による２重化装置からのデータ受信方式では、比較バッファ１７のサイズを計算式により求められている。これは不必要に大きなデータを保持し、比較回路１３の処理時間が増大するのを防ぐ。また、同じ処理が２回行われた場合、１回目のデータが比較バッファ１７に残っている間に２回目の結果データを受信し、比較処理で破棄してしまうのを防ぐ。
【００２９】
比較バッファ１７の内容と判定結果例は、図５に示すとおりである。
また、上述のデータ破棄の計算式は、次のとおりである。
ｎ：受信データ総数
ｔα：受信したデータの時刻
ｔβ：バッファ内にある異なるサーバから受信した同一データの時刻
γ：２つのサーバのクライアントとの転送時間差の平均に許容量を加えたもの、
とすると、
（ｔα−ｔβ）＜γであれば、受信データは破棄する。
ここで、
γ＝Σ（ｔα−ｔβ）／ｎ）＋許容値で表される（Σは総数を表す）
尚、δをクライアントのデータ受信能力とすると、バッファ格納数は、
γ×δ
で求められる。
【００３０】
この計算式における基準時間γは、同一の上位処理が連続して２回処理を行い、その２つの応答データがサーバ装置がら通知される時間差より短いことが望ましく、この条件に合うように許容値を設定する。
【００３１】
次に、図１のデータ受信方式の動作を説明する。受信回路１１は、２台のサーバ装置１０ａ、１０ｂから並行してデータを受信する。このとき、受信した受信したサーバ種別コード（０系又は１系）Ａと受信時刻Ｂを出力する。情報追加回路１２は、受信データに上述したサーバ種別コードＡと、受信時刻Ｂとを付加する。また、追加／削除回路１４は、このデータを比較バッファ１７に追加する。比較バッファ１７は、図５に示す如く、受信データを受信した時刻順に格納している。その際に、比較バッファ１７に格納（記録）されているデータ数がバッファ格納数Ｃを越えた場合、最も古いデータを削除する。
【００３２】
次に、受信データは、比較回路１３に送られる。この比較回路１３は、受信データと比較バッファ１７の内容を比較バッファ１７の中の新しいものから順にバッファ格納数Ｃだけ比較する。同一のデータが比較バッファ１７内に存在しない場合には、この受信データを上位処理に通知する。同一のデータが見つかった場合には、それぞれのサーバ識別コードＡが同じであれば、この受信データを上位処理に通知する。サーバ識別コードＡが異なる同一データが見つかった場合には、時刻差分計算回路１５にて両方のデータの受信時刻の差を計算する。この時刻差が受信時刻差許容値Ｄを越えていれば、この受信データを上位処理に通知する。許容値Ｄ内であれば、この受信データは破棄される。
【００３３】
格納バッファ数計算回路１６は、上述した計算式を用いて、受信時刻差の許容値Ｄとバッファ格納数Ｃを更新する。計算には、総計処理が必要であり、過去の受信時刻差の総和と受信総数を統計データＥとして記録／更新する。
【００３４】
上述した本発明による２重化装置からのデータ受信方式の好適実施形態例にあっては、０系及び１系サーバ装置１０ａ、１０ｂに共通の受信回路１１を使用した。しかし、図４の２重化装置からのデータ受信方式の他の実施形態例にあっては、両サーバ装置１０ａ、１０ｂは、夫々専用の受信回路１１ａ、１１ｂをクライアント装置内に有する。斯る専用受信回路１１ａ、１１ｂを介して上位処理への通知又はデータの破棄を行っても、上述した好適実施形態例の場合の効果が得られることは同じである。
【００３５】
以上、本発明による２重化装置からのデータ受信方式の実施形態例の構成及び動作を詳述した。しかし、本発明は、斯る特定例のみに限定されるべきではなく、本発明の要旨を逸脱することなく種々の変形変更が可能であること当業者には容易に理解できよう。
【００３６】
【発明の効果】
上述の説明から理解される如く、本発明の２重化装置からのデータ受信方式によると、従来技術に対し種々の顕著な効果が得られる。
【００３７】
先ず、２重化されたサーバ装置の両方から同時にデータを受信することが可能な為に、片方のサーバ装置がダウンしてもデータが途切れることがなくなるので、サーバ装置からの受信データの連続性が保たれる。
【００３８】
また、２重化されたサーバ装置の両方から同時にデータを受信することが可能である為に、片方のサーバ装置からのデータが欠損しても、他方のサーバ装置からのデータを用いて補うことが可能であるので、サーバ装置とクライアント装置間の信頼性が向上する。
【００３９】
更に、本発明によるデータ受信方式では、２重化されたサーバ装置からのデータを比較バッファのデータと比較回路で比較することにより重複を避けるべくＯＲ処理して、上位処理に通知するので、効率が改善でき且つサーバ／クライアント装置間の距離差等の影響がない。
【図面の簡単な説明】
【図１】本発明による２重化装置からのデータ受信方式の好適実施形態例のブロック図である。
【図２】図１におけるデータ受信方式の動作説明用フローチャートである。
【図３】図１におけるデータ受信方式のサーバ／クライアント装置間の接続動作例を示す図である。
【図４】本発明による２重化装置からのデータ受信方式の他の実施形態例のブロック図である。
【図５】図１における比較バッファ１７の内容と判定結果例を示す図である。
【図６】従来の２重化サーバ（デュプレックスシステム）とクライアントの接続動作例である。
【図７】従来の２重化サーバ（デュアルシステム）とクライアントの接続動作例と問題点を示す図である。
【図８】一般的な広域システムにおけるサーバ装置とクライアント装置の配置例である。
【符号の説明】
１０ａ、１０ｂ          サーバ装置
１１、１１ａ、１１ｂ    受信回路
１２                    情報追加回路
１３                    比較回路
１４                    追加／削除回路
１５                    時刻差分計算回路
１６                    格納バッファ数計算回路
１７                    比較バッファ
Ａ                      サーバ識別コード
Ｂ                      受信時刻
Ｃ                      バッファ格納数
【図１】
0003827463.tif 000002
【図２】
0003827463.tif 000003
【図３】
0003827463.tif 000004
【図４】
0003827463.tif 000005
【図５】
0003827463.tif 000006
【図６】
0003827463.tif 000007
【図７】
0003827463.tif 000008
【図８】
0003827463.tif 000009