ソフトウェア工学からのクラウドへのアプローチ
電気通信大学
大学院情報システム学研究科
システム設計基礎学講座
中川 博之

1

調査概要
 目的


Cloud Computing + Software Engineeringの観点から研究領域を探求する

 文献調査

以下の国際会議から動向を把握
 GCGrid’09, CLOUD’11, SECLOUD’11

 分析

文献調査結果から，今後有望な研究領域を分析

2

文献調査結果(IEEE/ACM CCGrid2009)
CCG id2009)

主なキ ワ ド主なキーワードHigh-Performance Computing, Grid,Large Scale Computing , Distributed System, Virtualization

特徴 論文の傾向
特徴・論文の傾向


Cloud Computingは12セッションのうちの1セッション
 計算資源の統合や運用管理などに関する内容が主体
ク ウド構築とそれに関する
クラウド構築とそれに関するソフトウェアの紹介
トウ
紹介
 Eucalyptus, パフォーマンス分析ツール（C-Meter）
資源管理・IOパフォーマンスに関する論文
ク ウド応用クラウド応用 リスク分析で用いられるVaR(Value at Risk)の計算にクラウドを利用
 BPELで記述されたワークフローに対応した，クラウド資源の割り当て法 環境依存のMapReduceをインフラから独立させるMapReduceのインタフェ
環境依存のM R dをイラから独立させるM R dのイ タースを実装

 実装ソフトウェアの紹介のレベルであり，ソフトウェア工学としての実装ソフトウ アの紹介のレベルであり ソフトウ ア工学としての研究成果は見当たらない
3

文献調査結果(IEEE/ACM CCGrid2010)
CCG id2010)主なキ ワ ド
主なキーワードGrid, Service-Orientation, Greening, Autonomic Management , Economic Aspects,Monitoring and Evaluation, Security, Trust

特徴・論文の傾向

前年よりもCloud
前年よりもCld Computingに関する研究が増加
Cti に関する研究が増加
計算機資源の再配分といったクラウド基盤に関する研究から，クラウドサービスのセキュリティ，ビジネスモデルに関する研究が見られる
研究例
 価格モデルを用いたスケジュ価格モデルを用いたスケジューリングアルゴリズムの提案
リングアルゴリズムの提案
 帯域幅が変動する状況下における高速な転送方法
 ジョブの実行確率を基にレプリケーション戦略を決定する手法
 MapReduceログからの性能分析
 サ
サービスプロバイダのメリット：
ビスプロバイダのメリット： スケジュ
スケジュール決定への知識の獲得
ル決定への知識の獲得
 ユーザのメリット ： どの部分がパフォーマンスに影響を与えるかを認識 オントロジーを用いて，QoSに合致するクラウドサービスを発見する手段
 クラウドサービスのビジネスモデル分析
 ユ
ユーザの利得が最大化となる
ザの利得が最大化となる 動的プライシングスキ
動的プライシングスキーマの提案
マの提案
 既存の自動リソース割当て戦略の比較

 クラウドサービスやその選択に関する研究が増加している．
MapReduceの性能分析などパフォーマンスの向上を目指した研究も登場
4

文献調査結果(IEEE CLOUD2011)主なキ ワ ド
主なキーワードAnalysis, Business Intelligence, Performance, Security, Monitoring, Scalability, Elastic,Integrity, SLA, Migration, Modeling

特徴・論文の傾向


設計，マネジメント，システム構築がメイン
設計
マネジメント システム構築がメイン
 柔軟性やコストとのトレードオフなど
4種類のセッションにより構成
 Research Session
 クラウド化した場合のパフォーマンス調査
クラウド化した場合のパフォ マンス調査
 パフォーマンス調査ツール
 セキュリティモニタリング
 Applications & Experiences Session
 ビデオストリーミング（プラットフォーム）
ビデオストリ ミング（プラットフォ ム） クラウドへの移行に関する方法
 Industry Session
 具体的なサービスシステム作成
 クラウド運用や管理ツール
