Title: Active Coordination in Ad Hoc Networks
1Active Coordination in Ad Hoc Networks
- Christine Julien
- Gruia-Catalin Roman
- Mobile Computing Laboratory
- Washington University in Saint Louis
2Ad Hoc Networks
- Form opportunistically
- Change rapidly in response to mobility
- Rely on no fixed infrastructure
- Provide transient interactions
- Foster decoupled computing
3Computational Model
- Ad hoc network
- Host (mobile or stationary)
- Defines location in physical space
- Agents/Application Components
- Unit of mobility residing on a host
- Data
- Owned and generated by each agent
Host 2
Host 1
Host 3
4Context-Awareness
- Software and hardware components constantly move
and change - Applications must opportunistically adapt
- Context scope extends beyond the local host
- Perception of context varies by application
- Application specific context definition
- Asymmetric context interaction
- Multiple contexts evolving over time
5Example Application
6EgoSpaces Middleware
- Presents coordination model for easing
application development - Facilitates asymmetric coordination
- Allows applications to flexibly interact with the
environment - Based on tuple spaces
- Provides high-level abstractions of ad hoc
network environment
7The View Construct
- Maximal context contains all available data
- A view is a projection of the maximal context
- Egocentric abstraction of operating context
- Tailored to an applications individual needs
- Allow agent to control scope of views
- Ease program development
- Minimize performance penalties
Host 2
Host 1
Reference agents view yellow data within one hop
Host 3
8Programming in EgoSpaces
- Application provides declarative view
specifications - EgoSpaces builds and
- maintains views
- Facilitates applications
- interactions with views
- Presents application
- with local-like data
- structure
Application
EgoSpaces
Network Support
9Interacting with Context
- Present view contents as tuple space
- Use Linda-like operations
- Content-based pattern matching
- retrieve tuples (rd)
- remove tuples (in)
- Can affect overlapping views
- Atomic blocking, atomic probing, and scattered
probing operations
4
2
1
rdgp(pattern)
match
3
5
10Model Limitations
- Lacks natural adaptation mechanisms
- Provides only polling operations
- Allows interaction only with the system state
- Requires explicit interaction with individual
data items - Difficult to specify behaviors that affect
general classes of data - Does not cater to variations in programmer
expertise
11Reacting to Context
- Facilitate behavioral adaptation
- Agents respond to presence of certain tuple
- Application responds by removing or changing the
tuple
Reactive view
F
C
react
change
?react to p remove and out modifiers(?)
12Transactional Programming
- Atomic sequence of operations over a set of views
- Intermediate results are not visible
- Requires locking all view participants
- Cannot include blocking operations
- Reference agent provides view restriction
- Makes a deadlock-free implementation possible
Ttransaction over v1, v2, begin op1, op2, end
13Augmented Reactions
- Extended reaction
- Local trigger
- Reaction and transaction are atomic
- Followed reaction
- Remote trigger
- Trigger, removal, and notification are atomic
- Transaction is a separate step
Reactive view
inpg
T
react
T
T
A
out
?react to p remove and out modifiers(?)
followed by T(?)
14Active Coordination
- Applications benefit from high-level coordination
with context - Active views capture natural context interactions
- Apply lessons learned in other coordination
middleware while accounting for ad hoc networks - Reference agents attach behaviors to views
- Encountering specified conditions triggers an
automatic response - Generality and extensibility
15Active CoordinationData Migration
- Replica management is impractical
- Transparently collect certain data
- Without explicitly reading each data item
- Migration automatically collects matching data
- Responds to changes in the view
Migration view
migrate
work order
work order
Mmigrate p modifiers(?)
16Active CoordinationData Duplication
- Data availability is often more important than
consistency - Duplicate certain data items
- Duplicates available upon disconnection
- Originals are unaffected
Duplication view
4
3
1
duplicate
2
3
2
5
Dduplicate p modifiers(?)
17Active CoordinationEvent Capture
- Response to events instead of state
- e.g., agent/host arrival, data access
- Special event generation mechanism
- Multiple registrations for same event
- Transaction specifies events callback
Event view
!!
inspector arrived event
Eevent p followed by Te(?)
18Consistency Concerns
- Transactional semantics
- Strong application guarantees
- Can be expensive
- Can be guaranteed using special protocols
- Eager scheduling modality
- Best-effort semantics
- Allow more flexible implementation
- Increase performance
- Lazy scheduling modality
19Simplifying Programming
- Programming abstractions
- Reduce programmer error
- Tailored to common needs of real applications
- Reduced programming effort
- Desirable changes in semantics
- structural data on this floor
- p ?pattern of data to collect?
- seenTuples new Vector()
- while(true)
- sleep(time)
- data ?.rdgp(p)
- if data ? null
- for i1 to data.length
- datai.newID()
- out(datai)
- seenTuples.add(datai)
- structural data on this floor
- p ?pattern of data to collect?
- d new Duplicate(p)
- ?.enable(d, eager)
20Conclusions
- Coordination middleware must address constraints
of ad hoc networks - Allow adaptation to changing context
- Tailor context provision to applications needs
- Programming abstractions must satisfy application
developers requirements - Reactive and active constructs provide high-level
coordination in EgoSpaces - Required middleware support should be minimized
- EgoSpaces view abstraction defines context
- Behaviors are reducible to reactive construct
21Thank You
- For more information
- http//www.cse.wustl.edu/mobilab