SlideShare ist ein Scribd-Unternehmen logo
1 von 68
Downloaden Sie, um offline zu lesen
Copyright (C) kosho.org 2003 1
P2P型CDN
ストリーミングシステム(II)配信技術
Internet Week 2003 チュートリアル
2003年12月2日、パシフィコ横浜
鍋島 公章
Copyright (C) kosho.org 2003 2
目次
CDN入門
システム構築例
MP3ストリーミング
P2P型ストリーミング
Copyright (C) kosho.org 2003 3
CDN入門(1)
Content の Delivery と Distribution
 IETF的定義
 配達(Delivery)
 コンテンツをクライアントに届けること
 流通(Distribution)
 コンテンツを配信網内に分散させること
 (Italic)の用語はRFCドラフトで定義されているものである
Copyright (C) kosho.org 2003 4
CDN入門(2)
基本用語
 コンテンツ(Content)
 デジタルデータ
 クライアント(Client)
 コンテンツ・リクエスト(Content Request)を送信し、コンテンツを含
むコンテンツ・レスポンス(Content Response)を受信する
 ユーザエージェント(User Agent)
 リクエストを開始するプログラム
 サーバ(Server)
 コンテンツ・リクエストを受け、コンテンツ・レスポンスを返す
Content Request
Content ResponseClient
User Agent
Server
Content
Copyright (C) kosho.org 2003 5
CDN入門(3)
CDN (Content Distribution / Delivery Network)
 別名 CN (Content Network)
 目的
 ユーザアクセスの高速化
 ネットワークボトルネックの解消
Tier1 ISP
Local ISP
Copyright (C) kosho.org 2003 6
CDN入門(4)
コンテンツネットワークの要素(Content Network
Element)
 サロゲート
 ディストリビューションシステム
 リクエストルーティングシステム
 アカウンティングシステム
Copyright (C) kosho.org 2003 7
CDN入門(5)
コンテンツネットワークの要素(1)
 オリジン(Origin)
 コンテンツが最初に登録される所
 サロゲート(Surrogate)/エッジサーバ
 複製のプレイスホルダ
 リバースプロキシ
 部分的ミラーサーバ
 スプリッタ
 ディストリビューションシステム(Distribution System)
 コンテンツをオリジンからサロゲート群に流通(移動、
複製)(Distribution)
 コンテンツの更新情報の通知(Content Signal)
Copyright (C) kosho.org 2003 8
CDN入門(6)
セグメント内に、サロゲートを配置
Distribution:サロゲート上にコンテンツの複製を最
適配置
オリジン
コンテンツ
サロゲート
ディストリビューション(流通)
システム
Copyright (C) kosho.org 2003 9
CDN入門(7)
コンテンツネットワークの要素(2)
 リクエストルーティングシステム(Request Routing
System)
 クライアントからのコンテンツリクエストを適切なサロ
ゲートに導く
 アカウンティングシステム(Accounting System)
 流通と配送の記録管理
 ユーザ認証、LOGの回収
Copyright (C) kosho.org 2003 10
CDN入門(8)
Request Routing: クライアントのコンテンツ要求を
適切なサロゲートに導く
Accounting:ユーザ認証、アクセスLOGの回収
オリジン
サロゲート
アクセスLOG アカウンティングシステム
リクエストルーティングシステム
Copyright (C) kosho.org 2003 11
CDN入門(9)
基本ダイアグラム
オリジン
リクエストルーティング
システム
ディストリビューション
システム
アカウンティング
システム
課金組織
サロゲートクライアント
1) Content Name
Distribution
3) Content
Distribution
4) Request
5) Surrogate
6) Content
Request &
Response
7) Account
Information
2) Content
Injection
コンテンツネットワーク
Copyright (C) kosho.org 2003 12
CDN入門(10)
CDN技術と実装レベル
 グローバル・ローカル負荷分散
 ラウンドロビン
 負荷分散
 地理的分散
 地理的分散+負荷分散
 コンテンツ複製技術
 キャッシュ型
 複製操作(プレロード、明示的削除)型
 アクセスLOG管理
 回収型
 即時型
Copyright (C) kosho.org 2003 13
CDN入門(11)
ストリーミング用CDNの特徴
 ストリームはQoSに敏感
 広帯域、長時間
 アグレッシブかつ強力なCDNが必要
 ライブ配信
 経路、QoS制御
 オンデマンド配信
 ストリームの複製、動的生成は困難
Copyright (C) kosho.org 2003 14
CDN入門(12)
ライブストリーミングCDN
 アプリケーション層ルーティング、QoS
 ネットワーク層のルーティング、QoS
 自立・分散アルゴリズム
 複雑なポリシーの実現、俊敏な変更は困難
 メトリック、アナウンス経路の変更
 複数のAS管理者の合意が必要
 スプリッタ単位のラフな経路制御、QoS
 ストリーミングのみの制御
 中央制御
 変更の俊敏性
Copyright (C) kosho.org 2003 15
CDN入門(13)
冗長配送
 QoS機能のないInternet
 届けるためには、冗長性(帯域の無駄)を避けない
 配送コスト(ハウジング費用)も増加する
 スプリッタ上でのバッファリング
 サーバへの欠落パケットの再送要求
 プレイヤーからの再送要求へのパケット再送
 冗長化
 経路、サーバ
 パケット
Copyright (C) kosho.org 2003 16
CDN入門(14)
 経路の冗長化
 スプリッタで結合
 パケットを一定時間バッファ、シーケンス番号で判別
 シームレスな切替
 エンコーダの冗長化
 異なるソース、コンテンツ
 シーケンス番号が同じでも中身が異なる
 タイムアウト、再バッファリングが切替時に発生
経路の冗長化 エンコーダの冗長化
Copyright (C) kosho.org 2003 17
CDN入門(15)
リクエストナビゲーション(DNSベース)
 ホスト名をResolveする時に、異なるIPアドレスを返す
 ホスト単位のレゾリューション
 ローカルDNS単位のユーザ認識
 WWW用としては実績多数
LDS
DNS
Server
LDS: Local DNS Server
Surrogate
(IP_a)
Surrogate
(IP_b)
foo.comIP_b
LDS
foo.comIP_a
Copyright (C) kosho.org 2003 18
CDN入門(16)
リクエストナビゲーション(ローカルDNS問題)
 ローカルDNS単位のユーザ認識
 大手ISPでもローカルDNSサーバは数箇所程度
 アクセスポイントは数十箇所
DNS
Server
Surrogate
(IP_a)
Surrogate
(IP_b)LDS
USER_a USER_b
USER_a or USER_b ??
Copyright (C) kosho.org 2003 19
CDN入門(17)
リクエストナビゲーション(ストリーミング用)
 アプリケーション層ルーティング
 メタファイルの動的生成
 RTSPによるリダイレクト
 SDPによるサーバ指定
 特徴
 詳細なナビゲーション
 プレイヤーIPアドレス、メディアファイル単位
 WWW用(DNSベースルーティング)に対するデメリット
 プレイヤー単位のプロービング
 常時接続されているとは限らない
 スケーラビリティ問題
 ナビゲーション負荷
 オブジェクト単位にRequest-Routingが発生
 URLの同一性喪失
 Forwardingキャッシュサーバとの相性が悪い
Copyright (C) kosho.org 2003 20
CDN入門(18)
プレイヤー別メタファイル
 RealMeida (ram)
 rtsp://foo.org/hoge.rm
 QuickTime (qtl)
 rtsptextrtsp://foo.org/hoge.mov
 autoplay=true
 WindowsMedia (asx)
 <ASX Version = "3.0">
 <Entry>
 <Ref href = "mms://foo.org/hoge.wmv" />
 </Entry>
 </ASX>
