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)