Fog Computing is a system-level horizontal architecture that distributes resources and services of computing, storage, control and networking anywhere along the continuum from the cloud to the things. High-performance, high-scale, high-availability IoT applications, which may have been impossible if run exclusively in the cloud, are enabled via a hierarchical fog system between the things and the cloud. This lets us grow IoT to support the existing and future performance-critical, mission-critical and life-critical applications.
by Chuck Byers and Tao Zhang, Cisco
The Internet of Things (IoT) is a multi-trillion dollar opportunity that will fundamentally change our interaction with technology, the world, and each other in the coming years. As billions of sensors, actuators, and other devices are connected to the Internet, our world is becoming increasingly digitized. This pervasive connectivity is expected to make our technology and our applications more powerful, efficient, secure, and safe.
Unfortunately, there are many challenges to realizing the full digitization of the planet. Cloud computing has been providing flexible, scalable, cost-effective computation and storage for IoT applications. But sometimes, the cloud is unable to meet the stringent requirements of critical IoT applications, and must be supplemented with localized computation, networking and storage resources and services. In other words, cloud capabilities will need to be brought “closer to the ground” to meet these challenges – forming the key premise of fog computing. Figure 1 is an overview of a fog computing network in a smart city application. Other fog applications would have similar structure.
IoT Applications that Benefit from Fog
Hundreds of use cases in vertical markets as diverse as transportation, utilities, smart cities, manufacturing, retail, energy, healthcare, agriculture, government, and the consumer space have demonstrated significant business values and the technical necessity of fog computing. The following are several such use cases where fog computing will play an essential role.
- In intelligent transportation systems, fog nodes are often used along the roadside, at traffic intersections, along rail lines, and at drone or unmanned aerial vehicle (UAV) flyway cabinets to support vehicle-to-infrastructure communication, host sensors, and provide the local intelligence needed to implement critical applications like collision avoidance, autonomous vehicle control, and wireless charging for batteries on electrical vehicles. Stringent latency requirements mandate that some critical computing resources must be local. If the critical sensor readings were transported to the cloud, and the cloud’s responses were transported back to the actuators on the vehicles, several hundred milliseconds of latency could happen because of network delays, time of flight, and server queue times. During that time, high speed vehicles may travel on the order of ten meters or more, seriously compromising the effectiveness and safety of smart transportation applications such as collision avoidance or platooning. Local fog nodes can achieve response times in the millisecond range, greatly improving performance and safety of these critical applications.
- Monitoring of wells and pipelines in the oil and gas industry is a key IoT application. A large production installation could create terabytes per day of raw sensor readings. Since these installations are often in remote areas, the network bandwidth to send this data to the cloud may be unavailable or prohibitively expensive. By installing local fog nodes near the facilities, local computation and storage capabilities can continuously monitor the data streams, perform local analytics to detect potential problems and early warning signs, and distill the readings into much smaller messages that can be efficiently and economically transported over limited long-haul network bandwidth to the cloud-based systems.
- Some mobile applications require continuous control or monitoring. In fleet management applications, the location, status, cargo condition, and driving behavior of vehicles is continuously monitored and reported to the cloud. Unfortunately, due to the sometimes patchy cellular network connectivity to these vehicles, we can’t rely on the cloud alone to collect these readings. Local fog nodes, riding on the vehicles, can continuously collect the required data, and immediately send it to the cloud when network connections are available. When they are not connected, the local fog nodes store the readings, and send them to the cloud once network connections are re-established.
- Certain IoT applications require nonstop operations over long periods of time, even in the presence of intermittent network connectivity to the cloud and even in cases of catastrophic network failures. Consider a smart city emergency response application that provides wireless connectivity to first responders and to the general public to provide response plans, evacuation routes, or emergency instructions. In the aftermath of a natural disaster, the cloud-based web servers that run the municipal emergency website may be unreachable. If wireless access points distributed across the city have battery backup, and local fog nodes associated with them have pre-cached this information, the public can receive their vital instructions even though the Internet infrastructure is hopelessly damaged.
Fog computing and networking architectures are being developed to support these and many other applications, and meet these challenges. Fog nodes can form a multi-level hierarchy, with local fog nodes close to the things, neighborhood-level fog nodes supporting a group of local fog nodes, and, regional fog nodes covering larger geographic areas (e.g., city-wide). In each level of the hierarchy, multiple fog nodes collaborate with each other, sharing applications, balancing computing and networking loads, and distributing data storage. A variety of networking links, with capacities matching specific application needs, connect things to local fog nodes. High-speed network links will interconnect fog nodes between the local, neighborhood, and regional levels, connect multiple fog nodes at the same level, and interconnect the fog nodes to the cloud. This richly interconnected end-to-end fog system provides the capacity, performance, and reliability scalability of the fog solution. Figure 2 illustrates some of the challenges associated with running applications exclusively in the cloud or in intelligent endpoints, and how a hierarchical fog network can address these challenges.
The Open Fog Consortium (OpenFog)
For fog computing to be truly successful, it must be based upon an open architecture with interoperable standards, supported by a large ecosystem of innovative companies. If fog computing is a closed, single supplier product, application developers and system integrators will be reluctant to invest in it.
In November 2015, leading organizations including Cisco, Dell, Intel, Microsoft, ARM and Princeton University launched the Open Fog Consortium (OpenFog) to develop an open reference architecture, demonstrate the business value and technology necessity, and accelerate market adoption of fog computing. Since then, many more industry leaders, startups, and research institutes have joined OpenFog. Regional teams in different parts of the world are being launched to better address the unique needs in different regions. To boost industry-academia collaboration on fog computing, OpenFog has formed a strategic affiliation with the IEEE to co-create and co-promote fog concepts and architectures and collaborate on marketing, education and standards initiatives.
The recently published OpenFog Reference Architecture White Paper (http://www.openfogconsortium.org/resources/) describes the high level properties the OpenFog founding members envision for fog. At the core of this work is a description of eight “Pillars of Fog Computing” that cover the most critical properties of fog computing (see Figure 3).
Currently, OpenFog is focused on producing the OpenFog Reference Architecture. This will be a comprehensive guide to the implementation and deployment of standard, interoperable fog computing capabilities. Systems designed in compliance with the OpenFog Reference Architecture should be expected to interoperate seamlessly. Looking beyond today’s cloud computing, you will see the emergence of the fog computing era. Fog computing bridges today’s Internet to the full potential of IoT to support everything from consumer electronics to industrial control systems to drones and pervasive virtual reality.
About the authors:
Chuck C. Byers is a Technical Leader and Platform Architect with Cisco’s Corporate Strategic Innovation Group. He works on the architecture and implementation of media processing systems, Fog Computing platforms, and the Internet of Things. Before joining Cisco, he was a Bell Labs Fellow at Alcatel-Lucent. During his 30 years in the telecommunications networking industry, he has made significant contributions in areas including voice switching, broadband access, converged networks, VoIP, multimedia, video, modular platforms and IoT and is active in several standards bodies; PICMG’s AdvancedTCA, AdvancedMC, MicroTCA subcommittees, and the OpenFog Consortium.
Dr. Tao Zhang, an IEEE Fellow, is a Distinguished Engineer / Senior Director of Cisco Corporate Strategic Innovation Group. He joined Cisco in 2012 as the Chief Scientist for Smart Connected Vehicles. Since then, he has also been leading the creation of strategies, technology, and ecosystems for the Internet of Things and Fog Computing. Prior to Cisco, he was Chief Scientist and Director of Vehicular Networking, and Director of Mobile Networks at Telcordia Technologies (formerly Bell Communications Research or Bellcore). Dr. Zhang has held various technical and executive positions in the past 25 years.
Figure 1 – Fog Computing Overview. Fog nodes operate between the cloud and things in an IoT network, providing distributed computing, networking and storage capabilities.
Figure 2 – Hierarchy of fog nodes. Running applications exclusively in the cloud or on intelligent endpoints presents many challenges in IoT networks. By configuring a hierarchy of Fog nodes between them, these challenges can be addressed.
Figure 3 – Pillars of OpenFog. The OpenFog Consortium has identified eight pillars of OpenFog, that together represent the key requirements and driving principles of the OpenFog reference architecture. (Image courtesy of the OpenFog Consortium)