A P2P Collaborative System Using JXTA

Preview:

DESCRIPTION

A P2P Collaborative System Using JXTA. Hosei Graduation School ITPC 02R3315 Katsuhiro CHIBA. Background. In latest years, Peer to Peer (P2P) technologies have great influences on people. - PowerPoint PPT Presentation

Citation preview

1

A P2P Collaborative A P2P Collaborative System Using JXTASystem Using JXTA

Hosei Graduation SchoolITPC 02R3315

Katsuhiro CHIBA

2

BackgroundBackground

In latest years, Peer to Peer (P2P) technologies have great influences on people.

With the appearance of Napster, Gnutella and so on P2P applications grew very popular. The initial goal of P2P was file sharing.

But, nowadays, we can see new P2P applications for other purposes, such as groupware, distributed computing, and collaboration on the Internet.

3

Objective of ResearchObjective of Research

Development and implementation of a P2P collaborative system with following features: Sharing web information and browser’s actions with

multiple users. Sharing view of text and image files with multiple users. Supporting collaborative work with groups on the Internet,

regardless of network configuration (firewalls and NAT*). Keywords

Peer to peer network JXTA Collaboration on the Internet

*NAT :Network Address Translation

4

What is Collaboration?What is Collaboration?

In recent years, the collaboration work style has permeated. A collaboration is the way a group of people do work together over the wall of a company or a section.

By practical use of P2P technology, people cooperate in the business by gathering in a virtual group exceeding the gap of time or distance.

Furthermore, JXTA enables us to collaborate on the Internet, regardless network of composition and hierarchy.

5

Why Peer to Peer?Why Peer to Peer?

Merits Decentralization Robustness Cost reduction Scalability Resource Sharing

Demerits Uneasy of security Maintenance of network composition

6

Browser for CollaborationBrowser for Collaboration Screen Image

7

Functions of Collaborative SystemFunctions of Collaborative System

Shared browser’s view (WYSWIS) Shared navigation

(URL field, hyperlink clicks, scrollbar movements) Shared text and picture files, etc. Real-time communication (chat & messenger) Synchronized drawing pad

8

Client / Server ArchitectureClient / Server Architecture

Nowadays, most systems are based on the client/server architecture.

Because resources and management authority are concentrating on a server, management is very easy.

At the same time, server make it difficult that clients work freely.

9

Peer to Peer Architecture (1)Peer to Peer Architecture (1)

Peer to Peer architecturearchitecture consists of computers/devices with equal capabilities that share resource, communicate exclusively with each other and don’t rely on a server or central database for exchanging information and sharing resource.

Representative systems Napster, Gnutella (file sharing) Groove, BadBlue (groupware) SETI@HOME (distributed computing) Kontiki (contents distribution) ICQ, AOL Messenger (messenger)

10

Peer to Peer Architecture (2)Peer to Peer Architecture (2)

Hybrid P2P Architecture A central server authenticates all

users. A peers serve as search hubs which catalog the files of peers connected to them. Then, the server responds with results that allow direct connections for file transfer.

Pure P2P Architecture Pure P2P does not have any

central servers. There is no authentication, and peers search for resource via a distributed-search mechanism.

11

JXTA (1)JXTA (1)

JXTA is a set of open, generalized peer-to-peer protocols that allow any connected devices on the network to communicate and collaborate as peers, with following main features:

Interoperability Platform independence Ubiquity

12

JXTA (2)JXTA (2)

Peer group Advertisement Message

JXTA concepts Peer Service Pipe

13

Peers & Peer GroupsPeers & Peer Groups

Peers Each peer operates independently and asynchronously from

all other peers, and is uniquely identified by its peer ID. Peers voluntarily discover each other on the network to

form transient or persistent relationships called peer groups.

Peer Groups A peer group is a collection of peers that have agreed upon

a common set of services. Each peer group can establish its own membership policy

from open to highly secure and protected.

14

ServiceService

Discovery service Membership service

(join, leave, making group) Access service Pipe service Resolver service

(send generic query requests) Monitoring service

15

AdvertisementAdvertisement All JXTA network

resources are represented by advertisements.

Advertisements are metadata structures represented as XML documents.

The JXTA protocols define the following advertisement types. Peer Advertisement Peer Group Advertisement Pipe Advertisement Module Advertisement

<?xml version="1.0"?><!DOCTYPEjxta:PipeAdvertisement>

<jxta:PipeAdvertisement xmlns:jxta="http://jxta.org"><Id>urn:jxta:uuid-DD6DDF43EB9044A5B8BC9725ECD3EA7448B8BBCFDDC84F5E868E9DB02F646AD204</Id><Type>

JxtaPropagate</Type><Name>

yamada</Name>

</jxta:PipeAdvertisement>

Ex. pipe advertisement

16

Discover AnimationDiscover Animation

http://platform.jxta.org/servlets/ProjectHome

17

Pipe (1)Pipe (1)

Pipes are asynchronous and unidirectional message transfer mechanisms used for service communications.

Pipes are indiscriminate; they support the transfer of any object, including binary code, data string, and Java technology-based objects.

The pipe endpoints are referred to as the input pipe and the output pipe.

18

Pipe (2)Pipe (2)

Point-to-point Pipe A point-to-point pipe connects

exactly two pipe endpoints together.

Propagate Pipe A propagate pipe connects one

output pipe to multiple input pipes.

All propagations are done within the scope of a peer group.

A

B

C

D

Input pipe Output pipe

Peer A Peer BMessage

19

MessageMessage

A message is the basic unit of data exchange between JXTA peers.

A message is an ordered sequence of named and typed contents called message elements.

There are two representations for messages; XML (many different kinds of protocols) Binary (J2SE platform)

20

Overview of Collaborative SystemOverview of Collaborative SystemGroup Management

Chat Management

Shared View Management

21

Group ManagementGroup ManagementPeer name

Group name

Peer list

Group listMake group button

Join group button

Leave group button

System exit button

22

Shared View ManagementShared View ManagementURL field

Browser Panel

Browser Button Share Button

Scroll Bar

23

Communication ManagementCommunication Management

Group chat among all peers in a group

One-to-one chat Between any two peers in a group

Send Button

Output Area

Input Field

One-to-one chat

24

SummarySummary

Features This system uses the pure P2P architecture rather than else.

It enables us to share information and communicate with others, regardless of network configuration and hierarchy. Finally, it helps us to collaborate on the Internet.

Potential applications E-education Tele-presentation on the Internet Virtual meeting on the Internet Flexible information sharing Co-navigation on the Internet

25

Current Work FinishedCurrent Work Finished

Basic group management Shared browser Group chat One-to-one chat Pipe across firewalls & NAT via HTTP

26

Future WorkFuture Work

Short term (by next March) Sharing files (text, image, pdf, mp3) Improving communication reliability Enhancing group management Effective memory usage Free drawing pad

Long term Voice/video communication based on Java & JMF Record additional drawing on text & image file Network security

Recommended