JP5381713B2 - 仮想マシン向けデータ格納システム、データ格納方法およびデータ格納用プログラム - Google Patents

仮想マシン向けデータ格納システム、データ格納方法およびデータ格納用プログラム Download PDF

Info

Publication number
JP5381713B2
JP5381713B2 JP2009542534A JP2009542534A JP5381713B2 JP 5381713 B2 JP5381713 B2 JP 5381713B2 JP 2009542534 A JP2009542534 A JP 2009542534A JP 2009542534 A JP2009542534 A JP 2009542534A JP 5381713 B2 JP5381713 B2 JP 5381713B2
Authority
JP
Japan
Prior art keywords
data
block
identifier
virtual
virtual machine
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.)
Active
Application number
JP2009542534A
Other languages
English (en)
Other versions
JPWO2009066611A1 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2009542534A priority Critical patent/JP5381713B2/ja
Publication of JPWO2009066611A1 publication Critical patent/JPWO2009066611A1/ja
Application granted granted Critical
Publication of JP5381713B2 publication Critical patent/JP5381713B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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/109Address translation for multiple virtual address spaces, e.g. segmentation
    • 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/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/656Address space sharing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は仮想マシン向けデータ格納システム、仮想マシン向けデータ格納方法および仮想マシン向けデータ格納用プログラムに関し、特に複数の仮想マシンをホストするシステムにおいて、各仮想マシンに格納されているデータを効率よく探索し、2個以上の仮想マシン上に存在する同一データ、もしくは類似データを発見し、それらのデータのうち1個を保持し、残りは同一データへのポインタに置換することにより、ストレージ上でのデータの重複を防止し、データ格納の為のストレージの使用量を抑制できる(ストレージ使用量の抑制に用いる)仮想マシン向けデータ格納システム、仮想マシン向けデータ格納方法および仮想マシン向けデータ格納用プログラムに関するものである。
