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

第 7 章 NDN 方式を活用した先回りコンテンツ配信アプリケーション

7.2. 動作フロー

7.2.1. Interest の送信方法

NDN上でのInterestとContent Objectメッセージの交換によるデータ転送の方式としては

TCPのスロースタートフェーズと似ており、送信するInterestを1から指数関数的に増やして いき、タイムアウト発生時にはその値を 1 へと戻すといったメカニズムであることが多い。こ れではデータ転送におけるスループットは上がらず、フロー制御に改善が必要となっている。

さらにスループットが上がらない原因としてはInterestの送信の仕方に影響がある。NDNでのデ ータ転送においてConsumer(Interestを送信する側)は一つのデータにいくつのChunkが含まれて いるのかという情報を知らない。そのため複数のデータを連続的にダウンロードする際、Chunk のヘッダを見てFinalBlockID=1であるもの、つまりデータの最後のChunkが来るまでInterestを フロー制御に従って送信し続けてしまう。16 進数をデータのプレフィックスに付着することで

Interestを作成することができるため、存在しないChunkに対しても送ってしまい、無駄なInterest

を送信するケースが多い。

7.2.1.1. 提案手法1

NDN上でスループットが上がらないこの2つの要因を考慮し、フロー制御方式でInterestを送 信するのではなく、一斉に(バースト的に)Interest を送信するようにした。また、Interest のタイ ムアウトの処理は考慮していなく、レイヤー4 の TCP にパケットロス時の再送などの処理をお 任せし確実にデータが届くような実装とした。さらに、図7.5に示すように一つずつのデータに

対して1つのInterestを送り、そのデータに含まれるChunkの名前を全て取得してからその情報

を元に Interest を送信することによって、無駄な Interest を送信する数を減らすことが可能とな

る。

図 7.5 提案手法1

7.2.1.2. 提案手法2

Consumerがコンテンツのデータサイズを知っていると仮定をし、取得するデータの名前とデ

ータサイズを自身のデータベースに格納した。データサイズを知ることで、そのサイズを

4096byte(1chunkのサイズ)で割ることによって一つのデータにいくつのChunkが存在するのかを

知ることができる。Chunkの名前にはシーケンシャルな16進数がデータの名前に加えつけられ ているので、Chunk数を知ることで一つのデータに対するInterestを発生させることが可能とな る。この実装方法を図3に示す。

図 7.6 提案手法2

なお、データベースにはコンテンツの名前、データサイズと、セグメント番号が表7.1のように

表7.1 コンテンツ情報のデータベース テープル名: Videos_1000kbit

Name Size Number

video_1_1000kbit/video1.m4s 7755 1 video_1_1000kbit/video2.m4s 269851 2 video_1_1000kbit/video3.m4s 221502 3 video_1_1000kbit/video4.m4s 283202 4

… … …

7.2.1.3. 比較

これらのInterestを送信する手法において比較を行った。既存の方式としてはNDNxのデー タ転送コマンド(ndnsendchunks/ndncatchunks2)を用い、それぞれの方式において動画ファイ ルを25 コンテンツ、セグメント1~35を転送するのに要した時間を図7.7に示す。なお、1セ グメントは2sの動画としており、取得した総データサイズは約260MBとする。

図 7.7 ダウンロード時間の比較

既存の方式においてはフロー制御や無駄な Interest の送信などがあり、ダウンロード時間が 非常に長くなってしまっている。提案手法1 についてはChunk 数を知るための Interest/Content

Object交換がオーバーヘッドとなってしまい、ダウンロード速度に影響があることが分かった。

例えば 25人分のコンテンツを 1~35 セグメント要求した場合、実際のコンテンツのデータ転送 を行う前に875個のInterestを送らなければならなくなる。提案手法2では無駄なInterestの送 信がなく、かつバースト的に送信しているため、オーバーヘッドが少なくダウンロード時間が 一番速い結果となった。

78.24

23.40

17.56

0.00 10.00 20.00 30.00 40.00 50.00 60.00 70.00 80.00 90.00

既存の方式 提案手法1 提案手法2

Time(s)

ダウンロード時間

関連したドキュメント