• No results found

Peer to Peer Search Engine and Collaboration Platform Based on JXTA Protocol

N/A
N/A
Protected

Academic year: 2021

Share "Peer to Peer Search Engine and Collaboration Platform Based on JXTA Protocol"

Copied!
5
0
0

Loading.... (view fulltext now)

Full text

(1)

Peer to Peer Search Engine and Collaboration

Platform Based on JXTA Protocol

Andraž Jere, Marko Meža, Boštjan Marušič, Štefan Dobravec, Tomaž Finkšt, Jurij F. Tasič Faculty of Electrical Engineering

Tržaška 25, Ljubljana Slovenia

andraz.jere@ ldos.fe.uni-lj.si,

Abstract— In this paper we are going to present the architecture of peer-to-peer collaborative framework. The peer-to-peer technologies used in this research are based on java implementation of JXTA protocol. The communication services that are implemented on presented peer-to-peer network do not depend on centralized servers and are therefore immune to server infrastructure faults. Moreover an advantage of the presented approach is the ability to seamlessly establish communication through firewalls and proxy servers (e.g. NAT server).

Index Terms—peer-to-peer network, protocol JXTA, decentralized communication

I. INTRODUCTION

T

HE growth of information available in internet

network has reached the point, where no one can comprehend or manage all the information available, even with sophisticated search engines it is possible to get irrelevant information as a result of search. Services like DNS have created centralized dependencies and constrained the Internet’s growth. Firewalls and NAT servers are creating partitioned domains that restrict the flow of information with the network, and are creating complex network topologies. A more decentralized and self-adapting computing has been proposed for addressing many of mentioned limitations and have taken advantage of the increasing bandwidth, processing, and storage available on devices connected at the edge of the Internet. These decentralized systems present environment where members propagate and share information in a decentralized, self-organized and open manner. The communication in such networks consists of direct peer-to-peer interactions without mediating servers.

In this paper we propose the architecture of decentralized peer-to-peer network and the implementation of communication services that are running on decentralized way. We implemented communication services such as videoconferencing service, mail service, chat service, whiteboard service, file transfer service, file sharing service and screen sharing service, payment service, and services that

provide effective, secure, personalized way to search the multimedia content.

II. BASIC IDEA OF PEER TO PEER COMMUNICATION Peer to peer networks are bringing in the relatively new concept of the network organization. Each peer is an equivalent partner in the network. The new concept does not rely on client - server network topology any more. Client server topology is common for the majority of the applications we are used to use today (see Figure 1). The new concept is based on an assumption, that all communication nodes within the network are equivalent. Each node can act, based on the requirements either as server or as client (see Figure 2).

In peer to peer network there is no central node, therefore networks using this topology are much more resistant to failures of network, sub elements such as network nodes and especially server nodes, because there are none of them present in the system.

Figure 1- “Old”, centralized, server client topology

One of major advantages of peer-to-peer networks over centralized network is, besides of network stability, load distribution. The main load in the centralized network topology is loading the centralized node. This means, that in system with a lot of users this node must be designed in such a way that it is capable of handling such enormous load. In centralized system, traffic is often multiplied over same connection, since many clients are being served by the same content. This network loading is, by common sense unnecessary. In peer-to-peer networks the content and services are distributed among the whole network and when two peers from the same network subsection require the same content, it must be transferred only once.

(2)

predict, that someone downloads the content to his hard drive. The person, who downloaded that content, shares it, and makes it available for the other users. When other user, that is close to the current holder of the content requires that content, the content is the downloaded from the peer that is close to him. So the network load is more distributed along the whole network.

Figure 2 - Peer to peer network topology

Since there is much cheaper to equip every node with weaker equipment and network connections, than to build one super node with super server that can handle all the requests, we can either save money with new network topology offering the same as much more expensive system, or we can, for the same price build a system, that is better. Of course there are services that still requires centralized network topology. But distributed network is suitable for solving many problems much more elegantly.

Trade-off for peer-to-peer system to function as wanted is sharing resources of each peer. These resources are disk storage, processing power and network bandwidth. For exchange of resource sharing when not needed, peers can access and allocate other peers resources when needed. It is known fact, that majority of resources in our systems are being unused for the most of the time. They are present only for cowering peak loads. These resources can be shared for other users when not needed. But when some peer has a peak load, than it is possible to obtain help from other peers and their resources and solve problem more efficient and faster. There are many issues still existing in peer-to-peer networks. The main issue is generation of traffic and resources loading only by tasks that are necessary for the system to work. Since peers cannot know where other peers are or what services and content they poses, it is therefore necessary to constantly generate queries over whole network. Searching in peer-to-peer organized networks also generates more traffic and is much more difficult to implement than searching in centralized organized networks.

