Resource Management Approaches in Fog Computing: a Comprehensive Review