(57)【要約】【課題】スケーラブルかつ効率的な情報検索方法を得ること。【解決手段】サービスの提供元となる端末装置が提供する情報の所在、内容等を示す情報や当該情報を利用するための情報であるサービス情報を保持し、所定の条件に基づいてグループに分けられた通信装置を具備する情報検索システムに適用される情報検索方法であって、サービス情報の検索を要求する情報検索要求に含まれるサービス情報を識別するための属性情報を取得する属性情報取得工程と、属性情報取得工程で取得した属性情報に基づいて、目的のサービス情報を保持する通信装置が属するグループを検索する第１の検索工程と、第１の検索工程の検索結果であるグループの代表通信装置に前記情報検索要求を転送する要求転送工程と、自身が代表通信装置である場合に、要求転送工程で転送された情報検索要求を受け取り、自グループ内で目的のサービス情報を検索する第２の検索工程と、を含む。【選択図】        図１
2007156700.tif 000002
【特許請求の範囲】
【請求項１】
サービスの提供元となる端末装置が提供する情報の所在、内容等を示す情報や当該情報を利用するための情報であるサービス情報を保持し、所定の条件に基づいてグループに分けられた通信装置を具備する情報検索システムに適用される情報検索方法であって、
前記通信装置は、
サービス情報の検索を要求する情報検索要求に含まれるサービス情報を識別するための属性情報を取得する属性情報取得工程と、
前記属性情報取得工程で取得した属性情報に基づいて、目的のサービス情報を保持する通信装置が属するグループを検索する第１の検索工程と、
前記第１の検索工程の検索結果であるグループの代表通信装置に前記情報検索要求を転送する要求転送工程と、
自身が前記代表通信装置である場合に、前記要求転送工程で転送された情報検索要求を受け取り、自グループ内で目的のサービス情報を検索する第２の検索工程と、
を含むことを特徴とする情報検索方法。
【請求項２】
前記第１の検索工程には、目的のサービス情報の属性情報が複数存在する場合に、その中からランダムに一つの属性情報を選択し、選択した属性情報に基づいて前記グループを検索する工程が含まれることを特徴とする請求項１に記載の情報検索方法。
【請求項３】
前記要求転送工程には、転送する情報検索要求に転送元のグループの検索処理の負荷状態を示す処理負荷値情報を設定する工程が含まれ、
自通信装置に接続した端末装置からの情報検索要求を転送する場合には、当該処理負荷値情報として所定の初期値が設定されることを特徴とする請求項１または２に記載の情報検索方法。
【請求項４】
前記第１の検索工程には、
前記要求転送工程で転送された情報検索要求を受け取った代表通信装置のグループが、自グループの検索処理の負荷が高い状態のために前記情報検索要求を受け付けられない状態であり、かつ、前記情報検索要求に含まれる属性情報が複数存在する場合に、自グループを識別する際に使用された属性情報以外の属性情報の中からランダムに選択した属性情報に基づいて目的のサービス情報を保持する通信装置が属するグループを検索する工程と、
自グループの処理の負荷状態を示す処理負荷値情報を設定した情報検索要求を前記検索結果のグループに転送する工程と、
が含まれることを特徴とする請求項３に記載の情報検索方法。
【請求項５】
前記通信装置は、サービス情報および当該サービス情報の提供元である端末装置の処理の負荷状態を示す情報として保持されたサービス状態情報に基づく検索結果を生成する検索結果生成工程を有することを特徴とする請求項１〜４のいずれか一つに記載の情報検索方法。
【請求項６】
前記第１の検索工程では、ＤＨＴ（Distributed  Hash  Technology）技術を利用した検索方法が実行されることを特徴とする請求項１〜５のいずれか一つに記載の情報検索方法。
【請求項７】
前記第２の検索工程では、フラッディング（Flooding）技術を利用した検索方法が実行されることを特徴とする請求項１〜５のいずれか一つに記載の情報検索方法。
【請求項８】
前記第１の検索工程では、ＤＨＴ（Distributed  Hash  Technology）技術を利用した検索方法が実行され、
前記第２の検索工程では、フラッディング（Flooding）技術を利用した検索方法が実行されることを特徴とする請求項１〜５のいずれか一つに記載の情報検索方法。
【請求項９】
前記通信装置に接続された端末装置にはユーザのコンテキスト情報が保持され、
前記端末装置は、ユーザの指定する検索条件が相対的な条件である場合に、前記コンテキスト情報に基づいて前記相対的な条件を絶対的な条件に変換する検索条件変換工程を有し、
前記検索条件変換工程の変換結果を反映した情報検索要求が発行されることを特徴とする請求項１〜８のいずれか一つに記載の情報検索方法。
【請求項１０】
ネットワークに接続するユーザのコンテキスト情報を管理するコンテキスト情報管理データベースがネットワーク上に具備されるとともに、ネットワークを構成する通信装置には、自装置に接続するユーザの最新のコンテキスト情報が前記コンテキスト情報管理データベースから読み出されて保持され、
前記通信装置は、ユーザから受け取った情報検索要求に設定された検索条件が相対的な条件である場合に、前記コンテキスト情報に基づいて前記相対的な条件を絶対的な条件に変換する検索条件変換工程を有し、
前記検索条件変換工程の変換結果に基づいて所定の検索処理を行うことを特徴とする請求項１〜８のいずれか一つに記載の情報検索方法。
【請求項１１】
サービスの提供元となる端末装置と所定の条件に基づいてグループ化された通信装置とを具備する情報検索システムに適用される情報登録方法であって、
提供する情報の所在、内容等を示す情報や当該情報を利用するための情報であるサービス情報を識別するための属性情報のうちの一つである第１の属性情報および前記所定の条件を満たす通信装置毎のグループを識別するためのグループ識別子に基づいて、提供する情報の所在、内容等を示す情報や当該情報を利用するための情報であるサービス情報の登録先となる通信装置が属するグループを選択するグループ選択工程と、
属性情報のうちの一つである第２の属性情報および通信装置を識別するための通信装置識別子に基づいて、サービス情報の登録先となる通信装置を前記グループ選択工程で選択されたグループに属する通信装置の中から選択する通信装置選択工程と、
前記通信装置選択工程において選択された通信装置に、前記サービス情報を、当該サービス情報を識別するための属性情報とともに登録する情報登録工程と、
を含むことを特徴とする情報登録方法。
【請求項１２】
前記グループ識別子は、グループに属する通信装置のＩＰアドレスを連接した文字列に基づいて算出したハッシュ値であり、
前記グループ選択工程では、前記第１の属性情報に基づいて算出されたハッシュ値および前記グループ識別子に基づいてグループが選択されることを特徴とする請求項１１に記載の情報登録方法。
【請求項１３】
前記通信装置識別子は、通信装置のＩＰアドレスに基づいて算出したハッシュ値であり、
前記通信装置選択工程では、前記第２の属性情報に基づいて算出されたハッシュ値および前記通信装置ＩＤに基づいて通信装置が選択されることを特徴とする請求項１１または１２に記載の情報登録方法。
【請求項１４】
前記通信装置選択工程において選択された通信装置に、前記サービス情報、属性情報およびサービスを提供する端末装置の処理の負荷状態を示す情報を登録することを特徴とする請求項１１〜１３のいずれか一つに記載の情報登録方法。
【請求項１５】
サービスの提供元となる端末装置と、該端末装置が提供する情報の所在、内容等を示す情報や当該情報を利用するための情報であるサービス情報を保持し、所定の条件に基づいてグループに分けられた通信装置と、を具備するネットワークサービス情報検索システムにおいて、
前記通信装置は、
サービス情報の検索を要求する端末装置からの情報検索要求に含まれるサービス情報を識別するための属性情報を取得する属性情報取得手段と、
前記属性情報取得手段で取得された属性情報に基づいて、目的のサービス情報を保持する通信装置が属するグループを検索するグループ検索手段と、
前記第１の検索手段が検索したグループの代表通信装置に前記情報検索要求を転送する情報検索要求転送手段と、
自身が前記代表通信装置である場合に、転送された情報検索要求に基づいて、自グループ内に存在する目的のサービス情報を検索するサービス情報検索手段と、
を備えたことを特徴とするネットワークサービス情報検索システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オーバーレイネットワークを構成している通信装置が構築するネットワーク上に情報を登録する方法ならびに当該ネットワーク上で複数の条件に基づいて所望の情報を検索する方法およびそのシステムに関するものである。
【背景技術】
【０００２】
例えば、Ｐ２Ｐ（Peer  to  Peer）ネットワークにおいて、ユーザが希望するサービスに関する情報（例えば、ユーザが欲しい音楽コンテンツのファイル、あるいは写真を印刷するために使用するプリンタ、などの情報（情報の所在、内容等を示す情報や、当該情報を利用するための情報）（以下「サービス情報」と呼称）が構築されているシステム（サービス情報検索システム）において、情報検索サービスが満たす必要がある属性名(例：音楽タイトル)と属性値が満たすべき条件（例：大きな古時計）を指定し、検索することを考える。なお、このような情報検索システムにサービス情報を登録する際に、当該サービス情報の属性を表す複数の［属性名，属性値］の組がキーとして登録されているものとすると、このような情報検索システムを実現するための従来技術として、下記非特許文献１および２に示される従来技術の適用が可能となる。そこで、以下、これらの従来技術を利用して構築された情報検索システムについて考察する。
【０００３】
まず、下記非特許文献１に示されたＣｈｏｒｄに代表されるＤＨＴ（Distributed  Hash  Technology）技術を利用する場合、ＩＰネットワーク上の複数の通信装置が、ＤＨＴ技術による検索を実行するためのオーバーレイネットワークを構築することにより、上記のような情報検索システムを実現することができる。
【０００４】
なお、検索対象となるサービス情報を情報検索システムに登録する際には、サービス情報に対して、検索キーとして使用するキー値に基づいて算出されたハッシュ値が付与されるものとし、当該ハッシュ値を算出する際に用いられるハッシュ関数には、ランダムで一様に分散する性質のものが使用されるものとする。また、情報検索システムを構成する各通信装置は、所定範囲のハッシュ値を有するサービス情報を管理するものとする。
【０００５】
このようにして構築されたシステムにおいて、所望のサービス情報を検索する場合には、当該サービス情報をシステムに登録したとき使用したキー値（例えば［属性名，属性値］）に基づいて検索が行われ、ユーザが求めるサービス情報が検索されることになる。
【０００６】
また、下記非特許文献２に示されたＧｎｕｔｅｌｌａに代表される、Ｆｌｏｏｄｉｎｇによる探索技術を利用する場合、ＩＰネットワーク上の複数の通信装置が、Ｆｌｏｏｄｉｎｇによる検索を実行するためのオーバーレイネットワークを構築することにより、上記のような情報検索システムを実現することができる。なお、サービス情報の管理は、最初にサービス情報の登録要求を受け付けた通信装置が担任する。
【０００７】
このようにして構築されたシステムにおいて、所望のサービス情報を検索する場合に、ユーザは、通信装置に対して検索要求を発行してサービス情報の検索を行う。なお、検索要求を受けた通信装置は、自装置が管理するデータに対して検索要求に示される検索を実行し、条件を満たすサービス情報が見つかった場合には、検索応答でサービス情報を要求元（ユーザ、または、通信装置）に返信する。一方、条件を満たすサービス情報が見つからなかった場合には、通信装置は、オーバーレイネットワーク上の隣接する通信装置に対して検索要求を転送する。なお、典型的な仕様として、この検索要求には最大何ホップまで転送可能かを示すＴＴＬ（Time  To  Live）値が付けられており、通信装置が検索要求を転送する際にＴＴＬ値が１だけ減算され、ＴＴＬ値が０になった時点で検索要求の転送が中止される。
【０００８】
【非特許文献１】Chord：A  Scalable  Peer-to-peer  Lookup  Service  for  Internet  Applications，I．Stoica，etal，ACM  SIGCOMM’01
【非特許文献２】Mapping  the  Gnutella  Network：Macroscopic  Properties  of  Large-Scale  Peer-to-Peer  Systems，Matei  Ripeanu，etal，IPTPS02
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記ＤＨＴ技術を利用した場合は、例えば［属性名，属性値］のペアの値をキー値とした検索を実行するための技術であり、キー値から得られるハッシュ値がランダムで一様な分布になるという性質を利用しているため、属性値が取り得る値の範囲を指定してサービス情報を検索することができないといった問題点があった。
【００１０】
また、上記Ｆｌｏｏｄｉｎｇによる探索技術は、属性値が取り得る値の範囲を指定したサービス情報の検索は可能であるが、このようなＦｌｏｏｄｉｎｇを利用した検索手法は、大規模な検索ネットワークにおいて使用する場合に検索効率が悪いといった問題点が従来から指摘されていた。
【００１１】
そのため、上述したいずれの手法を用いた場合にも、属性値の範囲指定を含む検索条件に対して、サービス情報の検索をスケーラブルかつ効率的に行うことが困難であった。
【００１２】
上記に加えて、これらの手法に基づく検索方式では、サービス情報の検索要求元であるユーザの環境（コンテキスト）に対する相対的な条件指定を実現するための検索方式が定義されていないので、例えば自分の周囲１０ｍ以内に存在するプリンタを検索するような、相対的な条件を指定した検索ができなかった。
【００１３】
さらには、これらの手法に基づく検索方式では、例えばあるプリンタには印刷ジョブが溜まっていて、これ以上の印刷要求を受け付けたくない場合に、他のプリンタのサービスを利用するといった検索方式が定義されていないので、サービス提供側の状態を考慮した最適な検索結果を得ることができなかった。
【００１４】
本発明は、上記に鑑みてなされたものであって、属性値の範囲指定を含む検索条件に対して、サービス情報の登録および検索をスケーラブルかつ効率的に行うことを可能とする検索方法、登録方法およびそのシステムを実現することを第１の目的とする。
【００１５】
また、サービス情報の検索要求元であるユーザの環境（コンテキスト）に対して相対的な条件指定による検索を可能とする検索方法およびそのシステムを実現することを第２の目的とする。
【００１６】
さらに、検索条件を満たすサービス情報が複数存在する場合に、その中でサービス提供側の状態を考慮したサービス情報選択を可能とする検索方法およびそのシステムを実現することを第３の目的とする。
【課題を解決するための手段】
【００１７】
上述した課題を解決し、目的を達成するために、本発明にかかる情報検索方法は、サービスの提供元となる端末装置が提供する情報の所在、内容等を示す情報や当該情報を利用するための情報であるサービス情報を保持し、所定の条件に基づいてグループに分けられた通信装置を具備する情報検索システムに適用される情報検索方法であって、前記通信装置は、サービス情報の検索を要求する情報検索要求に含まれるサービス情報を識別するための属性情報を取得する属性情報取得工程と、前記属性情報取得工程で取得した属性情報に基づいて、目的のサービス情報を保持する通信装置が属するグループを検索する第１の検索工程と、前記第１の検索工程の検索結果であるグループの代表通信装置に前記情報検索要求を転送する要求転送工程と、自身が前記代表通信装置である場合に、前記要求転送工程で転送された情報検索要求を受け取り、自グループ内で目的のサービス情報を検索する第２の検索工程と、を含むことを特徴とする。
【発明の効果】
【００１８】
この発明によれば、ネットワーク上で情報を検索する際に条件の範囲指定を可能としたスケーラブルかつ効率的な情報検索方法を実現できる、また、検索条件を満たす情報（検索結果）が複数存在する場合に、その中でサービスの提供元となる端末の状態を考慮した最適な検索結果を得ることが可能となる、という効果を奏する。
【発明を実施するための最良の形態】
【００１９】
以下に、本発明にかかる情報検索方法、情報登録方法およびネットワークサービス情報検索システムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００２０】
実施の形態１．
図１は、本発明の実施の形態１にかかる情報検索方法および情報登録方法を説明するためのネットワークサービス情報検索システムの構成例を示す図である。同図に示すネットワークサービス情報検索システムは、オーバーレイネットワークを構成して実際に検索処理を行う通信装置２−１〜２−ｎと、これらの通信装置２−１〜２−ｎのいずれかに接続されてユーザからのサービス情報登録要求およびサービス情報検索要求を発行したり、いずれかの通信装置から応答された検索応答を受信してユーザへ返答したりする端末装置（以下「端末」と呼称）１−１〜１−ｍと、を備えるように構成される。
【００２１】
ここで通信装置２−１，２−２，・・・，２−ｎには、それぞれの通信装置の識別子である装置ＩＤ（ＩＤ値）が割り当てられているものとする。なお、当該装置ＩＤとして、例えば通信装置のＩＰアドレスに基づいて算出したハッシュ値を使用することができる。さらに、本実施の形態の検索システムでは、通信装置２−１，２−２，・・・，２−ｎを複数のグループに分け、当該一つのグループを一つのクラスタとして定義する。この定義により、各クラスタは、自身を一つのネットワークノードとして取り扱うことが可能な、階層的な構造をとることになる。
【００２２】
図２は、クラスタという概念によって階層化された図１の検索システムの構成を示す図である。図２において、各クラスタには、クラスタの識別子であるクラスタＩＤ（ＩＤ値）が割り当てられる。クラスタＩＤとして、例えばクラスタを構成する各通信装置のＩＰアドレスを連接した文字列に基づいて算出されたハッシュ値を上記クラスタＩＤとして使用することができる。なお、各クラスタには代表通信装置が含まれるものとる。なお、上記通信装置のＩＤおよびネットワークノードのＩＤを算出するために使用するハッシュ関数として、ランダムで一様なハッシュ値を生成するものが使用される。
【００２３】
つぎに、サービス情報を、サービス情報の属性を表す複数の［属性名，属性値］の組をキーとして上記情報検索システムに登録する手順を説明する。なお、ここでは、端末１−１が通信装置２−１に対してサービス情報の登録を要求（サービス情報登録要求を送信）する場合の動作をその一例として説明する。
【００２４】
図２において、端末１−１は、サービス情報および少なくとも一つのサービス情報のキー（例えば［属性名，属性値］）を示したサービス情報の登録要求を通信装置２−１に対して行う。端末１−１からサービス情報の登録要求を受信した通信装置２−１は、サービス情報の登録要求に含まれるサービス情報の属性名に基づいてハッシュ値（Ｈａ）をそれぞれ算出する。つぎに、通信装置２−１は、検索ネットワークを構成するクラスタの中で、そのＩＤ値が、上記Ｈａ以下かつ最大のものに、サービス情報のキー（当該サービス情報のキーとなる［属性名，属性値］の全ての組）と、当該サービス情報と、を転送する（サービス情報登録要求を転送する）。なお、サービス情報などのクラスタへの転送は、例えば、クラスタの代表通信装置をChordのネットワークを構成するノードとして取り扱うことで、上記従来技術に基づいて実現可能となる。
【００２５】
サービス情報のキーとサービス情報とを受け取ったクラスタ（クラスタ（ＩＤ＝Ｂ）とする）の代表通信装置（通信装置２−ｎとする）は、当該クラスタにサービス情報が割当てられる原因となった属性名と対をなす属性値に基づいてハッシュ値（Ｈｂ）を算出する。つぎに、通信装置２−ｎは、クラスタを構成する通信装置の中で、ＩＤ値が、上記Ｈｂ以下かつ最大のものに、サービス情報のキー（当該サービス情報のキーとなる［属性名，属性値］の全ての組）と、当該サービス情報と、を転送する。なお、サービス情報などのクラスタ内の通信装置への転送は、上記クラスタ外の通信装置への転送と同様に、例えばクラスタを構成する通信装置をChordのネットワークを構成するノードとして取り扱うことで、実現可能となる。また、サービス情報のキーとサービス情報とを受け取った通信装置は、当該サービス情報のキーとなる［属性名，属性値］の全ての組と、当該サービス情報と、を登録する。
【００２６】
なお、代表通信装置を含む所定の通信装置に登録されたサービス情報のキーとサービス情報とは、クラスタ内の複数の通信装置に均一に分散して登録することが好ましい。なぜなら、登録情報を分散化することで、例えば後述の検索処理において、クラスタ内の検索処理を複数の通信装置で同時並行的に処理することが可能となり、検索処理の集中や、検索処理負荷の増加が抑制され、検索処理時間を短縮化することができる。
【００２７】
なお、端末１−１は、サービス情報の登録を要求するにあたり、サービス情報に加えて自端末の処理負荷の状況（例えば、処理負荷にかかる「軽／中／重／要求受付不可」などの情報）を示すサービス状態情報を通知するようにしてもよい。また、サービス状態情報の状況が変化するなどした場合には、これらの情報を適宜更新（通知）するようにしてもよい。これらの通知処理により、通信装置は、サービス提供元となる端末（この例では端末１−１）の処理負荷の状況を考慮した効率的な検索処理が可能となる。
【００２８】
つぎに、図２に示すネットワークサービス情報検索システムにおいて、サービス情報の属性を表す複数の［属性名，属性値］の組をキーとして所望のービス情報を検索する手順について説明する。なお、ここでは、端末１−１が通信装置２−１に対してサービス情報の検索を要求（サービス情報の検索要求を送信）する場合の動作の概要を図２を参照して説明する。
【００２９】
なお、ユーザ（端末）が発行するサービス情報の検索要求（以下「サービス情報検索要求」という）は、検索対象のサービス情報が満たすべき属性名に対する属性値の条件を、値指定もしくは範囲指定による複数の属性名に対するＡＮＤ条件で指定可能とする。例えば、「［属性名＝位置，属性値＞（経度＝１００，緯度＝６０）］ＡＮＤ［属性名＝会社名，属性値＝ＡＢＣ株式会社］」のような指定が可能とする。
【００３０】
図２において、端末１−１からサービス情報検索要求を受信した通信装置２−１は、当該検索要求の条件に指定される属性名の中からランダムに一つの属性名を選択し、選択した属性名に基づいてハッシュ値（Ｈａ）を算出する。つぎに、通信装置２−１は、検索ネットワークを構成するクラスタの中で、ＩＤ値が、上記Ｈａ以下かつ最大のものに、サービス情報検索要求を転送する。ここで、転送するサービス情報要求には、選択された属性名が含まれているものとする。なお、サービス情報検索要求の他のクラスタへの転送は、例えばクラスタの代表通信装置をChordのネットワークを構成するノードとして取り扱い、当該クラスタの代表通信装置宛に上記サービス情報検索要求を転送することで可能となる。また、通信装置２−１は、上記サービス情報検索要求に対する応答を受け取ると、当該応答を端末１−１に転送する。
【００３１】
ところで、前述の処理負荷の状況を示すサービス状態情報（処理負荷値）のフィールドを利用し、例えば「処理負荷値＝−１」などと設定することにより、通信装置２−１に接続されたユーザ（端末１−１）から発行されたサービス情報検索要求時の転送が初期転送処理であるか否か（初期転送処理以外の場合には、処理負荷値に正の数値が設定されている）が明らかとなるが、この処理については後述する。
【００３２】
つぎに、サービス情報検索要求を受け取ったクラスタの代表通信装置（通信装置２−ｎとする）が、自クラスタ内の検索処理状態を考慮して行う検索処理について図２および図３を参照して説明する。なお、図３は、サービス情報検索要求を受け取ったクラスタの代表通信装置（通信装置２−ｎ）における検索処理の一例を示すフローチャートである。
【００３３】
通信装置２−ｎはサービス情報検索要求を受信し（ステップＳ１，Ｙｅｓ）、例えば現在処理中の検索要求数に基づいて自クラスタの処理負荷値（Ｘ１≧０)を決定し（ステップＳ２）、当該処理負荷値（以下「処理負荷値Ｘ１」と表記）が所定のしきい値よりも高いかどうかを判定する（ステップＳ３）。なお、このステップＳ３の比較判定処理は、絶対的な指標である所定のしきい値（固定的なしきい値：第１のしきい値）との比較に基づく比較判定処理である。
【００３４】
処理負荷値Ｘ１が所定のしきい値よりも低い場合（ステップＳ３，Ｙｅｓ）、一方、処理負荷値Ｘ１が所定のしきい値よりも高い場合（ステップＳ３，Ｙｅｓ）、さらに、この処理負荷値Ｘ１が、上記サービス情報検索要求で示された処理負荷値（以下「処理負荷値Ｘ０」と表記）よりも高いか否かを判定する（ステップＳ４）。ここで、上記ステップＳ３の比較判定処理では、絶対的な指標である所定のしきい値との比較処理が行われるのに対し、このステップＳ４における比較判定処理では、相対的な指標である処理負荷値Ｘ０（変動要素のあるしきい値：第２のしきい値）との比較判定処理が行われる。その結果、処理負荷値Ｘ１が処理負荷値Ｘ０よりも高い場合（ステップＳ４，Ｙｅｓ）には、自クラスタの処理負荷が絶対的にも相対的にも高い状態にあることを示しているので、通信装置２−ｎは、サービス情報検索要求の転送元の通信装置（本動作例では通信装置２−１）に対して、検索応答(処理負荷が高いことによる拒否応答)を返送する（ステップＳ１２）。
【００３５】
これに対して、処理負荷値Ｘ１が処理負荷値Ｘ０よりも低い場合（ステップＳ４，Ｎｏ）には、自クラスタの処理負荷が相対的な指標値である処理負荷値Ｘ０との関係では、あまり高くないことを示しているので、通信装置２−ｎは、さらに以下に示す判定処理を行うものとしている。
【００３６】
つぎに、通信装置２−ｎは、要求されたサービス情報検索要求が初期転送処理であるか否か（処理負荷値Ｘ０＝−１またはＸ０≠−１にて判定可）を判定する（ステップＳ５）。処理負荷値Ｘ０＝−１の場合には（ステップＳ５，Ｙｅｓ）、さらに、サービス情報検索要求に複数の属性名が指定されているか否かを判定する（ステップＳ６）。サービス情報検索要求に複数の属性名が指定されている場合（ステップＳ６，Ｙｅｓ）、通信装置２−ｎは、サービス情報検索要求で指定されている属性名の中で、自装置に検索要求が転送されてきた際に選択されていた属性名以外の属性名からランダムに一つの属性名を選択し（同一ハッシュ値が生成されることを防止するため）、選択した属性名に基づいてハッシュ値（Ｈａ）を算出する（ステップＳ７）。通信装置２−ｎは、検索ネットワークを構成するクラスタの中で、上記Ｈａ以下かつ最大のクラスタＩＤ値を有する通信装置（すなわち代表通信装置）に、サービス情報検索要求を転送する（ステップＳ８）。なお、当該サービス情報検索要求では、処理負荷値Ｘ０＝処理負荷値Ｘ１とされ、また、上記ランダムに選択した属性名が示される。
【００３７】
その後、上記転送されたサービス情報検索要求に対する応答を受信し（ステップＳ９，Ｙｅｓ）、その応答内容が検索拒否（理由：処理負荷が高い）以外の場合（ステップＳ１０，Ｎｏ）には、通信装置２−ｎは、当該応答の内容である検索結果を要求元通信装置である通信装置２−１へ送信する（ステップＳ１１）。一方、上記応答の内容が検索拒否の場合（ステップＳ１０，Ｙｅｓ）、通信装置２−ｎは、自装置の属するクラスタ内で情報検索処理を実行する（ステップＳ１３）。
【００３８】
なお、上記ステップＳ３、Ｓ５およびＳ６における判定の結果がそれぞれ、「処理負荷値Ｘ１が低い（ステップＳ３，Ｎｏ）」、「処理負荷値Ｘ０≠−１（ステップＳ５，Ｎｏ）」、および「サービス情報検索要求に複数の属性名が指定されていない（ステップＳ６，Ｎｏ）」の各場合にも、それぞれの処理につづいて通信装置２−ｎの属するクラスタ内での情報検索処理が実行される（ステップＳ１３）。
【００３９】
つぎに、クラスタ内における情報検索動作の一例（上記ステップＳ１３の処理に相当）について説明する。なお、ここでは、図２に示した通信装置２−１が、端末１−１から受け取ったサービス情報検索要求を他のクラスタの代表通信装置である通信装置２−ｎに転送し、当該要求を受け取った通信装置２−ｎが、自装置の属するクラスタ内で情報検索を行う場合の動作について説明する。
【００４０】
図２において、通信装置２−ｎは、サービス情報検索要求により示された属性値をキーとして自装置に登録されているサービス情報について検索するとともに、クラスタ内の他の通信装置（例えば通信装置２−４）に対してサービス情報検索要求をフラッディング（Flooding）し、フラッディングされたサービス情報検索要求に基づいて他の通信装置（通信装置２−４およびその他の通信装置）によって検索されたサービス情報の検索結果を取得する。通信装置２−ｎは、自装置にかかる検索結果と他の通信装置から取得した検索結果とをマージし、そのマージ結果を要求元通信装置２−１に対して返送する。
【００４１】
また、サービス情報検索要求を受信した通信装置（例えば通信装置２−１）は、検索条件を満たすサービス情報を保持し、かつ当該情報に対応するサービスの提供元となる端末の処理負荷の状況（例えば、処理負荷が軽／中／重／要求受付不可など）を示すサービス状態情報も保持している場合には、サービス状態情報を考慮した検索結果を返送することとしてもよい。例えば、検索条件を満たすサービス情報を保持しているが、そのサービスの提供元となる端末の処理の負荷が高くサービスが提供できないような場合には、「サービスの提供元となる端末の処理の負荷状況の情報を付与」した検索結果を返送したり、「該当サービスなし（条件を満たすサービスが見つからなかった）」とする検索結果を返送したりすることにより、サービスを提供する端末の処理負荷の状況を考慮した効率的な検索処理が可能となる。
【００４２】
このように、本実施の形態においては、サービス情報を識別するための情報として複数種類の情報（属性情報）を用い、そのうちの第１の情報（属性名）に基づいて当該サービス情報の登録先となる通信装置が属するクラスタを特定し、さらに、第２の情報（属性値）に基づいてサービス情報の登録先となる通信装置を特定することとした。また、サービス情報で指定される属性名および属性値は、それらを一組として複数組指定し、一つのサービス情報を複数のクラスタ（通信装置）に均一に分散して登録することとした。また、サービス情報の検索処理においては、ＤＨＴ技術を利用してサービス情報が含まれるクラスタを検索し、当該検索により特定されたクラスタ内においてサービス情報の登録先である通信装置をFloodingにより検索することとした。これらの処理により、検索条件として属性値の範囲指定が可能となり、スケーラブルかつ効率的なサービス情報の検索方法およびそのシステムを実現することができる。
【００４３】
また、サービス情報の登録先である通信装置は、当該サービス情報に対応するサービスの提供元となる端末の処理負荷の状況を認識可能とした。これにより、検索条件を満たすサービス情報が複数存在する場合に、その中でサービスの提供元となる端末の状態を考慮したサービス情報選択（サービス情報検索結果の作成）が可能となり、ひいては、最適な検索結果を得ることが可能となる。
【００４４】
実施の形態２．
つづいて、実施の形態２にかかる情報検索方法について説明する。なお、本実施の形態のシステム構成は、上述した実施の形態１と同様であり、サービス情報をネットワークに登録する動作についても、前述の実施の形態１で説明した動作と同様である。一方、本実施の形態の情報検索方法は、端末が、ユーザのコンテキスト情報（例えば、ユーザの位置情報、嗜好情報など）を保持し、当該コンテキスト情報を利用することにより、上述した実施の形態１にかかる情報検索動作をさらに効率的に行うことを特徴とするものである。ここでは、上述した実施の形態１の情報検索動作と異なる動作についてのみ説明する。
【００４５】
図４は、本実施の形態のネットワークサービス情報検索システムに接続される端末の構成例を示す図であり、当該端末は、検索ネットワーク端末通信処理部１１およびコンテキスト情報管理部１２を備える。ここで、検索ネットワーク端末通信処理部１１は、ユーザに指定された検索条件に基づいて、上述した実施の形態１のサービス情報検索動作時と同様の処理であるサービス情報検索要求の発行などを行う。また、コンテキスト情報管理部１２は、ユーザのコンテキスト情報を管理する。
【００４６】
このような端末が、ユーザから指定された検索条件に基づいて上記検索ネットワーク上でサービス情報を検索する際に、相対的条件が検索条件として指定された場合、検索ネットワーク端末通信処理部１１は、コンテキスト情報管理部１２が管理するコンテキスト情報を読み出し、その内容に基づいて相対的な検索条件を絶対的な検索条件に変換する。そして、当該変換された絶対的な検索条件に基づいてサービス情報を検索する。なお、サービス情報の検索動作は、上述した実施の形態１のサービス情報の検索動作と同じである。
【００４７】
このように、本実施の形態においては、端末がユーザのコンテキスト情報を管理することとし、サービス情報を検索する際に指定する検索条件が相対的な条件である場合は、前記コンテキスト情報に基づいて検索条件を絶対的な条件に変換後、サービス情報の検索を行うことした。これにより、サービス情報の検索要求元であるユーザの環境(コンテキスト)に対して相対的な条件指定が可能となり、効率的にサービス情報を検索することができる。
【００４８】
実施の形態３．
つづいて、実施の形態３にかかる情報検索方法について説明する。なお、本実施の形態の情報検索方法は、上述した実施の形態２の情報検索方法の特徴的な処理であった「相対的な検索条件を絶対的な検索条件に変換する処理」を通信装置が行うことを特徴とする。
【００４９】
図５は、実施の形態３の情報検索方法を実現する検索ネットワークの構成例を示す図であり、上述した実施の形態１の検索ネットワークを構成する通信装置２−１，２−２，・・・，２−ｎに代えて通信装置２ａ−１，２ａ−２，・・・，２ａ−ｎを、また、端末１−１，１−２，・・・，１−ｍに代えて端末１ａ−１，１ａ−２，・・・，１ａ−ｎを含み、コンテキスト情報管理データベース３が追加された構成となる。ここで、コンテキスト情報管理データベース３は、検索ネットワークに接続されるすべての端末（端末１ａ−１，１ａ−２，・・・，１ａ−ｎ）が保持するコンテキスト情報を管理する。なお、ユーザにより指定された検索条件（変換された絶対的な検索条件を含む）に基づいて行うサービス情報の検索動作については上述した実施の形態１の情報検索動作と同一であるためその説明を省略する。
【００５０】
図６は、上記端末１ａ−１，１ａ−２，・・・，１ａ−ｎに相当する端末１ａおよび上記通信装置２ａ−１，２ａ−２，・・・，２ａ−ｎに相当する通信装置２ａの構成例を示す図である。端末１ａは、検索ネットワーク端末通信処理部１１ａおよびコンテキスト情報管理部１２を備える。なお、端末１ａは、上述した実施の形態２の端末とは異なりユーザの検索条件が相対的なものであっても当該検索条件を絶対的な検索条件へ変換する処理を行わない。通信装置２ａは、検索ネットワーク通信処理部２１およびコンテキスト情報キャッシュ部２２を備える。ここで、検索ネットワーク通信処理部２１は、上述した実施の形態１の情報検索動作、後述する動作である接続された端末のコンテキスト情報の更新動作、などを行う。また、コンテキスト情報キャッシュ部２２は、接続されている端末１ａのユーザのコンテキスト情報を上記コンテキスト情報管理データベース３から読み出して記録する。
【００５１】
つづいて、コンテキスト情報管理データベース３に管理されている端末１ａのユーザのコンテキスト情報を更新する動作について説明する。端末１ａのコンテキスト情報管理部１２が端末ユーザのコンテキスト情報に変更が生じたことを検出した場合、端末１ａ（検索ネットワーク端末通信処理部１１ａ）は、通信装置２ａを介して、変更されたコンテキスト情報を含んだコンテキスト情報更新要求をコンテキスト情報データベース３宛に送信する。コンテキスト情報更新要求を受信した通信装置２ａの検索ネットワーク通信処理部２１は、コンテキスト情報更新要求をコンテキスト情報データベース３宛に転送し、さらに、コンテキスト情報更新要求に含まれている上記変更されたコンテキスト情報をコンテキスト情報キャッシュ部２２に通知する。コンテキスト情報キャッシュ部２２は、通知されたコンテキスト情報を端末１ａの新しいコンテキスト情報として記録する。また、上記コンテキスト情報更新要求を受信したコンテキスト情報管理データベース３は、当該情報更新要求に含まれるコンテキスト情報を端末１ａの新しいコンテキスト情報としてデータベースに登録する。
【００５２】
つづいて、通信装置２ａのコンテキスト情報キャッシュ部２２に記録されているコンテキスト情報の更新動作について説明する。検索ネットワーク通信処理部２１は、新しい端末１ａが自通信装置に接続したことを検出した場合、コンテキスト情報キャッシュ部２２に新しい端末１ａのユーザの識別子を通知する。コンテキスト情報キャッシュ部２２は、この識別子に対応するユーザのコンテキスト情報をコンテキスト情報データベース３から読み出して記録することによりコンテキスト情報を更新する。なお、上述したように、通信装置２ａは、コンテキスト情報更新要求を受信した場合にもコンテキスト情報キャッシュ部２２に記録しているコンテキスト情報を更新する。
【００５３】
このような検索ネットワークにおいて、ユーザから指定された検索条件に基づいてサービス情報を検索する際に、相対的な条件が検索条件として指定された場合、通信装置２ａは、コンテキスト情報キャッシュ部２２に記録したコンテキスト情報を読み出し、その内容に基づいて相対的な検索条件を絶対的な検索条件に変換する。そして、当該変換された絶対的な検索条件に基づいてサービス情報を検索する。なお、サービス情報の検索動作は、上述した実施の形態１のサービス情報の検索動作と同じである。
【００５４】
このように、本実施の形態においては、検索ネットワークに接続するユーザのコンテキスト情報を検索ネットワーク上で一括管理し、通信装置は、自装置に接続しているユーザのコンテキスト情報を検索ネットワークからダウンロードして管理することとした。そして、サービス情報を検索する際に指定する検索条件が相対的な条件である場合、通信装置が、前記コンテキスト情報に基づいて検索条件を絶対的な条件に変換後、サービス情報の検索を行うことした。これにより、サービス情報の検索要求元であるユーザの環境(コンテキスト)に対して相対的な条件指定が可能となり、効率的にサービス情報を検索することができる。
【産業上の利用可能性】
【００５５】
以上のように、本発明にかかるネットワークサービス情報の情報検索方法および情報登録方法ならびにネットワークサービス情報検索システムは、サービスを提供する端末装置が接続された通信装置により構成されたネットワークにおいて有用である。
【図面の簡単な説明】
【００５６】
【図１】本発明の実施の形態１にかかる情報検索方法および情報登録方法を説明するためのネットワークサービス情報検索システムの構成例を示す図である。
【図２】クラスタという概念によって階層化された図１の検索システムの構成を示す図である。
【図３】サービス情報検索要求を受け取ったクラスタの代表通信装置（通信装置２−ｎ）における検索処理の一例を示すフローチャートである。
【図４】実施の形態２のネットワークサービス情報検索システムに接続される端末の構成例を示す図である。
【図５】実施の形態３の情報検索方法を実現する検索ネットワークの構成例を示す図である。
【図６】実施の形態３の端末装置および通信装置の構成例を示す図である。
【符号の説明】
【００５７】
１−１，１−２，１−３，１−４，１−ｍ，１ａ−１，１ａ−２，１ａ−３，１ａ−４，１ａ−ｍ，１ａ  端末（端末装置）
２−１，２−２，２−３，２−４，２−５，２−ｎ，２ａ−１，２ａ−２，２ａ−３，２ａ−４，２ａ−５，２ａ−ｎ，２ａ  通信装置
３  コンテキスト情報管理データベース
１１，１１ａ  検索ネットワーク端末通信処理部
１２  コンテキスト情報管理部
２１  検索ネットワーク通信処理部
２２  コンテキスト情報キャッシュ部
【図１】
2007156700.tif 000003
【図２】
2007156700.tif 000004
【図３】
2007156700.tif 000005
【図４】
2007156700.tif 000006
【図５】
2007156700.tif 000007
【図６】
2007156700.tif 000008