|
Peer-to-peer
(P2P) networks are flexible distributed systems that allow nodes
(called peers) to act as both clients and servers to access and
provide services to each other.
P2P is a powerful emerging networking paradigm as it permits sharing
of virtually unlimited data and computational resources in a completely
distributed, fault-tolerant, scalable and flexible manner.
At present, P2P
networks, such as Gnutella, Freenet, Kaaza etc., are used primarily
for "data sharing". Although, it is widely acknowledged
that other resources, like compute power can also be shared using
a P2P paradigm, research in this regard is still underway. SETI@Home
comes close to sharing spare computing power (in the form of idle
CPU cycles) of computers in a network. However, the model employed
is still quite centralized. This is because SETI@home allows only
a single server to make requests and use idle processing power of
other computers in the network. The same capability is not available
to all the participants of the SETI@Home network.
Also, almost
all the current research in P2P systems is based on a cooperative
network model. It is generally assumed that although there can be
some rogue (malicious) nodes in a system, most of the nodes are
trustworthy and follow the protocols as implemented by the network
designer. For example, almost all the proposed P2P lookup protocols
assume that peers sincerely follow the routing protocol and forward
messages for other peers in the network. Moreover, resources, such
as data and bandwidth, are assumed to be
freely available. This assumption is inherent in the design of most
of the current P2P networks, where one obtain services from others
without having to pay any price to the service provider.
Such altruistic
behavior (i.e. cooperative routing and free data uploads) of the
service providers is not correct to assume as P2P networks gain
prominence and are deployed over large public networks, such as
Internet. It has been pointed out that free-riding is one of the
most significant problems being faced by today's P2P networks. It
has been found in that 70\% of the Gnutella peers do not share any
content files and 90\% do not answer to any queries from other peers.
Uncontrolled or too much free riding leads to the degradation of
system performance and adds vulnerability to the system. Future
P2P networks are likely to have no centralized administrative entity
(owing to regulatory or scalability concerns) that control the nodes
in the system. Therefore, it is important for network designers
to take into account the independence and selfishness of P2P users,
in order to make the future systems reliable and robust.
In order to address
the above mentioned issues, our research efforts are divided into
two main areas. First, harnessing idle processing power (i.e., trading
raw CPU power) in P2P networks taking into account the selfishness
of the nodes. In this context we developed CompuP2P, which is architecture
for distributed computation that facilitates trading of computing
power using an incentive driven economic model. Second, exploring
how other resources like data and bandwidth (used for routing of
lookup messages) can be priced in P2P networks. We are designing
a unified incentive schemes that motivate intermediate nodes to
route lookup requests and server nodes to provide data objects to
the requesting users. Since, both looking up for data and obtaining
it incur cost, the proposed scheme is an effective solution to deal
with free-riding problem prevalent in P2P networks.
Top
|