Download presentation
Presentation is loading. Please wait.
Published byAngela McKinney Modified over 9 years ago
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...
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.