DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
11 Monitoring and Observability Tools for 2023
Learn more
  1. DZone
  2. Software Design and Architecture
  3. Cloud Architecture
  4. 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.

Pradeep Peiris user avatar by
Pradeep Peiris
CORE ·
May. 25, 17 · Opinion
Like (4)
Save
Tweet
Share
9.34K Views

Join the DZone community and get the full member experience.

Join For Free

This article is featured in the new DZone Guide to IoT: Applications, Protocols, and Best Practices. Get your free copy for more insightful articles, industry statistics, and 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.

Ubiquitous Computing

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.

Image title

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:

Image title

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.

Peer-to-Peer Computing

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.

Multi-Agent Systems

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.

Image title

Summary

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.

Image title

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.

This article is featured in the new DZone Guide to IoT: Applications, Protocols, and Best Practices. Get your free copy for more insightful articles, industry statistics, and more!

IoT Ubiquitous computing Computing mobile app Protocol (object-oriented programming) Middleware Peer-to-peer Computer IT

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • File Uploads for the Web (1): Uploading Files With HTML
  • LazyPredict: A Utilitarian Python Library to Shortlist the Best ML Models for a Given Use Case
  • Metrics Part 2: The DORA Keys
  • UUID: Coordination-Free Unique Keys

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: