説明

記憶デバイス管理プログラムおよび記憶デバイス管理方法

【課題】USBメモリなどポータブル記憶デバイスの容量をシームレスに拡張すること。
【解決手段】専用ドライバ221がUSBデバイスコントローラ210を制御してUSBメモリ100へのアクセス機能を提供し、ストレージサービス提供プログラム230が専用ドライバ221と連携してUSBメモリ100の記憶容量をネットディスク40を用いてシームレスに拡張するために必要な機能を提供する。また、データを書き込む際に、USBメモリ100の空領域が不足する場合には、メタデータ作成プログラム233が、USBメモリ100の実データからメタデータを作成して実データを置き換える。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ポータブル記憶デバイスが記憶するデータを管理する記憶デバイス管理プログラムおよび記憶デバイス管理方法に関し、特に、ポータブル記憶デバイスの容量をシームレスに拡張し、ポータブル記憶デバイスの容量制限を取り除くことができる記憶デバイス管理プログラムおよび記憶デバイス管理方法に関するものである。
【背景技術】
【0002】
近年、PC(パソコン)の低価格により、職場だけでなく、自宅や出先のPC(パソコン)を利用して仕事をする環境が整ってきている。ただし、自宅や出先のPCを利用して仕事をする場合には、仕事に使うデータに何らかの形でアクセスできることが必要となる。
【0003】
そこで、自宅や出先のPCなどから仕事に使うデータにアクセスするために、ネットワークを介してアクセスが可能なネットディスクにデータを置くか、あるいは、USBメモリやポータブルHDなどの大容量ポータブル記憶デバイスにデータを入れて持ち運ぶことが行われている。
【0004】
また、USBメモリにデータだけでなく、メーラー等のソフトウェアを格納して携帯し、USBメモリを出先のPCに装着するだけで、メーラー等のソフトウェアをインストールすることなく使えるようにする技術も開発されている(例えば、特許文献1参照。)。
【0005】
【特許文献1】特開2004−151785号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、ネットディスクにデータを置く方法には、職場のネットワークにアクセスできる場所でないとデータにアクセスすることができないという問題がある。また、近年、ストレージの大容量化やCPUパワーの向上に伴い、企業や個人がPC上で取り扱うデータは肥大化する傾向にあり、ネットワークにアクセスできる場合でも、携帯電話やPHSを使ったインターネット接続では、帯域が細く、画像データなど大規模なデータを扱うときにはデータの転送に時間がかかるという問題がある。
【0007】
また、USBメモリなどのポータブル記憶デバイスを携帯する場合には、記憶容量に制限があるため、大規模なデータを記憶することができないという問題がある。
【0008】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、ポータブル記憶デバイスの容量をシームレスに拡張し、ポータブル記憶デバイスの容量制限を取り除くことができる記憶デバイス管理プログラムおよび記憶デバイス管理方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決し、目的を達成するため、請求項1の発明に係る記憶デバイス管理プログラムは、ポータブル記憶デバイスが記憶するデータを管理する記憶デバイス管理プログラムであって、ポータブル記憶デバイスにデータの書き込みに必要な空領域があるか否かを判定する空領域有無判定手順と、前記空領域有無判定手順により必要な空領域がないと判定された場合に、ポータブル記憶デバイスが記憶する実データをネットワークを介して接続されたリモートコンピュータ(後述する実施例のネットディスクサーバ30に相当)が管理する記憶装置に保存するとともに、該実データからサイズを小さくしたメタデータを作成し、該作成したメタデータで実データを置き換えて必要な空領域を生成する空領域生成手順と、をコンピュータに実行させることを特徴とする。
【0010】
この請求項1の発明によれば、ポータブル記憶デバイスにデータの書き込みに必要な空領域があるか否かを判定し、必要な空領域がないと判定した場合に、ポータブル記憶デバイスが記憶する実データをネットワークを介して接続されたリモートコンピュータが管理する記憶装置に保存するとともに、実データからサイズを小さくしたメタデータを作成し、作成したメタデータで実データを置き換えて必要な空領域を生成するよう構成したので、ポータブル記憶デバイスの容量をシームレスに拡張することができる。
【0011】
また、請求項2の発明に係る記憶デバイス管理プログラムは、請求項1の発明において、ポータブル記憶デバイスから読み出すデータがメタデータで記憶されているか否かを判定するメタデータ判定手順と、前記メタデータ判定手順によりメタデータで記憶されていると判定された場合に、前記空領域生成手順により前記記憶装置に保存された実データをポータブル記憶装置に回復する実データ回復手順と、をさらにコンピュータに実行させることを特徴とする。
【0012】
この請求項2の発明によれば、ポータブル記憶デバイスから読み出すデータがメタデータで記憶されているか否かを判定し、メタデータで記憶されていると判定した場合に、リモートコンピュータが管理する記憶装置に保存された実データをポータブル記憶装置に回復するよう構成したので、リモートコンピュータが管理する記憶装置に格納されたデータをポータブル記憶装置デバイスに格納されたデータと同様に読み出すことができる。
【0013】
また、請求項3の発明に係る記憶デバイス管理プログラムは、請求項1または2の発明において、ポータブル記憶デバイスの記憶容量保持領域の内容を前記空領域生成手順により実データが保存される記憶装置の容量を含めた容量に変更する容量変更手順をさらにコンピュータに実行させることを特徴とする。
【0014】
この請求項3の発明によれば、ポータブル記憶デバイスの記憶容量保持領域の内容を、リモートコンピュータが管理する記憶装置の容量を含めた容量に変更するよう構成したので、OSはポータブル記憶デバイスの記憶容量としてリモートコンピュータが管理する記憶装置の容量を含めた容量を取得することができる。
【0015】
また、請求項4の発明に係る記憶デバイス管理プログラムは、請求項1、2または3の発明において、前記空領域生成手順は、ポータブル記憶デバイスに実データがない場合には、所定の経過時間以前にアクセスされたメタデータを削除して必要な空領域を作り出すことを特徴とする。
【0016】
この請求項4の発明によれば、ポータブル記憶デバイスに実データがない場合には、所定の経過時間以前にアクセスされたメタデータを削除して必要な空領域を作り出すよう構成したので、ポータブル記憶デバイスに、より必要性の高いデータを記憶することができる。
【0017】
また、請求項5の発明に係る記憶デバイス管理方法は、ポータブル記憶デバイスが記憶するデータを管理する記憶デバイス管理方法であって、ポータブル記憶デバイスにデータの書き込みに必要な空領域があるか否かを判定する空領域有無判定工程と、前記空領域有無判定工程により必要な空領域がないと判定された場合に、ポータブル記憶デバイスが記憶する実データをネットワークを介して接続されたリモートコンピュータが管理する記憶装置に保存するとともに、該実データからサイズを小さくしたメタデータを作成し、該作成したメタデータで実データを置き換えて必要な空領域を生成する空領域生成工程と、を含んだことを特徴とする。
【0018】
この請求項5の発明によれば、ポータブル記憶デバイスにデータの書き込みに必要な空領域があるか否かを判定し、必要な空領域がないと判定した場合に、ポータブル記憶デバイスが記憶する実データをネットワークを介して接続されたリモートコンピュータが管理する記憶装置に保存するとともに、実データからサイズを小さくしたメタデータを作成し、作成したメタデータで実データを置き換えて必要な空領域を生成するよう構成したので、ポータブル記憶デバイスの容量をシームレスに拡張することができる。
【発明の効果】
【0019】
請求項1および5の発明によれば、ポータブル記憶デバイスの容量をシームレスに拡張するので、ポータブル記憶デバイスの容量制限を取り除くことができるという効果を奏する。
【0020】
また、請求項2の発明によれば、リモートコンピュータが管理する記憶装置に格納されたデータをポータブル記憶装置デバイスに格納されたデータと同様に読み出すことができるので、利用者はリモートコンピュータが管理する記憶装置を意識することなくポータブル記憶装置からデータ読み出すことができるという効果を奏する。
【0021】
また、請求項3の発明によれば、OSはポータブル記憶デバイスの記憶容量としてリモートコンピュータが管理する記憶装置の容量を含めた容量を取得するので、利用者はリモートコンピュータが管理する記憶装置の容量を含めた容量をOSに標準搭載された機能を用いて知ることができるという効果を奏する。
【0022】
また、請求項4の発明によれば、ポータブル記憶デバイスに、より必要性の高いデータを記憶するので、ポータブル記憶デバイスを効率良く使用することができるという効果を奏する。
【発明を実施するための最良の形態】
【0023】
以下に添付図面を参照して、この発明に係る記憶デバイス管理プログラムおよび記憶デバイス管理方法の好適な実施例を詳細に説明する。なお、ここでは、ポータブル記憶デバイスとしてUSBメモリを用いる場合について説明が、PCに接続が簡単であるデバイスであれば、USBインタフェースを有するHD、PCMCIAやPCI Expressのインタフェースを有するメモリ、HDなどをポータブル記憶デバイスとして用いることもできる。
【実施例】
【0024】
まず、本実施例に係るストレージ提供システムについて説明する。図1は、本実施例に係るストレージ提供システムを説明するための説明図である。同図に示すように、このストレージ提供システムは、USBメモリ100と、USBメモリ100を装着して使用するPC200と、VPN10を介してPC200に接続されるリモートコンピュータおよびリモートディスクを有するサーバシステム50とから構成される。
【0025】
USBメモリ100は、PC200に装着して使用するデータを格納したポータブル記憶デバイスであり、複数のファイルを記憶する。サーバシステム50は、VPNのゲートウェイであるVPNGW20と、VPNGW20を介してPC200に接続されるリモートコンピュータであるネットディスクサーバ30と、ネットディスクサーバ30が管理する記憶装置であってPC200にとってはリモートディスクとなるネットディスク40とから構成され、PC200は、VPN10を介してネットディスク40にアクセスすることができる。
【0026】
PC200で動作するアプリケーションプログラムは、専用ドライバ221を用いてUSBメモリ100のファイルにアクセスする。また、専用ドライバ221は、データを書き込む際にUSBメモリ100の容量が不足すると、ストレージサービス提供プログラム230に容量不足を通知する。
【0027】
すると、ストレージサービス提供プログラム230は、USBメモリ100の一部のデータをネットディスク40に移すとともに、ネットディスク40に移したデータからメタデータを作成し、USBメモリ100上のデータをメタデータで置き換える。
【0028】
ここで、メタデータとは、ネットディスクに移したデータよりサイズが小さいデータであり、ここでは、ファイル名だけから構成されるデータである。なお、メタデータとしては、先頭から所定のサイズのデータなどを用いることもできる。また、データがXMLで構成されている場合には、概要が書かれているタグのデータのみを残してメタデータとすることもできる。また、ここでは、ネットディスクに移されたデータおよびUSBメモリ100上でメタデータに置き換えられていないデータを「実データ」と呼ぶこととする。
【0029】
また、専用ドライバ221は、USBメモリ100からファイルを読み出す際に、読み出すファイルについてUSBメモリ100がメタデータを記憶している場合には、ストレージサービス提供プログラム230と連携してネットディスク40から対応する実データを読み出し、USBメモリ100に自動ロードする。
【0030】
このように、本実施例に係るストレージ提供システムでは、USBメモリ100の容量が不足すると、専用ドライバ221とストレージサービス提供プログラム230が連携して、USBメモリ100の一部のデータをネットディスク40に移すとともに、ネットディスク40に移したデータからメタデータを作成し、USBメモリ100上のデータをメタデータで置き換えることによって、USBメモリ100の容量をシームレスに拡張することができる。
【0031】
なお、このストレージ提供システムの利用者は、ストレージ提供サービスを提供するレンタルストレージ会社とサービス利用契約の締結を行うときに、ネットディスク40で利用する最大容量を決定する。ここで、利用できる最大容量は、月額費用などでランクわけされる。また、レンタルストレージ会社は、利用者がオフラインの状態にある場合に使用できるストレージとしてUSBメモリ100を提供する。このUSBメモリ100の容量も月額費用などでランクわけされる。
【0032】
そして、サービス利用契約の締結を行うと、レンタルストレージ会社は、利用者に専用ドライバ221およびストレージサービス提供プログラム230を格納したUSBメモリ100を提供する。なお、レンタルストレージ会社は、専用ドライバ221およびストレージサービス提供プログラム230を、別途CD−ROMなどに格納して利用者に提供することもできる。
【0033】
次に、本実施例に係るストレージ提供システムの構成について説明する。図2は、本実施例に係るストレージ提供システムの構成を示す機能ブロック図である。同図に示すように、このストレージ提供システムでは、USBメモリ100は、容量保持用FRAM110と、R/Wメモリ120とを有し、PC200は、USBデバイスコントローラ210と、ネットワークデバイス260とを有する。
【0034】
また、PC200では、ストレージデバイスドライバ220、ストレージサービス提供プログラム230、ファイルアクセスプログラム240、ネットワークデバイスドライバ250などのプログラムが実行される。
【0035】
容量保持用FRAM110は、USBメモリ100の記憶容量を保持するFRAMであり、OSの標準の動作によって、この容量保持用FRAM110が記憶する容量がUSBメモリの記憶容量として確認される。ただし、この容量保持用FRAM110は、USBメモリ100だけの記憶容量ではなく、ネットディスク40で利用者が利用できる記憶容量も含めた容量を記憶する。したがって、利用者は、OSの標準機能によって、USBメモリ100の記憶容量ではなく、契約によって使用可能なネットディスク40を含めた容量を使用可能な記憶容量として知ることができる。
【0036】
R/Wメモリ120は、データを記憶するメモリである。図3は、R/Wメモリ120のデータフォーマットを示す図である。同図に示すように、このR/Wメモリ120は、管理テーブル124と、データ保存領域125とを有する。
【0037】
管理テーブル124は、通常のファイルシステムが使用する管理テーブルを拡張したものであり、ファイルごとに、前回同期が行われているどうかを示す同期フラグ、USBメモリ100上にファイルの実データが存在しているかどうかを示す実データフラグ、USBメモリ100が挿入されてからファイルが更新されたかどうかを示す更新フラグ、ファイル名、最終アクセス時刻、実データの保存先の開始アドレスと終了アドレスを記憶する。
【0038】
データ保存領域125は、データを保存する領域であり、ファイルごとにファイル名とデータを記憶する。ただし、ファイルがメタデータに置き換えられた場合には、ファイル名だけを記憶する。
【0039】
また、このR/Wメモリ120は、インストーラ121と、専用ドライバプログラム122と、ストレージサービス提供プログラム123とを記憶する。
【0040】
インストーラ121は、USBメモリ100がPC200に挿入されると自動的に実行されるプログラムであり、専用ドライバプログラム122をPC200にインストールし、ストレージサービス提供プログラム123を実行する。
【0041】
専用ドライバプログラム122は、PC200に専用ドライバ221としてインストールされUSBメモリ100へのアクセスに用いられるドライバプログラムであり、ストレージサービス提供プログラム123は、PC200で実行され、ストレージサービスの提供に必要な機能を備えたプログラムである。
【0042】
USBデバイスコントローラ210は、USBメモリ100を制御するコントローラであり、ネットワークデバイス260は、ネットワークを介して他のコンピュータと通信を行うデバイスである。
【0043】
ストレージデバイスドライバ220は、USBメモリ100をファイルシステムとしてアクセスするためのドライバであり、専用ドライバ221と、マスストレージドライバ222とから構成される。
【0044】
専用ドライバ221は、USBデバイスコントローラ210を制御してUSBメモリ100にアクセスするドライバであり、インストーラ121によって専用ドライバプログラム122がPC200にインストールされたものである。
【0045】
マスストレージドライバ222は、ストレージデバイスをファイルシステムとして管理するドライバであり、専用ドライバ221を介してUSBメモリ100にアクセスしてファイルの読み書きを行う。なお、マスストレージドライバ222は標準のOSが備えるドライバである。
【0046】
ファイルアクセスプログラム240は、ファイルにアクセスするアプリケーションプログラムである。ネットワークデバイスドライバ250は、ネットワークデバイス260を制御するドライバである。
【0047】
ストレージサービス提供プログラム230は、USBメモリ100に格納されたストレージサービス提供プログラム123がPC200で実行され、ストレージサービスに必要な機能を提供するプログラムであり、VPN通信プログラム231、同期プログラム232、メタデータ作成プログラム233、容量書き換えプログラム234、イベント通知プログラム235から構成される。
【0048】
VPN通信プログラム231は、VPN通信機能を提供するプログラムであり、PC200をVPNGW20に接続し、PC200からネットディスク40に安全にアクセスすることを可能としている。
【0049】
ここで、VPN方式としては、SSL−VPN、IPSec−VPNなどを用いることができる。また、VPNソフトウェアとサーバ間で利用する個人認証の方法は、利用者がサービス契約締結時に設定したIDとパスワードを使う方法や、PKIを使う方法などがある。PKIの場合、個人の証明書をR/Wメモリ120に3DESやAES、Blowfishなどによって暗号化して保存し、容易に解読できないようにする。
【0050】
同期プログラム232は、USBメモリ100の実データとネットディスク40の実データとを同期するための同期機能を提供するプログラムである。
【0051】
メタデータ作成プログラム233は、USBメモリ100が記憶するファイルの中からアクセス履歴の古いファイルを特定し、特定したファイルの実データからメタデータを作成してファイルをメタデータで置き換えるプログラムである。
【0052】
このメタデータ作成プログラム233が、USBメモリ100のファイルの実データからメタデータを作成し、そのファイルをメタデータで置き換えることによって、USBメモリ100にデータを書き込む十分な大きさの空領域がない場合に、空領域を生成し、データの書き込みを可能とすることができる。
【0053】
容量書き換えプログラム234は、USBメモリ100の容量保持用FRAM110を書き換えるプログラムである。この容量書き換えプログラム234が容量保持用FRAM110を書き換えることによって、容量保持用FRAM110にネットディスク40での容量を含めた記憶容量を記憶させることができる。
【0054】
また、利用者がサービス途中でネットディスク40の容量を増量した場合でも、ストレージサービス提供プログラム230とネットディスクサーバ30がVPN10によって通信を確立したときに、ネットディスクサーバ30からストレージサービス提供プログラム230へ容量値の増量通知を行い、容量書き換えプログラム234によって、容量保持用FRAM110を更新することができる。
【0055】
イベント通知プログラム235は、専用ドライバ221からイベントを受信し、受信したイベントに対応した処理を実行するように制御するプログラムである。
【0056】
次に、ストレージサービス提供プログラム123の起動処理の処理手順について説明する。図4は、ストレージサービス提供プログラム123の起動処理の処理手順を示すフローチャートである。
【0057】
同図に示すように、この起動処理では、USBメモリ100の挿入を検出すると(ステップS101)、PC200のOSは汎用のUSBストレージドライバを導入し(ステップS102)、USBメモリ100内のAutoRun.infを参照して、USBメモリ100内のインストーラ121を実行する(ステップS103)。
【0058】
そして、インストーラ121は、専用ドライバ221の導入状況を確認し(ステップS104)、未導入か否かを判定する(ステップS105)。その結果、未導入である場合には、インストーラ121は専用ドライバプログラム122をUSBメモリ100から読み出して専用ドライバ221としてインストールする(ステップS106)。
【0059】
そして、インストーラ121は、USBメモリ100内のストレージサービス提供プログラム123を実行する(ステップS107)。これにより、PC200上で、ストレージサービス提供プログラム230としての利用が可能となる。
【0060】
このように、USBメモリ100がPC200に挿入されると、インストーラ121が起動されて専用ドライバ221をインストールし、ストレージサービス提供プログラム230を利用可能とすることによって、ファイルアクセスプログラム240は、通常のUSBメモリをアクセスするのと同様に、USBメモリ100をアクセスすることができる。
【0061】
次に、USBメモリ100への書き込み処理の処理手順について説明する。図5は、USBメモリ100への書き込み処理の処理手順を示すフローチャートである。同図に示すように、この書き込み処理では、ファイルアクセスプログラム240がマスストレージドライバ222へ書き込み依頼を行うと(ステップS201)、マスストレージドライバ222は専用ドライバ221に書き込み依頼を行う(ステップS202)。
【0062】
そして、専用ドライバ221は、書き込みを依頼されたファイルがUSBメモリ100上にあるかを確認し(ステップS203)、USBメモリ100上にあるか否かを判定する(ステップS204)。その結果、USBメモリ100上にある場合には、専用ドライバ221は新たに書き込むファイルのサイズと記憶されたファイルのサイズの差分を確認する(ステップS205)。
【0063】
そして、専用ドライバ221は、USBメモリ100の容量を確認し(ステップS206)、データを書き込む容量があるか否かを判定する(ステップS207)。その結果、データを書き込む容量がある場合には、専用ドライバ221は、書き込み処理を実行し(ステップS208)、アクセス時刻など管理テーブル124を更新する(ステップS209)。そして、専用ドライバ221は書き込み完了をマスストレージドライバ222へ通知し(ステップS210)、マスストレージドライバ222はファイルアクセスプログラム240へ書き込み完了を通知する(ステップS211)。
【0064】
一方、データを書き込む容量がない場合には、専用ドライバ221は、イベント通知プログラム235にメタデータ化を依頼するイベントを通知し(ステップS212)、イベント通知プログラム235はメタデータ作成プログラム233にメタデータ化を依頼する(ステップS213)。
【0065】
そして、メタデータ作成プログラム233は管理テーブル124の実データフラグを確認し(ステップS214)、実データがあるか否かを判定する(ステップS215)。その結果、実データがある場合には、メタデータ作成プログラム233は、アクセス履歴の古いファイルを検索して特定し(ステップS216〜ステップS217)、特定したファイルの更新フラグを確認する(ステップS218)。
【0066】
そして、特定したファイルが更新されているか否かを判定し(ステップS225)、更新されていない場合には、ステップS230に進み、更新されている場合には、メタデータ作成プログラム233は同期プログラム232に同期を依頼し(ステップS226)、同期プログラム232はVPN通信プログラムを使用してネットディスク40にデータを保存する(ステップS227)。
【0067】
そして、同期プログラム232は保存完了をメタデータ作成プログラム233に通知し(ステップS228)、メタデータ作成プログラム233は更新フラグを消去し(ステップS229)、該当ファイルをメタデータ化する(ステップS230)。
【0068】
そして、メタデータ作成プログラム233は、該当ファイルをメタデータ化したファイルに置き換え(ステップS231)、管理テーブル124の対応する実データフラグを消去し(ステップS232)、イベント通知プログラム235を介して専用ドライバ221に容量確認の再実行を依頼する(ステップS233)。すなわち、ステップS206に戻る。
【0069】
一方、実データがない場合には(ステップS215、No)、実データをメタデータ化することでは空領域を生成することができないので、メタデータ作成プログラム233は、設定値に基づいて古いメタデータを削除可能か確認する(ステップS219)。ここで、設定値は、例えば、最後のアクセスからの経過時間であり、ここでは、この経過時間を過ぎた古いファイルのメタデータは削除するものとする。
【0070】
そして、古いメタデータを削除可能か否かを判定し(ステップS220)、削除可能である場合には、古いメタデータを削除し(ステップS221)、ステップS206に戻る。一方、削除可能でない場合には、メタデータ作成プログラム233はイベント通知プログラム235を介して専用ドライバ221に書き込み容量不足を通知し(ステップS222)、専用ドライバ221はマスストレージドライバ222に容量不足を通知する(ステップS223)。そして、マスストレージドライバ222はファイルアクセスプログラム240に容量不足を通知する(ステップS224)。
【0071】
このように、USBメモリ100にデータを書き込む際に、USBメモリ100の空容量が不足している場合に、メタデータ作成プログラム233が、実データをネットディスク40に保存するように制御するとともに、メタデータを作成して実データと置き換えることによって、USBメモリ100の容量をシームレスに拡張することができる。
【0072】
次に、USBメモリ110からの読み出し処理の処理手順について説明する。図6は、USBメモリ110からの読み出し処理の処理手順を示すフローチャートである。同図に示すように、この読み出し処理では、ファイルアクセスプログラム240がマスストレージドライバ222へ読み出し依頼を行うと(ステップS301)、マスストレージドライバ222は専用ドライバ221に読み出し依頼を行う(ステップS302)。
【0073】
そして、専用ドライバ221は、読み出しを依頼されたファイルの実データフラグを確認し(ステップS303)、そのファイルの実データがUSBメモリ100上にあるか否かを判定する(ステップS304)。その結果、USBメモリ100上にある場合には、専用ドライバ221はデータを読み出してマスストレージドライバ222に渡し(ステップS305)、マスストレージドライバ222はデータをファイルアクセスプログラム240に渡す(ステップS306)。
【0074】
一方、読み出すファイルの実データがUSBメモリ100上にない場合には、専用ドライバ221はイベント通知プログラム235に、読み出しを依頼されたデータのネットディスク40からのダウンロード依頼を通知し(ステップS307)、イベント通知プログラム235は、読み出しを依頼されたデータのダウンロードを同期プログラム232に依頼する(ステップS308)。
【0075】
そして、同期プログラム232は、VPN通信プログラム231を介して、読み出しを依頼されたデータをPC200のメモリ上にダウンロードし(ステップS309)、USBメモリ100に書き込む(ステップS310)。なお、USBメモリ100への書き込みは、図5に示した書き込み処理によって行う。
【0076】
そして、同期プログラム232はイベント通知プログラム235にダウンロード完了を通知し(ステップS311)、イベント通知プログラム235は読み出しを依頼されたデータのダウンロード完了を専用ドライバ221に通知する(ステップS312)。そして、ステップS305に進む。
【0077】
このように、実データがUSBメモリ100にない場合には、専用ドライバ221がイベント通知プログラム235に実データのダウンロード依頼を通知することによって、ネットディスク40からの実データのダウンロードを行い、ファイルアクセスプログラム240に対しては、USBメモリ100上にデータがあるのと同様にデータ引き渡すことができる。
【0078】
なお、ここでは、実データがUSBメモリ100上にない場合には、ネットディスク40から実データを読み出してUSBメモリ100に格納してファイルアクセスプログラム240に渡す場合について説明したが、ファイルアクセスプログラム240からの指定によって、メタデータを渡すようにすることもできる。
【0079】
次に、容量書き換え処理の処理手順について説明する。図7は、容量書き換え処理の処理手順を示すフローチャートである。同図に示すように、この容量書き換え処理では、容量書き換えプログラム234は、専用ドライバ221に容量値を通知する(ステップS401)。
【0080】
そして、専用ドライバ221は、USBメモリ100上の容量保持用FRAM110の値を書き換える(ステップS402)。
【0081】
このように、容量書き換えプログラム234が専用ドライバ221に容量値を通知し、専用ドライバ221がUSBメモリ100上の容量保持用FRAM110の値を書き換えることによって、ストレージ提供サービスで提供する仮想的なUSBメモリ100の容量を変更し、ネットディスク40によって拡張された記憶容量を利用者に対してUSBメモリ100の容量として通知することが可能となる。
【0082】
なお、本実施例では、メタデータの作成をPC200で行う場合について説明したが、メタデータの作成をネットディスクサーバ30で行うこともできる。図8は、メタデータの作成をネットディスクサーバ30で行うストレージ提供システムの構成を示す図である。
【0083】
同図に示すように、このストレージ提供システムでは、PC200でメタデータ作成プログラム233が実行される代わりにネットディスクサーバ30でメタデータ作成プログラム31が実行される。このように、ネットディスクサーバ30でメタデータを作成することによって、PC200の処理能力が低い場合にも、高速にメタデータを作成することができる。
【0084】
また、メタデータの作成は、USBメモリにマイコンを搭載し、USBメモリで行うこともできる。USBメモリでメタデータの作成を行うことによって、PC200との間のデータ転送を不要とすることができる。
【0085】
次に、本実施例に係る専用ドライバ221およびストレージサービス提供プログラム230を実行するコンピュータのハードウェア構成について説明する。なお、専用ドライバ221とストレージサービス提供プログラム230は同一のコンピュータで実行されるため、ここでは、専用ドライバ221を実行する場合について説明する。
【0086】
図9は、本実施例に係る専用ドライバ221を実行するコンピュータのハードウェア構成を示す機能ブロック図である。なお、このコンピュータ300は図2に示したPC200に対応する。
【0087】
図9に示すように、このコンピュータ300は、RAM310と、CPU320と、HDD330と、ネットワークデバイス260と、入出力インタフェース350と、USBデバイスコントローラ210とを有する。
【0088】
RAM310は、プログラムやプログラムの実行途中結果などを記憶するメモリであり、CPU320は、RAM310からプログラムを読み出して実行する中央処理装置である。
【0089】
HDD330は、プログラムやデータを格納するディスク装置であり、ネットワークデバイス260は、コンピュータ300をVPN10経由でネットディスクサーバ30など他のコンピュータに接続するためのデバイスである。
【0090】
入出力インタフェース350は、マウスやキーボードなどの入力装置および表示装置を接続するためのインタフェースであり、USBデバイスコントローラ210は、USBメモリ100へのアクセスを制御するコントローラである。
【0091】
そして、このコンピュータ300において実行される専用ドライバ221は、USBメモリ100に記憶され、インストーラ121によってUSBメモリ100から読み出されてコンピュータ300にインストールされる。そして、インストールされた専用ドライバ221は、HDD330に記憶され、RAM310に読み出されてCPU320によって実行される。
【0092】
上述してきたように、本実施例では、専用ドライバ221がUSBデバイスコントローラ210を制御してUSBメモリ100へのアクセス機能を提供し、ストレージサービス提供プログラム230が専用ドライバ221と連携してUSBメモリ100の記憶容量をネットディスク40を用いてシームレスに拡張するために必要な機能を提供することとしたので、USBメモリ100の容量に制限されることなくデータをUSBメモリ100に保存して使用することができる。
【0093】
また、データを書き込む際に、USBメモリ100の空領域が不足する場合には、メタデータ作成プログラム233が、USBメモリ100の実データからメタデータを作成して実データを置き換えることとしたので、空領域を確保するとともに、必要に応じて利用者にメタデータを提供することができる。
【0094】
(付記1)ポータブル記憶デバイスが記憶するデータを管理する記憶デバイス管理プログラムであって、
ポータブル記憶デバイスにデータの書き込みに必要な空領域があるか否かを判定する空領域有無判定手順と、
前記空領域有無判定手順により必要な空領域がないと判定された場合に、ポータブル記憶デバイスが記憶する実データをネットワークを介して接続されたリモートコンピュータが管理する記憶装置に保存するとともに、該実データからサイズを小さくしたメタデータを作成し、該作成したメタデータで実データを置き換えて必要な空領域を生成する空領域生成手順と、
をコンピュータに実行させることを特徴とする記憶デバイス管理プログラム。
【0095】
(付記2)ポータブル記憶デバイスから読み出すデータがメタデータで記憶されているか否かを判定するメタデータ判定手順と、
前記メタデータ判定手順によりメタデータで記憶されていると判定された場合に、前記空領域生成手順により前記記憶装置に保存された実データをポータブル記憶装置に回復する実データ回復手順と、
をさらにコンピュータに実行させることを特徴とする付記1に記載の記憶デバイス管理プログラム。
【0096】
(付記3)ポータブル記憶デバイスの記憶容量保持領域の内容を前記空領域生成手順により実データが保存される記憶装置の容量を含めた容量に変更する容量変更手順をさらにコンピュータに実行させることを特徴とする付記1または2に記載の記憶デバイス管理プログラム。
【0097】
(付記4)前記空領域生成手順は、ポータブル記憶デバイスに実データがない場合には、所定の経過時間以前にアクセスされたメタデータを削除して必要な空領域を作り出すことを特徴とする付記1、2または3に記載の記憶デバイス管理プログラム。
【0098】
(付記5)ポータブル記憶デバイスはファイルを記憶し、
前記空領域生成手順は、ファイル名だけのデータをメタデータとして作成することを特徴とする付記1〜4のいずれか一つに記載の記憶デバイス管理プログラム。
【0099】
(付記6)ポータブル記憶デバイスが記憶するデータを管理する記憶デバイス管理方法であって、
ポータブル記憶デバイスにデータの書き込みに必要な空領域があるか否かを判定する空領域有無判定工程と、
前記空領域有無判定工程により必要な空領域がないと判定された場合に、ポータブル記憶デバイスが記憶する実データをネットワークを介して接続されたリモートコンピュータが管理する記憶装置に保存するとともに、該実データからサイズを小さくしたメタデータを作成し、該作成したメタデータで実データを置き換えて必要な空領域を生成する空領域生成工程と、
を含んだことを特徴とする記憶デバイス管理方法。
【0100】
(付記7)ポータブル記憶デバイスから読み出すデータがメタデータで記憶されているか否かを判定するメタデータ判定工程と、
前記メタデータ判定工程によりメタデータで記憶されていると判定された場合に、前記空領域生成工程により前記記憶装置に保存された実データをポータブル記憶装置に回復する実データ回復工程と、
をさらに含んだことを特徴とする付記6に記載の記憶デバイス管理方法。
【0101】
(付記8)ポータブル記憶デバイスの記憶容量保持領域の内容を前記空領域生成工程により実データが保存される記憶装置の容量を含めた容量に変更する容量変更工程をさらに含んだことを特徴とする付記6または7に記載の記憶デバイス管理方法。
【0102】
(付記9)前記空領域生成工程は、ポータブル記憶デバイスに実データがない場合には、所定の経過時間以前にアクセスされたメタデータを削除して必要な空領域を作り出すことを特徴とする付記6、7または8に記載の記憶デバイス管理方法。
【0103】
(付記10)ポータブル記憶デバイスはファイルを記憶し、
前記空領域生成工程は、ファイル名だけのデータをメタデータとして作成することを特徴とする付記6〜9のいずれか一つに記載の記憶デバイス管理方法。
【産業上の利用可能性】
【0104】
以上のように、本発明に係る記憶デバイス管理プログラムおよび記憶デバイス管理方法は、ポータブル記憶デバイスに有用であり、特に、ポータブル記憶デバイスの容量制限を越える大量のデータを扱う必要がある場合に適している。
【図面の簡単な説明】
【0105】
【図1】本実施例に係るストレージ提供システムを説明するための説明図である。
【図2】本実施例に係るストレージ提供システムの構成を示す機能ブロック図である。
【図3】R/Wメモリのデータフォーマットを示す図である。
【図4】ストレージサービス提供プログラムの起動処理の処理手順を示すフローチャートである。
【図5】USBメモリへの書き込み処理の処理手順を示すフローチャートである。
【図6】USBメモリからの読み出し処理の処理手順を示すフローチャートである。
【図7】容量書き換え処理の処理手順を示すフローチャートである。
【図8】メタデータの作成をネットディスクサーバで行うストレージ提供システムの構成を示す図である。
【図9】本実施例に係る専用ドライバを実行するコンピュータのハードウェア構成を示す機能ブロック図である。
【符号の説明】
【0106】
10 VPN
20 VPNGW
30 ネットディスクサーバ
31 メタデータ作成プログラム
40 ネットディスク
100 USBメモリ
110 容量保持用FRAM
120 R/Wメモリ
121 インストーラ
122 専用ドライバプログラム
123 ストレージサービス提供プログラム
124 管理テーブル
125 データ保存領域
200 PC
210 USBデバイスコントローラ
220 ストレージデバイスドライバ
221 専用ドライバ
222 マスストレージドライバ
230 ストレージサービス提供プログラム
231 VPN通信プログラム
232 同期プログラム
233 メタデータ作成プログラム
234 容量書き換えプログラム
235 イベント通知プログラム
240 ファイルアクセスプログラム
250 ネットワークデバイスドライバ
260 ネットワークデバイス
300 コンピュータ
310 RAM
320 CPU
330 HDD
350 入出力インタフェース