関連するデータ格納方法の一例が、特許文献1に記載されている。この方法は、データをブロック単位で取り扱い、各ブロックのハッシュ値を計算し、あるブロックを保存する際に、そのブロックとハッシュ値が一致するブロックが既に保存されている場合には、新規に保存しようとしているブロックと、ハッシュ値の一致した既に保存されているブロックのデータが一致していないかを確認し、一致していた場合には、新規保存しようとしているブロックについては、データそのものを保存するのではなく、既に保存されているブロックを参照するためのブロック識別子を保存することにより、ブロックの重複保存を回避して記憶容量を節約する。
また、関連するデータ格納方法の一例が、非特許文献1に記載されている。この方法は、異なる仮想マシンから使用されている、異なるメモリページについて、ページ中のデータが等しい場合には、仮想マシンマネージャ中のシャドウページ管理テーブルを変更し、異なる仮想マシンから同一のメモリページを参照することで、メモリページの重複使用を回避して、記憶容量を節約する。等しいデータを保持するページを発見するために、ページ中のデータのハッシュ値を計算し、ハッシュ値の等しいページについてページ中のデータの比較を行う。
ここで、同種のゲストOS2の制御下で動作する仮想計算機α,βは、セグメンテーション方式による仮想記憶管理機能共用手段により、実SYSINファイル装置及び実入力装置に対する入出力を管理する入出力管理部と、実入力装置から実SYSINファイル装置8へのジョブの登録および登録されたジョブの実施状態を管理するSYSINリーダ部と、ゲストOS又はSYSINリーダ部からの要求でジョブの登録および実行に必要なデータの入出力を入出力管理部に指示するデータ管理部とを、システム共有アドレス空間に配置し、仮想計算機α,βで共用するように構成することで、複数の仮想計算機で実SYSINファイル装置および実入力装置を共用し、SYSIN制御を実計算機システムと同様に行える技術が提案されている(例えば、特許文献2参照)。
米国特許出願公開第2007/0101074号明細書 特開平06−119192号公報 タイトル: Virtual machines: Memory resource management in VMware ESX server 著者: Carl A. Waldspurger 書誌情報: December 2002 ACM SIGOPS Operating Systems Review, Volume 36 Issue SI Publisher: ACM Press
しかしながら、上述の関連技術では、複数の仮想マシンを実行するに当たって、それぞれの仮想マシンに格納されているデータから、共通部分を短時間のうちに発見するのが難しかった。その理由は、前記の特許文献1および非特許文献1に示されている技術により、仮想マシン間の重複データを発見し、記憶容量を節約することが出来るが、その際にはそれぞれの仮想マシンに格納されているデータのブロックのハッシュ値を計算する必要がある。ここで、従来技術では、ハッシュ値の一致する可能性が高いブロックの組を、ハッシュ値を計算する前に推定することができないため、全てのブロックのハッシュ値を計算しなければならない為である。
本発明の目的は、複数の仮想マシンを実行でき、それぞれの仮想マシンに格納されているデータから、共通部分を短時間のうちに発見することによって、記憶装置の空き容量を短時間で確保できる、仮想マシン向けデータ格納システム、データ格納方法およびデータ格納用プログラムを提供することにある。
かかる目的を達成するために、本発明は、以下の特徴を有することとする。
本発明の仮想マシン向けデータ格納システムは、重複データ発見手段(102)(重複データ発見手段(112))と、仮想ブロック取得手段A(122)(仮想ブロック取得手段B(123))と、重複ブロック発見手段(121)を備え、
まず、重複データ発見手段(102)(重複データ発見手段(112))が、仮想マシンA(100)(仮想マシンB(110))中のメタ情報管理手段(104)(メタ情報管理手段(114))から、メタ情報を取得し、取得したメタ情報を用いて、各仮想マシン上の重複データを発見する。
次に、仮想ブロック取得手段A(122)(仮想ブロック取得手段B(123))が、各仮想マシン上の前記重複データに対応する仮想ブロック識別子を取得する。
その後に、重複ブロック発見手段(121)が仮想ブロックに対応する実ブロック中のデータを比較し、一致するブロックについてブロックマップ管理手段(125)に仮想ブロック識別子ペアを送る。
最後に、ブロックマップ管理手段(125)が、仮想ブロック識別子と実ブロック識別子の関連付けを変更し、一致するブロックについては、該当する仮想ブロック識別子を、1個の実ブロック識別子に関連付け、該当する仮想ブロック識別子に関連付けられていた、残りの実ブロック識別子との関連付けを消去するよう動作する。
このような構成を採用し、仮想マシンA(100)および仮想マシンB(110)中にて管理されているメタ情報を用いて、重複データを短時間に発見し、重複データに対応する各仮想ブロック識別子を取得し、それらの仮想ブロック識別子が指すブロック中のデータが等しい場合には、仮想マシン管理手段(120)中にて管理されている仮想ブロックと実ブロックの関連付けを変更することにより、本発明の目的を達成することができる。
本発明によれば、重複ブロックを短時間で発見し、重複ブロックを1個の実ブロックにまとめることで、短時間で空き容量を確保できる。
以下、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
図1を参照すると、本発明の第1の実施の形態は、計算機上でソフトウェアを実行することにより得られる、仮想マシンA(100)と、仮想マシンB(110)と、仮想マシン管理手段(120)からなる。
仮想マシンA(100)は、アプリケーション(101)、重複データ発見手段(102)、データ管理手段(103)、メタ情報管理手段(104)、データマップ管理手段(105)を備え、
仮想マシンB(110)は、アプリケーション(111)、重複データ発見手段(112)、データ管理手段(113)、メタ情報管理手段(114)、データマップ管理手段(115)を備え、
仮想マシン管理手段(120)は、重複ブロック発見手段(121)、仮想ブロック取得手段A(122)、仮想ブロック取得手段B(123)、ブロックアクセス手段(124)、ブロックマップ管理手段(125)、実ブロック記憶手段(126)を備える。各仮想マシンは仮想マシン管理手段(120)上で一意な仮想マシン識別子によって識別される。
これらの手段はそれぞれ概略つぎのように動作する。
アプリケーション(101)は、データアクセスコマンドをデータ管理手段(103)に引渡し、データアクセスコマンドに含まれるデータ識別子に関連付けられたデータの作成と消去および読み書きを行う。
重複データ発見手段(102)は、メタ情報アクセスコマンドをメタ情報管理手段(104)に引渡し、メタ情報を受け取る。また、データアクセスコマンドをデータ管理手段(103)に引渡し、データアクセスコマンドに含まれるデータ識別子に関連付けられたデータを読み込む。また、データ識別子、データ、メタ情報から重複データ探索情報を生成する。また、重複データ発見手段(112)と重複データ探索情報を送受する。さらに、自身が生成した重複データ探索情報と、重複データ発見手段(112)から受信した重複データ探索情報を比較することで、仮想マシンA(100)と仮想マシンB(110)において重複しているデータを発見する。そして、発見した重複データのデータ識別子を重複データ識別子Aとして、重複ブロック発見手段(121)に引き渡す。
データ管理手段(103)は、データアクセスコマンドを用いてデータを作成と消去および読み書きする機能を、アプリケーション(101)および重複データ発見手段(102)に提供する。また、データ管理手段(103)は、データマップアクセスコマンドをデータマップ管理手段(105)に引渡し、データマップアクセスコマンドに含まれるデータ識別子に関連付けられた1個以上の仮想ブロック識別子を得る。もしくは、データ識別子に対して仮想ブロック識別子を新たに割り当てるようデータマップ管理手段(105)に要求する。もしくはデータ識別子と仮想ブロック識別子との関連付けを解除するようデータマップ管理手段(105)に要求する。また、データ管理手段(103)は、仮想ブロックアクセスコマンドをブロックアクセス手段(124)に引渡し、仮想ブロックアクセスコマンドに含まれる仮想ブロック識別子に関連付けられたブロックデータの作成と消去および読み書きを行う。
メタ情報管理手段(104)は、メタ情報アクセスコマンドを受け取り、メタ情報を引き渡す。メタ情報については後述する。
データマップ管理手段(105)は、ある仮想マシン上で一意なデータ識別子と同仮想マシン上で一意な仮想ブロック識別子を関連付けて記憶し、データマップアクセスコマンドを受け取った際に、データマップアクセスコマンドに応じて、そのデータマップアクセスコマンドに含まれるデータ識別子に関連付けられた1個以上の仮想ブロック識別子を引き渡す。もしくは、データ識別子に新たに仮想ブロック識別子を関連付ける。もしくは、データ識別子と仮想ブロック識別子との関連付けを解除する。
仮想マシンB(110)を構成するアプリケーション(111)と、重複データ発見手段(112)と、データ管理手段(113)と、メタ情報管理手段(114)と、データマップ管理手段(115)は、仮想マシンA(100)の対応する手段と同様に動作する。
重複ブロック発見手段(121)は、重複データ識別子Aおよび重複データ識別子Bを受け取る。また、重複データ識別子Aの送信元である仮想マシンA(100)に対応する仮想ブロック取得手段A(122)に、重複データ識別子Aを引き渡して1個以上の仮想ブロック識別子Aを得る。また、重複データ識別子Bの送信元である仮想マシンB(110)に対応する仮想ブロック取得手段B(123)に、重複データ識別子B引き渡して1個以上の仮想ブロック識別子Bを得る。また、個々の仮想ブロック識別子Aおよび、仮想ブロック識別子Bを含む仮想ブロックアクセスコマンドをブロックアクセス手段(124)に引渡し、対応するブロックデータAおよびブロックデータBを得る。さらに、ブロックデータAとブロックデータBの内容を比較し、一致した場合には、ブロックデータAの送信元の仮想マシン識別子Aである仮想マシン識別子AとブロックデータAに対応する仮想ブロック識別子Aを組にしたものと、同様に仮想マシン識別子Bと仮想ブロック識別子Aを組にしたものを作成し、さらにそれらの二組を含む仮想ブロック識別子ペアを作成する。そして、仮想ブロック識別子ペアをブロックマップ管理手段(125)に引き渡す。
仮想ブロック取得手段A(122)は、重複データ識別子Aを受け取る。また、重複データ識別子Aを含むデータマップアクセスコマンドをデータマップ管理手段(105)に送り、重複データ識別子Aに対応する1個以上の仮想ブロック識別子Aを受け取る。そして、仮想ブロック識別子Aを重複ブロック発見手段(121)に引き渡す。
仮想ブロック取得手段B(123)は、重複データ識別子Bを受け取る。また、重複データ識別子Bを含むデータマップアクセスコマンドをデータマップ管理手段(115)に送り、重複データ識別子Bに対応する1個以上の仮想ブロック識別子Bを受け取る。そして、仮想ブロック識別子Bを重複ブロック発見手段(121)に引き渡す。
ブロックアクセス手段(124)は、仮想ブロックアクセスコマンドを受け取り、仮想ブロックアクセスコマンドに含まれる仮想ブロック識別子に対し、仮想ブロックアクセスコマンドが指定する処理(作成と消去および読み書き)を行い、コマンドの結果を返す。コマンドが読み込み処理を指定していた場合には、結果には仮想ブロックデータが含まれる。また、仮想ブロックアクセスコマンドの送信元の仮想マシン識別子と仮想ブロックアクセスコマンドに含まれている仮想ブロック識別子を、パラメータとして含むブロックマップアクセスコマンドをブロックマップ管理手段(125)に引渡し、実ブロック識別子を受け取る。また、実ブロック識別子を含む実ブロックアクセスコマンドを実ブロック記憶手段(126)に引渡し、ブロックデータを作成と消去および読み書きを要求する。
ブロックマップ管理手段(125)は、仮想マシン識別子と仮想ブロック識別子の組と実ブロック識別子の関連付けを管理しており、仮想マシン識別子と仮想ブロック識別子の組をパラメータとして含むブロックマップアクセスコマンドを受け取って、ブロックマップアクセスコマンドの種類に応じて、仮想マシン識別子と仮想ブロック識別子の組に実ブロック識別子を新たに関連付けする、仮想マシン識別子と仮想ブロック識別子の組と実ブロック識別子との対応付けを解除する、仮想マシン識別子と仮想ブロック識別子の組に対応する実ブロック識別子を回答するという処理を行う。また、仮想ブロック識別子ペアを受け取って、仮想ブロック識別子ペアに含まれる仮想マシン識別子と仮想ブロック識別子の二組に同一の実ブロック識別子を関連付ける。典型的には、片方の仮想マシン識別子と仮想ブロック識別子の組と実ブロック識別子の関連付けを解除し、もう片方の実ブロック識別子へと関連付けを変更するよう動作する。
実ブロック記憶手段(126)は、実ブロックアクセスコマンドを受け取り、実ブロックアクセスコマンドに含まれる仮想ブロック識別子に対応したブロックデータの作成と消去および読み書きを行う。
次に、図3と図4及び図5のシーケンス図を参照して本実施の形態の全体の動作について詳細に説明する。
最初に、アプリケーションがデータにアクセスする際のシーケンスについて、図4を参照して説明する。
まず、アプリケーション(101)がアクセスしたいデータを指定したデータ識別子を含むデータアクセスコマンドを発行する(601)と、データアクセスコマンドを受け取ったデータ管理手段(103)がデータマップアクセスコマンドを発行(602)する。
そして、データマップアクセスコマンドを受け取ったデータマップ管理手段(105)は、データ識別子と仮想ブロック識別子の関連付けに基き、1個以上の仮想ブロック識別子を返す(603)。
ここで、仮想ブロック識別子が1個以上となるのは、データ識別子で識別されるデータが、複数のブロックに分割して記憶されている場合があるからである。
次に、仮想ブロック識別子を受け取ったデータ管理手段(103)が、仮想ブロック識別子を含む仮想ブロックアクセスコマンドを発行する(604)。仮想ブロックアクセスコマンドを受け取ったブロックアクセス手段(124)は、仮想ブロックアクセスコマンド中の仮想ブロック識別子を含むブロックマップアクセスコマンドを発行し(605)、ブロックマップアクセスコマンドを受け取ったブロックマップ管理手段(125)は、仮想ブロック識別子に対応する実ブロック識別子を返す(606)。
実ブロック識別子を受け取ったブロックアクセス手段(124)は、実ブロック識別子を含む実ブロックアクセスコマンドを発行し(607)、実ブロックアクセスコマンドを受け取った実ブロック記憶手段(126)は、実ブロック識別子で指定されるブロックに記録されたブロックデータを返す(608)。
ブロックデータを受け取ったブロックアクセス手段(124)は、そのブロックデータをデータ管理手段(103)に引き渡す(609)。
ブロックデータを受け取ったデータ管理手段(103)は、データアクセスコマンドに含まれていたデータ識別子に対応する1個以上の仮想ブロック識別子について、対応するブロックデータを連結したものを、データとしてアプリケーション(101)に引き渡す。
なお、以上では仮想マシンA(100)と仮想マシン管理手段(120)の間でのシーケンスについて説明したが、仮想マシンB(110)と仮想マシン管理手段(120)の間でのシーケンスも同様である。
さらに、図4および図5を参照して、重複データを発見し、重複ブロックをまとめる手順を詳細に説明する。
まず、重複データ発見手段(102)がメタ情報アクセスコマンドを発行し(701)、メタ情報アクセスコマンドを受け取ったメタ情報管理手段(104)が対応するメタ情報を重複データ発見手段(102)に返す(702)。メタ情報は仮想マシンA(100)の特徴を示す情報であり、後述の実施例において具体例を挙げて説明する。
次に、重複データ発見手段(102)は、受け取ったメタ情報を含む重複データ探索情報を仮想マシンB(110)の重複データ発見手段(112)に送信する。同様に重複データ発見手段(112)からも重複データ探索情報が仮想マシンA(100)の重複データ発見手段(102)に送信される(703)。
重複データ発見手段(102)は、受け取った重複データ探索情報を参照して、仮想マシンB(110)と重複している可能性の高いデータのデータ識別子を推測する(704)。この推測の詳細は、後述の実施例において具体例を挙げて説明する。そして、各データ識別子について一致している可能性の高い順番で、以降のシーケンスに従い処理を行う。仮想マシンA(100)上の全てのデータ識別子について、以降の処理が既に終了している場合には、ここでシーケンスを終了する。
重複データ発見手段(102)は、仮想マシンB(110)と重複している可能性の高いデータのデータ識別子を含むデータアクセスコマンドを発行する(705)。このデータアクセスコマンドは「データの読み込み」を要求する。
以降706から714までのシーケンスは、図4で説明したアプリケーション(101)がデータアクセスコマンドを発行した場合のシーケンスと同様であるため、詳細な説明は省略する。
仮想マシンB(110)と重複している可能性が高いデータを受け取った重複データ発見手段(102)は、重複データ発見手段(112)にデータを含んだ重複データ探索情報を送信する。同様に重複データ発見手段(112)は重複データ発見手段(102)にデータを含んだ重複データ探索情報を送信し、重複データ発見手段(102)はそれを受信する(715)。
重複データ発見手段(102)は、重複データ発見手段(112)から受け取った重複データ探索情報に含まれるデータと、自身が(714)で読み込んだデータと比較する(801)。
データが一致していない場合には(704)に戻り、重複の可能性が次に高いデータについての処理を行う。
データが一致していた場合には、以降のシーケンスに従って処理を行う。
重複データ発見手段(102)は、重複が確認されたデータのデータ識別子である重複データ識別子Aを、重複ブロック発見手段(121)に送る(802)。
重複データ発見手段(112)も同様に、重複が確認されたデータのデータ識別子である重複データ識別子Bを、重複ブロック発見手段(121)に送る(802と平行して、もしくは802の直後に行われるが、図示せず)。
重複ブロック発見手段(121)は、受信した重複データ識別子Aを仮想ブロック取得手段A(122)に送る(803)。
重複データ識別子Aを受信した仮想ブロック取得手段A(122)が重複データ識別子Aを含むデータマップアクセスコマンドをデータマップ管理手段(105)に送り(804)、重複データ識別子Aに対応した1個以上の仮想ブロック識別子Aを受け取る(805)。
そして、仮想ブロック識別子Aを受け取った仮想ブロック取得手段A(122)が、仮想ブロック識別子Aを重複ブロック発見手段(121)に引き渡す(806)。
仮想ブロック識別子Aを受け取った重複ブロック発見手段(121)は、その仮想ブロック識別子Aに対応するブロックデータAを取得する(807〜812)。この処理は(708〜713)と同様であるため、詳細な説明は省略する。
重複ブロック発見手段(121)は、受信した重複データ識別子Bについても(803)〜(806)と同様に処理し、仮想ブロック識別子Bを受け取る(803〜806と平行して行われる、もしくは803〜806の直後に行われるが、図示せず)。
さらに、受け取った仮想ブロック識別子Bについて、(807)〜(812)と同様に処理し、仮想ブロック識別子Bに対応するブロックデータBを取得する。(807〜812と平行して行われる、もしくは807〜812の直後に行われるが、図示せず)。
ブロックデータAとブロックデータBを取得した重複ブロック発見手段(121)は、ブロックデータAとブロックデータBを比較する(813)。
なお、この比較処理においては、ブロックデータAとブロックデータBを直接に比較してもよいが、比較処理を高速化するためにブロックのハッシュ値を予め計算しておくなどの手法を併用してもよい。
ブロックデータAとブロックデータBが一致していない場合には(704)に戻り、重複の可能性が次に高いデータについての処理を行う。
ブロックデータAとブロックデータBが一致している場合には、それぞれに対応する仮想ブロック識別子Aと仮想ブロック識別子Bを組にして仮想ブロック識別子ペアを生成し、ブロックマップ管理手段(125)に送る(814)。
仮想ブロック識別子ペアを受け取ったブロックマップ管理手段(125)は、仮想ブロック識別子ペアに含まれる2個の仮想ブロック識別子について、仮想ブロック識別子Aと、それに対応している実ブロック識別子Aの関連付けを解除し、関連付けを解除された仮想ブロック識別子Aを、もう片方の仮想ブロック識別子Bに関連付けられている実ブロック識別子Bに関連付ける。そして、関連付けがなくなった実ブロック識別子Aに対応するブロックは未使用となり、ブロック1個分の空き容量が新たに確保される。なお、同様に仮想ブロック識別子Bの関連付けを解除して、実ブロック識別子Bに対応するブロックを未使用としても良い。
次に、本実施の形態の効果について説明する。
本実施の形態では、まず重複データ発見手段(102)および重複データ発見手段(112)がメタ情報に基いて一致する可能性が高いデータのデータ識別子を推測する。
さらに、重複データ発見手段(102)および重複データ発見手段(112)が、前記のデータ識別子に対応するデータが一致することを確認する。
その後に重複ブロック発見手段(121)が、前記のデータ識別子に対応する仮想ブロック識別子Aと仮想ブロック識別子Bについて、重複するブロックを発見して、ブロックマップ管理手段(125)での関連付けを変更して、ブロックを統合し、空き容量を確保する。
このように構成されているため、メタ情報での推測と、データの一致確認を行わずに、
ブロックの重複発見を行う方法に比べて、重複ブロックの候補を短時間で発見して空き容量を確保することができる。
発明の効果を、図6、7、8、3を用いて詳細に説明する。
図6を見ると、関連技術における、単位時間当たりの一致ブロック発見数の、時間変化がグラフとして示されている。
関連技術においては、単位時間あたりの一致ブロック発見数は、経過時間によらず、およそ一定となる。なぜならば、全ブロックについて単に順番に一致を確認するため、一致ブロックが発見される確率がおよそ一定となるからである。
なお、経過時間Tにおいて、全ブロックの確認が終了するものとする。
次に図7を見ると、関連技術における、全使用中ブロック数の時間変化がグラフとして示されている。
関連技術においては、全使用中ブロック数は、一定の速さで減少する。なぜならば、単位時間当たりの一致ブロック発見数が一定であるからである。
図8を見ると、本発明の技術における、単位時間当たりの一致ブロック発見数の、時間変化がグラフとして示されている。
本発明の技術においては、単位時間あたりの一致ブロック発見数は、経過時間が短いうちは多く、経過時間が長くなるにつれて減少する。なぜならば、メタ情報を用いて、重複データを発見することにより、一致する確率が高いブロックを優先して確認するからである。図3を見ると、本発明の技術における、全使用中ブロック数の時間変化がグラフとして示されている。
本発明の技術においては、全使用中ブロック数は、経過時間が短いうちは急速に減少し、経過時間が長くなるにつれて、減少が緩やかになる。なぜならば、単位時間当たりの一致ブロック発見数が、経過時間が長くなるにつれて減少するからである。
なお、全ブロックの確認が終了した時点Tでの全使用中ブロック数は、従来技術と一致する。
ここで、全ての一致ブロックを発見するよりまえの時点tでの全使用中ブロック数を見ると、関連技術における全使用中ブロック数B1よりも、本発明の技術における全使用中ブロック数B2が少なくなる。
これは、本発明の技術により、短時間で空き容量が確保されることを示している。これにより、経過時間0の時点では空き容量不足により格納不可能であるデータが存在した場合に、このデータを格納可能になるまでの経過時間を、従来技術よりも本発明の技術のほうが短くできる。
また、一致ブロックの発見を、経過時間tで打ち切った場合に、確保できる空き容量は、関連技術よりも本発明の技術のほうが大きく出来る。
次に、本発明の第2の発明を実施するための最良の形態について図面を参照して詳細に説明する。
図9を参照すると、仮想マシンの一つとして管理用仮想マシンが動作している。
そして、本発明の第1の発明を実施するための最良の形態では、仮想マシン管理手段(120)中に配置されていた手段が、管理用仮想マシン(900)上に配置されており、仮想マシン管理手段(120)はコマンド転送手段(904)を備える。
コマンド転送手段(904)は仮想マシンA(901)および仮想マシンB(902)から仮想マシン管理手段(903)へと発行された仮想ブロックアクセスコマンドを管理用仮想マシン(900)へと転送し、それらの仮想ブロックアクセスコマンドのレスポンスを仮想マシンA(901)および仮想マシンB(902)へと転送する。また、管理用仮想マシン(900)から仮想マシンA(901)および仮想マシンB(902)へと発行されたデータマップアクセスコマンドを中継し、仮想マシンA(901)および仮想マシンB(902)からのレスポンスを管理用仮想マシン(900)へと転送する。
その他の手段は本発明の第1の発明を実施するための最良の形態と同様に動作する。
発明の効果は、本発明の第1の発明を実施するための最良の形態と同様である。
次に、具体的な実施例を用いて本発明を実施するための最良の形態の動作を説明する。
図10に示すように、本発明をファイルシステムを介したデータ格納方式に適用できる。
仮想マシンA(1000)上で、重複ファイル発見エージェントA(1002)が、システム情報管理モジュール(1004)から、システム情報を取り出す。
同様に、仮想マシンB(1010)上で、重複ファイル発見エージェントB(1012)が、システム情報管理モジュール(1014)から、システム情報を取り出す。
本実施例では、このシステム情報が、前述したメタ情報に該当する。
このシステム情報の、典型例としては仮想マシン上で動作しているオペレーティングシステムの名称が挙げられる。例えば、「Windows(登録商標) XP SP2」や、「Red Hat Linux 9.0」などである。
また他のシステム情報の、典型例としては仮想マシン上にインストールされているアプリケーションの名称が挙げられる。例えば「Microsoft Office(登録商標) 2003」
や「Skype 3.0」などである。
重複ファイル発見エージェントA(1002)および重複ファイル発見エージェントB(1012)は、前記のシステム情報を参照して、データが一致する可能性が高いファイルを推測し、ファイル名を決定する。例えば、仮想マシンA(1000)と仮想マシンB(1010)において、「Windows(登録商標) XP SP2」というオペレーティングシステムが稼動していることがシステム情報から判明した場合には、同一のオペレーティングシステムが稼動していることから、オペレーティングシステムを構成するファイルにおいてデータが一致する可能性が高いと推測できる。
また、仮想マシンA(1000)と仮想マシンB(1010)において、「Microsoft Office(登録商標) 2003」というアプリケーションがインストールされていることがシステム情報から判明した場合には、同一のアプリケーションがインストールされていることから、アプリケーションを構成するファイルにおいてデータが一致する可能性が高いと推測できる。
ファイルは仮想マシンA(1000)および仮想マシンB(1010)上におけるファイルシステム(1003)およびファイルシステム(1013)によって管理されている。また、ファイルシステムの下位モジュールであるファイルレイアウトモジュール(1005)とファイルレイアウトモジュール(1015)によって、ファイルのファイル名とブロックのブロック番号の対応付けを管理している。ここで仮想マシンA(1000)と仮想マシンB(1010)は仮想マシンモニタ(1020)により仮想化されているので、ファイルレイアウトモジュール(1005)とファイルレイアウトモジュール(1015)が管理しているブロック番号は仮想ブロック番号である。
ファイルシステムは仮想ブロックアクセスコマンドを発行し、仮想ブロックデバイス(1024)を介してブロックへのアクセス(作成と消去、読み書き)を行う。
重複ブロック発見モジュール(1021)は、重複ファイル発見エージェントA(1002)と重複ファイル発見エージェントB(1012)から重複ファイル情報Aと重複ファイル情報Bを取得し、それらに含まれるファイル名に対応するブロックの仮想ブロック番号を仮想ブロック取得モジュール(1022)と仮想ブロック取得モジュール(1023)を介して取得し、それらの仮想ブロック番号に対応するブロックデータを仮想ブロックデバイス(1024)を介して取得する。そして、取得したブロックデータを比較し、一致するブロックデータを発見した場合には、ブロックマップ管理モジュール(1025)にそれらの一致したブロックデータに対応する仮想マシン識別子と仮想ブロック番号の組を二組含む仮想ブロック識別子ペアを引き渡す。
仮想ブロックデバイス(1024)は、仮想ブロックアクセスコマンドを受け取ると、仮想ブロックアクセスコマンド中の仮想ブロック番号を含むブロックマップアクセスコマンドをブロックマップ管理モジュール(1025)に引渡し、実ブロック番号を取得する。そして、取得した実ブロック番号を含む仮想ブロックアクセスコマンドを実ブロックデバイスドライバ(1026)に送り、実ブロックにアクセス(作成と消去、読み書き)を行う。
ブロックマップ管理モジュール(1025)は、仮想マシン識別子と仮想ブロック番号の組と実ブロック番号の対応付けを管理しており、仮想マシン識別子と仮想ブロック番号の組を含むブロックマップアクセスコマンドを受け取ると、ブロックマップアクセスコマンドの種類に応じて、仮想マシン識別子と仮想ブロック番号の組に対する新たな実ブロック番号の割り当て、仮想マシン識別子と仮想ブロック番号の組に割り当てられている実ブロック番号を解放、仮想マシン識別子と仮想ブロック番号の組に対応する実ブロック番号の回答を行う。また、仮想ブロック識別子ペアを受け取ると、仮想ブロック識別子ペアに含まれる片方の仮想マシン識別子と仮想ブロック番号の組に対応する実ブロック番号を解放し、もう片方の仮想マシン識別子と仮想ブロック番号の組に対応する実ブロック番号へと関連付けを変更する。
また、第2の本発明を実施するための最良の形態として、本発明をメモリマップシステムを介したデータ格納方式に適用することもできる。
メモリマップシステムは、あるファイルのデータを主記憶装置(一般にDRAMが用いられる)上に配置する為に用いられる。
この場合、ブロックはメモリの管理単位であるページに対応することになり、データ識別子はメモリに配置されるファイルのファイル名となる。
複数の仮想マシンが主記憶装置を共有するため、仮想ページ番号と実ページ番号が用いられ、それぞれが前記の仮想ブロック識別子と実ブロック識別子に対応する。
なお、第3の本発明を実施するための最良の形態として、3個以上の仮想マシンを動作させるシステムでのデータ格納方式に適用することもできる。
例えば、図11に示すように、仮想マシンモニタ(1110)上で、仮想マシンが仮想マシンA(1100)、仮想マシンB(1102)、仮想マシンC(1104)、仮想マシンD(1106)、仮想マシンE(1108)の5個存在し、仮想マシンAと仮想マシンB上では、「Windows(登録商標) XP SP2」が動作しており、仮想マシンCと仮想マシンD上では、「Red Hat Linux 9.1」が動作しており、仮想マシンE上では「Solaris 10」が動作していた場合に、AとBの間での重複データ発見と、CとDの間での重複データ発見を優先するように、重複ファイル発見エージェントA(1101)、重複ファイル発見エージェントB(1103)、重複ファイル発見エージェントC(1105)、重複ファイル発見エージェントD(1107)、重複ファイル発見エージェントE(1109)が動作する。
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。例えば、本システムの機能を実現するためのプログラムを計算機に読込ませて実行することにより本システムの機能を実現する処理を行ってもよい。さらに、そのプログラムは、コンピュータ読み取り可能な記録媒体であるCD−ROMまたは光磁気ディスクなどを介して、または伝送媒体であるインターネット、電話回線などを介して伝送波により他のコンピュータシステムに伝送されてもよい。
なお、この出願は、2007年11月20日に出願した、日本特許出願番号2007−300799号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明によれば、仮想化技術を用いた計算機におけるストレージの空き容量を短時間に確保するといった用途に適用できる。
本発明の第1の実施の形態の構成を示すブロック図である。 本発明の動作の特徴を示す第2のグラフである。 本発明の第1の実施の形態の動作を示すシーケンス図である。 本発明の第1の実施の形態の動作を示すシーケンス図である。 本発明の第1の実施の形態の動作を示すシーケンス図である。 関連技術の動作の特徴を示す第1のグラフである。 関連技術の動作の特徴を示す第2のグラフである。 本発明の動作の特徴を示す第1のグラフである。 本発明の第2の実施の形態の構成を示すブロック図である。 本発明の第1の実施例の構成を示すブロック図である。 本発明の第3の実施の形態の構成を示すブロック図である。
符号の説明
100 仮想マシンA
101 アプリケーション
102 重複データ発見手段
103 データ管理手段
104 メタ情報管理手段
105 データマップ管理手段
110 仮想マシンB
111 アプリケーション
112 重複データ発見手段
113 データ管理手段
114 メタ情報管理手段
115 データマップ管理手段
120 仮想マシン管理手段
121 重複ブロック発見手段
122 仮想ブロック取得手段A
123 仮想ブロック取得手段B
124 ブロックアクセス手段
125 ブロックマップ管理手段
126 実ブロック記憶手段

