A Framework of Fog Computing: Architecture, Challenges, and Optimization | Synapse