JPH10505690A - X.500システムおよび方法 - Google Patents

X.500システムおよび方法

Info

Publication number
JPH10505690A
JPH10505690A JP8508362A JP50836296A JPH10505690A JP H10505690 A JPH10505690 A JP H10505690A JP 8508362 A JP8508362 A JP 8508362A JP 50836296 A JP50836296 A JP 50836296A JP H10505690 A JPH10505690 A JP H10505690A
Authority
JP
Japan
Prior art keywords
entry
search
database
eid
alias
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
JP8508362A
Other languages
English (en)
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
Priority claimed from AUPM7842A external-priority patent/AUPM784294A0/en
Priority claimed from AUPM9586A external-priority patent/AUPM958694A0/en
Application filed by データクラフト テクノロジーズ プロプライエタリー リミテッド filed Critical データクラフト テクノロジーズ プロプライエタリー リミテッド
Publication of JPH10505690A publication Critical patent/JPH10505690A/ja
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4517Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using open systems interconnection [OSI] directories, e.g. X.500
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4523Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using lightweight directory access protocol [LDAP]
    • 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
    • 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
    • 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
    • Y10S707/99934Query formulation, input preparation, or translation
    • 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/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

(57)【要約】 本発明はSQL製品を使用してX.500を実施する上での問題を解決するものである。本願はX.500サービスを行うよう、リレーショナルデータベースにX.500を使用すること、データベースのデザインおよびデータベースの使用法を開示するものである。特にこの開示はRDBMS(リレーショナルデータベースマネージメントシステム)を使用する実施例に関するものである。ここに開示された発明はサービスのモデル化に基づいて固定された組の照会/サービスを使用して任意データを処理することにある。別の発明はX.500サービスを満足するようリレーショナル照会を使用してディスクをベースとするモデルを実現することにあり、RDBMSの利点を利用できるようにするものである。更に、本発明は秒以下の速度で実行でき、データベースのサイズ、DITの形状、データのタイプ、エリアスを含むサービスの複雑さによって比較的影響されないSQLをベースとするX.500アプリケーションを提供するものである。

Description

