26
1 A P2P A P2P Collaborative Collaborative System Using JXTA System Using JXTA Hosei Graduation S chool ITPC 02R3315 Katsuhiro CHIBA

A P2P Collaborative System Using JXTA

  • Upload
    huong

  • View
    30

  • Download
    2

Embed Size (px)

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

Page 1: A P2P Collaborative System Using JXTA

1

A P2P Collaborative A P2P Collaborative System Using JXTASystem Using JXTA

Hosei Graduation SchoolITPC 02R3315

Katsuhiro CHIBA

Page 2: A P2P Collaborative System Using JXTA

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.

Page 3: A P2P Collaborative System Using JXTA

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

Page 4: A P2P Collaborative System Using JXTA

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.

Page 5: A P2P Collaborative System Using JXTA

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

Page 6: A P2P Collaborative System Using JXTA

6

Browser for CollaborationBrowser for Collaboration Screen Image

Page 7: A P2P Collaborative System Using JXTA

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

Page 8: A P2P Collaborative System Using JXTA

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.

Page 9: A P2P Collaborative System Using JXTA

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)

Page 10: A P2P Collaborative System Using JXTA

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.

Page 11: A P2P Collaborative System Using JXTA

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

Page 12: A P2P Collaborative System Using JXTA

12

JXTA (2)JXTA (2)

Peer group Advertisement Message

JXTA concepts Peer Service Pipe

Page 13: A P2P Collaborative System Using JXTA

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.

Page 14: A P2P Collaborative System Using JXTA

14

ServiceService

Discovery service Membership service

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

(send generic query requests) Monitoring service

Page 15: A P2P Collaborative System Using JXTA

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

Page 16: A P2P Collaborative System Using JXTA

16

Discover AnimationDiscover Animation

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

Page 17: A P2P Collaborative System Using JXTA

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.

Page 18: A P2P Collaborative System Using JXTA

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

Page 19: A P2P Collaborative System Using JXTA

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)

Page 20: A P2P Collaborative System Using JXTA

20

Overview of Collaborative SystemOverview of Collaborative SystemGroup Management

Chat Management

Shared View Management

Page 21: A P2P Collaborative System Using JXTA

21

Group ManagementGroup ManagementPeer name

Group name

Peer list

Group listMake group button

Join group button

Leave group button

System exit button

Page 22: A P2P Collaborative System Using JXTA

22

Shared View ManagementShared View ManagementURL field

Browser Panel

Browser Button Share Button

Scroll Bar

Page 23: A P2P Collaborative System Using JXTA

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

Page 24: A P2P Collaborative System Using JXTA

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

Page 25: A P2P Collaborative System Using JXTA

25

Current Work FinishedCurrent Work Finished

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

Page 26: A P2P Collaborative System Using JXTA

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