US20050041579A1 - Head of line blocking - Google Patents

Head of line blocking Download PDF

Info

Publication number
US20050041579A1
US20050041579A1 US10/876,653 US87665304A US2005041579A1 US 20050041579 A1 US20050041579 A1 US 20050041579A1 US 87665304 A US87665304 A US 87665304A US 2005041579 A1 US2005041579 A1 US 2005041579A1
Authority
US
United States
Prior art keywords
output
incoming data
state
fullness
emptiness
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.)
Abandoned
Application number
US10/876,653
Inventor
Eitan Medina
David Shemla
Yosi Solt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Marvell Israel MISL Ltd
Original Assignee
Marvell Israel MISL Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Marvell Israel MISL Ltd filed Critical Marvell Israel MISL Ltd
Priority to US10/876,653 priority Critical patent/US20050041579A1/en
Publication of US20050041579A1 publication Critical patent/US20050041579A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/505Corrective measures
    • H04L49/508Head of Line Blocking Avoidance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/501Overload detection

Definitions

  • the present invention relates to network switching communication protocols generally and to prevention of head of line blocking in particular.
  • a network switch creates a network among a plurality of end nodes, such as workstations, and other network switches connected thereto. Each end node is connected to one port of the network. The ports also serve to connect network switches together.
  • Each end node sends packets of data to the network switch which the switch then routes either to another of the end nodes connected thereto or to a network switch to which the destination end node is connected. In the latter case, the receiving network switch routes the packet to the destination end node.
  • Each network switch has to temporarily store the packets of data which it receives from the units (end node or network switch) connected to it while the switch determines how, when and through which port to retransmit the packets.
  • Each packet can be transmitted to only one destination address (a “unicast” packet) or to more than one unit (a “multicast” or “broadcast” packet).
  • the switch typically stores the packet only once and transmits multiple copies of the packet to some (multicast) or all (broadcast) of its ports. Once the packet has been transmitted to all of its destinations, it can be removed from the memory or written over.
  • Switch 10 comprises a central queuing manager 12 , an output buffer 14 , and a multiplicity of output ports 16 .
  • Switch 10 receives incoming data 18 which it stores until transmission as queued data 24 in output buffer 14 .
  • switch 10 transfers the queued data 24 out of the relevant output port 16 as outgoing data 26 .
  • Output buffer 14 is either a pooled buffer which services the entire switch 10 or a plurality of dedicated queues within buffer 14 , one queue per output port 16 .
  • the exemplary switch 10 shown in FIG. 1 comprises a pooled output buffer 14 and two output ports 16 B and 16 C.
  • Incoming data 18 comprises data packets 30 , 32 , 34 and 36 , which are designated for various destination ports 16 .
  • Data 18 is received by manager 12 , which identifies the appropriate destination port 16 of the packets 30 , 32 , 34 , and 36 respectively, and dispatches them to the output buffer 14 .
  • unicast data packets 32 and 36 are designated for port 16 C
  • unicast data packet 30 is designated for port 16 B
  • multicast packet 34 is designated for both ports 16 B and 16 C.
  • Output buffer 14 stores the queued data 24 until the relevant port 16 is available, at which point, the outgoing data 26 is transferred to the relevant port 16 .
  • Manager 12 is aware of the backup in the output buffer 14 , typically through a fullness sensor (not shown) measuring the fullness of output buffer 14 , and, accordingly, stops receiving incoming data 18 to switch 10 .
  • switch 10 Although switch 10 no longer receives incoming data 18 , it continues to send outgoing data 26 , and thus, clears out the output buffer 14 . Once enough outgoing data 26 has been sent, output buffer 14 empties out and is again able to receive more data 24 . Manager 12 reopens inflow of data 18 to switch 10 .
  • Manager 12 halts the incoming flow of data 18 . All data 18 incoming into switch 12 is halted and discarded, including unicast data packets 32 and 36 and multicast data packet 34 which are designated for the available port 16 C.
  • a network switch which includes a plurality of output ports, at least one input port and a queuing manager.
  • Each output port has a control unit associated therewith.
  • the input port receives incoming data destined for various ones of the output ports.
  • the queuing manager directs the incoming data to their destination output ports.
  • Each control unit includes an output queue, a fullness/emptiness sensor and a head of line (HOL) mask.
  • the output queue stores the incoming data destined for its associated output port.
  • the sensor senses when the output queue reaches a fullness or an emptiness state.
  • the HOL mask is connected to the output of the sensor and blocks inflow of the incoming data to the output queue when the sensor senses the fullness state and for enabling inflow when the sensor senses the emptiness state.
  • control unit for an output port of a network switch as described hereinabove.
  • a method of controlling flow within a network switch comprising the steps of sensing when an output queue of the network switch reaches a fullness or an emptiness state, blocking queueing of incoming data to the output queue when the fullness state is sensed, discarding of unicast packets destined to the full output port queue, avoiding queuing of multicast packets to said output port queue and enabling queueing when the emptiness state is sensed.
  • FIG. 1 is a schematic illustration of a prior art network switching protocol
  • FIG. 2 is a schematic illustration of a network switching protocol constructed and operative in accordance with a preferred embodiment of the present invention.
  • FIG. 2 illustrates, in general terms, a portion of the data packet transfer process that takes place within the operations of a network switch 50 , constructed and operative in accordance with a preferred embodiment of the present invention.
  • Switch 50 comprises many of the elements described in the prior art FIG. 1 .
  • Elements of FIG. 2 which are similar to those of FIG. 1 have the same reference numerals.
  • switch 50 comprises a plurality of: output queues 66 , head of line (HOL) masks 52 , fullness watermarks 60 , emptiness watermarks 62 and sensors 64 .
  • HOL head of line
  • the output queues 66 function similar to output buffer 14 in that the output queue 66 s temporarily store data 24 waiting for transmission to output ports 16 . However, in contrast to output buffer 14 , output queues 66 are dedicated to their associated output ports 16 , for example, output queue 66 B is dedicated to output port 16 B, and so.
  • HOL masks 52 control data flow to their output queues 14 .
  • FIG. 2 shows HOL masks 52 B and 52 C as logical switches and operative for output queues 14 B and 14 C, respectively.
  • Each sensor 64 is dedicated to an associated output queue 66 and relays to manager 12 the fullness or emptiness state of that associated queue 14 .
  • Each sensor 64 is a counter which has two thresholds, one associated with its fullness watermark 60 and one associated with its emptiness watermark 62 .
  • Switch 50 receives, distributes, queues and sends data in a manner similar to that described for switch 10 . Additionally similar to switch 10 , from time to time one of the output ports 16 is busier than the other output ports 16 .
  • the data 24 in one or more output queue 66 backs up and reaches the fullness threshold 60 of that queue 66 .
  • queue 66 is almost full and temporarily can not receive any more data 24 .
  • the associated sensor 64 notifies the state of fullness to its associated HOL mask 52 , which stops inflow of data to the almost full output queue 66 .
  • the data 24 in output queue 66 B reaches almost fullness, it crosses the fullness threshold 60 B.
  • Sensor 64 B notifies such to HOL mask 52 B which stops data flow to output queue 66 B.
  • switch 50 continues to transfer incoming data 18 to the output queues 66 which are not affected by a backup. Hence, the data going to output queue 66 C will be received and its associated output port 16 C will continue to operate unhindered. However, incoming data 18 designated for port 16 B is discarded.
  • data 18 comprises data packets 54 , 56 , and 58 .
  • Packets 54 and 58 are unicast packets destined for ports 16 B and 16 C, respectively.
  • Packet 56 is a multicast packet destined for both ports 16 B and 16 C. All packets 54 , 56 and 58 are received by switch 50 .
  • Queuing manager 12 identifies the packets and distributes them to the appropriate output queues 66 ; unicast packet 54 to output queue 66 B, multicast packet 56 to output queues 66 B and 66 C, and unicast packet 58 to output queue 66 C.
  • Multicast packet 56 and unicast packet 58 designated for output queue 66 C are properly queued for delivery. However, since output queue 66 B is full, HOL mask 52 B does not queue unicast packet 54 and multicast packet 56 designated for port 16 B, and thus, packet 54 is discarded, and packet 56 is queued only to output queue 66 C.
  • Port 16 B continues transmitting data 26 B, until eventually the data 24 B in output queue 66 B reaches the emptiness watermark 62 signaling that output queue 66 B is almost empty. This information is relayed by sensor 64 B to HOL mask 52 B which, in turn, reopens inflow to its associated output queue 66 B, and data will again be queued to output queue 66 B. In this a manner, packets destined for output queues 66 which are not full are not affected by HOL blocking from other backed up output queues 66 .

