3.2 合意問題 agreement problems

Slides:



Advertisements
Similar presentations
情報セキュリティ 第3回 現代暗号の基礎数理. 脅威と暗号技術 セキュリティに対する脅威 脅かされる特性 暗号技術 機密性 正真性 認証 否認不可能性 盗聴 (秘密が漏れる) 改竄 (情報が書き換えられる) なりすまし (正しい送信者のふりをする) 否認 (後から私じゃないと言う) 共通鍵暗号 公開鍵暗号.
Advertisements

新潟インターネット研究会 神保道夫 NTP入門 新潟インターネット研究会 神保道夫
耐故障アルゴリズム.
Chapter11-4(前半) 加藤健.
駒澤大学 経営学部 情報セキュリティ B 公開鍵暗号による 認証つきの秘匿通信 ―― 鍵に注目して ――
クラウド上の仮想マシンの安全なリモート監視機構
Data Clustering: A Review
時系列の予測 時系列:観測値を時刻の順に並べたものの集合
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
スケールフリーネットワークにおける 経路制御のためのフラッディング手法の提案と評価
ソフトウェアの検証 成熟した方法論・ツール しかし、非常に高いコスト 人間的要因 > アルゴリズム・設計・実装
神奈川大学大学院工学研究科 電気電子情報工学専攻
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
「まめだくん Ver.1.0」 特徴と利用方法.
プロセス制御工学 6.PID制御 京都大学  加納 学.
ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子
Ibaraki Univ. Dept of Electrical & Electronic Eng.
センサノード 時刻同期と位置測定 浅川 和久 2008/11/16 センサノード 時刻同期と位置測定.
画像処理ボード上での 高速テンプレートマッチングの 実装と検証
シグナル通信 普通の割込みとソフトウェア割込み ソフトウェア割込みとシグナル キーボードからのシグナル 例外 (exception)
需要の価格弾力性 価格の変化率と需要の変化率の比.
(B2) 親: minami, kazuki 多様な認証機器に対応する 認証システム (B2) 親: minami, kazuki.
Occam言語による マルチプリエンプティブシステムの 実装と検証
大阪大学 大学院工学研究科 極限光通信工学領域 井上研究室 欅田 直也・橘 遼太郎・隅田 拓也・高 祥史
大阪大学 大学院情報科学研究科 博士前期課程2年 宮原研究室 土居 聡
第8週 高精度GPSの構築 位相測位の原理 通信システムの構築.
耐故障処理 Fault Tolerance 「分散計算の基礎」 12章 発表者 : 高橋 慧.
情報セキュリティ  第11回 デジタル署名.
インターネットにおける真に プライベートなネットワークの構築
TIME SIGNAL: 集合知を利用した赤信号点灯時間の取得手法
レジスタの割付け 中田育男著 コンパイラの構成と最適化 朝倉書店, 1999年 第12章5節.
第6回 高精度GPSの構築 位相測位の原理 通信システムの構築.
コードクローンの動作を比較するためのコードクローン周辺コードの解析
25. Randomized Algorithms
東京工業大学 情報理工学研究科 数理・計算科学専攻 千葉研究室 栗田 亮
連続領域におけるファジィ制約充足問題の 反復改善アルゴリズムによる解法 Solving by heuristic repair Algorithm of the Fuzzy Constraint Satisfaction Problems with Continuous Domains 北海道大学.
ファジィ制約充足問題への 連続領域の導入 Introducing continuous domains to
様々な情報源(4章).
VMMのソフトウェア若化を考慮した クラスタ性能の比較
片方向通信路を含む ネットワークアーキテクチャに於ける 動的な仮想リンク制御機構の設計と実装
Distributed Algorithm 輪講 13 章
アルゴリズム論 (第12回) 佐々木研(情報システム構築学講座) 講師 山田敬三
盗聴・改ざんに対して耐性を持つ ネットワーク符号化について
信号伝搬時間の電源電圧依存性の制御 による超伝導単一磁束量子回路の 動作余裕度の改善
データの型 量的データ 質的データ 数字で表現されるデータ 身長、年収、得点 カテゴリで表現されるデータ 性別、職種、学歴
コードクローン分類の詳細化に基づく 集約パターンの提案と評価
コミュニケーションと ネットワークを探索する
4. システムの安定性.
JAVAバイトコードにおける データ依存解析手法の提案と実装
P2P型アプリケーション用ライブラリ SUNET
情報経済システム論:第13回 担当教員 黒田敏史 2019/5/7 情報経済システム論.
マイグレーションを支援する分散集合オブジェクト
データ構造とアルゴリズム (第5回) 静岡大学工学部 安藤和敏
重み付き投票ゲームにおける 投票力指数の計算の高速化
1999年度 卒業論文 UDPパケットの最適な送信間隔の検討 早稲田大学理工学部情報学科 G96P026-4 小川裕二.
``Exponentiated Gradient Algorithms for Log-Linear Structured Prediction’’ A.Globerson, T.Y.Koo, X.Carreras, M.Collins を読んで 渡辺一帆(東大・新領域)
「マイグレーションを支援する分散集合オブジェクト」
クローン検出ツールを用いた ソフトウェアシステムの類似度調査
表紙 分散遺伝的アルゴリズムのための 新しい交叉法.
システムプログラミング 第10回 プロセス間通信3 簡易Web server(準備) Chat プログラム 担当:青木義満、篠埜 功
ネット時代のセキュリティ3(暗号化) 2SK 情報機器工学.
複雑度メトリクスを用いた JAVAプログラム品質特性の実験的評価
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
情報論理工学 研究室 第1回:並列とは.
BSPモデルを用いた 最小スパニング木 情報論理工学研究室 02-1-47-134 小林洋亮.
3 分散システムのフォールトトレランス 分散システム Distributed Systems
クイズ 非同期システムにおいて,1プロセスがクラッシュ故障する可能性がある場合,次のアルゴリズムで非ブロッキング原子コミットが解けないことを示せ アルゴリズム V(=Yes or No)を高信頼ブロードキャスト 全プロセスから値を受信した場合 すべてYesならコミットを決定 そうでなければアボートを決定.
マルチエージェントシステムにおける 通信コストの構造依存性に関する解析
信号伝搬時間の電源電圧依存性の制御 による超伝導単一磁束量子回路の 動作余裕度の改善
情報ネットワーク 岡村耕二.
Presentation transcript:

