Bluetooth Scatternet Formation - School of Electrical Engineering

Bluetooth Scatternet Formation
By Mihir Sharma
[email protected]
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
Comparable Technologies
Units
Bluetooth
Zigbee
802.11 b
802.11 g
802.11 a
802.11 n
UWB
Throughput
Mbps
0.03
1-3
11
54
54
200
200
Max Range
ft
75
30
200
200
150
150
30
Sweet Spot
Mbps-ft
.03@75
1-3@10
2@200
2@200
36@100
100@100
200@10
Service
bps-ft2
530
314M
251G
251G
1.13T
3.14T
62G
Power
mW
30
100
750
1000
1500
2000
400
BW
MHz
0.6
1
22
20
20
40
500
Spectral
Efficiency
b/Hz
0.05
1
0.5
2.7
2.7
5
0.4
Power
Efficiency
mW/Mbps
1000
100
68
19
27
10
2
Price
USD $
$2
$3
$5
$9
$12
$20
$7
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
Example
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
15
are used to set up two-node
temporary piconets through which
neighbours exchange:
5
▫ Identity
▫ Weight
▫ Synchronization information
2
Algorithm for Master Selection
Master(v)
1. Myrole  master
2. PAGEMODE
3. COMPUTE S(v)
4. for each u in S(v)
5.
do PAGE(u, v, master, true, NIL)
6. for each u in C(v)\S(v)
7.
do PAGE(u, v, master, false, NIL)
8. 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)
1. S(v)  
2. U  C(v)
3. While U ≠ 
4.
do x  bigger in U(v)
5.
S(v)  S(v)  {x}
6.
U  U \ N(x)
7. 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
13
8
9
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)
1. Myrole  master
2. PAGEMODE
3. COMPUTE S(v)
4. for each u in S(v)
5.
do PAGE(u, v, master, true, NIL)
6. for each u in C(v)\S(v)
7.
do PAGE(u, v, master, false, NIL)
8. 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
13
8
9
2
* Node 15 is chosen as Master based on a best fit scenario
Algorithm for Master Selection
Master(v)
1. Myrole  master
2. PAGEMODE
3. COMPUTE S(v)
4. for each u in S(v)
5.
do PAGE(u, v, master, true, NIL)
6. for each u in C(v)\S(v)
7.
do PAGE(u, v, master, false, NIL)
8. 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
13
8
9
2
Algorithm for Master Selection
Master(v)
1. Myrole  master
2. PAGEMODE
3. COMPUTE S(v)
4. for each u in S(v)
5.
do PAGE(u, v, master, true, NIL)
6. for each u in C(v)\S(v)
7.
do PAGE(u, v, master, false, NIL)
8. 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)
1. S(v)  
2. U  C(v)
3. While U ≠ 
4.
do x  bigger in U(v)
5.
S(v)  S(v)  {x}
6.
U  U \ N(x)
7. 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
13
U(15) = {5, 12, 7, 14, 3, 9, 2, 8}
8
9
2
S(15) = {14, 12, 8}
Algorithm for Slave Selection
Compute S(v)
1. S(v)  
2. U  C(v)
3. While U ≠ 
4.
do x  bigger in U(v)
5.
S(v)  S(v)  {x}
6.
U  U \ N(x)
7. 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
13
8
9
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
13
8
9
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,
u
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.
v
ComputeMIS(u) Algorithm
ComputeMIS (u)
1 MIS(u)  ; Master(u)  true ;
2 Z  N(u);
3 while Z!= 
4
do v  Node in Z with smallest key1;
5
Page (v, u, N(v), MIS(v));
6
If u 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
Example – Iteration 1
8
12
2
14
9
16
5
1
15
4
10
3
7
6
13
11
MIS(1) = {2,
{2} 7}
[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
2
14
9
16
5
1
15
4
10
3
7
6
11
{1, 3, 8,=11}
15MIS(15)
is not =MIS(1)
{2, 7}
Thus, node 1 is  MIS(15)
13
Example – Iteration 1
8
12
2
14
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
If u 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
2
14
9
16
5
1
15
4
10
3
7
6
11
13
Example – Iteration 1
8
12
2
14
9
16
5
1
15
4
10
3
7
6
11
13
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
2
14
9
16
5
1
15
4
10
3
7
6
11
13
Final Configuration – Iteration 2
8
12
2
14
9
16
5
1
15
4
10
3
7
6
11
13
Conclusion
• Scatternets help increase the physical range of lower class Bluetooth devices
• Piconets and Scatternets are conjoined by gateways that include a Masterslave 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.
Questions?
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
• Use BlueMesh method to create all possible scatternets
with proper master-slave connections
22
8
13
30
11
17
36
6
21
20
25
15
7
Node 25 is
selected as
gateway slave
between
Piconets 7 & 36
Node 22 is
selected as
gateway slave
between
Piconets 7 & 30
Quiz Question 2 Cont’d
• Use BlueMesh method to create all possible scatternets
with proper master-slave connections
22
8
13
30
11
17
36
6
21
20
25
15
7
To connect
Piconets 36 &
30, we use
intermediate
gateway slaves
13 & 22, which
forms a 2-node
piconet 22.
Quiz Question 3
• Use the ComputeMIS and SlaveProc(u) protocols to
complete the scatternets
8
12
2
14
9
16
5
1
15
4
10
3
7
6
11
13
ComputeMIS(u) Algorithm
ComputeMIS (u)
1 MIS(u)  ; Master(u)  true ;
2 Z  N(u);
3 while Z!= 
4
do v  Node in Z with smallest key1;
5
Page (v, u, N(v), MIS(v));
6
If u 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
8
12
2
14
9
16
5
1
15
4
10
3
7
6
MIS(1) = {2, 7}
{12}12}
MIS(2) = {1,
MIS(3) = {6, 9}
MIS(4) = {16}
MIS(5) = {1, 12}
MIS(6) = {}
11
MIS(7) = {13}
Node 2 belongs to MIS(1)
MIS(8) = {9}
MIS(9) = {}
MIS(10) = {3}
MIS(11) = {15}
MIS(12) = {14}
13
MIS(13) = {}
MIS(14) = {16}
MIS(15) = {1, 3, 8}
MIS(16) = {}
Iteration 1
8
12
2
14
9
16
5
1
15
4
10
3
7
6
11
13
Iteration 2
8
12
2
14
9
16
5
1
15
4
10
3
7
6
11
Nodes 3 & 10 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)
13
Nodes 16 & 4 will
switch roles due to
SlaveProc(u)
Final Configuration – Iteration 2
8
12
2
14
9
16
5
1
15
4
10
3
7
6
11
13
References
• [1] A. Alkhrabash and M. Elshebani, Routing schemes for Bluetooth Scatternet
applicable to mobile Ad-Hoc networks, Serbia : Telsiks, 2009
• [2] J. Wang, Dynamical Algorithm for Multi-Hop Bluetooth Scatternet Formation,
P.R. China: Qingdao University of Science and Technology, 2008
• [3] C. Petrioli and S. Basagni, Degree constrained Multihop Scatternet formation for
Bluetooth Networks, Boston USA: Department of Electrical and Computer
Engineering, Northeastern University, 2002
• [4] T. Olzak, Secure your Bluetooth wireless network and protect your data, Tech
Republic, December 2006 [Online]. Available:
http://articles.techrepublic.com.com/5100-10878_11-6139987.html
• [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
• [6] I. Stojmenovic, Bluetooth Scatternet Formation: Tutorial, Ottawa, Canada:
School of Infomation Technology and Engineering (SITE), slides 1-15
• [7] Compare with Other Technologies, Bluetooth SIG Incorporated, 2010 [Online].
Available:
http://www.bluetooth.com/English/Technology/Works/Pages/Compare.aspx#3