Active Coordination in Ad Hoc Networks
description
Transcript of Active Coordination in Ad Hoc Networks
![Page 1: Active Coordination in Ad Hoc Networks](https://reader035.fdocuments.net/reader035/viewer/2022062422/56813ff4550346895dab11dd/html5/thumbnails/1.jpg)
Active Coordination in Ad Hoc Networks
Christine Julien Gruia-Catalin Roman
Mobile Computing LaboratoryWashington University in Saint Louis
![Page 2: Active Coordination in Ad Hoc Networks](https://reader035.fdocuments.net/reader035/viewer/2022062422/56813ff4550346895dab11dd/html5/thumbnails/2.jpg)
2
Ad Hoc Networks
• Form opportunistically • Change rapidly in response to
mobility• Rely on no fixed infrastructure• Provide transient interactions• Foster decoupled computing
![Page 3: Active Coordination in Ad Hoc Networks](https://reader035.fdocuments.net/reader035/viewer/2022062422/56813ff4550346895dab11dd/html5/thumbnails/3.jpg)
3
Computational 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 1
Host 2
Host 3
![Page 4: Active Coordination in Ad Hoc Networks](https://reader035.fdocuments.net/reader035/viewer/2022062422/56813ff4550346895dab11dd/html5/thumbnails/4.jpg)
4
Context-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
![Page 5: Active Coordination in Ad Hoc Networks](https://reader035.fdocuments.net/reader035/viewer/2022062422/56813ff4550346895dab11dd/html5/thumbnails/5.jpg)
5
Example Application
![Page 6: Active Coordination in Ad Hoc Networks](https://reader035.fdocuments.net/reader035/viewer/2022062422/56813ff4550346895dab11dd/html5/thumbnails/6.jpg)
6
EgoSpaces 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
![Page 7: Active Coordination in Ad Hoc Networks](https://reader035.fdocuments.net/reader035/viewer/2022062422/56813ff4550346895dab11dd/html5/thumbnails/7.jpg)
7
The 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 application’s individual needs
• Allow agent to control scope of views• Ease program development• Minimize performance penalties
Host 1
Host 2
Host 3
Reference agent’s view: yellow data within one
hop
![Page 8: Active Coordination in Ad Hoc Networks](https://reader035.fdocuments.net/reader035/viewer/2022062422/56813ff4550346895dab11dd/html5/thumbnails/8.jpg)
8
Programming in EgoSpaces
• Application provides declarative view specifications
• EgoSpaces builds and maintains views
• Facilitates application’s interactions with views• Presents application with local-like data structure
Application
EgoSpaces
Network Support
![Page 9: Active Coordination in Ad Hoc Networks](https://reader035.fdocuments.net/reader035/viewer/2022062422/56813ff4550346895dab11dd/html5/thumbnails/9.jpg)
9
Interacting 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
1
3
2
4
rdgp(pattern)
match
5
![Page 10: Active Coordination in Ad Hoc Networks](https://reader035.fdocuments.net/reader035/viewer/2022062422/56813ff4550346895dab11dd/html5/thumbnails/10.jpg)
10
Model 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
![Page 11: Active Coordination in Ad Hoc Networks](https://reader035.fdocuments.net/reader035/viewer/2022062422/56813ff4550346895dab11dd/html5/thumbnails/11.jpg)
11
Reacting to Context
• Facilitate behavioral adaptation• Agents respond to
presence of certain tuple
• Application responds by removing or changing the tuple
Reactive view
FCreact
change
=react to p [remove] [and out modifiers()]
![Page 12: Active Coordination in Ad Hoc Networks](https://reader035.fdocuments.net/reader035/viewer/2022062422/56813ff4550346895dab11dd/html5/thumbnails/12.jpg)
12
Transactional 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
possibleT=transaction over v1, v2, … begin op1, op2, … end
![Page 13: Active Coordination in Ad Hoc Networks](https://reader035.fdocuments.net/reader035/viewer/2022062422/56813ff4550346895dab11dd/html5/thumbnails/13.jpg)
13
Augmented 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
TA
react
=react to p [remove] [and out modifiers()] followed by T()
TTinpg
out
![Page 14: Active Coordination in Ad Hoc Networks](https://reader035.fdocuments.net/reader035/viewer/2022062422/56813ff4550346895dab11dd/html5/thumbnails/14.jpg)
14
Active 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
![Page 15: Active Coordination in Ad Hoc Networks](https://reader035.fdocuments.net/reader035/viewer/2022062422/56813ff4550346895dab11dd/html5/thumbnails/15.jpg)
15
Active Coordination:
Data 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
workorder
migrate
workorder
M=migrate p [modifiers()]
![Page 16: Active Coordination in Ad Hoc Networks](https://reader035.fdocuments.net/reader035/viewer/2022062422/56813ff4550346895dab11dd/html5/thumbnails/16.jpg)
16
Active Coordination:
Data Duplication• Data availability is
often more important than consistency
• Duplicate certain data items• Duplicates available
upon disconnection• Originals are
unaffected
Duplication view
1
2
3
4
23duplicate
D=duplicate p [modifiers()]
5
![Page 17: Active Coordination in Ad Hoc Networks](https://reader035.fdocuments.net/reader035/viewer/2022062422/56813ff4550346895dab11dd/html5/thumbnails/17.jpg)
17
Active Coordination:
Event 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 event’s callback
Event view
inspectorarrivedevent
!!
E=event p followed by Te()
![Page 18: Active Coordination in Ad Hoc Networks](https://reader035.fdocuments.net/reader035/viewer/2022062422/56813ff4550346895dab11dd/html5/thumbnails/18.jpg)
18
Consistency 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
![Page 19: Active Coordination in Ad Hoc Networks](https://reader035.fdocuments.net/reader035/viewer/2022062422/56813ff4550346895dab11dd/html5/thumbnails/19.jpg)
19
Simplifying 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 i=1 to data.length data[i].newID() out(data[i]) seenTuples.add(data[i])
= [structural data on this floor]p = …pattern of data to collect…d = new Duplicate(p).enable(d, eager)
![Page 20: Active Coordination in Ad Hoc Networks](https://reader035.fdocuments.net/reader035/viewer/2022062422/56813ff4550346895dab11dd/html5/thumbnails/20.jpg)
20
Conclusions
• 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
![Page 21: Active Coordination in Ad Hoc Networks](https://reader035.fdocuments.net/reader035/viewer/2022062422/56813ff4550346895dab11dd/html5/thumbnails/21.jpg)
21
Thank You
• For more information:• http://www.cse.wustl.edu/mobilab