Intelligent Software Agents – A .NET Example

Software Example

In the February 2006 issue of MSDN Magazine (http://msdn.microsoft.com/msdnmag/), Matt Neely describes a .NET implementation of mobile agents:

“The term agent originates in artificial intelligence and describes a logical entity that has some level of autonomy within its environment or host. A mobile agent has the added capability to move between hosts. In a computing context, a mobile agent is a combined unit of data and code that can move between different execution environments.”

(Neely, 2006)

The idea described in the article is that of a small family of .NET classes that literally “jump” from a computer to another, performing tasks in the host computer, through a mechanism called Remoting:

“An example of a traveling agent app could perform operations control. An agent is sent out with a list of machines on the local network it should traverse to inventory hardware and software (…) built-in services that facilitate the componentization and mobility of code, namely object remoting and serialization.(…) Mobile agents have their uses and their pros and cons. The autonomous and mobile nature of mobile agents can lead to reduced network traffic, decentralization, increased robustness and fault-tolerance, and easy deployment.”

(Neely, 2006)

traveling_agent.gif (Source: Neely, 2006) Continue reading