(57)【要約】【課題】一側面では、バックアップデータの反映の遅延を抑制することを目的とする。【解決手段】一態様では、コンピュータに、データベースのデータについてのバックアップデータの生成後、かつ、前記バックアップデータの生成後に生成される新たなバックアップデータの生成前の１以上の更新における更新データを第１のバックアップ装置から第２のバックアップ装置に送信させ、前記新たなバックアップデータが生成された場合、前記新たなバックアップデータのデータ量と、前記更新データのデータ量と、前記第１のバックアップ装置と前記第２のバックアップ装置との間の通信経路の通信状態と、に基づいて、前記新たなバックアップデータを前記第１のバックアップ装置から前記第２のバックアップ装置に送信させるか否かを決定する、処理を実行させる。【選択図】  図２
2018181282.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
データベースのデータについてのバックアップデータの生成後、かつ、前記バックアップデータの生成後に生成される新たなバックアップデータの生成前の１以上の更新における、前記データベースの更新前と更新後とのデータベースの差分を示す更新データを第１のバックアップ装置に送信するとともに、該更新データを第１のバックアップ装置から第２のバックアップ装置に送信させ、
前記新たなバックアップデータが生成された場合、前記新たなバックアップデータを前記第１のバックアップ装置に送信し、
前記新たなバックアップデータが生成された場合、前記新たなバックアップデータのデータ量と、前記更新データのデータ量と、前記第１のバックアップ装置と前記第２のバックアップ装置との間の通信経路の通信状態と、に基づいて、前記新たなバックアップデータを前記第１のバックアップ装置から前記第２のバックアップ装置に送信させるか否かを決定する、
処理を実行させることを特徴とする送信制御プログラム。
【請求項２】
前記コンピュータに、
前記新たなバックアップデータを前記第１のバックアップ装置から前記第２のバックアップ装置に送信させないと決定した場合、前記新たなバックアップデータの前記第２のバックアップ装置への送信を行なわせないとともに、前記新たなバックアップデータの生成依頼を前記第２のバックアップ装置に送信させる、
処理を実行させることを特徴とする請求項１記載の送信制御プログラム。
【請求項３】
前記生成依頼を受信した前記第２のバックアップ装置は、前記第２のバックアップ装置に送信された前記更新データのバックアップデータに基づいて、前記新たなバックアップデータを生成する、
ことを特徴とする請求項２記載の送信制御プログラム。
【請求項４】
前記コンピュータに、
前記新たなバックアップデータのデータ量と、前記更新データのデータ量と、前記第１のバックアップ装置と前記第２のバックアップ装置との間の通信経路の通信速度と、前記第２のバックアップ装置の性能情報と、に基づいて、前記新たなバックアップデータを前記第１のバックアップ装置から前記第２のバックアップ装置に送信させるか否かを決定する、
処理を実行させることを特徴とする請求項１〜３のいずれか１項に記載の送信制御プログラム。
【請求項５】
前記性能情報は、前記第２のバックアップ装置の、記憶装置に対する書き込み速度を含む、
ことを特徴とする請求項４記載の送信制御プログラム。
【請求項６】
前記コンピュータと前記第１のバックアップ装置が第１のデータセンタに配置され、
前記第２のバックアップ装置が、前記第１のデータセンタと異なる第２のデータセンタに配置される、
ことを特徴とする請求項１〜５のいずれか１項に記載の送信制御プログラム。
【請求項７】
コンピュータが、
データベースのデータについてのバックアップデータの生成後、かつ、前記バックアップデータの生成後に生成される新たなバックアップデータの生成前の１以上の更新における、前記データベースの更新前と更新後とのデータベースの差分を示す更新データを第１のバックアップ装置に送信するとともに、該更新データを第１のバックアップ装置から第２のバックアップ装置に送信させ、
前記新たなバックアップデータが生成された場合、前記新たなバックアップデータを前記第１のバックアップ装置に送信し、
前記新たなバックアップデータが生成された場合、前記新たなバックアップデータのデータ量と、前記更新データのデータ量と、前記第１のバックアップ装置と前記第２のバックアップ装置との間の通信経路の通信状態と、に基づいて、前記新たなバックアップデータを前記第１のバックアップ装置から前記第２のバックアップ装置に送信させるか否かを決定する、
処理を実行することを特徴とする送信制御方法。
【請求項８】
データベースのデータについてのバックアップデータの生成後、かつ、前記バックアップデータの生成後に生成される新たなバックアップデータの生成前の１以上の更新における、前記データベースの更新前と更新後とのデータベースの差分を示す更新データを第１のバックアップ装置に送信するとともに、該更新データを第１のバックアップ装置から第２のバックアップ装置に送信させる第１の処理部と、
前記新たなバックアップデータが生成された場合、前記新たなバックアップデータを前記第１のバックアップ装置に送信する第２の処理部と、
前記新たなバックアップデータが生成された場合、前記新たなバックアップデータのデータ量と、前記更新データのデータ量と、前記第１のバックアップ装置と前記第２のバックアップ装置との間の通信経路の通信状態と、に基づいて、前記新たなバックアップデータを前記第１のバックアップ装置から前記第２のバックアップ装置に送信させるか否かを決定する決定部と、
を備えることを特徴とする送信制御装置。
【請求項９】
データベースのデータについてのバックアップに用いられるバックアップ装置に、
前記データベースのデータについてのバックアップデータの生成後、かつ、前記バックアップデータの生成後に生成される新たなバックアップデータの生成前の１以上の更新であって、前記データベースの更新前と更新後とのデータベースの差分を示す更新データを受信すると、受信した前記更新データを他のバックアップ装置に送信し、
前記新たなバックアップデータが生成された場合、前記新たなバックアップデータのデータ量と、前記更新データのデータ量と、前記バックアップ装置と前記他のバックアップ装置との間の通信経路の通信状態と、に基づいて、前記新たなバックアップデータを前記他のバックアップ装置に送信するか否かを決定する、
処理を実行させることを特徴とする送信制御プログラム。
【請求項１０】
データベースのデータについてのバックアップに用いられるバックアップ装置が、
前記データベースのデータについてのバックアップデータの生成後、かつ、前記バックアップデータの生成後に生成される新たなバックアップデータの生成前の１以上の更新であって、前記データベースの更新前と更新後とのデータベースの差分を示す更新データを受信すると、受信した前記更新データを他のバックアップ装置に送信し、
前記新たなバックアップデータが生成された場合、前記新たなバックアップデータのデータ量と、前記更新データのデータ量と、前記バックアップ装置と前記他のバックアップ装置との間の通信経路の通信状態と、に基づいて、前記新たなバックアップデータを前記他のバックアップ装置に送信するか否かを決定する、
処理を実行することを特徴とする送信制御方法。
【請求項１１】
データベースのデータについてのバックアップに用いられるバックアップ装置であって、
前記データベースのデータについてのバックアップデータの生成後、かつ、前記バックアップデータの生成後に生成される新たなバックアップデータの生成前の１以上の更新であって、前記データベースの更新前と更新後とのデータベースの差分を示す更新データを受信すると、受信した前記更新データを他のバックアップ装置に送信する制御部と、
前記新たなバックアップデータが生成された場合、前記新たなバックアップデータのデータ量と、前記更新データのデータ量と、前記バックアップ装置と前記他のバックアップ装置との間の通信経路の通信状態と、に基づいて、前記新たなバックアップデータを前記他のバックアップ装置に送信するか否かを決定する決定部と、
を備えることを特徴とするバックアップ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
送信制御プログラム、送信制御方法、送信制御装置およびバックアップ装置に関する。
【背景技術】
【０００２】
データベースシステムにおいては、データの冗長化によって、データベースシステムの可用性を高めることが行なわれている。
【０００３】
例えば、ＤＢ（Database）サーバが定期的に、データベースのデータについてのバックアップデータを作成し、別の装置にデータを保存しておく。これにより、例えば、ＤＢサーバに障害が発生した場合でも、別の装置に保存しておいたデータを用いてデータベースの復旧を行なうことができるので、データベースのデータが完全に消失することを免れることができる。
【０００４】
また、データを保存する別の装置として、地理的にＤＢサーバと離れた場所にさらに装置を設置しておくことで、災害のような要因による障害が発生した場合にも、データベースのデータが完全に消失することを免れることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−８４７２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記で述べた技術の一例として、１つのデータセンタにＤＢサーバと、バックアップデータを保存するコンピュータ、即ちバックアップサーバとを設けておき、さらに、別のデータセンタにもバックアップデータを保存するコンピュータ、即ちバックアップサーバを設けるシステム構成が考えられる。この場合、２つのデータセンタを繋ぐ通信経路を用いてバックアップデータの送信が行なわれる。
【０００７】
しかし、データセンタにおいては、多数のＤＢサーバおよびバックアップサーバが設けられることが多いため、送信されるバックアップデータの量も多くなり、データセンタを繋ぐ通信経路に輻輳が発生してしまうことが考えられる。通信経路に輻輳が発生すると、バックアップデータの送信、すなわちバックアップデータの反映に遅延が発生する。バックアップデータの反映が遅延すると、ＤＢサーバの復旧を行なう際の復旧時間の増加や、データの更新に対するバックアップデータの追従性が損なわれてしまう。
【０００８】
１つの側面によれば、バックアップデータの反映の遅延を抑制することを目的とする。
【課題を解決するための手段】
【０００９】
１つの態様では、コンピュータに、データベースのデータについてのバックアップデータの生成後、かつ、前記バックアップデータの生成後に生成される新たなバックアップデータの生成前の１以上の更新における、前記データベースの更新前と更新後とのデータベースの差分を示す更新データを第１のバックアップ装置に送信するとともに、該更新データを第１のバックアップ装置から第２のバックアップ装置に送信させ、前記新たなバックアップデータが生成された場合、前記新たなバックアップデータを前記第１のバックアップ装置に送信し、前記新たなバックアップデータが生成された場合、前記新たなバックアップデータのデータ量と、前記更新データのデータ量と、第１のバックアップ装置と第２のバックアップ装置との間の通信経路の通信状態と、に基づいて、前記新たなバックアップデータを前記第１のバックアップ装置から前記第２のバックアップ装置に送信させるか否かを決定する、処理を実行させる。
【発明の効果】
【００１０】
１つの側面によれば、バックアップデータの反映の遅延を抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施例のシステム構成の一例を示す。
【図２】バックアップサーバ１０の機能的構成を示す機能ブロック図を示す。
【図３】ＤＢサーバ２０の機能的構成を示す機能ブロック図を示す。
【図４】管理装置４０の機能的構成を示す機能ブロック図を示す。
【図５】バックアップサーバ５０の機能的構成を示す機能ブロック図を示す。
【図６】増分バックアップ実行時の処理の流れを示すシーケンス図を示す。
【図７】フルバックアップ実行時の、ＤＢサーバ２０における処理の流れを示すフローチャートを示す。
【図８】管理装置４０の通信速度情報記憶部４２１に記憶される情報の一例を示す。
【図９】管理装置４０の書き込み速度情報記憶部４２２に記憶される情報の一例を示す。
【図１０】フルバックアップ実行時の、バックアップサーバ１０における処理の流れを示すフローチャートを示す。
【図１１】本実施例におけるＤＢサーバ２０のハードウェア構成の一例を示す。
【発明を実施するための形態】
【００１２】
本発明を実施する実施例について、図面とともに説明をする。
【００１３】
〔システムの概要〕
図１は、本実施例のシステム構成の一例を示す図面である。本実施例の情報処理システムＳは、大別して現用系リージョン１と予備系リージョン２とに分かれている。現用系リージョン１と予備系リージョン２のそれぞれは、例えば、複数台の情報処理装置を備えるデータセンタである。本実施例において現用系リージョン１と予備系リージョン２のそれぞれは、地理的に離れた地点に存在しているものとする。なお、１つの現用系リージョンに対して、複数の予備系リージョンが存在していても良い。
【００１４】
現用系リージョン１は、バックアップサーバ１０、ＤＢサーバ２０、ＡＰ（Application）サーバ３０、管理装置４０を含む。現用系リージョン１においては、例えば、ＡＰサーバ３０からの要求により、ＤＢサーバ２０により管理されるデータベースの内容が更新される。ＤＢサーバ２０は、要求に応じてデータベースの内容を更新するとともに、更新の内容を示す情報を定期的にバックアップサーバ１０に送信する。バックアップサーバ１０は、ＤＢサーバ２０から受信した情報を、例えばバックアップサーバ１０が備える記憶部に記憶する。ＤＢサーバ２０からバックアップサーバ１０への情報の送信は、バックアップサーバ１０を用いたデータベースのバックアップを実行しているとも言える。以降の説明では、上述したデータベースの更新の内容を示す情報を「バックアップ情報」と記載することがある。管理装置４０は、本実施例に記載する処理において使用される種々の情報の管理を行なう情報処理装置であり、詳細については後述する。
【００１５】
本実施例においては、ＤＢサーバ２０とバックアップサーバ１０との間で、フルバックアップ（Full Backup、完全バックアップと呼ばれることもある）と増分バックアップ（Incremental Backup）とを併用した態様が採られている。
【００１６】
フルバックアップとは、データベースの全体データをバックアップ処理の度に生成する方式である。フルバックアップによるバックアップデータ（以降、「フルバックアップ情報」と記載する）は、データベースのディスクイメージである場合もある。フルバックアップの場合、フルバックアップ情報を用いたデータベースの復旧処理が他の方式と比較して高速に実行可能であることが長所として挙げられる。また、ある状態におけるデータベースの状態を１つのフルバックアップ情報で保存することができる。一方で、データベースの全体をバックアップするために、フルバックアップ情報を生成するための処理時間が長期化しやすく、１世代あたりのフルバックアップ情報のサイズは大きくなりやすい。そのため、高頻度なフルバックアップは困難である、または多大な情報処理資源を必要とする。
【００１７】
増分バックアップとは、ある時点のデータベースの状態（例えば上述のフルバックアップによるバックアップデータ）を初期状態として、更新が行なわれた（変更のある）データのみについてバックアップデータ（以降、「増分バックアップ情報」と記載する）を生成する方式である。増分バックアップにおいては、変更のあるデータのみがバックアップの対象となるため、増分バックアップ情報を生成するための処理時間はフルバックアップよりも短くなることが長所である。また、１つ１つの増分バックアップ情報のサイズもフルバックアップ情報より小さくて済む。一方で、初期状態からのデータの変更が多くなる、あるいは、同じデータに対するデータ更新なども発生していくと増分バックアップ情報の数が多くなるため、全体として蓄積される増分バックアップ情報のサイズは増加する。また、データベースを復旧する際は、蓄積された全ての増分バックアップ情報を用いて復旧が行なわれることから、データベースの復旧処理はフルバックアップより長期化する。
【００１８】
本実施例においては、定期的にフルバックアップが実行される一方、フルバックアップの短所を補うために、フルバックアップよりも短い時間間隔で増分バックアップが実行される。このような態様とすることで、フルバックアップが高頻度で行なわれなくとも、増分バックアップによってデータベースの更新に追従することができる。また、新たなフルバックアップ情報が生成された際には、新たなフルバックアップ情報に変更が反映された増分バックアップ情報は消去することで、増分バックアップ情報の蓄積によるデータ容量の増加は抑制することができる。
【００１９】
ここまで、ＤＢサーバ２０とバックアップサーバ１０との間でのバックアップ処理について説明したが、本実施例では、ＤＢサーバ２０により管理されるデータベースの内容は、予備系リージョン２のバックアップサーバ５０にもバックアップが行なわれる。具体的には、バックアップサーバ１０は、ＤＢサーバ２０から受信した増分バックアップ情報を記憶するとともに、増分バックアップ情報をバックアップサーバ５０に送信する。ここでのバックアップ情報の送信は、現用系リージョン１と予備系リージョン２との間のデータ通信となるので、リージョン間転送と呼称されることもある。また、バックアップサーバ１０は、ＤＢサーバ２０から受信したフルバックアップ情報についても、バックアップサーバ５０に送信することがある。これにより、例えば、災害等の要因で現用系リージョン１全体が稼動できなくなった場合においても、バックアップサーバ５０にバックアップ情報が保持される。したがって、例えば、予備系リージョン２においてＤＢサーバ（図示せず）を立ち上げ、バックアップ情報を用いてデータベースの復旧を行なうことで、データベースの稼動を再開することができる。なお、データベースの冗長化においては、常時稼動している複数のＤＢサーバが同期をとる態様（ホット・スタンバイと呼称されることがある）もある。本実施例では、バックアップ情報をバックアップサーバに記憶し、現用のＤＢサーバのみが稼動する（コールド・スタンバイと呼称されることがある）態様としており、情報処理装置のリソースや費用の面で、ホット・スタンバイよりも低コストでシステムを構築できるとされている。
【００２０】
なお、図１に示すバックアップサーバ１０、５０、ＤＢサーバ２０、ＡＰサーバ３０、管理装置４０のそれぞれは、例えば、サーバ装置等のハードウェアにより実現可能である。また、ハードウェアとしての図１に示す区分はあくまで一例であり、バックアップサーバ１０、ＤＢサーバ２０、ＡＰサーバ３０、管理装置４０については、４台以下の情報処理装置により実現されてもよいし、５台以上の情報処理装置で実現されても良い。ただし、バックアップサーバ５０については、属するリージョンが異なるため、バックアップサーバ１０、ＤＢサーバ２０、ＡＰサーバ３０、管理装置４０とは別のハードウェアで実現されることとなる。
【００２１】
〔バックアップ情報の送信における問題〕
前述の通り、現用系リージョン１と予備系リージョン２との間ではバックアップ情報の送信が行なわれるが、現用系リージョン１のデータセンタでは、図示した以外の多数のＤＢサーバおよびバックアップサーバが稼動していることが考えられる。この場合、稼動しているＤＢサーバおよびバックアップサーバの分だけ、予備系リージョン２へのバックアップ情報の送信が必要となる。送信データが多くなることで、通信経路に輻輳が発生する可能性が高まり、上述したようなバックアップデータの反映における問題が発生しうる。特に、フルバックアップ情報はデータのサイズが大きいため、通信経路の輻輳に対する影響が大きいと考えられる。
【００２２】
〔バックアップサーバ１０の機能的構成〕
図２は、バックアップサーバ１０の機能的構成を示す機能ブロック図である。バックアップサーバ１０は、例えば図２に示すように、通信部１０１、処理部１１０、記憶部１２０を備える。
【００２３】
通信部１０１は、有線または無線で、バックアップサーバ５０、ＤＢサーバ２０、管理装置４０を含む他の装置との通信を実行することが可能である。通信部１０１は、例えば、バックアップサーバ１０が備えるネットワークアダプタやＮＩＣ（Network Interface Controller）などの通信デバイスである。
【００２４】
処理部１１０は、格納制御部１１１、コピー制御部１１２を含む。
【００２５】
格納制御部１１１は、後述する増分バックアップおよびフルバックアップが実行される際に、ＤＢサーバ２０から受信したバックアップ情報を記憶部１２０に記憶する際の制御を行なう制御部である。
【００２６】
コピー制御部１１２は、後述する増分バックアップおよびフルバックアップが実行される際に、バックアップサーバ５０に対する処理の依頼（指示）等を実行する。
【００２７】
記憶部１２０は、フルバックアップ情報記憶部１２１、増分バックアップ情報記憶部１２２を含む。フルバックアップ情報記憶部１２１は、ＤＢサーバ２０から受信したフルバックアップ情報を記憶する記憶部である。また、増分バックアップ情報記憶部１２２は、ＤＢサーバ２０から受信した増分バックアップ情報を記憶する記憶部である。
【００２８】
〔ＤＢサーバ２０の機能的構成〕
図３は、ＤＢサーバ２０の機能的構成を示す機能ブロック図である。ＤＢサーバ２０は、通信部２０１、処理部２１０、記憶部２２０を備える。
【００２９】
通信部２０１は、有線または無線で、バックアップサーバ１０、ＡＰサーバ３０、管理装置４０を含む他の装置との通信を実行することが可能である。通信部２０１は、例えば、ＤＢサーバ２０が備えるネットワークアダプタやＮＩＣなどの通信デバイスである。
【００３０】
処理部２１０は、ＤＢプロセス２１１、フルバックアップ処理部２１２、増分バックアップ処理部２１３、予測時間算出部２１４、判定部２１５を含む。
【００３１】
ＤＢプロセス２１１は、データベースにおけるデータの更新といった、いわゆるデータベースの制御を行なう。
【００３２】
フルバックアップ処理部２１２は、データベースのデータの内容について、例えば所定の周期でフルバックアップ情報を生成する。
【００３３】
増分バックアップ処理部２１３は、データベースのデータの内容について、例えば所定の周期で増分バックアップ情報を生成する。なお、増分バックアップ情報の生成周期は、フルバックアップ情報の生成周期よりも短く設定される。
【００３４】
予測時間算出部２１４は、後述するフルバックアップが実行される際の判定処理において利用される予測時間の算出を行なう。判定処理については、詳細を後述する。
【００３５】
判定部２１５は、後述するフルバックアップが実行される際の判定処理を実行する。
【００３６】
記憶部２２０は、データベースとしての記憶領域であるＤＢ領域２２１を有する。なお、記憶部２２０およびＤＢ領域２２１は、いわゆるデータベースとしての記憶領域である。ＤＢ領域２２１に記憶されるデータは、フルバックアップおよび増分バックアップによるバックアップされる対象のデータとなる。
【００３７】
〔管理装置４０の機能的構成〕
図４は、管理装置４０の機能的構成を示す機能ブロック図である。管理装置４０は、通信部４０１、処理部４１０、記憶部４２０を備える。
【００３８】
通信部４０１は、有線または無線で、バックアップサーバ１０、ＤＢサーバ２０を含む他の装置との通信を実行することが可能である。通信部４０１は、例えば、管理装置４０が備えるネットワークアダプタやＮＩＣなどの通信デバイスである。
【００３９】
処理部４１０は、例えば、記憶部４２０に記憶される情報の送受信における制御部として動作する。
【００４０】
記憶部４２０は、通信速度情報記憶部４２１、書き込み速度情報記憶部４２２を含む。各記憶部に記憶される情報の詳細については後述する。
【００４１】
〔バックアップサーバ５０の機能的構成〕
図５は、バックアップサーバ５０の機能的構成を示す機能ブロック図である。
【００４２】
通信部５０１は、有線または無線で、バックアップサーバ１０を含む他の装置との通信を実行することが可能である。通信部５０１は、例えば、バックアップサーバ５０が備えるネットワークアダプタやＮＩＣなどの通信デバイスである。
【００４３】
処理部５１０は、格納制御部５１１、フルバックアップ処理部５１２を含む。
【００４４】
格納制御部５１１は、バックアップ情報を記憶部５２０に記憶する際の制御を行なう制御部である。
【００４５】
記憶部５２０は、フルバックアップ情報記憶部５２１、増分バックアップ情報記憶部５２２を含む。フルバックアップ情報記憶部５２１は、フルバックアップ情報を記憶する記憶部である。また、増分バックアップ情報記憶部５２２は、バックアップサーバ１０から受信した増分バックアップ情報を記憶する記憶部である。
【００４６】
〔増分バックアップ処理〕
図６は、本実施例における増分バックアップ実行時の処理の流れを示すシーケンス図である。
【００４７】
まず、ＤＢサーバ２０の増分バックアップ処理部２１３は、第１周期が到来したか否かを判定する（ステップＳ６０１）。ここで第１周期とは、データベースのデータの内容についての増分バックアップを取得する時間間隔（例えば５分間隔）として設定された周期である。これにより、ＤＢサーバ２０が管理するデータベースでは、第１周期に示される時間間隔で、データベースの増分バックアップが行なわれることとなる。ただし、第１周期の設定はあくまで実施の一態様であり、具体的な周期の設定時間は適宜変更可能であって良い。また、増分バックアップは必ずしも等間隔の周期で実行されなくても構わない。
【００４８】
第１周期が到来した（前回の増分バックアップ処理から１周期分の時間が経過した）と判定された場合、ステップＳ６０２の処理が実行される。一方、第１周期が到来していないと判定された場合、第１周期が到来するまでステップＳ６０１の処理が再実行される。
【００４９】
ステップＳ６０２では、増分バックアップ処理部２１３が、データベースについての増分バックアップ情報を生成する（ステップＳ６０２）。そして、増分バックアップ処理部２１３は、生成した増分バックアップ情報をバックアップサーバ１０に送信する（ステップＳ６０３）。バックアップサーバ１０の格納制御部１１１は、ＤＢサーバ２０から受信した増分バックアップ情報を、自装置の増分バックアップ情報記憶部１２２に記憶する（ステップＳ６０４）。
【００５０】
増分バックアップ情報の送信に加え、増分バックアップ処理部２１３は、増分バックアップ情報を、予備系リージョン２のバックアップサーバ５０にも転送することを要求する転送依頼を、バックアップサーバ１０に送信する（ステップＳ６０５）。
【００５１】
転送依頼を受信したバックアップサーバ１０のコピー制御部１１２は、ＤＢサーバ２０から受信した増分バックアップ情報を予備系リージョン２のバックアップサーバ５０に送信（転送）する（ステップＳ６０６）。また、コピー制御部１１２は、ステップＳ６０６において増分バックアップ情報を送信した場合のデータ通信速度を取得しておく。そして、コピー制御部１１２は、取得したデータ通信速度を、現用系リージョン１と予備系リージョン２との間の通信速度の情報として管理装置４０に送信する（ステップＳ６０７）。管理装置４０は、受信した通信速度の情報を通信速度情報記憶部４２１に記憶する。このとき、通信速度情報記憶部４２１に通信速度の情報が記憶されている場合は、管理装置４０は、ステップＳ６０７で送信された通信速度の情報、すなわち、最新の通信速度の情報で通信速度情報記憶部４２１の情報を更新する。
【００５２】
バックアップサーバ１０から受信したバックアップサーバ５０の格納制御部５１１は、増分バックアップ情報を、自装置の増分バックアップ情報記憶部５２２に記憶する（ステップＳ６０８）。
【００５３】
以上の処理により、増分バックアップ情報は、現用系リージョン１のバックアップサーバ１０と予備系リージョン２のバックアップサーバ５０とに保持されることとなる。次回の周期が到来した場合には、ＤＢサーバ２０がステップＳ６０２以降の処理を再度実行することとなる。なお、図６の処理の流れは実施の一態様であり、例えば、ステップＳ６０３〜ステップＳ６０６は図６とは異なる順序で実行されても良いし、例えば、増分バックアップ情報と転送依頼が同時に送信されるといった態様であっても構わない。
【００５４】
〔フルバックアップ処理〕
図７は、本実施例におけるフルバックアップ実行時の、ＤＢサーバ２０における処理の流れを示すフローチャートである。
【００５５】
まず、ＤＢサーバ２０のフルバックアップ処理部２１２は、第２周期が到来したか否かを判定する（ステップＳ７０１）。ここで第２周期とは、データベースのデータの内容についてのフルバックアップを取得する時間間隔（例えば２４時間）として設定された周期である。これにより、ＤＢサーバ２０が管理するデータベースでは、第２周期に示される時間間隔で、データベースのフルバックアップが行なわれることとなる。ただし、第２周期の設定はあくまで実施の一態様であり、具体的な周期の設定時間は適宜変更可能であって良い。また、フルバックアップは必ずしも等間隔の周期で実行されなくても構わない。
【００５６】
第２周期が到来した（前回の増分バックアップ処理から１周期分の時間が経過した）と判定された場合、ステップＳ７０２の処理が実行される。一方、第２周期が到来していないと判定された場合、第２周期が到来するまでステップＳ７０１の処理が再実行される。
【００５７】
ステップＳ７０２では、フルバックアップ処理部２１２が、データベースについてのフルバックアップ情報を生成する（ステップＳ７０２）。そして、フルバックアップ処理部２１２は、生成したフルバックアップ情報をバックアップサーバ１０に送信する（ステップＳ７０３）。
【００５８】
次に、予測時間算出部２１４は、ステップＳ７０２で生成したフルバックアップ情報をバックアップサーバ１０からバックアップサーバ５０に送信する際に要する予測時間（予測転送時間ＴＴ）を算出する（ステップＳ７０４）。
【００５９】
具体的には、予測時間算出部２１４は、ステップＳ７０２で生成したフルバックアップ情報のデータサイズを特定する。また、予測時間算出部２１４は、リージョン間でデータ通信を実行する際の通信速度を示す情報を管理装置４０から取得する。
【００６０】
図８に、管理装置４０の通信速度情報記憶部４２１に記憶される情報の一例を示す。通信速度情報記憶部４２１は、例えば図８に示すように、送信元リージョン情報４２１１、送信先リージョン情報４２１２、通信速度４２１３を関連付けて記憶する。
【００６１】
送信元リージョン情報４２１１は、リージョン間でのデータ通信を行なう際の一方のリージョンを識別する識別情報である。また、送信先リージョン情報４２１２は、リージョン間でのデータ通信を行なう際の他方のリージョンを識別する識別情報である。
【００６２】
通信速度４２１３は、送信先リージョン情報４２１２と送信元リージョン情報４２１１とに示される２つのリージョンの間でデータ通信が行なわれる際の通信速度を示す情報である。説明のため、本実施例においては、図８の「リージョン１（日本）」が現用系リージョン１、「リージョン２（日本）」が予備系リージョン２に対応するものとする。現用系リージョン１に対して複数の予備系リージョンが存在する場合は、図８のように、それぞれの予備系リージョンとの間の通信速度を示す情報が通信速度情報記憶部４２１に記憶されることとしても良い。
【００６３】
通信速度４２１３として記憶される情報は、例えば、ステップＳ６０７で説明した手法により取得および記憶がされても良い。ただし、ステップＳ６０７で説明した手法は、通信速度を取得する手法の一例であり、リージョン間の通信速度を取得可能な他の手法によって代替されても構わない。また、現用系リージョン１と予備系リージョン２との間で行なわれたデータ通信における通信速度であれば、図１において図示したバックアップサーバ１０以外の装置がデータ通信を行なった際の通信速度が利用されてもよい。
【００６４】
ステップＳ７０４の予測転送時間ＴＴは、例えば、ステップＳ７０２で生成したフルバックアップ情報のデータサイズを、通信速度４２１３に示される通信速度で除算することで算出可能である。ただし、具体的な算出方法は一態様に限定される必要はなく、フルバックアップ情報の送信に要する時間を算出可能であれば他の算出方法で代替されても良い。
【００６５】
さらに、予測時間算出部２１４は、フルバックアップ情報をバックアップサーバ５０が生成（更新）する場合に要する予測時間（予測生成時間ＴＧ）を算出する（ステップＳ７０５）。
【００６６】
具体的には、予測時間算出部２１４は、予測生成時間ＴＧを算出する対象のフルバックアップ情報（以降、「今回フルバックアップ情報」と記載する）の生成前であって、予測生成時間ＴＧを算出する対象のフルバックアップ情報よりも１周期前のフルバックアップ情報（以降、「前回フルバックアップ情報」と記載する）の生成後に生成された増分バックアップ情報を特定する。言い換えれば、予測時間算出部２１４は、前回フルバックアップ情報に反映されていないデータ更新に対応する増分バックアップ情報を特定する。なお、ここで特定される増分バックアップ情報は、第２周期の間に複数の増分バックアップが実行されている場合は複数（複数回分の情報）となる。予測時間算出部２１４は、特定した増分バックアップ情報のデータサイズの合計を算出する。
【００６７】
また、予測時間算出部２１４は、管理装置４０から、バックアップサーバ５０が記憶部５２０（またはフルバックアップ情報記憶部５２１）にデータを書き込む際の書き込み速度を取得する。
【００６８】
図９に、管理装置４０の書き込み速度情報記憶部４２２に記憶される情報の一例を示す。書き込み速度情報記憶部４２２は、例えば図９に示すように、リージョン情報４２２１と書き込み速度４２２２とを関連付けて記憶する。
【００６９】
リージョン情報４２２１は、予備系リージョンを識別する識別情報である。本実施例においては、図８の送信先リージョン情報４２１２と対応している。図８と同様に、説明のため、本実施例においては、図９の「リージョン２（日本）」が予備系リージョン２に対応するものとする。
【００７０】
書き込み速度４２２２は、予備系リージョンのバックアップサーバに対してフルバック情報を書き込む際の書き込み速度を示す情報である。例えば、記憶部５２０（またはフルバックアップ情報記憶部５２１）としてＨＤＤ（Hard Disk Drive）が用いられている場合、書き込み速度４２２２はＨＤＤに対するデータの書き込み速度である。図８の例と同様に、現用系リージョン１に対して複数の予備系リージョンが存在する場合は、図９のように、それぞれの予備系リージョンについての書き込み速度を示す情報が書き込み速度情報記憶部４２２に記憶されることとしても良い。また、１つの予備系リージョンがバックアップサーバ、もしくは書き込み速度情報記憶部４２２として利用される記憶装置を複数備える場合、複数のバックアップサーバ、もしくは記憶装置のそれぞれについて、書き込み速度を示す情報が記憶されることとしても良い。
【００７１】
書き込み速度は、例えば、システムの構築時（バックアップサーバ５０の立ち上げ時）に、バックアップサーバ５０のハードウェアの性能情報として、管理装置４０が取得し、書き込み速度情報記憶部４２２に記憶しておくこととしても良い。書き込み速度は、情報処理装置や記憶装置のハードウェアに依存するため、ハードウェアの変更がなければ大幅な変動はないと考えられる。ただし、管理装置４０は、定期的に、あるいはバックアップサーバ５０のハードウェアが変更されたタイミングで、書き込み速度の情報を再取得することとしても良い。
【００７２】
ステップＳ７０５の予測生成時間ＴGは、例えば、特定した増分バックアップ情報のデータサイズの合計を書き込み速度４２２２に示される書き込み速度で除算することで算出可能である。この算出手法は、バックアップサーバ５０におけるフルバックアップ情報の生成（更新）に要する時間は、フルバックアップ情報に反映する増分バックアップ情報の書き込みに要する時間に近似する特性を利用している。なお、実際のフルバックアップ情報の生成（更新）には、さらに、フルバックアップ処理部５１２の起動時間や、生成したフルバックアップ情報を最新の情報として適用するための処理時間等の追加の時間が発生する。そのため、前述した算出手法により算出された予測生成時間ＴＧにこれらの追加の時間を加算した値を予測生成時間としても良い。ただし、通常、追加の時間は予測生成時間ＴＧに対して微小であると考えられることから、予測時間として単に予測生成時間ＴＧを採用しても構わない。また、具体的な算出方法は一態様に限定される必要はなく、バックアップサーバ５０におけるフルバックアップ情報の生成（更新）に要する時間を算出可能であれば他の算出方法で代替されても良い。
【００７３】
なお、ステップＳ７０４とステップＳ７０５の処理は、逆の順序で実行されても良いし、２つの処理が並行して実行されることとしても良い。
【００７４】
ステップＳ７０４およびステップＳ７０５の実行後、判定部２１５は、予測転送時間ＴＴと予測生成時間ＴＧとの比較を実行する。そして、判定部２１５は、予測転送時間ＴＴが予測生成時間ＴＧよりも短いか否かを判定する（ステップＳ７０６）。すなわち、判定部２１５は、予測転送時間ＴＴと予測生成時間ＴＧとでどちらがより短いかを判定する。
【００７５】
予測転送時間ＴＴが予測生成時間ＴＧよりも短い場合（ステップＳ７０６、ＹＥＳ）、フルバックアップ処理部２１２は、バックアップサーバ１０に転送依頼を送信する（ステップＳ７０７）。ここで、転送依頼とは、ステップＳ７０３でバックアップサーバ１０に送信したフルバックアップ情報を、バックアップサーバ５０にも送信することをバックアップサーバ１０に要求する旨の依頼である。この場合、ＤＢサーバ２０で生成されたフルバックアップ情報が、バックアップサーバ１０とバックアップサーバ５０とに送信されることで、双方のバックアップサーバにフルバックアップが反映されることとなる。
【００７６】
一方、予測転送時間ＴＴが予測生成時間ＴＧ以上の場合（ステップＳ７０６、ＮＯ）、フルバックアップ処理部２１２は、バックアップサーバ１０に生成依頼を送信する（ステップＳ７０８）。ここで、生成依頼とは、ステップＳ７０３でバックアップサーバ１０に送信したフルバックアップ情報と等価のフルバックアップ情報をバックアップサーバ５０において生成させることを要求する旨の依頼である。この場合、ＤＢサーバ２０で生成されたフルバックアップ情報はバックアップサーバ５０には送信されず、予備系リージョン側でフルバックアップ情報を生成することで、双方のバックアップサーバにフルバックアップが反映されることとなる。
【００７７】
ステップＳ７０７またはステップＳ７０８の実行後は、再びステップＳ７０１の処理に戻り、次の周期が到来すると、ステップＳ７０２以降の処理が再実行されることとなる。
【００７８】
図１０は、本実施例におけるフルバックアップ実行時の、バックアップサーバ１０における処理の流れを示すフローチャートである。図１０に示す一連の処理は、例えば、バックアップサーバ１０がフルバックアップ情報をＤＢサーバ２０から受信したことを契機として開始される。
【００７９】
まず、格納制御部１１１は、ＤＢサーバ２０から受信したフルバックアップ情報を自装置のフルバックアップ情報記憶部１２１に記憶する（ステップＳ１００１）。
【００８０】
次に、バックアップサーバ１０が依頼（ステップＳ７０７またはＳ７０８で送信される依頼）をＤＢサーバ２０から受信すると（ステップＳ１００２）、コピー制御部１１２は、受信した依頼の種別を特定する（ステップＳ１００３）。すなわち、コピー制御部１１２は、ステップＳ１００２で受信した依頼が、前述した転送依頼と生成依頼のどちらであるかを判定する。そして、コピー制御部１１２は、特定した結果に応じた処理を実行する。
【００８１】
受信した依頼が転送依頼であった場合（ステップＳ１００３、転送依頼）、コピー制御部１１２は、ＤＢサーバ２０から受信したフルバックアップ情報をバックアップサーバ５０に送信する（ステップＳ１００４）。これにより、コピー制御部１１２は、バックアップサーバ５０のフルバックアップ情報記憶部５２１にも、ＤＢサーバ２０から受信したフルバックアップ情報を記憶させる。
【００８２】
また、コピー制御部１１２は、フルバックアップ情報を送信した際の通信速度を、現用系リージョン１と予備系リージョン２との間の通信速度の情報として管理装置４０に送信する（ステップＳ１００５）。管理装置４０は、受信した通信速度の情報を通信速度情報記憶部４２１に記憶する。このとき、通信速度情報記憶部４２１に通信速度の情報が記憶されている場合は、管理装置４０は、ステップＳ１００５で送信された通信速度の情報、すなわち、最新の通信速度の情報で通信速度情報記憶部４２１の情報を更新する。
【００８３】
一方、依頼が生成依頼であった場合（ステップＳ１００３、生成依頼）、コピー制御部１１２は、フルバックアップ情報を生成させるコマンド等を用いて、バックアップサーバ５０にフルバックアップ情報を生成させる指示を送信する（ステップＳ１００６）。この場合、バックアップサーバ１０からバックアップサーバ５０にフルバックアップ情報自体の生成は行なわれない。指示を受信したバックアップサーバ５０では、増分バックアップ情報に基づいて、自装置においてフルバックアップ情報を生成させる。バックアップサーバ５０の増分バックアップ情報記憶部５２２には、バックアップサーバ５０において最新のフルバックアップ処理以降の増分バックアップ情報が記憶されている。そこで、フルバックアップ処理部５１２は、増分バックアップ情報記憶部５２２に記憶された増分バックアップ情報を反映させたフルバックアップ情報を生成する。そして、フルバックアップ処理部５１２は、生成したフルバックアップ情報をフルバックアップ情報記憶部５２１に記憶し、最新のフルバックアップ情報とする。なお、フルバックアップ処理部５１２は、ＤＢサーバの機能の一部をバックアップサーバ５０に付加したものとも言える。
【００８４】
これにより、ステップＳ７０２でフルバックアップ処理部２１２が生成したフルバックアップ情報と等価のフルバックアップ情報がバックアップサーバ５０において生成されることとなる。
【００８５】
以上のように、判定部２１５の処理によって、フルバックアップ情報をバックアップサーバ１０からバックアップサーバ５０に送信するか否かが決定される。本実施例によれば、データベースのバックアップ処理における、フルバックアップ情報および増分バックアップ情報のデータ量に基づいて、フルバックアップ情報をバックアップサーバ５０に送信するか否かが決定される。フルバックアップ情報のデータ量に基づいて算出される予測転送時間ＴＴと、増分バックアップ情報のデータ量に基づいて算出される予測生成時間ＴＧとの比較が実行される。そして、予測生成時間ＴＧの方が短ければ、フルバックアップ情報は予備系リージョン２において生成され、現用系リージョン１からのフルバックアップ情報の送信は行なわれない。これにより、予備系リージョン２のバックアップサーバ５０へのフルバック情報の反映をより迅速に行なうことができ、バックアップの反映の遅延を抑制することができる。また、フルバックアップ情報は予備系リージョン２において生成される場合は、リージョン間のフルバックアップ情報の送信は行なわれない。したがって、フルバックアップ情報を一律で現用系リージョン１から予備系リージョン２に送信する態様と比較して、リージョン間転送におけるデータの総量が削減される。特に、増分バックアップ情報と比較すると１回あたりの送信データ量が大きいフルバックアップ情報の送信機会が減少する。そのため、リージョン間の通信経路に対する負荷が軽減されるので、輻輳の発生が抑制される。この点においても、予備系リージョン２に対するバックアップの反映の遅延を抑制することができる。
【００８６】
なお、本実施例においては、フルバックアップ情報をバックアップサーバ５０に送信するか否かの決定をＤＢサーバ２０が実行しているが、ＤＢサーバ２０に代えて、バックアップサーバ１０が、送信するか否かの決定を実行することとしても良い。すなわち、本実施例において説明した予測時間算出部２１４、判定部２１５の機能が、バックアップサーバ１０に備えられることとしても良い。
【００８７】
また、例えば、バックアップサーバ５０のフルバックアップ処理部５１２については、予備系リージョンに２において一時的にＤＢサーバが起動されて、起動されたＤＢサーバのフルバックアップ機能を用いて処理が代替されることとしても良い。
【００８８】
また、本実施例で説明した情報処理システムＳは、フルバックアップと増分バックアップとが併用される態様とした。ただし、例えば、情報処理システムＳがフルバックアップと差分バックアップ（Differential Backup）とを併用する態様であっても、本実施例の処理による技術的効果を得ることができる。
【００８９】
〔ハードウェア構成例〕
図１１は、本実施例におけるＤＢサーバ２０のハードウェア構成の一例である。なお、図１１では、ＤＢサーバ２０のハードウェア構成の一例を示すが、後述のように、バックアップサーバ１０および５０、ＡＰサーバ３０、管理装置４０についても同様の構成が採用可能である。
【００９０】
ＤＢサーバ２０は、例えば、それぞれがバス１１０１で相互に接続された、ＣＰＵ（Central Processing Unit）１１０２、メモリ１１０３、記憶装置１１０４、ＮＩＣ１１０５、媒体読取装置１１０６、入力装置１１０７、表示装置１１０８、を備える情報処理装置である。
【００９１】
ＣＰＵ１１０２は、制御装置１における種々の動作制御を行う。メモリ１１０３、記憶装置１１０４は、本実施例で説明した各種の処理を実行するプログラムや、各種の処理に利用される種々のデータを記憶する。記憶装置１１０４は、例えば、ＨＤＤや、ＳＳＤ（Solid State Drive）等の記憶媒体である。
【００９２】
ＣＰＵ１１０２は、メモリ１１０３あるいは記憶装置１１０４に記憶されたプログラムを読み出して処理、制御を実行することで、例えば、図３に示す処理部２１０に含まれる各機能部が実現されても良い。なお、例えば、バックアップサーバ１０、５０が図１１と同様のハードウェアにより実現される場合は、処理部１１０、５１０についても同様であって良い。なお、ＣＰＵ１１０２は、ＭＰＵ（Micro Processing Unit）、ＡＳＩＣ（Application Specific Integrated Circuit）などのハードウェア回路で代替されても良い。
【００９３】
メモリ１１０３、記憶装置１１０４のそれぞれは、例えば、図３に記載した記憶部２２０として機能することができる。ただし、記憶部２２０として用いられる記憶装置やメモリは、必ずしもＤＢサーバ２０のハードウェアに内蔵されなくてもよく、ＤＢサーバ２０がアクセス可能な外部の記憶装置やメモリが用いられても良い。記憶部１２０、４２０、５２０についても同様である。
【００９４】
ＮＩＣ１１０５は、有線または無線のネットワークを介したデータの送受信に用いられるハードウェアである。ＮＩＣ１１０５は、ＣＰＵ１１０２の制御の下で、通信部２０１として機能することができる。
【００９５】
媒体読取装置１１０６は、記録媒体からデータを読み取るための装置であり、例えば、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）やＤＶＤ−ＲＯＭ（Digital Versatile Disc Read Only Memory）等のディスク媒体に記憶されたデータを読み取るディスクドライブや、メモリカードに記憶されたデータを読み取るカードスロット等である。前述した記憶部３００に記憶されるデータの一部または全部は、媒体読取装置１１０６を用いて読み取り可能な記録媒体に記憶されることとしても良い。
【００９６】
入力装置１１０７は、ユーザー（システム管理者を含む）からの入力や指定を受け付ける装置である。入力装置１１０７の例としては、例えばキーボードやマウス、タッチパッドが挙げられる。表示装置１１０８は、ＣＰＵ１１０２の制御の下で、種々の情報の表示を行うことが可能である。表示装置１１０８は、例えば液晶ディスプレイである。
【００９７】
本実施例のバックアップサーバ１０および５０、ＡＰサーバ３０、管理装置４０については、図１１と同様のハードウェア構成のコンピュータを用いることが可能であるため、説明を省略する。ただし、ＣＰＵ、メモリ、記憶装置、ＮＩＣ、媒体読取装置、入力装置、出力装置の具体的なハードウェア（型式や性能等）は、それぞれの装置で異なって構わない。
【符号の説明】
【００９８】
Ｓ  情報処理システム
３  ネットワーク
１０、５０  バックアップサーバ
２０  ＤＢサーバ
３０  ＡＰサーバ
４０  管理装置
１１０１  バス
１１０２  ＣＰＵ
１１０３  メモリ
１１０４  記憶装置
１１０５  ＮＩＣ
１１０６  媒体読取装置
１１０７  入力装置
１１０８  表示装置
【図１】
2018181282.tif 000003
【図２】
2018181282.tif 000004
【図３】
2018181282.tif 000005
【図４】
2018181282.tif 000006
【図５】
2018181282.tif 000007
【図６】
2018181282.tif 000008
【図７】
2018181282.tif 000009
【図８】
2018181282.tif 000010
【図９】
2018181282.tif 000011
【図１０】
2018181282.tif 000012
【図１１】
2018181282.tif 000013