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

1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

Jan 12, 2016

Download

Documents

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: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

1

Apr

il 21

, 202

3

Coordination middleware for Coordination middleware for decentralized applications in decentralized applications in

dynamic networksdynamic networks

Kurt Schelfthout, Tom Holvoet

Page 2: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

2

Apr

il 21

, 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: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

3

Apr

il 21

, 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: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

4

Apr

il 21

, 202

3

Example ApplicationExample Application

Page 5: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

5

Apr

il 21

, 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: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

6

Apr

il 21

, 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: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

7

Apr

il 21

, 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: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

8

Apr

il 21

, 202

3

ViewsViews

Node

Node

Node

Node

Page 9: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

9

Apr

il 21

, 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: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

10

Apr

il 21

, 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: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

11

Apr

il 21

, 202

3

Colllision Avoidance in AGV caseColllision Avoidance in AGV case

Page 12: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

12

Apr

il 21

, 202

3

Colllision Avoidance in AGV caseColllision Avoidance in AGV case

Page 13: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

13

Apr

il 21

, 202

3

Colllision Avoidance in AGV caseColllision Avoidance in AGV case

Page 14: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

14

Apr

il 21

, 202

3

Colllision Avoidance in AGV caseColllision Avoidance in AGV case

Page 15: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

15

Apr

il 21

, 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: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

16

Apr

il 21

, 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: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

17

Apr

il 21

, 202

3

RolesRoles

Node

Node

Node Initiator

Node

Participant

Participant

Participant

Page 18: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

18

Apr

il 21

, 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: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

19

Apr

il 21

, 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: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

20

Apr

il 21

, 202

3

Activation of RolesActivation of Roles

Page 21: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

21

Apr

il 21

, 202

3

Colllision Avoidance in AGV caseColllision Avoidance in AGV case

Page 22: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

22

Apr

il 21

, 202

3

Colllision Avoidance in AGV caseColllision Avoidance in AGV case

Start Requester Role

Page 23: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

23

Apr

il 21

, 202

3

Colllision Avoidance in AGV caseColllision Avoidance in AGV case

requester

voter

Page 24: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

24

Apr

il 21

, 202

3

Colllision Avoidance in AGV caseColllision Avoidance in AGV case

requester

voter

Request(Hull)

Page 25: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

25

Apr

il 21

, 202

3

Colllision Avoidance in AGV caseColllision Avoidance in AGV case

requester

voter

Deny

Page 26: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

26

Apr

il 21

, 202

3

Colllision Avoidance in AGV caseColllision Avoidance in AGV case

Requester (waiting)

Page 27: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

27

Apr

il 21

, 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: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

28

Apr

il 21

, 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: 1 8 October 2015 Coordination middleware for decentralized applications in dynamic networks Kurt Schelfthout, Tom Holvoet.

29

Apr

il 21

, 202

3

Thank you!Thank you!

Questions?