Scalable and programmable query distribution and collection in a network of queryable devices
First Claim
1. In a data network wherein a plurality of queryable network devices respond to queries from a query originator, an aggregator at an aggregation node of the data network, the aggregator comprising:
- a query response collector coupled to receive a plurality of query responses;
a query identifier for identifying an aggregation function for the plurality of query responses, wherein the query identifier includes a query function lookup table and the query identifier includes logic to read a query reference from the plurality of query responses and to use the query reference as an index into the lookup table to identify the aggregation function for the plurality of query responses;
a processor, coupled to the query identifier and the query response collector, for applying the aggregation function to response data in the plurality of query responses to form an aggregated query response representing the plurality of query responses; and
an aggregated query response generator that generates a query response in a form expected by another recipient of query responses.
4 Assignments
0 Petitions
Accused Products
Abstract
In a network, a query originator injects queries of network devices into the network at a query node using query messages. The network transports the query messages to the network devices, or to network nodes at which queries about the network devices can be answered. Query responses from the network devices or network nodes are directed through the network to a collection node or nodes. As an internal network node receives multiple query responses from network devices, the internal network node might aggregate, as needed, the multiple query responses into an aggregated query response that preferably occupies less bandwidth than the aggregated multiple query responses. Where the result desired at the collection node is a computed function of the multiple query responses, the computed function can be performed at each internal network node on the multiple query responses received at that node, thus distributing the computation needed to form a collected response to the query. Queries might request real-time or non-real-time responses and queries might request one response, periodic responses or one response for each occurrence of an event. The internal network nodes might store lookup tables, or access a centralized lookup table, that specify details of queries, thus obviating the need for each query message to carry all of the necessary details of the query.
42 Citations
14 Claims
-
1. In a data network wherein a plurality of queryable network devices respond to queries from a query originator, an aggregator at an aggregation node of the data network, the aggregator comprising:
-
a query response collector coupled to receive a plurality of query responses;
a query identifier for identifying an aggregation function for the plurality of query responses, wherein the query identifier includes a query function lookup table and the query identifier includes logic to read a query reference from the plurality of query responses and to use the query reference as an index into the lookup table to identify the aggregation function for the plurality of query responses;
a processor, coupled to the query identifier and the query response collector, for applying the aggregation function to response data in the plurality of query responses to form an aggregated query response representing the plurality of query responses; and
an aggregated query response generator that generates a query response in a form expected by another recipient of query responses. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A query management system, wherein a query originator coupled to a network at a query node generates a query and a plurality of respondents, coupled to the network at device nodes, receives queries directed at their associated device nodes and include logic to generate responses to the query from the query originator, the responses being directed at a response collector coupled to the network at a collection node that collects responses to the query, the query management system comprising:
-
a plurality of aggregators, each at an aggregation node of the network, each aggregator comprising;
a) a query response collector coupled to receive query responses from device nodes and/or other aggregator nodes;
b) a query identifier for identifying an aggregation function for the plurality of query responses, wherein the query identifier includes a query function lookup table and the query identifier includes logic to read a query reference from the plurality of query responses and to use the query reference as an index into the lookup table to identify the aggregation function for the plurality of query responses;
c) a processor, coupled to the query identifier and the query response collector, for applying the aggregation function to response data in the plurality of query responses to form an aggregated query response representing the plurality of query responses; and
d) an aggregated query response generator that generates a query response in a form expected by another recipient of query responses; and
logic coupling each of the plurality of respondents to at least one associated device to which the query relates. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A query management system, wherein a query originator coupled to a network at a query node generates a query and a plurality of respondents, coupled to the network at device nodes, receives queries directed at their associated device nodes and include logic to generate responses to the query from the query originator, the responses being directed at a response collector coupled to the network at a collection node that collects responses to the query, to query management system comprising:
-
a plurality of aggregators, each at an aggregation node of the network, wherein the plurality of aggregators are active aggregators and each aggregator comprising;
a) a query response collector coupled to receive query responses from device nodes and/or other aggregator nodes;
b) a query identifier for identifying an aggregation function for the plurality of query responses;
c) a processor, coupled to the query identifier and the query response collector, for applying the aggregation function to response data in the plurality of query responses to form an aggregated query response representing the plurality of query responses; and
d) an aggregated query response generator that generates a query response in a form expected by another recipient of query responses;
logic coupling each of the plurality of respondents to at least one associated device to which the query relates; and
at least one passive aggregator that includes a query response collector coupled to receive query responses from device nodes and/or other passive or active aggregator nodes and includes an aggregated query response generator that generates a passive query response in a form expected by another recipient of query responses.
-
Specification