P2P "Common Interests" Search Engine and Collaboration PlatformEuropean IST 5th Framework programme
The objective of the P2People project is to research & develop a P2P collaborative framework and a prototype application to allow people to form "common interest" groups and provide those groups members with new ways to communicate, collaborate and make business together. While most innovative efforts focus on computer resources groups, P2People focuses on people. When group formation brings people together, new modes of collaboration are requested. The P2People approach to explore these issues is based on the concept of the "common interest group". A common interest group is a virtual community of users who share common interests, knowledge areas, business etc. Potential users of P2People may vary from Universities and Science groups, professionals, non profit organizations, file sharing enthusiastic people, fans groups, big and small corporations, etc.
The objective of the P2PEOPLE project is to research & develop a P2P collaborative framework and a prototype application to allow people to form “common interest groups” and provide those group members with new ways to communicate, collaborate and make business together.
The P2People project aims at providing a set of essential integrated services that provides to peer-2-peer users the ways to collaborate in a new business / cooperation processes:
- A presence service, that will provide information on which of the existing users in the P2P network are currently online.
- A messaging (mail) service, that will allow for synchronous/asynchronous text and multimedia message exchange between users of the P2People platform.
- A chat service, that will allow users to join virtual chat rooms in which they can participate in a conference-like textual message exchange.
- A File Sharing service, that will provide file transfer functionality in the peer-to-peer network
- A screen sharing service, that will allow users to make visible part of their display to remote users in the peer-to-peer network.
- A voice communication service which will telephone functionality in the peer-to-peer environment.
- A video communication service, that will allow real-time video transmission and videoconferencing functionality in the peer-to-peer environment.
- A Payment service, that will allow users to perform secure micro payments in order to pay for services that other users might be offering in the peer-to-peer network.
While most innovation efforts in P2P focus on computer resources and file sharing, P2PEOPLE focus on people. So the objective is to research a mechanism to allow users find other users to group with, based on the idea that both share a “common interest”.
To fulfill the objectives the following problems need to be solved:
- Provide a way to allow a user to publish information about his profile as a description of his interests and the way to communicate with other users.
- To keep that information in the local user computer rather than in central server to ensure a higher degree of privacy.
- To offer the user enough security and provide him with tools to filter and stop non desired messages.
- Provide the technology to create and manage all queries and negotiations between peer in a user transparent way. The system will not require the user initiative to search compatible peers, instead the system will search and negotiate peer relationships based on the rules defined in the user profile.
This objective will be reached through the develop of at least the following components:
- Profile Manager. To allow user to define its personal profile, including interest description, rules or actions to execute, collaborative channels to use and business objectives. It also includes profile storage (in XML) and management components, semantic engines and other components related to profiles analysis.
- Security layer. The basic layer to ensure security in all communication between peers. Security mechanisms from jxta will be used.
- Search Agent. This autonomous agent works on the Search Engine layer. Instead of trying to match a profile with another at a central server, the search agent communicates with other P2PEOPLE peer Agents (Server Agents) available on the network and communicate with them in order to find a match between users interests. Once a match is found, a group or cluster is formed or grown (at both peers). One P2PEOPLE user is a potential member of many clusters, depending on the user interests.
- Server Agent. It works on the Search Engine layer. It is the counterpart of the search agent in the communication. Server agents are always listening for requests from search agents. They also act as routers to other server agents to which they have reference, routing queries to these agents.
- Rules & Negotiation Agent. This autonomous agent is called from the Server Agent and the Search Agent. Once both agents contact each other and find a common interest, they both authorize their own peer Rules Agent to start negotiation. Until now the communication is anonymous. The user can define for each interest a set of actions to perform. The Rules Agent executes those actions. Only depending on the actions type, the agent will give user information to the other peer agent. These actions can be from introducing each other user, with an e-mail, negotiate a communication channel like open a voice or video session, or negotiate a buy of a product or service, or automatically open a file share session to reach a desired song or game.
- Message Filter. The user will receive messages from two sources; other peers or their own P2PEOPLE application. Filters allow the user to receive or not messages from others on the basis of someone's particular identity. Filters are also used to decide the messages from its own P2PEOPLE application that the user wants to attend.
- Reputation Filter. All peer communications include reputation messages. You can make statements about yourself, and others can sign those statements if they have reason to believe them. Third parties can use these statements to evaluate your reputation and you can do the same when looking at other people's reputations. The reputation filter allows the user stop messages from not “good reputation” peers and keep them off common interest clusters.
- Graphic User Interface. P2PEOPLE will have three graphic user applications. The main one is User Communication Manager Application. The user will use this application for all interactions with P2PEOPLE users. It will have menus and lists of events and messages, options to start collaborative channels etc. This application is also the main window for the user interface of the collaborative channels. Once a new collaborative application is developed, it will be plugged in the User Communication Manager graphic application. This will be not only for the already existing channels but also for future ones. The main application will also include interface for e-business layer. The second application is the Profile Manager Application. It will allow the user to define profiles, actions and rules in a simple way. It will also provide advanced options for advanced users. The third application is the Filter Builder Application. With this application the user will set up filters for his/her own P2PEOPLE peer and for other peer messages.
The following figure depicts the P2PEOPLE architecture:
In conclusion, within the P2PEOPLE project the following software components will be developed:
- P2P collaborative framework. Open Source Free API including the following
- Security layer
- Common Interest Search Engine.
- Profile Manager
- Search Agent
- Server Agent
- Rules & Negotiation Agent
- Message Filter
- Reputation Filter
- API technical documentation
- Plug-in services. Open Source Free. Built over P2People API and integrated
with user applications:
- Presence service
- Messaging (mail) service
- Chat service
- File Sharing service
- Screen sharing service
- Voice communication service
- Video communication service
- Payment service
- Services technical documentation
- User applications. Open Source Free Applications including:
- User Communication Manager Application
- Profile Manager Application
- Filter Builder Application
- User Manual
- Centre for Research and Technology Hellas / Informatics and Telematics Institute
- Quality Objects S.L
- The Faculty of Electrical Engineering of the University of Ljubljana
- Universidad Católica San Antonio de Murcia