This invention relates to a diagnostic tool for networks that process
messages in stages such as pipelined networks. In a pipelined network
comprising tiers of servers, each tier of servers communicates only with
adjacent tiers in a communications flow that processes messages in a
sequence of tiers. The tool requires a controller located locally with
respect to the pipelined network for generating messages to be processed
by the pipelined network. Communication paths connect the controller to
each tier of the pipelined network. A program executing at the controller
detects a failure of the processing of the message by the pipelined
network and receives diagnostic information from the tiers after the
failure is detected. The diagnoses based on the retrieved information can
proceed either manually or automatically, depending on how the
information is collected. In order to automate the diagnosis, the program
executing on the controller includes commands for sequentially analyzing
each tier in the pipelined network in order to isolate the tier in which
the failure occurred. For manual diagnosis, the program includes commands
for simultaneously (or almost simultaneously) requesting information from
each tier upon network failure. In the manual approach, distributed
agents at all of the tiers gather information about the operating of the
tier at the time of network failure.