(57)【特許請求の範囲】
【請求項１】
業務を運用するための情報処理を実行する運用サーバと、
前記運用サーバの障害時に業務の処理を引き継ぐ待機サーバと、
前記運用サーバと前記待機サーバとの引き継ぎを管理する管理サーバと、
前記運用サーバの障害を検出する監視サーバとを含み、
前記待機サーバは、
前記待機サーバの少なくとも一部のハードウェアを初期化した後、ハードウェアの仮想化情報を設定せずに停止する第１の起動と、
前記ハードウェアの仮想化の設定を含む第２の起動とを制御する
入出力手段と、
前記管理サーバからの第１の起動の指示を受けとり、前記入出力手段に前記第１の起動を指示し、
前記管理サーバから前記ハードウェアを仮想化するための仮想化情報と、前記第２の起動の指示とを受けとり、前記入出力手段に前記仮想化情報を渡し、前記第２の起動を指示する
管理制御手段と、
を含み、
前記監視サーバは、
所定のタイミングで前記管理サーバに前記待機サーバの前記第１の起動のための指示を出し、
前記運用サーバの障害を検出したときに前記管理サーバにフェイルオーバのための指示を出力し、
前記管理サーバは、
前記監視サーバから前記第１の起動のための指示を受けとり、前記待機サーバに前記第１の起動を指示し、
前記監視サーバから前記フェイルオーバのための指示を受けとり、前記待機サーバに前記仮想化情報と、前記第２の起動の指示を送信する
情報処理システム。
【請求項２】
前記待機サーバは、
前記仮想化情報を格納する仮想化情報格納手段と、
仮想化を適用しないときのハードウェアに関するハードウェア情報を格納するハードウェア情報格納手段と
を含む請求項１に記載の情報処理システム。
【請求項３】
前記待機サーバは、
前記入出力手段の一部又は全部を仮想化するための情報である仮想入出力情報を格納する仮想入出力情報格納手段
を含む請求項１及び請求項２に記載の情報処理システム。
【請求項４】
前記管理サーバは、
前記仮想化情報と、前記仮想化情報と関係するサーバに関する情報を含む紐付け情報とを含む管理処理手段を
含む請求項２又は請求項３に記載の情報処理システム。
【請求項５】
業務を運用するための情報処理を実行する運用サーバと、
前記運用サーバの障害時に業務の処理を引き継ぐ待機サーバと、
前記運用サーバと前記待機サーバとの引き継ぎを管理する管理サーバと、
前記運用サーバの障害を検出する監視サーバとを含み、
前記監視サーバは、
所定のタイミングで前記管理サーバに前記待機サーバの第１の起動のための指示を出力し、
前記運用サーバの障害を検出したときに前記管理サーバにフェイルオーバのための指示を出力し、
前記管理サーバは、
前記監視サーバから前記第１の起動のための指示を受けとり、前記待機サーバに第１の起動を指示し、
前記監視サーバから前記フェイルオーバのための指示を受けとり、前記待機サーバに仮想化情報を送り、第２の起動を指示し、
前記待機サーバは、
前記管理サーバからの前記第１の起動の指示を受けとり、ハードウェアを初期化した後、ハードウェアの仮想化情報を設定せずに停止し、
前記管理サーバから前記仮想化情報と前記第２の起動の指示とを受けとり、前記仮想化情報を設定してハードウェアを起動する
情報処理システムの制御方法。
【請求項６】
ハードウェアを初期化した後、ハードウェアの仮想化情報を設定せずに停止する第１の起動と、ハードウェアの仮想化を含む第２の起動とを制御する入出力手段と、
管理サーバからの前記第１の起動の指示を受けとり、前記入出力手段に前記第１の起動を指示し、前記管理サーバから前記ハードウェアの仮想化のための仮想化情報と前記第２の起動の指示とを受けとり、前記入出力手段に前記仮想化情報を渡し、前記第２の起動を指示する管理制御手段と
を含む待機サーバ。
【請求項７】
管理サーバからの第１の起動の指示を受けとり、ハードウェアを初期化した後、ハードウェアの仮想化情報を設定せずに停止する第１の起動を行い、
前記管理サーバからハードウェアの仮想化のための仮想化情報と第２の起動の指示とを受けると前記ハードウェアの仮想化を含む第２の起動を行う
待機サーバの起動方法。
【請求項８】
管理サーバからの第１の起動の指示を受け取り、ハードウェアを初期化した後、ハードウェアの仮想化情報を設定せずに停止する第１の起動処理と、
前記管理サーバからハードウェアの仮想化するための仮想化情報と第２の起動の指示とを受けとり、ハードウェアの仮想化を含む第２の起動処理と
をコンピュータに実行させる待機サーバのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、特に、情報処理システムのフェイルオーバの動作に関する。
【背景技術】
【０００２】
情報処理システムの利用の増加に伴い、情報処理システムで使用されるサーバの数は、増加している。また、処理の中断が問題となる基幹システムで使用されるサーバの数も、増加している。そのため、サーバの信頼性の向上が、望まれている。
【０００３】
そこで、サーバは、起動時に、ハードウェアの不具合の確認として、ＰＯＳＴ（Power On Self Test）を行う。
【０００４】
さらに、サーバは、サーバのハードウェアの監視、遠隔操作、及び、ハードウェア・イベントを記録する管理用のコントローラ（ＢＭＣ：Base Management Controller）を備える。なお、サーバの機能を実現するハードウェアとは、ＣＰＵ（Central Processing Unit）、ＢＩＯＳ（Basic Input Output system）、メモリなどである。
【０００５】
しかし、サーバの構成部品は、常に高度化及び集積化が進んでいる。そのため、ハードウェアなど部品レベルでの信頼性の確保は、限界がある。
【０００６】
そこで、業務を運用するために使用されているサーバ（運用サーバ）のほかに、障害が発生した運用サーバの業務の処理を引き継ぐサーバを備えた情報処理システムが用いられている。業務の処理を引き継ぐサーバは、「待機サーバ」と言われる。
【０００７】
なお、運用サーバの障害時に待機サーバが運用を引き継ぐことは、「フェイルオーバ」と言われる。（例えば、特許文献１参照）
一般的に、待機サーバは、運用サーバとは機能や仕様は同じであるが、物理的に異なる装置やボードで構成される。そのため、運用サーバに搭載されているハードウェアに固定の設定情報は、待機サーバに搭載されているハードウェアの設定情報と異なる。例えば、運用サーバのＮＩＣ（Network Interface Card）のＭＡＣ（Medium Access Control）アドレスやＨＢＡ（Host Bus Adapter）のＷＷＮ（World Wide Name）は、待機サーバのＮＩＣのＭＡＣアドレスやＨＢＡのＷＷＮと異なる。そのため、運用サーバから待機サーバに業務が切り替わると、運用サーバを使用している装置（クライアント装置）は、接続先の切り替えが必要となる。しかし、クライアント装置は、一般的に、サーバと物理的にも離れており、数も多い。そのため、情報処理システムの管理者や利用者がすべてのクライアント装置の設定を変更することは、実質的に困難である。
【０００８】
つまり、フェイルオーバを適用する情報処理システムは、クライアント装置の接続先を、自動的に、運用サーバから待機サーバに変更するできることが望ましい。
【０００９】
サーバ側がクライアント装置に接続先の変更を通知できる場合、通知を受け取ったクライアント装置は、接続先を変更できる。しかし、フェイルオーバする際、運用サーバは、障害を発生しているため、クライアント装置に通知できない。また、待機サーバは、クライアント装置と接続を確保できていないため、クライアント装置に通知できない。つまり、運用サーバ及び待機サーバは、クライアント装置に、接続先の変更を通知できない。
【００１０】
そこで、クライアント装置側が設定を変更せずにフェイルオーバを実現できる情報処理システムが用いられている。このような情報処理システムは、いろいろの種類がある。例えば、運用サーバ及び待機サーバの設定を仮想化し、仮想化した設定のための情報（以下、「仮想化情報」と言う。）を引き継ぐ情報処理システムが用いられている。この仮想化情報は、ＢＩＯＳの設定なども含む。なお、仮想化したＢＩＯＳは、「仮想ＢＩＯＳ」と言われる。
【００１１】
このような情報処理システムの運用サーバは、仮想化情報をハードウェアに設定して動作する。そして、運用サーバに障害が発生し、待機サーバが業務の処理を引き継ぐとき、待機サーバは、運用サーバと同じ仮想化情報をハードウェアに設定して処理を引き継ぐ。つまり、待機サーバは、仮想化情報を用いて、クライアント装置にとって、運用サーバと同様の接続先として動作する。そのため、クライアント装置は、設定を変更しなくても、フェイルオーバした待機サーバに接続可能である。
【００１２】
仮想化された運用サーバ及び待機サーバを管理するサーバは、「管理サーバ」と言われる。管理サーバは、各サーバの起動時、サーバに仮想化を実現するために必要な情報（仮想化情報）を通知する。
【００１３】
運用サーバ及び待機サーバは、起動時に、管理サーバから仮想化情報を受け取り、仮想化情報をハードウェアに設定して、運用を開始する。（例えば、特許文献２参照）
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００８−２９３２４５
【特許文献２】特開２００７−０９４６１１
【発明の概要】
【発明が解決しようとする課題】
【００１５】
フェイルオーバにおける運用サーバから待機サーバへの移行において、待機サーバは、ハードウェアの初期化を含む起動処理を行う。しかし、サーバの高度化に伴い、サーバに搭載されているＣＰＵの数やメモリの容量などハードウェアの規模は、増加している。そのため、サーバの起動処理におけるハードウェアの初期化の時間は、増加している。
【００１６】
つまり、フェイルオーバにおける待機サーバの起動の時間が、増大し、問題となっている。
【００１７】
例えば、上述の特許文献２の発明は、運用サーバが障害時に、待機サーバに運用サーバの設定を引き継がせるものである。つまり、特許文献２の発明は、運用サーバが障害を発生してから、待機サーバが起動するものであり、待機サーバの起動処理の時間が増加するという問題点があった。
【００１８】
そこで、上述の特許文献１においては、記憶装置の論理区画を用意し、待機サーバは、ＯＳ（Operating System）の読み込む前の状態で停止する。そして、運用サーバが故障すると、待機サーバは、ＯＳの論理区画への読み込みから再開し、起動時間の短縮を図っている。
【００１９】
しかし、待機サーバは、情報処理システムの冗長性を確保するための構成であり、待機中に業務処理しない。また、障害の発生する運用サーバは、運用サーバの一部である。そのため、情報処理システムは、運用サーバと同じ台数の待機サーバを含む必要はなく、運用サーバより少ない台数の待機サーバで冗長性を確保できる。
【００２０】
ただし、待機サーバの数が運用サーバより数が少ない場合、待機サーバは、引き継ぐ運用サーバが事前に決まらない。
【００２１】
しかし、特許文献１は、運用サーバに対応した待機サーバを選定して、ＮＩＣやホストバスアダプタなどＩ／Ｏデバイスを初期化して、論理区画を確保して、ＯＳの読み込む前の状態で停止するものである。そのため、上述の特許文献１は、ネットワークに接続した運用サーバに対応した数だけ、ＯＳを読み込む前の状態にした待機サーバを備えることが必要である。つまり、上述の特許文献１に記載の発明は、運用サーバより少ない待機サーバに対応できないという問題点があった。
【００２２】
本発明の目的は、上記問題点を解決し、運用サーバより少ない待機サーバを含む情報処理システムにおいて、待機サーバの起動時間を短縮する情報処理システム、及び、情報処理システムの制御方法を提供することにある。
【課題を解決するための手段】
【００２３】
本発明の情報処理システムは、業務を運用するための情報処理を実行する運用サーバと、前記運用サーバの障害時に業務の処理を引き継ぐ待機サーバと、前記運用サーバと前記待機サーバとの引き継ぎを管理する管理サーバと、前記運用サーバの障害を検出する監視サーバとを含み、前記待機サーバは、前記待機サーバの少なくとも一部のハードウェアを初期化した後に停止する第１の起動と、前記ハードウェアの仮想化の設定を含む第２の起動とを制御する入出力手段と、前記管理サーバからの第１の起動の指示を受けとり、前記入力手段に前記第１の起動を指示し、前記管理サーバから前記ハードウェアを仮想化するための仮想化情報と、前記第２の起動の指示とを受けとり、前記入出力手段に前記仮想化情報を渡し、前記第２の起動を指示する管理制御手段とを含み、前記監視サーバは、所定のタイミングで前記管理サーバに前記待機サーバの前記第１の起動のための指示を出し、前記運用サーバの障害を検出したときに前記管理サーバに所定の指示を出力し、前記管理サーバは、前記監視サーバから前記第１の起動のための指示を受けとり、前記待機サーバに前記第１の起動を指示し、前記監視サーバから前記所定の指示を受けとり、前記待機サーバに前記仮想化情報と、前記第２の起動の指示を送信する。
【００２４】
本発明の情報処理システムの制御方法は、業務を運用するための情報処理を実行する運用サーバと、前記運用サーバの障害時に業務の処理を引き継ぐ待機サーバと、前記運用サーバと前記待機サーバとの引き継ぎを管理する管理サーバと、前記運用サーバの障害を検出する監視サーバとを含み、前記監視サーバは、所定のタイミングで前記管理サーバに前記待機サーバの第１の起動のための指示を出力し、前記運用サーバの障害を検出したときに前記管理サーバに所定の指示を出力し、前記管理サーバは、前記監視サーバから前記第１の起動のための指示を受けとり、前記待機サーバに第１の起動を指示し、前記監視サーバから前記所定の指示を受けとり、前記待機サーバに仮想化情報を送り、第２の起動を指示し、前記待機サーバは、前記管理サーバからの前記第１の起動の指示を受けとり、ハードウェアを初期化した後に停止し、前記管理サーバから前記仮想化情報と前記第２の起動の指示とを受けとり、前記仮想化情報を設定してハードウェアを起動する。
【００２５】
本発明の待機サーバは、ハードウェアを初期化した後に停止する第１の起動と、ハードウェアの仮想化を含む第２の起動とを制御する入出力手段と、管理サーバからの前記第１の起動の指示を受けとり、前記入力手段に前記第１の起動を指示し、前記管理サーバから前記ハードウェアの仮想化のためお仮想化情報と前記第２の起動の指示とを受けとり、前記入出力手段に前記仮想化情報を渡し、前記第２の起動を指示する管理制御手段とを含む。
【００２６】
本発明の待機サーバの起動方法は、管理サーバからの第１の起動の指示を受けとり、ハードウェアを初期化した後に停止する第１の起動を行い、前記管理サーバからハードウェアの仮想化のための仮想化情報と第２の起動の指示とを受けると前記ハードウェアの仮想化を含む第２の起動を行う。
【００２７】
本発明の待機サーバのプログラムは、管理サーバからの第１の起動の指示を受け取り、ハードウェアを初期化した後に停止する第１の起動処理と、前記管理サーバからハードウェアの仮想化するための仮想化情報と第２の起動の指示とを受けとり、ハードウェアの仮想化を含む第２の起動処理とをコンピュータに実行させる。
【発明の効果】
【００２８】
本発明によれば、運用サーバより少ない台数の待機サーバを含む情報処理システムにおいて、待機サーバの起動時間を短縮できる。
【００２９】
また、本発明によれば、待機サーバの起動時間が短くなるため、フェイルオーバの処理を高速化できる。
【図面の簡単な説明】
【００３０】
【図１】図１は、本発明における第１実施の形態に係る情報処理システムの構成の一例を示すブロック図である。
【図２】図２は、第１の実施形態に係る管理サーバの構成の一例を示すブロック図である。
【図３】図３は、第１の実施形態に係る管理サーバのハードウェア構成の一例を示すブロック図である。
【図４】図４は、第１の実施形態に係る待機サーバの構成の一例を示すブロック図である。
【図５】図５は、第１の実施形態に係る待機サーバのハードウェア構成の一例を示すブロック図である。
【図６】図６は、第１の実施形態に係る監視サーバの構成の一例を示すブロック図である。
【図７】図７は、第１の実施形態に係る監視サーバのハードウェア構成の一例を示すブロック図である。
【図８】図８は、第１の実施形態に係る動作の一例を示すシーケンス図である。
【図９】図９は、第１の実施形態に係る動作の一例を示すシーケンス図である。
【発明を実施するための形態】
【００３１】
次に、本発明の実施形態について図面を参照して詳細に説明する。
【００３２】
なお、各図面は、本発明の実施形態を説明するものである。そのため、本発明は、各図面の記載に限られるわけではない。また、各図面の同様の構成には、同じ番号を付し、同様の説明を省略することがある。
【００３３】
（第１の実施形態）
図１は、本発明のおける第１の実施形態に係る情報処理システム１０の構成の一例を示すブロック図である。
【００３４】
情報処理システム１０は、管理サーバ２０と、運用サーバ３０と、待機サーバ４０と、監視サーバ５０とを含む。なお、管理サーバ２０、運用サーバ３０、待機サーバ４０、及び、監視サーバ５０は、ＬＡＮ（Local Area Network）やファイバーチャネルのようなネットワーク、又は、装置の内部バスなど一般的な通信路を介して接続している。
【００３５】
管理サーバ２０は、運用サーバ３０と待機サーバ４０との業務のための動作の引き継ぎ（フェイルオーバ）を管理する。
【００３６】
運用サーバ３０は、情報処理ステム１０で運用される、図示しないクライアント装置のための業務（サービス）を運用するための情報処理（以下、単に「業務の処理」とも言う）を実行する。
【００３７】
待機サーバ４０は、運用サーバ３０が故障などで動作できなくなった場合、運用サーバ３０の業務の処理を引き継ぐ。
【００３８】
監視サーバ５０は、運用サーバ３０及び待機サーバ４０の状態を監視し、管理サーバ２０に通知する。
【００３９】
なお、図１は、図面の煩雑さを避けるため、説明に関係する構成を記載したものである。本実施形態の情報処理システム１０は、図１の記載に限られるわけではない。例えば、運用サーバ３０及び待機サーバ４０は、情報処理システム１０に２台以上含まれても良い。待機サーバ４０が２台以上含まれる場合、管理サーバ２０は、運用サーバ３０の業務の処理を引き継ぐ待機サーバ４０を所定の順番で選択して、フェイルオーバすればよい。例えば、管理サーバ２０は、ラウンドロビンのように、順番に待機サーバ４０を選択して、フェイルオーバしても良い。さらに、運用サーバ３０が論理的に複数のサーバとして動作している場合、管理サーバ２０は、複数の待機サーバ４０を用いてフェイルオーバしても良い。また、管理サーバ２０は、フェイルオーバする運用サーバ３０の付加状況を基に、１台の待機サーバ４０に複数台の運用サーバ３０の業務の処理を引き継がせても良い。
【００４０】
また、管理サーバ２０及び監視サーバ５０は、１つのサーバで実現しても良い。あるいは、情報処理システム１０は、管理サーバ２０又は監視サーバ５０を、２台以上含んでも良い。
【００４１】
続いて、各サーバの構成について説明する。
【００４２】
まず、管理サーバ２０の構成について説明する。
【００４３】
図２は、管理サーバ２０の機能的な構成の一例を示すブロック図である。
【００４４】
なお、図２は、本実施形態の説明に関連する構成を記載したものである。例えば、表示部など説明に関係しない構成の記載は、省略した。
【００４５】
管理サーバ２０は、管理処理部２１０を含む。
【００４６】
管理処理部２１０は、運用サーバ３０と待機サーバ４０とのフェイルオーバを管理する。そのため、管理処理部２１０は、運用サーバ３０及び待機サーバ４０に設定する仮想化情報と、仮想化情報を設定した運用サーバ３０又は待機サーバ４０に関する情報を含む紐付け情報とを保持（格納）する。
【００４７】
管理サーバ２０は、監視サーバ５０からフェイルオーバの指示を受信すると、紐付け情報を参照して障害が発生した運用サーバ３０の仮想化情報を取得する。そして、管理サーバ２０は、待機サーバ４０に取得した仮想化情報を通知して、フェイルオーバにおける、運用サーバ３０から待機サーバ４０への切り替えを管理する。なお、本実施形態に用いる仮想化情報に、特に制限は無い。例えば、仮想化情報は、特許文献２に記載されている仮想化情報である。
【００４８】
図３は、管理サーバ２０のハードウェア構成の一例を示すブロック図である。
【００４９】
なお、図３は、本実施形態の説明に関連する構成を記載したものである。例えば、キーボード、マウス、及び、ディスプレイといった、説明に関係しない構成の記載は、省略した。
【００５０】
管理サーバ２０は、ＣＰＵ２２０と、ＲＯＭ（Read Only Memory）２２２と、ＲＡＭ（Random Access Memory）２２４と、記憶装置２２６と、ＮＩＣ（ネットワークインターフェース回路又はネットワークインタフェースカード）２２８とを含む。
【００５１】
ＣＰＵ２２０は、ＲＯＭ２２２又は記憶装置２２６に含まれるプログラムを読み出して実行し、管理サーバ２０としての機能を実行する。ＣＰＵ２２０は、プログラムを実行する際、ＲＡＭ２２４及び記憶装置２２６を一時記憶として使用してもよい。また、ＣＰＵ２２０は、ＮＩＣ２２８を用いて図３には示していないネットワーク（通信路）を介して他の装置又はサーバとデータをやり取りする。なお、ＣＰＵ２２０は、ＮＩＣ２２８を介して図示しない他の装置からプログラムを取得してもよい。また、ＣＰＵ２２０は、コンピュータで読み取り可能な記憶媒体２３０に含まれるプログラムを、図示しない読み取り装置を用いて読み出して動作しても良い。
【００５２】
ＲＯＭ２２２は、ＣＰＵ２２０が実行するプログラム及び固定データを保持する。
【００５３】
ＲＡＭ２２４は、ＣＰＵ２２０を作業領域としてデータ又はプログラムを一時記憶する。
【００５４】
記憶装置２２６は、ＣＰＵ２２０が実行するプログラムやデータを記憶する。また、記憶装置２２６は、ＣＰＵ２２０の作業領域となる場合もある。
【００５５】
ＮＩＣ２２８は、ＣＰＵ２２０と図３には示していないネットワークを介した他の装置とのデータのやり取りを中継する。
【００５６】
さらに、管理サーバ２０は、個別のサーバとしてではなく、装置の一部の論理構成として実現しても良い。例えば、個々のサーバを１つのブレード（ブレードサーバ）として構成し、抜き差し可能な複数のブレードサーバを搭載できる筐体を備えたブレードサーバ装置が用いられている。このブレードサーバ装置の管理サーバ２０の機能は、いずれかのブレードサーバが実現しても良く、ブレードサーバとは別にブレードサーバ装置の筐体に設けられた管理モジュールとして実現しても良い。また、管理サーバ２０は、ブレードサーバ装置に接続した別装置のサーバとして実現しても良い。
【００５７】
次に、運用サーバ３０及び待機サーバ４０の構成について説明する。運用サーバ３０と待機サーバ４０は、同様の機能を備える。そのため、待機サーバ４０の構成について説明し、運用サーバ３０の構成の詳細な説明は、省略する。なお、運用サーバ３０と待機サーバ４０は同じ構成のため、本実施形態の説明において、運用サーバ３０の構成の符号は、待機サーバ４０の構成の符号と同じとする。
【００５８】
図４は、待機サーバ４０の機能的な構成の一例を示すブロック図である。
【００５９】
なお、図４は、本実施形態の説明に関連する構成を記載したものである。例えば、表示部など説明に関係しない構成の記載は、省略した。
【００６０】
待機サーバ４０は、ＢＭＣ４１０と、ＢＩＯＳ４２０と、仮想化情報格納部４３０と、ハードウェア（ＨＷ）情報格納部４４０と、仮想入出力情報（仮想ＢＩＯＳ情報）格納部４５０とを含む。
【００６１】
ＢＭＣ４１０は、待機サーバ４０のハードウェアの監視、遠隔操作、ハードウェア・イベントを記録する管理用のコントローラである。ＢＭＣ４１０は、待機サーバ４０の他のハードウェアとは異なる電源を備え、他のハードウェアの電源をオフした状態でも、電源の供給を受け、動作可能である。そして、ＢＭＣ４１０は、待機サーバ４０の他のハードウェアの電源のオン（電源を入れる）及びオフ（電源を切る）を制御する。
【００６２】
このように、ＢＭＣ４１０は、通常、電源が入った（オン）状態である。つまり、待機サーバ４０の電源のオン・オフは、ＢＭＣ４１０以外のハードウェアの電源のオン・オフとなる。そのため、以下、ＢＭＣ４１０を除いた待機サーバ４０の他のハードウェア（以下、単に「ハードウェア」と言う）の電源をオン及びオフすることを、待機サーバ４０の電源をオン及びオフすると言う場合もある。
【００６３】
また、ＢＭＣ４１０は、図４には示していないネットワーク（通信路）を介し、管理サーバ２０から、待機サーバ４０のハードウェアを仮想化するための仮想化情報を受け取る。さらに、ＢＭＣ４１０は、後ほど詳細に説明する本実施形態の待機サーバ４０の起動処理を管理する。なお、ＢＭＣ４１０は、管理コントローラ又は管理制御部と言うこともできる。
【００６４】
ＢＩＯＳ４２０は、待機サーバ４０において、ハードウェアと最も近い、低レベルの入出力を管理および制御する。さらに、ＢＩＯＳ４２０は、電源オン時などに、ハードウェアの初期化処理、起動時のテスト（ＰＯＳＴ）、及び、仮想化情報のハードウェアへの設定を制御する。なお、ＢＩＯＳ４２０は、入出力システム、又は、入出力部と言うこともできる。
【００６５】
仮想化情報格納部４３０は、管理サーバ２０から受け取った仮想化情報を格納する。
【００６６】
ＨＷ情報格納部４４０は、出荷時などに設定された待機サーバ４０のハードウェアに設定されたハードウェア情報（ＨＷ情報）、つまり仮想化を適用しない場合の待機サーバ４０のＨＷ情報を格納する。
【００６７】
仮想化情報格納部４３０に仮想化情報が格納されている場合、ＢＩＯＳ４２０は、仮想化情報格納部４３０に格納されている仮想化情報を待機サーバ４０のハードウェアに設定する。
【００６８】
一方、仮想化情報格納部４３０に仮想化情報が格納されていない場合、ＢＩＯＳ４２０は、ＨＷ情報格納部４４０に格納されているＨＷ情報を待機サーバ４０のハードウェアに設定する。
【００６９】
仮想ＢＩＯＳ情報格納部４５０は、仮想入出力情報（仮想ＢＩＯＳ情報）を格納する。
【００７０】
仮想ＢＩＯＳ情報は、ＢＩＯＳ４２０の一部又は全部を仮想化する場合に用いる情報である。例えば、仮想ＢＩＯＳ情報は、管理サーバ２０から受け取ったブートデバイス情報である。仮想ＢＩＯＳ情報が仮想ＢＩＯＳ情報格納部４５０に格納されている場合、ＢＩＯＳ４２０は、仮想ＢＩＯＳ情報を用いて、仮想ＢＩＯＳとしての機能を実現する。
【００７１】
また、仮想ＢＩＯＳ情報格納部４５０は、高速フラグを格納してもよい。なお、高速フラグは、後ほど詳細に説明する起動動作を指定するフラグである。例えば、高速フラグが格納されている場合、待機サーバ４０は、後ほど説明する第１の起動の実施を示す。
【００７２】
図５は、待機サーバ４０のハードウェア構成の一例を示すブロック図である。
【００７３】
なお、図５は、本実施形態の説明に関連する構成を記載したものである。例えば、キーボード、マウス、及び、ディスプレイといった、説明に関係しない構成の記載は、省略した。
【００７４】
待機サーバ４０は、ＣＰＵ４７０と、ＲＯＭ４７２と、ＲＡＭ４７４と、記憶装置４７６と、ＮＩＣ４７８とを含む。
【００７５】
ＣＰＵ４７０は、ＲＯＭ４７２又は記憶装置４７６に含まれるプログラムを読み出して実行し、待機サーバ４０としての機能を実行する。ＣＰＵ４７０は、プログラムを実行する際、ＲＡＭ４７４及び記憶装置４７６を一時記憶として使用する。また、ＣＰＵ４７０は、ＮＩＣ４７８を介して図５には示していないネットワーク（通信路）に接続した装置やサーバとデータをやり取りする。なお、ＣＰＵ４７０は、ＮＩＣ４７８を介して図示しない他の装置からプログラムを取得してもよい。また、ＣＰＵ４７０は、コンピュータで読み取り可能な記憶媒体４８０に含まれるプログラムを、図示しない読み取り装置を用いて読み出して動作しても良い。
【００７６】
ＲＯＭ４７２は、ＣＰＵ４７０が実行するプログラム及び固定データを保持する。
【００７７】
ＲＡＭ４７４は、ＣＰＵ４７０を作業領域としてデータ又はプログラムを一時記憶する。
【００７８】
記憶装置４７６は、ＣＰＵ４７０が実行するプログラムやデータを記憶する。また、記憶装置４７６は、ＣＰＵ４７０の作業領域となる場合もある。
【００７９】
ＮＩＣ４７８は、ＣＰＵ４７０と図５には示していないネットワーク（通信路）を介した他の装置とのデータのやり取りを中継する。
【００８０】
次に、監視サーバ５０の構成について説明する。
【００８１】
図６は、監視サーバ５０の機能的な構成の一例を示すブロック図である。
【００８２】
なお、図６は、本実施形態の説明に関連する構成を記載したものである。例えば、表示部といった、説明に関係しない構成の記載は、省略した。
【００８３】
監視サーバ５０は、情報処理システム１０の全体を監視する。
【００８４】
そのため、監視サーバ５０は、監視処理部５１０を含む。
【００８５】
監視サーバ５０の監視処理部５１０は、運用サーバ３０、及び待機サーバ４０の動作を監視する。そして、監視処理部５１０は、運用サーバ３０の障害を検出すると、管理サーバ２０にフェイルオーバを指示する。なお、監視処理部５１０は、管理サーバ２０を監視しても良い。
【００８６】
また、監視サーバ５０は、情報処理システム１０の管理者などから、情報処理システム１０に含まれるいずれのサーバを待機サーバ４０とするかの設定、及び、待機サーバ４０のフェイルオーバの順番を受け取り保持しても良い。この場合、監視サーバ５０は、管理サーバ２０に、待機サーバ４０の指示、及び、フェイルオーバ時に運用を引き継ぐ待機サーバ４０を指定しても良い。
【００８７】
さらに、監視サーバ５０は、各サーバの個別の構成を監視しても良い。例えば、監視サーバ５０は、運用サーバ３０及び待機サーバ４０のＢＭＣ４１０やＢＩＯＳ４２０、各サーバのＯＳやアプリケーションを監視しても良い。
【００８８】
また、監視サーバ５０は、情報処理システム１０の起動時など所定のタイミングで、管理サーバ２０に待機サーバ４０の第１の起動を指示する。
【００８９】
図７は、監視サーバ５０のハードウェア構成の一例を示すブロック図である。
【００９０】
なお、図７は、本実施形態の説明に関連する構成を記載したものである。例えば、キーボード、マウス、及び、ディスプレイといった、説明に関係しない構成の記載は、省略した。
【００９１】
監視サーバ５０は、ＣＰＵ５２０と、ＲＯＭ５２２と、ＲＡＭ５２４と、記憶装置５２６と、ＮＩＣ５２８とを含む。
【００９２】
ＣＰＵ５２０は、ＲＯＭ５２２又は記憶装置５２６に含まれるプログラムを読み出して実行し、監視サーバ５０としての機能を実行する。ＣＰＵ５２０は、プログラムを実行する際、ＲＡＭ５２４及び記憶装置５２６を一時記憶として使用する。また、ＣＰＵ５２０は、ＮＩＣ５２８を介して図７には示していないネットワーク（通信路）に接続した装置とデータをやり取りする。なお、ＣＰＵ５２０は、ＮＩＣ５２８を介して他の装置からプログラムを取得してもよい。また、ＣＰＵ５２０は、コンピュータで読み取り可能な記憶媒体５３０に含まれるプログラムを、図示しない読み取り装置を用いて読み出して動作しても良い。
【００９３】
ＲＯＭ５２２は、ＣＰＵ５２０が実行するプログラム及び固定データを保持する。
【００９４】
ＲＡＭ５２４は、ＣＰＵ５２０を作業領域としてデータ又はプログラムを一時記憶する。
【００９５】
記憶装置５２６は、ＣＰＵ５２０が実行するプログラムやデータを記憶する。また、記憶装置５２６は、ＣＰＵ５２０の作業領域となる場合もある。
【００９６】
ＮＩＣ５２８は、ＣＰＵ５２０と図７には示していないネットワーク（通信路）を介した他の装置とのデータのやり取りを中継する。
【００９７】
なお、既に説明しているが、管理サーバ２０と監視サーバ５０は、１つのサーバで実現してもよい。
【００９８】
続いて、情報処理システム１０の動作について説明する。
【００９９】
本実施形態に情報処理システム１０は、待機サーバ４０の起動を２つの段階に分ける。この起動に基づき、情報処理システム１０は、待機サーバ４０の数が運用サーバ３０の数より少ない場合にも対応でき、且つ、フェイルオーバ時の待機サーバ４０の起動時間を短くできる。
【０１００】
次に、本実施形態の特徴である待機サーバ４０の２つの段階の起動の動作について、それぞれ図面を参照して説明する。
【０１０１】
まず、第１の段階の起動の動作を説明する。
【０１０２】
図８は、第１の段階の起動の動作の一例を示すシーケンス図である。
【０１０３】
なお、図８は、動作の説明に関連する構成を記載し、他の構成の記載は省略した。
【０１０４】
待機サーバ４０に第１の起動を実行させるため、監視サーバ５０は、所定のタイミングで、待機サーバ４０の設定及び指示を、管理サーバ２０に出力する（１００１）。なお、所定のタイミングは、特に制限など無い。ただし、このタイミングは、例えば、情報処理システム１０の起動時など、運用サーバ３０が動作を開始する前が望ましい。
【０１０５】
管理サーバ２０は、指示された待機サーバ４０に、一般的な起動ではなく、本実施形態の第１の起動を指示する（１００２）。
【０１０６】
指示を受けた待機サーバ４０のＢＭＣ４１０は、第１の起動を指示されたことを格納する（１００３）。ＢＭＣ４１０は、第１の起動を指示されたことの格納として、例えば、フラグ（高速フラグ）を用意し、仮想ＢＩＯＳ情報格納部４５０に高速フラグを格納してもよい。なお、本実施形態において、高速フラグの格納は、仮想ＢＩＯＳ情報格納部４５０に限る必要はない。例えば、ＢＭＣ４１０が、高速フラグを格納しても良い。
【０１０７】
第１の起動の指示（高速フラグ）を格納後、ＢＭＣ４１０は、格納完了を管理サーバ２０に返す（１００４）。
【０１０８】
格納完了を受けた管理サーバ２０は、待機サーバ４０のＢＭＣ４１０に電源オンを指示する（１００５）。
【０１０９】
電源オンの指示を受けた待機サーバ４０のＢＭＣ４１０は、本実施形態の第１の段階の起動を開始する（１００６）。
【０１１０】
待機サーバ４０の第１の段階の起動の以降の動作については、後ほど説明する。
【０１１１】
第１の段階の起動を開始したＢＭＣ４１０は、管理サーバ２０に電源オンの開始を通知する（１００７）。
【０１１２】
電源オンの開始（又は、完了）を受け取った管理サーバ２０は、待機サーバ４０の電源オンの開始を監視サーバ５０に通知する（１００８）。
【０１１３】
なお、管理サーバ２０は、第１段階の起動を開始すると待機サーバ４０に対しての処理が終了する。そのため、ＢＭＣ４１０は、管理サーバ２０に電源オンの完了を通知しても良い。電源オンの完了を受け取った管理サーバ２０は、監視サーバ５０に電源オンの完了を通知する。
【０１１４】
また、待機サーバ４０で電源オンを開始すると、監視サーバ５０の処理は、終了する。そのため、管理サーバ２０は、電源オンの開始に換えて、電源オンの終了又は設定完了を返しても良い。
【０１１５】
待機サーバ４０の第１段階の起動の残りの動作について説明する。
【０１１６】
電源オンの指示を受けたＢＭＣ４１０は、待機サーバ４０の電源をオンする。待機サーバ４０の電源がオンすると、ＢＩＯＳ４２０は、ハードウェアの立ち上げ、例えば、ハードウェアの初期化処理（１００９）とハードウェアのＰＯＳＴ（１０１０）とを行う。
【０１１７】
特許文献２に記載の待機サーバは、この後、通常の起動処理を継続する。
【０１１８】
また、特許文献１に記載の待機サーバは、この後、運用サーバに対応した設定（論理区画の確保）を行う。その後、特許文献１に記載の待機サーバは、ＯＳをロードするところで停止する。
【０１１９】
本実施形態の待機サーバ４０のＢＩＯＳ４２０は、次の説明するように、特許文献２及び特許文献１に記載の待機サーバとは異なる動作を行う。
【０１２０】
ハードウェアの設定が終了すると、ＢＩＯＳ４２０は、ＢＭＣ４１０に第１の起動を指示されているか否かを問い合わせる（１０１１）。なお、既に説明した高速フラグを用いる場合、ＢＩＯＳ４２０は、ＢＭＣ４１０に高速フラグを格納しているか否かを問い合わせる。
【０１２１】
ＢＭＣ４１０は、ＢＩＯＳ４２０に第１の起動を指示されているか否か（指示状態）を返す（１０１２）。例えば、高速フラグを用いる場合、ＢＭＣ４１０は、高速フラグを格納しているか否かを返す。
【０１２２】
ここでは、既に説明したとおり第１の起動の指示を受けているため、ＢＭＣ４１０は、ＢＩＯＳ４２０に指示されていることを返す。なお、ここで、第１の起動を指示されていないことを返した場合、ＢＩＯＳ４２０は、通常の起動を行う。
【０１２３】
第１の起動を指示されているため、ＢＩＯＳ４２０は、以降の処理、例えば、ハードウェアに仮想化情報を設定せず、停止状態（スリープなど）を開始する（１０１３）。本実施形態において、ＢＩＯＳ４２０が実現するスリープに特に制限はない。例えば、高速フラグを用いる場合、ＢＩＯＳ４２０は、ＢＭＣ４１０が高速フラグの格納をやめるまで、ＢＭＣ４１０の高速フラグの格納を定期的に確認（ポーリング）してもよい。あるいは、ＢＩＯＳ４２０は、ＡＣＰＩ（Advanced Configuration and Power Interface）に定義されたシステムスリープに移行し、ＢＭＣ４１０などからスリープ終了の要求を受けるまで、スリープを継続しても良い。
【０１２４】
ここまでの動作で、待機サーバ４０の第１の起動は、終了する。
【０１２５】
つまり、待機サーバ４０は、ハードウェアの初期化や初期テストを実施するが、仮想化情報の設定など、運用サーバ３０の業務の引き継ぎの際に必要となる情報を設定しないでスリープする。
【０１２６】
なお、管理サーバ２０は、第１の起動指示（１００２）と電源オンの指示（１００５）を１つの指示としても良い。この場合、ＢＭＣ４１０は、第１の起動指示を格納（１００３）後、待機サーバ４０の電源のオン（１００６）を指示する。
【０１２７】
次に、第２の起動の動作について説明する。
【０１２８】
第２の起動は、待機サーバ４０が第１の起動のスリープ状態に移行後、監視サーバ５０が運用サーバ３０の障害を検出した場合の動作である。
【０１２９】
図９は、第２の段階の起動の動作の一例を示すシーケンス図である。
【０１３０】
運用サーバ３０の障害（２０００）を検出した監視サーバ５０は、フェイルオーバを管理サーバ２０に要求する（２００１）。そのため、監視サーバ５０は、管理サーバ２０に所定の指示を出力する。なお、情報処理システム１０が複数の待機サーバ４０を含む場合、管理サーバ２０は、監視サーバ５０が指定した待機サーバ４０を用いてフェイルオーバする。あるいは、管理サーバ２０は、所定の規則に従って待機サーバ４０を決定してもよい。
【０１３１】
フェイルオーバの指示を受けた管理サーバ２０は、待機サーバ４０がフェイルオーバ可能か否かを確認するため、待機サーバ４０に装置状態を要求する（２００２）。本実施形態の待機サーバ４０は、スリープ状態がフェイルオーバ可能な状態である。そのため、例えば、管理サーバ２０は、ＢＭＣ４１０に待機サーバ４０の電源状態を問い合わせても良い。
【０１３２】
ＢＭＣ４１０は、待機サーバ４０の装置状態を管理サーバ２０に返す（２００３）。なお、電源状態を要求されて場合、ＢＭＣ４１０は、スリープなど待機サーバ４０の電源状態を管理サーバ２０に返す。
【０１３３】
管理サーバ２０は、受け取った待機サーバ４０の装置状態（例えば、電源状態）を確認する（２００４）。待機サーバ４０の装置状態がフェイルオーバ可能でない場合、管理サーバ２０は、所定の規則の従って再実行（リトライ）するか、監視サーバ５０又は図示しない情報処理システム１０の保守サーバにフェイルオーバができないことを通知する。なお、管理サーバ２０は、リトライとして、例えば、別の待機サーバ４０を選択して装置状態の確認する（２００２）。
【０１３４】
待機サーバ４０がフェイルオーバ可能な場合、管理サーバ２０は、管理サーバ２０の管理処理部２１０が格納する紐付け情報と仮想化情報とを基に、障害を起こした運用サーバ３０に設定した仮想化情報を取得する。そして、管理サーバ２０は、待機サーバ４０に、取得した仮想化情報を送り、待機サーバ４０に仮想化情報の設定を指示する（２００５）。
【０１３５】
仮想化情報を受け取ったＢＭＣ４１０は、仮想化情報を仮想化情報格納部４３０に格納する（２００６）。ＢＭＣ４１０は、仮想化情報とともに、管理サーバ２０から仮想ＢＩＯＳ情報を受け取っても良い。仮想ＢＩＯＳ情報を受け取ったＢＭＣ４１０は、仮想ＢＩＯＳ情報を仮想ＢＩＯＳ情報格納部４５０に格納する。
【０１３６】
情報の格納が終了後、ＢＭＣ４１０は、仮想化情報の格納終了を管理サーバ２０に通知する（２００７）。
【０１３７】
仮想化情報の格納を受け取った管理サーバ２０は、待機サーバ４０のＢＭＣ４１０に、待機サーバ４０の第２の段階の起動を指示する（２００８）。
【０１３８】
第２の段階の起動の指示を受けたＢＭＣ４１０は、第２の起動を開始する（２００９）。
【０１３９】
具体的には、ＢＭＣ４１０は、ＢＩＯＳ４２０に第２の起動を指示する（２０１０）。本実施形態に第２の起動の開始の指示は、特に制限はない。例えば、ＢＩＯＳ４２０が、ＢＭＣ４１０の高速フラグをポーリングしている場合、ＢＭＣ４１０は、高速フラグを解除しても良い。この場合、ＢＭＣ４１０は、具体的な指示をＢＩＯＳ４２０に送る必要が無い。このように本実施形態は、必ずしも通知しない場合も含むため、図９の矢印は、破線を用いた。あるいは、ＢＩＯＳ４２０がＡＣＰＩのスリープ状態の場合、ＢＭＣ４１０は、ＢＩＯＳ４２０にスリープ解除を指示してもよい。
【０１４０】
この後のＢＩＯＳ４２０の動作は、後ほど説明する。
【０１４１】
ＢＩＯＳ４２０に第２段階の起動を指示後、ＢＭＣ４１０は、管理サーバ２０に第２段階の起動の開始を通知する（２０１１）。
【０１４２】
起動の開始を受け取った管理サーバ２０は、監視サーバ５０にフェイルオーバの開始を通知する（２０１２）。
【０１４３】
なお、管理サーバ２０は、第２段階の起動を開始すると待機サーバ４０に対しての処理が終了する。そのため、シーケンス２０１１において、ＢＭＣ４１０は、管理サーバ２０に起動の完了を通知しても良い。起動の完了の通知を受けた管理サーバ２０は、監視サーバ５０にフェイルオーバの完了を通知しても良い。
【０１４４】
また、フェイルオーバの開始後、監視サーバ５０が待機サーバ４０を運用中のサーバとして監視する場合、管理サーバ２０は、フェイルオーバの開始の通知に換えて、フェイルオーバの完了を通知しても良い。
【０１４５】
第２の段階の起動の開始の指示を受けたＢＩＯＳ４２０は、スリープを終了する。そして、ＢＩＯＳ４２０は、仮想化情報をハードウェアに設定する。なお、本実施形態のＢＩＯＳ４２０の仮想化情報の取得は、特に制限はない。例えば、ＢＩＯＳ４２０は、仮想化情報格納部４３０及び仮想ＢＩＯＳ情報格納部４５０が情報を格納しているかを確認しても良い。本実施形態の説明では、他の例として、ＢＩＯＳ４２０が、ＢＭＣ４１０から仮想化情報と仮想ＢＩＯＳ情報とを取得するとして説明する。
【０１４６】
ＢＩＯＳ４２０は、ＢＭＣ４１０に仮想化情報（及び仮想ＢＩＯＳ情報）を要求する（２０１３）。
【０１４７】
ＢＭＣ４１０は、シーケンス２００６で格納した、仮想化情報格納部４３０に格納されている仮想化情報と、仮想ＢＩＯＳ情報格納部４５０に格納している仮想ＢＩＯＳ情報とを、ＢＩＯＳ４２０に送る（２０１４）。
【０１４８】
ＢＩＯＳ４２０は、仮想化情報と仮想ＢＩＯＳ情報とを基にハードウェアの仮想化を含む論理的な設定を行い、さらに、仮想ＢＩＯＳ情報を基に仮想ＢＩＯＳとしての動作を開始する（２０１５）。
【０１４９】
ハードウェアの設定を終了後、ＢＩＯＳ４２０は、ＯＳをロードする（２０１６）。
【０１５０】
そして、待機サーバ４０は、運用に必要なアプリケーションの動作を開始し、運用サーバ３０の業務の処理を引き継ぐ。
【０１５１】
ここまで説明した動作で、第２の起動の動作は、終了する。
【０１５２】
この後、待機サーバ４０は、運用に必要なアプリケーションの動作を開始する。
【０１５３】
なお、管理サーバ２０は、仮想化情報設定要求（２００５）と起動指示（２００８）を１つの指示としても良い。この場合、ＢＭＣ４１０は、仮想化情報を設定（２００６）後、第２の起動を開始する（２００９）。
【０１５４】
本実施形態に係る情報処理システム１０は、運用サーバ３０より少ない待機サーバ４０において、待機サーバ４０の起動時間を短縮できる。
【０１５５】
その理由は、次のとおりである。
【０１５６】
本実施形態の待機サーバ４０は、障害が発生してフェイルオーバが開始する前にハードウェアの初期化など第１の段階の起動を終了している。そのため、障害が発生してフェイルオーバする場合、待機サーバ４０は、仮想化を含む第２の起動を処理すればよい。つまり、待機サーバ４０は、第１の段階の起動の時間だけ、フェイルオーバでの起動時間を短くできる。
【０１５７】
なお、一般的に、サーバの起動において、ハードウェアの仮想化を含む論理的な設定に必要な時間は、ハードウェアの初期化に必要な時間に比べ短い。つまり、待機サーバ４０の第２の段階の起動時間は、第１の段階の起動時間に比べ短い。そのため、本実施形態の待機サーバ４０は、フェイルオーバで必要となる起動時間を大幅に削減できる。
【０１５８】
さらに、本実施形態の待機サーバ４０は、第１の段階の起動後でも、ハードウェアの仮想化を設定していない。そして、待機サーバ４０は、第２の段階の起動で、仮想化情報を受け取り、ハードウェアを仮想化する。そのため、待機サーバ４０は、いずれの運用サーバ３０についてもフェイルオーバに対応できる。つまり、本実施形態の情報処理システム１０は、運用サーバ３０より少ない台数の待機サーバ４０でフェイルオーバを実現できる。
【０１５９】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【０１６０】
１０    情報処理システム
２０    管理サーバ
３０    運用サーバ
４０    待機サーバ
５０    監視サーバ
２１０    管理処理部
２２０    ＣＰＵ
２２２    ＲＯＭ
２２４    ＲＡＭ
２２６    記憶装置
２２８    ＮＩＣ
２３０    記憶媒体
４１０    ＢＭＣ
４２０    ＢＩＯＳ
４３０    仮想化情報格納部
４４０    ＨＷ情報格納部
４５０    仮想ＢＩＯＳ情報格納部
４７０    ＣＰＵ
４７２    ＲＯＭ
４７４    ＲＡＭ
４７６    記憶装置
４７８    ＮＩＣ
４８０    記憶媒体
５１０    監視処理部
５２０    ＣＰＵ
５２２    ＲＯＭ
５２４    ＲＡＭ
５２６    記憶装置
５２８    ＮＩＣ
５３０    記憶媒体
【図１】
0005549688.tif 000002
【図２】
0005549688.tif 000003
【図３】
0005549688.tif 000004
【図４】
0005549688.tif 000005
【図５】
0005549688.tif 000006
【図６】
0005549688.tif 000007
【図７】
0005549688.tif 000008
【図８】
0005549688.tif 000009
【図９】
0005549688.tif 000010