Patents by Inventor Bruce Kwan

Bruce Kwan has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 8416689
    Abstract: 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.
    Type: Grant
    Filed: April 23, 2010
    Date of Patent: April 9, 2013
    Assignee: Broadcom Corporation
    Inventors: Shahram Davari, Bruce Kwan, Puneet Agarwal
  • Patent number: 8391139
    Abstract: 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.
    Type: Grant
    Filed: May 14, 2010
    Date of Patent: March 5, 2013
    Assignee: Broadcom Corporation
    Inventors: Brad Matthews, Bruce Kwan, Puneet Agarwal
  • Patent number: 8385148
    Abstract: 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.
    Type: Grant
    Filed: October 22, 2009
    Date of Patent: February 26, 2013
    Assignee: Broadcom Corporation
    Inventors: Bruce Kwan, Puneet Agarwal, Brad Matthews
  • Patent number: 8355328
    Abstract: 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.
    Type: Grant
    Filed: May 14, 2010
    Date of Patent: January 15, 2013
    Assignee: Broadcom Corporation
    Inventors: Brad Matthews, Bruce Kwan, Puneet Agarwal
  • Publication number: 20130003546
    Abstract: A system and method for achieving lossless packet delivery in packet rate oversubscribed systems. Link-level packet rate control can be effected through the transmission of packet rate control messages to link partners of an oversubscribed system. The transmission of packet rate control messages can be triggered upon a determination that a packet arrival rate over a set of ingress ports exceeds a packet processing rate of a packet processing unit bound to the set of ingress ports. In one embodiment, the packet processing rate is artificially reduced due to a reduction in power consumption in the oversubscribed system.
    Type: Application
    Filed: June 30, 2011
    Publication date: January 3, 2013
    Applicant: Broadcom Corporation
    Inventors: Brad Matthews, Bruce Kwan
  • Patent number: 8347121
    Abstract: 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.
    Type: Grant
    Filed: October 21, 2009
    Date of Patent: January 1, 2013
    Assignee: Broadcom Corporation
    Inventors: Brad Matthews, Puneet Agarwal, Bruce Kwan
  • Patent number: 8331387
    Abstract: 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.
    Type: Grant
    Filed: June 23, 2008
    Date of Patent: December 11, 2012
    Assignee: Broadcom Corporation
    Inventors: Bruce Kwan, Puneet Agarwal
  • Patent number: 8274896
    Abstract: 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 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 (CTC) or the excess token counter (ETC) respectively. In one embodiment, a token counter incrementer configured to, as a data unit virtually exits the virtual queue, increment one of the token counters. 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.
    Type: Grant
    Filed: October 16, 2008
    Date of Patent: September 25, 2012
    Assignee: Broadcom Corporation
    Inventors: Ashvin Lakshmikantha, Mohan Kalkunte, Bruce Kwan
  • Patent number: 8266116
    Abstract: 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.
    Type: Grant
    Filed: August 28, 2007
    Date of Patent: September 11, 2012
    Assignee: Broadcom Corporation
    Inventors: Puneet Agarwal, Eric Baden, Jeff Dull, Bruce Kwan
  • Patent number: 8248918
    Abstract: 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.
    Type: Grant
    Filed: February 13, 2009
    Date of Patent: August 21, 2012
    Assignee: Broadcom Corporation
    Inventors: Jin Ding, Bruce Kwan, Puneet Agarwal
  • Publication number: 20120195192
    Abstract: Methods and apparatus for dynamic bandwidth allocation are disclosed. An example method includes determining, by a network device, at least one of a congestion state of a packet memory buffer of the network device and a congestion state of an external packet memory that is operationally coupled with the network device. The example method further includes dynamically adjusting, by the network device, respective bandwidth allocations for read and write operations between the network device and the external packet memory, the dynamic adjusting being based on the determined congestion state of the packet memory buffer and/or the determined congestion state of the external packet memory.
    Type: Application
    Filed: January 28, 2011
    Publication date: August 2, 2012
    Applicant: BROADCOM CORPORATION
    Inventors: Brad Matthews, Bruce Kwan, Puneet Agarwal
  • Patent number: 8072886
    Abstract: Various aspects of a method and system for transmission control protocol (TCP) traffic smoothing are presented. Traffic smoothing may comprise a method for controlling data transmission in a communications system that further comprises scheduling the timing of transmission of information from a TCP offload engine (TOE) based on a traffic profile. Traffic smoothing may comprise transmitting information from a TOE at a rate that is either greater than, approximately equal to, or less than, the rate at which the information was generated. Some conventional network interface cards (NIC) that utilize TOEs may not provide a mechanism that enables traffic shaping. By not providing a mechanism for traffic shaping, there may be a greater probability of lost packets in the network.
    Type: Grant
    Filed: January 5, 2010
    Date of Patent: December 6, 2011
    Assignee: Broadcom Corporation
    Inventors: Bruce Kwan, Puneet Agarwal
  • Publication number: 20110080919
    Abstract: 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.
    Type: Application
    Filed: November 3, 2009
    Publication date: April 7, 2011
    Applicant: Broadcom Corporation
    Inventors: Jin Ding, Bruce Kwan
  • Publication number: 20110063979
    Abstract: 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.
    Type: Application
    Filed: April 22, 2010
    Publication date: March 17, 2011
    Applicant: BROADCOM CORPORATION
    Inventors: Brad Matthews, Bruce Kwan, Mohan Kalkunte
  • Publication number: 20110058477
    Abstract: 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.
    Type: Application
    Filed: November 12, 2010
    Publication date: March 10, 2011
    Applicant: BROADCOM CORPORATION
    Inventors: Bruce Kwan, Puneet Agarwal
  • Publication number: 20110051603
    Abstract: 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.
    Type: Application
    Filed: May 14, 2010
    Publication date: March 3, 2011
    Applicant: BROADCOM CORPORATION
    Inventors: Brad Matthews, Bruce Kwan, Puneet Agarwal
  • Publication number: 20110051735
    Abstract: 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.
    Type: Application
    Filed: May 14, 2010
    Publication date: March 3, 2011
    Applicant: BROADCOM CORPORATION
    Inventors: Brad Matthews, Bruce Kwan, Puneet Agarwal
  • Publication number: 20110051602
    Abstract: 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.
    Type: Application
    Filed: May 14, 2010
    Publication date: March 3, 2011
    Applicant: BROADCOM CORPORATION
    Inventors: Brad Matthews, Bruce Kwan, Puneet Agarwal
  • Publication number: 20110029796
    Abstract: 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.
    Type: Application
    Filed: October 21, 2009
    Publication date: February 3, 2011
    Applicant: Broadcom Corporation
    Inventors: Brad Matthews, Puneet Agarwal, Bruce Kwan
  • Publication number: 20110002222
    Abstract: 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.
    Type: Application
    Filed: September 14, 2010
    Publication date: January 6, 2011
    Applicant: BROADCOM CORPORATION
    Inventors: Bruce Kwan, Puneet Agarwal