Mobile Agents in Mobile Computing
In Mobile Computing, Mobile Agents are the composition of computer software and data that can autonomously move from one computer to another computer and continue its execution on the destination computer.
In other words, you can say that An Mobile Agent is an autonomous program that is capable of moving from host to host in a network and interact with resources and other agents. In this process, the chance of data loss is scarce because the state of the running program is saved and then transported to the new host. It allows the program to continue execution from where it left off before migration. The most significant advantage of mobile agents is the possibility of moving complex processing functions to the location where you have enormous amounts of data and that have to be processed.
Mobile Agents are also called as transportable agents. They are classified into two types:
Features of Mobile Agents
The mobile agents are autonomous with intelligence, social ability, learning, and the most important feature is their mobility. They are independent in nature, self-driven and do not require a corresponding node for communication. They can work efficiently even after the user gets disconnected from the network.
Mobile Agents are capable of learning and searching for knowledge about their domain. That's why they are called intelligent agents because they possess a degree of domain knowledge. They can also transport their state from one environment to another without disturbing the previous holding data and be capable of performing appropriately in the new environment.
The Mobile Agents are Autonomous. It means the agents are not only motivated by the outside actions initiated by the users or system but also they have internal events that decided their performance and behavior. The mobile agents can also take an autonomous decision while selecting a node.
Mobile Agents contain some degree of mobility. The agent is not limited to its home node only. They can migrate from one node to another and can carry out tasks along with them. This feature distributes the processing and balancing of the load. Another benefit of this capability is that when the user goes offline, the agents will still keep functioning.
Mobile Agents can communicate effectively with other agents, users and systems. The mobile agents use a communication language for inter-agent communication.
Life Cycle of Mobile Agents
The life cycle of mobile agents ensures the following conditions:
Advantages of Mobile Agents
The following are some advantages of mobile agents over conventional agents:
Disadvantages of Mobile Agents
The following are some disadvantages of mobile agents:
Applications of Mobile Agents
Mobile agents are used in the following applications: