Middleware Systems Research Group, University of Toronto, Canada

Historic Subscriptions

The ability to subscribe to (or query) data previously published is a key feature missing from existing publish/subscribe systems.

Queries in Publish/Subscribe

The PADRES system extends the standard publish/subscribe model by integrating databases into the broker federation. Databases act as subscribers and publishers of historic data (i.e., publications). Publish/Subscribe clients can subscribe to future publications, historic publications, or a hybrid of both.

  • Future subscription: Both atomic and composite subscriptions on future publications are supported in traditional publish/subscribe systems.
  • Historic subscription: Using historic subscriptions, subscribers can express interest in historic data (i.e., publications published in the past). Historic subscriptions specify the time range of interest by defining start and end time instants. Historic subscriptions can involve data from different databases. The databases may contain disjoint data, overlapping data, or fully redundant data (in the case of replicated databases). As with future data, composite subscriptions can be used to correlate historic data.
  • Hybrid subscription: In the most general case, an atomic subscription can specify a time range that begins in the past and ends in the future. That is, part of the matching publications are coming from databases, while other parts will come from future publications. A hybrid subscription can also be a composite subscription, consisting of future, historic, or hybrid atomic subscriptions, and correlations between future and historic publications.

System Architecture

Historic Queries

In the broker network, a database is connected to brokers as a client, acting as a subscriber and a publisher of historic data. A database administrator assigns a content specification for each database, describing the set of publications to be stored in the database. Each database then issues the appropriate subscriptions such that publications matching the content specification are routed to the database and stored there.

To retrieve historic publications, a subscriber issues a historic subscription, which is routed to the database whose advertisement overlaps the subscription, at which point the database converts the subscription into a SQL query, and evaluates the query over its data. The database then publishes the results as publications which are delivered to the subscriber.