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