分散システム基礎とクラウドでの活用
平成24年度シラバス
2012年1月13日
国立情報学研究所
トップエスイープロジェクト
代表者 本位田 真一
分散システム基礎とクラウドでの活用
石川 冬樹
分散システムにおいては,場所に寄らないリソースの活用や,複製による性能・耐故障性の向上などの利点があります.一方でそれらの利点の実現をするためには,相互運用性や一貫性に関する課題と向き合い,複数の性質の間のトレードオフを踏まえながら,適切な設計・実装を行っていく必要があります.クラウドの構築や利用にあたっては,こういった分散システムの難しさと向き合う必要が生じることがあります.
本講義ではまず,分散システムに関する基礎知識として,相互運用や同期,複製などに関する原則,および代表的な手法とその限界・トレードオフについて学びます.これにより要求に応じて,既存の手法を採用したり,自身で制御機構を適切に設計したりするための基礎知識と考え方を習得します.加えて,それらとソフトウェア工学における技術との関連,現状のクラウドとの関連についても議論し,理解を深めることを狙います.
分散システムの基礎知識の習得に限らず,それらとソフトウェア工学や現状のクラウドとの関連についても議論し,実際の活用のための理解を深める点.
特にクラウドの構築や利用に置いて,耐故障性や一貫性確保などに関する限界・トレードオフを理解し,それを踏まえて要求に応じた的確な設計を行う難しさ.
分散オブジェクト・CORBA,Webサービス,RESTfulサービス・RESTアーキテクチャなど,通信・相互運用性実現のための仕組み
様々な定義の一貫性,耐故障性など,分散システムに求められる性質とその実現のためのプロトコル
クラウドにおける分散システムの設計・実現
必要な前提知識は特にありません.
(実際の講義時間の配置などにより多少変更することがあります)
第1回 イントロダクション・相互運用性
分散システムの役割と難しさ
相互運用性(分散オブジェクト,Webサービスなど)
第2〜4回 分散システムのプロトコル
分散システムのプロトコル(一貫性,耐故障性など)
演習
第5〜6回 分散システムとしてのクラウド
クラウド構築・利用に関連する技術
演習
第7回 ソフトウェア工学との関連・まとめ
ソフトウェア工学の各技術との関連
本講義で得た知識・考え方の活用
本講義を受講することにより,分散システムの本質的な限界・トレードオフを踏まえ,要求に応じて,既存の手法を採用したり,自身で制御機構を適切に設計したりして,性能,耐故障性などの品質特性を実現することができるようになります.
本講義では特定のツールを利用しません.選択形式の演習課題において, Eclipse,SPINなどを用いるものも用意しますが,必須ではありません.
分散システムにおけるプロトコルの設計や理解・検証などに関する演習を行います.
講義中の演習,および終了後のレポート課題を通して評価します.
分散システム 第二版
A. S. Tanenbaumら,水野 忠則ら訳,ピアソン桐原,2009
特にクラウドに関連するものなど,他の書籍,報告書,論文も適宜引用します.