Patent ID: 7734768

Claim:
In a system comprising a first computing node and at least one of: a second computing node and a storage device, a method for communicating information from the first computing node to at least one of: said storage device and said second computing node, comprising: monitoring said first computing node to collect at least one estimate of available resources, said at least one estimate of available resources comprising an estimate of at least one of the following: processing power, I/O bandwidth, and network bandwidth; modifying an amount of data collected based on said at least one estimate of available resources, said modifying step including at least: modifying a frequency with which parts of said data are collected; increasing an amount of data collected in response to an increase in said at least one estimate of available resources and combining multiple entities into a smaller number of entities, said entities comprise numbers and said combining multiple entities into a smaller number of entities comprises computing at least one of the following: averages and moving averages; determining a batch size for aggregating data, said determining a batch size for aggregating data comprising at least: estimating first costs, as a function of different sizes, for sending data to one of the storage device and the second computing node, said estimating said first costs includes at least determining a cost function; estimating second costs, as a function of different sizes, for losing said data; and selecting said batch size based on said estimated first and second costs, said estimating said second costs including at least determining a cost function; and minimizing an aggregation of at least two of said estimated costs; and sending an amount of data corresponding to said batch size to at least one of said storage device and said second computing node.