Challenges and Software Architecture for Fog Computing. | AMiner