Distributed Gossip Protocols Krzysztof R. Apt CWI and University of Amsterdam Based on joint work with Wiebe van der Hoek and Davide Grossi
Anyone who has obeyed nature by transmitting a piece of gossip experiences the explosive relief that accompanies the satisfying of a primary need. Primo Levi Krzysztof R. Apt Distributed Gossip Protocols
Gossip Protocols Example n people, each knows a secret. How many phone calls are necessary before everybody knows every secret? In each call all secrets are exchanged. Theorem (many authors, early seventies) At least 2 n − 4 calls are needed. Krzysztof R. Apt Distributed Gossip Protocols
A solution with 4 calls for n = 4 A call: ( a , b ). A = { a , b , c , d } . Take the sequence ( a , b ) , ( c , d ) , ( a , d ) , ( b , c ). After it a , b , c , d know all the secrets. Krzysztof R. Apt Distributed Gossip Protocols
A solution with 4 calls for n = 4 A call: ( a , b ). A = { a , b , c , d } . Take the sequence ( a , b ) , ( c , d ) , ( a , d ) , ( b , c ). After it a , b , c , d know all the secrets. Note that the sequence ( a , b ) , ( b , c ) , ( c , d ) , ( d , a ) does not do the job. Krzysztof R. Apt Distributed Gossip Protocols
A solution with 2 n − 4 calls for n ≥ 4 Let A = { a , b , c , d , i 1 , . . ., i n − 4 } . Take the sequence ( a , i 1 ) , ( a , i 2 ) , . . ., ( a , i n − 4 ). After it a knows all the secrets of i 1 , . . ., i n − 4 . Follow it by the sequence ( a , b ) , ( c , d ) , ( a , d ) , ( b , c ). After it a , b , c , d know all the secrets. Follow it by the sequence ( a , i 1 ) , ( a , i 2 ) , . . ., ( a , i n − 4 ). After it all the agents know all the secrets. Note This is a centralized algorithm. Krzysztof R. Apt Distributed Gossip Protocols
Gossip Algorithms A vast area. Krzysztof R. Apt Distributed Gossip Protocols
Gossip Algorithms A vast area. (Hedetniemi, Hedetniemi and Liestman, ’88) A survey of gossiping and broadcasting in communication networks . It has 135 references. Krzysztof R. Apt Distributed Gossip Protocols
Gossip Algorithms A vast area. (Hedetniemi, Hedetniemi and Liestman, ’88) A survey of gossiping and broadcasting in communication networks . It has 135 references. Distributed gossip protocols: each agent acts autonomously, by passing on the gossips it knows and/or by soliciting gossips it does not know. Krzysztof R. Apt Distributed Gossip Protocols
Distributed Gossip Protocols based on Epistemic Logic Assumptions (Attamah, Van Ditmarsch, Grossi and Van der Hoek, ’14). Agents and secrets. ◮ A finite set A of at least two agents. ◮ Each agent holds a secret. Agent’s a secret denoted by A . ◮ Each secret is viewed a distinct propositional variable. ◮ P: the set of all secrets. Types of calls. ◮ ab − : every agent c � = a , b noted that a called b , ◮ ab 0 : every agent c � = a , b noted that some call took place, though not between whom, ◮ ab + : no agent c � = a , b noted that the call between a and b took place (considered here). In all three cases no agent c � = a , b learns the contents of the call. Intuition. The superscript indicates the degree of privacy of the call: − < 0 < +. Krzysztof R. Apt Distributed Gossip Protocols
Syntax Epistemic formulas φ ::= F a p | ¬ φ | φ ∧ φ | K a φ, where a ∈ A and p ∈ P. Intuition. F a p is a primitive formula: agent a is familiar with (knows) secret p . Krzysztof R. Apt Distributed Gossip Protocols
Syntax, ctd (modelled after CSP [Hoare ’78]) Component program for an agent a : ∗ [[] m j =1 φ j → S j ] , where each φ j is an epistemic formula, each S j is a call in which agent a is the caller. Abbreviations: φ 1 → S , . . ., φ k → S to � k i =1 φ i → S , φ 1 → S 1 , . . ., φ k → S k to [] k j =1 φ j → S j . Example ∗ [ � k i =1 φ i → S [] m j =1 ψ j → T j ] . Krzysztof R. Apt Distributed Gossip Protocols
Modes of Communication push, ⊲ , pull, ⊳ , push-pull, ab or ( a , b ). In [ADGH14] only push-pull was considered. Krzysztof R. Apt Distributed Gossip Protocols
Symmetric Protocols Component program: a protocol executed by an individual agent. Distributed protocol: a parallel composition of component programs. Symmetric protocol: a composition of the component programs that are identical modulo the names of the agents. Formally. Consider π ( x ), where x ranges over A, such that for each a ∈ A, π ( a ) is a component program for agent a . Then the parallel composition of π ( a ), where a ∈ A, is a symmetric gossip protocol. Krzysztof R. Apt Distributed Gossip Protocols
Example Protocol Consider the agents 1 , 2 , . . ., n arranged in a ring, where n ≥ 3. Program for agent i : ∗ [ ¬ K i F i ⊕ 1 I ⊖ 1 → ( i , i ⊕ 1)] . Agent i calls his successor, i ⊕ 1, if i does not know whether his successor knows the secret of i ’s predecessor, i ⊖ 1. Krzysztof R. Apt Distributed Gossip Protocols
Example Protocol, ctd Program for agent i : ∗ [ ¬ K i F i ⊕ 1 I ⊖ 1 → ( i , i ⊕ 1)] . Krzysztof R. Apt Distributed Gossip Protocols
Example Protocol, ctd Program for agent i : ∗ [ ¬ K i F i ⊕ 1 I ⊖ 1 → ( i , i ⊕ 1)] . This protocol is not correct. Krzysztof R. Apt Distributed Gossip Protocols
Example Protocol, ctd Program for agent i : ∗ [ ¬ K i F i ⊕ 1 I ⊖ 1 → ( i , i ⊕ 1)] . This protocol is not correct. The sequence of calls ab , bc , cd , de , ea , ab results in a termination. Krzysztof R. Apt Distributed Gossip Protocols
Example Protocol, ctd Program for agent i : ∗ [ ¬ K i F i ⊕ 1 I ⊖ 1 → ( i , i ⊕ 1)] . This protocol is not correct. The sequence of calls ab , bc , cd , de , ea , ab results in a termination. However, at this point agent c does not know the secret of agent e . Krzysztof R. Apt Distributed Gossip Protocols
Semantics (` a la [ADGH14]) Gossip situation: ((Q a ) a ∈ A ), where ∀ a Q a ⊆ P. Intuition. Q a is the set of secrets a knows. Initial gossip situation: Each Q a equals { A } . Intuition. Initially each agent knows only his own secret. Krzysztof R. Apt Distributed Gossip Protocols
Transformation of the Gossip Situations Each call transforms the current gossip situation by adjusting the relevant Q i relations. Krzysztof R. Apt Distributed Gossip Protocols
Transformation of the Gossip Situations Each call transforms the current gossip situation by adjusting the relevant Q i relations. ab ( G ) = G ′ , where Q ′ a = Q ′ b = Q a ∪ Q b , Q ′ c = Q c for c � = a , b , Krzysztof R. Apt Distributed Gossip Protocols
Transformation of the Gossip Situations Each call transforms the current gossip situation by adjusting the relevant Q i relations. ab ( G ) = G ′ , where Q ′ a = Q ′ b = Q a ∪ Q b , Q ′ c = Q c for c � = a , b , ( a ⊲ b )( G ) = G ′ , where Q ′ b = Q a ∪ Q b , Q ′ a = Q a , Q ′ c = Q c for c � = a , b , Krzysztof R. Apt Distributed Gossip Protocols
Transformation of the Gossip Situations Each call transforms the current gossip situation by adjusting the relevant Q i relations. ab ( G ) = G ′ , where Q ′ a = Q ′ b = Q a ∪ Q b , Q ′ c = Q c for c � = a , b , ( a ⊲ b )( G ) = G ′ , where Q ′ b = Q a ∪ Q b , Q ′ a = Q a , Q ′ c = Q c for c � = a , b , ( a ⊳ b )( G ) = G ′ , where Q ′ a = Q a ∪ Q b , Q ′ b = Q b , Q ′ c = Q c for c � = a , b . Krzysztof R. Apt Distributed Gossip Protocols
Example Consider three agents, a , b , c and the sequence of three calls bc , ac , bc . In the initial gossip situation Q a = { A } , Q b = { B } , Q c = { C } . Krzysztof R. Apt Distributed Gossip Protocols
Example Consider three agents, a , b , c and the sequence of three calls bc , ac , bc . In the initial gossip situation Q a = { A } , Q b = { B } , Q c = { C } . The first call transforms it into one in which Q a = { A } , Q b = { B , C } , Q c = { B , C } . Krzysztof R. Apt Distributed Gossip Protocols
Example Consider three agents, a , b , c and the sequence of three calls bc , ac , bc . In the initial gossip situation Q a = { A } , Q b = { B } , Q c = { C } . The first call transforms it into one in which Q a = { A } , Q b = { B , C } , Q c = { B , C } . The second call transforms it into one in which Q a = { A , B , C } , Q b = { B , C } , Q c = { A , B , C } . Krzysztof R. Apt Distributed Gossip Protocols
Example Consider three agents, a , b , c and the sequence of three calls bc , ac , bc . In the initial gossip situation Q a = { A } , Q b = { B } , Q c = { C } . The first call transforms it into one in which Q a = { A } , Q b = { B , C } , Q c = { B , C } . The second call transforms it into one in which Q a = { A , B , C } , Q b = { B , C } , Q c = { A , B , C } . The third call transforms it into one in which Q a = { A , B , C } , Q b = { A , B , C } , Q c = { A , B , C } . Krzysztof R. Apt Distributed Gossip Protocols
Recommend
More recommend