[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR100638695B1 - 구조화 문서의 데이터를 검색하는 장치 및 방법 - Google Patents

구조화 문서의 데이터를 검색하는 장치 및 방법 Download PDF

Info

Publication number
KR100638695B1
KR100638695B1 KR1020040041220A KR20040041220A KR100638695B1 KR 100638695 B1 KR100638695 B1 KR 100638695B1 KR 1020040041220 A KR1020040041220 A KR 1020040041220A KR 20040041220 A KR20040041220 A KR 20040041220A KR 100638695 B1 KR100638695 B1 KR 100638695B1
Authority
KR
South Korea
Prior art keywords
search
tag
keyword
data
document
Prior art date
Application number
KR1020040041220A
Other languages
English (en)
Other versions
KR20050020927A (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 후지쯔 가부시끼가이샤
Publication of KR20050020927A publication Critical patent/KR20050020927A/ko
Application granted granted Critical
Publication of KR100638695B1 publication Critical patent/KR100638695B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/81Indexing, e.g. XML tags; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying
    • G06F16/835Query processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 검색 대상 문서의 저장 및 검색에 필요한 처리 시간, 저장 영역 및 메모리 소비량을 개선하는 것을 목적으로 한다.
검색 조건으로부터 태그 등록 정보(104), 키워드 등록 정보(105) 및 상태 관리 정보(106)를 생성하고, 검색 대상의 구조화 문서의 문서 데이터를 소정량씩 연속적으로 독입하고, 독입된 데이터열 중에서 태그 등록 정보(104)에 등록된 태그를 검출하는 태그 검색과, 독입된 데이터열 중에서 키워드 등록 정보(105)에 등록된 키워드를 검출하는 키워드 검색을 상태 관리 정보(106)를 이용하여 전환하면서 검색 처리를 실행한다.

Description

구조화 문서의 데이터를 검색하는 장치 및 방법 {APPARATUS AND METHOD FOR SEARCHING DATA OF STRUCTURED DOCUMENT}
도 1은 본 발명의 검색 장치의 원리도.
도 2는 검색 장치의 구성도.
도 3은 제1 문서를 도시한 도면.
도 4는 제2 문서를 도시한 도면.
도 5는 태그용 오토마톤을 도시한 도면.
도 6은 문자열을 도시한 도면.
도 7은 태그 테이블을 도시한 도면.
도 8은 상태 관리 정보를 도시한 도면.
도 9는 키워드용 오토마톤을 도시한 도면.
도 10은 논리식 테이블을 도시한 도면.
도 11은 검색 처리의 플로우차트.
도 12는 검색용 테이블과 갱신용 테이블의 초기 상태를 도시한 도면.
도 13은 추가 처리의 제1 순서를 도시한 도면.
도 14는 추가 처리의 제2 순서를 도시한 도면.
도 15는 추가 처리의 제3 순서를 도시한 도면.
도 16은 갱신 처리를 도시한 도면.
도 17은 삭제 처리를 도시한 도면.
도 18은 일괄 삭제 처리를 도시한 도면.
도 19는 정보 처리 장치의 구성도.
도 20은 기록 매체를 도시한 도면.
도 21은 검색 대상의 문서를 도시한 도면.
도 22는 트리 구조의 문서 데이터를 도시한 도면.
도 23은 제1 검색 방법을 도시한 도면.
도 24는 테이블 구조의 문서 데이터를 도시한 도면.
도 25는 제2 검색 방법을 도시한 도면.
<도면의 주요 부분에 대한 부호의 설명>
101 : 생성 수단
102 : 독입 수단
103 : 검색 수단
104 : 태그 등록 정보
105 : 키워드 등록 정보
106, 223 : 상태 관리 정보
201 : 검색 장치
202 : 응용 프로그램
211 : 조작 해석부
212 : 데이터 검색부
213 : 검색식 해석부
214 : XML 검색부
215 : 데이터 독입부
216 : 검색 결과 저장부
217 : 데이터 동기부
218 : 데이터 기록부
219 : 데이터 저장부
221 : 논리식 테이블
222 : 태그용 오토마톤
224 : 키워드용 오토마톤
501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 901, 902 : 히트 정보
1201, 1202 : 데이터 관리 테이블
1203, 1204, 1205, 1206, 1301, 1601 : 문서 데이터
1207 : 검색용 테이블의 어드레스
1208 : 갱신용 테이블의 어드레스
1901 : CPU
1902 : 메모리
1903 : 입력 장치
1904 : 출력 장치
1905 : 외부 기억 장치
1906 : 매체 구동 장치
1907 : 네트워크 접속 장치
1908 : 버스
1909 : 가반 기록 매체
2001 : 서버
2002 : 정보 처리 장치
2003 : 데이터베이스
본 발명은 확장형 마크업 언어(XML; eXtensible Markup Language) 문서와 같은 구조화 문서의 데이터를 검색하는 장치 및 방법에 관한 것이다.
XML 문서는 문서 데이터의 각 요소를 태그를 이용하여 기술하는 것으로 구조화된 계층 구조의 문서이다. XML 문서를 트리 구조로 표현한 경우, 트리의 각 요소는 노드라고 불린다. XML 문서의 데이터를 검색하는 종래의 방법으로서는 이하의 2개의 방법이 있다.
(a) 검색 대상의 전체 문서의 전체 노드를 트리 구조의 오브젝트로 표현하여 문서를 전개한다. 검색 요구의 조건에 따라서 노드를 검색하고, 조건에 만족하는 경우에는 회신용 노드의 정보를 검색하여 추출한다. 이 검색 방법은 인덱스 방식이 라고 불린다.
(b) 검색 ·회신 요구에 따라서 일단 검색 대상의 전체 문서를 2차원의 테이블에 전개한다. 이 때, 노드의 자노드로서 계층 표현되어 있는 복수의 노드에 관해서는 필요에 따라서 테이블의 행을 늘려간다. 그리고, 검색 요구의 조건에 따라서 테이블을 검색하고, 조건에 만족하는 경우에는 회신용 셀(노드)의 정보를 추출한다.
예컨대, 도 21과 같은 2개의 문서를 검색 대상으로 하는 경우, 상기 (a)의 방법에서는 도 22와 같은 트리 구조의 문서 데이터가 생성된다. 여기서, 검색 요구로서 다음과 같은 검색식 1이 입력된 것으로 한다.
[검색식 1]
/doc/Grp {/A = 'X' AND /B = '1000'}
이 검색식 1은 /doc/Grp/A라는 경로로 지정되는 노드에 'X'라는 키워드가 포함되어 있고, 또한, /doc/Grp/B라는 경로로 지정되는 노드에 '1000'이라는 키워드가 포함되어 있다고 하는 조건을 나타낸다. 이 경우, 도 23에 도시한 바와 같이 문서 데이터의 노드를 찾아감으로써 문서 1이 검색 요구 조건에 만족하는 것을 알 수 있다.
또한, 상기 (b)의 방법에서는 도 24와 같은 테이블 구조의 문서 데이터가 생성된다. 도 21의 문서 1에서는 "doc" 노드의 자노드로서 2개의 상이한 "Grp" 노드가 존재하기 때문에 도 24의 테이블에서는 문서 1의 데이터가 2행에 걸쳐 저장되어 있다. 이 경우, 도 25에 도시한 바와 같이 검색식 1에 따라서 테이블이 검색되고, 문서 1이 검색 요구의 조건에 만족하는 것을 알 수 있다.
상기 (a) 및 (b)의 방법에서는 검색 대상의 전체 문서를 미리 전개하기 위해서 DTD(Document Type Definition)나 스키마(schema) 등의 XML 정의 정보, XML 정의 정보와 XML 문서의 관련성에 관한 정보 및 XML 문서 내의 각 태그 ·노드에 관한 정보가 각 XML 문서와는 별도로 보관되어 있다.
또한, 구조화 문서를 검색할 때에 검색 조건을 입력으로서 계층 오토마톤을 생성하고, 생성된 계층 오토마톤을 이용하여 검색을 행하는 방법도 알려져 있다(예컨대, 특허 문헌 1 참조).
[특허 문헌 1]특허 공개 2000-90091호 공보
그러나, 전술한 종래의 검색 방법에는 다음과 같은 문제가 있다.
·검색 처리를 행하기 전에, 일단 검색 대상 문서의 해석을 행해야 한다. 따라서, 검색 대상 문서의 저장에 있어서는 해석 ·분해 등의 처리를 거치기 때문에 매우 많은 처리 시간이 필요하다고 하는 문제가 있다.
·검색 대상 문서 자체를 태그 ·노드 단위로 분해하여 검색 최적화를 행하기 때문에 검색 대상 문서의 저장에 있어서 원래의 문서의 수배쯤의 저장 영역이 필요하게 된다.
·검색 ·해석에 있어서 저장된 문서 데이터의 일부 또는 전부를 일단 메모리 상에 전개하고, 검색 요구의 조건에 만족하는 노드를 특정해야 한다. 따라서, 저장된 문서 데이터의 양에 따라서 검색 ·해석에 필요한 메모리 자원의 소비량은 방대한 것으로 되지 않을 수가 없다.
·검색 대상으로 하는 XML 문서군은 저장 방식의 논리로부터 특정 XML 정의 정보에 의해 지정된 정형의 양식으로 통일되어 있어야 한다. 또한, 검색에 있어서는 정형의 양식에 따른 검색식을 이용하여야 한다. 따라서, 복수의 상이한 양식의 XML 문서를 대상으로 하여 검색을 행하는 경우는 각 양식마다 XML 문서를 검색한 후에, 얻어진 각 검색 결과를 통합할 필요가 있다.
본 발명의 과제는 검색 대상 문서의 저장 및 검색에 필요한 처리 시간, 저장 영역 및 메모리 소비량을 개선하는 검색 장치 및 그 방법을 제공하는 것이다.
도 1은 본 발명의 검색 장치의 원리도이다. 도 1의 검색 장치는 생성 수단(101), 독입 수단(102) 및 검색 수단(103)을 구비하고, 태그를 이용하여 구조화된 문서의 데이터를 검색 조건에 따라서 검색한다.
생성 수단(101)은 검색 조건을 해석하여 그 검색 조건에 의해 지정된 검색 경로에 포함되는 각 요소를 나타내는 태그의 문자열을 등록한 태그 등록 정보(104)와, 검색 조건에 의해 지정된 키워드의 문자열을 등록한 키워드 등록 정보(105)와, 검색 경로를 이용하여 현재의 검색 상태를 관리하기 위한 상태 관리 정보(106)를 생성한다. 독입 수단(102)은 검색 대상의 구조화 문서의 문서 데이터를 소정량씩 연속적으로 독입한다.
검색 수단(103)은 독입된 데이터열 중에서 태그 등록 정보(104)에 등록된 태그를 검출하는 태그 검색과, 독입된 데이터열 중에서 키워드 등록 정보(105)에 등 록된 키워드를 검출하는 키워드 검색을 상태 관리 정보(106)를 이용하여 전환하면서 구조화 문서의 문서 데이터를 검색하여, 검색 결과를 출력한다.
이러한 검색 장치에 따르면, 문서 데이터를 소정량씩 연속적으로 독입하면서 검색이 행해지기 때문에 검색 대상의 전체 문서의 문서 데이터를 미리 전개해 둘 필요는 없어진다. 또한, 검색 조건에 의해 지정된 요소의 태그를 검색하는 태그 검색과, 그 요소 중 키워드를 검색하는 키워드 검색을 적절히 전환하면서 검색이 행해지기 때문에 검색 대상 문서의 구조를 모르더라도 검색 조건에 만족하는 요소의 내용을 키워드와 대조할 수 있다. 따라서, 검색 대상 문서는 특정의 XML 정의 정보 등에 의해 지정된 양식이 아니더라도 상관없다.
생성 수단(101), 독입 수단(102), 검색 수단(103), 태그 등록 정보(104), 키워드 등록 정보(105) 및 상태 관리 정보(106)는 예컨대 후술하는 도 2의 검색식 해석부(213), 데이터 독입부(215), XML 검색부(214), 태그용 오토마톤(222), 키워드용 오토마톤(224) 및 상태 관리 정보(223)에 각각 대응한다.
이하, 도면을 참조하면서 본 발명을 실시하기 위한 최량의 형태를 상세히 설명한다.
도 2는 본 실시형태의 검색 장치의 구성도이다. 도 2의 검색 장치(201)는 조작 해석부(211), 데이터 검색부(212), 검색식 해석부(213), XML 검색부(214), 데이터 독입부(215), 검색 결과 저장부(216), 데이터 동기부(217), 데이터 기록부(218) 및 데이터 저장부(219)를 구비한다.
조작 해석부(211)는 데이터 조작의 응용 프로그램(202)으로부터 처리 요구를 수신하고, 그것을 해석하여 처리 요구가 데이터의 검색, 추가, 갱신, 삭제 및 일괄 삭제 중 어느 하나를 요구하고 있는가를 체크한다. 그리고, 처리 요구가 검색 요구이면 그 검색 요구를 데이터 검색부(212)로 전송하고, 추가 요구, 갱신 요구, 삭제 요구 또는 일괄 삭제 요구이면 그 처리 요구를 데이터 기록부(218)로 전송한다.
데이터 검색부(212)는 수신된 검색 요구 조건(이후, 검색 조건이라고 한다)에 포함되는 검색식을 검색식 해석부(213)로 전송한다. 검색식 해석부(213)는 수신된 검색식을 해석하여 검색하여야 할 요소를 지정하는 경로, 경로에 포함되는 각 요소의 태그, 검색하여야 할 키워드 등의 정보를 추출한다. 그리고, 추출한 정보를 이용하여 태그용 오토마톤(222), 상태 관리 정보(223) 및 키워드용 오토마톤(224)을 생성하여, XML 검색부(214)로 전송한다. 상태 관리 정보(223)는 지정된 경로를 이용하여 검색 상태를 관리하기 위한 정보이다.
오토마톤은 초기 상태와 수리 상태를 포함하는 복수의 상태의 집합으로 표현되어, 2개의 상태 사이에는 천이의 방향을 나타내는 화살표로 연결된다. 오토마톤은 우선 초기 상태에 있어서 입력된 데이터 값에 따른 천이할 곳의 상태를 결정하고, 그 상태로 천이한다. 다음에, 다음 입력 데이터의 값에 따른 천이할 곳의 상태를 결정하고, 그 상태로 천이한다. 수리 상태에는 초기 상태로부터 그 수리 상태로 도달할 때까지 입력된 데이터열의 정보가 설정되어 있다. 바꿔 말하면, 수리 상태로 설정된 데이터열은 오토마톤에 등록된 데이터열이다.
오토마톤은 연속적으로 입력되는 데이터열에 따라서 상태 천이를 반복함으로써 입력되는 데이터열과 등록된 데이터열을 대조한다. 그리고, 수리 상태에 도달하 면 입력 데이터열이 그 상태에 대응하는 등록 데이터열과 일치한 것으로 판단하여, 등록 데이터열의 정보를 출력한다.
XML 검색부(214)는 논리식 테이블(221)을 유지하고 있고, 검색식 해석부(213)로부터 수신된 태그용 오토마톤(222), 상태 관리 정보(223) 및 키워드용 오토마톤(224)을 이용하여 데이터 저장부(219)에 저장된 검색 대상의 XML 문서를 검색한다. 이 때, 데이터 독입부(215)는 데이터 저장부(219)로부터 전체 문서의 문서 데이터를 소정량씩 독출하고, XML 검색부(214)로 전송한다. 검색 처리의 개시시에는 논리식 테이블(221)의 값은 "거짓"으로 설정되어 있다.
XML 검색부(214)는 데이터 독입부(215)로부터 수신된 데이터를 태그용 오토마톤(222)에 입력하고, 데이터가 히트하면 태그용 오토마톤(222)으로부터 출력되는 히트 정보를 토대로 상태 관리 정보(223)에 액세스한다. 히트 정보에 의해 지정되는 계층이 상태 관리 정보(223)에 등록된 검색 조건의 계층에 만족하고 있는 경우 그 이후의 데이터를 키워드용 오토마톤(224)에 입력한다. 그리고, 키워드용 오토마톤(224)에 등록된 키워드가 검출되면 해당 문서의 정보를 검색 결과 저장부(216)에 저장한다.
태그용 오토마톤(222)은 요소의 개시 태그 및 종료 태그로 구성되는 오토마톤이며, 입력된 문서 데이터로부터 개시 ·종료 태그를 검출하면 히트 정보를 출력한다. 이것을 수신해서, XML 검색부(214)는 상태 관리 정보(223)의 요소를 찾아가, 검색 조건에 만족하는 요소에 도달했을 때 키워드용 오토마톤(224)에 대하여 문서 데이터의 입력을 시작한다.
키워드용 오토마톤(224)은 검색 조건의 키워드, 개시 태그 및 종료 태그로 구성되는 오토마톤이며, 입력된 문서 데이터로부터 검색 조건의 키워드를 검출하면 히트 정보를 출력한다. 이것을 수신해서, XML 검색부(214)는 논리식 테이블(221)의 해당 값을 "참"으로 변경한다.
다음에, 입력된 문서 데이터로부터 종료 태그가 검출되면 키워드용 오토마톤(224)은 다시 히트 정보를 출력한다. 이것을 수신해서, XML 검색부(214)는 검색 처리가 검색 조건의 요소를 빼는 단계에 도달한 것으로 판단하고, 그 요소에 관한 논리식을 평가하여 논리식 테이블(221)의 해당하는 값을 초기화한다. 그리고, 상태 관리 정보(223)의 다음 요소에 액세스한다. 루트 노드의 요소를 빼는 경우는 최종 논리식 평가를 행하여 상기 문서의 진위를 판정한다.
다음에, 도 3으로부터 도 11까지를 참조하면서 도 2의 검색 장치(201)가 행하는 검색 처리를 보다 상세히 설명한다.
도 3 및 도 4는 데이터 저장부(219)에 저장된 검색 대상 문서의 예를 도시하고 있다. 여기서, 검색식 해석부(213)가 다음과 같은 검색식 2를 수신한 것으로 한다.
[검색식 2]
/root/comp/name = 'ABC'
이 검색식 2는 /root/comp/name이라는 경로로 지정되는 요소에 'ABC'라는 키워드가 포함되어 있다고 하는 조건을 나타낸다. 이와 같이, 경로 표현에 있어서는 선두에 기호 "/"가 기술되고, 다른 계층의 태그의 사이는 "/"으로 구획된다. 또한, 하기 (a) 및 (b)에 나타낸 바와 같이 검색식의 기술 방법으로서 경로에 포함되는 요소의 태그를 생략하는 방법도 있다.
(a) 경로 생략 표현 1
경로를 기술하는 경우에 전체 경로가 아니라, "//"를 이용함으로써 태그를 생략한 형태로 기술한다. "//"는 어디에 기술하더라도 상관없다.
예 1) /root//comp/name
이 표현은 "/root/comp/name", "/root/a/b/c/comp/name" 등의 경로를 포함하고 있다.
예 2) //name
이 표현은 "name" 태그에 이르는 모든 경로를 포함하고 있다.
예 3) /root/comp//
이 표현은 /root/comp 이하의 계층에 이르는 모든 경로를 포함하고 있다.
(b) 경로 생략 표현 2
경로를 기술하는 경우에 태그명이 아니라, "*"를 이용함으로써 하나의 태그를 생략한 형태로 기술한다. "*"는 어디에 기술하더라도 상관하지 않고, "*"가 기술된 부분은 어떤 태그라도 상관없다.
예 4) /root/comp/*
이 표현은 "*"의 부분에 대응하는 태그에 도달하는 모든 경로를 포함하고 있다. 따라서, "/root/comp/name"이나 "/root/comp/code"가 이 표현에 포함된다.
검색식 해석부(213)는 검색식 2로부터 이하의 3가지의 논리식을 생성한다.
[논리식 3]
/root/comp/name
[논리식 4]
'ABC'
[논리식 5]
/root/comp/name = 'ABC'
논리식 3은 검색하여야 할 요소를 지정하는 경로를 나타내고, 논리식 4는 검색하여야 할 키워드를 나타내며, 논리식 5는 논리식 3과 논리식 4를 비교 연산자 "="로 결합한 논리식이다. 검색식 해석부(213)는 이들 논리식 3 내지 5로부터 태그용 오토마톤(222), 상태 관리 정보(223) 및 키워드용 오토마톤(224)을 생성한다.
도 5는 생성된 태그용 오토마톤(222)의 예를 나타내고 있다. 도 5에 있어서, 각 상태는 원으로 표시되어 있고, 원 안의 문자는 앞의 상태로부터 그 문자가 기록된 상태로 천이했을 때에 입력된 문자 데이터를 나타내고 있다. 또한, "in"이라 기록된 상태는 초기 상태를 나타내고, 히트 정보가 부가된 상태는 수리 상태를 나타낸다. 이 오토마톤에는 이하와 같은 문자열(개시 태그 등)이 등록되어 있고, 등록 문자열과 일치하는 문자열이 입력되면 대응하는 히트 정보가 출력된다. 다만, "_"은 1 문자분의 블랭크를 나타낸다.
문자열 히트 정보
<comp/> 501
<comp> 502
<comp_ 503
<root/> 504
<root> 505
<root_ 505
<name/> 507
<name> 508
<name_ 509
> 510
간단히 하기 위해 도 5에서는 생략되어 있지만, 실제로는 도 6에 도시한 바와 같은 문자열도 태그용 오토마톤(222)에 등록된다. 컴퓨터 상에서 오브젝트 지향 프로그래밍에 의해 오토마톤을 실현하는 경우, 예컨대 각 상태 및 각 히트 정보가 하나의 오브젝트에 의해 표현된다.
도 7은 상태 관리 정보(223) 전에 생성되는 태그 테이블의 예를 나타내고 있다. 도 7의 태그 테이블에는 논리식 3에 포함되는 각 태그의 명칭 및 번호가 등록되어 있고, 이 태그 테이블을 이용하여 도 8과 같은 상태 관리 정보가 생성된다.
도 8의 상태 관리 정보는 "Initial", "root", "comp" 및 "name"의 4개의 요소로 이루어지며, 검색하여야 할 요소를 지정하는 경로를 나타내고 있다. "Initial" 요소는 초기 상태를 나타내고, 다른 3가지의 요소는 각각 경로에 포함되는 3개의 요소에 대응하고 있다. 각 요소에는 도 7의 태그 테이블에 등록된 태그의 명칭 및 번호가 등록되어 있고, XML 검색부(214)는 그 정보를 이용하여 다음 요소 에 액세스할 수 있다.
또한, 검색 조건의 계층에 속하는 "name" 요소에는 OUTPUT이 부가되어 있다. 이 OUTPUT는 논리식 5의 정보를 포함하고 있고, "name" 요소가 액세스되었을 때에 논리식 5가 평가되는 것을 나타내고 있다. 오브젝트 지향 프로그래밍에 의해 상태 관리 정보를 기술하는 경우, 예컨대 각 요소 및 각 OUTPUT이 하나의 오브젝트에 의해 표현된다.
도 9는 생성된 키워드용 오토마톤(224)의 예를 나타내고 있다. 도 9의 각 상태 및 상태 천이의 기술 방법은 기본적으로 도 5의 경우와 마찬가지다. "in"의 상태는 초기 상태를 나타내고, 히트 정보가 부가된 상태는 수리 상태를 나타낸다. 이 오토마톤에는 이하와 같은 문자열(키워드 등)이 등록되어 있고, 등록 문자열과 일치하는 문자열이 입력되면 대응하는 히트 정보가 출력된다.
문자열 히트 정보
ABC 901
</ 902
간단히 하기 위해 도 9에서는 생략되어 있지만, 실제로는 도 6에 도시한 바와 같은 문자열도 키워드용 오토마톤(224)에 등록된다.
XML 검색부(214)는 검색식 해석부(213)로부터 3가지의 논리식, 태그용 오토마톤(222), 상태 관리 정보(223) 및 키워드용 오토마톤(224)을 수신한다. 그리고, 도 10에 도시한 바와 같이 수신된 논리식을 논리식 테이블에 등록한다. 초기 상태로에서는 논리식 테이블의 각 논리식의 값으로서 "거짓"이 저장되어 있다.
다음에, XML 검색부(214)는 도 11에 나타내는 플로우차트에 따라서 검색 처리를 행한다. 여기서는, 각 XML 문서가 하나의 기록으로서 저장되어 있는 것으로 한다. XML 검색부(214)는 우선, 검색 대상의 모든 기록의 처리가 종료했는지 여부를 체크하고(단계 1101), 미처리의 기록이 남아 있으면 태그 검색 처리를 행한다(단계 1102).
태그 검색 처리에서는 문서 데이터를 1 문자씩 태그용 오토마톤(222)에 입력하고, 태그용 오토마톤(222)으로부터 히트 정보가 출력되면 히트 정보의 태그가 기록의 종단에 대응하는지 여부를 체크한다(단계 1103).
히트 정보의 태그가 기록의 종단에 대응하지 않으면, 다음에, 그 태그의 정보에 따라서 상태 관리 정보(223)를 참조하여(단계 1106), 참조할 곳의 요소가 검색 조건의 계층에 속하는지 여부를 체크한다(단계 1107). 참조할 곳의 요소가 검색 조건의 계층에 속하는 경우 키워드 검색 처리를 행한다(단계 1108).
키워드 검색 처리에서는 그 이후의 문서 데이터를 1 문자씩 키워드용 오토마톤(224)에 입력하고, 키워드용 오토마톤(224)으로부터 히트 정보가 출력되면 히트 정보의 문자열이 태그의 종단에 대응하는지 여부를 체크한다(단계 1109).
문자열이 태그의 종단에 대응하지 않으면 단계 1108의 키워드 검색 처리를 반복하고, 문자열이 태그의 종단에 대응하고 있으면 그 태그에 관한 논리식을 평가한다(단계 1105). 그리고, 그 태그의 정보에 따라서 단계 1106 이후의 처리를 반복한다.
단계 1107에 있어서 참조할 곳의 요소가 검색 조건의 계층에 속하지 않는 경 우는 그대로 단계 1102 이후의 처리를 반복한다. 그리고, 단계 1103에 있어서 히트 정보의 태그가 기록의 종단에 대응하고 있으면 최종 논리식 평가를 행하여 그 기록이 검색 조건에 만족하는지 여부를 판정하고(단계 1104), 단계 1101 이후의 처리를 반복한다. 그 후, 단계 1101에 있어서 모든 기록의 처리가 종료되면 검색 처리를 종료한다.
예컨대, 도 3의 문서의 기록이 검색되는 경우 단계 1102에 있어서 최초에 <root> 태그가 검출되고, 도 5의 태그용 오토마톤으로부터 히트 정보(505)가 출력된다. 그래서, 단계 1106에 있어서 도 8의 상태 관리 정보의 "Initial" 요소를 참조하면 태그명 "root"는 다음 "root" 요소를 가리키고 있기 때문에 "root" 요소가 액세스된다. 그리고, 단계 1107에 있어서 "root" 요소에 OUTPUT이 부가되어 있는지 여부가 체크된다.
"root" 요소에는 OUTPUT이 부가되어 있지 않기 때문에 이 요소는 검색 조건의 계층에 속하지 않는 것으로 판단되고, 단계 1102의 태그 검색 처리가 속행된다. 이와 마찬가지로 하여, <comp> 태그가 검출되면 상태 관리 정보의 "comp" 요소가 액세스된다. "comp" 요소에도 OUTPUT은 부가되어 있지 않기 때문에 태그 검색 처리가 속행된다.
다음에, <name> 태그가 검출되면 상태 관리 정보의 "name" 요소가 액세스된다. 이 때, "name" 요소에는 OUTPUT이 부가되어 있기 때문에 이 요소는 검색 조건의 계층에 속하는 것으로 판단된다. 그래서, 도 10의 논리식 테이블의 /root/comp/name의 값이 "참"으로 변경되고, 단계 1108의 키워드 검색 처리가 행해 진다.
키워드 검색 처리에서는 키워드 'ABC'가 검출되기 때문에 도 9의 키워드용 오토마톤으로부터 히트 정보(901)가 출력된다. 그래서, 논리식 테이블의 'ABC'의 값이 "참"으로 변경된다. 그러나, 단계 1109에 있어서 이 문자열은 태그의 종단에 대응하지 않기 때문에 키워드 검색 처리가 속행된다.
다음에, 문자열 "</"이 검출되고, 키워드용 오토마톤으로부터 히트 정보(902)가 출력된다. 이 문자열은 종료 태그의 선두 부분을 나타내기 때문에 <name> 태그의 종단에 대응하는 것으로 판단되고, 단계 1105에 있어서 논리식 테이블을 참조하여 /root/comp/name = 'ABC'가 만족하는지 여부가 체크된다.
이 단계에서는 논리식 테이블의 /root/comp/name 및 'ABC'의 값이 모두 "참"으로 되어 있기 때문에 이 논리식은 만족되었다고 판단되고, 논리식 테이블의 해당하는 값이 "참"으로 변경된다. 이에 따라, 도 3의 문서는 검색 조건에 만족하는 문서의 후보가 된다. 이 때, /root/comp/name 및 'ABC'의 값은 초기값인 "거짓"으로 변경된다.
또한, 종료 태그가 검출되었기 때문에 단계 1106에 있어서 상태 관리 정보를 반대로 찾아가는 처리가 행해진다. 그래서, 상태 관리 정보의 "name" 요소의 직전에 있는 "comp" 요소가 액세스되지만, 이 요소는 검색 조건의 계층에 속하지 않기 때문에 태그 검색 처리가 속행된다.
그리고, 최후의 </root> 태그가 검출된 단계에서, 단계 1103에 있어서 이 태그는 기록의 종단에 대응하는 것으로 판단된다. 그래서, 단계 1104에 있어서 논리 식 테이블을 참조하여 검색 조건이 만족되었는지 여부가 체크된다.
이 단계에서는 논리식 테이블의 /root/comp/name = 'ABC'의 값이 "참"으로 되어있기 때문에 검색 조건은 만족되었다고 판단된다. 그래서, 도 3의 문서의 식별 정보가 검색 조건에 만족하는 문서의 정보로서 검색 결과 저장부(216)에 저장된다. 이 때, 논리식 테이블의 /root/comp/name = 'ABC'의 값은 초기값인 "거짓"으로 변경된다.
다음에, 도 4의 문서의 기록도 마찬가지로 하여 검색되지만, 이 기록의 "name" 요소에는 키워드 'ABC'가 포함되어 있지 않기 때문에 검색 조건은 만족되지 않는다. 따라서, 도 4의 문서의 식별 정보는 검색 결과 저장부(216)에는 저장되지 않는다.
모든 기록의 처리가 종료하면 검색 결과 저장부(216)에 저장된 문서의 식별 정보가 검색 결과로서 응용 프로그램(202)에 반송된다.
다음에, 도 12로부터 도 18까지를 참조하면서 도 2의 데이터 독입부(215), 데이터 동기부(217) 및 데이터 기록부(218)가 행하는 처리를 상세히 설명한다.
데이터 동기부(217)는 도 12에 도시한 바와 같이 2개의 데이터 관리 테이블(1201, 1202)을 유지하고 있고, 데이터 독입부(215) 및 데이터 기록부(218)에 대하여 사용 가능한 어느 하나의 데이터 관리 테이블을 넘겨준다. 데이터 관리 테이블(1201, 1202)은 데이터 저장부(219)에 저장된 문서 데이터(1203, 1204, 1205, 1206)의 어드레스를 유지하고 있고, 이들 문서 데이터에 액세스하기 위한 인덱스 테이블로서 이용된다. 여기서는 문서 데이터(1203, 1204, 1205, 1206)의 각각 이 하나의 XML 문서에 대응하는 것으로 한다.
데이터 동기부(217)는 검색용 테이블의 어드레스(1207)와 갱신용 테이블의 어드레스(1208)에 어느 하나의 데이터 관리 테이블의 어드레스를 설정함으로써 데이터 독입부(215) 및 데이터 기록부(218)가 사용하는 데이터 관리 테이블을 결정한다. 도 12에서는 어드레스(1207)로서 데이터 관리 테이블(1201)의 어드레스(P1)가 설정되고, 어드레스(1208)로서 데이터 관리 테이블(1202)의 어드레스(P2)가 설정되어 있다.
어드레스(1207)에 의해 지정된 데이터 관리 테이블(1201)은 검색용 테이블로서 데이터 독입부(215)에 주어지고, 어드레스(1208)에 의해 지정된 데이터 관리 테이블(1202)은 갱신용 테이블로서 데이터 기록부(218)에 주어진다. 데이터 독입부(215)는 전술한 검색 처리에 있어서 주어진 검색용 테이블을 이용하여 데이터 저장부(219)로부터 문서 데이터를 독출한다.
데이터 기록부(218)는 조작 해석부(211)로부터 추가 요구, 갱신 요구, 삭제 요구 또는 일괄 삭제 요구를 수신하면 주어진 갱신용 테이블을 이용하여 데이터 저장부(219)의 문서 데이터의 추가 처리, 갱신 처리, 삭제 처리, 또는 일괄 삭제 처리를 행한다. 그리고, 그 처리의 정보를 갱신용 테이블에 기록한 후에, 처리의 종료를 데이터 동기부(217)에 통지한다.
이것을 수신해서, 데이터 동기부(217)는 유지하고 있는 어드레스(1207)와 어드레스(1208)의 값을 교체시켜, 지금까지 갱신용 테이블로서 사용되고 있었던 데이터 관리 테이블(1202)을 새로운 검색용 테이블로서 데이터 독입부(215)에 건네준 다. 그 후에, 데이터 관리 테이블(1202)의 내용을 다른쪽의 데이터 관리 테이블(1201)에 복사한다.
이러한 구성을 채용함으로써 데이터 기록부(218)가 추가 처리, 갱신 처리, 삭제 처리 및 일괄 삭제 처리를 행하고 있는 중이라도 데이터 독입부(215)는 문서 데이터의 독출을 행하는 것이 가능하게 된다.
도 13으로부터 도 15까지는 새로운 문서 데이터의 추가 처리의 순서를 나타내고 있다. 우선, 도 13에 도시한 바와 같이 데이터 기록부(218)는 추가하여야 할 문서 데이터(1301)를 데이터 저장부(219)에 저장하고, 그 저장 어드레스를 데이터 관리 테이블(1202)에 추가한다.
다음에, 도 14에 도시한 바와 같이 데이터 동기부(217)는 어드레스(1207)와 어드레스(1208)의 값을 교체시킨다. 이에 따라, 데이터 관리 테이블(1201)이 갱신용 테이블이 되고, 데이터 관리 테이블(1202)이 검색용 테이블이 된다. 그리고, 도 15에 도시한 바와 같이 데이터 관리 테이블(1202)의 내용을 데이터 관리 테이블(1201)에 복사하여 새로운 갱신용 테이블의 내용을 최신의 것으로 갱신한다.
도 16은 기존의 문서 데이터(1205)의 갱신 처리를 나타내고 있다. 우선, 데이터 기록부(218)는 갱신된 문서 데이터(1601)를 데이터 저장부(219)에 저장하고, 데이터 관리 테이블(1202)에 등록되어 있는 문서 데이터(1205)의 어드레스를 문서 데이터(1601)의 저장 어드레스로 변경한다. 다음에, 데이터 동기부(217)는 도 14 및 도 15의 순서와 동일하게 하여 어드레스(1207)와 어드레스(1208)의 값을 교체시켜, 데이터 관리 테이블(1202)의 내용을 데이터 관리 테이블(1201)에 복사한다.
도 17은 기존의 문서 데이터(1206)의 삭제 처리를 나타내고 있다. 우선, 데이터 기록부(218)는 데이터 관리 테이블(1202)에 등록되어 있는 문서 데이터(1206)의 어드레스를 삭제한다. 다음에, 데이터 동기부(217)는 도 14 및 도 15의 순서와 동일하게 하여 어드레스(1207)와 어드레스(1208)의 값을 교체시켜, 데이터 관리 테이블(1202)의 내용을 데이터 관리 테이블(1201)에 복사한다.
도 18은 데이터 저장부(219)의 전체 문서 데이터의 일괄 삭제 처리를 나타내고 있다. 우선, 데이터 기록부(218)는 데이터 관리 테이블(1202)에 등록되어 있는 모든 문서 데이터의 어드레스를 삭제한다. 다음에, 데이터 동기부(217)는 도 14 및 도 15의 순서와 동일하게 하여 어드레스(1207)와 어드레스(1208)의 값을 교체시켜, 데이터 관리 테이블(1202)의 내용을 데이터 관리 테이블(1201)에 복사한다.
이상 설명한 실시형태에서는 XML 문서를 대상으로 하는 검색 처리에 관해서 기술하였지만, 본 발명은 XML 문서에 한정하지 않고, SGML(Standard Generalized Markup Language) 문서를 포함하는 임의의 구조화 문서의 검색 처리에 대하여 적용 가능하다.
또한, 전술한 실시형태에서는 태그 및 키워드를 검출하기 위해서 각각 태그용 오토마톤 및 키워드용 오토마톤을 이용하고 있지만, 이들 대신에 다른 태그 등록 정보 및 키워드 등록 정보를 이용하더라도 좋다.
그런데, 도 2의 검색 장치는 예컨대 도 19에 도시한 바와 같은 정보 처리 장치(컴퓨터)를 이용하여 구성할 수 있다. 도 19의 정보 처리 장치는 CPU(중앙 처리 장치)(1901), 메모리(1902), 입력 장치(1903), 출력 장치(1904), 외부 기억 장치(1905), 매체 구동 장치(1906), 네트워크 접속 장치(1907)를 구비하고, 이들은 버스(1908)에 의해 서로 접속되어 있다.
메모리(1902)는 예컨대 ROM(read only memory), RAM(random access memory) 등을 포함하고, 처리에 이용되는 프로그램 및 데이터를 저장한다. CPU(1901)는 메모리(1902)를 이용하여 프로그램을 실행함으로써 필요한 처리를 행한다.
도 2의 검색 결과 저장부(216)는 메모리(1902)에 대응한다. 도 2의 조작 해석부(211), 데이터 검색부(212), 검색식 해석부(213), XML 검색부(214), 데이터 독입부(215), 데이터 동기부(217) 및 데이터 기록부(218)는 메모리(1902)에 저장된 프로그램을 실행함으로써 실현되는 기능에 대응한다. 또한, 도 2의 논리식 테이블(221), 태그용 오토마톤(222), 상태 관리 정보(223) 및 키워드용 오토마톤(224)은 메모리(1902) 상에서 동적으로 생성된다.
입력 장치(1903)는 예컨대 키보드, 포인팅 디바이스, 터치 패널 등이며, 사용자로부터의 지시나 정보의 입력에 이용된다. 출력 장치(1904)는 예컨대 디스플레이, 프린터, 스피커 등이며, 사용자로의 조회나 처리 결과 등의 출력에 이용된다.
외부 기억 장치(1905)는 예컨대 자기 디스크 장치, 광 디스크 장치, 광 자기 디스크 장치, 테이프 장치 등이다. 정보 처리 장치는 이 외부 기억 장치(1905)에 상기 프로그램 및 데이터를 저장해 두고, 필요에 따라서 이들을 메모리(1902)에 로드하여 사용한다. 또한, 외부 기억 장치(1905)는 도 2의 데이터 저장부(219)로서도 사용된다.
매체 구동 장치(1906)는 가반 기록 매체(1909)를 구동하고, 그 기록 내용에 액세스한다. 가반 기록 매체(1909)는 메모리 카드, 플렉시블 디스크, CD-ROM(compact disk read only memory), 광 디스크, 광 자기 디스크 등의 임의의 컴퓨터 독입 가능한 기록 매체이다. 사용자는 이 가반 기록 매체(1909)에 상기 프로그램 및 데이터를 저장해 두고, 필요에 따라서 이들을 메모리(1902)에 로드하여 사용한다.
네트워크 접속 장치(1907)는 LAN(local area network) 등의 임의의 통신 네트워크에 접속되어, 통신에 따르는 데이터 변환을 행한다. 정보 처리 장치는 필요에 따라서 상기 프로그램 및 데이터를 외부 장치로부터 네트워크 접속 장치(1907)를 통해 수신하고, 이들을 메모리(1902)에 로드하여 사용한다.
도 20은 도 19의 정보 처리 장치에 프로그램 및 데이터를 공급할 수 있는 컴퓨터 독입 가능한 기록 매체를 나타내고 있다. 가반 기록 매체(1909)나 서버(2001)의 데이터베이스(2003)에 저장된 프로그램 및 데이터는 정보 처리 장치(2002)의 메모리(1902)에 로드된다. 서버(2001)는 그 프로그램 및 데이터를 반송하는 반송 신호를 생성하고, 네트워크상의 임의의 전송 매체를 통해 정보 처리 장치(2002)로 송신한다. CPU(1901)는 그 데이터를 이용하여 그 프로그램을 실행하고, 필요한 처리를 행한다.
(부기 1) 태그를 이용하여 구조화된 문서의 데이터를 검색 조건에 따라서 검색하는 검색 장치로서,
상기 검색 조건을 해석하여 상기 검색 조건에 의해 지정된 검색 경로에 포함되는 각 요소를 나타내는 태그의 문자열을 등록한 태그 등록 정보와, 상기 검색 조 건에 의해 지정된 키워드의 문자열을 등록한 키워드 등록 정보와, 상기 검색 경로를 이용하여 현재의 검색 상태를 관리하기 위한 상태 관리 정보를 생성하는 생성 수단과,
검색 대상의 구조화 문서의 문서 데이터를 소정량씩 연속적으로 독입하는 독입 수단과,
독입된 데이터열 중에서 상기 태그 등록 정보에 등록된 태그를 검출하는 태그 검색과, 독입된 데이터열 중에서 상기 키워드 등록 정보에 등록된 키워드를 검출하는 키워드 검색을 상기 상태 관리 정보를 이용하여 전환하면서 상기 구조화 문서의 문서 데이터를 검색하여 검색 결과를 출력하는 검색 수단을 구비하는 것을 특징으로 하는 데이터 검색 장치.
(부기 2) 태그를 이용하여 구조화된 문서의 데이터를 검색 조건에 따라서 검색하는 컴퓨터용 프로그램으로서,
상기 검색 조건을 해석하여 상기 검색 조건에 의해 지정된 검색 경로에 포함되는 각 요소를 나타내는 태그의 문자열을 등록한 태그 등록 정보와, 상기 검색 조건에 의해 지정된 키워드의 문자열을 등록한 키워드 등록 정보와, 상기 검색 경로를 이용하여 현재의 검색 상태를 관리하기 위한 상태 관리 정보를 생성하고,
검색 대상의 구조화 문서의 문서 데이터를 소정량씩 연속적으로 독입하며,
독입된 데이터열 중에서 상기 태그 등록 정보에 등록된 태그를 검출하는 태그 검색과, 독입된 데이터열 중에서 상기 키워드 등록 정보에 등록된 키워드를 검출하는 키워드 검색을 상기 상태 관리 정보를 이용하여 전환하면서 상기 구조화 문 서의 문서 데이터를 검색하고,
상기 검색 결과를 출력하는 처리를 상기 컴퓨터로 실행시키는 것을 특징으로 하는 프로그램.
(부기 3) 상기 현재의 검색 상태가 상기 검색 경로 상의 어떤 요소에 대응하는지를 관리하기 위한 정보와, 상기 태그 검색으로부터 상기 키워드 검색으로 전환해야 하는 상태를 지정하는 정보를 포함하는 상기 상태 관리 정보를 생성하고, 상기 태그 검색에 의해 상기 등록된 태그가 검출되었을 때에 상기 상태 관리 정보를 참조하며, 상기 현재의 검색 상태가 상기 태그 검색으로부터 상기 키워드 검색으로 전환해야 하는 상태이면 상기 태그 검색으로부터 상기 키워드 검색으로 전환하는 처리를 상기 컴퓨터로 실행시키는 것을 특징으로 하는 부기 2에 기재한 프로그램.
(부기 4) 상기 태그 검색에 있어서 상기 구조화 문서의 문서 데이터로부터 문자열을 1 문자씩 독입하고, 상기 태그 등록 정보에 등록된 태그의 문자열과 1 문자씩 대조하며, 독입된 문자열이 등록된 태그의 문자열과 일치하면 상기 상태 관리 정보를 참조하여 상기 현재의 검색 상태를 체크하고, 상기 현재의 검색 상태가 상기 태그 검색으로부터 상기 키워드 검색으로 전환해야 하는 상태이면 상기 태그 검색으로부터 상기 키워드 검색으로 전환하며, 상기 키워드 검색에 있어서 상기 등록된 태그의 문자열과 일치된 문자열에 계속되는 문자열을 1 문자씩 독입하고, 상기 키워드 등록 정보에 등록된 키워드의 문자열과 1 문자씩 대조하며, 독입된 문자열이 등록된 키워드의 문자열과 일치하면 상기 구조화 문서를 상기 검색 조건에 만족하는 문서의 후보라고 판단하는 처리를 상기 컴퓨터로 실행시키는 것을 특징으로 하는 부기 2에 기재한 프로그램.
(부기 5) 상기 구조화 문서의 문서 데이터를 검색하면서 상기 구조화 문서의 문서 데이터의 추가, 갱신, 삭제 및 일괄 삭제 중 적어도 하나의 조작을 행하는 처리를 상기 컴퓨터로 실행시키는 것을 특징으로 하는 부기 2에 기재한 프로그램.
(부기 6) 상기 구조화 문서의 문서 데이터에 액세스하기 위한 2개의 데이터 관리 테이블 중 한쪽의 데이터 관리 테이블을 이용하여 상기 구조화 문서의 문서 데이터를 검색하면서 다른쪽의 데이터 관리 테이블을 이용하여 상기 구조화 문서에 대한 상기 적어도 하나의 조작을 행하는 처리를 상기 컴퓨터로 실행시키는 것을 특징으로 하는 부기 5에 기재한 프로그램.
(부기 7) 태그를 이용하여 구조화된 문서의 데이터를 검색 조건에 따라서 검색하는 컴퓨터용 프로그램으로서,
상기 검색 조건을 해석하여 상기 검색 조건에 의해 지정된 검색 경로에 포함되는 각 요소를 나타내는 태그의 문자열을 등록한 태그용 오토마톤과, 상기 검색 조건에 의해 지정된 키워드의 문자열을 등록한 키워드용 오토마톤과, 상기 검색 경로를 이용하여 현재의 검색 상태를 관리하기 위한 상태 관리 정보를 생성하고,
검색 대상의 구조화 문서의 문서 데이터를 소정량씩 연속적으로 독입하며,
독입된 데이터열 중에서 상기 태그용 오토마톤에 등록된 태그를 검출하는 태그 검색과, 독입된 데이터열 중에서 상기 키워드용 오토마톤에 등록된 키워드를 검출하는 키워드 검색을 상기 상태 관리 정보를 이용하여 전환하면서 상기 구조화 문서의 문서 데이터를 검색하고,
상기 검색 결과를 출력하는 처리를 상기 컴퓨터로 실행시키는 것을 특징으로 하는 프로그램.
(부기 8) 태그를 이용하여 구조화된 문서의 데이터를 검색 조건에 따라서 검색하는 컴퓨터용 프로그램을 기록한 기록 매체로서,
상기 프로그램은,
상기 검색 조건을 해석하여 상기 검색 조건에 의해 지정된 검색 경로에 포함되는 각 요소를 나타내는 태그의 문자열을 등록한 태그 등록 정보와, 상기 검색 조건에 의해 지정된 키워드의 문자열을 등록한 키워드 등록 정보와, 상기 검색 경로를 이용하여 현재의 검색 상태를 관리하기 위한 상태 관리 정보를 생성하고,
검색 대상의 구조화 문서의 문서 데이터를 소정량씩 연속적으로 독입하며,
독입된 데이터열 중에서 상기 태그 등록 정보에 등록된 태그를 검출하는 태그 검색과, 독입된 데이터열 중에서 상기 키워드 등록 정보에 등록된 키워드를 검출하는 키워드 검색을 상기 상태 관리 정보를 이용하여 전환하면서 상기 구조화 문서의 문서 데이터를 검색하고,
상기 검색 결과를 출력하는 처리를 상기 컴퓨터로 실행시키는 것을 특징으로 하는 컴퓨터 판독 가능한 기록 매체.
(부기 9) 태그를 이용하여 구조화된 문서의 데이터를 검색 조건에 따라서 검색하는 컴퓨터용 프로그램을 반송하는 반송 신호로서,
상기 프로그램은,
상기 검색 조건을 해석하여 상기 검색 조건에 의해 지정된 검색 경로에 포함 되는 각 요소를 나타내는 태그의 문자열을 등록한 태그 등록 정보와, 상기 검색 조건에 의해 지정된 키워드의 문자열을 등록한 키워드 등록 정보와, 상기 검색 경로를 이용하여 현재의 검색 상태를 관리하기 위한 상태 관리 정보를 생성하고,
검색 대상의 구조화 문서의 문서 데이터를 소정량씩 연속적으로 독입하며,
독입된 데이터열 중에서 상기 태그 등록 정보에 등록된 태그를 검출하는 태그 검색과, 독입된 데이터열 중에서 상기 키워드 등록 정보에 등록된 키워드를 검출하는 키워드 검색을 상기 상태 관리 정보를 이용하여 전환하면서 상기 구조화 문서의 문서 데이터를 검색하고,
상기 검색 결과를 출력하는 처리를 상기 컴퓨터로 실행시키는 것을 특징으로 하는 반송 신호.
(부기 10) 태그를 이용하여 구조화된 문서의 데이터를 검색 조건에 따라서 검색하는 검색 방법으로서,
생성 수단에 의하여 상기 검색 조건을 해석하여 상기 검색 조건에 의해 지정된 검색 경로에 포함되는 각 요소를 나타내는 태그의 문자열을 등록한 태그 등록 정보와, 상기 검색 조건에 의해 지정된 키워드의 문자열을 등록한 키워드 등록 정보와, 상기 검색 경로를 이용하여 현재의 검색 상태를 관리하기 위한 상태 관리 정보를 생성하고,
독입 수단에 의하여 검색 대상의 구조화 문서의 문서 데이터를 소정량씩 연속적으로 독입하며,
검색 수단에 의하여 독입된 데이터열 중에서 상기 태그 등록 정보에 등록된 태그를 검출하는 태그 검색과, 독입된 데이터열 중에서 상기 키워드 등록 정보에 등록된 키워드를 검출하는 키워드 검색을 상기 상태 관리 정보를 이용하여 전환하면서 상기 구조화 문서의 문서 데이터를 검색하여 검색 결과를 출력하는 것을 특징으로 하는 데이터 검색 방법.
본 발명에 따르면, 검색 대상 문서는 정형의 양식으로 정형된 문서가 아니더라도 좋고, 상이한 레이아웃 ·스키마의 XML 문서를 그대로의 형태로 저장할 수 있다. 따라서, 검색 대상 문서의 저장 영역이 작아지는 동시에, 검색 대상 문서에 대한 사전의 해석 처리가 불필요해지기 때문에 저장 속도도 향상한다.
또한, 메모리 자원의 소비량이 검색 대상 문서의 데이터량에 의하지 않고, 검색 조건의 데이터량에 의해 결정되기 때문에 한정된 메모리 자원이라도 검색을 행할 수 있다.
또한, 복수의 상이한 양식의 XML 문서를 대상으로 하여 검색을 행하는 경우라도 각 양식을 구별하지 말고 검색을 실시할 수 있기 때문에 검색 속도가 향상된다.

Claims (8)

  1. 태그를 이용하여 구조화된 문서의 데이터를 검색 조건에 따라서 검색하는 검색 장치로서,
    상기 검색 조건을 해석하여 상기 검색 조건에 의해 지정된 검색 경로에 포함되는 각 요소를 나타내는 태그의 문자열을 등록한 태그 등록 정보와, 상기 검색 조건에 의해 지정된 키워드의 문자열을 등록한 키워드 등록 정보와, 상기 검색 경로를 이용하여 현재의 검색 상태를 관리하기 위한 상태 관리 정보를 생성하는 생성 수단;
    검색 대상의 구조화 문서의 문서 데이터를 소정량씩 연속적으로 독입하는 독입 수단; 및
    독입된 데이터열 중에서 상기 태그 등록 정보에 등록된 태그를 검출하는 태그 검색과, 독입된 데이터열 중에서 상기 키워드 등록 정보에 등록된 키워드를 검출하는 키워드 검색의 전환에 있어서, 상기 태그 등록 정보에 포함되는 태그가 검출되었을 때 상기 상태 관리 정보를 이용하여 상기 태그 검색에서 상기 키워드 검색으로 전환하는 판정을 행하고, 태그의 종단이 검출되었을 때 상기 상태 관리 정보를 이용하여 상기 키워드 검색에서 상기 태그 검색으로 전환하는 판정을 행하며, 상기 태그 검색과 상기 키워드 검색을 전환하면서 상기 구조화 문서의 문서 데이터를 검색하여 검색 결과를 출력하는 검색 수단
    을 포함하는 데이터 검색 장치.
  2. 태그를 이용하여 구조화된 문서의 데이터를 검색 조건에 따라서 검색하는 컴퓨터용 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체로서,
    상기 검색 조건을 해석하여 상기 검색 조건에 의해 지정된 검색 경로에 포함되는 각 요소를 나타내는 태그의 문자열을 등록한 태그 등록 정보와, 상기 검색 조건에 의해 지정된 키워드의 문자열을 등록한 키워드 등록 정보와, 상기 검색 경로를 이용하여 현재의 검색 상태를 관리하기 위한 상태 관리 정보를 생성하고,
    검색 대상의 구조화 문서의 문서 데이터를 소정량씩 연속적으로 독입하며,
    독입된 데이터열 중에서 상기 태그 등록 정보에 등록된 태그를 검출하는 태그 검색과, 독입된 데이터열 중에서 상기 키워드 등록 정보에 등록된 키워드를 검출하는 키워드 검색의 전환에 있어서, 상기 태그 등록 정보에 포함되는 태그가 검출되었을 때 상기 상태 관리 정보를 이용하여 상기 태그 검색에서 상기 키워드 검색으로 전환하는 판정을 행하고, 태그의 종단이 검출되었을 때 상기 상태 관리 정보를 이용하여 상기 키워드 검색에서 상기 태그 검색으로 전환하는 판정을 행하며, 상기 태그 검색과 상기 키워드 검색을 전환하면서 상기 구조화 문서의 문서 데이터를 검색하고,
    상기 검색 결과를 출력하는
    처리를 상기 컴퓨터로 실행시키는 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체.
  3. 제2항에 있어서,
    상기 현재의 검색 상태가 상기 검색 경로 상의 어떤 요소에 대응하는지를 관리하기 위한 정보와, 상기 태그 검색으로부터 상기 키워드 검색으로 전환해야 하는 상태를 지정하는 정보를 포함하는 상기 상태 관리 정보를 생성하고, 상기 태그 검색에 의해 상기 등록된 태그가 검출되었을 때에 상기 상태 관리 정보를 참조하며, 상기 현재의 검색 상태가 상기 태그 검색으로부터 상기 키워드 검색으로 전환해야 하는 상태이면 상기 태그 검색으로부터 상기 키워드 검색으로 전환하는 처리를 상기 컴퓨터로 실행시키는 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체.
  4. 제2항에 있어서,
    상기 태그 검색에 있어서 상기 구조화 문서의 문서 데이터로부터 문자열을 1 문자씩 독입하고, 상기 태그 등록 정보에 등록된 태그의 문자열과 1 문자씩 대조하며, 독입된 문자열이 등록된 태그의 문자열과 일치하면 상기 상태 관리 정보를 참조하여 상기 현재의 검색 상태를 체크하고, 상기 현재의 검색 상태가 상기 태그 검색으로부터 상기 키워드 검색으로 전환해야 하는 상태이면 상기 태그 검색으로부터 상기 키워드 검색으로 전환하며, 상기 키워드 검색에 있어서 상기 등록된 태그의 문자열과 일치된 문자열에 계속되는 문자열을 1 문자씩 독입하고, 상기 키워드 등록 정보에 등록된 키워드의 문자열과 1 문자씩 대조하며, 독입된 문자열이 등록된 키워드의 문자열과 일치하면 상기 구조화 문서를 상기 검색 조건에 만족하는 문서의 후보라고 판단하는 처리를 상기 컴퓨터로 실행시키는 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체.
  5. 제2항에 있어서,
    상기 구조화 문서의 문서 데이터를 검색하면서 상기 구조화 문서의 문서 데이터의 추가, 갱신, 삭제, 및 일괄 삭제 중 적어도 하나의 조작을 행하는 처리를 상기 컴퓨터로 실행시키는 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체.
  6. 제5항에 있어서,
    상기 구조화 문서의 문서 데이터에 액세스하기 위한 2개의 데이터 관리 테이블 중 한쪽의 데이터 관리 테이블을 이용하여 상기 구조화 문서의 문서 데이터를 검색하면서 다른쪽의 데이터 관리 테이블을 이용하여 상기 구조화 문서에 대한 상기 적어도 하나의 조작을 행하는 처리를 상기 컴퓨터로 실행시키는 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체.
  7. 태그를 이용하여 구조화된 문서의 데이터를 검색 조건에 따라서 검색하는 컴퓨터용 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체로서,
    상기 검색 조건을 해석하여 상기 검색 조건에 의해 지정된 검색 경로에 포함되는 각 요소를 나타내는 태그의 문자열을 등록한 태그용 오토마톤(automaton)과, 상기 검색 조건에 의해 지정된 키워드의 문자열을 등록한 키워드용 오토마톤과, 상기 검색 경로를 이용하여 현재의 검색 상태를 관리하기 위한 상태 관리 정보를 생성하고,
    검색 대상의 구조화 문서의 문서 데이터를 소정량씩 연속적으로 독입하며,
    독입된 데이터열 중에서 상기 태그용 오토마톤에 등록된 태그를 검출하는 태그 검색과, 독입된 데이터열 중에서 상기 키워드용 오토마톤에 등록된 키워드를 검출하는 키워드 검색의 전환에 있어서, 상기 태그용 오토마톤에 등록된 태그가 검출되었을 때 상기 상태 관리 정보를 이용하여 상기 태그 검색에서 상기 키워드 검색으로 전환하는 판정을 행하고, 태그의 종단이 검출되었을 때 상기 상태 관리 정보를 이용하여 상기 키워드 검색에서 상기 태그 검색으로 전환하는 판정을 행하며, 상기 태그 검색과 상기 키워드 검색을 전환하면서 상기 구조화 문서의 문서 데이터를 검색하고,
    상기 검색 결과를 출력하는 처리를 상기 컴퓨터로 실행시키는 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체.
  8. 태그를 이용하여 구조화된 문서의 데이터를 검색 조건에 따라서 검색하는 검색 방법으로서,
    생성 수단에 의하여, 상기 검색 조건을 해석하여 상기 검색 조건에 의해 지정된 검색 경로에 포함되는 각 요소를 나타내는 태그의 문자열을 등록한 태그 등록 정보와, 상기 검색 조건에 의해 지정된 키워드의 문자열을 등록한 키워드 등록 정보와, 상기 검색 경로를 이용하여 현재의 검색 상태를 관리하기 위한 상태 관리 정보를 생성하는 단계;
    독입 수단에 의하여, 검색 대상의 구조화 문서의 문서 데이터를 소정량씩 연속적으로 독입하는 단계; 및
    독입된 데이터열 중에서 상기 태그 등록 정보에 등록된 태그를 검출하는 태그 검색과, 독입된 데이터열 중에서 상기 키워드 등록 정보에 등록된 키워드를 검출하는 키워드 검색의 전환에 있어서, 상기 태그 등록 정보에 포함되는 태그가 검출되었을 때 상기 상태 관리 정보를 이용하여 상기 태그 검색에서 상기 키워드 검색으로 전환하는 판정을 행하고, 태그의 종단이 검출되었을 때 상기 상태 관리 정보를 이용하여 상기 키워드 검색에서 상기 태그 검색으로 전환하는 판정을 행하며, 상기 태그 검색과 상기 키워드 검색을 전환하면서 검색 수단에 의하여 상기 구조화 문서의 문서 데이터를 검색하여 검색결과를 출력하는 단계
    를 포함하는 데이터 검색 방법.
KR1020040041220A 2003-08-20 2004-06-07 구조화 문서의 데이터를 검색하는 장치 및 방법 KR100638695B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2003-00296766 2003-08-20
JP2003296766A JP4365162B2 (ja) 2003-08-20 2003-08-20 構造化文書のデータを検索する装置および方法

Publications (2)

Publication Number Publication Date
KR20050020927A KR20050020927A (ko) 2005-03-04
KR100638695B1 true KR100638695B1 (ko) 2006-10-30

Family

ID=34056235

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040041220A KR100638695B1 (ko) 2003-08-20 2004-06-07 구조화 문서의 데이터를 검색하는 장치 및 방법

Country Status (5)

Country Link
US (1) US7457799B2 (ko)
EP (1) EP1508864A3 (ko)
JP (1) JP4365162B2 (ko)
KR (1) KR100638695B1 (ko)
CN (1) CN1584884B (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8521725B1 (en) 2003-12-03 2013-08-27 Google Inc. Systems and methods for improved searching
JP2005309727A (ja) * 2004-04-21 2005-11-04 Hitachi Ltd ファイルシステム
KR100716113B1 (ko) * 2005-10-06 2007-05-09 엔에이치엔(주) 웹 검색에서의 웹 데이터 태깅 방법 및 웹 데이터 태깅시스템
US7912933B2 (en) * 2005-11-29 2011-03-22 Microsoft Corporation Tags for management systems
US7617190B2 (en) * 2005-11-29 2009-11-10 Microsoft Corporation Data feeds for management systems
US7835806B2 (en) * 2007-01-29 2010-11-16 Rockwell Automation Technologies, Inc. Method for indirect access to controller data using name stored in string tag
WO2008117454A1 (ja) * 2007-03-27 2008-10-02 Fujitsu Limited 情報検索プログラム、該プログラムを記録した記録媒体、情報検索装置、および情報検索方法
KR100898475B1 (ko) * 2007-04-10 2009-05-21 엔에이치엔(주) 디렉터리 태깅 서비스를 제공하는 방법 및 상기 방법을수행하는 시스템
KR100905494B1 (ko) * 2007-09-07 2009-07-01 박수민 파일 관리 시스템 및 파일 관리를 실행하기 위한프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
WO2009050797A1 (ja) 2007-10-17 2009-04-23 Fujitsu Limited 検索装置および検索方法
JP5071486B2 (ja) * 2008-01-22 2012-11-14 富士通株式会社 検索装置および検索方法
US9128945B1 (en) * 2008-05-16 2015-09-08 Google Inc. Query augmentation
JP5195149B2 (ja) * 2008-08-11 2013-05-08 富士通株式会社 真偽判定方法
JP5200762B2 (ja) * 2008-08-25 2013-06-05 富士通株式会社 検索方法および検索プログラム
US8346792B1 (en) 2010-11-09 2013-01-01 Google Inc. Query generation using structural similarity between documents
JP5782937B2 (ja) * 2011-09-08 2015-09-24 富士通株式会社 タグ管理装置、タグ管理システムおよびタグ管理プログラム
JP6028393B2 (ja) * 2012-05-24 2016-11-16 富士通株式会社 照合プログラム、照合方法および照合装置
JP5958088B2 (ja) * 2012-05-29 2016-07-27 富士通株式会社 更新プログラム、更新方法、および更新装置
US9104730B2 (en) * 2012-06-11 2015-08-11 International Business Machines Corporation Indexing and retrieval of structured documents
CN103488639B (zh) * 2012-06-11 2016-12-07 北京大学 一种xml数据的查询方法
JP5998942B2 (ja) * 2013-01-08 2016-09-28 富士通株式会社 更新方法、更新プログラム、および照合処理装置
CN104376008A (zh) * 2013-08-14 2015-02-25 深圳市众鸿科技股份有限公司 Xml绝对路径转换方法
JP6737117B2 (ja) * 2016-10-07 2020-08-05 富士通株式会社 符号化データ検索プログラム、符号化データ検索方法および符号化データ検索装置
CN107291930A (zh) * 2017-06-29 2017-10-24 环球智达科技(北京)有限公司 权重数的计算方法
CN112306416B (zh) * 2020-11-04 2022-09-27 福州汇思博信息技术有限公司 一种自动读写nv参数的方法及终端
CN114676238A (zh) * 2022-03-15 2022-06-28 来也科技(北京)有限公司 结合rpa及ai的关键信息获取方法、装置及存储介质
CN117556790B (zh) * 2024-01-02 2024-04-16 四川大学华西医院 医疗信息处理方法、装置、设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001325290A (ja) 2000-05-18 2001-11-22 Fujitsu Ltd 文書ファイル検索システム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3040945B2 (ja) * 1995-11-29 2000-05-15 松下電器産業株式会社 文書検索装置
JP3715444B2 (ja) * 1998-06-30 2005-11-09 株式会社東芝 構造化文書保存方法及び構造化文書保存装置
US6263332B1 (en) * 1998-08-14 2001-07-17 Vignette Corporation System and method for query processing of structured documents
JP3965798B2 (ja) 1998-09-08 2007-08-29 富士ゼロックス株式会社 データ処理装置、文書処理装置、データ処理プログラムを記録したコンピュータ読み取り可能な記録媒体、文書処理プログラムを記録したコンピュータ読み取り可能な記録媒体、データ処理方法、および文書処理方法
KR100358348B1 (ko) 2000-06-01 2002-10-25 (주) 아이티캠프 엑스엠엘 데이터의 효과적인 검색을 위한 다중 경로인덱스 방법
US20020004819A1 (en) * 2000-07-10 2002-01-10 David Agassy Device and method for data interception and updating
US20030018668A1 (en) * 2001-07-20 2003-01-23 International Business Machines Corporation Enhanced transcoding of structured documents through use of annotation techniques
US6999972B2 (en) * 2001-09-08 2006-02-14 Siemens Medical Systems Health Services Inc. System for processing objects for storage in a document or other storage system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001325290A (ja) 2000-05-18 2001-11-22 Fujitsu Ltd 文書ファイル検索システム

Also Published As

Publication number Publication date
JP4365162B2 (ja) 2009-11-18
EP1508864A3 (en) 2006-06-14
US20050044070A1 (en) 2005-02-24
US7457799B2 (en) 2008-11-25
CN1584884A (zh) 2005-02-23
KR20050020927A (ko) 2005-03-04
CN1584884B (zh) 2010-07-21
JP2005070911A (ja) 2005-03-17
EP1508864A2 (en) 2005-02-23

Similar Documents

Publication Publication Date Title
KR100638695B1 (ko) 구조화 문서의 데이터를 검색하는 장치 및 방법
RU2605077C2 (ru) Способ и система для хранения и поиска информации, извлекаемой из текстовых документов
US8805861B2 (en) Methods and systems to train models to extract and integrate information from data sources
US6510425B1 (en) Document search method for registering documents, generating a structure index with elements having position of occurrence in documents represented by meta-nodes
US7730396B2 (en) Systems and methods for converting legacy and proprietary documents into extended mark-up language format
Akkiraju et al. Semaplan: Combining planning with semantic matching to achieve web service composition
CN102893281A (zh) 信息搜索设备、信息搜索方法、计算机程序和数据结构
US20110307488A1 (en) Information processing apparatus, information processing method, and program
US20080177712A1 (en) Method for retrieving constant values using regular expressions
JP2008090403A (ja) 文書検索装置、文書検索方法および文書検索プログラム
US9594783B2 (en) Index selection for XML database systems
Pokorný Functional querying in graph databases
JP2005190163A (ja) 構造化データ検索方法、構造化データ検索装置およびプログラム
CN110956271B (zh) 一种海量数据的多级分类方法及装置
KR100659370B1 (ko) 시소러스 매칭에 의한 문서 db 형성 방법 및 정보검색방법
JP3632643B2 (ja) 構造化文書管理装置
JP3709890B2 (ja) 文字列検索装置
JP5238105B2 (ja) プログラム、及びデータ抽出方法
JP2000250930A (ja) 構造化文書検索システム
Liu et al. Structured data extraction: wrapper generation
JP3719089B2 (ja) 文書処理装置
CN110413797B (zh) 不定长嵌套结构的最大语义保持的匿名类解析存储方法
KR20020061886A (ko) 엑스엠엘 문서의 저장방법 및 엑스엠엘 문서 또는 인덱스노드 탐색방법
Schubert et al. Structure-Preserving Difference Search for XML Documents.
Farías et al. PathFinder: Returning Paths in Graph Queries

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20040607

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20060102

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20060912

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20061019

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20061020

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20091009

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20101012

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20110920

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20120924

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20120924

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20130924

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20130924

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20141001

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20141001

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20150918

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20150918

Start annual number: 10

End annual number: 10

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20170729