Title: IEEE 802.15
1- IEEE 802.15 Survey of Scatternet Formation
Protocols and Algorithms
Vivek Kumar Joy Ghosh University at Buffalo
2Why Bluetooth ?
- Operates in license free ISM band centered around
2.45GHz (available worldwide) - Interference immunity (FH) ,Crosstalk avoidance
(TDD) also gt single chip - Low power (30µA in sleep ,300µA standby ,8-30mA
transmitting) Cell phone power (50 100 mA ?) - Channel access contention free ( 802.11 ?)
- Saves contention overhead (feasibility with
625bits packet ?) - No line of sight requirement (IrDA ?) ,low
cost,high data rate ( 1Mbps, practically 721kbps
?) BT2.0 10Mbps - gt Bluetooth very viable for wire replacement,
short range ad-hoc n/w ,and now aiming to be
access point technology to wide area voice/data
n/w (competes with 802.11) - We must think bigger than piconets !!!(? Routing
)
3Overview
- What do we know already?
- Bluetooth basics
- Connection establishment
- Concept of an ad-hoc piconet
- Today Concept of a scatternet
- Set of independent piconets -gt scatternet?
- Protocols
- Tree Scatternet Formation (TSF)
- BlueStar-BlueConstellation
- BlueMesh
- BTSpin (proposed by us)
4Scatternets
- Internetworking multiple piconets
- How to make two or more independent and
non-synchronized piconets communicate with each
other? - Bluetooth alludes the possibility, but does not
say how - Realisation possible with bridges slave relay
(shared slave) or master relay
5Problem ?
- How do a collection of isolated devices form a
scatternet?i.e how do we go from A to B - Each device is not aware of the others
- ? The scatternet formation protocol must be
distributed - Devices are in the communication range of each
other - ? Potentially, any two devices could be connected
directly - Potentially large number of topologies for n
nodes ,which one is best ?
A
B
6Criteria for efficient Scatternet Formation
- Number of Piconets
- Scatternet should have minimum number of Piconets
- Reduces the inefficient intra-piconet
communication - Reduces co-channel interference
- Number of Roles per node
- The number of roles per node should be minimized
- Gateway nodes (Bridges) incur additional cost of
switching, scheduling and re-synchronization
between piconets - Size of Piconets
- Piconets should be as full as possible (7 slaves
in each piconet) - Optimal system capacity utilization
- More than 7 not desirable ? park / unpark
7Criteria for efficient Scatternet Formation
- Average Shortest Path (ASP)
- Average number of hops needed for 2 devices to
communicate - Lower ASP ? better routing efficiency
- Message Overhead
- Minimize control packet overhead
- Bandwidth is scarce
- Very small packets (625 bits) 40 bytes for TCP
headers!! - Convergence
- Algorithm should converge quickly to possible
optimal solution - Low power devices spend power in setting up
scatternet (Energy!) - Applicable to short term ad hoc networks (Time!)
8Classification of Scatternet Protocols
Centralized Distributed
Single-hop Static BTCP, Marsan_MinMax, 1-Factors BlueTrees, BlueRings, Lin et al.
Single-hop Dynamic None LMS, TSF
Multi-hop Static Marsan_ILP BlueMesh, BlueStar_Basagni
Multi-hop Dynamic None Three phase-Bluestar, BTSpin
9Tree Scatternet Formation Protocol (TSF)
- Proposed by G. Tan et. al. MIT Technical Report,
Oct 2001 - Scatternet Topology is at any time a collection
of one or more rooted trees - Trees are autonomously attempting to merge. Goal
only one tree. - Why Trees gt no cycles, simple routing (unique
path), minimal of links - Vulnerable to single point faults importance for
fast self-healing - Possible bottleneck at roots while routing.
- Three kinds of nodes roots, non-roots and free
nodes - Each node knows its type via state diagrams and
IACs - Each node in the network runs algorithm
transitioning between two states - FORM social task, to reduce number of
scatternet components - COMM state for data communication within
component
10FORM STATE.
- FORM state
- Every node tries to make a link to another node
belonging to a different tree/component - Two substates FORMINQ and FORMINQSCAN
- All nodes spend time in this state
- Roots spend more time in it than others
- How long shall we be social? T_form random
(ETinq, D) - Too long gt waste of time if environment does not
change - Too short gt not able to meet properly
- Randomized to avoid periodic synchronization
effects - E Tinq is the time taken to complete an INQUIRY
process. - T_form must be at least as long to ensure that a
handshake can take place. - D decides the size of random interval
11The FORM state.
Assume each node knows it type
Link formation combination Entries with 0 are
Invalid
- Every node tries to join with other components
- Opportunity distributed formation
- Non-root connects to Free only if Free is not
within its Roots range - Danger how to save the invariant to have only
trees? ? Use the knowledge of the nodes type!
12The FORM state avoid the invariant
- Non-root/Root and Non-root/Non-Root connections
could create cycles - Links of root nodes are saved for merging with
other trees later (no Root/Free Connections) - Non-root nodes help free nodes to join scatternet
- Rule Free node becomes the slave (with
probability 0.5 a role switch procedure takes
place) - Therefore a node can never be in more than two
piconets - Only root nodes attempt to heal partitions join
another tree as a slave - Healing function gt roots spend more time in FORM
state - When root joins root ,the master becomes the new
root of the merged tree
13The FORM state.
- Improvement The coordinator
- We dont want a root to waste time and energy to
do INQUIRY, root should do communication only - Thus a root designates a node in the component to
be coordinator - Elects a child randomly
- Maybe the child does not want to be coordinator
gt elects one of its children and so on - A leaf must accept the job (no bottleneck anyway)
14The FORM state.
- Coordinators establish link, then send PAGE and
PAGE SCAN info to their roots and break the link - Roots can make the link quickly
- New root selects new coordinator randomly
- Idea change coordinator also periodically,
thats robust if a coordinator breaks and
distributes the energy-intensive task on many
nodes - Problem not only the coordinators but also the
roots have to be in radio range
15The COMM State
- Communication-within-component state
- How long shall we work in our component?
- T_comm fcomm random(R,D)
- fcomm for free nodes fcomm0
- for other nodes suggestion as a function of age
(how long ago it joined the scatternet younger
nodes should spend more time in trying to form
bigger scatternet, older ones more in data
communication) and number of children in the
current tree (the more children the more a node
is expected to be involved in communication)
16Healing
- Dynamic environment
- Nodes can leave anytime
- Two ways a connectivity can be lost
- Master loses connection to slave
- Slave loses connection to master
- When a master detects loss of child gt master
must only check if it has become a free node - No control messages, works completely locally
- When a slave loses its parent gt slave updates
its node type and sets age to zero - Leaf node becomes free node
- Internal node becomes root node
17Problem
- Arrival en masse
- Results in many components
- TSF allows only roots to merge
- But Bluetooth allows max. 7 connections per
device - Consequence roots may not be able to merge
together because theyre full, so components
remain seperated
18Solution
- When a root node is about to reach max. number of
children, it designates a child to become the
root - Then the two nodes switch roles as master and
slave
19Routing (1)
- Root topology
- No loops possible
- Unique paths
- Therefore simple routing
- Idea nodes have unique addresses based upon
their position in the tree - Mapping from IP to these adresses using ARP (a
node returns its scatternet address in response
to ARP query) - With this identifier, packet forwarding protocol
works by simply having each node look at the
destination and forward it along one of its links - No per packet overhead like source routing, no
extra memory needed like distance vector
20Routing (2)
- A partial realization
- Each node has an address dependent on its
position and a portion of address space that it
can distribute to its children - Each node knows it childrens addresses
- Forwarding can be done by longest prefix match
if no childs address is applicable the packet is
pushed upwards - But what happens when nodes leave? How do we
merge trees?
21Generated Topologies
22Statistics Formation delay
23Effects of increasing inter-piconet scheduling
latency
n/w size50
24TSF Summary
- Tree structure
- Incremental and efficient
- Devices need not to be in radio range
- Simple routing
- Comments? Questions?
- Further reading
- http//nms.lcs.mit.edu/projects/blueware/body.htm
25BlueStar BlueConstellation
- A distributed approach to forming mesh like
scatternets
26Phases of the Protocol
- Phase I
- Topology discovery
- Phase II
- BlueStar (Piconet) formation
- Phase III
- BlueConstellation (Scatternet) formation
27I. Topology discovery
- Each node has unique ID and weight
- Symmetric 1-hop neighbor information
- Requires pair of neighbors to be in opposite mode
- Inquirer sends ID pkt. containing GAC
- Inquired
- On receiving ID pkt, backs off randomly
- If ID pkt persists, sends FHS pkt. (ID BT
clock) - Temporary piconet for symmetric knowledge
- Phase time needs to be determined well
- Nodes may not discover all neighbors!
28II. BlueStar formation
- init nodes
- Nodes with biggest weight in their neighborhood
- Ties broken with unique ID
- init nodes become MASTERS of neighbors
- Non-init nodes wait to hear from bigger neighbors
to decide their role - Become SLAVE to first big MASTER to page
- If all big neighbors are SLAVES, become MASTER
- Communicate role to all smaller neighbors
- If role ! MASTER, learn roles of smaller
neighbors - For smaller SLAVE neighbor, note its MASTER ID
29BlueStar formation protocols
- initOperations()
- if (for each neighbor u myWeight gt uWeight)
- myRole MASTER
- go to PAGE mode
- PAGE(v, MASTER, v) to all smaller neighbors
- exit
-
30BlueStar formation protocols (contd.)
- ReceivedPage (deviceID u, string role, deviceID
t) - record that u has paged record role(u)
- if (role(u) SLAVE) ? master(u) t
- if (myWeight lt uWeight)
- if (role(u) MASTER)
- if (myRole none) ? myMaster u
myRole SLAVE - else ? inform u about myMaster ID
-
- if (some bigger neighbor is yet to page)
? wait for following page - else
- if (all bigger neighbors are SLAVES)
- myRole MASTER PAGE (v, MASTER, v) to
all neighbors - else
- PAGE (v, SLAVE, myMaster) to each
neighbor switch to PAGE SCAN -
-
- else if (all neighbors have not paged) ?
wait for next page -
31Example Network Phase I (topology)
Init Node Non-Init Node
32Example Network Phase II (piconets)
Master Slave
33III. BlueConstellation formation
- mNeighbors
- Neighboring masters that are atmost 3 hops away
- 2 hops 1 slave in between 2 masters
- 3 hops 2 slaves in between 2 masters
- iMasters
- Biggest weight amongst all mNeighbors
- Scatternet formation
- Select gateways to connect masters to all its
mNeighbors
34BlueConstellation formation protocol
- mInitOperations()
- if (for each mNeighbor u myWeight gt
uWeight) - myRole iMaster
- instruct gateway slaves to 3 hop
mNeighbors to page slave of mNeighbor - instruct gateway slaves to 2 hop
mNeighbors to page mNeighbor - page slaves of 2 hop mNeighbors
identified as gateways -
- else
- instruct all gateway slaves to bigger
mNeighbors to go to page scan - if (slaves of bigger mNeighbors
identified as gateways are neighbors) - go to page scan
- while (links to bigger mNeighbors are
not up) ? WAIT - instruct gateway slaves to smaller
mNeighbors to go to page mode - if (slaves of smaller mNeighbors
identified as gateways are nearby) - go to page mode
-
35Example Network Phase III (scatternets)
6
3
23
28
9
34
15
12
5
7
14
42
1
4
45
8
10
35
32
51
19
Master Slave Slave-Bridge Master-Br
idge
36Conclusion
- Advantages
- Assign weights to specify suitability of a Master
- Robust connected mesh (multiple paths)
- No leader required to initiate process
- Multihop scatternet
- Disadvantages
- Many temporary piconets formed incurs delay
- Unable to account for joining / leaving nodes
- May have more than 7 slaves in a piconet Park!
37BlueMesh
- Degree constrained multihop scatternet
38What is new?
- If there are more than 7 neighbors, choose a
maximum of 7 slaves which cover all other
neighbors - No need for park / unpark
- No extra hardware required (unlike some other
solutions provided which require GPS in each
device to perform degree reduction techniques on
network topology graph)
39Phases of the Protocol
- Phase I
- Topology discovery
- Phase II
- Scatternet formation
40I. Topology discovery
- Each node has unique ID and weight
- Weight signifies nodes suitability as master
- Symmetric 1-hop neighbor information
- Done similar to last discussed protocol
- Symmetric 2-hop neighbor information
- Nodes with biggest weight in neighborhood (init
nodes) pages its smaller neighbors and exchange
1-hop neighbor information - After being paged by all bigger weight neighbors,
non-init nodes start paging and exchanging
similar information with its smaller neighbors
41II. Scatternet formation
- BlueMesh formed in local successive iterations
- Each iteration has two parts
- Role Selection
- Gateway Selection
- After each iteration
- Masters, Gateway Slaves and non-Gateway Slaves
exit execution of the iterative process - Intermediate gateways proceed to form extra
piconets needed to connect 3-hop Masters
42Iterative Process Role Selection
- Definitions
- N(v) set of vs 1-hop neighbors
- S(v) set of at most 7 slaves selected by master
v - C(v) set of vs
- Bigger slave neighbors
- Smaller neighbors
- M(v) set of vs masters
43Iterative Process Role Selection (contd.)
- All init nodes execute the following process
- Master (v)
- 1 myRole ? master
- 2 PageMode
- 3 ComputeS(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
44Iterative Process Role Selection (contd.)
- ComputeS(v)
- 1 S(v) ? NULL
- 2 U ? C(v)
- 3 while U ! NULL
- 4 do x ? bigger node in U
- 5 S(v) ? S(v) U x
- 6 U ? U N(x)
- 7 S(v) ? S(v) U Get (7 - S(v), C(v) S(v))
- Get (n, B) selects n nodes from set B
- Criteria for selection is user specified
45Iterative Process Role Selection (contd.)
- NonInit(v)
- 1 PageScanMode
- 2 for each bigger neighbor w
- 3 do Wait Page (v, w, r, j, NIL)
- 4 if ((r master) (j true))
- 5 myRole ? slave Join (w) M(v) ? M(v)
U w - 6 if (myRole slave)
- 7 PageMode
- 8 for each w in C(v)
- 9 do Page (w, v, slave, false, NIL)
- 10 PageScanMode
- 11 for each w in C(v)
- 12 do Wait Page (v, w, r, j, NIL) from
smaller w - 13 Wait Page (v, w, slave, false, M(w))
from bigger w - 14 PageMode
- 15 for each w in C(v)
- 16 do Page (w, v, slave, false, M(v))
- 17 PageScanMode
- 18 for each smaller slave w
46Iterative Process Gateway Selection
- Slaves tell Masters
- Neighbor roles
- Neighbors list of Masters
- Whether any neighboring Master selected them as
slave - Masters decide
- Which slaves shall act as gateways to which
piconets - Which slaves need to be intermediate gateways
- Intermediate nodes carry on the iterative process
47BlueMesh Simulation
- Parameters
- 200 nodes
- Transmission radius of 10 m
- Node distribution random and uniform
- Square region with size varying with number of
nodes to always give connected networks
48BlueMesh Simulation Results I
49BlueMesh Simulation Results II
50Conclusion
- Advantages
- No more than 7 slaves per piconet
- On an average of 2.3 roles per node
- Route lengths not significantly longer than
shortest path in the network - Disadvantages
- Multiple phases might incur unacceptable delay
- Still not suitable for nodes leaving/joining
- Simulations assumed network connectivity
51Some other work (other than Trees Mesh)
- BlueRing
- Forms a ring like network
- No routing required ? pass it on the ring
- Overcomes single and multi point failures
- Handles nodes joining / leaving
- Disadvantages
- Centralized algorithm ? leader election
- Assumes one hop network
- Changing direction to fix single point failures
increase network traffic unnecessarily
52BTSpin our proposal
- Distributed and Adaptive Single phase Scatternet
formation
53Main features
- Distributed
- No leader required
- No distribution of unique weights
- Single phase ? no topology discovery
- Spin technique
- Grows piconet omni directionally
- Handles nodes joining
- Allocates substantial time for intra-piconet
traffic - Backup Gateways
- Handles nodes leaving / single point failures
- Creates a multi-hop multi-path meshed network
54Spin Technique
- Used to maintain balance between Scatternet
formation and intra-piconet data communication. - Spin INQ phase followed by INQ SCAN phase.
- Spin node obtains parameters like size of
Piconet, Master ID - Master puts Spin slave in hold mode.
- Master itself also spins
- Slave-Slave bridges are not scheduled for spin.
55Definition of 2-hop 3-hop connection
(i) A B are two hop connected (ii) A B are
three hop connected
56Free node meets with a Slave node
57Slave node meets with a Slave node
58Slave node meets with a Master node
59Master node meets with a Master node
60Master node meets a M-S Bridge node
61Backup Gateway
- We observed other multi-phased, meshed based
approaches have large number of temporary
piconets - BTSpin keeps a backup gateway table
- When two connected nodes disconnect without
forming a bridge ,the information about Master ID
,FHS and type of node is recorded - Used later to directly page potential bridge
nodes without INQ INQ SCAN phase
62Node Failures
- Slave node do nothing
- Master node If not Bridge it becomes free node,
Bridges continue their role in the other piconet. - Bridge node if Slave-Slave bridge use backup
information.
63Scatternet formation delay
64Total number of Piconets
65Average number of roles
66References
- G. Tan, A. Miu, J. Guttag, H. Balakrishnan,
Forming Scatternets from Bluetooth Personal Area
Networks, in Technical Report MIT-LCS-TR-826,
October 2001 - Ching Law and Kai-Yeung Siu. A Bluetooth
scatternet formation algorithm. In Proceedings of
the IEEE Symposium on Ad Hoc Wireless Networks
2001, San Antonio, Texas, USA, November 2001. - Ching Law, Amar K. Mehta, and Kai-Yeung Siu.
Performance of a new Bluetooth scatternet
formation protocol. In Proceedings of the ACM
Symposium on Mobile Ad Hoc Networking and
Computing 2001, Long Beach, California, USA,
October 2001. - Ching Law, Amar K. Mehta, and Kai-Yeung Siu. A
new bluetooth scatternet formation protocol. ACM
Mobile Networks and Applications Journal, 2002. - S. Basagni and C. Petrioli, A scatternet
formation protocol for ad hoc networks of
Bluetooth devices, in Proceedings of the IEEE
Semiannual Vehicular Technology Conference, VTC
Spring 2002, Birmingham, AL, May 69 2002. - C. Petrioli and S. Basagni, Degree-Constrained
Multihop Scatternet Formation for Bluetooth
Networks, in Proceedings of IEEE Globecom, 2002,
Taipei, Taiwan, R.O.C., November 2002 - Ting-Yu Lin, Yu-Chee Tseng, Formation, Routing,
and Maintenance Protocols for the BlueRing
Scatternet of Bluetooths, 36th Annual Hawaii
International Conference on System Sciences
(HICSS 2003)
67Bluetooth Implementation Practical Considerations
- Use two IAC types
- Repetition IAC are the ID packets a master sends
in INQ state - Two types GIAC and LIAC
- Nodes can filter different IAC types
- Roots only transmit and receive LIAC, other nodes
only GIAC - This can still lead to a bad connection because
the FHS packets can not be distinguished. We have
to tear down this bad connection when we discover
that the types are incompatible.
Back
68Connection Establishment
Back
69Review-Piconets
- Set of Bluetooth devices (each has clock and
unique bluetooth device address BDA) - 1 master, up to 7 slaves (why ?)
- Communication only via master
- Time Divison Duplex (TDD)
- Polling master allocates time slots for slaves
- Pseudo-random frequency hopping scheme to
minimize interference e.g. with other piconets - Pseudo 32 frequencies chosen out of 79 allowed
ones
Back