Discovery of Infrastructure in MultiAgent Systems - PowerPoint PPT Presentation

About This Presentation
Title:

Discovery of Infrastructure in MultiAgent Systems

Description:

A2A prefers connectivity partners that share the same interests. ... A2A reduces random P2P connectivity, in favor of these links with higher ... – PowerPoint PPT presentation

Number of Views:72
Avg rating:3.0/5.0
Slides: 25
Provided by: brentkl
Learn more at: http://www.cs.cmu.edu
Category:

less

Transcript and Presenter's Notes

Title: Discovery of Infrastructure in MultiAgent Systems


1
Discovery of Infrastructurein Multi-Agent Systems
  • Brent K. Langley, Massimo Paolucci, Katia Sycara
  • blangley, paolucci, katia _at_cs.cmu.edu
  • Carnegie Mellon University, Pittsburgh, PA, USA
  • Intelligent Software Agents Group _at_ The Robotics
    Institute

2
RETSINA Architecture
3
Initial Motivations
  • Challenges
  • Dynamic Environment/Infrastructure Availability
  • Transitory Execution Environment for Agent
    Application
  • Undependable Infrastructure
  • Systems
  • Networks/Connectivity
  • Services

4
Even-more Motivations
  • Goals
  • Automatic / Self Configuring Agents and
    Infrastructure
  • Fault Tolerance and Dynamic Reconfiguration
  • Scalability in Quantity, Loading, anddispersing
    into groups or over WANs

(while still allowing systems to find each
other)
5
Agent Discovery Mechanisms
  • Static - Preloaded or specifically initialized
  • Dynamic
  • Local SSDP Multicast-based Local (or limited
    distance) Discovery by Service Type
  • Wide-Area A2A Peer-to-Peer network-based, with
    Agent Community Affinity and Aggregation
  • Learned
  • Informed Infrastructure facilitated (Look-Up
    Service, Matchmakers, Brokers, UDDI)
  • Overheard A2A, not requested but useful
  • Extracted garnered from plans or coordinated
    multi-agent operations

6
Local Dynamic Discovery
  • Simple Service Discovery Protocol (SSDP) from the
    Universal Plug-n-Play (UPnP) initiative
  • Multicast search requests to populate lists of
    infrastructure service provider alternatives
  • Receive Multicast Alive Byebye messages to
    automatically update discovered-provider lists.
  • Service-specific reactions to Discovery Events
  • Register with one or more services and optionally
    automatically register with newly alive systems
  • Auto fail-over and pruning of services lists to
    maintain list of viable service providers

7
SSDP Communications
Announcement of Availability
Discontinuance of Availability
Alive
MulticastwithLimited TTL
Byebye
MulticastwithLimited TTL
HTTP NOTIFY(GENA)
HTTP NOTIFY(GENA)
Search Request
MulticastwithLimited TTL
Query Contains Service Type or
wildcard for all Host/Port for response
HTTP M-Search
Search for Available Services
8
They always want more
  • We had reliable dynamic discovery on local
    subnets
  • We implemented static hierarchical and mesh
    connectivity between remote infrastructure
    devices that lived in dispersed islands of
    discovery
  • However, we wanted the same dynamic discovery,
    self configuration self-healing in wide-area
    systems

- BUT -
The multicast protocol used by SSDP is limited
by policies, systems, networks, routers, and
firewalls
9
Discovery Over the Internet
  • Problem How to quickly and broadly implement a
    solution to allow discovery and lookup
    communication between widely dispersed systems
  • Possible Solutions
  • Build, test, rollout, and support new platform
    over the wide area network / Internet
  • Utilize Existing Service
  • Re-purpose Extend Existing Service

10
Discovery Over the Internet
  • Problem How to quickly and broadly implement a
    solution to allow discovery and lookup
    communication between widely dispersed systems
  • Our Solution Piggy-back on top of an existing
    non-proprietary and popular (widely utilized)
    communications framework that provides global
    connectivity - Gnutella.

11
Gnutella Connectivity
  • Last November there were typically 2,000 Gnutella
    Servents online at any instant
  • In May 2001, there are typically over 40,000
    Servents online at any instant
  • If all Servents keeps 5 peer connections open,
    and use a time-to-live of 7 when sending
    messages, a single query could reach up to
    109,225 other systems.
  • Some Servents are more beneficial to be
    connected-to than others.