Claims (10)

  1. ブロックを単位としてデータを格納するシステムであり、かつ、ある一塊のデータを、1個以上のブロックの集合として格納するシステムであり、
    ある仮想マシン上で動作し、メタ情報をもとに優先順位を決定し、その優先順位に従ってデータを取得し、取得したデータと一致するデータが他の仮想マシン上に存在していることを確認したならば、一致データの存在を重複ブロック発見手段に通知する、重複データ発見手段と、
    前記一致データを構成するブロックを、データマップ管理手段により識別して、前記一致データの存在をもとに重複ブロックを発見し、重複ブロックを統合することで空き容量を確保する重複ブロック発見手段を備えることを特徴とするデータ格納システム。
  2. ブロックを単位としてデータを格納するシステムであり、かつ、ある一塊のデータを、1個以上のブロックの集合として格納するシステムであり、
    ある仮想マシン上で動作し、メタ情報をもとに優先順位を決定し、その優先順位に従ってデータを取得し、取得したデータと一致するデータが他の仮想マシン上に存在していることを確認したならば、一致データの存在を重複ブロック発見手段に通知する、重複データ発見手段と、
    ある仮想マシン上で一意なデータ識別子と同仮想マシン上で一意な仮想ブロック識別子を関連付けて管理するデータマップ管理手段と、
    データ識別子をパラメータとして含むデータアクセスコマンドを受け取った際に、データ識別子に対応する仮想ブロック識別子をデータマップ管理手段から取得し、仮想ブロック識別子をパラメータとして含む仮想ブロックアクセスコマンドをブロックアクセス手段に発行し、ブロックアクセス手段からのレスポンスを受信し、データアクセスコマンドのレスポンスを返すデータ管理手段と、
    ある仮想マシン管理手段上で一意な仮想マシン識別子と前記仮想ブロック識別子の組と、あるデータ格納装置上で一意な実ブロック識別子を関連付けて管理するブロックマップ管理手段と、
    実ブロック識別子に対応付けてブロックデータを記憶する実ブロック記憶手段と、
    仮想ブロック識別子をパラメータとして含む仮想ブロックアクセスコマンドを受け取った際に、仮想ブロックアクセスコマンドの送信元の仮想マシン識別子と仮想ブロック識別子の組に対応する実ブロック識別子をブロックマップ管理手段から取得し、実ブロック識別子をパラメータとして含む実ブロックアクセスコマンドを実ブロック記憶手段に発行し、実ブロック記憶手段からのレスポンスを受信し、仮想ブロックアクセスコマンドのレスポンスを返すブロックアクセス手段と、
    前記の一致データを構成するブロックデータについて一致するブロックが存在したならば、前記のデータマップ管理手段で管理されている関連付けを変更し、一致データについては1個のブロックを割り当てて、残りのブロックを空き容量とする重複ブロック発見手段を備えたことを特徴とするデータ格納システム。
  3. 前記重複データ発見手段は、前記メタ情報として、仮想マシン上で動作しているオペレーティングシステムの名称を用いることを特徴とする請求項1または2記載のデータ格納システム。
  4. 前記重複データ発見手段は、前記データ識別子としてファイル名を用い、前記データ管理手段はファイルシステムであることを特徴とする請求項に記載のデータ格納システム。
  5. 前記重複データ発見手段は、前記データ識別子としてファイル名を用い、前記データ管理手段はファイルメモリマップシステムであることを特徴とする請求項に記載のデータ格納システム。
  6. ブロックを単位としてデータを格納するデータ格納方法であり、かつ、ある一塊のデータを、1個以上のブロックの集合として格納するデータ格納方法であり、
    ある仮想マシン上で動作し、メタ情報をもとに優先順位を決定し、その優先順位に従ってデータを取得し、取得したデータと一致するデータが他の仮想マシン上に存在していることを確認したならば、一致データの存在を重複ブロック発見手段に通知する重複データ発見ステップと、
    前記一致データを構成するブロックを、データマップ管理手段により識別して、前記一致データの存在をもとに重複ブロックを発見し、重複ブロックを統合することで空き容量を確保するステップとを有することを特徴とするデータ格納方法。
  7. ブロックを単位としてデータを格納するデータ格納方法であり、かつ、ある一塊のデータを、1個以上のブロックの集合として格納するデータ格納方法であり、
    ある仮想マシン上で動作し、メタ情報をもとに優先順位を決定し、その優先順位に従ってデータを取得し、取得したデータと一致するデータが他の仮想マシン上に存在していることを確認したならば、一致データの存在を重複ブロック発見手段に通知する重複データ発見ステップと、
    ある仮想マシン上で一意なデータ識別子と同仮想マシン上で一意な仮想ブロック識別子を関連付けて管理するステップと、
    データ識別子をパラメータとして含むデータアクセスコマンドを受け取った際に、データ識別子に対応する仮想ブロック識別子をデータマップ管理手段から取得し、仮想ブロック識別子をパラメータとして含む仮想ブロックアクセスコマンドをブロックアクセス手段に発行し、ブロックアクセス手段からのレスポンスを受信し、データアクセスコマンドのレスポンスを返すステップと、
    ある仮想マシン管理手段上で一意な仮想マシン識別子と前記仮想ブロック識別子の組と、あるデータ格納装置上で一意な実ブロック識別子を関連付けて管理するステップと、
    実ブロック識別子に対応付けてブロックデータを記憶するステップと、
    仮想ブロック識別子をパラメータとして含む仮想ブロックアクセスコマンドを受け取った際に、仮想ブロックアクセスコマンドの送信元の仮想マシン識別子と仮想ブロック識別子の組に対応する実ブロック識別子を取得し、実ブロック識別子をパラメータとして含む実ブロックアクセスコマンドを実ブロック記憶手段に発行し、実ブロック記憶手段からのレスポンスを受信し、仮想ブロックアクセスコマンドのレスポンスを返すステップと、
    前記の一致データを構成するブロックデータについて一致するブロックが存在したならば、管理されている関連付けを変更し、一致データについては1個のブロックを割り当てて、残りのブロックを空き容量とするステップとを有することを特徴とするデータ格納方法。
  8. 前記重複データ発見ステップでは、前記メタ情報として、仮想マシン上で動作しているオペレーティングシステムの名称を用いることを特徴とする請求項6または7記載のデータ格納方法。
  9. ブロックを単位としてデータを格納するデータ格納用プログラムであり、かつ、ある一塊のデータを、1個以上のブロックの集合として格納するデータ格納用プログラムであり、
    ある仮想マシン上で動作し、メタ情報をもとに優先順位を決定し、その優先順位に従ってデータを取得し、取得したデータと一致するデータが他の仮想マシン上に存在していることを確認したならば、一致データの存在を重複ブロック発見手段に通知するステップと、
    前記一致データを構成するブロックを、データマップ管理手段により識別して、前記一致データの存在をもとに重複ブロックを発見し、重複ブロックを統合することで空き容量を確保するステップとを実行させることを特徴とするデータ格納用プログラム。
  10. ブロックを単位としてデータを格納するデータ格納用プログラムであり、かつ、ある一塊のデータを、1個以上のブロックの集合として格納するデータ格納用プログラムであり、
    ある仮想マシン上で動作し、メタ情報をもとに優先順位を決定し、その優先順位に従ってデータを取得し、取得したデータと一致するデータが他の仮想マシン上に存在していることを確認したならば、一致データの存在を重複ブロック発見手段に通知するステップと、
    ある仮想マシン上で一意なデータ識別子と同仮想マシン上で一意な仮想ブロック識別子を関連付けて管理するステップと、
    データ識別子をパラメータとして含むデータアクセスコマンドを受け取った際に、データ識別子に対応する仮想ブロック識別子をデータマップ管理手段から取得し、仮想ブロック識別子をパラメータとして含む仮想ブロックアクセスコマンドをブロックアクセス手段に発行し、ブロックアクセス手段からのレスポンスを受信し、データアクセスコマンドのレスポンスを返すステップと、
    ある仮想マシン管理手段上で一意な仮想マシン識別子と前記仮想ブロック識別子の組と、あるデータ格納装置上で一意な実ブロック識別子を関連付けて管理するステップと、
    実ブロック識別子に対応付けてブロックデータを記憶するステップと、
    仮想ブロック識別子をパラメータとして含む仮想ブロックアクセスコマンドを受け取った際に、仮想ブロックアクセスコマンドの送信元の仮想マシン識別子と仮想ブロック識別子の組に対応する実ブロック識別子を取得し、実ブロック識別子をパラメータとして含む実ブロックアクセスコマンドを実ブロック記憶手段に発行し、実ブロック記憶手段からのレスポンスを受信し、仮想ブロックアクセスコマンドのレスポンスを返すステップと、
    前記の一致データを構成するブロックデータについて一致するブロックが存在したならば、管理されている関連付けを変更し、一致データについては1個のブロックを割り当てて、残りのブロックを空き容量とするステップとを実行させることを特徴とするデータ格納用プログラム。
