Monitoring complex conditions over multiple distributed, autonomous information agents can be expensive and difficult to scale. Information updates can lead to significant network traffic and processing cost, and high update rates can quickly overwhelm a system. For many applications, significant cost is incurred responding to changes at an individual agent that do not result in a change to an overriding condition. But often we can avoid much work of this sort by exploiting application semantics. In particular, we can exploit constraints on information change over time to avoid the expensive and frequent process of checking for a condition that cannot yet be satisfied. We motivate this issue and present a framework for exploiting the semantics of information change in information agents. We partition monitored objects based on a lower bound on the time until they can satisfy a complex condition, and filter updates to them accordingly. We present and implement a simple analytic model of the savings that accrue to our methods. Besides significantly decreasing the workload and increasing the scalability of distributed condition monitoring for many applications, our techniques can appreciably improve the agents' response time between a condition occurrence and its recognition.
Monitoring complex conditions over multiple distributed, autonomous information agents can be expensive and difficult to scale. Information updates can lead to significant network traffic and processing cost, and high update rates can quickly overwhelm a system. For many applications, significant cost is incurred responding to changes at an individual agent that do not result in a change to an overriding condition. But often we can avoid much work of this sort by exploiting application semantics. In particular, we can exploit constraints on information change over time to avoid the expensive and frequent process of checking for a condition that cannot yet be satisfied. We motivate this issue and present a framework for exploiting the semantics of information change in information agents. We partition monitored objects based on a lower bound on the time until they can satisfy a complex condition, and filter updates to them accordingly. We present a simple analytic model of the savings that accrue to our methods. Besides significantly decreasing the workload and increasing the scalability of distributed condition monitoring for many applications, our techniques can appreciably improve the response time between a condition occurrence and its recognition.
The CQ project at OGI, funded by DARPA, aims at developing a scalable toolkit and techniques for update monitoring and event-driven information delivery on the net. The main feature of the CQ project is a “personalized update monitoring” toolkit based on continual queries [3]. Comparing with the pure pull (such as DBMSs, various web search engines) and pure push (such as Pointcast, Marimba, Broadcast disks) technology, the CQ project can be seen as a hybrid approach that combines the pull and push technology by supporting personalized update monitoring through a combined client-pull and server-push paradigm.