An Operating System for the Home
What is it?
• A simple way to fully network devices in the home.
• Provides:
A central location to add and manage devices to users.
An abstraction of device and home differences to developers.
• Majority of users will be non-experts
• Applications must support:
Systems composed of various devices connected by various standards
User control preferences
Device coordination
• System is likely to grow over time
Current Paradigms
• Two common abstractions:
Tends to be easier to use, but harder to expand.
Network of devices
Tend to be easier to expand while being more difficult to use.
How is it different?
• HomeOS is based on a PC-like abstraction
• Devices are treated as peripherals
• All devices managed centrally at the HomeOS
• Provides application and device compatibility information
• Allows developers to write applications through higher-level APIs
Layered Architecture
Device Connectivity Layer (DCL)
• Discovers new devices
• Maintains connections
• Provides handles for higher levels to communicate with devices
• Composed of modules for each networking protocol
Device Functionality Layer (DFL)
• Generates APIs as services called “roles” from DCL device handles
• Roles provide a set of device specific operations to applications
• Use of roles protect applications from device protocol changes
• When adding a new device:
Can be accessed by an existing role if it exists
Have a new role added without directly modifying HomeOS
Alternative Architectures
Management Layer
App layer
• Managing Central area
Mgmt layer
• Add/remove users and applications
• Managing accesses to devices
• Prevent conflicting
Management Layer Requirements
access control
Apps as security
Management Layer
Access control policy:
• Datalog-based rules
[r, g, m, Ts,Te. D. pri, a]
[device, user group, app, tstart, tend, dayOfWeek, priority, accessMode]
• Rules include time and applications
The users can understand configuration by queries
• Simpler than ACLs in current Oses
• Time based user Account
HomeOS can have associated time window of validity (guest)
Application layer
use and compose the devices
DFL services
App layer
Mgmt layer
Management layer interposes on accesses
Manifests help with testing compatibility
Lists of mandatory and optional features
E.g., mandatory: {TV, SonyTV}, {MediaServer}
optional: {Speaker}
HomeOS eases extensibility and management by providing a PC
abstraction for home technology
Still lots of exciting things to do!
What core capabilities should be in every home?
• Can we provide non-intrusive identity inference?

similar documents