Title: An Efficient Clustered Architecture for P2P Networks
1An Efficient Clustered Architecture for P2P
Networks
2Outline
- Introduction
- Structured searching mechanism
- Unstructured searching mechanism
- Clustered-hierarchically unstructured
- EFA
- Performance
- Conclusion
3Introduction
- Two types of P2P lookup services for
decentralized P2P systems - Structured searching mechanism
- Tapestry, Pastry, Chord, CAN
- Designed for application on well-organized
networks - Unstructured searching mechanism
- Gnutella, FastTrack
- Designed for heterogeneous internet environment
4Structured searching mechanism
- Example Tapestry, Pastry, Chord, CAN
- Advantages
- Availability, persistence can be guaranteed
- Scalable, efficient and bounded hops
- Disadvantages
- Stringent care in data placement, deployment of
network topology - Lack the flexibility of keyword searching
- Do not share particular data from within the
files - Why not structured mechanism?
5Unstructured searching mechanism
- Example Gnutella, FastTrack
- Advantages
- Low requirements for network topology
- Supports keyword search
- Simplicity, and robustness
- Disadvantages
- High overhead for message passing
- Availability is not guaranteed
- How to query?
6Clustered P2P
7Clustered P2P
- ECSP (efficient clustered super-peer
architecture) - Peers with more resources can be selected as a
super-peer - Super-peer acts as local searching hubs, building
the file indices for client peers - Advantages
- Speed up the query
- More stable than peer when a cluster join the
system - Overhead becomes less (using EFA)
8Register process
1
2
1
2
9Super-peer structure
Steps of a client joining the super-peer and
making a query
Update the client peer condition
Upload meta data
Make a query. First check index, and then using
Forward Algorithm forwarding to other super-peer
10EFA
11EFA
12EFA example
Check1 id(N2)ltid(N5), we get fr(N1,N5)N2, N7,
N3, N4 so dont have to send to N3
N(N1)N2, N7 NN(N1)N3, N4, N8 because id(N3)
id(N4) lt id(N5) so fr(N1,N5)N2, N3, N4, N7
check2 N6s neighbor N4 is in fr(N1, N5 )N2,
N7, N3, N4 and id(N4)ltid(N5) so dont have to
forward to N6
Start from N1
N1(u)
N2
N7
Passing query to N5
N5 passes to N3 N6 N8 (Flood mechanism)
N5(v)
N3
N8
?
?
?
N4
Finally, N5 only has to forward query to N8 (EFA
method)
?
N6
13Algorithm correctness
- For an arbitrary
- node v, which receives forwarding query from its
- neighbor node u, the entry (u,v) in the routing
table of v - decides which neighbors the query would be
forwarded. - And the entries in the routing table is computed
with the - following principle If vs neighbor x ? fr(u,
v), then v - need not forward the query to x, because v knows
x has - been reached by u. If x ? fr(u), but xs neighbor
y ? fr(u), - we compare the id of y and v, if vs id is
smaller, then v - forward the query to u, otherwise, v leave the
query for y - that has a smaller id to forward the query.
Therefore, for - an arbitrary neighbor of v, it would be reached
either by v - or by other nodes in us reaching set, whose id
is smaller - than vs. Consequently, all nodes in the network
will be - reached by the forwarding protocol.
- ?guarantee all nodes will be reached with this
protocal
14Performance (simulator test)
- System overhead vs. network size
15Performance (simulator test)
- Degree vs. duplication
- For EFA, duplication ratio decreases when degree
grows to some extent
16Performance (simulator test)
- Success rate vs. system overhead
- EFA achieves better performance and scalability
than flooding does, especially when network is
well-connected or the network size is large
17Real system test (Gnutella vs. ECSP)
18Conclusion
- P2P systems currently in use are decentralized,
unstructured systems. - Two major problem are scalability and efficient
search algorithm. - ESCP provides a good mechanism for searching
mechanism than Gnutella does.