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.