The Roof Computing


Roof is a federated networking and computational paradigm for the Internet of Things (IoT) that is always available for real time onsite operations facilitation including next-hop connectivity for the Things, realtime context building and decision triggers, providing efficient data connectivity to the Cloud/Service providers, and always-on security. The Roof will be implemented as a software platform on various devices that proxy the Things and their IoT services to the rest of the world including but not limited to mobile phones, home routers, gateways, personal computers, servers and other computing platforms as appropriate.

In this article, I will introduces the concept of Roof Computing in the context of IoT, the motivation and the need, its features, how it is different from Fog and Cloud computing paradigms. I will also present applications where the Roof Computing is appropriate and the next steps to build the Roof Computing standard, the IEEE P1931.1.

The Origin

For the most of networking and communication engineers like me who has been in the industry since early 2000s and understand how the Internet functions, the way people use the metaphor, the Cloud Computing is annoying. Nonetheless, I gave up and started accepting it [2]. Sometime in 2013, I heard about the Fog Computing [3], yet another computing model, as we have fog below the clouds. Then, I started thinking, what is beneath the fog, so that I can predict the next computing paradigm.

I found that we have roofs below the fog, and I was sure somebody would be proposing the Roof Computing, but I did not know that it would be me.

Figure 1: Computing in the clouds, fog and roofs

A Roof for the Internet of Things

Roofs have played a significant role in the human evolution, especially, providing privacy and security for the people and their possessions [1]. In addition, the people under the roof is part of a family or related, there is a trust built among them, and live autonomously within the roof and go outside for creating more value and earning. If there is a problem outside, for example, a strike, the people under the roof would continue to live and function, and will be able to live at least for few days without interacting with the external world.

Figure 2: The roofs of San Cristóbal de las Casas, Mexico [WIKIPEDIA]
Like humans who are weak when positioned against the nature and anti-social elements, the Internet of Things are weak when exposed over the Internet as the Things in the IoT are constrained devices with limited capabilities to act and protect themselves [5]. Also, a typical IoT deployment involves multiple sensors, actuators and/or other devices and machines, like a family under the roof, and require a trust to be established between the Things under the roof. The Internet of Things operating within the scope that is smaller than the Cloud or the Fog require an environment, wherein they can operate, build trust, collaborate and be secure.

IoT and the Autonomy

Most of the businesses are hijacking the IoT to depict what the IoT is and where the value lies depending on what product or services these companies offer. The goal of any IoT deployment is take actions: switching on sprinklers in case of fire; reacting to a broken pipe; controlling a boiler temperature. IoT deals with the physical world and deployed for a mission, which requires the IoT system to function autonomously over a period of time, irrespective of what is happening elsewhere. For example, an IoT deployment in a factory should continue to function, if there is fiber cut outside the factory disrupting the cloud connectivity.

Figure 3: IoT – The fundamental design goal for an IoT application: Act Local; Think Global

The Things in an IoT application should operate and co-operate in a secure and independent manner within the context of a local environment such as home, factory, office or airport etc. essentially within the context of a local environment. Each IoT deployment should be able to act autonomously over a period of time (semi-autonomous) and connect into the fog or cloud only when needed or for a added value.

IoT and the Context

Internet of Things make the environment to speak for itself so that people and machines can understand the real world better. This helps in agility in making decisions and taking actions to make the world a better place to live.

Figure 4: IoT and the Context Building

IoT system generates continuous data which helps in building real-time context as well as patterns which can be observed over a period of time. The former helps in understanding real-world scenario to take actions required in real-time, the later can be used to understand the patterns using descriptive analysis as well as to improve the scenario using predictive and prescriptive analytics. The former is the real-time computing while the later is the offline computing. The offline computing is achieved using the Cloud Computing which provides large amount of data storage as well as large data processing capacity for the analytics for more value creation for the IoT applications. However, the challenge is to provide the reliable real-time computing for context building and real-time actions.

Cloud, Fog, IoT and the Missing Block

With the advent of the Internet of Things, the Cloud Computing has become a more important networking element as the need for storing and processing of large amount of data has increased. However, it falls short in managing the billions of devices having low-latency micro data transactions. Instead of forcing all processing to the Cloud, an intermediary Fog Computing (yet another metaphor) has been proposed for handling low latency tasks below the Cloud. However, managing the Fog network, maintaining connectivity and providing services upon that, in the scenarios of the Internet of Things at large scale, is not easy [4]. To support the realtime computing needs of an IoT deployment for local connectivity, realtime actions, security and autonomous functioning, we need a true always-available edge computing, called Roof Computing.

The Roof Computing for the Internet of Things

Roof Computing, unlike the Fog and the Cloud, is always available as the next hop for the Things and provides realtime computing needs for building the context and required actions, security and privacy, and efficient and flexible connectivity to the Cloud/ Service providers. Roof can be implemented in IoT gateways, home routers, mobile phones, personal computing platforms and other embedded platforms that proxy the Things for connectivity to the network and the Cloud.

