Skip to main content
Log in

Dynamic Gossip

  • Original Paper
  • Published:
Bulletin of the Iranian Mathematical Society Aims and scope Submit manuscript

Abstract

A gossip protocol is a procedure for spreading secrets among a group of agents, using a connection graph. The goal is for all agents to get to know all secrets, in which case we call the execution of the protocol successful. We consider distributed and dynamic gossip protocols. In distributed gossip, the agents themselves instead of a global scheduler determine whom to call. In dynamic gossip, not only secrets are exchanged but also telephone numbers (agent identities). This results in increased graph connectivity. We define six such distributed dynamic gossip protocols, and we characterize them in terms of the topology of the graphs on which they are successful, wherein we distinguish strong success (the protocol always terminates, possibly assuming fair scheduling) from weak success (the protocol sometimes terminates). For five of these protocols, strong success (fair) and weak success are characterized by weakly connected graphs. This result is surprising, because the protocols are fairly different. In the sixth protocol, an agent may only call another agent if it does not know the other agent’s secret. Strong success for this protocol is characterized by graphs for which the set of non-terminal nodes is strongly connected. Weak success for this protocol is characterized by weakly connected graphs satisfying further topological constraints that we define in the paper. One direction of this characterization is surprisingly harder to prove than the other results in this contribution.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

References

  1. Apt, K., Grossi, D., van der Hoek, W.: Epistemic protocols for distributed gossiping. In: Ramanujam, R. (ed.) Proceedings of 15th TARK (2015), pp. 51–66. https://doi.org/10.4204/EPTCS.215.5

  2. Attamah, M., van Ditmarsch, H., Grossi, D., van der Hoek, W.: Knowledge and gossip. In: Proceedings of 21st ECAI, pp. 21–26. IOS Press, Amsterdam (2014)

  3. Attamah, M., van Ditmarsch, H., Grossi, D., van der Hoek, W.: The pleasure of gossip. In: Başkent, C., Moss, L., Ramanujam, R. (eds.) Rohit Parikh on Logic, Language and Society, pp. 145–163. Springer, Berlin (2017)

    Chapter  Google Scholar 

  4. Baker, B., Shostak, R.: Gossips and telephones. Discrete Math. 2(3), 191–193 (1972)

    Article  MathSciNet  MATH  Google Scholar 

  5. Boyd, D.W., Steele, J.M.: Random exchanges of information. J. Appl. Probab. 16(3), 657–661 (1979)

    Article  MathSciNet  MATH  Google Scholar 

  6. Bumby, R.: A problem with telephones. SIAM J. Algebraic Discrete Methods 2(1), 13–18 (1981)

    Article  MathSciNet  MATH  Google Scholar 

  7. Doerr, B., Friedrich, T., Sauerwald, T.: Quasirandom rumor spreading. ACM Trans. Algorithms 11(2), 1–35 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  8. Eugster, P.T., Guerraoui, R., Kermarrec, A., Massoulié, L.: Epidemic information dissemination in distributed systems. IEEE Comput. 37(5), 60–67 (2004)

    Article  Google Scholar 

  9. Golumbic, M.C.: The general gossip problem. Technical Report IBM Research Report RC4977, IBM (1974)

  10. Haeupler, B.: Simple, fast and deterministic gossip and rumor spreading. J. ACM 62(6), 47 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  11. Haeupler, B., Pandurangan, G., Peleg, D., Rajaraman, R., Sun, Z.: Discovery through gossip. Random Struct. Algorithms 48(3), 565–587 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  12. Haigh, J.: Random exchanges of information. J. Appl. Probab. 18(3), 743–746 (1981)

    Article  MathSciNet  MATH  Google Scholar 

  13. Hajnal, A., Milner, E.C., Szemeredi, E.: A cure for the telephone problem. Can. Math. Bull. 15(3), 447–450 (1972)

    Article  MATH  Google Scholar 

  14. Harary, F., Schwenk, A.J.: The communication problem on graphs and digraphs. J. Frankl. Inst. 297, 491–495 (1974)

    Article  MathSciNet  MATH  Google Scholar 

  15. Harchol-Balter, M., Leighton, F.T., Lewin, D.: Resource discovery in distributed networks. In: Proceedings of 8th PODC, pp. 229–237. ACM, New York (1999). https://doi.org/10.1145/301308.301362

  16. Hedetniemi, S., Hedetniemi, S., Liestman, A.: A survey of gossiping and broadcasting in communication networks. Networks 18, 319–349 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  17. Hromkovic, J., Klasing, R., Pelc, A., Ruzicka, P., Unger, W.: Dissemination of Information in Communication Networks: Broadcasting, Gossiping, Leader Election, and Fault-Tolerance. Springer, Berlin (2005)

    MATH  Google Scholar 

  18. Hurkens, C.: Spreading gossip efficiently. Nieuw Archief voor Wiskunde 5(1), 208–210 (2000)

    MathSciNet  Google Scholar 

  19. Kermarrec, A.-M., van Steen, M.: Gossiping in distributed systems. SIGOPS Oper. Syst. Rev. 41(5), 2–7 (2007)

    Article  Google Scholar 

  20. Knödel, W.: New gossips and telephones. Discrete Math. 13, 95 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  21. Moon, J.: Random exchanges of information. Nieuw Archief voor Wiskunde 3(20), 246–249 (1972)

    MathSciNet  MATH  Google Scholar 

  22. Tijdeman, R.: On a telephone problem. Nieuw Archief voor Wiskunde 3(19), 188–192 (1971)

    MathSciNet  MATH  Google Scholar 

  23. van Ditmarsch, H., Kokkinis, I., Stockmarr, A.: Reachability and expectation in gossiping. In: Proceedings of the 20th PRIMA. LNCS, vol. 10621, pp. 93–109. Springer, Berlin (2017)

  24. van Ditmarsch, H., van Eijck, J., Pardo, P., Ramezanian, R., Schwarzentruber, F.: Epistemic protocols for dynamic gossip. J. Appl. Log. 20, 1–31 (2017)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgements

We acknowledge support from ERC project EPS 313360. The research of Pere Pardo was also supported by a Sofja Kovalevskaja award of the Alexander von Humboldt-Foundation, funded by the German Ministry for Education and Research. Rahim Ramezanian conducted this research as a Ph.D. student at Sharif University of Technology under the supervision of Mohammad Ardeshir. We thank the reviewers of the journal BIMS for their comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hans van Ditmarsch.

Additional information

Communicated by Jamshid Moori.

Appendix

Appendix

We introduce some more terminology, to be used in Lemma 34. A source is a node with \({\mathrm{deg}}_{\mathsf {out}}(s) \ge 2\). An initial source is a source that is a minimal node. A t-ghost (or ghost) is a node x with \({\mathrm{deg}}_{\mathsf {in}}(x) = 0\), \({\mathrm{deg}}_{\mathsf {out}}(x) = 1\), and Nxt for some terminal node t. We introduce some notation for a path \(x_1,\dots ,x_n\) as \([x_1,x_n]\); and where \(x \in [x_1,x_n]\) means \(x \in \{x_1,\dots ,x_n\}\). If we want to exclude the first node in the path, we write \((x_1,x_n]\), and similarly for \([x_1,x_n)\) and for \((x_1,x_n)\) (unless the latter causes ambiguity with a pair in a relation). A lonely path is a path \([x_1,x_n]\), such that for all \(y \in (x_1,x_n)\), the in-degree and out-degree of y is 1. In other words, in a lonely path, there is no branching in or branching out, except maybe at the first or at the last node.

