A distributed cross layer recommender system incorporating product diffusion