(57)【要約】【課題】ツリー構造に由来する更新処理の順序性を考慮し、適用を確実に可能にする更新差分情報の生成を可能にする更新情報生成システムを提供する。【解決手段】更新元である元情報に基づき更新対象のディレクトリ情報に対する更新情報を生成する更新情報生成システムであって、元情報から生成された更新後コンテンツ型ＬＤＩＦファイル１０２と更新対象のディレクトリ情報から生成された更新前コンテンツ型ＬＤＩＦファイル１０１に基づき、ディレクトリ情報に対する更新差分情報としての更新型ＬＤＩＦファイル１２１を生成する。【選択図】　　図１
2004062735.tif 000002
【特許請求の範囲】
【請求項１】
更新元である元情報に基づき更新対象のディレクトリ情報に対する更新情報を生成する更新情報生成システムにおいて、
前記元情報から生成された更新後コンテンツ型ＬＤＩＦファイルと前記更新対象のディレクトリ情報から生成された更新前コンテンツ型ＬＤＩＦファイルに基づき、前記ディレクトリ情報に対する更新差分情報としての更新型ＬＤＩＦファイルを生成することを特徴とする更新情報生成システム。
【請求項２】
前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルとを所定の規則に従ってソート処理するソート処理部と、
ソートされた前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルを比較することで前記更新差分情報を求め、前記更新型ＬＤＩＦファイルを生成する比較処理部とを備えることを特徴とする請求項１に記載の更新情報生成システム。
【請求項３】
前記ソート処理部は、前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルを、エントリ情報の名前に基づき、階層の深さを優先し、階層が同じ深さの場合は辞書順で並び替えるツリー構造を考慮したソート処理を行うことを特徴とする請求項２に記載の更新情報生成システム。
【請求項４】
前記ソート処理部は、
前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルから、各エントリ情報の識別名とエントリ情報のファイルポインタを取得するエントリ取得部と、
前記識別名を相対識別名に分解し、分解した相対識別名と前記ファイルポインタをツリーのノードに登録するツリー作成部と、
前記ツリーの先頭から、階層の深さ優先で、かつ同じ深さの場合は辞書順に従って前記相対識別名の順序を並び替えて、ソート済みの前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルを出力するツリー探索部とを備えることを特徴とする請求項２または請求項３に記載の更新情報生成システム。
【請求項５】
前記ツリー探索部は、前記ツリーにおけるエントリの重複や欠損を検出することを特徴とする請求項４に記載の更新情報生成システム。
【請求項６】
前記比較処理部は、
ソートされた前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルからエントリ情報を取得するエントリ取得部と、
前記識別名が等しい場合に、エントリ情報を互いに比較して差分を出力する第１の比較部と、
前記識別名が等しくない場合に、前記識別名を相対識別名に分解し、各相対識別名を辞書順に従って比較することにより差分を出力する第２の比較部と、
前記第１の比較部と前記第２の比較部から出力される差分に従って、エントリ情報を変更、追加、削除するオペレーション内容をＬＤＩＦとする更新型ＬＤＩＦファイルを出力するオペレーション生成部とを備えることを特徴とする請求項２から請求項４の何れか１項に記載の更新情報生成システム。
【請求項７】
前記比較処理部に対して、更新前コンテンツ型ＬＤＩＦファイルを更新後コンテンツ型ＬＤＩＦファイルとし、更新後コンテンツ型ＬＤＩＦファイルを更新前コンテンツ型ＬＤＩＦファイルとして入力することで、更新反映後に元に戻すための更新型ＬＤＩＦファイルを生成することを特徴とする請求項１から請求項６の何れか１項に記載の更新情報生成システム。
【請求項８】
前記ソート処理部に、更新後コンテンツ型ＬＤＩＦファイルのみを入力し、前記比較処理部に、ソート処理した当該更新後コンテンツ型ＬＤＩＦファイルと前回の更新情報生成でソート処理した更新後コンテンツ型ＬＤＩＦファイルを入力することを特徴とする請求項２から請求項６の何れか１項に記載の更新情報生成システム。
【請求項９】
以前の更新情報生成でソート処理した更新後コンテンツ型ＬＤＩＦファイルを格納する記憶部を備え、
前記比較処理部に対して、更新前コンテンツ型ＬＤＩＦファイルを更新後コンテンツ型ＬＤＩＦファイルとし、前記記憶部から呼び出した任意の時点における更新後コンテンツ型ＬＤＩＦファイルを更新前コンテンツ型ＬＤＩＦファイルとして入力することで、更新反映後に任意の時点に戻すための更新型ＬＤＩＦファイルを生成することを特徴とする請求項２から請求項６の何れか１項に記載の更新情報生成システム。
【請求項１０】
コンピュータ上で実行され、更新元である元情報に基づき更新対象のディレクトリ情報に対する更新情報を生成する更新情報生成プログラムであって、
前記元情報から生成された更新後コンテンツ型ＬＤＩＦファイルと前記更新対象のディレクトリ情報から生成された更新前コンテンツ型ＬＤＩＦファイルに基づき、前記ディレクトリ情報に対する更新差分情報としての更新型ＬＤＩＦファイルを生成する処理を実行することを特徴とする更新情報生成プログラム。
【請求項１１】
前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルとを所定の規則に従ってソート処理するソート処理と、
ソートされた前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルを比較することで前記更新差分情報を求め、前記更新型ＬＤＩＦファイルを生成する比較処理とを実行することを特徴とする請求項１０に記載の更新情報生成プログラム。
【請求項１２】
前記ソート処理においては、前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルを、エントリ情報の名前に基づき、階層の深さを優先し、階層が同じ深さの場合は辞書順で並び替えるツリー構造を考慮したソート処理を行うことを特徴とする請求項１１に記載の更新情報生成プログラム。
【請求項１３】
前記ソート処理は、
前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルから、各エントリ情報の識別名とエントリ情報のファイルポインタを取得するエントリ取得処理と、
前記識別名を相対識別名に分解し、分解した相対識別名と前記ファイルポインタをツリーのノードに登録するツリー作成処理と、
前記ツリーの先頭から、階層の深さ優先で、かつ同じ深さの場合は辞書順に従って前記相対識別名の順序を並び替えて、ソート済みの前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルを出力するツリー探索処理とを実行することを特徴とする請求項１１または請求項１２に記載の更新情報生成プログラム。
【請求項１４】
前記ツリー探索処理においては、前記ツリーにおけるエントリの重複や欠損を検出することを特徴とする請求項１３に記載の更新情報生成プログラム。
【請求項１５】
前記比較処理は、
ソートされた前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルからエントリ情報を取得するエントリ取得処理と、
前記識別名が等しい場合に、エントリ情報を互いに比較して差分を出力する第１の比較処理と、
前記識別名が等しくない場合に、前記識別名を相対識別名に分解し、各相対識別名を辞書順に従って比較することにより差分を出力する第２の比較処理と、
前記第１の比較処理と前記第２の比較処理によって出力される差分に従って、エントリ情報を変更、追加、削除するオペレーション内容をＬＤＩＦとする更新型ＬＤＩＦファイルを出力するオペレーション生成処理とを実行することを特徴とする請求項１１から請求項１３の何れか１項に記載の更新情報生成プログラム。
【請求項１６】
前記比較処理に対して、更新前コンテンツ型ＬＤＩＦファイルを更新後コンテンツ型ＬＤＩＦファイルとし、更新後コンテンツ型ＬＤＩＦファイルを更新前コンテンツ型ＬＤＩＦファイルとして入力することで、更新反映後に元に戻すための更新型ＬＤＩＦファイルを生成することを特徴とする請求項１０から請求項１５の何れか１項に記載の更新情報生成プログラム。
【請求項１７】
前記ソート処理に、更新後コンテンツ型ＬＤＩＦファイルのみを入力し、前記比較処理に、ソート処理した当該更新後コンテンツ型ＬＤＩＦファイルと前回の更新情報生成でソート処理した更新後コンテンツ型ＬＤＩＦファイルを入力することを特徴とする請求項１１から請求項１５の何れか１項に記載の更新情報生成プログラム。
【請求項１８】
以前の更新情報生成でソート処理した更新後コンテンツ型ＬＤＩＦファイルを格納する機能を有し、
前記比較処理に対して、更新前コンテンツ型ＬＤＩＦファイルを更新後コンテンツ型ＬＤＩＦファイルとし、格納してある任意の時点における更新後コンテンツ型ＬＤＩＦファイルを更新前コンテンツ型ＬＤＩＦファイルとして入力することで、更新反映後に任意の時点に戻すための更新型ＬＤＩＦファイルを生成することを特徴とする請求項１１から請求項１５の何れか１項に記載の更新情報生成プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、あるディレクトリ情報やＲＤＢ情報等から更新対象のディレクトリ情報に対して定期的に更新内容の反映を行うディレクトリ情報への更新情報生成システム及び更新情報生成プログラムに関する。
【０００２】
【従来の技術】
ＬＤＡＰ（Ｌｉｇｈｔｗｅｉｇｈｔ　Ｄｉｒｅｃｔｏｒｙ　Ａｃｃｅｓｓ　Ｐｒｏｔｏｃｏｌ）において扱われるディレクトリ情報は、ツリー構造として階層管理されており、ツリーの枝葉に相当する個所には、エントリと呼ばれるデータ集合が配置される。このエントリは、同じ親エントリを持つエントリ間で一意となる相対識別名（ＲＤＮ：Ｒｅｌａｔｉｖｅ　Ｄｉｓｔｉｎｇｕｉｓｈｅｄ　Ｎａｍｅ）と、属する親エントリの相対識別名を、ツリー構造の根（ルート）まで並べた識別名（ＤＮ：ＤｉｓｔｉｎｇｕｉｓｈｅｄＮａｍｅ）により、ディレクトリ情報全体内で一意に識別される。
【０００３】
ＬＤＡＰにおいては、ルートエントリを除いて、親エントリの存在しないエントリは存在することができないと共に、子エントリを持つ親エントリを削除することはできないなどの特徴を有する。
【０００４】
一方ＬＤＩＦ（ＬＤＡＰ　Ｄａｔａ　Ｉｎｔｅｒｃｈａｎｇｅ　Ｆｏｒｍａｔ）とは、エントリ単位でディレクトリ情報について記述するための書式のことであり、ＲＦＣ（Ｒｅｑｕｅｓｔｓ　Ｆｏｒ　Ｃｏｍｍｅｎｔ）２８４９で規定されている。
【０００５】
ＬＤＩＦに従い記述されたファイルのことをＬＤＩＦファイルと呼ぶ。ＬＤＩＦファイルには、エントリがどのような情報を保持するかを記述したコンテンツ型ＬＤＩＦファイルと、エントリに対してどのような更新処理を行うかを記述した更新型ＬＤＩＦファイルの２種類の書式が存在し、１つのＬＤＩＦファイルに対して複数の書式を混在することはできない。また更新型ＬＤＩＦファイルでは記述順がそのまま更新処理の順序を示している。
【０００６】
ところで、従来、企業内などにおいて、ディレクトリ情報やＲＤＢ（ｒｅｌａｔｉｏｎａｌ　ｄａｔａｂａｓｅ）情報等の散在した情報を一元管理し、ネットワーク経由で参照する場合、元の情報となるディレクトリ情報やＲＤＢ情報等（以後、元情報と呼ぶ）から、新しいディレクトリ情報を生成し、そのディレクトリ情報を保持するディレクトリサーバを用いることで対応することがある。
【０００７】
このような形態においては、定期的に元情報の更新内容の反映を行う必要があるが、利用形態にあわせて、元情報から一度全情報を抽出し、反映対象となるディレクトリ情報の再構築を行う第１の方式、あるいは反映対象となるディレクトリ情報への更新差分として更新型ＬＤＩＦファイルを生成し適用する第２の方式のいずれかの方式によって対応していた。
【０００８】
このとき、必要に応じてディレクトリのツリー構造を更新の前後で変換することもありうる。また第２の方式の場合には、元情報からの更新差分を、たとえばＤＢＭＳの更新履歴を参照する等の方法であらかじめ入手できる場合とできない場合とがある。
【０００９】
第１の方式では、新規データ投入と同じ要領で行えることが多く、別途開発の手間を省けるという利点が存在するが、いったん更新対象のディレクトリサーバを停止しなければならないうえ、変更の量と関係なく、抽出したディレクトリ情報の総量に比例して、反映に時間を要するといった問題点が存在する。このため、２４時間連続してサービスを提供する必要がある場合、あるいは、大規模なディレクトリ情報を持つサーバで長時間に及ぶサービス停止が許されない場合は、この第１の方式では対応することができない。
【００１０】
対して第２の方式では、第１の方式に存在する上記問題点を解決することが可能であるが、元情報からの更新差分をあらかじめ入手できない場合では、従来は次のような方法で、更新型ＬＤＩＦファイルの生成を行っていた。
【００１１】
すなわち、元情報の最新の全情報と反映対象ディレクトリの現在の全情報の両方を一度メモリ内に展開して、前者については適用しようとするディレクトリ情報のツリー構造への変換を行った上で、すべての情報についてルートから逐次的に比較することで、正しい更新順序を有する更新型ＬＤＩＦファイルを生成していた。このため処理に必要なメモリ量が増大するという問題が存在する。
【００１２】
また、更新差分をあらかじめ入手できる場合では、従来はその更新差分を個々の更新発生単位ごとに時系列に逐次処理する方法で更新型ＬＤＩＦファイルの生成を行っているが、この第２の方式では、ツリー構造が異なるディレクトリ情報や、ツリー構造が存在しないＲＤＢ等の情報から更新型ＬＤＩＦを生成する際に、最終的にはツリー構造が変わる場合がありうるので、親エントリのない子エントリの追加、子エントリを持つ親エントリの削除が現れる可能性があり、そのままでは更新を反映できない。
【００１３】
さらに、第１と第２のいずれの方式においても、何らかの原因で元情報自体のデータ欠損が発生したり、あるいは元情報から反映対象となるディレクトリ情報のツリー構造への変換において、親エントリのない子エントリの追加が現れる可能性があり、正しい更新反映を行うことができない可能性がある。
【００１４】
【発明が解決しようとする課題】
上記のように、更新対象であるディレクトリ情報への更新差分として更新型ＬＤＩＦファイルを生成し適用する従来の方式の場合、元情報の最新の全情報と反映対象ディレクトリの現在の全情報の両方を一度メモリ内に展開して、前者については適用しようとするディレクトリ情報のツリー構造への変換を行った上で、すべての情報についてルートから逐次的に比較することで、正しい更新順序を有する更新型ＬＤＩＦファイルを生成していた。このため処理に必要なメモリ量が増大するという問題が存在する。
【００１５】
また、更新差分をあらかじめ入手できる場合でも、従来はその更新差分を個々の更新発生単位ごとに時系列に逐次処理する方法で更新型ＬＤＩＦファイルの生成を行っていいたが、ツリー構造が異なるディレクトリ情報や、ツリー構造が存在しないＲＤＢ等の情報から更新型ＬＤＩＦを生成する際に、最終的にはツリー構造が変わる場合がありうるので、親エントリのない子エントリの追加、子エントリを持つ親エントリの削除が現れる可能性があり、そのままでは更新を反映できないという問題が存在した。
【００１６】
さらに、上述した第１と第２のいずれの方式においても、何らかの原因で元情報自体のデータ欠損が発生したり、あるいは元情報から反映対象となるディレクトリ情報のツリー構造への変換において、親エントリのない子エントリの追加が現れる可能性があり、正しい更新反映を行うことができないという問題が存在した。
【００１７】
本発明の目的は、以上のような課題を解決し、扱うディレクトリ情報の情報量に影響を受けにくく、効率的な更新差分情報の生成を可能にするディレクトリ情報への更新情報生成システム、更新情報生成プログラムを提案することにある。
【００１８】
本発明の他の目的は、ツリー構造に由来する更新処理の順序性を考慮し、適用を確実に可能にする更新差分情報の生成を可能にするディレクトリ情報への更新情報生成システム、更新情報生成プログラムを提案することにある。
【００１９】
本発明の更に他の目的は、何らかの原因によって元情報自体のデータ欠損や、元情報から反映対象となるディレクトリ情報のツリー構造への変換ミスを検出できるディレクトリ情報への更新情報生成システム、更新情報生成プログラムを提案することにある。
【００２０】
【課題を解決するための手段】
上記目的を達成する本発明は、更新元である元情報に基づき更新対象のディレクトリ情報に対する更新情報を生成する更新情報生成システムにおいて、前記元情報から生成された更新後コンテンツ型ＬＤＩＦファイルと前記更新対象のディレクトリ情報から生成された更新前コンテンツ型ＬＤＩＦファイルに基づき、前記ディレクトリ情報に対する更新差分情報としての更新型ＬＤＩＦファイルを生成することを特徴とする。
【００２１】
請求項２の本発明の更新情報生成システムは、前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルとを所定の規則に従ってソート処理するソート処理部と、ソートされた前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルを比較することで前記更新差分情報を求め、前記更新型ＬＤＩＦファイルを生成する比較処理部とを備えることを特徴とする。
【００２２】
請求項３の本発明の更新情報生成システムは、前記ソート処理部は、前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルを、エントリ情報の名前に基づき、階層の深さを優先し、階層が同じ深さの場合は辞書順で並び替えるツリー構造を考慮したソート処理を行うことを特徴とする。
【００２３】
請求項４の本発明の更新情報生成システムは、前記ソート処理部は、前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルから、各エントリ情報の識別名とエントリ情報のファイルポインタを取得するエントリ取得部と、前記識別名を相対識別名に分解し、分解した相対識別名と前記ファイルポインタをツリーのノードに登録するツリー作成部と、前記ツリーの先頭から、階層の深さ優先で、かつ同じ深さの場合は辞書順に従って前記相対識別名の順序を並び替えて、ソート済みの前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルを出力するツリー探索部とを備えることを特徴とする。
【００２４】
請求項５の本発明の更新情報生成システムは、前記ツリー探索部は、前記ツリーにおけるエントリの重複や欠損を検出することを特徴とする。
【００２５】
請求項６の本発明の更新情報生成システムは、前記比較処理部は、ソートされた前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルからエントリ情報を取得するエントリ取得部と、前記識別名が等しい場合に、エントリ情報を互いに比較して差分を出力する第１の比較部と、前記識別名が等しくない場合に、前記識別名を相対識別名に分解し、各相対識別名を辞書順に従って比較することにより差分を出力する第２の比較部と、前記第１の比較部と前記第２の比較部から出力される差分に従って、エントリ情報を変更、追加、削除するオペレーション内容をＬＤＩＦとする更新型ＬＤＩＦファイルを出力するオペレーション生成部とを備えることを特徴とする。
【００２６】
請求項７の本発明の更新情報生成システムは、前記比較処理部に対して、更新前コンテンツ型ＬＤＩＦファイルを更新後コンテンツ型ＬＤＩＦファイルとし、更新後コンテンツ型ＬＤＩＦファイルを更新前コンテンツ型ＬＤＩＦファイルとして入力することで、更新反映後に元に戻すための更新型ＬＤＩＦファイルを生成することを特徴とする。
【００２７】
請求項８の本発明の更新情報生成システムは、前記ソート処理部に、更新後コンテンツ型ＬＤＩＦファイルのみを入力し、前記比較処理部に、ソート処理した当該更新後コンテンツ型ＬＤＩＦファイルと前回の更新情報生成でソート処理した更新後コンテンツ型ＬＤＩＦファイルを入力することを特徴とする。
【００２８】
請求項９の本発明の更新情報生成システムは、以前の更新情報生成でソート処理した更新後コンテンツ型ＬＤＩＦファイルを格納する記憶部を備え、前記比較処理部に対して、更新前コンテンツ型ＬＤＩＦファイルを更新後コンテンツ型ＬＤＩＦファイルとし、前記記憶部から呼び出した任意の時点における更新後コンテンツ型ＬＤＩＦファイルを更新前コンテンツ型ＬＤＩＦファイルとして入力することで、更新反映後に任意の時点に戻すための更新型ＬＤＩＦファイルを生成することを特徴とする。
【００２９】
請求項１０の本発明は、コンピュータ上で実行され、更新元である元情報に基づき更新対象のディレクトリ情報に対する更新情報を生成する更新情報生成プログラムであって、前記元情報から生成された更新後コンテンツ型ＬＤＩＦファイルと前記更新対象のディレクトリ情報から生成された更新前コンテンツ型ＬＤＩＦファイルに基づき、前記ディレクトリ情報に対する更新差分情報としての更新型ＬＤＩＦファイルを生成する処理を実行することを特徴とする。
【００３０】
請求項１１の本発明の更新情報生成プログラムは、前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルとを所定の規則に従ってソート処理するソート処理と、ソートされた前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルを比較することで前記更新差分情報を求め、前記更新型ＬＤＩＦファイルを生成する比較処理とを実行することを特徴とする。
【００３１】
請求項１２の本発明の更新情報生成プログラムは、前記ソート処理においては、前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルを、エントリ情報の名前に基づき、階層の深さを優先し、階層が同じ深さの場合は辞書順で並び替えるツリー構造を考慮したソート処理を行うことを特徴とする。
【００３２】
請求項１３の本発明の更新情報生成プログラムは、前記ソート処理において、前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルから、各エントリ情報の識別名とエントリ情報のファイルポインタを取得するエントリ取得処理と、前記識別名を相対識別名に分解し、分解した相対識別名と前記ファイルポインタをツリーのノードに登録するツリー作成処理と、前記ツリーの先頭から、階層の深さ優先で、かつ同じ深さの場合は辞書順に従って前記相対識別名の順序を並び替えて、ソート済みの前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルを出力するツリー探索処理とを実行することを特徴とする。
【００３３】
請求項１４の本発明の更新情報生成プログラムは、前記ツリー探索処理において、前記ツリーにおけるエントリの重複や欠損を検出することを特徴とする。
【００３４】
請求項１５の本発明の更新情報生成プログラムは、前記比較処理において、ソートされた前記更新後コンテンツ型ＬＤＩＦファイルと前記更新前コンテンツ型ＬＤＩＦファイルからエントリ情報を取得するエントリ取得処理と、前記識別名が等しい場合に、エントリ情報を互いに比較して差分を出力する第１の比較処理と、前記識別名が等しくない場合に、前記識別名を相対識別名に分解し、各相対識別名を辞書順に従って比較することにより差分を出力する第２の比較処理と、前記第１の比較処理と前記第２の比較処理によって出力される差分に従って、エントリ情報を変更、追加、削除するオペレーション内容をＬＤＩＦとする更新型ＬＤＩＦファイルを出力するオペレーション生成処理とを実行することを特徴とする。
【００３５】
請求項１６の本発明の更新情報生成プログラムは、前記比較処理に対して、更新前コンテンツ型ＬＤＩＦファイルを更新後コンテンツ型ＬＤＩＦファイルとし、更新後コンテンツ型ＬＤＩＦファイルを更新前コンテンツ型ＬＤＩＦファイルとして入力することで、更新反映後に元に戻すための更新型ＬＤＩＦファイルを生成することを特徴とする。
【００３６】
請求項１７の本発明の更新情報生成プログラムは、前記ソート処理に、更新後コンテンツ型ＬＤＩＦファイルのみを入力し、前記比較処理に、ソート処理した当該更新後コンテンツ型ＬＤＩＦファイルと前回の更新情報生成でソート処理した更新後コンテンツ型ＬＤＩＦファイルを入力することを特徴とする。
【００３７】
請求項１８の本発明の更新情報生成プログラムは、以前の更新情報生成でソート処理した更新後コンテンツ型ＬＤＩＦファイルを格納する機能を有し、前記比較処理に対して、更新前コンテンツ型ＬＤＩＦファイルを更新後コンテンツ型ＬＤＩＦファイルとし、格納してある任意の時点における更新後コンテンツ型ＬＤＩＦファイルを更新前コンテンツ型ＬＤＩＦファイルとして入力することで、更新反映後に任意の時点に戻すための更新型ＬＤＩＦファイルを生成することを特徴とする。
【００３８】
【発明の実施の形態】
以下、本発明の好ましい実施の形態について図面を参照して詳細に説明する。
【００３９】
本発明では、反映対象となるディレクトリサーバの現在の情報を持つコンテンツ型ＬＤＩＦファイルと元となるディレクトリ情報やＲＤＢ情報等から生成したコンテンツ型ＬＤＩＦファイルを、ソート処理部によりソート処理することにより、ソート済の２つのコンテンツ型ＬＤＩＦファイル生成する。こうして得られた２つのコンテンツ型ＬＤＩＦファイルを比較処理部により比較し、その差分から更新型ＬＤＩＦファイルを生成する。
【００４０】
ＬＤＩＦファイルとは、ディレクトリ情報について記述されたファイルのことで、どのような情報を保持するかを記述したコンテンツ型ＬＤＩＦファイルと、どのような順序で更新処理を行うかを記述した更新型ＬＤＩＦファイルの２種類が存在する。
【００４１】
ディレクトリ情報への更新処理には、ツリー構造に由来する順序性が存在する。しかし、コンテンツ型ＬＤＩＦファイルには、記述するエントリの順番に規則がないため、単純にファイルを比較しただけでは、更新順序まで考慮することができない。かといって一旦ファイル全てを読み込み、ツリー構造をメモリ上に展開し比較することは、メモリの消費への懸念と長時間を要する複雑な処理手順を生むことになる。
【００４２】
そこで、ファイルを比較だけで、更新順序を考慮した更新差分情報を取得できるようにするために、コンテンツ型ＬＤＩＦファイルを、エントリの名前に基づき、深さ優先で、同じ深さの場合は辞書順のツリー構造を考慮したソート処理を事前に行うこととする。
【００４３】
このソート処理を行うことにより、コンテンツ型ＬＤＩＦファイルがツリー構造をもった順に並ぶため、ファイルを先頭から順に比較するだけで、容易に更新順序を考慮した更新差分情報として、更新型ＬＤＩＦファイルを生成することが可能となる。
【００４４】
さらに、コンテンツ型ＬＤＩＦファイルどうしの差分を取得する場合は、同時に２つのファイルを解析し、ツリー構造をメモリ上に構築する必要があるが、ソートの場合は、同時には１つ分のツリー構造を構築するだけでよく、並び替えだけを目的とするため構築するツリーは識別名ＤＮからの名前だけでよいため、より少ないメモリで実行が可能になる。これは、扱うディレクトリ情報の情報量による実行環境への影響が少なくなることを意味する。さらに、２回目以降は前回ソートしたコンテンツ型のＬＤＩＦファイルを用いることができるため、処理時間の短縮にもつながるという副次的効果も得られる。また、ソート処理時にいったんツリー構造を構築し、ソート法則に従ってツリーを探索するため、探索時に存在しないエントリを見つけることが可能となる副次的効果も得られる。
【００４５】
本発明の第１の実施の形態によるディレクトリ情報への更新情報生成システムは、図１に示すように、入力される更新内容の反映対象となるディレクトリサーバの現在のディレクトリ情報を有するコンテンツ型ＬＤＩＦファイル１０１と、更新の元情報となるディレクトリ情報やＲＤＢ情報等から生成したコンテンツ型ＬＤＩＦファイル１０２と、コンテンツ型ＬＤＩＦファイルのソート処理を行うソート処理部１０と、ソート処理部１０によってＬＤＩＦファイル１０１をソートしたコンテンツ型ＬＤＩＦファイル１１１と、同じくコンテンツ型ＬＤＩＦファイル１０２をソートしたコンテンツ型ＬＤＩＦファイル１１２と、２つのソート済みのコンテンツ型のＬＤＩＦファイル１１１、１１２の差分から更新型ＬＤＩＦファイルを生成する比較処理部２０と、比較処理部２０から更新差分情報として出力される更新型ＬＤＩＦファイル１２１とを備えて構成される。
【００４６】
ソート処理部１０は、入力となるコンテンツ型ＬＤＩＦファイル１０１、１０２からエントリ情報を取得するエントリ取得部１１と、得られたエントリ情報から名前のみのツリーを作成するツリー作成部１２と、作成されたツリーを探索しソート済みのコンテンツ型ＬＤＩＦファイル１１１、１１２を生成するツリー探索部１３から構成される。
【００４７】
比較処理部２０は、比較対象となるソート済みのコンテンツ型ＬＤＩＦファイル１１１、１１２からエントリ情報を取得するエントリ取得部２１と、同じ識別名ＤＮの場合にエントリのもつ情報を比較するエントリ比較部２２と、異なる識別名ＤＮの場合に相対識別名ＲＤＮ単位で比較を行うＲＤＮ比較部２３と、エントリ比較部２２とＲＤＮ比較部２３の結果から更新型ＬＤＩＦファイル１２１を生成する更新オペレーション生成部２４から構成される。
【００４８】
ソート処理部１０のエントリ取得部１１は、コンテンツ型ＬＤＩＦファイル１０１あるいはコンテンツ型ＬＤＩＦファイル１０２からエントリ情報を取得し、ツリー作成部１２に渡す。ファイルの最後に達しエントリ情報が取得できない場合は、ツリー探索部１３に処理を移す。
【００４９】
ツリー作成部１２は、エントリ取得部１１から渡されたエントリ情報から名前のみのツリーに登録し、エントリ取得部１１に処理を移す。
【００５０】
ツリー探索部１３は、ツリー作成部１２が作成したツリーを後述するような所定のソート規則に従って探索し、コンテンツ型ＬＤＩＦファイル１１１あるいはコンテンツ型ＬＤＩＦファイル１１２を生成する。
【００５１】
比較処理部２０のエントリ取得部２１は、コンテンツ型ＬＤＩＦファイル１１１及びコンテンツ型ＬＤＩＦファイル１１２からエントリ情報を取得し、それぞれの識別名ＤＮが等しい場合はエントリ比較部２２に、識別名ＤＮが異なる場合はＲＤＮ比較部２３に、取得したエントリ情報を渡す。
【００５２】
エントリ比較部２２は、各エントリ内の情報を比較し全て等しい場合はエントリ取得部２１に処理を移し、異なる情報がある場合はその旨を更新オペレーション生成部２４に渡す。
【００５３】
ＲＤＮ比較部２３は、識別名ＤＮを相対識別名ＲＤＮ単位で比較を行い、その結果に従って更新内容を更新オペレーション生成部２４に渡す。
【００５４】
更新オペレーション生成部２４は、エントリ比較部２２あるいはＲＤＮ比較部２３から更新内容を受け取り、その更新内容から更新型ＬＤＩＦファイル１２１を生成して出力し、エントリ取得部２１に処理を移す。
【００５５】
図２〜図１０を参照して、上記のように構成される第１の実施の形態によるディレクトリ情報への更新情報生成システムの動作について詳細に説明する。
【００５６】
最初に、システム全体の大きな処理の流れを、図２のフローチャートを参照して説明する。
【００５７】
まず、入力される更新内容の反映対象となるディレクトリサーバの現在のディレクトリ情報を有するコンテンツ型ＬＤＩＦファイル１０１を、ソート処理部１０によって、ディレクトリのツリー構造に従い、深さ優先（より階層が深い方に進む）、かつ、階層が同じ深さの場合は相対識別名ＲＤＮを辞書順において前にくるものから順に並び替え、コンテンツ型ＬＤＩＦファイル１１１を生成する（ステップＳ２０１）。
【００５８】
同様にして、入力される更新の元情報となるディレクトリ情報やＲＤＢ情報等から生成したコンテンツ型ＬＤＩＦファイル１０２から、ソート処理部１０によってコンテンツ型ＬＤＩＦファイル１１２を生成する（ステップＳ２０２）。
【００５９】
最後に、ソート処理部１０によって得られたソート済みのコンテンツ型ＬＤＩＦファイル１１１とコンテンツ型ＬＤＩＦファイル１１２から、比較処理部２０により更新差分情報として更新型ＬＤＩＦファイル１２１を生成する（ステップＳ２０３）。
【００６０】
次に、ソート処理部１０で行う処理（図２のステップＳ２０１、Ｓ２０２）の詳細について図３のフローチャートを参照して説明する。
【００６１】
最初にコンテンツ型ＬＤＩＦファイル１０１、１０２から、１エントリ分の識別名ＤＮとそのエントリを格納する場所を指すポインタを取得する（ステップＳ３０１）。ここで、表現を統一するために、取得した識別名ＤＮを正規化する（ステップＳ３０３）。以上の処理が、図１のエントリ取得部１１において実施される。
【００６２】
次に、識別名ＤＮを相対識別名ＲＤＮに分解し（ステップＳ３０４）、分解した相対識別名ＲＤＮから内部ツリーに該当するノードを作成し、該当エントリの格納場所を指すポインタを登録することによりツリーが生成される（ステップＳ３０５）。以上の処理が、図１のツリー作成部１２において実施される。
【００６３】
入力されたコンテンツ型ＬＤＩＦファイルの終了まで達し、取得できる情報がなくなるまで、上記の処理（ステップＳ３０１〜Ｓ３０５）を繰り返す（ステップＳ３０２）。
【００６４】
コンテンツ型ＬＤＩＦファイルの最後まで達した場合、登録されたツリーのトップから、深さ優先で、かつ階層が同じ深さの場合は相対識別名ＲＤＮを辞書順に比較し、順に、ツリーに登録した入力ファイルのポインタから、エントリを取り出し、新しいコンテンツ型ＬＤＩＦファイル１１１、１１２に出力する（ステップＳ３０６）。この際に、ツリー構造として欠陥がないかの確認も行う。以上の処理が、図１のツリー探索部１３において実施される。
【００６５】
比較処理部２０で行う処理（図２のステップＳ２０３）の詳細について、図４のフローチャートを参照して説明する。
【００６６】
最初に、コンテンツ型ＬＤＩＦファイル１１１から、１エントリ分のデータを読み込み、そのエントリの識別名ＤＮを識別名ＤＮ１とする（ステップＳ４０１）。
【００６７】
同様にコンテンツ型ＬＤＩＦファイル１１２から、１エントリ分のデータを読み込みそのエントリの識別名ＤＮを識別名ＤＮ２とする（ステップＳ４０２）。
【００６８】
コンテンツ型ＬＤＩＦファイル１１１とコンテンツ型ＬＤＩＦファイル１１２共にファイルが終了してデータが取得できなかった場合は終了する（ステップＳ４０３）。以上の処理が、図１のエントリ取得部２１において実施される。
【００６９】
識別名ＤＮ１と識別名ＤＮ２を比較し（ステップＳ４０４）、等しい場合（ステップＳ４０５）はエントリ内の各属性について比較を行う（ステップＳ４０６）。エントリ内の各属性で、異なる箇所があった場合（ステップＳ４０７）、その差分をｍｏｄｉｆｙオペレーションのＬＤＩＦとして、更新型ＬＤＩＦファイル１２１に出力し（ステップＳ４０８）、ステップＳ４０１に戻る。以上の処理が、図１のエントリ比較部２２、並びに更新オペレーション生成部２４において実施される。
【００７０】
ステップＳ４０５で、識別名ＤＮ１と識別名ＤＮ２が等しくない場合は、識別名ＤＮ１を相対識別名（ＲＤＮ１（ｍ）．．．ＲＮＤ１（１））に分解する（ステップＳ４０９）。同様に識別名ＤＮ２を相対識別名（ＲＤＮ２（ｎ）．．．ＲＮＤ２（１））に分解する（ステップＳ４１０）。ここで、ｍ、ｎは１以上の整数である。
【００７１】
識別名ＤＮ１を分解した相対識別名（ＲＤＮ１（ｍ）．．．ＲＮＤ１（１））と識別名ＤＮ２を分解した相対識別名（ＲＤＮ２（ｎ）．．．ＲＮＤ２（１））との比較を、ＲＤＮ１（ｉ）とＲＮＤ２（ｉ）が等しくなくなるまで、ｉが１から順に「ｍ」と「ｎ」のいずれかの小さい方の数に達するまで繰り返す（ステップＳ４１１〜ステップＳ４１４）。
【００７２】
なお、どちらか一方のファイルが終了している場合、終了したファイル側の相対識別名ＲＤＮが必ず大きい結果になるものとする。
【００７３】
相対識別名ＲＤＮ１（ｉ）と相対識別名ＲＤＮ２（ｉ）が異なった場合、ＲＤＮ１（ｉ）がＲＤＮ２（ｉ）よりも辞書順で前になる場合、ＲＤＮ（ｉ）を含む下位のエントリを削除するｄｅｌｅｔｅオペレーションをＬＤＩＦとして更新型ＬＤＩＦファイル１２１に出力し（ステップＳ４１４）、コンテンツ型ＬＤＩＦファイル１１１から、１エントリ分のデータを読み込みそのエントリの識別名ＤＮを識別名ＤＮ１とし（ステップＳ４１６）、ステップＳ４０３に戻る。
【００７４】
相対識別名ＲＤＮ１（ｉ）と相対識別名ＲＤＮ２（ｉ）が異なった場合、ＲＤＮ１（ｉ）がＲＤＮ２（ｉ）よりも辞書順で後ろになる場合、識別名ＤＮ２で表されるエントリを作成するＡｄｄオペレーションをＬＤＩＦとして更新型ＬＤＩＦファイル１２１に出力し（ステップＳ４１５）、ステップＳ４０２に戻る。以上の処理が、図１のＲＤＮ比較部２３、並びに更新オペレーション生成部２４において実施される。
【００７５】
次に、上記実施の形態による処理をさらに具体例を用いて説明する。
【００７６】
図５〜図７は、ソート処理部１０における処理を具体例に説明するものである。
【００７７】
図５の左側は、ツリーへの登録処理（図３のステップＳ３０５）によって生成されたツリー構造を概念として表したもので、図５の右側は、ソート処理の入力となるコンテンツ型ＬＤＩＦファイル１０１、１０２を示す。矢印は、ツリー上の各エントリが持つコンテンツ型ＬＤＩＦファイルへのファイルポインタを示す。
【００７８】
ソート処理部１０の処理を示す図３のフローチャートに基づいて説明すると、まず、コンテンツ型ＬＤＩＦファイルから、最初に記述されたエントリの識別名ＤＮである「ｃ＝日本」を取得する。
【００７９】
次に、識別名ＤＮの正規化を行うが、「ｃ＝日本」の場合は変化せずそのままとなる。次に、識別名ＤＮを、「ｃ＝日本」の１つの相対識別名ＲＤＮに分解する。識別名ＤＮ「ｃ＝日本」の場合は、分解された相対識別名ＲＤＮが「ｃ＝日本」１つだけとなるため、特別にルートエントリとして、相対識別名ＲＤＮ「ｃ＝日本」と入力ファイルで識別名ＤＮ「ｃ＝日本」のエントリが記述されたポインタをツリーに登録する。
【００８０】
続いてループにより、次のエントリの識別名ＤＮである「ｏ＝ＮＥＣ，ｃ＝日本」を取得する。同様に、識別名ＤＮの正規化を行い、「ｏ＝ＮＥＣ，ｃ＝日本」と余分なスペースが削除する。そして、この識別名ＤＮを、「ｏ＝ＮＥＣ」と「ｃ＝日本」の２つの相対識別名ＲＤＮに分解し、ツリーに登録する。登録を行う場合、「ｃ＝日本」「ｏ＝ＮＥＣ」のように相対識別名ＲＤＮを逆に参照し、ツリーをルート（根）から順にたどることにより登録を行う。
【００８１】
このように各エントリの識別子となる識別名ＤＮを、相対識別名ＲＤＮだけで表してツリー構造を構築する。
【００８２】
また、識別名ＤＮ以外の情報はツリーの構造には影響しないため、ツリーに直接情報を持たせずに、そのエントリを記述箇所を指すファイルポインタだけを持たせる。これはほとんどのケースで、各エントリの識別名ＤＮ以外の情報よりも、ファイルポインタの方が、情報量として小さくなり、メモリの使用が少なくなるためである。これらにより、一時的なツリーを構築する際に必要なメモリの量を最小限にし、扱うディレクトリ情報が多くなっても対応できるようにしている。
【００８３】
図６の上側は、図５でコンテンツ型ＬＤＩＦファイルをツリー情報として取得したものに、入力ファイルにおいて各エントリの記述されている順序を付加したものである。
【００８４】
このツリー構造に従い、深さ優先順、かつ、同じ深さの場合は相対識別名ＲＤＮを辞書順で前にくるものから順に並び替えると、ツリーの頂上である「Ｃ＝日本」が１番目となり、「Ｏ＝ＮＥＣ」が続く２番目の順序になる。
【００８５】
次に、深さが同じ「ＯＵ＝営業部」と「ＯＵ＝経理部」では、辞書順に比較した場合、「ＯＵ＝営業部」が前に来るため、「ＯＵ＝営業部」が３番目になる。深さ優先であるため、「ＯＵ＝経理部」よりも先に「ＯＵ＝営業部」の下位に存在する「ＯＵ＝第一課」と「ＯＵ＝第二課」を比較し、辞書順で前になる「ＯＵ＝第一課」が４番目になる。同様のことをファイルの最後まで繰り返すことによって、図６の下側に示すような順序となる。
【００８６】
図６の下側に示した順序に従い、ソート済みのコンテンツ型ＬＤＩＦファイル１１１、１１２の生成についてその具体例を図７に示す。図７の左側が入力となる元のコンテンツ型ＬＤＩＦファイル１０１、１０２で、右側が出力となるソート済みのコンテンツ型ＬＤＩＦファイル１１１、１１２を示す。
【００８７】
上記過程において、入力のコンテンツ型ＬＤＩＦファイルからツリー構造を生成する際に、ツリーへの登録で相対識別子ＲＤＮ毎にツリーをたどり、存在しない中間エントリがあった場合、そのエントリについて、ツリーに作成する。但し、一時的に作成したことを意味するために、入力ファイルのエントリの位置を表すファイルポインタは空にする。こうすることで、登録の際に、すでにエントリが作成されている場合は、ファイルポインタが空ならば、一時作成されたものであるためファイルポインタのみ更新する。ファイルポインタがすでに別の値が入っている場合、重複エントリが存在することが判明する。また、ソート処理で参照を行った際に、ファイルポインタが空であれば、親の存在しないエントリがあり、ツリー構造として欠陥があることが判明する。
【００８８】
図８〜１０は、比較処理部２０による処理の具体例を示すものである。
【００８９】
図８では、差分を求める２つのソート済みのコンテンツ型ＬＤＩＦファイル１１１、１１２の内容をツリー状に表したもので、左上側は変更前のコンテンツ型ＬＤＩＦファイル１１１の内容を表し、左下側は変更後のコンテンツ型ＬＤＩＦファイル１１２の内容を表している。そして、図４のフローチャートに従った処理の流れを右側に示している。この例では。識別名ＤＮが等しい場合は各エントリの持つ属性も等しいこととする。
【００９０】
最初に、変更前のコンテンツ型ＬＤＩＦファイル１１１からエントリＥ１０１を、変更後のコンテンツ型ＬＤＩＦファイル１１２からエントリＥ２０１を取得して識別名ＤＮを比較する。比較の結果が正しいため、変更前のコンテンツ型ＬＤＩＦファイル１１１から次のエントリＥ１０２を、変更後のコンテンツ型ＬＤＩＦファイル１１２から次のエントリＥ２０２を取得し識別名ＤＮを比較する。両者の識別名ＤＮが等しい間、同様の処理を繰り返す。
【００９１】
エントリＥ１０５の識別名ＤＮとエントリＥ２０５の識別名ＤＮは異なっており、各識別名ＤＮを相対識別名ＲＤＮに分解し比較を繰り返すと、エントリＥ１０５の識別名ＤＮがエントリＥ２０５の識別名ＤＮよりも辞書順で前になるため、エントリＥ１０５を削除する更新型ＬＤＩＦファイルを出力した後、変更前のコンテンツ型ＬＤＩＦファイル１１１からだけ次のエントリＥ１０６を取得し、エントリＥ２０５と比較する。
【００９２】
ここで、エントリＥ１０５の識別名ＤＮとエントリＥ２０５の識別名ＤＮの比較について、図９を参照して説明する。
【００９３】
まず、ソートと同様に、識別名ＤＮについて正規化を行い、相対識別名ＲＤＮに分解する。図９の例では、右側の識別名ＤＮにある、「”」が正規化によって削除されている。次に、相対識別名ＲＤＮのうち識別名ＤＮの右側に位置するものから順に、文字列の辞書順比較によって比較する。
【００９４】
この場合では、「ｃ＝日本」どうしから順に比較を行い、「ｃｎ＝日電一郎」と「ｃｎ＝日電花子」の比較において等しくない結果がでるまで繰り返す。
【００９５】
辞書順の比較では、「ｃｎ＝日電一郎」の方が「ｃｎ＝日電花子」よりも前にくる。この最後の比較結果をもって、識別名ＤＮの比較結果とする。
【００９６】
但し、ツリーの深さ（すなわち、相対識別名ＲＤＮの個数）が異なり、比較結果で等しくない結果がでる前にどちらかの相対識別名ＲＤＮが先に最後まで比較した場合は、相対識別名ＲＤＮが早く尽きた方の識別名ＤＮが辞書順で前とする。
【００９７】
再び、図８に戻り、エントリＥ１０６の識別名ＤＮとエントリＥ２０５の識別名ＤＮは異なっており、各識別名ＤＮを相対識別名ＲＤＮに分解し比較を繰り返すと、エントリＥ２０５の相対識別名ＲＤＮ「ＣＮ＝日電花子」がエントリＥ１０６の相対識別名ＲＤＮ「ＣＮ＝日電二郎」よりも辞書順で前になるため、エントリＥ２０５を作成する更新型ＬＤＩＦファイルを出力した後、変更後のコンテンツ型ＬＤＩＦファイルからだけ次のエントリＥ２０６を取得し、エントリＥ１０６と比較する。
【００９８】
以上の処理を、両方のファイルともに最後のエントリになるまで、同様の処理を繰り返す。この結果、「エントリＥ１０５の削除」、「エントリＥ２０５の作成」、「エントリＥ１０６の削除」、「エントリＥ１０７の削除」、「エントリＥ２０６の作成」、「エントリＥ２０７の作成」、「エントリＥ１１０の削除」、「エントリＥ２１０の作成」の順に出力され、図１０に示す更新型ＬＤＩＦファイルが得られる。
【００９９】
次に、本発明の他の実施の形態による更新情報生成システムについて説明する。
【０１００】
第２の実施の形態として、図１で生成する更新型ＬＤＩＦファイル１２１を用いてディレクトリサーバに対する更新反映後に、更新反映前に戻すための更新型ＬＤＩＦファイルを生成する方法も可能である。
【０１０１】
図１の比較処理部２０では、コンテンツ型ＬＤＩＦファイル１１１のディレクトリ情報を持つディレクトリサーバが、コンテンツ型ＬＤＩＦファイル１１２のディレクトリ情報を持つために必要な更新差分情報として、更新型ＬＤＩＦファイル１２１を生成する。このため、比較処理部２０に対して、コンテンツ型ＬＤＩＦファイル１１１とコンテンツ型ＬＤＩＦファイル１１２を入れ替えて入力する（すなわち、図１において、ソート済みの更新後のコンテンツ型ＬＤＩＦファイルをコンテンツ型ＬＤＩＦファイル１１１とし、ソート済みの更新前のコンテンツ型ＬＤＩＦファイルをコンテンツ型ＬＤＩＦファイル１１２として比較処理部２０に入力する）ことで、更新反映後に元に戻すための更新型ＬＤＩＦファイルを生成することが可能となる。
【０１０２】
本発明の第３の実施の形態として、図１１に示すように、更新反映前のディレクトリ情報を持つコンテンツ型ＬＤＩＦファイルに対してはソート処理を行わない構成とすることも可能である。前回の更新反映処理を実施した際の更新反映後のディレクトリ情報は、次に更新反映を行う際の更新反映前のディレクトリ情報と同じである。このため、前回の処理において生成されたソート済みの更新後のコンテンツ型ＬＤＩＦファイル１１２を用いることで、図１のソート処理部１０におけるＬＤＩＦファイル１０１からＬＤＩＦファイル１１１の生成を省略して、更新型ＬＤＩＦファイル１２１を生成することが可能となる。
【０１０３】
図１１においては、前回の処理において生成されたソート済みの更新後のコンテンツ型ＬＤＩＦファイル１１２Ａを、比較処理部２０のエントリ取得部２１に入力するように構成している。
【０１０４】
なお、第３の実施の形態における、ソート処理部１０及び比較処理部２０の動作については、図１に示した第１の実施の形態と同じであるので説明を省略する。
【０１０５】
本発明の第４の実施の形態による更新情報生成システムにおいては、図１２に示すように、以前に更新反映処理を行った任意の状態に戻すための更新型ＬＤＩＦファイルを生成することを可能にする。図１２において、ソート処理部１０のツリー探索部１３Ａには、それまでのソート済みの更新後のコンテンツ型ＬＤＩＦファイルを格納しておくコンテンツ型ＬＤＩＦファイル記憶部３０が備えられており、このコンテンツ型ＬＤＩＦファイル記憶部３０から任意の時点におけるソート済み更新後のコンテンツ型ＬＤＩＦファイルを呼び出して比較処理部２０に入力することができように構成されている。
【０１０６】
そして、コンテンツ型ＬＤＩＦファイル記憶部３０から呼び出した各更新反映処理において保存しておいたソート済み更新後のコンテンツ型ＬＤＩＦファイルをコンテンツ型ＬＤＩＦファイル１１１とし、ソート処理部１０からのソート済み更新後のコンテンツ型ＬＤＩＦファイルをコンテンツ型ＬＤＩＦファイル１１２として比較処理部２０に入力することにより、任意のディレクトリ情報を持つ状態に戻すための更新型ＬＤＩＦファイル１２１を生成することが可能となる。
【０１０７】
なお、第４の実施の形態における、ソート処理部１０及び比較処理部２０の動作については、図１に示した第１の実施の形態と同じであるので説明を省略する。
【０１０８】
また、こうして得られた更新型ＬＤＩＦファイル１２１は、第２の実施の形態のような各更新反映処理の戻し作業を繰り返すよりも少ない処理数で更新反映前の任意の状態に戻すための更新型ＬＤＩＦファイル１２１を生成することが可能となる。
【０１０９】
本発明の更新情報生成システムは、構成要素であるソート処理部１０、比較処理部２０の各機能をハードウェア的に実現することは勿論として、上記した各手段の機能を実行する更新情報生成プログラム（アプリケーション）２００をコンピュータプログラムにより制御されるＣＰＵとＲＡＭその他の内部メモリを備えるコンピュータ処理装置のメモリにロードしてコンピュータ処理装置を制御することで実現することができる。この更新情報生成プログラム２００は、磁気ディスク、半導体メモリその他の記録媒体に格納され、その記録媒体からコンピュータ処理装置にロードされ、コンピュータ処理装置の動作を制御することにより、上述した各機能を実現する。
【０１１０】
以上好ましい実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
【０１１１】
【発明の効果】
以上説明したように本発明によれば、以下に述べるような効果が達成される。
【０１１２】
第１の効果は、扱うディレクトリ情報の情報量に影響を受けにくく、効率的な更新差分情報の生成を可能にすることにある。
【０１１３】
その理由は、事前にソートを行って、名前だけ保持するツリーを構築するため、より少ないメモリで実行が可能になるためである。さらに、２回目以降は前回ソートしたコンテンツ型のＬＤＩＦファイルを用いることができるため、処理時間の短縮にもつながるという副次的効果も得られる。特に、大規模なディレクトリ情報を対象とした場合に、その効果が顕著となる。
【０１１４】
第２の効果は、ツリー構造に由来する更新処理の順序性を考慮し、適用を確実に可能にする更新差分情報の生成を可能にすることにある。
【０１１５】
その理由は、前処理として、各エントリの識別名ＤＮに基づいたソートを行っておき、得られた各ソート済みコンテンツ型ＬＤＩＦファイルに対して、エントリ毎に識別名ＤＮのみ、あるいはエントリの持つ各属性について逐次的に比較するだけで、適用を確実に可能にする更新順序をもった更新型ＬＤＩＦファイルの生成が可能になるためである。
【０１１６】
第３の効果は、何らかの原因によって元情報自体のデータ欠損や、元情報から反映対象となるディレクトリ情報のツリー構造への変換ミスを検出できることにある。
【０１１７】
その理由は、比較前に行うソート処理において、エントリの各識別名ＤＮからツリー構造を作成し、探索するため、探索時に存在しないエントリを見つけることが可能であるためである。反映対象となるディレクトリサーバに対し、実際の更新処理を行う前に不具合が検出できるため、バッチ処理等で利用する場合この効果は大きい。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態による更新情報生成システムの構成を示すブロック図である。
【図２】第１の実施の形態による更新情報生成システムの全体的な動作を説明するフローチャートである。
【図３】第１の実施の形態による更新情報生成システムのソート処理部で行う処理内容を説明するフローチャートである。
【図４】第１の実施の形態による更新情報生成システムの比較処理部で行う処理内容を説明するフローチャートである。
【図５】第１の実施の形態による更新情報生成システムのソート処理部における処理を具体例に説明するための図である。
【図６】第１の実施の形態による更新情報生成システムのソート処理部における処理を具体例に説明するための図である。
【図７】第１の実施の形態による更新情報生成システムのソート処理部における処理を具体例に説明するための図である。
【図８】第１の実施の形態による更新情報生成システムの比較処理部による処理の具体例を示すものである。
【図９】第１の実施の形態による更新情報生成システムの比較処理部による処理の具体例を示すものである。
【図１０】第１の実施の形態による更新情報生成システムの比較処理部による処理の具体例を示すものである。
【図１１】本発明の第３の実施の形態による更新情報生成システムの構成を示すブロック図である。
【図１２】本発明の第４の実施の形態による更新情報生成システムの構成を示すブロック図である。
【符号の説明】
１０　ソート処理部
１１　エントリ取得部
１２　ツリー作成部
１３　ツリー探索部
２０　比較処理部
２１　エントリ取得部
２２　エントリ比較部
２３　ＲＤＮ比較部
２４　更新オペレーション生成部
３０　コンテンツ型ＬＤＩＦファイル記憶部
１０１、１０２　ソート前のコンテンツ型ＬＤＩＦファイル
１１１、１１２　ソート済みのコンテンツ型ＬＤＩＦファイル
１２１　更新型ＬＤＩＦファイル
２００　更新情報生成プログラム
【図１】
2004062735.tif 000003
【図２】
2004062735.tif 000004
【図３】
2004062735.tif 000005
【図４】
2004062735.tif 000006
【図５】
2004062735.tif 000007
【図６】
2004062735.tif 000008
【図７】
2004062735.tif 000009
【図８】
2004062735.tif 000010
【図９】
2004062735.tif 000011
【図１０】
2004062735.tif 000012
【図１１】
2004062735.tif 000013
【図１２】
2004062735.tif 000014