Download - Sewook-CS218Project_
11
Audio Streaming over Audio Streaming over Bluetooth Scatternet: Bluetooth Scatternet: using Adaptive Link using Adaptive Link LayerLayer
Team members: Sewook Jung, Jungsoo Lim, Soon Young Team members: Sewook Jung, Jungsoo Lim, Soon Young OhOh
Tutor: Ling-Jyh ChenTutor: Ling-Jyh Chen
Professor Mario GerlaProfessor Mario Gerla
CS218 – Fall 2003CS218 – Fall 2003
22
OutlinesOutlines
BackgroundBackground Adaptive Automatic Retransmission Adaptive Automatic Retransmission
ReQuest (ARQ) Retransmission ReQuest (ARQ) Retransmission Timeout (RTO)Timeout (RTO)
Previous ResearchPrevious Research Related workRelated work ImplementationsImplementations SimulationsSimulations ConclusionConclusion Future WorkFuture Work
33
BackgroundBackground
Multimedia contents are prosperous Multimedia contents are prosperous – Eg. MP3 audio Eg. MP3 audio
Wireless Personal Area Network (PAN) needs Wireless Personal Area Network (PAN) needs to support multimediato support multimedia
The varying nature of the wireless link can The varying nature of the wireless link can make streaming over wireless a challenging make streaming over wireless a challenging problemproblem
Packets are arrived to client with a consistent Packets are arrived to client with a consistent raterate
44
Background (cont’d)Background (cont’d)
ARQ mechanismARQ mechanism– Packets being dropped/delayed in bad linkPackets being dropped/delayed in bad link– Beneficial to non-real-time trafficBeneficial to non-real-time traffic– Need modifications for real-time/streaming trafficNeed modifications for real-time/streaming traffic
ARQ retransmission limitARQ retransmission limit– Too highToo high
Packets are severely delayedPackets are severely delayed Streaming audio/video quality is degradedStreaming audio/video quality is degraded
– Too lowToo low large number of packets are dropped at the link layerlarge number of packets are dropped at the link layer Also causes poor audio quality.Also causes poor audio quality.
55
An Adaptive ARQ RTOAn Adaptive ARQ RTO
Original BluetoothOriginal Bluetooth– stop-and-wait ARQstop-and-wait ARQ scheme at link layer scheme at link layer
packet is retransmitted until receives ACK packet is retransmitted until receives ACK or retransmission timeout (RTO) is or retransmission timeout (RTO) is exceeded.exceeded.
– In most current Bluetooth chipsetsIn most current Bluetooth chipsets the default RTO is infinitethe default RTO is infinite To provide reliable link.To provide reliable link.
– Infinite RTO degrades real-time Infinite RTO degrades real-time streaming audio/video qualitystreaming audio/video quality
66
Previous ResearchPrevious Research
Fixed ARQ RTOFixed ARQ RTO– Use a fixed finite RTOUse a fixed finite RTO– Impossible to accommodate all different link Impossible to accommodate all different link
qualities with one fixed value.qualities with one fixed value. Adaptive ARQ RTOAdaptive ARQ RTO
– Adjust RTO by measurement of previous RTTAdjust RTO by measurement of previous RTT– Improvement on average delay time and the Improvement on average delay time and the
packet success ratepacket success rate
RTT increase --RTT increase --decrease ARQ RTOdecrease ARQ RTO
RTT decrease --RTT decrease -- increase ARQ RTOincrease ARQ RTO
77
Previous Research Previous Research (cont’d)(cont’d)
The RTO equationThe RTO equationSRTT’ = (1- SRTT’ = (1- ) X SRTT + ) X SRTT + X RTT X RTT (1)(1)
X RTO; if RTT < SRTTX RTO; if RTT < SRTT (2)(2)
RTO’ =RTO’ = X RTO; if RTT > SRTT X RTO; if RTT > SRTT
RTO; if previous packet is RTO; if previous packet is droppeddropped
SRTT = smooth RTT, SRTT = smooth RTT, = 1.1 = 1.1 ββ = 0.9 = 0.9 = 0.25 = 0.25
88
Previous Research Previous Research (cont’d)(cont’d) Set the upper bound and lower Set the upper bound and lower
bound for ARQ RTObound for ARQ RTO RTORTOmin min = 2 X T= 2 X Tpackets packets (= 6*625ms in (= 6*625ms in
DH5)DH5) RTORTOmax max = T= Tpackets packets X Max(Available Buffer X Max(Available Buffer
X 75%, 2)X 75%, 2)TTpacketpacket = time interval between first packet = time interval between first packet fragments and last fragments’ ACKfragments and last fragments’ ACKAvailable buffer = (system maximum input Available buffer = (system maximum input buffer – buffer – used buffer)/packet size used buffer)/packet size
99
Previous Research Previous Research (cont’d)(cont’d) Adaptive ARQ RTO ResultsAdaptive ARQ RTO Results
– Enhance the streaming audio quality Enhance the streaming audio quality remarkablyremarkably
– Robust solution for Robust solution for real-time/streaming data over real-time/streaming data over wireless network.wireless network.
1010
Related workRelated work
TCP-Friendly Rate Control (TFRC): TCP-Friendly Rate Control (TFRC): equation based TCP rate controlequation based TCP rate control
Video Transport Protocol (VTP): sender Video Transport Protocol (VTP): sender adjust the sending rate based on adjust the sending rate based on estimated eligible rateestimated eligible rate
RAP: End-to-end Rate Based Control: RAP: End-to-end Rate Based Control: mimics TCP’s AIMD behaviormimics TCP’s AIMD behavior
RCS: A Rate Control Scheme: source RCS: A Rate Control Scheme: source probes the connection with dummy probes the connection with dummy packets, and adjust sending ratepackets, and adjust sending rate
1111
ImplementationsImplementations
Blueware: Blueware: – Developed by MITDeveloped by MIT– Bluetooth simulator as an extension Bluetooth simulator as an extension
to NSto NS– Various Scatternet formation and Various Scatternet formation and
link scheduling schemes.link scheduling schemes.
1212
Implementations Implementations (cont’d) (cont’d)
Applications
L2CAP
Bluetooth Radio
Host Controller Interface
Bluetooth Baseband
LMP
Bluetooth Stack
1313
Implementations Implementations (cont’d) (cont’d)
Topology formationTopology formation Manipulate the topology formationManipulate the topology formation
– Set position of nodes manuallySet position of nodes manually– Original Blueware has only random topology formationOriginal Blueware has only random topology formation
The examples of topology formations:The examples of topology formations:
1 hop 2 hops 3 hops
2 flows 3 flows
1414
Implementations Implementations (cont’d)(cont’d)Original MethodOriginal MethodApplication L2CAPApplication L2CAP L2CAP HCI/LCL2CAP HCI/LC Receiver Receiver
LayerLayer Queue Queue Layer LayerLayer Layer
RTT < RTO
RTT
Partial RTT
1515
Implementations Implementations (cont’d)(cont’d)Original MethodOriginal MethodApplication L2CAPApplication L2CAP L2CAP HCI/LCL2CAP HCI/LC Receiver Receiver
LayerLayer Queue Queue Layer LayerLayer Layer
Partial RTT > RTO
RTT
Partial RTT HCI_FLUSH
1616
Implementations Implementations (cont’d)(cont’d) Next Packet Drop Next Packet DropApplication L2CAPApplication L2CAP HCI/LCHCI/LC ReceiverReceiver
LayerLayer Layer Layer LayerLayer
RTT1 < RTO
RTT1
RTT2
1717
Implementations Implementations (cont’d)(cont’d) Next Packet Drop Next Packet DropApplication L2CAPApplication L2CAP HCI/LCHCI/LC ReceiverReceiver
LayerLayer Layer Layer LayerLayer
RTT1 > RTO
RTT2 < RTO
RTT1
RTT2
1818
Implementations Implementations (cont’d)(cont’d)Flow ControlFlow ControlApplication L2CAPApplication L2CAP L2CAP HCI/LCL2CAP HCI/LC Receiver Receiver
LayerLayer Queue Queue Layer LayerLayer Layer
RTT < RTO
RTT
1919
Implementations Implementations (cont’d)(cont’d)Flow ControlFlow ControlApplication L2CAPApplication L2CAP L2CAP HCI/LCL2CAP HCI/LC Receiver Receiver
LayerLayer Queue Queue Layer LayerLayer Layer
RTT > RTO
RTT
2020
Implementations Implementations (cont’d)(cont’d)Flow ControlFlow ControlApplication L2CAPApplication L2CAP L2CAP HCI/LCL2CAP HCI/LC Receiver Receiver
LayerLayer Queue Queue Layer LayerLayer Layer
RTT < RTODrop Queue size = 5
RTT
2121
Implementations Implementations (cont’d)(cont’d) Generating Packet ErrorGenerating Packet Error
– Blueware supports packet error rate Blueware supports packet error rate (PER) instead of bit error rate (BER)(PER) instead of bit error rate (BER)
– DH5 mode is used for all RTP packets DH5 mode is used for all RTP packets where packet size is 2712 bits and a where packet size is 2712 bits and a packet length is five Bluetooth slotspacket length is five Bluetooth slots
– PERPER is defined as is defined asP = 1 – (1 – b)P = 1 – (1 – b)ss
b = bit error rate, s = packet size b = bit error rate, s = packet size
2222
Implementations Implementations (cont’d)(cont’d) Generating Packet Error (Cont’d)Generating Packet Error (Cont’d) Burst ErrorsBurst Errors
– once the error starts, the probability of once the error starts, the probability of having an error in the next bit is having an error in the next bit is extraordinarily high such as 90%. extraordinarily high such as 90%.
– If the burst error occurs in the middle of If the burst error occurs in the middle of the packet, it may not affect the next the packet, it may not affect the next packet.packet.
– However, if it occurs at the end of the However, if it occurs at the end of the packet, there is a great probability of packet, there is a great probability of affecting the next packet. affecting the next packet.
2323
Implementations Implementations (cont’d)(cont’d)
Good
Bad
Pbg
Pgb
PbbPgg
Burst Error transition diagramBurst Error transition diagram
Bit error rate: Bit error rate: Pgg: 1-BER Pgb: BER Pgg: 1-BER Pgb: BER
Pbb: 0.9 Pbg: 0.1Pbb: 0.9 Pbg: 0.1
2424
Experiment ResultsExperiment Results
Adaptive RTOAdaptive RTO2 Nodes (BER 10e-6)
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
1 51 101 151 201
Number of Packets
Dela
y
0
0.05
0.1
0.15
0.2
0.25
RTT
SRTT
RTO
2525
Experiment Results Experiment Results (cont’d)(cont’d)
Next Packet Drop Thro.
0.00E+00
2.00E+04
4.00E+04
6.00E+04
8.00E+04
1.00E+05
1.20E+05
1.40E+05
1.00E-04 1.00E-05 1.00E-06 1.00E-07 1.00E-08
next160
next400
next1200
fix160
fix400
fix1200
noRTO
Throughput of Next packet drop (2nodes)Throughput of Next packet drop (2nodes)
2626
Experiment Results Experiment Results (cont’d)(cont’d)
Next Packet Drop Delay
0.0000
0.1000
0.2000
0.3000
0.4000
0.5000
0.6000
0.0001 0.00001 0.000001 0.0000001 0.00000001
next160
next400
next1200
fix160
fix400
fix1200
noRTO
Delay of Next packet drop (2nodes)Delay of Next packet drop (2nodes)
2727
Experiment Results Experiment Results (cont’d)(cont’d)
Throughput
0.00E+00
2.00E+04
4.00E+04
6.00E+04
8.00E+04
1.00E+05
1.20E+05
1.40E+05
1.60E+05
1.00E-04 1.00E-05 1.00E-06 1.00E-07 1.00E-08
Bit Error Rate
Pack
et T
hrou
ghpu
t
adap160
adap400
adap1200
fix160
fix400
fix1200
noRTO
Throughput of Flow control (2nodes)Throughput of Flow control (2nodes)
2828
Experiment Results Experiment Results (cont’d)(cont’d)
Packet Delay
0.0000
0.1000
0.2000
0.3000
0.4000
0.5000
0.6000
0.0001 0.00001 0.000001 0.0000001 0.00000001
Bit Error Rate
Ave
rage
Del
ay T
ime
adap160
adap400
adap1200
fix160
fix400
fix1200
noRTO
Delay of Flow control (2nodes)Delay of Flow control (2nodes)
2929
Experiment Results Experiment Results (cont’d)(cont’d) Packet Success Rate with 2 NodesPacket Success Rate with 2 Nodes
2 Nodes
0.00
20.00
40.00
60.00
80.00
100.00
120.00
1.00E-04 1.00E-05 1.00E-06 1.00E-07 1.00E-08
Bit Error Rate
Packet
Su
ccess R
ate
Fixed /160
Fixed /400
Fixed /1200
Adaptive /225
3030
Experiment Results Experiment Results (cont’d)(cont’d) Packet Success Rate with 3 NodesPacket Success Rate with 3 Nodes
3 Nodes
0.00
20.00
40.00
60.00
80.00
100.00
120.00
1.00E-04 1.00E-05 1.00E-06 1.00E-07 1.00E-08
Bit Error Rate
Packet
Su
ccess R
ate
Fixed /160
Fixed /400
Fixed /1200
Adaptive /225
3131
Experiment Results Experiment Results (cont’d)(cont’d) Packet Success Rate with 5 NodesPacket Success Rate with 5 Nodes
5 Nodes
0.00
20.00
40.00
60.00
80.00
100.00
120.00
1.00E-04 1.00E-05 1.00E-06 1.00E-07 1.00E-08
Bit Error Rate
Packet
Su
ccess R
ate
Fixed /160
Fixed /400
Fixed /1200
Adaptive /225
3232
Experiment Results (cont’d)Experiment Results (cont’d)
FairnessFairness– TopologyTopology
– Fairness in 2 flows topologyFairness in 2 flows topology– Unfairness in 3 flows topologyUnfairness in 3 flows topology
2 flows 3 flows
3333
0.00E+00
5.00E+04
1.00E+05
1.50E+05
2.00E+05
2.50E+05
3.00E+05
1.00E-04 1.00E-05 1.00E-06 1.00E-07 1.00E-08
0->4
1->5
Total
Experiment Results (cont’d)Experiment Results (cont’d)2 Flows (Adaptive RTO : Next packet 2 Flows (Adaptive RTO : Next packet
drop)drop)
3434
Experiment Results (cont’d)Experiment Results (cont’d)3 Flows (Adaptive RTO : Next packet 3 Flows (Adaptive RTO : Next packet
drop)drop)
0.00E+00
5.00E+04
1.00E+05
1.50E+05
2.00E+05
2.50E+05
1.00E-04 1.00E-05 1.00E-06 1.00E-07 1.00E-08 no error
0->5
1->6
2->7
Total
3535
Experiment Results (cont’d)Experiment Results (cont’d)3 Flows (No RTO)3 Flows (No RTO)
0.00E+00
5.00E+04
1.00E+05
1.50E+05
2.00E+05
2.50E+05
1.00E-04 1.00E-05 1.00E-06 1.00E-07 1.00E-08 no Error
0->5
1->6
2->7
Total
3636
Experiment Results (cont’d)Experiment Results (cont’d)Success Rate of Random Error vs. Burst ErrorSuccess Rate of Random Error vs. Burst Error
Random Error vs. Burst Error
0.00
10.00
20.00
30.00
40.00
50.00
60.00
70.00
80.00
90.00
100.00
1.00E-04 1.00E-05 1.00E-06 1.00E-07 1.00E-08
bit error rate
Su
cces
s R
ate
(%)
Random Error
Burst Error
3737
ConclusionConclusion Success rates were about the same among Success rates were about the same among
next packet drop, flow control, and fixed next packet drop, flow control, and fixed RTO approachRTO approach
Next packet drop method improved Next packet drop method improved average delay, but throughput sufferedaverage delay, but throughput suffered
Flow control method did not improve Flow control method did not improve throughput nor delaythroughput nor delay
Unfairness detected in 3 flow topologyUnfairness detected in 3 flow topology Negligible difference in experiment results Negligible difference in experiment results
between the bit error model and the burst between the bit error model and the burst error modelerror model
3838
Future WorkFuture Work Intelligent HCI_FLUSH Intelligent HCI_FLUSH
– Previous HCI_FLUSH deletes packets based on Previous HCI_FLUSH deletes packets based on connection_handleconnection_handle
– All packets contain All packets contain connection_handle informationconnection_handle information
– HCI packet header or baseband headerHCI packet header or baseband header cid informationcid information
– L2CAP headerL2CAP header
– Remove packets which have specific connection_handle Remove packets which have specific connection_handle or cid or cid
Intelligent RTO Intelligent RTO – Adjust RTO based on jitterAdjust RTO based on jitter– New RTO equation:New RTO equation:
jitter = RTT – Tjitter = RTT – Tpacketspackets ( = 6 *625ms in DH5) ( = 6 *625ms in DH5) RTO = RTO - jitterRTO = RTO - jitter
– RTT > TRTT > Tpackets packets RTO decrease RTO decrease – RTT < TRTT < Tpackets packets RTO increaseRTO increase
3939
Future Work (cont’d)Future Work (cont’d)
Combination of Adaptive Packet Type Combination of Adaptive Packet Type (APT) and Adaptive RTO(APT) and Adaptive RTO– Combine adaptive RTO scheme with adaptive Combine adaptive RTO scheme with adaptive
packet type (i.e. DH5, DH3, DH1, DM5, DM3, packet type (i.e. DH5, DH3, DH1, DM5, DM3, DM1)DM1)
– Choose the best packet type for different BER Choose the best packet type for different BER rangesranges
– Implement the functionality to the Bluetooth Implement the functionality to the Bluetooth LC layerLC layer
– Optimal packet type can be selected Optimal packet type can be selected dynamicallydynamically
4040
ReferencesReferences
J.C. Haartsen, " J.C. Haartsen, " The The BluetoothBluetooth Radio System Radio System," IEEE Personal ," IEEE Personal Communications Magazine, Feb. 2000.Communications Magazine, Feb. 2000.
NS2 Simulator: NS2 Simulator: http://www.http://www.isiisi..eduedu//nsnamnsnam/ns//ns/ L.-J. Chen, R. Kapoor, K. Lee, M. Y. Sanadidi, M. Gerla, " L.-J. Chen, R. Kapoor, K. Lee, M. Y. Sanadidi, M. Gerla, "
Audio Streaming over Audio Streaming over BluetoothBluetooth: An Adaptive ARQ Timeout Approach: An Adaptive ARQ Timeout Approach,","
Reza Rejaie, Mark Handley, Deborah Estrin, "Reza Rejaie, Mark Handley, Deborah Estrin, " RAP: An End-to-end Rate-based Congestion Control Mechanism for RAP: An End-to-end Rate-based Congestion Control Mechanism for RealtimeRealtime Streams in the Internet Streams in the Internet," In Proceedings of IEEE INFOCOM ," In Proceedings of IEEE INFOCOM 1999. 1999.
G. Holland, and N. Vaidya,"G. Holland, and N. Vaidya," Analysis of TCP performance over mobile ad hoc networks Analysis of TCP performance over mobile ad hoc networks ," In ," In Proceedings of ACM Mobicom'99, Seattle, Washington, 1999. Proceedings of ACM Mobicom'99, Seattle, Washington, 1999.
Balk, D. Maggiorini, M. Gerla, and M. Y. Sanadidi, " Balk, D. Maggiorini, M. Gerla, and M. Y. Sanadidi, " Adaptive MPEG-4 Video Streaming with Bandwidth EstimationAdaptive MPEG-4 Video Streaming with Bandwidth Estimation, ", , ", UCLA. UCLA.
J. Tang, G. Morabito, I. F. Akyildiz, and M. Johnson, "J. Tang, G. Morabito, I. F. Akyildiz, and M. Johnson, "RCS: A Rate Control Scheme for Real-Time Traffic in Networks with HRCS: A Rate Control Scheme for Real-Time Traffic in Networks with High Bandwidth-Delay Products and High Bit Error Ratesigh Bandwidth-Delay Products and High Bit Error Rates," In Proceedings of Infocom 2001, Anchorage, AK, 2001. ," In Proceedings of Infocom 2001, Anchorage, AK, 2001.