(57)【要約】【課題】分散型検索システムにおいて、最適なノード選択を行う技術を提供する。【解決手段】分散型検索システムを構成するノードは、メタデータを有する少なくとも一つの検索対象データを記憶するメタデータデータベースと、メタデータが指定された要求を受けメタデータを記憶する受付手段と、前記受付手段により受けられた検索の要求において指定されたメタデータに該当する検索対象データを検索し、該当する検索対象データがメタデータデータベースに記憶されていない場合には検索を要求するに適したノードを検索結果履歴テーブルに基づいて選択し、記憶されている場合には通信アドレスと評価値データとを検索要求元へ渡す検索手段と、前記検索手段により選択されたノードから渡される通信アドレスおよび評価値と前記受付手段により記憶されたメタデータとに基づいて検索結果履歴テーブルを更新する更新手段とを有する。【選択図】　　　図３
2004127125.tif 000002
【特許請求の範囲】
【請求項１】
複数の検索サーバ装置の各々が検索の対象となる検索対象データを記憶し要求された検索を実行し該当する検索対象データを記憶していない場合には他の検索サーバ装置を選択し選択した他の検索サーバ装置に該検索を要求し該他の検索サーバ装置における該検索の結果を取得する分散型検索システムを構成する検索サーバ装置において、
文字列と該文字列の意味するところを示す意味情報とを表すメタデータを有する少なくとも一つの検索対象データを記憶するデータ記憶手段と、
メタデータが指定された要求を受け、該メタデータを記憶する受付手段と、
検索サーバ装置を選択するための選択データを記憶する選択記憶手段と、
前記受付手段により受けられた検索の要求において指定されたメタデータに該当する検索対象データを検索し、該当する検索対象データが前記データ記憶手段に記憶されていない場合には該検索を要求するに適した検索サーバ装置を前記選択データに基づいて選択し、記憶されている場合には自身を一意に特定するための識別データと該当の度合いを示す評価値を表す評価値データとを該検索の要求元へ渡す検索手段と、
前記検索手段により選択された検索サーバ装置から該検索について渡される識別データおよび評価値と前記受付手段により記憶されたメタデータとに基づいて前記選択記憶手段に記憶されている選択データを更新する更新手段と
を有することを特徴とする検索サーバ装置。
【請求項２】
前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データ及び識別データとが該検索の要求毎に対応付けられて構成され、
前記検索手段は、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付手段により記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値を加算した値である評価指標を識別データ毎に算出し、前記評価指標が最も大きい識別データに対応する検索サーバ装置を選択することを特徴とする請求項１に記載の検索サーバ装置。
【請求項３】
前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データ及び識別データとがメタデータ毎に対応付けられて構成され、
前記検索手段は、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付手段により記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値を加算した値である評価指標を識別データ毎に算出し、前記評価指標が最も大きい識別データで表される検索サーバ装置を選択することを特徴とする請求項１に記載の検索サーバ装置。
【請求項４】
前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データ及び識別データとがメタデータ毎に対応付けられて構成され、
前記検索手段は、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付手段により受けられた検索の要求において指定されたメタデータの重要度に応じて、前記メタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値を増減した後に加算した値である評価指標を識別データ毎に算出し、前記評価指標が最も大きい識別データで表される検索サーバ装置を選択することを特徴とする請求項１に記載の検索サーバ装置。
【請求項５】
前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データ及び識別データとが該検索の要求毎またはメタデータ毎に対応付けられて構成され、
前記検索手段は、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付手段により記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値のうち最も大きい値である評価指標を識別データ毎に算出し、前記評価指標が最も大きい識別データに対応する検索サーバ装置を選択することを特徴とする請求項１に記載の検索サーバ装置。
【請求項６】
前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データ及び識別データとが該検索の要求毎またはメタデータ毎に対応付けられて構成され、
前記検索手段は、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付手段により記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値より予め定められた閾値を減算した値の絶対値を加算した値である評価指標を識別データ毎に算出し、前記評価指標が最も小さい識別データに対応する検索サーバ装置を選択することを特徴とする請求項１に記載の検索サーバ装置。
【請求項７】
前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データと識別データと最適な評価値を表す閾値データとが該検索の要求毎またはメタデータ毎に対応付けられて構成され、
前記検索手段は、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付手段により記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値より該評価値に対応する前記閾値を減算した値の絶対値を加算した値である評価指標を識別データ毎に算出し、前記評価指標が最も小さい識別データに対応する検索サーバ装置を選択することを特徴とする請求項１に記載の検索サーバ装置。
【請求項８】
前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データと識別データとが該検索の要求毎またはメタデータ毎に対応付けられて構成され、
前記検索手段は、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付手段により記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値を基に、予め定められた関数を用いて評価指標を識別データ毎に算出し、前記評価指標が最も大きい識別データに対応する検索サーバ装置を選択することを特徴とする請求項１に記載の検索サーバ装置。
【請求項９】
文字列と該文字列の意味するところを示す意味情報とを表すメタデータが指定された要求を受け、該メタデータを記憶する受付ステップと、前記受付ステップにより受けられた検索の要求において指定されたメタデータに該当する検索対象データを、メタデータを有する少なくとも一つの検索対象データを記憶するデータ記憶手段から検索する検索ステップと、
該当する検索対象データが前記データ記憶手段に記憶されていない場合には該検索を要求するに適した検索サーバ装置を、検索サーバ装置を選択するための選択データを記憶する選択記憶手段に記憶された選択データに基づいて選択し、該当する検索対象データが前記データ記憶手段に記憶されている場合には自身を一意に特定するための識別データと該当の度合いを示す評価値を表す評価値データとを該検索の要求元へ渡す選択ステップと、
前記選択ステップにより選択された検索サーバ装置から該検索について渡される識別データおよび評価値に基づいて前記選択記憶手段に記憶されている選択データを更新する更新ステップと
を有することを特徴とする検索方法。
【請求項１０】
前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データ及び識別データとが該検索の要求毎に対応付けられて構成され、
前記選択ステップにおいて、前記受付ステップにより記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値を加算した値である評価指標を識別データ毎に算出し、前記評価指標が最も大きい識別データで表される検索サーバ装置を選択することを特徴とする請求項９に記載の検索方法。
【請求項１１】
前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データ及び識別データとがメタデータ毎に対応付けられて構成され、
前記選択ステップにおいて、前記受付ステップにより記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値を加算した値である評価指標を識別データ毎に算出し、前記評価指標が最も大きい識別データで表される検索サーバ装置を選択することを特徴とする請求項９に記載の検索方法。
【請求項１２】
前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データ及び識別データとがメタデータ毎に対応付けられて構成され、
前記選択ステップにおいて、前記受付ステップにより記憶されたメタデータの重要度に応じて、前記メタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値を増減した後に加算した値である評価指標を識別データ毎に算出し、前記評価指標が最も大きい識別データで表される検索サーバ装置を選択することを特徴とする請求項９に記載の検索方法。
【請求項１３】
前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データ及び識別データとが該検索の要求毎またはメタデータ毎に対応付けられて構成され、
前記検索ステップにおいて、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付ステップにより記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値のうち最も大きい値である評価指標を識別データ毎に算出し、前記評価指標が最も大きい識別データに対応する検索サーバ装置を選択することを特徴とする請求項９に記載の検索方法。
【請求項１４】
前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データ及び識別データとが該検索の要求毎またはメタデータ毎に対応付けられて構成され、
前記検索ステップにおいて、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付ステップにより記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値より予め定められた閾値を減算した値の絶対値を加算した値である評価指標を識別データ毎に算出し、前記評価指標が最も小さい識別データに対応する検索サーバ装置を選択することを特徴とする請求項９に記載の検索方法。
【請求項１５】
前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データと識別データと最適な評価値を表す閾値データとが該検索の要求毎またはメタデータ毎に対応付けられて構成され、
前記検索ステップにおいて、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付ステップにより記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値より該評価値に対応する前記閾値を減算した値の絶対値を加算した値である評価指標を識別データ毎に算出し、前記評価指標が最も小さい識別データに対応する検索サーバ装置を選択することを特徴とする請求項９に記載の検索方法。
【請求項１６】
前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データと識別データとが該検索の要求毎またはメタデータ毎に対応付けられて構成され、
前記検索ステップにおいて、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付ステップにより記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値を基に、予め定められた関数を用いて評価指標を識別データ毎に算出し、前記評価指標が最も大きい識別データに対応する検索サーバ装置を選択することを特徴とする請求項９に記載の検索方法。
【請求項１７】
コンピュータ装置に、
文字列と該文字列の意味するところを示す意味情報とを表すメタデータを有する少なくとも一つの検索対象データを記憶するデータ記憶手段と、
メタデータが指定された要求を受け、該メタデータを記憶する受付手段と、
検索サーバ装置を選択するための選択データを記憶する選択記憶手段と、
前記受付手段により受けられた検索の要求において指定されたメタデータに該当する検索対象データを検索し、該当する検索対象データが前記データ記憶手段に記憶されていない場合には該検索を要求するに適した検索サーバ装置を前記選択データに基づいて選択し、記憶されている場合には自身を一意に特定するための識別データと該当の度合いを示す評価値を表す評価値データとを該検索の要求元へ渡す検索手段と、
前記検索手段により選択された検索サーバ装置から該検索について渡される識別データおよび評価値と前記受付手段により記憶されたメタデータとに基づいて前記選択記憶手段に記憶されている選択データを更新する更新手段と
を実現させるためのプログラム。
【請求項１８】
請求項１７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、複数の検索サーバ装置が通信回線を介して接続された分散型検索システムにおいて効率的な検索を行う技術に関する。
【０００２】
【従来の技術】
従来より、複数の検索サーバ装置が通信回線を介して接続され、各検索サーバ装置がキーワード検索を分散して行う分散型検索システムが知られている（例えば、非特許文献１、非特許文献２）。
このような分散型検索システムの一例として、検索を要求された検索サーバ装置に該当するデータが存在しない場合には、当該検索サーバ装置が他の検索サーバ装置を選択し選択された検索サーバ装置へ検索を要求する処理を、該当するデータが見つかるまで、あるいは他の検索サーバ装置が尽きるまで繰り返す分散型検索システムがある。このような分散型検索システムについて、図１５を参照して説明する。
【０００３】
図１５に示すノードＡ、Ｂ、Ｃ及びＤはそれぞれ、検索サーバ装置であり、検索対象となる文書を表す検索対象データを記憶しており、検索条件が指定された検索要求データを受信すると、この検索要求データにより指定されたキーワードと検索対象データで表される文書を構成する文字列とを比較することにより検索を行う。
また、ノードＡには、過去の検索結果の履歴を表す検索結果履歴データを格納した検索結果履歴テーブルが記憶されている。この検索結果履歴データは、各ノードで行われた検索毎に生成されたデータであり、キーワード、ノード及び評価値という項目を有し、当該検索に用いられた少なくとも一つのキーワードを表すデータと、当該ノードを示すデータと、当該検索の結果に基づいて算出された評価値を示すデータとで構成されている。この評価値は、ヒットした検索対象データの件数が多ければ大きくなり、少なければ小さくなる。
ノードＡは、２つの検索キーワード「Ｘ」及び「Ｙ」が指定された検索要求データを受信すると、記憶している検索対象データについてキーワード「Ｘ」及び「Ｙ」を用いたキーワード検索を行う（処理Ｐ１）。この検索にて検索対象データがヒットしなかった場合には、ノードＡは、これらの検索キーワードを表すデータをキーワード項目に有する検索結果履歴データを検索結果履歴テーブルから選択する。この際、該当する検索結果履歴データが複数の場合には、評価値項目のデータで示される評価値が最も大の検索結果履歴データが選択される。さらにノードＡは、こうして選択した検索結果履歴データのノード項目のデータで示されるノードＤへ、２つの検索キーワード「Ｘ」及び「Ｙ」が指定された検索対象データを検索するための検索要求データを送信する（処理Ｐ２）。この検索要求データを受信したノードＤは、記憶している検索対象データについてキーワード「Ｘ」及び「Ｙ」を用いたキーワード検索を行う。この検索にて検索対象データがヒットすると、ノードＤは、ヒットした検索対象データの件数を示すデータや当該検索対象データを含んだ検索結果データをノードＡに送信する（処理Ｐ３）。ノードＡは、受信した検索結果データに基づいて、検索結果履歴テーブルを更新する（処理Ｐ４）。
【０００４】
【非特許文献１】
ＮＥＵＲＯＧＲＩＤ　　Ｐ２ＰＳＥＡＲＣＨ　［Ｐｈｉｌｏｓｏｐｈｙ　２１−０８−０１　ｖ０３］　　インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｎｅｕｒｏｇｒｉｄ．ｎｅｔ／ｐｈｐ／ｐｈｉｌｏｓｏｐｈｙ．ｐｈｐ＞
【非特許文献２】
ＮｅｕｒｏＧｒｉｄ　Ｐ２Ｐサーチ　分散検索　インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｊｎｕｔｅｌｌａ．ｏｒｇ／ｊｎｕｄｅｖ／ｊｗｓ＃０５２２／ｊｗｓ＃ｓａｍ．ｌｚｈ＞
【０００５】
【発明が解決しようとする課題】
上述したように、キーワード検索では、検索キーワードを含んだ文書を表す検索対象データが全て抽出される。例えば、検索キーワードが「渋谷」の場合、人名を表す「渋谷」も地名を表す「渋谷」も区別されることなく、「渋谷」という文字列を含んだ全ての文書について検索対象データが抽出される。このような検索結果に基づいて検索結果履歴テーブルが更新されることから、次に検索キーワードとして「渋谷」が指定されたキーワード検索が行われると、検索要求データの送信先のノードとしては、文字列「渋谷」を含んだ検索対象データを数多く記憶したノードが選択される。検索を要求するユーザが文字列「渋谷」を含んだ検索対象データの抽出を望んでいるならば、このノード選択は適切である。しかし、通常、ユーザは人名か地名かのいずれかを想定して「渋谷」という検索キーワードを入力するものであり、人名としての「渋谷」を含んだ検索対象データの抽出を望んでいるユーザに地名としての「渋谷」を含んだ検索対象データを提供しても意味がない。つまり、上記のノード選択により選択されるノードは必ずしも適切でない、という問題がある。
【０００６】
また、複数の検索キーワード「渋谷」及び「中華レストラン」が指定された検索が行われると、この検索に基づいて検索結果履歴テーブルに格納される検索結果履歴データのキーワード項目には、「渋谷」及び「中華レストラン」の組み合わせであることを示すデータが入る。したがって、次に、同一の検索キーワード「渋谷」及び「中華レストラン」が指定された検索が行われる場合には、検索結果履歴テーブルを用いて検索要求データの送信先のノードを選択することができる。しかし、「渋谷」及び「フレンチ」のように一部の検索キーワードが「渋谷」及び「中華レストラン」と異なっている場合や、「渋谷」、「中華レストラン」及び「高級」のように「渋谷」及び「中華レストラン」に含まれていない新たな検索キーワードが追加された場合には、検索結果履歴テーブルから該当する検索結果履歴データを抽出することができない。つまり、過去に「渋谷」や「中華レストラン」に関する検索を行ったにも関わらず、検索要求データの送信先のノードを選択する際に当該検索の結果を活用することができず、その結果、不適切なノードを選択してしまう虞があった。
本発明は、このような事情に鑑みてなされたものであり、分散型検索システムにおいて検索されるべき検索対象データを記憶している最適なノードを選択することができる技術を提供することを目的としている。
【０００７】
【課題を解決するための手段】
上記課題を解決するために、この発明は、複数の検索サーバ装置の各々が検索の対象となる検索対象データを記憶し要求された検索を実行し該当する検索対象データを記憶していない場合には他の検索サーバ装置を選択し選択した他の検索サーバ装置に該検索を要求し該他の検索サーバ装置における該検索の結果を取得する分散型検索システムを構成する検索サーバ装置において、文字列と該文字列の意味するところを示す意味情報とを表すメタデータを有する少なくとも一つの検索対象データを記憶するデータ記憶手段と、メタデータが指定された要求を受け、該メタデータを記憶する受付手段と、検索サーバ装置を選択するための選択データを記憶する選択記憶手段と、前記受付手段により受けられた検索の要求において指定されたメタデータに該当する検索対象データを検索し、該当する検索対象データが前記データ記憶手段に記憶されていない場合には該検索を要求するに適した検索サーバ装置を前記選択データに基づいて選択し、記憶されている場合には自身を一意に特定するための識別データと該当の度合いを示す評価値を表す評価値データとを該検索の要求元へ渡す検索手段と、前記検索手段により選択された検索サーバ装置から該検索について渡される識別データおよび評価値と前記受付手段により記憶されたメタデータとに基づいて前記選択記憶手段に記憶されている選択データを更新する更新手段とを有することを特徴とする検索サーバ装置を提供する。
【０００８】
また、好ましい態様として、前記検索サーバ装置は、前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データ及び識別データとが該検索の要求毎に対応付けられて構成され、前記検索手段は、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付手段により記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値を加算した値である評価指標を識別データ毎に算出し、前記評価指標が最も大きい識別データに対応する検索サーバ装置を選択する。
【０００９】
また、好ましい態様として、前記検索サーバ装置は、前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データ及び識別データとがメタデータ毎に対応付けられて構成され、前記検索手段は、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付手段により記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値を加算した値である評価指標を識別データ毎に算出し、前記評価指標が最も大きい識別データで表される検索サーバ装置を選択する。
【００１０】
また、好ましい態様として、前記検索サーバ装置は、前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データ及び識別データとがメタデータ毎に対応付けられて構成され、前記検索手段は、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付手段により受けられた検索の要求において指定されたメタデータの重要度に応じて、前記メタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値を増減した後に加算した値である評価指標を識別データ毎に算出し、前記評価指標が最も大きい識別データで表される検索サーバ装置を選択する。
【００１１】
また、好ましい態様として、前記検索サーバ装置は、前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データ及び識別データとが該検索の要求毎またはメタデータ毎に対応付けられて構成され、前記検索手段は、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付手段により記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値のうち最も大きい値である評価指標を識別データ毎に算出し、前記評価指標が最も大きい識別データに対応する検索サーバ装置を選択する。
【００１２】
また、好ましい態様として、前記検索サーバ装置は、前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データ及び識別データとが該検索の要求毎またはメタデータ毎に対応付けられて構成され、前記検索手段は、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付手段により記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値より予め定められた閾値を減算した値の絶対値を加算した値である評価指標を識別データ毎に算出し、前記評価指標が最も小さい識別データに対応する検索サーバ装置を選択する。
【００１３】
また、好ましい態様として、前記検索サーバ装置は、前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データと識別データと最適な評価値を表す閾値データとが該検索の要求毎またはメタデータ毎に対応付けられて構成され、前記検索手段は、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付手段により記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値より該評価値に対応する前記閾値を減算した値の絶対値を加算した値である評価指標を識別データ毎に算出し、前記評価指標が最も小さい識別データに対応する検索サーバ装置を選択する。
【００１４】
また、好ましい態様として、前記検索サーバ装置は、前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データと識別データとが該検索の要求毎またはメタデータ毎に対応付けられて構成され、前記検索手段は、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付手段により記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値を基に、予め定められた関数を用いて評価指標を識別データ毎に算出し、前記評価指標が最も大きい識別データに対応する検索サーバ装置を選択する。
【００１５】
また、本発明は、文字列と該文字列の意味するところを示す意味情報とを表すメタデータが指定された要求を受け、該メタデータを記憶する受付ステップと、前記受付ステップにより受けられた検索の要求において指定されたメタデータに該当する検索対象データを、メタデータを有する少なくとも一つの検索対象データを記憶するデータ記憶手段から検索する検索ステップと、該当する検索対象データが前記データ記憶手段に記憶されていない場合には該検索を要求するに適した検索サーバ装置を、検索サーバ装置を選択するための選択データを記憶する選択記憶手段に記憶された選択データに基づいて選択し、該当する検索対象データが前記データ記憶手段に記憶されている場合には自身を一意に特定するための識別データと該当の度合いを示す評価値を表す評価値データとを該検索の要求元へ渡す選択ステップと、前記選択ステップにより選択された検索サーバ装置から該検索について渡される識別データおよび評価値に基づいて前記選択記憶手段に記憶されている選択データを更新する更新ステップとを有することを特徴とする検索方法を提供する。
【００１６】
好ましい態様として、前記検索方法は、前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データ及び識別データとが該検索の要求毎に対応付けられて構成され、前記選択ステップにおいて、前記受付ステップにより記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値を加算した値である評価指標を識別データ毎に算出し、前記評価指標が最も大きい識別データで表される検索サーバ装置を選択する。
【００１７】
好ましい態様として、前記検索方法は、前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データ及び識別データとがメタデータ毎に対応付けられて構成され、前記選択ステップにおいて、前記受付ステップにより記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値を加算した値である評価指標を識別データ毎に算出し、前記評価指標が最も大きい識別データで表される検索サーバ装置を選択する。
【００１８】
好ましい態様として、前記検索方法は、前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データ及び識別データとがメタデータ毎に対応付けられて構成され、前記選択ステップにおいて、前記受付ステップにより記憶されたメタデータの重要度に応じて、前記メタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値を増減した後に加算した値である評価指標を識別データ毎に算出し、前記評価指標が最も大きい識別データで表される検索サーバ装置を選択する。
【００１９】
好ましい態様として、前記検索方法は、前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データ及び識別データとが該検索の要求毎またはメタデータ毎に対応付けられて構成され、前記検索ステップにおいて、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付ステップにより記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値のうち最も大きい値である評価指標を識別データ毎に算出し、前記評価指標が最も大きい識別データに対応する検索サーバ装置を選択する。
【００２０】
好ましい態様として、前記検索方法は、前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データ及び識別データとが該検索の要求毎またはメタデータ毎に対応付けられて構成され、前記検索ステップにおいて、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付ステップにより記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値より予め定められた閾値を減算した値の絶対値を加算した値である評価指標を識別データ毎に算出し、前記評価指標が最も小さい識別データに対応する検索サーバ装置を選択する。
【００２１】
好ましい態様として、前記検索方法は、前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データと識別データと最適な評価値を表す閾値データとが該検索の要求毎またはメタデータ毎に対応付けられて構成され、前記検索ステップにおいて、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付ステップにより記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値より該評価値に対応する前記閾値を減算した値の絶対値を加算した値である評価指標を識別データ毎に算出し、前記評価指標が最も小さい識別データに対応する検索サーバ装置を選択する。
【００２２】
好ましい態様として、前記検索方法は、前記選択記憶手段に記憶されている選択データはメタデータと該メタデータを指定した検索の要求先の検索サーバ装置から渡された評価値データと識別データとが該検索の要求毎またはメタデータ毎に対応付けられて構成され、前記検索ステップにおいて、該当する検索対象データが前記データ記憶手段に記憶されていない場合には、前記受付ステップにより記憶されたメタデータに対応付けて前記選択記憶手段に記憶されている評価値データで表される評価値を基に、予め定められた関数を用いて評価指標を識別データ毎に算出し、前記評価指標が最も大きい識別データに対応する検索サーバ装置を選択する。
【００２３】
また、本発明は、コンピュータ装置に、文字列と該文字列の意味するところを示す意味情報とを表すメタデータを有する少なくとも一つの検索対象データを記憶するデータ記憶手段と、メタデータが指定された要求を受け、該メタデータを記憶する受付手段と、検索サーバ装置を選択するための選択データを記憶する選択記憶手段と、前記受付手段により受けられた検索の要求において指定されたメタデータに該当する検索対象データを検索し、該当する検索対象データが前記データ記憶手段に記憶されていない場合には該検索を要求するに適した検索サーバ装置を前記選択データに基づいて選択し、記憶されている場合には自身を一意に特定するための識別データと該当の度合いを示す評価値を表す評価値データとを該検索の要求元へ渡す検索手段と、前記検索手段により選択された検索サーバ装置から該検索について渡される識別データおよび評価値と前記受付手段により記憶されたメタデータとに基づいて前記選択記憶手段に記憶されている選択データを更新する更新手段とを実現させるためのプログラムを提供する。
【００２４】
この発明によれば、検索サーバ装置は、メタデータが指定された要求を受けて該メタデータを記憶し、前記受付手段により受けられた検索の要求において指定されたメタデータに該当する検索対象データを検索し、該当する検索対象データが前記データ記憶手段に記憶されていない場合には該検索を要求するに適した検索サーバ装置を前記選択データに基づいて選択し、記憶されている場合には自身を一意に特定するための識別データと該当の度合いを示す評価値を表す評価値データとを該検索の要求元へ渡す。また、検索サーバ装置は、前記検索手段により選択された検索サーバ装置から該検索について渡される識別データおよび評価値と前記受付手段により記憶されたメタデータとに基づいて前記選択記憶手段に記憶されている選択データを更新する。
【００２５】
【発明の実施の形態】
以下、図面を参照して本発明の第１実施形態および第２実施形態について説明する。両各実施形態では、後述のメタデータが検索に用いられる。なお、各図において共通する部分には、同一の符号が付されている。
【００２６】
１．第１実施形態
１−１．構成
図１は、第１実施形態に係る分散型検索システム１の構成を示すブロック図である。この分散型検索システム１は、インターネット等の通信ネットワーク２０と、この通信ネットワーク２０に接続されたノード３０Ａ、３０Ｂ、３０Ｃ及び３０Ｄとを有する。各ノードのハードウェア構成は共通していることから、以降、各ノードを区別する必要がない場合には「ノード３０」と記す。ノード３０は検索サーバ装置であり、後述のメタデータデータベース及び検索結果履歴テーブルを用いて検索処理を行う機能を一般的なＷＷＷ（Ｗｏｒｌｄ　Ｗｉｄｅ　Ｗｅｂ）サーバ装置に持たせたものである。また、ユーザ端末１０は一般的なコンピュータ装置であり、ＷＷＷブラウザを起動し、ＨＴＴＰに従ったリクエストメッセージを通信ネットワーク２０へ送出するとともに当該メッセージに対するレスポンスメッセージを受け取る。
【００２７】
１−１−１．ノードの構成
図２は、ノード３０のハードウェア構成を示すブロック図である。同図に示すように、ノード３０が一般的なＷＷＷサーバ装置と異なる点は、ハードディスク装置３６が本システム１を構成する全てのノードの通信アドレスや、後述の、メタデータデータベース３６１、検索結果履歴テーブル３６２及び検索プログラム３６３を記憶している点と、ＣＰＵ３１がハードディスク装置３６に記憶された検索プログラム３６３を読み出して実行する点のみである。以下、ＣＰＵ３１が検索プログラム３６３を実行することでノード３０に実現される機能について、主に図３を参照して説明する。
【００２８】
この図のメタデータデータベース３６１は、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）を用いて作成された多数の検索対象データを格納している。各検索対象データは少なくとも一つのメタデータを有し、メタデータは、検索のキーワードとなる文字列（例えば“渋谷”）を表すキーワードデータとこの文字列が意味するところを示す意味情報（例えば文字列“地名”）を表す意味データとを有する。
【００２９】
図３に示す検索要求受信部４０１は、検索を要求する装置から通信ネットワーク２０を介して送信されてきた自ノード３０宛の検索要求データを受信し、要求内容保持部４０６は当該データに応答する検索結果データを返信するまで当該検索要求データを記憶する。検索要求データは検索条件を表す検索条件データと要求元の装置の通信アドレスを示すデータとから構成されており、検索条件データは少なくとも一つのメタデータから構成されている。以後、検索条件データを構成するメタデータを検索メタデータと呼ぶ。
判断部４０２は、検索要求受信部４０１により受信された検索要求データ（以後、検索要求データという）に含まれている全ての検索メタデータを有する検索対象データをメタデータデータベース３６１から抽出する検索処理を行う。この検索処理は、キーワードデータと意味データとを区別しつつ文字列を比較する処理を、全ての検索メタデータと全ての検索対象データとの間で行うことにより実現される。
この試行により少なくとも一つの検索対象データが抽出されると、判断部４０２は、検索結果を示す検索結果データを検索要求データの送信元の装置へ返信するよう検索結果送信部４０３に指示する。検索結果データは要求元の装置の通信アドレスと抽出した検索対象データの所在を示すＵＲＬ（Ｕｎｉｆｏｒｍ　Ｒｅｓｏｕｒｃｅ　Ｌｏｃａｔｏｒ）と抽出した検索対象データの件数と自ノード３０の通信アドレスとから構成されている。
なお、検索結果送信部４０３は制御部４０２の指示の通りに作動する。
また、判断部４０２は、当該検索において検索対象データが抽出されなかった場合、検索要求データで表される検索要求に最適なノードの選択を履歴参照部４０４に要求する。さらに制御部４０２は、履歴参照部４０４によりノードが選択されると、当該ノードへ検索要求データを送信することを検索要求送信部４０５に指示する。ただし、判断部４０２は、検索要求データにおける要求元の装置の通信アドレスがいずれのノード３０の通信アドレスとも異なる場合には、検索要求データ内の要求元の装置の通信アドレスを自ノード３０の通信アドレスに書き換えた後に、上記指示を行う。検索結果送信部４０３は、この指示の通りに作動する。なお、履歴参照部４０４によりノードが選択されなかった場合、判断部４０２は、要求元の装置の通信アドレスと自ノード３０の通信アドレスとから構成される空の検索結果データを、検索要求データの送信元の装置へ返信するよう検索結果送信部４０３に指示する。
上述の最適なノードの選択の際には、履歴参照部４０４が検索結果履歴テーブル３６２を参照する。検索結果履歴テーブル３６２の具体的なデータ構成例は図５に概念的に示されている通りである。この図に示すように、検索結果履歴テーブル３６２には、後述の検索結果受信部４０７が他のノードから検索結果データを受信すると作成される検索結果履歴データが格納される。検索結果履歴データは、検索条件データを構成するメタデータとこの検索条件データを用いた検索を当該他のノードで行った結果を書誌的に表す書誌データとが対応付けられたデータである。書誌データは、検索結果データを作成したノードを識別するためのノードデータと、当該検索にてヒットした検索対象データの件数を表す評価値データとから構成されている。
履歴参照部４０４は、判断部４０２から要求されると、検索要求データ中の検索メタデータと合致するメタデータに対応付けられた評価値データにより表される評価値を、ノードデータで表されるノード毎に加算して評価指標を算出し、算出した評価指標が最も大きいノードを最適なノードとして選択する。ただし、検索要求データ中の検索メタデータと合致するメタデータが検索結果履歴テーブル３６２に存在しない場合には、予め定められた優先順位に従ってノードを選択する。優先順位は、ノード３０Ａ、ノード３０Ｂ、ノード３０Ｃ、ノード３０Ｄの順に低くなるよう設定されている。また、優先順位が自ノードより高いノードや自ノードの選択は禁止されている。
検索結果受信部４０７は、履歴参照部４０４により選択されたノードから検索要求データに対する検索結果データを受信し、この検索結果データにおける要求元の装置の通信アドレスと自ノード３０の通信アドレスとを比較する。両者が不一致の場合には、検索結果受信部４０７は当該検索結果データを検索要求データの送信元の装置へ返信するよう検索結果送信部４０３に指示し、要求内容保持部４０６は記憶した検索要求データを破棄する。逆に、両者が一致した場合には、履歴更新部４０８は、当該検索結果データと検索要求データとに基づいて検索結果履歴データを作成し検索結果履歴テーブル３６２に追加格納するとともに、当該検索結果データを検索要求データの送信元の装置へ返信するよう検索結果送信部４０３に指示し、要求内容保持部４０６は検索要求データを破棄する。
【００３０】
１−２．動作
次に、第１実施形態の動作について説明する。
【００３１】
１−２−１．ノード選択処理
まず、ノード３０ＡにおいてＣＰＵ３０１により実行されるノード選択の処理について図４、５を参照して説明する。
なお、検索結果履歴テーブル３６２には、過去の検索結果に基づいて作成された、図５に示される検索結果履歴データが予め格納されているものとする。
また、ノード３０Ａのメタデータデータベース３６１には、（（「意味情報」＝“地名”、「文字列」＝“新宿”）かつ（「意味情報」＝“レストラン”、「文字列」＝“フレンチ”））であるメタデータを有する検索対象データは格納されていないものとする。
また、ノード３０Ｂのメタデータデータベース３６１には、（（「意味情報」＝“地名”、「文字列」＝“新宿”）かつ（「意味情報」＝“レストラン”、「文字列」＝“フレンチ”））であるメタデータを有する検索対象データが７０件格納されているものとする。
【００３２】
まず、ユーザがユーザ端末１０を操作し、２つの検索メタデータ（ここでは、文字列“新宿”に意味情報“地名”が対応付けられたメタデータと文字列“フレンチ”に意味情報“レストラン”が対応付けられたメタデータ）を入力したものとする。これにより、これらのメタデータで構成される検索条件データを内包した検索要求データが通信ネットワーク２０を介してノード３０Ａに送信される。
【００３３】
図４に示すように、ノード３０Ａの検索要求受信部４０１は、検索要求データを受信する。（ステップＳ５０１）。そして、検索要求受信部４０１は、要求内容保持部４０６に、検索要求データを送信する。要求内容保持部４０６は、受信した検索要求データを記憶する（ステップＳ５０２）。
検索要求受信部４０１は、判断部４０２に検索要求データを送信する。
検索要求データを受信した判断部４０２は、検索条件データを有する検索対象データをメタデータデータベース３６１から抽出する検索処理を行う（ステップＳ５０３）。すなわち、判断部４０２は、文字列と意味情報とを区別しつつ文字列を比較する処理を、全ての検索メタデータと全ての検索対象データとの間で行う。
ここでは、検索条件データを有する検索対象データはメタデータデータベース３６１に格納されていないため、検索対象データは抽出されない（ステップＳ５０３；Ｎｏ）。判断部４０２は、履歴参照部４０４に検索条件データを送信し、最適なノードを選択するよう要求する。履歴参照部４０４は、判断部４０２から要求されると、検索結果履歴テーブル３６２に格納されている検索結果履歴データを基に、最適なノードを選択する。（ステップＳ５０４）。
【００３４】
ここで、履歴参照部４０４が、検索結果履歴テーブル３６２から最適なノードを選択する方法を、図５を参照して説明する。
履歴参照部４０４は、メタデータ（「意味情報」＝“地名”、「文字列」＝“新宿”）の評価値と、メタデータ（「意味情報」＝“レストラン”、「文字列」＝“フレンチ”）の評価値とをノード毎に加算して評価指標を算出し、算出した評価指標が最も大きいノードを最適なノードとして選択する（処理Ｐ１１，処理Ｐ１２）。
例えば、図５に示すノード３０Ｂにおいて、（「意味情報」＝“地名”、「文字列」＝“新宿”）であるメタデータは２件格納されており、これらのメタデータの評価値は“５０”、“６０”である。また、（「意味情報」＝“レストラン”、「文字列」＝“フレンチ”）であるメタデータは格納されていないため、ノード３０Ｂの評価指標は５０＋６０＝１１０となる。
同様に、ノード３０Ｃについては、（「意味情報」＝“地名”、「文字列」＝“新宿”）であるメタデータは１件格納されており、その評価値は“２０”である。また、（「意味情報」＝“レストラン”、「文字列」＝“フレンチ”）であるメタデータも１件格納されており、その評価値は“２０”である。従って、ノード３０Ｃの評価指標は２０＋２０＝４０となる。
ノード３０Ｄについては、（「意味情報」＝“地名”、「文字列」＝“新宿”）であるメタデータも、（「意味情報」＝“レストラン”、「文字列」＝“フレンチ”）であるメタデータも格納されていないため、ノード３０Ｄの評価指標は“０”である。
【００３５】
以上より、ノード３０Ｂが最も大きな評価指標となるため、履歴参照部４０４は、ノード３０Ｂを最適なノードとして選択し、このノード３０Ｂが最適なノードであるという情報を検索要求送信部４０５に送信する。
検索要求送信部４０５は、受信した情報を基に、ノード３０Ｂに検索条件データと要求元のノード３０Ａの通信アドレスを示すデータを有する検索要求データを送信する（図４のステップＳ５０５、図５の処理Ｐ１３）。
【００３６】
１−２−２．履歴更新処理
次に、ノード３０Ａより検索要求データを受信したノード３０Ｂにおいて、検索結果履歴テーブル３６２が更新される動作を、図４及び図６を参照して説明する。
【００３７】
図４に示すように、ノードＢの検索要求受信部４０１は、検索要求データを受信する。（ステップＳ５０１）。そして、検索要求受信部４０１は、要求内容保持部４０６に、検索要求データを送信する。要求内容保持部４０６は、受信した検索要求データを記憶する（ステップＳ５０２）。
次に、検索要求受信部４０１は、判断部４０２に検索要求データを送信する。検索要求データを受信した判断部４０２は、全ての検索メタデータを有する検索対象データをメタデータデータベース３６１から抽出する検索処理を行う（ステップＳ５０３）。
ここでは、検索条件データを有する検索対象データはメタデータデータベース３６１に７０件格納されているため、検索対象データが７０件抽出される（ステップＳ５０３；Ｙｅｓ）。判断部４０２は、検索結果を示す検索結果データを検索要求データの送信元のノード３０Ａへ返信するよう検索結果送信部４０３に指示する。検索結果送信部４０３は、要求元のノード３０Ａの通信アドレスと、抽出した検索対象データの所在を示すＵＲＬ（Ｕｎｉｆｏｒｍ　Ｒｅｓｏｕｒｃｅ　Ｌｏｃａｔｏｒ）と、抽出した検索対象データの件数“７０件”と、ノード３０Ｂの通信アドレスとを内包する検索結果データを、要求元のノード３０Ａに送信する（ステップＳ５０６）。
【００３８】
次に、図６、図７を参照して、ノード３０Ａにおける動作を説明する。
まず、検索結果受信部４０７は、ノード３０Ｂの検索結果送信部４０３より送信されてきた検索結果データを受信する（図６のステップＳ６０１、図７の処理Ｐ２１）。そして、検索結果受信部４０７は、この検索結果データに内包されている要求元のノード３０Ａの通信アドレスと自ノード３０Ａの通信アドレスとを比較する。両者は一致しているので、履歴更新部４０８は、要求内容保持部４０６に記憶しておいた検索条件データ（（「意味情報」＝“地名”、「文字列」＝“新宿”）かつ（「意味情報」＝“レストラン”、「文字列」＝“フレンチ”））と、検索結果データが送信されてきたノード“３０Ｂ”を示すノードデータと、検索結果データに含まれている検索条件データが抽出された件数“７０件”を示すデータから、検索結果履歴データを作成する（図６のステップＳ６０２）。そして、履歴更新部４０８は、図７の更新後の検索結果履歴テーブル３６２に示すように、検索結果履歴データを検索結果履歴テーブル３６２に追加格納する（図６のステップＳ６０３、図７の処理Ｐ２２）。
【００３９】
そして、履歴更新部４０８は、当該検索結果データを検索要求データの送信元のユーザ端末１０へ返信するよう検索結果送信部４０３に指示し、要求内容保持部４０６は検索要求データを破棄する。
検索結果送信部４０３は、ユーザ端末１０に検索結果データを送信する。
【００４０】
このように、メタデータを用いた検索を行い、過去に検索した結果を検索結果履歴テーブル３６２に格納しておくことによって、それ以後の検索の際に、ノード３０は、検索結果履歴テーブル３６２を利用して、検索条件データが存在する最適なノードを選択することができる。このため、ユーザが検索指示を行ってからユーザ端末１０に検索結果を表示するまでの時間が短縮され、ユーザは効率のよい検索を行うことができる。
また、過去に行ったことがない複数のメタデータを組み合わせた検索に対しても、検索結果履歴テーブル３６２に格納されている単一のメタデータに対応する評価値を組み合わせて評価指標を算出することができるため、複数のメタデータを組み合わせた検索であっても、最適ノードを選択することが可能となる。
【００４１】
２．第２実施形態
次に、本発明の第２実施形態を説明する。
第１実施形態においては、検索条件データが複数の検索メタデータで構成されている場合に、検索条件データを有する検索対象データがメタデータデータベース３６１に格納されている件数を評価値としたが、第２実施形態においては、検索メタデータを有する検索対象データが格納されている件数を評価値としており、また、最適ノードを選択する時には、ユーザが指定した検索メタデータの評価値に重み付けをして、評価指標を算出できるようにしている。
【００４２】
２−１．構成
図８は、第２実施形態に係る分散型検索システム２の構成を示すブロック図である。この分散型検索システム１は、インターネット等の通信ネットワーク２０と、この通信ネットワーク２０に接続されたノード５０Ａ、５０Ｂ、５０Ｃ及び５０Ｄとを有する。各ノードのハードウェア構成は共通していることから、以降、各ノードを区別する必要がない場合には「ノード５０」と記す。ノード５０は検索サーバ装置であり、後述のメタデータデータベース及び検索結果履歴テーブルを用いて検索処理を行う機能を一般的なＷＷＷ（Ｗｏｒｌｄ　Ｗｉｄｅ　Ｗｅｂ）サーバ装置に持たせたものである。ユーザ端末１０の構成は第１実施形態と同様である。
【００４３】
２−１−１．ノードの構成
図９は、ノード５０のハードウェア構成を示すブロック図である。同図に示すように、ノード５０が第１実施形態におけるノード３０と異なる点は、検索結果履歴テーブル５６２に格納されている検索結果履歴データのデータ構成及び検索プログラム５６３の有する機能である。ＣＰＵ３１が検索プログラム５６３を実行することでノード５０に実現される機能について、第１実施形態と異なる部分について、以下、主に図１０を参照して説明する。
【００４４】
図１０に示す検索要求受信部４０１は、検索を要求する装置から通信ネットワーク２０を介して送信されてきた自ノード５０宛の検索要求データを受信し、要求内容保持部４０６は当該データに応答する検索結果データを返信するまで当該検索要求データを記憶する。検索要求データは、検索条件を表す検索条件データと、重み付けして検索するメタデータを指定するための重要度データと、要求元の装置の通信アドレスを示すデータとから構成されている。また、検索条件データは少なくとも一つの検索メタデータから構成されている。
最適なノードの選択の際には、履歴参照部６０４が検索結果履歴テーブル５６２を参照する。検索結果履歴テーブル５６２の具体的なデータ構成例は図１２に概念的に示されている通りである。この図に示すように、検索結果履歴テーブル５６２には、後述の検索結果受信部４０７が他のノードから検索結果データを受信すると作成される検索結果履歴データが格納される。検索結果履歴データは、検索条件データを構成するメタデータとこの検索条件データを用いた検索を当該他のノードで行った結果を書誌的に表す書誌データとが対応付けられたデータである。書誌データは、検索結果データを作成したノードを識別するためのノードデータと、当該検索にてヒットした検索メタデータの件数を表す評価値データとから構成されている。
履歴参照部６０４は、判断部４０２から要求されると、検索要求データ中の検索メタデータと合致するメタデータに対応付けられた評価値データにより表される評価値を対応する重要度データで重み付けした後、ノードデータで表されるノード毎に加算して評価指標を算出し、算出した評価指標が最も大きいノードを最適なノードとして選択する。
【００４５】
上記説明した構成以外の構成は、第１実施形態と同様であるので、重複した説明を省略する。
【００４６】
２−２．動作
２−２−１．ノード選択処理
まず、ノード５０ＡにおいてＣＰＵ３０１により実行されるノード選択の処理について図１１、１２を参照して説明する
なお、ノード５０Ａの検索結果履歴テーブル５６２には、過去の検索結果に基づいて作成された、図１２に示す検索結果履歴データが格納されているものとする。
また、ノード５０Ａのメタデータデータベース３６１には、（「意味情報」＝“地名”、「文字列」＝“渋谷”）かつ（「意味情報」＝“レストラン”、「文字列」＝“イタリアン”）であるメタデータを有する検索対象データが格納されているものとする。
また、ノード５０Ｄのメタデータデータベース３６１には、（「意味情報」＝“地名”、「文字列」＝“渋谷”）かつ（「意味情報」＝“レストラン”、「文字列」＝“イタリアン”））であるメタデータを有する検索対象データは格納されており、（「意味情報」＝“地名”、「文字列」＝“渋谷”）であるメタデータを有する検索対象データが２０件格納されており、（「意味情報」＝“レストラン”、「文字列」＝“イタリアン”）であるメタデータを有する検索対象データが１０件格納されているものとする。
【００４７】
まず、ユーザは、第１実施形態と同様に、ユーザ端末１０を操作し、２つの検索メタデータ（ここでは、文字列“渋谷”に意味情報“地名”が対応付けられたメタデータと、文字列“イタリアン”に意味情報“レストラン”が対応付けられたメタデータ）と、重み付けして検索する意味情報“地名”を表す重要度データを入力したものとする。これにより、これらの検索メタデータから構成された検索条件データと重要度データを内包した検索要求データが通信ネットワーク２０を介してノード５０Ａに送信される。
【００４８】
図１１に示すように、ノード５０Ａの検索要求受信部４０１は、ユーザ端末１０からの検索要求データを受信する。（ステップＳ７０１）。そして、検索要求受信部４０１は、要求内容保持部４０６に、検索要求データを送信する。要求内容保持部４０６は、受信した検索要求データを記憶する（ステップ７０２）。検索要求受信部４０１は、判断部４０２に検索要求データを送信する。
検索要求データを受信した判断部４０２は、検索条件データを有する検索対象データをメタデータデータベース３６１から抽出する検索処理を行う（ステップＳ７０３）。すなわち、判断部４０２は、文字列と意味情報を区別しつつ文字列を比較する処理を、全ての検索メタデータと全ての検索対象データとの間で行う。
ここでは、検索条件データを有する検索対象データはメタデータデータベース３６１に存在しないため、検索対象データは抽出されない（ステップＳ７０３；Ｎｏ）。判断部４０２は、履歴参照部６０４に検索条件データと重要度データを送信し、最適なノードを選択するよう要求する。履歴参照部６０４は、検索結果履歴テーブル５６２に格納されている検索結果履歴データを基に、最適なノードを選択する。（ステップＳ７０４）。
【００４９】
ここで、履歴参照部６０４が、最適なノードを選択する方法を、図１２を参照して具体的に説明する。
ここでは、重み付けすべき意味情報が“地名”であるため、履歴参照部６０４は、検索結果履歴テーブル５６２のメタデータ（「意味情報」＝“地名”、「文字列」＝“渋谷”）の評価値を重み付けするために、例えば、評価値を２倍にする。そして、履歴参照部６０４は、この２倍にした評価値とメタデータ（「意味情報」＝“レストラン”、「文字列」＝“イタリアン”）の評価値とを加算することによって、検索条件データ（（「意味情報」＝“地名”、「文字列」＝“渋谷”）かつ（「意味情報」＝“レストラン”、「文字列」＝“イタリアン”））についての評価指標を求める。履歴参照部６０４は、このようにしてノード毎に評価指標を求め、最も大きい評価指標となるノードを最適ノードとして選択する。このように評価指標を算出すれば、メタデータデータベース３６１にメタデータ（「意味情報」＝“地名”かつ「文字列」＝“渋谷”）を有する検索対象データを多く格納したノードが選ばれることとなる（処理Ｐ３１、３２）。
【００５０】
例えば、図１２に示すように、ノード５０Ｂについては、（「意味情報」＝“地名”、「文字列」＝“渋谷”）であるメタデータの評価値は“５０”であり、（「意味情報」＝“レストラン”、「文字列」＝“イタリアン”）であるメタデータの評価値は“１０”であるため、ノード５０Ｂの評価指標は２×５０＋１０＝１１０となる。
同様に、ノード５０Ｃについては、（「意味情報」＝“地名”、「文字列」＝“渋谷”）であるメタデータの評価値は“２０”であり、（「意味情報」＝“レストラン”、「文字列」＝“イタリアン”）であるメタデータの評価値は“２０”であるため、ノード５０Ｂの評価指標は２×２０＋２０＝６０となる。
ノード５０Ｄについては、（「意味情報」＝“地名”、「文字列」＝“渋谷”）であるメタデータの評価値は“８０”であり、（「意味情報」＝“レストラン”、「文字列」＝“イタリアン”）であるメタデータの評価値は“６０”であるため、ノード５０Ｂの評価指標は２×８０＋６０＝２２０となる。
【００５１】
以上より、ノード５０Ｄの評価指標が最も大きくなるため、履歴参照部６０４は、ノード５０Ｄを最適なノードとして選択し、このノード５０Ｄが最適なノードであるという情報を検索要求送信部４０５に送信する。
検索要求送信部４０５は、受信した情報を基に、ノード５０Ｄに検索条件データと重要度データと要求元のノード５０Ａの通信アドレスを示すデータを有する検索要求データを送信する（図１１のステップＳ７０５、図１２の処理Ｐ３３）。
【００５２】
２−２−２．履歴更新処理
次に、ノード５０Ａより検索要求データを受信したノード５０Ｄにおいて、検索結果履歴テーブル５６２が更新される動作を説明する。
【００５３】
図１１に示すように、ノード５０Ｄの検索要求受信部４０１は、検索要求データを受信する。（ステップＳ７０１）。そして、検索要求受信部４０１は、要求内容保持部４０６に、検索要求データを送信する。要求内容保持部４０６は、受信した検索要求データを記憶する（ステップＳ７０２）。
次に、検索要求受信部４０１は、判断部４０２に検索要求データを送信する。検索要求データを受信した判断部４０２は、検索条件データを有する検索対象データをメタデータデータベース３６１から抽出する検索処理を行う（ステップＳ７０３）。
ここでは、検索条件データを有する検索対象データはメタデータデータベース３６１に格納されているため、検索対象データは抽出される（ステップＳ７０３；Ｙｅｓ）。また、判断部４０２は、メタデータデータベース３６１から、検索メタデータ（「意味情報」＝“地名”、「文字列」＝“渋谷”）と合致するメタデータを有する２０件の検索対象データと、検索メタデータ（「意味情報」＝“レストラン”、「文字列」＝“イタリアン”）と合致するメタデータを有する１０件の検索対象データを抽出する。判断部４０２は、検索結果を示す検索結果データを検索要求データの送信元のノード５０Ａへ返信するよう検索結果送信部４０３に指示する。検索結果送信部４０３は、要求元のノード５０Ａの通信アドレスと、抽出した検索対象データの所在を示すＵＲＬ（Ｕｎｉｆｏｒｍ　Ｒｅｓｏｕｒｃｅ　Ｌｏｃａｔｏｒ）と、抽出した検索メタデータを有する検索対象データの件数と、ノード５０Ｄの通信アドレスとを内包する検索結果データを、要求元のノード５０Ａに送信する（ステップＳ７０６）。
【００５４】
次に、図１３、図１４に示すフローチャートを参照して、ノード５０Ａにおいて、検索結果履歴テーブル５６２を更新する更新処理について説明する。
まず、ノード５０Ａの履歴更新部６０８は、ノード５０Ｄの検索結果送信部４０３より送信されてきた検索結果データを受信する（図１３のステップＳ８０１、図１４の処理Ｐ４１）。そして、検索結果受信部４０７は、この検索結果データに内包されている要求元のノード５０Ａの通信アドレスと自ノード５０Ａの通信アドレスとを比較する。両者は一致しているので、履歴更新部６０８は、要求内容保持部４０６に記憶しておいた検索メタデータ（「意味情報」＝“地名”、「文字列」＝“渋谷”）と（「意味情報」＝“レストラン”、「文字列」＝“イタリアン”）を受信する。そして、履歴更新部６０８は、検索結果データが送信されてきたノード“５０Ｄ”を示すノードデータとメタデータ（「意味情報」＝“地名”、「文字列」＝“渋谷”）と検索結果データに含まれる当該メタデータが抽出された件数“２０件”を示すデータとを対応付け、同様に、検索結果データが送信されてきたノード“５０Ｄ”を示すノードデータとメタデータ（「意味情報」＝“レストラン”、「文字列」＝“イタリアン”）と検索結果データに含まれる当該メタデータが抽出された件数“１０件”を示すデータとを対応付けて、検索結果履歴データを作成する（図１３のステップＳ８０２）。そして、履歴更新部６０８は、図１４に示すように、検索結果履歴テーブル５６２を更新する（図１３のステップＳ６０３、図１４の処理Ｐ４２）。
これにより、図１４に示すように、（「ノード」＝“５０Ｄ”、「意味情報」＝“地名”、「文字列」＝“渋谷”、「評価値」＝“８０”）であるデータは、「評価値」＝“２０”に更新され、（「ノード」＝“５０Ｄ”、「意味情報」＝“レストラン”、「文字列」＝“イタリアン”、「評価値」＝“６０”）であるデータは、「評価値」＝“１０”に更新される。
【００５５】
そして、履歴更新部６０８は、当該検索結果データを検索要求データの送信元のユーザ端末１０へ返信するよう検索結果送信部４０３に指示し、要求内容保持部４０６は検索要求データを破棄する。
検索結果送信部４０３は、ユーザ端末１０に検索結果データを送信する。
【００５６】
このように、単一のメタデータ毎の評価値を検索結果履歴テーブル５６２に保持しておくことで、複数のメタデータを組み合わせた検索において最適ノードを選択する際に、単一のメタデータの評価値を組み合わせて評価指標を算出することができるため、より最適ノードを選択するのに有用な評価指標を算出することができる。
また、ユーザが重点的に検索を行いたいメタデータの評価値に対して重み付けを行うことができるため、ユーザのニーズに合わせた評価指標を算出して最適なノードを選択することが可能となる。
【００５７】
３．変形例
以上、本発明の実施形態について説明したが、本発明はその主要な特徴から逸脱することなく他の様々な形態で実施することが可能である。上述した実施形態は、本発明の一態様を例示したものに過ぎず、本発明の範囲は、特許請求の範囲に示す通りであって、また、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内に含まれる。なお、変形例としては、例えば、以下のようなものが考えられる。
【００５８】
（１）上記実施形態においては、最適ノードを選択する評価指標を算出する方法として、単純に評価値を加算する方法と、ユーザが指定したメタデータの評価値に重み付けする方法を示したが、評価指標を算出する方法はこれに限定されない。
例えば、（ａ）各ノードの中で、最大の評価値をそのまま評価指標とする方法が考えられる。具体的には、第１実施形態において、図５に示すノード３０Ｂについては、（「意味情報」＝“地名”、「文字列」＝“新宿”）であるメタデータの評価値は“５０”及び“６０”であり、（「意味情報」＝“レストラン”、「文字列」＝“フレンチ”）であるメタデータは格納されていないため、ノード３０Ｂの評価指標は、最大の評価値“６０”となる。同様に、ノード３０Ｃについては、（「意味情報」＝“地名”、「文字列」＝“新宿”）であるメタデータの評価値は“２０”であり、（「意味情報」＝“レストラン”、「文字列」＝“フレンチ”）であるメタデータの評価値は“２０”である。従って、ノード３０Ｃの評価指標は“２０”となる。ノード３０Ｄについては、（「意味情報」＝“地名”、「文字列」＝“新宿”）であるメタデータも、（「意味情報」＝“レストラン”、「文字列」＝“フレンチ”）であるメタデータも格納されていないため、ノード３０Ｄの評価指標は“０”である。以上より、最大の評価指標は“６０”であり、ノード３０Ｂが選択される。
また、重み付けするメタデータをユーザが指定する以外にも、特定の計算式や関数を用いることにより、重み付けすべきメタデータやノードを加味して評価指標を算出する方法が考えられる。
例えば、（ｂ）各ノード毎に、または全てのノード共通に、最適な評価値である閾値を予め決定しておき、当該閾値より検索メタデータに対応する評価値を減算した値の絶対値を、ノード毎に加算し、当該加算した値が最小のノードを選択する方法が考えられる。例えば、図５に示すノード３０Ｂの閾値を“６０”、ノード３０Ｃの閾値を“２０”、ノード３０Ｄの閾値を“３０”と決定したとすると、ノード３０Ｂの評価指標は、｜５０−６０｜＋｜６０−６０｜＝１０となり、ノード３０Ｃについては、｜２０−２０｜＋｜２０−２０｜＝０となり、ノード３０Ｄについては、｜３０−０｜＋｜３０−０｜＝６０となる。以上より、最小の評価指標は“０”であり、ノード３０Ｃが選択されることとなる。
また、（ｃ）任意の関数、例えば、メタデータの意味情報をファジィ測度としたファジィ積分を行うための関数を用いて、評価指標を算出してもよい。
また、上記実施形態においては、メタデータデータベース３６１に検索条件データまたは検索メタデータと合致するメタデータを有する検索対象データが格納されている件数を評価値としたが、例えば、ありふれたメタデータについては、検索対象データの件数に１未満の数を乗算した値を評価値としてもよい。
また、上記第２実施形態においては、評価値を２倍にすることにより重み付けしたが、これに限定されず、重み付けするのに最適な任意の倍数を選択することができる。また、ユーザが検索するメタデータの重要度に応じて重み付けの倍数をユーザ端末１０より指定できるようにしてもよい。
【００５９】
（２）上述した実施形態では、ＸＭＬを用いて作成されたメタデータを検索対象データとしたが、文字列と当該文字列の属性を示す情報とが対応付けられている任意のメタデータを検索対象データとするように実施形態を変形してもよい。
【００６０】
（３）上記実施形態においては、検索要求データや検索結果データに含まれるノードを識別する情報として通信アドレスを用いたが、これに限定されず、ノードを一意に特定できる情報であれば何を用いてもよい。
【００６１】
（４）上記実施形態においては、検索メタデータを複数組み合わせてＡＮＤ検索を行う実施形態を説明したが、ＯＲ検索でもよいことは言うまでもない。ＯＲ検索の場合には、例えば、第１実施形態のステップＳ５０３において、判断部４０２は、検索条件データを有する検索対象データを抽出するのではなく、検索条件データを構成する検索メタデータを少なくとも１つ有する検索対象データをメタデータデータベース３６１から抽出する検索処理を行うこととなる。また、評価値は、検索メタデータを少なくとも１つ有する検索対象データの件数となる。
【００６２】
（５）上記実施形態においては、無限ループを避けるために禁止を設けたが、無限ループを許容する場合には禁止は不要である。また、他の周知の手法により無限ループを避けるようにしてもよい。
【００６３】
（６）上記実施形態においては、同一の検索が一つのノードで重複して行われないようにしたが、これに限定されず、同一の検索が一つのノードで重複して行われるようにしてもよい。
【００６４】
【発明の効果】
以上説明したように、本発明によれば、分散型検索システムにおいて、最適なノード選択を行い、効率的な検索を行うことができる。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係る分散型検索システムの構成を示すブロック図である。
【図２】同実施形態に係るノードのハードウェア構成を示すブロック図である。
【図３】同実施形態に係るＣＰＵが検索プログラムを実行することでノードに実現される機能を説明するための機能ブロック図である。
【図４】同実施形態に係るノードにおいて、ノード選択処理の動作を説明するためのフローチャートである。
【図５】同実施形態に係るノードにおいて、ノード選択処理の動作を説明するための図である。
【図６】同実施形態に係るノードにおいて、履歴更新処理の動作を説明するためのフローチャートである。
【図７】同実施形態に係るノードにおいて、履歴更新処理の動作を説明するための図である。
【図８】本発明の第２実施形態に係る分散型検索システムの構成を示すブロック図である。
【図９】同実施形態に係るノードのハードウェア構成を示すブロック図である。
【図１０】同実施形態に係るＣＰＵが検索プログラムを実行することでノードに実現される機能を説明するための機能ブロック図である。
【図１１】同実施形態に係るノードにおいて、ノード選択処理の動作を説明するためのフローチャートである。
【図１２】同実施形態に係るノードにおいて、ノード選択処理の動作を説明するための図である。
【図１３】同実施形態に係るノードにおいて、履歴更新処理の動作を説明するためのフローチャートである。
【図１４】同実施形態に係るノードにおいて、履歴更新処理の動作を説明するための図である。。
【図１５】従来のノード選択処理と履歴更新処理の動作を説明するための図である。
【符号の説明】
１、２……分散型検索システム、１０……ユーザ端末、２０……通信ネットワーク、３０、５０……ノード、３１……ＣＰＵ、３６、５６……ハードディスク装置、３６１……メタデータデータベース、３６２、５６２……検索結果履歴テーブル、３６３、５６３……検索プログラム、４０１……検索要求受信部、４０２……判断部、４０３……検索結果送信部、４０４、６０４……履歴参照部、４０５……検索要求送信、４０６……要求内容保持部、４０７……検索結果受信部、４０８、６０８……履歴更新部
【図１】
2004127125.tif 000003
【図２】
2004127125.tif 000004
【図３】
2004127125.tif 000005
【図４】
2004127125.tif 000006
【図５】
2004127125.tif 000007
【図６】
2004127125.tif 000008
【図７】
2004127125.tif 000009
【図８】
2004127125.tif 000010
【図９】
2004127125.tif 000011
【図１０】
2004127125.tif 000012
【図１１】
2004127125.tif 000013
【図１２】
2004127125.tif 000014
【図１３】
2004127125.tif 000015
【図１４】
2004127125.tif 000016
【図１５】
2004127125.tif 000017