Microsoft Research Cambridge - Peer-to-peer research related to structured overlays We currently have a number of ongoing projects relating to structured overlays. Recent publications:
Defending against Eclipse attacks on overlay
networks
[Postscript |
PDF]
Overlay networks are
widely used to deploy functionality at edge nodes without changing
network routers. Each node in an overlay network maintains pointers to a
set of neighbor nodes. These pointers are used both to maintain the
overlay and to implement application functionality, for example, to
locate content stored by overlay nodes. If an attacker controls a large
fraction of the neighbors of correct nodes, it can ``eclipse'' correct
nodes and prevent correct overlay operation. This Eclipse attack is more
general than the Sybil attack. Attackers can use a Sybil attack to
launch an Eclipse attack
Peer-to-peer overlays: structured,
unstructured, or both?
[Postscript |
PDF]
We compare structured
and unstructured overlays and derive a
hybrid overlay that can outperform both. Unstructured overlays build a
random graph and use flooding or random walks on that graph to
discover data stored by overlay nodes. Structured overlays assign keys
to data items and build a graph that maps each key to the node that
stores the corresponding data. Unstructured overlays are widely used
in popular applications because they can perform complex queries more
efficiently than structured overlays. It is also commonly believed
that structured graphs are more expensive to maintain than
unstructured graphs and that the constraints imposed by the structure
make it harder to exploit heterogeneity to improve scalability. This
is not a fundamental problem. We describe techniques that exploit
structure to achieve low maintenance overhead, and we present a
modified proximity neighbor selection algorithm that can exploit
heterogeneity effectively. We performed detailed comparisons of
structured and unstructured graphs using simulations driven by
real-world traces. Inspired by these results, we developed a hybrid
system that uses the graph from structured overlays with the data
placement and search strategies of unstructured overlays. The results
show that our hybrid system supports complex queries more efficiently
than unstructured overlays in realistic scenarios.
Performance and Dependability of structured peer-to-peer overlays
[Postscript |
PDF]
Structured
peer-to-peer overlay networks provide a useful substrate for building
distributed applications. They map object keys to overlay nodes and
offer a primitive to send a message to the node responsible for a key.
They can implement, for example, distributed harsh tables and multicast
trees. However, there are concerns about the performance and
dependability of these overlays in realistic environments. Several
studies have shown that current peer-to-peer environments have high
churn rates: nodes join and leave the overlay continuously. This paper
presents techniques that continuously detect faults and repair the
overlay to achieve high dependability and good performance in realistic
environments. The techniques are evaluated using large-scale network
simulation experiments with fault injection guided by real traces of
node arrivals and departures. The results show that previous concerns
are unfounded; our techniques can achieve dependable routing in
realistic environments with an average delay stretch below two and
maintenance overhead of less than half a message per second per node. PIC: Practical Internet Coordinates for Distance
Estimation [Postscript |
PDF] This paper introduces PIC, a practical
coordinate-based mechanism to estimate Internet network distance (i.e.,
round-trip delay or network hops). Network distance estimation is important
in many applications, for example, network-aware overlay construction and
server selection. There are several proposals for distance estimation in the
Internet but they all suffer from problems that limit their benefit. Most
rely on a small set of infrastructure nodes that are a single point of
failure and limit scalability. Others use sets of peers to compute
coordinates but these coordinates can be arbitrarily wrong if one of these
peers is malicious. While it may be reasonable to secure a small set of
infrastructure nodes, it is unreasonable to secure all peers. PIC addresses
these problems: it does not rely on infrastructure nodes and it can compute
accurate coordinates even when some peers are malicious. We present PIC's
design, experimental evaluation, and an application to network-aware overlay
construction and maintenance. Should we build Gnutella on a structured overlay?
[Postscript |
PDF] There has been much interest in both unstructured
and structured overlays recently. Unstructured overlays, like Gnutella,
build a random graph and use flooding or random walks on the graph to
discover data stored by overlay nodes. Structured overlays assign keys to
data items and build a graph that maps each key to a specific node. The
structure of the graph enables efficient discovery of data items given their
keys but it does not support complex queries.
|
| |||
|
[Page last updated 9th January 2004 - maintained by mailto:antr@microsoft.com]