JP2009230433A - ネットワークブート装置、プログラム及び方法 - Google Patents
ネットワークブート装置、プログラム及び方法 Download PDFInfo
- Publication number
- JP2009230433A JP2009230433A JP2008074490A JP2008074490A JP2009230433A JP 2009230433 A JP2009230433 A JP 2009230433A JP 2008074490 A JP2008074490 A JP 2008074490A JP 2008074490 A JP2008074490 A JP 2008074490A JP 2009230433 A JP2009230433 A JP 2009230433A
- Authority
- JP
- Japan
- Prior art keywords
- operating system
- network
- level emulation
- storage
- emulation means
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】 OSカーネルの起動の初期段階から常に動作可能で、かつ、データ転送効率のよいネットワークブート装置を提供する。
【解決手段】 ネットワークブート装置10は、オペレーティングシステムの起動の初期の段階で動作可能なドライバ32を利用して、オペレーティングシステム51の実行に伴って要求されるディスクアクセスをネットワーク上のストレージ50へのアクセスにリダイレクトする低レベル・エミュレーション部21と、オペレーティングシステム51が制御するネットワークドライバ31を利用する高レベル・エミュレーション部23と、低レベル・エミュレーション部21と高レベル・エミュレーション部22とを切り替えてディスク・アクセス要求を送信するディスク・アクセス振り分け部23とを備える。
【選択図】 図1
【解決手段】 ネットワークブート装置10は、オペレーティングシステムの起動の初期の段階で動作可能なドライバ32を利用して、オペレーティングシステム51の実行に伴って要求されるディスクアクセスをネットワーク上のストレージ50へのアクセスにリダイレクトする低レベル・エミュレーション部21と、オペレーティングシステム51が制御するネットワークドライバ31を利用する高レベル・エミュレーション部23と、低レベル・エミュレーション部21と高レベル・エミュレーション部22とを切り替えてディスク・アクセス要求を送信するディスク・アクセス振り分け部23とを備える。
【選択図】 図1
Description
本発明は、OSカーネルの起動の初期段階から常に動作可能で、かつ、データ転送効率のよいネットワークブート装置に関する。
一般的に、汎用オペレーティングシステムは、ローカルディスク(内蔵ディスク)にインストールされている。このようなローカルディスクにインストールされているオペレーティングシステムをネットワーク上のストレージ(記憶装置)に格納し、ネットワークに接続されたコンピュータからネットワーク経由で起動(ネットワークブート)しようとする場合には、特別な技術が必要となる。
具体的には、ストレージにインストールされているオペレーティングシステムをネットワークブートする場合、あたかもローカルディスクから起動しているようにエミュレーションする技術が用いられる。
第一のエミュレーションするための技術として、BIOSが提供するサービスルーチンをフックして、ローカルディスクへのアクセスをネットワーク上のストレージへのアクセスにリダイレクトする、「仮想ディスクBIOSサービスルーチン」が用いられる。仮想ディスクBIOSサービスルーチンでは、BIOSが提供するサービスルーチンをフックして、ネットワーク上のストレージの指定されたセクタからデータを読み出し、それらのデータがあたかもローカルディスクから読み出されたかのようにメモリに転送する。
第二のエミュレーションするための技術として、オペレーティングシステムにインストールされ、ローカルディスクへのアクセスをネットワーク上のストレージへのアクセスにリダイレクトする、「仮想ディスクドライバ」の技術が用いられる。仮想ディスクドライバでは、ネットワーク上のストレージの指定されたセクタからデータを読み出し、それらのデータがあたかもローカルディスクから読み出されたかのようにメモリに転送し、あるいは、メモリ上にあるデータを、ネットワーク上のストレージの指定されたセクタに書き込む。
これらの技術を用いて、オペレーティングシステムを起動する流れを、図7を用いて説明する。なお、ネットワークブートに対応したコンピュータの例として、PXE(Preboot Execution Environment)規格に準拠したコンピュータ10aが挙げられる。
まず、コンピュータ10aの電源が投入されると、コンピュータ10aに内蔵されたROM11に記憶されたBIOS(Basic Input and Output System)12とPXE13とが実行され、ハードウェアの初期化が行なわれる。その後、ネットワーク100を介してサーバ60から仮想ディスク用のNBP(Network Bootstrap Program)61がRAM14に読み込まれ実行される。NBP61が実行されると、仮想ディスクBIOSサービスルーチン62が展開され、仮想ディスクのエミュレーションがはじまる。
次に、仮想ディスクBIOSサービスルーチン62により、ブートローダ15がRAM14によみこまれ実行される。ブートローダ15が実行されると、仮想ディスクBIOSサービスルーチン62を介して、ネットワーク100上のストレージ50からOSカーネル16がRAM14に読み込まれ実行される。
OSカーネル16にはあらかじめ仮想ディスクドライバ17がインストールされている。OSカーネル16が実行されると、仮想ディスクBIOSサービスルーチン62は使用されなくなり、オペレーティングシステム51の仮想ディスクドライバ17が使用されるようになる。そして、この仮想ディスクドライバ17によりネットワーク100上のストレージ50にアクセスし、オペレーティングシステムのデータをRAM14に読み込んで起動する。
特表2005−523523号公報
本発明者らの検討によれば、一般的には、上記の仮想ディスクドライバは、オペレーティングシステムが制御するネットワークドライバを利用して、ローカルディスクへのアクセスをネットワーク上のストレージへのアクセスにリダイレクトする。
しかしながら、オペレーティングシステムが制御するネットワークドライバ(たとえばTCP/IPドライバ)は、OSカーネルの起動の初期段階では利用可能ではない場合がある。
一方、オペレーティングシステムが制御するネットワークドライバを極力利用しないで、ローカルディスクへのアクセスをネットワーク上のストレージへのアクセスにリダイレクトすると、オペレーティングシステムが制御するネットワークドライバのうちオペレーティングシステムの起動の初期段階では動作可能ではないもの(たとえばTCP/IPドライバ)を利用した場合に比べて、データ転送効率が悪いという問題がある。
本発明は、上記実情に鑑みてなされたものであり、OSカーネルの起動の初期段階から常に動作可能で、かつ、データ転送効率のよいネットワークブート装置を提供することを目的とする。
本発明は上記課題を解決するために、ネットワーク上のストレージに記憶されたオペレーティングシステムを起動するネットワークブート装置であって、オペレーティングシステムが制御するドライバとしてインストールされ、オペレーティングシステムが制御するネットワークドライバのうちオペレーティングシステムの起動の初期の段階ではまだ有効に動作可能ではないものを利用せずに、オペレーティングシステムが制御するネットワークドライバのうちオペレーティングシステムの起動の初期の段階で有効に動作可能なドライバを利用して、オペレーティングシステムの実行に伴って要求されるディスクアクセスをネットワーク上のストレージへのアクセスにリダイレクトする、低レベル・エミュレーション手段と、低レベル・エミュレーション手段に比べてデータ転送効率がよく、オペレーティングシステムが制御するネットワークドライバを利用して、オペレーティングシステムの実行に伴って要求されるディスクアクセスをネットワーク上のストレージへのアクセスにリダイレクトする、高レベル・エミュレーション手段と、高レベル・エミュレーション手段が利用するネットワークドライバが有効に動作可能であるか否かをオペレーティングシステムから収集し、該高レベル・エミュレーション手段が有効に動作可能であるか否かを判定する判定手段と、判定手段による判定結果に基づいて、高レベル・エミュレーション手段が動作可能であるか否かを示す振り分けフラグを記憶する手段と、ストレージに記憶されたデータにアクセスするためのディスク・アクセス要求を該ストレージに送信する際、振り分けフラグにしたがって、低レベル・エミュレーション手段と高レベル・エミュレーション手段とを切り替えて該ディスク・アクセス要求を送信する手段とを備えたネットワークブート装置を提供する。
<用語>
なお、本明細書において、「インストール」とは、ハードディスク上へのプログラム等の格納を意味する。そして、「コンピュータにインストール」することは、「コンピュータに内蔵されたハードディスクにインストール」することを意味する。また、「オペレーティングシステムにインストール」することは、「オペレーティングシステムがインストールされているハードディスクにインストール」することを意味している。
なお、本明細書において、「インストール」とは、ハードディスク上へのプログラム等の格納を意味する。そして、「コンピュータにインストール」することは、「コンピュータに内蔵されたハードディスクにインストール」することを意味する。また、「オペレーティングシステムにインストール」することは、「オペレーティングシステムがインストールされているハードディスクにインストール」することを意味している。
また、本明細書において、「起動の初期の段階」とは、OSカーネルの実行が開始した後、その実行に伴ってディスクアクセスが初めて発生する時点までをいう。
本発明によれば、OSカーネルの起動の初期段階から常に動作可能で、かつ、データ転送効率のよいネットワークブート装置を提供することが可能となる。
以下、図面を参照して本発明の実施形態を説明する。
<第1の実施形態>
(ネットワークブート装置の構成)
図1は本発明の第1の実施形態に係るネットワークブート装置10の構成を示す模式図であり、図2はネットワークブート装置10における仮想ディスクドライバの機能を説明するための模式図である。なお、既に説明した部分と同一の部分には同一の符号を付し、重複した説明を省略する。また、以下の各実施形態についても同様にして重複した説明を省略する。
(ネットワークブート装置の構成)
図1は本発明の第1の実施形態に係るネットワークブート装置10の構成を示す模式図であり、図2はネットワークブート装置10における仮想ディスクドライバの機能を説明するための模式図である。なお、既に説明した部分と同一の部分には同一の符号を付し、重複した説明を省略する。また、以下の各実施形態についても同様にして重複した説明を省略する。
ネットワークブート装置10は、一般的なコンピュータ10aにソフトウェアが組み込まれたものであり、ネットワーク100上のストレージ50に記憶されたオペレーティングシステム51を起動する。オペレーティングシステムの例としてはWindows(登録商標)が挙げられる。
このネットワークブート装置10は、低レベル・エミュレーション部21、高レベル・エミュレーション部22、ディスク・アクセス振り分け部23を具備している。
低レベル・エミュレーション部21は、仮想ディスクドライバとして機能するものであり、オペレーティングシステムのネットワークドライバのうちOSカーネル16の起動の初期段階では利用可能ではないもの(たとえばTCP/IPドライバ)を利用しないものである。
補足すると、低レベル・エミュレーション部21は、ネットワークブート装置10のコンピュータ10aの起動時に、オペレーティングシステム51が制御するネットワークドライバ31(たとえばTCP/IPドライバ)を利用せずに、他のネットワークドライバ32(たとえばNDISドライバ)を利用する。そして、低レベル・エミュレーション部21は、オペレーティングシステムの実行に伴って要求されるディスクアクセスをネットワーク上のストレージ50へのアクセスにリダイレクトする。
例えば、低レベル・エミュレーション部22は、図3に概念を示すように、通信プロトコルにTFTP(Trivial File Transfer Protocol)を使い、ネットワークドライバにNDIS(Network Driver Interface Specification)ドライバ等を実装する。
なお、低レベル・エミュレーション部22は、オペレーティングシステムが制御するネットワークドライバ31を利用していないので、OSカーネル16の起動の初期段階からオペレーティングシステム51の稼動中は常に動作可能となっている。
高レベル・エミュレーション部22は、仮想ディスクドライバとして機能するものであり、オペレーティングシステム51のネットワークドライバのうちOSカーネル16の起動の初期段階では利用可能ではないもの(たとえばTCP/IPドライバ)を利用するものである。
具体的には、高レベル・エミュレーション部22は、低レベル・エミュレーション部21に比べてデータ転送効率がよく、オペレーティングシステム51のネットワークドライバ31を利用して、オペレーティングシステムの実行に伴って要求されるディスクアクセスをネットワーク上のストレージ50へのアクセスにリダイレクトするものである。
例えば、高レベル・エミュレーション部22は、プロトコルにiSCSI(Internet Small Computer System Interface)を使い、TCP/IPのTDI(Transport Driver Interface)クライアントとして実装される。
ディスク・アクセス振り分け部23は、ストレージ50へのディスク・アクセス要求が実行されるたびに、低レベル・エミュレーション部21を使用してアクセスするか、高レベル・エミュレーション部22を使用してアクセスするかを選択するものであり、振り分けフラグ記憶部24と切り替え判定部25とを有している。なお、ディスク・アクセス要求は、OSカーネル16によって実行される。
振り分けフラグ記憶部24は、高レベル・エミュレーション部22が利用するネットワークドライバが有効に動作可能であるか否かを示す「振り分けフラグ」をRAM14上に記憶するものである。
切り替え判定部25は、高レベル・エミュレーション部22が利用するネットワークドライバ31の動作可能状況をインストールしたオペレーティングシステム51から収集し、高レベル・エミュレーション部22が動作可能か否かを判定するものである。なお、ネットワークドライバ31の動作可能状況は、たとえば、Plug and Play通知(PnP通知とも記載する)などを通して収集される。
切り替え判定部25は、「高レベル・エミュレーション部22が動作可能」と判定した場合、振り分けフラグの情報を“動作可能”に書き換える。また、切り替え判定部25は、「高レベル・エミュレーション部22が動作不能」と判定した場合、振り分けフラグの内容を“動作不能”に書き換える。動作不能に書き換えた場合、切り替え判定部25は、高レベル・エミュレーション部22に要求しているディスク・アクセスをすべてキャンセルし、それを低レベル・エミュレーション部21に回送する。
(ネットワークブート装置10の動作)
次に本実施形態に係るネットワークブート装置10の動作を図4を用いて説明する。
次に本実施形態に係るネットワークブート装置10の動作を図4を用いて説明する。
始めに、ネットワークブート装置10のコンピュータ10aの電源が入れられる。
コンピュータ10aに電源が入れられると(S1)、BIOS12がNBP61を読み込む(S2)。コンピュータ10aはNBP61の処理により、ストレージ50にアクセスし(S3)、OSカーネル16を読み込む(S4)。
OSカーネル16が読み込まれると低レベル・エミュレーション部21が起動し、OSカーネル16が実行される。そして、OSカーネル16の実行によりストレージ50からオペレーティングシステム51のデータがRAM14に読み込まれる(S5)。
オペレーティングシステム51のデータの読み込みが進んでいくと、高レベル・エミュレーション部22が利用するネットワークドライバ31の動作可能状況をオペレーティングシステムから収集できるようになる。
そこで、ディスク・アクセス振り分け部23により、高レベル・エミュレーション部22が動作可能であるか否かが判定される(S6)。具体的には、インストールしたオペレーティシステム51からPlug and Play通知が送出されるので、このPlug and Play通知に基づいて、オペレーティングシステム51が制御するTCP/IPドライバが利用可能であるか否かが判定される。
続いて、ディスク・アクセス振り分け部23により、判定結果に基づいて、高レベル・エミュレーション部22が動作可能であるか否かを示す振り分けフラグがRAM14に書き込まれる。
そして、ディスク・アクセス振り分け部23により、ストレージ50に記憶されたデータを読み込むためのディスク・アクセス要求が、振り分けフラグにしたがって、低レベル・エミュレーション部21から高レベル・エミュレーション部22に切り替えられて転送される。
これにより、高レベル・エミュレーション部22により、その後のOSカーネル16が実行されるようになる(S7)。
(ネットワークブート装置の作用効果)
以上説明したように、本実施形態に係るネットワークブート装置10は、ネットワークブート装置10のコンピュータ10aの起動時に、オペレーティングシステム51が制御するネットワークドライバのうちオペレーティングシステム51の起動の初期の段階ではまだ有効ではないもの31を利用せずに、オペレーティングシステムが制御するネットワークドライバのうちオペレーティングシステムの起動の初期の段階で有効に動作可能なドライバ32を利用して、オペレーティングシステム51の実行に伴って要求されるディスクアクセスをネットワーク上のストレージ50へのアクセスにリダイレクトする低レベル・エミュレーション部21と、オペレーティングシステム51が制御するネットワークドライバ31を利用して、オペレーティングシステム51の実行に伴って要求されるディスクアクセスをネットワーク上のストレージ50へのアクセスにリダイレクトする高レベル・エミュレーション部23と、高レベル・エミュレーション部23が利用するネットワークドライバ31が有効に動作可能であるか否かをオペレーティングシステム51から収集し、低レベル・エミュレーション部21と高レベル・エミュレーション部22とを切り替えてディスク・アクセス要求を送信するディスク・アクセス振り分け部23とを備えているので、OSカーネル16の起動の初期段階から常に動作可能で、かつ、データ転送効率のよいネットワークブート装置10を提供することができる。
以上説明したように、本実施形態に係るネットワークブート装置10は、ネットワークブート装置10のコンピュータ10aの起動時に、オペレーティングシステム51が制御するネットワークドライバのうちオペレーティングシステム51の起動の初期の段階ではまだ有効ではないもの31を利用せずに、オペレーティングシステムが制御するネットワークドライバのうちオペレーティングシステムの起動の初期の段階で有効に動作可能なドライバ32を利用して、オペレーティングシステム51の実行に伴って要求されるディスクアクセスをネットワーク上のストレージ50へのアクセスにリダイレクトする低レベル・エミュレーション部21と、オペレーティングシステム51が制御するネットワークドライバ31を利用して、オペレーティングシステム51の実行に伴って要求されるディスクアクセスをネットワーク上のストレージ50へのアクセスにリダイレクトする高レベル・エミュレーション部23と、高レベル・エミュレーション部23が利用するネットワークドライバ31が有効に動作可能であるか否かをオペレーティングシステム51から収集し、低レベル・エミュレーション部21と高レベル・エミュレーション部22とを切り替えてディスク・アクセス要求を送信するディスク・アクセス振り分け部23とを備えているので、OSカーネル16の起動の初期段階から常に動作可能で、かつ、データ転送効率のよいネットワークブート装置10を提供することができる。
補足すると、ネットワークブート装置10では、オペレーティングシステム51の起動に際して、ディスク・アクセス振り分け部23が、ディスク・アクセス要求を低レベル・エミュレーション部21に振り分けることにより、OSカーネル16の起動直後でも仮想ディスクとして動作できる。また、オペレーティングシステム51が制御するネットワークドライバ31が動作可能になると、ディスク・アクセス振り分け部23は、ディスク・アクセス要求を高レベル・エミュレーション部22に振り分けるので、データ転送効率のよい仮想ディスクとして動作できる。
なお、オペレーティングシステム51の稼動中に、オペレーティングシステム51が制御するTCP/IPドライバ等の設定を変更した場合、一時的にTCP/IPが利用不能になる。この場合、利用不能になったことがオペレーティングシステムから切り替え判定部25に通知されるので、ディスク・アクセス振り分け部23は、実行中のすべてのディスク・アクセス要求を低レベル・エミュレーション部21に振り分ける。これにより、オペレーティングシステム51の処理を継続可能とすることができる。
その後、TCP/IPドライバの設定の変更処理が完了し、TCP/IPが利用可能になった場合、利用可能になったことがPlug and Play通知などでオペレーティングシステム51から切り替え判定部25に通知される。そこで、ディスク・アクセス振り分け部23は、ディスク・アクセス要求を高レベル・エミュレーション部22に振り分け、効率的なデータ転送の状態に戻す。
要するに、ネットワークブート装置10は、ディスク・アクセス振り分け部23がディスク・アクセス要求を適切に振り分けることにより、オペレーティングシステムの稼動中の大半の時間において、高レベル・エミュレーション部22を用いて効率のよいデータ転送を行うことができる。一方、ネットワークブート装置10は、OSカーネル16の起動直後や、図5に概念を示すようにTCP/IPドライバの設定変更などの特別な時間では、低レベル・エミュレーション部21を用いるので、仮想ディスクドライバとしての動作を継続することができる。
なお、このネットワークブート装置10を用いれば、シンクライアントシステムを構築することができ、データの集中管理及びセキュリティ性の向上に資することになる。
<第2の実施形態>
図6は本発明の第2の実施形態に係るネットワークブート装置10Sの構成を示す模式図である。
図6は本発明の第2の実施形態に係るネットワークブート装置10Sの構成を示す模式図である。
本実施形態に係るネットワークブート装置10Sは、ディスク・アクセス振り分け部23Sがディスク・アクセス保留部26を備えている。
ディスク・アクセス保留部26は、高レベル・エミュレーション部22が動作可能であることを振り分けフラグが示していない場合、オペレーティングシステム51の起動時におけるユーザ空間の初期化プロセスの実行ファイルの読み出し要求を保留するものである。
このディスク・アクセス保留部26を具備することにより、ネットワークブート装置10は、オペレーティングシステム51の起動時間を最適化することができる。
補足すると、オペレーティングシステム51の起動時には、TCP/IP等のネットワークドライバの初期化だけではなく、ユーザ空間のさまざまなプロセスの初期化が行われる。これらのプロセスは並列的に初期化が行われるため、いずれの初期化が先に完了するかは不定である。
オペレーティングシステム51が制御するTCP/IP等のネットワークドライバ31の初期化がユーザ空間の初期化プロセスより先であれば、ユーザ空間の初期化プロセスは高レベル・エミュレーション部22により実行されるので、データの転送効率が高い状態で処理が行われる。
しかしながら、オペレーティングシステム51が制御するTCP/IP等のネットワークドライバ31の初期化がユーザ空間の初期化プロセスより後回しになる場合がある。この場合、ユーザ空間の初期化プロセスが低レベル・エミュレーション部21によって実行されるので、データ転送効率が低い状態で処理されることになる。ユーザ空間の初期化は処理量が多いため、オペレーティングシステム51の起動時間が長くなるという問題が生じる。
この点、ディスク・アクセス保留部26を設けることにより、TCP/IP等のネットワークドライバ31を初期化し、高レベル・エミュレーション部22への切り替え後に、ユーザ空間を初期化するという順序が必ず保たれるようになり、オペレーティングシステム51の起動時間を安定して短くすることができるようになる。
<第3の実施形態>
本実施形態においては、切り替え判定部25が、高レベル・エミュレーション部22が動作可能であることを振り分けフラグが示していない場合、高レベル・エミュレーション部22によるディスク・アクセス要求を定期的に実行することにより、高レベル・エミュレーション部22が動作可能であるか否かを判定する。
本実施形態においては、切り替え判定部25が、高レベル・エミュレーション部22が動作可能であることを振り分けフラグが示していない場合、高レベル・エミュレーション部22によるディスク・アクセス要求を定期的に実行することにより、高レベル・エミュレーション部22が動作可能であるか否かを判定する。
第1の実施形態に係る切り替え判定部では、オペレーティングシステム51からPlug and Play通知を受け取った場合に、低レベル・エミュレーション部21から高レベル・エミュレーション部22へ処理を切り替えている。
これに対し、本実施形態に係る切り替え判定部25は、高レベル・エミュレーション部22に対して定期的にディスク・アクセス要求を行い、それが成功した場合に、オペレーティングシステム51からのPlug and Play通知とは独立して切り替え判定を行う。
また、切り替え判定部25は、振り分けフラグが「高レベル・エミュレーション部22が動作可能」であることを示しているときに、高レベル・エミュレーション部22に対するディスク・アクセス要求がエラーまたはタイムアウトとなった場合には、オペレーティングシステム51からのPlug and Play通知とは独立して切り替え判定を行う。
このため、本実施形態に係るネットワークブート装置10では、Plug and Play通知を受け取る前に切り替え判定を行うことができるので、オペレーティングシステム51の起動時間を安定させるとともに短縮化することができる。
<その他>
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
10…ネットワークブート装置、11…ROM、12…BIOS、13…PXE、14…RAM、15…ブートローダ、16…OSカーネル、17…仮想ディスクドライバ、18・・・ネットワークドライバ、21…低レベル・エミュレーション部、22…高レベル・エミュレーション部、23…ディスク・アクセス振り分け部、24…振り分けフラグ記憶部、25…切り替え判定部、26…ディスク・アクセス保留部、50…ストレージ、51…オペレーティングシステム、60…サーバ、61…NBP、62…仮想ディスクBIOSサービスルーチン、100…ネットワーク。
Claims (5)
- ネットワーク上のストレージに記憶されたオペレーティングシステムを起動するネットワークブート装置であって、
前記オペレーティングシステムが制御するドライバとしてインストールされ、前記オペレーティングシステムが制御するネットワークドライバのうち前記オペレーティングシステムの起動の初期の段階ではまだ有効に動作可能ではないものを利用せずに、前記オペレーティングシステムが制御するネットワークドライバのうち前記オペレーティングシステムの起動の初期の段階で有効に動作可能なドライバを利用して、前記オペレーティングシステムの実行に伴って要求されるディスクアクセスをネットワーク上の前記ストレージへのアクセスにリダイレクトする、低レベル・エミュレーション手段と、
前記低レベル・エミュレーション手段に比べてデータ転送効率がよく、前記オペレーティングシステムが制御するネットワークドライバを利用して、前記オペレーティングシステムの実行に伴って要求されるディスクアクセスをネットワーク上の前記ストレージへのアクセスにリダイレクトする、高レベル・エミュレーション手段と、
前記高レベル・エミュレーション手段が利用するネットワークドライバが有効に動作可能であるか否かを前記オペレーティングシステムから収集し、該高レベル・エミュレーション手段が有効に動作可能であるか否かを判定する判定手段と、
前記判定手段による判定結果に基づいて、前記高レベル・エミュレーション手段が動作可能であるか否かを示す振り分けフラグを記憶する手段と、
前記ストレージに記憶されたデータにアクセスするためのディスク・アクセス要求を該ストレージに送信する際、前記振り分けフラグにしたがって、前記低レベル・エミュレーション手段と前記高レベル・エミュレーション手段とを切り替えて該ディスク・アクセス要求を送信する手段と、
を備えたことを特徴とするネットワークブート装置。 - 請求項1に記載のネットワークブート装置において、
前記高レベル・エミュレーション手段が動作可能であることを前記振り分けフラグが示していない場合、前記オペレーティングシステムの起動時におけるユーザ空間の初期化プロセスの実行ファイルを読み出すためのディスク・アクセス要求を保留するディスク・アクセス保留部
をさらに備えたことを特徴とするネットワークブート装置。 - 請求項1または請求項2に記載のネットワークブート装置において、
前記判定手段は、前記高レベル・エミュレーション手段が動作可能であることを前記振り分けフラグが示していない場合、前記高レベル・エミュレーション手段によるディスク・アクセス要求を定期的に実行することにより、該高レベル・エミュレーション手段が動作可能であるか否かを判定する
ことを特徴とするネットワークブート装置。 - ネットワーク上のストレージに記憶されたオペレーティングシステムを起動するネットワークブート装置に用いられるプログラムであって、
前記ネットワークブート装置のコンピュータを、
前記オペレーティングシステムが制御するドライバとしてインストールされ、前記オペレーティングシステムが制御するネットワークドライバのうち前記オペレーティングシステムの起動の初期の段階ではまだ有効に動作可能ではないものを利用せずに、前記オペレーティングシステムが制御するネットワークドライバのうち前記オペレーティングシステムの起動の初期の段階で有効に動作可能なドライバを利用して、前記オペレーティングシステムの実行に伴って要求されるディスクアクセスをネットワーク上の前記ストレージへのアクセスにリダイレクトする、低レベル・エミュレーション手段、
前記低レベル・エミュレーション手段に比べてデータ転送効率がよく、前記オペレーティングシステムが制御するネットワークドライバを利用して、前記オペレーティングシステムの実行に伴って要求されるディスクアクセスをネットワーク上の前記ストレージへのアクセスにリダイレクトする、高レベル・エミュレーション手段、
前記高レベル・エミュレーション手段が利用するネットワークドライバが有効に動作可能であるか否かを前記オペレーティングシステムから収集し、該高レベル・エミュレーション手段が有効に動作可能であるか否かを判定する判定手段、
前記判定手段による判定結果に基づいて、前記高レベル・エミュレーション手段が動作可能であるか否かを示す振り分けフラグを記憶する手段、
前記ストレージに記憶されたデータにアクセスするためのディスク・アクセス要求を該ストレージに送信する際、前記振り分けフラグにしたがって、前記低レベル・エミュレーション手段と前記高レベル・エミュレーション手段とを切り替えて該ディスク・アクセス要求を送信する手段、
として実現させることを特徴とするプログラム。 - ネットワーク上のストレージに記憶されたオペレーティングシステムが制御するネットワークドライバのうち前記オペレーティングシステムの起動の初期の段階ではまだ有効に動作可能ではないものを利用せずに、前記オペレーティングシステムが制御するネットワークドライバのうち前記オペレーティングシステムの起動の初期の段階で有効に動作可能なドライバを利用して、前記オペレーティングシステムの実行に伴って要求されるディスクアクセスをネットワーク上の前記ストレージへのアクセスにリダイレクトする、低レベル・エミュレーション手段と、
前記低レベル・エミュレーション手段に比べてデータ転送効率がよく、前記オペレーティングシステムが制御するネットワークドライバを利用して、前記オペレーティングシステムの実行に伴って要求されるディスクアクセスをネットワーク上の前記ストレージへのアクセスにリダイレクトする、高レベル・エミュレーション手段と、
を備えたネットワークブート装置に用いられるネットワークブート方法であって、
前記ネットワークブート装置のコンピュータの起動時に、前記低レベル・エミュレーション手段を起動する手段と、
前記高レベル・エミュレーション手段が利用するネットワークドライバが有効に動作可能であるか否かを前記オペレーティングシステムから収集し、該高レベル・エミュレーション手段が有効に動作可能であるか否かを判定する判定ステップと、
前記判定ステップによる判定結果に基づいて、前記高レベル・エミュレーション手段が動作可能であるか否かを示す振り分けフラグをメモリに書き込むステップと、
前記ストレージに記憶されたデータにアクセスするためのディスク・アクセス要求を該ストレージに送信する際、前記振り分けフラグにしたがって、前記低レベル・エミュレーション手段と前記高レベル・エミュレーション手段とを切り替えて該ディスク・アクセス要求を送信するステップと、
を備えたことを特徴とするネットワークブート方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008074490A JP2009230433A (ja) | 2008-03-21 | 2008-03-21 | ネットワークブート装置、プログラム及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008074490A JP2009230433A (ja) | 2008-03-21 | 2008-03-21 | ネットワークブート装置、プログラム及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009230433A true JP2009230433A (ja) | 2009-10-08 |
Family
ID=41245743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008074490A Pending JP2009230433A (ja) | 2008-03-21 | 2008-03-21 | ネットワークブート装置、プログラム及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009230433A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011523752A (ja) * | 2008-06-20 | 2011-08-18 | レノボ・シンガポール・プライベート・リミテッド | ハイパーバイザーを使用したディスクレスクライアント |
JP2013077076A (ja) * | 2011-09-29 | 2013-04-25 | Hitachi Ltd | 仮想計算機を制御する計算機装置及び仮想計算機の制御方法 |
JP2014182706A (ja) * | 2013-03-21 | 2014-09-29 | Ntt Data Corp | サーバ装置、ネットワークブートシステム、ネットワークブート方法、及びプログラム |
JP2014529130A (ja) * | 2011-08-30 | 2014-10-30 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. | 仮想トラステッドランタイムbiosとの通信 |
US10303501B2 (en) | 2011-08-30 | 2019-05-28 | Hewlett-Packard Development Company, L.P. | Virtual high privilege mode for a system management request |
CN114489702A (zh) * | 2022-01-29 | 2022-05-13 | 北京有竹居网络技术有限公司 | 安装操作系统的方法、装置、介质以及电子设备 |
-
2008
- 2008-03-21 JP JP2008074490A patent/JP2009230433A/ja active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011523752A (ja) * | 2008-06-20 | 2011-08-18 | レノボ・シンガポール・プライベート・リミテッド | ハイパーバイザーを使用したディスクレスクライアント |
JP2014529130A (ja) * | 2011-08-30 | 2014-10-30 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. | 仮想トラステッドランタイムbiosとの通信 |
US9275230B2 (en) | 2011-08-30 | 2016-03-01 | Hewlett-Packard Development Company, L.P. | Communication with a virtual trusted runtime BIOS |
US9535710B2 (en) | 2011-08-30 | 2017-01-03 | Hewlett-Packard Development Company, L.P. | Communication with a virtual trusted runtime BIOS |
US9542197B2 (en) | 2011-08-30 | 2017-01-10 | Hewlett-Packard Development Company, L.P. | Router and a virtual trusted runtime BIOS |
US10303501B2 (en) | 2011-08-30 | 2019-05-28 | Hewlett-Packard Development Company, L.P. | Virtual high privilege mode for a system management request |
JP2013077076A (ja) * | 2011-09-29 | 2013-04-25 | Hitachi Ltd | 仮想計算機を制御する計算機装置及び仮想計算機の制御方法 |
US9098321B2 (en) | 2011-09-29 | 2015-08-04 | Hitachi, Ltd. | Method and computer for controlling virtual machine |
JP2014182706A (ja) * | 2013-03-21 | 2014-09-29 | Ntt Data Corp | サーバ装置、ネットワークブートシステム、ネットワークブート方法、及びプログラム |
CN114489702A (zh) * | 2022-01-29 | 2022-05-13 | 北京有竹居网络技术有限公司 | 安装操作系统的方法、装置、介质以及电子设备 |
CN114489702B (zh) * | 2022-01-29 | 2023-09-15 | 北京有竹居网络技术有限公司 | 安装操作系统的方法、装置、介质以及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7673131B2 (en) | Booting an operating system in discrete stages | |
KR101512252B1 (ko) | 운영 시스템(os)이 없는 서비스 환경에서 펌웨어를 프로비저닝하는 방법 | |
US7631173B2 (en) | Method and system for performing pre-boot operations from an external memory including memory address and geometry | |
US7360072B1 (en) | iSCSI system OS boot configuration modification | |
US9547500B2 (en) | Customizing program logic for booting a system | |
US7243224B2 (en) | Preboot execution bootloading | |
US6857069B1 (en) | Modified operating system boot sequence for iSCSI device support | |
CN101650660B (zh) | 从中央存储装置引导计算机系统 | |
US7159106B2 (en) | Information handling system manufacture method and system | |
US8875132B2 (en) | Method and apparatus for implementing virtual proxy to support heterogeneous systems management | |
JP2009230433A (ja) | ネットワークブート装置、プログラム及び方法 | |
US7174451B2 (en) | System and method for saving and/or restoring system state information over a network | |
TW201102925A (en) | Computer system and booting method | |
US20050240669A1 (en) | BIOS framework for accommodating multiple service processors on a single server to facilitate distributed/scalable server management | |
JP4199678B2 (ja) | ハイバネーションを使用したクライアントコンピューターのオペレーティングシステムのネットワークブーティングのためのシステム及び方法 | |
US20040243385A1 (en) | Emulation of hardware devices in a pre-boot environment | |
US11182171B1 (en) | Systems and methods for securely launching an embedded operating system using non-volatile memory namespace identifier mapping | |
JP2005523514A (ja) | データをネットワーク上のコンピューターにストリームするためのシステム及び方法 | |
US11635970B2 (en) | Integrated network boot operating system installation leveraging hyperconverged storage | |
JP5275456B2 (ja) | ハイパーバイザーを使用したディスクレスクライアント | |
JP4597032B2 (ja) | コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム | |
JP2008165823A (ja) | データをネットワーク上のコンピューターにストリームするためのシステム及び方法 | |
JP2008198210A (ja) | ハイバネーションを使用したクライアントコンピューターのオペレーティングシステムのネットワークブーティングのためのシステム及び方法 | |
JP2002140205A (ja) | データ処理装置およびデータ処理装置のブート処理方法 | |
MXPA01001732A (en) | Method and system for supporting multiple operating systems on the same disk running on different computers at the same time |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110628 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110829 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110920 |