JP2009542534A 2007-11-20 2008-11-13 仮想マシン向けデータ格納システム、データ格納方法およびデータ格納用プログラム Active JP5381713B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009542534A JP5381713B2 (ja) 2007-11-20 2008-11-13 仮想マシン向けデータ格納システム、データ格納方法およびデータ格納用プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007300799 2007-11-20
JP2007300799 2007-11-20
JP2009542534A JP5381713B2 (ja) 2007-11-20 2008-11-13 仮想マシン向けデータ格納システム、データ格納方法およびデータ格納用プログラム
PCT/JP2008/070714 WO2009066611A1 (ja) 2007-11-20 2008-11-13 仮想マシン向けデータ格納システム、データ格納方法およびデータ格納用プログラム

Publications (2)

Publication Number Publication Date
JPWO2009066611A1 JPWO2009066611A1 (ja) 2011-04-07
JP5381713B2 true JP5381713B2 (ja) 2014-01-08

Family

ID=40667435

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009542534A Active JP5381713B2 (ja) 2007-11-20 2008-11-13 仮想マシン向けデータ格納システム、データ格納方法およびデータ格納用プログラム

Country Status (2)

Country Link
JP (1) JP5381713B2 (ja)
WO (1) WO2009066611A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101982447B1 (ko) * 2018-07-20 2019-08-28 세종대학교산학협력단 가상 머신에 대한 입출력 처리 방법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011018206A (ja) * 2009-07-09 2011-01-27 Hitachi Ltd ファイル管理方法、計算機、及びファイル管理プログラム
JP5254141B2 (ja) * 2009-07-14 2013-08-07 富士通株式会社 アーカイブ装置、データ格納プログラムおよびデータ格納方法
JP4856217B2 (ja) * 2009-07-21 2012-01-18 富士通株式会社 データ格納プログラム、データ格納方法およびデータ格納システム
WO2011033582A1 (en) 2009-09-18 2011-03-24 Hitachi, Ltd. Storage system for eliminating duplicated data
US8489799B2 (en) * 2009-12-13 2013-07-16 International Business Machines Corporation Efficient loading of data into memory of a computing system
US9411517B2 (en) * 2010-08-30 2016-08-09 Vmware, Inc. System software interfaces for space-optimized block devices
US9285993B2 (en) 2010-08-30 2016-03-15 Vmware, Inc. Error handling methods for virtualized computer systems employing space-optimized block devices

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSND200600398021; 村野 公一: '【第2回】「サーバリソースを徹底的に活用する 仮想化テクノロジがもたらす世界' サーバ・ソリューション・マガジン SERVERS SELECT 第1巻,第6号, 200509, p.116-125, 株式会社メディアセレクト *
CSND200701199001; '特集 データ・バックアップ 台頭するデータ重複排除技術' OPEN Enterprise magazine 第5巻,第10号, 20071001, p.32-39, 株式会社ソキウス・ジャパン *
JPN6013016545; 村野 公一: '【第2回】「サーバリソースを徹底的に活用する 仮想化テクノロジがもたらす世界' サーバ・ソリューション・マガジン SERVERS SELECT 第1巻,第6号, 200509, p.116-125, 株式会社メディアセレクト *
JPN6013016546; '特集 データ・バックアップ 台頭するデータ重複排除技術' OPEN Enterprise magazine 第5巻,第10号, 20071001, p.32-39, 株式会社ソキウス・ジャパン *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101982447B1 (ko) * 2018-07-20 2019-08-28 세종대학교산학협력단 가상 머신에 대한 입출력 처리 방법

