Multiplex communications – Data flow congestion prevention or control – Control of data admission to the network
Reexamination Certificate
1996-12-30
2001-03-13
Olms, Douglas W. (Department: 2732)
Multiplex communications
Data flow congestion prevention or control
Control of data admission to the network
C370S360000
Reexamination Certificate
active
06201789
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates to the field of networking devices, and more particularly to a network switch including a switch manager for asserting dynamic backpressure on a per-port basis.
DESCRIPTION OF THE RELATED ART
There are many different types of networks and network systems for sharing files and resources or for otherwise enabling communication between two or more computers. Networks may be categorized based on various features and functions, such as message capacity, range over which the nodes are distributed, node or computer types, node relationships, topology or logical and/or physical layout, architecture or structure based on cable type and data packet format, access possibilities, etc. For example, the range of a network refers to the distance over which the nodes are distributed, such as local-area networks (LANs) within an office or floor of a building, wide-area networks (WANs) spanning across a college campus, or a city or a state, global-area networks (GANs) spanning across national boundaries, etc.
The structure of a network generally refers to the cabling or media and media access used as well as the packet structure of the data transmitted across the media. Various structures are common, including Ethernet using coaxial, twisted pair or fiber-optic cables for operation at 10 megabits per second (Mbps) (e.g. 10Base-T, 10Base-F) or fast Ethernet operating at 100 Mbps (e.g. 100Base-T, 100Base-FX). ARCnet (Attached Resource Computer Network) is a relatively inexpensive network structures using coaxial, twisted pair or fiber-optic cables for operation at 2.5 Mbps. Token Ring topologies use special IBM cable or fiber-optic cable for operation between 1-16 Mbps. Of course, many other types of networks are known and available.
Each network generally includes two or more computers, often referred to as nodes or stations, which are coupled together through selected media and various other network devices for relaying, transmitting, repeating, translating, filtering, etc., the data between the nodes. The term “network device” generally refers to the computers and their network interface cards (NICs) as well as various other devices on the network, such as repeaters, bridges, switches, routers, brouters, to name a few examples. A network operating according to a given communications protocol may be expanded by using one or more repeaters, bridges or switches. A repeater is a hardware device that functions at the physical layer and re-transmits each received packet to every other port. A bridge operates at the data link layer of OSI Reference Model and increases efficiency by filtering packets to reduce the amount of unnecessary packet propagation on each network segment.
A network switch is similar in function to, yet more efficient than, a multiport bridge, which includes a plurality of ports for coupling to several similar networks for directing network traffic among the networks. A network switch usually included a switching matrix coupled to the ports across a bus and memory for temporarily storing network data, such as Ethernet packets or the like. The number of packets that may could stored at any given time was limited by the size of the memory. The memory usually comprised static random access memory (SRAM) modules, which were rather large and expensive and tended to consume considerable amounts of power. Thus, only a limited amount of memory was typically available for the storage of data. Furthermore, the memory was often distributed on a port-by-port basis, thereby limiting the number of stored packets per port.
When the data stored in the memory reached a certain predefined threshold, the network switch was unable to accept more packets for storage. One solution was to simply drop all of the packets being received until the switch was able to accept more data. However, this added to the overhead of external network devices, which eventually had to determine that a packet was dropped and to resend the entire packet. Another solution was to send jamming sequences on ports of the switch. If the jamming sequence was sent early enough, the transmitting devices detected the sequence and terminated their transmission. However, such indiscriminate jamming effectively shut down communication until the switch was able to clear its memory. The devices coupled to each port were unable to send data to each other even if not intended to be relayed by the network switch. Another solution was to send a jamming sequence on only the port which was unable to receive more data. Again, such static jamming effectively shut down communication on the network associated with that port until the switch cleared its memory associated with that port. Any two or more devices connected to that port were unable to communicate with each other until the switch was able to accept more data.
It is desired to detect memory thresholds and temporarily stop communication from an external network device only if necessary. This would enable communication between two devices coupled to the same port of the switch to continue communication while the memory of the switch is cleared.
SUMMARY OF THE INVENTION
A network switch according to the present invention includes a plurality of network ports for sending and receiving data packets, each port including core logic for receiving a backpressure indication and for transmitting a jamming sequence to terminate transmission of a data packet being received. The switch includes a memory for temporarily storing data packets received by the ports, and a switch manager for determining whether one or more threshold conditions of the memory would be violated by storage of a packet, for determining if a new data packet being received is to be stored in the memory for transmission by another port, and if so, for providing the backpressure indication to terminate the new data packet if a threshold condition would be violated by storage of the new data packet. In this manner, the jamming sequence is not sent if the packet is not intended to be stored in the switch, so that network devices coupled to a single port may continue to communicate with each other without being shut down by the switch. Further, the devices coupled to the remaining ports of the switch are not affected unless attempting to send a packet to the switch that would violate a threshold condition. The network switch is useful for facilitating communication in a network system including a plurality of networks coupled to the switch ports.
The network devices are typically coupled together by network segments, such as coaxial cables, twister-pair wires or the like. Each port includes a network interface for receiving and for transmitting data packets on a corresponding network segment and for providing the jamming sequence onto a corresponding network segment in response to a collision command. Also, a data interface is included for sending and receiving data and for detecting the backpressure indication and for providing the collision command. The backpressure indication is preferably a backpressure cycle executed on a data bus located between the ports and the switch manager. The memory preferably stores each source address received and a corresponding port number identifying a corresponding network port. The switch manager includes control logic for providing the backpressure indication to the port receiving the new data packet if the destination address of the new data packet is not found in the memory and broadcasting this packet to all other ports would cause a broadcast threshold violation, or if the destination address is found but the port number corresponding to the destination address does not identify the port receiving the new packet. Also, the control logic provides the backpressure indication if the destination address indicates a broadcast packet, since the packet must be stored prior to transmission by at least one other port and the storage of this packet would cause the violation of one of the threshold conditions.
The switch manager may further include
Hareski Patricia E.
Kotzur Gary B.
Mayer Dale J.
Walker William J.
Witkowski Michael L.
Akin Gump Strauss Hauer & Feld & LLP
Compaq Computer Corporation
Olms Douglas W.
Sam Phirin
LandOfFree
Network switch with dynamic backpressure per port does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Network switch with dynamic backpressure per port, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Network switch with dynamic backpressure per port will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2539159