(57)【要約】【課題】クライアント拠点と複数のサーバ拠点とがネットワークを介して接続される分散配置システムにおいて、サーバ拠点の切替時のバックアップ運転を迅速に開始するための技術を提供する。【解決手段】クライアント拠点９００は、複数のサーバ拠点のいずれかを接続先とし、接続先のサーバ拠点を切り替える。中継計算機２００は、各サーバ拠点から更新データを受信し、受信した更新データをサーバ拠点それぞれについて記憶する。中継計算機２００は、更新データを送信したサーバ拠点が、クライアント拠点９００が接続先とするサーバ拠点である場合は、受信した更新データをクライアント計算機３１Ａへ送信することで、サーバ拠点とクライアント拠点９００とのデータの一致化処理を行う。サーバ拠点の切り替えの際、中継計算機２００は、切替後のサーバ拠点の更新データをデータベースから読み出してクライアント計算機３１Ａへ送信する。【選択図】図６
2014160374.tif 000002
【特許請求の範囲】
【請求項１】
クライアント計算機を含むクライアント拠点と、複数のサーバ拠点とがネットワークを介して接続される分散配置システムにおける前記クライアント拠点の中継計算機であって、
前記クライアント拠点は、前記サーバ拠点のいずれかを接続先としており、
前記中継計算機は、
前記複数のサーバ拠点から送信される更新データを受信し、受信した更新データをサーバ拠点それぞれについて記憶するための記憶部と、
前記ネットワークを介して更新データを送信したサーバ拠点が、前記クライアント拠点が接続先とするサーバ拠点と一致するか否かを判定する判定部と、
前記更新データを送信したサーバ拠点が、前記クライアント拠点が接続先とするサーバ拠点と一致すると判定される場合に、当該更新データを前記クライアント計算機に送信する送信制御部と、
前記クライアント拠点が接続先とするサーバ拠点を切り替える場合に、切替後のサーバ拠点の更新データを前記記憶部から読み出して前記クライアント計算機に送信する切替制御部とを含む、中継計算機。
【請求項２】
クライアント拠点と、複数のサーバ拠点とがネットワークを介して接続される分散配置システムであって、
前記クライアント拠点は、前記サーバ拠点のいずれかを接続先としており、
クライアント計算機と、
前記サーバ拠点から送信される更新データを受信して、受信した更新データの前記クライアント計算機への送信を制御する中継計算機とを含み、
前記中継計算機は、
前記複数のサーバ拠点から送信される更新データを受信し、受信した更新データをサーバ拠点それぞれについて記憶するための記憶部と、
前記ネットワークを介して更新データを送信したサーバ拠点が、前記クライアント拠点が接続先とするサーバ拠点と一致するか否かを判定する判定部と、
前記更新データを送信したサーバ拠点が、前記クライアント拠点が接続先とするサーバ拠点と一致すると判定される場合に、当該更新データを前記クライアント計算機に送信する送信制御部と、
前記クライアント拠点が接続先とするサーバ拠点を切り替える場合に、切替後のサーバ拠点の更新データを前記記憶部から読み出して前記クライアント計算機に送信する切替制御部とを含む、分散配置システム。
【請求項３】
前記クライアント拠点は、
複数の前記中継計算機と、
前記複数の中継計算機のうち、前記クライアント計算機に対し前記更新データを送信するための中継計算機を管理する計算機管理部とを含み、
前記計算機管理部は、前記複数の中継計算機それぞれの稼働状況に基づいて、前記更新データを前記クライアント計算機へ送信するための中継計算機を決定し、
前記中継計算機は、前記計算機管理部の決定に従って、前記更新データを前記クライアント計算機へ送信する、請求項２に記載の分散配置システム。
【請求項４】
前記計算機管理部は、前記複数の中継計算機それぞれの負荷率を計測し、計測結果に基づいて、最も負荷率の低い中継計算機を、前記更新データを前記クライアント計算機へ送信するための計算機として決定し、
前記中継計算機は、前記計算機管理部による決定に従って前記更新データを前記クライアント計算機へ送信する、請求項３に記載の分散配置システム。
【請求項５】
前記サーバ拠点のサーバ計算機は、更新データと、前記更新データの更新状況を示す値とを前記中継計算機へ送信し、
前記中継計算機の送信制御部は、前記サーバ拠点から送信される更新データと、前記値とを前記クライアント計算機へ送信し、
前記クライアント計算機は、前記値に示される前記更新データの更新状況に基づいて、、前記中継計算機から送信される最新の更新データを保持する、請求項２に記載の分散配置システム。
【請求項６】
クライアント拠点と、複数のサーバ拠点とがネットワークを介して接続される分散配置システムにおけるデータ配信方法であって、
前記クライアント拠点は、前記サーバ拠点のいずれかを接続先としており、
クライアント計算機と、
前記サーバ拠点から送信される更新データを受信し、受信した更新データをサーバ拠点それぞれについて記憶し、前記更新データの前記クライアント計算機への送信を制御する中継計算機とを含み、
前記データ配信方法は、
前記中継計算機が、前記ネットワークを介して更新データを送信したサーバ拠点が、前記クライアント拠点が接続先とするサーバ拠点と一致するか否かを判定するステップと、
前記中継計算機が、前記判定の結果、前記更新データを送信したサーバ拠点と前記クライアント拠点が接続先とするサーバ拠点とが一致すると判定される場合に、当該更新データを前記クライアント計算機に送信するステップと、
前記中継計算機が、前記クライアント拠点が接続先とするサーバ拠点の切り替えの際に、切替後のサーバ拠点の更新データをメモリから読み出して前記クライアント計算機に送信するステップとを含む、データ配信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースシステムを構成する計算機に関し、特に、複数のデータベースの内容を一致化させるための技術に関する。
【背景技術】
【０００２】
監視制御システム等においては、大量のデータが逐次記録され、データベースとして管理されている。このようなシステムでは、安定的な運用を行うため、計算機およびネットワークの多重化がなされている。監視制御システムとしては、例えば電力系統の運用のためのシステムがある。近年では、運用拠点が被災した時もシステムが継続して動作可能とするため、ディザスタリカバリを実現することが要請されている。
【０００３】
データベースシステムを構成する計算機およびネットワークを多重化するための技術は様々なものがある。例えば、特開２００６−７２６３５号公報（特許文献１）は、プロダクションサイト、ローカルサイト、リモートサイトにおいて、プロダクションサイトからリモートサイトへのリモートコピーを、ローカルサイトを中継して行う技術を開示している。特許文献１の技術によると、プロダクションサイトが被災した場合、同じデータを持つローカルサイトと、プロダクションサイトから長距離離れたリモートサイトにて業務を継続することを可能にしている。
【０００４】
特開２００３−３１６６３３号公報（特許文献２）は、リスク分散のため遠隔地でファイルのバックアップを行うことを可能とするファイルバックアップ方法を開示している。特許文献２の技術によると、ストレージ間をネットワークで接続する方式であるＳＡＮ（Storage  Area  Network）に格納されたデータのバックアップを取る際、ファイルバックアップシステムは、データ転送の指示をＳＡＮとは異なるネットワーク経由で受け付けて、バックアップ対象のデータをＳＡＮの記憶手段の間でＳＡＮの機能を利用して転送する。
【０００５】
特開２００９−２６６０１５号公報（特許文献３）は、ストレージシステムにおいて、レプリケーション管理者の管理負荷を軽減するとともに、監視負荷を低減する技術を開示している。特許文献３の技術によると、複数サイトにわたる大規模なストレージシステムにおいて、管理計算機は、プライマリサイト、リモートサイト等の各サイトのホスト計算機からコピーペアのステータス情報などのボリュームグループの構成情報を収集し、収集したデータを解析する。これにより、特許文献３のストレージシステムは、障害等の発生時にプライマリサイトとリモートサイトとの切り替えなどを行い、ボリュームグループの構成の変更を検出すると、検出された変更がどのような構成であるかを判定して監視設定を適切に切り替える。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−７２６３５号公報
【特許文献２】特開２００３−３１６６３３号公報
【特許文献３】特開２００９−２６６０１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
また、データベースを管理する複数のサーバ拠点を設け、広域ネットワークを介してクライアント拠点の計算機と複数のサーバ拠点の計算機とを接続する広域の分散配置システムがある。分散配置システムは、あるサーバ拠点が被災した時などバックアップ運転が必要となった場合に、クライアント拠点の計算機が接続するサーバ拠点を切り替えることで運転を継続することができる。
【０００８】
このように複数のサーバ拠点を設けて被災時にサーバ拠点を切り替えるシステムに対し、特許文献１のように、拠点と拠点との間でリモートコピーによってデータを多重化させる技術を適用しようとすると、クライアント拠点の計算機と接続するサーバ拠点を切り替える際に、切替後のサーバ拠点のデータを、広域ネットワークを経由してクライアント拠点の計算機のデータと一致させる必要がある。しかし、広域ネットワークを経由した一致化処理に時間を要するため、サーバ拠点を切り替えた運転の開始が遅延する。また、クライアント拠点の計算機の数が増えるほどサーバ拠点からクライアント拠点への大量のリモートコピーが発生し、広域ネットワークの通信帯域に悪影響を及ぼし得る。
【０００９】
したがって、サーバ拠点を切り替えたバックアップ運転を迅速に開始するとともに、広域ネットワークの通信帯域への影響が比較的小さい切り替えを可能にする技術が必要とされている。
【課題を解決するための手段】
【００１０】
一実施形態によると、クライアント計算機を含むクライアント拠点と、複数のサーバ拠点とがネットワークを介して接続される分散配置システムにおけるクライアント拠点の中継計算機が提供される。クライアント拠点は、サーバ拠点のいずれかを接続先とし、接続先のサーバ拠点を切り替える。中継計算機は、複数のサーバ拠点から送信される更新データを受信し、受信した更新データをサーバ拠点それぞれについて記憶する。また、中継計算機は、更新データを送信したサーバ拠点が、クライアント拠点が接続先とするサーバ拠点と一致するか否かを判定し、一致すると判定される場合に、受信した更新データをクライアント計算機へ送信する。クライアント拠点が接続先とするサーバ拠点を切り替える場合、中継計算機は、切替後のサーバ拠点の更新データを読み出して、読み出した更新データをクライアント計算機へ送信する。
【発明の効果】
【００１１】
上記一実施形態によると、クライアント拠点の計算機と複数のサーバ拠点の計算機とがネットワークを介して接続される分散配置システムにおいて、バックアップ運転の切り替えを迅速に行うことができる。また、ネットワークの通信帯域への影響を比較的小さなものとすることができる。
【００１２】
この発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００１３】
【図１】分散配置システム８００の構成を示す図である。
【図２】中継計算機２００のハードウェアの構成を示す図である。
【図３】中継計算機２００の各機能を示すブロック図である。
【図４】中継計算機２００によるサーバ拠点からのデータの受信およびクライアント計算機３１Ａへの送信処理を示すフローチャートである。
【図５】サーバ拠点を切り替える場合の各計算機の動作を示す図である。
【図６】サーバ拠点の切替時における中継計算機２００からクライアント計算機群３０１のクライアント計算機３１Ａへのデータのリモートコピーを示す図である。
【図７】分散配置システム８０１の構成を示す図である。
【図８】クライアント拠点９０１の中継計算機管理部５００に記憶されるデータを示す図である。
【図９】中継計算機管理部５００が中継計算機の負荷に応じて主中継計算機を切り替える動作を示すフローチャートである。
【図１０】中継計算機管理部５００が各中継計算機のＣＰＵ負荷率を計測する処理を示す図である。
【図１１】サーバ拠点におけるデータ更新の前後において主中継計算機が中継計算機管理部５００によって切り替えられる例を示す図である。
【図１２】サーバ拠点におけるデータファイル１１１を示す図である。
【図１３】クライアント計算機３１Ａが、中継計算機を経由して受信したサーバ拠点のデータの保存を、通番値に応じて制御する処理を示すフローチャートである。
【図１４】サーバ拠点を切り替える場合のクライアント拠点９００の各計算機の動作を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００１５】
＜実施の形態１＞
本実施の形態の計算機はデータベースを備えており、複数の計算機が設置されてデータベースシステムを構成する。図１は、分散配置システム８００の構成を示す図である。図１を参照して、分散配置システム８００は、複数のサーバ拠点（図１の例では、２つのサーバ拠点（第１サーバ拠点１０１および第２サーバ拠点１０２）を示す）と、クライアント拠点９００とを含む。サーバ拠点は、複数のサーバ計算機を含み、サーバ計算機とデータベースとからなるデータベースシステムを構成する。複数のサーバ拠点のサーバ計算機と、クライアント拠点９００に含まれる計算機とが、広域のＩＰ（Internet  Protocol）ネットワークであるネットワーク６００によって接続される。
【００１６】
分散配置システム８００は、例えば監視制御システムである。監視制御システムは、例えば、電力系統の運用等のための系統制御システムであり、発電所において発電された電力を、工場等の需要家に安定して供給する。系統制御システムでは、系統の状態を監視して、例えば、電圧や電流の最大値・最小値、位相の変化、遮断器（Circuit  Breaker）のＯＮ／ＯＦＦ状態などの監視値等を収集し、収集したデータによってデータベースシステムのデータレコードを更新する。系統制御システムでは、安定した連続運転が求められるため、データベースシステムを構成する計算機、および、各計算機を接続するためのネットワークが多重化されている。系統制御システムでは、例えば、各計算機および運用拠点（中央給電指令所、系統給電指令所など）がそれぞれ地理的に分散して設置されている。こうすることで、災害等が発生して一部の計算機や運用拠点が機能を発揮できなくなった場合においても、系統制御システムでは、計算機や運用拠点を切り替えて運転の継続が可能となっている。
【００１７】
監視制御システムは、多数設定されたモニタリング機器等に、逐次、データを取得させ、これら取得されるデータを収集し、収集データをサーバ拠点のデータベースシステムに蓄積する。クライアント拠点９００は、接続先のサーバ拠点を切り替えて動作し、接続先のサーバ拠点からデータベースシステムのデータの送信を受け付ける。クライアント拠点９００は、サーバ拠点から送信を受け付けたデータに基づいて、例えば監視制御システムにおけるモニタリング等のための処理を行い、監視者からの各種の指令のための操作を受け付ける。
【００１８】
詳細を説明すると、第１サーバ拠点１０１は、複数のサーバ計算機１１Ａと、記憶部１１Ｂとを含む。記憶部１１Ｂは、ＨＤＤ（Hard  Disk  Drive）等の大容量の記録媒体により構成され、第１サーバ拠点１０１に収集される各種のデータを蓄積するための記憶領域を有する。サーバ計算機１１Ａは、記憶部１１Ｂを管理し、第１サーバ拠点１０１に収集されるデータに基づき、記憶部１１Ｂのデータを逐次更新する。第１サーバ拠点１０１は、記憶部１１Ｂのデータを更新すると、更新したデータをクライアント拠点９００の中継計算機２００へ送信する。
【００１９】
第２サーバ拠点１０２は、複数のサーバ計算機１２Ａと記憶部１２Ｂとにより構成される。記憶部１２Ｂは、記憶部１１Ｂと同様に大容量の記録媒体により構成され、第２サーバ拠点１０２に収集される各種のデータを蓄積するための記憶領域を有する。サーバ計算機１２Ａは、記憶部１２Ｂを管理し、第２サーバ拠点１０２に収集されるデータに基づき、記憶部１２Ｂのデータを逐次更新する。第２サーバ拠点１０２は、記憶部１２Ｂのデータを更新すると、更新したデータをクライアント拠点９００の中継計算機２００へ送信する。
【００２０】
接続先管理部４００は、クライアント計算機群３０１に含まれる複数のクライアント計算機３１Ｂが接続先とするサーバ拠点（第１サーバ拠点１０１および第２サーバ拠点１０２のいずれか）を示す接続先サーバ情報４１を保持している。接続先管理部４００は、接続先サーバ情報４１に基づいて、クライアント拠点９００が接続先とするサーバ拠点がいずれであるかを管理するための計算機である。接続先管理部４００は、例えば、クライアント拠点９００が接続先とするサーバ拠点を切り替えるための入力操作を監視者から受け付けることで接続先サーバ情報４１を更新する。
【００２１】
中継計算機２００は、複数のサーバ拠点（第１サーバ拠点１０１および第２サーバ拠点１０２）のそれぞれが蓄積しているデータをサーバ拠点ごとにネットワーク６００を経由して受信し、受信したデータをサーバ拠点ごとにデータベースとして管理する。図１の例では、中継計算機２００は、第１サーバ拠点１０１から受信したデータを第１サーバ拠点のデータベース２１Ａにおいて記憶し、第２サーバ拠点１０２から受信したデータを第２サーバ拠点のデータベース２１Ｂにおいて記憶する。
【００２２】
中継計算機２００は、接続先管理部４００の接続先サーバ情報４１を参照して、クライアント拠点９００が接続先とするサーバ拠点を特定する。中継計算機２００は、サーバ拠点から受信したデータが、クライアント拠点９００が接続先とするサーバ拠点から送信されたものである場合は、受信したデータをクライアント計算機群３０１に含まれる複数のクライアント計算機３１Ａに送信する。中継計算機２００は、受信したデータが、クライアント拠点９００が接続先としていないサーバ拠点（バックアップ用のサーバ拠点）から送信されたものである場合は、受信したデータをクライアント計算機群３０１の各計算機へ送信せずデータベースを更新する。例えば、接続先サーバ情報４１において、クライアント拠点９００が接続先とするサーバ拠点が第１サーバ拠点１０１と示されている場合、中継計算機２００は、第１サーバ拠点１０１から受信したデータを用いて第１サーバ拠点のデータベース２１Ａを更新し、受信したデータをクライアント計算機群３０１へ送信する。これに対し、第２サーバ拠点１０２がバックアップ用のサーバ拠点である場合、中継計算機２００は、第２サーバ拠点１０２から受信したデータのクライアント計算機群３０１への送信を行うことなく第２サーバ拠点のデータベース２１Ｂを更新する。
【００２３】
また、中継計算機２００は、後述する処理を実行することにより、サーバ拠点の被災等によりクライアント拠点９００がサーバ拠点の接続先を切り替える際に、切替後のサーバ拠点のデータをデータベースから読み出してクライアント計算機群３０１の各クライアント計算機に送信する。
【００２４】
クライアント計算機群３０１は、複数のクライアント計算機３１Ａを含み、クライアント拠点９００が接続先とするサーバ拠点のデータを中継計算機２００から受信してサーバ拠点データベース３１Ｂを更新する。クライアント計算機群３０１を操作する操作者は、サーバ拠点データベース３１Ｂに蓄積されたデータをもとに、各種の指令を与えるための操作を行う。
【００２５】
なお、図１では、接続先管理部４００と中継計算機２００とクライアント計算機３１Ａとが別の計算機であるものとして示しているが、接続先管理部４００、中継計算機２００およびクライアント計算機３１Ａが発揮する各機能は、１台の計算機が兼ね備えるものとしてもよい。例えば、複数のクライアント計算機３１Ａのうちの１台が、中継計算機２００としての機能を発揮するものとしてもよい。
【００２６】
＜構成＞
図２を参照して、本実施の形態の計算機（サーバ計算機１１Ａ、サーバ計算機１２Ａ、接続先管理部４００、中継計算機２００およびクライアント計算機３１Ａ）のハードウェア構成について説明する。図２は、中継計算機２００のハードウェアの構成を示す図である。図２に示すように、中継計算機２００は、ＣＰＵ（Central  Processing  Unit）１と、ＲＯＭ（Read  Only  Memory）２と、ＲＡＭ（Random  Access  Memory）３と、通信インタフェース４と、Ｉ／Ｏ（Input/Output）５と、ＨＤＤ６とを含む。
【００２７】
ＣＰＵ１は、プログラムを読み出して、読み出したプログラムに従って中継計算機２００の動作を制御する。ＲＯＭ２は、中継計算機２００の動作を制御するためのプログラムおよびデータを記憶する。ＲＡＭ３は、中継計算機２００がプログラムに従って動作する際に、データ等を記憶する。
【００２８】
通信インタフェース４は、中継計算機２００がネットワーク６００を経由して第１サーバ拠点１０１および第２サーバ拠点１０２と通信するためのインタフェースである。また、通信インタフェース４は、中継計算機２００がクライアント拠点９００において接続先管理部４００およびクライアント計算機群３０１と通信するためのインタフェースである。Ｉ／Ｏ５は、中継計算機２００に対する操作等を行うための入出力インタフェースである。ＨＤＤ６は、大容量のデータを記憶するための記憶領域である。中継計算機２００のＨＤＤ６は、サーバ拠点それぞれに対応して第１サーバ拠点のデータベース２１Ａと第２サーバ拠点のデータベース２１Ｂとを記憶する。
【００２９】
なお、サーバ計算機１１Ａ、サーバ計算機１２Ａ、接続先管理部４００およびクライアント計算機３１Ａのハードウェア構成は、中継計算機２００のハードウェア構成と同様に、ＣＰＵ、ＲＯＭ、ＲＡＭ、通信インタフェース等からなるためハードウェア構成の説明を繰り返さない。
【００３０】
図３は、中継計算機２００の各機能を示すブロック図である。図３を参照して、中継計算機２００は、受信部２１１と、送信部２２１と、記憶部２３１と、制御部２４１とを備える。受信部２１１は、中継計算機２００の外部の計算機からネットワーク６００等を経由してデータを受信する。送信部２２１は、中継計算機２００の外部の計算機に対し、中継計算機２００からデータを送信する。記憶部２３１は、中継計算機２００において使用されるデータを記憶し、第１サーバ拠点のデータベース２１Ａおよび第２サーバ拠点のデータベース２１Ｂを記憶する。中継計算機２００は、例えば、サーバ拠点それぞれに対応したデータベースを有しており、各サーバ拠点から受信したデータをそれぞれのデータベースにおいて管理する。
【００３１】
制御部２４１は、更新元判定部２５１と送信制御部２６１とサーバ切替処理部２７１とを含み、中継計算機２００の動作を制御する。更新元判定部２５１は、サーバ拠点において更新されたデータを中継計算機２００が受信した際に、そのデータの更新元のサーバ拠点を、例えば受信データの送信元計算機を識別する情報を参照することによって判定する。送信制御部２６１は、接続先サーバ情報４１に従って、各サーバ拠点から受信したデータをクライアント計算機３１Ａに送信するか否かを制御する。サーバ切替処理部２７１は、クライアント拠点９００が接続先とするサーバ拠点を切り替えて、切替後のサーバ拠点のデータを記憶部２３１から読み出してクライアント計算機３１Ａへ送信する。
【００３２】
＜動作＞
図４から図６を用いて、分散配置システム８００における各計算機の動作について具体的に説明する。図４は、中継計算機２００によるサーバ拠点からのデータの受信およびクライアント計算機３１Ａへの送信処理を示すフローチャートである。
【００３３】
ステップＳ４０１において、中継計算機２００は、サーバ拠点（第１サーバ拠点１０１または第２サーバ拠点１０２）において更新されたデータをサーバ拠点から受信する。
【００３４】
ステップＳ４０３において、中継計算機２００は、接続先管理部４００と通信し、接続先サーバ情報４１を取得することで、クライアント拠点９００が接続先とするサーバ拠点を識別する情報を取得する。
【００３５】
ステップＳ４０５において、中継計算機２００は、受信したデータの更新元のサーバ拠点と、接続先サーバ情報４１に示されるサーバ拠点とが一致するか否かを判定する。中継計算機２００が受信したデータの更新元のサーバ拠点が接続先サーバ情報４１に示されるサーバ拠点である場合（ステップＳ４０５においてＹＥＳ）、中継計算機２００は、ステップＳ４０７の処理を行う。また、中継計算機２００が受信したデータの更新元のサーバ拠点が接続先サーバ情報４１に示されるサーバ拠点と異なる場合（ステップＳ４０５においてＮＯ）は、ステップＳ４０６の処理を行う。
【００３６】
ステップＳ４０６において、中継計算機２００は、受信したデータを、データの更新元のサーバ拠点と対応付けて記憶部２３１において記憶する。
【００３７】
ステップＳ４０７において、中継計算機２００は、受信したデータを、データの更新元のサーバ拠点と対応付けて記憶部２３１において記憶し、受信したデータをクライアント計算機３１Ａに送信する。
【００３８】
以上の処理によって、分散配置システム８００においては、各サーバ拠点において更新されたデータが中継計算機２００に記憶され、クライアント拠点９００が接続先とするサーバ拠点のデータが中継計算機２００からクライアント計算機３１Ａへと送信される。分散配置システム８００において、バックアップ用のサーバ拠点のデータは、クライアント計算機３１Ａに送信されることなく中継計算機２００に記憶される。
【００３９】
ここで、クライアント拠点９００が、接続先とするサーバ拠点を切り替える場合に、切替後のサーバ拠点のデータが、中継計算機２００からクライアント計算機３１Ａへと送信される。そのため、サーバ拠点を切り替える場合に、切替後のサーバ拠点からクライアント計算機群３０１のクライアント計算機３１Ａにネットワーク６００を経由してリモートコピーを行う必要がなく、バックアップ用のサーバ拠点への切り替えを高速に行うことができる。また、切替後のサーバ拠点からクライアント計算機群３０１のクライアント計算機３１Ａにデータをリモートコピーする場合と比べると、ネットワーク６００の通信帯域に与える負荷を小さくすることができる。
【００４０】
ここで、図５を参照して、サーバ拠点を切り替える場合のクライアント拠点９００の各計算機の動作を具体的に説明する。図５は、サーバ拠点を切り替える場合の各計算機の動作を示す図である。
【００４１】
ステップＳ４１において、接続先管理部４００は、例えば監視者の入力操作を受け付けることにより、クライアント拠点９００が接続先とするサーバ拠点を切り替えるための操作を受け付ける。
【００４２】
ステップＳ４３において、接続先管理部４００は、接続先サーバ情報４１を更新し、切替後のサーバ拠点を識別するための情報を接続先サーバ情報４１として記憶する。
【００４３】
ステップＳ４５において、接続先管理部４００は、切替後のサーバ拠点のデータをクライアント計算機群３０１において一致させるための指示を、中継計算機２００とクライアント計算機群３０１のクライアント計算機３１Ａに対し送信する。
【００４４】
ステップＳ２１において、中継計算機２００は、クライアント計算機群３０１の複数のクライアント計算機３１Ａのデータを、切替後のサーバ拠点のデータと一致させるための指示を接続先管理部４００から受け付ける。中継計算機２００は、接続先サーバ情報４１に基づいて、切替後のサーバ拠点を特定し、切り替え後のサーバ拠点について記憶部２３１において記憶しているデータを、クライアント計算機群３０１のクライアント計算機３１Ａに送信する。
【００４５】
ステップＳ３１において、クライアント計算機３１Ａは、切替後のサーバ拠点のデータと、複数のクライアント計算機３１Ａのデータとを一致させるための指示を接続先管理部４００から受け付ける。クライアント計算機３１Ａは、切替後のサーバ拠点のデータのリモートコピーを中継計算機２００から受け付ける。
【００４６】
図６を参照して、クライアント拠点９００が接続先とするサーバ拠点を切り替える際の動作の例を説明する。図６は、サーバ拠点の切替時における中継計算機２００からクライアント計算機群３０１のクライアント計算機３１Ａへのデータのリモートコピーを示す図である。
【００４７】
中継計算機２００は、各サーバ拠点から、各サーバ拠点で更新されたデータを受信して記憶している（第１サーバ拠点のデータベース２１Ａおよび第２サーバ拠点のデータベース２１Ｂ）。例えば、クライアント拠点９００が第１サーバ拠点１０１を接続先とする場合に、第１サーバ拠点１０１が被災等したため、クライアント拠点９００の監視者がサーバ拠点を第１サーバ拠点１０１から第２サーバ拠点１０２へ切り替えるものとする。
【００４８】
クライアント拠点９００の監視者が、サーバ拠点を切り替えるための入力操作を接続先管理部４００に対して行うと、接続先管理部４００は、サーバ拠点の切替操作に応じて接続先サーバ情報４１を更新し、中継計算機２００とクライアント計算機群３０１のクライアント計算機３１Ａに対し、第１サーバ拠点１０１から第２サーバ拠点１０２への切り替えの指示を送信する。中継計算機２００は、切替後のサーバ拠点である第２サーバ拠点１０２のデータを第２サーバ拠点のデータベース２１Ｂから読み出して、クライアント計算機群３０１のクライアント計算機３１Ａへリモートコピーする。クライアント計算機３１Ａは、サーバ拠点の切り替えの指示に応じて、中継計算機２００から第２サーバ拠点のデータベース２１Ｂのデータを受信して、受信したデータをサーバ拠点データベース３１Ｂに記憶する。
【００４９】
＜実施の形態２＞
次に、実施の形態２の分散配置システムについて説明する。実施の形態１では、中継計算機が１つの場合について説明したが、実施の形態２では、複数の中継計算機を用いて各サーバ拠点のデータを受信する場合について説明する。実施の形態２では、複数の中継計算機のうちいずれかを、クライアント計算機へデータを送信するための計算機として使用し、中継計算機の負荷に応じて、主として使用する中継計算機を切り替える。
【００５０】
図７は、分散配置システム８０１の構成を示す図である。図７を参照して、分散配置システム８０１は、複数のサーバ拠点（第１サーバ拠点１０１および第２サーバ拠点１０２）と、クライアント拠点９０１とがネットワーク６００によって接続される。実施の形態１と比較すると、実施の形態２のクライアント拠点９０１は、複数の中継計算機（第１中継計算機２０１および第２中継計算機２０２）を含んでいる（中継計算機群２１０）。また、クライアント拠点９０１は、中継計算機管理部５００としての機能を発揮する計算機を含んでいる。
【００５１】
複数の中継計算機のそれぞれは、いずれか１つの中継計算機を主中継計算機とし（図７の例では、第１中継計算機２０１を主中継計算機としている）、その他の中継計算機を副中継計算機（図７の例では、第２中継計算機２０２を副中継計算機としている）として、主中継計算機が、各サーバ拠点からのデータの受信と、クライアント拠点９０１のクライアント計算機３１Ａへのデータの送信とを行う。中継計算機管理部５００は、中継計算機のうち、いずれの中継計算機が主中継計算機であるかを管理する中継計算機情報５１を記憶している。各サーバ拠点から送信されるデータは、中継計算機情報５１に示される中継計算機において受信される。
【００５２】
実施の形態２では、主中継計算機は、各サーバ拠点から受信したデータを、クライアント計算機３１Ａと副中継計算機とに対して送信する。副中継計算機は、主中継計算機から各サーバ拠点のデータを受信して記憶する。図７の例では、第１中継計算機２０１が主中継計算機として機能する。第１中継計算機２０１は、第１サーバ拠点１０１において更新されたデータを第１サーバ拠点１０１から受信して第１サーバ拠点のデータベース２１Ａにおいて記憶し、第２サーバ拠点１０２において更新されたデータを第２サーバ拠点１０２から受信して第２サーバ拠点のデータベース２１Ｂにおいて記憶する。また、第１中継計算機２０１は、各サーバ拠点から受信したデータを、副中継計算機である第２中継計算機２０２へ送信する。第２中継計算機２０２は、主中継計算機である第１中継計算機２０１を経由して各サーバ拠点から送信されたデータを受信し、受信したデータを記憶する（第１サーバ拠点のデータベース２２Ａおよび第２サーバ拠点のデータベース２２Ｂ）。
【００５３】
主中継計算機としての第１中継計算機２０１は、接続先管理部４００の接続先サーバ情報４１を参照して、サーバ拠点（第１サーバ拠点１０１および第２サーバ拠点１０２）から受信したデータが、接続先サーバ情報４１に示される、クライアント拠点９０１が接続先とするサーバ拠点から送信されたデータである場合は、受信データをクライアント計算機群３０１のクライアント計算機３１Ａに送信する。第１中継計算機２０１は、サーバ拠点から受信したデータが、接続先サーバ情報４１に示されるサーバ拠点とは異なるサーバ拠点からのデータである場合、受信データをクライアント計算機３１Ａへ送信せず記憶する。
【００５４】
また、中継計算機管理部５００は、各中継計算機（第１中継計算機２０１および第２中継計算機２０２）のＣＰＵの負荷率を示す負荷情報５２を記憶しており、各中継計算機の負荷に応じて、主中継計算機を切り替える。
【００５５】
なお、中継計算機管理部５００の計算機としてのハードウェア構成は、上述した図２の中継計算機２００と同様のハードウェア構成により実現されるため、その説明を繰り返さない。
【００５６】
＜データ＞
図８は、クライアント拠点９０１の中継計算機管理部５００に記憶されるデータを示す図である。中継計算機管理部５００は、記憶部５０１において、中継計算機情報５１および負荷情報５２を記憶している。中継計算機情報５１は、クライアント拠点９０１における主中継計算機を識別するための情報を示す。負荷情報５２は、各中継計算機のＣＰＵ負荷率を測定した測定結果を示す。
【００５７】
＜動作＞
ここで、図９を参照して、クライアント拠点９０１において、主中継計算機を切り替えるための動作について具体的に説明する。図９は、中継計算機管理部５００が中継計算機の負荷に応じて主中継計算機を切り替える動作を示すフローチャートである。
【００５８】
ステップＳ９０３において、中継計算機管理部５００は、中継計算機管理部５００において管理されている時刻情報を読み出して、読み出した時刻を初期の時刻として保持する。
【００５９】
ステップＳ９０５において、中継計算機管理部５００は、時刻情報を読み出した後、周期Ｔ１（秒）で各中継計算機のＣＰＵ負荷率を計測し、計測時点ごとに計測結果をメモリに保持する。
【００６０】
ステップＳ９０７において、中継計算機管理部５００は、初期の時刻から時間Ｔ２（秒）（Ｔ２＞Ｔ１）が経過したか否かを判定する。中継計算機管理部５００は、各中継計算機のＣＰＵ負荷率の計測を開始してから時間Ｔ２（秒）が経過すると（ステップＳ９０７においてＹＥＳ）、ステップＳ９０９の処理を行う。
【００６１】
ステップＳ９０９において、中継計算機管理部５００は、各中継計算機について、周期Ｔ１（秒）で計測されたＣＰＵ負荷率の平均値を算出し、算出結果を保持する。
【００６２】
ステップＳ９１１において、中継計算機管理部５００は、ステップＳ９０９の算出結果に基づいて、ＣＰＵ負荷率の平均値が最も低い中継計算機を特定する。
【００６３】
ステップＳ９１３において、中継計算機管理部５００は、ステップＳ９１１において特定された中継計算機が、中継計算機情報５１に示される中継計算機と異なる場合、特定された中継計算機を新たな主中継計算機とするよう中継計算機情報５１を更新し、新たな主中継計算機に対し、クライアント計算機群３０１のクライアント計算機３１Ａへのデータのリモートコピーを指示する。
【００６４】
図１０は、中継計算機管理部５００が各中継計算機のＣＰＵ負荷率を計測する処理を示す図である。図１０に示すように、中継計算機管理部５００は、第１中継計算機２０１と第２中継計算機２０２とに対し、ＣＰＵ負荷率を中継計算機管理部５００に送信させる。これにより、中継計算機管理部５００は、各中継計算機のＣＰＵ負荷率をそれぞれ周期Ｔ１（秒）で計測する。中継計算機管理部５００は、各中継計算機のＣＰＵ負荷率の計測を開始してから時間Ｔ２（秒）が経過すると、各中継計算機のＣＰＵ負荷率の平均値を算出する。例えば、図１０の例では、ＣＰＵ負荷率の計測回数が各中継計算機についてそれぞれｎ回とすると、第１中継計算機２０１のＣＰＵ負荷率の平均値は、第１中継計算機２０１のＣＰＵ負荷率の平均値＝（Ａ１＋Ａ２＋・・・＋Ａｎ）／ｎ  （％）となる。同様に、第２中継計算機２０２のＣＰＵ負荷率の平均値＝（Ｂ１＋Ｂ２＋・・・＋Ｂｎ）／ｎ  （％）となる。
【００６５】
以上の処理を行うことにより、実施の形態２の分散配置システムによると、平均ＣＰＵ負荷率の最も低い中継計算機にサーバ拠点からクライアント計算機へのデータの送信を中継させることができるため、システムの健全性を保つことができる。
【００６６】
＜実施の形態３＞
次に、実施の形態３の分散配置システムについて説明する。実施の形態３では、サーバ拠点が更新するデータと通番値とを対応させてサーバ拠点において記憶している。サーバ拠点は、データの更新に応じて通番値を更新する。
【００６７】
図１１は、サーバ拠点におけるデータ更新の前後において主中継計算機が中継計算機管理部５００によって切り替えられる例を示す図である。なお、各計算機のハードウェア構成は、上述の実施の形態１および実施の形態２の中継計算機と同様であるため、ハードウェア構成の説明を繰り返さない。図１１を参照して、クライアント拠点９０２が接続先とするサーバ拠点は、第１サーバ拠点１０１であるとする。分散配置システム８０２において、第１サーバ拠点１０１は、記憶部１１Ｂに記憶される更新前データ１１１Ａと通番値とを第１中継計算機２０１に送信している。
【００６８】
更新前データ１１１Ａが第１サーバ拠点１０１から第１中継計算機２０１へ送信された後、クライアント拠点９０２において、主中継計算機が第１中継計算機２０１から第２中継計算機２０２へと切り替わったとする。その後、第１サーバ拠点１０１において、更新前データ１１１Ａが更新後データ１１１Ｂに更新されると、更新後データ１１１Ｂと通番値とが第１サーバ拠点１０１から第２中継計算機２０２へ送信される。
【００６９】
第１中継計算機２０１は、主中継計算機として動作している状態で更新前データ１１１Ａを受信すると、クライアント計算機群３０１のクライアント計算機３１Ａへ更新前データ１１１Ａと通番値とを送信する。また、第２中継計算機２０２は、主中継計算機として動作している状態で更新後データ１１１Ｂを受信すると、クライアント計算機群３０１のクライアント計算機３１Ａへ更新後データ１１１Ｂと通番値とを送信する。そのため、例えば第１中継計算機２０１からクライアント計算機３１Ａへの更新前データ１１１Ａの送信が遅延し、クライアント計算機３１Ａが更新後データ１１１Ｂを受信した後に更新前データ１１１Ａを受信した場合においても、クライアント計算機３１Ａは、通番値を参照することで、サーバ拠点における最新の更新データをサーバ拠点データベース３１Ｂにおいて保持することができる。
【００７０】
＜データ＞
図１２は、サーバ拠点におけるデータファイル１１１を示す図である。図１２を参照して、第１サーバ拠点１０１は、記憶部１１Ｂにおいてデータファイル１１１を記憶している。データファイル１１１の各レコードは、第１サーバ拠点１０１が保持するデータ本体と、データ本体と対応付けた通番値を保持する通番部とを含む。第１サーバ拠点１０１は、レコードに示されるデータ本体を更新する都度、通番値をカウントアップさせる等により更新する。
【００７１】
＜動作＞
図１３は、クライアント計算機３１Ａが、中継計算機を経由して受信したサーバ拠点のデータの保存を、通番値に応じて制御する処理を示すフローチャートである。
【００７２】
ステップＳ１３０１において、クライアント計算機３１Ａは、中継計算機から送信されるデータを受信する。
【００７３】
ステップＳ１３０３において、クライアント計算機３１Ａは、受信したデータをサーバ拠点データベース３１Ｂに書き込むためのレコードに保持されている通番値をサーバ拠点データベース３１Ｂから読み出す。
【００７４】
ステップＳ１３０５において、クライアント計算機３１Ａは、受信したデータの通番値が、ステップＳ１３０３で読み出した通番値より大きいか否かを判定する。クライアント計算機３１Ａは、受信したデータの通番値の方が、ステップＳ１３０３で読み出した通番値より大きいと判定される場合（ステップＳ１３０５においてＹＥＳ）、ステップＳ１３０７の処理を行う。受信したデータの通番値が、ステップＳ１３０３で読み出した通番値より大きくないと判定すると（ステップＳ１３０５においてＮＯ）、クライアント計算機３１Ａは、ステップＳ１３０９の処理を行う。
【００７５】
ステップＳ１３０７において、クライアント計算機３１Ａは、受信したデータをサーバ拠点データベース３１Ｂに保持する。
【００７６】
ステップＳ１３０９において、クライアント計算機３１Ａは、受信したデータを破棄する。
【００７７】
このように、実施の形態３においては、サーバ拠点におけるデータの更新時に通番値を更新することによって、中継計算機を切り替えた場合においても最新の更新データがクライアント計算機に反映される。
【００７８】
＜サーバ拠点の切替時の処理＞
上記の動作の説明では、クライアント計算機が、通番値に応じて中継計算機から送信されるデータを保持または破棄することで、最新の更新データをクライアント計算機で保持することを説明した。実施の形態３においても、例えばあるサーバ拠点が被災等により機能しなくなった場合、クライアント拠点９０２は、接続するサーバ拠点を切り替えて動作を継続する。この場合、クライアント計算機群３０１のクライアント計算機３１Ａは、通番値にかかわらず、切替後のサーバ拠点のデータのリモートコピーを行い、リモートコピーが完了すると、図１３に示した処理を再開する。
【００７９】
図１４は、サーバ拠点を切り替える場合のクライアント拠点９００の各計算機の動作を示す図である。なお、図１４の説明では、主中継計算機が第１中継計算機２０１であるとして説明する。
【００８０】
ステップＳ４１において、接続先管理部４００は、例えば監視者の入力操作を受け付けることにより、クライアント拠点９００が接続先とするサーバ拠点を切り替えるための操作を受け付ける。
【００８１】
ステップＳ４３において、接続先管理部４００は、接続先サーバ情報４１を更新し、切替後のサーバ拠点を識別するための情報を接続先サーバ情報４１として記憶する。
【００８２】
ステップＳ４５において、接続先管理部４００は、切替後のサーバ拠点のデータをクライアント計算機群３０１において一致させるための指示を、第１中継計算機２０１と第２中継計算機２０２とクライアント計算機群３０１のクライアント計算機３１Ａとに対し行う。
【００８３】
ステップＳ２１において、第１中継計算機２０１は、クライアント計算機群３０１の複数のクライアント計算機３１Ａのデータを、切替後のサーバ拠点のデータと一致させるための指示を接続先管理部４００から受け付ける。第１中継計算機２０１は、接続先サーバ情報４１に基づいて、切替後のサーバ拠点を特定し、切り替え後のサーバ拠点について記憶部２３１において記憶しているデータを、クライアント計算機群３０１のクライアント計算機３１Ａに送信する。
【００８４】
ステップＳ３２において、クライアント計算機３１Ａは、切替後のサーバ拠点のデータと、複数のクライアント計算機３１Ａのデータとを一致させるための指示を接続先管理部４００から受け付ける。クライアント計算機３１Ａは、サーバ拠点データベース３１Ｂに保持される各レコードの通番値にかかわらず、切替後のサーバ拠点のデータのリモートコピーを中継計算機２００から受け付ける。
【００８５】
ステップＳ３５において、クライアント計算機３１Ａは、切替後のサーバ拠点のデータのリモートコピーが完了すると、上記の図１３で説明したように、中継計算機から送信されるデータを通番値に基づいて保存または破棄する処理を行う。
【００８６】
＜変形例＞
上記説明では、サーバ拠点は、第１サーバ拠点１０１および第２サーバ拠点１０２の２つの場合を説明したが、３つ以上のサーバ拠点からなる分散配置システムであってもよい。また、実施の形態２と実施の形態３において、中継計算機の数は２つであるとして説明したが、３つ以上であってもよい。
【００８７】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。この発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００８８】
１  ＣＰＵ、２  ＲＯＭ、３  ＲＡＭ、４  通信インタフェース、５  Ｉ／Ｏ、６  ＨＤＤ６、１１Ａ  サーバ計算機、１１Ｂ  記憶部、１２Ａ  サーバ計算機、１２Ｂ  記憶部、２１Ａ  第１サーバ拠点のデータベース、２１Ｂ  第２サーバ拠点のデータベース、２２Ａ  第１サーバ拠点のデータベース、２２Ｂ  第２サーバ拠点のデータベース、３１Ａ  クライアント計算機、３１Ｂ  サーバ拠点データベース、４１  接続先サーバ情報、５１  中継計算機情報、５２  負荷情報、１０１  第１サーバ拠点、１０２  第２サーバ拠点、１１１  データファイル、１１１Ａ  更新前データ、１１１Ｂ  更新後データ、２００  中継計算機、２０１  第１中継計算機、２０２  第２中継計算機、２１０  中継計算機群、２１１  受信部、２２１  送信部、２３１  記憶部、２４１  制御部、２５１  更新元判定部、２６１  送信制御部、２７１  サーバ切替処理部、３０１  クライアント計算機群、４００  接続先管理部、５００  中継計算機管理部、６００  ネットワーク、８００  分散配置システム、８０１  分散配置システム、８０２  分散配置システム、９００  クライアント拠点、９０１  クライアント拠点、９０２  クライアント拠点。
【図１】
2014160374.tif 000003
【図２】
2014160374.tif 000004
【図３】
2014160374.tif 000005
【図４】
2014160374.tif 000006
【図５】
2014160374.tif 000007
【図６】
2014160374.tif 000008
【図７】
2014160374.tif 000009
【図８】
2014160374.tif 000010
【図９】
2014160374.tif 000011
【図１０】
2014160374.tif 000012
【図１１】
2014160374.tif 000013
【図１２】
2014160374.tif 000014
【図１３】
2014160374.tif 000015
【図１４】
2014160374.tif 000016