A Note About ASN.1 (Abstract Syntax Notation One) Support

Alex VarshavskyAlex Varshavsky, CEO, Talksum

Today, we announced our support for ASN.1, which is a notation that falls under a joint standard of the ISO/IEC JTC 1, as well as the International Telecommunication Union (ITU), which is a United Nations specialized agency for information and communication technologies. According to the ITU website, “ASN.1 is a formal notation used for describing data transmitted by telecommunications protocols, regardless of language implementation and physical representation of these data, whatever the application, whether complex or very simple.”

The ASN.1 notation reminds me a lot of our Talksum Data Stream Router (TDSR) solution because the notation works with any language implementation, any physical representation of the data, and any application – whether complex or very simple. The high-performance, real-time TDSR can work with any type of data, different systems, different protocols, changing regulations, policy and compliance standards, and, as with the ASN.1 notation, can scale up or down as needed for the respective application.

Also like the ASN.1 notation, the TDSR is a horizontal solution that can be applied to many vertical markets – wherever Big Data is required. From the ITU website:

“Every time that you place an 800-number call ASN.1 is used. Every time you buy something on the web ASN.1 is used. Every time you send secure email, ASN.1 is used. Almost every time you use a multimedia product such as Microsoft NetMeeting, ASN.1 is in use. The latest generation of aviation control systems for ground-ground and aircraft-ground communications employ ASN.1. Companies such as Federal Express use ASN.1 in tracking their packages. ASN.1 is used by electric and gas utilities to control the latest generation of substations and transformers. And so on…”

The TDSR can be applied to a myriad of markets as well, including network monitoring and optimization, media services, telematics, healthcare and medical, energy and utilities, financial services, scientific discovery, and so on…

Click here to see our press release on ASN.1 support to the TDSR.



Rsyslog and ZeroMQ

As we get ready for the first deployments of our big data streaming platform, we’re pleased to announce another open source contribution. As we mentioned in our previous post, we’re big fans of Rsyslog. Well, we also have a lot of affection for a complementary component, ZeroMQ. So, let’s talk about Rsyslog and ZeroMQ. As many probably know, ZeroMQ is a mature open-source high-speed message library, currently supporting bindings in about 30 languages. We use ZeroMQ as a component of our real-time data streaming solutions.

For any project using ZMQ, the ability to utilize centralized logging via syslog is desirable. We have created input and output plugins for Rsyslog that allow ZMQ messages to be put into Rsyslog, or output from Rsyslog. We built our plugins using the czmq library (https://github.com/zeromq/czmq), which sits atop the ZMQ API. This enabled us to support the latest version of ZMQ (3.1), and the older stable version (2.1). This library was chosen as it hides the differences in the ZMQ 2.1 vs 3.1 API, and allows our plugin to work in both environments. Prior work (https://github.com/aggregateknowledge/rsyslog-zeromq) was written directly on top of the ZMQ API, and doesn’t support the current version of ZMQ. The output plugin supports Rsyslog V6 config format.

So, what do we allow you to do with the plugins?

  • Specify any number of worker threads
  • Specify thread affinities
  • Specify any zsockopt option
  • Input plugin supports SUB, PULL and XSUB
  • Output plugin supports PUB, PUSH and XPUB

Hammer on it! We want to see these plugins put through their paces. We are doing the same, and plan to continue to improve them over time.