(57)【特許請求の範囲】
【請求項１】
ディレクトリサーバのツリー構造のディレクトリデータベースに登録されるエントリのエントリ種別を少なくとも一つの属性を持つ少なくとも一つのオブジェクトクラスから構成し、エントリをそのエントリの持つ属性を用いて管理し、コンピュータにより実現されるディレクトリ情報管理装置において、
エントリ種別毎にそのエントリ種別を構成するオブジェクトクラスの種別を記憶する種別判別データベースと、
前記種別判別データベースを参照してエントリ種別を構成するオブジェクトクラスを取得する前記コンピュータによるエントリ種別判別手段と、
前記ディレクトリサーバのスキーマデータベースから、前記ディレクトリデータベースで定義されているスキーマ情報を取得する前記コンピュータによるスキーマ取得手段と、
前記エントリ種別判別手段によって取得されたオブジェクトクラスと前記スキーマ取得手段によって取得されたスキーマ情報に基づいて、複数のオブジェクトクラスから構成されるエントリ種別について、その複数のオブジェクトクラスに属する属性のうち重複する属性を統合して重複を排除したテンプレート情報を生成する前記コンピュータによるテンプレート生成手段と、
前記テンプレート生成手段によって生成されたテンプレート情報を記憶するテンプレートデータベースと、
前記エントリ種別判別手段によって取得されたオブジェクトクラスと前記スキーマ取得手段によって取得されたスキーマ情報に基づいて、エントリ種別間の属性の差分を示す差分情報を生成する前記コンピュータによる差分生成手段と、
前記差分生成手段によって生成された差分情報を記憶する差分データベースと
を具備したことを特徴とするディレクトリ情報管理装置。
【請求項２】
ディレクトリサーバのツリー構造のディレクトリデータベースに登録されるエントリのエントリ種別を少なくとも一つの属性を持つ少なくとも一つのオブジェクトクラスから構成し、エントリをそのエントリの持つ属性を用いて管理し、コンピュータにより実現されるディレクトリ情報管理装置において、
複数のオブジェクトクラスから構成されるエントリ種別について、その複数のオブジェクトクラスに属する属性のうち重複する属性を統合して重複を排除したテンプレート情報を記憶するテンプレートデータベースと、
エントリ種別間の属性の差分を示す差分情報を記憶する差分データベースと、
前記テンプレートデータベースに記憶されているテンプレート情報に基づいて、前記ディレクトリデータベースに対してエントリの登録を行う前記コンピュータによる操作手段と、
エントリのエントリ種別を変更して属性を追加する場合に、前記差分データベースに記憶されている差分情報に基づいてエントリに属性を追加する前記コンピュータによる属性追加手段と、
エントリのエントリ種別を変更して属性を削除する場合に、前記差分データベースに記憶されている差分情報に基づいてエントリの属性を削除する前記コンピュータによる属性削除手段と
を具備したことを特徴とするディレクトリ情報管理装置。
【請求項３】
ディレクトリサーバのツリー構造のディレクトリデータベースに登録されるエントリのエントリ種別を少なくとも一つの属性を持つ少なくとも一つのオブジェクトクラスから構成し、エントリをそのエントリの持つ属性を用いて管理し、コンピュータにより実現されるディレクトリ情報管理装置において、
エントリ種別毎にそのエントリ種別を構成するオブジェクトクラスの種別を記憶する種別判別データベースと、
前記種別判別データベースを参照してエントリ種別を構成するオブジェクトクラスを取得する前記コンピュータによるエントリ種別判別手段と、
前記ディレクトリサーバのスキーマデータベースから、前記ディレクトリデータベースで定義されているスキーマ情報を取得する前記コンピュータによるスキーマ取得手段と、
前記エントリ種別判別手段によって取得されたオブジェクトクラスと前記スキーマ取得手段によって取得されたスキーマ情報に基づいて、複数のオブジェクトクラスから構成されるエントリ種別について、その複数のオブジェクトクラスに属する属性のうち重複する属性を統合して重複を排除したテンプレート情報を生成する前記コンピュータによるテンプレート生成手段と、
前記テンプレート生成手段によって生成されたテンプレート情報を記憶するテンプレートデータベースと、
前記エントリ種別判別手段によって取得されたオブジェクトクラスと前記スキーマ取得手段によって取得されたスキーマ情報に基づいて、エントリ種別間の属性の差分を示す差分情報を生成する前記コンピュータによる差分生成手段と、
前記差分生成手段によって生成された差分情報を記憶する差分データベースと、
前記テンプレートデータベースに記憶されているテンプレート情報に基づいて、前記ディレクトリデータベースに対してエントリの登録を行う前記コンピュータによる操作手段と、
エントリのエントリ種別を変更して属性を追加する場合に、前記差分データベースに記憶されている差分情報に基づいてエントリに属性を追加する前記コンピュータによる属性追加手段と、
エントリのエントリ種別を変更して属性を削除する場合に、前記差分データベースに記憶されている差分情報に基づいてエントリの属性を削除する前記コンピュータによる属性削除手段と
を具備したことを特徴とするディレクトリ情報管理装置。
【請求項４】
ディレクトリサーバのツリー構造のディレクトリデータベースに登録されるエントリのエントリ種別を少なくとも一つの属性を持つ少なくとも一つのオブジェクトクラスから構成し、エントリをそのエントリの持つ属性を用いて管理するためにコンピュータに実行されるプログラムであって、
前記コンピュータを、
種別判別データベースに記憶されておりエントリ種別とそのエントリ種別を構成するオブジェクトクラスの種別とを対応付けた種別判別情報を参照してエントリ種別を構成するオブジェクトクラスを取得するエントリ種別判別手段、
前記ディレクトリサーバのスキーマデータベースから、前記ディレクトリデータベースで定義されているスキーマ情報を取得するスキーマ取得手段、
前記エントリ種別判別手段によって取得されたオブジェクトクラスと前記スキーマ取得手段によって取得されたスキーマ情報に基づいて、複数のオブジェクトクラスから構成されるエントリ種別について、その複数のオブジェクトクラスに属する属性のうち重複する属性を統合して重複を排除したテンプレート情報を生成し、テンプレートデータベースに記憶するテンプレート生成手段、
前記エントリ種別判別手段によって取得されたオブジェクトクラスと前記スキーマ取得手段によって取得されたスキーマ情報に基づいて、エントリ種別間の属性の差分を示す差分情報を生成し、差分データベースに記憶する差分生成手段
として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項５】
ディレクトリサーバのツリー構造のディレクトリデータベースに登録されるエントリのエントリ種別を少なくとも一つの属性を持つ少なくとも一つのオブジェクトクラスから構成し、エントリをそのエントリの持つ属性を用いて管理するためにコンピュータに実行されるプログラムであって、
前記コンピュータを、
テンプレートデータベースに記憶されており、複数のオブジェクトクラスから構成されるエントリ種別について、その複数のオブジェクトクラスに属する属性のうち重複する属性を統合して重複を排除したテンプレート情報を参照し、このテンプレート情報に基づいて前記ディレクトリデータベースに対してエントリの登録を行う操作手段、
エントリのエントリ種別を変更して属性を追加する場合に、差分データベースに記憶されておりエントリ種別間の属性の差分を示す差分情報を参照し、この差分情報に基づいてエントリに属性を追加する属性追加手段、
エントリのエントリ種別を変更して属性を削除する場合に、前記差分データベースに記憶されている前記差分情報を参照し、この差分情報に基づいてエントリの属性を削除する属性削除手段
として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項６】
ディレクトリサーバのツリー構造のディレクトリデータベースに登録されるエントリのエントリ種別を少なくとも一つの属性を持つ少なくとも一つのオブジェクトクラスから構成し、エントリをそのエントリの持つ属性を用いて管理するためにコンピュータに実行されるプログラムであって、
前記コンピュータを、
種別判別データベースに記憶されておりエントリ種別とそのエントリ種別を構成するオブジェクトクラスの種別とを対応付けた種別判別情報を参照してエントリ種別を構成するオブジェクトクラスを取得するエントリ種別判別手段、
前記ディレクトリサーバのスキーマデータベースから、前記ディレクトリデータベースで定義されているスキーマ情報を取得するスキーマ取得手段、
前記エントリ種別判別手段によって取得されたオブジェクトクラスと前記スキーマ取得手段によって取得されたスキーマ情報に基づいて、複数のオブジェクトクラスから構成されるエントリ種別について、その複数のオブジェクトクラスに属する属性のうち重複する属性を統合して重複を排除したテンプレート情報を生成し、テンプレートデータベースに記憶するテンプレート生成手段、
前記エントリ種別判別手段によって取得されたオブジェクトクラスと前記スキーマ取得手段によって取得されたスキーマ情報に基づいて、エントリ種別間の属性の差分を示す差分情報を生成し、差分データベースに記憶する差分生成手段、
前記テンプレートデータベースに記憶されている前記テンプレート情報を参照し、このテンプレート情報に基づいて前記ディレクトリデータベースに対してエントリの登録を行う操作手段、
エントリのエントリ種別を変更して属性を追加する場合に、前記差分データベースに記憶されている前記差分情報を参照し、この差分情報に基づいてエントリに属性を追加する属性追加手段、
エントリのエントリ種別を変更して属性を削除する場合に、前記差分データベースに記憶されている前記差分情報を参照し、この差分情報に基づいてエントリの属性を削除する属性削除手段
として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディレクトリサービスで提供される情報を管理するディレクトリ情報管理装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【０００２】
【従来の技術】
情報システムにおいて生産性を向上させるための手法として情報の一元管理がある。一元管理している情報にアクセスするためには標準的なインタフェースが望まれ、この目的を達成するためにディレクトリサーバが利用されている。
【０００３】
ディレクトリサーバは製品化されており、このディレクトリサーバを利用した情報管理サービスはディレクトリサービスと呼ばれる。
【０００４】
ディレクトリサービスでは、ディレクトリ情報木と呼ばれるツリー状に構成されたデータベースに、エントリと呼ばれる「人」や「組織」等の情報を登録しており、また「人」や「組織」等のエントリは、名前や組織名、電話番号、住所といったアトリビュート（属性）を持つ。
【０００５】
ディレクトリサービスを利用するユーザは、あるエントリに対して名前や組織名といった判りやすいアトリビュートをキーとして、このエントリに含まれる電話番号や住所といったアトリビュートを読み書きするクライアント／サーバ型のサービスを受ける。
【０００６】
図１２は、ディレクトリ情報木の具体的構成例を示す図である。
【０００７】
このディレクトリ情報木を構成する「人」エントリや「組織」エントリには、「名前(cn)」、「組織名(ou)」、「電話番号(telephonenumber)」といった個々の情報がアトリビュートとして格納される。
【０００８】
また、アトリビュートの集合はオブジェクトクラス(objectclass)と呼ばれる単位で利用される。各エントリを構成するアトリビュートの種類はエントリ種別によって異なり、アトリビュートの種類はオブジェクトクラスによって異なる。
【０００９】
すなわち、エントリ種別に応じてオブジェクトクラスが指定され、その指定されたオブジェクトクラスによってそのエントリがどのようなアトリビュートを持つかが決定される。
【００１０】
具体的なオブジェクトクラスの利用方法について説明する。例えば、名前、住所をアトリビュートとする「社内情報」オブジェクトクラス、経歴をアトリビュートとする「人事情報」オブジェクトクラス等があるとする。ここで、会社で一般的な検索（電話帳検索など）に使うエントリを作成する場合には「社内情報」オブジェクトクラスを利用し、また会社の人事部門の検索に使うエントリを作成する場合には「社内情報」オブジェクトクラスと「人事情報」オブジェクトクラスとを利用する。
【００１１】
このように、検索の目的や管理によって必要とするアトリビュートも異なるため、オブジェクトクラスを複数作成しておき、これらを用いてエントリを作成することにより、社内情報などの管理やエントリ作成の効率化を図ることが一般的に行われている。
【００１２】
上記図１２においては、エントリ種別として例えば「人」、「組織」があり、「人」エントリには例えばtaro、hanakoがあり、「組織」エントリには例えばsystem-groupがある。
【００１３】
「人」エントリでは識別名dnにアトリビュートcnを用いており、「組織」エントリでは識別名dnにアトリビュートouを用いている。
【００１４】
また、エントリ種別が「人」の場合、エントリはオブジェクトクラスtop、person、organizationalPerson、inetOrgPersonから構成され、エントリ種別が「組織」の場合、エントリはオブジェクトクラスtop、organizationalUnitから構成される。
【００１５】
図１３は、オブジェクトクラスとそのオブジェクトクラスに構成されるアトリビュートの例を示す図である。なお、この図１３では、上記のオブジェクトクラスtop、person、organizationalPerson、inetOrgPerson、organizationalUnitのうち、代表してオブジェクトクラスtop、person、organizationalPersonのみについて示している。
【００１６】
例えば、オブジェクトクラスpersonには、アトリビュートsn、cn、description、seeAlso、telephoneNumber、userPasswordが含まれる。他の場合も同様である。
【００１７】
オブジェクトクラスは、階層構造を持つ。例えばオブジェクトクラスpersonは、オブジェクトクラスtopを親に持つ。また、オブジェクトクラスorganizationalPersonは、オブジェクトクラスpersonを親に持つ
なお、各アトリビュートにおいて、requiresとして記述されているアトリビュートは必須のアトリビュートであり、エントリに必ず含まれる旨を意味する。
【００１８】
一方、allowsとして記述されているアトリビュートはオプション扱いのアトリビュートであり、エントリに含まれていても含まれていなくてもよい旨を意味する。
【００１９】
図１４は、アトリビュートの内容を例示する図である。なお、この図１４では、上記のオブジェクトクラスtop、person、organizationalPerson、inetOrgPerson、organizationalUnitに属するアトリビュートのうち、代表してオブジェクトクラスtop、person、organizationalPersonに属するアトリビュートのみを示している。
【００２０】
各アトリビュートには管理番号(oid)が付され、データ型が定められている。また、アトリビュートの中には別名が付されているものもある。
【００２１】
ディレクトリサービスの利用範囲は広く、単なる電話帳検索のような利用方法だけではなく、認証情報としてユーザＩＤ／パスワード（あるいは公開鍵証明書）を管理してシグナルサインオンを実現するために利用することも可能である。
【００２２】
さらに、情報の一元管理だけではなく、他のアプリケーションとの情報の交換や情報の共有化も可能である。
【００２３】
ディレクトリサーバにアクセスするプロトコルの一つに、ＬＤＡＰ（Lightweight Directory Access Protocol）がある。ＬＤＡＰは、インターネット上の標準プロトコルであるため、ＴＣＰ／ＩＰ上で容易にアクセス可能である。
【００２４】
一般的なディレクトリサーバにおいては、次の４つの方法を用いてディレクトリ情報が追加／変更／削除され、情報が管理される。
【００２５】
（１）ＬＤＩＦ（LDAP Data Interchange Format）形式のファイルを使って、ディレクトリサーバのディレクトリデータベースにインポート／エキスポートする方法
（２）ディレクトリサーバでディレクトリデータベースにアクセスするために用意されているコマンドを利用する方法
（３）ディレクトリサーバに備えられているメンテナンスツール（ＧＵＩ）を利用する方法
（４）ディレクトリサーバで提供されているＬＤＡＰ−ＡＰＩ（ライブラリ）を使ってプログラミングする方法
上記方法のうち、（１）の方法は、大量のデータ（エントリ）を一括登録／変更／削除したり、別のデータベースから移行させたり、一部変更を加えたりする場合に利用される。
【００２６】
（２）の方法は、少量のデータ（エントリ）をコマンドラインから簡単に操作する場合に利用される。
【００２７】
（３）の方法は、ディレクトリサーバ製品付属のＧＵＩを利用して、対話的に操作を実行する場合に利用される。
【００２８】
（４）の方法は、ディレクトリアクセスプロトコルＬＤＡＰ−ＡＰＩを使ってアプリケーションを構築する場合に利用される。
【００２９】
【発明が解決しようとする課題】
しかしながら、上記（１）から（４）の方法によってディレクトリ情報を操作する場合には、以下のような問題が発生する。
【００３０】
まず、（１）の方法は、決められたフォーマットにしたがったテキストファイルを利用する点で簡単な方法であるが、エントリ識別名dn（エントリ格納場所）、オブジェクトクラス、アトリビュート、タイプなどのようなエントリの情報をすべて記述する必要があり、手間がかかる。
【００３１】
（２）の方法は、少量のエントリの情報を操作する場合に便利であるが、コマンドラインからの実行なので実用的でない。
【００３２】
（３）の方法は、ディレクトリサーバの各製品において提供されているが、必要最低限のディレクトリ情報を操作する機能しか備えられていないため、実用的でない。
【００３３】
（４）の方法は、（３）の方法に代わるようなツールやアプリケーションを作成する場合にディレクトリサーバにアクセスするためのＡＰＩであるが、作り込みが必要であり、すぐに利用できるわけではない。また、構築されたツールやアプリケーションの使用によって使いやすさが左右されるという問題もある。
【００３４】
また、上記（１）から（４）のいずれの方法も、ディレクトリのスキーマ情報、すなわち、エントリ識別名dn、エントリが構成されるオブジェクトクラス名、そのオブジェクトクラスに属するアトリビュート名、そのアトリビュートが必須か任意か、さらにアトリビュートのデータ型を考慮してエントリを作成しなければならない。スキーマ情報を考慮しなかった場合には、エントリにおいてアトリビュートの不整合が発生する。
【００３５】
図１５は、ディレクトリのスキーマ情報を考慮しない場合に発生する問題の具体例を説明する図である。
【００３６】
例えば、あるオブジェクトクラス１ａではrequiresと記述されたアトリビュート「名前」があり、またallowsと記述されたアトリビュート「住所」、「電話番号」、「電子メール」がある。
【００３７】
他のオブジェクトクラス１ｂではrequiresと記述されたアトリビュート「名前」、「住所」があり、またallowsと記述されたアトリビュート「電話番号」、「ＦＡＸ番号」がある。
【００３８】
この２つのオブジェクトクラス１ａ、１ｂからアトリビュートが構成されるエントリ２は、requiresと記述されたアトリビュート「名前」、「名前」、「住所」と、allowsと記述されたアトリビュート「住所」、「電話番号」、「電子メール」、「電話番号」、「ＦＡＸ番号」とを持つ。
【００３９】
この場合、エントリ２には、requiresと記述されたアトリビュート「住所」と、allowsと記述されたアトリビュート「住所」があり、アトリビュート「住所」が必須か任意かの整合性がとれない。
【００４０】
また、このエントリ２はアトリビュート「名前」、「住所」、「電話番号」を複数持つ。ディレクトリの中でエントリ２はアトリビュートの集合であり、情報検索したアトリビュートがどのオブジェクトクラスに属するものかは判断できない。このため、検索を実行したときに意図した方の「名前」、「住所」、「電話番号」を取得できない場合がある。
【００４１】
また、このように同一名のアトリビュートがある場合、例えば重複するアトリビュート「電話番号」を「電話番号１」及び「電話番号２」として管理する手法が利用されるが、この手法では予め同一名のアトリビュートがいくつ存在するかを知らなければならない。
【００４２】
また、例えばこのエントリ２に住所を登録しても、いずれのアトリビュート「住所」に登録されたのか把握することが困難である。
【００４３】
このようなアトリビュートに整合性のないエントリについて情報検索が実行されると、検索が正常に実行されない場合がある。
【００４４】
上記のような問題に加え、ディレクトリ情報を管理する上でエントリの持つアトリビュートが複数のオブジェクトクラスから構成されている場合にアトリビュートを削除すると、必要なオブジェクトクラスのアトリビュートまで誤って削除する場合がある。
【００４５】
図１６は、必要なオブジェクトクラスのアトリビュートが削除される場合を例示する図である。
【００４６】
例えば、あるオブジェクトクラス１ｃではrequiresと記述されたアトリビュート「名前」、「電話番号」があり、他のオブジェクトクラス１ｄではrequiresと記述されたアトリビュート「名前」、「住所」があるとする。
【００４７】
この２つのオブジェクトクラス１ｃ、１ｄからアトリビュートが構成されるエントリ３は、識別名(dn)を「名前」とし、requiresと記述されたアトリビュート「名前」、「住所」、「電話番号」を持つ。なお、識別名はユニークであるため「名前」を複数にすることはできない。
【００４８】
ここで、エントリ３を管理していて、ある時からオブジェクトクラス１ｃで定義される情報が不要になり、このエントリ３から一方のオブジェクトクラス１ｃが削除されるとする。
【００４９】
この場合、オブジェクトクラス１ｃの定義を利用してエントリ３からアトリビュート「名前」、「電話番号」を削除すると、オブジェクトクラス１ｃにおけるアトリビュート「電話番号」がエントリ３から削除されるのみではなく、「名前」までも誤って削除される場合がある。この「名前」については他方のオブジェクトクラス１ｄでも必要である。
【００５０】
このように、複数のオブジェクトクラスから構成されるエントリにおいて、削除対象のオブジェクトクラスに属するアトリビュートが、削除対象でないオブジェクトクラスにも属している場合がある。
【００５１】
したがって、オブジェクトクラスの削除に伴ってエントリのアトリビュートを削除すると必要な情報まで削除されることがある。
【００５２】
ディレクトリで管理するエントリはオブジェクトクラスを中心に設定されるが、このエントリを利用する場合には、このエントリの持つアトリビュートのオブジェクトクラスが何であるか分からない。したがって、アトリビュートの整合性を確保しないと、エントリの管理に不都合が生じるという問題がある。
【００５３】
本発明は、以上のような実情に鑑みてなされたもので、エントリの持つアトリビュートが複数のオブジェクトクラスから構成されても、このエントリを適切に取り扱い可能とするディレクトリ情報管理装置及びディレクトリ情報管理方法並びにプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【００５４】
【課題を解決するための手段】
本発明を実現するにあたって講じた具体的手段について以下に説明する。
【００７１】
第１の発明は、ディレクトリサーバのツリー構造のディレクトリデータベースに登録されるエントリのエントリ種別を少なくとも一つの属性を持つ少なくとも一つのオブジェクトクラスから構成し、エントリをそのエントリの持つ属性を用いて管理し、コンピュータにより実現されるディレクトリ情報管理装置に関する。
第１の発明は、エントリ種別毎にそのエントリ種別を構成するオブジェクトクラスの種別を記憶する種別判別データベースと、種別判別データベースを参照してエントリ種別を構成するオブジェクトクラスを取得するコンピュータによるエントリ種別判別手段と、ディレクトリサーバのスキーマデータベースから、ディレクトリデータベースで定義されているスキーマ情報を取得するコンピュータによるスキーマ取得手段と、エントリ種別判別手段によって取得されたオブジェクトクラスとスキーマ取得手段によって取得されたスキーマ情報に基づいて、複数のオブジェクトクラスから構成されるエントリ種別について、その複数のオブジェクトクラスに属する属性のうち重複する属性を統合して重複を排除したテンプレート情報を生成するコンピュータによるテンプレート生成手段と、テンプレート生成手段によって生成されたテンプレート情報を記憶するテンプレートデータベースと、エントリ種別判別手段によって取得されたオブジェクトクラスとスキーマ取得手段によって取得されたスキーマ情報に基づいて、エントリ種別間の属性の差分を示す差分情報を生成するコンピュータによる差分生成手段と、差分生成手段によって生成された差分情報を記憶する差分データベースとを具備したディレクトリ情報管理装置である。
【００７２】
なお、テンプレート生成手段はテンプレート情報をＨＴＭＬ（HyperText Markup Language）形式で生成し、このテンプレート情報をＷｅｂ上で動作するＧＵＩメンテナンスツールにそのまま活用可能としてもよい。
この第１の発明においては、テンプレート情報と、差分情報とが求められ、記憶される。
【００７３】
この第１の発明を利用すれば、例えば、各エントリ種別について重複のないアトリビュートを認識可能となる。
したがって、オブジェクトクラスやアトリビュートの整合性の確保が可能となり、ディレクトリサービスにおいて適切にエントリを取り扱うことができる。
差分情報を用いることで、オブジェクトクラスやアトリビュートをエントリから削除する場合に、どのアトリビュートを削除してもよいかを認識可能となる。
したがって、必要なアトリビュートが削除されることを防止でき、オブジェクトクラスやアトリビュートの整合性を確保でき、ディレクトリサービスにおいて適切にエントリを取り扱うことができる。
【００７４】
第２の発明は、ディレクトリサーバのツリー構造のディレクトリデータベースに登録されるエントリのエントリ種別を少なくとも一つの属性を持つ少なくとも一つのオブジェクトクラスから構成し、エントリをそのエントリの持つ属性を用いて管理し、コンピュータにより実現されるディレクトリ情報管理装置に関する。
第２の発明は、複数のオブジェクトクラスから構成されるエントリ種別について、その複数のオブジェクトクラスに属する属性のうち重複する属性を統合して重複を排除したテンプレート情報を記憶するテンプレートデータベースと、エントリ種別間の属性の差分を示す差分情報を記憶する差分データベースと、テンプレートデータベースに記憶されているテンプレート情報に基づいて、ディレクトリデータベースに対してエントリの登録を行うコンピュータによる操作手段と、エントリのエントリ種別を変更して属性を追加する場合に、差分データベースに記憶されている差分情報に基づいてエントリに属性を追加するコンピュータによる属性追加手段と、エントリのエントリ種別を変更して属性を削除する場合に、差分データベースに記憶されている差分情報に基づいてエントリの属性を削除するコンピュータによる属性削除手段とを具備したディレクトリ情報管理装置である。
【００７５】
この第２の発明においては、テンプレート情報と、差分情報とを用いて、エントリが操作される。
【００７６】
したがって、エントリを設定するオブジェクトクラスやアトリビュートの整合性を確保でき、ディレクトリサービスにおいて適切にエントリを取り扱うことができる。
【００９０】
第３の発明は、ディレクトリサーバのツリー構造のディレクトリデータベースに登録されるエントリのエントリ種別を少なくとも一つの属性を持つ少なくとも一つのオブジェクトクラスから構成し、エントリをそのエントリの持つ属性を用いて管理するためにコンピュータに実行されるプログラムであって、コンピュータを、種別判別データベースに記憶されておりエントリ種別とそのエントリ種別を構成するオブジェクトクラスの種別とを対応付けた種別判別情報を参照してエントリ種別を構成するオブジェクトクラスを取得するエントリ種別判別手段、ディレクトリサーバのスキーマデータベースから、ディレクトリデータベースで定義されているスキーマ情報を取得するスキーマ取得手段、エントリ種別判別手段によって取得されたオブジェクトクラスとスキーマ取得手段によって取得されたスキーマ情報に基づいて、複数のオブジェクトクラスから構成されるエントリ種別について、その複数のオブジェクトクラスに属する属性のうち重複する属性を統合して重複を排除したテンプレート情報を生成し、テンプレートデータベースに記憶するテンプレート生成手段、エントリ種別判別手段によって取得されたオブジェクトクラスとスキーマ取得手段によって取得されたスキーマ情報に基づいて、エントリ種別間の属性の差分を示す差分情報を生成し、差分データベースに記憶する差分生成手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００９１】
第４の発明は、ディレクトリサーバのツリー構造のディレクトリデータベースに登録されるエントリのエントリ種別を少なくとも一つの属性を持つ少なくとも一つのオブジェクトクラスから構成し、エントリをそのエントリの持つ属性を用いて管理するためにコンピュータに実行されるプログラムであって、コンピュータを、テンプレートデータベースに記憶されており、複数のオブジェクトクラスから構成されるエントリ種別について、その複数のオブジェクトクラスに属する属性のうち重複する属性を統合して重複を排除したテンプレート情報を参照し、このテンプレート情報に基づいてディレクトリデータベースに対してエントリの登録を行う操作手段、エントリのエントリ種別を変更して属性を追加する場合に、差分データベースに記憶されておりエントリ種別間の属性の差分を示す差分情報を参照し、この差分情報に基づいてエントリに属性を追加する属性追加手段、エントリのエントリ種別を変更して属性を削除する場合に、差分データベースに記憶されている差分情報を参照し、この差分情報に基づいてエントリの属性を削除する属性削除手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００９２】
上記第３及び第４の発明は、上記第１及び第２の発明で説明したディレクトリ情報管理装置をコンピュータにより実現するためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
【００９３】
このようなプログラムを記録した記憶媒体を用いることによって、上述した機能を有していない計算機、計算機システム、ディレクトリサーバに対しても、簡単に上述した機能を付加することができる。
【００９４】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態について説明する。
【００９５】
（第１の実施の形態）
本実施の形態においては、本発明のディレクトリ情報管理装置の基本概念について説明する。
【００９６】
図１は、本実施の形態に係るディレクトリ情報管理装置の概略構成を例示するブロック図である。
【００９７】
本実施の形態に係るディレクトリ情報管理装置４は、ディレクトリサーバのスキーマデータベース５を参照し、主にテンプレート生成部６、テンプレートデータベース７、差分生成部８、差分データベース９、ディレクトリ情報操作部１０から構成される。
【００９８】
このディレクトリ情報管理装置４に参照されるスキーマデータベース５は、オブジェクトクラス５ａ、５ｂとそれに含まれるアトリビュートなどについての情報であるスキーマ情報を記憶する。
【００９９】
ここでは、例として、オブジェクトクラス５ａにアトリビュート「名前」、「住所」が属し、オブジェクトクラス５ｂにアトリビュート「名前」、「電話番号」が属している。
【０１００】
テンプレート生成部６は、スキーマデータベース５のスキーマ情報を参照し、エントリの持つアトリビュートが複数のオブジェクトクラスから構成される場合に重複するアトリビュートを統合した情報としてテンプレート情報を生成し、テンプレートデータベース７に記憶する。
【０１０１】
ここでは、例として、オブジェクトクラス５ａ、５ｂのそれぞれに属するアトリビュート「名前」を統合し、アトリビュート「名前」、「住所」、「電話番号」を示すオブジェクトクラス５ａ、５ｂについてのテンプレート情報７ａが生成されている。
【０１０２】
差分生成部８は、スキーマデータベース５のスキーマ情報を参照し、少なくとも一つのオブジェクトクラスから構成されるエントリ種別の間において一方のエントリ種別には含まれているが他方のエントリ種別には含まれていないアトリビュートを示す差分情報を求め、差分データベース９に記憶する。
【０１０３】
ここでは、例として、オブジェクトクラス５ａ、５ｂを比較し、オブジェクトクラス５ｂの持つアトリビュートにはなく、オブジェクトクラス５ａだけが持つアトリビュート「住所」を示す差分情報９ａが記憶されている。
【０１０４】
また、オブジェクトクラス５ａの持つアトリビュートにはなく、オブジェクトクラス５ｂだけが持つアトリビュート「電話番号」を示す差分情報９ｂが記憶されている。
【０１０５】
ディレクトリ情報操作部１０は、主に登録機能１１、属性削除機能１２、属性追加機能１３を備えている。
【０１０６】
例えば、エントリの登録時には、登録機能１１がテンプレートデータベース７を参照し、該当するテンプレート情報７ａの示すアトリビュートについての情報を含むエントリ１４を生成し、ディレクトリサーバに登録する。
【０１０７】
エントリ１４からオブジェクトクラス５ａで定義するアトリビュートを削除する場合には、属性削除機能１２が差分データベース９の差分情報９ａを参照し、削除前に含まれているが削除後に含まれなくなるアトリビュート「住所」についての情報を削除したエントリ１５をディレクトリサーバに登録する。
【０１０８】
エントリ１５にオブジェクトクラス５ａで定義するアトリビュートを追加する場合には、属性追加機能１３が差分データベース９の差分情報９ａを参照し、追加前には含まれていないが追加後に含まれることになるアトリビュート「住所」についての情報を追加したエントリ１４をディレクトリサーバに登録する。
【０１０９】
以上のような本実施の形態に係るディレクトリ情報管理装置４を利用すれば、重複するアトリビュートを統合したテンプレート情報にしたがってエントリが生成されるため、複数のオブジェクトクラスから構成されるエントリの整合性を確保することができ、ユーザはスキーマ情報を詳しく検討しなくてもエントリを操作できる。
【０１１０】
また、オブジェクトクラスの追加・削除により、エントリのアトリビュートが追加・削除される場合であっても、差分情報にしたがって情報の削除、追加が行われるため、必要なアトリビュートの削除、不要なアトリビュートの追加を防止できる。
【０１１１】
したがって、ディレクトリサービスを向上させることができる。
【０１１２】
なお、本実施の形態においては、スキーマデータベースやディレクトリデータベースがディレクトリ情報管理装置４に含まれていない状態を例として説明しているが、スキーマデータベースやディレクトリデータベースがディレクトリ情報管理装置４に含まれていてもよい。
【０１１３】
また、本実施の形態においては、エントリ種別が一つあるいは二つのオブジェクトクラスによって構成される場合を例として説明しているが、エントリ種別が３つ以上のオブジェクトクラスによって構成される場合も同様である。この場合、各エントリ種別に対応したテンプレート情報は各オブジェクトクラスの持つアトリビュートをあわせて重複のないアトリビュートに関する情報となり、差分情報は各オブジェクトクラス間で一方のオブジェクトクラスに含まれていないが他方のオブジェクトクラスに含まれているアトリビュートに関する情報となる。
【０１１４】
（第２の実施の形態）
本実施の形態においては、本発明のディレクトリ情報管理装置の具体的適用例について説明する。
【０１１５】
図２は、本実施の形態に係るディレクトリ情報管理装置の詳細構成を例示するブロック図であり、図１と同一の部分については同一の符号を付する。
【０１１６】
このディレクトリ情報管理装置１６のうち、テンプレート情報及び差分情報の生成に関わる構成要素の集合を要素群１７Ａとしている。以下に、この要素群１７Ａの各要素について説明する。
【０１１７】
種別判別データベース１８は、エントリ種別を判別し、そのエントリ種別に属するオブジェクトクラスを取得するための情報を記憶するデータベースである。
【０１１８】
エントリ種別判別部１９は、種別判定データベース１８を参照してエントリ種別を判別し、このエントリ種別に属するオブジェクトクラスを取得する。
【０１１９】
ディレクトリサーバ２０は、ディレクトリ情報（エントリの情報）を管理し、このディレクトリサーバ２０におけるスキーマ情報（ディレクトリスキーマ）がスキーマデータベース５に定義され、ディレクトリデータベース２１にディレクトリ情報が記憶される。
【０１２０】
スキーマ取得部２２は、ディレクトリサーバ２０で定義され、かつ運用されているスキーマ情報を取得する。
【０１２１】
テンプレート生成部６は、エントリ種別判別部１９によって取得されたエントリ種別及びオブジェクトクラスと、スキーマ取得部２２によって取得されたスキーマ情報とに基づいて、あるエントリ種別についてアトリビュートが重複しないエントリを生成するためのテンプレート情報を生成し、このテンプレート情報をテンプレートデータベース７に記憶する。
【０１２２】
したがって、テンプレートデータベース７には、エントリ種別におけるオブジェクトクラス、アトリビュート、アトリビュートタイプをもとにしてエントリを構成するための重複のないアトリビュートの集合を示すテンプレート情報が記憶される。
【０１２３】
差分生成部８は、エントリ種別判別部１９によって判別されたエントリ種別及びオブジェクトクラスと、スキーマ取得部２２によって取得されたスキーマ情報とに基づいて、エントリ種別間におけるアトリビュートの差分を求め、差分情報として差分データベース９に記憶する。
【０１２４】
したがって、差分データベース９には、エントリ種別間におけるアトリビュートの差分情報が記憶される。
【０１２５】
ディレクトリスキーマ管理部２３は、エントリ種別判別部１９、スキーマ取得部２２、テンプレート生成部６、差分生成部８を制御し、ディレクトリスキーマを管理する。
【０１２６】
さらに、この図２においては、ディレクトリ情報管理装置１６のうち、オブジェクトクラスとアトリビュートの制御に関わる構成要素の集合を要素群１７Ｂとしている。以下に、この要素群１７Ｂの各要素について説明する。
【０１２７】
この要素群１７Ｂのうち、ディレクトリサーバ２０、ディレクトリデータベース２１、スキーマデータベース５、テンプレートデータベース７、差分データベース９については先に述べているため説明を省略する。
【０１２８】
ディレクトリ情報操作部１０は、ディレクトリサーバ２０をアクセスし、ディレクトリ情報を操作する。
【０１２９】
このディレクトリ情報操作部１０は、エントリ種別に対応したアトリビュートの集合を示すテンプレート情報に基づいて、エントリの新規登録を行う登録機能１１を実行する。
【０１３０】
また、ディレクトリ情報操作部１０は、エントリ種別に対応したエントリの内容の変更を行う変更機能２４、エントリ種別に対応したエントリの削除を行う削除機能２５を実行する。
【０１３１】
加えて、このディレクトリ情報操作部１０は、エントリ種別の変更に対応して、差分情報に基づいてエントリのアトリビュートを削除する属性削除機能１２と、差分情報に基づいてエントリのアトリビュートを追加する属性追加機能１３とを実行する。
【０１３２】
さらに、本実施の形態に係るディレクトリ情報管理装置１６は、要素群１７Ａ、１７Ｂのいずれにも含まれていない要素として、入力装置２６、出力装置２７、入出力制御部２８、操作処理制御部２９を備えている。
【０１３３】
入力装置２６は、ディレクトリで管理する情報、あるいはエントリ種別などのようなディレクトリで情報を管理するために必要な情報を入力する。出力装置２７は、入力装置２６からの入力に対する返答を出力する。入出力制御部２８は、入力装置２６や出力装置２７で扱う情報を制御する。
【０１３４】
操作処理制御部２９は、ディレクトリスキーマ管理部２３やディレクトリ情報操作部１０で取り扱われる情報を操作する。
【０１３５】
ここで、上記ディレクトリ情報管理装置１６をさらに詳細に説明するために、このディレクトリ情報管理装置１６によってユーザ情報を管理する場合を例として説明する。以下においては具体例として４種類のユーザ（一般ユーザ、ＯＳ１ユーザ、ＯＳ２ユーザ、共通ユーザ）を管理対象とする。すなわち、この４種類のユーザ種別がエントリ種別となる。
【０１３６】
この４種類のユーザ種別は、エントリに含まれるオブジェクトクラスの種類によって区別される。
【０１３７】
図３は、４種類のユーザの種別とそれを構成するオブジェクトクラスの種類を示す図である。
【０１３８】
一般ユーザは、ディレクトリサーバ２０のみに登録されるユーザの種別である。会社組織における人事管理、またはＷＷＷコンテンツを利用するユーザをこの一般ユーザとする。
【０１３９】
この一般ユーザは、オブジェクトクラスtop、person、organizationalPerson、inetOrgPersonから構成される。
【０１４０】
ＯＳ１ユーザは、ディレクトリサーバ２０に登録され、かつ、あるオペレーティング・システム（以下、「ＯＳ１」という）を利用するためのアカウントも連動して作成されるユーザの種別である。すなわち、一般ユーザとしての管理に加えて、ＯＳ１を利用するためのアカウントも必要とするユーザをこのＯＳ１ユーザとする。
【０１４１】
このＯＳ１ユーザは、オブジェクトクラスtop、person、organizationalPerson、inetOrgPerson、os1Userから構成される。
【０１４２】
ＯＳ２ユーザは、ディレクトリサーバに登録され、かつ、他のオペレーティング・システム（以下、「ＯＳ２」という）を利用するためのアカウントも連動して作成されるユーザの種別である。すなわち、一般ユーザとしての管理に加えて、ＯＳ２を利用するためのアカウントも必要とするユーザをこのＯＳ２ユーザとする。
【０１４３】
このＯＳ２ユーザは、オブジェクトクラスtop、person、organizationalPerson、inetOrgPerson、os2Userから構成される。
【０１４４】
共通ユーザは、ディレクトリサーバに登録され、かつ、ＯＳ１とＯＳ２の双方を利用するためのアカウントを連動して作成されるユーザの種別である。すなわち、一般ユーザとしての管理に加えて、ＯＳ１とＯＳ２を利用するためのアカウントも必要とするユーザをこの共通ユーザとする。
【０１４５】
この共通ユーザは、オブジェクトクラスtop、person、organizationalPerson、inetOrgPerson、os1User 、os2Userから構成される。
【０１４６】
図４は、４種類のユーザの種別に属するアトリビュートの重複関係を例示する図である。
【０１４７】
図４（ａ）〜図４（ｄ）は、それぞれユーザ種別「一般」、「ＯＳ１」、「ＯＳ２」、「共通」に属するアトリビュートがどのスキーマに属するかを示す図である。
【０１４８】
このうち、複数のスキーマが重なっている部分で、アトリビュートの重複が発生する。図４（ｅ）は、アトリビュートの重複部分を例示している。
【０１４９】
図５は、本実施の形態に係るディレクトリ情報管理装置１６においてテンプレート情報と差分情報が作成されるまでの概略を例示するブロック図である。
【０１５０】
ディレクトリサーバ２０は、スキーマデータベース５内のスキーマ定義情報ファイル（オブジェクトクラス用ファイルとアトリビュート用ファイル）に基づき、エントリ情報を構成する。
【０１５１】
ここで、スキーマ情報は不変（固定）とは限らない。ディレクトリで管理するエントリの追加、変更、削除に応じて変更される場合がある。また、エントリ種別、すなわちアトリビュートの集合を定義するオブジェクトクラスの集合も変更される場合がある。
【０１５２】
そこで、図６に示すように、本実施の形態に係るディレクトリ情報管理装置１６においては、まずエントリ種別判別部１９がエントリ種別を判別し、このエントリ種別のオブジェクトクラスを取得する（ｓ１）。
【０１５３】
すると、スキーマ取得部２２が、最新のスキーマ情報でありディレクトリサーバ２０で運用されているスキーマ情報をＬＤＡＰを使ってスキーマデータベース５から取得する（ｓ２）。
【０１５４】
そして、テンプレート生成部６が、取得したスキーマ情報に基づいてエントリ種別に対応したテンプレート情報を生成する（ｓ３）。また、差分生成部８が、取得したスキーマ情報に基づいてエントリ種別に対応したアトリビュートの差分情報を生成する（ｓ４）。
【０１５５】
図７は、上記ディレクトリ情報管理装置１６のエントリ種別判別部１９によって実行される処理の詳細を示すフローチャートである。
【０１５６】
エントリ種別判別部１９は、まず対象とするエントリの種別名を受け取ると（ｓ１１）、このエントリの種別名に基づいて種別判別データベース１８を参照し、このエントリ種別名についてのオブジェクトクラスの集合を取得する（ｓ１２）。なお、種別判別データベース１８には。エントリ種別毎にそのエントリ種別を定義するオブジェクトクラスが記憶されている。
【０１５７】
そして、エントリ種別判別部１９は、対象とするエントリ種別が他にあれば上記処理を繰り返す（ｓ１３）。
【０１５８】
図８は、上記ディレクトリ情報管理装置１６のスキーマ取得部２２によって実行される処理の詳細を示すフローチャートである。
【０１５９】
スキーマ取得部２２は、まずエントリ種別判別部１９で取得されたオブジェクトクラスの名を受け取り（ｓ２１）、ディレクトリサーバ２０のスキーマ情報を参照し、このオブジェクトクラス名からアトリビュートの集合を取得する（ｓ２２）。
【０１６０】
そして、スキーマ取得部２２は、エントリ種別判別部１９で取得されたオブジェクトクラスが他にあれば上記処理を繰り返す（ｓ２３）。
【０１６１】
図９は、上記ディレクトリ情報管理装置１６のテンプレート生成部６によって実行される処理の詳細を示すフローチャートである。
【０１６２】
テンプレート生成部６は、スキーマ取得部２２で取得されたアトリビュートの集合から、異なるオブジェクトクラス間で重複したアトリビュートを調整し（ｓ３１）、さらにアトリビュートのrequireとallowsの調整を行う（ｓ３２）。例えば、重複したアトリビュートのいずれかがrequireの場合には調整後もrequireとし、重複したアトリビュートのすべてがallowsの場合には調整後もallowsとする。
【０１６３】
また、テンプレート生成部６は、エントリ種別dnにするアトリビュートを調整する（ｓ３３）。
【０１６４】
そして、テンプレート生成部６は、上記処理の結果からエントリ種別毎にエントリ管理用アトリビュート一覧であるテンプレート情報を生成し、テンプレートデータベース７に記憶する（ｓ３４）。
【０１６５】
図１０は、上記ディレクトリ情報管理装置１６の差分生成部８によって実行される処理の詳細を示すフローチャートである。
【０１６６】
差分生成部８は、スキーマ取得部５で取得されたアトリビュートの集合に基づき、すべてのエントリ種別間におけるアトリビュートの差分を取得する（ｓ４１）。
【０１６７】
そして、差分情報生成部８は、オブジェクトクラスの追加／削除に対するアトリビュートの差分を差分情報として差分データベースに記憶する（ｓ４２）。
【０１６８】
図１１は、本実施の形態に係るディレクトリ情報管理装置１６によるエントリの属性操作状態を例示する図である。
【０１６９】
ユーザの種別が変化するたびに属性が追加あるいは削除される。ユーザの種別が変化しないが属性が変更される場合もある。
【０１７０】
このディレクトリ情報管理装置１６の制御により、エントリ種別において、異なるオブジェクトクラス間で不整合が生じる可能性があるアトリビュートの整合性が保たれる。
【０１７１】
例えば、あるユーザについてのユーザ情報をＯＳ１ユーザとして管理していたが、このユーザについてＯＳ２のアカウントも扱う必要が生じ、このユーザの種別を共通ユーザに変更したい場合がある。
【０１７２】
この場合、このユーザについてのユーザ情報のうち既存の情報はそのまま活用し、ＯＳ２のアカウントとして新たに必要な情報だけが追加される。
【０１７３】
一方、あるユーザについてのユーザ情報を共通ユーザとして管理していたが、ＯＳ２のアカウントは必要なくなったため、ＯＳ２に関する情報を削除してユーザの種別をＯＳ１ユーザとして管理したい場合もある。
【０１７４】
このような場合には、共通ユーザからＯＳ１ユーザに変換するための差分情報に基づき、ＯＳ１ユーザとしての情報はそのまま残し、不要な情報のみが削除される。
【０１７５】
また、ユーザ種別が変化する場合に、アトリビュートのrequiresやallowsの調整も行われる。
【０１７６】
以上説明したように、本実施の形態に係るディレクトリ情報管理装置１６においては、ディレクトリ情報を管理（登録／変更／削除）する場合に、ディレクトリサーバ２０で定義されているスキーマ情報に対応させたテンプレート情報を利用する。これにより、オブジェクトクラスやアトリビュートの不整合を防止できる。
【０１７７】
また、本実施の形態に係るディレクトリ情報管理装置１６においては、エントリ種別間のアトリビュートの差分情報を利用する。これにより、ディレクトリ情報を管理する場合に、エントリの持つアトリビュートが複数のオブジェクトクラスから構成されていても、エントリ間でオブジェクトクラスやアトリビュートの不整合を防止できる。
【０１７８】
また、削除対象のオブジェクトクラスと削除対象でないオブジェクトクラスの双方に属するアトリビュートがある場合であってもエントリ間でオブジェクトクラスやアトリビュートの不整合を防止できる。
【０１７９】
さらに、本実施の形態に係るディレクトリ情報管理装置１６においては、テンプレート情報をＨＴＭＬ形式で作成することで、Ｗｅｂ上で動作するＧＵＩメンテナンスツールにそのまま活用できる。これにより、スキーマ情報が変更されるたびにＨＴＭＬファイルを人間が作成し直す必要がなく、スキーマ情報に対応させたテンプレートを自動生成することができる。
【０１８０】
なお、上記各実施の形態に係るディレクトリ情報管理装置４、１６においては、同様の作用・機能を実現可能であれば各構成要素の配置を変更させてもよく、また各構成要素を自由に組み合わせてもよい。
【０１８１】
また、上記各実施の形態に係るディレクトリ情報管理装置４、１６の各機能、各要素は、コンピュータに実行させることのできるプログラムとして、例えば磁気ディスク（フロッピーディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリなどの記録媒体に書き込んで適用してもよく、通信媒体により伝送して、計算機、計算機システムに適用することも可能である。
【０１８２】
上記各機能を実現するコンピュータは、記録媒体に記録されたプログラムを読み込み、プログラムによって動作が制御されることにより、上述した処理を実行する。
【０１８３】
【発明の効果】
以上詳記したように本発明においては、ディレクトリ情報の管理においてアトリビュートの重複が排除されるため、オブジェクトクラスやアトリビュートの不整合を防止できる。
【０１８４】
また、本発明においては、複数のオブジェクトクラスから定義されるアトリビュートを含むエントリからいずれかのオブジェクトクラスから定義されるアトリビュートを削除する場合に、この削除対象のオブジェクトクラスに属するアトリビュートであり他の削除対象のオブジェクトクラスに属さないアトリビュートのみが削除される。したがって、エントリ間でオブジェクトクラスやアトリビュートの不整合を防止できる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るディレクトリ情報管理装置の概略構成を例示するブロック図。
【図２】本発明の第２の実施の形態に係るディレクトリ情報管理装置の詳細構成を例示するブロック図。
【図３】４種類のユーザの種別とそれに対応するオブジェクトクラスの種類の構成を示す図。
【図４】４種類のユーザの種別に属するアトリビュートの重複関係を例示する図。
【図５】同実施の形態に係るディレクトリ情報管理装置においてテンプレート情報と差分情報が作成されるまでの概略を例示するブロック図。
【図６】同実施の形態に係るディレクトリ情報管理装置によって実行される処理を例示するフローチャート。
【図７】同実施の形態に係るディレクトリ情報管理装置のエントリ種別判別部によって実行される処理の詳細を示すフローチャート。
【図８】同実施の形態に係るディレクトリ情報管理装置のスキーマ取得部によって実行される処理の詳細を示すフローチャート。
【図９】同実施の形態に係るディレクトリ情報管理装置のテンプレート生成部によって実行される処理の詳細を示すフローチャート。
【図１０】同実施の形態に係るディレクトリ情報管理装置の差分生成部によって実行される処理の詳細を示すフローチャート。
【図１１】同実施の形態に係るディレクトリ情報管理装置によるエントリの属性操作状態を例示する図。
【図１２】ディレクトリ情報木の具体的構成例を示す図。
【図１３】オブジェクトクラスとそのオブジェクトクラスに構成されるアトリビュートの例を示す図。
【図１４】アトリビュートの内容を例示する図。
【図１５】ディレクトリスキーマ情報を考慮しない場合に発生する問題の具体例を説明する図。
【図１６】必要なオブジェクトクラスのアトリビュートが削除される場合を例示する図。
【符号の説明】
１ａ〜１ｄ、５ａ、５ｂ…オブジェクトクラス
２、３、１４、１５…エントリ
４、１６…ディレクトリ情報管理装置
５…スキーマデータベース
６…テンプレート情報生成部
７…テンプレートデータベース
７ａ…テンプレート情報
８…差分情報生成部
９…差分データベース
９ａ、９ｂ…差分情報
１０…ディレクトリ情報操作部
１１…新規登録処理機能
１２…属性削除処理機能
１３…属性追加処理機能
１７Ａ、１７Ｂ…要素群
１８…種別判別データベース
１９…エントリ種別判別部
２０…ディレクトリサーバ
２１…ディレクトリデータベース
２２…スキーマ取得部
２３…ディレクトリスキーマ管理部
２４…変更処理機能
２５…削除処理機能
２６…入力装置
２７…出力装置
２８…入出力制御部
２９…操作処理制御部
【図１】
0003983961.tif 000002
【図２】
0003983961.tif 000003
【図３】
0003983961.tif 000004
【図４】
0003983961.tif 000005
【図５】
0003983961.tif 000006
【図６】
0003983961.tif 000007
【図７】
0003983961.tif 000008
【図８】
0003983961.tif 000009
【図９】
0003983961.tif 000010
【図１０】
0003983961.tif 000011
【図１１】
0003983961.tif 000012
【図１２】
0003983961.tif 000013
【図１３】
0003983961.tif 000014
【図１４】
0003983961.tif 000015
【図１５】
0003983961.tif 000016
【図１６】
0003983961.tif 000017