presenter : kuei -yu hsu advisor : dr . kai-wei ke oral defense date : 2014/7/30

104
點點點點點點點點點點點點點點點點點點點點點 Implementation and performance evaluation of a Peer-to-Peer Real-time streaming media system PRESENTER : KUEI-YU HSU ADVISOR : DR. KAI-WEI KE ORAL DEFENSE DATE : 2014/7/30

Upload: colorado-morse

Post on 01-Jan-2016

27 views

Category:

Documents


1 download

DESCRIPTION

點對點即時串流分享傳輸系統之研製與效能 評估 Implementation and performance evaluation of a Peer-to-Peer Real-time streaming media system. Presenter : Kuei -Yu Hsu Advisor : Dr . Kai-Wei Ke Oral Defense Date : 2014/7/30. Outline. Introduction Network Structure Multicast Transmission P2P Streaming System - PowerPoint PPT Presentation

TRANSCRIPT

Implementation and Performance Evaluation of a Peer-to-Peer Real-time streaming media system

Implementation and performance evaluation of a Peer-to-Peer Real-time streaming media systemPresenter: Kuei-Yu HsuAdvisor: Dr. Kai-Wei KeOral Defense Date: 2014/7/301OutlineIntroductionNetwork StructureMulticast Transmission P2P Streaming SystemOverlay NetworkMPEG-2 Transport StreamSystem ImplementationStreaming Encode moduleNetwork Management moduleStreaming Transfer moduleRouting Algorithm moduleStreaming Decode moduleSystem Result & EvaluationConclusion2Introduction33Network Structure(Client-Server)

4userstreaming applicationvideoaudiocontentbandwidthANYONE can access the video/audio content freely from Internet ANYTIME and ANYWHERE.client-serveruseruserapplicationsserverconnectionperformance, scalabilitycost

4Network Structure (cont.)(Content Delivery Network, CDN)(Cluster)(Distributed)

5serverclientservercontentsCDNclientserverclientserverclientCDNserverproxy server

CDN Benefits:Maximizing bandwidth utilizationReducing the response time for the end-usersAchieving higher throughput through replicating content---

clientpeerserverpeerstoragebandwidth

5Network Structure (cont.)(Peer-to-Peer, P2P)

6Network Structure (cont.) Hybrid CDN-P2P

7p2pCDN-P2P7Multicast Transmission (cont.)8(IP Multicast, IPM)Internet Group Management Protocol (IGMP)

8Multicast Transmission(Application Layer Multicast, ALM)IPM9

ALMP2PIP multicast

IPP2PIP

9Overlay Network10

(Overlay Network)

10P2P Streaming System (Push)

11

11P2P Streaming System (Pull)

12

---

12MPEG-2 Transport Stream13MPEG Bit Stream:Elementary stream (ES): MPEG-2access unitsESDigital Control DataDigital Audio (sampled and compressed)Digital Video (sampled and compressed)Digital Data (synchronous, or asynchronous)

Packetized elementary stream(PES): PacketizerES14ES:access units: video frameFor example, in video, an access unit will usually be a complete encoded video frame

Packetizer: a video compressor or data formatted14Two Kind of Data StreamingProgram Stream(PS): PS(Program)DVD

Transport Stream(TS):188 bytesTS(Program)DVB-TIPTV

PESPESPESPSTSTSPES1 Part1PES1 Part2TSPES1 Part3TSPESn Partm15TS15Single Program TS process

1616Multiple Programs TS process

17TS Packet Encapsulation (cont.)TSIP/UDP/RTPEthernet1370 bytesUDP7188 bytesTS

(14 bytes + 20 bytes + 8 bytes + 12 bytes) + 188 bytes * 7 = 54 bytes overhead + 1316 byte payload = 1370 bytes

18TS Packet Encapsulation

7 TS packets19 TS Header AnalysisTS188 bytes = 4 bytes header + 184 bytes payloadTS:Sync Byte: Packet Identifier (PID): (e.q. Video, Audio)Continuity Counter(CC): 0~15TSProgram Counter Reference(PCR):

20TS188 bytes = 4 bytes header + 184 bytes payloadAdaption FieldTSpayload

1. : TS Header8 bitsSync Byte0x47Sync Byte188 bytesTS

2. ID: PID13 bitsTSESAudio ESVideo ESPIDPIDTS

3. : CC4 bits (0~15)

4. : PCRRTPtimestampAdaption FieldTS20System Implementation21System interaction5

:::::

22multisource22System modules flow

23Streaming Encode moduleVLC command-line

> vlc -I dummy vvv input-stream --sout "#transcode{vcodec=h264,vb=800,scale=1,acodec=mpga,ab=128,channels=2,samplerate=44100}:rtp{dst=127.0.0.1,port=5004,mux=ts}> vlc -I dummy vvv dshow:// --sout "#transcode{vcodec=h264,vb=800,scale=1,acodec=mpga,ab=128,channels=2,samplerate=44100}:rtp{dst=127.0.0.1,port=5004,mux=ts}24VLC command-linevlc24System modules flow

25Network Management module(Input/Output Completion Port, IOCP)Windows(Input/Output)IOCPMicrosoftWindowsAPI(asynchronous)(multiple thread)I/OI/OWindowsI/O

26I/O IOCPWinSock(Windows Socket)26IOCP Asynchronous:I/O:

27IOCP Architecture & flowIOCP(thread pool)I/OI/O

2828System modules flow

29Streaming Transfer moduleRTP

30Streaming Transfer module(overflow)(empty)

3131Streaming Transfer module2333

3232System modules flow

33Routing Algorithm module

: ALM(Distributed Multisource Forwarding Trees, DMFT)(Cluster-based Distributed Multisource Forwarding Trees, CDMFT)

: BitTorrent3434DMFT(Neighbor Information Table, NIT):NIT

(Data Forwarding Table, DFT):DFTNITMember IPHop CountIPDFTSource IPNext Peers IPParent IP3535Five MechanismNIT(Heart Beat, HB)36Update NIT (cont.)NITNIT

3737Update NIT

3838

39

40

4141DMFT flow chart

(1) Member Join(2) Construct Routing Tree(3) Prune Duplicate Path(4) Recover Tree Structure(5) Inquire at regular time42CDMFT(Cluster-based Distributed Multisource Forwarding Trees, CDMFT)CDMFT

43Pull-based Streaming SystemBitTorrentRTP44

System modules flow

45Streaming Decode moduleVLC-Qt LibraryVLC media playerQt C++VLC-Qt LibraryQtLibVLC LibraryQtQt: SkypeVLC media playerAdobe Photoshop ElementsVirtualBoxLibVLC LibraryVLC media playerLibVLC: FreeTuxTVKamosoSopCast Player

46System Result & Evaluation47P2P Streaming System

48Streaming Media Dialog

49Testing Environment6:Catalyst 3560-eight portsCisco 1800 Series-two ports94

50Testing ToolsWireshark:TelephonyRTPPacket loss

TSReader:TSContinuity Error

51Test MethodsP2PP2P(Multiple Unicast)(Packet loss)(Continuity)NetLimiterP2P

52

53

P2P systemVLC UnicastUnicast streaming54

P2P streaming system results

55

P2P3P4Conclusion56ConclusionP2PDMFTCDMFTBitTorrent57Thanks for listening58

59DMFT ExampleA joinB joinC joinD joinE joinA send data to BC send data to EA leave the group

60A Join61

62A NITA DFTA

63B Join64A NITA

A DFT

65A NITB5A DFTA

66A NITB5AB NITA5B DFTB

A DFT

67A NITB5AB NITA5B DFTBAB

ABA DFTAB-B DFTBA-

68C Join69A NITB5AB NITA5B

ABA DFTAB-B DFTBA-

70A NITB5AB NITA5C5B

ABAC NITC DFTCA DFTAB-B DFTBA-

71A NITB5AB NITA5C5B

ABC NITB5CCA DFTAB-B DFTBA ,C-C DFT

72A NITB5AB NITA5C5B

ABC NITB5CCBA DFTAB-B DFTBA ,C-C DFTCB-

73A NITB5AB NITA5C5B

ABC NITB5CCBA DFTAB-B DFTBA ,C-C DFTCB-

74A NITB5C6AB NITA5C5B

ABC NITB5CBCBA DFTAB-B DFTBA ,C-C DFTCB-

75A NITB5C6AB NITA5C5B

ABC NITB5A6CCCB{C}A DFTAB-B DFTBA ,C-C DFTCB-

76A NITB5C6AB NITA5C5B