3.2 合意問題 agreement problems 例.時計同期 メッセージを交換して,プロセスの持つlocal clock(局所時計)の値を一定の誤差の範囲に保つこと 1:00 1:00 A A 2:00 2:00 1:00 1:00 1:00 1:00 0:00 0:00 2:00 2:00 B C B C 0:00 0:00 3:00 2:00 2:00 (a) 正常 (b) BがByzantine 故障 (“Dual-faced”)

ビザンチン故障 平均を取る場合 差が縮まらない (0:00 + 2:00 + 1:00)/3 = 1:00 A 1:00 A B C 3:00 2:00 1:00 0:00 1:00 2:00 1:00 1:00 0:00 2:00 B C 0:00 2:00 0:00 2:00 (3:00 + 1:00 + 2:00)/3 = 2:00 差が縮まらない

3.2.2 問題の定義 ビザンチン将軍問題 プロセス={Po, P1, P2, …} Po: propose(v0), Pi (i=1,2,..): decide(wi) 条件 停止性 合意: Pi, Pjが正常なら,wi = wj 妥当性: Poが正常のとき,Piが正常ならv0 = wi

propose(v0) decide(v0) decide(v0) decide(w) decide(w) decide(w) v0 v0 司令官 Po 司令官 Po v0 v0 v0 x y z 副官1 P1 副官2 P2 副官3 P3 副官1 P1 副官2 P2 副官3 P3 decide(v0) decide(v0) decide(w) decide(w) decide(w) Module 1 sensor 多数決 Module 2 Module 3

