170 likes | 307 Views
Agent Based Transaction System . CS790: Dr. Bruce Land Sanish Mondkar Sandeep Chakravarty. What are mobile agents ?. A mobile agent is an active object that can move both data and functionality (code) to multiple places within a distributed system .
E N D
Agent Based Transaction System CS790: Dr. Bruce Land Sanish Mondkar Sandeep Chakravarty
What are mobile agents ? • A mobile agent is an active object that can move both data and functionality (code) to multiple places within a distributed system. • Mobile agents are defined in formal terms as objects that have behavior, state, and location • The set of events varies a bit from model to model, but the following is a list of the most common ones: Creation, Disposal,Dispatch,Arrival, Communication
Why mobile agents? • There are several applications where the mobile agents paradigm can be used successfully solve existing problems. The following is a cross-section of possible problems: User passivity/data timelinessMulti-staged/multi-processed calculations Untrusted collaboratorsLow-reliability/partially-disconnected networks
Project Objectives • To make a framework for mobile agents which would allow agents to move from node to node and execute at each node • To incorporate security features so that agent activities are securely conducted • To make the framework fully customizable so that a user can create his/her own agents as easily as creating applets and still use the facilities provided by the agent framework • To study existing architectures for distributed systems and investigate the possibility of how an agent-based system can solve some of the inherent problems suffered by existing systems. • To create a sample application that uses some of the features provided by the agent framework to do something useful.
Applet Vs Agents • Applets do not carry state • Applets are instantiated by the receiving client • Applets do not travel to multiple hosts
Problem Areas • Transportation • Authentication • Secrecy • Standardization
Design for Agent Host • AgentServer • AgentSpawner • IncomingRequestMonitor • RequestServicer
Design for Agent • Agent is a purely abstract class having some method declaration. Users wishing to write their own agents will have to: 1. Inherit their customized agent from the abstract class Agent and implement all the methods 2. The main agent task will have to be put in a method called run. This is the method which shall be called by each receiving host while starting the agent thread.
Agent Transfer Protocol • Establish connection • Send agent identity • Receive result object • Send agent • Close connections
Security Issues • Authentication • Controlling agent activity • User option for agent acceptance
Security:Our Implementation • Digital Signatures • Message Digests • User option for agent acceptance • Possible extension to SSL
Sample Application • Bill Agent • Transfer Agent • Info Agent
Other Approaches • IBM Aglets WorkBench • Java RMI
Future Work... • A layer of security can be added by using SSL for the agent transfer • More study is needed to understand the feasibility of having an agent-based system • AI algorithms can be used for making mobile agents equipped with negotiation capabilities
Future Work…contd. • For Electronic Commerce applications, there should be a mechanism by which a agent should be able to pay for the services used. • More work is needed to make the Agent Host more robust in handling various agents • Agents need more error handling capabilities. In case an agent dies during a task, then the sender should be informed of the failed transaction
Conclusion • Agent systems for groupware • Existing problems are solved eg. Webcrawlers • Network bandwidth optimally utilized