Editing Architecture

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 6: Line 6:
 
The [https://en.wikipedia.org/wiki/Unified_Modeling_Language| UML] specifies  component, package, deployment and interaction views among others.
 
The [https://en.wikipedia.org/wiki/Unified_Modeling_Language| UML] specifies  component, package, deployment and interaction views among others.
  
== IoTStack ==
+
== IoT System Components ==
IoT system components use  ''constrained devices'' with much less functionality then computers. IEEE and other standards use many terms and this is a quick layman's intro to some of them. IoT Devices fall into ''Full Function Device'' (FFD) like a Linux based TV Set top box or CCTV device, ''Reduced Function Device'' (RFD) like a pollution sensor which does not do  ISO layer 2 routing and Limited Function device(LFD) which are motes or smart dust of the wireless sensor network (WSN). IoT Lite-OS like Contiki run on micrcontrollers with full UDP stack under 32Kb of memory.  
+
IoT systems use  ''constrained devices'' with much less functionality then computers. IEEE and other standards use many terms and this is a quick layman's intro to some of them. IoT Devices fall into ''Full Function Device'' (FFD) like a Linux based TV Set top box or CCTV device, ''Reduced Function Device'' (RFD) like a pollution sensor which does not do  ISO layer 2 routing and Limited Function device(LFD) which are motes or smart dust of the wireless sensor network (WSN). IoT Lite-OS like Contiki run on micrcontrollers with full UDP stack under 32Kb of memory.  
 
;Motes
 
;Motes
 
:Motes<ref>https://computer.howstuffworks.com/mote.htm</ref> are limited function devices (LFD) with sensors and/or actuators and very small memory (32 Kb ) and small compute capacity ( 8 or 16 bit micro controller) and may use energy harvesting techniques( Solar etc) or be passive (RFID) or be battery powered typically for a year or more.  
 
:Motes<ref>https://computer.howstuffworks.com/mote.htm</ref> are limited function devices (LFD) with sensors and/or actuators and very small memory (32 Kb ) and small compute capacity ( 8 or 16 bit micro controller) and may use energy harvesting techniques( Solar etc) or be passive (RFID) or be battery powered typically for a year or more.  
Line 29: Line 29:
 
The data formats range from fixed field records (Modbus) to XML style ( HTML, XMPP) over Rest API calls and binary JSON over MQTT.
 
The data formats range from fixed field records (Modbus) to XML style ( HTML, XMPP) over Rest API calls and binary JSON over MQTT.
 
;IoTPlatfrom
 
;IoTPlatfrom
A component tightly coupled with the gateway and managing south side IoTNetworks and devices and interfacing with north side Internet and cloud See [[IoTPlatform]]
+
A component tightly coupled with the gateway and managing south side IoTNetworks and devices and interfacing with north side Internet and cloud See [[UsersWiki!IoTPlatform]]
 
;Touch-points
 
;Touch-points
 
IoT assume machine to machine communication (M2M). A variety of touchpoints from HTML pages, voice (Amazon Alexa), SMS , email, twitter and whatsApp based interaction, chatbots and API based machine interaction are expected.  
 
IoT assume machine to machine communication (M2M). A variety of touchpoints from HTML pages, voice (Amazon Alexa), SMS , email, twitter and whatsApp based interaction, chatbots and API based machine interaction are expected.  
Line 35: Line 35:
 
Typically in modern system the application provides a user interface (UI) over HTML or a front end Smartphone App.   
 
Typically in modern system the application provides a user interface (UI) over HTML or a front end Smartphone App.   
 
These require a micro-service based server side or user interface less applications. There are new concerns of authentication and authorization and security in this scenario and bots and devices must have thier own identity in the software. The concept of [[UsersWiki!:DigitalTwin|''Digital Twin'']] is emerging as a paradigm.
 
These require a micro-service based server side or user interface less applications. There are new concerns of authentication and authorization and security in this scenario and bots and devices must have thier own identity in the software. The concept of [[UsersWiki!:DigitalTwin|''Digital Twin'']] is emerging as a paradigm.
 
==Historical Transition==
 
In the old non IoT world we have over 2 decades seen some experimentation from local single user or host based computing to client server , flirted with thin computing and the current dominance of web based. The web approach seems to be a good partioning between roles and capability with presentation being delgated to endpoint devices and server managing data and logic.
 
 
[[File:TraditionalComputing ioTStack Arvind.png| Traditional Computing]]
 
 
The IoT paradigm intially built on the web application concept ( Traditional IoT) but has splintered into variations.Terms are not standerdized but here is one representation.
 
 
 
[[File:IoTComputing IoTStack Arvind.PNG| Edge, Fog and IoT]]
 
 
:Autonomus drones inspecting the chimmeny of a steel plant or a robot checking a nuclear plant operate in hostile environment. They may work semi autonomously with no connectivty and a pre planned mission. This is ''"EndPoint Computing"''. When the gateway can host the application and complete the transaction we have an example of [https://en.wikipedia.org/wiki/Edge_computing ''Edge computing''].In these cases  the local gateway and /or  device can complete the application processing. [https://www.webopedia.com/TERM/F/fog-computing.html ''Fog computing''] implies multiple places where computing happens and may be on gateway, on premise servers as well as cloud servers.
 
 
Broadly significant work is being taken away from cloud or back-end server application to IoTPlatforms or to gateways. Fog computing is being seen in many scenarios.
 
 
 
==Examples==
 
==Examples==
 
The telco world has long broken functionality and features as  
 
The telco world has long broken functionality and features as  
Line 57: Line 42:
 
:Business System Support covering billing etc
 
:Business System Support covering billing etc
  
in IoT systems a similar differentiation has not yet become common and depending on purpose we see fluid intermixing of physical components, software functionality (Modules or sub systems) and horizontal concerns like security and trust.
+
in IoT systems a simliar differentiation has not yet become common and depending on purpose we see fluid intermixing of physical components, sw functionality (Modules or sub systems) and horizontal concerns like security and trust.
  
 
=== Context in IoT ===
 
=== Context in IoT ===
Line 63: Line 48:
 
[http://www.infoq.com/articles/internet-of-things-reference-architecture Infoq ] has a deep apporach to building context for intelligent devices
 
[http://www.infoq.com/articles/internet-of-things-reference-architecture Infoq ] has a deep apporach to building context for intelligent devices
 
https://cdn.infoq.com/statics_s2_20171017-0336-1/resource/articles/internet-of-things-reference-architecture/en/resources/32.jpg
 
https://cdn.infoq.com/statics_s2_20171017-0336-1/resource/articles/internet-of-things-reference-architecture/en/resources/32.jpg
 
===Anatomy of IoT===
 
[https://dzone.com/articles/the-anatomy-of-an-iot-solution Hans Vissar overview]
 
 
https://www.mendix.com/wp-content/uploads/Artboard-1SAP.png
 
  
  
Line 80: Line 60:
 
Naveen Balani at Accenture has proposed an [http://naveenbalani.com/index.php/articles/enterprise-internet-of-things-stack-and-architecture/  Enterprise IoT Architecture]
 
Naveen Balani at Accenture has proposed an [http://naveenbalani.com/index.php/articles/enterprise-internet-of-things-stack-and-architecture/  Enterprise IoT Architecture]
 
http://naveenbalani.com/wp-content/uploads/2016/09/Nbx1-1024x792.png
 
http://naveenbalani.com/wp-content/uploads/2016/09/Nbx1-1024x792.png
 
=== [https://www.linkedin.com/pulse/iot-technology-tree-aleksander-poniewierski/ EY IoT Tree]===
 
https://media.licdn.com/mpr/mpr/AAEAAQAAAAAAAAqZAAAAJDUzZDQ0ZGM1LWYxYTctNDViNS04YjJhLTQ4MTY2MTRkZDYwOQ.jpg
 
  
 
=== DataIntegration ===
 
=== DataIntegration ===
Line 98: Line 75:
 
   
 
   
 
http://www.ibmbigdatahub.com/sites/default/files/public_images/Screen%20Shot%202017-01-24%20at%209.19.32%20AM.png
 
http://www.ibmbigdatahub.com/sites/default/files/public_images/Screen%20Shot%202017-01-24%20at%209.19.32%20AM.png
<pre>IBM distinguishes by IoTNetwork ( proximity network) , Public Internet and Provider on premise network.</pre>
+
<pre>IBM distinguishes by IoTNetwork ( proximity network) , Public Internet and Provider on premise network.</pre>  
 
 
The Cosultancy Zinnov has a CXO level view of IoT Architecture
 
 
 
https://image.slidesharecdn.com/zinnovzonesiotservicesmediareport-160824060809/95/zinnov-zones-for-iot-services-2017-3-1024.jpg
 
  
 
=== Eclipse 3 layer ===
 
=== Eclipse 3 layer ===
Line 112: Line 85:
 
  http://15809-presscdn-0-93.pagely.netdna-cdn.com/wp-content/uploads/EXF_Platform-Architecture-2-1024x603.png
 
  http://15809-presscdn-0-93.pagely.netdna-cdn.com/wp-content/uploads/EXF_Platform-Architecture-2-1024x603.png
  
The proposed edJe for constrained devices ( 32bit,32KB RAM,128KB Flash device) uses light weight virtual container approach. The [https://jaxenter.com/a-simple-way-to-look-at-eclipse-iot-125477.html Eclipse Jaxenter project] is among a number of Open Source projects underway. They explcitly  support WeMo Lifx, HomeKIt at Router, south bound field Protocol for devices, northbound Internet MQTT etc.  
+
The proposed edJe for constrained devices ( 32bit,32KB RAM,128KB Flash device) uses light weight virtual container approach. The [https://jaxenter.com/a-simple-way-to-look-at-eclipse-iot-125477.html Eclipse Jaxenter project] is among a number of Open Source projects underway. They explcitly  support WeMo Lifx, HomeKIt at Router, south Bound field Protocol for devices, northbound Internet MQTT etc.  
 
<pre>This trend sees IoTPlatform functionality of bridging several different networks migrating to the gateway and the cloud IoT platform like Amazon AWS and Microsft Azure can concentrate on Digital Twin based functionality.</pre>
 
<pre>This trend sees IoTPlatform functionality of bridging several different networks migrating to the gateway and the cloud IoT platform like Amazon AWS and Microsft Azure can concentrate on Digital Twin based functionality.</pre>
  
Line 118: Line 91:
 
A deployment oriented architecture from a multi vendor mix and match approach for SmartCity etc. Distinguishes application from touch-points and gateway less use cases where device connects directly to (cloud) application.
 
A deployment oriented architecture from a multi vendor mix and match approach for SmartCity etc. Distinguishes application from touch-points and gateway less use cases where device connects directly to (cloud) application.
  
[[File:IoT_Roles_and_Stack_ioTStack_Arvind.png|link=https://www.linkedin.com/pulse/iot-interoperability-using-simple-architecture-arvind-tiwary/]]
+
[[File:IoT_Roles_and_Stack_ioTStack_Arvind.png]]
  
 
== Scenarios ==
 
== Scenarios ==
 
The many different use-cases with different requirements and constraints lead to many different way to slice and dice the system A nice visualization of options is provided by [https://exosite.com/ ExoSite]
 
The many different use-cases with different requirements and constraints lead to many different way to slice and dice the system A nice visualization of options is provided by [https://exosite.com/ ExoSite]
[[File:Deployment options IoTStack Arvind.jpg|850px| Deployment Options]]
+
The No Cloud scenario is an extreme case of Fog or Edge computing where the local gateway and device can complete the application processing.
 +
 
 +
[[File:Deployment options IoTStack Arvind.jpg|60%| Deployment Options]]  
  
  
 
==See Also==
 
==See Also==
*[[UsersWiki!IoTPlatform|IoTPlatform]]
+
https://www.cse.wustl.edu/~jain/cse570-15/ftp/iot_prot/
*[http://34.205.35.2/fog-iot/ Do not let the fog hide the clouds in the Internet of Things]
+
http://internetofthingsagenda.techtarget.com/feature/Using-an-IoT-gateway-to-connect-the-Things-to-the-cloud
*[[Fog Computing]]
+
https://www.slideshare.net/IanSkerrett/3-software-stacks-for-iot-solutions
*[https://standards.ieee.org/content/ieee-standards/en/standard/2413-2019.html 2413-2019 - IEEE Approved Draft Standard for an Architectural Framework for the Internet of Things (IoT)]
 
*[https://www.iiconsortium.org/IIC_PUB_G1_V1.80_2017-01-31.pdf Reference Architecture - Industrial Internet Consortium]
 
*[https://www.etsi.org/technologies/internet-of-things  ETSI IoT M2M Standards
 
*[https://www.postscapes.com/internet-of-things-protocols/ IoT Standards and Protocols]
 
*[https://negd.gov.in/india-enterprise-architecture India Enterprise Architecure IndEA]
 
 
 
*https://www.cse.wustl.edu/~jain/cse570-15/ftp/iot_prot/
 
*http://internetofthingsagenda.techtarget.com/feature/Using-an-IoT-gateway-to-connect-the-Things-to-the-cloud
 
*https://www.linkedin.com/pulse/iot-interoperability-using-simple-architecture-arvind-tiwary/
 
*[[UsersWiki!:DigitalTwin|Digital Twin]]
 
*https://www.slideshare.net/IanSkerrett/3-software-stacks-for-iot-solutions
 
*[https://medium.com/@costastselios/iot-patterns-managed-iot-data-services-350c17df2d8b IoT Patterns — Managed IoT Data Services ]
 
 
 
 
 
[[Category:IoTStack]]
 

Please note that all contributions to IoTWiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Itrontest:Copyrights for details). Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)