Chapter 2. Solution Patterns for the Internet of Things

How do we move from our disconnected world to a new, connected one where the boundaries between complex hardware and software systems are blurring? The Internet of Things presents us with design challenges at all system levels—from overall architecture to device connectivity, from data security to user interaction—and in the search for solutions, it’s all too easy to get lost in the forest of standards, technology options, and product capabilities.

Design Patterns and the IoT

While popular industry verticals like connected health and the connected home do not map cleanly to implementation approaches, there is another way of subdividing the space. We can map architectural patterns (spanning industry verticals) by examining existing, real-world IoT implementations irrespective of the hardware and software tools used. Let’s identify those—in the spirit of the Gang-of-Four1 and Christopher Alexander’s Design Patterns2—and use that understanding to help us place technical capabilities in the proper solution context. Throughout this book, as we tackle other topics related to the Internet of Things, we can use this initial solution pattern language to build a mental framework that supports other important details.

Pattern Elements

For our general IoT solution patterns, we’ll want some consistent characteristics with which to evaluate advantages and disadvantages, and compare and contrast between them. The five elements listed ...

Get Foundational Elements of an IoT Solution now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.