Mitel agent framework architecture and applications
This presentation is the property of its rightful owner.
Sponsored Links
1 / 38

Mitel Agent Framework: Architecture and Applications PowerPoint PPT Presentation


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

Mitel Agent Framework: Architecture and Applications. Michael Weiss Nov 16, 1999. Contents. Motivation Objectives and issues Architecture Enabling technologies Agent architecture and support environment Case Studies Feature interaction Automatic route selection Big Picture

Download Presentation

Mitel Agent Framework: Architecture and 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


Mitel agent framework architecture and applications

Mitel Agent Framework: Architecture and Applications

  • Michael Weiss

  • Nov 16, 1999


Contents

Contents

  • Motivation

    • Objectives and issues

  • Architecture

    • Enabling technologies

    • Agent architecture and support environment

  • Case Studies

    • Feature interaction

    • Automatic route selection

  • Big Picture

    • Agent-based design

    • Call Processing Language


Motivation

Motivation


Convergent paradigm

Convergent Paradigm

Broadband

Backbone


Objectives

Objectives

  • Main objective

    • Rapid creation and customization of services

  • Support transparency

    • Service (who)

    • Technology (what)

    • Location (where)

  • Meet reliability and real-time constraints

    • Unexpected contingencies

    • Quality of service guarantees for services


Issues

Issues

  • Service and resource discovery

  • Communication

  • Ontology

  • Coordination

  • Integration with legacy systems

  • Configuration

  • Visualization and monitoring


Architecture

Architecture


Agents our definition

Agents - Our Definition

  • A reusable software component that provides controlled access to services.

    • A printer agent provides printing services schedules requests to a shared printer.

  • Basic building blocks for applications organized as networks of collaborating agents.

    • A desktop agent "recruits" the services of a trunk and a set resource agent.

  • Behavior constrained by policies set by higher-level agents (security, user prefs etc).

    • 60% of the calls routed over one trunk agent are reserved for a specific user agent.


Enabling technologies

Integration

  • XML

KQML/ACL

Communication

Distribution

  • CORBA

Objects

  • Java

  • Operating System

Platform

Enabling Technologies


Layered agent

Mobility

Network

Translation

Collaboration

Service

Actions

Reasoning

Beliefs

Resource

Sensory

Layered Agent


Network layer

Yellow-page directory of agent

capabilities. For scalability, facilitators

are arranged in hierarchies.

White page directory of agent names.

A pool of reusable agents and agent

components (features and resource

adapters) that can be added to an

application without recompiling or even

stopping the application.

Network Layer


Service layer

Service Layer


Resource layer

Resource Layer


Agent application

Agent Application

Super-

visor

Agent

Service

Feature

Feature

Sub-

ordinate

Feature

Feature

owns

owns

owns

owns

uses

uses

uses

uses

Resource adapters

Resource

Features (device independent)

Contracts

uses/owns


Support environment

Factory

ANS

Factory

Factory

Support Environment

deployment and configuration

ADE

AEE

notifications


Case studies

Case Studies


Feature interaction

Resources

Application

Features

Services

Feature Interaction

  • System = { Applications } + { Resources }

  • Application = { Services }

  • Service = { Basic service } + { Features }


Causes of feature interaction

Causes of Feature Interaction

  • Conflicts

    • Indeterminacy

    • Assumption violation

  • Resource contention

  • Design by others (integration)

  • Design evolution (impact of changes)

  • Fault management


Example

Example

  • MCA = { BasicCallApp } + { Phone, CallDB }

  • BasicCallApp = { BasicCallSvc, BillingSvc }

  • BasicCallSvc = { TermCall (TC), OrigCall (OC) } + { CallForwardBusy (CFB), CallWaiting (CW) }

  • BillingSvc = { CallLogging (CL) }

BillingSvc

BasicCallSvc

TC

CL

OC

CFB

CallDB

CW

BasicCallApp

Phone


Hypothetical call center

Hypothetical Call Center

CallCenter

Desktop

Group

Set Group

Trunk Group

TC

OC

Desktop

Desktop

Trunk

Trunk

Set

Set

CFB

CW

uses

uses

uses

uses

Resource adapters

Features (device independent)


State machines for features

State Machines for Features


Conflict resolution

Conflict Resolution

Conflict set

{TC, CFB, CW}

Precedence

rules

CFB > CW

CFB > TC

CW > TC

Result set

{CFB}


Multi party interaction

Multi-Party Interaction

  • Consider the example of the interaction of CFB and OCS. The problem is typically stated as:

If a caller X who subscribes to feature Originating Call Screening calls

person Y, and if Y forwards all of their calls to a number Z on X’s list of

