Module P2p_poldercast

PolderCast: P2P Topic-based Pub/Sub

This is an OCaml implementation of PolderCast, a P2P topic-based pub/sub protocol described in the paper PolderCast: Fast, Robust, and Scalable Architecture for P2P Topic-Based Pub/Sub

It relies on three different gossip protocols:

Privacy

PolderCast, as specified in the paper, employs VICINITY for clustering, and transmits full node subscription profiles in the clear. See BLIP for a privacy mechanism that transmits subscriptions as randomized Bloom filters instead, and BFPSI, a Bloom filter-based Private Set Intersection protocol to determine common subscriptions of two nodes.

module Make : functor (Node_id : P2p.S.NODE_ID) -> functor (Group_id : P2p.S.GROUP_ID) -> functor (Node : P2p.S.NODE with type nid := Node_id.t) -> functor (Group : P2p.S.GROUP with type gid := Group_id.t) -> functor (View : P2p.S.VIEW with type nid := Node_id.t and type node := Node.t) -> functor (Msg_id : P2p.S.MSG_ID) -> functor (Pub : P2p.S.GOSSIP_DISSEM with type nid := Node_id.t and type node := Node.t and type view := View.t and type mid := Msg_id.t) -> S.PUBSUB with type nid := Node_id.t and type node := Node.t and type view := View.t and type mid := Msg_id.t and type gid := Group_id.t and type group := Group.t

PolderCast

module S : sig ... end

Signatures