A router includes a routing layer and a switching layer. The routing layer
includes a plurality of I/O ports for exchanging data with components
external to the router. The switching layer is adapted to switch data
packets between I/O ports of the routing layer. The switching layer
includes an array of cells in communication with the routing layer for
permitting exchange of data packets between the array of cells and the
routing layer. Each cell includes a memory for receiving a data packet
from the routing layer. The routing layer includes a controller to
control release of a data packet toward a cell of the array at least in
part on a basis of a degree of occupancy of the memory in the cell.