forbidden numbers, then X can reach a forbidden number by calling Y.

call(Y)

forward(Z)

X

isCallerScreened(Z)

Y

forwardTo(Z)

Z


Negotiation

Negotiation


Automatic route selection

Automatic Route Selection

  • Equal access allows a company to route their calls through multiple carriers.

  • Conventional LCR selects route only on time of day and requires route tables to be precoded.

  • Our approach uses intelligent bidding between agents representing the carriers.

  • In this approach the agents interpret the service plans directly (no precoding of route tables).


User task mediator pattern

User/Task/Mediator Pattern

  • Context

    • You want to use agents to facilitate between people and information sources, and people to people.

  • Problem

    • To encapsulate information about people, queries, and information sources.

  • Forces

    • Agents don't have extensive domain knowledge.

    • Since users may play multiple roles at the same time you must keep role-specific information separate.

    • Queries may be long-lived (e.g. days or weeks).

    • User feedback should be used to make recommendations to other users in the community.


User task mediator pattern1

User/Task/Mediator Pattern

  • Solution

    • User agents form the interface between the user and the other agents. They receive the user's queries and feedback, and present information tailored to the user.

    • Task agents are created for each user query. They propagate the query to all available sources. The task agents collect the results returned and sort them.

    • Task agents may be long-lived (e.g. days or weeks) and permanently represent a user in a given role.

    • Mediator agents mediate between task agents:

      • Recommender agents store the users’ evaluations of recommendations. They apply both content-based and collaborative filtering before recommending items.

      • Search agents forward a user query to a user-specified search engine. The search agent extracts the search results from the pages provided by the search engine.


User task mediator pattern2

User

Agent

Task

Agent

Mediator

Agent

Task

Agent

Mediator

Agent

Task

Agent

User

Agent

Task

Agent

User

Agent

Mediator

Agent

Task

Agent

User/Task/Mediator Pattern


Application to ars

1-*

0-100 10¢

100-1000 8¢

1000- 5¢

Call

1-416-234-5678

Volume

400

Carrier

Agent

Trunk

Agent

Customer

Agent

Task

Agent

Carrier

Agent

Task

Agent

Router

Agent

Carrier

Agent

Trunk

Agent

Customer

Agent

Task

Agent

8-*

0- 35¢

1-*

0-500 20¢

500- 3¢

Application to ARS


Message flow

Message Flow

Customer

Agent

Task

Agent

Router

Agent

Carrier

Agent

Trunk

Agent

Carrier

Agent

Trunk

Agent

ask-route

ask-route

ask-bid

propose-bid

ask-bid

propose-bid

accept-bid

reject-bid

tell-route

tell-route

ask-trunk

tell-trunk


Visualization

Visualization


Big picture

Big Picture


Agent based design

Agent-Based Design

Non-functional

requirements

Performance

Use case maps

Agents

Test cases


Call processing language

Call Processing Language


Mitel agent framework architecture and applications

End


Mitel agent framework architecture and applications

OPI

  • Deontic logic model

    • Obligation O(P)

    • Interdiction O(~P)

    • Waiver ~O(P)

    • Permission~O(~P)

  • Examples

    • O(Originate)

    • O(Terminate) & I(Forward)

    • O(Redirect) & dn=4578

    • O(Terminate) & P(Display)


Mitel agent framework architecture and applications

Apply Reorder

No Answer

Available

(Perform (O Terminate) (I Redirect))

Originate

(Perform (O Originate) (I Redirect))

Redirect

Process Call

Acquire Destination ID

Connect Voice Path

Offer Call to Destination

Connect

Collect ID

Verify Destination

Availability

Verify Destination ID

Wait Originator On Hook

Wait Destination On Hook

Wait Answer

Call Forward

Terminate

Identify Redirection ID

Redirect

Establish Connection

Verify User Availability

Indicate Call

Wait Originator On Hook

Wait Own On Hook

Connect Voice Path


Opi xml

OPI-XML

  • <sequence name="processCallOrigination">

  • <sequence name="acquireDestinationId">

  • <command name="collectDestinationId" timeout="5s">

  • <timeout>

  • <fail action="applyReorder"/>

  • </timeout>

  • </command>

  • <command name="verifyDestinationId">

  • <invalid>

  • <fail action="applyReorder"/>

  • </invalid>

  • </command>

  • </sequence>

  • <sequence name="offerCallToDestination">

  • <propose>

  • <assertion aspect="oblige" value="terminate"/>

  • </propose>

  • <command name="verifyDestinationAvailability" timeout="10s"> ...

  • <command name="waitForAnswer"> ...

  • </sequence>

  • </sequence>


  • Login