(57)【要約】【課題】計算機システムにおいて新たな計算機が運用に追加される際に、追加計算機の起動失敗を未然に防ぐこと。【解決手段】計算機システム１は、管理計算機２００と予備計算機群４００とを備える。予備計算機群４００は、管理計算機２００とネットワークを介して接続され、少なくとも１つの予備計算機から構成される。管理計算機２００は、情報収集モジュール２１と選択モジュール２２を有する。情報収集モジュール２１は、ハードウェア構成を示すハードウェア情報ＤＨＷを予備計算機群４００から収集する。選択モジュール２２は、予備計算機群４００のハードウェア情報ＤＨＷに基づいて、所定のハードウェア構成を包含する予備計算機を予備計算機群４００から選択する。【選択図】図４
2008021198.tif 000002
【特許請求の範囲】
【請求項１】
管理計算機と、
前記管理計算機とネットワークを介して接続された少なくとも１つの予備計算機と
を備え、
前記管理計算機は、
前記少なくとも１つの予備計算機からハードウェア構成を示すハードウェア情報を収集する情報収集モジュールと、
前記少なくとも１つの予備計算機に関する前記ハードウェア情報に基づいて、所定のハードウェア構成を包含する予備計算機を前記少なくとも１つの予備計算機から選択する選択モジュールと
を有する
計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記情報収集モジュールは、前記ハードウェア情報を取得する取得プログラムを、前記少なくとも１つの予備計算機に送信することによって、前記少なくとも１つの予備計算機に関する前記ハードウェア情報を収集する
計算機システム。
【請求項３】
請求項２に記載の計算機システムであって、
更に、運用中の計算機である配布元計算機を備え、
前記所定のハードウェア構成は、前記配布元計算機のハードウェア構成である
計算機システム。
【請求項４】
請求項３に記載の計算機システムであって、
前記選択モジュールは、前記配布元計算機の前記ハードウェア情報と前記少なくとも１つの予備計算機の前記ハードウェア情報との比較を行うことによって、前記配布元計算機のハードウェア構成を包含する予備計算機を前記少なくとも１つの予備計算機から選択する
計算機システム。
【請求項５】
請求項４に記載の計算機システムであって、
前記選択モジュールは、前記ハードウェア情報を所定のフォーマットに変換し、前記配布元計算機の前記変換後のハードウェア情報と前記少なくとも１つの予備計算機の前記変換後のハードウェア情報との比較を行うことによって、前記予備計算機を選択する
計算機システム。
【請求項６】
請求項３乃至５のいずれかに記載の計算機システムであって、
更に、前記管理計算機がアクセス可能なストレージを備え、
前記ストレージには、複数種類のＯＳのそれぞれに対応付けられた複数のプログラムが格納され、
前記複数のプログラムの各々は、対応するＯＳがサポートするハードウェア構成を認識するためのプログラムであり、
前記管理計算機は更に、
前記配布元計算機が使用しているＯＳを特定するＯＳ特定モジュールと、
前記複数のプログラムのうち前記特定されたＯＳに対応付けられた１つを前記取得プログラムとして選択するプログラム選択モジュールと
を有する
計算機システム。
【請求項７】
請求項６に記載の計算機システムであって、
前記ストレージには、前記複数のプログラムと前記複数種類のＯＳとの対応関係を示すテーブルが格納され、
前記プログラム選択モジュールは、前記テーブルを参照することによって、前記特定されたＯＳに対応づけられた１つのプログラムを選択する
計算機システム。
【請求項８】
請求項３乃至５のいずれかに記載の計算機システムであって、
更に、前記管理計算機がアクセス可能なストレージを備え、
前記ストレージには、複数のベースプログラムが格納され、
前記複数のベースプログラムの各々は、特定のハードウェア構成を認識するためのプログラムであり、
前記管理計算機は更に、
前記配布元計算機が使用しているＯＳを特定するＯＳ特定モジュールと、
前記特定されたＯＳがサポートするハードウェア構成を認識するような前記取得プログラムを、前記複数のベースプログラムを組み合わせることによって作成するプログラム作成モジュールと
を有する
計算機システム。
【請求項９】
請求項８に記載の計算機システムであって、
前記ストレージには、複数種類のＯＳのそれぞれがサポートするハードウェア構成を示す第１テーブルと、前記複数のベースプログラムのそれぞれが認識可能なハードウェア構成を示す第２テーブルとが格納され、
前記プログラム作成モジュールは、前記第１テーブル及び前記第２テーブルを参照することによって、前記複数のベースプログラムの組み合わせを決定する
計算機システム。
【請求項１０】
請求項３乃至９のいずれかに記載の計算機システムであって、
前記管理計算機は、更に、前記選択された予備計算機に前記配布元計算機のディスクイメージをコピーするイメージ配布モジュールを有する
計算機システム。
【請求項１１】
請求項２乃至１０のいずれかに記載の計算機システムであって、
前記情報収集モジュールは、前記取得プログラムを、前記少なくとも１つの予備計算機に含まれる全ての予備計算機に一括して送信する
計算機システム。
【請求項１２】
請求項２乃至１０のいずれかに記載の計算機システムであって、
前記情報収集モジュールは、前記取得プログラムを、前記少なくとも１つの予備計算機のうち一部の予備計算機に選択的に送信する
計算機システム。
【請求項１３】
請求項１乃至１２のいずれかに記載の計算機システムであって、
前記ハードウェア構成は、ボードの種別と数、スロット位置を含む
計算機システム。
【請求項１４】
ネットワークを介して接続された少なくとも１つの予備計算機から、ハードウェア構成を示すハードウェア情報を収集する情報収集モジュールと、
前記少なくとも１つの予備計算機に関する前記ハードウェア情報に基づいて、所定のハードウェア構成を包含する予備計算機を前記少なくとも１つの予備計算機から選択する選択モジュールと
を有する
管理計算機。
【請求項１５】
請求項１４に記載の管理計算機であって、
前記情報収集モジュールは、前記ハードウェア情報を取得する取得プログラムを、前記少なくとも１つの予備計算機に送信することによって、前記少なくとも１つの予備計算機に関する前記ハードウェア情報を収集する
管理計算機。
【請求項１６】
請求項１４又は１５に記載の管理計算機であって、
前記所定のハードウェア構成は、運用中の計算機である配布元計算機のハードウェア構成である
管理計算機。
【請求項１７】
請求項１６に記載の管理計算機であって、
前記選択モジュールは、前記配布元計算機の前記ハードウェア情報と前記少なくとも１つの予備計算機の前記ハードウェア情報との比較を行うことによって、前記配布元計算機のハードウェア構成を包含する予備計算機を前記少なくとも１つの予備計算機から選択する
管理計算機。
【請求項１８】
請求項１６又は１７に記載の管理計算機であって、
更に、前記選択された予備計算機に前記配布元計算機のディスクイメージをコピーするイメージ配布モジュールを有する
管理計算機。
【請求項１９】
ディスクイメージの配布先となる計算機を選択する計算機選択方法であって、
（Ａ）少なくとも１つの予備計算機から、ハードウェア構成を示すハードウェア情報を収集するステップと、
（Ｂ）前記少なくとも１つの予備計算機に関する前記ハードウェア情報に基づいて、所定のハードウェア構成を包含する予備計算機を前記少なくとも１つの予備計算機から選択するステップと
を有する
計算機選択方法。
【請求項２０】
請求項１９に記載の計算機選択方法であって、
前記（Ａ）ステップは、
（Ａ１）前記ハードウェア情報を取得する取得プログラムを、前記少なくとも１つの予備計算機に送信するステップと、
（Ａ２）前記取得プログラムを実行することによって、前記少なくとも１つの予備計算機に関する前記ハードウェア情報を収集するステップと
を含む
計算機選択方法。
【請求項２１】
請求項１９又は２０に記載の計算機選択方法をコンピュータに実行させるための計算機選択プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムに関する。特に、本発明は、計算機システムにおいて、新たに運用に追加される計算機にディスクイメージを配布する技術に関する。
【背景技術】
【０００２】
ネットワークを介して様々なサービスを提供するサーバシステムが知られている。サーバシステムは、複数のサーバで構成されている。ユーザ数の増加等により負荷が増加した場合、処理能力を増加させるため、新たなサーバが運用に追加される（例えば、特許文献１参照）。
【０００３】
サーバ追加の要求に備えて、サーバシステムには、あらかじめ予備サーバ群が設けられている。サーバの追加時、例えば、予備サーバ群のうち１つを選択し、その選択された予備サーバに、必要なＯＳ（Operating System）やソフトウェアをインストールすることが考えられる。しかし、インストール処理は時間がかかるため、一般的には、選択された予備サーバには、配布元サーバのディスクイメージが配布される。
【０００４】
図１は、従来のサーバ追加方法を示すフローチャートである。まず、運用中のサーバのディスクイメージがあらかじめ用意される（ステップＳ１０１）。そのディスクイメージは、ＯＳ、ミドルウェア、業務アプリケーション等を含んでおり、以下「配布元イメージ」と参照される。次に、予備サーバが管理サーバに登録される（ステップＳ１０２）。その後、追加サーバの割り当てが要求されると（ステップＳ１０３）、管理サーバは、登録された予備サーバ群から任意の予備サーバを選択する（ステップＳ１０４）。そして、管理サーバは、選択された予備サーバのディスクに、配布元イメージをコピーする（ステップＳ１０５）。
【０００５】
コピーが完了すると、予備サーバの起動処理が行われる（ステップＳ１０６）。ここで、運用中のサーバ（配布元サーバ）と予備サーバとの間で、ハードウェア構成（以下、「ＨＷ（hardware）構成」と参照される）が異なっている場合がある。ＨＷ構成とは、ボードの種別や数、スロットの挿し位置などである。その場合、ストレージのデバイスファイル名が異なるため、配布元イメージ（ＯＳ，ミドルウェア，業務アプリケーション）中でデバイスファイル名を参照する部分が正常に起動しない。起動失敗の場合（ステップＳ１０７；Ｎｏ）、他の予備サーバに関してステップＳ１０４〜Ｓ１０６が繰り返される。
【０００６】
特許文献２には、二重化コンピュータシステムにおいて、システムの切換時間のロスと切換操作のミスを防止するための技術が開示されている。その技術によれば、第１のコンピュータ（現用系）の内蔵回路は、起動時に、自身のハードウェア構成情報を収集する。第２のコンピュータ（予備系）の内蔵回路も、起動時に、自身のハードウェア構成情報を収集する。システムの切換において、それぞれのハードウェア構成情報の比較が行われる。
【０００７】
【特許文献１】特開２００６−１１８６０号公報
【特許文献２】特開２０００−２０７２３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述の通り、配布元サーバと予備サーバとの間でＨＷ構成が異なっている場合、配布元イメージ中でデバイスファイル名を参照する部分が正常に起動しない。起動失敗の場合（ステップＳ１０７；Ｎｏ）、他の予備サーバに関してステップＳ１０４〜Ｓ１０６が繰り返される。これは、サーバ追加処理に要する時間の増大を招く。
【０００９】
特許文献２に記載された技術は、二重化コンピュータシステムに適用され得る技術であり、上述のケースのように予備サーバが新たに運用に追加されるケースには適用できない。特に、予備サーバ群から運用に追加される適切な予備サーバを選択することはできない。
【課題を解決するための手段】
【００１０】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、［課題を解決するための手段］を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１１】
本発明の第１の観点において、計算機システム（１）が提供される。その計算機システム（１）は、管理計算機（２００）と少なくとも１つの予備計算機（４００）とを備える。予備計算機（４００）は、管理計算機（２００）とネットワークを介して接続されている。管理計算機（２００）は、情報収集モジュール（２１）と選択モジュール（２２）を有する。情報収集モジュール（２１）は、ハードウェア構成を示すハードウェア情報（ＤＨＷ）を少なくとも１つの予備計算機（４００）から収集する。選択モジュール（２２）は、少なくとも１つの予備計算機（４００）のハードウェア情報（ＤＨＷ）に基づいて、所定のハードウェア構成を包含する予備計算機を少なくとも１つの予備計算機（４００）から選択する。
【００１２】
このように、本発明によれば、所定のハードウェア構成を包含する予備計算機が選択される。例えば、その所定のハードウェア構成は、運用中の計算機である配布元計算機（３００）のハードウェア構成である。その場合、選択された予備計算機は、配布元計算機（３００）のハードウェア構成を包含しているため、配布元計算機（３００）のディスクイメージ（１０）によって正常に起動することが保障される。ディスクイメージ（１０）中でデバイスファイル名を参照する部分が起動しないといった事態が防止される。すなわち、本発明によれば、ディスクイメージ（１０）のコピー前に、追加計算機の起動失敗を未然に防ぐことが可能となる。
【００１３】
本発明の第２の観点において、管理計算機（２００）が提供される。その管理計算機（２００）は、情報収集モジュール（２１）と選択モジュール（２２）とを有する。情報収集モジュール（２１）は、ネットワークを介して接続された少なくとも１つの予備計算機（４００）から、ハードウェア構成を示すハードウェア情報（ＤＨＷ）を収集する。選択モジュール（２２）は、少なくとも１つの予備計算機（４００）のハードウェア情報（ＤＨＷ）に基づいて、所定のハードウェア構成を包含する予備計算機を少なくとも１つの予備計算機（４００）から選択する。
【００１４】
このように、本発明によれば、所定のハードウェア構成を包含する予備計算機が選択される。例えば、その所定のハードウェア構成は、運用中の計算機である配布元計算機（３００）のハードウェア構成である。その場合、選択された予備計算機は、配布元計算機（３００）のハードウェア構成を包含しているため、配布元計算機（３００）のディスクイメージ（１０）によって正常に起動することが保障される。よって、ディスクイメージ（１０）のコピー前に、追加計算機の起動失敗を未然に防ぐことが可能となる。
【００１５】
本発明の第３の観点において、ディスクイメージの配布先となる計算機を選択する計算機選択方法が提供される。その計算機選択方法は、（Ａ）少なくとも１つの予備計算機（４００）から、ハードウェア構成を示すハードウェア情報（ＤＨＷ）を収集するステップと、（Ｂ）少なくとも１つの予備計算機（４００）のハードウェア情報（ＤＨＷ）に基づいて、所定のハードウェア構成を包含する予備計算機を少なくとも１つの予備計算機（４００）から選択するステップと、を有する。
【００１６】
このように、本発明によれば、所定のハードウェア構成を包含する予備計算機が選択される。例えば、その所定のハードウェア構成は、運用中の計算機である配布元計算機（３００）のハードウェア構成である。その場合、選択された予備計算機は、配布元計算機（３００）のハードウェア構成を包含しているため、配布元計算機（３００）のディスクイメージ（１０）によって正常に起動することが保障される。よって、ディスクイメージ（１０）のコピー前に、追加計算機の起動失敗を未然に防ぐことが可能となる。
【発明の効果】
【００１７】
本発明によれば、計算機システムにおいて新たな計算機が運用に追加される際に、追加計算機の起動失敗を未然に防ぐことが可能となる。その結果、追加計算機が正常に起動するまでの時間が短縮される。
【発明を実施するための最良の形態】
【００１８】
添付図面を参照して、本発明の実施の形態に係る計算機システム及び配布元イメージの配布方法を説明する。計算機システムとして、自律コンピューティングシステム、ユーティリティ・コンピューティングシステム、グリッドシステム、仮想化システムなどが挙げられる。本実施の形態において、計算機システムとして、様々なサービスを提供するサーバシステムが例示される。
【００１９】
１．概要
まず、本発明の概要を説明する。図２は、本発明の実施の形態に係るサーバシステム１の構成の一例を示している。サーバシステム１は、ＬＡＮ（Local Area Network）等のネットワークを介して相互に接続されたサーバ群を備えている。そのサーバ群は、管理サーバ２００、配布元サーバ３００、及び予備サーバ群４００を含んでいる。管理サーバ２００は、サーバ全体の管理を行うサーバである。配布元サーバ３００は、運用中のサーバである。予備サーバ群４００は、少なくとも１つの予備サーバを含んでいる。図２においては、例として予備サーバ４００−１〜４００−４が示されている。各予備サーバは、必要に応じて運用に組み込まれる予備のサーバである。
【００２０】
また、サーバシステム１は、管理サーバ２００がアクセス可能なストレージ１００を備えている。例えば、ストレージ１００は、管理サーバ２００に直接接続されたディスクである。あるいは、ストレージ１００は、ＳＡＮ（Storage Area Network）を介して管理サーバ２００に接続されていてもよい。
【００２１】
予備サーバが運用に組み込まれる際、現在運用中の配布元サーバ３００の「配布元イメージ１０」が、ある予備サーバに配布される。配布元イメージ１０は、配布元サーバ３００のディスクイメージであり、ＯＳ、ミドルウェア、業務アプリケーション等を含んでいる。その配布元イメージ１０は、ストレージ１００にあらかじめ格納されている。
【００２２】
図３は、本発明に係るサーバ追加方法を示すフローチャートである。まず、管理サーバ２００は、運用中の配布元サーバ３００の配布元イメージ１０を作成し、その配布元イメージ１０をストレージ１００に格納する（ステップＳ１）。次に、ユーザは、予備サーバ群４００を管理サーバ２００に登録する（ステップＳ２）。具体的には、各予備サーバの名前、型番、設置場所などが、管理サーバ２００内の所定のファイルに登録される。
【００２３】
その後、ユーザあるいは負荷監視ソフトが、管理サーバ２００に対して、追加サーバの割り当てを要求する（ステップＳ３）。その要求に応答して、管理サーバ２００は、登録されている予備サーバ群４００から、１つの最適な予備サーバを選択する（ステップＳ４）。この時、管理サーバ２００は、配布元サーバ３００と予備サーバ群４００のハードウェア構成（ＨＷ構成）を考慮して、最適予備サーバを選択する。選択される最適予備サーバのＨＷ構成は、配布元サーバ３００のＨＷ構成を包含している。ここで、ＨＷ構成とは、ボードの種別や数、スロットの挿し位置などである。ボードとしては、ＨＢＡ（Host Bus Adaptor）ボード、ＳＣＳＩ（Small Computer System Interface）ボード、ＬＡＮ（Local Area Network）ボードなどが挙げられる。この最適予備サーバの選択方法に関しては、第２節以降で詳しく説明される。
【００２４】
次に、管理サーバ２００は、選択された最適予備サーバのディスクに、配布元イメージ１０をコピーする（ステップＳ５）。コピーが完了すると、管理サーバ２００は、ＷＯＬ（Wake-on LAN）機能を利用して最適予備サーバを起動する（ステップＳ６）。本発明によれば、最適予備サーバのＨＷ構成が配布元サーバ３００のＨＷ構成を包含しているため、その最適予備サーバは、コピーされた配布元イメージ１０によって正常に起動する。配布元イメージ１０中でデバイスファイル名を参照する部分が起動しないといった事態が防止される。
【００２５】
図４は、従来技術と本発明との比較を示している。従来技術によれば、時刻ｔ０における割り当て要求の後、サーバ選択（ステップＳ１０４）、コピー（ステップＳ１０５）、及び起動（ステップＳ１０６）が順番に実行される。そして、ステップＳ１０６中の時刻ｔ１において、ようやく不具合の発生が検知される。一方、本発明によれば、サーバ選択（ステップＳ４）の最中の時刻ｔ１’において、配布元イメージ１０の配布先として不適な予備サーバを検知することができる。すなわち、配布元イメージ１０のコピー前に、追加サーバの起動失敗を未然に防ぐことが可能となる。
【００２６】
ステップＳ４において、配布元イメージ１０の配布先として適切な予備サーバが選択される。その結果、ステップＳ６中の時刻ｔ２’において、追加サーバは正常に起動する。配布元イメージの配布直後に、ＨＷ構成の違いによりＯＳ、ミドルウェア、業務アプリケーション等が起動しないといった事態が防止される。配布処理のやり直しが不要なため、割り当て要求から正常起動までの期間ＴＢ（時刻ｔ０〜ｔ２’）は、従来技術による期間ＴＡ（時刻ｔ０〜ｔ２）と比較して短縮される。
【００２７】
以上に説明されたように、本発明によれば、サーバシステム１において新たなサーバが運用に追加される際に、追加サーバの起動失敗を未然に防ぐことが可能となる。その結果、追加サーバが正常に起動するまでの時間が短縮される。
【００２８】
以下、本発明に係る最適予備サーバの選択に関して詳細に説明する。
【００２９】
２．第１の実施の形態
２−１．構成
図５は、第１の実施の形態に係るサーバシステム１の構成を示している。図５においては、特に、ストレージ１００、管理サーバ２００、及び予備サーバ群４００が抜き出されて示されている。ストレージ１００には、配布元イメージ１０、配布元ＨＷ情報１１、登録サーバ情報１２、及びＨＷ情報取得プログラムＰＧが格納されている。
【００３０】
配布元イメージ１０は、上述のステップＳ１において、管理サーバ２００によって作成されている。
【００３１】
配布元ＨＷ情報１１は、配布元サーバ３００のＨＷ構成を示すハードウェア情報（ＨＷ情報）である。つまり、配布元ＨＷ情報１１は、配布元サーバ３００におけるボードの種別、数、スロット位置などを示している。この配布元ＨＷ情報１１は、例えば上述のステップＳ１において、管理サーバ２００によって作成される。
【００３２】
登録サーバ情報１２は、管理サーバ２００に登録されているサーバの情報を示す。具体的には、登録サーバ情報１２は、登録されているサーバの名前、型番、設置場所、ＯＳの種類・バージョンなどを示している。予備サーバ群４００に関する情報は、上述のステップＳ２において、登録サーバ情報１２に追加される。運用中の配布元サーバ３００に関する情報は、登録サーバ情報１２に既に記載されている。
【００３３】
ＨＷ情報取得プログラムＰＧは、予備サーバ群４００に含まれる予備サーバのＨＷ情報を取得するためのプログラムである。このＨＷ情報取得プログラムＰＧは、サーバ起動及びＨＷ情報の採取に必要な最小限のソフトウェアを含んでいる。特に、本実施の形態に係るＨＷ情報取得プログラムＰＧは、配布元サーバ３００のＯＳがサポートするＨＷ構成を少なくとも認識することができるように構成されている。ストレージのデバイスファイル名の取得のため、必要なＩ／Ｏ（input-output）ドライバは組み込まれているが、コマンドライブラリは不要である。尚、予備サーバのＨＷ構成を示すＨＷ情報は、以下、「予備サーバＨＷ情報ＤＨＷ」と参照される。
【００３４】
管理サーバ２００は、ＨＷ情報収集モジュール２１、サーバ選択モジュール２２、及びイメージ配布モジュール２３を有している。ＨＷ情報収集モジュール２１は、上述のステップＳ４において、ＨＷ情報取得プログラムＰＧを用いて予備サーバＨＷ情報ＤＨＷを収集する。また、ＨＷ情報収集モジュール２１は、配布元ＨＷ情報１１を取得することもできる。サーバ選択モジュール２２は、上述のステップＳ４において、予備サーバＨＷ情報ＤＨＷに基づいて最適予備サーバを選択する。イメージ配布モジュール２３は、上述のステップＳ５において、最適予備サーバのディスクに配布元イメージ１０をコピーする。これらモジュール２１、２２、２３は、ソフトウェアと演算処理装置との協働によって提供される。
【００３５】
２−２．動作
図６は、上述のステップＳ４（最適予備サーバの選択）を詳しく示すフローチャートである。図５及び図６を参照して、ステップＳ４の詳細を説明する。
【００３６】
ステップＳ１０：
追加サーバの割り当て要求に応答して、管理サーバ２００は、ＨＷ情報取得プログラムＰＧを決定する。本実施の形態においては、管理サーバ２００は、ストレージ１００からＨＷ情報取得プログラムＰＧを読み出す。
【００３７】
ステップＳ２０：
管理サーバ２００は、ＷＯＬ（Wake-on LAN）機能を利用することによって、予備サーバに対して起動を指示する。このＷＯＬ機能による起動指示と共に、ＨＷ情報収集モジュール２１は、ＨＷ情報取得プログラムＰＧを予備サーバ群４００に送り込むことができる。例えば、ＨＷ情報収集モジュール２１は、ＨＷ情報取得プログラムＰＧを、予備サーバ群４００に含まれる全ての予備サーバに対して一括して送信する。あるいは、ＨＷ情報収集モジュール２１は、一部の予備サーバにだけＨＷ情報取得プログラムＰＧを送信してもよい。また、ＨＷ情報収集モジュール２１は、ＨＷ情報取得プログラムＰＧを、予備サーバに対して１つずつ順番に送信してもよい。
【００３８】
ＷＯＬ機能に基づいて送られたＨＷ情報取得プログラムＰＧは、各予備サーバのＲＡＭ（Random Access Memory）に格納される。上述の通り、そのＨＷ情報取得プログラムＰＧには、サーバ起動に必要なソフトウェアが組み込まれており、管理サーバ２００は各予備サーバに対して、そのソフトウェアを利用して起動するように指示する。各予備サーバは、ＨＷ情報取得プログラムＰＧに含まれるソフトウェアを利用して起動する。
【００３９】
ステップＳ３０：
起動した予備サーバは、受け取ったＨＷ情報取得プログラムＰＧを実行する。ＨＷ情報取得プログラムＰＧは、当該予備サーバのＨＷ構成を調査し、予備サーバＨＷ情報ＤＨＷを取得する。上述の通り、ＨＷ情報取得プログラムＰＧには、配布元サーバ３００のＯＳがサポートするＨＷ構成を認識するためのドライバが組み込まれている。各ドライバは、対応するハードウェアに対して命令を発行し、そのハードウェアからの応答を受け取る。その応答には、当該ハードウェアに関するＨＷ情報が含まれている。各ドライバによって得られたＨＷ情報を統合することによって、当該予備サーバのＨＷ構成を示す予備サーバＨＷ情報ＤＨＷが得られる。
【００４０】
ステップＳ４０：
ＨＷ情報取得プログラムＰＧは、得られた予備サーバＨＷ情報ＤＨＷを管理サーバ２００に返信する。その予備サーバＨＷ情報ＤＨＷには、当該予備サーバのＨＷ情報とＩＤが含まれている。返信後、予備サーバは停止する。このようにして、ＨＷ情報収集モジュール２１は、各予備サーバに関する予備サーバＨＷ情報ＤＨＷを収集する。
【００４１】
ステップＳ５０：
次に、サーバ選択モジュール２２は、予備サーバ群４００の予備サーバＨＷ情報ＤＨＷとストレージ１００に格納された配布元ＨＷ情報１１との比較を行う。ここで、ＨＷ情報には、ＯＳに固有の情報が紛れ込んでいる可能性がある。汎用的な比較処理を実現するため、サーバ選択モジュール２２は、ＨＷ情報をあるフォーマットに変換（規格化）する機能を有している。
【００４２】
図７は、規格化されたＨＷ情報の一例を示している。図７において、ＨＷ情報はＸＭＬ（Extensible Markup Language）フォーマットで規格化されている。項目＜ｎｕｍｂｅｒ＞は、スロット位置を示している。項目＜ｔｙｐｅ＞は、ハードウェアの種類を示している。項目＜ｈｗＰａｔｈ＞は、ハードウェアのパスを示している。項目＜ｆｉｌｅＳｉｚｅ＞や＜ｎｉｃＴｙｐｅ＞は、オプションの情報である。
【００４３】
ステップＳ６０：
サーバ選択モジュール２２は、規格化されたＨＷ情報の比較により、予備サーバ群４００から１つの最適予備サーバを選択する。ここで、最適予備サーバのＨＷ構成は、配布元サーバ３００のＨＷ構成と完全に同一である必要はなく、配布元サーバ３００のＨＷ構成を包含していればよい。つまり、サーバ選択モジュール２２は、配布元サーバ３００のＨＷ構成を包含している予備サーバを、最適予備サーバとして選択する。
【００４４】
例えば図７に示されたＨＷ情報において、配布元サーバ３００の各ＨＷ構成に関するスロット位置やパスは、最適予備サーバに関するものと一致している必要がある。但し、最適予備サーバの“全ての”ＨＷ構成が、配布元サーバ３００に含まれている必要はない。また、配布元サーバ３００における＜ｆｉｌｅＳｉｚｅ＞で示される値は、最適予備サーバにおける対応する値以下であることが必要である。
【００４５】
このようにして、サーバ選択モジュール２２は、予備サーバＨＷ情報ＤＨＷと配布元ＨＷ情報１１に基づいて、最適予備サーバを選択する。選択された最適予備サーバは、配布元サーバ３００と同じＨＷ構成を少なくとも有している。複数の候補が存在する場合、サーバ選択モジュール２２は、いずれかの候補を最適予備サーバとして選択する。
【００４６】
３．第２の実施の形態
続いて、最適予備サーバの選択に関する他の実施の形態を説明する。本実施の形態において、第１の実施の形態で示された構成と同じ構成には同じ符号が付され、重複する説明は適宜省略される。
【００４７】
３−１．構成
図８は、本実施の形態に係るサーバシステム１の構成を示している。第１の実施の形態と比較して、ストレージ１００には、更に、ＯＳ−ＰＧリンクテーブル１３及びＨＷ情報取得プログラム群１４が格納されている。また、管理サーバ２００は、更に、ＯＳ特定モジュール２４及びプログラム選択モジュール２５を有している。これらモジュール２４、２５も、ソフトウェアと演算処理装置との協働によって提供される。
【００４８】
運用中の配布元サーバ３００のＯＳの種類によって、サポートしているＨＷ構成は異なってくる。よって、ＯＳの種類毎に、専用のＨＷ情報取得プログラムＰＧを予め用意しておくこともできる。ＨＷ情報取得プログラム群１４は、そのような専用のＨＷ情報取得プログラムＰＧの集合である。つまり、ＨＷ情報取得プログラム群１４は、複数種類のＯＳのそれぞれに対応づけられた複数のＨＷ情報取得プログラムＰＧ−１、ＰＧ−２・・・から構成されている。各ＨＷ情報取得プログラムは、対応するＯＳがサポートするＨＷ構成を少なくとも認識すればよい。
【００４９】
ＯＳ−ＰＧリンクテーブル１３は、複数種類のＯＳと複数のＨＷ情報取得プログラムとの対応関係を示すテーブルである。図９は、ＯＳ−ＰＧリンクテーブル１３の一例を示している。図９において、ＯＳの種類ＯＳ１〜ＯＳ４のそれぞれに、ＨＷ情報取得プログラムＰＧ−１〜ＰＧ−４のそれぞれが対応付けられている。尚、バージョンの異なるＯＳ同士も、別種類のＯＳとして扱われてもよい。
【００５０】
３−２．動作
図１０は、本実施の形態におけるステップＳ４（最適予備サーバの選択）を詳しく示すフローチャートである。図８〜図１０を参照して、ステップＳ４の詳細を説明する。
【００５１】
ステップＳ１０ａ：
追加サーバの割り当て要求に応答して、管理サーバ２００は、ＨＷ情報取得プログラムＰＧを決定する。詳細には、まず、ＯＳ特定モジュール２４が、ストレージ１００中の登録サーバ情報１２を参照して、配布元サーバ３００が使用しているＯＳを特定する（ステップＳ１１）。次に、プログラム選択モジュール２５は、上記ＯＳ−ＰＧリンクテーブル１３を参照し、特定されたＯＳに対応づけられた１つのプログラムをＨＷ情報取得プログラム群１４から選択する（ステップＳ１２）。その選択された１つが、本実施の形態におけるＨＷ情報取得プログラムＰＧとして使用される。
【００５２】
例えば、ＯＳ特定モジュール２４は、配布元サーバ３００のＯＳの種類が「ＯＳ１」であることを検知する。すると、プログラム選択モジュール２５は、図９に示されたＯＳ−ＰＧリンクテーブル１３を参照して、プログラムＰＧ−１をＨＷ情報取得プログラムＰＧとして選択する。選択されたＨＷ情報取得プログラムＰＧは、少なくともＯＳ１がサポートしているＨＷ構成を認識可能である。
【００５３】
その後のステップＳ２０〜Ｓ６０は、第１の実施の形態と同様である。本実施の形態によれば、ステップＳ２０において予備サーバ群４００に送信されるＨＷ情報取得プログラムは、複数種類のＯＳがサポートするＨＷ構成の全てを認識する必要はない。ＨＷ情報取得プログラムＰＧ−１、ＰＧ−２・・・の各々は、対応する１種類のＯＳがサポートするＨＷ構成だけを認識すればよい。従って、各ＨＷ情報取得プログラムのサイズが縮小され、送信処理時間が短縮される。また、ステップＳ３０において各予備サーバが実行するＨＷ情報取得プログラムＰＧのサイズが縮小される。よって、負荷が縮小され、ＨＷ情報の取得時間が短縮される。
【００５４】
４．第３の実施の形態
続いて、最適予備サーバの選択に関する更に他の実施の形態を説明する。本実施の形態において、既出の実施の形態で示された構成と同じ構成には同じ符号が付され、重複する説明は適宜省略される。
【００５５】
４−１．構成
図１１は、本実施の形態に係るサーバシステム１の構成を示している。第１の実施の形態と比較して、ストレージ１００には、更に、ＯＳ−ＨＷリンクテーブル１５、ＢＰＧ−ＨＷリンクテーブル１６、及びベースプログラム群１７が格納されている。また、管理サーバ２００は、更に、ＯＳ特定モジュール２４及びプログラム作成モジュール２６を有している。これらモジュール２４、２６も、ソフトウェアと演算処理装置との協働によって提供される。
【００５６】
第２の実施の形態において、ＯＳの種類毎に、専用のＨＷ情報取得プログラムＰＧが用意されていた。それら専用のＨＷ情報取得プログラムＰＧの間には、重複する部分も存在する。その重複する部分を共通化することによって、ディスクスペースを有効に利用することができる。
【００５７】
そのため、第３の実施の形態によれば、所定のＨＷ構成だけを認識することができるベースプログラムＢＰＧが用意される。複数のベースプログラムＢＰＧを組み合わせることによって、指定されたＯＳがサポートするＨＷ構成を認識可能なＨＷ情報取得プログラムＰＧを作成することが可能である。ベースプログラム群１７は、そのようなベースプログラムＢＰＧの集合である。つまり、ベースプログラム群１７は、複数のベースプログラムＢＰＧ−１、ＢＰＧ−２・・・から構成されている。
【００５８】
ＯＳ−ＨＷリンクテーブル１５は、複数種類のＯＳのそれぞれがサポートするＨＷ構成を示すテーブルである。図１２は、ＯＳ−ＨＷリンクテーブル１５の一例を示している。図１２において、ＯＳの種類ＯＳ１〜ＯＳ４とＨＷ構成の種類ＩＯ１〜ＩＯ４との対応関係が示されている。図１２において、丸印は、当該ＨＷ構成がサポートされていることを意味する。例えば、ＯＳの種類がＯＳ１の場合、ＨＷ構成としてＩＯ１とＩＯ３がサポートされていることがわかる。言い換えれば、ＯＳの種類がＯＳ１の場合、ＩＯ１とＩＯ３が認識すべき対象であることがわかる。尚、バージョンの異なるＯＳ同士も、別種類のＯＳとして扱われてもよい。
【００５９】
ＢＰＧ−ＨＷリンクテーブル１６は、複数のベースプログラムＢＰＧのそれぞれが認識可能なＨＷ構成を示すテーブルである。図１３は、ＢＰＧ−ＨＷリンクテーブル１６の一例を示している。図１３において、ベースプログラムの種類ＢＰＧ−１〜ＢＰＧ−３と認識可能なＨＷ構成の種類ＩＯ１〜ＩＯ４との対応関係が示されている。図１３において、丸印は、当該ＨＷ構成が認識可能であることを意味する。例えば、ベースプログラムＢＰＧ−１はＩＯ１とＩＯ２を認識可能であることが分かる。
【００６０】
４−２．動作
図１４は、本実施の形態におけるステップＳ４（最適予備サーバの選択）を詳しく示すフローチャートである。図１１〜図１４を参照して、ステップＳ４の詳細を説明する。
【００６１】
ステップＳ１０ｂ：
追加サーバの割り当て要求に応答して、管理サーバ２００は、ＨＷ情報取得プログラムＰＧを決定する。詳細には、まず、ＯＳ特定モジュール２４が、登録サーバ情報１２を参照して、配布元サーバ３００が使用しているＯＳを特定する（ステップＳ１１）。次に、プログラム作成モジュール２６は、上記ＯＳ−ＨＷリンクテーブル１５を参照して、特定されたＯＳがサポートするＨＷ構成を検知する。すなわち、プログラム作成モジュール２６は、認識すべきＨＷ構成を特定する（ステップＳ１３）。次に、プログラム作成モジュール２６は、上記ＢＰＧ−ＨＷリンクテーブル１６を参照して、認識すべきＨＷ構成を認識できるベースプログラムＢＰＧの組み合わせを決定する。そして、プログラム作成モジュール２６は、決定された組み合わせに対応するベースプログラムＢＰＧをベースプログラム群１７から読み出し、ＨＷ情報取得プログラムＰＧを作成する（ステップＳ１４）。
【００６２】
例えば、ＯＳ特定モジュール２４は、配布元サーバ３００のＯＳの種類が「ＯＳ４」であることを検知する。すると、プログラム作成モジュール２６は、図１２に示されたＯＳ−ＨＷリンクテーブル１５を参照して、ＩＯ１、ＩＯ２、及びＩＯ４を認識対象として特定する。更に、プログラム作成モジュール２６は、図１３に示されたＢＰＧ−ＨＷリンクテーブル１６を参照し、ベースプログラムＢＰＧ−１とＢＰＧ−３を組み合わせることによって、ＨＷ情報取得プログラムＰＧを作成する。作成されたＨＷ情報取得プログラムＰＧは、少なくともＩＯ１、ＩＯ２、及びＩＯ４を認識することができる。
【００６３】
その後のステップＳ２０〜Ｓ６０は、第１の実施の形態と同様である。本実施の形態によれば、第２の実施の形態と同様の効果が得られる。更に、ＯＳの種類に応じてベースプログラム群１７からＨＷ情報取得プログラムＰＧが作成されるため、ＯＳの種類毎にＨＷ情報取得プログラムＰＧを用意しておく必要がない。重複するプログラムが共通化されるため、ディスクスペースが削減される。また、ディスクやプログラムのメンテナンスコストも削減される。
【００６４】
尚、ＯＳ特定モジュール２４とＯＳ−ＨＷリンクテーブル１５を用いる代わりに、プログラム作成モジュール２６が、配布元イメージ１０から認識対象のＨＷ構成を直接特定してもよい。
【図面の簡単な説明】
【００６５】
【図１】図１は、従来技術に係る配布元イメージの配布方法を示すフローチャートである。
【図２】図２は、本発明の実施の形態に係るサーバシステムの構成を概略的に示すブロック図である。
【図３】図３は、本発明の実施の形態に係る配布元イメージの配布方法を示すフローチャートである。
【図４】図４は、本発明の効果を説明するための図である。
【図５】図５は、本発明の第１の実施の形態に係る構成を示すブロック図である。
【図６】図６は、第１の実施の形態における予備サーバの選択方法を示すフローチャートである。
【図７】図７は、規格化されたＨＷ情報の一例を示す図である。
【図８】図８は、本発明の第２の実施の形態に係る構成を示すブロック図である。
【図９】図９は、第２の実施の形態におけるＯＳ−ＰＧリンクテーブルの一例を示す図である。
【図１０】図１０は、第２の実施の形態における予備サーバの選択方法を示すフローチャートである。
【図１１】図１１は、本発明の第３の実施の形態に係る構成を示すブロック図である。
【図１２】図１２は、第３の実施の形態におけるＯＳ−ＨＷリンクテーブルの一例を示す図である。
【図１３】図１３は、第３の実施の形態におけるＢＰＧ−ＨＷリンクテーブルの一例を示す図である。
【図１４】図１４は、第３の実施の形態における予備サーバの選択方法を示すフローチャートである。
【符号の説明】
【００６６】
１    サーバシステム
１０    配布元イメージ
１１    配布元ＨＷ情報
１２    登録サーバ情報
１３    ＯＳ−ＰＧリンクテーブル
１４    ＨＷ情報取得プログラム群
１５    ＯＳ−ＨＷリンクテーブル
１６    ＢＰＧ−ＨＷリンクテーブル
１７    ベースプログラム群
２１    ＨＷ情報収集モジュール
２２    サーバ選択モジュール
２３    イメージ配布モジュール
２４    ＯＳ特定モジュール
２５    プログラム選択モジュール
２６    プログラム作成モジュール
１００    ストレージ
２００    管理サーバ
３００    配布元サーバ
４００    予備サーバ群
ＰＧ    ＨＷ情報取得プログラム
ＢＰＧ    ベースプログラム
ＤＨＷ    予備サーバＨＷ情報
【図１】
2008021198.tif 000003
【図２】
2008021198.tif 000004
【図３】
2008021198.tif 000005
【図４】
2008021198.tif 000006
【図５】
2008021198.tif 000007
【図６】
2008021198.tif 000008
【図７】
2008021198.tif 000009
【図８】
2008021198.tif 000010
【図９】
2008021198.tif 000011
【図１０】
2008021198.tif 000012
【図１１】
2008021198.tif 000013
【図１２】
2008021198.tif 000014
【図１３】
2008021198.tif 000015
【図１４】
2008021198.tif 000016