Smart Home Technologies Networking Networking for Smart Homes Requirements Network Topologies Technologies Networking Service Discovery Requirements Noise Rejection Bandwidth Sensors have to be connected to processing units Integration Smart Homes can contain many sensors and actuators Sensor data can be generated at different rates Connectivity Network has to allow for reliable communication Requires preservation of data and synchronization of data lines Network structures have to be integrated into buildings Privacy and Security Smart Home networks will transfer private and sensitive data Bandwidth Requirements Example Camera (15) – 320x240, 8-bit color Motion (15) – distance, direction, velocity Temperature (12) Humidity (12) Light (12) – frequency, intensity Microphone (12) – 8000 Hz Gas (4) Pressure (100) Bandwidth Requirements Sensor Number Bits/sec (1) Bits/sec (total) Camera (320x240) 8-bit color 15 184,320 2,764,800 Motion (dir/dis/vel) 15 48 720 Temperature 12 16 192 Humidity 12 16 192 Light (inten/freq) 12 32 384 Microphone (8KHz) 12 64,000 768,000 Gas 4 16 64 Pressure 100 16 1600 Total 182 248,464 3,535,952 Other Bandwidth Requirements Audio Phones (16 kHz, 8 bit) Radios (44 kHz, 16 bit) TVs (44 kHz, 16 bit) Media players (44 kHz, 16 bit) Monitoring (16 kHz, 8 bit) 2.4 Mbits/sec (one each) Internet, control, … Video Phones (30fps, 320x240, 8-bit color) TVs (60 fps, 1024x768, 24-bit color) Video players (60 fps, 1024x768, 24-bit color) Monitoring (30 fps, 320x240, 8-bit color) ~6.9 Gbits/sec (one each) Other Bandwidth Requirements Other Network Requirements Worst-case throughput: 10 Gbits/sec Maximum throughput: 5 Gbits/sec Quality of Service (QoS) Audio, video Plug and play (service discovery) Network Topologies Infrastructure-Based Networks Point-To-Point Networks Pre-defined routes through the network Nodes can directly address each other and routers forward packets appropriately Addition of nodes changes the routing pattern Every node has a connection to every other node Communication is directly between the nodes High overhead setting up the connections for new nodes Ad-Hoc Networks Routes are determined “on the fly” and can change Nodes forward signals for other nodes Addition of nodes can be handled relatively straightforwardly Topologies (Point-to-Point) A B Every device is connected to every other device Good points C D simplest approach no addressing needed everyone is your neighbor you can always talk to your neighbor Bad points number of ports/lines grow relatively quickly with the number of devices Topologies (Hierarchy) A B Devices are connected via hubs to other devices Good points C fewer connections devices can have neighborhoods Bad points D If everyone is connected to a single hub, it is called a Star topology you need an address you may have to wait to talk to a neighbor asymmetric communication with some devices Topologies (Broadcast) A B All of the devices are connected to a single wire Good points C Bad points D single wire everyone is your neighbor you need an address you may have to wait to talk to anyone collisions can occur communication times become statistical Physical Addresses A 0001 If more than two devices are on the same wire (bus), you will need an address to send and receive data Approaches B 1111 Issues C D 1000 1100 separate vs. combined data/address lines hardwired vs. selectable address as the number of devices increase, the address space (size of the address) must increase hardwired addresses may tell you nothing about the network topology addresses will be used up by devices that might not be on-line so your address space may be too big, causing too much overhead Virtual Addresses A B C 00 A solution to some physical address problems is a virtual address 01 10 Approaches D 11 the address space (size of the address) can be reduced by only giving addresses to on-line devices addresses can be set up to support network topology fixed vs. run-time addresses universal vs. p-to-p addresses Issues how to assign them their relationship to the physical address Network Technologies Wired Phone Line Power Line New Wire Wireless RF Infrared Wired Network Technology Examples Phone line Power line Home Phoneline Networking Alliance (HomePNA) X10 Consumer Electronics Bus (CEBus) HomePlug LonWorks New wire Ethernet (coax, twisted pair, optical fiber) Universal Serial Bus (USB) IEEE 1394 Firewire Home Audio Video Interoperability (HAVi) Specialty: audio, video Phoneline Networking Home Phoneline Networking Alliance (HomePNA) IEEE 802.3 (Ethernet) www.homepna.org Carrier Sense Multiple Access with Collision Detect (CSMA/CD) 10 Mbps (HPNA 2.0) Length: 500 feet HomePNA Packet HomePNA Frequencies Standard voice (POTS): 20Hz - 3.4kHz UADSL: 25kHz - 1.1MHz Home network: 5.5MHz - 9.5MHz Phoneline Network Issues Random wiring topologies & signal attenuation Home phoneline wiring system is a random “tree” topology Simply plugging in the phone or disconnecting the fax changes the tree This topology can cause signal attenuation Signal noise Appliances, heaters, air conditioners, consumer appliances & telephones can introduce signal noise onto the phone wires Powerline Networking Ubiquity of power lines 10+ Mbps Technologies X10 Consumer Electronics Bus (CEBus) HomePlug LonWorks X10 X10 controllers send signals over existing AC wiring to receiver modules X10 technology transmits binary data using the Amplitude Modulation (AM) technique www.x10.com X10 To differentiate the data symbols, the carrier uses the zero-voltage crossing point of the 60Hz AC sine wave on the cycle’s positive or negative transition Synchronized receivers accept the carrier at each zero-crossing point X10 uses two zero crossings to transmit a binary digit so as to reduce errors X10 Every bit requires a full 60 Hertz cycle and thus the X10 transmission rate is limited to only 60 bps Usually a complete X10 command consists of two packets with a 3 cycle gap between each packet Each packet contains two identical messages of 11 bits (or 11 cycles) each A complete X-10 command consumes 47 cycles that yields a transmission time of about 0.8s Consumer Electronics Bus (CEBus) Open standard providing separate physical layer specification for communication on power lines and other media Electronic Industries Association (EIA-600) www.cebus.org Data packets are transmitted by the transceiver at about 10 Kbps Carrier Sense Multiple Access/Collision Detect (CSMA/CD) Employing spread spectrum technology (100Hz-400 Hz) OSI and CEBus (EIA-600) Spread Spectrum Modulation Frequency spectrum of a data-signal is spread using a code uncorrelated with that signal Sacrifices bandwidth to gain signal-to-noise performance HomePlug HomePlug Powerline Alliance www.homeplug.org Spread-spectrum technology HomePlug Speed Support file transfers at 10BaseT-like rates Either node-to-node file transfer or scenarios with multiple nodes performing simultaneous file transfers HomePlug 1.0 (14 Mbps) Voice over IP (VoIP) Maintain adequate QoS while supporting multiple, simultaneous VoIP calls while other nodes are transferring files and during multiple media streams HomePlug Interoperability Interoperate with other networking technologies Co-exist with existing powerline networking technologies such as X-10, CEBus and LonWorks Security Contain strong privacy features Support multiple logical networks on a single physical medium Be applicable to markets in North America, Europe and Asia LonWorks Local Operation Networks (LonWorks) Developed by Echelon Corporation www.echelon.com Provides a peer-to-peer communication protocol, implementing Carrier Sense Multiple Access (CSMA) techniques 1.25 Mbps Works for other wired and wireless media LonWorks A common message-based communications protocol LonTalk protocol implements all seven layers of the OSI model using a mixture of hardware and firmware on a silicon chip Protocol can be run as fast as 20 MHz Powerline Network Issues Noise Switching power supplies Wound motors Vacuum cleaners, kitchen appliances, drills Dimmers Security Signal attenuation New Wire Networking Ethernet (coax, twisted pair, optical fiber) Universal Serial Bus (USB) IEEE 1394 Firewire Home Audio Video Interoperability (HAVi) Specialty: audio, video Ethernet IEEE 802.3 IEEE 802.3ae CSMA/CD Up to 1 Gbps 10GBase-X, 10 Gps Lengths up to 40 km www.ethermanage.com/ethernet IEEE 802.3 Universal Serial Bus (USB) www.usb.org 480 Mbps Plug and Play Hot pluggable Up to 127 devices simultaneously Powered bus 5m maximum cable length IEEE 1394 Firewire (i.LINK) Digital interface No need to convert digital data into analog and tolerate a loss of data integrity Transferring data @ 100, 200, 400 Mbps Physically small The thin serial cable can replace larger and more expensive interfaces IEEE 1394 Firewire No need for terminators or device IDs Hot pluggable Users can add or remove 1394 devices with the bus active Scaleable architecture May mix 100, 200, and 400 Mbps devices on a bus IEEE 1394 Firewire It can connect up to 63 devices @ transfer rate of 400Mbps Up to 16 nodes can be daisy- chained through the connectors Standard cables up to 4.5 m in length for a total standard cable length of 72 m IEEE 1394 Firewire Flexible topology Support of daisy chaining and branching for true peer-to-peer communication Non-proprietary IEEE 1394b 1394b is a significant enhancement to the basic 1394 specification that enables: Speed increases to 3.2 Gbps Distances of 100 meters on UTP-5, plastic optical fiber and glass optical fiber Significantly reduces latency times by using arbitration Fully backwards compatible with the current 1394 and 1394a specifications I2C (Inter-Integrated Circuit) One of the oldest controller buses Philips (1980s) Low-cost chip-to-chip communication link uses two wires to form a clocked serial bus one called Clock (SCL) and the other Data (SDA) the SDA carries address, selection, control, and data Overview multi-master bus (up to 1024 devices) can run at speed up to 3.4 Mbps can be used as a SAN but normal ranges are on the order of 14 cm Home Audio Video Interoperability (HAVi) HAVi is a digital Audio Video networking initiative that provides a home networking software specification Seamless interoperability among home entertainment products Designed to meet the particular demands of digital audio and video www.havi.org HAVi Defines operating-system-neutral middleware that manages: Takes advantage of chips built into modern audio and video appliances Multi-directional AV streams Event schedule Registries Provides the management function of a dedicated audio-video networking system IEEE 1394 (i. LINK or FireWire) has been chosen as the interconnection medium Specialty Wiring Audio Video Coax RCA Speaker wire Coax RCA VGA ~100m maximum cable lengths Automotive Inspired Busses LIN (Local Interconnect Network) Designed for European cars (still used) Very simple single wire single mastered bus Overview 1 master, up to 16 Slaves uses a message-based protocol maximum distance of 40 m Two data rates 9,600 and 19.2 Kbps CAN (Controller Area Network ) CAN was designed to support emission control system in European cars Capable of but became a general automation control bus high-speed (1 Mbits/s) data transmission over short distances (40 m) low-speed (5 kbits/s) transmissions at lengths of up to 10,000 m Overview a multi-master bus highly fault tolerant Built-in support for error detection and handling MOST (Media Oriented System Transport) An inexpensive automotive and appliance network 25 Mbps fiber-optic bus for real-time data transfer used in surroundsound systems and CD and DVD players FlexRay Designed to replace LIN, CAN and MOST as a ‘by wire’ solution for future cars It is a fiber-optic bus (like MOST) Current speed But it is designed to go much higher 10 Mbps could run faster than 100 Mbps But remember that is faster than most current microcontroller’s internal bus speed Wireless Network Technologies Digital Enhanced Cordless Telecommunications (DECT) HomeRF Bluetooth IEEE 802.11 HiperLAN2 Infrared General Wireless Narrow band Spread spectrum Direct Sequence (DSSS) Frequency Hopping (FHSS) Orthogonal Frequency Division Multiplexing (OFDM) DECT Digital Enhanced Cordless Telecommunications (DECT) www.dectweb.com Digital radio technology Dynamic channel selection Encryption, authentication, identification 500 Kbps – 2 Mbps Cordless phones HomeRF www.homerf.org Shared Wireless Access Protocol (SWAP) IEEE 802.11 for data DECT for voice HomeRF Specifications 2.4 GHz band FHSS 1.6 Mbps (10 Mbps with SWAP 2.0) 50m range 127 nodes Bluetooth www.bluetooth.com Ericsson, the principal inventor, borrowed the name from Harald Bluetooth (son of Gorm) The King of Denmark circa 900AD United Denmark and Norway Bluetooth Specifications 2.4 GHz FHSS (79 channels) 1600 hops per second Error correction 1 Mbps capacity, 780 Kbps throughput 10m distance Low power (1 mW) Bluetooth Personal Area Networks (PANs) Piconet Collection of up to 8 devices using same hopping sequence Scatternet Collection of piconets, each with different hopping sequence IEEE 802.11 Standard Frequency PHY Layer Data Rate Distance* 802.11a 5 GHz OFDM 54 Mbps 50m 802.11b 2.4 GHz DSSS 11 Mbps 100m 802.11e, MAC layer Offers QoS and backwards compatibility (in committee) 802.11g 2.4 GHz OFDM 54 Mbps * Data rate degrades with distance. ? HiperLAN2 www.hiperlan2.com 5 GHz 54 Mbps OFDM Automatic frequency allocation TDMA/TDD (Time Division) QoS support Infrared www.irda.org Directed – line of sight Diffuse – reflective 1m range Limited to room size Speed 4 Mbps available 16 Mbps coming 50 Mbps possible Wireless Networking Wireless Issues Distance 2.4 GHz interference Microwave ovens Cordless phones Security Not a backbone solution Wireless Personal Area Networks (WPAN) 802.15.X Intended for low cost, low distance, low power personal networks Often intended for mesh networking E.g. ZigBee (build on 802.11.4) Ad-Hoc Mesh Networks Ad-Hoc networks of wireless sensors and devices Benefits: Easy to build (require no infrastructure to be available) Dynamic and mobile Fault tolerant (usually no single point of failure) Challenges: Choice of routing to optimize performance QoS Power consumption Synchronization and collision avoidance Service Discovery Self-configuring devices Device becomes aware of network, network services and other devices Automatic, as opposed to manual (e.g., DHCP, DNS, LDAP) Several incompatible protocols Service Discovery Protocols Salutation Service Location Protocol (SLP) Jini Universal Plug and Play Zero-Configuration Networking Salutation www.salutation.org Architecture for looking up, discovering and accessing services and information Salutation Abstractions for devices, applications, and services Current definitions Printers Fax machines Document storage devices Address book Schedule Voice message answer, send, storage More coming (e.g., display, OS) Salutation Capabilities exchange protocol Service request protocol “Personalities” (standardized protocols for common services) APIs for information access and session management Service Location Protocol (SLP) Developed by Internet Engineering Task Force (IETF) Applies existing Internet standards to service discovery problem www.srvloc.org www.openslp.org SLP Agents User Agent (UA) Service Agent (SA) The SLP User Agent is a software entity that is looking for the location of one or more services. The SLP Service Agent is a software entity that provides the location of one or more services. Directory Agent(DA) The SLP Directory Agent is a software entity that acts as a centralized repository for service location information. SLP Messages Service Request (SrvRqst) Message sent by UAs to SAs and DAs to request the location of a service. Service Reply (SrvRply) Message sent by SAs and DAs in reply to a SrvRqst. The SrvRply contains the URL of the requested service. SLP Messages (cont.) Service Registration (SrvReg) Service Deregister (SrvDeReg) Message sent by SAs to DAs containing information about a service that is available. Message sent by SAs to inform DAs that a service is no longer available. Service Acknowledge (SrvAck) A generic acknowledgment that is sent by DAs to SAs as a reply to SrvReg and SrcDeReg messages. SLP Messages (cont.) Attribute Request (AttrRqst) Message sent by UAs to request the attributes of a service. Attribute Reply (AttrRply) Message sent by SAs and DAs in reply to a AttrRqst. The AttrRply contains the list of attributes that were requested. SLP Messages (cont.) Service Type Request (SrvTypeRqst) Message sent by UAs to SAs and DAs requesting the types of services that are available. Service Type Reply (SrvTypeRply) Message by SAs and DAs in reply to a SrvTypeRqst. The SrvTypeRply contains a list of requested service types. SLP Messages (cont.) DA Advertisement (DAAdvert) SA Advertisement (SAAdvert) Message sent by DAs to let SAs and UAs know where they are. Message sent by SAs to let UAs know where they are. Unicast or multicast messaging Jini Service discovery for networks of Javaenabled devices www.sun.com/jini www.jini.org Jini Jini Services Lookup Communications Java-RMI, CORBA, … Security Leasing Events Universal Plug and Play Microsoft’s service discovery approach IP-based discovery protocols XML www.upnp.org Examples Universal Plug and Play Devices Containers for services XML description Services Actions (i.e., methods) Control server Event server State (i.e., variables) XML description Universal Plug and Play Control points Retrieve the device description and get a list of associated services. Retrieve service descriptions for interesting services. Invoke actions to control the service. Subscribe to the service’s event source. Anytime the state of the service changes, the event server will send an event to the control point. UPnP Protocols Protocols UDP, TCP/IP, HTTP, XML Simple Service Discovery Protocol (SSDP) Generic Event Notification Architecture (GENA) Send/receive event notifications using HTTP over TCP/IP and multicast UDP Simple Object Access Protocol (SOAP) XML and HTTP for remote procedure calls UPnP Protocol Stack UPnP Vendor Defined UPnP Forum Working Committee Defined UPnP Device Architecture Defined SSDP HTTPMU GENA (Discovery) SSDP HTTPU (Discovery) UDP SOAP (Control) HTTP GENA (Events) HTTP (Description) TCP IP Zero-Configuration Networking Zeroconf (www.zeroconf.org) IETF standard Objectives Allocate addresses without a DHCP server Translate between names and IP addresses without a DNS server Find services, like printers, without a directory server Allocate IP Multicast addresses without a MADCAP server Multicast Address Dynamic Client Allocation Protocol Zeroconf Protocols Address autoconfiguration Configure interfaces with unique addresses Determine which subnet mask to use Detect duplicate address assignment Cope with collisions Name-to-address translation Multicast DNS Decentralized Zeroconf Protocols Service discovery Service Location Protocol (SLP) DNS Service Resource Record Use expanded DNS for service requests Multicast address allocation Zeroconf Multicast Address Allocation Protocol (ZMAAP) Allocate unique addresses and maintain them over time Prevent reallocation of assigned addresses Be notified of multicast allocation collision