(57)【要約】【課題】使用するＬＡＮドライバのみを含んだＷｉｎｄｏｗｓ  ＰＥをブート対象のターゲットが取得することができる。【解決手段】デプロイメントサーバ２０は、１回目のＰＸＥ要求を受信すると、ＬＡＮドライバを含まないＷｉｎｄｏｗｓ  ＰＥをターゲット１０に送信する。そして、Ｗｉｎｄｏｗｓ  ＰＥは、ターゲット１０で実行されると、ＮＶＲＡＭにＮＩＣのデバイス情報を書き込む。そして、デプロイメントサーバ２０は、２回目のＰＸＥ要求を受信すると、ＵＥＦＩプログラムをターゲット１０に送信する。そして、ＵＥＦＩプログラムは、ターゲット１０で実行されると、ＮＶＲＡＭに書き込まれたデバイス情報をデプロイメントサーバ２０に送信する。そして、デプロイメントサーバ２０は、３回目のＰＸＥ要求を受信すると、ＵＥＦＩプログラムにより送信されたデバイス情報を基にＬＡＮドライバをＷｉｎｄｏｗｓ  ＰＥに組込んでターゲット１０に送信する。【選択図】図２
2017107283.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークブートの対象装置は、１回目のネットワークブート要求によりＯＳを含む第１の実行データを配備サーバから取得し、取得したＯＳに基づいて初期化処理を実行し、初期化処理時に使用する通信ドライバが存在しないときに、使用する通信ドライバに関するデバイス情報を不揮発性記憶装置に書込んで前記配備サーバに２回目のネットワークブート要求を送信し、
２回目のネットワークブート要求を受信した前記配備サーバは、ＢＩＯＳの機能を拡張した拡張モードで起動するための第２の実行データを前記対象装置に送信し、
前記第２の実行データを取得した前記対象装置は、前記第２の実行データを実行することにより前記不揮発性記憶装置が記憶する前記デバイス情報を前記配備サーバに送信し、リブートを実行することにより前記配備サーバに３回目のネットワークブート要求を送信し、
３回目のネットワークブート要求を受信した前記配備サーバは、送信された前記デバイス情報に関する通信ドライバが組み込まれたＯＳを含む第３の実行データを前記対象装置に送信する
ことを特徴とする初期化方法。
【請求項２】
前記配備サーバは、１回目のネットワークブート要求を受信したときに前記対象装置と通信実績があるか否かを判定し、通信実績がない場合には、前記第１の実行データを前記対象装置に送信し、通信実績がある場合には、前記第１の実行データに代えて前記第３の実行データを前記対象装置に送信することを特徴とする請求項１に記載の初期化方法。
【請求項３】
ネットワークブートの対象装置から１回目のネットワークブート要求を受信するとＯＳを含む第１の実行データを前記対象装置に送信し、３回目のネットワークブート要求を受信すると前記対象装置が初期化処理に使用する通信ドライバが組み込まれたＯＳを含む第３の実行データを前記対象装置に送信するＯＳ送信部と、
前記対象装置から２回目のネットワークブート要求を受信するとＢＩＯＳの機能を拡張した拡張モードで起動するための第２の実行データを前記対象装置に送信する拡張ＢＩＯＳ送信部と、
前記第２の実行データを実行することにより前記対象装置が送信したデバイス情報に基づいて前記対象装置が初期化処理に使用する通信ドライバをＯＳに組み込んで前記第３の実行データを作成するドライバ組込部と
を有することを特徴とする配備サーバ。
【請求項４】
コンピュータに、
ネットワークブートの対象装置から１回目のネットワークブート要求を受信するとＯＳを含む第１の実行データを前記対象装置に送信し、３回目のネットワークブート要求を受信すると前記対象装置が初期化処理に使用する通信ドライバが組み込まれたＯＳを含む第３の実行データを前記対象装置に送信し、
前記対象装置から２回目のネットワークブート要求を受信するとＢＩＯＳの機能を拡張した拡張モードで起動するための第２の実行データを前記対象装置に送信し、
前記第２の実行データを実行することにより前記対象装置が送信したデバイス情報に基づいて前記対象装置が初期化処理に使用する通信ドライバをＯＳに組み込んで前記第３の実行データを作成する
処理を実行させることを特徴とする配備プログラム。
【請求項５】
コンピュータに、
１回目のネットワークブート要求によりＯＳを含む第１の実行データを配備サーバから取得し、
取得したＯＳに基づいて初期化処理を実行し、初期化処理時に使用する通信ドライバが存在しないときに、使用する通信ドライバに関するデバイス情報を不揮発性記憶装置に書込んで前記配備サーバに２回目のネットワークブート要求を送信し、
２回目のネットワークブート要求を受信した前記配備サーバからＢＩＯＳの機能を拡張した拡張モードで起動するための第２の実行データを受信し、
受信した第２の実行データを実行することで前記不揮発性記憶装置が記憶する前記デバイス情報を前記配備サーバに送信してリブートを実行することにより前記配備サーバに３回目のネットワークブート要求を送信し、
３回目のネットワークブート要求を受信した前記配備サーバから送信された前記デバイス情報に関する通信ドライバが組み込まれたＯＳを含む第３の実行データを受信する
処理を実行させることを特徴とする初期化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、初期化方法、配備サーバ、配備プログラム及び初期化プログラムに関する。
【背景技術】
【０００２】
オンメモリのＯＳ（Operating  System）で動作する情報処理装置は、ＯＳを記憶する配備サーバからネットワークを介してＯＳ等のブートに必要な情報を取得して自身の起動処理を行う。
【０００３】
なお、ネットワークブートに関しては、ブートサーバがブートノードから送られてきたハードウェア構成情報に合致する起動イメージをブートノードに送り返すことで、ブートノードのハードウェア構成に適合した起動イメージをブートサーバが提供する技術がある。
【０００４】
また、デジタル複合機がデバイスドライバ管理サーバコンピュータにバージョン情報の問合せを行い、問合せ結果を各ホストコンピュータにイントラネットを介して通知することで、バージョンアップを効率的かつ確実に行う技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１１５０６号公報
【特許文献２】特開２００１−１２５７７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ネットワークブートにより情報処理装置が取得する情報の中には通信ドライバがあるが、情報処理装置に搭載されている通信デバイスは固定でないため、配備サーバは複数の通信ドライバを含めて情報処理装置にブートに必要な情報を送信する。このため、情報処理装置は、使わない通信ドライバまで取得することになる。
【０００７】
また、通信ドライバは日々新しいものが出てくるが、配備サーバは全ての通信ドライバを記憶して情報処理装置に送ることは困難である。このため、情報処理装置は、自装置の通信デバイスに適合した通信ドライバを得ることができない場合がある。通信ドライバを得ることができないと、情報処理装置は配備サーバ等と通信することができない。
【０００８】
本発明は、１つの側面では、使用する通信ドライバのみを含んだＯＳをブート対象の情報処理装置が取得することを目的とする。
【課題を解決するための手段】
【０００９】
１つの態様では、初期化方法は、１回目のネットワークブート要求によりＯＳを含む第１の実行データを配備サーバからネットワークブートの対象装置が取得する。そして、前記対象装置は、取得したＯＳに基づいて初期化処理を実行し、初期化処理時に使用する通信ドライバが存在しないときに、使用する通信ドライバに関するデバイス情報を不揮発性記憶装置に書込んで前記配備サーバに２回目のネットワークブート要求を送信する。そして、２回目のネットワークブート要求を受信した前記配備サーバは、ＢＩＯＳの機能を拡張した拡張モードで起動するための第２の実行データを前記対象装置に送信する。そして、前記第２の実行データを取得した対象装置は、第２の実行データを実行することにより前記不揮発性記憶装置が記憶する前記デバイス情報を前記配備サーバに送信し、リブートを実行することにより前記配備サーバに３回目のネットワークブート要求を送信する。そして、３回目のネットワークブート要求を受信した前記配備サーバは、送信された前記デバイス情報に関する通信ドライバが組み込まれたＯＳを含む第３の実行データを前記対象装置に送信する。
【発明の効果】
【００１０】
１つの側面では、使用する通信ドライバのみを含んだＯＳをブート対象の情報処理装置が取得することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１に係るターゲット起動を説明するための図である。
【図２】図２は、実施例１に係るネットワークブートシステムの機能構成を示す図である。
【図３】図３は、第１管理テーブルの一例を示す図である。
【図４】図４は、第２管理テーブルの一例を示す図である。
【図５】図５は、実施例１に係るターゲット起動処理のフローを示すフローチャートである。
【図６】図６は、実施例２に係るターゲット起動を説明するための図である。
【図７】図７は、実施例２に係るターゲット起動により効率よくターゲットをブートする一例を示す図である。
【図８】図８は、実施例２に係るターゲット起動処理のフローを示すフローチャートである。
【図９】図９は、実施例に係るデプロイメントプログラムを実行するコンピュータのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する初期化方法、配備サーバ、配備プログラム及び初期化プログラムの実施例を図面に基づいて詳細に説明する。なお、これらの実施例は開示の技術を限定するものではない。
【実施例１】
【００１３】
まず、実施例１に係るターゲット起動について説明する。ここで、ターゲットとは、ＯＳを記憶する配備サーバからＯＳを取得して自身の起動処理を行う情報処理装置である。図１は、実施例１に係るターゲット起動を説明するための図である。図１に示すように、実施例１に係るターゲット起動では、ターゲット１０は、ＬＡＮ（Local  Area  Network）２を介してデプロイメントサーバ２０に接続される。デプロイメントサーバ２０は、ＯＳを記憶する配備サーバである。
【００１４】
まず、デプロイメントサーバ２０が、ターゲット１０の電源をＯＮにする（ステップｔ１）。すると、ターゲット１０は、デプロイメントサーバ２０にＰＸＥ（Preboot  eXecution  Environment）要求を送信する（ステップｔ２）。ここで、ＰＸＥは、ネットワークブートの１つであり、ターゲット１０は、デプロイメントサーバ２０にＰＸＥ要求を送信することによって、デプロイメントサーバ２０からＯＳを取得して自身を起動する。
【００１５】
そして、デプロイメントサーバ２０は、ＯＮメモリで動作するＷｉｎｄｏｗｓ（登録商標）  ＰＥをターゲット１０に転送する（ステップｔ３）。この時点で、デプロイメントサーバ２０は、ターゲット１０のＭＡＣ（Media  Access  Control）アドレスを記憶するがＮＩＣ（Network  Interface  Card）のベンダＩＤとデバイスＩＤは不明であるので記憶していない。このため、デプロイメントサーバ２０は、ＬＡＮドライバが組み込まれていないＷｉｎｄｏｗｓ  ＰＥをターゲット１０に送信する。なお、デプロイメントサーバ２０は、Ｗｉｎｄｏｗｓ  ＰＥに関してターゲット１０で実行される実行データを送信するが、ここでは、説明の便宜上、Ｗｉｎｄｏｗｓ  ＰＥを送信すると簡略化して記載する。
【００１６】
そして、ターゲット１０は、Ｗｉｎｄｏｗｓ  ＰＥを起動し、ドライバをロードする（ステップｔ４）。ここで、ドライバをロードするとは、取得したＯＳの中から自装置のハードウェアに適合するドライバを探すことである。取得したＯＳの中に自装置のハードウェアに適合するドライバがあればロードは成功し、なければロードは失敗する。
【００１７】
ここでは、取得したＯＳの中にＬＡＮドライバがないので、ターゲット１０は、ＬＡＮドライバをロードできず、通信に失敗する（ステップｔ５）。そして、ターゲット１０は、ＮＶＲＡＭ（Non-Volatile  Random  Access  Memory）にＮＩＣのデバイス情報すなわちベンダＩＤとデバイスＩＤを書き込み、リブートする（ステップｔ６）。
【００１８】
そして、ターゲット１０は、デプロイメントサーバ２０にＰＸＥ要求を送信する（ステップｔ７）。ターゲット１０がデプロイメントサーバ２０にＰＸＥ要求を送信する前の時点では、ＮＩＣのベンダＩＤとデバイスＩＤはデプロイメントサーバ２０に記憶されていない。
【００１９】
デプロイメントサーバ２０は、２回目のＰＸＥ要求を受信すると、ターゲット１０でＬＡＮドライバのロードに失敗したと判断し（ステップｔ８）、ターゲット１０にＵＥＦＩ（Unified  Extensible  Firmware  Interface）プログラムを転送する（ステップｔ９）。ＵＥＦＩプログラムは、ＢＩＯＳ（Basic  Input  Output  System）の機能を拡張したプログラムである。なお、デプロイメントサーバ２０は、ターゲット１０で実行されるＵＥＦＩプログラム実行データを送信するが、ここでは、説明の便宜上、ＵＥＦＩプログラムを送信すると簡略化して記載する。
【００２０】
ターゲット１０は、受信したＵＥＦＩプログラムを起動し（ステップｔ１０）、ＮＶＲＡＭに記憶されたデバイス情報をデプロイメントサーバ２０に転送する（ステップｔ１１）。デプロイメントサーバ２０は、受信したデバイス情報を基に、ＬＡＮドライバをＷｉｎｄｏｗｓ  ＰＥに組み込む（ステップｔ１２）。この時点で、デプロイメントサーバ２０は、ターゲット１０のＭＡＣアドレスに対応付けてＮＩＣのベンダＩＤとデバイスＩＤを記憶している。
【００２１】
一方、ターゲット１０ではＵＥＦＩプログラムがリブートし（ステップｔ１３）、ターゲット１０がデプロイメントサーバ２０にＰＸＥ要求を送信する（ステップｔ１４）。すると、デプロイメントサーバ２０は、ターゲット１０に適合するＬＡＮドライバが組み込まれたＷｉｎｄｏｗｓ  ＰＥをターゲット１０に転送する（ステップｔ１５）。そして、ターゲット１０は、ＬＡＮドライバが組み込まれたＷｉｎｄｏｗｓ  ＰＥを起動し、デプロイメントサーバ２０との通信に成功する（ステップｔ１６）。
【００２２】
このように、デプロイメントサーバ２０は、３回目のＰＸＥ要求を受信したときにターゲット１０に適合するＬＡＮドライバが組み込まれたＷｉｎｄｏｗｓ  ＰＥをターゲット１０に転送することで、ターゲット１０をブートすることができる。
【００２３】
次に、実施例１に係るネットワークブートシステムの機能構成について説明する。図２は、実施例１に係るネットワークブートシステムの機能構成を示す図である。図２に示すように、ネットワークブートシステム１は、ターゲット１０とデプロイメントサーバ２０とを有する。ターゲット１０とデプロイメントサーバ２０は、ＬＡＮ２により接続される。なお、ここでは説明の便宜上、１台のターゲット１０と１台のデプロイメントサーバ２０のみを示したが、ターゲット１０とデプロイメントサーバ２０は複数台あってもよい。
【００２４】
ターゲット１０は、バックアップリストア、クローニングに使用されるが、他の用途に使用されてもよい。ターゲット１０は、デバイス情報記憶部１０ａと制御部１０ｂとを有する。デバイス情報記憶部１０ａは、ターゲット１０が有するＮＩＣのデバイス情報すなわちベンダＩＤとデバイスＩＤを記憶する。デバイス情報記憶部１０ａは、図１で説明したＮＶＲＡＭに対応する。なお、デバイス情報記憶部１０ａは、例えばＵＳＢメモリ等の他の不揮発性メモリにより実現されてもよい。
【００２５】
制御部１０ｂは、デバイス情報記憶部１０ａを用いてターゲット１０の起動処理を行う。制御部１０ｂは、ＢＩＯＳ実行部１１と、ＵＥＦＩ実行部１２と、ＯＳ実行部１３とを有する。ターゲット１０は、ＣＰＵ（Central  Processing  Unit）とＲＯＭ（Read  Only  Memory）とメインメモリとＮＶＲＡＭとを有し、ＲＯＭに格納されたＢＩＯＳプログラムをＣＰＵで実行することによりＢＩＯＳ実行部１１を実現する。また、ターゲット１０は、デプロイメントサーバ２０から送信されたＵＥＦＩプログラム及びＷｉｎｄｏｗｓ  ＰＥをメインメモリに格納し、ＣＰＵで実行することによりＵＥＦＩ実行部１２及びＯＳ実行部１３をそれぞれ実現する。
【００２６】
ＢＩＯＳ実行部１１は、デプロイメントサーバ２０からターゲット１０の電源ＯＮの要求が送信されると、デプロイメントサーバ２０にＰＸＥ要求を送信する。また、ＢＩＯＳ実行部１１は、ＵＥＦＩ実行部１２又はＯＳ実行部１３がリブートした場合にもデプロイメントサーバ２０にＰＸＥ要求を送信する。
【００２７】
ＵＥＦＩ実行部１２は、デバイス情報記憶部１０ａに記憶されたデバイス情報をデプロイメントサーバ２０に送信し、リブートを行う。
【００２８】
ＯＳ実行部１３は、ＬＡＮドライバのロードに失敗した場合に、デバイス情報をデバイス情報記憶部１０ａに書き込み、リブートを行う。また、ＯＳ実行部１３は、ＬＡＮドライバのロードに成功すると、デプロイメントサーバ２０との通信に成功し、起動処理に成功する。
【００２９】
デプロイメントサーバ２０は、データを記憶する記憶部２０ａと、記憶部２０ａが記憶するデータを用いてターゲット１０のブートを行う制御部２０ｂとを有する。記憶部２０ａは、第１管理テーブル２１と、第２管理テーブル２２と、オンメモリＯＳ２３と、ドライバ群２４を記憶する。制御部２０ｂは、電源投入部２５と、ＯＳ送信部２６と、ＵＥＦＩ送信部２７と、ドライバ組込部２８とを有する。
【００３０】
第１管理テーブル２１は、ＮＩＣ毎にデバイス情報が登録されるテーブルである。図３は、第１管理テーブル２１の一例を示す図である。図３に示すように、第１管理テーブル２１は、ＭＡＣアドレスにベンダＩＤとデバイスＩＤを対応付ける。ＭＡＣアドレスは、ＮＩＣのＭＡＣアドレスである。ベンダＩＤは、ＮＩＣのベンダの識別子である。デバイスＩＤは、各ベンダの中でＮＩＣを識別する識別子である。例えば、ＭＡＣアドレスが「００−ａｂ−１０−ｃｄ−２３−ｅｆ」のＮＩＣは、ベンダの識別子が「１１１１」であり、ベンダの中でＮＩＣの識別子が「２２２２」である。
【００３１】
第２管理テーブル２２は、ＮＩＣ毎にドライバ情報が登録されるテーブルである。図４は、第２管理テーブル２１の一例を示す図である。図４に示すように、第２管理テーブル２１は、ＭＡＣアドレスにドライバ情報を対応付ける。ドライバ情報は、ＬＡＮドライバに関する情報である。例えば、ＭＡＣアドレスが「００−ａｂ−１０−ｃｄ−２３−ｅｆ」のＮＩＣのＬＡＮドライバに関する情報は「Ｄｅｖｉｃｅ０１．ｉｎｆ」である。
【００３２】
オンメモリＯＳ２３は、ターゲット１０に送信されるＷｉｎｄｏｗｓ  ＰＥである。ドライバ群２４は、複数のＬＡＮドライバである。ドライバ群２４の中からターゲット１０が有するＮＩＣに適合するＬＡＮドライバが選ばれて、Ｗｉｎｄｏｗｓ  ＰＥに組み込まれる。
【００３３】
電源投入部２５は、ＬＡＮ２を介してターゲット１０に電源をＯＮすることを要求する。ＯＳ送信部２６は、ＬＡＮ２を介してターゲット１０にＷｉｎｄｏｗｓ  ＰＥを送信する。ＯＳ送信部２６は、ターゲット１０が１回目のＰＸＥ要求を送信した場合には、ＬＡＮドライバを含まないＷｉｎｄｏｗｓ  ＰＥを送信し、３回目のＰＸＥ要求を送信した場合には、ターゲット１０に適するＬＡＮドライバを含むＷｉｎｄｏｗｓ  ＰＥを送信する。
【００３４】
ＵＥＦＩ送信部２７は、ターゲット１０が２回目のＰＸＥ要求を送信した場合に、ＵＥＦＩプログラムをターゲット１０に送信する。ドライバ組込部２８は、ターゲット１０から送信されたデバイス情報に基づいてターゲット１０に適合するＬＡＮドライバをドライバ群２４から選択し、Ｗｉｎｄｏｗｓ  ＰＥに組み込む。ＬＡＮドライバが組み込まれたＷｉｎｄｏｗｓ  ＰＥは、ターゲット１０が３回目のＰＸＥ要求を送信した場合に、ＯＳ送信部２６によってターゲット１０に送信される。
【００３５】
次に、実施例１に係るターゲット起動処理のフローについて説明する。図５は、実施例１に係るターゲット起動処理のフローを示すフローチャートである。図５に示すように、デプロイメントサーバ２０が、ターゲット１０に電源ＯＮを要求する（ステップＳ１）。すると、ターゲット１０で動作するＢＩＯＳは、デプロイメントサーバ２０にＰＸＥ要求を送信する（ステップＳ２）。
【００３６】
すると、デプロイメントサーバ２０は、第２管理テーブル２２を参照してターゲット１０と通信実績があるか否かを判定し（ステップＳ３）、ある場合には、ステップＳ１３に進む。一方、ターゲット１０と通信実績がない場合には、デプロイメントサーバ２０は、ＬＡＮドライバを含まないＷｉｎｄｏｗｓ  ＰＥをターゲット１０に転送する（ステップＳ４）。
【００３７】
そして、ターゲット１０は、Ｗｉｎｄｏｗｓ  ＰＥを起動し、ＬＡＮドライバのロードに成功したか否かを判定する（ステップＳ５）。その結果、ＬＡＮドライバのロードに成功した場合には、デプロイメントサーバ２０とターゲット１０の間の通信が成功し、ターゲット１０の起動処理が成功する。
【００３８】
一方、ＬＡＮドライバのロードに失敗した場合には、Ｗｉｎｄｏｗｓ  ＰＥは、ＮＩＣのデバイス情報をＮＶＲＡＭに書き込み（ステップＳ６）、Ｗｉｎｄｏｗｓ  ＰＥをリブートする（ステップＳ７）。すると、ＢＩＯＳが、デプロイメントサーバ２０にＰＸＥ要求を送信する（ステップＳ８）。
【００３９】
デプロイメントサーバ２０は、２回目のＰＸＥ要求を受信すると、ターゲット１０にＵＥＦＩプログラムを転送する（ステップＳ９）。ＵＥＦＩプログラムは、起動されると、ＮＶＲＡＭ上のデバイス情報をデプロイメントサーバ２０に転送し（ステップＳ１０）、リブートする（ステップＳ１１）。すると、ＢＩＯＳが、デプロイメントサーバ２０にＰＸＥ要求を送信する（ステップＳ１２）。
【００４０】
すると、デプロイメントサーバ２０は、デバイス情報を基に、Ｗｉｎｄｏｗｓ  ＰＥにＬＡＮドライバを組み込む（ステップＳ１３）。そして、デプロイメントサーバ２０は、ＬＡＮドライバが組み込まれたＷｉｎｄｏｗｓ  ＰＥをターゲット１０に転送する（ステップＳ１４）。そして、ＬＡＮドライバが組み込まれたＷｉｎｄｏｗｓ  ＰＥがターゲット１０で起動し（ステップＳ１５）、デプロイメントサーバ２０との通信に成功する。
【００４１】
このように、ＵＥＦＩプログラムが送信したデバイス情報を基にターゲット１０に適合するＬＡＮドライバをデプロイメントサーバ２０がＷｉｎｄｏｗｓ  ＰＥに組み込むことで、ターゲット１０はＬＡＮドライバを用いて通信することができる。
【００４２】
上述してきたように、実施例１では、デプロイメントサーバ２０は、１回目のＰＸＥ要求を受信すると、ＬＡＮドライバを含まないＷｉｎｄｏｗｓ  ＰＥをターゲット１０に送信する。そして、Ｗｉｎｄｏｗｓ  ＰＥは、ターゲット１０で実行されると、ＮＶＲＡＭにＮＩＣのデバイス情報を書き込み、自身をリブートする。そして、デプロイメントサーバ２０は、２回目のＰＸＥ要求を受信すると、ＵＥＦＩプログラムをターゲット１０に送信する。そして、ＵＥＦＩプログラムは、ターゲット１０で実行されると、ＮＶＲＡＭに書き込まれたデバイス情報をデプロイメントサーバ２０に送信する。そして、デプロイメントサーバ２０は、３回目のＰＸＥ要求を受信すると、ＵＥＦＩプログラムにより送信されたデバイス情報を基にＬＡＮドライバをＷｉｎｄｏｗｓ  ＰＥに組み込んでターゲット１０に送信する。したがって、ターゲット１０は、使用するＬＡＮドライバのみを含んだＷｉｎｄｏｗｓ  ＰＥをデプロイメントサーバ２０から取得することができる。
【実施例２】
【００４３】
ところで、上記実施例１では、デプロイメントサーバ２０は、２回目のＰＸＥ要求を受信すると、ＵＥＦＩプログラムをターゲット１０に送信した。しかしながら、デプロイメントサーバ２０は、１回目のＰＸＥ要求を受信したときに、ＵＥＦＩプログラムをターゲット１０に送信してもよい。そこで、実施例２では、デプロイメントサーバ２０が、１回目のＰＸＥ要求を受信したときに、ＵＥＦＩプログラムをターゲット１０に送信する場合について説明する。
【００４４】
図６は、実施例２に係るターゲット起動を説明するための図である。図６に示すように、デプロイメントサーバ２０は、ターゲット１０の電源をＯＮにする（ステップｔ２１）。すると、ターゲット１０は、デプロイメントサーバ２０にＰＸＥ要求を送信する（ステップｔ２２）。ターゲット１０がデプロイメントサーバ２０にＰＸＥ要求を送信した後の時点では、ＮＩＣのベンダＩＤとデバイスＩＤはデプロイメントサーバ２０に記憶されていない。
【００４５】
デプロイメントサーバ２０は、ターゲット１０にＵＥＦＩプログラムを転送する（ステップｔ２３）。そして、ターゲット１０は、受信したＵＥＦＩプログラムを起動し（ステップｔ２４）、ＮＶＲＡＭにデバイス情報があるか否かを判定する。その結果、ＮＶＲＡＭにデバイス情報がある場合には、ターゲット１０は、ステップｔ３３へ進む
【００４６】
一方、ＮＶＲＡＭにデバイス情報がない場合には、ターゲット１０は、まだＷｉｎｄｏｗｓ  ＰＥの転送が未実施と判断し、リブートする（ステップｔ２５）。そして、ターゲット１０は、デプロイメントサーバ２０にＰＸＥ要求を送信する（ステップｔ２６）。ターゲット１０がデプロイメントサーバ２０にＰＸＥ要求を送信した後の時点では、ＮＩＣのベンダＩＤとデバイスＩＤはデプロイメントサーバ２０に記憶されていない。
【００４７】
デプロイメントサーバ２０は、２回目のＰＸＥ要求を受信すると、Ｗｉｎｄｏｗｓ  ＰＥをターゲット１０に転送する（ステップｔ２７）。そして、ターゲット１０は、Ｗｉｎｄｏｗｓ  ＰＥを起動し（ステップｔ２８）、ＮＶＲＡＭにデバイス情報を書き込み、リブートする（ステップｔ２９）。そして、ターゲット１０は、デプロイメントサーバ２０にＰＸＥ要求を送信する（ステップｔ３０）。
【００４８】
そして、デプロイメントサーバ２０は、ターゲット１０にＵＥＦＩプログラムを転送する（ステップｔ３１）。そして、ターゲット１０は、受信したＵＥＦＩプログラムを起動する（ステップｔ３２）。
【００４９】
そして、ターゲット１０は、ＮＶＲＡＭに記憶されたデバイス情報をデプロイメントサーバ２０に転送する（ステップｔ３３）。デプロイメントサーバ２０は、受信したデバイス情報を基に、ＬＡＮドライバをＷｉｎｄｏｗｓ  ＰＥに組み込む（ステップｔ３４）。また、ターゲット１０では、ＵＥＦＩプログラムがリブートする（ステップｔ３５）。この時点では、ＮＩＣのベンダＩＤとデバイスＩＤはデプロイメントサーバ２０に記憶されている。
【００５０】
そして、ターゲット１０は、デプロイメントサーバ２０にＰＸＥ要求を送信する（ステップｔ３６）。すると、デプロイメントサーバ２０は、ターゲット１０に適合するＬＡＮドライバが組み込まれたＷｉｎｄｏｗｓ  ＰＥをターゲット１０に転送する（ステップｔ３７）。そして、ターゲット１０は、ＬＡＮドライバが組み込まれたＷｉｎｄｏｗｓ  ＰＥを起動し、デプロイメントサーバ２０との通信に成功する（ステップｔ３８）。
【００５１】
このように、デプロイメントサーバ２０は、１回目のＰＸＥ要求を受信したときにＵＥＦＩプログラムをターゲット１０に転送することで、ＮＶＲＡＭにデバイス情報が書かれていた場合に、Ｗｉｎｄｏｗｓ  ＰＥの転送回数を減らすことができる。したがって、デプロイメントサーバ２０は、効率よくターゲット１０をブートすることができる。
【００５２】
図７は、実施例２に係るターゲット起動により効率よくターゲット１０をブートする一例を示す図である。図７では、デプロイメントサーバ＃１及び＃２で表される２台のデプロイメントサーバ２０がターゲット１０にＬＡＮ２で接続されている。図７に示すように、ターゲット１０が１台のデプロイメントサーバ＃１とネットワークブートを実行する。すると、ターゲット１０のＮＶＲＡＭには、デバイス情報が書き込まれる。その後、ターゲット１０は、他のデプロイメントサーバ＃２とネットワークブートを実行すると、ＮＶＲＡＭにはデバイス情報が書き込まれているので、効率よく起動処理を行うことができる。
【００５３】
次に、実施例２に係るターゲット起動処理のフローについて説明する。図８は、実施例２に係るターゲット起動処理のフローを示すフローチャートである。図８に示すように、デプロイメントサーバ２０が、ターゲット１０に電源ＯＮを要求する（ステップＳ２１）。すると、ターゲット１０で動作するＢＩＯＳは、デプロイメントサーバ２０にＰＸＥ要求を送信する（ステップＳ２２）。
【００５４】
すると、デプロイメントサーバ２０は、第２管理テーブル２２を参照してターゲット１０と通信実績があるか否かを判定し（ステップＳ２３）、ある場合には、ステップＳ３０に進む。一方、ターゲット１０と通信実績がない場合には、デプロイメントサーバ２０は、ターゲット１０にＵＥＦＩプログラムを転送する（ステップＳ２４）。そして、ＵＥＦＩプログラムは、ＮＶＲＡＭにデバイス情報があるか否かを判定する（ステップＳ２５）。その結果、ＮＶＲＡＭにデバイス情報がある場合には、ターゲット１０は、ＮＶＲＡＭ上のデバイス情報をデプロイメントサーバ２０に転送する（ステップＳ２６）。
【００５５】
そして、ＵＥＦＩプログラムは、リブートする（ステップＳ２７）。そして、ＢＩＯＳが、デプロイメントサーバ２０にＰＸＥ要求を送信する（ステップＳ２８）。そして、デプロイメントサーバ２０は、デバイス情報があるか否かを判定し（ステップＳ２９）、ある場合には、デバイス情報を基に、ＬＡＮドライバをＷｉｎｄｏｗｓ  ＰＥに組み込む（ステップＳ３０）。
【００５６】
そして、デプロイメントサーバ２０は、Ｗｉｎｄｏｗｓ  ＰＥをターゲット１０に転送する（ステップＳ３１）。そして、Ｗｉｎｄｏｗｓ  ＰＥは、ＬＡＮドライバのロードに成功したか否かを判定し（ステップＳ３２）、失敗した場合には、ＮＶＲＡＭにデバイス情報を書き込み（ステップＳ３３）、ターゲット１０は、ステップＳ２２に戻る。一方、ＬＡＮドライバのロードに成功した場合には、Ｗｉｎｄｏｗｓ  ＰＥは、デプロイメントサーバ２０との通信に成功する。
【００５７】
このように、ＵＥＦＩプログラムは、ＮＶＲＡＭにデバイス情報が書かれているか否かを判定し、ＮＶＲＡＭにデバイス情報が書かれていた場合に、デバイス情報をＷｉｎｄｏｗｓ  ＰＥに転送することで、効率よくターゲット１０をブートすることができる。
【００５８】
上述してきたように、実施例２では、デプロイメントサーバ２０は、１回目のＰＸＥ要求を受信したときにＵＥＦＩプログラムをターゲット１０に転送する。したがって、デプロイメントサーバ２０は、ターゲット１０のＮＶＲＡＭにデバイス情報が書かれていた場合に、Ｗｉｎｄｏｗｓ  ＰＥの転送回数を減らすことができ、効率よくターゲット１０をブートすることができる。
【００５９】
なお、デプロイメントサーバ２０が有する機能構成をソフトウェアによって実現することで、同様の機能を有するデプロイメントプログラムを得ることができる。そこで、デプロイメントプログラムを実行するコンピュータについて説明する。
【００６０】
図９は、実施例に係るデプロイメントプログラムを実行するコンピュータのハードウェア構成を示す図である。図９に示すように、コンピュータ５０は、メインメモリ５１と、ＣＰＵ５２と、ＬＡＮインタフェース５３と、ＨＤＤ（Hard  Disk  Drive）５４とを有する。また、コンピュータ５０は、スーパーＩＯ（Input  Output）５５と、ＤＶＩ（Digital  Visual  Interface）５６と、ＯＤＤ（Optical  Disk  Drive）５７と、ＲＯＭ５８と、ＮＶＲＡＭ５９とを有する。
【００６１】
メインメモリ５１は、プログラムやプログラムの実行途中結果などを記憶するメモリである。ＣＰＵ５２は、メインメモリ５１からプログラムを読出して実行する中央処理装置である。ＣＰＵ５２は、メモリコントローラを有するチップセットを含む。
【００６２】
ＬＡＮインタフェース５３は、コンピュータ５０をＬＡＮ経由で他のコンピュータに接続するためのインタフェースである。ＨＤＤ５４は、プログラムやデータを格納するディスク装置であり、スーパーＩＯ５５は、マウスやキーボードなどの入力装置を接続するためのインタフェースである。ＤＶＩ５６は、液晶表示装置を接続するインタフェースであり、ＯＤＤ５７は、ＤＶＤの読み書きを行う装置である。ＲＯＭ５８は、ＢＩＯＳ等を記憶する読み出し専用メモリであり、ＮＶＲＡＭ５９は、デバイス情報等を記憶する不揮発性メモリである。
【００６３】
ＬＡＮインタフェース５３は、ＰＣＩエクスプレス（ＰＣＩｅ）によりＣＰＵ５２に接続され、ＨＤＤ５４及びＯＤＤ５７は、ＳＡＴＡ（Serial  Advanced  Technology  Attachment）によりＣＰＵ５２に接続される。スーパーＩＯ５５は、ＬＰＣ（Low  Pin  Count）によりＣＰＵ５２に接続される。
【００６４】
そして、コンピュータ５０において実行されるデプロイメントプログラムは、ＤＶＤに記憶され、ＯＤＤ５７によってＤＶＤから読出されてコンピュータ５０にインストールされる。あるいは、デプロイメントプログラムは、ＬＡＮインタフェース５３を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読出されてコンピュータ５０にインストールされる。そして、インストールされたデータ処理プログラムは、ＨＤＤ５４に記憶され、メインメモリ５１に読み出されてＣＰＵ５２によって実行される。
【００６５】
また、ターゲット１０で実施例に係るネットワークブート処理を行う機能構成をソフトウェアによって実現することで、同様の機能を有する初期化プログラムを得ることができ、初期化プログラムも同様のハードウェア構成を有するコンピュータで実行される。
【００６６】
また、実施例では、ＬＡＮ２を用いる場合について説明したが、本発明はこれに限定されるものではなく、例えばＷＡＮ等の他のネットワークを用いる場合にも同様に適用することができる。
【符号の説明】
【００６７】
１    ネットワークブートシステム
２    ＬＡＮ
１０    ターゲット
１０ａ    デバイス情報記憶部
１０ｂ    制御部
１１    ＢＩＯＳ実行部
１２    ＵＥＦＩ実行部
１３    ＯＳ実行部
２０    デプロイメントサーバ
２０ａ    記憶部
２０ｂ    制御部
２１    第１管理テーブル
２２    第２管理テーブル
２３    オンメモリＯＳ
２４    ドライバ群
５０    コンピュータ
５１    メインメモリ
５２    ＣＰＵ
５３    ＬＡＮインタフェース
５４    ＨＤＤ
５５    スーパーＩＯ
５６    ＤＶＩ
５７    ＯＤＤ
５８    ＲＯＭ
５９    ＮＶＲＡＭ
【図１】
2017107283.tif 000003
【図２】
2017107283.tif 000004
【図３】
2017107283.tif 000005
【図４】
2017107283.tif 000006
【図５】
2017107283.tif 000007
【図６】
2017107283.tif 000008
【図７】
2017107283.tif 000009
【図８】
2017107283.tif 000010
【図９】
2017107283.tif 000011