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)
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 Drew Stovall, ESSPE 2007 2 Univ. of Texas at Austin 4-September-2007
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 3 Univ. of Texas at Austin 4-September-2007
Target Environment g � We target the lowest capability nodes and networks d t k 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 4 Univ. of Texas at Austin 4-September-2007
Frameworks for Pervasive Services � Software engineering and services rely on frameworks to provide or support f k t id t certain characteristics � Autonomous Action � Autonomous Action � Best Effort � Best Effort � Fully Distributed � Context-Aware � Open � Open � Compatible � Compatible � Localized � Implementable � Tuples can provide a framework for these services Drew Stovall, ESSPE 2007 5 Univ. of Texas at Austin 4-September-2007
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 Drew Stovall, ESSPE 2007 6 Univ. of Texas at Austin 4-September-2007
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 � Producers rely on consumer behavior P d l b h i Drew Stovall, ESSPE 2007 7 Univ. of Texas at Austin 4-September-2007
Tuples p � Want general mechanism to process context data t t d t Send � Collect Collect � Aggregate � Combine Combine � � � Want behavior that can be redeployed or updated upda d Drew Stovall, ESSPE 2007 8 Univ. of Texas at Austin 4-September-2007
Evolving Tuples g p � Embed some of the service behavior into th the network messages t k � Builds on dictionary-based approach � Adds the formula element to each field � Adds the evolution context Drew Stovall, ESSPE 2007 9 Univ. of Texas at Austin 4-September-2007
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 of a tuple field Operators Function + - * / + / Arithmetic Arithmetic < ≤ > ≥ = != Comparison ! && || Logic if ( if (x,y,z) ) C Conditional diti l Lookup name context[ name ] Drew Stovall, ESSPE 2007 10 Univ. of Texas at Austin 4-September-2007
Evolving Tuples g p � The evolution context is a dictionary of environmental values i t l l � Provides access to host and application p o ided al es provided values Key Value hour h 15 15 month september year 2007 … … Drew Stovall, ESSPE 2007 11 Univ. of Texas at Austin 4-September-2007
Evolving Tuples g p context[hour] = 15 context[hour] = 15 Evolution Evolution Context Tuple Evolution Tuple < oneHourAgo, 14, context[hour] - 1 > < oneHourAgo, 12, context[hour] - 1 > Drew Stovall, ESSPE 2007 12 Univ. of Texas at Austin 4-September-2007
Standard Deployment p y App Host Host Evolution Evolution Info Info Host Host Host “application” pp Applications Applications Applications Applications Application Tuple Space “outbound” Tuple Space p p “inbound” Receive() Tuple Space Process Evolution Node Info Drew Stovall, ESSPE 2007 13 Univ. of Texas at Austin 4-September-2007
Evolving Tuples g p � Dynamic values and behavior enables evolving tuples to be used for a variety of l i t l t b d f i t f pervasive services Discovery Discovery � � Routing � Data dissemination Data dissemination � � Data collection and aggregation � Remote Procedure Call � Instant messaging � Drew Stovall, ESSPE 2007 14 Univ. of Texas at Austin 4-September-2007
Discovery � Finding implementations of interfaces � One of the initial services required in pervasive environments Host 1 Host 3 Client Host 2 Drew Stovall, ESSPE 2007 15 Univ. of Texas at Austin 4-September-2007
Discovery by Evolution y y � Resource description as evolution context resource-type “printer” color true paper-size “letter” Evolution Drew Stovall, ESSPE 2007 16 Univ. of Texas at Austin 4-September-2007
Discovery by Evolution: An Example y y p � Looking for a “printer” context[resource-type]=“printer” � � Addresses -1 = Broadcast � Null = No address, drop N ll N dd d � Drew Stovall, ESSPE 2007 17 Univ. of Texas at Austin 4-September-2007
Discovery by Evolution: An Example y y p source 5 latency latency 0 0 … match null … context[resource-type]=“printer” … destination -1 if ( match != null, if( match = true if( match = true, source, null ) , source null ) if( latency < 0.1, -1, null ) ) � Full tuple specification in paper Drew Stovall, ESSPE 2007 18 Univ. of Texas at Austin 4-September-2007
Discovery Example y p Host 1 Client X Host 2 Drew Stovall, ESSPE 2007 19 Univ. of Texas at Austin 4-September-2007
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? What is the Lowest Common Denominator Wh t i th L t C D i t � amongst services and hosts? Including sensor-class nodes Including sensor class nodes � � � Can (and how) do we collaborate between administrative domains? Drew Stovall, ESSPE 2007 20 Univ. of Texas at Austin 4-September-2007
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
Recommend
More recommend