• 検索結果がありません。

評価用シミュレータ (NaP2P シミュレータ)の構築

Italic: Maximum traffic amounts

5.2 評価用シミュレータ (NaP2P シミュレータ)の構築

の実機を用いた実験による評価・検証を行い,トラフィックが局所化できることを確認した.

しかし,実用化のためには,アクセスが集中し大量のトラフィックが発生するケース,例えば 人気あるコンテンツやゲームソフトウェアの販売開始時など,多数のユーザが一斉にアクセス をする場合[59] [60]を想定した大規模なユーザ数における評価を行うことが重要である.こ の評価を行うために,相当数の実機材を用意することは,設備コストや設置場所などの問題か ら難しい.

そこで,実用的規模 (万のオーダーを想定) のユーザに対する配信を評価するために,

Network-awareアーキテクチャとBitTorrent [46]ベースのP2Pプロトコルの動作を実装し たNetwork-aware P2Pシミュレータ(以下,「NaP2Pシミュレータ」と呼ぶ)を作成した[62]. 本シミュレータは,アクセス,中継ネットワークを模擬するクラスタと,各クラスタ間のリン クを定義することで,任意のネットワークトポロジを作成可能とした.

本シミュレータを用いて,ネットワーク情報をアクセスリンの帯域1Gbps,遅延20msec や,セグメント内の配信率が80%などの様々な条件を想定し,同様のアーキテクチャで,数 千人〜1万人規模のユーザにほぼ同時にP2P配信を行い,大量のトラフィックがバースト的 に発生する場合の特性を評価することとした.

この結果,ISPがISP内のトラフィックを60〜80%となるように設定した際に,BitTorrent 独自の制御による影響はあるものの,ほぼ設定通りにトラフィック量を制御可能であることを 確認した.また,2AS間の配信においても同様の制御が可能であることも確認した.

上記評価は,提案手法の効果をトラフィックの局所化に重点を置いたISP視点での評価で あった.しかし,本提案手法を実用化するためには,ユーザに対しても有効であることが要求 される.そこで,ユーザ視点で評価することが重要と考え,ユーザへのコンテンツの配信時間 に関し実験・評価を行った.その結果,ネットワーク情報を使用しない場合と比較し,Srが 90%の時,2AS間配信において配信時間が平均32.7%短縮され,本提案手法が有効であるこ とを検証した.

これらISPおよびユーザ双方の視点における評価結果から,本提案手法の有効性を分析 する.

5.2 評価用シミュレータ(NaP2Pシミュレータ)の構築 65

収集機能を有するネットワーク情報管理サーバ(n-Server),ネットワーク構成情報を基とす るP2Pプライオリティ制御サーバ(n-Tracker)が含まれる.一方,P2Pシステムには,P2P 制御サーバ(p-Tracker),ピア(peer)が含まれる.本シミュレータは,上記P2Pシステムと ネットワーク管理システム全体を,一台の高性能サーバ上でシミュレーションすることを目的 としたソフトウェアである.

一台の高性能サーバ (マルチコアCPU)で動作

ネットワーク情報

定義ファイル イベント記述ファイル P2Pアルゴリズム

記述ファイル

ネットワーク管理システム

P2P

システム

peer P2P制御

サーバ p-Tracker P2Pプライオリティ

制御サーバ ネットワーク情報

ベース n-Tracker ( ) ネットワーク情報

管理サーバ n-Server

5.1.NaP2Pシミュレータ構成

本シミュレータは,実用規模のユーザ数を模擬するため,表5.1に示す通り,最小限10,000 ピアが動作し,かつ,シミュレーションの実施において,ストレス無く適度に動作することを 目標として設計したものである.複数のスレッド(スレッド数=1〜256)を用いて動作させる ことにより,シミュレーション時間を短縮させている.

5.1.シミュレータ設計要求項目

項目 条件

ピア数 10,000ピア程度

クラスタ数 100クラスタ程度 コンテンツの総ピース数 40,000ピース程度

P2P技術は,TCP/IPより上位のアプリケーションで構築するオーバーレイネットワーク

である.したがって,本シミュレータはアプリケーションレイヤの処理を模擬しており,TCP は実装していない.また,例えばピア選択処理などノード内の処理時間は,本シミュレータで は考慮しないこととした.伝搬遅延時間,キュー遅延を考慮し,ノードがパケットを送信して

プログラ ム起動

パラ メータファイル入力

トポ ロジー作成

トポ ロジーイベント処理

ノードイベント処理

プログラ ム終了

ノードイベント処理

統計データ出力

パラメータ設定エラーの場合

SUT単位で繰り返す ノードイベントはマルチスレッドで実施

SUT単位の全処理が終了 シミュレーション終了秒経過

再走査

5.2.NaP2Pシミュレータ処理フロー

から,受信側ノードでパケットを受信するまでの時間を算出して,該当する時間SUT(System Unit Time:処理の単位時間.デフォルト100msec)毎に処理を行う.

図5.2に,NaP2Pシミュレータの処理フローを示す.プログラム起動後,シミュレーション

パラメータの入力,トポロジ作成など初期設定が行われる.その後,リンクのキュー管理など を行うトポロジイベント処理と,各ノードの入出力イベントの処理を行うノードイベント処理 を繰り返し実行した後,最終的に統計情報が出力される.なお,ピアだけでなく,n-Tracker,

p-Tracker,コンテンツサーバなどは独立なノードとして扱われる.

5.2 評価用シミュレータ(NaP2Pシミュレータ)の構築 67

5.2.2 シミュレータ構成

本シミュレータは,図5.3で示す6つの機能で構成される.

パラメータ ファイル

f) シ ミ ュ レ ー タ

設定入力機能 d)イベント管理機能 d)BitTorrent機能

e)送受信管理機能 g)データ出力機能

a)メイン機能

イベントキュー アルゴリズム

ピースリスト 実行

実行

追加 追加

イベント実行

実行

取得

追加

送信 追加

データ出力 データ入力

追加 トポロジー

作成

b)トポロジー管理機能

クラスタ リンク ノード

AS

統計データ ファイル

:イベント :データ

5.3.シミュレータ機能構成図

a)メイン

シミュレータのメインプログラム.SUTの管理およびSUT毎に各機能の実行を行う.

b)トポロジ管理

AS,クラスタ,リンク,ノードなどの静的なネットワーク構成や,送信キューなどの動 的な情報を管理する.

c)イベント管理

イベントキューを管理し,合計75種類のイベント(ピア起動,ピアリスト送受信,ピー ス送受信,ネットワーク情報送受信,経路計算,ハンドシェイク送受信等)を実行する (表5.2参照).

d) BitTorrent動作

ピアリスト,ピースマップ等を管理し,BitTorrent動作としてピース選択アルゴリズム (random first, rarest first等),ピア選択アルゴリズム(tit-for-tat, optimistic unchoke 等)を実行する.

2/1 1/1

10/10

n-Tracker n-Tracker

p-Tracker

p-Tracker

p-Tracker AS

間リンク

AS

間リンク

AS1 AS2

1/1 1/3

10/10

10/10 10/10

10/10 10/10 10/10 10/10 10/10

10/10 10/10

10/10 2/2 2/2

ブランチクラスタ リーフ クラスタ コスト(方向別に 設定)

ex) 上りコスト/下りコスト サーバ 群 ピ ア 1/1

5.4.ネットワーク構築

e)送受信管理

経路計算結果と各リンクの遅延時間よりパケットの受信時刻を計算する.

f)シミュレータ設定入力

各種設定値をシミュレータに入力する.

g)データ出力

各種統計情報をファイルに出力する.

以下に,主な機能について説明する.

5.2.2.1 トポロジ作成機能

NaP2Pシミュレータは,中継ネットワークを模擬するブランチクラスタ,アクセスを模擬

するリーフクラスタ,各クラスタ間のリンクを定義することで,任意のネットワークトポロ ジを構築可能である.図5.4は,2つのASに数十台のピアとn-Trackerおよびp-Trackerを 配置したネットワークの一例である.各クラスタには,複数のノードを割り当て,ノード毎 に上り/下りリンク速度を設定し,ADSL/FTTH等の回線を模擬する.クラスタ間のリンク には,上り/下りのコスト,帯域,伝搬遅延を設定できる.パケットの通信経路は,AS毎に,

SPF(Shortest Path First)により計算する.AS内部で計算された経路と,AS間リンクを組 み合わせることで,AS間の経路を求めることができる.

ノードおよびリンクは,パケットの送受信を模擬する出力キューを有し,伝搬遅延,伝送 遅延,キューイング遅延を考慮してパケットの送受信時刻を推定する.単純化のため,出力 キューはピアに隣接したノードリンクおよびクラスタ間リンクにのみ存在することとし,ま た,クラスタ内ルータやノード内部での処理時間は無いものとして計算している. 

5.2 評価用シミュレータ(NaP2Pシミュレータ)の構築 69

5.2.2.2 イベント処理機能

NaP2Pシミュレータは,ノード毎に1つのイベントキューを持ち,表5.2に示す75種類の

各種イベントを用いて他のノードとの通信を行う.

5.2.アクションリスト

No. イベント名 No. イベント名 No. イベント名

1 ピア起動  26 ping応答送信 51 Not interested送信 2 ピアリスト要求送信 27 ping受信 52 Not interested受信 3 ピアリスト受信 28 リンク障害 53 CHOKE送信 4 ダウンロード完了通知送信 29 リンク障害復帰 54 CHOKE受信 5 P2P終了通知送信 30 経路計算 55 Unchoke送信

6 ping送信 31 NW情報通知 56 Unchoke受信

7 ping応答受信 32 リンクデータ処理 57 Have送信 8 pingタイムアウト 33 ピアリスト受信 58 Have受信 9 ピアリスト要求受信 34 SYN送信 59 Request送信 10 ピアリスト送信 35 SYN受信 60 Request受信 11 ダウンロード完了通知受信 36 SYN/ACK送信 61 Piece送信 12 P2P終了通知受信 37 SYN/ACK受信 62 Piece受信 13 ピアリストソート要求送信 38 FIN送信 63 Cancel送信 14 ソートピアリスト受信 39 FIN受信 64 Cancel受信

15 ピアリストソート要求受信 40 SYN TIMEOUT 65 RejectRequest送信 16 ソートピアリスト送信 41 ハンドシェイク送信 66 RejectRequest受信 17 NW情報更新通知受信 42 ハンドシェイク受信 67 AllowedFast送信 18 NW情報要求送信 43 Bitfield送信 68 AllowedFast受信

19 NW情報受信 44 Bitfield受信 69 Rechoke

20 NW情報更新通知送信 45 Have all送信 70 Snubbed TIMEOUT 21 NW情報要求受信 46 Have all受信 71 コネクションロスト受信

22 NW情報送信 47 Have none送信 72 BT終了

23 リンク状態変更検知 48 Have none受信 73 Cancel request送信 24 NW情報通知受信 49 Interested送信 74 Cancel request受信

25 NW情報取得 50 Interested受信 75 メッセージ転送

イベントには,発生時刻,送受信識別,相手先ノード,イベント種別,イベント種別毎のパ ラメータの情報を持ち,イベント実施単位時間SUT毎に,発生時刻に到達したイベントが実 施される.1つのイベント処理を実行することで,新たに同一SUTで実施すべき処理が発生