Patents by Inventor Bruce H. Kwan

Bruce H. 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: 10740006
    Abstract: A memory system for a network device is described. The memory system includes a main memory configured to store one or more data elements. Further, the memory system includes a link memory that is configured to maintain one or more pointers to interconnect the one or more data elements stored in the main memory. The memory system also includes a free-entry manager that is configured to generate an available bank set including one or more locations in the link memory. In addition, the memory system includes a context manager that is configured to maintain metadata for a list of the one or more data elements.
    Type: Grant
    Filed: November 17, 2017
    Date of Patent: August 11, 2020
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Bruce H. Kwan, Mohammad K. Issa, Neil Barrett, Avinash Gyanendra Mani
  • Patent number: 10735337
    Abstract: A network traffic manager receives, from an ingress port, a cell of a packet destined for an egress port. Upon determining that a number of cells of the packet stored in a buffer queue meets a threshold value, the manager checks whether the ingress port has been assigned a token corresponding to the queue. Upon determining that the ingress port has been assigned the token, the manager determines whether other cells of the packet are stored in the buffer, in response to which the manager stores the received cell in the buffer, and stores linking information for the received cell in a receive context for the packet. When all cells of the packet have been received, the manager copies linking information for the packet cells from the receive context to the buffer queue or a copy generator queue, and releases the token from the ingress port.
    Type: Grant
    Filed: December 28, 2018
    Date of Patent: August 4, 2020
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Puneet Agarwal, Bruce H. Kwan, Ajit K. Jain
  • Patent number: 10067690
    Abstract: A memory system for a network device is described. The memory system includes a packing data buffer including a plurality of memory banks arranged in a plurality of rows and a plurality of columns. The packing data buffer is configured to store incoming data elements of a plurality of widths in the plurality of memory banks. The memory system also includes a free address manager configured to generate an available bank set based on one or more free memory banks in the plurality of memory banks. And, the memory system includes distributed link memory configured to maintain one or more pointers to interconnect a set of one or more memory locations of the one or more memory banks in the packing data buffer to generate at least one list.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: September 4, 2018
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Bruce H. Kwan, Mohammad K. Issa, Neil Barrett, Avinash Gyanendra Mani
  • Publication number: 20180081577
    Abstract: A memory system for a network device is described. The memory system includes a main memory configured to store one or more data elements. Further, the memory system includes a link memory that is configured to maintain one or more pointers to interconnect the one or more data elements stored in the main memory. The memory system also includes a free-entry manager that is configured to generate an available bank set including one or more locations in the link memory. In addition, the memory system includes a context manager that is configured to maintain metadata for a list of the one or more data elements.
    Type: Application
    Filed: November 17, 2017
    Publication date: March 22, 2018
    Applicant: Innovium, Inc.
    Inventors: William Brad Matthews, Bruce H. Kwan, Mohammad K. Issa, Neil Barrett, Avinash Gyanendra Mani
  • Patent number: 9894670
    Abstract: A resource management system for a network device is described. A resource management system includes a resource manager configured to generate a sequence of a plurality of access time slots for a plurality of candidate entities and to redistribute access to one or more of the plurality of access time slots in the sequence based on availability and eligibility. The resource management system also includes a resource monitor configured to detect usage of each of the access time slots by each of the plurality of candidate entities.
    Type: Grant
    Filed: December 17, 2015
    Date of Patent: February 13, 2018
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Puneet Agarwal, Bruce H. Kwan, Ashwin Alapati, William Fan, Ajit K. Jain
  • Patent number: 9841913
    Abstract: A memory system for a network device is described. The memory system includes a main memory configured to store one or more data elements. Further, the memory system includes a link memory that is configured to maintain one or more pointers to interconnect the one or more data elements stored in the main memory. The memory system also includes a free-entry manager that is configured to generate an available bank set including one or more locations in the link memory. In addition, the memory system includes a context manager that is configured to maintain metadata for a list of the one or more data elements.
    Type: Grant
    Filed: June 16, 2017
    Date of Patent: December 12, 2017
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Bruce H. Kwan, Mohammad K. Issa, Neil Barrett, Avinash Gyanendra Mani
  • Patent number: 9785367
    Abstract: A memory system for a network device is described. The memory system includes a main memory configured to store one or more data elements. Further, the memory system includes a link memory that is configured to maintain one or more pointers to interconnect the one or more data elements stored in the main memory. The memory system also includes a free-entry manager that is configured to generate an available bank set including one or more locations in the link memory. In addition, the memory system includes a context manager that is configured to maintain metadata for a list of the one or more data elements.
    Type: Grant
    Filed: June 24, 2016
    Date of Patent: October 10, 2017
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Bruce H. Kwan, Mohammad K. Issa, Neil Barrett, Avinash Gyanendra Mani
  • Publication number: 20170285984
    Abstract: A memory system for a network device is described. The memory system includes a main memory configured to store one or more data elements. Further, the memory system includes a link memory that is configured to maintain one or more pointers to interconnect the one or more data elements stored in the main memory. The memory system also includes a free-entry manager that is configured to generate an available bank set including one or more locations in the link memory. In addition, the memory system includes a context manager that is configured to maintain metadata for a list of the one or more data elements.
    Type: Application
    Filed: June 16, 2017
    Publication date: October 5, 2017
    Inventors: William Brad Matthews, Bruce H. Kwan, Mohammad K. Issa, Neil Barrett, Avinash Gyanendra Mani
  • Patent number: 9690507
    Abstract: A memory system for a network device is described. The memory system includes a main memory configured to store one or more data elements. Further, the memory system includes a link memory that is configured to maintain one or more pointers to interconnect the one or more data elements stored in the main memory. The memory system also includes a free-entry manager that is configured to generate an available bank set including one or more locations in the link memory. In addition, the memory system includes a context manager that is configured to maintain metadata for a list of the one or more data elements.
    Type: Grant
    Filed: June 24, 2016
    Date of Patent: June 27, 2017
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Bruce H. Kwan, Mohammad K. Issa, Neil Barrett, Avinash Gyanendra Mani
  • Publication number: 20170017423
    Abstract: A memory system for a network device is described. The memory system includes a main memory configured to store one or more data elements. Further, the memory system includes a link memory that is configured to maintain one or more pointers to interconnect the one or more data elements stored in the main memory. The memory system also includes a free-entry manager that is configured to generate an available bank set including one or more locations in the link memory. In addition, the memory system includes a context manager that is configured to maintain metadata for a list of the one or more data elements.
    Type: Application
    Filed: June 24, 2016
    Publication date: January 19, 2017
    Inventors: William Brad Matthews, Bruce H. Kwan, Mohammad K. Issa, Neil Barrett, Avinash Gyanendra Mani
  • Publication number: 20170017420
    Abstract: A memory system for a network device is described. The memory system includes a main memory configured to store one or more data elements. Further, the memory system includes a link memory that is configured to maintain one or more pointers to interconnect the one or more data elements stored in the main memory. The memory system also includes a free-entry manager that is configured to generate an available bank set including one or more locations in the link memory. In addition, the memory system includes a context manager that is configured to maintain metadata for a list of the one or more data elements.
    Type: Application
    Filed: December 18, 2015
    Publication date: January 19, 2017
    Inventors: William Brad Matthews, Bruce H. Kwan, Mohammad K. Issa, Neil Barrett, Avinash Gyanendra Mani
  • Publication number: 20170017419
    Abstract: A memory system for a network device is described. The memory system includes a main memory configured to store one or more data elements. Further, the memory system includes a link memory that is configured to maintain one or more pointers to interconnect the one or more data elements stored in the main memory. The memory system also includes a free-entry manager that is configured to generate an available bank set including one or more locations in the link memory. In addition, the memory system includes a context manager that is configured to maintain metadata for a list of the one or more data elements.
    Type: Application
    Filed: December 18, 2015
    Publication date: January 19, 2017
    Inventors: William Brad Matthews, Bruce H. Kwan, Mohammad K. Issa, Neil Barrett, Avinash Gyanendra Mani
  • Publication number: 20170017424
    Abstract: A memory system for a network device is described. The memory system includes a main memory configured to store one or more data elements. Further, the memory system includes a link memory that is configured to maintain one or more pointers to interconnect the one or more data elements stored in the main memory. The memory system also includes a free-entry manager that is configured to generate an available bank set including one or more locations in the link memory. In addition, the memory system includes a context manager that is configured to maintain metadata for a list of the one or more data elements.
    Type: Application
    Filed: June 24, 2016
    Publication date: January 19, 2017
    Inventors: William Brad Matthews, Bruce H. Kwan, Mohammad K. Issa, Neil Barrett, Avinash Gyanendra Mani
  • Patent number: 8976669
    Abstract: Aspects of a switch fabric end-to-end congestion avoidance mechanism are presented. Aspects of a system for end-to-end congestion avoidance in a switch fabric may include at least one circuit that enables reception of a congestion notification message that specifies a traffic flow identifier. The circuitry may enable increase or decrease of a current rate for transmission of data link layer (DLL) protocol data units (PDU) associated with the specified traffic flow identifier as a response to the reception of the congestion notification message.
    Type: Grant
    Filed: August 26, 2013
    Date of Patent: March 10, 2015
    Assignee: Broadcom Corporation
    Inventors: Bruce H. Kwan, Puneet Agarwal
  • Publication number: 20130343193
    Abstract: Aspects of a switch fabric end-to-end congestion avoidance mechanism are presented. Aspects of a system for end-to-end congestion avoidance in a switch fabric may include at least one circuit that enables reception of a congestion notification message that specifies a traffic flow identifier. The circuitry may enable increase or decrease of a current rate for transmission of data link layer (DLL) protocol data units (PDU) associated with the specified traffic flow identifier as a response to the reception of the congestion notification message.
    Type: Application
    Filed: August 26, 2013
    Publication date: December 26, 2013
    Applicant: Broadcom Corporation
    Inventors: Bruce H. KWAN, Puneet AGARWAL
  • Patent number: 8520517
    Abstract: Aspects of a switch fabric end-to-end congestion avoidance mechanism are presented. Aspects of a system for end-to-end congestion avoidance in a switch fabric may include at least one circuit that enables reception of a congestion notification message that specifies a traffic flow identifier. The circuitry may enable increase or decrease of a current rate for transmission of data link layer (DLL) protocol data units (PDU) associated with the specified traffic flow identifier as a response to the reception of the congestion notification message.
    Type: Grant
    Filed: February 15, 2008
    Date of Patent: August 27, 2013
    Assignee: Broadcom Corporation
    Inventors: Bruce H. Kwan, Puneet Agarwal
  • Patent number: 8320240
    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: Grant
    Filed: November 14, 2005
    Date of Patent: November 27, 2012
    Assignee: Broadcom Corporation
    Inventors: Bruce H. Kwan, Chien-Hsien Wu
  • Patent number: 8130648
    Abstract: A network device and method include token buckets, each token bucket associated with one of clients and virtual ports and configured to process information based on a predefined bandwidth and a strict priority/weighted deficit round robin. A maximum rate shaper module and a minimum rate meter module shape and meter whether any of the clients or virtual ports have exceeded a predefined threshold. A scheduler is configured to schedule services of the clients and to calculate a new bandwidth allocation for at least one of the clients or virtual ports when the at least one of the clients or virtual ports has exceeded the predefined threshold, the new bandwidth allocation replacing the predefined bandwidth and being proportional to the predefined bandwidth for each of the clients or virtual ports.
    Type: Grant
    Filed: December 21, 2006
    Date of Patent: March 6, 2012
    Assignee: Broadcom Corporation
    Inventors: Bruce H. Kwan, Puneet Agarwal, Asad Khamisy
  • Patent number: 7948880
    Abstract: A flow control sender includes an ingress port with one or more Class Groups (CG) defined including a shared buffer pool, a shared counter per ingress port per CG tracking an amount of the shared buffer pool utilized by each CG, an ingress port utilization counter per ingress port tracking an amount of the shared buffer pool utilized by the ingress port, and a controller computing a dynamic threshold for each CG, comparing the dynamic threshold of each CG with the ingress port utilization counter, and determining a particular CG experiencing congestion when the ingress port utilization counter is greater than the dynamic threshold for the particular CG. A flow control receiver ceases transmission of data packets to the particular CG experiencing congestion and allows transmission of the data packets corresponding to other CGs.
    Type: Grant
    Filed: October 28, 2005
    Date of Patent: May 24, 2011
    Assignee: Broadcom Corporation
    Inventors: Bruce H. Kwan, Puneet Agarwal, Eugene N. Opsasnick
  • Patent number: 7859996
    Abstract: An intelligent congestion feedback apparatus and method thereof includes a source endpoint transmitting data packets, and a destination endpoint receiving the data packets, and a timer in the destination endpoint set to zero. An intermediate node detects congestion between the source endpoint and the destination endpoint. Upon congestion detection, the intermediate node marks the data packets transmitted to the destination endpoint indicative of congestion. Upon receipt of the marked data packets, the timer begins reverse counting from a preset time value to zero and a feedback loop is turned-on between the destination endpoint and the source endpoint to transmit congestion notification (CN) messages to the source endpoint contributing to the congestion.
    Type: Grant
    Filed: October 27, 2005
    Date of Patent: December 28, 2010
    Assignee: Broadcom Corporation
    Inventors: Bruce H. Kwan, Puneet Agarwal