Ring interface and ring network bus flow control system
First Claim
1. A communications network controller, for use as a node of a packet-based unidirectional ring network having a plurality of. nodes, comprising:
- (a) a ring input port operative to conduct received message packets and control characters from a previous upstream node to said controller;
(b) a ring output port operative to conduct transmitted message packets and control characters to a next downstream node of said controller;
(c) a bypass queue operative to buffer message packets being passed from said ring input port to said ring output port;
(d) a receive queue operative to buffer message packets being passed from said ring input port to said controller;
(e) an address filter coupled to said ring input port, said receive queue and said bypass queue, and operative to read the destination addresses of message packets received from said ring input port and passing said message packets to said bypass queue if said message packets are not destined for said controller and passing said message packets to said receive queue if said message packets are destined for said controller;
(f) a transmit queue operative to buffer message packets to be sent to said ring output port by said controller;
(g) a queue arbiter coupled to said bypass queue, said ring output port and said transmit queue and operative to select message packets from one of said bypass queue and said transmit queue for transfer to said ring output port in accordance with predetermined selection criterion;
(h) DATA characters that are transmitted on said ring output port, operative to carry message data to be sent, and received from said ring input port, operative to carry message data to be received;
(i) IDLE and BUSY control characters that transmitted on said ring outputs port and received from said ring input port, operative to indicate flow control status of said ring network; and
(j) a flow state manipulator coupled to said queue arbiter and operative to process said IDLE and BUSY control characters received from said ring input port, determine said flow control status of said ring network, communicate said flow control status to said queue arbiter and generate said IDLE and BUSY control characters to be transmitted on said ring output port, wherein said flow state manipulator;
causes (NOT BUSY,IDLE), (NOT BUSY,DATA), (BUSY,IDLE) and (BUSY,DATA) symbol pairs corresponding to (node has no data to transmit and is not attempting to flow control an upstream node), (node is beginning a transmitted message and is not attempting to flow control an upstream node), (node is not currently transmitting but is attempting to flow control an upstream node) and (node is beginning a transmitted message and is attempting to flow control an upstream node), respectively, and interprets (NOT BUSY,IDLE), (NOT BUSY,DATA), (BUSY,IDLE) and (BUSY,DATA) symbol pairs as (node has no data to transmit and is not attempting to flow control an upstream node), (node is beginning a transmitted message and is not attempting to flow control an upstream node), (node is not currently transmitting but is attempting to flow control an upstream node) and (node is beginning a transmitted message and is attempting to flow control an upstream node), respectively.
1 Assignment
0 Petitions
Accused Products
Abstract
A ring interface is coupled to a current node in a ring network having a plurality of nodes and corresponding ring interface for each of said nodes. The ring interface includes a ring input port operative to conduct upstream message packets from a previous node to the ring interface, a ring output port operative to conduct message packets to a next node of the ring network, and a bypass queue operative to buffer message packets. A receive queue buffers message packets before passing them on to the current node. An address filter is coupled to the ring input port to receive the upstream message packets, read their destination addresses and pass them to the bypass queue if the addresses correspond to another node and pass them to the receive queue if their addresses are that of the current node. A transmit queue buffers message packets from the current node and a bypass-transmit queue arbiter is coupled to outputs of the bypass queue and the transmit queue and is operative to select message packets from one of the bypass queue and the transmit queue in accordance with predetermined selection criterion and transmits the selected message packets to the ring output port.
109 Citations
16 Claims
-
1. A communications network controller, for use as a node of a packet-based unidirectional ring network having a plurality of. nodes, comprising:
-
(a) a ring input port operative to conduct received message packets and control characters from a previous upstream node to said controller;
(b) a ring output port operative to conduct transmitted message packets and control characters to a next downstream node of said controller;
(c) a bypass queue operative to buffer message packets being passed from said ring input port to said ring output port;
(d) a receive queue operative to buffer message packets being passed from said ring input port to said controller;
(e) an address filter coupled to said ring input port, said receive queue and said bypass queue, and operative to read the destination addresses of message packets received from said ring input port and passing said message packets to said bypass queue if said message packets are not destined for said controller and passing said message packets to said receive queue if said message packets are destined for said controller;
(f) a transmit queue operative to buffer message packets to be sent to said ring output port by said controller;
(g) a queue arbiter coupled to said bypass queue, said ring output port and said transmit queue and operative to select message packets from one of said bypass queue and said transmit queue for transfer to said ring output port in accordance with predetermined selection criterion;
(h) DATA characters that are transmitted on said ring output port, operative to carry message data to be sent, and received from said ring input port, operative to carry message data to be received;
(i) IDLE and BUSY control characters that transmitted on said ring outputs port and received from said ring input port, operative to indicate flow control status of said ring network; and
(j) a flow state manipulator coupled to said queue arbiter and operative to process said IDLE and BUSY control characters received from said ring input port, determine said flow control status of said ring network, communicate said flow control status to said queue arbiter and generate said IDLE and BUSY control characters to be transmitted on said ring output port, wherein said flow state manipulator;
causes (NOT BUSY,IDLE), (NOT BUSY,DATA), (BUSY,IDLE) and (BUSY,DATA) symbol pairs corresponding to (node has no data to transmit and is not attempting to flow control an upstream node), (node is beginning a transmitted message and is not attempting to flow control an upstream node), (node is not currently transmitting but is attempting to flow control an upstream node) and (node is beginning a transmitted message and is attempting to flow control an upstream node), respectively, and interprets (NOT BUSY,IDLE), (NOT BUSY,DATA), (BUSY,IDLE) and (BUSY,DATA) symbol pairs as (node has no data to transmit and is not attempting to flow control an upstream node), (node is beginning a transmitted message and is not attempting to flow control an upstream node), (node is not currently transmitting but is attempting to flow control an upstream node) and (node is beginning a transmitted message and is attempting to flow control an upstream node), respectively. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
Specification