Hi Waruna, What is that shell execution feature and logcat view? When that type of command is executed on a very large number of devices, isn't there any possibility of failing the system due to overload as persistence is not there similar to the web browser approach? What happens to the devices that are not online at the moment as topics in MB does not keep the messages unless they are durable topics?
Thanks. *Maninda Edirisooriya* Senior Software Engineer *WSO2, Inc.*lean.enterprise.middleware. *Blog* : http://maninda.blogspot.com/ *E-mail* : [email protected] *Skype* : @manindae *Twitter* : @maninda On Tue, Jun 20, 2017 at 12:32 AM, Waruna Jayaweera <[email protected]> wrote: > Adding missing diagram. > > [image: Inline image 1] > > On Tue, Jun 20, 2017 at 12:25 AM, Waruna Jayaweera <[email protected]> > wrote: > >> Hi, >> In WSO2 IoT server , user (web browser) and device communication happen >> via central storage where we store operation responses in database. But for >> some operations like shell execution, logcat view we need to get data from >> devices in real time and we may not require to save them in database. >> *Problem* >> With current model client requires to wait until device come back and >> execute operation where devices periodically provide responses based on >> polling time. Responses will be saved in database so users required to send >> database calls repeatedly to retrieve the response. >> >> *Solution* >> We need to have real time communication feature which allows device or >> client(web ui) to directly communicate with another device and >> retrieve response real time. MQTT based real time communication is proposed >> to solve above problem. >> Please find the design for real time communication of WSO2 IOT server. >> Initially I am working on proving remote shell command support. >> >> >> Following components will be used for real time communication. >> >> Web socket client - Client which has full duplex communication with IoT >> server for request and responses. >> Session Manager - This will be used to manage sessions and operations >> mapping. >> Operation Manager - For each real time operation , we will create >> operation using existing operation manager. >> Feature level Push Notification strategy - For each device type >> feature,users will able to set which push notifications strategy >> (transport) to use. There will be new configuration in <device-type>.xml in >> defining features. >> MQTT Push notification strategy - This will be used to send request from >> client to broker via publishing to topic. This can be replaced by any given >> transport implementation. >> Pull notification Subscriber- This will pull responses coming from broker >> and push to session manager to filter based on operation mappings. >> >> With this model,Any device type can send real time operation with >> wss://host/realtime/<device_type>/<device_id> secured web socket >> endpoint. Payload should include the operation code. >> Agent can subscribe to "<tenant_domain>/<device_type> >> /<device_id>/realtime/<operation>/request" topic and responses can be >> send to >> "<tenant_domain>/<device_type>/<device_id>/realtime/<operation>/response >> topic. >> Agent will receive payload with operation id and required to publish >> payload with operation id to mapping the response with session operation. >> >> Let me know your concerns. >> >> Thanks, >> Waruna >> >> -- >> Regards, >> >> Waruna Lakshitha Jayaweera >> Senior Software Engineer >> WSO2 Inc; http://wso2.com >> phone: +94713255198 <+94%2071%20325%205198> >> http://waruapz.blogspot.com/ >> >> > > > -- > Regards, > > Waruna Lakshitha Jayaweera > Senior Software Engineer > WSO2 Inc; http://wso2.com > phone: +94713255198 <071%20325%205198> > http://waruapz.blogspot.com/ > > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > >
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