インタラクティブコンセンサス問題 プロセス={P1, P2, …} Pi (i=1,2,..): propose(vi), Pi (i=1,2,..): decide(wi) wi = (wi1, wi2, …) (ベクトル) 条件 停止性 合意: Pi, Pjが正常なら,wi = wj 妥当性: Pjが正常のとき,Piが正常ならwij = vj

propose(1:00) decide(1:00, 0:00, 2:00) propose(2:00) propose(0:00) A 2:00 1:00 1:00 0:00 2:00 propose(2:00) B C propose(0:00) 0:00 decide(1:00, 0:00, 2:00) decide(1:00, 0:00, 2:00) propose(1:00) decide(1:00, c, 2:00) A B C 3:00 2:00 1:00 0:00 一致 propose(2:00) decide(1:00, c, 2:00)

ビザンチン将軍問題vsインタラクティブコンセンサス問題 ビザンチン将軍問題A propose(1:00) A B C 3:00 2:00 1:00 0:00 ビザンチン将軍問題B decide(c) ビザンチン将軍問題C decide(2:00) インタラクティブ合意問題 decide(1:00, c, 2:00) ビザンチン将軍問題B ビザンチン将軍問題C propose(2:00)

3.2.2 アルゴリズム 同期ラウンドモデルを仮定 n < 3k+1の場合,アルゴリズムは存在しない 例.n = 3, k =1 の時 Po: 司令官 Pi (i = 1, 2,..) : 副官i 提案値:「攻撃」か「退却」 司令官 副官1 副官2

副官1には区別できない decide(攻撃) decide(攻撃) 副官2には区別できない decide(退却) decide(退却) 司令官 司令官 攻撃 攻撃 攻撃 退却 副官1 副官1 副官2 副官2 司令官が退却を命令 司令官が退却を命令 decide(攻撃) (a) decide(攻撃) (b) 副官2には区別できない 司令官 司令官 退却 退却 攻撃 退却 副官1 副官1 副官2 副官2 司令官が攻撃を命令 司令官が攻撃を命令 decide(退却) decide(退却)

アルゴリズム OM n > 3kを仮定 OM(0) OM(m) スタート OM(k) 副官に値を送り,受信した副官は,その値を結果とする OM(m) 副官に値を送る 値を受信した副官は,司令官となって,他の副官を対象に,OM(m-1)を実行.送る値は,受信した値. 副官は,2で受信した値と,他の副官が実行したOM(m-1)によって得られた値のうち,過半数を占めるものを結果とする.(なければ,デフォルト値) スタート OM(k)

n=4,k=1 OM(1) OM(0) ×3 v:0 v:0 v:0 v:0,1 v:0,1 v:0,1 v:0,1 v:0,2 v:0,2 司令官 OM(1) 副官1 副官2 副官3 OM(0) ×3 v:0 v:0 v:0 v:0,1 v:0,1 副官1 副官2 副官3 v:0,1 v:0,1 v:0,2 v:0,2 y:0,3 z:0,3 v:0 過半数のものを選択 v:0,2 v y:0,3

n=4,k=1 {v0, v0, y} {v0, v0,x} {x, y, z} {x, y, z} {x, y, z} v0 v0 x y 司令官 司令官 v0 v0 x y z v0 v0 x 副官1 副官2 副官1 x 副官2 z 副官3 副官3 v0 v0 y y v0 x y z (a) (b) {v0, v0, y} {v0, v0,x} {x, y, z} {x, y, z} {x, y, z}

