Abstract
A mobile agent is a composition of computer program, data, and execution state, which is able to move from one computer to another autonomously and continue its execution on the destination computer. Mobile agents provide a new programming paradigm for building agile distributed systems. The ability to travel allows a mobile agent system to move computation to data source systems. This decentralized approach improves network efficiency since the processing is performed locally. For example, in an e-commerce application shown in Figure 1, mobile agents are used to search and purchase products. Once the Buyer Server receives a buyer’s purchase request, it generates a mobile agent and sends it to the Information Server to search retailers who sell the product. Having a list of retailers, the Buyer Server dispatches a mobile agent visiting these retailers. The mobile agent negotiates with retailers’ local seller agents and reports the offers to the Buyer Server. The Buyer Server evaluates all the offers, and sends a purchase mobile agent to the best offer retailer to make the final purchase.
TopIntroduction
A mobile agent is a composition of computer program, data, and execution state, which is able to move from one computer to another autonomously and continue its execution on the destination computer. Mobile agents provide a new programming paradigm for building agile distributed systems. The ability to travel allows a mobile agent system to move computation to data source systems. This decentralized approach improves network efficiency since the processing is performed locally. For example, in an e-commerce application shown in Figure 1, mobile agents are used to search and purchase products. Once the Buyer Server receives a buyer’s purchase request, it generates a mobile agent and sends it to the Information Server to search retailers who sell the product. Having a list of retailers, the Buyer Server dispatches a mobile agent visiting these retailers. The mobile agent negotiates with retailers’ local seller agents and reports the offers to the Buyer Server. The Buyer Server evaluates all the offers, and sends a purchase mobile agent to the best offer retailer to make the final purchase.
Figure 1. Mobile agents migrate over networks searching and purchasing products
Some advantages which mobile agents possess over conventional computing paradigms are follows.
- •
Reduce network traffic and overcome network latency. Mobile agents can move to remote computers that contain objects with which the mobile agents want to interact, and take the advantage of being at the same host.
- •
Work in heterogeneous network hosts if a run-time support environment is installed on these hosts.
- •
Tolerant to network failures and support disconnected operation. Mobile agents are able to operate without an active connection between the destination and the home host.
- •
Work autonomously.
- •
Flexible to change an agent's actions. Only the agent program rather than the computation hosts must be updated.
- •
Applications become in-situ reprogrammable using mobile code in mobile agents.
Mobile agents have received a diverse range of applications in information retrieval, network management, e-commerce, transportation systems, distributed control systems, and manufacturing. The advantages of mobile agents, such as reducing network traffic, supporting disconnected operation, overcoming network latency, and roaming ability in heterogeneous platforms, have great value to build ubiquitous e-commerce/m-commerce systems. Most e-commerce applications involve a large amount of information exchange and intensive data processing. Mobile agent approach scales effectively as the size of data to be processed and the number of data servers increase (Patel & Garg, 2005). Compared to the conventional client-server paradigm, mobile agents provide fast and efficient interaction with remote services and save network bandwidth (Zhao & Blum, 2000).
M-commerce is an emerging e-commerce model, which conducts commerce using mobile devices such as mobile phones and PDAs (Personal Digital Assistant). Due to physical and network constraints (low CPU speed, small memory size, poor network connectivity, and limited bandwidth), the implementation of client/server approach in m-commerce systems faces significant challenges. The mobile agent paradigm offers an appropriate solution to reduce network traffic and tolerate poor network connectivity in m-commerce systems (Li, 2007).
This chapter attempts to highlight good features of the mobile agent paradigm for the applications in e-commerce. A number of selected mobile agent-based e-commerce systems and the agent platforms are introduced. The major security and privacy concerns in mobile agent-based e-commerce systems and the commonly used approaches to address these issues are discussed. The future research directions are recommended in the conclusions.
Key Terms in this Chapter
Malicious host: an agent server attacks mobile agents to achieve a malicious goal.
Mobile agent system: provide mechanisms to support agent management, migration, execution, communication, and directory maintenance.
Malicious agent: an agent that performs harmful actions.
Mobile Agent: a piece of software that is able to move from one computer to another in a network.
Client-server: one type of network architecture in which the client system makes service requests to the server system.
E-Commerce: buying and selling products or services over electronic systems such as the Internet.
M-commerce: conduct commerce using mobile devices.