Snort.org home  
Got Source? About Snort About Sourcefire Snort FAQ
Sourcefire Network Security - the creators of Snort

Snort Forums Archive

Archive Home » Snort.org Discussion » Automation of Mobile Agent in Electronic Market

Please note that the categories listed below represent an archived version of our forums pages. To view the current version and be able to post and reply to threads, please register and login here to go to the full forums pages.

[ Notice: Full Version of This Topic ]

Automation of Mobile Agent in Electronic Market


Posted by Viatcheslav on April 26, 2007 12:30:30


Automation of Mobile Agent in Electronic Market










Author: Viatcheslav Meisner
HYPERLINK "mailto:vameisner21@tntech.edu"vameisner21@tntech.edu
Department of Computer Science
Tennessee Technological University
CSC 4950
Professor: Dr. Siraj


Abstract
The mobile agent paradigm has wide range of applications like: network management, data-
mining, and on-line auctions. This research focuses on the use of mobile agents in electronic
market for trading purposes. Particularly we look at the Consumer Buying Behavior model
[1], which describes need identification, product brokering, merchant brokering, negotiation,
purchase and delivery, and service and evaluation phases of buying process. This research will
investigate automation of mobile agent's role in the buying and selling process, particularly on
the negotiation phase and suggest a working protocol in this regard.

Keywords: mobile agents, trading space.


I Introduction

1 The need for automation of mobile agents in electronic market
So far there are many electronic markets, such as E-bay or Amazon, throughout the Internet.
However, the process of finding the needed item is not automated. A person has to know
almost exactly what he or she needs and then the customer has to be able to describe their
needs in just few words in the search box. Then the search engine will return a long list of
somewhat related items. User, then would have to look at each item to see if it satisfies his
or her needs.
Once the product is found, most of the time user has no way to negotiate things like price,
time of delivery, warranty, technical support, or the return policy. What consumer is doing
instead, is that he has to simply match what is available to what he or she has in mind.
Obviously, this form of trading may result of decreased satisfaction of both the seller and the
buyer.
The good news is that this problem is solvable, because we live in the computer age, users
don't have to spend hours manually looking at each item, or each product of service provider
trying to find the best price/quality ratio. Instead, we can automate this process. Programs,
known as mobile agents can be used for this purposes.
Imagine an electronic market, where people are totally excluded; only the software is doing
the work, both for the buyer and for the seller. Each user, whether he wants to buy or sell the
product, can create the mobile agent, with the description of this product, and then send
mobile agent to the place, known as trading space. There, mobile agent will contact every
other mobile agent present in this trading space, asking if they want to buy this particular
product of if they want to sell it, depending on the situation. If selling agent and buying agent
will find the product or service they want to trade, then instead of simply matching prices,
they can start actively negotiate with each other. If the negotiation is successful, then they
can exchange information about their creators, and leave the trading space. Once the mobile
agent

1
comes back to its creator, it will bring the back the information about the other party, such as
contact
information, price agreed on, time and date of delivery, warranty (if any), technical support
(if any), and the return policy. If the consumer and product or service provider find this
agreement appropriate, then they can contact each other directly and complete the
transaction, and if not, then they can repeat the process by sending the mobile agent back to
the trading space attempting to find a better deal.
Clearly, most people don't have time to contact every other possible product or service
provider, and then spend time, sometimes hours negotiating. But, automation of this process
will allow consumers to show for many items simultaneously, with out any effort on their
side. For a consumer and for the service of product provider, this trading process will look
very simple. A user will simply submit the mobile agent with all the necessary information
and then simply wait for the agent to come back. Once the agent is back, user can simply
review the information, if it is acceptable then act on it, and if not, them simply resubmit the
agent back to the trading space.


2 Organization of the paper
In the next section we will briefly introduce the concept of mobile agents. Then we will
continue this paper by providing the information on the research that has been done in this
area. Section III will talk about the negotiation protocol and Section IV will be the concluding
section summarizing the research.



II Mobile Agents and Trading Space


1 Mobile Agents
Let's describing mobile agents by providing a good definition that will clarify the issue.
According to the M. L. Liu "In the context of computer science, an agent is an independent
software program that runs on behalf of a network user.” [2] The idea behind the mobile
agents is very simple, a user is simply creates a program that can travel from one machine to
another, and perform tasks specified by its creator. There very popular type of (bad) mobile
agents, publicly known as computer worms, they to travel from one machine to the next
doing the damage, specified by its creator. In other words, when it comes to mobile agents
the security aspects of it are very important; however, we will not mention it here, because it
is outside of the scope of this paper.
One good example that illustrates the work of mobile agents is data-mining. For example,
imagine several databases stored on different machines. Instead of making manual
connections to each of this data-bases and then submitting queries, one can simply create an
agent that will visit each of these databases, and gather all the necessary data. This is very
convenient for the user, because the user