12
Agent-to-AgentEnhancements
Categorize Task Prime Alt Local Home Cache Bad Use
d New
Confidence Querys Seen Q-Hits Seen Activity
Level Bad Packets Dup Queries Dup Msgs Dup
Pkts Repeat Pkt Type Sequential Pkts
Query Modification Min SpeedEncoded Task
Identifier - Quick Check see if worthwhile to
check - Hide from standard Gnutella
Servents Prefix Query with Task Identifier -
Absolute Check (appropriate to process) Encrypt
Query and Responses - Further Hide Query from
Gnutella - Protect conversation Task-Structu
re - Query QueryHit Packets escalated to A2A
Task Objects for Handling
13
Gnutella Communications
14
Evolving from P2P to A2A
  • Gnutella Peer-to-Peer (P2P) networks provide
    random connectivity to a large range of other
    systems over a wide-area the Internet.
  • Agent-to-Agent (A2A) adds task identifiers to
    messages which classify hosts into communities
    with specific interests.
  • A2A prefers connectivity partners that share the
    same interests. This affinity causes
    congregations, or communities, of Agents in P2P
    networks to be formed.
  • A2A attempts to maintain certain levels of
    connectivity to related Agents, and to hosts that
    have a higher confidence of providing needed
    information (directly or through their peers)
  • A2A reduces random P2P connectivity, in favor of
    these links with higher probability for
    satisfying directed or background discovery and
    lookup processes.

15
Gnutella Peer-to-Peer (P2P) vsCMUs
Agent-to-Agent (A2A)
16
3 Basic Objects That A2A Apps Use
  • A Task object identifies the A2A community that
    will interact via this communication portal and
    controls its related I/O.
  • A Question object is created when you ask a
    question to the Task object or when a query comes
    in from another peer.
  • An Answer object is an individual response (one
    of possibly many) associated with the specific
    Question object that it applies to.

17
Agent Use of A2A Objects
  • An Agent creates a Task object to converse with
    similar Peers.
  • The Agent asks the Task a query and receives a
    Question object.
  • Incoming replies will be stored in the
    appropriate Question object.
  • When the Agent retrieves a reply it is given an
    Answer object.
  • Incoming Questions are held in a limited-size
    circular queue.
  • Agents can get new Question objects from the Task
    and compose single or multi-part replies.
  • When the Agent is ready, it can send the reply to
    the P2P network.

Agent
?
!
!
!
?
?
?
?
?
?
ANS Client Task
Match Maker Client Task
Peer Activity Client Task
A2A Management Process
Peer-to-Peer Network
18
A2A Discovery
  • When a Task object is created, it can be marked
    as a Discoverable task.
  • Discoverable Tasks automatically create a
    discovery Question object to periodically attempt
    to discover other Agents that support the same
    Task type.
  • Discoverable Tasks create an Auto-Answer that
    watches incoming Questions to see if they are
    discovery queries. If so, the Agents location
    is automatically replied.
  • Discovery replies are maintained by the Task as a
    list of known community peers, and utilized by
    the A2A state management process to ensure
    adequate connectivity to each peer community.

19
A2A Discovery Startup Sequence
  • Initial connectivity from preferences, previous
    state information, or user specification
  • Supplement with Multicast discovery of local
    hosts and utilize Internet P2P host cache servers
  • Follow normal P2P host discovery Ping/Pong
    processing to supplement connectivity resources,
    and track confidence in these systems
  • Further tune connectivity with A2A by
    categorizing discovered local (near-by) and
    home-base hosts.
  • Send task-specific discovery lookup
    requests to P2P network to facilitate communal
    connectivity

20
Query Integration
  • Each Gnutella Query has an Integer value a
    String. The Integer represents a minimum speed
    requested for downloads, and the String is the
    query.
  • When a new Agent-to-Agent Task is created, a
    String representing the Tasks Community is
    specified.
  • This String is encoded into an Integer
    representing a value greater than 10 million
    bits/second.
  • The encoded integer is inserted into Gnutella
    Queries as the minimum download speed, and the
    Community Identification String is prefixed to
    each of the Tasks actual Query message strings.

21
Query Filtering
  • Gnutella clients will ignore the A2A query since
    they wont be able to provide the desired
    minimum speed.
  • A2A clients will bypass normal Gnutella queries
    since the minimum speed will typically be too
    low, and not match any valid encoded Task
    Identifier.
  • A2A clients that dont have a Task object
    identified by the same encoded integer will also
    bypass the message.
  • If A2A detects it is hosting a Task that matches
    the encoded integer value, it verifies that the
    Gnutella Query String actually begins with the
    Tasks Community Identification String.
  • If so, the Task creates a Question object for the
    Query and links it to the Task for processing.

22
Questions and Answers
  • Applications can create Auto-Answers to
    automatically reply with the Agents location
    upon arrival of a matching query.
  • Applications can check a previously created
    Question object to see if it has any new Answers
  • Applications can block, waiting for an Answer to
    a Question.
  • Applications can create a call-back type of
    process to be automatically called when an Answer
    arrives for a Question.
  • Applications can check to see if new Questions
    have arrived.
  • Applications can block, waiting for a Question to
    arrive.
  • Applications can create a call-back process to
    automatically be called by a Task when a specific
    Question arrives.
  • Catch-all Questions can see all (including
    Gnutella) queries.

