Dissertation City University of Hong Kong Department of Computer Science

advertisement
City University of Hong Kong
Department of Computer Science
Dissertation
Study of Collaboration Service on Peer-to-peer Network
Student Name
Student ID
Supervisor
: Lo Siu Hang, Terence
: 97471626
: Dr. CHUN, Andy H W
-= Table of Contents =Abstract............................................................................................................. 1
Acknowledgment.............................................................................................. 2
List of Figures................................................................................................... 3
1.
Introduction .............................................................................................. 4
2.
Objectives ................................................................................................. 6
3.
Background and history .......................................................................... 7
3.1 Demand on increasing interactions between entities ................................ 8
3.2 Widespread of wireless networks and mobile devices .............................. 9
3.3 History of Peer-to-peer model................................................................. 10
3.4 SETI@Home (Peer-to-peer computing).................................................. 11
3.5 Napster (Peer-to-peer file sharing) ......................................................... 13
3.6 BitTorrent (Peer-to-peer file sharing) ...................................................... 15
4.
Peer-to-peer protocol............................................................................. 17
4.2 What is Project JXTA ? ........................................................................... 17
4.3 Why choose Project JXTA ? ................................................................... 18
4.4 Project JXTA architecture ....................................................................... 20
4.5 Protocols in Project JXTA ....................................................................... 21
5.
Design and Implementation – Workspace model ................................ 23
5.1 System Design........................................................................................ 24
5.2 Development Environment...................................................................... 32
5.3 The Application – Group Communication System .................................. 33
5.4 Core Java Class Description................................................................... 37
5.5 Application Specific Java Class Description ........................................... 47
5.6 Installation and running the application................................................... 50
5.7 Screen Capture of the Application .......................................................... 54
5.8 JXTA Configuration................................................................................. 59
5.9 Difficulties experienced in design and deployment ................................. 65
6.
Conclusion.............................................................................................. 68
6.1 Contributions........................................................................................... 68
6.2 Evaluation and future development ........................................................ 70
7.
Reference ................................................................................................ 71
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Abstract
Traditional peer-to-peer (P2P) networks have widespread on the Internet
because of its fault-tolerable, decentralized, scalable and high availability
architecture. However, P2P networks face some serious challenges and a
demand on more collaboration between peers. This project addresses two
major problems facing in P2P networks, efficient resource location and peer
group formation mechanism.
A workspace model is proposed for P2P
networks. The model is a hierarchical model and peers on the network
organized themselves into a hierarchical tree structure. All peers on the
network connect to a super peer. These super peers provide messaging
relaying and membership services for the workspaces. The project also
proposes a resource location mechanism to improve the searching ability of
the system.
Page 1
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Acknowledgment
I would like to take this opportunity to thank all people who given me support
during the project.
Firstly, I would like to express my gratitude to my project supervisor, Dr. Andy
Chun, for his valuable advices and providing me an open ground to have my
own research direction throughout the project.
My gratefulness is acknowledged to all technicians who participated in system
setting, for their assistance in configuring out networking problems.
At last, I would like to thank my wife and parents for their support.
Page 2
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
List of Figures
Fig. 1 Screen capture of SETI@Home ..............................................................11
Fig. 2 Screen capture of user interface of Kazaa ............................................. 13
Fig. 3 Screen capture of a client of BitTorrent................................................... 15
Fig. 4 Architecture of JXTA Virtual Network ...................................................... 18
Fig. 5 Project JXTA Architecture ....................................................................... 20
Fig. 6 P2P Model .............................................................................................. 24
Fig. 7 Hybrid Model .......................................................................................... 25
Fig. 8 Hierarchical Tree Structure ..................................................................... 26
Fig. 9 Rendezvous peers in action ................................................................... 30
Fig. 10 Relay peers in action ............................................................................ 31
Fig. 11 Interaction of “peers” in an enterprise ................................................... 34
Fig. 12 Peers on different workspaces ............................................................. 36
Fig. 13 Operation scope of Discovery Service.................................................. 39
Fig. 14 Operation scope of Event Service ........................................................ 41
Fig. 15 Search mechanism – with super peer present ..................................... 45
Fig. 16 Search mechanism – peer multicasting................................................ 46
Fig. 17 Hierarchical structure in group communication service (Workspace
perspective)............................................................................................... 49
Fig. 18 Loading screen when initializing JXTA and core engine ....................... 54
Fig. 19a User Interface of the application ......................................................... 55
Fig. 19b User Interface of the application ......................................................... 56
Fig. 20 Dialogue box for creating new workspace ............................................ 57
Fig. 21 Workspace information ......................................................................... 57
Fig. 22 Dialogue box for joining a workspace ................................................... 58
Fig. 23 Error prompt when user attempts to leave the global workspace ......... 58
Fig. 24 Screen capture of “Basic” tab ............................................................... 60
Fig. 25 Screen capture of “Advanced” tab ........................................................ 61
Fig. 26 Screen capture of “Rendezvous/Relays” tab ........................................ 62
Fig. 27 Screen capture of “Security” tab ........................................................... 64
Fig. 28 Screen capture of JXTA Secure Login.................................................. 64
Fig. 29 Physical network diagram with different sub-network setting................ 67
Page 3
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
1. Introduction
On the Internet, there are varieties of information distributed in an
unorganized way. The Semantic Web [1] provides a common framework for
data sharing based on Resource Description Framework, which makes
location of specific type resources easier. Another kind of resource locating
method is forming peer groups with similar interests and shares their
resources.
Peer-to-peer (P2P) architecture are commonly used on the internet,
applications like ICQ, Napster, Yahoo Messenger enables user friendly and
convenient way for communication and information sharing between
different peers over the world.
In real world, peers are not only
communicating themselves in one-to-one basis, the current P2P system
lacks the ability in supporting group services, such as group messaging,
conferencing. Usually, such kind of collaboration requires efficient resource
location and searching since every request or response from a peer in a
group will trigger actions in one or more peers in the same group. Some
P2P networks like Gnutella, it uses message flooding mechanism in
Page 4
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
broadcasting messages, such group activities will introduce heavy loading to
the network
Page 5
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
2. Objectives
The goal of this project is to design a model for P2P network to provide
efficient resource location and group formation ability.
The workspace
model proposed is a hierarchical model, edge peers arranged in a tree
structure. The problem to be addressed in the project is to organize peer
groups and form a virtual workspace over a P2P network and provides
efficient search mechanism for peers to find and join a particular workspace.
Page 6
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
3. Background and history
The internet connects millions of devices and the number is still growing
rapidly. To locate a device on the internet, internet address is used. In peerto-peer network, an identifier would be assigned to a device, unlike internet
address, which may change upon reconnect after disconnection. As peerto-peer model is still under development, different vendors and solution
provide implements their own “standard”, there are many implementation
and proprietary protocols and topology. This phenomenon indicates the
need of peer-to-peer system is high.
Page 7
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
3.1 Demand on increasing interactions between entities
In late 1980’s, computerization was the main trend that large enterprises
used to improve their staffs’ efficiency and reduce operation costs. More
and more corporations got computerized and setup local area networks for
data sharing. In late 1990’s, by making use of internet technologies, intranet
and extranet became popular for information sharing, portals and
applications were built on web servers and staffs only had to click on the
internet browser to search and get what they want.
In order to further
enhance interactions between staffs, some applications like videoconferencing, instant messaging services were developed. Workstations in
different departments usually located in different sub-networks, level of
collaboration of staffs depended on the interoperability between different
networks. Peer-to-peer collaboration services, which could run regardless of
the underlying network infrastructure, became a new upcoming trend in the
new century; peer groups can communicate each other without knowing
others’ the network infrastructure.
It increases efficiency on information
sharing on front-end workers, especially for those staffs working outside
office.
Page 8
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
3.2 Widespread of wireless networks and mobile devices
Wireless networks increased mobility of the devices such as PDAs, mobile
phones, and notebooks, unlike traditional hard-wired local area networks.
Users can move almost without restriction and access local area networks
from nearly anywhere. Most mobile applications are client server based
which all mobile clients connect to a centralized server and there was not
any direct connection between clients themselves. Peer-to-peer network
enables platform, no matter where they were located, to allow them
communicate and work with each other.
It is essential to business that
involves human-to-human activities and rapid data interchange, like
salespersons, on-site technical support staff, insurance agent, etc.
Page 9
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
3.3 History of Peer-to-peer model
The first well known peer-to-peer system, USENET [13], introduced in 1979,
is the distributed application that provides most of the world with its
newsgroups. At the time, nothing like the "on-demand" Internet like what
today existed. Files were exchanged in batch over phone lines, often at night
when long distance rates were lowest. Consequently, there was no effective
way to centralize the function of the USENET. The natural result was an
extremely decentralized, distributed application.
Some applications are listed below, which widespread in the internet age,
they had different strengths and weaknesses that worth studying.
Page 10
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
3.4 SETI@Home (Peer-to-peer computing)
Fig. 1 Screen capture of SETI@Home
SETI@Home (Search for Extraterrestrial Intelligence at Home) [2] hosted by
the University of California, Berkeley was one of the applications make use
of collaboration of personal computer to analyze signals recorded from
telescope. The application itself made use of idle computational power of
personal computer to search for special radio signal. More than 4 million
participants contributed 1.8 million CPU hours in last 5 years. There is no
interaction between clients, but they worked collaboratively to achieve the
same goal. Traffic consumed by the application is very low, as clients only
Page 11
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
need to download a work unit for searching and send back the result
afterwards. The main limitation of this service was reliability and scalability
problem; the address of the central server was hard-coded in the application.
It suffered from single point of failure if the central server downed. On the
over hand, when more and more clients participated, the need of bandwidth
on server-side would increase, then central server would become a
bottleneck if clients had to queue to get or transfer work unit from the server.
There are many other of applications that perform P2P computing,
•
United Devices [7] (Cancer gene data analysis)
•
Argonne National Laboratory [8] (Physics research)
•
J.P. Morgan [9] (Risk management)
Page 12
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
3.5 Napster (Peer-to-peer file sharing)
Fig. 2 Screen capture of user interface of Kazaa
In 1999, another revolutionary peer-to-peer application, Napster [3], was
released. It is a program that search for only MP3 files on the Internet. The
client program had only three functions, search engine, file sharing, Internet
Relay Chat (IRC). Each client only needed to install the application and
logged into the Napster server.
The server indexed all Napster clients’
shared MP3 files. User could simply perform search on the Napster server
by using the built-in search engine. The server would response with a list of
MP3s found in the index. User can simply click on the search result and the
application would connect to target peer’s PC to get the file.
Page 13
Unlike
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
SETI@Home which had no interaction between peers.
Napster clients
shared files between peers and the centralized server only serve as a
search engine for these files. The resources (MP3 files) are distributed on
peer PCs. The limitation of this architecture was that the availability of the
resources and file sharing speed. If the target peer disconnected from the
Internet, it was impossible to relocate the resource, except it reconnected to
Napster server again.
The transfer rate in file sharing depends on the
resources’ upload bandwidth, mirroring is common in the community that the
peer shares its downloaded MP3 once it completed downloading.
Other file sharing applications using similar technology,
•
WinMX [10]
•
eDonkey2000 -Overnet [11]
•
Gnutella [12]
Page 14
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
3.6 BitTorrent (Peer-to-peer file sharing)
Fig. 3 Screen capture of a client of BitTorrent
Another P2P file sharing protocol was released in 2001 [4]. In traditional
client server file sharing model, if more clients connected to the server, the
more bandwidth was needed on server-side when more clients were
downloading files from it. The concept of BitTorrent was using the unutilized
upload bandwidth of clients to distribute the file. It significantly reduced the
load of the server and fully utilized the network bandwidth available. When
more and more clients are interconnected, the overall bandwidth shared
would become higher. As a result, the speed of file sharing increased.
Page 15
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
A group of web servers known as trackers kept track which clients were
downloading a particular file; the peers had to install a BitTorrent application,
and they simply open a torrent file, which contained the address of tracker
and file information. The application would connect to the tracker to extract
a list of peers, which are sharing the file at the moment and try to connect to
these peers directly. Soon after it downloaded some file segments from
different peers; it had to share the file segment to the peer group as well.
There was a flow control on the protocol so that more upload a peer had
done, the faster download was allowed. This policy further increase the total
bandwidth shared among peers and its sharing ability was much more
efficient than using traditional client-server downloading utilities. However,
this protocol was limited to computers that had an Internet address, for
peers who are connected through firewall or in NAT, they would not be able
to use this protocol as Internet addresses and ports were the unique
identifier in a peer network.
Page 16
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
4. Peer-to-peer protocol
Since there is no standard protocol for peer-to-peer network, there are many
protocols are available or under development, like Chord [14], Koorde [15],
Kelips [16], Tapestry [17], and Kademlia [18], Freenet [19], Can [20]. Their
functionalities are more or less the same, such as peer discovery, searching,
file and data transfer. After study of different types of peer-to-peer protocol,
Project JXTA has been chosen as the underlying infrastructure.
4.2 What is Project JXTA ?
Project JXTA, a.k.a Project Juxtapose, [5,6] is an open-source research
project incubated at Sun Microsystems. Its goal is to develop basic blocks
and services that would enable innovative applications for peer using peerto-peer topology.
Page 17
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
4.3 Why choose Project JXTA ?
JXTA technology is a set of simple, open peer-to-peer protocol that enables
any device on the network to communicate, collaborate and share resources.
JXTA peers create a virtual ad-hoc network on top of existing networks,
hiding their underlying complexity (Fig. 4).
Fig. 4 Architecture of JXTA Virtual Network
It can run on any devices, including mobile phones, pagers, PDAs,
electronic sensors, desktop computers, and servers. It is not dependent on
any network platform or system platform and it can work with any
Page 18
Study of Collaboration Service on Peer-to-Peer Network
combination of these.
Lo Siu Hang, Terence (97471626)
Interoperability is most emphasized in JXTA
technology. It is designed to enable interconnected peers to easily locate
and communicate each other, participated in community-based activities,
and offer services to each other seamlessly across different platform and
networks.
JXTA technology is independent of programming language; developers can
use different programming language to setup their own JXTA virtual network.
All applications compliance JXTA protocol would be able to communicate
each other. Currently, there are JXTA bindings with Java, C++, SmartTalk,
Perl, etc.
Page 19
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
4.4 Project JXTA architecture
The figure (Fig. 5) below illustrates the layered structure of Project JXTA,
Fig. 5 Project JXTA Architecture
The bottom layer is JXTA core layer its function is provide services for peer
establishment, communication management such as routing, and other lowlevel operations. In the middle is a service layer that provides higher-level
services, such as indexing, searching, and file sharing.
These services,
which make heavy use of low level services provided by the layer below, are
useful by themselves but also are commonly included as components in an
overall P2P system. The top layer is application layer, which can treat it as
a platform for developing different modules. In this project, the application
would be implemented over the JXTA services layer as well.
Page 20
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
4.5 Protocols in Project JXTA
There are six basic protocol defined in JXTA [5], they are integrated in the
framework. The functions of these protocols are describe below,
Peer Discovery Protocol - enables a peer to find advertisements on other
peers, or used to find any of the peers, peer groups, or advertisements.
Peer Resolver Protocol - enables a peer to send and receive generic queries
to find or search for peers, peer groups, pipes, and other information.
Peer Information Protocol - allows a peer to learn about other peers’
capabilities and status. For example, one can send a ping message to see if
a peer is alive. One can also query a peer’s properties where each property
has a name and a value string.
Rendezvous Protocol - allows a peer to propagate a message within the
scope of a peer group.
Pipe Binding Protocol - allows a peer to bind a pipe advertisement to a pipe
endpoint, thus indicating where messages actually go over the pipe. A pipe
can be viewed as an abstract, named message queue that supports a
Page 21
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
number of abstract operations such as create, open, close, delete, send,
and receive. Binding occurs during the open operation, whereas unbind
occurs during the close operation.
Endpoint Routing Protocol. This protocol allows a peer to ask a peer router
for available routes for sending a message to a destination peer. Often, two
communicating peers may not be directly connected to each other. Example
of this might include two peers that are not using the same network transport
protocol, or peers separated by firewalls or NAT. Peer routers respond to
queries with available route information, which is a list of gateways along the
route. Any peer can decide to become a peer router by implementing the
Endpoint Routing Protocol.
Page 22
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
5. Design and Implementation – Workspace model
A workspace model is designed and implemented in the project. In order to
achieve the objectives stated in Section 2, a hierarchical P2P workspace
model with Group Communication service is introduced. By arranging edge
peers and super peers in tree structure, the number of messages needed in
locating a certain resources on the network should be reduced. Super peers
are special kind of peers and provide services that are necessary in the
Workspace model. For the details of the functions of the super peers is
introduced in Section 5.4. The system consists of two major parts; the core
engine of the Workspace model, and the group communication service over
the workspace model.
Page 23
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
5.1 System Design
The common structure of P2P networks are interconnecting all peers and
form a meshed network (Fig. 6). The characteristics of this model are all
nodes all equals in the structure and there is no dedicated server, this
makes the structure fault-tolerable, but this model had some shortcomings
such as resource locating and search ability. For example, In Gnutella [12],
peers will multicast messages to all other connected peers on the network,
and thus there is a flooding of messages will occur. For a small group of
peer, message broadcast with flooding may be efficient. However, in large
scale peer-to-peer network, the number of messages grows exponentially
and it soon overloads the network.
Fig. 6 P2P Model
Page 24
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
In this project, a hybrid model (Fig.7) is used instead of P2P model.
It
contains the advantages of client-server and P2P approach. The super peer
in the center act as a server, which caches all resources shared on the
network. Queries and discovery message can response quickly. Unlike
client server model, it will not have single point of failure as super peer itself
can be replicated on the network. Even, super peer downed, peers on the
network can communicate each other using P2P model, until new super
peer is elected.
Fig. 7 Hybrid Model
Page 25
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
A workspace may contain one or more super peers when its size grows
large, in order to maintain the scalability of the system, a new level of super
peers is introduced to indexes all super peers allocated to specific
workspace.
It reduces the number of traffic needed when super peers
perform searching among themselves to locate which of them are allocated
to the same workspace. A hierarchical tree is formed when huge number of
peers is connected to the network (Fig. 8). If more than one super peers at
the top level, they will interconnect themselves to form a meshed network to
reduce the latency and increase the efficiency of resource lookup.
S2
S2
S1
S1
S1
S1
P
P
P
P
P
P
P
P
P
P
Fig. 8 Hierarchical Tree Structure
Page 26
P
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
The hierarchical tree architecture minimize the network traffic used to
broadcast a message or perform searching, especially when the bandwidth
of a edge peer is narrow; super peers on the higher level with more
bandwidth responsible for dispatching the message from edge peers. The
roots of the trees are connected in mesh and the number of root peer is
remained minimal so that multicasting message within a meshed network
will not saturate the traffic on the network. And these root peers usually
located at the backbone on the physical network or elected by using some
special indexing services, based on average up-time, allocated bandwidth,
processing power etc. The structure of the tree can be modeled in managed
or self-organizing manner depending on the service requirement.
Page 27
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Comparison between different P2P models
Model
Computing
Topology / Group
name
model
formation
Workspace
Partially
Hierarchical tree structure
model
centralized
Self organized peer groups
Napster [3]
Centralized
Scalability
Reliability
Latency
Searching / Latency
Highly Scalable
High: messages may be
Comparatively low because of
Searching using
lost if multiple peers fail at
the use of super peers for
indexing (Keyword /
the same time.
searching and advertisement
Object ID). Query
indexing
forward to upper level.
Keyword search
Client-Server
Scaled up to 6
High: messages may be
High: depends on workload of
No grouping allowed
million of users
lost if multiple peers fail at
the central server
the same time.
Gnutella
Decentralized
[12]
Chord [14]
Graph
Thousands
No grouping allowed
Decentralized
Messages may be lost if
Comparatively Low
Keyword search
multiple node fails
Graph
Designed to scale
High: messages may be
High because of routing of
Searching using
No grouping allowed
billions of users
lost if multiple peers fail at
message from one node to other
indexing (key, data)
the same time.
Freenet [19]
Decentralized
Graph
Designed to scale
High: messages may be
High because of routing of
Searching with file
No grouping allowed
billions of users
lost if multiple peers fail at
message from one node to other
identifiers
the same time.
Can [20]
Decentralized
d-dimensional Cartesian
Designed to scale
High: messages may be
Improved CAN design reduce
Searching using
Coordinate space
billions of users
lost if multiple peers fail at
latency
indexing (key, value)
No grouping allowed
the same time.
Page 28
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
In particular, Project JXTA contains two special peers, relay peers and
rendezvous peers, which manage all traffic in transport layer.
The
rendezvous peers will act as super peers in the workspace model as well.
Rendezvous peers indexes peers advertisements and perform routing of
search query. For example, in fig 9, a peer sends a request to search for
another peer on the network, so it makes a request to its connected
rendezvous peer 1. If rendezvous peer 1 indexed the advertisement from
the target peer, it will forward to request to the target peer. Otherwise, it
passes the request to other rendezvous peers in the peer view. When the
target peer got the request, it will also know the originator of the request and
contact it directly.
Page 29
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Fig. 9 Rendezvous peers in action
Page 30
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Relay peers responsible for storing and forwarding messages across firewall
and network address translation domains. They provide message spooling
for temporarily unavailable or unreachable peers.
If the target peer is
locating behind several firewall or NAT (Fig. 10), multiple relay peers may be
needed to route the message to the destination.
Peer-to-peer Network
Relay Peers
Relay peer 1
Peer 1
Peer 2
Relay peer 2
NAT
Firewall
Physical Network 1
Physical Network 2
Fig. 10 Relay peers in action
Page 31
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
5.2 Development Environment
1. Programming Language – Java 2 Platform, Standard Edition 1.4.2
2. Protocol – JXTA
3. Platform – Unix, Linux, and Microsoft Windows
4. Development Tools – Websphere Studio Application Developer 5.1.2
Page 32
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
5.3 The Application – Group Communication System
Most peer-to-peer applications developed emphasize interaction between
peers. In real life, people (peers) always work in groups in a collaborative
manner. For example, in an enterprise, it consists of different departments;
such as accounting, human resources, marketing, etc. These peers are
more likely work together with the peers in the same department.
following diagram illustrates the real situation. (Fig. 11)
Page 33
The
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Fig. 11 Interaction of “peers” in an enterprise
In peer to peer network, we can consider each activity as a service. These
services are provided among peers. The peers of similar interest form a
peer group or a common workspace. It is self-organized; peers can create,
join or leave any workspace at any time without affecting the operation of
peer group.
workspace
For example, in Fig. 11, peers in “HR Internal Meeting”
are
consuming
a
text-based
chatting
service.
And
in
“Management Meeting” workspace, peers are communicating each other
using video conferencing service. The workspace model on peer-to-peer
network provides more fine grained access control.
Page 34
It can be an open
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
workspace, which allows any peer on the network to join. Or it is a secured
workspace, which peers needed to enter a key to authenticate itself when it
attempts to join.
There is an assumption that all activities provided by peers are group
communication service. Once a peer connected to the network, it is joined a
global workspace (Fig. 12). To join a workspace, it first needs to locate the
workspace on the network by searching.
Then it registers itself to the
workspace and notifies super peers that the structure of the workspace
changed. The group communication service is implemented and details are
mentioned in section 5.5.
Page 35
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Fig. 12 Peers on different workspaces
Page 36
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
5.4 Core Java Class Description
The workspace model is run over the Project JXTA peer-to-peer network; it
provided some basic application programming interfaces for dealing with
network layer and transport layer problem. However, the application
interface provided mainly focus on peer-to-peer connectivity. It lacks
functionality to support workspace model. The implementation part focuses
mainly on the application layer and all classes implemented are packaged in
java package msc.cs.groupcom.core.
There are four core services for implementing workspace model on a peerto-peer network. They are,
z
Discovery Service
z
Event Service
z
Workspace Service
z
Search Service
Page 37
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Discovery Service (msc.cs.groupcom.core.Discover)
The class Discover provides functions for the peer to discover the
advertisements published by other peers.
Advertisement is a XML
document, which contains service attributes, workspace structure or other
message that the peer would like other peers on the network knows. It is
created when peer registers itself on the network, performing event or create
new objects, e.g. new workspace created, new services provided, etc. In the
system, each workspace that peers joined will have their own listener to
listen specific advertisements from other members in the workspace. Each
listener had its own logic to process the data it received.
Page 38
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Fig. 13 Operation scope of Discovery Service
Page 39
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Event Service (msc.cs.groupcom.core.Event)
The class Event provides functions for the peer to handling notification
events from advertisements published by other peers. This service works
closely with discovery service as it is triggered when the incoming channel
received notifications. It is the base class that provides minimal functionality;
it provides flexibility to developer implements his own event when new
services needed to be implemented.
In the application, there are two major types of notification message. The
first type is notification message for new workspace formation. Another type
is the structure change of workspace, such as new peer joined the
workspace or peer left the workspace.
Each peer will have a list of
advertisements cached; these caches are used to keep track the status of
other peers and workspaces.
Page 40
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Cached
Advertisements
Adv 1
Adv 2
Adv 3
Adv 4
Adv 5
Update
Peer
Delete
New
Event 1
Event 2
Event handler triggers when
notification advertisements are
received and process them
respectively.
Incoming Channel
Notification
Advertisements
Fig. 14 Operation scope of Event Service
Page 41
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Workspace Service (msc.cs.groupcom.core.Workspace)
The class Workspace is one of the major implementation of the workspace
model. It provides all functions and objects that related to workspace. The
following is the summary of functions provided in the class.
Create workspace – it allows peers to create a workspace for other peers to
join. The workspace can be either open or close. Open workspace allows all
peers to join without any authentication, while close workspace contains
hashed password together with the workspace advertisement. Peers that
know the matched password can gain access to the workspace.
Join workspace – it provides functionality for peers to join a workspace
according to the advertisements discovered.
The verification of the
password for closed workspaces are handled in user interface part, so in this
class only registration of the workspace, maintenance of list of joined
workspaces and publication of advertisement on workspace structure
change is handled here.
Page 42
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Leave workspace – peers can leave any workspace (except global
workspace) at any time after it connects to the peer-to-peer network. This
method destroys all advertisements and related objects when a peer
decided to leave a workspace. The default handling method after leaving a
workspace is switch user.
Other functions – the functions mentioned above related to workspace
management of the peer itself. There are other functions provided in the
class for handling processes, which are initiated by other peers.
For
example, event service received notification on workspace structure update
message. There is a function to process this notification by updating the
member list of a particular peer group. Other services implement over this
workspace framework can overload this function to provide more flexibility to
manage workspace related issues.
Page 43
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Search Service (msc.cs.groupcom.core.Search)
The class Search provides functions to perform searching based on criteria
specified by a peer. In the workspace model, the main role of the class is to
perform lookup on workspaces available.
The search mechanism is
performed in hybrid mode, depends on the availability of super peers on the
network. If super peers can be discovered, search service will connect to
any of these peers and submit search request (Fig. 15). Super peer will
check its own cache for any matched search result. If there is no result
matched, it passes this request to upper level in hierarchical tree or to other
super peers of the same level in the meshed network.
Another search
method is creating a multicast request is sent to all neighborhood peers (Fig.
16). A counter is passed together with the search request and it increments
when it is forwarded. This counter is to prevent flooding of messages when
the number of forwarded requests grows exponentially after several levels of
iteration. For each search request, a listener thread is spawned to receive
any response from peers.
Since the response time of a query is
unpredictable, a timeout interval had been set for the listener thread. The
Page 44
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
thread is killed after the request submitted when the waiting time reached
timeout threshold.
Super
Peer
4.
Fo
rwa
rd
r eq
Peer
st to
que
d re eer
r
a
orw
le p
4. F possib
Peer
ue
pe st to
er s
oth
er
s up
er
4.
Fo
rw
d
ar
q
re
u
Peer
o
tt
es
po
le
ib
ss
pe
5. Response
er
Outgoing Channel
Advertisements
Index
Advertisement Mapping
Adv index 3
Adv index 4
Adv index 5
Outgoing Channel
Super Peer
3. Search advertisement index
2. S
Rendezvous peer indexed
advertisements published
by peers on the network.
ea r
r
ch
es
equ
t
Adv 3
1. Request
Incoming Channel
Search Service
Other lookup
messages from other
peers
Peer
6. Process response
Search listener captures all search
results and pass to search service
for further processing
Search
Listener
Incoming Channel
Fig. 15 Search mechanism – with super peer present
Page 45
5. Response
Adv index 1
Adv index 2
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Peer
Peer
Peer
Peer
3.
Peer
Peers forward the search request
to other peers. The peer count of
the request is limited to prevent
message flooding occurs
Peer
Peer
2.
Mu
ltic
a
st s
ea
r ch
Re
sp
on
se
3. Response
req
u
es t
3. Response
Outgoing Channel
Peer Advertisement
Index
Adv index 1
Adv index 2
Adv index 3
Adv index 4
Adv index 5
1. Request
Peer
Search Service
4. Process response
Search listener captures all search
results and pass to search service
for further processing
Search
Listener
Incoming Channel
Fig. 16 Search mechanism – peer multicasting
Page 46
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
5.5 Application Specific Java Class Description
The group communication system will built on top of the core workspace
classes to provide a messaging service all peers in the same workspace.
The user interfaces are built with AWT and Java Swing, which is standard
Java classes, bundled with Java Development Kit.
User interface package – msc.cs.groupcom.ui.*
The package contains all user interface objects. These objects extend AWT
classes, like textbox, button, panel and tab etc. The package contains style
and templates; provide arrangement of these user controls in the application.
Application function package – msc.cs.groupcom.functions.*
The package contains all actions triggered by the user interface objects and
also the implementation of the group communication service. These actions
include create, join, leave workspace. Also perform send and receive
messages to other peers.
Group Messaging Service (msc.cs.groupcom.functions.GroupMsg)
Page 47
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
The class GroupMsg provides functions and objects for providing group
communication service in a workspace. When a peer joined a workspace,
the service will spawn listener for receiving structure change messages and
messages from other peers in the workspace.
For the messaging mechanism, it relies on super peers on the network.
When a peer registered on the network and it establish a virtual channel with
super peer for broadcasting message (Fig. 17). The peers are arranged in
hierarchical structure with super peers as the root of the tree.
This
implementation can reduce the chance of message lost during message
transmission as the permanent connection among peers. The network traffic
would be reduced when more and more peers connected to the network.
With the presence of super peers, edge peers do not need to perform
advertisement lookup for other peers in the workspace. For example, in
workspace 1 of Fig. 17, edge peer can simply send the message to the
super peer it connected. The super peer lookups its advertisement cache
and forward the message to peers in the same workspace. On the other
hand, it multicasts the message to other super peers on the network to
distribute the message further.
Page 48
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Workspace 1
Workspace 2
Workspace 3
Edge
Peer
Message
Edge
Peer
Virtual channel
Edge
Peer
Edge
Peer
Edge
Peer
Edge
Peer
Edge
Peer
Super Peer
Edge
Peer
M
ss
Me
age
es
sa
ge
Edge
Peer
age
Super Peer
Me
ss
Me
ssa
Edge
Peer
Super Peer
g
sa
Me
ss
ag
e
es
M
Edge
Peer
ge
e
Super Peer
Edge
Peer
Edge
Peer
Edge
Peer
Edge
Peer
Edge
Peer
Fig. 17 Hierarchical structure in group communication service
(Workspace perspective)
Each message is encapsulated in metadata format, attributes includes
message content, sender name, workspace ID and a message ID. The
message ID is generated by the ID factory provided by Project JXTA base
class.
Page 49
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
5.6 Installation and running the application
Installation of Java 2 Platform, Standard Edition 1.4.2
The binary of the development kit can be downloaded from Sun
Microsystems
website.
For
Microsoft
Windows
environment,
the
downloaded binary can be installed by running "j2sdk-1_4_2_05-windowsi586-p.exe”, follow the instruction of the wizard for install location. For other
environments, like Linux, it is necessary to execute the following commands,
change the permission of the file to executable “chmod +x j2sdk-1_4_2_05linux-i586.bin”; then extract the binary by running it “./j2sdk-1_4_2_05linux-i586.bin”.
Installation of Project JXTA
The java libraries of Project JXTA available in their website, these libraries
are free download. These files are copied to the directory that contains the
classes of the group communication service application.
Page 50
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Installation of Group Communication Service application
The classes are compressed in Zip (*.zip) format. Extract all files in the
archive into a directory called GroupCom, e.g. “d:\GroupCom” in Microsoft
Windows environment, or “/GroupCom” in Linux.
Copy all downloaded
Project JXTA files into “d:\GroupCom\lib” or “/GroupCom/lib”.
Running the application
The precompiled classes can be started by running JVM. The application
can
be
started
by
running
classpath
the
command,
“java
-
.;./lib/beepcore.jar;./lib/bcprov-
jdk14.jar;./lib/cryptix32.jar;./lib/cryptixasn1.jar;./lib/javax.servlet.jar;./libl/jaxen-core.jar;./lib/jaxenjdom.jar;./lib/jdom.jar;./lib/jxta.jar;./lib/jxtacms.jar;./lib/jxtaext.jar;./lib/jxt
aptls.jar;./lib/jxtasecurity.jar;./lib/jxtaSwing.jar;./lib/jxtashell.jar;./lib/log4
j.jar;./lib/minimalBC.jar;./lib/org.mortbay.jetty.jar;./lib/saxpath.jar
cityu.msc.cs.groupcom.ui.GroupCom”. A number of system messages
are output on screen. JXTA configurator will be started when the application
Page 51
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
run at first time. For the details of in configuring JXTA, please refer Section
5.8 below.
Page 52
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
The following dump is information written on screen when the application
starts.
<INFO
2004-11-26 23:50:26,640 NullConfigurator::<init>:115>
JXTA_HOME = D:\wsadworkspace\GroupCom\.jxta
<INFO
2004-11-26 23:50:26,650
NullConfigurator::resetFromResource:216>
d:\wsadworkspace\GroupCom\.jxta\PlatformConfig already exists
<INFO
2004-11-26 23:50:26,650
NullConfigurator::resetFromResource:216>
d:\wsadworkspace\GroupCom\.jxta\jxta.properties already exists
<INFO
2004-11-26 23:50:26,690
NullConfigurator::adjustLog4JPriority:354> Log4J [user default]
requested, not adjusting logging priority
<INFO
2004-11-26 23:50:27,220
NullConfigurator::adjustLog4JPriority:354> Log4J [user default]
requested, not adjusting logging priority
1101484228122: EVENT
,Starting
Jetty/4.2.19,[main]org.mortbay.http.HttpServer.start(HttpServer.jav
a:639)
1101484228132: EVENT
,Started
HttpContext[/],[main]org.mortbay.http.HttpContext.start(HttpContext
.java:1901)
1101484228152: EVENT
,Started SocketListener on
0.0.0.0:9700,[main]org.mortbay.http.SocketListener.start(SocketList
ener.java:155)
1101484228152: EVENT
,Started
org.mortbay.http.HttpServer@1ad98ef,[main]org.mortbay.http.HttpServ
er.start(HttpServer.java:675)
Page 53
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
5.7 Screen Capture of the Application
Fig. 18 shows the first screen appears when the application starts. The
libraries of Project JXTA will be loaded. JXTA configurator will be prompted
for setting up peer id and password (detailed configuration will mention in
Section 5.8). After starting JXTA, it continues to load the core engine of the
workspace model.
Fig. 18 Loading screen when initializing JXTA and core engine
Page 54
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Fig. 19a/b are the user interface of the group communication system. The
services available are showed in different tabs. In Group Messaging tab,
there are two panels for showing peers in the selected workspace and
messages received from peers.
The lower part of the interface is a
workspace search service, where user can perform searching base on the
name of the workspace. The lowest list box shows the search result if there
is any workspace discovered by the query.
Message
Panel
Peer List
Workspace
List
Fig. 19a User Interface of the application
Page 55
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Fig. 19b User Interface of the application
Page 56
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Fig. 20 shows the interface for creating a new workspace. User can choose
whether the workspace is secured. The password is stored in the
advertisement (Fig. 21). When other peers attempt to join the secure group,
he had to enter correct password in order to join the group (Fig. 22).
Fig. 20 Dialogue box for creating new workspace
Fig. 21 Workspace information
Page 57
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Fig. 22 Dialogue box for joining a workspace
All peers on network are assigned to the universal peer group. It is not
allowed to leave this peer group / workspace. Error will be prompted when
the peer chooses to leave the Global Workspace.
Fig. 23 Error prompt when user attempts to leave the global workspace
Page 58
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
5.8 JXTA Configuration
JXTA Configurator is bundled with JXTA java binding. It allows users to
configure the parameters used in JXTA by a simple user interface. It is
necessary to setup these application specific parameters before running the
application run over JXTA.
Reconfiguration of JXTA needed to quit
application and run this configurator.
There are four tabs in configurator, namely Basic, Advanced, Rendezvous /
Relays and Security.
Page 59
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
In Basic tab (Fig. 24), a peer name is required as the ID generated of the
peer is associated with this name on the peer-to-peer network.
messaging system, this name is used as the nickname of the peer.
Fig. 24 Screen capture of “Basic” tab
Page 60
In the
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
In Advanced tab (Fig. 25), there are some network specific parameters
needed to be setup. Since JXTA uses TCP/IP and HTTP as its transport
protocol, it is necessary to configure these parameters. If the peer is running
behind a firewall and access the Internet through a proxy server, it is
necessary to check “User Proxy” option and enter required information
accordingly.
Fig. 25 Screen capture of “Advanced” tab
Page 61
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
In Rendezvous / Relays tab (Fig. 26), these setting related to the super
peers in JXTA. As mentioned before, there are two types of special peers
and user can configure its own peer work as one of these special peers or
even both. For the button at the bottom, it will download a list of public JXTA
rendezvous and relay peer list from JXTA website. To simplify the network
configuration, the messaging system targets to be used in intranet only.
Fig. 26 Screen capture of “Rendezvous/Relays” tab
Page 62
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
In Security tab (Fig. 27), it is only necessary input the user name and
password for this peer. User is required to enter the password again when
the messaging service starts in order to identify oneself (Fig. 28). After
setting up all parameters in the configurator, press “OK” button at the bottom
of the page and these values will be saved in users’ system.
Page 63
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Fig. 27 Screen capture of “Security” tab
Fig. 28 Screen capture of JXTA Secure Login
Page 64
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
5.9 Difficulties experienced in design and deployment
Frequent update of Project JXTA
From prototype design phrase to actual implementation, the distribution
package of Project JXTA updated for three times, which include one major
version upgrade. During the system design stage, it was designed based on
the stable release build that that moment, some objects are depreciated
after major build upgrade. Even though some new feature introduced are
useful for workspace model implementation, the base classes implemented
in prototype stage needed to be updated accordingly as well.
Multithreading of Java Application
All objects developed for the workspace model and group communication
services are running in different threads.
For example, the listeners for
workspace structure changing, workspace discovery, message reception,
etc. If the workstation is powerful, such as those workstations in CS Lab, it
can handle more threads at the same time. However, when the application
is tested in less powerful PC and run multiple instance of application on the
same machine. The resources consumed by threads caused instability. To
Page 65
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
cater this problem, a dispatcher thread and a number of worker threads are
introduced to the source code. The listeners are running in a round-robin
manner. They will start in turn to check the incoming message buffer and
process the requests, then sleep for a period of milliseconds for other
processes to run.
Physical network connection issue
The application is deployed to a network of a medium sized company. The
workstations are running in different sub-network with presence of routers.
The discovery service of the workspace model can run with multicast
message, when this request arrived at the transport layer of JXTA network, it
transformed these request to internet address. However, some routers on
the network blocks most of the ports and only allows some common ports to
pass through, like HTTP / SMTP / POP3, etc. It is undesirable that system
administrator to alter the router setting because this involves approval of
department heads for security reason. So, special configuration of JXTA is
needed for rendezvous peers in every sub-network.
For example, in
department A, port 80 is allowed at the edge router for peer to communicate
Page 66
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
between departments. While department B only allows port 25 at their edge
router. In this case, a rendezvous peer list had to be distributed at both
department A and B if messages needed to be pass between them.
Department B Edge Router
Allow Port 25
97
0
97
JX
TA
:
Rendezvous Peer List
Department A : aa.bb.cc.dd:80
Department C : bb.cc.dd.ee:8080
Department D : cc.dd.ee.ff:9700
/9
70
1
Edge Peer
01
0
97
97
0/
:
TA
JX
/9
:9
70
0
JX
TA
70
:9
TA
JX
1
70
Rendezvous Peer
70
1
:9
70
0
9
0/
JX
TA
Rendezvous Peer
Edge Peer
00
/
A
JX
T
Rendezvous Peer List
Department B : dd.ee.cc.dd:25
Department C : bb.cc.dd.ee:8080
Department D : cc.dd.ee.ff:9700
:
TA
JX
:8
0
25
Intranet
1
Department A Edge Router
Allow Port 80
Edge Peer
Edge Peer
Edge Peer
Fig. 29 Physical network diagram with different sub-network setting
Page 67
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
6. Conclusion
Most peer-to-peer (P2P) applications available on the internet emphasize
anonymity, to prevent peers to be recognized its physical address on the
network; while peer to peer applications targeted to run on intranet or within
local area networks will have more concern on collaborative activities and
privacy. However, the current P2P networks have limitations. Most P2P
networks lack ability to form peer groups. For example, in large enterprise,
there is a demand on forming peer groups or workspaces are created for
some particular purpose, such as meeting and conferencing.
problem is on resource location, for example in Gnutella.
Another
Peers on the
network are unable to know about all other peers on the network, as there
might be millions of peers connected over the Internet. So, the formation of
groups in such P2P networks is not feasible.
6.1 Contributions
This project studied different P2P systems and proposed a workspace
model to overcome two issues mentioned. Peers on the network organized
in a hierarchical tree structure; the edge peer connects themselves to a
Page 68
Study of Collaboration Service on Peer-to-Peer Network
super peer.
Lo Siu Hang, Terence (97471626)
These super peers indexes and caches advertisements
broadcasted, routing and relaying messages to members in workspaces.
The roots of partitioned trees are interconnected together to form a meshed
network to speed up the searching process.
This model reduces the
number of messages on the network when locating the resources as well.
Another role of the super peers are being a membership server for the
workspaces, it stores all information of peers inside a particular workspaces.
The super peers provides efficient peer discovery when a message needed
to be sent to all members in a particular workspace or obtaining information
for a particular peer.
The workspace model is implemented using Java for its platform
independency. The degree of hierarchy is two and it is expected to have
performance improvement if higher degree of hierarchy is implemented
when number of peer increases.
In the implementation, all functions of
super peers enabled only it is a rendezvous peer in JXTA network. A sample
application is developed over this model and illustrates the real life usage of
this model in by means of a textual group communication service. Peers in
the same workspace can communicate each other using this service.
Page 69
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
Developers can design and expose more complicated collaboration services
on the framework by extending the base classes in the workspace model.
The application with group communication service is tested in different scale
of networks and the difficulties experienced in development and deployment
are addressed.
6.2 Evaluation and future development
Although the workspace model improves the performance of resource
locating and allow formation of workspaces, there are a lot of rooms for
improvement.
Intelligent super peers can load balances themselves
dynamically by using data collected from the underlying JXTA network, such
as number of connection, average message size and bandwidth consumed.
Restructuring of the super peers are necessary when the degree of
hierarchy increases. It is not feasible to have multicasting of messages when
there are too many super peers at the root of the tree, the level of the tree
should be able to increase / decrease dynamically when the number of
peers varies.
Page 70
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
7. Reference
[1]
T. Berner-Lee, J. Hendler and O. Lassila, The Semantic Web,
http://www.w3.org/2001/sw/
[2]
SETI@Home - http://setiathome.ssl.berkeley.edu/
[3]
Napster - http://www.napster.com/
[4]
BitTorrent - http://bitconjurer.org/BitTorrent/
[5]
Project JXTA, http://www.jxta.org/
[6]
B. Traversat and al., Project JXTA-C: Enabling a Web of Things, in
proceeding of the HICSS-36 Conference, Jan 2003.
[7]
United Devices, Inc, http://www.ud.com/home.htm
[8]
Argonne National Laboratory, Mathematics and Computer Science Division,
http://www-fp.mcs.anl.gov/division/welcome/default.asp
[9]
Clustered Grids Make Their Way Into the Enterprise, ENT News,
http://www.entmag.com/news/article.asp?EditorialsID=1903
[10] WinMX, http://www.winmx.com/
[11] eDonkey 2000 – Overnet, http://www.edonkey2000.com/
[12] Guntella, http://www.gnutella.com/
[13] Usenet Software: History and Sources, ftp://rtfm.mit.edu/pub/usenet-bygroup/news.admin.misc/Usenet_Software:_History_and_Sources
[14] Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari
Balakrishnan, Chord: A Scalable Peer-to-peer Lookup Service for Internet
Applications, ACM SIGCOMM 2001, San Deigo, CA, August 2001
[15] M. F. Kaashoek and D. R. Karger. Koorde: A simple degree-optimal
distributed hash table. In Proc. 2nd IPTPS, Berkeley, CA, Feb. 2003.
Page 71
Study of Collaboration Service on Peer-to-Peer Network
Lo Siu Hang, Terence (97471626)
[16] I. Gupta, K. Birman, P. Linga, A. Demers, and R. van Renesse. Kelips:
Building an Efficient and Stable P2P DHT Through Increased Memory and
Background Overhead. In Proceedings of the 2nd International Workshop on
Peer-to-Peer Systems (IPTPS '03), 2003
[17] Ben Y. Zhao, Ling Huang, Jeremy Stribling, Sean C. Rhea, Anthony D.
Joseph, and John Kubiatowicz, Tapestry: A Resilient Global-scale Overlay for
Service Deployment , IEEE Journal on Selected Areas in Communications,
January 2004, Vol. 22, No. 1.
[18] P. Maymounkov and D. Mazieres. Kademlia: A peer- to -peer information
system based on the xor metric. In Proceedings of IPTPS02, Cambridge, USA,
March 2002
[19] Clarke, Ian , Oskar Sandberg, Brandon Wiley, and Theodor W. Hong. 2001.
Freenet: A distributed anonymous information storage and retrieval system. In
Proceedings of the Workshop on Design Issues in Anonymity and
Unobservability, July 2000, pp. 46-66.
[20] Ratnasamy, Sylvia, Paul Francis, Mark Handley, Richard Karp, and Scott
Shenker. 2001.
A scalable content-addressable network. In proceedings of
the 2001 Conference on Applications, Technologies, Architectures, and
Protocols for Computer Communications August 2001.
Page 72
Download