The trickle algorithm is considered as an adaptive mechanism for allowing efficient and reliable information sharing among nodes, communicating across a lossy and shared medium. Its basic principle is, for each node, to monitor transmissions from its neighbors, compare what it receives with its current state, and schedule future transmissions accordingly.
With Multipoint Relay Flooding(MPR), each node selects a set of relays (its MPRs) from among its direct neighbors. A node, X, selects its MPR Set such that a message transmitted by X and relayed only by the members of its MPR set will be received by all nodes 2 hops away and stipulates that a node relays a multicast message only if received from a node having selected it as MPR. So, MPR Flooding reduces the number of redundant copies of messages sent through the network that helps the trickle algorithm in term of node monitoring the transmission for its neighbors.
Trickle Multicast was found to be resilient to very lossy links, and to maintain an overall high data delivery ratio when faced with such – whereas Classic Flooding and MPR Flooding, both, fail to deliver acceptable delivery ratios in these scenarios. On the other hand, in networks with more reliable links, Trickle Multicast exhibit less excellence.