1 / 30

Java-based mobile agents

Java-based mobile agents. Java effective for mobile agents in e-commerce. Earlier technologies. “Fathered” mobile agents Dev’d to improve RPC for distributed programming Process migration Remote evaluation Mobile objects. Process migration. Move entire address space among computers

merv
Download Presentation

Java-based mobile agents

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java-based mobile agents

  2. Java effective for mobile agents in e-commerce

  3. Earlier technologies • “Fathered” mobile agents • Dev’d to improve RPC for distributed programming • Process migration • Remote evaluation • Mobile objects

  4. Process migration • Move entire address space among computers • Reduce net BW compared to RPC • Multiple RPCs to execute app • ==> Entire process can migrate • No way to return data back to source node wo entire process returning

  5. Remote evaluation • Send request in form of program (not entire process address space) • Remote executes + returns results • No need to transmit process control data • Lack ability to encapsulate more state info into program

  6. Mobile objects • Extend remote eval • Capture more program behavior within mobile object • Objects migrate, carrying executable code, data (object specific properties), other objects • Mobile agents improved …

  7. Mobile agents improved • Reduce net traffic for app’s processing large quantities of data • Earlier: client/server • Ship data to program source • Agents: ship program to data • Also, autonomy: decide dynamically, where, when to travel

  8. Client/server vs. agent computing models Client Server Client Server Agent Network Interaction Network Interaction

  9. Mobile agents improvements (cont.) • Adapt to changes in program state + net environment • Asynchrounous interaction • User can disconnect from net • Store-and-forward mechanism • Async + autonom ==> protect mission-critical app’s form unreliable net’s

  10. Mobile agent advantages (cont.) • Traveling user • Connect/disconnect • Fault tolerance • Security

  11. Java as a language for mobile agent dev • Concordia • Odyssey • Voyager

  12. Java for mobile agents • Multiplatform support • “Write once, run anywhere” • Ubiquity of JVM • ==> Facilitate dissemination

  13. Java unique features • Object serialization • ==> Convert agent + state -->suitable form for net transmission • Remote sys reconstruct

  14. Java unique features (cont.) • Persistent agent state info • Serialize agent’s state • Write to persistent storage • Retrieve state + use to reconstruct agent

  15. Java unique features (cont.) • Network support • Sockets • URL comm. • Distributed object protocol • RMI: Remote method invocation • Prog. Access to dist. object simple • RMI handled by local proxy

  16. Java unique features (cont.) • Class loading mechanism • ==> Facilitate migration of code + state • Dynamically load classes • Classpath / net • Code subject to security restrictions • Fine-grain, configurable security policies • Tight integration with Web ...

  17. Tight integration with Web • Applets can launch mobile agents • Receive returning agents when done • Servlets: function like CGI script • May launch + receive mobile agents • JNDI: Java Naming & Directory Interface ==> seamless connectivity via unified access to multi naming + directory services

  18. Agent Manager Generic mobile agent architecture Generic Mobile Agent Server External Application Application Gateway Interagent Communication Manager Agent Directory Manager Network Generic Mobile Agent Server Reliability Manager Security Manager Generic Mobile Agent Server

  19. Generic mobile agent architecture • Six major components • Agent manager • Interagent communications manager • Security manager • Reliability manager • Application gateway • Directory manager

  20. Agent manager • Send agents to remote hosts • Receive agents for execution on local host • Serialize agent prior to transport • Pass serialized form to counterpart on destination • Really to reliability manager • Ensure reception on other side

  21. Agent manager • Upon reception • Reconstruct • Agent + objects ref’d • Create execution context

  22. Mobile agent system (JVM) • Auto invoke security manager • Authorize any op’s using sys resources • Request agent manager to transport agent to correct location

  23. Security manager • Protect host + mobile agents against unauthorized code • Authenticate received agent • Encrypt agents before • Transmission • Saving to storage • Digitally sign agents • Exchange certificates

  24. Reliability manager • Ensure robustness of mobile agent system • Shield agents from server / sys crash • Guarantee persistence of • State associated with agents • Mobile agent sys • Use transactional queuing to ensure agents reach destination even during sys crashes

  25. Interagent communications manager

  26. Application gateway

  27. Directory manager

  28. Find me a ski vacation

  29. A killer opp

  30. What’s next?

More Related