Patent ID: 7428220

Claim:
A method for aggregating data in a distributed system, comprising: specifying an aggregation scope comprising a plurality of nodes, wherein the plurality of nodes comprise a first destination node and a first plurality of non-destination nodes; defining a first aggregation tree for the plurality of nodes using at least one Distributed Hash Table, wherein the first destination node is the root of the first aggregation tree and wherein each of the first plurality of non-destination nodes is one selected from the group consisting of an interior node and a leaf node in the first aggregation tree; determining a first final aggregation result for the first aggregation tree using an aggregation function and aggregation data stored on the first destination node and the first plurality of non-destination nodes; storing the first final aggregation result on a memory of the first destination node; and verifying the first final aggregation result, wherein verifying the first final aggregation result comprises: specifying a second destination node and a second plurality of non-destination nodes, wherein the second destination node and the second plurality of non-destination nodes are within the aggregation scope; defining a second aggregation tree for the plurality of nodes using the at least one Distributed Hash Table, wherein the second destination node is the root of the second aggregation tree and wherein each of the second plurality of non-destination nodes is one selected from the group consisting of an interior node and a leaf node in the second aggregation tree; determining a second final aggregation result for the second aggregation tree using the aggregation function and the aggregation data stored on the second destination node and the second plurality of non-destination nodes; and determining whether the first final aggregation result is equal to the second final aggregation result.