Copyright (C) kosho.org 2003 21
CDN入門(19)
ヘルスチェック
 ICMP
 TCP
 アプリケーションプロトコル
 コンテンツ内容
ローカル負荷分散のメトリック
 コネクション数
 トラフィック量
 サーバ応答時間
 サーバ負荷
グローバル負荷分散のメトリック
 Ping RTT
 Router Hop
 BGP AS Path
Copyright (C) kosho.org 2003 22
CDN入門(20)
CGIサンプル(サーバのヘルスチェック/TCP)
 #!/usr/bin/perl
 use Net::Ping;
 $t_host = “www.kosho.org";
 $object = “hoge.wmv";
 $p = Net::Ping->new("tcp",3);
 $p->{port_num} = 1756;
Copyright (C) kosho.org 2003 23
CDN入門(21)
CGIサンプル(サーバのヘルスチェック/TCP、続き)
 if ($p->ping($t_host)) {
 print "Content-Type: video/x-ms-asf¥r¥n";
 print "¥r¥n";
 print "<ASX version=¥"3.0¥">¥n";
 print "<Entry>¥n";
 print "<Ref href = ¥"mms://$t_host/$object¥" />¥n";
 print "</Entry>¥n";
 print "</ASX>¥n";
 } else {
 print "Content-Type: text/plain¥r¥n";
 print "¥r¥n";
 print "Sorry, Streaming server is down. ¥n";
 }
