| 【発明の名称】 |
ディレクトリアシスタンスシステムに対するライトウエイトディレクトリアクセスプロトコルインターフェース |
| 【発明者】 |
【氏名】マーティン・エイ・アムブロシニ
【氏名】エドワード・イー・ヒュース
【氏名】ビクター・エス・ムーア
【氏名】ウェンディ・エル・ナスビッケル
【氏名】ブライアン・イー・ヨーダー
|
| 【要約】 |
【課題】現存するディレクトリアシスタンス(DA)システムの上にLDAPプロトコルを付け加えるための方法及びシステムを提供すること。
【解決手段】ライトウエイトディレクトリアクセスプロトコル(LDAP)インターフェースをディレクトリアシスタンス(DA)システムにマッピングするための方法であって、以下のステップを含む。第1に、LDAPデータベースを検索するためのLDAPコンパチブルな検索引き数がLDAPリクエストから抽出される。次に、このLDAPコンパチブルな検索引き数はDAシステムデータベースとコンパチブルな検索引き数に変換される。第三に、そのDAシステムデータベースは、上記変換された検索引き数を用いて照会される。第4に、DAシステムデータベースからのリストの結果セットが、上記照会に応答して受信される。そして、その結果セットはLDAPコンパチブルな結果セットに変換される。 |
【特許請求の範囲】
【請求項1】 ライトウエイトディレクトリアクセスプロトコル(LDAP)インターフェースを、ディレクトリアシスタンス(DA)システムにマッピングする方法であって、(a)LDAPデータベースを検索するために、LDAPリクエストからLDAPコンパチブルな引数を抽出するステップと、(b)当該LDAPコンパチブルな引数を、DAシステムデータベースコンパチブルな検索引き数に変換するステップと、(c)変換された検索引数を用いて前記DAシステムを検索するステップと、(d)前記検索に応答して、前記DAシステムデータベースからリストの結果セットを受信するステップと、(e)前記リストの結果セットをLDAPコンパチブルな結果セットに変換するステップと、を含む方法。 【請求項2】 前記LDAPリクエストをLDAPクライアントから受信するステップを更に有する、請求項1に記載の方法。 【請求項3】 前記LDAPリクエストを、LDAPサーバー内で受信するステップを更に有する、請求項1に記載の方法。 【請求項4】 前記LDAPリクエストはLDAPフィルター属性を含む、請求項1に記載の方法。 【請求項5】 前記変換するステップ(b)は、前記フィルター属性内の検索引数を、前記DAシステムデータベースとコンパチブルな検索引数にマッピングするステップを含む、請求項4に記載の方法。 【請求項6】 前記マッピングするステップは、各レコードがローカリティをローカリティIDセットにマッピングしているローカリティ解決データベースに照会し、前記ローカリティ解決データベース内で、前記検索引数に対応するレコードを特定し、特定されたレコード内のローカリティIDセットを用いてDAシステムデータベース検索ステートメントを構成する、請求項5に記載の方法。 【請求項7】 前記ローカリティIDセットは、エリアコード、ブック及びロケーションのうち少なくとも1を含む、請求項6に記載の方法。 【請求項8】 ステップ(a)乃至(e)は前記LDAPサーバーへのプラグイン内で行われる、請求項3に記載の方法。 【請求項9】 ライトウエイトディレクトリアクセスプロトコル(LDAP)インターフェースをディレクトリアシスタンス(DA)システムにマッピングするためのシステムにおいて、ディレクトリ情報に対するLDAPリクエストを転送するためのLDAPクライアントと、前記LDAPリクエストを受信し、処理するためのLDAPサーバーと、DAシステムデータベース内に記憶されているDAシステムディレクトリ情報に対するDAシステムコンパチブルなリクエストに応答して、ディレクトリ情報を提供するためのDAシステムと、前記LDAPサーバーに結合するプラグインであって、前記プラグインは、前記LDAPリクエストをインターセプトし、前記LDAPリクエストの中からLDAPデータベースを検索するためのLDAPコンパチブルな検索引数を抽出し、前記LDAPコンパチブルな検索引数をDAシステムデータベースとコンパチブルな検索引き数に変換し、変換された検索引き数を用いて前記DAシステムを照会し、前記照会に応答して前記DAシステムからリストの結果セットを受信し、前記結果セットをLDAPとコンパチブルな結果セットに変換し、前記LDAPコンパチブルな結果セットを前記LDAPサーバーに渡し、前記LDAPサーバーは前記LDAPコンパチブルな結果セットを前記LDAPクライアントに提供する、システム。 【請求項10】 前記LDAPリクエストは識別名である、請求項9に記載のシステム。 【請求項11】 前記プラグインは、前記識別名中の検索引き数を前記DAシステムデータベースとコンパチブルな検索引き数にマッピングすることにより、前記LDAPコンパチブルな検索引き数を前記DAシステムとコンパチブルな検索引き数に変換する、請求項10に記載のシステム。 【請求項12】 ローカリティ解決データベースを更に有し、前記マッピングが前記ローカリティ解決データベースにより決定され、前記ローカリティ解決データベース内の各々のレコードはローカリティをローカリティIDセットにマッピングしている、請求項11に記載のシステム。 【請求項13】 前記ローカリティIDセットは、エリアコード、ブック及びロケーションのうち少なくとも1つを含む、請求項12に記載のシステム。 【請求項14】 前記DAシステムデータベース内のローカリティ及びディレクトリ情報をロードするための、ファイル更新プログラムと、前記ローカリティ情報に基づいて、前記ローカリティ解決データベースを前記プラグインとインターフェースするロードファイルを生成するための、ローカリティプロセッサーを更に有する、請求項12に記載のシステム。 【請求項15】 前記ロードファイルは更にLDAPデータベースを前記プラグインにインターフェースする、請求項14に記載のシステム。 【請求項16】 ライトウエイトディレクトリアクセスプロトコル(LDAP)インターフェースをディレクトリアシスタンス(DA)システムにマッピングするための複数のコードセクションを有するコンピュータプログラムが記憶されているマシン可読記憶装置であって、前記コードセクションはマシンにより実行可能であり、(a)LDAPデータベースを検索するための、LDAPコンパチブルな検索引き数をLDAPリクエストの中から抽出するステップと、(b)前記LDAPコンパチブルな検索引き数をDAシステムデータベースとコンパチブルな検索引き数に変換するステップと、(c)変換された引き数を用いて前記DAシステムデータベースを照会するステップと、(d)前記照会に応答して前記DAシステムデータベースからリストの結果セットを受信するステップと、(e)前記結果セットをLDAPとコンパチブルな結果セットに変換するステップとをマシンに実行させる、記憶装置。 【請求項17】 LDAPクライアントから前記LDAPリクエストを受信するためのステップをマシンに実行させる、請求項16に記載の記憶装置。 【請求項18】 LDAPサーバー内に前記LDAPリクエストを受信するステップをマシンに実行させる、請求項16に記載の記憶装置。 【請求項19】 前記LDAPリクエストがLDAP識別名である、請求項16に記載の記憶装置。 【請求項20】 前記変換するステップ(b)が、前記識別名中の検索引き数を、前記DAシステムデータベースとコンパチブルな検索引き数にマッピングするためのステップを含む、請求項19に記載の記憶装置。 【請求項21】 前記マッピングするためのステップが、各レコードが、ローカリティをローカリティIDセットにマッピングしているローカリティ解決データベースに問い合わせるステップと、前記検索引き数に対応するローカリティ解決データベースレコードを特定するステップと、特定されたレコード中のローカリティIDセットを用いてDAシステムデータベース照会ステートメントを形成するステップとを更に有する、請求項20に記載の記憶装置。 【請求項22】 前記ローカリティIDセットが、エリアコード、ブック及びロケーションのうちの少なくとも1つを含む請求項21に記載の記憶媒体。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は、ネットワークディレクトリサービスの分野に関連し、特に詳細にはディレクトリアシスタンスシステムと、ツリーベースのライトウエイトディレクトリアクセスプロトコル(LDAP)インターフェースとをインターフェースするためのシステム及び方法に関する。 【0002】 【従来の技術】ディレクトリは、クライアントがエントリーやそのエントリーについての属性を検索するために使うしくみである。クライアントは多くの場合人間であり、たとえば、誰かがディレクトリを調べたりするが、クライアントがプログラムであっても良い。例えば、あるアプリケーションがあるユーザーの属性を調べたりする。エントリーとは、プリンター、ウエッブページ若しくは人間(ホワイト・ページディレクトリという)等のネットワーク資源を含む。クライアント及びエントリーに加え、情報にアクセスするのに使われるクエリーのタイプも重要である。クエリーの構造は、ディレクトリからの情報検索の意味を定義する。ディレクトリタイプ、エントリータイプ、クエリータイプの様々な組み合わせにより、様々なディレクトリアプリケーションが生まれる。要するに、ディレクトリは次のような重要な特徴を有するデータベースであると考えられる。すなわち、一般には、データベース読み出し操作の回数が書き込み操作の回数よりも一桁以上多い。更に、ディレクトリサーバーは、クライアントがエントリーと属性を、構造化クエリを用いて検索するのに用いることのできる、属性/値の組のリポジトリーと定義することができる。 【0003】ディレクトリアシスタンス(DA)解決は、ディレクトリとディレクトリサーバーを具体化したものであり、それにより、ディレクトリ内に格納されている電話番号をサービスセンターのオペレーターを介して、電話をかけてきた者に提供することが可能になる。典型的な例を挙げると、ある者が”インフォメーション”(例えば番号411)に電話をして、ある人若しくは企業の電話番号を得ようとする。次に、DAシステムは、要求された情報を得るために、索引参照メカニズムを使う。現存する数々のDAシステムは、その中に含まれる情報にアクセスするための専用インターフェースを有する。個々のDAシステムは普通、他のDAシステム内に格納されたデータとは異なった様式で、システム内のデータを組織化している。現在に至っても、例えば通信会社のような、DAシステムの顧客向けに、個々のDAシステム内に別々の様式で組織化されて記憶されている情報を共有させたり、或いはそれら情報に対するアクセス権を販売することに対するニーズがある。 【0004】にもかかわらず、これまでに、標準化、或いはオープンシステム環境のいずれの方法でも、顧客のDAシステムのデータの共有やそのシステムへのアクセス権の販売についての問題は解決されていない。現在のところ、異種DAシステム、及び異なる態様でインストールされた同じDAシステム間の通信は、閉鎖的で、管理された環境で行われてきた。例えば、ユーザーにはハイパーテキストマークアップ言語(HTML)ページと組合されたカスタマイズ済みのインターネットプログラムが与えられて、ファイアウォールの向こう側に置かれた専用DAシステムへのイントラネットアクセスが許されてきた。しかしながらこれまでのところ、特別のアプリケーションプログラムやプログラマーのサポートを必要としない、異種DAシステム間のデータ交換を容易にするためのオープンスタンダードは考え出されていない。更に、現行のDAシステムは、直接外部アプリケーションに開放するのが容易ではない専用インターフェースを使用している。特に、DAシステムへの外部からのアクセスを提供しようとすれば、DAシステム自体のインターフェースについてのトレーニングの問題とともに、機密保持上の問題を招来する。たとえば、DAシステムの専用インターフェースを外部に公開すると、DAシステムに対するアクセスを制御するためのセキュリティ機構を作ること要求されるかもしれない。更に、DAシステムの専用インターフェースを外部に公開すれば、そのシステムを使う上でユーザーをトレーニングする必要もあろう。とりわけ、トレーニングを行えば、文書やサポートチームの編成が必要にもなろう。DAシステムへの専用インターフェースが常に直感的なわけではないので、トレーニングは必要であろう。その結果、DAシステムのユーザーはDAシステム内に記憶されている基礎的な情報の専用性を理解していなければならない。また更に、DAシステムへの外部からのアクセスを行うと、専用DAシステムからマイグレートするユーザーに対しマイグレーション問題を引き起こし得る。特に、DAシステムに対する専用インターフェースとやりとりするように設計されたアプリケーションは、別のDAシステムに移るかそのDAシステムに対する別のインターフェースに移るかする場合に、うまくゆかないかもしれない。 【0005】現行のDAシステムのプロプリエタリーなインターフェースと異なり、ライトウエイトディレクトリアクセスプロトコル(LDAP)は、産業界のオープンなディレクトリサービスプロトコルであって、データアクセスに対し一貫した、かつ管理されたシステムを提供する。LDAPはパワフルではあるがシンプルなディレクトリサービスの役割を果たす。そのディレクトリサービスによれば、パワフルなディレクトリサービスクエリを実行できるし、クライアントは、ディレクトリサービスエントリーを付加し、削除し、若しくは変更するコマンドを発行することが可能となる。LDAPサーバー間で、情報の基礎的なストレージは異なるかもしれないが、LDAPプロトコルは、LDAPインターフェースのユーザーに対しこの相違を露にしない。LDAPでは、情報の基本単位はエントリから成る。個々のエントリは個々のディレクトリ内に記憶される。ディレクトリエントリは階層的ツリー様構造に配列されており、例えばロケーション若しくは組織のような、実社会における領域(バウンダリ)を反映させることができる。このような階層的ツリー様構造によって、ディレクトリサービスのユーザーが、良く知られた方法でそこに蓄積されている情報の中をナビゲートできるようになる。更に、標準化されたインターフェースを通して、LDAPディレクトリ内の属性のスキーマ(schema)若しくは編成を取得することができる。その結果、例えば、LDAPが使用可能なNetscape CommunicatorやMicrosoft Internet ExplorerのようなLDAPアプリケーションは、ユーザーに特別のトレーニングや、基礎をなす情報システムに関する知識を要求することなく、LDAPディレクトリインターフェースを使用することができる。 【0006】X.500ディレクトリアクセスプロトコル(DAP)を簡略化したものであるLDAPは、RFC(Request for comment)―1777、"ライトウエイトディレクトリアクセスプロトコル”の中で定義されており、次のURLフルアドレスを持つInternic HTTPサーバー上で利用することができる。 ds.internic.net/rfc/rfc1777.txt特にLDAPは、インターネットのクライアントに対し、ポート389を用いたTCP/IP接続を通して、階層的な属性/値のペアの任意のデータベースを検索したり管理したりするのに合理的で簡潔な機構を定義している。LDAPディレクトリサービスモデルはエントリに依拠している。エントリはフィルタ属性の集合であり、識別名(DN)と呼ばれる、名前を有する。DNは、そのエントリを間違いなく参照するために用いることができる。個々のエントリの属性は、型(type)及び1若しくはそれ以上の値を保有することが可能である。典型的な型として、ニーモニック文字列があり、例えば、コモンネームに対し”cn”若しくは電子メールアドレスに対し”mail”等である。値は、対応する属性に依存する。例えば、メール属性が、値”jhond@xyz.com"を含むなどのようにである。同様に、jpeg写真属性が、バイナリのJPEGフォーマットの写真を含んでいても良い。エントリのDNは、エントリ自身の名前を取って構成されても良く、相対識別名(RDN)と呼ばれる。また、エントリのDNは、RDNの親エントリの名前を連結することによって構成されても良い。例えば、John Doe用のエントリは、RDNが”cn=JhonDoe”及びDNが”cn=Jhon Doe,o=xyz, c=US”を持つようにすることができる。 【0007】LDAPにおいて、ディレクトリエントリは、政治的、地理的、及び/若しくは組織的境界を反映する、階層的なツリー状構造に配置される。国々を表現するエントリはツリーのトップに存在する。国エントリの下は、州や国家の組織を表すエントリである。州や国家の組織を表すエントリの下には、人々、組織単位、プリンタ、文書若しくはその他の分類分けされたサブユニットが存在し得る。特に留意したいのは、LDAP内の階層はデータベース内のエントリの階層であって、サーバー接続若しくは他のネットワーク構成情報の階層ではないという点である。一般的にLDAPエントリは、オブジェクトクラス属性により分類される。例えば、ディレクトリの検索対象を、アクセスコントロールリストを専ら含むエントリに限定するために、サーチフレーズを、”objectclass=acl”と定義し、アクセスコントロールリストであるとされるエントリのみ検索されるようにすることができる。LDAPによればユーザーは、特定のオブジェクトクラスに対して、どの属性が要求され、また許可されるのかをコントロールすることが可能になる。つまり、エントリーが従うべきスキーマルールを定めることが可能になる。属性の名前やLDAPの階層構造の選択はLDAPのX.500ルートから導出されるが、ここで、LDAPはX.500ディレクトリではないことに留意しておくことは重要である。より正確に言うと、LDAPは、あらゆる階層的、属性ベースの、ディレクトリに関連するビジネス処理を行っているパーティー間のプロトコルである。ごく簡単な場合には、階層は1階層であり得、属性はその場合任意の専有情報であろう。 【0008】LDAPは、ディレクトリに質問をしたり、更新するためのオペレーションを定義する。更に、LDAPは、ディレクトリのエントリを追加、削除したり、現存するエントリを変更したり、エントリの名前を変更するためのオペレーションを提供する。それでも、LDAPの基本的なオペレーションは、ディレクトリ内に蓄積された情報を検索することである。従って、LDAP検索オペレーションによって、ディレクトリのある部分は、検索フィルタにより特定されたある基準と合致するエントリについてサーチされるようになる。クライアントは、当該基準に合致する個々のエントリからの情報をリクエストすることが可能である。例えば、ユーザーは、会社XYZの下の全てのディレクトリをサーチしてJhonDoeという名前の人を捜し、見つかった個々のエントリについて電子メールアドレスを取り出すことができる。また一方で、LDAPによれば、ユーザーは、アメリカ合衆国(c=US)用のエントリの下のエントリを直接検索して、組織名が”Acme”の文字列を含んで、更にその組織がファックス番号を保有する組織を検索することが可能である。 【0009】RFC−1558、”LDAPサーチフィルタの文字列表現”は、下記フルURLアドレスのInternic HTTPサーバー上で利用できる。 ds.intenic.net/rfc/rfc1558.txtRFC−1558は、検索を定義することのできるフィルタ用の文法を規定している。この検索のしくみを用いて、クライアント開発者は容易にパワフルなサーチ機能を提供できる。ディレクトリ照会を実行する場合、LDAPクライアントは、ディレクトリツリー内の例えば検索ロケーションなどのフィルタ属性を選択し、その場所からの検索をフィルタすることができる。サンプル”base”値は、”st=FL...c=us”でも”I=Boca Raton, I=Highland Beach Directory, st=FL,...,c=us”でも良い。その上、LDAP検索は、LDAPディレクトリツリーの殆どどのようなノードからも開始することができる。この場合、LDAPクライアントは、ツリーの中のをサーチ開始点決定するためにサーチベースを設定できるのみである。 【0010】LDAPサーチの有利な点は、LDAPディレクトリツリーの中で一致したエントリ位置の各々について結果セットを返すことである。結果セットは、LDAP識別名(DN)を用いて、LDAPクライアントに知らせることが可能である。DNは、LDAPクライアントに、LDAPディレクトリエントリへのパスを示し、例えば、”dn:cn=Jhon Doe,I=Boca Raton,I=Highland Beach Directory, st=FL,...,c=us”となる。この例では、”Jhon Doe”は、”Boca Raton”市内に位置し、”Highland Beach”ディレクトリ内にあり、更に”FL”州内、そして”US”国内にある。LDAPディレクトリサービスは、クライアントサーバーモデルに準拠している。詳細には、1つ若しくはそれ以上のLDAPサーバーが、LDAPディレクトリツリーを含むデータを有する。LDAPクライアントは、LDAPサーバーに接続でき、データ要求を転送することができる。サーバーはこのデータを用いて応答することもできるし、或いはローカルではそのデータを利用できない場合には、別のサーバー、典型的にはその要求を満たすことの可能な別のサーバーに接続することが可能である。LDAPはこのような参照能力によって、個々別々のLDAPサーバーの協働関係を実現し、あらゆるデータベースの更新が、特定のマスターLDAPサーバーにより参照されるようにする。特に、個々のLDAPサーバーが同じネーミングの規則を使っているとき、クライアントがどのLDAPサーバーに接続するかに関係なく、接続しているクライアントはディレクトリの同じビューを見ることになる。すなわち、1つのLDAPサーバーに与えられたある名前は、別のLDAPサーバーにあるかもしれない同じエントリを参照する。 【0011】最下層レベルでは、ディレクトリ情報へのアクセスを要求するあらゆるクライアントはLDAPサーバーに、TCP/IPによって接続する。そして、クライアントはLDAPコマンドをLDAPサーバーにTCP/IP接続により転送する。特に、LDAPコマンドを転送するためには、ドメインネームシステム(DNS)ネーム若しくはLDAPサーバーに対する明示的なインターネットプロトコルアドレス及び、例えばポート389のようなポート番号のみが要求される。LDAPサーバーは、LDAPコマンドを受取次第、LDAPコマンドを処理でき、必要ならば、ディレクトリ情報にて応答する。ゆえに、URL directory.xyz.comを持つLDAPサーバーにコマンドを出すには、クライアントは、LDAPクライアントの中で次の指定を行うことができる。 ”ldap://directory.xyz.com/<LDAP コマンド>ここで、ldap:は、ポート389を呼出し、directory.xyz.comは有効なDNSネームであり、<LDAPコマンド>は、LDAPクライアントによってLDAPサーバーに対して発行されるLDAPプロトコルコマンドである。下記Cプログラミング言語で記述されたソースコードは、クライアントからLDAPサーバーに対してLDAPコマンドを発行し、LDAPサーバーからディレクトリ情報の応答を受け取る方法の例である。 【0012】 main() { LDAP *ld; LDAPMassage *res, *e; int i; char *a, *dn; void *ptr; char **vals; /*コネクションオープン*/ if((id=ldap_open(”dotted.host.name”, LDAP_PORT))==NULL)exit(1); /*だれも居ないことを確認*/ if(ldap_simple_bind_s(ld, NULL, NULL)!=LDAP_SUCCESS) { ldap_perror(ld,”ldap_simple_bind_s”); exit(1); } /*cn ”Jhon Doe”を持つエントリーを検索し、すべての属性を返す*/ if(ldap_search_s(ld, ”o_myorganization, c=US”, LDAP_SCOPE_SUBTREE,”(cn=Jhon Doe)”, NULL,0,&res)!=LDAP_SUCCESS) { ldap_perror(ld, ”ldap_search_s”); exit(1); } /*返された各々のエントリーの処理*/ for(e=ldap_first_entry(ld,res);e!=NULL; e=ldap_next_entry(ld, e)) { /*ネームの表示*/ dn=ldap_get_dn(ld, e); printf(”dn:%s0,dn); free(dn) /*各々の属性を表示*/ for(a=ldap_first_attribute(ld, e, &ptr);a!=NULL; a=ldap_next_attribute(ld, e, ptr)) { printf(”attribute: %s0,a); /*各々の値を表示*/ vals = ldap_get_values(ld, e, a); for(i=0; vals[i]!=NULL;i++) { printf(”value:%s0,vals[i]); } ldap_value_free(vals); } /*検索結果を開放*/ ladp_msgfree(res); /*コネクション資源を閉じ、解放*/ ladp_unbind(ld); 【0013】LDAPv3.1はプラグインアーキテクチュアを提供し、これによりサードパーティプロバイダーは、種々のサービスをLDAPサーバーに統合することができ、かつその結果、ホストLDAPサーバーのユーザーがLDAPツリー中のプラグインのノードを指定した場合に、プロセスの制御を取得することができる。LDAPサーバープラグインは、共有されるオブジェクト若しくはライブラリであり、LDAPサーバーに供給されるファンクション群に対する外部ファンクション群を含む。プラグインファンクションは、以下のタスクを実行するために記載される。すなわち、サーバーがあるデータについてのLDAPオペレーションを実行する前に、そのデータを確認し、サーバーがLDAPオペレーションを完了した後にいくつかのユーザー定義アクションを実行し、そして拡張オペレーションを実行し、ある属性値を比較する場合に代替(alternate)マッチングルールを供給する。本発明においては、LDAPプラグインは、現存するバックエンドのデータベースを、専用DAシステムのデータベースに置き換える。LDAPサーバープラグインを使用する場合、スタートアップに際しLDAPサーバーは特定の共有オブジェクト若しくはライブラリをロード可能であり、様々なLDAPリクエストを処理する過程においてLDAPサーバー内に記憶されたプラグインファンクションを呼び出すことが可能である。特に、LDAPサーバーはLDAPリクエストにサービスする過程において、幾つかのポイントでプラグインファンクションを呼び出すことが可能である。例えば、LDAPサーバーはLDAPオペレーションを実行する前に、或いはLDAPサーバーがデータベース内のエントリーを加え、変更し、削除し又は検索する場合に、或いは、データベースにエントリーを書きこむ場合、或いは、データベースからエントリーを読み出した後、或いはLDAPオペレーションを実行した後、或いはLDAPオペレーションが拡張オペレーションを含む場合、或いはLDAPサーバーが属性にインデックスを付ける場合、或いはある属性に基づいたサーチ結果の候補をLDAPサーバーがフィルターする場合に、LDAPサーバープラグインファンクションを呼び出すことが可能である。 【0014】多くの場合、LDAPサーバーがLDAPサーバープラグインファンクションを呼び出す場合、LDAPサーバーはプラグインファンクションにパラメーターブロックを渡す。パラメーターブロックは、プラグインファンクションによって実行されるオペレーションに関連するデータを含んでいる。例えば、LDAP追加オペレーションでは、パラメーターブロックはディレクトリに追加されるエントリー及びそのエントリーのDNを含んでいる。その結果、サーバープラグインファンクションは、パラメーターブロック内のデータにアクセスし、変更できる。更に、LDAPサーバープラグインファンクションがLDAPオペレーションが実行される前に呼び出される場合には、プラグインファンクションはそのLDAPオペレーションが実行されないようにすることが可能である。例えば、プラグインファンクションは新しいエントリーがディレクトリに追加される前に、データを確認することができる。データが有効でない場合、プラグインファンクションはLDAP追加オペレーションを中止し、LDAPクライアントにエラーメッセージを返すことができる。 【0015】 【発明が解決しようとする課題】未だ、LDAPは現状のDAシステムと統合されていない。事実、LDAPと現存するDAシステムとの統合には問題があることがわかるだろう。特に、DAシステム内のデータが、伝統的なLDAP準拠システムの階層的ツリー様の構造と互換性の無い方法で構造化されている場合には問題になる。したがって、現存するDAシステムの上にLDAPプロトコルを付け加えるための方法若しくはシステムに対するニーズのみならず、DAシステム内のデータが、典型的なLDAP階層的ツリー様構造中に構造的に組織化されていると見えるように、下層のDAシステムを抽象化する方法に関しニーズがある。大規模ディレクトリアシスタンス(DA)システムは、アクセスタイムと何百万ものディレクトリ素リストのすべてのスケーリングを効率化するために、専用アクセスを有する専用データベース構造を使用する。しかしながら、ライトウエイトディレクトリアクセスプロトコル(LDAP)に代表されるような、最近のオープンで、標準化されたディレクトリ情報へのアクセスによって、専用DAシステムのオペレーターは、複数のシステムを並行して使用することを強いられ、これは、システムの導入にも維持にもコストが嵩む。 【0016】 【課題を解決するための手段】本発明によるシステム及び方法によれば、専用DAシステムのオペレーターは、本発明による、多様なアクセスの態様をサポートできる単一のDAシステムを導入し、維持することが可能になる。ライトウエイトディレクトリアクセスプロトコル(LDAP)インターフェースをディレクトリアシスタンス(DA)システムにマッピングする方法は、例えば以下のステップを含む。第一に、LDAPデータベースを検索するためのLDAPコンパチブルな検索引き数がLDAPリクエストの中から抽出される。次に、そのLDAPコンパチブルな検索引き数は、DAシステムデータベースとコンパチブルな検索引き数に変換される。そして第三に、DAシステムデータベースが、変換された検索引き数を用いて検索される。第四にその検索に応答し、DAシステムデータベースからのリストの結果セットが受信される。最後に、その結果セットは、LDAPとコンパチブルな結果セットに変換される。好ましくは、これら五つのステップは、LDAPサーバーへに対するプラグインの中で実行される。更に、上記方法は、LDAPクライアントからのLDAPリクエストを受信するステップを含んでいても良い。また更には、上記方法は、LDAPサーバー内でLDAPリクエストを受信するステップを含んでいても良い。 【0017】発明の実施の形態では、LDAPリクエストはLDAPフィルター属性としている。したがって、発明の実施の形態では、上記変換ステップは、フィルター属性中の検索引き数を、DAシステムのデータベースとコンパチブルな引数にマッピングするステップを含んでいても良い。特に、マッピングするステップは、各レコードがローカリティを、ローカリティIDセットにマッピングしているローカリティ解決データベースに問い合わせ、そのローカリティ解決データベースの中で検索引き数に対応するデータベースレコードを特定し、そして、特定されたレコードに含まれるローカリティIDセットを用いてDAシステムデータベースのクエリステートメントを構成するステップを含んでいても良い。そして更に、このローカリティIDセットは、エリアコード、ブック、ロケーションのうちの少なくとも1つを含んでいても良い。ライトウエイトディレクトリアクセスプロトコル(LDAP)インターフェースをディレクトリアシスタンス(DA)システムにマッピングするシステムは、下記の構成要素を含んでいる。(1)ディレクトリ情報に対するLDAPリクエストを転送するためのLDAPクライアント、(2)そのLDAPリクエストを受信し、処理するためのLDAPサーバー、(3)DAシステムディレクトリ情報に対するDAシステムコンパチブルなリクエストに応答して、DAシステムデータベース内に記憶されているDAシステムディレクトリ情報を与えるためのDAシステム、及び(4)LDAPサーバーと結合したプラグインである。特に、このプラグインは、LDAPリクエストをインターセプトし、そこからLDAPデータベースを検索するためのLDAPコンパチブルな検索引き数を抽出し、そのLDAPコンパチブルな検索引き数を、DAシステムデータベースとコンパチブルな検索引き数に変換することができる。更に、このプラグインは、変換された検索引き数を用いてDAシステムを検索し、その検索に応答したリストの結果セットを受取り、その結果セットをLDAPとコンパチブルな結果セットに変換し、そのLDAPコンパチブルな結果セットをLDAPサーバーに送るようにしても良い。更にまた、LDAPサーバーがLDAPクライアントに対し、LDAPコンパチブルな結果の組を与えるようにしても良い。 【0018】発明の実施の形態においては、LDAPリクエストは、LDAPコンパチブルな検索である。プラグインは、フィルター属性の中の検索引き数を、DAシステムデータベースとコンパチブルな検索引き数にマッピングすることによって、LDAPコンパチブルな検索引き数を、DAシステムデータベースとコンパチブルな検索引き数に変換可能であるならば好ましい。本発明によるこのようなシステムは、ローカリティ解決データベースを更に含んでも良く、マッピングは、ローカリティ解決データベースにより決定される。ローカリティ解決データベース内の各レコードは、ローカリティを、ローカリティIDセットにマッピングしている。さらに、ローカリティIDセットは、エリアコード、ブック及びローカリティのうちの少なくとも一つを含んでいる。本発明によるシステムは更に、DAシステムデータベース内にあるローカリティ及びディレクトリ情報をロードするためのファイル更新プログラム及び、そのローカリティ情報に基づくロードファイルを生成するためのローカリティプロセッサーを含んでいても良い。特に、このロードファイルはローカリティ解決データベースとプラグインとのインターフェースを取ることが可能である。また更に、このロードファイルは、LDAPデータベースをプラグインともインターフェースするようにしても良い。 【0019】 【発明の実施の形態】以下、図面を参照しながら本発明の実施の形態を説明するが、これらの図面は現在最も好ましいと思われる実施の形態を図示したものであり、本発明は図示された通りの構成及び機器に限定されるわけではない。ディレクトリアシスタンス(DA)システムに対するライトウエイトディレクトリアクセスプロトコル(LDAP)インターフェースは、LDAPスキーマと専用DAシステム相互間をマップすることのできるLDAPサーバーに統合されるソフトウエアのレイヤーを提供することが可能である。特に、このLDAPインターフェースは、たとえDAシステムそれ自体がLDAPツリー様構造に組織化されておらずとも、DAシステム内に含まれるデータをLDAPスキーマにマップすることができる。その結果、クライアントは、情報の専用性を意識せずに或いはDAデータの機密性について妥協をせずに、標準化されたLDAPインターフェースを用いてDAシステムにアクセスすることが可能である。 【0020】 【実施例】図1は、DAシステムに対するLDAPインターフェースが機能している典型的なネットワーク環境1を示す。このネットワーク環境1は、クライアントコンピュータ12及びLDAPサーバー160及びディレクトリアシスタンス(DA)システム180を相互接続する、コンピュータ通信ネットワーク10を含んでおり、これらのサーバーは、少なくとも1のLDAPサーバーアプリケーション16及び少なくとも1のDAシステムアプリケーション18を含む。ただし、簡単のため、図1には、単一のクライアント12、単一のLDAPサーバー160及び単一のDAシステム180のみ示されている。しかしながら、典型的にはネットワーク環境1は、何百万ものクライアント12及び数千のLDAPサーバー160とDAシステム180を含む可能性があろう。コンピュータ通信ネットワーク10は,LAN(local area network)若しくはWAN(wide area network)のような公衆にアクセス不可能なあらゆるタイプのネットワーク、或いは好ましくはインターネットのようなものであって良い。LDAPサーバー160、DAシステム180とクライアント12間の相互接続は、特別の目的の通信のための、LDAPサーバー160、DAシステム180及びクライアント12間に確立されたバーチャル・サーキットであると考えることができる。動作時において、クライアント12は、DAシステム180内に記憶されたデータに対するリクエストをコンピュータ通信ネットワーク10を介して転送するために、LDAPサーバー160とコネクションを確立することが可能である。典型的な例では、データとは、ディレクトリリストのような、通信関係のデータである。 【0021】図1に示された通り、各サーバー160、180は好ましくは、中央演算処理ユニット(CPU)26、ランダムアクセスメモリー(RAM)のような、内部メモリーデバイス24、及びハードディスクドライブ(HDD)のような固定記憶装置22を内部に有するコンピュータを含んでいる。サーバー160及び180は、サーバーをコンピュータ通信ネットワーク10に通信接続するための、ネットワークインターフェース回路(NIC)28をも含む。またサーバーは、キーボード(不図示)や、サーバーとやりとりするためにコンピュータに機能的に接続されたビデオディスプレイターミナル(VDT)のような少なくとも1つのユーザーインターフェース表示ユニット(不図示)を含んでいても良いが、本発明はこれに限定されるものではなく、それどころか本発明による動作を行うのに、サーバーはキーボードもVDTも必須とはしない。CPU26は、当業者には良く知られている通り、適切なあらゆるマイクロプロセッサー若しくは他の電子プロセッシングユニットを含んでいて良い。適当なCPUの例として、Intel Pentium(登録商標)クラスのプロセッサー、IBM PowerPC(登録商標)クラスのプロセッサー若しくはAMD Athlon(登録商標)クラスのプロセッサーが含まれる。固定記憶装置22は、オペレーティングシステム、例えばIBM AIX(登録商標、不図示)を記憶することが可能である。更に、サーバー160がLDAPサーバーアプリケーションをホストする場合、固定記憶装置22中に、ディレクトリ情報に対するLDAPリクエストを処理することのできるLDAPサーバーアプリケーション16を記憶することができる。これに対して、サーバー180がDAシステムをホストする場合、DAシステムアプリケーション18が同様に固定記憶22内に記憶される。更に、ディレクトリ情報データベース30が固定記憶22内のデータベースに記憶されても良いが、本発明はこれには限定されず、その上、このデータベースとは、コンピュータ通信ネットワーク10内のどこか他の固定記憶に記憶された分散データベースであっても良い。更に、本発明はLDAPサーバーアプリケーション16をDAシステムアプリケーション18から分離することに関し限定されるものではなく、両者は同じ固定記憶装置内に存在しても良い。 【0022】LDAPサーバー16をホストするサーバーコンピュータ160において、固定記憶26は、LDAPサーバー16に対するLDAPプラグイン20を更に記憶していても良い。LDAPプラグイン20は、LDAPインターフェースをDAシステムと通信的にリンクするための機能を含んでいる。好適な実施例において、通常の当業者のプログラマーであれば、プラグイン機能を、例えばANSICのような第三世代言語テクノロジーを用いる、良く知られたLDAPプログラミング方法を援用し、実装することが可能である。これらの方法は、前述のオペレーティングシステム向けの商業的に利用可能な開発ツールを用いてプラグイン機能に実装され、具体化される。しかしながら、本発明は、プラグインを実装するために用いられるプログラミング言語テクノロジーによっては限定されない。次に図2を用いて説明する。サーバー160、180と同様に、クライアント12もまた、上記したところとほとんど同様に、好ましくは、CPU32、内部メモリーデバイス34、固定記憶36及びネットワークインターフェース回路38を有する。クライアント12は、パーソナルコンピュータであれば良い。したがって、クライアント12は、更にキーボード40及び、クライアント12とやりとりするためにクライアントに機能的に接続されたビデオディスプレイターミナル(VDT)のような、少なくとも一つのユーザーインターフェースディスプレイユニット42を含んでも良い。更に、クライアント12は、ポインティングデバイス44を含んでいても良い。サーバー14の場合のように、CPU32は、当業者にはよく知られた通り、あらゆる適切なマイクロプロセッサー若しくは他の電子プロセッシングユニットを含んで良い。適切なCPUとして、Intel Pentium(登録商標)クラスのプロセッサー、IBM PowerPC(登録商標)クラスのプロセッサー若しくはAMD Athlon(登録商標)クラスのプロセッサーが含まれる。 【0023】固定記憶36はオペレーティングシステム46、及び例えばウェッブページのようなハイパーメディア文書50を表示するためのハイパーメディア文書ブラウザアプリケーション48を各々含む。オペレーティングシステム46とハイパーメディア文書ブラウザーアプリケーション48は内部メモリーデバイス34に初期化時にロードされるのが望ましい。このハイパーメディア文書ブラウザーアプリケーション48により、クライアント12が、コンピュータ通信ネットワーク10に通信接続されたウエブサーバーへ/或いはから、ハイパーメディア文書50に対するリクエストを送り/若しくは受信できれば好ましい。このハイパーメディア文書ブラウザーはLDAPクライアントとして、LDAPプロトコルをサポート可能である。ハイパーメディア文書ブラウザー48は、好ましくは、サーバー14に対するディレクトリ情報のLDAPリクエストを、コンピュータ通信ネットワーク10を経由して送信することが可能であれば更に好ましい。ハイパーメディア文書ブラウザーアプリケーション48は、例えば、NetscapeCommunicator(登録商標)若しくはMicrosoft Internet Explorer(登録商標)のようなLDAP利用可能なウエブブラウザーであることが好ましい。以上は、本発明をインターナショナルビジネスマシーンズコーポレーション製のDAシステムであって、”AIX用リスト照会プログラム”(LSIP)と呼ばれる専用データベースを有するシステムに対する、本願発明の好ましい実装についての記載であるが、本発明は、IBM DAシステム若しくはLSIP照会データベースには限定されない。IBM DAシステムは単に、本発明で使用される専用DAシステムの例として示されるに過ぎない。 【0024】IBM DAシステムにおいて、DAシステムデータベース30は、LSIP照会データベースであって、LSIPローカリティIDセットを用いた、カスタマーのローカリティの階層的ビューを含んでいる。特に、このLSIP照会データベースは、フラットデータベースである。フラットLSIP照会データベースを用いる結果、LDAPをLSIPコンパチブルなリクエストに変換する際に、LDAPプラグイン20は、他とは完全に異なるデータスキーマの抽象を生成する。より詳細には、本発明では、ローカリティベースのツリーを含むLDAPホワイトページスキーマが、専用フラットLSIP照会データベースに対し、或いはから抽象化される。しかしながら、プラグイン20アブストラクションレイヤーは、なおクエリ入力及び結果出力において、LDAPサーバーに対して仮想的なLDAPツリー風の外観を提供することができる。このような抽象化を実行するために、プラグイン20は、LDAPリクエストに含まれるLDAPコンパチブルな検索引き数を、専用LSIPフォーマットにマッピングすることが可能である。このLDAPコンパチブルな検索引き数は、例えば、ローカリティベースのDNであることが好ましい。比較により、LSIPリクエストは、NPA(エリアコード)、ブック(ハードコピーの電話帳を指す)及びLoc ID(そのLSIPサーチに対する特定のローカリティ)を結合する。したがって、例えば、入力されたサーチベースが”I=Boca Raton,I=HIghland Beach Directory,st=FL,...c=us”の場合、プラグイン20は、リスティングサーチを行うために、このローカリティベースのDNを、NPA、ブック及びLoc IDに基づくLSIPリクエストに変換することができる。LSIPローカリティ解決データベースは、”キャプション設定レベル”フィールド、”サーチ/表示ネーム”フィールド、”代替検索名”フィールド及び”ローカリティID設定”フィールドを含んでいる。このローカリティ解決データベースのサーチクエリは、通常のLSIPリスティングクエリを実行するのに使用されるNPA、ブック及びLocを返すことが可能である。 【0025】以下、図3を参照しながら説明する。動作時において、LDAPサーバーアプリケーション16は、DAシステムのデータベース30に記憶されたデータに対するリクエストにサービスするために、クライアント12からのLDAPリクエストを受信する。詳細には、LDAPリクエストは、コンピュータ通信ネットワーク10を介し、ネットワークインターフェース回路28A内で受信される。ネットワークインターフェース回路28Aは、LDAPリクエストをオペレーティングシステム(不図示)に渡し、オペレーティングシステムは、そのLDAPリクエストを固定記憶22Aに記憶されメモリー24A内で実行されている、LDAPサーバーアプリケーション16に渡す。続いて、LDAPプラグイン20は、そのリクエストをインターセプトし、DAシステムアプリケーション18に認識され得るクエリに変換する。プラグイン20は、DAシステムコンパチブルなリクエストをDAシステムアプリケーション18に転送することが可能である。詳細には、プラグイン20は、そのリクエストをTCP/IP通信プロトコルを用いて、オペレーティングシステム(不図示)に渡し、オペレーティングシステムはそのリクエストをネットワークインターフェース回路28Aを介して、コンピュータ通信ネットワーク10に転送する。DAシステムコンパチブルなリクエストは、コンピュータ通信ネットワーク10を介し、ネットワークインターフェース回路28B内で受信される。ネットワークインターフェース回路28BはLDAPリクエストをオペレーティングシステム(不図示)に渡し、オペレーティングシステムはそのLDAPリクエストを、固定記憶22Bに記憶されメモリー24B内で実行されている、DAシステムアプリケーション18に渡す。 【0026】続いて、DAシステムアプリケーション18は、クエリに基づいてデータベース30の検索を行い、プラグイン20を介してLDAPサーバーアプリケーション16に対して、結果セットを返す。詳細には、DAシステムアプリケーション18はその結果セットをTCP/IP通信プロトコルを用いてオペレーティングシステム(不図示)に渡し、オペレーティングシステムは更にそのリクエストをコンピュータ通信ネットワーク10に、ネットワークインターフェース回路28Bを介して送信する。結果セットは、コンピュータ通信ネットワーク10を介し、ネットワークインターフェース回路28A内で受信される。ネットワークインターフェース回路28Aはその結果セットをオペレーティングシステム(不図示)に渡し、オペレーティングシステムは結果セットをプラグイン20に渡すことが可能である。プラグイン20はそのDAシステムコンパチブルな結果をLDAPフォーマットコンパチブルなフォーマットに変換し、変換後の結果をLDAPサーバーアプリケーション16に渡す。次に、LDAPサーバーアプリケーション16は、結果セットをクライアント12内に存在し、実行されている要求元のLDAPクライアントに送信することができる。LDAPリクエストの変換が行われると、プラグイン20は変換されたDAシステムコンパチブルなリクエスト、例えばLSIPリクエストを、DAシステム18に送信する。詳細には、プラグイン20は、そのリクエストをTCP/IP通信プロトコルを使ってオペレーティングシステム(不図示)に送信可能で、オペレーティングシステムは、そのリクエストを、ネットワークインターフェース回路28Aを介してコンピュータ通信ネットワーク10に送信する。DAシステムコンパチブルなリクエストは、コンピュータ通信ネットワーク10を介し、及びネットワークインターフェース回路28Bを介してDAシステム18内で受信される。より詳細には、ネットワークインターフェース回路28Bは、DAシステムコンパチブルなリクエストを含むデータパケットを受信でき、更にそのDAシステムコンパチブルなリクエストを、固定記憶22Bに記憶されメモリー24Bで実行されているDAシステムアプリケーション18に送信する。 【0027】次に、DAシステム18はDAシステムコンパチブルなリクエストに基づいてデータベース30の検索を実行可能である。データベース30からリストが取得できたら、結果セットが生成される。例えば、IBM DAシステムの場合、LSIP照会データベースからリストが取得されると、マッチングリストに対応し、個々のマッチングリストに含まれているNPA、ブック及びLocの各々が結果セットとして返される。DAシステム18は、その結果セットをTCP/IP通信プロトコルを用いてオペレーティングシステム(不図示)に転送可能であり、オペレーティングシステムはそのリクエストを、ネットワークインターフェース回路28Bを介してコンピュータ通信ネットワーク10に送信可能である。結果セットは、コンピュータ通信ネットワーク10を介し、ネットワークインターフェース回路28A内で受信される。ネットワークインターフェース回路28Aは、その結果セットをオペレーティングシステム(不図示)に渡し、オペレーティングシステムはその結果セットをプラグイン20に渡す。重要な点は、プラグイン20が更にDAシステムコンパチブルな結果セットをLDAPコンパチブルなフォーマットに変換可能で、更にそれをLDAPサーバーアプリケーション16に渡すことができることである。すなわち、この結果セットは、仮想的なLDAPツリーの中で結果セットの相対的位置を示すために、LSIPベースのリスト向けのDNに逆変換される。続いてLDAPサーバーアプリケーション16は、結果セットを、クライアント12内に存在し実行されている要求元のLDAPクライアントに転送する。 【0028】図4は、DAシステムにLDAPインターフェースを実装するための好ましい方法を示す。現状のDAシステムにおいて、カスタマーのデータのローカリティを適切に表現するために、カスタマーのリストを含む全てのローカリティを含むよう、地理的な表現が定義される。このようなプロセスは、ファイル更新プログラム(FUP)プロセス54により実行される。本発明においては、カスタマーデータをロードするステップをFUPプロセスに付け加えることが可能である。詳細には、この追加ステップは、ディレクトリ情報のLDAPローカリティベースの構成及び、ディレクトリ情報のLSIPローカリティベースの構成を生成することが可能である。片方を他方にマッピングするためには、ローカリティ解決データベース70が更に生成される。特に、ローカリティ入力52及び可能性としてはその他の入力58があると、FUPプロセス54は、LocMenuデータベース68内のローカリティ60、ドメインデータベース66内のドメイン62及びLSIP照会データベース30内のリスト64をそれぞれ更新する。更に、ローカリティプロセッサー56は、LSIPとLDAP双方用にロードファイルを構成するために、現存するデータベース66、68内に記憶されているローカリティ及びドメイン情報60、62を利用することが可能である。カスタマーのローカリティのすべてが、ローカリティプロセッサー56に送出されるのが望ましい。ローカリティプロセッサー56は、ドメイン/ローカリティロードファイル72を生成可能である。ドメイン/ローカリティロードファイルは、中間レコードフォーマット(IRF)74及びLDAPディレクトリ情報フォーマット(LDIF)76を並行処理することが可能である。 【0029】特に、LDIF 76は、LSIPデータベース30とは対照的に、カスタマーが、現実の”真の”LDAPディレクトリデータベース40に存在するであろう拡張リストを所有する場合にのみ使用されるのが好ましい。LDIF 76は、トップダウンからリストエントリーまでのローカリティベースの階層構造を有する。したがって、ディレクトリ内のノード若しくは識別名(DN)が、”cn=Jhon Doe, I=Boca Raton, I=Boca Raton Window, I=Highland Beach Directory, st=FL,...c=us”を含む場合、対応するLDIF表現は、以下のようになろう。 root | ∧ c=us ... ∧ st=FL ∧ I=HIghland Beach Directory ∧ I=Boca Raton ∧ cn=Jhon Doe【0030】リストエントリーは、識別ネーム内の上記ローカリティ階層に依存するので、カスタマーサイト向けのローカリティのLDIFファイルは、現実のリストレコードのローディングに際しての必要条件としてロードされることが望ましい。同様に、IRF 74はLSIPローカリティ解決データベース70内で索引付けられた場所の階層を表現することが可能である。例えば、IRF 74はローカリティ解決データベース70内に記憶された、表1に示されるような場所の階層を表現することができる。 【表1】
以上要約すると、本発明の好適な実施例において、カスタマーサイトのローカリティは、二つのフォーマットで表現され、その1つはLSIPローカリティ解決データベース70ロードのためのIRFであり、他は、カスタマーが、LSIPローカリティ解決データベース70内に存在しない拡張リストを有する場合のLDAPデータベース40ロードのためのLDIFである。
|
| 【出願人】 |
【識別番号】390009531 【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション 【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
|
| 【出願日】 |
平成13年7月17日(2001.7.17) |
| 【代理人】 |
【識別番号】100086243 【弁理士】 【氏名又は名称】坂口 博 (外2名)
|
| 【公開番号】 |
特開2002−108683(P2002−108683A) |
| 【公開日】 |
平成14年4月12日(2002.4.12) |
| 【出願番号】 |
特願2001−216454(P2001−216454) |
|