Upload
raina
View
30
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Coordination middleware for decentralized applications in dynamic networks. Kurt Schelfthout, Tom Holvoet. Elevator Talk. Dynamic networks Changing composition over time Decentralized applications Application components spread over the network nodes no single component has global control - PowerPoint PPT Presentation
Citation preview
1
Apr
il 20
, 202
3
Coordination middleware for Coordination middleware for decentralized applications in decentralized applications in
dynamic networksdynamic networks
Kurt Schelfthout, Tom Holvoet
2
Apr
il 20
, 202
3
Elevator TalkElevator Talk
• Dynamic networkso Changing composition over time
• Decentralized applicationso Application components spread over the network
nodes
o no single component has global control
• Coordination both important and difficult for application developer
• Coordination support needed o Appropriate abstractions
o Support abstractions through middleware
3
Apr
il 20
, 202
3
OverviewOverview
• Case Studyo Automatic Guided Vehicle control
• Views o gather and maintain context information
• Roles o setup and maintain a group of components
interacting through a protocol
4
Apr
il 20
, 202
3
Example ApplicationExample Application
5
Apr
il 20
, 202
3
Description of purposeDescription of purpose
• Decentralizationo Collision avoidance
o Deadlock avoidance
o Job assignment
• Dynamic networko Mobility of AGVs
• Coordinationo Support a higher level of abstraction wrt “message
sending”
o Deal with network dynamics
6
Apr
il 20
, 202
3
Goal StatementGoal Statement
• Developo Abstractions for the coordination of application
components
o Supported by middleware
• Advantageso Offers a suitable architecture to structure application
o Allows reuse of common functionality
o Accelerates application development
7
Apr
il 20
, 202
3
MethodologyMethodology
• Case-driveno Analyse case
o Propose abstraction
o Develop middleware
o Evaluate in case study
• Two iterationso Views for information gathering in mobile ad hoc
networks
o Roles for protocol-based coordination in mobile networks
8
Apr
il 20
, 202
3
ViewsViews
Node
Node
Node
Node
9
Apr
il 20
, 202
3
ViewsViews
• Application components useo tuplespace for publishing information tuples
o View for gathering information tuples
• Declarative description Which nodes? Which tuples?
E.g. ‘gather all printers within 30 meters’
• Middleware collects the tuples in the viewo As network changes
o As content of tuplespaces changes
10
Apr
il 20
, 202
3
Related WorkRelated Work
• Tuplespaces-based systemso LIME: shared tuplespaces
o EgoSpaces: views
o TOTA: Distributed tuples
• Publish/subscribe-based systemso STEAM : Location-dependent subscriptions
o JEDI: moveIn and moveOut operator
• Related to botho View ~ gathering of tuples from neighboring tuplespaces
o View ~ subscription on events on neighboring tuplespaces
11
Apr
il 20
, 202
3
Colllision Avoidance in AGV caseColllision Avoidance in AGV case
12
Apr
il 20
, 202
3
Colllision Avoidance in AGV caseColllision Avoidance in AGV case
13
Apr
il 20
, 202
3
Colllision Avoidance in AGV caseColllision Avoidance in AGV case
14
Apr
il 20
, 202
3
Colllision Avoidance in AGV caseColllision Avoidance in AGV case
15
Apr
il 20
, 202
3
Views for collision avoidance?Views for collision avoidance?
• Can be used as “discovery mechanism”o Detect possible overlapping hulls
• But: complex coordinationo Involving more than information exchange
o Mutual exclusion protocol needed
16
Apr
il 20
, 202
3
RolesRoles
• Behavior of one partner in an interaction protocol
• To describe object collaborations in OOo Framework design
o OO related languages (EpsilonJ)
o Role pattern
• To describe protocols in multi-agent systems
17
Apr
il 20
, 202
3
RolesRoles
Node
Node
Node Initiator
Node
Participant
Participant
Participant
18
Apr
il 20
, 202
3
Roles for protocol-based Roles for protocol-based interactioninteraction
• Group o declaratively describes with which nodes to execute
the protocol
o Determines activation of roles
• Middleware maintains groups of activated roleso Executing an interaction session
o Group is updated as network changes
19
Apr
il 20
, 202
3
Collision avoidance revisitedCollision avoidance revisited
Requester Voter 1 Voter 2 Voter n
Request(Hull)
Request(Hull)
Allow
Allow
Deny
...
Request(Hull)
Request(Hull)
20
Apr
il 20
, 202
3
Activation of RolesActivation of Roles
21
Apr
il 20
, 202
3
Colllision Avoidance in AGV caseColllision Avoidance in AGV case
22
Apr
il 20
, 202
3
Colllision Avoidance in AGV caseColllision Avoidance in AGV case
Start Requester Role
23
Apr
il 20
, 202
3
Colllision Avoidance in AGV caseColllision Avoidance in AGV case
requester
voter
24
Apr
il 20
, 202
3
Colllision Avoidance in AGV caseColllision Avoidance in AGV case
requester
voter
Request(Hull)
25
Apr
il 20
, 202
3
Colllision Avoidance in AGV caseColllision Avoidance in AGV case
requester
voter
Deny
26
Apr
il 20
, 202
3
Colllision Avoidance in AGV caseColllision Avoidance in AGV case
Requester (waiting)
27
Apr
il 20
, 202
3
Evaluation: ViewsEvaluation: Views
• Developed protocol to support views in a MANET
• Experimentso Analytically & in a simple MANET similator
Overhead: <10%
Correctness: best-effort, very dependent on mobility of nodes
o In progress: ns-2 simulations
More realistic
Comparison with related protocols
• Applicationo Updating network stacks in an active network
o E.g. dynamically adding compressor/decompressor to improve quality of service
28
Apr
il 20
, 202
3
Evaluation: RolesEvaluation: Roles
• Real world application: Automatic Guided Vehicle controlo Role-based middleware used throughout
Collision avoidance, deadlock avoidance, job assignment,…
• Gain experience
• Real life testing2 vehicles in test setup
More vehicles in simulation
• Not “just” prototype implementation
29
Apr
il 20
, 202
3
Thank you!Thank you!
Questions?