The home needs an operating system (and an app store)

Download Report

Transcript The home needs an operating system (and an app store)

The Home Needs an Operating
System (and an App Store)
Colin Dixon (University of Washington)
October 20th, 2010
Ratul Mahajan, Sharad Agarwal, A.J. Brush,
Bongshin Lee, Stefan Saroiu, Victor Bahl (MSR Redmond)
Huge amount of tech in homes
Home users struggle
• Management Nightmare
• Integration Hurdles
A quick example
Unlock?
Yes
No
Why developers are not helping
Application
Application
Logic
User Preference
What is automated? When? How?
Coordination
When apps disagree, who wins?
Device
Handle different brands/models
Topology
Handle WiFi vs. 3G vs. Eth, Subnets
Hardware
The actual devices in the house
Vendors only build islands
• Vertically integrate hardware and software
• Seldom make use of other vendors’ devices
• No single vendor comes close to providing all the
devices a home needs
Interoperability is not sufficient
Video
Recording
Climate
Control
Camera
Remot
-Based
e Lock
Entry
• Media: DLNA, AirTunes, etc.
• Devices: UPnP, SpeakEasy, mDNS, etc.
• Home Auto: Zwave ZigBee, X10, etc.
Monolithic systems are inextensible
Home Media
Security
• Security: ADT, Brinks, etc.
• Academic: EasyLiving, House_n, etc.
• Commercial: Control4, Elk M1, Leviton, etc.
An alternative approach:
A home-wide operating system
HomeStore
Video
Rec.
Remote
Unlock
Climate
Operating System
Goals of HomeOS
• Simplify application development
• Enable innovation and device differentiation
• Simplify user management
Simplify development
Application Logic
User Preference
App A
…
App B
What is automated? When? How?
Coordination
When apps disagree, who wins?
Device
Handle different brands/models
Topology
Handle WiFi vs. 3G vs. Eth, Subnets
Hardware
The actual devices in the house
…
Simplify development
Application Logic
User Preference
App A
…
App B
Users’
What is
manage
automated?
accessWhen?
controlHow?
rules
Coordination
Access
When apps
control
disagree,
mediates
who
conflicts
wins?
Device
Handle
Standardize
different
at functional
brands/models
layer
Topology
Access Control
Port
Driver
Port
…
Handle
Logically
WiFi vs.
centralize
3G vs. Eth,
devices
Subnets
Hardware
The actual devices in the house
Mgmt
UI
…
Driver
Roles in HomeOS
• Roles are functional descriptions of ports
▫ lightswitch, television, display, speakers, etc.
▫ App developers program against roles
• Enable vendors to innovate/differentiate
▫ Anyone can create a new role
 e.g., SonyBraviaTV vs. television
 Allows new functionality to be rapidly exposed
▫ Commodity vendors can still participate
Simplify user management
• Conducted a field study
▫ Modern homes with automation & other tech
▫ 14 homes, 31 people
• Users’ needs for access control
▫ Applications as security principals
▫ Time in access control decisions
▫ Confidence in their configuration
Management primitives
• Datalog access control rules
▫ (port, group, module, time-start, time-end, day,
priority, access-mode)
▫ Reliable reverse perspectives help users
confidently configure access control
• User accounts
▫ Can be restricted by time (guests)
• Application manifests
▫ Specify role requirements for compatibility testing
▫ Simplifies rule setup (only when roles match)
Implementation status
• Built on the .NET CLR
• ~15,000 lines of C#
▫ ~2,500 kernel
• 11 Applications
▫ Average ~300 lines/app
• Music Follows the Lights
▫ Play, pause & transfer music
where lights are on/off
• Two-factor Authentication
▫ Based on spoken password
and face recognition
Open questions/Ongoing work
• Additional evaluation
▫ Is it easy to write apps and drivers?
▫ Is it easy to manage?
▫ Does it scale to large homes?
• Deploy & support application development
• Explore business/economic issues
Conclusion
• A home-wide OS can make home technology
manageable and programmable
• HomeOS balances stakeholder desires
▫ Developers: abstracts four sources of heterogeneity
▫ Vendors: enables innovation and differentiation
▫ Users: provides mgmt. primitives match mental models
http://research.microsoft.com/homeos