This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Path Diversity with Forward Error Correction (PDF) System
for Packet Switched Networks
Thinh Nguyen, Avideh Zakhor
INFOCOM 2003. Twenty-Second Annual Joint Conference of the IEEE Computer and Communications Societies. IEEE , Volume: 1 , 30 March-3 April 2003 Pages:663 - 672 vol.1
Agenda
IntroductionMotivationProposed System
Overview Architecture Redundant Path Selection
SimulationsConclusion & Comments
Introduction
Video Streaming is a delay sensitive application
Possible solutions include Layered video codecs Error resilient codecs Forward error correction TCP-friendly protocol Edge architecture
Introduction
Most schemes assume a single fixed path between the receiver and the sender throughout the session
If congestion happens along that path, video suffers from high loss rate and jitter.
Previous studies show sub-optimal routing path exists.
Path Diversification System with Forward error correction (PDF) is proposed
Introduction
Recent works and models suggest redundancy path between nodes in the Internet
The Question is whether there exists sufficiently disjoint paths between a pair of senders and receivers on the Internet
Motivation
Scheme 1 800kbps on default path
Scheme 2 400kbps on default path
400kbps on disjoint, redundancy path
Number of successive lost packets is smaller in scheme 2. Scheme 2 transforms the bursty loss into uniform loss Increase in the FEC efficiency
Motivation - Experiment
FEC RS(30, 23)
Packet Size 500 bytes
Total Sending Rate 800 kbps
SenderReceiver
Average good time
Average bad time
(1 sec, 10ms)
(1 sec, 10-50ms)
A
B
Motivation - Experiment
a. Packets divided equally at 15 packets each
b. When the average bad time of B increases, more packets are sent on path A.
a. Multipath can be 15 times higher than unipath
b. Even the loss rate of path B is five times higher than path A, sending packets simultaneously over two paths still benefits.
System Architecture
Router
Sender Receiver
Relay Node
Physical Network
Overlay Network
Sender Receiver
Relay Node A
1. Sender executes traceroute from itself to all relay nodes and receiver.
2. Link latencies and router names are obtained.
3. Sender instructs relay nodes to execute traceroute from themseleves to receiver.
4. Send the path information back to the sender
Traceroute
Traceroute
Traceroute
Traceroute
Relay Node C
Relay Node B
System Overview
Sender Receiver
1. Sender executes traceroute from itself to all relay nodes and receiver.
2. Link latencies and router names are obtained.
3. Sender instructs relay nodes to execute traceroute from themseleves to receiver.
4. Send the path information back to the sender
(S, Rec, 201us)
(S, RN_B, 73us)
(S, RN_C, 51us)
(S, RN_A, 100us)
Relay Node A
Relay Node C
Relay Node B
Sender Receiver
1. Sender executes traceroute from itself to all relay nodes and receiver.
2. Link latencies and router names are obtained.
3. Sender instructs all relay nodes to execute traceroute from themseleves to receiver.
4. Send the path information back to the sender
Command (traceroute, receiver)
Command (traceroute, receiver)
Command (traceroute, receiver)
Relay Node A
Relay Node C
Relay Node B
Sender Receiver
1. Sender executes traceroute from itself to all relay nodes and receiver.
2. Link latencies and router names are obtained.
3. Sender instructs all relay nodes to execute traceroute from themseleves to receiver.
4. Send the path information back to the sender
(RN_A, Rec,24us)
(RN_C, Rec,95us)
Relay Node A
Relay Node C
Relay Node B
(RN_B, Rec,130us)
(RN_A, Rec,24us)
(RN_B, Rec,130us)
(RN_C, Rec,95us)
Sender Receiver
5. The sender, based on the information received , select the redundant path.
6. Sender sends the setup packet to that selected relay node, containing flow ID, IP address and the port number of the receiver.
7. The relay node builds up a table for forwarding packets.
8. Each time, the sender attaches the flow ID in sending packets for relay node to where it should forward to.
Relay Node A
Relay Node C
Relay Node B Default path
Redundant path
Sender Receiver
5. The sender, based on the information received , select the redundant path.
6. Sender sends the setup packet to that selected relay node, containing flow ID, IP address and the port number of the receiver.
7. The relay node builds up a table for forwarding packets.
8. Each time, the sender attaches the flow ID in sending packets for relay node to where it should forward to.
Relay Node A
Relay Node C
Relay Node B
Setup Command (flowID, recvIP, recvPort)
Sender Receiver
5. The sender, based on the information received , select the redundant path.
6. Sender sends the setup packet to that selected relay node, containing flow ID, IP address and the port number of the receiver.
7. The relay node builds up a table for forwarding packets.
8. Each time, the sender attaches the flow ID in sending packets for relay node to where it should forward to.