Patents by Inventor Jonathan Stroud

Jonathan Stroud 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: 9154413
    Abstract: A method of processing network traffic within a computing system, comprises at a first configurable logic device (CLD), receiving an ingress network packet from an external network interface, associating the ingress network packet with a timestamp indicating the time of receipt, parsing the ingress network packet to locate a link-layer checksum value and a routing-layer checksum value, determining whether the link-layer and routing-layer checksum values are correct based on the ingress network packet contents, and transmitting the ingress network packet to a second CLD via a high-speed interconnection; and at the second CLD receiving the ingress network packet, parsing the ingress network packet to locate a source address and a destination address, determining a destination and a route for the ingress network packet based at least in part on the source and destination addresses, and transmitting the ingress network packet to the determined destination via the determined route.
    Type: Grant
    Filed: June 21, 2012
    Date of Patent: October 6, 2015
    Assignee: BreakingPoint Systems, Inc.
    Inventors: Jonathan Stroud, Michael Moriarty
  • Patent number: 9026688
    Abstract: A system for programming one or more configurable logic devices (e.g., FPGA or CPLD) via universal serial bus (USB) may include one or more CLDs; a microcontroller coupled to the one or more CLDs via a parallel data bus; a processor coupled to the microcontroller via a USB interface, the processor having access to CLD access logic and one or more CLD images; and instructions executable by the processor to program at least one of the CLDs by loading the CLD access logic onto the microcontroller, using the CLD access logic loaded on the microcontroller to set each of the at least one CLD to a programming mode, and forwarding a particular CLD image from the processor to the microcontroller via the USB interface and from the microcontroller to each of the at least one CLD via the parallel data bus.
    Type: Grant
    Filed: June 21, 2012
    Date of Patent: May 5, 2015
    Assignee: Breakingpoint Systems, Inc.
    Inventor: Jonathan Stroud
  • Patent number: 8959325
    Abstract: A method for booting devices in a multi-card computing system comprising a plurality of cards connected to a shared backplane may include: dynamically generating a Media Access Control (MAC) addresses for at least some of the devices in the computing system, the dynamically generated MAC address for each device including information regarding the location of that device within the multi-card computing system; a boot management system receiving a boot-related information request from a particular device in the multi-card system, the boot-related information request comprising a request for particular boot-related information for facilitating a boot process for the requesting device, and including the MAC address of the requesting device; and the boot management system determining whether to send a response to the requesting device with the requested boot-related information based at least on the information in the MAC address regarding the location of the requesting device within the multi-card computing syste
    Type: Grant
    Filed: June 21, 2012
    Date of Patent: February 17, 2015
    Assignee: BreakingPoint Systems, Inc.
    Inventors: Brent Aaron Cook, Jonathan Stroud
  • Patent number: 8929379
    Abstract: A method of routing internal network traffic within a computing system comprises receiving a network packet at a configurable logic device (CLD), parsing the network packet to obtain a destination address, searching a predetermined range of a routing table wherein each row of the routing table specifies a range of possible destination addresses and routing information, identifying a matching row of the routing table wherein the destination address falls within the range of possible destination addresses of the matching row, and routing the packet according to the routing information.
    Type: Grant
    Filed: June 21, 2012
    Date of Patent: January 6, 2015
    Assignee: Breakingpoint Systems, Inc.
    Inventors: Jonathan Stroud, Michael Moriarty, Brent Aaron Cook
  • Patent number: 8891528
    Abstract: A method for managing the capture of packets in a computing system comprises maintaining a buffer tail pointer in a memory of an instruction executing device, receiving a series of packets at an instruction executing device, for each received packet prepending a header comprising a packet length and a packet pointer set to a current value of the buffer tail pointer, determining a next free memory location by adding the current value of the buffer tail pointer to the length of a previous packet identified by the buffer tail pointer, temporarily writing the packet and prepend header to the next free memory location in a circular packet buffer in a memory coupled to the instruction executing device, and setting the buffer tail pointer to the next free memory location.
    Type: Grant
    Filed: June 21, 2012
    Date of Patent: November 18, 2014
    Assignee: Breakingpoint Systems, Inc.
    Inventors: Michael Moriarty, Mark Veteikis, Jonathan Stroud
  • Patent number: 8856600
    Abstract: A method of sending programming and debug commands, comprises loading control instructions on a processor from an attached tangible, non-transitory computer-readable medium, copying the contents of a program image file by the processor from the computer-readable medium across a bus to a programmable device on the same card as the processor, signaling the programmable device to send an instruction to a configurable logic device (CLD) on the same card as the processor via a debug channel.
    Type: Grant
    Filed: June 21, 2012
    Date of Patent: October 7, 2014
    Assignee: Breakingpoint Systems, Inc.
    Inventors: Timothy Zadigian, Jonathan Stroud, Michael Moriarty
  • Patent number: 8824508
    Abstract: A method offloading data intensive tasks from a processor comprises receiving at a configurable logic device (CLD) a network packet, parsing the network packet to determine that the packet is a TCP segment, searching a partially assembled packet table to locate an associated partially assembled packet data structure, inserting the network packet into the associated partially assembled packet data structure, recognizing that the partially assembled packet data structure contains every segment produced from an original TCP packet, assembling a fully assembled TCP packet from the data in the partially assembled packet data structure, and transmitting the fully assembled TCP packet to a processor in the same computer system as the CLD.
    Type: Grant
    Filed: June 21, 2012
    Date of Patent: September 2, 2014
    Assignee: Breakingpoint Systems, Inc.
    Inventors: Jonathan Stroud, Brent Aaron Cook
  • Patent number: 8811401
    Abstract: A method of routing internal network traffic within a computing system, comprises receiving a network packet at a configurable logic device (CLD), parsing the network packet to obtain a source address and a destination address, searching a predetermined range of a routing table wherein each row of the routing table specifies a range of possible destination addresses and a thread group identifier, identifying a matching row of the routing table wherein the destination address falls within the range of possible destination addresses of the matching row, calculating a hash value based at least in part on the source and destination addresses, and determining a thread identifier based at least in part on the hash value and the thread group identifier.
    Type: Grant
    Filed: June 21, 2012
    Date of Patent: August 19, 2014
    Assignee: BreakingPoint Systems, Inc.
    Inventors: Jonathan Stroud, Brent Aaron Cook
  • Patent number: 8706921
    Abstract: A method of initializing programmable devices on a shared bus, comprises, on power up, loading control instructions on a processor from an attached tangible, non-transient computer-readable medium, automatically allowing a first programmable device on a common bus to exit its reset state and enter a read-to-program state as the computer system powers up, automatically holding a second programmable device on the common bus in its reset state, querying the common bus by the processor to identify the first programmable device, copying the contents of a program image file by the processor from the computer-readable medium across the common bus to the first programmable device, and once the first programmable device has been programmed with the contents of the program image file, signaling the first programmable device to release the reset hold on the second programmable device.
    Type: Grant
    Filed: June 21, 2012
    Date of Patent: April 22, 2014
    Assignee: BreakingPoint Systems, Inc.
    Inventors: Timothy Zadigian, Jonathan Stroud
  • Publication number: 20130346736
    Abstract: A method for booting devices in a multi-card computing system comprising a plurality of cards connected to a shared backplane may include: dynamically generating a Media Access Control (MAC) addresses for at least some of the devices in the computing system, the dynamically generated MAC address for each device including information regarding the location of that device within the multi-card computing system; a boot management system receiving a boot-related information request from a particular device in the multi-card system, the boot-related information request comprising a request for particular boot-related information for facilitating a boot process for the requesting device, and including the MAC address of the requesting device; and the boot management system determining whether to send a response to the requesting device with the requested boot-related information based at least on the information in the MAC address regarding the location of the requesting device within the multi-card computing syste
    Type: Application
    Filed: June 21, 2012
    Publication date: December 26, 2013
    Inventors: Brent Aaron Cook, Jonathan Stroud
  • Publication number: 20130346628
    Abstract: A method for assigning Media Access Control (MAC) addresses to devices of a computing system includes: for each of a plurality of devices of the computing system, determining particular information regarding that device during a boot process for that device, and dynamically generating a MAC address for each device that indicates the determined particular information regarding that device. The particular information regarding each device may include, for example, information regarding the location of the device in the system (e.g., slot information), device type information, device number information, etc.
    Type: Application
    Filed: June 21, 2012
    Publication date: December 26, 2013
    Inventors: Rodney S. Canion, Brent Aaron Cook, Jonathan Stroud
  • Publication number: 20130346639
    Abstract: A system for programming one or more configurable logic devices (e.g., FPGA or CPLD) via universal serial bus (USB) may include one or more CLDs; a microcontroller coupled to the one or more CLDs via a parallel data bus; a processor coupled to the microcontroller via a USB interface, the processor having access to CLD access logic and one or more CLD images; and instructions executable by the processor to program at least one of the CLDs by loading the CLD access logic onto the microcontroller, using the CLD access logic loaded on the microcontroller to set each of the at least one CLD to a programming mode, and forwarding a particular CLD image from the processor to the microcontroller via the USB interface and from the microcontroller to each of the at least one CLD via the parallel data bus.
    Type: Application
    Filed: June 21, 2012
    Publication date: December 26, 2013
    Inventor: Jonathan Stroud
  • Publication number: 20130346756
    Abstract: A computer implemented method for branding a commodity drive may include reading a unique identifier from a drive, partitioning the drive into a first partition and a second partition, combining the unique identifier with a secret to form an encoded value, and writing the encoded value to the first partition.
    Type: Application
    Filed: June 21, 2012
    Publication date: December 26, 2013
    Inventors: Brent Aaron Cook, Gregory L. Singleton, Kristopher Len Raney, Jonathan Stroud
  • Publication number: 20130343377
    Abstract: A method for distributing packets across multiple parallel interfaces between a first instruction executing device and a second instruction executing device may include: the first instruction executing device receiving a stream of data packets, each data packet including header information regarding that data packet; and for each data packet, the first instruction executing device executing instructions to identify one or more particular information elements in the data packet; execute a hash function to the one or more particular information elements to calculate a hash value for the data packet; select a particular one of the multiple parallel communication interfaces based on the calculated hash value for the data packet; and forward the data packet to the second instruction executing device via the selected communication interface. Such method may provide traffic load balancing across the multiple parallel interfaces.
    Type: Application
    Filed: June 21, 2012
    Publication date: December 26, 2013
    Inventors: Jonathan Stroud, Brent Aaron Cook
  • Publication number: 20130343379
    Abstract: A method of communicating between devices within a card in a computing system comprises sending a command network packet from a first instruction executing device to a second instruction executing device via an Ethernet network, wherein the command network packet contains an instruction to be executed on the second instruction executing device, and receiving a responsive network packet sent from the second instruction executing device to the first instruction executing device via the Ethernet network, wherein the responsive network packet indicates a result of the instruction.
    Type: Application
    Filed: June 21, 2012
    Publication date: December 26, 2013
    Inventors: Jonathan Stroud, Mark Veteikis, Brent Aaron Cook
  • Publication number: 20130343387
    Abstract: A method of routing internal network traffic within a computing system comprises receiving a network packet at a configurable logic device (CLD), parsing the network packet to obtain a destination address, searching a predetermined range of a routing table wherein each row of the routing table specifies a range of possible destination addresses and routing information, identifying a matching row of the routing table wherein the destination address falls within the range of possible destination addresses of the matching row, and routing the packet according to the routing information.
    Type: Application
    Filed: June 21, 2012
    Publication date: December 26, 2013
    Inventors: Jonathan Stroud, Michael Moriarty, Brent Aaron Cook
  • Publication number: 20130346667
    Abstract: A multi-card system includes a card having a plurality of serial port devices, an inter-card serial bus connection configured for connection to an inter-card serial bus, and an intra-card and inter-card serial port access system. The serial port access system may include a switch configured to provide switchable serial connections between any of the devices on the card, and an inter-card signaling system to communicate switching instructions to other cards. A serial connection can be enabled between a particular device on the card and a target device on another card by controlling the switch to connect the particular device with the inter-card serial bus connection, and sending an instruction to the other card via the inter-card signaling system to enable a connection between the target device and the inter-card serial bus, such that a serial connection is provided between the particular device and the target device via the inter-card serial bus.
    Type: Application
    Filed: June 21, 2012
    Publication date: December 26, 2013
    Inventors: Jonathan Stroud, Timothy Zadigian, Brent Aaron Cook, Gregory L. Singleton
  • Publication number: 20130343389
    Abstract: A method of processing network traffic within a computing system, comprises at a first configurable logic device (CLD), receiving an ingress network packet from an external network interface, associating the ingress network packet with a timestamp indicating the time of receipt, parsing the ingress network packet to locate a link-layer checksum value and a routing-layer checksum value, determining whether the link-layer and routing-layer checksum values are correct based on the ingress network packet contents, and transmitting the ingress network packet to a second CLD via a high-speed interconnection; and at the second CLD receiving the ingress network packet, parsing the ingress network packet to locate a source address and a destination address, determining a destination and a route for the ingress network packet based at least in part on the source and destination addresses, and transmitting the ingress network packet to the determined destination via the determined route.
    Type: Application
    Filed: June 21, 2012
    Publication date: December 26, 2013
    Inventors: Jonathan Stroud, Michael Moriarty
  • Publication number: 20130343380
    Abstract: A method of flexibly binding physical network interface ports to a processor in a network testing system comprises generating an egress network packet with a prepend header at a processor, wherein the prepend header specifies a particular physical network interface through which the egress network packet should be transmitted, transmitting the prepended network packet to a configurable logic device (CLD), routing the prepended network packet to the specified physical network interface.
    Type: Application
    Filed: June 21, 2012
    Publication date: December 26, 2013
    Inventors: Rodney S. Canion, Brent Aaron Cook, Jonathan Stroud, Michael Moriarty
  • Publication number: 20130343388
    Abstract: A method of routing internal network traffic within a computing system, comprises receiving a network packet at a configurable logic device (CLD), parsing the network packet to obtain a source address and a destination address, searching a predetermined range of a routing table wherein each row of the routing table specifies a range of possible destination addresses and a thread group identifier, identifying a matching row of the routing table wherein the destination address falls within the range of possible destination addresses of the matching row, calculating a hash value based at least in part on the source and destination addresses, and determining a thread identifier based at least in part on the hash value and the thread group identifier.
    Type: Application
    Filed: June 21, 2012
    Publication date: December 26, 2013
    Inventors: Jonathan Stroud, Brent Aaron Cook