Copyright (C) kosho.org 2003 24
CDN入門(22)
CGIサンプル(サーバのヘルスチェック/RTSP)
 #!/usr/bin/perl
 use RTSP::Lite;
 $t_host = “www.kosho.org";
 $object = “hoge.mov";
 $rtsp = new RTSP::Lite;
 $rtsp->open("$t_host");
 $rtsp->method("DESCRIBE");
 $rtsp->request(“rtsp://".$t_host."/".$object);
Copyright (C) kosho.org 2003 25
CDN入門(23)
CGIサンプル(サーバのヘルスチェック/RTSP、続き)
 if ($rtsp->status() == "200") {
 print "Content-Type: application/x-quicktimeplayer¥r¥n";
 print "¥r¥n";
 print "rtsptextrtsp:// " . $t_host.”/”.$target¥n";
 print "autoplay=true¥n";
 } else {
 print "Content-Type: text/plain¥r¥n";
 print "¥r¥n";
 print "Sorry, Streaming server is down. Please try again¥n";
 }
Copyright (C) kosho.org 2003 26
CDN入門(24)
CGIサンプル(プレイヤのIPアドレスによるナビゲート)
 #!/usr/bin/perl
 $remote= $ENV{'REMOTE_ADDR'};
 print "Content-Type: audio/x-pn-realaudio ¥r¥n";
 print "¥r¥n";
 if ($remote =~ /^192.168./) {
 print "rtsp://rtsp1.kosho.org/hoge.rm";
 } else {
 print "rtsp://rtsp2.kosho.org/hoge.rm";
 }
Copyright (C) kosho.org 2003 27
システム実装例(1)
サンプルシステム
 Cisco Enterprise Content Delivery Network (E-CDN)
 主要コンポーネント
 Content Distribution Manager (CDM)
 Request Routing, Distribution, Accounting
 Content Engine (CE)
 Surrogate
Copyright (C) kosho.org 2003 28
システム実装例(2)
基本動作(コンテンツのインポート)
 CDMへコンテンツを登録
Copyright (C) kosho.org 2003 29
システム実装例(3)
基本動作(コンテンツレプリケーション)
 CEに自動的に複製が配置される
 定期的な更新チェック
 スケジューリング
 帯域管理
Copyright (C) kosho.org 2003 30
システム実装例(4)
基本動作(リンクページ編集)
Copyright (C) kosho.org 2003 31
システム実装例(5)
基本動作(コンテンツルーティング)
Copyright (C) kosho.org 2003 32
システム実装例(6)
基本動作(再生)
Copyright (C) kosho.org 2003 33
システム実装例(7)
CEの基本設定
 ネットワーク設定
 CDMの登録
 ディスク割り当て
 disk addコマンド
 ストリーミング設定
 real-xxxコマンド
 wmtコマンド
CDMの基本設定
 ネットワーク設定
Copyright (C) kosho.org 2003 34
システム実装例(8)
CEのCDMでの承認(1)
Copyright (C) kosho.org 2003 35
システム実装例(9)
CEのCDMでの承認(2)
Copyright (C) kosho.org 2003 36
システム実装例(10)
CEのカバレージ( CEが配信するネットワーク)設定
 Preferred:正常時にカバーするネットワーク
 Regular:他のCEがダウンした時にカバーするネットワーク
Copyright (C) kosho.org 2003 37
システム実装例(11)
チャネルの作成
 チャネル
 コンテンツを扱う単位
Copyright (C) kosho.org 2003 38
システム実装例(12)
チャネルの属性
•Auto Subscribe:
新しいCEが登録された時に自動的にこのチャネルを登録
•Auto Replicate
新規コンテンツ登録時に、自動的にレプリケーション
Copyright (C) kosho.org 2003 39
システム実装例(13)
チャネルのCEへの割り当て
Copyright (C) kosho.org 2003 40
システム実装例(14)
帯域幅(スケジュール)設定
Copyright (C) kosho.org 2003 41
システム実装例(15)
コンテンツ登録
 FTP等でディレクトリへアップデート
 ディレクトリ名
 /import/チャネル名/
 例
 ftp://CDMホスト/import/チャネル名/
Copyright (C) kosho.org 2003 42
MP3ストリーミング(1)
HTTPを使ったストリーミング配信
 ファイルのOn the Fly再生(ダウンロードした分をそのまま
再生)
代表的システム
 shoutcast
 icecast
Copyright (C) kosho.org 2003 43
MP3ストリーミング(2)
MP3ファイルの構造
 フレームの連続により構成
 ただし、単独のフレームでは再生できない
 1フレーム:1152サンプル(576サンプルx2グラニュール)
 44.1kHz(サンプリング周波数)として約0.026秒
 ヘッダ、フレーム(群)、フッタ
 ヘッダ
 ID3TagV2等
 フレーム(群)
 フレームヘッダ
 同期ワード:12ビット(12ビット連続の1)
 …
 CRC
 オーディオデータ
 フッタ
 ID3TagV1等
Copyright (C) kosho.org 2003 44
MP3ストリーミング(3)
Shoutcastプロトコルサンプル(1)
 Player -> Server
 GET /content/scpromo.mp3 HTTP/1.0
 Host: gw
 User-Agent: WinampMPEG/2.9
 Accept: */*
 Icy-MetaData:1
 Connection: close
Copyright (C) kosho.org 2003 45
MP3ストリーミング(4)
Shoutcastプロトコルサンプル(2)
 Server -> Player
 ICY 200 OK
 icy-notice1:<BR>This stream requires <a
href="http://www.winamp.com/">Winamp</a><BR>
 icy-notice2:SHOUTcast Distributed Network Audio
Server/Linux v1.9.2<BR>
 icy-name:N/A - scpromo.mp3
 icy-genre:N/A
 icy-url:http://www.shoutcast.com
 icy-pub:0
 MP3データ
Copyright (C) kosho.org 2003 46
MP3ストリーミング(5)
icecastプロトコルサンプル(1)
 Player -> Server
 GET /hoge.mp3 HTTP/1.0
 Host:192.168.0.1
 Accept:*/*
 User-Agent:Nullsoft Winamp3 version 3.0d build
488
 Icy-Metadata:1
Copyright (C) kosho.org 2003 47
MP3ストリーミング(6)
Icecastプロトコルサンプル(2)
 Server->Player
 HTTP/1.0 200 OK
 Content-Type: audio/mpeg
 icy-br:128
 icy-description:Default description
 icy-genre:Default genre
 icy-name:Default stream
 icy-public:0
 icy-url:http://localhost/
 icy-metaint:16000
 Server: Icecast 2.0-alpha2/cvs
 MP3データ
Copyright (C) kosho.org 2003 48
MP3ストリーミング(7)
HTTPサーバの拡張
 転送速度の制御
 56Kbpsでエンコードされたオブジェクトは56Kbpsで転送する
 ライブへの対応
 他のプロセスからの出力をURLにマッピング(マウント)
 メタ情報の配信
プレイヤーの拡張
 On The Fly再生をサポート
 ネットワークストリームからの再生
 オブジェクトをストレージに保管しない
 ライブ配信
 メタ情報のハンドリング
Copyright (C) kosho.org 2003 49
MP3ストリーミング(8)
エンコーダの拡張
 擬似ライブ
 プレイリストによる複数のMP3ファイルから一本の連続
MP3ストリームを作成
 メタ情報の埋め込み
Copyright (C) kosho.org 2003 50
MP3ストリーミング(9)
メタ情報(曲名等)
 配信方法
 特定長(icy-metaint値)ごとに、MP3ストリーム中にイ
ンターリーブ
 MP3フレームの間に挟みこむのではない。
 配信タイミング
 接続直後、曲が変わった直後
 データ構造
 データ長(1バイト):16バイト単位
 データ長が0もありえる。この場合メタデータはなし
 メタデータ:データ長x16バイト
Copyright (C) kosho.org 2003 51
MP3ストリーミング(10)
サンプル
 icy-metaint:16000(128Kbpsで1秒) の場合
 mp3データ:16000バイト
 メタデータ長:1バイト, 5
 メタデータ:80(5*16)バイト
 mp3データ:16000バイト
 メタデータ長:1バイト, 0
 mp3データ:16000バイト
 …
Copyright (C) kosho.org 2003 52
MP3ストリーミング(11)
MP3ストリーミングの保存
 VOD
 完全なコピーが可能
 ライブ・擬似ライブ
 フレーム部分はコピー可能
 TAG情報は喪失
 連続した楽曲の分解は不完全ながら可能
 メタ情報の挿入されたタイミング
Copyright (C) kosho.org 2003 53
P2Pストリーミング(1)
P2P型CDN
 ユーザのPCをサロゲートとするCDN
 ユーザリソースの利用
 デメリット
 中継の不安定性
 FEC、マルチパス
 コンテンツの改変
 DRM、電子署名
 アクセス披瀝の漏洩
 URLの暗号化
Copyright (C) kosho.org 2003 54
P2Pストリーミング(2)
リクエストナビゲーション・中継管理
 集中型
 センターサーバの存在
 ShareCast等
 分散型
 P2Pプロトコルの利用
 PeerCast等
Copyright (C) kosho.org 2003 55
P2Pストリーミング(3)
PeerCast (http://www.peercast.org/)
 特徴
 分散型P2Pストリーミング(CDN)
 中継の判断は手動
 最適経路等の処理なし
 オープンソース
 対応配信プロトコル
 MP3ストリーミング、MMS, NSV
 P2Pプロトコル
 Gnutella
Copyright (C) kosho.org 2003 56
P2Pストリーミング(4)
P2Pネットワーク
 メタ情報の伝播・取得
 P2Pプロトコル
 ストリームの中継
 手動
P2Pプロトコル(Gnutella 0.6)
 ノード(サロゲート、サーバント)情報の伝播・取得
 Ping, Pong
 ストリーム情報の伝播・取得
 Query, Query Hit
 Firewall対策
 Push
Copyright (C) kosho.org 2003 57
P2Pストリーミング(5)
主要処理
 起動処理
 P2Pネットワークへの参加
 Ping, Pong
 P2Pネットワークの参加ノードとしての処理
 ノード情報の交換
 Ping, Pong
 ストリーム情報の交換
 Query, Query Hit
 目的とするストリームの視聴処理
 ストリーム情報の検索
 Query
 ストリームの発信処理
 ストリーム情報の伝播
 Query Hit
Copyright (C) kosho.org 2003 58
P2Pストリーミング(6)
Gnutellaプロトコル
 コネクション開始
 ノードA→ノードB
 PEERCAST CONNECT/0.1
 ノードB→ノードA
 GNUTELLA/0.6 200 OK
 ノードA→ノードB
 GNUTELLA/0.6 200 OK
Copyright (C) kosho.org 2003 59
P2Pストリーミング(7)
Gnutellaプロトコル
 プロトコルヘッダ
 識別子ID:16バイト
 ペイロード識別子:1バイト
 Ping: 0x00
 Pong: 0x01
 Push: 0x40
 Query: 0x80
 Query Hit: 0x81
 TTL:1バイト
 Hop数:1バイト
 ペイロード長:4バイト
Copyright (C) kosho.org 2003 60
P2Pストリーミング(8)
Ping
 ペイロードなし
Pong
 ポート番号:2バイト
 IPアドレス:4バイト
 保持するファイル数:4バイト
 保持するファイル量:4バイト
Copyright (C) kosho.org 2003 61
P2Pストリーミング(9)
Query
 スピード:2バイト
 検索キーワード
 終端はNUL(0x00)
Query hit
 ヒット数:1バイト
 ポート番号:2バイト
 IPアドレス:4バイト
 スピード:4バイト
 検索結果
 インデックス:4バイト
 エンコードレート:2バイト
 リスナー数:2バイト
 XMLデータ
 サーバントID:16バイト
Copyright (C) kosho.org 2003 62
P2Pストリーミング(10)
Push
 サーバントID:16バイト
 インデックス:4バイト
 IPアドレス:4バイト
 ポート番号:2バイト
Copyright (C) kosho.org 2003 63
P2Pストリーミング(11)
起動処理
 P2Pネットワークへの参加
 初期ノードへの接続
Ping
Pong
Pong
Pong
初期ノード
(connect1.peercast.org)
Copyright (C) kosho.org 2003 64
P2Pストリーミング(12)
P2Pネットワークの参加ノードとしての処理(1)
 他ノードとのGnutella接続
Copyright (C) kosho.org 2003 65
P2Pストリーミング(13)
P2Pネットワークの参加ノードとしての処理(2)
 ノード情報の交換
ノード情報
キャッシュ
PingPing
Ping
Pong
Pong
Copyright (C) kosho.org 2003 66
P2Pストリーミング(14)
P2Pネットワークの参加ノードとしての処理(3)
 ストリーム情報の交換
ストリーム情報
キャッシュ
QueryQuery
Query
Query
Hit
Query
Hit
Copyright (C) kosho.org 2003 67
P2Pストリーミング(15)
ストリームの発信処理
 ストリーム情報の伝播
新規ストリーム
掲示板
Query
Hit
Query
Query
Hit
Query
Hit
Query
Hit
エンコーダ
Copyright (C) kosho.org 2003 68
P2Pストリーミング(16)
目的とするストリームの視聴・中継処理
 ストリーム情報の検索
 ストリームの取得・中継
QueryQuery
Query
Query
Hit
Query
Hit
Request
新規ストリーム
掲示板

Weitere ähnliche Inhalte

Was ist angesagt?

自律連合型基盤システムの構築
自律連合型基盤システムの構築自律連合型基盤システムの構築
自律連合型基盤システムの構築Kazuhiko Kato
 
ストリーミング用マルチCDN
ストリーミング用マルチCDNストリーミング用マルチCDN
ストリーミング用マルチCDNMasaaki Nabeshima
 
CDNホットトピック(SSLとパケット着信課金)
CDNホットトピック(SSLとパケット着信課金)CDNホットトピック(SSLとパケット着信課金)
CDNホットトピック(SSLとパケット着信課金)J-Stream Inc.
 
広域分散仮想化環境における計算機資源利用状況に基づいた課金・フィードバック方式の評価
広域分散仮想化環境における計算機資源利用状況に基づいた課金・フィードバック方式の評価広域分散仮想化環境における計算機資源利用状況に基づいた課金・フィードバック方式の評価
広域分散仮想化環境における計算機資源利用状況に基づいた課金・フィードバック方式の評価Hiroki Kashiwazaki
 
Jazug静岡勉強会資料
Jazug静岡勉強会資料Jazug静岡勉強会資料
Jazug静岡勉強会資料Shinichiro Isago
 
Orb 仮想通貨・地域通貨ソリューション
Orb 仮想通貨・地域通貨ソリューションOrb 仮想通貨・地域通貨ソリューション
Orb 仮想通貨・地域通貨ソリューションWataru Fukatsu
 
ルーティングチュートリアルチュートリアル TCP/IP編
ルーティングチュートリアルチュートリアル TCP/IP編ルーティングチュートリアルチュートリアル TCP/IP編
ルーティングチュートリアルチュートリアル TCP/IP編Yuya Rin
 
(きっと)あなたにも出来る!Hyperledger composer でブロックチェーンアプリを動かしてみた
(きっと)あなたにも出来る!Hyperledger composer でブロックチェーンアプリを動かしてみた(きっと)あなたにも出来る!Hyperledger composer でブロックチェーンアプリを動かしてみた
(きっと)あなたにも出来る!Hyperledger composer でブロックチェーンアプリを動かしてみたK Kimura
 
CloudStackとNetScalerの連携(CloudStackユーザ会 in 大阪)
CloudStackとNetScalerの連携(CloudStackユーザ会 in 大阪)CloudStackとNetScalerの連携(CloudStackユーザ会 in 大阪)
CloudStackとNetScalerの連携(CloudStackユーザ会 in 大阪)Satoshi Shimazaki
 
CloudStackとNetScaler連携tips
CloudStackとNetScaler連携tipsCloudStackとNetScaler連携tips
CloudStackとNetScaler連携tipsKenichi Mineta
 
ストリーミングのTLS(SSL)化
ストリーミングのTLS(SSL)化ストリーミングのTLS(SSL)化
ストリーミングのTLS(SSL)化J-Stream Inc.
 

Was ist angesagt? (15)

自律連合型基盤システムの構築
自律連合型基盤システムの構築自律連合型基盤システムの構築
自律連合型基盤システムの構築
 
ストリーミング用マルチCDN
ストリーミング用マルチCDNストリーミング用マルチCDN
ストリーミング用マルチCDN
 
CDNホットトピック(SSLとパケット着信課金)
CDNホットトピック(SSLとパケット着信課金)CDNホットトピック(SSLとパケット着信課金)
CDNホットトピック(SSLとパケット着信課金)
 
Orb oracle
Orb oracleOrb oracle
Orb oracle
 
広域分散仮想化環境における計算機資源利用状況に基づいた課金・フィードバック方式の評価
広域分散仮想化環境における計算機資源利用状況に基づいた課金・フィードバック方式の評価広域分散仮想化環境における計算機資源利用状況に基づいた課金・フィードバック方式の評価
広域分散仮想化環境における計算機資源利用状況に基づいた課金・フィードバック方式の評価
 
Jazug静岡勉強会資料
Jazug静岡勉強会資料Jazug静岡勉強会資料
Jazug静岡勉強会資料
 
Orb 仮想通貨・地域通貨ソリューション
Orb 仮想通貨・地域通貨ソリューションOrb 仮想通貨・地域通貨ソリューション
Orb 仮想通貨・地域通貨ソリューション
 
ルーティングチュートリアルチュートリアル TCP/IP編
ルーティングチュートリアルチュートリアル TCP/IP編ルーティングチュートリアルチュートリアル TCP/IP編
ルーティングチュートリアルチュートリアル TCP/IP編
 
(きっと)あなたにも出来る!Hyperledger composer でブロックチェーンアプリを動かしてみた
(きっと)あなたにも出来る!Hyperledger composer でブロックチェーンアプリを動かしてみた(きっと)あなたにも出来る!Hyperledger composer でブロックチェーンアプリを動かしてみた
(きっと)あなたにも出来る!Hyperledger composer でブロックチェーンアプリを動かしてみた
 
DRBDで始める災害対策(DR)
DRBDで始める災害対策(DR)DRBDで始める災害対策(DR)
DRBDで始める災害対策(DR)
 
CloudStackとNetScalerの連携(CloudStackユーザ会 in 大阪)
CloudStackとNetScalerの連携(CloudStackユーザ会 in 大阪)CloudStackとNetScalerの連携(CloudStackユーザ会 in 大阪)
CloudStackとNetScalerの連携(CloudStackユーザ会 in 大阪)
 
Troveコミュニティ動向
Troveコミュニティ動向Troveコミュニティ動向
Troveコミュニティ動向
 
CloudStackとNetScaler連携tips
CloudStackとNetScaler連携tipsCloudStackとNetScaler連携tips
CloudStackとNetScaler連携tips
 
AWS re:Invent2017で見た AWSの強さとは
AWS re:Invent2017で見た AWSの強さとは AWS re:Invent2017で見た AWSの強さとは
AWS re:Invent2017で見た AWSの強さとは
 
ストリーミングのTLS(SSL)化
ストリーミングのTLS(SSL)化ストリーミングのTLS(SSL)化
ストリーミングのTLS(SSL)化
 

Ähnlich wie P2P型CDN

ストリーミングCDN2002
ストリーミングCDN2002ストリーミングCDN2002
ストリーミングCDN2002Masaaki Nabeshima
 
ストリーミングCDN2001
ストリーミングCDN2001ストリーミングCDN2001
ストリーミングCDN2001Masaaki Nabeshima
 
CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)J-Stream Inc.
 
Let's begin WebRTC
Let's begin WebRTCLet's begin WebRTC
Let's begin WebRTCyoshikawa_t
 
HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向Kazuho Oku
 
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソース
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソースストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソース
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソースMasaaki Nabeshima
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門Kohei Tokunaga
 
HTTP入門
HTTP入門HTTP入門
HTTP入門Sho A
 
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーションDocker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーションMasahito Zembutsu
 
WowzaMediaServer for EC2 導入編
WowzaMediaServer for EC2 導入編WowzaMediaServer for EC2 導入編
WowzaMediaServer for EC2 導入編BeMarble
 
Network as a Service - Data plane evolution and abstraction by NSM
Network as a Service - Data plane evolution and abstraction by NSMNetwork as a Service - Data plane evolution and abstraction by NSM
Network as a Service - Data plane evolution and abstraction by NSMMiya Kohno
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Masahito Zembutsu
 
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)Shinichiro Isago
 
