(57)【特許請求の範囲】
【請求項１】
複数のデータがエントリ群として該データ間の関係に基づいて階層構造を成して構成され、前記エントリ群が、少なくとも、集合属性を有するサブエントリ（以下、「集合属性サブエントリ」という）が直結されたエントリあるいは／および集合属性を有するエントリを備え、前記集合属性に関する条件および集合属性ではない属性（以下、「通常の属性」という）に関する条件より構成されるフィルタ条件を満足するエントリを、前記エントリ群から検索する集合属性検索システムであって、前記エントリ群および前記集合属性サブエントリを記憶するエントリ記憶手段と、前記集合属性および通常の属性を記憶する属性記憶手段と、前記属性記憶手段を参照して前記エントリ記憶手段から、前記フィルタ条件を構成する通常の属性に関する条件を満足するエントリを検索した後に、前記フィルタ条件を構成する集合属性に関する条件を満足する前記集合属性サブエントリあるいは／および前記集合属性を有するエントリを検索する属性検索手段と、前記属性検索手段によって検索されたエントリ、あるいは、エントリおよびサブエントリを利用して前記フィルタ条件を満たすエントリの抽出を実行するフィルタ検索実行手段と、を有することを特徴とする集合属性検索システム。
【請求項２】
前記エントリ記憶手段に、前記エントリ群中の少なくとも一部のエントリの各々が持つ少なくとも１つの属性を集合属性として指定する集合属性指定データが格納されており、前記集合属性を有するエントリの集合属性が、該集合属性指定データによって指定されている集合属性であることを特徴とする請求項１に記載の集合属性検索システム。
【請求項３】
前記集合属性指定データが、該集合属性指定データによって指定された集合属性を有するエントリに直結して配置されたサブエントリに格納されていることを特徴とする請求項２に記載の集合属性検索システム。
【請求項４】
前記エントリが、識別子で表現されていることを特徴とする請求項１から３のいずれかに記載の集合属性検索システム。
【請求項５】
前記エントリおよびサブエントリ、あるいは／および、前記集合属性および通常の属性、あるいは／および、識別子、の登録、削除および更新を行なうエントリ管理手段を有することを特徴とする請求項１から４のいずれかに記載の集合属性検索システム。
【請求項６】
複数のデータがエントリ群として該データ間の関係に基づいて階層構造を成して構成され、前記エントリ群が、少なくとも、集合属性サブエントリが直結されたエントリあるいは／および集合属性を有するエントリを備え、前記集合属性に関する条件および通常の属性に関する条件より構成されるフィルタ条件を満足するエントリを、前記エントリ群から検索する集合属性検索方法であって、前記エントリ群および前記集合属性サブエントリを記憶するエントリ記憶手段と、前記集合属性および通常の属性を記憶する属性記憶手段と、前記属性記憶手段を参照して前記エントリ記憶手段から、前記フィルタ条件を構成する通常の属性に関する条件を満足するエントリ、並びに、前記フィルタ条件を構成する集合属性に関する条件を満足する前記集合属性サブエントリあるいは／および前記集合属性を有するエントリを検索する属性検索手段と、前記属性検索手段によって検索されたエントリ、あるいは、エントリおよびサブエントリを利用して前記フィルタ条件を満たすエントリの抽出を実行するフィルタ検索実行手段と、を有するシステムを用い、前記フィルタ条件を構成する通常の属性に関する条件を満足するエントリを全エントリあるいは通常の属性を有する全エントリから検索する通常の属性検索過程と、その後に、前記フィルタ条件を構成する集合属性に関する条件を満足する前記集合属性サブエントリあるいは／および前記集合属性を有するエントリを検索する集合属性検索過程と、を有することを特徴とする集合属性検索方法。
【請求項７】
前記検索された集合属性サブエントリあるいは／および集合属性を有するエントリの影響範囲内のエントリの抽出を実行するフィルタ検索実行過程、を有することを特徴とする請求項６に記載の集合属性検索方法。
【請求項８】
前記フィルタ検索実行過程において、前記検索された集合属性サブエントリあるいは／および集合属性を有するエントリの影響範囲内のエントリが、前記通常の属性検索過程で検索されたエントリから抽出されることを特徴とする請求項７に記載の集合属性検索方法。
【請求項９】
前記フィルタ検索実行過程において、前記検索された集合属性サブエントリあるいは／および集合属性を有するエントリの影響範囲内のエントリが、前記通常の属性検索過程において検索されたエントリ以外の全エントリから抽出され、該抽出されたエントリが、前記通常の属性検索過程において検索されたエントリに加えられることを特徴とする請求項７に記載の集合属性検索方法。
【請求項１０】
前記エントリに代えて識別子が用いられることを特徴とする請求項６から９のいずれかに記載の集合属性検索方法。
【請求項１１】
複数のデータがエントリ群として該データ間の関係に基づいて階層構造を成して構成され、前記エントリ群が、少なくとも、集合属性サブエントリが直結されたエントリあるいは／および集合属性を有するエントリを備え、前記集合属性に関する条件および通常の属性に関する条件より構成されるフィルタ条件を満足するエントリを、前記エントリ群から検索する集合属性検索プログラムであって、前記フィルタ条件を構成する通常の属性に関する条件を満足するエントリを全エントリあるいは通常の属性を有する全エントリから検索する通常の属性検索手順と、前記フィルタ条件を構成する集合属性に関する条件を満足する前記集合属性サブエントリあるいは／および前記集合属性を有するエントリを検索する集合属性検索手順と、前記検索された集合属性サブエントリあるいは／および集合属性を有するエントリの影響範囲内のエントリを検索し、前記フィルタ条件を満たすエントリの抽出を実行するフィルタ検索実行手順と、をコンピュータに実行させるための集合属性検索プログラムにおいて、前記フィルタ検索実行手順は、前記検索された集合属性サブエントリあるいは／および集合属性を有するエントリの影響範囲内のエントリが、前記通常の属性検索過程で検出されたエントリから抽出される手順を備えていることを特徴とする集合属性検索プログラム。
【請求項１２】
複数のデータがエントリ群として該データ間の関係に基づいて階層構造を成して構成され、前記エントリ群が、少なくとも、集合属性サブエントリが直結されたエントリあるいは／および集合属性を有するエントリを備え、前記集合属性に関する条件および通常の属性に関する条件より構成されるフィルタ条件を満足するエントリを、前記エントリ群から検索する集合属性検索プログラムであって、前記フィルタ条件を構成する通常の属性に関する条件を満足するエントリを全エントリあるいは通常の属性を有する全エントリから検索する通常の属性検索手順と、前記フィルタ条件を構成する集合属性に関する条件を満足する前記集合属性サブエントリあるいは／および前記集合属性を有するエントリを検索する集合属性検索手順と、前記検索された集合属性サブエントリあるいは／および集合属性を有するエントリの影響範囲内のエントリを検索し、前記フィルタ条件を満たすエントリの抽出を実行するフィルタ検索実行手順と、をコンピュータに実行させるための集合属性検索プログラムにおいて、前記フィルタ検索実行手順は、前記検索された集合属性サブエントリあるいは／および集合属性を有するエントリの影響範囲内のエントリが、前記通常の属性検索過程において検索されたエントリ以外の全エントリから抽出される手順と、該抽出されたエントリが、前記通常の属性検索過程において検索されたエントリに加えられる手順と、を備えていることを特徴とする集合属性検索プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は集合属性検索システム、集合属性検索方法および集合属性検索プログラムに関し、特に集合属性の検索処理を効率的に実行でき、集合属性の設定を簡単に行なうことができる集合属性検索システム、集合属性検索方法および集合属性検索プログラムに関する。
【０００２】
【従来の技術】
ＩＴＵ（International Telecommunication Union）の規格文書Ｘ．５０１（１９９７年８月）に、ディレクトリシステムが備えるべき1つの機能として、集合属性（collective attribute）が定義されている。
ディレクトリとは、エントリと呼ばれるデータを階層構造にして格納する一種のデータベースであり、ユーザ管理などの情報管理に利用されている。各エントリは、管理の対象となる１つ以上の属性を持ち、各属性は属性値（以下、両者を併せて「属性情報」という）を備えているから、この属性情報よりなる条件を用いて、ディレクトリ内のエントリから所望のエントリを検索することができる。例えば，会社組織を管理するディレクトリにおいて、Ａ課エントリが「組織」という属性を有し、その属性値が「Ａ課」であるとしたら、「組織がＡ課」という属性に関する条件を用いて、Ａ課を検索することができる。検索条件には、複数の属性に関する条件の論理積（ＡＮＤ）や論理和（ＯＲ）も使用され得る。この検索の条件はフィルタ条件と呼ばれるが、フィルタ条件は、検索条件全体を指すだけではなく、検索条件全体あるいは一部を構成する論理積や論理和の部分を指すこともあるし、あるいは、それらを構成する個々の属性に関する条件を指すこともある。
【０００３】
上述の規格文書によれば、あるエントリを集合属性管理エントリ（以下、「管理エントリ」と略す）と呼ばれる特殊なエントリとして設定すると、その直下には、集合属性と呼ばれる特殊な属性を格納できる集合属性サブエントリ（以下、「サブエントリ」と略す）を作成することができる。集合属性を格納したサブエントリが作成されると、例えばそのサブエントリが直結されている管理エントリより下位のサブツリーのエントリ、あるいは、サブツリーのエントリの一部などが、それらのサブエントリや管理エントリ、および、それらが格納している集合属性の影響範囲内にあり、それらの持つ集合属性情報を自らも持っているかのように振る舞う。具体的には、ある集合属性情報がフィルタ条件を満足する場合は、その集合属性の影響範囲内のエントリが、そのフィルタ条件を満足するエントリになり、また、それらの影響範囲内のエントリから属性を読み出した場合には、その集合属性情報も読み出される。
【０００４】
【発明が解決しようとする課題】
上述の規格にしたがって集合属性を用いた検索を実現しようとすると、以下の課題が発生する。
第１の課題は、いかに効率的に検索を行なうかということである。上述の規格文書は、集合属性を用いた検索を実現する方法ならびに手段を規定するものにはなされていない。例えば、検索の実行順序などは規定されていない。集合属性を用いた検索と、集合属性に属さない属性（以下、「通常の属性」という）を用いた検索とでは、検索にかかる手間や時間が異なる。したがって、通常の属性を用いた検索と集合属性を用いた検索とを区別せずに実行順序を決めると効率的な検索が得られない。
【０００５】
第２の課題は、集合属性の設定をいかに効率的に行なうかということである。上述の規格文書によれば、管理エントリの直下に作成したサブエントリに集合属性が格納される。集合属性には、管理エントリの少なくとも１つの属性がそのまま使われることが多いが、その場合には、例えば属性情報を変更する際に、管理エントリとサブエントリとの両方の属性情報を更新する必要が出てくるため、煩雑である。
【０００６】
本発明はこれらの課題に鑑みてなされたものであって、その第1の目的は、検索処理を効率的に実行できる集合属性検索システムを提供することである。また、本発明の第２の目的は、集合属性の設定を効率的に行なうことができる集合属性検索システムを提供することである。
【０００７】
【課題を解決するための手段】
上記の目的を達成するため、本発明によれば、複数のデータがエントリ群として該データ間の関係に基づいて階層構造を成して構成され、前記エントリ群が、少なくとも、集合属性を有するサブエントリ（以下、「集合属性サブエントリ」という）が直結されたエントリあるいは／および集合属性を有するエントリを備え、前記集合属性に関する条件および集合属性ではない属性（以下、「通常の属性」という）に関する条件より構成されるフィルタ条件を満足するエントリを、前記エントリ群から検索する集合属性検索システムであって、前記エントリ群および前記集合属性サブエントリを記憶するエントリ記憶手段と、前記集合属性および通常の属性を記憶する属性記憶手段と、前記属性記憶手段を参照して前記エントリ記憶手段から、前記フィルタ条件を構成する通常の属性に関する条件を満足するエントリを検索した後に、前記フィルタ条件を構成する集合属性に関する条件を満足する前記集合属性サブエントリあるいは／および前記集合属性を有するエントリを検索する属性検索手段と、前記属性検索手段によって検索されたエントリ、あるいは、エントリおよびサブエントリを利用して前記フィルタ条件を満たすエントリの抽出を実行するフィルタ検索実行手段と、を有することを特徴とする集合属性検索システム、が提供される。
【０００８】
また、上記の目的を達成するため、本発明によれば、複数のデータがエントリ群として該データ間の関係に基づいて階層構造を成して構成され、前記エントリ群が、少なくとも、集合属性サブエントリが直結されたエントリあるいは／および集合属性を有するエントリを備え、前記集合属性に関する条件および通常の属性に関する条件より構成されるフィルタ条件を満足するエントリを、前記エントリ群から検索する集合属性検索方法であって、前記エントリ群および前記集合属性サブエントリを記憶するエントリ記憶手段と、前記集合属性および通常の属性を記憶する属性記憶手段と、前記属性記憶手段を参照して前記エントリ記憶手段から、前記フィルタ条件を構成する通常の属性に関する条件を満足するエントリ、並びに、前記フィルタ条件を構成する集合属性に関する条件を満足する前記集合属性サブエントリあるいは／および前記集合属性を有するエントリを検索する属性検索手段と、前記属性検索手段によって検索されたエントリ、あるいは、エントリおよびサブエントリを利用して前記フィルタ条件を満たすエントリの抽出を実行するフィルタ検索実行手段と、を有するシステムを用い、前記フィルタ条件を構成する通常の属性に関する条件を満足するエントリを全エントリあるいは通常の属性を有する全エントリから検索する通常の属性検索過程と、その後に、前記フィルタ条件を構成する集合属性に関する条件を満足する前記集合属性サブエントリあるいは／および前記集合属性を有するエントリを検索する集合属性検索過程と、を有することを特徴とする集合属性検索方法、が提供される。
【０００９】
また、上記の目的を達成するため、本発明によれば、複数のデータがエントリ群として該データ間の関係に基づいて階層構造を成して構成され、前記エントリ群が、少なくとも、集合属性サブエントリが直結されたエントリあるいは／および集合属性を有するエントリを備え、前記集合属性に関する条件および通常の属性に関する条件より構成されるフィルタ条件を満足するエントリを、前記エントリ群から検索する集合属性検索プログラムであって、前記フィルタ条件を構成する通常の属性に関する条件を満足するエントリを全エントリあるいは通常の属性を有する全エントリから検索する通常の属性検索手順と、前記フィルタ条件を構成する集合属性に関する条件を満足する前記集合属性サブエントリあるいは／および前記集合属性を有するエントリを検索する集合属性検索手順と、前記検索された集合属性サブエントリあるいは／および集合属性を有するエントリの影響範囲内のエントリを検索し、前記フィルタ条件を満たすエントリの抽出を実行するフィルタ検索実行手順と、をコンピュータに実行させるための集合属性検索プログラムにおいて、前記フィルタ検索実行手順は、前記検索された集合属性サブエントリあるいは／および集合属性を有するエントリの影響範囲内のエントリが、前記通常の属性検索過程で検出されたエントリから抽出される手順を備えていることを特徴とする集合属性検索プログラム、が提供される。
【００１０】
また、上記の目的を達成するため、本発明によれば、複数のデータがエントリ群として該データ間の関係に基づいて階層構造を成して構成され、前記エントリ群が、少なくとも、集合属性サブエントリが直結されたエントリあるいは／および集合属性を有するエントリを備え、前記集合属性に関する条件および通常の属性に関する条件より構成されるフィルタ条件を満足するエントリを、前記エントリ群から検索する集合属性検索プログラムであって、前記フィルタ条件を構成する通常の属性に関する条件を満足するエントリを全エントリあるいは通常の属性を有する全エントリから検索する通常の属性検索手順と、前記フィルタ条件を構成する集合属性に関する条件を満足する前記集合属性サブエントリあるいは／および前記集合属性を有するエントリを検索する集合属性検索手順と、前記検索された集合属性サブエントリあるいは／および集合属性を有するエントリの影響範囲内のエントリを検索し、前記フィルタ条件を満たすエントリの抽出を実行するフィルタ検索実行手順と、をコンピュータに実行させるための集合属性検索プログラムにおいて、前記フィルタ検索実行手順は、前記検索された集合属性サブエントリあるいは／および集合属性を有するエントリの影響範囲内のエントリが、前記通常の属性検索過程において検索されたエントリ以外の全エントリから抽出される手順と、該抽出されたエントリが、前記通常の属性検索過程において検索されたエントリに加えられる手順と、を備えていることを特徴とする集合属性検索プログラム、が提供される。
【００１１】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
〔第１の実施の形態〕
図１は、本発明の第１の実施の形態に係る集合属性検索システムのブロック図である。図１に示すように、本実施の形態に係る集合属性検索システムは、キーボードや通信装置などよりなる要求入力手段１０１と、プログラム制御により動作するデータ処理装置１０２と、情報を記憶する記憶装置１０３と、ディスプレイや通信装置などよりなる結果出力手段１０４と、を有している。
記憶装置１０３は、エントリおよび各エントリが持つ属性情報を記憶するエントリ／属性記憶手段１３１を有している。エントリ／属性記憶手段１３１は、エントリおよび各エントリが持つ属性情報のほかに、エントリ間の階層構造に関する情報も記憶している。
【００１２】
データ処理装置１０２は、集合属性あるいは通常の属性に関する条件を満たすエントリをエントリ／属性記憶手段１３１を参照して検索する属性検索手段１２２と、要求入力手段１０１から要求を受け取り、属性検索手段１２２によって検索されたエントリを利用して、要求を満足するエントリを検出するフィルタ検索実行手段１２１と、エントリと属性情報を管理するエントリ管理手段１２３と、を有する。これらの検索や管理は、図示しないコントローラを用いてプログラム制御により制御される。
【００１３】
これらの手段は、それぞれ、概略、つぎのように動作する。
フィルタ検索実行手段１２１は、要求入力手段１０１から与えられた要求に含まれるフィルタ条件を解釈して、そのフィルタ条件が論理積（ＡＮＤ条件）や論理和（ＯＲ条件）で表わされていれば、個々の属性に関する条件の組み合わせに分解し、各属性に関する条件を属性検索手段１２２に渡す。属性検索手段１２２は、エントリ／属性記憶手段１３１を参照し、フィルタ検索実行手段１２１から与えられた各属性に関する条件を満たすエントリを検索して、その結果をフィルタ検索実行手段１２１に返す。フィルタ検索実行手段１２１は、属性検索手段１２２から受け取った結果を利用して、最終的な検索結果を抽出する。エントリ管理手段１２３は、検索に直接関係しないが、要求入力手段１０１からエントリや属性情報の登録、削除、更新などの要求を受け、その要求に応じてエントリ／属性記憶手段１３１に対して、エントリや属性情報の登録、削除、更新を行なう。それらの処理が終了すれば、処理結果が結果出力手段１０４に出力される。
【００１４】
以上の処理において、エントリのデータ自体ではなく、エントリを識別する識別子（以下、「エントリＩＤ」という）をエントリ／属性記憶手段１３１に記憶させ、エントリＩＤだけを用いて処理する方が効率的である。エントリＩＤとしては、例えばエントリに順に付けた通し番号や、ディレクトリの階層番号と階層別ノード番号とからなる番号などが用いられる。エントリＩＤを用いて処理が行なわれた場合、最後に得られたエントリＩＤに対応するエントリをエントリ／属性記憶手段１３１から取得して、最終的な検索結果が得られる。得られたエントリのデータが、結果出力手段１０４に渡される。
【００１５】
図２は、図１の集合属性検索システムの検索実行処理を説明するためのフローチャートである。図２のフローチャートを参照して、本実施の形態の集合属性検索システムの全体の動作について、さらに詳細に説明する。
まず、図１の要求入力手段１０１から与えられた要求のフィルタ条件が、論理積（ＡＮＤ条件）か否かが判定される（ステップＡ１０）。フィルタ条件が、複数の属性に関する条件の論理積ならば、それらの複数の属性に関する条件のうち、通常の属性に関する条件が存在するか否かが判定される（ステップＡ１１）。通常の属性に関する条件が存在しない場合には、そのままステップＡ１３に進み、全てのエントリが検索されて中間結果とされる。通常の属性に関する条件が存在する場合には、フィルタ検索実行手段１２１が、通常の属性に関する条件全てを属性検索手段１２２に渡し、属性検索手段１２２において、それらの通常の属性に関する条件を満たすエントリがエントリ／属性記憶手段１３１から検索され（ステップＡ１２）、検索されたエントリが中間結果とされる（ステップＡ１３）。次に、中間結果を候補として、集合属性に関する条件の検索が行なわれる。具体的には、まず、集合属性に関する条件が残っているかどうかが調べられ（ステップＡ１４）、残っていない場合には、ステップＡ４０に進み、中間結果が最終結果として出力される。残っている場合には、それらの集合属性に関する条件のうちの１つが選択され、その選択された条件を直接的に満足するエントリが、エントリ／属性記憶手段内の全エントリあるいは集合属性を直接的に格納する全エントリ中から、属性検索手段１２２を用いて呼び出される（ステップＡ１５）。次いで、中間結果に含まれるエントリの中から、選択された集合属性に関する条件を直接的に満足するエントリおよびその集合属性の影響範囲内のエントリのいずれでもないものが除外され（ステップＡ１６）、残ったエントリが新しい中間結果として更新されて、ステップＡ１４に戻る。ステップＡ１４〜Ａ１６の処理をフィルタ条件に含まれる全ての集合属性に関する条件について繰り返し、それが終了し、集合属性に関する条件が残っていないと、最終的に残ったエントリが、検索によって求められる結果として出力される（ステップＡ４０）。
【００１６】
ステップＡ１０においてフィルタ条件が論理積でない場合には、論理和（ＯＲ条件）か否かが判定される（ステップＡ２０）。フィルタ条件が、複数の属性に関する条件の論理和である場合には、論理積の場合と同様に、それらの条件に通常の属性に関する条件が存在すれば、通常の属性に関する条件を満たすエントリが検索され、中間結果が得られる（ステップＡ２３）。通常の属性に関する条件が存在しない場合は、検索が行なわれず、中間結果には何らのエントリも存在しない。次に、集合属性に関する条件の検索が行なわれる。具体的には、まず、集合属性に関する条件が残っているかどうかが調べられ（ステップＡ２４）、残っていない場合には、ステップＡ４０に進み、中間結果が最終結果として出力される。残っている場合には、論理積の場合のステップＡ１５と同様に、１つの選択された集合属性に関する条件を直接的に満足するエントリが呼び出される（ステップＡ２５）。次いで、中間結果に含まれていないエントリの中から、選択された集合属性に関する条件を直接的に満足するエントリおよびその集合属性の影響範囲内に含まれるエントリを中間結果に追加し（ステップＡ２６）、中間結果のエントリと追加されたエントリとの和を新しい中間結果として更新して、ステップＡ２４に戻る。ステップＡ２４〜Ａ２６の処理をフィルタ条件に含まれる全ての集合属性に関する条件について繰り返し、それが終了し、集合属性に関する条件が残っていないと、最終的に残ったエントリが、検索によって求められる結果として出力される（ステップＡ４０）。
【００１７】
ステップＡ２０において検索条件がＯＲ条件でもない場合には、検索条件が通常の属性に関する条件か否かが判定される（ステップＡ３０）。通常の属性に関する条件ならば、フィルタ検索実行手段１２１が、その条件を属性検索手段１２２に渡し、属性検索手段１２２において、その条件を満たすエントリが検索され（ステップＡ３１）、その結果が最終結果として出力される（ステップＡ４０）。ステップＡ３０において通常の属性に関する条件でない場合には集合属性に関する条件であり、まず、その条件を直接的に満足するエントリが、属性検索手段１２２を用いて呼び出され、次いで、全てのエントリあるいは通常の属性を有する全てのエントリの中から、その集合属性に関する条件を直接的に満足するエントリおよびその集合属性の影響範囲内のエントリのいずれでもないものが除外され（ステップＡ３２）、最終的に残ったエントリが、検索によって求められる結果として出力される（ステップＡ４０）。
検索条件が、論理積からなるフィルタ条件と論理和からなるフィルタ条件とが組み合わされて構成されている場合には、各論理積からなるフィルタ条件から検索されたエントリ同士の組み合わせ、各論理和からなるフィルタ条件から検索されたエントリ同士の組み合わせ、あるいは、各論理積からなるフィルタ条件から検索されたエントリと各論理和からなるフィルタ条件とから検索されたエントリとの組み合わせなどによって、検索条件を満たすエントリが求められる。
【００１８】
一般的に、集合属性を直接的に格納するエントリは、その下に、その影響範囲にある多数のエントリを擁するから、集合属性に関する検索は、通常の属性に関する検索に比して、処理時間が長くなる。本実施の形態の集合属性検索システムは、最初に通常の属性に関する条件で検索を行ない、集合属性に関する条件の影響範囲内にあるか否かをチェックする必要のある通常の属性を有する対象を減らすことによって、処理時間を削減できるという効果を有する。
なお、本実施の形態の集合属性検索システムは、集合属性が管理エントリに直接的に格納されている場合について説明されているが、Ｘ．５０１規格のように集合属性が管理エントリの直下に作成されたサブエントリに格納されるように構成されてもよい。
【００１９】
〔実施例１〕
本実施例１における集合属性検索システムは、図１の第１の実施の形態の集合属性検索システムと同様の構成を有しており、要求入力手段としてキーボードを、データ処理装置としてパーソナル・コンピュータを、記憶装置として磁気ディスク記憶装置を、結果出力手段としてディスプレイを備えている。
パーソナル・コンピュータは、フィルタ検索実行手段、属性検索手段、エントリ管理手段、および、コントローラとして機能する中央演算装置を有しており、また磁気ディスク記憶装置には、エントリあるいは／およびエントリＩＤ、各エントリの属性情報、および、エントリの階層構造などが記憶される。
【００２０】
図３は、本発明の実施例１のディレクトリ構造を説明するための階層構造図である。図３に示すように、本実施例のディレクトリは、Ｘ社の組織を管理するためのものであり、Ｘ社は、Ａ課、Ｂ課、Ｃ課、Ｄ課という４つの課を有し、Ａ課〜Ｄ課の組織が、その直下のサブエントリ（図中、Ｓｕｂ）に、所属組織という属性を集合属性として格納している。
【００２１】
「組織がＡ課で、かつ、役職が課長」という検索条件で、エントリが検索される場合を考える。「組織がＡ課」と「役職が課長」とのどちらの条件を先に検索しても同じ結果が得られるが、本実施例においては、通常の属性に関する条件である「役職が課長」が先に検索される。この検索によって、検索の対象が、４人の課長に絞り込まれる。次に集合属性に関する条件「組織がＡ課」によってＡ課が呼び出された後、この４人の課長のエントリだけが、Ａ課およびその集合属性の影響範囲に含まれるかどうかチェックされる。
【００２２】
一方、通常の属性に関する条件よりも、集合属性に関する条件「組織がＡ課」の方を先に処理した場合、まず組織属性がＡ課であるＡ課が呼び出された後、Ａ課およびその集合属性の影響範囲内にあるエントリをすべて見つける必要がある。そのためには、全エントリに対して、Ａ課およびその集合属性の影響範囲内にあるかどうかがチェックされなければならず、多大なコストを要する。
【００２３】
これに反して、上述のごとく、本実施例の集合属性検索システムによれば、４人の課長のエントリが、エントリＡ課の集合属性の影響範囲に含まれるかどうかがチェックされるだけで良く、処理効率が大幅に改善される。
なお、本実施例においては、集合属性が、Ｘ．５０１規格の通りに管理エントリの直下に作成されたサブエントリに格納されているが、集合属性は、必ずしも、サブエントリに格納される必要はなく、管理エントリに直接的に格納されていてもよい。
【００２４】
〔第２の実施の形態〕
本発明の第２の実施の形態に係る集合属性検索システムも、第１の実施の形態に係る集合属性検索システムと同様に、要求入力手段と、データ処理装置と、記憶装置と、結果出力手段と、を有しており、データ処理装置は、フィルタ検索実行手段、属性検索手段、エントリ管理手段、および、コントローラを備え、記憶装置は、エントリ／属性記憶手段を備えている。
【００２５】
本実施の形態においては、サブエントリに、例えば管理エントリの属性をそのまま集合属性として格納するのではなく、管理エントリの属性を集合属性として扱うことを示す集合属性指定データが格納される。この場合、フィルタ検索実行手段は、サブエントリの集合属性指定データを見て、どのエントリがどの集合属性を持っているように振る舞うかを判定する。集合属性指定データとしては、管理エントリの少なくとも１つの属性が集合属性として扱われるように指定される。これによって、例えば属性値を変更する場合に、管理エントリの属性値を更新するだけでよい。
集合属性指定データは、サブエントリに限られず、管理エントリと関連付けてエントリ／属性記憶手段のどこかに格納されていればよいが、サブエントリに格納される方が、Ｘ．５０１規格との調和性がよく、また、利用に便利である。
【００２６】
〔実施例２〕
本実施例２における集合属性検索システムは、実施例１における集合属性検索システムと同様のシステム構成を有しており、詳しい説明を省略する。
図４は、本実施例のディレクトリ構成を説明するための階層構造図である。図４に示すように、本実施例のディレクトリ構成においては、Ｘ社がＹ課、Ｚ課という２つの課を有し、それぞれの課が、その直下のサブエントリ（図中、Ｓｕｂ）に、「集合属性扱い」という属性を格納している。即ち、サブエントリの属性として「集合属性扱い」という属性が定義され、その値（組織）が集合属性指定データとして用いられる。これによって、それぞれの課の属性（組織）が集合属性として扱われることができる。したがって、例えば、要求入力手段からエントリ管理手段にＺ課エントリの組織名を変更する命令が発せられた場合に、エントリ管理手段は、Ｚ課エントリの組織属性の値（Ｚ課）だけを更新すればよい。
【００２７】
第１の実施の形態において、Ｘ．５０１規格に従って管理エントリの直下に作成したサブエントリに集合属性を格納し、管理エントリの属性をそのまま集合属性とした場合、即ち、実施例１においては、例えばＡ課の組織名を変更する命令が発せられた場合に、エントリ管理手段は、Ａ課エントリの組織属性の値と、サブエントリの所属組織属性の値との両方を更新しなければならない。
【００２８】
これに対して、本実施例においては、上述のように、対象となる課のエントリの組織属性の値だけを更新するだけでよい。
以上説明したように、本実施例の集合属性検索システムは、実施例１の集合属性検索システムと同じ特徴を有するとともに、集合属性の設定を簡単に行なうことを可能にするという特徴をも有する。
【００２９】
〔第３の実施の形態〕
図５は、本発明の第３の実施の形態に係る集合属性検索システムのブロック図である。図５において、図１に示す第１の実施の形態の部分と同等の部分には、下２桁が共通する参照番号を付し、重複する説明は省略する。図５に示すように、本実施の形態においては、集合属性検索プログラムが記録された記録媒体２０５が、フィルタ検索実行手段２２１に接続されている。この記録媒体２０５は磁気ディスク、半導体メモリ、あるいは、その他の記録媒体であってよい。
【００３０】
集合属性検索プログラムは、記録媒体２０５からフィルタ検索実行手段２２１に読み込まれ、データ処理装置２０２の動作を制御し、第１および第２の実施の形態と同様の検索処理の実行を可能にする。集合属性検索プログラムは、また、記憶装置２０３にエントリ／属性記憶手段が形成されていない場合には、エントリ／属性記憶手段２３１を作成する。本実施の形態の集合属性検索システムの動作は、集合属性検索プログラムによって検索が制御されるという点を除けば、第１の実施の形態、あるいは、第２の実施の形態の集合属性検索システムの動作と同様である。
【００３１】
以上、本発明をその好適な実施の形態に基づいて説明したが、本発明の集合属性検索システムは、上述した実施の形態のみに制限されるものではなく、本願発明の要旨を変更しない範囲で種々の変化を施した集合属性検索システムも、本発明の範囲に含まれる。例えば、エントリ／属性記憶手段は、検索を効率的に行なうために、例えば各エントリに属性値を関連付けるようなインデックスを収容してもよい。また、ディレクトリ構成は、ツリー構造に限らず、表形式など、階層構成およびどのエントリがどの集合属性の影響範囲内にあるかに関する情報が含まれるものであれば、どのような形式で与えられてもよい。さらに、１つのディレクトリの中で、集合属性は、管理エントリに直接的に格納されて与えられるもの、サブエントリに格納されて与えられるものが混在していてもよい。
【００３２】
【発明の効果】
以上説明したように、本発明に係る集合属性検索システムは、通常の属性に関する条件による検索を集合属性に関する条件による検索に先だって実行することにより、集合属性に関する条件による検索において呼び出された、その集合属性に関する条件を満足する管理エントリあるいはサブエントリ、および、それらが持つ集合属性の影響範囲内にあるか否かをチェックする必要のある対象を削減するものであるから、検索処理時間を削減し、検索処理を効率的に実行することを可能にする。
本発明に係る集合属性検索システムは、また、サブエントリに、管理エントリの属性が集合属性として扱われるように指定する集合属性指定データを格納するものであるから、例えば属性値を変更する場合に、管理エントリの属性値だけを更新するだけでよく、集合属性の設定を簡単に行なうことを可能にする。
【図面の簡単な説明】
【図１】  本発明の第１の実施の形態に係る集合属性検索システムのブロック図。
【図２】  図１の集合属性検索システムの検索実行処理を説明するためのフローチャート。
【図３】  本発明の実施例１のディレクトリ構成を説明するための階層構造図。
【図４】  本発明の実施例２のディレクトリ構成を説明するための階層構造図。
【図５】  本発明の第３の実施の形態に係る集合属性検索システムのブロック図。
【符号の説明】
１０１、２０１  要求入力手段
１０２、２０２  データ処理装置
１０３、２０３  記憶装置
１０４、２０４  結果出力手段
１２１、２２１  フィルタ検索実行手段
１２２、２２２  属性検索手段
１２３、２２３  エントリ管理手段
１３１、２３１  エントリ／属性記憶手段
２０５  記録媒体
【図１】
0004228267.tif 000002
【図２】
0004228267.tif 000003
【図３】
0004228267.tif 000004
【図４】
0004228267.tif 000005
【図５】
0004228267.tif 000006