私の立場 • OSカーネルを手がけるエンジニア – UNIXのポーティングやドライバ作成、 システム・プリミティブの追加などを仕事にしていました – 分散システムの試作開発などの経験もあります • 大阪市立大学 創造都市研究科の学生 – 博士課程に在籍中です – 構造化オーバーレイの応用を研究しています • IIJ Innovation Institute の研究員です – 同社が行った技術開発公募の合格者です – 2010年7月までの起業を目標にしています 私の主張 • アプリケーションやサービスの並列化は不回避な技術的トレンド • プロセッサ・レベルではマルチ・コア指向 • サーバーは負荷分散や信頼性向上のためにクラスタ化 • 大規模データを低コストで処理できるGoogleアプローチが注目を集める → クラウド・コンピューティングの出発点? • P2Pはスケール・アウトを統一的に扱えるアーキテクチュア • 1台であっても100万台であっても同じアプリケーションが動く → オーバーレイ・ネットワークの効用 • センターレスでも強大なインフラストラクチュアが構築可能 → ノン・プロフィットなサービスにも活用できる • パフォーマンスや信頼性・信用性の確保はP2Pの研究課題 • P2Pが商用サービスに耐え得るアーキテクチュアを獲得するためには? • きっと何かが必要なのだろう・・・ • Webサービス連携の方法はヒントにならないだろうか? Peer to Peer (P2P)とは • 非常に簡単に説明すると・・・ – ネットワーク・アーキテクチュアの1つ – 構成要素は対等の関係にあり中央集権的な存在がない – 要素間のアドホックな接続によりアプリケーションやサービスを維持する • これまでの事例 – メッセージ共有ネットワークとしてのP2P • Usenet(1979), WWIVnet(1987) – データ共有アプリケーションとしてのP2P • Napster (1999), Gnutella(2000), BitTorrent(2001), WinMX(2001) • Winny(2002), Share(2004) – 分散システムのビルディング・ブロックとしてのP2P(構造化オーバーレイ) • Chord(2001), Pastrey(2001), Tapestry(2001) オーバーレイ・ネットワーク • 他のネットワークの上に構築される論理的なネットワーク – 参加者(ノード)は他者とネットワークを形成していると見えるが 実際のノード間の通信には下位ネットワークの機能が使われる – P2Pネットワークはインターネットを下位ネットワークとする オーバーレイ・ネットワークと理解することができる • オーバーレイ・ネットワーク導入のメリット → – – – • IPアドレスを伴わないルーティング・メッセージを許容する IPアドレスがネットワーク・アクセスから隠蔽される ネットワーク・トポロジの動的変化への対応が容易になる IPルーターへの機能強化が必要ない エンドユーザーが欲しいのはリモート・データやリモート・ジョブの結果であって、 相手がどんなノードかは気にしない。 構造化オーバーレイ • ネットワーク構造がアルゴリズムで決定されるオーバーレイ・ネットワーク – ハッシュ関数によるリング構造のネットワークを形成する事例が多い → SHA-1を使用した場合は160ビットのハッシュ空間を形成する • ネットワークに参加するノードも格納されるデータもハッシュ値で識別する – データを格納するノードはハッシュ値計算により決定される – データの参照に必要なのはデータ識別子のみ(ノード情報は要らない) • ノードはサービスを維持するために自律的に挙動する – ネットワーク構造を維持するため他ノードおよび接続の情報を収集する – 自律的にデータのキャッシングを行って性能改善と信頼性向上を図る 通常のWebサーバーとの通信 – クライアントはサーバーのIPアドレスやドメイン名を指定する http://160.193.95.36/xxx.ht ml 仮想Webサーバーに対する通信 – クライアントはドメイン名を指定して仮想サーバーに接続 – サーバー・サイドはロードバランサー等で動的に実際のサーバーを割り当てる http://xxx.info.gscc.osaka-cu.ac.jp/xxx.html オーバーレイ・ネットワークでの通信 – サーバー・データは自律的にキャッシュされてネットワーク全体に展開される – クライアントは任意の(例えば最も近い)ノードにアクセスする http://ハッシュ値 HTTP P2P Protocol データ一貫性を保証する仕組み – DBなどはネットワーク的に近いノード・グループで一貫性保証する – その他のノードへは従来のP2Pプロトコルで展開 HTTP P2P Protocol Consistency Protocol 言語グリッドをP2P化したら・・・ – 現在のピアがノード・グループに置き換わる? – ノード・グループ間のやり取りは? • HTTP?P2P? HTTP
© Copyright 2024 ExpyDoc