Скачать презентацию Peer-to-Peer Computing DEJAN S MILOJICIC VANA KALOGERAKI RAJAN Скачать презентацию Peer-to-Peer Computing DEJAN S MILOJICIC VANA KALOGERAKI RAJAN

d15a48b3840483f32231be2ac75350ec.ppt

  • Количество слайдов: 104

Peer-to-Peer Computing DEJAN S. MILOJICIC, VANA KALOGERAKI, RAJAN LUKOSE, KIRAN NAGARAJA, JIM PRUYNE, BRUNO Peer-to-Peer Computing DEJAN S. MILOJICIC, VANA KALOGERAKI, RAJAN LUKOSE, KIRAN NAGARAJA, JIM PRUYNE, BRUNO RICHARD, SAMI ROLLINS, and ZHICHEN XU http: //www. hpl. hp. com/techreports/2002/HPL-2002 -57. pdf

Abstract P 2 Pとは n 分散して存在する資源を活用するシステムやアプリケーションの 一種 P 2 Pのメリット n n n 中央点への依存の排除による規模性の向上 Abstract P 2 Pとは n 分散して存在する資源を活用するシステムやアプリケーションの 一種 P 2 Pのメリット n n n 中央点への依存の排除による規模性の向上 クライアントの直接通信によるコスト高なインフラの必要性の排 除 リソースの集約化 本論文はP 2 Pシステムとアプリケーションの重要事項と概 要について紹介 n n P 2 Pの詳細な概要やケーススタディを知らない人向け 代替手段との比較をしたい研究者、開発者等向け

1. INTRODUCTION 1. INTRODUCTION

1. INTRODUCTION P 2 Pはとても議論の余地のあるトピック n n 研究領域としてはまだ若い そのため、このようなサーベイ論文が必要 本論文のゴール n n n 何がP 1. INTRODUCTION P 2 Pはとても議論の余地のあるトピック n n 研究領域としてはまだ若い そのため、このようなサーベイ論文が必要 本論文のゴール n n n 何がP 2 Pで、何がP 2 Pでないか理解する 現在のP 2 Pの分析、具体例 今後のP 2 Pの可能性の分析

P 2 Pが可能にすること n 価値のある外部性 w リソースを集合させることにより、全体で(単体では 出来なかった)素晴らしいことができる n 低コスト、コスト共有 w 既存のリソース、インフラの利用 n 匿名性・プライバシー P 2 Pが可能にすること n 価値のある外部性 w リソースを集合させることにより、全体で(単体では 出来なかった)素晴らしいことができる n 低コスト、コスト共有 w 既存のリソース、インフラの利用 n 匿名性・プライバシー P 2 Pの問題 n セキュリティ

P 2 Pが流行するきっかけ n n n Napsterで一躍有名に 分散協調手段として重要な技術に P 2 Pを推進する会社が登場 w Intel, HP, P 2 Pが流行するきっかけ n n n Napsterで一躍有名に 分散協調手段として重要な技術に P 2 Pを推進する会社が登場 w Intel, HP, Sony, Sun etc. n 学会が登場 w International Workshop on P 2 P Computing etc. n 大学のプロジェクトも登場 w Chord, Ocean. Store, PAST, CAN, Free. Net

P 2 Pの定義 n n n システム間で直接コンピュータのリソースやサービス を共有すること [p 2 pwg, 2001] クライアントの限界無しに、インターネットに接続され たデバイスを利用すること(?) P 2 Pの定義 n n n システム間で直接コンピュータのリソースやサービス を共有すること [p 2 pwg, 2001] クライアントの限界無しに、インターネットに接続され たデバイスを利用すること(?) [Veytsel, 2001] 3 keys requirements [Graham 2001] w 全てのノードはサーバの性質を持つ w 全てのノードはDNSから独立したアドレッシング w 全てのノードはあらゆる接続を共有する n 独立した生存期間をもつシステム [Kindberg 2002]

著者の見識 n P 2 Pとは w P 2 P is about sharing. (resource, information) 著者の見識 n P 2 Pとは w P 2 P is about sharing. (resource, information) w 分散システム実装の一手段 n Peerの定義:“ like each other” w ある自律したpeerは他の自律したpeerに依存する w peerは他のpeerを必ずしも信用できない w 規模や冗長性が必要

P 2 Pモデルについて n n サーバ・クライアントの変 形として捉えられる 新しい考えではない w UUCP, Switched networks などの先駆けがあり P 2 Pモデルについて n n サーバ・クライアントの変 形として捉えられる 新しい考えではない w UUCP, Switched networks などの先駆けがあり

上から 1. 2. 3. 4. マーケット アプリケーション テクノロジー プラットフォーム 詳しい分類は 2章で 上から 1. 2. 3. 4. マーケット アプリケーション テクノロジー プラットフォーム 詳しい分類は 2章で

P 2 Pの網羅すること n n n 分散コンピューティング コンテンツシェアリング 無線やハンドヘルドPCなどにおける通信の優位性 P 2 Pソフトウェアアーキテクチャ P 2 P 2 Pの網羅すること n n n 分散コンピューティング コンテンツシェアリング 無線やハンドヘルドPCなどにおける通信の優位性 P 2 Pソフトウェアアーキテクチャ P 2 Pアルゴリズム

P 2 Pでの新規性 n Technology requirements w スケール、アドホックな接続、セキュリティ n Architectural requirements w 多数のコンピュータでの動作を可能に w P 2 Pでの新規性 n Technology requirements w スケール、アドホックな接続、セキュリティ n Architectural requirements w 多数のコンピュータでの動作を可能に w 新規システムなどでのスケーラビリティ w プライバシーと匿名性 n Economy requirements w コスト w 利用の普及(品質保証か、ベストエフォートか)

P 2 Pの新規でない点 n n n n n アプリケーション スケーラビリティなどのための分散化 分散ステートマネージメント 非接続時の対応 分散スケジューリング スケーラビリティ P 2 Pの新規でない点 n n n n n アプリケーション スケーラビリティなどのための分散化 分散ステートマネージメント 非接続時の対応 分散スケジューリング スケーラビリティ アドホックネットワーク E-Business 分散アルゴリズム

2. OVERVIEW 2. OVERVIEW

