Comments
Description
Transcript
オンラインストレージにおける冗長データを用いたダウンロード高速化手法
オンラインストレージにおける冗長データを用いたダウンロード高速化手法の提案 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).