(57)【特許請求の範囲】
【請求項１】
ホストに連結された外部装置に保存された運用体制（ＯＳ）情報に基づいて、前記外部装置のための仮想ＯＳを生成する段階と、
前記ホストのストレージの一部領域を、前記外部装置のための仮想ストレージとして設定する段階と、
前記仮想ＯＳのデータ入出力要請によって、データを前記仮想ストレージまたは前記外部装置のメモリのうち、いずれか一つに保存する段階と、を含み、
前記データを保存する段階は、
前記データがプログラムが実行される間にのみ存在する臨時ファイルであると判断された場合、前記データを前記仮想ストレージに保存し、
前記データが臨時ファイルでないと判断された場合、前記データを前記仮想ストレージ及び前記メモリにそれぞれ保存するのにかかる時間を比較し、
前記仮想ストレージに保存するのにかかる時間が前記メモリに保存するのにかかる時間以上の場合、前記データを前記メモリに保存し、前記仮想ストレージに保存するのにかかる時間が前記メモリに保存するのにかかる時間未満の場合、前記データを前記仮想ストレージに保存し、
前記仮想運営体制が終了する場合、前記仮想ストレージに保存されたデータのうち前記臨時ファイルを除いた残りのデータを前記外部装置のメモリにフラッシングする、ことを特徴とするデータ入出力方法。
【請求項２】
前記データを保存する段階は、
前記データが、プログラムが実行される間にのみ存在する臨時ファイルであるか否かを判断する段階、を含むことを特徴とする請求項１に記載のデータ入出力方法。
【請求項３】
前記仮想ストレージに保存されたデータは、周期的に削除されたり、前記メモリにフラッシュされることを特徴とする請求項２に記載のデータ入出力方法。
【請求項４】
ホストに連結された外部装置に保存された運用体制（ＯＳ）情報に基づいて、前記外部装置のための仮想ＯＳを生成する段階と、
前記ホストのストレージの一部領域を、前記外部装置のための仮想ストレージとして設定する段階と、
前記仮想ＯＳのデータ入出力要請によって、データを前記仮想ストレージまたは前記外部装置のメモリのうち、いずれか一つに保存する段階と、を含み、
前記データを保存する段階は、
前記データがプログラムが実行される間にのみ存在する臨時ファイルであると判断された場合、前記データを前記仮想ストレージに保存し、
前記データが臨時ファイルでないと判断された場合、前記データのサイズが所定の値より小さいか否かを判断し、
前記データのサイズが前記所定の値より小さい場合、前記データを前記仮想ストレージに保存し、前記データのサイズが前記所定の値より小さくない場合、前記データを前記メモリに保存し、
前記仮想運営体制が終了する場合、前記仮想ストレージに保存されたデータのうち前記臨時ファイルを除いた残りのデータを前記外部装置のメモリにフラッシングする、ことを特徴とするデータ入出力方法。
【請求項５】
前記仮想ストレージに保存されたデータは、周期的に削除されたり、前記メモリにフラッシュされることを特徴とする請求項４に記載のデータ入出力方法。
【請求項６】
前記仮想ストレージは、前記外部装置の固有情報、または前記外部装置に内蔵されたキー値を利用して暗号化されることによって、前記仮想ＯＳによってのみアクセス可能であることを特徴とする請求項１に記載のデータ入出力方法。
【請求項７】
前記外部装置と前記ホストとの連結が解除される場合、前記仮想ストレージに保存されたデータを削除したり、前記外部装置に、前記仮想ストレージに保存された前記データをフラッシュする段階をさらに含むことを特徴とする請求項１に記載のデータ入出力方法。
【請求項８】
前記ＯＳ情報は、レジストリ、ファイル・システム、コンポーネント及びdynamiclinklibraryのうち少なくとも一つであり、
前記仮想ＯＳを生成する段階は、前記ＯＳ情報に基づいて、前記ホストのＯＳに対して独自の前記仮想ＯＳを生成することを特徴とする請求項１に記載のデータ入出力方法。
【請求項９】
請求項１に記載の方法を実行するためのプログラムを記録したコンピュータで読取り可能な記録媒体。
【請求項１０】
ホストＯＳ及びホスト・ストレージを含むホストと連結されるデータ入出力装置において、
少なくとも１つのアプリケーションを保存するアプリケーション保存部と、
仮想環境を設定するためのユーザ環境設定情報及びＯＳ情報を保存する仮想環境部と、
メモリと、
前記ＯＳ情報に基づいて、前記ホストＯＳから仮想ＯＳを生成し、前記ホスト・ストレージの一部領域を仮想ストレージとして設定し、前記仮想ＯＳのデータ入出力要請によって、データを前記仮想ストレージまたは前記メモリのうち、いずれか一つに保存するように制御する仮想化階層と、を含み、
前記仮想化階層は、
前記データがプログラムが実行される間にのみ存在する臨時ファイルであると判断された場合、前記データを前記仮想ストレージに保存し、
前記データが臨時ファイルでないと判断された場合、前記データを前記仮想ストレージ及び前記メモリにそれぞれ保存するのにかかる時間を比較し、
前記仮想ストレージに保存するのにかかる時間が前記メモリに保存するのにかかる時間以上の場合、前記データを前記メモリに保存し、前記仮想ストレージに保存するのにかかる時間が前記メモリに保存するのにかかる時間未満の場合、前記データを前記仮想ストレージに保存し、
前記仮想運営体制が終了する場合、前記仮想ストレージに保存されたデータのうち前記臨時ファイルを除いた残りのデータを前記外部装置のメモリにフラッシングする、ことを特徴とするデータ入出力装置。
【請求項１１】
前記仮想化階層は、前記データが、プログラムが実行される間にのみ存在する臨時ファイルであるか否かを判断することを特徴とする請求項１０に記載のデータ入出力装置。
【請求項１２】
ホストＯＳ及びホスト・ストレージを含むホストと連結されるデータ入出力装置において、
少なくとも１つのアプリケーションを保存するアプリケーション保存部と、
仮想環境を設定するためのユーザ環境設定情報及びＯＳ情報を保存する仮想環境部と、
メモリと、
前記ＯＳ情報に基づいて、前記ホストＯＳから仮想ＯＳを生成し、前記ホスト・ストレージの一部領域を仮想ストレージとして設定し、前記仮想ＯＳのデータ入出力要請によって、データを前記仮想ストレージまたは前記メモリのうち、いずれか一つに保存するように制御する仮想化階層と、を含み、
前記仮想化階層は、
前記データがプログラムが実行される間にのみ存在する臨時ファイルであると判断された場合、前記データを前記仮想ストレージに保存し、
前記データが臨時ファイルでないと判断された場合、前記データのサイズが所定の値より小さいか否かを判断し、前記データのサイズが前記所定の値より小さい場合、前記データを前記仮想ストレージに保存し、前記データのサイズが前記所定の値より小さくない場合、前記データを前記メモリに保存し、
前記仮想運営体制が終了する場合、前記仮想ストレージに保存されたデータのうち前記臨時ファイルを除いた残りのデータを前記外部装置のメモリにフラッシングする、ことを特徴とするデータ入出力装置。
【請求項１３】
前記仮想ストレージを暗号化するためのキー値を保存する暗号化キー保存部をさらに含むことを特徴とする請求項１０に記載のデータ入出力装置。
【請求項１４】
前記仮想化階層は、前記仮想ストレージ及び前記メモリに保存されたデータを周期的に同期化することを特徴とする請求項１０に記載のデータ入出力装置。
【請求項１５】
前記仮想化階層は、前記仮想ストレージに保存されたデータを周期的に削除したり、前記仮想ストレージに保存された前記データを、前記メモリにフラッシュすることを特徴とする請求項１０に記載のデータ入出力装置。
【請求項１６】
前記装置と前記ホストとの連結が解除される場合、前記仮想化階層は、前記仮想ストレージに保存されたデータを削除したり、前記仮想ストレージに保存された前記データを、前記メモリにフラッシュすることを特徴とする請求項１０に記載のデータ入出力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ入出力方法及び装置に係り、さらに詳細には、仮想化技術を利用したデータ入出力方法及び装置に関する。
【背景技術】
【０００２】
仮想化（virtualization）とは、運用体制（ＯＳ：operating  system）に対して、プロセッサ、メモリ、ネットワーク、デバイス、グラフィックス機能のようなハードウェア資源を仮想化することである。ほとんどのＯＳは、自らコンピュータの資源を独占的に占有していることを前提に動作する。従って、さまざまなＯＳを１台のコンピュータ上で同時に実行させることは、設けられたＯＳ間の競合を呼び起こすために、一般的に不可能である。仮想化技術は、ハードウェアとＯＳとの間に、仮想的なインターフェースを提供するものであり、１台のコンピュータ上で、さまざまなＯＳを同時に実行可能にするものである。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明が解決しようとする課題は、仮想環境で、データの入出力速度を向上させるためのデータ入出力方法及び装置、及び前記方法を実行するためのプログラムを記録したコンピュータで読取り可能な記録媒体を提供するところにある。
【課題を解決するための手段】
【０００４】
前記課題を解決するための本発明によるデータ入出力方法は、ホストに連結された外部装置に保存された運用体制（ＯＳ）情報に基づいて、前記外部装置のための仮想ＯＳを生成する段階と、前記ホストのストレージの一部領域を、前記外部装置のための仮想ストレージとして設定する段階と、前記仮想ＯＳのデータ入出力要請によって、データを前記仮想ストレージまたは前記外部装置のメモリのうち、いずれか一つに保存する段階と、を含む。
【０００５】
また、前記課題は、ホストに連結された外部装置に保存されたＯＳ情報に基づいて、前記外部装置のための仮想ＯＳを生成する段階と、前記ホストのストレージの一部領域を、前記外部装置のための仮想ストレージとして設定する段階と、前記仮想ＯＳのデータ入出力要請によって、データを前記仮想ストレージまたは前記外部装置のメモリのうち、いずれか一つに保存する段階と、を含むデータ入出力方法を実行するためのプログラムを記録したコンピュータで読取り可能な記録媒体によって達成される。
【０００６】
また、前記課題を解決するための本発明によるホストＯＳ及びホスト・ストレージを含むホストと連結されるデータ入出力装置は、少なくとも１つのアプリケーションを保存するアプリケーション保存部と、仮想環境を設定するためのユーザ環境設定情報及びＯＳ情報を保存する仮想環境部と、メモリと、前記ＯＳ情報に基づいて、前記ホストＯＳから仮想ＯＳを生成し、前記ホスト・ストレージの一部領域を仮想ストレージとして設定し、前記仮想ＯＳのデータ入出力要請によって、データを前記仮想ストレージまたは前記メモリのうち、いずれか一つに保存するように制御する仮想化階層と、を含む。
【発明の効果】
【０００７】
本発明によれば、ホストに連結された外部装置に保存されたＯＳ情報に基づいて、外部装置のための仮想ＯＳを生成し、ホストのストレージの一部領域を外部装置のための仮想ストレージとして設定し、仮想ＯＳのデータ入出力要請によって、データを仮想ストレージまたは外部装置のメモリのうち、いずれか一つに保存することによって、仮想環境で、データの入出力速度を向上させることができる。
【０００８】
また、仮想ストレージまたは外部装置のメモリに選択的にデータを保存することによって、装置に対するデータの入出力回数を大きく減少させ、装置の寿命を向上させることができる。従って、相対的に価格が低廉でありつつ、寿命が短いＭＬＣ（multi  level  cell）フラッシュを使用して移動式保存装置を具現し、移動式保存装置の価格を下げることができる。
【図面の簡単な説明】
【０００９】
【図１】一般的なホスト・コンピュータの階層構造を示す概念図である。
【図２】仮想化技術が適用されていないデータ入出力システムを示す概念図である。
【図３】本発明の一実施形態による移動式保存装置を示すブロック図である。
【図４】本発明の一実施形態による仮想化技術が適用されたデータ入出力システムを示す概念図である。
【図５】本発明の一実施形態によるデータ入出力方法を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付した図面を参照しつつ、本発明の望ましい実施形態についてさらに詳細に説明する。図面上の同じ構成要素については、同じ参照符号を使用し、同じ構成要素について重複する説明は省略する。
【００１１】
図１は、一般的なホスト・コンピュータの階層構造を示す概念図である。図１を参照するに、ホスト・コンピュータは、ハードウェア１１、運用体制（ＯＳ：operating  system１２、及び複数のアプリケーション１３を含む。ハードウェア１１は、中央処理装置（ＣＰＵ：central  processing
unit）、ＲＡＭ（random-access  memory）、ＲＯＭ（read-only  memory）、ハードディスクなどを含む。ＯＳ  １２は、コンピュータの資源（resource）を管理するプログラムであり、ハードウェア１１とアプリケーション１３との間のインターフェースの役割を行う。
【００１２】
図２は、仮想化技術が適用されていないデータ入出力システムを示す概念図である。図２を参照するに、データ入出力システム２０は、ホスト・コンピュータと、仮想化技術を利用しない移動式保存装置（removable  storage  device）との間のデータ入出力システムである。ホスト・コンピュータは、ハードウェア２１、ＯＳ  ２２及び複数のアプリケーション２３を含む。
【００１３】
移動式保存装置２４は、ランチャ（launcher）２５及び複数のアプリケーション２６を内蔵する。移動式保存装置がホスト・コンピュータに挿入されれば、ランチャ２５及び複数のアプリケーション２６は、ホスト・コンピュータのメモリにロードされ、ホスト・コンピュータで実行される。ランチャ２５は、一種のインターフェーシング・プログラムであり、ホスト・コンピュータを、移動式保存装置に保存されたユーザ環境に設定することによって、アプリケーション２６が実行できる環境を構築する。これにより、移動式保存装置が連結されたホスト・コンピュータで、データの入出力は、ホスト・コンピュータの保存装置の代わりに、移動式保存装置だけを利用して実行される。
【００１４】
しかし、移動式保存装置２４は、ホスト・コンピュータの保存装置に比べて、容量がはるかに小さくて性能に劣るので、移動式保存装置を利用する場合、ホスト・コンピュータの保存装置を利用するときより、データの入出力時間が長くかかる。例えば、最近発売されているホスト・コンピュータのハードディスクが５００ギガバイト（ＧＢ）ほどであるのに比べて、ＵＳＢ（universal  serial  bus）保存装置は、８ＧＢほとであり、保存容量の差が非常に大きい。
【００１５】
具体的には、臨時インターネットファイルのように迅速な書き込み及び読み取りが必要であるファイルを移動式保存装置に保存する場合、アプリケーションの動作は遅延される。例えば、インターネットを利用したウェブページを開く場合、当該データを移動式保存装置に保存する場合、多くの時間がかかる。また、移動式保存装置がフラッシュメモリを利用する場合、小サイズのファイルの書き込み動作を反復的に行うことによって、移動式保存装置の寿命がかなり短くなることがある。
【００１６】
図３は、本発明の一実施形態による移動式保存装置を示すブロック図である。図３を参照するに、移動式保存装置３３は、有無線データ通信網３２を介して、ホスト・コンピュータ３１と連結される。ここで、移動式保存装置３３は、一実施形態に過ぎず、本発明は、ホスト・コンピュータ３１とネットワークを介して連結される他の装置にも適用されうる。以下、説明の便宜上、ＵＳＢ携帯用保存装置であるＵＦＤ（ＵＳＢ  flash  drive）を、移動式保存装置３３の例として説明する。
【００１７】
移動式保存装置３３は、通信部（communication  unit）３３１、アプリケーション保存部３３２、仮想化階層保存部（virtualization  layer  storing  unit）３３３、仮想環境部（virtual  environment  unit）３３４、メモリ３３５、暗号化キー保存部（encryption  key  storing  unit）３３６及び通信バス３３７を含む。
【００１８】
通信部３３１は、通信網３２と通信するための手段であり、一般的なインターフェースのような物理的な装置で具現されうる。通信バス３３７は、移動式保存装置内の多様な装置である、アプリケーション保存部３３２、仮想化階層保存部３３３、仮想環境部３３４、メモリ３３５、暗号化キー保存部３３６と、通信部３３１との通信を行う。
【００１９】
アプリケーション保存部３３２は、マイクロソフト・ワード（Microsoft  Word）、パワーポイント（Power  Point）のような多様なアプリケーションを保存する。移動式保存装置３３がホスト・コンピュータ３１に挿入されれば、複数のアプリケーションがホスト・コンピュータ３１のメモリにロードされ、ホスト・コンピュータ３１で実行される。
【００２０】
仮想化階層保存部３３３は、仮想環境を提供するプログラムである仮想化階層（virtualization  layer）を保存する。さらに詳細には、仮想化階層は、仮想マシンモニタ（virtual  machine  monitor）またはハイパーバイザ（hypervisor）のようなプログラムでありうる。移動式保存装置３３がホスト・コンピュータ３１に挿入されれば、仮想化階層は、ホスト・コンピュータ３１のメモリにロードされる。これにより、仮想化階層は、ホスト・ハードウェアまたはホストＯＳ上で実行されて仮想ＯＳを生成し、仮想ＯＳにリソースを提供することによって、仮想環境を提供する。
【００２１】
仮想環境部３３４は、仮想環境を設定するためのユーザ環境設定情報と、仮想ＯＳが新しいユーザ環境を生成するために要求されるＯＳ情報とを保存するデータベースである。ここで、ユーザ環境設定情報は、デスクトップ、テーマ、アイコン、ショートカットキー、言語、フォントなどを含み、移動式保存装置３３がホスト・コンピュータ３１に挿入されれば、ユーザ環境設定情報によって、ユーザの環境が設定される。
【００２２】
また、ＯＳが新しいユーザ環境を生成するために要求されるＯＳ情報は、レジストリ（registry）、ファイル・システム（file  system）、コンポーネント（component）、ＤＬＬ（dynamic  link  library）などを含むことができる。移動式保存装置３３がホスト・コンピュータ３１に挿入されれば、ホスト・コンピュータ３１に設けられていないレジストリ、ファイル・システム、コンポーネント、ＤＬＬなどが、ホスト・コンピュータ３１のメモリに存在するような仮想環境を構築できる。ここで、レジストリは、Windows（登録商標）を設置するときに生成される情報の目録ファイルであり、ハードウェア、ソフトウェア、ユーザ及びコンピュータやネットワークの特性を示す。また、ファイル・システムは、コンピュータ・ファイルに名称を付け、保存や検索のために、論理的にファイルをどこに位置させなければならないかということなどを示す。
【００２３】
メモリ３３５は、ユーザがアプリケーションを利用して作業を行う過程で、新しく生成したデータを保存する。例えば、メモリ３３５は、ユーザがマイクロソフト・ワードを利用して文書編集作業を行ったとき、当該文書の変更事項、または新しく作成された文書などを保存する。
【００２４】
暗号化キー保存部３３６は、ユーザによって設定された固有の暗号化キーを保存する。移動式保存装置３３がホスト・コンピュータ３１に挿入されれば、仮想化階層は、ホスト・ハードウェアから、仮想ＯＳによってアクセス可能な仮想ストレージを生成できる。この場合、生成された仮想ストレージは、暗号化キーを利用して暗号化されることによって、ホストＯＳは、仮想ストレージにアクセスをできないので、仮想ストレージの保安を維持できる。しかし、本発明の他の実施形態で、移動式保存装置３３は、暗号化キー保存部３３６を含まないこともある。その場合には、移動式保存装置の固有情報、またはその他ユーザ提供情報を利用し、仮想ストレージを暗号化できる。
【００２５】
図４は、本発明の一実施形態による仮想化技術が適用されたデータ入出力システムを示す概念図である。図４を参照するに、データ入出力システム４０は、ホスト・コンピュータと、仮想化技術を利用する移動式保存装置とのデータ入出力システムである。ホスト・コンピュータは、ホスト・ハードウェア４１、ホストＯＳ  ４２及び複数のアプリケーション４３を含む。
【００２６】
移動式保存装置４４は、複数のアプリケーション４５及び仮想化階層４６を内蔵し、移動式保存装置４４がホスト・コンピュータに挿入されれば、複数のアプリケーション４５及び仮想化階層４６は、ホスト・コンピュータのメモリにロードされ、ホスト・コンピュータで実行される。
【００２７】
仮想化階層４６は、ＯＳ情報に基づいて、ホストＯＳ  ４２から仮想ＯＳ  ４７を生成し、仮想ＯＳ  ４７が必要とする資源をホスト・コンピュータから提供する。さらに詳細には、仮想ＯＳ  ４７は、移動式保存装置４４に保存されたＯＳ情報であるレジストリ及びファイル・システムなどに基づいて、ホストＯＳ  ４２に対して独自に動作する。
【００２８】
また、仮想化階層４６は、ホスト・ハードウェア４１のホスト・ストレージ４８の一部領域を、仮想ＯＳ  ４７の専用保存装置である仮想ストレージ４９として設定する。さらに詳細には、仮想化階層４６は、ホスト・ストレージ４８の一部領域を分割（partition)し、分割された一部領域を仮想ストレージ４９として設定できる。この場合、仮想ストレージ４９は、ホストＯＳ  ４２によるアクセスを不可能にするために暗号化し、仮想ＯＳ  ４７によってのみアクセス可能にすることができる。このために、移動式保存装置４４に保存された暗号化キー値を利用し、仮想ストレージ４９をホストＯＳ  ４２から暗号化できる。移動式保存装置４４がホスト・コンピュータから除去されれば、仮想化階層４６は終了し、仮想ストレージ４９も自動的に削除されうる。
【００２９】
アプリケーションの実行過程で生成された仮想ＯＳ  ４７は、アプリケーション４５の動作、または仮想ＯＳ  ４７自体の必要によるデータに対して入出力要請を行える。このために、仮想化階層４６は、仮想ＯＳ  ４７のデータ入出力要求を分析し、生成された仮想ストレージ４９、または移動式保存装置４４自体のメモリのうち、いずれに対してデータの入出力を行うか、換言すれば、データの読み取りまたは書き込みの動作を行うか決定する。
【００３０】
さらに詳細には、仮想化階層４６は、データ入出力要求を分析した結果、当該データが仮想ストレージ４９に保存されるのにかかる時間が、移動式保存装置４４に保存されるのにかかる時間より短い場合には、当該データを仮想ストレージ４９に保存することによって、データの入出力速度を向上させることができる。一般的に、ホスト・コンピュータの保存装置は、移動式保存装置に比べて容量がはるかに大きい。従って、移動式保存装置を利用して新しい仮想環境で作業を行う場合でも、特定データに対する作業を行う場合、移動式保存装置に直接データを保存する代わりに、ホスト・コンピュータの保存装置にデータを保存することによって、作業速度を向上させることができる。
【００３１】
しかし、移動式保存装置４４がホスト・コンピュータから除去されれば、ホスト・コンピュータは、それ以上当該データを保存している必要がない。従って、移動式保存装置４４がホスト・コンピュータから除去されるとき、仮想化階層４６は、仮想ストレージ４９に保存されたデータを削除したり、移動式保存装置４４にフラッシュ（flush）する。また、移動式保存装置４４がホスト・コンピュータに続けて挿入されている場合でも、仮想化階層４６は、周期的に仮想ストレージ４９に保存されたデータを削除したり、移動式保存装置４４にフラッシュすることが可能である。また、仮想化階層４６は、仮想ストレージ４９にデータを保存すると同時に、移動式保存装置４４と仮想ストレージ４９との同期化が必要であるという情報を生成できる。
【００３２】
具体的に、当該データがインターネット臨時ファイルのようなキャッシュ・ファイルである場合には、移動式保存装置４４は、当該データを続けて保存している必要がない。従って、仮想化階層４６は、仮想ストレージ４９に保存されたデータを周期的に、または移動式保存装置４４がホスト・コンピュータから除去されるときに削除する。一方、当該データが特定プログラムの設置と関連した場合には、移動式保存装置４４は、当該データを保存する必要があるので、仮想化階層４６は、仮想ストレージ４９に保存されたデータを周期的に、または移動式保存装置４４がホスト・コンピュータから除去されるときに移動式保存装置４４にフラッシュする。
【００３３】
一方、仮想化階層４６は、データ入出力要求を分析した結果、当該データが、仮想ストレージ４９に保存されるのにかかる時間が、移動式保存装置４４に保存されるのにかかる時間より長いが、それと同じである場合には、当該データを移動式保存装置４４に直接保存することによって、データの入出力速度を向上させることができる。その場合には、当該データを仮想ストレージ４９に保存するのに時間がさらに長くかかるだけではなく、移動式保存装置４４とホスト・コンピュータとの連結が解除される場合に、仮想ストレージ４９に保存されたデータを移動式保存装置４４にフラッシュしなければならないので、不要な時間がかかるために、移動式保存装置４４に直ちに保存する。
【００３４】
しかし、前述の内容は、本発明の一実施形態に過ぎず、仮想化階層４６は、仮想ＯＳ  ４７からのデータ入出力要請によって、仮想ストレージ４９または移動式保存装置４４のうち、いずれにデータを保存するかについて決定するとき、必ずしもデータの入出力にかかる時間によって決定する必要はないのである。
【００３５】
例えば、特定プログラムの設置過程で、サイズが所定の値より小さいデータが持続的に保存されるとき、移動式保存装置４４に保存する場合には、移動式保存装置４４に対する頻繁なアクセスによって、移動式保存装置４４の寿命が短くなりうる。従って、その場合には、仮想ストレージ４９に当該データを持続的に保存させ、特定プログラムの設置を完了させることができる。そのとき、特定プログラムの設置が完了した場合、または所定の周期ごとに、または移動式保存装置４４がホスト・コンピュータから除去されるとき、仮想ストレージ４９に保存されたデータを移動式保存装置４４にフラッシュすることが可能である。他の例としては、アプリケーションを利用して文書の編集などの変更事項が発生した場合、当該データを移動式保存装置４４に直ちに保存することができる。
【００３６】
しかし、前述の内容は、本発明の一実施形態に過ぎず、ユーザがデータの保安を重要視する場合には、従来のように、作業の遂行過程で生成されたデータを、いずれも移動式保存装置４４に保存することができる。また、ユーザが作業性能を重要視する場合には、作業の遂行過程で生成されたデータを、仮想ストレージ４９に保存することができる。このように、仮想ストレージ４９と移動式保存装置４４とのうち、いずれにデータを保存するか否かは、ユーザの選択によると言える。
【００３７】
移動式保存装置４４がホスト・コンピュータに挿入されている間、仮想化階層４６は、周期的に仮想ストレージ４９を確認し、仮想ストレージ４９と移動式保存装置４４とを同期化する。一方、移動式保存装置４４がホスト・コンピュータから除去されるとき、仮想化階層は終了され、仮想ストレージ４９は、自動的に削除されうる。
【００３８】
図５は、本発明の一実施形態によるデータ入出力方法を示すフローチャートである。
【００３９】
図５を参照すれば、本実施形態によるデータ入出力方法は、図４に図示されたデータ入出力システムで、時系列的に処理される段階によって構成される。従って、以下において省略された内容であっても、図４に図示されたデータ入出力システムに係わって以上で述べた内容は、本実施形態のデータ入出力方法にも適用される。
【００４０】
５１段階で、仮想化階層４６は、少なくとも１つのアプリケーション４５を管理する仮想ＯＳ  ４７を、ホストＯＳ  ４２から生成する。
【００４１】
５２段階で、仮想化階層４６は、生成された仮想ＯＳ  ４７によってアクセス可能な仮想ストレージを、ホスト・ストレージ４８から生成する。
【００４２】
５３段階で、仮想化階層４６は、仮想ＯＳ  ４７のデータ入出力要請によって、データを仮想ストレージ４９または移動式保存装置４４に選択的に保存する。
【００４３】
また、本発明の一実施形態によるデータ入出力方法は、仮想ストレージ４９を移動式保存装置の固有情報、または移動式保存装置に内蔵されたキー値を利用して暗号化する段階をさらに含むことができる。これにより、仮想ストレージ４９は、ホストＯＳ  ４２からアクセスが不可能あり、ただ仮想ＯＳ  ４７によってのみアクセスが可能になる。
【００４４】
また、本発明の一実施形態によるデータ入出力方法は、移動式保存装置４４とホスト・コンピュータとの連結が解除される場合、仮想化階層４６によって、仮想ストレージ４９に保存されたデータを削除したり、移動式保存装置にフラッシュする段階をさらに含むことができる。
【００４５】
また、本発明によるシステムは、コンピュータで読取り可能な記録媒体に、コンピュータで読取り可能なコードとして具現することが可能である。コンピュータで読取り可能な記録媒体は、コンピュータシステムによって読取り可能なデータが保存されるあらゆる種類の記録装置を含む。記録媒体の例としては、ＲＯＭ（read-only  memory）、ＲＡＭ（random-access  memory）、ＣＤ−ＲＯＭ、磁気テープ、フロッピー（登録商標）ディスク、光データ保存装置などがある。また、コンピュータで読取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式でコンピュータで読取り可能なコードが保存されて実行されうる。
【００４６】
また、本発明は、キャリアウェーブ（例えば、インターネットを介した伝送）を介して伝送されたコンピュータで読取り可能なコードによって具現されうる。
【００４７】
以上、本発明は、たとえ限定された実施形態と図面とによって説明したとしても、本発明が、前記の実施形態に限定されるものではなく、本発明が属する分野で当業者であるならば、かような記載から多様な修正及び変形が可能であろう。従って、本発明の思想は、特許請求の範囲によってのみ把握されるものであり、それと均等であったり等価的な変形は、いずれも本発明の思想の範疇に属するものである。
【図１】
0005426576.tif 000002
【図２】
0005426576.tif 000003
【図３】
0005426576.tif 000004
【図４】
0005426576.tif 000005
【図５】
0005426576.tif 000006