The key idea is mutuality: letting everybody profit a great deal from the accumulated results of other people's work with minimal additional effort for each person involved. While a user submits queries to a search engine, browses and assesses the results, software agents in the background: can apply their accumulated knowledge about the users and look for recommendations from other people and find related documents by inspecting large collections of documents using text mining techniques.
Presently, three prototypes are under development in the Coins project:
Figure 1. The BSCW interface of LiveMarks showing two active query objects, rated and annotated URLs, and a document produced by the group.
In order to use BSCW for agent-based information collection we have extended BSCW in two ways: at the user interface we have introduced a new type of object, the query, and a rating and annotation feature for URLs; at the back-end we have enabled BSCW to communicate with LiveMarks agents.
Whenever a user creates a query for Web documents, this query is propagated to the software agents that work in the background. The agents forward the query to search engines, collect the results, and enrich them with their own recommendations. The recommendations are derived from an internal database that stores references and descriptions of Web documents along with user ratings and annotations. The agents produce recommendations by searching this database for highly rated documents whose descriptions match the query. The best-ranked results are transmitted back to BSCW where they are presented within the query to which they belong, i.e. the query operates as a folder for its results.
After having received the results, users may inspect the documents as well as rate and annotate them for the benefit of their fellow users with whom they share the workspace. Rated and annotated URLs are automatically moved out of the query folder one level up to a more prominent position (cf. figure 1), URLs judged irrelevant disappear for good. The ratings and annotations are also propagated to the LiveMarks agents which store them in their document database for future recommendations.
As long as a query is active, new results will continue to flow in when the query folder can take more. The capacity of a query folder is limited in order to ensure a better overview for the users and to avoid flooding them with too many results. The agents make sure that, at any time, the folder will contain only the best results. The flow of results can be stopped by inactivating a query.
For its members, a BSCW shared workspace serves as the context for an information collection task. The workspace contains all queries and all relevant results. Within this context, the agents will minimize redundant information: same or similar URLs are suppressed, material that has been judged irrelevant within a workspace, or has been removed from the workspace will not be produced again as response to a new query.
By integrating the agent-based information retrieval services of LiveMarks into the BSCW groupware system we believe to have created an environment that addresses the needs of information acquisition tasks:
For reasons of performance, ease of application management, and scalability the agents of a SOaP application can be distributed to several agent engines on different hosts. Such a SOaP application consists of a network of interoperating agent engines that features transparent agent communication across engine boundaries. SOaP provides a unique naming and addressing schema for agents, and a global directory service.
By their very nature, agent applications are long-lived applications that must run for months and years. Agent execution must be robust, agents must survive system failures and maintenance shutdowns. For that reason, SOaP agents are persistent; they can store their state on permanent media. After a system failure or shutdown, the agent engine will restart, and all agents resume their operation. Additionally, SOaP provides an alarm service for agents, so that they can repeat failed actions.
In order to guarantee a tamper proof execution environment for the agents, SOaP agents run under the authority of an user or service provider. Agents running under different authorities cannot interfere each other. This is enforced by the agent core engine with a custom Java security manager. By this means direct access of agents with different authorities is prevented. To gain access to system services, agents authenticate with their authority. Also, SOaP agents are stationary to avoid the security risks associated with agent mobility.
Figure 2.The SOaP layers
The LiveMarks application of SOaP employs four types of agents: the BSCW agent as interface agent, the task agents which are associated to a BSCW workspace and process all queries within this workspace, and the search and recommender agents as service agents which both wrap external information sources: search engines like AltaVista or Infoseek and the recommender database of rated Web documents that is interfaced via JDBC. The configuration is given in figure 3. Since user administration and authentication is done by BSCW, the present LiveMarks application has no user agents.
Figure 3. The LiveMarks application agents
The second trend is represented by systems like Pointer [Maltz & Ehrlich 96] , Grassroots [Kamiya et al. 96], and ComMentor [Röscheisen et al. 95]. These systems support only explicit information sharing, that is consciously directed towards selected persons. They can ensure a higher quality of recommendations, but miss opportunities for synergies when people are not aware of their common interests or tasks.
Clearly, both approaches nicely complement each other. In LiveMarks, we went one step beyond a mere combination. BSCW is not a dedicated groupware for cooperative information collection, it is a more general system for Web-based group work. For LiveMarks we extended it to better support the information gathering process with its intermediate stages. Thus, in BSCW with LiveMarks information gathering and other cooperative work is seemlessly integrated. Our agents find a unique, rich environment which they can observe to gain insight into user and group preferences and interests and where they can offer extended services. BSCW will provide fertile grounds for deriving group topics and assembling group collections in TopicMarks; and ConceptIndex will provide alternative views and access to information that was originally put into hierarchies of shared folders.
The Coins project is part of our research framework "The Social Web: New Forms of Interaction in Virtual Environments" (http://orgwis.gmd.de/projects/SocialWeb/), which aims to develop computer networks into a unique social medium where people meet for entertainment, business, and work.
Bentley, R., Appelt, W., Busbach, U., Hinrichs, E., Kerr, D., Sikkel, K., Trevor, J., Woetzel, G. "Basic support for cooperative work on the World Wide Web," Int. J. Human-Computer Studies 46 (1997), 827-846.
Davies, J., Weeks, R., Revett, Davies, J., Weeks, R., Revett, M. "JASPER: Communicating information agents for the WWW," in Proc. 4th Int. World-Wide Web Conf. (Boston MA, Dec. 1995), World-Wide Web Journal Vol. 1, 1, O'Reilly, Sebastopol CA, 1995, pp. 473-482.
Kamiya, K., Röscheisen, M., Winograd, T. "Grassroots: A system providing a uniform framework for communicating, structuring, sharing information, and organizing people," in Proc. 5th Int. World-Wide Web Conference, Paris, 1996.
Maltz, D., Ehrlich, K. "Pointing the way: Active collaborative filtering," in Proc. CHI'95, pp. 202-209.
Nakata, K., Voss, A., Juhnke, M. , Kreifelts, Th., "Concept Index: Capturing emerging community knowledge from documents," to appear in Marti, P., Bagnara, S. (eds.) Designing Collective Memories, Proc. 7th Le Travail Humain Workshop, Paris, Sept. 1998.
Resnick, P., Varian, H. R. "Recommender systems," Comm. ACM 40, 3 (1997), 56-58.
Röscheisen, M., Mogensen, Ch., Winograd, T. "Beyond browsing: Shared comments, SOAPs, trials, and on-line communities," in Proc. 3rd Int. World-Wide Web Conf., Computer Networks and ISDN Systems 27 (1995), 739-749.
Starr, B., Ackerman, M. S., Pazzani, M. "Do-I-Care: A collaborative web agent," in Proc. CHI'96, 1996.
Terveen, L., Hill, W., Amento, B., McDonald, D., Creter, J. "PHOAKS: A system for sharing recommendations," Comm. ACM 40, 3 (1997), 59-65.
Voss, A., Kreifelts, Th. "SOaP: Providing people with useful information," in S. C. Hayne, W. Prinz (eds.) Proc. GROUP'97, Int. ACM SIGGROUP Conf. on Supporting Group Work - The Integration Challenge (Nov. 16 - 19, 1997, Phoenix AZ), ACM, New York NY, 1997, pp. 291-298.
Wittenburg, K., Das, D., Hill, W., Stead, L. "Group asynchronous browsing
on the World-Wide Web," in Proc. 4th Int. World-Wide Web Conf. (Boston
MA, Dec. 1995), World-Wide Web Journal Vol. 1, 1, O'Reilly, Sebastopol
CA, 1995, pp. 51-62.