| US 7,469,268 B2 | ||
| Managing data received from processes of a distributed computing arrangement | ||
| Susanne M. Balle, Hudson, N.H. (US); and David C. P. LaFrance-Linden, Arlington, Mass. (US) | ||
| Assigned to Hewlett-Packard Development Company, L.P., Houston, Tex. (US) | ||
| Filed on Aug. 03, 2004, as Appl. No. 10/910,679. | ||
| Prior Publication US 2006/0031848 A1, Feb. 09, 2006 | ||
| Int. Cl. G06F 15/16 (2006.01); G06F 15/173 (2006.01) | ||
| U.S. Cl. 709—202 [709/223; 709/252] | 15 Claims |

| 1. A processor-based method of managing, at a plurality of processing nodes communicatively coupled in a tree arrangement
that converges at a root node, data received from a plurality of processes of a distributed computing arrangement, comprising:
in a first processing node of the plurality of processing nodes,
receiving data objects from a first subset of the plurality of processes;
waiting for a waiting period to receive, from a second subset of the plurality of processes, one or more expected data objects
in addition to the received data objects;
determining the second subset of processes to be non-responsive based on arrival times of the received data objects relative
to a current time and expiration of the waiting period;
wherein determining the set of non-responsive processes includes,
making a first comparison between a first timeout variable and the arrival time of a first object of the data objects relative
to the current time,
making a second comparison between a second timeout variable and the arrival time of subsequent objects of the data objects
relative to the current time, and
determining the set of non-responsive processes based on whether the greater of the first and second comparisons indicates
a timeout condition has occurred;
aggregating the received data objects into a set of data objects without further waiting for data objects associated with
the non-responsive processes;
sending the set of data objects and a reference to the non-responsive processes from the first node to a second processing
node of the plurality of processing nodes, wherein the second processing node is nearer to the root node than is the first
processing node; and
in the second processing node, aggregating the set of data objects received from the first processing node with data objects
received from a third subset of the plurality of processes and sending the set of data objects to a third processing node
that is nearer to the root node than is the second processing node without waiting for data objects associated with the non-responsive
processes.
|