Download - 分項子計畫: P2P Video Streaming Multi-layer Video Distribution and Acquisition in Cloud Computing
Department of Electrical EngineeringNational Sun Yat-Sen University
Computer Communication Network Lab
分項子計畫 : P2P Video Streaming
Multi-layer Video Distribution and Acquisition
in Cloud Computing
1
主持人 : 許蒼嶺 研究生 : 林靖辰 簡嘉威 王彥翔 蘇昭文 Dept. of Electrical Engineering National Sun Yat-Sen University
Department of Electrical EngineeringNational Sun Yat-Sen University
Computer Communication Network Lab
SVC-P2P: 實作與 Demo
SVC-P2P 分為兩大部份 Torrent Reassembly
Segments 被切割成三維空間的 Torrents設計抓取與重組 Torrents 最高層級的演算法
SB (Service Broker) Agent for Service Requests QoS Negotiation and Monitoring
Department of Electrical EngineeringNational Sun Yat-Sen University
Computer Communication Network Lab
SVC-P2P Video StreamingSVC-P2P Video Streaming
3
The“ Clouds”
PeerName Node
& Job Tracker
Data NodeTask Tracker
Task Tracker Data Node
Task Tracker Data Node
Task Tracker Data Node
Service Broker
Peer Peer
Peer Peer
Department of Electrical EngineeringNational Sun Yat-Sen University
Computer Communication Network Lab
Cloud ComputingCloud Computing Cloud 成員
Name Node• 負責接收 QoS service requests
Job Tracker• 負責分配 Tasks 至其它 Task Tracker
Task Tracker• 負責將 Job Tracker 所分配的 Tasks 運算完成• 並回傳結果至 Job Tracker
Data Node• 資料存取點
4
Name Node& Job Tracker
Data NodeTask Tracker
Task Tracker Data Node
Task Tracker Data Node
Task Tracker Data Node
Department of Electrical EngineeringNational Sun Yat-Sen University
Computer Communication Network Lab
Segments vs TorrentsSegments vs Torrents
5
Department of Electrical EngineeringNational Sun Yat-Sen University
Computer Communication Network Lab
SVC Video Segments (1/3)SVC Video Segments (1/3) SVC 使用 Spatial 、 Temporal 和 Quality 三個維度
Spatial 是用來表示畫面大小,藉由改變 Spatial 可以適應不同的螢幕大小
Temporal 是表示 frame rate ,藉由加入或移除中間的 B slice 來達到 frame rate 的變化
Quality 是表示畫面的 SNR ,越高層級的 Quality ,畫面品質越高
6
Department of Electrical EngineeringNational Sun Yat-Sen University
Computer Communication Network Lab
SVC Video Segments (2/3)SVC Video Segments (2/3) SVC 是由連續的 Segments 組成,每個 Segment 為一段
影片播放的時間 ( 大約是 10-20sec) 每個 Segment 依據 SVC 三個維度( Spatial, Temporal,
Quality) 的特性再切割成數個 Torrents Torrents 之間具有相依性
只有 Base Layer 可以獨立解碼其它 Torrent 的解碼必須依賴其它維度較低的 Torrents
•例如 Torrent(1,2,3) 的解碼必須依賴 Torrent(x,y,z)
7
30 ,20 ,10 zyx
Department of Electrical EngineeringNational Sun Yat-Sen University
Computer Communication Network Lab
SVC Video Segments (3/3)SVC Video Segments (3/3) Observations:
每一 Torrent 具有不同的重要性 例如只增加 Quality 而不增加 Temporal 的話,雖然畫面變清晰但是影片播放速度卻不夠順暢
例如當使用者的裝置為 PDA 時,由於設備本身螢幕較小,所以不需使用 Spatial 的較高維度
8
Department of Electrical EngineeringNational Sun Yat-Sen University
Computer Communication Network Lab
TorrentTorrent 抓取演算法抓取演算法 (1/2)(1/2) 依據使用設備與網路頻寬來決定最高可抓取的層級 判斷抓取 Segment 的時間是否來得及解碼或是否已經抓
完最高層級 假設 Segment 剩餘可抓取的時間為
:正要被抓取的 Segment 之序列號碼 :正在被 Decoding 的 Segment 之序列號碼
9
waitingt
jisegmentwaiting SNSNnntt ,
iSN
jSN
Department of Electrical EngineeringNational Sun Yat-Sen University
Computer Communication Network Lab
TorrentTorrent 抓取演算法抓取演算法 (2/2)(2/2) 計算剩餘的可用連線數
根據 Torrents 的重要性抓取 Torrents 標記 Torrent 為已抓取,抓取下一個 Torrent
10
_
Available BWConnections
BW Connection
Department of Electrical EngineeringNational Sun Yat-Sen University
Computer Communication Network Lab
TorrentTorrent 抓取的演算流程抓取的演算流程
11
Department of Electrical EngineeringNational Sun Yat-Sen University
Computer Communication Network Lab
TorrentTorrent 抓取的實驗拓樸抓取的實驗拓樸 測試抓到維度最高層級的 Torrents ,是否可滿足整個
Segment 的即時性播放需求 使用四個 Peer 的樹狀結構 限制每個 Peer 的上傳與下傳頻寬 預先創造 Torrents 在每一 Peer 的分佈情境
Uniform Hot Spot Random
12
Department of Electrical EngineeringNational Sun Yat-Sen University
Computer Communication Network Lab
SB (Service Broker)SB (Service Broker)
SB 的主要工作 Maintain 加入此 Cloud 中所有成員的資訊
• IP address , video segment…等等 參考 Service Requests (SR) 中的 QoS 參數
• delay , jitter ,和 packet loss ratio 等等 回覆 Peer
• 回送一個在資料庫中最佳的 Segment list 給此 Peer
13
Department of Electrical EngineeringNational Sun Yat-Sen University
Computer Communication Network Lab
QNP (Quality Negotiation Protocol)QNP (Quality Negotiation Protocol)
QoS Negotiation • 當 Cloud 無法提供符合此 QoS 要求的 Segment list
• 為此 Peer 另外選擇 QoS 要求較低 ( 如較少 SVC 維度層級 ) 的 Segment list
14
Department of Electrical EngineeringNational Sun Yat-Sen University
Computer Communication Network Lab
SB & QNP SB & QNP 流程流程
15
1. 發送j oi n message給SB
此j oi n request 是否被SB接受?
NO
2. 週期性傳送PN message至SB
YES
3. 發送buyi ng message至SB
自SB收到的是Sel l i ng message
?
從接收到的Sel l i ng message中,直接發送Segment request,向指定peer請求segment
傳送
YES
NO
是否繼續要求其它 segment?
YES
滿意此Negoti ati on之結果?
嘗試重新發送j oi n request
修改來自於cl i ent的buyi ng message中的
segment request l i st,並回送給cl i ent
YES
NO
hal tNO
4. 將收到的segments存放於buff er中,等待decoder進行decodi ng動作
Department of Electrical EngineeringNational Sun Yat-Sen University
Computer Communication Network Lab
Handshaking Messages Handshaking Messages
Join Message Peer 發送 Join message 給 SB
PN Message Peer 週期性的發送至 SB Peer 的 Segments information
Buying Message Peer 發送 Buying message 給 SB Buying message 是所需 Segments 的清單
16
Department of Electrical EngineeringNational Sun Yat-Sen University
Computer Communication Network Lab
Buying MessagesBuying Messages
Buying Messages 情況一:
若所需的 Segments 皆存在其它 Peers 中 發送給要求端一個 Selling Message 回傳最佳的 Segments 抓取清單給請求端的 Peer
情況二: 若找不到所需的 Segment 資訊 有較低 QoS 品質的 Segments 可供抓取 透過發送 Modify message 與 Peer 進行 Negotiation
情況三: 若 Peer 接受此 Negotiation 則根據 Modify message 再次進行 segment request 若 Peer 無法接受此 negotiation 則決定是否提出其它不同的 QoS 請求。
17
Department of Electrical EngineeringNational Sun Yat-Sen University
Computer Communication Network Lab
Future Works
在在 LinuxLinux 平台平台 實作實作 TorrentTorrent 抓取與重組演算法抓取與重組演算法 實作實作 SB SB 與 與 QNPQNP 演算法演算法
在在 Cloud ComputingCloud Computing 平台平台 SB: Name Node/Job TrackerSB: Name Node/Job Tracker Peer: Data Node/Task TrackerPeer: Data Node/Task Tracker QNP: Data Node and Name NodeQNP: Data Node and Name Node