Also Published As

Publication number Publication date
JPWO2009066611A1 (ja) 2011-04-07
WO2009066611A1 (ja) 2009-05-28

Similar Documents

Publication Publication Date Title
US11892957B2 (en) SSD architecture for FPGA based acceleration
JP5381713B2 (ja) 仮想マシン向けデータ格納システム、データ格納方法およびデータ格納用プログラム
US7895394B2 (en) Storage system
US9563636B2 (en) Allowing writes to complete without obtaining a write lock to a file
JP4405533B2 (ja) キャッシュ方法及びキャッシュ装置
US8001323B2 (en) Network storage system, management method therefor, and control program product therefor
US9069487B2 (en) Virtualizing storage for WPAR clients using key authentication
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
JP2008015768A (ja) 記憶システム並びにこれを用いたデータの管理方法
US20090119395A1 (en) Information processing system and data management method
WO2015067074A1 (zh) 一种数据读取的方法及装置
CN112527186A (zh) 一种存储系统、存储节点和数据存储方法
WO2019000949A1 (zh) 分布式存储系统中元数据存储方法、系统及存储介质
JP2005276158A (ja) ストレージシステム、計算機システムまたは記憶領域の属性設定方法
CN108475201B (zh) 一种虚拟机启动过程中的数据获取方法和云计算系统
CN110554911A (zh) 内存访问与分配方法、存储控制器及系统
JP2008084094A (ja) 記憶システム及びその管理方法並びに記憶制御装置
JP5492731B2 (ja) 仮想計算機のボリューム割当て方法およびその方法を用いた計算機システム
US20180129521A1 (en) Parallel mapping of client partition memory to multiple physical adapters
JP5673396B2 (ja) 情報処理システム、情報処理プログラム、情報処理方法
CN107832097A (zh) 数据加载方法及装置
US20150356108A1 (en) Storage system and storage system control method
US20170286002A1 (en) Region-integrated data deduplication
JP4965456B2 (ja) システムと共有バッファ内のストレージとの間でデータを転送する方法、システム、及びコンピュータ・プログラム(システムと共有バッファ内ストレージとの間のデータ転送)
US20100223442A1 (en) Computer system and data erasing method

Legal Events

Date Code Title Description
A529 Written submission of copy of amendment under article 34 pct

Free format text: JAPANESE INTERMEDIATE CODE: A5211

Effective date: 20100517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100811

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110706

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130409

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130603

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: 20130903

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130916

R150 Certificate of patent or registration of utility model

Ref document number: 5381713

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150