(57)【要約】      （修正有）【課題】ネットワークに接続された複数のコンピュータシステム上のデータベースにおいて、分散データベース環境を簡易に作成・保守できる運用性・拡張性の向上に加え、データの所在の問合せ集中による通信量を抑制し、格納領域を節約する。【解決手段】任意に各ローカルデータベースにリモートデータベースのデータへのアクセス経路を定義して格納し、経路をたどると自動的にデータを検索して所在情報を付加し、データの所在情報を持っていなくても複数のデータベースからデータを並列に検索し、検索の際にデータの所在情報を学習し、データの所在情報を利用者に通知する。【選択図】図１
2007200342.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された複数のデータベース間において、各データベース内のデータを階層的に管理する手順と、各データベースの階層を各々結合する手順を持ち、任意のデータベース間のアクセスを可能とすることを特徴とする分散データベースのデータアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続された複数のコンピュータシステム上のデータベースにおいて、任意のデータベース同志を結合して運用する場合の分散データベースのデータアクセス方法及び装置に関する。
【背景技術】
【０００２】
分散データ管理システムでは、分散データベースの利用者の増加によってデータベースのアクセスが頻繁に行われデータの所在情報の問合せ処理が集中すると、アクセスごとに通信が必要となりシステム全体の効率を悪化させるため、データの所在情報を分散管理してアクセスの集中を抑制する必要がある。
一方、登録したデータの件数が増加するとデータの所在情報も増加し格納領域を消費するため、データの所在情報の格納領域を節約する必要がある。
従来、ネットワークに接続された複数のコンピュータシステム上のデータベースに階層関係を持った分散データベースを構成し、データの要求があると、データの所在情報を管理しているデータベースに所在情報を問合せてから、所在情報に該当するデータベースにアクセスして必要データを取得していた。
【０００３】
所在を管理する方法としては、データの所在情報をある一つのデータベースに格納し一括管理するか、各データベースに全てのデータの所在情報を格納し管理する方法が考えられていた。データの所在情報をある一つのデータベースに格納し一括管理する方法では、データの所在情報を知るために一つのデータベースにアクセスするだけで良く格納領域はひとつのデータベースに確保すれば良いという利点はあるが、多数の利用者からのアクセスが集中しシステム全体の効率が悪化するという欠点がある。
【０００４】
各データベースに全てのデータの所在情報を格納し管理する方法では、データの所在情報を知るためのアクセスが不要となり、データ処理効率が向上するという利点はあるが、システム全体で膨大な格納領域が必要であること、所在情報が変更されたときに全データベースに対して所在情報の更新処理が必要であること等の欠点がある。
【０００５】
このため、例えば特開平４−２７４５３４号公報に記載のように、各データベースに自身より下位の階層に位置するデータベースのデータの所在情報を格納し管理することにより、通信量の軽減と処理効率の向上および所在情報更新の作業量を軽減する方法が考えられている。このように、分散データ管理システムは、前述のいずれかの方法を用いて分散したデータの所在情報を管理し、データの要求に際しては、所在情報を問合せてから検索処理をしなければならなかった。
【０００６】
【特許文献１】特開平４−２７４５３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来技術は、分散データベースを構成する各ローカルデータベースに独立性がある場合でも、階層という利用形態をあらかじめ決めてしまい、この階層にとらわれてデータ要求時にデータの所在情報が無いとデータを検索できず、必ずしも全データベースのデータの所在情報が必要であるわけではないという点と、分散データベースの構成が変更され得るという点と、ローカルに所在情報を持っていないデータについて、所在の問合せ先に自由度をもたせるという点と、一度リモートデータベースから問合せたら、これを保管する学習手段を持たせるという点と、データの所在情報を利用者に通知するという点について配慮されておらず、ローカルに所在情報を持っていないデータについては、毎回、いったん上位のデータベースにさかのぼって問合せをすることを必要とし、階層の途中にデータベースを追加したい場合は、自身のデータベースと自身より上位の全てのデータベースに格納する所在情報の追加を必要とするため、要求したデータが自身より下位にある場合のみ通信量を軽減し処理効率を向上させることができるが、上位にある場合はできないということと、システム構築の柔軟性・拡張性に乏しいということと、過去の検索作業を無駄にしているということと、所在情報の更新に手間がかかるということと、分散データベース利用者全員の要求ごとに所在情報の問合せが発生するという課題があった。
本発明の目的は、管理作業の繁雑さや環境構築、システムダウン時の業務停止などの運用を制限することなく、各ローカルデータベースで構成する分散データベースの構成（階層）に依存せず、データの所在情報の問合せ処理を不要とすることで問合せ処理による特定コンピュータシステムへの負荷の集中を無くし、所在情報の格納領域を不要とし、簡易なデータアクセス手段と並列検索手段を持つことによりデータの所在情報が無くてもデータを統合的に扱える分散データベースのデータアクセス方法及び装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記の目的は、各ローカルデータベースに任意にリモートデータベースのデータへのアクセス経路を定義し格納する手段と、定義したアクセス経路をわかりやすく表示する手段と、経路をたどりながら自動的にデータ群を検索する手段と、定義した経路がデータベースをまたがったら自動的に接続データベースを切替える手段と、データの所在情報を持っていなくても分散データベースを構成するデータベースからデータを並列に検索する手段と、検索により一度ローカルに持ってきたデータについてはこのデータの所在情報をローカルデータベースに保管する学習手段と、同じデータにアクセスする利用者にはデータの所在情報を通知する手段を備えた分散データベースのデータアクセス装置を設けることによって達成される。
【発明の効果】
【０００９】
本発明によれば、階層構造を用いることにより、各データベースに任意のリモートデータベースを関係付け、アクセス経路を設定することができるため、必ずしも、あらかじめデータベースのリンク関係（階層）を構築する必要がなく、環境構築後データベースが増えても何ら問題なく関係を定義するだけで分散データベースに参加できるという分散データベース環境構築・保守が柔軟かつ容易になる。
【発明を実施するための最良の形態】
【００１０】
以下に、本発明の実施の形態の例を図面を参照して詳細に説明する。
図１は、本発明を実現するシステムの構成の一例を示したものである。この図において、１０１はマウスやキーボードなどの入力装置、１０２はディスプレイやプロジェクタなどの表示装置、１０３は入力装置１０１からの要求を受け付ける入力制御装置、１０４は本システムが扱う情報を表示可能にする表示制御装置、１０５はデータベースに登録されたデータをグループ化し、各グループを階層構造で管理するとともに入力制御装置１０３からの要求に対する処理をして表示制御装置１０４に結果の表示を依頼する階層管理装置である。入力制御装置１０３から階層管理装置１０５への要求には次の３つがある。
（１）グループに属するデータ一覧の表示
（２）下位の階層に位置するグループの表示
（３）グループに属するデータの取得
これらの要求に対するアクション（振る舞い）は個々のグループに定義してあり、それぞれのアクションが階層管理装置１０５を起動する。１０６はデータベースに登録するデータに付随するデータ番号、データ名称、タイトル、所属グループ、データ種別、作成者などの属性を管理する属性管理装置である。入力装置１０１からのデータ入力に際し、入力制御装置１０３と連動してデータの属性の入力を促し、入力されたデータに属性を付加してデータベースに登録する。データベースに登録する際には、階層管理装置１０５とも連動しデータの所属するグループを決定する。１０７はデータベースに登録されたデータ（属性を含む）を検索する装置である。検索装置１０７は階層管理装置１０５、属性管理装置１０６、接続切替装置１０８と連動し、以下の検索方法によりデータを取得する。
（１）階層構造を持つグループによる検索
階層管理装置１０５がグループの階層構造を表示制御装置１０４に渡し
、表示制御装置１０４がこれを可視可能にして表示装置１０２に表示す
る。表示された階層構造内のグループを入力装置１０１により指示する
。この指示を階層管理装置１０５が受け取り、属性管理装置１０６にグ
ループに属するデータの一覧（データ名称）を要求する。属性管理装置
１０６は表示制御装置１０４に一覧の表示を指示する。入力装置１０１
がこの一覧からデータを指示することによりデータ（属性を含む）を取
得する方法である。
（２）データに付随する属性による検索
属性管理装置１０６が属性の一覧を表示制御装置１０４に渡し、表示制
御装置１０４がこれを可視可能にして表示装置１０２に表示する。表示さ
れた属性に入力装置１０１から値を入力することによりデータを取得する
方法である。
【００１１】
１０８は階層管理装置１０５、属性管理装置１０６、検索装置１０７からのデータベースアクセス要求を解析し、適合するデータベースに接続する接続切替装置である。１１０〜１１１は分散データベースを構成するデータベースである。
図２は、本発明を実現するシステムであり、ローカルデータベースとリモートデータベースの階層を結合する階層結合処理部の構成の一例を示したものである。
【００１２】
図２において、２０１はネットワーク上に存在するデータベースに関する情報（データベース識別情報）であり、データベース名称、データベース番号、所在情報（ホスト名称あるいはマシン名称など）からなる。２０２はデータベース名称の一覧である。２０３、２０４はそれぞれ、ローカルデータベース１１０内のデータの階層、リモートデータベース１１１内のデータの階層である。２０５、２０６は階層構造における頂点であり、データをグループ化したもので、グループ名称、グループ番号などの頂点識別情報を持つ。
利用者が入力装置１０１からローカルデータベース１１０とリモートデータベース１１１の階層を結合する要求を入力すると、入力制御装置１０３はこれを検知して、これを階層管理装置１０５へ送信する。階層管理装置１０５はデータベース間の階層結合要求を受信するとデータベース識別情報２０１からデータベース名称一覧２０２を作成し、表示制御装置１０４へ送信する。表示制御装置１０４はデータベース名称一覧２０２を表示装置１０２に表示する。
【００１３】
利用者は入力装置１０１により、このデータベース名称一覧２０２から結合の対象となるデータベース（リモートデータベース１１１）の名称を指示する。指示されたデータベース名称は入力制御装置１０１を通して階層管理装置１０５へ送信される。階層管理装置１０５はデータベース識別情報２０１を参照して、リモートデータベース１１１の所在情報を取得し、接続切替装置１０８へデータベースとの接続確立を依頼する。接続切替装置１０８は、依頼されたリモートデータベース１１１との接続を確立する。
【００１４】
次に、階層管理装置１０５は、接続したリモートデータベース１１１から、階層情報を取得する。階層情報とは、例えば、頂点を特定するための頂点番号、頂点名称などの識別情報と上位の頂点の識別情報からなる情報である。階層管理装置１０５は、リモートデータベース１１１の階層情報を取得すると、これを解析して可視情報を作成し、表示制御装置１０４に依頼して階層２０４を表示する。
ここで、階層２０３はローカルデータベース１１０に接続した時に同様の方法で作成済みである。
利用者は、表示されたそれぞれのデータベースの階層の中から任意の頂点を指示し、結合を要求する。例えば、ローカルデータベース１１０の階層２０３内の頂点２０５とリモートデータベース１１１の階層２０４内の頂点２０６を指示する。階層結合要求は、入力制御装置１０３を通して階層管理装置１０５へ送信される。階層管理装置１０５は、指示された２つの頂点の情報（頂点番号）とリモートデータベースの情報（データベース番号）からなる階層結合情報２０７と、データベース番号とデータベース名称からなるデータベース識別情報２０８をローカルデータベースに格納する。
図３は、本発明を実現するシステムの検索処理のうち、階層構造を持つグループによる検索処理部の構成の一例を示したものである。この図において、３０１は任意のデータベース、３０２はデータベースに登録されたデータをグループ化し、各グループを階層構造で管理するための階層情報である。階層情報３０２は、頂点番号、頂点名称、上位の頂点番号などからなる。３０３は階層構造上の任意の頂点（グループ）に属するデータの属性群で、データ番号、データ名称、頂点番号、作成者、更新日などからなる。３０４は前記階層情報３０２から作成した階層構造、３０５は階層構造３０４内の任意の頂点、３０６は頂点３０５に属するデータの名称、３０７は頂点３０５に属するデータ（ｄ１というデータ名称を持つ）に付随する属性値、３０８は階層構造を作成するために必要な階層情報、３０９はデータに付随する属性値からなる属性情報である。
利用者は、表示した階層構造をたどることにより任意の頂点を表示する。前述したように、頂点には、指示の内容によって頂点に属するデータ（名称）一覧を表示する動作（動作１）と、下位の階層に位置する頂点を表示する動作（動作２）と、頂点に属するデータを取得する動作（動作３）が定義されている。任意の頂点を選択すると動作１によって、図１で説明した階層管理装置１０５が起動され、選択した頂点を特定し、この頂点に属するデータのデータ名称一覧３０６を作成する。階層管理装置１０５は作成したデータ名称一覧を表示制御装置１０４へ送信する。表示制御装置１０４は表示装置１０２にデータ名称一覧を表示する。
【００１５】
利用者が、入力装置１０１により、この一覧から必要なデータ名称を指示すると、動作３により、入力制御装置１０３がこれを検知し、指示されたデータ名称を階層管理装置１０５へ送信する。階層管理装置１０５がそのデータ名称に対応するデータの属性を属性管理装置１０６に要求する。この時、選択した頂点に付与してあるデータ所在情報をデータの属性に追加する。データ所在情報は、階層を表示する際に階層管理装置１０５により頂点に付加する。例えば、動作２により頂点３０５を表示した後、頂点３０５を選択すると頂点３０５に属するデータの名称ｄ１〜ｄ５・・・を表示し、この名称一覧からｄ１を選択するとｄ１のデータの属性ｄ１１〜ｄ１５・・・を検索し、データの所在情報（データベース番号）を属性に追加する。
【００１６】
このように、データ検索時にデータの属性にデータの所在情報を追加することで、検索後のデータ操作（参照、更新、削除、通知など）の際にデータの所在情報を問合せる必要がなく、直接データにアクセスできる。
図４は、本発明を実現するシステムがデータの所在情報を学習する処理部の構成の一例を示したものである。図４において、４０１〜４０３はリモートデーターベース、４０４はローカルデーターベース、４０５はローカルデーターベース４０４に格納したデータ番号、データ名称などのデータの識別情報、４０６はローカルデーターベース４０４に保存したデータが登録されているリモートデータベースのデータベース番号などのデータベース識別情報である。
【００１７】
前述したように、システムが提供する検索手段により一度データを検索したら、これを保存するかの選択ができ、保存することにした場合は、データの識別情報４０５とデータベース識別情報４０６を対でローカルデーターベース４０４に保管する。また、ローカルデータベース４０４に最初に接続する時、保管したデータの識別情報４０５とデータベース識別情報４０６を読み込み、所在情報を問合せること無くデータを取得できる。
図５は、本発明を実現するシステムの表示制御部の構成の一例を示したものである。図５において、５０１はローカルデータベース１１０の階層構造で、頂点名称がＡ〜Ｇである頂点と任意の頂点との間に張られた節で構成される階層構造を表示した例である。５０６はリモートデータベース１１１の階層構造で、頂点名称がＨ〜Ｎである頂点と任意の頂点との間に張られた節で構成される階層構造を表示した例である。
【００１８】
５０２は階層管理装置１０５によって、リモートデータベース１１１の階層構造中の頂点５０３を隣接する（下位の）頂点として結合したローカルデータベース１１０の階層構造中の頂点である。５０４はリモートデータベース１１１の階層構造中の頂点５０３を最上位（根）とする階層（部分木）である。５０５はローカルデータベース１１０の階層構造５０１の頂点５０２とリモートデータベース１１１の階層構造５０６の頂点５０３を結合し、頂点５０２の下位に位置する頂点（子）として階層５０４（部分木）を結合して表示した階層構造である。
利用者が階層構造５０１内の頂点を指示すると、入力制御装置１０３がこれを検知し、その頂点の識別情報（頂点番号など）を階層管理装置１０５へ送信する。階層管理装置１０５は頂点の識別情報を受信すると、自身が管理する階層情報の３０２からその頂点の下位に位置する頂点（子）を特定する。  階層管理装置１０５は特定した頂点がリモートデータベース１１１の階層構造内の頂点であるか否かを調べる。頂点がローカルデータベース１１０の階層構造内の頂点である場合はその旨を応答し、リモートデータベース１１１の階層構造内の頂点である場合は接続切替装置１０８にリモートデータベース１１１への接続要求をしその旨を応答する。階層管理装置１０８は入力制御装置１０３から受信した頂点の識別情報がローカルデータベース１１０の階層構造内の頂点のものである場合はその旨を表示制御装置１０４へ送信し、それを受信した表示制御装置１０４が自身が管理する表示情報を基に利用者に指示された頂点の下位に位置する頂点を表示する。
【００１９】
階層管理装置１０５は入力制御装置１０３から受信した頂点の識別情報がリモートデータベース１１１の階層構造内の頂点のものである場合は接続切替装置１０８によって接続されたリモートデータベース１１１からそのデータベースの階層情報をローディングし階層構造を作成する。階層管理装置１０５は作成した階層構造の中から利用者によって指示された頂点に結合された頂点を特定し、その頂点を最上位とする階層を表示制御装置１０４へ送信する。表示制御装置１０４は受信した階層の最上位の頂点を指示された頂点の下位の頂点として配置し表示する。例えば、利用者が頂点Ａを指示すると、動作２により、頂点Ｂと頂点Ｃを表示し、頂点Ｄを指示すると頂点Ｉを表示し、頂点Ｉを指示すると頂点Ｋと頂点Ｌを表示する。
【００２０】
その結果、ローカルデータベース１１０とリモートデータベース１１１の階層構造を結合した階層構造５０５を表示する。
図６は、本発明を実現するシステムの検索処理部の構成の一例を示したものである。図６において、６０３はデータを検索する時の検索条件（データ名称、タイトル、作成者など）を指定する検索条件指定装置、６０４は指定された検索条件から検索するデータベースを決定する検索範囲制御装置、６０５は決定されたデータベースからのデータ検索を担当する検索装置１０７の所在情報（接続確立用の情報でホスト名称やポート番号など）を問合せる検索先問合せ装置、６０６は検索装置１０７の所在情報と稼動状況を管理する検索先管理装置、６０７は検索装置１０７に検索を依頼する検索依頼装置、６０２は検索の並列処理を制御する並列制御装置、６０１は検索結果を蓄積するメモリ管理装置である。
利用者が検索要求をすると、検索条件指定装置６０３は要求から検索条件を組立てこれを検索範囲制御装置６０４へ送信する。また、利用者は検索範囲を指定することができる。
【００２１】
例えば、図５で階層構造５０１の頂点５０２を指定して検索要求した場合、頂点５０２を最上位の頂点とする階層が検索範囲となる。検索範囲制御装置６０４は図１で説明した階層管理装置１０５が管理する階層構造を参照して、指定された頂点を最上位の頂点とする階層の属するデータベースの名称一覧を作成する。例えば、図５で階層構造５０１の頂点５０２を指定して検索要求した場合、階層５０１と階層５０４を持つデータベースの名称一覧を作成する。
【００２２】
検索範囲制御装置６０４は作成したデータベースの名称一覧を検索先問合せ装置６０５へ伝達する。検索先問合せ装置６０５は作成したデータベースの名称一覧内の個々のデータベースからのデータ検索を担当する検索装置１０７の所在情報（ホスト名称やポート番号など）を検索先管理装置６０６へ問合せる。検索先管理装置６０６は検索装置の所在情報問合せメッセージを受信すると適合する検索装置１０７の所在情報を返信する。検索先問合せ装置６０５は検索装置１０７の所在情報を受信すると、この所在情報と検索条件を検索依頼装置６０７へ伝達する。
【００２３】
検索依頼装置６０７は検索装置１０７の所在情報を得て検索装置１０７へ検索条件を送信する。それぞれの検索装置１０７は受信した検索条件から検索文を組立てリモ−トデータベース１１１へ検索文を送信する。検索装置１０７がデータベース１１１から受け取った検索結果は検索依頼装置６０７を経由して並列制御装置６０２へ送信される。並列制御装置６０２は複数の検索装置１０７から渡される検索結果に検索先情報（データベース番号）を付加し、いったん蓄積してからメモリ管理装置６０１へ伝達する。
図７は、本発明を実現するシステムの前述した検索装置１０７が、関連データを問合せる処理の構成の一例を示したものである。図７において、７０１はリモートデータベース、７０６〜７１４はリモートデータベースに存在するデータであり、７０６はデータベースに登録されているデータのデータ番号、データ名称などのデータ識別情報、７０７は任意のデータと関連するデータの情報で、データ番号、データ名称、親子関係、兄弟関係などである。７０８は識別情報がｄであるデータ、７０９〜７１１は７０８に関連するデータの識別情報、７１２〜７１３は７１１に関連するデータの識別情報、７１４は７０８に関連する全データの識別情報を表す。７０２〜７０５、１０８は本システムに存在する装置またはデータで、７０２は本システム、７０３はリモートデータベース７０１から検索したデータ、７０５は検索したデータ７０３に付随する属性である。
【００２４】
リモートデータベース７０１からデータを検索している状態で、そのデータに関連するデータが存在する場合、利用者の関連データ取出し要求があると検索装置１０７がこの要求を受け取る。検索したデータには７０５で示す属性が付随している。検索装置１０７は付随データから所在情報を取出し、これを接続切替装置１０８へ伝達する。接続切替装置１０８はこの所在情報からリモートデータベース７０１を認識し、リモートデータベース７０１との接続を確立する。
【００２５】
接続確立後、検索装置１０７が属性７０５からデータ識別情報（データ名称）を取出し、リモートデータベース７０１に格納してあるデータ識別情報７０６と関連データ情報７０７からデータ７０８に関連するデータを要求し、関連データ７０９〜７１３を検索する。
図８は、本発明を実現するシステムが検索したデータとデータの所在情報を利用者に発信する処理の構成の一例を示したものである。図８において、８０１は本システム、８０２はローカルデーターベース４０４に検索したデータを、電子メールのようなデータ配布システムへ送信するデータ発信装置、８０５はデータを任意の利用者に通知する通知装置８０３と利用者が着信したデータにアクセスするためにデータ種別によりシステムを自動的に起動してデータの情報検索を依頼する着信制御装置８０４を持った電子メールなどの他データ配布システムである。
【００２６】
利用者は、検索したデータを他利用者に送信したい場合は、他データ配布システムと連携してデータを発信する。ここで、発信するデータには、データの所在情報（例えば、データ名称４０５とデータベース番号４０６）を付加する。通知を受けた利用者が、通知されたデータを指示すると着信データ制御装置８０４は本発明を実現するシステム８０１を起動する。次いで、指示したデータ８０６に付随するデータ名称とデータベース番号をデータ発信制御装置８０２へ送信する。データ発信制御装置８０２はデータ名称とデータベース番号を検索装置１０７へ伝達する。検索装置１０７はデータベース番号を基にデータベースにアクセスしてデータを検索する。
図９は、図５に示した表示制御の応用例を示したものである。階層構造９０２〜階層構造９０６は各ローカルデータベースに対応する階層構造の一部を表す。頂点９０７〜頂点９１０はリモートデータベースの下位に位置する（隣接する）頂点を持つ頂点を表す。頂点９１１〜頂点９１４はリモートデータベースの頂点の下位に位置する（隣接する）頂点を表す。階層構造９０１は複数のデータベースの階層構造を結合した結果の階層構造を表す。
【００２７】
図９において、階層構造９０２はローカルデータベースの階層構造を表し、頂点９０７、頂点９０８にはそれぞれリモートデータベースの階層構造内の頂点９１１、頂点９１３が結合されている。階層構造９０３は別のローカルデータベースの階層構造を表し、頂点９０９、頂点９１０にはそれぞれリモートデータベースの階層構造内の頂点９１２、頂点９１４が結合されている。利用者は、階層構造９０２をたどって頂点９０７を指示することによって階層構造９０３を表示することができ、更に階層構造９０３をたどって階層構造９０４を表示することができる。これは図５に示したとおり、入力制御装置１０３が検知した頂点を、階層管理装置１０５が、接続切替装置１０８と連動してどのデータベースの頂点か特定することで実現する。
【００２８】
更に階層管理装置１０５はリモートデータベースから階層情報をローディングして作成した階層構造を結合する際、この階層構造にリモートデータベースの識別情報（データベース番号）を付加する。この付加情報を基に接続切替装置１０８にリモートデータベースとの接続を確立してもらい、隣接する頂点を最上位の頂点とする階層を結合する。このように、入力制御装置１０３が検知した頂点に付加されたデータベース番号を基に接続切替装置１０８が接続するデータベースを切替えることにより、そのデータベースの階層構造をローカルデータベースの統合した階層構造に結合する。
【００２９】
ここで、ローカルデータベースが知っているのは自身に登録された階層結合情報２０７だけで良く、リモートデータベースに登録された階層結合情報２０７は階層管理装置１０５と接続切替装置１０８の連動により自動的に参照される。
次に、本発明を実現するシステムの表示制御処理の一例を図１０、図１１、図１２を参照しながら説明する。
【００３０】
１００１はローカルデータベースの階層構造上の頂点に対する階層表示用データで、階層情報３０８を可視可能にしたものである。１００２はリモートデータベースの階層構造上の頂点に対する階層表示用データ、１００３は階層結合処理によりローカルデータベースに登録されたデータベース識別情報でシステム起動時に前述のメモリ管理６０１によって確保される。１００４はデータベース名称等のデータベース接続に必要なデータベース所在情報テーブル、１００５は階層結合処理でローカルデータベースに登録された階層結合情報テーブルである。
【００３１】
本発明を実現するシステムが起動すると、階層管理装置１０５はローカルデータベースから階層情報を読み込み、これを加工して階層構造を作成する。この階層は、識別情報（頂点番号、頂点名称など）を持った頂点と隣接する頂点との親子関係により構成される。階層管理装置１０５は入力制御装置１０３から表示要求を受けると、既にメモリにロードしてあるデータベース識別情報と頂点が指示された時の前述の動作を付加して階層表示用データを作成する。
【００３２】
今、頂点１００１が指示された（１１０１）と仮定すると、入力制御装置１０３は頂点１００１の識別情報を階層管理装置１０５へ送信する。階層管理装置１０５は頂点に付加されているデータベース識別情報から頂点が登録されているデータベースを特定する（１１０２）。頂点がローカルデータベースに登録されていると判ったなら、階層結合情報２０７を参照する（１１０３）。頂点がリモートデータベースに登録されていると判ったなら、接続切替装置１０８によりデータベース接続を切替えた後（１１０４）、リモートデータベースの階層結合情報２０７を参照する（１１０３）。階層結合情報２０７中に指示した頂点の識別情報が見つかれば（１１０５）、隣接頂点の中にリモートデータベースに存在するものがあることを意味する。
【００３３】
識別情報が見つかったならデータベース接続を切替えて（１１０６）隣接頂点の情報を取得し（１１０７）、これを表示する（１１０８）。隣接頂点情報取得処理は、隣接頂点情報要求命令１２０２と、データベース所在情報１２０３と、指示した頂点の識別情報１２０４からなる隣接頂点情報要求データを作成し（１２０１）、これをリモートデータベースへ送信する（１２０５）ことにより実現する。リモートデータベースは受信した隣接頂点情報要求データの頂点識別情報
を基に要求データを特定し要求命令に従って隣接頂点情報を返信する。リモートデータベースから受信した（１２０６）隣接頂点情報は、隣接頂点数１２０７と、隣接頂点識別情報１２０８と、隣接頂点名称（１２０９）と、隣接頂点識別情報１２０８の隣接頂点の有無１２１０から構成される。階層管理装置１０５は、取得した隣接頂点情報をローカルデータベースの構造表示用データに結合し、表示制御装置１０４へ送信する。表示制御装置１０４は結合した構造表示用データ
に従って隣接頂点を表示する。
次に、本発明を実現するシステムの並列処理の一例を図６、図１３、図１４、図１５を参照しながら説明する。
【００３４】
利用者が表示制御装置１０４により表示された階層構造上の頂点を指示すると、検索条件指定装置６０３は指示した頂点の識別情報と検索条件を検索範囲制御装置６０４へ送信する。検索範囲制御装置６０４は受信した頂点の識別情報を基に検索対象データベースを決定する。図１４において、☆は利用者が指示した頂点を表し、●は階層結合処理により結合したリモートデータベースの頂点を表し、△で囲んだ範囲はリモートデータベースの階層を表す。結合した全ての頂点●の中から指示した頂点☆を最上位の頂点（根）とする階層に含まれる頂点を調べる。頂点●から階層に従って根の方向（←の方向）へ頂点をたどり、頂点☆を見つけたら頂点●を記憶する。記憶した頂点●のデータベース識別情報（データベース番号）を抽出することで検索対象データベースを決定する。
【００３５】
検索先問合せ装置６０５は決定したデータベースの情報を基に検索先管理装置６０６へ各データベースからの検索を担当する検索装置１０７の所在情報を問合せる。検索装置１０７の所在情報を受け取ると検索依頼装置６０７が組み立てた検索条件を検索装置１０７へ送信することによってデータを検索する。検索装置１０７は検索条件を受信すると受信した条件でデータを検索し、検索結果にデータベース識別情報を付加して検索依頼装置６０７へ送信する。検索依頼装置６０７は検索結果をそのまま並列制御装置６０２へ渡す。並列制御装置６０２は検索結果をメモリ管理装置６０１へ渡す。表示装置１０２はメモリ管理装置６０１が管理する検索結果を表示する。
以上、本発明の実施の形態の例で説明したように、分散データベースを構成する各ローカルデータベースに独立性を生かし、階層という利用形態に依存せず、データ要求時にデータの所在情報が無くてもデータを検索でき、必要なデータの所在情報だけを保存し、分散データベースの構成が変更されても関係を定義しなおすだけで良く、ローカルに所在情報を持っていないデータについて、簡易な検索手段を提供し、一度リモートデータベースから問合せたら、これを保管する学習手段を持ち、データの所在情報を利用者に通知する手段を持つことで、通信量を軽減し処理効率を向上させることができる。
【００３６】
独自にデータベースを利用している部門同志で分散データベースの利用環境があらかじめ決められない場合や、利用するデータベースが分散データベースを構築する手段を持っていない場合や、単独のデータベースの利用から始めて徐々にデータベースの個数を増やしたい場合に特に効果的である。
なお、各ローカルデータベースに格納するデータを登録するための論理的な格納領域は、階層構造でなくグラフ構造やキューブのように、頂点と節から構成される構造を持つものでも表やタイルのようなものであってもよく階層構造に特化しなくても良い。
また、データの所在情報は、データベース内のデータの情報であっても良いし、データベース外のデータの情報であっても良い。たとえば、データベースには一般文書や図面のような実データの管理情報だけを格納し、実データは分散データベースを構成しない別のデータベースやファイル管理装置に格納する場合である。  更に、分散環境を構築するデータベースの種類にとらわれない。ローカルデータベースが自社製でリモートデータベースが他社製でも良く、その逆でも良い。
本発明によれば、階層構造を用いることにより、各データベースに任意のリモートデータベースを関係付け、アクセス経路を設定することができるため、必ずしも、あらかじめデータベースのリンク関係（階層）を構築する必要がなく、環境構築後データベースが増えても何ら問題なく関係を定義するだけで分散データベースに参加できるという分散データベース環境構築・保守が柔軟かつ容易になる。
【００３７】
さらに、他部門が構築した分散環境を簡易な方法で自部門の環境に結合でき、ローカルデータベースに、階層構造上一階層下のリモートデータベースを関係付けるだけで、その階層に位置する全データベース中のデータの所在情報をローカルデータベースに配置しなくても、データの所在情報は自動的にデータに付与、保存、通知できるのであらかじめデータの所在情報を格納しておく必要が無く、データ所在情報のためのディスク容量を増やさず、データ所在情報を問合せる処理の集中と通信量を抑制でき、データベース接続制御を独自にしているので、本発明を利用すれば、データベースの種類を問わず分散データベースを構成することができるという効果が得られる。
【００３８】
また、データベースの複製あるいはデーターベース内のデータの複製を持ち、データの検索性能を向上させる方法が考えられている。従来の方法では、データの所在情報の二重持ちが発生し、格納領域を増大させてしまうが、本発明では改善されている。
【図面の簡単な説明】
【００３９】
【図１】本発明の一実施例によるシステムの構成図である。
【図２】本発明の一実施例による階層結合処理を説明するための図である。
【図３】本発明の一実施例による階層構造をもつグループによる検索処理を説明するための図である。
【図４】本発明の一実施例による検索したデータの所在の学習処理を説明するための図である。
【図５】本発明の一実施例による階層構造の表示制御を説明するための図である。
【図６】本発明の一実施例による並列検索処理を表す図である。
【図７】本発明の一実施例による関連データの検索処理を説明するための図である。
【図８】本発明の一実施例によるデータの所在の通知処理を説明するための図である。
【図９】本発明の一実施例による階層構造の表示制御の応用を説明するための図である。
【図１０】本発明の一実施例による階層構造の表示制御処理を説明するための図である。
【図１１】本発明の一実施例による頂点の表示処理のフロ−チャ−トである。
【図１２】本発明の一実施例による頂点情報取得処理のフロ−チャ−トである。
【図１３】本発明の一実施例による検索の並列処理のフロ−チャ−トである。
【図１４】本発明の一実施例による検索対象データベース決定処理を説明するための図である。
【図１５】本発明の一実施例による装置間の検索の並列処理のフロ−チャ−トである。
【符号の説明】
【００４０】
１０１：入力装置
１０２：表示装置
１０３：入力制御装置
１０４：表示制御装置
１０５：階層管理装置
１０６：属性管理装置
１０７：検索装置
１０８：接続切替装置
１１０：ローカルデータベース
１１１：リモートデータベース
２０１：データベース識別情報
２０２：データベース名称一覧
２０３：ローカルデータベースの階層構造
２０４：リモートデータベースの階層構造
２０５：ローカルデータベースの階層内の頂点
２０６：リモートデータベースの階層内の頂点
２０７：階層結合情報
２０８：データベース識別情報
３０１：データベース１
３０２：階層情報
３０３：属性情報
３０４：階層構造
３０５：階層内の頂点
３０６：データ識別情報
３０７：データ属性
３０８：階層情報
３０９：属性情報
４０１：リモートデータベース
４０２：リモートデータベース
４０３：リモートデータベース
４０４：ローカルデータベース
４０５：データ識別情報
４０６：データベース識別情報
５０１：ローカルデータベースの階層構造
５０２：ローカルデータベースの階層構造内の頂点
５０３：リモートデータベースの階層構造上の頂点
５０４：リモートデータベースの階層構造
５０５：階層結合処理後のローカルデータベースの階層構造
５０６：リモートデータベースの階層構造
６０１：メモリ管理装置
６０２：並列制御装置
６０３：検索条件指定装置
６０４：検索範囲制御装置
６０５：検索先問合せ装置
６０６：検索先管理装置
６０７：検索依頼装置
８０２：発信装置
８０３：通知装置
８０４：着信制御装置
８０５：データ配布システム
８０６：通知データ
８０７：利用者
【図１】
2007200342.tif 000003
【図２】
2007200342.tif 000004
【図３】
2007200342.tif 000005
【図４】
2007200342.tif 000006
【図５】
2007200342.tif 000007
【図６】
2007200342.tif 000008
【図７】
2007200342.tif 000009
【図８】
2007200342.tif 000010
【図９】
2007200342.tif 000011
【図１０】
2007200342.tif 000012
【図１１】
2007200342.tif 000013
【図１２】
2007200342.tif 000014
【図１３】
2007200342.tif 000015
【図１４】
2007200342.tif 000016
【図１５】
2007200342.tif 000017