Patents by Inventor Wilson Parkhurst Snyder, II

Wilson Parkhurst Snyder, II 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: 20150195388
    Abstract: A tag mask generation method comprises receiving a section_selector flag indicating whether a tag mask for a section of a network packet is to be generated; receiving from a parser a parse information for the network packet, wherein the parse information includes a section_pointer that indicates a location of the section in the network packet; generating a pointer based on the section_pointer when the section_selector indicates that the tag mask for the section is to be generated; receiving a base mask for the section; and generating the tag mask via a shifter by shifting the base mask by the amount indicated by the pointer. The parse information may further include a section_pointer_valid flag indicating whether the section is included in the network packet, and the method may further comprise including the tag mask in a combined tag mask when the section_pointer_valid flag indicates that the section is included in the network packet.
    Type: Application
    Filed: January 8, 2014
    Publication date: July 9, 2015
    Applicant: CAVIUM, INC.
    Inventors: Wilson Parkhurst Snyder, II, Nicholas New Jamba
  • Publication number: 20150195386
    Abstract: Methods and systems are provided for operating a SIMD packet parsing cluster, wherein the cluster includes a plurality of M packet parsing engines 1 to M, and the cluster further includes a shared memory and an instruction memory storing a plurality of instructions to be performed by each of the engines, and wherein the instructions include one or more memory accessing instructions that require accessing the shared memory. The method comprises transmitting the instructions to the engines for instructions to be executed by the engines; for each of the engines 2 to M, delaying execution of each of the memory accessing instructions by a delay time compared to a previous engine; and each one of the engines performing one of the memory accessing instructions at a time that the other engines are not performing one of the memory accessing instructions.
    Type: Application
    Filed: January 8, 2014
    Publication date: July 9, 2015
    Applicant: CAVIUM, INC.
    Inventors: Wilson Parkhurst Snyder, II, Daniel Adam Katz
  • Publication number: 20150195387
    Abstract: A network packet classification method comprises receiving parse information derived from parsing a field in a network packet; comparing the parse information with information in a table to derive a comparison result, wherein the table includes information for mapping the field with one or more comparison results; based on the comparison result deriving a style value for the network packet; classifying the packet based on the style value; and processing the packet based on the classification. According to some embodiments, the method further comprises deriving or receiving an initial style value for the network packet, wherein deriving the style value includes modifying the initial style value based on the comparison result. According to some embodiments, the initial style value depends on a network path through which the network packet is received. The network path may include an interface or a channel through which the network packet is received.
    Type: Application
    Filed: January 8, 2014
    Publication date: July 9, 2015
    Applicant: CAVIUM, INC.
    Inventor: Wilson Parkhurst Snyder, II
  • Publication number: 20150195384
    Abstract: A packet parsing engine comprises a DMEM configured to store packet data; one or more registers configured to store parsing instructions or parse results; and one or more arithmetic logic units configured to parse the packet data based on the parsing instructions and to derive the parse results. The engine may be one engine of a plurality of engines configured to access a shared memory, and the engine may be configured to receive data from the shared memory or to send data to the shared memory. The DMEM may be divided into subsections, and at least one of the one or more registers may be divided into subsections, and the subsections may be configured such that while a DMEM subsection and its corresponding register subsection is parsing packet data for a first packet, one or more other subsections load packed data or unload parse results for a second packet.
    Type: Application
    Filed: January 8, 2014
    Publication date: July 9, 2015
    Applicant: CAVIUM, INC.
    Inventors: Wilson Parkhurst Snyder, II, Daniel Adam Katz, Varada Ramesh Ogale
  • Publication number: 20150186308
    Abstract: A method and a system embodying the method for interrupt collecting an reporting, comprising: storing for each of at least one interrupt a status indicator, an enable status, and an interrupt delivery information in a first structure; storing for each of the at least one interrupt at least an indicator of one or more entities to execute an interrupt handler routine in a second structure; and reporting one of the at least one interrupt to the one or more entities to execute an interrupt handler routine designated in accordance with the status indicator, the enable status, the interrupt delivery information, and the at least one indicator, is disclosed.
    Type: Application
    Filed: December 27, 2013
    Publication date: July 2, 2015
    Applicant: CAVIUM, INC.
    Inventors: Wilson Parkhurst Snyder, II, Lei Tian
  • Publication number: 20150186306
    Abstract: A method and an apparatus embodying the method for converting interrupts into scheduled events, comprising receiving an interrupt at an interrupt controller; determining a vector number for the interrupt; determining properties of an interrupt work in accordance with the vector number; and scheduling the interrupt work in accordance with the properties of the interrupt work, is disclosed.
    Type: Application
    Filed: December 26, 2013
    Publication date: July 2, 2015
    Applicant: CAVIUM, INC.
    Inventors: Wilson Parkhurst Snyder, II, Lei Tian
  • Publication number: 20150188816
    Abstract: A method and a system embodying the method for information lookup request processing at a look-aside processor unit comprising storing a received lookup transaction request in a first buffer; rebuilding the lookup transaction request into a request packet; transmitting the request packet; receiving a packet; determining whether the received packet comprises a response packet or an exception packet; and processing the received packet in accordance with the determining is disclosed. Furthermore, a method and a system embodying the method for exception packet processing at a look-aside processor unit comprising storing at least one received lookup transaction request in a first buffer; receiving a packet; determining that the received packet comprises an exception packet; and associating the exception packet with one of the at least one stored lookup transaction request in accordance with an identifier of the first buffer is disclosed.
    Type: Application
    Filed: December 27, 2013
    Publication date: July 2, 2015
    Applicant: CAVIUM, INC.
    Inventors: Wilson Parkhurst Snyder, II, Steven Craig Barner, Richard Eugene Kessler
  • Publication number: 20150178242
    Abstract: A method and a system embodying the method for receiving a remote direct memory access packet comprising an opaque data, a virtual address, and a payload at a virtual network interface card that generated the opaque data; reconstructing a stream identifier by separating the opaque data into an encrypted stream identifier and a first digest; decrypting the encrypted stream identifier; verifying the decrypted stream identifier using the first digest; providing the verified stream identifier to a system memory management unit; and mapping the virtual address and the provided stream identifier by the system memory management unit to a physical address, is disclosed.
    Type: Application
    Filed: December 25, 2013
    Publication date: June 25, 2015
    Applicant: CAVIUM, INC.
    Inventor: Wilson Parkhurst Snyder, II
  • Publication number: 20150180793
    Abstract: A method and a system embodying the method for virtualization of a quality of service, comprising associating a packet received at an interface with an aura via an aura identifier; determining configuration parameters for the aura; determining a pool for the aura; determining the state of the pool resources, the resources comprising a level of buffers available in the pool and a level of buffers allocated to the aura; and determining a quality of service for the packet in accordance with the determined state of the pool and the configuration parameters for the aura, is disclosed.
    Type: Application
    Filed: December 25, 2013
    Publication date: June 25, 2015
    Applicant: Cavium, Inc.
    Inventors: Wilson Parkhurst Snyder, II, Thomas Frederick Hummel, Anna Karen Kujtkowski
  • Publication number: 20150178195
    Abstract: A method and a system embodying the method for a memory address alignment, comprising configuring one or more naturally aligned buffer structure(s); providing a return address pointer in a buffer of one of the one or more naturally aligned buffer structure(s); determining a configuration of the one of the one or more naturally aligned buffer structure(s); applying a modulo arithmetic to the return address and at least one parameter of the determined configuration; and providing a stacked address pointer determined in accordance with the applied modulo arithmetic, is disclosed.
    Type: Application
    Filed: December 25, 2013
    Publication date: June 25, 2015
    Applicant: CAVIUM, INC.
    Inventors: Wilson Parkhurst Snyder, II, Anna Karen Kujtkowski
  • Publication number: 20150172180
    Abstract: A method and a system embodying the method for data lockdown and data overlay in a packet to be transmitted, comprising providing a first and a second masks comprising one or more position(s) and a data value at each of the one or more position(s); aligning the masks with the packet; comparing the data value at each of the one or more position(s) in the first mask with the data value at the one or more aligned position(s) in the packet; optionally replacing a data value at each of the one or more position(s) in the packet with a data value at the one or more aligned position(s) in the second mask; and providing the packet for transmission if the data value at each of the one or more position(s) in the first mask and the data value at the one or more aligned position(s) in the packet agree.
    Type: Application
    Filed: December 15, 2013
    Publication date: June 18, 2015
    Applicant: Cavium, Inc.
    Inventors: Wilson Parkhurst Snyder, II, Philip Romanov, Shahe Hagop Krakirian
  • Publication number: 20150172055
    Abstract: A method and a system embodying the method for generating an opaque data comprising a stream identifier, comprising encrypting at least part of a stream identifier with a first secret random data to provide an encrypted stream identifier; generating a digest by applying a cryptographic hash to at least the at least the part of the stream identifier; and combining the encrypted stream identifier with the digest, is disclosed Additionally, a method and a system embodying the method for reconstructing a stream identifier from the opaque data indicating permission to access a region of a storage at an entity that generated the opaque data is disclosed.
    Type: Application
    Filed: December 15, 2013
    Publication date: June 18, 2015
    Applicant: CAVIUM, INC.
    Inventor: Wilson Parkhurst Snyder, II
  • Publication number: 20150142977
    Abstract: A method and a system embodying the method for dynamically allocating context for Transmission Control Protocol (TCP) reassembly, comprising providing a fixed plurality of global common TCP contexts; reserving for each of one or more virtual network interface card(s) one or more TCP context(s) out of the fixed plurality of the global common TCP contexts; and allocating to a virtual network interface card from the one or more virtual network interface card(s) a TCP context from the reserved one or more TCP contexts when a reassemble able TCP packet is received by the virtual network interface card, is disclosed.
    Type: Application
    Filed: November 19, 2013
    Publication date: May 21, 2015
    Applicant: Cavium, Inc.
    Inventors: Wilson Parkhurst Snyder, II, Carl Richard Gyllenhammer
  • Patent number: 6189083
    Abstract: A prediction mechanism is provided for determining a bank of a secondary cache and a tag sub-store corresponding to a data element requested by a central processing unit. The mechanism employs a bit number select logic for determining unique bit number locations of differences between selected tag sub-store values. Those unique bit number locations are based upon the values of the tag sub-stores at previously determined difference locations. The bit number locations, and the values of the tag sub-stores at those bit number locations, are stored in a distinguishing bit RAM. When a main memory access is initiated, the values of the tag sub-stores at those bit number locations are compared with corresponding values of the tag portion of the main memory address. When that comparison indicates that selected ones of the tag sub-store values are equivalent to the corresponding values of the tag portion of the main memory address, an associated bank of the secondary cache is accessed.
    Type: Grant
    Filed: February 26, 1998
    Date of Patent: February 13, 2001
    Assignee: Compaq Computer Corporation
    Inventor: Wilson Parkhurst Snyder, II