Data structures for storing subscription predicates for transmission in a publish-subscribe
network. Subscriptions include Boolean-valued predicates defining content desired
by a subscriber. An agent application converts the predicates into a suitable form
for storing them in a common data structure. The predicates are used to generate
filters to encapsulate the subscriptions, and the filters are specified in the
data structure in addition to the Boolean relationships of the predicates. Routers
in a network core use the data structure for content-based routing, which involves
applying attributes in received packets to the filters.