Introduction
Mobile
agents
1
--Internet-based electronic commerce of todayapp Icatlons has not made shopping that much easier for the consumer" In fact, it has maybe even made it Rosane Maria Martins worse" We have more information about Magali Ribeiro Chaves products than ever, more stores to visit" The
..difference between the electronic marketplace
Lucz Pzrmez and and the real-world marketplace is that you visit Luiz Fernando Rust da Costa Carmo the store electronically instead of physically"
So, finding and combining the relevant
information/service is becoming a critical task" ,I
There is a need for facilities that perform these ~
..~~ integrating tasks and thus overcome problems I
" " " " " such as distribution and heterogeneity. These ~~~ Rosane Mana Martlns, Magali Ribeiro Chaves, ~ "1J.acl 1 es are o en re erre "t1" ft fi
d t
o as mtegrate "d
~"1 ;Luci Pirmez and Luiz Fernando Rust da Costa Carmo are t
I
" tt d
t
th
" ;sys ems" n an m egra e sys em, e user IS not based at Núdeo de Computação Eletrônica, Universidade
tl
fh
"h
d h
exac y aware o w lC an ow many Federal do Rio de Janeiro, Rio de Janeiro, Brasil. " ~ "
d
"th
d
h
m ormat1on sources are use, nel er oes e know how they are used" The user is provided
m'mI!t=- with the vision that only one information source
Mobile agents, Distributed applications, E-commerce exists"
To address this problem, several exciting new
.i'rnffiT8- technologies have been developed. Several
groups of artificial intelligence (AI) researchers Automatlc, autonomous browslng has an Increaslngly 1
d
. 1 " 1d
" "d
"are a rea y act1ve y mvo ve m trymg to eslgn important task in information discovery and assisted
I
"th
"11
k "th
nternet asslstants at Wl ma e easler e browsing on the Internet. Where users could once keep up filtenng or retneV1ng 1 ormat1on " ." "nfi "
fr
omth
e to date with information of interest on the Internet, the kd th
"1
h
networ an e V1rtua purc ases. recursive growth of the network has made this process
E
h
" 11" " .d b
ac mte Igent asslstant IS compose y increasingly time consuming and less rewarding. Presents
d
"b
d
AI d...autonomous agents an IS ase on an
two posslble solutlons to thls problem: Data Agents and,
d
IStn " "b
uted
artl "ficla " 1mte " 11Igence"(DAI)
CollaborAgents which were developed with IBM s Aglet
concepts"
Workbench -a particular Implementatlon of mobile agents.
DAI
"d
"th
11fi f .1
.lS concerne Wl a orms o socla
Aiso surveys the agent technology and dlscusses the agent " " "
d
f u1 "1
.." aCt1V1ty m systems compose o m t1p e
bulldlng package used to develop both mentloned "
1 B
G
" " ." computat1ona agents ( ond and asser,
appllcatlons" Condudes that the future of local Interactlon, 1988) An .& f...
h
d d kI d. fl "b"
l
" d I" ..lmportant J.orm o mteract1on m sucre uce networ oa Ing, server exl Ilty an app Icatlon " " " "
..systems IS co-operat1ve problem solV1ng WhlCh
autonomy whlch are supported by mobile agent technology, ,
." ...occurs when a group of logically decentralized
ali help to provlde a levei aglllty above dlstrlbuted problem "
I
.agents choose to work together to achleve asovlng.
common goal.
-~~ The "agent" term is widely used in different
-~I"-I.'IIII-, areas, such as distributed systems or software
The research register for this journal is available at engineering, and for this reason, there are many http:llwww"mcbup.com/research-registers definitions for it" However, agent systems The current issue and full text archive of this journal is present key characteristics that differentiate
available at them from other software.
http:llwww.emerald-library"com/ft Agents are autonomous, persistent (software) components that perceive, reason,
communicate and act in someone's favour Intemet Research: Electronic Netwo,king Applications and Policy " " " " " " , Volume II. Number 1.2001 .pp. 49-54 mfluencmg ltS enV1ronment" ThlS envlronment
Mobile agents applications c Intemet Research: Electronic Networking Applications and Policy 'c' RO5ane Maria Martin5 et al..'c Volume 11 .Number 1 .2001 .49-54
interaction is the multiagent systems' principal another server, spawn new agents, and interact
element. with other agents. On completion, the mobile
This paper contributes two applications that agent delivers the results to the sending client or emphasize the mobile agent technology as a to another server.
significant and revolutionary paradigm for In order for these agents to exist within a distributed problem solving: Data Agents and system, or to themselves form a system, they CollaborAgents. Both were implemented using require a framework for implementation and IBM's mobile agent framework known as Aglets execution. This is known as the agent Software Development Kit (ASDK). environment.
Data Agents is a mobile and intelligent
multiagent auxiliary prototype for the retrieval Aglets technology: a Java-based execution of distributed structured information in a environrnent
scenario of several "online" bookstores. The Developed by the IBM Japan research group, proposed system is based on a group of agents this package is a framework for programming trying, simultaneously, to find products ofusers' mobile network agents in Java. We can use a interest in several virtua1 places known by them, few expressions to describe an aglet (IBM Japan presenting the resu1ts in a homogeneous way. Research Group, 1998): written in pure Java,
CollaborAgents is a prototype where users light-weight object migration, built with create autonomous agents to buy and sell goods persistent suppon, event-driven. It is easy to in a context of the automobile components understand why Java is necessary for W AN distribution problem. A car assembler looks for application's existence in today's heterogeneous suitable supplies to attend the subsidiaries' ne tw or king enV1ronmen . t.esl B .des proV1 .d . mg
orders. This commercial transaction is done I .& .
d
dJ
1 .d
p auorm m epen ence, ava a so prOVl es
through the Internet. ..
sandbox secunty to protect the host agamst
This paper is organized as follows. .ma An I ..lClOUS attac kS from a len app lCat1Ons.I . I ..
overview of agent concept and detatled
U l
n 1 e an app et s s ort an .k 1 ' h d bonng .. peno d Ofdescnpt1ons of a mobtle agent enV1ronment ..
kn A 1 W kB h .. th execut1On, an aglet can eX1st and execute tasks
own as 9 ets or enc are glven m e. .
.
Th th . d . d .b th forever. One ofthe mam dlfferences between annext sect1on. e lr sectlon escn es e
...aglet and the simple mobile code of Java
overall architecture of two appltcat1ons: Data
A d C II b A Th fi I .applets, is the itinerary that is carried along with
gents an o a or gents. e ma sect1on
th
th
1 .d futu
k the aglet. By having a traveI plan, aglets areen presents e conc USlOn an re wor .
capable of roaming the Internet collecting information from many places. The itinerary
.can change dynamically giving the aglet the
Mobile agents .
sense of self-governmg and the look of an Mobile agents are processes dispatched from a intelligent agent (that of course is in the hands source computer to acçomplish a specified task of the programmer).
(Chess et al. , 1993; General Magic Inc., 1998) .An aglet can be dispatched to any remote host Each mobile agent is a computation along its that supports the Java virtual machine. This own data and execution state. In this way, the requires from the remote host to have
mobile agent paradigm extends the RCP preinstalled Tahiti, a tiny aglet server program communication mechanism according to which implemented in Java and provided by the aglet a message sent by a client is just a procedure framework. A running Tahiti server listens to cal1. After its submission, the mobile agent the host's pons for incoming aglets, captures proceeds autonomously and independently of them, and provides them with an aglet context the sending client. When the agent reaches a (i.e. an agent execution environment) in which server, it is delivered to an agent execution they can run their code from the state that it was environment. Then, if the agent possesses halted before they were dispatched. Within its necessary authen~ication credentials, its context, an aglet can communicate with other executable pans are started. To accomplish its aglets, collect local information and when task, the mobile agent can transpon itself to convenient halt its execution and be dispatched
~
Mobile agents applications Intemet Research: Electronic Networking Applications and Policy Rosane Maria Martins et al. Volume 11 .Number 1 .2001 .49-54
to another host. An aglet can also be cloned or the purchase agent searches for products
disposed of. with the desired characteristics among
products of that type;
as a result of the search, Data Agents sends
Applications an e-mail or shows a screen to the user with
a list of products, their respective prices and Two applications based on agent technologies where they can be found.
were implemented in this paper: Data Agents n d .
d
C
IIb
A J.-ropose archztecturean o a or gents.
The following architecture is proposed to
D t
f
bil
~
enable the Data Agents system to have the
a a agents -a group o mo
e agents J.or
functionality mentioned above and, in the
e-commerce
Th
e agents for electrornc commerce consldered
..future
,
to be applied to many products and
in this context are those that somehow help the stores.. The system pres~nted comprises the
users to shop over the Internet. This type of
followmg components: mterface module,
agent, called shopping agent, may carry out
control module and purchase agents. What
several tasks, such as: to help the user decide
follows is a detailed list of the system
what product shou1d be purchased; to make
components.
suggestions based on its knowledge of its owner;
Inteiface ~odule. This is the component
to find out new things, discounts and special
through WhlCh the user contacts the system and
prices; to find stores that sell the desired
places his order. This module is also responsible
product or service, among other things.
for presenting the result obtained by the group
In order to show the feasibility of the search
of agents to the user.
process for structured and distributed
"Title", "author", "price range" and "type of
information through the mobile agents
itinerary" are the information that the user must
technology, this paper proposes the
provide to the interface module so that it may
development of a multiagent, mobile and
request the control modu1e to create and
intelligent system called "Data agents" in the
dispatch the purchase agents according to the
context of several "online" bookstores. The
restrictions imposed by the user.
goal is to accelerate the retrieval of distributed
There are three possibilities of choices for
strUctured information. This is achieved by
itineraries:
improving the phase of the process of data
(I) One agentfor each server. According to the
selection, in which the agents run parallel
quantity of servers registered in the system,
among the servers related to them and at the
one agent is created for each server and
end retum with alI the information requested by
dispatched to do its task. When each agent
the user, without the need to make a call to each
arrives at its destiny, it does its search,
one of the servers separately. The information
sends the result as a message to the control
obtained is then presented in a uniform and
module and "dies".
organized way. Using the information thus
(2) Only one agent that visits alI the servers.
Only
presented by the system, it is much easier for
one agent is created that has in its traveI
the user to choose a product with the most
plan the addresses
of alI servers. It will go to
satisfactory characteristics.
all servers, one by one, do the search, send
Among the possible functions described
the result as message to the control module
above, the Data Agents agent is intended to
and "dies" at the last visited server.
help find the stores that sell the desired product
(3) One agent that goes through the servers
until
an~ to list the prices of the products found.
finding the first occurrence.
Only one agent is
The operation of the prototype to achieve this
created that contains in its traveI plan the
objective is the following:
addresses of all servers. But it will traveI to
user selects the specific product and the
the next server only if does not find any
desired characteristics of that product
book at the former server, that is, the agent
(these characteristics will be the restrictions
travels until finding the first occurrence that
for the search) ;
satisfies the order user .
Mobile
agents
applications
Intemet
Research:
Electronic
Networking
Applications
and
Policy
Rosane
Maria
Martins
et al.
Volume
II. Number
I. 2001
.49-S4
As soon as the result manager (a component of
selecting only the information considered
the control module) compiles alI answers
relevant and recommended according to the
received, it sends these answers to the interface pre-determined rules. Such information shall
modu1e so that they are delivered to the user: on represent the basis of rules to be used by the
the screen or via e-mail.
agent to make appropriate decisions in the
Control module. This module is responsible for
process of evaluation of the items found.
the creation and release of purchase agents to
With this architecture, the extension of this
begin the search requested by the buyer. This
system to deal with new products and new
module also aggregates the results found by the stores is simple, although it is necessary to build
different agents. There is a control module for
a control module for each new product.
each type of product available in the system,
-"-I
~
e.g. a control module for books and a different CollaborAgents -solution for a logistic i~~~
":f;;
one for CDs.
problem applying multiagent systems
g~,
After receiving the user's requirements from
The Internet has been extensively explored as
the interface module, the control module
an environment which ficilitates integrating
creates the agents according to such
clients and suppliers willing to negotiate
requirements and sends them to the addresses products and services. Under that light, an area
available at a storage structure.
that deserves special attention is the automatic
A storage structure is a hash structure that .negotiation
betWeen clients and suppliers.
contains the addresses of the various stores
The negotiation model presented consists of a
associated with the system. There is a storage
system of agents that acts in the process of
structure for each type of product researched by integration among clients, represented by the
the system.
subsidiaries of an automaker, and a netWork of
When the control modu1e receives a request
suppliers. This system contributes to the
to send an agent, the latter is created on the
mastering of electronic commerce, since some
"aglet" layer according to user's requirements
client agents interact with supplier agents trying
and travels through the runtime layer, which
to find products and buy products that meet
converts the agent into an array of bytes and
their needs.
such array, in its turn, passes on to the ATP
The subsidiary that wishes to purchase a
layer -agent transfer protocol, to be sent to its product may ask the client agent to initiate the
destination. This protocol then builds a "bit
negotiation with a netWork of supplier agents
stream" that contains both general information,
remotely distributed on the Internet. After a
such as the system name, and its identification,
number of interactions with other agents, the
such as the "byte array" resulting from the
client agent returns to its original computer and
runtime layer.
shows the result of its negotiations, i.e. a list of
On returning to the server with the
suppliers that best fit its needs in terms of price,
information from its search, each purchase
freight cost and quantity of product.
agent sends its contents to the Result Manager
As supplier/client agents are created, they are
(control module), so that the Results Manager
sent from their original computer to an agency,
may aggregate ali answers obtained and send
where they will communicate to achieve their
them to the interface module.
overall goal. The agency, or meeting place, is a
Purchase
agents. Make contact with the stores host computer, where the agents do business.
by accessing their databases, place the order
Each agency represents a certain region. In that
and interpret the answers generated, converting respect, the client agent wil1 run the netWork,
them into a format that is understood by the
searching for possible suppliers to meet its
control module. Before proceeding to their
demands, and wil1 prioritize agencies located in
destination, the agents are coded in bit stream: regions closest to the location of the subsidiary
the first segments are general information, such represented by the agent, in order to reduce
as the agent's identification, and the last
freight costs.
segment is the byt.e array, the agent per se: code
This section of the paper wil1 try to describe
and state. The goal of the agents is to check the the components forming the model developed
information found at their destination address, and analyze its operation.
Mobile agents applications Intemet Research: Electronic Networking Applications and Policy Rosane Maria Martins et al. Volume 11 .Number 1 .2001 .49-54
Architecture of model suppliers. When the facilitator agent makes The architecture of the model is characterized enquiries the supplier agent in relation to the by the exchange of messages among three cost of the material requested by the
categories of agents: facilitator agent, supplier subsidiary, that agent is not interested in the agent and client agent. intemal details of that calculation, only in the
Facilitator agent. It is responsible for result.
managing the negotiation between client agents When the entire inventory of the supplier and agency suppliers. The facilitator agent agent has been negotiated, the agent will send a works as an intermediary for such agents. The "Unregister" message, requesting to leave the facilitator records all suppliers with their list kept by the facilitator agent. After its respective offers and indicates to the client exclusion from the database, the supplier will agent the best supplier to establish the retum to its original computer and will show to negotiation process with. The facilitator agent the user the result of its negotiation with the has an optimization module to carry out that different client agents that contacted the job. That optimization module inquires supplier agent.
whether each supplier is able to meet the Client agent. It represents the interests of a subsidiary's demand through the "SearchOffer" subsidiary. This means the demand for parts message and decides which is the most that a subsidiary is willing to buy.
favourable candidate based on which supplier A list of request of material form is opened made the best offer (lowest cost) .when the subsidiary agent is created. That form
Supplier agent. It represents the interests of will contain the subsidiary's identification, the supplier. Interests ofthe supplier means the description and location entered by the user, as offer of parts and their respective costs (unit well as the description and quantity of the price and freight) .A list of offer of material material requested, later on confirming the form is opened when the supplier agent is information.
created. The description of the part, the After that information is confirmed, the client quantity available for sale and unit price will be agent will migrate to an agency searching for the typed into the list of offer of material. best supplier to meet its demand. After arriving
After confirmation of the information typed at the agency, the agent will communicate with in the list of offer of material, the supplier agent the facilitator, which will indicate the context of will be sent to an agency. At the host computer, the best suitable supplier. On obtaining the the agent will make the first contact with the answer, the client agent will initiate the facilitator agent, subsequently requesting to be negotiation process through the "Negotiate" listed in the database by using the "Register" message. If the client agent does not find the
message. desired supplier, it will go to other agencies
The supplier agent is responsible for searching for new proposals to meet its calculating the total cost of the material demand. After completing all the negotiations, requested by a subsidiary (price of the client agent will retum to its original merchandise, including freight) .It is computer and show the results of its interaction noteworthy that the freight legislation is too with other agents.
wide and this paper is not intended to study all rules and effectiveness in each State.
Suppliers hire the service of a shipper, which Discussions and future work calculates that cost. This information will be
sent to the supplier and will become part of We have built two simple prototypes to test the the context of its agent. This case highlights basic concepts and feasibility, and conducted the main advantage of the object-oriented some simple experiments. Nowadays, the Data programming: polymorphism. Each class of Agents system presents a simplified
supplier has a different intemal policy for configuration, allowing just one kind of product carrying out the sam~ method ( calculation of to be investigated. The selected product to this freight) and the facilitator agent is not stage was "book". The purchaser agent is responsible for knowing the procedures of all created at the user machine and migrates to the
Mobile agents applications Intemet Research: Electronic Networking Applications and Policy Rosane Maria Maltins et al. Volume 11 .Number 1 .2001 .49-54
target server. This target server is an aglet server and the second, based on computational where it may be found the offered service by the intelligence, where the agents will be able to
supp1ier. make proposals through the experience that
The results obtained in this initial phase were they acquired along their lifecycle.
considered acceptable, due to the information Future work is focused on making smarter filtering executed on the server where the agents that are directable at a more naturallevel resources are located. This circumstance leads for users. Though we have only just scratched to a significant reduced netWork loading. the surface in terms of making a truly useful
The possibility of the existence of more than .
d b th k d
system, we are exclte a out ese wor s an one kind of product
b
. to be investigated is a taskth
. kth
h
th
h
. 11h
1 d . th h f th .m ey ave e c ance to essent1a y c ange
to e lmp emente m ano er p ase o lS
. An th ..the way people acquire goods and services in
proJect. o er 1Inprovement lS an
the not-too-distant future.
lmplementat1On of an mtell1gent module that
permits the Data Agents system, besides the
conventional search, to make suggestions to the
user.
References
Conceming the CollaborAgents system, a
1 .. d 1 . 1 d 1 th Bond. A.H. and Gasser. l. (1988). Readings in Distributed
oglSt1C mo e was 1ffip emente to so ve e. ...
Art,f,Clallntelhgence. Morgan Kaufmann. San Mateo.
issue of automotive parts distribution. In this CA.
case, each subsidiary and supplier creates an Chavez, A. and Maes, P. (1996), "An agent marketplace for agent which shares information seeking for a buying and selling goods". Proceedings of the First
global solution. International Conference on the Pradical Application
From this experimentation, good results were of Intelligent Agents and Multi-Agent Technology. obtained, once the implementation of mobile london. April.
agents avoided the overload on the Web. In a Chess. D. et al. (1993). "Itinerant agents for mobile
h .. d .. h computing", IEEE Personal Communications, Vol. 2
next stage, a sop lSt1Cate negot1at1on sc eme
5 O b
fi b . 1 No. .cto er.
or uyers and sellers wll be developed. We are General Magic Inc. (1998). Mobile Agents, available at studying tWo models: first, involving http:llwww.genmagic.com
"price-raise" and decay functions similar to IBM Japan Research Group (1988). Aglets Workbench. Kasbah's technique (Chavez and Maes, 1996) available at http:llaglets.trl.ibm.co.jp