  In this survey, we discuss the evolution of distributed computing from the
utility computing to the fog computing, various research challenges for the
development of fog computing environments, the current status on fog computing
research along with a taxonomy of various existing works in this direction.
Then, we focus on the architectures of fog computing systems, technologies for
enabling fog, fog computing features, security and privacy of fog, the QoS
parameters, applications of fog, and give critical insights of various works
done on this domain. Lastly, we briefly discuss about different fog computing
associations that closely work on the development of fog based platforms and
services, and give a summary of various types of overheads associated with fog
computing platforms. Finally, we provide a thorough discussion on the future
scopes and open research areas in fog computing as an enabler for the next
generation computing paradigm.
