Anchored patterns

US9514246B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9514246-B2
Application numberUS-201514632448-A
CountryUS
Kind codeB2
Filing dateFeb 26, 2015
Priority dateJun 24, 2011
Publication dateDec 6, 2016
Grant dateDec 6, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method and apparatus relate to recognizing anchored patterns from an input stream. Patterns from a plurality of given patterns are marked as anchored patterns. An anchored state tree for the anchored patterns of the plurality of given patterns is built, including nodes representing a state of the anchored state tree. For each node of the anchored state tree, a failure value equivalent to a node representing a state in an unanchored state tree representing unanchored patterns of the plurality of given patterns is determined.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: in a processor: building an unanchored state graph for unanchored patterns of a plurality of given patterns, the unanchored state graph including nodes representing a state of the unanchored state graph; building a separate anchored state graph for given patterns, of the plurality of given patterns, marked as anchored patterns, the anchored state graph including nodes representing a state of the anchored state graph; for each node of the anchored state graph, determining a failure value equivalent to a node representing a state in an unanchored state graph representing unanchored patterns of the plurality of given patterns; and including a failure value of a root node of the anchored state graph, the failure value being equivalent to a root node of the unanchored state graph. 2. The method of claim 1 , wherein the anchored state graph includes a root node that is set as a start node for processing anchored and unanchored patterns in an input payload. 3. The method of claim 1 , further comprising marking the given patterns, of the plurality of given patterns, as the anchored patterns. 4. The method of claim 3 , wherein marking includes adding a reference indicating a location within an input of a string of text to begin searching for the respective anchored pattern. 5. A method comprising: in a processor: building an unanchored state graph for unanchored patterns of a plurality of given patterns, the unanchored state graph including nodes representing a state of the unanchored state graph; building a separate anchored state graph for given patterns, of the plurality of given patterns, marked as anchored patterns, the anchored state graph including nodes representing a state of the anchored state graph; for each node of the anchored state graph, determining a failure value equivalent to a node representing a state in an unanchored state graph representing unanchored patterns of the plurality of given patterns; wherein each node of the anchored state graph includes an output function, the output function of each node is calculated as a function of both the anchored patterns and unanchored patterns. 6. The method of claim 5 , further comprising marking the given patterns, of the plurality of given patterns, as the anchored patterns. 7. A method comprising: in a processor: building an unanchored state graph for unanchored patterns of a plurality of given patterns, the unanchored state graph including nodes representing a state of the unanchored state graph; building a separate anchored state graph for given patterns, of the plurality of given patterns, marked as anchored patterns, the anchored state graph including nodes representing a state of the anchored state graph; for each node of the anchored state graph, determining a failure value equivalent to a node representing a state in an unanchored state graph representing unanchored patterns of the plurality of given patterns; wherein building the anchored state graph and building the separate unanchored state graph includes determining a number of states and transitions from one state to another. 8. The method of claim 7 , further comprising marking the given patterns, of the plurality of given patterns, as the anchored patterns. 9. A method comprising: in a processor: building an unanchored state graph for unanchored patterns of a plurality of given patterns, the unanchored state graph including nodes representing a state of the unanchored state graph; building a separate anchored state graph for given patterns of the plurality of given patterns, marked as anchored patterns, the anchored state graph including nodes representing a state of the anchored state graph; for each node of the anchored state graph, determining a failure value equivalent to a node representing a state in an unanchored state graph representing unanchored patterns of the plurality of given patterns; upon receiving an input string of text, processing the input string of text through the anchored state graph; and transitioning processing of the input string of text to a node of the unanchored state graph if a character of the input string of text results in one of the determined failure values on one of the nodes of the anchored state graph, the resulting failure value determining the node of the unanchored state graph to transition processing. 10. The method of claim 9 , further comprising marking the given patterns, of the plurality of given patterns, as the anchored patterns. 11. An apparatus comprising a processor configured to implement a compiler, the compiler configured to: build an unanchored state graph for unanchored patterns of a plurality of given patterns, the unanchored state graph including nodes representing a state of the unanchored state graph; build a separate anchored state graph for given patterns, of the plurality of given patterns, marked as anchored patterns, the anchored state graph including nodes representing a state of the anchored state graph; for each node of the anchored state graph, determine a failure value equivalent to a node representing a state in an unanchored state graph representing unanchored patterns of the plurality of given patterns; and determine a failure value of a root node of the anchored state graph, the failure value being equivalent to a root node of the unanchored state graph. 12. The apparatus of claim 11 , wherein the compiler is further configured to mark the given patterns, of the plurality of given patterns, as the anchored patterns. 13. The apparatus of claim 11 , wherein the anchored state graph includes a root node that is set as a start node for processing anchored and unanchored patterns in an input payload. 14. An apparatus comprising a processor configured to implement a compiler, the compiler configured to: build an unanchored state graph for unanchored patterns of a plurality of given patterns, the unanchored state graph including nodes representing a state of the unanchored state graph; build a separate anchored state graph for given patterns, of the plurality of given patterns, marked as anchored patterns, the anchored state graph including nodes representing a state of the anchored state graph; for each node of the anchored state graph, determine a failure value equivalent to a node representing a state in an unanchored state graph representing unanchored patterns of the plurality of given patterns; wherein each node of the anchored state graph includes an output function, the output function of each node is calculated as a function of both the anchored patterns and unanchored patterns. 15. The apparatus of claim 14 , wherein the compiler is further configured to mark the given patterns, of the plurality of given patterns, as the anchored patterns. 16. The apparatus of claim 14 , wherein the compiler is further configured to mark the given patterns by adding a reference indicating a location within an input of a string of text to begin searching for the respective anchored pattern. 17. An apparatus comprising a processor configured to implement a compiler, the compiler configured to: build an unanchored state graph for unanchored patterns of a plurality of given patterns, the unanchored state graph including nodes representing a state of the unanchored state graph; build a separate anchored state graph for given patterns, of the plurality of given patterns, marked as anchored patterns, the anchored state graph including nodes representing a state of the anchored state graph; for each node of the anchored state grap

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9514246B2 cover?
A method and apparatus relate to recognizing anchored patterns from an input stream. Patterns from a plurality of given patterns are marked as anchored patterns. An anchored state tree for the anchored patterns of the plurality of given patterns is built, including nodes representing a state of the anchored state tree. For each node of the anchored state tree, a failure value equivalent to a no…
Who is the assignee on this patent?
Cavium Inc
What technology area does this patent fall under?
Primary CPC classification G06F17/30958. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 06 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).