(57)【特許請求の範囲】
【請求項１】
複数の情報探索装置が分散配置されてオーバレイネットワークを構成し、該オーバレイネットワークを介して情報探索のためのクエリのルーティングを行う情報探索システムにおいて、
前記クエリは所属組織を示す識別情報を含み、 
各情報探索装置が、
クエリのルーティング先となる他の情報探索装置の所属組織を示す識別情報が格納されたルーティングテーブル格納部と、
当該情報探索装置の所属組織を示す識別情報と、該識別情報に基づいてルーティング先を決定するためのルーティングポリシが格納された識別情報格納部と、
クエリに含まれる識別情報及びルーティングポリシと、前記ルーティングテーブル格納部に格納された他の情報探索装置が保持している識別情報に基づいて、前記クエリに含まれるルーティングポリシが指定する条件に該当する識別情報を有する当該他の情報探索装置を、当該クエリのルーティング先の情報探索装置として決定する意思決定部と、
当該情報探索装置がクエリを発行する場合は、前記識別情報格納部に格納された識別情報及びルーティングポリシをクエリに設定して該クエリをルーティングさせ、他の情報探索装置から受信したクエリを転送する場合は、前記意思決定部により、受信したクエリに含まれる識別情報及びルーティングポリシと、前記ルーティングテーブル格納部に格納された他の情報探索装置が保持している識別情報に基づいて決定された情報探索装置へクエリを転送する制御部と
を備えることを特徴とする情報探索システム。
【請求項２】
請求項１に記載の情報探索システムにおいて、
前記ルーティングテーブル格納部には、さらに、他の情報探索装置が保持している所属組織を示す識別情報と、該所属組織を示す識別情報と、当該他の情報探索装置とは別の情報探索装置の所属組織を示す識別情報との間の関係情報が格納され、
前記意思決定部が、さらに、クエリに含まれる識別情報、ルーティングテーブル格納部に格納された他の情報探索装置が保持している識別情報、及び該他の情報探索装置の所属組織を示す識別情報と前記別の情報探索装置の所属組織を示す識別情報との間の関係情報に基づいて、クエリのルーティング先の情報探索装置を決定し、
識別情報格納部には、さらに、当該情報探索装置の所属組織を示す識別情報と他の情報探索装置の所属組織を示す識別情報との間の関係情報が格納されていること特徴とする情報探索システム。
【請求項３】
請求項１または２に記載の情報探索システムにおいて、
前記意思決定部が、クエリのルーティング先として１つまたは複数の情報探索装置を決定することを特徴とする情報探索システム。
【請求項４】
請求項１から３までのいずれか一項に記載の情報探索システムにおいて、
前記各情報探索装置の前記制御部が、当該情報探索装置を特定するために必要な固有の情報及び識別情報をルーティング経路履歴情報として当該受信したクエリに追記設定し、該クエリを転送し、
前記各情報探索装置が、
当該クエリに追記設定されたルーティング経路履歴情報に基づいて、ルーティング経路を特定し、該ルーティング経路の信頼度を、ルーティング経路の情報探索装置が保持している識別情報に基づいて計算する経路情報管理部を備えており、
情報探索のためのクエリを発行した情報探索装置の前記経路情報管理部は、前記ルーティングを行った結果、情報探索の目的装置を構成する他の情報探索装置が複数発見されることにより複数のルーティング経路が生成される場合には、それぞれ発見された前記複数の他の情報探索装置から前記ルーティング経路履歴情報の返却を受け、前記ルーティング経路履歴情報に含まれる前記固有の情報及び識別情報を用いて、前記複数のルーティング経路の各々の信頼度を算出し、最も信頼度の高い経路の目的装置を最適な目的装置として選択することを特徴とする情報探索システム。
【請求項５】
複数の情報探索装置が分散配置されてオーバレイネットワークを構成し、該オーバレイネットワークを介して他の情報探索装置との間で、情報探索のためのクエリのルーティングを行う情報探索装置において、
前記クエリは所属組織を示す識別情報を含み、
クエリのルーティング先となる他の情報探索装置の所属組織を示す識別情報が格納されたルーティングテーブル格納部と、
当該情報探索装置の所属組織を示す識別情報と、該識別情報に基づいてルーティング先を決定するためのルーティングポリシが格納された識別情報格納部と、
クエリに含まれる識別情報及びルーティングポリシと、前記ルーティングテーブル格納部に格納された他の情報探索装置が保持している識別情報に基づいて、前記クエリに含まれるルーティングポリシが指定する条件に該当する識別情報を有する当該他の情報探索装置を、当該クエリのルーティング先の情報探索装置として決定する意思決定部と、
当該情報探索装置がクエリを発行する場合は、前記識別情報格納部に格納された識別情報及びルーティングポリシをクエリに設定して該クエリをルーティングさせ、他の情報探索装置から受信したクエリを転送する場合は、前記意思決定部により、受信したクエリに含まれる識別情報及びルーティングポリシと、前記ルーティングテーブル格納部に格納された他の情報探索装置が保持している識別情報に基づいて決定された情報探索装置へクエリを転送する制御部と
を備えることを特徴とする情報探索装置。
【請求項６】
複数の情報探索装置が分散配置されてオーバレイネットワークを構成し、該オーバレイネットワークを介して情報探索のためのクエリのルーティングを行う情報探索方法において、
当該情報探索装置は、クエリのルーティング先となる他の情報探索装置の所属組織を示す識別情報が格納されたルーティングテーブル格納部と、当該情報探索装置の所属組織を示す識別情報と、該識別情報に基づいてルーティング先を決定するためのルーティングポリシが格納された識別情報格納部と、意思決定部と、制御部とを備えており、
前記クエリは所属組織を示す識別情報を含み、
前記意思決定部によって、クエリに含まれる識別情報及びルーティングポリシと、前記ルーティングテーブル格納部に格納された他の情報探索装置が保持している識別情報に基づいて、前記クエリに含まれるルーティングポリシが指定する条件に該当する識別情報を有する当該他の情報探索装置を、当該クエリのルーティング先の情報探索装置として決定するステップと、
前記制御部によって、当該情報探索装置がクエリを発行する場合は、前記識別情報格納部に格納された識別情報及びルーティングポリシをクエリに設定して該クエリをルーティングさせ、他の情報探索装置から受信したクエリを転送する場合は、前記意思決定部により、受信したクエリに含まれる識別情報及びルーティングポリシと、前記ルーティングテーブル格納部に格納された他の情報探索装置が保持している識別情報に基づいて決定された情報探索装置へクエリを転送するステップと
を含むことを特徴とする情報探索方法。
【請求項７】
複数の情報探索装置が分散配置されてオーバレイネットワークを構成し、該オーバレイネットワークを介して、所属組織を示す識別情報を含むクエリを情報探索のためにルーティングさせる情報探索システムにおける情報探索プログラムであって、前記情報探索装置を構成するコンピュータに、
当該情報探索装置として構成するコンピュータは、クエリのルーティング先となる他の情報探索装置の所属組織を示す識別情報が格納されたルーティングテーブル格納部と、当該情報探索装置の所属組織を示す識別情報と、該識別情報に基づいてルーティング先を決定するためのルーティングポリシが格納された識別情報格納部とを備えており、
前記クエリは所属組織を示す識別情報を含み、
クエリに含まれる識別情報及びルーティングポリシと、前記ルーティングテーブル格納部に格納された他の情報探索装置が保持している識別情報に基づいて、前記クエリに含まれるルーティングポリシが指定する条件に該当する識別情報を有する当該他の情報探索装置を、当該クエリのルーティング先の情報探索装置として決定するステップと、
当該情報探索装置がクエリを発行する場合は、前記識別情報格納部に格納された識別情報及びルーティングポリシをクエリに設定して該クエリをルーティングさせ、他の情報探索装置から受信したクエリを転送する場合は、受信したクエリに含まれる識別情報及びルーティングポリシと、前記ルーティングテーブル格納部に格納された他の情報探索装置が保持している識別情報に基づいて決定された情報探索装置へクエリを転送するステップと
を実行させるための情報探索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上に分散配置された装置間における情報探索に関する技術である。
【背景技術】
【０００２】
ピアツーピア（以下、「Ｐ２Ｐ」という。）などの通信形態を有するネットワーク上に複数の装置が分散配置された場合、情報探索を実現する技術は、以下のように大きく３つに分けられる。
【０００３】
１．フラッディング（FreeNetなど）による探索
これは、オーバレイネットワーク上に接続されている端末（装置）に対して、クエリを一斉送信して情報探索を実現する手法である。不特定多数の装置にクエリが送信されるため、装置が保持するプログラムまたはファイルが改ざんされた場合には、その探索が困難になる。また、クエリによる問合わせ送信は不作為になされるので、悪意ある装置群の結託は因難であるが、情報探索の効率が悪くなる。したがって、このフラッディングによる探索手法では、ネットワーク帯域の消費が激しくなり、探索範囲に限界がある。
【０００４】
２．インデックスサーバ（Napsterなど）による探索
これは、装置（端末）が保持するファイルを探索サーバに登録しておき、情報探索を行う装置が、要求ファイルなどの所在地の問合わせを探索サーバに行い、探索サーバからの問合わせ結果に基づいて、所定の装置へ直接アクセスする手法である。このインデックスサーバによる探索手法では、探索サーバへの問合わせが集中することにより、探索サーバに多大な負荷が生じ、単一点障害となる。
【０００５】
３．ＤＨＴ（Distributed Hash Table：分散ハッシュテーブル）による探索
このＤＨＴによる探索は、前述の１及び２による問題点を解決する手法である。ＤＨＴを用いたオーバレイネットワークでは、高いスケーラビリティを誇る分散システムを構成することができる。しかし、オープンエンドのＰ２Ｐ環境では、少数の悪意ある装置が結託することにより、正しいメッセージの配送を妨害してしまう。これを解決する手法として、インスタントメッセージなどに登録済の友達リストを、ＤＨＴに追加する技術が開示されている（例えば、非特許文献１を参照。）。しかし、この非特許文献１の技術では、「友達」または「友達の友達」という個人間の信頼関係しか利用できないため、参加装置の数が多い、いわゆる大規模なオーバレイネットワーク上では、情報探索の効果が発揮されないという問題がある。
【０００６】
また、ＤＨＴによる探索手法において、オーバレイネットワークを複数構成して複数のルーティング経路を確保することにより、複数の探索結果を確保する技術がある（例えば、非特許文献２を参照。）。これにより、疑わしい経路から導かれた探索結果を排除することが可能になるが、どの経路を信頼し、どの経路が疑わしいのかを判定するための指標がないという問題がある。
【０００７】
【非特許文献１】「DHT Routing Using Social Links」，Stanford University，ITPS 2004
【非特許文献２】「A scalable content-addressable network」，U.C. Berkeley SIGCOMM，2001
【発明の開示】
【発明が解決しようとする課題】
【０００８】
Ｐ２Ｐなどのネットワーク環境下でＤＨＴを利用する場合、当該ネットワークに参加する装置が実行する情報のルーティングは、必ずしも信頼できるものではない。例えば、ルーティングテーブルが改ざんされる恐れあるからである。また、多少の効率性を犠牲にしても、信頼できる装置によるルーティングを実現したい場合、すなわち効率性よりも信頼性を優先させたい場合であっても、信頼する装置であるか否かを判定することが困難であるため、信頼できる装置によるルーティングを実現することができない。
【０００９】
また、探索要求に該当する情報を格納する装置が複数発見された場合や、探索経路が複数発見された場合には、探索したい情報の所在である装置までのルーティング経路を確認することにより、ルーティングの信頼度を確認することができる。しかし、経由した装置のＩＰアドレスを取得できたとしても、当該ルーティング経路自体が信頼できる経絡であるか否かを判定することが困難である。
【００１０】
そこで、本発明は上記課題を解決するためになされたものであり、その目的は、所属組織を示す識別情報を用いて情報を探索することにより、確度の高い情報を得ることが可能な情報探索システム、装置、方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
オーバレイネットワーク上でＤＨＴなどを利用したルーティングにおいて、当該オーバレイネットワーク上の各情報探索装置は、所属組織を示す識別情報の改ざんや不正コピーなどが行われない安全な状態で保持している。各情報探索装置が、この識別情報に基づいてルーティング経路を決定することにより、ルーティングの確度を高めることができる。この所属情報を示す識別情報は、情報探索装置の所属を示すものであり、信頼できる情報である。また、クエリに設定された識別情報と同一の識別情報を保持する情報探索装置だけでなく、予め識別情報との間の関係が規定された信頼できる他の所属組織の識別情報を保持する装置も、ルーティング先の情報探索装置として許容する。ここで、識別情報間の関係、すなわち所属組織を示す識別情報と他の識別情報との間の関係情報とは、例えば、同値関係または推移性を許可する包含関係、推移性を許可しない包含関係などをいう。これにより、大規模に渡るルーティングにおいても確度を高めることができる。また、複数のルーティング経路が生成され、かつ複数の探索結果が発見された場合には、どの経路が信頼できるかの指標として、ルーティング経路の信頼度を計算する。
【００１２】
すなわち、本発明による情報探索システムは、複数の情報探索装置が分散配置されてオーバレイネットワークを構成し、該オーバレイネットワークを介して情報探索のためのクエリのルーティングを行う情報探索システムにおいて、前記クエリは所属組織を示す識別情報を含み、 各情報探索装置が、クエリのルーティング先となる他の情報探索装置の所属組織を示す識別情報が格納されたルーティングテーブル格納部と、当該情報探索装置の所属組織を示す識別情報と、該識別情報に基づいてルーティング先を決定するためのルーティングポリシが格納された識別情報格納部と、クエリに含まれる識別情報及びルーティングポリシと、前記ルーティングテーブル格納部に格納された他の情報探索装置が保持している識別情報に基づいて、前記クエリに含まれるルーティングポリシが指定する条件に該当する識別情報を有する当該他の情報探索装置を、当該クエリのルーティング先の情報探索装置として決定する意思決定部と、当該情報探索装置がクエリを発行する場合は、前記識別情報格納部に格納された識別情報及びルーティングポリシをクエリに設定して該クエリをルーティングさせ、他の情報探索装置から受信したクエリを転送する場合は、前記意思決定部により、受信したクエリに含まれる識別情報及びルーティングポリシと、前記ルーティングテーブル格納部に格納された他の情報探索装置が保持している識別情報に基づいて決定された情報探索装置へクエリを転送する制御部とを備えたことを特徴とする。
【００１３】
また、本発明による情報探索システムは、前記ルーティングテーブル格納部には、さらに、他の情報探索装置が保持している所属組織を示す識別情報と他の識別情報との間の関係情報が格納され、前記意思決定部が、さらに、クエリに含まれる識別情報、ルーティングテーブル格納部に格納された他の装置が保持している識別情報、及び該識別情報と他の識別情報との間の関係情報に基づいて、クエリのルーティング先の情報探索装置を決定し、識別情報格納部には、さらに、当該情報探索装置の所属組織を示す識別情報と他の識別情報との間の関係情報が格納されていること特徴とする。
【００１４】
また、本発明による情報探索システムは、前記意思決定部が、クエリのルーティング先として１つまたは複数の情報探索装置を決定することを特徴とする。
【００１６】
また、本発明による情報探索システムは、前記制御部が、当該情報探索装置を特定するために必要な固有の情報及び識別情報をルーティング経路履歴情報としてクエリに追記設定し、該クエリを転送し、該クエリに追記設定されたルーティング経路履歴情報に基づいて、情報探索のためのルーティング経路を特定することを特徴とする。
【００１７】
また、本発明による情報探索システムは、前記各情報探索装置が、さらに、クエリに追記設定されたルーティング経路履歴情報に基づいて、ルーティング経路を特定すると共に該ルーティング経路の信頼度を計算する経路情報管理部を備えたことを特徴とする。
【００１８】
また、本発明による情報探索システムは、前記各情報探索装置が、さらに、クエリに追記設定されたルーティング経路履歴情報に基づいて、ルーティング経路を特定し、該ルーティング経路の信頼度を、ルーティング経路の情報探索装置が保持している識別情報に基づいて計算する経路情報管理部を備えたことを特徴とする。
【００１９】
本発明を情報探索システムとして説明したが、本発明は、情報探索システムを構成する情報探索装置に実質的に相当する装置、情報探索システムを動作させるための方法、及び情報探索システムを動作させるためのプログラムとしても実現し得るものであり、本発明には、情報探索装置、情報探索方法及び情報探索プログラムも包含される。
【発明の効果】
【００２０】
以上のように、本発明によれば、信頼できる情報である所属組織を示す識別情報を用いて情報を探索するから、確度の高い情報を得ることが可能となる。
【発明を実施するための最良の形態】
【００２１】
分散環境における情報探索の例としては、Ｐ２Ｐ、センサーネットワーク、ユビキタス環境における端末間通信などがある。以下、Ｐ２Ｐにおける情報探索を実施例として説明する。また、同一組織を示す識別情報を保持する装置間のルーティング、及び関係が規定された組織間の識別情報を保持する装置間のルーティングは、無関係の識別情報を保持する装置や識別情報（チケット情報）を保持しない装置間のルーティングよりも信頼できるものとする。例えば、同一コミュニティ（ソーシャルネットワークサービスなど）に所属するメンバ間は互いに信頼でき、所属コミュニティと信頼を前提として提携を結んだ別コミュニティのメンバも信頼できるものとする。
【００２２】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
以下の実施例では、ＤＨＴの一般的なルールを利用し、かつオーバレイネットワークに参加する装置が保持する所属組織を示す識別情報に基づいたルーティングの例を説明する。
【実施例１】
【００２３】
まず、実施例１について説明する。尚、情報探索装置１，２，３，・・・，Ｎが接続されたオーバレイネットワーク環境において、情報探索装置１が、発見したいデータＤに関する情報を探索するためのクエリを送信し、情報探索装置Ｎが、当該データＤの所在地（データＤを保有する装置のアドレスなど）に関する情報を保有しているものとする。
【００２４】
〔構成〕
実施例１の構成について説明する。図１は、実施例１における情報探索装置及び当該情報探索装置を含むシステムを示す図である。この情報探索システム１０１は、分散型の情報探索システムであり、オーバレイネットワーク１００を介して接続される情報探索装置１，２，・・・，Ｎにより構成される。
【００２５】
１は情報探索装置であり、例えば、ＰＣ（Personal Computer）、ＰＤＡ(Personal Digital Assistants)、情報家電などの情報処理・通信装置である。この情報探索装置１は、制御部１０、通信部１１、装置情報格納部１２、ルーティングテーブル格納部１３、意思決定部１４、保有リソース格納部１５、及び識別情報格納部１６を備えている。尚、他の情報探索装置２，・・・，Ｎの内部構成も、情報探索装置１の内部構成と同様である。
【００２６】
１０は、通信部１１、装置情報格納部１２、ルーティングテーブル格納部１３、意思決定部１４、保有リソース格納部１５及び識別情報格納部１６を統括的に制御する。つまり、通信部１１、装置情報格納部１２、ルーティングテーブル格納部１３、意思決定部１４、保有リソース格納部１５及び識別情報格納部１６は、制御部１０の統括的な制御により、情報の入出力や送受信を行う。
【００２７】
１１は、他の情報探索装置２，・・・，Ｎとの間の通信を行う通信部であり、例えば、ＨＴＴＰ、ＳＯＡＰなどの標準プロトコルまたは独自プロトコルを用いて通信を行う。
【００２８】
１２は、オーバレイネットワーク１００上に割り当てられた当該情報探索装置１の「ＩＰアドレス」「装置ＩＤ」「利用者アカウント」「管理ＩＤ空間」などが格納される装置情報格納部である。例えば、ファイル、データベースなどにより構成される。この装置情報格納部１２の各情報は、制御部１０により初期設定される。ここで、「利用者アカウント」とは、当該情報探索装置１を使用する利用者１１１のアカウントである。また、「管理ＩＤ空間」とは、当該情報探索装置１において、データのＩＤ及び装置ＩＤに共通して使用されるＩＤの範囲であり、情報探索装置毎に割り付けられる。
【００２９】
１３は、探索対象の情報に対するクエリのルーティング先となる近傍装置に関する情報が格納されるルーティングテーブル格納部である。例えば、データベース、ファイルなどにより構成される。具体的には、ルーティングテーブル格納部１３のルーティングテーブル情報は、後述するように、「ルーティングテーブル番号（＃）」「近傍の情報探索装置の装置ＩＤ」「近傍の情報探索装置の利用者アカウント」「近傍の情報探索装置のＩＰアドレス」「近傍の情報探索装置が保持する識別情報」「近傍の情報探索装置が保持する識別情報と関係のある識別情報及びその関係」「近傍の情報探索装置が管理するＩＤ空間（管理ＩＤ空間）」などである。このうちの「近傍の情報探索装置の装置ＩＤ」「近傍の情報探索装置の利用者アカウント」「近傍の情報探索装置のＩＰアドレス」「近傍の情報探索装置が保持する識別情報」「近傍の情報探索装置が保持する識別情報と関係のある識別情報及びその関係」「近傍の情報探索装置が管理するＩＤ空間（管理ＩＤ空間）」は、近傍の情報探索装置から取得される。
【００３０】
１４は、クエリのルーティング先を決定する意思決定部であり、例えば、アプリケーションプログラムをＣＰＵ（図示せず）が実行することにより実現される。この場合、アプリケーションプログラムは、情報探索装置１におけるＲＡＭ、ＲＯＭ等の記憶部に記憶されており、クエリのルーティング先の決定処理を実行するに際し、予めその記憶部から読み出される。意思決定部１４は、ルーティングテーブル格納部１３に格納されたルーティングテーブル情報、及びクエリに設定されたルーティングポリシに基づいて、ルーティング先の情報探索装置を決定する。
【００３１】
１５は、当該情報探索装置１がオーバレイネットワーク１００上に公開するリソースが格納される保有リソース格納部であり、例えば、ファイル、データベースなどにより構成される。
【００３２】
１６は、当該情報探索装置１が保持する当該装置の「所属組織を示す識別情報」「当該識別情報に関するルーティングポリシ」「当該識別情報と関係のある識別情報及びその関係」などが格納される識別情報格納部である。例えば、データベース、ＩＣカードなどの耐タンパなデバイス、情報探索装置１以外の信頼できる外部の装置（例えば、本特許出願と同一の出願人による未公開の特願２００５−２１９１６２号に記載された装置）などにより構成され、情報探索装置１内の情報の改ざんや不正コピーなどを防止する。１１１は情報探索装置１の利用者である。
【００３３】
〔動作〕
実施例１の動作について説明する。図２は、図１に示した実施例１の動作を説明するための処理フロー図である。
（事前設定）
事前設定として、情報探索装置１において、識別情報格納部１６には、当該情報探索装置１の「所属組織を示す識別情報」「当該識別情報に関するルーティングポリシ」「当該識別情報と関係のある識別情報及びその関係」が事前に格納されているものとする。ここで、これらの情報は、改ざん、不正コピー、不正譲渡ができないように安全に識別情報格納部１６に格納されているものとする。また、所属組織がない情報探索装置の識別情報格納部１６には、前述した情報が格納されていないものとする。
【００３４】
また、実施例１では、識別情報間の関係は、「当該識別情報と関係のある識別情報及びその関係」として事前に格納されているが、「所属組織を示す識別情報」に内包されているものとしてもよい。ここで、識別情報間の関係とは、例えば、同値関係または推移性を許可する包含関係、推移性を許可しない包含関係などをいう。図３の例では、ルーティングテーブル格納部１３のルーティングテーブル情報のうちの「識別情報の関係」には「Ｔａ⇒Ｔｃ」「Ｔｂ＝Ｔｘ」が格納されている。前者は、識別情報Ｔａが識別情報Ｔｃに内包される関係を示しており、後者は、識別情報Ｔｂと識別情報Ｔｘとが同値関係になることを示している。また、識別情報間の関係は、１対１の関係だけでなく、１対多、多対多の関係を定義するものであってもよい。これら識別情報間の関係は、例えば、当該識別情報を作成し発行する所有権限を持つ利用者間で規定される。
【００３５】
（初期役定／ステップ２１）
利用者１１１の操作入力により、情報探索装置１の初期設定が行われる。
（１）装置ＩＤの払出し
利用者１１１の操作入力による初期設定が行われると、情報探索装置１の制御部１０は、通信部１１を介してオーバレイネットワーク１００に参加し、情報探索装置１に固有の情報（固定のＩＰアドレス、ＭＡＣアドレスなど）に基づいてハッシュ値などによって計算した装置ＩＤ（装置ＩＤ１）を生成し、当該装置ＩＤ１を装置情報格納部１２に格納する。図３の例では、制御部１０は、当該情報探索装置１の装置ＩＤとして、「ｈｏｇｅｈｏｇｅ」を装置情報格納部１２に格納する。
【００３６】
（２）ルーティングテーブルの生成
情報探索装置１の制御部１０は、当該情報探索装置１の装置ＩＤ１に関して近傍に位置する情報探索装置に関する情報を、通信部１１を介してオーバレイネットワーク１００に参加している情報探索装置から収集し、当該収集した情報をルーティングテーブル情報としてルーティングテーブル格納部１３に格納する。ルーティングテーブル情報の収集及びルーティングテーブルの生成は、既存のＤＨＴアルゴリズムを用いて行うようにしてもよい。この場合、近傍の情報探索装置が保持する識別情報（近傍の情報探索装置の識別情報格納部１６に格納された、「所属組織を示す識別情報」など）も取得する。
【００３７】
（３）既知の識別情報に関して関係のある情報探索装置に関する情報の格納
前述の（２）において、情報探索装置１の制御部１０は、情報探索装置相互に保持する識別情報間に関係のある既知の情報探索装置に関する情報（当該関係のある既知の情報探索装置のＩＰアドレス、当該情報探索装置の識別情報格納部１６に格納された識別情報など）をルーティングテーブル情報としてルーティングテーブル格納部１３に格納する。尚、前述の（２）において既にＤＨＴアルゴリズムを用いて生成されたルーティングテーブル情報と重複する場合は、制御部１０は、（３）においてその重複情報をルーティングテーブル格納部１３に格納しないで、重複しない情報のみ（差分）を追加格納する。
【００３８】
このようにしてルーティングテーブル格納部１３に格納されるルーティングテーブル情報は、図３の例では、「ルーティングテーブル番号（＃）」「近傍の情報探索装置の装置ＩＤ」「近傍の情報探索装置の利用者アカウント」「近傍の情報探索装置のＩＰアドレス」「近傍の情報探索装置が保持する識別情報」「近傍の情報探索装置が保持する識別情報と関係のある識別情報及びその関係」「近傍の情報探索装置が管理するＩＤ空間」である。「ルーティングテーブル番号（＃）」は情報探索装置１の制御部１０により設定される。「近傍の情報探索装置の装置ＩＤ」「近傍の情報探索装置の利用者アカウント」「近傍の情報探索装置のＩＰアドレス」「近傍の情報探索装置が管理するＩＤ空間」は、近傍の情報探索装置の装置情報格納部１２から取得される。また、「近傍の情報探索装置が保持する識別情報」「近傍の情報探索装置が保持する識別情報と関係のある識別情報及びその関係」は、近傍の情報探索装置の識別情報格納部１６から取得される。ここで、制御部１０は、「近傍の情報探索装置が保持する識別情報」「近傍の情報探索装置が保持する識別情報と関係のある識別情報及びその関係」またはこれらの情報を組合せた全体情報をハッシュ値としてルーティングテーブル格納部１３に格納することにより、高速なアクセスを実現することができ、一意性を保つことが可能となる。
【００３９】
（検索クエリの発行／ステップ２２）
情報探索装置１の制御部１０は、発見したいデータＤを探索するために、クエリを発行（生成）する。クエリに含まれる情報は、例えば、「発見したいデータＤに関する情報であるデータＤのＩＤ（データ名のハッシュ値など）」「当該情報探索装置１の装置ＩＤ１」「当該情報探索装置１のＩＰアドレス」「当該情報探索装置１が保持している識別情報の中で探索にて使用する識別情報」「その識別情報に関するルーティングポリシ」などである。
【００４０】
制御部１０は、発見したいデータＤから「発見したいデータＤに関する情報であるデータＤのＩＤ（データ名のハッシュ値など）」を生成する。また、「当該情報探索装置１の装置ＩＤ１」「当該情報探索装置１のＩＰアドレス」を装置情報格納部１２から読み出す。また、「当該情報探索装置１が保持している識別情報の中で探索にて使用する識別情報」「その識別情報に関するルーティングポリシ」を識別情報格納部１６から読み出す。この場合、「その識別情報に関するルーティングポリシ」は、例えば、「同一識別情報を格納する情報探索装置間のみのルーティングを実行する」「同一識別情報及び関係識別情報を格納する情報探索装置間のみのルーティングを実行する」「同一識別情報を格納する情報探索装置間のルーティングを優先して実行する」「同一識別情報及び関係識別情報を格納する情報探索装置間のルーティング優先して実行する」などである。
【００４１】
「当該情報探索装置１が保持している識別情報の中で探索にて使用する識別情報」及び「その識別情報に関するルーティングポリシ」は、例えば、識別情報格納部１６において、複数の識別情報が格納されている場合は、利用者１１１の選択により１つの識別情報が選択される。また、１つのみのルーティングポリシが識別情報に付帯している場合は、１つの識別情報に対して１つのルーティングポリシとなり、複数のルーティングポリシが識別情報に付帯している場合は、利用者１１１に複数のルーティングポリシのうちの１つのルーティングポリシを選択させることにより、１つの識別情報に対して１つのルーティングポリシとなる。この選択は、クエリの発行毎に行う。
【００４２】
以下、本実施例１では、クエリに含まれる情報のうち「その識別情報に関するルーティングポリシ」が前述の３番目の「同一識別情報を格納する情報探索装置間のルーティングを優先して実行する」である場合の動作を説明する。ここで、複雑な意味的解釈を必要としないポリシを扱う場合（規定の選択肢から決定する場合など）には、各ポリシに一意な番号を割振る、またはポリシのハッシュ値を計算してこれを格納することにより、高速なアクセスを実現することができ、一意性を保つことが可能となる。
【００４３】
（チケット情報に基づくルーティング／ステップ２３）
情報探索装置１の意思決定部１４は、クエリに含まれる情報、及び、ルーティングテーブル格納部１３に格納されたルーティングテーブル情報に基づいて、ルーティング先の情報探索装置を決定する。そして、制御部１０は、通信部１１を介して近傍の情報探索装置へクエリを転送する。具体的には、意思決定部１４は、ルーティングテーブル格納部１３に格納された「近傍の情報探索装置が保持する識別情報」及び「近傍の情報探索装置が保持する識別情報と関係のある識別情報及びその関係」における識別情報と、ステップ２２において発行したクエリに含まれる情報「当該情報探索装置が保持している識別情報の中で探索にて使用する識別情報」とが同一となる「近傍の情報探索装置の装置ＩＤ」の装置の中から、
｜（現在の装置ＩＤ）−（データＤのＩＤ）｜
＞｜（ルーティング先の装置ＩＤ）−（データＤのＩＤ）｜
となる近傍の情報探索装置をルーティング先として選択する。但し、このような装置（「近傍の情報探索装置の装置ＩＤ」）がルーティングテーブル格納部１３に複数格納されている場合は、
｜（ルーティング先の装置ＩＤ）−（データＤのＩＤ）｜
が最も小さい情報探索装置をルーティング先として決定する。ルーティングテーブル格納部１３に、クエリに含まれる識別情報（「当該情報探索装置１が保持している識別情報の中で探索にて使用する識別情報」）と同一の識別情報（「近傍の情報探索装置が保持する識別情報」及び「近傍の情報探索装置が保持する識別情報と関係のある識別情報及びその関係」における識別情報）を保持する情報探索装置が格納されていない場合は、通常のＤＨＴのルールに従ってルーティング先の情報探索装置を決定する。そして、制御部１０は、意思決定部１４が決定したルーティング先の情報探索装置へ通信部１１を介してクエリを転送する。
【００４４】
尚、「ルーティングポリシ」に、ルーティングを優先する識別情報の順番が設定されている場合は、その順番に従ってルーティング先の情報探索装置が選択される。また、意思決定部１４は、ルーティングテーブル格納部１３に格納された「近傍の情報探索装置が保持する識別情報」または「近傍の情報探索装置が保持する識別情報と関係のある識別情報及びその関係」の識別情報と、ステップ２２において発行したクエリに含まれる情報「当該情報探索装置が保持している識別情報の中で探索にて使用する識別情報」とが同一となる「近傍の情報探索装置の装置ＩＤ」の情報探索装置の中から、前述の条件式を満たす近傍の情報探索装置をルーティング先として選択するようにしてもよい。
【００４５】
（ルーティング終了判定／ステップ２４）
（１）目的装置に到達した場合
情報探索装置２の通信部１１がクエリを受信すると、制御部１０は、データＤの所在地を当該情報探索装置２が管理しているか否かをチェックする。具体的には、制御部１０は、装置情報格納部１２の「管理ＩＤ空間」にデータＤのＩＤが含まれるか否かをチェックする。含まれている場合は、当該情報探索装置２がデータＤの所在地に関する情報を管理していることになる。以下、データＤの所在地を管理している情報探索装置を目的装置という。当該情報探索装置２が目的装置である場合は、ステップ２５へ移行する。
（２）目的装置に到達していない場合
情報探索装置２の制御部１０は、ルーティングテーブル格納部１３のルーティングテーブル情報から、ルーティングの余地があるか否かをチェックする。
（２．１）ルーティングの余地がある場合
情報探索装置２の意思決定部１４は、クエリに含まれる情報「ルーティングポリシ」に基づいて、当該情報探索装置２のルーティングテーブル格納部１３に格納されたルーティングテーブル情報から、ルーティング先の情報探索装置を決定する。そして、決定した近傍の情報探索装置へクエリが転送される。この場合、制御部１０は、当該クエリに自装置情報（情報探索装置２の装置ＩＤ及び識別情報）を履歴情報として追加し、再びステップ２３（２３−２）へ移行する。
（２．２）ルーティングの余地がない場合
情報探索装置１の意思決定部１４は、「ルーティングポリシ」に基づいて、チケットの関係を利用してルーティング経路を絞り込んだため、目的装置に到達できない場合がある。具体的には、前述した条件式
｜（現在の装置ＩＤ）−（データＤのＩＤ）｜
＞｜（ルーティング先の装置ＩＤ）−（データＤのＩＤ）｜
を満たす近傍の情報探索装置をルーティング先として選択できない場合、すなわち、条件式を満たす装置ＩＤがルーティングテーブル格納部１３に格納されていない場合は、目的装置に到達できず、ルーティングの余地がないことになる。この場合、当該情報探索装置２の制御部１０は、クエリからこれまでの転送経路に関する情報を取得し、クエリを発行した情報探索装置１へ返却して終了する。
【００４６】
（目的装置からの情報返却／ステップ２５）
ステップ２３，２４を繰返して情報探索装置Ｎへ到達し、当該情報探索装置Ｎの制御部１０が、ルーティングテーブル格納部１３の「近傍の情報探索装置が管理するＩＤ空間」にデータＤのＩＤが含まれるか否かをチェックし、含まれている場合は、当該情報探索装置ＮがデータＤの所在地に関する情報を管理していることになる。この場合、目的装置である情報探索装置Ｎは、データＤを保持する情報探索装置の情報（ＩＰアドレスなど）及びクエリの転送経路に関する情報（クエリに履歴情報として追加された装置情報（情報探索装置の装置ＩＤ及び識別情報））を、クエリを発行した装置（情報探索装置１）へ返却する。
【００４７】
（情報へのアクセス／ステップ２６）
クエリを発行した情報探索装置１の通信部１１が返却情報を受信すると、制御部１０は、返却情報に基づいてルーティング経路を生成し、データＤへアクセスする。
【００４８】
以上のように、実施例１によれば、情報探索装置の所属組織を示す識別情報をルーティングに利用することによって、信頼できる情報探索装置を経由したルーティングが可能となる。また、発行したクエリのルーティング経路が信頼できるものとなるため、発見したデータの確度も高いものとなる。
【００４９】
すなわち、実施例１によれば、多数の情報探索装置１，２，・・・，Ｎが参加するオーバレイネットワーク１００上のルーティングにおいて、各情報探索装置の所属組織を示す識別情報を用いることにより、確度の高いルーティングを実行することが期待される情報探索装置間のみでのルーティング、または当該情報探索装置への優先的なルーティングを実現することができる。そして、悪意あるルーティングを実行する情報探索装置、例えば、偽のルーティングテーブルを保持する装置などを可能な限り回避して探索目的の装置へ到達することが可能となる。
【実施例２】
【００５０】
次に、実施例２について説明する。実施例２では、オーバレイネットワークを多重化し、各情報探索装置がそれぞれルーティングテーブルを複数保持することによって、ルーティング経路を複数確保し、目的装置が複数発見される場合を想定する。この場合、どの目的装置から返却された情報を選択すべきかの指標を計算することにより、確度の高い選択をすることが可能となる。以下、クエリを発行する情報探索装置１−２から、既知の信頼できる情報探索装置へ当該クエリをマルチキャストし、それ以降は、実施例１と同様のルーティングを実行することにより、複数のルーティング経路を確保する例を説明する。
【００５１】
〔構成〕
実施例２の構成について説明する。図４は、実施例２における情報探索装置及び当該情報探索装置を含むシステムを示す図である。この情報探索システム１０１−２は、分散型の情報探索システムであり、多重化されたオーバレイネットワーク１００−２を介して接続される情報探索装置１−２，２−２，・・・，Ｎ−２により構成される。
【００５２】
１−２は情報探索装置であり、例えば、ＰＣ（Personal Computer）、ＰＤＡ(Personal Digital Assistants)、情報家電などの情報処理・通信装置である。この情報探索装置１−２は、制御部１０、通信部１１、装置情報格納部１２、ルーティングテーブル格納部１３、意思決定部１４、保有リソース格納部１５、識別情報格納部１６、及び経路情報管理部１７を備えている。尚、他の情報探索装置２−２，・・・，Ｎ−２の内部構成も、情報探索装置１−２の内部構成と同様である。
【００５３】
図１に示した実施例１の情報探索装置１の構成と実施例２の情報探索装置１−２の構成とを比較すると、制御部１０、通信部１１、装置情報格納部１２、ルーティングテーブル格納部１３、意思決定部１４、保有リソース格納部１５及び識別情報格納部１６を備えている点で同一であるが、情報探索装置１−２はさらに経路情報管理部１７を備えている点で相違する。以下、図４において、図１と共通する部分には図１と同一の符号を付し、その詳しい説明は省略する。
【００５４】
１７は、クエリのルーティング経路に関する情報を管理する経路情報管理部であり、例えば、ファイル、データベースなどにより構成される。
【００５５】
〔動作〕
実施例２の動作について説明する。図５は、図４に示した実施例２の動作を説明するための処理フロー図である。
【００５６】
図２に示した実施例１の動作と実施例２の動作とを比較すると、（事前設定）（初期役定／ステップ２１，５１）（検索クエリの発行／ステップ２２，５２）（ルーティング終了判定／ステップ２４，５４）（目的装置からの情報返却／ステップ２５，５５）の動作は同一であるが、（チケット情報に基づくルーティング／ステップ２３，５３）（情報へのアクセス／ステップ２６，５７）の動作は異なり、また、実施例２にはさらに（目的装置が複数発見された場合の経路評価／ステップ５６）が追加されている。以下、同一の動作については、その詳しい説明を省略する。
【００５７】
（事前設定）（初期役定／ステップ５１）（検索クエリの発行／ステップ５２）
図２に示した実施例１の動作と同一である。
【００５８】
（チケット情報に基づくルーティング／ステップ５３）
情報探索装置１−２の意思決定部１４は、クエリに含まれる情報、及び、ルーティングテーブル格納部１３に格納されたルーティングテーブル情報に基づいて、ルーティング先の情報探索装置群を決定する。制御部１０は、意思決定部１４により決定された情報探索装置群へ通信部１１を介してクエリを転送する。具体的には、意思決定部１４は、ルーティングテーブル格納部１３に格納された「近傍の情報探索装置が保持する識別情報」及び「近傍の情報探索装置が保持する識別情報と関係のある識別情報及びその関係」における識別情報と、ステップ５２において発行したクエリに含まれる情報「当該情報探索装置が保持している識別情報の中で探索にて使用する識別情報」とが同一となる「近傍の情報探索装置の装置ＩＤ」の装置群を、ルーティング先の情報探索装置群に決定する。すなわち、情報探索装置１−２は、信頼できる情報探索装置群へクエリを送信する。この場合、クエリが送信される情報探索装置群は、情報探索装置１−２にとって信頼できる情報探索装置群であればよく、例えば、クエリに含まれる情報「当該情報探索装置が保持している識別情報の中で探索にて使用する識別情報」と同一となる識別情報を保持する既知の情報探索装置群（「近傍の情報探索装置が保持する識別情報」を保持する情報探索装置群）であってもよいし、既知の関係のある識別情報を保持する情報探索装置群（「近傍の情報探索装置が保持する識別情報と関係のある識別情報及びその関係」の識別情報を保持する情報探索装置群）でもあってもよいし、前述した両者の情報探索装置群であってもよい。尚、ルーティング先の情報探索装置群は、クエリに設定されたルーティングポリシに従って決定される。これ以後は、クエリを受信した情報探索装置は、実施例１のステップ２３と同様のルーティング処理を実行する。
【００５９】
（ルーティング終了判定／ステップ５４）（目的装置からの情報返却／ステップ５５）
図２に示した実施例１の動作と同一である。
【００６０】
（目的装置が複数発見された場合の経路評価／ステップ５６）
ステップ５３において情報探索装置１−２が複数の情報探索装置へクエリを送信し、ステップ５４において目的装置へ到達し、ステップ５５において複数のルーティング経路が生成されたものとする。また、目的装置が複数発見されることも考えられることから、ステップ５５において、各目的装置は、それぞれデータＤを保持する情報探索装置の情報（ＩＰアドレスなど）及びクエリの転送経路に関する情報（クエリに履歴情報として追加された装置情報（情報探索装置の装置ＩＤ及び識別情報））を、クエリを発行した装置（情報探索装置１−２）へ返却する。
【００６１】
返却情報には、クエリを発行した情報探索装置１−２から目的装置までの経路に関する情報（クエリに履歴情報として追加された装置情報（情報探索装置の装置ＩＤ及び識別情報））が含まれている。情報探索装置１−２の経路情報管理部１７は、これらの情報を比較することにより、各目的装置へのアクセスに対する信頼度を算出する。例えば、「目的装置がクエリに含まれる識別情報と同一の識別情報を保持している」「目的装置がクエリに含まれる識別情報と関係のある識別情報を保持している」「ルーティング経路が短い」「同一の目的装置を指しているルーティング結果が多い」「クエリに含まれる識別情報と同一または関係のある識別情報を保持する装置がルーティング経路上に多く存在する」などの因子を適応した関数を用いて、信頼度を算出する。そして、経路情報管理部１７は、最も信頼度の高い経路の目的装置を最適な目的装置として選択し、当該情報探索装置からの返却情報が使用される。
【００６２】
尚、経路情報管理部１７は、各識別情報に重み付けをした上で、ルーティング経路の信頼度を計算するようにしてもよい。また、経路情報管理部１７は、ルーティングにおける経由装置数に対するそれらの情報探索装置のうち、クエリに含まれる識別情報と同一の識別情報を保持する情報探索装置の数の割合を、ルーティング経路の信頼度として計算するようにしてもよい。例えば、目的装置として情報探索装置２−２及び情報探索装置Ｎ−２が発見されたとする。この場合、情報探索装置２−２に到達するまでに経由した情報探索装置の数が５つであり、これらの情報探索装置のうち、クエリに含まれている識別情報と同一の識別情報を保持していた情報探索装置が２つであったとする。また、情報探索装置Ｎ−２に到達するまでに経由した情報探索装置の数が６つあり、これらの情報探索装置のうち、クエリに含まれている識別情報と同一の識別情報を保持していた情報探索装置が４つであったとする。このような状況において、情報探索装置２−２よりも情報探索装置Ｎ−２の方が、信頼度の高いルーティング経路によって発見された目的装置であるものと計算することができる。
【００６３】
（情報へのアクセス／ステップ５７）
クエリを発行した情報探索装置１−２の制御部１０は、ステップ５６において選択した返却情報に基づいて、データＤへアクセスする。
【００６４】
以上のように、実施例２によれば、情報探索のためのクエリのルーティングにおいて、所望の情報を複数の情報探索装置で発見した場合、どの情報探索装置が管理する情報を信頼してアクセスすべきかについて、各情報探索装置が保持する識別情報に関する情報や経路長などに基づいて、推奨するアクセス先の情報探索装置を順位付けすることができる。
【００６５】
すなわち、実施例２によれば、多数の情報探索装置１−２，２−２，・・・，Ｎ−２が参加するオーバレイネットワーク１００−２上のルーティングにおいて、各情報探索装置の所属組織を示す識別情報を用いることにより、確度の高いルーティングを実行することが期待される情報探索装置間のみでのルーティング、または当該情報探索装置への優先的なルーティングを実現することができる。そして、悪意あるルーティングを実行する情報探索装置、例えば、偽のルーティングテーブルを保持する装置などを可能な限り回避して探索目的の装置へ到達することが可能となる。また、ルーティングにおいて、探索目的の装置が複数発見された場合でも、ルーティングの経路履歴や識別情報などを利用した関数を用いてルーティングの信頼度を算出することにより、識別情報に基づいた推奨されるアクセス先の情報探索装置を選択することが可能となる。
【００６６】
以上、実施例を挙げて本発明を説明したが、本発明は上記実施例に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、上記実施例１，２では、ＤＨＴの一般的なルールを利用したオーバレイネットワークにおける例を示したが、ＤＨＴを利用した手法に限定するものではなく、情報探索装置がオーバレイネットワーク上に分散配置され、情報が集中管理されていない場合の情報探索手法であればよい。
【００６７】
尚、情報探索装置１，２，・・・，Ｎ，１−２，２−２，・・・，Ｎ−２は、ＣＰＵ、ＲＡＭ等の揮発性の記憶媒体、ＲＯＭ等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。情報探索装置１，２，・・・，Ｎに備えた制御部１０、通信部１１、装置情報格納部１２、ルーティングテーブル格納部１３、意思決定部１４、保有リソース格納部１５及び識別情報格納部１６の各機能、並びに、情報探索装置１−２，２−２，・・・，Ｎ−２に備えた制御部１０、通信部１１、装置情報格納部１２、ルーティングテーブル格納部１３、意思決定部１４、保有リソース格納部１５、識別情報格納部１６及び経路情報管理部１７の各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現される。また、これらのプログラムは、磁気ディスク（フロッピィーディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記憶媒体に格納して頒布することもできる。
【図面の簡単な説明】
【００６８】
【図１】本発明による情報探索装置及び当該情報探索装置を含むシステム（実施例１）の構成を示す図である。
【図２】実施例１の動作を説明する処理フロー図である。
【図３】図１の装置情報格納部、ルーティングテーブル格納部、意思決定部及び保有リソース格納部を説明する図である。
【図４】本発明による情報探索装置及び当該情報探索装置を含むシステム（実施例２）の構成を示す図である。
【図５】実施例２の動作を説明する処理フロー図である。
【符号の説明】
【００６９】
１〜Ｎ，１−２〜Ｎ−２  情報探索装置
１０  制御部
１１  通信部
１２  装置情報格納部
１３  ルーティングテーブル格納部
１４  意思決定部
１５  保有リソース格納部
１６  識別情報格納部
１７  経路情報管理部
１００，１００−２  オーバレイネットワーク
１０１，１０１−２  情報探索システム
１１１  利用者
【図１】
0004689541.tif 000002
【図２】
0004689541.tif 000003
【図３】
0004689541.tif 000004
【図４】
0004689541.tif 000005
【図５】
0004689541.tif 000006