How IoT Strengthens Ubiquitous Computing
How IoT Strengthens Ubiquitous Computing
The world of ubiquitous computing, where computers are everywhere, is on the way. IoT needs just a few more steps to make it a reality.
Join the DZone community and get the full member experience.Join For Free
Digi-Key Electronics’ Internet of Things (IoT) Resource Center Inspires the Future: Read More
In the last two decades, the advancement of computation technology has produced more powerful processors, storage, memory, and networking devices for low prices. Eventually, many physical things will be embedded with more computation capabilities and interconnected via the Internet in a cost-effective manner. The widespread adoption of IoT technologies enriches the idea of ubiquitous computing that Mark Weiser came up with in 1988 — that is, bringing computation into the physical world and making effective use of computer technologies.
Mark Weiser defined ubiquitous computing as “the method of enhancing computer use by making many computers available throughout the physical environment but making them effectively invisible to the user.” This definition highlights the following main properties:
Pervasive computers: The technology that makes computation capabilities available throughout our physical environment.
Invisible computers: Ubiquitous computing enables many computation capabilities throughout the physical environment, but makes them invisible to the user.
Enhanced computers: The objective of ubiquitous computing is to enhance computer usage with the following characteristics:
Expand human consciousness: Many physical things can be embedded with computation features that expand users’ consciousness. For example, smart homes automatically control electricity. Refrigerators inform you if an item is out of stock.
Make context-aware and responsive environments: Ubiquitous computing enhances physical things with a new dimension of features without affecting the context of the actual usage. It enables other interconnected things to know the user’s current context so that the devices respond in a way that improves the overall activities of the user.
Altogether, ubiquitous computing improves the performance of human activities by moving technology into the background, which allows users to focus only on their natural activities towards the world. The technology drives users’ tasks in an optimized manner in the background.
Analysis of Existing IoT Technology
There are many research and commercial IoT products available today; for example, smart wearables, homes, cities, factories, etc. A few common factors are apparent in existing IoT technology. A lack of standardization is a commonly seen concern in most of the ecosystem that limits collaboration and interoperability between IoT applications. For example, smart electrical appliances together can build better smart homes. In the same way, smart homes could be made in a standardized way, helping build up to better smart cities.
Another common factor is the engagement of similar architecture patterns. IoT frameworks today follow the idea of virtualizing devices on the cloud and provide a set of services over mobile and web applications. As seen in the following diagram, these applications are not autonomous and interoperable with each other, nor is any collaboration possible. Also, more IoT devices are being released every day. The cloud will not be the best place to virtualize all these IoT devices.
Requirements for Next-Generation IoT
The requirements for the next generation of IoT that enrich the characteristics of ubiquitous computing can be classified as the need for standard middleware and application protocols. The middleware protocol should abstract the underlying network complexity of heterogeneous devices and provide a simplified API for the application protocol to develop autonomous applications that lead users toward a natural way of interacting with the physical environment.
Standard Middleware Protocol
The number of IoT devices is expected to grow exponentially in upcoming years. A standard middleware protocol should support management of large-scale IoT and the overwhelming influx of data. Also, there will be new, emerging security risks. The middleware protocol should guarantee basic security and privacy principles for IoT. In addition, the middleware protocol should encourage the general community to contribute more IoT devices to the network.
Standard Application Protocol
The application protocol should direct the development of autonomous applications, which encourage a natural way of interacting with physical things ina context-aware and responsive environment. Also, the applications should be capable of reading large-scale datasets, which analyze and confirm users’ goals and preferences.The applications will be contributed to and developed by many individuals with different goals. Therefore, the applications should be able to communicate and cooperate with each other without causing any conflict. As all these applications run with the same middleware and protocols, the applications themselves should be able to negotiate and reach an agreement with each other when accessing the shared set of IoT devices.
Platform for Next-Generation IoT
The requirements for a standard middleware and application layer can be summarized as follows:
Fortunately, the requirements for a standard middleware protocol are already part of the research field of peer-to-peer computing and have been producing various successful protocols during that time. In the same way, the requirements for a standard application protocol have been already improved and standardized in the field of multi-agent systems.
A peer-to-peer (P2P) system is about the sharing of computer resources in a decentralized manner. In P2P systems, each host directly connects to each other over the network, forming virtuality for resource sharing. P2P systems first became popular in 2000 with Napster, a community-driven file sharing system. BitTorrent and Blockchain are other successful P2P systems today. All these systems address the issues of network complexity, scalability over a broad set of communities, intensive data load, and network churn while encouraging peer resources as the utility.
Michael Wooldridge defines an agent as “a computer system that is situated in some environment, and is capable of autonomous action in this environment in order to meet its delegated objectives.” An agent delegates its objectives toward the environment, and becomes intelligent with the following properties:
Reactivity: Intelligent agents are able to perceive their environment and respond in a timely fashion to the changes that occur in it order to satisfy their design objectives.
Proactiveness: Intelligent agents are able to exhibit goal-directed behavior by taking the initiative in order to satisfy their design objectives.
Social ability: Intelligent agents are capable of interacting with other agents in order to satisfy their design objectives.
A multi-agent system arises when multiple intelligent agents cooperate in a single environment. Like humans, intelligent agents are expected to communicate with each other and reach agreements in achieving their design objectives.Agents can be designed to perceive information from sensors and to decide actions internally to take toward effectors or actuators. With a P2P middleware protocol, the agents are no longer limited to particular sensors or actuators. Figure 2 depicts how an agent’s view can be adapted to modern IoT applications.
The following figure summarizes all the key aspects discussed previously for having a standard IoT platform. As it presents, the environment will consist of many IoT devices that are supposed to grow rapidly over the next few years. A standard P2P middleware protocol will provide a reliable distributed system model, which is intrinsically scalable over the expected growth of IoT.
An application protocol based on a multi-agent system will allow for the implementation of autonomous applications capable of communication, cooperation, and negotiation with each other. Unlike general applications, agents are designed with goals to be fulfilled on behalf of their users — that is, agents will take necessary actions efficiently towards its environment over a P2P protocol. With a P2P middleware protocol, there are a lot of possibilities to understand the user’s context accurately. The agents will use all this information to make context-aware actions for users. In this way, we can develop applications (agents) that perceive sensor data from one vendor device and make actions toward actuators from another vendor. The new platform opens many possibilities to produce novel (multi-agent) applications that enrich the idea of ubiquitous computing.
Opinions expressed by DZone contributors are their own.