【発明の詳細な説明】 X.500システムおよび方法 分野 本発明は、X.500サービスを実行するのにリレーショナルデータベース、 データベースデザインおよびデータベースの利用にX.500を適用することに 関する。特に本発明は、RDBMS(リレーショナルデータベースマネージメン トシステム)を使用する実行法に関する。本発明はデータベースアプリケーショ ンのテーブル構造および作動方法にも関する。 従来技術 X.500は電子ディレクトリのための国際規格「CCITT89」である。 これら規格は極めてフレキシブルで汎用性のあるディレクトリのサービス、プロ トコルおよび情報モデルを定めており、X.500はデータがかなり固定的(例 えば電話番号帳)であるが、(例えば組織または国内で)配布する必要があり、 拡張性があり(例えば店舗名、住所、仕事の肩書、装置等)、オブジェクト指向 であり(すなわちデータに関する規則を実行するよう)、および/または遠隔地 からアクセスする必要がある場合の情報システムに適用できる。 リレーショナルデータベースマネージメントシステム(RDBMS) (RDBMS)はデータを記憶し、操作するためのアプリケーション用の設備 を提供する。これらのシステムによって得られる多数の特徴の一部として、デー タの完全性、一貫性、同時性、インデクシング機構、照会の最適化、リカバリー 、ロールバック、安全性が挙げられる。これらのシステムは性能のチューニング 、インポート/イクスポート、バックアップ、監査およびアプリケーション開発 のための多くのツールも提供する。 RDBMSはデータの最も大規模なマネージャーのうちの好ましい選択案であ る。このシステムは容易に利用でき、信頼性が高く、有効なマネージメントツー ル多くを含むことが知られている。RDBMSを導入した大きなベースが存在し ているので、これらシステムを作動させるのに現在では専門家が多数おり、人お よび方法に多大な投資がなされており、よってデータマネージャーはこれを使用 して新しいシステムを得ることを期待している。ほとんどのリレーショナルデー タベース製品は工業規格SQL(構造化照会言語)をサポートしている。 複雑なデータアイテムを任意に処理するためのデータの拡張性および能力を提 供するオブジェクト指向システムへの動きもある。更に多くの会社および政府部 門は相互接続されていない多数のデータベースアプリケーションを有しており、 データベースアプリケーションがそれらのデータを統合し、それらデータの管理 を簡略化できるようにする解決案をデータマネージャが求めている。X.500 およびそれに関連する規格は、これを達成できるようにするフレームワークおよ びある程度の機能性を提供するものである。X.500が国際規格であるという 事実は、会社間および異なる国の間でデータを接続できることを意味している。 従って、課題は現在のSQL製品の安定性、耐久性、携帯性およびコスト有効 性と組み合わせたリレーショナルシステムに固有のスケーラビリティおよび性能 を達成できるよう、データマネージャーのニーズを解決し、SQL製品を使用し ながらオブジェクト指向システムのすべてのフレキシビリティを備えたX.50 0を実行することにある。 これまでにかなりの時間にわたって上記課題を解決する試みが多数なされてき た。しかしながら、いずれの試みも市場に商業的に受け入れられることが証明さ れた製品を生み出すことはなく、よって、市場では長い間解決したいというニー ズがある。 図1は、1994年4月付GOSIPNews版第4号(出典:オープンシス テムのためのセンターによりオーストラリア内で配布された「インターオペラビ リティプロダクト」)からのアブストラクトを示し、このアブストラクトは現在 利用できるX.500製品をリストアップしている。これら製品のいずれも基礎 データ憶手段としてSQLデータベースを使用しておらず、従って、いずれの製 品もSQL RDBMSを使用してX.500を実行したいという市場のニーズ を解決することに成功していない。 IFIP WG6.6インターナショナルシンポジウム議事録(ISBN:0 444889 167)は、「X.500ディレクトリシステムエージェントの ためのリレーショナルデータベースデザイン」と題する、フランソワ・ペルチョ ンド、クノ・ランツおよびベルナード・プラットナー両氏により提供された論文 を発行している。多くの従来のシステムと同じように、この論文に開示されてい るディレクトリシステムは、特にデータベースが比較的広範である場合、比較的 作動が遅く、X.500の実行、例えばエリアス、サブサーチおよびエントリー 情報の点で不完全である。 C・M・R・レウング氏による、1991年8月22〜24日のIREE議事 録ISBN:0909 394 253には別の試みが開示されている。この文 献では1つのエントリーテーブルが各ディレクトリオブジェクトに関する詳細な 情報を保持するようなデータベース方式を開示しているが、これもX.500を 実行する上で不完全である。 この方法は、多数の教科書および当業者の知識、例えばJ・ランボー外による 「オブジェクト指向モデリングおよびデザイン」(ISBN:0−13−630 054−5)によって疑問視されており、この論文のパラグラフ17.3.8に は「1つのテーブルにすべてのエンティティを挿入することはリレーショナルデ ータベースデザインに対する良好なアプローチとはならない」と明瞭に述べられ ている。 発明の概要 本発明の課題は、SQLまたはその他のリレーショナル言語をサポートするR DBMS内でX.500を実行する上での問題を解決することにある。 本願はSQLまたは他のリレーショナル言語をサポートするRDBMSにおけ るX.500規格を実行することに関連する多数の発明を開示せんとするもので ある。 本発明の範囲は請求の範囲および本明細書にアウトラインが述べられている。 本明細書では出願時にはSQLは最も普及したリレーショナル言語であり、リ レーショナル言語の1つのフォームしかないが、本発明の意図はSQL以外の他 のフォームのリレーショナル言語に適用せんとするものである。 これら発明は次の見出しと関連付けることができる。 1.基本的デザイン 2.概念的デザイン 3.概念的方法 4.論理的デザイン 5.論理的方法 6.物理的デザイン 7.実行例 X.500規格はディレクトリをどのように実行すべきかを定めているわけで なく、その能力およびふるまいを定めているにすぎない。実行の問題を解決する 1つのキーは、任意のデータを演算できる固定された組のサービス(すなわち追 加、変更、サーチ等)をX.500が定義するよう実現することにある。 従来技術に関連した問題は、リレーショナル理論モデル化をデータモデル化ア プローチからサービスモデル化アプローチへ反転するように記述できるユニーク なアプローチによって解消できることが、これまでに判っている。すなわち固定 された組のデータに対する任意の照会を処理する問題から、固定された組の照会 /サービスを使用する任意のデータを処理する現在のアプローチへ反転する方法 である。 (各データタイプの代わりに)各サービスをモデル化し、(各データタイプと の関係の代わりに)各サービスとの関係を定義する。 X.500サービスを満足するようにリレーショナル照会を使用するサービス のモデル化の実行により、RDBMSの利点が得られる。 このアプローチの利点は多数あり、その概要は図3に示されている。これら利 点の一部として次のものが挙げられる。 ・スタート時間が比較的速いこと。 ・メモリ常駐システムに対するメモリ条件を低減できること。 ・任意のSQLデータベース上でX.500をベースとすることができ、よっ て現在のマネージングシステムにおける製品、専門家および手順に対する投資が 無駄とならないようにできること。 ・サイズと比較的無関係に、かつデータタイプの複雑さとは比較的無関係に性 能が達成できること。 ・どのデータタイプも包括的に処理され、どのデータタイプもインデックスを 有し、インデックス化の結果、メモリ内にディレクトリの大部分をキャッシング することなく、ディレクトリを効率的にサーチできるようになること。 ・1つの特定の照会を満足するのに1つのインデックスしか利用できない従来 技術と異なり、大部分の情報をメモリにシステム的に集中キャッシングし、サー チすること。 ・種々の対照化シーケンスを有し得る異なる言語(例えばスペイン語、ヘブラ イ語および漢字)をサポートできること。シングル、ダブルまたはその他のバイ トのキャラクターの組をサポートできること。 ・I/Oを最小にし、I/Oを効率的に検索するのにディスクをベースとする モデルを使用すること。 ・複雑なX.500サーチをサービスできること。 ・性能および耐久性と妥協することなく、これまで可能であったサイズよりも より大きいサイズのX.500データベースを構築できること。このデータベー スは小さくしたり大きくしたりできる(25万個、100万個またはそれ以上の 数のエントリー)。 ・最適なテーブルデザインによりディスクスペースの無駄を最小にできること 。 ・リレーショナルデータベースの開発に年間延べ何百人も削減でき、高性能ア プリケーション開発のために証明済みの信頼性、完全性、安全性およびツールを 備えた、工業的に強力なデータベースを使用できること。 このようなユニークなアプローチに基づき、下記の説明では現在のX.500 システムの概略を略図で示す図2Aおよび2Bを参照し、順に多数の発明を詳細 に説明する。ここに開示するテーブルおよびコラム、名称、コラムおよび数値の 順は概観するために任意に示したものである。ここに開示したコラムの数は好ま しい作動可能な条件を示す。追加されたコラムは本明細書で意図するテーブルの 用途を変えるものではない。 1.基本的デザイン X.500の従来の実行の試みではX.500の条件および機能性とSQLと の間の比較的基本的な構造および作動上の差を克服できなかった。X.500規 格は性質上特殊な構造となっているが、一方、SQLはリレーショナル構造のテ ーブルに対して演算するよう設計されている。 代表的なリレーショナルデータベースアプリケーションに対するデータの性質 は周知となっている。すなわちテーブルは多数のコラムから成り、各コラムは特 定のデータタイプに関するデータを含む(表B1参照)。記憶できる異なるデー タのタイプはテーブルのコラムに限定される。データのタイプはデータベースに よってサポートされるタイプ(例えばストリング、数字、金額、日付)に限定さ れる。データベースはデータベース自体によっては理解されないが、アプリケー ションによっては理解できるフォームのデータ、例えば2進データも記憶できる 。 新しいデータのタイプ(例えば携帯電話番号)を追加する必要がある場合には 表に新しいコラムを追加しなければならない。これによりデータのテーブルの変 更を実行することが容易でないという問題が生じる。更に、新しいデータのタイ プがあまり使用されていない場合(組織の1%よりも少ない場合)、かなり冗長 なデータ記憶システムが生じることとなる。表B2を参照のこと。 基本的にはX.500の使用における発明は、 雇用者番号 名前 年令 給料 と記載される従来のX.500の属性を タイプ シンタックス 値 として表示することにより、拡張性を克服することにある。 後者の表示は拡張可能な表示になり、よってSQLによる実行に適合している 。後者の表示はメタデータとして知られており、このメタデータの「値」は2進 とすることができる。 上記基本デザインに基づく別の解決方法は、この基本デザインをX.500に 適応させることである。この適応化は基本デザインにオブジェクトネームおよび ペアレントネームを追加するプロパティテーブルを設けることによって実現され ている。これまで示した実行法により、次のような別の利点が得られる。 a.フィルターの複雑さから独立していること。すなわち開示した実行法は SQL内に設けられた照会オプティマイザーを利用できるので、本発明を実施す る各プロプリエタリデータベース内で照会オプティマイザーをレプリケートする 必要はない。 b.サイズから独立していること。すなわち開示した実行方法は能力を拡大 できる。 c.ツリーの深さと独立していること。開示した実行方法は階層的な比較の 可能性を有している。 d.高性能であること。タイプコラムにインデックスを追加する場合、各タ イプごとにインデックスを付ける。 2.概念的デザイン 従来技術はX.500の条件である拡張性のための構造となっていなく、オブ ジェクト指向ではなく、階層的でもないので、X.500を実行する上で困難で あった。この問題は、プロパティテーブルを機能的に分解し、よって概念的デザ インと称されるものを創ることにより1つのフォームで解決される。 概念的デザインは次のうちの少なくとも1つを提供することにある。 1.テーブルに行を加えることにより、このテーブル内に新しい属性のタイ プを定義できるようにすることにより、拡張性を解決した属性テーブル。 2.各オブジェクト内に属性を定めるオブジェクトテーブル。 3.オブジェクト間の関係を定める階層テーブル。 別の発明ではこの問題は図2Aおよび2Bに記載されている表に従うテーブル 構造を設けることによって解決される。 更に別の発明は、オブジェクトテーブルの値のコラムを正規の値および未処理 の値のコラムと置換するためのシステムを現在のX.500に設け、および/ま たは階層テーブル内のRDNコラムを正規ネームおよび未処理ネームコラムと置 換することによりデータトレランスの問題を解決することにある。 更にエリアスを収容する上での従来技術の問題は、階層テーブル内にエリアス のコラムを設けることにより現在のX.500システムで解決される。 このエリアスのコラムはそのエントリーがエリアスであることを示すようフラ グが付けられる。 エリアスコラムをエリアスコラムおよびA−EIDコラムと置換することによ って更に精密にできる。A−EIDはエリアスがどこをポイントしているかにつ いての情報を提供するものである。 階層テーブル内のペアレントコラムを、ペアレントコラムおよびパスコラムと 置換することによって更に精密にできる。 このパスコラムはX.500サーチを実行する上での問題をエリアスおよびサ ブツリーで解決するものである。このパスは次の少なくとも2つのユニークな性 質を有する。a)階層内の絶対的位置を決定すること、およびb)そのプリフィ ックスによりエントリーが所定のサブツリー内にあるかどうかを判断するのに使 用される。 3.概念的方法 次の詳細な説明には、下記のことを含む概念的デザインに質問を行う多数のユ ニークな方法が開示されている。 a)SQLステートメントのシーケンス内にX.500サービスをマッピン グすること、 b)サーチストラテジーとはパスまたはペアレントコラムを使用してサーチ エリア上でフィルタを使用することであり、および/または、 c)A−EIDコラムにおいてエリアスポイントをどこにキャッシュするか をナビゲーションする間に、エリアスを処理する際、 d)サーチ中にエリアスを処理する際にサーチが必要なツリーのエリアを決 めるベースオブジェクトのユニークな組を探し、ツリーの各エリアに対し上記b )を適用する。 別の発明は、X.500オブジェクトIDからAIDを探すための入力データ に対し属性テーブルを使用し、データベースから読み出された出力データに対し てはこの逆を行うことにより実施される。 更に、区分入力される名前に対しては、この名前は適当なEIDにナビゲート され、X.500が必要とするように各サーチが実行される。 更に、サーチに対しシングルパス分解によりパスコラムを使ってフィルタおよ びサブツリーサーチを行うことができる。1つの方法は、任意のサブツリーに対 し任意のフィルタを同時に適用するよう、パスフィールドを使用することである 。エリアスの複雑さはユニークに分解されたサブツリーに対し上記方法を適用す ることによって処理される。 更に別のユニークな方法は、各エントリーのパスをストリングとして記憶する ことである。次に、各パスにペアレントエントリーのパスをプリフィックスとし て付ける。このことはサーチサービスにおけるフィルターに対して有効である。 4.論理デザイン 論理デザインはX.500サービスコンポーネントを独立させる実施による概 念的デザインのサービス分解に基づくものである。これから得られる利点は次の とおりである。 1.多くのテーブルを設けるにつれ、テーブルごとのインデックスの数が減 少する。主要インデックスが最も効率的(速度、サイズ)であり、二次的インデ ックスは大きなオーバーヘッド(速度、サイズ)を有し得る。 2.テーブル内のデータをクラスター状にできる。主要キー(記憶構造)の 結果としてクラスターが生じ、よってディスク上でそのキーの回りにデータを編 成できる。例えばサーチテーブルに対しては姓名をクラスター状にできる。 3.マネージメント--より小さいテーブルは管理が容易であり、すなわちよ り速くインデックスを更新し、統計を集め、監査し、バックアップできる等であ る。 4.I/Oが少なくなる--行が少なくなることによりスピードが改善され、 このことはページ当たりの行が多くなり、よってより少数のI/Oを演算できる 。 5.論理的方法 次の詳細な説明には論理的デザインテーブルに質問する多数のユニークな方法 が開示されている。 更に、1つの方法として属性テーブルをキャッシングする方法がある。従って 、(初期ローディングを除けば)データベースにはSQLステートメントが出さ れない。本X.500システムではメモリ内で変換を実行する。これにより実質 的な速度上の利点が得られる。 更に、データベースのロールバックを回避する有効化がメモリ内で実行される 。このようなロールバックは時間とシステムを費やすものである。 更に、任意フィルターに対しダナミックなSQL等価体が構築される。これに よりX.500サーチ内で任意の複雑性が可能となる。 サーチ結果に対しても本システムはSQLのセットオリエンテーション照会を 利用し、一括行処理を回避する。従って、サーチ結果をメモリ内でパラレルに組 み立てることができる。 6.物理的デザイン コラム幅およびキーサイズの制限を克服し、スペースの最適化を達成するため に、新しいテーブルおよび新しいコラムが導入される。 次のテキストは次に概要を述べる発明の実施例を開示するものである。 1.基本デザイン 図2Aを参照すると、基本デザインはリレーショナルテーブル内でX.500 の拡張性のあるオブジェクト指向の階層的性質を示す基本的問題を解決するもの である。このセクションでは、下記の表1に示されるように単一のテーブルによ って基本テーブルデザインを表示できることが(例をもって)開示される。 この章および次の章全体では各テーブル内のすべてのコラム名およびそれらの 位置は任意である。意図は、これらが何を含み、どう使用するかを定義するもの である。 1.1 拡張性 代表的なリレーショナルデータベースアプリケーションに対しデータの性質は 周知である。表は多数のコラムから成り、各コラムは特定のデータタイプに関連 するデータを含む(表1.1a)この表自体が記述的である。データアイテム間 の関係は同じ列内に含まれることによって暗示される(このことがリレーショナ ル理論の基礎である)。 しかしながら、異なるデータタイプの数はテーブルのコラムの数に限定されて いるので、上記アプローチには拡張性がない。新しいデータタイプ(例えば移動 電話番号)を追加する必要がある場合、テーブルに新しいコラムを加えなければ ならない(表1.1b)。このテーブルにアクセスするアプリケーションはこれ に明瞭な照会をするのに更新する必要がある。 実際には別の問題もある。新しいデータのタイプがよく使用されない場合(例 えば組織のうちの1%より少ない者しか携帯電話をもっていない場合)、テーブ ルは空欄が増すこととなる(すなわちある人が携帯電話をもっていない場合、列 /コラムの入力は空欄となる)。更にデータベースのタイプはデータベースによ ってサポートされているタイプ(例えばストリング、数値、金額、日付等)に限 定される。 解決案は、データのタイプを包括的なものとして取り扱うことである。本発明 は任意の属性(例えばXOM[X/Open Object Management]API[Applicatio n Programing Interface])をタイプとシンタックスと値との組み合わせとして 示す方法を採用するものである(表1.1c参照)。 1.2 オブジェクト指向 X.500は任意の数の属性を含むことができるオブジェクト(人、組織等) を定義する。テーブル内には多くのオブジェクトを記載しなければならないので 、各オブジェクトを区別するようなメカニズムが必要である。この目的のため、 テーブルにはオブジェクト名のコラムが追加される(表1.2a参照)。 上記方法は任意の数の属性をエントリー内に割り当て(関連づけできるように する)。これら属性は任意の複雑さとすることができる(例えばマルチラインの 郵便の宛て先を処理できる)。コラムの数が固定されている場合、アプリケーシ ョンを再定義することなく任意のオブジェクトに新しい属性を追加できる。新し い属性を追加する場合、エントリーを読み出すアプリケーションは追加の列を取 り戻す。 1.3 階層的 階層的システムを表示する方法(例えばパーツイクスプロージョン)は親子の 組み合わせを使用することである(表1.3a参照)。 X.500はそのオブジェクトを階層的となるように定義する。オブジェクト 間の関係はツリー構造であり、ここでは各オブジェクトはペアレントのオブジェ クトを有し、各ペアレントは0またはそれ以上の子を有し得る。この関係はペア レントオブジェクトのネームを記憶するのに使用されるペアレントネームのコラ ムを加えることにより、一般的PROPERTYテーブルに示すことができる。 ツリーのルート部にはペアレントがないことに留意されたい。従って、Chris およびAlana の両者がデータクラフト社で働き、データクラフト社がルートのチ ャイルドである場合、Chris とAlana はデータクラフト社のチャイルドであり、 データクラフト社はChris とAlana のペアレントであるということができる。 2.概念的デザイン セクション1において、単一プロパティテーブルによってX.500の拡張性 のある、オブジェクト指向の階層的性質を示すことができる(表2aを参照のこ と)。 図2Aを参照すると、このセクションでは下記に示す3つの表(例えば表2b および表2a参照)を使用することによってX.500の機能全体を表示できる ことが判る。 この概念的デザインはリレーショナルテーブル内で完全なX.500機能を実 行することにより主要な問題を解決するものである。主な各デザインの問題が示 される際に、この解決案を示すよう例が示される。 2.1 機能上の分解 プロパティテーブル(図2A)は、好ましくは次のようなX.500の階層的 な、オブジェクト指向の拡張性のある性質を表す別個の表に分解できる。 すなわち、 ・オブジェクト間の構造的な関係を決める階層テーブル ・各オブジェクト内の属性値を定めるオブジェクトテーブル ・異なる属性タイプを定める属性テーブルである。 これらテーブルは機能的分解と称されるプロセスから得られる。 テーブル間の関係を相関化する問題を解決するために、任意の数値識別子が導 入される。EIDすなわちエントリー識別子は各オブジェクトと、その階層情報 とを相関化する。AIDすなわち属性識別子はオブジェクトテーブル内の各値と 、 その属性情報とを相関化するものである。 プロパティテーブル内の繰り返されるグループ(タイプ−シンタックスおよび オブジェクトネーム−ペアレントネーム)は既に除かれているので、このデザイ ンは極めて効率的であると考えられる。また、SQLでは接続コラムは簡単な整 数となる。 2.2 X.500属性 X.500属性はエンドシステム間でデータを伝送する際に変換されるプロト コル識別子を有する。これら識別子は国際的に定義され、OBJECT IDENTIFIERS( オブジェクト識別子)と称される(例えば2.5.4.4は姓名のストリングを 示す)。従って、X.500オブジェクト識別子と内部属性識別子との変換を行 えるように、属性テーブルにオブジェクト識別子のコラムを加えることができる 。 更に、X.500により属性は任意の数の値を有することができる(例えば移 動電話の番号を第2の電話の番号と扱うことができる)。したがって、オブジェ クトテーブル内の属性内の値を識別するように、値識別子すなわちVIDが導入 される。 2.3 X.500ネーム X.500では各エントリーはエントリーをネーミングするために1つ以上の 属性値(区分値)を使用する。区分値にフラグを付けるため、オブジェクトテー ブルに区分用コラムが追加される。 これら区分値は組み合わされてエントリーの名称を定める相対的な区分ネーム (RDN)を形成する。階層テーブル内のネームコラムはこのRDNを記憶する 。これによりオブジェクトテーブル内の区分値からRDNを構成する必要をなく す最適化がなされる。 1つのエントリーはルート部から下方の先行者のRDNおよびオブジェクト自 体のRDNから成る区分ネーム(DN)により一義的にネーミングされる。改良 点は、ツリー内のエントリーの絶対的位置をEIDのリストとして定義する階層 テーブルへパスコラムを加えることである。パスは次の3つの重要な性質を有す る。 1)DNを高速で構成できる(EDIリストはRDNのすべてを定義する) 。 2)高速サブツリーサーチを可能にする(概念的方法を参照)。 3)DNから独立している(DN内のRDNはパスに影響することなくネー ミングできる)。 2.4 X.500エリアス X.500はエリアス(別名)の概念を有する。エリアスオブジェクトは別の エントリーを有効にポイントするので、そのエントリーのための別のネームを提 供する。従って、階層テーブルにはエントリーフラグが付けられる。ナビゲーシ ョン中にエリアスが発見されると(すなわち供給されたDNがエリアスを含むと )、オブジェクトテーブルからエリアス値を読み取らなければならない。このエ リアスのDNは元のエントリーのナビゲーションを続けることができる前にエリ アスがポイントする点まで分解しなければならない。 改良点は、エリアスがポイントする場所を記憶するようにエリアスのついたE IDコラムすなわちA EIDを使用することである。これによりエリアスによ って繰り返しナビゲートすることが不要となる。 2.5 X.500データトレランス どのX.500属性も(国際的に定義された)シンタックスを有する。X.5 00属性シンタックスは各属性をどのように処理すべきかを定義する。すべての ストリング状のシンタックス(例えばプリント可能なもの、数値等)では、不要 なスペースは無視すべきであるとされる。あるシンタックスではケースは重要で なく(例えばケース無視ストリングおよびケース無視リスト)、よってネーム「 Chris Masters」、「Chris MASTERS」および「ChRisMaSTeRS」は同一であると考 える。 比較をするため(例えば特定の値のサーチのため)、正規化されたフォーム( 例えば「CHRIS MASTERS」を形成するためにシンタックス基礎区を適用できる。 データベース内にこの正規化されたフォームが記憶されていれば、入力フォーム のバリエーションを効果的に除く(SQLを使用する際に必要な)正確なマッチ ングを使用できる。 データベース内には正規化されたデータと未処理データの双方が記憶される。 未処理データは最初に入力した時と全く同じフォーマットでユーザーがデータを 検索するのに必要である。従って、階層テーブル内のName(ネーム)コラムはNa meRaw(未処理ネーム)となり、NameNorm(正規ネーム)コラムが追加される。 同じように、オブジェクトテーブル内のValue(値)コラムはValueRaw(未処理 値)コラムとなり、ValueNorm(正規値)コラムが追加される。 3.概念的方法 この章では、基本的なX.500サービスを照会し、X.500サービスおよ びその複雑性を実行するのに表3aまたは図2Aに示された概念的テーブルデザ インがどのように充分であるかを示す。 これらサービスを示すのに表3bに示された階層の例が使用される。フローチ ャート内の各ネームはデータベース内のオブジェクトエントリーを示す。三角形 はエリアスエントリーを示し、点線はエリアスエントリーと、これがポイントす るオブジェクトとの間を示す。各エントリー横の数字はエントリーEIDである 。 この例において、エントリー1は「Datacraft」の値を備えたRDNを有し、 エントリー11は「Sales」の値を備えたRDNを有し、エントリー20は「Net work Products」の値を備えたRDNを有し、エントリー31は「Arana Morgan 」の値を備えたRDNを有し、エントリー31のDNはRDNのシーケンスすな わち「Datacraft」「Sales」「Network Products」「Arana Morgan」から成る。 エリアスエントリー「Datacraft/Networks」はエントリー「Datacraft」、「S ales」、「Network Products」をポイントする。このエントリーへナビゲーショ ンする際にナビゲートプロセスがエリアスエントリーを探し、エリアスによ りポイントされたオブジェクトのDNを探し、ルート部からオブジェクトエント リーにナビゲートし、20のEIDおよび1.11.20のパスへ戻る。 下記にサンプルテーブルを示すが、このテーブルはデータをどのように記憶す るかを示している。階層テーブル(表3c)は階層の例のためのエントリーをど のように記憶するかを示している。属性テーブル(表3e)は「Datacraft/Sale s/Network Products/Chris Masters」に含まれる属性を示す。オブジェクトテー ブル(表3d)はこれら属性の値をどのように記憶するかを示す。 区分ネーム サンプルのオブジェクトテーブル(表3d)に示されたエントリーに対し属性 、共通ネームおよび姓名のうちの2つが区分値(またはネーミング値)であり、 これらネームは組み合わされて入力のためのRDNを形成する。このRDNは階 層テーブル内に記憶される。 多値属性 X.500では属性が多値となることを許容している。属性に対する値を区別 するのにVIDコラムが使用されている。サンプルのオブジェクトテーブルでは 電話番号属性が多値となっている。 3.1 SQLへのマッピングサービス 3.1.1 属性のタイプおよび値 X.500サービスによって供給されるデータはオブジェクトIDおよびそれ に関連する値のリストとして供給される。これらデータはX.500アプリケー ションによって使用できるよう(属性テーブルを使用する)AIDおよび(オブ ジェクトテーブルを使用する)正規化された値に変換しなければならない。デー タベースはAIDおよび未処理の値をリターンし、これら値はX.500の結果 内のオブジェクトIDおよびそれに関連する値に変換しなければならない。 3.1.2 ナビゲーション 各X.500サービスはX.500アプリケーションによって使用するための EIDで変換される区分ネームを供給する。アプリケーションがサービスを処理 すると、アプリケーションは1つ以上のEIDをリターンする。これらEIDは X.500の結果における区分ネームに変換することができる。 全てのX.500サービスはディレクトリのツリーをナビゲーションすること に依存している。特定のエントリーにナビゲーションするために次の方法が実行 される。 ・エントリーのためのDNが与えられるとDN内の最初のRDNに等しいR DNを有する階層テーブル内のエントリーを探す。 ・EIDを記憶する。 ・DN内の次のRDNに等しいRDNおよび記憶されたEIDに等しいペア レントを有するエントリーを探す。 例: 「Datacraft/Sales/Network Products/Peter Evans」へナビゲートする。この 結果、多数の選択ステートメントが生じ、各々のリターンされたEIDは次のス テートメント内のPARENTの値として使用される。 PARENT=0およびRDN=DATA CRAFTの場合 HIERARCHY からEIDを選択する PARENT=1およびRDN=SALES の場合 HIERARCHY からEIDを選択する PARENT=11およびRDN=NETWORK PRODUCTSの場合 HIERARCHY からEIDを選択する PARENT=20およびRDN=PETER EVANS の場合 HIERARCHY からEIDを選択する 3.1.3 読み出し 読み出すべき選択された属性を供給できる。これら属性の値(エントリー内に 存在している場合)だけがリターンされる。 読み出しオプションとして「Types Only」を選択できる。この場合、値はリタ ーンされない。エントリー内に存在する全てのタイプまたは選択されたタイプは リターンされる。 読み出すべきエントリーへナビゲートし、EIDを記憶し、オブジェクトテー ブル内で記憶されたEIDに一致する全ての行の値を読み出す。 例: ・エントリー「Data craft/HQ/Network Products」を読み出し、全てのタイ プおよび値をリターンする。 (3.1.2と同じように)エントリーへナビゲートし、次に、 EID=20であれば OBJECTからAID、VALUE RAW を選択する。 3.1.4 比較 比較により一致した結果または一致していない結果をリターンする。未処理の 値を入力するが、正規化された値を使用して比較を実行する。 必要なエントリーへナビゲートし、EIDを記憶し、オブジェクトテーブルに おいて記憶されたEIDおよび特定のAIDに一致する全ての行内の一致する値 をテストする。 例: ・電話番号「03 727 9256」と入力「Data craft/Sales/Network Products/Chris Masters」とを比較する。 エントリーへナビゲートし、次に EID=30 およびAID=20 およびVALUENORM =「03 727 9456」である場合 OBJECTからVALUENORM を選択する。 値が選択されれば「一致する」へリターンし、そうでない場合、「一致しない 」へリターンする。 3.1.5 リスト 必要なエントリーへナビゲートし、EIDを記憶し、階層テーブル内で記憶さ れたEIDに一致するペアレントがを備えた全ての行に対しRDNをリターンす る。 例: ・エントリー「Data craft/Sales」からリストする。 エントリーへナビゲートし、次に PARENT=11の場合、 HIERARCHY からNAMERAW を選択する。 3.1.6 エントリーの追加 必要なペアレントエントリーへナビゲートし、ペアレントのEIDを記憶し、 階層テーブルへ新しいEIDを追加し、新しいエントリー内の値ごとにオブジェ クトテーブルへ行を追加する。 例: ・エントリー「Data craft/Sales/Network Products」の下に新しいエント リーを追加する。 エントリーへナビゲートし、次に OBJECT(EID、AID、VID、DISTING、VALUENORM、VALUERAW)内に値(33 、3、1、1、EDWIN MAHER、Edwin Maher)を挿入し、 更にHIERARCHY(EID、PARENT、PATH、ALIAS、A_EID、NAMENORM、NAMERAW 内に値(33、20、1.11.20.33.、0、0、EDWIN MAHER、Edwin M aher)を挿入する。 3.1.7 エントリーの削除 必要なエントリーへナビゲートし、エントリーがツリー上のリーフであるかを チェックする(すなわちツリー上に下位のエントリーがないことをチェックする )。EIDを記憶し、階層テーブルからエントリーを削除する。オブジェクトテ ーブルにおいて記憶されたEIDに一致する全ての行を削除する。 例: ・エントリー「Data craft/Sales/Network Products」の下から(EID= 33を有する)エントリーを削除する。 エントリーへナビゲートし、次に EID=33であれば OBJECTから削除し、 EID=33であれば HIERARCHY から削除する。 3.1.8 エントリーの変更 必要なエントリーへナビゲートし、EIDを記憶し、オブジェクトテーブルに おいて記憶されたEIDに行を追加、削除または変更する。 例: ・エントリー「Data craft/Sales/Network Products/Alana Morgan」を変更 する。 値−肩書「Branch Manager」を追加する。 エントリーへナビゲートし、次に EID=31であれば、 OBJECTからEID、AID、VID、VALUENORM を選択する。 肩書の属性に対してリターンした行を検査する。何もない場合は属性を加 えることができ、存在している場合は多値とすることができるが、それ以外の場 合、属性をチェックし、多値とすることができれば、既に存在しているかどうか を見なければならない。 OBJECT(EID、AID、VID、DISTING、VALUENORM、VALUERAW)内へ値(31 、12、1、0、BRANCH MANAGER、Branch Manager)を挿入する。 3.1.9 RDNの変更 必要なエントリーへナビゲートする。サブツリーの現在レベル内に新しいネー ム(RDN)が存在していないかどうかチェックする(すなわち新しいDNが異 なるものであるかどうかをチェックする)。EIDを記憶し、階層テーブルおよ びオブジェクトテーブル内の入力を変更する。 例: ・エントリー「「Data craft/Sales/Network Products/Chris Masters」の RDNを「Chris Masters」に変更する。 PARENT=20 VALUENORM =CHRISTINE MASTERS」であれば HIERARCHY からEIDを選択する。 エントリーをリターンしない場合には新しいRDNを挿入してもよい。まず古 いRDNを区別しない値にセットする。 EID=30およびVALUENORM =「CHRIS」であれば OBJECTを更新し、 DISTING =0とセットし、 EID=30であれば HIERARCHY を更新し、 NAMENORM=「CHRISTINE MASTERS」とセットし、 NAMERAW =「Christine Masters」とし、 OBJECT(EID、AID、VID、DISTING、VALUENORM、VALUERAW)内に値(30 、3、1、1、「CHRISTINE」、「Christine」)を挿入する。 3.2 サーチストラテジー 最も強力で有効なX.500サービスはサーチサービスである。このサーチサ ービスによってディレクトリインフォメーションツリーの一部(サーチエリア) 上に任意複雑フィルタを使用できる。 ・フィルタとは演算子AND、ORおよびNOTに接続された1つ以上のフ ィルタアイテムの組み合わせである。例えば姓=「MASTERS」AND肩書=「SAL ES MANAGER」である。 ・サーチエリアとはサーチ範囲によってカバーされるツリー部分のことであ る(ベース−オブジェクトのみ、ワンレベルまたは全サブツリー)。 サーチを分解する1つの技術は、フィルタを適用し、サーチエリア内に一致す るエントリーがあるかどうかを見ることである。この場合、全ツリーにフィルタ を適用し、フィルタに一致する全ての列に対するEIDをリターンする。次に発 見された各EIDに対し階層を上にとるようステップ状にサーチし、エントリー がベースオブジェクトの下位であるかどうかを見る(すなわちエントリーがベー スオブジェクトのペアレント/グランドペアレント/....を有するかどうかを見 る。一致する数が多く、サブツリーが小さい場合、このサーチは極めて非効率的 である。エリアスはポイントするオブジェクトのペアレントでないので、この技 術はエリアスには適合せず、1つのオブジェクトを多数のエリアスがポイントす ることもできる。 第2のストラテジーはサーチエリア内のすべてのEIDのリストを得て、これ らEIDにフィルタを適用することである。元のサーチエリアの外をポイントす るエリアスを分解する場合に、エリアスによってポイントされるサブツリーを拡 張し、リストにそのサブツリー内のEIDを加える。次に、拡張されたEIDの 組にフィルタを適用する。サーチエリアが広い場合、この方法は極めて悪い。 改良点は、(上記2つの方法と同じようにシーケンシャルに行う代わりに)サ ーチエリア用にフィルタを同時に使用することである。この方法はシングルパス 分解と称される。この方法は検索される行がフィルタおよびサーチの範囲条件の 双方を満たすものであるので、上記2つの方法よりも性能をかなり改善すると考 えられる。 ワンレベルサーチを実行する時はベースオブジェクトのEIDに等しいペアレ ントを有する全てのエントリーにフィルタを適用する(例えばペアレント=20 がエントリー30、31、32にフィルタを適用する場合のサーチである)。 サブツリーサーチを実行する場合はパスを使用してサーチエリアを拡張する。 各エントリーのパスは数字のストリングである(例えば「1.10.50.22 2.」はエントリー22が50のペアレント、10のグランドペアレントおよび 1のグレートグランドペアレントを有することを意味する)。エントリーのパス がそのエントリーの下位にある全てのエントリーのパスのプリフィックスである というユニークな性質を、パスが有する。すなわちエントリーのパスはそのエン トリーの下方のサブツリー内の全てのエントリーのパスのプリフィックスを形成 する。よってサブツリーサーチを実行する時にはサブツリーのベースオブジェク トを得てベースオブジェクトのパスによってプリフィックスのついたパスを有す る全てのエントリーに対してフィルタを適用する(例えば「Sales」の下の全て のエントリーのサーチをするためにPATHLIKE 1.11.%のサーチを行う)。 ベースオブジェクトサーチ ベースオブジェクトへナビゲートし、EIDを記憶し、オブジェクトテーブル においてフィルタ基準が満足する場合の記憶されたEID、例えば電話プリフィ ックス=「727」と一致する行からのノミネートされた値を読み出す。 例: ・「ベース−オブジェクトオンリー」サーチを使用し、姓=「MORGAN」を有 するエントリーに対するベースオブジェクト「Datacraft/Sales/Network Produc ts」からサーチする。ベースオブジェクトへナビゲートし、 EID=20およびAID=4およびNAMENORM=「MORGAN」であればオブ ジェクトからAID、VALUERAWを選択する。 ワンレベルサーチ ベースオブジェクトへナビゲートし、EIDを記憶し、(階層テーブル内の) 記憶されたEIDに一致するペアレントEIDを有し、フィルタ基準(OBJECTテ ーブル)を満足させる値を有するEIDのリストをリターンする。オブジェクト テーブル内でリターンされたEIDのためのノミネートされた値を読み出す。 例: ・「ワンレベルオンリー」サーチを使用し、姓=「MORGAN」を有するエント リーに対するベースオブジェクト「Datacraft/Sales/Network Products」からサ ーチする。ベースオブジェクトへナビゲートし、 PARENT=20およびAID=4およびNAMENORM=「MORGAN」およびH.EID =O.EID の場合、 HIERARCHY H、OBJECT OからH.EID を選択する。 次に、リターンされたEIDをEIDLIST へ入れ、 [EIDLIST]内にEIDがある場合、 OBJECTからAID、VALUERAWを選択する。 サブツリーサーチ ベースオブジェクトへナビゲートし、EIDを記憶し、ベースオブジェクト( 階層テーブル)のパスに類似し、フィルタ基準(OBJECTテーブル)を満足させる 値を有するパスを備えた全てのEIDのリストをリターンする。オブジェクトテ ーブルではリターンされたEIDのためのノミネートされた値を読み出す。 例: ・「全サブツリー」サーチを使用し、姓=「MORGAN」を有するエントリーに 対するベースオブジェクト「Datacraft/Sales/Network Products」からサーチす る。ベースオブジェクトへナビゲートし、 PATH like 「1.11.20.%」およびAID=0およびNAMENORM=「 MORGAN」およびH.EID =O.EID の場合、 HIERARCHY H、OBJECT OからH.EID を選択し、 次に、リターンされたEIDをEIDLIST へ入れ、 [EIDLIST]内にEIDがある場合、 OBJECTからAID、VALUERAWを選択する。 3.3 エリアスおよびナビゲート 「ドント−デリファレンス−エリアス」フラグがセットされておらず、サービ スが更新サービスでなければ、ナビゲーション中にエリアスを分解する(追加、 削除、変更、RDN変更)。 ナビゲーション中にエリアスが発見されると、このエリアスは分解しなければ ならない。すなわちエリアスがポイントするオブジェクトを得なければならない 。まず、階層テーブルのA EIDコラムをチェックする。A EIDが0であ ればオブジェクトテーブルからエリアスのポイントするオブジェクトを得て、こ のオブジェクトをナビゲートしなければならず、この結果得られるEIDをA EIDコラムに記憶する。これに成功すればパスの残りをナビゲートできる。階 層テーブルのA EID内にエリアスのついたオブジェクトのEIDを記憶する ことにより、エリアスのついたオブジェクトまでのナビゲートを回避できる。特 にエリアスのついたオブジェクトが階層の低レベルにある場合、これにより時間 が節約できる。 3.4 エリアスおよびサーチ サーチアーギュメント内の(サーチ−エリアス)フラグがセットされている場 合、サーチ中にエリアスをデリファレンスする。エリアスをデリファレンスする 間のサーチサービスの実行は2ステッププロセスとなる。まずサーチエリアを定 義し、次にサーチエリア内のエントリーにフィルタを適用する。サーチサービス の一部としてデリファレンスされたエリアスはフィルタを適用したサーチエリア を拡張できる。これらエリアスはサーチエリアからデリファレンスエリアスが排 除されるという点でサーチエリアも制限する。 エリアスおよびワンレベルサーチ エリアスがワンレベルサーチの一部としてデリファレンスされており、エリア スエントリーが発見される場合、(オブジェクトテーブルまたはA EIDを使 用して)エリアスを分解しなければならない。次にフィルタを適用したサーチエ リアにエリアスのついたオブジェクトを加える。エリアスを発見するワンレベル サーチでは、サーチエリアはベースオブジェクトの直接下位のエリアスのないエ ントリーおよびすべてのデリファレンスエリアスから成る。 エリアスおよびサブツリーサーチ エリアスが全サブツリーサーチの一部としてデリファレンスされており、エリ アスエントリーが発見されれば(オブジェクトテーブルまたはA EIDを使用 して)エリアスを分解し、このEIDが既に処理されたサブツリーの一部でなけ ればこれを別のベースオブジェクトとして処理しなければならない。 サーチ中にエリアスをデリファレンスしている時はサブツリージョイン内のエ リアスエントリーを探すのに「パス」コラムを使用できる。現在のサブツリーの 外をポイントするエリアスエントリーが発見されれば、エントリーによりポイン トされるサブツリーもエリアスに対してサーチできる。階層的ツリー構造のプロ パティはユニークなベースオブジェクトによって各サブツリーがユニークに表示 されるということである(すなわちサブツリーはオーバーラップしない)。サブ ツリーサーチを実行する際はユニークなサブツリーを定めるベースオブジェクト のリストを作成する。エリアスが発見されない場合、リストは1つのベースオブ ジェクトしか含まない。処理されているサブツリーの外をポイントするエリアス が発見される場合(1つ以上のベースオブジェクトがエリアスのついたオブジェ クトの下位でなく、下位のベースオブジェクトはエリアスのついたオブジェクト で置換される場合)、ベースオブジェクトのリストにエリアスのついたオブジェ クトを加える。従って、サーチエリアはベースオブジェクトのうちの1つのパス によりプリフィックスのついたパスを有する非エリアスエントリーから成る。 4.論理的デザイン X.500の機能を実行するのに概念的デザイン(表4aを参照)で充分であ るが、更に性能を改善できる。 データについて仮定をすることができるので、従来のリレーショナルデザイン において性能を改善できる。このデータは基本的にはアプリケーションを設計し た時に固定される。X.500ではどのデータタイプも知られていない。しかし ながら、サービスについて仮定することができるので、性能の改善も可能である 。これらサービスはX.500アプリケーションを設計した時に知られているも のである。 図2Bを参照すると、(従来のリレーショナルデザインにおける主要データ関 係に基づく代わりに)主要サービス関係に基づき各テーブルを編成できることを 認識することが、革新的なアプローチである。上記テーブルは下記に示すように 、より少数のより効率的なテーブルに分解できることが証明される。 4.1 サービスの分解 ほとんどのRDBMSでの現実は、多数のコラムを有する大きなテーブルはコ ラムのより少数の小さいテーブルと同じようには機能しないということである。 この主な理由は、インデクシングのオプション、I/Oの実行およびテーブルマ ネージメントと共に行うことにある(セクション4.5および4.6参照)。こ のことが、従来のリレーショナルデザイン技術が主要情報を別個の表に焦点を合 わせテーブルの結合(すなわち正規化および部分化技術により第2情報を引き出 そうとしている理由である。 X.500の性能を得る1つの改良技術は、主要サービス関係に関する表を分 解し、結合により第2サービスを引き出すことにある。このプロセスをサービス の分解と称す。次の検討を行う。 (1)(不要な結合を回避するためには)強力な関係を有するコラムをまとめ ることが好ましい。 (2)所定のコラム内の重要な行の数が他の関連するコラムと無関係の場合、 その所定コラムは別のテーブルに対する候補とする。 (3)あるコラムが情報(入力)を探すのに使用されるにすぎないか、または 結果(出力)をリターンするのに使用されるにすぎない場合、このコラムは自己 のテーブルに対する候補となる。 (4)1つのキーを2つ以上のサービスに対するキーとして使用する場合、こ れを主要キーとし、よって自己のテーブル内に入れることが好ましい(各テーブ ルは1つの主要キーしか有することができない)。 (5)キーをユニークとするか、または少なくとも強力(非繰り返し的)とす ることが好ましい。 表4.1にはコラム利用の第1レベルの分析を示した。 上記情報および別の分析から、次のセクションに述べるように、概念的デザイ ンテーブルは多数のより小さいテーブルに分解できる。 4.2 階層テーブルの分解 階層テーブルは次のコラムを含む。 階層テーブルはオブジェクトおよびそのペアレント、そのネーム、階層内の絶 対的位置に関する情報を含み、それらがエリアスである場合。従って、このテー ブルは4つのテーブルすなわちDIT、NAME、TREEおよびALIASに 分割できる。所定のチャイルドを探したり、または所定のペアレントを有するエ ントリーに作用するのに、ペアレント情報を使用する。所定のチャイルド(例え ばペアレント=0、NameNorm=「DATACRAFT」)を探すことはナビゲーションお よび更新チェック(追加またはRdn変更前のオブジェクトの存在のチェック) の基礎となる。リストサーチまたはワンレベルサーチの間には所定のペアレント を有するエントリーに対する作用が使用される。従って、DIT(ディレクトリ 情報ツリー)表はナビゲーションに必要な情報を有するが、そのRARENTコ ラムを他のサービスで使用できるようにする。 オブジェクトはその兄弟からその相対的区分ネーム(RDN)を介して区別さ れる。RDNは(所定のペアレントと共に)リストに対し、またはフルの区分ネ ームの一部としてリターンされる(読み出し、サーチ)。従って、NAMEテー ブルはNAMEを戻すのに必要な情報(未処理のRDN)を有する。 DN(これから未処理のRDNが検索される)を作成し、サーチ中にサブツリ ーを広げるのに階層内のオブジェクトの絶対的位置が必要である。従って、TR EEテーブルはエントリーのパス(ルート部から下方へのEIDのシーケンス) に関する情報を有する。 ナビゲート中にエリアスに出会うごとに、繰り返してこれを分解する必要がな いように、エリアス情報はキャッシュされる。従って、ALIASテーブルはA LIASであるエントリーしか含まない。このテーブルはサーチエリア内にエリ アスがあるかどうかを判断するのに(DITペアレントコラムと組み合わせた) ワンレベルサーチ中、および(パスコラムと組み合わせた)サブツリーサーチの 間でも使用される。 4.3 オブジェクトテーブルの分解 オブジェクトテーブルは次のコラムを含む。 このオブジェクトテーブルは基本的には特定の値(例えばAID=surname、V alueNorm =「HARVEY」)を探したり、値(AID=surname、ValueRaw=「Harv ey」)を検索するための情報を含む。従ってこのテーブルは2つのテーブルSE ARCHおよびENTRYに分解できる。 サーチサービス内のフィルタを分解するのにサーチテーブルが使用される。こ のテーブルは比較、変更およびRDN変更中に値を探すのにも使用される。この サーチテーブルは各エントリーの各属性値のための1つの行を含む。このテーブ ルには正規化された値しか含まれた。 読み出しおよびサーチ時に値をリターンするのにエントリーテーブルが使用さ れる。このエントリーテーブルは各エントリーのための各属性値に対し1つの行 を含む。RAW(未処理)値はエントリーを追加した時または変更した時に最初 に供給された値と全く同じ値である。 4.4 属性テーブル 属性テーブルは基本的には概念的デザインと同じである。入出力X.500オ ブジェクト識別子は内部属性識別子AIDとの間で変換されるので、「type」フ ィールドは実際には記述的であるにすぎない。従って、このコラムは記述的フィ ールドであることを示すのにリネームされたDESCとなっている。 4.5 インデックス選択 RDBMSは対応するインデックスを使用して照会を満足させることができる ので、SQLを使用する際の性能を得ることができる。このことは条件(SQL 内の「where」項)を有するどの照会も、関連するインデックスを有することが 好ましい(またはRDBMSはテーブルレベルのスキャンに頼らなければならな い)ことを意味する。しかしながら、実際のRDMSでは次のとおりである。 ・インデックスの数は限られる。 ・二次的インデックスを維持するのにハイオーバーヘッドとなり得る。 ・1つの照会を満足するのに複合インデックスが必要となり得る。従って、 コラム間で照会を行う場合(例えばタイプ=surname および値=SMITH)、タイ プおよび値上の別のインデックスによってフルインデックスアクセスとならない ことがある。タイプおよび値の双方での複合インデックスが必要となることがあ る。 先のセクションにおけるテーブルを分解する改良点は、テーブル間の主要イン デックスの使用を最大にすることである。これにより二次的インデックスの数が 減少する(すなわち二次的インデックスは自己のテーブル上で主要インデックス となる)。下記は論理デザインで使用される6つのテーブルの各々に対するイン デックスのリストである。 このテーブルデザインは結合を行うことなく多くの照会を処理できることを意 味して入るので、性能がかなり改善される。 必要と考えられる結合は次のようにリストされる。 ・リスト(所定のオブジェクト(NAMEと結合されたDIT)の下にRA W−RDNをリターンさせるためのもの) ・サーチ/サブツリー((ベースオブジェクトがルートでない場合の)全サ ブツリー(SEARCHと結合したTREE)上のフィルタに一致するEIDを 探すためのもの。 ・サーチ/ワンレベル(ベースオブジェクト(SEARCHと結合したDI T)の下のフィルタワンレベルと一致するEIDを探すためのサーチ。 ・サーチ/エリアス/サブツリー(サブツリー(ALIASと結合したTR EE)内のすべてのエリアスを探すためのサーチ。 ・サーチ/エリアス/ワンレベル(所定のオブジェクト(ALIASと結合 したDIT)の下のすべてのエリアスを探すためのサーチ。 ここで、上記結合は第1レベルの結合(すなわち2つのテーブル間の結合)で あることに留意されたい。高位の結合を使用しないことが好ましい。 4.6 入力/出力性能 テーブルの数を増す、サービスに基づきテーブルを分解する改良点は、新しい テーブルが断片化されないテーブルよりも小さくなることである。これにより次 の理由からI/Oの数を大幅に削減できる。 行のサイズ 行内のコラム数を減少することにより行の幅は狭くなる。このことは(1つの ディスクI/Oが1ページの情報をリターンすると仮定する場合)1ページによ り多数の行を挿入できることを意味している。一組の行を検索しなければならな い場合、下記のクラスター化と組み合わせて1ページ、またはそれより少ない数 のページをディスクから実際に読み出さなければならない(例えばオブジェクト の属性を読み出す際にENTRYテーブルにEID、AID、VIDのキーを付 ける場合、そのオブジェクトに関連する行のすべては同じページとなる)。 クラスター化 断片化されたテーブルの各々は、これらテーブルがデータの使用態様に従って データをクラスター化できるようにする自己の(独立した)主要キーを有するこ とが好ましい。この主要キーは記憶構造を決めることがある。従って、SEAR CHテーブルにおいてAID、NORM(すなわちタイプ、値)に主要キーが付 けられる場合、ディスクの同じ領域に同じタイプのデータ(例えば姓名)および 同様の値(例えばHarvey、Harrison)のすべてがクラスター化される。このこと は、サーチ中に類似のデータ、(例えばHARで始まる姓名)が1つの(または 数個の)ディスクページに集められることを意味して入る。行が小さい場合、ア クセスすべきディスクページの数は大幅に少なくなる。 キャッシング ほとんどの業務用RDMDSは頻繁にアクセスするページをキャッシングする 能力を有する。テーブルは効果的に入力(例えばDITテーブルを使用するナビ ゲーティング)または出力(例えばENTRYテーブルからの情報の検索)され るので、類似のリクエスト(例えばツリーの同じ部分のサーチ)が頻繁に使用さ れるページをキャッシングする結果を生じさせる。このことは、頻繁に行われる 問い合わせにより大きな利点が得られることを意味している。行の大きさを小さ くし、クラスター化した結果、ページは情報が集中したものとなるので、キャッ シングはより効率的にもなる。 マネージメント テーブルが小さい場合は、一般に管理、例えばビューイング、インデックスの 作成、統計の収集、監査、バックアップ等が容易となる。 5.論理的方法 このセクションでは、図2Bを参照して論理的デザインテーブルに質問する方 法を説明する。 本セクション全体では、各X.500方法を説明し、図で示す。表5aはエリ アスレファレンスを含む小さい階層ツリーを示す。表5bには対応するテーブル の内容が示されている。 5.1 共通サービス ツリーナビゲーション すべてのX.500サービスはディレクトリツリーをナビゲーションすること に依存している。ツリーナビゲーションの目的は、供給された区分ネームに対応 するエントリーのEIDを検索することにある。ナビゲーションはツリーのルー トから開始し、DN内のRDNを分解(証明)するまでツリーを下方に進むよう に続く。このプロセスはツリーウォークとして知られている。 DITケーブルはツリーナビゲーションに使用される主要テーブルであり、階 層ツリーの例を参照すると、DNすなわち「Datacraft/Sales/Network Products /Peter Evans」の分解を行うには次のプロセスを実施する。 ・PARENT=0およびRDN =「DATACRAFT」を含む行に対し、DITテーブル をスキャンする。この行に対するEIDは1である。 ・PARENT=1およびRDN =「SALES」を含む行に対し、DITテーブルをス キャンする。この行に対するEIDは11である。 ・PARENT=11およびRDN =「NETWORK PRODUCTS」を含む行に対し、DIT テーブルをスキャンする。この行に対するEIDは20である。 ・PARENT=20およびRDN =「PETER EVANS」を含む行に対し、DITテー ブルをスキャンする。この行に対するEIDは32である。 こうしてDNが分解されると、キーEID=32を使用してエントリーテーブ ルからオブジェクトに関連する値を得ることができる。 エリアス DNはエリアスを含むことが多く、このエリアスは効果的に別のDNである。 ツリーウォークはエリアスが分解されるまで続けることができないので、エリア スはツリーウォーク方法を複雑にする。これによりエリアスに対しては別のツリ ーウォークが必要となる。例えばDN「Datacraft/Network Products/Peter Eva ns」を検討する。このDNを分解する最初の2つの工程は次のとおりとなる。 ・PARENT=0およびRDN =「DATACRAFT」を含む行に対し、DITテーブル をスキャンする。この行に対するEIDは1である。 ・PARENT=1およびRDN =「NETWORK」を含む行に対し、DITテーブルを スキャンする。この行に対するEIDは10である。 この段階で、このエントリーはエリアスであることを発見する。エリアスのE IDがキャッシュされたかどうかを見るようにエリアステーブルをチェックする 。このエリアスを分解する試みが最初にされていればエリアステーブル内のA EIDコラムを0とする。検討のため、これが最初であると仮定する。 エリアスを分解するにはエリアスのついたオブジェクトのDNを決定しなけれ ばならない。これはエリアスエントリーの「aliasedObjectName」属性内に記憶 する。このaliasedObjectName は(ATTRテーブルからの)AID=1を有す るのでEID=10およびAID=1であるエントリーテーブル(RAW値)か らDNが得られる。 本例では、エントリーのDNは「Datacraft/Network Products」である。この DNは通常のツリーウォーク技術を使用して完全に分解する。EIDの値は20 である。 この段階で、元のDN内の分解されていないRDN、すなわち「PETER EVANS 」に対しナビゲーションが続けられる。必要な最終ステップは次のとおりである 。 ・PARENT=20およびRDN =「PETER EVANS」を含む行に対し、DITテー ブルをスキャンする。 エリアスを一旦分解すれば、これをエリアステーブルに加える(キャッシュ) することができる。このテーブルはエリアスのついたオブジェクトに対するレフ ァレンスA EIDを含む。上記の例ではEIDが10のエリアステーブル内の エントリーは20のA EIDを有する。エリアスを一旦キャッシュすれば、エ リアスを分解するのにツリーウォークは不要である。 ディレクトリパス DITテーブルにオブジェクトを加える際に、ツリーテーブルと称される別の テーブルに対応する行を加える。このテーブルはオブジェクトに対するパスを識 別するEIDのリストを記憶する。 区分ネーム ほとんどのサービスはサービス結果内に区分ネームを戻すことを求める。ツリ ーテーブルからのディレクトリパスを使用するとネームテーブル内に記憶された RAW RDN値からDNを組み立てることができる。 エントリー情報の選択 「EntryInformationSelection」(エントリー情報選択)と称されるアーギュ メントと共にX.500サービスの多くがリクエストされる。このEISアーギ ュメントはエントリー内のどの情報を戻すかを示すのに使用される。基本的にE ISはオプションとして次のものとすることができる。 ・非情報 ・選択された属性またはすべての情報に対する属性および値 ・選択された属性またはすべての属性のみのための値 エントリー情報 エントリー情報は読み出しおよびサーチのための復帰パラメータである。この 情報は常に選択されたエントリーの区分ネームを含み、オプションとしてリクエ ストのEISアーギュメントに特定されるような属性および/または値を含む。 共通アーギュメント X.500サービスのいずれもサービスリクエスト内の一組の共通アーギュメ ントをパスする。共通アーギュメントはサービス制御(時間制限およびサイズ制 限)、サービスのリクエスト者のDNおよび安全情報のような情報を含む。 共通結果 X.500サービスのいくつかはサービス応答内の一組の共通結果をパスする 。共通結果は安全パラメータ、サービスの実行者のDNおよびエリアスデリファ レンスフラグ等のような情報を含む。 5.2 読み出しサービス 読み出し操作は明瞭に識別されたエントリーから情報を抽出するのに使用され る。 X.500の定義 方法: ・DITテーブルを使用してツリーウォークを実行し、必要であればエリア スを分解する。ベースEIDを得る。 ・ツリーテーブルからPATHおよびネームテーブルからのRAW RDN を使用してDNを作成。 ・EISが属性または値を特定しない場合、DNを戻す。 ・EISがALLタイプおよび値を特定する場合、一致EIDのためのエン トリーテーブルからRAW値を戻す。 ・EISが選択されたタイプおよび値を特定すれば、属性テーブルからAI Dを得て一致EIDに対する選択されたタイプおよび/または値を戻す。 例: エントリー「Datacraft/Sales/Network Products/Peter Evans」を読み出す。 EISを属性Types =allAttributes、InfoTypes =attributeTypesAndValuesに セットする。 DITテーブルを使用し、正規化されたRDNの DATACRAFT、SALES、NETWORK PRODUCTS、PETER EVANS に対するEIDの位置1、11、20および32を横 断するツリーウォークを実行する。選択されたオブジェクトのEIDは32であ る。 EID=32に対するツリーテーブルからPATHを抽出する。このPATH は1.11.20.32である。 EID1、11、20、32に対するネームテーブル内のRAW値からDNを 作成する。 各一致EIDに対しエントリーテーブルおよび属性テーブルを使用し、 ・属性テーブルからOBJECTIDおよびエントリーテーブルからASN.1エン コードされたRAW値を戻す。 2.5.4.0 [2.5.6.7] 2.5.4.3 [PETER] 2.5.4.4 [EVANS] 2.5.4.9 [SALESPERSON] 2.5.4.20 [(03)727-9454] ・DNを戻す。 5.3 比較サービス (リクエストのアーギュメントとして供給された)値と特定オブジェクトエン トリー内の特定の属性タイプの値とを比較するように、比較演算が使用される。 X.500の定義 方法: ・DITテーブルを使用してツリーウォークを実行し、必要であればエリア スを分解する。ベースオブジェクトのEIDを得る。 ・属性テーブルから比較すべき属性のAIDを得る。 ・エントリーテーブルからEIDとAIDが一致する行を選択する。 ・値を比較する。 ・TRUEまたはFALSEを比較の結果として戻す。 ・エリアスがデリファレンスされていれば、ツリーテーブルからのパスおよ びネームテーブルからのRAW RDNを使用して選択されたオブジェクトのD Nを戻す。 例: 「Datacraft/Sales/Network Products/Peter Evans」と「肩書=[Salesperson ]」の当該属性値確認とを比較する。 ツリーウォークを使用して所定のDNに対するEIDを得る。選択されたオブ ジェクトのEIDは32である。 属性テーブルを使用し、肩書に対するAIDすなわちAID=12を得る。 サーチテーブルを使用し、EID=32およびAID=12を有する行を探し 、「NORM=SALESPERSON」のテストをする。 このテストの結果に応じてTRUEまたはFALSEをリターンする。この場 合、結果TRUEとなる。 エリアスはデリファレンスされていないので、エントリーのDNはリターンし ない。 5.4 リストサービス リスト演算を用いて明瞭に識別されたエントリーの中間下位のリストを得る。 X.500の定義 方法: ・DITテーブルを使用してツリーウォークを実行し、必要であればエリア スを分解する。 ベースオブジェクトのEIDを得る。 ・DITおよびネームテーブルを使用し、ALIASフラグをリターンする 。RAW RDN PARENTはベースオブジェクトのEIDに等しい。 例: DIT「Datacraft」に対するリストを実行する。 ツリーウォークを使用してDNに対するEIDを得る。選択されたオブジェク トのEIDは「1」となる。 PARENT=1を備えた各EIDに対し、 ・ネームテーブルからRAW RDNすなわち[Networks]、[Sales]、[Mark eting]をリターンし、 ・エリアスフラグすなわちTRUE、FALSE、FALSEをリターンす る。 ツリーウォーク内でエリアスがデリファレンスされない時は、選択されたオブ ジェクトのDNをリターンしない。エリアスエントリー[Networds]がデリファレ ンスされていないことにも留意されたい。 5.5 サーチサービス サーチサービスはすべてのX.500サービスのうちで最も複雑なものである 。サーチアーギュメントはサーチのスタート場所(ベースオブジェクト)、サー チの範囲(サブセット)、適用条件(フィルタ)およびどんな情報をリターンす るか(選択)を示している。更に、エリアスをデリファレンスするかどうかを表 示するようフラグがパスされる(サーチエリアス)。 サブセットのための可能な値はベースオブジェクト、ワンレベルおよび全サブ ツリーである。ベースオブジェクトはベースオブジェクト内の属性および値にサ ーチフィルタが使用されるにすぎないことを表示する。ワンレベルはベースオブ ジェクトの中間下位にサーチフィルタが使用されることを表示し、全サブツリー はベースオブジェクトおよびその下位のすべてにサーチフィルタが使用されるこ とを表示する。 フィルタ条件の簡単な例としては、姓=「EVANS」または電話番号PRESENT が 挙げられる。 X.500の定義 各サーチ範囲のためのサーチ方法は次のようなアウトラインとなる。 ベースオブジェクト: ・DITテーブルを使用し、ツリーウォークを実行し、必要であればエリア スを分解する。ベースオブジェクトのEIDを得る。 ・選択されたオブジェクトのEIDを備えたサーチテーブル内の属性および 値に対しフィルタを使用する。 ・フィルタ条件が一致すればエントリーテーブルからエントリー情報をリタ ーンする。 ・エリアスがデリファレンスされればツリーテーブルを使用してDNをリタ ーンし、PATHおよびネームテーブルを抽出し、DNを作成する。 ワンレベル: ・DITテーブルを使用し、ツリーウォークを実行し、必要であればエリア スを分解する。ベースオブジェクトのEIDを得る。 ・PARENT=EIDと共にエリアスが存在するかどうかを見るようにチ ェックし、存在していればエリアスを分解し、エリアスデリファレンスリストを 得る。 ・サーチおよびDITテーブルを使用し、フィルタ(属性/値条件)および 範囲(選択されたオブジェクトおよびデリファレンスされたエリアスのPARE NT=EID)を使用する。一致EIDのリストをリターンする。 ・エリアスがデリファレンスされていれば、ツリーテーブルを使用し、DN をリターンし、PATHおよびネームテーブルを抽出し、DNを作成する。 各一致EIDに対し、 ・(読み出しサービスごとに)エントリーテーブルを使用してサーチテーブ ルから得たエントリー情報をリターンする。 全サブツリー: ・DITテーブルを使用し、ツリーウォークを実行し、必要であればエリア スを分解する。ベースオブジェクトのEIDを得る。 ・選択されたオブジェクトのPATHと一致するPATHプリフィックスと 共にエリアスが存在するかどうかを見るようにチェックする。 ・発見された各エリアスに対しエリアスが現在のサブツリーの外にポイント しているかどうかをチェックし、そうであればこれまでのステップを繰り返す。 一旦すべてのエリアスを分解すれば一組のユニークなベースオブジェクトが(エ リアの重なりなしに)発見されることとなる。 ・サーチおよびツリーテーブルを使用し、フィルタ(属性/値条件)および 範囲(選択されたオブジェクトのRATH LIKE PATHプリフィックス)を各ユニーク なベースオブジェクトに対し使用する。一致EIDのリストをリターンする。 ・ナビゲーション中(サーチ中でない)にエリアスがデリファレンスされて いれば、ツリーテーブルを使用し、DNをリターンし、PATHおよびネームテ ーブルを抽出し、DNを作成する。 各一致EIDに対し、 ・(読み出しサービスごとに)エントリーテーブルを使用してサーチテーブ ルから得たエントリー情報をリターンする。 例: 下記により、ベースオブジェクト「Datacraft/Sales」に対するサーチを実行 する。 ・全サブツリーにセットされた範囲。「姓、サブストリングイニシャル=M 」のフィルタ(Mで始まるすべての姓を探す)。 ・TRUEにセットされたサーチエリアス。 ・属性Types =allAttributes、InfoTypes =attributeTypesAndValues に セットされたEIS。 方法: ツリーウォークを使用してベースオブジェクトDNに対するEIDを得る。こ のベースオブジェクトのEIDは11である。 ツリーテーブルからEID=11すなわち1.11に対するPATHを得る。 1.11で始まるパスを有するエントリー間でエリアスをチェックする。この 場合、エリアスは存在しない。 属性テーブル内の属性「姓」に対するAID、すなわち4を得る。 フィルタおよび範囲を同時に適用する。すなわちサーチテーブルを使用してA ID=4であるターゲットリストからEIDのリストを得る。値はPATHがL IKE 1.11.%であるツリーテーブルと結合したMから始まる。一致する EIDは30および31である。 各一致するEIDに対しエントリーテーブルおよび属性テーブルを使用し、 ・属性テーブルからOBJECTIDおよびエントリーテーブルからのASN.1エ ンコードされたRAW値をリターンする。すなわち、 2.5.4.0, [2.5.6.7], 2.5.4.3, [Chris], 2.5.4.4 [Masters] 2.5.4.9 [Sales Manager] 2.5.4.20 [(03)727-9456] 2.5.4.20 [(018)-042 671] 2.5.4.0 [2.5.6.7] 2.5.4.3 [Alana] 2.5.4.4 [Morgan] 2.5.4.9 [Sales Support] 2.5.4.20 [(03)727-9454] 5.6 エントリーサービスの追加 AddEntry(エントリー追加)操作は、リーフエントリー(オブジェクトエント リーまたはエリアスエントリー)をディレクトリ情報ツリーに追加するのに使用 される。 X.500の定義 方法: ・DITテーブルを使用して追加すべきエントリーのペアレント(ペアレン トEID)へツリーウォークする。 ・DITテーブルを使用し、エントリーが存在しているかどうかチェックす る(RDN=新しいRDNおよびペアレント=ペアレントEIDをチェックする )。 ・エントリーがなければ新しいEIDを割り当て、エントリーを加える。 ・DITテーブル、ネームテーブル、ツリーテーブル、サーチテーブル、エ ントリーテーブルおよびエリアスエントリーである場合にはエリアステーブルに 挿入する。 例: 「Datacraft/Marketing」を有するオブジェクトの下に次の属性および値を有 するオブジェクトを追加する。 姓 [Delahunty] 共通ネーム [Mary] 肩書 [Marketing Manager] 電話番号 [(03)727-9523] ツリーウォークを使用してベースオブジェクトDNに対するEIDを得る。ベ ースオブジェクトのEIDは12である。 DITテーブルを使用し、重複エントリーすなわちPARENT=12および RDN=「Mary Delahunty」を探す。重複はない。 次のテーブルに次の行を加える。 5.7 エントリー削除サービス エントリー削除操作はディレクトリ情報ツリーからリーフエントリー(オブジ ェクトエントリーまたはエリアスエントリー)を削除するのに使用される。 X.500の定義 方法: ・DITテーブルを使用してツリーウォークを実行する。ベースオブジェク トのEIDを得る。 ・エントリーが存在し、そのエントリーがリーフエントリーである場合には 、選択されたオブジェクトの条件EID=EIDに対しDITテーブル、ネーム テーブル、ツリーテーブル、サーチテーブル、エントリーテーブル、エリアスエ ントリーである場合にはエリアステーブルから削除する。 例: 「Datacraft/Marketing/Mary Delahunty」を備えたオブジェクトを削除する。 方法: ツリーウォークを使用してベースオブジェクトDNに対するEIDを得る。ベ ースオブジェクトのEIDは12である。PARENT=21を有するエントリ ーがないことをチェックする。 EID=21の場合、DITテーブル、ネームテーブル、ツリーテーブル、サ ーチテーブルおよびエントリーテーブル(エントリー追加例と称す)に追加され たすべての行を削除する。 5.8 エントリー変更サービス エントリー変更操作は単一のエントリーに対し次の1つ以上の一連の変更を実 行するのに使用される。 ・新しい属性の追加 ・属性の削除 ・属性値の追加 ・属性値の削除 ・属性値の交換 ・エリアスの変更 X.500の定義 方法: ・DITテーブルを使用してツリーウォークを実行する。選択されたオブジ ェクトのEIDを得る。 選択されたオブジェクトに対し次の1つ以上のアクションを実行する。値の追 加、値の削除、属性の追加、属性の削除。 各アクションに必要な操作は次のとおりである。 値の追加: ・属性が存在している場合にはエントリーテーブルおよびサーチテーブルに 値を追加する。チェックは、現在の値に対し属性が単一の値であるかチェックす ること、二重の値に対しては属性が多値であるかチェックすることである。 値の削除: ・エントリーテーブルおよびサーチテーブルに対し、値が存在している場合 にはこれを削除する。区分値は削除できない。 属性の追加: ・属性が存在していない場合はエントリーテーブルおよびサーチテーブルに 属性値を追加する。 属性の削除: ・エントリーテーブルおよびサーチテーブルに対し属性が存在している場合 にはこれを削除する。AID=属性およびEID=ベースオブジェクトを備えた すべての値を削除する。ネーミング属性は削除できない。 例: 次のように変えることによりエントリー「Datacraft/Sales/Network Products /Chris Masters」を変更する。 属性および値を削除 電話番号 018-042 671 属性および値を変更 肩書 Sales Assistant サーチテーブルおよびエントリーテーブルはこれら変更を示す。 5.9 RDN変更サービス RDN変更操作はディレクトリ情報ツリーからリーフエントリー(オブジェク トエントリーまたはエリアスエントリー)の相対的区分ネームを変更するのに使 用される。 方法: ・DITテーブルを使用してツリーウォークを実行する。ベースオブジェク トのEIDおよびペアレントEIDを得る ・DITテーブルを使用し、等しいエントリーをチェックし、1つ発見され た場合にはエラーをリターンする。等しいエントリーはRDN=新RDNおよび PARENT=ペアレントEIDを有する。 ・ネームテーブルを使用し、旧RDNを新RDNに置換する。 ・DITテーブルを使用し、旧RDNを新RDNに置換する。 ・エントリーテーブルを使用し、新しい値を挿入する。 ・サーチテーブルを使用し、値=旧RDNを探し、DISTINGを0にセ ットする。 新しい値を挿入する。 deleteOldRDNをTRUEにセットした場合、ツリーウォーク後の手順は次のと おりとなる。 ・DITテーブルを使用し、同じネームおよびベースEIDに等しくないE IDを有する兄弟をチェックする。 ・ネームテーブルを使用し、旧RDNを新RDNに置換する。 ・DITテーブルを使用し、旧RDNを新RDNに置換する。 ・エントリーテーブルを使用し、旧い値を削除し、新しい値を挿入する。 ・サーチテーブルを使用し、旧い値を削除し、新しい値を挿入する。 例: 「Datacraft/Sales/Network Products/Chris Masters」のRDNを変更する。 新RDNは Christine Mastersである。 deleteOldRDNをFALSEにセットする。 テーブルの変更は次のとおりとなる。 5.10 複雑化 何らかのサービスを処理している間にエラー、制限または放棄が生じる場合、 処理を中断し、適当なエラーメッセージをリターンする。 エラー: 各X.500サービスは3つの部分、すなわちARGUMENT、RESULTおよびERRORS から成る、上記サービスの説明ではX.500の定義にARGUMENTおよびRESULTが 含まれていた。しかしながらエラー条件は種々変わっているので、本明細書では これら条件を説明しない。規格および技術の国立研究所(NIST)の文献であ る「オープンシステムズの相互接続プロトコルのための安定実施協約:第3版」 は、X.500規格のためのフルカバーのエラーについて述べている。 時間制限およびサイズ制限: 時間制限およびサイズ制限はサービスコントロールの一部を形成する。これら 制限はオプションとして、ある一定の制限にセットでき、共通アーギュメントに 含めることができる。 時間制限は最大経過時間(単位:秒)として示し、この時間内にサービスを提 供しなければならない。 リストおよびサーチに対し適用できるにすぎないサイズ制限はリターンすべき オブジェクトの最大数を示す。いずれかの制限に達すると、エラーが報告される 。リストまたはサーチ上で到達する制限に対し、その結果は累積した結果を任意 に選択することとなる。 放棄: ユーザーが結果に関心がなくなった場合、ディレクトリに質問するオペレーシ ョン、すなわち読み出し、比較、リストおよびサーチを放棄操作を使用すること によって放棄できる。 エリアスおよびサーチ: サーチ中にエリアスに出会い、そのエリアスがディレクトリツリーの別のブラ ンチをポイントしていう場合、エリアスのデリファレンスは次のことを要求する 。 ・ルートエントリーから参照エントリーへナビゲーションすること。 ・参照エントリーに対し下位のアイテム全てをサーチすること。 表5.10に示される例において、「Telco/Corporate/Data Services」のベ ースオブジェクトで全サブツリーサーチを実行する場合、エントリー「Mervyn P urvis」およびエリアス「Strategic」がサーチされる。しかしながらStrategic はエントリー「Strategic」およびその下位の全て、すなわち「Alan Bond」、「 Rex Hunt」、「Wayne Carey」および「John Longmire」のサーチを必要とするツ リーの異なるブランチをポイントしている。 5.11 実施の最適化 論理的方法は、性能を高める多数の最適化方法を含む。これら方法のアウトラ ィンを次に説明する。 キャッシング: 属性テーブルはキャッシングできる。このことは(属性の初期ローディングと は別に)属性をデコードしたり、またはエンコードする際にデータベースへSQ Lステートメントを発行する必要はない。本X.500システムでは、メモリで 属性変換を実行する。これにより速度上のかなりの利点が得られる。 有効化: 照会の有効化は可能である場合メモリで実行される。これにより時間とシステ ムを費やすデータベースのロールバックが解消される。例えばエントリーを追加 する際にこのエントリーを追加使用とする試みの前に、各属性が有効化される。 エラーが発見されればSQLのコールを発行する必要はない。 照会処理の最適化: ほとんどのサービスのフォーマットは既知となっているので、静的SQLステ ートメントを使用してこのサービスの多くのインスタンスを分解できる。複雑な フィルタを有するサーチのような、より複雑なサービスは、ダイナミックSQL を使用して分解できる。これにより任意の複雑なサーチが実行可能となる。 パラレル照会: サーチ結果を処理する際にも本システムは一括行処理を回避するためSQLの セット配列照会を利用する。従って、サーチ結果はメモリ内でパラレルに組み立 てることができる。 データ記憶装置: 未処理データを記憶するテーブルはASN.1フォーマットでデータを記憶す る。これによりデータベース内外へのデータの有効な転送手段が得られる。 データベース技術: 照会を分解するのにかかる時間を短縮する機構を提供する照会オプティマイザ ーを使用することにより、複雑なサービスを更に改善できる。リレーショナルデ ータベースを使用することによって更にメモリを効率的に使用できるし、多量の メモリを必要とすることなく大きなデータベースを構築できる。X.500以外 の多くのアプリケーションは性能を得るのにメモリ内で全データベースをキャッ シュしている。このような方法は多量のメモリを使用するものであり、スケーラ ビリティ(伸縮自在性)がない。 6.物理的デザイン 論理的デザインの物理的変換と称されるプロセスから物理的デザインが得られ る。この物理的デザインは論理的デザインの好ましい実施例を示す。図2Bおよ び下記の表は、ある種の物理的デザインを示す。新しいコラムおよび表には太線 でハイライト化されている。 上記変更の理由は後述する。 6.1 効率 INFOテーブル: このテーブルはデータベースで使用された最も大きなEIDの値をホールドす る。INFOテーブルを含むことによりデータベースで実行される最大EIDの 計算をすることなく、次のEIDを得ることが可能となっている。これによりデ ータベースへエントリーを加える効率が改善される。最も重要なことは、INF Oテーブルを含むことにより多数のDSAが同時にエントリーを追加する際に生 じ得る競合の問題が解消されることである。 シャドーキー: 3つのテーブルはこれまでシャドーキーを追加していた。これらキーとしては 、 a)SEARCHテーブルにおけるNORMキーコラム b)DITテーブルにおけるRDNキーコラム c)TREEテーブルにおけるLEV1、LEV2、LEV3およびLEV 4コラム がある。 これらシャドーキーコラムの各々は、より大きなコラムを短くした変形例であ る。これらキーコラムは各テーブルにおけるインデックスを短縮するために追加 されていたものである。これによりインデックスを使用する照会に対する性能が 改善され、更に小さいインデックスのほうが大きいインデックスよりもスペース をあまり占めないので、ディスクスペースの利用率も改善される。 PATHテーブルにおけるシャドーキーはPATHの構造的な性質を利用して いる。複合キーとすることによりLIKE演算子の変わりにSQL内で正確なマ ッチングを使用できる。例えば、 WHERE PATH LIKE ’1.10%’の代わりにWHERE LEV1=1およびLEV2=1 0....である。 LEVコラムの各々が自分のインデックスを有する場合、サブツリーサーチは ベースオブジェクトを使用するだけでよい。すなわち、LEV2=10である。 エントリー10の下のすべのオブジェクトはLEV2=10を有するからである 。 SENTRYテーブル: 属性値のいくつかのタイプは、正規化する必要はない。例えば整数にしたり、 ブール値としたり、日付とする必要はない。これらを2回記憶する代わりに(SEA RVH.NORM およびENTRY.RAW)、SENTRYテーブルと称されるハイブリッドで は1回で記憶できる。これにより2つのテーブルをサーチし、2つのテーブルか ら検索するコストの代わりにテーブルサイズを小さくし、記憶効率を増加で きる。 OCLASSテーブル: ほとんどの属性は値が広範に変わる。例えば姓はAALDERSからZYLA までの範囲となり、その間の値は大きく異なる。しかしながらオブジェクトクラ ス(その値は ObjectIdentifiersすなわちOIDである)は、極めて少数の値を 有する。すなわち例えば1万人の組織ではディレクトリ内のオブジェクトクラス は組織に対しorganisationalUnitおよびorganisationalPerson(その多くは後者 となり得る)となり得る。OCLASSテーブルはOCIDと称されるオブジェ クトクラスに対し数値デスクリプタを与える。このOCIDはSENTRYテー ブルに記憶でき、オブジェクトクラスをサーチまたは検索する時はマッピングが 行われる。その他のLISTコラムは標準的オブジェクトクラスのコンフィギュ レーション情報を記憶する。すなわち属性および敬称されたスーパークラスを含 むことができる。 6.2 ポータビリティ BLOBテーブル: これまでこのテーブルは「二進の大きいオブジェクト」をホールドするのに含 まれていた。ENTRYテーブル内の1つの行のエントリーの最大サイズはRA Wフィールドの長さによって制限されている。このことはエントリーをフラグメ ント状にしなければならないことを意味している。フラグメント状にされたエン トリーは2つ以上の行を占めるので、特定の行に記憶されているエントリーのフ ラグメントを表示するのにVFRAGフィールドを使用しなければならない。極 めて大きな値を記憶するのに2つのオプションがある。 a)エントリーテーブルへフラグメントフラグを加え、多数のライン上のフ ラグメントにエントリーを記憶するか、 b)エントリーを記憶するようBLOBテーブルを加え、ENTRYテーブ ルにBLOBフラグを加え、BLOBにその値が記憶されたことを表示する。 第2オプションは多数の利点を有する。第1に、BLOBテーブルを含むこと によりENTRYテーブルが過度に大きくなるのが防止される。ほとんどのエン トリーの長さは数百キャラクターよりも短いので、ENTRYテーブル内のRA Wフィールドの長さはそのエントリーの満たすように短縮でき、最大記録サイズ に近い値までBLOBテーブル内のRAWフィールドを増加できる。これにより 記憶がより効率的となる。すなわち各テーブルの各コラム内の使用されていない バイトの数が少なくなり、BLOBテーブル内の各エントリーに必要なフラグメ ント数が少なくなる。このことは、各値はENTRYテーブル内に1つのエント リーしか有しないこと、およびENTRYテーブルおよびSEARCHテーブル が1対1の相関性を維持することを意味する。第2に、BLOBテーブルを使用 することによりアプリケーションは二進の大きいオブジェクト(例えば64Kの 二進コラム)に対するデータベースのサポートを活用できるようになっている。 6.3 機能的拡張性 FLAGSコラム: FLAGSコラムは追加することが好ましい。これらコラムはデザインに拡張 性を与えるために加えられていた。新しい機能が必要な場合にはテーブル構造を 変えることなくフラグに特定の値を加えることができる。 注:a)SEARCHテーブルではFLAGSフィールドにDISTING フィールドを吸収してもよい。 b)DITテーブルではFLAGSフィールドにALIASフィールド を吸収してもよい。 FLAGSコラムはテーブルの各々に対するサマリー機能を提供することもで きる。このことはFLAGSフィールドの値をチェックすることによりエントリ ーの性質をある程度決定できることを意味している。例えばエントリーがリーフ である時にはDITテーブルにフラグをセットできる。ENTRYのチルドレン をチェックすることよりも、このFLAGSをチェックすることのほうがより簡 単である。 7. 実現例 次にはシステムの性能および能力の一例を示す。本発明は次の開示内容のみに 限定されるものでないと理解すべきである。 7.1 システム全体の利点 本発明は従来の実現例よりも改善された性能を提供すると考えられる。性能は 下記の方法を含む多くの方法で評価できる。 エリアス; サイズ(リレーショナル理論の利用); 複雑性(照会オプティマイザーおよびサーチ方法の利用); 拡張性(メタデータの使用);および 実質的に効率(ディスクをベースとするモデルの使用)および信頼性(R DBMSの使用)を実質的に低下することがない。 本発明は上記すべての分野において性能を改善できるという点でユニークであ ると考えられる。 7.2 テストの結果 下記を目標として本発明の性能のテストを実行した。 ・SQLをベースとするX.500アプリケーションが秒以下の速度で作動 できることを証明し、X.500DSAアプリケーションを統合RDBMSアプ リケーションとして実現し、効率と性能を得ることは不可能であるという、市場 において広く信じられている神話をなくすこと。 ・SQLをベースとするX.500アプリケーションのデザインが代表的な 現在のデザインの限界である100Kのエントリーを越える、特にデータベース 用の現行のメモリ常駐スタイルのX.500デザインを凌ぐことができることを 証明すること。 ・広範な種々のサービスおよびデータベースのサイズが要求される際に、上 記性能を実証できる構造的組のテストを証明すること。 これらテストの結果は次の表7Aに示されている。 7.3 テストの結論 階層の深さおよび幅が異なる1K〜200Kのエントリーにおよぶ一組のディ レクトリを構築し、対応するテストプランを採用した。一貫性を保証するように 多数回テストを実行した。これら結果から次の結論を出すことができる。 1.テストにおけるナビゲーションの効果は無視できるものであった。 2.テストにおけるエリアスを介したオブジェクトの読み出しは性能上の大き な低下は示さなかった。あるケースにおいて、エリアスを介したオブジェクトの 読み出しは実際にオブジェクトを直接読み出すことよりも高速であった。これは エリアスがエリアスエントリーよりもツリー構造内の低い位置にあるオブジェク トを下方にポイントしている時に、必要とされるナビゲーションが少なくなるこ とに起因するものである。 3.サーチ結果は正確かつ初期のストリングサーチの双方に対して異なる大き さのディレクトリ内の異なるサイズのサブツリーに対してフラットであった。 4.サーチされるエントリーの数のほうが多くても、テストにおける初期サー チおよび正確なフルツリーサーチはそれぞれのサブツリーサーチよりも若干速か った。これはフルツリーサーチはより効率的なSQLを使用できる(テーブルの 結合は不要である)ことに起因するものである。 5.テストにおけるすべてのサービスは多量のデータをリターンするサーチを 除き1秒内で実行できた。しかしながら、エントリー当たりの検索の平均時間は 検索されるエントリーの数が増加するにつれて低下した(例えば10のエントリ ーに対してはエントリー当たりの検索時間は約50ミリ秒であり、100のエン トリーではエントリー当たりの検索時間は約20ミリ秒まで低下した)。 6.テストにおけるすべての複雑なサーチは1秒内で実行された。しかしなが ら、同じように実行できない(NOTの組み合わせを含むような)不明瞭なサー チも存在し得る。 このシステムは(メモリをベースとするシステムでなく)ディスクをベースと するシステムであるので、性能は基本的には実際にリターンすべきエントリー数 のみによって決まる。このシステムはサーチの複雑さ、階層の深さ、エントリー ごとの属性の数、または照会中に使用される属性のタイプとは比較的無関係であ る。システムの生きた状態のアプリケーションではキャッシングパラメータをチ ューニングし、属性の多様性をより広くすることにより達成されるテスト結果を 改善することも可能である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AP(KE,MW,SD,SZ,UG), AM,AT,AU,BB,BG,BR,BY,CA,C H,CN,CZ,DE,DK,EE,ES,FI,GB ,GE,HU,IS,JP,KE,KG,KP,KR, KZ,LK,LR,LT,LU,LV,MD,MG,M K,MN,MW,MX,NO,NZ,PL,PT,RO ,RU,SD,SE,SG,SI,SK,TJ,TM, TT,UA,UG,US,UZ,VN

Claims (1)

  1. 【特許請求の範囲】 1.リレーショナルデータベースに対してX.500を実施するようになって いる装置。 2.リレーショナルデータベースがSQLを使用するRDBMSである、請求 項1記載の装置。 3.X.500を実施し、メタデータを使用するデータベースアプリケーショ ン。 4.プロパティテーブルによってメタデータが提供される、請求項3記載のデ ータベースアプリケーション。 5.メタデータがデータタイプから比較的独立している、請求項3記載のデー タベースアプリケーション。 6.メタデータが言語のアルファベットから比較的独立している、請求項3記 載のデータベースアプリケーション。 7.メタデータが正規化される、請求項3記載のデータベースアプリケーショ ン。 8.属性、オブジェクトおよび階層テーブルを含むリレーショナルデータベー ス。 9.1つ以上のデータベース照会にリクエストをマッピングする変換手段と、 RDBMSを使用して1つ以上の照会を評価するための評価手段とを含む、デ ータベースアプリケーションによりX.500サービスリクエストを実行するよ うになっている装置。 10.フィルタおよび範囲を適用する工程を含む、データベースにおけるエリア をサーチする方法。 11.一組のサーチエリアが見つかるまでエリアスを分解することによりサーチ エリアを拡張する工程と、 サーチエリアの組にフィルタおよび範囲を適用する工程とを含む、エリアスを 備えたデータベース内でエリアをサーチする方法。 12.データベースがX.500を利用する、請求項10または11記載の方法 。 13.1回の分解でフィルタおよび範囲を評価する工程を実行する、請求項10 、11または12記載の方法。 14.固定された組の照会/サービスを使用して任意データを処理することを含 む、リレーショナルデータベースに対しX.500を実施する方法。 15.データベースがSQLを備えたリレーショナルデータベースである、請求 項14記載の方法。 16.データベースが250000またはそれ以上のエントリーを有する、請求 項15記載の方法。 17.プロパティテーブルに対し機能的分解を実施する工程を含む、リレーショ ナルデータベースでX.500を実施する方法。 18.サービス分解工程を更に含む、請求項17記載の方法。 19.物理的変換工程を更に含む、請求項18記載の方法。 20.メタデータを正規化する工程と、 データベースに正規化されたメタデータを記憶する工程を含む、データベース のサーチを促進するようデータベースにメタデータを記憶する方法。 21.正規化されたメタデータをインデクシングする工程を更に含む、請求項2 0記載の方法。 22.本明細書に開示したような方法。 23.本明細書に開示したような装置またはデバイス。 24.請求項1〜23のいずれかの装置および/または方法を含むデバイスまた はシステム。
JP8508362A 1994-09-01 1995-08-30 X.500システムおよび方法 Ceased JPH10505690A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
AU9586 1985-03-06
AUPM7842A AUPM784294A0 (en) 1994-09-01 1994-09-01 X.500 system and methods
AUPM9586A AUPM958694A0 (en) 1994-11-21 1994-11-21 X.500 system and methods
PCT/AU1995/000560 WO1996007147A1 (en) 1994-09-01 1995-08-30 X.500 system and methods
AU7842 1998-12-22

Publications (1)

Publication Number Publication Date
JPH10505690A true JPH10505690A (ja) 1998-06-02

Family

ID=25644756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8508362A Ceased JPH10505690A (ja) 1994-09-01 1995-08-30 X.500システムおよび方法

Country Status (7)

Country Link
US (10) US6052681A (ja)
EP (5) EP1313038A3 (ja)
JP (1) JPH10505690A (ja)
AT (1) ATE239257T1 (ja)
DE (1) DE69530595T2 (ja)
ES (1) ES2204962T3 (ja)
WO (1) WO1996007147A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011523750A (ja) * 2008-06-03 2011-08-18 アルカテル−ルーセント X500データモデルをリレーショナル・データベースにマッピングするための方法

Families Citing this family (139)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1313038A3 (en) * 1994-09-01 2005-09-07 Computer Associates Think, Inc. X.500 System and methods using metadata
US7315860B1 (en) * 1994-09-01 2008-01-01 Computer Associates Think, Inc. Directory service system and method with tolerance for data entry storage and output
AUPQ678500A0 (en) * 2000-04-07 2000-05-11 Computer Associates Think, Inc. Directory searching apparatus and method(s)
US8065338B2 (en) 1995-08-30 2011-11-22 Computer Associates Think, Inc. Directory searching methods and systems
US6295380B1 (en) * 1997-02-27 2001-09-25 Matsushita Electric Industrial Co., Ltd. Object data processing apparatus, object data recording apparatus, data storage media, data structure for transmission
US7631012B2 (en) * 1997-05-22 2009-12-08 Computer Associates Think, Inc. System and method of operating a database
US6760746B1 (en) 1999-09-01 2004-07-06 Eric Schneider Method, product, and apparatus for processing a data request
GB2329044B (en) * 1997-09-05 2002-10-09 Ibm Data retrieval system
US6243703B1 (en) * 1997-10-14 2001-06-05 International Business Machines Corporation Method of accessing and displaying subsystem parameters including graphical plan table data
US6192362B1 (en) * 1997-12-15 2001-02-20 International Business Machines Corporation System and method for creating a search form for accessing directory information
EP1086435A1 (en) * 1998-06-11 2001-03-28 Boardwalk AG System, method, and computer program product for providing relational patterns between entities
US6356892B1 (en) * 1998-09-24 2002-03-12 International Business Machines Corporation Efficient implementation of lightweight directory access protocol (LDAP) search queries with structured query language (SQL)
US6347312B1 (en) * 1998-11-05 2002-02-12 International Business Machines Corporation Lightweight directory access protocol (LDAP) directory server cache mechanism and method
US6587856B1 (en) 1998-12-07 2003-07-01 Oracle International Corporation Method and system for representing and accessing object-oriented data in a relational database system
US7801913B2 (en) * 1998-12-07 2010-09-21 Oracle International Corporation System and method for querying data for implicit hierarchies
US6748374B1 (en) 1998-12-07 2004-06-08 Oracle International Corporation Method for generating a relational database query statement using one or more templates corresponding to search conditions in an expression tree
US6442546B1 (en) * 1998-12-30 2002-08-27 At&T Corp. Messaging system with application-defined states
US7188138B1 (en) * 1999-03-22 2007-03-06 Eric Schneider Method, product, and apparatus for resource identifier registration and aftermarket services
US9141717B2 (en) 1999-03-22 2015-09-22 Esdr Network Solutions Llc Methods, systems, products, and devices for processing DNS friendly identifiers
USRE43690E1 (en) 1999-03-22 2012-09-25 Esdr Network Solutions Llc Search engine request method, product, and apparatus
US7085763B2 (en) * 1999-04-27 2006-08-01 Canon Kabushiki Kaisha Device search system
US7313581B1 (en) * 1999-04-29 2007-12-25 International Business Machines Corporation Method for deferred deletion of entries for a directory service backing store
US6539382B1 (en) * 1999-04-29 2003-03-25 International Business Machines Corporation Intelligent pre-caching algorithm for a directory server based on user data access history
US6470332B1 (en) * 1999-05-19 2002-10-22 Sun Microsystems, Inc. System, method and computer program product for searching for, and retrieving, profile attributes based on other target profile attributes and associated profiles
US6473898B1 (en) * 1999-07-06 2002-10-29 Pcorder.Com, Inc. Method for compiling and selecting data attributes
AUPQ428499A0 (en) 1999-11-26 1999-12-23 Computer Associates Pty. Ltd. A method and apparatus for operating a data base
JP3569912B2 (ja) * 1999-12-27 2004-09-29 日本電気株式会社 Ip網サービス管理のためのサービス指向dit構成を記録したコンピュータ読み取り可能な記録媒体
US6615223B1 (en) 2000-02-29 2003-09-02 Oracle International Corporation Method and system for data replication
AU2001243443A1 (en) * 2000-03-09 2001-09-17 The Web Access, Inc. Method and apparatus for performing a research task by interchangeably utilizinga multitude of search methodologies
JP2001291308A (ja) * 2000-04-10 2001-10-19 Alpine Electronics Inc Dvdビデオプレーヤ
US6714930B1 (en) * 2000-05-31 2004-03-30 International Business Machines Corporation Lightweight directory access protocol, (LDAP) trusted processing of unique identifiers
AU2001271604A1 (en) * 2000-06-28 2002-01-08 Gutierrez, Francisco System and method for providing personalized recommendations
US6609121B1 (en) 2000-07-17 2003-08-19 International Business Machines Corporation Lightweight directory access protocol interface to directory assistance systems
JP3983961B2 (ja) * 2000-07-18 2007-09-26 株式会社東芝 ディレクトリ情報管理装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体
GB2368929B (en) * 2000-10-06 2004-12-01 Andrew Mather An improved system for storing and retrieving data
US8161081B2 (en) 2001-03-16 2012-04-17 Michael Philip Kaufman System and method for generating automatic user interface for arbitrarily complex or large databases
AUPR111700A0 (en) * 2000-10-31 2000-11-23 Fillingham, Neil Peter Browsing method and apparatus
US7016897B2 (en) * 2000-12-29 2006-03-21 International Business Machines Corporation Authentication referral search for LDAP
US7480860B2 (en) * 2001-04-23 2009-01-20 Versata Computer Industry Solutions, Inc. Data document generator to generate multiple documents from a common document using multiple transforms
US7016945B2 (en) * 2001-04-27 2006-03-21 Sun Microsystems, Inc. Entry distribution in a directory server
US6785686B2 (en) 2001-05-29 2004-08-31 Sun Microsystems, Inc. Method and system for creating and utilizing managed roles in a directory system
US7747758B2 (en) * 2001-10-29 2010-06-29 International Business Machines Corporation Dynamic port assignment
US6976015B2 (en) * 2001-11-07 2005-12-13 Hyperion Solutions Corporation Method for extracting data from a relational database using a reduced query
US7225256B2 (en) 2001-11-30 2007-05-29 Oracle International Corporation Impersonation in an access system
US7213018B2 (en) * 2002-01-16 2007-05-01 Aol Llc Directory server views
US7743045B2 (en) 2005-08-10 2010-06-22 Google Inc. Detecting spam related and biased contexts for programmable search engines
US7716199B2 (en) 2005-08-10 2010-05-11 Google Inc. Aggregating context data for programmable search engines
US7693830B2 (en) 2005-08-10 2010-04-06 Google Inc. Programmable search engine
US20040044653A1 (en) * 2002-08-27 2004-03-04 Jameson Kevin Wade Collection shortcut expander
US20040088365A1 (en) * 2002-10-30 2004-05-06 Sun Microsystems, Inc. Service information model mapping with shared directory tree representations
US7076488B2 (en) * 2003-01-29 2006-07-11 Hewlett-Packard Development Comapny, L.P. XML-LDAP adapters and methods therefor
US8250108B1 (en) * 2003-02-07 2012-08-21 Teradata Us, Inc. Method for transferring data into database systems
US7216123B2 (en) * 2003-03-28 2007-05-08 Board Of Trustees Of The Leland Stanford Junior University Methods for ranking nodes in large directed graphs
US7028029B2 (en) * 2003-03-28 2006-04-11 Google Inc. Adaptive computation of ranking
US7542962B2 (en) * 2003-04-30 2009-06-02 International Business Machines Corporation Information retrieval method for optimizing queries having maximum or minimum function aggregation predicates
US20040243616A1 (en) * 2003-05-30 2004-12-02 International Business Machines Corporation Sorting and filtering a treetable using the indices of the rows
US20050010610A1 (en) * 2003-07-08 2005-01-13 Konica Minolta Business Technologies, Inc. File management system, file management apparatus and image forming apparatus
US20050015383A1 (en) * 2003-07-15 2005-01-20 Microsoft Corporation Method and system for accessing database objects in polyarchical relationships using data path expressions
US7313572B2 (en) * 2003-09-30 2007-12-25 Oracle International Corporation Attribute partitioning for user extensibility
US8321278B2 (en) * 2003-09-30 2012-11-27 Google Inc. Targeted advertisements based on user profiles and page profile
US20050222989A1 (en) * 2003-09-30 2005-10-06 Taher Haveliwala Results based personalization of advertisements in a search engine
US7882132B2 (en) 2003-10-09 2011-02-01 Oracle International Corporation Support for RDBMS in LDAP system
US7340447B2 (en) * 2003-10-09 2008-03-04 Oracle International Corporation Partitioning data access requests
US7904487B2 (en) 2003-10-09 2011-03-08 Oracle International Corporation Translating data access requests
US7620630B2 (en) * 2003-11-12 2009-11-17 Oliver Lloyd Pty Ltd Directory system
US7111797B2 (en) * 2004-03-22 2006-09-26 International Business Machines Corporation Non-contact fluid particle cleaner and method
US7716223B2 (en) 2004-03-29 2010-05-11 Google Inc. Variable personalization of search results in a search engine
US8943050B2 (en) * 2004-05-21 2015-01-27 Ca, Inc. Method and apparatus for optimizing directory performance
GB0412906D0 (en) 2004-06-09 2004-07-14 Capture Ltd Data compilation apparatus and method
US7565630B1 (en) 2004-06-15 2009-07-21 Google Inc. Customization of search results for search queries received from third party sites
US7904488B2 (en) 2004-07-21 2011-03-08 Rockwell Automation Technologies, Inc. Time stamp methods for unified plant model
US7779022B2 (en) * 2004-09-01 2010-08-17 Oracle International Corporation Efficient retrieval and storage of directory information system knowledge referrals
US7340672B2 (en) * 2004-09-20 2008-03-04 Intel Corporation Providing data integrity for data streams
US8756521B1 (en) 2004-09-30 2014-06-17 Rockwell Automation Technologies, Inc. Systems and methods for automatic visualization configuration
US7315854B2 (en) * 2004-10-25 2008-01-01 International Business Machines Corporation Distributed directory replication
US7962484B2 (en) * 2004-12-03 2011-06-14 Oracle International Corporation LDAP bulk append
US8433720B2 (en) * 2004-12-29 2013-04-30 Oracle International Corporation Enabling an application to interact with an LDAP directory as though the LDAP directory were a database object
EP1677208A1 (en) * 2004-12-30 2006-07-05 Sap Ag Method and system for searching for data objects
EP1688817A1 (en) * 2005-02-03 2006-08-09 Sun Microsystems France S.A. Method and apparatus for requestor sensitive role membership lookup
US7685203B2 (en) * 2005-03-21 2010-03-23 Oracle International Corporation Mechanism for multi-domain indexes on XML documents
US7373348B2 (en) * 2005-04-14 2008-05-13 International Business Machines Corporation Distributed directory deployment
US8799800B2 (en) 2005-05-13 2014-08-05 Rockwell Automation Technologies, Inc. Automatic user interface generation
US7809683B2 (en) 2005-05-13 2010-10-05 Rockwell Automation Technologies, Inc. Library that includes modifiable industrial automation objects
US7676281B2 (en) 2005-05-13 2010-03-09 Rockwell Automation Technologies, Inc. Distributed database in an industrial automation environment
US7672737B2 (en) 2005-05-13 2010-03-02 Rockwell Automation Technologies, Inc. Hierarchically structured data model for utilization in industrial automation environments
US7650405B2 (en) 2005-05-13 2010-01-19 Rockwell Automation Technologies, Inc. Tracking and tracing across process boundaries in an industrial automation environment
US7689634B2 (en) * 2005-09-16 2010-03-30 Oracle International Corporation Flexible approach to store attribute information (META-DATA) related to files of a file system
US8412750B2 (en) * 2005-09-26 2013-04-02 Research In Motion Limited LDAP to SQL database proxy system and method
US7548789B2 (en) 2005-09-29 2009-06-16 Rockwell Automation Technologies, Inc. Editing lifecycle and deployment of objects in an industrial automation environment
US7881812B2 (en) 2005-09-29 2011-02-01 Rockwell Automation Technologies, Inc. Editing and configuring device
US7822736B2 (en) * 2005-09-30 2010-10-26 Computer Associates Think, Inc. Method and system for managing an index arrangement for a directory
US8275680B2 (en) 2005-09-30 2012-09-25 Rockwell Automation Technologies, Inc. Enabling transactional mechanisms in an automated controller system
US7734590B2 (en) 2005-09-30 2010-06-08 Rockwell Automation Technologies, Inc. Incremental association of metadata to production data
US8484250B2 (en) 2005-09-30 2013-07-09 Rockwell Automation Technologies, Inc. Data federation with industrial control systems
US7562087B2 (en) * 2005-09-30 2009-07-14 Computer Associates Think, Inc. Method and system for processing directory operations
US7660638B2 (en) 2005-09-30 2010-02-09 Rockwell Automation Technologies, Inc. Business process execution engine
US7801628B2 (en) 2005-09-30 2010-09-21 Rockwell Automation Technologies, Inc. Industrial operator interfaces interacting with higher-level business workflow
US7743363B2 (en) * 2005-10-13 2010-06-22 Microsoft Corporation Extensible meta-data
US8321486B2 (en) * 2005-11-09 2012-11-27 Ca, Inc. Method and system for configuring a supplemental directory
US8458176B2 (en) * 2005-11-09 2013-06-04 Ca, Inc. Method and system for providing a directory overlay
US8326899B2 (en) 2005-11-09 2012-12-04 Ca, Inc. Method and system for improving write performance in a supplemental directory
US20070112791A1 (en) * 2005-11-09 2007-05-17 Harvey Richard H Method and system for providing enhanced read performance for a supplemental directory
US7624118B2 (en) * 2006-07-26 2009-11-24 Microsoft Corporation Data processing over very large databases
US8073842B2 (en) * 2006-11-01 2011-12-06 Red Hat, Inc. Deriving cross-organizational relationships from LDAP source data
US7734611B2 (en) * 2006-11-01 2010-06-08 Red Hat, Inc. Dynamic views based on LDAP
US7734662B2 (en) * 2006-11-01 2010-06-08 Red Hat, Inc. Extension of organizational chart dynamic group lists based on LDAP lookups
US7730084B2 (en) * 2006-11-01 2010-06-01 Red Hat, Inc. Nested queries with index
US7797281B1 (en) 2007-01-12 2010-09-14 Symantec Operating Corporation Granular restore of data objects from a directory service
US9112873B2 (en) 2007-04-10 2015-08-18 Apertio Limited Alias hiding in network data repositories
US8402147B2 (en) * 2007-04-10 2013-03-19 Apertio Limited Nomadic subscriber data system
US8782085B2 (en) 2007-04-10 2014-07-15 Apertio Limited Variant entries in network data repositories
CN101295306B (zh) * 2007-04-26 2012-09-05 国际商业机器公司 目录服务器中的修改条目名称操作方法和相应设备
US8112434B2 (en) * 2007-07-09 2012-02-07 International Business Machines Corporation Performance of an enterprise service bus by decomposing a query result from the service registry
US20090063417A1 (en) * 2007-08-30 2009-03-05 Kinder Nathan G Index attribute subtypes for LDAP entries
DE102007057248A1 (de) * 2007-11-16 2009-05-20 T-Mobile International Ag Verbindungsschicht für Datenbanken
US9558169B2 (en) * 2007-11-20 2017-01-31 Sap Se Hierarchical grouping columns
DE102008047915B4 (de) * 2008-09-19 2010-05-12 Continental Automotive Gmbh Infotainmentsystem und Computerprogrammprodukt
US20100241893A1 (en) 2009-03-18 2010-09-23 Eric Friedman Interpretation and execution of a customizable database request using an extensible computer process and an available computing environment
US8819073B2 (en) * 2009-04-02 2014-08-26 Telefonaktiebolaget L M Ericsson (Publ) Method for managing a directory, controller, system including servers, and computer program
JP5471035B2 (ja) * 2009-05-26 2014-04-16 ソニー株式会社 表示装置、表示装置の製造方法、および電子機器
US8868510B2 (en) * 2009-12-03 2014-10-21 Sybase, Inc. Managing data storage as an in-memory database in a database management system
US8484401B2 (en) 2010-04-15 2013-07-09 Rockwell Automation Technologies, Inc. Systems and methods for conducting communications among components of multidomain industrial automation system
US9392072B2 (en) 2010-04-15 2016-07-12 Rockwell Automation Technologies, Inc. Systems and methods for conducting communications among components of multidomain industrial automation system
US8984533B2 (en) 2010-04-15 2015-03-17 Rockwell Automation Technologies, Inc. Systems and methods for conducting communications among components of multidomain industrial automation system
CN102231757B (zh) * 2011-06-29 2013-11-06 浙江大学 一种在线的服务组合推荐系统及其推荐方法
US9430548B1 (en) * 2012-09-25 2016-08-30 Emc Corporation Generating context tree data based on a tailored data model
US10922331B2 (en) 2012-09-28 2021-02-16 Oracle International Corporation Cloning a pluggable database in read-write mode
US10635674B2 (en) 2012-09-28 2020-04-28 Oracle International Corporation Migrating a pluggable database between database server instances with minimal impact to performance
US9158796B1 (en) * 2013-03-11 2015-10-13 Ca, Inc. Data source modeling methods for heterogeneous data sources and related computer program products and systems
US20140343989A1 (en) * 2013-05-16 2014-11-20 Phantom Technologies, Inc. Implicitly linking access policies using group names
US10579478B2 (en) 2015-10-23 2020-03-03 Oracle International Corporation Pluggable database archive
US11068437B2 (en) 2015-10-23 2021-07-20 Oracle Interntional Corporation Periodic snapshots of a pluggable database in a container database
US10606578B2 (en) 2015-10-23 2020-03-31 Oracle International Corporation Provisioning of pluggable databases using a central repository
US10789131B2 (en) 2015-10-23 2020-09-29 Oracle International Corporation Transportable backups for pluggable database relocation
US10162729B1 (en) 2016-02-01 2018-12-25 State Farm Mutual Automobile Insurance Company Automatic review of SQL statement complexity
CN108536705B (zh) * 2017-03-02 2021-10-01 华为技术有限公司 数据库系统中对象的编码及运算方法与数据库服务器
CN107463695A (zh) * 2017-08-14 2017-12-12 浪潮软件股份有限公司 一种数据存储的方法及装置
US10942908B2 (en) * 2019-01-14 2021-03-09 Business Objects Software Ltd. Primary key determination
US11726952B2 (en) 2019-09-13 2023-08-15 Oracle International Corporation Optimization of resources providing public cloud services based on adjustable inactivity monitor and instance archiver

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914571A (en) * 1987-06-15 1990-04-03 International Business Machines Corporation Locating resources in computer networks
US5218699A (en) * 1989-08-24 1993-06-08 International Business Machines Corporation Remote procedure calls in heterogeneous systems
AU631276B2 (en) 1989-12-22 1992-11-19 Bull Hn Information Systems Inc. Name resolution in a directory database
US5117349A (en) 1990-03-27 1992-05-26 Sun Microsystems, Inc. User extensible, language sensitive database system
US5291583A (en) 1990-12-14 1994-03-01 Racal-Datacom, Inc. Automatic storage of persistent ASN.1 objects in a relational schema
US5317742A (en) * 1991-06-21 1994-05-31 Racal-Datacom, Inc. Dynamic translation of network management primitives to queries to a database
US5388255A (en) * 1991-12-19 1995-02-07 Wang Laboratories, Inc. System for updating local views from a global database using time stamps to determine when a change has occurred
US5414812A (en) * 1992-03-27 1995-05-09 International Business Machines Corporation System for using object-oriented hierarchical representation to implement a configuration database for a layered computer network communications subsystem
US5412804A (en) 1992-04-30 1995-05-02 Oracle Corporation Extending the semantics of the outer join operator for un-nesting queries to a data base
US5442690A (en) * 1992-08-25 1995-08-15 Bell Communications Research, Inc. Telecommunication service record structure and method of execution
JPH0820982B2 (ja) 1992-11-12 1996-03-04 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・アプリケーションプログラム収納体の項目をフィルタ処理する方法
US5491817A (en) * 1993-05-25 1996-02-13 Bell Communications Research Inc. Linking system and method for accessing directory information about an object in one context when information in another context is known
US5548726A (en) 1993-12-17 1996-08-20 Taligeni, Inc. System for activating new service in client server network by reconfiguring the multilayer network protocol stack dynamically within the server node
US5659725A (en) 1994-06-06 1997-08-19 Lucent Technologies Inc. Query optimization by predicate move-around
US5758144A (en) 1994-06-24 1998-05-26 International Business Machines Corporation Database execution cost and system performance estimator
US5664172A (en) * 1994-07-19 1997-09-02 Oracle Corporation Range-based query optimizer
EP1313038A3 (en) 1994-09-01 2005-09-07 Computer Associates Think, Inc. X.500 System and methods using metadata
EP0727739B1 (en) 1995-02-17 2002-11-06 International Business Machines Corporation Object-oriented programming interface for developing and running network management applications on a network communication infrastructure
US5649182A (en) 1995-03-17 1997-07-15 Reitz; Carl A. Apparatus and method for organizing timeline data
JPH11504451A (ja) 1995-04-24 1999-04-20 アスペクト・ディベロップメント・インコーポレイテッド データベース構造に適したオブジェクトのモデリング、リレーショナルデータベース構造への翻訳、それらへの流動的なサーチ
US5634053A (en) 1995-08-29 1997-05-27 Hughes Aircraft Company Federated information management (FIM) system and method for providing data site filtering and translation for heterogeneous databases
US8065338B2 (en) 1995-08-30 2011-11-22 Computer Associates Think, Inc. Directory searching methods and systems
US5692181A (en) * 1995-10-12 1997-11-25 Ncr Corporation System and method for generating reports from a computer database
US5794232A (en) * 1996-03-15 1998-08-11 Novell, Inc. Catalog services for distributed directories
US5953716A (en) 1996-05-30 1999-09-14 Massachusetts Inst Technology Querying heterogeneous data sources distributed over a network using context interchange
US5745900A (en) 1996-08-09 1998-04-28 Digital Equipment Corporation Method for indexing duplicate database records using a full-record fingerprint
US5987446A (en) 1996-11-12 1999-11-16 U.S. West, Inc. Searching large collections of text using multiple search engines concurrently
US5878415A (en) 1997-03-20 1999-03-02 Novell, Inc. Controlling access to objects in a hierarchical database
US6003050A (en) 1997-04-02 1999-12-14 Microsoft Corporation Method for integrating a virtual machine with input method editors
US6122627A (en) 1997-05-09 2000-09-19 International Business Machines Corporation System, method, and program for object building in queries over object views
US5806061A (en) 1997-05-20 1998-09-08 Hewlett-Packard Company Method for cost-based optimization over multimeida repositories
US7631012B2 (en) 1997-05-22 2009-12-08 Computer Associates Think, Inc. System and method of operating a database
US6236997B1 (en) 1997-06-23 2001-05-22 Oracle Corporation Apparatus and method for accessing foreign databases in a heterogeneous database system
US6112198A (en) 1997-06-30 2000-08-29 International Business Machines Corporation Optimization of data repartitioning during parallel query optimization
US5864840A (en) * 1997-06-30 1999-01-26 International Business Machines Corporation Evaluation of existential and universal subquery in a relational database management system for increased efficiency
US6016499A (en) 1997-07-21 2000-01-18 Novell, Inc. System and method for accessing a directory services respository
US6112304A (en) 1997-08-27 2000-08-29 Zipsoft, Inc. Distributed computing architecture
GB2329044B (en) 1997-09-05 2002-10-09 Ibm Data retrieval system
US6195653B1 (en) 1997-10-14 2001-02-27 International Business Machines Corporation System and method for selectively preparing customized reports of query explain data
US6044442A (en) 1997-11-21 2000-03-28 International Business Machines Corporation External partitioning of an automated data storage library into multiple virtual libraries for access by a plurality of hosts
US6009422A (en) 1997-11-26 1999-12-28 International Business Machines Corporation System and method for query translation/semantic translation using generalized query language
US6016497A (en) 1997-12-24 2000-01-18 Microsoft Corporation Methods and system for storing and accessing embedded information in object-relational databases
US6192405B1 (en) 1998-01-23 2001-02-20 Novell, Inc. Method and apparatus for acquiring authorized access to resources in a distributed system
US6085188A (en) 1998-03-30 2000-07-04 International Business Machines Corporation Method of hierarchical LDAP searching with relational tables
US6115703A (en) 1998-05-11 2000-09-05 International Business Machines Corporation Two-level caching system for prepared SQL statements in a relational database management system
US6119129A (en) 1998-05-14 2000-09-12 Sun Microsystems, Inc. Multi-threaded journaling in a configuration database
US6356892B1 (en) 1998-09-24 2002-03-12 International Business Machines Corporation Efficient implementation of lightweight directory access protocol (LDAP) search queries with structured query language (SQL)
US6199062B1 (en) 1998-11-19 2001-03-06 International Business Machines Corporation Reverse string indexing in a relational database for wildcard searching
KR100288140B1 (ko) 1998-12-07 2001-05-02 이계철 이기종 데이터베이스 관리 시스템에 접근 가능한 연결 제공 시스템 및 그 방법
US6370522B1 (en) 1999-03-18 2002-04-09 Oracle Corporation Method and mechanism for extending native optimization in a database system
GB9915465D0 (en) 1999-07-02 1999-09-01 Lenzie Robert S Identified preferred indexes for databases
US6879990B1 (en) 2000-04-28 2005-04-12 Institute For Scientific Information, Inc. System for identifying potential licensees of a source patent portfolio

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011523750A (ja) * 2008-06-03 2011-08-18 アルカテル−ルーセント X500データモデルをリレーショナル・データベースにマッピングするための方法

Also Published As

Publication number Publication date
US20030213316A1 (en) 2003-11-20
EP0777883A4 (en) 1998-05-20
US20020169767A1 (en) 2002-11-14
EP1313037B1 (en) 2013-10-02
EP1313037A2 (en) 2003-05-21
WO1996007147A1 (en) 1996-03-07
US20030191759A1 (en) 2003-10-09
EP1313038A3 (en) 2005-09-07
US7634513B2 (en) 2009-12-15
US6052681A (en) 2000-04-18
US7620623B2 (en) 2009-11-17
EP1313038A2 (en) 2003-05-21
ES2204962T3 (es) 2004-05-01
US20060020613A1 (en) 2006-01-26
US20030105749A1 (en) 2003-06-05
US20030208478A1 (en) 2003-11-06
EP1313039A3 (en) 2005-04-13
DE69530595T2 (de) 2004-03-18
EP0777883A1 (en) 1997-06-11
EP1313039B1 (en) 2013-01-09
US20020116370A1 (en) 2002-08-22
DE69530595D1 (de) 2003-06-05
US7685142B2 (en) 2010-03-23
ATE239257T1 (de) 2003-05-15
US20020103785A1 (en) 2002-08-01
US20020107828A1 (en) 2002-08-08
EP1313036A2 (en) 2003-05-21
EP1313037A3 (en) 2005-04-13
EP1313036A3 (en) 2005-04-13
EP1313039A2 (en) 2003-05-21
EP0777883B1 (en) 2003-05-02

Similar Documents

Publication Publication Date Title
JPH10505690A (ja) X.500システムおよび方法
US6625615B2 (en) Data processing system and method for multi-level directory searches
US7631012B2 (en) System and method of operating a database
US20080040365A1 (en) Table arrangement for a directory service and for related method and facilitating queries for the directory
EP2131293A1 (en) Method for mapping an X500 data model onto a relational database
EP1019851A1 (en) Relational database coexistence in object oriented environments
WO2002089009A2 (en) System and method of operating a database
AU712451B2 (en) X.500 system and methods
AU6175099A (en) Data tolerance in a X.500 system and methods
AU2007201145A1 (en) Directory Services Searching System and Methods
AU2007201141A1 (en) Data Tolerance in a X.500 System and Methods
AU6175299A (en) Table arrangement for a X.500 system and methods
AU6175499A (en) Directory services searching system and methods
AU6175199A (en) Metadata in X.500 systems and methods
AU6175399A (en) Directory services system and methods with mapping
AU2007201142A1 (en) Table arrangement for a X.500 System and Methods
Martin et al. Catalogue management for a multidatabase system using an X. 500 directory system
AU2007201143A1 (en) Metadata in X.500 System and Methods
AU2007201149A1 (en) Directory Services System and Methods with Mapping
Beatrous et al. Sometimes you get what you want: SAS I/O enhancements for version 7,'
AU2001257438A1 (en) System and method of operating a database

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060516

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060816

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061002

A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20070115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070213