JP5426576B2 - 仮想化技術を利用したデータ入出力方法及び装置 - Google Patents

仮想化技術を利用したデータ入出力方法及び装置 Download PDF

Info

Publication number
JP5426576B2
JP5426576B2 JP2010547554A JP2010547554A JP5426576B2 JP 5426576 B2 JP5426576 B2 JP 5426576B2 JP 2010547554 A JP2010547554 A JP 2010547554A JP 2010547554 A JP2010547554 A JP 2010547554A JP 5426576 B2 JP5426576 B2 JP 5426576B2
Authority
JP
Japan
Prior art keywords
data
virtual
virtual storage
memory
stored
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.)
Expired - Fee Related
Application number
JP2010547554A
Other languages
English (en)
Other versions
JP2011514992A (ja
Inventor
ジャン,ミン−ソン
パク,ソン−ヨル
パク,ジェ−ミン
ソ,サン−ボム
ホ,ソン−グァン
キム,ビョン−ワン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2011514992A publication Critical patent/JP2011514992A/ja
Application granted granted Critical
Publication of JP5426576B2 publication Critical patent/JP5426576B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Description

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

Claims (16)

  1. ホストに連結された外部装置に保存された運用体制(OS)情報に基づいて、前記外部装置のための仮想OSを生成する段階と、
    前記ホストのストレージの一部領域を、前記外部装置のための仮想ストレージとして設定する段階と、
    前記仮想OSのデータ入出力要請によって、データを前記仮想ストレージまたは前記外部装置のメモリのうち、いずれか一つに保存する段階と、を含み、
    前記データを保存する段階は、
    前記データがプログラムが実行される間にのみ存在する臨時ファイルであると判断された場合、前記データを前記仮想ストレージに保存し、
    前記データが臨時ファイルでないと判断された場合、前記データを前記仮想ストレージ及び前記メモリにそれぞれ保存するのにかかる時間を比較し、
    前記仮想ストレージに保存するのにかかる時間が前記メモリに保存するのにかかる時間以上の場合、前記データを前記メモリに保存し、前記仮想ストレージに保存するのにかかる時間が前記メモリに保存するのにかかる時間未満の場合、前記データを前記仮想ストレージに保存し、
    前記仮想運営体制が終了する場合、前記仮想ストレージに保存されたデータのうち前記臨時ファイルを除いた残りのデータを前記外部装置のメモリにフラッシングする、ことを特徴とするデータ入出力方法。
  2. 前記データを保存する段階は、
    前記データが、プログラムが実行される間にのみ存在する臨時ファイルであるか否かを判断する段階、を含むことを特徴とする請求項1に記載のデータ入出力方法。
  3. 前記仮想ストレージに保存されたデータは、周期的に削除されたり、前記メモリにフラッシュされることを特徴とする請求項2に記載のデータ入出力方法。
  4. ホストに連結された外部装置に保存された運用体制(OS)情報に基づいて、前記外部装置のための仮想OSを生成する段階と、
    前記ホストのストレージの一部領域を、前記外部装置のための仮想ストレージとして設定する段階と、
    前記仮想OSのデータ入出力要請によって、データを前記仮想ストレージまたは前記外部装置のメモリのうち、いずれか一つに保存する段階と、を含み、
    前記データを保存する段階は、
    前記データがプログラムが実行される間にのみ存在する臨時ファイルであると判断された場合、前記データを前記仮想ストレージに保存し、
    前記データが臨時ファイルでないと判断された場合、前記データのサイズが所定の値より小さいか否かを判断
    前記データのサイズが前記所定の値より小さい場合、前記データを前記仮想ストレージに保存し、前記データのサイズが前記所定の値より小さくない場合、前記データを前記メモリに保存
    前記仮想運営体制が終了する場合、前記仮想ストレージに保存されたデータのうち前記臨時ファイルを除いた残りのデータを前記外部装置のメモリにフラッシングする、ことを特徴とするデータ入出力方法。
  5. 前記仮想ストレージに保存されたデータは、周期的に削除されたり、前記メモリにフラッシュされることを特徴とする請求項に記載のデータ入出力方法。
  6. 前記仮想ストレージは、前記外部装置の固有情報、または前記外部装置に内蔵されたキー値を利用して暗号化されることによって、前記仮想OSによってのみアクセス可能であることを特徴とする請求項1に記載のデータ入出力方法。
  7. 前記外部装置と前記ホストとの連結が解除される場合、前記仮想ストレージに保存されたデータを削除したり、前記外部装置に、前記仮想ストレージに保存された前記データをフラッシュする段階をさらに含むことを特徴とする請求項1に記載のデータ入出力方法。
  8. 前記OS情報は、レジストリ、ファイル・システム、コンポーネント及びdynamiclinklibraryのうち少なくとも一つであり、
    前記仮想OSを生成する段階は、前記OS情報に基づいて、前記ホストのOSに対して独自の前記仮想OSを生成することを特徴とする請求項1に記載のデータ入出力方法。
  9. 請求項1に記載の方法を実行するためのプログラムを記録したコンピュータで読取り可能な記録媒体。
  10. ホストOS及びホスト・ストレージを含むホストと連結されるデータ入出力装置において、
    少なくとも1つのアプリケーションを保存するアプリケーション保存部と、
    仮想環境を設定するためのユーザ環境設定情報及びOS情報を保存する仮想環境部と、
    メモリと、
    前記OS情報に基づいて、前記ホストOSから仮想OSを生成し、前記ホスト・ストレージの一部領域を仮想ストレージとして設定し、前記仮想OSのデータ入出力要請によって、データを前記仮想ストレージまたは前記メモリのうち、いずれか一つに保存するように制御する仮想化階層と、を含み、
    前記仮想化階層は、
    前記データがプログラムが実行される間にのみ存在する臨時ファイルであると判断された場合、前記データを前記仮想ストレージに保存し、
    前記データが臨時ファイルでないと判断された場合、前記データを前記仮想ストレージ及び前記メモリにそれぞれ保存するのにかかる時間を比較し、
    前記仮想ストレージに保存するのにかかる時間が前記メモリに保存するのにかかる時間以上の場合、前記データを前記メモリに保存し、前記仮想ストレージに保存するのにかかる時間が前記メモリに保存するのにかかる時間未満の場合、前記データを前記仮想ストレージに保存し、
    前記仮想運営体制が終了する場合、前記仮想ストレージに保存されたデータのうち前記臨時ファイルを除いた残りのデータを前記外部装置のメモリにフラッシングする、ことを特徴とするデータ入出力装置。
  11. 前記仮想化階層は、前記データが、プログラムが実行される間にのみ存在する臨時ファイルであるか否かを判断することを特徴とする請求項10に記載のデータ入出力装置。
  12. ホストOS及びホスト・ストレージを含むホストと連結されるデータ入出力装置において、
    少なくとも1つのアプリケーションを保存するアプリケーション保存部と、
    仮想環境を設定するためのユーザ環境設定情報及びOS情報を保存する仮想環境部と、
    メモリと、
    前記OS情報に基づいて、前記ホストOSから仮想OSを生成し、前記ホスト・ストレージの一部領域を仮想ストレージとして設定し、前記仮想OSのデータ入出力要請によって、データを前記仮想ストレージまたは前記メモリのうち、いずれか一つに保存するように制御する仮想化階層と、を含み、
    前記仮想化階層は、
    前記データがプログラムが実行される間にのみ存在する臨時ファイルであると判断された場合、前記データを前記仮想ストレージに保存し、
    前記データが臨時ファイルでないと判断された場合、前記データのサイズが所定の値より小さいか否かを判断し、前記データのサイズが前記所定の値より小さい場合、前記データを前記仮想ストレージに保存し、前記データのサイズが前記所定の値より小さくない場合、前記データを前記メモリに保存し、
    前記仮想運営体制が終了する場合、前記仮想ストレージに保存されたデータのうち前記臨時ファイルを除いた残りのデータを前記外部装置のメモリにフラッシングすることを特徴とするデータ入出力装置。
  13. 前記仮想ストレージを暗号化するためのキー値を保存する暗号化キー保存部をさらに含むことを特徴とする請求項10に記載のデータ入出力装置。
  14. 前記仮想化階層は、前記仮想ストレージ及び前記メモリに保存されたデータを周期的に同期化することを特徴とする請求項10に記載のデータ入出力装置。
  15. 前記仮想化階層は、前記仮想ストレージに保存されたデータを周期的に削除したり、前記仮想ストレージに保存された前記データを、前記メモリにフラッシュすることを特徴とする請求項10に記載のデータ入出力装置。
  16. 前記装置と前記ホストとの連結が解除される場合、前記仮想化階層は、前記仮想ストレージに保存されたデータを削除したり、前記仮想ストレージに保存された前記データを、前記メモリにフラッシュすることを特徴とする請求項10に記載のデータ入出力装置。
JP2010547554A 2008-02-27 2008-12-08 仮想化技術を利用したデータ入出力方法及び装置 Expired - Fee Related JP5426576B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20080017888A KR101478619B1 (ko) 2008-02-27 2008-02-27 가상화 기술을 이용한 데이터 입출력 방법 및 장치
KR10-2008-0017888 2008-02-27
PCT/KR2008/007239 WO2009107926A1 (en) 2008-02-27 2008-12-08 Method and apparatus for inputting/outputting data using virtualization technique

Publications (2)

Publication Number Publication Date
JP2011514992A JP2011514992A (ja) 2011-05-12
JP5426576B2 true JP5426576B2 (ja) 2014-02-26

Family

ID=40999417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010547554A Expired - Fee Related JP5426576B2 (ja) 2008-02-27 2008-12-08 仮想化技術を利用したデータ入出力方法及び装置

Country Status (6)

Country Link
US (2) US8966142B2 (ja)
EP (1) EP2260399A4 (ja)
JP (1) JP5426576B2 (ja)
KR (1) KR101478619B1 (ja)
CN (1) CN101960442B (ja)
WO (1) WO2009107926A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101636878B1 (ko) * 2010-02-18 2016-07-06 삼성전자주식회사 가상화 환경에서의 데이터 처리 방법 및 드라이버
WO2011135637A1 (en) * 2010-04-30 2011-11-03 Hitachi,Ltd. Computer system and control method thereof
KR101763426B1 (ko) 2010-08-20 2017-07-31 삼성전자주식회사 외부기기 제어장치 및 방법
US20130091197A1 (en) 2011-10-11 2013-04-11 Microsoft Corporation Mobile device as a local server
FR2983599A1 (fr) 2011-12-01 2013-06-07 Thomson Licensing Procede de stockage de donnees de contenu d'un recepteur de contenus dans un equipement de stockage portable, et dispositif de controle associe
US9092247B2 (en) 2012-03-29 2015-07-28 Microsoft Technology Licensing, Llc Persistent and resilient worker processes
US10339328B1 (en) * 2014-07-15 2019-07-02 Cru Acquisition Group, Llc Securing stored computer files from modification
KR101916856B1 (ko) * 2017-01-10 2018-11-08 주식회사 시큐아이 패킷 처리 장치 및 방법
DE102019106281A1 (de) * 2019-03-12 2020-09-17 tooz technologies GmbH System, Verfahren, Computerprogramm, mobile Vorrichtung und Kit zum Betreiben einer Vorrichtung mit niedriger Rechenleistung

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0333948A (ja) 1989-06-29 1991-02-14 Nec Eng Ltd ファイル管理方式
JPH0482103A (ja) 1990-07-25 1992-03-16 Matsushita Electric Ind Co Ltd 誘電体磁器組成物
JPH0675836A (ja) 1992-08-25 1994-03-18 Nippon Densan Corp 補助記憶装置
US5555385A (en) 1993-10-27 1996-09-10 International Business Machines Corporation Allocation of address spaces within virtual machine compute system
JPH09282103A (ja) 1995-12-22 1997-10-31 Ricoh Co Ltd 情報処理装置
US6658526B2 (en) 1997-03-12 2003-12-02 Storage Technology Corporation Network attached virtual data storage subsystem
US6405362B1 (en) * 1998-11-13 2002-06-11 Microsoft Corporation Automatic software installation and cleanup
US6529992B1 (en) * 1999-07-26 2003-03-04 Iomega Corporation Self-contained application disk for automatically launching application software or starting devices and peripherals
US7373656B2 (en) * 2000-10-27 2008-05-13 Sandisk Il Ltd. Automatic configuration for portable devices
US20020135613A1 (en) * 2001-03-21 2002-09-26 O'hara Sean M. Transfer of personal information between computing systems
US6996582B2 (en) 2002-10-03 2006-02-07 Hewlett-Packard Development Company, L.P. Virtual storage systems and virtual storage system operational methods
US7089395B2 (en) 2002-10-03 2006-08-08 Hewlett-Packard Development Company, L.P. Computer systems, virtual storage systems and virtual storage system operational methods
US7620667B2 (en) * 2003-11-17 2009-11-17 Microsoft Corporation Transfer of user profiles using portable storage devices
US20050235045A1 (en) * 2004-03-05 2005-10-20 International Business Machines Corporation Portable personal computing environment server
US20050204013A1 (en) * 2004-03-05 2005-09-15 International Business Machines Corporation Portable personal computing environment technologies
US7600216B2 (en) * 2004-04-22 2009-10-06 Gteko, Ltd Method for executing software applications using a portable memory device
US8032674B2 (en) * 2004-07-19 2011-10-04 Marvell International Ltd. System and method for controlling buffer memory overflow and underflow conditions in storage controllers
JP4697936B2 (ja) 2005-01-17 2011-06-08 大日本印刷株式会社 カード型記憶媒体のデータをキャッシュするコンピュータシステムおよびキャッシュ方法
US7680643B2 (en) 2005-11-17 2010-03-16 International Business Machines Corporation Method for carrying multiple suspended runtime images
JP4819521B2 (ja) 2006-02-17 2011-11-24 株式会社日立製作所 記憶システム及び仮想化方法並びにストレージ装置
US7926054B2 (en) * 2006-03-03 2011-04-12 Novell, Inc. System, method, and computer-readable medium for virtual machine instantiation from an external peripheral device
WO2007136192A1 (en) 2006-05-18 2007-11-29 Sanggyu Lee Method for protecting client and server
KR20070111603A (ko) * 2006-05-18 2007-11-22 이상규 클라이언트 및 서버의 보안시스템
US8041863B2 (en) * 2006-11-16 2011-10-18 International Business Machines Corporation Automated solution to provide personalized user environment on any public computer using portable storage devices with personalized user settings uploaded to local registry of public computer
KR100892417B1 (ko) * 2006-12-04 2009-04-10 한국전자통신연구원 이동식 컴퓨팅 체제를 지원하는 이동식 저장 장치 및 이를이용한 이동식 컴퓨팅 체제 시스템
CN101196889A (zh) * 2006-12-08 2008-06-11 国际商业机器公司 优化存储系统中的文件放置的方法及装置
US8112603B2 (en) * 2007-10-19 2012-02-07 International Business Machines Corporation Methods, systems, and computer program products for file relocation on a data storage device
US8738854B2 (en) * 2010-09-03 2014-05-27 Hitachi, Ltd. Storage apparatus and control method of storage apparatus

Also Published As

Publication number Publication date
JP2011514992A (ja) 2011-05-12
EP2260399A1 (en) 2010-12-15
KR101478619B1 (ko) 2015-01-06
CN101960442A (zh) 2011-01-26
EP2260399A4 (en) 2011-06-29
CN101960442B (zh) 2013-01-02
US9164919B2 (en) 2015-10-20
US20150127955A1 (en) 2015-05-07
KR20090092570A (ko) 2009-09-01
WO2009107926A1 (en) 2009-09-03
US20090216916A1 (en) 2009-08-27
US8966142B2 (en) 2015-02-24

Similar Documents

Publication Publication Date Title
JP5426576B2 (ja) 仮想化技術を利用したデータ入出力方法及び装置
JP5065587B2 (ja) システムパフォーマンスを改善するための外部メモリデバイスの使用
JP6050262B2 (ja) 仮想ディスクストレージ技術
RU2568280C2 (ru) Быстрый запуск компьютера
CN110663019B (zh) 用于叠瓦式磁记录(smr)的文件系统
CN101650660B (zh) 从中央存储装置引导计算机系统
JP5955870B2 (ja) 仮想ディスクの最適圧縮のための方法、コンピュータ可読記憶媒体及びシステム
TWI428830B (zh) 將機器轉換至虛擬機器的方法及電腦程式產品
US8966188B1 (en) RAM utilization in a virtual environment
US8661457B2 (en) Pipeline across isolated computing environments
US9459899B2 (en) Apparatus and method for providing services using a virtual operating system
US20120144391A1 (en) Provisioning a virtual machine
US20060277225A1 (en) Converting file system metadata structure while the file system remains available
JP4808275B2 (ja) ネットワークブートシステム
KR20140014146A (ko) 동면으로부터의 다중 페이즈 재개
CN104603750A (zh) 使用bpram来布局和执行软件应用
CN110704161B (zh) 虚拟机创建方法、装置及计算机设备
CN104583948A (zh) 使用bpram来布局和执行操作系统
US9288109B2 (en) Enabling cluster scaling
KR20110033066A (ko) 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법
KR20090131142A (ko) 메모리 관리 장치 및 방법
Bettany et al. Understanding windows file systems

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121106

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130515

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130917

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131029

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131128

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5426576

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees