Wednesday, February 8, 2012

Gossip Protocol: An Introduction

Gossip Protocol is a type of communication protocol used mostly in large scale distributed systems. It is based upon gossip conversations which is common in many social circles. Gossip Protocols are becoming increasingly popular in distributed application due to its simplicity, scalability and high reliability even in constantly changing environments. Gossip Protocol involves periodic message exchanges between node pairs, which eventually results in information being spread throughout the system which is similar to human gossiping. It is sometimes referred to as epidemic protocols because the information spread is similar to the spread of a virus.

The operation of a gossip protocol is as follows.
  • Each node has some data associated with it and periodically gossips that data with another node
  • Node A randomly selects a node B from a list of nodes known to it
  • A sends a message to B containing the data from A
  • B sends back a response containing its data
  • A and B update their data set by merging it with the received data