FACULTY OF APPLIED SCIENCES
Department of Computer Science
Topic: monitoring bandwidth usage based on mobile agents
Supervisor: Mr. T. Nyathi
Co-Supervisor: Dr. S. B. Mangena
This project is submitted in partial fulfillment of the requirements of final year for Bsc. Honors Degree in Computer Science
By Dennis Nyoni (N007 1093M)
Period 2010/2011
CHAPTER ONE
Introduction
A mobile agent is a software object that:
• Is situated within an executor environment
• Possesses these properties;
➢ Reactive: senses changes in the environment and acts in accordance with those changes
➢ Autonomous: has control over its own actions
➢ Goal driven: is proactive
➢ Temporally continuous: executes continuously
• May possess one or more of the following;
➢ Communicative: can communicate with other agents
➢ Mobile: can travel from one host to another
➢ Learning: adapts in accordance with previous experience
All agents do not necessarily have to be mobile. An agent can just sit there and communicate with its surroundings by conventional means. These include remote procedure calling and messaging or RMI. Those that do not move are called stationary agents. In contrast; a mobile agent is not bound to the system where it begins execution. It has unique ability to transport itself from one system to another. The ability to travel allows a mobile agent to move to a system that contains an object with which the agent wants to interact and then to take advantage of being in the same host or network as that object.
The agents have several advantages:
a) They reduce network load: allows packaging of conversations and dispatching them to the destination host where the interactions can take place locally. They also reduce the flow of raw
References: Reilly David, Mobile Agents-Process migration and its implications, http://www.davidreilly.com/topics/softwareagents/mobileagents Venners Bill, Solving real problems with aglets – a type of mobile agent. http://www.javaworld.com