(57)【要約】【課題】  ネットワークブートするＰＣのハードウェア構成に応じた適切な起動イメージを提供できるようにする。【解決手段】  ブートノード２００から送られてきたハードウェア構成情報に基づいて、ブートサーバ１００の起動イメージ選択部１０１は、起動イメージ保存部２００に保存された起動イメージの中から、そのハードウェア構成情報に合致する起動イメージを選択し、起動イメージ選択部１０３に渡す。起動イメージ１０３は選択された起動イメージをブートノード２００に送り返す。このようにすることで、ブートノード２００のハードウェア構成に適合した起動イメージを提供することができる。【選択図】  図１
2006011506.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを通じて相互に通信可能に接続された１台以上のブートサーバ装置およびブートノード装置を備え、
前記ブートノード装置は、自ノード装置のハードウェア構成情報を取得するハードウェア構成情報取得手段と、該ハードウェア構成情報取得手段で取得されたハードウェア構成情報を含む起動イメージ送信要求を前記ブートサーバ装置に送信する起動イメージ要求手段と、前記ブートサーバ装置から起動イメージを受信し、受信した起動イメージを用いて自ノード装置の起動処理を行う起動処理手段とを備え、
前記ブートサーバ装置は、起動イメージを保存する起動イメージ保存手段と、前記起動イメージ保存手段に保存された起動イメージのうち、前記ブートノード装置から受信した起動イメージ送信要求に含まれるハードウェア構成情報に合致する起動イメージを選択する起動イメージ選択手段と、該起動イメージ選択手段で選択された起動イメージを前記ブートノード装置に送信する起動イメージ送信手段とを備えることを特徴とする起動イメージ提供システム。
【請求項２】
前記ブートサーバ装置は、起動イメージを作成し、前記起動イメージ保存手段に保存する起動イメージ作成手段を備えることを特徴とする請求項１記載の起動イメージ提供システム。
【請求項３】
前記起動イメージ作成手段は、起動イメージ作成用ノードが接続される接続ポートを有し、前記起動イメージ作成用ノードの所在情報を含む起動イメージ作成要求を受け取り、該受け取った起動イメージ作成要求に含まれる所在情報で特定される前記起動イメージ作成用ノードに対して、前記起動イメージ作成要求または設定ファイル中のソフトウェア指定情報で指定されたソフトウェアをインストールし、インストールの終了した前記起動イメージ作成用ノードから起動イメージを読み出し、前記起動イメージ保存手段に保存するものであることを特徴とする請求項２記載の起動イメージ提供システム。
【請求項４】
前記ブートサーバ装置は、ハードウェア構成情報を含む起動イメージ作成要求を受け取り、前記ハードウェア構成情報に合致する起動イメージを作成する起動イメージ作成手段を備え、且つ、前記起動イメージ選択手段は、前記ブートノード装置から受信した前記起動イメージ送信要求に含まれるハードウェア構成情報に合致する起動イメージが前記起動イメージ保存手段に存在しないとき、前記起動イメージ送信要求に含まれる前記ハードウェア構成情報を付加した起動イメージ作成要求を前記起動イメージ作成手段に送り、前記起動イメージ作成手段で作成された起動イメージを前記ブートノード装置に送信するものであることを特徴とする請求項１記載の起動イメージ提供システム。
【請求項５】
前記起動イメージ作成手段は、起動イメージ作成用ノードが接続される接続ポートを有し、前記接続ポートに接続された起動イメージ作成用ノードの中から、前記起動イメージ作成要求に含まれるハードウェア構成情報に合致するハードウェア構成を有する起動イメージ作成用ノードを検索し、該検索した起動イメージ作成用ノードに対して、前記起動イメージ作成要求または設定ファイル中のソフトウェア指定情報で指定されたソフトウェアをインストールし、インストールの終了した前記起動イメージ作成用ノードから起動イメージを読み出し、前記起動イメージ選択手段に送るものであることを特徴とする請求項４記載の起動イメージ提供システム。
【請求項６】
前記ブートサーバ装置の前記起動イメージ選択手段は、前記ハードウェア構成情報に合致する起動イメージが複数存在した場合に、少なくとも起動イメージの識別子を含む起動イメージ提示テーブルを前記ブートノード装置に送信し、その応答として返される起動イメージ提示応答に含まれる起動イメージの識別子により１つの起動イメージを選択するものであり、且つ、前記ブートノード装置は、前記起動イメージ選択手段から送信された前記起動イメージ提示テーブルを受信し、ユーザなどによって選択された１つの起動イメージの識別子を含む前記起動イメージ提示応答を前記起動イメージ選択手段に送信する起動イメージ提示手段を備えることを特徴とする請求項１乃至５の何れか１項に記載の起動イメージ提供システム。
【請求項７】
ａ）ブートノード装置のハードウェア構成情報取得手段が、自ノード装置のハードウェア構成情報を取得するステップ、
ｂ）前記ブートノード装置の起動イメージ要求手段が、前記ハードウェア構成情報取得手段で取得されたハードウェア構成情報を含む起動イメージ送信要求をネットワークを通じてブートサーバ装置に送信するステップ、
ｃ）前記ブートサーバ装置の起動イメージ選択手段が、起動イメージ保存手段に保存された起動イメージのうち、前記ブートノード装置から受信した起動イメージ送信要求に含まれるハードウェア構成情報に合致する起動イメージを選択するステップ、
ｄ）前記ブートサーバ装置の起動イメージ送信手段が、前記起動イメージ選択手段で選択された起動イメージを前記ネットワークを通じて前記ブートノード装置に送信するステップ、
ｅ）前記ブートノード装置の起動処理手段が、前記ブートサーバ装置から起動イメージを受信し、受信した起動イメージを用いて自ノード装置の起動処理を行うステップ、
を含むことを特徴とする起動イメージ提供方法。
【請求項８】
ｆ）前記ブートサーバ装置の起動イメージ作成手段が、起動イメージを作成し、前記起動イメージ保存手段に保存するステップ、
を含むことを特徴とする請求項７記載の起動イメージ提供方法。
【請求項９】
前記ステップｆは、前記起動イメージ作成用ノードの所在情報を含む起動イメージ作成要求を受け取るステップ、該受け取った起動イメージ作成要求に含まれる所在情報で特定される前記起動イメージ作成用ノードに対して、前記起動イメージ作成要求または設定ファイル中のソフトウェア指定情報で指定されたソフトウェアをインストールするステップ、インストールの終了した前記起動イメージ作成用ノードから起動イメージを読み出すステップ、前記起動イメージ保存手段に保存するステップを含むことを特徴とする請求項８記載の起動イメージ提供方法。
【請求項１０】
ａ）ブートノード装置のハードウェア構成情報取得手段が、自ノード装置のハードウェア構成情報を取得するステップ、
ｂ）前記ブートノード装置の起動イメージ要求手段が、前記ハードウェア構成情報取得手段で取得されたハードウェア構成情報を含む起動イメージ送信要求をネットワークを通じてブートサーバ装置に送信するステップ、
ｃ）前記ブートサーバ装置の起動イメージ選択手段が、起動イメージ保存手段に保存された起動イメージの中に、前記ブートノード装置から受信した起動イメージ送信要求に含まれるハードウェア構成情報に合致する起動イメージが存在すれば、該存在した起動イメージを選択し、存在しなければ、前記起動イメージ送信要求に含まれる前記ハードウェア構成情報を付加した起動イメージ作成要求を起動イメージ作成手段に送るステップ、
ｄ）前記ブートサーバ装置の前記起動イメージ作成手段が、前記起動イメージ作成要求に含まれる前記ハードウェア構成情報に合致する起動イメージを作成するステップ、
ｅ）前記ブートサーバ装置の起動イメージ送信手段が、前記ステップｃで選択された起動イメージまたは前記ステップｄで作成された起動イメージを前記ネットワークを通じて前記ブートノード装置に送信するステップ、
ｆ）前記ブートノード装置の起動処理手段が、前記ブートサーバ装置から起動イメージを受信し、受信した起動イメージを用いて自ノード装置の起動処理を行うステップ、
を含むことを特徴とする起動イメージ提供方法。
【請求項１１】
前記ステップｄは、接続ポートに接続された起動イメージ作成用ノードの中から、前記起動イメージ作成要求に含まれるハードウェア構成情報に合致するハードウェア構成を有する起動イメージ作成用ノードを検索するステップ、該検索した起動イメージ作成用ノードに対して、前記起動イメージ作成要求または設定ファイル中のソフトウェア指定情報で指定されたソフトウェアをインストールするステップ、インストールの終了した前記起動イメージ作成用ノードから起動イメージを読み出すステップ、を含むことを特徴とする請求項１０記載の起動イメージ提供方法。
【請求項１２】
前記ブートサーバ装置の前記起動イメージ選択手段が、前記ハードウェア構成情報に合致する起動イメージが複数存在した場合に、少なくとも起動イメージの識別子を含む起動イメージ提示テーブルを前記ブートノード装置に送信し、前記ブートノード装置の起動イメージ提示手段が、前記起動イメージ提示テーブルを受信し、ユーザなどによって選択された１つの起動イメージの識別子を含む起動イメージ提示応答を前記ブートサーバ装置に送信し、前記ブートサーバ装置の前記起動イメージ選択手段が、前記起動イメージ提示応答に含まれる起動イメージの識別子により１つの起動イメージを選択することを特徴とする請求項７乃至１１の何れか１項に記載の起動イメージ提供方法。
【請求項１３】
ネットワークを通じてブートサーバ装置と通信可能に接続されたブートノード装置において、
自ノード装置のハードウェア構成情報を取得するハードウェア構成情報取得手段と、該ハードウェア構成情報取得手段で取得されたハードウェア構成情報を含む起動イメージ送信要求を前記ブートサーバ装置に送信する起動イメージ要求手段と、前記ブートサーバ装置から起動イメージを受信し、受信した起動イメージを用いて自ノード装置の起動処理を行う起動処理手段とを備えることを特徴とするブートノード装置。
【請求項１４】
前記ブートサーバ装置から自ノード装置のハードウェア構成情報に合致する複数の起動イメージの識別子を含む起動イメージ提示テーブルを受信し、ユーザなどによって選択された１つの起動イメージの識別子を含む起動イメージ提示応答を前記ブートサーバ装置に送信する起動イメージ提示手段を備えることを特徴とする請求項１３記載のブートノード装置。
【請求項１５】
ネットワークを通じてブートノード装置に通信可能に接続されたブートサーバ装置において、
起動イメージを保存する起動イメージ保存手段と、前記起動イメージ保存手段に保存された起動イメージのうち、前記ブートノード装置から受信した起動イメージ送信要求に含まれるハードウェア構成情報に合致する起動イメージを選択する起動イメージ選択手段と、該起動イメージ選択手段で選択された起動イメージを前記ブートノード装置に送信する起動イメージ送信手段とを備えることを特徴とするブートサーバ装置。
【請求項１６】
起動イメージを作成し、前記起動イメージ保存手段に保存する起動イメージ作成手段を備えることを特徴とする請求項１５記載のブートサーバ装置。
【請求項１７】
前記起動イメージ作成手段は、起動イメージ作成用ノードが接続される接続ポートを有し、前記起動イメージ作成用ノードの所在情報を含む起動イメージ作成要求を受け取り、該受け取った起動イメージ作成要求に含まれる所在情報で特定される前記起動イメージ作成用ノードに対して、前記起動イメージ作成要求または設定ファイル中のソフトウェア指定情報で指定されたソフトウェアをインストールし、インストールの終了した前記起動イメージ作成用ノードから起動イメージを読み出し、前記起動イメージ保存手段に保存するものであることを特徴とする請求項１６記載のブートサーバ装置。
【請求項１８】
起動イメージ作成要求に含まれるハードウェア構成情報に合致する起動イメージを作成する起動イメージ作成手段を備え、且つ、前記起動イメージ選択手段は、前記ブートノード装置から受信した前記起動イメージ送信要求に含まれるハードウェア構成情報に合致する起動イメージが前記起動イメージ保存手段に存在しないとき、前記起動イメージ送信要求に含まれる前記ハードウェア構成情報を付加した起動イメージ作成要求を前記起動イメージ作成手段に送り、前記起動イメージ作成手段で作成された起動イメージを前記ブートノード装置に送信するものであることを特徴とする請求項１５記載のブートサーバ装置。
【請求項１９】
前記起動イメージ作成手段は、起動イメージ作成用ノードが接続される接続ポートを有し、前記接続ポートに接続された起動イメージ作成用ノードの中から、前記起動イメージ作成要求に含まれるハードウェア構成情報に合致するハードウェア構成を有する起動イメージ作成用ノードを検索し、該検索した起動イメージ作成用ノードに対して、前記起動イメージ作成要求または設定ファイル中のソフトウェア指定情報で指定されたソフトウェアをインストールし、インストールの終了した前記起動イメージ作成用ノードから起動イメージを読み出し、前記起動イメージ選択手段に送るものであることを特徴とする請求項１８記載のブートサーバ装置。
【請求項２０】
前記起動イメージ選択手段は、前記ハードウェア構成情報に合致する起動イメージが複数存在した場合に、少なくとも起動イメージの識別子を含む起動イメージ提示テーブルを前記ブートノード装置に送信し、その応答として返される起動イメージ提示応答に含まれる起動イメージの識別子により１つの起動イメージを選択するものであることを特徴とする請求項１５乃至１９の何れか１項に記載のブートサーバ装置。
【請求項２１】
ネットワークを通じてブートサーバ装置と通信可能に接続されたブートノード装置を構成するコンピュータを、
自ノード装置のハードウェア構成情報を取得するハードウェア構成情報取得手段、該ハードウェア構成情報取得手段で取得されたハードウェア構成情報を含む起動イメージ送信要求を前記ブートサーバ装置に送信する起動イメージ要求手段、前記ブートサーバ装置から起動イメージを受信し、受信した起動イメージを用いて自ノード装置の起動処理を行う起動処理手段、として機能させることを特徴とするプログラム。
【請求項２２】
前記コンピュータをさらに、前記ブートサーバ装置から自ノード装置のハードウェア構成情報に合致する複数の起動イメージの識別子を含む起動イメージ提示テーブルを受信し、ユーザなどによって選択された１つの起動イメージの識別子を含む起動イメージ提示応答を前記ブートサーバ装置に送信する起動イメージ提示手段、として機能させることを特徴とする請求項２１記載のプログラム。
【請求項２３】
ネットワークを通じてブートノード装置に通信可能に接続されたブートサーバ装置を構成するコンピュータを、
起動イメージを保存する起動イメージ保存手段、前記起動イメージ保存手段に保存された起動イメージのうち、前記ブートノード装置から受信した起動イメージ送信要求に含まれるハードウェア構成情報に合致する起動イメージを選択する起動イメージ選択手段、該起動イメージ選択手段で選択された起動イメージを前記ブートノード装置に送信する起動イメージ送信手段、として機能させることを特徴とするプログラム。
【請求項２４】
前記コンピュータをさらに、起動イメージを作成し、前記起動イメージ保存手段に保存する起動イメージ作成手段、として機能させることを特徴とする請求項２３記載のプログラム。
【請求項２５】
前記起動イメージ作成手段は、前記起動イメージ作成用ノードの所在情報を含む起動イメージ作成要求を受け取り、該受け取った起動イメージ作成要求に含まれる所在情報で特定される前記起動イメージ作成用ノードに対して、前記起動イメージ作成要求または設定ファイル中のソフトウェア指定情報で指定されたソフトウェアをインストールし、インストールの終了した前記起動イメージ作成用ノードから起動イメージを読み出し、前記起動イメージ保存手段に保存するものであることを特徴とする請求項２４記載のプログラム。
【請求項２６】
前記コンピュータをさらに、起動イメージ作成要求に含まれるハードウェア構成情報に合致する起動イメージを作成する起動イメージ作成手段、として機能させ、且つ、前記起動イメージ選択手段は、前記ブートノード装置から受信した前記起動イメージ送信要求に含まれるハードウェア構成情報に合致する起動イメージが前記起動イメージ保存手段に存在しないとき、前記起動イメージ送信要求に含まれる前記ハードウェア構成情報を付加した起動イメージ作成要求を前記起動イメージ作成手段に送り、前記起動イメージ作成手段で作成された起動イメージを前記ブートノード装置に送信するものであることを特徴とする請求項２３記載のプログラム。
【請求項２７】
前記起動イメージ作成手段は、接続ポートに接続された起動イメージ作成用ノードの中から、前記起動イメージ作成要求に含まれるハードウェア構成情報に合致するハードウェア構成を有する起動イメージ作成用ノードを検索し、該検索した起動イメージ作成用ノードに対して、前記起動イメージ作成要求または設定ファイル中のソフトウェア指定情報で指定されたソフトウェアをインストールし、インストールの終了した前記起動イメージ作成用ノードから起動イメージを読み出し、前記起動イメージ選択手段に送るものであることを特徴とする請求項２６記載のプログラム。
【請求項２８】
前記起動イメージ選択手段は、前記ハードウェア構成情報に合致する起動イメージが複数存在した場合に、少なくとも起動イメージの識別子を含む起動イメージ提示テーブルを前記ブートノード装置に送信し、その応答として返される起動イメージ提示応答に含まれる起動イメージの識別子により１つの起動イメージを選択するものであることを特徴とする請求項２３乃至２７の何れか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータの起動に必要なファイル群から構成される起動イメージを提供するシステムに関し、特に、ネットワークブートを行うコンピュータに対してネットワークを経由してサーバから起動イメージを提供する起動イメージ提供システム及び方法に関する。
【背景技術】
【０００２】
ネットワークブートは、コンピュータが起動するときに必要なＯＳやアプリケーションのファイル群から構成される起動イメージを、コンピュータとは別のサーバ上に持たせ、コンピュータの起動時にはネットワークを経由して起動イメージを読み込んでブートを行う技術である。従来のネットワークブートの方法としては、ＰＸＥ（Ｐｒｅｂｏｏｔ  Ｅｘｅｃｕｔｉｏｎ  Ｅｎｖｉｒｏｎｍｅｎｔ）ブートがよく知られている。ＰＸＥブートでは、コンピュータのブート時にネットワークカードから、ＭＡＣアドレスをサーバに対して送信し、そのＭＡＣアドレスに対応した起動イメージをコンピュータに対して送信する。ＰＸＥブートによるネットワークブート方法では、起動イメージを提供するサーバ側で、コンピュータ毎の起動イメージの設定をあらかじめ管理者が設定しておく必要があった。
【０００３】
従来の起動イメージ提供システムの一例が、特許文献１に記載されている。この従来の起動イメージ提供システムは、プリブート手段を備えるユーザ端末と、ユーザ端末で実行されるＯＳ（オペレーティングシステム）及びアプリケーションプログラムを含んだ起動イメージを格納したサーバとから構成される。さらに、サーバは、ユーザの認証を行う手段と、起動イメージをユーザ端末に送信する手段とを備える。
【０００４】
このような構成を有する従来の起動イメージ提供システムは次のように動作する。すなわち、ユーザ端末のブートにあたり、プリブート手段の制御のもと、ユーザ端末でアクセスされる記憶媒体に記憶されているＯＳブート設定用のユーザ情報のうちユーザによって選択されたユーザ情報をサーバに送信し、サーバでは、前記ユーザ端末から送信されたユーザ情報に基づき、ユーザ端末の認証を行うとともに、指定されたＯＳ及びアプリケーションを含んだ起動イメージをユーザ端末に送信し、ユーザ端末をユーザ固有の環境でブートさせる。ここで、前記ユーザ情報には、起動するＯＳの種類、アプリケーションの種類、セキュリティの情報、及び、ＯＳに引き渡されるブートオプションが含まれる。
【０００５】
また特許文献２には、顧客からのオーダ情報に応じたハードウェア構成を有するコンピュータシステムを生産する際、ハードウェア構成に適合する起動イメージをインストールするシステムが開示されている。具体的には、オーダ情報に応じたハードウェア構成に対してマスタＩＤを割り当て、そのマスタＩＤと起動プログラムとを格納したインストール起動記録媒体をそのコンピュータシステムに提供する。コンピュータシステムにインストール起動記録媒体を装填して実行すると、マスタＩＤがインストールシステムにネットワーク経由で送信され、マスタＩＤに対応して事前に生成されているＯＳおよびアプリケーションを含む起動イメージがインストールシステム側で選択され、ネットワーク経由でコンピュータシステムにインストールされる。
【特許文献１】特開２００１−３５６９１３号公報
【特許文献２】特開２００２−３２３９７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
第１の問題点は、従来の起動イメージ提供システムはハードウェア構成に応じた起動イメージを自動的に選択して提供できないということである。
【０００７】
その理由は、特許文献１では、ユーザ端末から送られるユーザ情報にハードウェア構成情報は含まれないためである。また、特許文献２は、「インストール」と「ブート」という根本的な違いがある上、マスタＩＤがハードウェア構成を間接的に明示しているものの、それはコンピュータの出荷時点のものであるため、出荷後にユーザ側でハードウェア構成の変更が行われた場合、変更後のハードウェア構成に応じた起動イメージが選択できない。
【０００８】
本発明の目的は、ハードウェアの構成に合わせて起動イメージを選択できる起動イメージ提供システムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明の起動イメージ提供システムは、ネットワークを通じて相互に通信可能に接続された１台以上のブートサーバ装置およびブートノード装置を備え、
前記ブートノード装置は、自ノード装置のハードウェア構成情報を取得するハードウェア構成情報取得手段と、該ハードウェア構成情報取得手段で取得されたハードウェア構成情報を含む起動イメージ送信要求を前記ブートサーバ装置に送信する起動イメージ要求手段と、前記ブートサーバ装置から起動イメージを受信し、受信した起動イメージを用いて自ノード装置の起動処理を行う起動処理手段とを備え、
前記ブートサーバ装置は、起動イメージを保存する起動イメージ保存手段と、前記起動イメージ保存手段に保存された起動イメージのうち、前記ブートノード装置から受信した起動イメージ送信要求に含まれるハードウェア構成情報に合致する起動イメージを選択する起動イメージ選択手段と、該起動イメージ選択手段で選択された起動イメージを前記ブートノード装置に送信する起動イメージ送信手段とを備えることを特徴とする。ここで、ハードウェア構成情報とは、ブートノード装置を構成するハードウェアの構成情報、すなわち、ＣＰＵ、チップセット、メモリ、グラフィックチップ、および、周辺機器などの情報を意味する。
【００１０】
本発明の第２の起動イメージ提供システムは、第１の起動イメージ提供システムにおいて、前記ブートサーバ装置は、起動イメージを作成し、前記起動イメージ保存手段に保存する起動イメージ作成手段を備えることを特徴とする。
【００１１】
本発明の第３の起動イメージ提供システムは、第２の起動イメージ提供システムにおいて、前記起動イメージ作成手段は、起動イメージ作成用ノードが接続される接続ポートを有し、前記起動イメージ作成用ノードの所在情報を含む起動イメージ作成要求を受け取り、該受け取った起動イメージ作成要求に含まれる所在情報で特定される前記起動イメージ作成用ノードに対して、前記起動イメージ作成要求または設定ファイル中のソフトウェア指定情報で指定されたソフトウェアをインストールし、インストールの終了した前記起動イメージ作成用ノードから起動イメージを読み出し、前記起動イメージ保存手段に保存するものであることを特徴とする。
【００１２】
本発明の第４の起動イメージ提供システムは、第１の起動イメージ提供システムにおいて、前記ブートサーバ装置は、ハードウェア構成情報を含む起動イメージ作成要求を受け取り、前記ハードウェア構成情報に合致する起動イメージを作成する起動イメージ作成手段を備え、且つ、前記起動イメージ選択手段は、前記ブートノード装置から受信した前記起動イメージ送信要求に含まれるハードウェア構成情報に合致する起動イメージが前記起動イメージ保存手段に存在しないとき、前記起動イメージ送信要求に含まれる前記ハードウェア構成情報を付加した起動イメージ作成要求を前記起動イメージ作成手段に送り、前記起動イメージ作成手段で作成された起動イメージを前記ブートノード装置に送信するものであることを特徴とする。
【００１３】
本発明の第５の起動イメージ提供システムは、第４の起動イメージ提供システムにおいて、前記起動イメージ作成手段は、起動イメージ作成用ノードが接続される接続ポートを有し、前記接続ポートに接続された起動イメージ作成用ノードの中から、前記起動イメージ作成要求に含まれるハードウェア構成情報に合致するハードウェア構成を有する起動イメージ作成用ノードを検索し、該検索した起動イメージ作成用ノードに対して、前記起動イメージ作成要求または設定ファイル中のソフトウェア指定情報で指定されたソフトウェアをインストールし、インストールの終了した前記起動イメージ作成用ノードから起動イメージを読み出し、前記起動イメージ選択手段に送るものであることを特徴とする。
【００１４】
本発明の第６の起動イメージ提供システムは、第１乃至第５の起動イメージ提供システムにおいて、前記ブートサーバ装置の前記起動イメージ選択手段は、前記ハードウェア構成情報に合致する起動イメージが複数存在した場合に、少なくとも起動イメージの識別子を含む起動イメージ提示テーブルを前記ブートノード装置に送信し、その応答として返される起動イメージ提示応答に含まれる起動イメージの識別子により１つの起動イメージを選択するものであり、且つ、前記ブートノード装置は、前記起動イメージ選択手段から送信された前記起動イメージ提示テーブルを受信し、ユーザなどによって選択された１つの起動イメージの識別子を含む前記起動イメージ提示応答を前記起動イメージ選択手段に送信する起動イメージ提示手段を備えることを特徴とする。
【００１５】
本発明の第１の起動イメージ提供方法は、ａ）ブートノード装置のハードウェア構成情報取得手段が、自ノード装置のハードウェア構成情報を取得するステップ、ｂ）前記ブートノード装置の起動イメージ要求手段が、前記ハードウェア構成情報取得手段で取得されたハードウェア構成情報を含む起動イメージ送信要求をネットワークを通じてブートサーバ装置に送信するステップ、ｃ）前記ブートサーバ装置の起動イメージ選択手段が、起動イメージ保存手段に保存された起動イメージのうち、前記ブートノード装置から受信した起動イメージ送信要求に含まれるハードウェア構成情報に合致する起動イメージを選択するステップ、ｄ）前記ブートサーバ装置の起動イメージ送信手段が、前記起動イメージ選択手段で選択された起動イメージを前記ネットワークを通じて前記ブートノード装置に送信するステップ、ｅ）前記ブートノード装置の起動処理手段が、前記ブートサーバ装置から起動イメージを受信し、受信した起動イメージを用いて自ノード装置の起動処理を行うステップ、を含むことを特徴とする。
【００１６】
本発明の第２の起動イメージ提供方法は、第１の起動イメージ提供方法において、ｆ）前記ブートサーバ装置の起動イメージ作成手段が、起動イメージを作成し、前記起動イメージ保存手段に保存するステップ、を含むことを特徴とする。
【００１７】
本発明の第３の起動イメージ提供方法は、第２の起動イメージ提供方法において、前記ステップｆは、前記起動イメージ作成用ノードの所在情報を含む起動イメージ作成要求を受け取るステップ、該受け取った起動イメージ作成要求に含まれる所在情報で特定される前記起動イメージ作成用ノードに対して、前記起動イメージ作成要求または設定ファイル中のソフトウェア指定情報で指定されたソフトウェアをインストールするステップ、インストールの終了した前記起動イメージ作成用ノードから起動イメージを読み出すステップ、前記起動イメージ保存手段に保存するステップを含むことを特徴とする。
【００１８】
本発明の第４の起動イメージ提供方法は、ａ）ブートノード装置のハードウェア構成情報取得手段が、自ノード装置のハードウェア構成情報を取得するステップ、ｂ）前記ブートノード装置の起動イメージ要求手段が、前記ハードウェア構成情報取得手段で取得されたハードウェア構成情報を含む起動イメージ送信要求をネットワークを通じてブートサーバ装置に送信するステップ、ｃ）前記ブートサーバ装置の起動イメージ選択手段が、起動イメージ保存手段に保存された起動イメージの中に、前記ブートノード装置から受信した起動イメージ送信要求に含まれるハードウェア構成情報に合致する起動イメージが存在すれば、該存在した起動イメージを選択し、存在しなければ、前記起動イメージ送信要求に含まれる前記ハードウェア構成情報を付加した起動イメージ作成要求を起動イメージ作成手段に送るステップ、ｄ）前記ブートサーバ装置の前記起動イメージ作成手段が、前記起動イメージ作成要求に含まれる前記ハードウェア構成情報に合致する起動イメージを作成するステップ、ｅ）前記ブートサーバ装置の起動イメージ送信手段が、前記ステップｃで選択された起動イメージまたは前記ステップｄで作成された起動イメージを前記ネットワークを通じて前記ブートノード装置に送信するステップ、ｆ）前記ブートノード装置の起動処理手段が、前記ブートサーバ装置から起動イメージを受信し、受信した起動イメージを用いて自ノード装置の起動処理を行うステップ、を含むことを特徴とする。
【００１９】
本発明の第５の起動イメージ提供方法は、第４の起動イメージ提供方法において、前記ステップｄは、接続ポートに接続された起動イメージ作成用ノードの中から、前記起動イメージ作成要求に含まれるハードウェア構成情報に合致するハードウェア構成を有する起動イメージ作成用ノードを検索するステップ、該検索した起動イメージ作成用ノードに対して、前記起動イメージ作成要求または設定ファイル中のソフトウェア指定情報で指定されたソフトウェアをインストールするステップ、インストールの終了した前記起動イメージ作成用ノードから起動イメージを読み出すステップ、を含むことを特徴とする。
【００２０】
本発明の第６の起動イメージ提供方法は、第１乃至第５の起動イメージ提供方法において、前記ブートサーバ装置の前記起動イメージ選択手段が、前記ハードウェア構成情報に合致する起動イメージが複数存在した場合に、少なくとも起動イメージの識別子を含む起動イメージ提示テーブルを前記ブートノード装置に送信し、前記ブートノード装置の起動イメージ提示手段が、前記起動イメージ提示テーブルを受信し、ユーザなどによって選択された１つの起動イメージの識別子を含む起動イメージ提示応答を前記ブートサーバ装置に送信し、前記ブートサーバ装置の前記起動イメージ選択手段が、前記起動イメージ提示応答に含まれる起動イメージの識別子により１つの起動イメージを選択することを特徴とする。
【００２１】
本発明の第１のブートノード装置は、ネットワークを通じてブートサーバ装置と通信可能に接続されたブートノード装置において、自ノード装置のハードウェア構成情報を取得するハードウェア構成情報取得手段と、該ハードウェア構成情報取得手段で取得されたハードウェア構成情報を含む起動イメージ送信要求を前記ブートサーバ装置に送信する起動イメージ要求手段と、前記ブートサーバ装置から起動イメージを受信し、受信した起動イメージを用いて自ノード装置の起動処理を行う起動処理手段とを備えることを特徴とする。
【００２２】
本発明の第２のブートノード装置は、第１のブートノード装置において、前記ブートサーバ装置から自ノード装置のハードウェア構成情報に合致する複数の起動イメージの識別子を含む起動イメージ提示テーブルを受信し、ユーザなどによって選択された１つの起動イメージの識別子を含む起動イメージ提示応答を前記ブートサーバ装置に送信する起動イメージ提示手段を備えることを特徴とする。
【００２３】
本発明のブートサーバ装置は、ネットワークを通じてブートノード装置に通信可能に接続されたブートサーバ装置において、起動イメージを保存する起動イメージ保存手段と、前記起動イメージ保存手段に保存された起動イメージのうち、前記ブートノード装置から受信した起動イメージ送信要求に含まれるハードウェア構成情報に合致する起動イメージを選択する起動イメージ選択手段と、該起動イメージ選択手段で選択された起動イメージを前記ブートノード装置に送信する起動イメージ送信手段とを備えることを特徴とする。
【００２４】
本発明の第２のブートサーバ装置は、第１のブートサーバ装置において、起動イメージを作成し、前記起動イメージ保存手段に保存する起動イメージ作成手段を備えることを特徴とする。
【００２５】
本発明の第３のブートサーバ装置は、第２のブートサーバ装置において、前記起動イメージ作成手段は、起動イメージ作成用ノードが接続される接続ポートを有し、前記起動イメージ作成用ノードの所在情報を含む起動イメージ作成要求を受け取り、該受け取った起動イメージ作成要求に含まれる所在情報で特定される前記起動イメージ作成用ノードに対して、前記起動イメージ作成要求または設定ファイル中のソフトウェア指定情報で指定されたソフトウェアをインストールし、インストールの終了した前記起動イメージ作成用ノードから起動イメージを読み出し、前記起動イメージ保存手段に保存するものであることを特徴とする。
【００２６】
本発明の第４のブートサーバ装置は、第１のブートサーバ装置において、起動イメージ作成要求に含まれるハードウェア構成情報に合致する起動イメージを作成する起動イメージ作成手段を備え、且つ、前記起動イメージ選択手段は、前記ブートノード装置から受信した前記起動イメージ送信要求に含まれるハードウェア構成情報に合致する起動イメージが前記起動イメージ保存手段に存在しないとき、前記起動イメージ送信要求に含まれる前記ハードウェア構成情報を付加した起動イメージ作成要求を前記起動イメージ作成手段に送り、前記起動イメージ作成手段で作成された起動イメージを前記ブートノード装置に送信するものであることを特徴とする。
【００２７】
本発明の第５のブートサーバ装置は、第４のブートサーバ装置において、前記起動イメージ作成手段は、起動イメージ作成用ノードが接続される接続ポートを有し、前記接続ポートに接続された起動イメージ作成用ノードの中から、前記起動イメージ作成要求に含まれるハードウェア構成情報に合致するハードウェア構成を有する起動イメージ作成用ノードを検索し、該検索した起動イメージ作成用ノードに対して、前記起動イメージ作成要求または設定ファイル中のソフトウェア指定情報で指定されたソフトウェアをインストールし、インストールの終了した前記起動イメージ作成用ノードから起動イメージを読み出し、前記起動イメージ選択手段に送るものであることを特徴とする。
【００２８】
本発明の第６のブートサーバ装置は、第１乃至第５のブートサーバ装置において、前記起動イメージ選択手段は、前記ハードウェア構成情報に合致する起動イメージが複数存在した場合に、少なくとも起動イメージの識別子を含む起動イメージ提示テーブルを前記ブートノード装置に送信し、その応答として返される起動イメージ提示応答に含まれる起動イメージの識別子により１つの起動イメージを選択するものであることを特徴とする。
【発明の効果】
【００２９】
本発明の効果は、ユーザ端末の現在のハードウェア構成に合った起動イメージを提供できることにある。
【００３０】
その理由は、ユーザ端末の現在のハードウェア構成情報に基づいて、ブートサーバ装置が起動イメージを選択し、それをブートノード装置に提供するためである。
【発明を実施するための最良の形態】
【００３１】
次に、本発明の第１の実施の形態について図面を参照して詳細に説明する。
【００３２】
図１を参照すると、本発明の第１の実施の形態にかかる起動イメージ提供システムは、ブートサーバ装置（以下、単にブートサーバと称す）１００とブートノード装置（以下、単にブートノードと称す）２００とネットワーク３００とから構成される。ブートサーバ１００とブートノード２００は共に、ＣＰＵとメモリを有するコンピュータである。さらに、ブートサーバ１００とブートノード２００は、ＨＤＤやＦＤＤ、ＣＤ−ＲＯＭ、その他の外部機器の少なくとも１つを拡張機器として含むこともできる。ブートサーバ１００とブートノード２００は、ネットワーク３００により接続され、データを交換することができる。なおデータ交換に用いるプロトコルは、インターネット標準のプロトコルであるＩＰ（Internet Protocol）を利用できるが、それ以外の通信プロトコルを利用することも可能である。ブートノード２００は、ネットワーク３００を介してブートサーバ１００により提供される起動イメージを取得することでネットワークブートする。なお、ブートノード２００は、必ずしもネットワークブート専用端末である必要はなく、ネットワークブート以外の起動方法、つまりＨＤＤやＣｄＤ−ＲＯＭ、フラッシュメモリから起動する構成を有する可能性もある。本実施の形態では、１台のブートサーバと１台のブートノードを含む構成を示したが、複数台のブートサーバと複数台のブートノードを含む構成にすることも可能である。
【００３３】
ブートサーバ１００は、起動イメージ選択部１０１、起動イメージ保存部１０２および起動イメージ送信部１０３を含んで構成される。
【００３４】
起動イメージ選択部１０１は、ブートノード２００から送信される起動イメージ送信要求に含まれるハードウェア構成情報に基づいて、起動イメージ保存部１０２から起動イメージを１つ選択し、その起動イメージを起動イメージ送信部１０３に渡す。起動イメージ送信要求は、図２に示されるように、少なくとも要求送信元の所在情報、ハードウェア構成情報を含む。ここで、所在情報にはＩＰアドレスを利用することができる。また、ハードウェア構成情報には、例えば、マシンのタイプ、ＣＰＵやチップセットの種類、メモリやディスクのサイズなどを含めることができる。図３にハードウェア構成情報の例を示す。なお、図３中のマシンのタイプ名やチップセットの種類名などの名称は実名でなく説明の便宜上想定した架空のものである。
【００３５】
起動イメージ保存部１０２は、ブートノード２００を起動させるための起動イメージを少なくとも１つ保存し、起動イメージ選択部１０１からの要求により、起動イメージの１つを返す。この起動イメージ保存部１０２は、人手によって外部で作成された起動イメージを追加できる構成、保存された起動イメージを削除できる構成にしてもよい。
【００３６】
起動イメージ送信部１０３は、起動イメージ選択部１０１から渡された起動イメージを起動イメージ送信要求の送信元に送信する。
【００３７】
なお、ここで起動イメージとは、コンピュータの起動に必要とされるファイル群のことを示す。たとえば、起動イメージは、ＯＳのカーネル部分の実行ファイル、ＯＳサービスを提供するデーモンプログラムの実行ファイル、それらが利用する動的ライブラリファイル、設定ファイル、さらに、ＯＳの起動後に自動的に起動されるアプリケーションプログラムの実行ファイル、ライブラリファイル、設定ファイルなどとそれらを納めるディレクトリを含む。
【００３８】
ここで、起動イメージ選択部１０１が起動イメージを選択する方法について説明する。起動イメージ選択部１０１は、起動イメージに含まれるハードウェア構成に関する部分を読み出して、起動イメージ送信要求に含まれるハードウェア構成情報と比較することで、起動イメージを選択することができる。例えば、Ｗｉｎｄｏｗｓ（登録商標）の場合、ハードウェア構成に関する部分は、レジストリのHKEY_LOCAL_MACHINE以下に含まれている。
【００３９】
また、起動イメージ選択部１０１が起動イメージに含まれる情報を読み出す代わりに、起動イメージに関するハードウェア構成情報を起動イメージとは別に保持することもできる。例えば、図４に示した起動イメージ選択テーブルを用いることができる。この場合、起動イメージ選択テーブルに含まれるハードウェア構成情報と、起動イメージ送信要求に含まれるハードウェア構成情報を比較することで起動イメージを選択することができる。図４では、起動イメージが２つ、ハードウェア構成情報が３種類の場合を示したが、起動イメージの数、ハードウェア構成の種類共に数の制限はない。起動イメージ選択テーブルを利用する方法は、起動イメージからハードウェア構成を読み出す方法よりも、起動イメージの選択に要する時間を短縮できるという特徴を持つ。
【００４０】
ブートノード２００は、ＨＷ情報取得部２０１、起動イメージ要求部２０２および起動処理部２０３を含んで構成される。
【００４１】
ＨＷ情報取得部２０１は、ブートノード２００を構成するハードウェア部品の情報を取得する。ここで取得されたハードウェア構成情報が、上記の起動イメージ送信要求に含められるものとなる。ＨＷ情報取得部２０１の実現例を以下に示す。
【００４２】
ＨＷ情報取得部２０１の実現例の１つとして、ＩＰＭＩ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｌａｔｆｏｒｍ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｆａｃｅ）を利用してブートノード２００を構成するハードウェア部品の情報を取得する構成が考えられる。例えば、ＮＥＣ製のＥｘｐｒｅｓｓ５８００というコンピュータ（サーバ）には、ＢＭＣ（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）と呼ばれるオンボード運用管理チップがマザーボード上に搭載されており、このＢＭＣがマザーボード上およびマザーボードに接続された各ハードウェア部品に関するさまざまな情報をＩＰＭＩ仕様に従って収集し、他所に伝達している。従って、このようなＢＭＣをＨＷ情報取得部２０１として利用することができる。なお、ＩＰＭＩに関する文献として、以下のものが入手可能である。
【００４３】
（１）IPMI v2.0 specifications Document
ftp://download.intel.com/design/servers/ipmi/IPMIv2_0rev1_0.pdf
（２）IPMI Platform Management FRU Information Storage Definition
ftp://download.intel.com/design/servers/ipmi/fru1011.pdf
【００４４】
文献（１）はＩＰＭＩの全体の仕様を記述したもので、文献（２）はコンピュータを構成するモジュールであるＦＲＵ（Ｆｉｅｌｄ  Ｒｅｐｌａｃｅａｂｌｅ  Ｕｎｉｔ）の情報記録構造を記述している。特に、文献（１）の４１２頁〜４１４頁には、”Ｇｅｔ  ＦＲＵ  Ｉｎｖｅｎｔｏｒｙ  Ａｒｅａ  Ｉｎｆｏ”などのＦＲＵのコマンドが記載され、文献（２）の８頁にはＰｒｏｄｕｃｔ  Ｉｎｆｏ  Ａｒｅａ  Ｆｏｒｍａｔが記載されている。
【００４５】
ＨＷ情報取得部２０１の他の実現例として、ブートノード２００に自ノードのハードウェア構成情報を記録する読み書き可能は不揮発性メモリ（例えばフラッシュメモリ）を設け、ＯＳが立ち上がる過程で収集されるハードウェア構成情報を前記メモリに書き出し、次回のネットワークブート時、前記メモリに書き出されたハードウェア構成情報を自ノードの最新のハードウェア構成情報として取得する構成が考えられる。
【００４６】
再び図１を参照すると、起動イメージ要求部２０２は、上記の起動イメージ送信要求を作成し、ブートサーバ１００に対して、作成した起動イメージ送信要求を送信する。
【００４７】
起動処理部２０３は、起動イメージを受信し、受信した起動イメージに含まれるＯＳの起動処理を行う。ここで、起動処理とは、一般的なＯＳの起動処理を意味する。例えば、受信した起動イメージに含まれるＯＳをメモリにロードし、ＯＳの起動処理に制御を引き渡すという処理を行う。
【００４８】
ネットワーク３００は、起動イメージに含まれるデータを転送可能なネットワークであれば、いかなるものでも利用できる。例えば、ＩＰ通信で広く使われるイーサネット（登録商標）を利用することが考えられる。
【００４９】
次に、図１乃至図５を参照して本実施の形態の全体の動作について詳細に説明する。
【００５０】
ブートノード２００の電源を投入すると、ＨＷ情報取得部２０１がブートノード２００のハードウェア構成情報を取得する(ステップＳ１０１)。ここで取得された図３に例示するようなハードウェア構成情報は、起動イメージ要求部２０２に渡される。起動イメージ要求部２０２は、ハードウェア構成情報と自ノードの所在情報とから図２に示したような起動イメージ送信要求を作成し、それをブロードキャストするか或いは予めＢＩＯＳに設定されたサーバ用ＩＰアドレス宛てに送信することで、起動イメージ送信要求をブートサーバ１００に送信する（ステップＳ１０２）。
【００５１】
一方、起動イメージ送信要求を受信したブートサーバ１００の起動イメージ選択部１０１は、起動イメージ送信要求に含まれるハードウェア構成情報に基づいて、起動イメージ保存部１０２に含まれる起動イメージを検索する（ステップＳ１０３）。起動イメージが１つでも見つかった場合（ステップＳ１０４のＹ）、起動イメージ選択部１０１は、選択した起動イメージと起動イメージ送信要求に含まれる送信元ノードの所在情報を起動イメージ送信部１０３に渡す（ステップＳ１０５）。なお、ステップＳ１０３の検索の結果、起動イメージが２つ以上見つかった場合は、ランダムに適当な１つを選ぶか、あるいは、最初に見つかった起動イメージを選ぶようにしてよい。
【００５２】
起動イメージ送信部１０３は、受け取った起動イメージを上記の送信元ノードの所在情報で示されるブートノードに対して送信する（ステップＳ１０６）。起動イメージを受信したブートノード２００の起動処理部２０３は、受け取った起動イメージのＯＳを起動する（ステップＳ１０７）。
【００５３】
一方、ステップＳ１０３で１つも起動イメージを見つけられなかった場合（ステップＳ１０４のＮ）、起動イメージ選択部１０１は、起動イメージの選択に失敗したことを示すエラーコードと起動イメージ送信要求に含まれる送信元ノードの所在情報とを起動イメージ送信部１０３に渡し、起動イメージ送信部１０３は、エラーコードを含む選択エラー情報を上記の送信元ノードの所在情報で示されるブートノードに対して送信する（ステップＳ１０８）。選択エラー情報を受信したブートノード２００の起動処理部２０３は、起動処理に失敗する（ステップＳ１０９）。
【００５４】
次に、第１の実施の形態の効果について説明する。第１の実施の形態では、ブートノードのハードウェアの構成を取得し、そのハードウェア構成にあった起動イメージを選択して、ブートノードに提供するように構成されているため、ブートノードのハードウェアが様々な構成であったとしても、失敗することなくブートノードを起動できる。
【００５５】
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。前記の第１の実施の形態には、ブートサーバに起動イメージを作成する手段が含まれていなかった。第２の実施の形態では、起動イメージを作成する手段をブートサーバに追加する。
【００５６】
図９を参照すると、本発明の第２の実施の形態は、ブートサーバ１１０とブートノード２００とネットワーク３００とから構成される。第１の実施の形態の構成と比べて、ブートサーバ１００の代わりにブートサーバ１１０を有する点が異なる。ブートノード２００とネットワーク３００は、第１の実施の形態と同様である。
【００５７】
ブートサーバ１１０は、起動イメージ選択部１０１、起動イメージ保存部１０２、起動イメージ送信部１０３および起動イメージ作成部１１１を含んで構成される。起動イメージ作成部１１１が追加されたこと以外は、第１の実施の形態のブートサーバ１００と同様である。
【００５８】
起動イメージ作成部１１１は、起動イメージを作成し、起動イメージ保存部１０２に追加する。
【００５９】
ここで起動イメージ作成部１１１が起動イメージを作成する方法について説明する。起動イメージを作成する方法は、起動イメージ作成用ノードを用意し、そこにＯＳやアプリケーションなど起動イメージに含めたいソフトウェアをインストールし、その結果としてできあがったファイル群を取り出す方法である。
【００６０】
この場合、起動イメージ作成部１１１は、起動イメージ作成用ノードを接続可能な構成をとる。新たなブートノード用の起動イメージを作成したい場合は、起動イメージ作成部１１１の接続ポートにこのブートノードと同様のハードウェア構成を持った起動イメージ作成ノード（ブートノードそのものでも構わない）を接続し、起動イメージ作成部１１１に起動イメージ作成要求を送る。起動イメージ作成要求には、少なくとも起動イメージ作成用ノードを特定するための所在情報が含まれる。なお、所在情報としては、ポート番号、ＩＰアドレス、ホスト名などを利用できる。起動イメージ作成用ノードにインストールすべきソフトウェア群はあらかじめ決められており、その情報を設定ファイルなどから取得する。
【００６１】
また、起動イメージ作成用ノードにインストールすべきソフトウェアを設定ファイルから読み込む代わりに、起動イメージ作成要求にソフトウェア群を指定する情報を追加してもよい。
【００６２】
なお、ここで示した起動イメージ作成用ノードには物理的なコンピュータを利用するだけでなく、論理的な仮想コンピュータを利用してもよい。仮想コンピュータとしてはＶＭｗａｒｅ（Ｗｅｂページｈｔｔｐ：／／ｗｗｗ．ｖｍｗａｒｅ．ｃｏ．ｊｐ）などが利用できる。
【００６３】
次に、第２の実施の形態におけるブートサーバ１１０の起動イメージ作成部１１１の動作について詳細に説明する。それ以外の動作は第１の実施の形態と同様である。
【００６４】
まず、起動イメージ作成部１１１の接続ポートには起動イメージ作成用ノードが接続されているものとする。起動イメージ作成部１１１は、コンソールなどから起動イメージ作成要求を受け取ると、設定ファイルや起動イメージ作成要求に含まれるソフトウェア指定情報に基づいて、インストールすべきソフトウェアを決定する。次に、起動イメージ作成要求に含まれるノードの所在情報を取り出し、その所在情報が示すノードに対して前記ソフトウェアをインストールする。インストールが終了したら、起動イメージ作成用ノードから、起動に必要なファイル群を読み出して、起動イメージ保存部１０２に保存する。
【００６５】
次に、第２の実施の形態の効果について説明する。第２の実施の形態では、第１の実施の形態の効果に加えて、起動イメージの追加が容易にできるという効果がある。
【００６６】
次に、本発明の第３の実施の形態について図面を参照して詳細に説明する。第１の実施の形態では、ブートノードのハードウェア構成に合った起動イメージがブートサーバに存在しなかった場合、直ちにブートノードの起動失敗を招いた。第２の実施の形態によれば、起動される可能性がある起動イメージを事前に作成しておくことで、そのような事態の発生を少なくすることができる。しかし、起動される可能性があるすべての起動イメージをあらかじめすべて作成し、ブートサーバに格納しておくのは記憶容量の制限により困難なため、多くのハードウェア構成に対応することは難しい。第３の実施の形態では、この問題を解決するために、ブートノードのハードウェア構成に合った起動イメージが見つけられなかった場合には、ハードウェア構成に合った起動イメージをその場で作成して、その起動イメージを提供する。
【００６７】
図１０を参照すると、本発明の第３の実施の形態は、ブートサーバ１２０とブートノード２００とネットワーク３００とから構成される。第２の実施の形態の構成と比べて、ブートサーバ１１０の代わりにブートサーバ１２０を有する点が異なる。ブートノード２００とネットワーク３００は、第２の実施の形態と同様である。
【００６８】
ブートサーバ１２０は、起動イメージ選択部１２１、起動イメージ保存部１０２、起動イメージ送信部１０３および起動イメージ作成部１２２を含んで構成される。起動イメージ保存部１０２、起動イメージ送信部１０３は、第２の実施の形態のブートサーバ１００と同様である。
【００６９】
起動イメージ選択部１２１は、ブートノード２００から送信される起動イメージ送信要求に含まれるハードウェア構成情報に基づいて、起動イメージ保存部１０２から起動イメージを１つ選択し、その起動イメージを起動イメージ送信部１０３に渡す。また、ハードウェア構成情報に合った起動イメージを見つけられなかった場合、起動イメージ選択部１２１は、前記ハードウェア構成情報を含む第２の起動イメージ作成要求を起動イメージ作成部１２２に送り、その結果、作成された起動イメージを起動イメージ送信部１０３に渡す。起動イメージ送信要求、ハードウェア構成情報、起動イメージに関しては、第１の実施の形態と同様である。また、起動イメージ選択部１２１が起動イメージを選択する方法についても、第１の実施の形態と同様である。
【００７０】
起動イメージ作成部１２２は、起動イメージ選択部１２１から渡される第２の起動イメージ作成要求に含まれるハードウェア構成情報に基づいて起動イメージを作成し、起動イメージ選択部１２１に返す。さらに、作成した起動イメージを起動イメージ保存部１０２に保存してもよい。起動イメージ作成部１２２は、起動イメージ作成部１１１と同様に、起動イメージ作成用ノードを接続可能な構成をとる。起動イメージ作成部１２２は、要求されたハードウェア構成に合う起動イメージ作成用ノードを選択し、ソフトウェアのインストールを行い、起動イメージを作成する。なお、第２の実施の形態と同様、起動イメージ作成用ノードには物理的なコンピュータを利用するだけでなく、論理的な仮想コンピュータを利用できる。
【００７１】
ここで、要求されたハードウェア構成に合う起動イメージ作成用ノードを選択する方法としては、接続されている起動イメージ作成用ノードのハードウェア構成情報を直接的に調べて、第２の起動イメージ作成要求に含まれるハードウェア構成情報と比較する方法が使える。ハードウェア構成情報を直接的に調べる方法として前記のＩＰＭＩによる方法を利用できる。また、接続されている起動イメージ作成用ノードのハードウェア構成情報をテーブル（以下、起動イメージ作成用ノード管理テーブルと呼ぶ）として管理することも可能である。図１１は起動イメージ作成用ノード管理テーブルの構成の一例を示す図である。起動イメージ作成用ノード管理テーブルは、少なくとも、起動イメージ作成用ノードの識別子とハードウェア構成情報が含まれる。図１１では、起動イメージ作成用ノードの識別子が２つ、ハードウェア構成情報が３種類の場合を示したが、起動イメージ作成用ノードの識別子の数、ハードウェア構成の種類共に数の制限はない。起動イメージ作成用ノード管理テーブルを利用する方法は、ハードウェア構成情報を直接的に調べる方法と比べて、起動イメージ作成用ノードの選択に要する時間を短縮できるという特徴を持つ。
【００７２】
次に、図１０乃至図１２を参照して第３の実施の形態の全体の動作について詳細に説明する。
【００７３】
ブートノード２００の処理は、第１の実施の形態の動作と同様である。すなわち、電源を投入すると、ＨＷ情報取得部２０１がブートノード２００のハードウェア構成情報を取得し、それが起動イメージ要求部２０２に渡され、起動イメージ要求部２０２は起動イメージ送信要求を作成し、それをブートサーバ１００に送信する（ステップＳ１０１、Ｓ１０２）。
【００７４】
起動イメージ送信要求を受信したブートサーバ１００の動作のうち、起動イメージを見つけられた場合の動作は、第１の実施の形態の動作と同様である。すなわち、起動イメージ選択部１２１は、起動イメージ保存部１０２に含まれる起動イメージを検索し、起動イメージが１つでも見つかった場合、選択した起動イメージと起動イメージ送信要求に含まれる送信元ノードの所在情報を起動イメージ送信部１０３に渡す。起動イメージ送信部１０３は、受け取った起動イメージをブートノードに対して送信する（ステップＳ３０１、Ｓ３０２のＹ、Ｓ３０３、Ｓ１０６）。
【００７５】
一方、ステップＳ３０１の検索で１つも起動イメージを見つけられなかった場合（ステップＳ３０２のＮ）の動作は、第１の実施の形態と異なる。起動イメージ選択部１２１は、起動イメージ作成部１２２に第２の起動イメージ作成要求を送る（ステップＳ３０４）。この第２の起動イメージ作成要求には、起動イメージ送信要求に含まれるハードウェア構成情報が含まれる。第２の起動イメージ作成要求を受け取った起動イメージ作成部１２２は、第２の起動イメージ作成要求に含まれるハードウェア構成情報に合う起動イメージ作成用ノードを検索する（ステップＳ３０５）。起動イメージ作成用ノードが１つでも見つかった場合（ステップＳ３０６のＹ）、そのノードに対して設定ファイル等で指定されたソフトウェア群のインストールをする。なお、前記検索の結果、起動イメージ作成用ノードが２つ以上見つかった場合には、ランダムに１つを選択するか、あるいは最初に見つかった１つを選択する。前記インストールが終了したら、前記起動イメージ作成用ノードから、起動に必要なファイル群を読み出して、起動イメージ選択部１２１に返す（ステップＳ３０７）。その後の動作は、上記のＳ３０３、Ｓ１０６の動作と同様である。
【００７６】
一方、ステップＳ３０５の検索で起動イメージ作成用ノードが１つも見つらなかった場合（ステップＳ３０６のＮ）、起動イメージ作成部１２２は、起動イメージ選択部１２１に起動イメージ作成失敗を通知する（ステップＳ３０７）。起動イメージ選択部１２１は、起動イメージの選択に失敗したことを示すエラーコードと起動イメージ送信要求に含まれる送信元ノードの所在情報とを起動イメージ送信部１０３に渡し、起動イメージ送信部１０３は、選択エラー情報を上記の送信元ノードの所在情報で示されるブートノードに対して送信する（ステップＳ１０８）。選択エラー情報を受信したブートノード２００の起動処理部２０３は、起動処理に失敗する（ステップＳ１０９）。
【００７７】
次に、第３の実施の形態の効果について説明する。第３の実施の形態では、あらかじめ起動イメージを作成しておかなくても、必要になった時に初めて起動イメージが作成されるため、起動イメージを保存するための記憶領域を無駄に使わないようにできる。また、使われない起動イメージを作成するための無駄な時間も削減できる。
【００７８】
次に、本発明の第４の実施の形態について図面を参照して詳細に説明する。第１の実施の形態では、ブートサーバ１００においてブートノード２００のハードウェア構成情報に合致する起動イメージが複数見つかった場合、ブートサーバ１００側で自動的にそのうちの１つを選ぶ方法を示したが、本実施の形態では、ブートノード側でユーザにインストール可能な起動イメージの候補を提示して、ユーザに起動イメージを選ばせる。
【００７９】
図１６を参照すると、本発明の第４の実施の形態は、ブートサーバ１３０とブートノード２１０とネットワーク３００とから構成される。第１の実施の形態の構成と比べて、ブートサーバ１００の代わりにブートサーバ１３０を、ブートノード２００の代わりにブートノード２１０を有する点が異なる。ネットワーク３００は、第１の実施の形態と同様である。
【００８０】
ブートサーバ１３０は、起動イメージ選択部１１２、起動イメージ保存部１０２および起動イメージ送信部１０３を含んで構成される。起動イメージ保存部１０２、起動イメージ送信部１０３は、第１の実施の形態のブートサーバ１００と同様である。第１の実施の形態と比べて、ブートサーバ１００の起動イメージ選択部１０１の代わりに起動イメージ選択部１１２を有する点が異なる。
【００８１】
起動イメージ選択部１１２は、ブートノード２１０から送信される起動イメージ送信要求に含まれるハードウェア構成情報に基づいて、起動イメージ保存部１０２から起動イメージを選択する。選択された起動イメージが１つの場合は、その起動イメージを起動イメージ送信部１０３に渡す。選択された起動イメージが２つ以上の場合は、起動イメージ提示テーブルを作成し、ブートノード２１０に送信する。起動イメージ提示テーブルには、少なくとも起動イメージの識別子が含まれる。起動イメージ提示テーブルの例を図１７に示す。さらに、起動イメージ選択部１１２は、ブートノード２１０から送られてきた起動イメージ提示応答に含まれる起動イメージの識別子を参照し、それに対応する起動イメージを起動イメージ保存部１０２から選択し、その起動イメージを起動イメージ送信部１０３に渡す。起動イメージ提示応答には、起動イメージの識別子が１つだけ含まれる。
【００８２】
ブートノード２１０は、ＨＷ情報取得部２０１、起動イメージ要求部２０２、起動処理部２０３、起動イメージ提示部２０４を含んで構成される。第１の実施の形態の構成と比べて、ブートノード２００の構成に加えて、起動イメージ提示部２０４を新たに有する点が異なる。
【００８３】
起動イメージ提示部２０４は、モニタやＬＥＤなどの表示手段、あるいは、音声出力手段を用いてユーザに対して、起動イメージの候補を提示し、ユーザに対してそのうちの１つを選択するように促す。ユーザがキーボードやボタン、あるいは、音声入力手段で、起動イメージの１つを選択すると、起動イメージ提示部２０４は、選択された起動イメージの識別子を含む起動イメージ提示応答を作成し、ブーサーバ１３０に送信する。なお、ユーザの代わりにブートノード上のプログラムがあらかじめ与えられた条件に従って起動イメージを選択するようにしてもよい。ここで、あらかじめ与えられた条件とは、例えば、ＯＳのタイプが”Ｌｉｎｕｘ”であるとか、ＯＳのバージョンが”２．０以上”であるという形式で与えられることが考えられる。
【００８４】
次に、図１６と図１８を参照して本実施の形態の全体の動作について詳細に説明する。
【００８５】
ブートノード２１０の電源を投入すると、ＨＷ情報取得部２０１がブートノード２１０のハードウェア構成情報を取得する(ステップＳ１０１)。ここで取得された図３に例示するようなハードウェア構成情報は、起動イメージ要求部２０２に渡される。起動イメージ要求部２０２は、ハードウェア構成情報と自ノードの所在情報とから図２に示したような起動イメージ送信要求を作成し、それをブートサーバ１３０に送信する（ステップＳ１０２）。
【００８６】
一方、起動イメージ送信要求を受信したブートサーバ１３０の起動イメージ選択部１１２は、起動イメージ送信要求に含まれるハードウェア構成情報に基づいて、起動イメージ保存部１０２に含まれる起動イメージを検索する（ステップＳ１０３）。起動イメージが２つ以上見つかった場合（ステップＳ１０４のＹ、ステップＳ４０１のＹ）、起動イメージ選択部１１２は、選択した前記２つ以上の起動イメージの識別子を含む起動イメージ提示テーブルを作成し、ブートノード２１０に送信する（ステップＳ４０２）。
【００８７】
起動イメージ提示テーブルを受信したブートノード２１０の起動イメージ提示部２０４は、起動イメージ提示テーブルに含まれる起動イメージの識別子をユーザに対して提示する。提示したブートイメージの１つが選択されると、起動イメージ提示部２０４は起動イメージ提示応答を作成し、ブートサーバ１３０に送信する（ステップＳ４０３）。
【００８８】
起動イメージ提示応答を受け取った場合（ステップＳ４０４）、起動イメージ選択部１１２は、起動イメージが１つだけ見つかった場合（ステップＳ１０４のＹ、ステップＳ１０５のＮ）と同様に、選択された或いは見つかった１つの起動イメージと起動イメージ送信要求に含まれる送信元ノードの所在情報を起動イメージ送信部１０３に渡す（ステップＳ１０５）。
【００８９】
起動イメージ送信部１０３は、受け取った起動イメージを上記の送信元ノードの所在情報で示されるブートノード２１０に対して送信する（ステップＳ１０６）。起動イメージを受信したブートノード２１０の起動処理部２０３は、受け取った起動イメージのＯＳを起動する（ステップＳ１０７）。
【００９０】
一方、ステップＳ１０３で１つも起動イメージを見つけられなかった場合（ステップＳ１０４のＮ）、起動イメージ選択部１０１は、起動イメージの選択に失敗したことを示すエラーコードと起動イメージ送信要求に含まれる送信元ノードの所在情報とを起動イメージ送信部１０３に渡し、起動イメージ送信部１０３は、エラーコードを含む選択エラー情報を上記の送信元ノードの所在情報で示されるブートノードに対して送信する（ステップＳ１０８）。選択エラー情報を受信したブートノード２１０の起動処理部２０３は、起動処理に失敗する（ステップＳ１０９）。
【００９１】
次に、第４の実施の形態の効果について説明する。本実施の形態では、第１の実施の形態の効果に加えて、ブートノードのハードウェアの構成に合った起動イメージが複数存在する場合に、ブートノード側で起動イメージを選択できるようにすることで、ハードウェア構成以外の条件で起動イメージを選択することが可能になるという効果を得られる。
【００９２】
第１の実施の形態から第４の実施の形態への変更と同様な変更を第２あるいは第３の実施の形態に加え、第２あるいは第３の実施の形態において、ブートサーバ１１０、１２０でブートノード２００のハードウェア構成情報に合致する起動イメージが複数見つかった場合、ブートサーバ１１０、１２０の起動イメージ選択部１０１、１２１が起動イメージ提示テーブルをブートノード２００に送り、ブートノード２００に設けた起動イメージ提示部２０４がそれをユーザに提示し、ユーザにインストール可能な起動イメージを１つ選択させるようにしてもよい。
【００９３】
次に、本発明の第１乃至第４の実施の形態の変形について説明する。第１ないし第４の実施の形態においては、起動イメージとして、ファイル群を利用したが、ファイル群の代わりにハイバーネーションイメージを利用することも可能である。ハイバーネーションイメージとは、実行中のＯＳやアプリケーションなどが展開されているメモリ（主記憶）上のデータのことを意味する。このイメージは、コンピュータを一時的に休止状態にする場合に、ＨＤＤに保存し、コンピュータを再開させるときにＨＤＤからメモリに読み込むという形で使われる。
【００９４】
本変形例においては、上記の第１ないし第４の実施の形態におけるブートサーバの起動イメージ保存部１０２には、起動イメージとして、上記のハイバーネーションイメージが保存されており、ブートノードの起動処理部２０３は、ネットワークブートの処理を行う代わりにネットワーク経由のハイバーネーション復帰処理をするように変更される。このとき、ハイバーネーションイメージの全てを一括して取得するのではなく、起動に最小限必要なイメージだけを取り込んで起動し、残りのイメージはその後必要に応じて取得するようにしてもよい。
【００９５】
また、第２、第３の実施の形態における起動イメージ作成部１１１、１２２は、起動イメージ作成用ノードからインストールされたファイル群を読み出す代わりに、ＯＳの起動直後または自動起動させるＡＰの起動直後のタイミングで、起動イメージ作成用ノードのメモリ上のデータをすべて読み出すように変更される。
【００９６】
次に、本変形例の効果について説明する。本変形例ではＯＳの起動処理に含まれるＯＳの初期化やアプリケーションの初期化処理を省略することができる。このため、ブートノードの起動に要する時間を短縮することが可能になる。
【実施例１】
【００９７】
次に、具体的な実施例を用いて本発明の第１の実施の形態についてより具体的に説明する。
【００９８】
図８を参照して、本実施例の構成を説明する。本実施例では、ブートノードにはＰＣ８１０を使用し、ブートサーバ１００にはサーバ８００を使用する。
【００９９】
ＰＣ８１０は、ＣＰＵ８１１、チップセット８１２、メモリ８１３、ビデオカード８１４、ＢＩＯＳ８１６を記憶するＲＯＭ８１５を備えている。ここで、ＣＰＵ８１１は“Ｎ−ＣＰＵ２．６ＧＨｚ”、メモリ８１３は“ＤＤＲ  ＳＤＲＡＭ１ＧＨｚ”、チップセット８１２は“Ｎ−Ｃｈｉｐｓｅｔ９００ｉ”、ビデオカード８１４は“Ｎ−Ｖｉｄｅｏ８”、を使用する。また、ＨＷ情報取得部２０１、起動イメージ要求部２０２、起動処理部２０３は、ＰＣ８１０のＢＩＯＳ８１６に組み込まれたプログラムに含まれる機能手段として存在する。
【０１００】
サーバ８００は、ＣＰＵ８０１、メモリ８０２、ＨＤＤ８０３を備えている。サーバ８００上では、ネットワークブートのためのサービスプログラム８０４（デーモンとも呼ばれる）が動作しており、起動イメージ選択部１０１、起動イメージ保存部１０２、起動イメージ送信部１０３はそのプログラムの一部の機能手段として存在する。このサービスプログラム８０４は、ＨＤＤ８０３からメモリ８０２にロードさせてＣＰＵ８０１で実行される。また、起動イメージ保存部１０２は、ＨＤＤ８０３に起動イメージを保存している。
【０１０１】
サーバ８００とＰＣ８１０の間は、イーサネットによるＬＡＮ９００で接続されており、サーバ８００とＰＣ８１０はＩＰプロトコルで通信するものとする。サーバ８００とＰＣ８１０には、それぞれＩＰアドレス“１９２．１６８．１．１”と“１９２．１６８．１．９”が割り当てられている。ＰＣ８１０のＩＰアドレスは、ＢＩＯＳ８１６の管理する不揮発メモリ上に登録されている。
【０１０２】
ＰＣ８１０の電源を投入すると、ＢＩＯＳ８１６が起動し、ＨＷ初期化処理に続いて、ＯＳの起動処理が開始される。ＯＳの起動処理の最初に、ＨＷ情報取得部２０１がＰＣ８１０を構成するハードウェア構成情報を取得する。次に、起動イメージ要求部２０２が取得したハードウェア構成情報とＰＣ８１０に設定されたＩＰアドレスを含む起動イメージ送信要求を作成する。ここで作成される起動イメージ送信要求６００を図６に示す。図６において、エントリ６０１は、ＰＣ８１０のＩＰアドレスを示している。ＩＰアドレスは文字列として表される。エントリ６０２からエントリ６０５までは、ハードウェア構成情報を示している。ハードウェア構成情報も文字列として表され、それぞれのエントリのうちコロン（：）までは、ハードウェア構成情報のタイプを表す。例えば、エントリ６０２の“ＣＰＵ：”は、エントリ６０２がＣＰＵに関する情報を含むことを表す。同様に、“ＭＥＭ：”はメモリサイズ、“ＣＳＥＴ：”はチップセット、“ＶＩＤＥＯ：”はビデオチップに関する情報を含むことをそれぞれ表す。
【０１０３】
起動イメージ送信要求６００は、ＩＰプロトコルによりサーバ８００に送られる。起動イメージ送信要求６００を受け取ったサーバ８００の起動イメージ選択部１０１は、起動イメージ送信要求６００に含まれるハードウェア構成情報、すなわち、エントリ６０２からエントリ６０５を検索のキーとして、起動イメージ保存部１０２に含まれる起動イメージを選択する。起動イメージの選択には、図７に示した起動イメージ選択テーブル７００を利用する。この場合、起動イメージ選択テーブル７００のエントリのブロック７０１に含まれるハードウェア構成情報と、起動イメージ送信要求６００に含まれるハードウェア構成情報が一致するので、“／Ｂｏｏｔ／ＬｉｎｕｘＡ”という起動イメージの識別子が返される。ここでは、識別子はファイルのパス名を表すものとする。
【０１０４】
起動イメージ選択部１０１は、ＨＤＤ８０３から“／Ｂｏｏｔ／ＬｉｎｕｘＡ”というファイルを読み出し、このファイルとＰＣ８１０のＩＰアドレス“１９２．１６８．１．９”を起動イメージ送信部１０３に渡す。ここで渡されるファイルは、起動用のファイル一式をまとめたもので、ＴＡＲ形式やＺＩＰ形式でアーカイブされている。起動イメージ送信部１０３は、ＩＰアドレス“１９２．１６８．１．９”のノード、つまりＰＣ８１０に対して、ＩＰ通信で起動イメージのファイルを送信する。
【０１０５】
起動イメージのファイルを受けとったＰＣ８１０の起動イメージ処理部２０３は、起動処理を行う。ここでいう起動処理とは、起動イメージファイルの展開とＯＳローダの実行である。ＯＳローダは、ＯＳの主要部分（カーネルとも呼ばれる）をメモリ８１３に読み込み、カーネルの実行を開始させる。
【０１０６】
なお、図８のサービスプログラム８０４中の起動イメージ選択部１０１の代わりに図１６の起動イメージ選択部１１２を組込み、ＢＩＯＳ８１６中に図１６の起動イメージ提示部２０４を組み込めば、本発明の第４の実施の形態の実施例となる。
【実施例２】
【０１０７】
次に、具体的な実施例を用いて本発明の第２の実施の形態についてより具体的に説明する。
【０１０８】
図１３を参照して、本実施例の構成を説明する。本実施例では、ブートノードにはＰＣ８１０を使用し、ブートサーバ１００にはサーバ８２０を使用し、サーバ８２０が使う起動イメージ作成用ノードとして起動イメージ作成用ＰＣ８３０を使用する。
【０１０９】
ＰＣ８１０は、図８に示した実施例１においてブートノードとして使ったものと同じである。
【０１１０】
サーバ８２０は、ＣＰＵ８２１、メモリ８２２、ＨＤＤ８２３を備えている。サーバ８２０上では、ネットワークブートのためのサービスプログラム８２４（デーモンとも呼ばれる）が動作しており、起動イメージ選択部１０１、起動イメージ保存部１０２、起動イメージ送信部１０３および起動イメージ作成部１１１はそのプログラムの機能として組み込まれている。このサービスプログラム８２４は、ＨＤＤ８２３からメモリ８２２にロードさせてＣＰＵ８２１で実行される。また、起動イメージ保存部１０２は、ＨＤＤ８２３に起動イメージを保存している。
【０１１１】
起動イメージ作成用ＰＣ８３０は、ブートノードであるＰＣ８１０と同様のハードウェア構成を持つ。つまり、ＣＰＵ８３１、チップセット８３２、メモリ８３３、ビデオカード８３４、ＲＯＭ８３５は、ＰＣ８１０のＣＰＵ８１１、チップセット８１２、メモリ８１３、ビデオカード８１４、ＲＯＭ８１５と同じである。また、起動イメージ作成用ＰＣ８３０は、ネットワーク経由でインストールが可能な構成をもつ。
【０１１２】
サーバ８２０とＰＣ８１０の間は、イーサネットによるＬＡＮ９００で接続されており、サーバ８２０とＰＣ８１０はＩＰプロトコルで通信する。サーバ８２０とＰＣ８１０には、それぞれＩＰアドレス“１９２．１６８．１．１”と“１９２．１６８．１．９”が割り当てられている。
【０１１３】
本実施例では、起動イメージ作成部１１１の接続ポートとして、ＬＡＮ９００のポートを使用する。すなわち、起動イメージを作成する場合は、起動イメージ作成用ＰＣ８３０をＬＡＮ９００に接続し、サーバ８２０上のコンソール（図示せず）で起動イメージ作成用コマンドを実行する。ここで、起動イメージ作成用コマンドを「mkbootimg」とする。また、起動イメージ作成用ＰＣ８３０は、ＩＰアドレス“１９２．１６８．２．１０１”を割り当てられているものとする。この場合、起動イメージ作成用ＰＣ８３０上に起動イメージを作成するには、次のコマンドを実行すればよい。
ｍｋｂｏｏｔｉｍｇ１９２．１６８．２．１０１
【０１１４】
上記のコマンドを実行することにより、ＩＰアドレス「１９２．１６８．２．１０１」を含む起動イメージ作成要求がサーバ８２０上のサービスプログラム８２４に送られ、サービスプログラム８２４は、ネットワーク経由でＩＰアドレス「１９２．１６８．２．１０１」を持つＰＣ８３０に対してインストールを開始する。インストール作業自体は、Ｍｉｃｒｏｓｏｆｔ社のリモートインストールサービスやＬｉｎｕｘなどのネットワークインストール機能を使うことができる。インストールされたファイルは、メモリ８３３上に構築されたファイルシステムに保存される。なお、起動イメージ作成用ノードとしてＨＤＤを有するＰＣを利用する場合には、インストールされたファイルをＨＤＤに保存してもよい。
【０１１５】
インストールが終了すると、サービスプログラム８２４は、起動に必要なファイル群をＬＡＮ９００経由で起動イメージ作成用ＰＣ８３０から読み出し、ＨＤＤ８２３に保存する。これ以降は、起動イメージ作成用ＰＣ８３０と同様の構成を持つＰＣ８１０をネットワークブートすることが可能になる。ＰＣ８１０のブートの動作については、実施例１と同じなので省略する。
【実施例３】
【０１１６】
次に、具体的な実施例を用いて本発明の第３の実施の形態をより具体的に説明する。
【０１１７】
図１４を参照して、本実施例の構成を説明する。図１４において図１３と異なるのは、サーバ８２０上で動作するサービスプログラム８２４の構成だけである。サービスプログラム８２４（デーモンとも呼ばれる）の機能としては、第３の実施の形態で示した起動イメージ選択部１２１、起動イメージ保存部１０２、起動イメージ送信部１０３、起動イメージ作成部１２２が含まれる。
【０１１８】
ＰＣ８１０がネットワークブートする際に、起動イメージがすぐに見つかる場合の動作は、実施例１と同様である。ここでは、起動イメージが見つからなかった場合の動作を具体的に説明する。
【０１１９】
サービスプログラム８２４の起動イメージ選択部１２１において起動イメージを見つけられなかった場合、起動イメージ作成部１２２において起動イメージ送信要求に含まれるハードウェア構成に適合する起動イメージ作成用ノードの検索が行われる。ここで、ＰＣ８１０と起動ノード作成用ＰＣ８３０は同じハードウェア構成、すなわち、ＣＰＵに“Ｎ−ＣＰＵ２．６ＧＨｚ”、メモリに“ＤＤＲ  ＳＤＲＡＭ１ＧＨｚ”、チップセットに“Ｎ−Ｃｈｉｐｓｅｔ９００ｉ”、ビデオカードに“Ｎ−Ｖｉｄｅｏ８”を持つものとする。この場合、起動イメージ作成用ノード管理テーブルは、図１５のような構成になる。エントリ６５１からエントリ６５５までの５つのエントリからなるエントリブロック６５０が起動イメージ作成用ＰＣ８３０に対応する部分である。その下のエントリブロック６６０は図１４で図示していない別の起動イメージ作成用ノードに対応するものである。
【０１２０】
ＰＣ８１０から送られる起動イメージ送信要求は図６に示したものと同様であるので、起動イメージ送信要求６００のエントリ６０１からエントリ６０５と、起動イメージ作成用ノード管理テーブルのエントリ６５１からエントリ６５５の比較が行われ、すべてが一致することから、起動イメージ作成用ノードとしてＩＰアドレス「１９２．１６８．２．１０１」を持つ起動イメージ作成用ＰＣ８３０が選択される。その後のインストール等の処理は、実施例２と同様である。
【実施例４】
【０１２１】
次に、起動イメージ作成用ノードとして仮想ＰＣを用いる実施例について説明する。
【０１２２】
図１９を参照すると、本実施例の起動イメージ作成用ノードには、図１３あるいは図１４で示した起動ノード作成用ＰＣ８３０の代わりに仮想ＰＣ８４５を使用する。仮想ＰＣ８４５は、ブートサーバとして動作するサーバ８４０の上で実行される仮想マシンである。なお、サーバ８４０は、ＣＰＵ８４１、メモリ８４２、ＨＤＤ８４３およびサービスプログラム８４４を備え、図１３あるいは図１４で示したサーバ８２０として機能する。上述のような仮想マシンは、例えば、ＶＭｗａｒｅにより作成できる。仮想ＰＣ８４５は、起動ノード作成用ＰＣ８３０と同様にＰＣ８１０と同等のハードウェア構成を持つ。このため、仮想ＰＣ８４５に対してインストールを行うことで、ＰＣ８１０をブートさせるための起動イメージを作成できる。
【０１２３】
また、仮想ＰＣ８４５は、サーバ８４０内に構築された仮想ネットワーク経由でサービスプログラム８４４と通信可能である。仮想ＰＣ８４５に対するネットワークインストールはブートノード作成ＰＣ８３０に対するインストールと同様である。
【産業上の利用可能性】
【０１２４】
本発明によれば、ネットワークブート可能なＰＣのためのブートサーバといった用途に適用できる。また、クラスタシステムにおけるサーバ装置のネットワークブートのためのブートサーバといった用途にも適用可能である。
【図面の簡単な説明】
【０１２５】
【図１】本発明の第１の実施の形態のブロック図である。
【図２】起動イメージ送信要求の構成を表す図である
【図３】ハードウェア構成情報の一例を示す図である。
【図４】起動イメージ選択テーブルの構成を表す図である。
【図５】本発明の第１の実施の形態の動作を示す流れ図である。
【図６】本発明の実施例１においてＰＣから出される起動イメージ送信要求を表す図である。
【図７】本発明の実施例１において使用する起動イメージ選択テーブルを表す図である。
【図８】本発明の実施例１のブロック図である。
【図９】本発明の第２の実施の形態のブロック図である。
【図１０】本発明の第３の実施の形態のブロック図である。
【図１１】起動イメージ作成用ノード管理テーブルの構成を表す図である。
【図１２】本発明の第３の実施の形態の動作を表す流れ図である。
【図１３】本発明の実施例２のブロック図である。
【図１４】本発明の実施例３のブロック図である。
【図１５】本発明の実施例３で使用する起動イメージ作成用ノード管理テーブルを表す図である。
【図１６】本発明の第４の実施の形態のブロック図である。
【図１７】起動イメージ提示テーブルの構成を表す図である。
【図１８】本発明の第４の実施の形態の動作を表す流れ図である。
【図１９】本発明の実施例４のブロック図である。
【符号の説明】
【０１２６】
１００，１１０，１２０，１３０…ブートサーバ
２００，２１０…ブートノード
１０１、１１２，１２１…起動イメージ選択部
１０２…起動イメージ保存部
１０３…起動イメージ送信部
１１１、１２２…起動イメージ作成部
２０１…ＨＷ情報取得部
２０２…起動イメージ要求部
２０３…起動処理部
２０４…起動イメージ提示部
３００…ネットワーク
８００…サーバ
８１０…ＰＣ
８０１、８１１…ＣＰＵ
８０２、８１３…メモリ
８０３…ＨＤＤ
８０４…サービスプログラム
８１２…チップセット
８１４…ビデオカード
８１５…ＲＯＭ
８１６…ＢＩＯＳ
【図１】
2006011506.tif 000003
【図２】
2006011506.tif 000004
【図３】
2006011506.tif 000005
【図４】
2006011506.tif 000006
【図５】
2006011506.tif 000007
【図６】
2006011506.tif 000008
【図７】
2006011506.tif 000009
【図８】
2006011506.tif 000010
【図９】
2006011506.tif 000011
【図１０】
2006011506.tif 000012
【図１１】
2006011506.tif 000013
【図１２】
2006011506.tif 000014
【図１３】
2006011506.tif 000015
【図１４】
2006011506.tif 000016
【図１５】
2006011506.tif 000017
【図１６】
2006011506.tif 000018
【図１７】
2006011506.tif 000019
【図１８】
2006011506.tif 000020
【図１９】
2006011506.tif 000021