Fully Decentralized Information System

P2P file sharing

  • Global scale application.

Example: Gnutella.

  • 40.000 nodes, 3 Mio files.

  • 3M nodes (Jan 2006).

Strengths

  • Good response time, scalable.

  • No infrastructure, no administration.

  • No single point of failure.

Weaknesses

  • High network traffic.

  • No structured search.

  • Free-riding.

Gnutella

Meeting Peers (Ping/Pong)

Protocol Message Types

TypeDescriptionContained Information

Ping

Announce availability and probe for other servents.

None.

Pong

Response to a ping.

IP address and port# of responding servent; number and total kb of files shared.

Query

Search request

Minimum network bandwidth of responding servent; search criteria.

QueryHit

Returned by servents that have the requested file

IP address, port# and network bandwidth of responding servent; number of results and result set.

Push

File download requests for servents behind a firewall

Servent identifier; index of requested file; IP address and port to send file to.

Searching

(Query/QueryHit/GET)

Structureless

Queries are flooded to neighbors, have a TTL, and are forwarded only once.

A query may obtain several responses indicating which peers provide the requested file. Among those, it selects one and is directly contacted in order to download the file.

  • Can we search using fewer packets?

Improvements in Message Flooding

Expanding Ring.

  • Start the search with small TTL (e.g. TTL = 1).

  • If no success iteratively increases TTL (e.g. TTL = TTL +2).

k-Random Walkers.

  • Forward the query to one randomly chosen neighbor only, with large TTL.

  • Start k random walkers.

  • Random walker periodically checks with the requester whether to continue.

Hybrid Gnutella: “Ultrapeers”

Ultrapeers can be installed (KaZaA) or self-promoted (Gnutella v.2).

Real Gnutella Network

Popular open-source file-sharing network.

  • ~450,000 users as of 2003.

  • ~2,000,000 today.

Ultrapeer-based Topology.

  • Queries flooded among ultrapeers.

  • Leaf nodes are shielded from query traffic.

  • Based on multiple crawlers.

Last updated