HomeOS An Operating System for the Home - Microsoft Research by pptfiles

VIEWS: 0 PAGES: 18

									 The Home Needs an Operating
   System (and an App Store)
Colin Dixon (University of Washington)
October 20th, 2010

Ratul Mahajan, Sharad Agarwal, A.J. Brush,
Bongshin Lee, Stefan Saroiu, Victor Bahl (MSR Redmond)
Huge amount of tech in homes
Home users struggle
• Management Nightmare




• Integration Hurdles
A quick example




                  Unlock?

                  Yes   No
Why developers are not helping
                 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 only build islands

• 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


              Climate    Camera
    Video                      Remot
              Control    -Based
  Recording                    e Lock
                          Entry




              • Media: DLNA, AirTunes, etc.
              • Devices: UPnP, SpeakEasy, mDNS, etc.
              • Home Auto: Zwave ZigBee, X10, etc.
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   Remote
                    Climate
  Rec.    Unlock


              Operating System
Goals of HomeOS

• Simplify application development


• Enable innovation and device differentiation


• Simplify user management
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
What manage access control rules
Users’ is automated? When? How?
        Coordination                                             Mgmt
 Access apps disagree, who wins?
 When control mediates conflicts               Access Control     UI

             Device                    Port                      Port
 Standardize at functional layer
 Handle different brands/models
                                      Driver        …           Driver
           Topology
   Logically centralize devices
Handle WiFi vs. 3G vs. Eth, Subnets

                                                     …
          Hardware
  The actual devices in the house
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

								
To top