2. OVERVIEW P 2 Pは他の単語と混同されやすい n n n Traditional distributed computing Grid computing Ad-Hoc 2. OVERVIEW P 2 Pは他の単語と混同されやすい n n n Traditional distributed computing Grid computing Ad-Hoc Network P 2 Pをより明確に定義するため、P 2 Pの ゴール、単語、分類を紹介する

2. 1. Goals Cost sharing/reduction n n 集中型システムはコストが高い P 2 Pはコストを各peerに分散できる Improved scalability/reliability n 2. 1. Goals Cost sharing/reduction n n 集中型システムはコストが高い P 2 Pはコストを各peerに分散できる Improved scalability/reliability n 信頼性のある中央サーバがいないので、 scalability/reliabilityを実現するアルゴリズムが必要 Resource aggregation and interoperability n 多くのノードのリソースを集約することにより、多くの処 理が可能になる

Increased autonomy n n 分散システムのユーザは中央サーバに依らず、 自分達でなんとかしたい ローカルにファイルをおきたい(Napsterなど) w サーバのオペレータに見つからないため Anonymity/privacy n n クライアントサーバでは、クライアントのIPアド レスでクライアントをある程度特定可能 Increased autonomy n n 分散システムのユーザは中央サーバに依らず、 自分達でなんとかしたい ローカルにファイルをおきたい(Napsterなど) w サーバのオペレータに見つからないため Anonymity/privacy n n クライアントサーバでは、クライアントのIPアド レスでクライアントをある程度特定可能 P 2 Pではそのようなトラックが難しい

Dynamism n ノードの参加・離脱が動的 Enabling ad-hoc communication and collaboration n 既存のインフラに依らず、論理オーバレイを構 築可能 Dynamism n ノードの参加・離脱が動的 Enabling ad-hoc communication and collaboration n 既存のインフラに依らず、論理オーバレイを構 築可能

2. 2. Terminology Centralized systems n Single-unit solutions(スパコン、メインフレームなど) Distributed Systems n ネットワークに接続した複数のコンポーネンツが、メッ セージのみで協調するシステム Client 2. 2. Terminology Centralized systems n Single-unit solutions(スパコン、メインフレームなど) Distributed Systems n ネットワークに接続した複数のコンポーネンツが、メッ セージのみで協調するシステム Client n 要求を送るエンティティ(サーバ、プログラム、モジュー ルなど) Server n 他のエンティティから要求を受け取るエンティティ

Client-Server model n Client と Serverのエンティティによって構成されるシス テム Peer n システムにおいて、他のエンティティと似たようなエン ティティ P 2 P Client-Server model n Client と Serverのエンティティによって構成されるシス テム Peer n システムにおいて、他のエンティティと似たようなエン ティティ P 2 P model n n 限られた通信で互いのpeerのリソース共有を可能と する 通信制約のあるpeerの考慮、実インフラから独立した naming、peerはserverの役割もかねる

Distributed computing n n ネットワークに接続したコンピュータでタスクを共有す るシステム [IEEE 1990] Computing cluster, grids, global computing systems Distributed computing n n ネットワークに接続したコンピュータでタスクを共有す るシステム [IEEE 1990] Computing cluster, grids, global computing systems Grid computing n n 仮想の団体で、リソース共有や問題解決を図っていく こと [Foster and Kesselmna 1999] グローバルに計算リソースを共有するインフラ Ad-hoc communication n 固定されたインフラを持たないでコミュニケーションを 可能とするシステム

2. 3. P 2 P Taxonomies 分類 n n Centralized Systems Distributed Systems Client-Server 2. 3. P 2 P Taxonomies 分類 n n Centralized Systems Distributed Systems Client-Server n n Flat: 一つのサーバ、多くのクライアント。Webなど Hierarchical: 複数の階層状のサーバ。DNSなど Peer-to-Peer n n Pure: 中央サーバなし。Gnutellaなど Hybrid: 中央サーバあり。Napsterなど w 中央サーバはメタ情報(他のpeerの位置など)の伝達、セキ ュリティ目的(認証など)などを行う

P 2 Pシステムの分類 n Platforms n JXTA, . NETなど w Collaboration n Groove, Jabberなど P 2 Pシステムの分類 n Platforms n JXTA, . NETなど w Collaboration n Groove, Jabberなど w Computing n SETI@HOME, Avakiなど w File sharing n Napster, Gnutellaなど

P 2 Pアプリケーションの分類 n Parallelizable w Compute-intensive: peerごとのパラメータが違う だけで、タスクは同じ。SETI@HOMEなど w Componentized: peerごとのタスクが異なる n Content P 2 Pアプリケーションの分類 n Parallelizable w Compute-intensive: peerごとのパラメータが違う だけで、タスクは同じ。SETI@HOMEなど w Componentized: peerごとのタスクが異なる n Content and file management w Napster, Open. COLAなど n Collaborative w IM、Distributed Power. Pointなど

P 2 Pターゲット環境について n n Internet, Intranet, Ad-hoc Networkなど 最も一般的なのが家庭のネットワーク w コンテンツシェアリングによく利用される w P P 2 Pターゲット環境について n n Internet, Intranet, Ad-hoc Networkなど 最も一般的なのが家庭のネットワーク w コンテンツシェアリングによく利用される w P 2 Pコンピューティングも流行った n n n SETI@HOMEなど IntranetではData. Synapseなど Ad-Hoc Networkはまだこれから

P 2 Pマーケットの分類 n Consumer w パーソナルユース w コンテンツシェアリング、IM、ゲームなど n Enterprise w バイオ、金融、B 2 P 2 Pマーケットの分類 n Consumer w パーソナルユース w コンテンツシェアリング、IM、ゲームなど n Enterprise w バイオ、金融、B 2 Bなどの用途:Data. Synapseなど n Public w 情報共有、デジタル著作権管理、エンターテイメント

Nethisingheによる分類 n @work, @play, @rest Nethisingheによる分類 n @work, @play, @rest

3. COMPONENTS AND ALGORITHMS この章では以下の事柄を紹介 n n P 2 Pシステムのコンポーネント P 2 Pで用いられるアルゴリズム 3. COMPONENTS AND ALGORITHMS この章では以下の事柄を紹介 n n P 2 Pシステムのコンポーネント P 2 Pで用いられるアルゴリズム

