| Patent application number | Description | Published |
| 20080229056 | METHOD AND APPARATUS FOR DUAL-HASHING TABLES - Methods and apparatus for dual hash tables are disclosed. An example method includes logically dividing a hash table data structure into a first hash table and a second hash table, where the first hash table and the second hash table are substantially logically equivalent. The example method further includes receiving a key and a corresponding data value, applying a first hash function to the key to produce a first index to a first bucket in the first hash table, and applying a second hash function to the key to produce a second index to a second bucket in the second hash table. In the example method the key and the data value are inserted in one of the first hash table and the second hash table based on the first index and the second index. | 09-18-2008 |
| 20080298397 | COMMUNICATION FABRIC BANDWIDTH MANAGEMENT - Methods and apparatus for communication fabric bandwidth management are disclosed. An example method includes receiving data at a first network entity, where the data being received from a second network entity. The example method further includes, at the first network entity, queuing the received data in a data queue associated with the second network entity. The example method still further includes determining that an amount of queued data in the data queue associated with the second network entity exceeds a first threshold. In response to the first threshold being exceeded, a first control message is communicated from the first network entity to the second network entity. In the example method, in response to the first control message, a data rate at which the second network entity sends data to the first network entity is reduced. | 12-04-2008 |
| 20090003209 | FLOW REGULATION SWITCH - A network switch includes a plurality of egress ports configured to send packets of data traffic to at least one receiving network device and a plurality of ingress ports configured to receive the packets of data traffic from at least one sending network device. The switch further includes a switch logic engine configured to define multiple flows of data through the switch from a sending network device to a receiving network device and to route the flows from the ingress port to the egress port, a flow monitor configured to measure at least one flow attribute of the flows, and a flow regulation engine configured to regulate a flow rate of flows sent by a sending network device based at least in part on a measurement by the flow monitor of the at least one flow attribute of the packets. | 01-01-2009 |
| 20090003212 | DATA SWITCHING FLOW CONTROL WITH VIRTUAL OUTPUT QUEUING - Methods and apparatus for data switching are disclosed. An example method includes receiving a data traffic flow at a data ingress module and buffering the data traffic flow in a virtual output queue included in the data ingress module, where the virtual output queue being associated with a data egress module. The example method also includes communicating the data traffic flow to the data egress module via a fabric egress queue included in a data-switch fabric. The example method further includes monitoring data occupancy in the fabric egress queue and determining, based on the data occupancy, that a change in congestion state in the fabric egress queue has occurred. The example method still further includes, in response to the change in congestion state, communicating a flow control message to the data ingress module and, in response to the flow control message, modifying communication of the data traffic flow. | 01-01-2009 |
| 20090086634 | METHOD AND SYSTEM FOR PACKET RATE SHAPING - Aspects of a method and system for packet rate shaping may include an MMU that enables classification of one or more packets based on a CoS and/or an egress port, and transmission of the packets in accordance with a specified packet rate based on the classification. | 04-02-2009 |
| 20090122698 | VIRTUAL QUEUE - An apparatus comprising a virtual queue configured to virtually receive virtual data units as the data units are actually received by a real queue. In various embodiments, the virtual queue may include a committed token counter (CTC) configured to represent a number of bytes available to be allocated to a committed burst having a maximum size. In such an embodiment, the virtual queue may include an excess token counter (ETC) configured to represent a number of bytes available to be allocated to an excess burst having a maximum size. In one embodiment, a token counter incrementer configured to, as an exiting data unit virtually exits the virtual queue, increment either the committed token counter or the excess token counter. In various embodiments, the virtual queue may include a token counter decrementor configured to, as an entering data unit virtually enters the virtual queue, attempt to allocate the entering data unit to either the committed burst or the excess burst and decrement either the committed token counter or the excess token counter respectively. In some embodiments, the virtual queue may include a congestion indicator configured to categorize the entering data unit. In various embodiments, the virtual queue may be configured to provide congestion feedback information based, at least in part, upon the state of the CTC & ETC. | 05-14-2009 |
| 20090154354 | PROXY REACTION ENGINE IN A CONGESTION MANAGEMENT SYSTEM - An apparatus comprising a managed network interface configured to receive data from, and transmit data to, a managed network, wherein the managed network comprises a plurality of managed devices configured to queue and transmit data; an unmanaged network interface configured to receive data from, and transmit data to, an unmanaged network, wherein the unmanaged network is configured to request the amelioration of network congestion experienced by the unmanaged network; and a congestion manager configured to receive a network congestion amelioration request from the unmanaged network, ameliorate network congestion by controlling the rate of information forwarded from the managed network to an unmanaged network, and dynamically alter the rate of information forwarded from the managed network to the unmanaged network. | 06-18-2009 |
| 20090201806 | ROUTING FAILOVER WITH ACCURATE MULTICAST DELIVERY - A node comprising: an ingress port configured to receive data; a plurality of egress ports configured to transmit data; a routing table configured to provide, at least part of, both a preferred routing path and a recovery routing path; a data tag engine configured to read a tag, associated with the data, that indicates the routing state of the data and, based at least in part upon the tag determine whether to use the preferred routing path or the recovery routing path for a selected path, and determine if the tag is to be modified to indicate a change in the routing status of the data; and a routing engine configured to utilize the selected path to determine the egress port from which to transmit the data. | 08-13-2009 |
| 20090207848 | FLEXIBLE BUFFER ALLOCATION ENTITIES FOR TRAFFIC AGGREGATE CONTAINMENT - An apparatus comprising a plurality of physical ingress ports configured to receive data, each data having a data type; a plurality of physical egress ports configured to transmit data; a memory configured to buffer data that has been received; a plurality of virtual routing devices, wherein each of the virtual routing devices is associated with a particular data type and each of the virtual routing devices is configured to: virtually buffer data associated with the respective data type, and regulate the quality of service provided to the respective data type; and a data manager configured to manage the receipt and transmission of data. | 08-20-2009 |
| 20100054126 | METER-BASED HIERARCHICAL BANDWIDTH SHARING - Example methods and apparatus for hierarchical bandwidth management are disclosed. An example method includes, receiving a data packet included in a first data traffic flow and determining if a first rate of traffic of the first data traffic flow is less than or equal to a first threshold. In the event the first rate of traffic is less than or equal to the first threshold, the example method includes marking the data packet with a first marker type. In the event the first rate of traffic is greater than the first threshold, the example method includes marking the data packet with a second marker type. The method further includes receiving a second data traffic flow having a second rate of traffic and combining the first data traffic flow and the second data traffic flow to produce a third data traffic flow. In the event the data packet is marked with the first marker type, the data packet is forwarded in the third data flow. The example method also includes determining whether a third rate of traffic of the third data traffic flow is less than or equal to a second threshold. In the event the data packet is marked with the second marker type and the third rate of traffic is less than or equal to the second threshold, the example method includes changing the second marker type to the first marker type and forwarding the data packet in the third data flow. The example method still further includes, in the event the data packet is marked with the second marker type and the third rate of traffic is greater than the second threshold, discarding the data packet. | 03-04-2010 |
| 20100054127 | AGGREGATE CONGESTION DETECTION AND MANAGEMENT - Example embodiments of methods and apparatus for aggregate congestion detection and management are disclosed. An example method includes, receiving a data packet, where the data packet being associated with a respective destination data queue. The example method also includes determining an average queue utilization for the destination queue and determining a first aggregate utilization for a first set of data queues, the first set of data queues including the destination queue. The example method further includes determining, based on the average queue utilization and the first aggregate utilization, one or more probabilities associated with the data packet. The example method still further includes, in accordance with the one or more probabilities, randomly marking the packet to indicate a congestion state or randomly determining whether to drop the data packet. The example method also includes, dropping the packet if a determination to drop the packet is made. | 03-04-2010 |
| 20100097934 | NETWORK SWITCH FABRIC DISPERSION - Methods and apparatus for communicating data traffic using switch fabric dispersion are disclosed. An example apparatus includes a first tier of switch elements; and a second tier of switch elements operationally coupled with the first tier of switch elements. In the example apparatus, the first tier of switch elements is configured to receive a data packet from a source. The first tier of switch elements is also configured to route the data packet to the second tier of switch elements in accordance with a dispersion function, where the dispersion function is based on a dispersion tag associated with the data packet. The first tier of switch elements is still further configured to transmit the data packet to a destination for the data packet after receiving it from the second tier of switch elements. In the example apparatus the second tier of switch elements is configured to receive the data packet from the first tier of switch elements and route the data packet, based on a destination address of the data packet, back to the first tier of switch elements for transmission to the destination. | 04-22-2010 |
| 20100271946 | METER-BASED HIERARCHICAL BANDWIDTH SHARING - Example methods and apparatus for hierarchical bandwidth management are disclosed. An example method includes, using dual-token bucket meters (two-rate three-color meters) to meter bandwidth usage by individual microflows and associated macroflows (combinations of microflows). The dual-token bucket meters are used to locally and finally mark the packets using a three-color marking approach. In the example method, forwarding and discard decisions for packets processed using such techniques are made based on the final marking. | 10-28-2010 |
| 20100318821 | SCALABLE, DYNAMIC POWER MANAGEMENT SCHEME FOR SWITCHING ARCHITECTURES UTILIZING MULTIPLE BANKS - According to one general aspect, a method may include receiving data from a network device. In some embodiments, the method may include writing the data to a memory bank that is part of a plurality of at least single-ported memory banks that have been grouped to act as a single at least dual-ported aggregated memory element. In various embodiments, the method may include monitoring the usage of the plurality of memory banks. In one embodiment, the method may include, based upon a predefined set of criteria, placing a memory bank that meets the predefined criteria in a low-power mode. | 12-16-2010 |
| 20110002222 | METER-BASED HIERARCHICAL BANDWIDTH SHARING - Example methods and apparatus for hierarchical bandwidth management are disclosed. An example method includes, receiving a data packet included in a first data traffic flow having a first rate of traffic. The example method further includes marking the data packet with a first marker type if the first rate of traffic is less than or equal to a first threshold, otherwise marking the data packet with a second marker type. The example method also includes combining the first data traffic flow with a second data traffic flow having a second rate of traffic to produce a third data traffic flow having a third rate of traffic. The example method still further includes, if the data packet is marked with the first marker type, forwarding the data packet in the third data flow. The example method yet further includes, if the data packet is marked with the second marker type and the third rate of traffic is less than or equal to a second threshold, forwarding the data packet in the third data flow, otherwise, discarding the packet. | 01-06-2011 |
| 20110029796 | System and Method for Adjusting an Energy Efficient Ethernet Control Policy Using Measured Power Savings - A system and method for adjusting an energy efficient Ethernet (EEE) control policy using measured power savings. An EEE-enabled device can be designed to report EEE event data. This reported EEE event data can be used to quantify the actual EEE benefits of the EEE-enabled device, debug the EEE-enabled device, and adjust the EEE control policy. | 02-03-2011 |
| 20110051602 | DYNAMIC LOAD BALANCING - Methods and apparatus for dynamic load balancing are disclosed. An example method includes receiving, at a network device, a data packet to be sent via an aggregation group, where the aggregation group comprising a plurality of aggregate members. The example method further includes determining, based on the data packet, a flow identifier of a flow to which the data packet belongs and determining a state of the flow. The example method also includes determining, based on the flow identifier and the state of the flow, an assigned member of the plurality of aggregate members for the flow and communicating the packet via the assigned member. | 03-03-2011 |
| 20110051603 | DYNAMIC LOAD BALANCING USING QUALITY/LOADING BANDS - Methods and apparatus for. An example method includes determining, by a network device, respective quality metrics for each of a plurality of members of an aggregation group of the network device, the respective quality metrics representing respective data traffic loading for each member of the aggregation group. The example method further includes grouping the plurality of aggregation members into a plurality of loading/quality bands based on their respective quality metrics. The example method also includes selecting members of the aggregation group for transmitting packets from a loading/quality band corresponding with members of the aggregation group having lower data traffic loading relative to the other members of the aggregation group. | 03-03-2011 |
| 20110051735 | DYNAMIC LOAD BALANCING USING VIRTUAL LINK CREDIT ACCOUNTING - Methods and apparatus for dynamic load balancing using virtual link credit accounting are disclosed. An example method includes receiving, at a network device, a data packet to be communicated using an aggregation group, the aggregation group including a plurality of virtual links having a common destination. The example method further includes determining a hash value based on the packet and determining an assigned virtual link of the plurality of virtual links based on the hash value. The example method also includes reducing a number of available transmission credits for the aggregation group and reducing a number of available transmission credits for the assigned virtual link. The example method still further includes communicating the packet to another network device using the assigned virtual link. | 03-03-2011 |
| 20110058477 | INTELLIGENT CONGESTION FEEDBACK APPARATUS AND METHOD - Apparatus and methods for intelligent congestion feedback are disclosed. An example apparatus includes a data interface configured to receive data packets from a source endpoint via an intermediate node. The data packets include a field indicating whether data congestion for data being sent to the destination endpoint is occurring. The example apparatus also includes a timer. The example apparatus further includes a feedback loop interface configured to selectively enable a feedback loop to the source endpoint and to transmit congestion notification (CN) messages to the source endpoint over the feedback loop. Upon receiving a data packet indicating that congestion has occurred due to the data packets from the source endpoint to the destination endpoint, the destination endpoint is configured to set the timer to a preset time value; start the timer reverse counting from the preset time value to zero, enable the feedback loop and transmit the CN messages. | 03-10-2011 |
| 20110063979 | NETWORK TRAFFIC MANAGEMENT - Various example embodiments are disclosed. According to an example embodiment, an apparatus may include a switch fabric. The switch fabric may be configured to assign packets to either a first flow set or a second flow set based on fields included in the packets. The switch fabric may also be configured to send a first packet from the first flow set to a first flow set destination via a first path. The switch fabric may also be configured to determine, based at least in part on delays of the first path and a second path, whether sending a second packet from the first flow set to the first flow set destination via a second path will result in the second packet reaching the first flow set destination after the first packet reaches the first flow set destination, the second packet having been received by the router after the first packet. The switch fabric may also be configured to send the second packet to the first flow set destination via the second path based at least in part on the determining that sending the second packet from the first flow set to the first flow set destination via a second path will result in the second packet reaching the first flow set destination after the first packet reaches the first flow set destination. | 03-17-2011 |
| 20110080919 | LOW-POWER POLICY FOR PORT - Various example embodiments are disclosed. According to an example embodiment, a method may include determining, by a port processor, a buffer length based on an amount of data stored in a port controlled by the port processor, comparing the buffer length to a low-power buffer threshold, determining a link utilization based on a number of packets transmitted by the port, comparing the link utilization to a link utilization threshold, and placing the port into a low-power state based on the comparison of the buffer length to the low-power buffer threshold and the comparison of the link utilization to the link utilization threshold. | 04-07-2011 |