An Operating System for the Home PRESENTED BY KARL AND SALEM 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. Challenges • 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: • Appliance • • 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 Time-based access control Apps as security principals Easy-to-verify settings 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} Demo Conclusions 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? •