n=7, k=2 OM(2) v:0 1 2 3 4 5 6 OM(1) ×6 v:0,1 1 2 3 4 5 6 OM(0) ×6 ×5 過半数を選択 v:0,2,3 v:0,2,4 v:0,2,5 v:0,2,6 v:0,2 過半数を選択 w:0,2 w:0,2 w:0,3 v:0,3,2 v:0,3,4 v:0,3,5 v:0,3,6 w:0,4 v:0 v:0,3 w:0,3 w:0,5 w:0,6 w

アルゴリズム SM ディジタル署名が使える場合 ・・・ 認証アルゴリズム 司令官は署名して値vを送信 n > kで動作するアルゴリズムが存在 司令官は署名して値vを送信 メッセージ v:0 値が初めて受け取ったもので,署名している副官がk未満なら,署名していない副官に自分の署名を加えて,送信 P1がv:0:3:2 を受信→P3, P2以外にv:0:3:2:1を送信 

n=3,k=1 注:退却:0:2は送れない 受け取った値の集合が一致 {攻撃} {攻撃} {退却} {攻撃} {攻撃, 退却} 司令官 司令官 攻撃:0 攻撃:0 攻撃:0 退却:0 副官1 副官2 副官1 副官2 {攻撃} {攻撃} {退却} 攻撃:0:1 攻撃:0:1 副官1 副官2 副官1 副官2 攻撃:0:2 退却:0:2 {攻撃} {攻撃, 退却} {攻撃,退却} 注:退却:0:2は送れない 受け取った値の集合が一致

n=4,k=2 {攻撃} {攻撃} {攻撃} {攻撃,退却} {攻撃,退却} {攻撃,退却} 攻撃:0 攻撃:0 攻撃:0:1 退却:0:3 司令官 攻撃:0 攻撃:0 副官1 副官2 副官3 {攻撃} {攻撃} 攻撃:0:1 退却:0:3 副官1 副官2 副官3 攻撃:0:2 攻撃:0:2 攻撃:0:3 {攻撃} {攻撃,退却} 副官1 副官2 副官3 退却:0:3:2 {攻撃,退却} {攻撃,退却}

3.2.3 時計同期 プロセスの持つlocal clock(局所時計)の値を一定の誤差の範囲に保つこと | Ci(t) - Cj(t) | ≤ e を満たすように,メッセージを交換して,新しい値を計算 Ci(t) :実時刻(real-time)tでのPiのクロックCiの値 00:00:00 10:00:00 P1 Clock: C1 := C1 +CORR1 H2 00:00:00 10:00:25 P2 C2 := C2 +CORR2

時計同期 考慮すべき要素  Clockの故障 Clockのスピードの差 メッセージ遅延 ドリフト率r 時間の範囲[ -d, +d]内に収まると仮定 P1 t P2  d d

Fault-Tolerant Clock Synchronization Algorithm 例.Interactive Convergence Algorithm 間隔R毎にメッセージ交換を行いクロック値を調整 R t P1 R P2

Interactive Convergence Algorithm アルゴリズム | Ci(t) - Cj(t) | ≤ eが成り立っていることを仮定 全プロセスの時刻の平均をとる ただし, d+eより誤差が大きい場合は故障とみなし,自分の時刻を用いる Clockの故障 nをプロセス数, kを耐えられる故障の数とした時3k+1n

概要 (d = 0) 問題点:精度がeに依存 e =1:00 (≥|B - C|) A B := (A+1:00+2:00+0:00)/4 0:00 (DB) 3:00 (DC) 3e/4 (=3:00/4) ≥ |B - C| |DB -DC| ≤ 3e D 3k+1=nの場合, e  2(3k+1)(d + rR) 問題点:精度がeに依存

インタラクティブコンセンサスによる時計同期 認証アルゴリズムを想定 n > 2k 故障プロセスの提案値が中央値となるのを避ける propose(1:00) decide(1:00, c, 2:00) A B C 3:00 2:00 1:00 0:00 中央値を選択 propose(2:00) decide(1:00, c, 2:00)