Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
P2P IPTV: CMDC Polly Huang Department of Electrical Engineering National Taiwan University
Outline <ul><li>Motivation </li></ul><ul><li>Key components </li></ul><ul><ul><li>Peer capability estimation </li></ul></u...
Motivation <ul><li>Any device can share its content by </li></ul><ul><ul><li>Bandwidth peering (P2P network) </li></ul></u...
Multiple Description Coding <ul><li>MDC-STHI MDC with Spatial-Temporal Hybrid Interpolation </li></ul>Add redundancy 6 4 2...
Heterogeneity of Mobile IPTV
A Rising Problem <ul><li>Mobile devices as the video sources? </li></ul><ul><li>http:// www.ithome.com.tw/itadm/article.ph...
Simple Experiments <ul><li>Assume the original data is MPEG-4 </li></ul><ul><li>P4 3.6GHz, 1G Ram , 320x240 WebCam, FPS = ...
P-M 1.8G CPUs for cell phones? Not for now
CMDC?
Technical Issues in CMDC <ul><li>Who can do the job? </li></ul><ul><ul><li>Peer capability estimation </li></ul></ul><ul><...
Source Node <ul><li>Capability estimation </li></ul><ul><ul><li>Periodic probing (every 64 seconds) </li></ul></ul><ul><li...
Peer Capability Estimation <ul><li>Periodic probing (every 32 seconds) </li></ul><ul><ul><li>C f   = no. of F segments the...
Peer Information Exchange Consuming Peer Providing Peer (1) Buffer map request (including capability) (2) Buffer map respo...
Buffer Map (MDC) <ul><li>Carry 3 kinds of information </li></ul><ul><ul><li>MDC type </li></ul></ul><ul><ul><li>Status of ...
Buffer Map (MP4) <ul><li>We can define arbitrary amount of statuses </li></ul><ul><li>Status mapping example 0001 : (NOASS...
The Timeline of a Segment <ul><li>(NOASSIGNED)  Unable to encode (DOWNLOAD)  Downloaded by other peers </li></ul><ul><li>(...
Scheduling <ul><li>Two-Phase Scheduling </li></ul><ul><ul><li>Providing peer scheduling (phase I) </li></ul></ul><ul><ul><...
Flow Chart  Consuming peer Providing peer (1) Buffer map request (including capability) (2) Buffer map response (including...
PlanetLab Experiments <ul><li>100 peers </li></ul><ul><li>420Kbps video (MDC F+Q 530Kbps) </li></ul><ul><li>Each experimen...
Continuity Index PC Fast NB Slow PC NB Slow NB PDA Smart Phone
Buffer Level
Computation Load
With Heterogeneous Peers <ul><li>Peers with different computing power </li></ul><ul><ul><li>Strong peers: Finish one segme...
Continuity Index
Buffer Level
Computation Load
Questions?
Upcoming SlideShare
Loading in …5
×

P2P IPTV: CMDC Polly Huang

782 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

P2P IPTV: CMDC Polly Huang

  1. 1. P2P IPTV: CMDC Polly Huang Department of Electrical Engineering National Taiwan University
  2. 2. Outline <ul><li>Motivation </li></ul><ul><li>Key components </li></ul><ul><ul><li>Peer capability estimation </li></ul></ul><ul><ul><li>Peer information exchange </li></ul></ul><ul><ul><li>Job scheduling </li></ul></ul><ul><ul><li>Encoding priority decision </li></ul></ul><ul><li>Experimental results </li></ul><ul><li>Conclusion </li></ul>
  3. 3. Motivation <ul><li>Any device can share its content by </li></ul><ul><ul><li>Bandwidth peering (P2P network) </li></ul></ul><ul><ul><li>Computation peering (CMDC) </li></ul></ul>
  4. 4. Multiple Description Coding <ul><li>MDC-STHI MDC with Spatial-Temporal Hybrid Interpolation </li></ul>Add redundancy 6 4 2 0 7 5 3 1 ... ... ... ... 6 4 2 0 ... ... 1 3 5 7 7 5 3 1 ... ... 2 4 6 0 O q E f E q O f
  5. 5. Heterogeneity of Mobile IPTV
  6. 6. A Rising Problem <ul><li>Mobile devices as the video sources? </li></ul><ul><li>http:// www.ithome.com.tw/itadm/article.php?c =44159 </li></ul><ul><ul><li>明年 3.5G 上傳頻寬昇級至 1.5M </li></ul></ul><ul><ul><li>加速 3.5G 網路系統頻寬,中華電信與台哥大明年計劃昇級現有網路上傳與下載頻寬,讓使用者可用更短的時間下載或上傳分享影片、音樂。 </li></ul></ul><ul><ul><li>2007/7/3 </li></ul></ul>
  7. 7. Simple Experiments <ul><li>Assume the original data is MPEG-4 </li></ul><ul><li>P4 3.6GHz, 1G Ram , 320x240 WebCam, FPS = 20 </li></ul><ul><li>Use CPUKiller to control the CPU load </li></ul><ul><li>Source node tries to do as much as possible </li></ul>CPU load 0% 20% 40% 60% 80% F+Q ratio 100% 100% 2% 2% 2% F ratio 0% 0% 98% 98% 85% MP4 ratio 0% 0% 0% 0% 13%
  8. 8. P-M 1.8G CPUs for cell phones? Not for now
  9. 9. CMDC?
  10. 10. Technical Issues in CMDC <ul><li>Who can do the job? </li></ul><ul><ul><li>Peer capability estimation </li></ul></ul><ul><ul><li>Capability information exchange </li></ul></ul><ul><li>How to share the job? </li></ul><ul><ul><li>Job scheduling </li></ul></ul><ul><li>How to decide the transcoding order? </li></ul><ul><ul><li>Transcoding priority decision </li></ul></ul>
  11. 11. Source Node <ul><li>Capability estimation </li></ul><ul><ul><li>Periodic probing (every 64 seconds) </li></ul></ul><ul><li>Encoding type decision </li></ul><ul><ul><li>Q+F, F, MPEG-4 </li></ul></ul><ul><li>Bit rate adjustment </li></ul><ul><ul><li>Try to fit the available bandwidth </li></ul></ul>
  12. 12. Peer Capability Estimation <ul><li>Periodic probing (every 32 seconds) </li></ul><ul><ul><li>C f = no. of F segments the peer can handle in t swarm </li></ul></ul><ul><ul><li>C q = no. of Q segments </li></ul></ul><ul><li>Capability discount </li></ul><ul><ul><li>The load of the current tasks must be covered. </li></ul></ul>
  13. 13. Peer Information Exchange Consuming Peer Providing Peer (1) Buffer map request (including capability) (2) Buffer map response (including assignment) (3) Segment request (4) Segment transmission
  14. 14. Buffer Map (MDC) <ul><li>Carry 3 kinds of information </li></ul><ul><ul><li>MDC type </li></ul></ul><ul><ul><li>Status of the segment </li></ul></ul><ul><ul><li>Estimated # of downloads </li></ul></ul>0 0 0 0 Ef Eq Of Oq
  15. 15. Buffer Map (MP4) <ul><li>We can define arbitrary amount of statuses </li></ul><ul><li>Status mapping example 0001 : (NOASSIGNED) Unable to encode 0010 : (ASSIGNED) The peer will handle this job 0011 : (DOWNLOAD) Downloaded by other peers </li></ul><ul><li>0100 : (ENCODE) Currently processing the job 0101 : (SERVER_ASSIGNED) Assigned by the server </li></ul>No. of downloads Status tag
  16. 16. The Timeline of a Segment <ul><li>(NOASSIGNED) Unable to encode (DOWNLOAD) Downloaded by other peers </li></ul><ul><li>(ASSIGNED) The peer will handle this job </li></ul><ul><li>(ENCODE) Currently processing the job (SERVER_ASSIGNED) Assigned by the server </li></ul>Issued No-assign Download Assigned Start encoding Finish MDC MP4
  17. 17. Scheduling <ul><li>Two-Phase Scheduling </li></ul><ul><ul><li>Providing peer scheduling (phase I) </li></ul></ul><ul><ul><ul><li>Generate proper buffer map responses </li></ul></ul></ul><ul><ul><li>Receiving peer scheduling (phase II) </li></ul></ul><ul><ul><ul><li>After receiving all the buffer map responses </li></ul></ul></ul><ul><ul><ul><li>Generate download & encoding plan </li></ul></ul></ul>
  18. 18. Flow Chart Consuming peer Providing peer (1) Buffer map request (including capability) (2) Buffer map response (including assignment) (3) Segment request (4) Segment transmission Phase-I Scheduling Phase-II scheduling Encoding priority decision
  19. 19. PlanetLab Experiments <ul><li>100 peers </li></ul><ul><li>420Kbps video (MDC F+Q 530Kbps) </li></ul><ul><li>Each experiment lasts 5400 seconds </li></ul><ul><li>t swarm = 4 seconds </li></ul><ul><li>Membership size = 8 – 11 peers </li></ul><ul><li>Partnership size = 6 partners </li></ul>
  20. 20. Continuity Index PC Fast NB Slow PC NB Slow NB PDA Smart Phone
  21. 21. Buffer Level
  22. 22. Computation Load
  23. 23. With Heterogeneous Peers <ul><li>Peers with different computing power </li></ul><ul><ul><li>Strong peers: Finish one segment in 2.0-2.5 seconds </li></ul></ul><ul><ul><li>Weak peers: Finish one segment in 12.0-12.5 seconds </li></ul></ul><ul><li>Different ratio of strong/weak peers are mixed </li></ul>
  24. 24. Continuity Index
  25. 25. Buffer Level
  26. 26. Computation Load
  27. 27. Questions?

×