The iKnow-Tool: Connecting Software Engineers with Peer-to-Peer Software for Ad-hoc Collaboration Claus Eikemeier, Ulrike Lechner, Florian Beyerlein, Michael Lodde University of Bremen Department for Mathematics and Computer Science {cei, lechner, mlodde}@informatik.uni-bremen.de,
[email protected]
Abstract Practical software engineering often demands for ad-hoc answers to suddenly arising questions. In small and mostly distributed programming teams it is quite common to use an instant messaging (IM) application for answering questions of other team members in parallel to the own work. For larger teams or for communities with a low motivation to cooperate in the daily work routine, IM and other collaboration tools just do not work. The paper presents the peer-to-peer based application iKnow as a collaboration platform for either large teams or “loose” communities that in particular supports collaboration in software engineering.
1. Introduction Software development is a creative and dynamic process that creates one of the most important products of today’s companies: software applications. Modern programming paradigms like e.g. object-oriented development allows for segmenting bigger tasks into smaller parts with strongly defined interfaces. As a consequence, there are an increasing number of distributed project teams that work in different companies, from home office or even in mobile settings (WLAN access in airport or hotel). Moreover, a lot of software engineering takes place in virtual communities. Communities have only little cohesion and little extrinsic motivation to collaborate [1]. As the dynamics in the work environments increases, it gets more and more difficult to use traditional systems to adequately support the work. Setting up centralized platform structures consumes a significant amount of time and work effort and resources. We argue that such rapidly changing organizational structures (like short ad-hoc teaming, virtual communities) results in a need for an appropriate tool set: we expect lightweight tools to satisfy those needs of ad-hoc collaboration.
The paper presents iKnow, a lightweight tool for adhoc collaboration. Based on a peer-to-peer paradigm, the tool supports collaboration within a potentially large and possibly loose, dynamic network. It offers • Search mechanisms for collaboration partners, • Collaboration services for collaboration with various intensity • Anonymity and privacy to motivate all members of the network, community or team to actively participate their knowledge. The tool prototype is implemented on the base of the JXTA framework [2]. The paper is organized as follows. In Sect. 2, some thoughts on programming in teams are gathered. We argue that use of standard IM tools (use of buddy lists) fits only into small project teams and to static structures. In Sect. 3, we discuss Peer-to-Peer infrastructures and their potential as collaboration platforms. The tool iKnow is presented in Sect. 4. The paper concludes with a discussion in Sect. 5 and 6.
2. Programming in project teams Tools in software engineering (SE) have become more important as the complexity of software products increases. Design methods like the waterfall model, prototyping, iterative development or joint application development stem from the assimilation of ever changing conditions [3]. One of today’s hottest questions is how to support SE in rapidly changing organizations and how to support SE in open, distributed virtual communities, i.e., in organizational structures in which there is no extrinsic motivation to collaborate. Distributed software engineering is a known and described phenomenon of today’s technical world. It is addressed especially in the field of concurrent engineering (CE) and computer supported cooperative work (CSCW) (cf. [4, 5]). Programmers are connected from home or from different locations to jointly work in software engineering. Newer approaches in CSCW
support mobile settings, that extend common work to different environments (dynamic connections like wireless LAN access, special devices like cellular phones or PDAs, …) [8]. A particular challenge for IT-support is the complexity of software. Customizing of existing code or the use of complex, specialized libraries demand for instant access to competent co-workers or members of a community. Modern programming paradigms like object-oriented programming or the use of web services support the separation of tasks and hence allow distributed software engineering. Software engineering is knowledge intensive and distributed software engineering demands for strategies to deal with knowledge management under the special circumstances. Similar importance has the field of adjacent knowledge communications. One of the biggest challenges is the management of implicit, not explicit knowledge: to be solved is the exchange of knowledge with instantaneous access. This helps the SE worker to do the next step when he is stuck in a problem. Many programming teams use instant messaging applications like ICQ, AOL Instant Messenger or MS Netmeeting to get connected to the project manager, or other team or community members for instant support in case a problem occurs. These IM tools offer awareness information and so the worker can decide whom to ask [8]. This assumes that the group is not too big and each user knows the profile of expertise of the communication partners. Choosing a communication partner of the “buddy list” is strongly influenced by previous experience with the other persons: an expert with polite and good answers will increasingly be involved in communications, being the best match or not. As a consequence, he will hide himself to questions by not answering or by changing his profile if there is no reward system that keeps him helping others. Personal relationship, commonly mirrored by the personal buddy list, has a similar cohesive effect as a reward system. Even if true for small size project teams, working with a buddy list in complex project environments demands for additional support of superior quality: the worker needs to be supported by a yellow pages directory to find the adjacent expert. The existence of such a directory seems to be common in bigger companies as a consequence of knowledge management efforts. But when project consortia (like in EU projects) are gathering experts from SMEs or free lancers, or in the case of open source software development in virtual communities, these developers, are not linked by existing reliable structures. Often, their work depends on help from the “rest of the
world”. Here a solution would be using a news board to post her question. Public news boards or the Usenet however have disadvantages. Many publicly available forum systems testify this. But nevertheless, working with newsgroups succeeds to a certain degree. Even if no reward is offered to the answering experts, it is very likely that questions that fit to the level and the topic of the newsgroup are sufficiently answered in an extremely short amount of time. A vital community offers such a service generally based on intrinsic motivation of its members. These and similar approaches work partly well but generally do not help with ad-hoc questions to be answered immediately because of the highly asynchronous character of the forum systems (pull systems). Especially when implementing software, e.g., with new or complex program libraries or when inexperienced workers have joined the team, an optimal ad-hoc support seems to be crucial for the performance. When time-to-market is an issue, commonly used systems like a news group generally are too slow to efficiently support the developer. One other serious problem of newsgroups (resulting mainly from the lack of a reward/punishment system) is induced by the discrepancy of readers and active contributors. The phenomena of “lurking” and “freeriding” are known from research in communities [9, 10, 11, 12]. The lurking phenomenon is widespread in many discussion forums. Many lurkers are just to “shy” to contribute. Either they have the impression that the contribution that they would like to make is better done by someone else. Sometimes the lurkers are afraid of flame wars and scrutinizing critics of marginalia. This holds in particular in communities dedicated to technical topics. Here the boundary of acquiring enough knowledge to be sure to post only significant contributions is rather high. Also, many employees are not supposed to contribute to public forums and this also contributes to the lurking black mass of news boards [1]. When considering bigger groups of software engineers, one of the main questions of knowledge management (KM) seems to be crucial: access to the personal abilities of other group members in an optimised way. In KM the term “yellow pages” is adopted to explain the directory of expertise of the different – mostly yet unknown – communications partners. It is extremely important, that the content of the yellow pages is up-to-date and that the access to the content is simple and fast hence doesn’t produce much overhead. As a general consequence, in bigger teams and in communities, where the expertise of one member is not known to all the others, there is an inherent need for an IM application with a function that
automatically matches the actual question with the upto-date profiles (think of an virtual yellow pages directory integrating all community member profiles, aka. Figure 1). This function must work as an intelligent filter: it should spread the question to exactly those experts that can answer the question but not to those that are “under- or overqualified”. The latter condition is extremely important to keep the developers with high expertise in the virtual community. From public newsgroups, it is known that bothering an expert with questions at a level lower than its common expertise will push him on the long range out of the community, hence reducing the overall performance of newsgroup. One last issue is the economic aspect. Teams within companies often can rely on company-wide infrastructure for communication. Virtual communities or teams of free-lancers typically do not dispose of such an infrastructure and need to rely on public “virtual places” for knowledge sharing. The platform providers can exploit such public places.
3. Peer-to-Peer (P2P) software P2P is a phenomenon that – even if it seems to be well known – is not well understood after several years of existence. Literature dates the roots of P2P back to the start of the Internet (packet routing from one computer to each other). Also file sharing is considered to be the origin of P2P (mid 1970) [13]. Nevertheless the last years focused on more sophisticated applications (especially those using positive external effects). The term “Peer-to-Peer“ became popular approx. in the years 1998 -2000 with Napster [14] and Gnutella [15] as file sharing platforms and SETI@home [16] as distributed “super computer” for the search for extraterrestrial life. The variety of P2P systems is immense and cannot be described completely in this article. Relevant approaches to Software Engineering have been done, too (e.g. [17]). In this paper, we want to mention only those aspects of Peer-to-Peer (P2P) systems that are relevant for our project. The first particular property of P2P is the contribution of resources. According to Schollmeier “in P2P systems participants share a part of their … resources” [18]. A second particular property is the servant principle. Particular to P2P systems is that each element in the system is a potential client and at the same times a potential server – in contrast to either client or server in the “classical” Internet. The third property that distinguishes P2P is the network topology. When considering the searching of
computers on the Internet, we rely on a fixed address of the computer. This is not always true for P2P systems which can have a dynamic, non-persistent topology. Therefore, P2P systems often are highly redundant to offer content and quality of service despite nonpersistence and dynamic topology. Relevant to producing highly reliable structures is the avoidance of central components that are likely to be the single points of failure and in general form a certain degree of control over the users. When providing a pure P2P system (without any central components), highly dynamic structures can be modelled. The control of centralized systems that should support a lot of others needs clear processes that otherwise retard the usability. To support large, dynamic communities with often anonymous members, it seems reasonable to use a pure P2P system. Note that virtual communities are based on similar principles. The members contribute information [19]. When thinking of a newsgroup where information is exchanged, the high redundancy of possible answering experts form the high probability of getting a reasonable answer to the question. Another aspect to be mentioned when discussing news groups is persistence of the knowledge. In general, it accounts as being good when knowledge is preserved. Considering “normal” newsgroups, this is achieved by archives that store copies of the newsgroup discussions [20]. As the newsgroups are controlled in a decentralized manner, their content is deleted from time to time. Dedicated community platforms store and organize the knowledge of a community and its interaction. The access to this knowledge and the organization of the knowledge are distinguishing features in the so-called communities of interest that are dedicated to the exchange of information [21]. Currently the well known Peer-to-Peer applications seem to focus on externalised knowledge – peer-to-peer applications are utilized to share files. In virtual communities, the platforms store externalised knowledge. A centralized server seems to be perfect to organize the community, its interaction and knowledge and to provide access to this knowledge. Peer-to-Peer seems to be an attractive paradigm for community platforms – communities would then contribute resources and content. This would free communities from the necessity of a centralized server, which could be exploited. In contradiction to P2P systems that focus on externalised knowledge, the iKnow tool aims at sharing of internalised knowledge in ad-hoc collaboration – such that software engineers have the chance to build a net of mutual support.
Iknow-Tool Channel Switch
Awareness
Status Indicator Virtual Yellow Pages
Profile n Profile 2 Choice
Profile 1
?
Question with keywords
?
ity mun Com
Figure 1: Functional overview of the iKnow tool
4. The iKnow tool The academic project iKnow ([23]) focuses on the process of providing “I”mplicit “Know”ledge “now”. iKnow has been designed and implemented within one year bachelor project of 6 students. iKnow is a P2P communication tool that supports software engineers when having a question that is best answered directly by a known or even unknown expert. Many delays in SE project work result from small unsolved questions, which could easily be answered from other people of the community. Here a tool supporting ad-hoc answering of those questions can offer great benefit to the worker’s performance. Some tools that fit to small teams are not working properly any more when used in bigger teams and communities. To mirror the demands of dynamic conditions in communities and help people to deal with these changing environments, the tool iKnow was designed and implemented. The first feature of iKnow is the search for a communication partner. As iKnow is a P2P software, searching for a communications partner only returns active peers. This results from the fact that the search is done in real time. The system does not use a central server, but broadcasts and receives messages as they are provided; hence only active peers will be listed as possible targets to be matched for communication.
Note that the basic functionality uses the JXTA P2P system functionality. So we do not have to deal with special constellations like firewalls, NAT and similar complicated environments. IKnow decides whom to list as possible expert by providing a – yet simple – ranking mechanism. When starting the tool for the first time, the user provides a list of keywords where she declares herself being an “expert”. It is crucial that each expert maintains a personal up-to-date profile of those items that she is interested in. By adding or removing items from this profile, the expert – to some degree - can adjust the content and the amount of questions that are probably routed to him. Simply exchanging a general keyword to a more special one or just deleting, will narrow the space of possible questions for which she is considered to be asked. (Similar to a common IM client, the expert can simply ignore arriving questions, of course.) This profile information is checked against a keyword list that is extracted from the actual question or by keywords that the user gives to narrow the domain for a search. Based on the matching algorithm a ranking is created (see figure 2). Note that we have chosen the ranking based on simple keyword matching rather than a ranking of information based on reputation because of the more accurate results and easier implementation. Reputation management systems need a certain base to be effectively working.
Figure 2: Screenshot from iKnow application (one expert found, 25% matched words) When the iKnow tool matures, a reputation based ranking of the experts as described in [24] or [25] can be implemented. Relevant for the success of the tool are commonly used keywords, hence a common thesaurus. A small set of relevant terms is provided with the tool, but of course this field needs further work (see Section 6 Future Work). When looking for an expert, the search is not any more based on personal preferences of the asking peer (choosing always the same ‘victim’ from the buddy list) but the expert (as target) can modify his own profile to only receive relevant questions. The profile is provided as an XML data set on the local file system and accessible by the iKnow tool. So the user can change her profile (e.g., from profile “being lazy” to profile “being busy, only very important questions allowed”) easily. The users hereby maintain the range and number of questions sent to her. The asking peer receives a list of “fitting” peers of whom he can choose to be receiver of the question. We also provided an automatic fitting algorithm (“best try” button) to directly send the query to the first best matching peers. The second feature of iKnow is the collaboration between the peers. The experts are notified that a
question has received and can decide to react to it. To answer, he can switch to the optimal tool: at the moment (end of February 2003) the chat and the file transfer are ready to use, a shared editor to work from two places on one document is running with basic functionality. Because of the modular structure of the software, other extensions could easily be integrated into the tool. In the field of SE this can be support for work with UML (case diagrams, state transitions diagrams, editors or viewers). Other fields of expertise perhaps demand for an image viewer or a graphical sketch pad (draft drawings to explain other facts). Note that the existing collaboration tools - the sending of messages (chat), the file transfer and the shared editor constitute different kinds of proximity in the network. The one looking for information and the expert are first loosely connected within the (anonymous) peer-topeer network. Then they may engage in repetitive communication (through the chat), accompany this with sharing, say, of pieces of code, and eventually collaborate in joint programming. As soon as the collaboration ends – the tight connection between the two individuals ends as well. If oral communications will better help the communications partners, the tool could assist in
establishing the connection by providing the phone number or dialling a remote control phone device. Currently, one more feature is planned, too: by providing the location of the user, the tool will be able to draw connection mappings on special topics. This can help to support community efforts like real world meetings for community building purposes. The third special feature of iKnow is the handling of anonymity and privacy. The members of the network can remain anonymous – they can choose or alter their identity in the net, as they want to. Also the answers of the experts on the question remain not to be overseen by the whole community. We hope that this has two advantages. More passive experts are motivated to contribute because they cannot see whether other experts answer a question. Second, they can be rather sure, that their answer does not provoke reaction (flame wars) within the community and also employees from companies have the chance to contribute their knowledge within such a community (in case they are not supposed to post in the official forums). Also, the ones that search for information have then the possibility to get several truly independent opinions on their problem. Of course this puts also a burden on the ones asking questions. They have to crosscheck the answers given to them and there is a possibility of receiving duplicated answers. The three particular features, (1) the way of searching for communication partners, (2) the synchronous collaboration and (3) the handling of anonymity and privacy distinguish the iKnow tool. Those features can be useful for software engineers and the match the characteristics of P2P infrastructure.
5. Related Work If considering related work on the application level, one has to consider general IM tools (like Netmeeting [26], AIM [27], ICQ [28] on the one hand and special software systems to supporting especially the process of software engineering (like e.g. MOTION [29]) on the other. There are some JXTA based projects that implement one or the other feature of existing applications like Peer Rendezvous from CMU (rebuild of an IM tool [30]), JuxtaProse (simple program to combine HTML content with discussion snippets, probably not maintained any longer, [31]), P2Pconference (existing conference support tool ported to JXTA, needs couple of persons for maintenance, [32]) and others. But the combination of expertise matching with the Peer-to-Peer paradigm in a “light weight” tool seems to be unique.
Many approaches try to offer a broad variety of functionality to the user. Especially in the field of CSCW development, integrated frameworks like e.g. Hummingbird or Groove [33] with a broad variety of functions are state of the art. These commercial and non open-source tools offer a base to implement similar tools with – partially – superior functionality to iKnow (think of built-in security) – at the cost of central maintenance and lack of ease of use. From our experience, it is likely that only a very small set of the offered functions is used, hence a limited functionality approach might be good enough. In any case one can state for today that building a community with support based on proprietary and expensive frameworks is quite unlikely. Users often take the more simple way instead of the perhaps more secure or more elegant way, as is seen at today’s use of Email. It seems to be promising to extend the reach of the iKnow tool to the mobile world to keep the community connected. This seems to be comparable to the approach, e.g., in the FieldWise [3] and the Hubbub[34] projects. We expect that existing extensions of the JXTA infrastructure (JXTA-toWWW bridge [35] and mobileJXTA [36]) will allow an easy adaptation of the existing tool basically to be reduced to the redesign of the graphical user interface (with some minor internal changes). Hence a complex redesign will be avoided. Other related works to be mentioned are algorithms and technology prototypes like Edutella [37] or Lomster [38] that, based on RDF resp. XML, offer advanced matching capabilities. Even if only shown in the domain of learning resources (explicit knowledge stored in files), the adaptation of the underlying algorithms to our profile/keyword matching seems to be beneficial for our project.
6. Future work As with the end of the winter term 2002/2003 in February, the iKnow project had be finished with the presentation of the software prototype. It provides the basic functionality but – of cause – still has some flaws. There are a variety of approaches to carry on the development of the tool. The following list presents some of them: • Extending the reach by porting the tool to mobile devices (as mentioned before), • Extending the possible functionality for the domain (like drawing of UML diagram), • Extension of the keyword matching by applying more sophisticated algorithms,
Further work also includes on the use of such tool in a real world setting (e.g. lectures in software engineering for students). One major focus of the research group is studying the community behaviour when using this or other tools. Recent research questions in business management dealt with motivation of experts to share expertise (monetary or reputation reward) [39]) or with the effect of free riding in community structures [40], to name just two. It seems obvious that several interesting research questions (like e.g. cross community usage or visualization of communications) immediately arise from the use. At this moment, it is not clear which extensions exactly will be implemented by our research group, because it has been decided that the tool will be given to the JXTA community [41] as a community project. The process of establishing this is on the way. We assume to get further support and research questions out of the discussion of the tool in that community.
7. Summary In Software Engineering often work is done in project teams. If the size of the teams is small, the knowledge and competences of the team members are likely to be known by the others and asking for advice will “automatically” connect to the best fitting person (if available) because of his personal experience. This functionality is supported well by using a commonly available Instant Messaging tool. When teams get bigger, project groups change often or for supporting complete communities of software developers, there is a need for different tools with a different interaction design. IKnow has three particular features: (1) the way of searching for communication partners, (2) the synchronous/asynchronous collaboration and (3) the handling of anonymity and privacy distinguish the iKnow tool. Those features can be useful for software engineers and match the characteristics of P2P infrastructure. Because of the underlying messaging concept, the tool is not limited to PC / Laptop devices but can also work on other platforms. In the moment iKnow only supports few communications protocols (chat, file transfer, shared editing). It has been decided that the tool will be given to the JXTA community [41] as an application project. The process of establishing this is on its way. Meanwhile it is maintained by the iKnow homepage (http://iknow.informatik.uni-bremen.de, [10]).
8. Acknowledgement We would like to thank the other members of the iKnow project group at the University of Bremen: JanChristoph Conrad, David Henkensiefken, Götz Kessemeier, and Merten Schüler. We also would like to thank the 3 anonymous reviewers for their comments.
9. References [1] Hars, A.; Ou, S.: “Working for free? - Motivations for participating in open source projects”. In: Sprague, R.H. (Ed.): Proceedings 34th HICSS Conference. Maui, 2001, pp. 7014 – 7023. [2] Project JXTA homepage, http://www.jxta.org (accessed: 2003-02-25). [3] Teasley, S., Covi, L., Krishnan, M. and Olson, J. “Rapid Software Development through Team Collocation”, IEEE Transactions ons Software Engineering, Vol. 28, No. 7, July 2002, pp. 671 – 683. [4] Teufel, S., Sauter, Ch., Mühlherr, T., and Bauknecht, K. „Computerunterstützung für die Gruppenarbeit“ (computer supported cooperated work), Addison Wesley, 1998 (in German). [5] Hobbs, R., “Concurrent Engineering Resources on the Web” URL: http://www.cc.gatech.edu/computing/SW_Eng /people/Phd/ce.html (access: 2003-02-20). [6] Fagrell, H., Forsberg, K., Sanneblad, J. “FieldWise: A Mobile Knowledge Management Architecture”, in Proceedings of the CSCW’00, Dec. 2000, Philadelphia, PA, pp. 211 – 220. [7] Wiberg, M. “Knowledge Management in mobile CSCW: Evaluation results of a mobile physical/virtual meeting support system”, in Proceedings of the 34 th Hawaii International Conference on Systems Sciences, 2001. [8] Isaacs, E., Walendowski, A, and Ranganathan, D. “Mobile Instant Messaging Through Hubbub”, Communications of the ACM, 09 / 2002, Vol. 45, No. 9, pp. 68 – 72. [9] Nonnecke, B., and Preece, J. “Why lurkers lurk”, Proceedings of 7 th Americas Conference on Information Systems (AMCIS 2001), Boston, MA, 2001, Omnipress, pp. 1521- 1531. [10] Adar, E., Huberman, B. “Free riding on Gnutella”, Technical report, Xerox PARC, Aug. 2000.
[11] Ramaswamy, L., Liu, L. “Free Riding: A New Challenge to Peer-to-Peer File Sharing Systems” in: Proceedings of the 36th HICSS Conference, Hawaii, 2003. [12] Schoberth, Thomas; Preece, Jenny; Heinzl, Armin “Online Communities: A Longitudinal Analysis of Communication Activities”, in: Proceedings of the 36th HICSS Conference, Hawaii, 2003. [13] Clark, D. “Face-to-Face with Peer-to-Peer Computing”, Computer, Jan 2001, pp. 18 - 21. [14] Shirky, C. “Listening to Napster”, in Oram, A. “Peer-toPeer: Harnessing the Benefits of a Disruptive Technology”, O’Reilly, Sebastopol, 2001, pp. 21 – 37. [15] Kahn, G. „Gnutella“ in Oram, A. “Peer-to-Peer: Harnessing the Benefits of a Disruptive Technology”, O’Reilly, Sebastopol, 2001, pp. 94 – 122. [16] Anderson, D., SETI@home, in Oram, A. “Peer-to-Peer: Harnessing the Power of Disruptive Technologies”, O’Reilly, 2001, pp. 67 – 76. [17] Balzarooti, D., Ghezzi, C. and Monga, M. “Supporting Configuration Management for Virtual Workgroups in a Peer-to-Peer Setting”, Proceedings of the SEKE 02, pp. 507511, 2002. [18] Schollmeier, R. “A Definition of Peer-to-Peer Networking towards a Delimitation Against Classical CleintServer Concepts”. In Proceedings of the EUNICE’01. [19] Timmers, P. “Business models for electronic markets”, in EM – Electronic Markets, Vol. 8, 2001, pp. 5 – 8. [20] Stanoevska-Slabeva, K., Schmid, B. “A Typology of Online Communities and Community Supporting Platforms”, in Proceedings of the 34th Annual Hawaii International Conference on System Sciences ( HICSS-34), Vol. 7, Maui, Hawaii, 2001. [21] Hummel, J. „Online-Gemeinschaften als sozioökonomisches Geschäftsmodell“. Habilitationsschrift an der Universität St. Gallen, 2003. To appear. [22] Krishnan, N. „The JXTA solution to P2P“, in JavaWorld 10/2001, at: http://www.javaworld.com/ javaworld/jw-102001/jw-1019-jxta\_p.html (2002-08-10). [23] The iKnow project homepage, at: http://iknow. informatik.uni-bremen.de (accessed: 2002-12-10). [24] Malaga, R. “Web-Based Reputation Management Systems: Problems and Suggested Solutions”, Electronic Commerce Research, 1: 403 – 417, Kluwer Academic, 2001. [25] Cornelli, F., Daminani, E., di Vimercati, S., Paraboschi, S., and Samarati, P. “Implementino a Reputation-Aware Gnutella Servent”, http://www.elet.polimi.it/Users/ DEI/Sections/CompEng/GianPietro.Picco/ntw02-p2p/papers/ (accessed: 2002-10-03).
[26] Netmeeting homepage, URL: http://www.microsoft.com/ windows/netmeeting/ (access: 2003-02-20). [27] AOL Instant Messenger homepage, www.aim.com/index.adp (access: 2003-02-20).
URL:
[28] ICQ homepage, URL: http://www.icq.com (access: 2003-02-20). [29] Kirda, E., Fenkam, P., Reif, G. and Gall, H., „A Service Architecture for Mobile Teamwork“, Proceedings of SEKE02, Ischia, Italy, ACM. [30] PeerRendezvous homepage auf JXTA.org, URL: http://angelopeerrendezvous.jxta.org/ (access: 2003-02-19) [31] JuxtaProse homepage, URL: http://juxtaprose.jxta.org/ servlets/ProjectHome (access: 2003-02-19). [32] P2PConference homepage, URL: http://p2pconference .jxta.org/servlets/ProjectHome (access: 2003-02-19). [33] Groove.net homepage, URL: http://www.groove.net (access: 2003-02-20) [34] Isaacs, E. Walendowski, A, and Ranganathan, D. “ Mobile Instant Messaging through Hubbub”, Communications of the ACM, Vol. 45, No. 9, Sept. 2002. [35] Kelly, S. “Providing JXTA from a Web Services Context”, online at URL: http://www.jxta.org/tutorials/ registryVous.html (accessed: 2003-01-27). [36] JXME: JXTA for J2ME, homepage, URL: http://jxme.jxta.org/servlets/ProjectHome (access: 2003-0218). [37] Neidl, W., Wolf, B., Qu, Ch., Decker, S., Sintek, M., Naeve, A., Nilsson, M., Palmer, M., Risch, T. „Edutella – A P2P Networking Infrastructure Based on RDF”, Proceedings of the Semantic Web Workshop, 11th Intl. WWW Conference, May 2002. [38] Ternier, St., Duval, E., Vandepitte, P., “Lomster – Peerto-Peer Learning Object Metadata”, World Conference on Educational Multimedia, Hypermedia and Telecommunications, Vol. 2002, Issue. 1, 2002, pp. 1942-1943. [39] Vassileva, J. „Motivating Participation in Peer-to-Peer Communities“, online proceedings of ESAW’02, 3rd Intl. Workshop on Engineering Societies in the Agent World, Madrid, Spain, 2001. [40] Adar, E., Huberman, B.: “Free riding on Gnutella”, Technical report, Xerox PARC, 10 Aug. 2000. online at URL: http://citeseer.nj.nec.com/adar00free.html. [41] The project JXTA – homepage / project section, http://www.jxta.org (accessed: 2002-12-05).