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

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

Embed Size (px)

Citation preview

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

ICrafter: A Service Framework for Ubiquitous Computing Environments

Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan,

Terry Winograd (Stanford Univ.)

Page 2: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Outline

What Example Model and Terminology

Why Challenges Contributions

How Architecture Techniques

Page 3: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Example

Page 4: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Example (Contd.)

Page 5: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Model and Terminology

Workspace: A physically confined environment intended for collaboration

Page 6: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

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

Page 7: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Outline

What?

Why?ChallengesContributions

How?

Page 8: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Appliance Heterogeneity

Must accommodate a variety of UI languages/ modalities.

Page 9: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Workspace Heterogeneity

UI’s must reflect workspace configuration

Page 10: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Aggregation

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

Page 11: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

UI(S1+S2) != UI(S1)+UI(S2)

Good for individual operationsClumsy for compound operation: snap-and-display

Page 12: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

UI(S1+S2) != UI(S1) + UI(S2)

Transfer = snap and display in one click

Page 13: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Where We Stand

Suppose n services, m appliances and w workspacesO( 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

Page 14: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

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

Page 15: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Outline

What?

Why?

How?ArchitectureTechniques

Page 16: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Architecture

NetworkNetwork

Interface Manager

ServiceAppliance

Page 17: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Interface Manager

RequestUI(appl, target services)

Interface Manager

User Appliance

GeneratorProcessor

ReturnUI

GeneratorSelector

Generator Repository

Generator(s)

Page 18: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Example Generator

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

Page 19: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Generators: Handling Appliance HeterogeneityExisting work: two extremes of quality/effort tradeoffUI’s for each service for every appliance

(Jini, UPnP, Hodes et al [Mobicom97] Generic appliance-independent service

descriptions (Roman et al [WMCSA00]

Page 20: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Specialization Hierarchy

HPPrinter

Printer

DataConsumerDevice

Device

Services Appliances

HTML

SUIML

FunkyML More EffortBetter Quality

Page 21: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Generator Spectrum

HPPrinterService HTML Generator

HPPrinterService SUIML Generator

PrinterService HTML

Generator

PrinterService SUIML Generator

DataConsumerDevice

HTML Generator

DataConsumerDevice SUIML Generator

Fully Generic HTML Generator

Fully Generic SUIML Generator

Appliance Specificity

Ser

vice

Spe

cifi

city

Page 22: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

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

Page 23: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Exampleslookup_cmx(projector, “source1”)lookup_cmx(light, “location”)

Page 24: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Generators: Handling Aggregation

Generators for multiple servicesEg. {Camera, Display}, {Camera, Display,

Display}

Generators for service patternsEg. {Camera, Display+}, {Projector* }

Generators for service interface patternsEg. {DataProducer, DataDisplayer+}

Page 25: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Simplified Example

Request for {Camera, Display}

Matches Camera generator, Display generator, and {DataProducer, DataDisplayer} generator

Page 26: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Simplified Example

Aggregated using panels

Page 27: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Outline

What?

Why?

How?

Page 28: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Bootstrapping

Page 29: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Future Work

Authentication and synchronization

Aggregation: more intelligent generator set selection:Eg. Eliminate a {DataProducer,

DataDisplayer} generator if a {Camera, Display} generator exists

Page 30: ICrafter: A Service Framework for Ubiquitous Computing Environments Shankar Ponnekanti, Brian Lee, Armando Fox, Pat Hanrahan, Terry Winograd (Stanford

Interactive Workspaces Project Info

Some software already available

Major release (including ICrafter) due this month

For software and other info: http://iwork.stanford.edu/