(57)【要約】【課題】コンピュータリソース提供システムが備えるリソースの管理を支援する。【解決手段】ネットワークを介して接続されたストレージ装置に記憶された仮想マシンイメージに基づいて動作する複数の物理マシンに接続されたネットワークブートサーバが、物理マシンＩＤごとに、物理マシンに起動させる仮想マシンに関する物理マシン設定情報が対応付けられた設定情報リストを記憶し、物理マシンから、物理マシンＩＤが含まれるネットワークブート要求を受信し、受信したネットワークブート要求に含まれる物理マシンＩＤに対応する物理マシン設定情報を読み出し、物理マシンにおいてハイパーバイザを動作させるためのハイパーバイザプログラムと、物理マシン設定情報とを、ネットワークブート要求の送信元である物理マシンに送信して物理マシンにハイパーバイザを起動させる。【選択図】図１
2015011658.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続されたストレージ装置に記憶された仮想マシンイメージに基づいて動作する複数の物理マシンに接続されたネットワークブートサーバであって、
前記物理マシンにおいてハイパーバイザを動作させるためのハイパーバイザプログラムが記憶されるハイパーバイザプログラム記憶部と、
前記物理マシンを識別する物理マシン識別情報ごとに、当該物理マシンに起動させる仮想マシンに関する物理マシン設定情報が対応付けられた設定情報リストが記憶される設定情報リスト記憶部と、
前記物理マシンから、当該物理マシンを識別する物理マシン識別情報が含まれるネットワークブート要求を受信する通信部と、
前記通信部が前記ネットワークブート要求を受信すると、受信した当該ネットワークブート要求に含まれる前記物理マシン識別情報に対応する前記物理マシン設定情報を読み出す抽出部と、
前記ハイパーバイザプログラムと、前記抽出部が読み出した前記物理マシン設定情報とを、前記ネットワークブート要求の送信元である前記物理マシンに送信して当該物理マシンに前記ハイパーバイザを起動させ、起動させた当該ハイパーバイザに、前記ストレージ装置に接続させて仮想マシンイメージに基づいて仮想マシンを起動させる起動制御部と、
を備えることを特徴とするネットワークブートサーバ。
【請求項２】
前記ハイパーバイザプログラム記憶部には、種類の異なる複数の前記ハイパーバイザプログラムが記憶され、
前記物理マシン設定情報には、対応する前記物理マシンに送信する前記ハイパーバイザプログラムの種類を示す情報が含まれ、
前記起動制御部は、前記物理マシン設定情報に含まれる前記種類が示す前記ハイパーバイザプログラムを、前記ネットワークブート要求の送信元である前記物理マシンに送信する
ことを特徴とする請求項１に記載のネットワークブートサーバ。
【請求項３】
前記物理マシンのコンピュータを、前記ネットワークブートサーバとして機能させるネットワークブートサービスプログラムが記憶されるネットワークブートサービスプログラム記憶部を備え、
前記起動制御部は、前記ハイパーバイザプログラムと、前記設定情報リストと、前記ネットワークブートサービスプログラムとを、前記ネットワークブート要求の送信元である前記物理マシンに送信し、前記物理マシンのコンピュータを、前記ネットワークブートサーバとして機能させる
ことを特徴とする請求項１または請求項２に記載のネットワークブートサーバ。
【請求項４】
ストレージを備えるストレージ装置と、当該ストレージ装置に接続された複数の物理マシンと、当該複数の物理マシンに接続されたネットワークブートサーバとを備えるネットワークブートシステムであって、
前記物理マシンは、
前記ネットワークブートサーバに、当該物理マシンを識別する物理マシン識別情報が含まれるネットワークブート要求を送信するネットワークブート起動要求部を備え、
前記ストレージ装置は、
前記物理マシンにおいて起動される仮想マシンの仮想マシンイメージが記憶される仮想マシンイメージ記憶部を備え、
前記ネットワークブートサーバは、
前記物理マシンにおいてハイパーバイザを動作させるためのハイパーバイザプログラムが記憶されるハイパーバイザプログラム記憶部と、
前記物理マシンを識別する物理マシン識別情報ごとに、当該物理マシンに起動させる仮想マシンに関する物理マシン設定情報が対応付けられた設定情報リストが記憶される設定情報リスト記憶部と、
前記物理マシンから送信される前記ネットワークブート要求を受信する通信部と、
前記通信部が前記ネットワークブート要求を受信すると、受信した当該ネットワークブート要求に含まれる前記物理マシン識別情報に対応する前記物理マシン設定情報を読み出す抽出部と、
前記ハイパーバイザプログラムと、前記抽出部が読み出した前記物理マシン設定情報とを、前記ネットワークブート要求の送信元である前記物理マシンに送信して当該物理マシンに前記ハイパーバイザを起動させ、起動させた当該ハイパーバイザに、前記ストレージ装置に接続させて仮想マシンイメージに基づいて仮想マシンを起動させる起動制御部と、を備える
ことを特徴とするネットワークブートシステム。
【請求項５】
ネットワークを介して接続されたストレージ装置に記憶された仮想マシンイメージに基づいて動作する複数の物理マシンに接続され、前記物理マシンにおいてハイパーバイザを動作させるためのハイパーバイザプログラムが記憶されるハイパーバイザプログラム記憶部と、前記物理マシンを識別する物理マシン識別情報ごとに、当該物理マシンに起動させる仮想マシンに関する物理マシン設定情報が対応付けられた設定情報リストが記憶される設定情報リスト記憶部と、を備えたネットワークブートサーバのネットワークブート制御方法であって、
前記物理マシンから、当該物理マシンを識別する物理マシン識別情報が含まれるネットワークブート要求を受信するステップと、
前記ネットワークブート要求を受信すると、受信した当該ネットワークブート要求に含まれる前記物理マシン識別情報に対応する前記物理マシン設定情報を読み出すステップと、
読み出した前記物理マシン設定情報と、前記ハイパーバイザプログラムとを、前記ネットワークブート要求の送信元である前記物理マシンに送信して当該物理マシンに前記ハイパーバイザを起動させ、起動させた当該ハイパーバイザに、前記ストレージ装置に接続させて仮想マシンイメージに基づいて仮想マシンを起動させるステップと、
を備えることを特徴とするネットワークブート制御方法。
【請求項６】
ネットワークを介して接続されたストレージ装置に記憶された仮想マシンイメージに基づいて動作する複数の物理マシンに接続され、前記物理マシンにおいてハイパーバイザを動作させるためのハイパーバイザプログラムが記憶されるハイパーバイザプログラム記憶部と、前記物理マシンを識別する物理マシン識別情報ごとに、当該物理マシンに起動させる仮想マシンに関する物理マシン設定情報が対応付けられた設定情報リストが記憶される設定情報リスト記憶部と、を備えたネットワークブートサーバのコンピュータに、
前記物理マシンから、当該物理マシンを識別する物理マシン識別情報が含まれるネットワークブート要求を受信するステップと、
前記ネットワークブート要求を受信すると、受信した当該ネットワークブート要求に含まれる前記物理マシン識別情報に対応する前記物理マシン設定情報を読み出すステップと、
読み出した前記物理マシン設定情報と、前記ハイパーバイザプログラムとを、前記ネットワークブート要求の送信元である前記物理マシンに送信して当該物理マシンに前記ハイパーバイザを起動させ、起動させた当該ハイパーバイザに、前記ストレージ装置に接続させて仮想マシンイメージに基づいて仮想マシンを起動させるステップと、
を実行させるネットワークブート制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークブートサーバ、ネットワークブートシステム、ネットワークブート制御方法、ネットワークブート制御プログラムに関する。
【背景技術】
【０００２】
プロセッサやメモリ、ディスクなど物理マシンのコンピュータリソースを、ネットワークを介して利用させるコンピュータリソース提供システムが提供されている。クラウドなどともよばれるこのようなシステムは、例えば、物理マシンのコンピュータリソースを仮想的に分割したり統合したりする仮想化技術を用いて、コンピュータリソースを無駄のないように効率的に活用し、ネットワークを介して利用させるコンピュータリソース利用サービスを提供する。
一方、コンピュータ装置が起動する際に、ネットワークを介してＯＳ（Operating System）等の情報を読み込んで起動するネットワークブート技術が研究されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１８４４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のような仮想化技術に基づいてコンピュータリソース提供システムを構築する場合、コンピュータリソース提供システムが備える個々の物理マシンには、その物理マシンのコンピュータリソースを仮想化するための制御プログラムであるハイパーバイザが予めインストールされている必要がある。このため、コンピュータリソース提供システムの管理者は、例えばコンピュータリソース提供システムに新たな物理マシンを追加する場合、その物理マシンにハイパーバイザをインストールしたり、仮想マシンを起動させるための各種設定を行ったりする作業が必要になる。このような作業の手間を低減し、効率良くコンピュータリソース利用サービスを提供することが望ましい。
【０００５】
本発明は、このような状況に鑑みてなされたもので、コンピュータリソース提供システムが備えるコンピュータリソースの管理を支援するネットワークブートサーバ、ネットワークブートシステム、ネットワークブート制御方法、ネットワークブート制御プログラムを提供する。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明の一態様は、ネットワークを介して接続されたストレージ装置に記憶された仮想マシンイメージに基づいて動作する複数の物理マシンに接続されたネットワークブートサーバであって、物理マシンにおいてハイパーバイザを動作させるためのハイパーバイザプログラムが記憶されるハイパーバイザプログラム記憶部と、物理マシンを識別する物理マシン識別情報ごとに、物理マシンに起動させる仮想マシンに関する物理マシン設定情報が対応付けられた設定情報リストが記憶される設定情報リスト記憶部と、物理マシンから、物理マシンを識別する物理マシン識別情報が含まれるネットワークブート要求を受信する通信部と、通信部がネットワークブート要求を受信すると、受信したネットワークブート要求に含まれる物理マシン識別情報に対応する物理マシン設定情報を読み出す抽出部と、ハイパーバイザプログラムと、抽出部が読み出した物理マシン設定情報とを、ネットワークブート要求の送信元である物理マシンに送信して物理マシンにハイパーバイザを起動させ、起動させたハイパーバイザに、ストレージ装置に接続させて仮想マシンイメージに基づいて仮想マシンを起動させる起動制御部と、を備えることを特徴とする。
【０００７】
また、本発明の一態様は、ハイパーバイザプログラム記憶部には、種類の異なる複数のハイパーバイザプログラムが記憶され、物理マシン設定情報には、対応する物理マシンに送信するハイパーバイザプログラムの種類を示す情報が含まれ、起動制御部は、物理マシン設定情報に含まれる種類が示すハイパーバイザプログラムを、ネットワークブート要求の送信元である物理マシンに送信することを特徴とする。
【０００８】
また、本発明の一態様は、物理マシンのコンピュータを、ネットワークブートサーバとして機能させるネットワークブートサービスプログラムが記憶されるネットワークブートサービスプログラム記憶部を備え、起動制御部は、ハイパーバイザプログラムと、設定情報リストと、ネットワークブートサービスプログラムとを、ネットワークブート要求の送信元である物理マシンに送信し、物理マシンのコンピュータを、ネットワークブートサーバとして機能させることを特徴とする。
【０００９】
また、本発明の一態様は、ストレージを備えるストレージ装置と、ストレージ装置に接続された複数の物理マシンと、複数の物理マシンに接続されたネットワークブートサーバとを備えるネットワークブートシステムであって、物理マシンは、ネットワークブートサーバに、物理マシンを識別する物理マシン識別情報が含まれるネットワークブート要求を送信するネットワークブート起動要求部を備え、ストレージ装置は、物理マシンにおいて起動される仮想マシンの仮想マシンイメージが記憶される仮想マシンイメージ記憶部を備え、ネットワークブートサーバは、物理マシンにおいてハイパーバイザを動作させるためのハイパーバイザプログラムが記憶されるハイパーバイザプログラム記憶部と、物理マシンを識別する物理マシン識別情報ごとに、物理マシンに起動させる仮想マシンに関する物理マシン設定情報が対応付けられた設定情報リストが記憶される設定情報リスト記憶部と、物理マシンから送信されるネットワークブート要求を受信する通信部と、通信部がネットワークブート要求を受信すると、受信したネットワークブート要求に含まれる物理マシン識別情報に対応する物理マシン設定情報を読み出す抽出部と、ハイパーバイザプログラムと、抽出部が読み出した物理マシン設定情報とを、ネットワークブート要求の送信元である物理マシンに送信して物理マシンにハイパーバイザを起動させ、起動させたハイパーバイザに、ストレージ装置に接続させて仮想マシンイメージに基づいて仮想マシンを起動させる起動制御部と、を備えることを特徴とする。
【００１０】
また、本発明の一態様は、ネットワークを介して接続されたストレージ装置に記憶された仮想マシンイメージに基づいて動作する複数の物理マシンに接続され、物理マシンにおいてハイパーバイザを動作させるためのハイパーバイザプログラムが記憶されるハイパーバイザプログラム記憶部と、物理マシンを識別する物理マシン識別情報ごとに、物理マシンに起動させる仮想マシンに関する物理マシン設定情報が対応付けられた設定情報リストが記憶される設定情報リスト記憶部と、を備えたネットワークブートサーバのネットワークブート制御方法であって、物理マシンから、物理マシンを識別する物理マシン識別情報が含まれるネットワークブート要求を受信するステップと、ネットワークブート要求を受信すると、受信したネットワークブート要求に含まれる物理マシン識別情報に対応する物理マシン設定情報を読み出すステップと、読み出した物理マシン設定情報と、ハイパーバイザプログラムとを、ネットワークブート要求の送信元である物理マシンに送信して物理マシンにハイパーバイザを起動させ、起動させたハイパーバイザに、ストレージ装置に接続させて仮想マシンイメージに基づいて仮想マシンを起動させるステップと、を備えることを特徴とする。
【００１１】
また、本発明の一態様は、ネットワークを介して接続されたストレージ装置に記憶された仮想マシンイメージに基づいて動作する複数の物理マシンに接続され、物理マシンにおいてハイパーバイザを動作させるためのハイパーバイザプログラムが記憶されるハイパーバイザプログラム記憶部と、物理マシンを識別する物理マシン識別情報ごとに、物理マシンに起動させる仮想マシンに関する物理マシン設定情報が対応付けられた設定情報リストが記憶される設定情報リスト記憶部と、を備えたネットワークブートサーバのコンピュータに、物理マシンから、物理マシンを識別する物理マシン識別情報が含まれるネットワークブート要求を受信するステップと、ネットワークブート要求を受信すると、受信したネットワークブート要求に含まれる物理マシン識別情報に対応する物理マシン設定情報を読み出すステップと、読み出した物理マシン設定情報と、ハイパーバイザプログラムとを、ネットワークブート要求の送信元である物理マシンに送信して物理マシンにハイパーバイザを起動させ、起動させたハイパーバイザに、ストレージ装置に接続させて仮想マシンイメージに基づいて仮想マシンを起動させるステップと、を実行させるネットワークブート制御プログラムである。
【発明の効果】
【００１２】
以上説明したように、本発明によれば、ネットワークを介して接続されたストレージ装置に記憶された仮想マシンイメージに基づいて動作する複数の物理マシンに接続されたネットワークブートサーバが、物理マシンＩＤごとに、物理マシンに起動させる仮想マシンに関する物理マシン設定情報が対応付けられた設定情報リストを記憶し、物理マシンから、物理マシンＩＤが含まれるネットワークブート要求を受信し、受信したネットワークブート要求に含まれる物理マシンＩＤに対応する物理マシン設定情報を読み出し、物理マシンにおいてハイパーバイザを動作させるためのハイパーバイザプログラムと、物理マシン設定情報とを、ネットワークブート要求の送信元である物理マシンに送信して物理マシンにハイパーバイザを起動させるようにしたので、コンピュータリソース提供システムが備えるリソースの管理を支援することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態によるコンピュータリソース提供システムの構成を示すブロック図である。
【図２】本発明の第１の実施形態による設定情報リストのデータ例を示す図である。
【図３】本発明の第１の実施形態によるコンピュータリソース提供システムの動作例を示す図である。
【図４】本発明の第２の実施形態によるコンピュータリソース提供システムの構成を示すブロック図である。
【図５】本発明の第２の実施形態によるコンピュータリソース提供システムの動作例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施形態について、図面を参照して説明する。
＜第１の実施形態＞
図１は、本発明の第１の実施形態によるコンピュータリソース提供システム１の構成を示すブロック図である。
コンピュータリソース提供システム１は、物理マシン群１００と、ストレージ装置群２００と、ユーザ端末３００と、ネットワークブートサーバ４００とを備えている。物理マシン群１００は、複数の物理マシン１１０−Ｎ（Ｎは正の整数。物理マシン１１０−１、物理マシン１１０−２、・・・）を備えている。複数の物理マシン１１０−Ｎは同様の構成であるので、特に区別しない場合には「−１」、「−２」等の記載を省略して物理マシン１１０として説明する。ストレージ装置群２００は、複数のストレージ装置２１０−Ｎ（Ｎは正の整数。ストレージ装置２１０−１、ストレージ装置２１０−２、・・・）を備えている。複数のストレージ装置２１０−Ｎは同様の構成であるので、特に区別しない場合には「−１」、「−２」等の記載を省略してストレージ装置２１０として説明する。
【００１５】
ネットワークブートサーバ４００および物理マシン１１０と、物理マシン１１０およびストレージ装置群２００と、物理マシン１１０およびユーザ端末３００とはネットワークを介して接続されている。本実施形態では、ネットワークとは、例えばＬＡＮ（Local Area Network）のような比較的近距離で容量の大きな情報を送受信可能なネットワークを想定するが、インターネット、ＷＡＮ（Wide Area Network）、専用回線、電話通信網、移動通信システム、またはこれらの組み合わせ等によって構成される情報通信ネットワークであってもよい。
【００１６】
まず、本実施形態の概要を説明する。本実施形態のコンピュータリソース提供システム１は、物理マシン１１０が備えるコンピュータリソースを、ネットワークを介して接続されたユーザ端末３００に利用させるものである。ユーザ端末３００は、物理マシン１１０と通信を行うだけの性能があれば、物理マシン１１０のコンピュータリソースによりコンピュータ処理を実行させることができる。このようなシンクライアントシステムによれば、ユーザ端末３００にはＨＤＤ（Hard disk drive）などのストレージが不要となり、またユーザ端末３００に情報が残らないため、情報漏洩の防止にも効果的である。
【００１７】
さらに、本実施形態では、複数の物理マシン１１０のコンピュータリソースを効率良く活用するために、仮想化技術を用いて物理マシン１１０のコンピュータリソースを仮想化し、仮想マシンを起動する。ユーザ端末３００は、このように物理マシン１１０に起動された仮想マシンにネットワークを介して接続する。物理マシン１１０に起動された仮想マシンは、ユーザ端末３００に入力される操作に応じて動作する。
【００１８】
このように、物理マシン１１０に仮想マシンを起動させる場合、物理マシン１１０において、コンピュータリソースを仮想化するための制御プログラムであるハイパーバイザが動作する必要がある。このため、コンピュータリソース提供システム１の管理者は、例えばコンピュータリソース提供システム１に新たな物理マシン１１０を追加する場合、その物理マシン１１０にハイパーバイザをインストールしたり、仮想マシンを起動させるための各種設定を行ったりする作業が必要になる。そこで、本実施形態では、物理マシン１１０において動作するハイパーバイザ自体を、ネットワークブートにより起動するように構成する。さらに、物理マシン１１０を動作させるための仮想マシンイメージを、ネットワークを介して接続されたストレージ装置２１０に記憶させる。そして、物理マシン１１０のコンピュータリソース上で動作する仮想マシンを、ストレージ装置２１０に記憶されている仮想マシンイメージに基づいて動作させる。
【００１９】
これにより、物理マシン１１０についても、ＨＤＤなどのストレージが不要となる。また、コンピュータリソース提供システム１の管理者は、例えばコンピュータリソース提供システム１に新たな物理マシン１１０を追加する場合、その物理マシン１１０に対する設定作業等を行う必要がなくなり、自動的に仮想マシンを起動させ、動作させることができるようになる。すなわち、コンピュータリソース提供システム１において、仮想マシンを起動する物理マシン１１０の追加・取り外しが容易になり、コンピュータリソース提供システム１が備えるコンピュータリソースを効率良く管理することが可能になる。以下、このようなコンピュータリソース提供システム１の構成について、詳細に説明する。
【００２０】
物理マシン１１０は、プロセッサやメモリを備えるが、ＨＤＤを備えていないコンピュータ装置である。すなわち、物理マシン１１０は、電力が供給されないと情報が失われる揮発性の記憶装置（メモリ）を備えるが、電力が供給されなくても情報が失われない不揮発性の記憶装置（ＨＤＤ）を備えない。したがって、物理マシン１１０は、自装置を動作させるＯＳ等の各種プログラムを、自装置の内部に記憶しない。物理マシン１１０は、ネットワークを介して接続されたストレージ装置２１０に記憶された仮想マシンイメージに基づいて動作する。
【００２１】
物理マシン１１０−Ｎが備えるネットワーク起動要求部１１１−Ｎ（ネットワーク起動要求部１１１−１、ネットワーク起動要求部１１１−２、・・・）は同様の構成であるので、特に区別しない場合には「−１」、「−２」等の記載を省略してネットワーク起動要求部１１１として説明する。物理マシン１１０は、ネットワーク起動要求部１１１を備えている。
【００２２】
ネットワーク起動要求部１１１は、物理マシン１１０の電源がＯＮになると、ネットワークブートサーバ４００に、自身の物理マシン１１０を識別する物理マシンＩＤ（Identifier）が含まれるネットワークブート要求を送信する。物理マシンＩＤは、例えば物理マシン１１０のＭＡＣ（Media Access Control）アドレスであるが、本実施形態では、物理マシン１１０−１の物理マシンＩＤは「００１」であり、物理マシン１１０−２の物理マシンＩＤは「００２」であるとして例を説明する。例えば、ネットワーク起動要求部１１１は、ＰＸＥ（Preboot eXecution Environment）によるネットワークブート要求を送信する。
【００２３】
ここで、物理マシン１１０は、ネットワークブートサーバ４００に送信したネットワークブート要求に応じてネットワークブートサーバ４００から送信されるハイパーバイザプログラムと物理マシン設定情報とを受信し、受信したハイパーバイザプログラムを起動する。また、受信した物理マシン設定情報に基づいて、ストレージ装置２１０に接続してストレージをマウントし、ストレージ装置２１０に記憶されている仮想マシンイメージに基づいて仮想マシン（例えば、仮想マシン１１２ａ−１、仮想マシン１１２ａ−２）を起動し、動作させる。
【００２４】
ストレージ装置２１０は、ＨＤＤ等の不揮発性のストレージを備えたコンピュータ装置であり、物理マシン１１０を動作させる各種プログラムが記憶される。ストレージ装置２１０は、仮想マシンイメージ記憶部２１１を備えている。仮想マシンイメージ記憶部２１１には、物理マシン１１０において起動され、動作される仮想マシンの仮想マシンイメージが記憶される。例えば、仮想マシンイメージ記憶部２１１には、ユーザ端末３００を利用するユーザごとに、そのユーザに利用させる仮想マシンのイメージファイルである仮想マシンイメージが記憶される。
【００２５】
ユーザ端末３００は、ユーザに利用されるコンピュータ端末であり、物理マシン１１０に起動されている、自身のユーザに対応する仮想マシンに接続し、その仮想マシンをユーザに利用させる。図では、１台のユーザ端末３００を明示しているが、複数のユーザの複数のユーザ端末３００が物理マシン群１００に接続されていてよい。
【００２６】
ネットワークブートサーバ４００は、物理マシン群１００に接続されたコンピュータ装置である。ネットワークブートサーバ４００は、通信部４１０と、記憶部４２０と、制御部４３０とを備えている。
通信部４１０は、物理マシン１１０と情報を送受信する。例えば、通信部４１０は、理マシン１１０から、その物理マシンの物理マシンＩＤが含まれるネットワークブート要求を受信する。
【００２７】
記憶部４２０には、ネットワークブートサーバ４００が動作する際に参照する各種情報が記憶される。記憶部４２０は、ハイパーバイザプログラム記憶部４２１と、設定情報リスト記憶部４２２とを備えている。
ハイパーバイザプログラム記憶部４２１には、物理マシン１１０においてハイパーバイザを動作させるためのハイパーバイザプログラム（実行バイナリ）が記憶される。ここで、ハイパーバイザプログラム記憶部４２１には、種類の異なる複数のハイパーバイザプログラムが記憶されるようにすることができる。例えばＸｅｎ（登録商標）やＶＭＷａｒｅ（登録商標）等の複数の種類のハイパーバイザプログラムを記憶させておくことができる。
【００２８】
設定情報リスト記憶部４２２には、物理マシンを識別する物理マシンＩＤごとに、その物理マシンに起動させる仮想マシンに関する物理マシン設定情報が対応付けられた複数の設定情報が含まれる設定情報リストが記憶される。図２は、設定情報リスト記憶部４２２に記憶される設定情報リストのデータ例を示す図である。設定情報リストには、物理マシン群１００が備える複数の物理マシン１１０の全ての物理マシンの物理マシンＩＤのそれぞれに、それぞれの物理マシン設定情報が対応付けられる。物理マシン設定情報には、例えば、対応する物理マシンに設定するＩＰ（Internet Protocol）アドレス、その物理マシンに起動させるためのハイパーバイザプログラムの種類、その物理マシンに起動させる仮想マシンの数、その仮想マシンに設定するＩＰアドレス、仮想マシンの仮想マシンイメージを識別する仮想マシンイメージＩＤ、その仮想マシンを利用させるユーザを識別するユーザＩＤ等の情報が含まれる。ここでは、例えば物理マシン１１０−１の物理マシンＩＤである「００１」に、このような物理マシン設定情報が対応付けられている。
【００２９】
ここでは、物理マシンＩＤと物理マシン設定情報とが直接対応付けられる例を示すが、例えばそれぞれの物理マシン設定情報をファイル化して記憶部４２０に別途記憶させておくこともできる。この場合、物理マシンＩＤと物理マシン設定ファイルのファイル名とを対応付けておくことにより、物理マシンＩＤに対応する物理マシン設定ファイルを特定することができる。
【００３０】
制御部４３０は、ネットワークブートサーバ４００が備える各部を制御する。制御部４３０は、抽出部４３１と、起動制御部４３２とを備えている。
抽出部４３１は、通信部４１０が物理マシン１１０から送信されるネットワークブート要求を受信すると、受信したネットワークブート要求に含まれる物理マシンＩＤに対応する物理マシン設定情報を、設定情報リスト記憶部４２２から読み出す。
【００３１】
起動制御部４３２は、ハイパーバイザプログラム記憶部４２１に記憶されているハイパーバイザプログラムと、抽出部４３１が読み出した物理マシン設定情報とを、ネットワークブート要求の送信元である物理マシン１１０に送信してその物理マシン１１０にハイパーバイザを起動させる。これにより、物理マシン１１０に起動されたハイパーバイザは、対応するストレージ装置２１０に接続してマウントし、マウントしたストレージ装置２１０に記憶されている仮想マシンイメージに基づいて仮想マシンを起動させる。この際、起動制御部４３２は、物理マシン設定情報に含まれる種類が示すハイパーバイザプログラムをハイパーバイザプログラム記憶部４２１から読み出し、読み出したハイパーバイザプログラムを、ネットワークブート要求の送信元である物理マシン１１０に送信する。
【００３２】
ここで、起動制御部４３２は、例えば、物理マシン１１０に対してＩＰアドレス割り当てるＤＨＣＰ（Dynamic Host Configuration Protocol）サーバ、物理マシン１１０に対してブートローダ（例えば、ｐｘｅｌｉｎｕｘ）を送信するＴＦＴＰ（Trivial File Transfer Protocol）サーバ等の機能を備えるようにしてもよい。
このように、本実施形態のコンピュータリソース提供システム１は、物理マシン１１０にハイパーバイザをネットワークブートさせるネットワークブートシステムとして構築される。
【００３３】
次に、図面を参照して、本実施形態によるコンピュータリソース提供システム１の動作例を説明する。図３は、本実施形態によるコンピュータリソース提供システム１の動作例を示す図である。
コンピュータリソース提供システム１の管理者等の操作に応じて、物理マシン１１０の電源がＯＮになると（ステップＳ１）、物理マシン１１０のネットワーク起動要求部１１１は、自身の物理マシンＩＤが含まれるネットワークブート起動要求を、ネットワークブートサーバ４００に送信する（ステップＳ２）。ネットワークブートサーバ４００の通信部４１０が、物理マシン１１０から送信されたネットワークブート要求を受信すると、抽出部４３１は、ネットワークブート要求に含まれる物理マシンＩＤに対応付けられて設定情報リスト記憶部４２２に記憶されている物理マシン設定情報を読み出す（ステップＳ３）。
【００３４】
起動制御部４３２は、物理マシン設定情報に定められる種類のハイパーバイザソフトプログラムを、ハイパーバイザプログラム記憶部４２１から読み出す。起動制御部４３２は、読み出したハイパーバイザプログラムと、抽出部４３１が読み出した物理マシン設定情報とを、物理マシン１１０に送信する（ステップＳ４）。物理マシン１１０は、ネットワークブートサーバ４００から送信されたハイパーバイザプログラムと、物理マシン設定情報とを受信する。物理マシン１１０は、受信した物理マシン設定情報に従って、受信したハイパーバイザプログラムに基づくハイパーバイザを起動する（ステップＳ５）。物理マシン１１０は、物理マシン設定情報に定められるストレージ装置２１０に接続し、ストレージをマウントする（ステップＳ６）。そして、ハイパーバイザは、物理マシン設定情報に従って、仮想マシンを起動する（ステップＳ７）。
【００３５】
以上説明したように、本実施形態によれば、ユーザ端末３００にコンピュータリソースを提供する物理マシン１１０に仮想マシンを起動させるためのハイパーバイザを、ネットワークブートにより起動させることができる。これにより、コンピュータリソース提供システム１の管理者は、物理マシン１１０に予めハイパーバイザをインストールしたり、設定を行ったりする必要がなく、物理マシン１１０の電源を入れるだけで、ユーザ端末３００にコンピュータリソースを提供するための環境を自動的に構築することができる。
【００３６】
これにより、例えば、コンピュータリソース提供システム１に新たな物理マシン１１０を追加したり、取り外したりする作業が簡単になる。例えば、物理マシン群１００に新たな物理マシン１１０を追加する場合、設定情報リスト記憶部４２２に記憶されている設定情報リストに、新たに追加する物理マシン１１０に関する設定情報を追加して記憶させておき、物理マシン群１００のネットワークに新たな物理マシン１１０に接続させて起動させるだけで、自動的に環境を構築させることができる。これにより、例えば、デスクトップ用途で使っていたＰＣ（Personal computer）を物理マシン群１００のネットワークに接続することにより、コンピュータリソース提供システム１のコンピュータリソースとして簡単に再利用させることもできる。この際、新たに接続するＰＣからはＨＤＤを外してから接続してもよいし、外さなくてもよい。すなわち、本実施形態では、物理マシン１１０はＨＤＤを備えないコンピュータ装置であるとして例を説明したが、物理マシン１１０は、ＨＤＤを備えていてもよい。
【００３７】
また、設定情報リスト記憶部４２２に記憶されている物理マシン設定情報に含まれるハイパーバイザの種類を書き換えて記憶させれば、物理マシン１１０に起動されるハイパーバイザの種類を容易に変更させることができる。すなわち、コンピュータリソース提供システム１を、マルチハイパーバイザクラウドとして構築することができる。
さらに、物理マシン１１０には、仮想マシンを起動させるだけでなく、マシンイメージを実行させることもできる。これにより、仮想マシンによるクラウドと、中断再開型ベアメタルクラウドとを併用して利用させることができる。
さらに、ネットワークブート型のシンクライアントデスクトップ環境を、仮想マシン方式で構築することが可能になる。
【００３８】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。上述したように、第１の実施形態において説明したコンピュータリソース提供システム１によれば、ＨＤＤを内蔵していない物理マシン１１０においてハイパーバイザを実行でき、物理マシン１１０にハイパーバイザをインストールさせる作業が不要になる。ただし、多数（例えば、数十台、数百台）の物理マシン１１０の電源を一斉にＯＮした場合、多数の物理マシン１１０からのネットワークブート要求が一斉にネットワークブートサーバ４００に送信されることが考えられる。この場合、物理マシン群１００とネットワークブートサーバ４００との間のトラフィックが輻輳することや、ネットワークブートサーバ４００による応答処理が過負荷になることがあると考えられる。
【００３９】
そこで、第１の実施形態におけるネットワークブートサーバ４００に相当するサーバを複数用意して、ネットワークブート要求を分散させることができる。本実施形態では、ネットワークブートサーバ４００に相当する機能を有するサーバを、物理マシン群が備える物理マシンにネットワークブートにより起動させることで、コンピュータリソースを有効利用する。以下、このような本実施形態のコンピュータリソース提供システム１０００について詳細に説明する。
【００４０】
図４は、本発明の第２の実施形態によるコンピュータリソース提供システム１０００の構成を示すブロック図である。
コンピュータリソース提供システム１０００は、物理マシン群１１００と、ストレージ装置群１２００と、ユーザ端末１３００と、ネットワークブートサーバ１４００とを備えている。物理マシン群１１００と、ストレージ装置群１２００と、ユーザ端末１３００と、ネットワークブートサーバ１４００とは、それぞれ物理マシン群１００と、ストレージ装置群２００と、ユーザ端末３００と、ネットワークブートサーバ４００と同様の構成である。
【００４１】
ネットワークブートサーバ１４００は、通信部１４１０と、記憶部１４２０と、制御部１４３０とを備えている。記憶部１４２０は、ハイパーバイザプログラム記憶部１４２１と、設定情報リスト記憶部１４２２と、ネットワークブートサービスプログラム記憶部１４２３を備えている。
ハイパーバイザプログラム記憶部１４２１は、ハイパーバイザプログラム記憶部４２１と同様の構成である。
【００４２】
設定情報リスト記憶部１４２２は、設定情報リスト記憶部４２２と同様の構成である。ただし、第１の実施形態におけるネットワークブートサーバ４００として動作させる物理マシン１１１０の物理マシン設定情報には、対応する物理マシン１１１０をネットワークブートサーバとして機能させるための各種設定情報が含まれる。
ネットワークブートサービスプログラム記憶部１４２３には、物理マシン１１１０のコンピュータを、第１の実施形態におけるネットワークブートサーバ４００として機能させるネットワークブートサービスプログラムが記憶される。
【００４３】
制御部１４３０は、抽出部１４３１と、起動制御部１４３２とを備えている。
抽出部１４３１は、抽出部４３１と同様の構成である。
起動制御部１４３２は、ハイパーバイザプログラム記憶部１４２１に記憶されているハイパーバイザプログラムと、設定情報リスト記憶部１４２２に記憶されている設定情報リストと、ネットワークブートサービスプログラム記憶部１４２３に記憶されているネットワークブートサービスプログラムとを、ネットワークブート要求の送信元である物理マシン１１１０に送信し、その物理マシン１１１０のコンピュータを、第１の実施形態におけるネットワークブートサーバ４００として機能させる。
【００４４】
本実施形態では、物理マシン群１１００が備える物理マシン１１１０−１が、ネットワークブートにより仮想マシンを起動するのではなく、ネットワークブートにより、第１の実施形態におけるネットワークブートサーバ４００と同様の構成を備えるコンピュータ装置として起動する。
【００４５】
物理マシン１１１０−１は、ネットワーク起動要求部１１１１−１と、通信部１１１２と、記憶部１１１３と、ハイパーバイザプログラム記憶部１１１４と、設定情報リスト記憶部１１１５と、制御部１１１６と、抽出部１１１７と、起動制御部１１１８とを備えている。ネットワーク起動要求部１１１１−１は、ネットワーク起動要求部１１１と同様の構成である。ただし、ネットワーク起動要求部１１１１−１が、ネットワークブートサーバ１４００に対して送信したネットワークブート要求に応じて、ネットワークブートサーバ１４００により、ハイパーバイザプログラムと、設定情報リストと、ネットワークブートサービスプログラムとが送信される。
【００４６】
通信部１１１２と、記憶部１１１３と、ハイパーバイザプログラム記憶部１１１４と、設定情報リスト記憶部１１１５と、制御部１１１６と、抽出部１１１７と、起動制御部１１１８との機能部は、それぞれ通信部４１０と、記憶部４２０と、ハイパーバイザプログラム記憶部４２１と、設定情報リスト記憶部４２２と、制御部４３０と、抽出部４３１と、起動制御部４３２と同様の構成であり、ネットワークブートサーバ１４００から送信されるネットワークブートサービスプログラムに基づいて構成される。ハイパーバイザプログラム記憶部１１１４には、ネットワークブートサーバ１４００から送信されたハイパーバイザプログラムが記憶される。設定情報リスト記憶部１１１５には、ネットワークブートサーバ１４００から送信された設定情報リストが記憶される。記憶部１１１３は、物理マシン１１１０が備える揮発性のメモリに記憶されるものとして構成することができる。ただし、記憶部１１１３に記憶する情報の容量が大きい場合には、ストレージ装置１２１０のストレージをマウントして利用してもよい。
【００４７】
本実施形態において、ネットワークブートサーバとして機能しない物理マシン１１１０（例えば、物理マシン１１１０−２）は、ネットワークブートサーバとして機能する物理マシン１１１０（例えば、物理マシン１１１０−１）に対してネットワークブート要求を送信する。具体的には、例えば、物理マシン１１１０−２は、ネットワークブート要求を、自身が接続されたネットワークにブロードキャストで送信する。ネットワークブートサーバ１４００は、物理マシン１１１０−２から送信されたネットワークブート要求を無視する。ネットワークブートサーバとして機能する物理マシン１１１０−１は、物理マシン１１１０−２から送信されたネットワークブート要求に応答する。
【００４８】
次に、図面を参照して、本実施形態によるコンピュータリソース提供システム１０００の動作例を説明する。図５は、本実施形態によるコンピュータリソース提供システム１０００の動作例を示す図である。
コンピュータリソース提供システム１０００の管理者等の操作に応じて、物理マシン１１１０−１の電源がＯＮになると（ステップＳ１１）、物理マシン１１１０−１のネットワーク起動要求部１１１１−１は、自身の物理マシンＩＤが含まれるネットワークブート起動要求を、ネットワークブートサーバ１４００に送信する（ステップＳ１２）。ネットワークブートサーバ１４００の通信部１４１０が、物理マシン１１１０−１から送信されたネットワークブート要求を受信すると、抽出部１４３１は、ハイパーバイザプログラム記憶部１４２１に記憶されている全てのハイパーバイザプログラムと、設定情報リスト記憶部１４２２に記憶されている全ての設定情報が含まれる設定情報リストと、ネットワークブートサービスプログラム記憶部１４２３に記憶されているネットワークブートサービスプログラムとを読み出す（ステップＳ１３）。
【００４９】
起動制御部４３２は、抽出部１４３１が読み出したハイパーバイザプログラムと、設定情報リストと、ネットワークブートサービスプログラムとを、物理マシン１１１０−１に送信する（ステップＳ１４）。物理マシン１１１０−１は、ネットワークブートサーバ１４００から送信されたハイパーバイザプログラムと、設定情報リストと、ネットワークブートサービスプログラムとを受信する。物理マシン１１１０−１は、受信したネットワークブートサービスプログラムに基づいて、ネットワークブートサービスを起動し、自身のコンピュータを、通信部１１１２と、記憶部１１１３と、制御部１１１６として機能させる（ステップＳ１５）。ここで、物理マシン１１１０−１は、ネットワークブートサーバ１４００から送信されたハイパーバイザプログラムをハイパーバイザプログラム記憶部１１１４に記憶させ、ネットワークブートサーバ１４００から送信された設定情報リストを、設定情報リスト記憶部１１１５に記憶させる。
【００５０】
以降、ステップＳ１６からステップＳ２２までの処理は、第１の実施形態におけるステップＳ１からステップＳ７までの処理と同様である。すなわち、コンピュータリソース提供システム１０００の管理者等の操作に応じて、物理マシン１１００−２の電源がＯＮになると（ステップＳ１６）、物理マシン１１００−２のネットワーク起動要求部１１１１−２は、自身の物理マシンＩＤが含まれるネットワークブート起動要求を、物理マシン１１１０−１に送信する（ステップＳ１７）。物理マシン１１１０−１の通信部１１１２が、物理マシン１１１０−２から送信されたネットワークブート要求を受信すると、抽出部１１１７は、ネットワークブート要求に含まれる物理マシンＩＤに対応付けられて設定情報リスト記憶部１１１５に記憶されている物理マシン設定情報を読み出す（ステップＳ１８）。
【００５１】
起動制御部１１１８は、物理マシン設定情報に定められる種類のハイパーバイザソフトプログラムを、ハイパーバイザプログラム記憶部１１１４から読み出す。起動制御部１１１８は、読み出したハイパーバイザプログラムと、抽出部１１１７が読み出した物理マシン設定情報とを、物理マシン１１１０−２に送信する（ステップＳ１９）。物理マシン１１１０−２は、物理マシン１１１０−１から送信されたハイパーバイザプログラムと、物理マシン設定情報とを受信する。物理マシン１１１０−２は、受信した物理マシン設定情報に従って、受信したハイパーバイザプログラムに基づくハイパーバイザを起動する（ステップＳ２０）。物理マシン１１１０−２は、物理マシン設定情報に定められるストレージ装置１２１０に接続し、ストレージをマウントする（ステップＳ２１）。そして、ハイパーバイザは、物理マシン設定情報に従って、仮想マシンを起動する（ステップＳ２２）。
【００５２】
このようにすれば、物理マシン群１００からネットワークブートサーバ１４００に対してネットワークブート要求が送信されるのは、ネットワークサーバとして機能する物理マシン１１１０−１からのみであるため、物理マシン群１１００とネットワークブートサーバ１４００との間のトラフィックが輻輳することを防ぐことができる。
また、複数台の物理マシン１１１０を、ネットワークサーバとして機能させることもできる。このようにすれば、ネットワークサーバとして機能しない物理マシン１１１０から送信されるネットワークブート要求を、ネットワークサーバとして機能する複数の物理マシン１１１０に分散させることができる。これにより、ネットワークブート要求に対する応答処理が１台のネットワークサーバに集中することを防ぐことが可能となる。
【００５３】
なお、複数台の物理マシン１１１０をネットワークサーバとして機能させる場合、ネットワークサーバとして機能する複数の物理マシン１１１０ごとに、その物理マシン１１１０がネットワークブート要求に応答する他の物理マシン１１１０の範囲を定めておくことができる。
【００５４】
また、上述の実施形態では、ネットワークブートサーバ１４００は、ネットワークサーバとして機能する複数の物理マシン１１１０からのネットワークブート要求にのみ応答する例を示したが、ネットワークサーバとして機能しない物理マシン１１１０から送信されるネットワークブート要求であっても、例えば予め定められた範囲の物理マシン１１１０からのネットワークブート要求には応答するようにしてもよい。
【００５５】
また、第２の実施形態によれば、物理マシン群１１００が備える１台以上の物理マシン１１１０をネットワークブートサーバとして利用することになるため、その分、ユーザ端末１３００に対して提供することができる物理マシン１１１０の数は減ることになる。このため、物理マシン群１１００が備える物理マシン１１１０の数や、特定の時間帯に一斉にネットワークブート要求を送信することが予想される物理マシン１１１０の数等に応じて、第１の実施形態によるコンピュータリソース提供システム１と、第２の実施形態によるコンピュータリソース提供システム１０００とのうち、好適なシステムを構築するようにしてよい。あるいは、状況に応じて、コンピュータリソース提供システム１とコンピュータリソース提供システム１０００とを切り替えて動作させるようにしてもよい。
【００５６】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりネットワークブートを行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやＷＡＮ、ＬＡＮ、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【００５７】
また、上述した機能の一部または全部を、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【００５８】
１  コンピュータリソース提供システム
１００  物理マシン群
１１０  物理マシン
１１１  ネットワーク起動要求部
１１２  仮想マシン
２００  ストレージ装置群
２１０  ストレージ装置
２１１  仮想マシンイメージ記憶部
３００  ユーザ端末
４００  ネットワークブートサーバ
４１０  通信部
４２０  記憶部
４２１  ハイパーバイザプログラム記憶部
４２２  設定情報リスト記憶部
４３０  制御部
４３１  抽出部
４３２  起動制御部
１０００  コンピュータリソース提供システム
１１００  物理マシン群
１１１０  物理マシン
１１１１  ネットワーク起動要求部
１１１２  通信部
１１１３  記憶部
１１１４  ハイパーバイザプログラム記憶部
１１１５  設定情報リスト記憶部
１１１６  制御部
１１１７  抽出部
１１１８  起動制御部
１２００  ストレージ装置群
１２１０  ストレージ装置
１２１１  仮想マシンイメージ記憶部
１３００  ユーザ端末
１４００  ネットワークブートサーバ
１４１０  通信部
１４２０  記憶部
１４２１  ハイパーバイザプログラム記憶部
１４２２  設定情報リスト記憶部
１４３０  制御部
１４３１  抽出部
１４３２  起動制御部
１４２３  ネットワークブートサービスプログラム記憶部
【図１】
2015011658.tif 000003
【図２】
2015011658.tif 000004
【図３】
2015011658.tif 000005
【図４】
2015011658.tif 000006
【図５】
2015011658.tif 000007