3. 1. Infrastructure Components 5つのレイヤに分けられる n 必ずしも厳密ではない 3. 1. Infrastructure Components 5つのレイヤに分けられる n 必ずしも厳密ではない

Communication n P 2 Pは幅広い通信の枠組みを提供する w Peerがデスクトップだったり、PDAだったり n Peerの幅広い種類や行動を克服するのが重要 w あるコンピュータが突然電源OFF w ダイヤルアップが突然切れる Group Communication n P 2 Pは幅広い通信の枠組みを提供する w Peerがデスクトップだったり、PDAだったり n Peerの幅広い種類や行動を克服するのが重要 w あるコンピュータが突然電源OFF w ダイヤルアップが突然切れる Group Management n n 他のpeerの発見、ルーティング 対象とするpeerに応じて最適なアルゴリズムを w 無線端末はAd-Hocで発見、デスクトップはindexサーバで発見 n ロケーション・ルーティングアルゴリズムは、メッセージ伝播のパ スを最適化するのが重要 w 例えば遅延などを考慮

Robustness n セキュリティ w ユーザにとって負担にしかならない w 処理を集中化させるのが一番楽な実現手段 n リソース集約 w ファイル、CPU、帯域、電池、ディスクスペース等 n 信頼性 w Robustness n セキュリティ w ユーザにとって負担にしかならない w 処理を集中化させるのが一番楽な実現手段 n リソース集約 w ファイル、CPU、帯域、電池、ディスクスペース等 n 信頼性 w 冗長性を持たせる n n n タスク:失敗したら他のマシンで再開、同タスクを複数のマシンで実行 ファイル:複数のマシンで保存 メッセージ:もう一度再送、別のパスで再送

Class-Specific n n Scheduling 数値計算などのスケジューリング Meta-data:共有ファイルの属性情報として Messaging:他のノードのやりとり Management:P 2 Pインフラの管理 Application-Specific n P 2 Class-Specific n n Scheduling 数値計算などのスケジューリング Meta-data:共有ファイルの属性情報として Messaging:他のノードのやりとり Management:P 2 Pインフラの管理 Application-Specific n P 2 Pインフラの上に実現される w Tools, Applications, Services n コラボレーションソフトの場合、カレンダー、ノート、メー ル、チャットなど

3. 2. Algorithms 3. 2. Algorithms

Centralized directory model n n n Napsterが代表的 コンテンツに関する情報を中央サーバが一括管理 Peerの要求に応じて中央サーバはコンテンツを保持 するpeerを検索、peerの位置を伝達 Peer同士がコンテンツを直接交換 スケーラビリティに難がある Centralized directory model n n n Napsterが代表的 コンテンツに関する情報を中央サーバが一括管理 Peerの要求に応じて中央サーバはコンテンツを保持 するpeerを検索、peerの位置を伝達 Peer同士がコンテンツを直接交換 スケーラビリティに難がある

Flooded requests model n n Gnutellaが代表的 要求をP 2 Pネットワークにフラッディング、TTLは大抵5 ~9に制限 Peerに広帯域が必要、あまりスケールしない Super. Peerを導入して、スケーラビリィを改善するシス テムもある Flooded requests model n n Gnutellaが代表的 要求をP 2 Pネットワークにフラッディング、TTLは大抵5 ~9に制限 Peerに広帯域が必要、あまりスケールしない Super. Peerを導入して、スケーラビリィを改善するシス テムもある

Document routing model n n Free. Netが代表的 仕組み w w n ノードのID:ランダムな値 コンテンツ:コンテンツ自体orコンテンツ名のハッシュ値 コンテンツはもっともIDが近いPeerが保存 Document routing model n n Free. Netが代表的 仕組み w w n ノードのID:ランダムな値 コンテンツ:コンテンツ自体orコンテンツ名のハッシュ値 コンテンツはもっともIDが近いPeerが保存 コンテンツをルーティングするとき、コピーを保存 特徴 w 大きなコミュニティで効率的 w 前もってコンテンツのIDを知る必要あり n 検索が難しい w リンクが途絶えた島ができる可能性あり

Document routing model n 4つの主要なアルゴリズム w Chord, CAN, Tapestry, Pastry n ゴール w コンテンツまでのホップ数を減らす Document routing model n 4つの主要なアルゴリズム w Chord, CAN, Tapestry, Pastry n ゴール w コンテンツまでのホップ数を減らす w ルーティング情報を減らす n それぞれ得意・不得意あり w CANはルーティングテーブルが小さい n n Peer参加・離脱時のルーティングテーブル更新量が小さい 代わりにサーチのパスが長くなりがち w Tapestry・Pastryはホップ数・遅延減を目指している

Chord n n 1次元の円形ID空間 Peer ID=hash(IP address) log. Nのルーティングテーブルを保持 P 2 Pネットワークに参加する場合 w Gateway Chord n n 1次元の円形ID空間 Peer ID=hash(IP address) log. Nのルーティングテーブルを保持 P 2 Pネットワークに参加する場合 w Gateway peerにコンタクト w そのサクセッサにルーティング

CAN n n n 多次元ID空間 各peerは隣の次元をトラック P 2 Pネットワークに参加する場合 w 一つのID空間を選択し、分割 w 隣のpeerの情報を更新 CAN n n n 多次元ID空間 各peerは隣の次元をトラック P 2 Pネットワークに参加する場合 w 一つのID空間を選択し、分割 w 隣のpeerの情報を更新

Tapestry・Pastry n n Plaxton構造を持つ ID=hash(IP Address) Tapestry・Pastry n n Plaxton構造を持つ ID=hash(IP Address)

4. CHARACTERISTICS P 2 Pの特性 n n n Decentralization Scalability Anonymity Self-organization Cost of 4. CHARACTERISTICS P 2 Pの特性 n n n Decentralization Scalability Anonymity Self-organization Cost of ownership Ad-hoc connectivity Performance Security Transparency Usability Fault resilience interoperability

4. 1. Decentralization 従来のクライアントサーバ モデル n n アクセス権やセキュリティ の管理等に最適 非能率、ボトルネック、リ ソースの無駄使い P 2 Pモデル 4. 1. Decentralization 従来のクライアントサーバ モデル n n アクセス権やセキュリティ の管理等に最適 非能率、ボトルネック、リ ソースの無駄使い P 2 Pモデル n n 全てのピアが対等→全体 を知る者がいない Napsterはファイルリストだ けサーバが管理

