Patents by Inventor Muhammad R. Hussain

Muhammad R. Hussain 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: 9652505
    Abstract: An improved content search mechanism uses a graph that includes intelligent nodes avoids the overhead of post processing and improves the overall performance of a content processing application. An intelligent node is similar to a node in a DFA graph but includes a command. The command in the intelligent node allows additional state for the node to be generated and checked. This additional state allows the content search mechanism to traverse the same node with two different interpretations. By generating state for the node, the graph of nodes does not become exponential. It also allows a user function to be called upon reaching a node, which can perform any desired user tasks, including modifying the input data or position.
    Type: Grant
    Filed: April 21, 2016
    Date of Patent: May 16, 2017
    Assignee: Cavium, Inc.
    Inventors: Muhammad R. Hussain, David A. Carlson, Gregg A. Bouchard, Trent Parker
  • Publication number: 20160232210
    Abstract: An improved content search mechanism uses a graph that includes intelligent nodes avoids the overhead of post processing and improves the overall performance of a content processing application. An intelligent node is similar to a node in a DFA graph but includes a command. The command in the intelligent node allows additional state for the node to be generated and checked. This additional state allows the content search mechanism to traverse the same node with two different interpretations. By generating state for the node, the graph of nodes does not become exponential. It also allows a user function to be called upon reaching a node, which can perform any desired user tasks, including modifying the input data or position.
    Type: Application
    Filed: April 21, 2016
    Publication date: August 11, 2016
    Inventors: Muhammad R. Hussain, David A. Carlson, Gregg A. Bouchard, Trent Parker
  • Patent number: 9336328
    Abstract: An improved content search mechanism uses a graph that includes intelligent nodes avoids the overhead of post processing and improves the overall performance of a content processing application. An intelligent node is similar to a node in a DFA graph but includes a command. The command in the intelligent node allows additional state for the node to be generated and checked. This additional state allows the content search mechanism to traverse the same node with two different interpretations. By generating state for the node, the graph of nodes does not become exponential. It also allows a user function to be called upon reaching a node, which can perform any desired user tasks, including modifying the input data or position.
    Type: Grant
    Filed: July 22, 2014
    Date of Patent: May 10, 2016
    Assignee: Cavium, Inc.
    Inventors: Muhammad R. Hussain, David A. Carlson, Gregg A. Bouchard, Trent Parker
  • Publication number: 20140337387
    Abstract: An improved content search mechanism uses a graph that includes intelligent nodes avoids the overhead of post processing and improves the overall performance of a content processing application. An intelligent node is similar to a node in a DFA graph but includes a command. The command in the intelligent node allows additional state for the node to be generated and checked. This additional state allows the content search mechanism to traverse the same node with two different interpretations. By generating state for the node, the graph of nodes does not become exponential. It also allows a user function to be called upon reaching a node, which can perform any desired user tasks, including modifying the input data or position.
    Type: Application
    Filed: July 22, 2014
    Publication date: November 13, 2014
    Inventors: Muhammad R. Hussain, David A. Carlson, Gregg A. Bouchard, Trent Parker
  • Patent number: 8818921
    Abstract: An improved content search mechanism uses a graph that includes intelligent nodes avoids the overhead of post processing and improves the overall performance of a content processing application. An intelligent node is similar to a node in a DFA graph but includes a command. The command in the intelligent node allows additional state for the node to be generated and checked. This additional state allows the content search mechanism to traverse the same node with two different interpretations. By generating state for the node, the graph of nodes does not become exponential. It also allows a user function to be called upon reaching a node, which can perform any desired user tasks, including modifying the input data or position.
    Type: Grant
    Filed: September 27, 2013
    Date of Patent: August 26, 2014
    Assignee: Cavium, Inc.
    Inventors: Muhammad R. Hussain, David A. Carlson, Gregg A. Bouchard, Trent Parker
  • Patent number: 8677144
    Abstract: In an embodiment, authenticated hardware and authenticated software are cryptographically binded using symmetric and asymmetric cryptography. Cryptographically binding the hardware and software ensures that original equipment manufacturer (OEM) hardware will only run OEM software. Cryptographically binding the hardware and software protects the OEM binary code so it will only run on the OEM hardware and cannot be replicated or altered to operate on unauthorized hardware. This cryptographic binding technique is referred to herein as secure software and hardware association (SSHA).
    Type: Grant
    Filed: February 24, 2009
    Date of Patent: March 18, 2014
    Assignee: Cavium, Inc.
    Inventors: Amer Haider, Muhammad R. Hussain, Richard E. Kessler, Imran Badr
  • Publication number: 20140032607
    Abstract: An improved content search mechanism uses a graph that includes intelligent nodes avoids the overhead of post processing and improves the overall performance of a content processing application. An intelligent node is similar to a node in a DFA graph but includes a command. The command in the intelligent node allows additional state for the node to be generated and checked. This additional state allows the content search mechanism to traverse the same node with two different interpretations. By generating state for the node, the graph of nodes does not become exponential. It also allows a user function to be called upon reaching a node, which can perform any desired user tasks, including modifying the input data or position.
    Type: Application
    Filed: September 27, 2013
    Publication date: January 30, 2014
    Applicant: Cavium, Inc.
    Inventors: Muhammad R. Hussain, David A. Carlson, Gregg A. Bouchard, Trent Parker
  • Patent number: 8560475
    Abstract: An improved content search mechanism uses a graph that includes intelligent nodes avoids the overhead of post processing and improves the overall performance of a content processing application. An intelligent node is similar to a node in a DFA graph but includes a command. The command in the intelligent node allows additional state for the node to be generated and checked. This additional state allows the content search mechanism to traverse the same node with two different interpretations. By generating state for the node, the graph of nodes does not become exponential. It also allows a user function to be called upon reaching a node, which can perform any desired user tasks, including modifying the input data or position.
    Type: Grant
    Filed: September 12, 2005
    Date of Patent: October 15, 2013
    Assignee: Cavium, Inc.
    Inventors: Muhammad R. Hussain, David A. Carlson, Gregg A. Bouchard, Trent Parker
  • Patent number: 8392590
    Abstract: A processor for traversing deterministic finite automata (DFA) graphs with incoming packet data in real-time. The processor includes at least one processor core and a DFA module operating asynchronous to the at least one processor core for traversing at least one DFA graph stored in a non-cache memory with packet data stored in a cache-coherent memory.
    Type: Grant
    Filed: September 7, 2005
    Date of Patent: March 5, 2013
    Assignee: Cavium, Inc.
    Inventors: Gregg A. Bouchard, David A. Carlson, Richard E. Kessler, Muhammad R. Hussain
  • Patent number: 8301788
    Abstract: A computer-readable instruction is described for traversing deterministic finite automata (DFA) graphs to perform a pattern search in the in-coming packet data in real-time. The instruction includes one or more pre-defined fields. One of the fields includes a DFA graph identifier for identifying one of several previously-stored DFA graphs. Another one of the fields includes an input reference for identifying input data to be processed using the identified DFA graphs. Yet another one of the fields includes an output reference for storing results generated responsive to the processed input data. The instructions are forwarded to a DFA engine adapted to process the input data using the identified DFA graph and to provide results as instructed by the output reference.
    Type: Grant
    Filed: September 7, 2005
    Date of Patent: October 30, 2012
    Assignee: Cavium, Inc.
    Inventors: Gregg A. Bouchard, David A. Carlson, Richard E. Kessler, Muhammad R. Hussain
  • Patent number: 7930349
    Abstract: A network application executing on a host system provides a list of application buffers in host memory stored in a queue to a network services processor coupled to the host system. The application buffers are used for storing data transferred on a socket established between the network application and a remote network application executing in a remote host system. Using the application buffers, data received by the network services processor over the network is transferred between the network services processor and the application buffers. After the transfer, a completion notification is written to one of the two control queues in the host system. The completion notification includes the size of the data transferred and an identifier associated with the socket. The identifier identifies a thread associated with the transferred data and the location of the data in the host system.
    Type: Grant
    Filed: October 6, 2009
    Date of Patent: April 19, 2011
    Assignee: Cavium Networks, Inc.
    Inventors: Muhammad R. Hussain, Richard E. Kessler, Faisal Masood, Robert A. Sanzone, Imran Badr
  • Patent number: 7814310
    Abstract: A method and apparatus for optimizing IPsec processing by providing execution units with windowing data during prefetch and managing coherency of security association data by management of security association accesses. Providing execution units with windowing data allows initial parallel processing of IPsec packets. The security association access ordering apparatus serializes access to the dynamic section of security association data according to packet order arrival while otherwise allowing parallel processing of the IPsec packet by multiple execution units in a security processor.
    Type: Grant
    Filed: April 12, 2003
    Date of Patent: October 12, 2010
    Assignee: Cavium Networks
    Inventors: Gregg A. Bouchard, Richard E. Kessler, Muhammad R. Hussain
  • Publication number: 20100023626
    Abstract: A network application executing on a host system provides a list of application buffers in host memory stored in a queue to a network services processor coupled to the host system. The application buffers are used for storing data transferred on a socket established between the network application and a remote network application executing in a remote host system. Using the application buffers, data received by the network services processor over the network is transferred between the network services processor and the application buffers. After the transfer, a completion notification is written to one of the two control queues in the host system. The completion notification includes the size of the data transferred and an identifier associated with the socket. The identifier identifies a thread associated with the transferred data and the location of the data in the host system.
    Type: Application
    Filed: October 6, 2009
    Publication date: January 28, 2010
    Applicant: Cavium Networks, Inc.
    Inventors: Muhammad R. Hussain, Richard E. Kessler, Faisal Masood, Robert A. Sanzone, Imran Badr
  • Patent number: 7613813
    Abstract: A network application executing on a host system provides a list of application buffers in host memory stored in a queue to a network services processor coupled to the host system. The application buffers are used for storing data transferred on a socket established between the network application and a remote network application executing in a remote host system. Using the application buffers, data received by the network services processor over the network is transferred between the network services processor and the application buffers. After the transfer, a completion notification is written to one of the two control queues in the host system. The completion notification includes the size of the data transferred and an identifier associated with the socket. The identifier identifies a thread associated with the transferred data and the location of the data in the host system.
    Type: Grant
    Filed: September 12, 2005
    Date of Patent: November 3, 2009
    Assignee: Cavium Networks, Inc.
    Inventors: Muhammad R. Hussain, Richard E. Kessler, Faisal Masood, Robert A. Sanzone, Imran Badr
  • Patent number: 7594081
    Abstract: A content aware application processing system is provided for allowing directed access to data stored in a non-cache memory thereby bypassing cache coherent memory. The processor includes a system interface to cache coherent memory and a low latency memory interface to a non-cache coherent memory. The system interface directs memory access for ordinary load/store instructions executed by the processor to the cache coherent memory. The low latency memory interface directs memory access for non-ordinary load/store instructions executed by the processor to the non-cache memory, thereby bypassing the cache coherent memory. The non-ordinary load/store instruction can be a coprocessor instruction. The memory can be a low-latency type memory. The processor can include a plurality of processor cores.
    Type: Grant
    Filed: December 28, 2004
    Date of Patent: September 22, 2009
    Assignee: Cavium Networks, Inc.
    Inventors: Gregg A. Bouchard, David A. Carlson, Richard E. Kessler, Muhammad R. Hussain
  • Publication number: 20090217054
    Abstract: In an embodiment, authenticated hardware and authenticated software are cryptographically binded using symmetric and asymmetric cryptography. Cryptographically binding the hardware and software ensures that original equipment manufacturer (OEM) hardware will only run OEM software. Cryptographically binding the hardware and software protects the OEM binary code so it will only run on the OEM hardware and cannot be replicated or altered to operate on unauthorized hardware. This cryptographic binding technique is referred to herein as secure software and hardware association (SSHA).
    Type: Application
    Filed: February 24, 2009
    Publication date: August 27, 2009
    Applicant: Cavium Networks, Inc.
    Inventors: Amer Haider, Muhammad R. Hussain, Richard E. Kessler, Imran Badr
  • Patent number: 7535907
    Abstract: A network transport layer accelerator accelerates processing of packets so that packets can be forwarded at wire-speed. To accelerate processing of packets, the accelerator performs pre-processing on a network transport layer header encapsulated in a packet for a connection and performs in-line network transport layer checksum insertion prior to transmitting a packet. A timer unit in the accelerator schedules processing of the received packets. The accelerator also includes a free pool allocator which manages buffers for storing the received packets and a packet order unit which synchronizes processing of received packets for a same connection.
    Type: Grant
    Filed: September 2, 2005
    Date of Patent: May 19, 2009
    Assignee: Oavium Networks, Inc.
    Inventors: Muhammad R. Hussain, Imran Badr, Faisal Masood, Philip H. Dickinson, Richard E. Kessler, Daniel A. Katz, Michael S. Bertone, Robert A. Sanzone, Thomas F. Hummel, Gregg A. Bouchard
  • Patent number: 7398386
    Abstract: A method and apparatus for transparent processing of IPsec network traffic by a security processor in line between a framer and a network processor. Security processor parses packet header and tail information to determine if encryption or decryption is required. After encryption or decryption is completed packet header and tail information is modified to reflect the changes in the packet such as length of the packet. The modified packet is then passed on to the network processor or framer.
    Type: Grant
    Filed: April 12, 2003
    Date of Patent: July 8, 2008
    Assignee: Cavium Networks, Inc.
    Inventors: Richard E. Kessler, Muhammad R. Hussain
  • Publication number: 20040205332
    Abstract: A method and apparatus for optimizing IPsec processing by providing execution units with windowing data during prefetch and managing coherency of security association data by management of security association accesses. Providing execution units with windowing data allows initial parallel processing of IPsec packets. The security association access ordering apparatus serializes access to the dynamic section of security association data according to packet order arrival while otherwise allowing parallel processing of the IPsec packet by multiple execution units in a security processor.
    Type: Application
    Filed: April 12, 2003
    Publication date: October 14, 2004
    Inventors: Gregg A. Bouchard, Richard E. Kessler, Muhammad R. Hussain
  • Publication number: 20040205336
    Abstract: A method and apparatus for transparent processing of IPsec network traffic by a security processor in line between a framer and a network processor. Security processor parses packet header and tail information to determine if encryption or decryption is required. After encryption or decryption is completed packet header and tail information is modified to reflect the changes in the packet such as length of the packet. The modified packet is then passed on to the network processor or framer.
    Type: Application
    Filed: April 12, 2003
    Publication date: October 14, 2004
    Inventors: Richard E. Kessler, Muhammad R. Hussain