530 likes | 727 Views
Bluetooth Scatternet Formation. By Mihir Sharma msharma@rim.com. Outline. Introduction Bluetooth technology today Comparable technologies Piconets & Scatternets Bluetooth Scatternet Formations (BSF) Blue Mesh Maximal Independent set based BSF Review. Problem Statement.
E N D
Bluetooth Scatternet Formation By Mihir Sharma msharma@rim.com
Outline • Introduction • Bluetooth technology today • Comparable technologies • Piconets & Scatternets • Bluetooth Scatternet Formations (BSF) • Blue Mesh • Maximal Independent set based BSF • Review
Problem Statement Basic Bluetooth protocol does not support relaying that Scatternets can theoretically provide Very few implementations are found Goal is to use an algorithm that effectively produces a most efficient scatternet
Introduction to Bluetooth • Voice and Data Applications • Operates in unlicensed 2.4 GHz • Operate over a distance of 10m-100m range based on device power class • Obstacle proof • Omni-directional wireless range; FHSS modulation • Low Price
Paired Configurations Slave Master
Piconet • An ad-hoc network of Bluetooth master-slave pairs. • Only one designated Master and up to seven slaves • Three-bit MAC addressing • Up to 255 slaves can be inactive or parked • Piconet range depends on Bluetooth class • Data transfer depends on number of connections, and synchronization
Scatternet • Ad-hoc network consisting of two or more piconets • Scatternets are created through Master-Slave configuration • Device pairing with another piconet can be either master or slave • Main goal is to expand the physical size of the lower class (short range) Bluetooth networks • Several techniques have been presented that offer varying efficiencies
Scatternet Formation • No specification indicates a method for BSF • Several single hop topologies, such as tree topologies, have been presented • Two techniques can be closely examined: • BlueMesh • Maximal Independent Set (MIS)
BlueMesh • Improvement upon BlueStar algorithm • Phases proceed in successive iterations • Technique follows algorithmic process • Phases include topology discovery, followed by scatternet formation • Piconet interconnection is achieved through gateway selection: slave-slave or Master-slave • Masters proceed to select intermediate slaves (going to next iteration) • All master, slaves not selected gateways exit the BlueMesh algorithm
Topology Discovery 12 • Unit disc graph • Device discovery • BT inquiry and paging procedures are used to set up two-node temporary piconets through which neighbours exchange: • Identity • Weight • Synchronization information 15 5 2
Algorithm for Master Selection Master(v) • Myrole master • PAGEMODE • COMPUTE S(v) • for eachu in S(v) • do PAGE(u, v, master, true, NIL) • for each u in C(v)\S(v) • do PAGE(u, v, master, false, NIL) • EXIT Where v is a master, and u is a neighbour. S(v) is the slave selection process and C(v)denotes the set of v’s bigger nodes that are slaves and smaller nodes
Algorithm for Slave Selection Compute S(v) • S(v) • U C(v) • WhileU ≠ • do x bigger in U(v) • S(v) S(v){x} • U U \ N(x) • S(v) S(v) GET(7 - |S(v)|, C(v) \ S(v) ) Where v is a master, and u is a neighbour. S(v) is the slave selection process and C(v)denotes the set of v’s bigger nodes that are slaves and smaller nodes. N(x) denotes the set of all x’s one-hop neighbours.
Example 6 10 12 7 11 14 5 3 15 4 9 8 13 2 [6] I. Stojmenovic, Bluetooth Scatternet Formation: Tutorial, Ottawa, Canada: School of Infomation Technology and Engineering (SITE), slides 1-15
Algorithm for Master Selection Master(v) • Myrole master • PAGEMODE • COMPUTE S(v) • for eachu in S(v) • do PAGE(u, v, master, true, NIL) • for each u in C(v)\S(v) • do PAGE(u, v, master, false, NIL) • EXIT Where v is a master, and u is a neighbour. S(v) is the slave selection process and C(v)denotes the set of v’s bigger nodes that are slaves and smaller nodes
Example 6 10 12 7 11 14 5 3 15 4 9 8 13 2 * Node 15 is chosen as Master based on a best fit scenario
Algorithm for Master Selection Master(v) • Myrole master • PAGEMODE • COMPUTE S(v) • for eachu in S(v) • do PAGE(u, v, master, true, NIL) • for each u in C(v)\S(v) • do PAGE(u, v, master, false, NIL) • EXIT Where v is a master, and u is a neighbour. S(v) is the slave selection process and C(v)denotes the set of v’s bigger nodes that are slaves and smaller nodes
Example 6 10 12 7 11 14 5 3 15 4 9 8 13 2
Algorithm for Master Selection Master(v) • Myrole master • PAGEMODE • COMPUTE S(v) • for eachu in S(v) • do PAGE(u, v, master, true, NIL) • for each u in C(v)\S(v) • do PAGE(u, v, master, false, NIL) • EXIT Where v is a master, and u is a neighbour. S(v) is the slave selection process and C(v)denotes the set of v’s bigger nodes that are slaves and smaller nodes
Algorithm for Slave Selection Compute S(v) • S(v) • U C(v) • WhileU ≠ • do x bigger in U(v) • S(v) S(v){x} • U U \ N(x) • S(v) S(v) GET(7 - |S(v)|, C(v) \ S(v) ) Where v is a master, and u is a neighbour. S(v) is the slave selection process and C(v)denotes the set of v’s bigger nodes that are slaves and smaller nodes. N(x) denotes the set of all x’s one-hop neighbours.
Example 6 10 12 7 11 14 5 3 15 4 9 8 13 2 U(15) = {5, 12, 7, 14, 3, 9, 2, 8} S(15) = {14, 12, 8}
Algorithm for Slave Selection Compute S(v) • S(v) • U C(v) • WhileU ≠ • do x bigger in U(v) • S(v) S(v){x} • U U \ N(x) • S(v) S(v) GET(7 - |S(v)|, C(v) \ S(v) ) Where v is a master, and u is a neighbour. S(v) is the slave selection process and C(v)denotes the set of v’s bigger nodes that are slaves and smaller nodes. N(x) denotes the set of all x’s one-hop neighbours.
Example 6 10 12 7 14 11 5 3 15 4 9 13 8 2 S(15) = {14, 12, 9, 8, 7, 5, 3} S(13) = {4, 11} S(10) = {6, 12, 5} S(2) = {9, 8, 5}
Gateway Selection • When role selection of an iteration has completed, the nodes start the gateway selection process to complete the scatternet. • All slaves communicate to their master(s) information about their neighbours • Roles of neighbour • Neighbour’s list of masters • If neighbours are masters, then whether the node is a slave of it • If a pair of masters have selected common slaves, they choose the bigger one among them as gateway slave
Example – Iteration 2 6 10 12 7 11 14 5 3 15 4 9 8 13 2
Blue MIS • Newer protocol to simplify BlueMesh procedures • Method limits the number of iterations to two • After discovery phase, construction of Maximal Independent Set (MIS) occurs where: • Neighbour’s information is exchanged • Knowledge of two-hop neighbours is attained • Notation: MIS(X) represents a set of neighbour’s of X such that no two nodes are connected (independent) and the neighbours are not a subset of another set (Maximal) • Each node creates a piconet by selecting MIS of its neighbours as its potential slaves.
Slave Selection • If two neighbours u and v select each other as slaves, then we keep only one relationship based on key2 from node ID(key1, key2 ). • If key2(u) < key2(v) then u remains master, and v becomes slave. u v
ComputeMIS(u) Algorithm ComputeMIS (u) 1 MIS(u) ; Master(u) true ; 2 Z N(u); 3 whileZ!= 4 dov Node in Z with smallest key1; 5 Page (v, u, N(v), MIS(v)); 6 Ifu in MIS(v) 7 if key2(u) < key2(v) then 8 M(v)M(v) {u}; 9 MIS(v)MIS(v) – {u}; 10 M(u)M(u) - {v}; 11 MIS(u)MIS(u) {v}; 12 Otherwise 13 M(v)M(v) {u}; 14 MIS(u)MIS(u) {v}; 15 ZZ – (N(v) {v}); 16 If MIS(u) = then Master(u) false
Example – Iteration 1 8 12 14 2 9 16 5 1 15 4 10 3 7 6 13 11 MIS(1) = {2, 7} MIS(1) = {2} [5] N. Zaguia , I. Stojmenovic, and Y. Daadaa, Simplified Bluetooth Scatternet Formation Using Maximal Independent Sets, Ottawa, Canada: School of Information Technology and Engineering (SITE); 2008
Example – Iteration 1 8 12 14 2 9 16 5 1 15 4 10 3 7 6 13 11 MIS(15) = {1, 3, 8, 11} 15 is not MIS(1) = {2, 7} Thus, node 1 is MIS(15)
Example – Iteration 1 8 12 14 2 9 16 5 1 15 4 10 3 7 6 13 11 MIS(11) = ? MIS(15) = {1, 3, 8, 11} MIS(1) = {2, 7}
ComputeMIS(u) Algorithm Steps 6-11 Ifu in MIS(v) if key2(u) < key2(v) then M(v)M(v) {u}; MIS(v)MIS(v) – {u}; M(u)M(u) - {v}; MIS(u)MIS(u) {v};
Example – Iteration 1 8 12 14 2 9 16 5 1 15 4 10 3 7 6 13 11
Example – Iteration 1 8 12 14 2 9 16 5 1 15 4 10 3 7 6 13 11
Iteration 2 • Two procedures performed to simplify scatternet • Scatternet structure deletes piconets which are not essential for the connectivity of the scatternet, thus lowering total number of piconets • MasterProc& SlaveProc • Both delete piconets with master device u which is not a slave in any other piconet, i.e. M(u) = NIL
SlaveProcedure(u) SlaveProcedure (u) 1 If Master(u) = false then 2 u Pages all nodes v in M(u) to get (MIS(v), M(v)) 3 If MIS(v)={u} and M(v) = ∅ and |MIS(u)|<7 then 4 Master(u) ←true, 5 Master(v) ← false 6 MIS(u) ← MIS(u) ∪ {v} 7 MIS(v) ← ∅ 8 M(v) ← {u} 9 Page (done) all nodes in M (u)
Example – Iteration 2 8 12 14 2 9 16 5 1 15 4 10 3 7 6 13 11
Final Configuration – Iteration 2 8 12 14 2 9 16 5 1 15 4 10 3 7 6 13 11
Conclusion • Scatternets help increase the physical range of lower class Bluetooth devices • Piconets and Scatternets are conjoined by gateways that include a Master-slave or slave-slave configuration • Two effective methods have been presented: • BlueMesh • Bluetooth Maximal Independent Set (MIS) • Blue MIS proves to be a better option since the number of iterations are always limited to two • Both techniques suffer due to great number of masters and slaves in Blue MIS and BlueMesh, respectively.
Quiz Question 1 • Q. Name two other wireless technologies and compare their specifications with Bluetooth technology. • A. • Zigbee: Closest comparable to BT. Wireless range is smaller than BT, but compares very well with price of BT. It uses more power than Bluetooth. Zigbee can also offer much faster data speeds. • 802.11b: Much larger range, intended for a different class of devices. Higher speed and data rates than Bluetooth with higher spectral efficiency.
Quiz Question 2 22 • Use BlueMesh method to create all possible scatternets with proper master-slave connections 8 13 30 11 17 36 6 7 Node 25 is selected as gateway slave between Piconets 7 & 36 Node 22 is selected as gateway slave between Piconets 7 & 30 21 20 25 15
Quiz Question 2 Cont’d 22 • Use BlueMesh method to create all possible scatternets with proper master-slave connections 8 13 30 11 17 36 6 7 To connect Piconets 36 & 30, we use intermediate gateway slaves 13 & 22, which forms a 2-node piconet 22. 21 20 25 15
Quiz Question 3 8 12 14 • Use the ComputeMISand SlaveProc(u) protocols to complete the scatternets 2 9 16 5 1 15 4 10 3 7 6 13 11
ComputeMIS(u) Algorithm ComputeMIS (u) 1 MIS(u) ; Master(u) true ; 2 Z N(u); 3 whileZ!= 4 dov Node in Z with smallest key1; 5 Page (v, u, N(v), MIS(v)); 6 Ifu in MIS(v) 7 if key2(u) < key2(v) then 8 M(v)M(v) {u}; 9 MIS(v)MIS(v) – {u}; 10 M(u)M(u) - {v}; 11 MIS(u)MIS(u) {v}; 12 Otherwise 13 M(v)M(v) {u}; 14 MIS(u)MIS(u) {v}; 15 ZZ – (N(v) {v}); 16 If MIS(u) = then Master(u) false
8 12 14 2 9 16 5 1 15 4 10 3 7 6 13 11 MIS(13) = {} MIS(1) = {2, 7} MIS(7) = {13} Node 2 belongs to MIS(1) MIS(2) = {12} MIS(2) = {1, 12} MIS(8) = {9} MIS(14) = {16} MIS(9) = {} MIS(3) = {6, 9} MIS(15) = {1, 3, 8} MIS(10) = {3} MIS(4) = {16} MIS(11) = {15} MIS(16) = {} MIS(5) = {1, 12} MIS(12) = {14} MIS(6) = {}
Iteration 1 8 12 14 2 9 16 5 1 15 4 10 3 7 6 13 11
Iteration 2 8 12 14 2 9 16 5 1 15 4 10 3 7 6 13 11 Nodes 3 & 10 will switch roles due to SlaveProc(u) Nodes 16 & 4 will switch roles due to SlaveProc(u) Nodes 15 & 11 will switch roles due to SlaveProc(u) Nodes 1 & 5 will switch roles due to SlaveProc(u) Nodes 5 & 12 will switch roles due to SlaveProc(u)
Final Configuration – Iteration 2 8 12 14 2 9 16 5 1 15 4 10 3 7 6 13 11