+ All Categories
Home > Documents > Lecture 23: The Case for HomeOS

Lecture 23: The Case for HomeOS

Date post: 20-Feb-2016
Category:
Upload: liseli
View: 28 times
Download: 1 times
Share this document with a friend
Description:
Lecture 23: The Case for HomeOS. Xiaowei Yang. Today’s Plan. HomeOS Why & How Final Review We’ve learned a lot! Course Evaluation. S mart homes. Capability to automate and control multiple, disparate systems within the home [ABI Research] - PowerPoint PPT Presentation
35
Lecture 23: The Case for HomeOS Xiaowei Yang
Transcript
Page 1: Lecture  23: The Case for  HomeOS

Lecture 23: The Case for HomeOS

Xiaowei Yang

Page 2: Lecture  23: The Case for  HomeOS

Today’s Plan

• HomeOS–Why & How

• Final Review–We’ve learned a lot!

• Course Evaluation

Page 3: Lecture  23: The Case for  HomeOS

3

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 | 2010

Page 4: Lecture  23: The Case for  HomeOS

4

Why don’t you have it?

• You have the basic ingredients• But composition is difficult

HomeNets | ratul | 2010

Page 5: Lecture  23: The Case for  HomeOS

A quick example

Unlock?

Yes No

Page 6: Lecture  23: The Case for  HomeOS

Why is device composition in the home hard?

• Users

• Developers

• Vendors

Page 7: Lecture  23: The Case for  HomeOS

Home users are not administrators

• Management Nightmare

Page 8: Lecture  23: The Case for  HomeOS

Why developers are not helping: heterogeneity

Application

HardwareThe actual devices in the house

Application

TopologyHandle WiFi vs. 3G vs. Eth, Subnets

HardwareThe actual devices in the house

Application

DeviceHandle different brands/models

TopologyHandle WiFi vs. 3G vs. Eth, Subnets

HardwareThe actual devices in the house

Application

CoordinationWhen apps disagree, who wins?

DeviceHandle different brands/models

TopologyHandle WiFi vs. 3G vs. Eth, Subnets

HardwareThe actual devices in the house

ApplicationUser Preference

What is automated? When? How?

CoordinationWhen apps disagree, who wins?

DeviceHandle different brands/models

TopologyHandle WiFi vs. 3G vs. Eth, Subnets

HardwareThe actual devices in the house

Application LogicUser Preference

What is automated? When? How?

CoordinationWhen apps disagree, who wins?

DeviceHandle different brands/models

TopologyHandle WiFi vs. 3G vs. Eth, Subnets

HardwareThe actual devices in the house

Page 9: Lecture  23: The Case for  HomeOS

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

Page 10: Lecture  23: The Case for  HomeOS

ClimateControl 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

Page 11: Lecture  23: The Case for  HomeOS

Monolithic systems are inextensible

• Security: ADT, Brinks, etc.• Academic: EasyLiving, House_n, etc.• Commercial: Control4, Elk M1, Leviton, etc.

Home Media

Security

Page 12: Lecture  23: The Case for  HomeOS

An alternative approach: A home-wide operating system

Operating System

Video Rec.

Remote Unlock Climate

HomeStore

Page 13: Lecture  23: The Case for  HomeOS

Goals of HomeOS

• Simplify application development

• Enable innovation and device differentiation

• Simplify user management

Page 14: Lecture  23: The Case for  HomeOS

Core Features of HomeOS

• Driver and application modules• A “port” abstraction for exposing functionality

and communication• Access control for users and modules

Page 15: Lecture  23: The Case for  HomeOS

Simplify development

…App A App B

Application LogicUser Preference

What is automated? When? How?

CoordinationWhen apps disagree, who wins?

DeviceHandle different brands/models

TopologyHandle WiFi vs. 3G vs. Eth, Subnets

HardwareThe actual devices in the house

Page 16: Lecture  23: The Case for  HomeOS

Application LogicUser Preference

What is automated? When? How?

CoordinationWhen apps disagree, who wins?

DeviceHandle different brands/models

TopologyHandle WiFi vs. 3G vs. Eth, Subnets

HardwareThe actual devices in the house

Application LogicUser Preference

What is automated? When? How?

CoordinationWhen apps disagree, who wins?

DeviceHandle different brands/models

TopologyLogically centralize devices

HardwareThe actual devices in the house

Application LogicUser Preference

What is automated? When? How?

CoordinationWhen apps disagree, who wins?

DeviceStandardize at functional layer

TopologyLogically centralize devices

HardwareThe actual devices in the house

Application LogicUser Preference

What is automated? When? How?

CoordinationAccess control mediates conflicts

DeviceStandardize at functional layer

TopologyLogically centralize devices

HardwareThe actual devices in the house

Application LogicUser Preference

Users’ manage access control rules

CoordinationAccess control mediates conflicts

DeviceStandardize at functional layer

TopologyLogically centralize devices

HardwareThe actual devices in the house

Simplify development

…App A App B

Driver Driver…Port Port

Access ControlMgmt

UI

Page 17: Lecture  23: The Case for  HomeOS

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

Page 18: Lecture  23: The Case for  HomeOS

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=“lightswitch”, “dimmerswitch” > , < controls=(“on-off”, binary, readable, writable), (“intensity”, range:1-100, readable, writable) > .

Page 19: Lecture  23: The Case for  HomeOS

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

Page 20: Lecture  23: The Case for  HomeOS

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

Page 21: Lecture  23: The Case for  HomeOS

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)

Page 22: Lecture  23: The Case for  HomeOS

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

Page 23: Lecture  23: The Case for  HomeOS

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

Page 24: Lecture  23: The Case for  HomeOS

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

Page 25: Lecture  23: The Case for  HomeOS

Discussion

• Do homes need an OS?

• Is HomeOS the right solution?

• Why would vendors comply?

Page 26: Lecture  23: The Case for  HomeOS

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

Page 27: Lecture  23: The Case for  HomeOS

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

Page 28: Lecture  23: The Case for  HomeOS

Cloud Computing: Challenges

• Security– Placement– Co-location– Inference

• Performance• Sharing impacts computation, network

Page 29: Lecture  23: The Case for  HomeOS

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

Page 30: Lecture  23: The Case for  HomeOS

Example: word counting

• Map()– Input <filename, file text>– Parses file and emits <word, count> pairs• eg. <”hello”, 1>

• Reduce()– Sums all values for the same key and emits <word,

TotalCount>• eg. <”hello”, (1 1 1 1)> => <”hello”, 4>

Page 31: Lecture  23: The Case for  HomeOS

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

Page 32: Lecture  23: The Case for  HomeOS

Social network storage

• Haystack–Write once– Read many– Using a needle to hold many files– Cache metadata in memory for high access speed

Page 33: Lecture  23: The Case for  HomeOS

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

Page 34: Lecture  23: The Case for  HomeOS

• Wireless–Mobility pattern linkable– Anything over http spoofable– SlyFi

• TaintDroid– Private information leaks to unauthorized 3rd party

Page 35: Lecture  23: The Case for  HomeOS

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


Recommended