特許第6773533号(P6773533)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECプラットフォームズ株式会社の特許一覧

特許6773533動作環境同期装置、動作環境同期システム、動作環境同期方法、及び、動作環境同期プログラム
<>
  • 特許6773533-動作環境同期装置、動作環境同期システム、動作環境同期方法、及び、動作環境同期プログラム 図000002
  • 特許6773533-動作環境同期装置、動作環境同期システム、動作環境同期方法、及び、動作環境同期プログラム 図000003
  • 特許6773533-動作環境同期装置、動作環境同期システム、動作環境同期方法、及び、動作環境同期プログラム 図000004
  • 特許6773533-動作環境同期装置、動作環境同期システム、動作環境同期方法、及び、動作環境同期プログラム 図000005
  • 特許6773533-動作環境同期装置、動作環境同期システム、動作環境同期方法、及び、動作環境同期プログラム 図000006
  • 特許6773533-動作環境同期装置、動作環境同期システム、動作環境同期方法、及び、動作環境同期プログラム 図000007
  • 特許6773533-動作環境同期装置、動作環境同期システム、動作環境同期方法、及び、動作環境同期プログラム 図000008
  • 特許6773533-動作環境同期装置、動作環境同期システム、動作環境同期方法、及び、動作環境同期プログラム 図000009
  • 特許6773533-動作環境同期装置、動作環境同期システム、動作環境同期方法、及び、動作環境同期プログラム 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6773533
(24)【登録日】2020年10月5日
(45)【発行日】2020年10月21日
(54)【発明の名称】動作環境同期装置、動作環境同期システム、動作環境同期方法、及び、動作環境同期プログラム
(51)【国際特許分類】
   G06F 11/20 20060101AFI20201012BHJP
【FI】
   G06F11/20 623
