26. A method comprising: in a processor of a security appliance coupled to a network, by the processor: monitoring data received by the security appliance from the network, converting a nondeterministic finite automata (NFA) graph for a given set of patterns to a deterministic finite automata (DFA) graph, the processor employing the DFA graph in order to apply the given set of patterns to the data for the monitoring, wherein the converting includes: receiving a set of NFA states, the set of NFA states being transition states for a character of an alphabet recognized by the NFA graph; and hashing the set of NFA states received to produce a hash value and comparing the hash value with hash value entries in an Epsilon Closure (EC) cache table to determine whether the hash value is present in the EC cache table, the EC cache table mapping hash values of epsilon closures associated with sets of NFA states to corresponding DFA states and, in an event the hash value is present, setting a transition DFA state from a DFA state for the character to be a given DFA state, the given DFA state mapped to the hash value in the EC cache table.
26. A method comprising: in a processor of a security appliance coupled to a network, by the processor: monitoring data received by the security appliance from the network, converting a nondeterministic finite automata (NFA) graph for a given set of patterns to a deterministic finite automata (DFA) graph, the processor employing the DFA graph in order to apply the given set of patterns to the data for the monitoring, wherein the converting includes: receiving a set of NFA states, the set of NFA states being transition states for a character of an alphabet recognized by the NFA graph; and hashing the set of NFA states received to produce a hash value and comparing the hash value with hash value entries in an Epsilon Closure (EC) cache table to determine whether the hash value is present in the EC cache table, the EC cache table mapping hash values of epsilon closures associated with sets of NFA states to corresponding DFA states and, in an event the hash value is present, setting a transition DFA state from a DFA state for the character to be a given DFA state, the given DFA state mapped to the hash value in the EC cache table. 27. The method of claim 26 , wherein the hash value is a first hash value and wherein the method further comprises: if the first hash value is not present, computing the epsilon closure of the set of NFA states received; hashing the epsilon closure computed to produce a second hash value; adding a new entry into the EC cache table, the new entry mapping the second hash value to a new DFA state, the new DFA state mapped to the first hash value in a DFA states table; and setting the new DFA state as the transition DFA state from the DFA state for the character of the alphabet recognized by the NFA graph.