The widespread use of Internet technology has resulted in a vast amount of information being available on various websites. Accessing and retrieving this information requires effective communication systems and tools. In distributed systems, where processes communicate over a network, a communication model with defined rules is necessary to facilitate data exchange and synchronization between processes. Different communication software paradigms exist for distributed approaches, such as client-server architecture, remote evaluation, code on demand, and mobile agents [1, 2]. While traditional communication technologies can perform most tasks, novel technologies like mobile agents offer more efficient solutions.
In the context of efficient data dissemination in sensor networks, mobile agents have emerged as a promising solution. Unlike the traditional client/server approach, where data is transferred from multiple sources to a central destination, mobile agents employ task-specific executable code to traverse relevant sources and collect data. This approach significantly reduces communication costs, especially over low bandwidth links, by bringing the processing function to the data rather than the other way around.
A mobile agent is an intelligent and autonomous application program that executes data processing tasks on behalf of a remote user. These agents can be deployed individually or in groups to accomplish specific tasks. Leveraging their mobility, mobile agents migrate to targeted nodes, where they locally process data to extract valuable information. They can migrate with their source code and execution state intact [3]. After processing the data, the relevant information is aggregated, and only the significant accumulated data is transmitted to the designated node over the network. This retrieved information enables the remote user to make informed decisions based on the processed data.
MA Packet Structure consists of:
-
MA ID: identification number of each MA dispatched by the sink node.
-
MA Itinerary: contains the itinerary information (source nodes’ visited order list) assigned by the sink node when dispatched.
-
MA Data payload: MA’s data buffer which carries the aggregation data results.
-
Data aggregation code/Processing code: implementation of the data aggregation algorithm.
When a mobile agent (MA) migrates to carry out its assigned task, it retains its structure as shown in Fig. 1. The processing element (PE) assigns a unique identification to each MA, consisting of a number and the IP address of the dispatching element. The MA includes its source code in the 'Processing Code' module, which is executed at each designated node to process raw data. The 'Data Payload' module initially remains empty but stores the accumulated, reduced, and aggregated data. The sequence of designated nodes is saved in the 'Itinerary' part of the MA's structure.
In mobile agent systems, the migration of agents to designated nodes is known as itinerary planning. It can be categorized as single mobile agent itinerary planning (SIP) or multiple mobile agent itinerary planning (MIP). The chosen migration route significantly impacts system performance, thus requiring careful planning. Itineraries can be static or dynamic. Dynamic itinerary planning computes the itinerary during migration based on code executed at each source node, making it suitable for target tracking scenarios. Static MIP relies on centralized planning with predetermined visiting orders, suitable for physical monitoring applications. However, if events occur, rendering the predetermined itinerary invalid, the execution code is rerun at the sink node to communicate a newly computed route to the mobile agent.
In addition to large intrinsic characteristics such as mobility, intelligence, autonomy, asynchronous, and collaboration, MA has its admitted challenges also. As discussed above, to make a mobile agent based system more beneficial, its itinerary planning must be well scheduled. Distributing the whole network into several partitions, deploying an appropriate number of MAs, and getting an optimal itinerary are the key challenges of MIP.
A review of the principle of operation of mobile agents has been construed in the introduction. The rest of the paper focuses on how MA can be incorporated in wireless sensor networks (WSN), and the application areas of the mobile agent in WSN. Furthermore, this paper mathematically formulates the plan for deploying an appropriate number of MAs in a WSN.