Hol012 windowsコンテナー始動
Hol012 windowsコンテナー始動Hol012 windowsコンテナー始動
Hol012 windowsコンテナー始動Tech Summit 2016
 
デバイスからクラウドへ ~組み込みエンジニアと IoT
デバイスからクラウドへ ~組み込みエンジニアと IoTデバイスからクラウドへ ~組み込みエンジニアと IoT
デバイスからクラウドへ ~組み込みエンジニアと IoTShin-ya Koga
 
Introduction of Rancher at OSC Tokyo 17 Spring
Introduction of Rancher at OSC Tokyo 17 SpringIntroduction of Rancher at OSC Tokyo 17 Spring
Introduction of Rancher at OSC Tokyo 17 SpringGo Chiba
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf勇 黒沢
 
20120611 aws meister-reloaded-cloud-front-public
20120611 aws meister-reloaded-cloud-front-public20120611 aws meister-reloaded-cloud-front-public
20120611 aws meister-reloaded-cloud-front-publicAmazon Web Services Japan
 

Ähnlich wie P2P型CDN (20)

ストリーミングCDN2002
ストリーミングCDN2002ストリーミングCDN2002
ストリーミングCDN2002
 
ストリーミングCDN2001
ストリーミングCDN2001ストリーミングCDN2001
ストリーミングCDN2001
 
CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)
 
Let's begin WebRTC
Let's begin WebRTCLet's begin WebRTC
Let's begin WebRTC
 
PFI Seminar 2010/01/21
PFI Seminar 2010/01/21PFI Seminar 2010/01/21
PFI Seminar 2010/01/21
 
HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向
 
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソース
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソースストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソース
ストリーミング視聴解析の基本とその応用 IPv4・IPv6デュアルソース
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
 
HTTP入門
HTTP入門HTTP入門
HTTP入門
 
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーションDocker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
 
WowzaMediaServer for EC2 導入編
WowzaMediaServer for EC2 導入編WowzaMediaServer for EC2 導入編
WowzaMediaServer for EC2 導入編
 
Network as a Service - Data plane evolution and abstraction by NSM
Network as a Service - Data plane evolution and abstraction by NSMNetwork as a Service - Data plane evolution and abstraction by NSM
Network as a Service - Data plane evolution and abstraction by NSM
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
 
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
 
WebRTC on Native App
WebRTC on Native AppWebRTC on Native App
WebRTC on Native App
 
Hol012 windowsコンテナー始動
Hol012 windowsコンテナー始動Hol012 windowsコンテナー始動
Hol012 windowsコンテナー始動
 
デバイスからクラウドへ ~組み込みエンジニアと IoT
デバイスからクラウドへ ~組み込みエンジニアと IoTデバイスからクラウドへ ~組み込みエンジニアと IoT
デバイスからクラウドへ ~組み込みエンジニアと IoT
 
Introduction of Rancher at OSC Tokyo 17 Spring
Introduction of Rancher at OSC Tokyo 17 SpringIntroduction of Rancher at OSC Tokyo 17 Spring
Introduction of Rancher at OSC Tokyo 17 Spring
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf
 
20120611 aws meister-reloaded-cloud-front-public
20120611 aws meister-reloaded-cloud-front-public20120611 aws meister-reloaded-cloud-front-public
20120611 aws meister-reloaded-cloud-front-public
 

Mehr von Masaaki Nabeshima

ストリーミングサービス研究グループ
ストリーミングサービス研究グループストリーミングサービス研究グループ
ストリーミングサービス研究グループMasaaki Nabeshima
 
セキュリティ管理 入門セミナ
セキュリティ管理 入門セミナセキュリティ管理 入門セミナ
セキュリティ管理 入門セミナMasaaki Nabeshima
 
IPv4 IPv6 Multi Protocol Media Player
IPv4 IPv6 Multi  Protocol Media PlayerIPv4 IPv6 Multi  Protocol Media Player
IPv4 IPv6 Multi Protocol Media PlayerMasaaki Nabeshima
 
国内トラフィックエンジニアリングの現状
国内トラフィックエンジニアリングの現状国内トラフィックエンジニアリングの現状
国内トラフィックエンジニアリングの現状Masaaki Nabeshima
 
サイマルキャスト コストと可能性についての考察
サイマルキャスト コストと可能性についての考察サイマルキャスト コストと可能性についての考察
サイマルキャスト コストと可能性についての考察Masaaki Nabeshima
 
海賊版対策:CDN事業者からの視点
海賊版対策:CDN事業者からの視点海賊版対策:CDN事業者からの視点
海賊版対策:CDN事業者からの視点Masaaki Nabeshima
 
ストリーミング視聴解析の分類(ドラフト20180718)
ストリーミング視聴解析の分類(ドラフト20180718)ストリーミング視聴解析の分類(ドラフト20180718)
ストリーミング視聴解析の分類(ドラフト20180718)Masaaki Nabeshima
 
プレイヤーサイド・マルチCDN
プレイヤーサイド・マルチCDNプレイヤーサイド・マルチCDN
プレイヤーサイド・マルチCDNMasaaki Nabeshima
 
Video analytics seminar 2018
Video analytics seminar 2018Video analytics seminar 2018
Video analytics seminar 2018Masaaki Nabeshima
 
キャッシュサーバ運用技術
キャッシュサーバ運用技術キャッシュサーバ運用技術
キャッシュサーバ運用技術Masaaki Nabeshima
 

Mehr von Masaaki Nabeshima (19)

vMVPDの動向について
vMVPDの動向についてvMVPDの動向について
vMVPDの動向について
 
Open Caching Update
Open Caching UpdateOpen Caching Update
Open Caching Update
 
ストリーミングサービス研究グループ
ストリーミングサービス研究グループストリーミングサービス研究グループ
ストリーミングサービス研究グループ
 
セキュリティ管理 入門セミナ
セキュリティ管理 入門セミナセキュリティ管理 入門セミナ
セキュリティ管理 入門セミナ
 
ATSC 3.0, MMT, Multicast
ATSC 3.0, MMT, MulticastATSC 3.0, MMT, Multicast
ATSC 3.0, MMT, Multicast
 
IPv4 IPv6 Multi Protocol Media Player
IPv4 IPv6 Multi  Protocol Media PlayerIPv4 IPv6 Multi  Protocol Media Player
IPv4 IPv6 Multi Protocol Media Player
 
国内トラフィックエンジニアリングの現状
国内トラフィックエンジニアリングの現状国内トラフィックエンジニアリングの現状
国内トラフィックエンジニアリングの現状
 
サイマルキャスト コストと可能性についての考察
サイマルキャスト コストと可能性についての考察サイマルキャスト コストと可能性についての考察
サイマルキャスト コストと可能性についての考察
 
IPv4 IPv6 Media Player
IPv4 IPv6 Media PlayerIPv4 IPv6 Media Player
IPv4 IPv6 Media Player
 
IPv6 Survey 2019 Dec Update
IPv6 Survey 2019 Dec UpdateIPv6 Survey 2019 Dec Update
IPv6 Survey 2019 Dec Update
 
JP Web Sites IPv6 Survey
JP Web Sites IPv6 SurveyJP Web Sites IPv6 Survey
JP Web Sites IPv6 Survey
 
IPv6 Survey 2019
IPv6 Survey 2019IPv6 Survey 2019
IPv6 Survey 2019
 
海賊版対策:CDN事業者からの視点
海賊版対策:CDN事業者からの視点海賊版対策:CDN事業者からの視点
海賊版対策:CDN事業者からの視点
 
ストリーミング視聴解析の分類(ドラフト20180718)
ストリーミング視聴解析の分類(ドラフト20180718)ストリーミング視聴解析の分類(ドラフト20180718)
ストリーミング視聴解析の分類(ドラフト20180718)
 
