(57)【要約】【課題】大量のデータに対する検索を高速化する。【解決手段】データアクセスサーバプログラム５０は、論理ボリュームの内、キャッシュしておくと、検索の高速化に役立つと予想される情報の一部を、データアクセスサーバ５のメモリ領域上に、論理ボリュームそれぞれに対応して設けられた論理ボリュームのキャッシュ領域に記憶する。これらのキャッシュ領域の記憶容量は、検索の特性によって変更される。例えば、ある論理ボリュームｉに関する検索が多く発生したときには、そのキャッシュ領域ｉの記憶容量は増やされ、反対に、ある論理ボリュームｊに関する検索の発生が少ないときには、そのキャッシュ領域ｊの記憶容量は減らされるといったように、キャッシュ領域の記憶容量が、動的に制御され、さらに、これらのキャッシュ領域には、論理ボリュームに含まれるデータの内、互いに関連が大きい部分が、選択的に記憶される。【選択図】図５６
2008181457.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ、複数の単位情報が組み合わされて構成され、検索の対象とされる複数の検索対象情報に対する検索を行う検索システムであって、
検索装置と、
所定の記憶容量を有し、前記複数の検索対象情報の全てを記憶し、前記検索装置からの前記検索対象情報の単位情報を示す要求に応じて、この要求が示す前記検索対象情報の単位情報を、所定のデータ転送速度で読み出して、前記検索装置に返す記憶装置と
を有し、
前記検索装置は、
前記複数の検索対象情報に対応する複数の対象記憶容量を含むキャッシュ手段であって、前記複数の対象記憶容量それぞれに、前記複数の検索対象情報に含まれる単位情報の少なくとも一部それぞれを、前記複数の対象記憶容量それぞれの大きさに応じた量ずつキャッシュし、前記キャッシュした単位情報を、外部からの要求に応じて、前記記憶装置のデータ転送速度よりも速いデータ転送速度で出力するキャッシュ手段と、
前記複数の検索対象情報それぞれに対する検索の特性に基づいて、前記キャッシュ手段に含まれる複数の対象記憶容量それぞれの大きさを制御する容量制御手段と、
外部から受け入れた検索要求に対応する単位情報が、前記キャッシュ手段にキャッシュされているときには、この単位情報を、前記キャッシュ手段に要求して読み出し、これ以外のときには、この単位情報を、前記記憶装置に要求して読み出して、検索要求元に返す検索手段と
を有する検索システム。
【請求項２】
前記複数の単位情報同士の間それぞれに、関係の強さを定義して、これらの単位情報を組み合わせて、前記複数の検索対象情報それぞれを作成する情報作成装置
をさらに有し、
前記検索装置は、
前記複数の検索対象情報に含まれる単位情報同士の間に定義された関係の強さに基づいて、前記単位情報を前記キャッシュ手段にキャッシュさせるように、前記キャッシュ手段を制御するキャッシュ制御手段
をさらに有する
請求項１に記載の検索システム。
【請求項３】
前記情報作成装置は、
前記複数の単位情報に含まれる２つの単位情報の組み合わせの間の直接の関係を定義する直接関係定義手段と、
前記直接の関係が定義された２つの単位情報の組み合わせを、さらに組み合わせて、前記検索対象情報を作成する情報作成手段と
を有し、
前記検索装置のキャッシュ制御手段は、前記キャッシュ手段の複数の対象記憶容量それぞれに記憶される任意の２つの単位情報の間に、１つ以上の直接の関係が定義されるように、前記単位情報を、前記キャッシュ手段にキャッシュさせる
請求項２に記載の検索システム。
【請求項４】
前記検索装置のキャッシュ制御手段は、前記キャッシュ手段の複数の対象記憶容量それぞれに記憶される任意の２つの単位情報の間に定義される直接の関係の数が最小になるように、前記単位情報を、前記キャッシュ手段にキャッシュさせる
請求項３に記載の検索システム。
【請求項５】
前記キャッシュ制御手段は、前記記憶装置に対する前記単位情報の要求の頻度が最低になるように、前記単位情報を、前記キャッシュ手段にキャッシュさせる
請求項３または４に記載の検索システム。
【請求項６】
前記情報作成装置の情報作成手段は、前記複数の単位情報の全てが、これらの単位情報の間に定義されるコミュニティに属するように組み合わせて、前記検索対象情報を作成する
請求項１〜５のいずれかに記載の検索システム。
【請求項７】
前記記憶装置は、ディスク記憶装置を用いて前記検索対象情報を記憶し、
前記検索装置のキャッシュ手段は、半導体メモリを用いて前記単位情報を記憶する
請求項１〜６のいずれかに記載の検索システム。
【請求項８】
それぞれ、複数の単位情報が組み合わされて構成され、検索の対象とされる複数の検索対象情報に対する検索を行う検索装置であって、前記検索対象情報の全ては、所定の記憶容量を有し、前記検索装置からの前記検索対象情報の単位情報を示す要求に応じて、この要求が示す前記検索対象情報の単位情報を、所定のデータ転送速度で読み出して、前記検索装置に返す記憶装置に記憶され、
前記複数の検索対象情報に対応する複数の対象記憶容量を含むキャッシュ手段であって、前記複数の対象記憶容量それぞれに、前記複数の検索対象情報に含まれる単位情報の少なくとも一部それぞれを、前記複数の対象記憶容量それぞれの大きさに応じた量ずつキャッシュし、前記キャッシュした単位情報を、外部からの要求に応じて、前記記憶装置のデータ転送速度よりも速いデータ転送速度で出力するキャッシュ手段と、
前記複数の検索対象情報それぞれに対する検索の特性に基づいて、前記キャッシュ手段に含まれる複数の対象記憶容量それぞれの大きさを制御する容量制御手段と、
外部から受け入れた検索要求に対応する単位情報が、前記キャッシュ手段にキャッシュされているときには、この単位情報を、前記キャッシュ手段に要求して読み出し、これ以外のときには、この単位情報を、前記記憶装置に要求して読み出して、検索要求元に返す検索手段と
を有する検索装置。
【請求項９】
コンピュータを有し、それぞれ、複数の単位情報が組み合わされて構成され、検索の対象とされる複数の検索対象情報に対する検索を行う検索装置より実行される検索方法であって、前記検索対象情報の全ては、所定の記憶容量を有し、前記検索装置からの前記検索対象情報の単位情報を示す要求に応じて、この要求が示す前記検索対象情報の単位情報を、所定のデータ転送速度で読み出して、前記検索装置に返す記憶装置に記憶され、
前記複数の検索対象情報に対応する複数の対象記憶容量を含むキャッシュに対して、前記複数の対象記憶容量それぞれに、前記複数の検索対象情報に含まれる単位情報の少なくとも一部それぞれを、前記複数の対象記憶容量それぞれの大きさに応じた量ずつキャッシュし、前記キャッシュした単位情報を、外部からの要求に応じて、前記記憶装置のデータ転送速度よりも速いデータ転送速度で出力するキャッシュステップと、
前記複数の検索対象情報それぞれに対する検索の特性に基づいて、前記キャッシュ手段に含まれる複数の対象記憶容量それぞれの大きさを制御する容量制御ステップと、
外部から受け入れた検索要求に対応する単位情報が、前記キャッシュ手段にキャッシュされているときには、この単位情報を、前記キャッシュ手段に要求して読み出し、これ以外のときには、この単位情報を、前記記憶装置に要求して読み出して、検索要求元に返す検索ステップと
を、前記コンピュータに実行させる検索方法。
【請求項１０】
コンピュータを有し、それぞれ、複数の単位情報が組み合わされて構成され、検索の対象とされる複数の検索対象情報に対する検索を行う検索装置より実行されるプログラムであって、前記検索対象情報の全ては、所定の記憶容量を有し、前記検索装置からの前記検索対象情報の単位情報を示す要求に応じて、この要求が示す前記検索対象情報の単位情報を、所定のデータ転送速度で読み出して、前記検索装置に返す記憶装置に記憶され、
前記複数の検索対象情報に対応する複数の対象記憶容量を含むキャッシュに対して、前記複数の対象記憶容量それぞれに、前記複数の検索対象情報に含まれる単位情報の少なくとも一部それぞれを、前記複数の対象記憶容量それぞれの大きさに応じた量ずつキャッシュし、前記キャッシュした単位情報を、外部からの要求に応じて、前記記憶装置のデータ転送速度よりも速いデータ転送速度で出力するキャッシュステップと、
前記複数の検索対象情報それぞれに対する検索の特性に基づいて、前記キャッシュ手段に含まれる複数の対象記憶容量それぞれの大きさを制御する容量制御ステップと、
外部から受け入れた検索要求に対応する単位情報が、前記キャッシュ手段にキャッシュされているときには、この単位情報を、前記キャッシュ手段に要求して読み出し、これ以外のときには、この単位情報を、前記記憶装置に要求して読み出して、検索要求元に返す検索ステップと
を、前記コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の単位情報が組み合わされて構成され、検索の対象とされる複数の検索対象情報に対する検索を行う検索システムおよびその方法に関する。
【背景技術】
【０００２】
例えば、特許文献１は、複数の情報ノード間の関連を定義したデータベースを開示する。
このデータベースにおいては、直接に関連する２つの情報ノードの間に直接的な関連が役割として定義され、相互に何らかの関連を有する複数の情報ノードは、このように直接的に関連する２つの情報ノードの連鎖として把握されうる。
このデータベースにおいては、複数の情報ノード同士の関連の度合いは、情報ノード間に定義された直接的な関連の数に基づいて判定されうる。
つまり、例えば、任意の２つの情報ノードの間に定義される関連の数が少なければ少ないほど、これら２つの情報ノードの間の関連は密であると把握され得る。
逆に、任意の２つの情報ノードの間に定義される関連の数が多ければ多いほど、これら２つの情報ノードの間の関連は疎であると把握され得る。
【特許文献１】特開２００６−１２００５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、上述した背景技術を前提としてなされ、情報ノード間に定義される関連に基づいて、任意の情報ノード間で把握されうる関連の度合いを利用して、高速に情報の検索を行うことができるように改良された検索システムおよびその方法を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するために、本発明にかかる検索システムは、それぞれ、複数の単位情報が組み合わされて構成され、検索の対象とされる複数の検索対象情報に対する検索を行う検索システムであって、検索装置と、所定の記憶容量を有し、前記複数の検索対象情報の全てを記憶し、前記検索装置からの前記検索対象情報の単位情報を示す要求に応じて、この要求が示す前記検索対象情報の単位情報を、所定のデータ転送速度で読み出して、前記検索装置に返す記憶装置とを有し、前記検索装置は、前記複数の検索対象情報に対応する複数の対象記憶容量を含むキャッシュ手段であって、前記複数の対象記憶容量それぞれに、前記複数の検索対象情報に含まれる単位情報の少なくとも一部それぞれを、前記複数の対象記憶容量それぞれの大きさに応じた量ずつキャッシュし、前記キャッシュした単位情報を、外部からの要求に応じて、前記記憶装置のデータ転送速度よりも速いデータ転送速度で出力するキャッシュ手段と、前記複数の検索対象情報それぞれに対する検索の特性に基づいて、前記キャッシュ手段に含まれる複数の対象記憶容量それぞれの大きさを制御する容量制御手段と、外部から受け入れた検索要求に対応する単位情報が、前記キャッシュ手段にキャッシュされているときには、この単位情報を、前記キャッシュ手段に要求して読み出し、これ以外のときには、この単位情報を、前記記憶装置に要求して読み出して、検索要求元に返す検索手段とを有する。
【０００５】
好適には、前記複数の単位情報同士の間それぞれに、関係の強さを定義して、これらの単位情報を組み合わせて、前記複数の検索対象情報それぞれを作成する情報作成装置をさらに有し、前記検索装置は、前記複数の検索対象情報に含まれる単位情報同士の間に定義された関係の強さに基づいて、前記単位情報を前記キャッシュ手段にキャッシュさせるように、前記キャッシュ手段を制御するキャッシュ制御手段をさらに有する。
【０００６】
好適には、前記情報作成装置は、前記複数の単位情報に含まれる２つの単位情報の組み合わせの間の直接の関係を定義する直接関係定義手段と、前記直接の関係が定義された２つの単位情報の組み合わせを、さらに組み合わせて、前記検索対象情報を作成する情報作成手段とを有し、前記検索装置のキャッシュ制御手段は、前記キャッシュ手段の複数の対象記憶容量それぞれに記憶される任意の２つの単位情報の間に、１つ以上の直接の関係が定義されるように、前記単位情報を、前記キャッシュ手段にキャッシュさせる。
【０００７】
好適には、前記検索装置のキャッシュ制御手段は、前記キャッシュ手段の複数の対象記憶容量それぞれに記憶される任意の２つの単位情報の間に定義される直接の関係の数が最小になるように、前記単位情報を、前記キャッシュ手段にキャッシュさせる。
【０００８】
好適には、前記キャッシュ制御手段は、前記記憶装置に対する前記単位情報の要求の頻度が最低になるように、前記単位情報を、前記キャッシュ手段にキャッシュさせる。
【０００９】
好適には、前記情報作成装置の情報作成手段は、前記複数の単位情報の全てが、これらの単位情報の間に定義されるコミュニティに属するように組み合わせて、前記検索対象情報を作成する。
【００１０】
好適には、前記記憶装置は、ディスク記憶装置を用いて前記検索対象情報を記憶し、前記検索装置のキャッシュ手段は、半導体メモリを用いて前記単位情報を記憶する。
【００１１】
また、本発明にかかる検索装置は、それぞれ、複数の単位情報が組み合わされて構成され、検索の対象とされる複数の検索対象情報に対する検索を行う検索装置であって、前記検索対象情報の全ては、所定の記憶容量を有し、前記検索装置からの前記検索対象情報の単位情報を示す要求に応じて、この要求が示す前記検索対象情報の単位情報を、所定のデータ転送速度で読み出して、前記検索装置に返す記憶装置に記憶され、前記複数の検索対象情報に対応する複数の対象記憶容量を含むキャッシュ手段であって、前記複数の対象記憶容量それぞれに、前記複数の検索対象情報に含まれる単位情報の少なくとも一部それぞれを、前記複数の対象記憶容量それぞれの大きさに応じた量ずつキャッシュし、前記キャッシュした単位情報を、外部からの要求に応じて、前記記憶装置のデータ転送速度よりも速いデータ転送速度で出力するキャッシュ手段と、前記複数の検索対象情報それぞれに対する検索の特性に基づいて、前記キャッシュ手段に含まれる複数の対象記憶容量それぞれの大きさを制御する容量制御手段と、外部から受け入れた検索要求に対応する単位情報が、前記キャッシュ手段にキャッシュされているときには、この単位情報を、前記キャッシュ手段に要求して読み出し、これ以外のときには、この単位情報を、前記記憶装置に要求して読み出して、検索要求元に返す検索手段とを有する。
【００１２】
また、本発明にかかる検索方法は、コンピュータを有し、それぞれ、複数の単位情報が組み合わされて構成され、検索の対象とされる複数の検索対象情報に対する検索を行う検索装置より実行される検索方法であって、前記検索対象情報の全ては、所定の記憶容量を有し、前記検索装置からの前記検索対象情報の単位情報を示す要求に応じて、この要求が示す前記検索対象情報の単位情報を、所定のデータ転送速度で読み出して、前記検索装置に返す記憶装置に記憶され、前記複数の検索対象情報に対応する複数の対象記憶容量を含むキャッシュに対して、前記複数の対象記憶容量それぞれに、前記複数の検索対象情報に含まれる単位情報の少なくとも一部それぞれを、前記複数の対象記憶容量それぞれの大きさに応じた量ずつキャッシュし、前記キャッシュした単位情報を、外部からの要求に応じて、前記記憶装置のデータ転送速度よりも速いデータ転送速度で出力するキャッシュステップと、前記複数の検索対象情報それぞれに対する検索の特性に基づいて、前記キャッシュ手段に含まれる複数の対象記憶容量それぞれの大きさを制御する容量制御ステップと、外部から受け入れた検索要求に対応する単位情報が、前記キャッシュ手段にキャッシュされているときには、この単位情報を、前記キャッシュ手段に要求して読み出し、これ以外のときには、この単位情報を、前記記憶装置に要求して読み出して、検索要求元に返す検索ステップとを、前記コンピュータに実行させる。
【００１３】
また、本発明にかかるプログラムは、コンピュータを有し、それぞれ、複数の単位情報が組み合わされて構成され、検索の対象とされる複数の検索対象情報に対する検索を行う検索装置より実行されるプログラムであって、前記検索対象情報の全ては、所定の記憶容量を有し、前記検索装置からの前記検索対象情報の単位情報を示す要求に応じて、この要求が示す前記検索対象情報の単位情報を、所定のデータ転送速度で読み出して、前記検索装置に返す記憶装置に記憶され、前記複数の検索対象情報に対応する複数の対象記憶容量を含むキャッシュに対して、前記複数の対象記憶容量それぞれに、前記複数の検索対象情報に含まれる単位情報の少なくとも一部それぞれを、前記複数の対象記憶容量それぞれの大きさに応じた量ずつキャッシュし、前記キャッシュした単位情報を、外部からの要求に応じて、前記記憶装置のデータ転送速度よりも速いデータ転送速度で出力するキャッシュステップと、前記複数の検索対象情報それぞれに対する検索の特性に基づいて、前記キャッシュ手段に含まれる複数の対象記憶容量それぞれの大きさを制御する容量制御ステップと、外部から受け入れた検索要求に対応する単位情報が、前記キャッシュ手段にキャッシュされているときには、この単位情報を、前記キャッシュ手段に要求して読み出し、これ以外のときには、この単位情報を、前記記憶装置に要求して読み出して、検索要求元に返す検索ステップとを、前記コンピュータに実行させる。
【発明の効果】
【００１４】
本発明にかかる検索システムおよびその方法によれば、情報ノード間に定義される関連に基づいて、任意の情報ノード間で把握されうる関連の度合いを利用して、高速に情報の検索を行うことができる。
【発明を実施するための最良の形態】
【００１５】
［コミュニティ情報検索システム１］
図１は、本発明にかかるコミュニティ情報検索システム１の構成を例示する図である。
図１に示すように、本発明にかかるコミュニティ情報検索システム１は、企業サーバ１０２−１〜１０２−ｎ、管理ＰＣ１０４、プロファイル仕様管理装置１２、外部プロファイル管理装置１４−１〜１４−ｎ、外部プロファイル情報格納装置１５−１〜１５−ｎ、ポリシサーバ１６−１〜１６−ｎ、サービス実行装置１８−１〜１８−ｎ、ユーザ＃１〜＃ｎが用いるクライアントＰＣ２−１〜２−ｎ、データアクセス装置３−１〜３−ｎ、データアクセスサーバ５、コミュニティ関連データ管理装置７および識別子管理装置８が、インターネットあるいはＬＡＮ(Local Area Network)などのネットワーク１００を介して、互いに通信可能に接続されて構成される。
【００１６】
コミュニティ情報検索システム１は、これらの構成部分により、ユーザが形成するコミュニティを示すデータ（コミュニティ情報）を作成し、記憶し、ユーザあるいはアプリケーション（プログラム）の要求に応じて、記憶したコミュニティ情報の検索を行い、検索結果を返す。
コミュニティ情報検索システム１においては、コミュニティ関連データ管理装置７が、データアクセスサーバ５によるコミュニティ情報のメモリ領域へのキャッシュのために用いられる各種テーブル（関連性役割（ＡＲ(Association Role)）テーブル，Ｔノード用識別子（ＩＤ(Identifier)）テーブル，Ａノード用識別子（ＩＤ）テーブル；図１４〜図１６）を作成する。
また、データアクセス装置３−１〜３−ｎおよび外部プロファイル情報管理装置１４−１〜１４−ｎが、コミュニティ情報を、複数の種類のプロファイル情報として分散して記憶し、管理する。
また、プロファイル仕様情報管理装置１２が、コミュニティ情報（プロファイル情報）に関する情報（プロファイル仕様情報）を記憶し、管理する。
【００１７】
なお、図１および以下の各図において、ｎは１以上の整数であって、全てのｎが同じ数であるとは限らない。
また、企業サーバ１０２−１〜１０２−ｎなど、複数あり得る構成部分のいずれかを特定せずに示すときには、単に企業サーバ１０２と記すことがある。
また、図１および以下の各図において、企業サーバ１０２、プロファイル仕様管理装置１２およびクライアントＰＣ２など、通信および情報処理の主体となりうる構成部分を、クラスタノードと総称することがある。
また、コミュニティ情報検索システム１においては、任意の２つ以上のクラスタノードは、機能などに矛盾が生じない限り、適宜、一体に構成されうる。
また、以下の各図において、実質的に同じ構成部分・処理には、同じ符号が付される。
【００１８】
図２は、図１に示したクライアントＰＣ２などの各クラスタノードのハードウエア構成を例示する図である。
図２に示すように、コミュニティ情報検索システム１の各クラスタノードは、ＣＰＵ１１２およびメモリ（メモリ領域）１１４などを含むクラスタノード本体１１０、表示装置およびキーボードなどを含む入出力装置１１６、記録装置１１８、および、他のクラスタノードとの間の通信のために用いられる通信装置１２２から構成される。
つまり、コミュニティ情報検索システム１の各クラスタノードは、他のクラスタノードとの通信が可能なコンピュータとしてのハードウエア構成部分を含んでいる。
コミュニティ情報検索システム１の各クラスタノードには、ＯＳ（図示せず）がインストールされて実行される。
各クラスタノードにインストールされた様々なプログラムは、ＯＳを介して、各クラスタノードのハードウエアを具体的に利用して実行される。
【００１９】
なお、メモリ１１４は、半導体メモリ（ＲＯＭ，ＲＡＭなど）から構成される。
また、記録装置１１８は、例えば、ＣＤ装置、ＤＶＤ装置およびＨＤＤ装置などのディスク記録装置であって、ＣＤ，ＤＶＤ，ＨＤおよびＦＤなどの記録媒体１２０に対するデータの記録および再生を行う。
一般的に、メモリ１１４の記憶容量は、記録装置１１８の記憶容量よりも少ない。
一方、一般的に、ＣＰＵ１１２とメモリ１１４との間で転送されるデータのデータ転送速度は、ＣＰＵ１１２と記録装置１１８との間で転送されるデータのデータ転送速度よりも高い。
【００２０】
［コミュニティ］
コミュニティ情報検索システム１の詳細を説明する前に、まず、その理解のために、コミュニティを説明する。
図３は、図１に示したコミュニティ情報検索システム１により検索の対象となるコミュニティ情報により示されるコミュニティを例示する第１の図である。
例えば、図１に示した企業サーバ１０２−１が、コミュニティ情報検索システム１のユーザの内、企業・出版社Ｘが出版するゲーム雑誌Ａの定期購読者を管理するときには、図３に示すように、ゲーム雑誌Ａの定期購読者＃１〜＃ｎは、１つのコミュニティ（ゲーム雑誌Ａ定期購読者コミュニティ）を形成する。
【００２１】
図４は、図１に示したコミュニティ情報検索システム１により検索の対象となるコミュニティ情報により示されるコミュニティを例示する第２の図であって、（Ａ）は、図３に示したコミュニティが形成される前のコミュニティ情報検索システム１のユーザの状態を示し、（Ｂ）は、図３に示したコミュニティの形成を示し、（Ｃ）は、図３に示したコミュニティの派生を示す。
図４（Ａ）に示すように、出版社Ｘがゲーム雑誌Ａの定期購読者の管理を企業サーバ１０２により行う以前には、少なくとも出版社Ｘのゲーム雑誌Ａの定期購読者に関するコミュニティは、形成されていない。
つまり、コミュニティ情報検索システム１において、ユーザは、出版社Ｘのゲーム雑誌Ａの定期購読について、ユーザは、何らの関連も有していない状態にある。
【００２２】
次に、図３および図４（Ｂ）に示すように、コミュニティ情報検索システム１のユーザの一部が、出版社Ｘのゲーム雑誌Ａの定期購読者＃１〜＃ｎとなり、出版社Ｘが、定期購読者の管理を、その企業サーバ１０２により行うと、コミュニティ情報検索システム１において、出版社Ｘのゲーム雑誌Ａの定期購読者に関するコミュニティが形成される。
さらに、図４（Ｃ）に示すように、ゲームメーカーＹが、ゲーム雑誌Ａの定期購読者のコミュニティに、オンラインゲームＢの広告メッセージを出す。
この広告に応じて、ゲーム雑誌Ａの定期購読者の一部が、オンラインゲームの参加者＃１〜＃ｎとなり、ゲームメーカーＹが、その企業サーバ１０２により参加者の管理を行うと、オンラインゲームＢの参加者のコミュニティが、出版社Ｘのゲーム雑誌Ａの定期購読者のコミュニティから派生する。
【００２３】
なお、ゲーム雑誌Ａの休刊、あるいは、オンラインゲームＢのサービス終了により、ゲーム雑誌Ａの定期購読者のコミュニティ、あるいは、オンラインゲームＢの参加者のコミュニティは消滅し、ゲーム雑誌Ａの定期購読あるいはオンラインゲームＢへの参加について、コミュニティ情報検索システム１のユーザは、図４（Ａ）に示したような互いに無関係な状態に戻る。
つまり、図４（Ａ）〜（Ｃ）に示すように、コミュニティ情報検索システム１においては、様々なコミュニティが、形成され、変化し、他のコミュニティから派生し、さらに、消滅する。
【００２４】
図５は、図１に示したコミュニティ情報検索システム１により検索の対象となるコミュニティ情報により示されるコミュニティを例示する第３の図である。
図５に示すように、コミュニティ情報検索システム１の各ユーザは、図３および図４（Ｂ）に示したゲーム雑誌Ａの定期購読者のコミュニティ、図４（Ｃ）に示したオンラインゲームＢの参加者のコミュニティ、および、その他の雑誌Ｃの購読者のコミュニティに対して、任意に加入しうるので、コミュニティ情報検索システム１におけるコミュニティには、そのメンバーに重複が生じうる。
【００２５】
［データ間の関連］
さらに、コミュニティ情報検索システム１において定義されるデータ間の関連を説明する。
様々な要素を含むデータを、効率的に収集し、それらのデータを記憶することが行われている。
記憶されたデータから、必要に応じてデータを読み出しこれらのデータを正確に再現することが望まれている。
一般に、直積集合Ａ×Ｂの部分集合Ｒ⊆Ａ×Ｂにおいて、順序対（ａ，ｂ）∈Ｒに対して、ａＲｂと表記すると、これは「ａはｂと関係Ｒを有する」ことを意味する。
簡単なデータの一例として、「作家シェークスピアは戯曲ハムレットを書いた。」を例にとる。
【００２６】
これらのデータは２項関係にあるので、「作家シェークスピア」＝ａ、Ｒ＝作者−作品、ｂ＝「戯曲ハムレット」と置くことにより、「作家シェークスピアは戯曲ハムレットを書いた。」なるデータが、「ａＲｂ」と表記される。
これらのデータは、データベースに記憶する際に、「ａ」、「Ｒ」及び「ｂ」として記憶され、データを読み出す場合にも一意に再現できる。
しかし、データの構成要素数が増えた場合は、すなわち２項関係ではなくｎ項関係になる場合には、これら関連性をもつ一連のデータはハイパーグラフ構造として表現され、処理は簡単ではない。
このため、一般にはｎ項関係を２項関係に分割して、それらの組合せとして表現し、データベースに記憶する手法がとられる。
【００２７】
第１の例として「作家シェークスピアは戯曲ハムレットを英国で1600年頃書いた。」を例にとって説明する。
この例は４項関係を表したものであるが、２項関係に展開すると、4Ｃ2＝６であるので表１に示すように６つの２項関係の組合せとして表現される。
【００２８】
【表１】
2008181457.tif 000003
【００２９】
すなわち、ｎが大きくなると、ｎ項関係を表現するためにnＣ2なる数の２項関係の表現が必要となってしまう。
【００３０】
さらに、第２の例として「作家シェークスピアは戯曲十二夜を1600年頃書いた。」を例として取り２項関係の組合せで表現すると、３項関係すなわちｎ＝３であるので、3Ｃ2＝３となり、表２に示すようになる。
【００３１】
【表２】
2008181457.tif 000004
【００３２】
ここで、第１の例の情報と第２の例の情報とが同じデータベースに記憶されている場合、「作家シェークスピア」−「作者−創作年代」−「1600年頃」からなる同一の２項関係が記憶されるという問題が起こる。
また、上記第１及び第２の例として示された２項関係のうち、どれを組み合わせて元の情報を再現すればよいか判断できないという問題も生じる。
これらは２項関係毎に識別子を付ければ解消される問題であるが、データ構造や処理が煩雑になるという欠点がある。
【００３３】
２項以上のデータ構成要素を有するデータを記憶する方法としては、リレーショナル・データベースによる記憶方法が知られている。
これは、データ項目名（データ属性）が列に割り当てられたテーブルを定義・作成し、具体的なデータをテーブルの行に順次入力していくものである。
【００３４】
「作家シェークスピアは戯曲ハムレットを英国で1600年頃書いた。」を例にとって説明する。
データ項目名としては、（１）「誰が」、（２）「何を」、（３）「何時」、（４）「どこで」、（５）「何故」、（６）「どのように」を指定することができる。
そしてこれらのデータ項目に対応して、（１）「作家シェークスピア」、（２）「戯曲ハムレット」、（３）「1600年頃」、（４）「英国」、（５）「（ブランク）」、（６）「書いた」のデータを記憶することができる。
【００３５】
しかしながら、この方法では、次のような問題が生じる。
（１）データ項目名を、取得したデータに合わせて、後から追加することが簡単にはできない。定型の構成要素からなるデータの場合には、問題にはならないが、様々な構成要素を含むデータを入力する場合には、構成要素が増加するたびに、データ項目名を追加するためのスキーマの変更が必要となる。スキーマの変更はオンラインでデータの入力時には一般に困難である。
（２）後から追加することが簡単にはできないために、最初のデータベース構築時に、最大限のデータ項目数を挙げて、スキーマを構築することが考えられる。しかし入力する可能性の低いデータに対しても、データ項目としてスキーマを構築することは、メモリの使用効率が低くならざるを得ない。
【００３６】
このような問題を解決するために、従来の関係データモデルに代わるモデルとして、英国「Lazy Software」社による「Associative Model of Data（データ関連モデル）」法によるデータ記憶方法が提案されている。
このデータモデルでは情報を事物と事物間の関連性と見なし、この関連性を「Source-Verb-Target」構文で表現している。
これによれば、上記のリレーショナル・データベースによる記憶方法で生じる問題の幾つかは解消される。
しかし、複雑なデータ関係を取扱う場合には、データ間の関係の表現方法が、複雑となり直感的でないこと、及び２分木的な形式を用いてｎ項関係を表現するため表現が一意に定まらず、データベースにデータを記憶する際に、作業者の任意にデータの構造を変えることができるために、データをデータベースから読取り再現する場合に、正確に入力情報を再現できない場合が発生するという問題がある。
【００３７】
上記のように、従来、相互に関係のある複数のデータを記憶する方法としては、リレーショナル・データベースが知られていた。
これは、記憶しようとするデータ項目を予め定めておき、データ項目に該当するデータを記憶するものである。
データの関係が見易いという利点はあるもの、一旦構成されたデータベースのデータ項目を追加すること、すなわち、一旦構成されたデータベースの構造（スキーマ）を変更することは簡単ではない。
また後から追加したデータ項目に対応するデータは、従前から記憶されているデータに対して、空白エリアが生じメモリの使用効率が悪くなるという問題が生じている。
これに対して、Lazy Software社が提唱しているデータ関連モデルでは、データ項目数を追加する場合の困難さ、及びメモリの使用効率の低下といった問題は解決されるものの、データの記述内容が複雑になりデータ構造を見ても直感的ではなく、データの表記・記憶方法が一意的でないといった別の問題が生じる。
【００３８】
コミュニティ情報検索システム１では、見出ノード群と各ノード間の関連性を示すエッジ群から構成される関連性ネットワーク型データに対して、関連性（エッジ）を新たに関連ノード（以下、本願明細書では「Ａノード」と呼ぶ。）とし、当該Ａノードと関連性のある見出ノード（以下、本願明細書では「Ｔノード」と呼ぶ。）がその関連において果たす役割（以下、本願明細書では「関連性役割」と呼ぶ。）を属性とするエッジから成るデータモデルを定義する（図６）。
このモデルに従って変換されたデータ構造から、１つのＡノードとＴノード、及びその間の関連性役割を基本構成要素として抽出し、これらを表３に示すようにリレーショナル・データベースにおいて定義される関連性役割テーブル（以下、本願明細書では「ＡＲテーブル」と呼ぶ。）の行（レコード）に対応付け、リレーショナル・データベース管理システムにより記憶・管理する方法を実現する。
【００３９】
【表３】
2008181457.tif 000005
【００４０】
これにより、あるデータ（見出ノード）に関する新たな属性情報を別の関連性データとして定義し、それに対応するＡノード、Ｔノード及びノード間のエッジの組合せ（データモデルにおける基本構成要素）を用いてＡＲテーブルの行に対応付けられるデータとして表現すれば、既存のテーブル構造（データベース・スキーマ）を変更することなく新たな属性情報の追加が可能となる。
さらに、Ａノード及びＴノードにそれぞれ一意に同定できる識別子を付与し、各識別子に対して、ノードの属性型を表わすノードタイプと、属性値すなわちノードの具体的な内容を表わすノード名を有する識別子テーブル（以下、本願明細書では「ＩＤテーブル」と呼ぶ。）を定義する（表５）。
【００４１】
これらのデータを、上記ＡＲテーブルと同様に、リレーショナル・データベース管理システムにより記憶・管理する。
また、あるＡノードにより示される関連性のもつ意味を具体的に記述するデータとして１つのＴノードを新しく設け、これら２つのノードを「具象化」という予め定義された関連性役割で関連付ける。
当該Ｔノードと、別のＡノードに関して同様に新しく設けられたＴノードとの間での関連性を定義・記述することにより、元の２つのＡノードにより示される関連性の間に存在する関係を表現することができる。
【００４２】
Ａノードのもつ意味を記述するために特に導入された関連性役割「具象化」により関連付けられるＴノードは、上記のＡＲテーブルにより記憶・管理できる。
これらＩＤテーブル及びＡＲテーブルを用いて各ノードを管理することにより、ＡノードとＴノードの関連性だけでなく、ＡノードとＡノードの関連性についても表記可能となるデータの表現方法を実現する。
【００４３】
一般に、一つの共通の関連性を有するｎ個のデータからなるデータ集合について、２項関係で表現すると、nＣ2個のデータの組が必要となるが、本願発明によれば、ｎ個のデータの組でよい。
言い換えると一つの共通の関連性を有するｎ個の要素を持つデータ集合について（図７（ａ））、これらのデータをデータベースに記憶する場合に、当該データ集合に共通するノード（Ａノード）を新たに１つ設け、次に各要素毎にその関連性役割を定義する（図７（ｂ））。
これにより、「Ａノード」、「Ｔノード」及び「関連性役割」を一組のデータとして定義すれば、本願発明のデータ構造は構築できる（表４）。
【００４４】
【表４】
2008181457.tif 000006
【００４５】
図７（ｂ）及び表４で使用されている「Ａ１」はＡノードに付与された識別子であり、別の識別子「Ｔ１」〜「Ｔｎ」が付与された一群のデータ（Ｔノード）が何等かの共通の関連性を有していることを示すものである。
Ａノードに付与された識別子が異なれば、それらの一連のデータは別の意味で何等かの共通の関連性を有していることになる。
さらに、識別子が付与されたＡノード及びＴノードに対して、表５に示すようにノードタイプとノード名をデータ属性としてもつＩＤテーブルを作成する。
【００４６】
【表５】
2008181457.tif 000007
【００４７】
また、ＴノードＴ１とＴ２がＡノードＡ１により関連付けられ、ＴノードＴ１とＴ３がＡノードＡ２により関連付けられる関連性ネットワーク型データに対し（図８（ａ））、ＡノードＡ１が示す関連性の意味を具体的に記述するＴノード（識別子Ｔ１１）を新たに設け、「具象化」という予め定義された関連性役割でＡ１と関連付ける。
同様に、ＡノードＡ２と新たなＴノードＴ１２を関連性役割「具象化」で関連付け、これら２つのＴノードＴ１１とＴ１２との間にある関連性を、ＡノードＡ１１を用いて定義する（図８（ｂ））。
これにより、元の２つのＡノードＡ１とＡ２の間の関係が、表６に示すようなＡＲテーブルを使って表現できる。
【００４８】
【表６】
2008181457.tif 000008
【００４９】
［データ記憶方法・データ構造］
以下、データ記憶方法およびデータ構造を説明する。
具体例として、「作家シェークスピアは戯曲ハムレットを英国で1600年頃書いた。」を第１のデータとして説明する。
これらの情報は、（１）「作家シェークスピア」、（２）「戯曲ハムレット」、（３）「1600年頃」、（４）「英国」の要素をもつ４項関係を表したものである。
２項関係に分割してデータの関係を表現すると、4Ｃ2＝６であるので以下の表７に示す様に６個の組合せとして表現される。
【００５０】
【表７】
2008181457.tif 000009
【００５１】
本願発明に従って、これらの情報を変換する。先ず第１番目のデータについて変換する。
見出ノード１にある「作家シェークスピア」は、この情報において「作者」であることを示しているので、「作家」と「シェークスピア」とに分けて、「シェークスピア」をＴノード、「作者」を関連性役割とする。また、後述するように、「作家」をＴノードのノードタイプとする。
また関連性を示すエッジ「作者−作品」については、上記の一連の情報が同じグループであることを示すために「ハムレット著作について」としてＡノードを設ける。
「ハムレット著作について」のデータは、一連の情報が同じグループであることを示すために用いるので、他のグループの情報との識別ができるものであれば、他の表現でもかまわない。
【００５２】
「Ａノード」−「Ｔノード」−「関連性役割」の構造で記述すると、表８に示すようになる。
【００５３】
【表８】
2008181457.tif 000010
【００５４】
同様に見出ノード２にある「戯曲ハムレット」は、この情報において「作品」であることから、変換すると表９のようになる。
また、「戯曲」をＴノードのノードタイプとする。
【００５５】
【表９】
2008181457.tif 000011
【００５６】
次に、第２番目のデータについて同様に変換すると、表１０のようになる。
【００５７】
【表１０】
2008181457.tif 000012
【００５８】
ここで、「ハムレット著作について」「シェークスピア」「作者」の情報は、冗長なデータなので省略することができる。以下同様に全てのデータについて変換し、冗長なデータを削除すると表１１のようになる。
【００５９】
【表１１】
2008181457.tif 000013
【００６０】
従って、一つの共通の関連性を有する４個のデータからなるデータ集合について、２項関係で表現すると、4Ｃ2＝６であるので６個のデータの組が必要となるが、本願発明によれば、４個のデータ組でよいことが分かる。
言い換えると、４個の要素を持つデータ集合について、これらのデータをデータベースに記憶する場合に、当該データ集合に共通するノード（Ａノード）を新たに１つ設け、次に要素毎にその関連性役割を定義し、「Ａノード」、「Ｔノード」及び「関連性役割」を一組のデータとして定義すれば、本願発明のデータ構造は構築できる。
ここで、Ａノード「ハムレット著作について」に識別子「Ａ１」を付与する。ノード識別子「Ａ１」を共通にもつこれらのデータは、一つのグループに属することが分かる。
さらに、４つのＴノード「シェークスピア」、「ハムレット」、「1600年頃」、「英国」に対して識別子「Ｔ１１」〜「Ｔ１４」をそれぞれ付与する。
これにより、第１の例から作成されるＡＲテーブルは表１２のようになる。
【００６１】
【表１２】
2008181457.tif 000014
【００６２】
また、「ハムレット著作について」を示すＡノード（識別子Ａ１）のノードタイプを「著作関連情報」とし、識別子Ｔ１１〜Ｔ１４が付与されたＴノードのノードタイプをそれぞれ「作家」、「戯曲」、「年代」、「国」とすることにより、表１３に示すようなＩＤテーブルが作成される。
【００６３】
【表１３】
2008181457.tif 000015
【００６４】
さらに、第２のデータとして「戯曲ハムレットを原作とする日本語翻訳版が2003年２月に○○出版社から出版された。」の情報を例にとる。
これらの情報を本願発明に従ってデータを構成すると次のようになる。ここで一連の情報要素に共通するＡノードは「ハムレット日本語訳について」とし、識別子「Ａ２」を付与すると表１４のようになる。
【００６５】
【表１４】
2008181457.tif 000016
【００６６】
原作であるハムレットには既に識別子「Ｔ１２」が付けられているので、翻訳版ハムレットに「Ｔ２２」、出版日及び出版社に対してそれぞれ識別子「Ｔ２３」、「Ｔ２４」を付与すると、第２のデータに対するＡＲテーブルは表１５のようになる。
【００６７】
【表１５】
2008181457.tif 000017
【００６８】
また、表１６に示すＩＤテーブルが作成される。
【表１６】
2008181457.tif 000018
【００６９】
これら第１及び第２のデータ、さらに同様のデータ変換処理が施された他のデータも同じデータベースに記憶されるので、最終的に表１７及び表１８に示すようなＡＲテーブル及びＩＤテーブルが得られる。
【００７０】
【表１７】
2008181457.tif 000019
【００７１】
【表１８】
2008181457.tif 000020
【００７２】
さらに、図９に示すように、識別子がＡ１及びＡ２であるＡノードにより示される関連性のもつ意味を具体的に記述するためのＴノードを設け、それぞれに識別子「Ｔ３１」及び「Ｔ３２」を付与し、ノードＡ１及びノードＡ２と関連性役割「具象化」で関連付ける。
これら２つの新たなＴノードのノードタイプを「著作情報」とし、ノード名としてはそれぞれ「ハムレット著作について」及び「ハムレット日本語訳について」とする。
ノードＴ３１とノードＴ３２との関連性を示すＡノードを、識別子Ａ３としてさらに新しく設け、ノードタイプを「原作−翻訳情報」とする。
また、ここでの関連においてノードＴ３１及びノードＴ３２が果たす役割をそれぞれ「原作情報」、「翻訳情報」とする。以上の処理から、表１９に示したＡＲテーブル及び表２０に示したＩＤテーブルが追加される。
【００７３】
【表１９】
2008181457.tif 000021
【００７４】
【表２０】
2008181457.tif 000022
【００７５】
上記の第１及び第２のデータを、リレーショナル・データベースに直接記憶するためには、データ項目名として、新たに翻訳版としての「ハムレット」あるいは「○○出版社」などに対応する項目（データ属性）を追加する必要がある。これはデータベースのテーブル構造を変更することになるので簡単ではない。
例に示した様に既存のＡＲテーブルに対し行を追加することにより、異なるデータ属性を有する情報を複数の組として記憶することが可能である。
また、第１及び第２のデータを、Ａノード、Ｔノード及び各ノード間の関連を示すエッジを用いて表現すると図９のようになる。
こうした複雑な構造をもつデータを容易に表現するための方法とリレーショナル・データベースへの記憶・管理方法を提供している。
【００７６】
次に本願発明のデータベースから所望のデータを検索する場合について説明する。
以下に、ユーザが「作家シェークスピアの書いた戯曲ハムレットの日本語訳の出版社を知りたい」場合を例にとって説明する。
図１０に、そのフローチャートを示す。
以下に、図１０に示したフローチャートを説明する。
【００７７】
１１０：ユーザは、検索条件を「作家」である「シェークスピア」の「戯曲」として入力する。
１２０：検索条件に合致する複数組のデータが収集される。
１３０：複数組検出された情報の中から、「戯曲」に対応する情報が、順次、表示される。
１４０：ユーザは、これらの中から、所望の戯曲名つまり「ハムレット」を選択する。
１５０：「ハムレット」および「翻訳版」が、新たな条件とされ、データが検索される。
１６０：検索条件に合致する複数組データが収集される。
１７０：検出された複数組の中から「出版社」及び「出版日」に関するデータが、順次、表示される。
１８０：ユーザが、所望の出版社を選択する。
【００７８】
以下、詳細に説明する。
ユーザは検索条件として、Ｔノードのノード名が「シェークスピア」であり、関連性役割が「作家」であることを入力し情報を検索する。
データベースの中でＡＲテーブルを参照し、関連性役割が「作家」であるＴノードの識別子を検出し、続いて、ＩＤテーブルに記憶されているノード名属性を参照し、「シェークスピア」をノード名とするＴノードに対応するＡノード識別子が複数組検出される。
複数組検出されたＡノード識別子をもつ情報の中から、別の検索条件、つまり関連性役割が「戯曲」となっているＴノード識別子がＡＲテーブルより選出される。
この識別子に基づいて、ＩＤテーブルから対応する戯曲に関する情報が順次表示される。
【００７９】
すなわち「ハムレット」、「じゃじゃ馬ならし」、「ベニスの商人」、「真夏の夜の夢」、「リア王」などの戯曲名が順次表示される。ユーザはこれらの中から所望の戯曲名、すなわち「ハムレット」を選択する。
引き続き、選択された「ハムレット」の識別子「Ｔ１２」をキーとして、ＴノードＩＤに「ハムレット」の識別子を含み、かつ、関連性役割が「翻訳版」であるＡノード識別子をＡＲテーブルから検索する。
これにより、検索条件を満足するＡノード識別子により関連付けられた複数組の情報が検出される。
検出された複数組の情報から、関連性役割として「出版社」及び「出版日」をもつＴノードのノード名を、順次、ＩＤテーブルを参照しながら表示する。
ユーザはその中から所望の出版社、すなわち最近「2003年２月」に戯曲ハムレットの翻訳版を出版した「○○出版社」を選択することができる。
【００８０】
以上、図１０に示した例は、検索例の一例として説明したものである。
つまり検索条件が多くなると、データベースの検索は、図１０に示されているように２回に限定されるものではなく、所望の条件に応じて任意回数繰り返し行われることは言うまでもない。
また、ここで示した具体例においては、関連性役割として単一の属性が割り当てられているが、これに限定されるものではない。
すなわち、関連性役割に複数の属性をもたせることも可能である。上記の例では、関連性役割「戯曲」に対して「悲劇」、「喜劇」、「ロマンス劇」、「史劇」等のジャンルを追加して指定することにより、さらに詳細な関連性役割を定義することができる。
【００８１】
［データ記憶方法・データ構造の特徴］
以上説明したデータ記憶方法およびデータ構造によると、現在、広く一般に用いられているリレーショナル・データベースのテーブル形式を用いて、３項以上の関係、一般にｎ項の相互に関連性をもった一連のデータの関係を表すハイパーグラフの構造を保持したまま、データを記憶及び管理することができる。
また、関連性ネットワーク型データをリレーショナル・データベースのテーブルに直接マッピングする方法では、３項以上の関係、一般にｎ項関係を表すデータを効率よく記憶・管理できないという問題が解決される。
【００８２】
また、既にデータベースに記憶されているデータに対して、属性情報を追加するなどの変更を行うにはリレーショナル・データベースのテーブル設計の変更が必要となり、柔軟性に欠けるとともに膨大な労力がかかるという問題が解決される。
さらに、同一のデータベース・スキーマの枠組みで、データに付与された識別子と関連性役割を用いて一連の関連性のもつ意味を記述することができる。
【００８３】
［コミュニティ情報検索システム１の詳細］
以下、本発明にかかるコミュニティ情報検索システム１の詳細を説明する。
【００８４】
［コミュニティ関連データ管理装置７］
まず、図１に示したコミュニティ関連データ管理装置７を説明する。
なお、以下のコミュニティ関連データ管理装置７の説明においては、図９，図１０および表７〜表２０を参照して上述した本発明にかかるデータ記憶方法およびデータ構造の説明においてと、一部、用語が異なることがあるが、これらの説明の間で対応する用語は、実質的に同じである。
また、コミュニティ関連データ管理装置７の説明については、以下の用語が、上述した本発明にかかるデータ記憶方法およびデータ構造の説明における用語よりも優先される。
【００８５】
［データ構造］
コミュニティ関連データ管理装置７においては、上述した本発明にかかるデータ記憶方法およびデータ構造（図９，図１０および表７〜表２０）を応用して、各種テーブル（図１４〜図１６）の作成が行われる。
まず、コミュニティ関連データ管理装置７におけるデータ構造およびデータ検索について説明する。
図１１は、図８（ａ）に例示したデータの関連を書き換えて示す図である。
図１１に示すように、コミュニティ関連データ管理装置７においては、上述の本発明にかかるデータ記憶方法およびデータ構造においてと同様に、見出ノード(Topic Node；以下、Ｔノードと記す)が、１つ以上の関連ノード（Association Node；以下、Ａノードと記す）と関連付けられ、関連付けられたＴノードとＡノードとの間には、関連属性Ｒが定義される。
なお、関連属性Ｒは、ＴノードとＡノードとの関連について定義されうるどのような属性でもよいが、以下、説明の具体化および明確化のために、上述の本発明にかかるデータ記憶方法およびデータ構造の説明においてと同様に、関連属性Ｒが、関連性役割Ｒである場合を具体例とする。
【００８６】
図８（ａ）に示したデータの関係は、書き換えにより、図１１に示すように表される。
図１１に示すＡノードＡ１〜Ａｎ（以下、ｎは１以上の整数を示す。但し、全てのｎが同じ数を示すとは限らない。）の内、ＡノードＡ１と、ＡノードＡ１に関連するＴノードＴ１−１〜Ｔ１−３，Ｔ２−１とは、エッジで結ばれている。
同様に、ＡノードＡ２に関連するＴノードＴ２−１，Ｔ２−２，Ｔｎ−１と、ＡノードＡ２とはエッジで結ばれている。
また、ＡノードＡｎについても同様であって、ＡノードＡｎに関連するＴノードＴｎ−１〜Ｔｎ−４とＡノードＡｎとはエッジで結ばれている。
つまり、図１１には、ＴノードＴ２−１が、ＡノードＡ１，Ａ２の両方に関連性を有し、ＴノードＴｎ−１は、ＡノードＡ２，Ａｎの両方に関連性を有することが示されている。
【００８７】
図１２は、図１１に示したデータ構造を一般化して示す図である。
図１１において、ＴノードＴ１−１から、ＡノードＡ１、ＴノードＴ２−１、ＡノードＡ２およびＴノードＴｎ−１を経て、ＡノードＡｎに至るようにエッジをたどると、図１２において、上から下の方向に伸びるパスが得られる。
【００８８】
なお、図１２には、
（１）ＴノードＴ１−１〜Ｔ１−ｍ１，Ｔ２−１が、ＡノードＡ１に関連付けられ、ＴノードＴ１−１〜Ｔ１−ｍ１，Ｔ２−１とＡノードＡ１との間の関連（エッジ）には、関連性役割Ｒ１−１〜Ｒ１−ｍ１，Ｒ１−０が定義され、
（２）ＴノードＴ２−１〜Ｔ２−ｍ２および図１２において省略されたＴノードが、ＡノードＡ２に関連付けられ、ＴノードＴ２−１〜Ｔ２−ｍ２とＡノードＡ２との間の関連には、関連性役割Ｒ２−１〜Ｒ２−ｍ２が定義され、
（３）以下、同様に、図１２において省略されているＴノードとＡノードとが関連付けられ、これらの間に関連性役割Ｒが定義され、
（４）ＴノードＴｎ−１〜Ｔｎ−ｍｎおよび図１２において省略されたＴノードが、ＡノードＡｎに関連付けられ、ＴノードＴｎ−１〜Ｔｎ−ｍｎとＡノードＡｎとの間の関連には、関連性役割Ｒｎ−１〜Ｒｎ−ｍｎ（ｍ１〜ｍｎ，ｎは整数）が定義され
ている場合が具体例として示されている。
【００８９】
つまり、コミュニティ関連データ管理装置７においては、Ｔノードそれぞれが、１つ以上のＡノードと関連付けられ、また、Ａノードそれぞれが、１つ以上のＴノードと関連付けられることにより、Ａノードを介して複数のＴノードが関連付けられ、また、Ｔノードを介して複数のＡノードが関連付けられうる。
コミュニティ関連データ管理装置７においては、図１２に示すように関連付けられたＡノードとＴノードのとの組み合わせが、複数、記憶されうる。
【００９０】
図１３は、図８（ｂ），図９に示したデータの関係を、一般化して示す図である。
図８（ｂ），図９に示したデータの関係は、図１３に示すように一般化して表されうる。
図１３において、ＡノードＡ１に関連するＴノードＴ１−１〜Ｔ１−３（，Ｔ３−１）とＡノードＡ１とはエッジで結ばれ、ＡノードＡ２に関連するＴノードＴ２−１〜Ｔ２−３（，Ｔ３−２）とＡノードＡ２とはエッジで結ばれ、ＡノードＡｎとＴノードＴｎ−１〜Ｔｎ−３，Ｔ２−３（，Ｔ３−ｎ）とはエッジで結ばれている。
ＴノードＴ２−３は、ＡノードＡ２，Ａｎの両方とエッジで結ばれており、このことは、ＴノードＴ２−３が、ＡノードＡ２，Ａｎの両方に関連することを示している。
ここで、ＡノードＡ１，Ａ２，Ａｎにより関連付けられる一連の情報が、共通の関連性を有するときには、新たな関連ノードＡ３が定義されうる。
例えば、ＡノードＡ１が、ハムレットの原作に関する情報であり、ＡノードＡ２が、ハムレットの翻訳に関する情報であり、ＡノードＡｎが、ハムレットの公演に関する情報であるときには、これらのＡノードＡ１，Ａ２，Ａｎにより示される関連情報は、ハムレットに関する情報としての共通性を有する。
【００９１】
そこで、ＡノードＡ１，Ａ２，Ａｎにより関連付けられる情報が、共通性を有することを示すために、新たな関連ノードＡ３が定義され、データベースに格納される。
また、図１３中に破線で囲って示すように、ＡノードＡ１およびＴノードＴ１−１〜Ｔ１−３により示される一連の情報を具体的に記述するために、新たなＴノードＴ３−１が定義され、データベースに格納される。
さらに、同様に、ＡノードＡ２，Ａｎの関連を具体的に記述する新たなＴノードＴ３−２，Ｔ３−ｎが定義され、データベースに格納される。
例えば、ＴノードＴ３−１には、見出しの内容として「ハムレット著作について」、ＴノードＴ３−２には、見出しの内容として「ハムレット日本語訳について」、ＴノードＴ３−ｎには、見出し内容として「ハムレット公演について」などのデータが定義され、データベースに格納される。
【００９２】
さらに、新たなＡノードＡ３と、Ｔノード３−１〜Ｔ３−ｎそれぞれとの間に、関連性役割Ｒが定義され、データベースに格納される。
例えば、新たなＡノードＡ３とＴノードＴ３−１との間に、関連性役割Ｒとして「原作情報」が定義され、新たなＡノードＡ３とＴノードＴ３−２との間に、関連性役割Ｒとして「翻訳情報」が定義され、新たなＡノードＡ３とＴノードＴ３−ｎとの間に、関連性役割Ｒとして「公演情報」などのデータが定義され、データベースに格納される。
同様に、例えば、ＡノードＡ１，Ａ２，ＡｎとＴノードＴ３−１，Ｔ３−２，Ｔ３−ｎとの間には、「具象化」という予めシステムにより定義された関連性役割Ｒが定義される。
【００９３】
図１４は、図１２に示した構造を採るデータを記憶するために用いられる関連性役割（ＡＲ(Association Role)）テーブルを示す図である。
図１５は、図１２に示した構造を採るデータを記憶するために用いられるＴノード用識別子（ＩＤ(Identifier)）テーブルを示す図である。
図１６は、図１２に示した構造を採るデータを記憶するために用いられるＡノード用識別子（ＩＤ）テーブルを示す図である。
コミュニティ関連データ管理装置７において、図１２に示した構造により関連付けられたＡノードおよびＴノードと、Ｔノードのデータは、図１４に示すＡＲテーブル、および、図１５に示すＩＤテーブルを用いて記憶される。
【００９４】
図１４に示すＡＲテーブルのエントリそれぞれは、ある１つのＡノードと、このＡノードに関連付けられた１つのＴノードと、これら関連付けられたＡノードとＴノードとの間に定義される関連性役割（Ｒ）を示し、あるＡノードの識別子（ＩＤ）と、このＡノードに関連付けられたＴノードの識別子と、これら関連付けられたＡノードとＴノードとの間に定義された関連性役割（Ｒ）を含む。
つまり、ＡＲテーブルのエントリそれぞれは、図１２に示したいずれかのエッジの一端にあるＡノードの識別子と、このエッジの他端にあるＴノードの識別子と、このエッジに対して定義される関連性役割とを含む。
【００９５】
このようなエントリを、図１２に示した全てのエッジ（Ｔ１−１〜Ａ１の間のエッジ〜Ｔｎ−ｍｎ〜Ａｎ間のエッジ）について作成し、ＡＲテーブルに記憶することにより、図１２に示したＡノードとＴノードとの関連は、図１４に示すＡＲテーブルに記憶される。
また、Ｔノードそれぞれは、内容（Ｔノードの名称、Ｔノード自体のデータおよびＴノードにより参照されるデータなど）を有し、さらに、Ｔノードそれぞれには、ＡＲテーブルの各エントリに記憶される識別子（ＩＤ）の他に、このＴノードの属性（ノードタイプ（ＮＴ）；見出属性）が定義される（以下、Ｔノードが、その内容として、その名称（ノード名（Ｎ））のみを有する場合を具体例とする。）。
【００９６】
図１５に示すＴノード用のＩＤテーブルのエントリそれぞれは、図１２に示したいずれかのＴノードの識別子（ＩＤ）と、このＴノードに対して定義された属性（ノードタイプ（ＮＴ））と、このＴノードの名称（ノード名（Ｎ））とを含む。
このようなエントリを、図１２に示した全てのＴノードＴ１−１〜Ｔｎ−ｍｎについて作成し、Ｔノード用のＩＤテーブルに記憶することにより、図１２に示した全てのＴノードについてのデータが記憶される。
図１６に示すＡノード用のＩＤテーブルのエントリそれぞれは、図１２に示したいずれかのＡノードの識別子（ＩＤ）と、このＡノードに対して定義された属性（ノードタイプ（ＮＴ'））と、このＡノードの名称（ノード名（Ｎ'））とを含む。
このようなエントリを、図１２に示した全てのＡノードＡ１〜Ａｎについて作成し、Ａノード用のＩＤテーブルに記憶することにより、図１２に示した全てのＡノードについてのデータが記憶される。
【００９７】
なお、図１２に示したＡノードとＴノードとの関連、ＡノードのデータおよびＴノードのデータを記憶するためには、テーブル形式以外に、同様な形式が採られうるが、以下の説明においては、ＡＲテーブルおよびＩＤテーブルを用いる場合が具体例とされる。
なお、コミュニティ関連データ管理装置７の用途、構成あるいは処理内容によっては、図１４に示すように、ＡＲテーブルにおいて、各エントリは、Ｔノードの識別子（ＩＤ）の代わりに、Ｔノードの内容（ノード名（Ｎ））を含んでもよい。
また、同様に、ＡＲテーブルにおいて、各エントリは、Ｔノードの内容を、さらに含んでもよい。
【００９８】
［データ検索］
図１７は、図１に示したコミュニティ関連データ管理装置７におけるデータ検索方法を例示する図である。
ここでは、図１７に示すように、あるＡノードに、ＴノードＴ１〜Ｔｎおよび検索結果（出力）とされるべきＴノードＴｒｅｔ(T return)が関連付けられ、ＡノードとＴノードＴ１〜Ｔｎ，Ｔｒｅｔとの間に、関連性役割Ｒ１〜Ｒｎ，Ｒｒｅｔが定義され、ＴノードＴ１〜Ｔｎ，Ｔｒｅｔが、ノード名Ｎ１〜Ｎｎ，Ｎｒｅｔを有する場合を具体例とする。
【００９９】
コミュニティ関連データ管理装置７においては、検索結果として得たいＴノードに対して定義される関連性役割Ｒｒｅｔと、検索のために用いられ得るＡノードの属性（ノードタイプＮＴ；図１７においてＡＮＴ１，ＡＮＴ２）と、検索のために用いられ得るＴノードの関連性役割Ｒとノード名Ｎの１つ以上の組み合わせとが検索条件として用いられる。
この検索条件は、図１７に示すように、例えば、（Ｒｒｅｔ，（ＡＮＴ１，ＡＮＴ２，...），Ｆｉｌｔｅｒ），Ｆｉｌｔｅｒ＝（（Ｒ１，Ｎ１），（Ｒ２，Ｎ２），...，（Ｒｎ，Ｎｎ））と表記される。
なお、この検索条件は、後述するように、さらにＴノードの属性ＮＴ（第３の条件データ）を含みうる。
上記検索条件の内、Ｆｉｌｔｅｒに含まれるＴノードの関連性役割Ｒとノード名Ｎの１つ以上の組み合わせ（Ｒ１，Ｎ１），（Ｒ２，Ｎ２），...，（Ｒｎ，Ｎｎ）それぞれは、検索のためのフィルタとして用いられるので、以下、検索フィルタとも記載される。
【０１００】
また、上記検索条件の内、Ａノードの属性（ＡＮＴ１，ＡＮＴ２，...）は、省略されうる。
図１８は、図１に示したコミュニティ関連データ管理装置７における検索の全体的な処理（Ｓ１０７０）を示す第１のフローチャートである。
図１８に示すように、ステップ１７００（Ｓ１７００）において、コミュニティ関連データ管理装置７は、例えば、クライアントＰＣ２（図１）あるいはコミュニティ関連データ管理装置７の入出力装置１１６に対する検索者の操作に応じて、図１７に例示した検索条件を受け入れる。
【０１０１】
ステップ１０７２（Ｓ１０７２）において、図１９を参照して後述する検索フィルタに基づく関連ノードの選択を行う。
ステップ１０７４（Ｓ１０７４）において、図２０を参照して後述するノードＩＤおよびノード名の取得を行う。
【０１０２】
ステップ１７０２（Ｓ１７０２）において、コミュニティ関連データ管理装置７は、Ｓ７４の処理により検索結果として得られたＴノードＴｒｅｔの識別子（ノードＩＤ）およびノード名（Ｎｒｅｔ）から、検索者に対して返す応答を作成する。
この応答としては、ノード名Ｎｒｅｔのみ、ノードＴｒｅｔにより参照される様々なデータ、あるいは、ノードＴｒｅｔ自体を示すデータなど、様々なデータを例示されうる。
【０１０３】
ステップ１７０４（Ｓ１７０４）において、コミュニティ関連データ管理装置７は、検索者による問い合わせが終了したか否かを判断する。
コミュニティ関連データ管理装置７は、検索者による問い合わせが終了した場合には処理を終了し、これ以外のときにはＳ１７００の処理に戻る。
【０１０４】
図１９は、図１８に示した検索フィルタに基づく関連ノードの選択処理（Ｓ１０７２）を示すフローチャートである。
図１９に示すように、図１８に示したＳ１７００の処理において、コミュニティ関連データ管理装置７は、検索条件（Ｒｒｅｔ，（ＡＮＴ１，ＡＮＴ２，...），Ｆｉｌｔｅｒ），Ｆｉｌｔｅｒ＝（（Ｒ１，Ｎ１），（Ｒ２，Ｎ２），...，（Ｒｎ，Ｎｎ））を受け入れると、ステップ１７２０（Ｓ１７２０）において、処理のために用いられる関連ノードリストを初期化する。
【０１０５】
この関連ノードリストには、ＡＲテーブル（図１４）から得られたＡノードのうち、検索条件中のＡノードの属性（ノードタイプ；ＡＮＴ１，ＡＮＴ２，...）のいずれかを、その属性（ノードタイプＮＴ）として含むＡノードの識別子が記憶される。
なお、検索条件において、Ａノードの属性が省略された（（ＡＮＴ１，ＡＮＴ２，...）＝ｎｕｌｌ）ときには、Ｓ１７２０の処理において、ＡＲテーブル（図１４）から得られたＡノードの全ての識別子が記憶される。
ステップ１７２２（Ｓ１７２２）において、コミュニティ関連データ管理装置７は、全ての検索フィルタ（Ｒｉ，Ｎｉ）について処理を行ったか否かを判断する。
【０１０６】
コミュニティ関連データ管理装置７は、全ての処理について処理を行ったときにはＳ１０７４（図１８，図２０）の処理に進み、これ以外のときには、まだ処理の対象とされていないいずれかの検索フィルタ（Ｒｉ，Ｎｉ）を、次の処理対象としてＳ１７２４の処理に進む。
ステップ１７２４（Ｓ１７２４）において、コミュニティ関連データ管理装置７は、Ｔノード用のＩＤテーブル（図１５）を検索し、検索フィルタ（Ｒｉ，Ｎｉ）のノード名Ｎｉを含むエントリの全てを探し出し、探し出されたエントリに含まれるＴノードの識別子の集合（ノードＩＤ集合Ｔ）を作成する（Ｔ＝｛Ｔｉ｜ノード名＝Ｎｉ  ｉｎ  ＩＤテーブル｝）。
なお、検索条件にＴノードの属性（ノードタイプ；ＮＴ）が含まれ、検索フィルタが（Ｒｉ，Ｎｉ，ＮＴｉ）と表されるときには、コミュニティ関連データ管理装置７は、Ｓ１７２４の処理において、ＩＤテーブルから、検索フィルタ（Ｒｉ，Ｎｉ，ＮＴｉ）のノード名ＮｉおよびノードタイプＮＴｉを含むエントリを探し出し、探し出されたエントリに含まれるＴノードの識別子の集合をノードＩＤ集合Ｔとすればよい。
【０１０７】
ステップ１７２６（Ｓ１７２６）において、コミュニティ関連データ管理装置７は、Ｓ１７２４の処理により得られたノードＩＤ集合Ｔが空集合であるか否かを判断する。
コミュニティ関連データ管理装置７は、ノードＩＤ集合Ｔが空集合であるときには検索処理を終了するための処理（検索が失敗した旨を検索者に表示するなど）を行い、検索処理を終了し、これ以外のときにはＳ１７２８の処理に進む。
ステップ１７２８（Ｓ１７２８）において、コミュニティ関連データ管理装置７は、ＡＲテーブル（図１４）を検索し、関連ノードリストＡを更新する。
つまり、コミュニティ関連データ管理装置７は、ＡＲテーブルから、検索フィルタ（Ｒｉ，Ｎｉ）の関連性役割Ｒｉと、Ｓ１７２４の処理により得られたノードＩＤ集合Ｔに含まれるいずれかのＴノードの識別子を含むエントリの全てを探し出し、探し出されたエントリに含まれるＡノードの識別子を、関連ノードリストＡに格納する（Ａ＝｛Ａｊ｜役割Ｒｉ，Ｔノードの識別子Ｔｉ（ａｌｌ  ｉ），Ａノード識別子∈Ａ  ｉｎ  ＡＲテーブル｝）。
【０１０８】
ステップ１７３０（Ｓ１７３０）において、コミュニティ関連データ管理装置７は、Ｓ１７２８の処理により得られた関連ノードリストＡが空集合であるか否かを判断する。
コミュニティ関連データ管理装置７は、関連ノードリストＡが空集合であるときには検索処理を終了するための処理を行い、検索処理を終了し、これ以外のときにはＳ１７３２の処理に進む。
ステップ１７３２（Ｓ１７３２）において、コミュニティ関連データ管理装置７は、検索条件に含まれる処理されていない検索フィルタを読み込み、Ｓ１７２２の処理に戻る。
【０１０９】
図２０は、図１８，図１９に示したノードＩＤおよびノード名取得処理（Ｓ１０７４）を示すフローチャートである。
図２０に示すように、検索フィルタに基づく関連ノードの選択処理（Ｓ１０７２）が終了すると、ステップ１７４０（Ｓ１７４０）において、コミュニティ関連データ管理装置７は、ＡＲテーブル（図１４）を検索し、Ｔノード識別子集合Ｔを作成する。
つまり、コミュニティ関連データ管理装置７は、ＡＲテーブルから、検索条件に含まれる関連性役割Ｒｒｅｔと、Ｓ１７２８（Ｓ１７２８）の処理により得られた関連ノードリストＡに含まれるいずれかのＡノードの識別子とを含むエントリの全てを探し出し、探し出されたエントリに含まれるＴノードの識別子の集合（Ｔノード識別子集合Ｔ）を作成する（Ｔ＝｛Ｔｍ｜役割＝Ｒｒｅｔ，Ａノードの識別子∈Ａ  ｉｎ  ＡＲテーブル｝）。
【０１１０】
ステップ１７４２（Ｓ１７４２）において、コミュニティ関連データ管理装置７は、Ｓ１７４０の処理により得られたＴノード識別子集合Ｔが空集合であるか否かを判断する。
コミュニティ関連データ管理装置７は、Ｔノード識別子集合Ｔが空集合であるときには終了処理を行って検索処理を終了し、これ以外のときにはＳ１７４４の処理に進む。
ステップ１７４４（Ｓ１７４４）において、コミュニティ関連データ管理装置７は、Ｔノード用のＩＤテーブル（図１５）を検索し、ノードＩＤとノード名の組の集合Ｐを作成する。
つまり、コミュニティ関連データ管理装置７は、ＩＤテーブルから、Ｓ１７４０の処理により作成されたＴノード識別子集合Ｔに含まれるＴノードの識別子Ｔｍのいずれかを含むエントリの全てを探し出し、このエントリに含まれるノード名Ｎｍと、Ｔノードの識別子Ｔｍとの組の集合Ｐを作成する（Ｐ＝｛（Ｔｍ，Ｎｍ）｜Ｔノードの識別子＝Ｔｍ（ａｌｌ  ｍ）  ｉｎ  ＩＤテーブル｝）。
【０１１１】
ステップ１７４６（Ｓ１７４６）において、コミュニティ関連データ管理装置７は、Ｓ１７４４の処理により得られたＴノード識別子とＴノード名との組の集合Ｐが空集合であるか否かを判断する。
コミュニティ関連データ管理装置７は、Ｔノード識別子とＴノード名との組の集合Ｐが空集合であるときには終了処理を行って検索処理を終了し、これ以外のときにはＳ１７０２の処理に進む。
この集合Ｐは、図１８に示したＳ１７０２の処理において、検索者への応答を作成するために用いられる。
【０１１２】
［コミュニティ関連データ管理プログラム７０］
図２１は、図１に示したコミュニティ関連データ管理装置７において実行されるコミュニティ関連データ管理プログラム７０の構成を示す図である。
なお、図２１においては、図示の明確化のために、データの流れを示す線は、適宜、省略されている。
図２１に示すように、コミュニティ関連データ管理プログラム７０は、ＤＢ管理部７２、ＤＢ部７６およびＤＢ検索部７８から構成される。
【０１１３】
ＤＢ管理部７２は、管理操作受入部７２０、ＡＲエントリ作成部７２２、ＩＤエントリ作成部７２４、ＡＲデータベース管理部（ＡＲＤＢ管理部）７２６およびＩＤデータベース管理部（ＩＤＤＢ管理部）７２８から構成される。
ＤＢ部７６は、ＡＲデータベース（ＡＲＤＢ）７６０、Ｔノード用のＩＤデータベース（ＩＤＤＢ）７６２およびＡノード用のＩＤＤＢ７６４から構成される。
ＤＢ検索部７８は、検索操作受入部７８０、検索条件作成部７８２、検索制御部７８４、ＡＲデータベース検索部（ＡＲＤＢ検索部）７８６およびＩＤデータベース検索部（ＩＤＤＢ検索部）７８８から構成される。
【０１１４】
コミュニティ関連データ管理プログラム７０は、例えば、記録媒体１２０（図２）を介してコミュニティ関連データ管理装置７に供給され、メモリ１１４にロードされ、コミュニティ関連データ管理装置７で実行されるＯＳ上で、コミュニティ関連データ管理装置７のハードウエアを具体的に利用して実行される（以下の各プログラムについて同様）。
コミュニティ関連データ管理プログラム７０は、これらの構成部分により、図１２〜図２０を参照して説明したＡＲデータベース（図１４）およびＩＤデータベース（図１５，図１６）の作成、および、これらのデータベースを用いたデータの検索（図１７〜図２０）を行う。
【０１１５】
ＤＢ部７６において、ＡＲＤＢ７６０は、図１４に示したＡＲテーブルを記憶する。
ＩＤＤＢ７６２は、図１５に示したＴノード用のＩＤテーブルを記憶する。
ＩＤＤＢ７６４は、図１６に示したＡノード用のＩＤテーブルを記憶する。
また、図２１には、図１５，図１６に示したＴノード用のＩＤテーブルおよびＡノード用のＩＤテーブルが、それぞれＩＤＤＢ２４２，２４４に記憶される場合が具体例とされているが、Ｔノード用のＩＤテーブルと、Ａノード用のＩＤテーブルとは、同じデータベースに記憶されてもよい。
また、Ｔノード用のＩＤテーブルと、Ａノード用のＩＤテーブルとは、必ずしも分けて作成されなくともよく、１つのデータベース内に一体に作成されてもよい。
【０１１６】
ＤＢ管理部７２おいて、管理操作受入部７２０は、ＡＲテーブルおよびＩＤテーブルに記憶されたデータを管理し、あるいは、変更するための操作を、入出力装置１１６（図２）から、あるいは、ネットワーク１００を介して他のクラスタノード（図１）から受け入れ、ＡＲＤＢ管理部７２６およびＩＤＤＢ管理部７２８に対して出力する。
また、管理操作受入部７２０は、ＡノードおよびＴノード、ＡノードとＴノードとの関連付け、ＡノードとＴノードとの間（エッジ）に定義される関連性役割Ｒ、ＡノードおよびＴノードに付される識別子（ＩＤ）、Ｔノードに付されるノード名（Ｎ）、および、Ｔノードに定義される属性（図１２）を指定するユーザの操作を受け入れ、ＡＲエントリ作成部２０２およびＩＤエントリ作成部７２４に対して出力する。
例えば、管理操作受入部７２０は、Ａノード、Ｔノードおよびこれらの間の関係などを、図１７に示したように表示するユーザインターフェース（ＵＩ）画像を、入出力装置１１６に表示し、このＵＩ画像に対するユーザの操作を受け入れて、これらの指定を受け入れる。
【０１１７】
ＡＲエントリ作成部７２２は、管理操作受入部２００から入力されるユーザの指定に従って、図１４に示したＡＲテーブルのエントリを作成し、ＡＲＤＢ管理部７２６に対して出力する。
ＡＲＤＢ管理部７２６は、ＡＲエントリ作成部７２２から入力されるＡＲテーブルのエントリを、ＡＲＤＢ７６０に記憶されているＡＲテーブルに追加する。
また、ＡＲＤＢ管理部７２６は、管理操作受入部７２０から入力されるユーザの操作に従って、ＡＲＤＢ７６０に記憶されているＡＲテーブルの内容を変更する。
【０１１８】
また、ＡＲＤＢ管理部７２６は、ＡＲＤＢ検索部７８６の検索に応じて、ＡＲＤＢ７６０に記憶されたＡＲテーブルのエントリを探しだし、ＡＲＤＢ検索部７８６に対して出力する。
ＩＤエントリ作成部７２４は、管理操作受入部７２０から入力される検索者の指定に従って、図１５，図１６に示したＴノード用およびＡノード用のＩＤテーブルのエントリを作成し、ＩＤＤＢ管理部７２８に対して出力する。
【０１１９】
ＩＤＤＢ管理部７２８は、ＩＤエントリ作成部７２４から入力されるＴノード用のＩＤテーブルのエントリを、ＩＤＤＢ７６２に記憶されているＴノード用のＩＤテーブルに追加する。
また、ＩＤＤＢ管理部７２８は、ＩＤエントリ作成部７２４から入力されるＡノード用のＩＤテーブルのエントリを、ＩＤＤＢ７６４に記憶されているＡノード用のＩＤテーブルに追加する。
また、ＩＤＤＢ管理部７２８は、管理操作受入部７２０から入力されるユーザの操作に従って、ＩＤＤＢ７６２，７６４に記憶されているＩＤテーブルの内容を変更する。
また、ＩＤＤＢ管理部７２８は、ＩＤＤＢ検索部７８８の検索に応じて、ＩＤＤＢ７６２，７６４に記憶されたＩＤテーブルのエントリを探し出し、ＩＤＤＢ検索部７８８に対して出力する。
【０１２０】
ＤＢ検索部７８において、検索操作受入部７８０は、図１７〜図２０に示した検索処理に用いられる検索条件（図１７、さらに任意のＴノードの属性（ノードタイプ（ＮＴ））が含まれることがある）を指定するための検索者の操作を、入出力装置１１６（図２）から、あるいは、ネットワーク１００を介して他のクラスタノード（図１）から受け入れる。
検索操作受入部７８０は、受け入れた操作を、検索条件作成部７８２に対して出力する。
【０１２１】
検索条件作成部７８２は、例えば、検索操作受入部７８０が、自然言語による質問文の形式で検索条件を受け入れるときには、この質問文を構文解析して単語を取り出す。
次に、検索条件作成部７８２は、ＡＲＤＢ検索部７８６、ＩＤＤＢ検索部７８８、ＡＲＤＢ管理部７２６およびＩＤＤＢ管理部７２８を介してＡＲＤＢ７６０およびＩＤＤＢ７６２，７６４に記憶されたＡＲテーブルおよびＩＤテーブルを検索して、検索条件として用いられ得る単語を抽出する。
さらに、検索条件作成部７８２は、抽出された単語を、質問文の構造に沿って組み合わせ、図１７に示した形式の検索条件（Ｒｒｅｔ，（ＡＮＴ１，ＡＮＴ２，...），（（Ｒ１，Ｎ１），（Ｒ２，Ｎ２），...，（Ｒｎ，Ｎｎ）））を導出し、検索制御部２６４に対して出力する。
【０１２２】
なお、検索者が、図１７に示した形式（Ｒｒｅｔ，（ＡＮＴ１，ＡＮＴ２，...），（（Ｒ１，Ｎ１），（Ｒ２，Ｎ２），...，（Ｒｎ，Ｎｎ）））で検索条件を、直接、指定するときには、検索条件作成部７８２は省略され得る。
また、検索条件作成部２６２は、検索者による検索条件（Ｒｒｅｔ，（ＡＮＴ１，ＡＮＴ２，...），（（Ｒ１，Ｎ１），（Ｒ２，Ｎ２），...，（Ｒｎ，Ｎｎ）））の導出を補助するためのツールであってもよい。
【０１２３】
検索制御部７８４は、検索条件作成部７８２（検索操作受入部７８０）から入力される検索条件（Ｒｒｅｔ，（ＡＮＴ１，ＡＮＴ２，...），（（Ｒ１，Ｎ１），（Ｒ２，Ｎ２），...，（Ｒｎ，Ｎｎ）））に従って、ＡＲＤＢ検索部７８６およびＩＤＤＢ検索部７８８を制御し、図１８〜図２０に示したように、ＡＲＤＢ管理部７２６およびＩＤＤＢ管理部７２８を介したＡＲＤＢ７６０（ＡＲテーブル；図１４）およびＩＤＤＢ７６２，７６４（ＩＤテーブル；図１５，図１６）の検索を行わせる。
また、検索制御部７８４は、検索条件に従った検索により検索結果（集合Ｐ；図２０）が得られたときには、この検索結果に基づいて応答を作成し、入出力装置１１６（図２）に表示し、あるいは、ネットワーク１００（図１）を介して他のクラスタノードの入出力装置１１６に表示し、検索者に示す。
【０１２４】
ＡＲＤＢ検索部７８６は、検索制御部７８４の制御に従って、ＡＲＤＢ管理部７２６を介してＡＲＤＢ７６０（ＡＲテーブル；図１４）を検索し、検索結果を検索制御部７８４に返す。
ＩＤＤＢ検索部７８８は、検索制御部７８４の制御に従って、ＩＤＤＢ管理部７２８を介してＩＤＤＢ７６２，７６４（ＩＤテーブル；図１５，図１６）を検索し、検索結果を検索制御部７８４に返す。
【０１２５】
［コミュニティ関連データ管理装置７の動作］
以下、図１に示したコミュニティ関連データ管理装置７（コミュニティ関連データ管理プログラム７０；図２１）の全体的な動作を、具体例を挙げて説明する。
【０１２６】
［ＡＲテーブルおよびＩＤテーブルの作成］
まず、コミュニティ関連データ管理プログラム７０のＤＢ管理部７２によるＡＲテーブルおよびＩＤテーブルの作成処理を説明する。
図２２は、図１に示したコミュニティ関連データ管理装置７（コミュニティ関連データ管理プログラム７０；図２１）に対して入力されるデータと、これに含まれるデータの検索に含まれる検索条件とを例示する図である。
例えば、コミュニティ関連データ管理プログラム７０の管理操作受入部７２０に対して、図２２に示すように関連付けられたデータが入力される。
図２２に示すデータには、以下のように関連付けられたＡノードとＴノードとが含まれ、Ｔノードにはそれぞれノード名が付されている（ただし、Ａノードの属性（ノードタイプ（ＮＴ））およびノード名、Ｔノードの属性（ノードタイプ（ＮＴ））は、以下の（１）〜（８）および図２２において省略）。
【０１２７】
（１）「ＡノードＡ１」と「ＴノードＴ１１」とが関連付けられ、これらの間に「作者」という関連性役割Ｒが定義され、「ＴノードＴ１１」には、「シェークスピア（同名の別人）」というノード名が付されている。
（２）「ＡノードＡ９」と「ＴノードＴ９２，Ｔ４１」とが関連付けられ、これらの間に「作品」および「作者」という関連性役割Ｒが定義され、「ＴノードＴ９２，Ｔ４２」には、「ベニスの商人」および「シェークスピア」というノード名が付されている。
（３）「ＡノードＡ４」と「Ｔノード４１，Ｔ４２」とが関連付けられ、これらの間に「作者」および「作品」という関連性役割Ｒが定義され、「ＴノードＴ４２」には、「ハムレット」というノード名が付されている。
（４）「ＡノードＡ１３」と「ＴノードＴ４２」とが関連付けられ、これらの間に「脚本」という関連性役割Ｒが定義されている。
（５）「ＡノードＡ１９」と「ＴノードＴ４２」とが関連付けられ、これらの間に「原作」という関連性役割Ｒが定義されている。
（６）「ＡノードＡ１０」と「ＴノードＴ４２」とが関連付けられ、これらの間に「原作」という関連性役割Ｒが定義されている。
（７）「ＡノードＡ１０」と「ＴノードＴ１０３，Ｔ１０１」とが関連付けられ、これらの間に「出版」および「翻訳版」という関連性役割Ｒが定義され、「ＴノードＴ１０３」には、「○○出版」というノード名が付されている。
（８）「ＡノードＡ１９」と「ＴノードＴ１９１」とが関連付けられ、これらの間に「翻訳版」という関連性役割Ｒが定義されている。
【０１２８】
管理操作受入部７２０は、入力されたデータを受け入れ、ＡＲエントリ作成部７２２およびＩＤエントリ作成部７２４に対して出力する。
ＡＲエントリ作成部７２２は、図２２に示したデータから、ＡＲテーブルの各エントリを作成し、ＡＲＤＢ管理部７２６に対して出力する。
【０１２９】
図２３は、ＡＲエントリ作成部７２２（図２１）およびＡＲＤＢ管理部７２６により作成され、ＡＲＤＢ７６０に記憶されるＡＲテーブルを例示する図である。
なお、以下の図において、ｎｕｌｌは、属性（ノードタイプ）・名称（ノード名）がないことを示す。
ＡＲＤＢ管理部７２６は、ＡＲエントリ作成部７２２から入力されたＡＲテーブルのエントリを、ＡＲＤＢ７６０に記憶されているＡＲテーブルに、順次、追加する。
ＡＲエントリ作成部７２２およびＡＲＤＢ管理部７２６による処理の結果、図２２に示したデータから、図２３に示すようなＡＲテーブルが作成され、ＡＲＤＢ７６０に記憶される。
【０１３０】
図２４は、ＩＤエントリ作成部７２４（図２１）およびＩＤＤＢ管理部７２８により作成され、ＩＤＤＢ７６２に記憶されるＴノード用のＩＤテーブルを例示する図である。
ＩＤエントリ作成部７２４は、図２２に示したデータから、Ｔノード用のＩＤテーブルの各エントリを作成し、ＩＤＤＢ管理部７２８に対して出力する。
ＩＤＤＢ管理部７２８は、ＩＤエントリ作成部７２４から入力されたＴノード用のＩＤテーブルのエントリを、ＩＤＤＢ７６２に記憶されているＩＤテーブルに、順次、追加する。
ＩＤエントリ作成部７２４およびＩＤＤＢ管理部７２８による処理の結果、図２２に示したデータから、図２４に示すようなＴノード用のＩＤテーブルが作成され、ＩＤＤＢ７６２に記憶される。
【０１３１】
図２５は、ＩＤエントリ作成部７２４（図２１）およびＩＤＤＢ管理部７２８により作成されるＡノードについてのＩＤテーブルを例示する図である。
また、ＩＤエントリ作成部７２４は、図２２に示したデータから、Ａノード用のＩＤテーブルの各エントリを作成し、ＩＤＤＢ管理部７２８に対して出力する。
ＩＤＤＢ管理部７２８は、ＩＤエントリ作成部７２４から入力されたＩＤテーブルのエントリを、ＩＤＤＢ７６４に記憶されているＡノード用のＩＤテーブルに、順次、追加する。
ＩＤエントリ作成部７２４およびＩＤＤＢ管理部７２８による処理の結果、図２２に示したデータから、図２５に示すようなＡノード用のＩＤテーブルが作成され、ＩＤＤＢ７６４に記憶される。
【０１３２】
［データの検索］
例えば、検索者が、コミュニティ関連データ管理装置７の入出力装置１１６（図２）に対して、「作家シェークスピアを作者とする作品のうち、戯曲ハムレットを原作とする翻訳版を出版している出版社名は？」と、検索条件を質問文の形式で入力すると、検索条件作成部７８２は、この質問文を分析し、図２２に示すように、この質問文を、前半部分と後半部分の２つに分割する。
検索条件作成部７８２は、質問文の前半部分「作家シェークスピアを作者とする作品のうち、」について、「作品」に関するデータを探すということから、検索結果とされるべきＴノードＴｒｅｔの関連性役割Ｒｒｅｔを「作品」とする。
また、検索条件作成部７８２は、前半部分の「シェークスピアを作者とする」の部分から、検索フィルタ（Ｒ１＝「作者」，Ｎ１＝「シェークスピア」）を作成する。
さらに、検索条件作成部７８２は、ＴノードＴｒｅｔの関連性役割（Ｒｒｅｔ＝「作品」）と、検索フィルタ（Ｒ１＝「作者」，Ｎ１＝「シェークスピア」）とから、質問文の前半に対応する検索条件（Ｒｒｅｔ，（ＡＮＴ１），（（Ｒ１，Ｎ１）））＝（作品，（ｎｕｌｌ），（（作者，シェークスピア）））を作成する。
【０１３３】
また、検索条件作成部７８２は、後半部分「戯曲ハムレットを原作とする翻訳版を出版している出版社名は？」について、「出版している出版社」に関する情報を検索することから、検索結果とされるべきＴノードＴｒｅｔの関連性役割Ｒｒｅｔを「出版」とする。
また、検索条件作成部７８２は、後半部分に含まれる「ハムレット」を「原作」とするという条件から、第１の検索フィルタ（Ｒ１＝「原作」，Ｎ１＝「ハムレット」）を作成し、さらに、後半部分に含まれる「翻訳版」から、第２の検索フィルタ（Ｒ２＝「翻訳版」，Ｎ２＝「ｎｕｌｌ（指定なし）」）を作成する。
さらに、検索条件作成部７８２は、関連性役割（Ｒｒｅｔ＝「出版」）と、第１の検索フィルタ（Ｒ１＝「原作」，Ｎ１＝「ハムレット」）および第２の検索フィルタ（Ｒ２＝「翻訳版」，Ｎ２＝「ｎｕｌｌ」）とから、質問文の後半に対応する検索条件（Ｒｒｅｔ，（ＡＮＴ１），（（Ｒ１，Ｎ１），（Ｒ２，Ｎ２）））＝（出版，（ｎｕｌｌ），（（原作，ハムレット），（翻訳版，ｎｕｌｌ）））を作成する。
【０１３４】
検索制御部７８４は、検索条件作成部２６２が作成した検索条件に基づいて、以下に示すように、ＡＲＤＢ検索部７８６およびＩＤＤＢ検索部７８８を介してＡＲＤＢ７６０（ＡＲテーブル；図２３）およびＩＤＤＢ７６２（Ｔノード用ＩＤテーブル；図２４）を検索し、検索結果を得る。
まず、質問文の前半部分から得られた検索条件から、
（１）検索制御部７８４は、ＩＤＤＢ２４２（図２１）に記憶されたＴノードのＩＤテーブルを参照し、ノード名が「シェークスピア」であるＴノードの識別子（ＩＤ）を全て探し出し、この処理の結果として、Ｔ１１，Ｔ３１，Ｔ４１，Ｔ５１，Ｔ８１（図２４）を得る。
（２）検索制御部７８４は、ＡＲＤＢ７６０に記憶されたＡＲテーブル（図２３）を参照し、役割が「作者」であり、Ｔノード識別子が（１）の処理により得られたＴノードの識別子と一致するＡノード識別子を全て探し出し、この処理の結果として、Ａ１，Ａ４，Ａ９を得る。
（３）検索制御部７８４は、ＡＲテーブルを参照し、（２）の処理により得られたＡノード識別子のうち、関連性役割Ｒが「作品」であるＡノードに対応するＴノードの識別子（ＩＤ；一般には複数個）を探し出し、この処理の結果として、Ｔ４２，Ｔ９２を得る。
（４）検索制御部７８４は、ＩＤテーブルを参照し、識別子が（３）の処理により得られたＴノード識別子に対応するノード名を、そのＴノードの識別子（ＩＤ）とともに、検索結果とする。
つまり、検索制御部７８４は、（１）〜（４）の処理により、質問文の前半部分から得られた検索条件（作品，（ｎｕｌｌ），（（作者, シェークスピア）））に基づく検索を行い、検索結果（Ｔ４２，ハムレット）,（Ｔ９２，ベニスの商人）を得る。
次に、質問文の後半部分から得られた検索条件、および、前半部分に対応する検索結果から、
（５）検索制御部７８４は、質問文の前半部分に対応する検索結果（Ｔ４２，ハムレット）,（Ｔ９２，ベニスの商人）の内、ノード名が、第１の検索フィルタ（原作，ハムレット）と対応する（Ｔ４２，ハムレット）を選択し、そのノード識別子（ＩＤ）Ｔ４２を得る
（６）検索制御部７８４は、ＡＲテーブルを参照し、役割が「原作」であり、Ｔノード識別子が、（５）の処理により得られたノード識別子（ＩＤ）と一致するＡノードの識別子を全て探し出し、この結果としてＡ１０，Ａ１９を得る。
（７）検索制御部７８４は、ＡＲテーブルを参照し、（６）の処理により得られたＡノード識別子のうち、役割が「翻訳版」であるものを全て探し出し、この結果として、Ａ１０，Ａ１９を得る。
（８）検索制御部７８４は、ＡＲテーブルを参照し、（７）の処理により得られたＡノード識別子のうち、役割が「出版」であるＡノードに対応するＴノード識別子を探し出し、この結果としてＴ１０３を得る（複数の出版社から翻訳版が出されている場合には、複数のＴノード識別子が得られる）。
（９）検索制御部７８４は、ＩＤテーブルを参照し、ノードＩＤが（８）で得られたＴノード識別子に対応するノード名を、そのノード識別子とともに、検索結果（Ｔ１０３，○○出版）とする。
【０１３５】
つまり、検索制御部７８４は、（５）〜（９）の処理により、質問文の後半部分から得られた検索条件（出版，（ｎｕｌｌ），（（原作，ハムレット），（翻訳版，ｎｕｌｌ）））に基づく検索を行い、検索結果（Ｔ０１３，○○出版）を得る。
（１０）検索制御部７８４は、検索結果を、入出力装置１２６（図２）などに表示し、検索者に示す。
【０１３６】
［コミュニティ関連データ管理装置７によるコミュニティ情報の管理］
図２６は、図１などに示したコミュニティ関連データ管理装置７によるコミュニティ情報の管理方法を例示する図である。
コミュニティ関連データ管理装置７は、例えば、クライアントＰＣ２あるいは企業サーバ１０２から送られてくるデータを処理して、図２６に示すように、ＡＲテーブル（図１４，図２３）を作成することにより、図３〜図５に示したコミュニティを示すコミュニティ情報を管理する。
つまり、コミュニティ関連データ管理装置７は、図２６に示すように、ＡノードＡ１，Ａ２に対して、コミュニティを識別するコミュニティＩＤおよびコミュニティ情報検索システム１のユーザを識別するユーザＩＤ＃１，＃２，＃３を、ＴノードＩＤとして対応付け、コミュニティ、主催者（作成者）および参加者を、関係性役割Ｒとして対応付け、ＡＲテーブルを作成する。
【０１３７】
例えば、コミュニティ情報検索システム１において、他のノードクラスタノードなどから、ユーザ＃１に関する検索があったときに、図２６に示したＡＲテーブルを参照することにより、コミュニティ関連データ管理装置７は、ユーザ＃１が主催するコミュニティ＃１、および、ユーザＩＤ＃１のユーザが参加するコミュニティ＃２を、ユーザ＃１に関連するコミュニティとして把握することができる。
このように、コミュニティ関連データ管理装置７は、あるユーザに対する検索があったときには、ＡＲテーブルを参照し、ＴノードＩＤおよび関係性役割Ｒを、１回以上の任意の回数、順次、たどることにより、検索の対象となったユーザに関連するコミュニティの情報を返すことができる。
【０１３８】
コミュニティ関連データ管理装置７は、あるユーザとコミュニティとの関連が大きいか小さいかを、例えば、ユーザとコミュニティとの間に定義される関係性役割Ｒの数で判定することができる。
つまり、コミュニティ関連データ管理装置７は、あるユーザとあるコミュニティとの間に定義される関係性役割Ｒが存在するときには、その数が少なければ少ないほど、これらの関係は密であると判定でき、逆に、その数が多ければ多いほど、これらの関係は疎であると判定することができる。
なお、あるユーザとあるコミュニティとの間に定義される関係性役割Ｒの数が０であるときには、これらの関係が最も疎になる。
あるいは、例えば、ユーザとコミュニティとの関連の強弱を判定するときに、単なる「参加者」よりも「主催者」あるいは「作成者」の方が関連が強いとする指標を用いるといったように、関係性役割の数によらずに、ユーザとコミュニティとの関連の強弱を判定することも可能である。
【０１３９】
[プロファイル情報]
以下、コミュニティ情報検索システム１において扱われるプロファイル情報を説明する。
図２７は、図１に示したデータアクセスサーバ５が、クライアントＰＣ２からの要求に応じて、データアクセス装置３および外部プロファイル情報管理装置１４またはこれらのいずれかから読み出すユーザプロファイル情報を例示する図である。
コミュニティ情報検索システム１においては、ユーザプロファイル情報自体は、コミュニティの形成、削除とは独立して存在し、ユーザプロファイル情報は、パスによって識別されて、検索の対象となる。
図２７に示すように、ユーザプロファイル情報は、パスと、１つ以上の属性とを含む。
パスは、プロファイル名およびユーザＩＤの組み合わせを含む（プロファイル名およびユーザＩＤについては、後述する）。
なお、パスには、これらの情報の他に、ユーザプロファイル情報に含まれる属性名など、プロファイル名およびユーザＩＤ以外の要素が含まれうる。
【０１４０】
プロファイル名は、ユーザプロファイル情報の名前を示す。
ユーザＩＤは、ユーザを識別する値を示す。
属性は、ユーザプロファイル情報を構成するデータであって、ユーザプロファイル情報は、１つ以上の属性を含む。
ユーザプロファイル情報内のそれぞれの属性は属性名で識別され、属性値を値として持つ。
なお、図２７に示されたユーザプロファイル情報には、あるユーザの「名前」，「年齢」，「性別」の属性、このユーザが好む「映画」の属性、および、「その他」の付加的な属性を含み、これらの属性それぞれは、属性名と属性値とを含む。
【０１４１】
図２８は、コミュニティプロファイル情報を例示する図である。
図２９は、コミュニティリスト情報を例示する図である。
図３０は、コミュニティメンバー情報を例示する図である。
図３１は、逆引きバディリスト情報を例示する図である。
図３２は、識別子テーブル情報を例示する図である。
図２８〜図３１に示すコミュニティプロファイル情報、コミュニティリスト情報、コミュニティメンバー情報および逆引きバディ(buddy)リスト情報は、図２７に示したユーザプロファイル情報と同様な構成を採る。
クライアントＰＣ２からの要求に応じて、これらの情報は、データアクセスサーバ５（図１）によって、データアクセス装置３および外部プロファイル情報管理装置１４またはこれらのいずれかから読み出される。
【０１４２】
コミュニティプロファイル情報は、関係テーブルにより実現されるときには、１つのレコードが１つのコミュニティに対応する。
図２８に示すように、コミュニティプロファイル情報は、プロファイル名と、コミュニティＩＤとを含み、コミュニティの名称、コミュニティが作成された日時、コミュニティの作成者およびコミュニティメンバー情報への参照を、属性として含む。
コミュニティリスト情報の１レコードは、１人のユーザに対応し、コミュニティリスト情報は、各ユーザが属しているコミュニティのＩＤリストを属性として含む。
それぞれのコミュニティＩＤにより、コミュニティプロファイル情報の該当するレコードが参照される。
図２９に示すように、コミュニティリスト情報は、プロファイル名と、ユーザＩＤとを含み、このユーザＩＤが示すユーザが属する全てのコミュニティのコミュニティＩＤを、属性として含む。
コミュニティメンバー情報は、コミュニティプロファイル情報の（レコード）に含まれるポインタ属性により参照され、その１テーブルが１つのコミュニティに対応し、各テーブルには、コミュニティに属する全てのユーザのユーザＩＤおよびステータスが記憶される。
図３０に示すように、コミュニメンバー情報は、プロファイル名と、コミュニティＩＤとを含み、このコミュニティに属する全てのユーザのユーザＩＤおよびコミュニティにおけるステータス（例えば、オンライン、オフライン、ビジーなど現在の状態を示す情報）を、属性として含む。
【０１４３】
逆引きバディリスト情報の１レコードは、１人のユーザに対応する。
逆引きバディリストは、１つのコミュニティと考えることができ、コミュニティリスト情報のユーザＩＤにより、逆引きバディリスト情報の該当するレコードが参照される。
図３１に示すように、逆引きバディリスト情報は、プロファイル名と、ユーザＩＤとを含み、このユーザを仲間(buddy)としている全てのユーザのユーザＩＤを、属性として含む。
逆引きバディリストは、検索の効率化及び高速化のために用いられる。
図３２に示すように、識別子テーブル情報は、識別子管理装置８に記憶され、コミュニティ情報検索システム１と、その外部との通信に用いられるデータ量が多い識別子（例えば、文字列として表記されるＳＩＰ  ＵＲＩなど）と、コミュニティ情報検索システム１内部で用いられるデータ量が少ない識別子（例えば、符号なし整数型（32ビット）データ）との変換のために用いられ、この識別子は、コミュニティ情報検索システム１において、ユーザを一意に識別するために用いられる。
なお、図２７〜図３１に示された情報は、例えば、クライアントＰＣ２あるいは企業サーバ１０２により作成され、データアクセス装置３および外部プロファイル管理装置１４に送られて記憶される。
【０１４４】
なお、例えば、コミュニティ情報検索システム１に、１０００万人のユーザがいるときには、ユーザプロファイル情報は、プロファイルのタイプ（図２７に示した映画に関する嗜好情報など）ごとに１０Ｇバイト程度のデータ量になると予想される。
なお、一般に、ユーザプロファイルには、ユーザの特徴を表す基本情報（年齢・職業・住所など）の他に、嗜好、関心事項、興味、目的および知識などが含まれ、これらを識別（区別）するためにプロファイルタイプが用いられる。
また、コミュニティプロファイル情報は、コミュニティ情報検索システム１全体として１００Ｇバイト程度のデータ量になると予想される。
また、コミュニティリスト情報は、コミュニティ情報検索システム１全体として１００Ｇバイト程度のデータ量になると予想される。
また、コミュニティメンバー情報は、コミュニティごとに１００Ｍバイト程度のデータ量になると予想される。
また、逆引きバディリスト情報は、コミュニティ情報検索システム１全体として、１００ＧＢ程度のデータ量になると予想される。
また、識別子テーブル情報は、コミュニティ情報検索システム１全体として、１Ｇバイト程度のデータ量になると予想される。
これらの情報の内、逆引きバディリスト情報および識別子テーブル情報は、処理の高速化ためにメモリ１１４に記憶され、これら以外の情報の全ては記録装置１１８に記憶され、その一部が、処理の高速化のためにメモリ１１４にキャッシュされる。
【０１４５】
［プロファイル仕様情報］
図３３は、図１に示したプロファイル仕様情報管理装置１２に記憶され、管理されるプロファイル仕様情報を例示する図である。
プロファイル仕様情報は、プロファイル情報のメタデータであって、図２７〜図３１に示した情報それぞれに対応する。
図３３に示すように、プロファイル仕様情報は、プロファイル名、スキーマ情報、データソース、データアクセス装置情報および実行サービス情報を含む。
さらに、データアクセス装置情報は、鍵フィルタおよび鍵ハッシュ表を含む。
【０１４６】
プロファイル名は、対応付けられるプロファイル情報の名前を記述し、プロファイル仕様情報を識別するために用いられる。
スキーマ情報は、プロファイル情報のデータ構造を記述する。
データソースは、プロファイル情報がどのクラスタノードに格納されているかを記述する。
データアクセス装置情報は、プロファイル情報がどのデータアクセス装置に格納されているかを示す。
実行サービス情報は、必要に応じてプロファイル仕様情報に含められ、プロファイル情報の操作に伴って実行されるサービスを示す。
【０１４７】
鍵フィルタは、与えられたメッセージ（本明細書においては、ユーザＩＤまたはコミュニティＩＤ）から、固定長の擬似乱数を生成するために用いられる関数（具体的には、ＭＤ５やＳＨＡ１のようなハッシュ関数）を記述する。
なお、鍵フィルタによって生成された固定長の擬似乱数を、鍵フィルタ値という。
鍵ハッシュ表は、鍵フィルタ値と、検索対象であるデータ（図１に示したデータアクセス装置３を識別する値）とを対応付ける表を記述する。
なお、以下、「データアクセス装置３を識別する値」を、「データアクセス装置ＩＤ」と記述する。
【０１４８】
図３４は、図２７〜図３２に示した情報の参照関係などを示す図である。
既に述べたように、ユーザプロファイル情報自体は、コミュニティの形成、削除とは独立して存在する。
また、コミュニティプロファイル情報は、関係テーブルで実装する場合、その１レコードが１つのコミュニティに対応する。
コミュニティメンバー情報は、コミュニティプロファイル情報の（レコード）に含まれるポインタ属性により参照され、その１テーブルが１つのコミュニティに対応し、各テーブルには、コミュニティに属する全てのユーザのユーザＩＤおよびステータスが記憶される。
また、コミュニティリスト情報は、そのレコードが１人のユーザに対応し、各ユーザが属しているコミュニティのＩＤリストを属性として含み、それぞれのコミュニティＩＤにより、コミュニティプロファイル情報の該当するレコードが参照されます。
また、逆引きバディリスト情報も、その１レコードが１人のユーザに対応する。
逆引きバディリストも、１つのコミュニティと考えられ、コミュニティリスト情報のユーザＩＤにより、逆引きバディリスト情報の該当するレコードが参照される。
図３４に示すように、プロファイル名により識別されたプロファイル仕様情報から対応するユーザプロファイル情報のスキーマ、データソースなどの情報が読み出され、さらに、システム内部用に変換されたユーザＩＤを利用して、ユーザプロファイル情報が特定される。
ユーザ情報（図２７）は、そのプロファイル仕様情報により参照される。
外部の識別子（例えば、ＳＩＰ  ＵＲＩ）は、識別子テーブル情報により、コミュニティ情報検索システム１内部で用いられる識別子（ユーザＩＤ）に変換され、ユーザプロファイル情報およびコミュニティリスト情報のＩＤとして利用される。
【０１４９】
コミュニティプロファイル情報は、コミュニティリスト情報に含まれる各ユーザが属するそれぞれのコミュニティのコミュニティＩＤを示す属性により参照される。
逆引きバディリスト情報は、コミュニティリスト情報に含まれるユーザＩＤにより参照される。
コミュニティメンバー情報は、コミュニティメンバー情報は、コミュニティプロファイル情報（のレコード）に含まれるポインタ属性により参照され、１テーブルが１つのコミュニティに対応する。
コミュニティメンバー情報の各テーブルには、コミュニティに属する全てのユーザのユーザIDおよびステータスを記憶される。
コミュニティメンバー情報は、ユーザのコミュニティへの加入およびコミュニティからの離脱に応じて、随時、更新され、また、ユーザプロファイル情報およびコミュニティプロファイル情報の変更に伴って、随時、更新される。
【０１５０】
図３５は、図１に示したデータアクセス装置３に記憶され、管理されるプロファイル情報を例示する図である。
プロファイル名、ユーザＩＤまたはコミュニティＩＤ（ＩＤ）、鍵フィルタ値およびプロファイル情報は、上述の通りである。
フラグは、鍵ハッシュ表において、あるデータアクセス装置ＩＤが、鍵フィルタ値に対応付けられなくなったとき、そのデータアクセス装置ＩＤに対応付けられるデータアクセス装置３に格納されるプロファイル情報であるか否かを示す。
【０１５１】
このように、パスのうち、プロファイル名は、データアクセス装置３がプロファイル仕様情報を識別し、検索するために使用される。
さらに、検索されたプロファイル仕様情報およびパスは、データアクセス装置３がプロファイル情報を検索するために使用される。
なお、パスは、プロファイル情報全体を検索するためのほかに、プロファイル情報の一部を検索するためにも使用されうる。
【０１５２】
[データアクセス装置３]
図１に示したデータアクセス装置３は、図３６〜図４０を参照して後述するプロファイル情報操作プログラム３０を実行して、下記（１）〜（３）の処理を行う。
【０１５３】
（１）プロファイル情報検索処理：
クライアントＰＣ２（図１）を操作するユーザが、ユーザにとって既知のパスを指定して、情報（図２７，図３５）の検索を指示すると、クライアントＰＣ２は、その指定および指示を受け入れ、データアクセス装置３に送信する。
検索を指示されたデータアクセス装置３は、プロファイル情報を検索する。
データアクセス装置３は、検索したプロファイル情報を、検索を要求したクライアントＰＣ２に送信する。
【０１５４】
（２）プロファイル情報格納処理：
上述した「（１）プロファイル情報検索処理」においてと同様に、ユーザがパスおよび格納すべきプロファイル情報を指定して、プロファイル情報の格納を指示すると、クライアントＰＣ２は、その指定および指示を受け入れ、データアクセス装置３に送信する。
格納を指示されたデータアクセス装置３は、プロファイル情報を格納する。
【０１５５】
（３）プロファイル情報削除処理：
上述した「（１）プロファイル情報検索処理」においてと同様に、ユーザがパスを指定して、プロファイル情報の削除を指示すると、クライアントＰＣ２は、その指定および指示を受け入れ、データアクセス装置３に送信する。
なお、ユーザは、パスおよび削除すべきプロファイル情報を指定することができる。
削除を指示されたデータアクセス装置３は、プロファイル情報を削除する。
【０１５６】
さらに、データアクセス装置３は、図４１を参照して後述するプロファイル仕様情報確認プログラム４０を実行して、下記（４）の処理を行う。
（４）プロファイル仕様情報確認処理：
プロファイル仕様情報更新部４２６（図４２）が、プロファイル仕様情報（図３３）を更新した場合、データアクセス装置３は、更新されたプロファイル仕様情報を読み込み、プロファイル仕様情報に含まれる鍵ハッシュ表に変更があったか否かを調べる。
【０１５７】
さらに、データアクセス装置３は、プロファイル仕様情報管理装置１２（図１）と協働して、下記（５）の処理を行う。
（５）プロファイル仕様情報検索処理：
プロファイル仕様情報検索部３２４（図３７）が、プロファイル仕様情報キャッシュＤＢ３０２から、所望のプロファイル仕様情報（図３３）を検索できなかった場合、データアクセス装置３は、プロファイル仕様情報管理装置１２に対し、検索できなかったプロファイル仕様情報の検索を要求する。
検索を要求されたプロファイル仕様情報管理装置１２は、プロファイル仕様情報を検索する。
【０１５８】
さらに、データアクセス装置３は、外部プロファイル情報管理装置１４（図１）と協働して、下記（６）の処理を行う。
（６）プロファイル情報検索処理：
データアクセス装置３によるプロファイル情報の検索（図３７を参照して後述する、プロファイル情報検索部３３８における検索処理）が行われたが、プロファイル情報キャッシュＤＢ３０４、ユーザプロファイル情報ＤＢ３０６、コミュニティプロファイル情報ＤＢ３０８、コミュニティリスト情報ＤＢ３１０および逆引きバディリスト情報ＤＢ３１２に、所望の情報（図２７〜図３１）が記憶されておらず検索できなかった場合、データアクセス装置３は、外部プロファイル情報管理装置１４に対し、検索できなかったプロファイル情報の検索を要求する。
検索を要求された外部プロファイル情報管理装置１４は、プロファイル情報を検索する。
【０１５９】
［プロファイル情報操作プログラム３０］
図３６は、図１に示したデータアクセス装置３上で実行されるプロファイル情報操作プログラム３０の構成を示す図である。
図３６に示すように、プロファイル情報操作プログラム３０は、通信処理部３００、プロファイル仕様情報キャッシュＤＢ３０２、プロファイル情報キャッシュＤＢ３０４、ユーザプロファイル情報ＤＢ３０６、コミュニティプロファイル情報ＤＢ３０８、コミュニティリスト情報ＤＢ３１０、逆引きバディリスト情報ＤＢ３１４、識別子テーブル情報ＤＢ３１６、コミュニティメンバー情報ＤＢ３１２、プロファイル情報検索部３２、プロファイル情報格納部３６およびプロファイル情報削除部３８から構成される。
【０１６０】
通信処理部３００は、他のクラスタノードと通信するために必要な処理を行う。
プロファイル仕様情報キャッシュＤＢ３０２は、プロファイル仕様情報（図３３）をキャッシュデータとして格納する。
なお、キャッシュ処理の詳細は、図４６および図４７を参照して後述する。
プロファイル情報キャッシュＤＢ３０４は、図２７〜図３２に示した情報をキャッシュデータとして格納する。
なお、キャッシュ処理の詳細は、図４９〜図５２を参照して後述する。
ユーザプロファイル情報ＤＢ３０６は、ユーザプロファイル情報（図２７）を記憶する。
コミュニティプロファイル情報ＤＢ３０８は、コミュニティプロファイル情報（図２８）を記憶する。
コミュニティメンバー情報ＤＢ３１２は、コミュニティメンバー情報ＤＢ３１２（図２９）を記憶する。
コミュニティリスト情報ＤＢ３１０は、コミュニティリスト情報（図３０）を記憶する。
逆引きバディリスト情報ＤＢ３１４は、逆引きバディリスト情報（図３１）を記憶する。
識別子テーブル情報ＤＢ３１６は、識別子テーブル情報（図３２）を記憶する。
【０１６１】
図３７は、図３６に示したプロファイル情報検索部３２の構成を示す図である。
図３７に示すように、プロファイル情報検索部３２は、ユーザインターフェース（ＵＩ）部３２０、リクエスト解釈部３２２、プロファイル仕様情報検索部３２４、データアクセス装置特定部３２６、アクセス制御部３３４、サービス実行制御部３３６、プロファイル情報検索部３３８、クラスタノード特定部３４０から構成される。
さらに、データアクセス装置特定部３２６は、鍵フィルタ値算出部３２８、データアクセス装置ＩＤ取得部３３０およびデータアクセス装置ＩＤ判定部３３２から構成される。
さらに、クラスタノード特定部３４０は、データソース読出部３４２、プロファイル情報検索部３４４、プロファイル情報格納部３４６から構成される。
【０１６２】
プロファイル情報検索部３２は、これらの構成部分により、通信処理部３００、プロファイル仕様情報キャッシュＤＢ３０２、プロファイル情報キャッシュＤＢ３０４、ユーザプロファイル情報ＤＢ３０６、コミュニティプロファイル情報ＤＢ３０８、コミュニティリスト情報ＤＢ３１０、逆引きバディリスト情報ＤＢ３１４、コミュニティメンバー情報ＤＢ３１２およびクラスタノード特定部３４０と協働して、上述した「（１）プロファイル情報検索処理」を行う。
また、同様に、プロファイル情報検索部３２は、プロファイル情報格納部３６（図３９を参照して後述）などと協働して、上述した「（２）プロファイル情報格納処理」を行う。
また、同様に、プロファイル情報検索部３２は、プロファイル情報削除部３８（図４０を参照して後述）などと協働して、「（３）プロファイル情報削除処理」を行う。
【０１６３】
ＵＩ部３２０は、データアクセス装置３のユーザに対して、その操作を補助するためのユーザインターフェースを提供する。
また、同様に、ＵＩ部３２０は、ネットワーク１００を介して、クライアントＰＣ２などの他のクラスタノードのユーザに対して、データアクセス装置３（プロファイル情報操作プログラム３０）の操作を補助するためのユーザインターフェースを提供する。
さらに、ＵＩ部３２０は、ユーザインターフェースに対して行われた操作を受け入れ、受け入れた操作を示すデータを、リクエスト解釈部３２２に対して出力する。
【０１６４】
リクエスト解釈部３２２は、識別子テーブル情報DB３１４の情報に基づき、システム内部でのユーザIDへの変換を行い、ＵＩ部３２０から入力されたユーザの操作（命令の種類・パスなど）およびプロファイル情報を解釈する。
クライアントＰＣ２から送信された命令が、「（１）プロファイル情報検索処理」を要求するときには、リクエスト解釈部３２２は、解釈したパスを、プロファイル仕様情報検索部３２４、鍵フィルタ値算出部３２８、データアクセス装置ＩＤ判定部３３２、プロファイル情報検索部３３８およびプロファイル情報検索部３４４に対して出力する。
【０１６５】
また、クライアントＰＣ２から送信された命令が、「（２）プロファイル情報格納処理」を要求するときには、リクエスト解釈部３２２は、解釈したパスを、プロファイル仕様情報検索部３２４、鍵フィルタ値算出部３２８およびデータアクセス装置ＩＤ判定部３３２に対して出力する。
さらに、リクエスト解釈部３２２は、解釈したパスを、プロファイル情報格納部３６２（図３９を参照して後述）に対して出力する。
さらに、リクエスト解釈部３２２は、解釈したプロファイル情報を、前提条件確認部３６０（図３９を参照して後述）およびプロファイル情報格納部３６２に対して出力する。
【０１６６】
また、クライアントＰＣ２から送信された命令が、「（３）プロファイル情報削除処理」を要求するときには、リクエスト解釈部３２２は、解釈したパスを、図３７に示したプロファイル仕様情報検索部３２４、鍵フィルタ値算出部３２８およびデータアクセス装置ＩＤ判定部３３２に対して出力する。
さらに、リクエスト解釈部３２２は、解釈したパスを、プロファイル情報削除部３８０（図４０を参照して後述）に対して出力する。
さらに、リクエスト解釈部３２２は、解釈したプロファイル情報があれば、そのプロファイル情報を、前提条件確認部３６０（図４０を参照して後述）およびプロファイル情報削除部３８０に対して出力する。
【０１６７】
図３３に示したように、プロファイル名は、プロファイル仕様情報（図３３）それぞれに対して、一意に定義される。
従って、プロファイル仕様情報は、リクエスト解釈部３２２から出力されるパスに含まれるプロファイル名を使用して検索されうる。
プロファイル仕様情報検索部３２４は、リクエスト解釈部３２２から入力されるプロファイル名を使用して、プロファイル仕様情報キャッシュＤＢ３０２などから、プロファイル仕様情報を検索する。
「（１）プロファイル情報検索処理」において、プロファイル仕様情報検索部３２４は、検索したプロファイル仕様情報を、鍵フィルタ値算出部３２８、データアクセス装置ＩＤ取得部３３０、サービス実行制御部３３６およびデータソース読出部３４２に対して出力する。
また、「（２）プロファイル情報格納処理」において、プロファイル仕様情報検索部３２４は、検索したプロファイル仕様情報（図３３）を、鍵フィルタ値算出部３２８、データアクセス装置ＩＤ取得部３３０およびサービス実行制御部３３６に対して出力する。
さらに、プロファイル仕様情報検索部３２４は、検索したプロファイル仕様情報を、プロファイル情報格納部３６２（図３９を参照して後述）に出力する。
【０１６８】
また、「（３）プロファイル情報削除処理」において、プロファイル仕様情報検索部３２４は、検索したプロファイル仕様情報（図３３）を、鍵フィルタ値算出部３２８、データアクセス装置ＩＤ取得部３３０およびサービス実行制御部３３６に対して出力する。
さらに、プロファイル仕様情報検索部３２４は、検索したプロファイル仕様情報を、プロファイル情報削除部３８０（図４０を参照して後述）に出力する。
【０１６９】
図３８は、図３７に示したデータアクセス装置特定部３２６の処理を示す図である。
データアクセス装置特定部３２６の鍵フィルタ値算出部３２８は、リクエスト解釈部３２２から入力されたパスに含まれるユーザＩＤまたはコミュニティＩＤ（ＩＤ）と、プロファイル仕様情報検索部３２４から入力されたプロファイル仕様情報に含まれる鍵フィルタとを用いて、鍵フィルタ値を算出し、データアクセス装置ＩＤ取得部３３０に対して出力する。
なお、具体的には、鍵フィルタ値算出部３２８は、ＩＤを鍵フィルタに代入することにより、鍵フィルタ値を算出する。
【０１７０】
データアクセス装置ＩＤ取得部３３０は、鍵フィルタ値算出部３２８から入力された鍵フィルタ値と、プロファイル仕様情報検索部３２４から入力されたプロファイル仕様情報に含まれる鍵ハッシュ表とを用いて、いずれかのデータアクセス装置３を特定する識別子（データアクセス装置ＩＤ）を導出する。
データアクセス装置ＩＤ取得部３３０は、導出したデータアクセス装置ＩＤを、データアクセス装置ＩＤ判定部３３２に対して出力する。
【０１７１】
データアクセス装置ＩＤ判定部３３２は、データアクセス装置ＩＤ取得部３３０から入力されたデータアクセス装置ＩＤに対応するデータアクセス装置３が、プロファイル情報操作プログラム３０を動作しているデータアクセス装置３を示すデータアクセス装置ＩＤを含むか否かを判定する。
例えば、プロファイル情報操作プログラム３０が、データアクセス装置３−ｉ（ｉ＝１〜ｎ）上で実行されているとき、このプロファイル情報操作プログラム３０に含まれるデータアクセス装置ＩＤ判定部３３２は、データアクセス装置ＩＤに対応する１つ以上のデータアクセス装置３に、データアクセス装置３−ｉが含まれているか否かを判定する。
データアクセス装置ＩＤ判定部３３２は、プロファイル情報操作プログラム３０が動作中のデータアクセス装置ＩＤを含まない（上記の例で言えば、データアクセス装置ＩＤに対応する１つ以上のデータアクセス装置３に、データアクセス装置３−ｉが含まれない）と判定した場合、以下の処理を行う。
【０１７２】
データアクセス装置ＩＤ判定部３３２は、データアクセス装置ＩＤ取得部３３０から入力されたデータアクセス装置ＩＤに対応するデータアクセス装置３に、リクエスト解釈部３２２から入力されたパスを指定して、そのパスに対応付けられる情報（図２７〜図３１）の検索を要求する。
このとき、検索を要求されたデータアクセス装置３がアクセスを拒否するなど、通信エラーが発生することがある。
検索を要求されたデータアクセス装置３に通信エラーが発生した場合、アクセス装置ＩＤ判定部３３２は、アクセスを拒否したデータアクセス装置３がエラー状態にあることを記録する。
さらに、アクセス装置ＩＤ判定部３３２は、エラー記録がされているアクセス装置３に対して、プロファイル情報の検索を要求しないようにする。
【０１７３】
具体的には、アクセス装置ＩＤ判定部３３２は、コミュニティ情報検索システム１（図１）に接続されたＳＮＭＰ（Simple Network Management Protocol）エージェント（図示せず）に、クラスタノードやアクセス装置３のエラー状態を送信する。
ネットワーク管理者は、コミュニティ情報検索システム１に接続されたＳＮＭＰマネージャ（図示せず）で、ＳＮＭＰエージェントから送信されたエラー状態を管理することができる。
以下、各種通信エラーが発生した際、同様の処理が行われる。
【０１７４】
通信エラー等によって処理が中断されなければ、検索を要求されたデータアクセス装置３は、ユーザプロファイル情報ＤＢ３０６などから、指定されたパスに対応付けられるプロファイル情報を検索する。
検索を要求されたデータアクセス装置３は、検索したプロファイル情報を、データアクセス装置ＩＤ判定部３３２に送信する。
【０１７５】
「（１）プロファイル情報検索処理」において、データアクセス装置ＩＤ判定部３３２は、データアクセス装置３から返されたプロファイル情報を、検索を要求したクライアントＰＣ２に送信する。
データアクセス装置ＩＤ判定部３３２が、プロファイル情報をクライアントＰＣに適切に送信した後、プロファイル情報操作プログラム３０は検索処理を終了する。
「（２）プロファイル情報格納処理」および「（３）プロファイル情報削除処理」において、データアクセス装置ＩＤ判定部３３２は、データアクセス装置３から返されたプロファイル情報を、前提条件確認部３６０（図３９および図４０を参照して後述）に送信する。
一方、データアクセス装置ＩＤ判定部３３２が、プロファイル情報操作プログラム３０が動作しているデータアクセス装置３を含むと判定した場合、プロファイル情報操作プログラム３０は、操作処理をアクセス制御部３３４に移す。
【０１７６】
アクセス制御部３３４は、操作処理を要求したクライアントＰＣ２からデータアクセス装置３へのアクセスが、アクセスポリシに則って許可されるアクセスであるか否かを判定する。
具体的には、アクセス制御部３３４は、操作処理を要求したクライアントＰＣ２から、データアクセス装置３にアクセスできるか否かを、ポリシサーバ１６に問い合わせる。
問い合わせを受けたポリシサーバ１６は、アクセスの可否を、データアクセス装置３に送信する。
ポリシサーバ１６がアクセスを許可する場合、プロファイル情報操作プログラム３０は、操作処理をサービス実行制御部３３６に移す。
一方、ポリシサーバ１６がアクセスを拒否する場合、プロファイル情報操作プログラム３０は、操作処理をクラスタノード特定部３４０に移す。
【０１７７】
サービス実行制御部３３６は、プロファイル仕様情報検索部３２４から入力された仕様情報に含まれる、実行サービス情報を読み出す。
サービス実行制御部３３６は、サービス実行装置１８に、読み出した実行サービス情報の内容に基づくサービスの実行を要求する。
なお、サービスが実行されるタイミングは、プロファイル情報が操作される前でも後でもよい。
また、サービスがまったく行われなくともよい。
サービス実行を要求されたサービス実行装置１８が、適切にサービスを実行した後、プロファイル情報操作プログラム３０は、操作処理をプロファイル情報検索部３３８に移す。
【０１７８】
プロファイル情報検索部３３８は、プロファイル情報キャッシュＤＢ３０４と、ユーザプロファイル情報ＤＢ３０６、コミュニティプロファイル情報ＤＢ３０８、コミュニティリスト情報ＤＢ３１０、逆引きバディリスト情報ＤＢ３１４およびコミュニティメンバー情報ＤＢ３１２とから、情報（図２７〜図３１）を検索する。
あるいは、プロファイル情報検索部３３８は、プロファイル情報キャッシュＤＢ３０４、および、ユーザプロファイル情報ＤＢ３０６、コミュニティプロファイル情報ＤＢ３０８、コミュニティリスト情報ＤＢ３１０および逆引きバディリスト情報ＤＢ３１４のいずれかから、情報（図２７〜図３１）を検索する。
パスはプロファイル情報それぞれに対して一意であるから、プロファイル情報検索部３３８は、リクエスト解釈部３２２から入力されたパスを用いて、パスに対応付けられるプロファイル情報を検索する。
【０１７９】
「（１）プロファイル情報検索処理」において、プロファイル情報検索部３３８は、プロファイル情報を検索して、検索されたプロファイル情報を、検索を要求したクライアントＰＣ２に送信する。
プロファイル情報検索部３３８が、クライアントＰＣ２にプロファイル情報を適切に返した後、プロファイル情報操作プログラム３０は、検索処理を終了する。
処理の途中でエラーが発生するなど、プロファイル情報検索部３３８がプロファイル情報を検索できない場合、プロファイル情報操作プログラム３０は、操作処理をクラスタノード特定部３４０に移す。
【０１８０】
クラスタノード特定部３４０は、アクセス制御部３３４でアクセスが拒否された場合、および、プロファイル情報検索部３３８でプロファイル情報を検索できなかった場合などには、他クラスタノードからプロファイル情報を検索する。
データソース読出部３４２は、プロファイル仕様情報検索部３２４から入力されたプロファイル仕様情報（図３３）に含まれるデータソースを用いて、情報（図２７〜図３１）が記憶されているクラスタノードを導出する。
データソース読出部３４２は、導出したクラスタノードの情報を、プロファイル情報検索部３４４に対して出力する。
【０１８１】
プロファイル情報検索部３４４は、データソース読出部３４２から入力されたクラスタノードの情報を読み出す。
さらに、プロファイル情報検索部３４４は、読み出したクラスタノードに対して、リクエスト解釈部３２２から入力されたパスを指定して、そのパスに対応付けられるプロファイル情報の検索を要求する。
【０１８２】
検索を要求されたクラスタノードは、そのクラスタノードのユーザプロファイル情報ＤＢ３０６などから、プロファイル情報検索部３４４により指定されたパスに対応付けられる情報（図２７〜図３１）を検索する。
なお、この検索処理の詳細は、図４３を参照して後述する。
さらに、検索を要求されたクラスタノードは、プロファイル情報を検索した後、検索したプロファイル情報を、プロファイル情報検索格納部３４６に送信する。
【０１８３】
「（１）プロファイル情報検索処理」において、プロファイル情報格納部３４６は、クラスタノードから送信されたプロファイル情報を、検索を要求したクライアントＰＣ２に送信する。
さらに、プロファイル情報格納部３４６は、クラスタノードから送信されたプロファイル情報を、プロファイル情報キャッシュＤＢ３０４に格納する。
プロファイル情報格納部３４６が、プロファイル情報を適切に処理した後、プロファイル情報操作プログラム３０は、検索処理を終了する。
【０１８４】
「（２）プロファイル情報格納処理」および「（３）プロファイル情報削除処理」において、プロファイル情報格納部は、クラスタノードから送信されたプロファイル情報を、前提条件確認部３６０（図３９および図４０を参照して後述）に送信する。
さらに、プロファイル情報格納部３４６は、クラスタノードから送信されたプロファイル情報を、プロファイル情報キャッシュＤＢ３０４に格納する。
【０１８５】
図３９は、図３７に示したプロファイル情報格納部３６の構成を示す図である。
図３９に示すように、プロファイル情報格納部３６は、前提条件確認部３６０およびプロファイル情報格納部３６２から構成される。
プロファイル情報格納部３６は、プロファイル情報検索部３２などと協働して、上述した「（２）プロファイル情報格納処理」を行う。
さらに、プロファイル情報格納部３６は、必要に応じて、「（２）プロファイル情報格納処理」に加え、情報（図２７〜図３１）が適切に格納された旨を、格納を要求したクライアントＰＣ２に通知する。
【０１８６】
前提条件確認部３６０は、図３７に示したリクエスト解釈部３２２から入力された情報（図２７〜図３１）を読み出して、これらの情報を格納するための前提条件が一致しているか否かを確認する。
前提条件が一致しているか否かとは、例えば、ある属性の値が決められた範囲内にあるか否か、書式に従っているか否かなどを示す。
前提条件確認部３６０が、前提条件の一致を確認した後、プロファイル情報操作プログラム３０は、格納処理をプロファイル情報格納部３６２に移す。
【０１８７】
プロファイル情報格納部３６２は、プロファイル仕様情報検索部３２４から入力されたプロファイル仕様情報に含まれるデータソースを読み出す。
さらに、プロファイル情報格納部３６２は、読み出したデータソースに対応付けられるクラスタノードに対して、リクエスト解釈部３２２から送信されたパスを指定して、リクエスト解釈部３２２から入力されたプロファイル情報の格納を要求する。
【０１８８】
なお、読み出したデータソースに対応付けられるクラスタノードが複数存在する場合、ネットワーク１００の負荷が高くなるおそれがある。
ネットワーク１００の高負荷状態を回避するためには、プロファイル情報格納部３６２が、全てのクラスタノードに対して、プロファイル情報格納処理に伴って発生するサービス実行制御部３３６（図３７）によるサービス実行、および、前提条件確認部３６０による前提条件の確認を要求しないようにすればよく、あるいは、必要に応じて一部のクラスタノードに対して要求するようにすればよい。
さらに、プロファイル情報格納部３６２は、ユーザプロファイル情報ＤＢ３０６などに対して、リクエスト解釈部３２２から入力されたパスを指定して、情報（図２７〜図３１）を更新する。
プロファイル情報格納部３６２が適切に格納および更新を行った後、プロファイル情報操作プログラム３０は、格納処理を終了する。
【０１８９】
図４０は、図３７に示したプロファイル情報削除部３８の構成を示す図である。
図４０に示すように、プロファイル情報削除部３８は、前提条件確認部３６０およびプロファイル情報削除部３８０から構成される。
プロファイル情報削除部３８は、これらの構成部分により、プロファイル情報検索部３２などと協働して、上述した「（３）プロファイル情報削除処理」を行う。
さらに、プロファイル情報削除部３８は、必要に応じて、「（３）プロファイル情報削除処理」に加えて、情報（図２７〜図３１）が適切に格納された旨を、格納を要求したクライアントＰＣ２に通知する。
【０１９０】
前提条件確認部３６０は、図３７に示したプロファイル情報検索部３３８またはプロファイル情報格納部３４６から入力されたプロファイル情報を読み出して、プロファイル情報を削除するための前提条件が一致しているか否かを確認する。
前提条件確認部３６０が前提条件の一致を確認した後、プロファイル情報操作プログラム３０は、削除処理をプロファイル情報削除部３８０に移す。
【０１９１】
プロファイル情報削除部３８０は、図３７に示したプロファイル仕様情報検索部３２４から入力されたプロファイル仕様情報（図３３）に含まれるデータソースを読み出す。
さらに、プロファイル情報削除部３８０は、読み出したデータソースに対応付けられるクラスタノードに対して、図３７に示したリクエスト解釈部３２２から入力されたパスを指定して、パスに対応付けられるプロファイル情報を削除する要求を出す。
さらに、プロファイル情報削除部３８０は、読み出したデータソースから、読み出したデータソースに対応付けられるクラスタノードに関する記載を削除する。
【０１９２】
なお、読み出したデータソースに対応付けられるクラスタノードが複数存在する場合、ネットワーク１００（図１）の負荷状況が高くなるおそれがある。
ネットワークの高負荷状態の回避のためには、プロファイル情報削除部３８０が、複数のクラスタノードすべてに対して、プロファイル情報の格納に伴って起こりうる、サービス実行制御部３３６（図３７）によるサービスの実行、および、前提条件確認部３６０による前提条件の確認を要求しないようにすればよい。
さらに、プロファイル情報削除部３８０は、ユーザプロファイル情報ＤＢ３０６などに対して、パスを指定して、そのパスに対応付けられる情報（図２７〜図３１）を削除する。
プロファイル情報削除部３８０が適切に削除を行った後、プロファイル情報操作プログラム３０は、削除処理を終了する。
【０１９３】
[プロファイル仕様情報確認プログラム４０]
データアクセス装置３（図１）は、図４１に示すプロファイル仕様情報確認プログラム４０を実行して、上述した「（４）プロファイル仕様情報確認処理」を行う。
図４１は、データアクセス装置３上で動作するプロファイル仕様情報確認プログラム４０の構成を示す図である。
図４１に示すように、プロファイル仕様情報確認プログラム４０は、通信処理部３００、プロファイル仕様情報確認部４００から構成される。
【０１９４】
プロファイル仕様情報が更新されたとき、データアクセス装置３は、プロファイル仕様情報管理装置１２から、プロファイル仕様情報を受け取る（図４２を参照して後述）。
データアクセス装置３は、通信処理部３００を介して受け取ったプロファイル仕様情報に含まれる鍵ハッシュ表において、現在処理を行っているデータアクセス装置３に関する情報に変化があるか否かを調べる。
つまり、データアクセス装置３は、鍵ハッシュ表の更新によって、現在処理を行っているデータアクセス装置３に対応付けられる鍵フィルタ値が記述されなくなり、そのデータアクセス装置３に記憶されているプロファイル仕様情報を、他のデータアクセス装置３に移動させる必要が生じたか否かを調べる。
鍵ハッシュ表が更新されていない場合、および、鍵ハッシュ表が更新されているが、現在処理を行っているデータアクセス装置３に対応付けられる鍵フィルタ値が更新されていない場合、プロファイル仕様情報確認プログラム４０は、確認処理を終了する。
一方、鍵ハッシュ表の更新によって、現在処理を行っているデータアクセス装置３に対応付けられる鍵フィルタ値が記述されなくなった場合、そのデータアクセス装置３に記憶されるプロファイル仕様情報を、他のデータアクセス装置３に移動させる必要がある。
【０１９５】
具体的には、データアクセス装置３は、以下の処理を行う。
データアクセス装置３は、移動すべきプロファイル仕様情報に含まれるフラグを無効に設定して、フラグが無効に設定されている間、他のクラスタノードからアクセスされないようにする。
さらに、データアクセス装置３は、移動すべきプロファイル仕様情報を、更新された鍵ハッシュ表において、そのプロファイル仕様情報を記憶するとされたデータアクセス装置３に格納する。
データアクセス装置３が適切にプロファイル仕様情報を格納した後、プロファイル仕様情報確認プログラム４０は、確認処理を終了する。
このような処理により、データアクセス装置３間におけるデータの移動が、最小限になる。
【０１９６】
[プロファイル仕様情報管理装置１２]
ロファイル仕様情報管理装置１２（図１）は、図４２に示すプロファイル仕様情報操作プログラム４２を実行して、上述した「（５）プロファイル仕様情報検索処理」に加えて、下記の（７）〜（９）の処理を行う。
【０１９７】
（７）プロファイル仕様情報格納処理：
プロファイル仕様情報を指定されて、そのプロファイル仕様情報の格納を要求されたとき、プロファイル仕様情報管理装置１２は、プロファイル仕様情報を格納する。
【０１９８】
（８）プロファイル仕様情報更新処理：
プロファイル名およびプロファイル仕様情報を指定されて、プロファイル名に対応付けられるプロファイル仕様情報を、指定したプロファイル仕様情報に更新することを要求されたとき、プロファイル仕様情報管理装置１２は、プロファイル仕様情報を更新する。
【０１９９】
（９）プロファイル仕様情報削除処理：
プロファイル名を指定されて、プロファイル名に対応付けられるプロファイル仕様情報の削除を要求されたとき、プロファイル仕様情報管理装置１２は、プロファイル仕様情報を削除する。
【０２００】
[プロファイル仕様情報操作プログラム４２]
図４２は、プロファイル仕様情報管理装置１２（図１）上で動作するプロファイル仕様情報操作プログラム４２の構成を示す図である。
図４２に示すように、プロファイル仕様情報操作プログラム４２は、通信処理部３００、リクエスト解釈部４２０、プロファイル仕様情報検索部４２２、プロファイル仕様情報格納部４２４、プロファイル仕様情報更新部４２６、プロファイル情報削除部４２８およびプロファイル仕様情報ＤＢ４３０から構成される。
プロファイル仕様情報操作プログラム４２は、これらの構成部分により、上記「（５）プロファイル仕様情報検索処理」、「（７）プロファイル仕様情報格納処理」、「（８）プロファイル仕様情報更新処理」および「（９）プロファイル仕様情報削除処理」の処理を行う。
【０２０１】
リクエスト解釈部４２０は、通信処理部３００を介して他クラスタノードから送信された指示（命令の種類・プロファイル名など）およびプロファイル仕様情報を解釈する。
他クラスタノードから送信された命令が「（５）プロファイル仕様情報検索処理」を要求するときには、リクエスト解釈部４２０は、解釈したプロファイル名を、プロファイル仕様情報検索部４２２に対して出力する。
【０２０２】
また、他クラスタノードから送信された命令が「（７）プロファイル仕様情報格納処理」を要求するときには、リクエスト解釈部４２０は、解釈したプロファイル名およびプロファイル仕様情報を、プロファイル仕様情報格納部４２４に対して出力する。
【０２０３】
また、他クラスタノードから送信された命令が「（８）プロファイル仕様情報更新処理」を要求するときには、リクエスト解釈部４２０は、解釈したプロファイル名およびプロファイル仕様情報を、プロファイル仕様情報更新部４２６に対して出力する。
【０２０４】
また、他クラスタノードから送信された命令が「（９）プロファイル仕様情報削除処理」を要求するときには、リクエスト解釈部４２０は、解釈したプロファイル名を、プロファイル仕様情報削除部４２８に対して出力する。
【０２０５】
「（５）プロファイル仕様情報検索処理」において、プロファイル仕様情報検索部４２２は、プロファイル仕様情報を検索して、通信処理部３００を介して、検索を要求したクラスタノードに、検索したプロファイル仕様情報を送信する。
プロファイル仕様情報検索部４２２が適切にプロファイル仕様情報を送信した後、プロファイル仕様情報操作プログラム４２は、検索処理を終了する。
【０２０６】
「（７）プロファイル仕様情報格納処理」において、プロファイル仕様情報格納部４２４は、リクエスト解釈部４２２から入力されたプロファイル名を用いて、リクエスト解釈部４２２から入力されたプロファイル仕様情報を、プロファイル仕様情報ＤＢ４３０に格納する。
プロファイル仕様情報格納部４２４が適切にプロファイル仕様情報を格納した後、プロファイル仕様情報操作プログラム４２は、格納処理を終了する。
【０２０７】
「（８）プロファイル仕様情報格納処理」において、プロファイル仕様情報更新部４２６は、リクエスト解釈部４２０から入力されたプロファイル名を用いて、プロファイル名に対応付けられるプロファイル仕様情報を、プロファイル仕様情報ＤＢ４３０から検索する。
【０２０８】
さらに、プロファイル仕様情報更新部４２６は、検索したプロファイル仕様情報を、リクエスト解釈部４２０から入力されたプロファイル仕様情報に更新する。
さらに、プロファイル仕様情報格納部４２４は、格納したプロファイル仕様情報をデータアクセス装置３に送信して、図４１を参照して上述したように、プロファイル仕様情報の確認を要求する。
プロファイル仕様情報更新部４２６が適切にプロファイル仕様情報を更新した後、プロファイル仕様情報操作プログラム４２は、更新処理を終了する。
【０２０９】
「（９）プロファイル仕様情報削除処理」において、プロファイル仕様情報削除部４２８は、リクエスト解釈部４２０から入力されたプロファイル名を用いて、プロファイル名に対応付けられるプロファイル仕様情報を、プロファイル仕様情報ＤＢ４３０から削除する。
プロファイル仕様情報削除部４２８が適切にプロファイル仕様情報を削除した後、プロファイル仕様情報操作プログラム４２は、削除処理を終了する。
プロファイル仕様情報ＤＢ４３０は、プロファイル仕様情報を格納する。
【０２１０】
[プロファイル情報検索プログラム４４]
外部プロファイル情報管理装置１４（図１）は、図４３に示すプロファイル情報検索プログラム４４を実行して、上記した「（６）プロファイル情報検索処理」を行う。
図４３は、外部プロファイル情報管理装置１４（図１）上で動作するプロファイル情報検索プログラム４４の構成を示す図である。
図４３に示すように、プロファイル情報検索プログラム４４は、通信処理部３００、プロファイル情報検索部４４０、ユーザプロファイル情報ＤＢ３０６、コミュニティプロファイル情報ＤＢ３０８、コミュニティリスト情報ＤＢ３１０、逆引きバディリスト情報ＤＢ３１２およびコミュニティメンバー情報ＤＢ３１６から構成される。
【０２１１】
通信処理部３００は、データアクセス装置３から、プロファイル情報の検索要求を受け取り、プロファイル仕様情報検索部４４０に出力する。
プロファイル情報検索部４４０は、通信処理部３００から入力された検索要求を受けて、ユーザプロファイル情報ＤＢ３０６などから、情報（図２７〜図３１）を検索する。
プロファイル情報検索部４４０は、プロファイル情報を検索した後、通信処理部３００を介して、データアクセス装置３に検索したプロファイル情報を送信する。
プロファイル情報検索部４４０が適切にプロファイル仕様情報を送信した後、プロファイル情報検索プログラム４４は、検索処理を終了する。
【０２１２】
クライアントＰＣ２の内、外部プロファイル情報管理装置１４の管理者が操作するクライアントＰＣ２は、管理ＰＣ１０４として用いられる。
管理ＰＣ１０４は、図４４に示すプロファイル仕様情報操作プログラム４６を実行し、下記（１０）の処理を行う。
（１０）指示送信処理：
管理ＰＣ１０４を操作する管理者が、管理者にとって既知のプロファイル名およびプロファイル仕様情報を指定して、その操作を指示すると、管理ＰＣ１０４は、その指示を受け入れ、プロファイル仕様情報管理装置１２（図１）に送信する。
【０２１３】
図４４は、管理ＰＣ１０４（図１）上で動作するプロファイル仕様情報操作プログラム４６の構成を示す図である。
図４４に示すように、プロファイル仕様情報操作プログラム４６は、通信処理部３００、ＵＩ部３２０、リクエスト解釈部４２０、プロファイル仕様情報検索部４２２、プロファイル仕様情報格納部４２４、プロファイル仕様情報更新部４２６およびプロファイル仕様情報削除部４２８から構成される。
【０２１４】
リクエスト解釈部４２０は、管理ＰＣ１０４から出された指示（命令の種類・プロファイル名など）およびプロファイル仕様情報（図３３）を解釈して、プロファイル仕様情報検索部４２２、プロファイル仕様情報格納部４２４、プロファイル仕様情報更新部４２６またはプロファイル仕様情報削除部４２８に対して出力する。
リクエスト解釈部４２０が、管理ＰＣ１０４からの要求が検索要求であると判断した場合、プロファイル仕様情報操作プログラム４６は、プロファイル仕様情報検索部４２２によって、プロファイル仕様情報を検索する。
リクエスト解釈部４２０が、管理ＰＣ１０４からの要求が格納要求であると判断した場合、プロファイル仕様情報操作プログラム４６は、プロファイル仕様情報格納部４２４によって、プロファイル仕様情報を格納する。
【０２１５】
リクエスト解釈部４２０が、管理ＰＣ１０４からの要求が更新要求であると判断した場合、プロファイル仕様情報操作プログラム４６は、プロファイル仕様情報更新部４２６によって、プロファイル仕様情報を更新する。
リクエスト解釈部４２０が、管理ＰＣ１０４からの要求が削除要求であると判断した場合、プロファイル仕様情報操作プログラム４６は、プロファイル仕様情報削除部４２８によって、プロファイル仕様情報を削除する。
【０２１６】
プロファイル仕様情報格納部４２２は、プロファイル仕様情報管理装置１２（図１）に、リクエスト解釈部４２０から入力されたプロファイル仕様情報を検索するように要求する。
検索を要求されたプロファイル仕様情報管理装置１２が、図４２に示したように、プロファイル仕様情報を適切に検索すると、プロファイル仕様情報操作プログラム４６は、検索処理を終了する。
【０２１７】
プロファイル仕様情報格納部４２４は、プロファイル仕様情報管理装置１２（図１）に、リクエスト解釈部４２０から入力されたプロファイル仕様情報を格納するように要求する。
格納を要求されたプロファイル仕様情報管理装置１２が、図４２に示したように、プロファイル仕様情報を適切に格納すると、プロファイル仕様情報操作プログラム４６は、格納処理を終了する。
【０２１８】
プロファイル仕様情報更新部４２６は、プロファイル仕様情報管理装置１２（図１）に対して、リクエスト解釈部４２０から入力されたプロファイル名に対応するプロファイル仕様情報を、リクエスト解釈部４２０から入力されたプロファイル仕様情報に更新するように要求する。
格納を要求されたプロファイル仕様情報管理装置１２が、図４２に示したように、プロファイル仕様情報を適切に格納すると、プロファイル仕様情報操作プログラム４６は、格納処理を終了する。
【０２１９】
プロファイル仕様情報更新部４２８は、プロファイル仕様情報管理装置１２（図１）に対して、リクエスト解釈部４２０から入力されたプロファイル名に対応するプロファイル仕様情報を削除するように要求する。
削除を要求されたプロファイル仕様情報管理装置１２が、図４２に示したように、プロファイル仕様情報を適切に削除すると、プロファイル仕様情報操作プログラム４６は、削除処理を終了する。
【０２２０】
以上述べたように、管理者は、プロファイル仕様情報管理装置１２を介して、管理ＰＣ１０４からプロファイル仕様情報の更新を行うことができる。
また、管理者は、プロファイル仕様情報のうち、特に鍵ハッシュ表を以下のように更新することで、データアクセス装置の操作を行うことができる。
管理者は、鍵ハッシュ表に新しいデータアクセス装置３の情報を追加することにより、コミュニティ情報検索システム１（図１）に、新しいデータアクセス装置３を追加することができる。
同様に、管理者は、鍵ハッシュ表からあるデータアクセス装置３の情報を削除することで、コミュニティ情報検索システム１から、そのデータアクセス装置３を削除することができる。
さらに、管理者は、鍵ハッシュ表において、鍵フィルタ値およびデータアクセス装置ＩＤの対応付けを変えることで、コミュニティ情報検索システム１のデータアクセス装置３における負荷を分散することができる。
【０２２１】
[クライアントＰＣ２，データアクセス装置３，プロファイル仕様管理装置１２，外部プロファイル管理装置１４，ポリシサーバ１６，サービス実行装置１８の動作]
以下、コミュニティ情報検索システム１の構成部分の内、データアクセスサーバ５を除くクライアントＰＣ２、データアクセス装置３、プロファイル仕様管理装置１２、外部プロファイル管理装置１４、ポリシサーバ１６およびサービス実行装置１８の動作を説明する。
図４５Ａ〜図４５Ｅは、コミュニティ情報検索システム１（図１）におけるクライアントＰＣ２、データアクセス装置３、プロファイル仕様管理装置１２、外部プロファイル管理装置１４、ポリシサーバ１６およびサービス実行装置１８の動作（Ｓ１０）を例示する第１の通信シーケンス図であって、クライアントＰＣ２からデータアクセス装置３に対して、プロファイル情報検索要求がされ、プロファイル情報操作プログラム３０が起動したときの処理を示す。
【０２２２】
[プロファイル情報検索]
図４５Ａに示すように、ステップ１００（Ｓ１００）において、クライアントＰＣ２は、データアクセス装置３に対して、パスを指定して、情報（図２７〜図３１）の検索を要求する。
ステップ１０２（Ｓ１０２）において、検索を要求されたデータアクセス装置３は、プロファイル仕様情報管理装置１２から、指定されたプロファイル名に対応付けられるプロファイル仕様情報（図３３）を検索する。
ステップ１０４（Ｓ１０４）において、プロファイル仕様情報が得られた後、プロファイル仕様情報管理装置１２は、得られたプロファイル仕様情報をデータアクセス装置３に送信する。
【０２２３】
図４６は、図４５Ａに示したクライアントＰＣ２の要求を受けて、データアクセス装置３が、プロファイル仕様情報管理装置１２に対してプロファイル仕様情報を検索するとき、同時に行われる動作を例示するシーケンス図である。
図４６に示すように、プロファイル仕様情報管理装置１２から検索されたプロファイル仕様情報（Ｓ１０２）は、データアクセス装置３に送信され（Ｓ１０４）、プロファイル仕様情報キャッシュＤＢ３０２にキャッシュデータとして記憶されうる。
このような処理によって、プロファイル仕様情報管理装置１２に対してプロファイル仕様情報の検索を行わなくとも、データアクセス装置３でプロファイル仕様情報を検索できる。
【０２２４】
図４７は、図４５Ａに示したデータアクセス装置３が、データアクセス装置３のプロファイル仕様情報キャッシュＤＢ３０２、または、プロファイル仕様情報管理装置１２のプロファイル仕様情報ＤＢ４３０から、プロファイル仕様情報（図３３）を検索する処理を例示するシーケンス図である。
図４６に示したように、ステップ１０４（Ｓ１０４）において、プロファイル仕様情報は一度検索されると、プロファイル仕様情報キャッシュＤＢ３０２に、キャッシュデータとして記憶される。
したがって、データアクセス装置３は、検索を要求されたとき、まず、プロファイル仕様キャッシュＤＢ３０２に対して検索を行い（Ｓ１０２−１）、プロファイル仕様情報が得られた後、得たプロファイル仕様情報をデータアクセス装置３に保持する（Ｓ１０４−１）。
【０２２５】
所望のプロファイル仕様情報が、プロファイル仕様キャッシュＤＢ３０２から検索できない場合のみ、データアクセス装置３は、プロファイル仕様情報管理装置１２のプロファイル仕様情報ＤＢ４３０に対して検索を行う（Ｓ１０２−２）。
プロファイル仕様情報管理装置１２は、プロファイル仕様情報ＤＢ４３０からプロファイル仕様情報が得られた後、得たプロファイル情報をデータアクセス装置３に送信する（Ｓ１０４−２）。
このような処理によって、データアクセス装置３は、より効率的に検索を行うことができる。
【０２２６】
以下、図４５Ａに戻って、ステップ１０４（Ｓ１０４）における処理の続きを説明する。
ステップ１０４（Ｓ１０４）において、データアクセス装置３は、検索されたプロファイル仕様情報に含まれるデータアクセス装置情報およびデータソースを読み出す。
データアクセス装置３は、読み出したデータアクセス装置情報およびデータソースに基づいて、指定されたパスに対応付けられるプロファイル情報の記憶位置を求める。
【０２２７】
プロファイル情報操作プログラム３０は、プロファイル情報の記憶位置によって、プロファイル情報の種類およびプロファイル情報操作プログラム３０における検索処理を決定する。
以下、プロファイル情報操作プログラム３０における格納処理および削除処理においても、同様とする。
【０２２８】
図４８は、プロファイル情報の記憶位置と、プロファイル情報の種類との対応付けを例示する図である。
図４８に示すように、Ｓ１０４（図４５Ａ）の処理より導出されるプロファイル情報の記憶位置に応じて、プロファイル情報は、物理プロファイル情報、外部プロファイル情報および論理プロファイル情報に分類される。
データアクセス装置３は、ステップ１０４（Ｓ１０４）の処理により得られたプロファイル仕様情報の一部（データソースおよびデータアクセス装置情報）を用いて、プロファイル情報の記憶位置を判断した後、その記憶位置からプロファイル情報を検索する。
【０２２９】
[物理プロファイル情報]
図４８に符号ａを付して示すように、データソースに何も記述がされていない場合、データアクセス装置３は、プロファイル情報がデータアクセス装置３（複数可）に記憶されていると判断する。
このとき、データアクセス装置３は、データアクセス装置情報を用いて、プロファイル情報が記憶されているデータアクセス装置３を特定する。
【０２３０】
データアクセス装置３を特定する方法については、図３８に示したように、鍵フィルタおよび鍵ハッシュ表を用いる方法が採られる。
このように、特定されたデータアクセス装置３に格納されたプロファイル情報を、物理プロファイル情報という。
【０２３１】
[外部プロファイル情報]
図４８に符号ｂを付して示すように、データソースに外部プロファイル情報管理装置１４を識別する記載（例えば、ＵＲＬなど）がされている場合、データアクセス装置３は、プロファイル情報が外部プロファイル情報管理装置１４（複数可）に記憶されていると判断する。
このとき、データアクセス装置３は、データソースの記載を用いて、プロファイル情報が記憶されている外部プロファイル情報管理装置１４を特定する。
【０２３２】
なお、外部プロファイル装置とは、プロファイル情報を記憶する既存ＤＢ（例えば、この情報検索システムが構築される前から使用されているＤＢなど）に接続される装置などを意味する。
このように、特定された外部プロファイル装置１４に格納されたプロファイル情報を、外部プロファイル情報という。
【０２３３】
なお、外部プロファイル情報は、データアクセス装置情報を用いて、プロファイル情報キャッシュＤＢ３０４に記憶することができる。
この処理によって、プロファイル情報が冗長化される。
【０２３４】
[論理プロファイル情報]
図４８に符号ｃを付して示すように、データソースにプロファイル名が記述されている場合、データアクセス装置３は、そのプロファイル名に対応付けられるプロファイル仕様情報に、プロファイル情報の記憶位置が記載され、プロファイル情報は、プロファイル情報データアクセス装置３（複数可）および外部プロファイル情報管理装置１４（複数可）に記憶されていると判断する。
このように、特定されたデータアクセス装置３および外部プロファイル情報管理装置１４に格納されたプロファイル情報を、論理プロファイル情報という。
なお、外部プロファイル情報と同様、論理プロファイル情報は、データアクセス情報を用いて、プロファイル情報キャッシュＤＢ３０４に記憶できる。
【０２３５】
以下、図４５Ａに戻って、ステップ１０４（Ｓ１０４）における処理の続きを説明する。
プロファイル情報操作プログラム３０は、ステップ１０４（Ｓ１０４）で読み込んだプロファイル仕様情報から、記憶位置がデータアクセス装置３である（＝物理プロファイル情報である）と判断した場合、Ｓ１０６〜Ｓ１２０の処理（図４５Ｂを参照して後述）、または、Ｓ１２２〜Ｓ１３２の処理（図４５Ｃを参照して後述）を行う。
【０２３６】
プロファイル情報操作プログラム３０は、ステップ１０４（Ｓ１０４）の処理において読み込んだプロファイル仕様情報から、記憶位置が外部プロファイル情報装置１４である（＝外部プロファイル情報である）と判断した場合、Ｓ１３４〜Ｓ１４８の処理を行う（図４５Ｄを参照して後述）。
プロファイル情報操作プログラム３０は、ステップ１０４（Ｓ１０４）で読み込んだプロファイル仕様情報から、記憶位置がデータアクセス装置３および外部プロファイル情報装置１４である（＝論理プロファイル情報である）と判断した場合、Ｓ１５０〜Ｓ１６２の処理を行う（図４５Ｅを参照して後述）。
【０２３７】
[物理プロファイル情報の検索（１）]
ステップ１０４（Ｓ１０４）において、プロファイル仕様情報を用いてデータアクセス装置ＩＤを導出した後、データアクセス装置３は、導出されたデータアクセス装置ＩＤに対応付けられるデータアクセス装置３に、検索処理を行っているデータアクセス装置３が含まれるか否かを判定する。
検索処理を行っているデータアクセス装置３が含まれない場合、プロファイル情報操作プログラム３０は、Ｓ１０６〜Ｓ１２０の処理を行う。
一方、検索処理を行っているデータアクセス装置３が含まれる場合、プロファイル情報操作プログラム３０は、Ｓ１２２〜Ｓ１３２の処理を行う。
以下、各ステップの処理を記述する。
【０２３８】
図４５Ｂに示すステップ１０６（Ｓ１０６）において、検索要求を受け取ったデータアクセス装置３は、Ｓ１０４の処理により導出されたデータアクセス装置ＩＤに対応付けられるデータアクセス装置３に対して、Ｓ１００の処理において受け取ったパスを指定して、情報（図２７〜図３１）の検索を要求する。
ステップ１０８（Ｓ１０８）において、検索要求を出したクライアントＰＣ２から、このデータアクセス装置３にアクセス可能か否かを、ポリシサーバ１６に問い合わせる。
ステップ１１０（Ｓ１１０）において、ポリシサーバ１６は、アクセスの可否を調べて、Ｓ１０６の処理において検索を要求されたデータアクセス装置３に送信する。
【０２３９】
ステップ１１２（Ｓ１１２）において、Ｓ１０６の処理において検索を要求されたデータアクセス装置３は、Ｓ１０４の処理において検索されたプロファイル仕様情報（図３３）に含まれる実行サービス情報を読み出す。
さらに、Ｓ１０６の処理において検索を要求されたデータアクセス装置３は、サービス実行装置１８に、読み出した実行サービス情報に基づくサービスの実行を要求する。
【０２４０】
なお、プロファイル情報操作プログラム３０は、Ｓ１１２の処理におけるサービスの実行を、プロファイル情報の検索前か検索後に行ってもかまわないし、まったく行わなくともかまわない。
以下、プロファイル情報の格納および削除に伴うサービス実行について、同様とする。
サービス実行装置１８が適切にサービスを実行した後（Ｓ１１４）、Ｓ１０６の処理において検索を要求されたデータアクセス装置３は、ユーザプロファイル情報ＤＢ３０６などから、情報（図２７〜図３１）を検索する（Ｓ１１６）。
ステップ１０６（Ｓ１０６）で検索を要求されたデータアクセス装置３は、情報（図２７〜図３１）を検索した後、検索したプロファイル情報を、クライアントＰＣ２から検索要求を受けたデータアクセス装置３に送信する（Ｓ１１８）。
【０２４１】
図４９は、図４５Ａに示したクライアントＰＣ２の要求を受けて、データアクセス装置３が、別のデータアクセス装置３に対してプロファイル情報を検索するとき、同時に行われる動作を例示するシーケンス図である。
図４９に示すように、パス指定を受けた別のデータアクセス装置３から検索されたプロファイル情報（Ｓ１１６）は、データアクセス装置３に送信されるとともに、プロファイル情報キャッシュＤＢ３０４にキャッシュデータとして記憶されうる（Ｓ１１８）。
このような処理によって、別のデータアクセス装置３に対してプロファイル情報を検索しなくとも、データアクセス装置３でプロファイル情報を検索できる。
【０２４２】
図５０は、図４５Ａに示したデータアクセス装置３が、別のデータアクセス装置３に対して、プロファイル情報を検索する処理を例示するシーケンス図である。
図４９に示したように、ステップ１１８（Ｓ１１８）において、プロファイル情報は一度検索されると、プロファイル情報キャッシュＤＢ３０４にキャッシュデータとして記憶される。
したがって、データアクセス装置３は、別のデータアクセス装置３にパス指定する（Ｓ１０６）前に、プロファイル情報キャッシュＤＢ３０４に記憶されたプロファイル情報に対して検索を行い（Ｓ１１６−１）、プロファイル情報が得られた後、得たプロファイル情報をデータアクセス装置３に保持する（Ｓ１１８−１）。
【０２４３】
所望のプロファイル情報が、プロファイル情報キャッシュＤＢ３０４に記憶されていない場合のみ、別のデータアクセス装置３に対し、パスを指定して検索を行う（Ｓ１０６〜Ｓ１１６−２）。
パス指定を受けた別のデータアクセス装置３は、プロファイル情報が得られた後、得たプロファイル情報をデータアクセス装置３に送信する（Ｓ１１８−２）。
この処理により、データアクセス装置３は、より効率的に検索を行うことができる。
パス指定を受けた別のデータアクセス装置３は、プロファイル情報が得られた後、得たプロファイル情報をデータアクセス装置３に送信する（Ｓ１１８−２）。
この処理により、データアクセス装置３は、より効率的に検索を行うことができる。
【０２４４】
以下、図４５Ｂに戻って、ステップ１２０（Ｓ１２０）以降の処理を説明する。
ステップ１１８（Ｓ１１８）でプロファイル情報を受け取ったデータアクセス装置３は、受け取ったプロファイル情報を、検索を要求したクライアントＰＣ２に送信する（Ｓ１２０）。
クライアントＰＣ２が、送信されたプロファイル情報を受け取った後、プロファイル情報操作プログラム３０は、物理プロファイル情報の検索処理を終了する。
【０２４５】
[物理プロファイル情報の検索（２）]
図４５Ｃに示すステップ１２２（Ｓ１２２）において、データアクセス装置３が、検索を要求したクライアントＰＣ２からデータアクセス装置３にアクセス可能か否かを、ポリシサーバ１６に問い合わせる。
ステップ１２４（Ｓ１２４）において、ポリシサーバ１６は、アクセスの可否を調べて、データアクセス装置３に送信する。
【０２４６】
ステップ１２６（Ｓ１２６）において、データアクセス装置３は、ステップ１０４（Ｓ１０４）で検索されたプロファイル仕様情報に含まれる実行サービス情報を読み出す。
さらに、データアクセス装置３は、サービス実行装置１８に、実行サービス情報に基づくサービスの実行を要求する。
サービス実行装置１８が適切にサービスを実行すると（Ｓ１２８）、データアクセス装置３は、プロファイル情報キャッシュＤＢ３０４などから、プロファイル情報を検索する（Ｓ１３０）。
データアクセス装置３は、ステップ１３０（Ｓ１３０）の処理により検索したプロファイル情報を、検索を要求したクライアントＰＣ２に送信する（Ｓ１３２）。
クライアントＰＣ２が、送信されたプロファイル情報を受け取った後、プロファイル情報操作プログラム３０は、物理プロファイル情報の検索処理を終了する。
【０２４７】
[外部プロファイル情報の検索]
図４５Ｄに示すステップ１３４（Ｓ１３４）において、クライアントＰＣ２から検索要求を受けたデータアクセス装置３は、検索要求を出したクライアントＰＣ２から、Ｓ１０４（図４５Ａ）の処理により、プロファイル情報の記憶位置と判断された外部プロファイル情報管理装置１４に、アクセス可能か否かを、ポリシサーバ１６に問い合わせる。
ステップ１３６（Ｓ１３６）において、ポリシサーバ１６は、アクセスの可否を調べて、データアクセス装置３に送信する。
【０２４８】
ステップ１３８（Ｓ１３８）において、データアクセス装置３は、Ｓ１０４（図４５Ａ）で検索されたプロファイル仕様情報（図３３）に含まれる実行サービス情報を読み出す。
さらに、データアクセス装置３は、読み出した実行サービス情報に基づき、サービス実行装置１８にサービス実行を要求する。
サービス実行装置１８が適切にサービスを実行すると（Ｓ１４０）、データアクセス装置３は、Ｓ１０４（図４５Ａ）の処理において、プロファイル情報の記憶位置と判断された外部プロファイル情報管理装置１４に、プロファイル情報の検索を要求する（Ｓ１４２）。
ステップ１４２（Ｓ１４２）で検索を要求された外部プロファイル情報管理装置１４は、プロファイル情報ＤＢ３０６などから、情報（図２７〜図３１）を検索する（Ｓ１４４）。
プロファイル情報を検索した後、外部プロファイル情報管理装置１４は、ステップ１４６（Ｓ１４６）において、検索されたプロファイル情報を、データアクセス装置３に送信する。
【０２４９】
図５１は、図４５Ｄに示したクライアントＰＣ２の要求を受けて、データアクセス装置３が、外部プロファイル情報管理装置１４に対してプロファイル情報を検索するとき、同時に行われる動作を例示するシーケンス図である。
図５１に示すように、データアクセス装置３からの検索要求を受け（Ｓ１４２）、外部プロファイル情報管理装置１４から検索された（Ｓ１４４）プロファイル情報は、データアクセス装置３に送信される（Ｓ１４６）とともに、プロファイル情報キャッシュＤＢ３０４に記憶することができる。
この処理によって、外部プロファイル情報管理装置１４に対してプロファイル情報を検索しなくとも、データアクセス装置３でプロファイル情報を検索できる。
【０２５０】
図５２は、図４５Ｄに示すデータアクセス装置３が、外部プロファイル情報管理装置１４に対して、プロファイル情報を検索する処理を例示するシーケンス図である。
図５２に示すように、Ｓ１４６（図５１）の処理として示したように、プロファイル情報は一度検索されると、データアクセス装置３のプロファイル情報キャッシュＤＢ３０４に、キャッシュデータとして記憶される。
【０２５１】
したがって、データアクセス装置３は、外部プロファイル情報管理装置１４に検索を要求する（ステップ１４２（Ｓ１４２））前に、まず、そのプロファイル情報キャッシュＤＢ３０４に記憶されたプロファイル情報に対して検索を行い（Ｓ１４４−１）、プロファイル情報が得られた後、得たプロファイル情報をデータアクセス装置３に保持する（Ｓ１４６−１）。
該当するプロファイル情報が、データアクセス装置３のプロファイル情報キャッシュＤＢ３０４に記憶されていない場合のみ、データアクセス装置３は、外部プロファイル情報管理装置１４に検索を要求し（Ｓ１４２）、外部プロファイル情報管理装置１４は、そのユーザプロファイル情報ＤＢ３０６などに対する検索を行う（Ｓ１４４−２）。
外部プロファイル情報管理装置１４は、プロファイル情報を得られた後、得たプロファイル情報をデータアクセス装置３に送信する（Ｓ１４６−２）。
この処理により、データアクセス装置３は、より効率的に検索を行うことができる。
【０２５２】
以下、図４５Ｄに戻って、ステップ１４８（Ｓ１４８）以降の処理を説明する。
データアクセス装置３は、ステップ１４６（Ｓ１４６）で送信されたプロファイル情報を受け取った後、検索を要求したクライアントＰＣ２に送信する（Ｓ１４８）。
クライアントＰＣ２が送信されたプロファイル情報を受け取った後、プロファイル情報操作プログラム３０は、外部プロファイル情報の検索処理を終了する。
【０２５３】
[論理プロファイル情報の検索]
図４５Ｅに示すように、ステップ１５０（Ｓ１５０）において、データアクセス装置３は、検索を要求したクライアントＰＣ２から、Ｓ１０４の処理によりプロファイル情報の記憶位置と判断されたデータアクセス装置３および外部プロファイル情報管理装置１４に、アクセス可能か否かを、ポリシサーバ１６に問い合わせる。
ステップ１５２（Ｓ１５２）において、ポリシサーバ１６は、アクセスの可否を調べて、データアクセス装置３に送信する。
【０２５４】
ステップ１５４（Ｓ１５４）において、データアクセス装置３は、Ｓ１０４の処理において検索されたプロファイル仕様情報（図３３）に含まれる実行サービス情報を読み出す。
さらに、データアクセス装置３は、サービス実行装置１８に、読み出した実行サービス情報に基づくサービスの実行を要求する。
【０２５５】
サービス実行装置１８が適切にサービスを実行すると（Ｓ１５６）、データアクセス装置３および外部プロファイル情報管理装置１４は、そのユーザプロファイル情報ＤＢ３０６などから、情報（図２７〜図３１）を検索する（Ｓ１５８）。
ステップ１６０（Ｓ１６０）において、データアクセス装置３および外部プロファイル情報管理装置１４は、Ｓ１５８の処理において検索されたプロファイル情報を、データアクセス装置３に送信する。
【０２５６】
データアクセス装置３は、ステップ１６０（Ｓ１６０）で送信されたプロファイル情報を受け取り、検索を要求したクライアントＰＣ２に送信する（Ｓ１６２）。
クライアントＰＣ２が、送信されたプロファイル情報を受け取った後、プロファイル情報操作プログラム３０は、論理プロファイル情報の検索処理を終了する。
【０２５７】
[プロファイル情報の格納]
図５３Ａ〜図５３Ｅは、コミュニティ情報検索システム１（図１）におけるクライアントＰＣ２、データアクセス装置３、プロファイル仕様管理装置１２、外部プロファイル管理装置１４、ポリシサーバ１６およびサービス実行装置１８の動作（Ｓ２０）を例示する第２の通信シーケンス図である。
なお、図５３Ａ〜図５３Ｅは、クライアントＰＣ２からデータアクセス装置３に対して、プロファイル情報格納要求がされ、プロファイル情報操作プログラム３０が起動したときの処理を示す。
【０２５８】
図５３Ａに示すステップ２００（Ｓ２００）において、クライアントＰＣ２は、データアクセス装置３に対して、パスおよびプロファイル情報を指定して、プロファイル情報の格納を要求する。
図５３Ｂに示すステップ２０２（Ｓ２０２）において、クライアントＰＣ２から検索要求を受けたデータアクセス装置３は、Ｓ１０４の処理により記憶位置とされたデータアクセス装置３に、パスおよびプロファイル情報を指定して、プロファイル情報の格納を要求する。
ステップ２０４（Ｓ２０４）において、データアクセス装置３は、Ｓ２００の処理において指定されたプロファイル情報が、プロファイル情報を格納するための前提条件を満たすか否かを確認する。
データアクセス装置３は、前提条件の一致を確認した後、ステップ２０６（Ｓ２０６）において、Ｓ１０４の処理においてプロファイル情報の記憶位置と判断されたデータアクセス装置３すべてに、プロファイル情報の格納要求を送る。
【０２５９】
ステップ２０６（Ｓ２０６）で格納要求を受け、プロファイル情報の格納を行ったデータアクセス装置３は、クライアントＰＣ２から格納要求を受けたデータアクセス装置３に、格納の成否を送信する（Ｓ２０８）。
クライアントＰＣ２から格納要求を受けたデータアクセス装置３は、送信された格納の成否を、格納要求を出したクライアントＰＣ２に送信する（Ｓ２１０）。
クライアントＰＣ２が格納の成否を受け取った後、プロファイル情報操作プログラム３０は、物理プロファイル情報格納処理を終了する。  
【０２６０】
なお、ステップ１０４（Ｓ１０４）で記憶位置と判断されたデータアクセス装置３が複数存在する場合、Ｓ１０８の処理(アクセス可否問いあわせ)、Ｓ１１０の処理(アクセス可否)、Ｓ１１２の処理（サービス実行要求）、Ｓ１１４の処理（サービス実行）、および、Ｓ２０４の処理（前提条件確認）は、そのうちの１台に対してのみ、行われればよい。
同様に、図５３Ｃにおいて、ステップ１２２（Ｓ１２２）における処理(アクセス可否問いあわせ)、Ｓ１２３の処理(アクセス可否)、Ｓ１２６の処理（サービス実行要求）、Ｓ１２８の処理（サービス実行）、および、Ｓ２１２の処理（前提条件確認）は、そのうちの１台に対してのみ、行われればよい。
【０２６１】
また、同様に、図５３Ｄにおいて、記憶位置と判断されたデータアクセス装置３が複数存在する場合、Ｓ１３４の処理(アクセス可否問いあわせ)、Ｓ１３６の処理(アクセス可否)、Ｓ１３８の処理（サービス実行要求）、Ｓ１４０の処理（サービス実行）、および、Ｓ２１８の処理（前提条件確認）は、そのうちの１台に対してのみ、行われればよい（以下、プロファイル情報削除時においても、同様とする）。
なお、データアクセス装置３は、ステップ２１８（Ｓ２１８）において前提条件を確認すると、Ｓ２２０の処理において、外部プロファイル情報管理装置１４にプロファイル情報の格納を要求する。
【０２６２】
また、同様に、図５３Ｅにおいて、記憶位置と判断されたデータアクセス装置３が複数存在するときには、Ｓ１５０の処理(アクセス可否問いあわせ)、Ｓ１５２の処理(アクセス可否)、Ｓ１５４の処理（サービス実行要求）、Ｓ１５６の処理（サービス実行）、および、Ｓ２２８の処理（前提条件確認）は、そのうちの１台に対してのみ、行われればよい（以下、プロファイル情報削除時においても、同様とする）。
図５３Ｅでは、データアクセス装置３からのみ、サービス実行を要求し（Ｓ１５４）、データアクセス装置３においてのみ、前提条件の確認を行う（Ｓ２２８）例を示す。
【０２６３】
[プロファイル情報の削除]
図５４Ａ〜図５４Ｅは、コミュニティ情報検索システム１（図１）におけるクライアントＰＣ２、データアクセス装置３、プロファイル仕様管理装置１２、外部プロファイル管理装置１４、ポリシサーバ１６およびサービス実行装置１８の動作（Ｓ３０）を例示する第３の通信シーケンス図である。
なお、図５４Ａ〜図５４Ｅは、クライアントＰＣ２からデータアクセス装置３に対して、プロファイル仕様情報削除要求がされ、プロファイル情報操作プログラム３０が起動したときの処理を示す。
【０２６４】
図５４Ａに示すように、ステップ１００（Ｓ１００）において、クライアントＰＣ２は、データアクセス装置３に対して、パスを指定して、情報（図２７〜図３１）の削除を要求する。
なお、このとき、クライアントＰＣ２は、データアクセス装置３に対して、削除するプロファイル情報を指定することができる。
図５４Ｂに示すステップ２０４（Ｓ２０４）において、データアクセス装置３は、Ｓ２０４（図５３Ａ）の処理と同様に、Ｓ２００の処理により指定されたプロファイル情報があれば、そのプロファイル情報が、プロファイル情報を削除するための前提条件を満たしているか否かを確認する。
データアクセス装置３は、Ｓ２０４の処理において、前提条件の一致を確認した後、ステップ３００（Ｓ３００）において、Ｓ１０４の処理によりプロファイル情報の記憶位置と判断されたデータアクセス装置３すべてに、プロファイル情報の削除要求を送る。
【０２６５】
クライアントＰＣ２から削除要求を受けたデータアクセス装置３が、クライアントＰＣ２に、削除の成否を送信した後、プロファイル情報操作プログラム３０は、物理プロファイル情報削除処理を終了する。
また、ステップ２０４（Ｓ２０４）と同様、Ｓ２１２（図５４Ｃ）の処理、Ｓ２１８（図５４Ｄ）、および、Ｓ２２８（図５４Ｅ）においても、プロファイル情報を削除するための前提条件が一致するか否かを確認する。
なお、図５４Ｄにおいて、データアクセス装置３は、Ｓ２１８の処理において前提条件を確認した後、Ｓ３０４の処理において、外部プロファイル管理装置１４にプロファイル情報の削除を要求する。
また、ステップ３００（Ｓ３００）の処理と同様、Ｓ３０２（図５４Ｃ）、Ｓ３０６（図５４Ｄ）およびＳ３０８（図５４Ｅ）においても、プロファイル情報を削除して、削除を要求したクライアントＰＣ２に削除の成否を送信した後、プロファイル情報操作プログラム３０は、削除処理を終了する。
【０２６６】
以上のように、コミュニティ情報検索システム１において、クライアントＰＣ２、データアクセス装置３、プロファイル仕様管理装置１２、外部プロファイル管理装置１４、ポリシサーバ１６およびサービス実行装置１８は、システムの冗長性を確保し、システムを構成するクラスタノードの負荷を分散させることができる。
また、コミュニティ情報検索システム１において、クライアントＰＣ２、データアクセス装置３、プロファイル仕様管理装置１２、外部プロファイル管理装置１４、ポリシサーバ１６およびサービス実行装置１８は、情報を検索する際、鍵フィルタおよび鍵ハッシュ表を介して識別子を用いることにより、識別子の管理にともなう煩雑さを低減し、情報を保持するクラスタノードを適度に分散させることができる。
さらに、コミュニティ情報検索システム１において、クライアントＰＣ２、データアクセス装置３、プロファイル仕様管理装置１２、外部プロファイル管理装置１４、ポリシサーバ１６およびサービス実行装置１８は、鍵ハッシュ表を使用することにより、クラスタノードを変更するにあたり、鍵ハッシュ表さえ変更すればよく、データの変更を最小限にすることができる。
【０２６７】
［論理ボリューム］
次に、論理ボリュームを説明する。
図５５は、論理ボリュームを例示する図である。
ユーザプロファイル情報、コミュニティプロファイル情報、コミュニティリスト情報、コミュニティメンバー情報および逆引きバディリスト情報（図２７〜図３１）は、図３４を参照して上述した参照関係にある。
【０２６８】
ユーザプロファイル情報、コミュニティプロファイル情報、コミュニティリスト情報およびコミュニティメンバー情報（図２７〜図３０）は、図５５に示した論理ボリュームそれぞれ１個ずつ、合計４個の論理ボリュームにより管理対象とされる。
論理ボリュームのデータサイズは膨大、かつ増大するため、スケーラビリティを確保する必要があり、また、システム全体の可用性および信頼性を保つ必要があるので、複数のデータアクセス装置３による冗長構成での運用が適切である。
ユーザプロファイル情報ＤＢ３０６、コミュニティプロファイル情報ＤＢ３０８、コミュニティリスト情報ＤＢ３１０およびコミュニティメンバー情報ＤＢ３１６（図３６，図４３）は、ユーザＩＤおよびコミュニティＩＤに基づいて適宜パーティショニング処理され、データアクセス装置３の記録装置１１８（ディスク領域；図２）に記憶される。
また、逆引きバディリスト情報は、特に高速な検索の対象となるので、コミュニティ情報検索システム１の運用（稼働）時には、すべての情報がインメモリストレージ部５２０（図５６を参照して後述）に記憶され、検索処理の対象とされる。
さらに、データアクセス装置３および外部プロファイル管理装置１４には、論理ボリュームに対する検索の履歴を示すログが設けられてもよい。
【０２６９】
［データアクセスサーバ５］
データアクセスサーバ５（図１）は、クライアントＰＣ２から送信された操作のうち、パスに含まれるプロファイル名によりどのプロファイル情報に対するアクセスであるかを特定し、つまり、どの論理ボリューム（データアクセス装置３）へのアクセスであるかを特定し、その後、該当するデータアクセス装置３に検索の実行命令（リクエスト）を送信するという処理を行う。
つまり、上述したデータアクセス装置３で行われる処理の一部が、データアクセスサーバ５で実行される。
【０２７０】
［データアクセスサーバプログラム５０］
図５６は、データアクセスサーバ５（図１）において実行されるデータアクセスサーバプログラム５０の構成を示す図である。
データアクセスサーバ５は、その処理の観点からは、クライアントＰＣ２と、データアクセス装置３との間に位置し、論理ボリューム（図５５）に対応するデータキャッシュの機能およびアクセスされたデータの関連性（意味的局所性）に基づくプリフェッチの機能を、新たに提供する。
図５６に示すように、データアクセスサーバプログラム５０は、検索処理部５００、ＩＤ変換部５０２、検索モニタ部５０４、キャッシュ容量制御部５０６、プロファイル仕様情報検索部５０８、インメモリストレージ管理部５１０、論理ボリューム管理部５１２、コミュニティ関連情報検索部５１４、ログ処理部５１６およびインメモリストレージ部５２０から構成される。
【０２７１】
データアクセスサーバプログラム５０は、これらの構成部分により、クライアントＰＣ２からの検索要求を受け入れ、データアクセス装置３を用いて検索を実行し、データアクセス装置３から返された検索結果を、検索を要求したクライアントＰＣ２に返す。
データアクセスサーバプログラム５０は、データアクセス装置３および外部プロファイル管理装置１４に記憶された論理ボリューム（図５５）それぞれの内、データアクセスサーバ５内部にキャッシュしておくと、検索の高速化に役立つと予想される情報（図２７〜図３１）の一部を、データアクセスサーバ５のメモリ１１４（メモリ領域；図２）上に、論理ボリューム１〜ｎそれぞれに対応して設けられた論理ボリュームのキャッシュ領域１〜ｎに記憶する。
これらのキャッシュ領域の記憶容量は、検索の特性によって変更される。
例えば、ある論理ボリュームｉに関する検索が多く発生したときには、その論理ボリュームのキャッシュ領域ｉの記憶容量は増やされ、反対に、ある論理ボリュームｊに関する検索の発生が少ないときには、その論理ボリュームのキャッシュ領域ｊの記憶容量は減らされるといったように、キャッシュ領域の記憶容量が、動的に制御される。
さらに、これらのキャッシュ領域には、論理ボリュームに含まれるデータの内、互いに関連が大きい部分が、選択的に記憶される。
【０２７２】
また、データアクセスサーバプログラム５０は、クライアントＰＣ２からの検索を受け入れ、検索された情報がキャッシュ領域１〜ｎにあるときには、キャッシュ領域１〜ｎから情報を読み出して、検索を要求したクライアントＰＣ２に返す。
検索された情報がキャッシュ領域１〜ｎにないときには、データアクセスサーバプログラム５０は、データアクセス装置３を用いて検索を実行し、データアクセス装置３から返された検索結果を、検索を要求したクライアントＰＣ２に返す。
【０２７３】
検索処理部５００は、クライアントＰＣ２からの検索操作を受け入れ、操作が示す情報を各構成部分に対して出力し、要求された検索を実行するために、各構成部分の処理を制御する。
また、検索処理部５００は、データアクセス装置３またはインメモリストレージ部５２０から得られた検索結果を、検索を要求したクライアントＰＣ２に返す。
つまり、検索処理部５００は、まず、インメモリストレージ部５２０に記憶された論理ボリューム１〜ｎのキャッシュ領域を検索し、キャッシュ領域に検索結果があるときには、この検索結果を、クライアントＰＣ２に対して返す。
一方、検索処理部５００は、キャッシュ領域に検索結果がないときには、論理ボリューム管理部５１２を制御してデータアクセス装置３に対して検索を要求し、データアクセス装置３または外部プロファイル管理装置１４の論理ボリュームから、検索結果を得て、クライアントＰＣ２に返す。
【０２７４】
データアクセスサーバプログラム５０において、ＩＤ変換部５０２は、識別子管理装置８（図１）と協働して、システム外部との通信に用いられる識別子と、システム内部で用いられる識別子との変換を行う。
プロファイル仕様情報検索部５０８は、検索処理部５００から入力されるプロファイル名を使用して、プロファイル仕様情報キャッシュDBあるいはプロファイル仕様管理装置１２（プロファイル仕様情報DB４３０）から、プロファイル仕様情報を検索する。
インメモリストレージ部５２０は、インメモリストレージ管理部５１０の制御に従って、論理ボリューム１〜ｎの一部を、データアクセスサーバ５（図１）のメモリ１１４（メモリ領域；図２）の論理ボリューム１〜ｎそれぞれのキャッシュ領域に記憶する。
検索モニタ部５０４は、クライアントＰＣ２から受けた検索をモニタし、例えば、コミュニティ１〜ｎそれぞれに関連する検索の件数、および、ユーザそれぞれに関連する検索の件数など、クライアントＰＣ２からデータアクセスサーバ５への検索の履歴およびその特性を示す情報を収集する。
検索モニタ部５０４は、収集した情報を、ログ処理部５１６に対して出力し、ログとして記憶させる。
【０２７５】
キャッシュ容量制御部５０６は、ログ処理部５１６から得られた検索の特性に基づいて、インメモリストレージ部５２０内の各キャッシュ領域の記憶容量を最適化する。
つまり、例えば、キャッシュ容量制御部５０６は、論理ボリュームｉに関連する検索の件数が多く、論理ボリュームｊ（１≦ｉ，ｊ≦ｎ）に関する検索の件数が少ないときには、論理ボリュームｉのキャッシュ領域の記憶容量を大きくすべき旨と、論理ボリュームｊのキャッシュ領域の記憶容量を小さくすべき旨とを、インメモリストレージ管理部５１０に対して通知する。
【０２７６】
論理ボリューム管理部５１２は、インメモリストレージ管理部５１０からの制御に従って、データアクセス装置３に対する検索を要求し、この要求に応じてデータアクセス装置３から返された情報（図２７〜図３１）を、インメモリストレージ管理部５１０に返す。
コミュニティ関連情報検索部５１４は、インメモリストレージ管理部５１０からの制御に従って、コミュニティ関連データ管理装置７に対して、ＡＲテーブル、Ｔノード用識別子テーブルおよびＡノード用識別子テーブル（図１４〜図１６，図２６）を作成するために必要な情報を送信し、ＡＲテーブル、Ｔノード用識別子テーブルおよびＡノード用識別子テーブルを作成させる。
また、コミュニティ関連情報検索部５１４は、インメモリストレージ管理部５１０からの要求に応じて、コミュニティ関連データ管理装置７に対して、ＡＲテーブルを要求し、この要求に応じて返されたＡＲテーブル（図２６）に含まれる情報を、インメモリストレージ管理部５１０に対して出力する。
【０２７７】
インメモリストレージ管理部５１０は、キャッシュ容量制御部５０６からの通知に従って、インメモリストレージ部５２０内のキャッシュ領域の記憶容量を増減させる。
つまり、キャッシュ容量制御部５０６から、論理ボリュームｉのキャッシュ領域の記憶容量を大きくすべき旨と、論理ボリュームｊのキャッシュ領域の記憶容量を小さくすべき旨とを通知されると、インメモリストレージ管理部５１０は、この通知に従って、論理ボリュームｉのキャッシュ領域の記憶容量を大きくし、論理ボリュームｊのキャッシュ領域の記憶容量を小さくする。
また、インメモリストレージ管理部５１０は、例えば、ログ処理部５１６を参照して、検索の対象となったユーザを得て、このユーザのユーザＩＤをコミュニティ関連情報検索部５１４に通知する。コミュニティ関連データ管理装置７は、コミュニティ関連情報検索部５１４から送信されたユーザＩＤとＡＲテーブル（図２６）とを用いて、このユーザに関連する他のユーザおよびコミュニティまたはこれらのいずれかを求め、コミュニティ関連情報検索部５１４を介してインメモリストレージ管理部５１０に返信する。
【０２７８】
例えば、論理ボリュームｉのキャッシュに、検索の対象となったユーザに対して、関連性役割３つ以内で関連を有する部分が記憶されている状態で、新たに論理ボリュームｉのキャッシュの記憶容量が大幅に増やされたときには、インメモリストレージ管理部５１０は、検索対象のユーザに対して、関連性役割５つ以内で関連を有する論理ボリュームｉの部分を、データアクセス装置３から得て、論理ボリュームｉのキャッシュに記憶する。
つまり、このような処理により、インメモリストレージ管理部５１０は、記憶容量が大きくなった論理ボリュームｉのキャッシュに記憶される情報の量を単に増やすのではなく、検索対象のユーザと関連する情報のみを、論理ボリュームｉのキャッシュに選択的に加える。
【０２７９】
また、例えば、論理ボリュームｊのキャッシュに、検索の対象となったユーザに対して、関連性役割５つ以内で関連を有する部分が記憶されている状態で、新たに論理ボリュームｊのキャッシュの記憶容量が大幅に減らされたときには、インメモリストレージ管理部５１０は、検索対象のユーザに対して、関連性役割３つ以内で関連を有する論理ボリュームｊの部分のみを論理ボリュームｊのキャッシュに記憶するようにして、これ以外の部分を削除する。
つまり、このような処理により、インメモリストレージ管理部５１０は、記憶容量が小さくなった論理ボリュームｊのキャッシュに記憶される情報の量を単に減らすのではなく、検索対象のユーザと関連が大きい情報のみを、選択的に論理ボリュームｊのキャッシュに残す。
インメモリストレージ管理部５１０は、このようなキャッシュの記憶容量の変更などを示す情報を、ログ処理部５１６に、ログとして記憶させる。
ログ処理部５１６に記憶されたログは、インメモリストレージ管理部５１０およびキャッシュ容量制御部５０６に対して、処理の必要に応じて、適宜、出力される。
【０２８０】
［データアクセスサーバ５の動作］
以下、データアクセスサーバ５の動作を説明する。
図５７は、図５６に示したデータアクセスサーバプログラム５０による第１のキャッシュ容量変更処理を示すフローチャートである。
図５７に示すように、ステップ５００（Ｓ５００）において、データアクセスサーバプログラム５０のキャッシュ容量制御部５０６は、ログ処理部５１６に記憶されたログを参照し、処理対象の論理ボリュームに関連する検索の特性を解析する。
【０２８１】
ステップ５０２（Ｓ５０２）において、キャッシュ容量制御部５０６は、処理対象の論理ボリュームのキャッシュの記憶容量を変更する必要があるか否かを判断する。
データアクセスサーバプログラム５０は、キャッシュの記憶容量変更が不要なときには、処理対象を他の論理ボリュームとして、Ｓ５００の処理に帰る。
また、データアクセスサーバプログラム５０は、キャッシュの記憶容量を小さくすべきときには、Ｓ５０４の処理に進み、キャッシュの記憶容量を大きくすべきときには、Ｓ５０８の処理に進む。
【０２８２】
ステップ５０４（Ｓ５０４）において、キャッシュ容量制御部５０６は、インメモリストレージ管理部５１０に、キャッシュの記憶容量を小さくすべきことを通知すると、インメモリストレージ管理部５１０は、そのキャッシュに記憶されていた情報を、データアクセス装置３の記録装置１１８（ディスク領域）に記憶させる。
ステップ５０６（Ｓ５０６）において、インメモリストレージ管理部５１０は、キャッシュの容量を縮小するために必要な処理を行う。
【０２８３】
ステップ５０８（Ｓ５０８）において、キャッシュ容量制御部５０６は、インメモリストレージ管理部５１０に、キャッシュの記憶容量を大きくすべきことを通知すると、インメモリストレージ管理部５１０は、データアクセスサーバ５のメモリ１１４（メモリ領域）に、空き領域があるか否かを判断する。
データアクセスサーバプログラム５０は、メモリ１１４に空き領域があるときにはＳ５１０の処理に進み、これ以外のときには、他のキャッシュを処理対象として、Ｓ５００の処理に進む。
【０２８４】
ステップ５１２（Ｓ５１２）において、キャッシュ容量制御部５０６は、キャッシュ容量の制御を継続するか否かを判断する。
データアクセスサーバプログラム５０は、キャッシュ容量の制御を継続するときには、他のキャッシュを処理対象として、Ｓ５００の処理に戻り、これ以外のときには処理を終了する。
【０２８５】
以上、図５７を参照して、コミュニティ関連情報に基づいてキャッシュ容量の変更（縮小／拡大）が行われる場合について説明したが、以下、図５８を参照して、キャッシュ領域に記憶されうるデータ量のみに基づいてキャッシュ容量の変更が行われる場合を説明する。
図５８は、図５６に示したデータアクセスサーバプログラム５０による第２のキャッシュ容量変更処理（縮小処理；Ｓ８２）を示す通信シーケンス図である。
図５８に示すように、ステップ８２０（Ｓ８２０）において、キャッシュ容量制御部５０６は、ログ処理部５１６に記憶された検索ログを参照する。
ステップ８２２（Ｓ８２２）において、ログ処理部５１６は、キャッシュ容量制御部５０６に対して、検索の特性を返す。
【０２８６】
ステップ８２４（Ｓ８２４）において、キャッシュ容量制御部５０６は、インメモリストレージ管理部５１０に対して、キャッシュ容量の縮小を指示する。
ステップ８２６（Ｓ８２６）において、インメモリストレージ管理部５１０は、インメモリストレージ部５２０に対して、プロファイル情報の書き戻しを指示する。
ステップ８２８（Ｓ８２８）において、インメモリストレージ部５２０は、インメモリストレージ管理部５１０に対してプロファイル情報を返す。
【０２８７】
ステップ８３０（Ｓ８３０）において、インメモリストレージ管理部５１０は、論理ボリューム管理部５１２に対して、パスおよびプロファイル情報を指定する。
ステップ８３２（Ｓ８３２）において、論理ボリューム管理部５１２は、データアクセス装置３に対して、パスおよびプロファイル情報を送信する。
ステップ８３４（Ｓ８３４）において、データアクセス装置３は、論理ボリューム管理部５１２から送られてきたプロファイル情報を格納する。
【０２８８】
ステップ８３６（Ｓ８３６）において、データアクセス装置３は、論理ボリューム管理部５１２に対して、プロファイル情報の格納の成否（成功）を返す。
ステップ８３８（Ｓ８３８）において、論理ボリューム管理部５１２は、インメモリストレージ管理部５１０に対して成否（成功）を通知する。
ステップ８４０（Ｓ８４０）において、インメモリストレージ管理部５１０は、インメモリストレージ部５２０に対して、キャッシュ領域の縮小を指示する。
【０２８９】
ステップ８４２（Ｓ８４２）において、インメモリストレージ部５２０は、キャッシュ領域の縮小のための処理を行う。
ステップ８４４（Ｓ８４４）において、インメモリストレージ部５２０は、キャッシュ領域縮小の成否（成功）を、インメモリストレージ管理部５１０に通知する。
ステップ８４６（Ｓ８４６）において、インメモリストレージ管理部５１０は、キャッシュ容量制御部５０６に対して、成否（成功）を通知する。
【０２９０】
図５９は、図５６に示したデータアクセスサーバプログラム５０による第３のキャッシュ容量変更処理（拡大処理；Ｓ８６）を示す通信シーケンス図である。
ステップ８２０，８２２（Ｓ８２０，Ｓ８２２）において、キャッシュ容量制御部５０６は、ログ処理部５１６に記憶された検索ログを参照し、ログ処理部５１６は、これに対して、検索の特性を返す。
ステップ８６０（Ｓ８６０）において、キャッシュ容量制御部５０６は、インメモリストレージ管理部５１０に対して、キャッシュ領域の拡大を指示する。
ステップ８６２（Ｓ８６２）において、インメモリストレージ管理部５１０は、インメモリストレージ部５２０に対してキャッシュ領域の拡大を指示する。
【０２９１】
ステップ８６４（Ｓ８６４）において、インメモリストレージ部５２０は、キャッシュ領域を拡大するための処理を行う。
ステップ８６６（Ｓ８６６）において、インメモリストレージ部５２０は、キャッシュ領域の拡大の成否（成功）をインメモリストレージ管理部５１０に返す。
ステップ８６８（Ｓ８６８）において、インメモリストレージ管理部５１０は、キャッシュ容量制御部５０６に対して、成否（成功）を通知する。
【０２９２】
ここで、コミュニティ関連情報の先読み（プリフェッチ）処理を説明する。
図６０は、コミュニティ関連情報の先読み（プリフェッチ）処理（Ｓ８８）を示すフローチャートである。
図６０に示すように、ステップ８８０（Ｓ８８０）において、インメモリストレージ管理部５１０が、ログ処理部５１６に記憶されたログを参照し、検索履歴を解析して、アクセス対象となるユーザを特定する（特定する条件としては、例えば、ログを参照した時点で一番最近アクセスされたことなどが採用される）。
【０２９３】
ステップ８８２（Ｓ８８２）において、特定された対象ユーザの識別子を用いて、対象ユーザに関するＡＲテーブルが取得される。
ステップ８８４（Ｓ８８４）において、対象ユーザとの関係の強さに応じたコミュニティ関連情報が特定される。
ステップ８８６（Ｓ８８６）において、インメモリストレージのキャッシュ領域に空き領域があるか否かが判定され、空き領域がないときは最初の処理に帰り、検索履歴の解析が行われる。
空き領域があるとき、ステップ８８８（Ｓ８８８）の処理において、データアクセス装置３に対して、該当するプロファイル情報の読み出しが指示される。
【０２９４】
ステップ８９０（Ｓ８９０）において、読み出されたプロファイル情報が、インメモリストレージのキャッシュ領域に書きまれる。
ステップ８９２（Ｓ８９２）において、先読み処理が継続されるか否かが判定され、継続されるときは最初の処理に戻り、継続しないときは終了する。
【０２９５】
図６１は、コミュニティ関連情報の先読み（プリフェッチ）処理（Ｓ９０）を示す通信シーケンス図である。
図６１に示すように、ステップ９００（Ｓ９００）において、インメモリストレージ管理部５１０は、ログ処理部５１６に記憶された検索ログを参照する。
ステップ９０２（Ｓ９０２）において、ログ処理部５１６は、インメモリストレージ管理部５１０に対して、対象ユーザＩＤを返す。
【０２９６】
ステップ９０４（Ｓ９０４）において、インメモリストレージ管理部５１０は、コミュニティ関連情報検索部５１４に対して、対象ユーザＩＤを通知する。
ステップ９０６（Ｓ９０６）において、コミュニティ関連情報検索部５１４は、コミュニティ関連データ管理装置７に対して、対象ユーザＩＤを通知する。
ステップ９０８（Ｓ９０８）において、コミュニティ関連データ管理装置７は、ＡＲテーブルの検索を行う。
【０２９７】
ステップ９１０（Ｓ９１０）において、コミュニティ関連データ管理装置７は、検索の結果として得られたＡＲテーブルをコミュニティ関連情報検索部５１４に返す。
ステップ９１２（Ｓ９１２）において、コミュニティ関連情報検索部５１４は、対象ユーザとの関連の強さに基づくコミュニティ情報を、インメモリストレージ管理部５１０に対して送信する。
ステップ９１４（Ｓ９１４）において、インメモリストレージ管理部５１０は、論理ボリューム管理部５１２に対してパスを指定する。
ステップ９１６（Ｓ９１６）において、論理ボリューム管理部５１２は、データアクセス装置３に対してパスを指定する。
ステップ９１８（Ｓ９１８）において、データアクセス装置３は、プロファイル情報の検索を行う。
【０２９８】
ステップ９２０（Ｓ９２０）において、データアクセス装置３は、論理ボリューム管理部５１２に対して、検索の結果として得られたプロファイル情報を送信する。
ステップ９２２（Ｓ９２２）において、論理ボリューム管理部５１２は、インメモリストレージ管理部５１０に対して、プロファイル情報を送信する。
ステップ９２４（Ｓ９２４）において、インメモリストレージ管理部５１０は、インメモリストレージ部５２０に対して、プロファイル情報を送信する。
ステップ９２６（Ｓ９２６）において、インメモリストレージ部５２０は、プロファイル情報を格納する。
ステップ９２８（Ｓ９２８）において、インメモリストレージ部５２０は、プロファイル情報の格納の成否（成功）を、インメモリストレージ管理部５１０に通知する。
【０２９９】
図６２は、データアクセスサーバ５の全体的な処理（Ｓ５４）を示すフローチャートである。
図６２に示すように、ステップ５４０（Ｓ５４０）において、データアクセスサーバプログラム５０（図５６）の論理ボリューム管理部５１２は、インメモリストレージ管理部５１０からの指示に従って、データアクセス装置３に、関係テーブルに対応する論理ボリューム（図５５）の設定を行なわせる。
ステップ５４２（Ｓ５４２）において、インメモリストレージ部５２０は、インメモリストレージ管理部５１０からの指示に従って、各論理ディスクボリュームに対するキャッシュ領域の割り当てを行う。
【０３００】
ステップ５４４（Ｓ５４４）において、検索処理部５００は、クライアントＰＣ２から、アクセス要求を受信する。
検索処理部５００は、ＩＤ変換部５０２に対して、システム外部の識別子とシステム内部での識別子との変換を指示する。
ステップ５４６（Ｓ５４６）において、検索処理部５００は、検索要求に含まれるパスにしたがって、プロファイル仕様情報を検索する。
プロファイル仕様情報が返されると、Ｓ５４８の処理に進み、何らかの理由でプロファイル仕様情報が得られなかった場合は、適切なエラー処理を行い、Ｓ５４４の処理に戻り、新たなアクセス要求を受信する。
【０３０１】
ステップ５４８（Ｓ５４８）において、検索処理部５００は、Ｓ５４４において受信された要求タイプを判断する。
データアクセスサーバプログラム５０は、要求タイプが書き込み（プロファイル情報の格納処理など）であるときにはＳ５８の処理に進み、要求タイプが読み出し（プロファイル情報の検索処理）であるときにはＳ６０の処理に進む。
【０３０２】
ステップ５８（Ｓ５８）において、インメモリストレージ管理部５１０は、インメモリストレージ部５２０に対する書き込み処理（図６３を参照して後述）を実行する。
ステップ６０（Ｓ６０）において、インメモリストレージ管理部５１０は、インメモリストレージ部５２０からの読み出し処理（図６４を参照して後述）を実行する。
【０３０３】
ステップ５５０（Ｓ５５０）において、インメモリストレージ管理部５１０は、処理を継続するか否かを判断する。
データアクセスサーバプログラム５０は、処理を継続するときにはＳ５５４の処理に進み、これ以外のときにはＳ５５２の処理に進む。
ステップ５５２（Ｓ５５２）において、インメモリストレージ管理部５１０は、ログ処理部５１６からログ情報を読み出し、論理ボリューム管理部５１２に対して論理ボリュームに記憶されているデータの更新を指示する。
【０３０４】
ステップ５５４（Ｓ５５４）において、インメモリストレージ管理部５１０は、インメモリストレージの論理ボリュームに対応するキャッシュ領域（メモリ領域）に記憶されているデータを、それぞれ論理ボリュームを構成するデータアクセス装置のディスク領域に書き込み、メモリおよびディスク間でデータの一貫性を維持する処理（同期処理）を実行するか否かを判断する。
データアクセスサーバプログラム５０は、同期処理を実行するときにはＳ５５６の処理に進み、これ以外のときにはＳ５５８の処理に進む。
【０３０５】
ステップ５５６（Ｓ５５６）において、インメモリストレージ管理部５１０は、ログ処理部５１６からログ情報を読み出し、論理ボリューム管理部５１２に対して論理ボリュームに記憶されているデータの更新を指示する。
論理ボリューム管理部５１２は、データの更新（変更）を実デバイスに書き込む前に、そのデータに関するオペレーション（差分）をログとして記録しておき、適切なコミットポイント（すなわち、同期処理実行時）において、記録されたオペレーションをデバイスに反映させる処理（ログ適用処理）を行う。
ステップ５５８（Ｓ５５８）において、インメモリストレージ管理部５１０は、ログ処理部５１６に対して、データ更新のログへの追記を指示する。
【０３０６】
図６３は、図６２に示したインメモリストレージ管理部５１０における書き込み処理（Ｓ５８）を示すフローチャートである。
ステップ５８０（Ｓ５８０）において、インメモリストレージ管理部５１０は、メモリ領域への書き込みを行うか否かを判断する。
メモリ領域の書き込みを行うときには、インメモリストレージ管理部５１０は、インメモリストレージ部５２０に、データ書き込みを指示し、Ｓ５８２の処理に進む。
これ以外のときには、インメモリストレージ管理部５１０は、論理ボリューム管理部５１２にデータ書き込みを指示し、Ｓ５９０の処理に進む。
ステップ５８２（Ｓ５８２）において、インメモリストレージ部５２０は、メモリ領域にデータが存在するか否かを判断する。
インメモリストレージ管理部５１０は、メモリ領域にデータが存在するときにはＳ５８４の処理に進み、これ以外のときにはＳ５８６の処理に進む。
【０３０７】
ステップ５８４（Ｓ５８４）において、インメモリストレージ部５２０は、メモリ領域にデータを上書きし、更新する。
ステップ５８６（Ｓ５８６）において、インメモリストレージ部５２０は、データをメモリ領域に記憶する。
ステップ５８８（Ｓ５８８）において、インメモリストレージ管理部５１０は、ログ処理部５１６に対して、データ更新のログへの追記を指示する。
ステップ５９０（Ｓ５９０）において、論理ボリューム管理部５１２は、データアクセス装置３に対して、データのディスク領域への書き込みを指示する。
ステップ５９２（Ｓ５９２）において、インメモリストレージ管理部５１０は、クライアントＰＣ２に対して、書き込み応答を行う。
【０３０８】
図６４は、図６２に示したインメモリストレージ管理部５１０における読み出し処理（Ｓ６０）を示すフローチャートである。
ステップ６００（Ｓ６００）において、インメモリストレージ管理部５１０は、メモリ領域からの読み出しが要求されたか否かを判断する。
メモリ領域からの読み出しが要求されたときには、インメモリストレージ管理部５１０は、インメモリストレージ部５２０にデータ読み出しを指示し、Ｓ６０２の処理に進む。
これ以外のときには、インメモリストレージ管理部５１０は、インメモリストレージ管理部５１０は、論理ボリューム管理部５１２にデータ読み出しを指示し、Ｓ６１２の処理に進む。
【０３０９】
ステップ６０２（Ｓ６０２）において、インメモリストレージ部５２０は、メモリ領域にデータが存在するか否かを判断する。
メモリ領域にデータが存在するときには、インメモリストレージ部５２０はＳ６０４の処理に進み、これ以外のときにはＳ６０６の処理に進む。
ステップ６０４（Ｓ６０４）において、インメモリストレージ部５２０は、メモリ領域からデータを読み出す。
ステップ６０６（Ｓ６０６）において、インメモリストレージ部５２０がインメモリストレージ管理部５１０に対してメモリ領域にデータが存在しない旨を通知し、インメモリストレージ管理部５１０は、論理ボリューム管理部５１２にデータ読み出しを指示する。
【０３１０】
ステップ６０８（Ｓ６０８）において、データを受信したインメモリストレージ管理部５１０は、インメモリストレージ部５２０に対して、データのメモリ領域への書き込みを指示する。
ステップ６１０（Ｓ６１０）において、インメモリストレージ管理部５１０は、ログ処理部５１６に対して、データ更新のログへの追記（更新）を指示する。
ステップ６１２（Ｓ６１２）において、論理ボリューム管理部５１２は、データアクセス装置３に対して、データのディスク領域からの読み出しを指示する。
ステップ６１４（Ｓ６１４）において、インメモリストレージ管理部５１０は、クライアントＰＣ２に対して、読み出し応答を行う。
【０３１１】
なお、図５７のキャッシュ容量変更処理は、図６２〜図６４を参照して上述した読み出し（検索）・書き込み（格納）処理と直接連携せず、デーモンプロセスとして実装され、バックグラウンドで独立して動作するため、後述する図６５，図６６の通信シーケンス図には現れない。
また、図６２に示したＳ５４０およびＳ５４２の処理は、データアクセスサーバ５の初期設定（初期化）の処理であり、この処理は、後述する図６５，図６６には記載されない。
図６５，図６６はプロファイル情報の検索処理を示すもので、図６２，図６４の読み出し処理・応答に係る部分に対応する。
また、図６３は書き込み処理（格納など）のフローチャートなので、後述する図６５，図６６とは関係ない。
【０３１２】
以下、データアクセスサーバ５が動作するコミュニティ情報検索システム１（図１）の全体的な処理を説明する。
図６５は、コミュニティ情報検索システム１におけるデータアクセスサーバ５の検索処理（Ｓ６２）を示す通信シーケンス図である。
図６６は、図６５に示したコミュニティ情報検索システム１におけるデータアクセスサーバ５の検索処理の一部（Ｓ６６）を詳細に示す通信シーケンス図である。
図６５，図６６に示すように、ステップ６２０（Ｓ６２０）において、クライアントＰＣ２は、データアクセスサーバ５に対して、パスを指定する。
ステップ６２２（Ｓ６２２）において、データアクセスサーバ５は、プロファイル仕様管理装置１２に対して、プロファイル仕様情報の検索を行う。
ステップ６２４（Ｓ６２４）において、プロファイル仕様管理装置１２は、データアクセスサーバ５に対して、プロファイル仕様情報を返す。
【０３１３】
プロファイル仕様管理装置１２からプロファイル仕様情報が返されると、データアクセスサーバプログラム５０（図５６）の検索処理部５００は、ステップ６６０（Ｓ６６０）において、インメモリストレージ管理部５１０に対してパス指定を行う。
ステップ６６２（Ｓ６６２）において、インメモリストレージ管理部５１０は、インメモリストレージ部５２０に対して、プロファイル情報の検索を行う。
ステップ６６４（Ｓ６６４）において、インメモリストレージ部５２０は、インメモリストレージ管理部５１０に対して、プロファイル情報を返す。
【０３１４】
インメモリストレージ部５２０からプロファイル情報が返されると、論理ボリューム管理部５１２は、検索処理部５００に対して物理プロファイル情報を出力する（ステップ６７２（Ｓ６７２）の処理に対応）。
以下のＳ６６６，Ｓ６２６〜Ｓ６３８，Ｓ６７０の処理は、インメモリストレージ部５２０にプロファイル情報がないときに実行される。
ステップ６６６（Ｓ６６６）において、インメモリストレージ管理部５１０は、論理ボリューム管理部５１２に対して、パスの指定を行う。
【０３１５】
ステップ６２６（Ｓ６２６）において、検索処理部５００は、データアクセスサーバ５からデータアクセス装置３のユーザプロファイル情報ＤＢ３０６〜コミュニティメンバー情報ＤＢ３１６（図４３）に対するパスを指定する。
ステップ６２８（Ｓ６２８）において、データアクセス装置３は、ポリシサーバ１６に対して、アクセスの可否を問い合わせる。
ステップ６３０（Ｓ６３０）において、ポリシサーバ１６は、データアクセス装置３に対して、アクセスの可否を応答する。
ステップ６３２（Ｓ６３２）において、データアクセス装置３は、サービス実行装置１８に対して、サービスの実行を要求する。
ステップ６３４（Ｓ６３４）において、サービス実行装置１８は、サービスを実行し、その結果をデータアクセス装置３に返す。
【０３１６】
ステップ６３６（Ｓ６３６）において、データアクセス装置３のユーザプロファイル情報ＤＢ３０６〜コミュニティメンバー情報ＤＢ３１６は、プロファイル情報の検索を行う。
ステップ６３８（Ｓ６３８）において、データアクセス装置３のユーザプロファイル情報ＤＢ３０６〜コミュニティメンバー情報ＤＢ３１６は、データアクセスサーバプログラム５０の論理ボリューム管理部５１２に対して、検索の結果として得られたプロファイル情報を送信する。
【０３１７】
ステップ６７０（Ｓ６７０）において、論理ボリューム管理部５１２は、インメモリストレージ管理部５１０に対して、プロファイル情報を出力する。
ステップ６７２（Ｓ６７２）において、論理ボリューム管理部５１２は、検索処理部５００に対して、物理プロファイル情報を出力する。
ステップ６４０（Ｓ６４０）において、データアクセスサーバ５は、クライアントＰＣ２に対して物理プロファイル情報を送信する。
【０３１８】
図６７は、コミュニティ情報検索システム１におけるプロファイル仕様情報のキャッシュ保存処理（Ｓ６８）を示す通信シーケンス図である。
プロファイル仕様情報の検索は、クライアントＰＣ２からのアクセス要求が受信されると、必ず、図６２のＳ５４４（アクセス要求受信を判定するステップ）の処理の中で行われる。
図６７に示すように、ステップ６８０（Ｓ６８０）において、検索処理部５００は、プロファイル情報検索部５０８に対してパスを指定する。
ステップ６８２（Ｓ６８２；ただし、図６５のＳ６２２と同じ処理）において、データアクセスサーバプログラム５０のプロファイル情報検索部５０８は、プロファイル仕様管理装置１２のプロファイル仕様情報ＤＢ４３０に対して、プロファイル仕様情報の検索を行う。
【０３１９】
ステップ６８４（Ｓ６８４）において、プロファイル仕様管理装置１２のプロファイル仕様情報ＤＢ４３０（図４２）は、データアクセスサーバプログラム５０のプロファイル情報検索部５０８に対して、プロファイル仕様情報を返す。
ステップ６８６（Ｓ６８６）において、プロファイル情報検索部５０８は、返されたプロファイル仕様情報を、プロファイル情報検索部５０８の記憶領域内に設けられたプロファイル仕様情報キャッシュＤＢに格納する。
【０３２０】
図６８は、コミュニティ情報検索システム１におけるプロファイル仕様情報の検索処理（Ｓ７０）を示す通信シーケンス図である。
なお、プロファイル仕様情報の検索は、クライアントＰＣ２からのアクセス要求が受信されると、必ず実行される。
また、図６５に示したＳ６２２，Ｓ６２４の処理においては、キャッシュＤＢを考慮しないプロファイル仕様情報検索処理が行われるが、図６８には、キャッシュ保存処理（図６７）を考慮した処理が示されている。
また、図６８に示す処理は、図６２に示したＳ５４４（アクセス要求受信を判定するステップ）の処理の中で行われる。
【０３２１】
図６８に示すように、ステップ７００（Ｓ７００）において、検索処理部５００は、プロファイル仕様情報検索部５０８に対して、パスを指定する。
ステップ７０２（Ｓ７０２）において、データアクセスサーバプログラム５０のプロファイル仕様情報検索部５０８は、プロファイル仕様情報キャッシュＤＢに対して、プロファイル仕様情報の検索を行う。
ステップ７０４（Ｓ７０４）において、プロファイル仕様情報キャッシュＤＢは、プロファイル仕様情報検索部５０８に対して、プロファイル仕様情報を返す。
【０３２２】
Ｓ７０２の処理において、プロファイル仕様情報キャッシュＤＢを検索しても、プロファイル仕様情報が見つからなかったときにＳ７０６，Ｓ７０８が実行される。
ステップ７０６（Ｓ７０６）において、プロファイル仕様情報検索部５０８は、プロファイル仕様管理装置１２のプロファイル仕様情報ＤＢ４３０に対して、プロファイル仕様情報の検索を行う。
ステップ７０８（Ｓ７０８）において、プロファイル仕様管理装置１２のプロファイル仕様情報ＤＢ４３０は、検索処理部５００に対して、検索の結果として得られたプロファイル仕様情報を返す。
ステップ７１０（Ｓ７１０）において、プロファイル仕様情報検索部５０８は、検索処理部５００に対して、検索の結果として得られたプロファイル仕様情報を返す。
【０３２３】
図６９は、コミュニティ情報検索システム１におけるプロファイル情報のキャッシュ保存処理（Ｓ７２）を示す通信シーケンス図である。
ステップ７２０（Ｓ７２０；図６６に示したＳ６６０と同じ処理）において、データアクセスサーバプログラム５０の検索処理部５００は、インメモリストレージ管理部５１０に対してパスの指定を行う。
ステップ７２２（Ｓ７２２；Ｓ６６６，Ｓ６２６に対応）において、インメモリストレージ管理部５１０は、データアクセス装置３のユーザプロファイル情報ＤＢ３０６〜コミュニティメンバー情報ＤＢ３１６に対して、パスの指定を行う。
【０３２４】
ステップ６２８（Ｓ６２８）〜ステップ６３８（Ｓ６３８）において、図６５，図６６に示したように、アクセス可否の問い合わせ、アクセス可否の応答、サービス実行要求、サービス実行応答および物理プロファイル情報送信が行われる。
ステップ７３０（Ｓ７３０）において、インメモリストレージ管理部５１０は、インメモリストレージ部５２０に対して、プロファイル情報を出力する。
インメモリストレージ部５２０は、インメモリストレージ管理部５１０からのプロファイル情報を記憶する。
【０３２５】
図７０は、コミュニティ情報検索システム１におけるプロファイル情報の格納処理（Ｓ７４）を示す通信シーケンス図である。
図７１は、図７０に示したプロファイル情報の格納処理の一部（Ｓ７８）を詳細に示す通信シーケンス図である。
図７０，図７１に示すように、ステップ７４０（Ｓ７４０）において、クライアントＰＣ２は、データアクセスサーバ５（データアクセスサーバプログラム５０の検索処理部５００）に対して、パスおよびプロファイル情報を指定する。
ステップ７８０（Ｓ７８０）において、検索処理部５００は、インメモリストレージ管理部５１０に対して、パスおよびプロファイル情報を出力する。
【０３２６】
ステップ７８２（Ｓ７８２）において、インメモリストレージ管理部５１０は、インメモリストレージ部５２０に対して、プロファイル情報を出力する。
ステップ７８４（Ｓ７８４）において、インメモリストレージ部５２０は、入力されたプロファイル情報を格納する。
ステップ７８６（Ｓ７８６）において、インメモリストレージ部５２０は、インメモリストレージ管理部５１０に対して、パスにより特定される論理ボリュームに対応するキャッシュ領域へのプロファイル情報の書き込みの成否を通知する。
【０３２７】
ステップ７８８（Ｓ７８８）において、インメモリストレージ管理部５１０は、論理ボリューム管理部５１２に対して、パスおよびプロファイル情報を指定する。
ステップ７４２（Ｓ７４２）において、論理ボリューム管理部５１２は、データアクセス装置３に対して、パスおよびプロファイル情報を指定する。
【０３２８】
ステップ６２８（Ｓ６２８）〜ステップ６３２（Ｓ６３２）において、図６５，図６６に示したように、アクセス可否の問い合わせ、アクセス可否の応答およびサービス実行要求、サービス実行応答が行われる。
ステップ７５０（Ｓ７５０）において、データアクセス装置３のユーザプロファイル情報ＤＢ３０６〜コミュニティメンバー情報ＤＢ３１６は、前提条件の確認を行う。
この前提条件の確認のための処理は、図３９に示した前提条件確認部３６０について記載されているように、格納するプロファイル情報に関して、例えば、ある属性の値が決められた範囲内にあるか否か、および、書式に従っているか否かなどの確認を行う処理である。
また、この前提条件確認処理は、インメモリストレージ管理部５１０における書き込み処理（図６３）のステップ５９０内で、論理ボリューム管理部５１２からデータアクセス装置３に対して出された書き込み指示に応じて、データアクセス装置３により実行される。
ステップ７５２（Ｓ７５２）において、データアクセス装置３のユーザプロファイル情報ＤＢ３０６〜コミュニティメンバー情報ＤＢ３１６は、プロファイル情報を格納する。
【０３２９】
ステップ７５４（Ｓ７５４）において、データアクセス装置３は、データアクセスサーバ５（データアクセスサーバプログラム５０の論理ボリューム管理部５１２）に対して、プロファイル情報の（プロファイル情報ＤＢへの）格納の成否を送信する。
ステップ７９４（Ｓ７９４）において、データアクセスサーバプログラム５０の論理ボリューム管理部５１２は、インメモリストレージ管理部５１０に対して、成否を出力する。
ステップ７９６（Ｓ７９６）において、インメモリストレージ管理部５１０は、検索処理部５００に対して、成否を出力する。
ステップ７５６（Ｓ７５６）において、データアクセスサーバ５（データアクセスサーバプログラム５０の検索処理部５００）は、クライアントＰＣ２に対して、成否を送信する。
【産業上の利用可能性】
【０３３０】
本発明は、データの検索のために利用可能である。
【図面の簡単な説明】
【０３３１】
【図１】本発明にかかるコミュニティ情報検索システムの構成を例示する図である。
【図２】図１に示したクライアントＰＣなどの各クラスタノードのハードウエア構成を例示する図である。
【図３】図１に示したコミュニティ情報検索システムにより検索の対象となるコミュニティ情報により示されるコミュニティを例示する第１の図である。
【図４】図１に示したコミュニティ情報検索システムにより検索の対象となるコミュニティ情報により示されるコミュニティを例示する第２の図であって、（Ａ）は、図３に示したコミュニティが形成される前のコミュニティ情報検索システムのユーザの状態を示し、（Ｂ）は、図３に示したコミュニティの形成を示し、（Ｂ）は、図３に示したコミュニティの変化を示す。
【図５】図１に示したコミュニティ情報検索システムにより検索の対象となるコミュニティ情報により示されるコミュニティを例示する第３の図である。
【図６】関連性ネットワーク型データを変換する際のデータモデルを示す図である。
【図７】記憶の対象となる一連の関連性を有するｎ個のデータを、図１に示したデータモデルに従って変換したデータ構造を示す図である。
【図８】関連ノード間の関連性を表現する方法の一例を示す図である。
【図９】第１及び第２の例のデータをノード群及び各ノード間の関連を示すエッジ群を用いて表現した関連性ネットワーク型データの構造を示す図である。
【図１０】本発明の好適実施例に関するブロック図である。
【図１１】図８（ａ）に例示したデータの関連を書き換えて示す図である。
【図１２】図１１に示したデータ構造を一般化して示す図である。
【図１３】図８（ｂ），図９に示したデータの関係を、一般化して示す図である。
【図１４】図１２に示した構造を採るデータを記憶するために用いられる関連性役割（ＡＲ(Association Role)）テーブルを示す図である。
【図１５】図１２に示した構造を採るデータを記憶するために用いられるＴノード用識別子（ＩＤ(Identifier)）テーブルを示す図である。
【図１６】図１２に示した構造を採るデータを記憶するために用いられるＡノード用識別子（ＩＤ）テーブルを示す図である。
【図１７】図１に示したコミュニティ関連データ管理装置におけるデータ検索方法を例示する図である。
【図１８】図１に示したコミュニティ関連データ管理装置における検索の全体的な処理（Ｓ１０７０）を示す第１のフローチャートである。
【図１９】図１８に示した検索フィルタに基づく関連ノードの選択処理（Ｓ１０７２）を示すフローチャートである。
【図２０】図１８，図１９に示したノードＩＤおよびノード名取得処理（Ｓ１０７４）を示すフローチャートである。
【図２１】図１に示したコミュニティ関連データ管理装置において実行されるコミュニティ関連データ管理プログラムの構成を示す図である。
【図２２】図１に示したコミュニティ関連データ管理装置（コミュニティ関連データ管理プログラム；図２１）に対して入力されるデータと、これに含まれるデータの検索に含まれる検索条件とを例示する図である。
【図２３】ＡＲエントリ作成部（図２１）およびＡＲＤＢ管理部により作成され、ＡＲＤＢに記憶されるＡＲテーブルを例示する図である。
【図２４】ＩＤエントリ作成部（図２１）およびＩＤＤＢ管理部により作成され、ＩＤＤＢに記憶されるＴノード用のＩＤテーブルを例示する図である。
【図２５】ＩＤエントリ作成部（図２１）およびＩＤＤＢ管理部により作成されるＡノードについてのＩＤテーブルを例示する図である。
【図２６】図１などに示したコミュニティ関連データ管理装置によるコミュニティ情報の管理方法を例示する図である。
【図２７】図１に示したデータアクセス装置が、クライアントＰＣからの要求に応じて、データアクセス装置および外部プロファイル情報管理装置またはこれらのいずれかから読み出すユーザプロファイル情報を例示する図である。
【図２８】コミュニティプロファイル情報を例示する図である。
【図２９】コミュニティリスト情報を例示する図である。
【図３０】コミュニティメンバー情報を例示する図である。
【図３１】逆引きバディリスト情報を例示する図である。
【図３２】識別テーブル情報を例示する図である。
【図３３】図１に示したデータアクセス装置およびプロファイル仕様情報管理装置に記憶され、管理されるプロファイル仕様情報を例示する図である。
【図３４】図２７〜図３２に示した情報の参照関係などを示す図である。
【図３５】図１に示したデータアクセス装置に記憶され、管理されるプロファイル情報を例示する図である。
【図３６】図１に示したデータアクセス装置上で実行されるプロファイル情報操作プログラムの構成を示す図である。
【図３７】図３６に示したプロファイル情報検索部の構成を示す図である。
【図３８】図３７に示したデータアクセス装置特定部の処理を示す図である。
【図３９】図３７に示したプロファイル情報格納部の構成を示す図である。
【図４０】図３７に示したプロファイル情報削除部の構成を示す図である。
【図４１】データアクセス装置上で動作するプロファイル仕様情報確認プログラムの構成を示す図である。
【図４２】プロファイル仕様情報管理装置（図１）上で動作するプロファイル仕様情報操作プログラム４２の構成を示す図である。
【図４３】外部プロファイル情報管理装置（図１）上で動作するプロファイル情報検索プログラムの構成を示す図である。
【図４４】管理ＰＣ（図１）上で動作するプロファイル仕様情報操作プログラムの構成を示す図である。
【図４５Ａ】コミュニティ情報検索システム（図１）におけるクライアントＰＣ、データアクセス装置、プロファイル仕様管理装置、外部プロファイル管理装置、ポリシサーバおよびサービス実行装置の動作（Ｓ１０）を例示する第１の通信シーケンスの第１の部分を示す図である。
【図４５Ｂ】コミュニティ情報検索システム（図１）におけるクライアントＰＣ、データアクセス装置、プロファイル仕様管理装置、外部プロファイル管理装置、ポリシサーバおよびサービス実行装置の動作（Ｓ１０）を例示する第１の通信シーケンスの第２の部分を示す図である。
【図４５Ｃ】コミュニティ情報検索システム（図１）におけるクライアントＰＣ、データアクセス装置、プロファイル仕様管理装置、外部プロファイル管理装置、ポリシサーバおよびサービス実行装置の動作（Ｓ１０）を例示する第１の通信シーケンスの第３の部分を示す図である。
【図４５Ｄ】コミュニティ情報検索システム（図１）におけるクライアントＰＣ、データアクセス装置、プロファイル仕様管理装置、外部プロファイル管理装置、ポリシサーバおよびサービス実行装置の動作（Ｓ１０）を例示する第１の通信シーケンスの第４の部分を示す図である。
【図４５Ｅ】コミュニティ情報検索システム（図１）におけるクライアントＰＣ、データアクセス装置、プロファイル仕様管理装置、外部プロファイル管理装置、ポリシサーバおよびサービス実行装置の動作（Ｓ１０）を例示する第１の通信シーケンスの第５の部分を示す図である。
【図４６】図４５Ａに示したクライアントＰＣの要求を受けて、データアクセス装置が、プロファイル仕様情報管理装置に対してプロファイル仕様情報を検索するとき、同時に行われる動作を例示するシーケンス図である。
【図４７】図４５Ａに示したデータアクセス装置が、データアクセス装置のプロファイル仕様情報キャッシュＤＢ、または、プロファイル仕様情報管理装置のプロファイル仕様情報ＤＢから、プロファイル仕様情報（図３３）を検索する処理を例示するシーケンス図である。
【図４８】プロファイル情報の記憶位置と、プロファイル情報の種類との対応付けを例示する図である。
【図４９】図４５Ａに示したクライアントＰＣの要求を受けて、データアクセス装置が、別のデータアクセス装置に対してプロファイル情報を検索するとき、同時に行われる動作を例示するシーケンス図である。
【図５０】図４５Ａに示したデータアクセス装置が、別のデータアクセス装置に対して、プロファイル情報を検索する処理を例示するシーケンス図である。
【図５１】図４５Ｄに示したクライアントＰＣの要求を受けて、データアクセス装置が、外部プロファイル情報管理装置に対してプロファイル情報を検索するとき、同時に行われる動作を例示するシーケンス図である。
【図５２】図４５Ｄに示すデータアクセス装置が、外部プロファイル情報管理装置に対して、プロファイル情報を検索する処理を例示するシーケンス図である。
【図５３Ａ】コミュニティ情報検索システム（図１）におけるクライアントＰＣ、データアクセス装置、プロファイル仕様管理装置、外部プロファイル管理装置、ポリシサーバおよびサービス実行装置の動作（Ｓ２０）を例示する第２の通信シーケンスの第１の部分を示す図である。
【図５３Ｂ】コミュニティ情報検索システム（図１）におけるクライアントＰＣ、データアクセス装置、プロファイル仕様管理装置、外部プロファイル管理装置、ポリシサーバおよびサービス実行装置の動作（Ｓ２０）を例示する第２の通信シーケンスの第２の部分を示す図である。
【図５３Ｃ】コミュニティ情報検索システム（図１）におけるクライアントＰＣ、データアクセス装置、プロファイル仕様管理装置、外部プロファイル管理装置、ポリシサーバおよびサービス実行装置の動作（Ｓ２０）を例示する第２の通信シーケンスの第３の部分を示す図である。
【図５３Ｄ】コミュニティ情報検索システム（図１）におけるクライアントＰＣ、データアクセス装置、プロファイル仕様管理装置、外部プロファイル管理装置、ポリシサーバおよびサービス実行装置の動作（Ｓ２０）を例示する第２の通信シーケンスの第４の部分を示す図である。
【図５３Ｅ】コミュニティ情報検索システム（図１）におけるクライアントＰＣ、データアクセス装置、プロファイル仕様管理装置、外部プロファイル管理装置、ポリシサーバおよびサービス実行装置の動作（Ｓ２０）を例示する第２の通信シーケンスの第５の部分を示す図である。
【図５４Ａ】コミュニティ情報検索システム（図１）におけるクライアントＰＣ、データアクセス装置、プロファイル仕様管理装置、外部プロファイル管理装置、ポリシサーバおよびサービス実行装置の動作（Ｓ３０）を例示する第３の通信シーケンスの第１の部分を示す図である。
【図５４Ｂ】コミュニティ情報検索システム（図１）におけるクライアントＰＣ、データアクセス装置、プロファイル仕様管理装置、外部プロファイル管理装置、ポリシサーバおよびサービス実行装置の動作（Ｓ３０）を例示する第３の通信シーケンスの第２の部分を示す図である。
【図５４Ｃ】コミュニティ情報検索システム（図１）におけるクライアントＰＣ、データアクセス装置、プロファイル仕様管理装置、外部プロファイル管理装置、ポリシサーバおよびサービス実行装置の動作（Ｓ３０）を例示する第３の通信シーケンスの第３の部分を示す図である。
【図５４Ｄ】コミュニティ情報検索システム（図１）におけるクライアントＰＣ、データアクセス装置、プロファイル仕様管理装置、外部プロファイル管理装置、ポリシサーバおよびサービス実行装置の動作（Ｓ３０）を例示する第３の通信シーケンスの第４の部分を示す図である。
【図５４Ｅ】コミュニティ情報検索システム（図１）におけるクライアントＰＣ、データアクセス装置、プロファイル仕様管理装置、外部プロファイル管理装置、ポリシサーバおよびサービス実行装置の動作（Ｓ３０）を例示する第３の通信シーケンスの第５の部分を示す図である。
【図５５】論理ボリュームを例示する図である。
【図５６】データアクセスサーバ（図１）において実行されるデータアクセスサーバプログラムの構成を示す図である。
【図５７】図５６に示したデータアクセスサーバプログラムによる第１のキャッシュ容量変更処理を示すフローチャートである。
【図５８】図５６に示したデータアクセスサーバプログラムによる第２のキャッシュ容量変更処理（縮小処理；Ｓ８２）を示す通信シーケンス図である。
【図５９】図５６に示したデータアクセスサーバプログラムによる第３のキャッシュ容量変更処理（拡大処理；Ｓ８６）を示す通信シーケンス図である。
【図６０】コミュニティ関連情報の先読み（プリフェッチ）処理（Ｓ８８）を示すフローチャートである。
【図６１】コミュニティ関連情報の先読み（プリフェッチ）処理（Ｓ９０）を示す通信シーケンス図である。
【図６２】データアクセスサーバの全体的な処理（Ｓ５４）を示すフローチャートである。
【図６３】図６２に示したインメモリストレージ管理部における書き込み処理（Ｓ５８）を示すフローチャートである。
【図６４】図６２に示したインメモリストレージ管理部における読み出し処理（Ｓ６０）を示すフローチャートである。
【図６５】コミュニティ情報検索システムにおけるデータアクセスサーバの検索書処理（Ｓ６２）を示す通信シーケンス図である。
【図６６】図６５に示したコミュニティ情報検索システムにおけるデータアクセスサーバの検索書処理の一部（Ｓ６６）を詳細に示す通信シーケンス図である。
【図６７】コミュニティ情報検索システムにおけるプロファイル仕様情報のキャッシュ保存処理（Ｓ６８）を示す通信シーケンス図である。
【図６８】コミュニティ情報検索システムにおけるプロファイル仕様情報の検索処理（Ｓ７０）を示す通信シーケンス図である。
【図６９】コミュニティ情報検索システムにおけるプロファイル情報のキャッシュ保存処理（Ｓ７２）を示す通信シーケンス図である。
【図７０】コミュニティ情報検索システムにおけるプロファイル情報の格納処理（Ｓ７４）を示す通信シーケンス図である。
【図７１】図７０に示したプロファイル情報の格納処理の一部（Ｓ７８）を詳細に示す通信シーケンス図である。
【符号の説明】
【０３３２】
１・・・コミュニティ情報検索システム，
１２・・・プロファイル仕様情報管理装置，
１４・・・外部プロファイル情報管理装置，
１５・・・外部プロファイル情報格納装置，
１６・・・ポリシサーバ，
１８・・・サービス実行装置，
２・・・クライアントＰＣ，
１１０・・クラスタノード本体，
１１２・・・ＣＰＵ，
１１４・・・メモリ，
１１８・・・記録装置，
１２０・・・記録媒体，
１２２・・・通信装置，
３・・・データアクセス装置
３０・・・プロファイル情報操作プログラム
３００・・・通信処理部
３０２・・・プロファイル仕様情報キャッシュＤＢ
３０４・・・プロファイル情報キャッシュＤＢ
３０６・・・プロファイル情報ＤＢ
３０８・・・コミュニティプロファイル情報ＤＢ，
３１０・・・コミュニティリスト情報ＤＢ，
３１２・・・コミュニティメンバー情報ＤＢ，
３１４・・・逆引きバディリスト情報ＤＢ，
３１６・・・識別子テーブル情報ＤＢ，
３２・・・プロファイル情報検索部，
３２０・・・ＵＩ部，
３２２・・・リクエスト解釈部，
３２４・・・プロファイル仕様情報検索部，
３２６・・・データアクセス装置特定部，
３２８・・・鍵フィルタ値算出部，
３３０・・・データアクセス装置ＩＤ取得部，
３３２・・・データアクセス装置ＩＤ判定部，
３３４・・・アクセス制御部，
３３６・・・サービス実行制御部，
３３８・・・プロファイル情報検索部，
３４０・・・クラスタノード特定部，
３４２・・・データソース読出部，
３４４・・・プロファイル情報検索部，
３４６・・・プロファイル情報格納部，
３６・・・プロファイル情報格納部，
３６０・・・前提条件確認部，
３６２・・・プロファイル情報格納部，
３８・・・プロファイル情報削除部，
３８０・・・前提条件確認部，
３８２・・・プロファイル情報削除部，
１０４・・・管理ＰＣ，
４０・・・プロファイル仕様情報確認プログラム，
４００・・・プロファイル仕様情報確認部，
４２・・・プロファイル仕様情報操作プログラム，
４２０・・・リクエスト解釈部，
４２２・・・プロファイル仕様情報検索部，
４２４・・・プロファイル仕様情報格納部，
４２６・・・プロファイル仕様情報更新部，
４２８・・・プロファイル仕様情報削除部，
４３０・・・プロファイル仕様情報ＤＢ，
４４・・・プロファイル情報検索プログラム，
４４０・・・プロファイル情報検索部，
４６・・・プロファイル仕様情報操作プログラム，
５・・・データアクセスサーバ，
５０・・・データアクセスサーバプログラム，
５００・・・検索処理部，
５０２・・・ＩＤ変換部，
５０４・・・検索モニタ部，
５０６・・・キャッシュ容量制御部，
５０８・・・プロファイル仕様情報検索部，
５１０・・・インメモリストレージ管理部，
５１２・・・論理ボリューム管理部，
５１４・・・コミュニティ関連情報検索部，
５１６・・・ログ処理部，
５２０・・・インメモリストレージ部，
７・・・コミュニティ関連データ管理装置，
７０・・・コミュニティ関連データ管理プログラム，
７２・・・ＤＢ管理部，
７２０・・・管理操作受入部，
７２２・・・ＡＲエントリ作成部，
７２６・・・ＡＲＤＢ管理部，
７２８・・・ＩＤＤＢ管理部，
７６・・・ＤＢ部７６，
７６０・・・ＡＲＤＢ７６０，
７６２・・・ＩＤＤＢ７６２，
７６４・・・ＩＤＤＢ７６４，
７８・・・ＤＢ検索部，
７８０・・・検索操作受入部，
７８２・・・検索条件作成部，
７８４・・・検索制御部，
７８６・・・ＡＲＤＢ検索部，
７８８・・・ＩＤＤＢ検索部，
８・・・識別子管理装置，
【図１】
2008181457.tif 000023
【図２】
2008181457.tif 000024
【図３】
2008181457.tif 000025
【図４】
2008181457.tif 000026
【図５】
2008181457.tif 000027
【図６】
2008181457.tif 000028
【図７】
2008181457.tif 000029
【図８】
2008181457.tif 000030
【図９】
2008181457.tif 000031
【図１０】
2008181457.tif 000032
【図１１】
2008181457.tif 000033
【図１２】
2008181457.tif 000034
【図１３】
2008181457.tif 000035
【図１４】
2008181457.tif 000036
【図１５】
2008181457.tif 000037
【図１６】
2008181457.tif 000038
【図１７】
2008181457.tif 000039
【図１８】
2008181457.tif 000040
【図１９】
2008181457.tif 000041
【図２０】
2008181457.tif 000042
【図２１】
2008181457.tif 000043
【図２２】
2008181457.tif 000044
【図２３】
2008181457.tif 000045
【図２４】
2008181457.tif 000046
【図２５】
2008181457.tif 000047
【図２６】
2008181457.tif 000048
【図２７】
2008181457.tif 000049
【図２８】
2008181457.tif 000050
【図２９】
2008181457.tif 000051
【図３０】
2008181457.tif 000052
【図３１】
2008181457.tif 000053
【図３２】
2008181457.tif 000054
【図３３】
2008181457.tif 000055
【図３４】
2008181457.tif 000056
【図３５】
2008181457.tif 000057
【図３６】
2008181457.tif 000058
【図３７】
2008181457.tif 000059
【図３８】
2008181457.tif 000060
【図３９】
2008181457.tif 000061
【図４０】
2008181457.tif 000062
【図４１】
2008181457.tif 000063
【図４２】
2008181457.tif 000064
【図４３】
2008181457.tif 000065
【図４４】
2008181457.tif 000066
【図４５Ａ】
2008181457.tif 000067
【図４５Ｂ】
2008181457.tif 000068
【図４５Ｃ】
2008181457.tif 000069
【図４５Ｄ】
2008181457.tif 000070
【図４５Ｅ】
2008181457.tif 000071
【図４６】
2008181457.tif 000072
【図４７】
2008181457.tif 000073
【図４８】
2008181457.tif 000074
【図４９】
2008181457.tif 000075
【図５０】
2008181457.tif 000076
【図５１】
2008181457.tif 000077
【図５２】
2008181457.tif 000078
【図５３Ａ】
2008181457.tif 000079
【図５３Ｂ】
2008181457.tif 000080
【図５３Ｃ】
2008181457.tif 000081
【図５３Ｄ】
2008181457.tif 000082
【図５３Ｅ】
2008181457.tif 000083
【図５４Ａ】
2008181457.tif 000084
【図５４Ｂ】
2008181457.tif 000085
【図５４Ｃ】
2008181457.tif 000086
【図５４Ｄ】
2008181457.tif 000087
【図５４Ｅ】
2008181457.tif 000088
【図５５】
2008181457.tif 000089
【図５６】
2008181457.tif 000090
【図５７】
2008181457.tif 000091
【図５８】
2008181457.tif 000092
【図５９】
2008181457.tif 000093
【図６０】
2008181457.tif 000094
【図６１】
2008181457.tif 000095
【図６２】
2008181457.tif 000096
【図６３】
2008181457.tif 000097
【図６４】
2008181457.tif 000098
【図６５】
2008181457.tif 000099
【図６６】
2008181457.tif 000100
【図６７】
2008181457.tif 000101
【図６８】
2008181457.tif 000102
【図６９】
2008181457.tif 000103
【図７０】
2008181457.tif 000104
【図７１】
2008181457.tif 000105