There are services, that still require centralized network topology, but many problems can be solved much more efficiently by using peer-to-peer network topology.

III. JXTA PROTOCOL

JXTA technology presents network programming and

computing platform that provides solutions in modern distributed computing, especially in the area of peer-to-peer computing, or peer-to-peer networking. Peer to peer technologies can adopt a network-based computing style that neither excludes nor depend on centralized control points. This approach that JXTA protocol supports, can enhance overall reliability and fault-tolerance of system and improves the performance of information discovery, content delivery and information processing.

The main objective of JXTA protocol is to provide peer-to-peer system that is platform independent and provides true interoperability.

A. Architecture of JXTA protocol

JXTA technology has been open sourced and as such, is still evolving. A typical peer-to-peer application breaks roughly into three layers (as shown on Figure 3). At bottom, core layer deals with peer establishment, communication management such as routing, and other low level operations. In the middle, a service layer handles higher-level concepts, such as indexing, searching and file sharing. These services, which make heavy use of all features provided by the core, are commonly included as components in overall peer-to-peer system. At the top is the layer of applications (our P2PEOPLE platform). Any Peer JXTA Applications JXTA Services Security Indexing Searching File Sharing Sun JXTA applications Peer Monitoring Peer Pipes Peer Groups JXTA core JXTA Services JXTA Applications

Figure 3– peer-to-peer JXTA architecture

JXTA technology is designed to provide a layer on top of which services and applications are built.

B. JXTA Technology Concepts

JXTA technology provides a set of protocols that enables peer-to-peer communication. Each protocol is defined by one or more messages that are exchanged among participants in the protocol. JXTA technology concept is similar to TCP/IP protocol, which links Internet nodes together, while JXTA technology connects peer nodes with each other. JXTA defines the following six protocols:

- Peer Discovery Protocol: enables a peer to find advertisement on other peer,

- Peer Resolver Protocol: enables a peer to send and receive generic queries to search for peers, peer

(3)

groups and pipes,

- Peer Information Protocol: allows a peer to learn about the capabilities and status of other peers,

- Peer Membership Protocol: allows a peer to obtain group membership requirements, to apply for membership and receive membership credential along with a full group advertisement,

- Pipe Binding Protocol: allows a peer to bind a pipe advertisement to a pipe endpoint,

- Endpoint Routing Protocol: allows a peer to ask a peer router for available routers for sending a message to a destination peer,

The JXTA technology defines number of elements that are used by mentioned protocols. These elements are:

- Identifiers: 128-bit datum to refer an entity (a peer, an advertisement, a service, etc),

- Advertisements: XML structured document that names, describes, and publishes the existence of a resource such as a peer, a peer group, a pipe or a service,

- Peers: is any entity that can understand the protocols required of a peer,

- Messages:

- Peer groups: collection of cooperating peers providing a common set of services

- Pipes are communication channels for sending and receiving messages and they are asynchronous.

IV. PEER TO PEER TEST ENVIORMENT AND ARCHITECTURE OF THE SYSTEM

A. Introduction

In P2PEOPLE project we research and develop a peer to peer collaborative services with prototype application to allow people to form “common interest groups” that provide those group members with new ways to communicate, collaborate and make business together. Our work focuses on people, so we provided the mechanisms that connect the users that share a “common interest” and are easily found together.

To fulfill this objective we had to solve the following problems:

- The system provides a way to allow a user to publish information about his profile as a description of his interests and the way to communicate with others users,

- The information of the user profile has to be kept in the local user computer rather than in central server to ensure higher degree of privacy,

- The system has to offer the user enough security and provide him with tools to filter and stop non desired messages,

- The system does not require the user’s initiative to

search compatible peers, instead the system search and negotiate peer relationship based on the rules defined in the user profile.

B. Description of peer to peer collaborative framework

Figure 4 - P2People test platform – videoconferencing service

P2People framework aims at providing a set of essential integrated services that provides to peer-to-peer users the ways to collaborate in a new business / cooperation processes. These services are:

- A presence service, that provide information on

which of the existing users in the P2P network are currently online

- A messaging (mail) service, that 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

(4)

personalized way to search the multimedia content we have to implement 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 are 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 agents 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 receives 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 have three

graphic user applications. The main one is User

Communication Manager Application. The user

uses this application for all interactions with P2PEOPLE users. It has 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. The collaborative service 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 also includes interface for e-business layer. The second application is the Profile Manager Application. It allows the user to define profiles, actions and rules in a simple way. It also provides 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.

V. IMPLEMENTATION OF THE COLLABORATIVE SERVICES