Abstract

A network switch which includes a plurality of output ports, at least one input port and a queuing manager. Each output port has a control unit associated therewith. The input port receives incoming data destined for various ones of the output ports. The queuing manager directs the incoming data to their destination output ports. Each control unit includes an output queue, a fullness/emptiness sensor and a head of line (HOL) mask. The output queue stores the incoming data destined for its associated output port. The sensor senses when the output queue reaches a fullness or an emptiness state. The HOL mask is connected to the output of the sensor and blocks inflow of the incoming data to the output queue when the sensor senses the fullness state and for enabling inflow when the sensor senses the emptiness state.

Description

    FIELD OF THE INVENTION
  • The present invention relates to network switching communication protocols generally and to prevention of head of line blocking in particular.
  • BACKGROUND OF THE INVENTION
  • A network switch creates a network among a plurality of end nodes, such as workstations, and other network switches connected thereto. Each end node is connected to one port of the network. The ports also serve to connect network switches together.
  • Each end node sends packets of data to the network switch which the switch then routes either to another of the end nodes connected thereto or to a network switch to which the destination end node is connected. In the latter case, the receiving network switch routes the packet to the destination end node.
  • Each network switch has to temporarily store the packets of data which it receives from the units (end node or network switch) connected to it while the switch determines how, when and through which port to retransmit the packets. Each packet can be transmitted to only one destination address (a “unicast” packet) or to more than one unit (a “multicast” or “broadcast” packet). For multicast and broadcast packets, the switch typically stores the packet only once and transmits multiple copies of the packet to some (multicast) or all (broadcast) of its ports. Once the packet has been transmitted to all of its destinations, it can be removed from the memory or written over.
  • Reference is now made to FIG. 1 which schematically illustrates a portion of the data packet transfer process that takes place within the operations of a network switch 10. Switch 10 comprises a central queuing manager 12, an output buffer 14, and a multiplicity of output ports 16. Switch 10 receives incoming data 18 which it stores until transmission as queued data 24 in output buffer 14. At the appropriate time, which is generally when the relevant output port 16 is available, switch 10 transfers the queued data 24 out of the relevant output port 16 as outgoing data 26.
  • Output buffer 14 is either a pooled buffer which services the entire switch 10 or a plurality of dedicated queues within buffer 14, one queue per output port 16. The exemplary switch 10 shown in FIG. 1 comprises a pooled output buffer 14 and two output ports 16B and 16C.
  • Incoming data 18 comprises data packets 30, 32, 34 and 36, which are designated for various destination ports 16. Data 18 is received by manager 12, which identifies the appropriate destination port 16 of the packets 30, 32, 34, and 36 respectively, and dispatches them to the output buffer 14. As an example unicast data packets 32 and 36 are designated for port 16C, unicast data packet 30 is designated for port 16B and multicast packet 34 is designated for both ports 16B and 16C. Output buffer 14 stores the queued data 24 until the relevant port 16 is available, at which point, the outgoing data 26 is transferred to the relevant port 16.
  • Occasionally, one of the output ports 16 transfers at a faster pace than the other ports or, alternatively, receives more data than the other ports. For whatever reason, a condition may arise where the data 24 for one of the output ports 16 backs up in the output buffer 14 creating a condition where output buffer 14 is unable to receive more data. Manager 12 is aware of the backup in the output buffer 14, typically through a fullness sensor (not shown) measuring the fullness of output buffer 14, and, accordingly, stops receiving incoming data 18 to switch 10.
  • All incoming data 18 not received by switch 10 is discarded, regardless of its destination output port 16. Not only is the incoming data 18 destined for the full output port discarded but the incoming data 18 destined for the available ports are also discarded. This problem is known as “Head of Line Blocking”.
  • Although switch 10 no longer receives incoming data 18, it continues to send outgoing data 26, and thus, clears out the output buffer 14. Once enough outgoing data 26 has been sent, output buffer 14 empties out and is again able to receive more data 24. Manager 12 reopens inflow of data 18 to switch 10.
  • For example, if port 16B is backed up, then the output buffer 14 will become full with queued data 24B, while output port 16C will still available to transmit. Manager 12 halts the incoming flow of data 18. All data 18 incoming into switch 12 is halted and discarded, including unicast data packets 32 and 36 and multicast data packet 34 which are designated for the available port 16C.
  • SUMMARY OF THE PRESENT INVENTION
  • It is an object of the present invention to prevent Head of Line Blocking as much as possible.
  • There is therefore provided, in accordance with a preferred embodiment of the present invention, a network switch which includes a plurality of output ports, at least one input port and a queuing manager. Each output port has a control unit associated therewith. The input port receives incoming data destined for various ones of the output ports. The queuing manager directs the incoming data to their destination output ports. Each control unit includes an output queue, a fullness/emptiness sensor and a head of line (HOL) mask. The output queue stores the incoming data destined for its associated output port. The sensor senses when the output queue reaches a fullness or an emptiness state. The HOL mask is connected to the output of the sensor and blocks inflow of the incoming data to the output queue when the sensor senses the fullness state and for enabling inflow when the sensor senses the emptiness state.
  • There is also provided, in accordance with a preferred embodiment of the present invention, a control unit for an output port of a network switch as described hereinabove.
  • Finally, there is provided, a method of controlling flow within a network switch, the method comprising the steps of sensing when an output queue of the network switch reaches a fullness or an emptiness state, blocking queueing of incoming data to the output queue when the fullness state is sensed, discarding of unicast packets destined to the full output port queue, avoiding queuing of multicast packets to said output port queue and enabling queueing when the emptiness state is sensed.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the drawings in which:
  • FIG. 1 is a schematic illustration of a prior art network switching protocol; and
  • FIG. 2 is a schematic illustration of a network switching protocol constructed and operative in accordance with a preferred embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE PRESENT INVENTION
  • Reference is now made to FIG. 2 which illustrates, in general terms, a portion of the data packet transfer process that takes place within the operations of a network switch 50, constructed and operative in accordance with a preferred embodiment of the present invention. Switch 50 comprises many of the elements described in the prior art FIG. 1. Elements of FIG. 2 which are similar to those of FIG. 1 have the same reference numerals.
  • In addition to the prior art elements, switch 50 comprises a plurality of: output queues 66, head of line (HOL) masks 52, fullness watermarks 60, emptiness watermarks 62 and sensors 64.
  • The output queues 66 function similar to output buffer 14 in that the output queue 66 s temporarily store data 24 waiting for transmission to output ports 16. However, in contrast to output buffer 14, output queues 66 are dedicated to their associated output ports 16, for example, output queue 66B is dedicated to output port 16B, and so.
  • HOL masks 52 control data flow to their output queues 14. FIG. 2 shows HOL masks 52B and 52C as logical switches and operative for output queues 14B and 14C, respectively. Each sensor 64 is dedicated to an associated output queue 66 and relays to manager 12 the fullness or emptiness state of that associated queue 14. Each sensor 64 is a counter which has two thresholds, one associated with its fullness watermark 60 and one associated with its emptiness watermark 62.
  • Switch 50 receives, distributes, queues and sends data in a manner similar to that described for switch 10. Additionally similar to switch 10, from time to time one of the output ports 16 is busier than the other output ports 16.
  • The data 24 in one or more output queue 66 backs up and reaches the fullness threshold 60 of that queue 66. Hence queue 66 is almost full and temporarily can not receive any more data 24.
  • The associated sensor 64 notifies the state of fullness to its associated HOL mask 52, which stops inflow of data to the almost full output queue 66. As an example, when the data 24 in output queue 66B reaches almost fullness, it crosses the fullness threshold 60B. Sensor 64B notifies such to HOL mask 52B which stops data flow to output queue 66B.
  • Unlike in the prior art which halted all inflow of data 18 to switch 10, switch 50 continues to transfer incoming data 18 to the output queues 66 which are not affected by a backup. Hence, the data going to output queue 66C will be received and its associated output port 16C will continue to operate unhindered. However, incoming data 18 designated for port 16B is discarded.
  • As a further example, data 18 comprises data packets 54, 56, and 58. Packets 54 and 58 are unicast packets destined for ports 16B and 16C, respectively. Packet 56 is a multicast packet destined for both ports 16B and 16C. All packets 54, 56 and 58 are received by switch 50. Queuing manager 12 identifies the packets and distributes them to the appropriate output queues 66; unicast packet 54 to output queue 66B, multicast packet 56 to output queues 66B and 66C, and unicast packet 58 to output queue 66C. Multicast packet 56 and unicast packet 58 designated for output queue 66C are properly queued for delivery. However, since output queue 66B is full, HOL mask 52B does not queue unicast packet 54 and multicast packet 56 designated for port 16B, and thus, packet 54 is discarded, and packet 56 is queued only to output queue 66C.
  • Port 16B continues transmitting data 26B, until eventually the data 24B in output queue 66B reaches the emptiness watermark 62 signaling that output queue 66B is almost empty. This information is relayed by sensor 64B to HOL mask 52B which, in turn, reopens inflow to its associated output queue 66B, and data will again be queued to output queue 66B. In this a manner, packets destined for output queues 66 which are not full are not affected by HOL blocking from other backed up output queues 66.
  • It will be appreciated by persons skilled in the art that the present invention is not limited by what has been particularly shown and described herein above. Rather the scope of the invention is defined by the claims that follow:

