I'm pretty sure it helped me to figure out how Machine-to-Machine (M2M) communication may look like.
The machine seems to be well defined, but what is actually "a machine" ? Good question, isn't it ? We can define it as a system which creates some action. May "machine" be a sensor base that produces some stream of signals ? I think yes, so let's keep it as the variable . On the other hand the term "end-user" is a little more specific.
|Machine and End-User example. What is Machine, End-User and System?|
Machines can communicate with other machines. Some of them have access to the end-user/s. Both of them (machine and end-user) are able to produce an asynchronously mass of events/signals that need to be synchronised and processed at some point of time. Moreover, both of them are "systems".
One night, I've been working on an concurrent parallel application and suddenly a nice came up to my mind: robo4j.io. For a long time I've wanted to create a framework that allows me to synchronise asynchronous events/signal and process them and here it is:
I've created robo4j.io framework.
Robo4j.io makes my dream real by connecting all devices (CuBox, RaspberryPI, Lego etc.) to different systems.
The important connection point between all of those systems is Java, moreover Java Virtual Machine as I'm using not only Java.
Let's see how robo4j.io will perform :)