4. 2. Scalability スケーラビリティを左右する事項 n 中心での作業量、ステート量、並行性、プログラミングモデルなど ハイブリッドP 2 Pの具体例 n n Napster: 600万人のユーザ SETI@HOME: 4. 2. Scalability スケーラビリティを左右する事項 n 中心での作業量、ステート量、並行性、プログラミングモデルなど ハイブリッドP 2 Pの具体例 n n Napster: 600万人のユーザ SETI@HOME: 350万人のユーザ ピュアP 2 P n n n Gnutella, Free. Net: フラッディングによる検索、スケーラビリティ はそこまで優れていない Chordなど:オブジェクトとノードをIDによってマッピング、オーバ レイネットワークを形成、1014ものファイルを管理可能 もっと発展する余地あり

4. 3. Anonymity 匿名の構成要素 [Dingledine 2000] n 著者、発行者、読者、サーバ、ドキュメント、クエリ 匿名の種類 [Pfitzmann 1987] n 送信者の匿名性、受信者の匿名性、相互の匿名性 匿名の度合い 4. 3. Anonymity 匿名の構成要素 [Dingledine 2000] n 著者、発行者、読者、サーバ、ドキュメント、クエリ 匿名の種類 [Pfitzmann 1987] n 送信者の匿名性、受信者の匿名性、相互の匿名性 匿名の度合い n Absolute privacy, beyond suspicion, probable innocence, probably exposed 匿名を実現する技術 n マルチキャスト、送信者のアドレス詐称、ID詐称、パス の秘匿、エイリアス、非自主的なコンテンツ保管

マルチキャスト n n 受信者の秘匿に利用可 IP層でマルチキャストをサポートすること 送信者のアドレス詐称 n n UDPなどで送信者アドレスを詐称 プロトコルの変更必要、ISPによってははじかれる ID詐称 n n コンテンツ保有ピアのID詐称 マルチキャスト n n 受信者の秘匿に利用可 IP層でマルチキャストをサポートすること 送信者のアドレス詐称 n n UDPなどで送信者アドレスを詐称 プロトコルの変更必要、ISPによってははじかれる ID詐称 n n コンテンツ保有ピアのID詐称 Freenetでは、キャッシュを持つIDもクエリに応答