Claims (16)

1. (Cancelled).
2. A control unit for an output port of a network switch, the control unit comprising:
an output queue for storing incoming data destined for said output port;
a fullness/emptiness sensor for sensing when said output queue reaches a fullness or an emptiness state; and
a head of line (HOL) mask, in communication with the output of said sensor, for blocking inflow of said incoming data to said output queue when said sensor senses said fullness state and for enabling inflow when said sensor senses said emptiness state.
3. (Cancelled).
4. A method of controlling flow within a network switch, the method comprising the steps of:
sensing when an output queue of said network switch reaches a fullness or an emptiness state;
blocking queuing of incoming data to said output queue when said fullness state is sensed;
discarding unicast packets destined to said output queue; and
enabling queuing when said emptiness state is sensed.
5. A network switch comprising:
a plurality of output port means for outputting data, each having a means for controlling associated therewith;
at least one input port means for receiving incoming data destined for various ones of said output port means; and
means for directing said incoming data to their destination output port means;
wherein each means for controlling comprises:
means for storing said incoming data destined for its associated output port;
means for sensing when said means for storing reaches a fullness or an emptiness state; and
means, in communication with the output of said means for sensing, for preventing queuing of said incoming data to said means for storing when said means for sensing senses said fullness state and for enabling queuing when said means for sensing senses said emptiness state.
6. A control unit for an output port of a network switch, the control unit comprising:
means for storing incoming data destined for the output port;
means for sensing when said means for storing reaches a fullness or an emptiness state; and
means, in communication with the output of said means for sensing, for blocking inflow of said incoming data to said means for storing when said means for sensing senses said fullness state and for enabling inflow when said means for sensing senses said emptiness state.
7. A device for controlling flow within a network switch, the device comprising:
means for sensing when an output queue of said network switch reaches a fullness or an emptiness state;
means for blocking queuing of incoming data to said output queue when said fullness state is sensed;
means for discarding unicast packets destined to said output queue; and
means for enabling queuing when said emptiness state is sensed.
8. A method for controlling flow within a network switch, the network switch including a plurality of output ports each having a control unit associated therewith, including at least one input port for receiving incoming data destined for various ones of said output ports, and including a queuing manager for directing said incoming data to their destination output ports, wherein each control unit performs the method comprising:
sensing when an output queue, for storing incoming data and associated with an output port, reaches a fullness or an emptiness state;
preventing queuing of the incoming data to the output queue when the fullness state is sensed; and
enabling queuing of the incoming data to the output queue when the emptiness state is sensed.
9. A method for a control unit for an output port of a network switch, the method comprising:
sensing when an output queue, for storing incoming data destined for the output port, reaches a fullness or an emptiness state;
blocking inflow of the incoming data to the output queue when the fullness state is sensed; and
enabling inflow of the incoming data to the output queue when the emptiness state is sensed.
10. A device for controlling flow within a network switch, the device comprising:
a sensor, adapt to sense when an output queue of said network switch reaches a fullness or an emptiness state:
a blocking element, adapted to block queuing of incoming data to said output queue when said fullness state is sensed;
a device adapted to discard unicast packets destined to said output queue and adapted to enable queuing when said emptiness state is sensed.
11. A network switch, comprising:
a plurality of output port means for outputting data, each having means for controlling associated therewith;
at least one input port means for receiving incoming data destined for various ones of said output port means; and
means for directing said incoming data to their destination output port means, wherein each means for controlling comprises:
means for storing said incoming data destined for its associate output port means;
means for sensing when an output queue, for storing incoming data and associated with an output port means, reaches a fullness or an emptiness state;
means for preventing queuing of the incoming data to the output queue when the fullness state is sensed; and
means for enabling queuing of the incoming data to the output queue the emptiness state is sensed.
12. A control unit for an output port of a network switch, the control unit comprising:
means for sensing when an output queue, for storing incoming data destined for the output port, reaches a fullness or an emptiness state;
means for blocking inflow of the incoming data to the output queue when the fullness state is sensed; and
means for enabling inflow of the incoming data to the output queue when the emptiness state is sensed.
13. A network device comprising:
an output queue for storing incoming data destined for an associated output port;
a fullness/emptiness sensor for sensing when the output queue reaches a fullness or an emptiness state; and
a head of line (HOL) mask, in communication with the output of said sensor, for blocking inflow of the incoming data to said output queue when said sensor senses the fullness state and for enabling inflow when said sensor senses the emptiness state.
14. A network device comprising:
means for storing incoming data destined for an associated output port;
means for sensing when the means for storing reaches a fullness or an emptiness state; and
means, in communication with the output of the means for sensing, for blocking inflow of the incoming data to the means for storing when the means for sensing senses the fullness state and for enabling inflow when the means for sensing senses the emptiness state.
15. A network device comprising:
a plurality of output ports each having a control unit associated therewith;
at least one input port for receiving incoming data destined for various ones of said output ports; and
a queuing manager for directing said incoming data to their destination output ports;
wherein each control unit comprises:
an output queue for storing said incoming data destined for its associated output port;
a fullness/emptiness sensor for sensing when said output queue reaches a fullness or an emptiness state; and
a head of line (HOL) mask, connected to the output of said sensor, for preventing queuing of said incoming data to said output queue when said sensor senses said fullness state and for enabling queuing when said sensor senses said emptiness state.
16. A network device comprising:
a plurality of output port means for outputting data, each having a means for controlling associated therewith;
at least one input port means for receiving incoming data destined for various ones of said output port means; and
means for directing said incoming data to their destination output port means;
wherein each means for controlling comprises:
means for storing said incoming data destined for its associated output port;
means for sensing when said means for storing reaches a fullness or an emptiness state; and
means, in communication with the output of said means for sensing, for preventing queuing of said incoming data to said means for storing when said means for sensing senses said fullness state and for enabling queuing when said means for sensing senses said emptiness state.
US10/876,653 1998-07-08 2004-06-28 Head of line blocking Abandoned US20050041579A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/876,653 US20050041579A1 (en) 1998-07-08 2004-06-28 Head of line blocking

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
IL12527198A IL125271A0 (en) 1998-07-08 1998-07-08 Head of line blocking
IL125271 1998-07-08
US09/348,351 US6829245B1 (en) 1998-07-08 1999-07-08 Head of line blocking
US10/876,653 US20050041579A1 (en) 1998-07-08 2004-06-28 Head of line blocking

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/348,351 Continuation US6829245B1 (en) 1998-07-08 1999-07-08 Head of line blocking

