1 / 51

Bluetooth Scatternet Formation

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.

drago
Download Presentation

Bluetooth Scatternet Formation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bluetooth Scatternet Formation By Mihir Sharma msharma@rim.com

  2. Outline • Introduction • Bluetooth technology today • Comparable technologies • Piconets & Scatternets • Bluetooth Scatternet Formations (BSF) • Blue Mesh • Maximal Independent set based BSF • Review

  3. 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

  4. 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

  5. Comparable Technologies

  6. Paired Configurations Slave Master

  7. 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

  8. 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

  9. Example

  10. 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)

  11. 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

  12. 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

  13. 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

  14. 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.

  15. 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

  16. 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

  17. 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

  18. 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

  19. Example 6 10 12 7 11 14 5 3 15 4 9 8 13 2

  20. 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

  21. 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.

  22. 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}

  23. 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.

  24. 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}

  25. 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

  26. Example – Iteration 2 6 10 12 7 11 14 5 3 15 4 9 8 13 2

  27. 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.

  28. 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

  29. 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 ZZ – (N(v)  {v}); 16 If MIS(u) = then Master(u) false

  30. 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

  31. 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)

  32. 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}

  33. 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};

  34. Example – Iteration 1 8 12 14 2 9 16 5 1 15 4 10 3 7 6 13 11

  35. Example – Iteration 1 8 12 14 2 9 16 5 1 15 4 10 3 7 6 13 11

  36. 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

  37. 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)

  38. Example – Iteration 2 8 12 14 2 9 16 5 1 15 4 10 3 7 6 13 11

  39. Final Configuration – Iteration 2 8 12 14 2 9 16 5 1 15 4 10 3 7 6 13 11

  40. 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.

  41. Questions?

  42. 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.

  43. 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

  44. 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

  45. 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

  46. 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 ZZ – (N(v)  {v}); 16 If MIS(u) = then Master(u) false

  47. 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) = {}

  48. Iteration 1 8 12 14 2 9 16 5 1 15 4 10 3 7 6 13 11

  49. 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)

  50. Final Configuration – Iteration 2 8 12 14 2 9 16 5 1 15 4 10 3 7 6 13 11

More Related