A Multi-Agent System for Personal Messaging

Download (0)

Full text


READ THESE TERMS AND CONDITIONS CAREFULLY BEFORE USING THIS WEBSITE. https://nrc-publications.canada.ca/eng/copyright

Vous avez des questions? Nous pouvons vous aider. Pour communiquer directement avec un auteur, consultez la

première page de la revue dans laquelle son article a été publié afin de trouver ses coordonnées. Si vous n’arrivez pas à les repérer, communiquez avec nous à PublicationsArchive-ArchivesPublications@nrc-cnrc.gc.ca.

Questions? Contact the NRC Publications Archive team at

PublicationsArchive-ArchivesPublications@nrc-cnrc.gc.ca. If you wish to email the authors directly, please see the first page of the publication for their contact information.

NRC Publications Archive

Archives des publications du CNRC

This publication could be one of several versions: author’s original, accepted manuscript or the publisher’s version. / La version de cette publication peut être l’une des suivantes : la version prépublication de l’auteur, la version acceptée du manuscrit ou la version de l’éditeur.

Access and use of this website and the material on it are subject to the Terms and Conditions set forth at

A Multi-Agent System for Personal Messaging

Meech, J.F.; Baker, K.; Law, E.; Liscano, Ramiro


L’accès à ce site Web et l’utilisation de son contenu sont assujettis aux conditions présentées dans le site LISEZ CES CONDITIONS ATTENTIVEMENT AVANT D’UTILISER CE SITE WEB.

NRC Publications Record / Notice d'Archives des publications de CNRC:




National Research

Council Canada

Institute for Information Technology

Conseil national

de recherches Canada

Institut de Technologie de l’information

A Multi-agent System for Personal Messaging*

J. Meech, K. Baker, E. Law, and R. Liscano

June 2000

Copyright 2000 by

National Research Council of Canada

Permission is granted to quote short excerpts and to reproduce figures and tables from this report, provided that the source of such material is fully acknowledged.


Poster presentation at the Fourth International Conference on Autonomous

Agents (Agents’ 2000). NRC 43662.


A Multi-Agent System for Personal Messaging

John F. Meech, Katherine Baker, Edith Law, Ramiro Liscano

Network Computing Group, Institute for Information Technology, National Research Council of Canada.

M50, Montreal Road, Ottawa, Ontario, Canada K1A OR6

{John.Meech, Katherine.Baker, Edith.Law, Ramiro.Liscano}@iit.nrc.ca


Intelligent Interface Agent, Intelligent Interface, Adaptive Interface, Seamless Messaging, Unified Messaging, Software Agent. Telecommunications.


There are now many ways of sending messages (such as faxes, telephone calls, pages, emails, etc.) and a corresponding multitude of ways of responding to them. Part of this variety arises from the separate systems that are used for each type of message, and part from the different services that each system might employ (e.g. different telephone and cellular telephone operators, etc.). These systems are rarely closely integrated, making it difficult for messages to pass between systems to reach the recipient. For example, a person usually has several voice-mail accounts; at home, at the office and on a cellphone, each of which may have a different user interface, and that may be incapable of exchanging messages. To address these discontinuities in message passing the concept of Seamless

Messaging environments and Seamless Personal Information Networks [1] has been proposed. These systems are intended to

provide a means of delivering messages in a way which is personal to the recipient, and in which the separate networks that might be used to deliver a message are invisible.



The ability of a seamless messaging system to function depends upon the ability to accept a message in one format and deliver it in another. This change of format or modality will depend upon the capabilities of the sending or receiving device, the bandwidth available to transmit the message and the preferences of the receiver and sender. Therefore a system that provides such seamless messaging must be able to resolve possible changes of message modality between sender and receiver due to:

1. User preferences (e.g. audio to signal arrival of email or page, message filtering, etc.),

2. Device capability (e.g. a cellular phone cannot display a video message),

3. Network capability (e.g. restricted bandwidth or network access).

In a seamless network there will be a large number of devices that are capable of accessing messages. Each device will have its own set of interface and interaction properties and will be capable of sending and receiving a range of different message types (audio, video, text, graphics, etc.). Thus the network and the device must in some way manage the exchange of messages in order to enable messages to be sent and received whilst maintaining user preferences, maximising device capabilities and network bandwidth, and presenting a coherent user interface.

In order to provide a seamless messaging, a system must provide the capability to intercept an incoming message, process it according to user preferences and other criteria, and forward the message (or a notification that a message has arrived) to the user. This forwarded message may have its format or content changed as a result of user preferences and device. In such a system it is useful to use the metaphor of the human personal assistant, who acts as a moderator between incoming and outgoing messages and can act accordingly. The system must also present a coherent interface for the user to access, compose, send, receive and browse messages and other media. Because of the different interactive capabilities of each device, message passing may also need to reconfigure the user interface on the destination device in order to allow the user to respond appropriately. The system therefore adapts intelligently based on selecting a device (e.g. a cellphone), tailoring the message to the device (e.g. by filtering or content conversion) and generating an interface by which the user can interact with the message. The adaptation is based on the user preferences, the device characteristics and the available network bandwidth.