【特許請求の範囲】
【請求項1】
ポータブル記憶デバイスが記憶するデータを管理する記憶デバイス管理プログラムであって、
ポータブル記憶デバイスにデータの書き込みに必要な空領域があるか否かを判定する空領域有無判定手順と、
前記空領域有無判定手順により必要な空領域がないと判定された場合に、ポータブル記憶デバイスが記憶する実データをネットワークを介して接続されたリモートコンピュータが管理する記憶装置に保存するとともに、該実データからサイズを小さくしたメタデータを作成し、該作成したメタデータで実データを置き換えて必要な空領域を生成する空領域生成手順と、
をコンピュータに実行させることを特徴とする記憶デバイス管理プログラム。
【請求項2】
ポータブル記憶デバイスから読み出すデータがメタデータで記憶されているか否かを判定するメタデータ判定手順と、
前記メタデータ判定手順によりメタデータで記憶されていると判定された場合に、前記空領域生成手順により前記記憶装置に保存された実データをポータブル記憶装置に回復する実データ回復手順と、
をさらにコンピュータに実行させることを特徴とする請求項1に記載の記憶デバイス管理プログラム。
【請求項3】
ポータブル記憶デバイスの記憶容量保持領域の内容を前記空領域生成手順により実データが保存される記憶装置の容量を含めた容量に変更する容量変更手順をさらにコンピュータに実行させることを特徴とする請求項1または2に記載の記憶デバイス管理プログラム。
【請求項4】
前記空領域生成手順は、ポータブル記憶デバイスに実データがない場合には、所定の経過時間以前にアクセスされたメタデータを削除して必要な空領域を作り出すことを特徴とする請求項1、2または3に記載の記憶デバイス管理プログラム。
【請求項5】
ポータブル記憶デバイスが記憶するデータを管理する記憶デバイス管理方法であって、
ポータブル記憶デバイスにデータの書き込みに必要な空領域があるか否かを判定する空領域有無判定工程と、
前記空領域有無判定工程により必要な空領域がないと判定された場合に、ポータブル記憶デバイスが記憶する実データをネットワークを介して接続されたリモートコンピュータが管理する記憶装置に保存するとともに、該実データからサイズを小さくしたメタデータを作成し、該作成したメタデータで実データを置き換えて必要な空領域を生成する空領域生成工程と、
を含んだことを特徴とする記憶デバイス管理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2007−249414(P2007−249414A)
【公開日】平成19年9月27日(2007.9.27)
【国際特許分類】
【出願番号】特願2006−69688(P2006−69688)
【出願日】平成18年3月14日(2006.3.14)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FRAM
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】