Overview
This document is an overview of InReality’s Message Broker, used for the real-time transmission of data, conditions, and other information in support of real-time responsive experiences and capabilities in a store or venue.
Real-Time Responsive Subscription
InReality’s Responsive subscription package is available, usually in concert with one or more of its measurement subscriptions (Awareness, Audience, or Engagement), to provide real-time responsive capabilities in a number of different endpoints. A common endpoint is for use in concert with Digital Signage, using the real-time results from conditions identified through the Awareness, Audience or Engagement subscriptions.
Message Broker
Our Message Broker is built on top of RabbitMQ, which is a widely used open-source message-broker software application. It is mature, lightweight and supports a wide variety of messaging protocols. RabbitMQ provides a wide range of developer tools and client libraries, including: Java, .NET, Node.js, Ruby, PHP and many more languages.
Real-time responsive capabilities between InReality’s measurement subscriptions and in-venue end points, such as Digital Signage, are facilitated by InReality’s Message Broker application. The InReality Message Broker is an on-premise, lightweight streaming pipeline that supports subscriptions and publications to the pipeline of real-time events and data across multiple channels.
Channels with real-time events and data are available for a wide range of situations available from the InReality measurement subscriptions. Some examples include:
● Presence
● Dwell Time
● Proximity
● Age
● Gender
● Mood
● Group Size
● Interaction/Engagement
Configuration
Configuration of the events that are published to the Message Broker is available within the InReality Rules Engine. Through the set-up of rules, end users can subscribe to only certain events that meet their predefined criteria (e.g., Gender=Female AND Age>34). Multiple criteria can be established to allow for multiple applications. When these criteria are met, the Message Broker will publish the event to the appropriate subscribed channel allowing the endpoint to make the appropriate application (e.g., change content on digital signage targeted toward a particular demographic group). This will reduce the amount of events that a subscriber would need to listen to and parse in order to create their desired real-time responsive experience.
Conversely, subscribers can listen to channels that publish all events, without implementing any rules or conditions to filter prior to publication to the channel. This configuration is also available, allowing the responsive endpoint to receive all published events allowing the endpoint to use its own rules engine to filter/parse as necessary to provide the real-time responsive experience.
Publication from Responsive Endpoint
In addition, the Message Broker allows two-way publication to the Message Broker. This can be useful to correlate measurement events identified with the results of the real-time responsive experience. A CMS may publish back its proof of play logs, noting when a piece of content was played in response to an identified event. In these cases, InReality can then receive this data and log this event in its Data Warehouse, allowing for correlation between potential event counts and actual responsive events triggered and delivered via the CMS.
Technical Documentation
InReality offers two different Message Broker API protocols. Developer User Guides are available for both.
The first uses Node.JS which is an open-source, cross-platform, runtime environment. We use AMQP TCP connection and JSON objects as the data input and output formats. JSON is a lightweight data-interchange format. The application should have permission to establish a AMQP TCP connection.
The second uses JavaScript, along with a WebSocket connection and JSON objects as the data input and output formats. JSON is a lightweight data-interchange format. The application should have permissions to establish a websocket connection.
An InReality representative can provide this technical documentation once an NDA is executed by all parties involved.
For questions or concerns, please reach out to our Support Team at support@spectrio.com.