US6167029A - System and method for integrated data flow control - Google Patents
System and method for integrated data flow control Download PDFInfo
- Publication number
- US6167029A US6167029A US09/179,538 US17953898A US6167029A US 6167029 A US6167029 A US 6167029A US 17953898 A US17953898 A US 17953898A US 6167029 A US6167029 A US 6167029A
- Authority
- US
- United States
- Prior art keywords
- pause frame
- pause
- station
- frame
- frames
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Definitions
- the present invention relates generally to communication networks. More particularly, the present invention relates to a system and method for providing flow control in communication networks.
- Ethernet Local Area Networks
- IEEE 802.3 standard IEEE 802.3
- Ethernet giga bits per second
- FIG. 1 is a diagrammatic representation of an open systems interconnection (OSI) layered model 10 developed by the International Organization for Standards (ISO).
- the OSI layered model 10 describes the exchange of information between various layers of a network.
- the OSI layered model 10 is particularly useful for separating the technological functions of each layer, and thereby facilitating the modification or update of a given layer without detrimentally impacting the operation of neighboring layers.
- the OSI model 10 has a physical layer 12 that is responsible for encoding and decoding data into signals that are transmitted across a particular medium.
- a data link layer 14 is defined for providing reliable transmission of data over a network while performing appropriate interfacing with physical layer 12 and a network layer 16.
- the data link layer 14 generally includes a logical link layer (LLC) 14a and a media access control (MAC) layer 14b.
- LLC layer 14a is generally a software function that is responsible for attaching control information to the data being transmitted from a network layer 16 to the MAC layer 14b.
- the MAC layer 14b is responsible for scheduling, transmitting and receiving data over a link.
- the MAC layer 14b is primarily responsible for controlling the flow of data over a network, ensuring that transmission errors are detected, and ensuring that transmissions are appropriately synchronized.
- the MAC layer 14b generally schedules and controls the access of data to the physical layer 12 using a well known carrier sense multiple access with collision detection (CSMA/CD) algorithm for half duplex mode of operation.
- CSMA/CD carrier sense multiple access with collision detection
- the network layer 16 is provided above the data link layer 14 and is responsible for routing data between nodes in a network, and for initiating, maintaining and terminating a communication link between users connected to the nodes.
- a transport layer 18 is responsible for performing data transfers within a particular level of service quality.
- a typical software protocol used for performing the transport layer 18 functions may be TCP/IP, Novell IPX and NetBeui.
- a session layer 20 is provided above the transport layer 18.
- the session layer 20 is generally concerned with controlling when users are able to transmit and receive data based on whether users are capable of full-duplex or half-duplex transmission.
- a presentation layer 22 Above the session layer 20 is a presentation layer 22 and then above that is an application layer 24.
- the presentation layer 22 is responsible for translating, converting, compressing and decompressing data being transmitted across a medium.
- the presentation layer 22 functions are typically performed by computer operating systems such as UNIX, DOS, Microsoft Windows, Windows NT and Macintosh OS.
- the application layer 24 provides users with suitable interfaces for accessing and connecting to a network.
- FIGS. 2A-2C are block diagrams of interconnected points (stations) in a network.
- a point may be a network in itself, a single computer system, or any intermediate point in a network such as a router, switching hub, bridge or repeater.
- FIG. 2A illustrates a configuration in which two points, point A 50 and point B 52, communicate with each other in a bidirectional manner.
- FIG. 2B illustrates a configuration where a multipoint switching hub 54 facilitates communication between points 56a-56c.
- FIG. 2C illustrates a configuration where two multipoint switching hubs 54a and 54b are coupled together and facilitate communication between points 56d-56i.
- Each point shown in FIGS. 2A-2C processes incoming and outgoing data independently from every other point.
- the various points provide full duplex communications.
- buffers are typically used to temporarily store data to be processed.
- the data being stored represents either data to be transmitted or data that has been received and is awaiting processing. Accordingly, if point 50 of FIG. 2A transmits at a speed faster than point 52 can process received data, then point 52 may utilize a receive buffer (not shown) to store data which has been received by point 52 but not yet processed. In such a case, a problem may arise if enough data has been transmitted from point 50 to the receive buffer at point 52 such that the receive buffer becomes full.
- a technique for sending a pause frame was added to the 802.3 IEEE standard for full duplex links.
- the technique is described in IEEE 802.3x standard.
- devices desiring to stop the flow of incoming frames from a transmitting device can send that transmitting device a pause frame.
- the pause frame contains a pause time.
- Pause frames are treated as special types of control frames.
- the transmitting device Upon receiving the pause frame, the transmitting device is to "pause" its transmissions to the receiving device for the pause time.
- a MAC control layer 14c is added between the MAC layer 14b and the LLC layer 14a shown in FIG. 3 to produce the pause control operations.
- the IEEE 802.3x standard does not specify or require any particular implementation of the standard or policies used to send the pause frames.
- the IEEE 802.3x standard is hereby incorporated by reference.
- circuitry located external to a MAC integrated circuit The external circuitry would monitor a receive buffer and determine when a pause frame needs to be transmitted. When it is determined to transmit a pause frame, the external circuitry would signal the MAC integrated circuit through a dedicated pin to send a pause frame.
- the conventional implementations of the 802.3x standard suffer from various problems.
- One problem is that the responsiveness of the circuitry (device) to a condition where a pause frame is needed is poor. Namely, when the dedicated pin is asserted by the external circuitry to request the transmission of a pause frame, the MAC integrated circuit understands that a pause frame should be transmitted. However, the pause frame is sometimes not able to be immediately transmitted because of congestion due to other frames waiting to be transmitted. Normally, data and control frames share a transmission data path and thus congestion results from both data frames and control frames. Such congestion can be referred to as queuing delays. While devices can have separate data paths for data and control frames, such devices are substantially more costly to design and manufacture.
- poor responsiveness in transmitting a pause frame can result due to congestion. Poor responsiveness also results from the inherent time delay associated with the external circuitry's latency in monitoring a receive buffer to determine when a pause frame is needed and then activating the dedicated pin on the MAC integrated circuit. The undesirable consequence of poor responsiveness is that the pause frame arrives at the transmitting device after a significant amount of data has been transmitted. As a result, the receive buffer can easily overflow and degrade performance, particularly at higher speed communications such as 100 Mbps and 1 Gbps.
- the invention relates to a network communication controller that provides for rapid detection of available buffer capacity and transmission of pause frames as needed to provide flow control.
- the transmission of a pause frame is requested when a reception buffer capacity achieves an almost full condition.
- the almost full condition level can be system or user programmable. Additionally, an almost empty condition can be used to trigger the transmission of another pause frame.
- the almost empty condition level can also be system or user programmable. In either case, the pause frames are automatically generated and transmitted ahead of other frames that may also be waiting for transmission.
- the network communication controller is an integrated circuit including circuitry for a MAC layer and a MAC control layer.
- the invention can be implemented in numerous ways, including as a method, an apparatus, a circuit, and a computer system. Several embodiments of the invention are discussed below.
- an embodiment of the invention includes the acts of: receiving a frame of data at the destination station from the source station; storing the received frame in a receive buffer; monitoring a level indicator that indicates extent to which the capacity of the receive buffer is being utilized; comparing the level indicator for the receive buffer with at least one level threshold; generating a pause frame to inform the source station of the available capacity of the receive buffer when the comparing determines that the level indicator for the receive buffer does exceed the at least one level threshold; and transmitting the pause frame from the destination station to the source station, the transmission of the pause frame given priority over other frames to be transmitted from the destination station.
- an embodiment of the invention includes: a transmit buffer for storing outgoing frames to be transmitted to a remote station; a receive buffer for storing incoming frames; a pause frame controller that evaluates utilized capacity of the receive buffer and issues an internal pause frame request when the utilized capacity exceeds a threshold amount; and a pause frame generator, operatively connected to the pause frame controller, the pause frame generator generates a pause frame when the pause frame controller issues the internal pause frame request.
- an embodiment of the invention provides the first station with at least a transmit buffer for storing outgoing frames to be transmitted to the second station, a receive buffer for storing incoming frames, a pause frame controller that evaluates utilized capacity of the receive buffer and issues an internal pause frame request when the utilized capacity exceeds a threshold amount, and a pause frame generator that generates a pause frame when the pause frame controller issues the internal pause frame request.
- the invention also provides the second station with a transmit buffer for storing outgoing frames to be transmitted to the first station, a receive buffer for storing incoming frames, and a frame controller that interrupts the transmission of outgoing frames for a period of time when the pause frame transmitted by the first station is received and detected at the second station.
- One advantage of the invention is that pause frames can be sent more rapidly than conventionally possible. As a result, network performance tends to improve because network congestion and inter-chip latencies are able to be avoided.
- Another advantage of certain embodiments of the invention is that a user or system can programmably adjust or vary the amount of advance warning of buffer overflow and/or underflow.
- FIG. 1 is a diagrammatic representation of an open systems interconnection (OSI) layered model developed by the International Organization for Standards (ISO);
- FIGS. 2A-2C are block diagrams of interconnected points (stations) in a network
- FIG. 3 is a diagrammatic representation of a modified OSI layered model in which a MAC control layer is added support to support the pause control operations;
- FIG. 4 is a diagrammatic representation of components which are included in a data link layer that is suitable for implementation of an embodiment of the invention
- FIG. 5 shows a representative pause frame packet for use with the present invention
- FIG. 6 is a diagrammatic representation of flow control system according to an embodiment of the invention.
- FIG. 7 is a flow diagram of reception side pause control processing according to an embodiment of the invention.
- FIG. 8 is a flow diagram of transmission side pause control processing according to an embodiment of the invention.
- FIG. 9 is a block diagram of a reception controller with integrated flow control according to an embodiment of the invention.
- FIG. 10 is block diagram of a transmission controller with integrated flow control according to an embodiment of the invention.
- FIG. 11 is a block diagram of a representative embodiment of a network communication system according to an embodiment of the invention.
- FIG. 12 is a block diagram of a general purpose computer system suitable for use with a network communication system according to an embodiment of the invention.
- the invention relates to a network communication controller that provides for rapid detection of available buffer capacity and transmission of pause frames as needed to provide flow control. Flow control is know to be helpful in improving network performance.
- the flow control provided by the invention is automatic or integral and therefore substantially improved.
- the flow control provided by the invention is particularly suitable for high speed networks, e.g., 1 Gbps Ethernet networks.
- the transmission of a pause frame is requested when a reception buffer capacity achieves an almost full condition.
- the almost full condition level can be system or user programmable. Additionally, an almost empty condition can be used to trigger the transmission of another pause frame.
- the almost empty condition level can also be system or user programmable.
- when the almost full condition level is reached a pause frame with a non-zero timer value is requested, and when the almost empty condition level is reached a pause frame with a zero timer value is requested.
- the pause frames are automatically generated and transmitted ahead of other frames that may also be waiting for transmission.
- the network communication controller is an integrated circuit including circuitry for a MAC layer and a MAC control layer.
- FIG. 4 is a diagrammatic representation of components which are included in a data link layer 400 that is suitable for implementation of an embodiment of the invention.
- the data link layer 400 includes a MAC control client 402 (e.g., logic link control (LLC)), a media access control (MAC) control sublayer 404, and a media access control (MAC) 406.
- the MAC control client 402 is generally a software function that is responsible for attaching control information to the data being transmitted from a network layer to the MAC 406.
- the MAC control client 402 sends data and control information to the MAC control sublayer 404 and also receives data and control information from the MAC control sublayer 404.
- the MAC 406 is coupled to a physical layer and is generally responsible for scheduling, transmitting and receiving data over a link.
- the MAC control sublayer 404 follows the Institute of Electrical and Electronic Engineers (IEEE) standards defined in section 802.3x, which defines standardized flow control.
- the MAC control sublayer 404 provides transmit frames (TX -- FRAME) to the MAC 406 as well as receives receive frames (RX -- FRAME) from the MAC 406.
- the MAC control sublayer 404 is also the portion of the data link layer 400 that understands and implements pause frames.
- a pause frame is a specific frame (or packet) that is use to facilitate flow control with full-duplex communications.
- the pause frame is transmitted from one station to another to inform that station that data transmission should be temporarily stopped.
- the station that had been transmitting is instructed to stop transmitting for a period of time.
- FIG. 5 shows a representative pause frame packet 500 for use with the invention.
- the representative pause frame packet 500 includes a destination address (DA) 502, a source address (SA) 504, a length/type (L/T) descriptor 506, data 508, and a frame check sequence (FCS) 510.
- the destination address (DA) 502 indicates the address of the receiving station.
- the source address (SA) 504 indicates the address of the sending station.
- the length/type (L/T) descriptor 506 is generally used to indicate the length and type of the data field that follows.
- the data 508 includes a timer value.
- the timer value identifies the period of time (pause time) that the sending point should pause (i.e., not transmit). As an example, the timer value can be designated by two (2) bytes, which can cause delays of 0-4 time slots.
- the frame check sequence 510 allows for a check to determine whether the pause frame had any transmission problems.
- the pause frame is a particular type of control frame.
- the pause frame 500 is similar to other control frames, however, the destination address (DA) 502 of the pause frame 500 is preferably fixed.
- This fixed destination address (DA) 502 is referred to as a multicast address that is reserved for pause frames.
- the pause frame 500 would generally include a preamble.
- An example of the size of the preamble is 8 bytes long.
- An example of a size of the destination address (DA) 502 is 6 bytes.
- An example of the size of the source address 504 is 6 bytes.
- An example of the length/type descriptor field 506 is 2 bytes.
- FIG. 6 is a diagrammatic representation of flow control system 600 according to an embodiment of the invention.
- the flow control system 600 is provided within an integrated circuit that also includes the MAC (e.g., MAC 406).
- the MAC e.g., MAC 406
- the buffers for transmission and reception as well as the MAC and the MAC control are contained within a single integrated circuit. This arrangement yields what is referred to as integrated flow control.
- the flow control system 600 includes a MAC control 602, a transmit buffer 604, and a receive buffer 606.
- the buffers 604 and 606 are FIFOs.
- the MAC control 602 is coupled with the receive buffer 606 and the transmit buffer 604.
- the received frames are buffered in the receive buffer 606.
- frames (more generally, data) outgoing from a sending station to a receiving station are buffered in the transmit buffer 604.
- the received buffer 606 is associated with a level indicator that is able to indicate the level of utilization of the storage capacity of the buffer.
- the level indicator signals two levels, an almost full (AF) level 608 and an almost empty (AE) level 610.
- the AF level 608 indicates that the amount of data stored in the receive buffer 606 is nearing its maximum capacity. As an example, the AF level 608 can indicate that the receive buffer 606 is at 95% capacity.
- the AE level 610 indicates that the amount of data stored in the receive buffer 606 is nearing its minimum capacity. As an example, the AE level 610 can indicate that the receive buffer 606 is at 5% capacity. For example, if the receive buffer were 8 kilobytes (kB), then the AF level could be about 7.6 kB and the AE level could be about 0.4 kB.
- the MAC control 602 When the amount of data stored in the receiving buffer 606 reaches the AF level 608, then the MAC control 602 produces and issues a pause frame to a sending station to inform to the sending station that data transmission (to the receiving buffer 606) should temporarily be stopped.
- the production and issuance of the pause frame are automatically performed by the MAC control 602. Accordingly, the pause frame is generated internally so that it is able to be sent with less delay and more control.
- the flow control system 600 operates without any need for external controls.
- the integrated circuit housing the flow control system 600 can also accept external controls in the event that external circuitry is also able to initiate the production and issuance of a request for a pause frame.
- the MAC control 602 produces and issues a pause frame to a sending station to inform to the sending station that data transmission should be resumed.
- This pause frame which is generated when the AE level 610 is reached, includes a pause time of zero, such that the sending point may immediately resume data transmission.
- the pause frame with a zero pause time can also be referred to as a resume frame.
- the AF and AE levels are preferably user configurable.
- a user or system can configure the AF and AE levels, also known as threshold levels, by storing appropriate values in registers within the integrated circuit housing the flow control system.
- Such an embodiment could also include registers to store the various fields of a pause frame such as shown in FIG. 5. It is likely the case that different AF and AE levels will be set to different capacity levels depending on the speed of the network link between the sending station and the receiving station.
- the transmit buffer 604 may also be associated with a level indicator that is able to signal either of two levels, an almost full (AF) level 612 and an almost empty (AE) level 614.
- the AF level 612 indicates that the amount of data stored in the transmit buffer 604 is nearing its maximum capacity. As an example, the AF level 612 can indicate that the transmit buffer 604 is at 95% capacity.
- the AE level 614 indicates that the amount of data stored in the transmit buffer 604 is nearing its minimum capacity. As an example, the AE level 614 can indicate that the transmit buffer 604 is at 5% capacity. For example, if the transmit buffer were 4 kilobytes (kB), then the AF level could be about 3.8 kB and the AE level could be about 0.2 kB.
- the invention monitors the available capacity of buffers used in transmitting and receiving frames or packets of data between stations. Specifically, a typical situation is where station 1 is transmitting to station 2 while, at the same time, station 2 is transmitting to station 1. When the data rate of the transmissions from station 1 to station 2 causes the receive buffer at station 2 to fill-up such that the amount of data stored in the buffer is nearly at its maximum capacity, then station 2 operates to produce and transmit a pause frame to station 1. Upon receiving the pause frame, station 1 ceases to transmit frames or packets of data to station 2 for a predetermined period of time or until instructed otherwise by station 2. Because no external circuitry is involved in the flow control processing, the transmission and reception of pause frames is very rapid as compared to conventional designs which relied on external circuitry.
- FIGS. 7 and 8 The processing associated with providing flow control according to the invention is described in more detail below in FIGS. 7 and 8. The processing is described with reference to the situation noted above where station 1 is transmitting frames to station 2 and, at the same time, station 2 is transmitting frames to station 1. Our discussion below will focus on the receiving of frames at station 2 and the transmitting of frames from station 1.
- FIG. 7 is a flow diagram of reception side pause control processing 700 according to an embodiment of the invention.
- the reception side pause control processing 700 is discussed below with reference to station 2 and the above-mentioned situation.
- the reception side control processing 700 begins with a decision block 702 that determines whether a frame has been received. For example, with respect to station 2, the decision block 702 determines whether station 2 has received a frame. Until a frame has been received, the reception side pause control processing 700 awaits the reception of the frame. Independently, there can be concurrent transmission of frames (e.g., from station 2 to station 1).
- a decision block 706 determines whether the buffer level is greater than an upper threshold. When the buffer level is determined to be greater than the upper threshold, then the reception side pause control processing 700 understands that a pause frame will need to be generated and transmitted. On the other hand, when the decision block 706 determines that the buffer level does not exceed the upper threshold, then a decision block 708 determines whether the buffer level is then below a lower threshold.
- the reception side pause control processing 700 determines that a pause frame needs to be generated and transmitted to perform flow control.
- the lower threshold can correspond to the AE level 610 and the upper threshold can correspond to the AF level 608 for a receive buffer as described above with reference to FIG. 6.
- a pause frame is then generated 710.
- a representative format for a pause frame would be the pause frame 500 described above with reference to FIG. 5.
- the pause frame is sent 712 to station 1 as a next frame to be transmitted. For example, if the pause frame is generated while the station 2 is in the process of transmitting a particular frame to station 1, then the transmission of the particular frame is completed. Then, as soon as the transmission of the particular frame is complete, the pause frame is the next frame to be transmitted. After the pause frame has been sent, the transmitting of non-pause frames to station 1, if any, is resumed 714. By transmitting the pause as the next frame, the pause frame is given priority over other frames that may happen to be waiting for transmission. As a result, any congestion at a transmit side is able to be bypassed.
- reception side pause control processing 700 returns to repeat the decision block 702 and subsequent blocks. In this manner, the reception side pause control processing 700 is ready to receive and process another received frame.
- FIG. 8 is a flow diagram of transmission side pause control processing 800 according to an embodiment of the invention.
- the transmission side pause control processing 800 is discussed below with reference to station 1 in the above-mentioned situation.
- the transmission side pause control processing 800 begins by transmitting 802 frames from station 1 to station 2.
- stations 1 and 2 are assumed to communicate in a bidirectional or full-duplex manner.
- a decision block 804 determines whether a pause frame has been received.
- each frame is examined to determine whether it is a pause frame.
- a pause frame can be easily distinguished by its destination address (DA) which is a predetermined address that is dedicated for pause frames.
- DA destination address
- the reception side pause control processing 800 performs special actions to service the pause frame that has been received.
- the decision block 804 determines that a pause frame has not been received, then the additional processing of pause frames is bypassed.
- a pause frame specifies the pause period during which the transmissions are to cease.
- a decision block 808 determines whether the pause period has expired.
- the pause period is used by the transmitting side (e.g., station 1) to incur a delay (or pause) in the transmission to another station.
- the decision block 808 determines whether a particular pause period that has been established has now expired.
- a decision block 810 determines whether a new pause frame has been received in the interim. When the decision block 810 determines that a new pause frame has not been received, then the transmission side pause control processing 800 returns to repeat the decision block 808 and subsequent blocks so that the pause period can be continuously monitored to detect its expiration. On the other hand, when the decision block 810 determines that a new pause frame has been received, then the pause period is reset 812 in accordance with the pause period associated with the new pause frame. Following block 812, the transmission side pause control processing 800 returns to repeat the decision block 808 and subsequent blocks.
- the decision block 808 determines that the pause period has expired, then transmission of frames to station 2 is resumed 814.
- the decision block 808 can determine that the pause period has expired for either the initial pause frame or a subsequently received newer pause frame, whichever was received last. In any case, when the currently active pause period expires, the transmission of frames to station 2 is resumed 814 because the pause period is over.
- a decision block 816 determines whether there are more frames to transmit. When the decision block 816 determines that there are more frames to transmit, then the transmission side pause control processing 800 returns to repeat the decision block 804 and subsequent blocks so that the additional frames can be transmitted, although potentially interrupted for typically brief periods due to the reception of pause frames. Alternatively, when a decision block 816 determines that there are no more frames to transmit, then the transmission side pause control processing 800 is complete and ends.
- FIG. 9 is a block diagram of a reception controller 900 with integrated flow control according to an embodiment of the invention.
- the reception controller 900 is illustrated in FIG. 9 from the perspective of a receiving station such as station 2 in the representative situation noted above.
- the reception controller 900 includes a receive side media access control (MAC) 902 which receives incoming frames to the reception controller 900.
- the incoming frames that are received by the receive side MAC 902 are forwarded to a receive buffer 904 via a data path 906.
- the receive buffer 904 is coupled not only to the data path 906 but also to bus 908.
- the reception controller 900 also includes a pulse frame controller 910 and a pulse frame generator 912.
- the pulse frame controller 910 receives buffer level information from the receive buffer 904 over signal lines 914. Using the buffer level information, the pause frame controller 910 can determine whether a pause frame is necessary. In one embodiment, the buffer level information is compared with threshold settings stored or accessible to the pause frame controller 910. As an example, registers provided within or accessible to the pulse frame controller 910 can be set through signal lines 916 via the bus 908.
- the bus 908 is accessible to a Central Processing Unit (CPU) of a computer system that includes a network communications integrated circuit that includes the reception controller 900. Through the bus 908 then the CPU is able to set the registers which can be used to store the threshold settings.
- CPU Central Processing Unit
- the pause frame controller 910 can also determine that a pause frame is necessary.
- the pause frame generator 912 can receive an external pulse request (EPR) signal 918.
- EPR external pulse request
- the EPR signal 918 can be provided by external circuitry in a case in which the system desires to use external logic and processing to request that a pause frame be issued. In any case, the pause frame controller 910 determines when a pause frame is necessary.
- the pause frame generator 912 is coupled to the bus 908 over signal lines 920.
- the signal lines 920 can be used to set internal registers within the pulse frame generator 912.
- the CPU is able to set the internal registers via the signal lines 920.
- These internal registers can store certain fields of the pulse frame to be generated. Representative fields for a pause frame as shown in FIG. 5.
- the pause frame generator 912 produces a pause frame which is supplied over signal line 922 to a multiplexer 924.
- the multiplexer 924 also couples to a transmit buffer 926 through a signal lines 928.
- the transmit buffer 926 is coupled to the bus 908 and stores frames to be transmitted to a remote station.
- the multiplexer 924 selects for transmission either the pulse frame generated by the pulse frame generator 912 or a frame from the transmit buffer 926 in accordance with a control signal 930.
- the control signal 930 is produced by the pulse frame controller 910 whenever a pause frame is to be transmitted.
- the output of the multiplexer 925 is provided to a transmit side MAC 932. From the transmit side MAC 932, the selected frame is transmitted to a remote station.
- the transmit side MAC 932 and the receive side MAC 902 together are conventionally referred to as a MAC layer 934.
- the pause frame controller 910, the pause frame generator 912 and the multiplexer 925 are typically associated with a MAC control layer 936.
- FIG. 10 is block diagram of a transmission controller 1000 with integrated flow control according to an embodiment of the invention.
- the transmission controller 1000 operates to transmit or interrupt the transmission of frames to a remote station when an incoming frame received from that station has requested a pause.
- the transmission controller 1000 is illustrated in FIG. 10 from the perspective of a transmitting station such as station 1 in the representative situation noted above.
- the transmission controller 1000 receives incoming frames at a receive side MAC 1002. The frames are then forwarded to a demultiplexer 1004 over a data bus 1006.
- the demultiplexer 1004 supplies the incoming frames to either a data bus 1008 or a pause frame bus 1010.
- the selection of either the data bus 1008 or the pause frame bus 1010 is performed in accordance with a control signal 1012.
- the data bus 1008 supplies the incoming frame to a receive buffer 1014.
- the receive buffer 1014 stores the incoming frames temporarily until they can be further processed.
- the receive buffer 1014 is coupled to a bus 1016 over which the stored frames within the received buffer 1014 can be retrieved for processing.
- the pulse frame bus 1010 supplies the incoming frame, which is designated to be a pause frame, to a pause frame register 1018.
- the pause frame is stored within the pause frame register 1018. All incoming frames that are not pause frames are supplied to the receive buffer 1014.
- the bus 1016 is accessible to a Central Processing Unit (CPU) of a computer system that includes a network communications integrated circuit that includes the transmission controller 1000.
- CPU Central Processing Unit
- the control signal 1012 can be determined for each incoming frame by examining the destination address (DA) for the incoming frame. If the destination address (DA) of the frame indicates its a pause frame, then the control signal 1012 directs the multiplexer 1004 to supply the incoming frame to the pause frame bus 1010. On the other hand, if the destination address (DA) of the frame indicates its not a pause frame, then the control signal 1012 directs the multiplexer 1004 to supply the incoming frame to the receive buffer via the data bus 1008.
- a pause controller 1020 accesses the pause frame stored in a pause frame register 1018 and causes the transmission of frames by the transmission controller 1000 to cease transmission for a period of time.
- the pause frame controller 1020 sends a pause control signal 1022 to a switch 1024.
- the switch 1024 is provided between a transmit buffer 1026 and a transmit side MAC 1028.
- the switch 1024 is coupled to the transmit side MAC 1028 over a data bus 1030.
- the transmission controller 1000 will operate to freely transmit frames from the transmit buffer 1026 through the switch 1024 and the data bus 1030 to the transmit side MAC 1028. From the transmit side MAC 1028, the frames are transmitted over a physical medium and arrive at the remote station where they are received at the remote station's receive side MAC. However, when a pause frame is received by the receive side MAC 1002 and forwarded to the demultiplexer 1004 via the data link 1006, the control signal 1012 directs the frame to the pause frame register 1018. Once stored in the pause frame register 1018, the pause controller 1020 can evaluate the pause frame to determine the duration of the pause that is being requested.
- the pause controller 1020 activates a pause request signal 1022 for the duration of the requested pause.
- the duration can be provided by starting a timer for the period of the duration specified by the pause frame.
- the pause request signal 1022 is deactivated and the transmission of frames from the transmit buffer 1026 through the data bus 1030 to the transmit side MAC 1028 is, thereafter, allowed to continue, at least until a next pause frame is received.
- the receive side MAC 1002 and the transmit side MAC 1028 together are conventionally referred to as a MAC layer 1032.
- the demultiplexer 1004, the pause frame register 1018, the pause controller 1020 and the switch 1024 are typically associated with a MAC control layer 1034.
- the multiplexer 924 illustrated in FIG. 9 and the demultiplexer 1004 and the switch 1024 illustrated in FIG. 10 can be implemented as physical functional devices on the integrated circuit housing the reception controller 900 and the transmission controller 1000. Alternatively, these functional devices can be implemented logically by microcode, state machine, etc. Further, the pause frame controller 910 and the pause controller 1020 can be implemented in dedicated hardware or in a logical fashion through microcode, state machine, etc.
- the reception controller 900 is integrated with the transmission controller 1000 and thus shares much of the circuitry, such as buffers and the MAC, even though shown separately in FIGS. 9 and 10.
- the reception controller 900 and the transmission controller 1000 are provided in the same integrated circuit chip.
- FIG. 11 is a block diagram of a representative embodiment of a network communication system 1100 according to an embodiment of the invention.
- the network communication system 1100 is implemented on a single integrated circuit chip.
- the network communication system 1100 provides integrated flow control.
- the network communication system 1100 includes a transmission/reception controller 1101 that implements integrated flow control according to an embodiment of the invention.
- the transmission/reception controller 1101 includes a transmit (Tx) MAC control 1102a, a receive (Rx) MAC control 1102b, a transmit (Tx) MAC 1104a, and a receive (Rx) MAC 1104b.
- the transmit (Tx) MAC 1104a processes data received from a MAC control client (e.g., an upper LLC layer) that is to be transmitted over a physical medium 1106a, while the receive (Rx) MAC 1104b processes frames (network packets) received from a physical medium 1106b.
- a MAC control client e.g., an upper LLC layer
- the Tx MAC 1104a and the Rx MAC 1104b are shown to be coupled to the transmit MAC control 1102a and the receive MAC control 1102b.
- the MAC controls 1102a and 1102b are used to control transmit data flow and receive data flow. Further details of the MAC controls 1102a and 1102b where described above with reference to FIGS. 9 and 10.
- a MAC control client e.g., an upper LLC layer
- the data is supplied over the system bus 1108 to a bus interface controller 1110.
- the data is then passed from the bus interface controller 1110 to a transmit buffer (Tx FIFO) 1112, which holds the data received from the upper LLC layer.
- Tx FIFO transmit buffer
- the receive MAC control 1102b controls the storage of the data to the receive buffer (Rx FIFO) 1114 as well as the flow control according to the invention.
- the data can be read from the receive buffer (Rx FIFO) 1114 by the system bus 1108 via the bus interface controller 1110.
- Both the transmit buffer (Tx FIFO) 1112 and a receive buffer (Rx FIFO) 1114 are shown being coupled to FIFO control blocks 1116 and 1118, respectively, which pass control information to the transmit MAC 204a and the receive MAC 204b.
- the FIFO control blocks 1116 and 1118 monitor the level of data storage in the transmit buffer (Tx FIFO) 1112 and the receive buffer (Rx FIFO) 1114.
- the network communication system 1100 further includes registers 1120 and statistics counters 1122 that are used to account for and keep track of processing being performed in the Tx MAC 1104a and the Rx MAC 1104b.
- the registers 1120 can include registers to store level thresholds, registers to store fields of a pause frame, and a timer register to count a pause duration.
- the registers 1120 can also include a mode register that indicates whether flow control is enabled.
- FIG. 12 is a block diagram of a general purpose computer system 1200 suitable for use with a network communication controller according to one embodiment of the invention.
- FIG. 12 illustrates one embodiment of a general purpose computer system, but it should be recognized that other computer system architectures and configurations can be used with the invention.
- the computer system 1200 made up of various subsystems described below, includes at least one Central Processing Unit (CPU) (also referred to as a microprocessor) 1202 which controls the operation of the computer system 100.
- CPU Central Processing Unit
- the CPU 1202 can be implemented by a single-chip processor or by multiple processors. Using instructions retrieved from memory 1204, the CPU 1202 controls the reception and manipulation of input data, and the output and display of data on output devices.
- the CPU 1202 is coupled bi-directionally with the memory 1204 which can include a first primary storage, typically a random access memory (RAM), and a second primary storage area, typically a read-only memory (ROM).
- primary storage can be used as a general storage area for storage of input data and processed data as well as for storage of programming instructions and data.
- a removable mass storage device 1206 provides additional data storage capacity for the computer system 1200, and is coupled either bi-directionally or uni-directionally to the CPU 1202.
- a specific removable mass storage device commonly known as a CD-ROM typically passes data uni-directionally to the CPU 1202, whereas a floppy disk can pass data bi-directionally to the CPU 1202.
- the removable mass storage device 1206 can also include other computer-readable media such as magnetic tape, flash memory, signals embodied on a carrier wave, PC-CARDS, portable mass storage devices, holographic storage devices, and other storage devices.
- a fixed mass storage device 1208 can also provide additional data storage capacity.
- a common example of the fixed mass storage 1208 is a hard disk drive.
- the storage devices 1206 and 1208 generally store additional programming instructions, data, and the like that typically are not in active use by the CPU 1202.
- a bus 1210 can be used to provide access other subsystems and devices as well.
- these other subsystems and devices can include a display monitor 1212, a keyboard 1214, a pointing device 1216, and a network interface 1218.
- the pointing device 1216 may be a mouse, stylus, track ball, or tablet, and is useful for interacting with a graphical user interface.
- the network interface 1218 allows the CPU 1202 to be coupled to another computer, computer network, or telecommunications network using a network connection as shown. Through the network interface 1218, it is contemplated that the CPU 1202 might receive information, e.g., data or frames of data, from another device on a network, or might output information, e.g., data or frames of data, to another device through the network.
- the improved flow control according to the invention could be provided in the network interface 1218, which could be a network communications controller provided on an integrated circuit chip.
- One advantage of the invention is that pause frames can be sent more rapidly than conventionally possible. As a result, network performance tends to improve because network congestion and inter-chip latencies are able to be avoided.
- Another advantage of certain embodiments of the invention is that a user or system can programmably adjust or vary the amount of advance warning of buffer overflow and/or underflow.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
Claims (25)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/179,538 US6167029A (en) | 1998-10-13 | 1998-10-26 | System and method for integrated data flow control |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10431598P | 1998-10-13 | 1998-10-13 | |
US09/179,538 US6167029A (en) | 1998-10-13 | 1998-10-26 | System and method for integrated data flow control |
Publications (1)
Publication Number | Publication Date |
---|---|
US6167029A true US6167029A (en) | 2000-12-26 |
Family
ID=26801394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/179,538 Expired - Lifetime US6167029A (en) | 1998-10-13 | 1998-10-26 | System and method for integrated data flow control |
Country Status (1)
Country | Link |
---|---|
US (1) | US6167029A (en) |
Cited By (79)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020059454A1 (en) * | 2000-05-16 | 2002-05-16 | Barrett Joseph G. | E-mail sender identification |
US6405258B1 (en) * | 1999-05-05 | 2002-06-11 | Advanced Micro Devices Inc. | Method and apparatus for controlling the flow of data frames through a network switch on a port-by-port basis |
US20020085586A1 (en) * | 2000-11-14 | 2002-07-04 | Altima Communications, Inc. | Linked network switch configuration |
US6421352B1 (en) * | 1997-06-05 | 2002-07-16 | Nec Corporation | Data processing apparatus capable of independently interrupting transmission data |
US20020093973A1 (en) * | 2000-11-14 | 2002-07-18 | Altima Communications, Inc. | Linked network switch configuration |
US6426944B1 (en) | 1998-12-30 | 2002-07-30 | At&T Corp | Method and apparatus for controlling data messages across a fast packet network |
US6459687B1 (en) * | 2001-03-05 | 2002-10-01 | Ensemble Communications, Inc. | Method and apparatus for implementing a MAC coprocessor in a communication system |
US6463035B1 (en) | 1998-12-30 | 2002-10-08 | At&T Corp | Method and apparatus for initiating an upward signaling control channel in a fast packet network |
US6477145B1 (en) | 1998-12-30 | 2002-11-05 | At&T Corp. | Method and apparatus for using video memory to buffer data packets for presentation to a data network |
US6529521B1 (en) * | 1999-12-27 | 2003-03-04 | Emc Corporation | Data storage system |
US20030110303A1 (en) * | 2001-12-07 | 2003-06-12 | Chen Edmund G. | Method and apparatus for unscheduled flow control in packet form |
US20030172220A1 (en) * | 2002-03-06 | 2003-09-11 | Broadcom Corporation | Adaptive flow control method and apparatus |
US20030204653A1 (en) * | 2002-04-25 | 2003-10-30 | Fujitsu Limited | Network switching device and network switching method |
US20030212814A1 (en) * | 2002-05-09 | 2003-11-13 | Altima | Dynamic adjust multicast drop threshold to provide fair handling between multicast and unicast frames |
EP1411662A2 (en) * | 2002-10-14 | 2004-04-21 | Samsung Electronics Co., Ltd. | Multipoint gating control block in an ethernet passive optical network and method therefor |
KR100429503B1 (en) * | 2001-07-18 | 2004-05-04 | 삼성전자주식회사 | Data packet flow control method |
US6748442B1 (en) * | 1998-12-21 | 2004-06-08 | Advanced Micro Devices, Inc. | Method and apparatus for using a control signal on a packet based communication link |
US6754179B1 (en) * | 2000-06-13 | 2004-06-22 | Lsi Logic Corporation | Real time control of pause frame transmissions for improved bandwidth utilization |
US20040120334A1 (en) * | 2002-12-20 | 2004-06-24 | Lsi Logic Corporation | Flow control enhancement |
US6772245B1 (en) * | 2000-03-29 | 2004-08-03 | Intel Corporation | Method and apparatus for optimizing data transfer rates between a transmitting agent and a receiving agent |
US6785236B1 (en) * | 2000-05-28 | 2004-08-31 | Lucent Technologies Inc. | Packet transmission scheduling with threshold based backpressure mechanism |
US20040184434A1 (en) * | 2001-05-07 | 2004-09-23 | Benoist Sebire | Rlc/mac protocol |
US6816465B1 (en) * | 2001-01-29 | 2004-11-09 | Advanced Micro Devices, Inc. | Arrangement for testing pause frame response in a network switch |
US20040252638A1 (en) * | 2003-06-12 | 2004-12-16 | International Business Machines Corporation | Method and apparatus for managing flow control in a data processing system |
US20050013312A1 (en) * | 2003-05-23 | 2005-01-20 | Karlsen Per Arne | Method for managing variation in a data flow rate |
US20050021831A1 (en) * | 2003-07-25 | 2005-01-27 | Artur Andrzejak | Determining placement of distributed application onto distributed resource infrastructure |
US6882622B1 (en) * | 2000-03-24 | 2005-04-19 | 3Com Corporation | Flow control system for network devices |
US20050141551A1 (en) * | 2003-12-29 | 2005-06-30 | Mcneil Roy Jr. | Common LAN architecture and flow control relay |
US20050174941A1 (en) * | 2004-02-09 | 2005-08-11 | Shanley Timothy M. | Methods and apparatus for controlling the flow of multiple signal sources over a single full duplex ethernet link |
US20050182848A1 (en) * | 2003-12-29 | 2005-08-18 | Mcneil Roy Jr. | Rate limiting using pause frame capability |
US20050226147A1 (en) * | 2004-04-06 | 2005-10-13 | Oki Electric Industry Co., Ltd. | Relay device |
US20050235013A1 (en) * | 2002-08-10 | 2005-10-20 | Kun Li | Flow control method of data service transmission in sdh network |
US7032023B1 (en) * | 2000-05-16 | 2006-04-18 | America Online, Inc. | Throttling electronic communications from one or more senders |
US7065582B1 (en) * | 1999-12-21 | 2006-06-20 | Advanced Micro Devices, Inc. | Automatic generation of flow control frames |
US20060224922A1 (en) * | 2002-10-08 | 2006-10-05 | Koninklijke Philips Electronics N.V. | Integrated circuit and method for sending requests |
US20060235990A1 (en) * | 2005-04-19 | 2006-10-19 | International Business Machines Corporation | Method and apparatus for controlling data flows in distributed storage systems |
US20060268709A1 (en) * | 2005-05-16 | 2006-11-30 | Cisco Technology, Inc. | Queue aware flow control |
US20070195699A1 (en) * | 2006-02-17 | 2007-08-23 | Raymond Kloth | System and method for efficient network flow control |
US7269680B1 (en) | 1998-08-06 | 2007-09-11 | Tao Logic Systems Llc | System enabling device communication in an expanded computing device |
US20070248118A1 (en) * | 2006-04-19 | 2007-10-25 | Nafea Bishara | Adaptive Speed Control for MAC-PHY Interfaces |
KR100773445B1 (en) | 2006-11-22 | 2007-11-05 | 삼성전자주식회사 | Apparatus for transmitting and receiving data of wireless local network and method using the same |
US7313105B1 (en) * | 2000-09-26 | 2007-12-25 | Nortel Networks Limited | Mechanism and method to select a time delay in response to a collision |
US7349960B1 (en) * | 2000-05-20 | 2008-03-25 | Ciena Corporation | Throttling distributed statistical data retrieval in a network device |
US7369496B1 (en) * | 1998-12-02 | 2008-05-06 | Notel Networks Limited | Flow control of frame based data over a synchronous digital network |
US20080159188A1 (en) * | 2006-06-28 | 2008-07-03 | Kenichi Funagai | Serial interface apparatus performing asynchronous serial data transfer using asynchronous serial communication method |
US20080192631A1 (en) * | 2007-02-13 | 2008-08-14 | Infineon Technologies Ag | Method of controlling a data flow, transmitter and data transmission system |
US20090080459A1 (en) * | 2007-04-04 | 2009-03-26 | Ozdal Barkan | Long-reach ethernet for 1000BASE-T and 10GBASE-T |
US20090122702A1 (en) * | 2007-11-13 | 2009-05-14 | Yen Hsiang Chew | Bandwidth allocation for network packet traffic |
US7548956B1 (en) | 2003-12-30 | 2009-06-16 | Aol Llc | Spam control based on sender account characteristics |
US20090164679A1 (en) * | 2007-12-24 | 2009-06-25 | Stmicroelectronics (Grenoble) Sas | Data transmission method and corresponding device |
US20090201816A1 (en) * | 2008-02-13 | 2009-08-13 | Takahashi Taishi | Communication device, and flow control method and program product for use in the same |
US20090282444A1 (en) * | 2001-12-04 | 2009-11-12 | Vixs Systems, Inc. | System and method for managing the presentation of video |
US7639608B1 (en) * | 2003-10-23 | 2009-12-29 | Foundry Networks, Inc. | Priority aware MAC flow control |
US20100023658A1 (en) * | 2008-07-25 | 2010-01-28 | Broadcom Corporation | System and method for enabling legacy medium access control to do energy efficent ethernet |
US7657678B2 (en) | 1998-08-06 | 2010-02-02 | Ahern Frank W | Modular computer system |
US7672242B2 (en) | 2006-11-23 | 2010-03-02 | Realtek Semiconductor Corp. | Traffic management device and method thereof |
US20100103816A1 (en) * | 2008-10-28 | 2010-04-29 | Fujitsu Limited | Transmission apparatus, transmission system and transmission method |
US7711790B1 (en) | 2000-08-24 | 2010-05-04 | Foundry Networks, Inc. | Securing an accessible computer system |
CN101047615B (en) * | 2006-05-14 | 2010-05-12 | 华为技术有限公司 | Control method for Ethernet data flow |
US20100128738A1 (en) * | 2008-11-24 | 2010-05-27 | Ciscotechnology, Inc. | Interim phy solution for lpi compatibility with legacy devices |
US7730137B1 (en) | 2003-12-22 | 2010-06-01 | Aol Inc. | Restricting the volume of outbound electronic messages originated by a single entity |
WO2010008250A3 (en) * | 2008-07-18 | 2010-07-08 | Lg Electronics Inc. | Apparatus for managing a flow control process and method thereof |
US7761589B1 (en) | 2003-10-23 | 2010-07-20 | Foundry Networks, Inc. | Flow control for multi-hop networks |
USRE41494E1 (en) | 2000-04-19 | 2010-08-10 | Ahern Frank W | Extended cardbus/PC card controller with split-bridge technology |
US20100265861A1 (en) * | 2009-04-16 | 2010-10-21 | Qualcomm Incorporated | Apparatus and Method for Improving WLAN Spectrum Efficiency and Reducing Interference by Flow Control |
US20100299461A1 (en) * | 2009-05-20 | 2010-11-25 | Kyocera Mita Corporation | Information processing apparatus and image forming apparatus |
KR101017532B1 (en) | 2003-03-31 | 2011-02-28 | 알카텔-루센트 유에스에이 인코포레이티드 | Method for flow control in a communication system |
US7930341B1 (en) * | 2001-12-26 | 2011-04-19 | Marvell Israel (M.I.S.L.) Ltd. | Extended flow-control for long-distance links |
US20110099236A1 (en) * | 2009-10-28 | 2011-04-28 | Vuong Anh Tuan | Cessation of sending network status messages to a server |
US8001244B2 (en) | 2000-08-24 | 2011-08-16 | Aol Inc. | Deep packet scan hacker identification |
US8018851B1 (en) * | 2004-06-30 | 2011-09-13 | Marvell Israel (Misl) Ltd. | Flow control for multiport PHY |
US20110235518A1 (en) * | 2008-08-29 | 2011-09-29 | Brocade Communications Systems, Inc. | Source-based congestion detection and control |
US20110261687A1 (en) * | 2010-04-26 | 2011-10-27 | International Business Machines Corporation | Priority Based Flow Control Within a Virtual Distributed Bridge Environment |
US20120009087A1 (en) * | 2010-07-09 | 2012-01-12 | Koichi Okubo | Sample processing apparatus and sample transporting device |
CN103546231A (en) * | 2012-07-10 | 2014-01-29 | 中兴通讯股份有限公司 | Method and device for controlling Ethernet service empty-port transmission delay jitter |
CN104601490A (en) * | 2015-02-16 | 2015-05-06 | 杭州华三通信技术有限公司 | Network device and traffic control method and device thereof |
EP2213057B1 (en) * | 2007-11-21 | 2019-01-02 | Microchip Technology Incorporated | Ethernet controller |
US10944676B2 (en) * | 2016-08-15 | 2021-03-09 | Tata Communications (Uk) Limited | Dynamic congestion management |
US11057470B2 (en) * | 2018-12-12 | 2021-07-06 | Fujitsu Limited | Communication device and communication method for processing meta data |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5905870A (en) * | 1996-09-11 | 1999-05-18 | Advanced Micro Devices, Inc | Arrangement for initiating and maintaining flow control in shared-medium, full-duplex, and switched networks |
US5982778A (en) * | 1996-08-30 | 1999-11-09 | Advanced Micro Devices, Inc. | Arrangement for regulating packet flow rate in shared-medium, point-to-point, and switched networks |
US5995488A (en) * | 1996-10-08 | 1999-11-30 | Advanced Micro Devices, Inc. | Method and apparatus for regulating data flow in networks |
US6026075A (en) * | 1997-02-25 | 2000-02-15 | International Business Machines Corporation | Flow control mechanism |
US6031821A (en) * | 1997-08-19 | 2000-02-29 | Advanced Micro Devices, Inc. | Apparatus and method for generating a pause frame in a buffered distributor based on lengths of data packets distributed according to a round robin repeater arbitration |
US6035333A (en) * | 1997-11-24 | 2000-03-07 | International Business Machines Corporation | Method and system for providing congestion control in a data communications network |
US6084856A (en) * | 1997-12-18 | 2000-07-04 | Advanced Micro Devices, Inc. | Method and apparatus for adjusting overflow buffers and flow control watermark levels |
-
1998
- 1998-10-26 US US09/179,538 patent/US6167029A/en not_active Expired - Lifetime
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5982778A (en) * | 1996-08-30 | 1999-11-09 | Advanced Micro Devices, Inc. | Arrangement for regulating packet flow rate in shared-medium, point-to-point, and switched networks |
US5905870A (en) * | 1996-09-11 | 1999-05-18 | Advanced Micro Devices, Inc | Arrangement for initiating and maintaining flow control in shared-medium, full-duplex, and switched networks |
US5995488A (en) * | 1996-10-08 | 1999-11-30 | Advanced Micro Devices, Inc. | Method and apparatus for regulating data flow in networks |
US6026075A (en) * | 1997-02-25 | 2000-02-15 | International Business Machines Corporation | Flow control mechanism |
US6031821A (en) * | 1997-08-19 | 2000-02-29 | Advanced Micro Devices, Inc. | Apparatus and method for generating a pause frame in a buffered distributor based on lengths of data packets distributed according to a round robin repeater arbitration |
US6035333A (en) * | 1997-11-24 | 2000-03-07 | International Business Machines Corporation | Method and system for providing congestion control in a data communications network |
US6084856A (en) * | 1997-12-18 | 2000-07-04 | Advanced Micro Devices, Inc. | Method and apparatus for adjusting overflow buffers and flow control watermark levels |
Non-Patent Citations (7)
Title |
---|
Architecture and Apparatus for Implementing Flow Control in an Ethernet Adapter; IBM Research Disclosure 413128, Sept. 1998. * |
Bill Bunch, "Asymmetric Flow Control (AFC) and Gigabit Ethernet", IEEE 802.3z Gigabit Ethernet Task Force, Nov. 5, 1996, Rev. 1.0. |
Bill Bunch, Asymmetric Flow Control (AFC) and Gigabit Ethernet , IEEE 802.3z Gigabit Ethernet Task Force, Nov. 5, 1996, Rev. 1.0. * |
Patrick Van Eijk, "Gigabit Ethernet: Technology, Systems, And Network Applications", Electronic Design, Apr. 1, 1997. |
Patrick Van Eijk, Gigabit Ethernet: Technology, Systems, And Network Applications , Electronic Design, Apr. 1, 1997. * |
Rich Seifert, "IEEE 802.3x and Asymmetrical Flow Control", IEEE 802.3z Gigabit Ethernet Task Force, Nov. 1996, Vancouver, BC. |
Rich Seifert, IEEE 802.3x and Asymmetrical Flow Control , IEEE 802.3z Gigabit Ethernet Task Force, Nov. 1996, Vancouver, BC. * |
Cited By (152)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6421352B1 (en) * | 1997-06-05 | 2002-07-16 | Nec Corporation | Data processing apparatus capable of independently interrupting transmission data |
US7657678B2 (en) | 1998-08-06 | 2010-02-02 | Ahern Frank W | Modular computer system |
US7734852B1 (en) | 1998-08-06 | 2010-06-08 | Ahern Frank W | Modular computer system |
US8060675B2 (en) | 1998-08-06 | 2011-11-15 | Frank Ahern | Computing module with serial data connectivity |
US7269680B1 (en) | 1998-08-06 | 2007-09-11 | Tao Logic Systems Llc | System enabling device communication in an expanded computing device |
US20080165888A1 (en) * | 1998-12-02 | 2008-07-10 | Northern Telecom Limited | Flow control of frame based data over a synchronous digital network |
US7738381B2 (en) * | 1998-12-02 | 2010-06-15 | Nortel Networks Limited | Flow control of frame based data over a synchronous digital network |
US7369496B1 (en) * | 1998-12-02 | 2008-05-06 | Notel Networks Limited | Flow control of frame based data over a synchronous digital network |
US6748442B1 (en) * | 1998-12-21 | 2004-06-08 | Advanced Micro Devices, Inc. | Method and apparatus for using a control signal on a packet based communication link |
US6426944B1 (en) | 1998-12-30 | 2002-07-30 | At&T Corp | Method and apparatus for controlling data messages across a fast packet network |
US6477145B1 (en) | 1998-12-30 | 2002-11-05 | At&T Corp. | Method and apparatus for using video memory to buffer data packets for presentation to a data network |
US6463035B1 (en) | 1998-12-30 | 2002-10-08 | At&T Corp | Method and apparatus for initiating an upward signaling control channel in a fast packet network |
US6405258B1 (en) * | 1999-05-05 | 2002-06-11 | Advanced Micro Devices Inc. | Method and apparatus for controlling the flow of data frames through a network switch on a port-by-port basis |
US7065582B1 (en) * | 1999-12-21 | 2006-06-20 | Advanced Micro Devices, Inc. | Automatic generation of flow control frames |
US6529521B1 (en) * | 1999-12-27 | 2003-03-04 | Emc Corporation | Data storage system |
US6882622B1 (en) * | 2000-03-24 | 2005-04-19 | 3Com Corporation | Flow control system for network devices |
US6772245B1 (en) * | 2000-03-29 | 2004-08-03 | Intel Corporation | Method and apparatus for optimizing data transfer rates between a transmitting agent and a receiving agent |
USRE41494E1 (en) | 2000-04-19 | 2010-08-10 | Ahern Frank W | Extended cardbus/PC card controller with split-bridge technology |
US20020059454A1 (en) * | 2000-05-16 | 2002-05-16 | Barrett Joseph G. | E-mail sender identification |
US20060136590A1 (en) * | 2000-05-16 | 2006-06-22 | America Online, Inc. | Throttling electronic communications from one or more senders |
US7788329B2 (en) | 2000-05-16 | 2010-08-31 | Aol Inc. | Throttling electronic communications from one or more senders |
US7032023B1 (en) * | 2000-05-16 | 2006-04-18 | America Online, Inc. | Throttling electronic communications from one or more senders |
US7349960B1 (en) * | 2000-05-20 | 2008-03-25 | Ciena Corporation | Throttling distributed statistical data retrieval in a network device |
US6785236B1 (en) * | 2000-05-28 | 2004-08-31 | Lucent Technologies Inc. | Packet transmission scheduling with threshold based backpressure mechanism |
US6754179B1 (en) * | 2000-06-13 | 2004-06-22 | Lsi Logic Corporation | Real time control of pause frame transmissions for improved bandwidth utilization |
US8108531B2 (en) | 2000-08-24 | 2012-01-31 | Foundry Networks, Inc. | Securing an access provider |
US20100217863A1 (en) * | 2000-08-24 | 2010-08-26 | Foundry Networks, Inc. | Securing An Access Provider |
US7711790B1 (en) | 2000-08-24 | 2010-05-04 | Foundry Networks, Inc. | Securing an accessible computer system |
US8001244B2 (en) | 2000-08-24 | 2011-08-16 | Aol Inc. | Deep packet scan hacker identification |
US20100235506A1 (en) * | 2000-08-24 | 2010-09-16 | Foundry Networks, Inc. | Securing an accessible computer system |
US7743144B1 (en) | 2000-08-24 | 2010-06-22 | Foundry Networks, Inc. | Securing an access provider |
US9288218B2 (en) | 2000-08-24 | 2016-03-15 | Foundry Networks, Llc | Securing an accessible computer system |
US8850046B2 (en) | 2000-08-24 | 2014-09-30 | Foundry Networks Llc | Securing an access provider |
US8645537B2 (en) | 2000-08-24 | 2014-02-04 | Citrix Systems, Inc. | Deep packet scan hacker identification |
US8259746B2 (en) | 2000-09-26 | 2012-09-04 | Avaya Inc. | Network access mechanism and method |
US20080089355A1 (en) * | 2000-09-26 | 2008-04-17 | Nortel Networks Limited | Network access mechanism and method |
US20080107128A1 (en) * | 2000-09-26 | 2008-05-08 | Nortel Networks Limited | Network access mechanism and method |
US8045575B2 (en) | 2000-09-26 | 2011-10-25 | Avaya Inc. | Network access mechanism and method |
US7313105B1 (en) * | 2000-09-26 | 2007-12-25 | Nortel Networks Limited | Mechanism and method to select a time delay in response to a collision |
US7424012B2 (en) * | 2000-11-14 | 2008-09-09 | Broadcom Corporation | Linked network switch configuration |
US20090003213A1 (en) * | 2000-11-14 | 2009-01-01 | Broadcom Corporation | Linked network switch configuration |
US7035255B2 (en) * | 2000-11-14 | 2006-04-25 | Broadcom Corporation | Linked network switch configuration |
US7792104B2 (en) | 2000-11-14 | 2010-09-07 | Broadcom Corporation | Linked network switch configuration |
US20020085586A1 (en) * | 2000-11-14 | 2002-07-04 | Altima Communications, Inc. | Linked network switch configuration |
US20020093973A1 (en) * | 2000-11-14 | 2002-07-18 | Altima Communications, Inc. | Linked network switch configuration |
US6816465B1 (en) * | 2001-01-29 | 2004-11-09 | Advanced Micro Devices, Inc. | Arrangement for testing pause frame response in a network switch |
US6459687B1 (en) * | 2001-03-05 | 2002-10-01 | Ensemble Communications, Inc. | Method and apparatus for implementing a MAC coprocessor in a communication system |
US20040184434A1 (en) * | 2001-05-07 | 2004-09-23 | Benoist Sebire | Rlc/mac protocol |
US8005040B2 (en) * | 2001-05-07 | 2011-08-23 | Nokia Corporation | RLC/MAC protocol |
KR100429503B1 (en) * | 2001-07-18 | 2004-05-04 | 삼성전자주식회사 | Data packet flow control method |
US20090282444A1 (en) * | 2001-12-04 | 2009-11-12 | Vixs Systems, Inc. | System and method for managing the presentation of video |
US20030110303A1 (en) * | 2001-12-07 | 2003-06-12 | Chen Edmund G. | Method and apparatus for unscheduled flow control in packet form |
US7007095B2 (en) * | 2001-12-07 | 2006-02-28 | Redback Networks Inc. | Method and apparatus for unscheduled flow control in packet form |
WO2003050704A1 (en) * | 2001-12-07 | 2003-06-19 | Redback Networks Inc. | Method and apparatus for unscheduled flow control in packet form |
US7930341B1 (en) * | 2001-12-26 | 2011-04-19 | Marvell Israel (M.I.S.L.) Ltd. | Extended flow-control for long-distance links |
US20050105469A1 (en) * | 2002-03-06 | 2005-05-19 | Broadcom Corporation | Adaptive flow control method and apparatus |
US6851008B2 (en) * | 2002-03-06 | 2005-02-01 | Broadcom Corporation | Adaptive flow control method and apparatus |
US7450509B2 (en) | 2002-03-06 | 2008-11-11 | Broadcom Corporation | Adaptive flow control method and apparatus |
US20030172220A1 (en) * | 2002-03-06 | 2003-09-11 | Broadcom Corporation | Adaptive flow control method and apparatus |
US20030204653A1 (en) * | 2002-04-25 | 2003-10-30 | Fujitsu Limited | Network switching device and network switching method |
US7286547B2 (en) * | 2002-05-09 | 2007-10-23 | Broadcom Corporation | Dynamic adjust multicast drop threshold to provide fair handling between multicast and unicast frames |
US20030212814A1 (en) * | 2002-05-09 | 2003-11-13 | Altima | Dynamic adjust multicast drop threshold to provide fair handling between multicast and unicast frames |
US7764704B2 (en) * | 2002-05-09 | 2010-07-27 | Broadcom Corporation | Dynamic adjust multicast drop threshold to provide fair handling between multicast and unicast frames |
US20080002732A1 (en) * | 2002-05-09 | 2008-01-03 | Broadcom Corporation | Dynamic adjust multicast drop threshold to provide fair handling between multicast and unicast frames |
US20050235013A1 (en) * | 2002-08-10 | 2005-10-20 | Kun Li | Flow control method of data service transmission in sdh network |
US20060224922A1 (en) * | 2002-10-08 | 2006-10-05 | Koninklijke Philips Electronics N.V. | Integrated circuit and method for sending requests |
EP1411662A2 (en) * | 2002-10-14 | 2004-04-21 | Samsung Electronics Co., Ltd. | Multipoint gating control block in an ethernet passive optical network and method therefor |
US20040090980A1 (en) * | 2002-10-14 | 2004-05-13 | Jae-Yeon Song | Multipoint gating control block in an ethernet passive optical network and method therefor |
US7398020B2 (en) | 2002-10-14 | 2008-07-08 | Samsung Electronics Co., Ltd. | Multipoint gating control block in an Ethernet passive optical network and method therefor |
US20070237522A1 (en) * | 2002-10-14 | 2007-10-11 | Samsung Electronics Co., Ltd | Multipoint gating control block in an Ethernet passive optical network and method therefor |
US7400833B2 (en) | 2002-10-14 | 2008-07-15 | Samsung Electronics Co., Ltd. | Multipoint gating control block in an Ethernet passive optical network and method therefor |
EP1411662A3 (en) * | 2002-10-14 | 2006-04-19 | Samsung Electronics Co., Ltd. | Multipoint gating control block in an ethernet passive optical network and method therefor |
US7379422B2 (en) * | 2002-12-20 | 2008-05-27 | Lsi Logic Corporation | Flow control enhancement |
US20040120334A1 (en) * | 2002-12-20 | 2004-06-24 | Lsi Logic Corporation | Flow control enhancement |
KR101017532B1 (en) | 2003-03-31 | 2011-02-28 | 알카텔-루센트 유에스에이 인코포레이티드 | Method for flow control in a communication system |
CN100466719C (en) * | 2003-05-23 | 2009-03-04 | 坦德伯格电信公司 | Method for managing variations in a data flow rate |
US20050013312A1 (en) * | 2003-05-23 | 2005-01-20 | Karlsen Per Arne | Method for managing variation in a data flow rate |
US7697553B2 (en) * | 2003-05-23 | 2010-04-13 | Tandberg Telecom As | Method for managing variation in a data flow rate |
US7496032B2 (en) * | 2003-06-12 | 2009-02-24 | International Business Machines Corporation | Method and apparatus for managing flow control in a data processing system |
US20090141627A1 (en) * | 2003-06-12 | 2009-06-04 | International Business Machines Corporation | Method and Apparatus for Managing Flow Control in a Data Processing System |
US7796509B2 (en) * | 2003-06-12 | 2010-09-14 | International Business Machines Corporation | Method and apparatus for managing flow control in a data processing system |
US20040252638A1 (en) * | 2003-06-12 | 2004-12-16 | International Business Machines Corporation | Method and apparatus for managing flow control in a data processing system |
US7426570B2 (en) * | 2003-07-25 | 2008-09-16 | Hewlett-Packard Development Company, L.P. | Determining placement of distributed application onto distributed resource infrastructure |
US20050021831A1 (en) * | 2003-07-25 | 2005-01-27 | Artur Andrzejak | Determining placement of distributed application onto distributed resource infrastructure |
US7990857B2 (en) | 2003-10-23 | 2011-08-02 | Foundry Networks, Llc | Priority aware MAC flow control |
US7761589B1 (en) | 2003-10-23 | 2010-07-20 | Foundry Networks, Inc. | Flow control for multi-hop networks |
US8514713B2 (en) | 2003-10-23 | 2013-08-20 | Foundry Networks, Llc | Flow control for multi-hop networks |
US8811171B2 (en) | 2003-10-23 | 2014-08-19 | Foundry Networks, Llc | Flow control for multi-hop networks |
US7639608B1 (en) * | 2003-10-23 | 2009-12-29 | Foundry Networks, Inc. | Priority aware MAC flow control |
US8743691B2 (en) | 2003-10-23 | 2014-06-03 | Foundry Networks, Llc | Priority aware MAC flow control |
US7730137B1 (en) | 2003-12-22 | 2010-06-01 | Aol Inc. | Restricting the volume of outbound electronic messages originated by a single entity |
US20050141551A1 (en) * | 2003-12-29 | 2005-06-30 | Mcneil Roy Jr. | Common LAN architecture and flow control relay |
US20050182848A1 (en) * | 2003-12-29 | 2005-08-18 | Mcneil Roy Jr. | Rate limiting using pause frame capability |
US7548956B1 (en) | 2003-12-30 | 2009-06-16 | Aol Llc | Spam control based on sender account characteristics |
US7649843B2 (en) * | 2004-02-09 | 2010-01-19 | Transwitch Corporation | Methods and apparatus for controlling the flow of multiple signal sources over a single full duplex ethernet link |
US20050174941A1 (en) * | 2004-02-09 | 2005-08-11 | Shanley Timothy M. | Methods and apparatus for controlling the flow of multiple signal sources over a single full duplex ethernet link |
US20050226147A1 (en) * | 2004-04-06 | 2005-10-13 | Oki Electric Industry Co., Ltd. | Relay device |
US7397816B2 (en) * | 2004-04-06 | 2008-07-08 | Oki Electric Industry Co., Ltd. | Relay device |
US8018851B1 (en) * | 2004-06-30 | 2011-09-13 | Marvell Israel (Misl) Ltd. | Flow control for multiport PHY |
US7558886B2 (en) * | 2005-04-19 | 2009-07-07 | International Business Machines Corporation | Method and apparatus for controlling data flows in distributed storage systems |
US20060235990A1 (en) * | 2005-04-19 | 2006-10-19 | International Business Machines Corporation | Method and apparatus for controlling data flows in distributed storage systems |
US7839779B2 (en) * | 2005-05-16 | 2010-11-23 | Cisco Technology, Inc. | Queue aware flow control |
US20060268709A1 (en) * | 2005-05-16 | 2006-11-30 | Cisco Technology, Inc. | Queue aware flow control |
US7751328B2 (en) * | 2006-02-17 | 2010-07-06 | Cisco Technology, Inc. | System and method for efficient network flow control |
US20070195699A1 (en) * | 2006-02-17 | 2007-08-23 | Raymond Kloth | System and method for efficient network flow control |
WO2007097909A3 (en) * | 2006-02-17 | 2008-01-31 | Cisco Tech Inc | System and method for efficient network flow control |
TWI418196B (en) * | 2006-04-19 | 2013-12-01 | Marvell World Trade Ltd | Adaptive speed control for mac-phy interfaces |
WO2007124000A2 (en) | 2006-04-19 | 2007-11-01 | Marvell World Trade Ltd. | Adaptive speed control for mac-phy interfaces |
US9740455B2 (en) | 2006-04-19 | 2017-08-22 | Marvell World Trade Ltd. | Apparatus and method for adjusting a rate at which data is transferred from a media access controller to a memory in a physical-layer circuit |
US8553720B2 (en) * | 2006-04-19 | 2013-10-08 | Marvell World Trade Ltd. | Adaptive speed control for MAC-PHY interfaces |
KR101394592B1 (en) * | 2006-04-19 | 2014-05-14 | 마벨 월드 트레이드 리미티드 | Adaptive speed control for mac-phy interfaces |
US9210107B2 (en) | 2006-04-19 | 2015-12-08 | Marvell World Trade Ltd. | Method and apparatus for adjusting a rate at which data is transferred, within a network device, from a media access controller to a memory connected between the media access controller and a physical-layer device |
US20070248118A1 (en) * | 2006-04-19 | 2007-10-25 | Nafea Bishara | Adaptive Speed Control for MAC-PHY Interfaces |
WO2007124000A3 (en) * | 2006-04-19 | 2008-01-03 | Marvell World Trade Ltd | Adaptive speed control for mac-phy interfaces |
CN101473612B (en) * | 2006-04-19 | 2013-06-05 | 马维尔国际贸易有限公司 | Adaptive speed control for MAC-PHY interfaces |
CN101047615B (en) * | 2006-05-14 | 2010-05-12 | 华为技术有限公司 | Control method for Ethernet data flow |
US20080159188A1 (en) * | 2006-06-28 | 2008-07-03 | Kenichi Funagai | Serial interface apparatus performing asynchronous serial data transfer using asynchronous serial communication method |
KR100773445B1 (en) | 2006-11-22 | 2007-11-05 | 삼성전자주식회사 | Apparatus for transmitting and receiving data of wireless local network and method using the same |
WO2008062936A1 (en) * | 2006-11-22 | 2008-05-29 | Samsung Electronics Co., Ltd. | Apparatus for transmitting and receiving data in wireless local network and method using the same |
US7672242B2 (en) | 2006-11-23 | 2010-03-02 | Realtek Semiconductor Corp. | Traffic management device and method thereof |
US7688728B2 (en) * | 2007-02-13 | 2010-03-30 | Infineon Technologies Ag | Method of controlling a data flow, transmitter and data transmission system |
US20080192631A1 (en) * | 2007-02-13 | 2008-08-14 | Infineon Technologies Ag | Method of controlling a data flow, transmitter and data transmission system |
US20090080459A1 (en) * | 2007-04-04 | 2009-03-26 | Ozdal Barkan | Long-reach ethernet for 1000BASE-T and 10GBASE-T |
US8243752B2 (en) | 2007-04-04 | 2012-08-14 | Marvell World Trade Ltd. | Long-reach ethernet for 1000BASE-T and 10GBASE-T |
US8824502B2 (en) | 2007-04-04 | 2014-09-02 | Marvell World Trade Ltd. | Long-reach Ethernet for 1000BASE-T and 10GBASE-T |
US7773504B2 (en) * | 2007-11-13 | 2010-08-10 | Intel Corporation | Bandwidth allocation for network packet traffic |
US20090122702A1 (en) * | 2007-11-13 | 2009-05-14 | Yen Hsiang Chew | Bandwidth allocation for network packet traffic |
EP2213057B1 (en) * | 2007-11-21 | 2019-01-02 | Microchip Technology Incorporated | Ethernet controller |
US20090164679A1 (en) * | 2007-12-24 | 2009-06-25 | Stmicroelectronics (Grenoble) Sas | Data transmission method and corresponding device |
US20090201816A1 (en) * | 2008-02-13 | 2009-08-13 | Takahashi Taishi | Communication device, and flow control method and program product for use in the same |
WO2010008250A3 (en) * | 2008-07-18 | 2010-07-08 | Lg Electronics Inc. | Apparatus for managing a flow control process and method thereof |
US8392637B2 (en) * | 2008-07-25 | 2013-03-05 | Broadcom Corporation | System and method for enabling legacy medium access control to do energy efficent ethernet |
US20100023658A1 (en) * | 2008-07-25 | 2010-01-28 | Broadcom Corporation | System and method for enabling legacy medium access control to do energy efficent ethernet |
US8824294B2 (en) | 2008-08-29 | 2014-09-02 | Brocade Communication Systems, Inc. | Source-based congestion detection and control |
US20110235518A1 (en) * | 2008-08-29 | 2011-09-29 | Brocade Communications Systems, Inc. | Source-based congestion detection and control |
US20100103816A1 (en) * | 2008-10-28 | 2010-04-29 | Fujitsu Limited | Transmission apparatus, transmission system and transmission method |
US20100128738A1 (en) * | 2008-11-24 | 2010-05-27 | Ciscotechnology, Inc. | Interim phy solution for lpi compatibility with legacy devices |
US8107365B2 (en) * | 2008-11-24 | 2012-01-31 | Cisco Technology, Inc. | Interim PHY solution for LPI compatibility with legacy devices |
US8547941B2 (en) | 2009-04-16 | 2013-10-01 | Qualcomm Incorporated | Apparatus and method for improving WLAN spectrum efficiency and reducing interference by flow control |
US20100265861A1 (en) * | 2009-04-16 | 2010-10-21 | Qualcomm Incorporated | Apparatus and Method for Improving WLAN Spectrum Efficiency and Reducing Interference by Flow Control |
WO2010121184A1 (en) * | 2009-04-16 | 2010-10-21 | Qualcomm Incorporated | Apparatus and method for improving wlan spectrum efficiency and reducing interference by flow control |
US20100299461A1 (en) * | 2009-05-20 | 2010-11-25 | Kyocera Mita Corporation | Information processing apparatus and image forming apparatus |
US8612524B2 (en) * | 2009-10-28 | 2013-12-17 | Hewlett-Packard Development Company, L.P. | Cessation of sending network status messages to a server |
US20110099236A1 (en) * | 2009-10-28 | 2011-04-28 | Vuong Anh Tuan | Cessation of sending network status messages to a server |
US20110261687A1 (en) * | 2010-04-26 | 2011-10-27 | International Business Machines Corporation | Priority Based Flow Control Within a Virtual Distributed Bridge Environment |
US8644139B2 (en) * | 2010-04-26 | 2014-02-04 | International Business Machines Corporation | Priority based flow control within a virtual distributed bridge environment |
US20120009087A1 (en) * | 2010-07-09 | 2012-01-12 | Koichi Okubo | Sample processing apparatus and sample transporting device |
CN103546231A (en) * | 2012-07-10 | 2014-01-29 | 中兴通讯股份有限公司 | Method and device for controlling Ethernet service empty-port transmission delay jitter |
CN104601490A (en) * | 2015-02-16 | 2015-05-06 | 杭州华三通信技术有限公司 | Network device and traffic control method and device thereof |
CN104601490B (en) * | 2015-02-16 | 2018-10-09 | 新华三技术有限公司 | The flow control method and flow control apparatus and the network equipment of the network equipment |
US10944676B2 (en) * | 2016-08-15 | 2021-03-09 | Tata Communications (Uk) Limited | Dynamic congestion management |
US11057470B2 (en) * | 2018-12-12 | 2021-07-06 | Fujitsu Limited | Communication device and communication method for processing meta data |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6167029A (en) | System and method for integrated data flow control | |
US6108306A (en) | Apparatus and method in a network switch for dynamically allocating bandwidth in ethernet workgroup switches | |
US6754179B1 (en) | Real time control of pause frame transmissions for improved bandwidth utilization | |
US7961606B2 (en) | Packet flow control in switched full duplex ethernet networks | |
US8427947B1 (en) | Method and apparatus for preventing head of line blocking in an ethernet system | |
US6170022B1 (en) | Method and system for monitoring and controlling data flow in a network congestion state by changing each calculated pause time by a random amount | |
US6741559B1 (en) | Method and device for providing priority access to a shared access network | |
US7212534B2 (en) | Flow based congestion control | |
US6098103A (en) | Automatic MAC control frame generating apparatus for LAN flow control | |
US9992130B2 (en) | Systems and methods for flow control and quality of service | |
US5995488A (en) | Method and apparatus for regulating data flow in networks | |
US6810520B2 (en) | Programmable multi-standard MAC architecture | |
US7596627B2 (en) | Methods and apparatus for network congestion control | |
US7379422B2 (en) | Flow control enhancement | |
CA2310909C (en) | Packet switching apparatus and method in data network | |
EP1014626A2 (en) | Method and apparatus for controlling network congestion | |
US20030147347A1 (en) | Method for congestion control and associated switch controller | |
JPH09128315A (en) | Method and device for control of flow of data | |
US6765878B1 (en) | Selective use of transmit complete interrupt delay on small sized packets in an ethernet controller | |
US6928055B2 (en) | Network interface unit | |
US6725270B1 (en) | Apparatus and method for programmably modifying a limit of a retry counter in a network switch port in response to exerting backpressure | |
US20060013137A1 (en) | Network interface unit | |
CA2311888A1 (en) | Automatic data transmission rate-controlling device and method for prevention of generation of an overflow in ethernet switch | |
JPH11252141A (en) | Data transmitter, its method and network system | |
KR19980027651A (en) | Packet memory controller in interlock with multiple ports |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: XAQTI CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:RAMAKRISHNAN, GOPAL;REEL/FRAME:009729/0868 Effective date: 19990114 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: VITESSES SEMICONDUCTOR CORPORATION, CALIFORNIA Free format text: RE-RECORDED TO CORRECT THE REEL 012243 AND FRAME 0094. PREVIOUSLY RECORDED.;ASSIGNOR:XAQTI CORPORATION;REEL/FRAME:012581/0056 Effective date: 20010927 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: OBSIDIAN, LLC, AS COLLATERAL AGENT,CALIFORNIA Free format text: SECURITY AGREEMENT;ASSIGNOR:VITESSE SEMICONDUCTOR CORPORATION;REEL/FRAME:017846/0847 Effective date: 20060607 Owner name: OBSIDIAN, LLC, AS COLLATERAL AGENT, CALIFORNIA Free format text: SECURITY AGREEMENT;ASSIGNOR:VITESSE SEMICONDUCTOR CORPORATION;REEL/FRAME:017846/0847 Effective date: 20060607 |
|
AS | Assignment |
Owner name: VITESSE SEMICONDUCTOR CORPORATION, CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:OBSIDIAN, LLC, AS COLLATERAL AGENT;REEL/FRAME:020112/0306 Effective date: 20071026 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: WHITEBOX VSC, LTD., MINNESOTA Free format text: SECURITY AGREEMENT;ASSIGNOR:VITESSE SEMICONDUCTOR CORPORATION;REEL/FRAME:023401/0813 Effective date: 20071029 |
|
AS | Assignment |
Owner name: U.S. BANK NATIONAL ASSOCIATION, MINNESOTA Free format text: COLLATERAL ASSIGNMENT (INTELLECTUAL PROPERTY);ASSIGNOR:VITESSE SEMICONDUCTOR CORPORATION;REEL/FRAME:023471/0267 Effective date: 20091030 Owner name: U.S. BANK NATIONAL ASSOCIATION,MINNESOTA Free format text: COLLATERAL ASSIGNMENT (INTELLECTUAL PROPERTY);ASSIGNOR:VITESSE SEMICONDUCTOR CORPORATION;REEL/FRAME:023471/0267 Effective date: 20091030 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: 6 BELLMONT LIMITED LIABILITY COMPANY, DELAWARE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VITESSE SEMICONDUCTOR CORPORATION;REEL/FRAME:026746/0087 Effective date: 20110625 |
|
FPAY | Fee payment |
Year of fee payment: 12 |
|
AS | Assignment |
Owner name: VITESSE SEMICONDUCTOR CORPORATION, CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:US BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT;REEL/FRAME:034176/0162 Effective date: 20141103 |
|
AS | Assignment |
Owner name: NYTELL SOFTWARE LLC, DELAWARE Free format text: MERGER;ASSIGNOR:6 BELLMONT LIMITED LIABILITY COMPANY;REEL/FRAME:037392/0747 Effective date: 20150826 |
|
AS | Assignment |
Owner name: HANGER SOLUTIONS, LLC, GEORGIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTELLECTUAL VENTURES ASSETS 158 LLC;REEL/FRAME:051486/0425 Effective date: 20191206 |
|
AS | Assignment |
Owner name: INTELLECTUAL VENTURES ASSETS 158 LLC, DELAWARE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NYTELL SOFTWARE LLC;REEL/FRAME:051777/0173 Effective date: 20191126 |