ICrafter: A Service Framework for Ubiquitous Computing Environments - PowerPoint PPT Presentation

zoey
icrafter a service framework for ubiquitous computing environments n.
Skip this Video
Loading SlideShow in 5 Seconds..
ICrafter: A Service Framework for Ubiquitous Computing Environments PowerPoint Presentation
Download Presentation
ICrafter: A Service Framework for Ubiquitous Computing Environments

play fullscreen
1 / 30
Download Presentation
72 Views
Download Presentation

ICrafter: A Service Framework for Ubiquitous Computing Environments

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford Univ.)

  2. Outline • What • Example • Model and Terminology • Why • Challenges • Contributions • How • Architecture • Techniques

  3. Example

  4. Example (Contd.)

  5. Model and Terminology • Workspace: A physically confined environment intended for collaboration


  6. 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

  7. Outline • What? • Why? • Challenges • Contributions • How?

  8. Appliance Heterogeneity • Must accommodate a variety of UI languages/ modalities.

  9. Workspace Heterogeneity • UI’s must reflect workspace configuration

  10. Aggregation • May seem individual UI’s can be combined. However ….

  11. UI(S1+S2) != UI(S1)+UI(S2) • Good for individual operations • Clumsy for compound operation: snap-and-display

  12. UI(S1+S2) != UI(S1) + UI(S2) • Transfer = snap and display in one click

  13. 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

  14. 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

  15. Outline • What? • Why? • How? • Architecture • Techniques

  16. Architecture Interface Manager Network Service Appliance

  17. Generator Repository Interface Manager Generator Selector Generator Processor Generator(s) RequestUI(appl, target services) ReturnUI Interface Manager User Appliance

  18. <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

  19. 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]

  20. Appliances FunkyML SUIML HTML Specialization Hierarchy Services HPPrinter More Effort Better Quality Printer DataConsumerDevice Device

  21. Generator Spectrum Service Specificity Appliance Specificity

  22. 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

  23. Examples lookup_cmx(light, “location”) lookup_cmx(projector, “source1”)

  24. 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+}

  25. Simplified Example • Request for {Camera, Display} • Matches Camera generator, Display generator, and {DataProducer, DataDisplayer} generator

  26. Simplified Example • Aggregated using panels

  27. Outline • What? • Why? • How?

  28. Bootstrapping

  29. Future Work • Authentication and synchronization • Aggregation: more intelligent generator set selection: • Eg. Eliminate a {DataProducer, DataDisplayer} generator if a {Camera, Display} generator exists

  30. Interactive Workspaces Project Info • Some software already available • Major release (including ICrafter) due this month • For software and other info: http://iwork.stanford.edu/