説明

計算機システム、ネットワークブートロードシステム、及び、そのブートロード方法

【課題】NBP(Network Boot Program)を必要とせずにブートロードを行う。
【解決手段】計算機システム1を構成する全装置と専用の診断パス7で接続され、診断用ネットワーク9を介して外部サーバ8に接続された診断プロセッサ6を有し、OS用ネットワーク13を介して外部サーバ8に接続される計算機システム1において、計算機システム1の初期化後で、且つブートロード前の状態であることを示す初期化後フラグ10と、ブートロードするデータの書き込み先を指定するアドレステーブルとを入出力装置(IOP)5に設ける。計算機システム1の入出力装置5が、OS用ネットワーク13を介して外部サーバ8より送信されるOSファイル11のデータを受信し、該データをアドレステーブルに従って主記憶装置(MMU)3における所定の記憶領域に書き込む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、計算機システム、ネットワークブートロードシステム、及び、そのブートロード方法に関する。
【背景技術】
【0002】
ネットワークを介して、計算機システムにOS(Operating System)ファイルをブートロードする手法が知られている。
【0003】
従来は、予め制御プログラム(BIOS)を格納したROM(Read Only Memory)を主記憶装置の所定の記憶領域にマッピングしておき、このBIOSがOSファイルのブートロードを行う方法や、診断プロセッサが診断パスを介してOSファイルのブートロードを行う方法が一般的である。
【0004】
ネットワークを介したOSファイルのブートロードの手法を開示した先行技術文献としては、例えば、特許文献1がある。特許文献1の技術では、その図8などに示すように、NBP(Network Boot Program)が必要である。
【特許文献1】特開2006−252168号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
従来のネットワークを介したOSファイルのブートロードは、例えば特許文献1のように、NBPが必要であるという問題があった。
【0006】
また、従来のOSファイルのブートロードは、診断パスを介して行っていたため、時間がかかるという問題があった。なぜなら、診断パスの使用目的は、計算機システムが備えるハードウェアの初期化などの限られた処理であり、通常の運用時用ではないため、性能よりも安定性や安価であることが求められ、運用で使うアクセスパスよりも転送速度が遅いことが一般的だからである。
【0007】
更に、一般には、ブートの実行がOS稼働前であるため、ブートの実行はOSによる計算機システムの初期設定が終わる前であり、CPUを複数備える計算機システムであっても、ブートを実行し、OSが入出力装置を使用可能にするまでは1つのCPUしか動作できないため、複数のCPUを備える計算機システムの諸元を活用しきれないという問題があった。
【0008】
本発明は、上記のような問題点を解決するためになされたもので、NBPを必要とせずにブートロードを行うことを可能とする計算機システム、ネットワークブートロードシステム、及び、そのブートロード方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するため、本発明の計算機システムは、プロセッサと、主記憶装置と、入出力装置と、を備え、ネットワークを介して外部サーバと接続される計算機システムにおいて、少なくとも前記プロセッサ、前記主記憶装置及び前記入出力装置を含む当該計算機システムを構成するハードウェアの各々に対し、診断パスを介して接続され、該ハードウェアの各々の初期化を行う診断プロセッサを備え、当該計算機システムは、OSファイルのブートロードを実行するブートロード実行機能と、当該計算機システムを構成するハードウェアの初期化直後であるか否かを判定する初期化直後判定機能と、を備え、前記初期化直後判定機能は、前記ハードウェアの初期化後、且つ、前記OSファイルのブートロード完了前の段階である場合に、初期化直後であると判定する機能であり、前記ブートロード実行機能は、初期化直後において、当該計算機システムからのブートロード要求に応じて前記外部サーバより送信されるOSファイルのデータを受信し、該受信したデータを所定のアドレス情報に従って前記主記憶装置における所定の記憶領域に書き込む機能であり、前記ブートロード実行機能を前記入出力装置が実行するようにしたことを特徴としている。
【0010】
本発明のネットワークブートロードシステムは、プロセッサと、主記憶装置と、入出力装置と、を備える計算機システムと、ネットワークを介して前記計算機システムと接続される外部サーバと、を備え、前記計算機システムは、少なくとも前記プロセッサ、前記主記憶装置及び前記入出力装置を含む当該計算機システムを構成するハードウェアの各々に対し、診断パスを介して接続され、該ハードウェアの各々の初期化を行う診断プロセッサを備え、前記計算機システムは、OSファイルのブートロードを実行するブートロード実行機能と、当該計算機システムを構成するハードウェアの初期化直後であるか否かを判定する初期化直後判定機能と、を備え、前記初期化直後判定機能は、前記ハードウェアの初期化後、且つ、前記OSファイルのブートロード完了前の段階である場合に、初期化直後であると判定する機能であり、前記ブートロード実行機能は、初期化直後において、当該計算機システムからのブートロード要求に応じて前記外部サーバより送信されるOSファイルのデータを受信し、該受信したデータを所定のアドレス情報に従って前記主記憶装置における所定の記憶領域に書き込む機能であり、前記ブートロード実行機能を前記入出力装置が実行するようにしたことを特徴としている。
【0011】
本発明のブートロード方法は、プロセッサと、主記憶装置と、入出力装置と、を備え、ネットワークを介して外部サーバと接続される計算機システムがブートロードを行う方法において、少なくとも前記プロセッサ、前記主記憶装置及び前記入出力装置を含む前記計算機システムを構成するハードウェアの各々の初期化を行う第1の過程と、前記ハードウェアの初期化後、且つ、前記OSファイルのブートロード完了前の段階である場合に、初期化直後であると判定する第2の過程と、前記第2の過程により初期化直後であると判定された場合において、前記計算機システムからのブートロード要求に応じて前記外部サーバより送信されるOSファイルのデータを、前記入出力装置が受信する第3の過程と、前記第3の過程において受信したOSファイルのデータを、前記入出力装置が所定のアドレス情報に従って前記主記憶装置における所定の記憶領域に書き込む第4の過程と、を備えることを特徴としている。
【発明の効果】
【0012】
本発明によれば、計算機システム内の各ハードウェアの初期化後に、入出力装置が外部サーバからネットワークを経由してOSファイルのデータを受信し、該受信したデータを所定のアドレス情報に従って主記憶装置における所定の記憶領域に書き込むので、NBPが不要である。
【0013】
また、計算機システム内の各ハードウェアの初期化後に、入出力装置が外部サーバからネットワークを経由してOSファイルのデータを受信し、該受信したデータを所定のアドレス情報に従って主記憶装置における所定の記憶領域に書き込むので、一般的な構成の計算機システムの場合には、診断プロセッサが診断パスを経由して初期ブートローダを行ったり、診断プロセッサがOSファイルを主記憶装置に格納したりするよりも、高速にブートロードを完了することが可能となる。
【発明を実施するための最良の形態】
【0014】
以下、図面を参照して、本発明に係る実施形態について説明する。
【0015】
〔第1の実施形態〕
図1は第1の実施形態に係る計算機システム1を含むネットワークブートロードシステム100の構成を示すブロック図である。
【0016】
図1に示すように、第1の実施形態に係るネットワークブートロードシステム100は、計算機システム1と、この計算機システム1の外部に設けられた外部サーバ8と、この外部サーバ8に付属した記憶装置12と、外部サーバ8と計算機システム1とを接続する診断用ネットワーク9及びOS用ネットワーク13と、を備えて構成されている。
【0017】
診断用ネットワーク9及びOSネットワーク13は、例えば、TCP−IP(Transmission Control Protocol/Internet Protocol)を用いたネットワークであり、例えば、イーサネット(登録商標)であることが挙げられる。
【0018】
計算機システム1は、図1に示すように、プロセッサとしての中央処理装置(CPU:Central Processing Unit)2と、主記憶装置(MMU:Main Memory Unit)3と、システム制御装置(SCU:System Control Unit)4と、入出力装置(IOP:I/O Processor)5と、診断プロセッサ6と、診断パス7と、を備えている。
【0019】
CPU2は、ブートロード後において、OSなどのSWプログラムによる各種の動作を行う。
【0020】
本実施形態の場合、計算機システム1は、例えば、複数のCPU2を備えている。
【0021】
SCU4は、各装置2、3、5の相互間でのアドレッシングの中継などを行う。
【0022】
IOP5は、OS用ネットワーク13を介して外部サーバ8と接続されている。
【0023】
診断プロセッサ6は、計算機システム1内の各装置2,3,4,5とは専用の診断パス7を介して接続され、外部サーバ8とは診断用ネットワーク9を介して接続されている。
【0024】
記憶装置12は、オペレーティングシステム(OS)のファイル11を格納している。
【0025】
外部サーバ8は、記憶装置12にアクセスしてOSファイル11を取得し、該取得したOSファイル11を計算機システム1に送付する機能を有する。
【0026】
図2は、図1に示す各構成要素の詳細な構成を示すブロック図である。
【0027】
図2に示すように、IOP5は、例えば、ROM(Read Only Memory)からなる第1制御メモリ50Aと、RAM(Random Access Memory)からなる第2制御メモリ50Bと、を備えている。
【0028】
第1制御メモリ50Aは、IOP5を制御するFW(Firmware)であるIOP制御プログラム51と、MMU3が有する記憶領域のうちブートロードするOSファイル11のデータを書き込む領域を指定するアドレステーブル52と、を格納(記憶保持)している。
【0029】
第2制御メモリ50Bは、初期化後フラグ10を格納(記憶保持)している。この初期化後フラグ10は、各装置2,3,4,5を含む計算機システム1のハードウェアが初期化後かどうかを示すフラグである。
【0030】
また、診断プロセッサ6も、該診断プロセッサ6の制御用のプログラムを格納した制御メモリ60を有している。
【0031】
この制御メモリ60に格納されたプログラムには、例えば、CPU通信機能用プログラム61と、診断パス制御機能用プログラム62と、装置アクセス機能用プログラム63と、外部サーバ通信機能用プログラム64と、が含まれている。
【0032】
このうちCPU通信機能用プログラム61は、診断プロセッサ6からCPU2に対して後述する割り込みをかける機能を制御するFWである。
【0033】
診断パス制御機能用プログラム62は、診断パス7を選択することによって、診断プロセッサ6からのアクセス先の装置(例えば、CPU2、MMU3、SCU4、IOP5の何れかなど)を切り換える機能を制御するFWである。
【0034】
装置アクセス機能用プログラム63は、診断パス制御機能用プログラム62に従って選択された診断パス7を介して、診断プロセッサ6が各装置2,3,4,5に対してアクセスする機能を制御するFWである。
【0035】
外部サーバ通信機能用プログラム64は、診断プロセッサ6が外部サーバ8と通信する機能を制御するFWである。
【0036】
次に、動作を説明する。
【0037】
計算機システム1に電源が投入されると、診断プロセッサ6は、先ず、自身の初期化を行う。
【0038】
診断プロセッサ6自身の初期化が正常に終了すると、診断プロセッサ6は、計算機システム1内の全装置(診断プロセッサ6を除く)の初期化を行う。
【0039】
すなわち、診断プロセッサ6は、CPU2、MMU3、SCU4及びIOP5を含む計算機システム1内の各ハードウェアの初期化を行う。
【0040】
なお、初期化の動作は、当業者によく知られているため、その詳細な説明を省略する。
【0041】
図3は第1の実施形態の場合におけるネットワークブートロードシステム100の動作の流れを示すフローチャートである。
【0042】
図3の動作は、診断プロセッサ6により、CPU2、MMU3、SCU4及びIOP5を含む計算機システム1内の各ハードウェアの初期化が終了した時に開始される。
【0043】
すなわち、診断プロセッサ6は、初期化が終了したか否かを監視し、終了したと判断すると、診断パス7を介して、IOP5内の初期化後フラグ10に初期化後であることを示す値(例えば、「1」)を設定する(ステップS1)。
【0044】
続いて、診断プロセッサ6は、外部サーバ8に対してブートロード要求を送信する(ステップS2)。
【0045】
このブートロード要求を受けた外部サーバ8は、記憶装置12内のOSファイル11のデータをOS用ネットワーク13を介してIOP5に送付する(ステップS3)。
【0046】
なお、外部サーバ8は、OSファイル11を複数のデータに分割して、順次送信するように構成されており、ステップS3では、これら複数のデータ(以下、分割データ)を、最初の分割データから順番に、全て送信する。
【0047】
OSファイル11の分割の仕方と、送信の順序とは、予め決められており、何番目に送信される分割データをMMU3におけるどのアドレスに記憶するのかについても、予め決められている。
【0048】
続いて、IOP5は、先ず、先のステップS2にて外部サーバ8が送付した分割データのうち、最初の分割データを受け取る(ステップS4)。なお、IOP5は、外部サーバ8からデータを受け取ると、該データ受け取りの旨を外部サーバ8に通知する。
【0049】
続いて、IOP5は、初期化後フラグ10を確認する(ステップS5)。
【0050】
初期化後フラグ10の設定内容が、初期化後を示す値(例えば、「1」)でなければ(ステップS5のNo)、すなわち初期化後ではない旨を示す値(例えば、「0」)であれば、図3の処理を終了する。
【0051】
また、初期化後フラグ10の設定内容が、初期化後を示す値(例えば、「1」)であれば(ステップS5のYes)、IOP5は、アドレステーブル52を参照する(ステップS6)。
【0052】
ここで、アドレステーブル52は、上記のように外部サーバ8から順次に送信されるOSファイル11の各分割データと、各分割データをMMU3におけるどのアドレスの記憶領域に記憶させればよいかを指定するアドレス情報と、を対応付けて記憶したものである。
【0053】
より詳細には、アドレステーブル52は、分割データの数だけ、データエントリを有している。
【0054】
例えば、OSファイル11が3つの分割データに分かれて送信されるものとすると、アドレステーブル52は、3つのデータエントリからなる。
【0055】
そして、各データエントリは、例えば、該当する分割データの送信順序と、該分割データをMMU3内のどのアドレスに記憶させればよいかを示すアドレス情報と、の対応付けを示す情報である。
【0056】
従って、IOP5は、例えば、外部サーバ8からOSファイル11の分割データを受信するたびに、その分割データを受信した順番と対応するデータエントリを参照することによって、その分割データと対応するアドレス情報を抽出でき、該抽出したアドレス情報に従って、該分割データをMMU3における所定のアドレスに記憶させることができる。よって、IOP5は、例えば、1番目の分割データを受信したときには、アドレステーブル52における1番目のデータエントリを参照することによって、1番目の分割データと対応するアドレス情報を抽出することができる。よって、IOP5は、当該分割データをMMU3におけるどのアドレスに記憶させればよいかを認識でき、該認識したアドレスに該分割データを記憶させることができる。
【0057】
続いて、IOP5は、MMU3が有する記憶領域のうちアドレステーブル52によって指定されているアドレスに、先のステップS3にて受け取った分割データを書き込む(ステップS7)。
【0058】
このように、本実施形態では、初期化直後の場合は、CPU2からの命令によってIOP5内に設定されたデータ転送先のアドレスではなく、IOP5内のアドレステーブル52により指定されるMMU3内の所定のアドレスに、受け取ったデータを書き込む。
【0059】
ここで、IOP5は、分割データをMMU3に書き込むたびに、当該分割データと対応するアドレステーブル52内のデータエントリを処理済みと認識する。よって、IOP5は、アドレステーブル52に含まれる各データエントリのうち何れが「処理済み」でないかを判定することにより、MMU3への書き込みが未了の分割データが存在するか否かを認識することができるようになっている。
【0060】
なお、IOP5が、アドレステーブル52内のデータエントリを処理済みと認識する手法としては、処理済みのデータエントリに対し、「処理済み」のフラグを設定することが挙げられる。この場合、IOP5は、アドレステーブル52に含まれる各データエントリのうち、未だに「処理済み」のフラグが設定されていないデータエントリの有無を判定することにより、MMU3への書き込みが未了となっているデータの有無を認識することができるようになっている。
【0061】
すなわち、ステップS7に続くステップS8では、IOP5は、MMU3へのデータ書き込みが未了となっているデータエントリがアドレステーブル52内に存在しているか否かを判定する。
【0062】
存在していれば(ステップS8のYes)、順次、外部サーバ8から送られるデータを受け取り(ステップS4)、該データをMMU3に書き込む処理(ステップS6、S7)を繰り返す。
【0063】
この場合、外部サーバ8は、OSファイル11の全ての分割データを順次にIOP5側に送信することを、(IOP5側で分割データを受け取ったか否かにかかわらず)一旦は行う。また、上述のように、IOP5側では、受け取った分割データについては、受け取りの旨を外部サーバ8に対して通知する。そして、外部サーバ8は、各分割データの送付後、所定時間内にIOP5からデータ受け取りの旨の通知を受けなければ、該当する分割データの送付エラーと判断し、該当する分割データを再度IOP5に送付する。
【0064】
また、MMU3へのデータ書き込みが未了となっているデータエントリがアドレステーブル52内に存在しなければ、すなわち、MMU3にOSファイル11の全ての分割データを書き込み終えたら(ステップS8のNo)、IOP5は、その旨(テーブル完了の旨)を診断プロセッサ6に通知する(ステップS9)。
【0065】
診断プロセッサ6は、IOP5からテーブル完了の旨の通知を受けると、IOP5内の初期化後フラグ10をリセットする。すなわち、IOP5は、初期化後フラグ10の値を、初期化後であることを示す値から、初期化後ではないことを示す値(例えば、「0」)に書き換える(ステップS10)。
【0066】
続いて、診断プロセッサ6は、初期化後フラグ10のリセットをもってブートロード完了と判断し、CPU2に割込みをかける(ステップS11)。
【0067】
この割り込みを契機として、制御の主体が診断プロセッサ6からCPU2に渡り、CPU2は、MMU3にロードされたOSファイル11を起動する。これにより、通常処理が開始される。
【0068】
すなわち、先ず、MMU3にロードされたOSファイル11に従って、CPU2やIOP5などのハードウェアをOSが使用可能にするための初期設定(初期化ではない)が行われる。
【0069】
そして、この初期設定によるメモリ空間やプロセス情報などの設定後の入出力装置の探索や組み込み処理を、複数のCPU2により実行できるようになるため、OSがレディになる前から、速やかにマルチプロセッサでの動作に移行させることができるので、複数のCPU2を備えた計算機システム1の諸元を活用できる。
【0070】
なお、ブートロード実施中ではない状態でのIOP5などの機能は、当業者によく知られており、また本実施形態とは直接関係しないので、その詳細な説明を省略する。
【0071】
以上のような第1の実施形態によれば、計算機システム1に含まれる各ハードウェア(CPU2、MMU3、SCU4、IOP5など)の初期化後に、IOP5が外部サーバ8からOSファイル11のデータを受信し、該受信したデータをIOP5が直接MMU3にブートロードするので、NBPが不要である。よって、「NBP実行による処理でコンピュータの実行速度が遅く、ベンダにとって開発コストが大きくなる」という問題を解消することができる。
【0072】
また、計算機システム1に含まれる各ハードウェア(CPU2、MMU3、SCU4、IOP5など)の初期化後に、IOP5が外部サーバ8からOSファイル11のデータを受信し、該受信したデータをIOP5が直接MMU3にブートロードするので、一般的な構成の計算機システム1の場合に、診断プロセッサ6が診断パス7を経由して初期ブートローダを行ったりOSファイル11をMMU3に格納したりするよりも高速にブートロードを完了することができる。なぜなら、診断パス7の使用目的は、計算機システム1が備えるハードウェアの初期化などの限られた処理であり、通常の運用時用ではないため、性能よりも安定性や安価であることが求められ、運用で使うアクセスパスよりも転送速度が遅いことが一般的だからである。
【0073】
また、MMU3上に展開したOSファイル11に従って、CPU2やIOP5を含む各ハードウェアの初期設定を完了した後は、IOP5から先に接続されている入出力装置の探索や組み込み処理を複数のCPU2により実行できる(マルチプロセッサで実行できる)ようになる。このため、OSがレディになる前から、速やかにマルチプロセッサでの実行に移行し、複数のCPU2を備えた計算機システム1の諸元を活用できるという効果が得られる。
【0074】
〔第2の実施形態〕
上記の第1の実施形態では、アドレステーブル52が予めIOP5内に格納されている例を説明したが、第2の実施形態では、初期化時に、アドレステーブル52をIOP5に書き込む例を説明する。
【0075】
図4及び図5は、第2の実施形態の場合の計算機システム1を含むネットワークブートロードシステム100の構成を示すブロック図であり、このうち図4はIOP5に対してアドレステーブル52を書き込む前の状態を示し、図5はIOP5に対してアドレステーブル52を書き込んだ後の状態を示す。
【0076】
本実施形態の場合、サーバ8の記憶装置12に、アドレステーブル81が記憶保持されている。
【0077】
そして、本実施形態では、初期化後のブートロードを行うに際し、アドレステーブル81をIOP5の第2制御メモリ50B(上述のように、例えば、RAMからなる)にアドレステーブル52として書き込む。
【0078】
本実施形態では、その書き込み後、該書き込まれたアドレステーブル52に従って、OSファイル11の各データをMMU3に記憶させるように、ネットワークブートロードシステム100は動作する。
【0079】
従って、本実施形態の場合、当初は、図4に示すように、IOP5内にはアドレステーブル52が記憶保持されていない。
【0080】
そして、初期化後のブートロードを行うに際し、アドレステーブル81をIOP5の第2制御メモリ50Bにアドレステーブル52として書き込むことにより、図5に示すように、第2制御メモリ50B内にアドレステーブル52が記憶保持された状態となる。
【0081】
次に、本実施形態の場合の動作を説明する。
【0082】
本実施形態の場合も、計算機システム1に電源が投入されると、診断プロセッサ6は、自身の初期化を行う。そして、診断プロセッサ6自身の初期化が正常に終了すると、診断プロセッサ6は、計算機システム1内の全装置(診断プロセッサ6を除く)の初期化を行う。
【0083】
図6は第2の実施形態の場合におけるネットワークブートロードシステム100の動作の流れを示すフローチャートである。
【0084】
本実施形態の場合も、図6の動作は、診断プロセッサ6により、CPU2、MMU3、SCU4及びIOP5を含む計算機システム1内の各ハードウェアの初期化が終了した時に開始される。
【0085】
すなわち、診断プロセッサ6は、初期化が終了したか否かを監視し、終了したと判断すると、診断パス7を介してIOP5の初期化後フラグ10に初期化後であることを示す値(例えば、「1」)を設定する(ステップS1)。
【0086】
続いて、診断プロセッサ6は、外部サーバ8に対してブートロード要求を送信する(ステップS2)。
【0087】
本実施形態の場合、このブートロード要求を受けた外部サーバ8は、記憶装置12内のアドレステーブル81のデータをOS用ネットワーク13を介してIOP5に送付する(ステップS21)。
【0088】
続いて、IOP5は、外部サーバ8から送付されたアドレステーブル81のデータを受信する(ステップS22)。
【0089】
続いて、IOP5は、初期化後フラグ10を確認する(ステップS23)。
【0090】
初期化後フラグ10の設定内容が、初期化後を示す値(例えば、「1」)でなければ(ステップS23のNo)、図6の処理を終了する。
【0091】
また、初期化後フラグ10の設定内容が、初期化後を示す値(例えば、「1」)であれば(ステップS23のYes)、IOP5は、先のステップS22にて受信したアドレステーブル81のデータを、アドレステーブル52として第2制御メモリ50Bに書き込む(ステップS24)。
【0092】
続いて、外部サーバ8は、上記の第1の実施形態と同様に、記憶装置12内のOSファイル11のデータをOS用ネットワーク13を介してIOP5に送付する(ステップS3)。
【0093】
ステップS3以降の処理は、上記の第1の実施形態と同様であるので、説明を省略する。
【0094】
以上のような第2の実施形態によれば、アドレステーブル52を予めIOP5内に固定的に格納するのではなく、初期化後にブートロードを実行するに際し、外部サーバ8から受信して第2制御メモリ50B内に書き込むようにしたので、外部サーバ8の記憶装置12に記憶するアドレステーブルを適宜に変更することにより、IOP5に書き込まれるアドレステーブルも適宜に変更することができる。
【0095】
具体的には、例えば、アドレステーブル52は、単に、MMU3内におけるOSファイル11の記憶領域を指定するだけでなく、試験診断プログラムなどをMMU3内におけるどの記憶領域に記憶させれば良いかを指定するようにできる。よって、多種のプログラムをMMU3にブートロードできるようになる。
【0096】
具体的には、例えば、OSファイル11のみをブートロードする場合には、OSファイル11の記憶領域のみを指定するアドレステーブル81を外部サーバ8の記憶装置12に記憶しておけばよく、OSファイル11の他に試験診断プログラムをブートロードする場合には、OSファイル11とOSファイル11の記憶領域のみを指定するアドレステーブル81の他に、試験診断プログラムを格納したファイルと、試験診断プログラムの記憶領域を指定する別のアドレステーブルを外部サーバ8の記憶装置12に記憶しておけばよい。
【0097】
なお、上記の各実施形態では、計算機システム1が複数のCPU2を備える例を説明したが、本発明は、この例に限らず、計算機システム1がCPU2を1つだけ備える構成にも適用できる。
【0098】
また、上記の各実施形態では、IOP5と外部サーバ8とを接続するネットワークがイーサネットである例を説明したが、この例に限らず、診断用ネットワーク9及びOSネットワーク13には、infinibandやインターコネクトを適用しても良い。
【0099】
また、上記の第2の実施形態では、アドレステーブル52をIOP5が自身の内部に格納する例を説明したが、診断プロセッサ6が外部サーバ8からアドレステーブル81を受け取り、該受け取ったアドレステーブル81を診断プロセッサ6がアドレステーブル52としてIOP5の第2制御メモリ50Bに書き込むようにしても良い。
【0100】
また、アドレステーブル52を初期化時に書き込む場合に、そのアドレステーブル(アドレステーブル81)を外部サーバ8から受け取る例を説明したが、診断プロセッサ6がアドレステーブル81を予め記憶保持しておき、該アドレステーブル81を初期化時にアドレステーブル52としてIOP5の第2制御メモリ50Bに書き込むようにしても良い。
【0101】
また、上記の各実施形態では、アドレス情報をアドレステーブル52としてIOP5に記憶させる例を説明したが、該アドレステーブル52は、SCU4に記憶させても良い。この場合、IOP5は、外部サーバ8より受信したOSファイル11のデータを、SCU4に記憶されたアドレステーブル52に従って、MMU3における所定の記憶領域に記憶させる動作を行う。
【0102】
また、上記の各実施形態では、アドレス情報は、アドレステーブル52としてIOP5に記憶させる例を説明したが、アドレス情報は、外部サーバ8から送付されるOSファイル11のデータ(例えば、分割データ)のヘッダに記載しても良い。この場合、IOP5は、外部サーバ8から送付されるOSファイル11のデータのヘッダ部分に記載されたアドレス情報を参照することにより、当該データをMMU3におけるどの記憶領域に記憶させればよいかを認識でき、該認識した記憶領域にデータを書き込むことができる。また、この場合、IOP5におけるアドレステーブル52は不要となる。
【0103】
また、上記の実施形態では、計算機システム1がSCU4を備える例を説明したが、SCU4を備えずに構成された計算機システム1の場合は、当然、その初期化も必要がない。
【0104】
また、上記の各実施形態では、プロセッサがCPUである例を説明したが、プロセッサは、DSP(Digital Signal Processor)など、その他のものであっても良い。
【0105】
また、上記の各実施形態では、OSファイル11を複数の分割データに分割して外部サーバ8から送付し、各分割データをそのアドレス情報に従ってMMU3に記憶させる例を説明したが、OSファイル11のデータ量が小さい、或いは、IOP5などの処理能力が大きければ、OSファイル11の全体のデータをまとめて外部サーバ8から送付し、該データをそのアドレス情報に従ってMMU3に記憶させれば良い。
【0106】
また、上記の各実施形態では、記憶装置12が外部サーバ8の外部に設けられている例を説明したが、記憶装置12は外部サーバ8の内部構成としても良いのは勿論である。
【図面の簡単な説明】
【0107】
【図1】第1の実施形態に係る計算機システムを含むネットワークブートロードシステムの構成を示すブロック図である。
【図2】図1に示す各構成要素の詳細な構成を示すブロック図である。
【図3】第1の実施形態の場合におけるネットワークブートロードシステムの動作の流れを示すフローチャートである。
【図4】第2の実施形態の場合の計算機システムを含むネットワークブートロードシステムの構成のブロック図であり、特に、IOPにアドレステーブルを書き込む前の状態を示す。
【図5】第2の実施形態の場合の計算機システムを含むネットワークブートロードシステムの構成のブロック図であり、特に、IOPにアドレステーブルを書き込んだ後の状態を示す。
【図6】第2の実施形態の場合におけるネットワークブートロードシステムの動作の流れを示すフローチャートである。
【符号の説明】
【0108】
1 計算機システム
2 中央処理装置(CPU)
3 主記憶装置(MMU)
4 システム制御装置(SCU)
5 入出力装置(IOP)
6 診断プロセッサ
7 診断パス
8 外部サーバ
9 診断用ネットワーク
10 IOP内部の初期化後フラグ
11 オペレーティングシステムのファイル
12 記憶装置
13 計算機システムと外部サーバを接続するOS用ネットワーク
50A IOP内の第1制御メモリ
50B IOP内の第2制御メモリ
51 IOPを制御するFW
52 IOPの制御メモリに保持するアドレステーブル(アドレス情報)
60 診断プロセッサ用FWを格納するための制御メモリ
61 CPU通信機能用プログラム
62 診断パス制御機能用プログラム
63 装置アクセス機能用プログラム
64 サーバ通信機能用プログラム
81 ブートロードする領域を指定するアドレステーブル(アドレス情報)のファイル
100 ネットワークブートロードシステム

