Described herein are methods and systems for preparing to efficiently distribute
data to be extracted from a data store to clients and for distributing such prepared
data to the clients. The methods and system have particular utility in the context
of a network monitoring system which captures and stores network event data and
makes the event data available to clients according to any desired view or summary.
One method for preparing the data involves storing as primary requests one or more
client requests for data to be extracted from the event database. Additional client
requests for event are each compared to the stored primary requests to determine
whether each additional request matches a stored primary request in accordance
with a given criterion, such as a filter or summary formula. If the additional
request matches a stored primary request, the additional client request is associated
with the matching primary request. If the additional request does not match a stored
primary request, the additional request is stored as a new primary request. As
a result of this method, client requests which match one another can be processed
at once and distributed to all clients registering the request.