  This document describes an IoT system reference architecture. It is a general
system architecture in the sense that it embodies key system components,
functions, and flows that are commonly encountered in IoT systems. Much of the
existing literature on IoT system architecture covers either specific
commercial solutions or abstract architecture descriptions that are conceptual
but not readily reducible to practice. This paper describes a general,
vendor-neutral architecture of the IoT system derived by abstracting the common
requirements and features of a variety of system specifications and
implementations. It covers architectural and design principles for constructing
the core IoT system overlay, specifically functions and components involved in
acquiring data, real-time processing, storage and delivery to applications and
services, such as visualization and AI. The appendix outlines the principles of
IoT information modeling and data and metadata handling. As a reference
architecture, this document is meant to serve as a template and a starting
blueprint for constructing specific IoT system solutions. The intent is to
maintain this material as a living document and evolve it over time into a
broader technical community consensus by incorporating and acknowledging the
accumulated feedback and contributions. Direct comments and suggestions are
invited now. More structured mechanisms of managing crowdsourcing and community
collaboration are planned for implementation if warranted.
