KR20030045666A - Directory searching methods and systems - Google Patents
Directory searching methods and systems Download PDFInfo
- Publication number
- KR20030045666A KR20030045666A KR1020027013452A KR20027013452A KR20030045666A KR 20030045666 A KR20030045666 A KR 20030045666A KR 1020027013452 A KR1020027013452 A KR 1020027013452A KR 20027013452 A KR20027013452 A KR 20027013452A KR 20030045666 A KR20030045666 A KR 20030045666A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- column
- component
- service system
- database
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
관계형 데이터베이스에 데이터를 배열하고 디렉토리 서비스 데이터베이스 및 시스템을 검색하는 방법이 제공된다. 특히, 그러나 배타적이지는 않게, 관계형 데이터베이스에서 X.500 또는 LDAP 서비스를 실행하거나 수행하는 시스템 및 디렉토리가 제공된다. 본 출원은 테이블에 있는 데이터 형태를 구성요소로 저장하고 원하는 데이터 엔트리에 대하여 구성요소를 검색하는 데이터베이스 배열을 포함한다.A method of arranging data in a relational database and searching a directory service database and system is provided. In particular, but not exclusively, systems and directories are provided for running or executing X.500 or LDAP services in a relational database. The present application includes a database arrangement that stores the data types in a table as components and retrieves the components for the desired data entry.
Description
관계형 데이터베이스 관리 시스템(Relational Database Managament System; RDBMS)은 데이터를 저장하고 조작하는 데 있어서의 응용을 위한 설비를 제공한다. RDBMS가 제공하는 많은 특징 가운데는, 데이터 무결성, 일관성, 병행성, 색인 메커니즘, 조회 최적화, 회복, 롤백, 보안이 있다. RDBMS는 또한 성능 튜닝, 수입/수출, 백업, 편집 및 응용의 개발을 위한 많은 도구를 제공한다.Relational Database Management System (RDBMS) provides facilities for applications in storing and manipulating data. Among the many features provided by RDBMSs are data integrity, consistency, concurrency, index mechanisms, query optimization, recovery, rollback, and security. The RDBMS also provides a number of tools for performance tuning, import / export, backup, editing and development of applications.
RDBMS는 대부분의 큰 범위의 데이터 관리자의 선호되는 선택이다. RDBMS는 용이하게 이용할 수 있으며, 신뢰할 수 있고 많은 유용한 관리 도구를 포함한다고알려져 있다. 많은 RDBMS 설비의 기초가 존재하고 그러므로 이러한 시스템을 실행시키기 위한 대량의 현존 전문기술지식 및 이러한 시스템을 실행시키기 위한 인력과 공정에 대한 투자가 존재하며, 그래서 데이터관리자들은 새로운 시스템을 획득할 때 이를 사용할 것을 기대한다. 대부분의 관계형 데이터베이스 제품은 산업표준 SQL(Structured Query Language)을 지원한다.RDBMSs are the preferred choice of most large data managers. RDBMSs are known to be readily available, reliable, and include many useful management tools. There is a foundation of many RDBMS facilities and therefore there is a large amount of existing expertise to implement these systems and investments in people and processes to implement these systems, so data managers can use them when acquiring new systems. Look forward to that. Most relational database products support the industry standard Structured Query Language (SQL).
또한 객체 지향 시스템을 향한 움직임이 있어왔는데, 이는 데이터 확장성 및 임의로 복잡한 데이터 항목을 다루는 능력을 제공한다. 부가적으로, 많은 회사 및 정부 부처는 많은 데이터베이스 어플리케이션을 가지고 있으나, 이들은 서로 호환되지 않는다. 데이터 관리자들은 그들의 데이터를 통합하는 것을 가능하게 하고 그 데이터의 관리를 단순화시킬 수 있는 솔루션을 찾고 있다. 전자 디렉토리는 데이터 관리자들에게 이러한 목적을 달성하는 도구를 제공한다. 일부 전자 디렉토리들이 표준화되어 있다. X.500은 전자 디렉토리를 위한 국제 표준 [CCITT89 또는 ITU93]이다. 이러한 표준들은 매우 융통성 있고 일반적인 목적의 디렉토리의 서비스, 프로토콜 및 정보 모델을 정의한다. X.500은 데이터가 상당히 정적인 정보 시스템(예를 들어, 전화 디렉토리)에 적용할 수 있으나, 분산되고(예를 들어, 기구 또는 국가들을 가로질러), 확장가능하며(예를 들면, 이름, 주소, 직업명, 장치 등을 저장), 객체 지향적(즉, 데이터상에 규칙을 적용하는 것) 및/또는 원격으로 억세스 될 필요가 있다. 전자 디렉토리, 가령 X.500 및 그 관련 표준은 데이터 관리자가 그들의 객체들을 획득하는 것을 가능하게 하는 체제 및 상당한 기능성을 제공한다.There has also been a move towards object-oriented systems, which provides data scalability and the ability to handle arbitrarily complex data items. In addition, many companies and government departments have many database applications, but they are not compatible with each other. Data managers are looking for solutions that allow them to integrate their data and simplify the management of that data. Electronic directories provide data managers with the tools to achieve this goal. Some electronic directories are standardized. X.500 is the international standard [CCITT89 or ITU93] for electronic directories. These standards define a very flexible and general-purpose directory service, protocol, and information model. X.500 can be applied to information systems where data is fairly static (e.g., telephone directories), but is distributed (e.g. across organizations or countries), scalable (e.g., name, Storage of addresses, job names, devices, etc.), object-oriented (ie, applying rules on data) and / or remotely accessed. Electronic directories, such as X.500 and related standards, provide a framework and significant functionality that enable data managers to obtain their objects.
전형적으로, 데이터 관리자는 시스템이 현 SQL 제품의 안정성, 견고성, 이동성 및 비용-효율성과 결합된 관계형 시스템에 내재된 비례축소 가능성 및 성능을 획득할 수 있도록 전자 디렉토리, 가령 X.500 디렉토리를 객체 지향 시스템의 모든 융통성을 가지고, 그러나 SQL 제품을 사용하여 수행하고 싶어한다.Typically, data managers have object-oriented electronic directories, such as X.500 directories, to enable systems to achieve the scaling possibilities and performance inherent in relational systems combined with the stability, robustness, mobility, and cost-efficiency of current SQL products. You have all the flexibility of the system, but want to do it using SQL products.
전자 디렉토리 실행의 한 예는 미국 일련번호 09/427,267 및 이의 호주 대응특허 712451에 기재되며, 두 명세서는 여기서 전체로서 참조 인용된다. 이 실행을 위한 검색 전략내에서는, 개념적 수준에서, 계층 테이블, 예를 들어, 명칭, DIT 및 트리가 하나의 계층에서 객체들 간의 관계를 유지하기 위하여 사용된다. 이러한 계층 테이블들은 객체당 하나의 열을 따라 배열된다. 객체 테이블, 예를 들면, 검색 및 엔트리는 객체 내에 있는 값을 관리한다. 이러한 객체 테이블은 값마다 하나의 열을 따라 배열된다. 모든 객체는 계층 테이블에 해당하는 열을 가지며 모든 속성 값은 객체 테이블에 해당하는 열을 가진다. 이 실행에서, 객체를 검색하기 위하여 사용되는 객체 테이블은 형태(EID, AID, VID, Norm)의 열을 포함하며, 여기서 EID는 값이 속하는 객체를 지정하며, AID는 그 값의 속성 형태를 지정하며, VID는 하나의 엔트리 내에 가능한 수의 속성 값들 중 하나를 지정하고, 놈은 구문 표준화 값을 포함한다. 속성 테이블, 예를 들면 속성은 속성 형태에 대gks 정보를 정의한다. 사용된 속성 테이블은 형태(AID, SYX, DESC, 객체 ID)의 열들을 포함한다.One example of an electronic directory implementation is described in US Serial No. 09 / 427,267 and its Australian counterpart 712451, both of which are incorporated herein by reference in their entirety. Within the search strategy for this implementation, at a conceptual level, hierarchical tables such as name, DIT and tree are used to maintain the relationships between objects in one hierarchy. These hierarchical tables are arranged along one column per object. Object tables, such as searches and entries, manage values within objects. These object tables are arranged along one column per value. Every object has a column corresponding to the hierarchical table, and every attribute value has a column corresponding to the object table. In this implementation, the object table used to retrieve the object contains columns of types (EID, AID, VID, Norm), where EID specifies the object to which the value belongs, and AID specifies the attribute type of that value. The VID specifies one of the possible number of attribute values in one entry, and the norm contains a syntax normalization value. Attribute tables, for example attributes, define gks information for attribute types. The attribute table used contains columns of the type (AID, SYX, DESC, object ID).
전자 디렉토리 실행에 대한 향상이 복잡한 데이터 형태에 있어 데이터베이스를 정렬하고 검색하기 위하여 얻어질 수 있음이 알려져 왔다.It has been known that improvements to electronic directory performance can be obtained to sort and search the database for complex data types.
발명의 요약Summary of the Invention
본 출원은 저장된 데이터에 포함된 구성요소들 중 하나, 저장된 데이터의 지정자 및/또는 저장된 데이터의 조작과 같은 일정 형태의 색인을 사용하여 데이터 형태를 저장하는 것 및/또는 검색하는 것과 관련된다. 이러한 실행은 가령, 단일 구성요소를 나타내는 구성요소 지정자(component identifier; CID) 정보 및/또는 다중값 구성요소 또는 검색을 위해 사용되는 구성요소들을 나타내는 구성요소 값 지정자(component value identifier; CVID) 정보를 포함하는 것에 한정되지 않음에 의해서 데이터 엔트리에 관련된 정보, 데이터베이스의 특정 엔트리에 대한 검색에 도움이 되거나 유용하다라고 생각되는 선결정된 정보를 저장하는 속성 및/또는 새로운 검색 테이블을 부가함으로써 복잡한 데이터 형태의 검색을 용이하게 한다. 이러한 새로운 테이블은 여기서 부검색 테이블 및/또는 부속성 테이블이라고 불리워지며, 값의 구성요소를 저장하는데 기여하며, 단일 구성요소 및/또는 다중값 구성요소의 검색을 용이하게 한다. 그러나, 그러한 테이블은 임의의 명칭으로 참조될 수 있다.The present application relates to storing and / or retrieving a data form using some form of index, such as one of the components included in the stored data, a designator of the stored data, and / or manipulation of the stored data. Such implementation may, for example, generate component identifier (CID) information representing a single component and / or component value identifier (CVID) information representing components used for multivalued components or search. Complex data types by adding new search tables and / or attributes that store information related to the data entry by way of limitation, including but not limited to including information that is determined to be useful or useful for searching a particular entry in the database. Make the search easier. This new table, referred to herein as the subsearch table and / or the subsidiary table, contributes to storing the components of the values and facilitates the retrieval of single components and / or multivalued components. However, such a table may be referred to by any name.
한 실시예에서, 본 출원은 데이터베이스내에 데이터를 배열하는 방법을 제공한다. 그 방법은 데이터를 저장하고 각 데이터 엔트리에 대하여 하나의 열을 가지기 위하여 적합화된 제1테이블을 생성하는 단계 및 데이터 구성요소를 저장하고 그 저장된 데이터 형태의 각 구성요소에 대하여 하나의 열을 가지기 위하여 적합화된 제2테이블을 생성하는 단계를 포함한다.In one embodiment, the present application provides a method of arranging data in a database. The method comprises the steps of creating a first table adapted to store data and to have one column for each data entry, and to store data components and to have one column for each component of the stored data type. Generating a second table adapted for the purpose.
본 출원은 또한 데이터 저장 배열을 가지는 데이터베이스 및/또는 디렉토리를 제공한다. 명세서의 나머지 전체에서, 참조가 데이터베이스에 행해지나, 이는 똑같이 디렉토리 서비스 시스템에 적용된다. 데이터 저장 배열은 객체들간의 관계를 정의하는 계층으로 지향되고 객체마다 하나의 열을 가지도록 설정된 제1테이블, 각 객체 내에 하나 이상의 값을 정의하는 객체로 지향되고 값마다 하나의 열을 가지도록 설정된 제2테이블, 하나 이상의 선택된 구성요소 또는 값의 표현으로 지향되고 각 값의 각 구성요소에 대하여 하나의 열을 가지도록 설정된 제3테이블을 포함한다. 바람직하게는, 데이터베이스가 가령 X.500 또는 LDAP 서비스 시스템과 같은 디렉토리 서비스 시스템의 일부이다.The present application also provides a database and / or directory having a data storage arrangement. Throughout the rest of the specification, references are made to the database, but the same applies to directory service systems. A data storage array is directed to a hierarchy that defines the relationships between objects and is set up to have a single column for each object, or a table that is directed to an object that defines one or more values within each object, with one column for each value. A second table, a third table directed to the representation of one or more selected components or values and set to have one column for each component of each value. Preferably, the database is part of a directory service system, such as an X.500 or LDAP service system.
본 출원은 또한 주어진 데이터베이스 엔트리에 대해 데이터베이스를 검색하는 방법을 제공한다. 이 실시예에서, 데이터베이스는 데이터를 저장하고 각 데이터 엔트리에 대하여 하나의 열을 가지기 위하여 적합화된 제1테이블 및 데이터 구성요소 또는 표현을 저장하고 저장된 데이터의 각 구성요소에 대하여 하나의 열을 가지기 위하여 적합화된 제2테이블을 가진다. 검색 방법은 주어진 데이터 엔트리의 구성요소 또는 표현(representation)을 결정하는 단계, 구성요소 또는 표현을 위치시키기 위하여 제2테이블상의 정확한 또는 초기의 매칭중 하나를 실행하는 단계, 및 위치된 구성요소 또는 표현과 매칭되는 주어진 데이터 엔트리를 리턴하는 단계를 포함한다.The present application also provides a method of searching a database for a given database entry. In this embodiment, the database stores a first table and a data component or representation adapted to store data and to have one column for each data entry and has one column for each component of the stored data. Has a second table adapted for that purpose. The search method includes determining a component or representation of a given data entry, executing one of the exact or initial matching on the second table to locate the component or representation, and the located component or representation Returning a given data entry that matches.
명세서 전체에서, 구성요소에 대한 참조는 대체하여 또는 부가적으로 값의 표현, 즉, 역 색인 또는 포인터 또는 지문 또는 검사합(checksum), 또는 상대적으로 큰 데이터의 적당한 더 작은 표현을 포함할 수 있다.Throughout the specification, references to components may alternatively or additionally include a representation of a value, that is, an inverse index or pointer or fingerprint or checksum, or a suitable smaller representation of relatively large data. .
본 출원의 바람직한 실시예는 이제 첨부하는 도면을 참조하여 기재될 것이다.Preferred embodiments of the present application will now be described with reference to the accompanying drawings.
본 출원은 1995년 8월 30일 출원된 국제출원 번호 PCT/AU95/00560의 국내 단계인 1997년 2월 28일 출원된 미국 일련번호 08/793,575(현재 미국특허 제6,052,681호)의 분할출원인 미국 일련번호 09/427,267의 일부계속출원(CIP출원)이며, 이들 각각은 참조에 의해 전부 여기에 인용된다.This application is a serial application of US Serial No. 08 / 793,575 (currently US Pat. No. 6,052,681), filed Feb. 28, 1997, filed at the national stage of International Application No. PCT / AU95 / 00560, filed Aug. 30, 1995. Some continuing applications (CIP applications) of No. 09 / 427,267, each of which are incorporated herein by reference in their entirety.
본 출원은 디렉토리 서비스 분야와 관련된다. 보다 구체적으로는, 본 출원은 전기 디렉토리 서비스에의 응용, 예를 들면, X.500 또는 LDAP, 관계형 데이터베이스에 있어서, 검색용으로 사용되는 데이터베이스 정렬에 있어서의 테이블 구조, 및 데이터베이스 검색을 위한 방법에 관련된다.This application relates to the field of directory services. More specifically, the present application relates to applications in electrical directory services, such as X.500 or LDAP, table structures in database sorting used for searches in relational databases, and methods for database searches. Related.
도1a는 본 출원에 따른 예시적인 데이터베이스의 원리 및 개념적 디자인을 도시.1A illustrates the principle and conceptual design of an exemplary database in accordance with the present application.
도1b는 부검색 테이블 및 부속성 테이블을 포함하는 본 출원에 따른 예시적인 데이터베이스의 논리적 또는 물리적 디자인을 도시.1B illustrates a logical or physical design of an exemplary database in accordance with the present application including a subsearch table and an appendage table.
도2는 본 출원에 따른 고차 검색방법의 개략적인 표현.2 is a schematic representation of a higher order search method according to the present application.
도3은 본 출원에 따른 부차(sub-order) 검색방법의 개략적인 표현.3 is a schematic representation of a sub-order retrieval method according to the present application.
도4는 예시적인 X.509 인증 및 검색 및 부검색 테이블의 해당 예를 도시.4 illustrates a corresponding example of an exemplary X.509 authentication and search and subsearch table.
도5는 전화 번호 데이터 구성요소와 관련된 예시적인 검색 및 부검색 테이블을 도시.5 illustrates an exemplary search and subsearch table associated with telephone number data component.
도1a는 데이터베이스 디자인의 예시적인 실행을 도시하며 본 출원의 방법 및 배열이 적용될 수 있는 데이터베이스의 유일한 한가지 형태이다. 이 데이터베이스 디자인의 보다 상세한 설명은 전체로서 인용하여 여기에 참조된 미국 일련번호 09/427,267에서 찾아질 수 있다. 도1b는 도1a의 데이터베이스 디자인의 보다 상세한 실행을 도시한다. 일반적으로, 데이터베이스를 가지고 있는 디렉토리를 검색하고 있을 때, 검색 인자는 검색을 시작하는 곳(기본 객체), 검색의 범위(부집합), 검색에 적용하기 위한 조건(필터) 및 어느 정보가 검색으로부터 리턴되어야하는지(선택문)를 정의한다. 필터는 AND, OR 및 NOT과 같은 연산자에 의해 연결되는 하나 이상의 필터 항목(또는 조건)의 조합이다.1A illustrates an exemplary implementation of a database design and is the only one form of database to which the methods and arrangements of the present application can be applied. A more detailed description of this database design can be found in US Serial No. 09 / 427,267, incorporated herein by reference in its entirety. Figure 1B illustrates a more detailed implementation of the database design of Figure 1A. In general, when searching a directory that contains a database, the search arguments are where the search begins (the base object), the scope (set) of the search, the conditions (filters) to apply to the search, and what information comes from the search. Defines what should be returned (optional). A filter is a combination of one or more filter items (or conditions) connected by operators such as AND, OR, and NOT.
일반적인 검색 서비스에 대하여, 필터는 객체 테이블, 가령 검색 테이블에 있는 값 및 속성에 적용된다. 일반적인 필터의 예는 "NORM LIKE '%RICK HARVEY%'"이다. (이하에 보다 상세히 기재된)상세 검색 서비스에 대하여, 절이 구성요소 지정자를 포함하는 SQL 명령문에 부가될 수 있으며, 이는 데이터 형태의 특정 구성요소를 말하며 정확한 또는 초기의(즉, 시작하는)필터가 검색 테이블 대신에 부검색 테이블에 있는 구성요소에 적용된다. 그러한 절의 예는 "AND CID = n"이며, 정확한 필터의 예는 "NORM = 'RICK HARVEY'"이다.For a general search service, filters are applied to values and attributes in object tables, such as search tables. An example of a typical filter is "NORM LIKE '% RICK HARVEY%'." For the advanced search service (described in more detail below), a clause can be added to an SQL statement that includes a component specifier, which refers to a specific component of the data type, and the correct or initial (ie starting) filter is searched. Applies to components in subsearch tables instead of tables. An example of such a clause is "AND CID = n" and an example of a correct filter is "NORM = 'RICK HARVEY'".
도1b를 참조하면, 논리적 디자인(1) 및 물리적 디자인(2)의 테이블 구조는 검색 테이블(3), 부검색 테이블(4), 속성 테이블(5), 및 부속성 테이블(6)을 포함한다. 검색 테이블(3) 및 속성 테이블(5)은 미국 일련번호 09/427,267에 기재된 검색 및 속성 테이블과 유사하며, 여기서 보다 상세히 기재되지 않을 것이다. 부검색 테이블(4)은 검색의 속도 및 신뢰도를 향상시키기 위하여 사용된 하나 이상의 구성요소를 포함하도록 설정될 수 있다. 예를 들면, 부검색 테이블(4)은 CID 필드(7) 및 CVID 필드(8)를 포함할 수 있다. CID 필드(4)는 데이터 형태의 구성요소를 검색하기 위한 도구(또는 색인)로 작용하며, CVID 필드(8)는 다중값 구성요소 검색을 위한 도구(또는 색인)로 작용한다. 비록 본 출원에 따른 방법이 하나 이상의 상기 지정된 테이블과 함께 사용될 수 있지만, 바람직하게는, 상세 검색 질의에 대한 선택이 존재하도록 각 테이블이 제공된다.Referring to FIG. 1B, the table structure of the logical design 1 and the physical design 2 includes a lookup table 3, a subsearch table 4, an attribute table 5, and an appendage table 6. . The lookup table 3 and the lookup table 5 are similar to the lookup and lookup table described in US Serial No. 09 / 427,267 and will not be described in more detail here. The subsearch table 4 may be set to include one or more components used to improve the speed and reliability of the search. For example, the subsearch table 4 may include a CID field 7 and a CVID field 8. The CID field 4 acts as a tool (or index) for searching for components in the form of data, and the CVID field 8 acts as a tool (or index) for searching for multivalued components. Although the method according to the present application can be used with one or more of the above specified tables, each table is preferably provided such that there is a choice for a refinement search query.
속성 테이블(5)은 검색 테이블(3)에서 정보를 기재하거나 참조하며, 부속성 테이블(6)은 부검색 테이블(4)에서 정보를 기재하거나 참조한다. 부속성 테이블(6)은 속성 테이블(5)과 유사한 필드를 가지나, AID 필드(10)를 CID 필드(9)로 대체한다. CID 필드(9)는 부검색 테이블(4)에서 하나 이상의 구성요소를 지정하기 위하여 사용된다.The attribute table 5 describes or references the information in the lookup table 3, and the appendage table 6 describes or references the information in the subsearch table 4. The appendage table 6 has a field similar to the attribute table 5, but replaces the AID field 10 with a CID field 9. The CID field 9 is used to specify one or more components in the subsearch table 4.
부검색 테이블(4)은 바람직하게는 검색성능을 향상시키는 정보 또는 복잡한 데이터 형태의 구성요소를 저장한다. 부검색 테이블에 저장된 다른 구성요소들은 데이터베이스의 관리능력을 향상시키는 것일 수 있다. 다시 말해서, 데이터 엔트리에서의 모든 값이 부검색 테이블에 포함되는 것은 필요조건이 아니다.The sub-search table 4 preferably stores components in the form of information or complex data that improve search performance. Other components stored in the subsearch table may be to improve the manageability of the database. In other words, it is not a requirement that all values in the data entry be included in the subsearch table.
도2 및 도3을 참조하여, 데이터베이스 검색 방법이 기재될 것이다. 검색의 예는 기본객체와 전체 트리 검색(11), 일 단계 검색(12) 및 부트리(subtree) 검색(13)을 포함한다. 이러한 검색의 보다 상세한 기재는 미국 일련번호 09/427,267에서 찾아질 수 있다. 기본객체 또는 전체 트리(11)의 범위를 가지는 검색은 검색 테이블(3)을 사용한다. 기본객체 또는 전체 트리(11)의 범위를 가지며 저장된 구성요소를 사용할 수 있는 검색은 부검색 테이블(4)을 사용한다. 일 단계(12)의 범위를 가지는 검색은 DIT 테이블(14) 및 검색 테이블(3) 사이에 결합을 사용한다. 일 단계(12)의 범위를 가지며 저장된 구성요소를 사용할 수 있는 검색은 DIT 테이블(14) 및 부검색 테이블(4) 사이의 결합을 이용한다. 부트리(13)의 범위를 가지는 검색은 트리 테이블(15) 및 검색 테이블(3) 사이의 결합을 사용한다. 부트리(13)의 범위를 가지며 저장된 구성요소를 사용하는 검색은 트리테이블(15) 및 부검색 테이블(4) 사이의 결합을 이용한다.2 and 3, a database search method will be described. Examples of search include base object and full tree search 11, one-step search 12 and subtree search 13. A more detailed description of this search can be found in US Serial No. 09 / 427,267. Searches with a range of base objects or the entire tree 11 use the lookup table 3. Searches that have a range of base objects or the entire tree 11 and can use stored components use the subsearch table 4. A search with a range of one step 12 uses a join between the DIT table 14 and the lookup table 3. The search, which has a range of one step 12 and can use the stored components, uses a combination between the DIT table 14 and the subsearch table 4. The search with the range of the booties 13 uses a combination between the tree table 15 and the lookup table 3. The search using the stored components with a range of booties 13 uses a combination between the tree table 15 and the sub-search table 4.
설명을 위하여, 만약 원하는 검색 인자가 일반적인 필터와 함께 구조화된다면, 기본 객체 및 전체 트리 검색(11)은 검색 테이블(3)을 사용하며, 일 단계 검색(12)은 DIT 테이블(14) 및 검색 테이블(3)을 사용하며, 부트리 검색(13)은 트리 테이블(15) 및 검색 테이블(3)을 사용할 것이다. 그러한 검색에 대한 SQL 명령문의 예는 다음과 같다:For illustrative purposes, if the desired search factor is structured with a general filter, the base object and full tree search 11 uses a lookup table 3, and the one-step lookup 12 is a DIT table 14 and a lookup table. (3), the Booty Search 13 will use the tree table 15 and the lookup table 3. An example SQL statement for such a search is:
SELECT EID{다른 컬럼} FROM SEARCH{다른 테이블} WHERE{필터}SELECT EID {different column} FROM SEARCH {different table} WHERE {filter}
그러나, 그러한 검색에서, 만약 적용된 필터가 가령 상당히 반복성의 데이터 스트링, 데이터 스트링의 일부 또는 구조화된 데이터 형태의 구성요소이어야 한다면, 그 데이터베이스는 수많은 값들을 통해 자세히 조사해야 하므로 느리고 비효율적일 수 있다.However, in such a search, if the applied filter is to be a component of a highly repeatable data string, part of a data string, or a structured data type, the database may be slow and inefficient because it must be examined in detail through numerous values.
그러한 검색의 효율을 향상시키는 한가지 방법은 부검색 테이블을 이용하여 저장된 데이터와 연관된 하나 이상의 구성요소를 검색하는 것이다. 그러한 경우에 데이터베이스는 스트링 또는 구조에서 구성요소에 색인을 사용할 수 있으며, 그러므로 수많은 값의 자세한 조사를 피한다. 그러한 검색에 대한 SQL 명령문의 예는 다음과 같다:One way to improve the efficiency of such a search is to search for one or more components associated with the stored data using a subsearch table. In such cases, the database can use indexes on components in strings or structures, thus avoiding scrutiny of numerous values. An example SQL statement for such a search is:
SELECT EID{다른 컬럼} FROM SUBSEARCH{다른 테이블} WHERE{필터} AND CID=xSELECT EID {different column} FROM SUBSEARCH {different table} WHERE {filter} AND CID = x
이 실행에서, 기본 객체 및 전체 트리 검색(11)은 부검색 테이블(4)을 사용하며, 일 단계 검색(12)은 DIT 테이블(14) 및 부검색 테이블(4)을 사용하며, 부트리 검색(13)은 트리 테이블(15) 및 부검색 테이블(43)을 사용할 것이다. 이 예에서,사용된 필터는 저장된 데이터의 구성요소를 참조할 것이며, 이는 색인의 사용을 허용하며 더 빠르고 보다 효율적인 검색으로 귀결될 것이다. 이 예에서 사용된 색인은 CID=x를 포함한다.In this implementation, the base object and full tree search 11 uses the subsearch table 4, the one-step search 12 uses the DIT table 14 and the subsearch table 4, and the Booty search. (13) will use the tree table 15 and the sub-search table 43. In this example, the filter used will refer to components of the stored data, which will allow the use of indexes and result in faster and more efficient searches. The index used in this example includes CID = x.
구조화된 속성Structured properties
본 출원에 따른 방법은 다양한 다른 응용에 사용될 수 있다. 한 응용은 표준화된 인증을 저장하기 위하여 디렉토리가 인증국(Certification Authorities)에 의해 증가하여 사용되고 있는 보안 영역이다. 그러한 인증의 한 예가 X.509 인증이다. X.509와 같은 인증은 그들이 많은 구성요소를 포함하기 때문에 복잡한 속성으로 불려질 수 있다. 그러나, 본 출원은 단지 이러한 형태의 인증에만 한정되지는 않아야 한다. 본 출원이 구성요소를 가진 어떠한 형태의 정보와도 이용될 수 있음이 이해될 것이다.The method according to the present application can be used for a variety of different applications. One application is the security area in which directories are being used by a growing number of Certification Authorities to store standardized certificates. One example of such a certificate is an X.509 certificate. Authentication such as X.509 can be called a complex attribute because they contain many components. However, the present application should not be limited to only this type of authentication. It will be appreciated that the present application may be used with any form of information having components.
그러한 인증을 저장할 때, 인증의 검색이 신속하고 신뢰할 수 있도록(즉, 원하는 인증이 실제로 검색되도록) 인증이 저장되는 방법에 대한 고찰이 주어져야 한다. 본 출원의 방법 및 데이터베이스 정렬은 인증에서 데이터의 하나 이상의 구성요소, 가령 일련번호, 만료된 데이터 및 발행인을 찾고 관리하는 것에 의해서 이를 획득한다.When storing such a certificate, consideration should be given to how the certificate is stored so that retrieval of the certificate is quick and reliable (ie, the desired certificate is actually retrieved). The method and database alignment of the present application is obtained by finding and managing one or more components of the data in the authentication, such as serial numbers, expired data and issuers.
도4는 X.509 인증에 대한 본 출원의 응용을 도시한다. 명확성을 위하여 각 테이블의 단지 작은 부분만이 도시된다. 인증(20)은 개략적으로 도시되며, 도시를 위하여 단지 정보만, 가령 필드(21)에 있는 발행인, 필드(22)에 있는 유효기간 정보, 필드(23)에 있는 일련 번호, 필드(24)에 있는 버전 번호, 및 필드(25)에 있는주제 정보(예를 들어, rick harvey)만을 보여준다. 본 예에 대하여, 검색 테이블(3)은 각 구성요소의 정규화된 값 또는 인증(20)의 필드를 분리하는 공간들(바람직하게는 둘)로 하나의 열에 배열된다. 검색 테이블은 또한 전체 인증을 나타내는 정규화된 값을 포함한다. 부검색 테이블(4)은 하나의 열이 인증(20)에서 하나의 구성요소 또는 필드에 해당하는 하나 이상의 열들(26, 27, 28, 29 및 30)과 함께 배열된다. 그러나 부검색 테이블(4)은 인증(20)에서 지정된 모든 필드를 포함해야 할 필요는 없다는 것을 유의해야 한다.4 illustrates the application of the present application to X.509 authentication. Only a small part of each table is shown for clarity. The authorization 20 is shown schematically, for the sake of illustration only information such as the issuer in field 21, expiration information in field 22, serial number in field 23, field 24. Only version number, and topic information in field 25 (eg, rick harvey). For this example, the lookup table 3 is arranged in one column with spaces (preferably two) separating the normalized value of each component or field of authentication 20. The lookup table also contains a normalized value representing the full certificate. The subsearch table 4 is arranged with one or more columns 26, 27, 28, 29 and 30, where one column corresponds to one component or field in the authentication 20. However, it should be noted that the subsearch table 4 does not have to include all the fields specified in the authentication 20.
이 실시예에 대한 실행을 설명하기 위하여, 간단한 인증이 신용카드가 가지는 것, 가령 일련번호, 만료일, 및 카드소지자 이름과 유사한 정보로 구성된다고 가정하자. 이 단순한 인증은 세 개의 구성요소 또는 필드, 즉 수 필드, 날짜 필드 및 스트링 필드를 가진다. 이 단순한 예에서, (도1b의 형태인)검색 테이블(3)에 저장될 인증(20)의 정규화된 값이 다음과 같다:To illustrate the implementation for this embodiment, assume that a simple authentication consists of information similar to what a credit card has, such as a serial number, expiration date, and cardholder name. This simple authentication has three components or fields: a number field, a date field, and a string field. In this simple example, the normalized value of the certificate 20 to be stored in the lookup table 3 (in the form of FIG. 1B) is as follows:
(xx, yy, zz, "123456 20000806123000 RICK HARVEY")(xx, yy, zz, "123456 20000806123000 RICK HARVEY")
그리고 부검색 테이블(4)은 가령, 세 개의 열 -인증의 각 구성요소에 대하여 하나- 을 저장할 수 있다. 부검색 테이블의 각 열은 도1b의 형태로 될 것이다:And the sub-search table 4 may store, for example, three columns, one for each component of the authentication. Each column of the subsearch table will be in the form of FIG. 1B:
(xx, yy, zz, 0, 0, "123456")(xx, yy, zz, 0, 0, "123456")
(xx, yy, zz, 1, 0, "20000806123000")(xx, yy, zz, 1, 0, "20000806123000")
(xx, yy, zz, 2, 0, "RICK HARVEY")(xx, yy, zz, 2, 0, "RICK HARVEY")
여기서, xx, yy 및 zz는 특정 테이블 디자인에 있는 필드, 가령 EID, AID 및 VID에 해당하는 정수이다.Where xx, yy and zz are integers corresponding to fields in a particular table design, such as EID, AID and VID.
검색 테이블(3)을 이용한 "RICK HARVEY"에 발행된 인증에 대한 검색은 다음의 SQL 명령문을 이용할 수 있다:Searches for certificates issued to "RICK HARVEY" using the lookup table (3) can use the following SQL statement:
SELECT...FROM...SEARCH...WHERE AID = 27 AND NORM LIKE '%RICK HARVEY%'SELECT ... FROM ... SEARCH ... WHERE AID = 27 AND NORM LIKE '% RICK HARVEY%'
여기서 일반 필터는 "NORM LIKE '%RICK HARVEY%'"이다. 그러나, 그러한 검색에 대하여 검색 테이블(3)을 사용하는 것은 각 엔트리에 대한 스트링의 각 구성요소가 시험되어져야 하며 스트링이 조사되고 검색되고 있는 확실성의 정도가 원하는 엔트리이기 때문에 느려질 수 있다. 이는 구조화되지 않은 문장 표현일 때 단조로운 표현이 어떠한 경계도 가지지 않기 때문이다.Here the general filter is "NORM LIKE '% RICK HARVEY%'". However, using the lookup table 3 for such a search can be slow because each component of the string for each entry must be tested and the degree of certainty that the string is examined and searched is the desired entry. This is because monotonous expression has no boundary when it is an unstructured sentence expression.
부검색 테이블(4)은 정확한 또는 시작의 필터 및 구성요소 지정자를 적용하는 것이 검색 인자에 적용될 때 이용된다면, "RICK HARVEY"에 발급된 인증에 대한 검색은 보다 효율적일 것이다. 이 경우에, 다음의 SQL 명령문은 다음과 같이 사용될 수 있다:If the subsearch table 4 is used when applying the correct or starting filter and component specifiers is applied to the search factor, the search for the certificate issued to "RICK HARVEY" will be more efficient. In this case, the following SQL statement can be used as follows:
SELECT...FROM...SUBSEARCH...WHERE AID = 27 AND CID = 4 AND NORM = 'RICK HARVEY'SELECT ... FROM ... SUBSEARCH ... WHERE AID = 27 AND CID = 4 AND NORM = 'RICK HARVEY'
여기서, "NORM = 'RICK HARVEY'"는 필터이고, AID = 27은 인증에 대한 속성 지정자이고, CID = 4는 주제에 대한 구성요소 지정자이다.Where "NORM = 'RICK HARVEY'" is a filter, AID = 27 is an attribute specifier for authentication, and CID = 4 is a component specifier for the subject.
상기 예에서, 구성요소 지정자(또는 색인) CID = 4를 가진 검색은 색인 CID = 4가 카드 소유자 이름을 나타내는 스트링인 부검색 테이블(4) 또는 부속성 테이블(6)로부터 알려져 있기 때문에 사용된다. 색인 CID가 4로 설정되고, 필터가 "NORM='RICK HARVEY'"인 질의는 Rick Harvey의 인증을 리턴해야 한다. 질의는 검색을 더 빠르게 하며 검색이 정확한 인증 또는 인증들을 찾을 확실성의 정도를 증가시키는 적절한 색인을 사용할 수 있기 때문에 더 낫다고 간주된다. 부검색 테이블 디자인에서 문자/기호 또는 숫자의 실제 호칭은 임의적이며, 특정 응용에 맞추기 위하여 어떠한 방법으로든 고안될 수 있음이 인지되어야 한다.In the above example, a search with component designator (or index) CID = 4 is used because index CID = 4 is known from subsearch table 4 or subsidiary table 6, which is a string representing the cardholder name. A query with index CID set to 4 and filter "NORM = 'RICK HARVEY'" should return Rick Harvey's certificate. Queries are considered better because they can make the search faster and use an appropriate index that increases the degree of certainty that the correct certificate or certificates are found. It should be appreciated that the actual designation of letters / symbols or numbers in the subsearch table design is arbitrary and can be devised in any way to suit a particular application.
도4를 다시 참조하면, 본 출원에 따른 방법의 선택적인 실행이 기술될 것이다. 본 실행에서, 검색테이블(3A)은 검사합 또는 지문을 포함하도록 배열된 검색 테이블이다. 검색 테이블(3A)은 어떤 속성 형태, 가령 2진수에 정확히 매칭되도록 사용되기 때문에, 검색 테이블에 있는 값은 지문 또는 검사합 값일 수 있다. 이는 저장되기 위하여 필요한 데이터가 더 적으므로, 검색 테이블에서의 저장을 보다 효율적으로 만든다.Referring again to Figure 4, an alternative implementation of the method according to the present application will be described. In this embodiment, the lookup table 3A is a lookup table arranged to contain a checksum or fingerprint. Since the lookup table 3A is used to exactly match any attribute type, such as binary, the value in the lookup table may be a fingerprint or checksum value. This makes the storage in the lookup table more efficient since there is less data needed to be stored.
스트링 속성String attribute
본 출원은 가령 스트링 데이터 형태와 같은 복잡하지 않은 데이터 형태에 대해 이용될 수도 있다. 스트링 데이터 형태의 예는 다중어 문장, 다중열 문장 단락, 및 다중열 우편 주소를 포함한다. 이 경우에, 단순한 문장인 속성 값은 다음과 같은 검색 테이블에 있는 단일 열에 저장될 수 있다:The present application may be used for non-complicated data types such as, for example, string data types. Examples of string data types include multiword sentences, multi-line sentence paragraphs, and multi-row postal addresses. In this case, the simple statement attribute value can be stored in a single column in the lookup table like this:
(1122, 33, 0, "MANY WORD SENTENCE")(1122, 33, 0, "MANY WORD SENTENCE")
여기서, 컬럼(또는 필드)은 (EID, AID, VID, NORM)으로 정의된다. WORD에 대한 스트링 데이터 형태를 검색하는 질의는 부분적 단어 "%WORD%"에 대한 열을 보는 것을 포함할 것이며, 이는 비교적 느린 검색으로 생각된다. 그러한 데이터의 검색을 향상시키기 위하여, 스트링은 부검색 테이블(4)에 구성요소로 저장되어 그 스트링"MANY WORD SENTENCE"는 다음과 같은 세 개의 열로 저장될 것이다:Here, the column (or field) is defined as (EID, AID, VID, NORM). A query that retrieves a string data type for WORD would involve looking at a column for the partial word "% WORD%", which is considered a relatively slow search. To improve the retrieval of such data, the string is stored as a component in the subsearch table 4 so that the string "MANY WORD SENTENCE" will be stored in three columns:
(xx, yy, zz, 0, 0, "MANY")(xx, yy, zz, 0, 0, "MANY")
(xx, yy, zz, 0, 1, "WORD")(xx, yy, zz, 0, 1, "WORD")
(xx, yy, zz, 0, 2, "SENTENCE")(xx, yy, zz, 0, 2, "SENTENCE")
여기서, 컬럼은 각각 (EID, AID, VID, CID, CVID, NORM)으로 정의된다. 이 예에서, 적용된 필터는 검색 테이블(3) 대신 부검색 테이블(4)을 사용할 것이고 다음의 SQL 명령문은 "WORD"에 대하여 검색하기 위하여 사용될 수 있다:Here, the columns are defined as (EID, AID, VID, CID, CVID, NORM), respectively. In this example, the applied filter will use the subsearch table (4) instead of the lookup table (3) and the following SQL statement can be used to search for "WORD":
SELECT...FROM SUBSEARCH...WHERE AID = 33 AND CID = 0 AND NORM = "WORD"SELECT ... FROM SUBSEARCH ... WHERE AID = 33 AND CID = 0 AND NORM = "WORD"
결과는 상기한 것처럼, 부분적 단어 "%WORD%"에 대해 검색하는 것보다 "WORD"의 정확한 매치에 대해 검색하고 있기 때문에 더 빠른 검색이 될 것이다.The result will be a faster search because you are searching for the exact match of "WORD" rather than searching for the partial word "% WORD%" as described above.
선택적 색인Selective index
본 출원은 또한 어떤 형태의 질의에 대해 성능을 향상시킬 목적으로 주어진 속성에 하나 이상의 색인을 더할 수 있다는 문제에 일반적인 적용가능성을 가진다. 색인을 더하는 것은 예를 들면 역 색인과 같은 속성을 찾기 위하여 상이한 경로를 제공한다. 이 경우에, 부검색 테이블에 하나의 구성요소만이 존재할 수 있다. 실제로 구성요소는 그 속성 값의 선택적인 형태를 나타낸다.The present application also has general applicability to the problem of adding one or more indices to a given attribute for the purpose of improving performance for some form of query. Adding an index provides a different path to find an attribute, for example an inverse index. In this case, only one component may exist in the subsearch table. In fact, a component represents an optional form of its attribute value.
특히, 부검색 테이블은 값의 역 형태를 저장하며 그럼으로써 속성에 대한 역 색인을 갖는 효과를 줌으로써, "ends in" 검색에서의 문제 또는, 저장된 데이터의 초기 부분이 (구별된 이름, MAC 주소, 전화번호, 완전히 적합화된 파일이름, 등과 같은) 비교적 상당히 반복적으로 되는 값을 검색한다는 문제에 대처할 수 있다.예를 들어, 도5를 참조하여, 전화 번호(31)는 검색 테이블(32)에 넣어지며, 전화번호는 또한 역 형태로 부검색 테이블(33)에도 넣어진다. 물론 출원의 이 특징은 역 형태에 한정되지 않으며, 가령 전화번호의 영역 코드를 개별 구성요소로 처리하는 것과 같은, 주어진 상황 또는 검색에 대해 적절한 데이터 엔트리의 어떤 다른 적절한 형태일 수 있다.In particular, the subsearch table stores the inverse of the values and thus has the effect of having an inverse index on the attribute, so that problems with "ends in" searches or the initial part of the stored data (such as distinguished names, MAC addresses, Addressing a relatively fairly repetitive value (such as a telephone number, fully qualified filename, etc.) can be addressed. For example, referring to FIG. 5, telephone number 31 is stored in lookup table 32; The telephone number is also put in the sub-search table 33 in reverse form. Of course, this feature of the application is not limited to the inverse form, but may be any other suitable form of data entry appropriate for a given situation or search, such as, for example, treating the area code of a telephone number as a separate component.
전형적으로 전화번호의 끝 부분인 전화 연장부분에 대해 검색할 때, 검색은 "*1234"(별표는 와일드카드)에 대한 스트링 검색으로 표현될 수 있다. 만약 검색 테이블(32)만이 사용된다면, 검색의 실행은 색인이 "시작하는" 또는 "정확한" 검색에 대해서 가능하기만 하므로 느려질 수 있다. 그러나, 역으로 부검색 테이블(33)에 저장된 속성을 가지고, 부검색 테이블은 가령 "4321*"과 같은 대응 검색을 행하기 위하여 사용될 수 있으며, 이는 매우 빠르다고 생각된다.When searching for a telephone extension, typically the end of a telephone number, the search can be expressed as a string search for "* 1234" (wildcard is an asterisk). If only the lookup table 32 is used, the execution of the lookup can be slow because the index is only possible for "starting" or "exact" searches. However, with the attributes stored in the subsearch table 33 conversely, the subsearch table can be used to perform a corresponding search, for example "4321 *", which is considered very fast.
보다 구체적으로, 검색 테이블(32)은 주어진 사람에 대하여 다음으로써 전화번호를 저장할 수 있다:More specifically, lookup table 32 may store phone numbers for a given person as:
(1122, 44, 0, "98791234")(1122, 44, 0, "98791234")
그리고, 부검색 테이블(33)에서 다음으로 저장될 것이다:Then, it will be stored in the subsearch table 33 as follows:
(1122, 44, 0, 0, 0, "43219789")(1122, 44, 0, 0, 0, "43219789")
그리고, "1234"로 끝나는 전화번호를 찾기 위한 SQL 명령어는 다음의 형태일 수 있다:And, the SQL command to find a phone number ending in "1234" can be of the form:
SELECT...FROM SUBSEARCH...WHERE AID = 44 및 CID = 0 및 NORM LIKE '4321%'SELECT ... FROM SUBSEARCH ... WHERE AID = 44 and CID = 0 and NORM LIKE '4321%'
부검색 테이블(33)을 검색하는 것은 검색 테이블(32)을 검색하는 것 보다 빨리 원하는 기록을 가져와야 하는데, 이는 검색이 더 빠른 검색인 "4321"에 대한 (즉, 이로써 시작하는) 초기 매치에 대한 것이기 때문이다.Searching the subsearch table 33 should bring up the desired record faster than searching the search table 32, which means that the search is for an initial match (i.e. starting with) for "4321", which is a faster search. Because it is.
선택적인 색인의 또 다른 예는 2진 값, 예를 들면 사진 또는 음성의 검사합을 저장하는 것이다.Another example of an optional index is to store a checksum of a binary value, for example a picture or voice.
선택적인 색인의 또 다른 예는, 가령 사진의 더 작은 표현과 같은, 데이터의 더 작은 표현인 지문을 저장하는 것이다.Another example of an optional index is to store fingerprints, which are smaller representations of data, such as smaller representations of photographs.
비록 본 출원이 X.500 디렉토리 서비스 시스템을 참조하여 개시되었지만, 본 출원은 여기에 개시된 시스템 및 방법에 한정되지 않아야 한다. 명세서를 전체적으로 읽음으로부터 이해되어질 것처럼, 본 출원은 수많은 다른 디렉토리 서비스 시스템에 적용되거나 실행될 수 있으며 다양한 방법을 사용할 수 있다.Although the present application has been disclosed with reference to an X.500 directory service system, the present application should not be limited to the systems and methods disclosed herein. As will be understood from reading the specification as a whole, the present application can be applied to or implemented in numerous other directory service systems, and can use a variety of methods.
Claims (28)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AUPQ6785A AUPQ678500A0 (en) | 2000-04-07 | 2000-04-07 | Directory searching apparatus and method(s) |
AUPQ6785 | 2000-04-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20030045666A true KR20030045666A (en) | 2003-06-11 |
Family
ID=3820880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020027013452A KR20030045666A (en) | 2000-04-07 | 2001-04-06 | Directory searching methods and systems |
Country Status (10)
Country | Link |
---|---|
EP (1) | EP1287446A1 (en) |
JP (1) | JP2004506963A (en) |
KR (1) | KR20030045666A (en) |
CN (1) | CN1461446A (en) |
AU (1) | AUPQ678500A0 (en) |
BR (1) | BR0109892A (en) |
CA (1) | CA2405058A1 (en) |
IL (2) | IL152132A0 (en) |
WO (1) | WO2001077902A2 (en) |
ZA (1) | ZA200207743B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101014234B1 (en) * | 2004-03-31 | 2011-02-14 | 엘지전자 주식회사 | Apparatus and method for generating pulsating noise in audio device |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4186973B2 (en) * | 2005-09-28 | 2008-11-26 | ブラザー工業株式会社 | Facsimile transmission apparatus, facsimile transmission program, facsimile transmission method, and facsimile transmission system |
CN101447981B (en) * | 2008-04-03 | 2012-11-28 | 中兴通讯股份有限公司 | Client-server interaction method based on LDAP protocol and system thereof |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5291583A (en) * | 1990-12-14 | 1994-03-01 | Racal-Datacom, Inc. | Automatic storage of persistent ASN.1 objects in a relational schema |
JPH10505690A (en) * | 1994-09-01 | 1998-06-02 | データクラフト テクノロジーズ プロプライエタリー リミテッド | X. 500 System and Method |
EP0823092A1 (en) * | 1995-04-24 | 1998-02-11 | Aspect Development, Inc. | Modeling of object-oriented database structures, translation to relational database structures, and dynamic searches thereon |
US5745900A (en) * | 1996-08-09 | 1998-04-28 | Digital Equipment Corporation | Method for indexing duplicate database records using a full-record fingerprint |
US6016497A (en) * | 1997-12-24 | 2000-01-18 | Microsoft Corporation | Methods and system for storing and accessing embedded information in object-relational databases |
-
2000
- 2000-04-07 AU AUPQ6785A patent/AUPQ678500A0/en not_active Abandoned
-
2001
- 2001-04-06 IL IL15213201A patent/IL152132A0/en active IP Right Grant
- 2001-04-06 WO PCT/US2001/011587 patent/WO2001077902A2/en active IP Right Grant
- 2001-04-06 CA CA002405058A patent/CA2405058A1/en not_active Abandoned
- 2001-04-06 KR KR1020027013452A patent/KR20030045666A/en not_active Application Discontinuation
- 2001-04-06 CN CN01808811A patent/CN1461446A/en active Pending
- 2001-04-06 BR BR0109892-6A patent/BR0109892A/en not_active IP Right Cessation
- 2001-04-06 JP JP2001575281A patent/JP2004506963A/en active Pending
- 2001-04-06 EP EP01924878A patent/EP1287446A1/en not_active Ceased
-
2002
- 2002-09-26 ZA ZA200207743A patent/ZA200207743B/en unknown
- 2002-10-06 IL IL152132A patent/IL152132A/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101014234B1 (en) * | 2004-03-31 | 2011-02-14 | 엘지전자 주식회사 | Apparatus and method for generating pulsating noise in audio device |
Also Published As
Publication number | Publication date |
---|---|
WO2001077902A3 (en) | 2003-09-12 |
CA2405058A1 (en) | 2001-10-18 |
ZA200207743B (en) | 2004-07-08 |
AUPQ678500A0 (en) | 2000-05-11 |
IL152132A (en) | 2008-06-05 |
EP1287446A1 (en) | 2003-03-05 |
JP2004506963A (en) | 2004-03-04 |
IL152132A0 (en) | 2003-05-29 |
WO2001077902A2 (en) | 2001-10-18 |
BR0109892A (en) | 2004-07-06 |
CN1461446A (en) | 2003-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7685142B2 (en) | Directory services system and methods with mapping in database tables | |
US9171100B2 (en) | MTree an XPath multi-axis structure threaded index | |
US8065338B2 (en) | Directory searching methods and systems | |
US8166075B2 (en) | Method for mapping an X500 data model onto a relational database | |
US20070156791A1 (en) | File system dump/restore by node numbering | |
Giancarlo | The suffix of a square matrix, with applications | |
CA2325252C (en) | Maintaining very large indexes supporting efficient relational querying | |
KR20030045666A (en) | Directory searching methods and systems | |
Goyal et al. | Scheduling of page fetches in join operations using B/sub c/-trees | |
AU2001251490B2 (en) | Directory searching methods and system | |
JP2003030040A (en) | Hush indexes of object database system and non-unique index management system | |
Shanthi et al. | Applying SD-tree for object-oriented query processing | |
van Kreveld et al. | Concatenable segment trees | |
AU2001251490A1 (en) | Directory searching methods and system | |
Shin et al. | A new signature scheme for query processing in object-oriented database | |
Srinivasa et al. | GRACE: A graph database system | |
Shin et al. | Combining C-signature with path dictionary for query processing of nested objects in OODBS | |
Gu et al. | Automatically Converting Linear Text to Hypertext: A Case Study | |
Shin et al. | S-signature: a new scheme for efficient query processing of complex objects in OODB | |
Davidson | Building the Basic Table Structures | |
Gardarin et al. | SIOUX: An efficient index for processing structural XQueries | |
AU6175399A (en) | Directory services system and methods with mapping | |
Itai et al. | The JS Storage Engine | |
Dossin | XML Databases | |
AU6175499A (en) | Directory services searching system and methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |