1 / 12

Effective Utilization of User-Contributed Resources in Peer-Assisted Video-on-Demand Systems

Effective Utilization of User-Contributed Resources in Peer-Assisted Video-on-Demand Systems. HONGYANG LI, R esearch Intern at University of Victoria, Victoria, BC, Canada 2012. 8 – 2012.9 Under the Supervision of Dr. Pan and Le . From Dalian University of Technology, Liaoning, China.

fagan
Download Presentation

Effective Utilization of User-Contributed Resources in Peer-Assisted Video-on-Demand Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Effective Utilization of User-Contributed Resourcesin Peer-Assisted Video-on-Demand Systems HONGYANG LI, Research Intern at University of Victoria, Victoria, BC, Canada 2012. 8 – 2012.9 Under the Supervision of Dr. Pan and Le From Dalian University of Technology, Liaoning, China

  2. Effective Utilization of User-Contributed Resources in PA-VoDSystems Project Background • Computer Networks – Peer to Peer(P2P) Network • Each peer(computer) acts as a client/server for others; • Allows shared access to various resources; • No need for a central server; • Requires every peer to use the same or a compatible program; FOR RESOURCE SHARING ! • Peer-assisted video-on-demand (PA-VoD) systems • VoD System vs. Live Streaming ? • VoD Enables you to create a library of your own videos • - watch it anytime, any content CACHE MANAGEMENT • Two options of VoD: • streaming video on demand; downloadable VOD

  3. Descriptions and Assumptions Effective Utilization of User-Contributed Resources in PA-VoDSystems Model and Algorithms • Two categories in the system: HD or SD users. rS=500MKbps; rH=1000 • Each peer holds a different uploadLimit, 400, 500, 800. While downloadLimit is infinite. • Peer has a fixed cache size of 1GB, which can store 1 HD movie or 2 SD movies(512M). Movie-(Group Segment, 512)-Segment(64Kb)-Block(1Kb) Local Cache Window (size = 15segs) Time Old Seg 1: 3: 404 Seg 1: 3: 418 Seg 6: 5: 38 Seg 6: 5: 39 Seg 1: 3: 402 Seg 1: 3: 403 One block (pack) 1Kb 1Kb 1Kb Principals for being a Helper: Must watch a SD segment now; why? Must have HD contents. lastPointer Playback point For a SD movie, 16*512*64Kb = 512M HD, 32*512*64Kb = 1G A HD viewer will never be a helper; A SD viewer who has NO HD contents can’t neither.

  4. Effective Utilization of User-Contributed Resources in PA-VoDSystems Assumea typical SD chain: Model and Algorithms Peer 4 P13 P67 P2 500 400 400 Inner-chain Help 800 400 400 500 100 100 After peers on the chain are satisfied, a inter-chain help is launched. Two things must keep in mind: Cache Management; Bandwidth Allocation

  5. Effective Utilization of User-Contributed Resources in PA-VoDSystems Assumea typical SD chain: Model and Algorithms Peer 4 P25 P50 P13 P67 P4 P2 P1 500 800 800 400 500 400 Inner-chain Help Inter-chain Help 800 800 400 800 400 500 500 400 100 100 After peers on the chain are satisfied, a inter-chain help is launched. Two things must keep in mind: Cache Management; Bandwidth Allocation 100 HDchain: (first inner help also) 100 200 500 Any questions now?  From the SERVER, a peer who has infinite uploadLimit and any contents. In this case, SBC = 200+500 = 700MKps

  6. Effective Utilization of User-Contributed Resources in PA-VoDSystems Model and Algorithms Two fatal shortcomings of the previous model : HD viewers can only ask CERTAIN helpers, because of content bottleneck. Global info of the system is unknown(This is a distributed network, in real world), so getting the full chain list is not feasible. Solutions: a. Use Substream1. b. Each peer only gets 5-10 neighbor peers’ information. (code design) • Divide every HD seg into 8 parts, each Substream size= 8Kb*numOfSeg • Each helper can help any HD viewer if it has abundant bandwidth within a movie channel! Time Old Local Cache HD SEGS SD SEGS S1 S3 S2 S4 S5 Ss2 Ss8 Ss1 …… 1 “View-Upload Decoupling: A Redesign of Multi-Channel P2P Video Systems”, Di Wu, Chao Liang, Yong Liu and Keith Ross. INFOCOM, 2009

  7. Effective Utilization of User-Contributed Resources in PA-VoDSystems Tools: Python, Matlab and PlanetLab Peer 1: 1. RR Peer 2: 3. SC Leaky Bucket • P1 makes a ‘RR’ package and P2 receives the msg. • Through receiveManager, call self.replyToAskRate(ip, port, rate) function. • P2 sends ‘CP’ package back to P1, and P1 calls replyToRateOfferedfun. • If the offered-rate is over 64(Kb), start connection; else, stop connection. • Once connected, send segment, data management and update peerlist. Recv Msg And Update PL DATA 2. CP Send seg Socket, Multi-Thread, Network programming, classes, Object-oriented programming!

  8. Effective Utilization of User-Contributed Resources in PA-VoDSystems Tools: Python, Matlab and PlanetLab Codes Block Diagram • Playback: • Plays movie if segment is available Connection: Connects two peers according to recvMan order. + The above chart is made by Tushar, modified by Francis

  9. Effective Utilization of User-Contributed Resources in PA-VoDSystems Tools: Python, Matlab and PlanetLab • peer.py – the main thread and beginning of all files.

  10. Effective Utilization of User-Contributed Resources in PA-VoDSystems Tools: Python, Matlab and PlanetLab • receiveManager.py – Receive request packets from other peers and execute corresponding functions based on msgtype.

  11. Effective Utilization of User-Contributed Resources in PA-VoDSystems Tools: Python, Matlab and PlanetLab • packetMaker.py - Make packets for different requests. defmakeHearBeatMessage(self): …… pack = struct.pack('!6s2sHHHHH', 'ECS404', 'HB', 8, watchingMovie, …, helpSeg) return pack How to unpack them? In the receiveManager.py! checkpack, addr = self.peer.s.recvfrom(1024) msgdata = checkpack[10:10+msglen] watchingMovie = struct.unpack('!H',msgdata[0:2])[0] watchingSeg = struct.unpack('!H',msgdata[2:4])[0]

  12. Effective Utilization of User-Contributed Resources in PA-VoDSystems Related and Future Work To do list: • Modify the codes and deploy the files on PlanetLab; • Simulation results(bandwidth efficiency, SBC, etc.) • Try different models. And a few more thanks… HOMEPAGE (FOR FUN): http://francislee2020.weebly.com E-MAIL: hongyangli2020@gmail.com AND I stick to the webb!!haha:D

More Related