1 8 october 2015 coordination middleware for decentralized applications in dynamic networks kurt...

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

Upload: annabel-washington

Post on 12-Jan-2016

212 views

Category:

Documents


0 download

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?