パスの秘匿 n n プロキシによる送信者の秘匿、パスの持続にも利用できる include. Mix [Chaum 1981], Onion [Syverson 1997], Anonymizing, Proxy [Gabber パスの秘匿 n n プロキシによる送信者の秘匿、パスの持続にも利用できる include. Mix [Chaum 1981], Onion [Syverson 1997], Anonymizing, Proxy [Gabber 1997], Crowds [Reiter 1998], Herdes [Shields 2000] エイリアス n n LPWA [Gabber 1999] 一種のプロキシ、アカウントの作成が必要 非自主的なコンテンツ保管 n どのピアがどのコンテンツを保管しているか分からな い

4. 4. Self-Organization Self-organizationの定義 P 2 Pシステムに不可欠 n スケーラビリティ、失敗への弾力性、リソースへの接 続性 予想できない n システム数、ユーザ数、負荷 自動でメンテナンス、修復が必要 4. 4. Self-Organization Self-organizationの定義 P 2 Pシステムに不可欠 n スケーラビリティ、失敗への弾力性、リソースへの接 続性 予想できない n システム数、ユーザ数、負荷 自動でメンテナンス、修復が必要 各ピアで分散して管理することも必要 n 一人でor一台のピアでするのは大変

Ocean. Store n インフラとしてTapestryを利用 Pastry n n n クエリはO(log 16 N)で到達 ファイルレプリカは拡散される 負荷分散のため、ストレージはランダム Fast. Ocean. Store n インフラとしてTapestryを利用 Pastry n n n クエリはO(log 16 N)で到達 ファイルレプリカは拡散される 負荷分散のため、ストレージはランダム Fast. Track n 性能に優れたピアはスーパーノードになる Search. Ling n n ネットワークに適するように トラフィック↓、不到達情報↓

4. 5. Cost of Ownership コストを減らすことが重要 n n システムやコンテンツを保有するコスト メンテナンスするコスト 当時、SETI@HOMEは世界最速スパコンよ り高速、かつコストはそのスパコンの 1% Napster, 4. 5. Cost of Ownership コストを減らすことが重要 n n システムやコンテンツを保有するコスト メンテナンスするコスト 当時、SETI@HOMEは世界最速スパコンよ り高速、かつコストはそのスパコンの 1% Napster, Gnutellaはピアのディスクに保有 Parastic Grid n Ad-Hoc Networkの実装??

4. 6. Ad-Hoc Connectivity P 2 Pシステムでピアの違いや、参加離脱を吸収 する必要がある n 分散コンピューティング: w 各ピアがシステムを実行できる時間はまちまち n コンテンツ共有: 4. 6. Ad-Hoc Connectivity P 2 Pシステムでピアの違いや、参加離脱を吸収 する必要がある n 分散コンピューティング: w 各ピアがシステムを実行できる時間はまちまち n コンテンツ共有: w 冗長性の確保により、アドホックの課題を減らす n コラボレーション: w モバイル端末が多い(?) w オフラインピアへの対応 n 他のピアがメッセージを保管、後に再送

4. 7. Performance パフォーマンスは以下の 3つのリソース n Processing, storage, networking 中央管理モデルでは n n 単一故障点などの問題は残る サーバを複数用意して解決する方法も 4. 7. Performance パフォーマンスは以下の 3つのリソース n Processing, storage, networking 中央管理モデルでは n n 単一故障点などの問題は残る サーバを複数用意して解決する方法も [Yang 2001] 分散モデルでは n n 管理のためのメッセージが多く行き交う 帯域を消費してしまう パフォーマンスを最適化する手法 n Replication, Caching, Intelligent routing and network organization

Replication n ピアが突然離脱しても平気 良いルーティングと組み合わせれば、コンテンツ送信の遅延を最 小限に可能 データ更新→レプリカも更新する必要あり Caching n n Freenetではコンテンツのホップ時にキャッシュ トラフィック量↓、遅延↓、スループット↑ Intelligent routing and Replication n ピアが突然離脱しても平気 良いルーティングと組み合わせれば、コンテンツ送信の遅延を最 小限に可能 データ更新→レプリカも更新する必要あり Caching n n Freenetではコンテンツのホップ時にキャッシュ トラフィック量↓、遅延↓、スループット↑ Intelligent routing and network organization n P 2 Pを引き出すには、社会的な動向(?)も必要 w Small-world:赤の他人でも、高々6ホップでたどり着く w Power-law w Good peers: 興味の近いピア同士を近づける、メッセージ削減の効 果、ローカル情報だけでリンクを追加・削除可能

4. 8. Security Multi-key encryption n n Publiusなどのファイル共有ソフトで利用される 一つの公開鍵と、複数の秘密鍵を利用する Sandboxing n n n コードの安全性を検証 4. 8. Security Multi-key encryption n n Publiusなどのファイル共有ソフトで利用される 一つの公開鍵と、複数の秘密鍵を利用する Sandboxing n n n コードの安全性を検証 ソフトが読み書きできるローカルファイルを制 限 例:JavaのVM、Vmware、Internet C++(icvm)

Digital Rights Management n n P 2 Pではファイルのコピーが容易 ファイルに「透かし」や「埋め込み」を行う Reputation and Accountability n n Digital Rights Management n n P 2 Pではファイルのコピーが容易 ファイルに「透かし」や「埋め込み」を行う Reputation and Accountability n n n 「良い」&「使える」ピアの評価 たとえば、いいファイルをたくさん持っているなど ただし、それが妥当とは限らない Firewalls n n P 2 Pではピア同士の直接通信が必要 FirewallやNATなどがそれを拒む 80番ポートが開いていることが多いので、それを利用 共にFirewall内のときは、中継ピアが必要

4. 9. Transparency and Usability ユーザがシステム内部を気にすることなく、P 2 P ソフトを使えるようにするのが重要 n n n Access, concurrency, 4. 9. Transparency and Usability ユーザがシステム内部を気にすることなく、P 2 P ソフトを使えるようにするのが重要 n n n Access, concurrency, replication, failure, mobility, scaling End-to-end address transparency(アドレスさえ知っ ていれば通信可能) Naming transparency (URL) No configuration, no setup 自動認証、操作の代行など

ユーザインタフェース n n n Webブラウザ:コンテンツ共有など 目に見えない(プラットフォーム):. NETなど ローカルにインストールされたソフト:分散コンピューテ ィング、Napsterなど ユーザインタフェース n n n Webブラウザ:コンテンツ共有など 目に見えない(プラットフォーム):. NETなど ローカルにインストールされたソフト:分散コンピューテ ィング、Napsterなど

4. 10. Fault Resilience P 2 Pモデルの特徴 n n 単一故障点は存在しない しかし、ネットワーク切断・ピア群の分断・ピア のエラーなどがある Faultに対してベストエフォートに対応 各ピアで分散してfaultに対応するのが、クライ 4. 10. Fault Resilience P 2 Pモデルの特徴 n n 単一故障点は存在しない しかし、ネットワーク切断・ピア群の分断・ピア のエラーなどがある Faultに対してベストエフォートに対応 各ピアで分散してfaultに対応するのが、クライ アントサーバモデルとの大きな違い

例 n Coda(P 2 Pではないが) w オフラインノードに対応 n Groove w 特別なノードを用意、アップデートや通信をキャッシュ n Freenet, Publius 例 n Coda(P 2 Pではないが) w オフラインノードに対応 n Groove w 特別なノードを用意、アップデートや通信をキャッシュ n Freenet, Publius w レプリケーションを利用 n Ocean. Store w 2階層でレプリケーション w 場所が離れたところにレプリカがいくように n レプリケーションをとるのはファイルとは限らない w ファイルシステムの拡張を

4. 11. Interoperability 異なるP 2 Pソフト同士の相互運用性 実現するための要求事項 n n n 設計の重要性(利用するプロトコルなど) 要求やデータの交換手法 広告・セキュリティ・Qo. S・信頼性等の基準 4. 11. Interoperability 異なるP 2 Pソフト同士の相互運用性 実現するための要求事項 n n n 設計の重要性(利用するプロトコルなど) 要求やデータの交換手法 広告・セキュリティ・Qo. S・信頼性等の基準 手法 n n Standards IEEE, common specifications, common source code, open-source, de facto standards P 2 P Working Group等で推進の動き P 2 Pプラットフォームの利用 n JXTAなど

4. 12. Summary 4. 12. Summary

5. P 2 P SYSTEMS この図の詳細な説明 5. P 2 P SYSTEMS この図の詳細な説明

5. 1. Historical 初期の分散システムはP 2 Pモデル n タイムシェアリングシステム、ワークステーション 80年代後半~ 90年代前半 n クライアントサーバ:技術に明るくないユーザが増加 初期のP 2 5. 1. Historical 初期の分散システムはP 2 Pモデル n タイムシェアリングシステム、ワークステーション 80年代後半~ 90年代前半 n クライアントサーバ:技術に明るくないユーザが増加 初期のP 2 Pシステム n n SMTP Archie:FTPでのファイル検索機構→Napsterの先駆 P 2 Pの先駆け n n AOLメッセンジャ、Napster 普及させるには初心者に適したインタフェースを

5. 2. Distributed Computing 分散コンピューティングの先駆け n Beowulf project from NASA, MOSIX, Condor グリッドコンピューティングの先駆け n 5. 2. Distributed Computing 分散コンピューティングの先駆け n Beowulf project from NASA, MOSIX, Condor グリッドコンピューティングの先駆け n n I-WAY (アメリカの 17の拠点を相互接続、Globus Toolkit の先祖) Global Grid form, Globus project この文書では n Internetに接続した一般のPCの集合に基づくグリッド コンピューティング=分散コンピューティングと定義

分散コンピューティング n n RSA解読@distributed. net (1999)が世間一 般に認知された先駆け SETI@HOMEは 300万ノードで 25 TFlops達成 P 2 P? 分散コンピューティング n n RSA解読@distributed. net (1999)が世間一 般に認知された先駆け SETI@HOMEは 300万ノードで 25 TFlops達成 P 2 P? n 厳密にはP 2 Pではない w ピア同士は直接通信しない w しかしPCのリソースを利用、匿名性という特性 w なので、我々はP 2 Pだと考えている

動作手順 1. 2. 3. サーバはピア(クライアントソフト導入済)に仕事 を渡す (スクリーンセーバのように)ピアは空いている時間 を見つけて仕事を実行 終わったら、サーバに返す 使われ方 n n ピア同士の通信はしない→線形代数問題といった スパコンのような処理はできない 動作手順 1. 2. 3. サーバはピア(クライアントソフト導入済)に仕事 を渡す (スクリーンセーバのように)ピアは空いている時間 を見つけて仕事を実行 終わったら、サーバに返す 使われ方 n n ピア同士の通信はしない→線形代数問題といった スパコンのような処理はできない SPMD (Single Process Multiple Data)&マルチタス ク

アプリケーション例 n 金融 w 以前は、大銀行が夜中にメインフレームでシミュレーションを行う、と いう形が一般だった w P 2 Pへの以降により、15時間の計算が30分ですむようになったケー スも n バイオ w アプリケーション例 n 金融 w 以前は、大銀行が夜中にメインフレームでシミュレーションを行う、と いう形が一般だった w P 2 Pへの以降により、15時間の計算が30分ですむようになったケー スも n バイオ w データが巨大(ヒトゲノムは 300万シーケンス) w 以前はHigh Performance Clustering (HPC)を使っていた w 会社例:Platform Computing (LSF), Entropia, Avaki, Grid Computing Bioinformatis w プロジェクト例: Genome@home, Folding@home ビジネスモデル n n こなした計算数によってユーザに報酬をだす 成功例はなかなかない

5. 3. File Sharing P 2 Pファイル共有ソフトが提供するもの n ファイル交換場所 w ピアのストレージに保存、検索手段も提供 n 高有効性で安全なストレージ w 5. 3. File Sharing P 2 Pファイル共有ソフトが提供するもの n ファイル交換場所 w ピアのストレージに保存、検索手段も提供 n 高有効性で安全なストレージ w 冗長化 n n 匿名性 管理容易性 w 分散していても高速検索(キャッシュなどにより)、ファイルを 取得してももともとどこにあったのか知らない、誰がファイル に責任を持つのか?

技術 n n n 課題:帯域消費、セキュリティ、検索 モデル:中央ディレクトリ、リクエストフラッディング、ド キュメントルーティング 現在(2002)は小さなファイル交換が主流 今後は大きなデータの交換が主流に 例:Xdegrees (M$に買収されました) w XRNS (e. 技術 n n n 課題:帯域消費、セキュリティ、検索 モデル:中央ディレクトリ、リクエストフラッディング、ド キュメントルーティング 現在(2002)は小さなファイル交換が主流 今後は大きなデータの交換が主流に 例:Xdegrees (M$に買収されました) w XRNS (e. Xtensible Resource Name System) を提供:各ピア のリソースにそれぞれ一意の名前をつける

アプリケーション例 n Napster w w P 2 Pで最初に有名になった サーバでインデックス化、検索可能 他人にアップロード=自分の帯域が消費される Open. Napが登場 n n アプリケーション例 n Napster w w P 2 Pで最初に有名になった サーバでインデックス化、検索可能 他人にアップロード=自分の帯域が消費される Open. Napが登場 n n open source のNapsterサーバ サーバ同士の連携可能 w 訴えられた→有料会員制へ、ルール作りを n Morpheus w あらゆるファイルを検索可能 w 多数のピアから同時にダウンロード可能 w 自動レジューム機能 n Kazaa w スーパーノードの存在 w ファイルダウンロード後、メタデータを開き、次の検索に生かす w MD 5で整合性チェック

5. 4. Collaboration 例 n IM、チャット、ゲーム、ビジネス・教育・家庭などでの共有アプリケーショ ンなど イベントベース 技術的な課題 n ロケーション w Magiは中央サーバがピアのオンライン状況を把握 w 5. 4. Collaboration 例 n IM、チャット、ゲーム、ビジネス・教育・家庭などでの共有アプリケーショ ンなど イベントベース 技術的な課題 n ロケーション w Magiは中央サーバがピアのオンライン状況を把握 w Net. Meetingを開始する場合、相手のIPアドレスを入力 n 失敗寛容性 w 基本的にベストエフォート n リアルタイムの制約 w 原因は下層のネットワーク w DOOMなどのFPSは遅延に関してシビア、Internetではスケールしない

5. 5. Platforms P2 Pシステムに必要なコンポーネントを提 供 例 n . NET, JXTA, Groove, Magi 5. 5. Platforms P2 Pシステムに必要なコンポーネントを提 供 例 n . NET, JXTA, Groove, Magi

6. CASE STUDIES 8つのケーススタディ n n n n Avaki SETI@home Groove Magi Freenet Gnutella 6. CASE STUDIES 8つのケーススタディ n n n n Avaki SETI@home Groove Magi Freenet Gnutella JXTA. NET

6. 1. Avaki 種別 n 分散コンピューティング 歴史 n Mentat → Legion(1994) → Avaki(2001) w 6. 1. Avaki 種別 n 分散コンピューティング 歴史 n Mentat → Legion(1994) → Avaki(2001) w Legionはバージニア大学のプロジェクト w 1997年、ベンチャー企業Applied Meta. Computingで登場 w 2001年、Avaki Corporationとして再始動 ゴール n n 透過的な分散実行環境 高速実行

設計 n n ミドルウェア、OOP、異種機器の統合 3つの主要コンポーネント w コアサービス:プロトコル処理(JXTAと相互運用可)、セキュリティ、分散ディ レクトリ、発見、イベント通知など w システムマネージメント:メタシステムの監視・制御、ポリシー管理 w アプリケーション 規模拡張性 n 設計 n n ミドルウェア、OOP、異種機器の統合 3つの主要コンポーネント w コアサービス:プロトコル処理(JXTAと相互運用可)、セキュリティ、分散ディ レクトリ、発見、イベント通知など w システムマネージメント:メタシステムの監視・制御、ポリシー管理 w アプリケーション 規模拡張性 n n 管理ドメイン可のリソースは完全制御できる 統合されたファイルシステム 耐障害性 n n 高速実行より耐障害性を重視(結果が重要だから) ハードウェアトラブルを重視 実装 n n 仮想化→オーバヘッドが生じる 一番の目標は実行時間↓

6. 2. SETI@home Search for Extraterrestrial Intelligence 種別 n 分散コンピューティング ゴール n 電波の解析、地球外生命体の発見 設計 6. 2. SETI@home Search for Extraterrestrial Intelligence 種別 n 分散コンピューティング ゴール n 電波の解析、地球外生命体の発見 設計 n 二つのコンポーネント w データベースサーバ w クライアント:多くのプラットフォームに対応 耐障害性 n チェックポイントアルゴリズム w 10分おきに途中経過を保存 w 単純だが、オーバヘッドが少なく効果的 スケーラビリティ n n 水平:OK 垂直:ボトルネックあり、でも上手くいっている 教訓 n n 実世界においてP 2 Pが役立っている 300万人もの貢献者

6. 3. Groove 種別 n コラボレーション 歴史 n 1997年、Ray Ozzieによって開発、2001年にリリース ゴール n n サーバを頼らないユーザ同士の直接通信 6. 3. Groove 種別 n コラボレーション 歴史 n 1997年、Ray Ozzieによって開発、2001年にリリース ゴール n n サーバを頼らないユーザ同士の直接通信 インターネット、イントラネットなど環境選ばず アプリケーション n n n コミュニケーション:音声、IM、チャットなど コンテンツ共有:ファイル、画像など コラボレーション:カレンダー、共同ドローソフト

設計 n システムサービス w w n セキュリティ:公開・秘密鍵の自動管理 ストレージ:XMLベース 同期:ローカルのファイルを同期 ピアの接続:自動化(帯域推測、ファイアウォール越え) 中央サービス w ライセンス管理 w 設計 n システムサービス w w n セキュリティ:公開・秘密鍵の自動管理 ストレージ:XMLベース 同期:ローカルのファイルを同期 ピアの接続:自動化(帯域推測、ファイアウォール越え) 中央サービス w ライセンス管理 w コンポーネント管理:適宜アップグレード w 使用状況:アプリケーションの使われ方の調査 耐障害性 n ピアがオフライン時の遅延配送など ビジネスモデル n n ライセンス形式 Magiなどが対抗馬

6. 4. Magi 種別 n プラットフォーム 歴史 n n n Project at the Univ. 6. 4. Magi 種別 n プラットフォーム 歴史 n n n Project at the Univ. of California Endeavors Technology (1998) Tadpole Technology (2000) ゴール n n 情報共有、メッセージング クロスプラットフォーム

設計 n 実装手段 w Javaベース w XML (micro-Apache) n コア w w n n 設計 n 実装手段 w Javaベース w XML (micro-Apache) n コア w w n n 通信:HTTP経由 イベント: 仲間:リスト アクセス:厳密なアクセスコントロール plug-ableサービス:Magichat、Magi. DAVなど プロトコル w HTTP 1. 1 w Web. DAV w Wf-XML:ワークフロー:リモートプロセスの監視と制御

スケーラビリティ n n ピア発見にDDNSを利用 認証にCertificate Authorityを利用 対障害性 n n メッセージの遅延配信 他ピアのクラッシュは検地できない 実装 n n スケーラビリティ n n ピア発見にDDNSを利用 認証にCertificate Authorityを利用 対障害性 n n メッセージの遅延配信 他ピアのクラッシュは検地できない 実装 n n Java、Servlets、Tomcatなど 小型端末には好ましくない 教訓 n 汎用性の高い実装→高い相互運用性を実現 アプリケーション n n コラボレーションがメイン エンタープライズ向けに対応可能

6. 5. Free. Net 種別 n ファイル共有 歴史 n Ian Clarke が開発 (1999) at 6. 5. Free. Net 種別 n ファイル共有 歴史 n Ian Clarke が開発 (1999) at the Univ. of Edinburgh ゴール n 情報の保有と検索に匿名性を

設計 n n ファイルとファイルキーはペア 3つのファイルキー:ファイル識別用 w KSK (keyword-signed key) n n n 記述ストリング(ファイル名のようなもの)を入力として作成した公開・秘密鍵 公開鍵はハッシュ化されてファイルキーになる 設計 n n ファイルとファイルキーはペア 3つのファイルキー:ファイル識別用 w KSK (keyword-signed key) n n n 記述ストリング(ファイル名のようなもの)を入力として作成した公開・秘密鍵 公開鍵はハッシュ化されてファイルキーになる 秘密鍵はファイル署名用 w SSK (signed-subspace key) n n 記述ストリングは重複することがあるため、ユーザ名による名前空間を追加する ユーザごとに公開・秘密鍵を作成 その公開鍵と記述ストリングのハッシュをXOR演算し、それをさらにハッシュ ファイル更新時に、ユーザの秘密鍵が必要になる w CHK (content-hash key) n ファイルの中身をハッシュ化したもの

設計(続き) n 検索 1. 2. 3. n 挿入 1. 2. w n リクエストを受け取ると、そのファイルキーに最も近いIDを持つ ピアに転送 設計(続き) n 検索 1. 2. 3. n 挿入 1. 2. w n リクエストを受け取ると、そのファイルキーに最も近いIDを持つ ピアに転送 見つかると、同じ経路でファイルを返す ファイル転送中、各ピアはキャッシュする 同じIDのファイルがないかリクエストを出して検索(TTLが切れ るまで) 重複がなければファイルを挿入(このとき、ファイル格納ピアが自 分でないことをチェック) 結果的に、各ピアは似たキーのコンテンツばかり保有する ピアの追加 w w ファイル挿入時とほぼ同じ Freenet自身は、ランデブー機構を備えていない

6. 6. Gnutella 種別 n ファイル共有 歴史 n n n AOLのNullsoft事業部の社員二人が密かに開発、公開 同日、Webページが削除された しかし、Gnutellaプロトコルを元にクローンソフトが多数開発され た 6. 6. Gnutella 種別 n ファイル共有 歴史 n n n AOLのNullsoft事業部の社員二人が密かに開発、公開 同日、Webページが削除された しかし、Gnutellaプロトコルを元にクローンソフトが多数開発され た ゴール n 純粋な分散ファイル共有手段の提供 設計 n n n あくまでGnutellaとはプロトコル名 プロトコルは検索やファイル共有手法を提供 ランデブーはユーザに委ねる(Webなど)

スケーラビリティ n n 実はあまりスケールしない 1ピアあたり2ピアと接続、TTL= 7の場合、128ノードしか検索できない 耐故障性 n n Gnutellaプロトコル自身は提供しない 要求が届かなかったら、ユーザ自身がリトライ 実装とパフォーマンス n 多くのクローン、パフォーマンスはクローン次第? スケーラビリティ n n 実はあまりスケールしない 1ピアあたり2ピアと接続、TTL= 7の場合、128ノードしか検索できない 耐故障性 n n Gnutellaプロトコル自身は提供しない 要求が届かなかったら、ユーザ自身がリトライ 実装とパフォーマンス n 多くのクローン、パフォーマンスはクローン次第? w Limewire, Toad. Node, Bear. Share n DL成功率、2000年: 10%、2001年: 25%以上 ビジネスモデル n 企業のファイル共有用にGnutellaの開発をしているところも 教訓 n モデル的に問題を抱えている w 非組織化、信頼性、スケーラビリティなど

6. 7. JXTA 種別 n プラットフォーム 歴史 n 2001年 4月25日にSunが発表 ゴール n n n 6. 7. JXTA 種別 n プラットフォーム 歴史 n 2001年 4月25日にSunが発表 ゴール n n n 相互運用性 プラットフォーム独立性(プログラミング言語、システム、 ネットワーク) 偏在 設計 n アプリケーションではなく、プラットフォームのみを提供

サービス n コア w 認証、ピア発見・管理、暗号化キット n オプション w ネーミング、ルーティング、インデックス、検索 n 2002年の時点でサポート無し w ファイアウォール、コンテンツリクエスト転送 アプリケーション サービス n コア w 認証、ピア発見・管理、暗号化キット n オプション w ネーミング、ルーティング、インデックス、検索 n 2002年の時点でサポート無し w ファイアウォール、コンテンツリクエスト転送 アプリケーション n n JXTA Shell Instant. P 2 P (チャット) スケーラビリティ n ユニークIDの問題?(本当に世界でユニーク?) 実装 n Solaris、Windows、Linuxなどで動作 ビジネスモデル n n オープンソース 実際にアプリケーションが登場している

6. 8. . NET My Services 種別 n プラットフォーム 歴史 n 2000年 6月にMicrosoft が発表 6. 8. . NET My Services 種別 n プラットフォーム 歴史 n 2000年 6月にMicrosoft が発表 ゴール n あらゆるコンテキスト からアクセス可能に

設計 n サービスの分散化にフォーカス w SOAP、UDDI(Webサービスのディレクトリ)、WSDL(Webサービスのプロトコ ルフォーマットの定義) セキュリティとプライバシ n パスポート w w ユーザ認証に利用 シングルサインインを実現 1億6000万のアカウント(2001年 設計 n サービスの分散化にフォーカス w SOAP、UDDI(Webサービスのディレクトリ)、WSDL(Webサービスのプロトコ ルフォーマットの定義) セキュリティとプライバシ n パスポート w w ユーザ認証に利用 シングルサインインを実現 1億6000万のアカウント(2001年 7月時点) パスポートに含まれる情報 n n パスポートユニークID (puid) ユーザプロファイル 信用証明 お財布(オプション) w PC環境以外でも利用可 (例:c. HTML for I-mode)

スケーラビリティと耐故障性 n コンポーネント&サービスの分散化で、どちらも向上 実装とパフォーマンス n 基本的にWindows環境のみ ビジネスモデル n MicrosoftはInternet、オープンソースを取り囲もうとしている w XML, SOAP, WSDL, UDDI, スケーラビリティと耐故障性 n コンポーネント&サービスの分散化で、どちらも向上 実装とパフォーマンス n 基本的にWindows環境のみ ビジネスモデル n MicrosoftはInternet、オープンソースを取り囲もうとしている w XML, SOAP, WSDL, UDDI, C# アプリケーション n Officeを. NETに移行中 教訓 n n パスポート:多くの人を集められる アプリケーション:普及させるには魅力的なアプリケーションが重要

6. 9. Summary 6. 9. Summary

7. LESSONS LEARNED 7. LESSONS LEARNED

7. 1. Strengths and Weaknesses P 2 Pの n 強み w w n 状況によって強み 7. 1. Strengths and Weaknesses P 2 Pの n 強み w w n 状況によって強み w w n 分散化 アドホック コスト所有権 匿名性 スケーラビリティ パフォーマンス 耐障害性 自律組織化 弱み w セキュリティ w 相互運用性

7. 2. Non-Technical Challenges 7. 2. Non-Technical Challenges

7. 3. Implications for Users, Developers, and IT 各立場からの比較 n n 信頼性は中央集権型が強 い 周辺ソフトウェアや互換性 7. 3. Implications for Users, Developers, and IT 各立場からの比較 n n 信頼性は中央集権型が強 い 周辺ソフトウェアや互換性 はクライアントサーバが強 い w 規格やソースコードがオープ ンであるから n 標準化や管理はまだまだ これから

8. SUMMARY AND FUTURE WORK まとめ 8. SUMMARY AND FUTURE WORK まとめ

8. 1. Final Thoughts on What P 2 P Is P 2 Pとは n 8. 1. Final Thoughts on What P 2 P Is P 2 Pとは n n 概念である モデルである 実装手段である システムや環境の一部である

8. 2. Why We Think P 2 P is Important スケーラビリティ 接続性、アドホック、分散化 8. 2. Why We Think P 2 P is Important スケーラビリティ 接続性、アドホック、分散化

8. 3. P 2 P in the Future アルゴリズム n これからよりスケーラビリティや匿名性に優れ たアルゴリズムが出現するはず アプリケーション n 8. 3. P 2 P in the Future アルゴリズム n これからよりスケーラビリティや匿名性に優れ たアルゴリズムが出現するはず アプリケーション n もっと便利なものが出るはず プラットフォーム n P 2 Pシステムの間口をさらに広げてくれるはず

8. 4. Summary P 2 Pは研究対象としてだけではなく、今後 のソフトウェアの基盤としてさらに発展する だろう 8. 4. Summary P 2 Pは研究対象としてだけではなく、今後 のソフトウェアの基盤としてさらに発展する だろう