Patents by Inventor Brad Matthews

Brad Matthews 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: 10523576
    Abstract: Efficient garbage collection techniques for network packets and other units of data are described. Constituent portions of a data unit are stored in buffer entries spread out across multiple distinct banks. Linking data is generated and stored on a per-bank basis. The linking data defines, for each bank in which data for the data unit is stored, a chain of all entries in that bank that store data for the data unit. When the data unit is dropped or otherwise disposed of, a chain's head entry address may be placed in a garbage collection list for the corresponding bank. A garbage collector uses the linking data to gradually follow the chain of entries for the given bank, and frees each entry in the chain along the way. Optionally, certain addresses in the chain, including each chain's tail address, are immediately freed for the corresponding bank, without waiting to follow the chain.
    Type: Grant
    Filed: July 6, 2018
    Date of Patent: December 31, 2019
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Puneet Agarwal, Ajit Kumar Jain
  • Patent number: 10511531
    Abstract: Input values for various computations in a computing device are transformed to increase the entropy of results thereof. A key value is inputted into one or more folding units, each of which folds sub-elements of the key value together to form a folded key value. Each folding unit is linked to a corresponding addend constructor, which generates an addend value by modifying each field in a corresponding predefined manipulation value with an operation between the field and the corresponding folded key value, or a value derived therefrom. A first value is then transformed using addition between it and each addend value, or an addend-based value derived therefrom. The transformed first value may be utilized in place of the first value in various computations. In an embodiment, hash-based operations in a network device are improved by so transforming a hash key or hash output of a hashing function.
    Type: Grant
    Filed: June 12, 2018
    Date of Patent: December 17, 2019
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Puneet Agarwal
  • Patent number: 10511538
    Abstract: Described techniques enable resource accounting and tracking in high access rate systems using low cost memories. A first set of counters is maintained in relatively lower cost memory. The first counters generally indicate the amount of resources used for each object in a set of objects, but on a potentially delayed basis. A second set of counters of smaller size is stored in a relatively higher cost memory that supports high arrival and departure rates for accurate accounting. Each second counter indicates the amount of resources assigned (or unassigned) to an object since the object's first counter was last updated, and is incremented or decremented whenever this amount changes. A background process is configured to update individual first counters from the corresponding second counters on a recurring basis. The exact times at which a given first counter is updated may vary in accordance with a variety of approaches.
    Type: Grant
    Filed: February 22, 2018
    Date of Patent: December 17, 2019
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Puneet Agarwal
  • Patent number: 10505851
    Abstract: Incoming data units within a network apparatus are temporarily buffered before being released to downstream components of the apparatus, such as a traffic manager or packet processor. A congestion detection component monitors for congestion with respect to particular subsets of the data units, such as data units that arrived over a same port or port group. When a metric, such as overutilization of the one or more buffers, indicates a state of congestion with respect to one of one of these subsets, various actions may be taken with respect to the subset to reduce the risk of complications from the congestion. In an embodiment, contrary to the expectation that a state of congestion would demand accelerating the release of data units from the buffer(s), a burst control mechanism is enabled. In an embodiment, the actions may further include temporarily pausing a lossless data stream and/or disabling features such as cut-through switching.
    Type: Grant
    Filed: November 29, 2017
    Date of Patent: December 10, 2019
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Bruce Hui Kwan
  • Patent number: 10469345
    Abstract: Described techniques enable the tracking and reporting of resource utilization at multiple levels of granularity, the highest of which involves tracking resource usage by a particular object in aggregate. When aggregate usage for the particular object is within certain parameters, actual resource usage is not reported at the lower level of granularity, but is replaced by placeholder values. When aggregate usage for the particular object exceeds a threshold, the particular object is considered to be a “hot spot.” Resource usage for the particular object can then be reported (and tracked, if not already) at the lower level of granularity until the particular object is no longer a “hot spot.” The efficiency of the tracking may be further enhanced by leveraging a bifurcated counting mechanism in which a full count is updated only at selected sample times, with intermediate counters used to store changes in between sample times.
    Type: Grant
    Filed: December 31, 2015
    Date of Patent: November 5, 2019
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Puneet Agarwal
  • Patent number: 10447578
    Abstract: Approaches, techniques, and mechanisms are disclosed for assigning paths to network packets. The path assignment techniques utilize path state information and/or other criteria to determine whether to route a packet along a primary candidate path selected for the packet, or one or more alternative candidate paths selected for the packet. According to an embodiment, network traffic is at least partially balanced by redistributing only a portion of the traffic that would have been assigned to a given primary path. Move-eligibility criteria are applied to traffic to determine whether a given packet is eligible for reassignment from a primary path to an alternative path. The move-eligibility criteria determine which portion of the network traffic to move and which portion to allow to proceed as normal. In an embodiment, the criteria and functions used to determine whether a packet is redistributable are adjusted over time based on path state information.
    Type: Grant
    Filed: March 1, 2017
    Date of Patent: October 15, 2019
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Puneet Agarwal, Meg Lin, Rupa Budhia
  • 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
  • Publication number: 20190294468
    Abstract: Method, computer program product, and system to prioritize the execution of processing task requests in a task request queue, where the processing task requests are related to an environment. The method includes adding processing task requests to a task request queue in response to the detection of predefined actions in an environment. The method also includes adding additional processing task requests or adjusting a priority level of not yet completed task requests in the task request queue, in response to detecting subsequent predefined actions in the environment.
    Type: Application
    Filed: March 21, 2018
    Publication date: September 26, 2019
    Inventors: Dean Frederick HERRING, Adrian Xavier RODRIGUEZ, Abhishekh PADMANABHAN, David A. BERNATH, David John STEINER, Phuc Ky DO, Jonathan M. WAITE, Brad Matthew JOHNSON
  • Patent number: 10417878
    Abstract: Method, computer program product, and system to trigger one or more events during an interaction of a person with an item and within an environment having a plurality of items. The method includes acquiring, using a first visual sensor disposed within the environment, image information including the item and identifying the item using the image information. The method further includes acquiring, using a second visual sensor disposed within the environment, behavior information for the person relative to the identified item, analyzing the behavior information to identify at least a first behavior of the person, and classifying the first behavior into one of a number of predefined behavior types. The method further includes performing, based on the identified item and the classified first behavior, one or more predefined events.
    Type: Grant
    Filed: March 19, 2015
    Date of Patent: September 17, 2019
    Assignee: Toshiba Global Commerce Solutions Holdings Corporation
    Inventors: Dean Frederick Herring, Brad Matthew Johnson, Ankit Singh, Jeffrey John Smith, Adrian Xavier Rodriquez
  • Patent number: 10389639
    Abstract: Nodes within a network are configured to adapt to changing path states, due to congestion, node failures, and/or other factors. A node may selectively convey path information and/or other state information to another node by annotating the information into packets it receives from the other node. A node may selectively reflect these annotated packets back to the other node, or other nodes that subsequently receive these annotated packets may reflect them. A weighted cost multipathing selection technique is improved by dynamically adjusting weights of paths in response to feedback indicating the current state of the network topology, such as collected through these reflected packets. In an embodiment, certain packets that would have been dropped may instead be transformed into “special visibility” packets that may be stored and/or sent for analysis. In an embodiment, insight into the performance of a network device is enhanced through the use of programmable visibility engines.
    Type: Grant
    Filed: January 19, 2017
    Date of Patent: August 20, 2019
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Puneet Agarwal
  • Patent number: 10389643
    Abstract: Nodes within a network are configured to adapt to changing path states, due to congestion, node failures, and/or other factors. A node may selectively convey path information and/or other state information to another node by annotating the information into packets it receives from the other node. A node may selectively reflect these annotated packets back to the other node, or other nodes that subsequently receive these annotated packets may reflect them. A weighted cost multipathing selection technique is improved by dynamically adjusting weights of paths in response to feedback indicating the current state of the network topology, such as collected through these reflected packets. In an embodiment, certain packets that would have been dropped may instead be transformed into “special visibility” packets that may be stored and/or sent for analysis. In an embodiment, insight into the performance of a network device is enhanced through the use of programmable visibility engines.
    Type: Grant
    Filed: January 19, 2017
    Date of Patent: August 20, 2019
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Puneet Agarwal
  • Patent number: 10355994
    Abstract: Certain hash-based operations in network devices and other devices, such as mapping and/or lookup operations, are improved by manipulating a hash key prior to executing a hash function on the hash key and/or by manipulating outputs of a hash function. A device may be configured to manipulate hash keys and/or outputs using manipulation logic based on one or more predefined manipulation values. A similar hash-based operation may be performed by multiple devices within a network of computing devices. Different devices may utilize different predefined manipulation values for their respective implementations of the manipulation logic. For instance, each device may assign itself a random mask value for key transformation logic as part of an initialization process when the device powers up and/or each time the device reboots. In an embodiment, described techniques may increase the entropy of hashing function outputs in certain contexts, thereby increasing the effectiveness of certain hashing functions.
    Type: Grant
    Filed: November 22, 2016
    Date of Patent: July 16, 2019
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Puneet Agarwal
  • Patent number: 10355981
    Abstract: Approaches, techniques, and mechanisms are disclosed for assigning paths to network packets. The path assignment techniques utilize path state information and/or other criteria to determine whether to route a packet along a primary candidate path selected for the packet, or one or more alternative candidate paths selected for the packet. According to an embodiment, network traffic is at least partially balanced by redistributing only a portion of the traffic that would have been assigned to a given primary path. Move-eligibility criteria are applied to traffic to determine whether a given packet is eligible for reassignment from a primary path to an alternative path. The move-eligibility criteria determine which portion of the network traffic to move and which portion to allow to proceed as normal. In an embodiment, the criteria and functions used to determine whether a packet is redistributable are adjusted over time based on path state information.
    Type: Grant
    Filed: March 1, 2017
    Date of Patent: July 16, 2019
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Puneet Agarwal, Meg Lin, Rupa Budhia
  • Publication number: 20190190849
    Abstract: A distributed switch architecture supports very high bandwidth applications. For instance, the distributed switch architecture may be implemented for cloud networks. The architecture scales by organizing traffic management components into tiled structures with distributed buffering. The tile structures are replicated and interconnected to perform transfers from ingress to egress using an interconnect bandwidth scheduling algorithm. Bandwidth scaling may be achieved by adding more tiles to achieve higher bandwidth. The interconnect in the architecture may be swapped out depending on implementation parameters, e.g., physical efficiency.
    Type: Application
    Filed: February 8, 2019
    Publication date: June 20, 2019
    Applicant: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
    Inventors: Amit Kumar, William Brad Matthews, Bruce Hui Kwan, Puneet Agarwal
  • Patent number: 10320691
    Abstract: Nodes within a network are configured to adapt to changing path states, due to congestion, node failures, and/or other factors. A node may selectively convey path information and/or other state information to another node by annotating the information into packets it receives from the other node. A node may selectively reflect these annotated packets back to the other node, or other nodes that subsequently receive these annotated packets may reflect them. A weighted cost multipathing selection technique is improved by dynamically adjusting weights of paths in response to feedback indicating the current state of the network topology, such as collected through these reflected packets. In an embodiment, certain packets that would have been dropped may instead be transformed into “special visibility” packets that may be stored and/or sent for analysis. In an embodiment, insight into the performance of a network device is enhanced through the use of programmable visibility engines.
    Type: Grant
    Filed: January 19, 2017
    Date of Patent: June 11, 2019
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Puneet Agarwal
  • Patent number: 10313255
    Abstract: A network device organizes packets into various queues, in which the packets await processing. Queue management logic tracks how long certain packet(s), such as a designated marker packet, remain in a queue. Based thereon, the logic produces a measure of delay for the queue, referred to herein as the “queue delay.” Based on a comparison of the current queue delay to one or more thresholds, various associated delay-based actions may be performed, such as tagging and/or dropping packets departing from the queue, or preventing addition enqueues to the queue. In an embodiment, a queue may be expired based on the queue delay, and all packets dropped. In other embodiments, when a packet is dropped prior to enqueue into an assigned queue, copies of some or all of the packets already within the queue at the time the packet was dropped may be forwarded to a visibility component for analysis.
    Type: Grant
    Filed: January 16, 2017
    Date of Patent: June 4, 2019
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Puneet Agarwal, Ajit Kumar Jain
  • Publication number: 20190139375
    Abstract: Method, computer program product, and system to facilitate an audit of a checkout transaction, where the checkout transaction is associated with a virtual transaction record reflecting interactions of a person with a first set of one or more items of a plurality of items within an environment. The method includes acquiring image information including a shopping receptacle associated with the checkout transaction, and identifying a second set of one or more items of the plurality of items that are included in the shopping receptacle using the acquired image information. The method further includes comparing the first and second sets of items, and determining, based on the comparison, whether to perform an audit of the checkout transaction.
    Type: Application
    Filed: January 7, 2019
    Publication date: May 9, 2019
    Inventors: Dean Frederick HERRING, Brad Matthew JOHNSON, Adrian Xavier RODRIGUEZ, Ankit SINGH, Jeffrey John SMITH
  • Patent number: 10277518
    Abstract: A network device organizes packets into various queues, in which the packets await processing. Queue management logic tracks how long certain packet(s), such as a designated marker packet, remain in a queue. Based thereon, the logic produces a measure of delay for the queue, referred to herein as the “queue delay.” Based on a comparison of the current queue delay to one or more thresholds, various associated delay-based actions may be performed, such as tagging and/or dropping packets departing from the queue, or preventing addition enqueues to the queue. In an embodiment, a queue may be expired based on the queue delay, and all packets dropped. In other embodiments, when a packet is dropped prior to enqueue into an assigned queue, copies of some or all of the packets already within the queue at the time the packet was dropped may be forwarded to a visibility component for analysis.
    Type: Grant
    Filed: January 16, 2017
    Date of Patent: April 30, 2019
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Puneet Agarwal, Ajit Kumar Jain
  • Patent number: 10263919
    Abstract: Techniques for more optimally balancing operations across a set of buffers, such as in buffering packets in a network device or in other contexts, are disclosed. The techniques make use of an ordered list of buffers from which the next available buffer is selected for each operation, as needed. The buffers are first prioritized based on the state(s) of the relevant buffers and/or other factors. The resulting ordered list is then processed using re-ordering logic. This re-ordering logic may, for example, randomly or pseudo-randomly trade the positions of various sets of buffers within the prioritized list. Among other effects, the re-ordering logic thus reduces buffer skew problems from delayed propagation of buffer state information and other issues. In an embodiment, the re-ordering logic is divided into multiple levels of processing, with each level separately passing through the list. Each level of processing may utilize differently configured re-ordering logic.
    Type: Grant
    Filed: November 6, 2017
    Date of Patent: April 16, 2019
    Assignee: Innovium, Inc.
    Inventors: William Brad Matthews, Puneet Agarwal, Bruce Hui Kwan, Ajit Kumar Jain
  • Patent number: 10257117
    Abstract: A distributed switch architecture supports very high bandwidth applications. For instance, the distributed switch architecture may be implemented for cloud networks. The architecture scales by organizing traffic management components into tiled structures with distributed buffering. The tile structures are replicated and interconnected to perform transfers from ingress to egress using an interconnect bandwidth scheduling algorithm. Bandwidth scaling may be achieved by adding more tiles to achieve higher bandwidth. The interconnect in the architecture may be swapped out depending on implementation parameters, e.g., physical efficiency.
    Type: Grant
    Filed: October 29, 2015
    Date of Patent: April 9, 2019
    Assignee: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
    Inventors: Amit Kumar, William Brad Matthews, Bruce Hui Kwan, Puneet Agarwal