320 likes | 417 Views
ICrafter: A Service Framework for Ubiquitous Computing Environments . Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford Univ.). Outline. What Example Model and Terminology Why Challenges Contributions How Architecture Techniques. Example.
E N D
ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford Univ.)
Outline • What • Example • Model and Terminology • Why • Challenges • Contributions • How • Architecture • Techniques
Model and Terminology • Workspace: A physically confined environment intended for collaboration
Model and Terminology (contd.) • Service • A h/w or s/w resource • Provides a useful function to end-users • Example: Light, projector, browser, ppt • Appliance • Facility used for interaction with services • Example: Laptop, PDA • SUIML • Swing UI Markup Language
Outline • What? • Why? • Challenges • Contributions • How?
Appliance Heterogeneity • Must accommodate a variety of UI languages/ modalities.
Workspace Heterogeneity • UI’s must reflect workspace configuration
Aggregation • May seem individual UI’s can be combined. However ….
UI(S1+S2) != UI(S1)+UI(S2) • Good for individual operations • Clumsy for compound operation: snap-and-display
UI(S1+S2) != UI(S1) + UI(S2) • Transfer = snap and display in one click
Where We Stand • Suppose n services, m appliances and w workspaces • O( F(n)×m× w) UI’s • F(n) is some combinatorial function of n • Existing ad-hoc interaction systems: Jini, UPnP, Hodes et al (Mobicom97, USITS99), Roman et al (WMCSA00) • Mostly focus on appliance heterogeneity
Results • Offload UI selection to third-party (i.e, non-service, non-appliance) • Generalize existing approaches to appliance heterogeneity • Frameworks for handling workspace heterogeneity and • Techniques for aggregation
Outline • What? • Why? • How? • Architecture • Techniques
Architecture Interface Manager Network Service Appliance
Generator Repository Interface Manager Generator Selector Generator Processor Generator(s) RequestUI(appl, target services) ReturnUI Interface Manager User Appliance
<form action=… > { S1 = lookup_cmx (“Proj1”, “src1”) S2 = lookup_cmx(“Proj1”, “src2”) } <P> Select one of the following: <input type=radio .. >{print $S1} <input type=radio .. >{print $S2} …. </form> <form action=…> <P> Select one of the following: <input type=radio>Left screen <input type=radio>Right screen …. <//form> Example Generator
Generators: Handling Appliance Heterogeneity • Existing work: two extremes of quality/effort tradeoff • UI’s for each service for every appliance (Jini, UPnP, Hodes et al [Mobicom97] • Generic appliance-independent service descriptions (Roman et al [WMCSA00]
Appliances FunkyML SUIML HTML Specialization Hierarchy Services HPPrinter More Effort Better Quality Printer DataConsumerDevice Device
Generator Spectrum Service Specificity Appliance Specificity
Generators: Workspace Heterogeneity • All workspace configuration stored in a centralized "context memory" (Winograd, HCI ’01) • Generators access configuration information using fixed APIs • lookup_cmx(service, configuration property) • Advantages of centralized configuration • easier to administer • flexible, powerful queries
Examples lookup_cmx(light, “location”) lookup_cmx(projector, “source1”)
Generators: Handling Aggregation • Generators for multiple services • Eg. {Camera, Display}, {Camera, Display, Display} • Generators for service patterns • Eg. {Camera, Display+}, {Projector* } • Generators for service interface patterns • Eg. {DataProducer, DataDisplayer+}
Simplified Example • Request for {Camera, Display} • Matches Camera generator, Display generator, and {DataProducer, DataDisplayer} generator
Simplified Example • Aggregated using panels
Outline • What? • Why? • How?
Future Work • Authentication and synchronization • Aggregation: more intelligent generator set selection: • Eg. Eliminate a {DataProducer, DataDisplayer} generator if a {Camera, Display} generator exists
Interactive Workspaces Project Info • Some software already available • Major release (including ICrafter) due this month • For software and other info: http://iwork.stanford.edu/