23
Agents in a Peer-to-Peer World
A2A Community
A2A Community
A2A Community
A2A Community
Gnutella P2P Network
A2A Community
A2A Community
A2A Community
A2A Community
A2A Community
A2A Community
A2A Community
A2A Community
A2A Community
24
Interactions Direct and via Peers
Other Agent Environments
Other Resources
Other Agent Services
Gnutella Network
Agent Name Services
Brokers
MatchMakers
Auctions
25
Take-home Lessons
  • Infrastructure Services Support Robust Agent
    Activities
  • Discovery allows dynamic configuration and
    adaptation to changing and evolving environments
  • Multicast-based discovery is fast and reliable,
    but limited to localized networks
  • Wide Area Discovery implemented over a P2P
    architecture (such as Gnutella) provides dynamic
    reconfiguration of globally dispersed Agents and
    their Infrastructure Services

26
A2A Directions
  • P2P resident Infrastructure services
  • P2P Client Application as a platform for
    Agent-based Applications
  • Customized auction and yard-sale agents
  • Network security agents
  • SETI_at_home style processor sharing
  • Distributed process or application dispersal
  • Personal Agent background interest coordinator
  • Agent Mobility
  • Scalability of agent communications

27
A2A Architecture
Task
Logger Task
Match Maker Task
Agent Name Service Task
Question
Task
Ask question
Answer
A2A Connectivity Management Layer
Gnutella
Gnutella Query
Response
TCP/IP Network
28
In-band/Out-of-band
  • Gnutella uses two protocols
  • Gnutella protocol as for p2p coordination and a
    lookup service (in-band), and
  • HTTP protocol for file transfer (out-of-band)
  • Agent Infrastructure needs to delineate
  • Discovery/Service Lookup can use Gnutella
    Protocol
  • Agent-to-Agent or Agent-to-Middle-Agent
    (Infrastructure) conversations should they be
    in-band, or a separate out-of-band protocol.
  • Guidelines for using In-band Gnutella Protocol
  • Asynchronous Query/Reply format
  • Short messages in queries and replies
  • Quick replies to queries can be generated
  • Desire fewer maintained connections to multiple
    services

29
Out-of-Band Protocol Drivers
  • Use an Out-of-Band Protocol if Application
  • Requires synchronous communications
  • Requires transactions and state
  • Requires strict message ordering
  • Has Short time-outs for reply reception
  • Takes Long time to process request and form reply
  • Might have packets intentionally discarded by
    other Gnutella clients for protocol violations
  • Require private conversations

30
Agent Name Service Clients on A2A/P2P
  • A Discoverable Task to automatically form
    communities with other retsinaAgentNameService
    peers.
  • register agent-name commands create Auto-Answers
    for future lookup agent-name and listall queries
  • unregister agent-name commands remove local
    Auto-Answers of appropriate lookup and listall
    queries
  • Agents can lookup other Agents without the use of
    an ANS server.
  • Agents can cache previously found lookup
    information and facilitate lookups by other peers.

31
Agent Name Service Servers
  • Basic Implementation as ANS Clients with with
    large caches, that are not only populated by
    local lookup requests, but also by monitoring
    other ANS Client register messages.
  • Secure Implementation might include registration
    and/or lookup security screening, and
    unregistration verification.
  • Conversations could also be encrypted.

32
A2A Middle Agentsfor Gnutella
  • Agents/Middle-Agents monitor all Gnutella Queries
    replies that pass on the peer-to-peer network
  • Middle-Agents can model, Traffic Loads, Consumers
    (Requestors), Producers (Repliers), Quality of
    Peers
  • If a Middle-Agent sees a request for a service
    provider, it could learn or broker that service
  • A Middle-Agent that sees a request to implement a
    plan, could break it into sub-plans and
    redistribute to peers
  • If a Middle-Agent is going to respond to a bid,
    but observes other related bid opportunities, it
    can provide a combined bid option (a user asks an
    agent specifically for a bid on auto-insurance,
    but agent observes that other bids have been
    asked from the same companys home, health, life
    insurance agents a possible lower price for a
    combined policy could be proposed.)

33
Middle-Agents on Gnutella
  • Middle-Agents can service more clients with fewer
    Sockets
  • When a Middle-Agents connectivity limits are
    reached, new clients could be connected to
    current peers and still access the service.
  • Clients could overhear answer and avoid
    repeated asking of popular/common questions
  • Middle-Agents are typically online longer and
    less transient than normal Agents. Longer
    connectivity to the p2p network allows a peer to
    find more, and better categorize other peers (and
    communities) to increase their level and quality
    of connectivity.
  • Many Middle-Agents work in concert with other
    types of Middle-Agents to facilitate Agent
    activities. An ANS that gets a MatchMaker
    Discovery Query may not be able to respond
    directly, but in relaying the message to the
    ANSs peers, there is a high probability that one
    of the Agents talking to the ANS is also talking
    to a MatchMaker.
Write a Comment
User Comments (0)
About PowerShow.com