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



Similar documents
Classic Grid Architecture

Glossary of Terms and Acronyms for Videoconferencing

Advanced Peer to Peer Discovery and Interaction Framework

A Web Services Framework for Collaboration and Audio/Videoconferencing

CHAPTER 6. VOICE COMMUNICATION OVER HYBRID MANETs

Application Notes for Avaya IP Office 7.0 Integration with Skype Connect R2.0 Issue 1.0

Interacting the Edutella/JXTA Peer-to-Peer Network with Web Services

Transport and Network Layer

Windows Server 2003 default services

Automatic Configuration and Service Discovery for Networked Smart Devices

How To Connect To Bloomerg.Com With A Network Card From A Powerline To A Powerpoint Terminal On A Microsoft Powerbook (Powerline) On A Blackberry Or Ipnet (Powerbook) On An Ipnet Box On

Outline Introduction to Internet, Intranet and Extranet. What is an Intranet? by Awad. Basic Intranet-enabling Technology [Awad, chapter 4]

Common P2P Examples. Peer to Peer Networks. Client-Server Architecture. Uses of P2P. Napster Morpheus Gnutella Freenet BitTorrent Skype

What communication protocols are used to discover Tesira servers on a network?

GlobalSCAPE DMZ Gateway, v1. User Guide

Region 10 Videoconference Network (R10VN)

Peer-to-peer framework of Distributed Environment for Cooperative and Collaborative Work Service Composition

SIP, Security and Session Border Controllers

PDF hosted at the Radboud Repository of the Radboud University Nijmegen

SIP: NAT and FIREWALL TRAVERSAL Amit Bir Singh Department of Electrical Engineering George Washington University

SAM XFile. Trial Installation Guide Linux. Snell OD is in the process of being rebranded SAM XFile

TalkShow Advanced Network Tips

CSIS CSIS 3230 Spring Networking, its all about the apps! Apps on the Edge. Application Architectures. Pure P2P Architecture

Network Configuration Settings

MINIMUM NETWORK REQUIREMENTS 1. REQUIREMENTS SUMMARY... 1

Cisco Application Networking Manager Version 2.0

MANAGEMENT INFORMATION SYSTEMS 8/E

Internet Firewall CSIS Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS net15 1. Routers can implement packet filtering

Datagram-based network layer: forwarding; routing. Additional function of VCbased network layer: call setup.

Mobile Devices: Server and Management Lesson 05 Service Discovery

Need for Signaling and Call Control

Security. TestOut Modules

Decentralized Peer-to-Peer Network Architecture: Gnutella and Freenet

Installing Policy Patrol on a separate machine

Deploying Secure Enterprise Wide IP Videoconferencing Across Virtual Private Networks

Web Foundations Series Internet Business Associate

PQoS Parameterized Quality of Service. White Paper

Evolution of Peer-to-Peer Systems

NETWORKS AND THE INTERNET

AN APPLICATION OF INFORMATION RETRIEVAL IN P2P NETWORKS USING SOCKETS AND METADATA

Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols. Anthony J. Howe Supervisor: Dr. Mantis Cheng University of Victoria

DistriWiki: A Distributed Peer-to-Peer Wiki Network

BorderWare Firewall Server 7.1. Release Notes

Bridgit Conferencing Software: Security, Firewalls, Bandwidth and Scalability

The changing face of global data network traffic

Best Practices for Controlling Skype within the Enterprise. Whitepaper

Dissertation Title: SOCKS5-based Firewall Support For UDP-based Application. Author: Fung, King Pong

3.1 TELECOMMUNICATIONS, NETWORKS AND THE INTERNET

PowerLink Bandwidth Aggregation Redundant WAN Link and VPN Fail-Over Solutions

VIDEO CONFERENCE. Alessandro Benni & VIDEO COMMUNICATIONS. Bologna, Videorent srl - Video & Multimedia Branch

Campus Network Best Practices: Core and Edge Networks

Advertising Peer-to-Peer Networks over the Internet

Using IPM to Measure Network Performance

Implementing Intercluster Lookup Service

Module 6. Designing and Deploying External Access. MVA Jump Start

Giving life to today s media distribution services

Application Notes for Configuring Cablevision Optimum Voice SIP Trunking with Avaya IP Office - Issue 1.1

NEFSIS DEDICATED SERVER

BroadCloud PBX Customer Minimum Requirements

TELESKILL VIDEO CONFERENCE LIVE

Global Network. Whitepaper. September Page 1 of 9

Research on P2P-SIP based VoIP system enhanced by UPnP technology

Application Visibility and Monitoring >

Windows Server 2008 Essentials. Installation, Deployment and Management

Emergency Services Interconnection Forum (ESIF) Emergency Services Messaging Interface Task Force ( Task Force 34 )

Computer System Management: Hosting Servers, Miscellaneous

Niagara IT Manager s Guide

Design of a SIP Outbound Edge Proxy (EPSIP)

Service Name Startup Type Log On As. ActiveX Installer (AxInstSV) Manual Local System. Adaptive Brightness Manual Local Service

To ensure you successfully install Timico VoIP for Business you must follow the steps in sequence:

Cable Modems. Definition. Overview. Topics. 1. How Cable Modems Work

Network Projector Operation Guide

FatPipe Networks Network optimisation and link redundancy for satellite communications

First Midterm for ECE374 02/25/15 Solution!!

NAT and Firewall Traversal with STUN / TURN / ICE

MANAGING NETWORK COMPONENTS USING SNMP

2 6th December 2012 Copyright Eddie Obeng 2010 Pentacle 2011 All rights reserved

SAN Conceptual and Design Basics

Compellent Source Book

Introducing Cisco Voice and Unified Communications Administration Volume 1

An Introduction to Peer-to-Peer Networks

Variable length subnetting

Analyzing 6LoWPAN/ZigBeeIP networks with the Perytons Protocol Analyzer May, 2012

Session Initiation Protocol Deployment in Ad-Hoc Networks: a Decentralized Approach

State of New Mexico Statewide Architectural Configuration Requirements. Title: Network Security Standard S-STD Effective Date: April 7, 2005

Com.X IP PBX The complete communications solution in a box

Connect your Control Desk to the SIP world

Software evaluation criteria and terminology REPORT # : R07/0203 AUTHOR(S) : Diane Belyk & David Feist DATE : March 2002

Internet Security. Internet Security Voice over IP. Introduction. ETSF10 Internet Protocols ETSF10 Internet Protocols 2011

FRAFOS GmbH Windscheidstr. 18 Ahoi Berlin Germany

Communication Networks. MAP-TELE 2011/12 José Ruela

TRUFFLE Broadband Bonding Network Appliance. A Frequently Asked Question on. Link Bonding vs. Load Balancing

DEPLOYMENT GUIDE Version 1.1. Deploying the BIG-IP LTM v10 with Citrix Presentation Server 4.5

Transcription:

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, provide effective, secure, personalized way to search the multimedia content. 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 T HE I. INTRODUCTION 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 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. An example is transmission of video content file. Let us

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. 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 peerto-peer system that is platform independent and provides true interoperability. A. Architecture of JXTA protocol 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-topeer 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 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-topeer system. At the top is the layer of applications (our P2PEOPLE platform). JXTA Applications JXTA Services JXTA core JXTA Applications JXTA Services Peer Groups Peer Pipes Security Any Peer Indexing Searching File Sharing Figure 3 peer-to-peer JXTA architecture Sun JXTA applications Peer Monitoring 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

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 realtime 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 To implement the services that provide effective, secure,

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.

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. 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. 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 [7] Open source of p2people project: http://p2people.sourceforge.net/ 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.