Filter Propagation: Because Efficiency is Golden
Written by Antonio Sánchez Navarro
February 13, 2014
Considering the fact that limited resources are simply a reality, learning to be efficient is key. Unfortunately, we run into many situations in our daily lives where resources are wasted due to poor utilization.
We throw away tons of advertising papers from our mailbox just because we didn't ask for them. But what if we had a mechanism to specify whether we were interested in specific advertising? Then, only the exact amount of resources — paper, manufacturing, delivering — would be consumed.
RTI began supporting this premise long ago with the addition of content filters. Subscribers use them to select which information they are interested in, and with writer-side filtering, publishers only send selected information, saving 3 precious resources: CPU utilization, memory and bandwidth.
This schema works out-of-the-box in peer-to-peer systems. When the architecture requires RTI Routing Service, however, the filter information from subscribers cannot reach publishers directly:
In Figure 1, all the data sent by publishers will go through the entire router chain until it is finally discarded before being delivered to subscribers. To avoid this waste and increase efficiency and optimization, the latest version of RTI Routing Service includes the new capability of filter propagation. RTI Routing Service can now collect the filter information from subscribers and provide it to the publishers:
With this functionality, publishers send only the information that subscribers really want. This results in a optimal use of resources in the system:
- less bandwidth utilization since less information needs to be sent on the wire.
- less CPU utilization since less information needs to be processed.
- less memory usage by subscribers since they have to store less data.
Another important attribute of filter propagation is that it is dynamic. It adapts to filter changes and the addition or removal of subscribers. The system is updated automatically with no actions required by any administrator. No knowledge of the requested information is required beforehand.
This functionality can be enabled easily through configuration. RTI Routing Service will automatically handle the smart propagation of filters. This constitutes a good example of efficiency made easy by RTI, to help conserve system resources.