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.