Patents by Inventor Christopher F. Clark
Christopher F. Clark 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: 10218739Abstract: Methods and apparatus to perform string matching for network packet inspection are disclosed. In some embodiments there is a set of string matching slice circuits, each slice circuit of the set being configured to perform string matching steps in parallel with other slice circuits. Each slice circuit may include an input window storing some number of bytes of data from an input data steam. The input window of data may be padded if necessary, and then multiplied by a polynomial modulo an irreducible Galois-field polynomial to generate a hash index. A storage location of a memory corresponding to the hash index may be accessed to generate a slice-hit signal of a set of H slice-hit signals. The slice-hit signal may be provided to an AND-OR logic array where the set of H slice-hit signals is logically combined into a match result.Type: GrantFiled: February 22, 2016Date of Patent: February 26, 2019Assignee: Intel CorporationInventors: Vinodh Gopal, Christopher F. Clark, Gilbert M. Wolrich, Wajdi K. Feghali
-
Patent number: 9270698Abstract: Methods and apparatus to perform string matching for network packet inspection are disclosed. In some embodiments there is a set of string matching slice circuits, each slice circuit of the set being configured to perform string matching steps in parallel with other slice circuits. Each slice circuit may include an input window storing some number of bytes of data from an input data steam. The input window of data may be padded if necessary, and then multiplied by a polynomial modulo an irreducible Galois-field polynomial to generate a hash index. A storage location of a memory corresponding to the hash index may be accessed to generate a slice-hit signal of a set of H slice-hit signals. The slice-hit signal may be provided to an AND-OR logic array where the set of H slice-hit signals is logically combined into a match result.Type: GrantFiled: December 30, 2008Date of Patent: February 23, 2016Assignee: Intel CorporationInventors: Vinodh Gopal, Christopher F. Clark, Gilbert M. Wolrich, Wajdi K. Feghali
-
Patent number: 9223618Abstract: A multi-threaded processor may support efficient pattern matching techniques. An input data buffer may be provided, which may be shared between a fast path and a slow path. The processor may retire the data units in the input data buffer that is not required and thus avoids copying the data unit used by the slow path. The data management and the execution efficiency may be enhanced as multiple threads may be created to verify potential pattern matches in the input data stream. Also, the threads, which may stall may exit the execution units allowing other threads to run. Further, the problem of state explosion may be avoided by allowing the creation of parallel threads, using the fork instruction, in the slow path.Type: GrantFiled: September 20, 2011Date of Patent: December 29, 2015Assignee: Intel CorporationInventors: David K. Cassetti, Lokpraveen B. Mosur, Christopher F. Clark, Charles A. Lasswell
-
Patent number: 8484147Abstract: A method and apparatus to perform pattern matching is provided. The apparatus includes a first storage to store data representing a first set of pattern components, and a second storage to store data representing a second set of pattern components each corresponding to one or more components of the first set of pattern components. A first pattern matcher is configured to detect in an input stream a first component of one or more patterns and to generate a signal indicative of the detection of the first component. A second pattern matcher is configured to receive the signal from the first pattern matcher and to detect if a second component of the one or more patterns of the set of patterns immediately follows the first component in the input stream.Type: GrantFiled: December 19, 2008Date of Patent: July 9, 2013Assignee: Intel CorporationInventors: Christopher F. Clark, Vinodh Gopal, Gilbert M. Wolrich
-
Publication number: 20130074081Abstract: A multi-threaded processor may support efficient pattern matching techniques. An input data buffer may be provided, which may be shared between a fast path and a slow path. The processor may retire the data units in the input data buffer that is not required and thus avoids copying the data unit used by the slow path. The data management and the execution efficiency may be enhanced as multiple threads may be created to verify potential pattern matches in the input data stream. Also, the threads, which may stall may exit the execution units allowing other threads to run. Further, the problem of state explosion may be avoided by allowing the creation of parallel threads, using the fork instruction, in the slow path.Type: ApplicationFiled: September 20, 2011Publication date: March 21, 2013Inventors: David K. Cassetti, Lokpraveen B. Mosur, Christopher F. Clark, Charles A. Lasswell
-
Patent number: 8370274Abstract: Apparatuses and methods to perform pattern matching are presented. In one embodiment, an apparatus comprises a memory to store a first pattern table comprising information indicative of whether a byte of input data matches a pattern and whether to ignore other matches of the pattern occur in remaining bytes of the input data. The apparatus further comprises one-byte match logic coupled to the memory, to determine, based on the information in the first pattern table, a one-byte match event with respect to the input data. The apparatus further comprises a control unit to filter the other matches of the pattern based on the information of the first pattern table.Type: GrantFiled: May 29, 2009Date of Patent: February 5, 2013Assignee: Intel CorporationInventors: David K. Cassetti, Sanjeev Jain, Christopher F. Clark, Lokpraveen Bhupathy Mosur
-
Patent number: 8325069Abstract: Systems, methods, and apparatus for a scalable processor architecture for variety of string processing application are described. In one such apparatus, n input first in, first out (FIFO) buffer stores an input stream. A plurality of memory banks store data from the input stream. A re-configurable controller processes the input stream. And an output FIFO buffer stores the processed input stream.Type: GrantFiled: December 22, 2009Date of Patent: December 4, 2012Assignee: Intel CorporationInventors: Vinodh Gopal, Gilbert M. Wolrich, Christopher F. Clark, Wadji K. Feghali
-
Publication number: 20120150887Abstract: An embodiment may include circuitry to determine, at least in part, whether one or more reference patterns are present in a data stream in a packet flow. The circuitry may include first pattern matching circuitry communicatively coupled to second pattern matching circuitry. The first pattern matching circuitry may determine, based at least in part upon one or more deterministic pattern matching operations, whether at least one portion of the one or more reference patterns is present in the stream. If the first pattern matching circuitry determines that the at least one portion of the one or more reference patterns is present in the stream, the second pattern matching circuitry may determine, based at least in part upon one or more pattern matching threads, whether at least one other portion of the one or more reference patterns is present in the stream. Many modifications are possible without departing from this embodiment.Type: ApplicationFiled: December 8, 2010Publication date: June 14, 2012Inventors: Christopher F. Clark, Vinodh Gopal, Gilbert M. Wolrich
-
Publication number: 20110154169Abstract: Systems, methods, and apparatus for a scalable processor architecture for variety of string processing application are described. In one such apparatus, n input first in, first out (FIFO) buffer stores an input stream. A plurality of memory banks store data from the input stream. A re-configurable controller processes the input stream. And an output FIFO buffer stores the processed input stream.Type: ApplicationFiled: December 22, 2009Publication date: June 23, 2011Inventors: Vinodh Gopal, Gilbert M .Wolrich, Christopher F. Clark, Wadji K. Feghali
-
Publication number: 20110145205Abstract: An embodiment may include circuitry to determine, at least in part, based at least in part upon history information, whether one or more reference patterns are present in a data stream in a packet flow. The data stream may span at least one packet boundary in the packet flow. The history information may include a beginning portion of a packet in the data stream, an ending portion of the packet, and another portion of the data stream. The circuitry may overwrite the another portion of the history information with a respective portion of the data stream to be examined by the circuitry depending, at least in part, upon whether the circuitry determines, at least in part, whether the one or more reference patterns are present in the data stream. The respective portion may be relatively closer than the another portion is to a beginning of the data stream.Type: ApplicationFiled: December 14, 2009Publication date: June 16, 2011Inventors: Sanjeev Jain, Christopher F. Clark, David K. Cassetti
-
Publication number: 20100306263Abstract: Apparatuses and methods to perform pattern matching are presented. In one embodiment, an apparatus comprises a memory to store a first pattern table comprising information indicative of whether a byte of input data matches a pattern and whether to ignore other matches of the pattern occur in remaining bytes of the input data. The apparatus further comprises one-byte match logic coupled to the memory, to determine, based on the information in the first pattern table, a one-byte match event with respect to the input data. The apparatus further comprises a control unit to filter the other matches of the pattern based on the information of the first pattern table.Type: ApplicationFiled: May 29, 2009Publication date: December 2, 2010Inventors: David K. Cassetti, Sanjeev Jain, Christopher F. Clark, Lokpraveen Bhupathy Mosur
-
Publication number: 20100169401Abstract: Methods and apparatus to perform string matching for network packet inspection are disclosed. In some embodiments there is a set of string matching slice circuits, each slice circuit of the set being configured to perform string matching steps in parallel with other slice circuits. Each slice circuit may include an input window storing some number of bytes of data from an input data steam. The input window of data may be padded if necessary, and then multiplied by a polynomial modulo an irreducible Galois-field polynomial to generate a hash index. A storage location of a memory corresponding to the hash index may be accessed to generate a slice-hit signal of a set of H slice-hit signals. The slice-hit signal may be provided to an AND-OR logic array where the set of H slice-hit signals is logically combined into a match result.Type: ApplicationFiled: December 30, 2008Publication date: July 1, 2010Inventors: VINODH GOPAL, Christopher F. Clark, Gilbert Wolrich, Wajdi Feghali
-
Publication number: 20100161536Abstract: A method and apparatus to perform pattern matching is provided. The apparatus includes a first storage to store data representing a first set of pattern components, and a second storage to store data representing a second set of pattern components each corresponding to one or more components of the first set of pattern components. A first pattern matcher is configured to detect in an input stream a first component of one or more patterns and to generate a signal indicative of the detection of the first component. A second pattern matcher is configured to receive the signal from the first pattern matcher and to detect if a second component of the one or more patterns of the set of patterns immediately follows the first component in the input stream.Type: ApplicationFiled: December 19, 2008Publication date: June 24, 2010Inventors: Christopher F. Clark, Vinodh Gopal, Gilbert M. Wolrich