Spatial programming using smart messages design and implementation
Download
1 / 26

Spatial Programming using Smart Messages: - PowerPoint PPT Presentation


  • 226 Views
  • Updated On :

Spatial Programming using Smart Messages: Design and Implementation. Cristian Borcea , Chalermek Intanagonwiwat, Porlin Kang, Ulrich Kremer, and Liviu Iftode Department of Computer Science Rutgers University. Computers Go Outdoors, Embedded Everywhere in the Physical World.

Related searches for Spatial Programming using Smart Messages:

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Spatial Programming using Smart Messages: ' - RoyLauris


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Spatial programming using smart messages design and implementation l.jpg

Spatial Programming using Smart Messages: Design and Implementation

Cristian Borcea, Chalermek Intanagonwiwat, Porlin Kang, Ulrich Kremer, and Liviu Iftode

Department of Computer Science

Rutgers University


Computers go outdoors embedded everywhere in the physical world l.jpg
Computers Go Outdoors, Embedded Everywhere in the Physical World

Cars collaborating

for a safer and

more fluid traffic

Distributed object

tracking over a large

geographical area


Traditional indoor distributed computing l.jpg
Traditional (Indoor) Distributed Computing World

  • Computation is distributed for performance or fault tolerance

  • Relatively easy to program

    • Nodes are computationally equivalent

    • Networking is robust and has acceptable delays

    • Configuration is stable


Outdoor distributed computing l.jpg
Outdoor Distributed Computing World

  • Computation is physically distributed

    • Nodes distributed across the physical space

    • Location-aware computing

  • Hard to program

    • Nodes are functionally heterogeneous and potentially mobile

    • Ad hoc wireless networks of embedded systems

    • Volatile configurations


Example l.jpg
Example World

Mobile sprinkler

with temperature

sensor

Left Hill

Right Hill

Hot spot

  • “Water the hottest spot on the Left Hill”

  • Number and location of mobile sprinklers are unknown

  • Configuration is not stable over time

    • Sprinklers move

    • Temperature changes


Traditional distributed computing does not work well outdoors l.jpg
Traditional Distributed Computing WorldDoes Not Work Well Outdoors

  • End-to-end data transfers may hardly complete

  • Fixed address naming and routing (e.g., IP) are too rigid

  • Difficult to deploy new applications in existing networks

  • Outdoor distributed computing requires novel abstractions and programming models

    • How to write outdoor distributed applications?

    • How to deploy new applications in existing networks?


Outline l.jpg
Outline World

  • Motivation

  • Spatial Programming (SP) Model

  • SP Implementation using Smart Messages

  • SP Application

  • Conclusions


Traditional indoor programming l.jpg
Traditional (Indoor) Programming World

  • Programs access data through variables

  • Variables mapped to physical memory locations

  • Page Table and OS guarantee reference consistency

  • Access time has an (acceptable) upper bound

Program

Variable access

Virtual Address Space

Page Table + OS

Physical Memory


From indoor to outdoor computing l.jpg
From Indoor to Outdoor Computing World

Virtual Address Space

Space Region

Variables

Spatial References

Spatial references mapped

to systems embedded in

the physical space

Variables mapped to

physical memory

Reference consistency

?

?

Bounded access time


Spatial programming sp at a glance l.jpg
Spatial Programming (SP) at a Glance World

  • Provides a virtual name space over outdoor networks of embedded systems

  • Embedded systems named by their locations and properties

  • Runtime system takes care of name resolution, reference consistency, and networking aspects


Space regions l.jpg
Space Regions World

Hill = new Space({lat, long}, radius);

{lat,long}

radius

  • Virtual representation of a physical space

  • Similar to a virtual address space in a conventional

    computer system

  • Defined statically or dynamically


Spatial references l.jpg
Spatial References World

{Hill:robot[0]}

Hill

{Hill:robot[1]}

r7

r2

{Hill:motion[0]}

m5

  • Defined as {space:property} pairs

  • Virtual names for embedded systems

  • Similar to variables in conventional programming

  • Indexes used to distinguish among similar systems

    in the same space region