2
practically has no work to do, he or she simply describes the agent what information he or
she needs, and provides a list of databases where this information is stored. Then the mobile
agent will be sent to the first data base where it will be querying the database, once its done,
it will go to the next database collecting data. When agent visits all the databases and runs
all the queries, it will come back to its creator will all the necessary data. As you can see,
while all this work has been done, creator of the mobile agent did not perform any work at
all, the creator was simply waiting on to agent to bring the data back. This allows to free up
the processor and the network.
Clearly, mobile agents can free up not only the processor with the network, but also the user
time. In particular, by automating the way people buy and sell products. As we stated in the
introduction section, users don't have to spend time finding the product, and then negotiate;
instead, people ask mobile agents to do this work for them. Each user, who is wishing to sell
or buy a product or the service, can simply create a mobile agent, and give it all the
necessary information, then mobile agent can go to the trading space and find the best
available product or service.


2 Trading space
As we have explained in the previous section, mobile agents are the programs that can jump
form one machine to the next. Trading space is simply a set of machines that provide space
for mobile agents to come in and interact. For our particular problem, trading space is very
useful, mobile agents can come and talk to each other, describing the products they like to
buy or the products they like to sell. In other words, trading space, is simply a program with
the set of instructions that allow mobile agents to establish connections and exchange
information. The trading space, doesn't know any thing about the communication or the
negotiation process, it does not know what agents are buying and what agents are selling. In
other words, it doesn't know anything, it is simply a space for agents to meet and interact. In
a way, trading space, is like a building of Wal-mart, the building doesn't know what products
are in it, or how much money are spent each minute, it simply allows people to come in and
buy products.
Trading space, will have some additional functionality, however. In analogy of Wal-mart,
think of this functionality being similar to the functionality of Wal-mart's administration. In
other words, the machine power is limited, that means that only the limited number of agents
can come in at one moment of time, plus the more agents are present the more time it will
take for the to meet each other and negotiate. After all, they all are just programs competing
for the limited processor time. So the trading space, must make a decision whether or not it
will accept a new mobile agent at that particular time, obviously, this decision is made on the
number of the agents present in the trading space. Second function of the trading space is
that it should provide a list of all other agents that are present, so that the agent will make a
contact.
To illustrate this farther, consider the following diagram


(diagram is not included)

As you can see, the diagram shows two people or the companies, one is trying to sell either
product or service and the other is trying to buy either product or service. So both, send their
mobile agents to the trading space, where these agents will find each other and negotiate,
once the agents agree on terms, they will exchange each other's information and return back
to their creators. Then the customer and the service or product provider can contact each
other directly and complete the transaction.



3 Related research
The research in this area is very limited, so far, we were able to find only two works that are
indirectly related to this problem. One research is dealing with the negotiation of service [3].
In this research authors come up with the six different types of agents, all this agents playing
different roles in the office. They have the lawyer agent, sales management agent, etc. The
idea behind this is that all of this agents are cooperating to come up with the appropriate
price, their work is limited in nature because it leave the buying party out.
Second partially related work deals with conflict resolution [4]. This research deals with
conflict resolution between different levels in mobile agent paradigm. If we look at trading as
a form of conflict, than it becomes apparent why this research is related to our problem. We
can say that there is a conflict between the buyer and seller. Both of them desire to get more
and give less. Because this desires are mutually exclusive, both parties are in the state of
conflict, and one of the ways to resolve it is through the negotiation process.



III Mobile Agent Negotiation


1 Identification of priorities
Let's look at how negotiation occurs between people, before we can apply it to the mobile
agents. As we have mentioned previously, we look at the trading process as a form of a
conflict. Where the selling party is trying to maximize the price and minimize the size of
service or the product and the buying party is trying to maximize the size of the service of
the product and minimize the price. Because, this trading problem can be reduced to a conflict
of interests problem, we can apply same principles of conflict resolution as they are applied in
social psychology.
There are five ways to resolve the conflict. The choice of conflict resolution method is based
on the importance of the goal and the relationship with the other party. However, computer
world, is simpler than people's mids, we cannot map psychology directly to computer science;
therefore, only appropriate

5
way of resolving this conflict is trough the method that is known as Problem Solving [5].
Well, the question is how do we apply this developments in psychology to the needs of the
mobile agents in the electronic market. First, we need to identify our goals and our priorities.
In other words, the buyer, for example, needs to specify to the mobile agent whether he or
she wants the get lower price, faster delivery, longer technical support, a good return policy
that doesn't involve a restocking fee, etc. Same applies to the selling party, they also need
identify whether they like a higher price, but they would have to provide a longer warranty,
longer technical support, etc. This can be done as a set of scales, in the mobile agent, for
instance, the agent either buying or selling will have a set of possible aspects of negotiation,
such as price, time of delivery, technical support, warranty, return policy. In this research we
only deal with 5 aspects of negotiation. Then the user will have to set each priority manually.
Let's say that scale can go from 0 (not important) to 10 (very important).
At this moment the interaction between the user and the agent are no longer needed. The
agent knows what product it is looking for, and the set of priorities it will negotiate. Once the
priorities are set, the user can set the upper and lower limit of each aspects of negotiation,
for example, the lower limit of price can be $1.00 and the upper limit can go as high as it
reasonably can.
Also user needs to provide the personal information, so that both parties can contact each
other if the negotiation is successful.


