オンラインストレージにおける冗長データを用いたダウンロード高速化手法

オンラインストレージにおける冗長データを用いたダウンロード高速化手法の提案
An Approach to Accelerating Data Download for Online Storages Using Redundancy
分散システム学講座 0312010124 長畑暢
指導教員:王家宏 児玉英一郎 高田豊雄
1.
はじめに
近年,オンラインストレージサービスの利用者が増
加し,それに伴いオンラインストレージサービスを提
供する企業も増加している.オンラインストレージサ
ービスは,サーバマシンのディスクスペースをユーザ
に貸し出し,そこにファイルをアップロードすること
によりインターネット上でファイルを共有するサー
ビスである.
しかし,オンラインストレージを利用する上で問題
も存在する.まずセキュリティの問題がある.ユーザ
または管理者のミスやプログラムの不具合によって,
データの漏洩や消失が発生する危険性がある.また,
サービスの停止や障害などによりデータへのアクセ
スができなくなる可能性がある.さらに,インターネ
ットを経由してサーバにアクセスするため,通信速度
や他のユーザの利用状況などの影響を受ける.
ユーザがデータのアップロードを行う場合は,一般
的にアップロード開始後は操作や確認が必要ないの
で多少時間がかかってもそれほど影響はない.しかし,
ダウンロードの場合は取得したいデータが表示され
るまで時間がかかるとストレスにつながってしまい
やすい.これらの点から,本研究はダウンロード速度
と可用性という 2 つの問題について改善を目指し,よ
り快適なオンラインストレージ環境を提供すること
を目的とする.
2.
関連研究
関連研究として,オンラインストレージを用いた分
散仮想ディスクの開発 1),P2P 分散ファイル共有基盤
を活用した自己暗号化法によるプライベートストレ
ージ 2),MyCloud3)などがある.関連研究 1)はプライバ
シー保護に関して考慮されていない,2)はクライアン
ト側で暗号化を行うため処理コストがかかる,3)は耐
故障性の確保や高速化にはコストが高い.
前述の問題を解決するための研究として RAID 技術
5)
を用いたセキュアオンラインストレージシステム 4)
がある.この研究では数種類のオンラインストレージ
を用い,それぞれのストレージを 1 つのハードディス
クと考えることで,オンラインストレージに RAID の
技術を適用している.データを分割して 2 つのパリテ
ィデータを生成し,複数のオンラインストレージにア
ップロードすることで,システムを構成するオンライ
ンストレージのうち 2 つまでが停止した場合でもデー
タを取得することができる.また,分割したデータを
複数のオンラインストレージに送信することでネッ
トワーク帯域幅やファイルサイズ制限などの影響を
受けにくくなる.さらに,分割したことにより 1 つの
ストレージが保持するデータの量が減少し,ファイル
サイズがある程度大きい場合,アクセス速度の向上が
見込める.しかし,この手法では使用した複数のオン
ラインストレージの中で最も更新に時間のかかるス
図 1 システムモデル
トレージがボトルネックとなり,システム全体の更新
時間に大きく影響を与えていた.
本研究では,関連研究 4)をもとにして,ある程度の
容量コストを許容することで,可用性を維持しつつダ
ウンロードの高速化を実現する手法の提案を行う.
3.
提案手法
以下,前述の RAID 技術を用いたセキュアオンライ
ンストレージシステムにおける問題に対し,冗長デー
タを利用する手法を提案する.
3.1.
システムモデル
本提案のシステムモデルを図 1 に示す.
本提案では,
関連研究 4)と同様に,複数の異なるオンラインストレ
ージを用い,それぞれのストレージを 1 つのハードデ
ィスクと考えることで,オンラインストレージに
RAID の技術を適用する.その上で動的なロードバラ
ンシングを可能にし,データのダウンロード時の速度
を向上させる.
本システムを使用する際には,事前にデータの分割
数と使用するオンラインストレージを設定し,アップ
ロードまたはダウンロードの対象となるファイルや
フォルダをローカルで管理するためのフォルダ(以後
オンラインストレージフォルダと呼ぶ)をあらかじめ
用意する.アップロードしたいデータがある場合はオ
ンラインストレージフォルダに移動させることでア
ップロードされ,ダウンロードしたいデータがある場
合はオンラインストレージフォルダに保存してある
ファイルのリストを表示し,その中から選択すること
でダウンロードが行われるものとする.
オンラインストレージフォルダにアップロードし
たいデータを移動すると,そのデータが設定した数に
分割され,加えてパリティデータが 1 つ生成される.
その後,複数のオンラインストレージに分散してアッ
プロードする.
また,オンラインストレージに保存されているファ
イルのリストからダウンロードするものを選択する
と,複数のオンラインストレージからデータを取得し,
元のデータを復元することでダウンロードを行う.
おき,次回のデータ要求に利用する.
サーバの故障などにより取得できないファイルデ
ータがある場合,パリティを使用してファイルデータ
の復元を行うことでオンラインストレージ 2 つの停止
までに対応可能である.
4.
図 2 アップロード時の処理
3.2.
ファイルのアップロード
ファイルアップロードアルゴリズムを以下に示す.
Input:ファイル名,分割数 n
Output:ファイルデータをオンラインストレージに保存する
1. オンラインストレージフォルダにファイルを入れる
2. ファイルを n 個に分割し,n 個のデータから XOR によ
りパリティデータを作成する
3. 各パーティションデータを id = 0 から id = n – 1 とした
場合,id と((id + 1) mod n)を同じオンラインストレー
ジに配置するものとし,パーティションデータとパリテ
ィデータをそれぞれオンラインストレージにアップロ
ードする
図 2 ではアップロードにおけるデータの分割,パリ
ティ生成について,例としてデータを 4 分割し,オン
ラインストレージを 5 つ用いた場合を示している.こ
の例ではまずはデータを 4 分割して,そのデータから
XOR によりパリティデータを 1 つ生成する.4 分割し
たパーティションデータ A,B,C,D の id がそれぞ
れ 0,1,2,3 となる.配置は id が(0,1),(1,2),(2,3),
(3,0)の組み合わせとなるので,AB,BC,CD,DA が
各オンラインストレージにアップロードされる.
3.3.
ファイルのダウンロード
ファイルを復元するアルゴリズムを以下に示す.
Input:ファイル名
Output:取得したいファイル
1. アップロード時に利用したオンラインストレージを対
象とする
2. 各オンラインストレージの通信速度に比例したサイズ
のパーティションデータとパリティデータを要求する
3. それぞれのストレージからデータを取得し,その際に通
信速度を計測し,次回のために保存する
4. サーバの故障などにより,取得できないパーティション
データがある場合,取得できたパーティションデータと
パリティを使用し,そのデータの復元を行う
5. 取得したパーティションデータから元データを復元し,
ユーザに提供する
各オンラインストレージの通信速度から効率的に
ダウンロードできる配分を算出し,ダウンロードを行
う.図 2 の例では各オンラインストレージが元のデー
タの 50%を保持しているので,ダウンロード時の通信
速度に比例して,例えば,ストレージ 1 から 40%,ス
トレージ 2 から 20%,ストレージ 3 から 30%,スト
レージ 4 から 10%のように配分してデータを要求する.
通信速度に関してはダウンロードする度に計測して
考察
本提案手法は,各オンラインストレージに対してそ
のストレージからどれだけのデータを取得するのか
を指定できることが前提条件となっている.
データを分割してアップロードすることで,それぞ
れのストレージが保持するデータが少なくなり,ファ
イルサイズがある程度大きい場合,アクセス速度を向
上させることができ,ファイルサイズ制限の影響を受
けにくくなる.ダウンロード時には,通信速度に応じ
てどのオンラインストレージからどれだけのデータ
を取得するか調節することで,よりダウンロード速度
を向上させる.また,データの一部の複製とパリティ
データにより,サーバ 1 台の障害ならパリティを使用
せずにデータの取得が可能で,サーバ 2 台の障害なら
パリティを使用しての復元が可能であり,耐故障性も
確保できる.
しかし,容量コストが大きくなっていること,プラ
イバシー保護について考慮していない点については
関連研究 4)と比較した場合の欠点となっている.本研
究では対象としなかったが,データの分割に加えて暗
号化も行うことでプライバシー保護については補う
ことも可能となる.
5.
おわりに
本研究では,オンラインストレージにおける冗長デ
ータを用いたダウンロード高速化手法について提案
を行った.今後は性能評価を行い,手法の有効性を示
すとともに,より効率的な分割ダウンロードのための
処理についても検討する.
最後に,本研究において実験の協力と助言を頂いた
藤原貴正氏に感謝致します.
参考文献
1)
野尻祐,金井遵,並木美太郎:オンラインストレ
ージを用いた分散仮想ディスクの開発,情報処理
学 会 研 究 報 告 (OS) , Vol.2007, No.36,
pp.139-146 (2007).
2)
遠藤 大礎,川原 圭博,浅見 徹:P2P 分散ファ
イル共有基盤を活用した自己暗号化法によるプ
ライベートストレージ,情報処理学会研究報告
(QAI),Vol.2007, No.104, pp.45-50 (2007).
3)
堀内公平:複数ベンダのクラウドを用いた秘密
分散ストレージ「MyCloud」の開発-安全で高
速なクラウドのある未来のために-,情報処理
推進機構(2009).
4)
藤原貴正,王家宏,児玉英一郎,高田豊雄:RAID
技術を用いたセキュアオンラインストレージシ
ステム,電子情報通信学会技術研究報告(NS),
Vol.113,No.388,pp.53-58 (2014).
5)
David A. Patterson,Garth Gibson,Randy H.
Katz : A Case for Redundant Arrays of
Inexpensive Disks(RAID),Proceedings of the
International Conference on Management of
Data (SIGMOD) , Vol.17, No.3, pp.109-116
(1988).