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).

  • Publication number: 20100318821
    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: Application
    Filed: October 22, 2009
    Publication date: December 16, 2010
    Applicant: Broadcom Corporation
    Inventors: Bruce Kwan, Puneet Agarwal, Brad Matthews
  • Patent number: 7843825
    Abstract: 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.
    Type: Grant
    Filed: October 2, 2007
    Date of Patent: November 30, 2010
    Assignee: Broadcom Corporation
    Inventors: Bruce Kwan, Chien-Hsien Wu, Song-Huo Yu
  • Patent number: 7826352
    Abstract: Example methods and apparatus for hierarchical bandwidth management are disclosed. An example method includes, receiving a data packet in a first data flow and determining if a rate of the first flow is less than or equal to a first threshold. If he first rate is less than or equal to the first threshold, the packet is marked with a first marker type. If the first rate is greater than the first threshold, the packet is marked with a second marker type. The example method further includes combining the first flow with a second data flow to produce a third data flow. If the packet is marked with the first marker type, the packet is forwarded in the third data flow. If the packet is marked with the second marker type and a rate of the third flow is less than or equal to a second threshold, the second marker type is changed to the first marker type and data packet is forwarded in the third flow.
    Type: Grant
    Filed: August 26, 2008
    Date of Patent: November 2, 2010
    Assignee: Broadcom Corporation
    Inventors: Bruce Kwan, Puneet Agarwal
  • Publication number: 20100271946
    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: Application
    Filed: April 23, 2010
    Publication date: October 28, 2010
    Applicant: BROADCOM CORPORATION
    Inventors: Shahram Davari, Bruce Kwan, Puneet Agarwal
  • Publication number: 20100097934
    Abstract: 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.
    Type: Application
    Filed: October 21, 2008
    Publication date: April 22, 2010
    Applicant: Broadcom Corporation
    Inventors: Ariel Hendel, Bruce Kwan, Puneet Agarwal, Mohan Kalkunte
  • Publication number: 20100054126
    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 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.
    Type: Application
    Filed: August 26, 2008
    Publication date: March 4, 2010
    Applicant: BROADCOM CORPORATION
    Inventors: Bruce Kwan, Puneet Agarwal
  • Publication number: 20100054127
    Abstract: 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.
    Type: Application
    Filed: August 26, 2008
    Publication date: March 4, 2010
    Applicant: Broadcom Corporation
    Inventors: Bruce Kwan, Puneet Agarwal
  • Publication number: 20090207848
    Abstract: 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.
    Type: Application
    Filed: February 13, 2009
    Publication date: August 20, 2009
    Applicant: Broadcom Corporation
    Inventors: Bruce Kwan, Puneet Agarwal, Lakshmikantha Ashvin
  • Publication number: 20090201806
    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: Application
    Filed: February 13, 2009
    Publication date: August 13, 2009
    Applicant: Broadcom Corporation
    Inventors: Jin Ding, Bruce Kwan, Puneet Agarwal
  • Publication number: 20090154354
    Abstract: 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.
    Type: Application
    Filed: December 12, 2008
    Publication date: June 18, 2009
    Applicant: Broadcom Corporation
    Inventors: Bruce Kwan, Mohan Kalkunte
  • Publication number: 20090122698
    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 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.
    Type: Application
    Filed: October 16, 2008
    Publication date: May 14, 2009
    Applicant: Broadcom Corporation
    Inventors: Ashvin Lakshmikantha, Mohan Kalkunte, Bruce Kwan
  • Publication number: 20090086634
    Abstract: 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.
    Type: Application
    Filed: October 2, 2007
    Publication date: April 2, 2009
    Inventors: Bruce Kwan, Chien-Hsien Wu, Song-Huo Yu
  • Publication number: 20090003209
    Abstract: 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.
    Type: Application
    Filed: November 2, 2007
    Publication date: January 1, 2009
    Applicant: BROADCOM CORPORATION
    Inventors: Mohan Kalkunte, Bruce Kwan
  • Publication number: 20090003212
    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: Application
    Filed: June 23, 2008
    Publication date: January 1, 2009
    Inventors: Bruce Kwan, Puneet Agarwal
  • Publication number: 20080298397
    Abstract: 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.
    Type: Application
    Filed: May 15, 2008
    Publication date: December 4, 2008
    Applicant: BROADCOM CORPORATION
    Inventors: Bruce Kwan, Bora Akyol, Puneet Agarwal
  • Publication number: 20080229056
    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: Application
    Filed: August 28, 2007
    Publication date: September 18, 2008
    Applicant: BROADCOM CORPORATION
    Inventors: Puneet Agarwal, Eric Baden, Jeff Dull, Bruce Kwan
  • Publication number: 20070104210
    Abstract: A network device for processing data includes at least one ingress module for performing switching functions on incoming data, a memory management unit for storing the incoming data and at least one egress module for transmitting the incoming data to at least one egress port. The at least one egress module includes an egress scheduling module and multiple queues per each of the at least one egress port. Each of the multiple queues serve data attributable to a class of service, and the egress scheduling module is configured to service a minimum bandwidth requirement for each of the multiple queues and then to service the multiple queues to allow for transmission of a maximum allowable bandwidth through a weighting of each of the multiple queues.
    Type: Application
    Filed: November 9, 2006
    Publication date: May 10, 2007
    Inventors: Chien-Hsien Wu, Bruce Kwan, Philip Chen
  • Publication number: 20060203728
    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: Application
    Filed: July 21, 2005
    Publication date: September 14, 2006
    Inventors: Bruce Kwan, Puneet Agarwal
  • Publication number: 20060114912
    Abstract: A network device for scheduling packets in a plurality of queues includes a plurality of leaky bucket modules, each of the plurality of leaky bucket mechanisms being associated with one of a plurality of queues and configured to process information based on a predefined bandwidth, a scheduler configured to schedule services of the plurality of queues and a metering module for tracking whether or not the plurality of queues has exceeded a predefined threshold through the leaky bucket modules. If the plurality of queues has exceeded the predefined threshold, the metering module is configured to compute a new bandwidth allocation for each of the plurality of queues, the new bandwidth allocation replacing the predefined bandwidth and being proportional to the predefined bandwidth for each of the plurality of queues.
    Type: Application
    Filed: November 14, 2005
    Publication date: June 1, 2006
    Inventors: Bruce Kwan, Chien-Hsien Wu
  • Publication number: 20060114901
    Abstract: A network device for selecting a port from a trunk group to transmit a unicast packet on the selected port. The network device includes at least one trunk group including a plurality of physical ports. The network device also includes a table with a plurality of entries. Each entry is associated with one trunk group and includes a plurality of fields that are associated with ports in the trunk group. Each entry also includes a hash field that is used to select bits from predefined fields of an incoming unicast packet to obtain an index bit for accessing one of the plurality of fields. The network device further includes transmitting means for transmitting the unicast packet to a port associated with an accessed one of the plurality of fields.
    Type: Application
    Filed: November 30, 2005
    Publication date: June 1, 2006
    Inventors: Mohan Kalkunte, John Dull, Bruce Kwan, Venkateshwar Buduma