ISP CDN draft2
ISP CDN draft2ISP CDN draft2
ISP CDN draft2
 
プレイヤーサイド・マルチCDN
プレイヤーサイド・マルチCDNプレイヤーサイド・マルチCDN
プレイヤーサイド・マルチCDN
 
Video mqtt
Video mqttVideo mqtt
Video mqtt
 
Video analytics seminar 2018
Video analytics seminar 2018Video analytics seminar 2018
Video analytics seminar 2018
 
キャッシュサーバ運用技術
キャッシュサーバ運用技術キャッシュサーバ運用技術
キャッシュサーバ運用技術
 

Kürzlich hochgeladen

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 

Kürzlich hochgeladen (10)

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 

P2P型CDN

  • 1. Copyright (C) kosho.org 2003 1 P2P型CDN ストリーミングシステム(II)配信技術 Internet Week 2003 チュートリアル 2003年12月2日、パシフィコ横浜 鍋島 公章
  • 2. Copyright (C) kosho.org 2003 2 目次 CDN入門 システム構築例 MP3ストリーミング P2P型ストリーミング
  • 3. Copyright (C) kosho.org 2003 3 CDN入門(1) Content の Delivery と Distribution  IETF的定義  配達(Delivery)  コンテンツをクライアントに届けること  流通(Distribution)  コンテンツを配信網内に分散させること  (Italic)の用語はRFCドラフトで定義されているものである
  • 4. Copyright (C) kosho.org 2003 4 CDN入門(2) 基本用語  コンテンツ(Content)  デジタルデータ  クライアント(Client)  コンテンツ・リクエスト(Content Request)を送信し、コンテンツを含 むコンテンツ・レスポンス(Content Response)を受信する  ユーザエージェント(User Agent)  リクエストを開始するプログラム  サーバ(Server)  コンテンツ・リクエストを受け、コンテンツ・レスポンスを返す Content Request Content ResponseClient User Agent Server Content
  • 5. Copyright (C) kosho.org 2003 5 CDN入門(3) CDN (Content Distribution / Delivery Network)  別名 CN (Content Network)  目的  ユーザアクセスの高速化  ネットワークボトルネックの解消 Tier1 ISP Local ISP
  • 6. Copyright (C) kosho.org 2003 6 CDN入門(4) コンテンツネットワークの要素(Content Network Element)  サロゲート  ディストリビューションシステム  リクエストルーティングシステム  アカウンティングシステム
  • 7. Copyright (C) kosho.org 2003 7 CDN入門(5) コンテンツネットワークの要素(1)  オリジン(Origin)  コンテンツが最初に登録される所  サロゲート(Surrogate)/エッジサーバ  複製のプレイスホルダ  リバースプロキシ  部分的ミラーサーバ  スプリッタ  ディストリビューションシステム(Distribution System)  コンテンツをオリジンからサロゲート群に流通(移動、 複製)(Distribution)  コンテンツの更新情報の通知(Content Signal)
  • 8. Copyright (C) kosho.org 2003 8 CDN入門(6) セグメント内に、サロゲートを配置 Distribution:サロゲート上にコンテンツの複製を最 適配置 オリジン コンテンツ サロゲート ディストリビューション(流通) システム
  • 9. Copyright (C) kosho.org 2003 9 CDN入門(7) コンテンツネットワークの要素(2)  リクエストルーティングシステム(Request Routing System)  クライアントからのコンテンツリクエストを適切なサロ ゲートに導く  アカウンティングシステム(Accounting System)  流通と配送の記録管理  ユーザ認証、LOGの回収
  • 10. Copyright (C) kosho.org 2003 10 CDN入門(8) Request Routing: クライアントのコンテンツ要求を 適切なサロゲートに導く Accounting:ユーザ認証、アクセスLOGの回収 オリジン サロゲート アクセスLOG アカウンティングシステム リクエストルーティングシステム
  • 11. Copyright (C) kosho.org 2003 11 CDN入門(9) 基本ダイアグラム オリジン リクエストルーティング システム ディストリビューション システム アカウンティング システム 課金組織 サロゲートクライアント 1) Content Name Distribution 3) Content Distribution 4) Request 5) Surrogate 6) Content Request & Response 7) Account Information 2) Content Injection コンテンツネットワーク
  • 12. Copyright (C) kosho.org 2003 12 CDN入門(10) CDN技術と実装レベル  グローバル・ローカル負荷分散  ラウンドロビン  負荷分散  地理的分散  地理的分散+負荷分散  コンテンツ複製技術  キャッシュ型  複製操作(プレロード、明示的削除)型  アクセスLOG管理  回収型  即時型
  • 13. Copyright (C) kosho.org 2003 13 CDN入門(11) ストリーミング用CDNの特徴  ストリームはQoSに敏感  広帯域、長時間  アグレッシブかつ強力なCDNが必要  ライブ配信  経路、QoS制御  オンデマンド配信  ストリームの複製、動的生成は困難
  • 14. Copyright (C) kosho.org 2003 14 CDN入門(12) ライブストリーミングCDN  アプリケーション層ルーティング、QoS  ネットワーク層のルーティング、QoS  自立・分散アルゴリズム  複雑なポリシーの実現、俊敏な変更は困難  メトリック、アナウンス経路の変更  複数のAS管理者の合意が必要  スプリッタ単位のラフな経路制御、QoS  ストリーミングのみの制御  中央制御  変更の俊敏性
  • 15. Copyright (C) kosho.org 2003 15 CDN入門(13) 冗長配送  QoS機能のないInternet  届けるためには、冗長性(帯域の無駄)を避けない  配送コスト(ハウジング費用)も増加する  スプリッタ上でのバッファリング  サーバへの欠落パケットの再送要求  プレイヤーからの再送要求へのパケット再送  冗長化  経路、サーバ  パケット
  • 16. Copyright (C) kosho.org 2003 16 CDN入門(14)  経路の冗長化  スプリッタで結合  パケットを一定時間バッファ、シーケンス番号で判別  シームレスな切替  エンコーダの冗長化  異なるソース、コンテンツ  シーケンス番号が同じでも中身が異なる  タイムアウト、再バッファリングが切替時に発生 経路の冗長化 エンコーダの冗長化
  • 17. Copyright (C) kosho.org 2003 17 CDN入門(15) リクエストナビゲーション(DNSベース)  ホスト名をResolveする時に、異なるIPアドレスを返す  ホスト単位のレゾリューション  ローカルDNS単位のユーザ認識  WWW用としては実績多数 LDS DNS Server LDS: Local DNS Server Surrogate (IP_a) Surrogate (IP_b) foo.comIP_b LDS foo.comIP_a
  • 18. Copyright (C) kosho.org 2003 18 CDN入門(16) リクエストナビゲーション(ローカルDNS問題)  ローカルDNS単位のユーザ認識  大手ISPでもローカルDNSサーバは数箇所程度  アクセスポイントは数十箇所 DNS Server Surrogate (IP_a) Surrogate (IP_b)LDS USER_a USER_b USER_a or USER_b ??
  • 19. Copyright (C) kosho.org 2003 19 CDN入門(17) リクエストナビゲーション(ストリーミング用)  アプリケーション層ルーティング  メタファイルの動的生成  RTSPによるリダイレクト  SDPによるサーバ指定  特徴  詳細なナビゲーション  プレイヤーIPアドレス、メディアファイル単位  WWW用(DNSベースルーティング)に対するデメリット  プレイヤー単位のプロービング  常時接続されているとは限らない  スケーラビリティ問題  ナビゲーション負荷  オブジェクト単位にRequest-Routingが発生  URLの同一性喪失  Forwardingキャッシュサーバとの相性が悪い
  • 20. Copyright (C) kosho.org 2003 20 CDN入門(18) プレイヤー別メタファイル  RealMeida (ram)  rtsp://foo.org/hoge.rm  QuickTime (qtl)  rtsptextrtsp://foo.org/hoge.mov  autoplay=true  WindowsMedia (asx)  <ASX Version = "3.0">  <Entry>  <Ref href = "mms://foo.org/hoge.wmv" />  </Entry>  </ASX>
  • 21. Copyright (C) kosho.org 2003 21 CDN入門(19) ヘルスチェック  ICMP  TCP  アプリケーションプロトコル  コンテンツ内容 ローカル負荷分散のメトリック  コネクション数  トラフィック量  サーバ応答時間  サーバ負荷 グローバル負荷分散のメトリック  Ping RTT  Router Hop  BGP AS Path
  • 22. Copyright (C) kosho.org 2003 22 CDN入門(20) CGIサンプル(サーバのヘルスチェック/TCP)  #!/usr/bin/perl  use Net::Ping;  $t_host = “www.kosho.org";  $object = “hoge.wmv";  $p = Net::Ping->new("tcp",3);  $p->{port_num} = 1756;
  • 23. Copyright (C) kosho.org 2003 23 CDN入門(21) CGIサンプル(サーバのヘルスチェック/TCP、続き)  if ($p->ping($t_host)) {  print "Content-Type: video/x-ms-asf¥r¥n";  print "¥r¥n";  print "<ASX version=¥"3.0¥">¥n";  print "<Entry>¥n";  print "<Ref href = ¥"mms://$t_host/$object¥" />¥n";  print "</Entry>¥n";  print "</ASX>¥n";  } else {  print "Content-Type: text/plain¥r¥n";  print "¥r¥n";  print "Sorry, Streaming server is down. ¥n";  }
  • 24. Copyright (C) kosho.org 2003 24 CDN入門(22) CGIサンプル(サーバのヘルスチェック/RTSP)  #!/usr/bin/perl  use RTSP::Lite;  $t_host = “www.kosho.org";  $object = “hoge.mov";  $rtsp = new RTSP::Lite;  $rtsp->open("$t_host");  $rtsp->method("DESCRIBE");  $rtsp->request(“rtsp://".$t_host."/".$object);
  • 25. Copyright (C) kosho.org 2003 25 CDN入門(23) CGIサンプル(サーバのヘルスチェック/RTSP、続き)  if ($rtsp->status() == "200") {  print "Content-Type: application/x-quicktimeplayer¥r¥n";  print "¥r¥n";  print "rtsptextrtsp:// " . $t_host.”/”.$target¥n";  print "autoplay=true¥n";  } else {  print "Content-Type: text/plain¥r¥n";  print "¥r¥n";  print "Sorry, Streaming server is down. Please try again¥n";  }
  • 26. Copyright (C) kosho.org 2003 26 CDN入門(24) CGIサンプル(プレイヤのIPアドレスによるナビゲート)  #!/usr/bin/perl  $remote= $ENV{'REMOTE_ADDR'};  print "Content-Type: audio/x-pn-realaudio ¥r¥n";  print "¥r¥n";  if ($remote =~ /^192.168./) {  print "rtsp://rtsp1.kosho.org/hoge.rm";  } else {  print "rtsp://rtsp2.kosho.org/hoge.rm";  }
  • 27. Copyright (C) kosho.org 2003 27 システム実装例(1) サンプルシステム  Cisco Enterprise Content Delivery Network (E-CDN)  主要コンポーネント  Content Distribution Manager (CDM)  Request Routing, Distribution, Accounting  Content Engine (CE)  Surrogate
  • 28. Copyright (C) kosho.org 2003 28 システム実装例(2) 基本動作(コンテンツのインポート)  CDMへコンテンツを登録
  • 29. Copyright (C) kosho.org 2003 29 システム実装例(3) 基本動作(コンテンツレプリケーション)  CEに自動的に複製が配置される  定期的な更新チェック  スケジューリング  帯域管理
  • 30. Copyright (C) kosho.org 2003 30 システム実装例(4) 基本動作(リンクページ編集)
  • 31. Copyright (C) kosho.org 2003 31 システム実装例(5) 基本動作(コンテンツルーティング)
  • 32. Copyright (C) kosho.org 2003 32 システム実装例(6) 基本動作(再生)
  • 33. Copyright (C) kosho.org 2003 33 システム実装例(7) CEの基本設定  ネットワーク設定  CDMの登録  ディスク割り当て  disk addコマンド  ストリーミング設定  real-xxxコマンド  wmtコマンド CDMの基本設定  ネットワーク設定
  • 34. Copyright (C) kosho.org 2003 34 システム実装例(8) CEのCDMでの承認(1)
  • 35. Copyright (C) kosho.org 2003 35 システム実装例(9) CEのCDMでの承認(2)
  • 36. Copyright (C) kosho.org 2003 36 システム実装例(10) CEのカバレージ( CEが配信するネットワーク)設定  Preferred:正常時にカバーするネットワーク  Regular:他のCEがダウンした時にカバーするネットワーク
  • 37. Copyright (C) kosho.org 2003 37 システム実装例(11) チャネルの作成  チャネル  コンテンツを扱う単位
  • 38. Copyright (C) kosho.org 2003 38 システム実装例(12) チャネルの属性 •Auto Subscribe: 新しいCEが登録された時に自動的にこのチャネルを登録 •Auto Replicate 新規コンテンツ登録時に、自動的にレプリケーション
  • 39. Copyright (C) kosho.org 2003 39 システム実装例(13) チャネルのCEへの割り当て
  • 40. Copyright (C) kosho.org 2003 40 システム実装例(14) 帯域幅(スケジュール)設定
  • 41. Copyright (C) kosho.org 2003 41 システム実装例(15) コンテンツ登録  FTP等でディレクトリへアップデート  ディレクトリ名  /import/チャネル名/  例  ftp://CDMホスト/import/チャネル名/
  • 42. Copyright (C) kosho.org 2003 42 MP3ストリーミング(1) HTTPを使ったストリーミング配信  ファイルのOn the Fly再生(ダウンロードした分をそのまま 再生) 代表的システム  shoutcast  icecast
  • 43. Copyright (C) kosho.org 2003 43 MP3ストリーミング(2) MP3ファイルの構造  フレームの連続により構成  ただし、単独のフレームでは再生できない  1フレーム:1152サンプル(576サンプルx2グラニュール)  44.1kHz(サンプリング周波数)として約0.026秒  ヘッダ、フレーム(群)、フッタ  ヘッダ  ID3TagV2等  フレーム(群)  フレームヘッダ  同期ワード:12ビット(12ビット連続の1)  …  CRC  オーディオデータ  フッタ  ID3TagV1等
  • 44. Copyright (C) kosho.org 2003 44 MP3ストリーミング(3) Shoutcastプロトコルサンプル(1)  Player -> Server  GET /content/scpromo.mp3 HTTP/1.0  Host: gw  User-Agent: WinampMPEG/2.9  Accept: */*  Icy-MetaData:1  Connection: close
  • 45. Copyright (C) kosho.org 2003 45 MP3ストリーミング(4) Shoutcastプロトコルサンプル(2)  Server -> Player  ICY 200 OK  icy-notice1:<BR>This stream requires <a href="http://www.winamp.com/">Winamp</a><BR>  icy-notice2:SHOUTcast Distributed Network Audio Server/Linux v1.9.2<BR>  icy-name:N/A - scpromo.mp3  icy-genre:N/A  icy-url:http://www.shoutcast.com  icy-pub:0  MP3データ
  • 46. Copyright (C) kosho.org 2003 46 MP3ストリーミング(5) icecastプロトコルサンプル(1)  Player -> Server  GET /hoge.mp3 HTTP/1.0  Host:192.168.0.1  Accept:*/*  User-Agent:Nullsoft Winamp3 version 3.0d build 488  Icy-Metadata:1
  • 47. Copyright (C) kosho.org 2003 47 MP3ストリーミング(6) Icecastプロトコルサンプル(2)  Server->Player  HTTP/1.0 200 OK  Content-Type: audio/mpeg  icy-br:128  icy-description:Default description  icy-genre:Default genre  icy-name:Default stream  icy-public:0  icy-url:http://localhost/  icy-metaint:16000  Server: Icecast 2.0-alpha2/cvs  MP3データ
  • 48. Copyright (C) kosho.org 2003 48 MP3ストリーミング(7) HTTPサーバの拡張  転送速度の制御  56Kbpsでエンコードされたオブジェクトは56Kbpsで転送する  ライブへの対応  他のプロセスからの出力をURLにマッピング(マウント)  メタ情報の配信 プレイヤーの拡張  On The Fly再生をサポート  ネットワークストリームからの再生  オブジェクトをストレージに保管しない  ライブ配信  メタ情報のハンドリング
  • 49. Copyright (C) kosho.org 2003 49 MP3ストリーミング(8) エンコーダの拡張  擬似ライブ  プレイリストによる複数のMP3ファイルから一本の連続 MP3ストリームを作成  メタ情報の埋め込み
  • 50. Copyright (C) kosho.org 2003 50 MP3ストリーミング(9) メタ情報(曲名等)  配信方法  特定長(icy-metaint値)ごとに、MP3ストリーム中にイ ンターリーブ  MP3フレームの間に挟みこむのではない。  配信タイミング  接続直後、曲が変わった直後  データ構造  データ長(1バイト):16バイト単位  データ長が0もありえる。この場合メタデータはなし  メタデータ:データ長x16バイト
  • 51. Copyright (C) kosho.org 2003 51 MP3ストリーミング(10) サンプル  icy-metaint:16000(128Kbpsで1秒) の場合  mp3データ:16000バイト  メタデータ長:1バイト, 5  メタデータ:80(5*16)バイト  mp3データ:16000バイト  メタデータ長:1バイト, 0  mp3データ:16000バイト  …
  • 52. Copyright (C) kosho.org 2003 52 MP3ストリーミング(11) MP3ストリーミングの保存  VOD  完全なコピーが可能  ライブ・擬似ライブ  フレーム部分はコピー可能  TAG情報は喪失  連続した楽曲の分解は不完全ながら可能  メタ情報の挿入されたタイミング
  • 53. Copyright (C) kosho.org 2003 53 P2Pストリーミング(1) P2P型CDN  ユーザのPCをサロゲートとするCDN  ユーザリソースの利用  デメリット  中継の不安定性  FEC、マルチパス  コンテンツの改変  DRM、電子署名  アクセス披瀝の漏洩  URLの暗号化
  • 54. Copyright (C) kosho.org 2003 54 P2Pストリーミング(2) リクエストナビゲーション・中継管理  集中型  センターサーバの存在  ShareCast等  分散型  P2Pプロトコルの利用  PeerCast等
  • 55. Copyright (C) kosho.org 2003 55 P2Pストリーミング(3) PeerCast (http://www.peercast.org/)  特徴  分散型P2Pストリーミング(CDN)  中継の判断は手動  最適経路等の処理なし  オープンソース  対応配信プロトコル  MP3ストリーミング、MMS, NSV  P2Pプロトコル  Gnutella
  • 56. Copyright (C) kosho.org 2003 56 P2Pストリーミング(4) P2Pネットワーク  メタ情報の伝播・取得  P2Pプロトコル  ストリームの中継  手動 P2Pプロトコル(Gnutella 0.6)  ノード(サロゲート、サーバント)情報の伝播・取得  Ping, Pong  ストリーム情報の伝播・取得  Query, Query Hit  Firewall対策  Push
  • 57. Copyright (C) kosho.org 2003 57 P2Pストリーミング(5) 主要処理  起動処理  P2Pネットワークへの参加  Ping, Pong  P2Pネットワークの参加ノードとしての処理  ノード情報の交換  Ping, Pong  ストリーム情報の交換  Query, Query Hit  目的とするストリームの視聴処理  ストリーム情報の検索  Query  ストリームの発信処理  ストリーム情報の伝播  Query Hit
  • 58. Copyright (C) kosho.org 2003 58 P2Pストリーミング(6) Gnutellaプロトコル  コネクション開始  ノードA→ノードB  PEERCAST CONNECT/0.1  ノードB→ノードA  GNUTELLA/0.6 200 OK  ノードA→ノードB  GNUTELLA/0.6 200 OK
  • 59. Copyright (C) kosho.org 2003 59 P2Pストリーミング(7) Gnutellaプロトコル  プロトコルヘッダ  識別子ID:16バイト  ペイロード識別子:1バイト  Ping: 0x00  Pong: 0x01  Push: 0x40  Query: 0x80  Query Hit: 0x81  TTL:1バイト  Hop数:1バイト  ペイロード長:4バイト
  • 60. Copyright (C) kosho.org 2003 60 P2Pストリーミング(8) Ping  ペイロードなし Pong  ポート番号:2バイト  IPアドレス:4バイト  保持するファイル数:4バイト  保持するファイル量:4バイト
  • 61. Copyright (C) kosho.org 2003 61 P2Pストリーミング(9) Query  スピード:2バイト  検索キーワード  終端はNUL(0x00) Query hit  ヒット数:1バイト  ポート番号:2バイト  IPアドレス:4バイト  スピード:4バイト  検索結果  インデックス:4バイト  エンコードレート:2バイト  リスナー数:2バイト  XMLデータ  サーバントID:16バイト
  • 62. Copyright (C) kosho.org 2003 62 P2Pストリーミング(10) Push  サーバントID:16バイト  インデックス:4バイト  IPアドレス:4バイト  ポート番号:2バイト
  • 63. Copyright (C) kosho.org 2003 63 P2Pストリーミング(11) 起動処理  P2Pネットワークへの参加  初期ノードへの接続 Ping Pong Pong Pong 初期ノード (connect1.peercast.org)
  • 64. Copyright (C) kosho.org 2003 64 P2Pストリーミング(12) P2Pネットワークの参加ノードとしての処理(1)  他ノードとのGnutella接続
  • 65. Copyright (C) kosho.org 2003 65 P2Pストリーミング(13) P2Pネットワークの参加ノードとしての処理(2)  ノード情報の交換 ノード情報 キャッシュ PingPing Ping Pong Pong
  • 66. Copyright (C) kosho.org 2003 66 P2Pストリーミング(14) P2Pネットワークの参加ノードとしての処理(3)  ストリーム情報の交換 ストリーム情報 キャッシュ QueryQuery Query Query Hit Query Hit
  • 67. Copyright (C) kosho.org 2003 67 P2Pストリーミング(15) ストリームの発信処理  ストリーム情報の伝播 新規ストリーム 掲示板 Query Hit Query Query Hit Query Hit Query Hit エンコーダ
  • 68. Copyright (C) kosho.org 2003 68 P2Pストリーミング(16) 目的とするストリームの視聴・中継処理  ストリーム情報の検索  ストリームの取得・中継 QueryQuery Query Query Hit Query Hit Request 新規ストリーム 掲示板