2003/03/14 an efficient link polling policy by pattern matching for bluetooth piconets ting-yu lin,...
DESCRIPTION
2003/03/14 Introduction Two physical links are supported in Bluetooth: ACL (Asynchronous ConnectionLess) ACL (Asynchronous ConnectionLess) For data traffic.For data traffic. Packets:Packets: DH1, DH3, DH5, DM1, DM3, DM5, AUX1. DH1, DH3, DH5, DM1, DM3, DM5, AUX1. SCO (Synchronous Connection Oriented) SCO (Synchronous Connection Oriented) For time-bounded voice communication.For time-bounded voice communication. Packets:Packets: HV1 (High-quality Voice) : carrying 10 information bytes. HV1 (High-quality Voice) : carrying 10 information bytes. HV2 : carrying 20 information bytes. HV2 : carrying 20 information bytes. HV3 : carrying 30 information bytes. HV3 : carrying 30 information bytes.TRANSCRIPT
2003/03/142003/03/14
An Efficient Link Polling Policy by PatterAn Efficient Link Polling Policy by Pattern Matching for Bluetooth Piconetsn Matching for Bluetooth Piconets
Ting-Yu Lin, Yu-Chee Tseng, and Yuan-Ting LuTing-Yu Lin, Yu-Chee Tseng, and Yuan-Ting Lu
Department of Computer Science and Information EngineeringDepartment of Computer Science and Information EngineeringNational Chiao-Tung University National Chiao-Tung University
National Central UniversityNational Central University
Hawaii International Conference on System SciencesHawaii International Conference on System Sciences(HICSS’03)(HICSS’03)
Speaker: Chung-Hsien HsuSpeaker: Chung-Hsien Hsu
2003/03/142003/03/14
OutlineOutline IntroductionIntroduction PreliminariesPreliminaries The Pattern Matching Polling (PMP) PolicyThe Pattern Matching Polling (PMP) Policy
for one master-slave pairfor one master-slave pair for multiple master-slave pairsfor multiple master-slave pairs
PerformancePerformance ConclusionsConclusions
2003/03/142003/03/14
IntroductionIntroduction Two physical links are supported in Bluetooth:Two physical links are supported in Bluetooth:
ACL (ACL (AAsynchronous synchronous CConnectiononnectionLLess)ess)• For data traffic.For data traffic.• Packets:Packets:
DH1, DH3, DH5, DM1, DM3, DM5, AUX1.DH1, DH3, DH5, DM1, DM3, DM5, AUX1.
SCO (SCO (SSynchronous ynchronous CConnection onnection OOriented)riented)• For time-bounded voice communication.For time-bounded voice communication.• Packets:Packets:
HV1 (HV1 (HHigh-quality igh-quality VVoice) : carrying 10 information bytes.oice) : carrying 10 information bytes. HV2 : carrying 20 information bytes.HV2 : carrying 20 information bytes. HV3 : carrying 30 information bytes.HV3 : carrying 30 information bytes.
2003/03/142003/03/14
Introduction (cont.)Introduction (cont.) [3] “[3] “MAC Scheduling Policies with Reduced Power MAC Scheduling Policies with Reduced Power
Consumption and Bounded Packet Delay for Centrally Consumption and Bounded Packet Delay for Centrally Controlled TDD Wireless NetworksControlled TDD Wireless Networks”, (”, (ICC’01ICC’01))
Proposing a learning function to predict the polling interval for Proposing a learning function to predict the polling interval for each master-slave pair.each master-slave pair.
Advantage:Advantage:• Bandwidth waste is reduced.Bandwidth waste is reduced.• Saving energy.Saving energy.• Bounded packet delay is guaranteed.Bounded packet delay is guaranteed.
Drawback:Drawback:• Learning function is pretty complex.Learning function is pretty complex.• The cost of control messages could be significant.The cost of control messages could be significant.
2003/03/142003/03/14
Introduction (cont.)Introduction (cont.) [2] “[2] “Efficient Polling Schemes for Bluetooth PicoEfficient Polling Schemes for Bluetooth Pico
cellscells”, ”, (ICC’01)(ICC’01) Three polling schemes:Three polling schemes:
• Pure Round RobinPure Round Robin (PRR) (PRR) A fixed serving order.A fixed serving order.
• Exhaustive Round Robin (ERR)Exhaustive Round Robin (ERR) A fixed serving orderA fixed serving order Exhausting each master-slave pair’s payloads in both sides in eExhausting each master-slave pair’s payloads in both sides in e
ach polling.ach polling.• Exhaustive Pseudo-cyclic Master queue length (EMPExhaustive Pseudo-cyclic Master queue length (EMP))
Similar to ERR except.Similar to ERR except. Polling order is dynamically adjusted in each round based on thPolling order is dynamically adjusted in each round based on th
e master’s queues for slaves.e master’s queues for slaves.
2003/03/142003/03/14
Introduction (cont.)Introduction (cont.) [4] “[4] “Enhancing Performance of Asynchronous Data Enhancing Performance of Asynchronous Data
Traffic over the Bluetooth Wireless Ad-hoc NetworkTraffic over the Bluetooth Wireless Ad-hoc Network”, ”, (INFOCOM’01)(INFOCOM’01)
Defining a Defining a flowflow bit bit for each master-slave pair. for each master-slave pair. Three polling strategies:Three polling strategies:
• Adaptive Flow-based Polling (AFP)Adaptive Flow-based Polling (AFP) Dynamically adjusts each slave’s polling interval based on the Dynamically adjusts each slave’s polling interval based on the
corresponding flow bit.corresponding flow bit. Whenever the flow bit is 1, the polling interval is reduced to the Whenever the flow bit is 1, the polling interval is reduced to the
minimumminimum Whenever a poll is replied by a NULL packet, the polling interval is Whenever a poll is replied by a NULL packet, the polling interval is
doubled if a certain upper bound is not exceeded.doubled if a certain upper bound is not exceeded.• Sticky PollingSticky Polling
num_sticky : the maximum number of consecutive polls.num_sticky : the maximum number of consecutive polls. Under the condition that the corresponding flow bit is 1.Under the condition that the corresponding flow bit is 1.
• Sticky Adaptive Flow-based Polling (StickyAFP)Sticky Adaptive Flow-based Polling (StickyAFP)
2003/03/142003/03/14
Introduction (cont.)Introduction (cont.) Deficiencies:Deficiencies:
They all fail to address the asymmetry of traffics They all fail to address the asymmetry of traffics between masters and slaves.between masters and slaves.
The different packet types provided by Bluetooth are The different packet types provided by Bluetooth are not fully exploited to match the traffic need.not fully exploited to match the traffic need.
The ultimate foal of this proposing paper:The ultimate foal of this proposing paper: To reduce the unfilled, or even null, payloads in each To reduce the unfilled, or even null, payloads in each
packet.packet.• The traffic asymmetry problem can be properly handled.The traffic asymmetry problem can be properly handled.
2003/03/142003/03/14
PreliminariesPreliminaries Bluetooth Data PacketsBluetooth Data Packets The ACL Link Polling ProblemThe ACL Link Polling Problem
2003/03/142003/03/14
Preliminaries – Preliminaries – Bluetooth Data PacketsBluetooth Data Packets
Summary of Bluetooth ACL data packets.Summary of Bluetooth ACL data packets.
Bandwidth efficiency : DH5 > DH3 > DM5 > DM3 > AUX1 > DH1 > DM1
2003/03/142003/03/14
Preliminaries – Preliminaries – The ACL Link Polling Problem The ACL Link Polling Problem
Environment assumption:Environment assumption: In a Piconet.In a Piconet. The average traffic arrival rates of each master-slave The average traffic arrival rates of each master-slave
pair are known.pair are known.• From history.From history.• By approximation.By approximation.
Goal:Goal: To determine a good polling policy To determine a good polling policy To increase bandwidth efficiency while keeping To increase bandwidth efficiency while keeping
delays low.delays low.
2003/03/14
Traffic loads
bytes3202020
339
Type User Payload (bytes)
Bandwidth Efficiency (bytes/slot
)
DH1 0-27 27
DH3 0-183 61
DH5 0-339 67.8
將 load 收集到接近 DH5 payload 所需的時間單位 : slots
傳送的 DH5 packet 中所裝的資料量
bytes32220
339
In every slots, the master will poll the slave with DH5 packet.
The slave returns bytes
with a smallest possible packet of slots, where
Bandwidth efficiency is = 46.6
H339
H
L
339
)(f )(f
271 If
18327 3 If
5 otherwise
)(5339
f
2003/03/142003/03/14
The Pattern Matching Polling (PMP) The Pattern Matching Polling (PMP) PolicyPolicy
Basic ideaBasic idea Using different combinations of Bluetooth packet Using different combinations of Bluetooth packet
types to match the traffic characteristics of masters types to match the traffic characteristics of masters and slaves.and slaves.
Only DH1/DH3/DH5 will be used.Only DH1/DH3/DH5 will be used.
2003/03/142003/03/14
The Pattern Matching Polling (PMP) The Pattern Matching Polling (PMP) Policy (cont.)Policy (cont.)
Symbol definitionSymbol definition λλMM : the traffic loads of master (unit: bytes/slot): the traffic loads of master (unit: bytes/slot) λλSS : the traffic loads of slave (unit: bytes/slot): the traffic loads of slave (unit: bytes/slot) λλHH : max{: max{λλM M , , λλS S }} λλLL : min{: min{λλM M , , λλS S }} ρρ : traffic ratio = : traffic ratio = λλH H //λλL L NNHH : the units with loads : the units with loads λλHH NNLL : the units with loads : the units with loads λλLL Polling PatternPolling Pattern : a sequence of packet types that will be : a sequence of packet types that will be exchanged by a master-slave pair.exchanged by a master-slave pair.
2003/03/142003/03/14
The Pattern Matching Polling (PMP) The Pattern Matching Polling (PMP) Policy (cont.)Policy (cont.)
A length-A length-kk pattern consists of two pattern consists of two kk-tuples:-tuples: ((HH1 1 , , HH2 2 ,…, ,…, HHkk) : the packet types used by unit ) : the packet types used by unit NNHH
((LL1 1 , , LL2 2 ,…, ,…, LLkk) : the packet types used by unit ) : the packet types used by unit NNLL
The sequence of packetsThe sequence of packets ((HH1 1 , , LL1 1 , , HH2 2 , , LL2 2 , …, , …, HHk k ,, LLk k ))
will be exchanged by will be exchanged by NNHH and and NNLL
2003/03/142003/03/14
The Pattern Matching Polling (PMP) The Pattern Matching Polling (PMP) Policy (cont.)Policy (cont.)
Master
Slave
λλMM = 20= 20(bytes/slot)(bytes/slot)
λλSS = 2= 2(bytes/slot)(bytes/slot)λλHH = max{= max{λλM M , , λλS S } = 20} = 20λλLL = min{= min{λλM M , , λλS S } = 2} = 2ρρ = = λλH H //λλL L = 20/2 = 10= 20/2 = 10
Assuming k = 1H1
L1
339/183
DH5 DH5
DH3 DH3
16 slots 16 slots
2003/03/142003/03/14
The Pattern Matching Polling (PMP) The Pattern Matching Polling (PMP) Policy (cont.)Policy (cont.)
Assuming k = 2
Master
Slave
DH5 DH3
DH3 DH1
2003/03/142003/03/14
The Pattern Matching Polling (PMP) The Pattern Matching Polling (PMP) Policy (cont.)Policy (cont.)
2003/03/142003/03/14
The Pattern Matching Polling (PMP) The Pattern Matching Polling (PMP) Policy (cont.)Policy (cont.)
The basic idea is to fill the payloads of all available packets as much as possible.
L
k
H
k LfLfLfHfHfHfT
)(...)()(,)(...)(min 2121
)(if27 for i =1183 for i =3339 for i =5
2003/03/142003/03/14
The Pattern Matching Polling (PMP) The Pattern Matching Polling (PMP) Policy (cont.)Policy (cont.)
Bandwidth efficiencyBandwidth efficiency
)()( 2121 kk
LH
LLLHHHTT
2003/03/142003/03/14
Poling Policy for One Master-Slave Poling Policy for One Master-Slave PairPair
Step 1 : Initially, let t = 0 and i = 1
Step 2 : Define j = ((i-1) mod k ) + 1 The next polling is expected to appear Γj times slots after t , where
Step 3 : If j = k, then move t ahead by setting t = t + T, where
Finally, let i = i + 1 and go to Step 2. ( until the master determines the traffic loads have changed.)
Γj =
L
j
H
j LLLHHH
2121 ,max for j = 1, … , k -1
for j = k
L
j
H
j LLLHHH
2121 ,min
L
k
H
k LfLfLfHfHfHfT
)()()(,)()()(min 2121
2003/03/14
Assuming K = 3
)()( 2121 kk
LH
LLLHHHTT
The best pattern is (5, 3) for the master
(1, 1) for the slave.
Step 1. Initially, let t = 0 and i = 1Step 2. j = ((i – 1) mod k ) + 1 = ((1-1) mod 2 ) + 1 = 1
Γj =
L
j
H
j LLLHHH
2121 ,max for j = 1, … , k -1
for j = k
L
j
H
j LLLHHH
2121 ,min
Γ1 = 16
Step 3. i = i + 1 = 2 j = ((i – 1) mod k ) + 1 = ((2-1) mod 2 ) + 1 = 2
Γj =
L
j
H
j LLLHHH
2121 ,max for j = 1, … , k -1
for j = k
L
j
H
j LLLHHH
2121 ,min Γ2 = 26 about 23% batter than the “ naïve greedy policy ” !!
2.57)11()35(
)262()2620()()( 2121
kk
LH
LLLHHHTT
2003/03/142003/03/14
Poling Policy for One Master-Slave Poling Policy for One Master-Slave Pair (cont.)Pair (cont.)
In practice, traffics may not be as regular as we In practice, traffics may not be as regular as we expected, in some cases bursty traffic may appeexpected, in some cases bursty traffic may appear.ar.
Defining an Defining an overflow overflow bitbit to prevent buffer overloading. to prevent buffer overloading.
• Whenever an entity finds it buffer reaching a threshold value,Whenever an entity finds it buffer reaching a threshold value, it set to TRUE.it set to TRUE.• Entity will ignore the polling pattern and immediately sends oEntity will ignore the polling pattern and immediately sends o
ut a DH5 packet to relieve its backlog.ut a DH5 packet to relieve its backlog.
2003/03/142003/03/14
Poling Policy for One Master-Slave Poling Policy for One Master-Slave Pair (cont.)Pair (cont.)
Assuming the buffer status is checked whenever an Assuming the buffer status is checked whenever an entity is scheduled to transmit data.entity is scheduled to transmit data.
The The overflowoverflow bit bit will be piggybacked in the DH5 packets will be piggybacked in the DH5 packets to inform the other entity.to inform the other entity.
When seeing When seeing overflow overflow = 1= 1 The entity does not have the overflow situation also stops its The entity does not have the overflow situation also stops its
pre-defined pattern.pre-defined pattern. Selecting a packet type that can cover as many queued data as Selecting a packet type that can cover as many queued data as
possible.possible.
2003/03/142003/03/14
Poling Policy for Multiple Master-Poling Policy for Multiple Master-Slave PairsSlave Pairs
The master should place all polling activities in a The master should place all polling activities in a time line and conduct polling one by one.time line and conduct polling one by one.
The rules of polling priorities:The rules of polling priorities: For two overlapping polling activities:For two overlapping polling activities:
• Comparing their Comparing their leading slotsleading slots.. When the leading slots are the same:When the leading slots are the same:
• The The last pollinglast polling in a polling pattern has a higher priority. in a polling pattern has a higher priority. If case of ties in both of the above rules:If case of ties in both of the above rules:
• Comparing their Comparing their AM_ADDRsAM_ADDRs..
2003/03/142003/03/14
PerformancePerformance Two measurement metrics are evaluated:Two measurement metrics are evaluated:
Bandwidth efficiency.Bandwidth efficiency. Average delay time.Average delay time.
Evaluation:Evaluation: The master keeps separate buffers for slaves.The master keeps separate buffers for slaves. Buffer size : 2048 bytesBuffer size : 2048 bytes Buffer threshold : 80%Buffer threshold : 80% Each experiment lasts for 80,000 time slots.Each experiment lasts for 80,000 time slots. The bursty traffic occurs in average every 3000 slots.The bursty traffic occurs in average every 3000 slots. Instant increase of 2048 * 0.8 = 1638 bytes to a buffer.Instant increase of 2048 * 0.8 = 1638 bytes to a buffer.
2003/03/142003/03/14
Performance (cont.)Performance (cont.) Three other policies are compared:Three other policies are compared:
NGP ( Naïve Greedy Protocol )NGP ( Naïve Greedy Protocol ) ERR ( Exhaustive Round Robin )ERR ( Exhaustive Round Robin ) StickyAFP ( Sticky Adaptive Flow-based Polling)StickyAFP ( Sticky Adaptive Flow-based Polling)
• The initial polling interval The initial polling interval PP00 = 14 = 14 (slots). (slots).
• The maximum allowable polling interval The maximum allowable polling interval PPmaxmax = 56 = 56 (slots). (slots).• The The flowflow bit bit is set to TRUE whenever the buffer exceeds 80%. is set to TRUE whenever the buffer exceeds 80%.• The parameter The parameter num_stickynum_sticky = 16 = 16 packets. packets.
2003/03/14
2003/03/14
2003/03/142003/03/14
Performance (cont.)Performance (cont.) Simulating seven slaves in a piconet.Simulating seven slaves in a piconet. Arrival rate:Arrival rate:
λλH1 H1 //λλL1L1 = 2= 2 λλH2 H2 //λλL2L2 = 4= 4 λλH3 H3 //λλL3L3 = 6= 6 λλH4 H4 //λλL4L4 = 8= 8 λλH5 H5 //λλL5L5 = 10= 10 λλH6 H6 //λλL6L6 = 12= 12 λλH7 H7 //λλL7L7 = 14= 14
λλ: the total piconet traffic load: the total piconet traffic load
2003/03/14
2003/03/14
2003/03/14
2003/03/142003/03/14
ConclusionsConclusions Proposing an efficient PMP policy for ACL conneProposing an efficient PMP policy for ACL conne
ctions in a Bluetooth piconet.ctions in a Bluetooth piconet. The master judiciously selects a polling pattern tThe master judiciously selects a polling pattern t
hat can best utilize the network bandwidth.hat can best utilize the network bandwidth. The PMP policy has properly addressed th asymThe PMP policy has properly addressed th asym
metry of up- and down-link traffics and the varioumetry of up- and down-link traffics and the various packet types of Bluetooth are fully exploited.s packet types of Bluetooth are fully exploited.
A pattern length of K=3 or 4 can already perform A pattern length of K=3 or 4 can already perform very well.very well.