CN104854831A - Output queue latency behavior for input queue based device - Google Patents

Output queue latency behavior for input queue based device Download PDF

Info

Publication number
CN104854831A
CN104854831A CN201380063683.9A CN201380063683A CN104854831A CN 104854831 A CN104854831 A CN 104854831A CN 201380063683 A CN201380063683 A CN 201380063683A CN 104854831 A CN104854831 A CN 104854831A
Authority
CN
China
Prior art keywords
input port
queue
length value
grouping
port
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.)
Granted
Application number
CN201380063683.9A
Other languages
Chinese (zh)
Other versions
CN104854831B (en
Inventor
迪帕纳卡·巴哈特·阿查雅
圭利洛莫·莫兰丁
荣·潘
基娅拉·皮格里欧恩
铃木洋
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.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN104854831A publication Critical patent/CN104854831A/en
Application granted granted Critical
Publication of CN104854831B publication Critical patent/CN104854831B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6255Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • 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
    • H04L49/3018Input queuing
    • 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
    • H04L49/3045Virtual queuing

Abstract

In one implementation, an input queue switch provides latency fairness across multiple input ports and multiple output ports. In one embodiment, each input port maintains a virtual output queue for each associate output port. The virtual output queues across multiple inputs are aggregated for each specific output port. The sum of the lengths of the virtual output queues is compared to a threshold, and based on the comparison, feedback may be generated to control the operation of the input port for subsequent packets. The feedback may instruct the input port to stop buffering or drop packets destined for the output port with the sum of the lengths of the virtual output queues associated to the specific output port that exceeds the threshold. In another embodiment, each packet has an arrival timestamp, and a virtual output queue having the oldest timestamp is selected first to dequeue.

Description

Output queue based on the equipment of input rank postpones behavior
Technical field
Disclosure relate generally to Internet protocol (IP) communications field, and more specifically, relate to the switch based on input rank.
Background technology
IP communication relates to the transmission of the message of the form of one or more packet.Packet comprises source address and at least one destination-address.Switch is the network equipment guided towards destination-address by flow.Switch comprises multiple input and multiple output.(crossbar) switch that intersects comprises the selectable connection from each each output be input in multiple output multiple input.Crossover switch only allow data be grouped in any specific time be transferred to any one export.
One of problem be associated with switch cushions to expand.When the interactive application of the application that the large-scale buffer in network is hungered and thirst by such as ip voice, live video stream, financial transaction and other bandwidth and so on is flooded, buffering expands with the generation of the form of the delay and jitter increased.On a declining curve in price due to memory, therefore switch and router manufacturer add the memory-size for buffer.The increase of buffer size reduces the risk of the grouping be dropped, but the buffer size increased contributes to buffering expansion.Full or the almost full buffer of major part causes the delay that transmitted grouping experience is larger.This may cause time-out maybe may cause bad end-user experience.
Accompanying drawing explanation
With reference to accompanying drawing below, example embodiment is described herein.
Fig. 1 shows the example network of Input queue switch.
Fig. 2 shows the example endpoint of the network of Fig. 1.
Fig. 3 shows the feedback loop of the example endpoint of Fig. 2.
Fig. 4 shows another example endpoint of the network of Fig. 1.
Fig. 5 shows another example embodiment of the node of Fig. 1.
Fig. 6 shows the example flow diagram of an embodiment for the delay fair in input rank buffering.
Embodiment
general view
In one embodiment, a kind of method comprises: each input port from the multiple input ports being coupled to output port receives VOQ length value; The queue length value of the total of output port is calculated as the summation of the VOQ length value from multiple input port; And generating feedback message at least one input port in multiple input port, this feedback message comprises the queue length value of total.
In another embodiment, a kind of network equipment comprises at least one communication interface and controller.Communication interface is coupled to output port and each input port be configured to from the multiple input ports being coupled to output port receives VOQ length value.Controller is configured to: the summation queue length value of the total of output port being calculated as the VOQ length value from each input port in multiple input port, and the queue length value of total and predetermined threshold is compared.The result that controller is configured to according to comparing generates feedback, and feedback is provided to multiple input port.
In another embodiment, comprise a non-transitory computer-readable medium for instruction, be configured to when executed perform following process: the summation queue length value of the total of output port being calculated as the multiple VOQ length values be associated with the input port of in multiple input port; Calculate the difference between queue length value and predetermined queue length value added up to; And carry out generating messages based on the difference between the queue length value added up to and predetermined queue length value.
example embodiment
Develop in network and have employed various architecture for exchanging.Two examples comprise Input queue switch and output dynamic feedback.As the name implies, Input queue switch relates to the packet queue at input port place, and output dynamic feedback is ranked to grouping at each output port place.
In an example of output dynamic feedback, destination is that the grouping of specific output port is queued in first-in first-out (FIFO) buffer at this output port place when this output port is busy.When output port becomes available, the grouping being positioned at the head place of fifo buffer is selected and is issued to link from output port.Importing queueing delay that (incoming) divide into groups to experience into is that link is discharged and is positioned at the time needed for all groupings before importing grouping into.Use Little's Law (Little ' sLaw), the maximum queuing delay of any grouping is the rate of discharge of size divided by link of buffer.
In Input queue switch, on the other hand, wherein queue is associated with each input port, and the grouping in queue can go to different output ports.Have in the Input queue switch of single fifo queue for each input port, all groupings are stored in single fifo queue, and no matter destination output port or the output port that is associated.Exist two types to the buffer delay that this framework is associated or postpone relevant problem.
First, delay aspect does not have maximum figure.Each input port makes the independently decision about buffering restriction.Scheduler (it is responsible for controlling grouping to be transferred to output port from input port) is made about being assigned to each input port to discharge the decision of the bandwidth of the grouping be buffered.Do not pass on the mechanism how long or when input port is served by scheduler.Therefore, for any specific grouping, the delay aspect of dividing into groups to experience does not have maximum figure.
Secondly, because the grouping being only positioned at the head place of fifo queue can be transmitted, if so the output port of this grouping is busy, then this grouping all groupings below are all delayed by.Such delay can be called as team's head (head of the line, HOL) blocking delay.Therefore, the amount of delay may significantly change from an input port to another input port.
As further instruction, consider two communication paths by switch.On a communication path in the communication path of data between two servers by switch flowing and queue be partially filled.If cause queue comparatively large due to the availability of memory, then the grouping on second communication path may be delayed by a large amount of time.In some cases, if grouping is dropped instead of is queued, therefore grouping again can be transmitted in another route, then second communication path will be enhanced.Input queue switch design alternative increase delay but not the grouping be dropped.But in output dynamic feedback, no matter grouping is from which input port, and grouping experience postpones, and the quantity of the grouping in the output queue head of grouping is only depended in this delay.Grouping in other output queue is unaffected.The following examples are imitated or the buffer delay performance of modulating output queued switch in Input queue switch.
Fig. 1 shows the example network of input rank equipment.The Input queue switch of any amount can comprise the following examples at (comprising single switch).Network can be the structure comprising multistage (stage) that connected by one or more crossover switch.Nomenclature structure relates to the waffle-like pattern of the crossover switch multiple input being connected to multiple output in matrix arrangements.Crossover switch can be called as cross point switch or fabric switch.Crossover switch can connect M input and N number of output, and it comprises the N number of crosspoint of M x, thus makes each input selectively be connected to each output.Line of input is selectively connected to and exports row by crosspoint.In one example, crossover switch can have 10 inputs, 1000 outputs and 10000 crosspoints.Crossover switch can comprise transistor network.When the transistor in crosspoint is activated, inputs and be connected to output by crosspoint.
Multiple crosspoint can be simultaneously activated, grouping is sent to multiple output simultaneously.But multiple input can not be connected to single output.Moderator stops multiple input to be simultaneously connected to single output.Moderator is configured to control crosspoint.Moderator can comprise logic OR hardware, and logic OR hardware is configured to export the control signal exciting crosspoint selectively.Control signal can activate or excite the transistor at each crosspoint place.Moderator is connected to each crosspoint by physical connection (such as, electric wire or tracking).Moderator determines the order of dividing into groups to fall out from input rank.
Network can be the local area network (LAN) of the network equipment comprised as node.The network equipment can be to copy any equipment with forwarding data grouping.Example network device comprises router and switch.Network can comprise two nodes to many thousands of nodes.Node is disposed in level, and up level comprises the first estate node 100a, intergrade comprises the second hierarchy node 102a-b and descending level comprises tertiary gradient node 104a-c.The more interstage can be comprised.As shown by solid line 101, packet is forwarded to descending level from up level.When import into be grouped in input port place be received time, node consulting transmit and import grouping into for each outlet port being assigned to the end points that receive the copy importing grouping into copies.
Fig. 2 shows the example endpoint of the network of Fig. 1.Example endpoint comprises three input port 112a-c, crossover switch 114, moderator 128 and has at least one output port 120 of at least one effective output queue 122.Example shown in Fig. 2 comprises single output port 120.More output port can be used.Extra, less or different assembly can be included in the node of Fig. 2.
Input port 112a-c comprises the input rank for each output queue.Example shown in Fig. 2 comprises single output port 120, and correspondingly, each input port 112a-c comprises an input rank 110a-c.If more output port is included, then each input port comprises the input rank be associated with each extra output port.Input rank 110a-c can be called as VOQ.Each input rank 110a-c is associated with identical output port 120.Input rank 110a-c and output queue 120 are carried out alternately, with the behavior of modulating output queued switch in the Input queue switch of Fig. 2.
Each output port can comprise the small-sized output queue be associated with port.Small-sized output queue can not be used to packet flow control.Output queue can more much smaller than VOQ (such as, 10 times or more doubly).Output queue can be wobble buffer.
On the one hand, the rate of discharge of input rank 110a-c is controlled as the function of the occupancy of input rank 110a-c.Moderator 128 carrys out the transmission of control packet by crossover switch 114.Therefore, the rate of discharge of moderator 128 control inputs queue 110a-c.Moderator 128 can access the current occupancy of each input rank 110a-c, and as in equationi according to the occupancy that is associated and delay parameter for corresponding input rank arranges rate of discharge.Delay parameter relates to the desirable delay of each input rank, so that across all input rank 110a-c for grouping provides consistent delay.Delay parameter can be the maximum delay defined for input rank 110a-c.The rate of discharge of input rank changes according to the current length of queue, thus the grouping at the head place being positioned at each queue is almost transmitted at same time.Input rank can be labeled, and is represented by i.
On the other hand, input rank 110a-c and output queue 120 are carried out alternately, to limit the quantity for the memory cushioned.Quantity for the memory cushioned is limited, thus makes to divide into groups to be dropped instead of by the queue delay too grown.First, output port is collected from the input rank 110a-c be associated and is added up to occupancy data.Such as, output port 120 receives VOQ length value from the input rank 110a of input port 112a, receive another VOQ length value from the input rank 110b of input port 112b, receive another VOQ length value from the input rank 110c of input port 112c.The queue length value added up to is calculated as the summation of VOQ length value for output port 120.The calculating of the queue length value added up to can be made by moderator 128 or other logic be associated with output port 120.
The queue length value of total and threshold value are compared.Threshold value can be stored in memory or be received in user's input.Threshold value can be measured with byte or kilobytes.The example of threshold value comprises 100 kilobytes, 150 kilobytes, 300 kilobytes or 1 Mbytes.Threshold value can be come to arrange changeably according to the measurement of the delay in data flow or shake.
Moderator 128 or other logic be associated with output port 120 are configured to: if the queue value added up to exceedes predetermined threshold value, then generate tail drop message.Tail drop message stops cushioning the follow-up grouping be associated with output port 120 in the instruction of at least one input port place.
Fig. 3 shows the feedback loop of the example endpoint of Fig. 2.Fig. 3 does not describe data path or the communication path of node.But Fig. 3 comprises the FEEDBACK CONTROL of the size for limiting the memory distributed for storage buffer.Feedback loop can not comprise actual independent data path, as shown in Figure 3.Fig. 3 is the logic diagram of reponse system.Each input 112a-c comprises VOQ, and VOQ follows the trail of the representational part of the queue of output 120.The VOQ occupancy of adder 129 to input 112a-c is sued for peace.Summation and threshold value are compared.When summation exceedes threshold value, the feedback of buffering is stopped to be sent to input 112a-c.Extra, less or different assembly can be included in the feedback loop of Fig. 3.
Feedback can take the form of tail drop message.Tail drop message triggers grouping by the transmission control protocol (TCP) in the transport layer of open system interconnection (OSI) model and is dropped.Tail drop message is the congestion notification for TCP, and it makes TCP reduce data transfer rate.Such as, when it, the TCP carrying out with 10 mbit operating sees that such as tail drop message or grouping can be reduced to when abandoning the congestion notification of itself and so on and operates with 5 mbit.Very major part due to the flow on network may be TCP flow amount, and therefore this sequence slow down the obstruction on networking.Extra feedback for each input 112a-c can be included, but is not illustrated in figure 3.Current input rank length in each input of extra feedback monitoring and the rate of discharge of input rank is adjusted to the function of current input rank length.Function can be proportion function.
Fig. 4 shows another example endpoint of the network of Fig. 1.Node comprises at least two input port 132a-b on input chip 132, and comprises at least two output ports on each pio chip of two pio chips.Extra input chip and input port can be comprised.Four output ports are illustrated.First group of output port 140a-b is provided by the first chip 142a, and second group of output port 141a-b is provided by the second chip 142b.First chip 142a comprises at least two output queue 150a-b, and the second chip 142b comprises at least two output queue 151a-b.All input ports are connected to all output ports by crossover switch 134.Extra, less or different assembly can be included in the node of Fig. 4.
Scheduler 138 (it can be configured to provide the function of above-mentioned moderator 128) and crossover switch 134 and each pio chip 142a-b with input chip 132a-b and communicate.The example endpoint of Fig. 1 means function diagram, and the single logical construction of such as controller and so on can perform the function performed by moderator 138 and input chip 132 and pio chip 142a-b.Such as, each input port 132a-b safeguards the VOQ collection corresponding with each output port.Such as, input chip 132a comprises four the VOQ 130a-d be associated with output port 140a-b and output port 141a-b respectively, and inputs chip 132b and comprise four the VOQ 131a-d be associated with output port 140a-b and output port 141a-b.
In scale shown in the diagram, delay may not form significant threat.But, when node comprises a lot of port, postpone to reach unacceptable level.Node can comprise hundreds of or thousands of input port being connected to each output.If switch architecture comprises 100 Line cards, each Line cards has the buffer storage of 100 Mbytes, then overstocking of maximum possible can be 10 GB, even if pass through link very fast, this needs the plenty of time to discharge.
Node is configured to the rate of discharge controlling each VOQ, and is configured to the full-size controlling each VOQ.By one or both in these controls, divide into groups to flow to output port from multiple input port, thus make each input port have identical or similar delay.Such as, the first input end mouth place of multiple input port receive first grouping first postpone and the second input port place of multiple input port receive second divide into groups second postpone between difference be in preset range.The example of preset range can be any amount of time, comprises 1 millisecond, 10 milliseconds and 100 milliseconds.
The full-size of each VOQ depends on other VOQ be associated with identical output port.That is, because both VOQ 130a and VOQ 131a are associated with output port 140a, therefore the full-size of VOQ 130a depends on the current occupancy of VOQ 130a and VOQ 131a.Similarly, the full-size of VOQ 131a depends on the current occupancy of VOQ 130a and VOQ 131a.Full-size can time to time change.
Such as, scheduler 138 or other logic controller are configured to the summation of the VOQ length value queue length value of the total of output port 140 being calculated as VOQ 130a and VOQ 131a.Scheduler 138 or other logic controller are configured to calculate the difference between the queue length value of total and predetermined queue length value.Predetermined queue length value is the amount being regarded as causing at output port place the data of the critical point of obstruction.In one example, predetermined queue length value can be 150 kilobytes to 300 kilobytes.
Scheduler 138 or other logic controller generate feedback message based on the difference between the queue length value added up to and predetermined queue length value.Difference and one or more threshold value can be compared.Such as, lower threshold value can indicate the warning about the obstruction be associated with output port 140 to be published.Occlusion alarm can be sent to another node by up, and another node is configured to adjust the streaming rate that destination is the grouping of input port 132a and/or input port 132b.
Higher threshold value grouping can be indicated to abandon order should be sent in VOQ 130a and VOQ 131a one or both.Grouping abandons order and makes VOQ abandon grouping.By the sequence gaps in the stream of grouping or other message, the grouping be dropped triggers the remedial measure of such as transmission grouping and so on again.
In addition, node is configured to the rate of discharge controlling each VOQ.The rate of discharge of VOQ can be controlled individually according to the occupancy of each VOQ.Scheduler 138 or other logic controller are configured to the occupancy of virtual queue 130a-d and 131a-d in monitor input terminal mouth 132a-b.Occupancy is the size of the data be buffered in queue.Rate of discharge based on each queue or based on each port is arranged for virtual queue 130a-d and 131a-d according to the corresponding occupancy of each output port.When rate of discharge be set up based on each queue time, the rate of discharge of each queue is arranged individually.
Along with the occupancy of virtual queue reduces (such as, close to zero occupancy), the rate of discharge of virtual queue is set to more and more lower value.Low-down rate of discharge can interrupt the operation of switch.Therefore, in one embodiment, rate of discharge does not become aspect ratio with occupancy value.Alternatively, rate of discharge introduces lower restriction.In another embodiment, average, the time average of decay or other time-based function are applied to rate of discharge.Time average or the average average occupancy (Avg_Occupancy) used in calculating rate of discharge within the scope of a period of time based on window.Decay on average means for each unit interval, and a part for the old value of queue length is removed.The current occupancy value used is the function of the occupancy in current occupancy and one or more past.Current occupancy value can be the weighted average of the occupancy in current occupancy and one or more past.Example decay mean value is illustrated by equation 2, and wherein time iteration is represented by n and weights W adds up to 1 (such as, W 2=1-W 1).(W 1, W 2) example value comprise (0.5,0.5), (0.75,0.25) and (0.9,0.1).
Avg_Occupancy [n]=W 1* Occupancy [n]+W 2* Avg_Occupancy [n-1] equation 2
Alternatively, the full-size of VOQ can control by they are set to predetermined value (not considering current occupancy).Such as, if rate of discharge is constant, then the delay across input port is approximately identical.Scheduler 138 or other logic controller are configured to access the current queue size value of each input port and determine the rate of discharge of each input port according to current queue size value.
In one embodiment, node is configured to two kinds of possibilities.Such as, if scheduling is poll, then divide into groups to be buffered with queue length and the proportional mode of rate of discharge.If scheduling is WRR, then VOQ is discharged with the speed proportional with VOQ length.Polling dispatching means that grouping is divided evenly by continuous time between the ports.Weight Round Robin means that grouping is unevenly divided by continuous time between the ports.
Fig. 5 shows the example network device 301 being arranged to packet switching.The network equipment 301 can be Input queue switch.The network equipment 301 can comprise the one or more integrated circuits being programmed or being designed to copy with forwarding data grouping.Such as, the network equipment 301 can comprise application-specific integrated circuit (ASIC) (ASIC).The miscellaneous equipment except ASIC can be used, such as, field programmable gate array or general processor.The network equipment 301 at least comprises controller 300, memory 302, input communication interface 304 and output communication interface 305.The network equipment 301 can also communicate with work station 309.Extra, less or different assembly can be included in the network equipment of Fig. 5.
Input communication interface 304 can comprise one or more ingress port.Input communication interface 304 is configured to receive sequence of data packets from upstream node.Sequence of data packets by coding for multicast, and can comprise the multicast group label or destination-address that are associated with multiple output port.Output communication interface 305 can comprise multiple output port.Each input port that output communication interface 305 is configured to from the one group of input port being coupled to output port receives output queue length value.
Controller 300 comprises logical circuit for input-queued switch or hardware.Controller 300 is configured to the summation of the corresponding VOQ length value be calculated as by the queue length value of the total of output port from each input port in this group input port.Controller 300 is by the queue length value of total compared with predetermined threshold, and according to relatively providing feedback, this feedback is provided to input port.Feedback can the size of defining virtual output queue and/or rate of discharge.
In one example, if the queue value added up to exceedes predetermined threshold, then feedback comprises tail drop message.Tail drop message stops cushioning the follow-up grouping be associated with output port in the instruction of at least one input port place.The grouping be not buffered can be dropped.The instruction of the grouping be dropped can indicate TCP to slow down the speed of the data being sent to input port.Alternatively or in addition, the instruction of the grouping be dropped can indicate upstream service device or end points to be point group selection alternative route be dropped.
Controller 300 can comprise general processor, digital signal processor, application-specific integrated circuit (ASIC) (ASIC), field programmable gate array (FPGA), analog circuit, digital circuit, their combination or other processor that is known or that be developed afterwards now.Controller 300 can be the combination of individual equipment or the equipment be such as associated with network, distributed treatment or cloud computing.
Memory 302 can be volatile memory or nonvolatile memory.Memory 302 can comprise the memory of one or more read-only memory (ROM), random access memory (RAM), flash memory, electric erasable program read-only memory (EEPROM) or other type.Memory 302 can be removed by from the network equipment 101, such as secure digital (SD) memory card.
Except ingress port and outlet port, input communication interface 304 and output communication interface 305 can comprise any exercisable connection.Exercisable connection can be that signal, physical communication and/or logic communication can be sent out and/or received connection.Exercisable connection can comprise physical interface, electrical interface and/or data-interface.
Fig. 6 shows the example flow diagram of an embodiment for input-queued switch.The node of structure receives grouping.Structure is network topology structure, and wherein network node is connected to each other via the network switch or crossover switch.Structure can be in the network (each equipment plays node) of individual equipment (having multiple node in this equipment) or equipment.
At action S101 place, node receives virtual queue length value from input port.Virtual queue length value can be received from memory.Virtual queue length value can be in output port logic from input port logic and to be received in logic.Virtual queue length value describes each input port has how many data to be queued for specific output port.
At action S103 place, node is by calculating the queue length value of total to the summation of VOQ length value.Can be repeated for each output port action S103.The queue length value added up to represents have the data how much be queued to go to specific output port through all input ports.
At action S105 place, the queue length value of total and predetermined threshold value compare by node.Predetermined threshold value can conduct interviews from memory or can to input from user at work station 309 and receive.Predetermined threshold value can change based on the performance of node.Relatively can occur at input port or output port place.
At action S107 place, node generates feedback message.When compare occur at output port place time, the queue value that feedback message can be in response to total exceedes the tail drop message that threshold value generates.When compare occur at input port place time, feedback message can comprise the queue value of total.Therefore, action S107 and S105 can occur in time in any order.At action S109 place, node forwards the grouping that tail drop message stops buffering follow-up with indicative input port.The grouping be not buffered can be dropped.But the grouping be dropped can be detected in tcp based on the sequence number in data flow.Therefore, upstream service device or end points can transmit grouping again.
In alternate embodiments, node maintains delay fair in Input queue switch by dispatching the transmission being grouped into output the packet-based time of advent.Referring back to Fig. 4, optional timer 133 is coupled to the input of VOQ, with when each import into grouping arrive each VOQ time, in the grouping of each input Applicative time stamp.When determining next grouping of going to any outlet port, scheduler 138 selects the VOQ with the oldest timestamp to fall out.The output port be associated with these VOQs can generate the message that the grouping older than timestamp value is sometime fallen out by indicative input.In an execution mode of this alternate embodiment, the clock of various input is synchronous, and the oldest timestamp is selected.
In an execution mode of this alternate embodiment, each input port receives corresponding timestamp from counter (such as, wall clock).In one embodiment, the wall clock of all input ports is increased based on common system time.In another embodiment, the wall clock of each output port is increased by independent independent clock and specialized protocol is used to make the value of different wall clocks synchronous.Such agreement can select a wall clock as main wall clock, and other input ports all and main wall clock exchange messages, so that corresponding wall clock is synchronous with main wall clock.
In one embodiment, the timestamp value of the grouping being positioned at the head place of each VOQ is sent to corresponding output port by all input ports.The message with the oldest timestamp is sent it back input port to send grouping by output port.
In input, the network equipment receives the stream importing grouping into.The stream importing grouping into can comprise sequence of data packets.These packets comprise control information (such as, head) and load.Head can comprise destination group label, source address, group character value, sequential value and/or School Affairs or other self-correcting code.The network equipment is configured to the stream importing grouping into copying multiple output port.
Multicast can realize to be distributed to one group of output port via one group of output queue by copying received grouping.Multicast grouping comprises the label of the multicast group of the destination of definition multicast grouping.Bitmap (such as, fabric port (fabric port of exit, the FPOE) bitmap of outlet) can define which output queue that multicast divides into groups to be forwarded in this group output queue, to arrive destination.
Network can include spider lines, wireless network or their combination.Wireless network can be cellular phone network, 802.11,802.16,802.20 or WiMax network.In addition, network can be private network or their combination of public network, such as Intranet and so on of such as the Internet and so on, and various procotols that are available or that develop afterwards now can be utilized, include but not limited to the procotol based on TCP/IP.
Although it is single medium that computer-readable medium is illustrated, term " computer-readable medium " comprises single medium or multiple medium, such as centralized or distributed data base, and/or stores the buffer memory be associated and the server of one or more groups instruction.Term " computer-readable medium " also should comprise can store, encode or carry for performed by processor or make computer system perform any medium of one group of instruction of one or more method disclosed herein or operation.
In specific unrestricted, exemplary embodiment, computer-readable medium can comprise the solid-state memory of such as memory card and so on or cover other encapsulation of one or more non-volatile read-only memory.In addition, computer-readable medium can be random access memory or other volatibility recordable memory.In addition, computer-readable medium can comprise the magnet-optical medium of such as disk or tape and so on or optical medium or can catch such as over a transmission medium by other memory device of the carrier signal of the signal that transmits and so on.The digital file annex of Email or other self-contained news file or archive set can be regarded as distribution medium (tangible storage medium).Therefore, the disclosure is regarded as comprising any one or more computer-readable mediums or distribution medium and data or instruction and can be stored in other equivalent form of value wherein and successor media.Computer-readable medium can be non-transient state, and it comprises all tangible computer computer-readable recording mediums.
In alternate embodiments, the specialized hardware execution mode of such as application-specific integrated circuit (ASIC), programmable gate and other hardware device and so on can be configured to realize one or more methods described herein.Device and the systematic difference that can comprise various embodiment can comprise various electronics and computer system widely.One or more embodiment described herein can use two or more specific interconnected hardware modules or equipment (have can between the modules and by module by the relevant control signal that transmits and data-signal or the part as application-specific integrated circuit (ASIC)) to carry out practical function.Therefore, native system comprises software, firmware and hardware embodiment.
According to various embodiment of the present disclosure, method described herein can be realized by the software program that can be performed by computer system.In addition, exemplary, in unrestriced embodiment, execution mode can comprise distributed treatment, component/object distributed treatment and parallel processing.Alternatively, virtual computer system process can be constructed to realize one or more method described herein or function.
Although present specification describes the assembly and function that can realize with reference to specific standard and agreement in a particular embodiment, the invention is not restricted to such standard and agreement.Such as, the example of this area level is represented for the Internet and the standard (such as, TCP/IP, UDP/IP, HTML, HTTP, HTTPS) of other packet switched network transmission.Such standard termly replace by the quicker or more efficient equivalent form of value of inherently identical function.Therefore, alternate standard and the agreement with identical with agreement with those standards disclosed herein or similar function are regarded as its equivalent form of value.
Computer program (being also referred to as program, software, software application, script or code) can be write by programming language (comprising compiler language or interpreted language) in any form, and it (can comprise as independently program or as module, assembly, subroutine or other unit being applicable to computing environment) in any form and being deployed.Computer program is not necessarily corresponding with the file in file system.Program can be stored in holds other program or data (such as, be stored in the one or more scripts in marking language document) file a part in, in the Single document being exclusively used in question program or in multiple coordinated files (such as, storing the file of a part for one or more module, subprogram or code).Computer program can be deployed as and be performed on a computer or multiple computer (be positioned at a website place or be distributed across multiple website and by interconnection of telecommunication network).
Process described in this specification and logic flow can be performed with the one or more programmable processors being carried out executable operations by operation input data and generation data by performing one or more computer program.Process and logic flow can also be performed by the dedicated logic circuit of such as FPGA (field programmable gate array) or ASIC (application-specific integrated circuit (ASIC)) and so on, and device can also be implemented as the dedicated logic circuit of such as FPGA (field programmable gate array) or ASIC (application-specific integrated circuit (ASIC)) and so on.
As used in this application, term " circuit " or " circuit " relate to all every below: (a) pure hardware circuit execution mode (such as, execution mode in pure simulation and/or digital circuit) and the combination of (b) circuit and software (and/or firmware), such as (words as being suitable for): the combination of (i) (one or more) processor or a part for (ii) (one or more) processor/software (comprising (one or more) digital signal processor), software, and (one or more) memory (this one or more memory works to make the device of such as mobile phone or server and so on perform various function together) and (c) circuit, the such as part of (one or more) microprocessor or (one or more) microprocessor, it needs for the software that operates or firmware, even if software or firmware physically do not exist.
This definition of " circuit " is applied in all uses of (comprising in any claim) this term in the application.As further example, as used in this application, term " circuit " also will cover the part of only a processor (or multiple processor) or processor and its (or the they) execution mode with software and/or firmware.Term " circuit " also will cover such as (if applicable) and specifically state key element, for similar integrated circuit, cellular network device or other network equipment in the based band integrated circuit of mobile phone or application processor integrated circuit or server.
The processor being applicable to perform computer program such as comprises both general purpose microprocessor and special microprocessor, and any one or more processors in the digital computer of any kind.Usually, processor will receive instruction and data from read-only memory or random access memory or both.The primary element of computer is the processor for performing instruction and the one or more memory devices for storing instruction and data.Usually, computer also by one or more mass-memory units of comprising for storing data (such as, disk, magneto optical disk or CD) or computer be operatively coupled from the one or more mass-memory units for storing data (such as, disk, magneto optical disk or CD) receive data one or more mass-memory units (such as, disk, magneto optical disk or CD) of data being sent to for storing data or both.But computer does not need to have such equipment.In addition, computer can be embedded in another equipment, and such as mobile phone, personal digital assistant (PDA), Mobile audio player, global positioning system (GPS) receiver, only lift a few example.The computer-readable medium being applicable to store computer program instructions and data comprises the nonvolatile memory of form of ownership, medium and memory devices, such as comprise semiconductor memory devices (such as, EPROM, EEPROM and flash memory device), disk (such as, internal hard drive or removable dish), magneto optical disk and CD ROM and DVD-ROM dish.Processor and memory can carry out supplementary maybe can being incorporated in dedicated logic circuit by dedicated logic circuit.
The embodiment of the theme described in this application can realize in computing systems, and this computing system is comprised the aft-end assembly of such as data server and so on or comprises the middleware component of such as application server and so on or comprise the front end assemblies of the client computer such as with graphic user interface or Web browser (can be carried out alternately with the execution mode of the theme described in this application by graphic user interface or Web browser user) and so on or any combination of one or more such aft-end assembly, middleware or front end assemblies.The assembly of system can be interconnected by the digital data communications of any form of such as communication network and so on or medium.The example of communication network comprises local area network (LAN) (" LAN ") and wide area network (" WAN "), such as, and the Internet.
Computing system can comprise client and server.Client and server usually mutual away from and usually undertaken alternately by communication network.The relation of client and server is by operate on corresponding computer and the calculation procedure with mutual client server relationship occurs.
The diagram of embodiment described herein aims to provide the general understanding of the structure to various embodiment.Diagram is not intended to be used as the complete description to all elements and feature that utilize the device of structure described herein or method and system.Upon reading this disclosure, much other embodiment will be readily apparent to persons skilled in the art.Other embodiment can be utilized and can be obtained from the disclosure, thus makes without departing from the scope of the disclosure, that can make structure with replacement that is logic and change.In addition, diagram is only representational and chi drafting not in scale.Some ratio in diagram can be exaggerated, and other parts can be reduced.Therefore, the disclosure and accompanying drawing will be regarded as illustrative and not restrictive.
Although this explanation comprises a lot of details, these should not be understood to the restriction of the scope that maybe can be required the right protected to the present invention, but as the description to the feature for specific embodiment of the present invention.Can also realize in combination in single embodiment in some feature described in the context of independent embodiment in this specification.On the contrary, the various features described in the context of single embodiment can also be implemented or are implemented in the mode of any suitable sub-portfolio in many embodiment: respectively.In addition; even if although feature can be described as carrying out action in the mode of some combination and initial requirement protection so above; but can be separated from combination in some cases from one or more features of combination required for protection, and combination required for protection can for the modification of sub-portfolio or sub-portfolio.
Similarly, to be depicted in accompanying drawing by particular order although operate and to be described in this article, but this should not be understood to require such operation by shown particular order or in order order be performed, or should not be understood to that all operations illustrated all will be performed the result realizing expecting.In certain environments, multitask and parallel processing may be favourable.In addition, the separation of the various system components in above-described embodiment should not be understood to all need such separation in all embodiment, and it should be understood that described program assembly and system usually can together be integrated in single software product or be packaged in multiple software product.
One or more embodiment of the present disclosure can be called as term " invention " in this article individually and/or jointly, and this is only conveniently and is not intended to the scope of the application to be automatically restricted to any specific invention or inventive concept.In addition, although illustrate and describe specific embodiment herein, it should be understood that being designed to realize any follow-up layout that is identical or similar purpose can substitute shown specific embodiment.The disclosure is intended to any and whole follow-up reorganizations or the modification that cover various embodiment.After reading this specification, the combination of embodiment above and other embodiment not specifically described herein will be apparent for a person skilled in the art.
Summary of the present disclosure is provided to meet 37 C.F.R. § 1.72 (b), and to explain not being used to or submitted in the restriction scope of claim or implication situation understanding it.In addition, in aforesaid detailed description, in order to streaming object of the present disclosure, various feature can be divided into groups together or is described in single embodiment.The disclosure is not interpreted as reflecting embodiment required for protection to be needed to compare the intention by the more feature of feature be recorded in clearly in each claim.But, as claims reflect, subject matter can for all features being less than any the disclosed embodiments.Therefore, claims are integrated in detailed description, and each claim defines theme claimed separately based on itself.
Being intended to aforesaid detailed description is regarded as illustrative and not restrictive, and understands claims (comprising all equivalent form of values) and be intended to limit scope of the present invention.Unless otherwise defined, claim should not be understood to limit described by order or key element.Therefore, all embodiments entered in the scope and spirit of claims and its equivalent form of value are required protection as the present invention.

