| 번호 | 청구항 |
|---|---|
| 1 | 무빙 윈도우를 문자열의 처음부터 1바이트씩 이동시키는 이동단계;상기 무빙 윈도우의 현재 위치에서 2바이트 길이만큼의 문자열을 정수 값으로 변환하여, 패턴의 길이가 2바이트 이상인 패턴들에 대한 제1 다이렉트 필터(DF1)에서의 관련 위치의 비트가 1로 세팅되어 있는지 확인하는 DF1확인단계;상기 DF1확인단계에 따라 1로 세팅된 경우, 다른 다이렉트 필터(DF)로 이동하는 DF이동단계;마지막으로 확인한 다이렉트 필터(DF)의 관련 위치의 비트가 0인 경우, 상기 무빙 윈도우를 다시 1바이트 이동시키는 재이동단계; 및상기 무빙 윈도우가 상기 문자열의 끝에 위치하는지 확인하고, 상기 무빙 윈도우가 상기 문자열의 끝에 위치하는 경우, 알고리즘을 종료하는 종료단계;를 포함하는, 다중 패턴 매칭 알고리즘. |
| 2 | 제1항에 있어서,상기 DF이동단계 이후에는,패턴의 길이가 2바이트 이상 4바이트 미만인 패턴들에 대한 제4 다이렉트 필터(DF4)에서의 관련 위치의 비트가 1로 세팅되어 있는지 확인하는 DF4확인단계;를 더 포함하는, 다중 패턴 매칭 알고리즘. |
| 3 | 제2항에 있어서,상기 DF4확인단계 이후에는,상기 제4 다이렉트 필터(DF4)의 관련 위치의 비트가 1로 세팅된 경우, 2바이트 이상 4바이트 미만인 패턴들에 대한 패턴 아이디가 저장된 제1 컴팩트 테이블(CT1)을 참조하여 상기 무빙 윈도우에 위치한 문자열에 해당하는 패턴 아이디(PID)를 기록하는 PID기록단계;를 더 포함하는, 다중 패턴 매칭 알고리즘. |
| 4 | 제1항에 있어서,상기 DF이동단계 이후에는,상기 무빙 윈도우의 상기 현재 위치로부터 2바이트 이동시키고, 이동한 위치에서 2바이트 길이만큼의 문자열을 정수 값으로 변환하여, 패턴의 길이가 4바이트 이상인 패턴들에 대한 제2 다이렉트 필터(DF2)에서의 관련 위치의 비트가 1로 세팅되어 있는지 확인하는 DF2확인단계;를 더 포함하는, 다중 패턴 매칭 알고리즘. |
| 5 | 제4항에 있어서,상기 DF2확인단계 이후에는,상기 제2 다이렉트 필터(DF2)의 관련 위치의 비트가 1로 세팅된 경우, 패턴의 길이가 4바이트 이상 8바이트 미만인 패턴들에 대한 제5 다이렉트 필터(DF5)에서의 관련 위치의 비트가 1로 세팅되어 있는지 확인하는 DF5확인단계;를 더 포함하는, 다중 패턴 매칭 알고리즘. |
| 6 | 제5항에 있어서,상기 DF5확인단계 이후에는,상기 제5 다이렉트 필터(DF5)의 관련 위치의 비트가 1로 세팅된 경우, 4바이트 이상 8바이트 미만인 패턴들에 대한 패턴 아이디가 저장된 제2 컴팩트 테이블(CT2)을 참조하여 상기 무빙 윈도우에 위치한 문자열에 해당하는 패턴 아이디가 있는지 확인하고, 상기 문자열에 해당하는 패턴 아이디가 있는 경우, 상기 패턴 아이디(PID)를 기록하는 PID기록단계;를 더 포함하는, 다중 패턴 매칭 알고리즘. |
| 7 | 제1항에 있어서,상기 DF이동단계 이후에는,상기 무빙 윈도우의 상기 현재 위치로부터 6바이트 이동시키고, 이동한 위치에서 2바이트 길이만큼의 문자열을 정수 값으로 변환하여, 패턴의 길이가 8바이트 이상인 패턴들에 대한 제3 다이렉트 필터(DF3)에서의 관련 위치의 비트가 1로 세팅되어 있는지 확인하는 DF3확인단계;를 더 포함하는, 다중 패턴 매칭 알고리즘. |
| 8 | 제7항에 있어서,상기 DF3확인단계 이후에는,상기 제3 다이렉트 필터(DF3)의 관련 위치의 비트가 1로 세팅된 경우, 8바이트 이상인 패턴들에 대한 패턴 아이디가 저장된 제3 컴팩트 테이블(CT3)을 참조하여 상기 무빙 윈도우에 위치한 문자열에 해당하는 패턴 아이디(PID)를 기록하는 PID기록단계;를 더 포함하는, 다중 패턴 매칭 알고리즘. |
| 9 | 제1항 내지 제8항 중 어느 한 항에 있어서,상기 알고리즘은 네트워크 침입 탐지 시스템(Network Instrusion Detection System, NIDS)에 사용되는, 다중 패턴 매칭 알고리즘. |
| 10 | 무빙 윈도우를 문자열의 처음부터 1바이트씩 이동시키는 이동단계;상기 무빙 윈도우의 현재 위치에서 2바이트 길이만큼의 문자열을 정수 값으로 변환하여, 패턴의 길이가 2바이트 이상인 패턴들에 대한 제1 다이렉트 필터(DF1)에서의 관련 위치의 비트가 1로 세팅되어 있는지 확인하는 DF1확인단계;상기 DF1확인단계에 따라 1로 세팅된 경우, 다른 다이렉트 필터(DF)로 이동하는 DF이동단계;마지막으로 확인한 다이렉트 필터(DF)의 관련 위치의 비트가 0인 경우, 상기 무빙 윈도우를 다시 1바이트 이동시키는 재이동단계; 및상기 무빙 윈도우가 상기 문자열의 끝에 위치하는지 확인하고, 상기 무빙 윈도우가 상기 문자열의 끝에 위치하는 경우, 알고리즘을 종료하는 종료단계;를 실행시키기 위한 매체에 저장된 프로그램. |
| 11 | 복수의 비트(bit)를 갖는 비트 어레이(bit array)이고, 각 비트 자신이 인덱스(index)에 해당하는 연속된 두 개의 아스키 코드가 특정 패턴의 일부에 속해 있는지 없는지를 확인하고, 하나 이상의 다이렉트 필터로 이루어지며, 상기 다이렉트 필터 각각은 패턴의 길이에 따라 상기 패턴의 2n(n=0, 1, 2, 3, …)번째의 2바이트에 대한 정보를 갖는 다이렉트 필터(DF); 및문자열 내에 존재하는 패턴들의 패턴 아이디(Pattern ID)를 기록하며, 어떤 패턴이 상기 문자열에 존재하는지를 확인하기 위한 구조체이고, 상기 패턴의 길이에 따라 패턴 그룹을 형성하여, 상기 패턴 그룹별로 각각 상기 패턴 아이디가 저장된 하나 이상의 컴팩트 테이블(CT);을 포함하는, 다중 패턴 매칭 처리장치. |
| 12 | 제11항에 있어서,상기 다이렉트 필터(DF)는,모든 패턴들의 맨 앞 2바이트에 대한 정보를 포함하는 제1 다이렉트 필터(DF1), 길이가 4바이트 이상인 패턴들의 두 번째 2바이트에 대한 정보를 포함하는 제2 다이렉트 필터(DF2), 길이가 8바이트 이상인 패턴들의 네 번째 2바이트에 대한 정보를 포함하는 제3 다이렉트 필터(DF3) 및 길이가 2바이트 이상 4바이트 미만인 패턴들의 맨 앞 2바이트에 대한 정보를 포함하는 제4 다이렉트 필터(DF4)를 포함하는, 다중 패턴 매칭 처리장치. |
| 13 | 제12항에 있어서,상기 다이렉트 필터(DF)는,길이가 4바이트 이상 8바이트 미만인 패턴들의 두 번째 2바이트에 대한 정보를 포함하는 제5 다이렉트 필터(DF5)를 더 포함하는, 다중 패턴 매칭 처리장치. |
| 14 | 제11항에 있어서,상기 컴팩트 테이블(CT)은,길이가 2바이트 이상 4바이트 미만인 패턴들의 패턴 아이디를 포함하는 제1 컴팩트 테이블(CT1), 길이가 4바이트 이상 8바이트 미만인 패턴들의 패턴 아이디를 포함하는 제2 컴팩트 테이블(CT2) 및 길이가 8바이트 이상인 패턴들의 패턴 아이디를 포함하는 제3 컴팩트 테이블(CT3)을 포함하는, 다중 패턴 매칭 처리장치. |