JP2008112423A - キャッシュサーバ、ネットワークブート方法、及びプログラム - Google Patents

キャッシュサーバ、ネットワークブート方法、及びプログラム Download PDF

Info

Publication number
JP2008112423A
JP2008112423A JP2006296617A JP2006296617A JP2008112423A JP 2008112423 A JP2008112423 A JP 2008112423A JP 2006296617 A JP2006296617 A JP 2006296617A JP 2006296617 A JP2006296617 A JP 2006296617A JP 2008112423 A JP2008112423 A JP 2008112423A
Authority
JP
Japan
Prior art keywords
file
cache
data
sector
disk
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
JP2006296617A
Other languages
English (en)
Other versions
JP4358217B2 (ja
Inventor
Kotaro Endo
浩太郎 遠藤
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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions 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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2006296617A priority Critical patent/JP4358217B2/ja
Publication of JP2008112423A publication Critical patent/JP2008112423A/ja
Application granted granted Critical
Publication of JP4358217B2 publication Critical patent/JP4358217B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】ネットワークブートに対応していない汎用オペレーティングシステムをネットワークブートする場合、ディスクキャッシュのサイズを小さく、かつディスクキャッシュのネットワーク経由の転送時間を短くすること。
【解決手段】データ読出部11は、ファイルシステム解析部12及びデータ転送部17からの読み出し要求に従って、ストレージ63から要求されたセクタの内容を読み出す。データ転送部17は、読み出されたセクタの内容に基づいて決定されたセクタ情報をコンピュータ40に転送する。ファイルシステム解析部12は、ストレージ63にフォーマットされているファイルシステムの構造を解析する。ファイルデータキャッシュ部13は、ファイル名リスト18で指定されているファイルについて、そのファイルデータが格納されているセクタを取得し、取得したセクタをディスクキャッシュされるものとして決定する。
【選択図】 図1

Description

本発明は、例えば、Windows(登録商標)のように、ネットワークブートに対応していない汎用オペレーティングシステムをネットワークブートするために用いられるキャッシュサーバ、このキャッシュサーバを用いたネットワークブート方法、及びプログラムに関する。
例えば、Windowsのような汎用のオペレーティングシステムは、ローカルディスク(内蔵ディスク)にインストールされていることを前提として、コンピュータの立ち上げ処理を行うように設計されているものが主流である。そして、ローカルディスクにインストールされていることを前提としているオペレーティングシステムを、ネットワーク上のストレージ(記憶装置)に格納し、ネットワーク経由で接続されたコンピュータでこれを起動(ネットワークブート)しようとする場合には、特別の技術が必要となる。
まず、ローカルディスクにインストールされているオペレーティングシステムを起動する流れを、図2を用いて説明する。
なお、本明細書において、インストールとは、ハードディスク上へのプログラム等の格納を意味する。そして、「コンピュータにインストール」することは、「コンピュータに内蔵されたハードディスクにインストール」することを意味する。また、「オペレーティングシステムにインストール」することは、「オペレーティングシステムがインストールされているハードディスクにインストール」することを意味している。
コンピュータ30の電源が投入されると、コンピュータ30に内蔵されたROM(読み取り専用メモリ)31に記憶されたBIOS(Basic Input and Output System)32が実行され、ハードウェアの初期化を行った後、ローカルディスク37からブートローダ35がRAM34等のメモリに読み込まれ実行される。ブートローダ35が実行されると、BIOS32が提供するサービスルーチンを使用して、ローカルディスク37からオペレーティングシステムの基本部分であるOSカーネル36がRAM34等のメモリに読み込まれ実行される。OSカーネル36が実行されると、システムはプロテクテッドモードとなり、BIOS32が提供するサービスルーチンは使用されず、オペレーティングシステムのディスクドライバ(図示せず)を使用してローカルディスク37にアクセスし、オペレーティングシステムが起動する。
次に、ネットワークブートに対応したオペレーティングシステムを、ネットワークブートに対応したコンピュータで起動する流れを、図3を用いて説明する。
ネットワークブートに対応したオペレーティングシステムの例としてLinux(登録商標)が挙げられる。また、ネットワークブートに対応したコンピュータの例として、PXE(Preboot Execution Environment)規格に準拠したコンピュータ40が挙げられる。このコンピュータ40の電源が投入されると、コンピュータ40に内蔵されたROM41に記憶されたBIOS42とPXE43が実行され、ハードウェアの初期化を行った後、ネットワーク60を介してサーバ61からNBP(Network Bootstrap Program)62がRAM44等のメモリに読み込まれ実行される。NBP62が実行されると、PXE43が提供するサービスルーチンを使用して、ネットワーク60を介してサーバ61からOSカーネル46がRAM44に読み込まれ実行される。OSカーネル46が実行されると、システムはプロテクテッドモードとなり、PXE43が提供するサービスルーチンは使用されず、オペレーティングシステムのネットワークドライバを使用してネットワーク60上のストレージ63にアクセスし、オペレーティングシステムが起動する。
上述したように、ネットワークブートに対応していない汎用のオペレーティングシステムの例としてWindowsが挙げられる。そのようなオペレーティングシステムをネットワークブートする方法として、ネットワークブートに対応したコンピュータの技術を土台にして、あたかもローカルディスクから起動しているようにエミュレーションする技術が知られている。
ネットワークブートに対応していない汎用のオペレーティングシステムをネットワークブートする方法について、図4を用いて説明する。
第一のエミュレーション手段は、BIOS42が提供するサービスルーチンをフックして、ローカルディスクへのアクセスをネットワーク上のストレージ63へのアクセスにリダイレクトする、仮想ディスクBIOSサービスルーチン62aである。本来の、BIOS42が提供するディスク読み出しのサービスルーチンは、指定されたセクタからデータを読み出しメモリに転送する。一方、仮想ディスクBIOSサービスルーチン62aでは、BIOS42が提供するサービスルーチンをフックして、ネットワーク上のストレージ63の指定されたセクタからデータを読み出し、あたかもそれがローカルディスクから読み出されたかのように、メモリに転送するというものである。
第二のエミュレーション手段は、オペレーティングシステムにインストールされ、ローカルディスクへのアクセスをネットワーク上のストレージ63へのアクセスにリダイレクトする仮想ディスクドライバ47である。本来の、オペレーティングシステムのディスクドライバは、指定されたセクタからデータを読み出しメモリに転送し、あるいは、メモリ上にあるデータを指定されたセクタへ書き込む。一方、仮想ディスクドライバ47は、ネットワーク上のストレージ63の指定されたセクタからデータを読み出し、あたかもそれがローカルディスクから読み出されたかのように、メモリに転送し、あるいは、メモリ上にあるデータを、ネットワーク上のストレージ63の指定されたセクタに書き込む、というものである。
上記各手段を用いて、ネットワークブートに対応していない汎用のオペレーティングシステムを、ネットワークブートに対応したコンピュータで起動する流れは、具体的には以下のとおりである。コンピュータ40の電源が投入されると、コンピュータ40に内蔵されたROM41に記憶されたBIOS42とPXE43とが実行され、ハードウェアの初期化を行った後、ネットワーク60を介してサーバ61から仮想ディスク用のNBP(Network Bootstrap Program)62が、RAM44等のメモリに読み込まれ実行される。NBP62が実行されると、仮想ディスクBIOSサービスルーチン62aが展開され、仮想ディスクのエミュレーションが始まる。
次に、仮想ディスクBIOSサービスルーチン62aを使って、ネットワークブートに対応していないブートローダ45がメモリに読み込まれ実行される。ブートローダ45が実行されると、仮想ディスクBIOSサービスルーチン62aを使って、ネットワーク上のストレージ63からOSカーネル46がメモリに読み込まれ実行される。OSカーネル46にはあらかじめ仮想ディスクドライバ47がインストールされている。OSカーネル46が実行されると、システムはプロテクテッドモードとなり、BIOS42が提供されるサービスルーチンは使用されず、オペレーティングシステムの仮想ディスクドライバ47を使用してネットワーク上のストレージ63にアクセスし、オペレーティングシステムが起動する。
ネットワークブートに対応していない汎用のオペレーティングシステムを、ネットワークブートする上記の技術には、いくつかの課題がある。
第一の課題は、仮想ディスクBIOSサービスルーチン62aの実現方法として、BIOS42が提供するサービスルーチンをフックして、PXE43が提供するサービスルーチンを使って、ネットワーク上のストレージ63へのアクセスにリダイレクトする方法が自然であるが、PXE43が提供するサービスルーチンは、ブートローダ45から呼ばれた場合に正常に動作しない場合があるということである。
第二の課題は、仮想ディスクドライバ47の実現方法として、ローカルディスクへのアクセスを、オペレーティングシステムのネットワークドライバ48を使用して、ネットワーク上のストレージ63へのアクセスにリダイレクトする方法が自然であるが、オペレーティングシステムのネットワークドライバ(例えば、TCP/IPドライバ)48は、OSカーネル46の起動の初期の段階ではまだ使用可能ではない場合があるということである。
更に別の課題は、仮想ディスクのエミュレーションとして、ネットワーク上のストレージ63に、セクタごと(sector by sector)にアクセスを要求し、ネットワーク上でデータ転送を行うと、データ転送効率が悪いということである。
上記何れの課題に対しても、当業者に周知の方法であるディスクキャッシュ49を導入することによって解決することができる。この方法を、図5を用いて説明する。
この方法では、ディスクキャッシュ部62bが、ネットワーク上のストレージ63の内容を、PXE43が提供するサービスルーチンを使って、ネットワークブートするコンピュータのメモリの所定の領域であるディスクキャッシュ49に事前に展開しておく。
仮想ディスクBIOSサービスルーチン62aは、このディスクキャッシュ49からデータを読み出すことにより、PXE43が提供するサービスルーチンを使用せずに、ネットワーク上のストレージ63の内容を取得できる。また、仮想ディスクドライバ47は、OSカーネル46の起動の初期の段階でネットワークドライバ48が使用不可の時には、このディスクキャッシュ49からデータを読み出すことにより、ネットワークドライバ48を使用せずに、ネットワーク上のストレージ63の内容を取得できる。
また、ディスクキャッシュ部62bは、ネットワーク上のストレージ63に、一括してアクセスを要求し、ネットワーク上で一括してデータ転送を行うことができるため、セクタごと(sector by sector)にデータ転送を行う場合に比べて、データ転送効率が良いという利点がある。
上記の手段を用いて、ネットワークブートに対応していない汎用のオペレーティングシステムを、ネットワークブートに対応したコンピュータで起動する流れは、具体的には以下のとおりである。
すなわち、コンピュータ40の電源が投入されると、コンピュータ40に内蔵されたROM41に記憶されたBIOS42とPXE43が実行され、ハードウェアの初期化を行った後、ネットワーク60を介してサーバ61からディスクキャッシュ付き仮想ディスク用のNBP(Network Bootstrap Program)62がRAM44等のメモリに読み込まれ実行される。NBP62が実行されると、ディスクキャッシュ部62bが実行され、ネットワーク上のストレージ63の内容が、PXE43が提供するサービスルーチンを使って、メモリの所定の領域であるディスクキャッシュ49に展開される。
次に、仮想ディスクBIOSサービスルーチン62aが展開され、仮想ディスクのエミュレーションがはじまる。次に、仮想ディスクBIOSサービスルーチン62aを使って、ネットワークブートに対応していないブートローダ45がメモリに読み込まれ実行される。ブートローダ45が実行されると、仮想ディスクBIOSサービスルーチン62aを使って、ディスクキャッシュ49からオペレーティングシステムのカーネルであるOSカーネル46がメモリに読み込まれ実行される。OSカーネル46には予め仮想ディスクドライバ47がインストールされている。OSカーネル46が実行されると、システムはプロテクテッドモードとなり、BIOS42が提供されるサービスルーチンは使用されず、オペレーティングシステムの仮想ディスクドライバ47を使用して、OSカーネル46の起動の初期の段階では、ディスクキャッシュ49をアクセスし、ネットワークドライバ48が使用可能になったあとでは、ネットワーク上のストレージ63にアクセスし、オペレーティングシステムが起動する。
特表2005−523523号公報
しかしながら、オペレーティングシステムの全てをディスクキャッシュに展開することは次の2つの理由で現実的ではない。第一の理由は、オペレーティングシステムのサイズは1Gバイト以上の大きさがあり、一方コンピュータのメモリ容量は1Gバイト程度であり、容量が足りなくなるということである。第二の理由は、ディスクキャッシュのすべてをネットワーク経由で転送するには長大な時間を必要とすることである。
したがって、従来技術では、次の2つの課題があるということができる。第一の課題は、ディスクキャッシュのサイズを小さくする必要があるということであり、第二の課題は、ディスクキャッシュのネットワーク経由の転送時間を短くする必要があるということである。
本発明はこのような事情に鑑みてなされたものであり、ネットワークブートに対応していない汎用オペレーティングシステムをネットワークブートする場合に、ディスクキャッシュのサイズを小さくするとともに、ディスクキャッシュのネットワーク経由の転送時間を短くすることが可能なキャッシュサーバ、ネットワークブート方法、及びプログラムを提供することを目的とする。
なお、特許文献1には、同じ目的で発明された技術が開示されているが、特許文献1で開示されているのは、汎用オペレーティングシステム自身の構造をネットワークブートできるように変える技術であり、本願のように、キャッシュサーバを用いて上記目的を解決する技術ではない。
上記の目的を達成するために、本発明では、以下のような手段を講じる。
すなわち、請求項1の発明は、ネットワークブートに対応していない汎用オペレーティングシステムを、ネットワークブートに対応したコンピュータで起動するために使用されるキャッシュサーバである。
キャッシュサーバは、汎用オペレーティングシステムを格納するストレージと、ネットワークブートするコンピュータとの間にネットワークによって接続され、コンピュータ上のBIOSが提供するサービスルーチンをフックして、コンピュータに備えられたローカルディスクへのアクセスを、ストレージへのアクセスにリダイレクトするコンピュータの仮想ディスクBIOSサービスルーチンと、オペレーティングシステムにインストールされ、ローカルディスクへのアクセスをストレージへのアクセスにリダイレクトする仮想ディスクドライバとが利用するディスクキャッシュの内容を生成するために、データ読出手段と、データ転送手段と、ファイルシステム解析手段と、ファイルデータキャッシュ手段と、フォルダデータキャッシュ手段と、マスタファイルテーブルキャッシュ手段と、特殊ファイルキャッシュ手段と、ファイル名リストとを備えている。
そして、データ読出手段は、ファイルシステム解析手段及びデータ転送手段からの読み出し要求に従って、ストレージから要求されたセクタの内容を読み出す。
データ転送手段は、読み出されたセクタの内容に基づいて、ファイルデータキャッシュ手段、フォルダデータキャッシュ手段、マスタファイルテーブルキャッシュ手段、及び特殊ファイルキャッシュ手段によって決定されたセクタ情報を、ディスクキャッシュを要求したコンピュータに転送する。
ファイルシステム解析手段は、ファイルデータキャッシュ手段、フォルダデータキャッシュ手段、マスタファイルテーブルキャッシュ手段、及び特殊ファイルキャッシュ手段からの要求に応じて、ストレージにフォーマットされているファイルシステムの構造を解析する。
ファイル名リストは、OSカーネルの実行ファイル、ドライバファイル、汎用オペレーティングシステムの立ち上げ時の画面表示に使用される文字フォントファイル、オペレーティングシステム用のレジストリファイル、及びファイルシステムの内部で使用される特殊ファイルのうちの少なくとも何れかを予め指定している。
ファイルデータキャッシュ手段は、ファイル名リストで指定されている全てのファイルについて、ファイルシステム解析手段を利用して、そのファイルデータが格納されているセクタを取得し、取得したセクタをディスクキャッシュされるものとして決定する。
フォルダデータキャッシュ手段は、ファイル名リストで指定されている全てのファイルについて、そのファイルが格納されているフォルダについて、ファイルシステム解析手段を利用して、そのフォルダデータが格納されているセクタを取得し、取得したセクタをディスクキャッシュされるものとして決定する。
マスタファイルテーブルキャッシュ手段は、ファイル名リストで指定されている全てのファイル、及び全てのファイルが格納されているフォルダについて、ファイルシステム解析手段を利用して、全てのファイル及びフォルダについての情報が格納されているマスタファイルテーブル内のセクタを取得し、取得したセクタをディスクキャッシュされるものとして決定する。
特殊ファイルキャッシュ手段は、ファイルシステムが持つジャーナルログファイル又はページングファイルを含む特殊ファイルについて、特殊ファイル内のヘッダ情報を読み取り、特殊ファイル内の有効なセクタを割り出し、割り出したセクタをディスクキャッシュされるものとして決定する。
また、請求項2の発明は、請求項1に記載のキャッシュサーバにおいて、ネットワークブートの途中段階で、キャッシュミスヒットのためネットワークブートが中断した場合、ミスヒットとなったセクタの情報を取得し、取得したセクタの情報に基づいてファイル名リストを更新し、セクタがマスタファイルテーブル外である場合には、マスタファイルテーブルを順次検索し、セクタをファイルデータとして持つファイルをファイル名リストに追加し、セクタがマスタファイルテーブル内にある場合には、そのファイル情報が格納されているファイルを、ファイル名リストに追加するファイル名リスト更新手段を更に備える。
また、請求項3の発明は、ネットワークブートに対応していない汎用オペレーティングシステムを、ネットワークブートに対応したコンピュータで起動するために、汎用オペレーティングシステムを格納するストレージと、コンピュータとの間にネットワークによって接続されたキャッシュサーバを用いるネットワークブート方法である。
ここで、コンピュータは、ローカルディスクと、BIOSと、ストレージへのアクセスにリダイレクトする仮想ディスクBIOSサービスルーチンと、ローカルディスクへのアクセスをストレージへのアクセスにリダイレクトする仮想ディスクドライバと、ディスクキャッシュ手段と、起動データ記憶装置とを備えている。
一方、キャッシュサーバは、BIOSが提供するサービスルーチンをフックして、ローカルディスクへのアクセスを、仮想ディスクBIOSサービスルーチンと仮想ディスクドライバとが利用するディスクキャッシュの内容を生成するために、データ読出手段と、データ転送手段と、ファイルシステム解析手段と、ファイルデータキャッシュ手段と、フォルダデータキャッシュ手段と、マスタファイルテーブルキャッシュ手段と、特殊ファイルキャッシュ手段と、ファイル名リストとを備えている。
そして、データ読出手段は、ファイルシステム解析手段及びデータ転送手段からの読み出し要求に従って、ストレージから、要求されたセクタの内容を読み出す。
ファイルシステム解析手段は、ファイルデータキャッシュ手段、フォルダデータキャッシュ手段、マスタファイルテーブルキャッシュ手段、及び特殊ファイルキャッシュ手段の要求に応じて、ストレージにフォーマットされているファイルシステムの構造を解析する。
ファイル名リストは、OSカーネルの実行ファイル、ドライバファイル、汎用オペレーティングシステムの立ち上げ時の画面表示に使用される文字フォントファイル、オペレーティングシステム用のレジストリファイル、及びファイルシステムの内部で使用される特殊ファイルのうちの少なくとも何れかを予め指定している。
ファイルデータキャッシュ手段は、ファイル名リストで指定されている全てのファイルについて、ファイルシステム解析手段を利用して、そのファイルデータが格納されているセクタを取得し、取得したセクタをディスクキャッシュされるものとして決定する。
フォルダデータキャッシュ手段は、ファイル名リストで指定されている全てのファイルについて、そのファイルが格納されているフォルダについて、ファイルシステム解析手段を利用して、そのフォルダデータが格納されているセクタを取得し、取得したセクタをディスクキャッシュされるものとして決定する。
マスタファイルテーブルキャッシュ手段は、ファイル名リストで指定されている全てのファイル、及び全てのファイルが格納されているフォルダについて、ファイルシステム解析手段を利用して、全てのファイル及びフォルダについての情報が格納されているマスタファイルテーブル内のセクタを取得し、取得したセクタをディスクキャッシュされるものとして決定する。
特殊ファイルキャッシュ手段は、ファイルシステムが持つジャーナルログファイル又はページングファイルを含む特殊ファイルについて、特殊ファイル内のヘッダ情報を読み取り、特殊ファイル内の有効なセクタを割り出し、割り出したセクタをディスクキャッシュされるものとして決定する。
データ転送手段は、読み出されたセクタの内容に基づいて、ファイルデータキャッシュ手段、フォルダデータキャッシュ手段、マスタファイルテーブルキャッシュ手段、及び特殊ファイルキャッシュ手段によって決定されたセクタ情報と、このセクタから読み出されるハッシュコードとを、ディスクキャッシュを要求したコンピュータに転送する。
起動データ記憶装置は、OSカーネルの実行ファイル、ドライバファイル、及び汎用オペレーティングシステムの立ち上げ時の画面表示に使用する文字フォントファイルのうちの何れかに含まれるデータを、セクタ単位で予め記憶している。
ディスクキャッシュ手段は、起動データ記憶装置に記憶されている各データについてハッシュコードを予め計算しておき、計算したハッシュコードのなかに、データ転送手段から転送されたハッシュコードと一致するものがない場合には、データ転送手段から、そのセクタから読み出したデータを取得し、ディスクキャッシュに展開する一方、一致するものがある場合には、起動データ記憶装置の該データを取得し、ディスクキャッシュに展開する。
更に、請求項4及び請求項5の発明は、ネットワークブートに対応していない汎用オペレーティングシステムを、ネットワークブートに対応したコンピュータで起動するために使用される請求項1及び請求項2の発明のキャッシュサーバにそれぞれ適用されるコンピュータ読取可能なプログラムである。
本発明によれば、ネットワークブートに対応していない汎用オペレーティングシステムをネットワークブートする場合に、必要なファイルのみしかコンピュータにキャッシュせずに、コンピュータをネットワークブートすることができる。
以上により、ディスクキャッシュのサイズを小さくするとともに、ディスクキャッシュのネットワーク経由の転送時間を短くすることが可能なキャッシュサーバ、ネットワークブート方法、及びプログラムを実現することができる。
以下に、本発明を実施するための最良の形態について図面を参照しながら説明する。
なお、以下の各実施の形態の説明に用いる図中の符号は、図3と同一部分については同一符号を付して示し、重複説明を避ける。
(第1の実施の形態)
図1は、本発明の第1の実施の形態に係るキャッシュサーバが配置されるネットワーク環境を示す概念図である。すなわち、本実施の形態に係るキャッシュサーバ10は、ネットワーク60によってコンピュータ40とネットワーク上のストレージ63との間に配置される。なお、図1では、簡略のために、キャッシュサーバ10に一つのコンピュータ40のみが接続された状態を示しているが、キャッシュサーバ10には複数のコンピュータが接続されうる。また、図1に示すネットワーク60は、イーサネット(登録商標)等のLAN、あるいは公衆回線や専用回線を介して複数のLANが接続されるWAN等からなりうる。LANの場合には、必要に応じてルータを介した多数のサブネットから構成され、WANの場合には、公衆回線に接続するためのファイアウォール等を適宜備えているが、図1ではその図示及び詳細説明を省略している。
コンピュータ40のディスクキャッシュ部62bは、コンピュータ40の立ち上げ時にディスクキャッシュ49の内容の転送をキャッシュサーバ10に要求する。キャッシュサーバ10は、ディスクキャッシュ部62bから要求を受けると、ネットワーク上のストレージ63へ接続し、必要なセクタからデータを読み出し、ディスクキャッシュの内容を生成し、コンピュータ40へ転送する。ここで、必要なセクタは、キャッシュサーバ10上にあるファイル名リスト18に指定されているファイル名と、ネットワーク上のストレージ63にあるファイルシステムの構造を解析することによって決定される。
このファイル名リスト18には、OSカーネル46の実行ファイルや、ネットワークドライバ48などのドライバファイル、立ち上げ時の画面表示に使用する文字フォントファイル、オペレーティングシステムの設定を記憶しているレジストリファイル、ファイルシステム構造の内部で使用される特殊ファイル等のファイル名が含まれる。また、そのファイルがどのフォルダに格納されるものであるかについての指定も含まれる。あるいは、いくつかのファイルについては、それが既知であるとして、明示的にリストに含まれずとも暗黙のうちに含まれているものとしてもよい。あるいは、いくつかのフォルダについては、それが既知であるとして、明示的にリストに指定されずとも、暗黙のうちに指定されているとしてもよい。このように、ファイル名リスト18によるファイル名の一覧の指定方法は、さまざまな変形が可能であるが、本発明の本質としては同一であると考えることができる。
キャッシュサーバ10は、必要なセクタを決定するためにデータ読出部11、ファイルシステム解析部12、ファイルデータキャッシュ部13、フォルダデータキャッシュ部14、MFT(Master File Table)キャッシュ部15、特殊ファイルキャッシュ部16、及びデータ転送部17を備えている。
データ読出部11は、ネットワーク上のストレージ63上からデータを読み出す。ファイルシステム解析部12は、ファイルシステムの構造を解析する。ファイルデータキャッシュ部13は、ファイルデータに対応するセクタを決定する。フォルダデータキャッシュ部14は、フォルダデータに対応するセクタを決定する。MFTキャッシュ部15は、MFT内のセクタを決定する。特殊ファイルキャッシュ部16は、特殊ファイル内のセクタを決定する。データ転送部17は、コンピュータ40へディスクキャッシュの内容を転送する。以下、これら各部位の機能の詳細について説明する。
データ読出部11は、ファイルシステム解析部12およびデータ転送部17からの読み出し要求にしたがって、ネットワーク上のストレージ63から指定されたセクタの内容を読み出す。なお、データ読出部11は、前回読み出したデータを記憶しておき、同一セクタの読み出し要求が行われた場合には、ネットワーク上のストレージ63から読み出しを行わないようにしてもよい。あるいは、データ読出部11は、指定されたセクタの前後のセクタも一括して読み出し、そのデータを記憶しておき、そのセクタの読み出し要求が行われた場合には、ストレージ63からの読み出しを行わないようにしてもよい。このように、データ読出部11で、読み出しデータをキャッシュしておくことは任意に可能であり、様々な変形があり得るが、本発明の本質としては同一であると考えることができる。
データ転送部17は、データ読出部11によって読み出されたセクタの内容に基づいて、ファイルデータキャッシュ部13、フォルダデータキャッシュ部14、MFTキャッシュ部15、及び特殊ファイルキャッシュ部16によって決定されたセクタ情報を、ディスクキャッシュを要求したコンピュータ40に転送する。また、そのセクタから読み出したデータを、ディスクキャッシュを要求したコンピュータ40に転送する。データ転送は、前記各部位13乃至16がセクタを決定した都度行ってもよいし、全てのセクタについて決定した後に一括して行ってもよい。このように、データ転送のタイミングについては、様々な変形があり得るが、本発明の本質としては同一であると考えることができる。
ファイルシステム解析部12は、ファイルデータキャッシュ部13、フォルダデータキャッシュ部14、MFTキャッシュ部15、特殊ファイルキャッシュ部16の要求に応じて、ストレージ63にフォーマットされているファイルシステムの構造について解析する。ファイルシステムの基幹の構造は、MFTと呼ばれるテーブルによって決定される。MFTは、ファイルシステム上にある全てのファイルの一覧であると考えることができる。MFTを解析することにより、各ファイルの名前、属性、ファイルデータの格納されているセクタ等の情報が得られる。また、ファイルシステムは、フォルダの階層的な包含関係によってツリー構造を持っている。フォルダはそれ自体、フォルダ属性を持ったファイルであり、そのファイルデータには、フォルダに含まれるファイルの一覧情報が含まれる。これを便宜的にフォルダデータと呼ぶことにする。したがって、ファイルシステムのルートから、フォルダデータを順に追って行くことによって、そのツリー構造を解析することができる。
ファイルデータキャッシュ部13は、ファイル名リスト18で指定された全てのファイルについて、ファイルシステム解析部12を利用して、そのファイルデータが格納されているセクタを取得し、そのセクタをディスクキャッシュされるものとして決定する。
フォルダデータキャッシュ部14は、ファイル名リスト18で指定された全てのファイルについて、そのファイルが格納されているフォルダ(階層的にその全ての親フォルダも含む)について、ファイルシステム解析部12を利用して、そのフォルダデータが格納されているセクタを取得し、そのセクタをディスクキャッシュされるものとして決定する。
MFTキャッシュ部15は、ファイル名リスト18で指定された全てのファイル、および、そのファイルが格納されているフォルダ(階層的にそのすべての親フォルダも含む)について、ファイルシステム解析部12を利用して、そのファイルおよびフォルダについて情報が格納されているMFT内のセクタを取得し、そのセクタをディスクキャッシュされるものとして決定する。
特殊ファイルキャッシュ部16は、ファイルシステムがもつジャーナルログファイルやページングファイルなどの特殊ファイルについて、特殊ファイル内のヘッダー情報を読み取り、ファイル内の有効なセクタを割り出し、そのセクタをディスクキャッシュされるものとして決定する。
ファイルデータキャッシュ部13、フォルダデータキャッシュ部14、MFTキャッシュ部15、特殊ファイルキャッシュ部16の各部位は、セクタを決定する際に、その前後の一連のセクタも一括してディスクキャッシュされるものとして決定する所謂「はみだし動作」を行う。はみだし量は、ファイルシステムが設定として持っているクラスタサイズから決定されるとしてもよいし、例えば64Kバイトのように固定としてもよい。それぞれのキャッシュ部13乃至16によって、はみだし量は異なるとすることもできる。はみだし量に関しては、さまざまな変形があり得るが、本発明の本質としては同一であると考えることができる。
上述したように、本実施の形態に係るキャッシュサーバ10を配置すれば、必要なファイルのみしかキャッシュしないので、ディスクキャッシュ49のサイズを小さくすることができる。また、ディスクキャッシュ49のサイズが小さくなることにより、ディスクキャッシュ49のネットワーク経由の転送時間もその分だけ短くすることができる。例えば、WindowsXP(登録商標)でネットワークブートを行う場合では、ディスクキャッシュ49のサイズが20Mバイト程度で十分であることがわかっている。
また、本実施の形態は、ファイル名による指定方法であるため、ファイルの再配置(デフラグ等)、オペレーティングシステムの更新等によって、ネットワーク上のストレージ63のファイルデータの配置が変化した場合でも、問題なく追従できるという利点がある。
(第2の実施の形態)
第2の実施の形態に係るキャッシュサーバについて再び図1を用いて説明する。第2の実施の形態に係るキャッシュサーバは、第1の実施の形態に係るキャッシュサーバの変形例であるので、ここでは、第1の実施の形態と異なる点について説明し、重複説明を避ける。
すなわち、第1の実施の形態では、ファイル名リスト18で指定するファイル名は全て既知であることが前提であるが、ハードウェアに接続するデバイスを増やした場合などには、必要なドライバファイルが増える場合がある。その場合には、ファイル名リスト18を更新する必要がある。そうしないと、ネットワークブートの途中の段階で、ディスクキャッシュ49のキャッシュミスヒットのためネットワークブートが中断することになる。
これに対処するために、本実施の形態に係るキャッシュサーバは、ファイル名リスト更新部19を更に備えている。
ファイル名リスト更新部19は、ネットワークブートの途中の段階で、ディスクキャッシュ49のキャッシュミスヒットのためネットワークブートが中断した場合、ミスヒットとなったセクタ情報を取得し、そのセクタ情報に基づいて、ファイル名リスト18を更新する。当該セクタがMFT外の場合には、MFTを順次検索し、そのセクタをファイルデータとして持つファイルをファイル名リスト18に追加する。当該セクタがMFT内の場合には、そこでファイル情報が格納されているファイルを、ファイル名リスト18に追加する。
以上のように、ファイル名リスト更新部19を備えることによって、本実施の形態に係るキャッシュサーバは、ディスクキャッシュ49のキャッシュミスの理由で、ネットワークブートができない場合でも、ファイル名リスト更新部19を使用して、再起動することを繰り返すことにより、ネットワークブートができるようになる。
(第3の実施の形態)
第3の実施の形態に係るキャッシュサーバについて再び図1を用いて説明する。第3の実施の形態に係るキャッシュサーバは、第1の実施の形態に係るキャッシュサーバの変形例であるので、ここでは、第1の実施の形態と異なる点について説明し、重複説明を避ける。
第1の実施の形態では、ネットワークブートに必要ではないデータをディスクキャッシュ49から除外できる。それに対し、本実施の形態では、コンピュータ40に、ローカルディスク等のコンピュータ40に内蔵された記憶装置である起動データ記憶部50を設けることによって、ネットワークブートに必要なデータについてディスクキャッシュ49の転送量を削減する方法を提供する。この方法について、以下に説明する。
すなわち、ネットワークブートに必要なセクタのデータの大半は、既知のデータである。すなわち、OSカーネル46の実行ファイルや、ネットワークドライバ48などのドライバファイル、立ち上げ時の画面表示に使用する文字フォントファイルなどのファイルデータに含まれるデータである。これらのデータについて、セクタ単位で、ROM41や起動データ記憶部50に予め記憶しておく。よって起動データ記憶部50は、セクタ単位での既知のデータの集合と考えることができる。
そして、データ転送部17は、キャッシュデータの内容を転送する際、二段階で実施する。データ転送部17はまず、セクタ情報とそのセクタから読み出したデータのハッシュコードを転送する(第一段階)。ディスクキャッシュ部62bは、起動データ記憶部50の各データについてハッシュコードを予め計算しておき、データ転送部17から受け取ったハッシュコードと一致するものがないかを判定する。一致するものがなかった場合には、データ転送部17が、そのセクタから読み出したデータを転送し(第二段階)、ディスクキャッシュ49に展開する。一方、一致するものがあった場合には、起動データ記憶部50の当該データを取得し、ディスクキャッシュ49に展開する。
以上のように、起動データ記憶部50を備え、データ転送部17がキャッシュデータの内容を二段階で転送することによって、ハッシュコードが、起動データ記憶部50の何れかのデータと一致するセクタに関して、ネットワーク上のデータ転送量を削減することができる。セクタサイズの転送量を、ハッシュコードサイズの転送量に削減する効果がある。たとえば、セクタサイズ=4Kバイト、ハッシュコードサイズ=20バイトの場合、最大で約200倍の性能向上が見込まれる。ただし、一部のデータは既知ではなく、起動する毎に変化するものや、実行環境によって変化するものがあるため、全てのデータの転送を削減できる訳ではないが、そのようなデータはデータ転送の全体量から見れば比較的少ない。
なお、起動データ記憶部50は、セクタ情報とは無関係なデータベースであるため、ファイルの再配置(デフラグ等)や、オペレーティングシステムの更新等によって、ネットワーク上のストレージ63のファイルデータの配置が変化した場合でも、問題なく追従できるという利点がある。
以上、本発明を実施するための最良の形態について、添付図面を参照しながら説明したが、本発明はかかる構成に限定されない。特許請求の範囲の発明された技術的思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の技術的範囲に属するものと了解される。
例えば、上記第1乃至3の実施の形態では、コンピュータ40が一台である場合を示したが、本発明の適用は、一台のみのコンピュータ40に限定されたものではなく、一台のキャッシュサーバ10に複数台のコンピュータ40が接続され、これら複数のコンピュータ40が一台のキャッシュサーバ10を共有することによって、複数台のコンピュータ40に対しても容易に拡張することが可能である。また、この場合、ファイル名リスト18も、同一環境のコンピュータ40について共有することも可能である。
本発明の第1の実施の形態に係るキャッシュサーバが配置されるネットワーク環境を示す概念図。 ローカルディスクにオペレーティングシステムをインストールしているコンピュータの構成例を示す機能ブロック図。 ネットワークブートに対応したオペレーティングシステムを、ネットワークブートするコンピュータの構成例を示す機能ブロック図。 ネットワークブートに対応していない汎用のオペレーティングシステムを、ネットワークブートするコンピュータの構成例を示す機能ブロック図。 ネットワークブートに対応していない汎用のオペレーティングシステムを、ネットワークブートするコンピュータ(ディスクキャッシュあり)の構成例を示す機能ブロック図。
符号の説明
10…キャッシュサーバ、11…データ読出部、12…ファイルシステム解析部、13…ファイルデータキャッシュ部、14…フォルダデータキャッシュ部、15…MFTキャッシュ部、16…特殊ファイルキャッシュ部、17…データ転送部、18…ファイル名リスト、19…ファイル名リスト更新部、30…コンピュータ、31…ROM、32…BIOS、34…RAM、35…ブートローダ、36…OSカーネル、37…ローカルディスク、40…コンピュータ、41…ROM、42…BIOS、43…PXE、44…RAM、45…ブートローダ、46…OSカーネル、47…仮想ディスクドライバ、48…ネットワークドライバ、49…ディスクキャッシュ、50…起動データ記憶部、60…ネットワーク、61…サーバ、62…NBP、62a…仮想ディスクBIOSサービスルーチン、62b…ディスクキャッシュ部、63…ストレージ

Claims (5)

  1. ネットワークブートに対応していない汎用オペレーティングシステムを、ネットワークブートに対応したコンピュータで起動するために使用されるキャッシュサーバであって、
    前記キャッシュサーバは、前記汎用オペレーティングシステムを格納するストレージと、ネットワークブートする前記コンピュータとの間にネットワークによって接続され、前記コンピュータ上のBIOSが提供するサービスルーチンをフックして、前記コンピュータに備えられたローカルディスクへのアクセスを、前記ストレージへのアクセスにリダイレクトする前記コンピュータの仮想ディスクBIOSサービスルーチンと、前記オペレーティングシステムにインストールされ、前記ローカルディスクへのアクセスを前記ストレージへのアクセスにリダイレクトする仮想ディスクドライバとが利用するディスクキャッシュの内容を生成するために、データ読出手段と、データ転送手段と、ファイルシステム解析手段と、ファイルデータキャッシュ手段と、フォルダデータキャッシュ手段と、マスタファイルテーブルキャッシュ手段と、特殊ファイルキャッシュ手段と、ファイル名リストとを備え、
    前記データ読出手段は、前記ファイルシステム解析手段及びデータ転送手段からの読み出し要求に従って、前記ストレージから要求されたセクタの内容を読み出し、
    前記データ転送手段は、前記読み出されたセクタの内容に基づいて、前記ファイルデータキャッシュ手段、前記フォルダデータキャッシュ手段、前記マスタファイルテーブルキャッシュ手段、及び前記特殊ファイルキャッシュ手段によって決定されたセクタ情報を、ディスクキャッシュを要求したコンピュータに転送し、
    前記ファイルシステム解析手段は、前記ファイルデータキャッシュ手段、前記フォルダデータキャッシュ手段、前記マスタファイルテーブルキャッシュ手段、及び前記特殊ファイルキャッシュ手段からの要求に応じて、前記ストレージにフォーマットされているファイルシステムの構造を解析し、
    前記ファイル名リストは、OSカーネルの実行ファイル、ドライバファイル、前記汎用オペレーティングシステムの立ち上げ時の画面表示に使用される文字フォントファイル、前記オペレーティングシステム用のレジストリファイル、及び前記ファイルシステムの内部で使用される特殊ファイルのうちの少なくとも何れかを予め指定しており、
    前記ファイルデータキャッシュ手段は、前記ファイル名リストで指定されている全てのファイルについて、前記ファイルシステム解析手段を利用して、そのファイルデータが格納されているセクタを取得し、取得したセクタをディスクキャッシュされるものとして決定し、
    前記フォルダデータキャッシュ手段は、前記ファイル名リストで指定されている全てのファイルについて、そのファイルが格納されているフォルダについて、前記ファイルシステム解析手段を利用して、そのフォルダデータが格納されているセクタを取得し、取得したセクタをディスクキャッシュされるものとして決定し、
    前記マスタファイルテーブルキャッシュ手段は、前記ファイル名リストで指定されている全てのファイル、及び前記全てのファイルが格納されているフォルダについて、前記ファイルシステム解析手段を利用して、前記全てのファイル及びフォルダについての情報が格納されているマスタファイルテーブル内のセクタを取得し、取得したセクタをディスクキャッシュされるものとして決定し、
    前記特殊ファイルキャッシュ手段は、前記ファイルシステムが持つジャーナルログファイル又はページングファイルを含む特殊ファイルについて、前記特殊ファイル内のヘッダ情報を読み取り、前記特殊ファイル内の有効なセクタを割り出し、割り出したセクタをディスクキャッシュされるものとして決定するキャッシュサーバ。
  2. 請求項1に記載のキャッシュサーバにおいて、
    ネットワークブートの途中段階で、キャッシュミスヒットのためネットワークブートが中断した場合、ミスヒットとなったセクタの情報を取得し、取得したセクタの情報に基づいて前記ファイル名リストを更新し、前記セクタがマスタファイルテーブル外である場合には、前記マスタファイルテーブルを順次検索し、前記セクタをファイルデータとして持つファイルを前記ファイル名リストに追加し、前記セクタがマスタファイルテーブル内にある場合には、そのファイル情報が格納されているファイルを、前記ファイル名リストに追加するファイル名リスト更新手段を更に備えたキャッシュサーバ。
  3. ネットワークブートに対応していない汎用オペレーティングシステムを、ネットワークブートに対応したコンピュータで起動するために、前記汎用オペレーティングシステムを格納するストレージと、前記コンピュータとの間にネットワークによって接続されたキャッシュサーバを用いるネットワークブート方法であって、
    前記コンピュータは、ローカルディスクと、BIOSと、前記ストレージへのアクセスにリダイレクトする仮想ディスクBIOSサービスルーチンと、前記ローカルディスクへのアクセスを前記ストレージへのアクセスにリダイレクトする仮想ディスクドライバと、ディスクキャッシュ手段と、起動データ記憶装置とを備え、
    前記キャッシュサーバは、前記BIOSが提供するサービスルーチンをフックして、前記ローカルディスクへのアクセスを、前記仮想ディスクBIOSサービスルーチンと前記仮想ディスクドライバとが利用するディスクキャッシュの内容を生成するために、データ読出手段と、データ転送手段と、ファイルシステム解析手段と、ファイルデータキャッシュ手段と、フォルダデータキャッシュ手段と、マスタファイルテーブルキャッシュ手段と、特殊ファイルキャッシュ手段と、ファイル名リストとを備え、
    前記データ読出手段は、前記ファイルシステム解析手段及びデータ転送手段からの読み出し要求に従って、前記ストレージから、要求されたセクタの内容を読み出し、
    前記ファイルシステム解析手段は、前記ファイルデータキャッシュ手段、前記フォルダデータキャッシュ手段、前記マスタファイルテーブルキャッシュ手段、及び前記特殊ファイルキャッシュ手段の要求に応じて、前記ストレージにフォーマットされているファイルシステムの構造を解析し、
    前記ファイル名リストは、OSカーネルの実行ファイル、ドライバファイル、前記汎用オペレーティングシステムの立ち上げ時の画面表示に使用される文字フォントファイル、前記オペレーティングシステム用のレジストリファイル、及び前記ファイルシステムの内部で使用される特殊ファイルのうちの少なくとも何れかを予め指定しており、
    前記ファイルデータキャッシュ手段は、前記ファイル名リストで指定されている全てのファイルについて、前記ファイルシステム解析手段を利用して、そのファイルデータが格納されているセクタを取得し、取得したセクタをディスクキャッシュされるものとして決定し、
    前記フォルダデータキャッシュ手段は、前記ファイル名リストで指定されている全てのファイルについて、そのファイルが格納されているフォルダについて、前記ファイルシステム解析手段を利用して、そのフォルダデータが格納されているセクタを取得し、取得したセクタをディスクキャッシュされるものとして決定し、
    前記マスタファイルテーブルキャッシュ手段は、前記ファイル名リストで指定されている全てのファイル、及び前記全てのファイルが格納されているフォルダについて、前記ファイルシステム解析手段を利用して、前記全てのファイル及びフォルダについての情報が格納されているマスタファイルテーブル内のセクタを取得し、取得したセクタをディスクキャッシュされるものとして決定し、
    前記特殊ファイルキャッシュ手段は、前記ファイルシステムが持つジャーナルログファイル又はページングファイルを含む特殊ファイルについて、前記特殊ファイル内のヘッダ情報を読み取り、前記特殊ファイル内の有効なセクタを割り出し、割り出したセクタをディスクキャッシュされるものとして決定し、
    前記データ転送手段は、前記読み出されたセクタの内容に基づいて、前記ファイルデータキャッシュ手段、前記フォルダデータキャッシュ手段、前記マスタファイルテーブルキャッシュ手段、及び前記特殊ファイルキャッシュ手段によって決定されたセクタ情報と、このセクタから読み出されるハッシュコードとを、ディスクキャッシュを要求したコンピュータに転送し、
    前記起動データ記憶装置は、OSカーネルの実行ファイル、ドライバファイル、及び前記汎用オペレーティングシステムの立ち上げ時の画面表示に使用する文字フォントファイルのうちの何れかに含まれるデータを、セクタ単位で予め記憶しており、
    前記ディスクキャッシュ手段は、前記起動データ記憶装置に記憶されている各データについてハッシュコードを予め計算しておき、計算したハッシュコードのなかに、前記データ転送手段から転送されたハッシュコードと一致するものがない場合には、前記データ転送手段から、そのセクタから読み出したデータを取得し、ディスクキャッシュに展開する一方、一致するものがある場合には、前記起動データ記憶装置の該データを取得し、ディスクキャッシュに展開するようにしたネットワークブート方法。
  4. ネットワークブートに対応していない汎用オペレーティングシステムを、ネットワークブートに対応したコンピュータで起動するために使用されるキャッシュサーバに適用されるコンピュータ読取可能なプログラムであって、
    前記キャッシュサーバは、前記汎用オペレーティングシステムを格納するストレージと、ネットワークブートする前記コンピュータとの間にネットワークによって接続され、前記コンピュータ上のBIOSが提供するサービスルーチンをフックして、前記コンピュータに備えられたローカルディスクへのアクセスを、前記ストレージへのアクセスにリダイレクトする前記コンピュータの仮想ディスクBIOSサービスルーチンと、前記オペレーティングシステムにインストールされ、前記ローカルディスクへのアクセスを前記ストレージへのアクセスにリダイレクトする仮想ディスクドライバとが利用するディスクキャッシュの内容を生成するために、データ読出手段と、データ転送手段と、ファイルシステム解析手段と、ファイルデータキャッシュ手段と、フォルダデータキャッシュ手段と、マスタファイルテーブルキャッシュ手段と、特殊ファイルキャッシュ手段と、ファイル名リストとを備え、前記ファイル名リストは、OSカーネルの実行ファイル、ドライバファイル、前記汎用オペレーティングシステムの立ち上げ時の画面表示に使用される文字フォントファイル、前記オペレーティングシステム用のレジストリファイル、及び前記ファイルシステムの内部で使用される特殊ファイルのうちの少なくとも何れかを予め指定しており、
    前記プログラムは、
    前記データ読出手段が、前記ファイルシステム解析手段及びデータ転送手段からの読み出し要求に従って、前記ストレージから要求されたセクタの内容を読み出す機能、
    前記データ転送手段が、前記読み出されたセクタの内容に基づいて、前記ファイルデータキャッシュ手段、前記フォルダデータキャッシュ手段、前記マスタファイルテーブルキャッシュ手段、及び前記特殊ファイルキャッシュ手段によって決定されたセクタ情報を、ディスクキャッシュを要求したコンピュータに転送する機能、
    前記ファイルシステム解析手段が、前記ファイルデータキャッシュ手段、前記フォルダデータキャッシュ手段、前記マスタファイルテーブルキャッシュ手段、及び前記特殊ファイルキャッシュ手段からの要求に応じて、前記ストレージにフォーマットされているファイルシステムの構造を解析する機能、
    前記ファイルデータキャッシュ手段が、前記ファイル名リストで指定されている全てのファイルについて、前記ファイルシステム解析手段を利用して、そのファイルデータが格納されているセクタを取得し、取得したセクタをディスクキャッシュされるものとして決定する機能、
    前記フォルダデータキャッシュ手段が、前記ファイル名リストで指定されている全てのファイルについて、そのファイルが格納されているフォルダについて、前記ファイルシステム解析手段を利用して、そのフォルダデータが格納されているセクタを取得し、取得したセクタをディスクキャッシュされるものとして決定する機能、
    前記マスタファイルテーブルキャッシュ手段が、前記ファイル名リストで指定されている全てのファイル、及び前記全てのファイルが格納されているフォルダについて、前記ファイルシステム解析手段を利用して、前記全てのファイル及びフォルダについての情報が格納されているマスタファイルテーブル内のセクタを取得し、取得したセクタをディスクキャッシュされるものとして決定する機能、
    前記特殊ファイルキャッシュ手段が、前記ファイルシステムが持つジャーナルログファイル又はページングファイルを含む特殊ファイルについて、前記特殊ファイル内のヘッダ情報を読み取り、前記特殊ファイル内の有効なセクタを割り出し、割り出したセクタをディスクキャッシュされるものとして決定する機能
    をコンピュータに実現させるためのプログラム。
  5. 請求項4に記載のプログラムにおいて、
    ネットワークブートの途中段階で、キャッシュミスヒットのためネットワークブートが中断した場合、ミスヒットとなったセクタの情報を取得し、取得したセクタの情報に基づいて前記ファイル名リストを更新し、前記セクタがマスタファイルテーブル外である場合には、前記マスタファイルテーブルを順次検索し、前記セクタをファイルデータとして持つファイルを前記ファイル名リストに追加し、前記セクタがマスタファイルテーブル内にある場合には、そのファイル情報が格納されているファイルを、前記ファイル名リストに追加する機能
    を更にコンピュータに実現させるためのプログラム。
JP2006296617A 2006-10-31 2006-10-31 キャッシュサーバ、ネットワークブート方法、及びプログラム Expired - Fee Related JP4358217B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006296617A JP4358217B2 (ja) 2006-10-31 2006-10-31 キャッシュサーバ、ネットワークブート方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006296617A JP4358217B2 (ja) 2006-10-31 2006-10-31 キャッシュサーバ、ネットワークブート方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2008112423A true JP2008112423A (ja) 2008-05-15
JP4358217B2 JP4358217B2 (ja) 2009-11-04

Family

ID=39444885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006296617A Expired - Fee Related JP4358217B2 (ja) 2006-10-31 2006-10-31 キャッシュサーバ、ネットワークブート方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP4358217B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011523752A (ja) * 2008-06-20 2011-08-18 レノボ・シンガポール・プライベート・リミテッド ハイパーバイザーを使用したディスクレスクライアント
CN103890716A (zh) * 2011-10-21 2014-06-25 惠普发展公司,有限责任合伙企业 用于访问基本输入/输出系统的功能的基于网页的接口
JP2014531083A (ja) * 2011-10-21 2014-11-20 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. 特権ドメインでの基本入出力システム(bios)機能の提供
KR102064549B1 (ko) 2014-12-03 2020-01-10 한국전자통신연구원 가상 머신 호스트 서버 장치 및 그 동작 방법
JP2021012441A (ja) * 2019-07-04 2021-02-04 東芝テック株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011523752A (ja) * 2008-06-20 2011-08-18 レノボ・シンガポール・プライベート・リミテッド ハイパーバイザーを使用したディスクレスクライアント
CN103890716A (zh) * 2011-10-21 2014-06-25 惠普发展公司,有限责任合伙企业 用于访问基本输入/输出系统的功能的基于网页的接口
JP2014531083A (ja) * 2011-10-21 2014-11-20 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. 特権ドメインでの基本入出力システム(bios)機能の提供
JP2014531084A (ja) * 2011-10-21 2014-11-20 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. 基本入出力システム(bios)の機能にアクセスするウェブベースのインターフェース
US9448810B2 (en) 2011-10-21 2016-09-20 Hewlett-Packard Development Company, L.P. Web-based interface to access a function of a basic input/output system
CN103890716B (zh) * 2011-10-21 2017-03-08 惠普发展公司,有限责任合伙企业 用于访问基本输入/输出系统的功能的基于网页的接口
US9753738B2 (en) 2011-10-21 2017-09-05 Hewlett-Packard Development Company, L.P. Providing a function of a basic input/output system (BIOS) in a privileged domain
US9753742B2 (en) 2011-10-21 2017-09-05 Hewlett-Packard Development Company, L.P. Web-based interface to access a function of a basic input/output system
KR102064549B1 (ko) 2014-12-03 2020-01-10 한국전자통신연구원 가상 머신 호스트 서버 장치 및 그 동작 방법
JP2021012441A (ja) * 2019-07-04 2021-02-04 東芝テック株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Also Published As

Publication number Publication date
JP4358217B2 (ja) 2009-11-04

Similar Documents

Publication Publication Date Title
JP5307706B2 (ja) オペレーティングシステムの段階的ブート処理
US9483256B2 (en) Virtualized application image patching
TWI247489B (en) Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan
JP4604543B2 (ja) 計算機、計算機起動方法、管理サーバ装置およびプログラム
US8898167B2 (en) Method of accessing files in electronic devices
JP4863154B2 (ja) 起動イメージ提供システム及びその動作方法、ブートノード装置、ブートサーバ装置並びにその動作プログラム
JP2006196018A (ja) Biosをホスト・コンピュータに提供する方法と配置
JP2006072997A (ja) 高速再起動を伴うメモリダンプ生成
US20180225058A1 (en) Write filter with dynamically expandable overlay
JP4358217B2 (ja) キャッシュサーバ、ネットワークブート方法、及びプログラム
US20160342519A1 (en) File-based client side cache
US10795769B2 (en) Facilitating the identification of a service operating system when a main operating system fails
KR20100016174A (ko) 데이터-스머글링을 위한 저장 장치와 방법
CN114398318A (zh) 用户空间文件系统的文件操作方法及用户空间文件系统
JP4759941B2 (ja) 起動イメージ提供システム及び方法、ブートノード装置、ブートサーバ装置並びにプログラム
US11030047B2 (en) Information handling system and method to restore system firmware to a selected restore point
JP7102524B2 (ja) 複数のバイナリイメージのファームウェア公開
JP2002259196A (ja) データ画像キャッシュ
JP2009230433A (ja) ネットワークブート装置、プログラム及び方法
TWI514279B (zh) 伺服器系統與韌體更新方法
US9971607B1 (en) Method of accessing files in electronic devices
WO2019100704A1 (zh) 用于多模IoT设备的启动方法、多模IoT设备及存储介质
JP2017084014A (ja) 情報処理装置
JP2010237742A (ja) 仮想マシンサーバ、仮想マシン制御方法及び仮想マシン制御プログラム
KR101618999B1 (ko) 네트워크 부트 시스템

Legal Events

Date Code Title Description
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: 20090714

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090805

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130814

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees