1 / 34

Using Mobile Agents for Network Resource Discovery in P2P Network

Using Mobile Agents for Network Resource Discovery in P2P Network. Zhengzheng Wan. Reference. [1] Shirky, C, What is P2P…And what isn’t . O’Reilly Network, 24/11/2000 [2]Napster, Inc., http://www.napster.com [3] SETI@Home , http://setiathome.ssl.berkeley.edu

ingrid
Download Presentation

Using Mobile Agents for Network Resource Discovery in P2P Network

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. Using Mobile Agents for Network Resource Discovery in P2P Network Zhengzheng Wan

  2. Reference • [1] Shirky, C, What is P2P…And what isn’t . O’Reilly Network, 24/11/2000 • [2]Napster, Inc., http://www.napster.com • [3]SETI@Home, http://setiathome.ssl.berkeley.edu • [4]ICQ, Inc, http://www.icq.com • [5]eMikolo Networks, Inc., http://www.emikolo.com • [6]Groove, Groove Networks Inc., http://www.grove.net • [7]Caglayan, A. and Harrison, C. Agent Sourcebook. Wiley Computer Publishing, 1997

  3. Reference (Contd.) [8] Green, S.et al., Software Agents: A review, Department of Computer Science, Trinity College Dublin, 1997 [9] Danny B.Lange and Mitsuru Oshima, Seven Good Reasons for Mobile Agents, Communications of the ACM, vol.42, No.3, March 1999. [10] Dan Connolly, Mobile Code Systems, http://www.w3.org/MobileCode/ [11] General Magic, Inc., http://www.genmagic.com/

  4. Background • Peer to Peer network is the movement away from traditional client server model to a network where each participating device is acting as both client and the server [1] • some of the main advantage of P2P are greater storage, more computer cycles and greater bandwidth.

  5. What is a Software Agent? • No consensus definition yet • Since agents can play roles in many different types of applications and since current agent research is so varied, there may never be a consensus • But several key concepts have emerged

  6. Software Agent (Contd.) • Let’s look at some definitions: An agent is a component of software and/or hardware which is capable of acting exactingly in order to accomplish tasks on behalf of its user (Nwana, 1996) An agent is a computer system, situated in some environment, that is capable of flexible autonomous action in order to meet its design objectives (Jennings, Sycara and Wooldridge, 1998)

  7. Stationary Agent • Executes only on the system where it begins execution (Software agent) • If it needs information on another system, or needs to interact with an agent on another system, it uses a standard client-server communication mechanism such as RPC, RMI, DCOM, CORBA

  8. Mobile Agent • Not bound to the system where it begins execution • Can move from one system to another within the network • Transports both its code and its state with it • Decide itself where to go, what to do, how long to exist. (Autonomous)

  9. Why use Mobile Agents? • MA reduce the need for bandwidth. Peers perform multiple interactions over the communication channel, this generate the network traffic. MA allows the interactions among the peers to be packaged together and sent as a discrete piece of network traffic. Allows these interactions take place locally.

  10. Why use MA? (Contd.) • Encapsulate all the required data within themselves. Once a MA arrives on a computer with all its data, and need not to communicate with any other computers. Compared to conventional search protocol in which all the raw data travels over the network to be processed. MA reduce the network traffic by mo

  11. Why use MA (Contd.) • Mobile agents are asynchronous. When a mobile agent is dispatched there is no need to wait for it to return. The original peer does not need to remain connected to the network while the mobile agents are out

  12. Why use MA (Contd.) • MA is autonomous. MA is learning about the network as it progresses through it. The mobile agent will visit peers that were unknown when it was originally dispatched. At each peer it can make the decisions based on its history of visited peers and the current peer.

  13. Why use MA (Contd.) • Mobile agents have either new or more recent information about the resources. Information is being disseminated at every peer that the mobile agent visits. • MA maybe easily be cloned and dispatched in different directions. • MA based solution is very fault tolerant

  14. What is Resource • something that may have a perceived value to somebody or something. • Source available in each peer

  15. Current research solutions • Napster • Gnutella • KaZaA • Project Juxtaposition

  16. Peer Discovery Algorithm • The algorithm is making a trade-off between a more detailed network discovery and a more efficient and practical network discovery. • The main algorithm is used to decide how the MA will behave in its search for other peers

  17. Creator peer A mobile agent is created on a peer wishing to participate in the network. This peer is known as the “creator peer” for that particular mobile agent and all its future clones. The mobile agent updates itself with information about its creator peer.

  18. Two important parameters • A journey-time for the MA. It is set in terms of the maximum number of peers that may be visited before it returns to its creator peer • Branching factor. It is used to determine how many times the MA maybe cloned at any peers. • Control the depth and breadth of the search.

  19. Algorithm (1) • The mobile agent is given the address of some other peers participating in the network. • The number of addresses provided should be small and should be less than the branching factor. • These addresses should come from different sources.

  20. Algorithm (2) • Mobile agent clones itself enough times to allow a mobile agent to be sent to each of these peer.

  21. Algorithm (3) • After arriving at each peer. MA decrements its journey-time, and updates the peer with the information about its creator peer. • Updates itself with information on the current peer.

  22. Algorithm (3) (Contd.) • If two mobile agents from the same creator peer arrive at the current peer within a preset time period. The second MA destroys itself. It keeps the information up to date and prevents peers form cycles from having to deal repeatedly with the MA from the same creator peer

  23. Algorithm (4) • If the MA’s journey-time has expired, it returns to its creator peer and updates its creator peer with all the information in has collected on its journeys. • MA clones itself enough times to allow a clone of itself to be sent to each peer that was known to the current peer.

  24. Implementation • Implementing the mobile agent based solution using the Aglet Software Development Kit (ASDK) with the patch supplied by K.Muniandy[2]

  25. Aglets • Aglets is a Java mobile agent platform and library. • Aglets has been developed at the IBM Tokyo Research Laboratory (TRL) from Mitsuro Oshima and Danny Lange.

  26. Aglets (Contd.) • Aglets includes both a complete Java mobile agent platform, with a stand-alone server called Tahiti, and a library that allows developer to build mobile agents. • Its source is totally opened and is hosted on sourceforge.net

  27. Architecture The general architecture of our proposed solution is built upon the existing Aglets architecture. The solution developed by us is an Aglet based protocol to be used as part of a larger solution rather than a stand-alone application.

  28. Architecture (Contd.)

  29. DiscoveryAglet DiscoveryAglet is the MA that travels the network. It implements the peer discovery algorithm. The Aglet takes its state with it by using its instance variables which can be type of boolean, int, string or vector. These classes are all part of the standard Java Virtual Machine. No need to transmit them with MA, save time and bandwidth.

  30. AgletContext • AgletContext class is part of ASDK. It is needed to maintain and manage Aglets within a secure environment. • Aglet can communicate with other objects that are within the AgletContext. • Provides methods allowing other objects to be placed within it.

  31. PeerResource • It is an object that holds the information about all resources at the current peer. • It is placed within the AgletContext. MA within AgletContext can access it

  32. PeerApplication • A stand-alone java application that encapsulates all the software components. • Use Tahiti, the default mobile agent server that comes with the ASDK. • Use a new EmbeddedAgletServer containing an embedded mobile agent server, all the funcitonality needed to use the discoveryaglets. .

  33. Conclusion • Characters of MA • A MA solution • Advantage of this solution • Aglets • Architecture of the solution and its implementation using Aglets

  34. Thank you!

More Related