Scatternet Formation in
Bluetooth
CSC 457
Bill Scherer
November 8, 2001
Outline
Introduction
Overview of Bluetooth
Scatternet Formation Protocols
What is Bluetooth?
What is Bluetooth?
Ad Hoc wireless networking
Specification and protocol suite
Initiated by Ericsson in 1994
Why Should I Care About It?
Up and coming
– In billions of devices by 2005 (Business Week, 18
September 2000)
Cool
– Cordless desktop
– Briefcase e-mail
– Wire-free headphones
Cheap
– As little as 29¢ incremental
– 80K transistors
Next Up: Overview
Introduction
Overview of Bluetooth
Scatternet Formation Protocols
Physical Layer: Media
2.4 GHz Band (license-free)
Slotted Bandwidth
– 79 hop frequencies (23 in Japan, France, Spain)
– 1 MHz each
– 625sec hop intervals (1600 hops/sec)
10/100 Meter range
Up to 500 kbits/sec bandwidth
Frequency Hopping CDMA
Hop Pattern
– Permutation of the available hop frequencies
Clock
– Current offset within the hop pattern
Referred to as "Channels"
Organization of Bluetooth
Networks
Piconets
– Master/Slave
– Shared channel
Scatternets
– Grouped Piconets
– Bridges
Shared Slaves
S
S
M
B
S
S
S
S
S
M
Next Up: Scatternet Formation
Introduction
Overview of Bluetooth
Scatternet Formation Protocols
S
S
M
B
S
S
S
S
S
M
Scatternet Formation
How do we go from (A) to (B)?
(A)
(B)
?
?
?
S
?
M
?
?
?
?
S
?
S
S
S
S
?
B
S
M
Establishing a Connection
0) Slave: must be in Page Scan mode
1) Master: enter Page mode
2) Slave: Slave response to page
3) Master: Master response to slave
4) Slave, Master are now connected
M
S
1
M
S
2
M
S
3
M
S
4
Scatternet Topologies
n(n-1)
2 2 possible
Roughly
topologies for n
nodes
6 topologies for 3 nodes:
M
S
M
M
S
S
S
M
S
M
S
M
S
M
M
M
S
S
Good Topology Properties
Fully connected
Masters belong to exactly one Piconet
Bridges connect only two Piconets
– Avoid overload on the bridge node
Minimal number of Piconets forming
minimal diameter Scatternet
– Reduce cost of routing
BTCP (Bluetooth Connection Protocol)
Bluetooth Connection Protocol
Based on Leader Election
–
Identifying one node to be in charge
Two phase protocol
1) Elect a leader
2) Assign roles
Leader Election
All nodes start with VOTES = 1.
Look for other nodes (send/listen on special
discovery channel)
When two nodes meet, higher VOTES wins,
gets all votes and MAC addresses from
loser.
Loser enters Page Scan mode
Election ends when no more nodes found
Role Assignment
Winner of election picks "sub-masters" and
bridges for minimum possible Piconets
Winner forms temporary Piconet with submasters, gives them assignment, list of
slaves
Sub-masters page in slaves
BTCP Example: Leader Election
(1)
3
2
1
(2)
8
4
6
5
2
3
7
9
2
1
2
1
1
7
6
5
2
9
2
4
4
8
3
7
6
9
2
2
2
2
1
1
2
4
1
8
7
6
5
9
2
2
(6)
3
4
4
5
2
3
(5)
3
5
8
4
(4)
3
(3)
8
3
7
6
9
2
2
1
7
4
5
8
7
6
9
2
BTCP Example: Roles
(1)
3
2
1
(2)
8
4
6
5
2
7
2
9
2
3
2
1
M
2
2
2
3
2
1
2
6
5
B
2
2
7
1
9
1
2
2
3
2
1
(5)
M
M
5
8
4
(4)
(3)
6
B
2
7
1
9
1
2
2
3
2
1
2
5
2
7
6
B
1
9
1
(6)
M
M
5
M
S
S
7
B
1
9
1
S
S
M
M
S
S
B
S
Limitations of BTCP
Assumes all nodes can see each other
– Can get two isolated Scatternets otherwise
Time complexity: (n/k) for n nodes
– Due to centralized nature
– A group at MIT has achieved O(log n)
Assumes zero knowledge of network
– Could reuse old topologies if semi-stable
LMS
Law, Mehta, Siu from MIT
Randomized, distributed
Multiple rounds, but no separate phases
Every node starts out as a leader
Also assumes all nodes can see each other
During a Round of LMS
Each leader flips a coin to see whether it
goes into Scan or Seek mode
Scan mode:
– Listen for another node (discovery channel)
– If contacted, go into Page Scan mode
Seek Mode
– Look for slave on discovery channel
– Connect via Page
Retirement
Once two leaders connect, one must retire
Invariants for partial Scatternets:
– Each leader either has no slave, or has at least
one unshared slave
– Each leader has fewer than k slaves in its
Piconet
Five cases needed to preserve invariants
Case 1
One leader has no slaves
– Join other Piconet and retire (if room)
– Take a slave, other leader retires (otherwise)
S
S
S
S
M retired
M
S
S
S
L
B
L
Case 2
The two leaders have < k - 1 slaves between
them
S
S
M
M
S
S
S
S
M
S
S
S
S
retired
S
Case 3
At least k - 1 slaves between the leaders
– fill up and retire one of them
S
S
M
S
S
S
M
B
*
S
S
retired
M
B
S
S
S
*
M
S
S
Cases 4, 5
Special cases to make the algorithm work
Refer to paper if you want the full details
– http://perth.mit.edu/~ching/pubs/
PerformanceOfScatternet.pdf
Important thing is that even in these cases,
one of the leaders retires
A Bit of Theory
Time Complexity: BTCP
– (n/k) for n nodes, k slaves per Piconet
– Due to centralized nature
Time Complexity: LMS
– O(log n)
– ~1/2 the leaders retire each round
Transport Layer: Services
SCO (Synchronous Connection Oriented)
– Fixed 64 kbit/sec symmetrical link
– 2 slots at a time (one each direction)
ACL (Asynchronous Connectionless)
– 432.6 kbit/sec symmetrical link
– 721.0/57.6 kbit/sec asymmetrical link
– 5 slots at a time
Choice: 1 ACL, 3 SCOs, or one of each
FHCDMA Advantages
Resistance to interference
– Can still get through on other parts
Resistance to multipath effects
– Reflection, like an echo
Multiple access for co-located devices
– Multiple simultaneous hop patterns
– Graceful bandwidth degradation
Connection States
Active
– Sending/Receiving normally
Sniff
– Typically slaves only
– Low-power mode
– Not listening on every receive slot
Hold (SCO communications only)
Park (not participating)