JP5648203B2 - ネットワークブートシステム - Google Patents

ネットワークブートシステム Download PDF

Info

Publication number
JP5648203B2
JP5648203B2 JP2014524804A JP2014524804A JP5648203B2 JP 5648203 B2 JP5648203 B2 JP 5648203B2 JP 2014524804 A JP2014524804 A JP 2014524804A JP 2014524804 A JP2014524804 A JP 2014524804A JP 5648203 B2 JP5648203 B2 JP 5648203B2
Authority
JP
Japan
Prior art keywords
cache
revision
data
virtual disk
generation management
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.)
Active
Application number
JP2014524804A
Other languages
English (en)
Other versions
JPWO2014010566A1 (ja
Inventor
伸 丸山
伸 丸山
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.)
CO-CONV, CORP.
Original Assignee
CO-CONV, 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 CO-CONV, CORP. filed Critical CO-CONV, CORP.
Priority to JP2014524804A priority Critical patent/JP5648203B2/ja
Application granted granted Critical
Publication of JP5648203B2 publication Critical patent/JP5648203B2/ja
Publication of JPWO2014010566A1 publication Critical patent/JPWO2014010566A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5683Storage of data provided by user terminals, i.e. reverse caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、ネットワークを介してオペレーティングシステムを起動するネットワークブートシステムに関するものである。
近年、ネットワークを介してオペレーティングシステム(以下、「OS」という。)を起動するシステム(以下、「ネットワークブートシステム」という。)において、ネットワークブートサーバへの負荷を軽減するために、クライアント端末側の物理的な記憶装置の一部に、読み出し専用のキャッシュ(以下、「リードキャッシュ機構」という。)を備えることが一般的に知られている。
特許文献1には、ネットワークブートシステムにおいて、エンドユーザが使用するPC(クライアント端末)のローカルディスク内にネットワークブートサーバ上の仮想ディスクをキャッシュすることでサーバへのネットワークアクセスを減らすことができるリードキャッシュ機構を備えたネットワークブートシステムが開示されている。仮想ディスクは改訂情報(以下、「リビジョン」という。)を用いて世代管理されおり、アップデート・プログラムのインストールや設定変更といったような仮想ディスクの改訂に伴ってそのリビジョンが更新される。リードキャッシュ機構は、各端末に仮想ディスクのリビジョンに対応したキャッシュ管理テーブルを有し、その管理テーブルを用いることでキャッシュデータの有無を判別している。
そして、上述のネットワークブートシステムでは、仮想ディスクの領域とキャッシュ領域との対応関係を示す変更領域マップをさらに有しており、仮想ディスクが新たに改訂された場合、仮想ディスクのリビジョンが古いものから新しいものに進められ、変更されたキャッシュ領域を示す変更領域マップがキャッシュ管理テーブルに適用される。リードキャッシュ機構は、この管理テーブルを用いることで、仮想ディスクの変更されたデータに相当するキャッシュデータを破棄してキャッシュし直し、変更されなかったデータに相当するキャッシュデータをそのままキャッシュとして保持するようにしている。このように仮想ディスクを新たに改訂してリビジョンを進めた場合、リードキャッシュ機構はキャッシュの大部分を残して有効に利用することができる。このようなネットワークブートシステムでは、多数のクライアント端末を一斉に起動した場合でも2回目以降の起動ではネットワークへのアクセスが殆ど無く、クライアント端末の起動が高速化する。
国際公開第09−145274号公報
しかしながら、上述のような従来のネットワークブートシステムでは、仮想ディスク(サーバ上のディスクイメージ)を過去の状態、具体的には、過去のリビジョンに戻すためにロールバック(rollback)させると、ロールバックされた仮想ディスクと端末側のキャッシュデータとの整合性がとれず、キャッシュデータを利用することができなかった。そのため、上述のリードキャッシュ機構では、キャッシュデータを全て破棄してロールバックされた仮想ディスクをキャッシュし直していたが、仮想ディスクがロールバックされた後に多数の端末が一斉に起動すると、端末からサーバへのネットワークアクセスが多発し、サーバに負荷が集中して端末の起動速度が低下するという問題があった。
本発明は、上記に鑑みてなされたものであり、リードキャッシュ機構を備えたネットワークブートシステムにおいて仮想ディスクをロールバックさせた後に多数の端末を一斉に起動させても端末の起動速度が低下することを抑えることを主な技術的課題とする。
本発明に係るネットワークブートシステムは、クライアント端末上で動作するオペレーティングシステムを含むディスクイメージを仮想ディスクとして提供するネットワークブートサーバと、物理的な記憶装置を備えたクライアント端末とがネットワークを介して接続され、オペレーティングシステムは、サーバから読み出したデータを記憶装置にキャッシュデータとして保存するリードキャッシュ機構を備え、そのリードキャッシュ機構は、仮想ディスクの改訂情報を表すリビジョンの遷移を世代管理するための世代管理データを備え、世代管理データは、リビジョンの遷移毎に分けられてサーバに保存されているとともに、分けられた世代管理データの少なくとも一つは、記憶装置にもそのコピーが保存されていることを特徴とする。世代管理データは、仮想ディスク(ディスクイメージ)のリビジョンの遷移によって仮想ディスクのどの領域が変更されたかを示すデータである。仮想ディスクの領域がキャッシュデータが保存された領域に対応付けされることでキャッシュデータの変更された領域がわかる。
この構成により、仮想ディスク(サーバ上のディスクイメージ)が改訂又はロールバックされても、リードキャッシュ機構は端末の記憶装置に保存された世代管理データのコピーを用いることによって端末からサーバへのネットワークアクセスを軽減して端末の起動速度が低下することを抑えることができる。
キャッシュデータは、仮想ディスクの改訂情報を表すリビジョンに対応するキャッシュのリビジョンを有し、記憶装置に保存された世代管理データのコピーは、キャッシュのリビジョンまでの世代管理データであることが好ましい。例えば、仮想ディスクのリビジョンとキャッシュのリビジョンとが同じである場合、キャッシュのリビジョン11までの世代管理データとは、仮想ディスクがあるリビジョンからリビジョン11に遷移したときに仮想ディスクのどの領域が変更されたかを示すデータである。また、記憶装置に保存された世代管理データのコピーは、キャッシュのリビジョンに対応する仮想ディスクのリビジョンが遷移した2つの異なるリビジョン間に含まれるものであってもよい。いずれにしてもこの記憶装置に保存された世代管理データのコピーを用いることでキャッシュのリビジョンまでの仮想ディスクの世代間の情報を取得することができる。
さらに、リードキャッシュ機構は、キャッシュの有無を示すキャッシュ管理テーブルを備え、仮想ディスクがロールバックされた場合、仮想ディスクのロールバックされたリビジョンからキャッシュのリビジョンに対応する仮想ディスクのリビジョンへの世代管理データをロールバック時の世代管理データとして記憶装置に保存された世代管理データのコピーから選択し、ロールバック前のキャッシュ管理テーブルにロールバック時の世代管理データを適用してキャッシュ管理テーブルを生成する手段と、仮想ディスクのロールバックされたリビジョンまでの世代管理データを前記記憶装置に保存する手段とを備えることが好ましい。これにより、リードキャッシュ機構は、ロールバックされた場合に生成されるキャッシュ管理テーブルを用いることで破棄されるキャッシュデータの量を抑えてキャッシュデータを有効に利用することができる。また、仮想ディスクのロールバックされたリビジョンまでの世代管理データを端末の記憶装置に保存しておくことでさらに仮想ディスクがロールバックされてもその世代管理データを用いてキャッシュデータを有効に利用することができる。
ロールバック前のキャッシュ管理テーブルは、キャッシュデータが有る領域とキャッシュデータが無い領域とを表すビット列であり、ロールバック時の世代管理データは、変更された領域と変更されなかった領域とを表すビット列であると、キャッシュ管理テーブルは、ロールバックされる前のキャッシュ管理テーブルとロールバック時の世代管理データとの論理演算により算出できる。例えば、キャッシュ管理テーブルを、キャッシュデータが有る領域を1、キャッシュデータが無い領域を0とするビット列とし、ロールバック時の世代管理データを、変更された領域を1、変更されなかった領域を0とするビット列としたときには、キャッシュ管理テーブルとロールバック時の世代管理データの否定との論理積で、キャッシュ管理テーブルを求めることができる。
リードキャッシュ機構は、以下の手順により起動されるようにしてもよい。
(a)仮想ディスクの改訂情報を表すリビジョンとキャッシュデータに対応する仮想ディスクのリビジョンとを比較する。
(b)仮想ディスクの改訂情報を表すリビジョンがキャッシュデータに対応する仮想ディスクのリビジョンよりも古い場合、仮想ディスクの改訂情報を表すリビジョンからキャッシュデータに対応する仮想ディスクのリビジョンへの世代管理データを変更前後の世代管理データとして端末に保存された世代管理データのコピーから選択する。
(c)仮想ディスクの改訂情報を表すリビジョンまでの世代管理データを端末に保存する。
(d)変更前後の世代管理データを用いて変更の有ったキャッシュデータを利用しないようにしつつリードキャッシュを動作する。
本発明に係るネットワークブートサーバは、クライアント端末上で動作するオペレーティングシステムを含むディスクイメージを仮想ディスクとして端末にネットワークを介して提供し、オペレーティングシステムは、サーバから読み出したデータをキャッシュデータとして保存するリードキャッシュ機構を備え、サーバは、仮想ディスクの改訂情報を表すリビジョンの遷移を世代管理するためのものであって端末にもコピーが保存される世代管理データを有することを特徴とする。
本発明に係るクライアント端末は、クライアント端末上で動作するオペレーティングシステムを含むディスクイメージを仮想ディスクとして提供するネットワークブートサーバとネットワークを介して接続され、オペレーティングシステムは、サーバから読み出したデータを記憶装置にキャッシュデータとして保存するリードキャッシュ機構を備え、端末は、サーバに保存された仮想ディスクの改訂情報を表すリビジョンの遷移を世代管理するための世代管理データのコピーを有することを特徴とする。
上記ネットワークブートシステムのサーバ又は端末を用いてネットワークブートシステムを構成することで、リードキャッシュ機構は端末に保存された世代管理データのコピーを用いいて端末からサーバへのネットワークアクセスを軽減して端末の起動速度が低下することを抑えることができる。
本発明に係るリードキャッシュ機構の起動方法は、クライアント端末上で動作するオペレーティングシステムを含むディスクイメージを仮想ディスクとして提供するネットワークブートサーバと、クライアント端末とがネットワークを介して接続され、オペレーティングシステムは、サーバから読み出したデータをキャッシュデータとして端末に保存するリードキャッシュ機構を備え、リードキャッシュ機構は、仮想ディスクの改訂情報を表すリビジョンの遷移を世代管理するための世代管理データを備えたネットワークブートシステムにおいて、仮想ディスクの改訂情報を表すリビジョンとキャッシュデータに対応する仮想ディスクのリビジョンとを比較する工程と、仮想ディスクの改訂情報を表すリビジョンがキャッシュデータに対応する仮想ディスクのリビジョンよりも古い場合、仮想ディスクの改訂情報を表すリビジョンからキャッシュデータに対応する仮想ディスクのリビジョンへの世代管理データを変更前後の世代管理データとして世代管理データから選択する工程と、前記仮想ディスクの改訂情報を表すリビジョンまでの世代管理データを前記端末に保存する工程と、変更前後の世代管理データを用いて変更の有ったキャッシュデータを利用しないようにしつつリードキャッシュを動作する工程とを含むことを特徴とする。
本発明に係るネットワークブートシステムでは、仮想ディスクをロールバックさせた後においても端末の記憶装置に保存された世代管理データのコピーを用いることで端末からサーバへのネットワークアクセスを軽減して端末の起動速度が低下することを抑えることができる。
本実施形態のネットワークブートシステムの基本構成を説明するための概念図 本実施形態のネットワークブートシステムにおける変更領域マップについて説明するための概念図 本実施形態のネットワークブートシステムにおいて変更領域マップが適用されたキャッシュ管理テーブルを説明する概念図、(a)はリビジョン11のキャッシュ管理テーブルの一例を示す図であり、(b)はリビジョン8からリビジョン11への変更領域マップの一例を示す図であり、(c)はリビジョン8のキャッシュ管理テーブルの一例を示す図 本実施形態のネットワークブートシステムにおいてリードキャッシュ機構がキャッシュ管理テーブルに変更領域マップを適用する流れの一例を示すフローチャート
以下、本実施形態のネットワークブートシステムについて図面を参照して詳述する。まず、本発明が前提とするリードキャッシュ機構を備えたネットワークブートシステムの一実施態様を例示して説明する。各実施形態の記載は本発明の技術的思想を理解するために合目的的に解釈され、実施形態の記載に限定解釈されるべきものではない。
(1)ネットワークブートシステムの全体構成
図1は、本実施形態のネットワークブートシステムの基本構成を説明するための概念図である。図1に示すように、ネットワークブートシステム100は、サーバ10と、複数台のクライアント端末20(20a,・・・)とがネットワーク30を介して接続されている。サーバ10は物理ディスク11を、クライアント端末20aは物理的な記憶装置としての物理ディスク21aと仮想ディスク22aとをそれぞれ備え、いずれも図示しないCPUや物理メモリなどの基本的な構成を備えている。物理ディスク11には、各クライアント端末20(20a,・・・)が最初の起動時に読み込むOSのディスクイメージ22aが保存されている。なお、物理ディスクは、実体を伴うハードディスクその他の記憶手段を指す。物理ディスク21aは、論理的なレベルで認識される第1のパーテーションP1と物理的なレベルで認識される第2のパーテーションP2とを有する。第2のパーテーションP2には、主に読み出しキャッシュ領域とキャッシュ管理領域とが割り当てられる。
クライアント端末20aの基本的な動作としては、端末20aのフィルタドライバが物理ディスク21aへの読み書きのアクセスをネットワークアクセスに変換することにより、端末20aのCPUは、物理ディスク21aにアクセスすることに代えて、ネットワークインターフェースを用いてネットワークを介して接続されるサーバ10上のディスクイメージ22aにアクセスする。クライアント端末20aは、リードキャッシュ機構を機能させるためのリードキャッシュドライバを備える。リードキャッシュドライバは、プログラムであり、物理ディスク21aにおける読み出しキャッシュ領域に対するデータのアクセス(書き込み及び読み出し)を主に行う。リードキャッシュドライバはサーバ10から読み出されたデータを物理ディスク21aの読み出しキャッシュ領域にキャッシュとして保存して読み出しキャッシュさせる働きをする。なお、読み出しキャッシュ領域は、ディスクイメージ22aと1対1で対応付けされている。管理フラグを用いてキャッシュ後に一度でも書き込みが行われたことのあるキャッシュデータを利用しないようにしてもよい。
図2は、本実施形態のネットワークブートシステムにおける変更領域マップを説明するための概念図である。図2に示すように、サーバ10の物理ディスク11上には、各リビジョン(・・・, Rev.8, Rev9, ・・・, Rev.11)で管理された、クライアント端末20aのディスクイメージと、そのディスクイメージの世代管理データとしての変更領域マップとが保存されている。例えば、クライアント端末20aのリビジョン11のディスクイメージ22aと、ディスクイメージ22aの世代管理データとしての変更領域マップM1,・・・,Mn(nは正の整数)とが保存されている。また、端末20aの物理ディスク21a上には、上述のリードキャッシュドライバが読み出したキャッシュデータと、リビジョン11のキャッシュ管理テーブルT1と、変更領域マップM1,・・・,Mk(kはn以下の正の整数)とが保存されている。
リビジョン11のキャッシュ管理テーブルT1は、読み出しキャッシュ領域Ac内にリビジョン11のディスクイメージ22aのキャッシュデータが存在するかどうかを示すデータであり、例えば、キャッシュデータが有る領域(セクタ)を1で、キャッシュデータが無い領域を0でそれぞれ示すビット列である。なお、リビジョン11のキャッシュ管理テーブルT1はリビジョン11のキャッシュデータを管理しており、そのリビジョン11のキャッシュデータはリビジョン11のディスクイメージ22aに対応付けされている。キャッシュ管理テーブルT1は、端末20aの物理メモリに読み込まれ、定期的にキャッシュ管理領域へと書き戻される。
変更領域マップM1,・・・,Mkは、いずれも端末20aの仮想ディスク22a(サーバ10のディスクイメージ22a)のリビジョンの遷移を世代管理するための世代管理データであり、2つの異なるリビジョン間でディスクイメージ22a内のどの領域のデータが変更されたかを示すデータである。変更領域マップM1,・・・,Mkは、サーバ10の物理ディスク11上の変更領域マップM1,・・・,Mnの一つ又は複数をコピーしたものであり、例えば、リビジョン11のディスクイメージ22aを基準に変更された領域を1で、変更されていない領域を0でそれぞれ示すビット列である。
リードキャッシュ機構は、サーバ10側でディスクイメージ22aがリビジョン11と異なったリビジョンに改訂又はロールバックされていても、端末20a側に保存された変更領域マップM1,・・・,Mkをリビジョン11のキャッシュ管理テーブルT1に適用することにより、ディスクイメージ22aが変更されなかった領域、すなわち、キャッシュデータをそのまま利用できる領域を特定し、キャッシュデータを有効に利用することができる。これにより、端末からサーバへのネットワークアクセスを低減して端末の起動速度が低下することを抑えることができる。次に、変更領域マップをキャッシュ管理テーブルに適用する方法について説明する。
図3は、本実施形態のネットワークブートシステムにおいて変更領域マップが適用されたキャッシュ管理テーブルを説明する概念図である。図3(a)はリビジョン11のキャッシュ管理テーブルの一例を示す図であり、図3(b)はリビジョン8からリビジョン11への変更領域マップの一例を示す図であり、図3(c)はリビジョン8のキャッシュ管理テーブルの一例を示す図である。
図3(a)に示すように、リビジョン11のキャッシュ管理テーブルT1は、セクタAで1、セクタBで0、セクタCで1である。これは、端末20aの読み出しキャッシュ領域のセクタA及びCでリビジョン11のディスクイメージ22aのデータが既にキャッシュデータとして保存されている(キャッシュ済みである)こと、及びセクタBでキャッシュデータが無い(未キャッシュである)ことを示している。リードキャッシュ機構は、このリビジョン11のキャッシュ管理テーブルT1を参照することで、キャッシュ済みのセクタのキャッシュデータにアクセスすることができ、リビジョン11のディスクイメージ22aにおいて未キャッシュの領域に対応するデータを読み込んだ際にはキャッシュデータとして保存することができる。
図3(b)に示すように、リビジョン8からリビジョン11への変更領域マップM3は、セクタAで1、セクタBで1、セクタCで0とそれ以外のセクタで0である。これは、ディスクイメージ22aをリビジョン8からリビジョン11に改訂したときに、読み出しキャッシュ領域のセクタA及びBがディスクイメージ22aの改訂に伴って変更された領域(変更領域)であること、及びセクタCとそれ以外のセクタが変更されなかった領域(未変更領域)であることを示している。
変更領域マップは、ディスクイメージ(仮想ディスク)22aの変更された領域に対応する読み出しキャッシュ領域、例えばハードディスクではセクタを示すだけであり、その領域内のデータの中身については一切情報を保持しない。このため、変更領域マップの容量サイズをディスクイメージ22aのサイズよりもはるかに小さくすることができる。例えば、現状のハードディスク等の記録単位を例にとり、1セクタに512バイトのデータが保存されているとすると、512バイト(=4096ビット)あたり1ビットとなるため、仮想ディスクの容量の1/4096(=1ビット/512バイト)のサイズでよいことがわかる。
1つの変更領域マップのサイズは、例えば約21Gバイトのハードディスクで約5Mバイトであるが、この変更領域マップをランレングス(Run Length)圧縮法を用いて圧縮すると、約3.2K〜6.4Kバイトになり、より小さくなる。そのため、この圧縮された変更領域マップを端末20aの物理ディアスク21aに複数保存するようにして変更領域マップを用いてキャッシュデータを有効に利用すると、ディスクイメージ22aの各領域をキャッシュとして端末に保存し直すよりも大幅にネットワーク負荷を低減することができる。このような変更領域マップの圧縮は、サーバ側で実施してもよく、端末側で実施してもよい。
図3(c)に示すように、リビジョン8のキャッシュ管理テーブルT2は、セクタAで0、セクタBで0、セクタCで1である。これは、端末20aの読み出しキャッシュ領域のセクタA及びBでキャッシュデータが無い(未キャッシュである)こと、及び端末20aの読み出しキャッシュ領域のセクタCでリビジョン8のディスクイメージ22aのデータが既にキャッシュデータとして保存されている(キャッシュ済みである)ことを示している。リビジョン8のキャッシュ管理テーブルT2は、リビジョン8からリビジョン11への変更領域マップM3における読み出しキャッシュ領域の変更のあったセクタA及びBを抽出し、リビジョン11のキャッシュ管理テーブルT1のセクタA及びBを0(未キャッシュの状態)にする、すなわち、キャッシュ管理テーブルT1と変更領域マップM1の否定との論理積を求めることで得ることができる。なお、リビジョン8のキャッシュ管理テーブルT2を用いる場合、キャッシュデータのリビジョンを11から8に変更しておく。また、このとき、図2に示すリビジョン8の変更領域マップMaを端末20aの記憶装置21aに保存することで、さらにディスクイメージ22aがリビジョン8からロールバックされても同様にしてキャッシュ管理テーブルを求めることができる。
リードキャッシュ機構は、ディスクイメージ22aがリビジョン11からリビジョン8へロールバックされていても、リビジョン8のキャッシュ管理テーブルT2を参照して変更のあったセクタA及びBのリビジョン11のキャッシュデータを新たにキャッシュし直し、変更されなかったリビジョン11のキュッシュデータをリビジョン8のキャッシュデータとすることで、破棄されるリビジョン11のキャッシュデータの量を抑えて、リビジョン11のキャッシュデータを有効に利用することができる。
本実施形態のネットワークブートシステムは、仮想ディスクをロールバックさせた後、端末の記憶装置に保存されたロールバック後のリビジョンからロールバック前のリビジョンへの変更領域マップをキャッシュ管理テーブルに適用することで破棄されるキャッシュデータの量を抑えてそのキャッシュデータを有効に利用し、端末からサーバへのネットワークアクセスを軽減することができる。そのため、仮想ディスクをロールバックさせた後に多数の端末を一斉に起動させても端末の起動速度が低下することを抑えることができる。
図4は、本実施形態のネットワークブートシステムにおいてリードキャッシュ機構がキャッシュ管理テーブルに変更領域マップを適用する流れの一例を示すフローチャートである。以下、キャッシュデータのリビジョンとそのキャッシュデータのリビジョンに対応するディスクイメージのリビジョンとが同じものとして説明する。まず、サーバ上のディスクイメージのリビジョンとキャッシュデータのリビジョンとを比較する(S1)。サーバ上のディスクイメージのリビジョンがキャッシュデータのリビジョンよりも古い場合は、サーバ上のディスクイメージがロールバックされているため、端末に保存された変更領域マップのうち、具体的には、ロールバックされたディスクイメージのリビジョンからキャッシュデータのリビジョンへの変更領域マップを選択し、その変更領域マップをキャッシュ管理テーブルに適用して新たなキャッシュ管理テーブルを生成する(S2)。このとき、キャッシュデータのリビジョンをロールバックされたディスクイメージのリビジョンに対応させて変更する。ロールバックされたディスクイメージにはロールバックされたディスクイメージのリビジョンまでの変更領域マップが含まれているため、それらを端末の物理ディスクに保存する(S3)。このS3は、任意のタイミングで行ってもよく、サーバ上のディスクイメージが改訂されてサーバ上の変更領域マップが更新されたときに実施してもよい。その後新たなキャッシュ管理テーブルを用いて、変更の有ったキャッシュデータを利用しないようにしつつリードキャッシュを起動させる(S4)。例えば、新たなキャッシュ管理テーブルでは、変更の有ったキャッシュデータの領域をキャッシュが無い状態を示すフラグ(0)で表すようにし、そのフラグに対応するキャッシュデータの領域を利用しないようにしてリードキャッシュを起動させる。リードキャッシュ機構が以上の手順を処理するプログラムを備えることにより、リードキャッシュ機構はサーバ上のディスクイメージがロールバックされていても端末に保存されたキャッシュデータを有効に利用することができる。
本実施形態のネットワークブートシステムでは、サーバ側でディスクイメージが改訂又はロールバックされていても、リードキャッシュ機構が端末側に保存された変更領域マップをキャッシュ管理テーブルに適用することにより、改訂又はロールバックにより変更されなかった領域に対応するキャッシュデータの領域、すなわち、現リビジョンでキャッシュデータがそのまま利用できる領域を特定し、その領域に対応するキャッシュデータを破棄することなくキャッシュデータとして有効に利用することができる。これにより、サーバへのネットワークアクセスを軽減して端末の起動速度が低下することを抑えることができる。
本実施形態のネットワークブートシステムでは、端末の物理ディスク上に変更領域マップを保存したが、端末が起動時にネットワーク負荷を大きくかけずにアクセスすることができる領域であってもよく、例えば、外部ストレージやUSBメモリ等の媒体に保存しておいてもよい。また、変更領域マップは、キャッシュデータのリビジョンまでのものであったが、各リビジョン間にキャッシュデータのリビジョンに対応する仮想ディスクのリビジョンを含むものであってもよい。例えば、リビジョン8からリビジョン12の変更領域マップであっても上述と同様にしてリビジョン11のキャッシュ管理テーブルに適用してリビジョン8のキャッシュ管理テーブルを生成することでリビジョン11のキャッシュデータをリビジョン8のキャッシュデータとして有効に利用することができる。
10 サーバ(ネットワークブートサーバ)
11 物理ディスク(ハードディスク)
20 クライアント端末
20a クライアント端末
21a ディスク
22a 仮想ディスク(vDisk)
23a 物理メモリ
30 ネットワーク
100 ネットワークブートシステム
Ac 読み出しキャッシュ領域
M、Ma 変更領域マップ
T1、T2 キャッシュ管理テーブル

