Discovery in a Peer-to-Peer Network
General description about Peer-to-Peer discovery
Recently peer-to-peer applications have been widely used for the purposes
of sharing resources such as computation and storage. Growth of file sharing
applications (e.g., Napster, Gnutella, KaZaA, WinMX, etc) has been remarkably
rapid, and numerous system architectures for sharing files have been proposed
and implemented in both academia and industry.
Peer-to-peer system architecture produces the need for a
method to search for network objects (data, applications, and users) since
peer-to-peer systems have the inherent property of objects being distributed in
the network. Discovery mechanisms provide a method to locate objects in a
network, while remaining decentralized and adaptive to the network environment.
It is required to design discovery mechanisms to meet the
primary requirements of efficiency, performance, scalability and robustness.
Efficiency: The
discovery mechanisms are required to be efficient. The peer-to-peer system is
expected to accommodate a large number of network objects (e.g., data,
applications and users) that have limited capability in their communication,
processing, and storage. Discovery mechanisms, thus, need to be efficient so
that the operation of discovery mechanisms does not overload network objects and
network bandwidth
Performance: The discovery mechanisms need to return
meaningful results within an acceptable amount of time.
Scalability: The discovery mechanisms need to perform
with reasonable performance when certain parameters of the network increase such
as the number of network nodes, the network usage, the number of users, the
number of applications, or the amount of data.
Robustness: The discovery mechanisms need to perform
with reasonable performance under a network environment in which various types
of errors occur (transmission error, loss of network objects, etc).
Current projects
1) Generic Discovery
Framework
Numerous discovery mechanisms have already
been proposed in many literatures. However, let us say that no existing
discovery mechanism is perfect. No existing discovery mechanism can meet all
requirements mentioned above at the same time. This fact reminds us the
importance of understanding exactly the pros and cons of each discovery
mechanism and choosing the mechanism that best fits the given network
environment. Therefore, we propose to create a generic discovery framework that
provides many options of discovery mechanisms for users, and allows users to
select an appropriate discovery mechanism from the options.
Currently we are working on a survey of
existing discovery mechanism, making the advantages and disadvantages clear, so
that we can classify the existing discovery mechanisms based on appropriate
criteria. Afterwards, we are going to use simulations to evaluation some of the
discovery mechanisms using appropriate metrics and parameters.
2) P2P discovery in a highly dynamic
network environment
Currently we are conducting collaborative
research with Denso, a well-known Japanese corporation/laboratory that
manufactures systems and products for automobiles. We envision future
peer-to-peer application scenarios that involve many mobile users and cars that
may join the network and provide or enjoy services in the network. The main
issue that we are facing is how to deal with a highly dynamic physical network
that includes cell phone network infrastructure, Wireless LAN, or inter-vehicle
communication in addition to existing wired networks. The issue is challenging
and very significant for the future peer-to-peer applications.
Work and qualification
Project 1 involves
intense survey about existing peer-to-peer discovery mechanisms. Students are
required to read related papers in a “critical” manner, and understand them
well enough to be able to discuss each system in detail. Project 2 requires
students to have some creativity and novel ideas in order to attack issues.
Therefore, it is a prerequisite for students to know basic network knowledge
and preferably have already taken ICS 153 Computer network with a decent grade.
Furthermore, students are required to implement simulators/modules in order to
evaluate performance of existing discovery mechanisms in both project 1 and 2.
Hence, it is strongly recommended for the student to have proficiency in
programming, specifically JAVA. It
is also required that a student participates in this project for at least 2
quarters.
Please send email to mikemo@ics.uci.edu or
egashira@ics.uci.edu
if you are interested.