Patent ID: 7342889

Claim:
A means for switching data, the means comprising: a data bus, a plurality of devices configured to exchange data with each other via the data bus, each device being configured to receive data from and transmit data to at least one corresponding I/O port, at least one first device being configured to receive data from and transmit data to a plurality of corresponding I/O ports, arbiter means for determining an order of exchanging, on the data bus, of data between the devices, the devices being configured to: receive and store data from a corresponding I/O port, transmit, to the arbiter, information relating to congestion or availability of a corresponding port, receive, from the arbiter, information indicating whether the received data may be transmitted over the data bus, transmit, if the information received indicates that the data may be transmitted, the data over the data bus, and receive data from the data bus and forward the received data to a corresponding I/O port, the arbiter being configured to: receive, from the devices, the congestion or non-availability information, and determine the order of exchanging data on the basis of the congestion information; wherein a device is configured to determine congestion at a corresponding I/O port and to transmit corresponding information to the arbiter, and wherein the arbiter is configured to override any congestion or non-availability of a receiving device or I/O port when a congested I/O port wishes to transmit data thereto, and inform the pertaining device that the congested I/O port is allowed to transmit data.