Thanks, Ondrej.

Just to clarify what I meant by the "server state".
My question was not about the connectivity, but rather the actual state of
the resources.
Say, the "OCF Server" is a Light device.
To know if the light is ON - I can query via GET.

But I may also need to:
1. React on the server side on the change of the state (light ON / OFF) -
without having an OCF client connected.
2. Keep the history of the state changes (for analytics or whatever)

The question is how I can solve those requirements.

Is there a productized interface to receive cross-account notifications on
the resource state changes?



Regards
Max.

On Thu, Aug 9, 2018 at 4:15 PM, Ondrej Tomcik <ondrej.tom...@kistler.com>
wrote:

> Hello Max,
>
> Thanks for your message.
>
>
>
> Please see my inline comments.
>
>
>
>
>
>
>
> *Ondrej Tomcik **:: **KISTLER **:: **measure, analyze, inovate*
>
>
>
> *From:* Max Kholmyansky [mailto:m...@sureuniversal.com]
> *Sent:* Thursday, August 9, 2018 2:58 PM
> *To:* Tomcik Ondrej
> *Cc:* iotivity-dev@lists.iotivity.org; Scott King <
> scott.k...@fkabrands.com> (scott.k...@fkabrands.com); Max Kholmyansky (
> m...@sureuniversal.com); Gregg Reynolds (d...@mobileink.com); Kralik Jozef;
> Rafaj Peter
> *Subject:* Re: [dev] OCF Native Cloud 2.0
>
>
>
> Hi Ondrej,
>
>
>
> Thanks for sharing the design.
>
>
>
> It seems like the design document is technology agnostic: it does not
> mention any specific technology used for the implementation. Yet you
> mention that the implementation is in progress. Does it mean that the
> technology stack was already chosen? Can you share this information?
>
> Yes, this document is still technology agnostic. Soon we will introduce
> selected technology stack. Or let’s say roadmap for supported technologies.
>
> Implementation is in the golang, but technologies like message broker / db
> / event store are being evaluated. But the goal is to not force users to
> use certain db or broker. It should be generic and user should be able to
> use what he prefers. Or use cloud native service.
>
>
>
>
>
> I have 2 areas in the document I would like to understand better.
>
>
>
> *1. OCF CoAP Gateway*
>
>
>
> If my understanding is right, this component is in charge of handling the
> TCP connectivity with the connecting clients and servers, while all the
> logic is "forwarded" to other components, using commands and events. Is it
> right?
>
> Yes. This allows you to introduce a new gateway, for example HTTP one, and
> guarantee interoperability within the Cloud across multiple different
> devices.
>
>
>
> It will be helpful to get an overall picture of the "other" components.
>
> Other components, or let’s talk about implementation: ResourceService,
> AuthorizationService (sample will be provided but should be user specific),
> ResourceShadowService and ResourceDirectoryService (these two might be just
> one service).
>
>
>
>
>
> You mention that the "Gateway" is stateful by nature, due to the TCP
> connection. What about the other components? Can they be stateless, so the
> state will be managed in a Data Store? This may be helpful from the scaling
> perspective.
>
> ResourceService is stateless, might be probably deployed also as lambda
> function (evaluating). AuthorizationService is user specific,
> ResourceShadow and ResourceDirectory are the read side, they might use just
> in-mem db, during start filled from event-store.
>
>
>
> *2. Resource Shadow*
>
>
>
> If I got it right, the architecture assumes that the cloud keeps the
> up-to-date state of the server resources, by permanently observing those
> resources, even if no client is connected. Is it right?
>
> I assume that by client you meant OCF Client. Yes, you’re right.
>
>
>
> Does it mean that a "query" (GET request) by a client can be answered by
> the cloud, without need to query the actual server?
>
> Yes
>
>
>
> Will there be a mechanism to sore the history of the server state? What
> will be needed to develop such a functionality?
>
> You mean online / offline? It will be stored, complete history is stored.
> Each Gateway, in this implementation OCF CoAP Gateway has to issue the
> command to ResourceAggregate (ResourcesService) to set the device online /
> offline. As it is aggregate, you have whole history what has happened. Each
> change to resource is persisted. Including device status – online/offline.
>
>
>
>
>
>
>
> The last point... If I got it right, the only way to communicate is via
> TCP connection using TLS. This may be good enough for servers like smart
> home appliances, and clients like mobile apps on smartphones. But there is
> also a case of cloud-to-cloud integration: say, voice commands to be issues
> by a 3rd party cloud. In the cloud-to-cloud case, I doubt it's a good idea
> to require the overhead of a TCP connection per requesting user. Is there
> any solution for cloud to cloud scenario in the current design?
>
> Of course, cloud to cloud, or let’s say you have cloud deployment, where
> one component is the OCF Native Cloud and another one is your set of
> product services. You are not communicating with the OCF Native Cloud
> through the CoAP over TCP. You’re issuing directly GRPC requests and
> including the oauth token. Please check sample usage :
> https://wiki.iotivity.org/coapnativecloud#sample_usage
>
>
>
>
>
>
>
>
>
> Best regards
>
>
>
> Max.
>
>
>
>
>
>
>
>
> --
>
> Max Kholmyansky
>
> Software Architect - SURE Universal Ltd.
>
> http://www.sureuniversal.com
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> On Thu, Aug 9, 2018 at 2:48 PM, Ondrej Tomcik <ondrej.tom...@kistler.com>
> wrote:
>
> Dear IoTivity devs,
>
>
>
> Please be informed that the new Cloud 2.0 design concept is alive:
> https://wiki.iotivity.org/coapnativecloud
>
> Your comments are warmly welcome.
>
> Implementation is in progress.
>
>
>
> BR
>
>
>
> *Ondrej Tomcik **:: **KISTLER **:: **measure, analyze, inovate*
>
>
>
>
>
>
>
> --
>
> Max Kholmyansky
>
> Software Architect - SURE Universal Ltd.
>
> http://www.sureuniversal.com
> 
>
>


-- 
Max Kholmyansky
Software Architect - SURE Universal Ltd.
http://www.sureuniversal.com

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#9835): 
https://lists.iotivity.org/g/iotivity-dev/message/9835
Mute This Topic: https://lists.iotivity.org/mt/24238274/21656
Group Owner: iotivity-dev+ow...@lists.iotivity.org
Unsubscribe: https://lists.iotivity.org/g/iotivity-dev/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to