A system includes a plurality of computers interconnected by a network
including one or more switching nodes. The computers transfer messages
over virtual circuits established thereamong. A computer, as a source
computer for one or more virtual circuit(s), schedules transmission of
messages on a round-robin basis as among the virtual circuits for which
it is source computer. Each switching node which forms part of a path for
respective virtual circuits also forwards messages for virtual circuits
in a round-robin manner, and, a computer, as a destination computer for
one or more virtual circuit(s), schedules processing of received messages
in a round-robin manner. Round-robin transmission, forwarding and
processing at the destination provides a degree of fairness in message
transmission as among the virtual circuits established over the network.
In addition, messages are transmitted in one or more cells, with the
round-robin transmission being on a cell basis, so as to reduce delays
which may occur for short messages if a long messages were transmitted in
full for one virtual circuit before beginning transmission of a short
message for another virtual circuit. For each virtual circuit, the
destination computer and each switching node along the path for the
virtual circuit can generate a virtual circuit flow control message for
transmission to the source computer to temporarily limit transmission
over the virtual circuit if the amount of resources being taken up by
messages for the virtual circuit exceeds predetermined thresholds,
further providing fairness as among the virtual circuits. In addition,
each switching node or computer can generate link flow control messages
for transmission to neighboring devices in the network to temporarily
limit transmission thereto if the amount of resources taken up by all
virtual circuits exceeds predetermined thresholds, so as to reduce the
likelihood of message loss.