Publications (1)

Publication Number Publication Date
US20050041579A1 true US20050041579A1 (en) 2005-02-24

Family

ID=11071722

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/348,351 Expired - Lifetime US6829245B1 (en) 1998-07-08 1999-07-08 Head of line blocking
US10/876,653 Abandoned US20050041579A1 (en) 1998-07-08 2004-06-28 Head of line blocking

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/348,351 Expired - Lifetime US6829245B1 (en) 1998-07-08 1999-07-08 Head of line blocking

Country Status (2)

Country Link
US (2) US6829245B1 (en)
IL (1) IL125271A0 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030103517A1 (en) * 2001-12-03 2003-06-05 Rahul Saxena Multicast and broadcast operations in ethernet switches
US20060013135A1 (en) * 2004-06-21 2006-01-19 Schmidt Steven G Flow control in a switch
US20080019566A1 (en) * 2006-07-21 2008-01-24 Wolfgang Niem Image-processing device, surveillance system, method for establishing a scene reference image, and computer program

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7227862B2 (en) * 2000-09-20 2007-06-05 Broadcom Corporation Network switch having port blocking capability
US6831891B2 (en) * 2001-03-06 2004-12-14 Pluris, Inc. System for fabric packet control
US7260104B2 (en) * 2001-12-19 2007-08-21 Computer Network Technology Corporation Deferred queuing in a buffered switch
US20060064535A1 (en) * 2004-09-22 2006-03-23 Walker Robert M Efficient multi-bank memory queuing system
US7308523B1 (en) 2006-04-10 2007-12-11 Pericom Semiconductor Corp. Flow-splitting and buffering PCI express switch to reduce head-of-line blocking
US7792131B1 (en) 2009-03-10 2010-09-07 Cisco Technologies, Inc. Queue sharing with fair rate guarantee
US8565092B2 (en) * 2010-11-18 2013-10-22 Cisco Technology, Inc. Dynamic flow redistribution for head of line blocking avoidance
US8554976B2 (en) 2011-07-08 2013-10-08 Plx Technology, Inc. Single pipe non-blocking architecture
US8705366B2 (en) 2012-01-23 2014-04-22 Cisco Technology, Inc. Dynamic load balancing without packet reordering

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4980852A (en) * 1986-12-30 1990-12-25 International Business Machines Corporation Non-locking queueing mechanism for enabling a receiver device to read from a queue without access synchronization with a sending device
US5231633A (en) * 1990-07-11 1993-07-27 Codex Corporation Method for prioritizing, selectively discarding, and multiplexing differing traffic type fast packets
US5448559A (en) * 1993-05-07 1995-09-05 Roke Manor Research Limited ATM communication system with interrogation of output port servers for available handing capacity
US5455820A (en) * 1993-05-20 1995-10-03 Nec Corporation Output-buffer switch for asynchronous transfer mode
US5841722A (en) * 1996-02-14 1998-11-24 Galileo Technologies Ltd. First-in, first-out (FIFO) buffer
US5898687A (en) * 1996-07-24 1999-04-27 Cisco Systems, Inc. Arbitration mechanism for a multicast logic engine of a switching fabric circuit
US5900914A (en) * 1995-12-27 1999-05-04 Niijima; Shinji Horizontal synchronizing signal-generating circuit and method therefor
US6044061A (en) * 1998-03-10 2000-03-28 Cabletron Systems, Inc. Method and apparatus for fair and efficient scheduling of variable-size data packets in an input-buffered multipoint switch
US6144640A (en) * 1996-08-30 2000-11-07 Sgs-Thomson Microelectronics Limited ATM switch
US6160812A (en) * 1998-05-04 2000-12-12 Cabletron Systems, Inc. Method and apparatus for supplying requests to a scheduler in an input buffered multiport switch
US6185214B1 (en) * 1997-09-11 2001-02-06 3Com Corporation Use of code vectors for frame forwarding in a bridge/router
US6222822B1 (en) * 1996-04-23 2001-04-24 Cisco Systems, Incorporated Method for optimizing a digital transmission network operation through transient error monitoring and control and system for implementing said method

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4980852A (en) * 1986-12-30 1990-12-25 International Business Machines Corporation Non-locking queueing mechanism for enabling a receiver device to read from a queue without access synchronization with a sending device
US5231633A (en) * 1990-07-11 1993-07-27 Codex Corporation Method for prioritizing, selectively discarding, and multiplexing differing traffic type fast packets
US5448559A (en) * 1993-05-07 1995-09-05 Roke Manor Research Limited ATM communication system with interrogation of output port servers for available handing capacity
US5455820A (en) * 1993-05-20 1995-10-03 Nec Corporation Output-buffer switch for asynchronous transfer mode
US5900914A (en) * 1995-12-27 1999-05-04 Niijima; Shinji Horizontal synchronizing signal-generating circuit and method therefor
US5841722A (en) * 1996-02-14 1998-11-24 Galileo Technologies Ltd. First-in, first-out (FIFO) buffer
US6222822B1 (en) * 1996-04-23 2001-04-24 Cisco Systems, Incorporated Method for optimizing a digital transmission network operation through transient error monitoring and control and system for implementing said method
US5898687A (en) * 1996-07-24 1999-04-27 Cisco Systems, Inc. Arbitration mechanism for a multicast logic engine of a switching fabric circuit
US6144640A (en) * 1996-08-30 2000-11-07 Sgs-Thomson Microelectronics Limited ATM switch
US6185214B1 (en) * 1997-09-11 2001-02-06 3Com Corporation Use of code vectors for frame forwarding in a bridge/router
US6044061A (en) * 1998-03-10 2000-03-28 Cabletron Systems, Inc. Method and apparatus for fair and efficient scheduling of variable-size data packets in an input-buffered multipoint switch
US6160812A (en) * 1998-05-04 2000-12-12 Cabletron Systems, Inc. Method and apparatus for supplying requests to a scheduler in an input buffered multiport switch

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030103517A1 (en) * 2001-12-03 2003-06-05 Rahul Saxena Multicast and broadcast operations in ethernet switches
US7403521B2 (en) * 2001-12-03 2008-07-22 Intel Corporation Multicast and broadcast operations in ethernet switches
US20080253371A1 (en) * 2001-12-03 2008-10-16 Rahul Saxena Multicast and broadcast operations in ethernet switches
US20060013135A1 (en) * 2004-06-21 2006-01-19 Schmidt Steven G Flow control in a switch
US20080019566A1 (en) * 2006-07-21 2008-01-24 Wolfgang Niem Image-processing device, surveillance system, method for establishing a scene reference image, and computer program
GB2440444A (en) * 2006-07-21 2008-01-30 Bosch Gmbh Robert Implementing object segmentation in a scene using a background model created using medium- to long-term scene analysis
GB2440444B (en) * 2006-07-21 2009-02-04 Bosch Gmbh Robert Image processing device, surveillance system, process for generating a scene reference image and also computer program
US8285044B2 (en) 2006-07-21 2012-10-09 Robert Bosch Gmbh Image-processing device, surveillance system, method for establishing a scene reference image, and computer program

