Home Networking

advertisement
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 | 2010
3
Why don’t you have it?
• You have the basic ingredients
• But composition is difficult
HomeNets | ratul | 2010
4
A quick example
Unlock?
Yes
No
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
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
Interoperability is not sufficient
Video
Recording
Climate
Control
CameraRemote
Based
Lock
Entry
• 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
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
Core Features of HomeOS
• Driver and application modules
• A “port” abstraction for exposing functionality
and communication
• Access control for users and modules
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 ismanage
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
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 predefined 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=“lightswitch”, “dimmerswitch” > , <
controls=(“on-off”, binary, readable, writable),
(“intensity”, range:1-100, readable, writable) > .
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
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 <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>
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 3rd 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
Download