Hierarchical Edge Caching in Device-to-Device Aided Mobile Networks: Modeling, Optimization, and Design | Synapse