Claims (10)

  1. クライアント端末上で動作するオペレーティングシステムを含むディスクイメージを仮想ディスクとして提供するネットワークブートサーバと、物理的な記憶装置を備えたクライアント端末とがネットワークを介して接続され、
    前記オペレーティングシステムは、前記サーバから読み出したデータを前記記憶装置にキャッシュデータとして保存するリードキャッシュ機構を備えたネットワークブートシステムであって、
    前記リードキャッシュ機構は、前記仮想ディスクの改訂情報を表すリビジョンの遷移を世代管理するための世代管理データを備え、
    前記世代管理データは、リビジョンの遷移毎に分けられて前記サーバに保存されているとともに、
    前記分けられた世代管理データの少なくとも一つは、前記記憶装置にもそのコピーが保存されている
    ことを特徴とするネットワークブートシステム。
  2. 前記キャッシュデータは、前記仮想ディスクの改訂情報を表すリビジョンに対応するキャッシュのリビジョンを有し、
    前記コピーは、前記キャッシュのリビジョンまでの世代管理データである
    ことを特徴とする請求項1記載のネットワークブートシステム。
  3. 前記リードキャッシュ機構は、キャッシュデータの有無を示すキャッシュ管理テーブルを備え、
    前記仮想ディスクがロールバックされた場合には、前記仮想ディスクのロールバックされたリビジョンから前記キャッシュのリビジョンに対応する仮想ディスクのリビジョンへの世代管理データをロールバック時の世代管理データとして前記コピーから選択し、ロールバック前のキャッシュ管理テーブルに前記ロールバック時の世代管理データを適用して前記キャッシュ管理テーブルを生成する手段と、
    前記仮想ディスクのロールバックされたリビジョンまでの世代管理データを前記記憶装置に保存する手段とを備える
    ことを特徴とする請求項1又は請求項2記載のネットワークブートシステム。
  4. 前記ロールバック前のキャッシュ管理テーブルは、キャッシュデータが有る領域とキャッシュデータが無い領域とを表すビット列であり、
    前記ロールバック時の世代管理データは、変更された領域と変更されなかった領域とを表すビット列であり、
    前記キャッシュ管理テーブルは、前記ロールバックされる前のキャッシュ管理テーブルと前記ロールバック時の世代管理データとの論理演算により算出される
    ことを特徴とする請求項3記載のネットワークブートシステム。
  5. 前記リードキャッシュ機構は、以下の手順により起動される
    ことを特徴とする請求項1項記載のネットワークブートシステム。
    (a)前記仮想ディスクの改訂情報を表すリビジョンと前記キャッシュデータに対応する仮想ディスクのリビジョンとを比較する
    (b)前記仮想ディスクの改訂情報を表すリビジョンが前記キャッシュデータに対応する仮想ディスクのリビジョンよりも古い場合、前記仮想ディスクの改訂情報を表すリビジョンから前記キャッシュデータに対応する仮想ディスクのリビジョンへの世代管理データを変更前後の世代管理データとして前記コピーから選択する
    (c)前記仮想ディスクの改訂情報を表すリビジョンまでの世代管理データを前記端末に保存する
    (d)前記変更前後の世代管理データを用いて変更の有ったキャッシュデータを利用しないようにしつつリードキャッシュを動作する
  6. クライアント端末上で動作するオペレーティングシステムを含むディスクイメージを仮想ディスクとして前記端末にネットワークを介して提供するネットワークブートサーバであって、
    前記オペレーティングシステムは、前記サーバから読み出したデータをキャッシュデータとして保存するリードキャッシュ機構を備え、
    前記サーバは、前記仮想ディスクの改訂情報を表すリビジョンの遷移を世代管理するためのものであって前記端末にもコピーが保存される世代管理データを有する
    ことを特徴とするネットワークブートサーバ。
  7. クライアント端末上で動作するオペレーティングシステムを含むディスクイメージを仮想ディスクとして提供するネットワークブートサーバとネットワークを介して接続されたネットワークブートシステムにおけるクライアント端末であって、
    前記オペレーティングシステムは、前記サーバから読み出したデータを記憶装置にキャッシュデータとして保存するリードキャッシュ機構を備え、
    前記端末は、前記サーバに保存された前記仮想ディスクの改訂情報を表すリビジョンの遷移を世代管理するための世代管理データのコピーを有する
    ことを特徴とするクライアント端末。
  8. クライアント端末上で動作するオペレーティングシステムを含むディスクイメージを仮想ディスクとして提供するネットワークブートサーバと、クライアント端末とがネットワークを介して接続され、
    前記オペレーティングシステムは、前記サーバから読み出したデータをキャッシュデータとして端末に保存するリードキャッシュ機構を備え、
    前記リードキャッシュ機構は、前記仮想ディスクの改訂情報を表すリビジョンの遷移を世代管理するための世代管理データを備えたネットワークブートシステムのリードキャッシュ機構の起動方法であって、
    前記仮想ディスクの改訂情報を表すリビジョンと前記キャッシュデータに対応する仮想ディスクのリビジョンとを比較する工程と、
    前記仮想ディスクの改訂情報を表すリビジョンが前記キャッシュデータに対応する仮想ディスクのリビジョンよりも古い場合、前記仮想ディスクの改訂情報を表すリビジョンから前記キャッシュデータに対応する仮想ディスクのリビジョンへの世代管理データを変更前後の世代管理データとして前記世代管理データから選択する工程と、
    前記仮想ディスクの改訂情報を表すリビジョンまでの世代管理データを前記端末に保存する工程と、
    前記変更前後の世代管理データを用いて変更の有ったキャッシュデータを利用しないようにしつつリードキャッシュを動作する工程とを含む
    ことを特徴とするリードキャッシュ機構の起動方法。
  9. 前記リードキャッシュ機構は、キャッシュデータの有無を示すキャッシュ管理テーブルを備え、
    前記リードキャッシュを動作する工程は、
    前記キャッシュ管理テーブルに前記変更前後の世代管理データを適用して新たにキャッシュ管理テーブルを生成し、前記新たに生成されたキャッシュ管理テーブルを参照してキャッシュデータが無いとされる領域のキャッシュデータを利用しないようにしつつリードキャッシュを動作する
    ことを特徴とする請求項8記載のリードキャッシュ機構の起動方法。
  10. 前記キャッシュ管理テーブルは、キャッシュデータが有る領域とキャッシュデータが無い領域とを表すビット列であり、
    前記変更前後の世代管理データは、変更された領域と変更されなかった領域とを表すビット列であり、
    前記新たにキャッシュ管理テーブルを生成する工程は、
    前記キャッシュ管理テーブルと前記変更前後の世代管理データとの論理演算をする
    ことを特徴とする請求項9記載のリードキャッシュ機構の起動方法。
