(57)【特許請求の範囲】
【請求項１】
つながりを持った二人のユーザをそれぞれ端点とし且つ当該二人のユーザ間のつながりを表す意味を持ったパイプ情報を処理して、要求元のユーザに対して指定した意味で直接につながる全てのパイプ情報の集合を、要求に応じた結果として得る情報共有装置であって、
情報共有装置は、パイプ情報をユーザ端点毎の集合として管理するパイプ管理手段と、パイプ管理手段が管理するパイプ情報の集合から要求に応じてパイプ情報を検索するパイプ検索手段と、要求に応じて複数のパイプ情報を合成して新たなパイプ情報を生成するパイプ合成手段と、を有し、
各情報共有装置では、パイプ検索手段が、自装置のパイプ管理手段が管理するパイプ情報の集合から当該要求に応じてパイプ情報を検索し、更に、伝達の経路となるパイプ情報を含めた当該要求を検索されたパイプ情報の他方のユーザ端点となるパイプ情報集合を管理する他の情報共有装置へ伝達し、
前記要求が伝達された他の情報共有装置では、パイプ合成手段が当該要求に応じて、要求が順次伝達されることにより得られる伝達経路のパイプ情報を合成して自装置が管理するパイプ情報のユーザ端点と当該要求元のユーザ端点とを直接につなぐパイプ情報を生成して、当該生成したパイプ情報を要求元の情報共有装置へ返送し、
前記要求元の情報共有装置では、自装置で検索された要求に適するパイプ情報及び他の情報共有装置から返送されたパイプ情報の集合を前記要求に対する結果とする、
ことを特徴とする情報共有装置。
【請求項２】
つながりを持った二人のユーザをそれぞれ端点とし且つ当該二人のユーザ間のつながりを表す意味とつながりの重みとを持ったパイプ情報を処理して、要求元のユーザに対して指定した意味で直接につながる最大の重みのパイプ情報を、要求に応じた結果として得る情報共有装置であって、
情報共有装置は、パイプ情報をユーザ端点毎の集合として管理するパイプ管理手段と、パイプ管理手段が管理するパイプ情報の集合から要求に応じてパイプ情報を検索するパイプ検索手段と、要求に応じて複数のパイプ情報を合成して新たなパイプ情報を生成するパイプ合成手段と、を有し、
各情報共有装置では、パイプ検索手段が、自装置のパイプ管理手段が管理するパイプ情報の集合から当該要求に応じてパイプ情報を検索し、更に、伝達の経路となるパイプ情報を含めた当該要求を検索されたパイプ情報の他方のユーザ端点となるパイプ情報集合を管理する他の情報共有装置へ伝達し、
前記要求が伝達された他の情報共有装置では、パイプ合成手段が当該要求に応じて、要求が順次伝達されることにより得られる伝達経路のパイプ情報を合成して自装置が管理するパイプ情報のユーザ端点と当該要求元のユーザ端点とを直接につなぐパイプ情報を生成して、当該生成したパイプ情報を要求元の情報共有装置へ返送し、
前記要求元の情報共有装置では、自装置で検索された要求に適するパイプ情報及び他の情報共有装置から返送されたパイプ情報の内の最大の重みのパイプ情報を前記要求に対する結果とする、
ことを特徴とする情報共有装置。
【請求項３】
請求項２に記載した情報共有装置において、
前記パイプ管理手段が管理するパイプ情報へのアクセス状況に応じて、当該パイプ情報の重みを変化させるパイプ維持手段を、さらに有することを特徴とする情報共有装置。
【請求項４】
つながりを持った二人のユーザをそれぞれ端点とし且つ当該二人のユーザ間のつながりを表す意味を持ったパイプ情報を処理して、要求元のユーザ端点と目的のユーザ端点とを直接につなげるパイプ情報を、要求に応じた結果として得る情報共有装置であって、
情報共有装置は、パイプ情報をユーザ端点毎の集合として管理するパイプ管理手段と、パイプ管理手段が管理するパイプ情報の集合から要求に応じてパイプ情報を検索するパイプ検索手段と、要求に応じて複数のパイプ情報を合成して新たなパイプ情報を生成するパイプ合成手段と、を有し、
各情報共有装置では、パイプ検索手段が、自装置のパイプ管理手段が管理するパイプ情報の集合から当該要求に応じてパイプ情報を検索し、更に、伝達の経路となるパイプ情報及び目的のユーザ端点の指定を含めた当該要求を検索されたパイプ情報の他方のユーザ端点となるパイプ情報集合を管理する他の情報共有装置へ伝達し、
前記要求が伝達された目的のユーザ端点の情報共有装置では、パイプ合成手段が当該要求に応じて、要求が順次伝達されることにより得られる伝達経路のパイプ情報を合成して自装置のユーザ端点と当該要求元のユーザ端点とを直接につなぐパイプ情報を生成して、当該生成したパイプ情報を前記要求元の情報共有装置へ返送し、
前記要求元の情報共有装置では、返送された目的のユーザ端点とを直接につなげるパイプ情報を前記要求に対する結果とする、
ことを特徴とする情報共有装置。
【請求項５】
請求項１ないし請求項４いずれか１項に記載した情報共有装置において、
前記パイプ合成手段は、第一のユーザ端点と第二のユーザ端点とを結ぶ第一のパイプ情報と、第一のパイプ情報が関与する第二のユーザ端点と第三のユーザ端点とを結ぶ第二のパイプ情報と、が与えられたときに、第一のパイプ情報と第二のパイプ情報とを積演算して第一のユーザ端点と第三のユーザ端点とを結ぶ第三のパイプ情報を生成する直列合成を行うことを特徴とする情報共有装置。
【請求項６】
請求項１ないし請求項４いずれか１項に記載した情報共有装置において、
前記パイプ合成手段は、第一のユーザ端点と第二のユーザ端点とを結ぶ第一のパイプ情報と、第一のパイプ情報が関与する第二のユーザ端点と第三のユーザ端点とを結ぶ第二のパイプ情報と、第三のユーザ端点と第一のユーザ端点とを結ぶ第三のパイプ情報と、が与えられたときに、第一のパイプ情報と第二のパイプ情報とを積演算して第一のユーザ端点と第三のユーザ端点とを結ぶパイプ情報を生成し、当該生成したパイプ情報を第三のパイプ情報に和演算して当該第三のパイプ情報を更新する直列合成を行うことを特徴とする情報共有装置。
【請求項７】
請求項１ないし請求項４いずれか１項に記載した情報共有装置において、
前記パイプ合成手段は、第一のユーザ端点と第二のユーザ端点とを結ぶ第一のパイプ情報と、第三のユーザ端点と第四のユーザ端点とを結ぶ第二のパイプ情報と、が与えられたときに、第一のパイプ情報と第二のパイプ情報とを積演算して第一又は第二のユーザ端点と第三又は第四のユーザ端点とを結ぶ第三のパイプ情報を生成するたたみこみ合成を行うことを特徴とする情報共有装置。
【請求項８】
請求項１ないし請求項４いずれか１項に記載した情報共有装置において、
前記パイプ合成手段は、第一のユーザ端点と第二のユーザ端点とを結ぶ第一のパイプ情報と、第三のユーザ端点と第四のユーザ端点とを結ぶ第二のパイプ情報と、第一又は第二のユーザ端点と第三又は第四のユーザ端点とを結ぶ第三のパイプ情報と、が与えられたときに、第一のパイプ情報と第二のパイプ情報とを積演算して第一又は第二のユーザ端点と第三又は第四のユーザ端点とを結ぶパイプ情報を生成し、当該生成したパイプ情報を第三のパイプ情報に和演算して当該第三のパイプ情報を更新するたたみこみ合成を行うことを特徴とする情報共有装置。
【請求項９】
請求項１ないし請求項８のいずれか１項に記載した情報共有装置において、
情報管理装置を用いたユーザ間のコミュニケーションを検出するコミュニケーション検出手段と、
前記コミュニケーション検出手段が検出したコミュニケーションの内容に基づいて前記パイプ管理手段に管理させる新たなパイプ情報を生成するパイプ生成手段と、
前記パイプ管理手段が管理するパイプ情報を前記コミュニケーション検出手段が検出した新たなコミュニケーションの内容に基づいて更新するパイプ更新手段と、をさらに有することを特徴とする情報共有装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の情報管理装置間で相互に情報を提供しあうことによって情報の共有を実現する情報共有装置に関し、特に、複数の情報管理装置間で交わされるコミュニケーションに基づいて、これら情報管理装置間のつながりをパイプ情報として管理する情報共有装置に関する。
【０００２】
【従来の技術】
組織やグループで情報を共有する手段として、従来よりデータベースを用いたクライアントサーバ型のシステムが用いられている。データベースを用いたクライアントサーバ型のシステムでは、あらかじめ設定したデータベーススキーマに従って、データベースサーバに情報を保存しておき、クライアントアプリケーションからＳＱＬ（Structured Query Language）などのデータベースアクセス言語を用いてデータベースへの問い合わせや情報の格納を行うことで、情報の共有を図っている。
しかしながら、データベースを用いたクライアントサーバ型のシステムでは、設定したスキーマに適合する情報以外の情報が扱えないという欠点があった。また、システムを構成するデータベースの数や所在は固定的であり、新たなデータベースを追加することは困難であった。このため、扱う情報の種類が増えたり変化する状況に対応する事が極めて困難であった。
【０００３】
このような問題点に対処する第一の方法として、情報提供者側の情報管理装置と情報消費者側の情報管理装置とを引き合わせる手段を設けることによって、扱う情報の種類が増えたり変化する状況でも柔軟に情報の共有を実現するシステムが提案されている。
すなわち、これらのシステムでは、そのときの状況や扱う情報の種類によって、同一の情報管理装置が情報の提供者にも情報の消費者にもなりうる。また、新たに情報管理装置が追加された場合でも、柔軟に対処することができる。
【０００４】
特開平５−６３６９６号公報に記載された発明においては、複数の種類の仲介業者に共通の情報を扱う共通センタと、個別の仲介業者ごとの情報を扱う仲介システム個別センタを設け、仲介システム個別センタで要求側と提供側の情報を照合し、両者の条件が一致したときに、共通センタによって要求側と提供側の相互通信を実現する手段を備えることにより、情報の要求者と提供者の引き当てを行っている。
【０００５】
Matchmaker（D. Kuokka and L. Harada: Integrating Information via Matchmaking, Jurnal of Information Systems, O, pp. 101-121, 1996）では、情報の提供者と情報の消費者の間を仲介する仲介エージェントを設け、情報の提供者と消費者を直接結び付けることによって、柔軟な情報の共有を実現している。Matchmakerでは、情報の提供者は、Advertise（宣伝）メッセージを仲介エージェントに送ることにより、自分の能力を登録する。一方、情報の消費者は仲介エージェントにRequest（要求）メッセージを送り、必要な情報の所在を知る。これらのメッセージはＫＱＭＬ（Knowledge Query Manipulation Language）と呼ばれるフォーマットで規定されており、ＫＱＭＬを解釈して生成することのできるソフトウェアモジュールであれば、仲介エージェントにメッセージを送り情報を共有することができる。
【０００６】
Kasbah（A. Chavez, P. Maes: Kasbah: An Agent Marketplace for Buying and Selling Goods, Proceedings of the First International Conference on the Practical Application of Intelligent Agents and Multi-Agent Technology, April 1996）では、商品の売り手のエージェントと商品の買い手のエージェントが、共通の場であるKasbah Marketplace上で互いに希望の商品の比較と価格交渉をすることによって、売買を成立させる。価格交渉においては、それぞれのエージェントが価格変更戦略を持っており、Kasbahで応用対象として想定しているのは、実際の商品であるが、情報を商品として捉えることにより情報の共有に利用できる。
【０００７】
また、上記のような問題点に対処する第二の方法として、情報管理装置が管理する情報内容を考慮して、類似の情報を持った情報管理装置で構成されるクラスタを構成するシステムが提案されている。
すなわち、これらのシステムを利用することにより、同じようなテーマ、話題、興味を持った者同志での、情報共有を実現することができる。この場合も、そのときの状況や扱う情報の種類によって、同一の情報管理装置が情報の提供者にも情報の消費者にもなりうる。
【０００８】
特開平８−２５５１７８号公報に記載された発明においては、情報リソースの内容の関連性を考慮したネットワークトポロジーを構築することで、同種の情報を持つ情報リソースのクラスタを構成し、情報の検索を効率化する手法を提案している。この方法では、ネットワークへの新しい情報リソースの追加時に、関連の可能性のある情報リソースと追加される情報リソースとの内容を比較し、内容が近い場合にリンクを張る事でネットワークトポロジーを維持する。情報の検索においては、検索要求にマッチするリンクをたどることにより、対象となるクラスタに属する全ての情報リソースをたどることができる。
【０００９】
特開平８−２６３４０４号公報に記載された発明においては、電子メールシステムが保存している送受信メールの内容を走査することにより、要求された領域の専門家を収集する手段を提案している。専門家の探索においては、メールに専門領域を表すキーワードのリストを記述し、少数の相手に送る。メールを受け取った側では、メールの内容と自身の持つ様々なファイルとの比較により自分自身が要求された専門家に該当するかどうか判断し、該当する場合は応答メールを返す。さらに、保存している送受信メールの内容を調べて要求された専門家に該当すると思われる相手を抽出し、メールを転送する。こうして転送を繰り返すことにより、少数の相手にメールを送るだけで、多くの専門家を収集することが可能になる。
【００１０】
Yenta（L. Foner: A Multi-Agent Referral System for Matchmaking, The first International Conference on the Practical Applications of Intelligent Agents and Multi-Agent Technology, 1996）では、モジュール単位に管理された情報に対してそれぞれに、情報の属性抽出手段と、前記属性抽出手段が抽出した属性を用いて二つの情報の内容を比較する属性比較手段を設け、内容の近い複数の情報モジュールをクラスタとしてまとめる手段を提案している。クラスタの生成は、ヒルクライミング型の探索手法を適用し、それぞれの情報モジュールがより自分の管理する情報に近い情報モジュールに向かって移動することによって行う。この手段を応用することにより、例えば、同一種類の情報の提供者と消費者を同一のクラスタに入るようにクラスタリングすることができ、必要な情報の共有が可能になる。また、別の応用例として、組織に属するメンバのそれぞれの興味の内容を文書で表現し、これをクラスタリングすることにより興味に基づいたグループを構成することで、同じ興味を持った人同志での情報の共有を実現している。
【００１１】
【発明が解決しようとする課題】
前述した従来の第一の方法におけるシステムでは、情報消費者側のニーズに的確に応えるためには、情報提供者側についてアクセスされる可能性のある情報を全て公開することが必要である。このため、（１）本来知られたくない相手にも情報を公開する必要がある、（２）全ての必要な情報を公開できるとは限らないため情報の引き当てに漏れが生じる、という問題点があった。
前述した従来の第二の方法におけるシステムでは、クラスタ生成のために情報管理装置が持つ情報を細部にわたって調べる。このため、（１）本来公開したくない情報をもとにクラスタを形成されてしまう可能性がある、（２）クラスタの形成時の処理負荷が大きく迅速な結果が得られない、という問題があった。
【００１２】
特に、第一の方法と第二の方法における（１）の問題点は、相手に知られたくない情報を公開しなければならないという点で共通のものであり、例えばインターネット環境において個人情報を他人に悪用されてしまう事態をも引き起こしてしまうことにもなっていた。
本発明は上記問題点に鑑みてなされたもので、その目的とするところは相手に対して公開した部分的な情報に基づいて、大域的な情報の共有を実現することにある。
【００１３】
【課題を解決するための手段】
上記の目的を達成するために、本発明は、情報管理装置間の局所的な関係を用いて、大域的な関係を合成することによって情報の共有を実現する手段を提供する。
すなわち、本発明は、複数の情報管理装置が存在し、互いにコミュニケーションをとって情報のやりとりを行うことによって情報の共有を行う情報共有装置において、二つの情報管理装置間のつながりを表す意味、さらには、つながりの重みを持ったパイプ情報の集合を管理するパイプ管理手段と、ユーザからの要求、或いは、他の情報管理装置からの要求に対して、パイプ管理手段が管理するパイプ情報から適するパイプ情報を検索するパイプ検索手段と、検索された複数のパイプ情報を合成して新たなパイプ情報を生成するパイプ合成手段と、を有する。この本発明では、ユーザからの要求（他の情報管理装置からの要求）があった場合に、パイプ検索手段はパイプ管理手段から要求に合致するパイプ情報を検索することにより、適切なパイプ情報を選択し、必要な情報管理装置とのコミュニケーションを可能にする。さらに、必要に応じてパイプ合成手段が複数のパイプ情報を合成することにより、要求に適するパイプ情報を生成し、必要な情報管理装置とのコミュニケーションを可能にする。
【００１４】
また、本発明では、上記に加えて、パイプ情報のアクセス状況（タイミングや時間の経過等）に従って、パイプ情報の重みを変化させる戦略を持つパイプ維持手段、をさらに有し、時間の経過とともにパイプ情報の重みを下げるとともに、パイプ情報のアクセスが実行されたときにはパイプ情報の重みを上げることによって、パイプ情報が表す二つの情報管理装置間のつながりの強さを、そのときの状況に近い形に維持する。
【００１５】
また、本発明では、上記に加えて、情報管理装置間のコミュニケーションを検出するコミュニケーション検出手段と、コミュニケーション検出手段が検出したコミュニケーションの内容に基づいてパイプ管理手段に管理させる新たなパイプ情報を生成するパイプ生成手段と、パイプ管理手段が管理するパイプ情報をコミュニケーション検出手段が検出した新たなコミュニケーションの内容に基づいて更新するパイプ更新手段と、をさらに有する。これによって、コミュニケーションの検出により、パイプ情報を自動的に生成・更新し、パイプ情報のネットワークを自動的に構築することができる。
【００１６】
また、本発明では、上記に加えて、パイプ合成手段は、和演算により二つのパイプ情報の意味と重みの総和をとることによって合成して新たなパイプ情報を生成する。これにより、ふたつの情報パイプが表す関係を併せ持った情報パイプを生成することができる。
また、本発明では、上記に加えて、パイプ合成手段は、積演算により二つのパイプ情報の意味と重みの重なりを残すことにより合成して新たなパイプ情報を生成する。これにより、二つのパイプ情報が表す関係の共通部分のみを残したパイプ情報を生成することができる。
【００１７】
なお、パイプ情報は、互いに異なる意味を表すラベルによって区別される複数のパイプ要素の束であるとともに、各パイプ要素にはそれぞれ重み付けがされた態様とし、和演算においては、二つのパイプ情報のパイプ要素を和演算して新たなパイプ情報を生成するとともに、共通するラベルのパイプ要素については最大値となるいずれかの重みを生成された新たなパイプ要素の重みとするのが好ましい。また、積演算においては、二つのパイプ情報のパイプ要素を積演算して新たなパイプ情報を生成するとともに、共通するラベルのパイプ要素については最小値となるいずれかの重みを生成された新たなパイプ要素の重みとするのが好ましい。
【００１８】
また、本発明では、上記に加えて、パイプ合成手段は、第一のパイプ情報と当該第一のパイプ情報が関与する二つの情報管理装置以外の二つの情報管理装置を結ぶ第二のパイプ情報と、第一のパイプ情報の関与する情報管理装置の一つと第二のパイプ情報の関与する情報管理装置の一つを結ぶ第三のパイプ情報と、が与えられたときに、第一のパイプ情報と第二のパイプ情報を積演算することにより合成し、さらに合成の結果得られたパイプ情報と第三のパイプ情報とを和演算することにより合成して、新たなパイプ情報を生成する。
これは、情報管理装置Ａ、情報管理装置Ｂ、情報管理装置Ｃ、情報管理装置Ｄ、があり、ＡとＢ、ＢとＣ、ＣとＤ、を関係づけるパイプ情報がそれぞれ存在した場合に、ＢとＣを関係づけるパイプ情報に、ＡとＢを関係づけるパイプ情報と、ＣとＤを関係づけるパイプ情報の共通部分を、追加する処理である。このことは、ＢもＣも関与している（知っている）が、お互いが相手が知っていることを知らない情報を、パイプ情報の合成処理により知らせることを意味している。
【００１９】
また、本発明では、上記に加えて、パイプ合成手段によって合成されたユーザからの要求に合致するパイプ情報を要求元の情報管理装置へ返送するとともに当該要求をさらに他の情報管理装置へ伝達する要求処理手段を、さらに有し、要求元の情報管理装置では、返送されたパイプ情報により、ユーザの要求に合致する全ての情報管理装置へのパイプ情報の集合、或いは、ユーザの要求に合致する一つ情報管理装置へのパイプ情報をパイプ管理手段で管理する。これにより、ユーザの要求を複数の情報管理装置へ順次伝達し、要求に合致する全ての情報管理装置へのパイプ情報の集合、或いは、要求に合致する一つの情報管理装置へのパイプ情報を要求元の情報管理装置へ知らせ、このパイプ情報によって、関連を有する他の全ての情報管理装置（ユーザ）の集合や特定の関連を有する他の情報管理装置（ユーザ）とのつながりを要求元のユーザが得ることができる。
【００２０】
【発明の実施の形態】
本発明に係る第一の実施形態を図１〜図２９を参照して説明する。
図１には、本実施形態に係る情報共有装置の構成を示してある。
この情報共有装置１はパイプ管理システムと呼ばれ、同様な構成の複数のパイプ管理システム１がネットワークＷを介して通信可能に接続され、また、各パイプ管理システム１は電子メールツール２ａ、Ｗｅｂサーバ２ｂ、Ｗｅｂクライアント２ｃ等といった一まとまりの情報管理装置２に付設されている。したがって、パイプ管理システム１は情報管理装置２と実質的に一体に構成されており、以下の説明では、情報管理装置２で管理しているパイプ情報とは対応するパイプ管理システム１で管理しているパイプ情報を意味する。
なお、パイプ管理システム１はユーザごとに存在し、ネットワークＷを通してお互いにコミュニケーションをとる構成となっている。
【００２１】
パイプ管理システム１は、情報管理装置２が行う情報交換を検出するコミュニケーション検出部５、コミュニケーション検出部５が検出した情報の内容に基づいてパイプ情報（以下パイプと呼ぶ）の生成と更新を行うパイプ生成・更新部６、このパイプ管理システム１に関係しているパイプを管理するパイプ管理部７、ユーザからの要求を受け付けるユーザインタフェース部８、他のパイプ管理システム１との通信を行う通信インタフェース９、ユーザまたは他の情報管理装置（他のパイプ管理システム１）からの要求を受け付ける要求処理部１０、要求処理部１０からの要求を受けてパイプ管理部７が管理するパイプから条件に合致するパイプを検索するパイプ検索部１１、要求処理部１０からの要求に合致するパイプが見付からないときにパイプ管理部７で管理されている既存のパイプを合成して新しいパイプを生成するパイプ合成部１２、を有している。
【００２２】
ここで、上記構成のパイプ管理システム１における詳細な処理を説明するに先立って、オフィスにおける情報収集のネットワークの概念を例に用いて、本発明の基本的な考え方について説明する。
【００２３】
オフィスにおける情報収集では、知人のネットワークが活用される。例えば、研究戦略を担当するＡさんが、新しい研究戦略を立てるために、「エージェント」というテーマに関する研究動向を知る必要があったとする。Ａさんは、「エージェント」の研究動向にはそれほど詳しくないため、「エージェント」について詳しい仕事仲間のＢさんにアクセスして情報を入手する。さらに、Ｂさんの紹介で、Ｃさんからも「エージェント」の研究動向に関する情報を仕入れる。さらに、Ｄさんとの会話の中で、実はＤさんは「エージェント」に関して資料を集めていることを知り、Ｄさんからも情報を入手する。このようなつながりは普段の会話や仕事における協業を通して確立されているものである。
図２には、この様子を示してあり、同図の左側には、Ａさんが情報収集活動を開始する前の知人のネットワークの状況、同図の右側には、Ａさんが情報収集を行った結果到達した知人のネットワークの状況を示してある。図中に太線で示すように、情報収集活動によって、「エージェント」に関して以前はつながりがなかったＣさんやＤさんとのつながりが生成される。
【００２４】
このような知人のネットワークを利用した情報収集を分析すると、以下に（１）〜（４）で示す特徴が挙げられる。
（１）間接的な知人（知人の知人）からの情報収集を活用する。
図２の例で、Ａさんは、Ｂさんを通して直接の知り合いではないＣさんから、「エージェント」に関する情報を仕入れている。現実のオフィスでは、数百人、数千人の人がいることもあり、このような、間接的な知人からの情報収集により、オフィスでの情報共有の効率は飛躍的に高まる。
【００２５】
（２）知人とのつながりは動的に変化するものである。
図２の例で、Ｂさんを通すことで、ＡさんとＣさんの間にこれまではなかったつながりができる。さらに、既につながりのあるＤさんとの間にも、新たに「エージェント」に関するつながりが追加される。また、時間の経過とともにつながりの強さは徐々に弱くなっていくのが普通である。このように、オフィスでの知人のネットワークは、常に変化しているものである。
【００２６】
（３）知人とのつながりは様々な情報に関するものを含む。
ＡさんとＢさんの間には、「エージェント」と「分散環境」という二つの話題に関してつながりがある。また、ＡさんとＤさんの間には「エージェント」と「演繹推論」に関してつながりがある。
【００２７】
（４）知人とのつながりは双方向のものである。
ＡさんとＢさんとの間のつながりは、Ａさんが情報を収集するだけの一方向のものではなく、双方向のものである。例えば、Ａさんが新しく他社の「エージェント」の事業戦略を入手した場合は、Ｂさんに内容を伝える。
【００２８】
本発明では、以上の特徴を持った人と人とのつながりに着目し、このつながりを管理して処理することにより、情報の共有を実現するものである。
なお、以下の説明では、情報共有の単位となる個々の情報管理主体は、人として全ての説明を行っているが、人をデータベースなどの情報管理装置に置き換えても本発明は有効であり、情報管理主体として人と情報管理装置とが混在した形態、あるいは、情報管理装置のみの集合からなる形態も考えられる。
【００２９】
本実施形態では、このような人と人とのつながりを、パイプとして、図３に示すデータ構造で管理する。パイプは、パイプの端点のノードを表す“ノード１”と“ノード２”フィールド、および、“パイプ属性”フィールドからなる。“パイプ属性”フィールドは、“属性名”とその重みを表す“相関度”の対からなるリストで構成されており、多次元のベクトルで表現された特徴ベクトルを構成している。
なお、パイプ属性がノード間（人と人との間、情報管理装置間等）のつながりを表す意味に該当する。また、パイプを互いに異なる意味を有したパイプ要素の束としてとらえた場合は、個々の属性名が個々のパイプ要素の意味を表すラベルに該当する。また、相関度は意味の重みを表し、相関度が大きいほど当該意味によって表されるノード間のつながりが強いことを示す。
【００３０】
図３の例では、“ノード１”の値は“TARO”“ノード２”の値は“HANAKO”である。“パイプ属性”は、“エージェント”、“限界”、“要求”、“能力”、“宣伝”、“ルール”、“記述”、“引き当て”、“演繹データベース”、“一階述語論理”、“仲介”、“設計”、“エンジニアリング”を含んでおり、相関度はそれぞれ８．００、１．００、３．００、３.００、２．００、１．００、２．００、３．００、１．００、１．００、５．００、４．００、２．００、である。
なお、以下の説明では、二つのノードＡ、Ｂをつなぐパイプを、Ｐ（Ａ，Ｂ）と表記する。すなわち、図３に示したパイプであれば、Ｐ（TARO, HANAKO）と表現される。また、パイプは双方向性を持つものであり、Ｐ（Ａ，Ｂ）とＰ（Ｂ，Ａ）とは同一のパイプを表し、また、任意の一組のノードＡ、Ｂの間にはただ一つのパイプが存在する。
【００３１】
次に、上記構成のパイプ管理システム１における詳細な処理を説明する。
まず、パイプの生成と更新について説明すると、パイプの生成と更新は、コミュニケーション検出部５で、電子メールシステムなどの情報交換をモニタリングし、コミュニケーションを検出することによって行う。このほかに、個人のホームページへのアクセス、チャットによる会話、文書ファイルの交換等、あらゆる電子情報の交換がモニタリングの対象となる。また、電話、インターネット電話、ネットミーティング等、音声を用いたコミュニケーションについても、音声認識技術を利用して電子的なテキスト情報に変換することで本発明は適用できる。以下では、電子メールを用いた例で説明する。
【００３２】
コミュニケーション検出部５が、メールの送受信を検出することで、処理を開始する。
図４には、メールの受信を検出したときのパイプの生成と更新の処理を示してあり、ステップＳ１からステップＳ３はコミュニケーション検出部５における処理、ステップＳ４からステップＳ６はパイプ生成・更新部６における処理である。
まず、メールの受信を検出すると、メールの送信者のユーザＩＤを求めてｎ１とする（ステップＳ１）。コミュニケーション検出部５は図５に示すアドレス変換テーブルを有しており、メールの送信者アドレスからユーザＩＤを求めるには、このアドレス変換テーブルを用いる。アドレス変換テーブルは、メールアドレスと、ユーザＩＤの組の集合からなっており、メールに付加されている送信側のアドレスに基づいて対応するユーザＩＤを取り出す。
【００３３】
次いで、同様にして、自分に対応するユーザＩＤを求めてｎ２とする（ステップＳ２）。次いで、メール中のキーワードの集合を抽出し、これらキーワードを集合Ｗとする（ステップＳ３）。このキーワードの抽出には、一般的な形態素解析エンジンを用いる、あるいは、あらかじめ登録しておいた単語辞書にマッチする単語を抽出する、等といった公知の手法を用いる。
例えば、ユーザ“HANAKO”のパイプ管理システム１で、図６に示すメールの受信を検出した場合、ｎ１は“TARO”、ｎ２は“HANAKO”、キーワードの集合Ｗは、図７に示すようになる。
【００３４】
次いで、ｎ１、ｎ２を端点として持つパイプが自己のパイプ管理部７に存在するかどうかを調べ（ステップＳ４）、存在しない場合は、ｎ１、ｎ２を端点するパイプを生成してパイプ管理部７に登録する。そして、キーワードの集合Ｗを適用して、後述するようにして、ｎ１、ｎ２を端点とするパイプのパイプ属性を更新する（ステップＳ６）。
【００３５】
ステップＳ６において行うキーワードの集合Ｗによるパイプ属性の更新処理は、パイプ生成・更新部６で図８に示す手順によって行われる。
まず、キーワード集合Ｗは空集合かどうかを判定し（ステップＳ１１）、空集合だった場合は処理を終了する。一方、空集合でない場合には、集合Ｗからキーワードを一つ取り出してｔとするとともに、このtを集合Ｗから除く（ステップＳ１２）。そして、ｔはパイプ属性に含まれるかどうか判定し（ステップＳ１３）、含まれない場合にはtをパイプ属性に追加する（ステップＳ１４）。そして、後述するようにして、パイプ属性tの相関度を更新するという処理を（ステップＳ１５）、集合Ｗに含まれる全てのキーワードについて繰り返し行う。
【００３６】
ステップＳ１５におけるパイプ属性tの相関度の更新には、例えば以下の式を用いる。
Ｖ’＝Ｖ＋１．００、
ここで、Ｖは更新前の相関度、Ｖ’は更新後の相関度である。
なお、この例では、線形の値更新を行っているが、非線型の関数を用いて値更新を行ってもよい。一般的に、情報の内容や相関度を多次元のベクトルで表現する場合、内容の比較をベクトルの方向で比較するために、ベクトルの大きさが１になるように正規化処理を行う場合が多い。本発明で説明する方法では、二つの情報（この場合はユーザ）の関係の強弱の表現を強調するために、正規化処理は行っていないが、正規化処理を行った場合でも本発明は有効である。
【００３７】
図９には、メールの送信を検出したときのパイプの生成と更新の処理を示してあり、ステップＳ２１からステップＳ２５はコミュニケーション検出部５における処理、ステップＳ２６からステップＳ２８はパイプ生成・更新部６における処理である。
まず、上記と同様にしてメールの送信者（すなわち自分）のユーザＩＤを求めてｎ１とする（ステップＳ２１）。次いで、メールの宛先に対応するユーザＩＤの集合を取り出して集合Ｌとし（ステップＳ２２）、メール中のキーワードの集合を抽出して集合Ｗとする（ステップＳ２３）。
【００３８】
次いで、ＩＤ集合Ｌは空集合かどうか判断し（ステップＳ２４）、空集合の場合には処理を終了する一方、空集合でない場合には、集合ＬからユーザＩＤを一つ取り出してｎ２とするとともにこのｎ２を集合Ｌから取り除く（ステップＳ２５）。
次いで、ｎ１、ｎ２を端点として持つパイプが自己のパイプ管理部７に存在するかどうか判定し（ステップＳ２６）、存在しない場合には、ｎ１、ｎ２を端点するパイプを生成する（ステップＳ２７）。そして、図８に示したと同様にして、パイプのパイプ属性を更新し（ステップＳ２８）、集合Ｌに含まれる全てのＩＤについて繰り返し処理を行う。
【００３９】
図１０には、図３に示す内容のパイプがパイプ管理部７に存在している状況において、図６に示したメールを受け取ったことに基づいて、パイプの更新処理を行った結果のパイプを示してある。
すなわち、元のパイプ（図３）では、「エージェント」から「エンジニアリング」という１３個の属性名（ラベル）が存在していたが、メール中から新たに抽出されたキーワード集合（図７）を追加して、更新されたパイプには４４個の属性名（ラベル）が存在することとなる。なお、「エージェント」は新たに抽出されたキーワード集合に５個あったので８．００＋５．００によって相関度は１３．００となり、「領域」は新たに抽出されたキーワード集合に３個あったので相関度３．００で追加され、「個人」は新たに抽出されたキーワード集合に２個あったので相関度２．００で追加されている。
【００４０】
ここで、上記構成のパイプ管理システム１におけるパイプ合成処理を説明するに先立って、パイプのパイプ属性を構成する特徴ベクトル間の演算と、これを用いた基本的なパイプの合成処理を説明する。
本例では、パイプ属性を構成する特徴ベクトル間の演算として、和演算、積演算、内積演算、を導入している。
【００４１】
和演算は、二つの特徴ベクトルの総和をとる演算であり、二つの特徴ベクトルＸ、Ｙが与えらたとき、ＸとＹの和Ｚを、Ｚ＝Ｘ＋Ｙ、という式で表す。
このとき、Ｚを構成する属性の集合Ｚｓは、Ｘの属性の集合ＸｓとＹの属性の集合Ｙｓとの和集合である。さらに、Ｚの任意の属性の値Ｚｉは、Ｘの対応する属性の値ｘｉとＹの対応する属性の値ｙiとの最大値をとったものである。ただし、Ｘにおいて、ｚｉに対応する値が存在しない場合は、ｘｉ＝０とする。同様に、Ｙにおいて、ｚｉに対応する値が存在しない場合は、ｙｉ＝０とする。以上を式で表すと、Ｚｓ＝Ｘｓ∪Ｙｓ、ｚｉ＝ｍａｘ（ｘｉ，ｙｉ）、となる。
【００４２】
積演算は、二つの特徴ベクトルの重なり部分を残す演算であり、二つの特徴ベクトルＸ、Ｙが与えらたとき、ＸとＹの積Ｚを、Ｚ＝Ｘ＊Ｙ、という式で表す。
このとき、Ｚを構成する属性の集合Ｚｓは、Ｘの属性の集合ＸｓとＹの属性の集合Ｙｓとの積集合である。さらに、Ｚの任意の属性の値ｚｉは、Ｘの対応する属性の値ｘｉと、Ｙの対応する属性の値ｙｉとの最小値をとったものである。以上を式で表すと、Ｚｓ＝Ｘｓ∩Ｙｓ、ｚｉ＝ｍｉｎ（ｘｉ，ｙｉ）、となる。
【００４３】
内積演算は、二つの特徴ベクトルの合致度を表すスカラー値を得る演算であり、二つの特徴ベクトルＸ、Ｙが与えられたとき、ＸとＹの内積ｚを、ｚ＝Ｘ・Ｙ、という式で表す。
このとき、ｚは、Ｚｓ＝Ｘｓ∩Ｙｓ、であるＺｓの任意の属性に対応するＸの属性の値ｘｉと、Ｙの対応する属性の値ｙｉとをかけ合わせ、合計したものとなる。以上を式で表すと、ｚ＝ Σ（ｘｉ×ｙｉ）、となる。
【００４４】
図１１には、上記の各演算の例を示してあり、この例では、ＸとＹについて、属性の集合ＸｓとＹｓは、
Ｘｓ＝（ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ）、
Ｙｓ＝（ｄ，ｅ，ｆ，ｇ，ｈ，ｉ，ｊ，ｋ，ｌ，ｍ，ｎ）、
であり、それぞれの属性の値は図に示した通りである。
【００４５】
和演算（Ｚ＝Ｘ＋Ｙ）によれば、属性の集合Ｚｓは、
Ｚｓ＝（ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ，ｉ，ｊ，ｋ，ｌ，ｍ，ｎ）となり、例えば、集合Ｘｓと集合Ｙｓとで共通する属性ｄの値は、４．００と１．００との内の最大値である４．００となる。
また、積集合（Ｚ＝Ｘ＊Ｙ）によれば、属性の集合Ｚｓは、
Ｚｓ＝（ｄ，ｅ，ｆ，ｇ，ｈ）となり、例えば、集合Ｘｓと集合Ｙｓとで共通する属性ｄの値は、４．００と１．００との内の最小値である１．００となる。
また、内積演算（ｚ＝Ｘ・Ｙ）によれば、共通する属性（ｄ，ｅ，ｆ，ｇ，ｈ）の値同士を乗算して総和をとって、４０．００となる。
【００４６】
次いで、特徴ベクトル間の演算を用いた基本的なパイプの合成処理として、本例では、直列合成と、たたみ込み合成とを導入しており、これらの合成処理の概念を説明する。
上記した知人のネットワークを用いた情報収集では、間接的につながりがある相手から情報収集を行う場合がある。この場合、間接的なつながりから新しいつながりを作り出しており、以下に述べる二つのパイプ合成処理は、このような新しいつながりに対応した基本的な処理である。本例では、これらの処理を組み合わせることによって、後述する様々なサービスが実現できる。
【００４７】
パイプの直列合成は、二つの直列するパイプを特徴ベクトルの積演算を行うことによって合成し、新しいパイプを生成する処理である。
図１２には、パイプの直列合成の概念を示してある。この場合、ノードＡとノードＢとの間には属性（ラベル）として「エージェント」と「分散環境」に関するパイプＰ（Ａ，Ｂ）が既に存在し、ノードＢとノードＣとの間には「エージェント」に関するパイプＰ（Ｂ，Ｃ）が既に存在する。この状況は、ＡとＣとはお互いに相手の存在は知らないが、Ｂを通して「エージェント」に関するつながりがあることを示す。
【００４８】
この場合、既存の二つのパイプのパイプ属性の重なり部分を残して合成し、新たにＡとＣとを結ぶパイプを合成することで、ＡとＣとの間の直接のパイプＰ（Ａ，Ｃ）を作り出すことができる。このＰ（Ａ，Ｃ）のパイプ属性は、Ｐ（Ａ，Ｂ）のパイプ属性とパイプＰ（Ｂ，Ｃ）のパイプ属性の積演算により求めることができる。従って、パイプの直列合成は、
Ｐ（Ａ，Ｃ）＝Ｐ（Ａ，Ｂ）＊Ｐ（Ｂ，Ｃ）、という式で表すことができる。
また、図１３に示すように、既にＡとＣとの間にパイプＰ（Ａ，Ｃ）が存在している場合は、Ｐ（Ａ，Ｂ）とＰ（Ｂ，Ｃ）のパイプ属性の重なり部分を残して合成し、さらに、既存のＰ（Ａ，Ｃ）のパイプ属性との総和をとることにより、新しいパイプＰ（Ａ，Ｃ）’を合成することができる。従って、このパイプの直列合成は、
Ｐ（Ａ，Ｃ）’＝（Ｐ（Ａ，Ｂ）＊Ｐ（Ｂ，Ｃ））＋Ｐ（Ａ，Ｃ）、という式で表すことができる。
【００４９】
たたみこみ合成は、直列する三つのパイプを合成し、２番目（真ん中）のパイプの属性を更新する処理である。
図１４には、たたみ込み合成の概念を示してある。この場合、ＡとＢとの間には「エージェント」に関する属性を含んだパイプＰ（Ａ，Ｂ）が既に存在し、ＣとＤとの間には「エージェント」に関する属性を含んだパイプＰ（Ｃ，Ｄ）が既に存在し、ＢとＣとの間には「分散環境」に関する属性を含んだパイプＰ（Ｂ，Ｃ）が既に存在する。この状況は、ＢとＣは、お互いに相手が「エージェント」に関して誰かとパイプを持っていることは知らないが、実はＢとＣの間でも「エージェント」に関する情報共有の可能性があることを示している。
【００５０】
この場合、ＢとＣとの間のパイプＰ（Ｂ，Ｃ）に、Ｐ（Ａ，Ｂ）とＰ（Ｃ，Ｄ）の共通属性部分である「エージェント」に関する属性を追加することにより、Ｐ（Ｂ，Ｃ）に「エージェント」に関する属性が追加される。すなわち、Ｐ（Ａ，Ｂ）のパイプ属性とＰ（Ｃ，Ｄ）のパイプ属性との重なり部分を残して合成し、さらに、既存のＰ（Ｂ，Ｃ）のパイプ属性との総和をとることにより、新しいパイプＰ（Ｂ，Ｃ）’を合成することができる。従って、この場合のパイプのたたみ込み合成は、
Ｐ（Ｂ，Ｃ）’＝（Ｐ（Ａ，Ｂ）＊Ｐ（Ｃ，Ｄ））＋Ｐ（Ｂ，Ｃ）、という式で表すことができる。
【００５１】
以上に述べたパイプの合成処理を、複数のパイプ管理システム１で協業して行うことにより、”テーマに関連のある人の集団の形成（以下、集団形成）”、”要求に合致する情報の探索（以下、情報探索）”、”任意の相手との関係の算出（以下、関係算出）”、という３種類のサービスを実現することができる。
すなわち、”集団形成”では、指定した条件を満たす人の集合を求め、グループを形成する。また、”情報探索”では、指定した内容に合致する情報を持った人を一人みつける。また、”関係算出”では、指定した相手との関係をパイプの合成により求める。
【００５２】
本実施形態のパイプ管理システム１では、これらのサービスを利用するために、ユーザはユーザインタフェース８を通じて、図１５、図１６、または、図１７の例で示す要求を入力する。
図１５は、集団形成要求の例である。要求はテキスト形式で記述されており、“要求”フィールド、および、“内容”フィールドを持つ。“要求”フィールドには、“集団形成”が、“内容”フィールドには、収集したい人の条件、議論したいテーマ、などを、文書で記述する。図１６は、情報探索要求の例である。要求はテキスト形式で記述されており、“要求”フィールド、および、“内容”フィールドを持つ。“要求”フィールドには、“要求探索”が、“内容”フィールドには、探索したい情報の内容、見つけたい人の条件、などを、文書で記述する。図１７は、関係算出要求の例である。要求はテキスト形式で記述されており、“要求”フィールド、および、“相手”フィールドを持つ。“要求”フィールドには、“関係算出”が、“相手”フィールドには、“JIRO”が指定されている。
【００５３】
図１８には、入力された要求に対する処理の手順を示してあり、ステップＳ３１からステップＳ３５の処理は要求処理部１０で行われる。
まず、要求を解析して要求データを生成し（ステップＳ３１）、要求の種類を判定する（ステップＳ３２）。この結果、“集団形成”の場合には後述するように集団形成の処理を実行し（ステップＳ３３）、“情報探索”の場合には後述するように情報探索の処理を実行し（ステップＳ３４）、“関係算出”の場合には後述するように関係算出の処理を実行する（ステップＳ３５）。
【００５４】
上記の処理（ステップＳ３１）で得られる要求データは、図１９、図２０、図２１に例示するような構造である。なお、これらの要求データはそれぞれ、図１５、図１６、図１７の要求例に対応したものである。
図１９および図２０に示すように、”集団形成”と”情報検索”に関する要求データは、要求の種類を示す”要求”フィールドと、”要求属性”フィールドとを有しており、”要求属性”フィールドは、“属性名”フィールドと“重要度”フィールドの組の集合で構成される。これら要求属性の生成は、要求の内容フィールドに記述されたテキストを解析することにより行い、この例では、形態素解析エンジンを用いて、内容フィールドのテキスト中のキーワードの集合を抽出し、これらのキーワードを属性名に、キーワードの出現回数を重要度の値とする。
【００５５】
上記したステップＳ３３での集団形成の処理では、要求で与えた条件を満たす人の集合を求め、それらの人のユーザＩＤを要求元のユーザ（パイプ管理システム）へ返すことにより、テーマに関連のある人の集団を形成する。
図２２には、集団形成の処理の手順を示してあり、ステップＳ４１からステップＳ５３の処理はパイプ検索部１１で行われる処理である。
まず、要求に対する処理を時間的に管理するために制限時刻tを設定する（ステップＳ４１）。なお、本例では、パイプの検索と合成を複数のパイプ管理システム１で協調して行うため、どの時点で処理が終了したかを判定する手段が必要である。ここでは、制限時刻によってこの判定を行う。
tの値は例えば、現在の時刻に一定秒数を加えるなどすればよい。また、時刻の判定は、ネットワーク上で同期の取れたコンピュータの時計を用いればよい。
【００５６】
次いで、自己のパイプ管理部７で管理しているパイプの内で、要求属性を満たすパイプの集合をＭ、それ以外のパイプ集合をＲとする（ステップＳ４２）。ここで、要求属性を満たすかどうかは、パイプＰと要求Ｒｅｑの属性の内積値、ｚ＝Ｐ・Ｒｅｑ、が規定の値Ｋより大きいかどうかで判断する。Ｋの値は、あらかじめシステム全体で共通の値を設定してもよいし、個々のパイプ管理システム１で個別に設定してもよい。また、なんらかのパラメータに基づいて動的に設定してもよい。
次いで、要求伝達メッセージを作成する（ステップＳ４３）。要求伝達メッセージは、パイプ合成によって要求に合致するパイプを生成することを他のパイプ管理システム１に依頼するためのメッセージであり、図２３に示す構造となっている。なお、図２３に示したデータの詳細な意味については、後述する。
【００５７】
次いで、集合Ｍは空集合かどうか判定し（ステップＳ４４）、空集合でない場合には、要求伝達メッセージを集合Ｍの要素である全てのパイプに送り（すなわち、集合Ｍ内のパイプの相手側の端点のパイプ管理システムに送り）（ステップＳ４５）、空集合である場合には、要求伝達メッセージを集合Ｒの要素であるパイプに送る（すなわち、集合Ｒ内のパイプの相手側の端点のパイプ管理システムに送る）（ステップＳ４６）。
このように、要求伝達メッセージを他のパイプ管理システムに送付するのは、パイプ合成により要求にマッチするさらに多くのパイプを得るための処理である。また、集合Ｍが空集合（すなわち要求に合致するパイプが一つも存在しない）場合にも、集合Ｒに属するパイプに要求伝達メッセージを送付するのは、たたみこみ合成により、要求に合致するパイプの生成が期待できるからである。なお、送付された要求伝達メッセージを受け取った、他のパイプ管理システム側の処理については、後述する。
【００５８】
次いで、現在の時刻が制限時刻tを超えているかどうかを判定し（ステップＳ４７）、超えている場合には、集合Ｍに属するパイプの相手側の端点のＩＤの集合を求め（ステップＳ５３）、処理を終了する。なお、このステップＳ５３で求めたＩＤの集合が、与えられた集団形成の要求に対する回答となる。
一方、現在の時刻が制限時刻tを超えていない場合には、他のパイプ管理システム１からの伝達で、更新されたパイプまたは追加されたパイプがあるかどうかを判定し（ステップＳ４８）、このようなパイプが存在しない場合には、ステップＳ４７に戻る。
【００５９】
これに対して、更新または追加されたパイプが返送されてきた場合には、更新または追加されたパイプを一つ取り出して一旦Ｐとし、このＰが集合Ｍまたは集合Ｒのメンバーである場合は、当該Ｐを集合ＭまたはＲから削除する（ステップＳ４９）。そして、Ｐが要求に合致するかどうか判定し（ステップＳ５０）、合致しない場合にはＰを集合Ｒに追加し（ステップＳ５１）、合致する場合はＰを集合Ｍに加え（ステップＳ５２）、ステップＳ４７に戻る。
したがって、他のパイプ管理システム１から返送された要求に合致するパイプが集合Ｍに追加され、この結果がステップＳ５３で要求元のユーザへ提供される。
【００６０】
ここで、図２３に示した要求伝達メッセージのデータ構造は、基本的には、“発信者ＩＤ”、“要求データ”、“制限時刻”、“最大ホップ”、“ホップカウント”、“パイプ１”、“パイプ２”、の７つのフィールドで構成される。“発信者ＩＤ”には、要求伝達メッセージの最初の発信者のＩＤがセットされる。“要求データ”には、対応する要求のデータ構造（図１９〜図２１）へのポインタがセットされる。“制限時刻”には、ステップＳ４１で設定された制限時刻がセットされる。“最大ホップ”および“ホップカウント”は、要求伝達メッセージの継続的な伝播を制限してメッセージの爆発を防ぐためのもので、“ホップカウント”は要求伝達メッセージが、発信者からいくつのノード（パイプ管理システム）を経由したかをカウントし、最大ホップ”は“ホップカウント”の制限値（これを超えては継続的なメッセージ伝達は行わない）を表す。“パイプ１”には直前のパイプへのポインタが、“パイプ２”には二つ前のパイプへのポインタがセットされる。
なお、関係算出の要求に対応した要求伝達メッセージの場合には、さらに、“パイプ３”、“パイプ４”・・・と、これまでのメッセージ伝達経路上の全てのパイプへのポインタが保持される。
【００６１】
上記したステップＳ３４での情報探索の処理では、要求で与えられた条件を満たす人（ノード）を一人求め、その人のユーザＩＤを要求元のユーザへ提供する。
図２４には、情報探索の処理の手順を示してあり、ステップＳ６１からステップＳ７２の処理は自己のパイプ検索部１１で行われる処理である。
なお、ステップＳ６１からステップＳ６３の処理は、上記した集団形成の要求処理のステップＳ４１からステップＳ４３の処理と同一であるため、説明を省略する。
【００６２】
ステップＳ６４では、集合Ｍは空集合かどうか判定し、空集合でない場合には、集合Ｍの中で要求合致度の最も高いパイプを選び、そのパイプの相手側の端点のＩＤを求めて処理を終了する（ステップＳ７２）。なお、この求められたＩＤが与えられた要求への回答となる。
一方、集合Ｍが空集合の場合には、要求伝達メッセージを集合Ｒの要素であるパイプに送る（ステップＳ６５）。これは、集団形成の要求処理のステップＳ４６と同一の意味を有している。そして、集団形成の要求処理のステップＳ４７からステップＳ５２と同一の処理を行って（ステップＳ６６〜Ｓ７１）、処理を終了する。
したがって、他のパイプ管理システム１から返送された要求に合致するパイプが集合Ｍに追加され、この結果中で要求合致度の最も高いパイプが選ばれて要求元のユーザへ提供される。
【００６３】
上記したステップＳ３５での関係算出の処理では、要求で与えられた相手との関係をパイプの合成により求める。
図２５には、関係算出の処理の手順を示してあり、ステップＳ８１からステップＳ８６の処理は自己のパイプ検索部１１で行われる。
まず、制限時刻tを設定し（ステップＳ８１）、要求伝達メッセージを作成する（ステップＳ８２）。次いで、要求伝達メッセージを、自己のパイプ管理部７で管理しているパイプの内で自分が一方の端点である全てのパイプに送る（ステップＳ８３）。
【００６４】
次いで、制限時刻になるまで自己ループにより処理を停滞して他のパイプ管理システム１からの返答を待機し（ステップＳ８４）、返答の内に指定された相手とのパイプがあるかどうか判定し（ステップＳ８５）、ない場合には関係算出処理は失敗であるとして、処理を終了する。一方、指定された相手とのパイプがある場合には、与えられた相手との間のパイプを取り出して要求元のユーザへ回答として提供される。
【００６５】
以上に説明した三種類のサービスの処理においては、ユーザーからの要求を受けつけたパイプ管理システム１以外のパイプ管理システム１での、要求伝達メッセージの処理が重要である。
図２６には、他のパイプ管理システム１における要求伝達メッセージの処理手順を示してある。なお、ステップＳ９１からステップＳ９２の処理およびステップＳ９４からステップＳ９５の処理は当該他のシステム１における要求処理部１０で行われ、ステップＳ９３の処理は当該他のシステム１におけるパイプ合成部１２で行われる。
【００６６】
まず、現在時刻が要求伝達メッセージ中の制限時刻を超過していないかどうか調べ（ステップＳ９１）、超過している場合には処理を終了する。一方、超過していない場合には、要求伝達メッセージ中の”要求”フィールド（図１９〜図２１）および”パイプ１””パイプ２”フィールド（図２３）、さらには、”相手”フィールド（図２１）に基づいて、対応した処理パターンを求める（ステップＳ９２）。
要求処理部１０は図２７に示すようなテーブルを有しており、処理パターンを求めるには、このテーブルを用いる。この処理パターンは、要求伝達メッセージ中の要求のタイプ、Ｐ１の要求合致、Ｐ２の要求合致、相手ノード、のパターンによって、実行する合成処理と伝達処理のタイプを示したものである。なお、テーブル中の“−”で示した部分は、パターン決定に関与しないことを意味する。また、Ｐ１とＰ２はそれぞれ、要求伝達メッセージ中の”パイプ１”と”パイプ２”のフィールドの値に相当し、Ｐ１はメッセージ伝達経路上の直前のパイプ、Ｐ２はその一つ前のパイプを表す。
【００６７】
すなわち、要求のタイプ、直前のパイプＰ１が要求に合致しているか否か、二つ前のパイプＰ２が要求に合致しているか否か、さらには、相手の指定があるか否か、に基づいて、テーブル中からいずれかの処理パターンを求める。
そして、当該処理パターンに対応して記述されている合成処理を実行し（ステップＳ９３）、ホップカウントが最大ホップを超えるまで（ステップＳ９４）、対応する伝達処理を実行する（ステップＳ９５）。
【００６８】
処理パターンテーブルに従って実行される合成処理タイプごとの処理の内容を、詳細に説明する。なお、以下の説明では、処理を行っているノードのＩＤをＡ、Ｐ１の一方の端点をＢ（もう一方は必ずＡである）、Ｐ２が存在する場合には、Ｐ２の端点をＢ、Ｃとする（Ｐ１とＰ２は必ず一つの端点を共有する）。
【００６９】
「直列合成」は、次の（１）〜（３）の手順で処理を行う。
（１）Ｐ１とＰ２を直列合成して、Ｐを得る。この場合、Ｃは要求伝達メッセージの発信者のＩＤとなる。
すなわち、Ｐ（Ａ，Ｃ）＝Ｐ１（Ａ，Ｂ）＊Ｐ２（Ｂ，Ｃ）、という式の演算を行う。
ただし、既にＡとＣを結ぶパイプがある場合は、
Ｐ（Ａ，Ｃ）’＝Ｐ（Ａ，Ｃ）＋（Ｐ１（Ａ，Ｂ）＊Ｐ２（Ｂ，Ｃ））、という式の演算を行う。
（２）パイプＰ（Ａ，Ｃ）の生成または更新を、Ｃに伝える。
（３）要求伝達メッセージの”パイプ１”の値を、Ｐ（Ａ，Ｃ）とする。これによって、要求伝達メッセージが伝達されたさらに他のノードで合成されたパイプが、要求元のＣに伝えられる。
【００７０】
「たたみ込み合成＋直列合成」は、次の（１）〜（５）の手順で処理を行う。
（１）Ａが管理するパイプで要求に合致するものの集合をＭとする。ただし、パイプを後戻りする方向へ合成処理がなされないように、集合ＭにＰ１は含まない。
（２）集合Ｍの全ての要素Ｐ３（Ａ，Ｘ）について、
Ｐ１（Ａ，Ｂ）’＝（Ｐ２（Ｂ，Ｃ）＊Ｐ３（Ａ，Ｘ））＋Ｐ１（Ａ，Ｂ）、という式でたたみ込み合成を繰り返し行って、Ｐ（Ａ，Ｂ）を 更新する。
（３）たたみ込み合成で更新されたＰ１（Ａ，Ｂ）とＰ２（Ｂ，Ｃ）を、
Ｐ（Ａ，Ｃ） = Ｐ１（Ａ，Ｂ）＊Ｐ２（Ｂ，Ｃ）、という式を演算して直列合成する。
ただし、すでにＡとＣを結ぶパイプがある場合は、
Ｐ（Ａ，Ｃ）”＝Ｐ（Ａ，Ｃ）＋（Ｐ１（Ａ，Ｂ）＊Ｐ２（Ｂ，Ｃ））、という式の演算を行う。
（４）パイプＰ（Ａ，Ｃ）の生成または更新を、Ｃに伝える。
（５）要求伝達メッセージの”パイプ１”の値を、Ｐ（Ａ，Ｃ）とする。これによって、要求伝達メッセージが伝達されたさらに他のノードで合成されたパイプが、要求元のＣに伝えられる。
【００７１】
「変則たたみ込み合成」は、次の（１）〜（３）の手順で処理を行う。
（１）Ａが管理するパイプで要求に合致するものの集合をＭとする。ただし、上記と同様な理由から、集合ＭにＰ１は含まない。
（２）集合Ｍの全ての要素Ｐ３（Ａ，Ｘ）について、
Ｐ１（Ａ，Ｂ）’＝（Ｒｅｑ＊Ｐ３（Ａ，Ｘ））＋Ｐ１（Ａ，Ｂ）、という式を演算してたたみ込み合成を繰り返し、Ｐ（Ａ，Ｂ）を 更新する。なお、ここでは、要求Ｒｅｑを擬似的にパイプと見立てることで、たたみこみ合成を行う。
（３）パイプＰ（Ａ，Ｂ）の更新を、Ｂに伝える。
【００７２】
「直列合成の組み合わせ」は、次の（１）〜（２）の手順で処理を行う。
（１）Ｐ１（Ａ，Ｂ）、Ｐ２（Ｂ，Ｃ）、 Ｐ３（Ｃ，Ｄ）、．．．．．、Ｐｎ（Ｍ，Ｎ）とした場合、
Ｐ（Ａ，Ｎ）＝Ｐ１＊Ｐ２＊Ｐ３＊．．．．．＊Ｐｎ、という式を演算してＰ（Ａ，Ｎ）を合成する。
ただし、すでにＡとＮを結ぶパイプがある場合は、
Ｐ（Ａ，Ｎ）’＝Ｐ（Ａ，Ｎ）＋（Ｐ１＊Ｐ２＊Ｐ３＊．．．．．＊Ｐｎ）、という式を演算する。
（２）パイプＰ（Ａ，Ｎ）の生成または更新を、Ｎに伝える。
【００７３】
次に、処理パターンテーブルに従って実行される伝達処理タイプごとの処理の内容を、詳細に説明する。なお、以下の説明では、合成処理の場合と同様に、処理を行っているノードのＩＤをＡ、更新前のＰ１の一方の端点をＢ、更新前のＰ２が存在する場合にはＰ２の端点をＢ、Ｃとする。
また、新規のパイプの生成またはパイプの更新の通知を受けた場合には、要求元の要求処理部１０はただちにこれを自己のパイプ管理部７に反映させる。
【００７４】
「拡大伝達」は、次の（１）〜（３）の手順で処理を行う。
（１）ホップカウントを１増やす。
（２）Ａが管理するパイプで要求に合致するものの集合をＭ、それ以外のパイプの集合をＲとする。
（３）集合Ｍが空集合でない場合にはＭの全ての要素Ｐ（Ａ，Ｘ）について、空集合である場合にはＲの全ての要素Ｐ（Ａ，Ｘ）について、
Ｐ１’＝Ｐ（Ａ，Ｘ）、
Ｐ２’＝Ｐ１、
として、Ｘに対して要求伝達メッセージを送る。ただし、ここで挙げなかった要求伝達メッセージの項目は、変更しないものとする。また、要求伝達メッセージの後戻りをなくすために、要求伝達メッセージ中から得られる発信者ＩＤおよび直前のパイプＰ１のノードはＸから除かれる。
【００７５】
「最小伝達」は、次の（１）〜（３）の手順で処理を行う。
（１）ホップカウントを１増やす。
（２）Ａが管理するパイプで要求に合致するものの集合をＭ、それ以外のパイプの集合をＲとする。
（３）集合Ｍが空集合でない場合にはＭの全ての要素Ｐ（Ａ，Ｘ）について次のように伝達を行い、空集合である場合には伝達を終了する。
Ｐ１’＝Ｐ（Ａ，Ｘ）、
Ｐ２’＝Ｐ１、
として、Ｘに対して要求伝達メッセージを送る。ただし、ここで挙げなかった要求伝達メッセージの項目は、変更しないものとする。また、要求伝達メッセージの後戻りをなくすために、要求伝達メッセージ中から得られる発信者ＩＤおよび直前のパイプＰ１のノードはＸから除かれる。
【００７６】
「最大伝達」は、次の（１）〜（２）の手順で処理を行う。
（１）ホップカウントを１増やす。
（２）Ａが管理する全てのパイプＰ（Ａ，Ｘ）について、
Ｐ１’＝Ｐ（Ａ，Ｘ）、Ｐ２’＝Ｐ１、Ｐ３’＝Ｐ２、・・・・、Ｐn+1＝Ｐn、として、Ｘに対して要求伝達メッセージを送る。ただし、ここで挙げなかった要求伝達メッセージの項目は、変更しないものとする。また、要求伝達メッセージの後戻りをなくすために、要求伝達メッセージ中から得られる発信者ＩＤおよび直前のパイプＰ１のノードはＸから除かれる。
【００７７】
図２８には、集団形成の要求の実行例を示してあり、同図中の左側に示したパイプが構築されている状態で、ノードＡから「Ａｇｅｎｔ」に関する集団形成の要求を発行すると、この要求は、まずＢとＥに伝わる。これらのノードからさらに要求が伝達され、パイプの合成が繰り返されることによって、同図中の右側に示したようにＡを中心とした「Ａｇｅｎｔ」に関する属性を含んだパイプが構成される。なお、図中の太い線で示した部分が、結果として得られた「Ａｇｅｎｔ」に関するノードへのパイプである。
【００７８】
また、図２９には、関係算出の要求の実行例を示してあり、同図中の左側に示したパイプが構築されている状態で、ノードＡからノードＤとの関係を算出する要求を発行すると、この要求は、各ノードを経由して伝達され、最終的にＤにたどり着く。そこで、パイプが合成され、同図中の右側に示したようにＡとＤとを結ぶ、「Ａｇｅｎｔ」および「帰納推論」に関する属性を含んだパイプが生成される。なお、図２８および図２９に示した例では、概念を把握しやすいように、パイプの属性は単純なキーワードの組み合わせで示してあるが、本例における実際の処理では、パイプ属性のベクトルで表現された値を用いる。
【００７９】
図３０には、本発明の第２の実施態様に係るパイプ管理システムの構成を示してある。なお、上記した第１の実施態様と同一部分には同一符号を付して重複する説明は省略する。
本実施態様のパイプ管理システム１は、図１に示した第１の実施態様の構成に加えて、パイプ維持部１３を有している。パイプ維持部１３は、要求処理部１０が行うユーザからの要求の処理にともなうパイプへのアクセスを検出し、アクセス頻度が高いパイプ属性（ラベル）については、パイプ管理部７が管理するパイプのパイプ属性の相関度値を増大させる。また、パイプ維持部１３は、時間の経過とともに、パイプ管理部７が管理するパイプのパイプ属性の相関度値を減少させる。
【００８０】
すなわち、一般的に人の間のつながりは、利用することによって強くなるとともに、利用しない場合は時間とともに弱くなっていくものである。この考えに基づいて、本実施形態では、パイプ属性の相関度値を更新する機能を設けることで、より現状に即した情報の共有することができる。
【００８１】
本実施形態の処理動作において、上記した第１の実施形態との相違点は、まず、第１に図１８におけるステップＳ３３、Ｓ３４、Ｓ３５を実行した結果得られたパイプのパイプ属性の相関度値を、一律に一定の割合だけ増すようにしている。
具体的には、Ｖ’＝Ｖ＊１．５としている。ここで、Ｖ’は更新後の相関度値、Ｖは更新前の相関度値、１．５は増分を表す係数である。なお、この係数の値は、システム全体で固定的に設定しておいてもよく、また、条件に応じて切り替えるようにしてもよい。
【００８２】
本実施形態の処理動作において、上記した第１の実施形態との第２の相違点は、時間の経過とともに、全てのパイプのパイプ属性の相関度値を減少させる処理が実行される。
例えば、７日ごとに、Ｖ’＝Ｖ＊０．９９として相関度値を更新する。ここで、Ｖ’は更新後の相関度値、Ｖは更新前の相関度値、０．９９は減分を表す係数である。この係数の値は、システム全体で固定的に設定しておいてもよく、また、条件に応じて切り替えるようにしてもよい。また、７日という間隔も、システムの運用に合わせて柔軟に設定すればよい。
上記の相違点以外の動作は、第１の実施態様と全く同一である。
【００８３】
なお、上記した実施態様では、パイプは属性（意味）と属性値（重み）とをもった情報としたが、第２の実施態様のような重みの更新を行わないようないようなシステム構成とすれば、パイプに重みを持たせずとも本発明が目的とするところの機能を実現することができる。
また、上記した実施態様では、パイプは異なるラベルが付されたパイプ要素の束としたが、このような束としてのデータ構造とせずとも、複数のラベル（属性）の集合で区別されるパイプとしてもよい。
【００８４】
【発明の効果】
以上説明したように、本発明に係る情報共有装置では、情報管理装置間の関連を表す情報をパイプ情報として管理し、これを検索・合成することにより、要求にあったパイプ情報を見出すようにしたために、要求を満たす情報管理装置を容易かつ迅速に見出すことができる。また、これを利用することにより、要求を満たすグループの形成、および、二つの情報共有装置間の関係を容易に見出すことができる。
さらに、パイプ情報のアクセス状況によって、パイプ情報の重みを変化させるようにしたため、そのときの状況にあった情報管理装置間の関係をパイプ情報に反映させて維持することができる。さらに、情報管理装置が他の情報管理装置との間で行うコミュニケーションを検出し、パイプ情報を自動的に生成するようにしたために、パイプ情報のネットワークを自動的に構築することができ、不必要に多くの情報を公開せずとも、要求に合致した相手との関係付けを得ることができる。
【図面の簡単な説明】
【図１】  本発明の第１の実施形態に係るシステム構成を示す図である。
【図２】  知人のネットワークを利用した情報の収集例を説明する概念図である。
【図３】  パイプのデータ構造の一例を示す図である。
【図４】  メールの受信を検出したときのパイプの生成・更新処理の手順の一例を示すフローチャートである。
【図５】  アドレス変換テーブルの一例を示す図である。
【図６】  メールの一例を示す図である。
【図７】  メールから抽出したキーワード集合の一例を示す図である。
【図８】  キーワードの集合によるパイプ属性の更新処理の手順の一例を示すフローチャートである。
【図９】  メールの送信を検出したときのパイプの生成・更新処理の手順の一例を示すフローチャートである。
【図１０】  更新後のパイプのデータ構造の一例を示す図である。
【図１１】  特徴ベクトルの演算例を示す図である。
【図１２】  パイプの直列合成の概念を説明する図である。
【図１３】  既にパイプが存在する場合のパイプの直列合成の概念を説明する図である。
【図１４】  パイプのたたみ込み合成の概念を説明する図である。
【図１５】  集団形成の要求の一例を示す図である。
【図１６】  情報探索の要求の一例を示す図である。
【図１７】  関係算出の要求の一例を示す図である。
【図１８】  要求の処理の手順の一例を示すフローチャートである。
【図１９】  集団形成の要求データの一例を示す図である。
【図２０】  情報探索の要求データの一例を示す図である。
【図２１】  関係算出の要求データの一例を示す図である。
【図２２】  集団形成の要求処理の手順の一例を示すフローチャートである。
【図２３】  要求伝達メッセージのデータ構造の一例を示す図である。
【図２４】  情報探索の要求処理の手順の一例を示すフローチャートである。
【図２５】  関係算出の要求処理の手順の一例を示すフローチャートである。
【図２６】  要求伝達メッセージの受入処理の手順の一例を示すフローチャートである。
【図２７】  処理パターンテーブルの一例を示す図である。
【図２８】  集団形成の要求の実行例を説明する図である。
【図２９】  関係算出の実行例を説明する図である。
【図３０】  本発明の第２の実施形態に係るシステム構成を示す図である。
【符号の説明】
１・・・パイプ管理システム（情報共有装置）、  ２・・・情報管理装置、
５・・・コミュニケーション検出部、  ６・・・パイプ生成・更新部、
７・・・パイプ管理部、  ８・・・ユーザインタフェース、
９・・・通信インタフェース、  １０・・・要求処理部、
１１・・・パイプ検索部、  １２・・・パイプ合成部、
１３・・・パイプ維持部、
【図１】
0003790602.tif 000002
【図２】
0003790602.tif 000003
【図３】
0003790602.tif 000004
【図４】
0003790602.tif 000005
【図５】
0003790602.tif 000006
【図６】
0003790602.tif 000007
【図７】
0003790602.tif 000008
【図８】
0003790602.tif 000009
【図９】
0003790602.tif 000010
【図１０】
0003790602.tif 000011
【図１１】
0003790602.tif 000012
【図１２】
0003790602.tif 000013
【図１３】
0003790602.tif 000014
【図１４】
0003790602.tif 000015
【図１５】
0003790602.tif 000016
【図１６】
0003790602.tif 000017
【図１７】
0003790602.tif 000018
【図１８】
0003790602.tif 000019
【図１９】
0003790602.tif 000020
【図２０】
0003790602.tif 000021
【図２１】
0003790602.tif 000022
【図２２】
0003790602.tif 000023
【図２３】
0003790602.tif 000024
【図２４】
0003790602.tif 000025
【図２５】
0003790602.tif 000026
【図２６】
0003790602.tif 000027
【図２７】
0003790602.tif 000028
【図２８】
0003790602.tif 000029
【図２９】
0003790602.tif 000030
【図３０】
0003790602.tif 000031