Download IEEE 802.15 - Survey of Scatternet Formation

Document related concepts

Serial Peripheral Interface Bus wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Airborne Networking wikipedia , lookup

Distributed operating system wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

CAN bus wikipedia , lookup

Everything2 wikipedia , lookup

Kademlia wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

Transcript
-IEEE 802.15 –
Survey of Scatternet Formation
Protocols and Algorithms
Vivek Kumar
Joy Ghosh
University at Buffalo
Why Bluetooth ?




Operates in license free ISM band centered around
2.45GHz (available worldwide)
Interference immunity (FH) ,Crosstalk avoidance (TDD) also
=> 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]
=> 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 )
Overview

What do we know already?

Bluetooth basics



Connection establishment
Concept of an ad-hoc piconet
Today : Concept of a scatternet


Set of independent piconets -> scatternet?
Protocols:




Tree Scatternet Formation (TSF)
BlueStar-BlueConstellation
BlueMesh
BTSpin (proposed by us)
Scatternets


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
S
S
M
B
S
S
S
S
S
M
Problem ?

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
?
?
?
M
?
M
Criteria for efficient Scatternet Formation

Number of Piconets
 Scatternet should have minimum number of Piconets



Number of Roles per node
 The number of roles per node should be minimized


Reduces the inefficient intra-piconet communication
Reduces co-channel interference
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
Criteria for efficient Scatternet Formation

Average Shortest Path (ASP)
 Average number of hops needed for 2 devices to communicate


Message Overhead
 Minimize control packet overhead



Lower ASP  better routing efficiency
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!)
Classification 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 phaseBluestar,
BTSpin
Tree 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 => 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
FORM STATE….

FORM state:



All nodes spend time in this state


Every node tries to make a link to another node belonging to a different
tree/component
Two substates FORM:INQ and FORM:INQSCAN
Roots spend more time in it than others
How long shall we be social? T_form = random (E[Tinq], D)




Too long => waste of time if environment does not change
Too short => 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
The FORM state….
Mas/Slav
Root
Non-Root
Free
Root
1
0
0
Non-root
0
0
1
Free
0
1
1
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 Root’s range
Danger: how to save the invariant to have only trees?  Use
the knowledge of the node’s type!
The 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 => roots spend more time in FORM state
When root joins root ,the master becomes the new root of the merged tree
The FORM state….

Improvement: The coordinator


We don‘t 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 => elects one
of its children and so on
A leaf must accept the job (no bottleneck anyway)
The 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, that‘s robust
if a coordinator breaks and distributes the energyintensive task on many nodes
Problem: not only the coordinators but also the
roots have to be in radio range
The COMM State



Communication-within-component state
How long shall we work in our component?
T_comm = fcomm * random(R,D)
 fcomm: for free nodes fcomm=0
 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)
Healing




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 => master must only check if
it has become a free node
 No control messages, works completely locally
When a slave loses its parent => slave updates its node type and
sets age to zero
 Leaf node becomes free node
 Internal node becomes root node
Problem

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 they’re full, so components
remain seperated
Solution


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
Routing (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
Routing (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 children’s addresses
Forwarding can be done by longest prefix
match; if no child’s address is applicable
the packet is pushed upwards
But what happens when nodes leave?
How do we merge trees?
Generated Topologies
Statistics : Formation delay
Effects of increasing inter-piconet
scheduling latency
n/w size=50
TSF 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
BlueStar & BlueConstellation
A distributed approach to forming mesh
like scatternets
Phases of the Protocol

Phase I


Phase II


Topology discovery
BlueStar (Piconet) formation
Phase III

BlueConstellation (Scatternet) formation
I. 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!
II. 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
BlueStar formation protocols

initOperations() {
if (for each neighbor u: myWeight > uWeight) {
myRole = MASTER;
go to PAGE mode;
PAGE(v, MASTER, v) to all smaller neighbors;
exit;
}
}
BlueStar 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 < 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
}
Example Network : Phase I (topology)
6
3
23
28
9
34
15
12
5
7
14
42
1
4
10
35
51
8
32
Init Node
45
19
Non-Init Node
Example Network : Phase II (piconets)
6
3
23
28
9
34
15
12
5
7
14
42
1
4
10
35
51
Master
32
Slave
8
45
19
III. BlueConstellation formation

mNeighbors

Neighboring masters that are atmost 3 hops away



iMasters


2 hops: 1 slave in between 2 masters
3 hops: 2 slaves in between 2 masters
Biggest weight amongst all mNeighbors
Scatternet formation

Select gateways to connect masters to all its
mNeighbors
BlueConstellation formation protocol

mInitOperations() {
if (for each mNeighbor u: myWeight > 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;
}
Example Network : Phase III (scatternets)
6
3
23
28
9
34
15
12
5
7
14
42
1
4
10
35
32
51
Master
Slave
Slave-Bridge
8
45
19
Master-Bridge
Conclusion

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!
BlueMesh
Degree constrained multihop scatternet
What 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)
Phases of the Protocol

Phase I


Topology discovery
Phase II

Scatternet formation
I. Topology discovery

Each node has unique ID and weight


Symmetric 1-hop neighbor information


Weight signifies node’s suitability as master
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
II. 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
Iterative Process: Role Selection

Definitions



N(v) : set of v’s 1-hop neighbors
S(v) : set of at most 7 slaves selected by master v
C(v) : set of v’s



Bigger slave neighbors
Smaller neighbors
M(v) : set of v’s masters
Iterative 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
Iterative 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
Iterative 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
19
do Wait Page (v, w, slave, false, M(w));
20
EXIT
21 else Master(v)
Iterative Process: Gateway Selection

Slaves tell Masters:




Masters decide:



Neighbor roles
Neighbor’s list of Masters
Whether any neighboring Master selected them as slave
Which slaves shall act as gateways to which piconets
Which slaves need to be intermediate gateways
Intermediate nodes carry on the iterative process
BlueMesh 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
BlueMesh Simulation Results I
BlueMesh Simulation Results II
Conclusion

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
Some 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
BTSpin – our proposal
Distributed and Adaptive Single phase
Scatternet formation
Main features

Distributed




Single phase  no topology discovery
Spin technique




Grows piconet omni directionally
Handles nodes joining
Allocates substantial time for intra-piconet traffic
Backup Gateways


No leader required
No distribution of unique weights
Handles nodes leaving / single point failures
Creates a multi-hop multi-path meshed network
Spin 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.
Definition of 2-hop & 3-hop connection
(i) A & B are two hop connected (ii) A & B are three hop connected
Free node meets with a Slave node
Slave node meets with a Slave node
Slave node meets with a Master node
Master node meets with a Master node
Master node meets a M-S Bridge node
Backup 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
Node 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.
Scatternet formation delay
Total number of Piconets
Average number of roles
References







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 6–9 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)
Bluetooth 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
Connection Establishment
Back
Review-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