Download presentation
Presentation is loading. Please wait.
Published bySolomon Barton Modified over 9 years ago
1
2003/03/14 An Efficient Link Polling Policy by Pattern Matching for Bluetooth Piconets Ting-Yu Lin, Yu-Chee Tseng, and Yuan-Ting Lu Department of Computer Science and Information Engineering National Chiao-Tung University National Central University Hawaii International Conference on System Sciences (HICSS’03) Speaker: Chung-Hsien Hsu
2
2003/03/14 Outline Introduction Preliminaries The Pattern Matching Polling (PMP) Policy for one master-slave pair for one master-slave pair for multiple master-slave pairs for multiple master-slave pairs Performance Conclusions
3
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.
4
2003/03/14 Introduction (cont.) [3] “MAC Scheduling Policies with Reduced Power Consumption and Bounded Packet Delay for Centrally Controlled TDD Wireless Networks”, (ICC’01) Proposing a learning function to predict the polling interval for each master-slave pair. Proposing a learning function to predict the polling interval for 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.
5
2003/03/14 Introduction (cont.) [2] “Efficient Polling Schemes for Bluetooth Picocells”, (ICC’01) Three polling schemes: Three polling schemes: Pure Round Robin (PRR)Pure Round Robin (PRR) A fixed serving order. A fixed serving order. Exhaustive Round Robin (ERR)Exhaustive Round Robin (ERR) A fixed serving order A fixed serving order Exhausting each master-slave pair’s payloads in both sides in each polling. Exhausting each master-slave pair’s payloads in both sides in each polling. Exhaustive Pseudo-cyclic Master queue length (EMP)Exhaustive Pseudo-cyclic Master queue length (EMP) Similar to ERR except. Similar to ERR except. Polling order is dynamically adjusted in each round based on the master’s queues for slaves. Polling order is dynamically adjusted in each round based on the master’s queues for slaves.
6
2003/03/14 Introduction (cont.) [4] “Enhancing Performance of Asynchronous Data Traffic over the Bluetooth Wireless Ad-hoc Network”, (INFOCOM’01) Defining a flow bit for each master-slave pair. Defining a flow bit 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 corresponding flow bit. Dynamically adjusts each slave’s polling interval based on the corresponding flow bit. Whenever the flow bit is 1, the polling interval is reduced to the minimum Whenever the flow bit is 1, the polling interval is reduced to the minimum Whenever a poll is replied by a NULL packet, the polling interval is doubled if a certain upper bound is not exceeded. Whenever a poll is replied by a NULL packet, the polling interval is 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)
7
2003/03/14 Introduction (cont.) Deficiencies: They all fail to address the asymmetry of traffics between masters and slaves. They all fail to address the asymmetry of traffics between masters and slaves. The different packet types provided by Bluetooth are not fully exploited to match the traffic need. The different packet types provided by Bluetooth are not fully exploited to match the traffic need. The ultimate foal of this proposing paper: To reduce the unfilled, or even null, payloads in each packet. To reduce the unfilled, or even null, payloads in each packet. The traffic asymmetry problem can be properly handled.The traffic asymmetry problem can be properly handled.
8
2003/03/14 Preliminaries Bluetooth Data Packets The ACL Link Polling Problem
9
2003/03/14 Preliminaries – Bluetooth Data Packets Summary of Bluetooth ACL data packets. Bandwidth efficiency : DH5 > DH3 > DM5 > DM3 > AUX1 > DH1 > DM1
10
2003/03/14 Preliminaries – The ACL Link Polling Problem Environment assumption: In a Piconet. In a Piconet. The average traffic arrival rates of each master-slave pair are known. The average traffic arrival rates of each master-slave pair are known. From history.From history. By approximation.By approximation. Goal: To determine a good polling policy To determine a good polling policy To increase bandwidth efficiency while keeping delays low. To increase bandwidth efficiency while keeping delays low.
11
2003/03/14 Traffic loads TypeUser Payload (bytes) Bandwidth Efficiency (bytes/slot) DH10-2727 DH30-18361 DH50-33967.8 將 load 收集到接近 DH5 payload 所需的時間 單位 : slots 傳送的 DH5 packet 中所裝的資料量 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 1 If 3 If 5 otherwise
12
2003/03/14 The Pattern Matching Polling (PMP) Policy Basic idea Using different combinations of Bluetooth packet types to match the traffic characteristics of masters and slaves. Using different combinations of Bluetooth packet types to match the traffic characteristics of masters and slaves. Only DH1/DH3/DH5 will be used. Only DH1/DH3/DH5 will be used.
13
2003/03/14 The Pattern Matching Polling (PMP) Policy (cont.) Symbol definition λ M : the traffic loads of master (unit: bytes/slot) λ M : the traffic loads of master (unit: bytes/slot) λ S : the traffic loads of slave (unit: bytes/slot) λ S : the traffic loads of slave (unit: bytes/slot) λ H : max{λ M, λ S } λ H : max{λ M, λ S } λ L : min{λ M, λ S } λ L : min{λ M, λ S } ρ : traffic ratio = λ H /λ L ρ : traffic ratio = λ H /λ L N H : the units with loads λ H N H : the units with loads λ H N L : the units with loads λ L N L : the units with loads λ L Polling Pattern : a sequence of packet types that will be Polling Pattern : a sequence of packet types that will be exchanged by a master-slave pair. exchanged by a master-slave pair.
14
2003/03/14 The Pattern Matching Polling (PMP) Policy (cont.) A length-k pattern consists of two k-tuples: (H 1, H 2,…, H k ) : the packet types used by unit N H (H 1, H 2,…, H k ) : the packet types used by unit N H (L 1, L 2,…, L k ) : the packet types used by unit N L (L 1, L 2,…, L k ) : the packet types used by unit N L The sequence of packets (H 1, L 1, H 2, L 2, …, H k, L k ) The sequence of packets (H 1, L 1, H 2, L 2, …, H k, L k ) will be exchanged by N H and N L
15
2003/03/14 The Pattern Matching Polling (PMP) Policy (cont.) Master Slave λ M = 20 (bytes/slot) λ S = 2 (bytes/slot) λ H = max{λ M, λ S } = 20 λ L = min{λ M, λ S } = 2 ρ = λ H /λ L = 20/2 = 10 Assuming k = 1 H1H1 L1L1 339/183 DH5 DH3 16 slots
16
2003/03/14 The Pattern Matching Polling (PMP) Policy (cont.) Assuming k = 2 Master Slave DH5DH3 DH1
17
2003/03/14 The Pattern Matching Polling (PMP) Policy (cont.)
18
2003/03/14 The Pattern Matching Polling (PMP) Policy (cont.) The basic idea is to fill the payloads of all available packets as much as possible. 27 for i =1 183 for i =3 339 for i =5
19
2003/03/14 The Pattern Matching Polling (PMP) Policy (cont.) Bandwidth efficiency
20
2003/03/14 Poling Policy for One Master-Slave Pair 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 = for j = 1, …, k -1 for j = k
21
2003/03/14 Assuming K = 3 The best pattern is (5, 3) for the master (1, 1) for the slave. Step 1. Initially, let t = 0 and i = 1 Step 2. j = ((i – 1) mod k ) + 1 = ((1-1) mod 2 ) + 1 = 1 Γ j = for j = 1, …, k -1 for j = k Γ 1 = 16 Step 3. i = i + 1 = 2 j = ((i – 1) mod k ) + 1 = ((2-1) mod 2 ) + 1 = 2 Γ j = for j = 1, …, k -1 for j = k Γ 2 = 26 about 23% batter than the “ naïve greedy policy ” !!
22
2003/03/14 Poling Policy for One Master-Slave Pair (cont.) In practice, traffics may not be as regular as we expected, in some cases bursty traffic may appear. Defining an overflow bit to prevent buffer overloading. Defining an overflow bit 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 out a DH5 packet to relieve its backlog.Entity will ignore the polling pattern and immediately sends out a DH5 packet to relieve its backlog.
23
2003/03/14 Poling Policy for One Master-Slave Pair (cont.) Assuming the buffer status is checked whenever an entity is scheduled to transmit data. The overflow bit will be piggybacked in the DH5 packets to inform the other entity. When seeing overflow = 1 The entity does not have the overflow situation also stops its pre- defined pattern. The entity does not have the overflow situation also stops its pre- defined pattern. Selecting a packet type that can cover as many queued data as possible. Selecting a packet type that can cover as many queued data as possible.
24
2003/03/14 Poling Policy for Multiple Master- Slave Pairs The master should place all polling activities in a time line and conduct polling one by one. The rules of polling priorities: For two overlapping polling activities: For two overlapping polling activities: Comparing their leading slots.Comparing their leading slots. When the leading slots are the same: When the leading slots are the same: The last polling in a polling pattern has a higher priority.The last polling 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 AM_ADDRs.Comparing their AM_ADDRs.
25
2003/03/14 Performance Two measurement metrics are evaluated: Bandwidth efficiency. Bandwidth efficiency. Average delay time. Average delay time. Evaluation: The master keeps separate buffers for slaves. The master keeps separate buffers for slaves. Buffer size : 2048 bytes Buffer 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.
26
2003/03/14 Performance (cont.) 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 P 0 = 14 (slots).The initial polling interval P 0 = 14 (slots). The maximum allowable polling interval P max = 56 (slots).The maximum allowable polling interval P max = 56 (slots). The flow bit is set to TRUE whenever the buffer exceeds 80%.The flow bit is set to TRUE whenever the buffer exceeds 80%. The parameter num_sticky = 16 packets.The parameter num_sticky = 16 packets.
27
2003/03/14
29
Performance (cont.) Simulating seven slaves in a piconet. Arrival rate: λ H1 /λ L1 = 2 λ H1 /λ L1 = 2 λ H2 /λ L2 = 4 λ H2 /λ L2 = 4 λ H3 /λ L3 = 6 λ H3 /λ L3 = 6 λ H4 /λ L4 = 8 λ H4 /λ L4 = 8 λ H5 /λ L5 = 10 λ H5 /λ L5 = 10 λ H6 /λ L6 = 12 λ H6 /λ L6 = 12 λ H7 /λ L7 = 14 λ H7 /λ L7 = 14 λ: the total piconet traffic load
30
2003/03/14
33
Conclusions Proposing an efficient PMP policy for ACL connections in a Bluetooth piconet. The master judiciously selects a polling pattern that can best utilize the network bandwidth. The PMP policy has properly addressed th asymmetry of up- and down-link traffics and the various packet types of Bluetooth are fully exploited. A pattern length of K=3 or 4 can already perform very well.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.