Resource Discovery with Resource Discovery with Evolving Tuples g - - PowerPoint PPT Presentation

resource discovery with resource discovery with evolving
SMART_READER_LITE
LIVE PREVIEW

Resource Discovery with Resource Discovery with Evolving Tuples g - - PowerPoint PPT Presentation

Resource Discovery with Resource Discovery with Evolving Tuples g p Drew Stovall and Christine Julien The University of Texas at Austin The University of Texas at Austin {dstovall, c.julien}@mail.utexas.edu Presented at: Presented at:


slide-1
SLIDE 1

Resource Discovery with Resource Discovery with Evolving Tuples g p

Drew Stovall and Christine Julien The University of Texas at Austin The University of Texas at Austin {dstovall, c.julien}@mail.utexas.edu

Presented at: Presented at: Engineering of Software Services for Pervasive Environments (ESSPE '07) (at ESEC/FSE 2007 - Dubrovnik, Croatia, September 4, 2007)

slide-2
SLIDE 2

Overview

Target environment Framework support for pervasive services Existing tuple models Evolving tuples Discovery - a sample pervasive service Discovery with evolving tuples Open Questions

p Q

2 Drew Stovall, ESSPE 2007

  • Univ. of Texas at Austin

4-September-2007

slide-3
SLIDE 3

Target Environment g

Heterogeneous connections

  • 802.11, Zigbee, BlueTooth, proprietary

Heterogeneous capabilities

  • Processor(s), Memory, Non-volatile storage,

Sensors

Heterogeneous OS and software Heterogeneous OS and software

  • Linux, TinyOS, proprietary

Power provided by batteries Power provided by batteries

Drew Stovall, ESSPE 2007

  • Univ. of Texas at Austin

4-September-2007 3

slide-4
SLIDE 4

Target Environment g

We target the lowest capability nodes

d t k and networks

  • Sensor class hosts
  • Slow processors
  • Slow processors
  • Small memory
  • Small nonvolatile storage (flash)
  • Ad-hoc networks
  • Datagram based
  • With or without ACK
  • With or without ACK
  • Max payload ~10’s of bytes
  • Frequent connectivity changes

Drew Stovall, ESSPE 2007

  • Univ. of Texas at Austin

4-September-2007 4

slide-5
SLIDE 5

Frameworks for Pervasive Services

Software engineering and services rely

f k t id t

  • n frameworks to provide or support

certain characteristics

Autonomous Action Best Effort Autonomous Action Best Effort Fully Distributed Context-Aware Open Compatible Open Compatible Localized Implementable

Tuples can provide a framework for these

services

5 Drew Stovall, ESSPE 2007

  • Univ. of Texas at Austin

4-September-2007

slide-6
SLIDE 6

Tuples p

Original Tuple Model (Gelernter & Bernstein – 1982)

  • Tuple = name + ordered list of values

< name, value, value, ... > <“ping”, 10, 5, 3> < ping , 10, 5, 3>

  • Pattern = name + ordered list of predicates

<“ping”, 10, i:integer, j:integer>

  • Tuple Space = bag of tuples
  • Add / Peek / Remove operations

Tight design-time coupling between

producers and consumers producers and consumers

6 Drew Stovall, ESSPE 2007

  • Univ. of Texas at Austin

4-September-2007

slide-7
SLIDE 7

Tuples p

Dictionary-like tuples (ELights / Lights)

  • Tuple = unordered set of name/value pairs

< (name, value), (name, value), … > < (msg type=“ping”), (destination=10), …, (ttl=3) > < (msg_type ping ), (destination 10), …, (ttl 3) >

  • Pattern = unordered set of name/predicates

< (msg_type,“ping”), (ttl, “?integer”)> Values are static in transit

P d l b h i

Producers rely on consumer behavior

7 Drew Stovall, ESSPE 2007

  • Univ. of Texas at Austin

4-September-2007

slide-8
SLIDE 8

Tuples p

Want general mechanism to process

t t d t context data

  • Send

Collect

  • Collect
  • Aggregate
  • Combine
  • Combine

Want behavior that can be redeployed or

updated upda d

8 Drew Stovall, ESSPE 2007

  • Univ. of Texas at Austin

4-September-2007

slide-9
SLIDE 9

Evolving Tuples g p

Embed some of the service behavior into

th t k the network messages

Builds on dictionary-based approach Adds the formula element to each field Adds the evolution context

9 Drew Stovall, ESSPE 2007

  • Univ. of Texas at Austin

4-September-2007

slide-10
SLIDE 10

Evolving Tuples g p

The formula element < (name, value, formula), (name, value, formula), … > < (oneHourAgo, 12, context[hour] – 1) > Used to automatically update the values Used to automatically update the values

  • f a tuple field

Operators Function + - * / Arithmetic + / Arithmetic < ≤ > ≥ = != Comparison ! && || Logic if ( ) C diti l if (x,y,z) Conditional name context[name] Lookup

10 Drew Stovall, ESSPE 2007

  • Univ. of Texas at Austin

4-September-2007

slide-11
SLIDE 11

Evolving Tuples g p

The evolution context is a dictionary of

i t l l environmental values

Provides access to host and application

p o ided al es provided values

Key Value h 15 hour 15 month september year 2007 … …

11 Drew Stovall, ESSPE 2007

  • Univ. of Texas at Austin

4-September-2007

slide-12
SLIDE 12

Evolving Tuples g p

context[hour] = 15 Evolution context[hour] = 15 Evolution Context Evolution Tuple Tuple < oneHourAgo, 12, context[hour] - 1 > < oneHourAgo, 14, context[hour] - 1 >

12 Drew Stovall, ESSPE 2007

  • Univ. of Texas at Austin

4-September-2007

slide-13
SLIDE 13

Standard Deployment Host p y

Evolution App Info Host Applications Host Applications

Host

“application” Host Evolution Info Applications Applications “outbound” Tuple Space pp Tuple Space Application “inbound” Tuple Space p p Receive() Process Node Info Evolution

13 Drew Stovall, ESSPE 2007

  • Univ. of Texas at Austin

4-September-2007

slide-14
SLIDE 14

Evolving Tuples g p

Dynamic values and behavior enables

l i t l t b d f i t f evolving tuples to be used for a variety of pervasive services

  • Discovery
  • Discovery
  • Routing
  • Data dissemination
  • Data dissemination
  • Data collection and aggregation
  • Remote Procedure Call
  • Instant messaging

14 Drew Stovall, ESSPE 2007

  • Univ. of Texas at Austin

4-September-2007

slide-15
SLIDE 15

Discovery

Finding implementations of interfaces One of the initial services required in

pervasive environments

Client Host 1 Host 3 Host 2

15 Drew Stovall, ESSPE 2007

  • Univ. of Texas at Austin

4-September-2007

slide-16
SLIDE 16

Discovery by Evolution y y

Resource description as evolution context

resource-type “printer” color true paper-size “letter”

Evolution

Drew Stovall, ESSPE 2007

  • Univ. of Texas at Austin

4-September-2007 16

slide-17
SLIDE 17

Discovery by Evolution: An Example y y

p

Looking for a “printer”

  • context[resource-type]=“printer”

Addresses

  • 1 = Broadcast

N ll N dd d

  • Null = No address, drop

Drew Stovall, ESSPE 2007

  • Univ. of Texas at Austin

4-September-2007 17

slide-18
SLIDE 18

Discovery by Evolution: An Example y y

p

source 5 latency latency … match null … context[resource-type]=“printer” … destination

  • 1

if ( match != null, if( match = true source null ) if( match = true, source, null ), if( latency < 0.1, -1, null ) )

Full tuple specification in paper

Drew Stovall, ESSPE 2007

  • Univ. of Texas at Austin

4-September-2007 18

slide-19
SLIDE 19

Discovery Example y p

Host 1

Client

X

Host 2

19 Drew Stovall, ESSPE 2007

  • Univ. of Texas at Austin

4-September-2007

slide-20
SLIDE 20

Open Questions p Q

Performance vs. Capability trade-off Prototyping protocols and applications

with evolving tuples?

What is the “right” coordination model for

Pervasive Services?

Wh t i th L t C D i t

  • What is the Lowest Common Denominator

amongst services and hosts?

  • Including sensor-class nodes
  • Including sensor class nodes

Can (and how) do we collaborate

between administrative domains?

20 Drew Stovall, ESSPE 2007

  • Univ. of Texas at Austin

4-September-2007

slide-21
SLIDE 21

Resource Discovery with Resource Discovery with Evolving Tuples g p

Drew Stovall and Christine Julien The University of Texas at Austin The University of Texas at Austin {dstovall, c.julien}@mail.utexas.edu http://mpc.ece.utexas.edu/evolving-tuples p // p / g p