An application framework for event driven re configurable distributed applications
This presentation is the property of its rightful owner.
Sponsored Links
1 / 26

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


  • 48 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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

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.


Application scenarios

Application Scenarios

  • Distributed Event-driven applications:

    • Distributed testing, logging and monitoring.

    • Distributed control.

    • Conferencing, conference control.

    • Network Management.


Overview

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.


Streams

Streams

Messages

STREAM (global name, ordering guarantee)

Handler

Handler

Handler


Overview1

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.


Resource control

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.


Resource control mechanisms

Resource Control Mechanisms

  • System-wide resource control.

  • Per-stream resource control.

  • Per-location resource control.


Application agent monitor

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


Agent monitor

Agent Monitor


Agent debugger

Agent Debugger

  • A tool to debug Agent Scripts.

  • Extension of tcl-debug debugger.

  • Goals:

    • Location transparency.

    • Global stepping.

    • Global conditional breaks.


Agent debugger organization

Agent Debugger Organization

DebugeeAgent

Monitor Stream

MBOX

Per-locationController

Debugger GUI


Total ordering of messages

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.


Tk collaborative toolkit

Tk-Collaborative Toolkit

Mobile

Event Dispatcher

Tk Events

Tk Events

Tk Events

Tk Events

Tk Events

Tk Application

Tk Application


Record and replay of collaborative tools

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.


Organization

Organization


Causal order via mobility

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.


Application distributed testing

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.


Example

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.


A distributed web based test harness

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}

}


Architecture

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


System organization

System Organization

RELIABLE

CACHE/DIRECTORY

MANAGER

Control traffic

Control traffic

Agent Daemon

Agent Daemon

Data

State

State

Cache

Cache

Unreliable Peer

Unreliable Peer


Hierarchical directory managers

Hierarchical Directory Managers


Agent daemon organization

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


System simulation

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.


Future plans

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


  • Login