Fog computing, also known as fogging, is a model in which data, processing and applications are concentrated in devices at the network edge rather than existing almost entirely in the cloud.
That concentration means that data can be processed locally in smart devices rather than being sent to the cloud for processing. Fog computing is one approach to dealing with the demands of the ever-increasing number of Internet-connected devices sometimes referred to as the Internet of Things (IoT).
In the IoT scenario, a thing is any natural or man-made object that can be assigned an IP address and provided with the ability to transfer data over a network. Some such things can create a lot of data. Cisco provides the example of a jet engine, which they say can create 10 terabytes (TB) of data about its performance and condition in a half-hour. Transmitting all that data to the cloud and transmitting response data back puts a great deal of demand on bandwidth, requires a considerable amount of time and can suffer from latency. In a fog computing environment, much of the processing would take place in a router, rather than having to be transmitted.
Fog Computing extends the cloud computing paradigm to the edge of the network. While fog and cloud use the same resources (networking, compute, and storage) and share many of the same mechanisms and attributes (virtualization, multi-tenancy) the extension is a non-trivial one in that there exist some fundamental differences stemming from the reason fog computing was developed: to address applications and services that do not fit the paradigm of the cloud.
These applications and services include:
- Applications that require very low and predictable latency. The cloud frees the user from many implementation details, including the precise knowledge of where the computation or storage takes place. However, this freedom from choice, welcome in many circumstances becomes a liability when any significant degree of latency is unacceptable(gaming, videoconferencing).
- Geographically distributed applications (pipeline monitoring, sensor networks to monitor the environment).
- Fast mobile applications (smart connected vehicle, connected rail).
- Large-scale distributed control systems (smart grid, connected rail, smart traffic light systems).
Cisco’s Ginny Nichols coined the term fog computing. The metaphor comes from the fact that fog is the cloud close to the ground, just as fog computing concentrates processing at the edge of the network. According to Cisco, fog computing extends from the edge to the cloud, in a geographically distributed and hierarchical organization.
"Cisco Fog Computing" is a registered name; “fog computing” is open to the community at large.