クラウド運用や管理ツ ル
 Work-in-Progress Session
 パフォーマンス視覚化

性能 セキ リティなどの非機能要求に関心が移 てきている性能，セキュリティなどの非機能要求に関心が移ってきている
5

文献調査結果(SECLOUD 2011) 主なキーワード
主なキ ワ ド
 Cloud computing, Software engineering, MapReduce, OOTD,
g, modeling,g, Deployment,
p y, Reliabilityy and Availability,y,migration,Goal Oriented Requirements Engineering, Workflow system,Scheduling 特定のキーワードが多い訳ではなく、広範囲にわたっている
特定 キ ワ
多 訳 はなく、広範囲 わたる 特徴・論文の傾向
 クラウド上でのソフトウェア工学を扱ったICSE併設のワークショップ
 手法の提案というよりは、知見を提供するもの、構築アプリケーションプを紹介するものが殆ど
 Migration（クラウドへの移行）に関する研究が複数ありg 移行時の各作業時間の計測など

 ソフトウェア工学としての研究成果が紹介され始めたが，ソフトウ ア工学としての研究成果が紹介され始めたが知見の提供など，まだまだ黎明期である
6

文献調査結果ま め
文献調査結果まとめ クラウドを扱う会議が急激に増加する中で，この1,2年でソフクラウドを扱う会議が急激に増加する中の1 2年

トウェア工学に言及するワークショップや論文が散見されるようになっている


COMPSAC’11などにも論文あり

 ただし，現状は，手法の提案というよりは、知見を提供する程だ
状
提案う知 を提供す 程度のものが多い 今後は，ソフトウェア工学の主要会議でもクラウドを扱った成果が報告され始めると予想される
では，何をターゲットとすべきか？
7

Cloud Computing
pg + SEにおける研究ターゲット分析
おける研究タ ゲット分析
 通常のソフトウェア開発と異なる点
通常
ウ開発と異なる点

並列分散処理，大規模DB
 移行が困難である サービス連携の複雑さ さまざまなサービスの出現
さまざまなサの出現
 セキュリティの考慮 システム環境に対する制約（プロバイダごとに異なる）
8

Cloud Computing
pg + SEにおける研究ターゲット分析
おける研究タ ゲット分析
 想定される研究領域想定される 究領域

要求分析結果に基づいた最適なサービス選択 移行の支援 構築したクラウド環境の検証

9想定される研究領域[要求分析結果に基づいた最適なサ ビス選択][要求分析結果に基づいた最適なサービス選択]
 背景
 サービスに対するユーザのニーズ多様化 ハードウェアの存在による制約から解放 サービスの多様化と制約の複雑化→ ユーザーのニーズとサービスとをマッチングさせる技術が必要
 有望な要素技術：ゴール指向要求分析法
 ステークホルダーの要求を階層構造により記述可能
テ クホ ダ
要求を階層構造り記述可能 要求が構造化されて記述されていることにより，
 競合箇所の発見と分析を支援
 代替案記述や優先順位の検討も可能 提供サービスの十分性をゴールツリーの構造により判断
 コストも考慮する

10想定される研究領域[移行の支援] 背景

PaaS, IaaSは最新技術を多様なプラットフォームで実現しているので、習得コストが高い、習得高 IaaSでは環境構築のコストが高く，一方でPaaSでは環境に適合させるためのコード修正が必要 有望な要素技術：モデル変換技術，ソフトウェアパターン

典型的なクラウド上での設計手段をパターンとして登録
典型的なクラウド上での設計手段をパタンとして登録
 典型的な移行に要するコード変更をモデル変換技術により支援

11

想定される研究領域[構築したクラウド環境の検証]
 背景

要求の多様化 達成すべきゴールの複雑化
 短期間でのリリース
 動的な構成変更
 低い再現性 ノードの負荷状況に応じて発生する現象も少なくない 有望な要素技術：モデル検査技術，テストケース自動生成技術
起こりえる障害を含んだモデルを構築し，設計モデル上で検証
 構成変化後の自動テスティング
 モデル検査技術とテスティングによるハイブリッドな検証

12Cloud Computing
pg + SEにおける研究ターゲット分析
おける研究タ ゲット分析
 想定される研究領域想定される 究領域

要求分析結果に基づいた最適なサービスの選択
 移行の支援 構築したクラウド環境の検証
 着目すべき研究領域


動的構成変化による高度かつ多彩なサービス提供

13

着目すべき研究領域[動的構成変化による高度かつ多彩なサ ビス提供][動的構成変化による高度かつ多彩なサービス提供]


背景
コンフィギュレーションの頻繁な変更，構成要素の多様化→ 運用自動化を支援する技術が必要
 ユーザーのサービス要求も考慮した構成変更が必要
ザ のサ ビス要求も考慮した構成変更が必要

有望な要素技術：自己適応システム(Self-adaptive systems)＋ゴー
ル指向要求分析

自己適応システム：自らが目的（ゴール）を管理し，ゴール達成のために自身の構成や振舞いを変化させるシステム
 大規模・複雑化するシステムへの適用が期待されている
大規模 複雑化するシステム の適用が期待されている
 Control loop (Collect-Analyze-Decide-Act) による適応メカニズム
ゴール指向要求分析結果をシステムが動的に管理 負荷の増加，ノード故障などの状況変化に対しても，ユーザの嗜好（非機能負荷の増加 ノ ド故障などの状況変化に対してもザの嗜好（非機能要求）に基づいた適切なサービスを決定し提供
 単なる同一モジュールの増減でなく，異なったサービスを提供するコンポ ネント群からも適したものを選択
ポーネント群からも適したものを選択
 動的にコンフィギュレーションを変更
14自己適応システム 自己適応システム [Kramer07,[K07 Cheng08]
Ch 08]
 変化に対し自らの振る舞いを変更し、適応する
 要求や内部状態を管理し、接続構成を動的に変更する
要求や内部状態を管理し 接続構成を動的に変更する

 要求や実行環境の変化、障害の発生にも柔軟に対処
要求

要求シ ス テ ム管理部

シ ステ ム管理部

システム状態

要求変化
故障

C1

C3再構成

C2

C1

C4C3C2

C4

機能をコンポーネント（部品）として実装
15

自己適応システム構築における課題
適応メカニズム

構成変更制御異常の検知

構成変更案１

状況の監視

再構成

C2・・・C1

構成変更案２

C4C3

C1
C3

C2
C4構成変更案ｎ構成算出＆選択

実行 変化に対する適応案を自律的に算出する必要
 状態や要求を考慮し、状況に即した構成選択が重要→ 自己適応システムの動的再構成手法 および 設計手法
16

例題による問題提起
 インタ
インターネットバンキングシステム
ネットバンキングシステム
Presentation Tier

Application Tier

Data Access Tier

User
Interface

Banking Service

Bank Database

PC
Interface

Authentication
Security

BalanceInquiry

Database

Display
Receipt

Client AMobile
Interface

Other Banks
Transfer

Database

Client B【１】環境変化（故障・状況の変化 ex.突発的なアクセスの増加）
ex 突発的なアクセスの増加）【２】代替コンポーネントの用意【３】様々な非機能要求（ex. セキュリティ、応答時間、ユーザビリティ）“トレ ドオフの問題”( 暗号化 ンポ ネント)
“トレードオフの問題”(ex.暗号化コンポーネント)
1717

アプアプローチ
チ
自己適応向け設計プロセス
分析フェーズ設計フェーズ

分析し、
析
ADL記述拡張
拡張
ADL記述

実行時解析

自己適応フレームワーク
状態の監視

適応プラン生成＆構成変更

稼働システム18