1 2 The Vision Universal wireless connectivity Replace existing cables with radio Connect systems that have been separate Ubiquitous computing environment Intelligent devices performing distributed services Redesign hardware as object-oriented Unconscious connectivity paradigm Devices interconnect automatically Minimal user intervention Wireless Personal Area Network (wpan) Small networks formed dynamically Wireless internetworking among wpans 3 4 Universal Wireless Connectivity Universal Wireless Connectivity Replace existing cables with radio Connect systems that have been separate
5 6 Ubiquitous Computing Environment Intelligence is local and communication is universal devices Search for other compatible devices Share information about services they provide Exchange commonly defined data objects Service provision is distributed over wpan Integrated automation of Central servers Information repositories Sensors Actuators Example of Ubiquitous Computing Environment Automated integration of: PC PDA Telephone Stereo System mp3 device Global Positioning System (GPS) Coffee Pot Toaster Oven 7 8 Unconscious Connectivity Paradigm Wireless Personal Area Network (WPAN) Connectivity is a problem for the user Inconvenient to establish connections manually Available devices change frequently Users may not remember how to connect Devices connect automatically and dynamically Devices discover one another Devices determine when and why to connect Users do not need to remember how to connect Small network Piconet formed dynamically Short-range, Ad Hoc networks Device can belong to several Piconets simultaneously Each Piconet has One device (Primary) 1 to 7 devices (Secondary)
9 10 Example of The Vision User Enters hotel lobby PDA in user's pocket Connects to hotel reservations system for check in Receives key code for door Displays room number Alerts laptop in suitcase to log onto hotel email server User's Laptop Downloads messages while user waits for elevator User's PDA Unlocks door of hotel room User's laptop Uploads music to audio system User's PDA Orders room service from menu user prepared on airplane Example of a Real Product Three-in-One Telephone Automatic network selection by environment: Intercom at home or in office PSTN phone when a PSTN access point is available Cellular mobile phone otherwise 11 12 How is Different? Standards and Information In cellular and wlan systems: Base Stations and Mobile Stations are clearly distinct Base Stations handle services Channel access Channel allocation Traffic control Interference problems Mobile Stations are relatively simple clients In Ad Hoc networks: Communication is peer to peer No central controller Devices in area self-organize in a shared channel May be many devices in region Only a few need to communicate Mutual coordination is complex Special Interest Group (SIG) Commercial consortium founded by: Ericsson, IBM, Intel, Nokia and Toshiba Issued Specification 1.1 Basic protocol specification (1,084 pages) Generic application specification (452 pages) Standardized by IEEE 802 Committee IEEE Std 802.15.1-2002 Specification for Wireless Personal Area Networks (wpans) Covers only Infrastructure Layers Physical and Data Link Issues Does not address service provision
13 14 Problems with Specification History 1536 pages with no system overview chapter Each protocol layer is described in isolation Poor definition of states and events States and state transitions given identical names States are named after their default activity IEEE 802.15 Standard is better written Provides overview Includes a formal description, written in Specification and Description Language (SDL) Designed in 1994 by Ericsson of Sweden Standard is named after Harald Blaatand "" II King of Denmark 940-981 C.E. United Denmark and Norway Special Interest Group (SIG) Founded by Ericsson, IBM, Intel, Nokia and Toshiba Includes 3Com, Microsoft, Lucent and Motorola Over 2000 other companies 15 16 Standard Structures Protocol Layers Services and functionality Device discovery Formation of wpans Service discovery wpan management Protocol structure and functions functions Session/Transport functions Data Link functions Physical transmission functions Generic application profiles Serial data transfer Telephony Packet services Device specific services Layer MAC Sublayer Physical Layer Mapping to OSI Functions Session/Transport Functions Data Link (LLC + MAC) Functions Physical Functions Actual Functionality
17 18 Protocol Overview Frequency Hopping Layer Logical Link Control and Adaptation Protocol () Host Controller Interface () Link Manager Protocol () Layer Layer User application programs User application support protocols: FTP, TCP, WAP, PPP, telephony, USB, Serial Port, etc Channel management (socket-type interface), Segmentation and Reassembly, QoS (speed, reliability, delay) Supports standard I/O hardware standards (when device is external to PC) Manages Piconet membership and link activity Manages point-to-point links, handles security, and interfaces user data to the radio links Physical data transmission (FHSS in ISM band, at 10 or 100 meter broadcast range) transmits using Frequency Hopping (FHSS) Group of RF frequencies = 2401 + k MHz, for k = 0, 1,, 78 Specific Hop Sequence depends on Service Clock Device Data transmission Pseudorandom hop sequence Connection control Deterministic hop sequences Frequency Hop Sequence Train = sequence of integers {k 0, k 1, k 2,, k N } 0 k i 78, for i = 0, 1,, N N = 16 or 32 19 20 Time Slots Frequency Hopping Clock is a 28-bit counter Upper 27 bits define Time Slot 2 Clock Cycles per Time Slot Counter creates 2 27 = 134,271,728 numbered Time Slots Counts from 0 to 2 27 1 (then returns to 0) Packet transmission begins on a Time Slot boundary Packets may be up to 5 Time Slots in length Frequency hop on each Time Slot Unless packet is longer than 1 Slot No frequency hop during a multi-slot packet Each Time Slot is 625 µs in length (1600 slots/second) Time slot number returns to 0 every 23.3 hours f 0 f 1 f 2 f 3 f 5 f 6 f 7 t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7
21 22 Piconet Topologies Wireless Personal Area Networks (WPAN) Piconets (from pico = 10-12 ) Physical Channel Specific Frequency Hop Sequence Point-To-Multipoint Piconet One device is 1 to 7 s in active connection to master 1 to 256 s in passive connection to master Passive connection called "parked" state Point-to-Point Piconet Two devices on a common Physical Channel FHS is unique to a given Piconet device acts as client device acts as server 23 24 Wireless Personal Area Networks (WPAN) Synchronous Connection Oriented (SCO) Links Combination of Piconets Some devices act as in one Piconet in another Piconet Point-to-Point link between and Circuit-mode connection based on reserved slots Symmetric transmission rate Supports isochronous information like voice can support 1 to 3 SCO links to one or more s can support 1 to 3 SCO links with one 1 or 2 SCO links from different s
25 26 Asynchronous Connectionless Link (ACL) Connection Layers Point-to-Multipoint link Connects and all active s in Piconet Packet-mode connection Based on statistical multiplexing Uses available slots not reserved for SCO links Asynchronous and Isochronous services supported Only one ACL link between a and a channel multiplexing packet mode service packet mode service packet mode service circuit mode service C C C packet mode channel B B B packet mode channel A A A packet mode channel circuit mode channel packet mode service packet mode service packet mode service circuit mode service packet switch C B A ACL: asynchronous connectionless link packet switch circuit switch SCO: synchronous connection-oriented link circuit switch radio SCO ACL SCO ACL SCO ACL packets over radio connection Connection: synchronized frequency hop sequence radio 27 28 Overview of Services and Functionality State Relationships Low Level Connection Standby communication is not active Inquiry device identifies other devices Paging Devices synchronize a physical radio link Link Establishment Devices establish digital data links High Level Connection Service Discovery Devices exchange capability information Service s open service channels over the link Power Management Operational Modes Active, Sniff, Hold, and Parked
29 30 Device Standby Condition Inquiry Procedures Low power state transmission system inactive Internal System Clock is running Clock must run to maintain synchronization device searches for other devices Device in Inquiry State Clock synchronization method Devices have independently running internal clocks Clock Offset = difference between 2 clock values Standby device Stores offset for device discovered by Inquiry Estimate device synchronization using stored offset device stores offset for device Synchronizes to using stored offset Maintains offset and internal clock in low power modes Device in Inquiry Scan State Device enters Inquiry State Inquiry Inquiry Inquiry Inquiry Device in Inquiry Scan State Device enters Inquiry State 31 32 Inquiry Inquiry Hop Sequence (Train) Inquiring device enters Inquiry State Transmits Inquiry message Contains code for Inquiry Type General Inquiry Addressed to all devices Dedicated Inquiry Addressed to a particular class of devices Printers, telephones, etc Inquiry message repeated 16 times during 32 Time Slots Each transmission at a different frequency Listens for s in alternate Time Slots f 0 f 1... f 14 f 15 t 0 t 1 t 2 t 3 t 28 t 29 t 30 t 31 Two defined frequency Inquiry Trains A and B Each Train repeated 256 times Enough time to collect all Inquiry s Total time required for Inquiry is 32 time slots 2 Trains 256 attempts 625 μsec 10.24 seconds = Train attempt Inquiry time slot Inquiry
33 34 Inquiry Scan Inquiry 1 Devices periodically enter Inquiry Scan State Enter from Standby State or Connected State Active SCO links are maintained Active ACL links are suspended Device listens for Inquiry message packets Listens at just one frequency Chosen from Inquiry Train A or B Particular frequency depends on device address Responding device Leaves Inquiry Scan State Enters Inquiry State Sends Inquiry contains FHS Packet Lower Address Portion (LAP) Lower 24 bits of 48-bit full hardware address Frequency Hop Synchronization (FHS) Value of internal clock in responding device Listens in Inquiry Scan State for at least 32 Time Slots Covers both A and B frequency trains 35 36 Inquiry 2 Paging Procedures Inquiring Device Receives FHS Packet from responding device Calculates clock offset Clock Offset = master clock - received FHS clock Virtual Clock = clock + offset Stores device address and clock offset Builds database of devices and virtual clocks Uses database information when connecting to device Devices use stored FSH packet from other devices Devices synchronize on a physical radio link Paging device becomes Piconet Device enters Paging State Device enters State FHS Device in Scan State Device enters State ACK Connected Poll Null Connected
37 38 Paging Paging Device has database of stored FHS Packets Received and Stored during Inquiry State Database includes 24-bit Lower Address Portion (LAP) Clock Offset for each device Device initiates connection as Chooses device from database to be Calculates Device Access Code (DAC) Long code derived from LAP 68 bits (for short ID packet) or 72 bits (if followed by a header) Used for addressing, timing synchronization, DC-offset compensation Estimates when enters Scan State Based on stored Clock Offset for device May be totally wrong and not yet synchronized FHS ACK Poll Null transmits message message length is 1 time slot repeated on all Scan frequencies Hop Frequency Trains Two 16-frequency Trains (A and B) Calculated from stored Device Address Transmission starts at estimated listening frequency Each Train is repeated up to 128 times waits for between Trains Train stopped if response is received f 0 f 1 f 2... f 14 f 15 t 0 t 1 t 2 t 3 t 14 t 15 FHS ACK Poll Null 39 40 Scan 1 Device periodically enters Scan State Enters from Standby State or Connection State Responds as device listens for Messages Addressed to its Device Access Code (DAC) Listens at unique Scan frequency fk One frequency from Train Calculated from Device Address Listens to entire Train Does not respond in Scan State Must not interrupt Train receives Message FHS ACK Poll Null Device leaves Scan State Enters State Sends Message On unique frequency f k = Scan frequency f k+1 = frequency Transmitted in time slot k+1 provides with s unique Scan frequency f 0 f 1 f 2 f k f k+1 f 15 t 0 t 1 t 2 t 3 t k t k+1 t 15 listens for Paging on f k...... is short packet ID packet containing 68-bit DAC sends on f k+1 f k+1 t 0 t 1 t 2 t 3 t k t k+1 t 15 FHS ACK Poll Null
41 42 2 3 receives Message Synchronizes to listening frequency Received on frequency f k+1 Transmits next packet to on frequency f k+2 Enters State sends FHS packet to on frequency f k+2 Provides with Lower Address Portion (LAP) stores clock offset for now synchronized to Assigns Active Member Address 3-bit AM_ADDR 7 active slaves per Piconet FHS ACK responds to ACK (ID packet) with Poll Packet Addressed to s Active Member Address responds with Null Packet (header only) If Procedure is successful Paging is finished and are in Connected State Synchronized on a radio link Otherwise, Paging has failed Error procedures are followed FHS ACK acknowledges FHS with ACK (ID packet) Poll Null Poll Null 43 44 Connection Modes Digital Link Establishment Connected devices may establish digital links Synchronous Connection Oriented (SCO) Link Point-to-Point circuit-mode connection sends Link Manager Protocol () Request to set up ACL Accepts or Rejects link Asynchronous Connectionless Link (ACL) Point-to-Multipoint Packet-mode connection may request to exchange roles (become ) Connected Connect Request Connected may Accept or Reject Linked Accept Linked
45 46 Service Discovery Service Service Discovery Protocol (SDP) Invoked when Connection State established Opens Channel on ACL link SDP (client) Queries SDP (server) about available services Maintains database of services available from slaves SDP (server) Provides service information SPD specifies Database structure Service codes s identify service providers using SDP Packet-oriented applications Open channels on ACL link Channels use a source/destination port session structure One connection-oriented application Can open a channel on SCO link SCO channel transfers raw data Channels are a time division sharing of ACL link 47 48 Predefined Services Active Mode Defined through the Service Discovery Protocol (SDP) Telephony Control Protocol Specification (TCS) Serial Data communication WAP Object Exchange Protocol Support (TCP/IP, PPP, email, ) Full power mode Units actively communicate and s transmit in alternate slots transmits in every even numbered slot The addressed transmits in the next odd numbered slot Transmissions from keep all s synchronized
49 50 Sniff Mode Hold Mode A low power mode for Listening activity of the is reduced listens for transmissions Only at fixed intervals T sniff At the offset Slot D sniff For N sniff Time Slots SCO links may remain active ACL link is put on hold may enter sleep mode Device keeps its Active Member Address Extra capacity can be used for Scanning Paging Inquiring Communicating in another Piconet and agree on hold interval After hold interval returns to Active Mode 51 52 Park Mode Protocol Layers Very low power mode gives up its 3-bit Active Member Address gets 8-bit Parked Member Address Used by to Unpark a slave 8-bit Access Request Address Used by to ask to Unpark it Layer MAC Sublayer Functions Session/Transport Functions Data Link (LLC + MAC) Functions stays synchronized to the channel Physical Layer Physical Functions Mapping to OSI Actual Functionality
53 54 Layer User programs Networking clients Service Discovery Protocol (SDP) Client/Server architecture Server maintains database of provided services Client may query specific service or all services Telephony Control Protocol Specification (TCS) RFCOMM parallel and serial port emulation Interfaces May invoke Profile for protocol support May request channel in ACL link from May request SCO channel from Network Protocol Emulation TCP/IP, PPP, FTP, WAP, OBEX Transaction oriented Object Exchange Similar to HTTP Request channel in ACL link from 55 56 1 Logical Link Control and Adaptation Protocol Protocol Multiplexing Divides ACL links into channels One channel per service between two devices packet header contains the service s channel number Segmentation and Reassembly (SAR) accepts packets 0 to 64 KB packet SDU is 0 to 2745 bits QoS Management Peak bandwidth Latency Delay variation 2 Unreliable session-type service No error checking Relies on for error control, security and packet ordering Establishes a separate Signaling Channel Connection request Configuration Disconnection Echo (for testing) Transaction Oriented Receives request from upper layer Performs actions Returns responses to upper layer usually invokes service from
57 58 Link Manager Protocol () Manages ACL link establishment state Transaction process with baseband Handles Link configuration (hopping sequence for each Piconet) Juggles participation in multiple Piconets (and their hop sequences) Manages Inquiry and Paging Transaction process with baseband Attaches/detaches s (by ) Exchanges / roles Manages low power modes: Hold, Sniff, Park Manages Security functions Authentication of devices Packet Header contains Addresses (Device, Active Member, Access Code) Reliability Parameters (SEQ, ACK, HEC, Flow Control) invokes services from Layer Performs frequency hopping (one Piconet at a time) Lower level encryption (generates encryption keys) Performs services for Inquiry and Paging Link establishment Connection establishment (SCO/ACL) Clock synchronization Address discovery Error correction Data whitening Forwards data to Layer (one Piconet at a time) 59 60 Performs physical transmission/reception Transmission Frequencies 2402 + k MHz, where k= 0,1,...,78 Actual k value is determined by Deterministic Frequency Hopping Trains for Management Pseudo-random Frequency Hopping Trains for data transmission Transmitter Power 0 dbm (1 mw) for 10 m transmission range 20 dbm (100 mw) for 100 m range Host Controller Interface For external transmitter modules Host data sent to via I/O port Serial port, parallel port, or USB High level stack, Profiles, Runs under host OS Low level stack,, Runs in external hardware Host Controller Interface () Interfaces I/O port driver to Standard software driver operates I/O port for the OS
61 62 Host Controller Interface Operation Review of the Connection Process 1 Low Level Connection Initiated and managed by layer Device Discovery Inquiry Device A initiates Inquiry Inquiry Scan Device B listens for Inquiry packets Inquiry Device B receives Inquiry and sends Inquiry packet Connection Paging device s device Scan device listens for Paging Paging s synchronizes clock and hopping sequence Devices are now Connected in a Piconet Link Establishment opens an ACL link over the Piconet Connection informs SDP of the ACL link 63 64 Review of the Connection Process 2 Security Features High Level Connection SDP (in Layer) requests a Channel (in the ACL link) from maps a Channel over the ACL link for SDP SDP client formulates Service Query Query is Fragmented by and sent to addresses query to device and sends to formulates transmission frame and sends to Layer Layer broadcasts s open Channels over the ACL link Telephony s use TCS (based on Q.921) to request SCO directly from Fast frequency hopping Low transmit power (range <= 10m) Authentication of remote device based on link key (128 Bit) May be performed in both directions Encryption of payload data Stream cipher algorithm ( 128 Bit) Affects all traffic on a link Initialization PIN entry by user
65 66 Synchronization Profile Headset Profile IrOBEX IrMC AT Commands RFCOMM RFCOMM Audio Stream ACL SCO ACL SCO 67 68 LAN Access Point Profile PPP RFCOMM Earpiece Philips Semiconductor VWS26003 3 Integrated Circuits processor (VWS26002) Ceramic Multi-chip RF module (PBA 31301) External Flash memory NiMh or Lithium ion battery Talk time ~4 hours Size weight 75g, 15cc ACL SCO
69 70 Philips Semiconductor VWS26003 Philips Semiconductor VWS26003 VWS26002 processor ARM7 TDMI 32-bit embedded RISC processor 72 kbytes internal SRAM 4 kbytes internal ROM 4 kbytes internal SRAM instruction cache Timers and watchdog. 8 general purpose PIO pins. Voice Codec PBA 31301 Frequency Module Software Point to Point Protocol stack Systems or NiMh or Li Ion battery 71 72 Single Chip Device Controller Typical Earpiece Organization Philips PCD87750E MTP = Multiple Time Programmable ROM EBC = Ericsson Core CVSD = Continuously Variable Slope Delta modulation SPI = Security Parameter Index