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