Also Published As

Publication number Publication date
IL125271A0 (en) 1999-03-12
US6829245B1 (en) 2004-12-07

Similar Documents

Publication Publication Date Title
EP0674821B1 (en) Flow control system for packet switches
US6628613B1 (en) Flow control method in packet switched network
US5793978A (en) System for routing packets by separating packets in to broadcast packets and non-broadcast packets and allocating a selected communication bandwidth to the broadcast packets
US7145914B2 (en) System and method for controlling data paths of a network processor subsystem
US7843816B1 (en) Systems and methods for limiting low priority traffic from blocking high priority traffic
AU767085B2 (en) Optimizing the transfer of data packets between LANs
JP3606565B2 (en) Switching device and method
US6829245B1 (en) Head of line blocking
US8014281B1 (en) Systems and methods for limiting the rates of data to/from a buffer
US20100293291A1 (en) Segmentation and reassembly of data frames
JP3394504B2 (en) Method and apparatus for maintaining packet order integrity in a parallel switching engine
US8005104B2 (en) Method and apparatus for controlling the flow of packets through a network switch
EP0279443A2 (en) Header driven packet switching system and method
JPH05204804A (en) High-speed transmission line-interface
JPH07202942A (en) Packet switchboard
US6879560B1 (en) System and method for limiting congestion over a switch network
AU719413B2 (en) Logical multicast from a switch configured for spatial multicast
JP3152965B2 (en) Packet Autorouting and Multipath Switching Networks for Asynchronous Time Division Multiplexing Packet Switching
JPH05268223A (en) Router device
JP3137744B2 (en) Multi-path data transfer method
JPH0522346A (en) Incoming call transfer system in communication system
JPH02228146A (en) Self-routing exchange system
JPH0766845A (en) Information flow rate limiting device
JPH0730585A (en) Packet switch
WO2000038377A1 (en) Approximate state control mechanism

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION