
DSA – Open Source IoT Platform - kaendfinger
http://iot-dsa.org/
======
jandrewrogers
While I appreciate the intent, the problem with all of these "IoT frameworks"
is that they were designed by people with a _device view_. They are oblivious
to, and typically poor for, what the aggregate architectures look like at
scale where you bring all of this IoT data together either logically or
physically.

To get in the right frame of mind for IoT platform design, think of a mobile
carrier network with 100 million subscribers as a single geographically-
distributed computing system that extends all the way to the mobile phone. The
complex topological constraints implied by that means, from top to bottom,
making systems scale requires software architectures that are substantially
different from the web. For starters, they need to be deeply aware of the
spatial, temporal, and topological relationships between nodes, which is much
closer to massively parallel computing models than a traditional web-oriented
distributed system. (In massively parallel systems computation is literally
and noticeably relativistic, and with topologies that place complex
restrictions on how computations can flow between compute nodes. If you do not
explicitly account for this in your architecture, scaling will be
significantly sublinear.)

This leads to the situation today where you have a dozen different "IoT
platforms/protocols" all being furiously pushed into the market as _de facto_
or actual standards, but if you look at the companies with real experience
building large-scale IoT architectures they use none of it because it doesn't
deliver for real-world systems. A lot more thought needs to go into the
_requirements_ for an IoT platform; it looks nothing like a web architecture.

~~~
nbadg
> They are oblivious to, and typically poor for, what the aggregate
> architectures look like at scale where you bring all of this IoT data
> together either logically or physically...

> For starters, they need to be deeply aware of the spatial, temporal, and
> topological relationships between nodes...

I'm not totally clear on what you mean by this. Can you elaborate? It sounds
to me like you're commenting on the difficulties of implementing distributed
sensor grids using existing IoT platforms (which is a very valid complaint),
but not all IoT applications are meant for that. Yes, on the one side, smart
electric meters connect to a smart grid, but on the other hand, smart
thermostats may only need to connect to smart heaters (in the same home).
Ideally the latter connection happens without ever talking to some server on
the internet.

I agree, though, that IoT entirely breaks web architecture, even just on a
logistical level. Forbes put out a meta-analysis last year
([http://goo.gl/S0IqvF](http://goo.gl/S0IqvF)) projecting a doubling of
internet-connected devices by 2020, with 75% of the expansion coming from non-
traditional devices like sensor grids. Those tend to "want" to be servers a
whole lot more than traditional devices, and assuming even 1% of that growth
needs to be secured, you're looking at about 50 times as many SSL certificates
as have been issued total, to date, in the history of the internet.

We don't just need new platforms, we need entire new protocols.

------
IshKebab
I'm totally going to support this. Just as soon as I've done HomeKit, Weave,
AllJoyn, IoTivity, etc!

~~~
metasean
For those curious about who is behind each of these initiatives:

\- HomeKit - Apple -
[https://developer.apple.com/homekit/](https://developer.apple.com/homekit/)

\- Weave (& Brillo) - Google -
[https://developers.google.com/brillo/](https://developers.google.com/brillo/)
(corrected - Thank you, @asciimike)

\- AllJoyn - Started by QualCom, now backed by the AllSeen alliance (hosted by
the Linux Foundation) -
[https://allseenalliance.org/](https://allseenalliance.org/)

\- IoTivity - Open Interconnect Consortium (OIC) (also hosted by the Linux
Foundation) - [https://www.iotivity.org/](https://www.iotivity.org/)

~~~
asciimike
Correct link for Weave & Brillo:
[https://developers.google.com/brillo/](https://developers.google.com/brillo/)

------
ausjke
yet another iot platform/framework, who is behind this project? quite some
code are there, but document is rare.

it's using dart and java after a quick look at the github pages.

also I agree DSA is a bad name when this platform is addressing security for
IoT, the NodeAPI also is a bit misleading, I would feel it has something to
with NodeJS.

~~~
michaelsbradley
The GitHub IOT-DSA org has one visible member, who works for DGLogik, Inc.

[http://www.dglogik.com/](http://www.dglogik.com/)

Given the nature of their products, I think it's reasonable to conclude that
DGLogik is behind the project.

In Spring 2014, they were part of a startup incubator sponsored by Cisco:

[http://newsroom.cisco.com/press-release-
content?type=webcont...](http://newsroom.cisco.com/press-release-
content?type=webcontent&articleId=1576527)

On the main page of DGLogik's website, Schneider Electric and Cisco are listed
as users of DGLogik's technology. Both companies are part of the IEEE P2413
working group:

[http://grouper.ieee.org/groups/2413/member-
list.html](http://grouper.ieee.org/groups/2413/member-list.html)

It will be interesting to see if DSA's design ends up influencing the
direction of P2413.

~~~
kaendfinger
Yes, DGLogik is heading development. We are a community driven project
however.

~~~
michaelsbradley
Has your design been at all informed or influenced by the Industrial Internet
Consortium's RAII or Plattform Industrie's RAMI 4.0?

Any thoughts on IEEE P2413?

~~~
kaendfinger
To my knowledge, no we have not been influenced by them.

------
SEJeff
Seeing as how DSA is a deprecated crypto algorithm, what an unfortunate name.

------
kaendfinger
Here is a video that explains more:
[https://www.youtube.com/watch?v=Azd2-5wCjUI](https://www.youtube.com/watch?v=Azd2-5wCjUI)

------
brooklyndude
DART? I guess, but is one side of Google at odds with another?

Google Will Not Integrate Its Dart Programming Language Into Chrome

[http://techcrunch.com/2015/03/25/google-will-not-
integrate-i...](http://techcrunch.com/2015/03/25/google-will-not-integrate-
its-dart-programming-language-into-chrome/)

~~~
kaendfinger
Dart is still very much alive and well. The original plan to integrate it into
Chrome was cancelled, however the plan has changed to focus on more than just
the web as well. And while we love Dart, we don't depend on the language. We
can (and have, and will continue to) write SDKs for other languages. Current
ones are Dart, JavaScript, Ruby, Java, and a Python SDK is in the works. Also
on our list is a C SDK.

------
therealmarv
Oh I wondered how good the security questions and availability questions are
solved here for IoT. Now I know: "Error displaying the error page: Application
Instantiation Error: Could not connect to MySQL."

~~~
kaendfinger
That might be because of the load. Honestly wasn't expecting as many people to
see it.

------
SEJeff
How is DSA different than OpenHAB, which already supports pretty much
everything out there?

[http://www.openhab.org/](http://www.openhab.org/)

~~~
kaendfinger
Well, for starters, it's designed to be completely distributed. I only had
time to glance at openHAB a bit, but from what I see, it's rather centralized
with the services being distributed. DSA is entirely distributed. All DSLinks
(Protocol Transformers, Data Providers, and Data Readers) can run completely
remote of the server. The DSA broker (what connects all these DSLinks
together) is distributed too, it can switch DSLinks over to other brokers if
it fails by using a system that assigns backup brokers. Also, DSA supports
binary data like images, videos, etc. DSA also can form a network of brokers.
Brokers can connect to other brokers, to multiple brokers as well.

~~~
SEJeff
Thanks! That is a great reason, I was just curious as OpenHab already has a
huge community and ecosystem around it.

------
vittore
How it is different from ibm node-red?

