Mobile, Multimedia and Beyond - PowerPoint PPT Presentation

1 / 46
About This Presentation
Title:

Mobile, Multimedia and Beyond

Description:

Napster, Gnutella, Edonkey, Usenet, and so on. A wider bandwidth of access network ... CMU : bootstrapping (e.g. Gnutella) Our choice ... – PowerPoint PPT presentation

Number of Views:93
Avg rating:3.0/5.0
Slides: 47
Provided by: West5
Category:

less

Transcript and Presenter's Notes

Title: Mobile, Multimedia and Beyond


1
Design and Implementation of Overlay Multicast
Tree Protocol
Jeonghun Noh Eric Setton Professor Bernd Girod
2
Outline
  • Introduction
  • Internet multicast
  • Peer-to-peer multicast
  • Our overlay multicast system
  • Cross layer approach
  • An overall system architecture
  • Operation of the protocol
  • Simulation setup results
  • Conclusion future work

3
Internet multicast
  • What is multicast?
  • Involves more than two communicating hosts
  • Two categories
  • One sender to multiple receivers
  • Multiple senders to multiple receivers
  • Example
  • TCP, UDP are unicast protocol
  • DVMRP, MOSPF were widely used multicast protocol
  • Mbone (multicast testbed) was born in 1992
  • Stands for Multicast backbone
  • Tunnel-based overlay network on the IP internet
  • About 1500 subnets in 1995 (less than 3 of the
    Internet)

4
Why IP multicast isnt popular?
  • Its too slow
  • One shared backbone network
  • Restricted scalability in terms of the number of
    sessions
  • Router equipment venders were skeptical
  • A proven need of multicast apps is lacking
  • Routers may become a bottleneck due to state
    maintenance
  • Passive network is more robust than active
    network
  • Alternatives get more popular
  • Server-Client model (one-to-one connection) is
    successful
  • Contents delivery network (ex. Akamai)

5
A new approach emerges
  • Peer-to-peer file delivery works very well
  • Napster, Gnutella, Edonkey, Usenet, and so on
  • A wider bandwidth of access network
  • From 56k Modem to xDSL, cable modem (a few Mbps
    of downlink)
  • Abundant unused network resource
  • Multicast paradigm shift
  • What we have
  • enough resource and powerful end-user PCs
  • Rely on networks ----gt Do everything on edge
    hosts

6
Existing peer-to-peer multicast
  • (Reliable) Distributed systems
  • NICE (Univ. of Maryland)
  • To construct a single efficient tree structure
  • Pastry (Microsoft) and Tapestry (UC Berkeley)
  • Scalable resource lookup using Distributed Hash
    Table
  • Multimedia distribution
  • End System Multicast (CMU)
  • CoopNet (MicroSoft)

7
Outline
  • Introduction
  • Internet multicast
  • Peer-to-peer multicast
  • Our overlay multicast system
  • Cross layer approach
  • An overall system architecture
  • Operation of the protocol
  • Simulation setup results
  • Conclusion future work

8
Cross layer design
  • Most existing literature is not aware of video
    application characteristics
  • Retransmission is important
  • One missing packet can result in severe damage to
    many peers
  • ESM relies on TCP retransmission (quick time
    player uses HTTP)
  • MS CoopNet adapts to local congestion based on
    packet loss
  • Both use multiple trees and MDC for robustness
  • Our goal is to integrate
  • Path Diversity
  • CoDiO packet scheduling
  • Encoding method tailored to network situation
  • Identification of issues in designing a new
    protocol
  • scalability robustness efficiency user
    experience

9
An overall system architecture
Source peer
(ordinary) peer
  • As a passive peer (like a server)
  • Respond to Hello
  • Forward video on attachment request
  • Detect child leave and discard it
  • Decides the number of trees
  • Distributes video to its direct peer
  • Maintains a member list (not accurate)
  • Moderate effort to keep the list updated
  • Responds to peer join request
  • As an active peer (like a client)
  • Join / leave a session
  • Detect parent leave and react
  • Send hello messages to parents
  • Note
  • Load balance between source and other peers
  • Common in high-performance end users

