Lecture 23: The Case for HomeOS Xiaowei Yang
Today’s Plan HomeOS – Why & How Final Review – We’ve learned a lot! Course Evaluation
Smart homes Capability to automate and control multiple, disparate systems within the home [ABI Research] Today, only the super rich and super geeks have it HomeNets | ratul | 20103
Why don’t you have it? You have the basic ingredients But composition is difficult HomeNets | ratul | 20104
A quick example Unlock? YesNo
Why is device composition in the home hard? Users Developers Vendors
Home users are not administrators Management Nightmare
Why developers are not helping: heterogeneity Application Hardware The actual devices in the house Application Topology Handle WiFi vs. 3G vs. Eth, Subnets Hardware The actual devices in the house Application Device Handle different brands/models Topology Handle WiFi vs. 3G vs. Eth, Subnets Hardware The actual devices in the house Application 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 Application 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 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 prefer vertical integration 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
Climate Control Remote Lock Camera- Based Entry Video Recording Interoperability is not sufficient Many standards exist for interoperability – Media: DLNA (Digital Living Network Alliance), AirTunes, etc. – Devices: UPnP, SpeakEasy, mDNS, etc. – Home Auto: Zwave ZigBee, X10, etc. Handles device heterogeneity, not topology, user preferences, and coordination heterogeneity
Monolithic systems are inextensible Security: ADT, Brinks, etc. Academic: EasyLiving, House_n, etc. Commercial: Control4, Elk M1, Leviton, etc. Home Media Security
An alternative approach: A home-wide operating system Operating System Video Rec. Remote Unlock Climate HomeStore
Goals of HomeOS Simplify application development Enable innovation and device differentiation Simplify user management
Core Features of HomeOS Driver and application modules A “port” abstraction for exposing functionality and communication Access control for users and modules
Simplify development … … App A App B 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
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 Application Logic User Preference What is automated? When? How? Coordination When apps disagree, who wins? Device Handle different brands/models Topology Logically centralize devices Hardware The actual devices in the house Application Logic User Preference What is automated? When? How? Coordination When apps disagree, who wins? Device Standardize at functional layer Topology Logically centralize devices Hardware The actual devices in the house Application Logic User Preference What is automated? When? How? Coordination Access control mediates conflicts Device Standardize at functional layer Topology Logically centralize devices Hardware The actual devices in the house Application Logic User Preference Users’ manage access control rules Coordination Access control mediates conflicts Device Standardize at functional layer Topology Logically centralize devices Hardware The actual devices in the house Simplify development … … App A App B Driver … Port … Access Control Mgmt UI Mgmt UI
Modules Driver and application modules are isolated – A poorly written module can’t impact HomeOS or other modules Application modules belong to application domain Communication cross domains is through pre- defined entry points
A port example A port is functionally described in terms of roles and controls – Roles: express a functionality – Controls: typed points of sensing and actuation within a port,.
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
Discussion Do homes need an OS? Is HomeOS the right solution? Why would vendors comply?
Course Summary A broad range of topics – Cloud computing and its challenges – Cloud inner working – Datacenter networking – Social networks – Privacy Web, Wireless, Mobile devices – Home Networking
Cloud Computing: Opportunities Opportunities – Elastic computing: on-demand scaling – Pay-as-you-go No upfront investment cost – New applications Mobile & Cloud Energy saving Disaster recovery Group collaboration
Cloud Computing: Challenges Security – Placement – Co-location – Inference Performance Sharing impacts computation, network
Cloud Inner Workings MapReduce – A powerful framework for parallel computation – Map() Process a key/value pair to generate intermediate key/value pairs map (in_key, in_value) -> (out_key, intermediate_value) list – Reduce() Merge all intermediate values associated with the same key reduce (out_key, intermediate_value list) -> out_value list MapReduce online for interactive applications Reining outliers
Example: word counting Map() – Input – Parses file and emits pairs eg. Reduce() – Sums all values for the same key and emits eg. =>
Datacenter Networking FatTree – Multi-rooted trees to provide abundant bisection bandwidth Adaptive routing – Valiant routing: picking a random redirection point works Datacenter congestion control – InCast: synchronized replies lead to congestion – DCTCP Reduce cwnd proportionally to congestion Small queue size in routers
Social network storage Haystack – Write once – Read many – Using a needle to hold many files – Cache metadata in memory for high access speed
Privacy Social networks – Personal identifiable information leaks to unauthorized third parties Cookies, referrer header, Request-URI – User browsing behavior is linkable Online advertising – Behavior targeting in social networks Ads exclusively sent to users in certain groups – Not obvious for search and web ads Mostly keyword based
Wireless – Mobility pattern linkable – Anything over http spoofable – SlyFi TaintDroid – Private information leaks to unauthorized 3 rd party
The End It’s really the beginning Take the ideas Apply the skills – Critical and creative thinking Turn your course project into a research paper I hope you enjoyed it as much as I do