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

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

Info

Publication number
JP4808275B2
JP4808275B2 JP2009543679A JP2009543679A JP4808275B2 JP 4808275 B2 JP4808275 B2 JP 4808275B2 JP 2009543679 A JP2009543679 A JP 2009543679A JP 2009543679 A JP2009543679 A JP 2009543679A JP 4808275 B2 JP4808275 B2 JP 4808275B2
Authority
JP
Japan
Prior art keywords
data
read
client terminal
cache
network
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
JP2009543679A
Other languages
English (en)
Other versions
JPWO2009069326A1 (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 JP2009543679A priority Critical patent/JP4808275B2/ja
Publication of JPWO2009069326A1 publication Critical patent/JPWO2009069326A1/ja
Application granted granted Critical
Publication of JP4808275B2 publication Critical patent/JP4808275B2/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]

Landscapes

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

Description

本発明は、ネットワークを介してオペレーティングシステムを起動するシステムに関するものである。
近年、ネットワークを介してオペレーティングシステム(以下、「OS」という。)を起動するシステム(以下、「ネットワークブートシステム」という。)が注目されている。このシステムは、少なくとも1台のネットワークブートサーバ(I/Oサーバ)と複数台のクライアント端末とがネットワークを介して接続されたものである。システム構成にはいくつかの種類があるが、最も一般的な構成は、クライアント端末で動作するOSやアプリケーションソフトなどの全てのプログラム及びデータをサーバ側の記憶装置(ハードディスク等)にイメージデータとして保存し、クライアント端末を起動するとネットワークを介してクライアント端末上にOSが読み込まれるというものである。
ネットワークブートシステムはサーバ側の記憶装置を複数のクライアント端末で共有する仕組みを持つことによって、クライアント端末がディスクレスすなわちハードディスクを持つ必要が無くなり、クライアント端末のOSを含む全てのデータをサーバ側で集中管理することができる利点がある。そのため、多くのクライアント端末が稼働するシステムに適している。
また、OSやアプリケーションソフトを各クライアント端末側のCPUと物理メモリで実行するため、クライアント端末の性能を最大限に発揮してサーバの負荷を最小限に抑えられる利点もある。
このシステムは、n台のクライアントが同時にサーバにアクセスした場合、サーバの処理能力は単純に1/nに低下するが、通常の使用時には個々のクライアント端末で発生する負荷が時間的に分散するのでそれほど深刻な問題とはならない。そのため、同時に使用するクライアント端末の数が増大しても、通常の使用時には、自身でオペレーティングシステムを起動する通常の(ネットワークブートではない)コンピューターシステムなどと比較しても全く遜色のない性能を発揮できる。なお、本発明の背景技術に関する文献として、下記特許文献1などが存在している。
特開2005−149334公報
ところが、本件発明者たちは、あるOSの起動時のトラフィックを測定したところ、120Mbps程度であるとの結果を得た。これによると、サーバ側のネットワークの通信速度は現状のところ最大でも1Gbps程度であるので、クライアント端末8台(1Gbps÷120Mbps)が性能維持の限界であると見積もられる。すなわち、ネットワークブートシステムにおいては「多数のクライアント端末が一斉に起動する」というケースを想定した場合、一般に考えられているよりも深刻な性能の低下が起こることになる。
本発明は、上記の知見に基づいてなされたものであり、サーバへのネットワークアクセスを大幅に軽減することを可能にする新規な仕組みを提供することを技術的課題とする。
本発明に係るネットワークブートシステムは、クライアント端末上で動作するオペレーティングシステムを提供するネットワークブートサーバと、物理的な記憶装置を備えたクライアント端末とがネットワークを通じて接続され、前記クライアント端末は、前記オペレーティングシステム起動中に必要なデータを一時的に保存することができる物理メモリと、前記ネットワークを介して前記サーバにアクセスするためのネットワークインターフェースとを備えていると共に、前記オペレーティングシステムは、前記ネットワークインターフェースを駆動するためのネットワークドライバと、前記クライアント端末のローカルバスに対するアクセスを前記ネットワークに対するアクセスに変換するためのフィルタドライバと、前記記憶装置を駆動するためのリードキャッシュドライバを備えており、前記リードキャッシュドライバが、前記フィルタドライバによって前記サーバから読み出されたデータを前記記憶装置に読み出しキャッシュすることを特徴とする。
このシステムにおいて、サーバ上のデータは通常イメージデータとして保存されているが、ここで「読み出しキャッシュ」とは「読み出し専用のキャッシュ」、つまり、上記イメージデータに一切変更が加えられていないコピーをクライアント端末の記憶装置内にキャッシュすることを意味する。このシステムによると、上記「読み出しキャッシュ」がOS及びその上で動作するアプリケーションソフトに対して極めて効果的に機能するため、読み取りについてはローカルディスクと同等以上の速度が得られ、また、起動速度が大幅に改善する。さらに、クライアント端末の2回目以降の起動処理の際にサーバへのネットワークアクセスが殆ど発生しなくなり、これら結果として一台のサーバに接続できるクライアント端末を従来よりも飛躍的に増大することができる。
このシステムにおける前記クライアント端末は、前記リードキャッシュドライバが前記サーバから読み出されたデータが書き込み済であるか否かを判別するための管理フラグを前記物理メモリに保持すると共に、前記記憶装置は、前記サーバから受け取ったデータを保持するための読み出しキャッシュ領域を備えることが好ましい。書き込み済であるかを判別する方法にはいくつかの方法が考えられるが、クライアント端末の物理メモリに管理フラグを設ける方法が最も簡便でかつ高速だからである。なお、単に「管理フラグ」という場合は、サーバから読み出そうとする領域に書き込みが行われた否かを判別するための「書き込み管理フラグ」と、サーバから読み出されたデータが前記物理的な記憶装置に書き込み済みであるか否かを判別するための「読み込み管理フラグ」の2つがある。
ただし、物理メモリはクライアント端末のOSを終了するとその内容が消去されてしまうため、2回目以降の起動の際に読み出しキャッシュ領域に保持されたデータを利用するために、管理フラグの少なくとも一部の内容を保存することが一層好ましい。そこで、前記記憶装置は、さらに、前記物理メモリに保持されている管理フラグの少なくとも一部を書き戻すためのキャッシュ管理領域を備えていることが好ましい。このようにすれば、OS再起動後もすでにサーバから読み出したデータについてはネットワークを介して再度取得する必要がなくなるからである。この記憶装置への書き戻し処理は、管理フラグのバックアップであるから、任意のタイミングで随時行ってよい。例えば、フィルタドライバに対する読み出しや書き込み処理と非同期に行っても構わない。なお、「管理フラグの少なくとも一部」とは、具体的には、「読み出し管理フラグ」のことを指している。
また、前記記憶装置は、前記物理メモリに記憶されているデータの一部を一時的に保存するためのスワップ領域や、前記サーバに対して書き込みを行ったデータを保存することが許容された書き込みキャッシュ領域や、前記オペレーティングシステム上で動作するアプリケーションソフトのワークエリアなどを備えていてもよい。本システムは、クライアント端末がローカルに記憶装置を持ち、そこに読み出しキャッシュする仕組みを提供するものであるが、その一部をこれらの用途に用いることでクライアント端末の操作環境が一層改善されるからである。
また、前記サーバは前記クライアント端末が用いるオペレーティングシステム、アプリケーションソフトその他のデータを保持するための仮想ディスクを具備し、前記仮想ディスクはその更新情報を保持するための領域を備えていると共に、前記仮想ディスクが更新された場合には、前記記憶装置にキャッシュされている全てのデータを使用しないように構成することが好ましい。本システムはサーバ側のイメージデータが更新されないことを前提として設計することができ、この場合、仮想ディスクの実体はサーバ側の記憶装置の一部であるのでサーバ側において、仮想ディスクの更新情報を管理しておくことが好都合だからである。
また、前記記憶装置は一部又は全部が暗号化されていることが好ましい。こうすると、クライアント端末側のハードディスク等をそのまま持ち去られてもデータの漏洩を防止できるからである。
本発明に係るネットワークブートシステムによれば、クライアント端末のローカルディスクがその一部に「読み出しキャッシュ」を備えるため、同じデータの2度目以降の読み出し時には、ネットワークアクセスが一切発生せず、サーバへのネットワークアクセスを劇的に減らすことができる。また、一部のクライアント端末側の物理ディスクに障害が発生した場合でも、同様の障害が他のクライアント端末においても同時に多発しない限り、サーバへのネットワークアクセスが急増することはなく、システム全体としてみた場合のパフォーマンスの問題も生じない。
図1(a)及び図1(b)は、第1の実施形態のネットワークブートシステムの基本構成を説明するための概念図である。 図2は、このシステムにおけるディスクアクセスの関係を説明した図である。 図3(a)及び図3(b)は、クライアント端末のディスク構成を示した図である。図3(c) は 第1のパーティションP1に割り当てる機能の一例を説明する図である。 図4(a)は、「キャッシュ管理テーブル」を示している。図4(b)は、キャッシュ管理テーブルの状態とその動作をまとめた一覧表を示す図である。 図5は第1の実施形態の変形例を示しており、読み出しキャッシュを主体しつつ、書き込みキャッシュを補助的に用いたこのシステムにおけるディスクアクセスの関係を説明した図である。 図6(a)及び図6(b)は、いずれも一般的なコンピュータシステムにおけるディスクアクセスの関係を説明するための図である。
符号の説明
10 サーバ(ネットワークブートサーバ)
11 物理ディスク(ハードディスク)
20 クライアント端末
21 ローカルディスク
22 仮想ディスク(Vdisk)
40 クライアントOS(又はアプリケーションソフト)
46 フィルタドライバ
48 ネットワークドライバ
50 リードキャッシュドライバ
本明細書における用語の解釈は以下の通りとする。ただし、ここで定義しないものについては適宜文中において指摘する。
・「サーバ」とは、クライアント端末上で動作するオペレーティングシステムを提供する少なくとも1台のコンピューターを指すものとする。サーバはクライアント端末が使用するOS、アプリケーションソフトその他のデータを含む仮想ディスクをイメージデータとして保存している。
・「仮想ディスク」とは、クライアント端末上のOSからネットワークを介して見えるイメージディスク(これを「Vdisk」と表記する場合がある。)を指し、その実体はネットワークを介して接続されるサーバ上の物理ディスクに保存されているデータの一部を指すものである。
・「ローカル」とは、LANなどの外部ネットワークを介さずクライアント端末の内部バスに接続されたデバイスを意味する。
・「物理ディスク」とは、ローカルバスに接続された実体を伴うハードディスクその他の記憶手段を指し、「ローカルディスク」という場合もある。但し、OSが認識できるかぎりハードディスクの種類(例えば、SCSIディスクやIDEディスクやSATAなど)は問わない。また、ディスク状であるかを問題とせず、例えば半導体メモリーその他ハードディスクに代替する実現可能な記憶手段を全て含むものとする。
・「ユーザーデータなど」というときは、ユーザーがクライアント端末を操作することによってクライアント端末のOS又はそのOS上で動作するアプリケーションソフトが保存する全てのデータをいうものとする。
・特に明示せず単に「OS」という場合は、クライアント端末で動作するOSを意味するものとする。また、「OS側からの書き込み(又は読み出し)要求信号」という場合も、OS側で動作するアプリケーションソフトがフィルタドライバに向けて発する要求信号を含むものとする。
(ネットワークブートシステムの基本原理)
ここで、一般的なネットワークブートシステムの基本原理について簡単に説明する。図6(a)及び図6(b)は、いずれも一般的なコンピュータシステムにおけるディスクアクセスの関係を説明するための図である。
図6(a)は、一般的なコンピュータシステムがローカルディスクにデータの読み出し及び書き込みを行う仕組みを説明した図である。クライアント端末上のOS又はアプリケーションソフト101がローカルディスク103に対して読み出し及び書き込み要求信号送るとディスクドライバ102がこの要求信号に応じてローカルディスク103に対するデータの読み出し及び書き込みを制御する。
図6(b)は、ネットワークブートシステムが仮想ディスク(Vdisk)にデータの読み出し及び書き込みを行う仕組みを説明した図である。OS或いはアプリケーションソフト104が仮想ディスク105に対して読み出し及び書き込み要求信号送るとディスクドライバの代わりにフィルタドライバ106が最初にこの要求信号を受け取り、これをネットワークドライバ107に転送し、図示しないネットワークインターフェースを介してサーバ上に実体があるディスクイメージ(仮想ディスク105)に対するデータの読み出し及び書き込みを制御する。
このように、各クライアント端末のフィルタドライバ106がローカルディスクへのアクセスをネットワークアクセスに変換することにより、クライアント端末のCPUは、ローカルディスクにアクセスすることに代えて、サーバのディスクイメージにアクセスする。
ここで、「フィルタドライバ」とは、クライアント端末側のOSで動作するデバイスドライバの一種であり、その後段にネットワークドライバが設けられる。ネットワークドライバはネットワークインターフェース(イーサーネットカード等)を介してサーバ側の仮想ディスク(Vdisk)と通信し、受け取ったディスクアクセスのための要求信号に基づいてデータの授受を行う。すなわち、仮想ディスクが読み出し要求信号を受けた場合はクライアント端末側にデータを返し、書き込み要求信号を受けた場合は仮想ディスクに対してデータの書き込みを行う。
(第1の実施形態)
以下、本発明にネットワークブートシステムの第1の実施態様について図面を参照して詳述する。
[1]システムの全体構成
図1(a)及び図1(b)は、第1の実施形態のネットワークブートシステムの基本構成を説明するための概念図である。図1(a)に示すように、このシステムは少なくとも1台のサーバ(ネットワークブートサーバ)10と、複数台のクライアント端末20(20a,20b,・・・)とがネットワークを介して接続されている。また、図1(b)に示すように、システムサーバ10は物理ディスク(例えばハードディスク)11を備えている。そのほか、システムサーバ10は図示しないCPUやメモリーなどサーバとしての基本的な構成を備えている。さらに、あるクライアント端末20aは、ローカルディスク21aを備えている。但し、システム全体の中の一部に「ローカルディスクを持たないクライアント端末」が含まれていても構わない。
サーバ10の物理ディスク11には、各クライアント端末20(20a,20b,・・・)ごとに対応するディスクイメージがそれぞれ格納されている。なお、全てのクライアント端末に共通のディスクイメージと各クライアント端末ごとの更新データを保持する場合が含まれる。このディスクイメージはネットワークを介してクライアント端末上のOSにマウントされ、クライアント端末上からは仮想ディスク22(22a,22b,・・・)がネットワークを介して接続されているように見える(図1(b)参照)。
このように本発明の第1の実施形態では、クライアント端末が仮想ディスクとローカルディスクの両方を持つことになる。
図2は、このシステムにおけるディスクアクセスの関係を説明した図である。上述の通りこのシステムのクライアント端末はローカルディスク21aと仮想ディスク22aを各一つずつ持つ。このため、基本的な動作としては、ローカルディスク21aへのアクセスはディスクドライバによって図示しない内部バス(例えば、SCSIバス或いはIDEバス等)を経由して行われるのに対し、仮想ディスク22aへのアクセスはフィルタドライバ46及びネットワークドライバ48を介してネットワークを経由して行われる。
このシステムは、フィルタドライバ46の前段に「リードキャッシュドライバ50」を備えている。リードキャッシュドライバ50はローカルディスク21aにおける特定のパーティションに割り当てられた読み出しキャッシュ領域P2に対するデータのアクセス(書き込み及び読み出し)を行う。このリードキャッシュドライバ50はフィルタドライバ46によってサーバから読み出されたデータをローカルディスクに読み出しキャッシュさせる働きをするが、その動作の詳細については「[4]システムの動作」において説明する。
[2]クライアント端末側ディスク構成
図3(a)及び図3(b)は、クライアント端末側のディスク構成を示した図である。この図に示すように、クライアント端末は、ローカルディスク21aと仮想ディスク(Vdisk)22aとから構成される。
上述の通り、仮想ディスクは、クライアント端末からみるとネットワーク越しに見える論理ドライブ(OSによってはこれを「ネットワークドライブ」という場合もある)と扱われ、OSのシステムやユーザーデータなどをまるでユーザーのローカルディスクに保存するかのごとく、ネットワークを介してサーバ側のディスクイメージに保存することができる。一方、クライアント端末がもつ物理的なハードディスク(これを「ローカルディスク」とよぶ。)は内部バスに直接接続されている。
(1)物理ディスクの構成
図3(a)は物理ディスクの構成を説明するための図である。物理ディスクは、クライアント端末側に直接接続されたローカルディスクであって、この実施形態においては、少なくとも3つの領域(パーティション)に分けられている。
図3(c)は、第1のパーティションP1に割り当てる機能の一例を説明するための図であり、以下の(i)〜(iii)の各説明に対応するものである。なお、第1のパーティションP1はクライアント端末側のOSにとって論理ドライブ或いはファイルやディレクトリとして認識されるのに対して、第2及び第3のパーティションP2及びP3は論理ドライブ或いはファイルやディレクトリといったアプリケーションのレベルで認識されるものではなく、ローカルディスク上のセクタ或いはクラスタといった物理的なレベルで認識されるものにとどまる。
(i)第1のパーティションP1
物理ディスクの第1のパーティションP1には、必要に応じて、クライアント端末側OSの「スワップ領域」や、「書き込みキャッシュ」や「クライアント端末側で動作するアプリケーションソフトのワークエリア」などを割り当てることができる。なお、第1のパーティションP1は、本発明において必須のものではないが、これを設けるといずれもクライアント端末の処理能力が向上する利点がある。
a.スワップ領域
「スワップ」とはクライアント端末の物理メモリの不足分を補うためにローカルハードディスクの一部をメモリのように使用するOSの機能の一つである。スワップ動作とは、ハードディスク上に「スワップ領域」を用意して、メモリ容量が不足してきたら使われていないメモリ領域の内容を一時的にハードディスクに退避させ、必要に応じてメモリに書き戻す動作のことを言う。そうした機能を用いて確保された実際のメモリ容量以上のメモリ領域を「仮想メモリ」という。クライアント端末がディスクレスの場合、クライアント端末側にスワップ領域を設けることができないため、メモリからあふれたデータは全てサーバ側のスワップ領域に送られることになり、サーバのリソースを消費すると共にネットワークの負荷がかかる原因ともなっていた。しかし、本発明に係るネットワークブートシステムのクライアント端末はローカルディスクを備えているため、物理領域の一部にスワップ領域を確保できることとなる。このようにネットワークを介してサーバ側でスワップ動作することを回避できる利点は大きい。
b.書き込みキャッシュ
クライアント端末側のOS等40から書き込み要求信号がフィルタドライバ46に送られた場合、その書き込みデータをローカルディスクの物理領域にキャッシュする、いわゆる「書き込みキャッシュ」として用いることができる。なお、「書き込みキャッシュ」は「読み出しキャッシュ」としても用いることができる(但し、「読み出しキャッシュ」として読み出されるキャッシュデータはユーザーデータなどの書込みが行われた後のデータが含まれる。)。これにより、クライアント端末の更新情報(ユーザーデータなど)をクライアント端末側に保存できるため、ネットワーク負荷を軽減する利点がある。
c.アプリケーションソフトのワークエリア
クライアント端末側で動作するアプリケーションソフトのワークエリアを割り当てることにより、ネットワーク負荷を軽減する利点がある。
(ii)第2のパーティションP2
物理ディスクの第2のパーティションP2には、「読み出しキャッシュ領域」が割り当てられる。この領域P2の使用方法については「[4]システムの動作」において説明するが、ここでは、この領域には書き込みが行われた後のデータを一切保存しないことが重要でありこの意味において「(i)b.書き込みキャッシュ」において説明したものとは技術的意義が全く異なるものである。
(iii)第3のパーティションP3
物理ディスクの第3のパーティションP3には、「キャッシュ管理領域」が割り当てられる。この領域P3の使用方法については後述の「[4]システムの動作」において説明する。
(2)仮想ディスクの構成
図3(b)は、仮想ディスクの構成を示した図である。仮想ディスクはクライアント端末上のOSから認識されるものであるが、その実体はサーバ上のハードディスクの一部であって、この実施形態においては、全体が少なくとも2つの領域(パーティション)に分けられている。第1のパーティション(これを「V1」という。)は、クライアント端末側のOSによって認識される論理ドライブ(例えば、「Cドライブ」)となるが、第2のパーティション(これを「V2」という。)は、クライアント端末側のOSによって認識されない領域となる。第2のパーティションV2には、仮想ディスクの更新履歴情報などが記憶され、そして専用のツールによりサーバ上でディスクイメージ更新のたびごとにサーバ側のプログラムによって更新情報などが書き込まれる。
なお、更新履歴などの情報は極めてデータ量が小さいため、第2のパーティションV2の容量は、第1のパーティションV1の容量と比べて極めて小さくて良い。例えば、第1のパーティションが15〜30GBであるとき、第2のパーティションは1MB程度とする。
以上をまとめると、この実施態様においてクライアント端末のユーザーがOS上でその存在を確認できるのは、仮想ディスクの第1のパーティションV1に対応する論理ドライブ(例えば、Cドライブ)と、物理ディスクの第1のパーティションP1に対応する一部の論理ドライブとなる。
[3]サーバ側ディスク構成
サーバ側ディスクへのディスクイメージの格納方法には、シェアーモードとプライベートモードの2つがある。シェアーモードは、全てのクライアント端末に共通のディスクイメージ1つと各クライアントごとの書き込みデータ(これを「ライトバックキャッシュデータ」という。)を必要数分だけ保存する構成である。一方、プライベートモードはクライアント端末と同数のディスクイメージを保存する構成である。前者はディスクの利用効率が高いなどの利点があり、後者はクライアントごとに異なるOSを提供したり、一つのクライアント端末で異なる動作環境を使い分けて使用できるなどの利点がある。
本発明に係るネットワークブートシステムは、クライアント端末側の設定を変更すればいずれのモードでも動作する。すなわち、サーバ側の構成は殆ど手を加える必要が無く、クライアント端末側の構成変更によって実現することができる。以下、システムの動作について説明する。
[4]システムの動作
(1)「リードキャッシュドライバ」の基本動作
はじめに、「リードキャッシュドライバ」の基本動作について説明する。図2において、「クライアントOS(アプリケーション)」40を起点として、ローカルディスク21a及び仮想ディスク22aに向かう実線矢印は、読み出し又は書き込み要求信号(リクエスト信号)を意味している。この信号を受けた後、デバイスドライバはそれぞれのディスクと通信してデータの授受を行う。要求信号に隣接した一点鎖線の両矢印はデータ授受を表している。例えば、読み出し要求信号であればその後ディスク側からデータが読み出されてOS側に送出され、逆に書き込み要求信号であればその後OS側からディスク側にデータが送出されディスクに書き込まれる。
リードキャッシュドライバとは、ローカルディスクの読み出しキャッシュ領域(P2)に対して「読み出しキャッシュ」を行うためのプログラムであって、その動作は以下の通りである。
(i)読み出し要求信号の処理
クライアント端末側のOS(又はアプリケーションソフト)40が「読み出し要求信号」を送出した場合、リードキャッシュドライバ50はフィルタドライバ46よりも先にこの「読み出し要求信号」を受け取ることになる。この場合は、「キャッシュ管理テーブル」を用いて物理ディスクの第2のパーティションP2に割り当てられている「読み出しキャッシュ領域」に記憶されているデータが存在しているか否か及び存在している場合はそのデータが書き込み済であるかどうかを判断し、もし書き込み済でない場合には、直ちにその読み出しキャッシュデータをOSに返す。しかし、読み出しキャッシュデータが書き込み済である場合又は読み出しキャッシュデータが存在しない場合には、リードキャッシュドライバ50は受け取った「読み出し要求信号」をそのまま後段のフィルタドライバ46に送る。なお、フィルタドライバ46が「読み出し要求信号」を受け取った場合は通常通りネットワークドライバ48を通じてサーバ側からデータの読み出しを行う。
(ii)読み出しキャッシュデータの更新
上記(i)の場合、最終的にはサーバ側から読み出したデータがフィルタドライバ46及びリードキャッシュドライバ50をこの順序で通過してOS側40に送出されることになる。その際、リードキャッシュドライバ50は物理ディスクの第2のパーティションP2に割り当てられている「読み出しキャッシュ領域」にフィルタドライバ46が読み取ったデータをコピーすると共に、物理メモリ上のキャッシュ管理テーブルのフラグを変更して読み出しキャッシュデータが読み出し済の状態であることを記憶する。
(iii)書き込み要求信号の処理
クライアント端末のOS(又はアプリケーションソフト)40が「書き込み要求信号」を送出した場合、リードキャッシュドライバ50はフィルタドライバ46よりも先にこの「書き込み要求信号」を受け取る。しかし、「書き込み要求信号」をリードキャッシュドライバ50が受け取った場合には、リードキャッシュドライバは特に何もせずにこの「書き込み要求信号」をそのまま後段のフィルタドライバ46に送る。なお、フィルタドライバ46が「書き込み要求信号」を受け取った場合は通常通りネットワークドライバ48を通じてサーバ側にデータの書き込みを行う。
(2)「キャッシュ管理テーブル」の仕組み
図4(a)は、「キャッシュ管理テーブル」を示している。キャッシュ管理テーブルは、ローカルディスク(物理ディスク)の読み取り単位ごとに2ビットの管理フラグを割り当て、以下に説明する2つの値(状態)を保持する。また、この管理フラグは物理メモリ上の非ページ領域(スワップ領域に退避されない領域)に確保する。
(i)管理フラグ
「キャッシュ管理テーブル」は2つの管理フラグを用いて読み出しキャッシュデータの状態を記憶する。これらのフラグの初期状態はいずれも0とする。
a.読み出し管理フラグ(0又は1)
b.書き込み管理フラグ(0又は1)
(ii)読み出しキャッシュデータが無い状態において、OSからの読み出し信号に対する応答としてフィルタドライバが受け取ったデータをコピーした場合、読み出し済であることを記憶するため、読み出し管理フラグのデータを0から1に変更する。すなわち、読み出し管理フラグが1であれば、読み出しキャッシュデータが存在することを表す。しかし、これだけでは、読み出しキャッシュデータがその後書き込みが行われて内容が更新されたかどうかを判別することができない。
(iii)上述の通りフィルタドライバがOSから「書き込み要求信号」を受け取った場合には、リードキャッシュドライバは特に何もせずフィルタドライバにデータを送り、ネットワークインターフェースを介してサーバ側の仮想ディスクに書き込みを行う。この時、書き込み管理フラグの状態を0から1に変更する。すなわち、読み出し管理フラグが1であっても、書き込み管理フラグが1であるときは、その後に書き込み処理が行われているため読み出しキャッシュデータの内容が初期の状態から変更されているので、そのセクタに対する読み出し要求信号に対しては、以後読み出しキャッシュデータを一切使用してはならないことを意味する。書き込み管理フラグが1となった後は、クライアント端末側のOSをシャットダウンするときまでその状態が保持される。換言すれば、「書き込み要求信号」を一度でも受け取ったかどうかを調べることにより、「あるセクタにデータが書き込み済であるかどうか」を判別することができる。
図4(b)は、キャッシュ管理テーブルの状態とその動作をまとめた一覧表を示す図である。状態Iは、読み出しキャッシュデータが存在しない場合であるから、データの読み出しについてはフィルタドライバ46に委任することになるが、フィルタドライバ46が受け取ったデータをOS側40に渡す際に読み出しキャッシュデータをコピーすると共に読み出し管理フラグの値を1に変更してキャッシュ管理テーブルを状態IIに遷移させる。状態IIは読み出しキャッシュが利用できる状態であり、読み出し要求信号に対して直ちに読み出しキャッシュデータの内容を応答する。状態IIIは、書き込み管理フラグに1がたっているため、キャッシュデータの状態が書き込み済であることを表している。従って、このセクタに保持されているキャッシュデータを以後使用してはならない。状態IVはOS起動後読み込み処理が一度も行われていないうちに書き込み要求信号が送られた場合を表す。この場合にも書き込み管理フラグに1が立っているためこのセクタに保持されているキャッシュデータを以後使用してはならない。なお、後述するように、管理フラグの状態は常に状態I→状態II→状態III又は状態I→状態IVと遷移する。
なお、「(2)(i)b.」において説明したように、物理ディスクの第1のパーティションP1に書き込みキャッシュを割り当てることによって、クライアント端末側のローカルディスクの一部に書き込み済データの保持を許容するキャッシュ領域を更に設け、これを書き込みキャッシュ(ライトキャッシュ)として利用してネットワーク負荷を軽減してもよい。ただし、この書き込みキャッシュ領域(P1)は、上述した「読み出しキャッシュ領域(P2)」とは異なる領域でなければならない。
(iv)キャッシュ管理テーブルのバックアップ
管理フラグは物理メモリの非ページ領域(スワップ領域に退避されない領域)に読み込まれるため、OSを再起動すればその内容はすべて消去される。しかし、読み出しキャッシュデータをOS再起動後も利用するためには、OS再起動前の読み出し管理フラグの状態を保持しておく必要がある。そこで、読み出し管理フラグの状態を物理ディスクの第3のパーティション(P3)の「キャッシュ管理領域」に定期的にバックアップする。このバックアップ動作はフィルタドライバに対するデータの読み出しや書き込み処理とは非同期に行ってよい。但し、同期漏れ(同期間隔の間に更新されること)があっても、そのセクタについては読み出しキャッシュデータの利用を断念し、後段のフィルタドライバに処理を委任する。これは、読み出しキャッシュであるため、状態Iに遷移して再度サーバ側ディスクイメージから読出しを行えばデータの不整合は生じないからである。
キャッシュ管理テーブルは、OS起動中は、読み出し単位毎に「読み出し管理フラグ」と「書き込み管理フラグ」の合計2ビット必要である。例えば、SCSIディスクの場合1セクタが512バイトであるから、512バイトあたり2ビットの物理メモリが必要となる。しかし、書き込み管理フラグについては再起動後はすべて0とするため、キャッシュ管理テーブルの状態を記憶する「キャッシュ管理領域(P3)」は、読み出し管理フラグの状態のみ保存すればよいので、512バイトあたり1ビットのディスク容量、つまり、読み出しキャッシュデータ1GB(ギガバイト)あたり、0.25MB(メガバイト)のキャッシュ管理領域が最低限必要となる。
但し、実際の運用では、読み出しキャッシュデータの利用効率と高めるために、「読み出し管理フラグ」のデータを少なくともキャッシュ管理領域の異なる2箇所以上の場所に交互にかつ定期的に書き込むことによって、信頼性を高めることが好ましい。2個の複製をバックアップする運用を採用した場合、必要なキャッシュ管理領域の容量は、読み出しキャッシュデータ1GB(ギガバイト)あたり、0.5MB(メガバイト)、例えば、読み出しキャッシュデータ領域が30GB(ギガバイト)であれば、15MB(メガバイト)となる。
(v)まとめ
a.書き込み管理フラグ及び読み出し管理フラグが共に0の場合には、読み出しキャッシュデータが存在しないため、リードキャッシュドライバ50はOS側40からの読み出し要求信号の処理を後段のフィルタドライバ46に委任すると共に、フィルタドライバ46が受け取ったデータを読み出しキャッシュパーティション(P2)にコピーして読み出し管理フラグを0から1に変更する。(状態I→状態II)
b.書き込み管理フラグが0であって、読み出し管理フラグが1の場合(状態II)には、リードキャッシュドライバ50はOS等40からの読み出し要求信号に対して読み出しキャッシュデータから読み出したデータを応答する。
c.書き込み要求信号を受け取った場合は、読み出しキャッシュデータを利用せず、リードキャッシュドライバ50は常に後段のフィルタドライバ46に書き込み要求信号をスルーさせ、以後の処理は後段のフィルタドライバ46に委任すると共に書き込み管理フラグを0から1に変更する(状態II→状態III)。また、OS起動後、一度も読み込みが行われていない領域に、書き込みが行われた場合は、読み出し管理フラグ及び書き込み管理フラグが共に0の状態から、書き込み管理フラグのみを1に変更する(状態I→状態IV)。書き込み管理フラグに1がたっている時(状態III及び状態IV)は、読み出しキャッシュデータを使用してはならない。
d.サーバ側のイメージデータが更新されている場合やキャッシュデータが破損した場合等は、読み出し管理フラグと書き込み管理フラグの両方を0に変更する。
[5]本システムの利点
以上のような構成により、ネットワークブートを1度行ったクライアント端末が多数存在している場合は、2度目以降の起動はネットワークを経由せずローカルディスクのキャッシュデータを用いて起動することができるため、ネットワーク負荷を劇的に軽減することができる。
特に、キャッシュデータを持つ多数のクライアントが一斉に起動しても、ネットワークアクセスが実質上ゼロとなり、全てのクライアントがローカルディスクと同等の速度で起動することができるようになる。その結果、サーバ1台あたりに接続できるクライアント端末数を大幅に増大させることができる。さらに、書き込み処理が行われたセクタをキャッシュの利用対象から除外しながら読み出しキャッシュデータをOSの再起動後も保存していくため、クライアント端末を使用すればするほどネットワーク負荷が軽減されていく。
しかも、読み出し専用のキャッシュであるから、ハードディスク障害時など、万一データの読み出しに失敗した場合は仮想ディスクイメージからネットワークブートによって起動するため、従来通りのディスクレス端末として動作させることもできる。
また、読み出しキャッシュ領域に加えて、スワップ領域やアプリケーションソフトのワークエリアや書き込みキャッシュ領域を別途を確保すれば、クライアント端末が一層快適に動作する。
(第1の実施形態の変形例)
図5は第1の実施形態の変形例を示しており、読み出しキャッシュを主体としつつ、書き込みキャッシュを補助的に用いたこのシステムにおけるディスクアクセスの関係を説明した図である。この場合、書き込みが行われた場合の情報についてもローカルディスクに設けられた書き込みキャッシュによってネットワークアクセス無しにOS側に応答することができる。このような構成は本システムに特有の構成であり、その効果は上述の通り極めて大きいものである。
本発明者たちの研究によると、書き込みキャッシュ1段のみで構成した場合(これには、書き込みキャッシュをサーバ側におく方法と、ローカルディスクにおく場合の2通りの方法が考えられるが)には、クライアント端末の動作は極めて遅くなることが判明している。この理由は、多くの説明を要するが、主として書き込み遅延の影響によるものである。つまり、書き込みキャッシュのみでは、クライアント数が増大するほど読み出し速度が低下するという問題は解消されないのである。これに対し、本実施形態の構成のごとく、読み出しキャッシュを主体としつつ、書き込みキャッシュを補助的に用いると、クライアント端末の動作は極めて速くなるのである。
(第2の実施形態)−各パーティションの暗号化−
仮想ディスクは実体がサーバ側に存在するためセキュリティ上の問題は殆ど無いが、クライアント端末に直接接続されたローカルディスク(物理ディスク)に読み出しキャッシュデータ或いはライトキャッシュデータをクライアント端末側に保存することは、データをサーバ側で集中管理することを特徴とするネットワークブートシステムにおいて、セキュリティの脆弱部となる可能性がある。特に、物理ディスクの第1パーティションはOS上でドライブとして認識されるものであることを踏まえると、この部分はドライブ或いはディスク全体を暗号化しておくことが望ましい。物理ディスクの第2及び第3のパーティションは、セクタやクラスタレベルで扱われるものであるため、暗号化の必要性は第1のパーティションよりは小さいが、ローカルディスクごと盗難される場合などに備えて、暗号化しておくことが好ましい。
本発明にかかるネットワークブートシステムは、ネットワーク負荷を大幅に軽減して1台のネットワークブートサーバに接続できるクライアント端末数を飛躍的に増大することができる。また、クライアント端末の一部に変更を加えるだけでよいため、既存のサーバやディスクレス端末がある場合にも、そのまま使用し続けることができる。このように、本発明を実施した場合の産業上の利用可能性は極めて大きい。

