KR20140039696A - Url 리스트에서 url 주소 검색 방법 및 장치 - Google Patents

Url 리스트에서 url 주소 검색 방법 및 장치 Download PDF

Info

Publication number
KR20140039696A
KR20140039696A KR1020120106209A KR20120106209A KR20140039696A KR 20140039696 A KR20140039696 A KR 20140039696A KR 1020120106209 A KR1020120106209 A KR 1020120106209A KR 20120106209 A KR20120106209 A KR 20120106209A KR 20140039696 A KR20140039696 A KR 20140039696A
Authority
KR
South Korea
Prior art keywords
address
url
domain
character
path
Prior art date
Application number
KR1020120106209A
Other languages
English (en)
Other versions
KR102017526B1 (ko
Inventor
홍준석
노상익
이호철
조규호
김재진
김종훈
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020120106209A priority Critical patent/KR102017526B1/ko
Priority to US13/998,070 priority patent/US9600591B2/en
Publication of KR20140039696A publication Critical patent/KR20140039696A/ko
Application granted granted Critical
Publication of KR102017526B1 publication Critical patent/KR102017526B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • G06F16/1794Details of file format conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 URL 리스트에서 URL 주소 검색 방법 및 장치에 관한 것으로, 본 발명의 URL(Uniform Resource Locator) 리스트를 저장하고 있는 URL 검색 장치의 URL 주소 검색 방법은 사용자로부터 URL 주소 정보를 포함하는 연결 요청을 수신하는 수신 단계, 상기 URL 주소 정보를 구성하는 문자 특성 및 문자열 길이에 따라 생성된 테이블을 확인하는 확인 단계, 및 상기 확인된 테이블에 기반하여 상기 연결 요청에 포함된 URL 주소 정보가 상기 URL 리스트에 포함되어 있는지 검색하는 검색 단계를 포함하는 것을 특징으로 한다.

Description

URL 리스트에서 URL 주소 검색 방법 및 장치{METHOD AND APPARATUS FOR SEARCHING URL ADDRESS IN URL LIST IN A COMMUNICATION SYSTEM}
본 발명은 통신 시스템에 관한 것으로, 보다 구체적으로 통신 시스템의 코어 노드가 저장하고 있는 URL 리스트에서 URL 주소를 검색하는 방법 및 이의 검색 장치에 관한 것이다.
최근 들어, 스마트폰의 급작스런 성장으로 스마트폰 이용이 급격하게 늘어났다. 이에 따라 이동 통신망에도 기존 유선 IP(Internet Protocol) 망과 같은 성격의 트래픽이 급증하고 있다. 그리고 웹 서핑 시 사용하는 HTTP(Hyper Text Transfer Protocol) 트래픽은 상기 HTTP 패킷의 전송 목적지인 URL(Uniform Resource Locator) 주소 정보를 포함한다.
최근, URL 주소별로 접근을 허용하거나 차단, 또는 다른 과금을 적용하는 등의 서비스를 제공하기 위한 기능에 대한 사업자들의 요구가 증가하고 있다. 이에 따라, 100 Gbps의 성능을 제공하는 A-EPC 코어 네트워크 시스템에서 사용자가 접속을 요청한 URL이 상기 코어 네트워크 시스템에 저장된 URL 리스트에 존재하는 지를 찾기 위해서는 검색시간이 ms, sec 단위인 기존 일반적인 문자열 검색 알고리즘이 아닌 CPU 사이클 단위의 검색 결과 시간을 가지는 매우 빠른 알고리즘이 필요하다.
또한, 일반적으로 와일드 카드(Wildcard)가 포함되지 않은 문자열 검색에는 해쉬(Hash) 알고리즘이 주로 사용된다. 그리고 코어 네트워크 시스템에 저장된 URL 리스트의 경우 많은 URL 주소들을 개별적으로 관리하기 어려우므로, URL 리스트에서 와일드 카드의 지원이 필수적이다.(예: *.samsung.com)
그런데, 종래 문자열 검색 알고리즘의 경우 가장 좋은 효율을 가지는 문자열 검색 알고리즘은 해쉬 알고리즘인데, 문자열에 와일드 카드가 포함될 경우 상기 알고리즘을 적용할 수 없다. 또한, 와일드 카드를 검색할 수 있는 다른 알고리즘들은 검색시간은 빠른 연산 처리가 요구되는 코어 네트워크에 적용할 수 없을 정도로 느리다는 문제점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 통신 시스템의 코어 노드가 저장하고 있는 URL 리스트에서 URL 주소를 신속하게 검색하는 방법 및 장치를 제공하는 것을 그 목적으로 한다.
보다 구체적으로, 본 발명은 사용자로부터 URL 주소 정보를 포함하는 연결 요청(HTTP) 수신 시, 상기 URL 주소 정보를 구성하는 문자 특성 및 문자열 길이 특성에 따라 생성된 테이블에 기반하여 URL 주소를 검색하는 방법 및 장치를 제공하는 것을 목적으로 한다.
상기와 같은 문제점을 해결하기 위한 본 발명의 URL(Uniform Resource Locator) 리스트를 저장하고 있는 URL 검색 장치의 URL 주소 검색 방법은 사용자로부터 URL 주소 정보를 포함하는 연결 요청을 수신하는 수신 단계, 상기 URL 주소 정보를 구성하는 문자 특성 및 문자열 길이에 따라 생성된 테이블을 확인하는 확인 단계, 및 상기 확인된 테이블에 기반하여 상기 연결 요청에 포함된 URL 주소 정보가 상기 URL 리스트에 포함되어 있는지 검색하는 검색 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 URL(Uniform Resource Locator) 주소를 검색하는 URL 주소 검색 장치는 사용자로부터 URL 주소 정보를 포함하는 연결 요청을 수신하는 인터페이스부, 적어도 하나 이상의 URL 주소를 포함하는 URL 리스트를 저장하며, 상기 URL 주소 정보를 구성하는 문자 특성 및 문자열 길이에 따라 생성된 테이블을 저장하는 저장부, 및 상기 확인된 테이블에 기반하여 상기 연결 요청에 포함된 URL 주소 정보가 상기 URL 리스트에 포함되어 있는지 검색하도록 제어하는 제어부를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 사용자로부터 URL 주소 정보를 포함하는 연결 요청(HTTP) 수신 시, 상기 URL 주소 정보를 구성하는 문자 특성 및 문자열 길이 특성에 따라 생성된 테이블에 기반하여 URL 주소를 검색하므로, 코어 네트워크 환경에서 사용할 수 있을 정도로 빠른 URL 검색이 가능해진다.
도 1은 본 발명의 실시예에 따른 URL 주소의 구성을 도시하는 도면.
도 2는 본 발명의 실시예에 따라 URL 검색 장치가 저장하는 URL 리스트에 대한 예시를 도시하는 도면.
도 3은 본 발명의 실시예에 따른 도메인 주소에 대해 생성된 제1 도메인 테이블 예시를 도시하는 도면.
도 4는 본 발명의 실시예에 따라 도메인 주소에 대해 생성된 제1 도메인 테이블의 다른 예시를 도시하는 도면.
도 5는 본 발명의 실시예에 따라 도메인 주소에 대해 생성된 제1 도메인 테이블의 다른 예시를 도시하는 도면.
도 6은 본 발명의 실시예에 따라 도메인 주소에 대한 제2 도메인 테이블을 생성하는 과정을 예시하여 설명하는 도면.
도 7은 본 발명의 실시예에 따라 도메인 주소 및 경로 주소에 대해 각각 제1 도메인테이블, 제2 도메인 테이블, 제1 경로 테이블, 제2 경로 테이블을 생성하는 과정을 도시하는 순서도.
도 8은 본 발명의 실시예에 따라 임의의 URL 주소 정보에 포함된 도메인 주소가 URL 리스트에 포함되었는지 여부를 판단하는 과정을 도시하는 순서도.
도 9는 본 발명의 실시예에 따라, 임의의 URL 주소 정보에 포함된 경로 주소가 URL 리스트에 포함되었는지 여부를 판단하는 과정을 도시하는 순서도.
도 10은 본 발명의 실시예에 따른 URL 검색 장치의 내부 구조를 도시하는 블록도.
이하에서는 본 발명의 실시예에서는 URL 주소 검색 방법 및 장치에 대해서 기술할 것이며, 본 발명의 URL 주소 검색 장치는 이동통신 시스템의 코어 네트워크에 위치한 임의의 노드일 수 있다. 예를 들어, 이동통신 시스템이 3GPP(The 3rd Generation Partnership Project) LTE(Long Term Evolution) 시스템인 경우, 서빙 게이트웨이(Serving Gateway), 패킷 데이터 네트워크 게이트웨이(Packet Data Network Gateway), 이동성 관리 엔티티(Mobility Management Entity, MME) 등일 수 있다. 그러나 반드시 이러한 노드들에 한정되는 것은 아니며, URL 주소와 같은 문자열을 검색하기 위한 모든 검색 장치에 적용될 수 있음에 유의해야 한다.
또한, 본 발명의 문자란 URL 주소를 구성하는 최소 단위 예를 들어, 알파벳 한 글자를 의미할 수 있다. 또한, 본 발명의 문자열이란 상기 문자들이 복수 개 나열되어 구성된 의미 있는 단어를 의미할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. 이 때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다.
도 1은 본 발명의 실시예에 따른 URL 주소의 구성을 도시하는 도면이다.
본 발명의 실시예에 따른 URL 주소는 도 1a에서 도시되는 바와 같이, 도메인 주소와 경로 주소를 포함한다.
이에 대한 구체적인 예시를 도시하는 도면이 도 1b이다. 도 1b에서 도시되는 "www.samsung.net/image/back.jpg"의 URL 주소에서, "/"의 전단부인 "www.samsung.net"가 도메인 주소이며, "/"의 후단부인 "image/back.jpg"가 경로 주소이다.
본 발명에서는 URL 주소를 검색하기 위해, URL 주소를 도메인 주소 및 경로 주소로 구분하여 각각의 주소에 대해 주소 검색을 위한 테이블을 생성하는 바, 이에 대해서는 이하에서 구체적으로 설명하기로 한다.
또한, 본 발명의 실시예에서는 와일드 카드 문자열의 검색 기능을 지원한다. 여기서, 와일드 카드란 여러 파일을 한꺼번에 지정할 목적으로 사용하는 기호를 의미하며, 예를 들어 제1 와일드 카드 문자("*"), 제2 와일드 카드 문자("?") 등을 포함할 수 있다. 상기 제1 와일드 카드 문자는 하나 이상의 다른 문자들을 대표하는 특수 문자이며, 상기 제2 와일드 카드 문자는 한 개의 다른 문자를 지시하는 특수 문자이다.
본 발명의 실시예에서는, 제1 와일드 카드 문자의 경우, 도메인 주소의 가장 앞이나, 또는 경로 주소의 가장 뒤에만 사용 가능하다고 가정한다.
도 2는 본 발명의 실시예에 따라 URL 검색 장치가 저장하는 URL 리스트에 대한 예시를 도시하는 도면이다. 본 발명의 실시예에 따르면, URL 리스트는 적어도 하나 이상의 URL 주소를 포함할 수 있다.
도 2에 도시되는 URL 리스트는 URL 인덱스 및 각 URL 인덱스에 따른 URL 주소 정보를 포함한다. 상기 URL 주소 정보는 사업자가 검색하거나 필터링하고자 요청한 특정 URL 주소일 수 있으며, 사업자 요청에 따라 URL 리스트 상의 URL 주소 정보를 신규 생성, 수정, 삭제 등의 편집을 수행할 수 있다.
URL 인덱스 1에 대응하는 URL주소 정보의 경우 와일드 카드 문자가 사용되지 않은 주소이며, URL 인덱스 2에 대응하는 URL 주소 정보의 경우 "www.google.com" 으로 시작하는 모든 URL 주소를 의미한다. URL 인덱스 3에 대응하는 URL 주소 정보의 경우 "www.nate.com", "talk.nate.com" 등의 "nate.com"을 포함하는 모든 URL 주소를 지시할 수 있다.
URL 인덱스 5에 대응하는 URL 주소 정보의 경우 "google.com" 앞에 3자리의 문자열을 가진 모든 주소를 의미하며, 예를 들어, "map.google.com/index.html" 등의 주소가 이에 포함될 수 있다. 본 발명의 실시예에 따르면, URL 인덱스 5에 대응하는 URL 주소 정보와 같이 다른 종류('*','?')의 여러 개의 와일드 카드 문자를 하나의 URL 주소 정보에 사용할 수도 있다.
이하에서는 본 발명의 실시예에 따라, URL 리스트에 대해 생성되는 제1 테이블 및 제2 테이블에 대해 기술하도록 한다.
본 발명의 실시예에 따른 URL 주소 검색 장치는, 저장된 URL 리스트로부터 각 URL 인덱스에 대응하는 URL 주소 정보를 구성하는 도메인 주소 및 경로 주소에 대해 제1 테이블(문자 식별 테이블) 및 제2 테이블(종료 식별 테이블)을 생성한다. 다시 말해, URL 주소 검색 장치는 도메인 주소에 대해 제1 테이블 및 제2 테이블을 생성하며, 마찬가지로 경로 주소에 대해 제1 테이블 및 제2 테이블을 생성한다.
이 경우, 상기 제1 테이블은 도메인 주소 또는 경로 주소를 구성하는 문자열의 문자 위치 각각에 대해, 사용된 문자에 대한 인덱스(문자 식별 인덱스)가 설정된다. 그리고 상기 제2 테이블은 도메인 주소 또는 경로 주소를 구성하는 문자열의 마지막 문자 위치에 대한 인덱스(종료 식별 인덱스)가 설정된다.
상기 제1 테이블은 URL 주소 검색 시 검색하고자 하는 URL 주소를 구성하는 각 문자가 URL 리스트에 포함되어 있는지 여부를 확인하기 위한 테이블이다. 그리고 상기 제2 테이블은 URL 주소 검색 시 검색하고자 하는 URL 주소의 길이가 URL 리스트에 포함된 URL 주소의 길이와 동일한지 확인하기 위한 테이블이다.
상기 제1 테이블 및 제2 테이블에 대해서는 도 3 내지 도 6의 예시를 통해 구체적으로 설명하도록 한다.
<도메인 주소에 대한 제1 도메인 테이블 생성 방법>
도 3은 본 발명의 실시예에 따른 도메인 주소에 대해 생성된 제1 도메인 테이블 예시를 도시하는 도면이다.
도 3은 도메인 주소의 최대 길이가 256자이며, URL 리스트는 최대 8개의 URL 주소 정보를 포함할 수 있다고 가정한 경우, URL 인덱스 0의 도메인 주소 "www.samsung.co.kr"에 대해 생성되는 제1 도메인 테이블의 예시를 도시한다.
먼저, URL 주소 검색 장치는 도메인 주소의 문자열을 역순으로 전환한다. 다시 말해, "www.samsung.co.kr"을 "rk.oc.gnusmas.www"으로 전환한다.
그러면, 역순으로 전환된 도메인 주소의 첫 번째 문자인 "r"에 대해서는 0 번째 위치(position 0)가 할당되며, 두 번째 문자인 "k"에 대해서는 1 번째 위치(position 1)가 할당되며, 이후 나머지 문자에 대해서 각각의 위치가 할당된다. 상기에서, 도메인 주소의 최대 길이가 256자라고 가정하였으므로, 도 3에서 도시된 바와 같이 위치 정보는 255 번째 위치(position 255)까지 할당된다.
그리고 각각의 위치에 대해서는 사용 가능한 모든 문자(a~z, 0~9, 기타 URL에 사용 가능한 특수문자)가 정의되며, 각각의 문자에 대해서는 해당 문자 사용 여부를 식별하기 위한 문자 식별 인덱스가 설정된다. 상기 문자 식별 인덱스는 비트 형식으로 구성되며, 상기 비트의 개수는 URL 리스트를 구성하는 URL 주소 정보의 개수(즉, URL 인덱스의 개수)에 대응한다.
도 3에서는 URL 리스트가 최대 8개의 URL 주소 정보를 포함할 수 있다고 가정하였으므로, 문자 식별 인덱스는 8 비트로 구성된다. 도 3의 예시에서는 상기 문자 식별 인덱스의 LSB가 URL 인덱스 0을 지시하고, MSB가 URL 인덱스 7을 지시한다고 가정한다.
계속해서, 도메인 주소에 대한 제1 도메인 테이블 생성 방법에 대해 기술한다. 역순으로 전환된 "rk.oc.gnusmas.www"의 0 번째 문자는 "r"이며 0 번째 위치(position 0)에 대응한다. 그러면 0 번째 위치의 문자 "r"에 대한 문자 식별 인덱스 8비트 중 최하위 비트를 1로 설정(URL 인덱스가 0이므로)한다. 이에 따라, 0 번째 위치의 문자 "r"에 대한 문자 식별 인덱스는 "00000001"로 설정된다.
이어서, "rk.oc.gnusmas.www"의 첫 번째 문자는 "k"이며 1 번째 위치(position 1)에 대응한다. 그러면 1 번째 위치의 문자 "k"에 대한 문자 식별 인덱스 8비트 중 최하위 비트를 1로 설정한다. 이에 따라, 1 번째 위치의 문자 "k"에 대한 문자 식별 인덱스는 "00000001"로 설정된다.
이어서, "rk.oc.gnusmas.www"의 두 번째 문자는 "."이며 2 번째 위치(position 2)에 대응한다. 그러면 2 번째 위치의 문자 "."에 대한 문자 식별 인덱스 8비트 중 최하위 비트를 1로 설정한다. 이에 따라, 2 번째 위치의 문자 "."에 대한 문자 식별 인덱스는 "00000001"로 설정된다.
상기한 방법을 반복하여 도메인 주소의 마지막 문자인 "w"까지 문자 식별 인덱스를 상기 방법에 따라 설정한다.
"rk.oc.gnusmas.www"는 모두 17개의 문자로 구성된 문자열이므로 17 번째 위치(popsition 17) 이후의 문자 식별 인덱스부터는 모두 0으로 설정된다.
도 4는 본 발명의 실시예에 따라 도메인 주소에 대해 생성된 제1 도메인 테이블의 다른 예시를 도시하는 도면이다.
도 4는 새로운 도메인 주소가 추가된 경우, 도 3의 실시예에 따라 생성된 제1 도메인 테이블이 업데이트되는 과정을 도시한다.
도 4에서, URL 리스트에 신규 추가된 도메인 주소는 "www.google.co.jp"라고 가정한다. 그러면, 상기한 바와 같이, URL 주소 검색 장치는 상기 추가된 도메인 주소의 문자열을 역순으로 전환한다. 다시 말해, "www.google.co.jp"을 "pj.oc.elgoog.www"로 전환한다.
그러면, 역순으로 전환된 도메인 주소의 첫 번째 문자인 "p"에 대해서는 0 번째 위치(position 0)가 할당되며, 두 번째 문자인 "j"에 대해서는 1 번째 위치(position 1)가 할당되며, 이후 나머지 문자에 대해서 각각의 위치가 할당된다. 상기에서, 도메인 주소의 최대 길이가 256자라고 가정하였으므로, 도 3에서 도시된 바와 같이 위치 정보는 255 번째 위치(position 255)까지 할당된다.
역순으로 전환된 "pj.oc.elgoog.www"의 0 번째 문자는 "p"이며 0 번째 위치(position 0)에 대응한다. 그러면 0 번째 위치의 문자 "p"에 대한 문자 식별 인덱스 8비트 중 최하위에서 두 번째 비트를 1로 설정(URL 인덱스가 1이므로)한다. 이에 따라, 0 번째 위치의 문자 "p"에 대한 문자 식별 인덱스는 "00000010"로 설정된다.
이어서, "pj.oc.elgoog.www"의 첫 번째 문자는 "j"이며 1 번째 위치(position 1)에 대응한다. 그러면 1 번째 위치의 문자 "j"에 대한 문자 식별 인덱스 8비트 중 최하위에서 두 번째 비트를 1로 설정한다. 이에 따라, 1 번째 위치의 문자 "j"에 대한 문자 식별 인덱스는 "00000010"로 설정된다.
이어서, "pj.oc.elgoog.www"의 두 번째 문자는 "."이며 2 번째 위치(position 2)에 대응한다. 그러면 2 번째 위치의 문자 "."에 대한 문자 식별 인덱스 8비트 중 최하위에서 두 번째 비트를 1로 설정한다. 그런데, URL 인덱스 0의 "rk.oc.gnusmas.www" 및 URL 인덱스 1의 "pj.oc.elgoog.www"의 두 번째 문자가 모두 "." 이므로, 2 번째 위치의 문자 "."에 대한 문자 식별 인덱스는 "00000011"로 설정된다.
상기한 방법을 반복하여 도메인 주소의 마지막 문자인 "w"까지 문자 식별 인덱스를 상기 방법에 따라 설정한다.
도 5는 본 발명의 실시예에 따라 도메인 주소에 대해 생성된 제1 도메인 테이블의 다른 예시를 도시하는 도면이다.
보다 구체적으로, 도 5는 도 3의 실시예에, URL 인덱스 1이 추가되는데, 상기 URL 인덱스 1에 대응하는 도메인 주소에 와일드 카드 문자가 포함되는 경우에 대해 도시한다.
URL 인덱스 1의 도메인 주소가 "*.google.co.jp"인 경우, URL 주소 검색 장치는 상기 도메인 주소의 문자열을 역순으로 전환한다. 다시 말해, "*.google.co.jp"을 "pj.oc.elgoog.*"로 전환한다.
이 경우, 0 번째 문자인 "p"부터 12 번째 문자인 "."까지에 대한 제1 도메인 테이블 생성 방법은 도 4에서 설명한 바와 같으므로, 자세한 설명은 생략하기로 한다.
그리고 13 번째 문자인 와일드 카드 문자 "*"의 경우, 해당 위치인 13 번째 위치(position 13)에 대한 모든 문자열의 문자 식별 인덱스 8비트 중 촤하위에서 두 번재 비트를 1로 설정한다. 이에 따라, 13 번째 위치(position 13)에 대한 모든 문자열에 대한 문자 식별 인덱스는 "00000010"로 설정된다. 그리고 와일드 카드 문자 "*"는 해당 문자가 사용된 이후의 위치에 어떠한 문자라도 설정될 수 있는 것을 의미하므로, 255번째 위치(position 255)까지 상기의 원리가 적용된다.
만약, 13번째 문자가 와일드 카드 문자 "?"라면, 해당 위치인 13 번째 위치(position 13)에 대한 모든 문자열의 문자 식별 인덱스 8비트 중 촤하위에서 두 번재 비트만 1로 설정되며, 14번째 위치 이후에 대해서는 상기 원리가 적용되지 않을 것이다.
<도메인 주소에 대한 제2 도메인 테이블 생성 방법>
도 6은 본 발명의 실시예에 따라 도메인 주소에 대한 제2 도메인 테이블을 생성하는 과정을 예시하여 설명하는 도면이다.
도 6에서 도시되는 바와 같이 제2 도메인 테이블은 URL 주소 정보를 구성하는 문자열의 마지막 문자 위치를 식별하기 위한 종료 식별 인덱스가 설정된다. 본 실시예에서는 URL 리스트가 최대 8개의 URL 주소 정보를 포함할 수 있다고 가정하였으므로, 종료 식별 인덱스는 8비트로 구성된다. 또한, 도 6의 예시에서는 상기 종료 식별 인덱스의 LSB가 URL 인덱스 0을 지시하고, MSB가 URL 인덱스 7을 지시한다고 가정한다.
우선, 도 6에 도시된 URL 리스트에서, URL 인덱스 0에 대응하는 URL 주소 정보의 문자열은 16 번째 위치(position 16)에서 종료된다. 이에 따라, 16 번째 위치에 대응하는 종료 식별 인덱스의 최하위 비트가 1로 설정된다. 이에 따라, 현 시점에서의 16 번째 위치에 대한 종료 식별 인덱스는 "00000001"로 설정된다.
그리고 도 6에 도시된 URL 리스트에서, URL 인덱스 1에 대응하는 URL 주소 정보의 문자열은 13번째 위치(position 13)에서 종료된다. 이에 따라, 13 번째 위치에 대응하는 종료 식별 인덱스의 최하위 비트에서 두 번째 비트가 1로 설정된다. 이에 따라, 13 번째 위치에 대응하는 종료 식별 인덱스의 최하위 비트에서 두 번째 비트가 1로 설정된다. 이에 따라, 현 시점에서의 13 번째 위치에 대한 종료 식별 인덱스는 "00000010"로 설정된다.
그런데, URL 인덱스 1에 대응하는 URL 주소 정보의 마지막 문자는 와일드 카드 "*" 이다. 본 발명의 실시예에서는 URL 주소 정보의 마지막 문자가 "*" 인 경우, 해당 URL 주소 정보가 종료되는 문자의 위치부터 마지막 255번째 위치까지의 해당 종료 식별 인덱스를 모두 1로 설정한다. 즉, 14 번째 위치 이후의 모든 위치에 대응하는 종료 식별 인덱스의 최하위 비트에서 두 번째 비트가 1로 설정되며, 이에 따라 16 번째 위치에 대응하는 종료 식별 인덱스가 "00000001"에서 "00000011"로 변경된다.
<경로 주소에 대한 제1 경로 테이블 및 제2 경로 테이블 생성 방법>
경로 주소의 경우, 경로 주소의 문자열을 역순으로 전환하지 않는 점을 제외하면, 경로 주소에 대한 제1 경로 테이블 및 제2 경로 테이블 생성 원리는 도메인 주소에 대한 제1 도메인 테이블 및 제2 도메인 테이블 생성 원리와 동일하다.
이에 따라, 경로 주소에 대한 테이블은 도메인 주소 별로 존재하며, 경로 주소 테이블은 해당 인덱스에 대한 실제 URL 리스트의 인덱스 값을 저장한다.
도 7은 본 발명의 실시예에 따라 도메인 주소 및 경로 주소에 대해 각각 제1 도메인테이블, 제2 도메인 테이블, 제1 경로 테이블, 제2 경로 테이블을 생성하는 과정을 도시하는 순서도이다.
우선, URL 검색 장치는 S710 단계에서, URL 리스트에 포함된 URL 주소를 도메인 주소와 경로 주소로 분리한다. 그리고 URL 검색 장치는 S720 단계로 진행하여, 도메인 주소에 대한 테이블이 존재하는지 판단한다. URL 검색 장치는, 도메인 주소에 대한 테이블이 존재하는 경우 경로 주소에 대한 테이블을 생성하기 위해 S760 단계로 진행하며, 테이블이 존재하지 않는 경우 도메인 주소에 대한 테이블을 생성하기 위해 S730 단계로 진행한다.
도메인 주소에 대한 테이블이 존재하지 않는 경우, URL 검색 장치는 S730 단계에서 도메인 주소를 역순으로 나열한다. 그리고 URL 검색 장치는 S740 단계에서, 도메인 주소에 대한 제1 도메인 테이블을 생성한다. 상기 제1 도메인 테이블은 도메인 주소를 구성하는 문자열의 문자 위치 각각에 대해, 사용된 문자에 대한 인덱스(문자 식별 인덱스)가 설정된다.
보다 구체적으로, 상기 제1 도메인 테이블은 도메인 주소가 가질 수 있는 최대 길이에 대응하는 위치 정보를 포함하며, 각각의 위치에서 사용 가능한 모든 문자가 정의된다. 그리고 각 문자에 대해서는 URL 리스트에 포함된 URL 주소 정보의 개수에 대응하는 인덱스 즉, 문자 식별 인덱스가 정의된다. 그리고 도메인 주소를 구성하는 문자열의 문자 위치 각각에 대해, 사용된 문자에 대한 인덱스가 설정(예를 들어 "1")된다.
도메인 주소에 대한 제1 도메인 테이블을 생성한 URL 검색 장치는 S750 단계로 진행한다. URL 검색 장치는 S750 단계에서, 도메인 주소에 대한 제2 도메인 테이블을 생성한다. 상기 제2 도메인 테이블은 도메인 주소를 구성하는 문자열의 마지막 문자 위치에 대한 인덱스 즉, 종료 식별 인덱스가 설정된다.
도멘인 주소에 대한 제1 도메인 테이블 및 제2 도메인 테이블을 생성한 URL 검색 장치는 S760 단계로 진행하여 경로 주소에 대한 제1 경로 테이블을 생성한다. 경로 주소에 대한 제1 경로 테이블을 생성하는 과정은, 도메인 주소에 대한 제1 도메인 테이블을 생성하는 과정과 유사하며, 단지 경로 주소를 역순으로 전환하지 않는다는 점에서 차이가 있을 뿐이므로 자세한 설명은 생략하기로 한다.
경로 주소에 대한 제1 경로 테이블을 생성한 URL 검색 장치는 S770 단계로 진행하여 경로 주소에 대한 제2 경로 테이블을 생성한다. 경로 주소에 대한 제2 경로 테이블 생성 과정 역시, 도메인 주소에 대한 제2 도메인 테이블을 생성하는 과정과 동일하므로 자세한 설명은 생략하기로 한다.
상기의 도 3 내지 도 7의 테이블 생성 과정에 대해 간략히 정리하면 다음과 같다. 사업자는 필터링하거나 검색하고자 하는 URL 주소들을 포함하는 URL 리스트를 코어 네트워크의 임의의 노드에 대응되는 URL 검색 장치에 저장한다. 그러면 URL 검색 장치는 상기 도 3 내지 도 7의 과정을 수행하여 URL 리스트에 포함된 각각의 URL 주소에 대해 4 개의 테이블을 생성한다. 그러면 URL 검색 장치는 상기 생성된 테이블에 기반하여, 사용자로부터의 연결 요청에 포함된 URL 주소가 URL 리스트에 포함되어 있는지 검색한다.
<URL 주소 검색 방법>
이하에서는 도 8 및 도 9를 참고하여, URL 검색 장치가 사용자로부터의 연결 요청에 포함된 URL 주소가 URL 리스트에 포함되어 있는지 검색하는 방법에 대해 기술하기로 한다.
도 8은 본 발명의 실시예에 따라 임의의 URL 주소 정보에 포함된 도메인 주소가 URL 리스트에 포함되었는지 여부를 판단하는 과정을 도시하는 순서도이다.
설명을 위해, 사용자의 연결 요청에 포함된 HTTP 패킷의 최종 목적지가 "www.samsung.co.kr" 임을 가정하기로 한다.
우선, URL 검색 장치는 S810 단계에서, 상기 도메인 주소를 역순으로 변경한다. 즉, "www.samsung.co.kr"을 "rk.oc.gnusmas.www"으로 전환한다.
그리고 URL 검색 장치는 도메인 주소에 대해 생성된 제1 도메인 테이블에서, 상기 역순으로 전환된 문자열의 0 번째에 대응하는 문자인 "r"에 대한 문자 식별 인덱스("00000001")를 확인한다.
그러면 URL 검색 장치는 S830 단계에서, 상기 문자 식별 인덱스가 0인지 판단한다. 해당 문자 식별 인덱스가 0이라는 것은, 해당 문자를 포함하고 있는 도메인 주소가 URL 리스트에 존재하지 않는다는 것을 의미하므로 S840 단계로 진행하여 검색 과정을 종료한다.
반면, 해당 문자 식별 인덱스가 아닌 경우, URL 검색 장치는 S850 단계로 진행하여 다음 글자가 존재하는지 여부를 판단한다. 본 실시예에서는 역순으로 전환된 도메인 주소에서, "r"다음의 문자는 "k"이므로, 다음 글자가 존재하는 것으로 판단하고 S860 단계로 진행한다.
URL 검색 장치는 S860 단계에서, 다음 글자인 "k"에 대한 제1 도메인 테이블의 문자 식별 인덱스("00000001")를 확인하고, 이전 문자에 대한 문자 식별 인덱스와 현재 문자에 대한 문자 식별 인덱스에 대해 AND 연산을 수행한다. AND 연산을 수행한 URL 검색 장치는 S830 단계에서, AND 연산 결과가 0인지 여부를 판단한다. 현재 단계에서 연산 결과가 0이라는 것은, 두 번째 문자가 제1 테이블에 존재하지 않는다는 것을 의미하므로, URL 검색 장치는 S840 단계로 진행하여 검색을 종료한다.
반면, AND 연산 결과가 0이 아닌 경우, 이는 두 번째 문자까지는 URL 리스트에 존재함을 의미하는 것이며, URL 검색 장치는 계속하여 S850 단계로 진행하여 다음 문자가 존재하는지 판단한다.
다음 문자가 존재하는 경우, URL 검색 장치는 S860 단계, S860 단계, S850 단계를 반복하여 수행한다.
한편, 다음 문자가 존재하지 않는 경우, URL 검색 장치는 S870 단계로 진행하여, 도메인 주소에 대한 제2 도메인 테이블의 종료 식별 인덱스 값들을 확인한다. 그리고 URL 검색 장치는 문자 식별 인덱스와 종료 식별 인덱스에 대해 AND 연산을 수행한다. 그리고 URL 검색 장치는 S880 단계에서, 상기 AND 연산 수행 결과가 0인지 여부를 판단한다.
AND 연산 결과가 0이라는 것은, 비록 사용자의 HTTP 연결 요청에 포함된 도메인 주소의 문자열이 URL 리스트에 포함된 도메인 주소의 문자열과는 일치하지만, HTTP 연결 요청에 포함된 도메인 주소의 길이와 URL 리스트에 포함된 도메인 주소의 길이가 일치하지 않는다는 것을 의미한다. 이에 따라, URL 검색 장치는 S840 단계로 진행하여 검색을 종료한다.
반면, AND 연산 결과가 0이 아니라는 것은 사용자의 HTTP 연결 요청에 포함된 도메인 주소의 문자열 및 길이가, URL 리스트에 포함된 도메인 주소의 문자열 및 길이와 동일하다는 것을 의미하므로, URL 검색 장치는 S890 단계로 진행하여 경로 주소 검색을 개시한다. 본 실시예에서는 문자 식별 인덱스 "00000001"과, 제2 테이블의 위치 16에 따른 종료 식별 인덱스 "00000011"에 대해 AND 연상을 수행하면, 최하위 비트의 "1"로 인해 AND 연산 결과가 "00000001"로 도출된다.
따라서, URL 검색 장치는 "www.samsung.co.kr"이 URL 리스트에 포함되었음을 확인할 수 있으며, 구체적으로는 최종 AND 연산 결과가 1인 위치에 대응하는 URL 리스트 상의 도메인 주소가 검색하고자 하는 도메인 주소에 매칭된다.
도메인 주소의 매칭 여부를 확인한 URL 검색 장치는 경로 주소가 URL 리스트에 포함되었는지 검색하기 위해, 도 9의 절차를 진행한다.
<경로 주소 검색 방법>
도 9는 본 발명의 실시예에 따라, 임의의 URL 주소 정보에 포함된 경로 주소가 URL 리스트에 포함되었는지 여부를 판단하는 과정을 도시하는 순서도이다.
도 8에서 예시한 HTTP 패킷의 최종 목적지가 "www.samsung.co.kr"이었으므로 경로 주소를 포함하지는 않으나, 상기 최종 목적지가 도메인 주소 이하에 별도의 경로 주소를 더 포함하고 있는 경우, 해당 경로 주소를 검색하기 위해 도 9의 순서를 수행할 수 있을 것이다.
우선, URL 검색 장치는 S910 단계에서, 경로 주소에 대해 생성된 제1 경로 테이블에서, 검색하고자 하는 경로 주소 문자열의 0 번째에 대응하는 문자 식별 인덱스를 확인한다. 그리고 URL 검색 장치는 S920 단계에서, 상기 문자 식별 인덱스가 0인지 판단한다. 해당 문자 식별 인덱스가 0이라는 것은, 해당 문자를 포함하고 있는 경로 주소가 URL 리스트에 존재하지 않는다는 것을 의미하므로 S930 단계로 진행하여 검색 과정을 종료한다.
반면, 해당 문자 식별 인덱스가 아닌 경우, URL 검색 장치는 S940 단계로 진행하여 다음 글자가 존재하는지 여부를 판단한다. 다음 글자가 존재하는 경우, URL 검색 장치는 S950 단계로 진행하여, 다음 문자에 대한 제1 경로 테이블의 문자 식별 인덱스를 확인하고, 이전 문자에 대한 문자 식별 인덱스와 현재 문자에 대한 문자 식별 인덱스에 대해 AND 연산을 수행한다.
AND 연산을 수행한 URL 검색 장치는 S920 단계에서, AND 연산 결과가 0인지 여부를 판단한다. 현재 단계에서 연산 결과가 0이라는 것은, 두 번째 문자가 제1 경로 테이블에 존재하지 않는다는 것을 의미하므로, URL 검색 장치는 S930 단계로 진행하여 검색을 종료한다.
반면, AND 연산 결과가 0이 아닌 경우, 이는 두 번째 문자까지는 URL 리스트에 존재함을 의미하는 것이며, URL 검색 장치는 계속하여 S940 단계로 진행하여 다음 문자가 존재하는지 판단한다.
다음 문자가 존재하는 경우, URL 검색 장치는 S950 단계, S920 단계, S94 단계를 반복하여 수행한다.
한편, 다음 문자가 존재하지 않는 경우, URL 검색 장치는 S960 단계로 진행하여, 경로 주소에 대한 제2 경로 테이블의 종료 식별 인덱스 값들을 확인한다. 그리고 URL 검색 장치는 문자 식별 인덱스와 종료 식별 인덱스에 대해 AND 연산을 수행한다. 그리고 URL 검색 장치는 S970 단계에서, 상기 AND 연산 수행 결과가 0인지 여부를 판단한다.
AND 연산 결과가 0이라는 것은, 비록 사용자의 HTTP 연결 요청에 포함된 경로 주소의 문자열이 URL 리스트에 포함된 경로 주소의 문자열과는 일치하지만, HTTP 연결 요청에 포함된 경로 주소의 길이와 URL 리스트에 포함된 경로 주소의 길이가 일치하지 않는다는 것을 의미한다. 이에 따라, URL 검색 장치는 S840 단계로 진행하여 검색을 종료한다.
반면, AND 연산 결과가 0이 아니라는 것은 사용자의 HTTP 연결 요청에 포함된 경로 주소의 문자열 및 길이가, URL 리스트에 포함된 경로 주소의 문자열 및 길이와 동일하다는 것을 의미하므로, URL 검색 장치는 S980 단계로 진행하여, 검색 중인 URL 주소 정보가 URL 리스트에 포함되어 있음을 최종적으로 결정한다. 구체적으로는 최종 AND 연산 결과가 1인 위치에 대응하는 URL 리스트 상의 URL 인덱스에 대응하는 URL 주소가 검색하고자 하는 URL 주소에 대응된다.
도 10은 본 발명의 실시예에 따른 URL 검색 장치의 내부 구조를 도시하는 블록도이다. 도 10에서 도시되는 바와 같이, 본 발명의 URL 검색 장치는 인터페이스부(1010), 저장부(1020), 제어부(1030)를 포함할 수 있다.
인터페이스부(1010)는 URL 검색 장치의 상위 또는 하위에 위치하는 노드들과 신호를 송수신한다. 특히, 본 발명의 실시예에 따른 인터페이스부(1010)는 사용자로부터 URL 주소 정보를 포함하는 연결 요청을 수신한다. 상기 연결 요청은 웹 서핑 시 사용되는 HTTP(HyperText Transfer Protocol) 트래픽을 포함할 수 있다.
저장부(1020)는 URL 검색 장치의 일반적인 동작에 필요한 프로그램을 저장할 수 있다. 특히, 본 발명의 실시예에 따른 저장부(1020)는 적어도 하나 이상의 URL 주소를 포함하는 URL 리스트를 저장할 수 있다. 또한, 상기 저장부(1020)는 URL 주소 정보를 구성하는 문자 특성 및 문자열 길이에 따라 생성된 테이블을 저장할 수 있다.
상기 테이블은 제1 도메인 테이블, 제2 도메인 테이블, 제1 경로 테이블, 제2 경로 테이블을 포함한다.
이 경우, 제1 도메인 테이블은 도메인 주소를 구성하는 문자 특성에 따라 문자 식별 인덱스가 설정되며, 제2 도메인 테이블은 도메인 주소를 구성하는 문자열 길이에 따라 종료 식별 인덱스가 설정된다.
특히, 상기 제1 도메인 테이블은 상기 도메인 주소의 최대 길이에 대응하도록 위치 정보가 정의되며, 상기 도메인 주소에 대해 사용 가능한 모든 문자가 상기 위치 정보에 대해 정의된다. 그리고 상기 제1 도메인 테이블은 상기 문자 각각에 대해서는 문자 사용 여부를 식별하기 위한 문자 식별 인덱스가 비트 형식으로 설정된다. 이 경우, 상기 문자 식별 인덱스는 상기 URL 리스트를 구성하는 URL 주소 정보의 개수에 대응된다.
또한, 상기 제2 도메인 테이블은 도메인 주소를 구성하는 문자열의 마지막 문자 위치를 식별하기 위한 문자 식별 인덱스가 비트 형식으로 설정된다.
한편, 제1 경로 테이블은 경로 주소를 구성하는 문자 특성에 따라 문자 식별 인덱스가 설정되며, 제2 경로 테이블은 경로 주소를 구성하는 문자열 길이에 따라 종료 식별 인덱스가 설정된다.
특히, 제1 경로 테이블은 경로 주소의 최대 길이에 대응하도록 위치 정보가 정의되며, 상기 경로 주소에 대해 사용 가능한 모든 문자가 상기 위치 정보에 대해 정의된다. 그리고 상기 제1 경로 테이블은 상기 문자 각각에 대해서는 문자 사용 여부를 식별하기 위한 문자 식별 인덱스가 비트 형식으로 설정된다. 이 경우, 상기 문자 식별 인덱스는 상기 URL 리스트를 구성하는 URL 주소 정보의 개수에 대응된다.
한편, 제2 경로 테이블은 상기 경로 주소를 구성하는 문자열의 마지막 문자 위치를 식별하기 위한 문자 식별 인덱스가 비트 형식으로 설정된다.
제어부(1030)는 URL 검색 장치가 URL 리스트에서 URL 주소를 검색하기 위한 동작을 수행하도록 각 블록간 신호 흐름을 제어한다. 특히, 제어부(1030)는 URL 주소 정보를 구성하는 문자 특성 및 문자열 길이에 따라 생성된 테이블을 확인한다. 그리고 제어부(1030)는 상기 확인된 테이블에 기반하여 사용자로부터의 연결 요청에 포함된 URL 주소 정보가 상기 URL 리스트에 포함되어 있는지 검색하도록 제어한다.
보다 구체적으로, 제어부(1030)는 도메인 주소 검색부(1031)와, 경로 주소 검색부(1032)를 더 구비할 수 있다.
도메인 주소 검색부(1031)는 도메인 주소를 구성하는 문자 특성에 따라 문자 식별 인덱스가 설정된 제1 도메인 테이블 및 도메인 주소를 구성하는 문자열 길이에 따라 종료 식별 인덱스가 설정된 제2 도메인 테이블에 기반하여, 상기 도메인 주소가 상기 URL 리스트에 포함되어 있는지 검색한다.
특히, 도메인 주소 검색부(1031)는 URL 주소 정보에 포함된 도메인 주소와 경로 주소를 분리하고, 상기 도메인 주소의 문자열을 역순으로 전환한다. 이어서, 도메인 주소 검색부(1031)는 상기 도메인 주소의 문자열을 구성하는 문자에 대해 설정된 상기 제1 도메인 테이블 상의 문자 식별 인덱스들의 AND 연산 결과에 기반하여 상기 도메인 주소가 상기 URL 리스트에 포함되어 있는지 검색한다.
그리고 상기 도메인 주소가 상기 URL 리스트에 포함 시, 도메인 주소 검색부(1031)는 상기 문자 식별 인덱스와 상기 제2 도메인 테이블 상의 종료 식별 인덱스들의 AND 연산 결과에 기반하여 상기 도메인 주소 문자열의 길이와 상기 URL 리스트에 포함된 도메인 주소의 길이가 일치하는지 판단한다. 일치하는 경우, 도메인 주소 검색부(1031)는 상기 도메인 주소가 상기 URL 리스트에 포함되는 것으로 결정한다.
한편, 경로 주소 검색부(1032)는 경로 주소를 구성하는 문자 특성에 따라 문자 식별 인덱스가 설정된 제1 경로 테이블 및 경로 주소를 구성하는 문자열 길이에 따라 종료 식별 인덱스가 설정된 제2 경로 테이블에 기반하여 상기 경로 주소가 상기 URL 리스트에 포함되어 있는지 검색한다.
특히, 경로 주소 검색부(1032)는 경로 주소의 문자열을 구성하는 문자에 대해 설정된 상기 제1 경로 테이블 상의 문자 식별 인덱스들의 AND 연산 결과에 기반하여 상기 경로 주소가 상기 URL 리스트에 포함되어 있는지 검색한다. 상기 경로 주소가 상기 URL 리스트에 포함 시, 경로 주소 검색부(1032)는 상기 문자 식별 인덱스와 상기 제2 경로 테이블 상의 종료 식별 인덱스들의 AND 연산 결과에 기반하여 상기 경로 주소 문자열의 길이와 상기 URL 리스트에 포함된 경로 주소의 길이가 일치하는지 판단한다. 일치하는 경우, 경로 주소 검색부(1032)는 상기 연결 요청에 포함된 URL 주소 정보가 상기 URL 리스트에 포함되는 것으로 결정한다.
상술한 본 발명에 따르면, 사용자로부터 URL 주소 정보를 포함하는 연결 요청(HTTP) 수신 시, 상기 URL 주소 정보를 구성하는 문자 특성 및 문자열 길이 특성에 따라 생성된 테이블에 기반하여 URL 주소를 검색하므로, 코어 네트워크 환경에서 사용할 수 있을 정도로 빠른 URL 검색이 가능해진다.
본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
1010 : 인터페이스부 1020 : 저장부
1030 : 제어부 1031 : 도메인 주소 검색부
1032 : 경로 주소 검색부

Claims (20)

  1. URL(Uniform Resource Locator) 리스트를 저장하고 있는 URL 검색 장치의 URL 주소 검색 방법에 있어서,
    사용자로부터 URL 주소 정보를 포함하는 연결 요청을 수신하는 수신 단계;
    상기 URL 주소 정보를 구성하는 문자 특성 및 문자열 길이에 따라 생성된 테이블을 확인하는 확인 단계; 및
    상기 확인된 테이블에 기반하여 상기 연결 요청에 포함된 URL 주소 정보가 상기 URL 리스트에 포함되어 있는지 검색하는 검색 단계를 포함하는 것을 특징으로 하는 URL 주소 검색 방법.
  2. 제1항에 있어서,
    상기 URL 주소 정보는 도메인 주소와 경로 주소를 포함하는 것을 특징으로 하는 URL 주소 검색 방법.
  3. 제2항에 있어서, 상기 검색 단계는,
    도메인 주소를 구성하는 문자 특성에 따라 문자 식별 인덱스가 설정된 제1 도메인 테이블 및 도메인 주소를 구성하는 문자열 길이에 따라 종료 식별 인덱스가 설정된 제2 도메인 테이블에 기반하여, 상기 도메인 주소가 상기 URL 리스트에 포함되어 있는지 검색하는 것을 특징으로 하는 URL 주소 검색 방법.
  4. 제3항에 있어서, 상기 제1 도메인 테이블은,
    상기 도메인 주소의 최대 길이에 대응하도록 위치 정보가 정의되며,
    상기 도메인 주소에 대해 사용 가능한 모든 문자가 상기 위치 정보에 대해 정의되며,
    상기 문자 각각에 대해서는 문자 사용 여부를 식별하기 위한 문자 식별 인덱스가 비트 형식으로 설정되며,
    상기 문자 식별 인덱스는 상기 URL 리스트를 구성하는 URL 주소 정보의 개수에 대응되는 것을 특징으로 하는 URL 주소 검색 방법.
  5. 제4항에 있어서, 상기 제2 도메인 테이블은,
    상기 도메인 주소를 구성하는 문자열의 마지막 문자 위치를 식별하기 위한 문자 식별 인덱스가 비트 형식으로 설정되는 것을 특징으로 하는 URL 주소 검색 방법.
  6. 제5항에 있어서, 상기 검색 단계는,
    경로 주소를 구성하는 문자 특성에 따라 문자 식별 인덱스가 설정된 제1 경로 테이블 및 경로 주소를 구성하는 문자열 길이에 따라 종료 식별 인덱스가 설정된 제2 경로 테이블에 기반하여 상기 경로 주소가 상기 URL 리스트에 포함되어 있는지 검색하는 것을 특징으로 하는 URL 주소 검색 방법.
  7. 제6항에 있어서, 상기 제1 경로 테이블은,
    상기 경로 주소의 최대 길이에 대응하도록 위치 정보가 정의되며,
    상기 경로 주소에 대해 사용 가능한 모든 문자가 상기 위치 정보에 대해 정의되며,
    상기 문자 각각에 대해서는 문자 사용 여부를 식별하기 위한 문자 식별 인덱스가 비트 형식으로 설정되며,
    상기 문자 식별 인덱스는 상기 URL 리스트를 구성하는 URL 주소 정보의 개수에 대응되는 것을 특징으로 하는 URL 주소 검색 방법.
  8. 제7항에 있어서, 상기 제2 경로 테이블은,
    상기 경로 주소를 구성하는 문자열의 마지막 문자 위치를 식별하기 위한 문자 식별 인덱스가 비트 형식으로 설정되는 것을 특징으로 하는 URL 주소 검색 방법.
  9. 제8항에 있어서, 상기 검색 방법은,
    상기 URL 주소 정보에 포함된 도메인 주소와 경로 주소를 분리하는 단계;
    상기 도메인 주소의 문자열을 역순으로 전환하는 단계;
    상기 도메인 주소의 문자열을 구성하는 문자에 대해 설정된 상기 제1 도메인 테이블 상의 문자 식별 인덱스들의 AND 연산 결과에 기반하여 상기 도메인 주소가 상기 URL 리스트에 포함되어 있는지 검색하는 단계;
    상기 도메인 주소가 상기 URL 리스트에 포함 시, 상기 문자 식별 인덱스와 상기 제2 도메인 테이블 상의 종료 식별 인덱스들의 AND 연산 결과에 기반하여 상기 도메인 주소 문자열의 길이와 상기 URL 리스트에 포함된 도메인 주소의 길이가 일치하는지 판단하는 단계; 및
    일치하는 경우, 상기 도메인 주소가 상기 URL 리스트에 포함되는 것으로 결정하는 단계를 더 포함하는 것을 특징으로 하는 URL 주소 검색 방법.
  10. 제9항에 있어서, 상기 검색 방법은,
    상기 경로 주소의 문자열을 구성하는 문자에 대해 설정된 상기 제1 경로 테이블 상의 문자 식별 인덱스 들의 AND 연산 결과에 기반하여 상기 경로 주소가 상기 URL 리스트에 포함되어 있는지 검색하는 단계;
    상기 경로 주소가 상기 URL 리스트에 포함 시, 상기 문자 식별 인덱스와 상기 제2 경로 테이블 상의 종료 식별 인덱스들의 AND 연산 결과에 기반하여 상기 경로 주소 문자열의 길이와 상기 URL 리스트에 포함된 경로 주소의 길이가 일치하는지 판단하는 단계; 및
    일치하는 경우, 상기 연결 요청에 포함된 URL 주소 정보가 상기 URL 리스트에 포함되는 것으로 결정하는 단계를 더 포함하는 것을 특징으로 하는 URL 주소 검색 방법.
  11. URL(Uniform Resource Locator) 주소를 검색하는 URL 주소 검색 장치에 있어서,
    사용자로부터 URL 주소 정보를 포함하는 연결 요청을 수신하는 인터페이스부;
    적어도 하나 이상의 URL 주소를 포함하는 URL 리스트를 저장하며, 상기 URL 주소 정보를 구성하는 문자 특성 및 문자열 길이에 따라 생성된 테이블을 저장하는 저장부; 및
    상기 확인된 테이블에 기반하여 상기 연결 요청에 포함된 URL 주소 정보가 상기 URL 리스트에 포함되어 있는지 검색하도록 제어하는 제어부를 포함하는 것을 특징으로 하는 URL 주소 검색 장치.
  12. 제11항에 있어서,
    상기 URL 주소 정보는 도메인 주소와 경로 주소를 포함하는 것을 특징으로 하는 URL 주소 검색 장치.
  13. 제12항에 있어서, 상기 제어부는,
    도메인 주소를 구성하는 문자 특성에 따라 문자 식별 인덱스가 설정된 제1 도메인 테이블 및 도메인 주소를 구성하는 문자열 길이에 따라 종료 식별 인덱스가 설정된 제2 도메인 테이블에 기반하여, 상기 도메인 주소가 상기 URL 리스트에 포함되어 있는지 검색하는 것을 특징으로 하는 URL 주소 검색 장치.
  14. 제13항에 있어서, 상기 제1 도메인 테이블은,
    상기 도메인 주소의 최대 길이에 대응하도록 위치 정보가 정의되며,
    상기 도메인 주소에 대해 사용 가능한 모든 문자가 상기 위치 정보에 대해 정의되며,
    상기 문자 각각에 대해서는 문자 사용 여부를 식별하기 위한 문자 식별 인덱스가 비트 형식으로 설정되며,
    상기 문자 식별 인덱스는 상기 URL 리스트를 구성하는 URL 주소 정보의 개수에 대응되는 것을 특징으로 하는 URL 주소 검색 장치.
  15. 제14항에 있어서, 상기 제2 도메인 테이블은,
    상기 도메인 주소를 구성하는 문자열의 마지막 문자 위치를 식별하기 위한 문자 식별 인덱스가 비트 형식으로 설정되는 것을 특징으로 하는 URL 주소 검색 장치.
  16. 제15항에 있어서, 상기 제어부는,
    경로 주소를 구성하는 문자 특성에 따라 문자 식별 인덱스가 설정된 제1 경로 테이블 및 경로 주소를 구성하는 문자열 길이에 따라 종료 식별 인덱스가 설정된 제2 경로 테이블에 기반하여 상기 경로 주소가 상기 URL 리스트에 포함되어 있는지 검색하는 것을 특징으로 하는 URL 주소 검색 장치.
  17. 제16항에 있어서, 상기 제1 경로 테이블은,
    상기 경로 주소의 최대 길이에 대응하도록 위치 정보가 정의되며,
    상기 경로 주소에 대해 사용 가능한 모든 문자가 상기 위치 정보에 대해 정의되며,
    상기 문자 각각에 대해서는 문자 사용 여부를 식별하기 위한 문자 식별 인덱스가 비트 형식으로 설정되며,
    상기 문자 식별 인덱스는 상기 URL 리스트를 구성하는 URL 주소 정보의 개수에 대응되는 것을 특징으로 하는 URL 주소 검색 장치.
  18. 제17항에 있어서, 상기 제2 경로 테이블은,
    상기 경로 주소를 구성하는 문자열의 마지막 문자 위치를 식별하기 위한 문자 식별 인덱스가 비트 형식으로 설정되는 것을 특징으로 하는 URL 주소 검색 장치.
  19. 제18항에 있어서, 상기 제어부는,
    상기 URL 주소 정보에 포함된 도메인 주소와 경로 주소를 분리하고, 상기 도메인 주소의 문자열을 역순으로 전환하며,
    상기 도메인 주소의 문자열을 구성하는 문자에 대해 설정된 상기 제1 도메인 테이블 상의 문자 식별 인덱스들의 AND 연산 결과에 기반하여 상기 도메인 주소가 상기 URL 리스트에 포함되어 있는지 검색하고,
    상기 도메인 주소가 상기 URL 리스트에 포함 시 상기 문자 식별 인덱스와 상기 제2 도메인 테이블 상의 종료 식별 인덱스들의 AND 연산 결과에 기반하여 상기 도메인 주소 문자열의 길이와 상기 URL 리스트에 포함된 도메인 주소의 길이가 일치하는지 판단하며, 일치하는 경우 상기 도메인 주소가 상기 URL 리스트에 포함되는 것으로 결정하는 것을 특징으로 하는 URL 주소 검색 장치.
  20. 제19항에 있어서, 상기 제어부는,
    상기 경로 주소의 문자열을 구성하는 문자에 대해 설정된 상기 제1 경로 테이블 상의 문자 식별 인덱스 들의 AND 연산 결과에 기반하여 상기 경로 주소가 상기 URL 리스트에 포함되어 있는지 검색하고,
    상기 경로 주소가 상기 URL 리스트에 포함 시, 상기 문자 식별 인덱스와 상기 제2 경로 테이블 상의 종료 식별 인덱스들의 AND 연산 결과에 기반하여 상기 경로 주소 문자열의 길이와 상기 URL 리스트에 포함된 경로 주소의 길이가 일치하는지 판단하며,
    일치하는 경우, 상기 연결 요청에 포함된 URL 주소 정보가 상기 URL 리스트에 포함되는 것으로 결정하는 것을 특징으로 하는 URL 주소 검색 장치.
KR1020120106209A 2012-09-25 2012-09-25 Url 리스트에서 url 주소 검색 방법 및 장치 KR102017526B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120106209A KR102017526B1 (ko) 2012-09-25 2012-09-25 Url 리스트에서 url 주소 검색 방법 및 장치
US13/998,070 US9600591B2 (en) 2012-09-25 2013-09-27 Method and apparatus for URL address search in URL list

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120106209A KR102017526B1 (ko) 2012-09-25 2012-09-25 Url 리스트에서 url 주소 검색 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20140039696A true KR20140039696A (ko) 2014-04-02
KR102017526B1 KR102017526B1 (ko) 2019-09-03

Family

ID=50339945

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120106209A KR102017526B1 (ko) 2012-09-25 2012-09-25 Url 리스트에서 url 주소 검색 방법 및 장치

Country Status (2)

Country Link
US (1) US9600591B2 (ko)
KR (1) KR102017526B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024106704A1 (ko) * 2022-11-17 2024-05-23 김민석 인터넷 웹주소의 목록화를 통한 웹사이트 접속의 차단과 허용을 관리하는 장치

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9712486B2 (en) 2006-09-25 2017-07-18 Weaved, Inc. Techniques for the deployment and management of network connected devices
US20150052253A1 (en) * 2014-09-22 2015-02-19 Weaved, Inc. Multi-server fractional subdomain dns protocol
US11184224B2 (en) 2006-09-25 2021-11-23 Remot3.It, Inc. System, method and compute program product for accessing a device on a network
US10637724B2 (en) 2006-09-25 2020-04-28 Remot3.It, Inc. Managing network connected devices
CN103593466B (zh) * 2013-11-26 2017-08-04 优视科技有限公司 网页加载方法及客户端和服务器
US9419986B2 (en) 2014-03-26 2016-08-16 Symantec Corporation System to identify machines infected by malware applying linguistic analysis to network requests from endpoints
US9363665B1 (en) * 2014-09-30 2016-06-07 Sprint Communications Company L.P. Targeting insertion work-around for long term evolution (LTE) path
US9916252B2 (en) * 2015-05-19 2018-03-13 Linear Algebra Technologies Limited Systems and methods for addressing a cache with split-indexes
CN105426759A (zh) * 2015-10-30 2016-03-23 百度在线网络技术(北京)有限公司 Url的合法性识别方法及装置
CN106776657B (zh) * 2015-11-25 2021-05-04 阿里巴巴集团控股有限公司 一种域名检索方法及设备
CN107066510B (zh) * 2017-01-22 2021-12-03 南方科技大学 一种信息处理方法及装置
CN110020272B (zh) * 2017-08-14 2021-11-05 中国电信股份有限公司 缓存方法、装置以及计算机存储介质
US20190130036A1 (en) * 2017-10-26 2019-05-02 T-Mobile Usa, Inc. Identifying user intention from encrypted browsing activity
CN111061972B (zh) * 2019-12-25 2023-05-16 武汉绿色网络信息服务有限责任公司 一种用于url路径匹配的ac查找优化方法和装置
CN113312549B (zh) * 2021-05-25 2024-01-26 北京天空卫士网络安全技术有限公司 一种域名处理方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092100A (en) * 1997-11-21 2000-07-18 International Business Machines Corporation Method for intelligently resolving entry of an incorrect uniform resource locator (URL)
US6580870B1 (en) * 1997-11-28 2003-06-17 Kabushiki Kaisha Toshiba Systems and methods for reproducing audiovisual information with external information
KR20070026712A (ko) * 2004-06-04 2007-03-08 (주)넷피아닷컴 자국어 인터넷주소 시스템
KR20100022565A (ko) * 2008-08-20 2010-03-03 충남대학교산학협력단 해시트리를 이용한 url 검색방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6338082B1 (en) * 1999-03-22 2002-01-08 Eric Schneider Method, product, and apparatus for requesting a network resource
US7383299B1 (en) * 2000-05-05 2008-06-03 International Business Machines Corporation System and method for providing service for searching web site addresses
JP2002118675A (ja) * 2000-10-06 2002-04-19 Yoshiki Fujimura インターネットへのアクセスシステム、電話帳
US20040019697A1 (en) * 2002-07-03 2004-01-29 Chris Rose Method and system for correcting the spelling of incorrectly spelled uniform resource locators using closest alphabetical match technique
US7827254B1 (en) * 2003-11-26 2010-11-02 Google Inc. Automatic generation of rewrite rules for URLs
US20060031205A1 (en) * 2004-08-05 2006-02-09 Usa Revco, Llc, Dba Clear Search Method and system for providing information over a network
US7644080B2 (en) * 2006-09-19 2010-01-05 Netlogic Microsystems, Inc. Method and apparatus for managing multiple data flows in a content search system
US7529746B2 (en) * 2006-09-19 2009-05-05 Netlogic Microsystems, Inc. Search circuit having individually selectable search engines
US7539031B2 (en) * 2006-09-19 2009-05-26 Netlogic Microsystems, Inc. Inexact pattern searching using bitmap contained in a bitcheck command
US7624105B2 (en) * 2006-09-19 2009-11-24 Netlogic Microsystems, Inc. Search engine having multiple co-processors for performing inexact pattern search operations
US7539032B2 (en) * 2006-09-19 2009-05-26 Netlogic Microsystems, Inc. Regular expression searching of packet contents using dedicated search circuits
US8949251B2 (en) * 2010-04-20 2015-02-03 Verisign, Inc. System for and method of identifying closely matching textual identifiers, such as domain names
US20120136764A1 (en) * 2010-11-29 2012-05-31 Intuit Inc. On-line tax preparation application screen navigation using url bookmarks
KR20120087253A (ko) * 2010-12-17 2012-08-07 한국전자통신연구원 사용자 맞춤형 콘텐츠 제공 시스템 및 사용자 맞춤형 콘텐츠 제공 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092100A (en) * 1997-11-21 2000-07-18 International Business Machines Corporation Method for intelligently resolving entry of an incorrect uniform resource locator (URL)
US6580870B1 (en) * 1997-11-28 2003-06-17 Kabushiki Kaisha Toshiba Systems and methods for reproducing audiovisual information with external information
KR20070026712A (ko) * 2004-06-04 2007-03-08 (주)넷피아닷컴 자국어 인터넷주소 시스템
KR20100022565A (ko) * 2008-08-20 2010-03-03 충남대학교산학협력단 해시트리를 이용한 url 검색방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024106704A1 (ko) * 2022-11-17 2024-05-23 김민석 인터넷 웹주소의 목록화를 통한 웹사이트 접속의 차단과 허용을 관리하는 장치

Also Published As

Publication number Publication date
US20140089344A1 (en) 2014-03-27
US9600591B2 (en) 2017-03-21
KR102017526B1 (ko) 2019-09-03

Similar Documents

Publication Publication Date Title
KR102017526B1 (ko) Url 리스트에서 url 주소 검색 방법 및 장치
US8243735B2 (en) System for forwarding packets with hierarchically structured variable-length identifiers using an exact-match lookup engine
KR102072203B1 (ko) 컨텐츠 중심 네트워크에 계층적 이름의 변화에 강인한 단축 이름을 생성하는 방법 및 노드
EP2214356B1 (en) System for forwarding a packet with a hierarchically structured variable-length identifier
JP4452183B2 (ja) プログラマブル状態マシンのデータ構造を作成して入力単語連鎖を構文解析する方法、プログラマブル状態マシンのデータ構造を使用して入力単語連鎖に対応する結果として得られた値を検索する方法、ワイヤスピードのディープ・パケット処理を行う方法、ディープ・パケット処理のための装置、チップ埋め込み装置、およびプログラミング・コード命令を含むコンピュータ・プログラム(ディープ・パケット処理のための方法および装置)
CN103457700B (zh) Ndn/ccn网络中的数据包内容名称编码压缩方法
US11012358B2 (en) Forwarding table management
CN112448887B (zh) 分段路由方法及装置
US9049252B2 (en) Efficient name management for named data networking in datacenter networks
CN102333039A (zh) 一种转发报文的方法、生成表项的方法及装置
CN113316034B (zh) 用于配置光缆路由的方法、系统、装置及存储介质
JP2016177688A (ja) データ処理装置、データ処理方法およびコンピュータプログラム
US20050163122A1 (en) System and methods for packet filtering
KR101582050B1 (ko) 블룸 필터 선―검색을 이용한 이름 검색 장치 및 방법
CN108111422B (zh) 一种基于dpdk的数据高速多路转发方法及装置
JP2006235729A (ja) 選択的Web情報収集装置
CN109691067A (zh) 用于传送和接收兴趣消息的系统和方法
JP2015162024A (ja) 検索木生成・検索装置及び方法及びプログラム
CN103870267B (zh) 用于处理数据中心网络中的数据对象的在计算机系统中实现的方法和计算机实现的系统
WO2017147010A1 (en) Multi-dimensional packet classification
CN108011989B (zh) 一种重定向方法及装置
JPWO2008072667A1 (ja) 電気通信網、ネットワーク・ノード装置及びルーティング方法
KR20020016732A (ko) 복수의 프리픽스로부터 데이터 패킷을 라우팅하기 위한데이터베이스 생성방법과 라우팅 방법 및 그 방법을이용한 라우터
KR102060907B1 (ko) 데이터 이름 기반 네트워크에서의 fib 테이블 공유 방법 및 데이터 이름 기반 네트워크 시스템
JP7364039B2 (ja) 情報管理方法、情報管理プログラム及び情報管理装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant