Abstract:
A mechanism for routing a communication cell in a cell switching communication controller that employs multiple path identifier masking functions selected by a header control field in the communication cell and that employs a content addressable memory comprising a plurality of entries, wherein each entry stores a pre-configured local termination identifier and a pre-configured pass through identifier.
Abstract:
A method and apparatus are provided for scheduling when each of a plurality of virtual connections supported by a transmit device will be serviced by the transmit device. The transmit device includes a transmission control unit that uses a plurality of calendars to schedule when each of the plurality of virtual connections will be serviced. Virtual connections with faster transfer rates are scheduled using higher granularity calendars, while virtual connections with slower transfer rates are scheduled using lower granularity calendars. Each entry in the calendars is associated with a time interval ("cell slot") during which the transmit device is able to service one virtual connection. During a given cell slot, linked lists associated with the calendar entries that correspond to the cell slot are added to a service queue, and the virtual connection at the head of the service queue is serviced. After a virtual connection is serviced, the next service time for the virtual connection is scheduled by attaching the virtual connection to the head of a linked list associated with the appropriate entry of the appropriate calendar. The appropriate entry is determined by incrementing a fixed-point "desired service time" value that represents the cell slot for which the virtual connection was last scheduled, by a fixed-point inter-gap value that represents the how many cell slots ideally elapse between sequential service times of the virtual connection.
Abstract:
A frame based traffic policing system that determines if incoming data cells are conforming or non-conforming according to the traffic contract. The frame based traffic policing system first detects a cell at the beginning or end of a frame and determines if the frame conforms with a traffic contract. If the cell does not exceed the parameters of the traffic contract, then the frame based traffic policing system deems the cell as conforming. If the cell was the first cell of a frame, then frame based traffic policing system treats all the remaining cells in the frame as conforming or non-conforming depending upon if the first data cell was conforming or non-conforming. If the cell was the last cell of a frame, then frame based traffic policing system treats all the cells of the following frame as conforming or non-conforming depending upon if the last cell of the previous frame was conforming or non-conforming. In this manner, all the data cells from the same frame receive the same treatment by the network. The framed based traffic policing system improves the throughput of the network since the network will be less likely to waste resources transmitting cells from a corrupted frame.
Abstract:
A method and apparatus for use in a cell network node (10) for initial routing and rerouting of connections to a slave node based on ordering candidate slave connections (502), searching existing connections (507) for candidate best routes and validating the selected best route comparing actual route delays and available bandwith with maximum allowable delays and loading of the candidate slave connection. The invention also provides for programmable queuing delays by controlling queue lengths (212, 214, 216, 218) and for improved justification of reassembled information using actual maximum node delays.
Abstract:
In a network switch node, an asymmetric switch. The asymmetric switch comprises a plurality N of inputs each for coupling to a corresponding one of a plurality N of port modules and a plurality M of outputs each for coupling to one of the plurality of port modules. M is greater than N such that at least one of the plurality of port modules is coupled to more outputs than inputs. The asymmetric switch also includes a switching fabric operative to switch packets received from the inputs to the outputs. According to one embodiment, M = kN such that each port module can have one input line to the asymmetric switch and k output lines from the asymmetric switch. Such an asymmetric switch-to-port interface results in less blocking and allows output buffering wherein the output buffers are provided at the ports, rather than at the switch.
Abstract:
A method and apparatus for exchanging communication cells in a communication controller, wherein an arbiter determines transmission requests for each of a plurality of communication modules in the communication controller. Each communication module has a transmit signal line and a receive signal line coupled to a switching circuit in the communication controller. The arbiter selectively couples the transmit signal lines to the receive signal lines according to the transmission requests. The communication modules transmit communication cells through the switching circuit, while the arbiter determines new transmission requests from each communication module.
Abstract:
A feedback control system for congestion prevention in a cell (packet) switching communication network is described. Congestion control is accomplished by controlling the transmission rate of bursty traffic in the presence of high priority, voice, low speed statistical, high speed deterministic and multicast data. Because bursty traffic is relatively insensitive to delay, adequate buffercapacity can be provided at the network nodes in order to minimize bursty data cell loss. By monitoring the buffer queue lengths at the nodes, a control signal can be generated at each intermediate node indicating the state of congestion. Excess queue length indicates incipient congestion while short queue lengths indicate excess capacity. Queue status is forwarded to the destination node where it is interpreted and sent back to the source node as a feedback rate control signal using a 2-bit code. The source node regulates the rate of bursty data transmission over the cell network in accordance with the feedback control signal thus minimizing congestion and concomitant data loss while efficiently utilizing available network bandwidth.
Abstract:
A method of fair queuing and servicing cell traffic in a telecommunication node (22) which interfaces with a telecommunication system including a multiplicity of nodes (22) is described. The steps include placing cells of traffic in a queue according to a hopcount associated with each cell of bursty traffic, the hopcount being representative of the number of nodes traversed by the associated cell. Cells of traffic within the queue are serviced according to their associated hopcount. The hopcount associated with each cell of traffic is incremented as each cell of traffic is serviced. Circuitry providing fair queuing and servicing of cell traffic in a telecommunication node which interfaces with a telecommunication system including a multiplicity of nodes (22) is also described.
Abstract:
A communication interface with an expandable multilane cell bus that enables conversion of communication traffic received over a set of low speed or narrow band communication links according to a first communication protocol into a series of communication cells according to a second communication protocol. The cell bus enables concentration of the communication cells for transfer over a high speed communication link according to the second protocol. The communication interface includes a cell bus master that polls slave service modules while transferring communication cells to the service modules over a unidirection transmit portion of the cell bus and while receiving communication cells over a unidirection receive portion of the cell bus.
Abstract:
A method for managing a buffer queue that stores a data queue, wherein the data queue comprises a set of n data elements, n being at least zero. A head pointer is stored at a first location, which may be in a cache controlled by a first processor. The head pointer indicates a head buffer of the buffer queue. The first processor reads the head pointer to determine the head buffer of the buffer queue when a data element is to be removed from the data queue. The first processor reads a next pointer of the head buffer to determine whether the data queue is empty. The first processor determines that the data queue is empty when the next pointer has a first value, which indicates that the head buffer is a dummy buffer.