2.1 The IMPAX System

The system currently under development (IMPAX: Intelligent Messaging with Personal Agents and XML) is implemented using an agent-based paradigm, in which each user is allocated a

personal communications agent or PCA. The PCA acts as the

co-ordinating entity by which the user configures and manages the overall system.


SMS Service Adapter Voicemail Service Adapter 2-way Pager Service Adapter Pager Service Adapter Email Service Adapter SMS Gateway Voicemail Mobitex Gateway TAP Gateway Internet Messaging Manager Personal Communications Agent Messaging

Database Contact data

Converter Agent Calendar Contacts Configuration Programming User I nterface

The architecture of the IMPAX system is shown in Figure 1. The PCA acts as the interface between the user and the overall messaging system. By interacting with the PCA, the user can specify the devices used to access the system (e.g. cellphone, pager, etc.), including their display capabilities. Users can also interact with the PCA to specify their message-handling preferences in the form of rules relating various attributes of preferences, contextual data and message properties to message delivery (e.g. which device to use, whether to filter the message or convert it to another format, etc.). These preferences are structured as XML1 documents. The PCA parses the documents, converts them into JESS2 rules and facts, and sends them to the Messaging Manager agent where they are stored in a knowledge base. When configured, the Messaging Manager agent is used to route incoming messages from one network to another and one device to another. The messaging manager can Alter (change the media form), Filter (reduce the media size) or Notify the user when data (i.e. a message) arrives. Changes in media type are performed by Content Converter Agents. These agents provide the ability to parse and convert incoming data, e.g. text-to-speech, text-to-filtered text, speech-to-text, fax-to-text (via optical character recognition), etc. In addition, graphical formats can be transformed (e.g. format changing such as colour to monochrome), and continuous media such as video transformed into a series of keyframes. These agents provide the ability to extract multiple modalities from signal datastreams (e.g. html-like messages with multiple attachments) and handle each modality separately.

The Message Manager agent co-ordinates the exchange of messages with various network services. Messages are exchanged between agents in XML using KQML3 performatives


Extensible Markup Language - http://www.xml.org


Java Expert System Shell - http://herzberg1.ca.sandia.gov/jess/


Knowledge Query and Manipulation Language http://www.cs.umbc.edu/agents/kse/kqml/

over a CORBA4 network transfer architecture. This structure allows a high degree of compatibility to be maintained at a conceptual level (i.e. that of XML documents) and uniformity in inter-agent communication (KQML). The use of CORBA as a transport mechanism makes it straightforward to distribute objects throughout a network, minimising resource conflicts.

2.2 IMPAX As An Intelligent Interface

The overall behaviour of IMPAX as a system may be viewed as an adaptive or intelligent messaging system. Once configured by a user, the system adapts the delivery, form and content of a message dynamically. In the current system, messages and other data objects are represented by XML. Each data type has a Document Type Definition (DTD) which is a structural specification of the data, and allows it to be efficiently parsed and searched (and makes messages easy to validate in terms of structure). In addition it is possible to associate Style-Sheets with DTDs, allowing specific modifications to be made to the display of certain types of data (primarily text and graphics). At the level of adaptive message passing, we may view the entire system as adaptively presenting messages to the user based on a set of user preferences data and a set of system variables. IMPAX therefore has the capability of acting as an intelligent or adaptive interface at two levels; message passing and interface


In message display terms this means that messages can be filtered (to fit on a receiving device with limited display capability in relation to the sending device), or converted from one media type to another when the receiving device is incapable of displaying that type (e.g. speech to text for converting a voice mail to an alphanumeric page). In interaction terms the messages must be capable of being displayed and navigated on the receiving device. To compose, send and receive messages on a given device requires interaction with that device, and interactivity implies the ability to structure both data and the interface to that data.

The use of XML to mark-up messages may also be used to indicate interface features in a device independent manner. Current efforts are extending the IMPAX functionality to allow the system to generate interfaces for access devices in a dynamic manner, based on the content of the message and the user’s preferences. For example, an email which is forwarded to a cellphone or 2-way pager may have an interface constructed which maps reply options to keys on the device (e.g. “acknowledge”, ”reply”, ”next”). In this way optimal use can be made of the interface capabilities of each device.


Abu-Hakima, S., Liscano, R., Impey, R. (1998) A common multi-agent testbed for diverse seamless personal information networking applications, IEEE Communications Magazine, Vol. 36, No. 7, pp. 68-74.


Common Object Request Broker Architecture http://www.omg.org


Figure 1. IMPAX System Architecture

Figure 1.

IMPAX System Architecture p.5