Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mitel Agent Framework: Architecture and Applications Michael Weiss Nov 16, 1999.

Similar presentations


Presentation on theme: "Mitel Agent Framework: Architecture and Applications Michael Weiss Nov 16, 1999."— Presentation transcript:

1 Mitel Agent Framework: Architecture and Applications Michael Weiss Nov 16, 1999

2 2 Motivation Objectives and issuesObjectives and issuesArchitecture Enabling technologiesEnabling technologies Agent architecture and support environmentAgent architecture and support environment Case Studies Feature interactionFeature interaction Automatic route selectionAutomatic route selection Big Picture Agent-based designAgent-based design Call Processing LanguageCall Processing Language Contents

3 3 Motivation

4 4 Convergent Paradigm Broadband Backbone

5 5 ObjectivesObjectives Main objective Rapid creation and customization of servicesRapid creation and customization of services Support transparency Service (who)Service (who) Technology (what)Technology (what) Location (where)Location (where) Meet reliability and real-time constraints Unexpected contingenciesUnexpected contingencies Quality of service guarantees for servicesQuality of service guarantees for services

6 6 Issues Service and resource discovery CommunicationOntologyCoordination Integration with legacy systems Configuration Visualization and monitoring

7 7 Architecture

8 8 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.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.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.60% of the calls routed over one trunk agent are reserved for a specific user agent.

9 9 Enabling Technologies KQML/ACL CORBA Java Operating System XML Integration Communication Distribution Objects Platform

10 10 Layered Agent Sensory Beliefs Reasoning Actions Collaboration Translation Mobility Network Service Resource

11 11 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.

12 12 Service Layer

13 13 Resource Layer

14 14 Agent Application Super- visor Agent Sub- ordinate Feature Resource adapters Features (device independent) uses Feature Resource owns Service Contracts uses/owns owns

15 15 Support Environment ADEAEE deployment and configuration notifications ANS Factory

16 16 Case Studies

17 Feature Interaction System = { Applications } + { Resources } Application = { Services } Service = { Basic service } + { Features } Application Services Features Resources

18 Causes of Feature Interaction Conflicts IndeterminacyIndeterminacy Assumption violationAssumption violation Resource contention Design by others (integration) Design evolution (impact of changes) Fault management

19 CW CL TC Example MCA = { BasicCallApp } + { Phone, CallDB } BasicCallApp = { BasicCallSvc, BillingSvc } BasicCallSvc = { TermCall (TC), OrigCall (OC) } + { CallForwardBusy (CFB), CallWaiting (CW) } BillingSvc = { CallLogging (CL) } BasicCallApp BillingSvc BasicCallSvc Phone CallDB OC CFB

20 Hypothetical Call Center Trunk Trunk Group Set Group Set Call Center Desktop Group Desktop CW OC Desktop CFB Resource adapters Features (device independent) uses TC

21 State Machines for Features

22 22 Conflict Resolution Precedence rules CFB > CW CFB > TC CW > TC Conflict set {TC, CFB, CW} Result set {CFB}

23 23 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. X isCallerScreened(Z) Y forwardTo(Z) Z call(Y)forward(Z)

24 24 Negotiation

25 25 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).

26 26 User/Task/Mediator Pattern Context You want to use agents to facilitate between people and information sources, and people to people.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.To encapsulate information about people, queries, and information sources.Forces Agents don't have extensive domain knowledge.Agents don't have extensive domain knowledge. Since users may play multiple roles at the same time you must keep role-specific information separate.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).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 feedback should be used to make recommendations to other users in the community.

27 27 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.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 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.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: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.

28 28 User/Task/Mediator Pattern Task Agent Task Agent User Agent Task Agent User Agent Task Agent Mediator Agent Mediator Agent Mediator Agent Task Agent User Agent

29 29 Application to ARS Task Agent Task Agent Router Agent Customer Agent Task Agent Customer Agent Carrier Agent Carrier Agent Carrier Agent Trunk Agent Trunk Agent 8-* 0- 35¢ 1-* 0-500 20¢ 500- 3¢ Call 1-416-234-5678 Volume 400 1-* 0-100 10¢ 100-1000 8¢ 1000- 5¢

30 30 Message Flow Task Agent Router Agent Customer Agent Carrier Agent Trunk Agent Carrier Agent Trunk Agent ask-route tell-route ask-route ask-bid tell-route ask-bid propose-bid accept-bid reject-bid ask-trunk tell-trunk

31 31 Visualization

32 32 Big Picture

33 33 Agent-Based Design Non-functional requirements Use case maps Agents Test cases Performance

34 34 Call Processing Language

35 35 End

36 OPI Deontic logic model Obligation O(P)Obligation O(P) Interdiction O(~P)Interdiction O(~P) Waiver ~O(P)Waiver ~O(P) Permission~O(~P)Permission~O(~P)Examples O(Originate)O(Originate) O(Terminate) & I(Forward)O(Terminate) & I(Forward) O(Redirect) & dn=4578O(Redirect) & dn=4578 O(Terminate) & P(Display)O(Terminate) & P(Display)

37 37 Originate Acquire Destination ID Offer Call to Destination Connect Wait Originator On Hook Process Call Connect Voice Path Wait Destination On Hook Verify Destination ID Verify Destination Availability Wait Answer Collect ID Redirect Verify User Availability Indicate Call Establish Connection Wait Own On HookConnect Voice Path Identify Redirection ID Redirect Terminate Call Forward Wait Originator On Hook (Perform (O Terminate) (I Redirect)) Available Apply Reorder No Answer (Perform (O Originate) (I Redirect))

38 38 OPI-XML...


Download ppt "Mitel Agent Framework: Architecture and Applications Michael Weiss Nov 16, 1999."

Similar presentations


Ads by Google