Where is the border between classic client-server and an IoT systems ? RRS feed

  • Question

  • Hello everybody,

    My company creates many types instruments and they are equipped with screens. The screen displays an application that runs under Windows 10 or under Android. The application is connected internally via USB to one or more hardware components the instrument is composed of. The user usually pushes buttons to instruct the hardware components to do something and eventually to get back some results. 

    Now we want to connect our instruments to cloud in order to enrich their features. However, the instruments should still remain autonomous (not depending exclusively on cloud) because our customers may not want (for privacy reasons) the cloud connection. 
    The new feature we think about is to create a web-application that allows our customers and also to our service guys to send some data to instrument and also to get some data from instruments via Internet, in other words to enable remote control for some features. 

    My team decided that IoT is the proper cloud service for the new version of our systems and I am not very convinced of that.
    Why I say this? It's because:
    - Our systems are very user-driven. If the instrument does something is because the user click a button otherwise nothing happens. More than that, our instruments require the physical human presence next to the instrument because the user is supposed to put/take some sample in front of the sensors of the instrument. 
    - We don't need any device-to-device communication.
    - We don't need any kind of automation.  
    - We do need to update the firmware of our hardware.
    - The instrument needs to send from time to time kind of telemetry data to cloud, something such as how many hours a specific hardware was used, …  information supposed to help our service guys. 
    - The communication between web-application and cloud is based mainly on request-replies and the same is between web-application and instrument.
    - Any other data the instrument application is supposed to send to cloud, including the data got from hardware, happens only if the user clicks/pushes a button. 

    Question: Is IoT the proper backend-service of a system like described above? 
    If your answer is Yes, I would like to understand from you where do you think the border between a classic client-server system and an IoT system is?

    Thank you,

    Thursday, April 2, 2020 6:10 PM

All replies

  • Hello Ernest,

        Yes, Azure IoT is a proper backend service for a system that you have partially described. Azure IoT devices have the ability to operate in offline mode and it can persist the targeted events and then upload those events when the network is available, or when desired (Button Click). Specific devices can be configured to be completely offline when not required.

    Can you provide an example of enabling remote control for some features? Is there any specific industry this solution is targeted for? Meanwhile, here is a link to browse some of the Azure IoT industry specific solutions. 



    Satish Boddu.

    Thanks & Regards ^Satish Boddu -MSFT Azure CXP Community

    Thursday, April 9, 2020 2:51 AM
  • Hi Ernest,

    See also the following doc: Connecting IoT Devices to Azure: IoT Hub and Event Hubs

    To your case specifically, you need to update the firmware of your device and if you want to do it securely without requiring a technician on the place then you should use IoT Hub. The same for when you communicate from your web-application to the device, IoTHub is the only service that allows you to securely send Cloud to Device messages. IoT Edge is the best fit for offline\not always connected scenarios like yours and it needs Iot Hub.

    Finally, even if the only use case is device-to-cloud data ingestion, we highly recommend using IoT Hub as it provides a service that is designed for IoT device connectivity.

    In case the information in this post is helpful , please feel free to mark this response as answer so that it can help others searching for similar questions. 


    Thursday, April 9, 2020 8:40 AM
  • Hello Satish Boddu and António Sérgio Azevedo,

    Thank you for your reply.

    We produce instruments for laboratories. I tried in my initial post to list those characteristics which IMO can help in understanding whether this system fits or not the IoT technology.
    Hardware-Firmware <----> InstrumentSoftware(under windows or android) <----> Internet <----> WebApplication
    In this network the WebApplication communicates with InstrumentSoftware; the WebApplication does not communicate directly with the Hardware. The data the InstrumentSoftware sends to Internet is from database and local files; the data in the database originates mostly from device. 

    In my post I stressed out the fact that our system is a very user-driven which IMO is the opposite of IoT. It does not fit the following definition taken from Wikipedia(https://en.wikipedia.org/wiki/Internet_of_things):
    "The Internet of things (IoT) is a system of interrelated computing devices, mechanical and digital machines provided with unique identifiers (UIDs) and the ability to transfer data over a network without requiring human-to-human or human-to-computer interaction.[1][2][3][4]".

    It does not fit either the IoT system as described by Microsoft in the following PDF document(which is coherent with what Wikipedia says):

    Wikipedia says that IoT systems "... can be controlled via devices associated with that ecosystem, such as smartphones and smart speakers". To me, this means that the human presence in an IoT system is optional. In our systems the user is mandatory.

    IOT uses very much paradigms such as "device to device communication", "automation" and "automatic pushing of data captured by electronic sensors"  which are not characteristics of our system.

    Now, only the simple fact that an application happens to communicate with a device makes from it instantly a  proper candidate for IoT technology?

    Kind regards,

    Friday, April 10, 2020 10:04 PM
  • Hello Ernest,

    Thank you for providing more information on your use case scenario.

    From the previous response given by Antonio Sergio, we can see that the use case scenario is one of the deciding factors in choosing the right platform.

    Azure IoT solutions are also used where we need architectural maturity, speed of development, and security from small to very large-scale implementations.

    As per the description of your system requirements, it looks like the bidirectional communication (between cloud & device) is very user driven,

    which can also be achieved in many other available ways, for example we can also leverage Event Hubs (as stated in the previous response).

    Let us know if you need further assistance, we are happy to help you!

    Thanks & Regards ^Satish Boddu -MSFT Azure CXP Community

    Wednesday, May 6, 2020 6:12 AM