第 7 章 NDN 方式を活用した先回りコンテンツ配信アプリケーション
7.3. アプリケーション詳細
サーバーとして起動する。さらにポート番号 61340番のサーバーを起動させ、待ち受 け状態となる。
(ii) 駅 B サ ー バ ー :NDN-TLV を 起 動 し 、 コ ン テ ン ツ サ ー バ ー へ ポ ー ト 番 号
6363(NDN-TLV)にChannel Open Requestを投げ、TCPコネクションを確立させる。
さらにポート番号61340と61341番のサーバーを起動させ、待ち受け状態となる。
(iii) 駅Cサーバー:駅Bサーバーと同様の処理を行う。さらにポート番号61341番のサー
バーを起動させ、待ち受け状態となる。
(iv) 列車サーバー:NDN-TLVの起動を行う。ポート番号1337, 61337, 61338, 61339番の
サーバーを起動させ、待ち受け状態となる。
(v) ユーザ: 列車サーバーのポート番号1337にアクセスをし、DASH-NDN-JSのコンテ ンツ選択画面よりコンテンツを選択し、動画再生画面に遷移した際、必要なコンテン
ツのInterestを送信する。Interestを満たすContent Objectは現時点で列車サーバー
に存在しないため、Interest を送信してから 4 秒後にタイムアウトが発生し、再送を 繰り返し行う。
② 駅Aに停車時(列車サーバーと駅Aサーバーのコネクションが確立時)
(i) 列車サーバー:駅Aサーバーへポート番号6363(NDN-TLV)にChannel Open Request を投げ、TCPコネクションを確立させる。さらに自信のポート番号61337にアクセス をすることがトリガーとなり、コンテンツ情報を駅Aサーバーのポート番号61340に 送信すると共に、駅AサーバーにInterestを投げてコンテンツのダウンロードを行う。
(ii) 駅Aサーバー:列車サーバーから取得したコンテンツの情報を駅Bサーバーのポート
番号61341に転送する。
(iii) 駅Bサーバー:駅Aサーバーから受け取ったコンテンツ情報を解析し、Interestを発
生してコンテンツサーバーからコンテンツのダウンロードを行う。
(iv) ユーザ:列車サーバーにコンテンツがキャッシュされるとコンテンツのダウンロード
を行い、動画の再生を始める。
③ 駅Aから駅Bへ移動中
(i) ユーザ:列車サーバーから動画コンテンツを取得し、再生を継続している
④ 駅Bに停車時(列車サーバーと駅Bサーバーのコネクションが確立時)
(i) 列車サーバー:駅Bサーバーへポート番号6363(NDN-TLV)にChannel Open Request を投げ、TCPコネクションを確立させる。さらに自信のポート番号61338にアクセス をすることがトリガーとなり、コンテンツ情報を駅Bサーバーのポート番号61340に 送信すると共に、駅BサーバーにInterestを投げてコンテンツのダウンロードを行う。
(ii) 駅Bサーバー:列車サーバーから取得したコンテンツの情報を駅Cサーバーのポート
番号61341に転送する。
(iii) 駅Cサーバー:駅Aサーバーから受け取ったコンテンツ情報を解析し、Interestを発
生してコンテンツサーバーからコンテンツのダウンロードを行う。
(iv) ユーザ:列車サーバーから動画コンテンツを取得し、再生を継続している
⑤ 駅Bから駅Cへ移動中
(i) ユーザ:列車サーバーから動画コンテンツを取得し、再生を継続している
⑥ 駅Cに停車時(列車サーバーと駅Cサーバーのコネクションが確立時)
(i) 列車サーバー:駅Cサーバーへポート番号6363(NDN-TLV)にChannel Open Request を投げ、TCPコネクションを確立させる。さらに自信のポート番号61339にアクセス をすることがトリガーとなり、駅CサーバーにInterestを投げてコンテンツのダウン ロードを行う。
(ii) ユーザ:列車サーバーから動画コンテンツを取得し、再生を継続している
⑦ 駅Cから移動中
(ii) ユーザ:列車サーバーから動画コンテンツを取得し、最後まで再生を行う。
ユーザ 列車
駅 A / CS 駅 C 駅 B
192.168.3.10 192.168.100.3
192.168.2.10 192.168.100.2
192.168.1.10 192.168.100.1
192.168.200.1
192.168.100.4 192.168.200.0/24
ndnd-tlv-start ndnr &
ndnd-tlv-start ndndc add ndn:/ tcp
192.168.1.10 ndnd-tlv-start
ndndc add ndn:/ tcp
192.168.1.10 応答
応答
無線接続
ndnd-tlv-start
接続待ち
61340 & 61341
61337 (for sta on A) 61338 (for sta on B) 61339 (for sta on C)
接続待ち 接続待ち 接続待ち
node sta on_server.js -f node sta on_server.js -t 192.168.3.10 -f
node sta on_server.js -t 192.168.2.10
node prefetch.js
<# of users> <content bitrate>
Connect (61337)
node sta on_trigger.js–h 192.168.100.1–p 61337
61341 61340
ndndc add ndn:/ tcp 192.168.100.1
要求(61340)
応答 (61340 要求(61341)
応答 (61341)
Port 6363: NDNx
9696: WS Proxy Server コンテンツ情報(61341)
応答
コンテンツ情報(61340) 応答 Channel Open Request(6363)
Channel Open Request(6363)
応答
Channel Open Request(6363)
コンテンツ選択
Interest Timeout
4秒
図 7.9 データのやり取り
ユーザ 列車
駅 A / CS 駅 C 駅 B
192.168.3.10 192.168.100.3
192.168.2.10 192.168.100.2
192.168.1.10 192.168.100.1
192.168.200.1
192.168.100.4 192.168.200.0/24
無線切断
動画配信
Port 6363: NDNx
9696: WS Proxy Server 無線接続
全コンテンツ取得
Connect (61338)
node sta on_trigger.js–h 192.168.100.2–p 61338
要求(61341)
応答 (61341)
ndndc add ndn:/ tcp 192.168.100.2
要求(61340)
応答 (61340)
Interest(6363)
応答(6363)
全コンテンツ取得
…
コンテンツ情報(61340) 応答 コンテンツ情報(61341)
応答
応答
Channel Open Request(6363) Content Object Interest(6363)
応答(6363) Content Object
…
Interest(9696) Content Object
応答(9696)
…
ユーザ 列車
駅 A / CS 駅 C 駅 B
192.168.3.10 192.168.100.3
192.168.2.10 192.168.100.2
192.168.1.10 192.168.100.1
192.168.200.1
192.168.100.4 192.168.200.0/24
Port 6363: NDNx
9696: WS Proxy Serer 無線切断
無線接続
Connect (61339)
node sta on_trigger.js–h 192.168.100.3–p 61339 ndndc add ndn:/ tcp 192.168.100.3
無線切断
… 全コンテンツ取得
全コンテンツ取得
Interest(6363)
応答(6363)
…
全コンテンツ取得
… Content Object
応答
Channel Open Request(6363)
Interest(6363)
応答(6363) Content Object
Interest(6363)
応答(6363) Content Object