agent based transaction system cs790: dr. bruce land sanish mondkar sandeep chakravarty
TRANSCRIPT
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 timeliness Multi-staged/multi-processed
calculations Untrusted collaborators
Low-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