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

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

Info

Publication number
JP5660557B2
JP5660557B2 JP2014506669A JP2014506669A JP5660557B2 JP 5660557 B2 JP5660557 B2 JP 5660557B2 JP 2014506669 A JP2014506669 A JP 2014506669A JP 2014506669 A JP2014506669 A JP 2014506669A JP 5660557 B2 JP5660557 B2 JP 5660557B2
Authority
JP
Japan
Prior art keywords
cache
data
client terminal
revision
management table
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
JP2014506669A
Other languages
English (en)
Other versions
JPWO2014046105A1 (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 JP2014506669A priority Critical patent/JP5660557B2/ja
Application granted granted Critical
Publication of JP5660557B2 publication Critical patent/JP5660557B2/ja
Publication of JPWO2014046105A1 publication Critical patent/JPWO2014046105A1/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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/224Disk storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (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回目以降の起動ではネットワークへのアクセスが殆ど無く、クライアント端末の起動が高速化する。
上述のネットワークブートシステムでは、シェアーモード(スタンダードモード)と、プライベートモードとを有している。シェアーモードは、複数のクライアント端末がネットワークブートサーバ上の仮想ディスクを共有して使用するモードであり、システムを通常の運用環境で動作させるためのモードである。一方、プライベートモードは、1台のクライアント端末がサーバ上の仮想ディスクにクライアントが直接書き込みすることができるモードであり、システムを保守(メンテナンス)環境で動作させるためのモードである。プライベートモードの状態でクライアント端末を起動することにより、OSやプログラムのアップデートや新規インストール或いは設定変更を行うなど、仮想ディスクのデータに変更を加えることができる。
国際公開第2009/145274号
しかしながら、上述のような従来のネットワークブートシステムでは、プライベートモードで保守作業中のクライアント端末を再起動させた場合やその端末の電源を一旦OFFにして他の端末で起動し直した場合、すなわち、プライベートモードで端末を2回目以降に起動させた場合には、そのクライアント端末の起動や動作が遅くなるといった問題があった。
プライベートモードでの端末の「1回目」の起動時には、その起動の瞬間においては仮想ディスクの内容は特定のリビジョンの状態に等しいため、端末内のキャッシュデータを利用することができる。しかし、プライベートモードでの端末の「2回目以降」の起動時には、仮想ディスクの状態が特定のリビジョンとは異なっているため、そのままでは特定のリビジョンのデータをもつ端末内のキャッシュを利用することはできない。 そのため、プライベートモードでの端末の「2回目以降」の起動時には、ネットブートサーバ上の仮想ディスクのデータと端末のキャッシュデータとの不一致によってクライアント端末のOSが起動しなかったり異常停止するなどといった重大なトラブルが発生しないようにリードキャッシュ機構を停止させている。このリードキャッシュ機構の停止がプライベートモードでの端末の起動や動作が遅くなるといった問題の一つの要因であった。
本発明は、上記に鑑みてなされたものであり、リードキャッシュ機構を備えたネットワークブートシステムにおいてクライアント端末がサーバ上の仮想ディスクにクライアントが直接書き込みするプライベートモードでクライアント端末の2回目以降の起動であってもクライアント端末の起動速度や動作が低下することを抑えることを主な技術的課題とする。
本発明に係るネットワークブートシステムは、クライアント端末上で動作するオペレーティングシステムを含むディスクイメージを仮想ディスクとして提供するネットワークブートサーバと、物理的な記憶装置を備えたクライアント端末とがネットワークを介して接続され、前記オペレーティングシステムは、前記サーバから読み出したデータを前記記憶装置にキャッシュデータとして保存するリードキャッシュ機構を備えたネットワークブートシステムであって、前記仮想ディスクの改訂情報を表すリビジョンの遷移を世代管理するための世代管理データと前記クライアント端末側のライトキャッシュを管理するための書き換え管理テーブルとを備え、前記リードキャッシュ機構は、前記仮想ディスクに前記クライアント端末が直接書き込みすることができるプライベートモードであって前記クライアント端末の2回目以降の起動時には、前記書き換え管理テーブルを前記世代管理データに置き換えて変更の有ったキャッシュデータを利用しないようにしつつリードキャッシュを起動することを特徴とする。
世代管理データは、仮想ディスク(ディスクイメージ)のリビジョンの遷移によって、具体的には、仮想ディスクにおけるOS、プログラムのアップデートや新規インストール或いは設定変更、削除等を行って仮想ディスクのどの領域が変更されたかを示すデータである。仮想ディスクの領域がキャッシュデータが保存された領域に対応付けされることでキャッシュデータの変更された領域がわかる。
この構成により、プライベートモードでクライアント端末を2回目以降に起動させても、リードキャッシュ機構は世代管理データを書き換え管理テーブルとして用いることで、変更の有ったキャッシュデータを利用しないようにしつつリードキャッシュを起動することができ、クライアント端末からネットワークブートサーバへのネットワークアクセスを軽減してクライアント端末の起動速度や動作が低下することを抑えることができる。
上記ネットワークブートシステムにおいて、前記書き換え管理テーブルは前記クライアント端末側に保存され、前記プライベートモードであって前記クライアント端末の2回目以降の起動時には、前記世代管理データが前記書き換え管理テーブルにコピーされているようにしてもよい。
上記ネットワークブートシステムにおいて、前記仮想ディスクの一部に、前記プライベートモードで前記クライアント端末の起動時に一定値Pを、前記プライベートモード終了時に一定値P以外の値をそれぞれ書き込むための少なくとも1ビットの保存領域を備え、前記リードキャッシュ機構は、前記保存領域の値が一定値Pである場合には、前記プライベートモードで前記クライアント端末の2回目以降の起動であると判定してリードキャッシュを起動するようにすることが好ましい。これにより、プライベートモードでクライアント端末の2回目以降の起動を容易に判定することができる。
本発明に係るネットワークブートサーバは、クライアント端末上で動作するオペレーティングシステムを含むディスクイメージを仮想ディスクとして前記端末にネットワークを介して提供するネットワークブートサーバであって、前記オペレーティングシステムは、前記サーバから読み出したデータをキャッシュデータとして保存するリードキャッシュ機構とを備え、前記クライアント端末は、ライトキャッシュを管理するための書き換え管理テーブルを備え、前記ネットワークブートサーバは、前記仮想ディスクの改訂情報を表すリビジョンの遷移を世代管理するための世代管理データを有し、前記世代管理データは、前記仮想ディスクに前記クライアント端末が直接書き込みするプライベートモードであって前記クライアント端末の2回目以降の起動時に、前記書き換え管理テーブルにコピーされることを特徴とする。
本発明に係るクライアント端末は、クライアント端末上で動作するオペレーティングシステムを含むディスクイメージを仮想ディスクとして提供するネットワークブートサーバとネットワークを介して接続されたネットワークブートシステムにおけるクライアント端末であって、前記オペレーティングシステムは、前記サーバから読み出したデータを前記記憶装置にキャッシュデータとして保存するリードキャッシュ機構を備え、前記ネットワークブートサーバは、前記仮想ディスクの改訂情報を表すリビジョンの遷移を世代管理するための世代管理データを有し、前記クライアント端末は、ライトキャッシュを管理するための書き換え管理テーブルを備え、前記書き換え管理テーブルには、前記仮想ディスクに前記クライアント端末が直接書き込みするプライベートモードであって前記クライアント端末の2回目以降の起動時に、前記世代管理データがコピーされることを特徴とする。
上記ネットワークブートシステムのネットワークブートサーバ又はクライアント端末を用いてネットワークブートシステムを構成することで、プライベートモードでクライアント端末を2回目以降に起動させても、リードキャッシュ機構は変更の有ったキャッシュデータを利用しないようにしつつリードキャッシュを起動することができ、クライアント端末からネットワークブートサーバへのネットワークアクセスを軽減してクライアント端末の起動速度や動作が低下することを抑えることができる。
本発明に係るリードキャッシュ機構の起動方法は、クライアント端末上で動作するオペレーティングシステムを含むディスクイメージを仮想ディスクとして提供するネットワークブートサーバと、クライアント端末とがネットワークを介して接続され、前記オペレーティングシステムは、前記サーバから読み出したデータをキャッシュデータとして端末に保存するリードキャッシュ機構を備え、前記仮想ディスクの改訂情報を表すリビジョンの遷移を世代管理するための世代管理データと、前記クライアント端末側のライトキャッシュを管理するための書き換え管理テーブルとを備えたネットワークブートシステムのリードキャッシュ機構の起動方法であって、前記仮想ディスクに前記クライアント端末が直接書き込みすることができるプライベートモードであって前記クライアント端末が2回目以降の起動であるかどうかを判定する判定工程と、前記プライベートモードで前記クライアント端末の2回目以降の起動である場合、前記世代管理データを前記クライアント端末の書き換え管理テーブルとして置き換える工程と、前記書き換え管理テーブルを用いて変更の有ったキャッシュデータを利用しないようにしつつリードキャッシュを起動する工程とを含むことを特徴とする。
上記リードキャッシュ機構の起動方法において、前記仮想ディスクの一部に、前記プライベートモードで前記クライアント端末の起動時に一定値Pを、前記プライベートモード終了時に一定値P以外の値をそれぞれ書き込むための少なくとも1ビットの保存領域を備え、前記判定工程は、前記保存領域の値が一定値Pである場合に前記クライアント端末の起動が前記プライベートモードであって前記クライアント端末が2回目以降の起動であると判定する工程を含むことを特徴とする。
本発明に係るネットワークブートシステムでは、クライアント端末がサーバ上の仮想ディスクにクライアントが直接書き込みするプライベートモードの状態でクライアント端末の2回目以降の起動であってもクライアント端末の起動速度や動作が低下することを抑えることができる。
本実施形態のネットワークブートシステムの基本構成を説明するための概念図 本実施形態のネットワークブートシステムにおける変更領域マップについて説明するための概念図 本実施形態のネットワークブートシステムにおいて書き換え管理テーブルをキャッシュ管理テーブルに適用する方法を説明する概念図、(a)はリビジョン8のキャッシュ管理テーブルの一例を示す図であり、(b)は変更領域マップMがコピーされた書き換え管理テーブルの一例を示す図であり、(c)は書き換え管理テーブルをキャッシュ管理テーブルに適用する方法の一例を示す図 本実施形態のネットワークブートシステムにおいてリードキャッシュ機構が起動する流れの一例を示すフローチャート
以下、本実施形態のネットワークブートシステムについて図面を参照して詳述する。まず、本発明が前提とするリードキャッシュ機構を備えたネットワークブートシステムの一実施態様を例示して説明する。各実施形態の記載は本発明の技術的思想を理解するために合目的的に解釈され、実施形態の記載に限定解釈されるべきものではない。
図1は、本実施形態のネットワークブートシステムの基本構成を説明するための概念図である。図1に示すように、ネットワークブートシステム100は、サーバ10と、複数台のクライアント端末20(20a,・・・)とがネットワーク30を介して接続されている。サーバ10は物理ディスク11を、クライアント端末20aは物理的な記憶装置としての物理ディスク21aと仮想ディスク22bと物理メモリ23aとをそれぞれ備え、いずれも図示しないCPUなどの基本的な構成を備えている。物理ディスク11には、各クライアント端末20(20a,・・・)が最初の起動時に読み込むOSのディスクイメージ22aが保存されている。なお、物理ディスクは、実体を伴うハードディスクその他の記憶手段を指す。物理ディスク21aは、論理的なレベルで認識される第1のパーテーションP1と物理的なレベルで認識される第2のパーテーションP2とを有する。第1のパーテーションP1には、主にライトキャッシュ領域が割り当てられ、第2のパーテーションP2には、主に読み出しキャッシュ領域とキャッシュ管理領域とが割り当てられる。
クライアント端末20aの基本的な動作としては、端末20aのフィルタドライバは、仮想的に端末20aに接続されている仮想ディスク22bに対するアクセスをネットワークを介して、サーバ10側の仮想ディスク22aへアクセスする。端末20aは、リードキャッシュ機構を機能させるためのリードキャッシュドライバを備える。リードキャッシュドライバは、プログラムであり、物理ディスク21aにおける読み出しキャッシュ領域に対するデータのアクセス(書き込み及び読み出し)を主に行う。リードキャッシュドライバはサーバ10から読み出されたデータを物理ディスク21aの読み出しキャッシュ領域にリードキャッシュとして保存して読み出しキャッシュさせる働きをする。なお、読み出しキャッシュ領域は、ディスクイメージ22aと1対1で対応付けされている。
また、クライアント端末20aでは、OS等の書き込み要求信号に対する書き込みデータを物理ディスク21aのライトキャッシュ領域に保存し、その書き込みデータをライトキャッシュとして用いる。このライトキャッシュを用いると、端末20aの更新情報(ユーザデータなど)を端末20a側に保存できるため、ネットワーク負荷を軽減できる利点がある。リードキャッシュドライバは、このライトキャッシュを管理するための書き換え管理テーブルを有している。
ネットワークブートシステム100は、「スタンダードモード」と「プライベートモード」という2つの動作モードを有している。スタンダードモードとは、複数のクライアント端末20(20a,・・・)でサーバ10上の仮想ディスク22bを共有して使用するモードであり、システムを通常の運用環境で動作させるためのモードである。一方、プライベートモードとは、サーバ10上の仮想ディスク22bに1台のクライアント端末が直接書き込みすることができるモードであり、システムを保守(メンテナンス)環境で動作させるためのモードである。プライベートモードに設定された状態で端末を起動することにより、OSやプログラムのアップデートや新規インストール或いは設定変更を行うなど、仮想ディスクのデータに変更を加えることができる。スタンダードモードでは、ライトキャッシュが有効であり、端末20が書き込みを行ってもサーバ10上の仮想ディスク22bが変更されることは無く、端末20aが再起動するたびに一般的には初期状態の仮想ディスク22bで起動する。再起動時に初期化をすることで、仮想ディスクの内容が安易に変更されない。また、プライベートモードでは、ライトキャッシュが無効であり、クライアント端末20が書き込みを行うとサーバ10上の仮想ディスク22bが変更される。
図2は、本実施形態のネットワークブートシステムにおける変更領域マップを説明するための概念図である。図2に示すように、サーバ10の物理ディスク11上には、各リビジョン(・・・, Rev.8, Rev9)で管理された、クライアント端末20aのディスクイメージと、そのディスクイメージの世代管理データとしての変更領域マップと、管理フラグとしてのダーティフラグとが保存されている。例えば、端末20aのリビジョン8のディスクイメージ22aと、ディスクイメージ22aの世代管理データとしての変更領域マップMと、ダーティフラグDとが保存されている。また、端末20aの物理ディスク21a上には、上述のリードキャッシュドライバが読み出したキャッシュデータと、リビジョン8のキャッシュ管理テーブルT1とが保存されている。一般的に端末20aの物理メモリ上には、書き換え管理テーブルT2が保存される。書き換え管理テーブルT2は、物理ディスク21a上に保存されていてもよい。
リビジョン8のキャッシュ管理テーブルT1は、読み出しキャッシュ領域Ac内にリビジョン8のディスクイメージ22aのキャッシュデータが存在するかどうかを示すデータであり、例えば、キャッシュデータが有る領域(セクタ)を1で、キャッシュデータが無い領域を0でそれぞれ示すビット列である。なお、リビジョン8のキャッシュ管理テーブルT1はリビジョン8のキャッシュデータを管理しており、そのリビジョン8のキャッシュデータはリビジョン8のディスクイメージ22aに対応付けされている。キャッシュ管理テーブルT1は、端末20aの物理メモリに読み込まれ、定期的にキャッシュ管理領域へと書き戻される。
書き換え管理テーブルT2は、リビジョン8のディスクイメージ22aのデータに対して書き込み要求信号が有ったか無かったかを示すデータであって、読み出しキャッシュ領域Ac内に保存されたリビジョン8のディスクイメージ22aのキャッシュデータに対応付けされている。例えば、書き込み要求信号が有ったディスクイメージ22aのデータに対応する読み出しキャッシュ領域Ac内の領域(セクタ)を1で、書き込み要求信号が無かったディスクイメージ22aのデータに対応する読み出しキャッシュ領域Ac内の領域を0でそれぞれ示すビット列である。書き換え管理テーブルT2は、端末20aの物理メモリに読み込まれる。
変更領域マップMは、クライアント端末20aの仮想ディスク22b(サーバ10上のディスクイメージ22a)のリビジョンの遷移を世代管理するための世代管理データであり、主に2つの異なるリビジョン間でディスクイメージ22a内のどの領域のデータが変更されたかを示すデータである。また、2つの異なるリビジョン間でなくても、基準とするリビジョンからディスクイメージ22a内のどの領域のデータが変更されたかを示すデータであってもよい。変更領域マップMは、例えば、リビジョン8のディスクイメージ22aを基準に変更された領域を1で、変更されていない領域を0でそれぞれ示すビット列である。リビジョン8のディスクイメージ22aのデータを変更する際には、変更領域マップMではその変更するデータに対応する領域が1に更新される。ここで、リビジョン8のディスクイメージ22aのデータに対しての書き込み要求信号によりリビジョン8のディスクイメージ22aのデータが変更されたと考えると、変更領域マップMは、書き換え管理テーブルT2と同じサイズで同じように取り扱うことができる。
ダーティフラグDは、主にリビジョン8のディスクイメージ22aのデータが変更作業中のものであるかどうかを示すデータであり、例えば、ディスクイメージ22aのデータが変更作業中のものである場合には1を、ディスクイメージ22aのデータが変更作業中のものでない場合には0をそれぞれ示す1ビットデータである。リビジョン8のディスクイメージ22aの一部に保存領域が設けられ、ダーティフラグDはその保存領域に保存される。ダーティフラグDは、リビジョン8のディスクイメージ22aが変更作業中であることを全てのクライアント端末に伝える手段として機能する。クライアント端末20aのリードキャッシュドライバは、ダーティフラグDの値が1である場合、すなわち、リビジョン8のディスクイメージ22aが変更作業中であれば、端末20a内のキャッシュを利用しない。また、ダーティフラグDの値が0である場合、すなわち、リビジョン8のディスクイメージ22aが変更中ではないクリーンな状態であれば、端末20a内のキャッシュを利用する。
サーバ10側でリビジョン8のディスクイメージ22aをリビジョン9のディスクイメージ22aに改訂する場合やリビジョン8のディスクイメージ22aのデータを変更する場合、まず、プライベートモードでクライアント端末20aを起動する。このとき、ダーティフラグDを1にする。なお、ダーティフラグDが1であってもディスクイメージ22aのデータは変更されていなくてもよい。これにより、以後クライアント端末20aの起動時にダーティフラグDが1である場合には、プライベートモードで2回目以降の起動であることを確認することができ、サーバ側のリビジョン8のディスクイメージ22aのデータに何らかの変更が加えられていると判断できる。
そこで、クライアント端末20aの起動時にダーティフラグDが1である場合、リードキャッシュ機構は、書き換え管理テーブルT2を変更領域マップMに置き換えて、具体的には、書き換え管理テーブルT2に変更領域マップMをコピーして、その書き換え管理テーブルT2をキャッシュ管理テーブルT1に適用することでディスクイメージ22aが変更されなかった領域、すなわち、リビジョン8のディスクイメージ22aのキャッシュデータをそのまま利用できる領域を特定し、そのキャッシュデータを有効に利用することができる。これにより、クライアント端末20aからサーバ10へのネットワークアクセスを低減してクライアント端末20aの起動速度や動作が低下することを抑えることができる。次に、変更領域マップMがコピーされた書き換え管理テーブルT2をキャッシュ管理テーブルT1に適用する方法について説明する。
図3は、本実施形態のネットワークブートシステムにおいて書き換え管理テーブルが適用されたキャッシュ管理テーブルを説明する概念図である。図3(a)はリビジョン8のキャッシュ管理テーブルの一例を示す図であり、図3(b)は変更領域マップMがコピーされた書き換え管理テーブルの一例を示す図であり、図3(c)は書き換え管理テーブルをキャッシュ管理テーブルに適用する方法の一例を示す図である。
図3(a)に示すように、リビジョン8のキャッシュ管理テーブルT1は、セクタAで1、セクタBで0、セクタCで1である。これは、端末20aの読み出しキャッシュ領域のセクタA及びCでリビジョン8のディスクイメージ22aのデータが既にキャッシュデータとして保存されている(キャッシュ済みである)こと、及びセクタBでキャッシュデータが無い(未キャッシュである)ことを示している。リードキャッシュ機構は、このリビジョン8のキャッシュ管理テーブルT1を参照することで、キャッシュ済みのセクタのキャッシュデータにアクセスすることができ、リビジョン8のディスクイメージ22aにおいて未キャッシュの領域に対応するデータを読み込んだ際にはキャッシュデータとして保存することができる。
図3(b)に示すように、変更領域マップMがコピーされた書き換え管理テーブルT2は、セクタAで1、セクタBで1、セクタCで0とそれ以外のセクタで0である。これは、プライベートモードでリビジョン8のディスクイメージ22aのデータに変更が加えられたときに、読み出しキャッシュ領域のセクタA及びBが変更が加えられた領域(変更領域)であること、及びセクタCとそれ以外のセクタが変更されなかった領域(未変更領域)であることを示している。
変更領域マップM及び書き換え管理テーブルT2は、いずれもディスクイメージ(仮想ディスク)22aへの書き込みによって変更された領域に対応する読み出しキャッシュ領域、例えばハードディスクではセクタを示すだけであり、その領域内のデータの中身については一切情報を保持しない。このため、変更領域マップM及び書き換え管理テーブルT2の容量サイズはいずれもディスクイメージ22aのサイズよりもはるかに小さくすることができる。例えば、現状のハードディスク等の記録単位を例にとり、1セクタに512バイトのデータが保存されるなら、512バイト(=4096ビット)あたり1ビットとなるため、仮想ディスクの容量の1/4096(=1ビット/512バイト)のサイズでよいことがわかる。
図3(c)に示すように、リビジョン8のキャッシュデータを利用できるかどうかを示すテーブルT3は、セクタAで0、セクタBで0、セクタCで1である。これは、クライアント端末20aの読み出しキャッシュ領域のセクタAでは、リビジョン8のディスクイメージ22aのデータが既にキャッシュデータとして保存されている(キャッシュ済みである)が、変更が加えられた領域であるため利用できないことを示している。セクタBでは、キャッシュデータは無い(未キャッシュである)が、変更が加えられた領域であるため利用できないことを示している。セクタCでは、リビジョン8のディスクイメージ22aのデータが既にキャッシュデータとして保存され(キャッシュ済みであり)、変更が加えられていない領域であるため利用できることを示している。なお、0となっている他のセクタでは、キャッシュデータが無く(未キャッシュであり)、変更も加えられていない領域であることも含まれる。いずれにしてもリビジョン8のディスクイメージ22aのキャッシュデータが利用できるセクタは1であり、キャッシュデータが利用できないセクタは0で示されている。
テーブルT3は、書き換え管理テーブルT2における読み出しキャッシュ領域の変更の有ったセクタA及びBを抽出し、リビジョン8のキャッシュ管理テーブルT1のセクタA及びBを0(キャッシュが利用できない状態)にする、すなわち、キャッシュ管理テーブルT1と書き換え管理テーブルT2の否定との論理積を求めることで得ることができる。リードキャッシュ機構は、テーブルT3を用いることでリビジョン8のディスクイメージ22aのデータに変更が加えられていないリビジョン8のキャッシュデータを有効に利用することができる。
本実施形態のネットワークブートシステム100は、プライベートモードでクライアント端末20aの2回目以降の起動であっても、書き換え管理テーブルT2を変更領域マップMに置き換えてキャッシュ管理テーブルT1に適用することでリビジョン8のディスクイメージ22aのデータに変更が加えられていないリビジョン8のキャッシュデータを有効に利用することができる。そのため、クライアント端末20aの起動速度や動作が低下することを抑えることができる。
図4は、本実施形態のネットワークブートシステムにおいてリードキャッシュ機構が起動する流れの一例を示すフローチャートである。まず、プライベートモードでクライアント端末が2回目以降の起動であるかどうか判定する(S1)。このとき、フラグ保存領域に保存されたダーティフラグを確認することで容易に判定することができる。なお、変更領域マップを確認して判定してもよい。次に、プライベートモードでクライアント端末が2回目以降の起動である場合、書き換え管理テーブルを変更領域マップに置き換える(S2)。このとき、書き換え管理テーブルに変更領域マップをコピーするようにしてもよい。次に、書き換え管理テーブルをキャッシュ管理テーブルに適用する(S3)。これにより、キャッシュデータの利用できる領域又は利用できない領域を判別することができ、変更の有ったキャッシュデータを利用しないようにしつつリードキャッシュを起動させる(S4)。リードキャッシュ機構が以上の手順を処理するプログラムを備えることにより、リードキャッシュ機構はプライベートモードでクライアント端末20aの2回目以降の起動であっても、クライアント端末に保存されたキャッシュデータを有効に利用することができる。
本実施形態のネットワークブートシステムは、プライベートモードで起動した後、スタンダードモードに変更したような場合でも、「リビジョンを更新することなく」スタンダードモードで起動すれば、クライアント端末に保存されたキャッシュデータを有効に利用できる。具体的には、リビジョンの更新を忘れた場合、リビジョンの更新が不要な程度の軽微なディスクイメージのデータの変更作業の場合、リビジョンの更新に何らかの意味を持たせて各端末で作業をする場合、また、プライベートモードでディスクの更新作業をする過程において一時的にスタンダードモードに変更して複数の端末での動作試験を行いたい場合等が考えられる。
図1及び図2に示すように、本実施形態のネットワークブートシステム100は、プライベートモードでクライアント端末20aを起動した後にクライアント端末20aの電源を一旦OFFにし、スタンダードモードに変更し、リビジョンを8から9に更新することなくその後クライアント端末20(20a,・・・)のいずれかで起動するようにしても、上記手順と同様に、例えば、クライアント端末20aにおいて書き換え管理テーブルT2を変更領域マップMに置き換えてキャッシュ管理テーブルT1に適用することでリビジョン8のディスクイメージ22aのデータに変更が加えられていないリビジョン8のキャッシュデータを有効に利用することができる。そのため、クライアント端末20(20a,・・・)の起動速度や動作が低下することを抑えることができる。特に、リビジョン8のディスクイメージ22aのデータの変更作業に時間を要する場合には、上述のプライベートモードでクライアント端末20aの2回目以降の起動時の起動方法と併用することで、プライベートモード又はスタンダードモードに適宜変更しても各端末でリードキャッシュを起動してキャッシュデータを有効に利用することができる。
本実施形態のネットワークブートシステムでは、ダーティフラグDの値により各リビジョンのディスクイメージのデータが変更作業中のものであるかどうか、具体的には、プライベートモードでクライアント端末の2回目以降の起動であるかどうかの判定をしているが、同じようにダーティフラグDを用いて「プライベートモードで起動した後に、リビジョンを更新することなくスタンダードモードに変更した後の起動であるかどうか」の判定をするようにしてもよい。例えば、ダーティフラグDは、プライベートモードで起動時に1の値が書き込まれ、リビジョンの更新時に0の値が書き込まれるデータであって、リビジョン8のディスクイメージ22aのデータが変更作業中のものである場合には1を、ディスクイメージ22aのデータが変更作業中のものでない場合には0をそれぞれ示す1ビットデータとし、スタンダードモードで起動しているにも関わらずダーティフラグDが1の場合、「プライベートモードで起動した後に、リビジョンを更新することなくスタンダードモードに変更した後の起動である」と判定する。また、ダーティフラグDの他にフラグを用いて判定するようにしてもよい。
本実施形態のネットワークブートシステムは、多数のクライアント端末がデスクトップ環境を利用するVDI(Virtual Desktop Infrastructure)の環境下においても非常に有効である。従来のVDIの環境下では、サーバ上に各クライアント端末に対応する仮想化されたデスクトップOSがそれぞれ保存されており、保守作業ではその仮想化されたデスクトップOSをそれぞれ対象として実施されていた。
本実施形態のネットワークブートシステムでは、プライベートモードでサーバ上に集約された仮想化されたデスクトップOSを保守するだけでよく、さらに、どのクライアント端末からでもプライベートモードで保守作業が実施でき、その保守作業時にはクライアント端末に保存されたキャッシュデータを有効に利用することができるため、より効率よく保守作業を実施することができる。
会社等の個人用端末を仮想PC環境に移行させることを目的としたVDI環境においては、端末を再起動して端末の環境が初期状態に復元されることは必ずしも求められず、むしろ、端末を再起動しても端末の環境が前回の作業終了時の環境と同じであることが求められる。また、個々の仮想PCに対してハードディスクの領域を割り当てるようなシステムでは、それぞれの仮想PCに対してOSやアプリケーションのための必要な物理ディスク容量が大きくなり、物理ディスクに共通のデータが多数分散することになってしまう。
そのため、本実施形態のネットワークブートシステムでは、VDI環境において端末20を再起動しても前回の作業終了時の環境と同じ環境が保持されるように、図2に示すように上記書き込み管理テーブルT2をクライアント端末20a内の物理メモリ23a上ではなくディスク21a上に保存しておく。これにより、それぞれの仮想PCに対してOSやアプリケーションのための必要な物理ディスク容量を抑えて、端末20の電源を切っても書き込み管理テーブルT2とライトキャッシュとのデータはディスク21a上に保持され、端末20の次回起動時には書き込み管理テーブルT2とライトキャッシュのデータを継続して利用することができる。
10 サーバ(ネットワークブートサーバ)
11 物理ディスク(ハードディスク)
20 クライアント端末
20a クライアント端末
21a 物理ディスク
22b 仮想ディスク(vDisk)
23a 物理メモリ
30 ネットワーク
100 ネットワークブートシステム
Ac 読み出しキャッシュ領域
D ダーティフラグ
M 変更領域マップ(世代管理データ)
T1 キャッシュ管理テーブル
T2 書き換え管理テーブル
T3 リビジョン8のキャッシュデータを利用できるかどうかを示すテーブル

Claims (15)

  1. クライアント端末上で動作するオペレーティングシステムを含むディスクイメージを仮想ディスクとして提供するネットワークブートサーバと、物理的な記憶装置を備えたクライアント端末とがネットワークを介して接続され、
    前記オペレーティングシステムは、前記サーバから読み出したデータを前記記憶装置にキャッシュデータとして保存するリードキャッシュ機構を備えたネットワークブートシステムであって、
    前記記憶装置の読み出しキャッシュ領域内にキャッシュデータが存在するかどうかを示すキャッシュ管理テーブルと、前記仮想ディスクの改訂情報を表すリビジョンの遷移を世代管理するための2つの異なるリビジョン間で又は基準とするリビジョンからディスクイメージ内のどの領域のデータが変更されたかを示す世代管理データと前記クライアント端末側のライトキャッシュを管理するためのあるリビジョンのディスクイメージのデータに対して書き込み要求信号が有ったか無かったかを示すデータである書き換え管理テーブルとを備え、
    前記リードキャッシュ機構は、
    前記クライアント端末が前記ライトキャッシュにキャッシュすることなく前記仮想ディスクに書き込みするプライベートモードであって前記クライアント端末の2回目以降の起動時には、
    前記キャッシュ管理テーブルを変更することなく
    前記世代管理データを前記書き換え管理テーブルにコピーして
    リードキャッシュであるキャッシュデータのうち、変更の有ったキャッシュデータのみを利用しないようにしつつリードキャッシュを起動する
    ことを特徴とするネットワークブートシステム。
  2. 前記書き換え管理テーブルは前記クライアント端末側に保存され、
    前記プライベートモードであって前記クライアント端末の2回目以降の起動時には、
    前記世代管理データが前記書き換え管理テーブルにコピーされている
    ことを特徴とする請求項1記載のネットワークブートシステム。
  3. 前記仮想ディスクの一部に、前記プライベートモードで前記クライアント端末の起動時に一定値Pを、前記プライベートモード終了時に一定値P以外の値をそれぞれ書き込むための少なくとも1ビットの保存領域を備え、
    前記リードキャッシュ機構は、
    前記保存領域の値が一定値Pである場合には、
    前記プライベートモードで前記クライアント端末の2回目以降の起動であると判定してリードキャッシュを起動することを特徴とする請求項1又は請求項2に記載のネットワークブートシステム。
  4. クライアント端末上で動作するオペレーティングシステムを含むディスクイメージを仮想ディスクとして前記端末にネットワークを介して提供するネットワークブートサーバであって、
    前記オペレーティングシステムは、前記サーバから読み出したデータをキャッシュデータとして保存するリードキャッシュ機構とを備え、
    前記クライアント端末は、前記キャッシュデータが存在するかどうかを示すキャッシュ管理テーブルと、ライトキャッシュを管理するための書き換え管理テーブルとを備え、
    前記ネットワークブートサーバは、前記仮想ディスクの改訂情報を表すリビジョンの遷移を世代管理するための2つの異なるリビジョン間で又は基準とするリビジョンからディスクイメージ内のどの領域のデータが変更されたかを示す世代管理データを有し、
    前記世代管理データは、前記クライアント端末が前記ライトキャッシュにキャッシュすることなく前記仮想ディスクに書き込みするプライベートモードであって前記クライアント端末の2回目以降の起動時に、前記キャッシュ管理テーブルを変更することなく前記書き換え管理テーブルにコピーされる
    ことを特徴とするネットワークブートサーバ。
  5. クライアント端末上で動作するオペレーティングシステムを含むディスクイメージを仮想ディスクとして提供するネットワークブートサーバとネットワークを介して接続されたネットワークブートシステムにおけるクライアント端末であって、
    前記オペレーティングシステムは、前記サーバから読み出したデータを記憶装置にキャッシュデータとして保存するリードキャッシュ機構を備え、
    前記ネットワークブートサーバは、前記仮想ディスクの改訂情報を表すリビジョンの遷移を世代管理するための世代管理データを有し、
    前記クライアント端末は、前記キャッシュデータが存在するかどうかを示すキャッシュ管理テーブルと、ライトキャッシュを管理するための書き換え管理テーブルとを備え、
    前記書き換え管理テーブルには、前記クライアント端末が前記ライトキャッシュにキャッシュすることなく前記仮想ディスクに書き込みするプライベートモードであって前記クライアント端末の2回目以降の起動時に、前記キャッシュ管理テーブルを変更することなく前記世代管理データがコピーされる
    ことを特徴とするクライアント端末。
  6. クライアント端末上で動作するオペレーティングシステムを含むディスクイメージを仮想ディスクとして提供するネットワークブートサーバと、クライアント端末とがネットワークを介して接続され、
    前記オペレーティングシステムは、前記サーバから読み出したデータをキャッシュデータとして端末に保存するリードキャッシュ機構を備え、
    前記キャッシュデータが存在するかどうかを示すキャッシュ管理テーブルと、前記仮想ディスクの改訂情報を表すリビジョンの遷移を世代管理するための2つの異なるリビジョン間で又は基準とするリビジョンからディスクイメージ内のどの領域のデータが変更されたかを示す世代管理データと前記クライアント端末側のライトキャッシュを管理するためのあるリビジョンのディスクイメージのデータに対して書き込み要求信号が有ったか無かったかを示すデータである書き換え管理テーブルとを備えたネットワークブートシステムのリードキャッシュ機構の起動方法であって、
    前記クライアント端末が前記ライトキャッシュにキャッシュすることなく前記仮想ディスクに書き込みするプライベートモードであって前記クライアント端末が2回目以降の起動であるかどうかを判定する判定工程と、
    前記プライベートモードであって前記クライアント端末の2回目以降の起動である場合、前記キャッシュ管理テーブルを変更することなく前記世代管理データを前記クライアント端末の書き換え管理テーブルにコピーする工程と、
    前記世代管理データがコピーされた書き換え管理テーブルを用いてリードキャッシュであるキャッシュデータのうち、変更の有ったキャッシュデータのみを利用しないようにしつつリードキャッシュを起動する工程とを含む
    ことを特徴とするリードキャッシュ機構の起動方法。
  7. 前記仮想ディスクの一部に、前記プライベートモードで前記クライアント端末の起動時に一定値Pを、前記プライベートモード終了時に一定値P以外の値をそれぞれ書き込むための少なくとも1ビットの保存領域を備え、
    前記判定工程は、前記保存領域の値が一定値Pである場合に前記クライアント端末の起動が前記プライベートモードであって前記クライアント端末が2回目以降の起動であると判定する工程を含む
    ことを特徴とする請求項6記載のリードキャッシュ機構の起動方法。
  8. クライアント端末上で動作するオペレーティングシステムを含むディスクイメージを仮想ディスクとして提供するネットワークブートサーバと、物理的な記憶装置を備えたクライアント端末とがネットワークを介して接続され、
    前記オペレーティングシステムは、前記サーバから読み出したデータを前記記憶装置にキャッシュデータとして保存するリードキャッシュ機構を備えたネットワークブートシステムであって、
    前記キャッシュデータが存在するかどうかを示すキャッシュ管理テーブルと、
    前記仮想ディスクの改訂情報を表すリビジョンの遷移を世代管理するための2つの異なるリビジョン間で又は基準とするリビジョンからディスクイメージ内のどの領域のデータが変更されたかを示す世代管理データと前記クライアント端末側のライトキャッシュを管理するためのあるリビジョンのディスクイメージのデータに対して書き込み要求信号が有ったか無かったかを示すデータである書き換え管理テーブルとを備え、
    前記リードキャッシュ機構は、
    前記クライアント端末が前記ライトキャッシュにキャッシュすることなく前記仮想ディスクに書き込みするプライベートモードで起動した後にリビジョンを更新することなく前記仮想ディスクを共有して使用するスタンダードモードに変更した後の起動時には、
    前記キャッシュ管理テーブルを変更することなく
    前記世代管理データを書き換え管理テーブルにコピーして
    リードキャッシュであるキャッシュデータのうち、変更の有ったキャッシュデータのみを利用しないようにしつつリードキャッシュを起動する
    ことを特徴とするネットワークブートシステム。
  9. 前記書き換え管理テーブルは前記クライアント端末側に保存される
    ことを特徴とする請求項8記載のネットワークブートシステム。
  10. 前記仮想ディスクの一部に、前記プライベートモードで前記クライアント端末の起動時に一定値P’を、リビジョンの更新時に一定値P’以外の値をそれぞれ書き込むための少なくとも1ビットの保存領域を備え、
    前記リードキャッシュ機構は、
    前記スタンダードモードで起動中に前記保存領域の値が一定値P’である場合には、
    前記プライベートモードで起動した後にリビジョンを更新することなく前記スタンダードモードに変更した後の起動であると判定してリードキャッシュを起動することを特徴とする請求項8又は請求項9に記載のネットワークブートシステム。
  11. クライアント端末上で動作するオペレーティングシステムを含むディスクイメージを仮想ディスクとして前記端末にネットワークを介して提供するネットワークブートサーバであって、
    前記オペレーティングシステムは、前記サーバから読み出したデータをキャッシュデータとして保存するリードキャッシュ機構とを備え、
    前記クライアント端末は、前記キャッシュデータが存在するかどうかを示すキャッシュ管理テーブルと、ライトキャッシュを管理するためのあるリビジョンのディスクイメージのデータに対して書き込み要求信号が有ったか無かったかを示すデータである書き換え管理テーブルとを備え、
    前記ネットワークブートサーバは、前記仮想ディスクの改訂情報を表すリビジョンの遷移を世代管理するための2つの異なるリビジョン間で又は基準とするリビジョンからディスクイメージ内のどの領域のデータが変更されたかを示す世代管理データを有し、
    前記世代管理データは、前記クライアント端末が前記ライトキャッシュにキャッシュすることなく前記仮想ディスクに書き込みするプライベートモードで起動した後にリビジョンを更新することなく前記仮想ディスクを共有して使用するスタンダードモードに変更した後の起動時に、前記キャッシュ管理テーブルを変更することなく前記書き換え管理テーブルにコピーされる
    ことを特徴とするネットワークブートサーバ。
  12. クライアント端末上で動作するオペレーティングシステムを含むディスクイメージを仮想ディスクとして提供するネットワークブートサーバとネットワークを介して接続されたネットワークブートシステムにおけるクライアント端末であって、
    前記オペレーティングシステムは、前記サーバから読み出したデータを記憶装置にキャッシュデータとして保存するリードキャッシュ機構を備え、
    前記ネットワークブートサーバは、前記仮想ディスクの改訂情報を表すリビジョンの遷移を世代管理するための2つの異なるリビジョン間で又は基準とするリビジョンからディスクイメージ内のどの領域のデータが変更されたかを示す世代管理データを有し、
    前記クライアント端末は、前記キャッシュデータが存在するかどうかを示すあるリビジョンのディスクイメージのデータに対して書き込み要求信号が有ったか無かったかを示すデータであるキャッシュ管理テーブルと、ライトキャッシュを管理するための書き換え管理テーブルとを備え、
    前記書き換え管理テーブルには、前記クライアント端末が前記ライトキャッシュにキャッシュすることなく前記仮想ディスクに書き込みするプライベートモードで起動した後にリビジョンを更新することなく前記仮想ディスクを共有して使用するスタンダードモードに変更した後の起動時に、前記キャッシュ管理テーブルを変更することなく前記世代管理データがコピーされる
    ことを特徴とするクライアント端末。
  13. クライアント端末上で動作するオペレーティングシステムを含むディスクイメージを仮想ディスクとして提供するネットワークブートサーバと、クライアント端末とがネットワークを介して接続され、
    前記オペレーティングシステムは、前記サーバから読み出したデータをキャッシュデータとして端末に保存するリードキャッシュ機構を備え、
    前記キャッシュデータが存在するかどうかを示すあるリビジョンのディスクイメージのデータに対して書き込み要求信号が有ったか無かったかを示すデータであるキャッシュ管理テーブルと、前記仮想ディスクの改訂情報を表すリビジョンの遷移を世代管理するための2つの異なるリビジョン間で又は基準とするリビジョンからディスクイメージ内のどの領域のデータが変更されたかを示す世代管理データと、
    前記クライアント端末側のライトキャッシュを管理するための書き換え管理テーブルとを備えたネットワークブートシステムのリードキャッシュ機構の起動方法であって、
    前記クライアント端末が前記ライトキャッシュにキャッシュすることなく前記仮想ディスクに書き込みするプライベートモードで起動した後にリビジョンを更新することなく前記仮想ディスクを共有して使用するスタンダードモードに変更した後の起動であるかどうかを判定する判定工程と、
    前記プライベートモードで起動した後にリビジョンを更新することなく前記スタンダードモードに変更した後の起動である場合、前記キャッシュ管理テーブルを変更することなく前記世代管理データを前記クライアント端末の書き換え管理テーブルにコピーする工程と、
    コピーされた書き換え管理テーブルを用いてリードキャッシュであるキャッシュデータのうち、変更の有ったキャッシュデータのみを利用しないようにしつつリードキャッシュを起動する工程とを含む
    ことを特徴とするリードキャッシュ機構の起動方法。
  14. 前記仮想ディスクの一部に、前記プライベートモードで前記クライアント端末の起動時に一定値P’を、リビジョンの更新時に一定値P’以外の値をそれぞれ書き込むための少なくとも1ビットの保存領域を備え、
    前記判定工程は、前記スタンダードモードで起動中に前記保存領域の値が一定値P’である場合に前記プライベートモードで起動した後にリビジョンを更新することなく前記スタンダードモードに変更した後の起動であると判定する工程を含む
    ことを特徴とする請求項13記載のリードキャッシュ機構の起動方法。
  15. クライアント端末上で動作するオペレーティングシステムを含むディスクイメージを仮想ディスクとして提供するネットワークブートサーバと、クライアント端末とがネットワークを介して接続され、
    前記オペレーティングシステムは、前記サーバから読み出したデータをキャッシュデータとして端末に保存するリードキャッシュ機構を備え、
    前記キャッシュデータが存在するかどうかを示すあるリビジョンのディスクイメージのデータに対して書き込み要求信号が有ったか無かったかを示すデータであるキャッシュ管理テーブルと、前記仮想ディスクの改訂情報を表すリビジョンの遷移を世代管理するための2つの異なるリビジョン間で又は基準とするリビジョンからディスクイメージ内のどの領域のデータが変更されたかを示す世代管理データと、
    前記クライアント端末側のライトキャッシュを管理するための書き換え管理テーブルとを備えたネットワークブートシステムのリードキャッシュ機構の起動方法であって、
    前記仮想ディスクの変更作業中の起動であるかどうかを判定する判定工程と、
    前記仮想ディスクの変更作業中の起動である場合、前記キャッシュ管理テーブルを変更することなく前記世代管理データを前記クライアント端末の書き換え管理テーブルにコピーする工程と、
    コピーされた書き換え管理テーブルを用いてリードキャッシュであるキャッシュデータのうち、変更の有ったキャッシュデータのみを利用しないようにしつつリードキャッシュを起動する工程とを含み、
    前記仮想ディスクの一部に、前記クライアント端末が前記ライトキャッシュにキャッシュすることなく前記仮想ディスクに書き込みするプライベートモードで前記クライアント端末の起動時に一定値Pを、リビジョンの更新時に一定値P以外の値をそれぞれ書き込むための少なくとも1ビットの保存領域を備え、
    前記判定工程は、前記保存領域の値が一定値Pである場合に前記仮想ディスクの変更作業中の起動であると判定する
    ことを特徴とするリードキャッシュ機構の起動方法。
JP2014506669A 2012-09-18 2013-09-18 ネットワークブートシステム Active JP5660557B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014506669A JP5660557B2 (ja) 2012-09-18 2013-09-18 ネットワークブートシステム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2012203793 2012-09-18
JP2012203793 2012-09-18
JP2014506669A JP5660557B2 (ja) 2012-09-18 2013-09-18 ネットワークブートシステム
PCT/JP2013/075094 WO2014046105A1 (ja) 2012-09-18 2013-09-18 ネットワークブートシステム

Publications (2)

Publication Number Publication Date
JP5660557B2 true JP5660557B2 (ja) 2015-01-28
JPWO2014046105A1 JPWO2014046105A1 (ja) 2016-08-18

Family

ID=50341415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014506669A Active JP5660557B2 (ja) 2012-09-18 2013-09-18 ネットワークブートシステム

Country Status (6)

Country Link
US (1) US9372700B2 (ja)
JP (1) JP5660557B2 (ja)
KR (1) KR102123701B1 (ja)
CN (1) CN104205048B (ja)
HK (1) HK1200226A1 (ja)
WO (1) WO2014046105A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10664189B2 (en) * 2018-08-27 2020-05-26 International Business Machines Corporation Performance in synchronous data replication environments
US11243781B2 (en) * 2020-03-04 2022-02-08 Citrix Systems, Inc. Provisioning services (PVS) cloud streaming with read cache file storing preboot data including a network driver
CN113900716B (zh) * 2021-09-29 2023-05-30 武汉噢易云计算股份有限公司 桌面启动的管理方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5290287B2 (ja) * 2008-05-29 2013-09-18 株式会社シー・オー・コンヴ ネットワークブートシステム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101170423A (zh) * 2007-11-15 2008-04-30 曙光信息产业(北京)有限公司 一种面向服务的机群部署方法
WO2009069326A1 (ja) * 2007-11-26 2009-06-04 Co-Conv, Corp. ネットワークブートシステム
US8869141B2 (en) * 2010-03-09 2014-10-21 Avistar Communications Corp. Scalable high-performance interactive real-time media architectures for virtual desktop environments
US9928091B2 (en) * 2010-09-30 2018-03-27 Microsoft Technology Licensing, Llc Techniques for streaming virtual machines from a server to a host
JP5290446B2 (ja) * 2012-02-28 2013-09-18 株式会社シー・オー・コンヴ ネットワークブートシステム
US10152334B2 (en) * 2012-07-09 2018-12-11 Co-Conv, Corp. Network boot system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5290287B2 (ja) * 2008-05-29 2013-09-18 株式会社シー・オー・コンヴ ネットワークブートシステム

Also Published As

Publication number Publication date
HK1200226A1 (en) 2015-07-31
US20150331696A1 (en) 2015-11-19
CN104205048A (zh) 2014-12-10
JPWO2014046105A1 (ja) 2016-08-18
KR102123701B1 (ko) 2020-06-16
KR20150058092A (ko) 2015-05-28
US9372700B2 (en) 2016-06-21
WO2014046105A1 (ja) 2014-03-27
CN104205048B (zh) 2017-07-14

Similar Documents

Publication Publication Date Title
JP6310061B2 (ja) システムメモリから不揮発性データストレージに移行されるアプリケーションプログラムデータの選択的保持
JP4808275B2 (ja) ネットワークブートシステム
JP5290287B2 (ja) ネットワークブートシステム
TW201017405A (en) Improved hybrid drive
JP2008015768A (ja) 記憶システム並びにこれを用いたデータの管理方法
KR20100110652A (ko) 메모리 장치 및 메모리 장치의 펌웨어 업데이트 방법
US20140298333A1 (en) Migration processing program, migration method, and cloud computing system
US20200042357A1 (en) Os/hypervisor-based persistent memory
JP2018060316A (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム
JP5660557B2 (ja) ネットワークブートシステム
JP2015087906A (ja) テープ装置、記憶制御装置および記憶制御方法
JP2021005121A (ja) ストレージ装置、及び制御方法
JP6515462B2 (ja) 情報処理装置、情報処理装置の設定方法及び設定プログラム
US11176089B2 (en) Systems and methods for implementing dynamic file systems
JP2006099802A (ja) 記憶制御装置およびキャッシュメモリの制御方法
JP2017033375A (ja) 並列計算システム、マイグレーション方法、及びマイグレーションプログラム
US20170039110A1 (en) Computer
CN111104252B (zh) 用于混合磁盘环境中的数据备份的系统和方法
JP5012599B2 (ja) メモリ内容復元装置、メモリ内容復元方法及びメモリ内容復元プログラム
KR101618999B1 (ko) 네트워크 부트 시스템
US11748259B2 (en) System and method to conserve device lifetime for snapshot generation
JP6142510B2 (ja) 情報格納制御装置及びその制御方法、並びにコンピュータ・プログラム
JP6020296B2 (ja) ストレージ装置、コピー制御プログラムおよびコピー制御方法
JP2019168952A (ja) メモリ管理装置、メモリ管理方法、及びプログラム
JP5047346B2 (ja) データ処理システム、データ移動方法、およびデータ移動プログラム

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141125

R150 Certificate of patent or registration of utility model

Ref document number: 5660557

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