A. File transfer service

Service transfers file given by filename and path from one peer to the given one.

When the platform is started service creates input pipe and starts listening to the incoming events on that pipe. Service also publishes that pipe. When source peer wants to send a file to another peer, it searches for the incoming pipe advertisement of the target peer. When it discovers it, it creates output pipe based on this advertisement. Source peer than sends transfer initiation message to the target peer and starts transfer file thread. Transfer initiation message consists of the advertisement for bi-directional pipe, created and connected at the process of transfer initiation. It also contains filename of the file to be transferred. When target peer receives transfer initiation message it asks user if he want to accept the file. If the answer is positive and after user chooses the target folder it starts the thread, which creates and connects bi-directional pipe based on received advertisement. Threads on both sides than transfer the file via bi-directional pipe. Sender sends chunks of file equipped with serial numbers and CRC 32 control block. Receiver receives these chunks checks their integrity writes them to a file and acknowledges correct reception. If wrong chunk arrives receiver requests last known required block. GUI of the service can be seen on Figure 5.

(5)

Figure 5 – GUI of the file transfer service

B. Screen sharing service

This service enables user to share its screen by other user of the system. Both users can work with the desktop simultaneously. It enables user to remote control another computer.

Communication initiation procedure is weary similar to the procedure described in the file transfer service.

The service captures the screen of the remotely controlled computer, compresses the image as jpeg and sends it to the other peer. That peer than decompresses the image and shows it inside a window. It than captures all mouse and keyboard events within this window, timestamps them and sends them to the other peer. Thanks to the timestamps, other peer regenerates received events in same peace and order as they were captured. Than the screen capture is generated again and sent.

Only peer that will be controlled can initiate remote control session. Other peer can than accept given control or rejects it.

C. Video service

Video service enables communication between two users (two peers). In the video service the peer-to-peer network is used to find the user that we want to establish videoconference with. In the GUI all users that are active in the corresponding peer group are visible and the user can require the video communication with them. When we choose the user with whom we want to communicate, the system provides to both sides of the communication the information of IP address and port number, which is needed to start video/audio transmission and video/audio reception. All control messages (e.g. starting and stopping the video service) that are necessary in video/audio communication are transferred through JXTA based pipes.

We implemented also interface that allows setting up the parameters of video and audio coding. Video and audio transmission and coding are implemented by java media framework.

VI. CONCLUSION

In this paper we showed the benefits of peer to peer networking. We examined and tested communication applications that are working on decentralized peer-to-peer network (JXTA). Our peer-to-peer testing platform with all mentioned services represents very good environment for testing the behavior of data flows and management of true peer-to-peer systems. Our future work will mainly focus on testing this application in real environment.

ACKNOWLEDGMENT

The authors would like to thank to all members of the P2People Consortium for their cooperation. This includes the teams at Universidad Católica San Antonio de Murcia, Centre for Research and Technology Hellas and Quality Objects S.L .

REFERENCES

[1] B. Traversat, M. Abdelaziz: "Project JXTA Virtual Network", Sun

Microsystems, Inc, www.jxta.org, 2001

[2] Li Gong: "JXTA: "A Network Programming Environment", IEEE

Internet Computing, 2001

[3] Steve Waterhouse: "JXTA Search: Distributed Search for Distributed Networks, Sun Microsystems, Inc., 2001

[4] The JXTA project web page, http://www.jxta.org

[5] Brendon Wilson: JXTA,

http://brendonwilson.com/projects/jxta/pdf/jxta.pdf

[6] P2people project homapage, www.p2people.org

References

Related documents

sizes and colours / formats et couleurs / formaten und farben / formatos y colores. bianco

Prognosis has improved dramatically in recent years with improved anaesthesia, surgical and cardiopulmonary bypass techniques and postoperative intensive care. Long-term

แหลงขอมูลราคา ราคาน้ํามันดิบ และ ราคาน้ํามันดิบลวงหนาในตางประเทศ

18 In the CTA model, extreme Type B undergraduates are substantially more likely (3:1 odds) than extreme Type As to score at lowest levels on the anticipation dimension

Examining these elements helps identify two distinct processes in the transformation of representations of the local population, both linked to political interests

To obtain Crop evapotranspiration using lysimeters apo tr ans p ir ati o n (mm) Berry set Veraison Lysimeters average Season 1.. To obtain Crop evapotranspiration using lysimeters

What are the perspective and experiences of service and support administrators regarding the use of the person-centered approach to develop individual service plans, to address

Si es verdad que deviene existente todo y solo el de- recho producido en las formas por él mismo establecidas, entonces, la existencia (o el vigor) de las normas se separa también