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

Post on 03-Jan-2016

217 views 2 download

Tags:

transcript

Bluetooth Scatternet FormationBy Mihir Sharmamsharma@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

Comparable TechnologiesUnits Bluetoot

hZigbee 802.11

b802.11 g 802.11 a 802.11

nUWB

Throughput Mbps 0.03 1-3 11 54 54 200 200

Max Range ft 75 30 200 200 150 150 30

Sweet SpotMbps-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

• 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

12

Algorithm for Master SelectionMaster(v)1.Myrole master2.PAGEMODE3.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 SelectionCompute 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

3

2

6

5

13

15

4

14

12

11

10

98

7

[6] I. Stojmenovic, Bluetooth Scatternet Formation: Tutorial, Ottawa, Canada: School of Infomation Technology and Engineering (SITE), slides 1-15

Algorithm for Master SelectionMaster(v)1.Myrole master2.PAGEMODE3.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

3

2

6

5

13

15

4

14

12

11

10

98

7

* Node 15 is chosen as Master based on a best fit scenario

Algorithm for Master SelectionMaster(v)1.Myrole master 2.PAGEMODE3.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

3

2

6

5

13

15

4

14

12

11

10

98

7

Algorithm for Master SelectionMaster(v)1.Myrole master 2.PAGEMODE3.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 SelectionCompute 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

3

2

6

5

13

15

4

14

12

11

10

98

7

U(15) = {5, 12, 7, 14, 3, 9, 2, 8} S(15) = {14, 12, 8}

Algorithm for Slave SelectionCompute 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

3

2

6

5

13

15

4

14

12

11

10

98

7

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

3

2

6

5

13

15

4

14

12

11

10

98

7

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.

v

u

ComputeMIS(u) AlgorithmComputeMIS (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};15Z Z – (N(v) {v});16If MIS(u) = then Master(u) false

Example – Iteration 1

15

212 14

16

4

5

1

7

13116

8

9

103

MIS(1) = {2}MIS(1) = {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

15

212 14

16

4

5

1

7

13116

8

9

103

15 is not MIS(1) = {2, 7}Thus, node 1 is MIS(15)

MIS(15) = {1, 3, 8, 11}

Example – Iteration 1

15

212 14

16

4

5

1

7

13116

8

9

103

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

15

212 14

16

4

5

1

7

13116

8

9

103

Example – Iteration 1

15

212 14

16

4

5

1

7

13116

8

9

103

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

15

212 14

16

4

5

1

7

13116

8

9

103

Final Configuration – Iteration 2

15

212 14

16

4

5

1

7

13116

8

9

103

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.

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

8

17

21

20

15

36

13

6

25

7

22

30 11

Node 25 is selected as gateway slave between Piconets 7 & 36Node 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

8

17

21

20

15

36

13

6

25

7

22

30 11

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

15

212 14

16

4

5

1

7

13116

8

9

103

ComputeMIS(u) AlgorithmComputeMIS (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};15Z Z – (N(v) {v});16If MIS(u) = then Master(u) false

15

212 14

16

4

5

1

7

13116

8

9

103

MIS(1) = {2, 7}MIS(2) = {1, 12}

Node 2 belongs to MIS(1)MIS(2) = {12}

MIS(3) = {6, 9}MIS(4) = {16}

MIS(5) = {1, 12}MIS(6) = {}

MIS(7) = {13}MIS(8) = {9}MIS(9) = {}

MIS(10) = {3}MIS(11) = {15}MIS(12) = {14}

MIS(14) = {16}

MIS(15) = {1, 3, 8}

MIS(16) = {}

MIS(13) = {}

Iteration 1

15

212 14

16

4

5

1

7

13116

8

9

103

Iteration 2

15

212 14

16

4

5

1

7

13116

8

9

103

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)

Nodes 16 & 4 will switch roles due to SlaveProc(u)

Final Configuration – Iteration 2

15

212 14

16

4

5

1

7

13116

8

9

103

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