理工学研究科Graduate School of Science and Engineering
COT500X3(計算基盤 / Computing technologies 500)分散処理システム特論1Distributed System (Ⅰ)
藤井 章博Akihiro FUJII
授業コードなどClass code etc
学部・研究科Faculty/Graduate school | 理工学研究科Graduate School of Science and Engineering |
添付ファイル名Attached documents | |
年度Year | 2024 |
授業コードClass code | YB008 |
旧授業コードPrevious Class code | |
旧科目名Previous Class title | |
開講時期Term | 春学期授業/Spring |
曜日・時限Day/Period | 月1/Mon.1 |
科目種別Class Type | |
キャンパスCampus | 小金井 / Koganei |
教室名称Classroom name | 小南館‐AL教室1 |
配当年次Grade | |
単位数Credit(s) | 2 |
備考(履修条件等)Notes | |
実務経験のある教員による授業科目Class taught by instructors with practical experience | |
カテゴリーCategory | 応用情報工学専攻 |
すべて開くShow all
すべて閉じるHide All
Outline (in English)
【Cource Outlie】Overview for recent distributed computing systems such as Web, Cloud Computing Environment, Wearable Computer, etc are treated. Practical problem solving are included for several topics. 【Learning Objectives】Students are to understand Mathematical foundation, algorithmic backgrounds are also explained with rich examples of Python programming codes.【Learning activities outside of classroom】Before each class meeting, students will be expected to have read the relevant chapter(s) from the text.【Grading Criteria /Policy】Your overall grade in the class will be decided based on several criterias.
授業で使用する言語Default language used in class
日本語・英語併用 / Japanese & English
授業の概要と目的(何を学ぶか)Outline and objectives
分散システム特論I/IIでは、Webやクラウドコンピューティング、携帯型デバイス等を包括する技術分野全体を俯瞰できるようにする。その中で、具体的な要素技術の重要な項目を取り上げ、講義・演習を行う。
到達目標Goal
「分散システム」と称される技術の体系は、計算機システムをLAN(Local Area Network)などの分散環境で利用するための研究開発として始まった。まず、トランザクションの一貫性制御や分散アルゴリズムは、理論的な基礎を与える項目であり、学部授業の基礎の上に立ってこれらをより深く理解する。
インターネット利用が拡大する中で、Webによる情報公開と閲覧、およびWebを利用した情報処理の方法が多様化し成熟していった。さらに、スマートフォンやタブレット等携帯型の計算機システムが幅広く活用されるようになり、社会生活が関連する技術によって短期間に大きく変化した。そこで、Web技術を中心に、より進んだ要素技術の解説とともに、Webの登場によって新たにもたらされる産業や社会生活の変化にも触れる。
この授業を履修することで学部等のディプロマポリシーに示されたどの能力を習得することができるか(該当授業科目と学位授与方針に明示された学習成果との関連)Which item of the diploma policy will be obtained by taking this class?
ディプロマポリシーのうち、「DP1」「DP2」「DP3」に関連
授業で使用する言語Default language used in class
日本語・英語併用 / Japanese & English
授業の進め方と方法Method(s)(学期の途中で変更になる場合には、別途提示します。 /If the Method(s) is changed, we will announce the details of any changes. )
教材の配布と座学、プログラミング演習を行う。教材としては、学術論文等の資料を適宜配布する。座学にはDVDなどの副教材も併用する。プログラミング演習には、Python言語を主に使用する。履修に際しては、学部で「分散システム性能評価法」、「検索技術」を履修して、Python言語の利用に慣れていることが望ましい。感染対策のために、オンデマンドを併用する。課題等に対するフィードバックは学習支援システムまたは授業などで行う
アクティブラーニング(グループディスカッション、ディベート等)の実施Active learning in class (Group discussion, Debate.etc.)
あり / Yes
フィールドワーク(学外での実習等)の実施Fieldwork in class
なし / No
授業計画Schedule
授業形態/methods of teaching:対面/face to face
※各回の授業形態は予定です。教員の指示に従ってください。
1[対面/face to face]:分散システムを構成する要素技術とその発展経緯1
要素技術の歴史的変遷(富士通計算機開発事例、トロン事例、Google事例)
2[対面/face to face]:分散システムを構成する要素技術とその発展経緯2
分散オブジェクト指向技術(RPCのJavaによる実装例)
Webサービス技術(XMLとBPEL)
3[対面/face to face]:分散システムを構成する要素技術とその発展経緯3
RESTful Web APIの意義
マッシュアップとAPIエコノミー(Harvard大学資料利用)
4[対面/face to face]:基礎理論I
アルゴリズム編1
事象生起関係と因果順序性、全順序性(「分散アルゴリズム」利用)、
生成木の構成アルゴリズム集中型
5[対面/face to face]:基礎理論I
アルゴリズム編2
生成木の構成アルゴリズム分散型とリーダー選出問題と同期の定義、連続的同期
6[対面/face to face]:基礎理論I
アルゴリズム編3
分散システムの連続的同期と全順序性およびそのIoTシステム設計における意義について
7[対面/face to face]:基礎理論II
数理的解析
1
通信プロトコルの階層化と多地点間通信の信頼性
オペレーションズリサーチの応用(線形計画法)
8[対面/face to face]:基礎理論II
数理的解析
2
オペレーションズリサーチの応用(待ち行列他)
統計的手法の応用(ベイズ推定、Twitterのフィルタリング他)
9[対面/face to face]:データの分散化
―オープンデータ―
1
RDFとSPARQLによるデータ処理
10[対面/face to face]:データの分散化
―オープンデータ―
2
Linked Open Dataの設計
Wikiペディア、オープンストリートマップ
11[対面/face to face]:処理の分散化
―クラウドコンピューティング―
1
IaaS、PaaS、SaaS、パブリック・プライベートクラウド
Google Cloud Platformの概要(クラウドサービス演習)
12[対面/face to face]:処理の分散化
―クラウドコンピューティング―
2
Git Hub の利用、Docker による仮想環境の設定
13[対面/face to face]:ITの産業への応用
IT人材のキャリアパス(政策研究所研究レポートより)
電子商取引の登場とその発展(鮮魚取引、大学情報システム)
倫理的課題(放送大学教材)
情報通信技術政策(政策研レポート)
14[対面/face to face]:ITによるイノベーション
イノベーションと産業発展(セブンイレブンの事例と粘着性の概念「イノベーションのダイナミクス概要」)
イノベーションのモデル(トリクルアップ戦略)
ITのビジネスモデルの類型(イノベーションのジレンマ)
授業時間外の学習(準備学習・復習・宿題等)Work to be done outside of class (preparation, etc.)
【本授業の準備・復習時間は、各4時間を標準とします。】Pythonによるプログラミング課題の実施を課す。
テキスト(教科書)Textbooks
特に指定しない
参考書References
「集合知プログラミング」オライリー
「セマンティックWebプログラミング」オライリー
「分散処理システム」真鍋義文、森北出版
成績評価の方法と基準Grading criteria
基礎理論に関する演習レポート
平常点
プログラミング演習課題提出
ICT産業の動向に関する考察レポート
小テスト・レポート 50%
平常点 50%
学生の意見等からの気づきChanges following student comments
少人数にふさわしい学習方法として、討論を促し、それを通じて事象の理解が深まるように配慮する。