(57)【要約】【課題】複数の待機系サーバが存在する環境においてもクライアント端末での煩雑な処理なく現用系サーバへ接続できる通信プログラム、通信方法、通信端末、及び通信システムを提供する。【解決手段】複数のサーバ装置と通信可能であり、複数の前記サーバ装置の接続情報が含まれるサーバ情報にアクセス可能な通信プログラムであって、コンピュータを、前記サーバ情報を記憶する記憶手段、前記記憶手段によって記憶された前記サーバ情報から稼働していると仮定される前記サーバ装置を選定する選定手段、前記選定手段によって選定された前記サーバ装置から前記サーバ情報を取得する取得手段、前記記憶手段によって記憶されたサーバ情報と前記取得手段によって取得された前記サーバ情報とに基づいて、前記選定された前記サーバ装置が稼働しているか否かを判断する判断手段、前記判断手段によって稼動していると判断された前記サーバ装置と接続を行う接続手段として機能させる。【選択図】図４
2015170156.tif 000002
【特許請求の範囲】
【請求項１】
複数のサーバ装置と通信可能であり、複数の前記サーバ装置の接続情報が含まれるサーバ情報にアクセス可能な通信プログラムであって、
コンピュータを、
前記サーバ情報を記憶する記憶手段、
前記記憶手段によって記憶された前記サーバ情報から稼働していると仮定される前記サーバ装置を選定する選定手段、
前記選定手段によって選定された前記サーバ装置から前記サーバ情報を取得する取得手段、
前記記憶手段によって記憶されたサーバ情報と前記取得手段によって取得された前記サーバ情報とに基づいて、前記選定された前記サーバ装置が稼働しているか否かを判断する判断手段、
前記判断手段によって稼動していると判断された前記サーバ装置と接続を行う接続手段
として機能させるための通信プログラム。
【請求項２】
請求項１に記載の通信プログラムにおいて、
前記サーバ情報は、前記サーバ装置を稼働させる優先度を示す情報を含む
ことを特徴とした通信プログラム。
【請求項３】
請求項１又は２に記載の通信プログラムにおいて、
前記サーバ情報は、前記サーバ情報に含まれる前記サーバ装置への障害確認後に前記サーバ装置によって更新される
ことを特徴とした通信プログラム。
【請求項４】
複数のサーバ装置と通信可能であり、ネットワークに接続された前記サーバ装置の接続情報が含まれるサーバ情報にアクセス可能な通信方法であって、
前記サーバ情報を記憶する記憶手順と、
前記記憶手順によって記憶された前記サーバ情報から稼働していると仮定される前記サーバ装置を選定する選定手順と、
前記選定手順によって選定された前記サーバ装置から前記サーバ情報を取得する取得手順と、
前記記憶手順によって記憶されたサーバ情報と前記取得手順によって取得された前記サーバ情報とに基づいて、前記選定されたサーバ装置が稼働しているか否かを判断する判断手順と、
前記判断手順によって稼働していると判断された前記サーバ装置と接続を行う接続手順と
を有すること特徴とした通信方法。
【請求項５】
複数のサーバ装置と通信可能であり、複数の前記サーバ装置の接続情報が含まれるサーバ情報にアクセス可能な通信端末であって、
前記サーバ情報を記憶する記憶手段と、
前記記憶手段によって記憶された前記サーバ情報から稼働していると仮定される前記サーバ装置を選定する選定手段と、
前記選定手段によって選定された前記サーバ装置から前記サーバ情報を取得する取得手段と、
前記記憶手段によって記憶されたサーバ情報と前記取得手段によって取得された前記サーバ情報とに基づいて、前記選定された前記サーバ装置が稼働しているか否かを判断する判断手段と、
前記判断手段によって稼動していると判断された前記サーバ装置と接続を行う接続手段と
を有することを特徴とした通信端末。
【請求項６】
サーバ装置と、複数の前記サーバ装置と通信可能な通信端末とを有する通信システムであって、
前記サーバ装置は、
前記サーバ装置の動作状況を示すサーバ情報を記憶するサーバ情報記憶手段と、
前記サーバ情報に含まれる前記サーバ装置と通信を行い、前記サーバ装置に障害が発生しているか否かを判断する判断手段と、
前記判断手段の判断結果に応じて、前記サーバ情報を更新する更新手段と、
前記更新手段によって更新された前記サーバ情報を前記通信端末からの要求に応じて前記サーバ情報を送信する送信手段と、
前記判断手段によって、稼働しているサーバ装置に異常があると判断された場合、前記更新手段によって更新された前記サーバ情報にしたがって、稼働させるサーバ装置を切り替える稼働切り替え手段と
を有し、
前記通信端末は、
前記サーバ情報を記憶する記憶手段と、
前記記憶手段によって記憶された前記サーバ情報から稼働していると仮定される前記サーバ装置を選定する選定手段と、
前記選定手段によって選定された前記サーバ装置から前記サーバ情報を取得する取得手段と、
前記記憶手段によって記憶されたサーバ情報と前記取得手段によって取得された前記サーバ情報とに基づいて、前記選定された前記サーバ装置が稼働しているか否かを判断する判断手段と、
前記判断手段によって稼動していると判断された前記サーバ装置と接続を行う接続手段と
を有することを特徴とした通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信プログラムにおける通信制御技術に関する。
【背景技術】
【０００２】
クライアント・サーバシステムにおいて、サービスを提供するサーバ（現用系サーバと呼ぶ）に障害が発生した場合、予備として備えられたサーバ（待機系サーバと呼ぶ）を現用系サーバとして稼働させる技術が知られている。
【０００３】
例えば、現用系サーバから待機系サーバの接続情報をクライアント端末が取得しておき、現用系サーバに障害が発生した場合、クライアント端末が取得した接続情報を用いて待機系サーバへ接続を行う技術が既に知られている（例えば、特許文献１等を参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の技術において、現用系サーバに障害が発生した場合、クライアント端末は現用系サーバから予め取得してある待機系サーバの接続情報を用いて、現用系サーバの代替として稼働する待機系サーバへ接続することができる。
【０００５】
しかしながら、待機系サーバが複数存在する場合、クライアント端末はどの待機系サーバが現用系サーバに切り替わったかわからず、すべての待機系サーバへ接続を試みる、もしくは手動で接続先を設定するなど煩雑な処理が生じるという問題があった。
【０００６】
本発明は、従来の問題点に鑑み提案されたものであり、その目的とするところは、複数の待機系サーバが存在する環境においてもクライアント端末で煩雑な処理なく現用系サーバへ接続できる通信プログラム、通信方法、通信端末、及び通信システムを提供することにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するため、本発明にあっては、複数のサーバ装置と通信可能であり、複数の前記サーバ装置の接続情報が含まれるサーバ情報にアクセス可能な通信プログラムであって、コンピュータを、前記サーバ情報を記憶する記憶手段、前記記憶手段によって記憶された前記サーバ情報から稼働していると仮定される前記サーバ装置を選定する選定手段、前記選定手段によって選定された前記サーバ装置から前記サーバ情報を取得する取得手段、前記記憶手段によって記憶されたサーバ情報と前記取得手段によって取得された前記サーバ情報とに基づいて、前記選定された前記サーバ装置が稼働しているか否かを判断する判断手段、前記判断手段によって稼動していると判断された前記サーバ装置と接続を行う接続手段として機能させる。
【発明の効果】
【０００８】
本発明にあっては、複数の待機系サーバが存在する環境において、クライアントでの煩雑な処理なく現用系サーバへ接続できる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態における通信システムのシステム構成の一例を示す図である。
【図２】本実施形態におけるサーバ装置のハードウエア構成の一例を示す図である。
【図３】本実施形態におけるクライアント端末のハードウエア構成の一例を示す図である。
【図４】本実施形態における通信システムの機能構成の一例を示す図である。
【図５】本実施形態におけるサーバリストのデータ構成の一例を示す図である。
【図６】本実施形態における待機系サーバを現用系サーバとして稼働させるか否かの判断時にサーバ装置が実行する処理手順の一例を示すフローチャートである。
【図７】本実施形態における現用系サーバを判別する際にクライアント端末が実行する処理手順の一例を示すフローチャートである。
【図８】本実施形態におけるサーバ装置との接続に失敗したクライアント端末が表示する表示画面の一例を示す図である。
【発明を実施するための形態】
【００１０】
＜システム構成例＞
図１は本実施形態における通信システムのシステム構成の一例を示す図である。図１に示されるように通信システムは、サーバ装置１ａ、１ｂ、１ｃ・・・（それぞれ区別しない場合サーバ装置１）と、データベース２ａ、２ｂ、２ｃ・・・（それぞれ区別しない場合データベース２）と、ルータ３ａ、３ｂ、３ｃ・・・（それぞれ区別しない場合ルータ３）と、クライアント端末４ａ、４ｂ・・・（それぞれ区別しない場合クライアント端末４）とを有する。サーバ装置１とクライアント端末４はネットワークを介して接続される。
【００１１】
本実施形態における通信システムを構成するサーバ装置１は、図１に示すように、同一施設内ではなく、異なる拠点に点在している。例えば、拠点Ａは東京、拠点Ｂは大阪、拠点Ｃはイギリスのように国境をまたいで設置される。
【００１２】
サーバ装置１は、データベースを有しており、ルータ３を介してネットワークに接続される。
【００１３】
サーバ装置１は、所定のサービスの稼働中に稼働させるサーバ（以後、現用系サーバと呼ぶ）と、稼働中のサーバ装置１のバックアップ用として備えられているサーバ（以後、待機系サーバと呼ぶ）が存在する。現用系サーバが有するデータベースをマスタと呼び、サービスに関連するデータの受け付けを行う。待機系サーバが有するデータベースをスレーブと呼び、マスタのデータベースが保持するデータを随時コピーする。現用系サーバが何らか理由で障害が発生した場合、待機系サーバのうちの一台を現用系サーバとして稼働させる。
【００１４】
本発明の一実施形態における現用系サーバ及び待機系サーバは、サーバリストを有している。また、現用系サーバ及び待機系サーバはＮＡＳ（Network Attached Storage）等のネットワークに接続されるストレージであってもよい。
【００１５】
クライアント端末４は、現用系サーバにアクセスし、データの送受信を行う。本発明の一実施形態におけるクライアント端末４はサーバリストを保持しており、サーバリストにしたがってサーバ装置１への接続を行う。
【００１６】
クライアント端末４は、テレビ会議端末、スマートフォン、タブレット型端末、携帯電話等の情報処理端末である。
【００１７】
なお、通信システムに含まれるサーバ装置１及びデータベースは、それぞれの装置が備える機能を一台の装置に集約させるような構成としてもよいし、一台以上の装置に分散させるような構成としてもよい。また、現用系サーバ及び待機系サーバの各々の台数は図１に示す例に限定せず、各々のサーバを複数台備えてもよい。
【００１８】
＜ハードウエア構成例＞
≪サーバ装置≫
図２は、本実施形態におけるサーバ装置１のハードウエア構成の一例を示す図である。通信システムは、ＣＰＵ（Central Processing Unit）１０１、ＣＰＵ１０１の駆動に用いられるプログラムを記憶したＲＯＭ（Read Only Memory）１０２、ＣＰＵ１０１のワークエリアとして使用されるＲＡＭ（Random Access Memory）１０３、伝送管理用プログラム等の各種データを記憶するＨＤ１０４、ＣＰＵ１０１の制御にしたがってＨＤ１０４に対する各種データの読み出し又は書き込みを制御するＨＤＤ(Hard Disk Drive)１０５、フラッシュメモリ等の記録メディア１０６に対するデータの読み出し又は書き込み（記憶）を制御するメディアドライブ１０７、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示するディスプレイ１０８、ネットワークＮ１を利用してデータ伝送をするためのネットワークＩ／Ｆ（Interface）１０９、文字、数値、各種指示などの入力のための複数のキーを備えたキーボード１１１、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行うマウス１１２、着脱可能な記録媒体の一例としてのＣＤ−ＲＯＭ(Compact Disc Read Only Memory)１１３に対する各種データの読み出し又は書き込みを制御するＣＤ−ＲＯＭドライブ１１４、及び、上記各構成要素を図２に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン１１０を備えている。
【００１９】
なお、上記伝送管理用プログラムは、インストール可能な形式又は実行可能な形式のファイルで、上記記録メディア１０６やＣＤ−ＲＯＭ１１３等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。また、上記伝送管理用プログラムは、ＨＤ１０４ではなくＲＯＭ１０２に記憶されるようにしてもよい。
【００２０】
なお、上記着脱可能な記録媒体の他の例として、ＣＤ−Ｒ(Compact Disc Recordable)、ＤＶＤ(Digital Versatile Disk)、ブルーレイディスク等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【００２１】
≪クライアント端末≫
図３は、本実施形態におけるクライアント端末４のハードウエア構成の一例を示す図である。図３に示されているように、本実施形態のクライアント端末４は、クライアント端末４全体の動作を制御するＣＰＵ４０１、ＩＰＬ(Initial Program Loader)等のＣＰＵ４０１の駆動に用いられるプログラムを記憶したＲＯＭ４０２、ＣＰＵ４０１のワークエリアとして使用されるＲＡＭ４０３、端末用プログラム、画像データ、及び音声データ等の各種データを記憶するフラッシュメモリ４０４、ＣＰＵ４０１の制御にしたがってフラッシュメモリ４０４に対する各種データの読み出し又は書き込みを制御するＳＳＤ（Solid State Drive）４０５、フラッシュメモリ等の記録メディア４０６に対するデータの読み出し又は書き込み（記憶）を制御するメディアドライブ４０７、サーバ装置１へ接続を行う場合などに操作される操作ボタン４０８、クライアント端末４の電源のＯＮ／ＯＦＦを切り換えるための電源スイッチ４０９、ネットワークＮ１を利用してデータ伝送をするためのネットワークＩ／Ｆ４１１を備えている。
【００２２】
また、クライアント端末４は、ＣＰＵ４０１の制御に従って被写体を撮像して画像データを得る内蔵型のカメラ４１２、このカメラ４１２の駆動を制御する撮像素子Ｉ／Ｆ４１３、音声を入力する内蔵型のマイク４１４、音声を出力する内蔵型のスピーカ４１５、ＣＰＵ４０１の制御に従ってマイク４１４及びスピーカ４１５との間で音声信号の入出力を処理する音声入出力Ｉ／Ｆ４１６、ＣＰＵ４０１の制御に従って外付けのディスプレイ４２０に画像データを伝送するディスプレイＩ／Ｆ４１７、外部機器を接続するための外部機器接続Ｉ／Ｆ４１８、クライアント端末４の各種機能の異常を知らせるアラームランプ４１９及び上記各構成要素を電気的に接続するためのアドレスバスやデータバス等のバスライン４１０を備えている。
【００２３】
ディスプレイ４２０は、被写体の画像や操作用アイコン等を表示する液晶や有機ＥＬによって構成された表示部である。また、ディスプレイ４２０は、ケーブル４２０ｃによってディスプレイＩ／Ｆ４１７に接続される。このケーブル４２０ｃは、アナログＲＧＢ（ＶＧＡ）信号用のケーブルであってもよいし、コンポーネントビデオ用のケーブルであってもよいし、ＨＤＭＩ（登録商標）(High-Definition Multimedia Interface)やＤＶＩ(Digital Video Interactive)信号用のケーブルであってもよい。なお、ディスプレイ４２０はクライアント端末４に内蔵されていてもよい。
【００２４】
カメラ４１２は、レンズや、光を電荷に変換して被写体の画像（映像）を電子化する固体撮像素子を含み、固体撮像素子として、ＣＭＯＳ(Complementary Metal Oxide Semiconductor)や、ＣＣＤ（Charge Coupled Device）等が用いられる。なお、カメラ４１２は必ずしもクライアント端末４に内蔵されていなくともよい。
【００２５】
外部機器接続Ｉ／Ｆ４１８には、ＵＳＢ(Universal Serial Bus)ケーブル等によって、外付けカメラ、外付けマイク、及び外付けスピーカ等の外部機器がそれぞれ接続可能である。外付けカメラが接続された場合には、ＣＰＵ４０１の制御に従って、内蔵型のカメラ４１２に優先して、外付けカメラが駆動する。同じく、外付けマイクが接続された場合や、外付けスピーカが接続された場合には、ＣＰＵ４０１の制御に従って、それぞれが内蔵型のマイク４１４や内蔵型のスピーカ４１５に優先して、外付けマイクや外付けスピーカが駆動する。なお、内蔵型のマイク４１４及びスピーカ４１５は必ずしもクライアント端末４に内蔵されていなくともよい。
【００２６】
なお、記録メディア４０６は、クライアント端末４に対して着脱自在な構成となっている。また、ＣＰＵ４０１の制御にしたがってデータの読み出し又は書き込みを行う不揮発性メモリであれば、フラッシュメモリ４０４に限らず、ＥＥＰＲＯＭ（Electrically Erasable and Programmable ROM）等を用いてもよい。
【００２７】
更に、上記端末用プログラムは、インストール可能な形式又は実行可能な形式のファイルで、上記記録メディア４０６等の、コンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。また、上記端末用プログラムは、フラッシュメモリ４０４ではなくＲＯＭ４０２に記憶させるようにしてもよい。
【００２８】
＜機能構成＞
図４は、本実施形態における通信システムの機能構成の一例を示す図である。以後、通信システムの構成要素ごとの機能構成について説明する。
【００２９】
≪サーバ装置≫
サーバ装置１は、現用系、待機系というサーバ装置１の動作に関わらず、障害確認部１１、サーバリスト管理部１２、サーバリスト記憶部１３、サーバ動作制御部１４、及び通信制御部１５を有する。
【００３０】
障害確認部１１は、サーバリストに含まれるサーバ装置１への障害確認、及び他のサーバ装置１から障害確認に応答を行う機能部である。障害確認部１１は、自装置およびサーバリストに含まれる他のサーバ装置１が正常に稼働しているかを確認する。なお、障害確認は、通信システムを構成するすべてのサーバ装置１間で同期をとり、一斉に実行するとよい。これにより、複数のサーバ装置１が同時に現用系サーバとして稼働し、データベースを破壊する障害（スプリットブレイン）などを防止することができる。
【００３１】
他のサーバ装置１への障害確認は、相手サーバ装置１へＴＣＰ（Transmission Control Protocol ）、ＵＤＰ（User Datagram Protocol ）などを用いて他のサーバ装置１と通信を行い、障害の有無を確認できる文字列や値などを受信することによって行う。例えば、障害が発生していることを示す値や文字列を取得した、もしくは通信が行えない場合、障害確認部１１は相手サーバ装置１に障害が発生しているものと判断する。ただし、すべての他のサーバ装置１と通信が確立できない場合、自装置に障害が発生していると判断する。
【００３２】
通信システムを構成するすべてのサーバ装置１への障害確認を完了後、障害確認部１１はサーバリスト管理部１２に対してサーバリストを更新するよう要求する。
【００３３】
また、自装置が他のサーバ装置１より障害確認の要求があった場合、障害確認部１１は、障害の有無を示す文字列や値を生成し、要求元のサーバ装置１へ送信する。
【００３４】
サーバリスト管理部１２は、サーバリスト記憶部１３に記憶されるサーバリストの更新及びクライアント端末４へのサーバリストの送信を行う機能部である。サーバリスト管理部１２は、障害確認部１１の障害確認結果にしたがって、サーバリスト記憶部１３に記憶されるサーバリストを更新する。また、サーバリスト管理部１２はクライアント端末４からサーバリストの送信要求をうけた場合、サーバリスト記憶部１３に保存されているサーバリストをクライアント端末４へ送信する。
【００３５】
サーバリスト記憶部１３は、サーバリストを記憶する機能部である。図５は、本実施形態におけるサーバリストのデータ構成の一例を示す図である。
【００３６】
サーバリストは、「サーバ名」、「ＩＰアドレス」、「優先度」、及び「有効フラグ」の項目を有している。「サーバ名」はサーバの名称を示す情報である。
【００３７】
「サーバ名」は、サーバ装置１ごとに一意に設定された情報である。サーバ名は、サーバ装置１ごとに一意になるよう任意の文字、数字、記号又はこれらの組み合わせにより構成されればよい。例えば、「サーバ名」は、ドメイン名、サブドメイン名、ホスト名を省略せずに記載したＦＱＤＮ（Fully Qualified Domain Name）形式で記載される。
【００３８】
「ＩＰアドレス」は、サーバ装置１に割り当てられたＩＰアドレスを示す情報である。図５に示す例では、ＩＰｖ４に対応するＩＰアドレスを示しているが、ＩＰｖ４に限定されず、ＩＰｖ６など他のＩＰバージョンに対応することができる。
【００３９】
「優先度」は、サーバ装置１を現用系サーバとして稼働させる優先度を示す情報である。正常に動作しているサーバ装置１の中で優先度の一番高いサーバ装置１が現用系サーバとして稼働する。実施の形態において、「優先度」は固定であるが、後述する「有効フラグ」にしたがって「優先度」を変更させてもよい。
【００４０】
「有効フラグ」はサーバ装置１が正常に稼働しているか否かを示す情報である。「有効フラグ」には、例えば、「有効」、「無効」のようにフラグ情報が記載される。「有効フラグ」は、障害確認部１１による障害確認の結果にしたがって更新される。
【００４１】
なお、サーバリストのデータ形式はリスト形式に限定されるものではない。サーバリストはＣＳＶ（Comma Separated Values）やＸＭＬ（Extensible Markup Language）などのデータ形式であってもよい。
【００４２】
図４に戻り、サーバ動作制御部１４は現用系や待機系といった稼働形態に応じたサーバ装置１の動作制御、及びサーバ装置１の稼働形態の切り替えを行う機能部である。サーバ動作制御部１４は、例えば、サーバ装置１が現用系サーバとして稼働する場合、クライアント端末４などからの要求に応じてサーバ装置１はデータベース２の更新処理の実行などの動作を制御する。
【００４３】
サーバ動作制御部１４は、サーバリスト管理部１２によって更新されたサーバリストにしたがって、サーバ装置１の稼働形態の切り替えを行う。サーバ動作制御部１４は、サーバリストに含まれる「優先度」及び「有効フラグ」によってサーバ装置１の稼働形態を判断する。
【００４４】
具体的には、「有効フラグ」が有効となっているサーバ装置１の中で「優先度」が一番高い場合、サーバ動作制御部１４は、待機系サーバとしての動作を停止し、現用系サーバとしての動作を開始させる。
【００４５】
一方、正常に動作しているサーバ装置１の中で自装置が優先度の一番高いサーバ装置１ではない場合、サーバ動作制御部１４は、引き続き待機系サーバとして稼働させる。この時、サーバ動作制御部１４は、データベースのコピー元を新しく現用系サーバとして稼働するサーバ装置１に変更する。
【００４６】
また、サーバ動作制御部１４は、現用系サーバとして稼働していたサーバ装置１が障害から復旧した場合、障害から普及したサーバ装置１の「優先度」にしたがって、サーバ装置１の稼働形態の切り替えを行う。
【００４７】
通信制御部１５は、サーバ装置１もしくはクライアント端末４とのデータの送受信を行う。通信制御部１５は障害確認部１１、サーバリスト管理部１２の通信要求に応じて、ＵＤＰやＨＴＴＰなどの任意のプロトコルを用いてデータの送受信を行う。
【００４８】
≪クライアント端末≫
クライアント端末４は現用系サーバ判断部４１、サーバリスト保存部４２、及び通信制御部４３を有する。
【００４９】
現用系サーバ判断部４１は、現用系サーバとして稼働しているサーバ装置１を判別する機能部である。
【００５０】
現用系サーバ判断部４１は、サーバリスト保存部４２に記憶されているサーバリストにしたがって「有効フラグ」が有効になっているサーバ装置１の中で優先度の一番高いサーバ装置１を現用系サーバとして仮定する。現用系サーバ判断部４１は、現用系サーバであると仮定したサーバ装置１から最新のサーバリストを取得する。現用系サーバ判断部４１は、取得したサーバリストに基づいて、現用系サーバと仮定したサーバ装置１が現用系サーバとして稼働しているかを判断する。
【００５１】
当該判断は、取得したサーバリストにおいて、現用系サーバと仮定したサーバ装置１の有効フラグが有効となっているか否か、及び現用系サーバと仮定したサーバ装置１が、有効フラグが有効となっているサーバ装置１の中で優先度が一番高いか否かによって行われる。
【００５２】
上述した動作により、クライアント端末４は、現用系サーバの切り替わり及び新しく現用系サーバに切り替わったサーバ装置１を判断することができる。これにより、クライアント端末４は、煩雑な切り替え処理を行うことなく、効率的に接続先の切り替えを行うことができる。
【００５３】
サーバリスト保存部４２は、取得したサーバリストを記憶する。サーバリスト保存部４２が記憶するサーバリストは、サーバリスト保存部４２が記憶するサーバリストと同一の項目を有する。また、サーバリストは、初期値として通信プログラムに備えておいてもよい。
【００５４】
通信制御部４３は、データの送受信を行う機能部である。通信制御部４３は、現用系サーバ判断部４１から通信要求をうけ、ＨＴＴＰ(Hypertext Transfer Protocol)などの任意のプロトコルを用いてデータの送受信を行う。
【００５５】
＜処理動作＞
≪サーバ装置処理動作≫
図６は、本実施形態における待機系サーバを現用系サーバとして稼働させるか否かの判断時にサーバ装置が実行する処理手順の一例を示すフローチャートである。
【００５６】
当該処理は、現用系サーバとして稼働しているサーバ装置１があり、複数のサーバ装置１が待機系サーバとして動作している場合、かつ当該処理を実行するサーバ装置１が待機系サーバとして動作している場合に当該処理を開始する（ステップＳ０）。
【００５７】
障害確認部１１は、現用系サーバ及び待機系サーバを含む通信システムを構成するすべてのサーバ装置１に対して障害確認を行う（ステップＳ１）。障害確認は、上述した通り、稼働状態を示す文字列もしくは値（以後稼働情報と呼ぶ）を取得することで行う。また、障害確認は、所定の周期で継続的に行う。
【００５８】
ステップＳ１にて障害確認処理を実行後、サーバリスト管理部１２はサーバリストの更新を行う（ステップＳ２）。
【００５９】
ステップＳ１にて、動作確認をおこなった結果、サーバ動作制御部１４はすべてのサーバ装置１から正常に動作していることを示す稼働情報を取得したか否かを判定する（ステップＳ３）。
【００６０】
すべてのサーバ装置１から正常に動作していることを示す稼働情報を取得した場合（ステップＳ３：ＹＥＳ）、サーバ動作制御部１４は次に障害確認を実行するまで待機し（ステップＳ１０）、ステップＳ１に戻り、所定の周期で障害確認を実行する。
【００６１】
正常に動作していないことを示す稼働情報を取得した、もしくは稼働情報を取得できないサーバ装置１があった場合（ステップＳ３：ＮＯ）、サーバ動作制御部１４は、障害確認を行ったサーバ装置１のすべてから稼働情報の取得に失敗したか否かを判定する（ステップＳ４）。
【００６２】
すべてのサーバ装置１に対して稼働情報の取得に失敗した場合（ステップＳ４：ＹＥＳ）、障害確認部１１は、自装置に通信障害が発生した可能性があるため、次に障害確認を行うまで待機し（ステップＳ１０）、一定時間経過後、ステップＳ１にて再度、障害確認を実行する。所定の回数、障害確認を行ってもすべてのサーバ装置１に対して稼働情報の取得に失敗する場合、サーバ動作制御部１４は自装置に障害が発生したと判断し、自装置の動作を停止させる。
【００６３】
いずれかのサーバ装置１から稼働情報を取得できた場合（ステップＳ４：ＮＯ）、サーバ動作制御部１４は、稼働情報が取得できなかった、もしくは障害の発生を示す稼働情報を送信したサーバ装置１が現用系サーバとして稼働しているサーバ装置１か否かを判定する（ステップＳ５）。現用系サーバではない場合（ステップＳ５：ＮＯ）、サーバ動作制御部１４は次に障害確認を実行するまで待機し（ステップＳ１０）、ステップＳ１に戻り、所定の周期で障害確認を実行する。
【００６４】
現用系サーバとして稼働するサーバ装置１である場合（ステップＳ５：ＹＥＳ）、サーバ動作制御部１４は、サーバリストから自装置の優先度を確認する（ステップＳ６）。続いて、サーバ動作制御部１４は、自装置の優先度が動作しているサーバ装置１の中で一番優先度が高いか否かを判定する（ステップＳ７）。
【００６５】
自装置の優先度が動作しているサーバ装置１の中で一番優先度が高い場合（ステップＳ７：ＹＥＳ）、サーバ動作制御部１４は自装置を現用系サーバとして稼働できるように動作の切り替えを行う（ステップＳ８）。切り替え完了後、サーバ動作制御部１４は当該処理を終了する（ステップＳ１１）。
【００６６】
自装置の優先度が動作しているサーバ装置１の中で一番優先度が高くない場合（ステップＳ７：ＮＯ）、サーバ動作制御部１４は新しく現用系サーバとして稼働するサーバ装置１をデータベースのコピー元として設定する（ステップＳ９）。その後、次に障害確認を実行するまで待機し（ステップＳ１０）、ステップＳ１に戻り、所定の周期で障害確認を実行する。
【００６７】
≪クライアント処理動作≫
図７は、本実施形態における現用系サーバを判別する際にクライアント端末が実行する処理手順の一例を示すフローチャートである。
【００６８】
待機系サーバとして稼働するサーバ装置１が複数存在する環境において、クライアント端末４が当該処理を実行する（ステップＳ２０）。
【００６９】
サーバリスト保存部４２に保存されているサーバリストを読込む（ステップＳ２１）。現用系サーバ判断部４１は、動作状況が「有効」となっているサーバ装置１の中で優先度の一番高いサーバ装置１へ接続を試行する（ステップＳ２２）。その後、現用系サーバ判断部４１は、サーバ装置１へ接続できたか否かを判定する（ステップＳ２３）。
【００７０】
サーバ装置１への接続に成功した場合（ステップＳ２３：ＹＥＳ）、現用系サーバ判断部４１は、接続を行ったサーバ装置１からサーバリストを取得する（ステップＳ２４）。
【００７１】
サーバリストを取得後、現用系サーバ判断部４１は取得したサーバリストとサーバリスト保存部４２に保存されているサーバリストを比較する（ステップＳ２５）。現用系サーバ判断部４１は、サーバリストを比較し、接続を試行したサーバ装置１よりも優先度の高いかつ正常に動作しているサーバ装置１が存在するか否か、及び最新のサーバリストにおいて、接続を試行したサーバ装置１が正常に稼働しているか否かを判定する（ステップＳ２６）。
【００７２】
サーバリストに差異がない場合（ステップＳ２６：ＹＥＳ）、接続を試行したサーバ装置１が現用系サーバとして稼働していると判断し、当該処理を終了する（ステップＳ３０）。
【００７３】
サーバリストに差異がある場合（ステップＳ２６：ＮＯ）、現用系サーバ判断部４１は、保持していたサーバリストを取得したサーバリストに更新する（ステップＳ２７）。その後、現用系サーバ判断部４１は、更新したサーバリストにおいて、有効フラグが有効になっているサーバ装置１があるか否かを判定する（ステップＳ２８）。有効フラグが有効になっているサーバ装置１がある場合（ステップＳ２８：ＹＥＳ）、ステップＳ２２に戻り、現用系サーバ判断部４１は、有効フラグが有効になっているサーバ装置１の中で優先度の一番高いサーバ装置１を現用系サーバと仮定し、接続を試行する。有効フラグが有効になっているサーバ装置１がない場合（ステップＳ２８：ＮＯ）、図８のようなサーバ装置１への接続に失敗したことを示すエラー画面を表示させ、当該処理を終了する（ステップＳ２９、３０）。
【００７４】
表示させるエラー画面は、図８に示すように、接続に失敗したサーバ装置１のサーバ名及び具体的に何に失敗したのかを示すとよい。
【００７５】
サーバ装置１への接続に失敗した場合（ステップＳ２３：ＮＯ）、現用系サーバ判断部４１は、サーバリストを更新する（ステップＳ２７）。具体的には、現用系サーバ判断部４１は、接続に失敗したサーバ装置１の「有効フラグ」を有効から無効に変更する。現用系サーバ判断部４１は、サーバリストの中に「有効フラグ」が有効となっているサーバ装置１が存在するか否かを判定する（ステップＳ２８）。つまり、現用系サーバ判断部４１は、接続に失敗したサーバ装置１以外に、稼働しているサーバ装置１があるか否かを確認する。
【００７６】
サーバリストの中で動作状況が「有効」となっているサーバ装置１が存在する場合（ステップＳ２８：ＹＥＳ）、Ｓ２２に戻り、動作状況が「有効」となっているサーバ装置１の中で優先度の一番高いサーバ装置１への接続を試みる。
【００７７】
サーバリストの中で動作状況が「有効」となっているサーバ装置１が存在しない場合（ステップＳ２８：ＮＯ）、上述した図８に示すエラー画面を表示させ、当該処理を終了させる（ステップＳ２９、３０）。
【００７８】
なお、上述の実施例の全部又は一部はプログラムによって実装され得る。このプログラムは、可搬記録媒体に格納することができる。可搬記録媒体とは、非一時的（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ）な記憶媒体を言う。可搬記録媒体の例としては、磁気記録媒体、光ディスク、光磁気記録媒体、不揮発性メモリなどがある。可搬型記録媒体に格納されたプログラムが読み出され、プロセッサーによって実行されることにより、実施例の全部又は一部が実施され得る。
【００７９】
以上、ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【符号の説明】
【００８０】
１    サーバ装置
１１  障害確認部
１２  サーバリスト管理部
１３  サーバリスト記憶部
１４  サーバ動作制御部
１５  通信制御部
２    データベース
３    ルータ
４    クライアント端末
４１  現用サーバ判断部
４２  サーバリスト保存部
４３  通信制御部
【先行技術文献】
【特許文献】
【００８１】
【特許文献１】特開２０１０−９４６２号公報
【図１】
2015170156.tif 000003
【図２】
2015170156.tif 000004
【図３】
2015170156.tif 000005
【図４】
2015170156.tif 000006
【図５】
2015170156.tif 000007
【図６】
2015170156.tif 000008
【図７】
2015170156.tif 000009
【図８】
2015170156.tif 000010