JP2014182706A - サーバ装置、ネットワークブートシステム、ネットワークブート方法、及びプログラム - Google Patents

サーバ装置、ネットワークブートシステム、ネットワークブート方法、及びプログラム Download PDF

Info

Publication number
JP2014182706A
JP2014182706A JP2013057881A JP2013057881A JP2014182706A JP 2014182706 A JP2014182706 A JP 2014182706A JP 2013057881 A JP2013057881 A JP 2013057881A JP 2013057881 A JP2013057881 A JP 2013057881A JP 2014182706 A JP2014182706 A JP 2014182706A
Authority
JP
Japan
Prior art keywords
information
cache
boot
terminal device
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013057881A
Other languages
English (en)
Other versions
JP5927134B2 (ja
Inventor
Kimihiro Iwasaki
公寛 岩崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Data Group Corp
Original Assignee
NTT Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Data Corp filed Critical NTT Data Corp
Priority to JP2013057881A priority Critical patent/JP5927134B2/ja
Publication of JP2014182706A publication Critical patent/JP2014182706A/ja
Application granted granted Critical
Publication of JP5927134B2 publication Critical patent/JP5927134B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】ネットワークブートにおけるOSの起動時間を低減する。
【解決手段】端末装置がネットワークを介してOSを起動するネットワークブートシステムのサーバ装置は、端末装置とネットワークを介して接続され、端末装置にブートローダーを提供し、ブートローダーは、記憶装置を仮想記憶装置として接続して通信するとともに、OSを端末装置に読み込むための起動情報を取得する取得処理であって、キャッシュ記憶部に起動情報が記憶されている場合に、キャッシュ記憶部から起動情報を取得し、キャッシュ記憶部に起動情報が記憶されていない場合に、仮想記憶装置から起動情報を取得する取得処理と、仮想記憶装置から起動情報を取得した場合に、取得した起動情報をキャッシュ記憶部に記憶させるキャッシュ記憶処理と、起動情報に基づいて、OSを端末装置に読み込んで、OSを起動する起動処理と、を端末装置に実行させる。
【選択図】図1

Description

本発明は、サーバ装置、ネットワークブートシステム、ネットワークブート方法、及びプログラムに関する。
近年、ネットワークを介してオペレーティングシステム(以下、OS(オーエス)という)を起動するネットワークブートを用いたシステム(以下、ネットワークブートシステムという)が知られている。このようなネットワークブートシステムは、ネットワークブートによりOSを起動するクライアント端末などの端末装置と、端末装置が起動するOSを記憶するサーバ装置とを備えている。このようなネットワークブートシステムでは、端末装置は、起動する際に、ネットワークを介してサーバ装置からOSを端末装置上に読み込んで、OSを起動する。
なお、このようなネットワークブートシステムに関連した技術として、例えば、特許文献1に記載の技術が開示されている。
特開2010−231494号公報
ところで、上述のようなネットワークブートシステムでは、起動の際に毎回、OSを読み込む必要があるため、例えば、複数台の端末装置が起動する場合には、ネットワークの負荷が増大して起動に時間がかかることがあるという問題がある。
このような問題に対して、例えば、特許文献1には、処理に応じて、独立したネットワークを用いることで、ネットワークの負荷を改善する技術が記載されている。しかしながら、特許文献1に記載の技術では、OSの読み込み自体の処理を軽減するものではなく、例えば、端末装置の台数が多い場合には、依然としてOSの起動に時間がかかることがある。
本発明は、上記問題を解決すべくなされたもので、その目的は、ネットワークブートにおけるOSの起動時間を低減することができるサーバ装置、ネットワークブートシステム、ネットワークブート方法、及びプログラムを提供することにある。
上記問題を解決するために、本発明の一態様は、端末装置と、前記端末装置上で動作するオペレーティングシステムを記憶する記憶装置とがネットワークを介して接続され、前記端末装置が前記ネットワークを介して前記オペレーティングシステムを起動するネットワークブートシステムが備えるサーバ装置であって、前記記憶装置から読み出した情報を記憶するキャッシュ記憶部を備える前記端末装置とネットワークを介して接続され、前記端末装置からの要求に応じて、前記端末装置にブートローダーを供給し、前記ブートローダーは、前記記憶装置を仮想記憶装置として接続して通信するとともに、前記オペレーティングシステムを前記端末装置に読み込むための情報を示す起動情報を取得する取得処理であって、前記キャッシュ記憶部に前記起動情報が記憶されている場合に、前記キャッシュ記憶部から前記起動情報を取得し、前記キャッシュ記憶部に前記起動情報が記憶されていない場合に、前記仮想記憶装置から前記起動情報を取得する取得処理と、前記仮想記憶装置から前記起動情報を取得した場合に、取得した前記起動情報を前記キャッシュ記憶部に記憶させるキャッシュ記憶処理と、前記起動情報に基づいて、前記仮想記憶装置から前記オペレーティングシステムを前記端末装置に読み込んで、前記オペレーティングシステムを起動する起動処理と、を前記端末装置に実行させることを特徴とするサーバ装置である。
また、本発明の一態様は、上記のサーバ装置において、前記ブートローダーは、前記取得処理において、前記キャッシュ記憶部に前記起動情報が記憶されているか否かを、前記仮想記憶装置が前記起動情報を記憶している領域が有する複数の単位領域それぞれに対して示すキャッシュマップ情報に基づいて、前記起動情報に対応する前記単位領域ごとに、前記キャッシュ記憶部に前記起動情報が記憶されているか否かを判定し、前記起動情報に対応する前記単位領域に記憶されている情報を示す起動単位情報が前記キャッシュ記憶部に記憶されている場合に、前記キャッシュ記憶部が記憶する前記起動単位情報を前記起動情報として取得し、前記起動単位情報が前記キャッシュ記憶部に記憶されていない場合に、前記仮想記憶装置が記憶する前記起動単位情報を前記起動情報として取得し、キャッシュ記憶処理において、前記仮想記憶装置から前記起動単位情報を取得した場合に、取得した前記起動単位情報を前記キャッシュ記憶部に記憶させるとともに、前記キャッシュマップ情報のうちの、取得した前記起動単位情報に対応する情報を変更することを特徴とする。
また、本発明の一態様は、上記のサーバ装置において、前記端末装置は、前記仮想記憶装置がオペレーティングシステムを記憶しているオペレーティングシステム領域に対応し、前記オペレーティングシステム領域に記憶されている情報が前記キャッシュ記憶部に記憶されているか否かを、前記オペレーティングシステム領域が有する複数の前記単位領域それぞれに対して示す前記キャッシュマップ情報を記憶するマップ記憶部を備え、前記ブートローダーは、前記起動処理において、前記オペレーティングシステムを前記仮想記憶装置から読み込むフィルタドライバを前記起動情報として取得する処理を含み、前記フィルタドライバは、前記キャッシュマップ情報に基づいて、前記オペレーティングシステムに対応する前記単位領域に記憶されている情報を示すシステム単位情報が前記キャッシュ記憶部に記憶されているか否かを判定する処理と、前記システム単位情報が前記キャッシュ記憶部に記憶されていると判定した場合に、前記キャッシュ記憶部が記憶する前記システム単位情報を前記オペレーティングシステムとして読み込む処理と、前記システム単位情報が前記キャッシュ記憶部に記憶されていないと判定した場合に、前記仮想記憶装置が記憶する前記システム単位情報を前記オペレーティングシステムとして取得する処理と、前記仮想記憶装置から前記システム単位情報を読み込んだ場合に、読み込んだ前記システム単位情報を前記キャッシュ記憶部に記憶させるとともに、前記キャッシュマップ情報のうちの、取得した前記システム単位情報に対応する情報を変更する処理とを前記端末装置に実行させることを特徴とする。
また、本発明の一態様は、上記のサーバ装置において、前記仮想記憶装置は、前記単位領域に記憶されている情報が更新されたか否かを示す差分マップ情報と前記オペレーティングシステムのバージョンを示すバージョン識別情報とを関連付けて記憶しており、前記オペレーティングシステム領域は、前記起動情報を記憶している領域を含み、前記ブートローダーは、前記取得処理において、前記差分マップ情報と前記バージョン識別情報とを前記仮想記憶装置から取得し、取得した前記バージョン識別情報に基づいて、前記オペレーティングシステムが更新されているか否かを判定し、前記オペレーティングシステムが更新されていると判定した場合には、前記仮想記憶装置が記憶する前記起動情報を取得し、前記フィルタドライバは、前記オペレーティングシステムが更新されていると判定された場合に、前記差分マップ情報に基づいて、前記キャッシュマップ情報を更新し、更新した前記キャッシュマップ情報に基づいて、前記オペレーティングシステムを前記仮想記憶装置から読み込むことを特徴とする。
また、本発明の一態様は、端末装置と、前記端末装置上で動作するオペレーティングシステムを記憶する記憶装置とがネットワークを介して接続され、前記端末装置が前記ネットワークを介して前記オペレーティングシステムを起動するネットワークブートシステムであって、ネットワークを介して、前記端末装置と接続され、前記端末装置からの要求に応じて、前記端末装置にブートローダーを供給するサーバ装置を備え、前記端末装置は、前記記憶装置から読み出した情報を記憶するキャッシュ記憶部を備え、前記サーバ装置から供給されたブートローダーは、前記記憶装置を仮想記憶装置として接続して通信するとともに、前記オペレーティングシステムを前記端末装置に読み込むための情報を示す起動情報を取得する処理であって、前記キャッシュ記憶部に前記起動情報が記憶されている場合に、前記キャッシュ記憶部から前記起動情報を取得し、前記キャッシュ記憶部に前記起動情報が記憶されていない場合に、前記記憶装置から前記起動情報を取得する取得処理と、前記仮想記憶装置から前記起動情報を取得した場合に、取得した前記起動情報を前記キャッシュ記憶部に記憶させるキャッシュ記憶処理と、前記起動情報に基づいて、前記オペレーティングシステムを前記端末装置に読み込んで、前記オペレーティングシステムを起動する起動処理と、を前記端末装置に実行させることを特徴とするネットワークブートシステムである。
また、本発明の一態様は、端末装置と、前記端末装置上で動作するオペレーティングシステムを記憶する記憶装置と、サーバ装置とがネットワークを介して接続され、前記端末装置が前記ネットワークを介して前記オペレーティングシステムを起動するネットワークブートシステムのネットワークブート方法であって、前記サーバ装置が、前記端末装置からの要求に応じて、前記端末装置にブートローダーを、ネットワークを介して供給する供給ステップと、前記端末装置が、前記サーバ装置から供給された前記ブートローダーにしたがって、前記記憶装置を仮想記憶装置として接続して通信するとともに、前記オペレーティングシステムを前記端末装置に読み込むための情報を示す起動情報を取得する取得ステップであって、前記仮想記憶装置から読み出した情報を記憶するキャッシュ記憶部に前記起動情報が記憶されている場合に、前記キャッシュ記憶部から前記起動情報を取得し、前記キャッシュ記憶部に前記起動情報が記憶されていない場合に、前記仮想記憶装置から前記起動情報を取得する取得ステップと、前記端末装置が、前記ブートローダーにしたがって、前記仮想記憶装置から前記起動情報を取得した場合に、取得した前記起動情報を前記キャッシュ記憶部に記憶させるキャッシュ記憶ステップと、前記端末装置が、前記ブートローダーにしたがって、前記起動情報に基づいて、前記オペレーティングシステムを前記端末装置に読み込んで、前記オペレーティングシステムを起動する起動ステップと、を含むことを特徴とするネットワークブート方法である。
また、本発明の一態様は、端末装置と、前記端末装置上で動作するオペレーティングシステムを記憶する記憶装置とがネットワークを介して接続され、前記端末装置がネットワークを介して前記記憶装置が記憶するオペレーティングシステムを起動するネットワークブートシステムの端末装置としてのコンピュータに、前記端末装置が、前記記憶装置を仮想記憶装置として接続して通信するとともに、前記オペレーティングシステムを前記端末装置に読み込むための情報を示す起動情報を取得する取得ステップであって、前記仮想記憶装置から読み出した情報を記憶するキャッシュ記憶部に前記起動情報が記憶されている場合に、前記キャッシュ記憶部から前記起動情報を取得し、前記キャッシュ記憶部に前記起動情報が記憶されていない場合に、前記仮想記憶装置から前記起動情報を取得する取得ステップと、前記端末装置が、前記仮想記憶装置から前記起動情報を取得した場合に、取得した前記起動情報を前記キャッシュ記憶部に記憶させるキャッシュ記憶ステップと、前記端末装置が、前記起動情報に基づいて、前記オペレーティングシステムを前記端末装置に読み込んで、前記オペレーティングシステムを起動する起動ステップと、を実行させるためのプログラムである。
本発明によれば、ネットワークブートにおけるオペレーティングシステムの起動時間を低減することができる。
本実施形態によるネットワークブートシステムの一例を示す機能ブロック図である。 本実施形態におけるキャッシュ記憶部のデータ構成の一例を示す図である。 本実施形態におけるキャッシュマップ情報のデータ構成の一例を示す図である。 本実施形態における仮想ディスクのデータ構成の一例を示す図である。 本実施形態におけるネットワークブートシステムに用いるブートローダーのモジュール構成の一例を示すブロック図である。 本実施形態におけるネットワークブートの処理手順の一例を示すシーケンス図である。 第1の実施形態におけるブートローダーによるデータ取得処理の一例を示すフローチャートである。 第1の実施形態におけるフィルタドライバによるデータ取得処理の一例を示すフローチャートである。 第1の実施形態におけるキャッシュ処理の一例を示す第1の図である。 第1の実施形態におけるキャッシュ処理の一例を示す第2の図である。 第1の実施形態におけるキャッシュ処理の一例を示す第3の図である。 第1の実施形態におけるキャッシュ処理の一例を示す第4の図である。 第1の実施形態におけるキャッシュ処理の一例を示す第5の図である。 第1の実施形態におけるキャッシュマップ情報のマージ処理の一例を示す図である。 第2の実施形態におけるブートローダーによるデータ取得処理の一例を示すフローチャートである。 第3の実施形態におけるブートローダーによるデータ取得処理の一例を示すフローチャートである。
以下、本発明の一実施形態によるネットワークブートシステムにつて、図面を参照して説明する。
図1は、本実施形態によるネットワークブートシステム1の一例を示す機能ブロック図である。
この図において、ネットワークブートシステム1は、ブート端末2と、ブートサーバ3と、記憶装置4とを備えており、ブート端末2と、ブートサーバ3と、記憶装置4とは、ネットワーク5を介して接続されている。
ネットワークブートシステム1は、ブート端末2がネットワーク5を介してオペレーティングシステム(以下、OSという)を起動するネットワークブートを実行するシステムである。
また、本実施形態では、一例として、ブート端末2が、OSとして、Windows(登録商標)を起動する場合の例を説明する。
ブート端末2(端末装置)は、例えば、クライアント端末などのコンピュータ装置であり、ネットワーク5を介して、記憶装置4からOSを読み込み(ダウンロードし)、OSを起動する。ブート端末2は、ローカルディスク20と、制御部23とを備えている。
なお、図1において、1台のブート端末2がブートサーバ3及び記憶装置4に接続する一例について説明しているが、複数台のブート端末2がネットワーク5を介して、ブートサーバ3及び記憶装置4に接続されてもよい。
制御部23は、例えば、CPU(Central Processing Unit)などを含むプロセッサであり、ブート端末2を統括的に制御する。制御部23は、後述するブートローダー10(図5)、フィルタドライバ(不図示)などのプログラムを例えば、RAM(Random Access Memory)などの物理メモリ(不図示)に読み込むとことにより、ブートローダー10やフィルタドライバなどの仮想の処理部として機能する。
ローカルディスク20は、例えば、ハードディスクなどの記憶装置であり、マップ記憶部22とキャッシュ記憶部21とを備えている。
キャッシュ記憶部21は、記憶装置4(仮想ディスク40)からブート端末2に読み込んだ情報をセクタ単位で記憶する。キャッシュ記憶部21は、前回にOSを起動した際に使用したOSのバージョン(又はリビジョン)を識別する識別情報(前回起動バージョン識別情報)と、記憶装置4から読み出した情報(キャッシュデータ)とを関連付けて記憶している。このキャッシュ記憶部21が記憶する情報は、再度、記憶装置4(仮想ディスク40)から同一の情報(同一セクタに記憶されている情報)を取得する場合に、キャッシュデータとして利用される。ここで、図2を参照して、キャッシュ記憶部21が記憶するデータ構成について説明する。
図2は、本実施形態におけるキャッシュ記憶部21のデータ構成の一例を示す図である。
この図において、キャッシュ記憶部21は、キャッシュヘッダ領域21Aと、キャッシュデータブロック領域21Bとを有している。
キャッシュヘッダ領域21Aは、「メインバージョン情報」及び「サブバージョン情報」を記憶する。この「メインバージョン情報」及び「サブバージョン情報」は、OSのバージョン(又はリビジョン)を識別するための識別情報であり、ここで示すバージョンの識別情報は、ブート端末2が前回起動した際のOSのバーションを示している。すなわち、キャッシュヘッダ領域21Aには、ブート端末2が起動するごとに、記憶装置4(後述する仮想ディスク40)から読み出されたOSのバージョンを示す「メインバージョン情報」及び「サブバージョン情報」が記憶される。
また、キャッシュデータブロック領域21Bは、OSを起動する際に記憶装置4(後述する仮想ディスク40)から読み出す情報をキャッシュデータとして記憶する。キャッシュデータブロック領域21Bは、例えば、後述する仮想ディスク40のOS領域41(図4)と同一の容量を有し、仮想ディスク40のOS領域41に記憶されている情報をセクタ単位で記憶できるように構成されている。
図1に戻り、マップ記憶部22は、後述するキャッシュ処理を実行する際に利用されるキャッシュマップ情報を記憶する。ここで、キャッシュマップ情報とは、記憶装置4(後述する仮想ディスク40)が有する複数のセクタ(複数の単位領域)それぞれに記憶されている情報(データ)がキャッシュ記憶部21に記憶されているか否かを示す情報である。キャッシュマップ情報は、例えば、記憶装置4(後述する仮想ディスク40)が有する複数のセクタのそれぞれに対応付けられたビットマップ情報である。ここで、図3を参照して、マップ記憶部22が記憶するキャッシュマップ情報のデータ構成について説明する。
図3は、本実施形態におけるキャッシュマップ情報のデータ構成の一例を示す図である。
図3に示すように、ビットマップ情報は、複数のビット情報を有するビットマップ情報である。このビットマップ情報の各ビット情報は、マップ記憶部22が記憶しているキャッシュマップ情報を示している。図3に示すように、キャッシュマップ情報は、仮想ディスク40のOS領域41(図4)が有する各セクタに対応するビット情報を有している。ここで、ビット情報の値が“1”である場合に、このビット情報に対応するセクタが記憶する情報が、既にキャッシュ記憶部21に記憶されていることを示している。また、ビット情報の値が“0”である場合に、このビット情報に対応するセクタが記憶する情報が、キャッシュ記憶部21に記憶していないことを示している。
このように、キャッシュマップ情報は、仮想ディスク40のOS領域41(図4)の各セクタのデータがキャッシュ記憶部21に記憶されている場合に、“1”を示し、キャッシュ記憶部21に記憶されていない場合に、“0”を示す。
再び、図1に戻り、ブートサーバ3(サーバ装置)は、ネットワークブートを実施するためのサーバ装置であり、例えば、DHCP(Dynamic Host Configuration Protocol)サーバ31、PXE(Preboot Execution Environment)サーバ32、及びTFTP(Trivial File Transfer Protocol)サーバ33などのコンピュータ装置を含んでいる。
DHCPサーバ31は、ブート端末2がネットワーク5に接続する際に必要な情報を自動的に割り当てる。
PXEサーバ32は、ブート端末2の起動する際に、ブート端末2がマウントする仮想ディスク40などを取得するためのサーバ装置である。
TFTPサーバ33は、ネットワークブートに必要な、ブートローダー10をブート端末2に供給するサーバ装置である。TFTPサーバ33は、ブート端末2とネットワーク5を介して接続され、ブート端末2からの要求に応じて、ブート端末2にブートローダー10を供給する。また、TFTPサーバ33は、BL供給部34を備えており、BL供給部34は、後述するブートモジュール11、及びiSCSI(Internet Small Computer System Interface)通信モジュール30をブートローダー10として、ブート端末2に供給する。
記憶装置4は、例えば、iSCSIストレージ装置であり、ネットワーク5を介してブート端末2と接続され、ブート端末2が起動するOSをディスクイメージデータとして記憶している。記憶装置4は、仮想ディスク40(仮想記憶装置)を有しており、ブート端末2の仮想ディスクとして機能する。ここで、図4を参照して、仮想ディスク40のデータ構成の一例について説明する。
図4は、本実施形態における仮想ディスク40のデータ構成の一例を示す図である。
図4(a)に示すように、仮想ディスク40は、OS領域41(OSイメージパーティション)と、差分管理領域42(差分パーティション)とを備えている。
OS領域41において、「OSイメージ」は、OSを含みディスクイメージデータ示しており、「未使用」は、未使用の領域を示している。
また、差分管理領域42は、OSの更新情報を管理する領域であり、「Ver管理情報」と複数の「差分情報」(各バージョンの差分情報)とを記憶している。
また、「Ver管理情報」は、図4(b)に示すように、「メインバージョン情報」と、「現在バージョン情報」と、「各バージョンのオフセット情報」とを有している。すなわち、差分管理領域42は、「メインバージョン情報」と、「現在バージョン情報」と、「各バージョンのオフセット情報」とを関連付けて、「Ver管理情報」として記憶している。ここで、「現在バージョン情報」は、現在のサブバージョンを示しており、「各バージョンのオフセット情報」は、複数の「差分情報」(各バージョンの差分情報)のそれぞれに対応する仮想ディスク40の位置(差分情報の先頭位置)を示している。
また、複数の「差分情報」(各バージョンの差分情報)のそれぞれには、図4(c)に示すように、「サブバージョン情報」と「差分マップ情報」とを有している。すなわち、差分管理領域42は、「サブバージョン情報」と「差分マップ情報」と関連付けた「差分情報」として記憶している。なお、「差分マップ情報」は、OS領域41の各セクタ(単位領域)に記憶されている情報が更新されたか否かを示すビットマップ情報であり、例えば、図3に示す、キャッシュマップ情報と同様の構成をしている。ただし、「差分マップ情報」では、ビット情報の値が“1”である場合に、このビット情報に対応するセクタが記憶する情報が、OSのバージョン変更(更新)によって、変更されていることを示している。また、ビット情報の値が“0”である場合に、このビット情報に対応するセクタが記憶する情報が、OSのバージョン変更(更新)によって、変更されていないことを示している。
なお、図4に示す例では、差分管理領域42は、「差分情報」として、「Ver1」〜「VerN」のN回分のバージョン変更の差分を管理できるように構成されている。
次に、本実施形態におけるブート端末2がネットワークブートを行う際のモジュール構成について説明する。
図5は、本実施形態におけるネットワークブートシステム1に用いるブートローダー10のモジュール構成の一例を示すブロック図である。
この図において、ブート端末2は、ブートローダー10と、ローカルディスク20とを備え、ネットワーク5を介して仮想ディスク40に接続されている。
この図において、図1〜図4に示す構成と同一の構成については同一の符号を付し、その説明を省略する。
ブートローダー10は、ブート端末2をネットワークブートで起動する際に、TFTPサーバ33から供給されるモジュール(プログラム)であり、ここでは、制御部23と物理メモリ(不図示)に読み込んだプログラムとで実現される処理部である。
ブートローダー10は、記憶装置4を仮想ディスク40として接続して通信するとともに、OSをブート端末2に読み込むための情報を示す起動情報を取得する取得処理をブート端末2に実行させる。ここで、起動情報には、例えば、MBR(Master Boot Record)、ブートセクタ、ブートマネージャなどの情報、及びOS用のドライバ(例えば、Windows(登録商標)ドライバ)などが含まれる。
また、ブートローダー10は、上述の取得処理の際に、例えば、キャッシュ記憶部21に起動情報が記憶されている場合に、キャッシュ記憶部21から起動情報を取得し、キャッシュ記憶部21に起動情報が記憶されていない場合に、仮想ディスク40から起動情報を取得する。
具体的に、ブートローダー10は、マップ記憶部22が記憶するキャッシュマップ情報に基づいて、起動情報に対応するセクタ単位の情報(起動単位情報)がキャッシュ記憶部21に既に記憶されているか否かを、セクタごとに判定する。ブートローダー10は、このセクタ単位の情報がキャッシュ記憶部21に既に記憶されていると判定した場合に、キャッシュ記憶部21が記憶する情報をセクタ単位の情報として取得する。また、ブートローダー10は、このセクタ単位の情報がキャッシュ記憶部21に記憶されていないと判定した場合に、ネットワーク5を介して、対応するセクタ単位の情報を仮想ディスク40から取得する。ここで、「セクタ単位の情報」とは、起動情報に対応するセクタに記憶されているデータ(情報)を示す。
また、ブートローダー10は、仮想ディスク40から起動情報を取得した場合に、取得した起動情報をキャッシュ記憶部21に記憶させるキャッシュ記憶処理をブート端末2に実行させる。例えば、ブートローダー10は、起動情報に対応するセクタ単位の情報のうちの、仮想ディスク40から取得したセクタ単位の情報を、キャッシュ記憶部21に記憶させるともに、マップ記憶部22が記憶するキャッシュマップ情報のうちの、取得したセクタ単位の情報に対応するビット情報の値を“1”に変更する。
このように、ブートローダー10は、仮想ディスク40から起動情報を読み込む(取得する)際に、キャッシュ処理を実行する。
また、ブートローダー10は、取得した起動情報に基づいて、仮想ディスク40のOS領域41からOSをブート端末2に読み込んで、OSを起動する起動処理をブート端末2に実行させる。
また、ブートローダー10は、起動処理において、OSを仮想ディスク40から読み込むフィルタドライバを起動情報として取得する処理を含んでいる。このフィルタドライバの詳細については、後述する。
また、ブートローダー10は、ブートモジュール11と、iSCSI通信モジュール30とを有している。例えば、ブートサーバ3のTFTPサーバ33は、ブートモジュール11と、iSCSI通信モジュール30とをブートローダー10としてネットワーク5を介してブート端末2に供給する。
ブートモジュール11は、ブート端末2にiSCSI通信モジュール30を読み込ませる処理を実行する。
iSCSI通信モジュール30は、上述した取得処理、キャッシュ記憶処理、及び起動処理を実行する。また、iSCSI通信モジュール30は、キャッシュモジュール12と仮想ディスクモジュール13とを有している。
キャッシュモジュール12は、取得処理、及びキャッシュ記憶処理におけるマップ記憶部22及びキャッシュ記憶部21に対する制御(キャッシュ制御)を主に実行する。また、仮想ディスクモジュール13は、例えば、iSCSIインターフェースの制御を行って、仮想ディスク40へのアクセス(通信)を制御する。
なお、本実施形態におけるネットワークブートシステム1は、このiSCSI通信モジュール30が起動することにより、仮想ディスク40からの読み込みに対して上述したキャッシュ制御が動作する。これにより、本実施形態におけるネットワークブートシステム1は、ブート端末2を起動する際に、ネットワークの負荷を軽減することができる。
次に、本実施形態におけるネットワークブートシステム1の動作について図面を参照して説明する。
図6は、本実施形態におけるネットワークブートの処理手順の一例を示すシーケンス図である。
この図において、ブート端末2に電源が投入されると、ブート端末2は、まず、ブートサーバ3のDHCPサーバ31に“DHCP Discover”を出力する(ステップS101)。
この“DHCP Discover”は、ブート端末2がDHCPサーバ31を発見するためのメッセージであり、このメッセージに対して、DHCPサーバ31は、“DHCP Offer”として、ネットワーク5に接続するための設定値の候補をブート端末2に出力すする(ステップS102)。
次に、ブート端末2は、“DHCP Request”(設定値の取得依頼)をDHCPサーバ31に出力する(ステップS103)。
これに対して、DHCPサーバ31は、設定値の取得が正常に終了したことを示すメッセージとして“DHCP Ack”をブート端末2に出力する(ステップS104)。
次に、ブート端末2は、“DHCP Request”をPXEサーバ32に出力する(ステップS105)。ここでは、ブート端末2は、例えば、TFTPサーバ33の情報などをPXEサーバ32に要求する。
これに対して、PXEサーバ32は、要求されたTFTPサーバ33の情報などを“DHCP Ack”としてブート端末2に出力する(ステップS106)。
次に、ブート端末2は、ブートローダー10のブートモジュール11を要求する“TFTP Read Request”をTFTPサーバ33に出力する(ステップS107)。
これに対して、TFTPサーバ33は、要求されたブートモジュール11をブート端末2に供給する(ステップS108)。すなわち、TFTPサーバ33のBL供給部34が、ネットワーク5を介して、ブートモジュール11をブート端末2に供給し、ブート端末2は、ブートモジュール11を読み込む(ダウンロードする)。これにより、ブート端末2は、ブートモジュール11を起動する。
次に、ブート端末2は、ブートローダー10のiSCSI通信モジュール30を要求する“TFTP Read Request”をTFTPサーバ33に出力する(ステップS109)。すなわち、ブートローダー10が起動され、ブートモジュール11にしたがって、ブート端末2は、ブートローダー10のiSCSI通信モジュール30を要求する。
これに対して、TFTPサーバ33は、要求されたiSCSI通信モジュール30をブート端末2に供給する(ステップS110)。すなわち、TFTPサーバ33のBL供給部34が、ネットワーク5を介して、iSCSI通信モジュール30をブート端末2に供給し、ブート端末2は、iSCSI通信モジュール30を読み込む(ダウンロードする)。これにより、ブート端末2は、iSCSI通信モジュール30を起動する。
次に、ブート端末2は、iSCSI通信モジュール30にしたがって、記憶装置4との間に、iSCSIインターフェースのセッションを確立する(ステップS111)。これにより、ブート端末2は、記憶装置4を仮想ディスク40としてマウントする。
次に、ブート端末2は、ブートモジュール11、及びiSCSI通信モジュール30にしたがって、MBR、ブートセクタ、及びブートマネージャを記憶装置4からロードする(ステップS112)。なお、ブートモジュール11は、iSCSI通信モジュール30を呼び出して、iSCSI通信モジュール30に、MBR、ブートセクタ、及びブートマネージャを記憶装置4からロードさせる。すなわち、ブートローダー10は、OSをブート端末2に読み込むための情報である起動情報として、MBR、ブートセクタ、及びブートマネージャを仮想ディスク40から読み込む。
なお、ブートローダー10は、このステップS112の処理において、MBR、ブートセクタ、及びブートマネージャを仮想ディスク40から読み込む際に、上述した取得処理、及びキャッシュ記憶処理によるキャッシュ処理を実行する。すなわち、ブートローダー10は、取得処理において、キャッシュ記憶部21に起動情報が記憶されているか否かを、マップ記憶部22が記憶するキャッシュマップ情報に基づいて、起動情報に対応するセクタごとに、キャッシュ記憶部21に起動情報が記憶されているか否かを判定する。ブートローダー10は、起動情報に対応するセクタに記憶されているデータ(起動単位情報)がキャッシュ記憶部21に記憶されている場合に、キャッシュ記憶部21が記憶するデータを起動情報として取得する。また、ブートローダー10は、起動情報に対応するセクタに記憶されているデータがキャッシュ記憶部21に記憶されていない場合に、仮想ディスク40が記憶するデータを起動情報として取得する。また、ブートローダー10は、キャッシュ記憶処理において、仮想ディスク40からデータを取得した場合に、取得したデータをキャッシュ記憶部21に記憶させるとともに、キャッシュマップ情報のうちの、取得したデータ(セクタ)に対応するビット情報の値を“1”に変更する。
次に、ブート端末2は、取得したMBR、ブートセクタ、及びブートマネージャに基づいて、OS用ドライバを仮想ディスク40からロードする(ステップS113)。なお、起動情報は、OS用ドライバを含み、ブートローダー10は、OS用ドライバを仮想ディスク40から読み込む際に、ステップS112の処理と同様に、キャッシュ処理を実行する。
なお、図6において、ステップS109〜ステップS113までの処理が、ブートローダー10による処理(ブートローダー処理OP1)対応し、ステップS109〜ステップS112までの処理が、ブートモジュール11による処理(ブートモジュール処理OP11)に対応する。また、ステップS111〜ステップS113までの処理が、iSCSI通信モジュール30による処理(iSCSI通信モジュール処理OP12)対応する。
ブートモジュール11にしたがって、
次に、ブート端末2は、読み込んだOS用ドライバにより、OS及びフィルタドライバを起動し、仮想ディスク40をマウントし(ステップS114)、仮想ディスク40から、OSの各種ファイルを取得し、OSを起動する(ステップS115)。なお、ステップS114以降の処理が、OSによる処理(OS処理OP2)及びフィルタドライバによる処理(OP21)に対応する。フィルタドライバは、ステップS114以降において、仮想ディスク40から読み出すデータに対して、キャッシュ処理を実行する。このキャッシュ処理については、後述する。
なお、図6において、期間T1は、ブートローダー10によるキャッシュ処理が実行される期間を示し、期間T2は、フィルタドライバによるキャッシュ処理が実行される期間を示しめしている。
次に、図面を参照して、本実施形態におけるキャッシュ処理について詳細に説明する。
[第1の実施形態]
本実施形態では、ブートローダー10及びフィルタドライバによる擬似差分キャッシュ処理の一例について説明する。
まず、図7を参照して、ブートローダー10によるキャッシュ処理について説明する。
<ブートローダー10のキャッシュ処理>
図7は、第1の実施形態におけるブートローダー10によるデータ取得処理の一例を示すフローチャートである。
図7に示す例は、上述した期間T1において、ブート端末2が仮想ディスク40からデータを読み出す場合を示しており、ブートローダー10は、まず、仮想ディスク40からOSのバージョン情報を取得する(ステップS201)。ブートローダー10は、仮想ディスク40の差分管理領域42から、上述した「メインバージョン情報」及び「現在バージョン情報」をOSのバージョン情報として取得する。なお、「現在バージョン情報」は、現在のサブバージョン情報を示している。
次に、ブートローダー10は、バージョン情報が更新されているか否かを判定する(ステップS202)。すなわち、ブートローダー10は、仮想ディスク40から取得したOSのバージョン情報と、キャッシュ記憶部21のキャッシュヘッダ領域21Aに記憶されているバージョン情報(「メインバージョン情報」及び「サブバージョン情報」)とが一致するか否かを判定する。ブートローダー10は、バージョン情報が一致する場合(ステップS202:NO)に、処理をステップS203に進め、バージョン情報が一致しない場合(ステップS202:YES)に、処理をステップS208に進める。
次に、ステップS203において、ブートローダー10は、キャッシュデータかあるか否かを判定する。すなわち、ブートローダー10は、マップ記憶部22が記憶するキャッシュマップ情報に基づいて、取得するデータに対応するセクタ単位の情報がキャッシュ記憶部21に既に記憶されているか否かを、セクタごとに判定する。ブートローダー10は、セクタ単位の情報がキャッシュ記憶部21に記憶されていない場合(ステップS203:NO)に、処理をステップS204に進める。また、ブートローダー10は、セクタ単位の情報がキャッシュ記憶部21に記憶されている場合(ステップS203:YES)に、処理をステップS206に進める。
次に、ステップS204において、ブートローダー10は、キャッシュされているデータがないので、セクタ単位の情報を仮想ディスク40から取得する。そして、ブートローダー10は、仮想ディスク40から取得したセクタ単位の情報をキャッシュ記憶部21のキャッシュブデータロック領域21Bの対応するセクタに記憶させる。
次に、ブートローダー10は、キャッシュマップ情報を更新する(ステップS205)。すなわち、ブートローダー10は、マップ記憶部22が記憶するキャッシュマップ情報のうちの、取得したセクタ単位の情報に対応するビット情報の値を“1”に変更する。
次に、ブートローダー10は、次の取得データ(セクタ単位の情報)があるか否かを判定する(ステップS207)。ブートローダー10は、次の取得データ(セクタ単位の情報)がある場合(ステップS207:YES)に、処理をステップS203に戻し、次の取得データ(セクタ単位の情報)がない場合(ステップS207:NO)に、データ取得処理を終了する。
また、ステップS206において、ブートローダー10は、キャッシュされているデータがあるので、キャッシュ記憶部21のキャッシュブデータロック領域21Bからセクタ単位の情報を取得し、処理をステップS207に進める。
また、ステップS208において、バージョン情報が更新されているので、ブートローダー10は、全データを仮想ディスク40から取得し、データ取得処理を終了する。
まず、図8を参照して、フィルタドライバによるキャッシュ処理について説明する。
<フィルタドライバのキャッシュ処理>
図8は、第1の実施形態におけるフィルタドライバによるデータ取得処理の一例を示すフローチャートである。
図8に示す例は、上述した期間T2において、ブート端末2が仮想ディスク40からデータを読み出す場合を示しており、フィルタドライバは、まず、仮想ディスク40からOSのバージョン情報を取得する(ステップS301)。フィルタドライバは、仮想ディスク40の差分管理領域42から、上述した「メインバージョン情報」及び「現在バージョン情報」をOSのバージョン情報として取得する。なお、「現在バージョン情報」は、現在のサブバージョン情報を示している。
次に、フィルタドライバは、バージョン情報が更新されているか否かを判定する(ステップS302)。すなわち、フィルタドライバは、仮想ディスク40から取得したOSのバージョン情報と、キャッシュ記憶部21のキャッシュヘッダ領域21Aに記憶されているバージョン情報(「メインバージョン情報」及び「サブバージョン情報」)とが一致するか否かを判定する。フィルタドライバは、バージョン情報が一致する場合(ステップS302:NO)に、処理をステップS303に進め、バージョン情報が一致しない場合(ステップS302:YES)に、処理をステップS308に進める。
続く、ステップS303〜ステップS307の処理は、データを取得する対象が上述した起動情報を含むOS領域41全体に拡張され、ブートローダー10の代わりに、フィルタドライバが実行する点を除いて、図7に示すステップS203〜ステップS207の処理と同様であるので、説明を省略する。
また、ステップS308において、フィルタドライバは、差分マップ情報を取得する。すなわち、フィルタドライバは、「現在バージョン情報」に対応する差分マップ情報を、仮想ディスク40の差分管理領域42から取得する。
次に、フィルタドライバは、キャッシュマップ情報をマージする(ステップS309)。フィルタドライバは、差分マップ情報に基づいて、キャッシュマップ情報を更新する。すなわち、フィルタドライバは、取得した差分マップ情報と、マップ記憶部22が記憶するキャッシュマップ情報とをマージしたキャッシュマップ情報を生成し、キャッシュマップ情報を更新する。
次に、フィルタドライバは、バージョン情報を変更する(ステップS310)。すなわち、フィルタドライバは、キャッシュ記憶部21のキャッシュヘッダ領域21Aに記憶されているバージョン情報を、仮想ディスク40の差分管理領域42から取得したバージョン情報に変更し、処理をステップS303に進める。これにより、フィルタドライバは、差分マップに対応したキャッシュマップ情報に基づいて、キャッシュ処理を実行する。
次に、図9〜図14を参照して、ブートローダー10及びフィルタドライバによる擬似差分キャッシュ処理の一例について説明する。
図9〜図11は、第1の実施形態におけるキャッシュ処理の一例を示す図である。
図9〜図11において、ブート端末2が初期状態からの1回目の起動から3回目の起動までのマップ記憶部22が記憶するキャッシュマップ情報の遷移を示している。
図9に示す例は、ブート端末2が初期状態からの1回目の起動をする場合のキャッシュマップ情報の遷移を示している。
図9(a)は、起動前及び1回目の起動において、ブートローダー10の処理が終了した場合のキャッシュマップ情報の状態を示している。この場合、ブートローダー10は、キャッシュマップ情報が存在しないため、全データを仮想ディスク40から取得する。なお、ブートローダー10は、データを仮想ディスク40から取得する際に、キャッシュ記憶処理を実行しない。
次に、図9(b)は、1回目の起動において、フィルタドライバがキャッシュマップ情報を生成した状態を示している。この場合、まだ、フィルタドライバは、データを取得していないため、キャッシュマップ情報のビット情報の値は、全て“0”である。
次に、図9(c)は、1回目の起動において、フィルタドライバの処理が終了した場合のキャッシュマップ情報の状態を示している。この場合、フィルタドライバが取得したデータに対応するビット情報の値が“0”から“1”に遷移している。
なお、図9〜図13において、キャッシュマップ情報の領域D1は、ブートローダー10が仮想ディスク40から取得するデータの領域を示しており、領域D2は、フィルタドライバが仮想ディスク40から取得するデータの領域を示している。
次に、図10に示す例は、ブート端末2が初期状態からの2回目の起動をする場合のキャッシュマップ情報の遷移を示している。
図10(a)は、2回目の起動前におけるキャッシュマップ情報の状態を示している。なお、領域D1と領域D2とでは、共通の領域D3が存在するため、領域D1は、ビット情報の値は、“0”と“1”とが混在し、ブートローダー10は、キャッシュマップ情報に基づいて、仮想ディスク40、又はキャッシュ記憶部21からデータを取得する。なお、ブートローダー10は、データを仮想ディスク40から取得する際に、キャッシュ記憶処理を実行し、取得したデータに対応するビット情報を“1”に変更する。
次に、図10(b)は、2回目の起動において、ブートローダー10の処理が終了した場合のキャッシュマップ情報の状態を示している。この場合、キャッシュマップ情報は、領域D1のうちの、領域D3を除くビット情報の値が“0”から“1”に遷移している。
次に、図10(c)は、2回目の起動において、フィルタドライバの処理が終了した場合のキャッシュマップ情報の状態を示している。この場合、フィルタドライバは、キャッシュ記憶部21からデータを取得する。
次に、図11に示す例は、ブート端末2が初期状態からの3回目の起動をする場合のキャッシュマップ情報の遷移を示している。
図11(a)は、3回目の起動前におけるキャッシュマップ情報の状態を示している。なお、領域D1は、2回目の起動において、すでに仮想ディスク40からデータが取得されているので、ブートローダー10は、キャッシュマップ情報に基づいて、キャッシュ記憶部21からデータを取得する。
次に、図11(b)は、3回目の起動において、ブートローダー10の処理が終了した場合のキャッシュマップ情報の状態を示している。この場合、キャッシュマップ情報の状態は、図11(a)と同様の状態となる。
次に、図11(c)は、3回目の起動において、フィルタドライバの処理が終了した場合のキャッシュマップ情報の状態を示している。この場合、フィルタドライバは、キャッシュ記憶部21からデータを取得する。
図12、及び図13は、第1の実施形態におけるキャッシュ処理の別の一例を示す図である。
図12、及び図13において、OSのメンテナンスが実行され、バージョン情報が更新された場合におけるブート端末2の1回目の起動と2回目の起動とのキャッシュマップ情報の遷移を示している。なお、図12、及び図13において、領域D1と領域D2とは、図9〜図13と同様である。
図12に示す例は、バージョン情報が更新された場合において、ブート端末2が1回目の起動をする場合のキャッシュマップ情報の遷移を示している。
図12(a)は、仮想ディスク40(差分管理領域42)が記憶するバージョン情報及び差分マップ情報の状態を示している。図12(a)に示す例では、仮想ディスク40が記憶するバージョン情報が「Rev2」である。
また、図12(b)は、OSのメンテナンス後の1回目の起動前において、ブート端末2が最後に起動したバージョン情報、及びキャッシュマップ情報の状態を示している。
図12(b)に示す例では、ブート端末2が最後に起動したバージョン情報が「Rev1」である。
次に、図12(c)は、OSのメンテナンス後の1回目の起動において、ブートローダー10の処理が終了した場合のキャッシュマップ情報の状態を示している。ブートローダー10は、OSのバージョン情報が更新されているため、全データを仮想ディスク40から取得する。なお、ブートローダー10は、データを仮想ディスク40から取得する際に、キャッシュ記憶処理を実行しない。
次に、図12(d)は、OSのメンテナンス後の1回目の起動において、フィルタドライバがキャッシュマップ情報を更新した状態を示している。この場合、差分マップ情報とキャッシュマップ情報とをマージして、キャッシュマップ情報を更新する。また、フィルタドライバは、キャッシュ記憶部21のキャッシュヘッダ領域21Aに記憶されているバージョン情報を、仮想ディスク40の差分管理領域42から取得したバージョン情報に変更する。図12(d)に示す例では、バージョン情報が「Rev1」から「Rev2」に遷移しており、キャッシュマップ情報が差分マップ情報を考慮した状態に遷移している。
次に、図12(e)は、OSのメンテナンス後の1回目の起動において、フィルタドライバの処理が終了した場合のキャッシュマップ情報の状態を示している。この場合、フィルタドライバが取得したデータに対応するビット情報の値が“0”から“1”に遷移している。
また、図13(a)は、OSのメンテナンス後の2回目の起動前におけるキャッシュマップ情報の状態を示している。ブートローダー10は、キャッシュマップ情報に基づいて、仮想ディスク40、又はキャッシュ記憶部21からデータを取得する。なお、ブートローダー10は、データを仮想ディスク40から取得する際に、キャッシュ記憶処理を実行し、取得したデータに対応するビット情報を“1”に変更する。
次に、図13(b)は、OSのメンテナンス後の2回目の起動において、ブートローダー10の処理が終了した場合のキャッシュマップ情報の状態を示している。この場合、キャッシュマップ情報は、領域D1のうちの、領域D2と共通でないビット情報の値が“0”から“1”に遷移している。
次に、図13(c)は、OSのメンテナンス後の2回目の起動において、フィルタドライバの処理が終了した場合のキャッシュマップ情報の状態を示している。この場合、フィルタドライバは、キャッシュ記憶部21からデータを取得する。
なお、OSのメンテナンス後の3回目の起動は、図11に示す場合と同様であるので、ここでは説明を省略する。
次に、図14を参照して、フィルタドライバによるキャッシュマップ情報の更新処理について説明する。
図14は、第1の実施形態におけるキャッシュマップ情報のマージ処理の一例を示す図である。
図14(a)は、「Rev1」のキャッシュマップ情報を示している。
フィルタドライバは、図14(a)に示すキャッシュマップ情報を反転して、図14(b)に示す反転キャッシュマップ情報を生成する。
次に、フィルタドライバは、図14(b)に示す反転キャッシュマップ情報と、図14(c)に示す「Rev2」の差分マップ情報との論理和演算を行い、図14(d)に示す、更新後の反転キャッシュマップ情報を生成する。
次に、フィルタドライバは、図14(d)に示す更新後の反転キャッシュマップ情報を反転して、図14(e)に示す更新後のキャッシュマップ情報を生成する。
なお、フィルタドライバは、複数回のバージョン変更に対応する場合は、複数の差分マップ情報との論理和演算を行う。
フィルタドライバは、差分マップ情報に基づいて、キャッシュマップ情報(VerN)からキャッシュマップ情報(VerM)に更新する場合には、下記の式(1)により、キャッシュマップ情報をマージする。
キャッシュマップ情報(VerM)=
NOT(NOT(キャッシュマップ情報(VerN)) OR
差分マップ情報(VerN+1) OR
差分マップ情報(VerN+2) OR ・・・
差分マップ情報(VerM)) ・・・ (1)
以上説明したように、本実施形態におけるブートサーバ3(サーバ装置)は、記憶装置4から読み出した情報を記憶するキャッシュ記憶部21を備えるブート端末2(端末装置)とネットワーク5を介して接続される。ブートサーバ3は、ブート端末2からの要求に応じて、ブート端末2にブートローダー10を供給する。ブートローダー10は、記憶装置4を仮想ディスク40として接続して通信するとともに、OSをブート端末2に読み込むための情報を示す起動情報を取得する取得処理と、キャッシュ記憶処理と、OSを起動する起動処理とをブート端末2に実行させる。ここで、起動情報は、例えば、MBR、ブートセクタ、ブートマネージャなどの情報、及びOS用のドライバであり、フィルタドライバも含まれる。また、ブートローダー10は、取得処理として、キャッシュ記憶部21に起動情報が記憶されている場合に、キャッシュ記憶部21から起動情報を取得し、キャッシュ記憶部21に起動情報が記憶されていない場合に、仮想ディスク40から起動情報を取得する。また、ブートローダー10は、キャッシュ記憶処理として、仮想ディスク40から起動情報を取得した場合に、取得した起動情報をキャッシュ記憶部21に記憶させる。そして、ブートローダー10は、起動処理として、起動情報に基づいて、仮想ディスク40からOSをブート端末2に読み込んで、OSを起動する。
また、本実施形態におけるネットワークブートシステム1は、ブート端末2からの要求に応じて、ブート端末2にブートローダー10を供給するブートサーバ3を備えている。
これにより、キャッシュ記憶部21に起動情報が記憶されている場合に、ブート端末2は、キャッシュ記憶部21から起動情報を取得するので、ブートサーバ3は、ブート端末2がOSを起動する際に、ネットワーク5の負荷を低減(軽減)することができる。そのため、本実施形態におけるブートサーバ3及びネットワークブートシステム1は、ネットワークブートにおけるOSの起動時間を低減することができる。
例えば、複数台のブート端末2が起動する場合であっても、ブート端末2が起動する際に毎回、OSを読み込む必要がなくなるため、本実施形態におけるブートサーバ3及びネットワークブートシステム1は、ネットワーク5の負荷を低減して、OSの起動時間を低減することができる。
また、本実施形態において、ブートローダー10は、取得処理において、キャッシュマップ情報に基づいて、起動情報に対応するセクタごとに判定する。ここで、キャッシュマップ情報は、キャッシュ記憶部21に起動情報が記憶されているか否かを、仮想ディスク40が起動情報を記憶している領域が有する複数のセクタ(単位領域)それぞれに対して示す情報である。ブートローダー10は、起動情報に対応するセクタに記憶されている情報を示すセクタ単位の情報(起動単位情報)がキャッシュ記憶部21に記憶されている場合に、キャッシュ記憶部21が記憶するセクタ単位の情報を起動情報として取得する。また、ブートローダー10は、セクタ単位の情報がキャッシュ記憶部21に記憶されていない場合に、仮想ディスク40が記憶するセクタ単位の情報を起動情報として取得する。そして、ブートローダー10は、キャッシュ記憶処理において、仮想ディスク40からセクタ単位の情報を取得した場合に、取得したセクタ単位の情報をキャッシュ記憶部21に記憶させるとともに、キャッシュマップ情報のうちの、取得したセクタ単位の情報に対応する情報を変更する。
これにより、本実施形態におけるブートサーバ3及びネットワークブートシステム1は、起動情報をセクタ単位で、キャッシュ記憶部21から取得できるので、起動情報の一部分がキャッシュ記憶部21に記憶されている場合であっても、ネットワーク5の負荷を低減(軽減)することができる。
また、本実施形態において、ブート端末2は、マップ記憶部22を備えている。マップ記憶部22は、仮想ディスク40がOSを記憶しているOS領域41に対応し、OS領域41に記憶されている情報がキャッシュ記憶部21に記憶されているか否かを、OS領域41が有する複数のセクタそれぞれに対して示すキャッシュマップ情報を記憶する。また、ブートローダー10は、起動処理において、OSを仮想ディスク40から読み込むフィルタドライバを起動情報として取得する処理を含む。フィルタドライバは、キャッシュマップ情報に基づいて、OSに対応するセクタに記憶されている情報を示すセクタ単位のデータ(システム単位情報)がキャッシュ記憶部21に記憶されているか否かを判定する処理をブート端末2に実行させる。フィルタドライバは、セクタ単位のデータがキャッシュ記憶部21に記憶されていると判定した場合に、キャッシュ記憶部21が記憶するセクタ単位のデータをOSとして読み込む処理をブート端末2に実行させる。フィルタドライバは、セクタ単位のデータがキャッシュ記憶部21に記憶されていないと判定した場合に、仮想ディスク40が記憶するセクタ単位のデータをOSとして取得する処理をブート端末2に実行させる。そして、フィルタドライバは、仮想ディスク40からセクタ単位のデータを読み込んだ場合に、読み込んだセクタ単位のデータをキャッシュ記憶部21に記憶させるとともに、キャッシュマップ情報のうちの、取得したセクタ単位のデータに対応する情報を変更する処理をブート端末2に実行させる。
これにより、本実施形態におけるブートサーバ3及びネットワークブートシステム1は、ブートローダー10による起動情報の読み込みの他に、フィルタドライバが起動された後のOSの読み込みについても、ネットワーク5の負荷を低減(軽減)することができる。
また、本実施形態において、仮想ディスク40は、セクタに記憶されている情報が更新されたか否かを示す差分マップ情報とOSのバージョンを示すバージョン識別情報とを関連付けて記憶している。また、OS領域は、起動情報を記憶している領域を含む。ブートローダー10は、取得処理において、差分マップ情報とバージョン識別情報とを仮想ディスク40から取得し、取得したバージョン識別情報に基づいて、OSが更新されているか否かを判定し、OSが更新されていると判定した場合には、仮想ディスク40が記憶する起動情報を取得する。そして、フィルタドライバは、OSが更新されていると判定された場合に、差分マップ情報に基づいて、キャッシュマップ情報を更新し、更新したキャッシュマップ情報に基づいて、OSを仮想ディスク40から読み込む。
これにより、OSのバージョンが更新(変更)された場合に、差分データを仮想ディスク40から取得することが可能になるので、本実施形態におけるブートサーバ3及びネットワークブートシステム1は、OSのバージョンが更新(変更)された場合であっても、ネットワーク5の負荷を低減(軽減)することができる。
なお、本実施形態では、ブートローダー10が差分マップ情報に基づくキャッシュマップ情報の更新処理を行わないので、ブートローダー10が使用するハード資産(例えば、RAM容量)を低減することができる。
なお、本実施形態において、キャッシュ処理をOSのバージョンを差分マップ情報に対応する例を説明したが、ブート端末2のキャッシュヘッダ領域21Aが記憶するバージョン情報と、仮想ディスク40が記憶するOSの「メインバージョン情報」と「現在バージョン情報」との比較結果によって、下記の4つの場合が考えられる。
<ケース1:ブート端末2が既に最新のバージョンを読み込んでいる場合>
仮想ディスク40が記憶するOSの「メインバージョン情報」及び「現在バージョン情報」と、キャッシュヘッダ領域21Aが記憶する「メインバージョン情報」及び「サブバージョン情報」とが、完全に一致している場合が、このケースである。
この場合は、ブートローダー10及びフィルタドライバは、キャッシュマップ情報に基づいて、仮想ディスク40、又はキャッシュ記憶部21からデータを取得する。
<ケース2:ブート端末2が最後に起動したバージョンを、仮想ディスク40が保持していない場合>
「メインバージョン情報」は一致しているが、「サブバージョン情報」が、仮想ディスク40が記憶する複数の「サブバーション情報」のいずれにも一致していない場合が、このケースである。
この場合、ブートローダー10及びフィルタドライバは、キャッシュマップの全ビット情報の値を“0”に変更した上で、データの取得を行う。また、フィルタドライバは、キャッシュヘッダ領域21Aの「サブバージョン情報」を「現在バージョン情報」に変更する。
<ケース3:ブート端末2がキャッシュしていない場合>
「メインバージョン情報」及び「サブバージョン情報」の両方に一致するものがない場合がこのケースである。
この場合、ブートローダー10及びフィルタドライバは、キャッシュマップの全ビット情報の値を“0”に変更した上で、データの取得を行う。また、フィルタドライバは、キャッシュヘッダ領域21Aの「メインバージョン情報」及び「サブバージョン情報」を仮想ディスク40の「メインバージョン情報」及び「現在バージョン情報」に変更する。
<ケース4:ブート端末2が古いバージョンをキャッシュしている場合>
「メインバージョン情報」は一致しているが、「サブバージョン情報」が、仮想ディスク40が記憶する古い「サブバーション情報」に一致している場合が、このケースである。
この場合、ブートローダー10及びフィルタドライバは、差分マップ情報に基づいてキャッシュマップ情報を更新して、更新したキャッシュマップ情報に基づいて、仮想ディスク40、又はキャッシュ記憶部21からデータを取得する。また、フィルタドライバは、キャッシュヘッダ領域21Aの「サブバージョン情報」を「現在バージョン情報」に変更する。
次に、図面を参照して、第2の実施形態におけるキャッシュ処理について詳細に説明する。
[第2の実施形態]
本実施形態では、ブートローダー10が、差分キャッシュ処理を行わない場合の一例について説明する。
まず、図15を参照して、ブートローダー10によるキャッシュ処理について説明する。
図15は、第2の実施形態におけるブートローダー10によるデータ取得処理の一例を示すフローチャートである。
この図において、ステップS401〜ステップS407の処理は、図7に示す第1の実施形態におけるステップS201〜ステップS207の処理と同様であるので、説明を省略する。
ステップS408において、バージョン情報が更新されているので、本実施形態におけるブートローダー10は、キャッシュマップ情報をクリアする。すなわち、ブートローダー10は、キャッシュマップ情報の全ビット情報を“0”に変更する。
次に、ブートローダー10は、全データを仮想ディスク40から取得する(ステップS409)。そして、ブートローダー10は、仮想ディスク40から取得したセクタ単位の情報をキャッシュ記憶部21のキャッシュブデータロック領域21Bの対応するセクタに記憶させる。
次に、ブートローダー10は、マップ記憶部22が記憶するキャッシュマップ情報のうちの、取得したセクタ単位の情報に対応するビット情報の値を“1”に変更し(ステップS410)、処理を終了する。
なお、フィルタドライバによるキャッシュ処理についても、ブートローダー10の第1の実施形態と同様に差分キャッシュ処理に対応させてもよいし、図15に示すブートローダー10と同様の処理を実行して、差分キャッシュ処理に対応させなくてもよい。
以上説明したように、本実施形態におけるブートローダー10は、バージョン情報が更新されている場合に、キャッシュマップ情報の全ビット情報を“0”に変更して、全データを仮想ディスク40から取得する。
これにより、本実施形態におけるブートサーバ3及びネットワークブートシステム1は、差分データに基づいてキャッシュマップ情報をマージする必要がないので、簡易な手段によりOSのバージョン変更に対応させることができる。
次に、図面を参照して、第3の実施形態におけるキャッシュ処理について詳細に説明する。
[第3の実施形態]
本実施形態では、ブートローダー10が、フィルタドライバと同様の差分キャッシュ処理を行う場合の一例について説明する。
まず、図16を参照して、ブートローダー10によるキャッシュ処理について説明する。
図16は、第3の実施形態におけるブートローダー10によるデータ取得処理の一例を示すフローチャートである。
この図において、ステップS501〜ステップS507の処理は、図7に示す第1の実施形態におけるステップS201〜ステップS207の処理と同様であるので、説明を省略する。
また、ステップS508〜ステップS510の処理は、図8に示すフィルタドライバによるステップS308〜ステップS310の処理と同様である。
以上説明したように、本実施形態におけるブートローダー10は、バージョン情報が更新されている場合に、フィルタドライバと同様に、取得した差分マップ情報と、マップ記憶部22が記憶するキャッシュマップ情報とをマージしたキャッシュマップ情報を生成し、キャッシュマップ情報を更新する。
これにより、OSのバージョンが更新(変更)された場合に、差分データを仮想ディスク40から取得することが可能になるので、本実施形態におけるブートサーバ3及びネットワークブートシステム1は、OSのバージョンが更新(変更)された場合であっても、ネットワーク5の負荷を低減(軽減)することができる。
なお、本発明は、上記の各実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上記の各実施形態において、キャッシュマップ情報は、ブートローダー10とフィルタドライバとで共通の情報として説明したが、ブートローダー10とフィルタドライバとが、異なるキャッシュマップ情報を利用する形態であってもよい。
また、上記の各実施形態において、キャッシュマップ情報を記憶するマップ記憶部22をローカルディスク20に備える場合について説明したが、ネットワーク5を介して接続された外部のサーバ装置がマップ記憶部22を備えてもよい。なお、この場合、ブート端末2内のRAMなどの物理メモリに、外部のサーバ装置からキャッシュマップ情報を読み出して利用してもよい。
また、上記の各実施形態において、ブートサーバ3は、DHCPサーバ31、PXEサーバ32、及びTFTPサーバ33を備える場合について説明したが、それぞれを個別のサーバ装置として構成してもよい。
また、上記の各実施形態において、iSCSI通信インターフェースを用いて、仮想ディスク40を実現する場合について説明したが、これに限定されるものではなく、ネットワーク5を介して仮想記憶装置が実現できるインターフェース方式であれば、他のインターフェース方式であってもよい。
なお、本発明におけるブート端末2、又はブートサーバ3の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したブート端末2、又はブートサーバ3における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にブート端末2、又はブートサーバ3で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上述した機能の一部または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
1 ネットワークブートシステム
2 ブート端末
3 ブートサーバ
4 記憶装置
5 ネットワーク
10 ブートローダー
11 ブートモジュール
12 キャッシュモジュール
13 仮想ディスクモジュール
20 ローカルディスク
21 キャッシュ記憶部
22 マップ記憶部
30 iSCSI通信モジュール
31 DHCPサーバ
32 PXEサーバ
33 TFTPサーバ
34 BL供給部
40 仮想ディスク
41 OS領域
42 差分管理領域

Claims (7)

  1. 端末装置と、前記端末装置上で動作するオペレーティングシステムを記憶する記憶装置とがネットワークを介して接続され、前記端末装置が前記ネットワークを介して前記オペレーティングシステムを起動するネットワークブートシステムが備えるサーバ装置であって、
    前記記憶装置から読み出した情報を記憶するキャッシュ記憶部を備える前記端末装置とネットワークを介して接続され、前記端末装置からの要求に応じて、前記端末装置にブートローダーを供給し、
    前記ブートローダーは、
    前記記憶装置を仮想記憶装置として接続して通信するとともに、前記オペレーティングシステムを前記端末装置に読み込むための情報を示す起動情報を取得する取得処理であって、前記キャッシュ記憶部に前記起動情報が記憶されている場合に、前記キャッシュ記憶部から前記起動情報を取得し、前記キャッシュ記憶部に前記起動情報が記憶されていない場合に、前記仮想記憶装置から前記起動情報を取得する取得処理と、
    前記仮想記憶装置から前記起動情報を取得した場合に、取得した前記起動情報を前記キャッシュ記憶部に記憶させるキャッシュ記憶処理と、
    前記起動情報に基づいて、前記仮想記憶装置から前記オペレーティングシステムを前記端末装置に読み込んで、前記オペレーティングシステムを起動する起動処理と、
    を前記端末装置に実行させる
    ことを特徴とするサーバ装置。
  2. 前記ブートローダーは、
    前記取得処理において、前記キャッシュ記憶部に前記起動情報が記憶されているか否かを、前記仮想記憶装置が前記起動情報を記憶している領域が有する複数の単位領域それぞれに対して示すキャッシュマップ情報に基づいて、前記起動情報に対応する前記単位領域ごとに、前記キャッシュ記憶部に前記起動情報が記憶されているか否かを判定し、
    前記起動情報に対応する前記単位領域に記憶されている情報を示す起動単位情報が前記キャッシュ記憶部に記憶されている場合に、前記キャッシュ記憶部が記憶する前記起動単位情報を前記起動情報として取得し、
    前記起動単位情報が前記キャッシュ記憶部に記憶されていない場合に、前記仮想記憶装置が記憶する前記起動単位情報を前記起動情報として取得し、
    キャッシュ記憶処理において、前記仮想記憶装置から前記起動単位情報を取得した場合に、取得した前記起動単位情報を前記キャッシュ記憶部に記憶させるとともに、前記キャッシュマップ情報のうちの、取得した前記起動単位情報に対応する情報を変更する
    ことを特徴とする請求項1に記載のサーバ装置。
  3. 前記端末装置は、
    前記仮想記憶装置がオペレーティングシステムを記憶しているオペレーティングシステム領域に対応し、前記オペレーティングシステム領域に記憶されている情報が前記キャッシュ記憶部に記憶されているか否かを、前記オペレーティングシステム領域が有する複数の前記単位領域それぞれに対して示す前記キャッシュマップ情報を記憶するマップ記憶部を備え、
    前記ブートローダーは、
    前記起動処理において、前記オペレーティングシステムを前記仮想記憶装置から読み込むフィルタドライバを前記起動情報として取得する処理を含み、
    前記フィルタドライバは、
    前記キャッシュマップ情報に基づいて、前記オペレーティングシステムに対応する前記単位領域に記憶されている情報を示すシステム単位情報が前記キャッシュ記憶部に記憶されているか否かを判定する処理と、
    前記システム単位情報が前記キャッシュ記憶部に記憶されていると判定した場合に、前記キャッシュ記憶部が記憶する前記システム単位情報を前記オペレーティングシステムとして読み込む処理と、
    前記システム単位情報が前記キャッシュ記憶部に記憶されていないと判定した場合に、前記仮想記憶装置が記憶する前記システム単位情報を前記オペレーティングシステムとして取得する処理と、
    前記仮想記憶装置から前記システム単位情報を読み込んだ場合に、読み込んだ前記システム単位情報を前記キャッシュ記憶部に記憶させるとともに、前記キャッシュマップ情報のうちの、取得した前記システム単位情報に対応する情報を変更する処理と
    を前記端末装置に実行させる
    ことを特徴とする請求項2に記載のサーバ装置。
  4. 前記仮想記憶装置は、前記単位領域に記憶されている情報が更新されたか否かを示す差分マップ情報と前記オペレーティングシステムのバージョンを示すバージョン識別情報とを関連付けて記憶しており、
    前記オペレーティングシステム領域は、前記起動情報を記憶している領域を含み、
    前記ブートローダーは、
    前記取得処理において、前記差分マップ情報と前記バージョン識別情報とを前記仮想記憶装置から取得し、取得した前記バージョン識別情報に基づいて、前記オペレーティングシステムが更新されているか否かを判定し、前記オペレーティングシステムが更新されていると判定した場合には、前記仮想記憶装置が記憶する前記起動情報を取得し、
    前記フィルタドライバは、
    前記オペレーティングシステムが更新されていると判定された場合に、前記差分マップ情報に基づいて、前記キャッシュマップ情報を更新し、更新した前記キャッシュマップ情報に基づいて、前記オペレーティングシステムを前記仮想記憶装置から読み込む
    ことを特徴とする請求項3に記載のサーバ装置。
  5. 端末装置と、前記端末装置上で動作するオペレーティングシステムを記憶する記憶装置とがネットワークを介して接続され、前記端末装置が前記ネットワークを介して前記オペレーティングシステムを起動するネットワークブートシステムであって、
    ネットワークを介して、前記端末装置と接続され、前記端末装置からの要求に応じて、前記端末装置にブートローダーを供給するサーバ装置を備え、
    前記端末装置は、
    前記記憶装置から読み出した情報を記憶するキャッシュ記憶部を備え、
    前記サーバ装置から供給されたブートローダーは、
    前記記憶装置を仮想記憶装置として接続して通信するとともに、前記オペレーティングシステムを前記端末装置に読み込むための情報を示す起動情報を取得する処理であって、前記キャッシュ記憶部に前記起動情報が記憶されている場合に、前記キャッシュ記憶部から前記起動情報を取得し、前記キャッシュ記憶部に前記起動情報が記憶されていない場合に、前記記憶装置から前記起動情報を取得する取得処理と、
    前記仮想記憶装置から前記起動情報を取得した場合に、取得した前記起動情報を前記キャッシュ記憶部に記憶させるキャッシュ記憶処理と、
    前記起動情報に基づいて、前記オペレーティングシステムを前記端末装置に読み込んで、前記オペレーティングシステムを起動する起動処理と、
    を前記端末装置に実行させる
    ことを特徴とするネットワークブートシステム。
  6. 端末装置と、前記端末装置上で動作するオペレーティングシステムを記憶する記憶装置と、サーバ装置とがネットワークを介して接続され、前記端末装置が前記ネットワークを介して前記オペレーティングシステムを起動するネットワークブートシステムのネットワークブート方法であって、
    前記サーバ装置が、前記端末装置からの要求に応じて、前記端末装置にブートローダーを、ネットワークを介して供給する供給ステップと、
    前記端末装置が、前記サーバ装置から供給された前記ブートローダーにしたがって、前記記憶装置を仮想記憶装置として接続して通信するとともに、前記オペレーティングシステムを前記端末装置に読み込むための情報を示す起動情報を取得する取得ステップであって、前記仮想記憶装置から読み出した情報を記憶するキャッシュ記憶部に前記起動情報が記憶されている場合に、前記キャッシュ記憶部から前記起動情報を取得し、前記キャッシュ記憶部に前記起動情報が記憶されていない場合に、前記仮想記憶装置から前記起動情報を取得する取得ステップと、
    前記端末装置が、前記ブートローダーにしたがって、前記仮想記憶装置から前記起動情報を取得した場合に、取得した前記起動情報を前記キャッシュ記憶部に記憶させるキャッシュ記憶ステップと、
    前記端末装置が、前記ブートローダーにしたがって、前記起動情報に基づいて、前記オペレーティングシステムを前記端末装置に読み込んで、前記オペレーティングシステムを起動する起動ステップと、
    を含むことを特徴とするネットワークブート方法。
  7. 端末装置と、前記端末装置上で動作するオペレーティングシステムを記憶する記憶装置とがネットワークを介して接続され、前記端末装置がネットワークを介して前記記憶装置が記憶するオペレーティングシステムを起動するネットワークブートシステムの端末装置としてのコンピュータに、
    前記端末装置が、前記記憶装置を仮想記憶装置として接続して通信するとともに、前記オペレーティングシステムを前記端末装置に読み込むための情報を示す起動情報を取得する取得ステップであって、前記仮想記憶装置から読み出した情報を記憶するキャッシュ記憶部に前記起動情報が記憶されている場合に、前記キャッシュ記憶部から前記起動情報を取得し、前記キャッシュ記憶部に前記起動情報が記憶されていない場合に、前記仮想記憶装置から前記起動情報を取得する取得ステップと、
    前記端末装置が、前記仮想記憶装置から前記起動情報を取得した場合に、取得した前記起動情報を前記キャッシュ記憶部に記憶させるキャッシュ記憶ステップと、
    前記端末装置が、前記起動情報に基づいて、前記オペレーティングシステムを前記端末装置に読み込んで、前記オペレーティングシステムを起動する起動ステップと、
    を実行させるためのプログラム。
JP2013057881A 2013-03-21 2013-03-21 サーバ装置、ネットワークブートシステム、ネットワークブート方法、及びプログラム Active JP5927134B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013057881A JP5927134B2 (ja) 2013-03-21 2013-03-21 サーバ装置、ネットワークブートシステム、ネットワークブート方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013057881A JP5927134B2 (ja) 2013-03-21 2013-03-21 サーバ装置、ネットワークブートシステム、ネットワークブート方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2014182706A true JP2014182706A (ja) 2014-09-29
JP5927134B2 JP5927134B2 (ja) 2016-05-25

Family

ID=51701330

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013057881A Active JP5927134B2 (ja) 2013-03-21 2013-03-21 サーバ装置、ネットワークブートシステム、ネットワークブート方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5927134B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006252124A (ja) * 2005-03-10 2006-09-21 Nippon Telegr & Teleph Corp <Ntt> ネットワークシステム、ファイルアクセス方法およびプログラム
JP2009230433A (ja) * 2008-03-21 2009-10-08 Toshiba Corp ネットワークブート装置、プログラム及び方法
WO2009145274A1 (ja) * 2008-05-29 2009-12-03 株式会社シー・オー・コンヴ ネットワークブートシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006252124A (ja) * 2005-03-10 2006-09-21 Nippon Telegr & Teleph Corp <Ntt> ネットワークシステム、ファイルアクセス方法およびプログラム
JP2009230433A (ja) * 2008-03-21 2009-10-08 Toshiba Corp ネットワークブート装置、プログラム及び方法
WO2009145274A1 (ja) * 2008-05-29 2009-12-03 株式会社シー・オー・コンヴ ネットワークブートシステム

Also Published As

Publication number Publication date
JP5927134B2 (ja) 2016-05-25

Similar Documents

Publication Publication Date Title
US11297126B2 (en) System and method for image file generation and management
US9507604B2 (en) Boot method and boot system
US8812451B2 (en) Programming model for synchronizing browser caches across devices and web services
EP2530589A2 (en) System and method for updating virtual machine template
JP5333579B2 (ja) 管理サーバ、ブートサーバ、ネットワークブートシステムおよびネットワークブート方法
US20100088448A1 (en) Virtual computing accelerator and program downloading method for server-based virtual computing
US10057273B1 (en) System and method for ensuring per tenant mutual exclusion of data and administrative entities with low latency and high scale
KR101292858B1 (ko) 관리 엔진을 사용하는 가상 버스 디바이스
JP5821393B2 (ja) 情報処理装置、起動方法、プログラム
JP2014130388A (ja) 情報処理装置、及び情報処理方法
US10506012B2 (en) Adding and removing virtual disks remotely to a streaming machine
US11586535B2 (en) Method and apparatus for designing dual-mirror shared conf partition file
US11671379B1 (en) System and method for subscription management using dynamically composed management entities
WO2017000567A1 (zh) 一种实现bootrom升级的方法及装置
US11314521B2 (en) System and method for managing component updates
JP2020030812A (ja) 更新されたファームウェアコードの検索
JP5927134B2 (ja) サーバ装置、ネットワークブートシステム、ネットワークブート方法、及びプログラム
KR102123701B1 (ko) 네트워크 부트 시스템
US11630591B1 (en) System and method to manage storage system for startup
US20220334820A1 (en) System and method for intermediate software upgrades for information handling systems
US11429166B2 (en) System and method for managing device updates
JP2017084014A (ja) 情報処理装置
JP2020119234A (ja) 管理サーバ、ブートサーバ、ネットワークブートシステム、ネットワークブート方法、プログラム
JP2015184859A (ja) 情報処理装置、初期化方法、及び、プログラム
JP6209854B2 (ja) 情報処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160317

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160425

R150 Certificate of patent or registration of utility model

Ref document number: 5927134

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250