1. A method of creating a subtree within a global tree including a plurality of nodes and disseminating a query, wherein the subtree is a subset of the global tree, the method comprising: determining a predicate condition for the subtree; disseminating the predicate condition to each of the plurality of nodes in the global tree, wherein each node in the global tree receives the disseminated predicate condition and evaluates itself to determine whether it satisfies the predicate condition, and the nodes in the global tree that satisfy the predicate condition belong to the subtree; for each of the plurality of nodes in the global tree, storing a subtree local value, wherein the subtree local value of a node in the global tree is an indication of whether the node in the global tree belongs to the subtree based at least on the predicate condition; for each parent node in the global tree, storing a subtree aggregate value, wherein the subtree aggregate value is determined from the subtree local value of the parent node and a subtree local value of each child node of the parent node; receiving a query for the subtree; and disseminating the query to only the nodes belonging to the subtree rather than to all of the nodes in the global tree.