A Routing Vector Method (RVM) for Routing Bluetooth Scatternets Pravin Bhagwat IBM.Thomas J. Watson Research Center,Yorktown Heights,NY
Introduction for Bluetooth Operates in the globally available 2.45GHz ISM band Use a frequency-hop / time-division- duplex (FD / TDD) scheme The channel is divided into 625-msec intervals — slots
Introduction (master-slave) The master transmission starts in even- numbered slots The slave transmission starts in odd- numbered slots A slave is allowed to transmit in a given slot if the master has addressed it in the preceding slot No direct MAC layer communication between slaves
Introduction (cont.) A group of interconnected piconets is referred to as a scatternet A node can participate in two or more piconets on a time sharing basis A unit can receive packets from one piconet and relay to another piconet Protocols for inter-piconet communication have not been defined
Problems for inter-piconet commucation For each node: Increase buffering requirement Higher store and forward delay Delay and buffering requirement will be reduced if the forwarding is supported at the Bluetooth slot level
Scatternets vs Wireless LANs Two bluetooth nodes cannot hear each other unless they form a master-slave pair In the wireless LAN, any two nodes within proximity can hear each other ’ s transmission
Scatternets Differs from classical ad hoc networks in terms of: Applications Traffic characteristics Mobility patterns Scaling requirements It will be quasi-static, short-lived and small
Purposes Describe the protocols for route discovery and packet forwarding Illustrates 3 main design compromises: Minimization of soft-state Protocol simplicity Bandwidth conservation
Model Elements Every Bluetooth unit has a globally unique 48 bit Bluetooth address A unit can be a slave in two or more piconets and a master in another piconets A unit belongs to more than one piconet is referred to as a relay
Model Elements (cont.) Slaves in a piconet are assigned 3 bit MAC addresses — MacAddr The 000 address is reserved for broadcast within the piconet 2 different link types are defined: Synchronous connection (SCO) Asynchronous connection (ACL)
Packet format A packet can cover 1 or 3 or 5 slots 72-bit access code 54-bit header bit payload One of the fields of the layer 2 header is the 3-bit MacAddr Use layer 3 control infromation
Bluetooth packet format
Intra-piconet communication Forwarding unicast packets by the master from one slave unit to another Use layer 3 header in the layer 2 payload of the packet — Forwarding flag(FF) Destination MacAddr(DA)
Bluetooth packet
Intra-piconet communication FF = 0 means that the payload of the packet is destined for the master and needs not be forwarded FF = 1 means that the payload of the packet is destined for another slave in the same piconet and DA contains the MacAddr of the destination unit
Intra-piconet communication FF = 1 and DA contains 000: the contents of the packet are intended to be broadcast in the piconet The master knows the Bluetooth address of every slave in its piconet and the corresponding MacAddr The slave can learn about the 3-bit MacAddr of another slave by querying the master
Routing Protocols Table based routing protocols : Lightweight Mobile Routing Protocol Destination-sequenced distance vector Protocol Murthy-Garcia-Luna-Aceves Protocol Source based routing protocols : PARIS Ring Network Bridges DSR
Source Routing Source routing vector method leads to a large overhead But preferable in scatternet systems No more protocols to construct the table entries and to delete those entries Easy to find out the duplicate packet when master broadcast
Routing Vector Method Piconet are represented by Local Identification numbers(LocID) The sequence of LocIDs are carried in the packet header The overhead is reduced from 48+3=51 bits per hop to 3+3=6 bits per hop
Inter-piconet unicast communication A relay assigns a 3-bit local identifier — LocID to each directly connected piconet LocID = 000 is reserved to identify the relay itself BF = 0 : inter-piconet unicast packet BF = 1 : inter-piconet broadcast packet
Routing of unicast packets BF=0 : the RVF(routing vector field) contains a sequence of alternating id ’ s LocID,MacAddr,LocId,MacAddr,etc. LocID is a 3-bit local identifier MacAddr is a 3-bit MAC address The source node learns the route via the Route Discovery protocol
Routing of unicast packets When a relay receives such a packet, it sends the packet to the master of the piconet corresponding to the first LocID The master forward this packet to the unit whose MAC address is given by the first MacAddr Before sending, it chops off the first pair(LocID,MacAddr)
Example A scatternet is shown as fig3 7 piconets : M1~M7 A packet sent by unit A destined for E The route is A-B-C-D-E RVF field : 3,4,2,7,5,6,0 (table 1)
Example scatternet
Table 1
Inter-piconet broadcast If a unit has already seen this packet,it discard it If it has not, the unit forwards the packet to all neighbors Broadcast packets carry BF=1
Inter-piconet broadcast When a relay receives an inter-piconet broadcast packet, it looks in the RVF If its own Bluetooth address is already in RVF discard the packet If not adds its own Bluetooth address to RVF and send the payload to all masters it is connected to, except the one it has received the packet from
The sequence number method Use master memory to reduce the traffic of broadcast packets The procedure is similar to the PI protocol Broadcast packet include the source Bluetooth id(48bit) and a sequence number
Route Discovery Discovery of the first route The source initiates a broadcast of SEARCH packets SEARCH packets are Layer 3 control packets that are broadcast in the entire scatternet
Table 2
Route Discovery(cont.) The payload of the SEARCH packets accumulates the list of pairs that represent the route from the destination to the source as follows When the destination unit receives the first SEARCH packet, it returns a unicast REPLY to the source,using the path in the SEARCH packet
Conclusion An environment consisting of a collection of devices communicating with each other over a Bluetooth scatternet Nodes may join or leave anytime Non-PC class devices to be the first class participants of the network
Conclusion (cont.) Keep state in the packet in order to minimize state in intermediate nodes Although a number of ad hoc routing schemes already exist, a unique set of design compromises need to be made for adapting known methods over Bluetooth scatternets
Discovery of the second route Using SEARCH2 message Route built is similarly to the first The relays on the first route delay the SEARCH2 packet transmission for a certain period The relays that are not on the first selected route are given chance to be on the route