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: 10432429
    Abstract: A token bucket or leaky bucket is maintained at least partially through the use of two separate counters. A full counter, is maintained in relatively lower cost memory, and indicates the amount of tokens within the bucket on a potentially delayed basis. An intermediate counter is stored in a relatively higher cost memory that supports high access rates, and indicates the amount of tokens assigned (or unassigned) to the bucket since the full counter was last updated. Various adjustment processes remove (or add) tokens as needed for performing tasks. A background process updates the full counter from the corresponding intermediate counter on a periodic, scheduled, or other basis. The buckets are replenished (or deleted) with tokens periodically at assigned rates. Traffic management or other decisions are based on the bucket's current status, as determined from the full counter during the background process and then stored in the higher cost memory.
    Type: Grant
    Filed: October 11, 2016
    Date of Patent: October 1, 2019
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Paul Kim, Bruce Kwan, Puneet Agarwal
  • Patent number: 9215174
    Abstract: Various methods and systems are provided for oversubscription buffer management. In one embodiment, among others, a method for oversubscription control determines a utilization level of an oversubscription buffer that is common to a plurality of ingress ports and initiates adjustment of an ingress packet rate of the oversubscription buffer in response to the utilization level. In another embodiment, a method determines an occupancy level of a virtual oversubscription buffer associated with an oversubscription buffer and initiates adjustment of an ingress packet rate in response to the occupancy level. In another embodiment, a rack switch includes an oversubscription buffer configured to receive packets from a plurality of ingress ports and provide the received packets for processing by the rack switch and a packet flow control configured to monitor an occupancy level of the oversubscription buffer and to initiate adjustment of an ingress packet rate in response to the occupancy level.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: December 15, 2015
    Assignee: BROADCOM CORPORATION
    Inventors: Bruce Kwan, Brad Matthews
  • Patent number: 9166927
    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: Grant
    Filed: October 21, 2008
    Date of Patent: October 20, 2015
    Assignee: BROADCOM CORPORATION
    Inventors: Ariel Hendel, Bruce Kwan, Puneet Agarwal, Mohan Kalkunte
  • Patent number: 9166919
    Abstract: The various embodiments of the invention provide mechanisms to reduce headroom size while minimizing dropped packets. In general, this is done by using a shared headroom space between all ports, and providing a randomized delay in transmitting a flow-control message.
    Type: Grant
    Filed: March 23, 2012
    Date of Patent: October 20, 2015
    Assignee: BROADCOM CORPORATION
    Inventors: Vahid Tabatabaee, Bruce Kwan
  • Patent number: 9106428
    Abstract: A system for multicast switching for distributed devices may include an ingress node including an ingress memory and an egress node including an egress memory, where the ingress node is communicatively coupled to the egress node. The ingress node may be operable to receive a portion of a multicast frame over an ingress port, bypass the ingress memory and provide the portion to the egress node when the portion satisfies an ingress criteria, otherwise receive and store the entire frame in the ingress memory before providing the frame to the egress node. The egress node may be operable to receive the portion from the ingress node, bypass the egress memory for the portion and provide the portion to the first egress port when an egress criteria is satisfied, otherwise receive and store the entire multicast frame in the egress memory before providing the multicast frame to an egress port.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: August 11, 2015
    Assignee: Broadcom Corporation
    Inventors: Brad Matthews, Bruce Kwan, Puneet Agarwal
  • Publication number: 20150188845
    Abstract: A switching device is operable to mitigate bandwidth degradation while it is oversubscribed. Due to a latency involved with notifying a scheduler that a queue has transitioned from an active state to an empty state, the scheduler may inadvertently schedule an empty queue for processing, which may result in a degradation of bandwidth of the switching device. To avoid such degradation, the switching device may be configured to control the flow of data provided from the queue to the scheduler so that the data is provided to the scheduler as a burst transaction. For example, the switching device may be configured to delay the provision of certain indicators provided by a queue in order to defer the notification to the scheduler of when the queue receives and stores data. This may enable the queue to store more data, which can be provided to the scheduler as a burst transaction.
    Type: Application
    Filed: March 31, 2014
    Publication date: July 2, 2015
    Applicant: Broadcom Corporation
    Inventors: Brad Matthews, Puneet Agarwal, Bruce Kwan
  • Patent number: 9065755
    Abstract: Disclosed are systems and methods for cut-through switching in port-speed-mismatched networks. Specifically, systems and methods are described in which data packets from an ingress device are paced, thereby matching the data rate of the ingress device with the data rate of the egress device.
    Type: Grant
    Filed: December 21, 2012
    Date of Patent: June 23, 2015
    Assignee: BROADCOM CORPORATION
    Inventors: Bruce Kwan, Puneet Agarwal
  • Patent number: 9049151
    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: Grant
    Filed: May 2, 2013
    Date of Patent: June 2, 2015
    Assignee: Broadcom Corporation
    Inventors: Jin Ding, Bruce Kwan
  • Patent number: 9042222
    Abstract: A system for deadlock recovery of distributed devices may include a processor and memory. The processor may transmit packets to a device, receive a pause message indicating that the packet transmission should be paused, and initiate a timer and pause the packet transmission in response to receiving the pause message. The processor may enter a deadlock recovery state if the timer reaches a timeout before a resume message is received that indicates that the packet transmission can resume. The processor may, while in the deadlock recovery state, drop packets that have a packet age that is greater than a threshold, and may exit the deadlock recovery state upon dropping a packet that has a packet age less than the threshold, or upon receiving the resume message. The processor may re-initiate the timer if the resume message has not been received, otherwise the processor may resume the packet transmission.
    Type: Grant
    Filed: December 19, 2012
    Date of Patent: May 26, 2015
    Assignee: Broadcom Corporation
    Inventors: Bruce Kwan, Puneet Agarwal
  • Patent number: 8923283
    Abstract: Disclosed are various embodiments that provide an architecture of memory buffers for a network component configured to process packets. A network component may receive a packet, the packet being associated with a control structure and packet data, an input port set and an output port set. The network component determines one of a plurality of control structure memory partitions for writing the control structure, the one of the plurality of control structure memory partitions being determined based at least upon the input port set and the output port set; and determines one of a plurality of packet data memory partitions for writing the packet data, the one of the plurality of packet data memory partitions being determined independently of the input port set.
    Type: Grant
    Filed: September 27, 2012
    Date of Patent: December 30, 2014
    Assignee: Broadcom Corporation
    Inventors: Brad Matthews, Bruce Kwan, Puneet Agarwal
  • Patent number: 8897130
    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: Grant
    Filed: April 22, 2010
    Date of Patent: November 25, 2014
    Assignee: Broadcom Corporation
    Inventors: Brad Matthews, Bruce Kwan, Mohan Kalkunte
  • Patent number: 8885472
    Abstract: The systems and methods described herein allow for the scaling of output-buffered switches by decoupling the data path from the control path. Some embodiment of the invention include a switch with a memory management unit (MMU), in which the MMU enqueues data packets to an egress queue at a rate that is less than the maximum ingress rate of the switch. Other embodiments include switches that employ pre-enqueue work queues, with an arbiter that selects a data packet for forwarding from one of the pre-enqueue work queues to an egress queue.
    Type: Grant
    Filed: June 15, 2012
    Date of Patent: November 11, 2014
    Assignee: Broadcom Corporation
    Inventors: Bruce Kwan, Brad Matthews, Puneet Agarwal
  • Patent number: 8880871
    Abstract: Disclosed are various embodiments for improving hash table utilization. A key corresponding to a data item to be inserted into a hash table can be transformed to improve the entropy of the key space and the resultant hash codes that can generated. Transformation data can be inserted into the key in various ways, which can result in a greater degree of variance in the resultant hash code calculated based upon the transformed key.
    Type: Grant
    Filed: September 27, 2012
    Date of Patent: November 4, 2014
    Assignee: Broadcom Corporation
    Inventors: Brad Matthews, Bruce Kwan, Puneet Agarwal
  • Patent number: 8879578
    Abstract: Processing techniques in a network switch help reduce latency in the delivery of data packets to a recipient. The processing techniques include speculative flow status messaging, for example. The speculative flow status messaging may alert an egress tile or output port of an incoming packet before the incoming packet is fully received. The processing techniques may also include implementing a separate accelerated credit pool which provides controlled push capability for the ingress tile or input port to send packets to the egress tile or output port without waiting for a bandwidth credit from the egress tile or output port.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: November 4, 2014
    Assignee: Broadcom Corporation
    Inventors: Brad Matthews, Puneet Agarwal, Bruce Kwan
  • Patent number: 8867353
    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: Grant
    Filed: June 30, 2011
    Date of Patent: October 21, 2014
    Assignee: Broadcom Corporation
    Inventors: Brad Matthews, Bruce Kwan
  • Patent number: 8824284
    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: Grant
    Filed: May 14, 2010
    Date of Patent: September 2, 2014
    Assignee: Broadcom Corporation
    Inventors: Brad Matthews, Bruce Kwan, Puneet Agarwal
  • Patent number: 8804503
    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: Grant
    Filed: November 2, 2007
    Date of Patent: August 12, 2014
    Assignee: Broadcom Corporation
    Inventors: Mohan Kalkunte, Bruce Kwan
  • Publication number: 20140201354
    Abstract: Disclosed are various embodiments that relate to a network switch. The switch determines whether a network packet is associated with a packet processing context, the packet processing context specifying a condition of handling network packets processed in the switch. The switch determines debug metadata for the network packet in response to the network packet being associated with the packet processing context; and the debug metadata is stored in a capture buffer.
    Type: Application
    Filed: January 17, 2013
    Publication date: July 17, 2014
    Applicant: BROADCOM CORPORATION
    Inventors: Brad Matthews, Puneet Agarwal, Bruce Kwan
  • Publication number: 20140185628
    Abstract: A method for managing data traffic operating on a deadline is provided. The method includes receiving, on an intermediate node, a packet having one or more traffic characteristics. The method also includes evaluating, on the intermediate node, the one or more traffic characteristics to determine a priority of the packet. The method also includes selecting one of multiple queues on the intermediate node based on the determined priority. The method also includes processing, on the intermediate node, the packet based on the determined priority. The method also includes enqueuing the processed packet into the selected queue. The method further includes outputting the queued packet from the selected queue.
    Type: Application
    Filed: February 5, 2013
    Publication date: July 3, 2014
    Applicant: BROADCOM CORPORATION
    Inventors: Brad MATTHEWS, Bruce KWAN, Puneet AGARWAL
  • Patent number: 8755271
    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: Grant
    Filed: January 28, 2011
    Date of Patent: June 17, 2014
    Assignee: Broadcom Corporation
    Inventors: Brad Matthews, Bruce Kwan, Puneet Agarwal