Claims (20)

1. a method, comprising:
Each input port from the multiple input ports being coupled to output port receives VOQ length value;
Calculated the queue length value of the total of described output port by controller, this value is the summation of the VOQ length value from described multiple input port; And
Generate feedback message at least one input port in described multiple input port, described feedback message comprises the queue length value of described total.
2. the method for claim 1, also comprises:
By described controller, the queue length value of described total and predetermined threshold are compared, wherein said feedback message is tail drop message, and at least one input port described in the described multiple input port of described tail drop message instruction stops cushioning the follow-up grouping be associated with described output port.
3. method as claimed in claim 2, wherein, at least one input port described in the described multiple input port of described tail drop message instruction abandons described follow-up grouping.
4. the method for claim 1, also comprises:
Access the queue length value from the described total of described feedback message; And
The queue length value of described total and predetermined threshold are compared.
5. the method for claim 1, also comprises:
Monitor the occupancy of the queue at each input port place in described multiple input port; And
Occupancy according to respective queue arranges rate of discharge to each input port in described multiple input port.
6. the method for claim 1, wherein, the difference between the second delay of the first delay of the first grouping that the first input end mouth place in described multiple input port receives and the second grouping that the second input port place in described multiple input port receives is in preset range.
7. the method for claim 1, wherein described output port is the outlet port of Input queue switch.
8. a network equipment, comprising:
The communication interface of output port, each input port that described communication interface is configured to from the multiple input ports being coupled to described output port receives VOQ length value; And
Controller, described controller is configured to: the queue length value calculating the total of described output port, this value is the summation of the VOQ length value from each input port in described multiple input port, and the queue length value of described total and predetermined threshold are compared, wherein according to the result of described comparison, feedback is provided to described multiple input port.
9. the network equipment as claimed in claim 8, wherein, described controller is configured to: if the queue value of described total exceedes described predetermined threshold, then generate tail drop message, at least one input port in the described multiple input port of wherein said tail drop message instruction stops cushioning the follow-up grouping be associated with described output port.
10. the network equipment as claimed in claim 8, wherein, described controller is configured to: the occupancy of monitoring the queue at each input port place in described multiple input port, and arranges rate of discharge according to the occupancy of respective queue to each input port in described multiple input port.
11. network equipments as claimed in claim 8, wherein, described rate of discharge is set up according to decay average function based on the occupancy at least one past of each output port in described occupancy and described multiple output port.
12. network equipments as claimed in claim 8, wherein, described controller is configured to: the rate of discharge determining each input port in described multiple input port according to the current queue size value of each input port in described multiple input port.
13. network equipments as claimed in claim 8, wherein, the difference between the second delay of the first delay of the first grouping that the first input end mouth place in described multiple input port receives and the second grouping that the second input port place in described multiple input port receives is in preset range.
14. network equipments as claimed in claim 8, wherein, the described network equipment has to queue up to be no more than the Input queue switch of the output of threshold quantity.
15. network equipments as claimed in claim 8, wherein, at least one input port in the described multiple input port of described feedback instruction abandons follow-up grouping.
16. 1 kinds of non-transitory computer-readable medium comprising instruction, are configured to when executed:
Calculate the queue length value of the total of output port, this value is the summation of multiple VOQ length value, and wherein each described VOQ length value is associated with the input port of in multiple input port;
Calculate the difference between the queue length value of described total and predetermined queue length value; And
Generating messages is carried out based on the described difference between the queue length value of described total and described predetermined queue length value.
17. non-transitory computer-readable medium as claimed in claim 16, wherein, when the described difference between the queue length value and described predetermined queue length value of described total exceedes high threshold value, described message comprises grouping and abandons order.
18. non-transitory computer-readable medium as claimed in claim 16, wherein, when the described difference between the queue length value and described predetermined queue length value of described total exceedes low threshold value, described message comprises occlusion alarm.
19. non-transitory computer-readable medium as claimed in claim 16, wherein, when described difference between the queue length value and described predetermined queue length value of described total exceedes high threshold value, described message comprises grouping and abandons order, and when the described difference between the queue length value and described predetermined queue length value of described total exceedes low threshold value, described message comprises occlusion alarm, and wherein said high threshold value is greater than described low threshold value.
20. 1 kinds of methods, comprising:
Receive at VOQ place and multiplely import grouping into, each VOQ in wherein said VOQ is associated with specific output port;
To import in grouping described in being applied to by timestamp each imports grouping into;
Relatively timestamp, to identify the oldest timestamp between the described VOQ for described specific output port;
A VOQ in described VOQ is selected based on the oldest described timestamp; And
Data are forwarded to described specific output port from selected VOQ.
CN201380063683.9A 2012-12-07 2013-11-15 The output queue of equipment based on input rank postpones behavior Expired - Fee Related CN104854831B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/708,640 US10122645B2 (en) 2012-12-07 2012-12-07 Output queue latency behavior for input queue based device
US13/708,640 2012-12-07
PCT/US2013/070235 WO2014088780A1 (en) 2012-12-07 2013-11-15 Output queue latency behavior for input queue based device

