HPCS

advertisement
A Performance Evaluation of ACORN
(Agent-based Community Oriented
Retrieval Network) Architecture
Virendra C. Bhavsar*
Ali A. Ghorbani
Faculty of Computer Science
University of New Brunswick
Fredericton, NB, E3B 5A3
Canada
Steve Marsh
Institute for Information Technology
National Research Council, Ottawa
Canada
Outline
•
•
•
•
•
•
•
Introduction
ACORN Multi-Agent System
Multiple Autonomous Virtual Users
Adaptation of ACORN for Testbed
Experimental Results
Future Work
Conclusions and Future Work
Introduction
ACORN ==
Agent-Based Community-Oriented {Retrieval | Routing} Network
• ACORN is a multi-agent based system for information
diffusion and (limited) search in networks
• In ACORN, all pieces of information:
– searches
– documents
– images, etc.
are represented by semi-autonomous agents...
• Intended to allow human users to collaborate closely
(while providing automated message forwarding, search, etc., but
keeping user control)
Degrees of Separation
• In the 1960’s, Stanley Milgram showed that everyone in
the US was personally removed from everyone else by at
most six degrees of separation
• In communities, such as a research community, this is
clear to all members:
– if you want to know something, you ask someone.
– If they don’t know, they may know someone else to ask...
– and so on
• This also works when you have something to tell
people...
– if you want someone relevant to know, you tell people you know will be
interested...
– and they forward the information to people they know will be interested..
– and so on
Relation to Other Work
• Search Engines
– Alta Vista, Excite, Yahoo, InfoSeek, Lycos, etc...
– We don’t aim to search the Web
– If the user has to search, it’s because the information diffusion is
» not fast enough
» not accurate enough
• Recommender Systems
–
–
–
–
–
Firefly (Maes), Fab (Balabanovic)
Content-based or Collaborative
ACORN’s agents are a radical new approach, and a mixture of both...
ACORN is distributed
ACORN levers direct human-human contact knowledge
• Matchmakers
– Yenta (Foner)
– Very close to the ACORN spirit, lacking in flexibility of ACORN
Other Work, continued
• Web Page Watchers and Push Technologies
– Tierra, Marimba, Channels
– ACORN is a means of pushing new data, reducing the need to watch for
changes
– it does not require explicit user input to forward information to relevant
users...
• Filtering Systems
– The filtering in ACORN is implicit in what is recommended by humans
– If a document is judged unsuitable by a human, it will not be forwarded
– In addition, the owner of the document can control who sees it (via the
migration process)
• ‘Knowbots’
–
–
–
–
–
Softbots (Washington, Etzioni, Weld), Nobots (Stanford, Shoham)
mobile agents for internet search
ACORN provides diffusion also
if search is necessary on existing information, these are of use
ACORN does not (as yet) aim to search existing information...
ACORN
• Using communication between agents representing
pieces of information, ACORN automates some of the
processes
– Anyone can create agents, and direct them to parties they know will be
interested
– in addition, an agent carries other information, such as a list of owner
interests (which may be different from the document’s subject)
– The agents proceed to the suggested readers, who in turn can
recommend others (notice this is human recommendation)
– In addition, agents can communicate with each other regarding owner
interests and individual agent topics, and if matches are found, can
direct each other to relevant humans (this is agent recommendation)
• Clearly, agent recommendation can relieve humans of
much of the process of finding/directing agents to
interested parties, although it may not be as precise
The ACORN Mobile Agent
• represents a unit of information
• structure
Mobile Agent
Name: (Unique ID, timestamp)
Owner Address
Dublin Core Metadata
Visited
Recommended
Known
Lists of users (humans) and/or cafés
the agent has visited, is due to visit,
or ‘knows of’
The Dublin Core
• The Dublin Core is a Metadata element set, first
developed at a workshop in Dublin, Ohio
• Includes author, title, date
• Also includes
–
–
–
–
–
keywords
publisher
type (e.g. home page, novel, poem)
format (of data)
and others
• The Dublin Core presents a powerful structured medium
for distributing human (and machine) readable metadata
– It also presents an interesting query formulation tool
• The DC home page can be found at:
http://purl.org/metadata/dublin_core
Agent Lifecycle
• A mobile agent in ACORN (one which represents
information) undergoes several stages in its lifecycle
– Creation
– Distribution
» Visiting a user
» Mingling with other agents
» Going to next site
– Return
Creation
• Creation
–
–
–
–
similar to creation of electronic mail messages
other information is requested and can be suggested
the system needs keywords for the information/query
it also uses (as with email) a list of addresses to approach
• Once created, the agent is free to go on its own way
» migration to other sites
» approaching relevant users to distribute information
• and to expand list of users to approach
» mingling with other agents
• to expand the list of users to approach
Migration
• Agent migration makes use of the ACORN Servers
located at each site
– similar to a web server or a mail server
– each server constantly listens for communication from others
• Migration:
– agent informs local server (where it now resides) of need to migrate
– local server contacts agent’s home server, sends a copy of agent ‘core’
– home server (via contact with agent owner/client) authorizes migration
» authorization is necessary before migration can be carried out
– If authorized:
» home server passes back agent state copy
» local server contacts remote server (where the agent wishes to go)
» local server gives reference version of agent state to remote server
» remote server instantiates agent at its site, agent continues
» local server removes agent from its site
Visiting Users
• The purpose of an agent is to distribute information
• To do this, it visits users and presents them with that
information
• This process, for ease of integration with users’
workflow, is akin to mail being sent and arriving
• The user’s interface to ACORN (the Client) can filter
incoming agents according to predefined user
requirements/interests
• Users can:
–
–
–
–
–
file agent details
fetch files represented by agents (if any)
ascertain who the agent has visited (if any)
give feedback to the agent (explicit relevance feedback)
forward the agent to other users (implicit relevance feedback?)
Getting User Recommendations
• Automatically
– When an agent arrives, the user’s Client can automatically:
» examine the agent
» determine if it knows of any other relevant users
• these are obtained via user interaction, and from data gathered by agents arriving at
this Client
» share that data with the agent
» send the agent on its way, retaining a copy for the user to examine
• Personally
– When the user examines the agent, they can
» recommend other users to visit (forward)
» recommend cafés to visit
» send the agent on its way
The Café - Agent
Recommendations
• User recommendations are not the only way an agent
can expand its list of people to visit
• Each site can have (between zero and many) cafés
• A café is simply a meeting place for agents
• Cafés can be generic or have specific topics (agents can
be filtered before entering)
Cafés revisited
• In a café, at set intervals, agents present are compared,
and relevant information exchanged
– at present, all information is public
» if you don’t want to share, don’t enter the café
– there is no provision for caching agent data as yet (so that agents can
arrive, give data, and leave)
» this may be added at a later date
– agents reside at cafés for set lengths of time (currently we have a
default, but intend to make the length of time owner selectable)
• The café represents a unique method of automating
community based information sharing
tom@ucsd.edu
ymasrour@ai.it.nrc.ca
ucsd.edu
ai.it.nrc.ca
S
e
r
v
e
r
S
e
r
v
e
r
bob@ai.it.nrc.ca
dick@ucsd.edu
steve@ai.it.nrc.ca
Café
anwhere.else
foo@anywhere.else
Café
S
e
r
v
e
r
cs.stir.ac.uk
meto.gov.uk
S
e
r
v
e
r
S
e
r
v
e
r
Café
Clients
wibble@cs.stir.ac.uk
graham@cs.stir.ac.uk
anne@cs.stir.ac.uk
joan@meto.gov.uk
jane@meto.gov.uk
Security
• The system requires agent migration to other sites
– where there are interested parties
• At all times, the information agents are under the control
of their owners
• Owners can deny an agent’s migration to another site, or
a specific person, since agents can be instructed to ask
their owner’s permission to migrate
• Also, we achieve persistence by having agents send
copies of themselves back to their owners at each
migration
• In future, we will be adding some encryption capability to
agents
Testing and Deployment
• A working implementation of ACORN in Sun’s Java
language
• Stress testing the architecture using large numbers of
real users - problems
• Multiple artificial users on a simulated network
Multiple Autonomous Virtual
Users
• Test-bed: Several Autonomous Servers, each serving
autonomous virtual users
• Virtual User - capable of creating agents
- picks up a topic from a client core’s interest
- migrates to other servers
- potential destinations
Adaptation of ACORN
• ACORN: ~ >100 Java classes
• Adaptation
–
–
–
–
Removal of user interaction classes
Removal of client behavior clases
Removal of other extraneous classes
Simulation of multiple client-server architecture: run more than
one server on a single machine
– Possibility of using multiple processor machines
– Addition of a SiteController Class
Adaptation of ACORN (cont.)
• SiteController Class
– handles all communication between servers on a single machine
– resolves agent migration requests
– handles communication between different machines
• Streamer Class
– provides transport of agents across IP
• Benefits
– Removal of the need for continuous user interaction
– Batch mode runs
– Only ~30 Java classes
Experimental Results
• Virtual User
– two key phrases for user interests
– four key phrases about the document or search area
– two recommended user address in an agent
– four key phrases for specifying interests of each recommended
user
• Porting of ACORN to many machine architectures
• O(n2) agent interactions in a Café, n - number of agents
Experimental Results (cont.)
Machine
n
Exec. Time
(sec.)
300 MHz
Pentium II PC
20
50
50
209
100 MHz Power 20
PC (Unix)
40
80
160
200
SGI Onyx L
20
40
80
28
41
68
888
1052
32
75
240
Conclusion and Future Work
• ACORN- multi-agent system for intranet/internet
• Allows the creation and distribution of any form of
information (images, text, etc.)
• Performance Evaluation of ACORN on single and multiple
servers
• Novel Idea: Autonomous Virtual Users
• Adaptation of ACORN
• Porting to different machines
• Further work: Adaptation to Multi-processor machines at
a single as well as multiple sites to exploit CA*NETIII
Download