Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

So, SIMPL?

Synchronous Interprocess Messaging Project for LINUX (SIMPL) is a free and open-source project that allows QNX-style synchronous message passing by adding a Linux library using user space techniques like shared memory and Unix pipes[3] to implement SendMssg/ReceiveMssg/ReplyMssg inter-process messaging mechanisms.

https://en.wikipedia.org/wiki/SIMPL

http://icanprogram.com/simpl/



If you do it via pipes, the performance will be terrible. If you do it via shared memory, there's a good chance that one side crashing will take down the other side.

QNX itself implements pipes via messaging.


This project implements QNX messaging as a kernel module:

https://github.com/martinhaefner/qnxcomm

Can't immediately find any more information about it though, so don't know the maturity.


> If you do it via shared memory, there's a good chance that one side crashing will take down the other side.

Having done a fair amount of IPC through shared memory, you'll have to explain this one. One process crashing doesn't destroy a memory mapped file on Linux, OS X, or Windows.


Since QNX is proprietary, QNX messaging is likely patent encumbered.

What's a good open alternative, or starting point for new innovation, given current investments in microservice architecture?

  - ZeroMQ (and nanomsg)
  - gRPC (Google)
  - Apache Thrift (Facebook)
  - Finagle (Twitter)
  - L4/seL4 IPC


Remember, patents don't last forever. The first release of QNX was 35 years ago. Patents only last 20 years.


The wamp protocol is interesting imo. It's independant a serialisation and transport despite the fact it uses websocket + json by default. It does routed rpc and pub/sub out of the box. But no low level router yet.


Check out crossbar.io, it's a broker from the authors of wamp.


> Since QNX is proprietary, QNX messaging is likely patent encumbered.

Not necessarily. QNX messaging is old enough that patents related to the interface may have expired.


Here is one from 2005: https://www.google.com/patents/US20060182137

"An asynchronous message passing mechanism that allows for multiple messages to be batched for delivery between processes, while allowing for full memory protection during data transfers and a lockless mechanism for speeding up queue operation and queuing and delivering messages simultaneously."

Maybe there are older patents that have expired?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: