1 / 12

Receiver-driven Layered Multicast

Receiver-driven Layered Multicast. Steven McCanne, Van Jacobson and Martin Vetterli. ACM SIGCOMM, Stanford California August 1996. Problem. Network heterogeneity One output to multiple users with varied capabilities How to decide the rate? Minimum? Maximum?

rufus
Download Presentation

Receiver-driven Layered Multicast

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. Receiver-driven Layered Multicast Steven McCanne, Van Jacobson and Martin Vetterli ACM SIGCOMM, Stanford California August 1996

  2. Problem • Network heterogeneity • One output to multiple users with varied capabilities • How to decide the rate? • Minimum? Maximum? • How to determine network capacity?

  3. Solution? • Multiple levels of quality across multiple network channels • Receivers decide their own rates of reception • Note, requires layered media streams

  4. Layered Video Stream • One channel per layer • Layers are additive • Adding more channels gives better quality • Adding more channels requires more bandwidth

  5. The RLM Protocol • High level abstraction • on congestion, drop a layer • on spare capacity, add a layer • Q: How does the receiver decide? • detection time • capacity inference

  6. Determining Capacity • At a “well-chosen” time conduct a join experiment • If congestion is experienced, leave the new group • If no congestion for awhile, try to join next • higher group

  7. Project 2: Mini-RLM • Three programs • Server: send video on all channels • Router: receive video, ‘route’ appropriate channels to client • Player: receive video, probe for capacity, play video

  8. Mini RLM Send video Send appropriate channels to player Play video Probe for bandwidth

  9. Mini Video Taking a Walk 0 | | Taking a Walk 0 | / \ Taking a Walk 0 | | • Text-based frames • One frame per second on each channel • sleep! alarm! setitimer!

  10. Video Scaling • Receiver Channel 1: 1 4 7 Time  Channel 2: 2 5 8 Channel 3: 3 6 9 • Base case, channel 1 only: Channel 1: 1 4 7 ... • If more bandwidth: Channels 1-2: 12 45 78 ... • Full quality: Channels 1-3: 123456789 ...

  11. IP Multicast Client-Server Server socket() Client bind() socket() sendto() recvfrom() Data close() close() • Same as UDP client server! • Multicast requires special address (reserved) • A few socket options • No two-way communication

  12. IP Multicast • Server • Send to 239.0.0.1 to 239.255.255.255 addr.sin_addr.s_addr = inet_addr(239.0.0.1); • Port • Receiver struct ip_mreq mreq; mreq.imr_multiaddr.s_addr = inet_addr(239.0.0.1); mreq.imr_interface.s_addr = htonl(INADDR_ANY); setsockopt(sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreq, sizeof(mreq))

More Related