(57)【要約】【課題】サーバ装置の記憶手段の記憶領域をクライアントコンピュータに提供することができる仮想ストレージデバイス・システムを提供する。【解決手段】クライアントコンピュータＣは、ファイルシステム１４から、記憶ブロックのデータを読み出す要求を受けた際には、サーバ装置Ｓに、該記憶ブロックの読み出し要求を送信し、該読み出し要求に対応して該サーバ装置Ｓから送信されてきたデータを、該記憶ブロックのデータとして該ファイルシステム１４に渡す仮想ストレージデバイス・ドライバ２８を備え、前記サーバ装置Ｓは、前記クライアントコンピュータＣから、前記記憶ブロックの読み出し要求を受信した際には、記憶手段４，６から該記憶ブロックのデータに対応するデータを読み出して該クライアントコンピュータＣに送信するデータ管理手段１０を備える。【選択図】          図１
2004206602.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続されたサーバ装置と、
前記ネットワークを介して前記サーバ装置と通信可能に接続された、複数または単数のクライアントコンピュータとを具備し、
該クライアントコンピュータは、
ストレージデバイス・ドライバを介して、ストレージデバイスのセクタやクラスタ等の記憶ブロックに記録されたデータを読み出し可能に設けられ、ファイルと記憶ブロックとの対応付けを行うファイルシステムと、
該ファイルシステムによって扱われるストレージデバイス・ドライバの一つとしてインストールされ、該ファイルシステムから、記憶ブロックのデータを読み出す要求を受けた際には、前記サーバ装置に、該記憶ブロックのデータに対応するデータを読み出すリード要求を送信し、該リード要求に対応して該サーバ装置から送信されてきたデータを、該記憶ブロックのデータとして該ファイルシステムに渡す仮想ストレージデバイス・ドライバとを備え、
前記サーバ装置は、
各前記記憶ブロックのデータに対応するデータを記憶する記憶手段と、
前記クライアントコンピュータから、前記リード要求を受信した際には、前記記憶手段から該リード要求に対応するデータを読み出して該クライアントコンピュータに送信するデータ管理手段とを備えることを特徴とする仮想ストレージデバイス・システム。
【請求項２】
前記ファイルシステムは、ストレージデバイス・ドライバを介してストレージデバイスの記憶ブロックにデータを書き込み可能に設けられ、前記仮想ストレージデバイス・ドライバは、前記ファイルシステムから、記憶ブロックにデータを書き込む要求を受けた際には、前記サーバ装置に、該記憶ブロックのデータを書き込むライト要求と該記憶ブロックのデータとを送信し、
前記データ管理手段は、前記クライアントコンピュータから、前記ライト要求を受信した際には、該ライト要求と共に送信されてきたデータを前記記憶手段に書き込むことを特徴とする請求項１記載の仮想ストレージデバイス・システム。
【請求項３】
前記ファイルシステムは、ストレージデバイス・ドライバとしての磁気ディスク・ドライバを介して、ストレージデバイスとしての磁気ディスクドライブの記憶ブロックにデータを読み書き可能な磁気ディスク用ファイルシステムであることを特徴とする請求項２記載の仮想ストレージデバイス・システム。
【請求項４】
前記仮想ストレージデバイス・ドライバは、前記ライト要求と共に前記サーバ装置に送信すべき、記憶ブロックのデータを、暗号化して、前記サーバ装置に送信することを特徴とする請求項２または３記載の仮想ストレージデバイス・システム。
【請求項５】
前記データ管理手段は、前記リード要求に対応して前記クライアントコンピュータに送信すべきデータを、暗号化して、前記クライアントコンピュータに送信することを特徴とする請求項１、２、３または４記載の仮想ストレージデバイス・システム。
【請求項６】
前記サーバ装置は、汎用コンピュータであり、
前記記憶手段は、ハードディスクであることを特徴とする請求項１、２、３、４または５記載の仮想ストレージデバイス・システム。
【請求項７】
前記サーバ装置は、ハードディスク装置であり、
前記記憶手段は、ハードディスクであることを特徴とする請求項１、２、３、４または５記載の仮想ストレージデバイス・システム。
【請求項８】
ネットワークを介してサーバ装置と通信可能に接続され、
ストレージデバイス・ドライバを介して、ストレージデバイスのセクタやクラスタ等の記憶ブロックに記録されたデータを読み出し可能に設けられ、ファイルと記憶ブロックとの対応付けを行うファイルシステムと、
該ファイルシステムによって扱われるストレージデバイス・ドライバの一つとしてインストールされ、該ファイルシステムから、記憶ブロックのデータを読み出す要求を受けた際には、前記サーバ装置に、該記憶ブロックのデータに対応するデータを読み出すリード要求を送信し、該リード要求に対応して該サーバ装置から送信されてきたデータを、該記憶ブロックのデータとして該ファイルシステムに渡す仮想ストレージデバイス・ドライバとを備えることを特徴とするクライアントコンピュータ。
【請求項９】
前記ファイルシステムは、ストレージデバイス・ドライバを介してストレージデバイスの記憶ブロックにデータを書き込み可能に設けられ、前記仮想ストレージデバイス・ドライバは、前記ファイルシステムから、記憶ブロックにデータを書き込む要求を受けた際には、前記サーバ装置に、該記憶ブロックのデータを書き込むライト要求と該記憶ブロックのデータとを送信することを特徴とする請求項８記載のクライアントコンピュータ。
【請求項１０】
前記ファイルシステムは、ストレージデバイス・ドライバとしての磁気ディスク・ドライバを介して、ストレージデバイスとしての磁気ディスクドライブの記憶ブロックにデータを読み書き可能な磁気ディスク用ファイルシステムであることを特徴とする請求項９記載のクライアントコンピュータ。
【請求項１１】
前記仮想ストレージデバイス・ドライバは、前記ライト要求と共に前記サーバ装置に送信すべき、記憶ブロックのデータを、暗号化して、前記サーバ装置に送信することを特徴とする請求項９または１０記載のクライアントコンピュータ。
【請求項１２】
ネットワークを介してサーバ装置と通信可能に接続され、ストレージデバイス・ドライバを介して、ストレージデバイスのセクタやクラスタ等の記憶ブロックに記録されたデータを読み出し可能に設けられ、ファイルと記憶ブロックとの対応付けを行うファイルシステムを備えたクライアントコンピュータに、該ファイルシステムによって扱われるストレージデバイス・ドライバの一つとして読み取られる仮想ストレージデバイス・ドライバプログラムであって、
前記ファイルシステムから、記憶ブロックのデータを読み出す要求を受けた際には、
前記サーバ装置に、前記記憶ブロックのデータに対応するデータを読み出すリード要求を送信するステップと、
前記リード要求に対応して前記サーバ装置から送信されてきたデータを、前記記憶ブロックのデータとして前記ファイルシステムに渡すステップとを、前記クライアントコンピュータに実行させることを特徴とする仮想ストレージデバイス・ドライバプログラム。
【請求項１３】
前記ファイルシステムは、ストレージデバイス・ドライバを介してストレージデバイスの記憶ブロックにデータを書き込み可能に設けられ、
前記ファイルシステムから、記憶ブロックにデータを書き込む要求を受けた際には、前記サーバ装置に、該記憶ブロックのデータを書き込むライト要求と該記憶ブロックのデータとを送信するステップを、前記クライアントコンピュータに実行させることを特徴とする請求項１２記載の仮想ストレージデバイス・ドライバプログラム。
【請求項１４】
前記ファイルシステムは、ストレージデバイス・ドライバとしての磁気ディスク・ドライバを介して、ストレージデバイスとしての磁気ディスクドライブの記憶ブロックにデータを読み書き可能な磁気ディスク用ファイルシステムであることを特徴とする請求項１３記載の仮想ストレージデバイス・ドライバプログラム。
【請求項１５】
前記ライト要求と共に前記サーバ装置に送信すべき、記憶ブロックのデータを、暗号化するステップを、前記クライアントコンピュータに実行させることを特徴とする請求項１３または１４記載の仮想ストレージデバイス・ドライバプログラム。
【請求項１６】
ネットワークを介して、複数または単数のクライアントコンピュータと通信可能に接続され、
ストレージデバイスのセクタやクラスタ等の記憶ブロックのデータに対応するデータを記憶する記憶手段と、
前記クライアントコンピュータから、記憶ブロックのデータに対応するデータを読み出すリード要求を受信した際には、前記記憶手段から該リード要求に対応するデータを読み出して該クライアントコンピュータに送信するデータ管理手段とを備えることを特徴とするサーバ装置。
【請求項１７】
前記データ管理手段は、前記クライアントコンピュータから、記憶ブロックのデータを書き込むライト要求を受信した際には、該ライト要求と共に送信されてきたデータを前記記憶手段に書き込むことを特徴とする請求項１６記載のサーバ装置。
【請求項１８】
前記記憶ブロックは、磁気ディスクのセクタやクラスタ等の記憶ブロックであることを特徴とする請求項１６または１７記載のサーバ装置。
【請求項１９】
前記データ管理手段は、前記リード要求に対応して前記クライアントコンピュータに送信すべきデータを、暗号化して、前記クライアントコンピュータに送信することを特徴とする請求項１６、１７または１８記載のサーバ装置。
【請求項２０】
汎用コンピュータであり、
前記記憶手段は、ハードディスクであることを特徴とする請求項１６、１７、１８または１９記載のサーバ装置。
【請求項２１】
ハードディスク装置であり、
前記記憶手段は、ハードディスクであることを特徴とする請求項１６、１７、１８または１９記載のサーバ装置。
【請求項２２】
ネットワークを介して、複数または単数のクライアントコンピュータと通信可能に接続され、ストレージデバイスのセクタやクラスタ等の記憶ブロックのデータに対応するデータを記憶する記憶手段を備えたサーバ装置に、読み取られるデータ管理プログラムであって、
前記クライアントコンピュータから、記憶ブロックのデータに対応するデータを読み出すリード要求を受信した際には、前記記憶手段から該リード要求に対応するデータを読み出して該クライアントコンピュータに送信するステップを、前記サーバ装置に実行させることを特徴とするデータ管理プログラム。
【請求項２３】
前記クライアントコンピュータから、記憶ブロックのデータを書き込むライト要求を受信した際には、該ライト要求と共に送信されてきたデータを前記記憶手段に書き込むステップを、前記サーバ装置に実行させることを特徴とする請求項２２記載のデータ管理プログラム。
【請求項２４】
前記記憶ブロックは、磁気ディスクのセクタやクラスタ等の記憶ブロックであることを特徴とする請求項２２または２３記載のデータ管理プログラム。
【請求項２５】
前記リード要求に対応して前記クライアントコンピュータに送信すべきデータを、暗号化するステップを、前記サーバ装置に実行させることを特徴とする請求項２２、２３または２４記載のデータ管理プログラム。
【請求項２６】
前記サーバ装置は、汎用コンピュータであり、
前記記憶手段は、ハードディスクであることを特徴とする請求項２２、２３、２４または２５記載のデータ管理プログラム。
【請求項２７】
前記サーバ装置は、ハードディスク装置であり、
前記記憶手段は、ハードディスクであることを特徴とする請求項２２、２３、２４または２５記載のデータ管理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、サーバ装置の記憶手段の記憶領域を、ネットワークを介してクライアントコンピュータに提供するための仮想ストレージデバイス・システム、および、それに用いられる、クライアントコンピュータ、仮想ストレージデバイス・ドライバプログラム、サーバ装置、ならびにデータ管理プログラムに関する。
【０００２】
【従来の技術】
従来、ネットワークに接続されたサーバコンピュータに接続された記憶手段の記憶領域を、前記ネットワークを介して複数または単数のクライアントコンピュータに提供するクライアントサーバシステムとしては、特許文献１に開示されたネットワークシステムがある。
【０００３】
特許文献１に開示されたネットワークシステムのように、サーバコンピュータの記憶手段（サーバコンピュータに内蔵された記憶手段も、サーバコンピュータに接続された記憶手段も含む。以下同じ）の記憶領域を、クライアントコンピュータに提供する方法としては、一般的に、サーバコンピュータおよびクライアントコンピュータのそれぞれのＯＳが備えるネットワーク共有機能を用いる方法が普及している。
【０００４】
図８に、サーバコンピュータＳＢのハードディスク７４の記憶領域を、クライアントコンピュータＣＢ，ＣＢ・・に、それぞれのコンピュータのＯＳ７１，８２のネットワーク共有機能を用いて提供するクライアントサーバシステムＢの説明図を示す。図８に示すシステムＢは、ネットワークＮを介して互いに通信可能に接続されたサーバコンピュータＳＢと複数のクライアントコンピュータＣＢ，ＣＢ・・とを具備する。なお、図８においては、クライアントコンピュータＣＢの内部構成は、一台のみ図示されているが、他のクライアントコンピュータＣＢ，ＣＢ・・も、同様の内部構成をもつ。
【０００５】
各クライアントコンピュータＣＢは、例えばＷｉｎｄｏｗｓ（Ｒ）やＵＮＩＸ（Ｒ）等の、汎用ＯＳ８２と、ストレージデバイスとしての磁気ディスクドライブである、単数または複数のハードディスク８８およびフロッピー（Ｒ）ディスクドライブ９２と、ハードディスク８８およびフロッピー（Ｒ）ディスクドライブ９２の、ストレージデバイス・ドライバ（磁気ディスク・ドライバ）としてインストールされたハードディスク・ドライバ８６およびフロッピー（Ｒ）ディスク・ドライバ９０と、ハードディスク・ドライバ８６およびフロッピー（Ｒ）ディスク・ドライバ９０を介してハードディスク８８、およびフロッピー（Ｒ）ディスクドライブ９２のフロッピー（Ｒ）ディスクのセクタやクラスタ等の記憶ブロックにデータを読み書き可能に設けられ、ファイルと記憶ブロックとの対応付けを行うファイルシステム８４（例えばＦＡＴ等）と、ネットワークＮを介してデータの送受信が可能な通信部９４とを備える。
【０００６】
サーバコンピュータＳＢは、例えばＷｉｎｄｏｗｓ（Ｒ）やＵＮＩＸ（Ｒ）等の、汎用ＯＳ７１と、記憶手段としての、単数または複数のハードディスク７４，７４およびフロッピー（Ｒ）ディスクドライブ７６と、ネットワークＮを介してデータの送受信が可能な通信部７８とを備える。
なお、サーバコンピュータＳＢも、クライアントコンピュータＣＢと同様、ハードディスク７４，７４およびフロッピー（Ｒ）ディスクドライブ７６のドライバや、ファイルシステムを備えるが、図８上では省略している。
【０００７】
図８に示す従来のシステムＢにおいては、サーバコンピュータＳＢのハードディスク７４，７４の記憶領域を、クライアントコンピュータＣＢが使用する場合には、サーバコンピュータＳＢのＯＳ７１のネットワーク共有機能を用いて、ハードディスク７４上の記憶領域（例えばフォルダ）を、共有領域（例えば共有フォルダ）として設定する。すると、サーバコンピュータＳＢのＯＳ７１が備えるネットワーク共有プロトコル７１ａ、およびクライアントコンピュータＣＢのＯＳ８２が備えるネットワーク共有プロトコル８２ａを介して、クライアントコンピュータＣＢのＯＳ８２やＯＳ８２上で実行されるアプリケーション９６，９６・・は、サーバコンピュータＳＢのハードディスク７４の記憶領域を使用可能となる。
【０００８】
【特許文献１】
特開２０００−１４８５７１号公報（第１−３図）
【０００９】
【発明が解決しようとする課題】
図８に示す従来のクライアントサーバシステムＢにおいて、クライアントコンピュータＣＢ，ＣＢ・・は、サーバコンピュータＳＢのネットワーク共有プロトコル７１ａに対応した、ネットワーク共有プロトコル８２ａを搭載する必要がある。
例えば、サーバコンピュータＳＢのＯＳ７１としてＷｉｎｄｏｗｓ（Ｒ）を採用した場合には、ネットワーク共有プロトコルとしてはＳＭＢ（Ｓｅｒｖｅｒ  Ｍｅｓｓａｇｅ  Ｂｌｏｃｋ）が使用される。この場合、クライアントコンピュータＣＢは、サーバコンピュータＳＢとネットワーク共有を行うためには、ＳＭＢに対応したネットワーク共有プロトコル８２ａを搭載する必要が生じる。ＳＭＢに対応したネットワーク共有プロトコル８２ａを搭載するためには、クライアントコンピュータＣＢのＯＳ８２として、ＳＭＢが実装されたＷｉｎｄｏｗｓ（Ｒ）や、ＳＭＢを提供するソフトウェアであるＳａｍｂａをインストール可能なＵＮＩＸ（Ｒ）を採用すればよい。
【００１０】
しかしながら、クライアントサーバシステムにおいて、クライアントコンピュータＣＢ毎に異なる、多種類のＯＳ８２が採用される場合が少なくなく、必ずしも全てのクライアントコンピュータＣＢのＯＳ８２として、Ｗｉｎｄｏｗｓ（Ｒ）やＵＮＩＸ（Ｒ）等、サーバコンピュータＳＢのネットワーク共有プロトコル７１ａに対応したネットワーク共有プロトコル８２ａが搭載された（または搭載可能な）ＯＳが採用されるとは限らない。
【００１１】
クライアントコンピュータＣＢのＯＳ８２として、サーバコンピュータＳＢのネットワーク共有プロトコル７１ａに対応したネットワーク共有プロトコル８２ａが搭載された（または搭載可能な）ＯＳを採用しない場合、サーバコンピュータＳＢのネットワーク共有プロトコル７１ａに対応した、クライアントコンピュータＣＢのＯＳ８２用のネットワーク共有プロトコル８２ａを実現するプログラムを、新規に開発する必要が生じる。
【００１２】
しかし、Ｗｉｎｄｏｗｓ（Ｒ）等の一般に普及した汎用ＯＳのネットワーク共有プロトコルは、非常に複雑であり、また、その内容が公開されていない場合があり、それに対応したネットワーク共有プロトコルを実現するプログラムを新規に開発するのは、非常に手間が掛かり、困難であるという課題がある。
【００１３】
また、従来の、ネットワーク共有プロトコル８２ａを備えたＯＳ８２は、ハードディスク８８等のストレージデバイスに記録されたファイルは、ファイルシステム８４を介して扱い、一方、ネットワークＮに接続された他のコンピュータ上に記録されたファイルは、ネットワーク共有プロトコル８２ａを介して扱っている。従って、ＯＳ８２は、ファイル毎に、ストレージデバイス上のファイルか、ネットワーク上のファイルかを管理する必要があり、ＯＳ８２のファイル管理処理が煩雑となっている。特に近年は、各ファイルが、ストレージデバイス上のファイルか、ネットワーク上のファイルかを、アプリケーション９６が意識しなくても良いように、アプリケーション９６が両ファイルを同様に扱えるようにする要求が高まっているため、ＯＳ８２は、全く異なる保存対象に保存されたファイルを同等に扱えるようにアプリケーション９６に対して提供する必要が生じ、ＯＳ８２の処理負荷が重くなっているという課題がある。
【００１４】
本発明は上記課題を解決すべくなされ、その目的とするところは、サーバ装置の記憶手段の記憶領域をクライアントコンピュータに提供することができるシステムであって、単純な構成で、サーバ装置のＯＳやネットワーク共有プロトコルに依存せずに、なおかつ、クライアントコンピュータのＯＳのファイル管理処理の負荷を軽減することができる、仮想ストレージデバイス・システム、および、それに用いられる、クライアントコンピュータ、仮想ストレージデバイス・ドライバプログラム、サーバ装置、ならびにデータ管理プログラムを提供することにある。
【００１５】
【課題を解決するための手段】
本発明に係る仮想ストレージデバイス・システムは、上記課題を解決するために、以下の構成を備える。すなわち、ネットワークに接続されたサーバ装置と、前記ネットワークを介して前記サーバ装置と通信可能に接続された、複数または単数のクライアントコンピュータとを具備し、該クライアントコンピュータは、ストレージデバイス・ドライバを介して、ストレージデバイスのセクタやクラスタ等の記憶ブロックに記録されたデータを読み出し可能に設けられ、ファイルと記憶ブロックとの対応付けを行うファイルシステムと、該ファイルシステムによって扱われるストレージデバイス・ドライバの一つとしてインストールされ、該ファイルシステムから、記憶ブロックのデータを読み出す要求を受けた際には、前記サーバ装置に、該記憶ブロックのデータに対応するデータを読み出すリード要求を送信し、該リード要求に対応して該サーバ装置から送信されてきたデータを、該記憶ブロックのデータとして該ファイルシステムに渡す仮想ストレージデバイス・ドライバとを備え、前記サーバ装置は、各前記記憶ブロックのデータに対応するデータを記憶する記憶手段と、前記クライアントコンピュータから、前記リード要求を受信した際には、前記記憶手段から該リード要求に対応するデータを読み出して該クライアントコンピュータに送信するデータ管理手段とを備えることを特徴とする。
これによれば、クライアントコンピュータとサーバ装置との間のデータのやり取りは、仮想ストレージドライバ・プログラムとデータ管理手段との間の、リード要求およびリード要求に対応するデータのみとなり、簡単な構成の仮想ストレージドライバ・プログラムおよびデータ管理手段によって、なおかつＯＳやネットワーク共有プロトコルに依存せずに、サーバ装置の記憶手段の記憶領域をクライアントコンピュータが利用できる。また、クライアントコンピュータのＯＳは、サーバ装置の記憶手段にアクセスするときに、ファイルシステムにアクセスすればよいので、サーバ装置の記憶手段にアクセスすることを意識する必要がない。
【００１６】
さらに、前記ファイルシステムは、ストレージデバイス・ドライバを介してストレージデバイスの記憶ブロックにデータを書き込み可能に設けられ、前記仮想ストレージデバイス・ドライバは、前記ファイルシステムから、記憶ブロックにデータを書き込む要求を受けた際には、前記サーバ装置に、該記憶ブロックのデータを書き込むライト要求と該記憶ブロックのデータとを送信し、前記データ管理手段は、前記クライアントコンピュータから、前記ライト要求を受信した際には、該ライト要求と共に送信されてきたデータを前記記憶手段に書き込むことを特徴とする。
これによれば、クライアントコンピュータからサーバ装置の記憶手段への書き込みも可能となる。また、サーバ装置の記憶手段を、クライアントコンピュータのハードディスク等の読み書き可能なストレージデバイスとして使用することができるため、クライアントコンピュータは、ハードディスク等のストレージデバイスを備えていなくても動作することが可能となる。
【００１７】
さらに、前記ファイルシステムは、ストレージデバイス・ドライバとしての磁気ディスク・ドライバを介して、ストレージデバイスとしての磁気ディスクドライブの記憶ブロックにデータを読み書き可能な磁気ディスク用ファイルシステムであることを特徴とする。
これによれば、クライアントコンピュータは、ＦＡＴ等の磁気ディスク用ファイルシステムを介して、仮想ストレージデバイス・ドライバを扱うことができ、サーバ装置の記憶手段を、クライアントコンピュータの磁気ディスクドライブとして使用することができる。
【００１８】
また、前記仮想ストレージデバイス・ドライバは、前記ライト要求と共に前記サーバ装置に送信すべき、記憶ブロックのデータを、暗号化して、前記サーバ装置に送信することを特徴とする。
また、前記データ管理手段は、前記リード要求に対応して前記クライアントコンピュータに送信すべきデータを、暗号化して、前記クライアントコンピュータに送信することを特徴とする。
これによれば、通信されるデータの内容を第三者に知られるのを防ぐことができる。
【００１９】
また、前記サーバ装置は、汎用コンピュータであり、前記記憶手段は、ハードディスクであることを特徴とする。
これによれば、サーバ装置としてのサーバコンピュータのハードディスクを、クライアントコンピュータが使用することができる。
【００２０】
また、前記サーバ装置は、ハードディスク装置であり、前記記憶手段は、ハードディスクであることを特徴とする。
これによれば、サーバ装置としてのハードディスク装置のハードディスクを、クライアントコンピュータが使用することができる。
【００２１】
また、本発明に係るクライアントコンピュータは、上記課題を解決するために、以下の構成を備える。すなわち、ネットワークを介してサーバ装置と通信可能に接続され、ストレージデバイス・ドライバを介して、ストレージデバイスのセクタやクラスタ等の記憶ブロックに記録されたデータを読み出し可能に設けられ、ファイルと記憶ブロックとの対応付けを行うファイルシステムと、該ファイルシステムによって扱われるストレージデバイス・ドライバの一つとしてインストールされ、該ファイルシステムから、記憶ブロックのデータを読み出す要求を受けた際には、前記サーバ装置に、該記憶ブロックのデータに対応するデータを読み出すリード要求を送信し、該リード要求に対応して該サーバ装置から送信されてきたデータを、該記憶ブロックのデータとして該ファイルシステムに渡す仮想ストレージデバイス・ドライバとを備えることを特徴とする。
これによれば、簡単な構成の仮想ストレージドライバ・プログラムによって、なおかつＯＳやネットワーク共有プロトコルに依存せずに、サーバ装置からデータを読み出すことのできるクライアントコンピュータを構成できる。また、クライアントコンピュータのＯＳは、サーバ装置の記憶手段にアクセスするときに、ファイルシステムにアクセスすればよいので、サーバ装置の記憶手段にアクセスすることを意識する必要がない。
【００２２】
また、前記ファイルシステムは、ストレージデバイス・ドライバを介してストレージデバイスの記憶ブロックにデータを書き込み可能に設けられ、前記仮想ストレージデバイス・ドライバは、前記ファイルシステムから、記憶ブロックにデータを書き込む要求を受けた際には、前記サーバ装置に、該記憶ブロックのデータを書き込むライト要求と該記憶ブロックのデータとを送信することを特徴とする。
これによれば、クライアントコンピュータからサーバ装置へのデータの書き込みも可能となる。また、サーバ装置の記憶手段を、クライアントコンピュータのハードディスク等の読み書き可能なストレージデバイスとして使用することができるため、クライアントコンピュータは、ハードディスク等のストレージデバイスを備えていなくても動作することが可能となる。
【００２３】
また、前記ファイルシステムは、ストレージデバイス・ドライバとしての磁気ディスク・ドライバを介して、ストレージデバイスとしての磁気ディスクドライブの記憶ブロックにデータを読み書き可能な磁気ディスク用ファイルシステムであることを特徴とする。
これによれば、クライアントコンピュータは、ＦＡＴ等の磁気ディスク用ファイルシステムを介して、仮想ストレージデバイス・ドライバを扱うことができ、サーバ装置の記憶手段を、クライアントコンピュータの磁気ディスクドライブとして使用することができる。
【００２４】
また、前記仮想ストレージデバイス・ドライバは、前記ライト要求と共に前記サーバ装置に送信すべき、記憶ブロックのデータを、暗号化して、前記サーバ装置に送信することを特徴とする。
これによれば、通信されるデータの内容を第三者に知られるのを防ぐことができる。
【００２５】
また、本発明に係る仮想ストレージデバイス・ドライバプログラムは、上記課題を解決するために、以下の構成を備える。すなわち、ネットワークを介してサーバ装置と通信可能に接続され、ストレージデバイス・ドライバを介して、ストレージデバイスのセクタやクラスタ等の記憶ブロックに記録されたデータを読み出し可能に設けられ、ファイルと記憶ブロックとの対応付けを行うファイルシステムを備えたクライアントコンピュータに、該ファイルシステムによって扱われるストレージデバイス・ドライバの一つとして読み取られる仮想ストレージデバイス・ドライバプログラムであって、前記ファイルシステムから、記憶ブロックのデータを読み出す要求を受けた際には、前記サーバ装置に、前記記憶ブロックのデータに対応するデータを読み出すリード要求を送信するステップと、前記リード要求に対応して前記サーバ装置から送信されてきたデータを、前記記憶ブロックのデータとして前記ファイルシステムに渡すステップとを、前記クライアントコンピュータに実行させることを特徴とする。
これによれば、簡単な構成の仮想ストレージドライバ・プログラムによって、なおかつＯＳやネットワーク共有プロトコルに依存せずに、サーバ装置からデータを読み出すことのできるクライアントコンピュータを構成できる。また、クライアントコンピュータのＯＳは、サーバ装置の記憶手段にアクセスするときに、ファイルシステムにアクセスすればよいので、サーバ装置の記憶手段にアクセスすることを意識する必要がない。
【００２６】
また、前記ファイルシステムは、ストレージデバイス・ドライバを介してストレージデバイスの記憶ブロックにデータを書き込み可能に設けられ、前記ファイルシステムから、記憶ブロックにデータを書き込む要求を受けた際には、前記サーバ装置に、該記憶ブロックのデータを書き込むライト要求と該記憶ブロックのデータとを送信するステップを、前記クライアントコンピュータに実行させることを特徴とする。
これによれば、クライアントコンピュータからサーバ装置へのデータの書き込みも可能となる。また、サーバ装置の記憶手段を、クライアントコンピュータのハードディスク等の読み書き可能なストレージデバイスとして使用することができるため、クライアントコンピュータは、ハードディスク等のストレージデバイスを備えていなくても動作することが可能となる。
【００２７】
また、前記ファイルシステムは、ストレージデバイス・ドライバとしての磁気ディスク・ドライバを介して、ストレージデバイスとしての磁気ディスクドライブの記憶ブロックにデータを読み書き可能な磁気ディスク用ファイルシステムであることを特徴とする。
これによれば、クライアントコンピュータは、ＦＡＴ等の磁気ディスク用ファイルシステムを介して、仮想ストレージデバイス・ドライバを扱うことができ、サーバ装置の記憶手段を、クライアントコンピュータの磁気ディスクドライブとして使用することができる。
【００２８】
また、前記ライト要求と共に前記サーバ装置に送信すべき、記憶ブロックのデータを、暗号化するステップを、前記クライアントコンピュータに実行させることを特徴とする。
これによれば、通信されるデータの内容を第三者に知られるのを防ぐことができる。
【００２９】
また、本発明に係るサーバ装置は、上記課題を解決するために、以下の構成を備える。すなわち、ネットワークを介して、複数または単数のクライアントコンピュータと通信可能に接続され、ストレージデバイスのセクタやクラスタ等の記憶ブロックのデータに対応するデータを記憶する記憶手段と、前記クライアントコンピュータから、記憶ブロックのデータに対応するデータを読み出すリード要求を受信した際には、前記記憶手段から該リード要求に対応するデータを読み出して該クライアントコンピュータに送信するデータ管理手段とを備えることを特徴とする。
これによれば、クライアントコンピュータとサーバ装置との間のデータのやり取りは、仮想ストレージドライバ・プログラムとデータ管理手段との間の、リード要求およびリード要求に対応するデータのみとなり、簡単な構成のデータ管理手段によって、なおかつＯＳやネットワーク共有プロトコルに依存せずに、サーバ装置の記憶手段の記憶領域をクライアントコンピュータが利用できる。
【００３０】
また、前記データ管理手段は、前記クライアントコンピュータから、記憶ブロックのデータを書き込むライト要求を受信した際には、該ライト要求と共に送信されてきたデータを前記記憶手段に書き込むことを特徴とする。
これによれば、クライアントコンピュータからサーバ装置の記憶手段への書き込みも可能となる。
【００３１】
また、前記記憶ブロックは、磁気ディスクのセクタやクラスタ等の記憶ブロックであることを特徴とする。
これによれば、クライアントコンピュータは、ＦＡＴ等の磁気ディスク用ファイルシステムを介して、仮想ストレージデバイス・ドライバを扱うことができ、サーバ装置の記憶手段を、クライアントコンピュータの磁気ディスクドライブとして使用することができる。
【００３２】
また、前記データ管理手段は、前記リード要求に対応して前記クライアントコンピュータに送信すべきデータを、暗号化して、前記クライアントコンピュータに送信することを特徴とする。
これによれば、通信されるデータの内容を第三者に知られるのを防ぐことができる。
【００３３】
また、汎用コンピュータであり、前記記憶手段は、ハードディスクであることを特徴とする。
これによれば、サーバ装置としてのサーバコンピュータのハードディスクを、クライアントコンピュータが使用することができる。
【００３４】
また、ハードディスク装置であり、前記記憶手段は、ハードディスクであることを特徴とする。
これによれば、サーバ装置としてのハードディスク装置のハードディスクを、クライアントコンピュータが使用することができる。
【００３５】
また、本発明に係るデータ管理プログラムは、上記課題を解決するために、以下の構成を備える。すなわち、ネットワークを介して、複数または単数のクライアントコンピュータと通信可能に接続され、ストレージデバイスのセクタやクラスタ等の記憶ブロックのデータに対応するデータを記憶する記憶手段を備えたサーバ装置に、読み取られるデータ管理プログラムであって、前記クライアントコンピュータから、記憶ブロックのデータに対応するデータを読み出すリード要求を受信した際には、前記記憶手段から該リード要求に対応するデータを読み出して該クライアントコンピュータに送信するステップを、前記サーバ装置に実行させることを特徴とする。
これによれば、クライアントコンピュータとサーバ装置との間のデータのやり取りは、仮想ストレージドライバ・プログラムとデータ管理手段との間の、リード要求およびリード要求に対応するデータのみとなり、簡単な構成のデータ管理手段によって、なおかつＯＳやネットワーク共有プロトコルに依存せずに、サーバ装置の記憶手段の記憶領域をクライアントコンピュータが利用できる。
【００３６】
また、前記クライアントコンピュータから、記憶ブロックのデータを書き込むライト要求を受信した際には、該ライト要求と共に送信されてきたデータを前記記憶手段に書き込むステップを、前記サーバ装置に実行させることを特徴とする。
これによれば、クライアントコンピュータからサーバ装置の記憶手段への書き込みも可能となる。
【００３７】
また、前記記憶ブロックは、磁気ディスクのセクタやクラスタ等の記憶ブロックであることを特徴とする。
これによれば、クライアントコンピュータは、ＦＡＴ等の磁気ディスク用ファイルシステムを介して、仮想ストレージデバイス・ドライバを扱うことができ、サーバ装置の記憶手段を、クライアントコンピュータの磁気ディスクドライブとして使用することができる。
【００３８】
また、前記リード要求に対応して前記クライアントコンピュータに送信すべきデータを、暗号化するステップを、前記サーバ装置に実行させることを特徴とする。
これによれば、通信されるデータの内容を第三者に知られるのを防ぐことができる。
【００３９】
また、前記サーバ装置は、汎用コンピュータであり、前記記憶手段は、ハードディスクであることを特徴とする。
これによれば、サーバ装置としてのサーバコンピュータのハードディスクを、クライアントコンピュータが使用することができる。
【００４０】
また、前記サーバ装置は、ハードディスク装置であり、前記記憶手段は、ハードディスクであることを特徴とする。
これによれば、サーバ装置としてのハードディスク装置のハードディスクを、クライアントコンピュータが使用することができる。
【００４１】
【発明の実施の形態】
以下、本発明に係る仮想ストレージデバイス・システム、クライアントコンピュータ、仮想ストレージデバイス・ドライバプログラム、サーバ装置、およびデータ管理プログラムの好適な実施の形態を添付図面に基づいて詳細に説明する。
【００４２】
図１に、本実施の形態に係る仮想ストレージデバイス・システムＡ１の説明図を示す。仮想ストレージデバイス・システムＡ１は、ネットワークＮを介して互いに通信可能に接続されたサーバ装置としてのサーバコンピュータＳと複数のクライアントコンピュータＣ，Ｃ・・とを具備する。
【００４３】
（クライアントコンピュータＣ）
各クライアントコンピュータＣは、パソコン等の汎用コンピュータで構成できる。各クライアントコンピュータＣは、ＯＳ１２と、ストレージデバイスとしての磁気ディスクドライブである、単数または複数のハードディスク１８およびフロッピー（Ｒ）ディスクドライブ２２と、ハードディスク１８およびフロッピー（Ｒ）ディスクドライブ２２の、ストレージデバイス・ドライバ（磁気ディスク・ドライバ）としてインストールされたハードディスク・ドライバ１６およびフロッピー（Ｒ）ディスク・ドライバ２０と、ハードディスク・ドライバ１６およびフロッピー（Ｒ）ディスク・ドライバ２０を介してハードディスク１８、およびフロッピー（Ｒ）ディスクドライブ２２内のフロッピー（Ｒ）ディスクのセクタやクラスタ等の記憶ブロックにデータを読み書き可能に設けられ、ファイルと記憶ブロックとの対応付けを行う磁気ディスク用ファイルシステム１４と、ネットワークＮを介してデータの送受信が可能な通信部２４とを備える。
【００４４】
クライアントコンピュータＣのＯＳ１２上では、複数のアプリケーション２６を実行することができる。
なお、ＯＳ１２は、Ｗｉｎｄｏｗｓ（Ｒ）やＵＮＩＸ（Ｒ）等の汎用ＯＳに限らず、ファイルシステム１４を操作可能なものであれば、どのようなＯＳであってもよく、例えばユーザーの自作ＯＳであってもよい。
【００４５】
通信部２４は、ＴＣＰ／ＩＰプロトコルに準じて、インターネットやＬＡＮ等のネットワークＮを介して、サーバコンピュータＳ等の他の機器とデータの送受を行うことができる、一般的なネットワークカード等によって実現することができる。
【００４６】
磁気ディスク用ファイルシステム１４は、アプリケーション２６やＯＳ１２等が扱うファイルと、ハードディスク１８およびフロッピー（Ｒ）ディスクドライブ２２内のフロッピー（Ｒ）ディスクのセクタやクラスタ等の記憶ブロックとの対応付けを行うソフトウェアである。言い換えると、ファイルシステム１４は、各ファイルが、ハードディスク１８、およびフロッピー（Ｒ）ディスクの、どの記憶ブロックに記憶されているかを管理するソフトウェアである。なお、一つのファイルが、ストレージデバイスの連続するまたは連続しない複数の記憶ブロックにまたがって記憶されている場合が多いが、ファイルシステム１４は、ファイルと、それら複数の記憶ブロックとを、対応付けして管理することができる。
ファイルシステム１４により、アプリケーション２６やＯＳ１２は、ファイルがストレージデバイスのどこの記憶ブロックに記憶されているかを意識することなく、ファイルを扱うことができる。
【００４７】
ファイルシステム１４は、ＯＳ１２からファイルの読み出しの要求を受けると、ハードディスク１８やフロッピー（Ｒ）ディスク上の、そのファイルに対応する複数または単数の記憶ブロックを特定して、その記憶ブロックのデータを読み出す要求（例えばリードセクタ命令）を、ハードディスク・ドライバ１６やフロッピー（Ｒ）ディスク・ドライバ２０に行うことで、その複数または単数の記憶ブロックのデータの読み出しを行い、その記憶ブロックのデータを、ファイルとして構成して、ＯＳ１２に渡す。
また、ファイルシステム１４は、ＯＳ１２からファイルを書き込む要求を受けると、ＯＳ１２から渡されたファイルのデータを、複数または単数の記憶ブロックに書き込まれる単位のデータに分割し、ハードディスク１８やフロッピー（Ｒ）ディスクに書き込む。この書き込みは、ハードディスク・ドライバ１６やフロッピー（Ｒ）ディスク・ドライバ２０に対して、ハードディスク１８やフロッピー（Ｒ）ディスク上の特定の記憶ブロックを指定して、その記憶ブロックにデータを書き込む要求（例えばライトセクタ命令）を行うと共に、分割した各前記データを渡すことで行われる。
【００４８】
ファイルシステム１４が、ストレージデバイス・ドライバに対して、読み書きを行うストレージデバイス上の特定の記憶ブロックを指定することは、各記憶ブロックに一意に割り振られた記憶ブロック番号（セクタ番号やクラスタ番号）を指定することによって行う。
【００４９】
ハードディスク・ドライバ１６やフロッピー（Ｒ）ディスク・ドライバ２０は、ハードディスク１８やフロッピー（Ｒ）ディスクドライブ２２の読み書きの制御等を行うソフトウェアとしてインストールされる。ハードディスク・ドライバ１６やフロッピー（Ｒ）ディスク・ドライバ２０の例としては、ＩＤＥコントローラが挙げられる。
【００５０】
ハードディスク・ドライバ１６やフロッピー（Ｒ）ディスク・ドライバ２０は、ファイルシステム１４から、記憶ブロックのデータを読み出す前記要求を受けると、ハードディスク１８や、フロッピー（Ｒ）ディスクドライブ２２内のフロッピー（Ｒ）ディスク等から、該当する記憶ブロックのデータを読み出す制御を行い、読み出したデータを、ファイルシステム１４に渡す。
また、ハードディスク・ドライバ１６やフロッピー（Ｒ）ディスク・ドライバ２０は、ファイルシステム１４から、記憶ブロックにデータを書き込む前記要求を受けると、ハードディスク１８や、フロッピー（Ｒ）ディスクドライブ２２内のフロッピー（Ｒ）ディスクの指定された記憶ブロックに、指定されたデータを書き込む。
【００５１】
さらに、各クライアントコンピュータＣは、仮想ストレージデバイス・ドライバ（仮想ストレージデバイス・ドライバプログラム）としての仮想磁気ディスク・ドライバ２８を備える。仮想磁気ディスク・ドライバ２８は、ファイルシステム１４によって扱われる磁気ディスク・ドライバの一つとして、クライアントコンピュータＣに読み取り可能にインストールされる。
仮想磁気ディスク・ドライバ２８は、ファイルシステム１４に対して、ハードディスク・ドライバ１６やフロッピー（Ｒ）ディスク・ドライバ２０等の他の磁気ディスクドライバと同じインタフェースを持つ。これにより、仮想磁気ディスク・ドライバ２８は、ファイルシステム１４に、磁気ディスク・ドライバの一つとみなされる。
【００５２】
仮想磁気ディスク・ドライバ２８が、ハードディスク・ドライバ１６やフロッピー（Ｒ）ディスク・ドライバ２０等の他の磁気ディスク・ドライバと異なる点は、磁気ディスク等のストレージデバイスに対してデータの読み書きを行うのではなく、通信部２４を介して、サーバコンピュータＳに対してデータの読み書き、即ち受信・送信を行う点である。
【００５３】
仮想磁気ディスク・ドライバ２８は、ファイルシステム１４から、記憶ブロックのデータを読み出す要求を受けた際には、通信部２４を介して、サーバコンピュータＳに、その記憶ブロックのデータに対応するデータを読み出すリード要求を送信し、そのリード要求に対応してサーバコンピュータＳから送信されてきたデータを、その記憶ブロックのデータとしてファイルシステム１４に渡す。
仮想磁気ディスク・ドライバ２８が、サーバコンピュータＳに、読み出すべき「特定の記憶ブロックのデータに対応するデータ」を指定する際には、前記記憶ブロック番号を用いる。即ち、仮想磁気ディスク・ドライバ２８は、ファイルシステム１４に指定された記憶ブロック番号を付加させて、前記リード要求をサーバコンピュータＳに送信する。
【００５４】
また、仮想磁気ディスク・ドライバ２８は、ファイルシステム１４から、記憶ブロックにデータを書き込む要求を受けた際には、サーバコンピュータＳに、その記憶ブロックのデータを書き込むライト要求とその記憶ブロックのデータとを送信する。
仮想磁気ディスク・ドライバ２８が、サーバコンピュータＳに、前記ライト要求を行う際には、前記リード要求時と同様、ファイルシステム１４に指定された記憶ブロック番号を付加させて、前記ライト要求をサーバコンピュータＳに送信する。
【００５５】
つまり、仮想磁気ディスク・ドライバ２８は、記憶ブロックのデータを磁気ディスクから読み出す代わりに、サーバコンピュータＳからデータを読み出し、また、データを磁気ディスクの記憶ブロックに書き込む代わりに、サーバコンピュータＳにそのデータを送信するのである。
【００５６】
なお、各クライアントコンピュータＣが備える仮想ストレージデバイス・ドライバは、サーバコンピュータＳに前記リード要求やライト要求やデータを送信する際、サーバコンピュータＳが、送信元の仮想ストレージデバイス・ドライバを特定できるように、各仮想ストレージデバイス・ドライバ毎に一意に割り振られた所定の番号（ＩＤナンバー）を付加させてデータ等を送信する。この所定の番号は、サーバコンピュータＳのデータ管理手段１０によって割り振られる。この割り振りについては後述する。
【００５７】
本実施の形態では、ファイルシステム１４としては、磁気ディスク（ハードディスク１８およびフロッピー（Ｒ）ディスク２２）へのデータの書き込みを行う、磁気ディスク用ファイルシステムを採用している。磁気ディスク用ファイルシステムとして広く知られたものとしては、Ｗｉｎｄｏｗｓ（Ｒ）に装備されるＦＡＴ等が挙げられる。なお、ファイルシステム１４は、ＦＡＴ等に限らず、例えばユーザーの自作ファイルシステム等であってもよい。
【００５８】
なお、本実施の形態では、ストレージデバイスは、ハードディスク１８やフロッピー（Ｒ）ディスクといった磁気ディスク装置としているが、これに限定されず、例えば光ディスク装置等であってもよい。その場合には、ファイルシステムとしては、光ディスクの記憶ブロックのデータの読み書きに適した、光ディスク用のファイルシステムを採用すればよい。
【００５９】
なお、仮想ストレージデバイス・ドライバとしての仮想磁気ディスク・ドライバ２８は、一つのファイルシステム１４下に、複数設けてもよい。また、クライアントコンピュータＣが、複数のファイルシステム（例えば、磁気ディスク用ファイルシステムと光ディスク用ファイルシステム）を持つ場合には、それぞれのファイルシステムに対応する仮想ストレージデバイス・ドライバを、それぞれ設けてもよい。
また、各クライアントコンピュータＣの備える仮想ストレージデバイス・ドライバは、各クライアントコンピュータＣ毎に異なるファイルシステム（例えば磁気ディスク用ファイルシステムと光ディスク用ファイルシステム）に対応するものであってもよい。
【００６０】
（サーバコンピュータＳ）
サーバコンピュータＳは、パソコン等の汎用コンピュータで構成できる。サーバコンピュータＳは、例えばＷｉｎｄｏｗｓ（Ｒ）やＵＮＩＸ（Ｒ）等のＯＳ１と、記憶手段としての、単数または複数のハードディスク４，４およびフロッピー（Ｒ）ディスクドライブ６と、ネットワークＮを介してデータの送受信が可能な通信部８とを備える。
なお、サーバコンピュータＳも、クライアントコンピュータＣと同様、ハードディスク４，４およびフロッピー（Ｒ）ディスクドライブ６のドライバや、ファイルシステムを備えるが、図１上では省略している。
【００６１】
ＯＳ１上では、複数のアプリケーションを実行することができる。
なお、サーバコンピュータＳのＯＳ１は、Ｗｉｎｄｏｗｓ（Ｒ）やＵＮＩＸ（Ｒ）等の汎用ＯＳに限らず、どのようなＯＳであってもよく、例えばユーザーの自作ＯＳであってもよい。
【００６２】
通信部２４は、例えば、ＴＣＰ／ＩＰプロトコルに準じて、インターネットやＬＡＮ等のネットワークＮを介して、クライアントコンピュータＣ，Ｃ・・等の他の機器とデータの送受を行うことができる、一般的なネットワークカード等によって実現することができる。
【００６３】
また、サーバコンピュータＳは、記憶手段として単数または複数のハードディスク４，４およびフロッピー（Ｒ）ディスクドライブ６を備えるが、これらは、サーバコンピュータＳに内蔵のものでも、外付けのものでもよい。
【００６４】
また、さらに、サーバコンピュータＳは、クライアントコンピュータＣから、前記リード要求を受信した際には、ハードディスク４，４またはフロッピー（Ｒ）ディスクドライブ６からそのリード要求に対応するデータを読み出してクライアントコンピュータＣに送信し、また、クライアントコンピュータＣから、前記ライト要求を受信した際には、そのライト要求と共に送信されてきたデータをハードディスク４，４またはフロッピー（Ｒ）ディスクドライブ６に書き込むデータ管理手段（データ管理プログラム）１０を備える。
データ管理手段１０は、ＯＳ１上で実行されるアプリケーションとして、サーバコンピュータＳに読み取り可能にインストールされる。
【００６５】
データ管理手段１０は、図示しない設定手段を有し、所定の入力画面を、サーバコンピュータＳの図示しないモニタ装置に表示させて、ユーザーに、各クライアントコンピュータＣにインストールされた個々の仮想ストレージデバイス・ドライバを登録させる。また、設定手段は、所定の入力画面によって、登録された各仮想ストレージデバイス・ドライバの記憶ブロック構造（例えば、セクタ数や、各セクタのサイズ等）を、ユーザーに登録させる。
【００６６】
ユーザーが、前記設定手段による、各クライアントコンピュータＣ、および各クライアントコンピュータＣの仮想ストレージデバイス・ドライバの登録を完了すると、データ管理手段１０は、それぞれの仮想ストレージデバイス・ドライバに、一意に割り振られた番号（ＩＤナンバー）を振り、各仮想ストレージデバイス・ドライバが搭載されたクライアントコンピュータＣに対して、その仮想ストレージデバイス・ドライバに対応する前記番号を送信する。各クライアントコンピュータＣの仮想ストレージデバイス・ドライバは、この番号を記憶手段に保存しておき、サーバコンピュータＳへ送信する要求およびデータにこの番号を付加させる。これにより、サーバコンピュータＳは、各要求やデータが、どの仮想ストレージデバイス・ドライバから送信されてきたかを判別することが可能となる。
【００６７】
なお、各クライアントコンピュータＣが、それぞれ一つずつの仮想ストレージデバイス・ドライバのみを備えている場合には、この一意の番号として、ＩＰアドレス等の、ネットワークＮ上で各クライアントコンピュータＣを識別する既存の情報を使用することもできる。この場合には、データ管理手段１０による前記番号の割り振りおよびクライアントコンピュータＣへの送信は行わなくてもよい。
【００６８】
続いて、前記設定手段は、登録された各仮想ストレージデバイス・ドライバ（の番号）に一対一に対応する、仮想ストレージデバイス・ファイルを、サーバコンピュータＳのハードディスク４上に作成する。
図２の説明図に示すように、仮想ストレージデバイス・ファイルは、各仮想ストレージデバイス・ドライバに対応して、一つずつ作成される。図２に示すように、同一のクライアントコンピュータＣ上に複数の磁気ディスク・ドライバ２８，２８・・が存在する場合や、同一のクライアントコンピュータＣ上に複数種類の仮想ストレージデバイス・ドライバとしての、仮想磁気ディスク・ドライバ２８および仮想光ディスク・ドライバ２９が存在する場合でも、それらの一つ一つに対応して、仮想ストレージデバイス・ファイルは作成される。
なお、各仮想ストレージデバイス・ファイルは、サーバコンピュータＳの同一のハードディスク４上に作成する必要はなく、それぞれ別のハードディスク４や、フロッピー（Ｒ）ディスクドライブ６のフロッピー（Ｒ）ディスク上に作成しても良い。
【００６９】
各仮想ストレージデバイス・ファイルは、それに対応する仮想ストレージデバイス・ドライバの記憶ブロック構造（セクタ構造またはクラスタ構造等）に合わせて、その記憶ブロック単位で、データを読み書き可能なデータ構造に構成される。
例えば、図３に示すように、仮想ストレージデバイス・ファイルの内部構造は、対応する仮想ストレージデバイス・ドライバで扱われるセクタデータ単位（記憶ブロックのデータ単位）のセクタデータエリア（記憶ブロックデータエリア）に区切られて構成され、データ管理手段１０は、セクタ番号（記憶ブロック番号）を指定することで、仮想ストレージデバイス・ファイル内の任意のセクタデータエリア（記憶ブロックデータエリア）にデータの読み書きをすることができる。
【００７０】
なお、仮想ストレージデバイス・ファイルは、必ずしも一つの仮想ストレージデバイス・ドライバに対して一ファイルを対応させる必要はなく、例えば、扱う記憶ブロック数やサイズが大きく、仮想ストレージデバイス・ファイルのサイズが大きくなりすぎてしまうような場合は、複数のファイルに分割して保存するように構成してもよいし、あるいは、一記憶ブロックが一ファイルに対応するように構成してもよい。
【００７１】
データ管理手段１０は、仮想磁気ディスク・ドライバ２８によってクライアントコンピュータＣから送信されてきた前記リード要求や、前記ライト要求や、前記ライト要求と共に送信されてくる、記憶ブロックのデータを受信することができる。
【００７２】
データ管理手段１０は、クライアントコンピュータＣから前記ライト要求を受信すると、それに付加された前記番号（ＩＤナンバー）から、その要求が、どのクライアントコンピュータＣのどの仮想ストレージデバイス・ドライバから送信されてきたものかを特定し、その仮想ストレージデバイス・ドライバに対応する仮想ストレージデバイス・ファイルに、ライト要求と共に送信されてきたデータを保存する。この際、そのデータの、仮想ストレージデバイス・ファイル上の保存個所は、ライト要求に付加された前記記憶ブロック番号（セクタ番号）によって特定される。つまり、データ管理手段１０は、前記記憶ブロック番号（セクタ番号）に対応する、仮想ストレージデバイス・ファイル上のセクタデータエリア（記憶ブロックデータエリア）（図３）に、そのデータを保存する。
【００７３】
また、データ管理手段１０は、クライアントコンピュータＣから前記リード要求を受信すると、それに付加された前記番号（ＩＤナンバー）から、その要求が、どのクライアントコンピュータＣのどの仮想ストレージデバイス・ドライバから送信されてきたものかを特定し、その仮想ストレージデバイス・ドライバに対応する仮想ストレージデバイス・ファイルの、そのリード要求に対応する個所からデータを読み出し、読み出したデータを、そのクライアントコンピュータＣに送信する。この際、仮想ストレージデバイス・ファイル上の読み出し個所は、リード要求に付加された前記記憶ブロック番号（セクタ番号）によって特定される。つまり、データ管理手段１０は、前記記憶ブロック番号（セクタ番号）に対応する、仮想ストレージデバイス・ファイル上のセクタデータエリア（記憶ブロックデータエリア）（図３）から、データを読み出してクライアントコンピュータＣに送信する。
【００７４】
（仮想ストレージデバイス・システムＡ１の動作）
次に、仮想ストレージデバイス・システムＡ１の動作について、図４および図５に基づいて説明する。
図４は、クライアントコンピュータＣのＯＳ１２またはアプリケーション２６が、ファイルを読み出す際の、仮想ストレージデバイス・システムＡ１の動作を示した、シーケンスチャートである。
図４に示すように、ＯＳ１２またはアプリケーション２６が、ファイルシステム１４に対してファイルを読み出す要求を行う（Ｓ１）と、ファイルシステム１４は、そのファイルに対応する、セクタやクラスタ等の記憶ブロックを特定し、それらの記憶ブロックのデータを読み出す要求を、仮想磁気ディスク・ドライバ２８に対して行う（Ｓ２）。なお、ここまでのＯＳ１２、アプリケーション２６およびファイルシステム１４の動作は、ＯＳ１２またはアプリケーション２６が通常の磁気ディスク・ドライバにアクセスする際の動作となんら変わることがない。
【００７５】
前記要求を受けた仮想磁気ディスク・ドライバ２８は、通信部２４およびネットワークＮを介して、ファイルシステム１４に指定された記憶ブロックのデータに対応するデータを読み出す前記リード要求を、サーバコンピュータＳのデータ管理手段１０に送信する（Ｓ３）。この際、送信データには、送信元の仮想磁気ディスク・ドライバ２８に振られた前記番号（ＩＤナンバー）と、指定された記憶ブロックの記憶ブロック番号（セクタ番号）とを付加させる。
なお、ネットワークＮに接続された特定のサーバコンピュータＳの特定のアプリケーション（データ管理手段１０）に対するデータ等の送信は、サーバコンピュータＳのＩＰアドレスを指定すると共に、サーバコンピュータＳのＯＳ１上の各アプリケーションに割り振り可能なポート番号を指定するといった、既存の技術によって行うことができる。
【００７６】
データ管理手段１０は、付加された送信元の仮想ストレージデバイス・ドライバ（仮想磁気ディスク・ドライバ２８）の番号（ＩＤナンバー）から、その仮想ストレージデバイス・ドライバに対応する仮想ストレージデバイス・ファイルを特定し、その仮想ストレージデバイス・ファイルの、指定された記憶ブロック番号に対応する記憶ブロックデータエリア（セクタデータエリア）から、データを読み出す（Ｓ４）。
データ管理手段１０は、続いて、通信部８およびネットワークＮを介して、読み出したデータを、前記番号（ＩＤナンバー）に対応する仮想ストレージデバイス・ドライバ（仮想磁気ディスク・ドライバ２８）に対して送信する（Ｓ５）。
【００７７】
なお、仮想ストレージデバイス・ファイルは、前述の通り、対応する仮想ストレージデバイス・ドライバの記憶ブロック構造（セクタ構造またはクラスタ構造）に合わせて構成されている。従って、ファイルシステム１４が指定する「特定の記憶ブロック」の記憶ブロック番号（セクタ番号）は、仮想磁気ディスク・ドライバ２８やデータ管理手段１０に引き継がれた際にも共通に用いることができ、処理を簡便に構成できる。
【００７８】
データを受信した仮想磁気ディスク・ドライバ２８は、受信したデータを、ファイルシステム１４に読み出すことを要求された記憶ブロックのデータとして、ファイルシステム１４に渡す（Ｓ６）。
ファイルシステム１４は、渡された記憶ブロックのデータを、ファイルとして、ＯＳ１２またはアプリケーション２６に渡す（Ｓ７）。
【００７９】
図５は、クライアントコンピュータＣのＯＳ１２またはアプリケーション２６が、ファイルを書き込む際の動作を示した、シーケンスチャートである。
図５に示すように、ＯＳ１２またはアプリケーション２６が、ファイルシステム１４に対してファイルを書き込む要求を行う（Ｓ１１）と、ファイルシステム１４は、そのファイルに対応する、セクタやクラスタ等の記憶ブロックを特定し、そのファイルをそれらの記憶ブロック単位のデータに分割して、その各データを書き込む要求を、仮想磁気ディスク・ドライバ２８に対して行う（Ｓ１２）。なお、ここまでのＯＳ１２、アプリケーション２６およびファイルシステム１４の動作は、ＯＳ１２またはアプリケーション２６が通常の磁気ディスク・ドライバにアクセスする際の動作となんら変わることがない。
【００８０】
前記要求を受けた仮想磁気ディスク・ドライバ２８は、通信部２４およびネットワークＮを介して、それらの記憶ブロックのデータを書き込むライト要求と、各記憶ブロックのデータとを、サーバコンピュータＳのデータ管理手段１０に送信する（Ｓ１３）。この際、送信データには、送信元の仮想磁気ディスク・ドライバ２８に振られた前記番号（ＩＤナンバー）と、指定された記憶ブロックの記憶ブロック番号（セクタ番号）とを付加させる。
【００８１】
データ管理手段１０は、付加された送信元の仮想ストレージデバイス・ドライバ（仮想磁気ディスク・ドライバ２８）の番号（ＩＤナンバー）から、その仮想ストレージデバイス・ドライバに対応する仮想ストレージデバイス・ファイルを特定し、その仮想ストレージデバイス・ファイルの、指定された記憶ブロック番号に対応する記憶ブロックデータエリア（セクタデータエリア）に、受信した、記憶ブロックのデータを書き込む（Ｓ１４）。
【００８２】
本実施の形態に係る仮想ストレージデバイス・システムＡ１によれば、サーバコンピュータＳのハードディスク４の記憶領域を、クライアントコンピュータＣに提供することができる。
また、仮想磁気ディスク・ドライバ２８は、ファイルシステム１４からの記憶ブロックのデータの読み書きの要求に対して、サーバコンピュータＳに、その記憶ブロックに対応するデータの読み書きの要求（リード要求、ライト要求）を行うといった、簡単なプログラムで構成できる。また、データ管理手段１０は、クライアントコンピュータＣからの、リード要求およびライト要求に対して、仮想ストレージデバイス・ファイルから、対応するデータの読み書きを行うといった、簡単なプログラムで構成できる。
従って、例えばクライアントコンピュータＣのＯＳ１２としてユーザーの自作ＯＳを採用するような場合でも、従来のように複雑なネットワーク共有プロトコルを実現するプログラムを開発する必要がなく、サーバコンピュータＳのハードディスク４の記憶領域をクライアントコンピュータＣに提供するシステムを、より簡単に構築することができる。
【００８３】
また、仮想ストレージデバイス・システムＡ１によれば、サーバコンピュータＳのＯＳ１に備えられたネットワーク共有プロトコルを使用しないため、クライアントコンピュータＣのＯＳ１２は、サーバコンピュータＳのＯＳ１や、ネットワーク共有プロトコルに依存せず、自由に選択することができる。
【００８４】
さらに、クライアントコンピュータＣのＯＳ１２は、ファイルシステム１４を介して、通常の磁気ディスク・ドライバを扱うのと全く同じインタフェースで、仮想磁気ディスク・ドライバ２８を扱うことができるため、実際のデータの保存先が、クライアントコンピュータＣ自身のハードディスク１８やフロッピー（Ｒ）ディスクであるか、サーバコンピュータＳのハードディスク４であるかを区別して処理する必要がなく、従来のように、ネットワーク共有プロトコルとファイルシステムの両者を意識して使い分ける場合に比較して、ファイル管理処理が軽減される。特に、クライアントコンピュータＣのＯＳ１２として自作ＯＳを採用する場合には、ＯＳ１２のファイル管理機能としては、ファイルシステム１４に対するインタフェースのみを考慮すればよいため、ＯＳ１２をより簡単に開発することが可能となる。
【００８５】
また、仮想磁気ディスク・ドライバ２８およびデータ管理手段１０が、ネットワークＮを介して記憶ブロックに対応するデータを送信する際には、図示しない暗号化手段によって、そのデータを暗号化して送信するよう構成すれば、通信されるデータを第三者に傍受されたとしても、データの内容を知られないようにすることができる。
これには、例えば、既存の公開鍵方式を用いることができる。つまり、それぞれのクライアントコンピュータＣとサーバコンピュータＳとが、公開鍵方式の秘密鍵を一つずつ保管し、データ送信する際には、送信先のクライアントコンピュータＣまたはサーバコンピュータＳに対応する公開鍵によって、そのデータを暗号化すれば、特定のクライアントコンピュータＣまたはサーバコンピュータＳにのみ解読可能な暗号文を作成することができる。
【００８６】
なお、本発明に係る仮想ストレージデバイス・システムは、図１に示した仮想ストレージデバイス・システムＡ１に限定されない。
例えば、図１の仮想ストレージデバイス・システムＡ１においては、クライアントコンピュータＣおよびサーバコンピュータＳのＯＳ１２，１は、ネットワーク共有プロトコルを有していないが、図６の仮想ストレージデバイス・システムＡ２に示すように、従来のネットワーク共有プロトコルを有するＯＳに対しても、本発明に係る仮想ストレージデバイス・ドライバやデータ管理手段を採用することで、クライアントコンピュータＣは、サーバコンピュータＳのハードディスク４を、クライアントコンピュータＣ自身の磁気ディスク（ストレージデバイス）とみなして読み書き可能とすることができる。
【００８７】
また、仮想ストレージデバイス・システムＡ１，Ａ２においては、サーバコンピュータＳの記憶手段は、ハードディスク４やフロッピー（Ｒ）ディスクドライブのフロッピー（Ｒ）ディスクであるが、データを記憶できるものであれば、これらに限らず、例えばＣＤ−ＲＷドライブや、ＭＯドライブ等であってもよい。また、サーバコンピュータＳの記憶手段として、ＣＤの読み取り専用の光ディスクドライブを採用して、仮想磁気ディスク・ドライバ２８は、データの読み取りのみが可能なように構成してもよい。
【００８８】
また、仮想ストレージデバイス・システムＡ１，Ａ２においては、サーバコンピュータＳとして、パソコン等の汎用コンピュータを使用しているが、図７に示す仮想ストレージデバイス・システムＡ３のように、サーバ装置に、ストレージデバイス、例えばハードディスク装置Ｈを採用しても良い。
この場合、ハードディスク装置Ｈは、ハードディスク３６と、ネットワークＮを介してデータの送受信が可能な通信部３０と、ＣＰＵやメモリを備える論理回路によって構成される制御部３２と、制御部３２によって実行されるファームウェアとして実装されたデータ管理手段（データ管理プログラム）３４とを備える。
【００８９】
データ管理手段３４は、仮想ストレージデバイス・システムＡ１のデータ管理手段１０と同様の動作を行うプログラムである。即ち、データ管理手段３４は、クライアントコンピュータＣから、記憶ブロックのデータに対応するデータを読み出す前記リード要求を受信した際には、ハードディスク３６（の仮想ストレージデバイス・ファイル）からそのリード要求に対応するデータを読み出してクライアントコンピュータＣに送信し、また、クライアントコンピュータＣから、記憶ブロックのデータを書き込むライト要求を受信した際には、そのライト要求と共に送信されてきたデータをハードディスク３６に書き込むものである。
【００９０】
また、データ管理手段３４の前記設定手段は、例えば特定のクライアントコンピュータＣと通信して、クライアントコンピュータＣのモニタ装置等に設定画面を表示させて、ユーザーによって各クライアントコンピュータＣ，Ｃ・・の各仮想ストレージデバイス・ドライバの登録を行わせることができるように構成する。登録結果は、前記特定のクライアントコンピュータＣからハードディスク装置Ｈに送信され、データ管理手段３４が、登録された番号等を記憶するよう構成すればよい。
また、データ管理手段３４は、データ管理手段１０と同様、ハードディスク３６上に、各クライアントコンピュータＣの各仮想ストレージデバイス・ドライバに対応した仮想ストレージデバイス・ファイルを作成し、各仮想ストレージデバイス・ドライバとの間で送受した、各記憶ブロックのデータに対応するデータを、読み書きするよう構成する。
【００９１】
仮想ストレージデバイス・システムＡ３によれば、一台のハードディスク装置Ｈの記憶領域を複数のクライアントコンピュータＣ，Ｃが使用可能となる。また、各クライアントコンピュータＣ，Ｃ・・自身は、ハードディスクを備えないように構成し、一台のハードディスク装置Ｈに、複数のクライアントコンピュータＣのハードディスクの役割を負わせることなどができる。
【００９２】
また、仮想ストレージデバイス・システムＡ１，Ａ２，Ａ３においては、クライアントコンピュータＣとして、パソコン等の汎用コンピュータを使用しているが、クライアントコンピュータＣは、必ずしも汎用コンピュータである必要はなく、ファイルシステムや仮想ストレージデバイス・ドライバを実行可能な、ＣＰＵ等を備えた制御部や、ネットワークを介してデータの送受が可能な通信部を備えた装置（コンピュータ）であれば、あらゆる装置を採用できる。
【００９３】
【発明の効果】
本発明に係る仮想ストレージデバイス・システム、クライアントコンピュータ、仮想ストレージデバイス・ドライバプログラム、サーバ装置、およびデータ管理手段によれば、サーバ装置の記憶手段の記憶領域をクライアントコンピュータに提供することができるシステムとして、単純な構成で、サーバ装置のＯＳやネットワーク共有プロトコルに依存せずに、なおかつ、クライアントコンピュータのＯＳのファイル管理処理の負荷を軽減することができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明に係る仮想ストレージデバイス・システムの構成を示す説明図である。
【図２】データ管理手段（本発明に係るデータ管理プログラム）が仮想ストレージデバイス・ファイルを作成する様子を示した説明図である。
【図３】仮想ストレージデバイス・ファイルの内部構成を示す説明図である。
【図４】データ管理手段（本発明に係るデータ管理プログラム）のファイル読み出し時の動作を示すシーケンスチャートである。
【図５】データ管理手段（本発明に係るデータ管理プログラム）のファイル書き込み時の動作を示すシーケンスチャートである。
【図６】本発明に係る仮想ストレージデバイス・システムの別例の構成を示す説明図である。
【図７】本発明に係る仮想ストレージデバイス・システムの別例の構成を示す説明図である。
【図８】従来のクライアントサーバシステムの構成を示す説明図である。
【符号の説明】
Ａ１，Ａ２，Ａ３  仮想ストレージデバイス・システム
Ｎ  ネットワーク
Ｓ  サーバコンピュータ（サーバ装置）
１  ＯＳ
４  ハードディスク（記憶手段）
６  フロッピー（Ｒ）ディスクドライブ（記憶手段）
８  通信部
１０  データ管理手段（データ管理プログラム）
Ｃ  クライアントコンピュータ
１２  ＯＳ
１４  磁気ディスク用ファイルシステム（ファイルシステム）
１６  ハードディスク・ドライバ（ストレージデバイス・ドライバ）
１８  ハードディスク（ストレージデバイス）
２０  フロッピー（Ｒ）ディスク・ドライバ（ストレージデバイス・ドライバ）
２２  フロッピー（Ｒ）ディスクドライブ（ストレージデバイス）
２４  通信部
２６  アプリケーション
２８  仮想磁気ディスク・ドライバ（仮想ストレージデバイス・ドライバ、仮想ストレージデバイス・ドライバプログラム）
Ｈ  ハードディスク装置（サーバ装置）
３０  通信部
３２  制御部
３４  データ管理手段（データ管理プログラム）
３６  ハードディスク（ストレージデバイス）
【図１】
2004206602.tif 000003
【図２】
2004206602.tif 000004
【図３】
2004206602.tif 000005
【図４】
2004206602.tif 000006
【図５】
2004206602.tif 000007
【図６】
2004206602.tif 000008
【図７】
2004206602.tif 000009
【図８】
2004206602.tif 000010