Caching techniques in next generation cellular networks