Spatial Programming using Smart Messages: Design and Implementation - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

Spatial Programming using Smart Messages: Design and Implementation

Description:

Embedded systems named by their locations and properties ... Spatial References. Defined as {space:property} pairs. Virtual names for embedded systems ... – PowerPoint PPT presentation

Number of Views:89
Avg rating:3.0/5.0
Slides: 27
Provided by: Cris162
Category:

less

Transcript and Presenter's Notes

Title: Spatial Programming using Smart Messages: Design and Implementation


1
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

2
Computers Go Outdoors, Embedded Everywhere in the
Physical World
Distributed object tracking over a
large geographical area
Cars collaborating for a safer and more fluid
traffic
3
Traditional (Indoor) Distributed Computing
  • 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

4
Outdoor Distributed Computing
  • 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

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

6
Traditional Distributed Computing Does 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?

7
Outline
  • Motivation
  • Spatial Programming (SP) Model
  • SP Implementation using Smart Messages
  • SP Application
  • Conclusions

8
Traditional (Indoor) Programming
Program
Variable access
  • 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

Virtual Address Space
Page Table OS
Physical Memory
9
From Indoor to Outdoor Computing
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
10
Spatial Programming (SP) at a Glance
  • 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

11
Space Regions
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

12
Spatial References
Hillrobot0
Hill
Hillrobot1
r7
r2
Hillmotion0
m5
  • Defined as spaceproperty pairs
  • Virtual names for embedded systems
  • Similar to variables in conventional programming
  • Indexes used to distinguish among similar
    systems
  • in the same space region

13
Reference Consistency
  • 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
14
Reference Consistency Example
Right Hill
Left Hill
Left_Hillrobot0.move ON
Left_Hillrobot0.move OFF
15
Space Casting
Right Hill
Left Hill
Left_Hillrobot0
Right_Hill(Left_Hillrobot0)
16
Bounding the Access Time
  • 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 Hillrobot0, timeout.move
ON catch(TimeoutException e) // the
programmer decides the next action
17
Spatial Programming Example
Mobile sprinkler with temperature sensor
Left Hill
Right Hill
Hot spot
  • Water the hottest spot on the Left Hill

for(i0 ilt1000 i) try if
(Left_HillHoti, timeout.temp gt
Max_temp) Max_temp Left_HillHoti,
timeout.temp Max_id i
catch(TimeoutException e)
break Left_HillHotMax_id, timeout.water
ON
18
Outline
  • Motivation
  • Spatial Programming (SP) Model
  • SP Implementation using Smart Messages
  • SP Application
  • Conclusions

19
Smart Messages at a Glance
  • 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

20
Smart Messages Prototype
  • Modified version of Suns 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

21
Spatial Programming Implementation Using Smart
Messages
  • 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

22
SP to SM Translation Example
Left Hill
Right Hill
Max_temp Left_HillHot1, 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
23
SP Application Intrusion Detection
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
24
Execution Time Breakdown
25
Conclusions
  • 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

26
Thank you! http//discolab.rutgers.edu/sp/
Write a Comment
User Comments (0)
About PowerShow.com