Claims (8)

  1. クライアント端末上で動作するオペレーティングシステムを提供するネットワークブートサーバと、物理的な記憶装置を備えたクライアント端末とがネットワークを通じて接続され、
    前記クライアント端末は、前記オペレーティングシステム起動中に必要なデータを一時的に保存することができる物理メモリと、前記ネットワークを介して前記サーバにアクセスするためのネットワークインターフェースとを備えていると共に、
    前記オペレーティングシステムは、
    前記ネットワークインターフェースを駆動するためのネットワークドライバと、前記クライアント端末のローカルバスに対するアクセスを前記ネットワークに対するアクセスに変換するためのフィルタドライバと、前記記憶装置を駆動するためのリードキャッシュドライバを備えており、
    前記リードキャッシュドライバが、前記クライアント端末から読み出し要求信号を受けた際には前記フィルタドライバによって前記サーバから読み出されたデータを前記記憶装置の読み出しキャッシュ領域キャッシュデータとして保存し、
    前記読み出しキャッシュ領域に対して書き込み要求信号を受けた際には書き込み要求信号を受けたことを記憶すると共にその領域に対するキャッシュデータを使用しないように制御することを特徴とするネットワークブートシステム。
  2. 前記クライアント端末は、前記リードキャッシュドライバが前記サーバから読み出されたデータが書き込み済であるか否かを判別するための管理フラグを前記物理メモリに保持することを特徴とする請求項1記載のネットワークブートシステム。
  3. 前記クライアント端末は、前記リードキャッシュドライバが前記サーバから読み出されたデータが書き込み済であるか否かを判別するための管理フラグを前記物理メモリに保持すると共に、
    前記記憶装置は前記物理メモリに保持されている管理フラグの少なくとも一部を書き戻すためのキャッシュ管理領域を備えていることを特徴とする請求項記載のネットワークブートシステム。
  4. 前記記憶装置は、前記物理メモリに記憶されているデータの一部を一時的に保存するためのスワップ領域を備えていることを特徴とする請求項1記載のネットワークブートシステム。
  5. 前記記憶装置は、前記サーバに対して書き込みを行ったデータを保存することが許容された書き込みキャッシュ領域を備えていることを特徴とする請求項1記載のネットワークブートシステム。
  6. 前記記憶装置は、前記オペレーティングシステム上で動作するアプリケーションソフトのワークエリアを備えていることを特徴とする請求項1記載のネットワークブートシステム。
  7. 前記サーバは前記クライアント端末が用いるオペレーティングシステム、アプリケーションソフトその他のデータを保持するための仮想ディスクを具備し、前記仮想ディスクはその更新情報を保持するための領域を備えていると共に、前記仮想ディスクが更新された場合には、前記記憶装置にキャッシュされている全てのデータを使用しないことを特徴とする請求項1記載のネットワークブートシステム。
  8. 前記記憶装置は一部又は全部が暗号化されていることを特徴とする請求項1記載のネットワークブートシステム。
