-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Cloud Synchronization] Method to send/receive data with cloud infrastructure #382
Comments
Good suggestion! 💯 @suresh-lc As a phase I, do you think of which candidate would be feasible for us to start with? |
Thanks for the great suggestion! |
Thanks for the suggestions. When coming to method II, the synch of data to cloud can be done via REST or MQTT method. Supporting one method should be good to start of with, what is your opinion. |
@suresh-lc If we choose MQTT, the cloud should connect to the MQTT broker. |
In case of MQTT, the MQTT broker can run in the cloud and all the edge devices can connect to this mqtt broker. The service application will have to specify the cloud end point where the broker is running. Incase of REST, we will have to expose interfaces to post the data to cloud. There needs to be active cloud endpoints to consume the data. Was going through of how AWS IoT core works: https://aws.amazon.com/iot-core/features/?pg=ln&sec=hs. |
@suresh-lc @MoonkiHong How about starting with MQTT? |
Seems good. @suresh-lc Thought? |
@MoonkiHong @t25kim 👍 Was having the same thoughts of supporting with MQTT as first step.
|
@suresh-lc Thanks for sharing your idea. Is the service application running on the device and part of the home edge module? |
|
@suresh-lc Seems good! Looking forward to seeing PR soon! |
Some thoughts on setting broker URL by the service application. Each service application can have its own broker running in different cloud. And hence when every time send api is being called by the service application data to be sent and URL of the broker could be the parameters. Connect from the mqtt client (Home Edge) to the broker would be made and then the data would be published to the broker. |
Following would be the sub tasks:
|
Issue can be closed as the task mentioned in it are completed. |
Basic feature has been added. Design changes are in progress in another PR. |
Is your feature request related to a problem? Please describe.
Currently all the device generated data is stored using EdgeX container in the coredata db. With time the amount of data stored would be increasing exponentially. And this would in turn make the device slower for service execution due to lower memory.
Describe the solution you'd like
In typical small devices(embedded system) the data would be stored at cloud infrastructure for future use. Hence it is always better to synchronize data to cloud. Method to save data to cloud infra is recommended.
Describe alternatives you've considered
Alternative method to save the data could be other high memory devices in the same network. But considering a Home ecosystem where all the devices are memory and CPU constrained.
Additional context
We need to define and consider clear method for the synchronization. Also the cloud system like AWS, Azure needs to be considered.
What/Where data resides :
Within Home Edge we have the device meta data - like configuration, network and service info.
With EdgeX we have the device generated data being stored.
Typical Use case:
Using Meta data - Understand the device configuration and services offered by these
Using Device data - Analytics on the device usage/performance, automation
Phase - I:
Synchronize the data residing in coredata to cloud system extending the functionality provided by EdgeX for cloud synchronization
Phase - II:
Method - I - Provide method to synchronize the data from coredata to cloud independent of EdgeX.
Method - II - Provide system to store the data generated by devices within Home Edge and consecutively method synchronize to cloud
The text was updated successfully, but these errors were encountered: