NATIONAL UNIVERSITY OF SCIENCE AND TECHNOLOGY
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)
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 data in a network. The motto is simple, move the computation to the data rather than data to the computation.
b) Overcoming network latency: sometimes we need real-time responses
c) They encapsulate protocols: each host in a distributed system owns the code that implements the protocols needed to properly code outgoing data and interpret incoming data respectively. However, protocols evolve to accommodate new efficiency or security. It is cumbersome if not impossible task to upgrade protocol code properly. Mobile agents on the other hand are able to move to remote hosts in order to establish channels based on proprietary protocols.
d) They execute asynchronously and autonomously: tasks can be embedded into mobile agents which can then be dispatched into the network. After being dispatched, the mobile agents become independent of creating process and can operate asynchronously and autonomously. The agents can be launched from movable devices into the network. The mobile device can reconnect at some later time to collect the agent.
e) They adapt dynamically: they sense their execution environment and react autonomously.
f) They are naturally heterogeneous: they are generally computer and transport layer independent only on their execution environment.
g) They are robust and fault tolerant: for example if a host is being shut down, all agents executing on that machine will be warned and given time to dispatch and continue their operation on another host in the network.
Mobile agents have a number of competitors which make them demand more research but they do have their specialized situations and environments. One of its goals is bandwidth conservation.
Running a free unmonitored network has proved not a good practice. The obvious reason being that we wouldn’t want resource wastage. Organizations with several departments have a problem allocating and monitoring bandwidth usage by the different...
Please join StudyMode to read the full document