30. A security appliance coupled to a network, the security appliance comprising: a processor coupled to a data store, the processor configured to monitor data received by the security appliance from the network and to convert a nondeterministic finite automata (NFA) graph for a given set of patterns to a deterministic finite automata (DFA) graph having a number of DFA states, wherein the processor employs the DFA graph in order to apply the given set of patterns to the data to monitor the data and wherein to convert the NFA graph to the DFA graph the processor is further configured to: map a DFA state of the number of DFA states to a corresponding set of one or more NFA states of the NFA graph; compute a first hash value of the one or more NFA states of the corresponding set; store the first hash value in an entry of a DFA states table in the data store, the DFA states table correlating the DFA state to the first hash value; and determine a transition DFA state from the DFA state for a character of an alphabet recognized by the NFA graph, based on whether a second hash value of transitions of the one or more NFA states for the character exists in an Epsilon Closure (EC) cache table, the EC cache table including hash value entries mapped to DFA states, and wherein, in an event the second hash value exists, setting the transition DFA state to be a given DFA state, the given DFA state mapped to the second hash value in the EC cache table.
30. A security appliance coupled to a network, the security appliance comprising: a processor coupled to a data store, the processor configured to monitor data received by the security appliance from the network and to convert a nondeterministic finite automata (NFA) graph for a given set of patterns to a deterministic finite automata (DFA) graph having a number of DFA states, wherein the processor employs the DFA graph in order to apply the given set of patterns to the data to monitor the data and wherein to convert the NFA graph to the DFA graph the processor is further configured to: map a DFA state of the number of DFA states to a corresponding set of one or more NFA states of the NFA graph; compute a first hash value of the one or more NFA states of the corresponding set; store the first hash value in an entry of a DFA states table in the data store, the DFA states table correlating the DFA state to the first hash value; and determine a transition DFA state from the DFA state for a character of an alphabet recognized by the NFA graph, based on whether a second hash value of transitions of the one or more NFA states for the character exists in an Epsilon Closure (EC) cache table, the EC cache table including hash value entries mapped to DFA states, and wherein, in an event the second hash value exists, setting the transition DFA state to be a given DFA state, the given DFA state mapped to the second hash value in the EC cache table. 47. The security appliance of claim 30 wherein the processor is further configured to: in an event the second hash value does not exist in the EC cache table, compute an epsilon closure for the transitions of the one or more NFA states of the NFA graph; compute a third hash value of the epsilon closure; add a new entry into the EC cache table, the new entry mapping a new DFA state to the third hash value of the epsilon closure; and set the new DFA state as the transition DFA state for the character of the alphabet recognized by the NFA graph.