A chunk of our internal research work is based on distributed processing and distributed simulation. ZeroMQ is a rapidly becoming a key element to rapidly build distributed systems. ZeroMQ is that it's not a message broker like you might assume from its name. ZeroMQ is a library that supports certain network communication patterns using sockets. The "MQ" part comes in because ZeroMQ uses queues internally to buffer messages so that you don't block your application when sending data - which helps in scalability. Rick Copeland has a really good introduction to ZeroMQ on the DZOne. Worth reading. click on the image or title to learn more.