10
Protocol network architecture
VIDEO RECEIVERS
VIDEO SOURCE
Video player
Video Encoder
buffer
Overlay Multicast Layer
Overlay Multicast Layer
UDP
UDP
IP
IP
11
Protocol state diagram
User command Timer expires state flow
JOIN
PROBE
OFFLINE
LEAVE
REJOIN
ONLINE
ATTACH
HELLO
12
Join procedure design phase
  • Source On Join request from a new peer
  • How many parent candidates?
  • too many traffic overhead, (negative) impact on
    other peers
  • too small low efficiency, higher failure rate
    to join at one time
  • Our decision N number of trees (N is obtained
    empirically)
  • Whom to choose?
  • Recent first, or random selection (our choice)
  • New peer Which parent to choose?
  • Several metrics
  • Available bandwidth
  • Diversity
  • RTT ( from a parent peer or source peer )
  • Number of hops ( from a source peer )
  • Join each tree INDEPENDENTLY or in a COUPLED way

13
Join procedure 6 way handshaking
JOIN REQUEST
PROBE
ATTACH
SOURCE
PARENT CANDIDATES
PARENT
NEW PEER
14
Leave procedure Explicit leave
SERVER
Parent
Leaving Host
Child
Child
15
Hello protocol - overview
  • Why do we need this?
  • Hosts may leave ungracefully
  • Need to keep track of neighbors to check if alive
  • Two design approaches
  • Approach 1 To every neighbor
  • Used in mobile ad Hoc network
  • More complex
  • Different handling of its parent and children
  • Approach 2 To its parent only for each tree
  • Less traffic
  • Still needs to be bidirectional (expects parent
    response)

16
Hello protocol timer mechanism
Parent leave detection
Timer expiration points
CHILD say hello to parent
1st no reply
2nd no reply
Time flow
Notice of parent leave
Time flow
PARENT respond to child
Parent leaves ungracefully
17
Parent ungraceful leave
Host 0 will
Parent 0
  • Detect the leave via hello
  • When the leave is detected
  • 1. Ask other parents for rejoin
  • (can use extra control plane)
  • 2. ask for retransmission of
  • missing video packets
  • 3. If things dont work well, rejoin through
    server.
  • -gt explicit leave message to
  • host 0s children

Parent 1
Host 0
Parent 2
Child
Child
18
Local retransmission
When
A video packet is lost
A parent host leaves
I am happy.
I missed a packet. Lets choose a parent to ask
for it
19
Outline
  • Introduction
  • Internet multicast
  • Peer-to-peer multicast
  • Our overlay multicast system
  • Cross layer approach
  • An overall system architecture
  • Operation of the protocol
  • Simulation setup results
  • Conclusion future work

20
Simulation setup - source
  • Video source peer
  • video stream (encoded by H.264 with SP/SI frames)
  • Video rate 676Kbps
  • Parent candidate list size 5 number of trees
    ( tentative )
  • Number of trees gt 1 ( equal bit rate per tree )
  • Starts streaming on simulation beginning
  • Distributes video packet to trees in round robin
  • Host characteristics
  • Resides in the middle of the network
  • Uplink bandwidth 5Mbps (support 7 children in
    case of one tree)

21
Simulation setup - receiver
  • Video receiver
  • Resides on the edge of the network
  • Uplink bandwidth 1Mbps 4Mbps (access bw
    distribution)
  • Downlink bandwidth uplink bandwidth 3
  • Heterogeneous access networks DSL, dialup/cable
    modem, LAN
  • Repeat of join and ungraceful leave
    (scheduled for each receiver)

High join rate (1 / sec)
Off
On
Low leave rate(0.03/sec)
22
NAM Snapshot (100 nodes)
23
Performance evaluation
  • Protocol states
  • Join time, first tree min 0.2 s , max 0.4 s
  • Leave detection min 1.8 s , max 2.1 s
  • Re-join time min 1.0 s , max 1.2 s
  • (since last video packet received)

Simulations over ns-2 Number of hosts
40 Playout deadline 1 sec Number of trees
4 Average bandwidth 2video Minimum online
length 10s
24
Influence of the bandwidth
  • Average bandwidth
  • 1.1 Mbps

Average bandwidth 1.3 Mbps
Average bandwidth 1.5 Mbps
Sequence rate 676 kbps Playout deadline 1
sec Number of hosts 40 Length of simulation 60s
25
Average tree heights (active peers only)
26
Simulation overhead (CPU usage)
27
Protocol overhead (additional traffic)
28
Video quality over all peers
29
Video quality vs the number of trees
30
Conclusion Future work
  • Design and implementation of
  • Building and maintaining of variable multiple
    trees
  • Parent / child leave detection rejoin procedure
  • Implementation of a simple retransmission
    functionality
  • Heterogeneous receiver setup based on real
    statistics
  • Testbed design tool
  • Future work
  • Design more realistic simulations
  • Optimization of the timer expiration interval for
    each protocol state
  • Improve retransmission mechanism
  • Distortion optimized scheduling
  • Comparison with other schemes

31
Acknowledgement
  • Work done as an independent study with Prof.
    Bernd Girod
  • I thank Prof. Bernd Girod for
  • introducing such an interesting topic and
  • a feedback on the first stage report
  • I thank Eric Setton for
  • his valuable collaboration on code integration
    and
  • uncountable discussions on simulation results and
    project progress
  • Thank all of you for attending the meeting for
    this talk

32
Additional Slides
  • Mbone map
  • End System Multicast Mechanism
  • CoopNet Mechanism
  • Local retransmission details
  • Simulation Setup edge link bandwidth
  • Etc.

33
The topology of the Mbone
May, 1994
34
Mbone map (as of July 1993)
Existing research based on peer-to-peer
35
End System Multicast
Unicast (server-client)
  • Developed at CMU (Proceedings of ACM SIGMETRICS,
    2000)
  • NARADA protocol
  • Single tree, on top of mesh topology
  • Simulation and internet experiment are performed
  • We can download their client program at
    http//esm.cs.cmu.edu/

Overlay multicast
36
CoopNet (MS)
  • Centralized tree construction

37
Source peer
  • Decides the number of distribution trees
  • Keeps a member list (potentially not accurate)
  • Member list updates when
  • A new host reports attachment
  • A host informs of explicit leave
  • A child of a parent leaving ungracefully reports
    the leave
  • Server does its best to keep it updated with
    smallest effort
  • Responds to host join request
  • Distributes video to its direct children

38
Other peers
  • As an active peer ( client in server-client model
    )
  • Join / leave a session
  • Detect parent leave and react
  • Send hello messages to parents
  • As a passive peer ( like a server )
  • React to hello messages
  • Forward video on attachment request
  • Discard a child if no more hello messages arrive
  • Note
  • More burden on receivers than on server
  • Common in high-performance clients

39
Join procedure - philosophy
  • Centralized vs. Distributed Algorithm
  • Whether a server maintains a tree topology
  • Subtle meaning of distributed
  • Who should a new host contact?
  • Hybrid p2p server
  • Pure p2p peers
  • How to maintain a membership list
  • Examples
  • Microsoft a dedicated server (e.g. Napster)
  • CMU bootstrapping (e.g. Gnutella)
  • Our choice
  • Distributed tree construction with video source
    for initial contact

40
Leave Protocol What to do
SERVER
Discards a leaving host from the list
Discards the child from forwarding Table
Parent
  • Sends Leave message to its children
    Recursively
  • Rejoin

Child
41
Local Retransmission
  • Request Generation
  • Requestee Selection
  • Sending Scheduling of request packet
  • Request Processing
  • Request Reply Processing

42
Hello protocol
APPROACH 2
lt Tree 0 gt
Parent
Hello
Hello Reply
Child
Child
43
Simulation Setup edge link bandwidth
44
Hello packet interarrival (sample trace)
45
Simulation topics
  • (X)PSNR vs tree count
  • (O)PSNR vs peers
  • (X)Tree height vs PSNR
  • (X)Video packet interarrival Time
  • (O) peers vs average tree height
  • (O)PSNR vs tree count 118 (for a group of 300
    nodes only)
  • (X)Hello packet interarrival over simulation time
  • (O)CPU time vs peers
  • (O) abundant group vs starving group
  • (planned) comparison of jitter w/ packetization
  • (O)Control overhead

46
Algorithms evaluation via Simulation
  • Member selection Algorithm (for server) on join
    request
  • Parent candidates selection Algorithm (for
    receiver)
  • Jointly (for initial join) , individually
  • Multiple tree counts selection Algorithm (for
    server)
  • Factors topology type, RTT distribution,
    session group size
  • Rejoin Algorithm (for receiver)
  • Retransmission Request / Reply routine
Write a Comment
User Comments (0)
About PowerShow.com