1 / 26

An Application Framework For Event-driven, Re-configurable Distributed Applications

An Application Framework For Event-driven, Re-configurable Distributed Applications. M.Ranganathan Multimedia and Digital Video Group National Institute of Standards and Technology. Goals of the AGNI Project.

nolcha
Télécharger la présentation

An Application Framework For Event-driven, Re-configurable Distributed Applications

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. An Application Framework For Event-driven, Re-configurable Distributed Applications M.Ranganathan Multimedia and Digital Video Group National Institute of Standards and Technology

  2. Goals of the AGNI Project • Design and build a secure , extensible, re-configurable, fault-tolerant middle-ware for peer-to-peer distributed applications. • Develop peer-to-peer applications based on developed infra-structure. • Evaluate architectures for Mobile Agent platforms via simulation.

  3. Application Scenarios • Distributed Event-driven applications: • Distributed testing, logging and monitoring. • Distributed control. • Conferencing, conference control. • Network Management.

  4. Overview • Built around the Mobile Streams abstraction. • A Mobile Stream is a named communication end-point. • Provides a FIFO ordering guarantee. • Name-location mapping can dynamically changed. • Basic idea: • Start with the communication structure of the application. • Attach handlers to communication end-points to define complete app.

  5. Streams Messages STREAM (global name, ordering guarantee) Handler Handler Handler

  6. Overview • Application is structured as a set of handlers that “react” to messages. • System can be re-configured dynamically - Streams can be moved around in reaction to external changes.

  7. Resource Control • System is re-configurable and dynamically extensible • System can be extended by dynamically adding Streams and handlers. • Reconfigured by moving around streams. • Resource Control Mechanism • controls on mobility, message delivery, reconfiguration, new stream creation and destruction.

  8. Resource Control Mechanisms • System-wide resource control. • Per-stream resource control. • Per-location resource control.

  9. Track the location of agents in the distributed system. Reactive GUI application. Allow user to easily deploy agents using a GUI driven management tool. Application : Agent Monitor

  10. Agent Monitor

  11. Agent Debugger • A tool to debug Agent Scripts. • Extension of tcl-debug debugger. • Goals: • Location transparency. • Global stepping. • Global conditional breaks.

  12. Agent Debugger Organization DebugeeAgent Monitor Stream MBOX Per-locationController Debugger GUI

  13. Total ordering of messages • Total order: • Messages can be sent concurrently. • Consumers consume messages in the same order. • Application: • Collaborative sharing of unmodified Tk applications using WYSIWIS model. • Dynamic reconfiguration to reduce latency.

  14. Tk-Collaborative Toolkit Mobile Event Dispatcher Tk Events Tk Events Tk Events Tk Events Tk Events Tk Application Tk Application

  15. Record and Replay of collaborative tools • XCVW Multi-party conferencing tool. • Asynchronous interactions generated by each party. • Want to record the interactions while tool is being used and replay tool live later keeping the same event sequencing. • Live replay generates the same network load. • Joint work with MITRE (Supported by DARPA under the IC&V project). • Uses the NIST Mobile Stream Infrastructure.

  16. Organization

  17. A B A A T3 T2 T5 T1 C T6 Causal Order via mobility • Can replace causal ordering of actions by streams and FIFO messages (between streams). • Example: Sequence of actions to be performed on machines A B and C: Applications: Testing and collaborative applications.

  18. Application: Distributed Testing • Simplifies the design and construction of distributed testers as follows: • Asynchronously and autonomous execution simplifies logic to build testers. • Reduction of tester generated network load. • Reduction of control latency. • Encapsulation of protocols used in distributed testing. • Dynamic adaptation to failures.

  19. Example • Required sequence: • Start data producer at A. • Start data consumer at B. • Initiate the transfer of data from A to B • Report the timing. • Agent : • Hop to A start producer • Hop to B start consumer • Hop back to A start transfer. • Gather result and report.

  20. At location 2 T2 At location 1 At location 1 T1 T4 T3 At location 3 A Distributed web-based Test Harness • A high level scripting environment to specify sequences of actions and execute them in a web-based environment. Sequential { at 1 { do task T1 } concurrent { at 2 {do task T2} at 3 {do task T3} } at 1 {do task T4} }

  21. Architecture Sequential { at 1 { do task T1 } concurrent { at 2 {do task T2} at 3 {do task T3} } at 1 {do task T4} } Compiler AGNI Streams Commands HTTPD Browser Browser Agnid Agnid

  22. System Organization RELIABLE CACHE/DIRECTORY MANAGER Control traffic Control traffic Agent Daemon Agent Daemon Data State State Cache Cache Unreliable Peer Unreliable Peer

  23. Hierarchical Directory Managers

  24. Location Stream (name) Stream (name) Agent Agent Agent Agent Briefcase Briefcase Briefcase Briefcase Tcl Interp Tcl Interp Tcl Interp Tcl Interp POSIX Thread POSIX Thread POSIX Thread POSIX Thread Agent Daemon Organization

  25. System Simulation • We have built a complete simulation of system: • Most code re-used from actual implementation. • Underlying message interface is simulated. • Allows experimentation with protocols and algorithms for re-configurable systems.

  26. Research Issues: Security Efficient inter-stream communication. Resilience / Fault tolerance. Applications Network management. Distributed web-based testing. Caching for collaborative applications. Distributed resource-aware applications. Future Plans

More Related