JP2009543679A 2007-11-26 2008-05-05 ネットワークブートシステム Active JP4808275B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009543679A JP4808275B2 (ja) 2007-11-26 2008-05-05 ネットワークブートシステム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007303953 2007-11-26
JP2007303953 2007-11-26
JP2009543679A JP4808275B2 (ja) 2007-11-26 2008-05-05 ネットワークブートシステム
PCT/JP2008/058439 WO2009069326A1 (ja) 2007-11-26 2008-05-05 ネットワークブートシステム

Publications (2)

Publication Number Publication Date
JPWO2009069326A1 JPWO2009069326A1 (ja) 2011-04-07
JP4808275B2 true JP4808275B2 (ja) 2011-11-02

Family

ID=40678236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009543679A Active JP4808275B2 (ja) 2007-11-26 2008-05-05 ネットワークブートシステム

Country Status (3)

Country Link
US (1) US8433888B2 (ja)
JP (1) JP4808275B2 (ja)
WO (1) WO2009069326A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104205048A (zh) * 2012-09-18 2014-12-10 科空软件株式会社 网络启动系统
KR20210151172A (ko) 2019-04-16 2021-12-13 가부시키가이샤 씨오-콘브 기한 관리 서버, 에이전트·프로그램 및 단말 대출 시스템

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5153315B2 (ja) * 2007-12-19 2013-02-27 インターナショナル・ビジネス・マシーンズ・コーポレーション ルートファイルシステムを管理するシステム及び方法
US9152432B2 (en) * 2008-06-30 2015-10-06 Intel Corporation System and method to accelerate access to network data using a networking unit accessible non-volatile storage
US9087066B2 (en) * 2009-04-24 2015-07-21 Swish Data Corporation Virtual disk from network shares and file servers
US9239840B1 (en) 2009-04-24 2016-01-19 Swish Data Corporation Backup media conversion via intelligent virtual appliance adapter
US8335835B2 (en) * 2010-03-31 2012-12-18 Lenovo (Singapore) Pte. Ltd. Optimizing scheduling of client applications in diskless environments
US8549274B2 (en) * 2010-04-14 2013-10-01 Jade Quantum Technologies, Inc. Distributive cache accessing device and method for accelerating to boot remote diskless computers
JP5664417B2 (ja) * 2011-03-31 2015-02-04 日本電気株式会社 ネットブートシステム、クライアント端末、負荷低減方法、及び負荷低減プログラム
JP5290446B2 (ja) * 2012-02-28 2013-09-18 株式会社シー・オー・コンヴ ネットワークブートシステム
JP5180399B2 (ja) * 2012-08-24 2013-04-10 株式会社東芝 情報処理装置、情報処理方法およびプログラム
JP6072352B2 (ja) 2014-11-01 2017-02-01 株式会社シー・オー・コンヴ ディスク配信システム
CA3114521A1 (en) * 2020-03-04 2021-09-04 Citrix Systems, Inc. Provisioning services (pvs) cloud streaming with read cache
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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0934825A (ja) * 1995-07-03 1997-02-07 Sun Microsyst Inc データ・キャッシュとしてローカルなクライアント・ディスク・ドライブを利用するクライアント−サーバー・コンピュータ・システムと方法
JP2004287476A (ja) * 2003-03-19 2004-10-14 Hitachi Ltd ノード装置におけるキャッシュ制御
JP2008225765A (ja) * 2007-03-12 2008-09-25 Nec Corp ネットワークストレージ・システムとその管理方法及び制御プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG52302A1 (en) * 1993-03-20 1998-09-28 Mot0Rola Inc Data storage device
US6857076B1 (en) * 1999-03-26 2005-02-15 Micron Technology, Inc. Data security for digital data storage
US6954852B2 (en) * 2002-04-18 2005-10-11 Ardence, Inc. System for and method of network booting of an operating system to a client computer using hibernation
US7191344B2 (en) * 2002-08-08 2007-03-13 Authenex, Inc. Method and system for controlling access to data stored on a data storage device
US7036040B2 (en) * 2002-11-26 2006-04-25 Microsoft Corporation Reliability of diskless network-bootable computers using non-volatile memory cache
JP4440608B2 (ja) 2003-11-19 2010-03-24 日本電信電話株式会社 ネットワークブートシステム,ネットワークブート方法およびネットワークブート用キャッシュ装置
US7921240B2 (en) * 2004-03-10 2011-04-05 Broadcom Corporation Method and system for supporting hardware acceleration for iSCSI read and write operations and iSCSI chimney
US20060090069A1 (en) * 2004-10-22 2006-04-27 Venturcom, Inc. Method and system for caching read requests from a shared image in a computer network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0934825A (ja) * 1995-07-03 1997-02-07 Sun Microsyst Inc データ・キャッシュとしてローカルなクライアント・ディスク・ドライブを利用するクライアント−サーバー・コンピュータ・システムと方法
JP2004287476A (ja) * 2003-03-19 2004-10-14 Hitachi Ltd ノード装置におけるキャッシュ制御
JP2008225765A (ja) * 2007-03-12 2008-09-25 Nec Corp ネットワークストレージ・システムとその管理方法及び制御プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104205048A (zh) * 2012-09-18 2014-12-10 科空软件株式会社 网络启动系统
CN104205048B (zh) * 2012-09-18 2017-07-14 科空软件株式会社 网络启动系统
KR20210151172A (ko) 2019-04-16 2021-12-13 가부시키가이샤 씨오-콘브 기한 관리 서버, 에이전트·프로그램 및 단말 대출 시스템