JP2014524804A 2012-07-09 2013-07-08 ネットワークブートシステム Active JP5648203B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014524804A JP5648203B2 (ja) 2012-07-09 2013-07-08 ネットワークブートシステム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2012153195 2012-07-09
JP2012153195 2012-07-09
JP2014524804A JP5648203B2 (ja) 2012-07-09 2013-07-08 ネットワークブートシステム
PCT/JP2013/068679 WO2014010566A1 (ja) 2012-07-09 2013-07-08 ネットワークブートシステム

Publications (2)

Publication Number Publication Date
JP5648203B2 true JP5648203B2 (ja) 2015-01-07
JPWO2014010566A1 JPWO2014010566A1 (ja) 2016-06-23

Family

ID=49916018

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014524804A Active JP5648203B2 (ja) 2012-07-09 2013-07-08 ネットワークブートシステム

Country Status (6)

Country Link
US (1) US10152334B2 (ja)
JP (1) JP5648203B2 (ja)
KR (1) KR101618999B1 (ja)
CN (1) CN104603754B (ja)
HK (1) HK1205812A1 (ja)
WO (1) WO2014010566A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104205048B (zh) * 2012-09-18 2017-07-14 科空软件株式会社 网络启动系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001297005A (ja) * 2000-04-14 2001-10-26 Mitsubishi Electric Corp クライアントサーバシステム
JP2001325140A (ja) * 2000-05-17 2001-11-22 Mitsubishi Electric Corp ファイル転送装置
US6857057B2 (en) * 2002-10-03 2005-02-15 Hewlett-Packard Development Company, L.P. Virtual storage systems and virtual storage system operational methods
US7373451B2 (en) * 2003-12-08 2008-05-13 The Board Of Trustees Of The Leland Stanford Junior University Cache-based system management architecture with virtual appliances, network repositories, and virtual appliance transceivers
CN100524238C (zh) * 2007-11-02 2009-08-05 西安三茗科技有限责任公司 基于块级的增量备份和整卷恢复的方法
WO2009145274A1 (ja) 2008-05-29 2009-12-03 株式会社シー・オー・コンヴ ネットワークブートシステム