Publications (2)

Publication Number Publication Date
CN104854831A true CN104854831A (en) 2015-08-19
CN104854831B CN104854831B (en) 2019-01-01

Family

ID=49681190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380063683.9A Expired - Fee Related CN104854831B (en) 2012-12-07 2013-11-15 The output queue of equipment based on input rank postpones behavior

Country Status (4)

Country Link
US (1) US10122645B2 (en)
EP (1) EP2929660B1 (en)
CN (1) CN104854831B (en)
WO (1) WO2014088780A1 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105847181A (en) * 2016-03-10 2016-08-10 浙江大学 Prediction method applied to input queue switch distributed scheduling algorithm
CN106533962A (en) * 2017-01-10 2017-03-22 盛科网络(苏州)有限公司 Internal flow control method of distributed switch system
CN107241442A (en) * 2017-07-28 2017-10-10 中南大学 A kind of key assignments data storage storehouse copy selection method based on prediction
CN107818056A (en) * 2016-09-14 2018-03-20 杭州华为数字技术有限公司 A kind of queue management method and device
CN108768781A (en) * 2018-06-06 2018-11-06 清华大学 Avoid deadlock without losing flow control methods and device
CN108881065A (en) * 2017-05-08 2018-11-23 英特尔公司 Rate limit based on stream
CN109104382A (en) * 2017-06-20 2018-12-28 华为技术有限公司 A kind of dynamic dispatching method, apparatus and system
CN109450803A (en) * 2018-09-11 2019-03-08 广东神马搜索科技有限公司 Traffic scheduling method, device and system
CN109660463A (en) * 2017-10-11 2019-04-19 华为技术有限公司 A kind of congestion stream recognition method and the network equipment
CN110912770A (en) * 2019-11-13 2020-03-24 中国联合网络通信集团有限公司 Method and device for calculating interface congestion time delay
CN111984387A (en) * 2020-08-26 2020-11-24 上海兆芯集成电路有限公司 Method and processor for scheduling instructions in issue queue
CN114945006A (en) * 2021-02-16 2022-08-26 瞻博网络公司 Determining rate differential weighted fair output queue scheduling for a network device

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9253096B2 (en) 2013-03-15 2016-02-02 International Business Machines Corporation Bypassing congestion points in a converged enhanced ethernet fabric
US9954781B2 (en) 2013-03-15 2018-04-24 International Business Machines Corporation Adaptive setting of the quantized congestion notification equilibrium setpoint in converged enhanced Ethernet networks
US9401857B2 (en) 2013-03-15 2016-07-26 International Business Machines Corporation Coherent load monitoring of physical and virtual networks with synchronous status acquisition
US9219689B2 (en) 2013-03-15 2015-12-22 International Business Machines Corporation Source-driven switch probing with feedback request
US9986899B2 (en) 2013-03-28 2018-06-05 Endochoice, Inc. Manifold for a multiple viewing elements endoscope
US9853714B2 (en) 2013-10-11 2017-12-26 Ge Aviation Systems Llc Data communications network for an aircraft
US9749256B2 (en) * 2013-10-11 2017-08-29 Ge Aviation Systems Llc Data communications network for an aircraft
JP2015216618A (en) * 2014-04-25 2015-12-03 富士通株式会社 Band control device and band control method
US9549016B2 (en) 2014-08-18 2017-01-17 Cisco Technology, Inc. Congestion control for media flows
US10270713B2 (en) * 2014-12-16 2019-04-23 Oracle International Corporation Scheduling packets with multiple destinations in a virtual output queue network switch
US9813362B2 (en) * 2014-12-16 2017-11-07 Oracle International Corporation Framework for scheduling packets with multiple destinations in a virtual output queue network switch
US9825734B2 (en) * 2014-12-17 2017-11-21 Cisco Technology, Inc. VoIP system
CN108259355B (en) * 2014-12-30 2022-03-11 华为技术有限公司 Message forwarding method and device
US9813351B2 (en) * 2015-10-06 2017-11-07 Huawei Technologies Co., Ltd. Method and apparatus for adaptive packet aggregation
US20180284758A1 (en) 2016-05-09 2018-10-04 StrongForce IoT Portfolio 2016, LLC Methods and systems for industrial internet of things data collection for equipment analysis in an upstream oil and gas environment
CN114625076A (en) 2016-05-09 2022-06-14 强力物联网投资组合2016有限公司 Method and system for industrial internet of things
US10983507B2 (en) 2016-05-09 2021-04-20 Strong Force Iot Portfolio 2016, Llc Method for data collection and frequency analysis with self-organization functionality
WO2019028269A2 (en) 2017-08-02 2019-02-07 Strong Force Iot Portfolio 2016, Llc Methods and systems for detection in an industrial internet of things data collection environment with large data sets
US11327475B2 (en) 2016-05-09 2022-05-10 Strong Force Iot Portfolio 2016, Llc Methods and systems for intelligent collection and analysis of vehicle data
US11774944B2 (en) 2016-05-09 2023-10-03 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US11237546B2 (en) 2016-06-15 2022-02-01 Strong Force loT Portfolio 2016, LLC Method and system of modifying a data collection trajectory for vehicles
CN106211234B (en) * 2016-07-12 2019-08-27 北京汇通金财信息科技有限公司 The dispatching method and LTE system dynamic resource scheduling device of LTE system private network
US10572623B2 (en) * 2016-10-25 2020-02-25 Mentor Graphics Corporation Back-pressure in virtual machine interface
US10536385B2 (en) * 2017-04-14 2020-01-14 Hewlett Packard Enterprise Development Lp Output rates for virtual output queses
US10721187B1 (en) * 2017-05-18 2020-07-21 Juniper Networks, Inc. Emulating output queued behavior in a virtual output queue switch
CN107329814B (en) * 2017-06-16 2020-05-26 电子科技大学 RDMA (remote direct memory Access) -based distributed memory database query engine system
US11442445B2 (en) 2017-08-02 2022-09-13 Strong Force Iot Portfolio 2016, Llc Data collection systems and methods with alternate routing of input channels
CN109561021B (en) * 2017-09-25 2021-08-20 华为技术有限公司 Message forwarding method and network equipment
AU2018408878B2 (en) * 2018-02-19 2022-12-08 Dubai Electricity & Water Authority Soiling detection apparatus and method
US11477120B2 (en) * 2019-03-25 2022-10-18 Fungible, Inc. Congestion control in an on-chip network
US20220353001A1 (en) * 2019-07-25 2022-11-03 Maxlinear, Inc. Multiple ports with different baud rate over a single serdes
US11055156B2 (en) * 2019-08-20 2021-07-06 International Business Machines Corporation Processing of a message stream
US20210058334A1 (en) * 2019-08-21 2021-02-25 Intel Corporation Timestamp-based fairness egress from ingress queues
US11206568B2 (en) * 2019-09-19 2021-12-21 Realtek Semiconductor Corporation Router and routing method
US11683276B2 (en) 2021-05-20 2023-06-20 Cisco Technology, Inc. Quasi-output queue behavior of a packet switching device achieved using virtual output queue ordering independently determined for each output queue
CN116662016B (en) * 2023-07-25 2023-10-20 太平金融科技服务(上海)有限公司 Port switching method, device, computer equipment, storage medium and program product

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010050916A1 (en) * 1998-02-10 2001-12-13 Pattabhiraman Krishna Method and apparatus for providing work-conserving properties in a non-blocking switch with limited speedup independent of switch size
US20020118689A1 (en) * 2000-09-27 2002-08-29 Luijten Ronald P. Switching arrangement and method with separated output buffers
US20020122421A1 (en) * 2000-12-01 2002-09-05 Thales Method for the sizing of a deterministic type packet-switching transmission network
US20030058802A1 (en) * 2001-09-24 2003-03-27 Internet Machines Corporation Adaptive rate controlled router system and method
US20040042397A1 (en) * 2002-09-02 2004-03-04 Motorola, Inc. Method for active queue management with asymmetric congestion control
CN101001210A (en) * 2006-12-21 2007-07-18 华为技术有限公司 Implementing device, method and network equipment and chip of output queue
US20070237074A1 (en) * 2006-04-06 2007-10-11 Curry David S Configuration of congestion thresholds for a network traffic management system
CN102739516A (en) * 2011-03-28 2012-10-17 霍尼韦尔国际公司 Centralized traffic shaping for data networks

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2540930B2 (en) 1988-02-19 1996-10-09 日本電気株式会社 Congestion control device
US5163046A (en) 1989-11-30 1992-11-10 At&T Bell Laboratories Dynamic window sizing in a data network
JP2639335B2 (en) 1993-12-22 1997-08-13 日本電気株式会社 Congestion control method in ATM network
US5592627A (en) 1994-10-11 1997-01-07 Emprise Technologies, L.P. Pipelined, sliding-window, flow control for end-to-end communication sessions
FI98023C (en) 1995-05-09 1997-03-25 Nokia Telecommunications Oy Sliding window-based data flow control using an adjustable window size
US6151300A (en) 1996-05-10 2000-11-21 Fujitsu Network Communications, Inc. Method and apparatus for enabling flow control over multiple networks having disparate flow control capability
US6256675B1 (en) 1997-05-06 2001-07-03 At&T Corp. System and method for allocating requests for objects and managing replicas of objects on a network
US6105064A (en) 1997-05-30 2000-08-15 Novell, Inc. System for placing packets on network for transmission from sending endnode to receiving endnode at times which are determined by window size and metering interval
US6249530B1 (en) 1997-12-22 2001-06-19 Sun Microsystems, Inc. Network bandwidth control
JP3602972B2 (en) 1998-07-28 2004-12-15 富士通株式会社 Communication performance measuring device and its measuring method
US6504842B1 (en) 1998-07-30 2003-01-07 Alcatel Internetworking, Inc. Hardware copy assist for data communication switch
US6430153B1 (en) 1998-09-04 2002-08-06 Cisco Technology, Inc. Trunk delay simulator
CA2249152C (en) 1998-09-30 2003-07-08 Northern Telecom Limited Apparatus for and method of managing bandwidth for a packet-based connection
US6603772B1 (en) 1999-03-31 2003-08-05 Cisco Technology, Inc. Multicast routing with multicast virtual output queues and shortest queue first allocation
US6775280B1 (en) 1999-04-29 2004-08-10 Cisco Technology, Inc. Methods and apparatus for routing packets using policy and network efficiency information
US7010611B1 (en) 1999-12-21 2006-03-07 Converged Access, Inc. Bandwidth management system with multiple processing engines
CA2292828A1 (en) 1999-12-22 2001-06-22 Nortel Networks Corporation Method and apparatus for traffic flow control in data switches
US6654363B1 (en) 1999-12-28 2003-11-25 Nortel Networks Limited IP QOS adaptation and management system and method
JP2001237882A (en) 2000-02-23 2001-08-31 Nec Corp Packet size controller in packet data transfer and its control method
EP1133110B1 (en) 2000-03-06 2006-06-21 International Business Machines Corporation Switching device and method
CA2337674A1 (en) * 2000-04-20 2001-10-20 International Business Machines Corporation Switching arrangement and method
US6751219B1 (en) 2000-04-20 2004-06-15 Aztech Partners, Inc. Multicast packet duplication at random node or at egress port with frame synchronization
US6717945B1 (en) 2000-06-19 2004-04-06 Northrop Grumman Corporation Queue size arbitration method and apparatus to enhance performance of crossbar cell switch
US7023841B2 (en) 2000-12-15 2006-04-04 Agere Systems Inc. Three-stage switch fabric with buffered crossbar devices
US7002980B1 (en) 2000-12-19 2006-02-21 Chiaro Networks, Ltd. System and method for router queue and congestion management
US7065046B2 (en) 2001-04-06 2006-06-20 Lucent Technologies Inc. Scalable weight-based terabit switch scheduling method
US6999453B1 (en) 2001-07-09 2006-02-14 3Com Corporation Distributed switch fabric arbitration
US7274659B2 (en) 2001-07-27 2007-09-25 Western Digital Ventures, Inc. Providing streaming media data
US7151744B2 (en) 2001-09-21 2006-12-19 Slt Logic Llc Multi-service queuing method and apparatus that provides exhaustive arbitration, load balancing, and support for rapid port failover
US7085846B2 (en) 2001-12-31 2006-08-01 Maxxan Systems, Incorporated Buffer to buffer credit flow control for computer network
US7245626B1 (en) 2002-01-17 2007-07-17 Juniper Networks, Inc. Systems and methods for permitting queues to oversubscribe
US7142555B2 (en) 2002-03-22 2006-11-28 Mindspeed Technologies, Inc. Method and apparatus for switching data using parallel switching elements
US7292529B1 (en) 2002-07-31 2007-11-06 Juniper Networks, Inc. Memory load balancing for single stream multicast
US7301943B2 (en) 2002-07-31 2007-11-27 Industrial Technology Research Institute QoS-oriented burstification method supporting various grades of burstification delay guarantee
WO2004023718A2 (en) 2002-09-03 2004-03-18 4198638 Canada Inc. Systems and methods for packet flow regulation and transmission integrity verification of a switching entity
AU2003269762A1 (en) 2002-10-21 2004-05-04 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement in a packet switch for congestion avoidance using a common queue and several switch states
US7630305B2 (en) 2003-07-29 2009-12-08 Orbital Data Corporation TCP selective acknowledgements for communicating delivered and missed data packets
KR100460958B1 (en) 2002-12-04 2004-12-09 삼성전자주식회사 Communication system capable of improving data transmission efficiency of TCP in the asymmetric network environment and a method thereof
US7583594B2 (en) 2003-01-31 2009-09-01 Texas Instruments Incorporated Adaptive transmit window control mechanism for packet transport in a universal port or multi-channel environment
US7430167B2 (en) 2003-09-18 2008-09-30 International Business Machines Corporation Method and system to enable an adaptive load balancing in a parallel packet switch
EP1738545A4 (en) 2004-04-20 2012-04-04 Nortel Networks Ltd Method and system for quality of service support for ethernet multiservice interworking over multiprotocol label switching
US7656800B2 (en) 2004-07-30 2010-02-02 Cisco Technology, Inc. Transmission control protocol (TCP)
US7706261B2 (en) 2004-08-27 2010-04-27 Jinshen Sun Queue-based active queue management process
US7519054B2 (en) 2005-01-27 2009-04-14 Intel Corporation Replication of multicast data packets in a multi-stage switching system
JP4147534B2 (en) 2005-02-03 2008-09-10 日本電気株式会社 Communication apparatus and communication method
US7701853B2 (en) 2005-09-30 2010-04-20 Alcatel-Lucent Usa Inc. Method for policing-based adjustments to transmission window size
US8150995B2 (en) 2005-09-30 2012-04-03 Microsoft Corporation Receive window auto-tuning
US9344533B2 (en) 2012-10-23 2016-05-17 Microsoft Technology Licensing, Llc Receive window auto-tuning
WO2007036046A1 (en) 2005-09-30 2007-04-05 Research In Motion Limited Methods and apparatus for dynamically adjusting a data packet window size for data packet transmission in a wireless communication network
US7760633B2 (en) 2005-11-30 2010-07-20 Cisco Technology, Inc. Transmission control protocol (TCP) congestion control using transmission delay components
US7809009B2 (en) 2006-02-21 2010-10-05 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
US7643418B1 (en) 2006-03-24 2010-01-05 Packeteer, Inc. Aggregate rate control using PID
US7733781B2 (en) 2006-04-24 2010-06-08 Broadcom Corporation Distributed congestion avoidance in a network switching system
US7675857B1 (en) 2006-05-03 2010-03-09 Google Inc. Method and apparatus to avoid network congestion
US9189303B2 (en) 2006-08-10 2015-11-17 International Business Machines Corporation Shadow queues for recovery of messages
US8189476B1 (en) 2007-08-20 2012-05-29 F5 Networks, Inc. Dynamic trunk distribution on egress
US8719398B2 (en) 2008-02-29 2014-05-06 Microsoft Corporation Network performance monitor
US7787379B2 (en) 2008-06-03 2010-08-31 Cisco Technology, Inc. Integrated flow control
US9270595B2 (en) 2008-10-10 2016-02-23 Hewlett Packard Enterprise Development Lp Method and system for controlling a delay of packet processing using loop paths
US20120327779A1 (en) 2009-06-12 2012-12-27 Cygnus Broadband, Inc. Systems and methods for congestion detection for use in prioritizing and scheduling packets in a communication network
KR101247595B1 (en) * 2009-06-12 2013-03-26 시그너스 브로드밴드, 인코포레이티드 Systems and methods for intelligent discard in a communication network
US8340099B2 (en) 2009-07-15 2012-12-25 Microsoft Corporation Control of background data transfers
JP5365415B2 (en) 2009-08-25 2013-12-11 富士通株式会社 Packet relay apparatus and congestion control method
US8767752B1 (en) 2010-05-03 2014-07-01 Pluribus Networks, Inc. Method and system for resource coherency and analysis in a network
IT1400169B1 (en) 2010-05-24 2013-05-17 Selex Communications Spa PROCEDURE AND BAND CONTROL SYSTEM FOR COMPLIANCE WITH A PREDETERMINED QUALITY OF SERVICE AT A POINT OF ACCESS TO A NETWORK OF COMMUNICATIONS OPERATING AN AGGREGATION OF HETEROGENEOUS TRAFFIC FLOWS.
US8873385B2 (en) 2010-12-07 2014-10-28 Microsoft Corporation Incast congestion control in a network
US8787378B2 (en) 2010-12-28 2014-07-22 The Chinese University Of Hong Kong Systems and methods to improve performance of TCP over large bandwidth-delay-product networks
US9380005B2 (en) 2011-11-03 2016-06-28 Cisco Technology, Inc. Reliable transportation of a stream of packets using packet replication
US10292066B2 (en) 2011-11-04 2019-05-14 Cisco Technology, Inc. System and method of modifying congestion control based on mobile system information
US8797877B1 (en) * 2012-08-09 2014-08-05 Juniper Networks, Inc. Virtual output queue allocation using dynamic drain bandwidth
US9253121B2 (en) 2012-12-31 2016-02-02 Broadcom Corporation Universal network interface controller

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010050916A1 (en) * 1998-02-10 2001-12-13 Pattabhiraman Krishna Method and apparatus for providing work-conserving properties in a non-blocking switch with limited speedup independent of switch size
US20020118689A1 (en) * 2000-09-27 2002-08-29 Luijten Ronald P. Switching arrangement and method with separated output buffers
US20020122421A1 (en) * 2000-12-01 2002-09-05 Thales Method for the sizing of a deterministic type packet-switching transmission network
US20030058802A1 (en) * 2001-09-24 2003-03-27 Internet Machines Corporation Adaptive rate controlled router system and method
US20040042397A1 (en) * 2002-09-02 2004-03-04 Motorola, Inc. Method for active queue management with asymmetric congestion control
US20070237074A1 (en) * 2006-04-06 2007-10-11 Curry David S Configuration of congestion thresholds for a network traffic management system
CN101001210A (en) * 2006-12-21 2007-07-18 华为技术有限公司 Implementing device, method and network equipment and chip of output queue
CN102739516A (en) * 2011-03-28 2012-10-17 霍尼韦尔国际公司 Centralized traffic shaping for data networks

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105847181A (en) * 2016-03-10 2016-08-10 浙江大学 Prediction method applied to input queue switch distributed scheduling algorithm
CN105847181B (en) * 2016-03-10 2019-04-30 浙江大学 A kind of prediction technique applied to Input queue switch distributed scheduling algorithm
CN107818056A (en) * 2016-09-14 2018-03-20 杭州华为数字技术有限公司 A kind of queue management method and device
CN106533962A (en) * 2017-01-10 2017-03-22 盛科网络(苏州)有限公司 Internal flow control method of distributed switch system
CN106533962B (en) * 2017-01-10 2019-09-13 盛科网络(苏州)有限公司 Distribution switch internal system flow control methods
CN108881065A (en) * 2017-05-08 2018-11-23 英特尔公司 Rate limit based on stream
US11121979B2 (en) 2017-06-20 2021-09-14 Huawei Technologies Co., Ltd. Dynamic scheduling method, apparatus, and system
CN109104382B (en) * 2017-06-20 2022-05-24 华为技术有限公司 Dynamic scheduling method, device and system
CN109104382A (en) * 2017-06-20 2018-12-28 华为技术有限公司 A kind of dynamic dispatching method, apparatus and system
CN107241442A (en) * 2017-07-28 2017-10-10 中南大学 A kind of key assignments data storage storehouse copy selection method based on prediction
CN107241442B (en) * 2017-07-28 2018-02-09 中南大学 A kind of key assignments data storage storehouse copy selection method based on prediction
CN109660463A (en) * 2017-10-11 2019-04-19 华为技术有限公司 A kind of congestion stream recognition method and the network equipment
US11146489B2 (en) 2017-10-11 2021-10-12 Huawei Technologies Co., Ltd. Congestion flow identification method and network device
CN108768781A (en) * 2018-06-06 2018-11-06 清华大学 Avoid deadlock without losing flow control methods and device
CN109450803A (en) * 2018-09-11 2019-03-08 广东神马搜索科技有限公司 Traffic scheduling method, device and system
CN109450803B (en) * 2018-09-11 2022-05-31 阿里巴巴(中国)有限公司 Traffic scheduling method, device and system
CN110912770B (en) * 2019-11-13 2021-06-18 中国联合网络通信集团有限公司 Method and device for calculating interface congestion time delay
CN110912770A (en) * 2019-11-13 2020-03-24 中国联合网络通信集团有限公司 Method and device for calculating interface congestion time delay
CN111984387A (en) * 2020-08-26 2020-11-24 上海兆芯集成电路有限公司 Method and processor for scheduling instructions in issue queue
CN114945006A (en) * 2021-02-16 2022-08-26 瞻博网络公司 Determining rate differential weighted fair output queue scheduling for a network device
US11902827B2 (en) 2021-02-16 2024-02-13 Juniper Networks, Inc. Determining rate differential weighted fair output queue scheduling for a network device
CN114945006B (en) * 2021-02-16 2024-04-12 瞻博网络公司 Determining rate differential weighted fair output queue scheduling for network devices

