Title: Patterns in Bluetooth
1Patterns in Bluetooth
Aniruddha Gokhale agokhale_at_lucent.com Bell Labs
Research, Lucent Technologies Murray Hill, NJ, USA
2Overview of Patterns
Patterns codify expert knowledge to help generate
software architectures by capturing recurring
structures dynamics and resolving common design
forces
www.posa.uci.edu/
Design patterns capture the static dynamic
roles relationships in solutions that occur
repeatedly
Architectural patterns express a fundamental
structural organization for software systems that
provide a set of predefined subsystems, specify
their relationships, include the rules and
guidelines for organizing the relationships
between them
Optimization principle patterns document rules
for avoiding common design implementation
mistakes that degrade performance
3Overview of Bluetooth
- www.bluetooth.com
- De facto standard for low-cost, short range radio
links between mobile devices - Formed by a consortium of telecommunications
- Goal is to eliminate the need for cable
connectivity and promote full scale ad hoc
networking - Operates in the unlicensed ISM band at 2.4 GHz
4Overview of Bluetooth
- www.bluetooth.com
- De facto standard for low-cost, short range radio
links between mobile devices - Formed by a consortium of telecommunications
- Goal is to eliminate the need for cable
connectivity and promote full scale ad hoc
networking - Operates in the unlicensed ISM band at 2.4 GHz
Primary components include a radio unit, a link
control unit, and a support unit for link
management and host-terminal interface
5Layers Pattern
Intent Helps to structure applications that can
be decomposed into groups of subtasks in which
each group of subtasks is at a particular level
of abstraction
Forces Tasks independent of each other need to
be decoupled
Bluetooth Usage Defines a protocol stack
Known Uses OSI Seven Layers, STREAMS
6Bluetooth Protocol Stack
- Link Manager Protocol (LMP)
- Used for link setup, security, and control
- Baseband Specification
- Short range radio link
- Uses slotted channel
- channels point-to-point or point-to-multipoint
- Supports both circuit-switched (SCO - synchronous
connection-oriented) and packet-switched (ACL -
asynchronous connectionless) links.
- Radio Specification
- 2.4 GHz ISM band (2,400-2,483.5 MHz)
- Channels spaced 1MHz apart
- Gaussian FSK modulation
7Bluetooth Protocol Stack
- Logical Link Control and Adaptation Protocol
(L2CAP) - Higher layer protocol multiplexing for SDP, TCS,
RFCOMM - Packet segmentation and reassembly
- Only for ACL links
- Provides group abstractions
- Provides the means to convey QoS information
- MTU 64 Kbytes
8Multiplexor Dispatcher Pattern
Intent Multiplex messages from differing tasks
into one task, and de-multiplex and dispatch
messages from one task to one of several tasks
Forces Support several tasks with differing
message formats on top of a single task with its
own message format
Bluetooth Usage L2CAP Layer multiplexes packets
from SDP, RFCOMM, TCS, and IP telephony protocol
layers
- Known Uses
- TCP/IP
- System V STREAMS
- ACE Reactor
9SAR Pattern
Intent Reassemble fragmented messages in the
correct order before dispatching them to their
destination task
Forces Guarantee ordered delivery of messages to
upper layers when lower layers fragment messages
and can lose or reorder messages
- Bluetooth Usage
- L2CAP segments and reassembles packets for SDP,
RFCOMM, TCS, and IP telephony protocols
- Known Uses
- TCP/IP
- Reliable multicast over UDP
10Bluetooth Protocol Stack
- Service Discovery Protocol (SDP)
- Locating services and their characteristics
- Allows search based on attributes or service
classes - Allows discovery without consulting a third
device - Provides only information about the service and
not direct access to the service
- RFCOMM
- Provides emulation of serial ports over L2CAP
- Provides a unified interface for communication
medium between Bluetooth devices
11Lookup Pattern
Intent Describes how to find and retrieve
initial references to distributed objects and
services
Forces Discover services in an ad hoc network
- Bluetooth Usage
- SDP allows discovery of services, however, actual
initial references must be obtained differently
- Known Uses
- JINI Lookup Service
- CORBA Naming and Trading Service
12Service Browsing Pattern
Intent Allows browsing all services offered by a
Lookup Service
Forces Ability to query based on class or
characteristics of services
- Bluetooth Usage
- SDP allows discovering all services based on
attributes
- Known Uses
- JINI Lookup Service
- CORBA Trading Service
13Bluetooth Protocol Stack
- IrDA Interoperability (IrOBEX)
- Protocol to function over both short range RF and
infra red (Ir) media - IrOBEX is a session protocol mapped over RFCOMM,
IrDA, or TCP/IP - Provides a model for representing objects that
follow a client/server request/response paradigm
- Telephony Control (TCS)
- Defines the call control signaling for the
establishment of speech and data calls between
Bluetooth devices - Defines mobility management issues
14Broker Pattern
Intent Used to structure distributed systems
with decoupled components that interact by remote
method invocations
Forces Request/response communication between
Bluetooth devices
- Bluetooth Usage
- OBEX (OBject EXchange) protocol provides a model
to represent objects using client/server paradigm
- Known Uses
- CORBA ORB
- Java RMI
- DCOM
15Facade Pattern
Intent Provide a unified interface to a set of
interfaces in a subsystem
Forces Several disparate interfaces that must be
unified
- Bluetooth Usage
- OBEX (OBject EXchange) protocol provides a
unified interface for the underlying transport - RFCOMM provides a unified interface over
communication medium between Bluetooth devices
BT Device
BT Device
RFCOMM
Modem Device
BT Device
Network
RFCOMM
16Pluggable Protocol Pattern
Intent To be able to use disparate subtasks to
deliver messages belonging to a particular task
Forces Unifying several disparate lower layers
in a Layer pattern
- Bluetooth Usage
- OBEX (OBject EXchange) protocol can run on top of
IrDA, RFCOMM, and TCP/IP
- Known Uses
- TAO ORB supporting several underlying transports
such as TCP/IP, ATM, shared memory
17Interoperability Requirements for Wireless
Application Protocol (WAP)
- Many characteristics of Bluetooth devices shared
with WAP target platforms - Same device may be enabled for both protocols
- WAP clients and servers use PPP to use the
physical and link control medium provided by
Bluetooth - Provide access to WAPs value-added services
using the ad hoc, dynamic characteristics of
Bluetooth
18Bridge Pattern
Intent Decouples an abstraction from its
implementation so that the two can vary
independently
Forces Maintain independence between WAP and
Bluetooth, however, allowing WAP applications to
communicate over Bluetooth
Bluetooth Usage PPP serves as the bridge between
WAP applications and the communication medium
offered by Bluetooth
19Concluding Remarks
- Bluetooth is the de facto standard for low cost,
short range, wireless communications between
portable devices - Bluetooth aims to eliminate the need for cables
and promote full scale ad hoc networking