Abstract:
In one embodiment, a method includes measuring a rate of traffic received at a leaf node, marking a plurality of packets in the flow as protected at the leaf node to match the rate of traffic with a configured rate of traffic for the flow at the leaf node, and dropping a plurality of non-protected packets at the leaf node when a queue at the leaf node is congested. A minimum bandwidth is provided for the flow based on the configured rate of traffic at the leaf node. The leaf node comprises an ingress node or an egress node connected to a fabric. An apparatus is also disclosed herein.
Abstract:
A method for allocating port assignments for transmitting a reserved network stream across a network node comprises determining a cycle time associated with a network node. The method also comprises establishing, for at least one port of the network node, a plurality of virtual layers associated with the cycle time, wherein each of the plurality of virtual layers is divided into 2n equally-spaced slots per cycle (where n>0). The method further comprises receiving a reserved stream request associated with transmission of a reserved stream across the node, and determining a number of slots required to transmit the reserved stream. The method also comprises assigning one or more slots associated with a port of the network node to the transmission of packets associated with the reserved stream based on the determined number of slots. The method further comprises transmitting the stream according to the slot assignment associated with the port of the network node.
Abstract:
In one embodiment, a method includes estimating a current queuing latency, the estimated current queuing latency being associated with a queue of packets maintained in a buffer. The method also includes calculating a current drop or mark probability, the current drop or mark probability being associated with a probability that packets associated with the queue of packets will be dropped or marked. A rate at which the packets associated with the queue of packets are dequeued from the buffer is estimated in order to estimate the current queuing latency. The current drop or mark probability is calculated using the current estimated queuing latency.
Abstract:
A method is provided in one example embodiment and includes generating a transmission control protocol (TCP) flow; marking a plurality of packets of the TCP flow with one of two differentiated services code points (DSCPs) according to a proportion that is selected to control a throughput associated with the TCP flow; and communicating at least a portion of the plurality of packets to a network.
Abstract:
In one embodiment, an HTTP streaming session may be initiated at a client device in a network. The client device may have a buffer and may be configured to request and receive one or more data segments over HTTP from an HTTP server. A first data segment at a first data source rate may be requested and subsequently received. The first data segment may be stored in the buffer. A second data source rate may then be calculated based on a storage level in the buffer, and a second data segment at the second data source rate may be requested.
Abstract:
A network device, including ports that receive/send data packets from/to a network, receives data packets of multiple traffic flows, and populates a queue in memory with the data packets. The network device periodically updates a fair rate for the multiple traffic flows to converge a length of the queue to a reference length. Specifically, the network device determines a length of the queue, a change in the length from a previous length, and a deviation of the length from the reference length. The network device detects an increase in the change in length above a threshold that is based on the reference length. If the increase is not above the threshold, the network device derives the fair rate from a previous fair rate using proportional integral control. The network device identifies elephant flows among the multiple traffic flows, and sends the fair rate to a source of each elephant flow.
Abstract:
A network device is configured to transmit acknowledgement packets according to the length of the egress queue. The network device receives data packets from one or more endpoints and buffers the data packets in an egress buffer before transmitting the data packets. The network device also receives acknowledgement packets that are sent in response to data packets previously transmitted by the network device. The network device buffers the acknowledgement packets in an acknowledgement buffer. The network device transmits the acknowledgement packets at an acknowledgment rate that is based on a queue length of the egress buffer.
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.
Abstract:
A method for allocating port assignments for transmitting a reserved network stream across a network node comprises determining a cycle time associated with a network node. The method also comprises establishing, for at least one port of the network node, a plurality of virtual layers associated with the cycle time, wherein each of the plurality of virtual layers is divided into 2n equally-spaced slots per cycle (where n>0). The method further comprises receiving a reserved stream request associated with transmission of a reserved stream across the node, and determining a number of slots required to transmit the reserved stream. The method also comprises assigning one or more slots associated with a port of the network node to the transmission of packets associated with the reserved stream based on the determined number of slots. The method further comprises transmitting the stream according to the slot assignment associated with the port of the network node.
Abstract:
An apparatus can include a session rate limit calculator and a rate limiter. The session rate limit calculator can be configured to compute a session rate limit for a given session of a plurality of active streaming media sessions based on state information for the given session and state information for a downstream bottleneck link to which the apparatus feeds the plurality of active streaming media sessions. The rate limiter can be configured to control downstream traffic for the given session based on the computed session rate limit and to provide corresponding rate-limited downstream traffic for the given session.