Figure 5: Roof Computing

Roof Computing is placed at few meters (or one hop) away from the Things and far below the Fog and Cloud. The IoT gateways and other device that implement the Roof will be able to support the last meter connectivity for the Things. The Roof network architecture [Fig. 6] reflects the traditional federated networking architecture that is being practiced since the widespread use of the Internet. Roof enables this model for the Internet of Things for natural fit into the Internet and Cloud architecture.

Figure 6: The Roof federated architecture

In an IoT world, the Roof is a fixed network element that is always reachable as the first hop of communication and provides a strong secure network architecture by providing the Things with the required processing and storage to enhance the security, and robust connectivity to the Cloud. The Roof bridges the physical world and cyber world in creating highly scalable cyber physical systems for the IoT by connecting the Things and systems to the Cloud to build cyber system for the respective physical systems.

The Roof Computing reduces complexity, and increases security and agility for managing large scale IoT networks. Roof allows each of the IoT element (Things, Gateway, Cloud and Applications) to evolve independently from each other.

The Roof Functionality

The primary goal for the Roof is to provide highly functional, secure and scalable Internet of Things. To meet this goal, Roof provides four main functionalities [Fig. 7], viz:

Interoperable connectivity for the Things under the Roof
Context building and decisions to take actions in realtime
Information management and efficient connectivity to the Cloud and Service providers
Security & privacy by design

Figure 7: Motivation for the Roof

Inter-operable connectivity

IoT devices are fragmented with variety of connectivity technologies such as IEEE 802.15.4, IEEE 802.11, Bluetooth low energy (BLE), various Low Power Wide-Area Networks (LPWANs) and many others. Roof accommodates the wide range of Things with variety of access technologies. Roof is responsible for setting up the local network for the Things and provides application independent Internet connectivity for external access including the Cloud connectivity.

In addition to support for the various access technologies used by the Things, the Roof will also support multiple access, networking and application protocols. These protocols include: ZigBee, Z-Wave, Modbus, CAN bus, Bluetooth low energy, WiFi, IPv4, IPv6, MQTT, CoAP and several others.

Mobility is inherent to many IoT applications; sometimes, the IoT network, for example, a truck with perishable goods or a person with many sensors on him/her might be moving. It is important that the users and the Cloud continue to see the Things in the same way as they were set up initially as the truck or the person moves, and connect to different access networks for the Internet connectivity. The Roof would support the network mobility for the Things.

Context building and realtime decisions

IoT applications require two kinds of data analytics: Context Building and Big data analytics, the former is realtime analysis of the current situation i.e. the realtime approximation of the real-world scenario while the latter is for long-term analysis of the data patterns for predicting trends and preventive actions. The Roof builds the realtime context while the Cloud performs the big data analytics, both of which are natural for their location in the network architecture.

Building context and triggering immediate actions in the Roof makes the IoT system under the Roof more functional even in the cases of prolonged loss of connectivity to the Internet and Cloud.

Information management and efficient backhaul connectivity

Roof is the IoT aggregator and improves the efficiency of the network connectivity between the Things and the Cloud, and supports the protocols required to attach to the Cloud over the Internet. In addition, Roof will support connectivity to various service providers (e.g. utilities, safety and security providers, insurance providers, warranty and other service providers). Roof allows the end users to be able to choose and change the existing service and cloud providers.

Things generate data continuously, not all data makes sense nor useful. The gateways with Roof do not just route data but also store data and perform computations on the data as well. Roof filters unwanted data, typically the normal conditions, that may not help for future analysis, and transmit only the useful aggregated intermediate data to the Cloud thereby increasing the efficiency of the backhaul connectivity. The Roof can also store the data locally when the connectivity to the Cloud breaks, and upload the data when the connectivity has been reestablished.

Security and privacy by design

Security and privacy aspects (authentication, encryption and integrity verification) are the key functionalities that will be supported for the Things under the Roof. The interface between the Things and the Internet/Cloud is the weakest link as the Things are the constrained devices making them least self-protected network elements. The insecure interface between the Things and Cloud can result in data corruption, denial of service or complete takeover of the Things making the customers and business vulnerable for cyber-attacks.

Roof provides the capabilities for encrypting the data, intrusion detection and denying the unauthorized capture of data. In addition, Roof supports performing cryptographic operations for confidentiality, integrity, and availability of information, as well as a secure key storage, which may be required to meet local laws and regulations.



  1. The roof computing is a very interesting concept, how could I participate in the development of the standard?

  2. Hi there. I am really impressed by the concept and willing to do a project for the same. Kindly let me know if it is possible or can you suggest me anything on this topic for more detailing.


Please enter your comment!
Please enter your name here