  Number of IoT devices is constantly increasing which results in greater
complexity of computations and high data velocity. One of the approach to
process sensor data is dataflow programming. It enables the development of
reactive software with short processing and rapid response times, especially
when moved to the edge of the network. This is especially important in systems
that utilize online machine learning algorithms to analyze ongoing processes
such as those observed in Industry 4.0. In this paper, we show that
organization of such systems depends on the entire processing stack, from the
hardware layer all the way to the software layer, as well as on the required
response times of the IoT system. We propose a flow processing stack for such
systems along with the organizational machine learning architectural patterns
that enable the possibility to spread the learning and inferencing on the edge
and the cloud. In the paper, we analyse what latency is introduced by
communication technologies used in the IoT for cloud connectivity and how they
influence the response times of the system. Finally, we are providing
recommendations which machine learning patterns should be used in the IoT
systems depending on the application type.
