SlideShare a Scribd company logo
1 of 16
Download to read offline
2022/2/28 Bcali 輪読


CoopEdge: A Decentralized Blockchain-based
Platform for Cooperative Edge Computing
Liang Yuan, Qiang He, Siyu Tan, Bo Li, Jiangshan Yu, Feifei Chen, Hai Jin, and Yun
Yang. 2020.

ACM Proceedings of the Web Conference 2021 (WWW '21)
Link: https://dl.acm.org/doi/abs/10.1145/3442381.3449994
Bcali B1 kekeho 1
Abstract
Edge Computing (EC) が注目されている
遠い雲の上にあるクラウドと違い, 端末の近くにサーバーを配置し, 低レイテ
ンシで計算するやつ
エッジサーバーの計算資源は限られているので, キャパを超えたら計算のオフロー
ドをしたい
各エッジサーバーは異なるステークホルダーによって運営されている

(例: セルラーの基地局にエッジサーバーが置かれているケースだと, docomo, au, softbankなどが混在している)
お互いを信頼できない
タスクを受け入れるインセンティブがない
オフロード先を(中央からのコントロールではなく)自律的に決定したい
Bcali B1 kekeho 2
Abstract
協調的なECを推進するブロックチェーンベースの分散型プラットフォームである
CoopEdgeを提案している
オフロードしたくなったら, 報酬を提示して複数の候補を募る
"評判"に沿ってオフロード先のサーバーが選ばれる
タスク実行のパフォーマンスがブロックチェーンに記録される
記録された履歴は, 評判形成に活用される
信頼・インセンティブ付与に貢献
Hyperledger SawtoothをベースにCoopEdgeを実装し, 性能を評価した

→有用性があることが確認された
Bcali B1 kekeho 3
Edge Computingとは
近年, モバイルデバイスの普及, IoTの流行, 自動運転
車, WebXR, オンラインゲーム...
レイテンシに敏感なものが多い
クラウドはエンドデバイスから遠いところにあるの
で, 大きなレイテンシが発生する
エンドデバイスになるべく近い位置で計算ができる
と, レイテンシが小さくなってうれしい
エッジサーバーをキャリアの基地局に置いたり, ア
クセスポイントに置いて, そこで計算をやってしま
おうというパラダイム
Bcali B1 kekeho 4
計算のオフロード
キャリアの基地局や, アクセスポ
イントは小規模なので, クラウド
のデータセンターみたいに無限
に近いコンピュティングリソー
スを配置することは出来ない
キャパを超えてきたら, 近隣のエ
ッジサーバーに計算をオフロー
ドしたい
Bcali B1 kekeho 5
計算のオフロード
問題
近隣のエッジサーバーが, 同じ会
社によって運営されているとは
限らない
計算を依頼されたサーバーは, 競
合他社のために真面目に素早く
計算するモチベがない
CoopEdgeでインセンティブを
付与していい感じに協力させる
Bcali B1 kekeho 6
CoopEdgeの概要
登場人物
Task Publisher

計算タスクをオフロードしたいエッジサーバー
Task Candidate

計算タスクを実行する候補サーバー
Task Executer

計算タスクを実行するサーバー(1タスクあたり1つ)
Task Recorder

Task Executerの実行パフォーマンスを記録するエッジサーバー
Bcali B1 kekeho 7
CoopEdgeの概要
ステップ
1. 計算タスクをオフロードしたいエッジサーバーがTask Publisherとなり, タスクの
要件と基本報酬をすべてのエッジサーバーに公開する
2. 公開されたタスクを受信したエッジサーバーは, 自身とTask Publisher間のネット
ワーク遅延を調べる. 遅延がしきい値以内であれば, Task Candidateになることが
できる
3. Task PublisherはTask Candidateたちの中から最も信頼できるものを選び, 選択す
る. 選択されたエッジサーバーがTask Executerとなる.
4. Task PublisherはタスクをTask Executerにオフロードする
Bcali B1 kekeho 8
CoopEdgeの概要
ステップ
5. Task Executerはタスクを実行し, 結果をTask Publisherに返し, タスクの完了をブ
ロードキャストする
6. Task Publisherは完了したタスクに関する情報(実行時間とか)をトランザクション
としてまとめ, ブロードキャストする
7. エッジサーバーの評判に基づき, Task Recorderが選択され, Task Recorderがブロ
ックを生成する
8. Task Recorderはブロックをブロードキャストし, 他のエッジサーバーが検証し, ブ
ロックに投票する. コンセンサスが得られれば, チェーンに記録される
Bcali B1 kekeho 9
CoopEdgeの概要
ステップ
Bcali B1 kekeho 10
インセンティブメカニズム
各エッジサーバーがクレジットを得る方法
Task Executerとして, 時間通りにタスクを完了し, 取引報酬( )を受け
取る
基本報酬 : Task Publisherが決める. 要求した時間内にタスクを完了させれば
もらえる
追加報酬 : タスクが要求した時間より早く終わったらもらえる(なるべく頑
張るインセンティブ)
Task Recorderとして, ブロックチェーンに正常にトランザクションをコミットし
たときに帳簿報酬を受け取る
r = r ​ +
b r ​
e
r ​
b
r ​
e
Bcali B1 kekeho 11
インセンティブメカニズム
各エッジサーバーがクレジットを得る方法
: Task Publisherによって公告された基本報酬

: ベースライン追加報酬

: Task Publisherによって公告された最大実行時間

: Task Executerがタスクを完了するのにかかった時間
r ​ =
b ​ ​
⎩
⎨
⎧r ​
, δ ​ ≤ δ ​
b
′
e m
0, δ ​
> δ ​
e m
r ​ =
e ​ ​
⎩
⎨
⎧ ​ , δ ​ < δ ​
δ ​
m
λ⋅ δ ​
−δ ​
( m e)
e m
0, δ ​ ≥ δ ​
e m
r ​
b
′
λ
δ ​
m
δ ​
e
Bcali B1 kekeho 12
評判メカニズム
指数移動平均(EMA)を使う. 最近のトラン
ザクションほど高いウェイトを置く.
トランザクションあたりの評判は追加報酬
を用いる
rp ​ =
s
n+1
​ ​
{
0
ρ ⋅ r ​ + 1 − ρ ⋅ rp ​
e
n+1
( ) s
n
n = 0
n > 0
: 過去 回のトランザクションから得た評
判, : トランザクションの重み
が時間とともに減少する速度を調節するパラメ
ータ
r ​
e
rp ​
s
n
n
ρ (0 ≤ ρ ≤ 1)
Bcali B1 kekeho 13
Task Executerの選定
ECなのだから, レイテンシが短いとうれしい
レイテンシが短く, かつ評判が高いエッジサーバーにお頼みしたい
選定の方法
1. タスクが公開されたら, Task Candidateたちは我先にとTask Publisherに通知する
2. Task Candidateの評判とレイテンシをMin-Maxで正規化
3. スコアを計算
sc ​ =
i w ​ ⋅
1 rp ​ +
i
′
w ​ ⋅
2 δ ​
i
′
: 正規化された応答時間, : 正規化された評判, : 重み
δ ​
i
′
rp ​
i
′
w (w ​ +
1 w ​ =
2 1)
Bcali B1 kekeho 14
コンセンサスメカニズム
よくわかりませんでした(...)
PBFTベースのPoERというのを考えたらしい
Bcali B1 kekeho 15
感じたこと
コンソーシアム型ブロックチェーンのよいユースケースなのでは
計算結果の正しさは考慮されていないような?
そこらへん気になる人は, ひとつ上のレイヤで勝手に解決してくれという感
じ?
ここがクリアできれば, 誰でも野良ノードが参加できるパブリック型に発展で
きるのでは?
Bcali B1 kekeho 16

More Related Content

Similar to CoopEdge: A Decentralized Blockchain-based Platform for Cooperative Edge Computingを読む

[Cloud OnAir] Google Cloud とつなぐ色々な方法 〜 つなぐ方法をゼロからご紹介します〜 2019年1月31日 放送
[Cloud OnAir] Google Cloud とつなぐ色々な方法 〜 つなぐ方法をゼロからご紹介します〜 2019年1月31日 放送[Cloud OnAir] Google Cloud とつなぐ色々な方法 〜 つなぐ方法をゼロからご紹介します〜 2019年1月31日 放送
[Cloud OnAir] Google Cloud とつなぐ色々な方法 〜 つなぐ方法をゼロからご紹介します〜 2019年1月31日 放送Google Cloud Platform - Japan
 
Jazug静岡勉強会資料
Jazug静岡勉強会資料Jazug静岡勉強会資料
Jazug静岡勉強会資料Shinichiro Isago
 
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編Takekazu Omi
 
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみたAKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみたHideaki Aoyagi
 
Smart Tennis Lesson Serverless Design
Smart Tennis Lesson Serverless DesignSmart Tennis Lesson Serverless Design
Smart Tennis Lesson Serverless DesignRyuji TAKEHARA
 
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料直久 住川
 
仮想化時代のBCP 今できることと将来できること
仮想化時代のBCP 今できることと将来できること仮想化時代のBCP 今できることと将来できること
仮想化時代のBCP 今できることと将来できることNissho-Blocks
 
Coherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherenceCoherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherenceToshiaki Maki
 
Kyoto Tycoon Guide in Japanese
Kyoto Tycoon Guide in JapaneseKyoto Tycoon Guide in Japanese
Kyoto Tycoon Guide in JapaneseMikio Hirabayashi
 
CouchDB JP & BigCouch
CouchDB JP & BigCouchCouchDB JP & BigCouch
CouchDB JP & BigCouchYohei Sasaki
 
[Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
 [Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送 [Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
[Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送Google Cloud Platform - Japan
 
Cloud stack徹底入門7章 20130514
Cloud stack徹底入門7章 20130514Cloud stack徹底入門7章 20130514
Cloud stack徹底入門7章 20130514samemoon
 
Tech Ed 2010 Japan T1-310 Microsoft Online Services 展開時の実践テクニック
Tech Ed 2010 Japan T1-310 Microsoft Online Services 展開時の実践テクニックTech Ed 2010 Japan T1-310 Microsoft Online Services 展開時の実践テクニック
Tech Ed 2010 Japan T1-310 Microsoft Online Services 展開時の実践テクニックkumo2010
 
Firefox OS and Web server
Firefox OS and Web serverFirefox OS and Web server
Firefox OS and Web serverTomoaki Konno
 
待ち事象から考える、Sql server の改善ポイント
待ち事象から考える、Sql server の改善ポイント待ち事象から考える、Sql server の改善ポイント
待ち事象から考える、Sql server の改善ポイントMasayuki Ozawa
 
高速ネットワーク技術と周辺動向(特別講義)
高速ネットワーク技術と周辺動向(特別講義)高速ネットワーク技術と周辺動向(特別講義)
高速ネットワーク技術と周辺動向(特別講義)Naoto MATSUMOTO
 
openstack_neutron-ovs_osc2014tf_20141019
openstack_neutron-ovs_osc2014tf_20141019openstack_neutron-ovs_osc2014tf_20141019
openstack_neutron-ovs_osc2014tf_20141019Takehiro Kudou
 

Similar to CoopEdge: A Decentralized Blockchain-based Platform for Cooperative Edge Computingを読む (20)

[Cloud OnAir] Google Cloud とつなぐ色々な方法 〜 つなぐ方法をゼロからご紹介します〜 2019年1月31日 放送
[Cloud OnAir] Google Cloud とつなぐ色々な方法 〜 つなぐ方法をゼロからご紹介します〜 2019年1月31日 放送[Cloud OnAir] Google Cloud とつなぐ色々な方法 〜 つなぐ方法をゼロからご紹介します〜 2019年1月31日 放送
[Cloud OnAir] Google Cloud とつなぐ色々な方法 〜 つなぐ方法をゼロからご紹介します〜 2019年1月31日 放送
 
Jazug静岡勉強会資料
Jazug静岡勉強会資料Jazug静岡勉強会資料
Jazug静岡勉強会資料
 
NATS on VCAP
NATS on VCAPNATS on VCAP
NATS on VCAP
 
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
 
P2Pって何?
P2Pって何?P2Pって何?
P2Pって何?
 
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみたAKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみた
 
Smart Tennis Lesson Serverless Design
Smart Tennis Lesson Serverless DesignSmart Tennis Lesson Serverless Design
Smart Tennis Lesson Serverless Design
 
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
 
Lightning Network, Swap, Nloop
Lightning Network, Swap, NloopLightning Network, Swap, Nloop
Lightning Network, Swap, Nloop
 
仮想化時代のBCP 今できることと将来できること
仮想化時代のBCP 今できることと将来できること仮想化時代のBCP 今できることと将来できること
仮想化時代のBCP 今できることと将来できること
 
Coherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherenceCoherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherence
 
Kyoto Tycoon Guide in Japanese
Kyoto Tycoon Guide in JapaneseKyoto Tycoon Guide in Japanese
Kyoto Tycoon Guide in Japanese
 
CouchDB JP & BigCouch
CouchDB JP & BigCouchCouchDB JP & BigCouch
CouchDB JP & BigCouch
 
[Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
 [Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送 [Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
[Cloud OnAir] Google Cloud で実践するマイクロサービスアーキテクチャ 2019年2月21日 放送
 
Cloud stack徹底入門7章 20130514
Cloud stack徹底入門7章 20130514Cloud stack徹底入門7章 20130514
Cloud stack徹底入門7章 20130514
 
Tech Ed 2010 Japan T1-310 Microsoft Online Services 展開時の実践テクニック
Tech Ed 2010 Japan T1-310 Microsoft Online Services 展開時の実践テクニックTech Ed 2010 Japan T1-310 Microsoft Online Services 展開時の実践テクニック
Tech Ed 2010 Japan T1-310 Microsoft Online Services 展開時の実践テクニック
 
Firefox OS and Web server
Firefox OS and Web serverFirefox OS and Web server
Firefox OS and Web server
 
待ち事象から考える、Sql server の改善ポイント
待ち事象から考える、Sql server の改善ポイント待ち事象から考える、Sql server の改善ポイント
待ち事象から考える、Sql server の改善ポイント
 
高速ネットワーク技術と周辺動向(特別講義)
高速ネットワーク技術と周辺動向(特別講義)高速ネットワーク技術と周辺動向(特別講義)
高速ネットワーク技術と周辺動向(特別講義)
 
openstack_neutron-ovs_osc2014tf_20141019
openstack_neutron-ovs_osc2014tf_20141019openstack_neutron-ovs_osc2014tf_20141019
openstack_neutron-ovs_osc2014tf_20141019
 

CoopEdge: A Decentralized Blockchain-based Platform for Cooperative Edge Computingを読む