A distributed cross layer recommender system incorporating product diffusion. (14th February 2019)