Peer to Peer Model of computing

1. Napster kind: regional server/central server concept

2. Gnutella and Kazaa: second generation napster: Used anycast: flooding requests to host within a specified distance
Problem: scalability

3. CAN: content addressible network: two dimensional space

4. Bimodal multicast: (Demers-- Xerox PARC)
Message distribution phase + gossip repair phase
A process transmits a message thru mulicast.
After a process receives a message it begin to gossip to a selected set of peers.
Within a (log) short time the network is filled with gossip.
Model is called "epidemic" since it is similar to biological epidemic
(See paper on Membership we discussed earlier)
Bimodal multicast uses push-pull-edidemic model
Gossip push occurs when a process send a message and pull occurs if the peer responds with some information.
The protocol guarantees eventual convergence.
Eventual convergence may not be sufficient for many applications.

5. Probabilistic Broadcast: pbcast (Hayden)
designed for a static set of processes, which communicate synchronously over fully connected
point-topoint network.
Hayden assumes two types of faults: process fault fp and message dropping fault fm
These probabilities are independent of the order of (fp = 0.05 and fm = 0.0001)
Guarantees ordered delivery
Pessimistic model

6. Enhance Hayden's using Critian, Aghili, Strong, and Dolev (CASD) protocol suite for atomic broasdcast
for static membership:
By delaying the delivery of a message until it is known that all correct processes have a copy of the message,
totally ordered delivery can be guaranteed. See Fig. 25.9, 25.10