(57)【特許請求の範囲】
【請求項１】
ネットワークに接続された複数のサーバの間で連携するサーバ装置において、
ネットワークに接続された連携する他のサーバのアドレスを含む環境定義を登録するサーバ情報テーブルと、
自分の持つサーバ情報テーブルに環境定義が登録されている他のサーバに対して、上記自分の持つサーバ情報テーブルには環境定義が登録されておらず、かつ、上記他のサーバに設けられた環境定義を登録するサーバ情報テーブルには環境定義が登録されているサーバの環境定義を問い合わせる手段と、
上記問い合わせに対応して上記自分の持つサーバ情報テーブルには登録されていないサーバの環境定義に関する返答を受信したときに、上記自分の持つサーバ情報テーブルに上記返答されたサーバの環境定義を登録する手段と
を備えたことを特徴とするサーバ装置。
【請求項２】
上記問い合わせを所定時間毎に行い、返答のあった環境定義が前回と同一のときに所定時間を徐々に長くすることを特徴とする請求項１記載のサーバ装置。
【請求項３】
上記問い合わせを所定時間毎に行い、環境定義の返答がなかったときに上記サーバ情報テーブルから削除し、一方、削除したサーバへの問い合わせを所定時間毎に行って環境定義の返答があったとき、あるいは削除したサーバからの環境定義があったときに上記サーバ情報テーブルに復元することを特徴とする請求項１または請求項２記載のサーバ装置。
【請求項４】
ネットワークに接続された連携する他のサーバのアドレスを含む環境定義をサーバ情報テーブルに登録する手段と、
自分の持つサーバ情報テーブルに環境定義が登録されている他のサーバに対して、上記自分の持つサーバ情報テーブルには環境定義が登録されておらず、かつ、上記他のサーバに設けられた環境定義を登録するサーバ情報テーブルには環境定義が登録されているサーバの環境定義を問い合わせる手段と、
上記問い合わせに対応して上記自分の持つサーバ情報テーブルには登録されていないサーバの環境定義に関する返答を受信したときに、上記自分の持つサーバ情報テーブルに上記返答されたサーバの環境定義を登録する手段と
してコンピュータを機能させるプログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークに接続された複数のサーバの間で連携するサーバ装置および記録媒体に関するものである。
【０００２】
【従来の技術】
従来、ネットワーク型分散オブジェクト管理サーバシステムにおいて、膨大なオブジェクトを複数のサーバで管理している場合、各管理サーバは連携する他の全ての管理サーバの情報を把握して管理者が環境定義（ＩＰアドレス、ポート番号、ツリーのＴＯＰ情報などの定義）をそれぞれ行って各管理サーバに登録するようにしていた。また、管理サーバの追加、削除（一時的な停止）のタイミングで環境定義を変更（追加、削除）するようにしていた。
【０００３】
また、ネットワーク型分散オブジェクト管理サーバシステムにおいて、膨大なオブジェクトを複数のサーバで階層化して管理している場合、クライアントからのオブジェクトの問い合わせ時に、自サーバのキャッシュテーブル上にあるときはそのオブジェクトをクライアントに送信し、一方、自サーバ上にないときは該当サーバに問い合わせて転送を受けたオブジェクトをクライアントに送信すると共にキャッシュテーブルに保存するようにしている。
【０００４】
【発明が解決しようとする課題】
従来の管理サーバシステムでは、上述したよう膨大なオブジェクトを分散して複数のサーバで管理する場合、連携する複数の各管理サーバの環境定義を管理者が個別に定義して登録したり、管理サーバの追加、削除のタイミングでその都度、環境定義を変更する必要があり、各管理サーバの環境定義や保守に非常に多くの手間が必要となってしまう問題があった。
【０００５】
また、オブジェクトを複数のサーバで階層化して管理し、サーバ上にキャッシュテーブルを持ち、以前に問い合わせたオブジェクトをキャッシュテーブルに保存し、次回以降の問い合わせ時にキャッシュテーブル上にオブジェクトがあるときにそのオブジェクトをクライアントに迅速に送信することができた。しかし、キャッシュテーブル上のオブジェクトが最新であるという保証がなく、最新であるという保証を得るためにデータが実在するサーバに問い合わせてキャッシュテーブル上のオブジェクトの最新性を確保して整合性を保証する必要が生じてしまい、レスポンスが悪くなってしまうという問題があった。
【０００６】
本発明は、これらの問題を解決するため、オブジェクトを複数のサーバで分散管理する際にサーバの環境定義を必要最小限とし他はネットワークを介して環境定義を自動収集およびサーバの追加・削除時に自動的に環境定義を収集して更新し、連携するサーバの環境定義の管理の負担を軽減し、常に最新の環境定義への更新を簡易に実現することを目的としている。
【０００７】
また、本発明は、オブジェクトを複数のサーバで階層化して管理する際に、各サーバのキャッシュテーブルに常に最新データを保持し、データの信頼性を確保およびクライアントからの問い合わせ時に他サーバへのアクセスを無くしてレスポンスの向上を図ることを目的としている。
【０００８】
【課題を解決するための手段】
図１および図１０を参照して課題を解決するための手段を説明する。
図１および図１０において、サーバ１は、ネットワークに接続して連携してオブジェクトを管理するものであって、ここでは、チェイニング手段２、一括反映手段３、およびサーバ情報テーブル４などから構成されるものである。
【０００９】
チェイニング手段２は、他の連携するサーバの環境定義を問い合わせたり、返答された環境定義をサーバ情報テーブル４に登録あるいは更新したりなどするものである。
【００１０】
一括反映手段３は、全てのサーバに放送によっての環境定義を問い合わせたり、返答された環境定義をサーバ情報テーブル４に登録あるいは更新したりなどするものである。
【００１１】
サーバ情報テーブル４は、連携するサーバのアドレスを含む環境定義を登録して管理するものである。
サーバ２１は、ネットワークに接続して連携しオブジェクト（データ）を管理するものであって、ここでは、キャッシュ手段２２、キャッシュテーブル２４などから構成されるものである。
【００１２】
キャッシュ手段２２は、他のサーバ２１の最新のデータをキャッシュテーブル２４に保持させるものである。
キャッシュテーブル２４は、他のサーバの最新のデータを格納するものである。
【００１３】
次に、動作を説明する。
ネットワークに接続された連携するサーバ１を構成するチェイニング手段２がサーバ情報テーブル４に設定された上位、同位、あるいは下位のサーバ１の環境定義を問い合わせし、問い合わせに対応して連携する他のサーバ１の環境定義の返答を受信したときにサーバ情報テーブル４に環境定義を登録あるいは環境定義を更新するようにしている。
【００１４】
また、ネットワークに接続された連携するサーバ１の一括反映手段３が放送によって全ての他のサーバの環境定義を問い合わせ、問い合わせに対応して連携する他のサーバ１の環境定義の返答を受信したときにサーバ情報テーブル４に環境定義を登録あるいは環境定義を更新するようにしている。
【００１５】
これらの際に、問い合わせを所定時間毎に行い、返答のあった環境定義が前回と同一のときに所定時間を徐々に長くするようにしている。
また、問い合わせを所定時間毎に行い、環境定義の返答がなかったときにサーバ情報テーブル４から削除し、一方、削除したサーバ１への問い合わせを所定時間毎に行って環境定義の返答があったときにサーバ情報テーブル４に復元、あるいは削除したサーバからの環境定義の応答があったときに復元するようにしている。
【００１６】
また、キャッシュ手段２２がデータの問い合わせ時に自サーバ２１のキャッシュテーブル２４にデータが存在したときに問い合わせ元にそのデータを送信し、一方、存在しないときに他の該当サーバ２１にデータの問い合わせを行い、データが送信されてきたときに問い合わせ元に送信すると共にキャッシュテーブル２４に保存し、問い合わせのあったデータの実在するサーバ２１で該当データが更新されたときに問い合わせ時に送信した先のサーバ２１上にデータを送信してキャッシュテーブル２４を最新に更新するようにしている。
【００１７】
また、キャッシュ手段２２がデータの問い合わせ時に自サーバ２１のキャッシュテーブル２４にデータが存在したときに問い合わせ元にそのデータを送信し、一方、存在しないときに他の該当サーバ２１にデータの問い合わせを行い、データが送信されてきたときに問い合わせ元に送信すると共にキャッシュテーブル２４に保存し、キャッシュテーブル２４のあるサーバで所定時間毎にあるいは問い合わせがあったときに、データの実在するサーバにデータの更新の有無を問い合わせ、更新されていたときに最新データの送信を受けてキャッシュテーブル２４を最新に更新するようにしている。
【００１８】
これらの際に、クライアントからデータの問い合わせのあったサーバ２１にのみキャッシュテーブル２４を設けるようにしている。
従って、オブジェクトを複数のサーバ１で分散管理する際にサーバ１の環境定義を必要最小限とし他はネットワークを介して環境定義を自動収集およびサーバ１の追加・削除時に環境定義を自動収集して更新することにより、管理者による連携するサーバの環境定義の管理の負担を軽減し、常に最新の環境定義への更新を簡易に実現することが可能となる。
【００１９】
また、オブジェクトを複数のサーバ２１で階層化して管理する際に、各サーバ２１のキャッシュテーブル２４に常に最新データを保持し、データの信頼性を確保およびクライアントからの問い合わせ時に他のサーバ２１へのアクセスを無くしてレスポンスの向上を図ることが可能となる。
【００２０】
【発明の実施の形態】
次に、図１から図８を用いて本発明の実施の形態および動作を順次詳細に説明する。
【００２１】
図１は、本発明のシステム構成図を示す。
図１において、サーバ１は、ネットワークに接続して連携して膨大な数のオブジェクトを管理するものであって、図示のように階層構造にして相互に接続したものである。各サーバ１は、ここでは、チェイニング手段２、一括反映手段３、およびサーバ情報テーブル４などから構成されるものである。
【００２２】
チェイニング手段２は、サーバ情報テーブル４に設定された他の連携するサーバの環境定義を問い合わせたり、返答された環境定義をサーバ情報テーブル４に登録あるいは更新したりなどするものである（図２を用いて後述する）。
【００２３】
一括反映手段３は、全てのサーバに放送によっての環境定義を問い合わせたり、返答された環境定義をサーバ情報テーブル４に登録あるいは更新したりなどするものである（図６を用いて後述する）。
【００２４】
サーバ情報テーブル４は、連携するサーバのアドレスを含む環境定義を登録して管理するものであって、後述する図３に示すように、ＩＰアドレス、ポート番号およびツリーのＴＯＰ情報などを登録するものである。
【００２５】
次に、図２のフローチャートの順序に従い、図１の構成の動作を詳細に説明する。
図２は、本発明の動作説明フローチャートを示す。これは、既述した図１のサーバ１内のチェイニング手段２が実行するものであって、図１に示すようにサーバＡ、Ｂ、Ｃ、Ｄ、Ｅがネットワークを介して階層構造に接続されている例のときのフローチャートである。
【００２６】
図２において、Ｓ１は、サーバＢにサーバＡとサーバＣを定義する。これは、図１のサーバＢが持つ図３の（ａ）のサーバ情報テーブル（Ｂ）４にサーバＡとサーバＢのＩＰアドレス、ポート番号、ツリーのＴＯＰ情報を、管理者が定義して登録する。
【００２７】
Ｓ２は、問い合わせ間隔を規定値で問い合わせを行う。
Ｓ３は、規定回数問い合わせてもサーバの情報が同じか判別する。Ｓ２の問い合わせの規定値の間隔で、後述するＳ５からＳ８の問い合わせを行い、変更などされていなく同じか判別する。ＹＥＳの場合には、同じであると判明したので、Ｓ４で時間間隔を長くし、Ｓ５に進む。一方、ＮＯの場合には、異なり、変更などされたと判明したので時間間隔を初期値の規定値にしてＳ５に進む。
【００２８】
Ｓ５は、ＩＰアドレスとポート番号をもとに、そのサーバへ問い合わせを行う。これは、図１のサーバＢのチェイニング手段２がＳ１で定義されてサーバ情報テーブル（Ｂ）４に登録されたサーバＡ、サーバＢのＩＰアドレスおよびポート番号をもとに、規定値の間隔で環境定義の問い合わせを行う（問い合わせパケットを送信する）。
【００２９】
Ｓ６は、問い合わせを受けたサーバがそのツリーのＴＯＰ情報を返す。これは、例えばＳ５で図１のサーバＢから問い合わせを受けたサーバＣがそのツリーのＴＯＰ情報を図３の（ｂ）のサーバ情報テーブル（Ｃ）４から取り出して、サーバＡに送信し、図３の（ａ）のサーバ情報テーブル（Ｂ）４のサーバＣのエントリのツリーのＴＯＰ情報の欄に登録する。
【００３０】
Ｓ７は、他の連携サーバ情報があるか判別する。ここでは、ＹＥＳであるので、Ｓ８でその情報を問い合わせ元へ送信、例えばＳ５で図１のサーバＢから問い合わせを受けたサーバＣが直接に連携するサーバＤ、ＥのツリーのＴＯＰ情報を図３の（ｂ）のサーバ情報テーブル（Ｃ）４中の▲１▼、▲２▼を取り出し、サーバＡに送信し、図３の（ａ）のサーバ情報テーブル（Ａ）４の▲１▼’、▲２▼’に示すように登録する。一方、Ｓ７のＮＯの場合には、終了する。
【００３１】
以上によって、図１のサーバＢで管理者が直接に連携するサーバＡ、Ｂの環境定義を図３の（ａ）のサーバ情報テーブル（Ｂ）４のサーバＡ、ＣのＩＰアドレスおよびポート番号を登録するのみで、自動的にチェイニング手段２がサーバ情報テーブル（Ｂ）４の登録された、例えばサーバＣのＩＰアドレスおよびポート番号で環境定義の問い合わせのパケットを送信すると、これを受信したサーバＣが自身のツリーのＴＯＰ情報および直接に連携する他のサーバ、ここでは、サーバＤ、ＥのツリーのＴＯＰ情報およびＩＰアドレス、ポート番号を併せて、問い合わせ元のサーバＢに送信し、図３のサーバ情報テーブル（Ｂ）４に自動登録することが可能となる。同様に、サーバＢは、サーバＡの環境定義をサーバ情報テーブル（Ｂ）４に自動登録する。これらにより、管理者は、サーバＢに直接に連携する他のサーバの環境定義を定義して登録するのみで、自動的にチェインニング手段２が他の間接に連携するサーバの環境定義を自動収集して自身のサーバ情報テーブル（Ｂ）４に登録することが可能となると共に、以降はこのサーバ情報テーブル（Ｂ）４を参照して連携する間接する他のサーバに直接にパケットの送受信を行い、ネットワークの輻輳を削減することが可能となる。更に後述するように、サーバの環境定義の変更、削除時に自動的に各サーバ情報テーブル４の内容を変更、削除することが可能となり、ネットワーク管理者の負担を軽減できる。
【００３２】
尚、図２では、所定時間毎に問い合わせていたが、当該所定時間内に他のサーバから環境情報の変更の旨を受信したときはそのサーバの環境情報の更新を行い、環境情報の変更を可及的に迅速に反映するようにする。
【００３３】
図３は、本発明のサーバ情報テーブル例を示す。
図３の（ａ）は、図１のサーバＢのサーバ情報テーブル（Ｂ）４の例を示す。このサーバ情報テーブル（Ｂ）４は、図１に示す階層構造にサーバＡ、Ｂ、Ｃ、Ｄ、Ｅをネットワークに接続したときの自動収集して登録した後にものであり、当初はネットワーク管理者がサーバＡのＩＰアドレス、ポート番号、ツリーのＴＯＰ情報、および直接に連携するサーバＡ、ＣのＩＰアドレス、ポート番号のみを定義して登録すればよく、間接に連携するサーバ、ここでは、サーバＤ、Ｅの環境定義は全て図２のフローチャートに従い自動収集して登録したものである。
【００３４】
図３の（ｂ）は、図１のサーバＣのサーバ情報テーブル（Ｃ）４の例を示す。このサーバ情報テーブル（Ｃ）４は、図１に示す階層構造にサーバＡ、Ｂ、Ｃ、Ｄ、Ｅをネットワークに接続したときの自動収集して登録した後にものであり、当初はネットワーク管理者がサーバＣのＩＰアドレス、ポート番号、ツリーのＴＯＰ情報、および直接に連携するサーバＢ、Ｄ、ＥのＩＰアドレス、ポート番号のみを定義して登録すればよい。
【００３５】
図４は、本発明の説明図（その１）を示す。これは、図２のフローチャートを用いた具体例である。
・ｓｔｅｐ１：管理者がサーバＡに直接に連携するサーバＢを定義してサーバ情報テーブル（Ａ）４に登録した状態を示す（サーバＢを認識）。
【００３６】
・ｓｔｅｐ２：ｓｔｅｐ１の定義に従い、サーバＡがサーバＢに環境定義の問い合わせを行い、▲１▼に示す間接に連携するサーバＣの環境定義を自動収集してサーバ情報テーブル（Ａ）４に登録した状態を示す（サーバＢ、Ｃを認識）。
【００３７】
・ｓｔｅｐ３：サーバＢが直接に連携するサーバＣの環境定義の問い合わせを行い、▲２▼に示す間接に連携するサーバＤの環境定義を自動収集してサーバ情報テーブル（Ｂ）４に登録した状態を示す。これは、サーバＤが新たに登録されてｓｔｅｐ３の時点で認識された例が相当する。
【００３８】
・ｓｔｅｐ４：サーバＡがサーバＢから▲３▼に示す間接に連携するサーバＤの環境定義を自動収集してサーバ情報テーブル（Ａ）４に登録した状態を示す（サーバＢ、Ｃ、Ｄを認識）。
【００３９】
以上のように、管理者がサーバＡに直接に連携するサーバＢの環境定義をサーバ情報テーブル（Ａ）４に登録するのみで、自動的に間接に連携するサーバＣ、Ｄの環境定義を自動収集してサーバ情報テーブル（Ａ）４に登録することが可能となる。
【００４０】
図５は、本発明の説明図（その２）を示す。これは、既述した図４の例を更に詳細に説明したものである。
図５の（ａ）は、管理者がサーバＡの環境定義としてサーバＢの情報（ＩＰアドレス、ポート番号、ツリーのＴＯＰ情報）を登録した状態を示す。
【００４１】
図５の（ｂ）は、図２のフローチャートに従いサーバＡの環境定義としてサーバＣ、Ｄの情報（ＩＰアドレス、ポート番号、ツリーのＴＯＰ情報）を自動収集して登録した状態を示す。
【００４２】
図５の（ｃ）は、図２のフローチャートに従いサーバＡの環境定義としてサーバＣ、Ｄの情報（ＩＰアドレス、ポート番号、ツリーのＴＯＰ情報）を自動収集して登録した状態（ここでは、サーバＤが削除された状態）を示す。これは、サーバＤの電源断などにより、通信不可となり、環境定義の自動収集に失敗した場合であり、そのときはサーバＤの環境定義を、サーバＡの環境定義から一時的に削除（あるいは動作停止中を表すフラグをセット）する。これにより、既述した図２のフローチャートの規定時間毎に各サーバの環境定義の自動収集を試みて自動収集できないときは電源断などして停止したものとみなし、サーバ情報テーブル４から削除あるいは停止フラグをＯＮにして停止中を登録し、規定時間毎に自動的に各サーバの環境定義を監視して更新することが可能となる。また、停止したサーバ１からの環境定義の通知に対応して、動作中に更新（復元）するようにしてもよい。
【００４３】
次に、図６のフローチャートの順序に従い、図１の構成の他の動作を詳細に説明する。
図６は、本発明の他の動作説明フローチャートを示す。これは、既述した図１のサーバ１内の一括反映手段３が実行するものであって、図１に示すようにサーバＡ、Ｂ、Ｃ、Ｄ、Ｅがネットワークを介して階層構造に接続されている例のときのフローチャートである。
【００４４】
図６において、Ｓ１１は、問い合わせ間隔を規定値で問い合わせを行う。
Ｓ１２は、規定回数問い合わせてもサーバの情報が同じか判別する。Ｓ１１の問い合わせの規定値の間隔で、後述するＳ１４からＳ１６の問い合わせを行い、変更などされていなく同じか判別する。ＹＥＳの場合には、同じであると判明したので、Ｓ１３で時間間隔を長くし、Ｓ１４に進む。一方、ＮＯの場合には、異なり、変更などされたと判明したので時間間隔を初期値の規定値にしてＳ１４に進む。
【００４５】
Ｓ１４は、ブロードキャストで起動中のディレクトリサーバを探す。これは、ブロードキャストでネットワークに接続されている全てのサーバに環境定義の問い合わせを行うことであって、図１の例えばサーバＢの一括反映手段３がブロードキャストで、規定値の間隔で環境定義の問い合わせを行う（問い合わせパケットを送信する）。
【００４６】
Ｓ１５は、ディレクトリサーバであるサーバ（連携するサーバ）がＩＰアドレス、ポート番号、ツリーのＴＯＰ情報を返す。これは、物理的にネットワークに接続されたサーバへブロードキャストを送信（環境定義の問い合わせのパケットを送信）し、その応答として、環境定義（ＩＰアドレス、ポート番号、ツリーのＴＯＰ情報）を返す。
【００４７】
Ｓ１６は、サーバ情報テーブルに登録する。これは、Ｓ１５でブロードキャストに対応して返答を受けたサーバの環境定義をサーバ情報テーブル４中に登録し、全ネットワークに直接および間接に接続されている連携するサーバについて環境定義を一括して登録する。
【００４８】
以上によって、図１の各サーバで環境定義の問い合わせをブロードキャストするのみで自動的に全ネットワークに接続されたサーバの環境定義を自動収集してサーバ情報テーブル４に自動登録することが可能となると共に、以降はこのサーバ情報テーブル４を参照して連携する直接あるいは間接の他のサーバに直接にパケットの送受信を行い、ネットワークの輻輳を削減することが可能となる。更に後述するように、サーバの環境定義の変更、削除時に自動的に各サーバ情報テーブル４の内容を変更、削除することが可能となり、ネットワーク管理者の負担を軽減できる。
【００４９】
図７は、本発明の他のシステム構成図を示す。これは、既述した図６のシステム構成の例であって、サーバＡ、Ｂ、Ｃ、Ｄ、Ｅがネットワークに接続された状態を示す。ここで、各サーバは、
・サーバＡ：ディレクトリサーバ起動中
・サーバＢ：ディレクトリサーバ起動中
・サーバＣ：ディレクトリサーバ起動中
・サーバＤ：ディレクトリシステムの存在しないサーバ
・サーバＥ：ディレクトリサーバ未起動（停止中）
である。この場合には、起動中のディレクトリサーバであるサーバＡ、Ｂ、Ｃが図６のフローチャートに従い、それぞれ他の全てのサーバにブロードキャストで環境定義の問い合わせを行い、ディレクトリサーバであってかつ起動中のサーバＡ、Ｂ、Ｃのうちの他のサーバからの環境定義の応答を受信し、サーバ情報テーブル４に環境定義（ＩＰアドレス、ポート番号、ツリーのＴＯＰ情報）を自動登録し、以降はこれを参照して連携するサーバ間で相互に直接に通信することが可能となる。この場合、既述した図１に示すように、各サーバは、階層構造を持っている。また、階層構造を持たない場合、後述する図１０に示すリンクによっても同様に可能となる。
【００５０】
図８は、本発明の１実施例構成図を示す。これは、既述した図１および図７の構成の１実施例構成図である。
図８において、ディレクトリサーバ１１は、ディレクトリシステムを持つサーバであって、ここでは、連携の対象となる階層構造にしたサーバであり、１２から２０によって構成されるものである。
【００５１】
自動認識装置１２は、他のディレクトリサーバ１１を自動認識して他サーバ定義情報（サーバ情報テーブル４）に登録するものであって、ここでは、１３から１５によって構成されるものである。
【００５２】
他サーバ情報解析手段１３は、他のサーバの情報（環境定義）を解析するものである。
タイマー監視手段１４は、問い合わせ間隔などに使用するタイマを監視するものである。
【００５３】
他サーバ情報問い合わせ手段１５は、他のサーバに環境定義の問い合わせを行うものである。
他サーバ連携処理手段１６は、他のディレクトリサーバ１１と連携して処理を行うものである。
【００５４】
クライアント要求処理手段１７は、クライアントからの要求を受け付けたり、その要求の処理を行ったり、その処理結果を返答したりなどするものである。
他サーバ定義情報１８は、他のディレクトリサーバ１１の環境定義を登録して管理するものであって、既述したサーバ情報テーブル４に相当するものである。
【００５５】
エントリデータベース１９は、各種情報を保管したりなどするデータベースである。
通信制御手段２０は、他のディレクトリサーバ１１やクライアントとの間でデータ（パケット）の送受信を行うものである。
【００５６】
図９は、本発明の説明図（その３）を示す。ここで、実線はサーバを階層構造で表現するパスで表した様子であり、点線はサーバを階層構造ではないリンクで表わした様子を示す。これらパスあるいはリンクのいずれでも同様に相互の関係を表すことができ、図示の実線および点線で表す全体の環境情報を各サーバが問い合わせなどして最終的に自動収集することが可能となり、自動収集した環境情報をもとに直接に相互で通信することができるようになる。
【００５７】
次に、図１０から図１７を参照して本発明の他の実施例の構成および動作を詳細に説明する。
図１０は、本発明の他のシステム構成図を示す。
【００５８】
図１０において、サーバ２１は、ネットワークに接続して連携しオブジェクト（データ）を管理するものであって、ここでは、キャッシュ手段２２、データベース２３、キャッシュテーブル２４などから構成されるものである。
【００５９】
キャッシュ手段２２は、他のサーバ２１の最新のデータをキャッシュテーブル２４に保持させたりなどするものである。
データベース２３は、データを階層構造にして格納し管理するものである。
【００６０】
キャッシュテーブル２４は、他のサーバの最新のデータを格納するものである。
クライアント２５は、クライアントの端末であって、ここでは、データのサーチ要求などを行うものである。
【００６１】
図１０の（ａ）は、クライアント２５がサーバＡにサーチ要求を行ったときにサーバＢにデータがあったときのデータの流れを模式的に示す。
▲１▼は、クライアント２５から図示のサーチ要求がサーバＡにあり、そのデータがサーバＡになくサーバＢにあると判明したので、サーバＡがサーバＢにサーチ要求を行い、サーバＢがデータベース２３からデータを読み出してサーバＡに送信してキャッシュテーブル２４に格納した様子を示す。
【００６２】
▲２▼は、▲１▼でサーバＡのキャッシュテーブル２４に格納したデータを、サーチ要求元のクライアント２５に送信する様子を示す。
図１０の（ｂ）は、クライアント２５が同一のデータを再度サーバＡにサーチ要求した様子を示す。この場合には、▲１▼でサーバＡのキャッシュテーブル２４にその最新のデータが存在したので、サーバＢにサーチ要求を送信することなく、サーバＡのキャッシュテーブル２４から即取り出してクライアント２５にレスポンス良好に送信することが可能となる。この際、サーバＢのキャッシュ手段２２は、サーバＡにデータを送信してキャッシュテーブル２４に保存したことを記憶しておき、当該データの更新が発生したときに、即時に記憶しておいたサーバＡに送信してキャッシュテーブル２４のデータを最新に常に更新する。
【００６３】
以上のように、ネットワークを介して複数のサーバ２１を接続し、データを階層構造で複数のサーバ２１に分割して配置し、クライアント２４からサーバＡにサーチ要求があったとき、サーバＢにそのデータが存在すると判明した場合にサーバＢにサーチ要求してデータの送信を受けてサーバＡのキャッシュテーブル２４に保存およびクライアント２５に送信すると共に、実在のデータのあるサーバＢでデータを送信したサーバ２１を記憶しておき当該データの更新発生時に即時に記憶しておいたサーバ２１にデータを送信してキャッシュテーブル２４内のデータを常に最新に更新することにより、クライアント２５からのサーチ要求時に２度目以降は即時にレンスポンス良好にサーチ結果のデータを返すことが可能となる。
【００６４】
次に、図１１のフローチャートに示す順序に従い、図１０の構成の動作を詳細に説明する。
図１１は、本発明の他の動作説明フローチャートを示す。
【００６５】
図１１において、Ｓ２１は、クラアイントがサーバＡへ問い合わせる。これは、図１０の（ａ）のクライアント２５がサーバＡへデータの問い合わせ（サーチ要求）を行う。
【００６６】
Ｓ２２は、キャッシュあるか判別する。これは、Ｓ２１で問い合わせのあったデータが、サーバＡのキャッシュテーブル２４中に格納されているか判別する。ＹＥＳの場合には、キャッシュテーブル２４中にあると判明したので、Ｓ２６でキャッシュテーブル２４から取り出してクライアント２５へ返す。一方、ＮＯの場合には、サーバＡのキャッシュテーブル２４中にないと判明したので、Ｓ２３に進む。
【００６７】
Ｓ２３は、Ｓ２２でサーバＡのキャッシュテーブル２４中にないと判明したので、サーバＡがサーバＢに問い合わせを行う。
Ｓ２４は、サーバＢが要求オブジェクトをサーバＡへ返す、及びサーバＡがキャッシュテーブル２４をもっていることを記憶する。これは、サーバＢがＳ２３で問い合わせを受けたデータをデータベース２３から取り出し、この取り出したデータ（オブジェクト）をサーバＡに送信すると共に、当該データについてサーバＡのキャッシュテーブル２４に格納した旨を記憶し、サーバＢの該当データが更新されたときに送信した先のサーバ２１のキャッシュテーブル２４中のデータを最新に更新できるようにしておく。
【００６８】
Ｓ２５は、サーバＡのキャッシュテーブル２４へ登録、及びサーバＡはクライアント２５へ結果を返す。
以上によって、クライアント２５がサーバＡに問い合わせを行い、サーバＡのキャッシュテーブル２４にあればそのデータをクライアント２５に返し、ないときにはサーバＢに問い合わせを行い、サーバＢがデータベース２３から取り出したデータをサーバＡに送信すると共にサーバＡに送信してキャッシュテーブル２４に登録したことを記憶し、データを受信したサーバＡはキャッシュテーブル２４に登録すると共にクライアント２５に送信する。そして、サーバＢはデータを更新したときに記憶しておいたここではサーバＡに更新後のデータを送信してキャッシュテーブル２４中のデータを常に最新のデータに更新することが可能となる。
【００６９】
図１２は、本発明の他の説明図（その１）を示す。これは、サーバＢでデータベース中のデータの更新が発生した場合、既述した図１１のＳ２４で記憶しておいたデータの送信先のサーバに更新後の最新のデータを全て送信し、キャッシュテーブル２４中のデータを常に最新に更新する旨を説明する図である。ここで、▲１▼、▲２▼、▲３▼に示すように、サーバＢのデータベース２３のデータを更新したときに、記憶しておいたサーバＡ、Ｃ、Ｄの全てのキャッシュテーブル２４中の該当データを最新のデータに更新する様子を示す。
【００７０】
以上のように、実データを格納したいずれかのサーバのデータベース２３中でデータの更新が発生した場合に、記憶しておいた当該データを送信して格納した全てのサーバ２１のキャッシュテーブル２４に当該更新後のデータを送信して常に最新のデータの保持することが可能となる。
【００７１】
図１３は、本発明の他の説明図（その２）を示す。
図１３の（ａ）は、キャッシュテーブル２４にデータが格納されていない状態を示す。
【００７２】
図１３の（ａ）において、▲１▼は、クライアント２５がサーバＡに接続し、サーバＣのＤＢ（データベース２３）を検索する要求を通知した様子を示す。
▲２▼は、サーバＡにはデータがないので、サーバＡはサーバＢにサーバＣのＤＢを検索する要求を転送する。
【００７３】
▲３▼は、サーバＢにはデータがないので、更に、サーバＢがサーバＣのＤＢを検索する要求を転送する。サーバＣはデータベース２３からデータを検索して取り出し、サーバＢに送信し、サーバＢがキャッシュテーブル２４に格納およびサーバＡに送信する。そして、サーバＡはキャッシュテーブル２４に格納およびクライアント２５に送信し、クライアント２５がデータを受信する。
【００７４】
以上のように、クライアント２５からサーバＡ、Ｂ、ＣとＤＢ検索要求が転送され、検索したデータを逆の経路を辿ってクライアント２５に通知されると共に、その途中のルート中のサーバＡ、Ｂのキャッシュテーブル２４にデータが保存されることとなる。そして、実際のデータのあるサーバＣのデータベース２３中の該当データが更新された場合には、更新後のデータをサーバＡ、Ｂのキャッシュテーブル２４に送信して常に最新のデータに保持する。
【００７５】
図１３の（ｂ）は、キャッシュテーブル２４にデータが格納されている状態を示す。ここで、▲１▼、▲２▼、▲３▼は、既述した図１３の（ａ）の▲１▼、▲２▼、▲３▼と同様であるので、説明を省略する。
【００７６】
▲４▼は、クライアントＢがサーバＢに接続し、サーバＣのＤＢ（データベース２３）を検索する要求を通知した様子を示す。この場合には、サーバＢのキャッシュテーブル２４には、▲１▼、▲２▼、▲３▼のときに既にキャッシュテーブル２４にデータが格納されているので、サーバＢはキャッシュテーブル２４からデータを取り出してクライアントＢに返す。
【００７７】
以上のように、クライアントＢからサーバＢにサーバＣのＤＢの検索要求が通知されたときに、サーバＢのキャッシュテーブル２４にデータが格納されていたので、即時にキャッシュテーブル２４から取り出したデータをクライアントＢに返すことができ、ＤＢ検索のレスポンスを良好にすることが可能となる。
【００７８】
図１４は、本発明の他の説明図（その３）を示す。
図１４において、▲１▼は、クライアントがサーバＢの電話番号“telephone number"の変更要求として、telephone number=0123-45-6789をtelephone number=9876-54-3210に変更する要求をサーバＢに通知した状態を示す。
【００７９】
▲２▼は、▲１▼の変更要求に対応してサーバＢがデータベース２３中の状態１（telephone number=0123-45-6789）を状態２（telephone number=9876-54-3210）に変更する状態を示す。
【００８０】
▲３▼は、▲２▼で状態１から状態２に変更したときに、サーバＢが記憶しておいたサーバＡに向けて更新後の状態２のデータ（telephone number=9876-54-3210）を送信する。
【００８１】
▲４▼は、▲３▼の更新後の状態２のデータ（telephone number=9876-54-3210）を受信したサーバＡがキャッシュテーブル２４中の該当データ（telephone number=0123-45-6789）を更新後のデータ（telephone number=9876-54-3210）に更新し、最新のデータにする。
【００８２】
以上によって、実データの存在するサーバＢの電話番号が更新されると、記憶しておいたサーバＡに更新後の電話番号を送信してキャッシュテーブル２４中の電話番号を最新のデータに更新し、キャッシュテーブル２４中のデータを常に最新に保持することが可能となる。
【００８３】
図１５は、本発明の他の説明図（その４）を示す。
図１５の（ａ）は、フローチャートを示す。
図１５の（ａ）において、Ｓ３１は、サーバＢのオブジェクトが更新されたか判別する。これは、例えば既述した図１４のサーバＢの電話番号（オブジェクト、データ）が更新されたか判別する。ＹＥＳの場合には、Ｓ３２に進む。ＮＯの場合には、終了する。
【００８４】
Ｓ３２は、サーバＢが記憶していた（キャッシュデータを保持している）サーバＡのキャッシュテーブル２４中のデータを更新する。これは、既述した図１４のサーバＢが記憶していたキャッシュデータを送信して保持させたサーバＡに更新後のデータを送信し、サーバＡのキャッシュテーブル２４中の該当データを最新のデータに更新する。
【００８５】
以上によって、実データの存在するサーバでデータ更新が発生した場合に、記憶しておいたサーバに更新後のデータを送信してキャッシュテーブル２４中の該当データを更新後の最新のデータに更新し、キャッシュテーブル２４中のデータを常に最新のデータに保持させることが可能となる。
【００８６】
図１５の（ｂ）は、サーバＢのデータベース２３中のデータを更新したときに記憶しておいたサーバＡのキャッシュテーブル２４の該当データを更新する様子を示す。
【００８７】
図１６は、本発明の他の説明図（その５）を示す。
図１６の（ａ）は、フローチャートを示す。
図１６の（ａ）において、Ｓ４１は、クライアント要求時、あるいは随時キャッシュ元の実際のオブジェクトの存在するサーバへ、そのオブジェクトの更新／削除の問い合わせを行う。ＹＥＳの場合には、問い合わせて更新／削除があったと判明したので、Ｓ４２、Ｓ４３を実行する。一方、ＮＯの場合には、更新／削除がなかったと判明したので、キャッシュテーブル２４中のデータは最新のデータと判明したので、終了する。
【００８８】
Ｓ４２は、サーバＢがサーバＡへ更新／削除された内容を送信する。これは、サーバＢが記憶しておいたサーバＡへ更新／削除した内容を送信する。
Ｓ４３は、キャッシュテーブルの更新を行う。
【００８９】
以上によって、クライアント要求時あるいは随時、キャッシュテーブル２４を持つサーバ２１が実データの存在するサーバにデータの更新／削除を問い合わせ、有りの場合に更新／削除されたデータの転送を受けてキャッシュテーブル２４を最新の状態に更新／削除することにより、キャッシュテーブル２４中のデータを常に最新のデータに保持させることが可能となる。
【００９０】
図１６の（ｂ）は、サーバＡが実データのあるサーバＢにクライアント要求時あるいは随時問い合わせてデータベース２３中のデータが更新／削除されていたときにデータの転送を受けてサーバＡのキャッシュテーブル２４の該当データを更新する様子を示す。
【００９１】
図１７は、本発明の他の説明図（その７）を示す。
図１７において、▲１▼は、クライアントＢがサーバＢのデータ(cn=name2,o=org2,c=jp)の更新要求を通知する状態を示す。
【００９２】
▲２▼は、▲１▼でサーバＢのデータが更新されると、既述したように、サーバＢは記憶しておいたサーバＡに更新後の最新のデータを送信してキャッシュテーブル２４中のデータを最新に更新させる状態を示す。
【００９３】
▲３▼は、▲２▼の更新後に、クライアントＡからサーバＡにサーチ要求があった場合に、キャッシュテーブル２４中に最新のデータがあったので、そのデータを取り出してクライアントＡに送信する。これにより、サーバＡは、サーバＢに問い合わせることなく、自身のキャッシュテーブル２４中の最新のデータを取り出してクライアントＡに即時に送信し、レスポンスを向上させることが可能となる。
【００９４】
【発明の効果】
以上説明したように、本発明によれば、オブジェクトを複数のサーバ１で分散管理する際にサーバ１の環境定義を必要最小限とし他はネットワークを介して環境定義を自動収集およびサーバ１の追加・削除時に環境定義を自動収集して更新する構成を採用しているため、管理者による連携するサーバの環境定義の管理の負担を軽減し、常に最新の環境定義への更新を簡易に実現できる。また、環境定義をサーバ情報テーブル４に自動収集して登録し、以降は直接あるいは間接を問わず全ての連携する他のサーバと直接に通信してオブジェクト処理を迅速に実行でき、レスポンスを向上できる。
【００９５】
また、オブジェクトを複数のサーバ２１で階層化して管理する際に、各サーバ２１のキャッシュテーブル２４に常に最新データを保持する構成を採用しているため、データの信頼性を確保およびクライアントからの問い合わせ時に他のサーバ２１へのアクセスを無くしてレスポンスの向上を図ることができる。
【図面の簡単な説明】
【図１】本発明のシステム構成図である。
【図２】本発明の動作説明フローチャートである。
【図３】本発明のサーバ情報テーブル例である。
【図４】本発明の説明図（その１）である。
【図５】本発明の説明図（その２）である。
【図６】本発明の他の動作説明フローチャートである。
【図７】本発明の他のシステム構成図である。
【図８】本発明の１実施例構成図である。
【図９】本発明の説明図（その３）である。
【図１０】本発明の他のシステム構成図である。
【図１１】本発明の他の動作説明フローチャートである。
【図１２】本発明の他の説明図（その１）である。
【図１３】本発明の他の説明図（その２）である。
【図１４】本発明の他の説明図（その３）である。
【図１５】本発明の他の説明図（その４）である。
【図１６】本発明の他の説明図（その５）である。
【図１７】本発明の他の説明図（その６）である。
【符号の説明】
１：サーバ
２：チェイニング手段
３：一括反映手段
４：サーバ情報テーブル
１１：ディレクトリサーバ
１２：他サーバ情報解析手段
１３：タイマー監視手段
１４：他サーバ情報問い合わせ手段
２１：サーバ
２２：キャッシュ手段
２３：データベース
２４：キャッシュテーブル
２５：クライアント
【図１】
0003909152.tif 000002
【図２】
0003909152.tif 000003
【図３】
0003909152.tif 000004
【図４】
0003909152.tif 000005
【図５】
0003909152.tif 000006
【図６】
0003909152.tif 000007
【図７】
0003909152.tif 000008
【図８】
0003909152.tif 000009
【図９】
0003909152.tif 000010
【図１０】
0003909152.tif 000011
【図１１】
0003909152.tif 000012
【図１２】
0003909152.tif 000013
【図１３】
0003909152.tif 000014
【図１４】
0003909152.tif 000015
【図１５】
0003909152.tif 000016
【図１６】
0003909152.tif 000017
【図１７】
0003909152.tif 000018