Real Time Web
Real Time Web
As the Internet changed our world profoundly, the Internet of Things is set to change it again, but this time the change will be even deeper and more pervasive. Consumers and businesses will benefit from new types of services and better quality of services, leading to improved convenience, health, and safety.
Many new business opportunities will emerge from this technological change, paving the way to whole new business areas. Some of the areas that have already appeared on the horizon include smart homes, smart cities, smart manufacturing, smart power grids, automated driving solutions, intelligent transportation systems, and environmental monitoring systems. Much more is sure to follow.
But as the new technology transforms our world and the way we live and work, it will also transform the way we think about information technology and the way we build systems. The Internet of Things cannot be approached with conventional thinking because the conventional approaches simply do not scale. Real Time Web was created as the next-generation platform for the Internet of Things, with a novel outlook on how to build scalable, robust systems.
The tools we use have a profound (and devious!) influence on our thinking habits, and therefore on our thinking abilities.
Edsger W. Dijkstra
The Internet of things
The Internet of Things integrates the physical world with the existing Internet through a vast number of sensors embedded into appliances, vehicles, bodies, and everyday objects. When data from these sensors is integrated into the existing infrastructure, consisting of apps, cloud services, and machine learning, new services are made possible, and new business areas emerge. Data is gathered from remote sensors, processed in the cloud by advanced machine learning algorithms, and the results are made available to users through apps. The algorithms can leverage historical data collected through the sensors to predict the future more accurately. The sensor network can be augmented with actuators, leading to the emergence of so-called cyber-physical systems, that is, networks that are essentially distributed robots. Applications of the Internet of Things span a wide range, from home automation to environmental monitoring. As yet, the business potential for these applications is largely untapped, but it is likely that the Internet of Things will lead to the creation of whole new technology ecosystems, accompanied by new business models. Relying on a vast network of sensors is non-trivial from an engineering point of view, for several important reasons. First, all these sensors need life-cycle management. At the lower level, sensor nodes may be self-organizing, but management is still needed when integrating sensors from a whole network. Typical management tasks include configuration management, identity management, ownership management, and security management. Beyond life-cycle management of sensors, several other challenges exist. The power of the Internet of Things comes from adapting, transforming, analyzing, and integrating sensor data into systems and services. This requires concurrent processing of raw data that originates from a large number of sensors. The sheer volume of data produced by sensors poses serious scalability problems if approached with traditional engineering methods. The traditional approach to handling data from IoT sensors is to collect and concentrate sensor data and store it in a database. IoT applications can then retrieve data by querying the database via an API and process the data as needed by the application. These traditional solutions lead to problems with efficiency, latency, and throughput and soon become a bottleneck.
Real Time Web
The next generation IoT platform
Real Time Web was designed to address the shortcomings of the way that IoT systems are built today. It represents a radical departure from conventional methods, while still being completely backwards- compatible with the Internet. In fact, it employs standard web technology to create web-based applications, but the management of sensors and integration of sensor data into these applications is substantially different. Real Time Web was designed to embody several key principles: real-time data transport, extreme scalability, data decoupling, and total interoperability.
Real Time Data transport
Real Time Web is perfectly aligned with the real-time nature of the Internet of Things. Many applications, including smart grids and intelligent transportation systems, require information update in real time, and any significant latency is unacceptable. A particularly crippling aspect of the way that sensor data is typically handled today is that it follows the “data warehouse” model of traditional applications. In this model raw data is concentrated, processed, persisted, and made available to applications through complicated APIs. This model is typically taken for granted as the standard way to handle and process large amounts of data. With the massive volume of sensor data that will result from the growth of IoT systems, however, this is no longer a sustainable model. Instead of concentrating and persisting sensor data in large databases, Real Time Web propagates data only where it is needed and when it is needed.
Real Time Web
Real Time Web applications are based on hyperlinks, not on submitting data via APIs, but it takes a more sophisticated approach to hyperlinks than the WWW. The latter is based on unidirectional hyperlinks, and as it has grown and evolved, the infamous “link rot” phenomenon has become all too familiar. This is caused by the unidirectional nature of the links, that hyperlinks are embedded in the data itself. Real Time Web achieves data decoupling by taking the same approach to hyperlinking as suggested in the original hypertext proposals in Ted Nelson’s Project Xanadu, that is, by linking data using independent, bi-directional hyperlinks. These hyperlinks, which follow the subject–predicate–object triple structure of linked data, are separate from the data whose features they describe, so changing hyperlinks is completely independent from revising data. Moreover, the predicate part of the triple can describe functions on data, so the net result is distributed hyperlinks performing transformations on data as it is propagated through the network.
This principle automates the management of hyperlinks between data producers and data consumers. From the point of view of developers, all hyperlinks are localized, and the Real Time Web system automatically handles all routing and processing on the way from data producers to data consumers. When these associations are updated, routing and processing are automatically updated on the fly.
HTML is precisely what we were trying to prevent – ever-breaking links, links going outward only, quotes you can’t follow to their origins, no version management, no rights management.
IoT systems can be large and interconnected as well as highly concurrent. Examples include smart cities, intelligent transportation systems, or smart grids. It is therefore important that such systems can scale linearly when new networks of devices and services are added. This is another case where concentration and storage of sensor data would create unacceptable bottlenecks. Real Time Web emphasizes transfer and processing of data only exactly where and when it is needed. In removing these bottlenecks, it achieves true data distribution and parallelism, and hence provides perfect scalability.
Real Time Web
Realistically, any IoT framework will need to be backwards compatible with the existing Internet, because one cannot just tear down today’s Internet and start all over again. Moreover, it is simply not realistic to expect IoT systems to be built in a homogeneous technology environment. Large, scalable IoT systems will be heterogeneous, built out of many different technologies from a large number of vendors, and all these technologies will need to interoperate seamlessly.
Real Time Web achieves full interoperability along both of these axes. It is based on the Internet and WWW technologies that exists today, so it can co-exist and interoperate with legacy systems. Being protocol agnostic, it can communicate over any protocol used by various IoT technologies, including Dash-7, LoRa, Web Sockets, HTTP and HTTPS, and nodes can also switch protocols dynamically. This design is entirely modular, so for each new protocol that needs to be supported, a driver for it can be developed and installed.
In dynamic networks, where service instances are quickly created and destroyed, the causality of communication between nodes is a problem that is not handled well by conventional approaches. For example, when a new service instance appears and it is relevant to an ongoing communication between other instances, the existing instances have no knowledge of the new instance, and vice versa. Real Time Web solves this problem by automatically notifying the new node to initiate communication with the existing ones, thus supporting a rapidly evolving network of nodes.