Top Banner
1 January 1, 2022 Coordination middleware Coordination middleware for decentralized for decentralized applications in dynamic applications in dynamic networks networks Kurt Schelfthout, Tom Holvoet
29

Coordination middleware for decentralized applications in dynamic networks

Jan 07, 2016

Download

Documents

raina

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
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Coordination middleware for decentralized applications in dynamic networks

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

Page 2: Coordination middleware for decentralized applications in dynamic networks

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

Page 3: Coordination middleware for decentralized applications in dynamic networks

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

Page 4: Coordination middleware for decentralized applications in dynamic networks

4

Apr

il 20

, 202

3

Example ApplicationExample Application

Page 5: Coordination middleware for decentralized applications in dynamic networks

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

Page 6: Coordination middleware for decentralized applications in dynamic networks

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

Page 7: Coordination middleware for decentralized applications in dynamic networks

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

Page 8: Coordination middleware for decentralized applications in dynamic networks

8

Apr

il 20

, 202

3

ViewsViews

Node

Node

Node

Node

Page 9: Coordination middleware for decentralized applications in dynamic networks

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

Page 10: Coordination middleware for decentralized applications in dynamic networks

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

Page 11: Coordination middleware for decentralized applications in dynamic networks

11

Apr

il 20

, 202

3

Colllision Avoidance in AGV caseColllision Avoidance in AGV case

Page 12: Coordination middleware for decentralized applications in dynamic networks

12

Apr

il 20

, 202

3

Colllision Avoidance in AGV caseColllision Avoidance in AGV case

Page 13: Coordination middleware for decentralized applications in dynamic networks

13

Apr

il 20

, 202

3

Colllision Avoidance in AGV caseColllision Avoidance in AGV case

Page 14: Coordination middleware for decentralized applications in dynamic networks

14

Apr

il 20

, 202

3

Colllision Avoidance in AGV caseColllision Avoidance in AGV case

Page 15: Coordination middleware for decentralized applications in dynamic networks

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

Page 16: Coordination middleware for decentralized applications in dynamic networks

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

Page 17: Coordination middleware for decentralized applications in dynamic networks

17

Apr

il 20

, 202

3

RolesRoles

Node

Node

Node Initiator

Node

Participant

Participant

Participant

Page 18: Coordination middleware for decentralized applications in dynamic networks

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

Page 19: Coordination middleware for decentralized applications in dynamic networks

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)

Page 20: Coordination middleware for decentralized applications in dynamic networks

20

Apr

il 20

, 202

3

Activation of RolesActivation of Roles

Page 21: Coordination middleware for decentralized applications in dynamic networks

21

Apr

il 20

, 202

3

Colllision Avoidance in AGV caseColllision Avoidance in AGV case

Page 22: Coordination middleware for decentralized applications in dynamic networks

22

Apr

il 20

, 202

3

Colllision Avoidance in AGV caseColllision Avoidance in AGV case

Start Requester Role

Page 23: Coordination middleware for decentralized applications in dynamic networks

23

Apr

il 20

, 202

3

Colllision Avoidance in AGV caseColllision Avoidance in AGV case

requester

voter

Page 24: Coordination middleware for decentralized applications in dynamic networks

24

Apr

il 20

, 202

3

Colllision Avoidance in AGV caseColllision Avoidance in AGV case

requester

voter

Request(Hull)

Page 25: Coordination middleware for decentralized applications in dynamic networks

25

Apr

il 20

, 202

3

Colllision Avoidance in AGV caseColllision Avoidance in AGV case

requester

voter

Deny

Page 26: Coordination middleware for decentralized applications in dynamic networks

26

Apr

il 20

, 202

3

Colllision Avoidance in AGV caseColllision Avoidance in AGV case

Requester (waiting)

Page 27: Coordination middleware for decentralized applications in dynamic networks

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

Page 28: Coordination middleware for decentralized applications in dynamic networks

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

Page 29: Coordination middleware for decentralized applications in dynamic networks

29

Apr

il 20

, 202

3

Thank you!Thank you!

Questions?