Also Published As

Publication number Publication date
EP2929660B1 (en) 2018-04-25
WO2014088780A1 (en) 2014-06-12
EP2929660A1 (en) 2015-10-14
CN104854831B (en) 2019-01-01
US20140161135A1 (en) 2014-06-12
US10122645B2 (en) 2018-11-06

Similar Documents

Publication Publication Date Title
CN104854831A (en) Output queue latency behavior for input queue based device
US9325637B2 (en) System for performing distributed data cut-through
EP1329058B1 (en) Allocating priority levels in a data flow
CN111201757A (en) Network access node virtual structure dynamically configured on underlying network
US7835279B1 (en) Method and apparatus for shared shaping
US20050135356A1 (en) Switching device utilizing requests indicating cumulative amount of data
KR20060023579A (en) Method and system for open-loop congestion control in a system fabric
CN103957156A (en) Method of data delivery across a network
US8867560B2 (en) Managing crossbar oversubscription
CN104813620A (en) Fabric load balancing
US10728156B2 (en) Scalable, low latency, deep buffered switch architecture
CN101573895A (en) Congestion avoidance for link capacity adjustment scheme (LCAS)
US7554919B1 (en) Systems and methods for improving packet scheduling accuracy
US7990873B2 (en) Traffic shaping via internal loopback
US20210029060A1 (en) Data Communication Method And Apparatus
PT1336279E (en) Information flow control in a packet network based on variable conceptual packet lengths
US7072352B2 (en) Inverse multiplexing of unmanaged traffic flows over a multi-star network
Bharti et al. Dynamic distributed flow scheduling for effective link utilization in data center networks
Hu et al. An efficient single-iteration single-bit request scheduling algorithm for input-queued switches
Philp et al. Scheduling and buffer management for soft-real-time VBR traffic in packet-switched networks
Geyer et al. Practical performance evaluation of ethernet networks with flow-level network modeling
Cobb et al. End-to-end delay guarantees for multiple-channel schedulers
Huang et al. A deterministic bound for the access delay of resilient packet rings
Duan Resource allocation in buffered crossbar switches for supporting network virtualization
Rottenstreich et al. Redefining Switch Reordering

Legal Events

Date Code Title Description
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190101

Termination date: 20201115