1 / 30

ICrafter: A Service Framework for Ubiquitous Computing Environments

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.

zoey
Download Presentation

ICrafter: A Service Framework for Ubiquitous Computing Environments

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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/

More Related