Let \(G = (A,N,S)\) be a gossip graph, \(B \subseteq A\) and \(x \notin A\). The B-abstraction of G is the graph \(G' = (A', N', S')\) where: \(A' = (A{\setminus } B)+x\); \(N'yz\) iff (Nyz, or \(x=y\) and \(\exists w \in B\), such that Nwz, or \(x=z\) and \(\exists w \in B\), such that Nyw, or \(x = y = z\)); and similarly for \(S'\). Informally, the B-abstraction replaces all nodes in B by the single node x, and any edge from a node in B to a node in \(A {\setminus } B\) by an edge from x to that node in \(A {\setminus } B\), and vice versa.

Lemma 34

Let G be a weakly connected gossip graph where all edges are bridges,  with at least one source node,  wherein any node with in/out-degree 1 is a ghost,  and that is not a double bush. Then,  G has a successful \(\mathsf {LNS}\) sequence.

Proof

The proof is by induction on the number of source nodes. There are two base cases: for one source node, and for two source nodes in a particular configuration. The inductive case applies to two source nodes not in that configuration and to three or more source nodes.

One source node   The treatment for a single source with two successors is different from the treatment for a single source with more than two successors. Figure 7 illustrates the two cases. Terminals are named \(t_{1}, t_{2}, \ldots , t_{n}\) and the source is named s.

Fig. 7
figure 7

Gossip graphs with one source node and with two resp. more than two successors

If \({\mathrm{deg}}_{\mathsf {out}}(s)=2\), at least one path must have length 2, because, otherwise, the graph is a double bush; say that this is on the path \([s,t_1]\). Note that \((s,t_1)\) is then non-empty; this plays a role below. The following call sequence is \(\mathsf {LNS}\)-permitted and successful on G:

  • a maximal bottom–up call sequence for \([s, t_{2})\);

  • a maximal bottom–up call sequence for \([s, t_{1})\);

  • all agents in path \((s,t_{1})\) call \(t_{1}\);

  • each \(t_{1}\)-ghost calls \(t_{1}\);

  • call \(st_{2}\); each \(t_{2}\)-ghost calls \(t_{2}\);

  • call \(t_{1} t_{2}\); all agents in path \((s, t_{1})\) and all \(t_{1}\)-ghosts call \(t_{2}\);

  • all agents in path \((s,t_{2})\) call \(t_{2}\);

  • all \(t_2\)-ghosts call \(t_1\); call \(s t_{1}\).

If \({\mathrm{deg}}_{\mathsf {out}}(s)\ge 3\), fix x to be some \(t_1\)-ghost. The following is \(\mathsf {LNS}\)-successful on G:

  • a maximal bottom–up call sequence for path \([s,t_2)\);

  • a maximal bottom–up call sequence for path \([s,t_1]\);

  • each \(t_1\)-ghost calls \(t_1\);

  • call \(st_{2}\); each \(t_2\)-ghost calls \(t_2\);

  • for \(3 \le i \le n\): \(t_1\) calls any agent along the path \((s,t_{i}]\); each \(t_i\)-ghost calls \(t_i\); x calls any agent along the path \((s,t_{i}]\);

  • \(t_n\) calls \(t_2\); all agents except s, \(t_n\), \(t_2\), and \(t_2\)-ghosts call \(t_2\);

  • the source s and each \(t_2\)-ghost call the successor of s in path n.

Two source nodes with special condition Given tree \(G_1\) with root \(t_1\) and tree \(G_2\) and root \(t_2\), consider gossip graph G consisting of \(G_1\) and \(G_2\) plus a source \(s_1\) that is connected by a link to \(t_1\) and by a path to a terminal t, and a source \(s_2\) that is connected by a link to \(t_2\) and also by a path to t.

figure g

Let \(\sigma ^1\) and \(\sigma ^2\) be maximal bottom–up call sequences in, respectively, \(G_1\) and \(G_2\). The sequence

$$\begin{aligned}{}[s_1t]; [s_2t]; tt_1; s_{2}t_{2}; \sigma ^1; \sigma ^2; t_2t_1; [s_{1},t) t_{1}; [s_{2}, t) t_{1}; tt_{2};\tau ^1; \tau ^2 \end{aligned}$$

is \(\mathsf {LNS}\)-successful on G, where \([s_1t]\) is a maximal bottom–up sequence for path \([s_1,t]\), and similarly for \([s_2t]\), where \([s_1,t)t_{1}\) is a sequence, wherein each agent in \([s_1,t)\) calls \(t_1\) (and \([s_2,t)t_{1}\) is defined similarly); finally, \(\tau ^1\) is the sequence, such that all the agents in \(G_1\) except \(t_1\) call \(t_2\); \(\tau ^2\) is the sequence that all the agents in \(G_2\) except \(t_2\) call \(t_1\).

At least two source nodes We first assume that there are two initial source nodes \(s_1\) and \(s_2\). Let u be the node where the paths from \(s_1\) and \(s_2\) meet (so \([s_1,u]\) and \([s_2,u]\) are lonely paths—no branching in, no branching out) (see also Fig. 8).

Fig. 8
figure 8

On the left: two initial sources. On the right: an initial and a non-initial source

Let \(\sigma ^{1}\) and \(\sigma ^{2}\) be maximal bottom–up call sequences in, respectively, \([s_1, u]\) and \([s_2, u]\). If u is a terminal, then let \(\sigma ^{3}\) be a call sequence from each u-ghost to u; otherwise \(\sigma ^{3} = \epsilon \). Consider the \(([s_1,u]\cup [s_2,u]\cup \{ z \mid z\,\, \mathrm{is\,\, a}\, \)u\(\,\,\mathrm{-ghost}\})\)-abstraction of G and let x be the new node generated by this abstraction. Call this graph \(G'\). Graph \(G'\) has one less source. If \(G'\) is a double bush, the base case (Two source nodes with special condition) applies and there is a successful \(\mathsf {LNS}\)-sequence \(\sigma \) on \(G'\). Otherwise, there is such a \(\sigma \) on \(G'\) by inductive hypothesis.

Let now v be a successor of \(s_1\) that is not in the path \([s_1, u]\). Let \(\tau \) be obtained from \(\sigma \) by replacing each occurrence of x with u, and let \(\tau '\) be a call sequence where all agents in \([s_1,u) \cup [s_2,u)\), and also all u-ghosts, call v (that is, all the agents different from u removed in the abstraction call v.)

Then, a successful \(\mathsf {LNS}\)-sequence on G is \(\sigma ^{1}; \sigma ^{2}; \sigma ^{3}; \tau ; \tau '\).

We can further justify why it is successful. After \(\sigma ^{1}; \sigma ^{2}; \sigma ^{3}\), agent u knows the secret of all agents in \([s_1,u] \cup [s_2,u] \cup \{z \mid z \,\,\mathrm{is\,\, a}\,\,\)u\(\mathrm{-ghost} \}\). After \(\tau \), all agents in G are experts except those in the abstracted part that are not u. After \(\tau '\), those other agents also become experts.

If there are no two initial sources, then, given that there are at least two sources, there must be two sources \(s_1, s_2\), such that \(s_1\) is an initial source and \(s_1\) is connected to \(s_2\) by a lonely path (see Fig. 8). Let \(\sigma ^{1}\) be a maximal bottom–up call sequence in \([s_1, s_2]\). Consider the \([s_1,s_2]\)-abstraction of G and let x be the new node. Let this graph be H. Since H has one less source node (and since it is not a double bush), there is an \(\mathsf {LNS}\)-sequence \(\sigma \) successful on H. Let \(\tau \) be the call sequence obtained from \(\sigma \) where we replace each occurrence of x with \(s_2\), and let \(\tau '\) be the call sequence where every agent in \([s_1, s_2)\) calls a successor v of \(s_1\) not in \([s_1, s_2]\). Similar to the previous case, it can be easily shown that \(\sigma ^{1}; \tau ; \tau '\) is an \(\mathsf {LNS}\)-sequence successful on G. \(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

van Ditmarsch, H., van Eijck, J., Pardo, P. et al. Dynamic Gossip. Bull. Iran. Math. Soc. 45, 701–728 (2019). https://doi.org/10.1007/s41980-018-0160-4

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s41980-018-0160-4

Keywords

Navigation