A message tracker having a transfer monitor, a set of registers, and at
least one arithmetic unit increases performance and reliability when
transmitting or receiving messages within a computer system. A set of
message parameters such as a current address, a remaining length, and a
communicated length are stored within the set of registers. The transfer
monitor observes data transfers on a multi-tenant bus in order to detect
data transfers related to the message and provide an update signal. The
message parameters within the registers are updated in response to the
update signal. The process of detecting and updating is repeated until
the entire message is transferred, and the message tracker then informs a
control processor or process that communication of the message has
occurred. To facilitate message coalescing, several message trackers may
share a message queue that is configured to store message parameters
corresponding to completed messages.