【請求項の数】10
【全頁数】17
(21)【出願番号】特願2016-226990(P2016-226990)
(22)【出願日】2016年11月22日
(65)【公開番号】特開2018-84914(P2018-84914A)
(43)【公開日】2018年5月31日
【審査請求日】2019年10月15日
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100124154
【弁理士】
【氏名又は名称】下坂 直樹
(72)【発明者】
【氏名】若木 裕子
【審査官】 渡部 博樹
(56)【参考文献】
【文献】 国際公開第2014/080492(WO,A1)
【文献】 特開2012−221321(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F11/16−11/20
(57)【特許請求の範囲】
【請求項1】
運用系装置から待機系装置へのフェイルオーバーが行われる冗長化されたシステムにおいて、前記運用系装置の動作環境を表す第一の動作環境情報と、前記フェイルオーバーが行われるときに前記待機系装置によって読み込まれる第二の動作環境情報との差分を表す差分情報を抽出する抽出手段と、
前記差分情報に含まれる情報量が所定の条件を満たすか否かを判定する判定手段と、
前記フェイルオーバーによって、前記第二の動作環境情報を前記第一の動作環境情報に更新する際に、前記判定手段が前記所定の条件を満たすと判定した場合は、前記差分情報を用いて更新し、前記判定手段が前記所定の条件を満たさないと判定した場合は、前記差分情報を用いずに更新する更新手段と、
を備える動作環境同期装置。
【請求項2】
前記判定手段は、前記情報量が閾値以下であるか否かを判定する、
請求項1に記載の動作環境同期装置。
【請求項3】
前記判定手段は、前記更新手段が前記差分情報を用いて前記第二の動作環境情報を前記第一の動作環境情報に更新するのに要する時間と、前記更新手段が前記差分情報を用いずに前記第二の動作環境情報を前記第一の動作環境情報に更新するのに要する時間とが等しくなるときの前記情報量を、前記閾値として用いて判定する、
請求項2に記載の動作環境同期装置。
【請求項4】
前記第一及び第二の動作環境情報は、その世代を表すレビジョン管理情報を含み、
前記抽出手段は、前記第一及び第二の動作環境情報に含まれる前記レビジョン管理情報が示す値が互いに異なる場合に、前記差分情報を抽出し、
前記更新手段は、前記第一及び第二の動作環境情報に含まれる前記レビジョン管理情報が示す値が互いに異なる場合に、前記第二の動作環境情報を前記第一の動作環境情報に更新する、
請求項1乃至3のいずれか一項に記載の動作環境同期装置。
【請求項5】
前記第一及び第二の動作環境情報は、複数の項目を含み、
前記抽出手段は、前記項目ごとに前記差分情報を抽出する、
請求項1乃至4のいずれか一項に記載の動作環境同期装置。
【請求項6】
前記第一及び第二の動作環境情報は、前記項目として、前記冗長化されたシステムの運用環境を規定する設定情報、及び、当該システムの構成を表す構成情報を含む、
請求項5に記載の動作環境同期装置。
【請求項7】
前記第二の動作環境情報は、前記待機系装置が起動する際に前記待機系装置によって実行されるBIOSによって読み込まれる、
請求項1乃至6のいずれか一項に記載の動作環境同期装置。
【請求項8】
請求項1乃至7のいずれか一項に記載の動作環境同期装置を含む前記待機系装置と、前記運用系装置と、を有し、
前記運用系装置は、前記第一の動作環境情報が更新されたとき、及び、前記運用系装置から前記待機系装置への前記フェイルオーバーが行われるときに、前記第一の動作環境情報を前記動作環境同期装置へ送信する、
動作環境同期システム。
【請求項9】
情報処理装置によって、
運用系装置から待機系装置へのフェイルオーバーが行われる冗長化されたシステムにおいて、前記運用系装置の動作環境を表す第一の動作環境情報と、前記フェイルオーバーが行われるときに前記待機系装置によって読み込まれる第二の動作環境情報との差分を表す差分情報を抽出し、
前記差分情報に含まれる情報量が所定の条件を満たすか否かを判定し、
前記フェイルオーバーによって、前記第二の動作環境情報を前記第一の動作環境情報に更新する際に、前記所定の条件を満たすと判定した場合は、前記差分情報を用いて更新し、前記所定の条件を満たさないと判定した場合は、前記差分情報を用いずに更新する、
動作環境同期方法。
【請求項10】
運用系装置から待機系装置へのフェイルオーバーが行われる冗長化されたシステムにおいて、前記運用系装置の動作環境を表す第一の動作環境情報と、前記フェイルオーバーが行われるときに前記待機系装置によって読み込まれる第二の動作環境情報との差分を表す差分情報を抽出する抽出処理と、
前記差分情報に含まれる情報量が所定の条件を満たすか否かを判定する判定処理と、
前記フェイルオーバーによって、前記第二の動作環境情報を前記第一の動作環境情報に更新する際に、前記判定処理が前記所定の条件を満たすと判定した場合は、前記差分情報を用いて更新し、前記判定処理が前記所定の条件を満たさないと判定した場合は、前記差分情報を用いずに更新する更新処理と、
をコンピュータに実行させるための動作環境同期プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願発明は、冗長化されたシステムにおいてフェイルオーバーが行われるときに、待機系装置の動作環境情報を運用系装置の動作環境情報に同期させる技術に関する。
【背景技術】
【0002】
高度に情報化された現代社会においては、社会基盤を構築するコンピュータシステムに対して高い可用性が要求される。そして、高い可用性を実現するために、多くのコンピュータシステムは、運用系装置と待機系装置とによって冗長化されたシステムを構成している。
【0003】
このような冗長化されたシステムでは、運用系装置に障害が発生した場合に、運用系装置の機能を待機系装置が引き継ぐフェイルオーバーが行われる。このフェイルオーバーでは、待機系装置は、運用系装置の動作環境を表す動作環境情報を引き継ぐ(動作環境情報について同期を取る)必要がある。そして、システムの可用性を高めるためには、フェイルオーバーに要する時間をできるだけ短縮することが求められるので、待機系装置が動作環境情報について運用系装置と高速に同期を取ることができるようにする技術に対する期待が高まってきている。
【0004】
このような技術に関連する技術として、特許文献1には、障害が発生した現用系サーバから予備系サーバへの高速な切り替え処理を行うシステムが開示されている。このシステムでは、現用系サーバのBIOS(Basic Input/Output System)情報を取得して、そのBIOS情報を、切り替え先の予備系サーバへリストアする。このシステムは、現用系サーバのフルバックアップイメージを取得したのちに、現用系サーバの記憶デバイスに格納されるデータのうち、更新されたデータを表す差分情報を取得する。そして、このシステムは、予備系サーバが現用系サーバの業務を引き継ぐために必要なバックアップイメージ、及び、当該差分情報を、予備系サーバにリストアする。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】国際公開第2014-080492号
【発明の概要】
【発明が解決しようとする課題】
【0006】
フェイルオーバーが行なわれるときに、特許文献1によって開示された技術などを用いることにより、待機系装置が動作環境情報について運用系装置と同期を取る処理を高速化することができる。すなわち、待機系装置は、自装置の動作環境情報を運用系装置の動作環境情報に更新する場合に、動作環境情報に関する自装置と運用系装置との差分を示す差分情報を用いることにより、動作環境情報全体を更新する必要がなくなるので、その更新を高速化することができる。
【0007】
しかしながら、差分情報を用いた更新を行うことにより、動作環境情報全体を更新するときよりも、かえって更新時間が長くなる場合があるという問題がある。すなわち、差分情報を用いた同期処理では、動作環境情報における差分箇所を確認しながら更新を行なう必要があるので、差分箇所が多い(差分情報の情報量が大きい)場合では、差分箇所を確認することによって生じるオーバーヘッドが大きくなる。したがって、このような場合は、動作環境情報全体を更新したほうが、差分情報を用いた更新を行うときよりも、更新時間が短くなる。特許文献1によって開示された技術では、このような問題に対して柔軟に対応することはできない。本願発明の主たる目的は、このような問題を解決する動作環境同期装置等を提供することである。
【課題を解決するための手段】
【0008】
本願発明の一態様に係る動作環境同期装置は、運用系装置から待機系装置へのフェイルオーバーが行われる冗長化されたシステムにおいて、前記運用系装置の動作環境を表す第一の動作環境情報と、前記フェイルオーバーが行われるときに前記待機系装置によって読み込まれる第二の動作環境情報との差分を表す差分情報を抽出する抽出手段と、前記差分情報に含まれる情報量が所定の条件を満たすか否かを判定する判定手段と、前記フェイルオーバーによって、前記第二の動作環境情報を前記第一の動作環境情報に更新する際に、前記判定手段が前記所定の条件を満たすと判定した場合は、前記差分情報を用いて更新し、前記判定手段が前記所定の条件を満たさないと判定した場合は、前記差分情報を用いずに更新する更新手段と、を備える。
【0009】
上記目的を達成する他の見地において、本願発明の一態様に係る動作環境同期方法は、情報処理装置によって、運用系装置から待機系装置へのフェイルオーバーが行われる冗長化されたシステムにおいて、前記運用系装置の動作環境を表す第一の動作環境情報と、前記フェイルオーバーが行われるときに前記待機系装置によって読み込まれる第二の動作環境情報との差分を表す差分情報を抽出し、前記差分情報に含まれる情報量が所定の条件を満たすか否かを判定し、前記フェイルオーバーによって、前記第二の動作環境情報を前記第一の動作環境情報に更新する際に、前記所定の条件を満たすと判定した場合は、前記差分情報を用いて更新し、前記所定の条件を満たさないと判定した場合は、前記差分情報を用いずに更新する。
【0010】
また、上記目的を達成する更なる見地において、本願発明の一態様に係る動作環境同期プログラムは、運用系装置から待機系装置へのフェイルオーバーが行われる冗長化されたシステムにおいて、前記運用系装置の動作環境を表す第一の動作環境情報と、前記フェイルオーバーが行われるときに前記待機系装置によって読み込まれる第二の動作環境情報との差分を表す差分情報を抽出する抽出処理と、前記差分情報に含まれる情報量が所定の条件を満たすか否かを判定する判定処理と、前記フェイルオーバーによって、前記第二の動作環境情報を前記第一の動作環境情報に更新する際に、前記判定処理が前記所定の条件を満たすと判定した場合は、前記差分情報を用いて更新し、前記判定処理が前記所定の条件を満たさないと判定した場合は、前記差分情報を用いずに更新する更新処理と、をコンピュータに実行させるためのプログラムである。
【0011】
更に、本願発明は、係る動作環境同期プログラム(コンピュータプログラム)が格納された、コンピュータ読み取り可能な、不揮発性の記録媒体によっても実現可能である。
【発明の効果】
【0012】
本願発明は、冗長化されたシステムにおいてフェイルオーバーが行われるときに、待機系装置が、動作環境情報について運用系装置と高速かつ柔軟に同期を取ることを可能とする。
【図面の簡単な説明】
【0013】
図1】本願発明の第1の実施形態に係る動作環境同期システム3の構成を示すブロック図である。
図2】本願発明の第1の実施形態に係る動作環境情報の構成を例示する図である。
図3】本願発明の第1の実施形態に係る動作環境同期システム3の通常時の動作を示すシーケンス図である。
図4】本願発明の第1の実施形態に係る動作環境同期システム3のフェイルオーバー時の動作を示すシーケンス図である。
図5】本願発明の第1の実施形態に係る差分情報103の構成を例示する図である。
図6】本願発明の第1の実施形態に係る動作環境同期装置10が行なう、動作環境情報の同期に関する事前準備処理を示すフローチャートである。
図7】本願発明の第1の実施形態に係る動作環境同期装置10が行なう、動作環境情報の同期処理を示すフローチャートである。
図8】本願発明の第2の実施形態に係る動作環境同期装置40の構成を示すブロック図である。
図9】本願発明の各実施形態に係る動作環境同期装置を実行可能な情報処理装置900の構成を示すブロック図である。
【発明を実施するための形態】
【0014】
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
【0015】
<第1の実施形態>
図1は、本願発明の第1の実施の形態に係る動作環境同期システム3の構成を概念的に示すブロック図である。動作環境同期システム3は、運用系装置2及び待機系装置1を有する、冗長化されたシステムである。動作環境同期システム3では、運用系装置2において障害が発生した場合、待機系装置1が運用系装置2の機能を引き継ぐフェイルオーバーが行なわれる。
【0016】
運用系装置2は、管理サーバ200と運用サーバ210とを有する。管理サーバ200及び運用サーバ210は、互いに独立した物理サーバであってもよいし、仮想サーバであってもよい。運用サーバ210は、BIOS212を実行し、その動作環境は、動作環境情報211によって規定される。BIOS212及び動作環境情報211は、運用サーバ210が備える記憶デバイス(図示せず)に記憶されている。当該記憶デバイスは、例えば、揮発性のメモリや不揮発性のメモリなどである。運用サーバ210は、様々なアプリケーションを実行することによって、様々なサービスをユーザに提供する。
【0017】
図2は、本実施形態に係る動作環境情報211の構成を概念的に例示する図である。動作環境情報211は、設定情報2111、構成情報2112、及び、レビジョン(レビジョン管理情報)2113などを含んでいる。設定情報2111は、動作環境同期システム3の運用環境等を規定する情報である。構成情報2112は、動作環境同期システム3の構成等を表す情報である。レビジョン2113は、動作環境情報211の世代を識別可能な情報であり、動作環境情報211が更新されるたびに、その値が更新されることとする。動作環境情報211は、BIOS212によって更新される。
【0018】
動作環境情報211は、動作環境同期システム3においてフェイルオーバーが行なわれる際に、運用系装置2と待機系装置1との間で、同期をとる対象となる情報である。図1に示す動作環境情報201、動作環境情報101、及び、動作環境情報111の構成も、動作環境情報211と同様である。なお、動作環境情報211の構成は、図2に例示する構成に限定されない。
【0019】
図1に示す管理サーバ200は、運用サーバ210の状態等を管理するサーバであり、待機系装置1と通信可能に接続されている。管理サーバ200は、動作環境情報211の写しを動作環境情報201として、内蔵する記憶デバイス(図示せず)に記憶している。当該記憶デバイスは、例えば、揮発性のメモリや不揮発性のメモリなどである。管理サーバ200は、最新の動作環境情報201を、待機系装置1へ送信する。
【0020】
待機系装置1は、管理サーバ100と待機サーバ110とを有する。管理サーバ100及び待機サーバ110は、互いに独立した物理サーバであってもよいし、仮想サーバであってもよい。待機サーバ110は、BIOS112を実行し、その動作環境は、動作環境情報111によって規定される。BIOS112及び動作環境情報111は、待機サーバ110が備える記憶デバイス(図示せず)に記憶されている。待機サーバ110は、運用サーバ210が正常に稼動しているときは、コールドスタンバイ状態にある。但し、コールドスタンバイとは、冗長化されたシステムにおいて、運用系装置が稼動している間は、待機系装置を稼動させずに待機状態にしておく形態である。そして、動作環境情報111は、待機サーバ110がコールドスタンバイ状態にあるときは、更新不能な情報であることとする。待機サーバ110は、運用サーバ210に障害が発生した場合に、フェイルオーバーによって起動し、運用サーバ210の機能を引き継ぐ。
【0021】
管理サーバ100は、待機サーバ110の状態等を管理するサーバであり、運用系装置2と通信可能に接続されている。管理サーバ100は、動作環境同期装置10を内包し、フェイルオーバーにおいて、運用サーバ210と待機サーバ110との間で、動作環境情報を同期させる処理を制御する。動作環境同期装置10の詳細動作については後述する。
【0022】
次に図3及び図4のシーケンス図を参照して、本実施形態に係る動作環境同期システム3の動作の概要を説明する。
【0023】
図3は、本実施形態に係る動作環境同期システム3の通常時の動作を示すシーケンス図である。
【0024】
ユーザ操作により、管理サーバ200の電源スイッチがオンされる(ステップS101)。管理サーバ200は、運用サーバ210の電源をオンする(ステップS102)。運用サーバ210は、BIOS212のセットアップメニューを、表示画面(図1において不図示)に表示する(ステップS103)。ユーザは、そのセットアップメニューにおいて、セットアップ変更内容(動作環境情報211に対する変更内容)を入力する(ステップS104)。
【0025】
運用サーバ210は、ユーザによって入力されたセットアップ変更内容に従って、動作環境情報211を更新する(ステップS105)。運用サーバ210は、セットアップ処理の完了を、管理サーバ200に報告する(ステップS106)。管理サーバ200は、運用サーバ210をリブートする(ステップS107)。
【0026】
運用サーバ210は、更新された動作環境情報211を、管理サーバ200へ送信する(ステップS108)。管理サーバ200は、動作環境情報201を運用サーバ210から受信した動作環境情報211に更新する(ステップS109)。管理サーバ200は、動作環境情報211の受信完了を、運用サーバ210へ報告する(ステップS110)。
【0027】
管理サーバ200は、動作環境情報201を管理サーバ100へ送信する(ステップS111)。管理サーバ100は、動作環境情報の同期に関する事前準備処理(その詳細は後述する)を行なう(ステップS300)。管理サーバ100は、動作環境情報201の受信完了を、管理サーバ200へ報告する(ステップS112)。運用サーバ210は、OS(Operating System)を起動し、運用を開始する(ステップS113)。
【0028】
図4は、本実施形態に係る動作環境同期システム3のフェイルオーバー時の動作を示すシーケンス図である。
【0029】
運用サーバ210は、自装置の障害発生を管理サーバ200へ報告する(ステップS201)。管理サーバ200は、管理サーバ100にフェイルオーバーを指示する(ステップS202)。管理サーバ200は、動作環境情報201を管理サーバ100へ送信する(ステップS203)。
【0030】
管理サーバ100は、動作環境情報の同期に関する事前準備処理を行う(ステップS300)。管理サーバ100は、動作環境情報201の受信完了を、管理サーバ200へ報告する(ステップS204)。管理サーバ100は、フェイルオーバーの準備完了を、管理サーバ200へ報告する(ステップS205)。
【0031】
管理サーバ100は、待機サーバ110の電源をオンする(ステップS206)。管理サーバ100及び待機サーバ110は、動作環境情報の同期処理(その詳細は後述する)を行なう(ステップS400)。待機サーバ110は、OS(Operating System)を起動し、フェイルオーバー後の運用を開始する(ステップS207)。
【0032】
次に、図1に示す動作環境同期装置10の詳細動作について説明する。動作環境同期装置10は、待機サーバ110における動作環境情報111と、運用サーバ210における動作環境情報211とが同期するように制御する装置である。すなわち、動作環境同期装置10は、フェイルオーバーが行なわれる場合に、待機サーバ110が、運用サーバ21の動作環境を引き継いで動作できるように制御する。動作環境同期装置10は、図1に示す通り、抽出部11、判定部12、及び、更新部13を備えている。
【0033】
抽出部11は、動作環境同期装置10に動作環境情報101が記憶されている場合、動作環境情報101と管理サーバ200から受信した動作環境情報201との差分を、差分情報103として抽出する。なお、例えば、動作環境同期システム3において冗長化されたシステムを構築するために、待機系装置1が新たに設置されたときなどでは、動作環境同期装置10に、動作環境情報101が記憶されていない場合がある。
【0034】
抽出部11は、動作環境情報101と動作環境情報201とに含まれるレビジョン(図2に例示するレビジョン2113に相当)が等しい場合、動作環境情報101と動作環境情報201とが同一であるとみなして、差分情報103を抽出する処理を行わない。抽出部11は、動作環境情報101と動作環境情報201とに含まれるレビジョンが異なる場合、図2に例示する設定情報2111及び構成情報2112などの項目ごとに、例えばビット単位で動作環境情報101と動作環境情報201との排他的論理和を算出することによって、差分情報103を抽出する処理を行う。抽出部11は、抽出した差分情報103を、動作環境同期装置10が内蔵する記憶デバイス(図示せず)に記憶する。当該記憶デバイスは、例えば、揮発性のメモリや不揮発性のメモリなどである。
【0035】
図5は、本実施形態に係る差分情報103の構成を概念的に例示する図である。差分情報103は、ヘッダエリア1030、及び、データエリア1031を含んでいる。
【0036】
ヘッダエリア1030には、Signatureが格納されている。Signatureは、差分情報103が動作環境同期装置10に最初に格納されるときに書き込まれ、差分情報103が削除されるときに消去される。すなわち、ヘッダエリア1030にSignatureが格納されていることは、差分情報103が動作環境同期装置10に存在することを示している。
【0037】
データエリア1031は、差分情報103の本体を構成し、フラグ1032、オフセット1033、サイズ1034、及び、データ1035という4つの項目を含む、1以上のエントリを含んでいる。このうちデータ1035には、例えばエントリごとに、差分情報103における最大8バイト分の本体のデータ(差分データ)が格納されていることとする。
【0038】
フラグ1032には、「Data」、「Area」、「Cont」、「Invalid」のうちのいずれかが設定されている。「Data」は、そのエントリのデータ1035として格納されている差分データのサイズが8バイト以下であることを示す。「Area」は、8バイトより大きい差分データが連続する複数のエントリに亘って格納されている場合に、そのエントリが当該差分データを格納する最初のエントリであることを示す。「Cont」は、8バイトより大きい差分データが連続する複数のエントリに亘って格納されている場合に、そのエントリが当該差分データを格納する2番目以降のエントリであることを示す。「Invalid」は、そのエントリに差分データが格納されていない(すなわち、当該エントリが無効である)ことを示す。
【0039】
オフセット1033には、動作環境情報101及び動作環境情報201が格納されたアドレス空間における、各エントリが示す差分箇所の位置(ポインタ)を表すオフセットアドレスが格納されている。ただし、フラグ1032が「Cont」であるエントリにおけるオフセット1033には、8バイトより大きい差分データを格納する最初のエントリ(すなわちフラグ1032として「Area」が設定されたエントリ)のオフセットアドレスに対する相対アドレスが格納されている。
【0040】
サイズ1034には、そのエントリに格納する差分データのサイズが格納されている。ただし、フラグ1032が「Area」であるエントリにおけるオフセット1033には、当該エントリを先頭に複数のエントリに亘って格納された8バイトより大きい差分データ全体のサイズが格納されている。
【0041】
例えば、図5に例示するデータエリア1031における上から1番目のエントリには、オフセットアドレス「Offset xx」に1バイトの差分データ「01」が格納されている。ただし、図5におけるデータ1035には、16進数により表されるデータが格納されていることとする。また、データ1035における「x」は、データが無いことを示す記号である。例えば、図5に例示するデータエリア1031における上から4乃至7番目のエントリには、オフセットアドレス「Offset ss」に32バイトの差分データが格納されている。
【0042】
図5に例示する差分情報103の構成は一例であり、差分情報103の構成は、図5に例示する構成とは異なってもよい。
【0043】
図1に示す判定部12は、フェイルオーバーによって、動作環境同期装置10が、動作環境情報111を動作環境情報101に更新する際に、抽出部11によって抽出された差分情報103に含まれる情報量(データ量)が、所定の条件を満たすか否か(例えば、所定の閾値以下であるか否か)を判定する。
【0044】
判定部12は、例えば、動作環境情報101に含まれる情報量の半分を、当該閾値として使用してもよい。判定部12は、あるいは、後述する更新部13が、差分情報103を用いて動作環境情報111を動作環境情報101に更新するのに要する時間と、差分情報103を用いずに動作環境情報111を動作環境情報101に更新するのに要する時間とが等しくなるときの情報量を、当該閾値として使用してもよい。ただし、差分情報103に含まれる情報量に応じて、動作環境情報111を動作環境情報101に更新するのに要する時間は、事前に測定された値として得られていることとする。差分情報103を用いて動作環境情報111を動作環境情報101に更新するのに要する時間は、差分箇所を確認することによって生じるオーバーヘッドの増加に伴い、差分情報103に含まれる情報量が大きくなるにつれて長くなる。
【0045】
更新部13は、フェイルオーバーが行われるときに、動作環境情報111を動作環境情報101に更新する。更新部13は、この際、判定部12による判定結果が、差分情報103に含まれる情報量が閾値以下であることを示す場合は、差分情報103を用いて動作環境情報111を更新する。この場合更新部13は、動作環境情報111における差分情報103により示されるオフセットアドレスを確認し、動作環境情報111における当該オフセットアドレスのデータを、差分情報103の内容に基づいて更新する。
【0046】
更新部13は、判定部12による判定結果が、差分情報103に含まれる情報量が閾値より大きいことを示す場合は、差分情報103を用いずに、動作環境情報101全体を待機サーバ110に複写することによって、動作環境情報111を動作環境情報101に更新する(置き換える)。
【0047】
次に図6及び図7のフローチャートを参照して、本実施形態に係る動作環境同期装置10の動作(処理)について詳細に説明する。
【0048】
図6は、動作環境同期装置10が行なう、動作環境情報の同期に関する事前準備処理を示すフローチャートである。図6のフローチャートに示す事前準備処理は、図3及び図4のシーケンス図に示すステップS300に相当する。
【0049】
動作環境同期装置10は、ステップS300の処理を開始するのにあたり、管理サーバ200から、動作環境情報201を受信する(ステップS301)。更新部13は、動作環境同期装置10に、動作環境情報101が記憶されているか否かを確認する(ステップS302)。
【0050】
動作環境情報101が動作環境同期装置10に記憶されている場合(ステップS303でYes)、更新部13は、動作環境情報201と動作環境情報101とのレビジョンが等しいか否かを確認する(ステップS304)。レビジョンが等しい場合(ステップS305でYes)、処理はステップS307へ進む。
【0051】
レビジョンが異なる場合(ステップS305でNo)、更新部13は、管理サーバ200から受信した動作環境情報201を、動作環境情報101として、動作環境同期装置10に格納し(ステップS306)、処理はステップS307へ進む。
【0052】
抽出部11は、動作環境情報101と動作環境情報111とのレビジョンが等しいか否かを確認する(ステップS307)。レビジョンが等しい場合(ステップS308でYes)、ステップS300の処理は終了する。レビジョンが異なる場合(ステップS308でNo)、抽出部11は、動作環境情報101と、動作環境情報111との差分を差分情報103として抽出し、抽出した差分情報103を、動作環境同期装置10に格納し(ステップS309)、ステップS300の処理は終了する。
【0053】
図7は、動作環境同期装置10が行なう、動作環境情報の同期処理を示すフローチャートである。図7のフローチャートに示す同期処理は、図4のシーケンス図に示すステップS400に相当する。
【0054】
更新部13は、動作環境情報101と動作環境情報111とのレビジョンが等しいか否かを確認する(ステップS401)。レビジョンが等しい場合(ステップS402でYes)、ステップS400の処理は終了する。
【0055】
レビジョンが異なる場合(ステップS402でNo)、判定部12は、差分情報103に含まれる情報量が閾値以下であるか否かを確認する(ステップS403)。その情報量が閾値以下である場合(ステップS404でYes)、更新部13は、差分情報103を用いて、動作環境情報111を動作環境情報101に更新し(ステップS405)、ステップS400の処理は終了する。その情報量が閾値よりも大きい場合(ステップS404でNo)、更新部13は、差分情報103を用いずに、動作環境情報111を動作環境情報101に更新し(ステップS406)、ステップS400の処理は終了する。
【0056】
本実施形態に係る動作環境同期装置10は、冗長化されたシステムにおいてフェイルオーバーが行われるときに、待機系装置が、動作環境情報について運用系装置と高速かつ柔軟に同期を取るようにすることができる。その理由は、動作環境同期装置10は、動作環境情報について、運用系装置と待機系装置との差分を抽出した差分情報に含まれる情報量が所定の条件を満たすか否かに応じて、動作環境情報の更新において、差分情報を使用するか否かを決めるからである。
【0057】
以下に、本実施形態に係る動作環境同期装置10によって実現される効果について、詳細に説明する。
【0058】
フェイルオーバーにおいて、待機系装置は、自装置の動作環境情報を運用系装置の動作環境情報に更新する(同期をとる)際に、動作環境情報に関する自装置と運用系装置との差分を示す差分情報を用いることにより、その更新を高速化することができる。しかしながら、差分情報を用いた更新した場合、差分箇所を確認することによって生じるオーバーヘッドが大きくなることによって、動作環境情報全体を更新したときよりも、動作環境情報の更新時間がかえって長くなる(悪化する)といった問題がある。
【0059】
このような問題に対して、本実施形態に係る動作環境同期装置10は、抽出部11、判定部12、及び、更新部13を備える。即ち、抽出部11は、運用サーバ210(運用系装置2)から待機サーバ110(待機系装置1)へのフェイルオーバーが行われる動作環境同期システム3において、差分情報103を抽出する。差分情報103は、運用サーバ210の動作環境を表す動作環境情報211と、フェイルオーバーが行われるときに待機サーバ110によって読み込まれる動作環境情報111との差分を表す情報である。判定部12は、差分情報103に含まれる情報量が所定の条件を満たすか否か(例えば、閾値以下であるか否か)を判定する。更新部13は、フェイルオーバーによって、動作環境情報111を動作環境情報101に更新する際に、判定部12が当該所定の条件を満たすと判定した場合は、差分情報103を用いて更新する。更新部13は、判定部12が当該所定の条件を満たさないと判定した場合は、差分情報103を用いずに更新する。これにより、本実施形態に係る動作環境同期装置10は、冗長化されたシステムにおいてフェイルオーバーが行われるときに、待機系装置が、動作環境情報について運用系装置と高速かつ柔軟に同期を取るようにすることができる。
【0060】
また、本実施形態に係る判定部12は、更新部13が差分情報103を用いて動作環境情報111を動作環境情報101に更新するのに要する時間と、前記更新部13が差分情報103を用いずに動作環境情報111を動作環境情報101に更新するのに要する時間とが等しくなるときの差分情報103に含まれる情報量を、閾値として用いて判定する。すなわち、本実施形態に係る動作環境同期装置10は、差分情報103に含まれる情報量に応じて、動作環境情報111を動作環境情報101に更新するのに要する時間が最短になるように制御する。これにより、本実施形態に係る動作環境同期装置10は、待機系装置が、動作環境情報について運用系装置と高速かつ柔軟に同期を取るようにすることを、高い精度で行なうことができる。
【0061】
また、上述した本実施形態では、動作環境同期装置10は、管理サーバ100に内包されているが、動作環境同期装置10が実装される構成は、図1に示す構成に限定されない。動作環境同期装置10は、管理サーバ100と通信可能に接続された、管理サーバ100とは異なる装置であってもよい。あるいは、動作環境同期装置10が備える機能の少なくとも一部を、例えばBIOS112が備えるようにしてもよい。
【0062】
<第2の実施形態>
図8は、本願発明の第2の実施形態に係る動作環境同期装置40の構成を概念的に示すブロック図である。
【0063】
本実施形態に係る動作環境同期装置40は、抽出部41、判定部42、及び、更新部43を備えている。
【0064】
抽出部41は、運用系装置5から待機系装置4へのフェイルオーバーが行われる冗長化されたシステムにおいて、運用系装置5の動作環境を表す第1の動作環境情報511と、フェイルオーバーが行われるときに待機系装置4によって読み込まれる第2の動作環境情報411との差分を表す差分情報403を抽出する。
【0065】
判定部42は、差分情報403に含まれる情報量が所定の条件を満たすか否かを判定する。
【0066】
更新部43は、フェイルオーバーによって、第2の動作環境情報411を第1の動作環境情報511に更新する際に、判定部42が当該所定の条件を満たすと判定した場合は、差分情報403を用いて更新する。更新部43は、判定部42が当該所定の条件を満たさないと判定した場合は、差分情報403を用いずに、第2の動作環境情報411を第1の動作環境情報511に更新する。
【0067】
本実施形態に係る動作環境同期装置40は、冗長化されたシステムにおいてフェイルオーバーが行われるときに、待機系装置が、動作環境情報について運用系装置と高速かつ柔軟に同期を取るようにすることができる。その理由は、動作環境同期装置40は、動作環境情報について、運用系装置5と待機系装置と4の差分を抽出した差分情報403に含まれる情報量が所定の条件を満たすか否かに応じて、動作環境情報の更新において、差分情報403を使用するか否かを決めるからである。
【0068】
<ハードウェア構成例>
上述した各実施形態において図1、及び、図8に示した動作環境同期装置10及び40における各部は、専用のHW(HardWare)(電子回路)によって実現することができる。また、図1、及び、図8において、少なくとも、下記構成は、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捉えることができる。
・抽出部11及び41
・判定部12及び42、
・更新部13及び43、
但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図9を参照して説明する。
【0069】
図9は、本願発明の各実施形態に係る動作環境同期装置を実行可能な情報処理装置900(コンピュータ)の構成を例示的に説明する図である。即ち、図9は、図1、及び、図8に示した動作環境同期装置或いはその一部を実現可能なコンピュータ(情報処理装置)の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。図9に示した情報処理装置900は、構成要素として下記を備えている。
・CPU(Central_Processing_Unit)901、
・ROM(Read_Only_Memory)902、
・RAM(Random_Access_Memory)903、
・ハードディスク(記憶装置)904、
・無線送受信部等の外部装置との通信インタフェース905、
・バス906(通信線)、
・CD−ROM(Compact_Disc_Read_Only_Memory)等の記録媒体907に格納されたデータを読み書き可能なリーダライタ908、
・入出力インタフェース909。
【0070】
即ち、上記構成要素を備える情報処理装置900は、これらの構成がバス906を介して接続された一般的なコンピュータである。情報処理装置900は、CPU901を複数備える場合もあれば、マルチコアにより構成されたCPU901を備える場合もある。
【0071】
そして、上述した実施形態を例に説明した本願発明は、図9に示した情報処理装置900に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図(図1及び図8)における上述した構成、或いはフローチャート(図6及び図7)の機能である。本願発明は、その後、そのコンピュータプログラムを、当該ハードウェアのCPU901に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性のメモリ(RAM903)、または、ROM902やハードディスク904等の不揮発性の記憶デバイスに格納すれば良い。
【0072】
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、CD−ROM等の各種記録媒体907を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本願発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記録媒体907によって構成されると捉えることができる。
【0073】
以上、上述した実施形態を模範的な例として本願発明を説明した。しかしながら、本願発明は、上述した実施形態には限定されない。即ち、本願発明は、本願発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【0074】
1 待機系装置
10 動作環境同期装置
11 抽出部
12 判定部
13 更新部
101 動作環境情報
103 差分情報
1030 ヘッダエリア
1031 データエリア
1032 フラグ
1033 オフセット
1034 サイズ
1035 データ
110 待機サーバ
111 動作環境情報
112 BIOS
2 運用系装置
200 管理サーバ
201 動作環境情報
210 運用サーバ
211 動作環境情報
2111 設定情報
2112 構成情報
2113 レビジョン
212 BIOS
3 動作環境同期システム
4 待機系装置
40 動作環境同期装置
41 抽出部
42 判定部
43 更新部
403 差分情報
411 第2の動作環境情報
5 運用系装置
511 第1の動作環境情報
900 情報処理装置
901 CPU
902 ROM
903 RAM
904 ハードディスク(記憶装置)
905 通信インタフェース
906 バス
907 記録媒体
908 リーダライタ
909 入出力インタフェース
図1
図2
図3
図4
図5
図6
図7
図8
図9