34], conveying the ability of our model to describe complexcomposed systems.
2. GOSSIP-BASED PROTOCOLS
In a typical gossip protocol, each node maintains a (partial)view of the nodes participating in the protocol. Periodically,each node exchanges messages with a randomly selected peerfrom its view. In some gossip protocols, the initiating node
pushes
information to its peer. In others, the initiating node
pulls
information from the peer.This simple communication pattern provides a robust wayto disseminate information in large-scale distributed sys-tems. Demers
et al.
[10] pioneered gossip in distributed sys-tems by using an epidemic approach to maintain consistencyacross databases on Xerox’s Clearinghouse servers. Birmanet al. [5] later used gossip to build a probabilistically reliablemulticast primitive. More recently, some have even lever-aged gossip to create the structure of logical networks andoverlays. This task is made easier by basic gossip-based pro-tocols that maintain up-to-date membership information.
When Gossiping is Good (or Bad).
In this paragraph, webriefly state what is our vision of gossip and what are the—current— best uses it has, from the application designerpoint of view. We invit the reader not to take it as a fixedconsensus, but rather as a position based on the currentstate of the art, a position that is prone to evolve with newadvances in research.Using gossip to solve distributed systems problems usuallytrades off safety guarantees for liveness and/or performance.We therefore should be careful both that probabilistic guar-antees are adequate for an application’s requirements andthat the target environment satisfies the probabilistic as-sumptions.Gossip is appropriate in non time-crictical systems, wherethe following properties are required or desired for the appli-cation: adaptivity and self-organization, scalability, robust-ness and simplicity of design & implementation. Most dis-tributed applications on the Internet present these require-ments. Notably, content distribution networks and theiraffiliated mechanisms are candidates to a gossip-based im-plementation ; as are communication systems, at the mid-dleware layer (event notification mechanisms, resource dis-covery). Other potential application we envision as primarytarget for a gossip-based implementation include monitoringand fault detection algorithms, and communication plat-forms and tools (such as RSS feeds update dissemination,discovery and maintenance of syndications systems, publickeys dissemination, and more). On should note that gossipproves also useful in applications with limited scalability.Specifically, gossip has been used in detecting failures forimplementing view synchronous group communication[30],garbage collection[14], and even for consensus[28]. The keyadvantage in these proposals is reducing the number of mes-sages each process sends and receives from quadratic (all-to-all) to linear (gossip).Gossip is inappropriate when a failure to meet a guaranteecan lead to catastraphic failure. As a rule of thumb, prob-abilistic safety guarantees are adequate when the output of the gossip protocol has a limited timespan and consequences.In contrast, the well-known use of group membership for se-lecting a primary for passive replication is not compatiblewith probabilistic safety guarantees, as even a transient fail-ure to identify a unique primary could lead to irreversibleinconsistency. Even when gossip seems to be a good fit fora problem, there is an additional danger. Analytical modelsand simulations of gossip protocols make a number of as-sumptions that are a poor fit with real world scenarios, es-pecially in wide area networks. In particular, assuming thatlinks and processes fail independently is at odds with real In-ternet topologies. Furthermore, assuming that all processesfail benignly in a system composed of thousands of machinesleaves an obvious security hole in many gossip protocols.Challenging traditional assumptions in gossip protocols anddesigning secure solutions is an active research area.
3. GENERIC BUILDING BLOCKS (B
2
S
)
In a gossip-based protocol, each node possesses a small lo-cal view of the network state: other nodes, shared data orvalues, .... A gossip-based protocol relies on local viewsat each node being eventually consistent, according to somedesired property. A protocol’s objectives are to: (i) havelocal views converge towards this properties
asap
and (ii)to cope with dynamicity be having these views as coherenti.r.t. the whole system as possible, at any time. These twoproperties are important also if this protocol is the basis foranother protocol functionnalities.We can define the use and construction of such views as thenetwork component sampling service. This service providesaccess to a set of samples from the global network; samplescan be the set of latest data items sent in the network (thusproviding a notification service); if it is a uniformly randomsample of nodes, the service is a peer sampling service. Thepeer sampling service is a sound basis to provide more com-plex protocols [2, 34]. We present this service as one of theblocks in section 4.1.Gossip-based protocols present common general function-nalities: (i) selecting peers with which to exchange infor-mation, (ii) determining which set of information to sharebetween nodes and (iii) updating the new local view.We observe two key sets here. First, we will denote SEL(
sel
ect) the set of nodes (IP adresses) from which a peer togossip with may be chosen. Second, we will denote EXC(
exc
hange) as the set of information (network componentsamples, that is, nodes, data, etc. ; depending on the pro-tocol) that is used as the local view and that is exchangedbetween peers.We will in the following consider these two sets as the maininputs the application designer has to link to any gossip-based protocol provided as an application B
2
. A gossip-based protocol has the goal to provide a local view to thenode that rely on some global desired property. This viewis the
out
put OUT of the block, and if it contains nodes itcan be used as a entry for the SEL and EXC sets of anotherblock. This provides the possibility to pile up gossip-basedprotocols to provide more complex protocols and propertiesto the application. Figure 1 depicts the generic principleof a B
2
in our framework, with its input and output. Note
Leave a Comment