ABC NITB5A6CCCBA{C}{A}A DFTAB-B DFTBA ,C-CACC DFTCB-

77D Join78A NITB5C6AB NITA5C5B

ABC NITB5A6CCCBA{C}{A}A DFTAB-B DFTBA ,C-CACC DFTCB-

79A NITD4B5C6AB NITA5C5B

ABC NITB5A6CCCBA{C}{A}B ,CD NITD DFTDA DFTAB-B DFTBA ,C-CACC DFTCB-

80A NITD4B5C6AB NITA5C5B

ADC NITB5A6CCBA{B ,C}{A}D NITA4DA DFTAD-B DFTBA ,C-CACC DFTCB-D DFT

81A NITD4B5C6AB NITA5C5B

ADC NITB5A6CCBA{B ,C}{A}D NITA4DAA DFTAD-B DFTBA ,C-CACC DFTCB-D DFTDA-

82A NITD4B5C6AB NITA5C5D5B

ADC NITB5A6CCBA{B ,C}{A}D NITA4DAA ,CA DFTAD-B DFTBA ,C-CACC DFTCB-D DFTDA-

83A NITD4B5C6AB NITA5C5D5B

ADC NITB5A6CCBA{B ,C}{A}D NITA4B5DADA DFTAD-B DFTBA ,C ,D-CACC DFTCB-D DFTDA-

84A NITD4B5C6AB NITA5C5D5B

ADC NITB5A6CCBA{B ,C}{A}D NITA4B5DAD{B}BA DFTAD-DBDB DFTBA ,C ,D-CACC DFTCB-D DFTDA-

85A NITD4B5C6AB NITA5C5D5B

ADC NITB5A6D6CCBA{B ,C}{A}D NITA4B5DAD{B}BA ,BA DFTAD-DBDB DFTBA ,C ,D-CACC DFTCB-D DFTDA-

86A NITD4B5C6AB NITA5C5D5B

ADC NITB5A6D6CCBA{B ,C}{A ,D}D NITA4B5C6DAD{B}BDA DFTAD-DBDB DFTBA ,C ,D-CA ,DCC DFTCB-D DFTDA-

87A NITD4B5C6AB NITA5C5D5B

ADC NITB5A6D6CCBA{B ,C}{A ,D}D NITA4B5C6DAD{B ,C}BDC{C}A DFTAD-DBDB DFTBA ,C ,D-CA ,DCDCAC DFTCB-D DFTDA-

88A NITD4B5C6AB NITA5C5D5B

ADC NITB5A6D6CCBA{B ,C}{A ,D}D NITA4B5C6DAD{B ,C}BDC{C}B{C}A DFTAD-DBDB DFTBA ,C ,D-CA ,DCDCAC DFTCB-D DFTDA-ABA

89B DFTBA ,C ,D-CA ,DCDCAACDA NITD4B5C6AB NITA5C5D5B

ADC NITB5A6D6CCBA{B ,C}{A ,D}D NITA4B5C6DAD{B ,C}BDC{C}B{C}CA DFTAD-DBDC DFTCB-D DFTDA-ABA

90E Join91A NITE3D4B5C6AB NITA5C5D5E6B

ADC NITB5A6D6E7CCBA{B ,C}{A ,D ,E}D NITA4B5E5C6DAD{B ,C ,E}BDC{C}B{C}CE NITA3D5B6C7E DFTEA-ADADBAE{D ,B ,C}EAE{D ,B ,C}D{B ,C}B{C}CE{B ,C}E{E}{E}A DFTAE-DEDBEBCEBEDEB DFTBA ,C ,D-CA ,DCDCEACDC DFTCB-D DFTDA-ABAEBA

92A NITE3D4B5C6AB NITA5C5D5E6B

ADC NITB5A6D6E7C{B ,C}D NITA4B5E5C6DAD{B ,C ,E}BC{C}B{C}CE NITA3D5B6C7E{D ,B ,C}EAE{D ,B ,C}D{B ,C}B{C}CE{B ,C}{E}CBA{A ,D ,E}DE{E}A DFTAE-DEDBEBCEBEDEB DFTBA ,C ,D-CA ,DCDCEACDC DFTCB-D DFTDA-ABAEBAE DFTEA-ADADBA

93A send data to B94A NITE3D4B5C6AB NITA5C5D5E6B

ADC NITB5A6D6E7C{B ,C}D NITA4B5E5C6DAD{B ,C ,E}BC{C}B{C}CE NITA3D5B6C7E{D ,B ,C}EAE{D ,B ,C}D{B ,C}B{C}CE{B ,C}{E}CBA{A ,D ,E}DE{E}A DFTAE-DEDBEBCEBEDEB DFTBA ,C ,D-CA ,DCDCEACDC DFTCB-D DFTDA-ABAEBAE DFTEA-ADADBA

95A NITE3D4B5C6AB NITA5C5D5E6B

ADC NITB5A6D6E7C{B ,C}D NITA4B5E5C6DAD{B ,C ,E}BC{C}B{C}CE NITA3D5B6C7E{D ,B ,C}EAE{D ,B ,C}D{B ,C}B{C}CE{B ,C}{E}CBA{A ,D ,E}DE{E}A DFTAE-DEDBEBCEBEDEB DFTBA ,C ,D-CA ,DCDCEACDC DFTCB-D DFTDA-ABAEBAE DFTEA-ADADBA

96A NITE3D4B5C6AB NITA5C5D5E6B

ADC NITB5A6D6E7C{B ,C}D NITA4B5E5C6DAD{B ,C ,E}BC{C}B{C}CE NITA3D5B6C7E{D ,B ,C}EAE{D ,B ,C}D{B ,C}B{C}CE{B ,C}{E}CBA{A ,D ,E}DE{E}A DFTAE-DEDBEBCEBEDEB DFTBA ,C ,D-CA ,DCDCEACDC DFTCB-D DFTDA-ABAEBAE DFTEA-ADADBA

97C send data to E98A NITE3D4B5C6AB NITA5C5D5E6B

ADC NITB5A6D6E7C{B ,C}D NITA4B5E5C6DAD{B ,C ,E}BC{C}B{C}CE NITA3D5B6C7E{D ,B ,C}EAE{D ,B ,C}D{B ,C}B{C}CE{B ,C}{E}CBA{A ,D ,E}DE{E}A DFTAE-DEDBEBCEBEDEB DFTBA ,C ,D-CA ,DCDCEACDC DFTCB-D DFTDA-ABAEBAE DFTEA-ADADBA

99A NITE3D4B5C6AB NITA5C5D5E6B

ADC NITB5A6D6E7C{B ,C}D NITA4B5E5C6DAD{B ,C ,E}BC{C}B{C}CE NITA3D5B6C7E{D ,B ,C}EAE{D ,B ,C}D{B ,C}B{C}CE{B ,C}{E}CBA{A ,D ,E}DE{E}A DFTAE-DEDBEBCEBEDEB DFTBA ,C ,D-CA ,DCDCEACDC DFTCB-D DFTDA-ABAEBAE DFTEA-ADADBA

100A NITE3D4B5C6AB NITA5C5D5E6B

ADC NITB5A6D6E7CCBA{B ,C}{A ,D ,E}D NITA4B5E5C6DAD{B ,C ,E}BDC{C}B{C}CE NITA3D5B6C7E{D ,B ,C}EAE{D ,B ,C}D{B ,C}B{C}CE{B ,C}E{E}{E}A DFTAE-DEDBEBCEBEDEB DFTBA ,C ,D-CA ,DCDCEACDC DFTCB-D DFTDA-ABAEBAE DFTEA-ADADBA

101A Leave Group102E DFTED-ADADBDD DFTDE-ABAEBEB DFTBA ,C ,D-CA ,DCDCEACDA DFTAE-DEDBEBCEBEDEA NITE3D4B5C6AB NITA5C5D5E6B

ADC NITB5A6D6E7CCBA{B ,C}{A ,D ,E}D NITA4B5E5C6DDB{C}CE NITA3D5B6C7E{D ,B ,C}EE{D ,B ,C}D{B ,C}B{C}CE{E}{E}DA{B ,C ,E}BC{C}E{B ,C}AC DFTCB-

103B NITC5D5E6B

C NITB5D6E7CCB{D ,E}D NITB5E5C6DDE NITD5B6C7EED{B ,C}B{C}CE{E}{E}DBC{C}E{B ,C}B DFTBC ,D-CDCDCEC DFTCB-D DFTDE-EBEE DFTED-DBD

104