(57)【要約】      （修正有）【課題】ネットワークからの攻撃に対するセキュリティを強化する。【解決手段】コンピュータ１００は、ドッキング・ステーション３００を通じてネットワーク・ブートが可能である。コンピュータ１００はシステムと一体性を保持できる記憶装置にブート識別子２６５を格納する。ブート識別子２６５はＭＡＣアドレスと同じビット数のデータに相当する。ドッキング・ステーション３００のＮＩＣ３０１はＭＡＣアドレス３０３を保有する。コンピュータ１００がドッキング・ステーション３００を通じてブート・サーバ５１にネットワーク・ブートを要求するときは、直前にシステム・ファームウェアがＭＡＣアドレス３０３をブート識別子２６５で書き換える。ブート・サーバ５１は、コンピュータ１００のブート識別子２６５でブート・イメージを管理することができる。【選択図】図２
2019036077.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク・ブートが可能なコンピュータであって、
ブート・イメージを展開するシステム・メモリと、
ネットワーク上の物理アドレスを保有するネットワーク・コントローラに接続が可能なインターフェースと、
前記ネットワーク上の物理アドレスとして利用可能なブート識別子を格納する第１の記憶領域と、
前記コンピュータのリセットに応じて前記物理アドレスを前記ブート識別子で書き換えてから前記ネットワーク・コントローラを通じて前記ネットワーク・ブートの要求フレームをブート・サーバに送信する機能を前記コンピュータに実現させるシステム・ファームウェアを格納する第２の記憶領域と
を有するコンピュータ。
【請求項２】
前記ネットワーク・コントローラが前記コンピュータに着脱可能に接続された機能拡張装置に実装されている請求項１に記載のコンピュータ。
【請求項３】
前記コンピュータがネットワークに接続するためのネットワーク・コントローラを実装していない請求項２に記載のコンピュータ。
【請求項４】
前記システム・ファームウェアが、前記コンピュータにオペレーティング・システムにプロセッサの制御権を渡す前に前記ネットワーク・コントローラを停止する機能を実現させる請求項３に記載のコンピュータ。
【請求項５】
他のコンピュータに接続された前記機能拡張装置が前記ネットワーク・コントローラを通じて前記他のコンピュータによる前記ネットワーク・ブートの要求フレームを前記ブート・サーバに送信する請求項２に記載のコンピュータ。
【請求項６】
前記ネットワーク・コントローラが前記コンピュータに交換が容易な接続構造で実装されている請求項１に記載のコンピュータ。
【請求項７】
前記第１の記憶領域が、オペレーティング・システムにプロセッサの制御権を渡す前に前記システム・ファームウェアによるライト・ロックが可能な請求項１に記載のコンピュータ。
【請求項８】
前記第１の記憶領域が前記コンピュータに交換が困難な接続構造で実装されている請求項１に記載のコンピュータ。
【請求項９】
前記システム・ファームウェアが、前記コンピュータにオペレーティング・システムにプロセッサの制御権を渡す前に前記ブート識別子を前記物理アドレスで書き換える機能を実現させる請求項１に記載のコンピュータ。
【請求項１０】
コンピュータがネットワーク・ブートをする方法であって、
システム・ファームウェアがアクセス可能な記憶装置にネットワーク上の物理アドレスに相当するブート識別子を格納するステップと、
前記コンピュータをリセットして前記システム・ファームウェアの実行を開始させるステップと、
前記システム・ファームウェアが前記コンピュータにネットワーク・コントローラが保有する物理アドレスを前記ブート識別子で書き換える機能を実現させるステップと、
前記システム・ファームウェアが前記コンピュータに前記ネットワーク・コントローラを通じて前記ブート識別子を含む前記ネットワーク・ブートの要求フレームをブート・サーバに送信する機能を実現させるステップと
を有する方法。
【請求項１１】
前記システム・ファームウェアが前記コンピュータに前記ブート・サーバを認証する機能を実現させるステップを有し、前記システム・ファームウェアが前記コンピュータに前記ブート・サーバの認証が成功したときだけ前記物理アドレスの書き換えを実行する機能を実現させる請求項１０に記載の方法。
【請求項１２】
前記システム・ファームウェアが前記コンピュータに前記ブート・サーバの認証が失敗したときに前記ネットワーク・ブートを停止する機能を実現させる請求項１１に記載の方法。
【請求項１３】
ネットワーク・ブートをすることが可能なコンピュータに、
前記コンピュータが実装する記憶装置に格納されたネットワーク上の物理アドレスに相当するブート識別子にアクセスする機能と、
前記コンピュータがリセットされたことに応じてネットワーク・コントローラが保有する物理アドレスを前記ブート識別子で書き換える機能と、
前記ブート識別子を含む前記ネットワーク・ブートの要求フレームをブート・サーバに送信する機能と
を実現させるためのコンピュータ・プログラム。
【請求項１４】
前記物理アドレスがＭＡＣアドレスである請求項１３に記載のコンピュータ・プログラム。
【請求項１５】
前記ブート識別子が、前記ＭＡＣアドレスと同じビット数のデータである請求項１４に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータがネットワークからブート・イメージを取得して起動するネットワーク・ブートに関する。
【背景技術】
【０００２】
コンピュータをブートさせる手法の１つに、インテル（登録商標）社が策定したＰＸＥ（Preboot eXecution Environment）というネットワーク・ブートの規格がある。ＰＸＥを利用すると、ストレージ・デバイスを備えていないコンピュータや、ストレージ・デバイスが格納するＯＳとは異なるＯＳで動作したいコンピュータが、サーバからＯＳを実行するためのファイルをまとめたイメージ・ファイル（ブート・イメージ）を取得してシステム・メモリにロードすることができる。
【０００３】
ネットワーク・ブートの際に、ラップトップ型のパーソナル・コンピュータ（ＰＣ）は、自らの筐体に実装している有線ＬＡＮや無線ＬＡＮに接続するＮＩＣ（Network Interface Card or Network Interface Controller）を通じてネットワーク上のブート・サーバにアクセスする。ＰＣはまた外部ディスプレイや外部キーボードなどを使用するための機能拡張装置に実装されたＮＩＣを通じてブート・サーバにアクセスすることができる。特許文献１は、シンクライアントをネットワーク・ストレージに接続してＯＳのイメージ・ファイルをロードするＳＣＣ（Storage Centric Computing）を開示する。同文献には、データ（ストレージ）をサーバや管理者側で管理することを記載する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２９９１３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ネットワークに接続されるすべてのＰＣは、常に、ネットワークからの攻撃にさらされる。どのように強固なハードウェア上およびソフトウェア上のセキュリティ対策を施しても、セキュリティ・ホールや利用者の不注意などにより情報漏洩や乗っ取りなどの危険性が残る。ある限定された作業や機械の制御などに使用するＰＣは、ネットワークに接続する必要がない場合がある。このようなＰＣからＮＩＣを取り外せば、ネットワークからの攻撃を完全に防ぐことができる。
【０００６】
ＮＩＣを実装していないＰＣは、ＮＩＣを備えるドッキング・ステーションやドングルといった機能拡張装置を利用してネットワークに接続することができるインターフェースを備えることができる。したがって、このようなＰＣが機能拡張装置を利用してネットワーク・ブートを実現できれば都合がよい。このとき、ＮＩＣを実装しないことでセキュリティを向上させたＰＣは、ネットワーク・ブート以外の目的でネットワークに接続できないようにすることが望ましい。
【０００７】
図７はＰＣ１１が、ＵＳＢケーブルで接続するドッキング・ステーション２１を利用してネットワーク・ブートをする様子を説明するための図である。ドッキング・ステーション２１は、イーサネット（登録商標）規格のＮＩＣ２３でブート・サーバ３１に接続される。ブート・サーバ３１は、クライアントによるネットワークへのアクセスを処理するＤＨＣＰサーバ３３、クライアントを管理する管理サーバ３５およびブート・イメージを格納するファイル・サーバ３７を含んでいる。
【０００８】
ドッキング・ステーション２１には、ＰＣ１１に代えてＰＣ１３をＵＳＢケーブルで接続することができる。ＰＣ１１が、ネットワーク・ブート際にＮＩＣ２３を通じてブート・サーバ３１にイーサネット・フレームを出力する。イーサネット・フレームには、ＰＣ１１が実装するデバイス・ドライバによりＮＩＣ２３が保有するＭＡＣアドレス（Media Access Control address）２５が埋め込まれる。管理サーバ３５は、ＭＡＣアドレス２５とＰＣ１１に送信するブート・イメージを関連付けて管理しており、ネットワーク・ブートのリクエストがあるとイーサネット・フレームが含むＭＡＣアドレス２５に基づいてＰＣ１１に適応するブート・イメージを選択する。
【０００９】
このときＰＣ１３がドッキング・ステーション２１を通じてネットワーク・ブートをすると、管理サーバ３５は、ＭＡＣアドレス２５でＰＣ１１とＰＣ１３を区別することができなくなる。ＰＣ１１が他のドッキング・ステーションを使ってネットワーク・ブートをする場合も、管理サーバ３５は、ＰＣ１１に提供する適切なブート・イメージを選択することができなくなる。
【００１０】
図８はＰＣ１５がＮＩＣ１７を通じてネットワーク・ブートをするときの様子を説明するための図である。ＰＣ１５は、ＭＡＣアドレス１９を保有するＮＩＣ１７を実装する。ＮＩＣ１７は、マザーボードに対して着脱可能なドーターボードに実装されている場合が多い。ＰＣ１５はＮＩＣ１７を通じてネットワーク・ブートするとブート・サーバ３１は、ＭＡＣアドレス１９でＰＣ１５を管理する。
【００１１】
ユーザは、国ごとの電波の認証基準に従ってまたは性能の向上を目的としてＮＩＣ１７を、ＭＡＣアドレス２３を保有するＮＩＣ２１と交換する場合がある。ＰＣ１５がＮＩＣ２１を通じてネットワーク・ブートをするとブート・サーバ３１は、ＭＡＣアドレス２３でＰＣ１５を管理するようになるため、ＭＡＣアドレス１９に関連付けていたブート・イメージをＭＡＣアドレス２３に関連付けることができなくなる。本発明の目的は、ネットワーク・ブートに生ずるこのような問題を解決することにある。
【課題を解決するための手段】
【００１２】
本発明の一の態様は、ネットワーク・ブートが可能なコンピュータを提供する。コンピュータは、ブート・イメージを展開するシステム・メモリと、ネットワーク上の物理アドレスを保有するネットワーク・コントローラに接続が可能なインターフェースと、ネットワーク上の物理アドレスとして利用可能なブート識別子を格納する第１の記憶領域と、コンピュータのリセットに応じて物理アドレスをブート識別子で書き換えてからネットワーク・コントローラを通じてネットワーク・ブートの要求フレームをブート・サーバに送信する機能をコンピュータに実現させるシステム・ファームウェアを格納する第２の記憶領域とを有する。
【００１３】
本発明の他の態様は、コンピュータがネットワーク・ブートをする方法を提供する。この方法は、システム・ファームウェアがアクセス可能な記憶装置にネットワーク上の物理アドレスに相当するブート識別子を格納し、コンピュータをリセットしてシステム・ファームウェアの実行を開始させ、システム・ファームウェアがコンピュータにネットワーク・コントローラが保有する物理アドレスをブート識別子で書き換える機能を実現させ、システム・ファームウェアがコンピュータにネットワーク・コントローラを通じてブート識別子を含むネットワーク・ブートの要求フレームをブート・サーバに送信する機能を実現させる。
を有する方法。
【００１４】
本発明のさらに他の態様は、ネットワーク・ブートをすることが可能なコンピュータに実装可能なコンピュータ・プログラムを提供する。コンピュータ・プログラムは、コンピュータが実装する記憶装置に格納されたネットワーク上の物理アドレスに相当するブート識別子にアクセスする機能と、コンピュータがリセットされたことに応じてネットワーク・コントローラが保有する物理アドレスをブート識別子で書き換える機能と、ブート識別子を含むネットワーク・ブートの要求フレームをブート・サーバに送信する機能とをコンピュータに実現させる。
【発明の効果】
【００１５】
本発明の一の態様により、ネットワーク・ブートのブート・イメージとシステム本体を関連付けて管理することができた。本発明の他の態様によりシステム本体とネットワーク・コントローラの物理的一体性を維持できない場合にブート・イメージを適切に管理することができた。本発明のさらに他の態様により、コンピュータのセキュリティを向上させることができた。
【図面の簡単な説明】
【００１６】
【図１】ＰＣ１００の主要なハードウェアの構成を示す概略の機能ブロック図である。
【図２】ＰＣ１００がドッキング・ステーション３００を通じてネットワーク・ブートをするときの様子を説明するための図である。
【図３】ファームウェアＲＯＭ１１１の構成の一例を説明するための図である。
【図４】ＰＣ１００がドッキング・ステーション３００を通じてネットワーク・ブートする手順を示すフローチャートである。
【図５】図４に続いてＰＣ１００がドッキング・ステーション３００を通じてネットワーク・ブートする手順を示すフローチャートである。
【図６】本実施の形態にかかる他のＰＣ６００の構成を示す概略の機能ブロック図である。
【図７】ＰＣ１１がドッキング・ステーション２１を通じてネットワーク・ブートをするときの様子を説明するための図である。
【図８】ＰＣ１５がＮＩＣ１７を通じてネットワーク・ブートをするときの様子を説明するための図である。
【発明を実施するための形態】
【００１７】
［ハードウェアの概略構成］
図１は、ＰＣの一例であるラップトップ型のＰＣ１００の主要なハードウェアの構成を示す機能ブロック図である。本実施の形態が適用できるＰＣには、デスクトップ型、ラップトップ型、およびタブレット型などのネットワーク・ブートが可能な情報処理装置全般を挙げることができる。
【００１８】
図１には、本実施の形態を理解する上で必要なデバイスだけを示している。図２は、ＰＣ１００がドッキング・ステーション３００を利用してネットワーク・ブートをする様子を説明するための図である。図２（Ａ）は、ブート・サーバ５１に接続しないときの状態を示し、図２（Ｂ）はネットワーク・ブートをするときの状態を示している。図３は、ファームウェアＲＯＭ１１１の構成の一例を説明するための図である。
【００１９】
図１でチップ・セット１０３はさまざまな規格のインターフェース・コントローラを備えており、ＣＰＵ１０１、システム・メモリ１０５、ＵＳＢコネクタ１０７、入出力デバイス１０９、およびファームウェアＲＯＭ１１１などが接続されている。一例においてＵＳＢコネクタ１０７は、チップ・セット１０３のＵＳＢコントローラに接続され、ファームウェアＲＯＭ１１１はチップ・セット１０３のＳＰＩ（Serial Peripheral Interface）コントローラに接続される。
【００２０】
ＵＳＢコネクタ１０７はＰＣ１００の筐体に実装され、本実施の形態においてはドッキング・ステーション３００（図２）に有線で接続するために利用する。ドッキング・ステーション３００には、ＰＣ１００に接続するＵＳＢコネクタの他に、図示しない外部ディスプレイ、キーボード、マウス、ストレージ・デバイスおよびイーサネット（登録商標）用のケーブルなどを接続するコントローラやコネクタを実装することができる。したがって、ラップトップ型のＰＣ１００は、オフィスに配置したドッキング・ステーション３００にＵＳＢケーブルで接続するだけでデスクトップ型のＰＣのように使用できる。
【００２１】
ＰＣ１００はたとえば無線ＵＳＢのコントローラを実装してドッキング・ステーション３００に無線で接続するものであってもよい。またＰＣ１００とドッキング・ステーション３００の接続規格はＵＳＢに限る必要はない。ＰＣ１００は、一例において有線および無線のＮＩＣを搭載していない。従って、ＰＣ１００は単独ではネットワークに接続することができない。ただし、ＰＣ１００がＮＩＣを備えている場合に、ドッキング・ステーション３００に接続したときは、ドッキング・ステーション３００のＮＩＣ３０１が有効になるような設定がされている場合には本実施の形態を適用できる。
【００２２】
図２（Ａ）において、ドッキング・ステーション３００はＬＡＮ(Local Area Network)に接続するためのイーサネット（登録商標）規格のＮＩＣ３０１を搭載する。ドッキング・ステーション３００は、イーサネット（登録商標）規格のＮＩＣ３０１に代えてＷｉＦｉ規格のＮＩＣを搭載してもよい。ＮＩＣ３０１は、製造時に付与されたＭＡＣアドレス３０３を格納する不揮発性メモリを備える。
【００２３】
ＭＡＣアドレスはＯＳＩ参照モデルのデータリンク層で扱う物理アドレスに相当し、ＩＥＥＥによって重複しないように管理されている。ＰＣ１００はドッキング・ステーション３００に代えてイーサネット（登録商標）とＵＳＢのプロトコルを変換する変換器とイーサネット（登録商標）規格のＮＩＣを備える小型の接続装置（ドングル）を利用してネットワーク・ブートをする場合にも本実施の形態を適用することができる。
【００２４】
ブート・サーバ５１は、ネットワーク・ブートをするＰＣ１００の認証やＰＣ１００にブート・イメージの所在を知らせるための処理などをするＤＨＣＰサーバ５３、クライアントをＭＡＣアドレスや後に説明するブート識別子２６５で管理する管理サーバ５５およびブート・イメージを格納するファイル・サーバ５７を含んでいる。管理サーバ５５は、ブート識別子２６５をＭＡＣアドレスと同じように扱ってクライアントのシステム本体とブート・イメージを関連付けて管理することができる。
【００２５】
［ファームウェアＲＯＭのデータ構成］
図３において、ファームウェアＲＯＭ１１１は、記憶内容の電気的な書き替えが可能な不揮発性メモリで、システム・ファームウェアの一例としてのＵＥＦＩを格納する。システム・ファームウェアはＢＩＯＳであってもよい。ファームウェアＲＯＭ１１１は一例としてコード領域２０１、変数領域２０３、ブート管理領域２０５の３ブロックに区分している。
【００２６】
コード領域２０１、変数領域２０３の一部およびブート管理領域２０５には、チップ・セット１０３のＳＰＩコントローラでライト・ロックが可能な記録領域を割り当てている。ライト・ロックが実行された記録領域に対しては、チップ・セット１０３がリセットされるまで書き込みができない。ＵＥＦＩファームウェアは、ブート時にＣＰＵ１０１の制御権をＯＳに渡す前にライト・ロックを実行する。したがって、ＯＳの実行環境ではいずれのプログラムもライト・ロックされた領域にアクセスすることができないため、ブート識別子２６５およびブート・サーバ識別子２６７の一貫性は確保される。
【００２７】
コード領域２０１はＰＯＳＴコード２５１、ブート・マネージャ２５３、ＵＥＦＩドライバ２５５およびセット・アップ・コード２５７などのモジュールを含むＵＥＦＩファームウェアを格納する。ＰＯＳＴコード２５１は、所定のデバイスの検出、検査および初期化を実行する。ブート・マネージャ２５３は、本実施の形態にかかるネットワーク・ブートを処理する。ＵＥＦＩドライバ２５５は、チップ・セット１０３に組み込んだＵＳＢホスト、ドッキング・ステーション３００が搭載するＵＳＢターゲット、およびＮＩＣ３０１などのネットワーク・ブートに必要なハードウェアを制御するコードを含む。
【００２８】
セット・アップ・コード２５７は、ブートの間に所定のキーが押下されたときにディスプレイにセット・アップ画面を表示する。変数領域２０３は、ＧＶ（Global Variables）、ＣＶ（Configuration Variables）およびＵＶ（User Variables）などのＵＥＦＩファームウェアが管理する変数を格納する。ブート管理領域２０５は、ブート識別子２６５およびブート・サーバ識別子２６７を格納する。ブート識別子２６５およびブート・サーバ識別子２６７は、セット・アップ画面を通じて書き込むことができる。
【００２９】
ブート識別子２６５はＭＡＣアドレスと同じビット数のデータに相当する。ブート識別子２６５はＰＣ１００を出荷する際に工場で書き込まれ、それ以後はスーパーバイザ・パスワードを保有する特別の権限があるユーザ以外はセット・アップ画面から改変できないようにしている。ネットワーク・ブートの際に、ブート識別子２６５が重複使用されないようにするために、コンピュータ・メーカは自社で出荷するＰＣに割り当てるブート識別子を管理する。ネットワーク・ブートの管理者は、ＰＣ１００にネットワーク・ブートを許可する際に、ＰＣ１００から取得したブート識別子２６５をブート・サーバ５１に登録する。
【００３０】
ブート・サーバ識別子２６７は、ＩＰアドレスのオファー・コマンドを送信したＤＨＣＰサーバ５３が、ネットワーク・ブートをサポートする真正なブート・サーバであることをＰＣ１００が検証するための識別子に相当する。ブート・サーバ識別子２６７は、ＤＨＣＰサーバ５３のＭＡＣアドレスまたはブート・サーバ５１を特定することができる識別子とすることができる。ブート・サーバ識別子２６７は、ブート・サーバ５１の管理者により、ネットワーク・ブートをサポートするＰＣのユーザに対して配布することができる。ユーザは受け取ったブート・サーバ識別子２６７を、ＵＥＦＩファームウェアのセット・アップ画面からブート管理領域２０５に書き込むことができる。
【００３１】
ファームウェアＲＯＭ１１１は、マザーボードや筐体にユーザによる交換が困難な接続構造で実装されている。交換が困難な接続構造は、ユーザによる交換を想定しない実装方法に相当し、一例として半田による接続構造、着脱に特殊工具が必要な接続構造、または取り外すとマザーボードが損傷するような接続構造を挙げることができる。これとは対照的に交換が容易な接続構造は、ユーザによる交換を想定した実装方法に相当し、一例としてマザーボードにコネクタやソケットで接続されるドーターボードまたはアドイン・カードによる接続構造や筐体に形成したカード用のベイに対する接続構造を挙げることができる。
【００３２】
ファームウェアＲＯＭ１１１がＰＣ１００に交換が困難な接続構造で装着されていることにより、ブート識別子２６５はマザーボード、すなわちＰＣ１００のシステム本体と物理的な一体性を維持することが保証される。他の例ではブート識別子２６５をマザーボードや筐体に交換が困難な接続構造で実装した、ＵＥＦＩファームウェアによるライト・ロックが可能な不揮発性メモリに格納することもできる。
【００３３】
［ＰＣ１００によるネットワーク・ブートの手順］
図４、図５は、ＰＣ１００がドッキング・ステーション３００を利用してネットワーク・ブートをする手順を示すフローチャートである。ブロック４０１で、ＰＣ１００とドッキング・ステーション３００がＵＳＢケーブルで接続される。この時点ではＮＩＣ３０１の不揮発性メモリには、図２（Ａ）に示すようにＭＡＣアドレス３０３が格納されている。電源が投入されたＰＣ１００はＣＰＵ１０１およびチップ・セット１０３がリセットされる。
【００３４】
ＰＣ１００はＣＰＵ１０１がリセットされたときに必ずＵＥＦＩファームウェアを所定のアドレスから実行する。ブロック４０３でシステム・メモリ１０５にロードされたＵＥＦＩファームウェアがコールド・ブートを開始する。コールド・ブートは、電源が停止した状態から開始するブートに相当し、ＰＯＳＴコード２５１は原則としてすべてのデバイスの検出、検査および初期化を行う。
【００３５】
ＰＯＳＴコード２５１は、最初にブートに必要な基本的なデバイスに対してＰＯＳＴを実行する。ブロック４０４でブート・マネージャ２５３は、ブート管理領域２０５からブート識別子２６５を取得する。ブート・マネージャ２５３は一例において、Simple Network Protocol-StationAddress()というＵＥＦＩプロトコルに、ブート識別子２６５を設定してＮＩＣ３０１が不揮発性メモリに記憶するＭＡＣアドレス３０３をブート識別子２６５で書き換える。
【００３６】
ＭＡＣアドレス３０３の書き換えは他のコマンドを利用して行ってもよい。このときの様子を図２（Ｂ）に示している。ブロック４０５で、ネットワークにアクセスするために必要なデバイスが利用可能になると、ブート・マネージャ２５３はブロード・キャスト・アドレスを含むイーサネット・フレームでＤＨＣＰのディスカバー・コマンドを出力する。
【００３７】
ブロック５０１でネットワークに存在する複数のＤＨＣＰサーバが、ディスカバー・コマンドに対してＰＣ１００に割り当てが可能なＩＰアドレスを通知するためのオファー・コマンドを返送する。このとき、ネットワーク・ブートをサポートするＤＨＣＰサーバ５３は、ブート・サーバ識別子２６７を含むイーサネット・フレームを送信する。ブロック４０７でブート・マネージャ２５３は、受け取ったイーサネット・フレームからブート・サーバ識別子２６７を抽出する。
【００３８】
ブロック４０９でブート・マネージャ２５３は、ブート・サーバ５１を認証する。ブート・マネージャ２５３はブート管理領域２０５に格納したブート・サーバ識別子２６７と、イーサネット・フレームが含むブート・サーバ識別子２６７を比較する。ブート・マネージャ２５３は、ブート・サーバ識別子２６７を含むイーサネット・フレームを受け取ったときはブート・サーバ５１の認証が成功したと判断する。
【００３９】
ブロック４１１でブート・マネージャ２５３は、ブート・サーバ識別子２６７を保持するブート・サーバ５１のＭＡＣアドレスとＩＰアドレスおよびＰＣ１００に割り当てられたＩＰアドレスを取得する。いずれのオファー・コマンドのイーサネット・フレームにもブート・サーバ識別子２６７が含まれていないときは、ブート・マネージャ２５３はブロック４１５でネットワーク・ブートを中止する。この場合ＰＣ１００は、ブートするために適切なブート・サーバにアクセスできる環境で再度電源を起動する必要がある。
【００４０】
図５のブロック４２１で、ブート・マネージャ２５３はＤＨＣＰのリクエスト・コマンドを出力する。ブート・マネージャ２５３は、ブロード・キャスト・アドレスと自らに割り当てられたＩＰアドレスを含むイーサネット・フレームを出力する。ＮＩＣ３０１のＭＡＣアドレス３０３はブート識別子２６５で書き換えられているため、ＵＥＦＩドライバ２５５はＤＨＣＰリクエストをする際に、イーサネット・フレームの送信元のＭＡＣアドレスのフィールドにブート識別子２６５を埋め込む。
【００４１】
ブロック５２１で自らが提案したＩＰアドレスを含むイーサネット・フレームを受信したＤＨＣＰサーバ５３は、ＰＣ１００にアック・コマンドを返送してＰＣ１００のＩＰアドレスを確定させる。ブロック５２３でＤＨＣＰサーバ５３は、受け取ったイーサネット・フレームからブート識別子２６５を抽出する。ブロック５２５で、ＤＨＣＰサーバ５３は、ブート識別子２６５があらかじめ管理者が登録したブート識別子に合致するか否かを判断する。
【００４２】
ブロック５２７でブート識別子が一致して認証が成功すると、ブロック５２９でＤＨＣＰサーバ５３は、管理サーバ５５のＩＰアドレス、管理サーバ５５のＭＡＣアドレス、および今回ＰＣ１００に割り当てたＩＰアドレスなどを含むネットワーク・ブートに必要なパラメータを送信する。パラメータを送信するイーサネット・フレームの宛先となるＭＡＣアドレスのフィールドには、ブート識別子２６５が埋め込まれる。ブロック５２７で認証が失敗したときはブロック５３７でＤＨＣＰサーバ５３は、ネットワーク・ブートを中止する。このときＤＨＣＰサーバ５３は、ＰＣ１００にネットワーク・ブートを中止したことを通知してもよい。
【００４３】
ブロック４２３でパラメータを受け取ったブート・マネージャ２５３は、管理サーバ５５にネットワーク・ブートを要求する。ブロック５３１で管理サーバ５５は、ＰＣ１００がＯＳのブート・イメージを取得して起動するためのプログラムであるＮＢＰ（Network Bootstrap Program）のファイル名をＰＣ１００に知らせる。ブロック４２５でブート・マネージャ２５３は管理サーバ５５にＮＢＰを要求する。
【００４４】
ブロック５３３で管理サーバ５５がＮＢＰと、ブート・イメージの格納場所を示すファイル・サーバ５７のアドレスを送信する。管理サーバ５５は、ＭＡＣアドレスとブート・イメージを関連付けて管理することができる。これに加えて本実施の形態では管理サーバ５５が、ブート識別子２６５とブート・イメージを関連付けて管理する。前述のようにブート識別子２６５は、システム本体に対する物理的な一体性が保証されている。したがってブート・イメージのバージョンが変更されたり、ＰＣ１００によってブート・イメージが更新されたりしたときに、ブート識別子２６５にシステム本体が関連付けられた過去のブート・イメージに対応する適切なブート・イメージを選択することができる。
【００４５】
ブロック４２７でブート・マネージャ２５３がファイル・サーバ５７にＮＢＰをリクエストするとブート・イメージが呼び出される。ブロック５３５でファイル・サーバ５７が、ＴＦＴＰでブート・イメージを送信すると、ブロック４２９でブート・イメージがシステム・メモリ１０５にロードされる。ＮＩＣを搭載しないＰＣ１００に対して、ネットワーク・ブート以外の目的でのネットワークへの接続を禁止する場合は、ブロック４３１でブート・マネージャ２５３が、残りのＰＯＳＴが終了してＣＰＵ１０１の制御権をＯＳに渡す直前にＮＩＣ３０１の動作を停止する。
【００４６】
ブート・マネージャ２５３は、ＰＣ１００に対してＯＳの実行環境下でのインターネットへのアクセスを許可する場合はブロック４３３で、ＮＩＣ３０１の不揮発性メモリが記憶するブート識別子２６５をＭＡＣアドレス３０３に書き戻す。以後ＯＳのデバイス・ドライバは、ＮＩＣ３０１が出力するイーサネット・フレームの発信元のＭＡＣアドレスのフィールドにＭＡＣアドレス３０３を埋め込む。
【００４７】
ブロック４３５でＣＰＵ１０１の制御権がＯＳに移って、ブート・イメージが順番に実行されてブートが完了する。ブロック４１５の手順によりＵＥＦＩファームウェアの実行環境下で、ブート識別子２６５が埋め込まれたイーサネット・フレームがネットワークを流れるのは、ブート・サーバ５１に対する通信のときだけである。したがって、たとえブート識別子２６５と同じＭＡＣアドレスを保有するＮＩＣを搭載するＰＣが存在してもネットワークの動作に障害をもたらすことはほとんどない。また、ＯＳの実行環境下では、ＭＡＣアドレス３０３を含むイーサネット・フレームでネットワークと通信することができる。
【００４８】
図６は、図４、図５の手順でネットワーク・ブートができるＰＣ６００の機能ブロック図である。ＰＣ６００はＰＣ１００と異なり、有線または無線のＮＩＣ６０１を含む。さらにＮＩＣ６０１はＰＣ６００に対して交換が容易な接続構造で実装されている。ＮＩＣ６０１は、ＭＡＣアドレス６０３を格納する不揮発性メモリを備える。そして、ネットワーク・ブートの際には、ＭＡＣアドレス６０３がブート識別子２６５で書き換えられ、ブート・イメージを取得するとブート識別子２６５がＭＡＣアドレス６０１３に書き戻される。
【００４９】
本実施の形態を適用すると、ＰＣ６００は、ＵＥＦＩファームウェアがネットワーク・ブートをする際には、ブート識別子２６５を使用してブート・サーバ５１だけにアクセスし、ブートが完了した後はＭＡＣアドレス６０３を使用してネットワークにアクセスができる。ＰＣ６００のＮＩＣ６０１が他のＭＡＣアドレスを有するＮＩＣに交換されても管理サーバ５５はブート識別子２６５に関連付けたシステム本体に対してブート・イメージを管理したり、サービスの対象とするＰＣを認証したりすることができる。
【００５０】
ＰＣ１００、６００はともにＯＳを格納する補助記憶装置がない例を説明したが、補助記憶装置からＯＳのブート・イメージをロードできるＰＣであっても異なるＯＳでブートするために図４、図５で説明したネットワーク・ブートを利用することができる。これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【００５１】
５１  ブート・サーバ
５３  ＤＨＣＰサーバ
５５  管理サーバ
５７  ファール・サーバ
１００、６００  ＰＣ
１１１  ファームウェアＲＯＭ
３００  ドッキング・ステーション
３０１、６０１  ＮＩＣ
３０３  ６０３  ＭＡＣアドレス
２６５  ブート識別子
２６７  ブート・サーバ識別子
【図１】
2019036077.tif 000003
【図２】
2019036077.tif 000004
【図３】
2019036077.tif 000005
【図４】
2019036077.tif 000006
【図５】
2019036077.tif 000007
【図６】
2019036077.tif 000008
【図７】
2019036077.tif 000009
【図８】
2019036077.tif 000010