Also Published As

Publication number Publication date
WO2009069326A1 (ja) 2009-06-04
US20100299512A1 (en) 2010-11-25
US8433888B2 (en) 2013-04-30
JPWO2009069326A1 (ja) 2011-04-07

Similar Documents

Publication Publication Date Title
JP4808275B2 (ja) ネットワークブートシステム
JP5290287B2 (ja) ネットワークブートシステム
US8074035B1 (en) System and method for using multivolume snapshots for online data backup
CN110795206B (zh) 用于促进集群级缓存和内存空间的系统和方法
US7036040B2 (en) Reliability of diskless network-bootable computers using non-volatile memory cache
US7353355B1 (en) System and method for rapid restoration of server from backup
US8392670B2 (en) Performance management of access to flash memory in a storage device
US10235282B2 (en) Computer system, computer, and method to manage allocation of virtual and physical memory areas
WO2019061352A1 (zh) 数据加载方法及装置
US20080082745A1 (en) Storage system for virtualizing control memory
US11640244B2 (en) Intelligent block deallocation verification
WO2023065654A1 (zh) 一种数据写入方法以及相关设备
US7725654B2 (en) Affecting a caching algorithm used by a cache of storage system
JP2006099802A (ja) 記憶制御装置およびキャッシュメモリの制御方法
US10848555B2 (en) Method and apparatus for logical mirroring to a multi-tier target node
US20190073128A1 (en) Computer system, data management method, and data management program
US11966590B2 (en) Persistent memory with cache coherent interconnect interface
US20140208023A1 (en) Storage system and control method for storage system
US8505007B2 (en) Method and system for instantly creating an IT environment
WO2018075676A1 (en) Efficient flash management for multiple controllers

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110713

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

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

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

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4808275

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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

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