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