Also Published As

Publication number Publication date
KR20140041840A (ko) 2014-04-04
US20150120811A1 (en) 2015-04-30
JPWO2014010566A1 (ja) 2016-06-23
US10152334B2 (en) 2018-12-11
CN104603754B (zh) 2017-09-19
KR101618999B1 (ko) 2016-05-18
WO2014010566A1 (ja) 2014-01-16
HK1205812A1 (en) 2015-12-24
CN104603754A (zh) 2015-05-06

Similar Documents

Publication Publication Date Title
US11921684B2 (en) Systems and methods for database management using append-only storage devices
US7069393B2 (en) Storage system providing file aware caching and file aware remote copy
TWI648622B (zh) 快閃記憶體之壓縮、讀取方法及應用其方法的裝置
JP5944502B2 (ja) 計算機システム及び制御方法
JP5886447B2 (ja) ロケーション非依存のファイル
TWI596541B (zh) 資料存取系統、資料存取裝置及資料存取方法
US10166467B2 (en) Information processing device, data structure of game data, and recording medium
US20150126288A1 (en) Information processing device, program, and recording medium
JP2007183763A (ja) システム、サーバ装置及びスナップショットの形式変換方法
JP5290446B2 (ja) ネットワークブートシステム
EP2878348B1 (en) Information processing device, data structure of game data, program, and recording medium
CN109074308A (zh) 适应性的块转换表(btt)
CN112799595A (zh) 数据处理方法、设备及存储介质
CN114647383A (zh) 数据访问方法、装置、存储节点及存储介质
US11176089B2 (en) Systems and methods for implementing dynamic file systems
JP5648203B2 (ja) ネットワークブートシステム
KR102123701B1 (ko) 네트워크 부트 시스템
JP2015088144A (ja) 情報処理装置およびゲームデータのデータ構造
US11132134B2 (en) Flexible over-provisioning of storage space within solid-state storage devices (SSDs)
JP2013228778A (ja) ストレージシステム、バックアップ管理装置、バックアップ方法及びバックアッププログラム
TWI454907B (zh) 記憶裝置及其運作方法
JP7099690B2 (ja) ストレージシステム、ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム
JP2005222531A (ja) データ記録装置及びデータ記録方法
CN117369709A (zh) 数据存储管理方法和装置、存储介质、系统
CN114721584A (zh) 数据写入的方法、设备和计算机程序产品

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: 20140930

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141020

R150 Certificate of patent or registration of utility model

Ref document number: 5648203

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250