Presentation is loading. Please wait.

Presentation is loading. Please wait.

Effective Utilization of User-Contributed Resources in Peer-Assisted Video-on-Demand Systems HONGYANG LI, Research Intern at University of Victoria, Victoria,

Similar presentations


Presentation on theme: "Effective Utilization of User-Contributed Resources in Peer-Assisted Video-on-Demand Systems HONGYANG LI, Research Intern at University of Victoria, Victoria,"— Presentation transcript:

1 Effective Utilization of User-Contributed Resources in 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-VoD Systems 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 Effective Utilization of User-Contributed Resources in PA-VoD Systems Model and Algorithms Two categories in the system: HD or SD users. r S =500MKbps; r H =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) Descriptions and Assumptions …… Playback point SD For a SD movie, 16*512*64Kb = 512M HD HD, 32*512*64Kb = 1G Seg 1: 3: 403 Seg 1: 3: 402 Seg 6: 5: 38 Seg 6: 5: 39 1Kb One block (pack) …… Seg 1: 3: 404 Seg 1: 3: 418 lastPointer Local Cache Window (size = 15segs) Time Old Principals for being a Helper: a.Must watch a SD segment now; why? b.Must have HD contents. Principals for being a Helper: a.Must watch a SD segment now; why? b.Must have HD contents. a.A HD viewer will never be a helper; b.A SD viewer who has NO HD contents can’t neither.

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

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

6 Effective Utilization of User-Contributed Resources in PA-VoD Systems Model and Algorithms Two fatal shortcomings of the previous model : a.HD viewers can only ask CERTAIN helpers, because of content bottleneck. b.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 Substream 1. b. Each peer only gets 5-10 neighbor peers’ information. (code design) 1 “View-Upload Decoupling: A Redesign of Multi-Channel P2P Video Systems”, Di Wu, Chao Liang, Yong Liu and Keith Ross. INFOCOM, 2009 …………… Local Cache Time Old SD SEGS HD SEGS Ss1 Ss2 Divide every HD seg into 8 parts, each Substream size= 8Kb* numOfSeg 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! Each helper can help any HD viewer if it has abundant bandwidth within a movie channel! …… Ss8 S1 S4 S3 S2 S5

7 Effective Utilization of User-Contributed Resources in PA-VoD Systems 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 replyToRateOffered fun. If the offered-rate is over 64(Kb), start connection; else, stop connection. Once connected, send segment, data management and update peerlist. Peer 1: Peer 2: 1. RR Tools: Python, Matlab and PlanetLab 2. CP 3. SC Send seg Leaky Bucket Recv Msg And Update PL DATA Socket, Multi-Thread, Network programming, classes, Object-oriented programming!

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

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

10 Effective Utilization of User-Contributed Resources in PA-VoD Systems 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-VoD Systems Tools: Python, Matlab and PlanetLab packetMaker.py - Make packets for different requests. def makeHearBeatMessage(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] typemsglenmsgdata ‘ECS404’‘HB’8 watching Movie watching Seg help Movie help Seg

12 Effective Utilization of User-Contributed Resources in PA-VoD Systems 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 http://francislee2020.weebly.com E-MAIL: hongyangli2020@gmail.comhongyangli2020@gmail.com AND I stick to the webb!!haha :D


Download ppt "Effective Utilization of User-Contributed Resources in Peer-Assisted Video-on-Demand Systems HONGYANG LI, Research Intern at University of Victoria, Victoria,"

Similar presentations


Ads by Google