240 likes | 380 Views
Aladdin: A Toolkit for Building Dependable and Extensible Home Networking Applications. Yi-Min Wang Microsoft Research Joint work with Wilf Russell, Anish Arora. OUTLINE. Overview of the Aladdin System Home Networking Challenges Extensibility: Device Discovery and Lookup
E N D
Aladdin: A Toolkit for Building Dependable and Extensible Home Networking Applications Yi-Min Wang Microsoft Research Joint work with Wilf Russell, Anish Arora
OUTLINE • Overview of the Aladdin System • Home Networking Challenges • Extensibility: Device Discovery and Lookup • Aladdin Device Adapter • Attribute-based and name-based lookups • Dependability: Soft-State Store w/ Eventing • Summary
Connect to your house at any time, from any place, on any device Aladdin ? ?
Aladdin Device Adapter (ADA) Application scenarios in actual deployment Text-based Interface Laptop Emails Natural Language Parser MSN Device control objects Email Daemon AT&T Wireless Lookup Services Eventing Monitoring Daemon Soft-State Store Cell phone Text messaging
IR Bridge A/V Bridge RF Bridge Powerline Bridge A/V Devices IR Devices RF Devices Powerline Devices Ideal Future Architecture Other Networked Devices User Access Point (UAP) Networked Thermostats Networked Video Cameras & Sensors Ethernet UAP UAP Home Gateway
USB Ports Serial Ports A/V & IR Bridge Powerline Bridge Thermostat Video Camera A/V Devices Powerline Devices RF Transceiver Sensors Current Architecture Bonus Room UAP (Win98) Bedroom UAP (Win98) Phoneline Ethernet Family Room Home Gateway (Win98) Kitchen UAP (Win98) Garage UAP (Win98) Den UAP (Win98)
Home Networking Challenges • Dynamic • Device discovery; lookup service • Network partitioning: powerline, phoneline, RF, IR • Heterogeneous • Networks: powerline, phoneline, RF, IR, A/V, etc. • Devices: one-way, battery-operated, dumb device • Software: protocols, languages, paradigms • More failures • Unreliable nature of consumer devices • Naïve and less tolerant users • No / shared administrator; need self-managing
Internet RF Interference Byzantine Device Intruder Failures in home networking systems Battery-operated Wireless sensor Remote Access Devices Home Gateway Daemon PC #1 (Lookup service Daemon) RF Transceiver Phoneline NIC Powerline NIC Email Servers ISP Lamp #1 PC #2 Lamp #2 Phoneline Powerline
Device Discovery and Lookup • Existing device discovery protocols • Only for smart Ethernet devices • General-purpose: good for lookups based on “factory attributes” • Aladdin device discovery protocol • A bridging protocol for “dumb” devices • Focus on home networking: lookups based on “field attributes” (e.g. physical locations)
PC #1 Attribute- Based Lookup Service (ABLS) Object PC #2 Aladdin Device Adapter Name- Based Lookup Service (NBLS) Attributes Smart Device Protocol Address Object Smart devices versus “dumb” devices
Announcements & queries based on factory attributes or unique IDs Systems & Apps General Devices Queries based on device types & physical locations Announcements based on device types & physical locations Factory attributes vs. field attributes
One-step administration: communication address to physical location mapping F3 F16 D10 Bonus Room Master Bedroom K3 D16 G5 J16 Family Room Living Room Kitchen J14 E4 E3 E16 O16 Crawl Space Garage N3 P16
Aladdin Device Adapter (ADA) for X10 • Announce • AC current sensor detects current thru device • Transmit device type and X10 address in extended X10 code over powerline • Revoke • Report device leaving (broken, switched off, unplugged, etc.) • Refresh • Periodically re-Announce: allow detecting ADA leaving
Aladdin Device Adapter X10 Transmitter AC current sensor Powerline Simple Logic X10 Receiver • Hardware architecture
Bridging protocol address PhonelineEthernet Attribute- Based Lookup Service (ABLS) Name- Based Lookup Service (NBLS) PC #1 PC #2 Object Powerline Device type Protocol & address Physical location Aladdin Device Adapter Device Announcement Protocol
Device #1 Object #1 Unique Name Device #1 Object #1 Address #1 Address #2 Device #1 Object #2 Address Device #1 Object #2 Device #2 Address Device #2 Unique Name Lookup Services (Device Address Book) Name- Based Lookup Service (NBLS) Attribute- Based Lookup Service (ABLS) Attribute- Value Pairs
Soft-State Store with Eventing • Soft-States • Volatile or non-volatile states that will expire if not refreshed within a predetermined, but configurable amount of time • Generalized “heartbeats” • Why use soft-states (instead of pinging) • Transmitter-only, periodically-refreshing sensors • Dynamic, diverse and evolving network entities • Robustness against system crash and object hang
Soft-State Store (SSS) • Heterogeneous heartbeats • Daemon heartbeats • Seconds (for fast fail-over) • Object heartbeats • Tens of seconds to minutes (for lookup service consistency) • Sensor heartbeats (& states) • Tens of minutes to hours (for preserving battery power) • Device heartbeats (thru ADA) • Hours to days (for saving powerline bandwidth)
Soft-State Store (SSS) • Shared heartbeat infrastructure • Information exchange mechanism • Pub/Sub eventing • APIs • RegisterType() & RegisterVariable() • GetValue() & SetValue() • SubscribeEvents() & UnsubscribeEvents()
Persistent Store Multi-time-scale soft-states Sensor Heartbeats & States Device Heartbeats Object Heartbeats Daemon Heartbeats Added; Changed; Deleted; MetaChanged Attribute- Based Lookup Service (ABLS) Name- Based Lookup Service (NBLS) Eventing Soft-State Store (SSS) Volatile Store
Persistent soft-state • Traditional soft-states: all volatile • Free fault tolerance: recovery thru refreshes • Traditional checkpointing and recovery • Checkpoint and restore most of the states • App volatile and persistent states • OS states: get, intercept, or give up • Problems with states reflecting the real world • Virtual environment
Soft-state checkpointing • Threshold on refresh rates • Above threshold: leave in volatile • Low refresh overhead; fast recovery thru refreshes • Below threshold: auto-persist • Higher refresh overhead; recovery thru restoration • Restore checkpointed states with time-dependent data qualities • SSS downtime treated as missing refreshes
Summary • Aladdin Device Adapter, device announcement protocol, and lookup services provide plug-and-play extensibility for home networking • Soft-State Store with eventing provides dependability for dynamic, heterogeneous, and self-managing systems.
Publications • “Towards Dependable Home Networking: An Experience Report,” inProc. IEEE DSN, June 2000 • “A Toolkit for Building Dependable and Extensible Home Networking Applications,”inProc. Usenix WSS, August 2000 • “There’s no place like home,”white paper, http://www.research.microsoft.com/~ymwang/ • Seattle PI news article, to appear • PBS “High-Tech Homes” series, to appear