Limits...
A memory-efficient deterministic finite automaton-based bit-split string matching scheme using pattern uniqueness in deep packet inspection.

Kim H, Choi KI, Choi SI - PLoS ONE (2015)

Bottom Line: In the bit-split string matching, multiple finite-state machine (FSM) tiles with several input bit groups are adopted in order to reduce the number of stored state transitions.Therefore, the memory requirements are significantly decreased by not storing the matching vectors in the string matchers for the set of unique patterns.The experimental results show that the proposed string matching scheme can reduce the storage cost significantly compared to the previous bit-split string matching methods.

View Article: PubMed Central - PubMed

Affiliation: School of Electronics and Electrical Engineering, Dankook University, Yongin-si, Republic of Korea.

ABSTRACT
This paper proposes a memory-efficient bit-split string matching scheme for deep packet inspection (DPI). When the number of target patterns becomes large, the memory requirements of the string matching engine become a critical issue. The proposed string matching scheme reduces the memory requirements using the uniqueness of the target patterns in the deterministic finite automaton (DFA)-based bit-split string matching. The pattern grouping extracts a set of unique patterns from the target patterns. In the set of unique patterns, a pattern is not the suffix of any other patterns. Therefore, in the DFA constructed with the set of unique patterns, when only one pattern can be matched in an output state. In the bit-split string matching, multiple finite-state machine (FSM) tiles with several input bit groups are adopted in order to reduce the number of stored state transitions. However, the memory requirements for storing the matching vectors can be large because each bit in the matching vector is used to identify whether its own pattern is matched or not. In our research, the proposed pattern grouping is applied to the multiple FSM tiles in the bit-split string matching. For the set of unique patterns, the memory-based bit-split string matching engine stores only the pattern match index for each state to indicate the match with its own unique pattern. Therefore, the memory requirements are significantly decreased by not storing the matching vectors in the string matchers for the set of unique patterns. The experimental results show that the proposed string matching scheme can reduce the storage cost significantly compared to the previous bit-split string matching methods.

No MeSH data available.


Example of DFA for all of target patterns in Fig 1.
© Copyright Policy
Related In: Results  -  Collection

License
getmorefigures.php?uid=PMC4418843&req=5

pone.0126517.g002: Example of DFA for all of target patterns in Fig 1.

Mentions: Fig 2 shows an example of the DFA for the original six target patterns in Fig 1, where the failing pointers are not shown for clarity. The arrow means the state transition according to the input symbol shown on the arrow. State S0 is the initial state. In addition, the double-circled states S4, S6, S9, S11, S12, and S13 are the output states, where their related patterns in the curly brackets are matched in the output states, respectively. Multiple patterns are matched in S4, S6, S9, and S12. Therefore, when the DFA is constructed with the six target patterns, the patterns are the elements of the set with non-unique patterns.


A memory-efficient deterministic finite automaton-based bit-split string matching scheme using pattern uniqueness in deep packet inspection.

Kim H, Choi KI, Choi SI - PLoS ONE (2015)

Example of DFA for all of target patterns in Fig 1.
© Copyright Policy
Related In: Results  -  Collection

License
Show All Figures
getmorefigures.php?uid=PMC4418843&req=5

pone.0126517.g002: Example of DFA for all of target patterns in Fig 1.
Mentions: Fig 2 shows an example of the DFA for the original six target patterns in Fig 1, where the failing pointers are not shown for clarity. The arrow means the state transition according to the input symbol shown on the arrow. State S0 is the initial state. In addition, the double-circled states S4, S6, S9, S11, S12, and S13 are the output states, where their related patterns in the curly brackets are matched in the output states, respectively. Multiple patterns are matched in S4, S6, S9, and S12. Therefore, when the DFA is constructed with the six target patterns, the patterns are the elements of the set with non-unique patterns.

Bottom Line: In the bit-split string matching, multiple finite-state machine (FSM) tiles with several input bit groups are adopted in order to reduce the number of stored state transitions.Therefore, the memory requirements are significantly decreased by not storing the matching vectors in the string matchers for the set of unique patterns.The experimental results show that the proposed string matching scheme can reduce the storage cost significantly compared to the previous bit-split string matching methods.

View Article: PubMed Central - PubMed

Affiliation: School of Electronics and Electrical Engineering, Dankook University, Yongin-si, Republic of Korea.

ABSTRACT
This paper proposes a memory-efficient bit-split string matching scheme for deep packet inspection (DPI). When the number of target patterns becomes large, the memory requirements of the string matching engine become a critical issue. The proposed string matching scheme reduces the memory requirements using the uniqueness of the target patterns in the deterministic finite automaton (DFA)-based bit-split string matching. The pattern grouping extracts a set of unique patterns from the target patterns. In the set of unique patterns, a pattern is not the suffix of any other patterns. Therefore, in the DFA constructed with the set of unique patterns, when only one pattern can be matched in an output state. In the bit-split string matching, multiple finite-state machine (FSM) tiles with several input bit groups are adopted in order to reduce the number of stored state transitions. However, the memory requirements for storing the matching vectors can be large because each bit in the matching vector is used to identify whether its own pattern is matched or not. In our research, the proposed pattern grouping is applied to the multiple FSM tiles in the bit-split string matching. For the set of unique patterns, the memory-based bit-split string matching engine stores only the pattern match index for each state to indicate the match with its own unique pattern. Therefore, the memory requirements are significantly decreased by not storing the matching vectors in the string matchers for the set of unique patterns. The experimental results show that the proposed string matching scheme can reduce the storage cost significantly compared to the previous bit-split string matching methods.

No MeSH data available.