Task scheduling in cloud-fog computing systems