KR100285265B1 - 데이터 베이스 관리 시스템과 정보 검색의 밀결합을 위하여 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조 - Google Patents
데이터 베이스 관리 시스템과 정보 검색의 밀결합을 위하여 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조 Download PDFInfo
- Publication number
- KR100285265B1 KR100285265B1 KR1019980005930A KR19980005930A KR100285265B1 KR 100285265 B1 KR100285265 B1 KR 100285265B1 KR 1019980005930 A KR1019980005930 A KR 1019980005930A KR 19980005930 A KR19980005930 A KR 19980005930A KR 100285265 B1 KR100285265 B1 KR 100285265B1
- Authority
- KR
- South Korea
- Prior art keywords
- posting
- document
- index
- sub
- identifier
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/319—Inverted lists
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99934—Query formulation, input preparation, or translation
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99935—Query augmenting and refining, e.g. inexact access
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99947—Object-oriented database structure reference
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 다수개의 포스팅 리스트가 저장되는 공간을 확보하고 키워드 입력에 따라 대응하는 포스팅 리스트의 저장공간으로 인덱스시키는 역 인덱스 구조에 관한 것으로 특히, 정보 검색과 데이터 베이스 시스템이 밀겹합된 환경에서 문서의 추가, 삭제, 수정 및 검색 성능을 높이고자 포스팅 리스트에서 특정 문서의 포스팅을 빨리 찾을 수 있고 포스팅 리스트가 문서 식별자 순의 정렬을 효율적으로 유지할 수 있는 역 인덱스 저장 구조에 관한 것으로 그 기술적 해결 수단은 포스팅 리스트를 대용량 객체에 저장하되, 각각의 포스팅 리스트에 문서 식별자를 인덱스시키는 각각의 서브 인덱스를 일대일 매칭 연결시킨 것이다.
Description
본 발명은 정보 검색과 데이터 베이스 시스템이 밀결합된 환경에서 문서의 추가, 삭제, 수정 및 검색 성능을 높이고자 포스팅 리스트에서 특정 문서의 포스팅을 빨리 찾을 수 있고 포스팅 리스트가 문서 식별자 순의 정렬을 효율적으로 유지할 수 있는 역 인덱스 저장 구조에 관한 것이다.
일반적으로, 컴퓨터 시스템의 발전과 더불어 정보의 저장형식이 서적이나 마이크로 필림등의 형태에서 CD 롬이나 LD 등의 디지털적인 저장매체의 형태로 전환되고 있는데, 상술한 바와 같은 디지털 저장매체들의 장점은 대용량의 활자 데이터나 영상 및 음향에 대한 데이터가 저장되면서도 매우 콤펙트(compact)한 저장매체의 부피를 유지할 수 있다는 점이다.
또한, 통신분야의 발전에 힘입어 어떤 특정인이 소장하고 있는 정보의 범위는 줄어들고 불특정 다수의 사람들과 공유하는 경우가 늘어나고 있다. 즉, 매우 특정한 정보(개인적 사생활, 연구, 국가기밀, 사기밀 등등)를 제외하고는 통신망에 연결된 가입자 간에 서버측에서 저장되어 있는 정보들을 공유하게 되는 것이다.
한편, 전자신문, 전자도서관, 전자상거래 등 전자문서를 통한 정보의 교환이 활발해지면서 방대한 양의 전자문서가 새로이 생성, 수정되거나 소멸되고 있다. 따라서 방대한 전자문서에 대한 신속한 검색을 제공할 수 있는 정보검색 시스템의 중요성이 높아지고 있는데, 이러한 정보검색 시스템은 문서로부터 키워드들을 추출하고 추출된 키워드를 바탕으로 구축한 인덱스를 사용하여 사용자의 질의에 적합한 문서를 검색해 주기 위한 것으로 효율적인 인덱스 구조가 중요시 되어졌다.
이에 따라, 근래 정보검색 시스템에서 가장 널리 사용되고 있는 인덱스 구조는 키워드가 주어졌을 때 그것이 나타나는 문서들을 찾아주는 역 인덱스(inverted index) 방식으로, 이를 위하여 역 인덱스는 각 키워드 별로 포스팅 리스트(posting list)를 유지하고 있다.
이때, 상술한 포스팅 리스트란 포스팅의 리스트를 칭하는 것으로, 포스팅은 그 키워드가 발생한 어떤 한 문서의 식별자와 그 문서 내에서의 발생위치 정보로 구성되기 때문에 포스팅 리스트는 그 키워드가 발생한 문서의 빈도에 따라 매우 긴 것에서부터 매우 짧은 것에 이르기까지 다양하다. 또한, 그리고 같은 키워드라도 문서마다 발생위치 정보가 다르기 때문에 각 포스팅의 길이도 일정하지 않다.
따라서, 역 인덱스는 문서의 추가, 삭제, 수정에 따라 효율적으로 갱신될 수 있는 저장 구조를 가져야 한다. 문서가 추가되면 새로운 포스팅을 추가하여야 하므로 포스팅 리스트의 길이가 늘어나고, 문서가 삭제되면 삭제된 문서의 포스팅을 삭제하여야 하므로 포스팅 리스트의 길이가 줄어든다. 그리고, 문서가 수정되면 기존 문서의 포스팅을 삭제하고 수정된 문서의 포스팅을 삽입하여야 하므로 포스팅 리스트의 길이가 변한다. 따라서, 길이가 가변적인 포스팅 리스트의 저장을 효율적으로 지원할 수 있는 역 인덱스 저장 구조가 필요하게 된다.
상술한 필요성에 따라 역 인덱스를 저장하기 위한 가장 간단한 방법은 키워드와 포스팅을 레코드 구조로 하는 데이터 베이스 테이블을 사용하는 방법이다. 그러나, 이 방법은 동일한 키워드가 발생 빈도 만큼 중복 저장되므로 많은 저장 공간을 필요로 할 뿐만 아니라 질의 성능이 떨어지는 것으로 알려져 있다.
그러므로, 데이터 베이스 테이블을 이용하지 않고 역 인덱스를 인덱스 구조에 저장하는 방법 즉, 키워드에 대한 인덱스를 구축하고 단말 노드의 포인터 필드에서 포스팅 리스트를 가리키는 방법들이 많이 연구되고 있는데, 그 대표적인 역 인덱스 저장 구조가 첨부한 제1도에 도시되어 있다.
첨부한 제1도에서 참조번호 10은 키워드에 대한 인덱스를 나타내고, 참조번호 11은 포스팅 리스트가 저장된 저장 공간을 나타낸다.
따라서, 첨부한 제1도에 도시되어 있는 역 인덱스 저장구조는 앞서 언급한 데이터 베이스 테이블 사용 방식이 아니므로, 저장 공간 효율과 질의 성능 면에서 더 우수함을 실험을 통하여 알수 있는데, 문서의 동적 추가로 인하여 포스팅 리스트의 크기가 지속적으로 증가할 경우에 번호 11의 저장 공간을 할당하는 방법에 관한 많은 연구가 진행되고 있다.
그러나, 현재까지 제안되어진 방식들은 문서의 동적 추가에 따른 포스팅 리스트 크기의 증가만 고려하고, 동적 수정이나 삭제에 따른 축소는 고려하지 않았으며 더욱이, 포스팅 리스트에서 특정 문서의 포스팅을 빨리 찾는 문제와 문서의 추가, 삭제, 수정에 따라 포스팅 리스트가 동적으로 갱신되는 환경에서 포스팅 리스트가 문서 식별자 순 정렬을 유지하는 방법에 대해서도 고려하지 않았다.
그 결과, 특정 문서에 대한 키워드 검색 성능과 문서의 동적 수정, 삭제 성능이 크게 떨어진다.
상술한 문제점을 해소하기 위한 본 발명의 목적은 정보 검색과 데이터 베이스 시스템이 밀결합된 환경에서 문서의 추가, 삭제, 수정 및 검색 성능을 높이고자 포스팅 리스트에서 특정 문서의 포스팅을 빨리 찾을 수 있고 포스팅 리스트가 문서 식별자 순의 정렬을 효율적으로 유지할 수 있는 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조를 제공하는 데 있다.
제1도는 종래 역 인덱스 방식의 저장 구조.
제2도는 본 발명에 따른 역 인덱스 저장구조가 구현되는 시스템의 대략적인 간략 구성 예시도.
제3도는 본 발명에 따른 역 인덱스 방식의 저장 구조.
제4도는 제3도에 도시되어 있는 서브 인덱스에서 오프셋 방식을 이용한 예를 도시한 예시도.
제5도는 본 발명에 따른 역 인덱스 방식의 저장 구조를 이용한 포스팅 추가의 과정예시도.
제6도는 본 발명에 따른 역 인덱스 방식의 저장 구조를 이용한 포스팅 삭제의 과정예시도.
제7도는 본 발명에 따른 역 인덱스 방식의 저장 구조를 이용한 포스팅 검색의 과정예시도.
제8(a)도 내지 제8(b)도는 본 발명에 따른 역 인덱스 방식의 저장 구조와 데이터베이스 시스템간의 데이터 매칭 관계를 나타내는 예시도.
* 도면의 주요부분에 대한 부호의 설명
15 : CPU 10 : 메모리
25 : 응용 프로그램 30 : 데이터 베이스 관리 시스템 영역
35 : 데이터 베이스 질의 처리 영역 40 : 정보검색 시스템 영역
45 : 데이터 베이스 객체 버퍼 50 : 포스팅 리스트 버퍼
55 : 문서 데이터 베이스
상기 목적을 달성하기 위한 본 발명의 특징은, 다수개의 포스팅 리스트가 저장되는 공간을 확보하고 키워드 입력에 따라 대응하는 포스팅 리스트의 저장공간으로 인덱스시키는 역 인덱스 구조에 있어서, 포스팅 리스트를 대용량 객체에 저장하되, 각각의 포스팅 리스트에 문서 식별자를 인덱스시키는 각각의 서브 인덱스를 일대일 매칭 연결시키는 데 있다.
상기 목적을 달성하기 위한 본 발명의 부가적인 특징으로 상기 서브 인덱스는 포스팅 리스트와 연결되어 문서 식별자를 인덱스시키는데 있어 오프셋 배열을 이용하여 간접적으로 가르키는 데 있다.
상기 목적을 달성하기 위한 본 발명의 부가적인 특징으로 상기 서브 인덱스는 상기 대용량 객체에 저장된 각각의 포스팅 리스트에 연결시 일정 길이이상의 포스팅 리스트에 선택적으로 연결가능한 데 있다.
상기 목적을 달성하기 위한 본 발명의 부가적인 특징으로 상기 포스팅 리스트는 객체 식별자와 문서식별자 및 발생위치정보를 저장하는 물리계층으로 이루어지는 데 있다.
상기 목적을 달성하기 위한 본 발명의 다른 특징은, 객체 식별자와 문서식별자 및 발생위치정보를 저장하는 물리계층으로 이루어지는 다수개의 포스팅 리스트가 대용량 객체에 저장되고, 오프셋 배열을 이용하여 간접적으로 문서 식별자를 인덱스시키는 다수개의 서브 인덱스를 각각의 포스팅 리스트에 일대일 매칭 연결시켜 놓은 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조상에서의 새로운 포스팅 삽입 방법에 있어서: 새로운 포스팅의 오프셋 배열을 위한 공간이 부족하지 않은가를 검색하는 제1단계와; 상기 제1단계에서 오프셋 배열을 위한 공간이 부족하다고 판단되면 현재 오프셋 배열의 크기를 두배로 확장하는 제2단계와, 상기 제1단계에서 오프셋 배열을 위한 공간이 부족하지 않다고 판단되거나 상기 제2단계를 수행한 이후의 경우 비어 있는 오프셋 배열에 새로운 포스팅의 문서 식별자의 원소를 하나 할당 받으며 새로운 포스팅의 문서 식별자가 현재까지의 문서 식별자들 보다 큰 가를 판단하는 제3단계와, 상기 제3단계를 통해 새로운 포스팅의 문서 식별자가 현재까지의 문서 식별자들 보다 크다고 판단되는 경우 새로운 포스팅을 기존의 포스팅 리스트의 끝에 추가하는 제4단계와, 상기 제3단계를 통해 새로운 포스팅의 문서 식별자가 현재까지의 문서 식별자들 보다 크지 않다고 판단되는 경우 서브인덱스의 탐색을 통해 결정된 바이트 오프셋에 새로운 포스팅을 삽입하는 제5단계, 및 상기 제4단계 또는 제5단계를 수행한 후 새로운 포스팅과 바이트 오프셋이 바뀌어진 모든 포스팅들의 바이트 오프셋을 기록하고 있는 오프셋 배열 원소들의 값을 수정한 후 추가된 문서의 식별자와 할당 받은 오프셋 배열 원소번호를 서브 인덱스에 삽입하는 제7단계를 포함하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 또 다른 특징은, 객체 식별자와 문서 식별자 및 발생위치정보를 저장하는 물리계층으로 이루어지는 다수개의 포스팅 리스트가 대용량 객체에 저장되고, 오프셋 배열을 이용하여 간접적으로 문서 식별자를 인덱스시키는 다수개의 서브 인덱스를 각각의 포스팅 리스트에 일대일 매칭 연결시켜 놓은 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조상에서의 포스팅 삭제 방법에 있어서: 서브 인덱스를 탐색하여 삭제된 문서의 식별자가 포함된 포스팅의 저장 위치를 알아내어 해당 포스팅을 삭제하는 제1단계와, 상기 제1단계에서 삭제된 포스팅과 저장 위치가 바뀌어 진 모든 포스팅들의 바이트 오프셋을 기록하고 있는 오프셋 배열 원소들의 값을 수정하는 제2단계, 및 상기 제2단계에서 삭제된 포스팅의 오프셋 배열 원소를 가리키던 서브 인덱스 엔트리를 삭제하는 제3단계를 포함하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 또 다른 특징은, 객체 식별자와 문서 식별자 및 발생위치정보를 저장하는 물리계층으로 이루어지는 다수개의 포스팅 리스트가 대용량 객체에 저장되고, 오프셋 배열을 이용하여 간접적으로 문서 식별자를 인덱스시키는 다수개의 서브 인덱스를 각각의 포스팅 리스트에 일대일 매칭 연결시켜 놓은 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조상에서의 포스팅 검색 방법에 있어서: 입력되는 키워드를 기준으로 키워드 인덱스를 탐색하여서 해당 키워드에 대응하는 포스팅 리스트가 저장되어 있는 대용량 객체를 검색하는 제1단계와, 특정 문서 식별자가 존재하는 가를 판단하는 제2단계와, 상기 제2단계에서 특정 문서 식별자가 존재하는 경우 주어진 특정 문서 내에 주어진 키워드가 포함되는 지를 검색하기 위해 서브 인덱스를 탐색하여 주어진 특정 문서의 포스팅을 찾게되고 검색된 특정 문서의 포스팅을 읽어 반환하는 제3단계, 및 상기 제2단계에서 특정 문서 식별자가 존재하지 않는 경우 대용량 객체 내에 저장된 포스팅 리스트를 순차적으로 읽어 반환하는 제4단계를 포함하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 또 다른 특징은, 객체 식별자와 문서 식별자 및 발생위치정보를 저장하는 물리계층으로 이루어지는 다수개의 포스팅 리스트가 대용량 객체에 저장되고, 오프셋 배열을 이용하여 간접적으로 문서 식별자를 인덱스시키는 다수개의 서브 인덱스를 각각의 포스팅 리스트에 일대일 매칭 연결시켜 놓은 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조와 매칭되는 데이터 베이스 시스템의 구조에 있어서: 데이터 베이스 시스템에는 문서식별자와 문서번호와 작성자와 작성날짜 및 본문으로 구성된 다수개의 데이터 베이스 객체가 존재하고, 상기 데이터 베이스 객체는 어드레스의 개념으로 객체 식별자와 문자식별자를 사용하여 포스팅 리스트내의 포스팅과 일대일 매칭관계를 이루는 물리적 형태를 갖는 데 있다.
이하, 첨부한 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 살펴보기로 한다.
우선, 본 발명에서 달성하고자 하는 기술적 요지를 간략히 설명하면, 전자문서의 동적 추가, 삭제, 수정이 빈번한 환경에서는 문서에 대한 일관성 있는 관리가 중요하며 이를 위해서는 동시성 제어와 파손 회복 기능 등 데이터 베이스 관리 시스템 기능이 필요하다.
또한, 문서에 대한 검색은 문서가 가진 정형 데이터에 대한 검색과 비정형 데이터에 대한 검색으로 이루어지는데, 상술한 정형 데이터에 대한 검색은 데이터 베이스 관리 시스템이 잘 지원하고 있으며, 상기 비정형 데이터에 대한 검색은 정보검색 시스템이 잘 지원하고 있다. 따라서, 문서에 대한 일관성 있는 관리와 통합 검색을 위해서는 정보검색을 데이터 베이스 관리 시스템과 밀결합하는 것이 필요하다.
그러므로, 밀결합된 시스템에서는 데이터 베이스에 문서가 동적으로 추가, 삭제, 수정될 때 역 인덱스 구조가 효율적으로 갱신될 수 있어야 하고 역 인덱스를 통한 정보검색과 정형 데이터에 대한 데이터 베이스 검색이 통합 처리될 수 있어야 한다.
상술한 바와 같은 역 인덱스 구조의 필요성에 의해 제안되어진 본 발명에 따른 역 인덱스 저장구조는 첨부한 제2도에 도시되어 있는 하드웨어적인 환경속에 적용되는데, 첨부한 제3도에는 본 발명에 따라 새롭게 제안되는 역 인덱스 저장구조가 도시되어 있다.
첨부한 제3도에 도시되어 있는 본 발명에 따른 역 인덱스 저장구조는 종래의 역 인덱스 구조에서 포스팅 리스트를 대용량 객체에 저장하고, 각각에 대하여 문서 식별자를 이용한 서브 인덱스를 구비시키고 있다는 것이다.
즉, 첨부한 제3도에서 참조번호 20은 키워드를 키 값으로 하는 B+트리 인덱스로서, 키워드가 주어지면 그 키워드의 포스팅 리스트가 저장되어 있는 대용량 객체(참조번호 21)를 찾아준다. 대용량 객체란 전문 텍스트(full text), 이미지(image), 오디오(audio), 비디오(video) 데이터와 같이 저장되는 객체의 크기가 디스크 페이지 크기를 초과하는 객체이며, 한 키워드에 대한 포스팅 리스트를 하나의 대용량 객체로 간주한다.
상술한 바와 같이 대용량 객체를 이용하여 포스팅 리스트를 저장하면 다양하고 가변적인 길이 특성을 가진 포스팅 리스트의 관리가 대용량 객체 관리 기법에 의하여 자동적으로 이루어진다. Biliris는 다양한 대용량 객체 관리기법들 중에서 EXODUS 저장 시스템의 기법이 대용량 객체의 크기 변화를 가장 유연하게 지원할 수 있음을 분석을 통해 밝히고 있다. 따라서, 본 발명에서는 EXODUS의 대용량 객체 관리기법을 도입하였다(첨고문서:Biliris, A., “The Performance of Three Databace Storage Structures for Managing Large Objects,” In Proc. Intl. Conf. on Management of Data, ACM SIGMOD, pp 276-285, NewYork, 1992).
또한, 첨부한 제3도의 참조번호 22는 본 발명에서 고안한 서브 인덱스로서 각 대용량 객체마다 구축되어 있다. 상기 서브 인덱스(22)는 대용량 객체 내에 저장되어 있는 포스팅 리스트에 대하여 문서 식별자를 키로 하여 구축되는 인덱스로서 포스팅 리스트가 문서 식별자 순의 정렬을 자동적으로 유지하도록 하고 포스팅 리스트에서 특정 문서의 포스팅을 빨리 찾을 수 있도록 하기 위한 인덱스이다.
즉, 문서가 수정되었을 때 서브 인덱스를 통하여 수정된 문서의 포스팅을 문서 식별자 순으로 포스팅 리스트에 빠르게 삽입할 수 있고, 문서가 삭제되었을 때 서브 인덱스를 통하여 삭제된 문서의 포스팅을 포스트 리스트에서 빠르게 삭제할 수 있으며, 특정 문서에 대한 키워드 검색을 할 때 서브 인덱스를 통하여 특정 문서의 식별자가 포함된 포스팅을 포스팅 리스트에서 빠르게 검색할 수 있다.
따라서 서브 인덱스를 이용하면 문서의 수정, 삭제나 특정 문서에 대한 키워드 검색 성능이 높아진다. 이러한 서브 인덱스는 항상 구축하는 것이 아니고 오버 헤드를 줄이기 위하여 일정 길이 이상의 포스팅 리스트에 대해서만 구축되게 할수 있으며 B+트리로 구현할 수도 있다.
상술한 바와 같이 본 발명에 의해 제안된 역 인덱스 구조에 있어 서브 인덱스의 자세한 저장 구조를 첨부한 제4도를 참조하여 살펴보면, 서브 인덱스의 키는 문서 식별자가 되고 서브 인덱스가 가리키는 것은 대용량 객체 내에서 각 포스팅이 저장되어 있는 위치이다.
그러나, 서브 인덱스가 각 포스팅의 저장 위치를 직접 가리키게 되면 대용량 객체 중간에 새로온 포스팅을 삽입하거나 기존 포스팅을 삭제할 때, 이후에 저장된 모든 포스팅들의 저장 위치가 바뀌게 되므로 이들을 가리키는 서브 인덱스 엔트리들을 모두 갱신하여야 한다.
따라서, 본 발명에서는 이를 해결하기 위하여 포스팅 리스트의 앞 부분에 오프셋 배열(offset array)을 유지한다. 상기 오프셋 배열의 각 원소는 해당 포스팅의 저장 위치를 가리키고 있다. 저장 위치는 오프셋 배열 끝에서부터의 바이트 오프셋 값이다. 그러므로, 오프셋 배열의 크기가 변하더라도 포스팅의 저장 위치 즉, 바이트 오프셋 값은 변하지 않는다. 또한, 서브 인덱스는 각 포스팅의 저장 위치를 가리키고 있는 오프셋 배열의 원소를 가리킴으로써 포스팅의 저장 위치가 바뀌더라도 서브 인덱스는 영향을 받지 않게 된다.
상기 제3도와 제4도에 도시되어 있는 바와 같은 구조의 역 인덱스 구조를 이용하여 문서가 추가되거나 수정되었을 때 새로운 포스팅 한 개를 삽입하는 알고리즘은 첨부한 제5도에 도시되어 있다.
제5도의 내용을 살펴보면, 스텝 S101에서 새로운 포스팅의 저장을 위한 오프셋 배열을 위한 공간이 부족하지 않은가를 판단하게 되는데, 상기 스텝 S101에서 오프셋 배열을 위한 공간이 부족하다고 판단되면 스텝 S102로 진행한다. 상기 스텝 S102에서는 오프셋 배열을 위한 공간 확보를 위하여 현재 오프셋 배열의 크기를 두배로 확장하게 된다.
이후, 상기 스텝 S101에서 오프셋 배열을 위한 공간이 부족하지 않다고 판단되거나 상기 스텝 S102에서 현재 오프셋 배열의 크기를 두배로 확장한 경우 스텝 S103으로 진행하는데, 스텝 S103에서는 비어 있는 오프셋 배열에 새로운 포스팅의 문서 식별자의 원소를 하나 할당 받는다.
상기 스텝 S103에서 새로운 원소를 비어 있는 오프셋 배열에 할당하는 과정중에 스텝 S104에서는 새로운 포스팅의 문서 식별자가 현재까지의 문서 식별자들보다 큰 지를 비교하는데, 비교치가 기존의 문서 식별자들 보다 크다면 스텝 S106으로 진행하여 새로운 포스팅을 포스팅 리스트의 끝에 추가하게 된다.
만약, 상기 스텝 S104에서 비교치가 기존의 문서 식별자들 보다 크기 않다고 판단되면 스텝 S105로 진행하고, 상기 스텝 S106에서는 서브 인덱스의 탐색을 통해 결정된 바이트 오프셋에 새로운 포스팅을 삽입한다. 이때, 삽입된 포스팅 뒤에 저장된 모든 포스팅들의 바이트 오프셋은 삽입된 포스팅의 크기 만큼 커지게 된다. 단 여기서 대용량 객체의 관리 방법에 의해 포스팅의 물리적 위치 자체는 변하지 않는다.
상술한 스텝 S105나 스텝 S106의 과정을 통하여 새로운 포스팅이 삽입 또는 추가되어진 후 스텝 S107에서는 삽입(또는 추가)한 포스팅과 바이트 오프셋이 바뀌어진 모든 포스팅들의 바이트 오프셋을 기록하고 있는 오프셋 배열 원소들의 값을 수정한다.
이후, 마지막으로 스텝 S108에서는 추가된 문서의 식별자와 할당 받은 오프셋 배열 원소번호를 서브 인덱스에 삽입한다.
상술한 과정을 통하여 새로운 포스팅 한 개를 삽입하는 과정을 살펴보았는데, 특정 문서가 삭제되는 경우 즉, 문서가 삭제되었을 때 삭제된 문서의 식별자를 포함하고 있는 포스팅 한 개를 포스팅 리스트에서 삭제하는 과정은 첨부한 제6도에 도시되어 있는 바와 같다.
스텝 S201에서 서브 인덱스를 탐색하여 삭제된 문서의 식별자가 포함된 포스팅의 저장 위치를 알아내고, 스텝 S202에서 해당 포스팅을 삭제한다.
이때, 삭제된 포스팅 뒤에 저장된 모든 포스팅들의 바이트 오프셋은 삭제된 포스팅의 크기 만큼 작아지게 된다. 단 여기서도 삽입 때와 마찬가지로 포스팅의 물리적 위치 자체는 변하지 않는다.
따라서, 스텝 S203에서는 삭제된 포스팅과 저장 위치가 바뀌어 진 모든 포스팅들의 바이트 오프셋을 기록하고 있는 오프셋 배열 원소들의 값을 수정하고, 스텝 S204에서는 삭제된 포스팅의 오프셋 배열 원소를 가리키던 서브 인덱스 엔트리를 삭제한다. 이때, 삭제된 포스팅을 가르키던 오프셋 배열 원소는 새로운 포스팅의 삽입시 재 사용될 수 있다.
상술한 제5도와 제6도에 도시되어 있는 바와 같은 과정을 통하여 문서의 추가 또는 삭제가 가능한 본 발명에 따른 역 인덱스 저장 구조를 이용하여 문서를 검색하는 과정은 첨부한 제7도에 도시되어 있는 것이다.
먼저, 스텝 S301에서 주어진 키워드를 키 값으로 하여 키워드 인덱스를 탐색하여서 주어진 키워드의 포스팅 리스트가 저장되어 있는 대용량 객체를 찾는다.
이후, 스텝 S302에서는 특정 문서 식별자가 주어진 경우와 주어지지 않은 경우로 나누어 문서 식별자가 존재하는 경우 스텝 S303으로 진행하게 되는데, 스텝 S303에서는 특정 문서 식별자가 주어진 경우의 스텝들로서 주어진 특정 문서 내에 주어진 키워드가 포함되는 지를 검색하여야 하므로 서브 인덱스를 탐색하여 주어진 특정 문서의 포스팅을 찾게되고, 스텝 S304에서는 검색된 특정 문서의 포스팅을 읽어 반환한다.
반면에, 특정 문서 식별자가 주어지지 않은 경우에는 스텝 S305로 진행하는 데, 스텝 S305에서는 주어진 키워드가 발생한 모든 문서의 포스팅을 반환하여야 하므로 대용량 객체 내에 저장된 포스팅 리스트를 순차적으로 읽어 반환한다.
이상과 같은 과정을 통해 새로운 문서의 추가나 특정 문서의 삭제 및 검색과정을 살펴보았다.
이제, 문서 식별자와 객체 식별자를 이용하여 정보검색과 데이터 베이스 검색을 통합 처리하는 방법을 첨부한 제8(a)도와 제8(b)도의 내용을 참조하여 살펴보기로 한다.
제7(a)도에 도시되어 있는 내용은 본 발명에 따른 역 인덱스 구조중 포스팅 리스트와 데이터 베이스 시스템상의 데이터 베이스 객체 사이에 매칭관계를 나타내는 것으로, 객체 식별자와 문서식별자 및 발생위치정보로 이루어지는 것이 포스팅 리스트이며, 문서식별자와 문서번호와 작성자와 작성날짜 및 본문으로 구성된 것이 데이터 베이스 객체이다.
이때, 상기 데이터 베이스 객체는 어드레스의 개념으로 객체 식별자와 문서 식별자를 사용하게 되는데, 포스팅 리스트의 포스팅과 일대일 매칭관계를 이루는 물리적 형태를 갖는다.
상기 제8(a)도에 도시되어 있는 바와 같은 매칭관계를 갖는 포스팅 리스트와 데이터 베이스 객체간의 상호 연결 및 사용관계는 첨부한 제8(b)도에 예시되어 있다.
제8(b)도는 두 개의 포스팅과 두 개의 데이터 베이스 객체가 존재한다는 가정아래 도시되어 있는 것으로, 포스팅1(400a)과 포스팅2(400b)는 문서 식별자와 객체 식별자를 함께 저장하고 있고 문서 식별자에 따라 물리적으로 정렬되어 있으며 각각의 객체 식별자는 객체 1(500b)과 객체2(500a)를 가리킨다.
또한, 객체 1(500b)과 객체2(500a)는 문서 식별자를 저장하고 있으며 그 각각의 값은 포스팅1(400a)과 포스팅2(400b)의 문서 식별자 값과 같다. 정보검색 질의를 처리하여 포스팅을 얻게 되면 포스팅에 저장된 객체 식별자를 통해 대응하는 데이터 베이스 객체를 읽어서 데이터 베이스 질의를 처리할 수 있고, 반대로 데이터 베이스 질의를 처리하여 데이터 베이스 객체를 얻게 되면 해당하는 문서 식별자를 키 값으로 하여 서브 인덱스를 탐색함으로써 정보검색 질의를 처리할 수 있으므로 정보검색과 데이터 베이스 검색을 통합 처리할 수 있다.
상술한 바와 같이 동작하는 본 발명에 따른 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조를 제공하면 다음과 같은 장점을 얻을수 있다.
첫째, 역 인덱스의 동적 갱신을 효율적으로 지원할 수 있다. 한 키워드의 포스팅 리스트를 하나의 대용량 객체로 간주하고 대용량 객체 관리기법을 사용하여 관리함으로써 문서가 동적으로 추가, 삭제, 수정되어 포스팅 리스트의 길이가 다양하게 변하더라도 최소한의 비용으로 저장 공간을 관리할 수 있다. 즉, 대용량 객체 중간에 포스팅을 삽입, 삭제하더라도 삽입/삭제된 포스팅 전후의 다른 포스팅들은 물리적으로 움직일 필요가 없다.
둘째, 문서의 삭제 성능을 높여준다. 서브 인덱스를 이용하면 삭제된 문서의 식별자가 포함된 포스팅을 포스팅 리스트에서 빨리 찾아 삭제할 수 있으므로 문서 삭제 기능을 높일 수 있다. 특히, 길이가 긴 포스팅 리스트를 가진 키워드는 대부분의 문서에 포함되어 있으므로 긴 포스팅 리스트에서의 포스팅 삭제는 문서 삭제 성능에 중요한 요소가 된다.
셋째, 문서의 수정 성능을 높여준다. 문서의 수정은 기존 문서를 삭제하고 수정된 문서를 추가하는 것이므로 문서의 삭제 성능이 향상되면 수정 성능도 향상된다. 또한, 포스팅 리스트에 수정된 문서의 포스팅을 삽입할 때 문서 식별자 순의 정렬을 유지하기 위하여 기존 문서 식별자 위치에 삽입하여야 한다. 이 경우 서브 인덱스를 통하여 삽입하면 자동적으로 문서 식별자 순의 정렬이 유지되므로 문서 수정 성능을 높일 수 있다.
넷째, 특정 문서에 대한 키워드 검색 성능을 높여준다. 서브 인덱스를 이용하면 특정 키워드에 해당하는 포스팅 리스트에서 특정 문서의 포스팅을 빨리 찾을 수 있으므로 특정 문서 내에 특정 키워드가 포함되었는지의 검색 성능을 높일 수 있다.
다섯째, 데이터 베이스 검색과 정보검색의 통합 처리를 가능하게 한다. 정보 검색이 밀결합된 데이터 베이스 관리 시스템에서는 문서의 정형 데이터에 대한 데이터 베이스 검색과 문서의 내용에 대한 정보검색이 통합 처리될 수 있어야 하는데 새로운 역 인덱스 저장 구조에서는 포스팅의 문서 식별자 자리에 문서의 정형 데이터를 저장하고 있는 데이터 베이스 객체의 식별자를 유지함으로써 정보검색과 데이터 베이스 검색을 통합 처리할 수 있다.
Claims (7)
- 다수개의 포스팅 리스트가 저장되는 공간을 확보하고 키워드 입력에 따라 대응하는 포스팅 리스트의 저장공간으로 인덱스시키는 역 인덱스 구조에 있어서, 객체 식별자와 문서식별자 및 발생위치정보를 저장하는 물리계층으로 이루어지는 다수개의 포스팅 리스트를 대용량 객체에 저장하되, 오프셋 배열을 이용하여 간접적으로 문서 식별자를 인덱스시키는 다수개의 서브 인덱스를 각각의 포스팅 리스트에 일대일 매칭 연결시키는 것을 특징으로 하는 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조.
- 제1항에 있어서, 상기 서브 인덱스는 상기 대용량 객체에 저장된 각각의 포스팅 리스트에 연결시 일정 길이 이상의 포스팅 리스트에 선택적으로 연결가능한 것을 특징으로 하는 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조.
- 객체 식별자와 문서식별자 및 발생위치정보를 저장하는 물리계층으로 이루어지는 다수개의 포스팅 리스트가 대용량 객체에 저장되고, 오프셋 배열을 이용하여 간접적으로 문서 식별자를 인덱스시키는 다수개의 서브 인덱스를 각각의 포스팅 리스트에 일대일 매칭 연결시켜 놓은 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조상에서의 새로운 포스팅 삽입 방법에 있어서, 새로운 포스팅의 오프셋 배열을 위한 공간이 부족하지 않은가를 검색하는 제1단계와; 상기 제1단계에서 오프셋 배열을 위한 공간이 부족하다고 판단되면 현재 오프셋 배열의 크기를 두배로 확장하는 제2단계와; 상기 제1단계에서 오프셋 배열을 위한 공간이 부족하지 않다고 판단되거나 상기 제2단계를 수행한 이후의 경우 비어 있는 오프셋 배열에 새로운 포스팅의 문서 식별자의 원소를 하나 할당 받으며 새로운 포스팅의 문서 식별자가 현재까지의 문서 식별자들 보다 큰 가를 판단하는 제3단계와; 상기 제3단계를 통해 새로운 포스팅의 문서 식별자가 현재까지의 문서 식별자들 보다 크다고 판단되는 경우 새로운 포스팅을 기존의 포스팅 리스트의 끝에 추가하는 제4단계와; 상기 제3단계를 통해 새로운 포스팅의 문서 식별자가 현재까지의 문서 식별자들 보다 크지 않다고 판단되는 경우 서브인덱스의 탐색을 통해 결정된 바이트 오프셋에 새로운 포스팅을 삽입하는 제5단계; 및 상기 제4단계 또는 제5단계를 수행한 후 새로운 포스팅과 바이트 오프셋이 바뀌어진 모든 포스팅들의 바이트 오프셋을 기록하고 있는 오프셋 배열 원소들의 값을 수정한 후 추가된 문서의 식별자와 할당 받은 오프셋 배열 원소번호를 서브 인덱스에 삽입하는 제7단계를 포함하는 것을 특징으로 하는 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조에서의 새로운 포스팅 삽입 방법.
- 객체 식별자와 문서식별자 및 발생위치정보를 저장하는 물리계층으로 이루어지는 다수개의 포스팅 리스트가 대용량 객체에 저장되고, 오프셋 배열을 이용하여 간접적으로 문서 식별자를 인덱스시키는 다수개의 서브 인덱스를 각각의 포스팅 리스트에 일대일 매칭 연결시켜 놓은 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조상에서의 포스팅 삭제 방법에 있어서, 서브 인덱스를 탐색하여 삭제된 문서의 식별자가 포함된 포스팅의 저장 위치를 알아내어 해당 포스팅을 삭제하는 제1단계와; 상기 제1단계에서 삭제된 포스팅과 저장 위치가 바뀌어 진 모든 포스팅들의 바이트 오프셋을 기록하고 있는 오프셋 배열 원소들의 값을 수정하는 제2단계; 및 상기 제2단계에서 삭제된 포스팅의 오프셋 배열 원소를 가리키던 서브 인덱스 엔트리를 삭제하는 제3단계를 포함하는 것을 특징으로 하는 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조에서의 포스팅 소거 방법.
- 객체 식별자와 문서식별자 및 발생위치정보를 저장하는 물리계층으로 이루어지는 다수개의 포스팅 리스트가 대용량 객체에 저장되고, 오프셋 배열을 이용하여 간접적으로 문서 식별자를 인덱스시키는 다수개의 서브 인덱스를 각각의 포스팅 리스트에 일대일 매칭 연결시켜 놓은 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조상에서의 새로운 포스팅 삽입 방법에 있어서, 입력되는 키워드를 기준으로 키워드 인덱스를 탐색하여서 해당 키워드에 대응하는 포스팅 리스트가 저장되어 있는 대용량 객체를 검색하는 제1단계와; 특정 문서 식별자가 존재하는 가를 판단는 제2단계와; 상기 제2단계에서 특정 문서 식별자가 존재하는 경우 주어진 특정 문서 내에 주어지 키워드가 포함되는 지를 검색하기 위해 서브 인덱스를 탐색하여 주어진 특정 문서의 포스팅을 찾게되고 검색된 특정 문서의 포스팅을 읽어 반환하는 제3단계; 및 상기 제2단계에서 특정 문서 식별자가 존재하지 않는 경우 대용량 객체 내에 저장된 포스팅 리스트를 순차적으로 읽어 반환하는 제4단계를 포함하는 것을 특징으로 하는 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조에서의 포스팅 검색 방법.
- 객체 식별자와 문서 식별자 및 발생위치정보를 저장하는 물리계층으로 이루어지는 다수개의 포스팅 리스트가 대용량 객체에 저장되고, 오프셋 배열을 이용하여 간접적으로 문서 식별자를 인덱스시키는 다수개의 서브 인덱스를 각각의 포스팅 리스트에 일대일 매칭 연결시켜 놓은 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조와 매칭되는 데이터 베이스 시스템의 구조에 있어서, 데이터 베이스 시스템에는 문서식별자와 문서번호와 작성자와 작성날짜 및 본문으로 구성된 다수개의 데이터 베이스 객체가 존재하고, 상기 데이터 베이스 객체는 어드레스의 개념으로 객체 식별자와 문자식별자를 사용하여 특정 객체 식별자와 일대일 매칭관계를 이루는 물리적형태를 갖는 것을 특징으로 하는 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조와 매칭되는 데이터 베이스 시스템의 구조.
- 객체 식별자와 문서 식별자 및 발생위치정보를 저장하는 물리계층으로 이루어지는 다수개의 포스팅 리스트가 대용량 객체에 저장되고, 오프셋 배열을 이용하여 간접적으로 문서 식별자를 인덱스시키는 다수개의 서브 인덱스를 각각의 포스팅 리스트에 일대일 매칭 연결시켜 놓은 서브 인덱스와; 문서식별자와 문서번호와 작성자와 작성날짜 및 본문으로 구성된 다수개의 데이터 베이스 객체가 존재하고, 상기 데이터 베이스 객체는 어드레스의 개념으로 객체 식별자를 사용하여 특정 객체 식별자와 일대일 매칭관계를 이루는 물리적 형태를 갖는 데이터 베이스 시스템을 구비한 데이터 베이스 관리 시스템에서의 운영방법에 있어서: 새로운 포스팅의 오프셋 배열을 위한 공간이 부족시 현재 오프셋 배열의 크기를 두배로 확장하며, 새로운 포스팅의 문서 식별자가 현재까지의 문서 식별자들보다 큰 경우 새로운 포스팅을 기존의 포스팅 리스트의 끝에 추가하고, 그 외의 경우 서브 인덱스의 탐색을 통해 결정된 바이트 오프셋에 새로운 포스팅을 삽입한 후, 바뀌어진 모든 포스팅들의 바이트 오프셋을 기록하고 있는 오프셋 배열 원소들의 값을 수정한 후 추가된 문서의 식별자와 할당 받은 오프셋 배열 원소번호를 서브 인덱스에 삽입하는 새로운 포스팅 삽입 모드와; 서브 인덱스를 탐색하여 삭제된 문서의 식별자가 포함된 포스팅의 저장 위치를 알아내어 해당 포스팅을 삭제하고, 삭제된 포스팅과 저장 위치가 바뀌어진 모든 포스팅들의 바이트 오프셋을 기록하고 있는 오프셋 배열 원소들의 값과 그에 대응하는 서브 인덱스 엔트리를 삭제하는 포스팅 소거 모드; 및 입력되는 키워드를 기준으로 키워드 인덱스를 탐색하여서 해당 키워드에 대응하는 포스팅 리스트가 저장되어 있는 대용량 객체를 검색하고, 특정 문서 식별자가 존재하는 가를 판단하여 존재하는 경우 주어진 특정 문서 내에 주어진 키워드가 포함되는 지를 검색하기 위해 서브 인덱스를 탐색하여 주어진 특정 문서의 포스팅을 찾은 후 검색된 특정 문서의 포스팅을 읽어 반환하되, 특정 문서 식별자가 존재하지 않는 경우 대용량 객체 내에 저장된 포스팅 리스트를 순차적으로 읽어 반환하는 포스팅 검색 모드을 포함하는 것을 특징으로 하는 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조에 의한 데이터 베이스 관리 시스템과 정보 검색의 밀결합 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980005930A KR100285265B1 (ko) | 1998-02-25 | 1998-02-25 | 데이터 베이스 관리 시스템과 정보 검색의 밀결합을 위하여 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조 |
US09/250,487 US6349308B1 (en) | 1998-02-25 | 1999-02-15 | Inverted index storage structure using subindexes and large objects for tight coupling of information retrieval with database management systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980005930A KR100285265B1 (ko) | 1998-02-25 | 1998-02-25 | 데이터 베이스 관리 시스템과 정보 검색의 밀결합을 위하여 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990070838A KR19990070838A (ko) | 1999-09-15 |
KR100285265B1 true KR100285265B1 (ko) | 2001-04-02 |
Family
ID=19533710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980005930A KR100285265B1 (ko) | 1998-02-25 | 1998-02-25 | 데이터 베이스 관리 시스템과 정보 검색의 밀결합을 위하여 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6349308B1 (ko) |
KR (1) | KR100285265B1 (ko) |
Families Citing this family (123)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
JP3849279B2 (ja) * | 1998-01-23 | 2006-11-22 | 富士ゼロックス株式会社 | インデクス作成方法および検索方法 |
US7904187B2 (en) | 1999-02-01 | 2011-03-08 | Hoffberg Steven M | Internet appliance system and method |
US20020002563A1 (en) * | 1999-08-23 | 2002-01-03 | Mary M. Bendik | Document management systems and methods |
US6826562B1 (en) * | 1999-11-29 | 2004-11-30 | International Business Machines Corporation | Method of simplifying and optimizing scalar subqueries and derived tables that return exactly or at most one tuple |
US20070260974A1 (en) * | 1999-12-27 | 2007-11-08 | Hauser Carl H | System and method for assigning a disposition to a document through information flow knowledge |
US6883135B1 (en) | 2000-01-28 | 2005-04-19 | Microsoft Corporation | Proxy server using a statistical model |
KR100487846B1 (ko) * | 2000-04-04 | 2005-05-03 | 티페이지글로벌 주식회사 | 자동 멀티 포스팅 시스템 및 방법 |
KR100414052B1 (ko) * | 2000-10-14 | 2004-01-07 | 엘지전자 주식회사 | 주기억장치 데이터베이스의 인덱스 데이터 관리방법 |
KR100440906B1 (ko) * | 2001-02-15 | 2004-07-19 | 전석진 | 문서 색인 시스템 및 그 방법 |
US6772172B2 (en) * | 2001-04-27 | 2004-08-03 | Sun Microsystems, Inc. | Method, system, program, and computer readable medium for indexing object oriented objects in an object oriented database |
SG103289A1 (en) * | 2001-05-25 | 2004-04-29 | Meng Soon Cheo | System for indexing textual and non-textual files |
US6826563B1 (en) * | 2001-05-29 | 2004-11-30 | Oracle International Corporation | Supporting bitmap indexes on primary B+tree like structures |
US6859808B1 (en) * | 2001-05-31 | 2005-02-22 | Oracle International Corporation | Mapping logical row identifiers for primary B+tree-like structures to physical row identifiers |
US6708178B1 (en) * | 2001-06-04 | 2004-03-16 | Oracle International Corporation | Supporting B+tree indexes on primary B+tree structures with large primary keys |
US6980976B2 (en) * | 2001-08-13 | 2005-12-27 | Oracle International Corp. | Combined database index of unstructured and structured columns |
US7007015B1 (en) * | 2002-05-01 | 2006-02-28 | Microsoft Corporation | Prioritized merging for full-text index on relational store |
US7702666B2 (en) * | 2002-06-06 | 2010-04-20 | Ricoh Company, Ltd. | Full-text search device performing merge processing by using full-text index-for-registration/deletion storage part with performing registration/deletion processing by using other full-text index-for-registration/deletion storage part |
KR20040039691A (ko) * | 2002-11-04 | 2004-05-12 | 엘지전자 주식회사 | 정보 검색 시스템의 인덱싱 방법 |
JP4054989B2 (ja) * | 2003-02-27 | 2008-03-05 | ソニー株式会社 | 記録装置、ファイル管理方法、ファイル管理方法のプログラム、ファイル管理方法のプログラムを記録した記録媒体 |
US7228301B2 (en) * | 2003-06-27 | 2007-06-05 | Microsoft Corporation | Method for normalizing document metadata to improve search results using an alias relationship directory service |
US7533245B2 (en) | 2003-08-01 | 2009-05-12 | Illinois Institute Of Technology | Hardware assisted pruned inverted index component |
US8442331B2 (en) | 2004-02-15 | 2013-05-14 | Google Inc. | Capturing text from rendered documents using supplemental information |
US7707039B2 (en) | 2004-02-15 | 2010-04-27 | Exbiblio B.V. | Automatic modification of web pages |
US8296304B2 (en) * | 2004-01-26 | 2012-10-23 | International Business Machines Corporation | Method, system, and program for handling redirects in a search engine |
US7499913B2 (en) * | 2004-01-26 | 2009-03-03 | International Business Machines Corporation | Method for handling anchor text |
US10635723B2 (en) | 2004-02-15 | 2020-04-28 | Google Llc | Search engines and systems with handheld document data capture devices |
US20060041484A1 (en) | 2004-04-01 | 2006-02-23 | King Martin T | Methods and systems for initiating application processes by data capture from rendered documents |
US8799303B2 (en) | 2004-02-15 | 2014-08-05 | Google Inc. | Establishing an interactive environment for rendered documents |
US7812860B2 (en) | 2004-04-01 | 2010-10-12 | Exbiblio B.V. | Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device |
US7584221B2 (en) | 2004-03-18 | 2009-09-01 | Microsoft Corporation | Field weighting in text searching |
KR20050096541A (ko) * | 2004-03-31 | 2005-10-06 | 삼성에스디아이 주식회사 | 돌출부를 갖는 네거티브 홀 구조, 그것의 형성 방법 및그것을 포함하는 fed 캐소드 부 |
US7990556B2 (en) | 2004-12-03 | 2011-08-02 | Google Inc. | Association of a portable scanner with input/output and storage devices |
US8621349B2 (en) * | 2004-04-01 | 2013-12-31 | Google Inc. | Publishing techniques for adding value to a rendered document |
US20080313172A1 (en) | 2004-12-03 | 2008-12-18 | King Martin T | Determining actions involving captured information and electronic content associated with rendered documents |
US9008447B2 (en) | 2004-04-01 | 2015-04-14 | Google Inc. | Method and system for character recognition |
US8793162B2 (en) | 2004-04-01 | 2014-07-29 | Google Inc. | Adding information or functionality to a rendered document via association with an electronic counterpart |
US7894670B2 (en) | 2004-04-01 | 2011-02-22 | Exbiblio B.V. | Triggering actions in response to optically or acoustically capturing keywords from a rendered document |
US9143638B2 (en) | 2004-04-01 | 2015-09-22 | Google Inc. | Data capture from rendered documents using handheld device |
WO2008028674A2 (en) | 2006-09-08 | 2008-03-13 | Exbiblio B.V. | Optical scanners, such as hand-held optical scanners |
US20070300142A1 (en) | 2005-04-01 | 2007-12-27 | King Martin T | Contextual dynamic advertising based upon captured rendered text |
US9116890B2 (en) | 2004-04-01 | 2015-08-25 | Google Inc. | Triggering actions in response to optically or acoustically capturing keywords from a rendered document |
US8146156B2 (en) | 2004-04-01 | 2012-03-27 | Google Inc. | Archive of text captures from rendered documents |
US8713418B2 (en) * | 2004-04-12 | 2014-04-29 | Google Inc. | Adding value to a rendered document |
US8620083B2 (en) | 2004-12-03 | 2013-12-31 | Google Inc. | Method and system for character recognition |
US8489624B2 (en) | 2004-05-17 | 2013-07-16 | Google, Inc. | Processing techniques for text capture from a rendered document |
US8874504B2 (en) | 2004-12-03 | 2014-10-28 | Google Inc. | Processing techniques for visual capture data from a rendered document |
US9460346B2 (en) | 2004-04-19 | 2016-10-04 | Google Inc. | Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device |
US8346620B2 (en) | 2004-07-19 | 2013-01-01 | Google Inc. | Automatic modification of web pages |
US7461064B2 (en) * | 2004-09-24 | 2008-12-02 | International Buiness Machines Corporation | Method for searching documents for ranges of numeric values |
US7606793B2 (en) * | 2004-09-27 | 2009-10-20 | Microsoft Corporation | System and method for scoping searches using index keys |
US7739277B2 (en) | 2004-09-30 | 2010-06-15 | Microsoft Corporation | System and method for incorporating anchor text into ranking search results |
US7827181B2 (en) * | 2004-09-30 | 2010-11-02 | Microsoft Corporation | Click distance determination |
US7761448B2 (en) | 2004-09-30 | 2010-07-20 | Microsoft Corporation | System and method for ranking search results using click distance |
US20110029504A1 (en) * | 2004-12-03 | 2011-02-03 | King Martin T | Searching and accessing documents on private networks for use with captures from rendered documents |
US20110075228A1 (en) * | 2004-12-03 | 2011-03-31 | King Martin T | Scanner having connected and unconnected operational behaviors |
US7716198B2 (en) | 2004-12-21 | 2010-05-11 | Microsoft Corporation | Ranking search results using feature extraction |
US7792833B2 (en) | 2005-03-03 | 2010-09-07 | Microsoft Corporation | Ranking search results using language types |
US7765214B2 (en) * | 2005-05-10 | 2010-07-27 | International Business Machines Corporation | Enhancing query performance of search engines using lexical affinities |
US8417693B2 (en) * | 2005-07-14 | 2013-04-09 | International Business Machines Corporation | Enforcing native access control to indexed documents |
US7599917B2 (en) * | 2005-08-15 | 2009-10-06 | Microsoft Corporation | Ranking search results using biased click distance |
KR100725664B1 (ko) * | 2005-08-26 | 2007-06-08 | 한국과학기술원 | 2단계 n-gram 역색인 구조 및 그 구성 방법과 질의처리 방법 및 그 색인 도출 방법 |
US8600997B2 (en) * | 2005-09-30 | 2013-12-03 | International Business Machines Corporation | Method and framework to support indexing and searching taxonomies in large scale full text indexes |
CN100458779C (zh) * | 2005-11-29 | 2009-02-04 | 国际商业机器公司 | 扩展索引的方法 |
US20110096174A1 (en) * | 2006-02-28 | 2011-04-28 | King Martin T | Accessing resources based on capturing information from a rendered document |
US20080028302A1 (en) * | 2006-07-31 | 2008-01-31 | Steffen Meschkat | Method and apparatus for incrementally updating a web page |
KR100811838B1 (ko) * | 2006-07-31 | 2008-03-10 | (주)닷넷소프트 | 정보 검색 장치 및 그 제어 방법 |
US7765215B2 (en) * | 2006-08-22 | 2010-07-27 | International Business Machines Corporation | System and method for providing a trustworthy inverted index to enable searching of records |
EP1903457B1 (en) * | 2006-09-19 | 2012-05-30 | Exalead | Computer-implemented method, computer program product and system for creating an index of a subset of data |
US20080072134A1 (en) * | 2006-09-19 | 2008-03-20 | Sreeram Viswanath Balakrishnan | Annotating token sequences within documents |
US20080082554A1 (en) * | 2006-10-03 | 2008-04-03 | Paul Pedersen | Systems and methods for providing a dynamic document index |
US9465823B2 (en) * | 2006-10-19 | 2016-10-11 | Oracle International Corporation | System and method for data de-duplication |
US7920700B2 (en) * | 2006-10-19 | 2011-04-05 | Oracle International Corporation | System and method for data encryption |
US8635194B2 (en) * | 2006-10-19 | 2014-01-21 | Oracle International Corporation | System and method for data compression |
KR100834760B1 (ko) * | 2006-11-23 | 2008-06-05 | 삼성전자주식회사 | 최적화된 인덱스 검색 방법 및 장치 |
US8250075B2 (en) * | 2006-12-22 | 2012-08-21 | Palo Alto Research Center Incorporated | System and method for generation of computer index files |
US7720837B2 (en) * | 2007-03-15 | 2010-05-18 | International Business Machines Corporation | System and method for multi-dimensional aggregation over large text corpora |
US7822752B2 (en) * | 2007-05-18 | 2010-10-26 | Microsoft Corporation | Efficient retrieval algorithm by query term discrimination |
US7917516B2 (en) | 2007-06-08 | 2011-03-29 | Apple Inc. | Updating an inverted index |
US7984041B1 (en) * | 2007-07-09 | 2011-07-19 | Oracle America, Inc. | Domain specific local search |
US20110035662A1 (en) | 2009-02-18 | 2011-02-10 | King Martin T | Interacting with rendered documents using a multi-function mobile device, such as a mobile phone |
US9348912B2 (en) * | 2007-10-18 | 2016-05-24 | Microsoft Technology Licensing, Llc | Document length as a static relevance feature for ranking search results |
US20090106221A1 (en) * | 2007-10-18 | 2009-04-23 | Microsoft Corporation | Ranking and Providing Search Results Based In Part On A Number Of Click-Through Features |
US7840569B2 (en) * | 2007-10-18 | 2010-11-23 | Microsoft Corporation | Enterprise relevancy ranking using a neural network |
US20090112843A1 (en) * | 2007-10-29 | 2009-04-30 | International Business Machines Corporation | System and method for providing differentiated service levels for search index |
NO327653B1 (no) * | 2007-12-20 | 2009-09-07 | Fast Search & Transfer As | Fremgangsmate for dynamisk oppdatering av en indeks og en sokemotor som implementerer samme |
US20090193406A1 (en) * | 2008-01-29 | 2009-07-30 | James Charles Williams | Bulk Search Index Updates |
US8812493B2 (en) * | 2008-04-11 | 2014-08-19 | Microsoft Corporation | Search results ranking using editing distance and document information |
US8082258B2 (en) * | 2009-02-10 | 2011-12-20 | Microsoft Corporation | Updating an inverted index in a real time fashion |
US8447066B2 (en) | 2009-03-12 | 2013-05-21 | Google Inc. | Performing actions based on capturing information from rendered documents, such as documents under copyright |
US8205025B2 (en) * | 2009-08-12 | 2012-06-19 | Globalspec, Inc. | Efficient buffered reading with a plug-in for input buffer size determination |
CN102023989B (zh) * | 2009-09-23 | 2012-10-10 | 阿里巴巴集团控股有限公司 | 一种信息检索方法及其系统 |
US9081799B2 (en) | 2009-12-04 | 2015-07-14 | Google Inc. | Using gestalt information to identify locations in printed information |
US9323784B2 (en) | 2009-12-09 | 2016-04-26 | Google Inc. | Image search using text-based elements within the contents of images |
US9507827B1 (en) * | 2010-03-25 | 2016-11-29 | Excalibur Ip, Llc | Encoding and accessing position data |
US8738635B2 (en) | 2010-06-01 | 2014-05-27 | Microsoft Corporation | Detection of junk in search result ranking |
FR2965952B1 (fr) * | 2010-10-06 | 2013-06-21 | Commissariat Energie Atomique | Procede de mise a jour d'un index inverse et serveur mettant en oeuvre ce procede |
US8996985B1 (en) | 2011-03-16 | 2015-03-31 | Google Inc. | Online document processing service for displaying comments |
US20130013616A1 (en) * | 2011-07-08 | 2013-01-10 | Jochen Lothar Leidner | Systems and Methods for Natural Language Searching of Structured Data |
US8471871B1 (en) | 2011-10-17 | 2013-06-25 | Google Inc. | Authoritative text size measuring |
US8434002B1 (en) * | 2011-10-17 | 2013-04-30 | Google Inc. | Systems and methods for collaborative editing of elements in a presentation document |
US10430388B1 (en) | 2011-10-17 | 2019-10-01 | Google Llc | Systems and methods for incremental loading of collaboratively generated presentations |
US20150199308A1 (en) | 2011-10-17 | 2015-07-16 | Google Inc. | Systems and methods for controlling the display of online documents |
US8812946B1 (en) | 2011-10-17 | 2014-08-19 | Google Inc. | Systems and methods for rendering documents |
US8266245B1 (en) | 2011-10-17 | 2012-09-11 | Google Inc. | Systems and methods for incremental loading of collaboratively generated presentations |
US20130151534A1 (en) * | 2011-12-08 | 2013-06-13 | Digitalsmiths, Inc. | Multimedia metadata analysis using inverted index with temporal and segment identifying payloads |
US9495462B2 (en) | 2012-01-27 | 2016-11-15 | Microsoft Technology Licensing, Llc | Re-ranking search results |
US9747363B1 (en) * | 2012-03-01 | 2017-08-29 | Attivio, Inc. | Efficient storage and retrieval of sparse arrays of identifier-value pairs |
US9367522B2 (en) | 2012-04-13 | 2016-06-14 | Google Inc. | Time-based presentation editing |
US9529785B2 (en) | 2012-11-27 | 2016-12-27 | Google Inc. | Detecting relationships between edits and acting on a subset of edits |
KR101416261B1 (ko) * | 2013-05-22 | 2014-07-09 | 연세대학교 산학협력단 | 플래시 ssd의 역 인덱스 업데이트 방법 |
US10474650B1 (en) * | 2013-05-24 | 2019-11-12 | Google Llc | In-place updates for inverted indices |
US10073874B1 (en) | 2013-05-28 | 2018-09-11 | Google Llc | Updating inverted indices |
US9971752B2 (en) | 2013-08-19 | 2018-05-15 | Google Llc | Systems and methods for resolving privileged edits within suggested edits |
US9348803B2 (en) | 2013-10-22 | 2016-05-24 | Google Inc. | Systems and methods for providing just-in-time preview of suggestion resolutions |
US11249968B2 (en) * | 2016-05-09 | 2022-02-15 | Sap Se | Large object containers with size criteria for storing mid-sized large objects |
US11138247B2 (en) * | 2017-04-07 | 2021-10-05 | Druva, Inc. | Systems and methods for a full text search engine implemented using object storage techniques |
US11256667B2 (en) | 2017-10-26 | 2022-02-22 | Druva Inc. | Deduplicated merged indexed object storage file system |
US11449484B2 (en) * | 2018-06-25 | 2022-09-20 | Ebay Inc. | Data indexing and searching using permutation indexes |
US12045294B2 (en) | 2020-11-16 | 2024-07-23 | Microsoft Technology Licensing, Llc | Mask-augmented inverted index |
US20230153338A1 (en) * | 2021-11-15 | 2023-05-18 | Adobe Inc. | Sparse embedding index for search |
US11947512B2 (en) | 2022-02-22 | 2024-04-02 | Microsoft Technology Licensing, Llc | Feedback-based inverted index compression |
CN116737664B (zh) * | 2023-08-14 | 2023-11-14 | 中国科学院软件研究所 | 一种面向对象的嵌入式数据库高效索引组织方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4611272A (en) * | 1983-02-03 | 1986-09-09 | International Business Machines Corporation | Key-accessed file organization |
JPH02130647A (ja) * | 1988-11-11 | 1990-05-18 | Toshiba Corp | 索引木構造の更新方式 |
US5263155A (en) * | 1991-02-21 | 1993-11-16 | Texas Instruments Incorporated | System for selectively registering and blocking requests initiated by optimistic and pessimistic transactions respectively for shared objects based upon associated locks |
US5685003A (en) * | 1992-12-23 | 1997-11-04 | Microsoft Corporation | Method and system for automatically indexing data in a document using a fresh index table |
JP3003915B2 (ja) * | 1994-12-26 | 2000-01-31 | シャープ株式会社 | 単語辞書検索装置 |
US5758361A (en) * | 1996-03-20 | 1998-05-26 | Sun Microsystems, Inc. | Document editor for linear and space efficient representation of hierarchical documents |
US5806065A (en) * | 1996-05-06 | 1998-09-08 | Microsoft Corporation | Data system with distributed tree indexes and method for maintaining the indexes |
US5915249A (en) * | 1996-06-14 | 1999-06-22 | Excite, Inc. | System and method for accelerated query evaluation of very large full-text databases |
US5893104A (en) * | 1996-07-09 | 1999-04-06 | Oracle Corporation | Method and system for processing queries in a database system using index structures that are not native to the database system |
US5852822A (en) * | 1996-12-09 | 1998-12-22 | Oracle Corporation | Index-only tables with nested group keys |
US6167397A (en) * | 1997-09-23 | 2000-12-26 | At&T Corporation | Method of clustering electronic documents in response to a search query |
US6061690A (en) * | 1997-10-31 | 2000-05-09 | Oracle Corporation | Apparatus and method for storage of object collections in a database system |
US6061678A (en) * | 1997-10-31 | 2000-05-09 | Oracle Corporation | Approach for managing access to large objects in database systems using large object indexes |
US6029170A (en) * | 1997-11-25 | 2000-02-22 | International Business Machines Corporation | Hybrid tree array data structure and method |
US6119156A (en) * | 1998-04-27 | 2000-09-12 | Xerox Corporation | Locking mechanism for network-managed agents in a digital printing system |
-
1998
- 1998-02-25 KR KR1019980005930A patent/KR100285265B1/ko not_active IP Right Cessation
-
1999
- 1999-02-15 US US09/250,487 patent/US6349308B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6349308B1 (en) | 2002-02-19 |
KR19990070838A (ko) | 1999-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100285265B1 (ko) | 데이터 베이스 관리 시스템과 정보 검색의 밀결합을 위하여 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조 | |
US8843454B2 (en) | Elimination of duplicate objects in storage clusters | |
US8255398B2 (en) | Compression of sorted value indexes using common prefixes | |
US4611272A (en) | Key-accessed file organization | |
US9760652B2 (en) | Hierarchical storage architecture using node ID ranges | |
US6330567B1 (en) | Searching system for searching files stored in a hard disk of a personal computer | |
US6654868B2 (en) | Information storage and retrieval system | |
CN105912687A (zh) | 海量分布式数据库存储单元 | |
CN116186133A (zh) | 一种融合正排与倒排索引的电子文档管理方法 | |
CN108984626B (zh) | 一种数据处理方法、装置及服务器 | |
WO2023083237A1 (zh) | 图数据的管理 | |
CN116226425A (zh) | 一种图数据的存储方法、读取方法和系统 | |
JP3518933B2 (ja) | 構造化文書検索方法 | |
CN114116612B (zh) | 一种基于b+树索引归档文件的存取方法 | |
CN103246718B (zh) | 文件访问方法、装置和设备 | |
CN109213760A (zh) | 非关系数据存储的高负载业务存储及检索方法 | |
CN115809248B (zh) | 数据查询方法和装置以及存储介质 | |
CN110262755A (zh) | 一种嵌入式系统的文件存储方法 | |
KR20040039691A (ko) | 정보 검색 시스템의 인덱싱 방법 | |
CN1235169C (zh) | 一种嵌入式系统的数据存放及其查找方法 | |
KR20190089420A (ko) | 서브 인덱스 저장 방식의 데이터 구축 및 관리 시스템 | |
KR100353112B1 (ko) | 정보검색 시스템의 하부저장구조 관리장치 및 그 정보 저장/검색 방법 | |
CN117785889B (zh) | 一种针对图数据库的索引管理方法及相关设备 | |
Tsotras et al. | Efficient algorithms for managing the history of evolving databases | |
Afshani et al. | Cross-referenced dictionaries and the limits of write optimization |
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 | ||
FPAY | Annual fee payment |
Payment date: 20130102 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20131231 Year of fee payment: 14 |
|
FPAY | Annual fee payment |
Payment date: 20151229 Year of fee payment: 16 |
|
FPAY | Annual fee payment |
Payment date: 20161227 Year of fee payment: 17 |
|
FPAY | Annual fee payment |
Payment date: 20180102 Year of fee payment: 18 |
|
EXPY | Expiration of term |