(57)【特許請求の範囲】
【請求項１】
各種リソースを保持する１〜複数のリソース保持装置と、前記リソース保持装置が保持するリソースを示す文字列のハッシュ値に関連付けて当該リソースを保持するリソース保持装置を識別するリソース保持装置識別子が登録されるリソース管理テーブルを有する１〜複数のリソース管理装置と、前記リソース管理テーブルへの登録および削除を依頼する登録受付装置と、前記リソース保持装置が保持するリソースの中から所望のリソースを要求する１〜複数の利用者装置と、前記利用者装置からの要求によって前記リソース管理装置に検索を依頼する検索受付装置とが通信ネットワークを介してＰ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）通信を行うリソース検索システムにおいて、
前記利用者装置は、
利用者からの検索要求に含まれる検索文字列と自装置を識別するための利用者装置識別子を含むリソース検索要求を前記検索受付装置に送信してＤＨＴ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｈａｓｈ  Ｔａｂｌｅ）検索を要求するリソース検索要求部と、
前記ＤＨＴ検索の検索結果に所望のリソースが含まれていない場合、前記検索要求に含まれる検索文字列と前記利用者装置識別子を含む分配検索要求を前記各リソース保持装置に送信してマルチキャスト検索を要求する検索分配部と、
前記マルチキャスト検索の検索結果に含まれるリソース保持装置を識別するためのリソース保持装置識別子と前記検索文字列を含むリソース登録要求を前記登録受付装置に送信してリソース管理テーブルへの登録を要求するリソース登録要求部と、
を備え、
前記検索受付装置は、
ハッシュ関数を用いて前記リソース検索要求に含まれる検索文字列のハッシュ値を計算するハッシュ値計算部と、
前記ハッシュ値計算部によって計算されたハッシュ値を管理する前記リソース管理装置に、前記ハッシュ値と前記リソース検索要求に含まれる利用者装置識別子を含む検索依頼を送信する検索依頼部と、
を備え、
前記リソース管理装置は、
前記検索依頼に含まれるハッシュ値に関連付けて前記リソース管理テーブルに登録されているリソース保持装置識別子を前記ＤＨＴ検索の検索結果として前記検索依頼に含まれる利用者装置識別子が示す利用者装置に送信するとともに、前記登録受付装置からの登録依頼に含まれるハッシュ値に関連付けて前記リソース管理テーブルに前記登録依頼に含まれるリソース保持装置識別子を登録する登録管理部、
を備え、
前記リソース保持装置は、
前記分配検索要求に含まれる検索文字列を含むリソースを保持している場合に前記検索文字列および自身のリソース保持装置識別子を含むマルチキャスト検索の検索結果を前記分配検索要求に含まれる利用者装置識別子が示す利用者装置に送信するリソース検索部、
を備え、
前記登録受付装置は、
ハッシュ関数を用いて前記リソース登録要求に含まれる検索文字列のハッシュ値を計算するハッシュ値計算部と、
自装置のハッシュ値計算部が算出したハッシュ値と、前記リソース登録要求に含まれる検索文字列およびリソース保持装置識別子とを含む前記登録依頼を、自装置のハッシュ値計算部が算出したハッシュ値を管理するリソース管理装置に送信するリソース登録部、
を備えることを特徴とするリソース検索システム。
【請求項２】
各種リソースを保持する１〜複数のリソース保持装置と、前記リソース保持装置が保持するリソースを示す文字列のハッシュ値に関連付けて当該リソースを保持するリソース保持装置を識別するリソース保持装置識別子が登録されるリソース管理テーブルを有する１〜複数のリソース管理装置と、前記リソース管理テーブルへの登録および削除を依頼する登録受付装置と、前記リソース保持装置が保持するリソースの中から所望のリソースを要求する１〜複数の利用者装置と、前記利用者装置からの要求によって前記リソース管理装置に検索を依頼する検索受付装置とが通信ネットワークを介してＰ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）通信を行うリソース検索システムにおいて、
前記利用者装置は、
利用者からの検索要求に含まれる検索文字列と自装置を識別するための利用者装置識別子を含むリソース検索要求を前記検索受付装置に送信してＤＨＴ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｈａｓｈ  Ｔａｂｌｅ）検索を要求するリソース検索要求部と、
前記ＤＨＴ検索の検索結果に所望のリソースが含まれていない場合、前記検索要求に含まれる検索文字列と前記利用者装置識別子を含む分配検索要求を前記各リソース保持装置に送信してマルチキャスト検索を要求する検索分配部と、
を備え、
前記検索受付装置は、
ハッシュ関数を用いて前記リソース検索要求に含まれる検索文字列のハッシュ値を計算するハッシュ値計算部と、
前記ハッシュ値計算部によって計算されたハッシュ値を管理する前記リソース管理装置に、前記ハッシュ値と前記リソース検索要求に含まれる利用者装置識別子を含む検索依頼を送信する検索依頼部と、
を備え、
前記リソース管理装置は、
前記検索依頼に含まれるハッシュ値に関連付けて前記リソース管理テーブルに登録されているリソース保持装置識別子を前記ＤＨＴ検索の検索結果として前記検索依頼に含まれる利用者装置識別子が示す利用者装置に送信するとともに、前記登録受付装置からの登録依頼に含まれるハッシュ値に関連付けて前記リソース管理テーブルに前記登録依頼に含まれるリソース保持装置識別子を登録する登録管理部、
を備え、
前記リソース保持装置は、
前記分配検索要求に含まれる検索文字列を含むリソースを保持している場合には、前記検索文字列および自身のリソース保持装置識別子を含むマルチキャスト検索の検索結果を前記分配検索要求に含まれる利用者装置識別子が示す利用者装置に送信するリソース検索部と、
前記分配検索要求に含まれる検索文字列を含むリソースを保持している場合には、前記検索文字列および自身のリソース保持装置識別子を含むリソース登録要求を前記登録受付装置に送信してリソース管理テーブルへの登録を要求するリソース登録要求部と、
を備え、
前記登録受付装置は、
ハッシュ関数を用いて前記リソース登録要求に含まれる検索文字列のハッシュ値を計算するハッシュ値計算部と、
自装置のハッシュ値計算部が算出したハッシュ値と、前記リソース登録要求に含まれる検索文字列およびリソース保持装置識別子とを含む前記登録依頼を、自装置のハッシュ値計算部が算出したハッシュ値を管理するリソース管理装置に送信するリソース登録部、
を備えることを特徴とするリソース検索システム。
【請求項３】
前記リソース保持装置のリソース登録要求部は、
前記リソース管理テーブルに登録した検索文字列を含むリソースの状態が変化した場合には、前記登録した検索文字列および自身のリソース保持装置識別子を含むリソース削除要求を前記登録受付装置に送信してリソース管理テーブルからの削除を要求し、
前記登録受付装置のハッシュ値計算部は、
ハッシュ関数を用いて前記リソース削除要求に含まれる検索文字列のハッシュ値を計算し、
前記登録受付装置のリソース登録部は、
自装置のハッシュ値計算部が算出したハッシュ値と、前記リソース削除要求に含まれる検索文字列およびリソース保持装置識別子とを含む削除依頼を、自装置のハッシュ値計算部が算出したハッシュ値を管理するリソース管理装置に送信し、
前記リソース管理装置の登録管理部は、
前記削除依頼に含まれる検索文字列に関連付けて前記リソース管理テーブルに登録されている前記削除依頼に含まれるリソース保持装置識別子を削除すること、
を特徴とする請求項２に記載のリソース検索システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リソース技術に関するものであり、特に、通信ネットワークを介してＰ２Ｐ（Peer to Peer）通信を行う複数の装置を用いて、利用者から検索要求された所望のソースを検索するリソース検索システムに関するものである。
【背景技術】
【０００２】
コンテンツやＷｅｂ（World Wide Web）サービス、デバイスなど、インターネットなどの通信ネットワークを介して利用可能なリソースは、インデックス型の検索方法により検索されるのが一般的である。
【０００３】
インデックス型の検索方法とは、検索対象となる各リソースに１つ以上の検索語を付与し、各検索語ごとに各リソースの格納場所をインデックスとしてインデックスサーバで管理しておく方法で、検索要求時に指定された検索語のインデックスを参照すれば、所望のリソースの格納場所を確認できる。
【０００４】
また、通信ネットワークに接続された各装置がそれぞれ保有するリソースを検索する場合は、ＧｕｎｕｔｅｌｌａなどのＰ２Ｐ的検索方法も利用される。例えば、Ｇｎｕｔｅｌｌａは、複数の装置でリソースを共有するシステムであり、検索要求時には任意の装置に所望リソースの所有有無を問い合わせるとともに、そのとき他の装置への問合せも依頼する方法で、結果として所望リソースを所有する装置からの検索元のノードに対してそのリソースの所有が通知される。
【０００５】
ここで、動的に状態が変化するリソース、例えば、リソースの利用可否が変化するようなリソースを検索する場合、インデックス型の検索方法では、その状態変化を逐次インデックスサーバに通知して管理する必要があり、その通知が頻繁な場合、通信ネットワークのトラフィック面から見て問題が多い。そのため、動的に状態が変化するリソースについては、そのリソース保持装置に対して直接利用可否を問い合わせるＰ２Ｐ的検索方法が有効である。
【０００６】
しかしながら、このような従来のＰ２Ｐ的検索方法は、例えばＧｎｕｔｅｌｌａでは、各ノードに対して、Ｆｌｏｏｄｉｎｇ検索、すなわち受け取ったパケット以外の方向へ転送するアプリケーションレベルのブロードキャスト通信で、その検索内容を示すクエリ情報を各ノードに転送するため、高速検索ができず、スケーラビリティに欠けるという問題があった。
【０００７】
また、高速検索を実現するためには、例えばＤＨＴ（Distributed Hash Table）などの効率的な検索手段を利用する方法が考えられる。このＤＨＴとは、各装置が、リソースのキーのハッシュ値を分散して保持する方法であり、高速検索が可能である。しかしながら、ＤＨＴでは、ハッシュ値の算出にハッシュ関数を使用するため、正規表現を用いた柔軟な検索ができないという問題があった。
【０００８】
このような問題を改善するために、従来から種々の技術が考えられている。たとえば、特許文献１には、カテゴリに対するハッシュ値をＤＨＴで管理し、カテゴリ内のリソースをマルチキャスト検索で検索する技術が開示されている。
【０００９】
具体的には、リソース保持ピアが保持するリソースのカテゴリ、すなわち音楽やホテルなど当該リソースが持つ役割や種別を示す固定的な情報についてはＤＨＴ検索を行い、任意のカテゴリ内におけるステータス、すなわち頻繁に状態が変化する詳細情報については、マルチキャスト検索を用いることで、ＤＨＴ検索が持つ高速性と、マルチキャスト検索が持つ柔軟性とにより、互いの欠点を補ってＤＨＴ検索とマルチキャスト検索とを効果的に組み合わせることができ、Ｐ２Ｐ的検索方法で、柔軟かつ効率的なリソース検索を実現するようにしている。
【００１０】
【特許文献１】特開２００５−２３４８７８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記特許文献１に記載の従来技術では、各カテゴリ管理ピアで、各リソースのカテゴリと当該リソースのエンドポイント情報とを対応付けて、当該カテゴリから算出したハッシュ値毎に管理し、検索受付ピアで、利用者からの検索要求に応じて、所望のリソースのカテゴリと同じハッシュ値のカテゴリを管理するカテゴリ管理ピアに対して検索依頼を行い、カテゴリ管理ピアは、検索依頼で指定された所望のリソースのカテゴリに対応するエンドポイント情報のリソース保持ピアに対して詳細リソース検索要求を分配し、リソース保持ピアで、詳細リソース検索要求に応じて、自装置で保持しているリソースの内から所望のリソースを検索するようにしているため、カテゴリが一致しなければ所望のリソースを検索することができないという問題があった。
【００１２】
本発明は、上記に鑑みてなされたものであって、検索すべきカテゴリや文字列に依存することなく所望のリソースを高速に検索することができるリソース検索システムを得ることを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するために、本発明は、各種リソースを保持する１〜複数のリソース保持装置と、前記リソース保持装置が保持するリソースを示す文字列のハッシュ値に関連付けて当該リソースを保持するリソース保持装置を識別するリソース保持装置識別子が登録されるリソース管理テーブルを有する１〜複数のリソース管理装置と、前記リソース管理テーブルへの登録および削除を依頼する登録受付装置と、前記リソース保持装置が保持するリソースの中から所望のリソースを要求する１〜複数の利用者装置と、前記利用者装置からの要求によって前記リソース管理装置に検索を依頼する検索受付装置とが通信ネットワークを介してＰ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）通信を行うリソース検索システムにおいて、前記利用者装置は、利用者からの検索要求に含まれる検索文字列と自装置を識別するための利用者装置識別子を含むリソース検索要求を前記検索受付装置に送信してＤＨＴ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｈａｓｈ  Ｔａｂｌｅ）検索を要求するリソース検索要求部と、前記ＤＨＴ検索の検索結果に所望のリソースが含まれていない場合、前記検索要求に含まれる検索文字列と前記利用者装置識別子を含む分配検索要求を前記各リソース保持装置に送信してマルチキャスト検索を要求する検索分配部と、前記マルチキャスト検索の検索結果に含まれるリソース保持装置を識別するためのリソース保持装置識別子と前記検索文字列を含むリソース登録要求を前記登録受付装置に送信してリソース管理テーブルへの登録を要求するリソース登録要求部と、を備え、前記検索受付装置は、ハッシュ関数を用いて前記リソース検索要求に含まれる検索文字列のハッシュ値を計算するハッシュ値計算部と、前記ハッシュ値計算部によって計算されたハッシュ値を管理する前記リソース管理装置に、前記ハッシュ値と前記リソース検索要求に含まれる利用者装置識別子を含む検索依頼を送信する検索依頼部と、を備え、前記リソース管理装置は、前記検索依頼に含まれるハッシュ値に関連付けて前記リソース管理テーブルに登録されているリソース保持装置識別子を前記ＤＨＴ検索の検索結果として前記検索依頼に含まれる利用者装置識別子が示す利用者装置に送信するとともに、前記登録受付装置からの登録依頼に含まれるハッシュ値に関連付けて前記リソース管理テーブルに前記登録依頼に含まれるリソース保持装置識別子を登録する登録管理部、を備え、前記リソース保持装置は、前記分配検索要求に含まれる検索文字列を含むリソースを保持している場合に前記検索文字列および自身のリソース保持装置識別子を含むマルチキャスト検索の検索結果を前記分配検索要求に含まれる利用者装置識別子が示す利用者装置に送信するリソース検索部、を備え、前記登録受付装置は、ハッシュ関数を用いて前記リソース登録要求に含まれる検索文字列のハッシュ値を計算するハッシュ値計算部と、自装置のハッシュ値計算部が算出したハッシュ値と、前記リソース登録要求に含まれる検索文字列およびリソース保持装置識別子とを含む前記登録依頼を、自装置のハッシュ値計算部が算出したハッシュ値を管理するリソース管理装置に送信するリソース登録部、を備えることを特徴とする。
【発明の効果】
【００１４】
この発明によれば、最初の検索要求については、リソース保持装置が保持するリソースを示す文字列のハッシュ値に関連付けて当該リソースを保持するリソース保持装置を識別するリソース保持装置識別子が登録されるリソース管理テーブルを用いたＤＨＴ検索を行い、このＤＨＴ検索で所望のリソースを得ることができなかったために入力された２回目の検索要求については、すべてのリソース保持装置が保持しているリソースをマルチキャスト検索するようにしているので、Ｐ２Ｐ的検索方法において、検索すべきカテゴリや文字列に依存することなく所望のリソースを高速に検索することができるリソース検索システムを得ることができるという効果を奏する。
【００１５】
また、マルチキャスト検索によって得られたリソースに関する情報をリソース管理テーブルに登録するようにしているため、つぎに同じ文字列で検索要求した場合には、ＤＨＴ検索で所望のリソースを得ることができるようになり、Ｐ２Ｐ的検索方法で、ＤＨＴ検索の高速性を生かした効率的なリソース検索システムを得ることができると言う効果を奏する。
【発明を実施するための最良の形態】
【００１６】
以下に、本発明にかかるリソース検索システムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１７】
実施の形態．
図１は、この実施の形態のリソース検索システムの構成を示すブロック図である。図１において、リソース検索システムは、１〜複数（この場合は２台）のリソース保持装置１（１ａ，１ｂを示す）と、登録受付装置２と、１〜複数（この場合は２台）のリソース管理装置３（３ａ，３ｂを示す）と、１〜複数（この場合は２台）の利用者装置４（４ａ，４ｂを示す）と、検索受付装置５とが、通信ネットワーク９によって接続され、それぞれ通信可能となっている。
【００１８】
この実施の形態のリソース検索システムは、リソース保持装置１が保持するリソースについて、最初はＤＨＴ（Distributed Hash Table）検索を行い、ＤＨＴ検索で所望のリソースが検索できなかった場合に、マルチキャスト検索を行う。そして、マルチキャスト検索によって得られたリソースを登録することでつぎの検索においてはＤＨＴ検索で所望のリソースを検索可能にする。
【００１９】
リソース保持装置１は、コンテンツやＷｅｂ（World Wide Web）サービス、デバイスなど、通信ネットワーク９を介して利用可能なリソースを保持するとともに、登録受付装置２に、リソース管理装置３が管理している自装置が保持するリソースに関する情報の登録または削除を要求する。
【００２０】
リソース保持装置１は、リソース登録要求部１１と、リソース検索部１２と、リソース格納部１３と、通信インタフェース部１４とを備えている。リソース格納部１３は、各種リソースを格納する。通信インタフェース部１４は、通信ネットワーク９のインタフェース機能を有しており、通信ネットワーク９を介して各装置２〜４とのＰ２Ｐ通信を実現する。
【００２１】
リソース登録要求部１１は、通信インタフェース部１４を介してリソース登録要求を登録受付装置２に送信して、自装置のリソース格納部１３に格納されているリソースを示すリソース文字列の登録を登録受付装置２に要求する。リソース登録要求部１１は、自装置のリソース格納部に格納されているリソースの状態の変化を検出し、通信インタフェース部１４を介してリソース削除要求を登録受付装置２に送信して、状態が変化したリソースの削除を登録受付装置２に要求する。また、リソース検索部１２は、通信インタフェース部１４を介して利用者装置４からの分配検索要求を受信すると、リソース格納部１３に格納されているリソースを検索し、通信インタフェース部１４を介して検索結果を利用者装置４に通知する。
【００２２】
登録受付装置２は、リソース保持装置１、または利用者装置４からのリソース登録要求によって、登録要求されたリソースの登録を当該リソースから計算したハッシュ値に対応するリソース管理装置３に依頼する。登録受付装置２は、リソース保持装置１からのリソース削除要求に応じて、削除要求されたリソースの削除を当該リソースから計算したハッシュ値に対応するリソース管理装置３に依頼する。
【００２３】
登録受付装置２は、ハッシュ値計算部２１と、リソース登録部２２と、ハッシュ値・リソース管理装置対応テーブル２３と、通信インタフェース部２４とを備えている。通信インタフェース部２４は、通信ネットワーク９のインタフェース機能を有しており、通信ネットワーク９を介して各装置１，３，４とのＰ２Ｐ通信を実現する。ハッシュ値・リソース管理装置対応テーブル２３には、ハッシュ値に関連付けて当該ハッシュ値に関する情報を管理するリソース管理装置３が登録される。
【００２４】
ハッシュ値計算部２１は、通信インタフェース部２４を介してリソース保持装置１または利用者装置４からのリソース登録要求を受信すると、リソース登録要求によって要求されたリソース文字列のハッシュ値をハッシュ関数を用いて計算する。また、ハッシュ計算部２１は、通信インタフェース部２４を介してリソース保持装置１からのリソース削除要求を受信すると、リソース削除要求によって要求されたリソース文字列のハッシュ値をハッシュ関数を用いて計算する。なお、ハッシュ関数は、入力データ（文字列）からある一定範囲の数値を算出する関数であり、同一文字列からは常に同じハッシュ値を生成する。換言すれば、ハッシュ関数は、異なる文字列からは異なるハッシュ値を生成する。すなわち、ハッシュ値計算部２１は、登録または削除要求されたリソースを示すリソース文字列を数値に変換する。
【００２５】
リソース登録部２２は、ハッシュ値計算部２１によって計算されたハッシュ値およびハッシュ値・リソース管理装置対応テーブル２３に基づいて、当該ハッシュ値に関する情報を管理するリソース管理装置３を選択する。リソース登録部２２は、通信インタフェース部２４を介して選択したリソース管理装置３に、登録要求されたリソース、当該リソースを保持するリソース保持装置１を識別するためのリソース保持装置識別子（たとえば、ＩＰアドレス）などを含むエンドポイント情報、およびハッシュ値計算部２１で計算したハッシュ値を含むリソース登録依頼を送信して、リソース管理装置３にリソースの登録を依頼する。
【００２６】
また、リソース登録部２２は、通信インタフェース部２４を介して選択したリソース管理装置３に、削除要求されたリソース、当該リソースを保持するリソース保持装置１を識別するためのリソース保持装置識別子（たとえば、ＩＰアドレス）などを含むエンドポイント情報、およびハッシュ値計算部２１で計算したハッシュ値を含むリソース削除依頼を送信して、リソース管理装置３にリソースの削除を依頼する。
【００２７】
リソース管理装置３は、ハッシュ値に関連する情報を管理するとともに、検索受付装置５からの検索依頼に応じてＤＨＴ検索を行う。リソース管理装置３は、登録管理部３１と、リソース管理テーブル３２と、通信インタフェース部３３とを備えている。通信インタフェース部３３は、通信ネットワーク９のインタフェース機能を有しており、通信ネットワーク９を介して各装置１，２，４，５とのＰ２Ｐ通信を実現する。
【００２８】
リソース管理テーブル３２には、ハッシュ値に関連する情報が登録される。図２は、リソース管理テーブル３２の登録項目を示している。図２において、リソース管理テーブル３２の登録項目として、ハッシュ値が登録されるハッシュ値情報と、ハッシュ値情報に登録されたハッシュ値が示すリソース文字列が登録されるリソース情報と、リソース情報に登録されたリソース文字列が示すリソースを保持するリソース保持装置１のエンドポイント情報が登録されるエンドポイント情報とを挙げている。ハッシュ値情報、リソース情報、およびエンドポイント情報はそれぞれ関連付けられている。
【００２９】
図１に戻って、登録管理部３１は、通信インタフェース部３３を介して登録受付装置２からのリソース登録依頼を受信すると、登録依頼されたリソース文字列およびエンドポイント情報をハッシュ値に関連付けてリソース管理テーブル３２に登録する。登録管理部３１は、通信インタフェース部３３を介して登録受付装置２からのリソース削除依頼を受信すると、削除依頼されたハッシュ値に関連付けて登録されているリソース文字列およびエンドポイント情報をリソース管理テーブル３２から削除する。また、登録管理部３１は、通信インタフェース部３３を介して検索受付装置５からのリソース検索依頼を受信すると、リソース管理テーブル３２を検索し、通信インタフェース部３３を介してリソース検索要求に含まれる利用者装置４に検索結果を通知する。
【００３０】
利用者装置４は、利用者からの検索要求によって要求されたリソースの検索を検索受付装置５またはリソース保持装置１に要求するとともに、リソース管理装置３またはリソース保持装置１からの検索結果を表示する。また、利用者装置４は、リソース保持装置１からの検索結果に基づいて、登録受付装置２に、リソース管理装置３が管理しているリソースに関する情報の登録を要求する。
【００３１】
利用者装置４は、リソース検索要求部４１、リソース表示部４２、検索分配部４３、リソース登録要求部４４、および通信インタフェース部４５を備えている。通信インタフェース部４５は、通信ネットワーク９のインタフェース機能を有しており、通信ネットワーク９を介して各装置１〜３，５とのＰ２Ｐ通信を実現する。
【００３２】
リソース検索要求部４１は、利用者が所望のリソースを検索するために入力手段（図示せず）を用いて入力した任意の文字列を含む検索要求に基づいて、クエリ情報（検索すべき文字列の情報、以下検索文字列ということがある）を生成する。リソース検索要求部４１は、自装置を識別するための利用者装置識別子（たとえば、ＩＰアドレス）などを含むエンドポイント情報、および生成したクエリ情報を含むリソース検索要求を、通信インタフェース部４５を介して検索受付装置５に送信して、利用者から要求されたリソースの検索を検索受付装置５に要求する。すなわち、リソース検索要求部４１は、ＤＨＴ検索によるリソースの検索を要求する。
【００３３】
リソース表示部４２は、通信インタフェース部４５を介してリソース管理装置３またはリソース保持装置１から受信した検索結果を表示する。検索分配部４３は、リソース表示部４２がリソース検索要求部４１が依頼したリソースの検索結果（ＤＨＴ検索結果）を表示した際に、利用者が、再度入力手段を用いて検索要求（マルチキャスト検索要求）した場合に、ユーザが入力した任意の文字列に基づいてクエリ情報を生成する。検索分配部４３は、自装置を識別するための利用者装置識別子（たとえば、ＩＰアドレス）などを含むエンドポイント情報、および生成したクエリ情報を含むリソース検索要求を、通信インタフェース部４５を介してリソース保持装置１に送信して、利用者から要求されたリソースの検索をリソース保持装置１に要求する。すなわち、検索分配部４３は、マルチキャスト検索によるリソースの検索を要求する。
【００３４】
リソース登録要求部４４は、リソース保持装置１からの検索結果（マルチキャスト検索結果）よって得られたリソースを保持するリソース保持装置１のエンドポイント情報、および検索分配部４３によって生成されたクエリ情報を含むリソース登録要求を、通信インタフェース部４５を介して登録受付装置２に送信して、マルチキャスト検索によって得られた検索結果のリソースの登録を登録受付装置２に要求する。
【００３５】
検索受付装置５は、利用者装置４からのリソース検索要求によって、検索要求されたリソースの検索を当該リソースから計算したハッシュ値に対応するリソース管理装置３に依頼する。検索受付装置５は、ハッシュ値計算部５１と、検索依頼部５２と、ハッシュ値・リソース管理装置対応テーブル５３と、通信インタフェース部５４とを備えている。
【００３６】
通信インタフェース部５４は、通信ネットワーク９のインタフェース機能を有しており、通信ネットワーク９を介して各装置１〜４とのＰ２Ｐ通信を実現する。ハッシュ値・リソース管理装置対応テーブル５３は、登録受付装置２のハッシュ値・リソース管理装置対応テーブル２３と同じ内容であり、ハッシュ値に関連付けて当該ハッシュ値に関する情報を管理するリソース管理装置３が登録される。
【００３７】
ハッシュ値計算部５１は、通信インタフェース部５４を介して利用者装置４からのリソース検索要求を受信すると、リソース検索要求によって要求された検索文字列のハッシュ値をハッシュ関数を用いて計算する。
【００３８】
検索依頼部５２は、ハッシュ値計算部５１によって計算されたハッシュ値およびハッシュ値・リソース管理装置対応テーブル５３に基づいて、当該ハッシュ値に関する情報を管理するリソース管理装置３を選択する。検索依頼部５２は、通信インタフェース部５４を介して選択したリソース管理装置３に利用者装置４からのリソース検索要求に含まれるエンドポイント情報と、ハッシュ値計算部５１によって計算されたハッシュ値とを含む検索依頼を送信して、リソース検索要求によって検索要求されたリソースのＤＨＴ検索をリソース管理装置３に依頼する。
【００３９】
つぎに、図１〜図６を参照して、この実施の形態１のリソース検索システムの動作を説明する。まず、図３のシーケンス図を参照して、リソース保持装置１がリソース管理装置３にリソースを登録するリソース登録処理の動作について説明する。
【００４０】
リソース保持装置１がリソース管理装置３にリソースを登録するリソース登録処理は、予め定められた周期毎、入力手段（図示せず）を介してオペレータからの指示を受けた場合、リソース格納部１３に新たにリソースが格納された場合、または利用者装置４からのリソース検索要求によってリソースの検索を実行した後に実行される。
【００４１】
リソース保持装置１のリソース登録要求部１１は、自装置のＩＰアドレスを含むエンドポイント情報、および登録を要求するリソースを示すリソース文字列（登録文字列）を含むリソース登録要求を生成する。リソース登録要求部１１は、生成したリソース登録要求を登録受付装置２に送信する（ステップＳ１００）。
【００４２】
登録受付装置２のハッシュ値計算部２１は、リソース登録要求に含まれる登録文字列のハッシュ値をハッシュ関数によって計算する（ステップＳ１０１）。登録受付装置２のリソース登録部２２は、ハッシュ値計算部２１によって計算されたハッシュ値に関連付けてハッシュ値・リソース管理装置対応テーブル２３に登録されているリソース管理装置３を登録先となるリソース管理装置３として選択する（ステップＳ１０２）。リソース登録部２２は、リソース登録要求に含まれる登録文字列およびエンドポイント情報と、ハッシュ値とを含むリソース登録依頼を生成する。リソース登録部２２は、生成したリソース登録依頼を選択したリソース管理装置３に送信する（ステップＳ１０３）。
【００４３】
リソース登録依頼を受信したリソース管理装置３の登録管理部３１は、リソース登録依頼に含まれる登録文字列、エンドポイント情報、およびハッシュ値を、ハッシュ値に関連付けて自装置のリソース管理テーブル３２に登録する（ステップＳ１０４）。具体的には、登録管理部３１は、登録文字列をリソース管理テーブル３２のリソース情報に登録し、エンドポイント情報をリソース管理テーブル３２のエンドポイント情報に登録し、ハッシュ値をリソース管理テーブル３２のハッシュ値情報に登録する。
【００４４】
リソース管理装置３へのリソースの登録は、利用者装置４からも実行することができる。利用者装置４からリソース管理装置３へのリソース登録処理は、後述するリソース検索処理において、マルチキャスト検索によってリソース保持装置１から検索結果を得た場合に利用者装置４のリソース登録要求部４４によって実行される。なお、利用者装置４からリソース管理装置３へのリソース登録処理の動作は、先の図３のシーケンス図を参照して説明したリソース保持装置１からリソース管理装置３へのリソース登録処理の動作とほぼ同じである。相違点は、リソース保持装置１からリソース管理装置３へのリソース登録処理は、自装置のＩＰアドレスを含むエンドポイント情報と登録文字列とを含むリソース登録要求を登録受付装置２に送信するのに対して、利用者装置４からリソース管理装置３へのリソース登録処理は、登録文字列が示すリソースを保持するリソース保持装置１のＩＰアドレスを含むエンドポイント情報と登録文字列とを含むリソース登録要求を登録受付装置２に送信することである。
【００４５】
つぎに、図４のシーケンス図を参照して、リソース保持装置１がリソース管理装置３からリソースを削除するリソース削除処理の動作について説明する。リソース削除処理は、リソースの状態が変化した場合に実行される。たとえば、先の図３のシーケンス図を参照して説明したリソース登録処理によってリソース管理装置３に登録したリソースを管理しておき、リソース格納部１３に格納されているリソースの状態を監視して、リソースの状態の変化を検出した際に、状態が変化したリソースがリソース管理装置３に登録されているリソースであるか否かを判断し、リソース管理装置３に登録されているリソースである場合に、リソース削除処理を実行する。
【００４６】
リソース保持装置１のリソース登録要求部１１は、自装置のＩＰアドレスを含むエンドポイント情報、および削除を要求するリソースを示すリソース文字列（削除文字列）をふぃ組むリソース削除要求を生成する。リソース登録要求部１１は、生成したリソース削除要求を登録受付装置２に送信する（ステップＳ２００）。削除すべきリソース削除要求を登録受付装置２に送信して、当該リソースの削除を登録受付装置２に要求する。
【００４７】
登録受付装置２のハッシュ値計算部２１は、リソース削除要求に含まれる削除文字列のハッシュ値をハッシュ関数によって計算する（ステップＳ２０１）。登録受付装置２のリソース登録部２２は、ハッシュ値計算部２１によって計算されたハッシュ値に関連付けてハッシュ値・リソース管理装置対応テーブル２３に登録されているリソース管理装置３を削除先となるリソース管理装置３として選択する（ステップＳ２０２）。リソース登録部２２は、リソース削除要求に含まれる削除文字列およびエンドポイント情報と、ハッシュ値とを含むリソース削除依頼を生成する。リソース登録部２２は、生成したリソース削除依頼を選択したリソース管理装置３に送信する（ステップＳ２０３）。
【００４８】
リソース削除要求を受信したリソース管理装置３の登録管理部３１は、リソース削除要求に含まれる削除文字列、エンドポイント情報、およびハッシュ値を自装置のリソース管理テーブル３２から削除する（ステップＳ２０４）。具体的には、登録管理部３１は、ハッシュ値およびエンドポイント情報を検索キーとして自装置のリソース管理テーブル３２のハッシュ値情報およびエンドポイント情報を検索し、検索キーと一致したハッシュ値情報に関連付けられたリソース情報およびエンドポイント情報を削除する。
【００４９】
つぎに、図５および図６のシーケンス図を参照して、この実施の形態のリソース検索システムのリソース検索処理の動作について説明する。まず、図５のシーケンス図を参照して、検索結果に応じて利用者装置４がリソースの登録を行う場合のリソース検索処理の動作について説明する。
【００５０】
利用者装置４のリソース検索要求部４１は、利用者が所望のリソースを検索するために入力手段を用いて入力した任意の文字列を含む検索要求に基づいて、クエリ情報（検索すべき文字列の情報、以下検索文字列ということがある）を生成する（ステップＳ１１０）。リソース検索要求部４１は、自装置を識別するための利用者装置識別子（たとえば、ＩＰアドレス）などを含むエンドポイント情報（ＥＰ）、および生成したクエリ情報（検索文字列）を含むリソース検索要求を生成する。リソース検索要求部４１は、生成したリソース検索要求を検索受付装置５に送信する（ステップＳ１１１）。すなわち、リソース検索要求部４１は、ＤＨＴ検索によるリソースの検索を要求する。
【００５１】
検索受付装置５のハッシュ値計算部５１は、リソース検索要求に含まれる検索文字列のハッシュ値をハッシュ関数によって計算する（ステップＳ１１２）。検索受付装置５の検索依頼部５２は、ハッシュ値計算部５１によって計算されたハッシュ値に関連付けてハッシュ値・リソース管理装置対応テーブル５３に登録されているリソース管理装置３を登録先となるリソース管理装置３として選択する（ステップＳ１１３）。検索依頼部５２は、リソース検索要求に含まれるエンドポイント情報と、ハッシュ値計算部５１によって計算されたハッシュ値とを含む検索依頼を生成する。検索依頼部５２は、生成した検索依頼を選択したリソース管理装置３に送信する（ステップＳ１１４）。すなわち、検索依頼部５２は、リソース検索要求によって検索要求された検索文字列が示すリソースのＤＨＴ検索をリソース管理装置３に依頼する。
【００５２】
検索依頼を受けたリソース管理装置３の登録管理部３１は、検索依頼に含まれるハッシュ値に基づいてリソース管理テーブル３２を検索して、検索依頼に含まれるハッシュ値が示す文字列が示すリソースを保持するリソース保持装置１を選択する（ステップＳ１１５）。具体的には、登録管理部３１は、検索依頼に含まれるハッシュ値を検索キーとしてリソース管理テーブル３２のハッシュ値情報を検索し、検索キーと一致するハッシュ値情報に関連付けられたリソース情報に登録されているリソース文字列とエンドポイント情報に登録されているエンドポイント情報の組をすべて抽出する。抽出したエンドポイント情報が示すリソース保持装置１が選択したリソース保持装置１となる。
【００５３】
リソース管理装置３の登録管理部３１は、検索依頼に含まれたエンドポイント情報が示す利用者装置４に、抽出したリソース文字列およびエンドポイント情報の組すべてを含む検索結果を送信する（ステップＳ１１６）。なお、登録管理部３１は、検索キーと一致するハッシュ値を検出することができなかった場合には、ハッシュ値が示すリソース文字列が示すリソースが存在しないことを示す検索結果を送信する。
【００５４】
検索結果を受けると、利用者装置４のリソース表示部４２は、検索結果に基づいてリソース情報を表示する（ステップＳ１１７）。具体的には、リソース表示部４２は、検索結果にリソース文字列およびエンドポイント情報の組が含まれている場合には、リソース文字列およびエンドポイント情報をリソース情報として表示し、検索結果がリソースが存在しないことを示す場合には、リソースが存在しないことをリソース情報として表示する。
【００５５】
利用者は、利用者装置４のリソース表示部４２に表示されたリソース情報に所望のリソースが含まれているか否か判断する。表示されたリソース情報に所望のリソースが含まれていない場合、利用者は、入力手段を用いて任意の文字列を含む検索要求を再度入力する。
【００５６】
利用者装置４の検索分配部４３は、利用者が所望のリソースを検索するために再度入力手段を用いて入力した任意の文字列を含む検索要求に基づいてクエリ情報を生成する（ステップＳ１１８）。検索分配部４３は、自装置を識別するための利用者装置識別子（たとえば、ＩＰアドレス）などを含むエンドポイント情報（ＥＰ）、および生成したクエリ情報（検索文字列）を含むリソース検索要求を生成する。検索分配部４３は、生成した分配検索要求をすべてのリソース保持装置１に送信する（ステップＳ１１８）。すなわち、検索分配部４３は、マルチキャスト検索によるリソースの検索を要求する。
【００５７】
リソース保持装置１のリソース検索部１２は、分配検索要求に含まれる検索文字列に基づいてリソース格納部１３を検索して、検索文字列を含むリソースを抽出する（ステップＳ１１９）。リソース検索部１２は、検索文字列を含むリソースを抽出した場合には検索文字列をリソース文字列とし、自装置を識別するためのリソース保持装置識別子（たとえば、ＩＰアドレス）などを含むエンドポイント情報（ＥＰ）とリソース文字列とを含む検索結果を、検索文字列を含むリソースを抽出できなかった場合には検索文字列を含むリソースが存在しないことを示す検索結果を、分配検索要求に含まれるエンドポイント情報が示す利用者装置４に送信する（ステップＳ１２０）。
【００５８】
検索結果を受けると、利用者装置４のリソース表示部４２は、検索結果に基づいてリソース情報を表示する（ステップＳ１２１）。
【００５９】
利用者装置４のリソース表示部４２が１度目または２度目の検索要求の検索結果であるリソース情報を表示した際に（ステップＳ１１７またはステップＳ１２１）、表示されたリソース情報に所望のリソースが含まれている場合、利用者は、入力手段を用いて所望のリソースを選択する。リソース表示部４２が表示するリソース情報は、リソース管理装置３またはリソース保持装置１からの検索結果、すなわちリソース文字列および当該リソースを保持するリソース保持装置１のエンドポイント情報の組である。リソース表示部４２は、選択されたリソース文字列を検索文字列として含めたリソース要求を生成し、生成したリソース要求をリソース要求に含めた検索文字列と組となっているエンドポイント情報が示すリソース保持装置１に送信する（ステップＳ１２２）。
【００６０】
リソース要求を受けると、リソース保持装置１のリソース検索部１２は、リソース要求に含まれる検索文字列が示すリソースをリソース格納部１３から読み出し、読み出したリソースを含むリソース応答を、リソース要求に含まれるエンドポイント情報が示す利用者装置４に送信する（ステップＳ１２３）。利用者装置４は、リソース応答を受信する。これにより、利用者装置４は所望のリソースの利用が可能となる。
【００６１】
一方、利用者装置４のリソース登録要求部４４は、検索分配部４３が送信したリソース検索要求によって得られた検索結果、すなわちマルチキャスト検索によって得られた検索結果に含まれるリソース文字列が示すリソースをリソース管理装置３に登録するために、上述した利用者装置４からリソース管理装置３へのリソース登録処理を実行する。
【００６２】
利用者装置４のリソース登録要求部４４は、マルチキャスト検索によって得られた検索結果に含まれるリソース文字列、すなわち検索分配部４３が送信したリソース検索要求に含まれた検索文字列と、検索結果に含まれるエンドポイント情報とを含むリソース登録要求を登録受付装置２に送信する（ステップＳ１２４）。
【００６３】
登録受付装置２のハッシュ値計算部２１は、リソース登録要求に含まれる検索文字列のハッシュ値を計算する。登録受付装置２のリソース登録部２２は、ハッシュ値計算部２１によって計算されたハッシュ値に関連付けてハッシュ値・リソース管理装置対応テーブル２３に登録されているリソース管理装置３を登録先となるリソース管理装置３として選択する。リソース登録部２２は、リソース登録要求に含まれる検索文字列およびエンドポイント情報と、ハッシュ値とを含むリソース登録依頼を生成する。リソース登録部２２は、生成したリソース登録依頼を選択したリソース管理装置３に送信する（ステップＳ１２５）。
【００６４】
リソース登録依頼を受信したリソース管理装置３の登録管理部３１は、リソース登録依頼に含まれる登録文字列、エンドポイント情報、およびハッシュ値を、ハッシュ値に関連付けて自装置のリソース管理テーブル３２に登録する。
【００６５】
これにより、マルチキャスト検索によって得られたリソースに関する情報が新たにリソース管理装置３のリソース管理テーブル３２に登録される。たとえば、先の図２に示したリソース管理テーブル３２において、リソース文字列が「曲名Ａアーチスト名形式」のハッシュ値は「１」であり、リソース文字列が「曲名Ｂアーチスト名形式」のハッシュ値は「２」であり、リソース文字列が「題名Ｃ監督名形式」のハッシュ値は「３」である。検索文字列「曲名Ａ」のハッシュ値は「１」、「２」、「３」とは異なる値となるため、ＤＨＴ検索においては、「曲名Ａ」という検索文字列で「曲名Ａ」を含む「曲名Ａアーチスト名形式」のリソース文字列を検出することはできない。すなわち、「曲名Ａアーチスト名形式」が示すリソースを保持しているリソース保持装置１を検出することができない。そのため、検索文字列「曲名Ａ」でマルチキャスト検索を実行して「曲名Ａ」が示すリソースを保持しているリソース保持装置１を検出し、「曲名Ａ」をリソース文字列とし、このリソース文字列が示すリソース保持装置１の情報（「曲名Ａ」から計算されたハッシュ値に対応付けてリソース文字列「曲名Ａ」、エンドポイント情報「リソース保持装置１＃１」）が、「曲名Ａ」から算出されたハッシュ値を管理するリソース管理装置３のリソース管理テーブル３２に登録する。
【００６６】
他の利用者が、検索文字列「曲名Ａ」で検索要求を行った場合、利用者装置４のリソース検索要求部４１が、検索文字列「曲名Ａ」のリソース検索要求を検索受付装置５に送信し（ステップＳ１２６）、検索受付装置５のハッシュ値計算部５１が検索文字列「曲名Ａ」のハッシュ値を算出し、検索受付装置５の検索依頼部５２が、検索文字列「曲名Ａ」のハッシュ値を含む検索依頼をリソース管理装置３に送信する（ステップＳ１２７）。この場合、検索文字列「曲名Ａ」のハッシュ値に関連付けてリソース文字列およびエンドポイント情報がリソース管理装置３のリソース管理テーブル３２に登録されているので、リソース管理装置３は、リソース文字列「曲名Ａ」およびエンドポイント情報「リソース保持装置１＃１」を含む検索結果を利用者装置４に送信する（ステップＳ１２８）。すなわち、マルチキャスト検索によって得られた検索結果をリソース管理装置３のリソース管理テーブル３２に登録することで、後に同一の検索文字列による検索が要求された場合にＤＨＴ検索で検索結果が得られるようになる。
【００６７】
つぎに、図６のシーケンス図を参照して、検索結果に応じてリソース保持装置１がリソースの登録を行う場合のリソース検索処理の動作について説明する。先の図５を参照して説明した検索結果に応じて利用者装置４がリソースの登録を行う場合のリソース検索処理の動作と同じ動作については、同一符号を付しその詳細な説明は省略する。
【００６８】
利用者装置４は、利用者が所望のリソースを検索するために入力手段を用いて入力した任意の文字列を含む検索要求に基づいてクエリ情報（検索文字列）を生成し、エンドポイント情報および検索文字列を含むリソース検索要求を検索受付装置５に送信する（ステップＳ１１０，Ｓ１１１）。
【００６９】
検索受付装置５は、リソース検索要求に含まれる検索文字列のハッシュ値を計算し、計算したハッシュ値を管理するリソース管理装置３に、計算したハッシュ値およびリソース検索要求に含まれるエンドポイント情報を含む検索依頼を送信する（ステップＳ１１２からＳ１１４）。
【００７０】
リソース管理装置３は、検索依頼に含まれるハッシュ値に基づいてリソース管理テーブル３２を検索して、ハッシュ値に関連付けられたリソース文字列とエンドポイント情報の組をすべて抽出し、抽出したリソース文字列とエンドポイント情報の組を含む検索結果を検索依頼に含まれるエンドポイント情報が示す利用者装置４に送信する（ステップＳ１１５，Ｓ１１６）。
【００７１】
利用者装置４は、検索結果に基づいてリソース情報を表示する（ステップＳ１１７）。利用者装置４は、入力手段を用いて任意の文字列（検索文字列）を含む検索要求が再度入力された場合、任意の文字列を含む検索要求に基づいてクエリ情報（検索文字列）を生成し、エンドポイント情報および検索文字列を含むリソース検索要求をリソース保持装置１に送信する（ステップＳ１１８）。
【００７２】
リソース保持装置１は、分配検索要求に含まれる検索文字列に基づいてリソース格納部１３を検索して、検索文字列を含むリソースを抽出し、検索文字列をリソース文字列とし、自装置を識別するためのリソース保持装置識別子（たとえば、ＩＰアドレス）などを含むエンドポイント情報（ＥＰ）とリソース文字列とを含む検索結果を配検索要求に含まれるエンドポイント情報が示す利用者装置４に送信する（ステップ，Ｓ１１９，Ｓ１２０）。
【００７３】
リソース保持装置１のリソース登録要求部１１は、先の図３のシーケンス図を参照して説明したリソース保持装置１からリソース管理装置３へのリソース登録処理を実行する。リソース保持装置１のリソース登録要求部１１は、リソース登録要求に含まれる検索文字列を登録文字列とし、登録文字列と自装置を識別するためのリソース保持装置識別子（たとえば、ＩＰアドレス）を含むエンドポイント情報とを含むリソース登録要求を登録受付装置２に送信する（ステップＳ１２９）。
【００７４】
登録受付装置２は、リソース登録要求に含まれる検索文字列のハッシュ値を計算し、計算したハッシュ値を管理するリソース管理装置３に、リソース登録要求に含まれる検索文字列およびエンドポイント情報と、計算したハッシュ値とを含むリソース登録依頼を送信する（ステップＳ１３０）。
【００７５】
リソース登録依頼を受信したリソース管理装置３の登録管理部３１は、リソース登録依頼に含まれる登録文字列、エンドポイント情報、およびハッシュ値を、ハッシュ値に関連付けて自装置のリソース管理テーブル３２に登録する。
【００７６】
一方、利用者装置４が１度目または２度目の検索要求の検索結果であるリソース情報を表示した際に（ステップＳ１１７またはステップＳ１２１）、表示されたリソース情報に所望のリソースが含まれている場合、利用者は、入力手段を用いて所望のリソースを選択する。利用者装置４は、選択されたリソース文字列を検索文字列として含めたリソース要求を生成し、生成したリソース要求をリソース要求に含めた検索文字列と組となっているエンドポイント情報が示すリソース保持装置１に送信する（ステップＳ１２２）。
【００７７】
リソース要求を受けると、リソース保持装置１は、リソース要求に含まれる検索文字列が示すリソースを含むリソース応答を、リソース要求に含まれるエンドポイント情報が示す利用者装置４に送信する（ステップＳ１２３）。利用者装置４は、リソース応答を受信する。これにより、利用者装置４は所望のリソースの利用が可能となる。
【００７８】
このようにこの実施の形態においては、最初の検索要求については、リソース保持装置１が保持するリソースを示す文字列のハッシュ値に関連付けて当該リソースを保持するリソース保持装置１を識別するリソース保持装置識別子が登録されるリソース管理テーブル３２を用いたＤＨＴ検索を行い、このＤＨＴ検索で所望のリソースを得ることができなかったために入力された２回目の検索要求については、すべてのリソース保持装置１が保持しているリソースをマルチキャスト検索するようにしているので、Ｐ２Ｐ的検索方法において、検索すべきカテゴリや文字列に依存することなく所望のリソースを高速に検索することができる。
【００７９】
また、この実施の形態においては、マルチキャスト検索によって得られたリソースに関する情報をリソース管理テーブル３２に登録するようにしているため、つぎに同じ文字列で検索要求した場合には、ＤＨＴ検索で所望のリソースを得ることができるようになり、Ｐ２Ｐ的検索方法で、ＤＨＴ検索の高速性を生かした検索を行うことができる。
【００８０】
さらに、この実施の形態においては、リソース保持装置１が保持するリソースの状態が変化した場合、すなわちデータの変化などによって所有リソースが、リソース管理テーブル３２に登録済みのリソース文字列を満たさなくなった場合、リソース管理テーブル３２から該当リソースを削除するようにしているため、リソースの状態とリソース管理テーブル３２の整合性を維持し、ＤＨＴ検索による検索結果を正しく保つことができる。
【００８１】
なお、この実施の形態では、登録受付装置２のリソース登録部２２および検索受付装置５の検索依頼部５２は、ハッシュ値・リソース管理装置対応テーブル２３およびハッシュ値・リソース管理装置対応テーブル５３を用いてリソース管理装置３を選択するようにしたが、ハッシュ値から当該ハッシュ値に対応付けられたリソース管理装置３のＩＰアドレスが得られる演算によってリソース管理装置３を選択するようにしてもよい。
【００８２】
また、この実施の形態のリソース保持装置１、登録受付装置２、リソース管理装置３、利用者装置４、および検索受付装置５を、サーバ装置やパーソナルコンピュータ端末などの情報処理装置で構成し、制御部としてＣＰＵおよびその周辺回路を有し、予め記憶するプログラムを読み込んで実行することにより、これらハードウェアとプログラムを協働させて各種機能を実現するようにしてもよい。
【産業上の利用可能性】
【００８３】
以上のように、本発明にかかるリソース検索システムは、複数の装置に保持されているリソースを検索するリソース検索システムに有用であり、特に、Ｐ２Ｐ通信によってリソースを検索する場合に適している。
【図面の簡単な説明】
【００８４】
【図１】この発明のリソース検索システムの構成を示す図である。
【図２】図１に示したリソース管理装置のリソース管理テーブルの構成を示す図である。
【図３】この発明のリソース検索システムのリソース登録処理の動作を説明するためのシーケンス図である。
【図４】この発明のリソース検索システムのリソース削除処理の動作を説明するためのシーケンス図である。
【図５】この発明のリソース検索システムのリソース検索処理の動作を説明するためのシーケンス図である。
【図６】この発明のリソース検索システムのリソース検索処理の動作を説明するためのシーケンス図である。
【符号の説明】
【００８５】
１ａ，１ｂ  リソース保持装置
２  登録受付装置
３ａ，３ｂ  リソース管理装置
４  利用者装置
５  検索受付装置
１１，４４  リソース登録要求部
１２  リソース検索部
１３  リソース格納部
１４，２４，３３，４５，５４  通信インタフェース部
２１，５１  ハッシュ値計算部
２２  リソース登録部
２３，５３  ハッシュ値・リソース管理装置対応テーブル
３１  登録管理部
３２  リソース管理テーブル
４１  リソース検索要求部
４２  リソース表示部
４３  検索分配部
５２  検索依頼部
【図１】
0004828315.tif 000002
【図２】
0004828315.tif 000003
【図３】
0004828315.tif 000004
【図４】
0004828315.tif 000005
【図５】
0004828315.tif 000006
【図６】
0004828315.tif 000007