(i) Device Layer, in which each device should have a unique identifier and direct or indirect communication with the Internet;
(ii) Communications Layer, which supports device connec tivity, with multiple potential protocols;
(iii) Aggregation/Bus Layer, which supports, aggregates, and combines communications from several devices, as well as bridges and transforms data among different proto cols;
(iv) Event Processing and Analytics Layer, which processes and reacts upon events coming from the Aggregation/Bus Layer, as well as can perform data storage; and
(v) External Communications Layer, through which users can interact with devices and access data available at the system.