Overview of Project Content and Milestones
Many researchers see mobile agents as the next natural evolution of software, where programs can migrate from system to system, to determine the best place for them to reside. This overcomes the problems of the client-server architecture which relies on network connections for its communications, whereas a mobile agent relies on local communications on a host. Most currently available mobile agent systems use Java, as it allows for object serialiation and remote object invocation. Unfortunately the foundation that Java uses is flawed from a security point-of-view, in that it uses the RPC protocol (which is often blocked by firewalls, and is one of the most identified risks in networks). The .NET framework, on the other hand, contains a new mechanism for serialising and invoking remote objects which seems to overcome many of the problems that are inherent with Java, especially related to the RPC protocol.
The Main Deliverable(s)
Serialisation of objects in .NET.
Capture of program state.
Use of remote invocation in .NET.
Use of object serialisation in .NET.
Creation of a remoting system which passes data between tasks using serialisation of objects.
The Target Audience for the Deliverable(s)
Research community.
Anyone interesting in remoting in .NET. The Work to be Undertaken
Investigation of .NET remoting.
Investigation of the application of .NET to mobile agents.
Design of a basic mobile agent system for data transfer.
Implementation of a basic mobile agent system using .NET.
Additional Information / Knowledge Required
Training on the .NET framework and C# will be provided.
Information Sources that Provide a Context for the Project
1. Mobile Agents – Process Migration and its implications. http://www.davidreilly.com/topics/software_agents/mobile_agents [Link]
2. .NET Remoting -
http://www.c-sharpcorner.com/Remoting.asp [Link]
The Importance of the Project
Most mobile agent systems have been implemented in Java. This project will be fairly novel in its scope as it will investigate whether .NET can support mobile agents, and the advantages that it has over Java.
The Key Challenge(s) to be Overcome
The remote object model in .NET is a challenge, especially in its classification between client and server activated objects. There is a major challenge in serialising objects, and in capturing the state of a program.
|