2 Starting Negotiation
Once the agent enters the trading space, depending on whether it is a selling agent or a
buying agent, it will receive a list of either selling or buying agents that are present at a
moment. Then the agent will contact every one of this agents until it find the product. Once
the product has been located, the buying and selling agent will openly exchange values they
have set for the negotiation variables. For example, the selling agent will say, I am charging
$100.00, it will take 2 weeks to deliver and I will provide 1 year of technical support, and
there is 50% restocking fee. The buying agent will state that it is looking for the $80.00 price,
3 weeks time of delivery and no restocking fee, but 2 years of technical support. Because this
parameters did not match, the negotiation will take place.
It is important to note, that buying agent should state the lover limit that its creator is willing
to pay and the selling agent should state the upper limit its creator is willing to charge. So
that if the lower limit, if higher than the highest limit of both parties, than negotiation will
not be productive and it should be terminated.
Because, we are not dealing with people but with computer programs, there is no need to go
“slowly,” in other words, once the first set of information was exchanged, and both parties
determined that the negotiation could be productive, they can exchange the second set of
information, their priorities.
Based on this new information, both parties can easily calculate if farther negotiation is
reasonable. For example, if selling agent set priority 10 on price, and buying agent set
priority 10 on price and their prices did not match, than this negotiation should be terminated,
thus is has no positive outcome. If on the

6
other hand, their priorities are less then 10, then this priority should be threated as the
percentage of the value set for the particular variable. For instance, if the price for selling
agent is $100.00 and the priority set for the price is 8, then the price can be decreased to
$80.00. Same is true for the buying agent, if the price is set to be $80.00 and the priority is
set to 8, that means $80.00 is only the 80% of what the person is willing to pay. So the price
will be set to $100.00. Same process will be repeated to all other aspects of negotiation.
At this time we are faced with two possibilities: one is that the selling agent has higher price
than the buying agent (same is applicable to other aspects of negotiation, but we look only at
the price in our examples) or the the buying agent has greater or equal to price selling agent.
So in first case, the negotiation should be terminated, because continuing it will not be
productive, the second case has two subcases. The value is either equal or greater. If the
value is equal, then it should be left alone. If the value of buying agent is greater than the
value of selling agent, then the difference of this values should be divided by to and applied
to both values. For example, if selling agent is willing go charge $80.00 and the buying agent
is willing to pay $100.00, then the price set for both parties should be $90.00.
Although, this might look as very simple form of negotiation, this is the striped down state of
the art social psychology approach to the resolution of the conflict. This approach, if fair to
both parties, because it is not aimed at buying or selling party to force them make unwise
decisions, but rather to allow both parties to come to mutual agreement using this golden rule
“If you give a little, you will get a little.”


3 Exchanging information and returning
Once the selling and buying agents agreed on all the aspects of their negotiation, then can
exchange the information about each other's creators and return. Once they make it back to
their host computers, the information will be reviewed by the customer and the product or
service provider, if the terms that agents have agreed on sound reasonable for both parties
than they can contact each other and close the deal, and if not, then they can simply start
over, by resubmitting agent back to the trading space.



IV Conclusion
In this paper, we presented the use of mobile agents in electronic markets, and focused,
particularly, on the negotiation aspects. Research in this area is in its infancy and available
resources are limited. We used our own ideas to illustrate the mutually beneficial negotiation
process. The main question is yet to be answered, will this form of negotiation between
agents work in real life settings, how easy it is to manipulate other agents simply by setting
different priorities and different values.
Never the less, although, this is very new area, we see it as a great potential to revolutionize
the way people trade.

7
Works Cited
[1] Robert H. Guttman, Alexandros G. Moukas, and Pattie Maes, “Agent-mediated Electronic
Commerce: A Survey.” Software Agents Group, MIT Media Laboratory, 20 Ames street,
E15-305, Cambridge, MA 02139.
[2] M. L. Liu, Distributed Computing Principles and Applications, 2004, California
Polytechnic State University, San Luis Obispo
[3] Negotiation Decision Functions for Autonomous Agents, Peyman Faratin, Carles Sierra,
Nick R. Jennings. Dept. Electronic Engineering, Queen Mary and Westfield College,
University of London, London E1 4NS, Uk.
[4] Multi-Level Conflict in Multi-Agent Systems, Thomas Wagner, Jonathan Shapiro, Ping
Xuan, and Victor Lesser. Department of Computer Science University of Massachusetts
at Amherst.
[5] David W. Johnson, Frank P. Johnson, Joining Together Group Theory and Group Skills,
2002, University of Minnesota