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
http://waruapz.blogspot.com/
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to