An IoT system includes both an edge computing component and a cloud computing component. As modern IoT processors become increasingly powerful, more and more tasks can be completed at the edge.
Hybrid Edge-Cloud Computing
In an IoT system, a user needs to decide what functions are executed in the edge devices and what functions are executed in the cloud. As modern IoT edge processors become increasingly powerful, more and more tasks are moving to the edge, including computing-intensive tasks such as data analytics, machine vision, and machine learning.
There are many benefits to computing at the edge, including
- Faster response time
- Reduced network bandwidth
- Reduced stress on cloud infrastructure
- Improved data privacy and security
One application example is computer vision. In the past, machine-learning based inference could only be executed in powerful servers, but today this can be executed in an edge device. This would drastically reduce the amount of data to be sent to the cloud. Furthermore, because data does not need to leave the edge device, data privacy and security can be ensured.
Cloud computing is still needed for aggregating and analyzing data from multiple edge devices, and for tasks that are still too complex for edge devices to handle. Therefore, the future of IoT is a hybrid edge-cloud computing structure, where computing tasks are optimized between the edge and cloud. Prescient Designer makes this partitioning easy.
Simplifying Edge-Cloud Partitioning
Fig. 1 shows a simple example IoT system implemented in Prescient Designer. In this system, there is one edge device and one cloud server. The edge app includes three modules: a timer, a data acquisition module, and a data processing module. The cloud app includes two modules: a data cleansing module, and a data analytics module.
Fig. 1 Example IoT solution with edge and cloud functions
Prescient Designer makes it easy to copy or move modules from one location to another. For example, the user may realize that the cleansing module inside the cloud app can be moved to the edge device, so she simply presses “Ctrl-X” to cut the cleansing module from the cloud app, and then “Ctrl-V” to paste it into the edge app.
Fig. 2 Example IoT solution with repartitioned edge and cloud functions
The above example operation is simple, but its implication is profound. From a performance point of view, the cloud app may be connected to thousands of edge devices in an actual system, and moving a computing module from the cloud app into the edge devices may make a noticeable performance difference.
More importantly, Prescient Designer makes it easy to partition edge-cloud operations. In other frameworks, edge apps and cloud apps are kept in separate repositories and are often implemented in different programming languages or maintained by different developers. This creates a huge barrier to optimizing operations between the edge and the cloud. In Prescient Designer, the complete system is implemented as one unified solution, and modules can be easily copied or moved from any device to any other device. This creates a powerful framework for users to design and optimize their solutions.