A communication system provides for data collection and route discovery
for a network of distributed nodes. A base code having a data collection
function occasionally sends agent packets to selected nodes of the
network (620), and these nodes in turn route the agent packets to other
nodes. A route suitability level is maintained for each node that
reflects the suitability of that node for routing packets to the base
node (5 10). At least some data packets contain reporting criteria for
particular nodes (620). When a condition exists at a node that meets the
reporting criteria, a selected packet is updated with reporting data, and
routed toward the based node via a neighbor node based on the route
suitability level of the neighbor node (550,552,555).