【特許請求の範囲】
【請求項1】
プロセッサと、主記憶装置と、入出力装置と、を備え、ネットワークを介して外部サーバと接続される計算機システムにおいて、
少なくとも前記プロセッサ、前記主記憶装置及び前記入出力装置を含む当該計算機システムを構成するハードウェアの各々に対し、診断パスを介して接続され、該ハードウェアの各々の初期化を行う診断プロセッサを備え、
当該計算機システムは、
OSファイルのブートロードを実行するブートロード実行機能と、
当該計算機システムを構成するハードウェアの初期化直後であるか否かを判定する初期化直後判定機能と、
を備え、
前記初期化直後判定機能は、
前記ハードウェアの初期化後、且つ、前記OSファイルのブートロード完了前の段階である場合に、初期化直後であると判定する機能であり、
前記ブートロード実行機能は、
初期化直後において、当該計算機システムからのブートロード要求に応じて前記外部サーバより送信されるOSファイルのデータを受信し、該受信したデータを所定のアドレス情報に従って前記主記憶装置における所定の記憶領域に書き込む機能であり、
前記ブートロード実行機能を前記入出力装置が実行するようにしたことを特徴とする計算機システム。
【請求項2】
当該計算機システムは、更に、
前記ハードウェアの初期化後に、初期化後であるか否かを示す初期化後フラグを設定するフラグ設定機能と、
前記主記憶装置に対する前記OSファイルの書き込みが完了した場合に、前記初期化後フラグをリセットし、初期化後でない旨を示す値に変更するリセット機能と、
を有し、
前記初期化直後判定機能は、
前記初期化後フラグが初期化後である旨を示す状態の時に、初期化直後であると判定することを特徴とする請求項1に記載の計算機システム。
【請求項3】
前記入出力装置が前記初期化後フラグの記憶領域を有することを特徴とする請求項2に記載の計算機システム。
【請求項4】
前記入出力装置が前記初期化直後判定機能を実行するようにしたことを特徴とする請求項2又は3に記載の計算機システム。
【請求項5】
前記フラグ設定機能及び前記リセット機能を、前記診断プロセッサが実行するようにしたことを特徴とする請求項2乃至4のいずれか一項に記載の計算機システム。
【請求項6】
前記ブートロード実行機能は、前記外部サーバより受信したOSファイルのデータを、前記入出力装置に保持する前記アドレス情報に従って、前記主記憶装置における所定の記憶領域に書き込むことを特徴とする請求項1乃至5のいずれか一項に記載の計算機システム。
【請求項7】
前記アドレス情報は、予め記憶保持されていることを特徴とする請求項6に記載の計算機システム。
【請求項8】
前記初期化後、且つ、前記OSファイルのブートロードの開始前の段階において、前記アドレス情報を書き込むようにしたことを特徴とする請求項6に記載の計算機システム。
【請求項9】
前記アドレス情報を前記外部サーバから入力し、該入力したアドレス情報を前記入出力装置に書き込むことを特徴とする請求項8に記載の計算機システム。
【請求項10】
前記外部サーバより送信されるOSファイルのデータには、前記アドレス情報が含まれ、
前記ブートロード実行機能は、前記外部サーバより受信したOSファイルのデータを、該データに含まれるアドレス情報に従って、前記主記憶装置における所定の記憶領域に書き込むことを特徴とする請求項1乃至5のいずれか一項に記載の計算機システム。
【請求項11】
前記ブートロード要求は、前記診断プロセッサが前記外部サーバに対して出力することを特徴とする請求項1乃至10のいずれか一項に記載の計算機システム。
【請求項12】
前記診断プロセッサは、前記ブートロードが完了したら、前記プロセッサに割り込みをかけ、
前記割り込みを受けた前記プロセッサが、前記主記憶装置にロードされたOSファイルを起動することを特徴とする請求項1乃至11のいずれか一項に記載の計算機システム。
【請求項13】
当該計算機システムは前記プロセッサを複数備えることを特徴とする請求項1乃至12のいずれか一項に記載の計算機システム。
【請求項14】
プロセッサと、主記憶装置と、入出力装置と、を備える計算機システムと、
ネットワークを介して前記計算機システムと接続される外部サーバと、
を備え、
前記計算機システムは、
少なくとも前記プロセッサ、前記主記憶装置及び前記入出力装置を含む当該計算機システムを構成するハードウェアの各々に対し、診断パスを介して接続され、該ハードウェアの各々の初期化を行う診断プロセッサを備え、
前記計算機システムは、
OSファイルのブートロードを実行するブートロード実行機能と、
当該計算機システムを構成するハードウェアの初期化直後であるか否かを判定する初期化直後判定機能と、
を備え、
前記初期化直後判定機能は、
前記ハードウェアの初期化後、且つ、前記OSファイルのブートロード完了前の段階である場合に、初期化直後であると判定する機能であり、
前記ブートロード実行機能は、
初期化直後において、当該計算機システムからのブートロード要求に応じて前記外部サーバより送信されるOSファイルのデータを受信し、該受信したデータを所定のアドレス情報に従って前記主記憶装置における所定の記憶領域に書き込む機能であり、
前記ブートロード実行機能を前記入出力装置が実行するようにしたことを特徴とするネットワークブートロードシステム。
【請求項15】
前記計算機システムは、更に、
前記ハードウェアの初期化後に、初期化後であるか否かを示す初期化後フラグを設定するフラグ設定機能と、
前記主記憶装置に対する前記OSファイルの書き込みが完了した場合に、前記初期化後フラグをリセットし、初期化後でない旨を示す値に変更するリセット機能と、
を有し、
前記初期化直後判定機能は、
前記初期化後フラグが初期化後である旨を示す状態の時に、初期化直後であると判定することを特徴とする請求項14に記載のネットワークブートロードシステム。
【請求項16】
前記入出力装置が前記初期化後フラグの記憶領域を有することを特徴とする請求項15に記載のネットワークブートロードシステム。
【請求項17】
前記入出力装置が前記初期化直後判定機能を実行するようにしたことを特徴とする請求項15又は16に記載のネットワークブートロードシステム。
【請求項18】
前記フラグ設定機能及び前記リセット機能を、前記診断プロセッサが実行するようにしたことを特徴とする請求項15乃至17のいずれか一項に記載のネットワークブートロードシステム。
【請求項19】
前記ブートロード実行機能は、前記外部サーバより受信したOSファイルのデータを、前記入出力装置に保持された前記アドレス情報に従って、前記主記憶装置における所定の記憶領域に書き込むことを特徴とする請求項14乃至18のいずれか一項に記載のネットワークブートロードシステム。
【請求項20】
前記アドレス情報は、予め記憶保持されていることを特徴とする請求項19に記載のネットワークブートロードシステム。
【請求項21】
前記外部サーバより送信されるOSファイルのデータには、前記アドレス情報が含まれ、
前記ブートロード実行機能は、前記外部サーバより受信したOSファイルのデータを、該データに含まれるアドレス情報に従って、前記主記憶装置における所定の記憶領域に書き込むことを特徴とする請求項14乃至18のいずれか一項に記載のネットワークブートロードシステム。
【請求項22】
前記診断プロセッサは、前記ブートロードが完了したら、前記プロセッサに割り込みをかけ、
前記割り込みを受けた前記プロセッサが、前記主記憶装置にロードされたOSファイルを起動することを特徴とする請求項14乃至21のいずれか一項に記載のネットワークブートロードシステム。
【請求項23】
前記計算機システムは前記プロセッサを複数備えることを特徴とする請求項14乃至22のいずれか一項に記載のネットワークブートロードシステム。
【請求項24】
プロセッサと、主記憶装置と、入出力装置と、を備え、ネットワークを介して外部サーバと接続される計算機システムがブートロードを行う方法において、
少なくとも前記プロセッサ、前記主記憶装置及び前記入出力装置を含む前記計算機システムを構成するハードウェアの各々の初期化を行う第1の過程と、
前記ハードウェアの初期化後、且つ、前記OSファイルのブートロード完了前の段階である場合に、初期化直後であると判定する第2の過程と、
前記第2の過程により初期化直後であると判定された場合において、前記計算機システムからのブートロード要求に応じて前記外部サーバより送信されるOSファイルのデータを、前記入出力装置が受信する第3の過程と、
前記第3の過程において受信したOSファイルのデータを、前記入出力装置が所定のアドレス情報に従って前記主記憶装置における所定の記憶領域に書き込む第4の過程と、
を備えることを特徴とするブートロード方法。
【請求項25】
前記ハードウェアの初期化後に、初期化後であるか否かを示す初期化後フラグを設定する第5の過程と、
前記主記憶装置に対する前記OSファイルの書き込みが完了した場合に、前記初期化後フラグをリセットし、初期化後でない旨を示す値に変更する第6の過程と、
を更に備え、
前記第2の過程では、前記初期化後フラグが初期化後である旨を示す状態の時に、初期化直後であると判定することを特徴とする請求項24に記載のブートロード方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate