(57)【要約】【課題】  分散ストレージシステムにおいて、入出力の並列化による負荷分散や性能を向上させ、帯域の比例的共有によりよいアクセス割り当てを行う。【解決手段】  本発明は、アクセスするディスクを決定するための評価関数を算出するために必要なパラメータとして、分散ストレージシステムから各ディスクが現在読み書きしているオフセット位置と各ディスクの入出力キューの情報を取得し、そのパラメータに基づいて、各ディスク毎に読み書きを行うデータサイズとシーク回数の要素から評価関数を求め、記憶手段に格納しておき、記憶手段から各ディスクの評価関数を取得して、最も評価関数の値の低いディスクに優先的にアクセスする。【選択図】  図１
2010224835.tif 000002
【特許請求の範囲】
【請求項１】
複数のディスクを用いて仮想的な一つの名前空間を提供する分散ストレージシステムにおける並列入出力制御装置であって、
アクセスするディスクを決定するための評価関数を算出するために必要なパラメータとして、前記分散ストレージシステムから各ディスクが現在読み書きしているオフセット位置と各ディスクの入出力キューの情報を取得するパラメータ取得手段と、
前記パラメータに基づいて、各ディスク毎に読み書きを行うデータサイズとシーク回数の要素から評価関数を求め、記憶手段に格納する評価関数算出手段と、
前記記憶手段から各ディスクの評価関数を取得して、最も評価関数の値の低いディスクに優先的にアクセスするアクセス制御手段と、
を有することを特徴とする並列入出力制御装置。
【請求項２】
前記評価関数算出手段は、
クライアントが変わる際に、前記評価関数のアクセスに要する時間の係数を調整する係数調整手段を含む
請求項１記載の並列入出力制御装置。
【請求項３】
前記係数調整手段は、
優先度が高いクライアントから低いクライアントにディスクアクセス元が変わるとき値が大きくなり、優先度が低いクライアントから高いクライアントにアクセス元が変わるとき値が小さくなるペナルティ関数を用いて前記評価関数を求める手段を含む
請求項２記載の並列入出力制御装置。
【請求項４】
複数のディスクを用いて仮想的な一つの名前空間を提供する分散ストレージシステムにおける並列入出力制御方法であって、
パラメータ取得手段が、アクセスするディスクを決定するための評価関数を算出するために必要なパラメータとして、前記分散ストレージシステムから各ディスクが現在読み書きしているオフセット位置と各ディスクの入出力キューの情報を取得するパラメータ取得ステップと、
評価関数算出手段が、前記パラメータに基づいて、各ディスク毎に読み書きを行うデータサイズとシーク回数の要素から評価関数を求め、記憶手段に格納する評価関数算出ステップと、
アクセス制御手段が、前記記憶手段から各ディスクの評価関数を取得して、最も評価関数の値の低いディスクに優先的にアクセスするアクセス制御ステップと、
を行うことを特徴とする並列入出力制御方法。
【請求項５】
前記評価関数算出ステップにおいて、
クライアントが変わる際に、前記評価関数のアクセスに要する時間の係数を調整する
請求項４記載の並列入出力制御方法。
【請求項６】
前記評価関数算出ステップにおいて、
前記係数として、優先度が高いクライアントから低いクライアントにディスクアクセス元が変わるとき値が大きくなり、優先度が低いクライアントから高いクライアントにアクセス元が変わるとき値が小さくなるペナルティ関数を用いて前記評価関数を求める
請求項５記載の並列入出力制御方法。
【請求項７】
請求項１乃至３のいずれか１項に記載の並列入出力制御装置を構成する各手段としてコンピュータを機能させるための並列入出力制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のディスクを用いて仮想的な一つの名前空間をアクセス元に提供する分散ストレージシステムにおける並列入力制御方法及び装置及びプログラムに係り、特に、負荷分散や高性能化、アクセス衝突の回避やＱｏＳ（Quality of Service）設定を行うための分散ストレージシステムにおける並列入力制御方法及び装置及びプログラムに関する。
【背景技術】
【０００２】
従来、複数のディスクに対して並列にアクセス制御を行う技術として、ハードディスクドライブへのアクセスを統合管理する分散ストレージシステム上において、複製による負荷分散（例えば、非特許文献１参照）や、キューが少ないディスクに優先的にリクエストを送るアクセス制御（例えば、非特許文献２参照）がある。また、分散ストレージシステム上において、キューの制御によってＱｏＳの保証を行う技術がある（例えば、非特許文献３参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】E. K. Lee and R. A. Thekkath. Petal: Distributed virtual disks. In Proceedings of the Seventh International conference on Architectural Support for Programming Languages and Operating Systems, pp. 84-92, 1996.
【非特許文献２】Z. Xu, Y. Zhu, R. Min, and Y. Hu. Achieving better load balance in distributed storage system.  In Proceedings for the International Conference on Parallel and Distributed Processing Techniques and Applications, pp. 1314-1322. CSREA Press, 2002.
【非特許文献３】Y. Wand and A. Merchant. Proportional-share scheduling for distributed storage systems.  In Proceedings of the 5th USENIX conference on File and Storage Technologies, pp.47-60, 2007.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
分散ストレージシステム上で複数のディスクに対して並列に入出力を行う際に、ランダムアクセスやラウンドロビンによるアクセス、処理待ちリクエストが少ないディスクへアクセスするなどの技術がある。しかし、ディスクはアクセスパターンによって性能が異なるため、ディスクのアクセス状況に応じたアクセス制御をしなくては入出力の並列化による負荷分散や高性能化が十分に達成できないという問題がある。
【０００５】
例えば、複数のプロセスが同時にストレージシステムにシーケンシャルアクセスした場合、それぞれのシーケンシャルアクセスを残すことを考えなくては、アクセスが衝突してランダムアクセスになり、性能が大幅に劣化する。
【０００６】
また、分散ストレージシステムの帯域制御を行う技術には、処理するキューの制御によって複数クライアントの帯域公平性の確保や帯域の比例的共有を実現できる技術がある。しかし、ディスクはアクセスパターンによって性能が異なるため、キューの制御だけでは複数のディスクがあるという分散ストレージの利点を十分生かせていない。つまり、現在の分散ストレージシステムで帯域保証は複数のディスクにアクセスを分離しようというものではない。
【０００７】
例えば、アクセス中のディスクに他のクライアントがアクセスすると性能が落ちる。特にあるクライアントがシーケンシャルアクセス中に他のクライアントがアクセスする時は極端に性能が落ちる。また、帯域の比例的共有を行っている場合には性能が劣化したクライアントに引きずられて、他のクライアントの性能も落ちる。
【０００８】
本発明は、上記の点に鑑みなされたもので、分散ストレージシステムにおいて、入出力の並列化による負荷分散や性能を向上させ、帯域の比例的共有によりよいアクセス割り当てを行うことが可能な分散ストレージシステムにおける並列入力制御方法及び装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
図１は本発明の原理構成図である。
【００１０】
請求項１の発明は、複数のディスクを用いて仮想的な一つの名前空間を提供する分散ストレージシステムにおける並列入出力制御装置であって、
アクセスするディスクを決定するための評価関数を算出するために必要なパラメータとして、分散ストレージシステム２００から各ディスクが現在読み書きしているオフセット位置と各ディスクの入出力キューの情報を取得するパラメータ取得手段１１０と、
パラメータに基づいて、各ディスク毎に、読み書きを行うデータサイズとシーク回数の要素から評価関数を求め、記憶手段に格納する評価関数算出手段１２０と、
記憶手段から各ディスクの評価関数を取得して、最も評価関数の値の低いディスクに優先的にアクセスするアクセス制御手段１３０と、を有する。
【００１１】
請求項２の発明は、請求項１の並列入出力制御装置において、評価関数算出手段１２０が、
クライアントが変わる際に、評価関数のアクセスに要する時間の係数を調整する係数調整手段を含む。
【００１２】
請求項３の発明は、請求項３記載の並列入出力制御装置において、係数調整手段が、
優先度が高いクライアントから低いクライアントにディスクアクセス元が変わるとき値が大きくなり、優先度が低いクライアントから高いクライアントにアクセス元が変わるとき値が小さくなるペナルティ関数を用いて前記評価関数を求める手段を含む。
【００１３】
図２は、本発明の原理を説明するための図である。
【００１４】
請求項４の発明は、複数のディスクを用いて仮想的な一つの名前空間を提供する分散ストレージシステムにおける並列入出力制御方法であって、
パラメータ取得手段が、アクセスするディスクを決定するための評価関数を算出するために必要なパラメータとして、分散ストレージシステムから各ディスクが現在読み書きしているオフセット位置と各ディスクの入出力キューの情報を取得するパラメータ取得ステップ（ステップ１）と、
評価関数算出手段が、前記パラメータに基づいて、各ディスク毎に読み書きを行うデータサイズとシーク回数の要素から評価関数を求め、記憶手段に格納する評価関数算出ステップ（ステップ２）と、
アクセス制御手段が、前記記憶手段から各ディスクの評価関数を取得して、最も評価関数の値の低いディスクに優先的にアクセスするアクセス制御ステップ（ステップ３）と、
を行う。
【００１５】
請求項５の発明は、請求項４の並列入出力制御方法の評価関数算出ステップにおいて、
クライアントが変わる際に、評価関数のアクセスに要する時間の係数を調整する。
【００１６】
請求項６の発明は、請求項５記載の並列入出力制御方法の評価関数算出ステップにおいて、係数として、優先度が高いクライアントから低いクライアントにディスクアクセス元が変わるとき値が大きくなり、優先度が低いクライアントから高いクライアントにアクセス元が変わるとき値が小さくなるペナルティ関数を用いて評価関数を求める。
【００１７】
請求項７の発明は、請求項１乃至３のいずれか１項に記載の並列入出力制御装置を構成する各手段としてコンピュータを機能させるための並列入出力制御プログラムである。
【００１８】
請求項１，４，７の発明により、データサイズとシーク回数の２つの要素によって各ディスクについてアクセスに要する時間を決定するという評価関数を用いて、評価値の低かったディスクから優先的にアクセスすることができる。
【００１９】
請求項２，５，７の発明により、アクセス元が変わるときにアクセスに要する時間の評価値を変える（下げる）ことで、他のクライアントのアクセスの影響を減らし、帯域公平性の確保にとってよりよいアクセスが行えるようになる。
【００２０】
請求項３，６，７の発明により、アクセスに要する時間の評価値に、ペナルティ関数をクライアントに応じて重みとして付加することにより、帯域の比例的共有を実現する。
【発明の効果】
【００２１】
本発明によれば、読み書きに要する時間を評価する評価関数を用いてディスクのアクセス状況に応じたアクセス制御を行うことで、入出力の並列化による負荷分散や高性能化が向上する。
【００２２】
例えば、複数のプロセスが同時にストレージシステムにシーケンシャルアクセスを行った場合においても、アクセスが衝突してランダムアクセスにならずに、それぞれのシーケンシャルアクセスを残すことで性能の低下を防ぐことができる。
【００２３】
また、評価関数の調整により、帯域公平性の確保によりよい重みを付けることで、帯域の比例的共有によりよいアクセス割り当てを行えるようになる。
【図面の簡単な説明】
【００２４】
【図１】本発明の原理構成図である。
【図２】本発明の原理を説明するための図である。
【図３】本発明の一実施の形態におけるシステム構成図である。
【図４】本発明の一実施の形態におけるストレージシステムの処理フローチャートである。
【図５】本発明の一実施の形態におけるクライアント装置の読み込み時の処理フローチャートである。
【図６】本発明の一実施の形態におけるクライアント装置の書き込み時の処理フローチャートである。
【図７】本発明の一実施例における実装のシステム構成図である。
【発明を実施するための形態】
【００２５】
以下、図面と共に本発明の実施の形態を説明する。
【００２６】
本発明は、同じデータを複数のディスクに書き込むことで耐障害性を実現しているストレージを対象とする。また、データ書き込みを行うディスク領域の予約が別の機構によって実現されているものとする。
【００２７】
図３は、本発明の一実施の形態におけるシステム構成を示す。
【００２８】
同図に示すシステムは、複数のクライアント装置（並列入出力制御装置）１００１〜１００ｎと、各ディスクに対応する複数のディスク管理装置２０１１〜２０１ｎからなるストレージシステム２００から構成される。
【００２９】
各クライアント装置１００は、データ取得部１１０、評価関数算出部１２０、アクセス制御部１３０、読み込み処理部１４０、書き込み処理部１５０から構成される。
【００３０】
ストレージシステム２００は、各ディスクに対応する複数のディスク管理装置２０１１〜２０１ｎからなり、各ディスク管理装置２００は、データ送受信部２１０、アクセス処理部２２０、クライアント管理部２３０、アクセス情報記憶部２４０を有する。
【００３１】
図４は、本発明の一実施の形態におけるストレージシステムの処理フローチャートである。
【００３２】
ステップ１０１）  ストレージシステム２００上の各ディスク管理装置２０１のアクセス処理部２２０は、ディスクのＩ／Ｏキューからリクエストを１つ取り出す。このときディスクのＩ／Ｏキューに１つもリクエストがない場合はステップ１０７に移行する。
【００３３】
ステップ１０２）  リクエストが存在した場合は、クライアント装置１００からのアクセスがRead／Writeのいずれであるかを判定する。Readアクセスの場合は、ステップ１０３に移行し、Writeアクセスの場合はステップ１０５に移行する。
【００３４】
ステップ１０３）  アクセス処理部２２０は、データ送受信部２１０で取得したリクエストのデータＡをディスクに書き込む。
【００３５】
ステップ１０４）  アクセス処理部２２０は、書き込み完了の通知をクライアント装置１００に送信し、ステップ１０９に移行する。
【００３６】
ステップ１０５）  アクセス処理部２２０は、Writeアクセスの場合はデータＡをディスクから読み込む。
【００３７】
ステップ１０６）  読み込んだデータをデータ送受信部２１０を介してクライアント装置１００に送信し、ステップ１０９に移行する。
【００３８】
ステップ１０７）  ステップ１０１でリクエストがない場合は一定時間アクセスを待機し、リクエストが到着したらステップ１０１に戻り、タイムアウトした場合はステップ１０８に移行する。
【００３９】
ステップ１０８）  クライアント管理部２３０はアクセス情報記憶部２４０のアクセスクライアント、オフセットを初期値に戻し、ステップ１０９に移行する。
【００４０】
ステップ１０９）  最新のアクセス情報（評価値、現在のオフセット位置、最後にアクセスしているクライアント装置１００の情報）を各クライアント装置１００にブロードキャストする。
【００４１】
次に、クライアント装置１００の処理について説明する。
【００４２】
最初に、データ読み込み時の処理について説明する。
【００４３】
図５は、本発明の一実施の形態におけるクライアント装置の読み込み時の処理フローチャートである。
【００４４】
ステップ２０１）  クライアント装置１００のデータ取得部１１０は、ストレージシステム２００に対して、評価値を計算するために必要なデータを要求し、これを取得する。
【００４５】
ステップ２０２）  アクセス制御部１３０は、取得したパラメータからこれから読み込むデータがどのディスクのどこのオフセット位置に存在しているかを判定する。
【００４６】
ステップ２０３）  読み込みたいデータがストレージ上に存在している場合はステップ２０４に移行し、存在していない場合は当該処理を終了する。
【００４７】
ステップ２０４）  データ取得部１１０は、データが存在している各ディスクの情報（評価値、読み書きしているオフセット位置、アクセス中のクライアント（クライアントＩＤ））を取得する。
【００４８】
ステップ２０５）  評価関数算出部１２０は、データが存在している各ディスクに対して、新しく読み込んだ後の評価値を求め、評価関数記憶部１６０に格納する。評価値の算出方法については後述する。
【００４９】
ステップ２０６）  アクセス制御部１３０は、評価関数記憶部１６０から評価値を読み出し、評価値が最も低いディスクを選択する。読み込み処理部１４０は、選択されたディスクへデータ読み込みのリクエストを送信する。
【００５０】
ステップ２０７）  読み込み処理部１４０は、データ取得部１１０を介して読み込んだデータを受け取る。
【００５１】
次に、データ書き込み時の処理について説明する。
【００５２】
図６は、本発明の一実施の形態におけるクライアント装置の書き込み時の処理フローチャートである。以下では、データを冗長度ｒでストレージシステム２００へ書き込む場合を示す。
【００５３】
ステップ３０１）  データ取得部１１０は、ストレージシステム２００に対して評価値を計算するために必要なデータを要求し、これを取得する。
【００５４】
ステップ３０２）  アクセス制御部１３０は、書き込むデータの位置情報を調べる。つまり、これから書き込もうとしているデータがどのディスクのどこのオフセット位置に領域が割り当てられているかを判定する。
【００５５】
ステップ３０３）  アクセス制御部１３０は、アクセスしているデータの領域が既にディスク上に割り当てられているかを判定し、割り当てられている場合はステップ３０４に移行し、割り当てられていない場合はステップ３０５に移行する。
【００５６】
ステップ３０４）  領域が割り当てられている場合には、書き込み処理部１５０はアクセス制御部１３０を介して割り当てられているディスクへ書き込むデータを送信する。
【００５７】
ステップ３０５）  領域が割り当てられていない場合には、データ取得部１１０を介して全ディスクの情報（評価値、読み書きしているオフセット位置、アクセス中のクライアント（クライアントＩＤ））を取得する。
【００５８】
ステップ３０６）  評価関数算出部１２０は、全ディスクに対して、新しくデータを書き込んだ後の評価値を求め、評価関数記憶部１６０に格納する。
【００５９】
ステップ３０７）  アクセス制御部１６０は、評価関数記憶部１６０から評価値を読み出して、評価値が低い順にｒ個のディスクを選択する。書き込み処理部１５０は、選択された各ディスクへ書き込むデータを送信する。
【００６０】
ステップ３０８）  データ取得部１１０は、ストレージシステム２００から書き込み終了通知を取得する。
【００６１】
上記のように、クライアント装置１００は、評価関数算出部１２０において、読み書きに要する時間を評価する関数を用意し、アクセス制御部１３０は、評価関数の値が最も低いディスクに優先的にアクセスすることでアクセス制御を行う。
【００６２】
評価関数算出部１２０による評価値算出について説明する。
【００６３】
評価関数を定義するにあたって、ディスクアクセスに要する時間は読み書きを行うデータサイズとシーク回数のふたつの要素によって決定するというシンプルなモデルを考える。その上で、各ディスクが現在読み書きしているオフセット位置と各ディスクのＩ／Ｏキューの中身の情報から、以下の記号を用いて評価関数を定義する。
【００６４】
・ｈ：現在読み書きしているオフセットの位置；
・Ｒ：キューにあるリクエストの量；
・ｏｒ：リクエストｒがアクセスするときのオフセット；
・ｌｒ：リクエストｒのサイズ；
・ａｒ：リクエストｒが単位長さ読み書きする際に係るコストの重み係数；
・ｂ：ヘッド位置をシークさせる際に必要なコストの重み係数；
まず、上記の各記号の定義について説明する。「ｈ」は現在読み書きしているオフセットの位置であり、アクセスがないと定期的に初期位置にリセットされる。「Ｒ」は、Ｉ／Ｏキューにあるリクエストの量である。「ｏｒ」はリクエストｒが読み書きを行うディスク上のオフセット位置であり、「ｌｒ」はリクエストｒのデータサイズである。「ａｒ」はリクエストｒが単位長さ読み書きする際に係るコストの重み係数であり、各ディスクの性能やクライアント装置１００からの物理的距離に応じた係数である。この係数を調整することでアクセスが高速なディスクを優先的に用いることが可能となる。「ｂ」はディスクがシークを行うコストの重み係数である。これらの記号の定義のもと、ｏ０＝ｈ，ｌ０＝０とする読み書きに要する時間を評価する関数costの定義は次のように書くことができる。
【００６５】
【数１】
2010224835.tif 000003
関数costの第１項は読み書きを行うデータの長さに起因する項であり、第２項はシーク回数によって決定される項である。クライアント装置１００はストレージシステム２００の全ディスクの中でこの計算式の値が最も低いディスクから順にアクセスするディスクを決定する。評価式costには、ディスクのＩ／Ｏキューに関する情報が含まれているために、計算には全ディスクのキューの中身を把握する必要があるように見える。しかし、costは現在の評価値とキューの最終リクエストがアクセスした後のオフセット位置がわかれば計算可能であり、実際に把握しなければいけないデータの量は多くない。そのため、本発明では、現在の評価値とキューの最終リクエストがアクセスした後のオフセット位置をストレージシステム２００からマルチキャストすることによって情報を共有する。
【００６６】
このように現在のディスクアクセスの状況を考慮したアクセス制御を行うことにより、既存の手法では考慮していなかったディスクはアクセスパターンによって性能が異なるということを考慮したアクセスが可能となる。
【００６７】
この評価関数のモデルは、目的関数の係数を調整することでディスクアクセスの制御を柔軟に変更することが可能になる。例えば、このモデルはリクエスト要求元が変わる際のシークのコストを十分大きくすると、クライアント間のディスクアクセスの衝突を回避するように評価値が決定されるため、帯域公平性によりよいものとなる。具体的には、ペナルティ関数
【００６８】
【数２】
2010224835.tif 000004
を導入し、これをシークに要するコストの重みとして与える。このときの関数costは、
【００６９】
【数３】
2010224835.tif 000005
となる。ストレージシステム２００がマルチキャスト時に送信するデータは、前述の現在の評価値とキューの最終リクエストの他に、最後にアクセスしたクライアントの識別子が加わればよい。また、優先度が高いクライアントから低いクライアントにディスクアクセス元が変わるときのペナルティ関数は大きく、優先度が低いクライアントから高いクライアントにディスクアクセス元が変わるときのペナルティ関数は小さくすることで、クライアントの優先度設定を行うことが可能になる。このように、クライアント間のディスクアクセスの衝突を避けることで帯域の制御を行うことにより、既存の分散ストレージ上における帯域制御技術で生じていたアクセスの衝突による性能の劣化を回避することができる。
【実施例】
【００７０】
以下、本発明の実施例を示す。
【００７１】
複数のクライアントがアクセスする分散ストレージの実施例として、仮想マシンに仮想ブロックデバイスを提供する分散システムの実装を示す。図７は、本発明の一実施例の実装のシステム構成図である。このシステムにおいて、仮想マシン３００は、クラスタストレージをＸｅｎの仮想ブロックデバイスとして認識する。仮想ブロックデバイスに対するディスクＩ／Ｏの要求はカーネル空間を通って、Ｘｅｎ上の特権ドメインであるdomain0のtapdiskデーモン３２１に送られる。仮想マシン３１０からディスクＩ／Ｏの要求を送信するディスクを決定するために、tapdiskデーモン３２２はマルチキャストされた各ディスクの現在の評価値などの情報を元に、Readの場合はいくつかある複製のうちからどれにアクセスすることがよいか、Writeの場合は全ディスクのうちどれにアクセスすることがよいかを求める。得られた結果を元に、tapdiskデーモン３２２はディスクＩ／Ｏを行う。
【００７２】
アクセス先が他サーバのディスク４３０の場合は、そのサーバ４２０のターゲットデーモン４２１に対してリクエストを転送し、目的のディスク４３０にアクセスする。そのためのローカルディスク４３０には高速にアクセスできることから、評価関数のローカルディスク４３０に対する係数ａは他のディスクのものよりも小さくする。ディスクＩ／Ｏの処理が終了したら、再びカーネル空間を通って仮想マシン３１０に入出力終了を伝える。
【００７３】
上記により、本発明は、各ディスクのＩ／Ｏキューにあるリクエストのパターンから、データを読み書きするのに要する時間を評価してアクセス先を決定することによって、ディスクがアクセスパターンによって性能が異なることを考慮したアクセスを実現できる。
【００７４】
なお、上記のクライアント装置の構成の各手段の動作をプログラムとして構築し、クライアント装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【００７５】
また、構築されたプログラムをハードディスクや、フレキシブルディスク・ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
【００７６】
なお、本発明は、上記の実施の形態及び実施例に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【符号の説明】
【００７７】
１００  クライアント装置、並列入出力制御装置
１１０  パラメータ取得手段、データ取得部
１２０  評価関数算出手段、評価関数算出部
１３０  アクセス制御手段、アクセス制御部
１４０  読み込み処理部
１５０  書き込み処理部
１６０  評価関数記憶部
２００  分散ストレージシステム
２０１  ディスク管理装置
２１０  データ送受信部
２２０  アクセス処理部
２３０  クライアント管理部
２４０  アクセス情報記憶部
３００，４００  物理マシン
３１０  仮想マシン
３２０  ドメイン
３２１  ターゲットデーモン
３２２  tapdisk
３３０  ローカルディスク
４１０，４１１  仮想マシン
４２０  ドメイン
４２１  ターゲットデーモン
４２２  tapdisk
４３０  ローカルディスク
【図１】
2010224835.tif 000006
【図２】
2010224835.tif 000007
【図３】
2010224835.tif 000008
【図４】
2010224835.tif 000009
【図５】
2010224835.tif 000010
【図６】
2010224835.tif 000011
【図７】
2010224835.tif 000012