(57)【要約】【課題】本発明は、ネットワーク上に分散してリフェラル連携を行うＬＤＡＰサーバの検索処理の性能向上に関し、複数のサーバ間をリフェラル連携により実行される一連の検索を並列化して実行することにより検索時間の短縮を図る手段を提供することを課題とする。【解決手段】ネットワーク上に分散した複数サーバでオブジェクトをＬＤＡＰプロトコルに従い階層的に管理するデータベースサーバシステムにおいて、サーバ間の参照情報であるリフェラル情報の管理を一元的に行うサーバ４であって、サーバ間のリフェラル情報を一元的に記憶するリフェラル情報記憶手段１と、クライアント５からのリフェラル情報検索要求に基づいて前記リフェラル情報記憶手段１に記憶されたリフェラル情報を検索して抽出するリフェラル情報抽出手段２と、前記抽出したリフェラル情報をクライアント５に送信するリフェラル情報送信手段３とを備えるように構成する。【選択図】      図１
2004310542.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上に分散した複数サーバでオブジェクトをＬＤＡＰプロトコルに従い階層的に管理するデータベースサーバシステムにおいて、サーバ間の参照情報であるリフェラル情報の管理を一元的に行うサーバのプログラムであって、
サーバ間のリフェラル情報を一元的に記憶するリフェラル情報記憶手段と、
クライアントからのリフェラル情報検索要求に基づいて前記リフェラル情報記憶手段に記憶されたリフェラル情報を検索して抽出するリフェラル情報抽出手段と、
前記抽出したリフェラル情報をクライアントに送信するリフェラル情報送信手段としてコンピュータを機能させることを特徴とするリフェラル情報管理プログラム。
【請求項２】
前記リフェラル情報記憶手段はリフェラル情報を定義されたエントリをツリー構造で管理し、参照先サーバへのリフェラル情報のエントリは前記ツリー上で、該情報を通知する参照元サーバへのリフェラル情報のエントリよりも下位に記憶するようにしたことを特徴とする請求項１記載のリフェラル情報管理プログラム。
【請求項３】
前記リフェラル情報抽出手段は前記クライアントからのリフェラル検索要求に指示された前記ツリーの検索の開始点を示すエントリ、および、より下位の全てのエントリに定義されたリフェラル情報を抽出することを特徴とする請求項２記載のリフェラル情報管理プログラム。
【請求項４】
ネットワーク上に分散した複数サーバでオブジェクトをＬＤＡＰプロトコルに従い階層的に管理するデータベースサーバシステムにおいて、サーバ間の参照情報であるリフェラル情報の管理を一元的に行うサーバであって、
サーバ間のリフェラル情報を一元的に記憶するリフェラル情報記憶手段と、
クライアントからのリフェラル情報検索要求に基づいて前記リフェラル情報記憶手段に記憶されたリフェラル情報を検索して抽出するリフェラル情報抽出手段と、
前記抽出したリフェラル情報をクライアントに送信するリフェラル情報送信手段と、
を備えることを特徴とするリフェラル情報管理装置。
【請求項５】
ネットワーク上に分散した複数サーバでオブジェクトをＬＤＡＰプロトコルに従い階層的に管理するデータベースサーバシステムにおいて、サーバ間のリフェラル情報を一元的に記憶するリフェラル記憶手段を設け、リフェラル情報管理を一元的に行う方法であって、
クライアントからのリフェラル検索要求を受け付けるステップと、
前記受け付けたリフェラル情報検索要求に基づいて前記リフェラル情報記憶手段に記憶されたリフェラル情報を検索して抽出するステップと、
前記抽出したリフェラル情報をクライアントに送信するステップと、
を備えることを特徴とするリフェラル情報管理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク上に分散してリフェラル連携を行うＬＤＡＰサーバの検索処理の性能向上に関する。
【０００２】
【従来の技術】
オブジェクトとその属性、およびオブジェクト間の関係を有するデータベース（ディレクトリ）、および事前に定義されたポリシーに基づき、クライアントに対し、指定されたオブジェクトに関する様々なサービスを提供することをディレクトリサービスと呼ぶ。
【０００３】
クライアントからの検索要求に対して、参照元サーバ内で解決できない場合、他の参照先サーバ情報をクライアントに通知する機能をリフェラル機能と呼び、参照元サーバからクライアントへ参照先サーバのアドレスなどの情報が格納されたリフェラルと呼ばれる制御情報が送信される。
また、ＬＤＡＰ（Ｌｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）とはＬＤＡＰは、ＩＴＵ−Ｔ（国際電気通信連合の電気通信標準化部門）が１９８８年に勧告したＸ．５００規格のディレクトリサービスの簡易版を示す。
【０００４】
このように、ＬＤＡＰサーバはネットワーク上で情報を分散的に管理するデータベースサーバであり、複数のＬＤＡＰサーバ間での連携を行うことができる。
リフェラル連携は、その連携の一つの方法であり、参照先のＬＤＡＰサーバの情報ｌｄａｐＵＲＬを通知し、クライアントがその情報に従って、参照先のＬＤＡＰサーバを検索することにより連携を行う。
【０００５】
ＬＤＡＰ規約（インターネット上で開発されるさまざまな新しい技術の標準化を促進するために設立されたコンソシアムＩＥＴＦ（  Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）が管理・発行するドキュメントＲＦＣ（Ｒｅｑｕｅｓｔｓ  Ｆｏｒ  Ｃｏｍｍｅｎｔ）２２５１で定義されるリフェラル機能では、ＬＤＡＰサーバ（以下サーバと記述）から通知されるリフェラル情報に参照先サーバのアドレスが格納されている（例えば、非特許文献１参照。）。
【０００６】
ＬＤＡＰクライアント（以下クライアントと記述）は、その情報に従い参照先サーバにセションの接続及び検索要求を行って参照先サーバへの検索要求を行う。このため、参照先サーバにアクセスする毎にセションの確立、検索要求送信、サーバの検索処理待ち時間が必要となり、リフェラル連携が多数行われる環境では、検索に要する時間が増大する。
【０００７】
リフェラル検索時の性能向上に関する従来技術としては、クライアントがリフェラル情報を取得してから、リフェラル先サーバに検索要求を送信するまでの間に、サーバ間で検索要求を直接送信することにより、検索の待ち時間を短縮することで検索時の性能向上を図る技術が開示されている（特許文献１参照。）。
【０００８】
【特許文献１】
特願２００１−２８２８２３（請求項１−請求項２、段落番号０００４−段落番号００１７、段落番号００２９−段落番号００３３、第１図、第５図、第６図）
【０００９】
【非特許文献１】
Ｍ．Ｗａｈｌ、外２  名、「Ｌｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ（ｖ３）  」、［ｏｎｌｉｎｅ］  、［  平成１５年１月２７日検索］  、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ２２５１．ｔｘｔ□ｎｕｍｂｅｒ＝２２５１＞
（注  ：  □はクエスチョンマークを表す。）
【００１０】
【発明が解決しようとする課題】
リフェラル情報に従い、リフェラル先サーバを検索する場合、各検索ごとに、セションの確立、検索要求送信、サーバの検索処理待ち時間が必要となる。複数のリフェラル連携が行われる環境では、その検索処理の結果としてリフェラル情報を取得し、更にリフェラル先への検索が行われるため、検索に時間が掛かってしまうという問題があり、検索の高速化が必要とされていた。
【００１１】
前記特許文献１で提案されている技術による検索の高速化はクライアントが検索要求を送信した後のサーバによる検索の待ち時間を短縮することを解決するものであったが、更に、リフェラル情報で数多くのサーバに繰り返し検索するときの累積した検索時間を短縮することが望まれていた。
そこで、本発明は、複数のサーバ間をリフェラル連携により時間的に直列に検索を行っていた一連の検索を並列化して実行することにより検索時間の短縮を図る手段を提供することを目的とする。
【００１２】
【課題を解決するための手段】
図１には本発明の構成図を示す。図はリフェラル情報を一元的に行うリフェラル情報管理サーバ４と検索要求を行うクライアント５から構成されるリフェラル情報管理システムを示す。
クライアント５は目的の情報を保持する複数サーバのいずれかにアクセスして検索要求を行ったとき、そこで、受けとった検索された結果情報の中に、更に検索すべき他のサーバが存在することを示すリフェラル情報があったとき、前記受け取ったリフェラル情報に基づいてリフェラル情報を一元的に管理するリフェラル情報管理サーバ４に検索要求を行う。
【００１３】
リフェラル情報管理サーバ４にはＬＤＡＰプロトコルに従い階層的に管理するデータベースサーバシステムのサーバ間で参照されるリフェラル情報をサーバ間での参照関係に対応したツリー構造で記憶するリフェラル情報記憶手段１を備える。
また、リフェラル情報管理サーバ４にはリフェラル情報抽出手段２を備え、このリフェラル情報抽出手段２はクライアント５からの検索要求に基づいてリフェラル情報記憶手段１を検索し、検索要求に示されたツリー構造の検索開始点および下位に連なる全てのリフェラル情報を抽出するものである。
【００１４】
サーバ４には更にリフェラル情報送信手段３を備え、このリフェラル情報送信手段３は前記抽出されたリフェラル情報を検索要求したクライアント５に送信するものである。これにより、クライアント５は検索するべき全てのサーバに対するＬＤＡＰ  ＵＲＬ情報を取得することができる。
【００１５】
【発明の実施の形態】
本実施の形態においては、パーソナルコンピューター、ワークステーション等の汎用的な目的で使用される計算機上で実行するコンピュータプログラムにより実現する形態を示す。
本発明のリフェラル情報管理プログラム、装置および方法は、処理装置、主記憶装置、入出力装置などから構成される計算機上で、コンピュータプログラムとして実行して実現される。また、コンピュータプログラムは、フロッピーディスクやＣＤ−ＲＯＭ等の可搬型媒体やネットワーク接続された他の計算機の主記憶装置や補助記憶装置等に格納されて提供される。
【００１６】
本発明のリフェラル情報管理プログラムは、可搬型媒体から直接計算機の主記憶装置にロードされ、または、補助記憶装置を備えた計算機においては可搬型媒体から一旦補助記憶装置にコピーまたはインストール後に、主記憶装置にロードされて実行する。また、ネットワーク接続された他の装置に格納されて提供された場合も、他の装置からネットワークを経由して受信後に、主記憶装置にロードされ、あるいは補助記憶装置を備える計算機においては補助記憶装置にコピー後に、主記憶装置にロードされて実行するものである。
【００１７】
本発明の実施の形態について説明する前に、本発明のリフェラル処理について従来のリフェラル処理と対比して説明する。図１０には従来のリフェラル処理の説明図を示す。
ここには、サーバＡからサーバＢに対するリフェラル設定がされており、サーバＢには、さらにサーバＣにリフェラル設定がされている場合のリフェラル処理の例を示す。
【００１８】
クライアントはサーバＡに対し、セション接続および検索要求を行う（（１）  ）。サーバＡでは、クライアントからの要求に基づいて、認証・検索処理を行い（（２）  ）、リフェラルが設定されている場合、検索結果と共にクライアントへリフェラル情報を通知する（（３）  ）。クライアントは、受信したリフェラル情報を解析し（（４）  ）、その情報を元にサーバＢへ接続・検索要求を送信する（（５）  ）。サーバＢでは、クライアントからの検索要求を受け、検索処理を行い（（６）  ）、クライアントへ検索結果を通知する（（７）  ）。リフェラル設定されている場合、検索結果に加えリフェラル情報が通知される。クライアントは、受信したリフェラル情報を解析し（（４）  ）、その情報を元にサーバＣへ接続・検索要求を送信する（（８）  ）。サーバＣでは、クライアントからの検索要求を受け、検索処理を行い（（９）  ）、クライアントへ検索結果を通知する（（１０））。
【００１９】
図２は、本発明の機能によるリフェラル処理を示す。リフェラル情報管理サーバサーバＺに、サーバＡ〜Ｃまでに分散管理されていたリフェラル情報を一元的に保持させている。クライアントがいずれかのサーバ、例えばサーバＡに対し、セション接続及び検索要求を行う（（１）  ）。
サーバＡでは、クライアントからの要求に基づいて、認証・検索処理を行い（（２）  ）、他のサーバに連携して検索すべき情報がある場合、リフェラル情報管理サーバＺに保持されたリフェラル情報のツリー上の検索開始点の情報を含む情報をリフェラル情報として、クライアントへ他の検索結果と共に通知する（（３）  ）。
【００２０】
クライアントは、サーバＡからのリフェラル情報を受信・解析し（（４）  ）、その情報を元にサーバＺへ接続・検索要求を送信する（（１’））。リフェラル情報管理サーバＺでは、検索要求されたリフェラル情報のツリー上の検索開始点以下に連なる全てのリフェラル情報をクライアントへ通知する（（３’））。
クライアントでは、受け取ったリフェラル情報を解析し、通知されたリフェラル先の内、クライアントで不要なリフェラル情報は除くが、他の全てのリフェラル情報に対応して同時に検索要求を送信する（（５）  ）。
【００２１】
このように、検索要求を受けた各サーバはそれぞれの検索結果をクライアントに通知し、クライアントは全てのリフェラル連携したサーバの検索を完了することができるので、前記従来のリフェラル処理の仕組みと比較して検索効率の向上を図ることができることがわかる。
ここに例示したものは、クライアントはサーバＡから検索を開始したが、階層的に構成されたディレクトリの検索は一般的に必要とする階層から検索を開始するものであり、この例においても例えばサーバＢから検索を開始する場合もある。また、例示では、サーバはＡ、Ｂ、Ｃの３階層であるが、ツリー状に多層に連なるサーバ群がリフェラル連携している場合においては本発明の検索効率の向上は更に顕著となることになる。
【００２２】
次に、実施の形態の説明に必要な情報の形式を記しておく。図３（ａ）には、リフェラル情報となるｌｄａｐＵＲＬの形式を示す。このリフェラル情報をクライアントが解析することにより、リフェラル先（  例えばサーバＢ、Ｃあるいはリフェラル情報管理サーバＺ）  への検索を行うことが可能になる。
また、図３（ｂ）には、リフェラル情報（ｌｄａｐＵＲＬ）が保持されるエントリの情報を示す。エントリは、ＤＢ上の情報の単位である。ｌｄａｐＵＲＬは、このエントリの一部の情報としてクライアントに通知される。
【００２３】
図４には、本発明のリフェラル情報管理サーバにおけるリフェラル情報の管理方法を示す一例を示す。この例は、図２のサーバＺにおけるＤＢを想定し、管理するリフェラル情報もサーバＢおよびＣへのものが管理されているものである。
リフェラル先サーバへのリフェラル情報を持つエントリは、そのリフェラル先から通知されるリフェラル情報を持つエントリの上位に位置する必要がある。
【００２４】
（１）  は一般的にディレクトリツリーのトップを示し、意味として国名（ｃ）  が日本（ｊｐ）であることを示す。
（２）  はｃ＝ｊｐエントリ配下に組織（ｏ）  として「ｒｅｆａｄｍ」があることを示す。このエントリ配下にリフェラル情報を保持するエントリを管理する。
（３）  はｏ＝ｒｅｆａｄｍ，ｃ＝ｊｐ  エントリの配下に組織単位（ｏｕ）として「ｒｅｆ  ＿ｄｉｒＢ」があることを示す。このエントリは、サーバＢに格納されたＤｉｒｅｃｔｏｒｙ  Ｂへのリフェラル情報が保持されるエントリである。サーバＡに格納されたＤｉｒｅｃｔｏｒｙ  Ａからクライアントに通知されるリフェラル情報には、リフェラル情報を管理するサーバＺのホスト名、ポート番号に加え、サーバＢに格納されたＤｉｒｅｃｔｏｒｙ  Ｂへのリフェラル情報が保持されるエントリの検索を開始する開始点がサーチベースとして通知される。クライアントはこのエントリをサーチベースとして検索することにより、実際のリフェラル先へのリフェラル情報を取得することが可能になる。
【００２５】
（４）  はｏｕ＝ｒｅｆ＿ｄｉｒ  Ｂ，ｏ＝ｒｅｆａｄｍ，ｃ＝ｊｐエントリの配下に組織単位（ｏｕ）として「ｒｅｆ  ＿ｄｉｒＣ」があることを示す。このエントリは、本来Ｄｉｒｅｃｔｏｒｙ  Ｂから通知されるＤｉｒｅｃｔｏｒｙ  Ｃへのリフェラル情報を保持する。そのため、必ずＤｉｒｅｃｔｏｒｙ  Ｂへのリフェラル情報を持つエントリの配下に保持される必要がある。このことにより、クライアントがサーバＡから通知されたリフェラル情報に含まれるサーチベースを基点にＤｉｒｅｃｔｏｒｙ  Ｚの検索を行った場合、Ｄｉｒｅｃｔｏｒｙ  Ｂに加えＤｉｒｅｃｔｏｒｙ  Ｂのリフェラル先であるＤｉｒｅｃｔｏｒｙ  Ｃへのリフェラル情報を同時に取得することができる。
【００２６】
図５には本発明の実施の形態の運用の説明図を示す。図には点線で囲まれて示されたリフェラルで連携された分散型のディレクトリサーバと、そこに格納されたディレクトリにアクセスして検索するクライアントを示している。
具体例として、ここに示す各サーバＡ〜Ｇには、会社Ａとその関連会社Ｂ、Ｃ、Ｄと関連会社Ｂに所属する部門Ｅ、部門Ｆ、そして、関連会社Ｃの中の部門Ｇのそれぞれに属する人事情報や管理情報等がデータベース化して保持されており、これらの情報が階層型ディレクトリとしてサーバからサーバへＬＤＡＰリフェラル情報により参照されるようにツリー状に連携して運用されることを想定して以降の説明を進める。
【００２７】
特に、本発明の特徴として設定されたリフェラル管理サーバＺには、サーバＡ〜Ｇの間のリフェラル情報を一元的にツリー状に格納して、クライアントからのリフェラル情報の検索を受け付けるようにしている。
すなわち、クライアントがこれらのサーバに検索要求を送信し、検索要求を受け付けたサーバが、そこに格納されているディレクトリを検索して、得られた検索結果の情報を返すが、その検索の結果、更にリフェラル情報で他のサーバを検索する必要がある場合、例えば、サーバＢに検索要求をしたとき、関連会社Ｂに所属する全部門の社員の情報を検索するときには、サーバＢに記憶された情報の他、サーバＥ、サーバＦの情報も合わせて検索する必要がある場合には、サーバＢで得られた実体の検索結果に加えて、サーバＥ、Ｆへのリフェラル情報を返す必要がある。
【００２８】
この場合、従来技術によれば、サーバＢは直ちにサーバＥ、サーバＦへのリフェラル情報を返すが、本発明においては、これら２つのリフェラル情報を、リフェラル情報管理サーバＺを参照先のサーバとしてクライアントに通知することになる。すなわち、本発明においては各サーバ間のリフェラル情報は一元的に格納されているリフェラル情報管理サーバＺから取得するようになっている。
【００２９】
図６には、リフェラル情報管理サーバにおけるリフェラル連携のツリーの説明図を示す。図の上部に示すようなリフェラル連携を行うＬＤＡＰサーバの構成に対応して、図の下部にはリフェラル情報管理サーバにおけるリフェラル連携のツリー上でのリフェラル情報の管理を示している。
この図で分かるように、リフェラル情報管理サーバＺに格納されているツリー状のリフェラル情報はサーバ間のリフェラル情報での参照関係に対応した形式となっている。
【００３０】
これは、例えば、クライアントがサーバＡを検索したとき、その検索の結果サーバＢに検索するような参照関係があるときには図６下部のツリーに示した「サーバＢへのリフェラル情報」と記されたツリー上のエントリを検索開始のサーチベースとしてサーバＺにアクセスして検索するように、サーバＡからクライアントにその他の検索結果とともに通知される。
【００３１】
続いて、クライアントがこれらの情報に基づいてリフェラル情報管理サーバＺにアクセスすると、サーバＺは検索開始点として示された「サーバＢへのリフェラル情報」およびツリー上の配下の情報をたどりその全ての情報、すなわち、「サーバＥへのリフェラル情報」および「サーバＦへのリフェラル情報」を探して抽出してクライアントに通知する。
【００３２】
このようにリフェラル情報管理サーバはリフェラル連携している範囲のサーバのうちその検索で必要な全てのサーバを一度にクライアントに通知することができる。
図１１は、図１０における従来のリフェラル設定がされている場合の処理シーケンスである。図中の番号は、図１０の番号に対応する。
【００３３】
また、図７は、図２の本発明のリフェラル処理シーケンスである。図中の番号は、図２の番号に対応している。
ここで、これらの図から従来の検索のシーケンスと本発明の検索のシーケンスにおける検索に要する時間の違いを検討する。
通常検索が完了するのに要する時間は、全てのＬＤＡＰサーバの検索が完了する時間である。リフェラル連携が複数行われている場合、通常、リフェラル情報を最後に取得し検索を開始するリフェラル先サーバの検索を完了した時間が全ての検索に要した時間と考えられる。
【００３４】
図１１の従来例では、（１０）の検索結果が通知された時点で検索完了といえる。つまり、（１）  〜（１０）までの処理を加算した値が、検索に要した時間といえる。図１１  の構成では、各ＬＤＡＰサーバへの検索（接続、検索、切断）の時間を一定として「ｐ」とする。またクライアントにおけるリフェラルの解析処理時間を「ｑ」とする。繰り返すＬＤＡＰサーバの数を「ｎ」とすると、以下の検索時間Ｘｎを要することになる。
Ｘｎ＝（ｐ＋ｑ）×ｎ
（ｐ＝（１）  ＋（２）  ＋（３）  ≒（５）  ＋（６）  ＋（７）  ≒（８）  ＋（９）  ＋（１０））
本発明のリフェラル処理では、リフェラル情報管理サーバ（  サーバＺ）  への検索処理が増えるが、それを検索することにより、全てのリフェラル先へのリフェラル情報を一度に取得することが可能になり、その結果全てのリフェラル先サーバに同時に検索要求を送信することが可能になる。
【００３５】
図２の例では、同時に処理するリフェラル先サーバは、２つ（  サーバＢ、サーバＣ）  であるが、リフェラル先サーバ数が増えるほど、その効果は顕著になる。すなわち、図７を参照して、各ＬＤＡＰサーバ及びリフェラル情報管理サーバへの検索時間（接続、検索、切断）を一定、「ｐ」とし、またクライアントにおけるリフェラルの解析処理時間を「ｑ」とすると以下の検索時間Ｙｎを要することになる。
Ｙｎ＝（ｐ＋ｑ）×３
（ｐ＝（１）  ＋（２）  ＋（３）  ≒（１’）＋（２’）＋（３’）≒（５）  ＋（６）  ＋（７）  ）
これにより、以下が言えることになる。すなわち、Ｘｎ＝＞Ｙｎ  （ｎ＞２）であり、検索に必要なリフェラル情報の数つまり、１回の検索に必要なＬＤＡＰサーバの数が３以上になると本発明の検索時間の改善の効果が現れ、更に、Ｙｎはリフェラル先のＬＤＡＰサーバの数「ｎ」にかかわらず一定であるため、ＬＤＡＰサーバ数が増加するほど、効果が大きくなるといえる。
【００３６】
次に、図８リフェラル情報管理サーバの検索のフローチャートおよび図９クライアントの検索処理フローチャートの各ステップに沿って動作を説明する。
図８によりリフェラル情報管理サーバにおける動作の説明を行う。すでに説明したように、リフェラル情報管理サーバはリフェラル連携された分散型のディレクトリデータベースの各サーバ間のリフェラル情報を一元化してツリー状に格納したデータベースである。
【００３７】
最初に、クライアントからの検索要求が検索対象の開始点のディレクトリが格納されたサーバに対して送信される。各サーバは検索要求に示された検索開始点からその下位につながるツリーを順次検索して見つかった各検索結果エントリとともに、より下位のツリーが他のサーバにあるときには検索結果のリフェラル情報としてｌｄａｐＵＲＬを図３に示した形式で合わせてクライアントに送信する。
【００３８】
クライアントは受信した検索結果を記憶するとともに、リフェラル情報のｌｄａｐＵＲＬで示された各サーバにサーチベースを指定して検索依頼を送信する。ここまでは、従来技術で行われていたクライアント、サーバと、動作は同じである。
本発明の実施の形態においては、クライアントに通知されるリフェラル情報で指定されるサーバは下位のツリー情報が格納されたサーバではなく、リフェラル情報を一元的に格納したリフェラル情報管理サーバである。
【００３９】
図８のフローチャートはこのリフェラル情報管理サーバの動作を示すフローチャートである。ステップ８１では、検索要求のｌｄａｐＵＲＬに示されたサーチベースに基づいてツリー上の検索開始点を設定する。
ステップ８２においては、検索開始点およびツリーの下位方向のエントリを順次取り出す。
【００４０】
ステップ８３では各エントリに示されるリフェラル情報を取り出し、一連の検索の結果として蓄積して記憶する。
ステップ８４において検索開始点以下の全てのエントリの検索が終了したかを調べる。この結果まだ残されたエントリ、あるいは残されたツリーがあればステップ８２に戻って検索する。
【００４１】
全てのエントリの検索が終わったことが確認されるとステップ８５で、蓄積記憶したリフェラル情報をクライアントに検索結果として送信する。
以上のようにして、クライアントが最初に検索したサーバから通知されたリフェラル情報によりリフェラル情報管理サーバを検索することにより、必要とするツリーの下位に存在する分散して格納した全てのサーバの情報を一度に知ることができる。
【００４２】
この実施の形態では、一元的にリフェラル情報を管理する専用のサーバを独立して備えるようにしているが、例えば、分散型のディレクトリデータベースのツリーの最上位を格納するサーバをリフェラル情報管理サーバとして従来のサーバの機能を併せ持つようにしてもよい。このように構成することにより、もし最上位サーバからの検索の割合が多い場合には更にサーバへのアクセス回数を減らすことができることになる。ここでは、リフェラル情報管理サーバの機能を明確に区別して説明するために専用のサーバとして説明している。
【００４３】
図９には検索の要求をするクライアント側の動作についてフローチャートで示してある。ステップ９１では図８でも説明したように、クライアントは検索開始するサーバに、ディレクトリツリーの検索開始点を指定して検索要求を送信する。
そして、ステップ９２ではサーバからの検索結果を受信して記憶する。
【００４４】
ステップ９３では、受信した検索結果にリフェラル情報があったかを調べている。ここにリフェラル情報がない場合にはそれ以上他のサーバに連携されたディレクトリが存在しないことを示すので目的とした検索は終了したことになる。
リフェラル情報があったときにはステップ９４に進み、通知されたリフェラル情報毎にタスクを発生させて、各ｌｄａｐＵＲＬに基づいて対応するサーバに検索要求を並行して送信する。このようにリフェラル情報管理サーバから検索するべき全てのサーバがそれぞれの検索するサーチベースを示されて通知されるので複数のサーバに対して同時並行的に検索を実行させることができる。
【００４５】
ステップ９５では検索依頼を送った各サーバからの検索結果が並行的に送信されてくることになり、これを受信して蓄積して記憶する。本発明の仕組みから分かるように、リフェラル情報管理サーバに検索要求を出して、送信されてきたリフェラル情報には、追加検索する必要のある全てのサーバが通知されてきているので、その通知に基づいて検索した結果に更に検索するべきサーバはないはずである。
【００４６】
しかしながら、一般的には各サーバは検索される情報のツリーの中間に位置する可能性があり、クライアントが最初にこのツリーの中間にあるサーバにアクセスしたときには更に下位のサーバへの検索が必要であり、これをリフェラル情報として返す必要がある。
従って、一度リフェラル情報管理サーバに検索要求を送信した後、そこで検索要求した結果として通知されるリフェラル情報は下位のツリーのを検索するためのリフェラル情報管理サーバへのリフェラル情報であるので、これを単純に無視することができる。
【００４７】
しかし、例えば従来型の検索を行うサーバが混在するように分散型ディレクトリ検索システムが構成される場合には、このリフェラル情報がリフェラル情報管理サーバから送信されたものか否かを調べてこのリフェラル先に検索を継続するようにしてもよい。
ステップ９６では、同時並行的に検索された検索結果が到着するので検索要求した全ての検索結果が戻ってきたことを調べるようにしている。
【００４８】
（付記１）ネットワーク上に分散した複数サーバでオブジェクトをＬＤＡＰプロトコルに従い階層的に管理するデータベースサーバシステムにおいて、サーバ間の参照情報であるリフェラル情報の管理を一元的に行うサーバのプログラムであって、
サーバ間のリフェラル情報を一元的に記憶するリフェラル情報記憶手段と、
クライアントからのリフェラル情報検索要求に基づいて前記リフェラル情報記憶手段に記憶されたリフェラル情報を検索して抽出するリフェラル情報抽出手段と、
前記抽出したリフェラル情報をクライアントに送信するリフェラル情報送信手段としてコンピュータを機能させることを特徴とするリフェラル情報管理プログラム。
【００４９】
（付記２）前記リフェラル情報記憶手段はリフェラル情報を定義されたエントリをツリー構造で管理し、参照先サーバへのリフェラル情報のエントリは前記ツリー上で、該情報を通知する参照元サーバへのリフェラル情報のエントリよりも下位に記憶するようにしたことを特徴とする付記１記載のリフェラル情報管理プログラム。
【００５０】
（付記３）前記リフェラル情報抽出手段は前記クライアントからのリフェラル検索要求に指示された前記ツリーの検索の開始点を示すエントリ、および、より下位の全てのエントリに定義されたリフェラル情報を抽出することを特徴とする付記２記載のリフェラル情報管理プログラム。
（付記４）ネットワーク上に分散した複数サーバでオブジェクトをＬＤＡＰプロトコルに従い階層的に管理するデータベースサーバシステムにおいて、サーバ間の参照情報であるリフェラル情報の管理を一元的に行うサーバであって、
サーバ間のリフェラル情報を一元的に記憶するリフェラル情報記憶手段と、
クライアントからのリフェラル情報検索要求に基づいて前記リフェラル情報記憶手段に記憶されたリフェラル情報を検索して抽出するリフェラル情報抽出手段と、
前記抽出したリフェラル情報をクライアントに送信するリフェラル情報送信手段と、
を備えることを特徴とするリフェラル情報管理装置。
【００５１】
（付記５）ネットワーク上に分散した複数サーバでオブジェクトをＬＤＡＰプロトコルに従い階層的に管理するデータベースサーバシステムにおいて、サーバ間のリフェラル情報を一元的に記憶するリフェラル記憶手段を設け、リフェラル情報管理を一元的に行う方法であって、
クライアントからのリフェラル検索要求を受け付けるステップと、
前記受け付けたリフェラル情報検索要求に基づいて前記リフェラル情報記憶手段に記憶されたリフェラル情報を検索して抽出するステップと、
前記抽出したリフェラル情報をクライアントに送信するステップと、
を備えることを特徴とするリフェラル情報管理方法。
【００５２】
（付記６）ネットワーク上に分散した複数サーバでオブジェクトをＬＤＡＰプロトコルに従い階層的に管理するデータベースサーバシステムにおいて、サーバ間の参照情報であるリフェラル情報の管理を一元的に行うサーバのプログラムであって、
サーバ間のリフェラル情報を一元的に記憶し、リフェラル情報を定義されたエントリをツリー構造で管理し、参照先サーバへのリフェラル情報のエントリは前記ツリー上で、該情報を通知する参照元サーバへのリフェラル情報のエントリよりも下位に記憶するようにしたリフェラル情報記憶手段と、
クライアントからのリフェラル検索要求に指示された前記ツリーの検索の開始点を示すエントリ、および、より下位の全てのエントリに定義されたリフェラル情報を抽出するリフェラル情報抽出手段と、
前記抽出したリフェラル情報をクライアントに送信するリフェラル情報送信手段としてコンピュータを機能させることを特徴とするリフェラル情報管理プログラム。
【００５３】
（付記７）ネットワーク上に分散した複数サーバでオブジェクトをＬＤＡＰプロトコルに従い階層的に管理するデータベースサーバシステムにおいて、コンピュータを、
サーバ間のリフェラル情報を一元的に記憶するリフェラル情報記憶手段、
クライアントからのリフェラル情報検索要求に基づいて前記リフェラル情報記憶手段に記憶されたリフェラル情報を検索して抽出するリフェラル情報抽出手段、
前記抽出したリフェラル情報をクライアントに送信するリフェラル情報送信手段、として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【００５４】
【発明の効果】
以上の説明から明らかなように、本発明によれば、複数のサーバ間をリフェラル連携により実行される一連の検索を並列して実行することにより検索時間の短縮を図ることができ、情報処理の効率向上の効果がある。
【図面の簡単な説明】
【図１】本発明の構成図
【図２】本発明のリフェラル処理の説明図
【図３】リフェラル情報の構成の説明図
【図４】リフェラル情報管理サーバにおけるリフェラル情報（エントリ）のツリー構成の説明図
【図５】本発明の実施の形態の運用の説明図
【図６】リフェラル情報管理サーバにおけるリフェラル連携のツリーの説明図
【図７】本発明のリフェラル処理のシーケンスの説明図
【図８】リフェラル情報管理サーバの検索のフローチャート
【図９】クライアントの検索処理フローチャート
【図１０】従来のリフェラル処理の説明図
【図１１】従来のリフェラル処理のシーケンスの説明図
【符号の説明】
１  リフェラル情報記憶手段
２  リフェラル情報抽出手段
３  リフェラル情報送信手段
４  リフェラル情報管理サーバ
５  クライアント
【図１】
2004310542.tif 000003
【図２】
2004310542.tif 000004
【図３】
2004310542.tif 000005
【図４】
2004310542.tif 000006
【図５】
2004310542.tif 000007
【図６】
2004310542.tif 000008
【図７】
2004310542.tif 000009
【図８】
2004310542.tif 000010
【図９】
2004310542.tif 000011
【図１０】
2004310542.tif 000012
【図１１】
2004310542.tif 000013