  The Internet of Things needs for computing power and storage are expected to
remain on the rise in the next decade. Consequently, the amount of data
generated by devices at the edge of the network will also grow. While cloud
computing has been an established and effective way of acquiring computation
and storage as a service to many applications, it may not be suitable to handle
the myriad of data from IoT devices and fulfill largely heterogeneous
application requirements. Fog computing has been developed to lie between IoT
and the cloud, providing a hierarchy of computing power that can collect,
aggregate, and process data from/to IoT devices. Combining fog and cloud may
reduce data transfers and communication bottlenecks to the cloud and also
contribute to reduced latencies, as fog computing resources exist closer to the
edge. This paper examines this IoT-Fog-Cloud ecosystem and provides a
literature review from different facets of it: how it can be organized, how
management is being addressed, and how applications can benefit from it.
Lastly, we present challenging issues yet to be addressed in IoT-Fog-Cloud
infrastructures.
