To assign a middleware
query to a reader, middleware should create TagSelectors into
reader to represent all filter conditions of the query. In simply,
one TagSelector can be used to represent each pattern except
the range pattern in the pattern list. For range pattern, we can
use one TagSelector for each distinct value within range,
inclusive. RP defines Channel objects for maintaining
communications between the reader and the middleware. There
are two types of channel objects: CommandChannels and
NotificationChannels. The former is responsible for receiving
commands from a middleware while the later is responsible for
communicating to a middleware asynchronously. Several
Source objects can be associated to a NotificationChannel. The
message received through NotificationChannel is called
Notification Message. Successively getting Notification
Message can be treated as a Notification-cycle. After creating
and configuring NotificationChannel middleware receives
Notification Message asynchronously that contains tag list
grouped by Source objects.