JP2004206602A - Virtual storage device system, client computer, virtual storage device driver program, server device, and data management program - Google Patents
Virtual storage device system, client computer, virtual storage device driver program, server device, and data management program Download PDFInfo
- Publication number
- JP2004206602A JP2004206602A JP2002377556A JP2002377556A JP2004206602A JP 2004206602 A JP2004206602 A JP 2004206602A JP 2002377556 A JP2002377556 A JP 2002377556A JP 2002377556 A JP2002377556 A JP 2002377556A JP 2004206602 A JP2004206602 A JP 2004206602A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage
- storage device
- client computer
- file system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、サーバ装置の記憶手段の記憶領域を、ネットワークを介してクライアントコンピュータに提供するための仮想ストレージデバイス・システム、および、それに用いられる、クライアントコンピュータ、仮想ストレージデバイス・ドライバプログラム、サーバ装置、ならびにデータ管理プログラムに関する。
【0002】
【従来の技術】
従来、ネットワークに接続されたサーバコンピュータに接続された記憶手段の記憶領域を、前記ネットワークを介して複数または単数のクライアントコンピュータに提供するクライアントサーバシステムとしては、特許文献1に開示されたネットワークシステムがある。
【0003】
特許文献1に開示されたネットワークシステムのように、サーバコンピュータの記憶手段(サーバコンピュータに内蔵された記憶手段も、サーバコンピュータに接続された記憶手段も含む。以下同じ)の記憶領域を、クライアントコンピュータに提供する方法としては、一般的に、サーバコンピュータおよびクライアントコンピュータのそれぞれのOSが備えるネットワーク共有機能を用いる方法が普及している。
【0004】
図8に、サーバコンピュータSBのハードディスク74の記憶領域を、クライアントコンピュータCB,CB・・に、それぞれのコンピュータのOS71,82のネットワーク共有機能を用いて提供するクライアントサーバシステムBの説明図を示す。図8に示すシステムBは、ネットワークNを介して互いに通信可能に接続されたサーバコンピュータSBと複数のクライアントコンピュータCB,CB・・とを具備する。なお、図8においては、クライアントコンピュータCBの内部構成は、一台のみ図示されているが、他のクライアントコンピュータCB,CB・・も、同様の内部構成をもつ。
【0005】
各クライアントコンピュータCBは、例えばWindows(R)やUNIX(R)等の、汎用OS82と、ストレージデバイスとしての磁気ディスクドライブである、単数または複数のハードディスク88およびフロッピー(R)ディスクドライブ92と、ハードディスク88およびフロッピー(R)ディスクドライブ92の、ストレージデバイス・ドライバ(磁気ディスク・ドライバ)としてインストールされたハードディスク・ドライバ86およびフロッピー(R)ディスク・ドライバ90と、ハードディスク・ドライバ86およびフロッピー(R)ディスク・ドライバ90を介してハードディスク88、およびフロッピー(R)ディスクドライブ92のフロッピー(R)ディスクのセクタやクラスタ等の記憶ブロックにデータを読み書き可能に設けられ、ファイルと記憶ブロックとの対応付けを行うファイルシステム84(例えばFAT等)と、ネットワークNを介してデータの送受信が可能な通信部94とを備える。
【0006】
サーバコンピュータSBは、例えばWindows(R)やUNIX(R)等の、汎用OS71と、記憶手段としての、単数または複数のハードディスク74,74およびフロッピー(R)ディスクドライブ76と、ネットワークNを介してデータの送受信が可能な通信部78とを備える。
なお、サーバコンピュータSBも、クライアントコンピュータCBと同様、ハードディスク74,74およびフロッピー(R)ディスクドライブ76のドライバや、ファイルシステムを備えるが、図8上では省略している。
【0007】
図8に示す従来のシステムBにおいては、サーバコンピュータSBのハードディスク74,74の記憶領域を、クライアントコンピュータCBが使用する場合には、サーバコンピュータSBのOS71のネットワーク共有機能を用いて、ハードディスク74上の記憶領域(例えばフォルダ)を、共有領域(例えば共有フォルダ)として設定する。すると、サーバコンピュータSBのOS71が備えるネットワーク共有プロトコル71a、およびクライアントコンピュータCBのOS82が備えるネットワーク共有プロトコル82aを介して、クライアントコンピュータCBのOS82やOS82上で実行されるアプリケーション96,96・・は、サーバコンピュータSBのハードディスク74の記憶領域を使用可能となる。
【0008】
【特許文献1】
特開2000−148571号公報(第1−3図)
【0009】
【発明が解決しようとする課題】
図8に示す従来のクライアントサーバシステムBにおいて、クライアントコンピュータCB,CB・・は、サーバコンピュータSBのネットワーク共有プロトコル71aに対応した、ネットワーク共有プロトコル82aを搭載する必要がある。
例えば、サーバコンピュータSBのOS71としてWindows(R)を採用した場合には、ネットワーク共有プロトコルとしてはSMB(Server Message Block)が使用される。この場合、クライアントコンピュータCBは、サーバコンピュータSBとネットワーク共有を行うためには、SMBに対応したネットワーク共有プロトコル82aを搭載する必要が生じる。SMBに対応したネットワーク共有プロトコル82aを搭載するためには、クライアントコンピュータCBのOS82として、SMBが実装されたWindows(R)や、SMBを提供するソフトウェアであるSambaをインストール可能なUNIX(R)を採用すればよい。
【0010】
しかしながら、クライアントサーバシステムにおいて、クライアントコンピュータCB毎に異なる、多種類のOS82が採用される場合が少なくなく、必ずしも全てのクライアントコンピュータCBのOS82として、Windows(R)やUNIX(R)等、サーバコンピュータSBのネットワーク共有プロトコル71aに対応したネットワーク共有プロトコル82aが搭載された(または搭載可能な)OSが採用されるとは限らない。
【0011】
クライアントコンピュータCBのOS82として、サーバコンピュータSBのネットワーク共有プロトコル71aに対応したネットワーク共有プロトコル82aが搭載された(または搭載可能な)OSを採用しない場合、サーバコンピュータSBのネットワーク共有プロトコル71aに対応した、クライアントコンピュータCBのOS82用のネットワーク共有プロトコル82aを実現するプログラムを、新規に開発する必要が生じる。
【0012】
しかし、Windows(R)等の一般に普及した汎用OSのネットワーク共有プロトコルは、非常に複雑であり、また、その内容が公開されていない場合があり、それに対応したネットワーク共有プロトコルを実現するプログラムを新規に開発するのは、非常に手間が掛かり、困難であるという課題がある。
【0013】
また、従来の、ネットワーク共有プロトコル82aを備えたOS82は、ハードディスク88等のストレージデバイスに記録されたファイルは、ファイルシステム84を介して扱い、一方、ネットワークNに接続された他のコンピュータ上に記録されたファイルは、ネットワーク共有プロトコル82aを介して扱っている。従って、OS82は、ファイル毎に、ストレージデバイス上のファイルか、ネットワーク上のファイルかを管理する必要があり、OS82のファイル管理処理が煩雑となっている。特に近年は、各ファイルが、ストレージデバイス上のファイルか、ネットワーク上のファイルかを、アプリケーション96が意識しなくても良いように、アプリケーション96が両ファイルを同様に扱えるようにする要求が高まっているため、OS82は、全く異なる保存対象に保存されたファイルを同等に扱えるようにアプリケーション96に対して提供する必要が生じ、OS82の処理負荷が重くなっているという課題がある。
【0014】
本発明は上記課題を解決すべくなされ、その目的とするところは、サーバ装置の記憶手段の記憶領域をクライアントコンピュータに提供することができるシステムであって、単純な構成で、サーバ装置のOSやネットワーク共有プロトコルに依存せずに、なおかつ、クライアントコンピュータのOSのファイル管理処理の負荷を軽減することができる、仮想ストレージデバイス・システム、および、それに用いられる、クライアントコンピュータ、仮想ストレージデバイス・ドライバプログラム、サーバ装置、ならびにデータ管理プログラムを提供することにある。
【0015】
【課題を解決するための手段】
本発明に係る仮想ストレージデバイス・システムは、上記課題を解決するために、以下の構成を備える。すなわち、ネットワークに接続されたサーバ装置と、前記ネットワークを介して前記サーバ装置と通信可能に接続された、複数または単数のクライアントコンピュータとを具備し、該クライアントコンピュータは、ストレージデバイス・ドライバを介して、ストレージデバイスのセクタやクラスタ等の記憶ブロックに記録されたデータを読み出し可能に設けられ、ファイルと記憶ブロックとの対応付けを行うファイルシステムと、該ファイルシステムによって扱われるストレージデバイス・ドライバの一つとしてインストールされ、該ファイルシステムから、記憶ブロックのデータを読み出す要求を受けた際には、前記サーバ装置に、該記憶ブロックのデータに対応するデータを読み出すリード要求を送信し、該リード要求に対応して該サーバ装置から送信されてきたデータを、該記憶ブロックのデータとして該ファイルシステムに渡す仮想ストレージデバイス・ドライバとを備え、前記サーバ装置は、各前記記憶ブロックのデータに対応するデータを記憶する記憶手段と、前記クライアントコンピュータから、前記リード要求を受信した際には、前記記憶手段から該リード要求に対応するデータを読み出して該クライアントコンピュータに送信するデータ管理手段とを備えることを特徴とする。
これによれば、クライアントコンピュータとサーバ装置との間のデータのやり取りは、仮想ストレージドライバ・プログラムとデータ管理手段との間の、リード要求およびリード要求に対応するデータのみとなり、簡単な構成の仮想ストレージドライバ・プログラムおよびデータ管理手段によって、なおかつOSやネットワーク共有プロトコルに依存せずに、サーバ装置の記憶手段の記憶領域をクライアントコンピュータが利用できる。また、クライアントコンピュータのOSは、サーバ装置の記憶手段にアクセスするときに、ファイルシステムにアクセスすればよいので、サーバ装置の記憶手段にアクセスすることを意識する必要がない。
【0016】
さらに、前記ファイルシステムは、ストレージデバイス・ドライバを介してストレージデバイスの記憶ブロックにデータを書き込み可能に設けられ、前記仮想ストレージデバイス・ドライバは、前記ファイルシステムから、記憶ブロックにデータを書き込む要求を受けた際には、前記サーバ装置に、該記憶ブロックのデータを書き込むライト要求と該記憶ブロックのデータとを送信し、前記データ管理手段は、前記クライアントコンピュータから、前記ライト要求を受信した際には、該ライト要求と共に送信されてきたデータを前記記憶手段に書き込むことを特徴とする。
これによれば、クライアントコンピュータからサーバ装置の記憶手段への書き込みも可能となる。また、サーバ装置の記憶手段を、クライアントコンピュータのハードディスク等の読み書き可能なストレージデバイスとして使用することができるため、クライアントコンピュータは、ハードディスク等のストレージデバイスを備えていなくても動作することが可能となる。
【0017】
さらに、前記ファイルシステムは、ストレージデバイス・ドライバとしての磁気ディスク・ドライバを介して、ストレージデバイスとしての磁気ディスクドライブの記憶ブロックにデータを読み書き可能な磁気ディスク用ファイルシステムであることを特徴とする。
これによれば、クライアントコンピュータは、FAT等の磁気ディスク用ファイルシステムを介して、仮想ストレージデバイス・ドライバを扱うことができ、サーバ装置の記憶手段を、クライアントコンピュータの磁気ディスクドライブとして使用することができる。
【0018】
また、前記仮想ストレージデバイス・ドライバは、前記ライト要求と共に前記サーバ装置に送信すべき、記憶ブロックのデータを、暗号化して、前記サーバ装置に送信することを特徴とする。
また、前記データ管理手段は、前記リード要求に対応して前記クライアントコンピュータに送信すべきデータを、暗号化して、前記クライアントコンピュータに送信することを特徴とする。
これによれば、通信されるデータの内容を第三者に知られるのを防ぐことができる。
【0019】
また、前記サーバ装置は、汎用コンピュータであり、前記記憶手段は、ハードディスクであることを特徴とする。
これによれば、サーバ装置としてのサーバコンピュータのハードディスクを、クライアントコンピュータが使用することができる。
【0020】
また、前記サーバ装置は、ハードディスク装置であり、前記記憶手段は、ハードディスクであることを特徴とする。
これによれば、サーバ装置としてのハードディスク装置のハードディスクを、クライアントコンピュータが使用することができる。
【0021】
また、本発明に係るクライアントコンピュータは、上記課題を解決するために、以下の構成を備える。すなわち、ネットワークを介してサーバ装置と通信可能に接続され、ストレージデバイス・ドライバを介して、ストレージデバイスのセクタやクラスタ等の記憶ブロックに記録されたデータを読み出し可能に設けられ、ファイルと記憶ブロックとの対応付けを行うファイルシステムと、該ファイルシステムによって扱われるストレージデバイス・ドライバの一つとしてインストールされ、該ファイルシステムから、記憶ブロックのデータを読み出す要求を受けた際には、前記サーバ装置に、該記憶ブロックのデータに対応するデータを読み出すリード要求を送信し、該リード要求に対応して該サーバ装置から送信されてきたデータを、該記憶ブロックのデータとして該ファイルシステムに渡す仮想ストレージデバイス・ドライバとを備えることを特徴とする。
これによれば、簡単な構成の仮想ストレージドライバ・プログラムによって、なおかつOSやネットワーク共有プロトコルに依存せずに、サーバ装置からデータを読み出すことのできるクライアントコンピュータを構成できる。また、クライアントコンピュータのOSは、サーバ装置の記憶手段にアクセスするときに、ファイルシステムにアクセスすればよいので、サーバ装置の記憶手段にアクセスすることを意識する必要がない。
【0022】
また、前記ファイルシステムは、ストレージデバイス・ドライバを介してストレージデバイスの記憶ブロックにデータを書き込み可能に設けられ、前記仮想ストレージデバイス・ドライバは、前記ファイルシステムから、記憶ブロックにデータを書き込む要求を受けた際には、前記サーバ装置に、該記憶ブロックのデータを書き込むライト要求と該記憶ブロックのデータとを送信することを特徴とする。
これによれば、クライアントコンピュータからサーバ装置へのデータの書き込みも可能となる。また、サーバ装置の記憶手段を、クライアントコンピュータのハードディスク等の読み書き可能なストレージデバイスとして使用することができるため、クライアントコンピュータは、ハードディスク等のストレージデバイスを備えていなくても動作することが可能となる。
【0023】
また、前記ファイルシステムは、ストレージデバイス・ドライバとしての磁気ディスク・ドライバを介して、ストレージデバイスとしての磁気ディスクドライブの記憶ブロックにデータを読み書き可能な磁気ディスク用ファイルシステムであることを特徴とする。
これによれば、クライアントコンピュータは、FAT等の磁気ディスク用ファイルシステムを介して、仮想ストレージデバイス・ドライバを扱うことができ、サーバ装置の記憶手段を、クライアントコンピュータの磁気ディスクドライブとして使用することができる。
【0024】
また、前記仮想ストレージデバイス・ドライバは、前記ライト要求と共に前記サーバ装置に送信すべき、記憶ブロックのデータを、暗号化して、前記サーバ装置に送信することを特徴とする。
これによれば、通信されるデータの内容を第三者に知られるのを防ぐことができる。
【0025】
また、本発明に係る仮想ストレージデバイス・ドライバプログラムは、上記課題を解決するために、以下の構成を備える。すなわち、ネットワークを介してサーバ装置と通信可能に接続され、ストレージデバイス・ドライバを介して、ストレージデバイスのセクタやクラスタ等の記憶ブロックに記録されたデータを読み出し可能に設けられ、ファイルと記憶ブロックとの対応付けを行うファイルシステムを備えたクライアントコンピュータに、該ファイルシステムによって扱われるストレージデバイス・ドライバの一つとして読み取られる仮想ストレージデバイス・ドライバプログラムであって、前記ファイルシステムから、記憶ブロックのデータを読み出す要求を受けた際には、前記サーバ装置に、前記記憶ブロックのデータに対応するデータを読み出すリード要求を送信するステップと、前記リード要求に対応して前記サーバ装置から送信されてきたデータを、前記記憶ブロックのデータとして前記ファイルシステムに渡すステップとを、前記クライアントコンピュータに実行させることを特徴とする。
これによれば、簡単な構成の仮想ストレージドライバ・プログラムによって、なおかつOSやネットワーク共有プロトコルに依存せずに、サーバ装置からデータを読み出すことのできるクライアントコンピュータを構成できる。また、クライアントコンピュータのOSは、サーバ装置の記憶手段にアクセスするときに、ファイルシステムにアクセスすればよいので、サーバ装置の記憶手段にアクセスすることを意識する必要がない。
【0026】
また、前記ファイルシステムは、ストレージデバイス・ドライバを介してストレージデバイスの記憶ブロックにデータを書き込み可能に設けられ、前記ファイルシステムから、記憶ブロックにデータを書き込む要求を受けた際には、前記サーバ装置に、該記憶ブロックのデータを書き込むライト要求と該記憶ブロックのデータとを送信するステップを、前記クライアントコンピュータに実行させることを特徴とする。
これによれば、クライアントコンピュータからサーバ装置へのデータの書き込みも可能となる。また、サーバ装置の記憶手段を、クライアントコンピュータのハードディスク等の読み書き可能なストレージデバイスとして使用することができるため、クライアントコンピュータは、ハードディスク等のストレージデバイスを備えていなくても動作することが可能となる。
【0027】
また、前記ファイルシステムは、ストレージデバイス・ドライバとしての磁気ディスク・ドライバを介して、ストレージデバイスとしての磁気ディスクドライブの記憶ブロックにデータを読み書き可能な磁気ディスク用ファイルシステムであることを特徴とする。
これによれば、クライアントコンピュータは、FAT等の磁気ディスク用ファイルシステムを介して、仮想ストレージデバイス・ドライバを扱うことができ、サーバ装置の記憶手段を、クライアントコンピュータの磁気ディスクドライブとして使用することができる。
【0028】
また、前記ライト要求と共に前記サーバ装置に送信すべき、記憶ブロックのデータを、暗号化するステップを、前記クライアントコンピュータに実行させることを特徴とする。
これによれば、通信されるデータの内容を第三者に知られるのを防ぐことができる。
【0029】
また、本発明に係るサーバ装置は、上記課題を解決するために、以下の構成を備える。すなわち、ネットワークを介して、複数または単数のクライアントコンピュータと通信可能に接続され、ストレージデバイスのセクタやクラスタ等の記憶ブロックのデータに対応するデータを記憶する記憶手段と、前記クライアントコンピュータから、記憶ブロックのデータに対応するデータを読み出すリード要求を受信した際には、前記記憶手段から該リード要求に対応するデータを読み出して該クライアントコンピュータに送信するデータ管理手段とを備えることを特徴とする。
これによれば、クライアントコンピュータとサーバ装置との間のデータのやり取りは、仮想ストレージドライバ・プログラムとデータ管理手段との間の、リード要求およびリード要求に対応するデータのみとなり、簡単な構成のデータ管理手段によって、なおかつOSやネットワーク共有プロトコルに依存せずに、サーバ装置の記憶手段の記憶領域をクライアントコンピュータが利用できる。
【0030】
また、前記データ管理手段は、前記クライアントコンピュータから、記憶ブロックのデータを書き込むライト要求を受信した際には、該ライト要求と共に送信されてきたデータを前記記憶手段に書き込むことを特徴とする。
これによれば、クライアントコンピュータからサーバ装置の記憶手段への書き込みも可能となる。
【0031】
また、前記記憶ブロックは、磁気ディスクのセクタやクラスタ等の記憶ブロックであることを特徴とする。
これによれば、クライアントコンピュータは、FAT等の磁気ディスク用ファイルシステムを介して、仮想ストレージデバイス・ドライバを扱うことができ、サーバ装置の記憶手段を、クライアントコンピュータの磁気ディスクドライブとして使用することができる。
【0032】
また、前記データ管理手段は、前記リード要求に対応して前記クライアントコンピュータに送信すべきデータを、暗号化して、前記クライアントコンピュータに送信することを特徴とする。
これによれば、通信されるデータの内容を第三者に知られるのを防ぐことができる。
【0033】
また、汎用コンピュータであり、前記記憶手段は、ハードディスクであることを特徴とする。
これによれば、サーバ装置としてのサーバコンピュータのハードディスクを、クライアントコンピュータが使用することができる。
【0034】
また、ハードディスク装置であり、前記記憶手段は、ハードディスクであることを特徴とする。
これによれば、サーバ装置としてのハードディスク装置のハードディスクを、クライアントコンピュータが使用することができる。
【0035】
また、本発明に係るデータ管理プログラムは、上記課題を解決するために、以下の構成を備える。すなわち、ネットワークを介して、複数または単数のクライアントコンピュータと通信可能に接続され、ストレージデバイスのセクタやクラスタ等の記憶ブロックのデータに対応するデータを記憶する記憶手段を備えたサーバ装置に、読み取られるデータ管理プログラムであって、前記クライアントコンピュータから、記憶ブロックのデータに対応するデータを読み出すリード要求を受信した際には、前記記憶手段から該リード要求に対応するデータを読み出して該クライアントコンピュータに送信するステップを、前記サーバ装置に実行させることを特徴とする。
これによれば、クライアントコンピュータとサーバ装置との間のデータのやり取りは、仮想ストレージドライバ・プログラムとデータ管理手段との間の、リード要求およびリード要求に対応するデータのみとなり、簡単な構成のデータ管理手段によって、なおかつOSやネットワーク共有プロトコルに依存せずに、サーバ装置の記憶手段の記憶領域をクライアントコンピュータが利用できる。
【0036】
また、前記クライアントコンピュータから、記憶ブロックのデータを書き込むライト要求を受信した際には、該ライト要求と共に送信されてきたデータを前記記憶手段に書き込むステップを、前記サーバ装置に実行させることを特徴とする。
これによれば、クライアントコンピュータからサーバ装置の記憶手段への書き込みも可能となる。
【0037】
また、前記記憶ブロックは、磁気ディスクのセクタやクラスタ等の記憶ブロックであることを特徴とする。
これによれば、クライアントコンピュータは、FAT等の磁気ディスク用ファイルシステムを介して、仮想ストレージデバイス・ドライバを扱うことができ、サーバ装置の記憶手段を、クライアントコンピュータの磁気ディスクドライブとして使用することができる。
【0038】
また、前記リード要求に対応して前記クライアントコンピュータに送信すべきデータを、暗号化するステップを、前記サーバ装置に実行させることを特徴とする。
これによれば、通信されるデータの内容を第三者に知られるのを防ぐことができる。
【0039】
また、前記サーバ装置は、汎用コンピュータであり、前記記憶手段は、ハードディスクであることを特徴とする。
これによれば、サーバ装置としてのサーバコンピュータのハードディスクを、クライアントコンピュータが使用することができる。
【0040】
また、前記サーバ装置は、ハードディスク装置であり、前記記憶手段は、ハードディスクであることを特徴とする。
これによれば、サーバ装置としてのハードディスク装置のハードディスクを、クライアントコンピュータが使用することができる。
【0041】
【発明の実施の形態】
以下、本発明に係る仮想ストレージデバイス・システム、クライアントコンピュータ、仮想ストレージデバイス・ドライバプログラム、サーバ装置、およびデータ管理プログラムの好適な実施の形態を添付図面に基づいて詳細に説明する。
【0042】
図1に、本実施の形態に係る仮想ストレージデバイス・システムA1の説明図を示す。仮想ストレージデバイス・システムA1は、ネットワークNを介して互いに通信可能に接続されたサーバ装置としてのサーバコンピュータSと複数のクライアントコンピュータC,C・・とを具備する。
【0043】
(クライアントコンピュータC)
各クライアントコンピュータCは、パソコン等の汎用コンピュータで構成できる。各クライアントコンピュータCは、OS12と、ストレージデバイスとしての磁気ディスクドライブである、単数または複数のハードディスク18およびフロッピー(R)ディスクドライブ22と、ハードディスク18およびフロッピー(R)ディスクドライブ22の、ストレージデバイス・ドライバ(磁気ディスク・ドライバ)としてインストールされたハードディスク・ドライバ16およびフロッピー(R)ディスク・ドライバ20と、ハードディスク・ドライバ16およびフロッピー(R)ディスク・ドライバ20を介してハードディスク18、およびフロッピー(R)ディスクドライブ22内のフロッピー(R)ディスクのセクタやクラスタ等の記憶ブロックにデータを読み書き可能に設けられ、ファイルと記憶ブロックとの対応付けを行う磁気ディスク用ファイルシステム14と、ネットワークNを介してデータの送受信が可能な通信部24とを備える。
【0044】
クライアントコンピュータCのOS12上では、複数のアプリケーション26を実行することができる。
なお、OS12は、Windows(R)やUNIX(R)等の汎用OSに限らず、ファイルシステム14を操作可能なものであれば、どのようなOSであってもよく、例えばユーザーの自作OSであってもよい。
【0045】
通信部24は、TCP/IPプロトコルに準じて、インターネットやLAN等のネットワークNを介して、サーバコンピュータS等の他の機器とデータの送受を行うことができる、一般的なネットワークカード等によって実現することができる。
【0046】
磁気ディスク用ファイルシステム14は、アプリケーション26やOS12等が扱うファイルと、ハードディスク18およびフロッピー(R)ディスクドライブ22内のフロッピー(R)ディスクのセクタやクラスタ等の記憶ブロックとの対応付けを行うソフトウェアである。言い換えると、ファイルシステム14は、各ファイルが、ハードディスク18、およびフロッピー(R)ディスクの、どの記憶ブロックに記憶されているかを管理するソフトウェアである。なお、一つのファイルが、ストレージデバイスの連続するまたは連続しない複数の記憶ブロックにまたがって記憶されている場合が多いが、ファイルシステム14は、ファイルと、それら複数の記憶ブロックとを、対応付けして管理することができる。
ファイルシステム14により、アプリケーション26やOS12は、ファイルがストレージデバイスのどこの記憶ブロックに記憶されているかを意識することなく、ファイルを扱うことができる。
【0047】
ファイルシステム14は、OS12からファイルの読み出しの要求を受けると、ハードディスク18やフロッピー(R)ディスク上の、そのファイルに対応する複数または単数の記憶ブロックを特定して、その記憶ブロックのデータを読み出す要求(例えばリードセクタ命令)を、ハードディスク・ドライバ16やフロッピー(R)ディスク・ドライバ20に行うことで、その複数または単数の記憶ブロックのデータの読み出しを行い、その記憶ブロックのデータを、ファイルとして構成して、OS12に渡す。
また、ファイルシステム14は、OS12からファイルを書き込む要求を受けると、OS12から渡されたファイルのデータを、複数または単数の記憶ブロックに書き込まれる単位のデータに分割し、ハードディスク18やフロッピー(R)ディスクに書き込む。この書き込みは、ハードディスク・ドライバ16やフロッピー(R)ディスク・ドライバ20に対して、ハードディスク18やフロッピー(R)ディスク上の特定の記憶ブロックを指定して、その記憶ブロックにデータを書き込む要求(例えばライトセクタ命令)を行うと共に、分割した各前記データを渡すことで行われる。
【0048】
ファイルシステム14が、ストレージデバイス・ドライバに対して、読み書きを行うストレージデバイス上の特定の記憶ブロックを指定することは、各記憶ブロックに一意に割り振られた記憶ブロック番号(セクタ番号やクラスタ番号)を指定することによって行う。
【0049】
ハードディスク・ドライバ16やフロッピー(R)ディスク・ドライバ20は、ハードディスク18やフロッピー(R)ディスクドライブ22の読み書きの制御等を行うソフトウェアとしてインストールされる。ハードディスク・ドライバ16やフロッピー(R)ディスク・ドライバ20の例としては、IDEコントローラが挙げられる。
【0050】
ハードディスク・ドライバ16やフロッピー(R)ディスク・ドライバ20は、ファイルシステム14から、記憶ブロックのデータを読み出す前記要求を受けると、ハードディスク18や、フロッピー(R)ディスクドライブ22内のフロッピー(R)ディスク等から、該当する記憶ブロックのデータを読み出す制御を行い、読み出したデータを、ファイルシステム14に渡す。
また、ハードディスク・ドライバ16やフロッピー(R)ディスク・ドライバ20は、ファイルシステム14から、記憶ブロックにデータを書き込む前記要求を受けると、ハードディスク18や、フロッピー(R)ディスクドライブ22内のフロッピー(R)ディスクの指定された記憶ブロックに、指定されたデータを書き込む。
【0051】
さらに、各クライアントコンピュータCは、仮想ストレージデバイス・ドライバ(仮想ストレージデバイス・ドライバプログラム)としての仮想磁気ディスク・ドライバ28を備える。仮想磁気ディスク・ドライバ28は、ファイルシステム14によって扱われる磁気ディスク・ドライバの一つとして、クライアントコンピュータCに読み取り可能にインストールされる。
仮想磁気ディスク・ドライバ28は、ファイルシステム14に対して、ハードディスク・ドライバ16やフロッピー(R)ディスク・ドライバ20等の他の磁気ディスクドライバと同じインタフェースを持つ。これにより、仮想磁気ディスク・ドライバ28は、ファイルシステム14に、磁気ディスク・ドライバの一つとみなされる。
【0052】
仮想磁気ディスク・ドライバ28が、ハードディスク・ドライバ16やフロッピー(R)ディスク・ドライバ20等の他の磁気ディスク・ドライバと異なる点は、磁気ディスク等のストレージデバイスに対してデータの読み書きを行うのではなく、通信部24を介して、サーバコンピュータSに対してデータの読み書き、即ち受信・送信を行う点である。
【0053】
仮想磁気ディスク・ドライバ28は、ファイルシステム14から、記憶ブロックのデータを読み出す要求を受けた際には、通信部24を介して、サーバコンピュータSに、その記憶ブロックのデータに対応するデータを読み出すリード要求を送信し、そのリード要求に対応してサーバコンピュータSから送信されてきたデータを、その記憶ブロックのデータとしてファイルシステム14に渡す。
仮想磁気ディスク・ドライバ28が、サーバコンピュータSに、読み出すべき「特定の記憶ブロックのデータに対応するデータ」を指定する際には、前記記憶ブロック番号を用いる。即ち、仮想磁気ディスク・ドライバ28は、ファイルシステム14に指定された記憶ブロック番号を付加させて、前記リード要求をサーバコンピュータSに送信する。
【0054】
また、仮想磁気ディスク・ドライバ28は、ファイルシステム14から、記憶ブロックにデータを書き込む要求を受けた際には、サーバコンピュータSに、その記憶ブロックのデータを書き込むライト要求とその記憶ブロックのデータとを送信する。
仮想磁気ディスク・ドライバ28が、サーバコンピュータSに、前記ライト要求を行う際には、前記リード要求時と同様、ファイルシステム14に指定された記憶ブロック番号を付加させて、前記ライト要求をサーバコンピュータSに送信する。
【0055】
つまり、仮想磁気ディスク・ドライバ28は、記憶ブロックのデータを磁気ディスクから読み出す代わりに、サーバコンピュータSからデータを読み出し、また、データを磁気ディスクの記憶ブロックに書き込む代わりに、サーバコンピュータSにそのデータを送信するのである。
【0056】
なお、各クライアントコンピュータCが備える仮想ストレージデバイス・ドライバは、サーバコンピュータSに前記リード要求やライト要求やデータを送信する際、サーバコンピュータSが、送信元の仮想ストレージデバイス・ドライバを特定できるように、各仮想ストレージデバイス・ドライバ毎に一意に割り振られた所定の番号(IDナンバー)を付加させてデータ等を送信する。この所定の番号は、サーバコンピュータSのデータ管理手段10によって割り振られる。この割り振りについては後述する。
【0057】
本実施の形態では、ファイルシステム14としては、磁気ディスク(ハードディスク18およびフロッピー(R)ディスク22)へのデータの書き込みを行う、磁気ディスク用ファイルシステムを採用している。磁気ディスク用ファイルシステムとして広く知られたものとしては、Windows(R)に装備されるFAT等が挙げられる。なお、ファイルシステム14は、FAT等に限らず、例えばユーザーの自作ファイルシステム等であってもよい。
【0058】
なお、本実施の形態では、ストレージデバイスは、ハードディスク18やフロッピー(R)ディスクといった磁気ディスク装置としているが、これに限定されず、例えば光ディスク装置等であってもよい。その場合には、ファイルシステムとしては、光ディスクの記憶ブロックのデータの読み書きに適した、光ディスク用のファイルシステムを採用すればよい。
【0059】
なお、仮想ストレージデバイス・ドライバとしての仮想磁気ディスク・ドライバ28は、一つのファイルシステム14下に、複数設けてもよい。また、クライアントコンピュータCが、複数のファイルシステム(例えば、磁気ディスク用ファイルシステムと光ディスク用ファイルシステム)を持つ場合には、それぞれのファイルシステムに対応する仮想ストレージデバイス・ドライバを、それぞれ設けてもよい。
また、各クライアントコンピュータCの備える仮想ストレージデバイス・ドライバは、各クライアントコンピュータC毎に異なるファイルシステム(例えば磁気ディスク用ファイルシステムと光ディスク用ファイルシステム)に対応するものであってもよい。
【0060】
(サーバコンピュータS)
サーバコンピュータSは、パソコン等の汎用コンピュータで構成できる。サーバコンピュータSは、例えばWindows(R)やUNIX(R)等のOS1と、記憶手段としての、単数または複数のハードディスク4,4およびフロッピー(R)ディスクドライブ6と、ネットワークNを介してデータの送受信が可能な通信部8とを備える。
なお、サーバコンピュータSも、クライアントコンピュータCと同様、ハードディスク4,4およびフロッピー(R)ディスクドライブ6のドライバや、ファイルシステムを備えるが、図1上では省略している。
【0061】
OS1上では、複数のアプリケーションを実行することができる。
なお、サーバコンピュータSのOS1は、Windows(R)やUNIX(R)等の汎用OSに限らず、どのようなOSであってもよく、例えばユーザーの自作OSであってもよい。
【0062】
通信部24は、例えば、TCP/IPプロトコルに準じて、インターネットやLAN等のネットワークNを介して、クライアントコンピュータC,C・・等の他の機器とデータの送受を行うことができる、一般的なネットワークカード等によって実現することができる。
【0063】
また、サーバコンピュータSは、記憶手段として単数または複数のハードディスク4,4およびフロッピー(R)ディスクドライブ6を備えるが、これらは、サーバコンピュータSに内蔵のものでも、外付けのものでもよい。
【0064】
また、さらに、サーバコンピュータSは、クライアントコンピュータCから、前記リード要求を受信した際には、ハードディスク4,4またはフロッピー(R)ディスクドライブ6からそのリード要求に対応するデータを読み出してクライアントコンピュータCに送信し、また、クライアントコンピュータCから、前記ライト要求を受信した際には、そのライト要求と共に送信されてきたデータをハードディスク4,4またはフロッピー(R)ディスクドライブ6に書き込むデータ管理手段(データ管理プログラム)10を備える。
データ管理手段10は、OS1上で実行されるアプリケーションとして、サーバコンピュータSに読み取り可能にインストールされる。
【0065】
データ管理手段10は、図示しない設定手段を有し、所定の入力画面を、サーバコンピュータSの図示しないモニタ装置に表示させて、ユーザーに、各クライアントコンピュータCにインストールされた個々の仮想ストレージデバイス・ドライバを登録させる。また、設定手段は、所定の入力画面によって、登録された各仮想ストレージデバイス・ドライバの記憶ブロック構造(例えば、セクタ数や、各セクタのサイズ等)を、ユーザーに登録させる。
【0066】
ユーザーが、前記設定手段による、各クライアントコンピュータC、および各クライアントコンピュータCの仮想ストレージデバイス・ドライバの登録を完了すると、データ管理手段10は、それぞれの仮想ストレージデバイス・ドライバに、一意に割り振られた番号(IDナンバー)を振り、各仮想ストレージデバイス・ドライバが搭載されたクライアントコンピュータCに対して、その仮想ストレージデバイス・ドライバに対応する前記番号を送信する。各クライアントコンピュータCの仮想ストレージデバイス・ドライバは、この番号を記憶手段に保存しておき、サーバコンピュータSへ送信する要求およびデータにこの番号を付加させる。これにより、サーバコンピュータSは、各要求やデータが、どの仮想ストレージデバイス・ドライバから送信されてきたかを判別することが可能となる。
【0067】
なお、各クライアントコンピュータCが、それぞれ一つずつの仮想ストレージデバイス・ドライバのみを備えている場合には、この一意の番号として、IPアドレス等の、ネットワークN上で各クライアントコンピュータCを識別する既存の情報を使用することもできる。この場合には、データ管理手段10による前記番号の割り振りおよびクライアントコンピュータCへの送信は行わなくてもよい。
【0068】
続いて、前記設定手段は、登録された各仮想ストレージデバイス・ドライバ(の番号)に一対一に対応する、仮想ストレージデバイス・ファイルを、サーバコンピュータSのハードディスク4上に作成する。
図2の説明図に示すように、仮想ストレージデバイス・ファイルは、各仮想ストレージデバイス・ドライバに対応して、一つずつ作成される。図2に示すように、同一のクライアントコンピュータC上に複数の磁気ディスク・ドライバ28,28・・が存在する場合や、同一のクライアントコンピュータC上に複数種類の仮想ストレージデバイス・ドライバとしての、仮想磁気ディスク・ドライバ28および仮想光ディスク・ドライバ29が存在する場合でも、それらの一つ一つに対応して、仮想ストレージデバイス・ファイルは作成される。
なお、各仮想ストレージデバイス・ファイルは、サーバコンピュータSの同一のハードディスク4上に作成する必要はなく、それぞれ別のハードディスク4や、フロッピー(R)ディスクドライブ6のフロッピー(R)ディスク上に作成しても良い。
【0069】
各仮想ストレージデバイス・ファイルは、それに対応する仮想ストレージデバイス・ドライバの記憶ブロック構造(セクタ構造またはクラスタ構造等)に合わせて、その記憶ブロック単位で、データを読み書き可能なデータ構造に構成される。
例えば、図3に示すように、仮想ストレージデバイス・ファイルの内部構造は、対応する仮想ストレージデバイス・ドライバで扱われるセクタデータ単位(記憶ブロックのデータ単位)のセクタデータエリア(記憶ブロックデータエリア)に区切られて構成され、データ管理手段10は、セクタ番号(記憶ブロック番号)を指定することで、仮想ストレージデバイス・ファイル内の任意のセクタデータエリア(記憶ブロックデータエリア)にデータの読み書きをすることができる。
【0070】
なお、仮想ストレージデバイス・ファイルは、必ずしも一つの仮想ストレージデバイス・ドライバに対して一ファイルを対応させる必要はなく、例えば、扱う記憶ブロック数やサイズが大きく、仮想ストレージデバイス・ファイルのサイズが大きくなりすぎてしまうような場合は、複数のファイルに分割して保存するように構成してもよいし、あるいは、一記憶ブロックが一ファイルに対応するように構成してもよい。
【0071】
データ管理手段10は、仮想磁気ディスク・ドライバ28によってクライアントコンピュータCから送信されてきた前記リード要求や、前記ライト要求や、前記ライト要求と共に送信されてくる、記憶ブロックのデータを受信することができる。
【0072】
データ管理手段10は、クライアントコンピュータCから前記ライト要求を受信すると、それに付加された前記番号(IDナンバー)から、その要求が、どのクライアントコンピュータCのどの仮想ストレージデバイス・ドライバから送信されてきたものかを特定し、その仮想ストレージデバイス・ドライバに対応する仮想ストレージデバイス・ファイルに、ライト要求と共に送信されてきたデータを保存する。この際、そのデータの、仮想ストレージデバイス・ファイル上の保存個所は、ライト要求に付加された前記記憶ブロック番号(セクタ番号)によって特定される。つまり、データ管理手段10は、前記記憶ブロック番号(セクタ番号)に対応する、仮想ストレージデバイス・ファイル上のセクタデータエリア(記憶ブロックデータエリア)(図3)に、そのデータを保存する。
【0073】
また、データ管理手段10は、クライアントコンピュータCから前記リード要求を受信すると、それに付加された前記番号(IDナンバー)から、その要求が、どのクライアントコンピュータCのどの仮想ストレージデバイス・ドライバから送信されてきたものかを特定し、その仮想ストレージデバイス・ドライバに対応する仮想ストレージデバイス・ファイルの、そのリード要求に対応する個所からデータを読み出し、読み出したデータを、そのクライアントコンピュータCに送信する。この際、仮想ストレージデバイス・ファイル上の読み出し個所は、リード要求に付加された前記記憶ブロック番号(セクタ番号)によって特定される。つまり、データ管理手段10は、前記記憶ブロック番号(セクタ番号)に対応する、仮想ストレージデバイス・ファイル上のセクタデータエリア(記憶ブロックデータエリア)(図3)から、データを読み出してクライアントコンピュータCに送信する。
【0074】
(仮想ストレージデバイス・システムA1の動作)
次に、仮想ストレージデバイス・システムA1の動作について、図4および図5に基づいて説明する。
図4は、クライアントコンピュータCのOS12またはアプリケーション26が、ファイルを読み出す際の、仮想ストレージデバイス・システムA1の動作を示した、シーケンスチャートである。
図4に示すように、OS12またはアプリケーション26が、ファイルシステム14に対してファイルを読み出す要求を行う(S1)と、ファイルシステム14は、そのファイルに対応する、セクタやクラスタ等の記憶ブロックを特定し、それらの記憶ブロックのデータを読み出す要求を、仮想磁気ディスク・ドライバ28に対して行う(S2)。なお、ここまでのOS12、アプリケーション26およびファイルシステム14の動作は、OS12またはアプリケーション26が通常の磁気ディスク・ドライバにアクセスする際の動作となんら変わることがない。
【0075】
前記要求を受けた仮想磁気ディスク・ドライバ28は、通信部24およびネットワークNを介して、ファイルシステム14に指定された記憶ブロックのデータに対応するデータを読み出す前記リード要求を、サーバコンピュータSのデータ管理手段10に送信する(S3)。この際、送信データには、送信元の仮想磁気ディスク・ドライバ28に振られた前記番号(IDナンバー)と、指定された記憶ブロックの記憶ブロック番号(セクタ番号)とを付加させる。
なお、ネットワークNに接続された特定のサーバコンピュータSの特定のアプリケーション(データ管理手段10)に対するデータ等の送信は、サーバコンピュータSのIPアドレスを指定すると共に、サーバコンピュータSのOS1上の各アプリケーションに割り振り可能なポート番号を指定するといった、既存の技術によって行うことができる。
【0076】
データ管理手段10は、付加された送信元の仮想ストレージデバイス・ドライバ(仮想磁気ディスク・ドライバ28)の番号(IDナンバー)から、その仮想ストレージデバイス・ドライバに対応する仮想ストレージデバイス・ファイルを特定し、その仮想ストレージデバイス・ファイルの、指定された記憶ブロック番号に対応する記憶ブロックデータエリア(セクタデータエリア)から、データを読み出す(S4)。
データ管理手段10は、続いて、通信部8およびネットワークNを介して、読み出したデータを、前記番号(IDナンバー)に対応する仮想ストレージデバイス・ドライバ(仮想磁気ディスク・ドライバ28)に対して送信する(S5)。
【0077】
なお、仮想ストレージデバイス・ファイルは、前述の通り、対応する仮想ストレージデバイス・ドライバの記憶ブロック構造(セクタ構造またはクラスタ構造)に合わせて構成されている。従って、ファイルシステム14が指定する「特定の記憶ブロック」の記憶ブロック番号(セクタ番号)は、仮想磁気ディスク・ドライバ28やデータ管理手段10に引き継がれた際にも共通に用いることができ、処理を簡便に構成できる。
【0078】
データを受信した仮想磁気ディスク・ドライバ28は、受信したデータを、ファイルシステム14に読み出すことを要求された記憶ブロックのデータとして、ファイルシステム14に渡す(S6)。
ファイルシステム14は、渡された記憶ブロックのデータを、ファイルとして、OS12またはアプリケーション26に渡す(S7)。
【0079】
図5は、クライアントコンピュータCのOS12またはアプリケーション26が、ファイルを書き込む際の動作を示した、シーケンスチャートである。
図5に示すように、OS12またはアプリケーション26が、ファイルシステム14に対してファイルを書き込む要求を行う(S11)と、ファイルシステム14は、そのファイルに対応する、セクタやクラスタ等の記憶ブロックを特定し、そのファイルをそれらの記憶ブロック単位のデータに分割して、その各データを書き込む要求を、仮想磁気ディスク・ドライバ28に対して行う(S12)。なお、ここまでのOS12、アプリケーション26およびファイルシステム14の動作は、OS12またはアプリケーション26が通常の磁気ディスク・ドライバにアクセスする際の動作となんら変わることがない。
【0080】
前記要求を受けた仮想磁気ディスク・ドライバ28は、通信部24およびネットワークNを介して、それらの記憶ブロックのデータを書き込むライト要求と、各記憶ブロックのデータとを、サーバコンピュータSのデータ管理手段10に送信する(S13)。この際、送信データには、送信元の仮想磁気ディスク・ドライバ28に振られた前記番号(IDナンバー)と、指定された記憶ブロックの記憶ブロック番号(セクタ番号)とを付加させる。
【0081】
データ管理手段10は、付加された送信元の仮想ストレージデバイス・ドライバ(仮想磁気ディスク・ドライバ28)の番号(IDナンバー)から、その仮想ストレージデバイス・ドライバに対応する仮想ストレージデバイス・ファイルを特定し、その仮想ストレージデバイス・ファイルの、指定された記憶ブロック番号に対応する記憶ブロックデータエリア(セクタデータエリア)に、受信した、記憶ブロックのデータを書き込む(S14)。
【0082】
本実施の形態に係る仮想ストレージデバイス・システムA1によれば、サーバコンピュータSのハードディスク4の記憶領域を、クライアントコンピュータCに提供することができる。
また、仮想磁気ディスク・ドライバ28は、ファイルシステム14からの記憶ブロックのデータの読み書きの要求に対して、サーバコンピュータSに、その記憶ブロックに対応するデータの読み書きの要求(リード要求、ライト要求)を行うといった、簡単なプログラムで構成できる。また、データ管理手段10は、クライアントコンピュータCからの、リード要求およびライト要求に対して、仮想ストレージデバイス・ファイルから、対応するデータの読み書きを行うといった、簡単なプログラムで構成できる。
従って、例えばクライアントコンピュータCのOS12としてユーザーの自作OSを採用するような場合でも、従来のように複雑なネットワーク共有プロトコルを実現するプログラムを開発する必要がなく、サーバコンピュータSのハードディスク4の記憶領域をクライアントコンピュータCに提供するシステムを、より簡単に構築することができる。
【0083】
また、仮想ストレージデバイス・システムA1によれば、サーバコンピュータSのOS1に備えられたネットワーク共有プロトコルを使用しないため、クライアントコンピュータCのOS12は、サーバコンピュータSのOS1や、ネットワーク共有プロトコルに依存せず、自由に選択することができる。
【0084】
さらに、クライアントコンピュータCのOS12は、ファイルシステム14を介して、通常の磁気ディスク・ドライバを扱うのと全く同じインタフェースで、仮想磁気ディスク・ドライバ28を扱うことができるため、実際のデータの保存先が、クライアントコンピュータC自身のハードディスク18やフロッピー(R)ディスクであるか、サーバコンピュータSのハードディスク4であるかを区別して処理する必要がなく、従来のように、ネットワーク共有プロトコルとファイルシステムの両者を意識して使い分ける場合に比較して、ファイル管理処理が軽減される。特に、クライアントコンピュータCのOS12として自作OSを採用する場合には、OS12のファイル管理機能としては、ファイルシステム14に対するインタフェースのみを考慮すればよいため、OS12をより簡単に開発することが可能となる。
【0085】
また、仮想磁気ディスク・ドライバ28およびデータ管理手段10が、ネットワークNを介して記憶ブロックに対応するデータを送信する際には、図示しない暗号化手段によって、そのデータを暗号化して送信するよう構成すれば、通信されるデータを第三者に傍受されたとしても、データの内容を知られないようにすることができる。
これには、例えば、既存の公開鍵方式を用いることができる。つまり、それぞれのクライアントコンピュータCとサーバコンピュータSとが、公開鍵方式の秘密鍵を一つずつ保管し、データ送信する際には、送信先のクライアントコンピュータCまたはサーバコンピュータSに対応する公開鍵によって、そのデータを暗号化すれば、特定のクライアントコンピュータCまたはサーバコンピュータSにのみ解読可能な暗号文を作成することができる。
【0086】
なお、本発明に係る仮想ストレージデバイス・システムは、図1に示した仮想ストレージデバイス・システムA1に限定されない。
例えば、図1の仮想ストレージデバイス・システムA1においては、クライアントコンピュータCおよびサーバコンピュータSのOS12,1は、ネットワーク共有プロトコルを有していないが、図6の仮想ストレージデバイス・システムA2に示すように、従来のネットワーク共有プロトコルを有するOSに対しても、本発明に係る仮想ストレージデバイス・ドライバやデータ管理手段を採用することで、クライアントコンピュータCは、サーバコンピュータSのハードディスク4を、クライアントコンピュータC自身の磁気ディスク(ストレージデバイス)とみなして読み書き可能とすることができる。
【0087】
また、仮想ストレージデバイス・システムA1,A2においては、サーバコンピュータSの記憶手段は、ハードディスク4やフロッピー(R)ディスクドライブのフロッピー(R)ディスクであるが、データを記憶できるものであれば、これらに限らず、例えばCD−RWドライブや、MOドライブ等であってもよい。また、サーバコンピュータSの記憶手段として、CDの読み取り専用の光ディスクドライブを採用して、仮想磁気ディスク・ドライバ28は、データの読み取りのみが可能なように構成してもよい。
【0088】
また、仮想ストレージデバイス・システムA1,A2においては、サーバコンピュータSとして、パソコン等の汎用コンピュータを使用しているが、図7に示す仮想ストレージデバイス・システムA3のように、サーバ装置に、ストレージデバイス、例えばハードディスク装置Hを採用しても良い。
この場合、ハードディスク装置Hは、ハードディスク36と、ネットワークNを介してデータの送受信が可能な通信部30と、CPUやメモリを備える論理回路によって構成される制御部32と、制御部32によって実行されるファームウェアとして実装されたデータ管理手段(データ管理プログラム)34とを備える。
【0089】
データ管理手段34は、仮想ストレージデバイス・システムA1のデータ管理手段10と同様の動作を行うプログラムである。即ち、データ管理手段34は、クライアントコンピュータCから、記憶ブロックのデータに対応するデータを読み出す前記リード要求を受信した際には、ハードディスク36(の仮想ストレージデバイス・ファイル)からそのリード要求に対応するデータを読み出してクライアントコンピュータCに送信し、また、クライアントコンピュータCから、記憶ブロックのデータを書き込むライト要求を受信した際には、そのライト要求と共に送信されてきたデータをハードディスク36に書き込むものである。
【0090】
また、データ管理手段34の前記設定手段は、例えば特定のクライアントコンピュータCと通信して、クライアントコンピュータCのモニタ装置等に設定画面を表示させて、ユーザーによって各クライアントコンピュータC,C・・の各仮想ストレージデバイス・ドライバの登録を行わせることができるように構成する。登録結果は、前記特定のクライアントコンピュータCからハードディスク装置Hに送信され、データ管理手段34が、登録された番号等を記憶するよう構成すればよい。
また、データ管理手段34は、データ管理手段10と同様、ハードディスク36上に、各クライアントコンピュータCの各仮想ストレージデバイス・ドライバに対応した仮想ストレージデバイス・ファイルを作成し、各仮想ストレージデバイス・ドライバとの間で送受した、各記憶ブロックのデータに対応するデータを、読み書きするよう構成する。
【0091】
仮想ストレージデバイス・システムA3によれば、一台のハードディスク装置Hの記憶領域を複数のクライアントコンピュータC,Cが使用可能となる。また、各クライアントコンピュータC,C・・自身は、ハードディスクを備えないように構成し、一台のハードディスク装置Hに、複数のクライアントコンピュータCのハードディスクの役割を負わせることなどができる。
【0092】
また、仮想ストレージデバイス・システムA1,A2,A3においては、クライアントコンピュータCとして、パソコン等の汎用コンピュータを使用しているが、クライアントコンピュータCは、必ずしも汎用コンピュータである必要はなく、ファイルシステムや仮想ストレージデバイス・ドライバを実行可能な、CPU等を備えた制御部や、ネットワークを介してデータの送受が可能な通信部を備えた装置(コンピュータ)であれば、あらゆる装置を採用できる。
【0093】
【発明の効果】
本発明に係る仮想ストレージデバイス・システム、クライアントコンピュータ、仮想ストレージデバイス・ドライバプログラム、サーバ装置、およびデータ管理手段によれば、サーバ装置の記憶手段の記憶領域をクライアントコンピュータに提供することができるシステムとして、単純な構成で、サーバ装置のOSやネットワーク共有プロトコルに依存せずに、なおかつ、クライアントコンピュータのOSのファイル管理処理の負荷を軽減することができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明に係る仮想ストレージデバイス・システムの構成を示す説明図である。
【図2】データ管理手段(本発明に係るデータ管理プログラム)が仮想ストレージデバイス・ファイルを作成する様子を示した説明図である。
【図3】仮想ストレージデバイス・ファイルの内部構成を示す説明図である。
【図4】データ管理手段(本発明に係るデータ管理プログラム)のファイル読み出し時の動作を示すシーケンスチャートである。
【図5】データ管理手段(本発明に係るデータ管理プログラム)のファイル書き込み時の動作を示すシーケンスチャートである。
【図6】本発明に係る仮想ストレージデバイス・システムの別例の構成を示す説明図である。
【図7】本発明に係る仮想ストレージデバイス・システムの別例の構成を示す説明図である。
【図8】従来のクライアントサーバシステムの構成を示す説明図である。
【符号の説明】
A1,A2,A3 仮想ストレージデバイス・システム
N ネットワーク
S サーバコンピュータ(サーバ装置)
1 OS
4 ハードディスク(記憶手段)
6 フロッピー(R)ディスクドライブ(記憶手段)
8 通信部
10 データ管理手段(データ管理プログラム)
C クライアントコンピュータ
12 OS
14 磁気ディスク用ファイルシステム(ファイルシステム)
16 ハードディスク・ドライバ(ストレージデバイス・ドライバ)
18 ハードディスク(ストレージデバイス)
20 フロッピー(R)ディスク・ドライバ(ストレージデバイス・ドライバ)
22 フロッピー(R)ディスクドライブ(ストレージデバイス)
24 通信部
26 アプリケーション
28 仮想磁気ディスク・ドライバ(仮想ストレージデバイス・ドライバ、仮想ストレージデバイス・ドライバプログラム)
H ハードディスク装置(サーバ装置)
30 通信部
32 制御部
34 データ管理手段(データ管理プログラム)
36 ハードディスク(ストレージデバイス)[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention provides a virtual storage device system for providing a storage area of storage means of a server device to a client computer via a network, and a client computer, a virtual storage device driver program, a server device, And data management programs.
[0002]
[Prior art]
Conventionally, as a client server system that provides a storage area of a storage unit connected to a server computer connected to a network to a plurality or a single client computer via the network, a network system disclosed in
[0003]
As in the network system disclosed in
[0004]
FIG. 8 is an explanatory diagram of a client server system B that provides the storage area of the
[0005]
Each client computer CB includes a general-
[0006]
The server computer SB is, for example, a general-
The server computer SB, like the client computer CB, includes drivers for the
[0007]
In the conventional system B shown in FIG. 8, when the storage area of the
[0008]
[Patent Document 1]
JP 2000-148571 A (FIG. 1-3)
[0009]
[Problems to be solved by the invention]
In the conventional client-server system B shown in FIG. 8, the client computers CB, CB,... Must have a
For example, when Windows (R) is adopted as the OS 71 of the server computer SB, SMB (Server Message Block) is used as a network sharing protocol. In this case, in order to perform network sharing with the server computer SB, the client computer CB needs to be equipped with a
[0010]
However, in the client-server system, various types of
[0011]
When the OS on which the
[0012]
However, the network sharing protocol of a general-purpose OS, such as Windows (R), is very complicated and its contents may not be disclosed. However, there is a problem that it is very time-consuming and difficult to develop the software.
[0013]
Further, the conventional OS 82 equipped with the
[0014]
The present invention has been made in order to solve the above-mentioned problem, and an object of the present invention is to provide a system which can provide a storage area of a storage unit of a server device to a client computer. A virtual storage device system that does not depend on a network sharing protocol and can reduce the load of the file management processing of the OS of the client computer, and a client computer, a virtual storage device driver program used therein, It is to provide a server device and a data management program.
[0015]
[Means for Solving the Problems]
A virtual storage device system according to the present invention has the following configuration to solve the above problems. That is, a server device connected to a network, and a plurality of or a single client computer communicably connected to the server device via the network, the client computer is provided via a storage device driver A file system for reading data recorded in a storage block such as a sector or a cluster of a storage device and for associating a file with a storage block, and one of storage device drivers handled by the file system When a request to read data of a storage block is received from the file system, a read request to read data corresponding to the data of the storage block is transmitted to the server device, and the server device responds to the read request. And the sir A virtual storage device driver for passing data transmitted from the device to the file system as data of the storage block, wherein the server device stores data corresponding to data of each of the storage blocks; and A data management unit that reads data corresponding to the read request from the storage unit and transmits the data to the client computer when the read request is received from the client computer.
According to this, the exchange of data between the client computer and the server device involves only a read request and data corresponding to the read request between the virtual storage driver program and the data management means. With the storage driver program and the data management means, the client computer can use the storage area of the storage means of the server device without depending on the OS or the network sharing protocol. In addition, the OS of the client computer only needs to access the file system when accessing the storage unit of the server device, and therefore does not need to be aware of accessing the storage unit of the server device.
[0016]
Further, the file system is provided so as to be able to write data to a storage block of a storage device via a storage device driver, and the virtual storage device driver receives a request to write data to the storage block from the file system. In this case, a write request for writing the data of the storage block and the data of the storage block are transmitted to the server device, and when the data management unit receives the write request from the client computer, Writing the data transmitted together with the write request into the storage means.
According to this, it is also possible to write from the client computer to the storage means of the server device. Further, since the storage unit of the server device can be used as a readable / writable storage device such as a hard disk of a client computer, the client computer can operate without having a storage device such as a hard disk. .
[0017]
Further, the file system is a magnetic disk file system capable of reading and writing data in a storage block of a magnetic disk drive as a storage device via a magnetic disk driver as a storage device driver.
According to this, the client computer can handle the virtual storage device driver via the magnetic disk file system such as FAT, and can use the storage unit of the server device as the magnetic disk drive of the client computer. it can.
[0018]
Further, the virtual storage device driver encrypts data of a storage block to be transmitted to the server together with the write request, and transmits the encrypted data to the server.
Further, the data management means encrypts data to be transmitted to the client computer in response to the read request, and transmits the data to the client computer.
According to this, it is possible to prevent the contents of the data to be communicated from being known to a third party.
[0019]
Further, the server device is a general-purpose computer, and the storage means is a hard disk.
According to this, the hard disk of the server computer as the server device can be used by the client computer.
[0020]
Further, the server device is a hard disk device, and the storage means is a hard disk.
According to this, the hard disk of the hard disk device as the server device can be used by the client computer.
[0021]
Further, a client computer according to the present invention has the following configuration in order to solve the above problems. That is, the storage device is communicably connected to a server device via a network, and is provided so as to be able to read data recorded in a storage block such as a sector or a cluster of the storage device via a storage device driver. When a request to read data of a storage block is received from the file system and is installed as one of storage device drivers handled by the file system, A virtual storage device which transmits a read request for reading data corresponding to the data of the storage block and transfers data transmitted from the server device in response to the read request to the file system as data of the storage block. With a driver The features.
According to this, it is possible to configure a client computer that can read data from the server device by using a virtual storage driver program with a simple configuration and without depending on the OS or the network sharing protocol. In addition, the OS of the client computer only needs to access the file system when accessing the storage unit of the server device, and therefore does not need to be aware of accessing the storage unit of the server device.
[0022]
Further, the file system is provided so as to be able to write data to a storage block of a storage device via a storage device driver, and the virtual storage device driver receives a request to write data to the storage block from the file system. In this case, a write request for writing the data of the storage block and the data of the storage block are transmitted to the server device.
According to this, it is also possible to write data from the client computer to the server device. Further, since the storage unit of the server device can be used as a readable / writable storage device such as a hard disk of a client computer, the client computer can operate without having a storage device such as a hard disk. .
[0023]
Further, the file system is a magnetic disk file system capable of reading and writing data in a storage block of a magnetic disk drive as a storage device via a magnetic disk driver as a storage device driver.
According to this, the client computer can handle the virtual storage device driver via the magnetic disk file system such as FAT, and can use the storage unit of the server device as the magnetic disk drive of the client computer. it can.
[0024]
Further, the virtual storage device driver encrypts data of a storage block to be transmitted to the server together with the write request, and transmits the encrypted data to the server.
According to this, it is possible to prevent the contents of the data to be communicated from being known to a third party.
[0025]
Further, a virtual storage device driver program according to the present invention has the following configuration in order to solve the above problem. That is, the storage device is communicably connected to a server device via a network, and is provided so as to be able to read data recorded in a storage block such as a sector or a cluster of the storage device via a storage device driver. A virtual storage device driver program read as one of the storage device drivers handled by the file system to a client computer having a file system that performs the association of the file system. When receiving the read request, transmitting a read request for reading data corresponding to the data of the storage block to the server device, and transmitting the data transmitted from the server device in response to the read request. A step of passing the file system as a data of the storage block, and wherein the to be executed by the client computer.
According to this, it is possible to configure a client computer that can read data from the server device by using a virtual storage driver program with a simple configuration and without depending on the OS or the network sharing protocol. In addition, the OS of the client computer only needs to access the file system when accessing the storage unit of the server device, and therefore does not need to be aware of accessing the storage unit of the server device.
[0026]
The file system is provided so as to be able to write data to a storage block of a storage device via a storage device driver, and when a request to write data to the storage block is received from the file system, the server device Transmitting the write request for writing the data of the storage block and the data of the storage block to the client computer.
According to this, it is also possible to write data from the client computer to the server device. Further, since the storage unit of the server device can be used as a readable / writable storage device such as a hard disk of a client computer, the client computer can operate without having a storage device such as a hard disk. .
[0027]
Further, the file system is a magnetic disk file system capable of reading and writing data in a storage block of a magnetic disk drive as a storage device via a magnetic disk driver as a storage device driver.
According to this, the client computer can handle the virtual storage device driver via the magnetic disk file system such as FAT, and can use the storage unit of the server device as the magnetic disk drive of the client computer. it can.
[0028]
The client computer may further execute a step of encrypting data of a storage block to be transmitted to the server device together with the write request.
According to this, it is possible to prevent the contents of the data to be communicated from being known to a third party.
[0029]
Further, a server device according to the present invention has the following configuration in order to solve the above problems. That is, a storage unit that is communicably connected to a plurality or a single client computer via a network and stores data corresponding to data of a storage block such as a sector or a cluster of a storage device, and a storage block from the client computer. And data management means for reading data corresponding to the read request from the storage means and transmitting the read data to the client computer when a read request for reading data corresponding to the data is received.
According to this, the exchange of data between the client computer and the server device is only a read request and data corresponding to the read request between the virtual storage driver program and the data management means. By the management means, the client computer can use the storage area of the storage means of the server device without depending on the OS or the network sharing protocol.
[0030]
Further, when the data management means receives a write request for writing data of a storage block from the client computer, the data management means writes the data transmitted together with the write request to the storage means.
According to this, it is also possible to write from the client computer to the storage means of the server device.
[0031]
Further, the storage block is a storage block such as a sector or a cluster of a magnetic disk.
According to this, the client computer can handle the virtual storage device driver via the magnetic disk file system such as FAT, and can use the storage unit of the server device as the magnetic disk drive of the client computer. it can.
[0032]
Further, the data management means encrypts data to be transmitted to the client computer in response to the read request, and transmits the data to the client computer.
According to this, it is possible to prevent the contents of the data to be communicated from being known to a third party.
[0033]
Further, it is a general-purpose computer, and the storage means is a hard disk.
According to this, the hard disk of the server computer as the server device can be used by the client computer.
[0034]
Further, it is a hard disk device, and the storage means is a hard disk.
According to this, the hard disk of the hard disk device as the server device can be used by the client computer.
[0035]
Further, a data management program according to the present invention has the following configuration in order to solve the above problems. That is, it is read by a server device communicably connected to a plurality or a single client computer via a network and provided with storage means for storing data corresponding to data of a storage block such as a sector or a cluster of a storage device. When receiving a read request for reading data corresponding to data in a storage block from the client computer, the data management program reads data corresponding to the read request from the storage unit and transmits the data to the client computer. And causing the server device to execute the step of performing the operation.
According to this, the exchange of data between the client computer and the server device is only a read request and data corresponding to the read request between the virtual storage driver program and the data management means. The management unit allows the client computer to use the storage area of the storage unit of the server device without depending on the OS or the network sharing protocol.
[0036]
When receiving a write request for writing data in a storage block from the client computer, the server device executes the step of writing the data transmitted together with the write request to the storage unit. I do.
According to this, it is also possible to write from the client computer to the storage means of the server device.
[0037]
Further, the storage block is a storage block such as a sector or a cluster of a magnetic disk.
According to this, the client computer can handle the virtual storage device driver via the magnetic disk file system such as FAT, and can use the storage unit of the server device as the magnetic disk drive of the client computer. it can.
[0038]
Further, the method is characterized by causing the server device to execute a step of encrypting data to be transmitted to the client computer in response to the read request.
According to this, it is possible to prevent the contents of the data to be communicated from being known to a third party.
[0039]
Further, the server device is a general-purpose computer, and the storage means is a hard disk.
According to this, the hard disk of the server computer as the server device can be used by the client computer.
[0040]
Further, the server device is a hard disk device, and the storage means is a hard disk.
According to this, the hard disk of the hard disk device as the server device can be used by the client computer.
[0041]
BEST MODE FOR CARRYING OUT THE INVENTION
Preferred embodiments of a virtual storage device system, a client computer, a virtual storage device driver program, a server device, and a data management program according to the present invention will be described below in detail with reference to the accompanying drawings.
[0042]
FIG. 1 is an explanatory diagram of the virtual storage device system A1 according to the present embodiment. The virtual storage device system A1 includes a server computer S as a server device communicably connected to each other via a network N, and a plurality of client computers C.
[0043]
(Client computer C)
Each client computer C can be constituted by a general-purpose computer such as a personal computer. Each of the client computers C includes an
[0044]
A plurality of
The
[0045]
The
[0046]
The magnetic
The
[0047]
Upon receiving a file read request from the
Further, when receiving a request to write a file from the
[0048]
When the
[0049]
The
[0050]
When the
When the
[0051]
Further, each client computer C includes a virtual
The virtual
[0052]
The difference between the virtual
[0053]
When receiving a request to read data of a storage block from the
When the virtual
[0054]
When the virtual
When the virtual
[0055]
That is, the virtual
[0056]
The virtual storage device driver included in each client computer C is configured to enable the server computer S to specify the source virtual storage device driver when transmitting the read request, write request, or data to the server computer S. Then, data and the like are transmitted by adding a predetermined number (ID number) uniquely assigned to each virtual storage device driver. This predetermined number is assigned by the data management means 10 of the server computer S. This allocation will be described later.
[0057]
In the present embodiment, as the
[0058]
In the present embodiment, the storage device is a magnetic disk device such as a
[0059]
Note that a plurality of virtual
The virtual storage device driver provided in each client computer C may correspond to a different file system (for example, a magnetic disk file system and an optical disk file system) for each client computer C.
[0060]
(Server computer S)
The server computer S can be constituted by a general-purpose computer such as a personal computer. The server computer S includes an
The server computer S, like the client computer C, includes drivers for the
[0061]
A plurality of applications can be executed on the OS1.
The
[0062]
The
[0063]
The server computer S includes one or more
[0064]
Further, when the server computer S receives the read request from the client computer C, the server computer S reads data corresponding to the read request from the
The data management means 10 is readablely installed on the server computer S as an application executed on the
[0065]
The
[0066]
When the user completes the registration of each client computer C and the virtual storage device driver of each client computer C by the setting unit, the
[0067]
In the case where each client computer C has only one virtual storage device driver, the unique number is used to identify each client computer C on the network N, such as an IP address. Information can also be used. In this case, the data management means 10 does not need to allocate the number and transmit the number to the client computer C.
[0068]
Subsequently, the setting unit creates, on the
As shown in the explanatory diagram of FIG. 2, a virtual storage device file is created one by one corresponding to each virtual storage device driver. As shown in FIG. 2, when a plurality of
Note that each virtual storage device file does not need to be created on the same
[0069]
Each virtual storage device file is configured in a data structure in which data can be read and written in units of the storage block in accordance with the storage block structure (sector structure or cluster structure, etc.) of the corresponding virtual storage device driver.
For example, as shown in FIG. 3, the internal structure of a virtual storage device file is stored in a sector data area (storage block data area) of a sector data unit (storage block data unit) handled by a corresponding virtual storage device driver. The
[0070]
Note that a virtual storage device file does not necessarily have to correspond to one file for one virtual storage device driver.For example, the number of storage blocks handled and the size are large, and the size of the virtual storage device file is large. In such a case, the file may be divided into a plurality of files and saved, or one storage block may correspond to one file.
[0071]
The data management means 10 can receive the read request, the write request, and the storage block data transmitted together with the write request transmitted from the client computer C by the virtual
[0072]
When the
[0073]
When the data management means 10 receives the read request from the client computer C, the request is transmitted from which virtual storage device driver of which client computer C based on the number (ID number) added thereto. The data is read from a location corresponding to the read request in the virtual storage device file corresponding to the virtual storage device driver, and the read data is transmitted to the client computer C. At this time, the read location on the virtual storage device file is specified by the storage block number (sector number) added to the read request. That is, the data management means 10 reads data from the sector data area (storage block data area) (FIG. 3) on the virtual storage device file corresponding to the storage block number (sector number) and sends the data to the client computer C. Send.
[0074]
(Operation of Virtual Storage Device System A1)
Next, the operation of the virtual storage device system A1 will be described with reference to FIGS.
FIG. 4 is a sequence chart showing an operation of the virtual storage device system A1 when the
As shown in FIG. 4, when the
[0075]
Upon receiving the request, the virtual
Note that transmission of data and the like to a specific application (data management means 10) of a specific server computer S connected to the network N is performed by designating the IP address of the server computer S and transmitting each application on the OS1 of the server computer S. Existing technology, such as designating a port number that can be assigned to a server.
[0076]
The data management means 10 specifies a virtual storage device file corresponding to the virtual storage device driver (virtual magnetic disk driver 28) from the number (ID number) of the added transmission source virtual storage device driver. Then, data is read from the storage block data area (sector data area) corresponding to the specified storage block number of the virtual storage device file (S4).
Subsequently, the
[0077]
As described above, the virtual storage device file is configured according to the storage block structure (sector structure or cluster structure) of the corresponding virtual storage device driver. Therefore, the storage block number (sector number) of the “specific storage block” specified by the
[0078]
The virtual
The
[0079]
FIG. 5 is a sequence chart showing an operation when the
As shown in FIG. 5, when the
[0080]
Upon receiving the request, the virtual
[0081]
The data management means 10 specifies a virtual storage device file corresponding to the virtual storage device driver (virtual magnetic disk driver 28) from the number (ID number) of the added transmission source virtual storage device driver. Then, the received storage block data is written to the storage block data area (sector data area) corresponding to the specified storage block number of the virtual storage device file (S14).
[0082]
According to the virtual storage device system A1 according to the present embodiment, the storage area of the
In addition, in response to a request to read / write data in a storage block from the
Therefore, for example, even when a user's own OS is adopted as the
[0083]
Further, according to the virtual storage device system A1, since the network sharing protocol provided in the OS1 of the server computer S is not used, the OS12 of the client computer C does not depend on the OS1 of the server computer S or the network sharing protocol. , Can be freely selected.
[0084]
Furthermore, since the
[0085]
When the virtual
For this, for example, an existing public key system can be used. That is, each of the client computer C and the server computer S stores one private key of the public key method and transmits data by using the public key corresponding to the client computer C or the server computer S of the transmission destination. If the data is encrypted, it is possible to create a ciphertext that can be decrypted only by a specific client computer C or server computer S.
[0086]
Note that the virtual storage device system according to the present invention is not limited to the virtual storage device system A1 shown in FIG.
For example, in the virtual storage device system A1 of FIG. 1, the
[0087]
In the virtual storage device systems A1 and A2, the storage means of the server computer S is a
[0088]
In the virtual storage device systems A1 and A2, a general-purpose computer such as a personal computer is used as the server computer S. However, as in the virtual storage device system A3 shown in FIG. For example, a hard disk drive H may be employed.
In this case, the hard disk device H is executed by the
[0089]
The
[0090]
The setting means of the data management means 34 communicates with, for example, a specific client computer C, displays a setting screen on a monitor device or the like of the client computer C, and allows the user to set each of the client computers C, C,. The virtual storage device driver is configured to be registered. The registration result may be transmitted from the specific client computer C to the hard disk drive H, and the data management means 34 may be configured to store the registered number and the like.
Further, the
[0091]
According to the virtual storage device system A3, the storage area of one hard disk drive H can be used by a plurality of client computers C and C. Each of the client computers C, C,... Can be configured so as not to include a hard disk, and one hard disk device H can play the role of the hard disk of a plurality of client computers C.
[0092]
In the virtual storage device systems A1, A2, and A3, a general-purpose computer such as a personal computer is used as the client computer C. However, the client computer C does not necessarily need to be a general-purpose computer. Any device can be adopted as long as it is a device (computer) having a control unit having a CPU or the like capable of executing a storage device driver or a communication unit capable of transmitting and receiving data via a network.
[0093]
【The invention's effect】
According to the virtual storage device system, the client computer, the virtual storage device driver program, the server device, and the data management means of the present invention, a system capable of providing the storage area of the storage device of the server device to the client computer is provided. With the simple configuration, there is an effect that the load of the file management processing of the OS of the client computer can be reduced without depending on the OS of the server device or the network sharing protocol.
[Brief description of the drawings]
FIG. 1 is an explanatory diagram showing a configuration of a virtual storage device system according to the present invention.
FIG. 2 is an explanatory diagram showing how a data management means (a data management program according to the present invention) creates a virtual storage device file.
FIG. 3 is an explanatory diagram showing an internal configuration of a virtual storage device file.
FIG. 4 is a sequence chart showing an operation of a data management unit (a data management program according to the present invention) when reading a file.
FIG. 5 is a sequence chart showing the operation of the data management means (the data management program according to the present invention) when writing a file.
FIG. 6 is an explanatory diagram showing a configuration of another example of the virtual storage device system according to the present invention.
FIG. 7 is an explanatory diagram showing a configuration of another example of the virtual storage device system according to the present invention.
FIG. 8 is an explanatory diagram showing a configuration of a conventional client server system.
[Explanation of symbols]
A1, A2, A3 Virtual storage device system
N network
S server computer (server device)
1 OS
4 Hard disk (storage means)
6. Floppy (R) disk drive (storage means)
8 Communication section
10 Data management means (data management program)
C client computer
12 OS
14. File System for Magnetic Disk (File System)
16 Hard disk driver (storage device driver)
18 Hard disk (storage device)
20 Floppy (R) Disk Driver (Storage Device Driver)
22 Floppy (R) Disk Drive (Storage Device)
24 Communication unit
26 Applications
28 Virtual Magnetic Disk Driver (Virtual Storage Device Driver, Virtual Storage Device Driver Program)
H Hard disk device (server device)
30 Communication unit
32 control unit
34 data management means (data management program)
36 Hard disk (storage device)
Claims (27)
前記ネットワークを介して前記サーバ装置と通信可能に接続された、複数または単数のクライアントコンピュータとを具備し、
該クライアントコンピュータは、
ストレージデバイス・ドライバを介して、ストレージデバイスのセクタやクラスタ等の記憶ブロックに記録されたデータを読み出し可能に設けられ、ファイルと記憶ブロックとの対応付けを行うファイルシステムと、
該ファイルシステムによって扱われるストレージデバイス・ドライバの一つとしてインストールされ、該ファイルシステムから、記憶ブロックのデータを読み出す要求を受けた際には、前記サーバ装置に、該記憶ブロックのデータに対応するデータを読み出すリード要求を送信し、該リード要求に対応して該サーバ装置から送信されてきたデータを、該記憶ブロックのデータとして該ファイルシステムに渡す仮想ストレージデバイス・ドライバとを備え、
前記サーバ装置は、
各前記記憶ブロックのデータに対応するデータを記憶する記憶手段と、
前記クライアントコンピュータから、前記リード要求を受信した際には、前記記憶手段から該リード要求に対応するデータを読み出して該クライアントコンピュータに送信するデータ管理手段とを備えることを特徴とする仮想ストレージデバイス・システム。A server device connected to the network,
Comprising a plurality or a single client computer communicably connected to the server device via the network,
The client computer is
Via a storage device driver, a file system that is provided so as to be able to read data recorded in storage blocks such as sectors and clusters of the storage device, and that associates files with storage blocks;
Installed as one of the storage device drivers handled by the file system, when a request to read data of a storage block is received from the file system, the server device stores data corresponding to the data of the storage block. A virtual storage device driver that transmits a read request to read the data, and transfers data transmitted from the server device in response to the read request to the file system as data of the storage block.
The server device,
Storage means for storing data corresponding to the data of each of the storage blocks;
A virtual storage device comprising: data management means for, when receiving the read request from the client computer, reading data corresponding to the read request from the storage means and transmitting the data to the client computer. system.
前記データ管理手段は、前記クライアントコンピュータから、前記ライト要求を受信した際には、該ライト要求と共に送信されてきたデータを前記記憶手段に書き込むことを特徴とする請求項1記載の仮想ストレージデバイス・システム。The file system is provided so as to be able to write data to a storage block of a storage device via a storage device driver, and the virtual storage device driver receives a request to write data to a storage block from the file system. Transmits, to the server device, a write request for writing data of the storage block and data of the storage block,
2. The virtual storage device according to claim 1, wherein the data management unit, upon receiving the write request from the client computer, writes data transmitted together with the write request into the storage unit. system.
前記記憶手段は、ハードディスクであることを特徴とする請求項1、2、3、4または5記載の仮想ストレージデバイス・システム。The server device is a general-purpose computer,
6. The virtual storage device system according to claim 1, wherein said storage means is a hard disk.
前記記憶手段は、ハードディスクであることを特徴とする請求項1、2、3、4または5記載の仮想ストレージデバイス・システム。The server device is a hard disk device,
6. The virtual storage device system according to claim 1, wherein said storage means is a hard disk.
ストレージデバイス・ドライバを介して、ストレージデバイスのセクタやクラスタ等の記憶ブロックに記録されたデータを読み出し可能に設けられ、ファイルと記憶ブロックとの対応付けを行うファイルシステムと、
該ファイルシステムによって扱われるストレージデバイス・ドライバの一つとしてインストールされ、該ファイルシステムから、記憶ブロックのデータを読み出す要求を受けた際には、前記サーバ装置に、該記憶ブロックのデータに対応するデータを読み出すリード要求を送信し、該リード要求に対応して該サーバ装置から送信されてきたデータを、該記憶ブロックのデータとして該ファイルシステムに渡す仮想ストレージデバイス・ドライバとを備えることを特徴とするクライアントコンピュータ。Connected communicably to the server device via the network,
Via a storage device driver, a file system that is provided so as to be able to read data recorded in storage blocks such as sectors and clusters of the storage device, and that associates files with storage blocks;
Installed as one of the storage device drivers handled by the file system, when a request to read data of a storage block is received from the file system, the server device stores data corresponding to the data of the storage block. A virtual storage device driver for transmitting a read request for reading the data, and transferring data transmitted from the server device in response to the read request to the file system as data of the storage block. Client computer.
前記ファイルシステムから、記憶ブロックのデータを読み出す要求を受けた際には、
前記サーバ装置に、前記記憶ブロックのデータに対応するデータを読み出すリード要求を送信するステップと、
前記リード要求に対応して前記サーバ装置から送信されてきたデータを、前記記憶ブロックのデータとして前記ファイルシステムに渡すステップとを、前記クライアントコンピュータに実行させることを特徴とする仮想ストレージデバイス・ドライバプログラム。It is communicably connected to a server device via a network, and is provided so as to be able to read data recorded in a storage block such as a sector or a cluster of the storage device via a storage device driver. A virtual storage device driver program read as one of the storage device drivers handled by the file system to a client computer having a file system for attaching
When a request to read data of a storage block is received from the file system,
Transmitting, to the server device, a read request to read data corresponding to the data in the storage block;
Transferring the data transmitted from the server device in response to the read request to the file system as the data of the storage block to the client computer. .
前記ファイルシステムから、記憶ブロックにデータを書き込む要求を受けた際には、前記サーバ装置に、該記憶ブロックのデータを書き込むライト要求と該記憶ブロックのデータとを送信するステップを、前記クライアントコンピュータに実行させることを特徴とする請求項12記載の仮想ストレージデバイス・ドライバプログラム。The file system is provided so as to be able to write data to a storage block of the storage device via a storage device driver,
When receiving a request to write data to a storage block from the file system, transmitting a write request to write the data of the storage block and the data of the storage block to the server device. 13. The virtual storage device driver program according to claim 12, which is executed.
ストレージデバイスのセクタやクラスタ等の記憶ブロックのデータに対応するデータを記憶する記憶手段と、
前記クライアントコンピュータから、記憶ブロックのデータに対応するデータを読み出すリード要求を受信した際には、前記記憶手段から該リード要求に対応するデータを読み出して該クライアントコンピュータに送信するデータ管理手段とを備えることを特徴とするサーバ装置。Communicatively connected to a plurality or a single client computer via a network,
Storage means for storing data corresponding to data of a storage block such as a sector or a cluster of a storage device;
A data management unit that reads, from the storage unit, data corresponding to the read request and transmits the read data to the client computer when a read request for reading data corresponding to data in a storage block is received from the client computer. A server device characterized by the above-mentioned.
前記記憶手段は、ハードディスクであることを特徴とする請求項16、17、18または19記載のサーバ装置。General purpose computer,
20. The server device according to claim 16, wherein the storage unit is a hard disk.
前記記憶手段は、ハードディスクであることを特徴とする請求項16、17、18または19記載のサーバ装置。A hard disk drive,
20. The server device according to claim 16, wherein the storage unit is a hard disk.
前記クライアントコンピュータから、記憶ブロックのデータに対応するデータを読み出すリード要求を受信した際には、前記記憶手段から該リード要求に対応するデータを読み出して該クライアントコンピュータに送信するステップを、前記サーバ装置に実行させることを特徴とするデータ管理プログラム。Data management that is read by a server device that is communicably connected to a plurality of or a single client computer via a network and has storage means for storing data corresponding to data of a storage block such as a sector or a cluster of a storage device. A program,
When receiving a read request for reading data corresponding to data in a storage block from the client computer, reading the data corresponding to the read request from the storage unit and transmitting the data to the client computer. A data management program characterized by being executed by a user.
前記記憶手段は、ハードディスクであることを特徴とする請求項22、23、24または25記載のデータ管理プログラム。The server device is a general-purpose computer,
26. The data management program according to claim 22, wherein the storage unit is a hard disk.
前記記憶手段は、ハードディスクであることを特徴とする請求項22、23、24または25記載のデータ管理プログラム。The server device is a hard disk device,
26. The data management program according to claim 22, wherein the storage unit is a hard disk.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002377556A JP2004206602A (en) | 2002-12-26 | 2002-12-26 | Virtual storage device system, client computer, virtual storage device driver program, server device, and data management program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002377556A JP2004206602A (en) | 2002-12-26 | 2002-12-26 | Virtual storage device system, client computer, virtual storage device driver program, server device, and data management program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004206602A true JP2004206602A (en) | 2004-07-22 |
Family
ID=32814702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002377556A Pending JP2004206602A (en) | 2002-12-26 | 2002-12-26 | Virtual storage device system, client computer, virtual storage device driver program, server device, and data management program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004206602A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007300378A (en) * | 2006-04-28 | 2007-11-15 | Brother Ind Ltd | Multifunction peripheral device |
JP2017010424A (en) * | 2015-06-25 | 2017-01-12 | 横河レンタ・リース株式会社 | Data management device, data management method and data management program |
CN112214778A (en) * | 2020-10-21 | 2021-01-12 | 上海英方软件股份有限公司 | Method and system for realizing discrete encryption of local file through virtual file |
-
2002
- 2002-12-26 JP JP2002377556A patent/JP2004206602A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007300378A (en) * | 2006-04-28 | 2007-11-15 | Brother Ind Ltd | Multifunction peripheral device |
JP2017010424A (en) * | 2015-06-25 | 2017-01-12 | 横河レンタ・リース株式会社 | Data management device, data management method and data management program |
CN112214778A (en) * | 2020-10-21 | 2021-01-12 | 上海英方软件股份有限公司 | Method and system for realizing discrete encryption of local file through virtual file |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7596695B2 (en) | Application-based data encryption system and method thereof | |
JP5602572B2 (en) | Storage device, data copying method, and storage system | |
US8422677B2 (en) | Storage virtualization apparatus comprising encryption functions | |
JP4782871B2 (en) | Device access control program, device access control method, and information processing apparatus | |
JP5496254B2 (en) | Converting a machine to a virtual machine | |
JP4931993B2 (en) | Method, system, and computer for data encryption in storage systems | |
JP6414863B2 (en) | Encryption and decryption method and apparatus and system in virtualization system | |
US9147081B2 (en) | Method of access control to stored information and system thereof | |
US10362030B2 (en) | Method and system for providing access to administrative functionality a virtualization environment | |
WO2017190084A1 (en) | Offloading storage encryption operations | |
JP2006510976A5 (en) | ||
CN1766851A (en) | Systems and methods for data storage management | |
JP4497993B2 (en) | Electronic distribution distribution control system and method | |
JP2005222123A (en) | Computer system, management device, storage device, and computer device | |
JP2009151401A (en) | Volume management method in storage apparatus having encryption feature | |
JP4855516B2 (en) | Access control program, access control device, and access control method | |
JP2011517205A (en) | Disk drive data encryption | |
JPWO2005001700A1 (en) | Storage capacity management method, server and recording medium | |
US11068606B2 (en) | Secured encrypted shared cloud storage | |
JP4285058B2 (en) | Network management program, management computer and management method | |
JP4127497B2 (en) | Digital service system | |
WO2018008123A1 (en) | Computer system | |
JP2009064055A (en) | Computer system and security management method | |
US20070283169A1 (en) | Method for controlling file access on computer systems | |
US8738935B1 (en) | Verified erasure of data implemented on distributed systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051024 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081021 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090331 |