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

Post on 30-Mar-2015

217 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

Transcript

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

Example (Contd.)

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

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

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

Architecture

NetworkNetwork

Interface Manager

ServiceAppliance

Interface Manager

RequestUI(appl, target services)

Interface Manager

User Appliance

GeneratorProcessor

ReturnUI

GeneratorSelector

Generator Repository

Generator(s)

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>

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]

Specialization Hierarchy

HPPrinter

Printer

DataConsumerDevice

Device

Services Appliances

HTML

SUIML

FunkyML More EffortBetter Quality

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

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

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

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

Simplified Example

Request for {Camera, Display}

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

Simplified Example

Aggregated using panels

Outline

What?

Why?

How?

Bootstrapping

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/

top related