1 / 29

Coordination middleware for decentralized applications in dynamic networks

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

raina
Download Presentation

Coordination middleware for decentralized applications in dynamic networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Elevator Talk • Dynamic networks • Changing composition over time • Decentralized applications • Application components spread over the network nodes • no single component has global control • Coordination both important and difficult for application developer • Coordination support needed • Appropriate abstractions • Support abstractions through middleware

  3. Overview • Case Study • Automatic Guided Vehicle control • Views • gather and maintain context information • Roles • setup and maintain a group of components interacting through a protocol

  4. Example Application

  5. Description of purpose • Decentralization • Collision avoidance • Deadlock avoidance • Job assignment • Dynamic network • Mobility of AGVs • Coordination • Support a higher level of abstraction wrt “message sending” • Deal with network dynamics

  6. Goal Statement • Develop • Abstractions for the coordination of application components • Supported by middleware • Advantages • Offers a suitable architecture to structure application • Allows reuse of common functionality • Accelerates application development

  7. Methodology • Case-driven • Analyse case • Propose abstraction • Develop middleware • Evaluate in case study • Two iterations • Views for information gathering in mobile ad hoc networks • Roles for protocol-based coordination in mobile networks

  8. Node Node Node Views Node

  9. Views • Application components use • tuplespace for publishing information tuples • 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 view • As network changes • As content of tuplespaces changes

  10. Related Work • Tuplespaces-based systems • LIME: shared tuplespaces • EgoSpaces: views • TOTA: Distributed tuples • Publish/subscribe-based systems • STEAM : Location-dependent subscriptions • JEDI: moveIn and moveOut operator • Related to both • View ~ gathering of tuples from neighboring tuplespaces • View ~ subscription on events on neighboring tuplespaces

  11. Colllision Avoidance in AGV case

  12. Colllision Avoidance in AGV case

  13. Colllision Avoidance in AGV case

  14. Colllision Avoidance in AGV case

  15. Views for collision avoidance? • Can be used as “discovery mechanism” • Detect possible overlapping hulls • But: complex coordination • Involving more than information exchange • Mutual exclusion protocol needed

  16. Roles • Behavior of one partner in an interaction protocol • To describe object collaborations in OO • Framework design • OO related languages (EpsilonJ) • Role pattern • To describe protocols in multi-agent systems

  17. Participant Participant Participant Roles Node Node Node Initiator Node

  18. Roles for protocol-based interaction • Group • declaratively describes with which nodes to execute the protocol • Determines activation of roles • Middleware maintains groups of activated roles • Executing an interaction session • Group is updated as network changes

  19. Collision avoidance revisited

  20. Activation of Roles

  21. Colllision Avoidance in AGV case

  22. Colllision Avoidance in AGV case Start Requester Role

  23. Colllision Avoidance in AGV case voter requester

  24. Colllision Avoidance in AGV case voter Request(Hull) requester

  25. Colllision Avoidance in AGV case voter Deny requester

  26. Colllision Avoidance in AGV case Requester (waiting)

  27. Evaluation: Views • Developed protocol to support views in a MANET • Experiments • Analytically & in a simple MANET similator • Overhead: <10% • Correctness: best-effort, very dependent on mobility of nodes • In progress: ns-2 simulations • More realistic • Comparison with related protocols • Application • Updating network stacks in an active network • E.g. dynamically adding compressor/decompressor to improve quality of service

  28. Evaluation: Roles • Real world application: Automatic Guided Vehicle control • Role-based middleware used throughout • Collision avoidance, deadlock avoidance, job assignment,… • Gain experience • Real life testing • 2 vehicles in test setup • More vehicles in simulation • Not “just” prototype implementation

  29. Thank you! Questions?

More Related