(57)【要約】【課題】  待機系と稼働系との間で通信失敗が発生した場合でもサーバ装置間の状態同期を確実に実行することが可能な通信システムを提供する。【解決手段】  通信システムは、２台のサーバ装置（１ａ，１ｂ）と複数台の端末装置（２ａ〜２ｃ）とから構成され、サーバ装置のうちの一方を稼働系として運用しかつサーバ装置のうちの他方を待機系として運用している。この通信システムでは、端末装置（２ａ〜２ｃ）から稼働系のサーバ装置（１ａ）への通信を待機系のサーバ装置（１ｂ）経由で行い、待機系のサーバ装置（１ｂ）において、稼働系のサーバ装置（１ａ）への通信内容を一時保存しておき、稼働系のサーバ装置（１ａ）での通信内容の処理が完了していることを確認してから一時保存した通信内容を処理することで稼働系のサーバ装置（１ａ）及び待機系のサーバ装置（１ｂ）各々の状態を同期させている。【選択図】      図１
2009266138.tif 000002
【特許請求の範囲】
【請求項１】
２台のサーバ装置と複数台の端末装置とから構成され、前記サーバ装置のうちの一方を稼働系として運用しかつ前記サーバ装置のうちの他方を待機系として運用する通信システムであって、
前記端末装置から前記稼働系のサーバ装置への通信を前記待機系のサーバ装置経由で行い、
前記待機系のサーバ装置において、前記稼働系のサーバ装置への通信内容を一時保存しておき、前記稼働系のサーバ装置での通信内容の処理が完了していることを確認してから一時保存した通信内容を処理することで前記稼働系のサーバ装置及び前記待機系のサーバ装置各々の状態を同期させることを特徴とする通信システム。
【請求項２】
前記サーバ装置各々は、前記稼働系として運用する際に通信内容の処理が完了したことを示すメッセージを前記待機系に通知するメッセージ送信手段と、前記待機系として運用する際に通信内容を一時保存するメッセージ一時保存手段と、前記稼働系からの前記メッセージの受信時に前記メッセージ一時保存手段に一時保存した通信内容の削除と前記待機系での状態同期とを実行する状態更新手段とを含むことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記サーバ装置は、前記メッセージ一時保存手段に一時保存した通信内容を再送信する再送信確認手段を含むことを特徴とする請求項２に記載の通信システム。
【請求項４】
前記サーバ装置は、前記待機系として運用する間に前記稼働系がダウンした場合に前記メッセージ一時保存手段に一時保存したままになっている通信内容を実行することで前記稼働系のサーバ装置及び前記待機系のサーバ装置各々の状態同期を完了させる切替手段を含むことを特徴とする請求項３に記載の通信システム。
【請求項５】
前記待機系として運用する際に前記端末装置からの通信電文に一意に判別可能な識別子を付与することを特徴とする請求項３または請求項４に記載の通信システム。
【請求項６】
２台のサーバ装置と複数台の端末装置と中継装置とから構成され、前記サーバ装置のうちの一方を稼働系として運用しかつ前記サーバ装置のうちの他方を待機系として運用する通信システムであって、
前記端末装置から前記稼働系のサーバ装置への通信を前記中継装置経由で行い、
前記中継装置において、前記端末装置と前記稼働系のサーバ装置との間での通信内容を一時保存し、当該通信内容を、前記稼働系のサーバ装置での通信内容処理が完了していることを確認してから前記待機系のサーバ装置に送信することで前記稼働系のサーバ装置及び前記待機系のサーバ装置各々の状態を同期させることを特徴とする通信システム。
【請求項７】
前記サーバ装置各々は、前記通信内容の処理が完了したことを示すメッセージを前記中継装置に通知するメッセージ送信手段を含み、
前記中継装置は、前記通信内容を一時保存するメッセージ一時保存手段と、前記稼働系のサーバ装置からの前記メッセージの受信時に前記メッセージ一時保存手段に一時保存した通信内容の削除と前記一時保存した通信内容の前記待機系のサーバ装置への送信とを実行するメッセージ転送手段とを含むことを特徴とする請求項６に記載の通信システム。
【請求項８】
前記中継装置は、前記メッセージ一時保存手段に一時保存した通信内容を定期的に再送信する再送信確認手段を含むことを特徴とする請求項７に記載の通信システム。
【請求項９】
前記中継装置は、前記稼働系のサーバ装置がダウンした時に前記メッセージ一時保存手段に一時保存されたままになっている通信内容を前記待機系のサーバ装置に送信することで前記稼働系のサーバ装置及び前記待機系のサーバ装置各々の状態同期を完了させるサーバ切替制御手段を含むことを特徴とする請求項８に記載の通信システム。
【請求項１０】
前記中継装置において、前記サーバ装置へ送信するメッセージに一意に判別可能な識別子を付与することを特徴とする請求項８または請求項９に記載の通信システム。
【請求項１１】
前記サーバ装置の切替中に前記端末装置から前記稼働系のサーバ装置への新たなメッセージを前記中継装置で一時保存し、前記状態同期を優先させることを特徴とする請求項９または請求項１０に記載の通信システム。
【請求項１２】
２台のサーバ装置と複数台の端末装置とから構成され、前記サーバ装置のうちの一方を稼働系として運用しかつ前記サーバ装置のうちの他方を待機系として運用する通信システムに用いるサーバ装置であって、
前記端末装置から前記稼働系への通信を前記待機系経由で行い、
前記待機系として運用する際に、前記稼働系への通信内容を一時保存しておき、前記稼働系での通信内容の処理が完了していることを確認してから一時保存した通信内容を処理することで前記稼働系及び前記待機系各々の状態を同期させることを特徴とするサーバ装置。
【請求項１３】
前記稼働系として運用する際に通信内容の処理が完了したことを示すメッセージを前記待機系に通知するメッセージ送信手段と、前記待機系として運用する際に通信内容を一時保存するメッセージ一時保存手段と、前記稼働系からの前記メッセージの受信時に前記メッセージ一時保存手段に一時保存した通信内容の削除と前記待機系での状態同期とを実行する状態更新手段とを含むことを特徴とする請求項１２に記載のサーバ装置。
【請求項１４】
前記メッセージ一時保存手段に一時保存した通信内容を再送信する再送信確認手段を含むことを特徴とする請求項１３に記載のサーバ装置。
【請求項１５】
前記待機系として運用する間に前記稼働系がダウンした場合に前記メッセージ一時保存手段に一時保存したままになっている通信内容を実行することで前記稼働系及び前記待機系各々の状態同期を完了させる切替手段を含むことを特徴とする請求項１４に記載のサーバ装置。
【請求項１６】
前記待機系として運用する際に前記端末装置からの通信電文に一意に判別可能な識別子を付与することを特徴とする請求項１４または請求項１５に記載のサーバ装置。
【請求項１７】
２台のサーバ装置と複数台の端末装置と中継装置とから構成され、前記サーバ装置のうちの一方を稼働系として運用しかつ前記サーバ装置のうちの他方を待機系として運用する通信システムに用いる中継装置であって、
前記端末装置から前記稼働系のサーバ装置への通信を自装置経由で行い、
前記端末装置と前記稼働系のサーバ装置との間での通信内容を一時保存し、当該通信内容を、前記稼働系のサーバ装置での通信内容処理が完了していることを確認してから前記待機系のサーバ装置に送信することで前記稼働系のサーバ装置及び前記待機系のサーバ装置各々の状態を同期させることを特徴とする中継装置。
【請求項１８】
前記サーバ装置各々から、前記通信内容の処理が完了したことを示すメッセージを自装置に通知され、
前記通信内容を一時保存するメッセージ一時保存手段と、前記稼働系のサーバ装置からの前記メッセージの受信時に前記メッセージ一時保存手段に一時保存した通信内容の削除と前記一時保存した通信内容の前記待機系のサーバ装置への送信とを実行するメッセージ転送手段とを含むことを特徴とする請求項１７に中継装置。
【請求項１９】
前記メッセージ一時保存手段に一時保存した通信内容を定期的に再送信する再送信確認手段を含むことを特徴とする請求項１８に記載の中継装置。
【請求項２０】
前記稼働系のサーバ装置がダウンした時に前記メッセージ一時保存手段に一時保存されたままになっている通信内容を前記待機系のサーバ装置に送信することで前記稼働系のサーバ装置及び前記待機系のサーバ装置各々の状態同期を完了させるサーバ切替制御手段を含むことを特徴とする請求項１９に記載の中継装置。
【請求項２１】
前記サーバ装置へ送信するメッセージに一意に判別可能な識別子を付与することを特徴とする請求項１９または請求項２０に記載の中継装置。
【請求項２２】
前記サーバ装置の切替中に前記端末装置から前記稼働系のサーバ装置への新たなメッセージを自装置で一時保存し、前記状態同期を優先させることを特徴とする請求項２０または請求項２１に記載の中継装置。
【請求項２３】
２台のサーバ装置と複数台の端末装置とから構成され、前記サーバ装置のうちの一方を稼働系として運用しかつ前記サーバ装置のうちの他方を待機系として運用する通信システムに用いる通信方法であって、
前記端末装置から前記稼働系のサーバ装置への通信を前記待機系のサーバ装置経由で行い、
前記待機系のサーバ装置において、前記稼働系のサーバ装置への通信内容を一時保存しておき、前記稼働系のサーバ装置での通信内容の処理が完了していることを確認してから一時保存した通信内容を処理することで前記稼働系のサーバ装置及び前記待機系のサーバ装置各々の状態を同期させることを特徴とする通信方法。
【請求項２４】
前記サーバ装置を前記稼働系として運用する際に通信内容の処理が完了したことを示すメッセージを前記待機系に通知するステップと、
前記サーバ装置を前記待機系として運用する際に通信内容を一時保存するステップと、前記稼働系からの前記メッセージの受信時に前記一時保存した通信内容の削除と前記待機系での状態同期とを実行するステップとを含むことを特徴とする請求項２３に記載の通信方法。
【請求項２５】
前記サーバ装置を前記待機系として運用する際に前記一時保存した通信内容を前記稼働系に再送信することを特徴とする請求項２４に記載の通信方法。
【請求項２６】
前記稼働系のサーバ装置がダウンした場合に前記待機系のサーバ装置に一時保存されたままになっている通信内容を実行することで前記状態同期を完了させて前記端末装置との通信を継続可能にすることを特徴とする請求項２５に記載の通信方法。
【請求項２７】
前記サーバ装置を前記待機系として運用する際に前記端末装置からの通信電文に一意に判別可能な識別子を付与することを特徴とする請求項２５または請求項２６に記載の通信方法。
【請求項２８】
２台のサーバ装置と複数台の端末装置と中継装置とから構成され、前記サーバ装置のうちの一方を稼働系として運用しかつ前記サーバ装置のうちの他方を待機系として運用する通信システムに用いる通信方法であって、
前記端末装置から前記稼働系のサーバ装置への通信を前記中継装置経由で行い、
前記中継装置において、前記端末装置と前記稼働系のサーバ装置との間での通信内容を一時保存し、当該通信内容を、前記稼働系のサーバ装置での通信内容処理が完了していることを確認してから前記待機系のサーバ装置に送信することで前記稼働系のサーバ装置及び前記待機系のサーバ装置各々の状態を同期させることを特徴とする通信方法。
【請求項２９】
前記サーバ装置各々が、前記通信内容の処理が完了したことを示すメッセージを前記中継装置に通知し、
前記中継装置において、前記通信内容を一時保存するステップと、前記稼働系のサーバ装置からの前記メッセージの受信時にその一時保存した通信内容の削除と前記一時保存した通信内容の前記待機系のサーバ装置への送信とを実行するステップとを含むことを特徴とする請求項２８に記載の通信方法。
【請求項３０】
前記中継装置において、前記一時保存した通信内容を定期的に再送信することを特徴とする請求項２９に記載の通信方法。
【請求項３１】
前記中継装置において、前記稼働系のサーバ装置がダウンした時に前記メッセージ一時保存手段に一時保存されたままになっている通信内容を前記待機系のサーバ装置に送信することで前記稼働系のサーバ装置及び前記待機系のサーバ装置各々の状態同期を完了させることを特徴とする請求項３０に記載の通信方法。
【請求項３２】
前記中継装置において、前記サーバ装置へ送信するメッセージに一意に判別可能な識別子を付与することを特徴とする請求項３０または請求項３１に記載の通信方法。
【請求項３３】
前記サーバ装置の切替中に前記端末装置から前記稼働系のサーバ装置への新たなメッセージを前記中継装置で一時保存し、前記状態同期を優先させることを特徴とする請求項３１または請求項３２に記載の通信方法。
【請求項３４】
２台のサーバ装置と複数台の端末装置とから構成され、前記サーバ装置のうちの一方を稼働系として運用しかつ前記サーバ装置のうちの他方を待機系として運用する通信システムに用いるサーバ装置内の中央処理装置に実行させるプログラムであって、
前記端末装置から前記稼働系への通信を前記待機系経由で行い、
前記稼働系として運用する際に通信内容の処理が完了したことを示すメッセージを前記待機系に通知する処理と、前記待機系として運用する際に通信内容を一時保存する処理と、前記稼働系からの前記メッセージの受信時に前記一時保存した通信内容の削除と前記待機系での状態同期とを実行する処理とを含み、
前記待機系として運用する際に、前記稼働系への通信内容を一時保存させておき、前記稼働系での通信内容の処理が完了していることを確認してから一時保存した通信内容を処理させることで前記稼働系及び前記待機系各々の状態を同期させることを特徴とするプログラム。
【請求項３５】
２台のサーバ装置と複数台の端末装置と中継装置とから構成され、前記サーバ装置のうちの一方を稼働系として運用しかつ前記サーバ装置のうちの他方を待機系として運用する通信システムに用いる中継装置内の中央処理装置に実行させるプログラムであって、
前記端末装置から前記稼働系のサーバ装置への通信を前記中継装置経由で行い、
前記サーバ装置各々から、前記通信内容の処理が完了したことを示すメッセージを前記中継装置に通知し、
前記通信内容を一時保存する処理と、前記稼働系のサーバ装置からの前記メッセージの受信時に前記一時保存した通信内容の削除と前記一時保存した通信内容の前記待機系のサーバ装置への送信とを実行する処理とを含み、
前記端末装置と前記稼働系のサーバ装置との間での通信内容を一時保存させ、当該通信内容を、前記稼働系のサーバ装置での通信内容処理が完了していることを確認してから前記待機系のサーバ装置に送信させることで前記稼働系及び前記待機系各々の状態を同期させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信システム、サーバ装置、中継装置及びそれらに用いる通信方法並びにそのプログラムに関し、特にクライアント・サーバ型の構成で実行されるデータ共有ツールを利用したグループ通信でサーバ切替えを可能にする通信システムに関する。
【背景技術】
【０００２】
広帯域な通信回線の低廉化によって、イントラネットやインタネットにおける通信は、音声通話から、テレビ電話や共同作業用のホワイトボード、アプリケーション共有等のデータ共有ツールを組み合わせた高度な通信に進化するとともに、通信の参加人数も１：１の２名から複数人を結んだものが広く利用されるようになっている。
【０００３】
上記のデータ共有ツールを利用した通信を実現するシステムを図２３に示す。図２３では、クライアント−サーバ方式で構成されるシステムを示している。このシステムの場合、サーバ７は二つの役割を持つ。一つ目の役割は、各クライアント９ａ〜９ｄでのホワイトボードへの書込みやアプリケーション共有の操作反映といったイベントの発生順序を全てのクライアント９ａ〜９ｄで同一にするために、各クライアント９ａ〜９ｄでの発信内容を一旦集約してから配信することである。もう一つの役割は、通信中のコンテンツや参加者情報やその状態といった通信に関連するデータを管理データ８として管理することである。
【０００４】
サーバ７は、上述したような役割を持つため、通信中にサーバ７がその機能を停止すると、通信の継続が不可能になる。装置故障等による通信の中断を防ぐためには、稼働中のサーバ装置（稼働系）に加えて、バックアップのサーバ装置（待機系）を用意することが考えられる。これを実行するためには、サーバ７が管理するデータが通信中に変化するため、通信中に常に稼働系のサーバ装置の状態と待機系のサーバ装置の状態とを同期しなければならない。装置の状態同期方式の一例が特許文献１に記載されている。
【０００５】
特許文献１に記載の方式では、送信端末から稼働系装置に対する通信を待機系装置を経由して行う。そして、待機系装置において、受信した通信内容の稼働系装置への転送と稼動系装置と同様のデータ処理とを行うことで、通信中に常に二つの装置の状態を同期させている。
【特許文献１】特開２００６−２２９９１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述した本発明に関連する通信システムでは、待機系サーバと稼働系サーバとの間の通信障害によるデータの欠落に関して、何ら考慮されていないため、待機系サーバと稼働系サーバとの間の通信失敗に起因して、装置間の状態同期が失敗するという課題がある。
【０００７】
また、本発明に関連する通信システムでは、クライアントから稼働系サーバを経由して全クライアントに通信内容が到着する間に、全ての通信が遠隔地の待機系サーバを経由するため、待機系サーバを稼働系サーバから遠隔地に設置した場合に、あるクライアントでの操作が全クライアントに反映されるまでの遅延が大きくなるという課題がある。
【０００８】
そこで、本発明の目的は上記の問題点を解消し、待機系と稼働系との間で通信失敗が発生した場合でもサーバ装置間の状態同期を確実に実行することができる通信システム、サーバ装置、中継装置及びそれらに用いる通信方法並びにそのプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明による通信システムは、２台のサーバ装置と複数台の端末装置とから構成され、前記サーバ装置のうちの一方を稼働系として運用しかつ前記サーバ装置のうちの他方を待機系として運用する通信システムであって、
前記端末装置から前記稼働系のサーバ装置への通信を前記待機系のサーバ装置経由で行い、
前記待機系のサーバ装置において、前記稼働系のサーバ装置への通信内容を一時保存しておき、前記稼働系のサーバ装置での通信内容の処理が完了していることを確認してから一時保存した通信内容を処理することで前記稼働系のサーバ装置及び前記待機系のサーバ装置各々の状態を同期させている。
【００１０】
本発明による他の通信システムは、２台のサーバ装置と複数台の端末装置と中継装置とから構成され、前記サーバ装置のうちの一方を稼働系として運用しかつ前記サーバ装置のうちの他方を待機系として運用する通信システムであって、
前記端末装置から前記稼働系のサーバ装置への通信を前記中継装置経由で行い、
前記中継装置において、前記端末装置と前記稼働系のサーバ装置との間での通信内容を一時保存し、当該通信内容を、前記稼働系のサーバ装置での通信内容処理が完了していることを確認してから前記待機系のサーバ装置に送信することで前記稼働系のサーバ装置及び前記待機系のサーバ装置各々の状態を同期させている。
【００１１】
本発明によるサーバ装置は、２台のサーバ装置と複数台の端末装置とから構成され、前記サーバ装置のうちの一方を稼働系として運用しかつ前記サーバ装置のうちの他方を待機系として運用する通信システムに用いるサーバ装置であって、
前記端末装置から前記稼働系への通信を前記待機系経由で行い、
前記待機系として運用する際に、前記稼働系への通信内容を一時保存しておき、前記稼働系での通信内容の処理が完了していることを確認してから一時保存した通信内容を処理することで前記稼働系及び前記待機系各々の状態を同期させている。
【００１２】
本発明による中継装置は、２台のサーバ装置と複数台の端末装置と中継装置とから構成され、前記サーバ装置のうちの一方を稼働系として運用しかつ前記サーバ装置のうちの他方を待機系として運用する通信システムに用いる中継装置であって、
前記端末装置から前記稼働系のサーバ装置への通信を自装置経由で行い、
前記端末装置と前記稼働系のサーバ装置との間での通信内容を一時保存し、当該通信内容を、前記稼働系のサーバ装置での通信内容処理が完了していることを確認してから前記待機系のサーバ装置に送信することで前記稼働系のサーバ装置及び前記待機系のサーバ装置各々の状態を同期させている。
【００１３】
本発明による通信方法は、２台のサーバ装置と複数台の端末装置とから構成され、前記サーバ装置のうちの一方を稼働系として運用しかつ前記サーバ装置のうちの他方を待機系として運用する通信システムに用いる通信方法であって、
前記端末装置から前記稼働系のサーバ装置への通信を前記待機系のサーバ装置経由で行い、
前記待機系のサーバ装置において、前記稼働系のサーバ装置への通信内容を一時保存しておき、前記稼働系のサーバ装置での通信内容の処理が完了していることを確認してから一時保存した通信内容を処理することで前記稼働系のサーバ装置及び前記待機系のサーバ装置各々の状態を同期させている。
【００１４】
本発明による他の通信方法は、２台のサーバ装置と複数台の端末装置と中継装置とから構成され、前記サーバ装置のうちの一方を稼働系として運用しかつ前記サーバ装置のうちの他方を待機系として運用する通信システムに用いる通信方法であって、
前記端末装置から前記稼働系のサーバ装置への通信を前記中継装置経由で行い、
前記中継装置において、前記端末装置と前記稼働系のサーバ装置との間での通信内容を一時保存し、当該通信内容を、前記稼働系のサーバ装置での通信内容処理が完了していることを確認してから前記待機系のサーバ装置に送信することで前記稼働系のサーバ装置及び前記待機系のサーバ装置各々の状態を同期させている。
【００１５】
本発明によるプログラムは、２台のサーバ装置と複数台の端末装置とから構成され、前記サーバ装置のうちの一方を稼働系として運用しかつ前記サーバ装置のうちの他方を待機系として運用する通信システムに用いるサーバ装置内の中央処理装置に実行させるプログラムであって、
前記端末装置から前記稼働系への通信を前記待機系経由で行い、
前記稼働系として運用する際に通信内容の処理が完了したことを示すメッセージを前記待機系に通知する処理と、前記待機系として運用する際に通信内容を一時保存する処理と、前記稼働系からの前記メッセージの受信時に前記一時保存した通信内容の削除と前記待機系での状態同期とを実行する処理とを含み、
前記待機系として運用する際に、前記稼働系への通信内容を一時保存させておき、前記稼働系での通信内容の処理が完了していることを確認してから一時保存した通信内容を処理させることで前記稼働系及び前記待機系各々の状態を同期させることを特徴とする。
【００１６】
本発明による他のプログラムは、２台のサーバ装置と複数台の端末装置と中継装置とから構成され、前記サーバ装置のうちの一方を稼働系として運用しかつ前記サーバ装置のうちの他方を待機系として運用する通信システムに用いる中継装置内の中央処理装置に実行させるプログラムであって、
前記端末装置から前記稼働系のサーバ装置への通信を前記中継装置経由で行い、
前記サーバ装置各々から、前記通信内容の処理が完了したことを示すメッセージを前記中継装置に通知し、
前記通信内容を一時保存する処理と、前記稼働系のサーバ装置からの前記メッセージの受信時に前記一時保存した通信内容の削除と前記一時保存した通信内容の前記待機系のサーバ装置への送信とを実行する処理とを含み、
前記端末装置と前記稼働系のサーバ装置との間での通信内容を一時保存させ、当該通信内容を、前記稼働系のサーバ装置での通信内容処理が完了していることを確認してから前記待機系のサーバ装置に送信させることで前記稼働系及び前記待機系各々の状態を同期させることを特徴とする。
【発明の効果】
【００１７】
本発明は、上記のような構成及び動作とすることで、クライアント間での通信遅延が変化することなく、待機系と稼働系との間で通信失敗が発生した場合でもサーバ装置間の状態同期を確実に実行することができるという効果が得られる。
【発明を実施するための最良の形態】
【００１８】
次に、本発明の実施の形態について図面を参照して説明する。まず、本発明による通信システムの概要について説明する。本発明の第１の通信システムは、サーバ装置（待機系）とサーバ装置（稼働系）として対で運用されている。
また、サーバ装置は、稼働系として運用される時に自装置での通信内容の処理が完了したことを待機系に通知するメッセージ送信手段と、待機系として運用される時に通信内容を一時保存するメッセージ一時保存手段と、一時保存された通信内容の削除と待機系での状態同期とを実行する状態更新手段と、一時保存された通信内容を定期的に再送信する再送信確認手段とを有する。
【００１９】
本発明の第１の通信システムでは、上記のような構成を採用し、端末装置からサーバ装置（稼働系）への通信をサーバ装置（待機系）を経由して行い、サーバ装置（待機系）が、自装置を経由してサーバ装置（稼働系）に送信された通信が処理を完了したことが確認できるまで通信内容を一時保存し、サーバ装置（稼働系）での処理完了を確認してから処理することで状態を同期する。
【００２０】
また、本発明の第１の通信システムでは、一定時間毎に完了が確認できない通信内容をサーバ装置（稼働系）に対して再送信する。さらに、本発明の第１の通信システムでは、サーバ装置（稼働系）での障害発生時に、処理完了が確認できずに一時保存されたままの通信をサーバ装置（待機系）で実行する。これによって、本発明の第１の通信システムでは、待機系と稼働系との間で通信失敗が発生した場合でもサーバ装置間の状態同期を確実に実行することができる。
【００２１】
次に、本発明の第２の通信システムは、待機系として運用されるサーバ装置及び稼働系として運用されるサーバ装置と端末装置との間に、中継装置が存在する。サーバ装置は、通信内容の処理が完了したことを中継装置に通知するメッセージ送信手段を有する。また、中継装置は、サーバ装置（稼働系）への通信内容を一時保存するメッセージ一時保存手段と、一時保存された通信内容の削除とサーバ装置（待機系）への通信内容の転送とを行うメッセージ転送手段と、保存された通信内容を定期的に再送信する再送信確認手段とを有する。
【００２２】
本発明の第２の通信システムでは、このような構成を採用し、端末装置からサーバ装置（稼働系）への通信を中継装置を経由して行う。中継装置では、サーバ装置（稼働系）に送信された通信が処理を完了したことが確認できるまで通信内容を一時保存し、サーバ装置（稼働系）での処理完了を確認してサーバ装置（待機系）に通信内容を転送する。
【００２３】
また、中継装置では、サーバ装置（待機系）への転送内容も、上記と同様に、サーバ装置（稼働系）での処理完了が確認されるまで一時保存する。さらに、中継装置では、一定時間毎に完了が確認できない通信内容を待機系及び稼働系の両方のサーバ装置に対して再送信する。さらにまた、中継装置では、サーバ装置（稼働系）での障害発生時に、処理完了が確認できずに一時保存されたままの通信をサーバ装置（待機系）に送信する。これによって、本発明の第２の通信システムでは、待機系サーバを遠隔地に設置した場合でも、クライアント間の通信遅延の悪化を生じさせないシステムを実現することができる。
【００２４】
図１は本発明の第１の実施の形態による通信システムの構成例を示すブロック図である。図１において、本発明の第１の実施の形態による通信システムは、サーバ装置（稼働系）１ａと、サーバ装置（待機系）１ｂと、端末装置２ａ〜２ｃとから構成されている。
【００２５】
図１において装置間を結ぶ矢印は、通信が行われることを意味するが、各装置が直接接続されることを意味しない。例えば、全装置が同一のネットワーク機器に接続されることによって通信が可能になっていてもよいし、全装置がそれぞれ異なる拠点に設置され、ネットワークを介して通信が可能になっていてもよい。端末装置２ａ〜２ｃは、ユーザに実際の通信サービスを提供するためのクライアントが稼働し、ユーザとの間で入出力が行われる。
【００２６】
図２は本発明の第１の実施の形態によるサーバ装置の構成例を示すブロック図である。図２において、サーバ装置１は、データ処理装置１１と、記憶装置１２とを含んで構成されている。尚、図１に示すサーバ装置（稼働系）１ａ及びサーバ装置（待機系）１ｂは、この図２に示すサーバ装置１と同様の構成となっている。
【００２７】
データ処理装置１１は、メッセージ受信部１１１と、メッセージ一時保存部１１２と、状態更新部１１３と、切替部１１４と、再送信確認部１１５と、メッセージ処理部１１６と、メッセージ送信部１１７とを含んで構成されている。記憶装置１２は、メッセージ保存部１２１と送信先保存部１２２とを含んで構成されている。
【００２８】
メッセージ受信部１１１は、端末装置２や他のサーバ装置からのメッセージを受信し、受信時点までに同一メッセージを受信していないかどうかの確認をすると共に、新しいメッセージであれば、その時点での系（稼働系、待機系のどちらであるか）及びメッセージ種別毎に適切な手段を選択して処理を委ねる。メッセージ受信部１１１は、以前受信したメッセージであれば、続く処理を実行せず、そのメッセージを破棄する。
【００２９】
メッセージ一時保存部１１２は、メッセージ受信部１１１から受け取ったメッセージに対して連続した番号を付与してメッセージ保存部１２１に一旦保存した後、メッセージ送信部１１７にメッセージを送る。
【００３０】
状態更新部１１３は、メッセージ受信部１１１から受け取った処理完了確認メッセージ内の連続番号を用いて、対応するメッセージをメッセージ保存部１２１から読み出し、メッセージ保存部１２１内の該メッセージを削除する。続いて、状態更新部１１３は、読み出したメッセージをメッセージ処理部１１６に渡す。
【００３１】
切替部１１４は、メッセージ受信部１１１からサーバ装置（稼動系）１ａのダウンに関するメッセージが渡されると、メッセージ受信部１１１とメッセージ送信部１１７とに対して待機系から稼動系への変更を通知すると共に、メッセージ保存部１２１に保存されているメッセージを連続番号の順に読み出し、メッセージ処理部１１６に送る。この時、読み出したメッセージは、メッセージ保存部１２１から削除される。
【００３２】
再送信確認部１１５は、一定時間間隔でメッセージ保存部１２１を確認し、保存されているメッセージを読み出してメッセージ送信部１１７に送る。メッセージ送信部１１７は、他の手段から送られてきたメッセージを、その時点での系と前段の手段とに従って、適切な装置への送信か、メッセージの破棄を行う。この場合、送信に必要なアドレス等の情報は送信先保存部１２２に保存されている。
【００３３】
図３は本発明の第１の実施の形態による通信システムの動作を示すシーケンスチャートであり、図４〜図８は本発明の第１の実施の形態によるサーバ装置における動作を示すフローチャートである。これら図１〜図８を参照して本実施の形態による通信システムの全体の動作について説明する。
【００３４】
図３に示す各装置の処理は、サーバ装置１及び端末装置２各々の主要な構成要素であるＣＰＵ（中央処理装置）（図示せず）が記憶装置１２［または、メモリ等］に記憶されたプログラムを実行することで実現される。同様に、図４〜図８に示す処理は、サーバ装置１のＣＰＵが記憶装置１２に記憶されたプログラムを実行することで実現される。
【００３５】
本実施の形態による通信システムの全体の動作は、サーバ装置（稼働系）１ａが正常に稼働している間の同期処理、サーバ装置（待機系）１ｂからサーバ装置（稼動系）１ａへのメッセージ再送処理、サーバ装置（稼働系）１ａがダウンした際の切替処理の三つに大別される。
【００３６】
まず、図３を参照して本実施の形態による通信システムの同期処理の概要について説明する。通信が行われている状態で、端末装置２がユーザのツール操作に従ってメッセージをサーバ装置（待機系）１ｂに送信する（図３のａ１）。サーバ装置（待機系）１ｂのアドレスは、予め端末装置２に与えられているものとする。
【００３７】
端末装置２からのメッセージを受信したサーバ装置（待機系）１ｂでは、一時保存等の処理を行い（図３のａ２）、サーバ装置（稼働系）１ａにメッセージを送信する（図３のａ３）。
【００３８】
サーバ装置（稼働系）１ａでは、メッセージを受信すると、アプリケーション本来のメッセージ処理を行う（図３のａ４）。その結果は、全ての端末装置２に送信され（図３のａ５）、各端末装置２で受信される（図３のａ６）。また、サーバ装置（稼働系）１ａは、端末装置２への送信終了後に、サーバ装置（待機系）１ｂに対して処理完了確認メッセージを送信する（図３のａ７）。そのメッセージを受信したサーバ装置（待機系）１ｂでは、一時保存されたメッセージを実行することでサーバ装置としての状態を同期させる（図３のａ８）。
【００３９】
次に、同期処理の詳細について図４〜図６を参照して説明する。上記の図３のａ２の処理を詳細に説明したのが図４である。
【００４０】
サーバ装置（待機系）１ｂのデータ処理装置１１のメッセージ受信部１１１は、外部からのメッセージを受信すると（図４ステップＳ１）、メッセージの処理を委ねる手段を選択する。まず、メッセージ受信部１１１は、自装置が稼働系かどうかを判断し（図４ステップＳ２）、待機系であるため、次にメッセージの送信元が端末装置２であるかどうかを確認する（図４ステップＳ３）。ここで、自装置が稼働系か待機系かの情報は予め与えられているものとする。
【００４１】
メッセージ受信部１１１は、メッセージの送信元が端末装置２であれば、メッセージ一時保存部１１２にメッセージを送る。メッセージ一時保存部１１２では、メッセージに対して一意に判別可能な連続番号を付与し（図４ステップＳ４）、メッセージ保存部１２１に連続番号を付与したメッセージを保存する（図４ステップＳ５）。
【００４２】
メッセージ一時保存部１１２は、メッセージの保存後、該メッセージをメッセージ送信部１１７へ送る。メッセージ送信部１１７は、メッセージ一時保存部１１２から送られてきたメッセージについて、サーバ装置（稼働系）１ａに送信する（図４ステップＳ６）。この場合、送信に必要なサーバ装置（稼働系）１ａのアドレスは、送信先保存部１２２に保存されているものとする。
【００４３】
続いて、サーバ装置（稼働系）１ａでのメッセージ処理（図３のａ４の処理）について図４と図５とを参照して説明する。サーバ装置（稼働系）１ａも、装置としてはサーバ装置（待機系）１ｂと同一であるため、メッセージ受信時の動作は図４のステップＳ１，Ｓ２の処理までは同一である。
【００４４】
サーバ装置（稼働系）１ａのデータ処理装置１１のメッセージ受信部１１１では、稼働系であると判断した後、受信したメッセージの連続番号を確認し、既に受信したメッセージかどうかを確認する（図５ステップＳ７）。メッセージ受信部１１１では、前回受信したメッセージの連続番号を保持しておくことで、当該メッセージが受信済かどうかの判断を可能にする。
【００４５】
メッセージ受信部１１１は、受信済のメッセージであれば、当該メッセージを破棄し（図５ステップＳ１２）、処理を終了する。また、メッセージ受信部１１１は、新規メッセージであれば、当該メッセージをメッセージ処理部１１６に送り、アプリケーション本来の処理を実行する（図５ステップＳ８）。
【００４６】
メッセージ処理部１１６は、アプリケーション本来の処理の結果をコミュニケーション中の端末装置２に反映するために、メッセージ送信部１１７に処理結果と処理した電文の連続番号とを送信する。メッセージ送信部１１７では、自装置が稼働系かどうかを判断し、稼働系であるため、コミュニケーション中の全ての端末装置２に対して処理結果を送信する（図５ステップＳ９）。
【００４７】
メッセージ送信部１１７は、全ての端末装置２に対して送信が完了した後、送信先保存部１２２にサーバ装置（待機系）１ｂのアドレスが保存されているかどうかを確認し（図５ステップＳ１０）、保存されている場合、処理メッセージに付与されていた連続番号を含めた処理完了確認メッセージをサーバ装置（待機系）１ｂに対して送信する（図５ステップＳ１１）。送信に必要な全ての端末装置２、サーバ装置（稼働系）１ａ、サーバ装置（待機系）１ｂのアドレスは、送信先保存部１２２に保存されているものとする。
【００４８】
次に、サーバ装置（待機系）１ｂでの処理完了確認メッセージ受信処理（図３のａ８の処理）について、図４及び図６を参照して説明する。処理完了確認メッセージ受信時の動作は、図４のステップＳ１〜Ｓ３までは同一である。
【００４９】
サーバ装置（待機系）１ａのデータ処理装置１１のメッセージ受信部１１１では、送信元が端末装置２ではないと判断すると、さらに処理完了確認メッセージかどうかを判断する（図６ステップＳ１３）。メッセージ受信部１１１は、処理完了確認メッセージであれば、当該メッセージを状態更新部１１３に送る。
【００５０】
状態更新部１１３では、当該メッセージに含まれる連続番号から対応する保存済メッセージをメッセージ保存部１２１から読み出して、メッセージ保存部１２１の当該メッセージを削除する（図６ステップＳ１４）。状態更新部１１３は、読み出したメッセージをメッセージ処理部１１６に送る。
【００５１】
以降の処理は、図５に示したサーバ装置（稼働系）１ａでの動作と同一であり、メッセージ処理部１１６でメッセージを処理する（図６ステップＳ１５）ことで、サーバ装置（稼働系）１ａと同じ処理を実行したことになり、状態が同期される。
【００５２】
メッセージ処理部１１６の処理結果と処理した電文の連続番号とはメッセージ送信部１１７に送信されるが、メッセージ送信部１１７は、自装置が稼働系かどうかを判断した結果、稼働系ではないため、処理結果を端末装置２に対して送信せずに破棄する（図６ステップＳ１６）。この場合、処理完了確認メッセージも、サーバ装置（稼働系）１ａに送信されることはない。
【００５３】
次に、メッセージ再送処理について図７を参照して説明する。サーバ装置（待機系）１ｂでは、予め設定された一定時間間隔で、次に述べる動作が実行される。
【００５４】
まず、再送信確認部１１５は、メッセージ保存部１２１にメッセージが保存されているかどうかを確認する。メッセージが保存されていた場合（図７ステップＳ２１）、再送信確認部１１５は、メッセージ保存部１２１から連続番号順にメッセージを読み出し（図７ステップＳ２２）、当該メッセージをメッセージ送信部１１７に送る。
【００５５】
メッセージ送信部１１７は、再送信確認部１１５からのメッセージをサーバ装置（稼動系）１ａに対して送信する（図７ステップＳ２３）。再送信確認部１１５は、メッセージ保存部１２１にメッセージが保存されていない場合、何も処理をせずに終了する。
【００５６】
最後に切替処理について、図５と図８とを参照して説明する。サーバ装置（待機系）１ｂのデータ処理装置１１のメッセージ受信部１１１は、通信中に、サーバ装置（稼動系）１ｂが何らかの理由によりダウンしたことを検知する（図８ステップＳ３１）。
【００５７】
このダウンの検知方法としては、例えば端末装置２もしくはそれ以外の専用装置によってサーバ装置（稼動系）１ａの死活確認を行い、ダウンを検知した装置がサーバ装置（待機系）１ｂに対してダウンを知らせるメッセージを送信することが考えられる。
【００５８】
また、サーバ装置（待機系）１ｂ自らが死活確認を行うか、メッセージ再送処理を同一メッセージについて規定回数繰り返した場合にダウンと判断してもよい。さらに、サーバ装置（稼動系）１ｂ自らが、処理能力不足や一部故障等の場合に自らダウンを知らせるメッセージをサーバ装置（待機系）１ｂに対して送信してもよい。
【００５９】
メッセージ受信部１１１は、上記のようなダウンを知らせるメッセージを受信すると、そのメッセージを切替部１１４に送る。切替部１１４は、当該メッセージによってダウンを検知すると、メッセージ受信部１１１とメッセージ送信部１１７とに対して、自装置が待機系から稼動系に切替わったことを通知する（図８ステップＳ３２）。
【００６０】
続いて、切替部１１４は、メッセージ保存部１２１にメッセージが保存されているかどうかを確認する（図８ステップＳ３３）。メッセージが保存されていた場合、切替部１１４は、メッセージを連続番号の順に従ってメッセージ保存部１２１から読み出し（図８ステップＳ３４）、当該メッセージをメッセージ処理部１１６に送る。
【００６１】
これ以降のステップＳ３５〜Ｓ３８の動作は、図５のステップＳ８〜Ｓ１１として示したものと同一である。但し、ステップＳ３７の動作では、待機系のアドレスが送信先保存部１２２に保存されていないため、メッセージ送信部１１７による処理完了確認の送信を行わずに終了する。また、メッセージ保存部１２１にメッセージが保存されていない場合にも、そのまま終了する。
【００６２】
このように、本実施の形態では、サーバ装置（待機系）１ｂが、自装置を経由してサーバ装置（稼働系）１ａに送信された通信が処理を完了したことを確認してからメッセージ処理による状態同期を行うことによって、サーバ装置間の通信に失敗した場合でも、サーバ装置（稼働系）１ａ及びサーバ装置（待機系）１ｂの両方が異なる状態になることを防ぐことができる。
【００６３】
また、本実施の形態では、一定時間毎に、完了が確認できない通信内容をサーバ装置（稼働系）１ａに対して再送信することで、サーバ装置（稼働系）１ａの障害発生時に状態同期のためにサーバ装置（待機系）１ｂで処理が必要になる保存メッセージ量を減らし、障害発生時の切替時間を短縮することができる。
【００６４】
図９は本発明の第２の実施の形態による通信システムの構成を示すブロック図である。図９においては、図１に示すサーバ装置（稼働系）１ａ及びサーバ装置（待機系）１ｂが同一名称で内容の異なるサーバ装置（稼働系）３ａ及びサーバ装置（待機系）３ｂに置き換わっている。また、本発明の第２の実施の形態による通信システムには、中継装置４を追加している。さらに、図９の装置間の矢印は、図１と同様に、通信が行われることを意味するが、各装置が直接接続されることは意味しない。
【００６５】
図１０は本発明の第２の実施の形態によるサーバ装置の構成を示すブロック図である。図１０において、サーバ装置３は、データ処理装置３１と、記憶装置３２とを含んで構成されている。尚、図９に示すサーバ装置（稼働系）３ａ及びサーバ装置（待機系）３ｂは、この図１０に示すサーバ装置３と同様の構成となっている。
【００６６】
データ処理装置３１は、メッセージ受信部１１１と、メッセージ処理部１１６と、メッセージ送信部１１７とを含んで構成されている。記憶装置１２は、送信先保存部１２２を含んで構成されている。
【００６７】
これらメッセージ受信部１１１、メッセージ処理部１１６、メッセージ送信部１１７、送信先保存部１２２は、図２に示すメッセージ受信部１１１、メッセージ処理部１１６、メッセージ送信部１１７、送信先保存部１２２と同様である。
【００６８】
図１１は図９の中継装置４の構成を示すブロック図である。図１１において、中継装置４は、データ処理装置４１と、記憶装置４２とを含んで構成されている。データ処理装置４１は、メッセージ受信部４１１と、メッセージ一時保存部４１２と、メッセージ転送部４１３と、サーバ切替制御部４１４と、再送信確認部４１５と、メッセージ送信部４１７とを含んで構成されている。
【００６９】
記憶装置４２は、メッセージ保存部４２１と転送済メッセージ保存部４２３と送信先保存部４２２とを含んで構成されている。メッセージ一時保存部４１２及びメッセージ保存部４２１は、図２に示すサーバ装置１内のメッセージ一時保存部１１２及びメッセージ保存部１２１と同一である。
【００７０】
メッセージ受信部４１１は、その時点での中継装置４の状態及びメッセージ種別毎に適切な手段を選択して、メッセージを送る。中継装置４の状態としては、「稼働系運転中」、「待機系運転中」、「切替中」の三種類がある。
【００７１】
メッセージ転送部４１３は、メッセージ受信部４１１から受け取った処理完了確認メッセージ内の連続番号を用いて、対応するメッセージをメッセージ保存部４２１から読み出し、メッセージ保存部４２１内の当該メッセージを削除する。続いて、メッセージ転送部４１３は、読み出したメッセージをメッセージ送信部４１７に渡すと共に、当該メッセージを転送済メッセージ保存部４２３に保存する。
【００７２】
サーバ切替制御部４１４は、メッセージ受信部４１１からサーバ装置（稼動系）３ａのダウンに関するメッセージを渡されると、メッセージ保存部４２１と転送済メッセージ保存部４２３とに保存されているメッセージを読み出し、当該メッセージをメッセージ送信部４１７に送る。
【００７３】
再送信確認部４１５は、一定時間間隔でメッセージ保存部４２１と転送済メッセージ保存部４２３とを確認し、保存されているメッセージがあれば読み出してメッセージ送信部４１７に送る。メッセージ送信部４１７は、他の手段から送られたメッセージを、その時点での中継装置４の状態と前段の手段とに従って、適切な装置へ送信する。
【００７４】
図１２は本発明の第２の実施の形態による通信システムの動作を示すシーケンスチャートであり、図１３〜図１８は本発明の第２の実施の形態によるサーバ装置の動作を示すフローチャートである。これら図９〜図１８を参照して本実施の形態による通信システムの全体の動作について説明する。
【００７５】
図１２に示す各装置の処理は、中継装置４、サーバ装置３、端末装置２各々の主要な構成要素であるＣＰＵ（中央処理装置）（図示せず）が記憶装置３２，４２［または、メモリ等］に記憶されたプログラムを実行することで実現される。同様に、図１３〜図１８に示す処理は、サーバ装置３、中継装置４各々のＣＰＵが記憶装置３２，４２に記憶されたプログラムを実行することで実現される。
【００７６】
本実施の形態の全体の動作は、サーバ装置（稼働系）３ａが正常に稼働している間の同期処理、中継装置４からサーバ装置（待機系）３ｂ及びサーバ装置（稼動系）３ａへのメッセージ再送処理、サーバ装置（稼働系）３ａに障害が発生した際の切替処理の三つに大別される。
【００７７】
まず、図１２を参照して本実施の形態による通信システムの同期処理の概要について説明する。この同期処理は、中継装置４の状態が「稼働系運転中」の時に行われる。図３に示した本発明の第１の実施の形態の動作に比較して、ｂ８の処理で示される動作は、本発明の第１の実施の形態におけるａ６の処理動作と同一である。
【００７８】
通信が行われている状態で、端末装置２がユーザのツール操作に従ってメッセージをサーバ装置（稼働系）３ａに送信すると（図１２のｂ１）、サーバ装置（稼働系）３ａ宛のメッセージは、一旦中継装置４を経由し、一時保存等の処理が行われた後（図１２のｂ２）、中継装置４からサーバ装置（稼働系）３ａに送信される（図１２のｂ３）。
【００７９】
サーバ装置（稼働系）３ａでは、メッセージを受信すると、アプリケーション本来のメッセージ処理を行う（図１２のｂ４）。その処理結果は、サーバ装置（稼働系）３ａから中継装置４を経由して端末装置２に送信される（図１２のｂ５〜ｂ７）。
【００８０】
上記の動作と並行して、サーバ装置（稼働系）３ａは、メッセージ処理結果の送信終了後に、中継装置４に対し、処理完了確認メッセージを送信する（図１２のｂ９，ｂ１０）。
【００８１】
中継装置４では、処理完了確認メッセージを受信すると、上記の処理で一時保存したメッセージのサーバ装置（待機系）３ｂへの送信を行う（図１２のｂ１１，ｂ１２）。
【００８２】
サーバ装置（待機系）３ｂでは、中継装置４から送信されてきたメッセージを実行することで、サーバ装置としての状態をサーバ装置（稼働系）３ａに同期させる（図１２のｂ１３）。
【００８３】
この同期処理の実行が終了した後、サーバ装置（待機系）３ｂは、中継装置４に対して処理完了確認メッセージを送信する（図１２のｂ１４）。中継装置４では、サーバ装置（稼働系）３ａから処理完了確認メッセージを受信すると、不要となった保存メッセージの消去等の処理を行う（図１２のｂ１５）。
【００８４】
次に、同期処理の詳細について図１３〜図１５を参照して説明する。上記のｂ２の処理を詳細に説明したのが図１３である。図４に示した本発明の第１の実施の形態の動作に比較して、図１３のステップＳ４４，Ｓ４５に示す動作は、本発明の第１の実施の形態における動作と同一である。
【００８５】
中継装置４のデータ処理装置４１のメッセージ受信部４１１は、外部からのメッセージを受信すると（図１３ステップＳ４１）、メッセージの処理を委ねる手段を選択する。
【００８６】
まず、メッセージ受信部４１１は、送信元が端末装置２であるかどうかを確認する（図１３ステップＳ４２）。メッセージ受信部４１１は、端末装置２からのメッセージであれば、次に自装置の状態が「待機系運転中」かどうかを確認する（図１３ステップＳ４３）。この場合、自装置の状態が「稼働系運転中」なので、メッセージ受信部４１１は、当該メッセージをメッセージ一時保存部４１２に送る。
【００８７】
メッセージ一時保存部４１２では、メッセージに対して一意に判別可能な連続番号を付与し（図１３ステップＳ４４）、メッセージ保存部４２１に連続番号を付与したメッセージを保存する（図１３ステップＳ４５）。その後、メッセージ一時保存部４１２は、当該メッセージをメッセージ送信部４１７に送る。
【００８８】
メッセージ送信部４１７では、自装置の状態を確認し（図１３ステップＳ４６）、「稼働系運転中」なので、当該メッセージをサーバ装置（稼働系）３ａに対して送信する（図１３ステップＳ４７）。
【００８９】
続いて、サーバ装置（稼働系）３ａでのメッセージ処理（図１２のｂ４，ｂ９の処理）の詳細について図１５を参照して説明する。図５に示した本発明の第１の実施の形態の動作に比較して、図１５のステップＳ６１〜Ｓ６３及びステップＳ６７で示される動作は、本発明の第１の実施の形態の動作と同一である。
【００９０】
サーバ装置（稼働系）３ａのメッセージ送信部１１７は、自装置が稼働系と判断すると、処理結果を全ての端末装置２に対して送信するために、その処理結果を一旦、中継装置４に対して送信する（図１５ステップＳ６４）。メッセージ送信部１１７は処理結果の送信後、さらに処理完了確認メッセージを中継装置４に対して送信する（図１５ステップＳ６５）。
【００９１】
次に、中継装置４での端末装置２宛の処理結果メッセージ受信時の動作（図１２のｂ６の処理）の詳細について図１３を参照して説明する。
【００９２】
メッセージ受信部４１１は、メッセージの受信後（図１３ステップＳ４１）、端末装置２からのメッセージではなく（図１３ステップＳ４２）、端末装置２宛のメッセージであるため（図１３ステップＳ４９）、当該メッセージをメッセージ送信部４１７に送る。メッセージ送信部４１７は、送信先保存部４２２の情報に基づき、当該メッセージを全ての端末装置２宛に送信する（図１３ステップＳ５０）。
【００９３】
次に、中継装置４での処理完了確認メッセージの受信処理（図１２のｂ１１の処理）の詳細について図１３と図１４とを参照して説明する。
【００９４】
メッセージ受信部４１１は、メッセージの受信後（図１３ステップＳ４１）、端末装置２からのメッセージではなく（図１３ステップＳ４２）、端末装置２宛のメッセージでもないが（図１３ステップＳ４９）、処理確認メッセージであるので（図１４ステップＳ５１）、送信元を確認する（図１４ステップＳ５３）。メッセージ受信部４１１は、サーバ装置（稼働系）３ａからのメッセージであるため、当該メッセージをメッセージ転送部４１３に送る。
【００９５】
メッセージ転送部４１３では、当該メッセージに含まれる連続番号から対応する保存済メッセージをメッセージ保存部４２１から読み出して、メッセージ保存部４２１の該メッセージを削除する（図１４ステップＳ５４）。メッセージ転送部４１３は、読み出したメッセージをメッセージ送信部４１７に送る。
【００９６】
メッセージ送信部４１７は、当該メッセージをサーバ装置（待機系）３ｂに対して送信する（図１４ステップＳ５５）。さらに、メッセージ転送部４１３は、当該メッセージを転送済メッセージ保存部４２３に保存する（図１４ステップＳ５６）。
【００９７】
次に、サーバ装置（待機系）３ｂでのメッセージ処理（図１２のｂ１３の処理）の詳細について図１５を参照して説明する。図１５のステップＳ６１，Ｓ６２の処理は、サーバ装置（稼働系）３ａでのメッセージ処理と同様の動作となるが、稼働系ではないので（図１５ステップＳ６３）、メッセージの処理結果を送信せずに廃棄する（図１５ステップＳ６６）。その後、処理完了確認メッセージは、中継装置４に送信される（図１５ステップＳ６５）。
【００９８】
最後に、中継装置４での処理完了確認メッセージの受信処理（図１２のｂ１５の処理）の詳細について図１３と図１４とを参照して説明する。
【００９９】
図１３のステップＳ４１，Ｓ４２，Ｓ４９及び図１４のステップＳ５１の処理は、サーバ装置（稼働系）３ａからの処理完了確認メッセージの受信時と同様の動作となるが、サーバ装置（稼働系）３ａからのメッセージではないため（図１４ステップＳ５３）、メッセージ転送部４１３では、当該メッセージに含まれる連続番号から対応する保存済メッセージを転送済メッセージ保存部４２３から削除する（図１４ステップＳ５７）。
【０１００】
上述した同期処理の説明に続き、メッセージ再送処理について図１６を参照して説明する。中継装置４では、予め設定された一定時間間隔で次に述べる動作が実行される。
【０１０１】
再送信確認部４１５によるメッセージ保存部４２１の内容確認（図１６ステップＳ７１）、メッセージの読み出し（図１６ステップＳ７２）、メッセージの送信（図１６ステップＳ７３）の各処理は、図７に示す本発明の第１の実施の形態における動作と同一である。
【０１０２】
続いて、再送信確認部４１５は、転送済メッセージ保存部４２３にメッセージが保存されているかどうかを確認する（図１６ステップＳ７４）。再送信確認部４１５は、メッセージが保存されている場合、保存されているメッセージを連続番号に従って一つだけ読み出し（図１６ステップＳ７５）、当該メッセージをメッセージ送信部４１７に送る。メッセージ送信部４１７は、サーバ装置（待機系）３ｂに当該メッセージを送信する（図１６ステップＳ７６）。
【０１０３】
引き続き、再送信確認部４１５は、今再送信したメッセージが転送済メッセージ保存部に残っているかどうかを確認する（図１６ステップＳ７７）。再送信確認部４１５は、再送信したメッセージが転送済メッセージ保存部にまだある場合、当該メッセージの読み出しから繰り返す。再送信確認部４１５は、転送済メッセージ保存部４２３にメッセージがない場合や再送信したメッセージが転送済メッセージ保存部４２３に残っていない場合、動作を終了する。
【０１０４】
最後に、切替処理について図１７及び図１８を参照して説明する。図８に示す本発明の第１の実施の形態の切替処理の動作に比較して、ステップＳ８１で示す動作は、本発明の第１の実施の形態における動作と同一である。
【０１０５】
サーバ装置（稼働系）３ａのダウン検知後、メッセージ受信部４１１は、自装置の状態を「切替中」とし（図１７ステップＳ８２）、メッセージ送信部４１７及びサーバ切替制御部４１４にサーバ装置（稼働系）３ａのダウンを通知する。
【０１０６】
メッセージ送信部４１７では、サーバ装置（待機系）３ｂにサーバ切替を通知する（図１７ステップＳ８３）。サーバ切替制御部４１４は、転送済メッセージ保存部４２３にメッセージが存在するかどうかを確認し（図１７ステップＳ８４）、メッセージが存在する場合、連続番号に従ってメッセージを一つ読み出し（図１７ステップＳ８５）、当該メッセージをメッセージ送信部４１７に送る。メッセージ送信部４１７は、サーバ装置（待機系）３ｂに当該メッセージを送る。
【０１０７】
当該メッセージの送信後、サーバ切替制御部４１４は、送信したメッセージが転送済メッセージ保存部４２３に残っているかどうかを確認する（図１７ステップＳ８７）。サーバ装置（待機系）３ｂでの処理が終わり、処理完了確認メッセージが中継装置４に返ってくることによって、転送済メッセージ保存部４２３内のメッセージは削除される。
【０１０８】
サーバ切替制御部４１４は、転送済メッセージ保存部４２３内のメッセージが削除されるまでは一定時間毎に（図１７ステップＳ８８）、転送済メッセージ保存部４２３をチェックする（図１７ステップＳ８７）。メッセージを削除したことが確認されれば、サーバ切替制御部４１４は、転送済メッセージ保存部４２３に残った次のメッセージを上記と同様に処理する。
【０１０９】
転送済メッセージ保存部４２３に保存されたメッセージがなくなった場合、サーバ切替制御部４１４は、続いてメッセージ保存部４２１にメッセージが保存されているかどうかを確認する（図１８ステップＳ８９）。サーバ切替制御部４１４は、メッセージが保存されている場合、連続番号の順にメッセージを読み出し（図１８ステップＳ９０）、メッセージ保存部４２１の当該メッセージを削除する。
【０１１０】
読み出したメッセージは、サーバ切替制御部４１４からメッセージ送信部４１７に送られ、サーバ装置（稼働系）３ａに送信される（図１８ステップＳ９１）。メッセージ保存部４２１が空になれば、サーバ切替制御部４１４は、中継装置４の状態を「待機系運転」に切替える（図１８ステップＳ９２）。
【０１１１】
切替処理に付随する他の動作について説明する。サーバ装置（待機系）３ｂは、中継装置４からのサーバ切替通知メッセージにより、稼働系として動作するようになる。そのため、中継装置４から送信されたメッセージの受信時には、ステップＳ６１，Ｓ６２，Ｓ６３，Ｓ６４，Ｓ６５と動作が進むため、処理結果が端末装置２に対して送信される。
【０１１２】
また、切替処理中に端末装置２から中継装置４にメッセージが届いた場合には、図１３に示す中継装置４の受信時の動作は、状態が「切替中」であるため、ステップＳ４１，Ｓ４２，Ｓ４３，Ｓ４４，Ｓ４５，Ｓ４６の順になり、メッセージ保存部４２１に保存される。
【０１１３】
保存されたメッセージは、切替処理の中でメッセージ保存部４２１から読み出されてサーバ装置（待機系）３ｂに送信される。また、切替処理が終了した後、中継装置４の状態は「待機系運転中」となり、端末装置２からのメッセージ受信時の動作はステップＳ４１，Ｓ４２，Ｓ４３，Ｓ４８の順になり、運転中のサーバ装置（待機系）３ｂに送信される。
【０１１４】
このように、本実施の形態では、中継装置４がサーバ装置（稼働系）３ａ及びサーバ装置（待機系）３ｂの両方への送信内容を各サーバ装置でのメッセージ処理が完了するまで保持することで、中継装置４とサーバ装置との間の通信の失敗による状態同期の失敗を防止することができる。
【０１１５】
また、本実施の形態では、中継装置４がサーバ装置（稼働系）３ａでの処理が完了してからサーバ装置（待機系）３ｂに通信内容を転送することで、サーバ装置（待機系）３ｂがどこに設置されていても、サーバ装置（稼働系）３ａを経由したクライアント間の通信時間には影響しない。
【０１１６】
さらに、本実施の形態では、一定時間毎に完了が確認できない通信内容をサーバ装置に対して再送信することで、サーバ装置（稼働系）３ａの障害発生時に状態同期のために処理が必要になる保存メッセージ量を減らし、障害発生時の切替時間を短縮することができる。
【０１１７】
さらにまた、本実施の形態では、サーバ装置（稼働系）３ａの機能停止に伴う切替処理中に、切替中に到着した端末装置２からのメッセージを一時保存して、既に保存されていたメッセージの処理を優先することで、切替中でも端末装置２でユーザの操作を受け付けることができる。
【実施例１】
【０１１８】
次に、具体的な実施例を用いて本発明を実施するための最良の形態の動作について説明する。かかる実施例は、上述した本発明の第１の実施の形態に対応するものである。
【０１１９】
本実施例は、データ処理装置として中央演算装置とメモリ、記憶装置としてハードディスク［以下、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）とする］を考える。メモリ上のコンピュータプログラムが中央演算装置で実行されることにより、各手段として機能する。さらに、サーバ装置・中継装置・端末装置はそれぞれの設置拠点のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に接続され、ＬＡＮ同士は、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）で接続されている。ネットワークは、すべてインタネットプロトコルによるものとする。
【０１２０】
図１９は本発明の第１の実施例による通信システムのネットワーク構成を示すブロック図であり、図２０は本発明の第１の実施例における端末装置からのメッセージを示す図であり、図２１は本発明の第１の実施例における連続番号を付与したメッセージを示す図であり、図２２は本発明の第１の実施例における処理完了確認メッセージを示す図である。
【０１２１】
本実施例では、４人がそれぞれ端末装置（ｘ，ｙ，ｚ，ｗ）６ａ〜６ｄ上のクライアントを利用して共有ホワイトボードによる通信を行う。共有ホワイトボードは、ある端末上で図形や文字を書込むと、それが全ての端末に反映されるツールである。
【０１２２】
最初に、本実施例による同期処理について説明する。端末装置（ｘ）６ａのクライアントで利用者が共有ホワイトボードに線を引くと、端末装置（ｘ）６ａは、サーバ装置（待機系）５ｂに対して線を表す情報として両端の座標を含む共有ホワイトボードが解釈可能なメッセージ（図２０参照）を送信する（図３のａ１）。
【０１２３】
サーバ装置（待機系）５ｂでは、メッセージを受信すると（図４ステップＳ１）、自装置が待機系で（図４ステップＳ２）、メッセージの送信元が端末装置（ｘ）６ａなので（図４ステップＳ３）、前のメッセージに付与した連続番号“０１２４３４２”に１をプラスした“０１２４３４３”を本メッセージに付与し（図４ステップＳ４）、ＨＤＤ（図示せず）に一時保存する（図４ステップＳ５）。この連続番号を付与したメッセージを図２１に示す。この保存が行われた後、連続番号を付与されたメッセージは、サーバ装置（稼働系）５ａに送信される（図４ステップＳ６）。
【０１２４】
サーバ装置（稼働系）５ａでは、メッセージを受信すると（図４ステップＳ１）、自装置が稼働系なので（図４ステップＳ２）、既に受信したメッセージかどうかを確認する（図５ステップＳ７）。サーバ装置（稼働系）５ａは、本メッセージの前に受信したメッセージの連続番号は“０１２４３４２”なので、新規メッセージと判断し、共有ホワイトボードのサーバ処理として、データの形式チェックと通信途中で参加する利用者に提供するための履歴データ保存とを行う（図５ステップＳ８）。
【０１２５】
このメッセージを処理した後、サーバ装置（稼働系）５ａは、端末装置（ｘ，ｙ，ｚ，ｗ）６ａ〜６ｄのそれぞれに対して処理結果としてメッセージをそのまま送信する（図５ステップＳ９）。
【０１２６】
処理結果の送信後、サーバ装置（稼働系）５ａは、ＨＤＤの送信先保存ファイルにサーバ装置（待機系）５ｂのアドレスとして“１９２．１６８．１．１００”が保存されているのを確認し（図５ステップＳ１０）、そのアドレスに対して処理完了確認メッセージ（図２２参照）を送信する（図５ステップＳ１１）。各端末装置（ｘ，ｙ，ｚ，ｗ）６ａ〜６ｄでは、メッセージを受信すると（図３のａ６）、クライアントの共有ホワイトボードに線が表示される。
【０１２７】
サーバ装置（待機系）５ｂでは、処理完了確認メッセージを受信すると（図４ステップＳ１）、自装置が待機系で（図４ステップＳ２）、送信元がサーバ装置（稼働系）５ａで（図４ステップＳ３）、処理完了確認メッセージなので（図６ステップＳ１３）、連続番号“０１２４３４３”に対応する一時保存メッセージ（図２１参照）を読み出して、ＨＤＤから削除する（図６ステップＳ１４）。
【０１２８】
読み出されたメッセージは、サーバ装置（稼働系）５ａでの処理と同様に、共有ホワイトボードのデータとしてサーバ処理される（図６ステップＳ１５）。これによって、サーバ装置（稼働系）５ａ及びサーバ装置（待機系）５ｂの両方の状態が同期する。上記の処理の後、サーバ装置（待機系）５ｂは、処理結果としてメッセージを送信せずに破棄する（図６ステップＳ１６）。
【０１２９】
この時点で、メッセージ再送処理が実行されるが、サーバ装置（待機系）５ｂに一時保存メッセージがないため、何も処理をせずに終了する。
【０１３０】
さらにこの時点で、サーバ装置（稼働系）５ａでは、ＨＤＤの部分故障が発生したため、サーバ装置（稼働系）５ａからサーバ装置（待機系）５ｂに対し、故障発生が通知される（図８ステップＳ３１）。
【０１３１】
サーバ装置（待機系）５ｂは、サーバ装置（稼働系）５ａがダウンと判断し、自装置を稼働系に切替える（図８ステップＳ３２）。サーバ装置（待機系）５ｂは、一時保存中のメッセージがないため（図８ステップＳ３３）、状態同期が完了していると判断し、そのまま稼働系としてサーバ機能を提供する。
【０１３２】
このように、本発明は、サーバ装置（稼働系）での処理完了が確認されてからサーバ装置（待機系）での状態同期を行うため、サーバ装置間での通信が失敗しても、サーバ間の状態同期を確実に実行することができる。
【０１３３】
また、本発明は、サーバ装置（稼働系）での通信内容の処理が完了後に中継装置でサーバ装置（待機系）への通信内容の転送を行うので、サーバ装置（稼働系）を経由したクライアント間の通信時間に、サーバ装置（待機系）への通信時間が影響しないため、サーバ装置（待機系）の設置位置に関わらず、クライアント間での通信遅延が変化しない。
【産業上の利用可能性】
【０１３４】
本発明は、クライアント・サーバ型で実現されるデータ共有ツールを利用したグループ通信システムの可用性向上に適用可能である。
【図面の簡単な説明】
【０１３５】
【図１】本発明の第１の実施の形態による通信システムの構成例を示すブロック図である。
【図２】本発明の第１の実施の形態によるサーバ装置の構成例を示すブロック図である。
【図３】本発明の第１の実施の形態による通信システムの動作を示すシーケンスチャートである。
【図４】本発明の第１の実施の形態によるサーバ装置の動作を示すフローチャートである。
【図５】本発明の第１の実施の形態によるサーバ装置の動作を示すフローチャートである。
【図６】本発明の第１の実施の形態によるサーバ装置の動作を示すフローチャートである。
【図７】本発明の第１の実施の形態によるサーバ装置の動作を示すフローチャートである。
【図８】本発明の第１の実施の形態によるサーバ装置の動作を示すフローチャートである。
【図９】本発明の第２の実施の形態による通信システムの構成を示すブロック図である。
【図１０】本発明の第２の実施の形態によるサーバ装置の構成を示すブロック図である。
【図１１】図９の中継装置の構成を示すブロック図である。
【図１２】本発明の第２の実施の形態による通信システムの動作を示すシーケンスチャートである。
【図１３】本発明の第２の実施の形態によるサーバ装置の動作を示すフローチャートである。
【図１４】本発明の第２の実施の形態によるサーバ装置の動作を示すフローチャートである。
【図１５】本発明の第２の実施の形態によるサーバ装置の動作を示すフローチャートである。
【図１６】本発明の第２の実施の形態によるサーバ装置の動作を示すフローチャートである。
【図１７】本発明の第２の実施の形態によるサーバ装置の動作を示すフローチャートである。
【図１８】本発明の第２の実施の形態によるサーバ装置の動作を示すフローチャートである。
【図１９】本発明の第１の実施例による通信システムのネットワーク構成を示すブロック図である。
【図２０】本発明の第１の実施例における端末装置からのメッセージを示す図である。
【図２１】本発明の第１の実施例における連続番号を付与したメッセージを示す図である。
【図２２】本発明の第１の実施例における処理完了確認メッセージを示す図である。
【図２３】本発明に関連する通信システムの構成例を示すブロック図である。
【符号の説明】
【０１３６】
１，３  サーバ装置
１ａ，３ａ，５ａ  サーバ装置（稼働系）
１ｂ，３ｂ，５ｂ  サーバ装置（待機系）
２ａ〜２ｃ，６ａ〜６ｄ  端末装置
４  中継装置
１１，３１，４１  データ処理装置
１２，３２，４２  記憶装置
１００  ＷＡＮ
１１１，４１１  メッセージ受信部
１１２，４１２  メッセージ一時保存部
１１３  状態更新部
１１４  切替部
１１５，４１５  再送信確認部
１１６  メッセージ処理部
１１７，４１７  メッセージ送信部
１２１，４２１  メッセージ保存部
１２２，４２２  送信先保存部
２０１〜２０３  ＬＡＮ
４１３  メッセージ転送部
４１４  サーバ切替制御部
４２３  転送済メッセージ保存部
【図１】
2009266138.tif 000003
【図２】
2009266138.tif 000004
【図３】
2009266138.tif 000005
【図４】
2009266138.tif 000006
【図５】
2009266138.tif 000007
【図６】
2009266138.tif 000008
【図７】
2009266138.tif 000009
【図８】
2009266138.tif 000010
【図９】
2009266138.tif 000011
【図１０】
2009266138.tif 000012
【図１１】
2009266138.tif 000013
【図１２】
2009266138.tif 000014
【図１３】
2009266138.tif 000015
【図１４】
2009266138.tif 000016
【図１５】
2009266138.tif 000017
【図１６】
2009266138.tif 000018
【図１７】
2009266138.tif 000019
【図１８】
2009266138.tif 000020
【図１９】
2009266138.tif 000021
【図２０】
2009266138.tif 000022
【図２１】
2009266138.tif 000023
【図２２】
2009266138.tif 000024
【図２３】
2009266138.tif 000025