コンピュータ装置に保存された複数のドメインにおける木構造のドメインデータの間の関係のリンクのビューを、与えられたアクセス権限に従い提供するシステムであって、前記個々のドメインにおいて、該ドメインの階層毎の指定された開示先毎に該ドメインのドメインデータをグループ化する手段と、前記グループ化された木構造のデータにおいて、葉のグループを、共通鍵で暗号化する手段と、前記共通鍵で暗号化した結果のデータに、すべてのグループの共通鍵を開示先の公開鍵で暗号化した値を付加して、第1の公開データを作成する手段と、前記第1の公開データを、リンク設定者の秘密鍵で復号して共通鍵を得て、それらの鍵で各グループを復号する手段と、復号したデータにおけるリンクに基づいて、グループごとにテーブルを生成する手段と、前記テーブルの各レコードを、木構造の親に向かって伝播する手段と、共通鍵を使って、前記テーブルを暗号化することによって、第2の公開データを作成する手段と、前記第1の公開データと前記第2の公開データを秘密鍵で復号して共通鍵を得る手段と、前記第1の公開データと前記第2の公開データを秘密鍵で復号して得られた共通鍵で、前記リンク設定者のシステムから受け取ったデータを復号することによりビューを生成する手段を有する、ドメインデータの間の関係のリンクのビューを提供するシステム。前記第1の公開データを作成する手段は、暗号化されたグループを名前の要素で書き換える手段を含む、請求項1に記載のシステム。前記各グループを復号する手段は、前記名前の要素をグループが属する要素に書き換える手段を含む、請求項2に記載のシステム。前記ビューを生成する手段は、テーブルの各レコードを子に向かって伝播し、リンク名が同じものは子のレコードで置き換える手段を有する、請求項1に記載のシステム。ドメイン用コンピュータ装置が、ドメインデータと、前記グループ化する手段と、前記共通鍵で暗号化する手段と、前記第1の公開データを作成する手段をもち、リンク設定用コンピュータ装置が、前記各グループを復号する手段と、前記グループごとにテーブルを生成する手段と、前記木構造の親に向かって伝播する手段と、前記第2の公開データを作成する手段をもち、参照用コンピュータ装置が、前記第1の公開データと前記第2の公開データを秘密鍵で復号して共通鍵を得る手段と、前記ビューを生成する手段をもち、前記ドメイン用コンピュータ装置と、前記リンク設定用コンピュータ装置と、前記参照用コンピュータ装置は互いにネットワーク接続されている、請求項1に記載のシステム。前記ドメイン用コンピュータ装置と、前記リンク設定用コンピュータ装置と、前記参照用コンピュータ装置が、それぞれ複数台設けられている、請求項5に記載のシステム。前記前記参照用コンピュータ装置は、前記ドメイン用コンピュータ装置で兼用されている、請求項6に記載のシステム。コンピュータ装置に保存された複数のドメインにおける木構造のドメインデータの間の関係のリンクのビューを、与えられたアクセス権限に従い提供する方法であって、前記個々のドメインにおいて、該ドメインの階層毎の指定された開示先毎に該ドメインのドメインデータをグループ化するステップと、前記グループ化された木構造のデータにおいて、葉のグループを、共通鍵で暗号化するステップと、前記共通鍵で暗号化した結果のデータに、すべてのグループの共通鍵を開示先の公開鍵で暗号化した値を付加して、第1の公開データを作成するステップと、前記第1の公開データを、リンク設定者の秘密鍵で復号して共通鍵を得て、それらの鍵で各グループを復号するステップと、復号したデータにおけるリンクに基づいて、グループごとにテーブルを生成するステップと、前記テーブルの各レコードを、木構造の親に向かって伝播するステップと、共通鍵を使って、前記テーブルを暗号化することによって、第2の公開データを作成するステップと、前記第1の公開データと前記第2の公開データを秘密鍵で復号して共通鍵を得るステップと、前記第1の公開データと前記第2の公開データを秘密鍵で復号して得られた共通鍵で、前記リンク設定者の方法から受け取ったデータを復号することによりビューを生成するステップを有する、ドメインデータの間の関係のリンクのビューを提供する方法。前記第1の公開データを作成するステップは、暗号化されたグループを名前の要素で書き換えるステップを含む、請求項8に記載の方法。前記各グループを復号するステップは、前記名前の要素をグループが属する要素に書き換えるステップを含む、請求項9に記載の方法。前記ビューを生成するステップは、テーブルの各レコードを子に向かって伝播し、リンク名が同じものは子のレコードで置き換えるステップを有する、請求項8に記載の方法。ドメイン用コンピュータ装置が、ドメインデータと、前記グループ化するステップと、前記共通鍵で暗号化するステップと、前記第1の公開データを作成するステップを実行し、リンク設定用コンピュータ装置が、前記各グループを復号するステップと、前記グループごとにテーブルを生成するステップと、前記木構造の親に向かって伝播するステップと、前記第2の公開データを作成するステップを実行し、参照用コンピュータ装置が、前記第1の公開データと前記第2の公開データを秘密鍵で復号して共通鍵を得るステップと、前記ビューを生成するステップを実行し、前記ドメイン用コンピュータ装置と、前記リンク設定用コンピュータ装置と、前記参照用コンピュータ装置は互いにネットワーク接続されている、請求項8に記載の方法。前記ドメイン用コンピュータ装置と、前記リンク設定用コンピュータ装置と、前記参照用コンピュータ装置が、それぞれ複数台設けられている、請求項12に記載の方法。前記前記参照用コンピュータ装置は、前記ドメイン用コンピュータ装置で兼用されている、請求項13に記載の方法。請求項8乃至請求項14に記載の方法を前記コンピュータ装置に実行させる、コンピュータプログラム。従って、この発明の目的は、ドメインにまたがるデータのリンク付けにおいて、アクセス権限に応じたリンクを含むビューを適切に提供することにある。この発明の他の目的は、リンク元リンク先のデータを直接アクセスできない場合でも、リンクがあることと、リンク元及びリンク先のデータが属するデータを階層上で知ることができるようにすることである。本発明が対象とするドメインデータは、各組織の機密情報であって、データ所有者が指定した開示先だけが参照できるように暗号化される。このときデータは、階層に従って開示先が指定される。ここで階層の例は、ファイルシステムのフォルダによる階層、文書内の章節段落文語の階層、モデル設計図部品表等要素の含有関係による階層などがある。そこで、本発明が前提とする制約は、次のとおりである。ドメインデータ所有者は、どのような関連付けが行われるか知らない。リンク設定者は、ドメインデータ所有者がデータに指定した開示先を知らない。リンク設定者と参照者は、自身が開示先として指定されたデータしか復号できない。本発明のシステムは、ドメインデータ所有者の処理に関する部分と、リンク設定者の処理に関する部分と、参照者の処理に関する部分を有する。ドメインデータ所有者の処理に関する部分のシステムは、データの階層に従って、同一の開示先をグループ化する。次に、葉のグループを、共通鍵で暗号化する。次に、暗号化されたグループを名前の要素で書き換える。これを繰り返して適用して、すべてに適用し終わると、ドメインデータ所有者の処理に関する部分のシステムは、すべてのグループの共通鍵を開示先の公開鍵で暗号化した値を付加して、公開データとする。リンク設定者の処理に関する部分のシステムは、公開データをリンク設定者自身の秘密鍵で復号して共通鍵を得る。そして、それらの鍵で各グループを復号する。リンク設定者の処理に関する部分のシステムは次に、リンクに基づいて、グループごとにリンク名端点名入出別からなるテーブルを生成する。次に、テーブルの各レコードを親に向かって伝播する。このとき、端点名をグループが属する要素に書き換える。次にリンク設定者の処理に関する部分のシステムは、初期ステップで得た共通鍵を使って、テーブルを暗号化する。こうして得られたデータ全体を共通鍵で暗号化する。さらにリンクの開示先の公開鍵で共通鍵を暗号化した値を付加して、公開データとする。参照者の処理に関する部分のシステムは、ドメインデータ所有者の処理に関する部分のシステムから受け取ったデータと、リンク設定者の処理に関する部分のシステムから受け取ったデータとを秘密鍵で復号して共通鍵を得る。そして得られた共通鍵でドメインデータ所有者の処理に関する部分のシステムから受け取ったデータと、リンク設定者の処理に関する部分のシステムから受け取ったデータを復号する。このとき、テーブルの各レコードを子に向かって伝播し、リンク名が同じものは子のレコードで置き換える。そして、2つの木からビューを生成する。ドメインデータ所有者とリンク設定者は一般的にそれぞれ複数存在するので、それらの組み合わせの数だけ、この処理を繰り返す。この発明によれば、複数の企業が製品開発に関わる状況で、ドメインデータにのセキュリティ保護に適合するようにリンク付けとリンクの管理を行うことが可能となり、異なる企業の製品情報の間の関連を一元管理することができるようになる。また、リンク元リンク先のデータを直接アクセスできない場合でも、リンクがあることと、リンク元データリンク先データが属するデータを参照者が階層上で知ることができるので、セキュリティの許す範囲で、情報が適切に開示される。これによって、目的のデータが不十分でも影響範囲の分析などを行うことが可能になる。また、目的のために不足するデータがあることと、そのデータが属する要素を知ることができる。これを受けてデータ所有者に参照許可を要求したり、ソースの代わりにバイナリの提供を交渉したりすることが可能になる。そのために、本発明は、開示先指定と整合するように、前提となる制約のもとでリンクを含むビューを生成する仕組みを提供する。以下、図面に基づき、この発明の実施例を説明する。特に断わらない限り、同一の参照番号は、図面を通して、同一の対象を指すものとする。尚、以下で説明するのは、本発明の一実施形態であり、この発明を、この実施例で説明する内容に限定する意図はないことを理解されたい。図2を再度参照すると、これは、本発明を実施するためのハードウェア構成の全体を示す概要図でもある。図2において、ドメイン202、ドメイン204、ドメイン206、及びドメイン208は、個々のドメインのコンピュータ装置をあらわす。ここで、ドメインとは、図1に関連して例示した、システムモデル、要求管理、制御解析、CAD、電気/電子回路、部品構成管理、及び組み込みソフトウェアなどに個々に対応する。個々のドメインのコンピュータシステムの、好適にはハードディスクドライブである記憶装置には、そのドメインが使用するツールに特有のデータが記憶されている。このデータとして、これには限定されないが、ソフトウェア設計データとしてのUML、ハードウェア設計データとしてのSysML、ツールがデータ交換用にサポートするXML、電子設計データ交換用フォーマットであるEDIFなどがある。その他、ドメインにおけるツール独自のフォーマットのデータであってもよい。各ドメインにおいて、それらのデータは、DAGとして構成されていてもよいし、DAGでないグラフや、さらにグラフでないデータ形式で保存されていてもよい。図2には、ドメインは4個しか示されていないが、これは例示であり、さらに多くの、あるいは任意個数のドメインがあってよい。但し、関連性情報を作成するために、少なくとも2個のドメインは必要である。データ間リンク管理ブロック機能210は、データの間の関連付けのビューを作成するため機能をコンピュータ装置上に実装されており、ドメイン202、ドメイン204、ドメイン206、及びドメイン208をそれぞれ実装するコンピュータ装置とネットワークを介して接続されており、オペレータの操作に従い、少なくとも2つのドメインとの間の接続を確立して、それらの2つのドメインのデータの間のリンクのビューを作成する機能をもつプログラムを含む。図3は、ドメイン202、ドメイン204、ドメイン206、及びドメイン208や、データ間リンク管理機能210の構成を実装するためのコンピュータ装置の機能図である。図2には示さないが、本発明においては、データ間リンク管理機能210によって作成されたリンク情報を、所定のセキュリティ条件で参照する機能をもつ参照機能を実装するコンピュータ装置が、好適には複数設けられる。参照機能を実装するコンピュータ装置も、データ間リンク管理機能210の構成を実装するためのコンピュータ装置と同様のハードウェア構成であってよい。参照機能を実装するコンピュータ装置は、ドメインを実装するコンピュータ装置を兼用してもよい。すなわち、一台のコンピュータ装置が、ドメイン兼参照機能の機能をもっていてもよい。図3において、システムパス302には、CPU304と、主記憶RAM306と、ハードディスクドライブHDD308と、キーボード310と、マウス312と、ディスプレイ314が接続されている。CPU304は、好適には、32ビットまたは64ビットのアーキテクチャに基づくものであり、例えば、インテル社のPentium商標4、Core商標2Duo、Xeon商標、AMD社のAthlon商標などを使用することができる。主記憶306は、好適には、4GB以上の容量をもつものである。ハードディスクドライブ308は、好適には例えば、500GB以上の容量をもつものである。ハードディスクドライブ308には、個々に図示しないが、オペレーティングシステムが、予め格納されている。オペレーティングシステムは、Linux商標、マイクロソフト社のWindows商標7、WindowsXP商標、Windows商標2000、アップルコンピュータのMacOS商標などの、CPU304に適合する任意のものでよい。データ間リンク管理機能210を実装するコンピュータ装置の場合には、ハードディスクドライブ308には、リンク設定ツール図4で参照番号420で示されるなどが格納されている。ドメイン202、204、206、208を実装するコンピュータ装置の場合は、ハードディスクドライブ308には、ドメインデータの開示先指定情報に基づきグループ化するグループ化ツール図4で参照番号410aで示される、及びグループデータ暗号化ツール図4で参照番号414aで示されるなどが格納されている。また、参照機能を実装するコンピュータ装置の場合には、ハードディスクドライブ308には、参照ツール図4で参照番号426aで示されるなどが格納されている。これらのモジュールは、C、C、C、Javaなどの既存のプログラミング言語処理系で作成することができ、オペレーティングシステムの働きで、これらのモジュールは適宜主記憶306にロードされて実行される。これらのモジュールの動作の詳細は、図6のフローチャートを参照して、より詳細に説明する。キーボード310及びマウス312は、オペレータが、グループ化ツール、リンク設定ツール、参照ツールなどを操作したりするために使用される。ディスプレイ314は、好適には、液晶ディスプレイであり、例えば、XGA1024×768の解像度、またはUXGA1600×1200の解像度などの任意の解像度のものを使用することができる。ディスプレイ314は、ドメインや、データ間リンク管理機能や、参照機能を実装するコンピュータ装置で、オペレータがデータのノードやリンクの情報を視覚的に確認しながら操作するために使用される。図3のシステムは更に、バス302に接続された通信インターフェース316を介して、LAN、WANなどの外部ネットワークに接続されている。通信インターフェース316は、イーサネット商標などの仕組みにより、他のドメインのコンピュータ装置等と通信して、データをやり取りする。次に、図4は、本発明を実施するための一例のハードウェアと機能構成のブロック図であり、認証局402と、ドメインを実装するコンピュータ装置404a、404b、、404zと、データ間リンク管理機能を実装するコンピュータ装置418と、参照機能を実装するコンピュータ装置424a、424b、、424zからなる。ドメインを実装するコンピュータ装置404a、404b、、404zと、データ間リンク管理機能を実装するコンピュータ装置418と、参照機能を実装するコンピュータ装置424a、424b、、424zはすべて、好適には、図3に示すハードウェア構成である。公開鍵と、秘密鍵は、所定のアルゴリズムにより各ドメインで生成することもできるが、好適には、各ドメインは、認証局402から、公開鍵と、秘密鍵を入手する。ドメインを実装するコンピュータ装置404a、404b、、404zは、異なるドメインデータを保持しているが、ハードウェア構成と機能構成は同一なので、代表的にコンピュータ装置404aで説明する。コンピュータ装置404aは、情報の開示先を示すデータ406aと、ドメインデータ408aをもつ。ドメインデータ408aは、好適には無閉路有向グラフDAGの形式で構造化されたデータを保持する。情報の開示先を示すデータ406aと、ドメインデータ408aは、図3の構成でいうと、ハードティスクドライブ308に格納されている。グループ化ツール410aは、指定された情報の開示先を示すデータ406aに基づいてドメインデータ408aをグループ化する機能をもつ。グループ化の処理は、後で図5のフローチャートを参照して説明する。このグループ化されたデータ412aは、好適にはハードティスクドライブ308に格納される。グループデータ暗号化ツール414aは、グループ毎に認証局402から公開鍵と、秘密鍵を取得して、グループ化されたデータ412aを暗号化し、暗号化データ416aとしてハードティスクドライブ308に保持する。グループ化ツール410aの処理と、グループデータ暗号化ツール414aの処理の詳細は、後で図8のフローチャートを参照して説明する。データ間リンク管理機能を実装するコンピュータ装置418は、リンク設定ツール420をもち、コンピュータ装置418のオペレータは、リンク設定ツール420をもちいて、暗号化データ416a、416b、416zのうちの必要なものを適宜収集して暗号化し、暗号化されたリンクデータ422としてハードティスクドライブ308に保存する。リンク設定ツール420の処理の詳細は、後で図10のフローチャートを参照して説明する。なお、データ間リンク管理機能を実装するコンピュータ装置418は複数あってもよく、それぞれが異なるリンクデータを作成してもよい。あるいは、データ間リンク管理機能を実装するコンピュータ装置418を特に設けず、他のコンピュータ装置がデータ間リンク管理機能を実行し、作成されたリンクデータが直接、参照機能を実装するコンピュータ装置424a、424b、、424zに送られるようにしてもよい。参照機能を実装するコンピュータ装置4242a、424b、、424zは、ハードウェア構成と機能構成は同一なので、代表的にコンピュータ装置424aで説明する。参照機能を実装するコンピュータ装置424aは、参照ツール426aをもち、参照処理を行うオペレータは、参照ツール426aを用いて、ドメインを実装するコンピュータ装置404a、404b、、404zから暗号化データ416aなどを受け取り、データ間リンク管理機能を実装するコンピュータ装置418から暗号化されたリンクデータ422を受け取り、ビューを生成する。参照ツール426aの処理の詳細は、後で図15のフローチャートを参照して説明する。次に、図5及び図6のフローチャートを参照して、ドメインのグループ化ツール410aの処理を説明する。図5のフローチャートは、グループ化手続きを示す。この処理の入力は、ドメインデータ404aであるドメインデータ木Tと、開示先データ406aである開示先grantV→2Uであり、Uは参照者の集合である。なお、2Uとは参照者の集合の部分集合を要素とする集合である。このときデータは、階層に従って開示先が指定される。ここで階層の例は、ファイルシステムのフォルダによる階層、文書内の章節段落文語の階層、モデル設計図部品表等要素の含有関係による階層などがある。グループ化ツール410aは、ステップ502で、pにドメインデータ木Tの根をセットする。グループ化ツール410aは、ステップ504で、Gppによって新規グループを作成する。グループ化ツール410aは、ステップ506で、GGpにより、ステップ504で作成した新規グループをセットする。グループ化ツール410aは、ステップ508で、groupというサブルーチンを呼び出す。この処理の結果、開示先グループ全体GG1G2Gnが出力される。図6のフローチャートは、図5のフローチャートの処理で呼ばれるサブルーチンgroupの処理を示す。図6のステップ602では、このサブルーチンは、Cにpの子をセットする。ステップ604では、サブルーチンは、C、すなわち、Cが空かどうか判断し、もしそうなら、処理を終わり、戻る。Cが空でないと判断すると、サブルーチンはステップ606で、全てのci∈Cを訪問したかどうかを判断する。もしそうなら、処理を終わり、戻る。訪問していないci∈Cがあると、サブルーチンはステップ608で、grantgrantであるかまたは、grantgrantであり、cj∈Cが訪問済みの子であるようなjが存在するかどうか判断する。ここで、grantは、ciの開示が許可されている参照者の集合である。そして、もしステップ608の判断が肯定的なら、ステップ610で、GrGr∪ciにより既存グループにciを追加する処理が行われる。ここでGrは、pまたはcjが属する集合である。もしステップ608の判断が否定的であるなら、ステップ612で、Giciで新規グループを作成し、ステップ614で、GG∪Giで、Giがグループに追加される。ステップ610とステップ612のどちらからもステッフ616に進み、そこでサブルーチンは、自らの処理groupを再帰呼び出ししてステップ606に戻る。図7は、このような処理によって形成される、グループ化されたドメインデータと、そのグループ毎の開示先を示す。点線で囲まれたのがグループである。図8は、グループデータ暗号化ツール414aによるグループ暗号化処理のフローチャートを示す図である。この処理は、この処理の入力は、ドメインデータ404aであるドメインデータ木Tと、開示先データ406aである開示先grantV→2Uであり、Uは参照者の集合である。2Uは、Uは参照者の集合の部分集合を元とする集合である。グループデータ暗号化ツール414aは、ステップ802で、グループ化手続き実行により、グループ木TGを生成する。グループ化手続き実行とは、既に説明した図5及び図6のフローチャートで示す手続きであり、グループ木TGとは、図4のグループ化されたデータ412aのことである。グループデータ暗号化ツール414aは、ステップ804で、すべてのグループGiが置き換えられたかどうか判断し、もしそうなら処理を終わる。すべてのグループGiが置き換えられてないなら、処理はステップ806に進み、そこでグループデータ暗号化ツール414aは、グループGiのための共通鍵Ktiを生成する。共通鍵Ktiは独自の処理ルーチンにより生成してもよいが、好適には認証局402から入手する。グループデータ暗号化ツール414aは、ステップ808で、グループGiを共通鍵Ktiで暗号化し、ノードを生成してユニーク名Ciを与え、そのノードでグループGiを共通鍵Ktiで暗号化したデータを置き換える。グループデータ暗号化ツール414aは、ステップ810で、公開データMに、CiFを加える。ここで、Fは、グループGiを共通鍵Ktiで暗号化したデータである。なお、Fは、グループGiに含まれるノードのデータのすべてに加えて、エッジ集合Eiv1∈Giv2∈Giを加えたグラフ全体が暗号化される。グループデータ暗号化ツール414aは、ステップ812で、Gの要素を1個選択してそれをvと置き、vの開示先であるgrantの集合をXと置く。グループデータ暗号化ツール414aは、ステップ814で、すべてのxj∈Xを訪問したかどうか判断し、そうでなければステップ816で公開データMに、共通鍵Ktiを開示先の公開鍵Kuxjで暗号化した値であるEを加える。こうしてすべてのxj∈Xを訪問すると、処理はステップ804に戻る。図9は、図7に示すグループ化されたドメインデータに対して、→→→→→と順次図8のフローチャートの処理を適用した様子を示す図である。この処理の結果、公開データMは、下記のようになる。MEEEEEEEEEEEEC0FC1FC2FC3FC4F次に図10のフローチャートを参照して、リンク設定ツール420の処理を説明する。この処理の入力は、暗号化された公開ドメインデータM1Mnである。リンク設定ツール420は、ステップ1002で、サブルーチンdecryptDDを呼び出して、Miを復号する。ステップ1004ではすべてのMiを処理したかどうか判断され、そうでないならステップ1002に戻る。こうして、すべてのMiが復号されると処理はステップ1006に進み、そこでリンク設定ツール420は、コンピュータ418のオペレータであるリンク設定者に、リンクLを入力させる。ここで、liは名前、siはリンク元ノードdiはリンク先ノードである。リンク設定ツール420は次にステップ1008で、復号によって得た各ドメインデータ木Tiに対して、グループに対応するテーブルを頂点とする木Liを生成する。リンク設定ツール420は次にステップ1010で、siが属するグループに対するテーブルにエントリlisioutを加える。リンク設定ツール420は次にステップ1012で、diが属するグループに対するテーブルにエントリlidiinを加える。リンク設定ツール420はステップ1014で、すべての∈Lを処理したかどうかを判断し、そうでないならステップ1010に戻る。そしてすべての∈Lを処理すると、リンク設定ツール420は、ステップ1016でサブルーチンpropagateを呼び出して、propagateを実行し、続いてステップ1018でサブルーチンencryptを呼び出して、encryptを実行する。リンク設定ツール420は、ステップ1020で、すべてのLiを処理したかどうか判断し、そうでなければステップ1016に戻る。こうして、ステップ1020で、すべてのLiを処理したと判断すると、処理を終わる。図11は、公開データMを入力とするサブルーチンdecryptDDの処理のフローチャートを示す図である。サブルーチンdecryptDDは、ステップ1102でMを秘密鍵Krで復号し、グループの共通鍵Ktiを得る。サブルーチンdecryptDDは、ステップ1104で、MをKtiで復号し、グループGiを得る。サブルーチンdecryptDDはステップ1106で、すべてのKtiを適用したかどうか判断し、そうでなければステップ1104に戻る。そして、すべてのKtiを適用したと判断すると、すべてのノードCiをGiで置き換えて、処理を終わって、呼び出し側に戻る。図12は、リンクテーブルの木Lを入力とするサブルーチンpropagateの処理のフローチャートを示す図である。ステップ1202で、サブルーチンpropagateは、Lの訪問していないノードからなる部分木の葉ノードTiを選択する。ステップ1204では、サブルーチンpropagateは、Tiが親ノードをもつかどうか判断し、もしそうなら、ステップ1206で、Tiのテーブルのすべてのエントリljnjioiに対して、njを親ノードのグループに属する要素に書き換えて、Tiの親ノードのテーブルに複写する。そうでないなら、ステップ1206はスキップされる。ステップ1208では、サブルーチンpropagateは、すべてのTiを訪問したかどうか判断し、もしそうなら処理は終わって、呼び出し側に戻る。そうでなければ、ステップ1202に戻る。図13は、リンクテーブルの木Lを入力とするサブルーチンencryptの処理のフローチャートを示す図である。ステップ1302では、サブルーチンencryptは、LのノードTiを一つ選択する。ステップ1304では、サブルーチンencryptは、Tiに対応するグループGiを復号するときに使った共通鍵KtiでTiを暗号化し、一時データSにCiFを加える。ステップ1306では、サブルーチンencryptは、すべてのTiを訪問したかどうかを判断し、そうでないならステップ1302に戻る。こうしてすべてのTiを訪問すると、サブルーチンencryptは、ステップ1308でLのための共通鍵Ktを生成する。これは好適には、認証局402から受け取る。次にサブルーチンencryptは、ステップ1310で公開データNにFを加える。そして次のステップ1312では、サブルーチンencryptは、Lの開示先xj∈Xをひとつ選択し、ステップ1314で公開データNにEを加える。次にサブルーチンencryptは、ステップ1316で、すべてのxj∈Xを訪問したかどうか判断し、もしそうなら処理は終わって、呼び出し側に戻る。そうでなければ、ステップ1312に戻る。図14は、リンク設定ツール420の処理の例を示す図である。図14では、リンク設定ツール420は、Mを秘密鍵KrCで復号して、共通鍵Kt1、Kt2、Kt3、Kt4を得る。そして、名前Ciを、復号したデータGiで置き換える。このとき、リンク設定ツール420は、Kt0を得られず、iを得られないことに留意されたい。図14では、リンク設定ツール420は、データにリンクを付加する。図14では、リンク設定ツール420は、リンクに基づいて、グループGi毎にリンク名端点名入出別からなるテーブルTiを生成する。図14では、リンク設定ツール420は、テーブルTiの各レコードを親に向かって伝播する。このとき端点名を、Giが属する要素に置き換える。次に、リンク設定ツール420は、初期ステップで得た共通鍵Ktiを使って、Tiこの例では、i14を暗号化して、下記を得る。C1FC2FC3FC4F次に、上記全体を共通鍵Ktで暗号化する。さらにリンクの開示先X∈ABの公開鍵KuXで共通鍵Ktを暗号化したEを付加して、下記のとおり、公開データとする。NEEFC2FC3FC4F次に図15のフローチャートを参照して、参照ツール426aの処理について説明する。この処理の入力は、公開ドメインデータM1Mnと、公開ドメインデータN1Nnである。ステップ1502で、参照ツール426aは、サブルーチンdecryptDDを呼び出して、その結果をTiとする。サブルーチンdecryptDDについては、図11を参照して既に説明済みである。参照ツール426aは、ステップ1504で、サブルーチンdecryptLTを呼び出して、その結果をLiとする。サブルーチンdecryptLTについては、図16のフローチャートを参照して後で説明する。次に参照ツール426aは、ステップ1506で、サブルーチンresolveを実行する。サブルーチンresolveについては、図17のフローチャートを参照して後で説明する。次に参照ツール426aは、ステップ1508で、すべてのMiNiを処理したかどうかを判断し、ステップ1502に戻る。参照ツール426aは、ステップ1508で、すべてのMiNiを処理したと判断すると、ステップ1510で、あるリンクテーブルの木に含まれるあるテーブルのひとつのエントリlsoutを選択する。次にステップ1512で、参照ツール426aは、すべてのリンクテーブルの木に含まれるすべてのテーブルからldinを検索する。次にステップ1514で、参照ツール426aは、LL∪によりLに要素を追加する。次のステップ1516で参照ツール426aは、すべてのエントリlsoutを訪問したかどうかを判断し、もしそうなら処理を終わり、そうでないなら処理はステップ1510に戻る。この処理の結果出力されるのは、ドメインデータ木T1Tnと、リンクLである。次に図16のフローチャートを参照して、サブルーチンdecryptLTの処理を説明する。ここでNは公開データであり、Tはドメインデータ木である。ステップ1602では、サブルーチンdecryptLTは、Nを秘密鍵Krで復号し、Nの共通鍵Ktを得る。ステップ1604では、サブルーチンdecryptLTは、さらにNを共通鍵Ktiで復号し、テーブルTiを得る。ステップ1606では、サブルーチンdecryptLTは、TのすべてのノードCiをTiで置き換えたリンクテーブルの木Lを生成して処理を終わり、戻る。次に図17のフローチャートを参照して、サブルーチンresolveの処理を説明する。ここでLは、リンクテーブルの木である。サブルーチンresolveは、ステップ1702で、Lの訪問していないノードからなる部分木の葉ノードTiを選択する。ステップ1704で、サブルーチンresolveは、Tiが親ノードを持つかどうか判断し、もしそうならステップ1706で、Tiのテーブルのすべてのエントリljhjiojに対して、親を含む先祖ノードのテーブルにエントリljanyiojがもしあれば消去する。ステップ1704でTiが親ノードを持たないと判断したなら、ステップ1706は単にスキップする。次にステップ1708では、サブルーチンresolveは、すべてのTiを訪問したかどうか判断し、もしそうなら処理を終えて戻り、そうでなければサブルーチンresolveは、ステップ1702に戻る。図18は、参照ツール426aの動作の例を示す図である。図18に進む前に、参照ツール426aは、受け取ったMとNを秘密鍵KrAで復号して共通鍵Kt2Kt3Kt4Ktを得る。このとき、この参照ツール426aのオペレータはKt1を復号できず、e、fは得られない。得られた共通鍵でMとNを復号することにより、図18に示す木とテーブルが得られる。そこでTiの各レコードを子に向かって伝播し、リンク名が同じものは子のレコードで置き換える。これによって図18に示す木とテーブルが得られる。そして参照ツール426aは、図18に示すように、2つの木から参照用のビューを生成する。ドメインデータ所有者とリンク設定者は、一般にそれぞれ複数存在する。Mと対応するNの組み合わせ数だけ、これを繰り返す。上記実施例では、ドメインデータ所有者のコンピュータ装置、リンク設定者のコンピュータ装置、及びデータ参照者のコンピュータ装置が別個である例を示したが、ドメインデータ所有者のコンピュータ装置、リンク設定者のコンピュータ装置、及びデータ参照者のコンピュータ装置のうちの2者、あるいは3者が重なっていてもアルゴリズムは動作する。特に、ドメインデータ所有者とリンク設定者を同一とすることで、階層だけで表現できないグラフ構造をドメインデータとして扱うことができるようになる。以上のように、特定の実施例に従い、本発明を説明してきたが、本発明は、特定のオペレーティングシステムやプラットフォームに限定されず、任意のコンピュータシステム上で実現可能である。また、本発明は、特定のドメインやツールに限定されることなく、一般的に適用可能である。