Using Mobile Agents for Network Resource Discovery in P2P Network - PowerPoint PPT Presentation

About This Presentation
Title:

Using Mobile Agents for Network Resource Discovery in P2P Network

Description:

This peer is known as the 'creator peer' for that particular mobile agent and ... The mobile agent updates itself with information about its creator peer. ... – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 35
Provided by: Zheng4
Category:

less

Transcript and Presenter's Notes

Title: Using Mobile Agents for Network Resource Discovery in P2P Network


1
Using Mobile Agents for Network Resource
Discovery in P2P Network
  • Zhengzheng Wan

2
Reference
  • 1 Shirky, C, What is P2PAnd what isnt .
    OReilly Network, 24/11/2000
  • 2Napster, Inc., http//www.napster.com
  • 3SETI_at_Home, http//setiathome.ssl.berkeley.edu
  • 4ICQ, Inc, http//www.icq.com
  • 5eMikolo Networks, Inc., http//www.emikolo.com
  • 6Groove, Groove Networks Inc.,
    http//www.grove.net
  • 7Caglayan, 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.)
  • Lets 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 MAs 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.Muniandy2

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!
Write a Comment
User Comments (0)
About PowerShow.com