Reference consistency l.jpg
Reference Consistency World

  • At first access, a spatial reference is mapped to an embedded system located in the specified space

  • Mappings maintained in per-application Mapping Table (MT) – similar to a page table

  • Subsequent accesses to the same spatial reference will reach the same system (using MT) as long as it is located in the same space region

{space, property, index}

{unique_address, location}


Reference consistency example l.jpg
Reference Consistency Example World

r2

r7

r5

Right Hill

Left Hill

{Left_Hill:robot[0]}.move = ON;

{Left_Hill:robot[0]}.move = OFF;


Space casting l.jpg
Space Casting World

r7

Right Hill

Left Hill

{Left_Hill:robot[0]}

{Right_Hill:(Left_Hill:robot[0])}


Bounding the access time l.jpg
Bounding the Access Time World

  • How to bound the time to access a spatial reference?

    • Systems may move, go out of space, or disappear

  • Solution: associate an explicit timeout with the spatial reference access

try{

{Hill:robot[0], timeout}.move = ON;

}catch(TimeoutException e){

// the programmer decides the next action

}


Spatial programming example l.jpg
Spatial Programming Example World

Water the hottest spot on the Left Hill

Mobile sprinkler

with temperature

sensor

Left Hill

Right Hill

Hot spot

for(i=0; i<1000; i++)

try{

if ({Left_Hill:Hot[i], timeout}.temp > Max_temp)

Max_temp = {Left_Hill:Hot[i], timeout}.temp;

Max_id = i;

}catch(TimeoutException e)

break;

{Left_Hill:Hot[Max_id], timeout}.water = ON;


Outline18 l.jpg
Outline World

  • Motivation

  • Spatial Programming (SP) Model

  • SP Implementation using Smart Messages

  • SP Application

  • Conclusions


Smart messages at a glance l.jpg
Smart Messages at a Glance World

  • Smart Message (SM)

    • User defined distributed application similar to a mobile agent

    • Executes on nodes of interest named by properties

    • Migrates between nodes of interest using self-routing

  • Self-Routing

    • Application-level routing executed at every node

    • Applications can change routing during execution

  • Cooperative Nodes

    • Execution environment (Virtual Machine)

    • Memory addressable by names (Tag Space)

    • Code cache


Smart messages prototype l.jpg
Smart Messages Prototype World

  • Modified version of Sun’s Java K Virtual Machine

    • Small memory footprint (160KB)

  • SM and tag space primitives implemented inside virtual machine as native methods (efficiency)

  • Implemented I/O tags: GPS location, neighbor discovery, image capture, light sensor, system status


Spatial programming implementation using smart messages l.jpg
Spatial Programming Implementation Using Smart Messages World

  • SP application translates into an SM

    • Spatial reference access translates into an SM migration to the mapped node

    • Embedded system properties: Tags

  • SM self-routes using geographical routing and content-based routing

  • Reference consistency

    • Unique addresses (stored in mapping table) are unique tags created at nodes

    • SM carries the mapping table


Sp to sm translation example l.jpg
SP to SM Translation: Example World

Left Hill

Right Hill

Max_temp = {Left_Hill:Hot[1], timeout}.temp;

Spatial Reference Access

Mapping

Table

{Left_Hill,Hot,1}

{yU78GH5,location}

ret = migrate_geo(location, timeout);

if (ret == LocationUnreachable)

ret = migrate_tag(yU78GH5, timeout);

if ((ret == OK) && (location == Left_Hill))

return readTag(temp);

else throw TimeoutException

Smart Message

Code


Sp application intrusion detection l.jpg
SP Application: Intrusion Detection World

Ad hoc network: HP iPAQs with 802.11 cards and GPS devices

user node

monitored

space

light sensor

camera node

regular node

Code Size breakdown for SM

(Application + SP Library)

Code Size breakdown for

SP library



Conclusions l.jpg
Conclusions World

  • Spatial Programming makes outdoor distributed computing simple

    • Volatility, mobility, configuration dynamics, ad-hoc networking are hidden from programmer

  • Implementation on top of Smart Messages

    • Easy to deploy new applications in the network

    • Quick adaptation to highly dynamic network configurations


Slide26 l.jpg

Thank you! World

http://discolab.rutgers.edu/sp/


ad