(57)【要約】【課題】  ユーザ検索を効率よく行えるようにしたユーザ検索サーバを提供する。【解決手段】  ユーザ検索システム１Ａは、マッチング部３ａ、リスト更新部３ｂ及びリスト通知部３ｃを備える。マッチング部３ａは、受信したユーザ情報が特定の条件に合致するか否かのマッチング処理を行い、その結果をマッチング結果リストとして出力する。リスト更新部３ｂは、マッチング結果リストが登録されて、マッチング結果リストに基づきメンバリストの更新を行い、これを更新メンバリストとして出力する。リスト通知部３ｃは、更新メンバリストが登録されて、該メンバリストの出力先を検索して出力する。このように、一連の処理を複数に分割して、分割単位でそれぞれ独立に処理を行うため、ユーザ検索を効率よく行えるようになる。【選択図】  図１
2011100265.tif 000002
【特許請求の範囲】
【請求項１】
受信したユーザ情報が特定の条件に合致するか否かのマッチング処理を行い、その結果をマッチング結果リストとして出力するマッチング部と、
前記マッチング結果リストが登録されて、前記マッチング結果リストに基づきメンバリストの更新を行い、これを更新メンバリストとして出力するリスト更新部と、
前記更新メンバリストが登録されて、更新メンバリストに基づきメンバリストの出力先を検索して出力するリスト通知部と、を備えることを特徴とするユーザ検索サーバ。
【請求項２】
請求項１に記載のユーザ検索サーバであって、
前記マッチング部、前記リスト更新部、前記リスト通知部はそれぞれ独立して処理を行うことを特徴とするユーザ検索サーバ。
【請求項３】
請求項１又は２に記載のユーザ検索サーバであって、
複数の前記ユーザ情報が登録されて、前記マッチング部により読出される第１登録部と、
複数の前記マッチング結果リストが登録されて、前記リスト更新部により読出される第２登録部と、
複数の前記更新メンバリストが登録されて、前記リスト通知部により読出される第３登録部と、を備えることを特徴とするユーザ検索サーバ。
【請求項４】
請求項１乃至３のいずれか１項に記載のユーザ検索サーバであって、
前記マッチング部が複数設けられて、各マッチング部はそれぞれ独立して処理を行うことを特徴とするユーザ検索サーバ。
【請求項５】
請求項１乃至４のいずれか１項に記載のユーザ検索サーバであって、
前記リスト更新部が複数設けられて、各リスト更新部はそれぞれ独立して処理を行うことを特徴とするユーザ検索サーバ。
【請求項６】
請求項１乃至５のいずれか１項に記載のユーザ検索サーバであって、
前記マッチング部は、前記マッチング結果リストに基づき、前記リスト更新部における処理が必要か否かを判断する第１判定部を備えることを特徴とするユーザ検索サーバ。
【請求項７】
請求項１乃至６のいずれか１項に記載のユーザ検索サーバであって、
前記リスト通知部が複数設けられて、各リスト通知部はそれぞれ独立して処理を行うことを特徴とするユーザ検索サーバ。
【請求項８】
請求項１乃至７のいずれか１項に記載のユーザ検索サーバであって、
前記リスト更新部は、前記更新メンバリストに基づき、前記リスト通知部における処理が必要か否かを判断する第２判定部を備えることを特徴とするユーザ検索サーバ。
【請求項９】
請求項１乃至８のいずれか１項に記載のユーザ検索サーバであって、
前記マッチング部が行う前記マッチング処理、前記リスト更新部が行うリスト更新処理及び、前記リスト通知部が行うリスト通知処理のうちの１つの処理を行う複数の検索ユニットと、
それぞれの前記検索ユニットに処理内容を指示する制御部と、を備えることを特徴とするユーザ検索サーバ。
【請求項１０】
ユーザ端末から受信したユーザ情報が特定の条件に合致するか否かのマッチング処理を行い、その結果をマッチング結果リストとして出力するマッチング部と、
前記マッチング結果リストが登録されて、前記マッチング結果リストに基づきメンバリストの更新を行い、これを更新メンバリストとして出力するリスト更新部と、
前記更新メンバリストが登録されて、該更新メンバリストに基づきメンバリストの出力先を検索して出力するリスト通知部とを備えるユーザ検索サーバと、
前記ユーザ検索サーバにおける前記リスト通知部から通知されたメンバリストを受信して、該メンバリストのユーザに所定の情報を送信する検索クライアントと、を備えることを特徴とするユーザ検索システム。
【請求項１１】
請求項１０に記載のユーザ検索システムであって、
前記マッチング部、前記リスト更新部、前記リスト通知部はそれぞれ独立して処理を行うことを特徴とするユーザ検索システム。
【請求項１２】
請求項１０又は１１に記載のユーザ検索システムであって、
複数の前記ユーザ情報が登録されて、前記マッチング部により読出される第１登録部と、
複数の前記マッチング結果リストが登録されて、前記リスト更新部により読出される第２登録部と、
複数の前記更新メンバリストが登録されて、前記リスト通知部により読出される第３登録部と、を備えることを特徴とするユーザ検索システム。
【請求項１３】
請求項１０乃至１２のいずれか１項に記載のユーザ検索システムであって、
前記マッチング部が複数設けられて、各マッチング部はそれぞれ独立して処理を行うことを特徴とするユーザ検索システム。
【請求項１４】
請求項１０乃至１３のいずれか１項に記載のユーザ検索システムであって、
前記リスト更新部が複数設けられて、各リスト更新部はそれぞれ独立して処理を行うことを特徴とするユーザ検索システム。
【請求項１５】
請求項１０乃至１４のいずれか１項に記載のユーザ検索システムであって、
前記マッチング部は、前記マッチング結果リストに基づき、前記リスト更新部における処理が必要か否かを判断する第１判定部を備えることを特徴とするユーザ検索システム。
【請求項１６】
請求項１０乃至１５のいずれか１項に記載のユーザ検索システムであって、
前記リスト通知部が複数設けられて、各リスト通知部はそれぞれ独立して処理を行うことを特徴とするユーザ検索システム。
【請求項１７】
請求項１０乃至１６のいずれか１項に記載のユーザ検索システムであって、
前記リスト更新部は、前記更新リストに基づき、前記リスト通知部における処理が必要か否かを判断する第２判定部を備えることを特徴とするユーザ検索システム。
【請求項１８】
請求項１０乃至１７のいずれか１項に記載のユーザ検索システムであって、
前記マッチング部が行う前記マッチング処理、前記リスト更新部が行うリスト更新処理及び、前記リスト通知部が行うリスト通知処理のうちの１つの処理を行う複数の検索ユニットと、
それぞれの前記検索ユニットに処理内容を指示する制御部と、を備えることを特徴とするユーザ検索システム。
【請求項１９】
受信したユーザ情報が特定の条件に合致するか否かのマッチング処理を行い、その結果をマッチング結果リストとして出力するマッチング手順と、
前記マッチング結果リストが登録されて、前記マッチング結果リストに基づきメンバリストの更新を行い、これを更新メンバリストとして出力するリスト更新手順と、
前記更新メンバリストが登録されて、該更新メンバリストに基づきメンバリストの出力先を検索して出力するリスト通知手順と、を含むことを特徴とするユーザ検索方法。
【請求項２０】
請求項１９に記載のユーザ検索方法であって、
前記マッチング手順、前記リスト更新手順、前記リスト通知手順はそれぞれ独立して行われることを特徴とするユーザ検索方法。
【請求項２１】
請求項１９又は２０に記載のユーザ検索方法であって、
複数の前記ユーザ情報が登録されて、前記マッチング手順により読出される第１登録手順と、
複数の前記マッチング結果リストが登録されて、前記リスト更新手順により読出される第２登録手順と、
複数の前記更新メンバリストが登録されて、前記リスト通知手順により読出される第３登録手順と、を含むことを特徴とするユーザ検索方法。
【請求項２２】
請求項１９乃至２１のいずれか１項に記載のユーザ検索方法であって、
複数の前記マッチング手順がそれぞれ独立して処理を行うことを特徴とするユーザ検索方法。
【請求項２３】
請求項１９乃至２２のいずれか１項に記載のユーザ検索方法であって、
複数の前記リスト更新手順がそれぞれ独立して処理を行うことを特徴とするユーザ検索方法。
【請求項２４】
請求項１９乃至２３のいずれか１項に記載のユーザ検索方法であって、
前記マッチング手順は、前記マッチング結果リストに基づき、前記リスト更新手順における処理が必要か否かを判断する第１判定手順を含むことを特徴とするユーザ検索方法。
【請求項２５】
請求項１９乃至２４のいずれか１項に記載のユーザ検索方法であって、
前記リスト通知手順が複数設けられて、各リスト通知手順はそれぞれ独立して処理を行うことを特徴とするユーザ検索方法。
【請求項２６】
請求項１９乃至２５のいずれか１項に記載のユーザ検索方法であって、
前記リスト更新手順は、前記更新リストに基づき、前記リスト通知手順における処理が必要か否かを判断する第２判定手順を含むことを特徴とするユーザ検索方法。
【請求項２７】
請求項１９乃至２６のいずれか１項に記載のユーザ検索方法であって、
前記マッチング手順が行う前記マッチング処理、前記リスト更新手順が行うリスト更新処理及び、前記リスト通知手順が行うリスト通知処理のうちの１つの処理を行う複数の検索手順と、
それぞれの前記検索手順に処理内容を指示する制御手順とを含むことを特徴とするユーザ検索方法。
【請求項２８】
受信したユーザ情報が特定の条件に合致するか否かのマッチング処理を行い、その結果をマッチング結果リストとして出力するマッチングステップと、
前記マッチング結果リストが登録されて、前記マッチング結果リストに基づきメンバリストの更新を行い、これを更新メンバリストとして出力するリスト更新ステップと、
前記更新メンバリストが登録されて、該更新メンバリストに基づきメンバリストの出力先を検索して出力するリスト通知ステップと、を含むことを特徴とするユーザ検索プログラム。
【請求項２９】
請求項２８に記載のユーザ検索プログラムであって、
前記マッチングステップ、前記リスト更新ステップ、前記リスト通知ステップはそれぞれ独立して行われることを特徴とするユーザ検索プログラム。
【請求項３０】
請求項２８又は２９に記載のユーザ検索プログラムであって、
複数の前記ユーザ情報が登録されて、前記マッチングステップにより読出される第１登録ステップと、
複数の前記マッチング結果リストが登録されて、前記リスト更新ステップにより読出される第２登録ステップと、
複数の前記更新メンバリストが登録されて、前記リスト通知ステップにより読出される第３登録ステップと、を含むことを特徴とするユーザ検索プログラム。
【請求項３１】
請求項２８乃至３０のいずれか１項に記載のユーザ検索プログラムであって、
複数の前記マッチングステップがそれぞれ独立して処理を行うことを特徴とするユーザ検索プログラム。
【請求項３２】
請求項２８乃至３１のいずれか１項に記載のユーザ検索プログラムであって、
複数の前記リスト更新ステップがそれぞれ独立して処理を行うことを特徴とするユーザ検索プログラム。
【請求項３３】
請求項２８乃至３２のいずれか１項に記載のユーザ検索プログラムであって、
前記マッチングステップが行う前記マッチング処理、前記リスト更新ステップが行うリスト更新処理及び、前記リスト通知ステップが行うリスト通知処理のうちの１つの処理を行う複数の検索ステップと、
それぞれの前記検索ステップに処理内容を指示する制御ステップと、を含むことを特徴とするユーザ検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ検索サーバ、ユーザ検索システム、ユーザ検索方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）による位置測位機能を備えた携帯電話端末の普及やＲＦＩＤタグの普及により、ユーザの位置情報をリアルタイムに把握することが容易になっている。また、携帯電話で利用可能なプレゼンスサービス、インスタントメッセージングサービスの普及により、ユーザの気分等の状況情報をリアルタイムに交換できるようになってきている。これに伴い、サービス事業者においては、ユーザのリアルタイムな状況情報に基づき、タイムリーに行動支援、コンテンツ推薦、広告配信等を行うサービスが検討され始めている。
【０００３】
携帯電話事業者は、多数のユーザが所持する携帯電話に関するリアルタイムな位置情報やこのユーザの状況情報等からなるユーザ情報を集めることが可能である。これにより多数のユーザの中から特定の条件に合致するユーザを検索し、行動支援等のサービスが提供できる。
【０００４】
サービスとしては、例えば、所定のショッピングモールの近くに到来したユーザの携帯電話に対して、このショッピングモールで行っているバーゲンセールの案内情報を送信する等が例示できる。
【０００５】
このようなユーザ情報を利用して特定の条件に合致するユーザを検索する方法に関するものとして、以下のような特許文献１〜４が例示できる。
【０００６】
特開平０８−２４１２１８号公報は、仮想プロセッサと呼ばれるオペレーティング環境を構成して、多数のデータから特定条件に合致するユーザを検索する処理を速くしたシステムを開示している。即ち、オペレーティング環境には複数のスレッドが投入される。このとき、１つのプロセッサノードに複数のストレイジ装置が設けられている場合には、単一のスレッドを各装置に割り当てる。複数のスレッドが並列処理できるようになる。従って、多数のデータから特定条件に合致するユーザを検索するための処理が速くできる。
【０００７】
特開２００５−３４６２２９号公報は、学習目標受付手段、学習結果検出手段、学習履歴データベースを備えて、達成すべき学習目標を持つユーザに対して、適切な学習項目を提案するシステムを開示している。即ち、学習目標受付手段が、学習予定のユーザから学習目標の入力を受け付けると、学習結果検出手段が、各ユーザの学習履歴と学習結果とを対応付けて、蓄積された学習履歴データベースから学習目標に近い学習結果を検出する。そして、学習履歴通知手段が、検出された学習結果に対応する学習履歴を推奨学習項目として出力する。
【０００８】
特開平０６−２４３２２９号公報は、オンラインシステムの取引において大量のデータベースファイルの更新がある場合でも、オンライン端末に即時に出力情報を送信できるようにしたシステムを開示している。即ち、端末からの入力情報により起動された親トランザクションはデータベースファイル内の親レコードの検索と更新、必要ならば子レコード群の検索のみ行い、出力情報を組み立てて端末に送信する。また子レコード群更新処理のための子トランザクション起動を行う。子トランザクション起動により起動された子トランザクションは処理時間のかかる子レコード群の更新処理を行う。
【０００９】
特開平１０−０７８８８０号公報は、スレッドレベルの並列処理を行う際に、新規生成スレッドに効率的にレジスタの内容を継承させることによって、並列処理のオーバヘッドを削減し、高性能な並列処理を可能にするシステムを開示している。即ち、スレッド実行手段はフォーク命令を実行すると、スレッド管理手段に対してスレッド生成要求を行う。スレッド管理手段は実行待ち状態のスレッド実行手段を検索し、これに対してスレッド起動要求を行う。同時に、スレッド管理手段は、レジスタ内容一括転送手段に対してレジスタファイルからレジスタファイルへのレジスタ内容のコピー要求を行う。レジスタ内容一括転送手段は、この要求に従いレジスタファイルからレジスタファイルへのレジスタ内容のコピーを行う。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平０８−２４１２１８号公報
【特許文献２】特開２００５−３４６２２９号公報
【特許文献３】特開平０６−２４３２２９号公報
【特許文献４】特開平１０−０７８８８０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記各特許文献１〜４による構成では、頻繁にユーザ情報が更新される場合、検索の負荷を効率よく軽減することができないため、検索やデータの更新に長時間要して、タイムリーに検索結果を出力させることが困難であった。
【００１２】
そこで、本発明の主目的は、ユーザ検索を効率よく行えるようにしたユーザ検索サーバ、ユーザ検索システム、ユーザ検索方法及びプログラムを提供することである。
【課題を解決するための手段】
【００１３】
上記課題を解決するため、ユーザ検索サーバは、受信したユーザ情報が特定の条件に合致するか否かのマッチング処理を行い、その結果をマッチング結果リストとして出力するマッチング部と、マッチング結果リストが登録されて、マッチング結果リストに基づきメンバリストの更新を行い、これを更新メンバリストとして出力するリスト更新部と、更新メンバリストが登録されて、更新メンバリストに基づきメンバリストの出力先を検索して出力するリスト通知部とを備えることを特徴とする。
【００１４】
また、ユーザ検索システムは、ユーザ端末から受信したユーザ情報が特定の条件に合致するか否かのマッチング処理を行い、その結果をマッチング結果リストとして出力するマッチング部と、マッチング結果リストが登録されて、マッチング結果リストに基づきメンバリストの更新を行い、これを更新メンバリストとして出力するリスト更新部と、更新メンバリストが登録されて、該更新メンバリストに基づきメンバリストの出力先を検索して出力するリスト通知部とを備えるユーザ検索サーバと、ユーザ検索サーバにおけるリスト通知部から通知されたメンバリストを受信して、該メンバリストのユーザに所定の情報を送信する検索クライアントとを備えることを特徴とする。
【００１５】
また、ユーザ検索方法は、受信したユーザ情報が特定の条件に合致するか否かのマッチング処理を行い、その結果をマッチング結果リストとして出力するマッチング手順と、マッチング結果リストが登録されて、マッチング結果リストに基づきメンバリストの更新を行い、これを更新メンバリストとして出力するリスト更新手順と、更新メンバリストが登録されて、該更新メンバリストに基づきメンバリストの出力先を検索して出力するリスト通知手順とを含むことを特徴とする。
【００１６】
さらに、ユーザ検索プログラムは、受信したユーザ情報が特定の条件に合致するか否かのマッチング処理を行い、その結果をマッチング結果リストとして出力するマッチングステップと、マッチング結果リストが登録されて、マッチング結果リストに基づきメンバリストの更新を行い、これを更新メンバリストとして出力するリスト更新ステップと、更新メンバリストが登録されて、該更新メンバリストに基づきメンバリストの出力先を検索して出力するリスト通知ステップとを含むことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、一連の処理を複数に分割し、かつ、それぞれ分割単位で並列処理を行うため、ユーザ検索が効率良く行える。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１実施形態にかかるユーザ検索システムのブロック図である。
【図２】本発明の第２実施形態にかかるユーザ検索システムのブロック図である。
【図３】ユーザ情報を例示する図である。
【図４】第１登録部にユーザ情報を登録する際のフローチャートである。
【図５】検索条件データを例示する図である。
【図６】合致条件テーブルを例示する図である。
【図７】マッチング処理のフローチャートである。
【図８】マッチング処理を説明するリスト例で、（ａ）は新合致条件リスト、（ｂ）は更新合致条件リスト、（ｃ）は追加リスト、（ｄ）は削除リストを例示する。
【図９】メンバリストテーブルを例示する図である。
【図１０】リスト更新処理のフローチャートである。
【図１１】メンバテーブルを例示する図である。
【図１２】通知要求情報テーブルを例示する図である。
【図１３】リスト通知処理のフローチャートである。
【図１４】本発明の第３の実施形態にかかるユーザ検索システムのブロック図である。
【図１５】本発明の第４の実施形態にかかるユーザ検索システムのブロック図である。
【図１６】制御部の処理手順を示すフローチャートである。
【図１７】状態管理テーブルを例示する図である。
【発明を実施するための形態】
【００１９】
＜第１の実施形態＞    本発明の第１実施形態を説明する。図１は、第１実施形態にかかるユーザ検索サーバ３を備えるユーザ検索システム１Ａのブロック図である。ユーザ検索サーバ３は、マッチング部３ａ、リスト更新部３ｂ及びリスト通知部３ｃを備える。
【００２０】
マッチング部３ａは、受信したユーザ情報が特定の条件に合致するか否かのマッチング処理を行い、その結果をマッチング結果リストとして出力する。リスト更新部３ｂは、マッチング結果リストが登録されて、マッチング結果リストに基づきメンバリストの更新を行い、これを更新メンバリストとして出力する。リスト通知部３ｃは、更新メンバリストが登録されて、該メンバリストの出力先を検索して出力する。
【００２１】
このように、一連の処理を複数に分割し、かつ、それぞれ処理を分割単位で行うため、ユーザ検索を効率良く行えるようになる。
【００２２】
＜第２の実施形態＞    次に、本発明の第２実施形態を説明する。図２は、本実施形態にかかるユーザ検索システム１Ｂのブロック図である。このユーザ検索システム１Ｂは、ユーザ検索サーバ１４Ａ及び検索クライアント１６を備える。ユーザ検索サーバ１４Ａは、有線又は無線の通信網によりユーザ端末１２や検索クライアント１６と接続されている。なお、検索クライアント１６は、サービスプロバイダ側のシステムに設けることもできる。
【００２３】
ユーザ検索システム１Ｂの概略動作は以下の通りである。先ず、ユーザ情報がユーザ端末１２からユーザ検索サーバ１４Ａに送られ、このユーザ検索サーバ１４Ａに蓄積される。ユーザ検索サーバ１４Ａは、蓄積したユーザ情報に基づきマッチング処理、リスト更新処理、リスト通知処理を行ってサービスを提供するユーザのリスト（メンバリスト）を作成する。作成したメンバリストを検索クライアント１６に送信する。検索クライアント１６は、受信したメンバリストに基づき所定の情報をユーザに配信する。
【００２４】
ユーザ端末１２は、キーボタンやセンサー等の入力デバイス、液晶ディスプレイ等の表示デバイス、ＣＰＵ、メモリ等の図示しないデバイスを備えた携帯電話等の情報処理装置である。そして、ユーザ端末１２は、ユーザによるキーボタン操作、またはセンサー等を介して入力された情報に基づきユーザ情報を作成して、ユーザ検索サーバ１４Ａに送信する。
【００２５】
ユーザ情報の例を図３に示す。ユーザ情報５１は、ユーザ識別子５１ａ、前記ユーザ識別子５１ａで識別されるユーザのユーザ属性情報５１ｂ等を含んでいる。また、ユーザ情報５１は、複数のユーザ属性情報５１ｂを含むことも可能である。
【００２６】
図３に示すユーザ情報５１は、ユーザ識別子５１ａが「１００００００１」であり、ユーザ属性情報５１ｂが「東京都港区青山」であることを示している。無論、ユーザ属性情報５１ｂとして、「東京都港区青山」のような位置情報に限定されず、ユーザの年齢、ユーザの性別、リアルタイムに変化する情報であるプレゼンス情報等の情報を必要に応じて適宜用いることができる。
【００２７】
検索クライアント１６は、マウス、キーボード等の入力デバイス、液晶ディスプレイ等の表示デバイス、ＣＰＵ及びメモリ等を備えた情報処理装置である。
【００２８】
ユーザ検索サーバ１４Ａは、マッチングユニット２０、リスト更新ユニット３０及び、リスト通知ユニット４０を備える。そして、マッチングユニット２０は、複数のマッチング部２１、検索条件記憶部２２、マッチング条件記憶部２３、第１登録部２４、各マッチング部２１に設けられた第１判定部２５を備えてマッチング処理を行う。なお、ユーザ検索サーバ１４Ａは、記憶装置に記憶されているプログラムをＣＰＵが実行することにより、後述する各ユニットを実現するように構成されていてもよい。
【００２９】
リスト更新ユニット３０は、複数のリスト更新部３１、リスト記憶部３２、第２登録部３３及び、各リスト更新部３１に設けられた第２判定部３４を備えて、リスト更新処理を行う。
【００３０】
リスト通知ユニット４０は、複数のリスト通知部４１、サブスクリプション記憶部４２及び第３登録部４３を備えて、リスト通知処理を行う。
【００３１】
前記複数のマッチング部２１は、それぞれが異なるスレッドによって実行され、独立してマッチング処理が行われる。従って、求められる処理量が少ない場合は、１つのスレッドによって１つのマッチング部２１がマッチング処理を実行している間、他のスレッドはマッチング部２１の処理を停止しているような場合もある。求められる処理量が多い場合は、１つのスレッドがマッチング処理を実行している間、他のスレッドも別のマッチング処理を実行する場合もある。同様に、複数のリスト更新部３１及びリスト通知部４１もそれぞれが異なるスレッドによって実行され、独立してリスト更新処理及びリスト通知処理が行われる。このように、求められる処理量に対応して動作するマッチング部２１等の数が変わるので、効率的にマッチング処理等の処理が行えるようになり処理時間の短縮が可能になる。
【００３２】
また、マッチングユニット２０、リスト更新ユニット３０及び、リスト通知ユニット４０は、それぞれ独立して動作する。従って、リスト通知ユニット４０だけが処理を実行しているような場合が生じ得る。このように、マッチングユニット２０、リスト更新ユニット３０及び、リスト通知ユニット４０を設けることは、一連のユーザ検索処理をマッチング処理、リスト更新処理等の複数の処理に分割して行うことを意味している。そして、マッチング処理等の分割された処理がそれぞれ独立に実行されるので、不要な処理の実行を省くことができる。従って、ユーザ検索処理の効率化が図られて、処理時間を短縮することが可能になる。
【００３３】
以下、各ユニットの動作説明を行いながら詳細な構成を説明する。先ず、マッチングユニット２０について説明する。ユーザ端末１２から送信されてきたユーザ情報は、第１登録部２４に登録される。この第１登録部２４には複数のユーザ情報が登録される。複数のマッチング部２１は、この第１登録部２４にアクセスしてユーザ情報の読出しや削除を行うことができる。
【００３４】
図４は、第１登録部２４にユーザ情報が登録される際の手順を示すフローチャートである。
【００３５】
ステップＳＡ１：第１登録部２４は、ユーザ端末１２からのユーザ情報の受信を待つ。
【００３６】
ステップＳＡ２：ユーザ情報が受信されると、第１登録部２４は受信されたユーザ情報を内部に登録する。そして、登録が完了すると、ステップＳＡ１に戻り、第１登録部２４は新たなユーザ情報の受信待ちとなる。従って、複数のユーザ情報が受信された場合には、第１登録部２４には複数のユーザ情報が登録されることになる。
【００３７】
図３に示すユーザ情報は、ユーザ識別子５１ａが「１００００００１」であり、ユーザ属性情報５１ｂが「東京都港区青山」である。以下の［説明用の条件］と記載した説明においては、このユーザ情報を例にした説明である。
【００３８】
関連技術にかかるユーザ検索処理では、メンバリストの新規作成や更新等が不要になる場合であっても、ユーザ検索処理はユーザ情報の受信からメンバリストの作成までを連続して処理するため、無駄なメンバリストの作成処理が行なわれることがあった。このような無駄な処理は、ユーザ検索システムにおけるユーザ検索処理の効率を低下させる要因となる。
【００３９】
そこで、本実施形態においては、効率良くユーザ検索処理を行うために、マッチング部２１においてマッチング処理を行うことにより後述する追加リストや削除リストを作成し、このリストに基づき後続する処理が必要か否かを判断する。以下、追加リストや削除リストをマッチング結果リストと記載する。
【００４０】
マッチングユニット２０は、検索条件データを記憶する検索条件記憶部２２、合致条件データを記憶するマッチング条件記憶部２３を備える。
【００４１】
検索条件記憶部２２が記憶している検索条件データは、図５に例示するように、検索条件識別子５２ａと検索条件属性情報５２ｂ〜５２ｆにより構成された検索条件リスト５２の集合体である。ここで、検索条件識別子５２ａは、検索条件リスト５２を識別するための識別子であり、検索条件属性情報５２ｂ〜５２ｆは、この検索条件リスト５２の具体的内容を示す情報である。
【００４２】
図５において、検索条件属性情報５２ｂには、この検索条件属性情報５２ｂの適用条件をなす付加情報５２ｃも含まれている。また、属性名の異なる検索条件属性情報が複数存在する場合に、これら複数の検索条件属性情報を関連付けるために属性名が「関連」の検索条件属性情報５２ｆが設けられていることもある。属性名が「関連」の検索条件属性情報としては、複数の検索条件属性情報のアンド（及び）であるもの、オア（又は）であるもの、一方を示すもの、特定の検索条件属性情報を示すもの等が例示できる。
【００４３】
図５においては６個の検索条件リスト５２が例示されている。図５の第１行目は、検索条件識別子５２ａが「５０００１」の検索条件リスト５２は、位置を属性名とする「東京都港区」の検索条件属性情報５２ｂ、その検索条件属性情報５２ｂの適用範囲は「部分」である付加情報５２ｃ、年齢を属性名とする「２５」の検索条件属性情報５２ｄ、適用範囲は「以上」の付加情報５２ｅであることを示している。そして、属性名「関連」の検索条件属性情報５２ｆは「位置及び年齢」であるので、属性名「位置」の検索条件属性情報５２ｂが部分一致し、かつ、属性名「年齢」の検索条件属性情報５２ｄが２５才以上の条件を満たすときに、一致したと判断できることを示している。
【００４４】
マッチング条件記憶部２３が記憶している合致条件データは、図６に例示するように、ユーザ識別子５１ａと合致条件属性情報５３ｂにより構成された合致条件リスト５３の集合体である。なお、合致条件属性情報５３ｂは、複数の検索条件識別子５２ａにより構成されている。
【００４５】
例えば、図６の第１行目に示す合致条件リスト５３は、ユーザ識別子５１ａ「１００００００１」で識別されるユーザが「５０００１」と「５０００２」との２つの検索条件識別子５２ａで識別される検索条件リストに合致していることを示している。
【００４６】
次に、このような検索条件記憶部２２やマッチング条件記憶部２３を用いて、マッチング部２１が行う処理を説明する。図７は、マッチング部２１における処理を示すフローチャートである。
【００４７】
ステップＳＢ１：マッチング部２１は、ユーザ情報が第１登録部２４に登録されるのを待つ。
【００４８】
ステップＳＢ２：第１登録部２４にユーザ情報が登録されると、マッチング部２１は、そのユーザ情報の１つを取得する。
【００４９】
ステップＳＢ３：マッチング部２１は、取得したユーザ情報を第１登録部２４から削除する。なお、取得したユーザ情報を削除する理由は以下の通りである。即ち、第１登録部２４には複数のユーザ情報が登録可能であり、また複数のマッチング部２１はそれぞれ独立して動作する。このため同じユーザ情報を異なるマッチング部２１が取得して処理を行う場合が生じる。同じ内容の処理が異なるマッチング部２１で行われると処理の無駄が発生する。そこで、取得したユーザ情報は第１登録部２４から削除することによって、かかる無駄な処理の発生を防止する。
【００５０】
ステップＳＢ４：マッチング部２１は、取得したユーザ情報からユーザ属性情報５１ｂを抽出する。
【００５１】
上述した説明用の条件は、ユーザ情報はユーザ識別子「１００００００１」とユーザ属性情報「東京都港区青山」とを含んでいるので、「東京都港区青山」のユーザ属性情報が抽出される。
【００５２】
ステップＳＢ５：マッチング部２１は、抽出されたユーザ属性情報５１ｂと合致する検索条件属性情報を持つ検索条件リストを検索条件記憶部２２から検索する。
【００５３】
上述した説明用の条件の下では、抽出されたユーザ属性情報が「東京都港区青山」と合致する検索条件属性情報を持つ検索条件リストを図５に例示する検索条件記憶部２２から検索する。但し、属性名「年齢」、「関連」のユーザ属性情報については、以下の説明においては言及しない。従って、属性名「位置」のユーザ属性情報で検索することになり、この場合には図５の第１行目〜第４行目までの「５０００１」、「５０００２」、「５０００３」、「５０００４」の検索条件識別子を持つ４つの検索条件リストが一致する。
【００５４】
ステップＳＢ６：マッチング部２１は、合致条件リストを作成する。合致条件リストは、ユーザ属性情報に含まれるユーザ識別子と検索条件属性情報に含まれる検索条件識別子とを含んでいる。以下、このようにして作成された合致条件リストを新合致条件リストと記載する。
【００５５】
上述した説明用の条件の下では、マッチング部２１は、図８（ａ）に示すような、ユーザ識別子５１ａが「１００００００１」で、合致条件属性情報５４ｂが、「５０００１，５０００２，５０００３，５０００４」の複数の検索条件識別子からなる新合致条件リスト５４を作成する。
【００５６】
ステップＳＢ７：マッチング部２１は、新合致条件リストのユーザ識別子と同じユーザ識別子を持つ合致条件リストをマッチング条件記憶部２３から検索する。以下、検索された合致条件リストを更新合致条件リストと記載する。図８（ｂ）は、この更新合致条件リスト５５を例示している。
【００５７】
ステップＳＢ８：新合致条件リストが含む合致条件属性情報と更新合致条件リストが含む合致条件属性情報とを比較して、両情報の差分を抽出する。
【００５８】
上述した説明用の条件の下では、図８（ａ）に示す新合致条件リスト５４に含まれる合致条件属性情報５４ｂは「５０００１」，「５０００２」，「５０００３」，「５０００４」であり、図８（ｂ）に示す更新合致条件リスト５５に含まれる合致条件属性情報５５ｂは、「５０００１，５０００２」であるので、差分は「５０００３」と「５０００４」との２つの検索条件識別子となる。
【００５９】
ステップＳＢ９：マッチング部２１は、合致条件属性情報の差分に基づき、追加リスト及び削除リストを作成する。ここで、追加リストは、新合致条件リストの合致条件属性情報に含まれる検索条件識別子のうちで、更新合致条件リストの合致条件属性情報に含まれない検索条件識別子から構成される追加合致条件属性情報を含むリストである。
【００６０】
一方、削除リストは、新合致条件リストの合致条件属性情報に含まれない検索条件識別子であるが、更新合致条件リストの合致条件属性情報に含まれる検索条件識別子から構成される削除合致条件属性情報を含むリストである。
【００６１】
上述した説明用の条件の下では、新合致条件リストは更新合致条件リストより「５０００３」，「５０００４」の検索条件識別子を余分に含んでいた。従って、図８（ｃ）に示すように、追加リストは、ユーザ識別子「１００００００１」、追加合致条件属性情報「｛５０００３，５０００４｝」となる。
【００６２】
一方、更新合致条件リストに含まれている検索条件識別子は、全て新合致条件リストに含まれている。従って、図８（ｄ）に示すように、削除リストは、ユーザ識別子「１００００００１」、削除合致条件属性情報「｛｝」となる。即ち、削除合致条件属性情報５７ｂには、検索条件識別子が含まれない。
【００６３】
なお、リスト種類は、このリストが追加リスト（リスト種類＝１）か、削除リスト（リスト種類＝０）を示している。
【００６４】
ステップＳＢ１０：このように追加リスト及び削除リストを作成した後、マッチング部２１は、更新合致条件リストを新合致条件リストにより上書き更新する。
【００６５】
ステップＳＢ１１：次に、マッチング部２１における第１判定部２５は、追加リストと削除リストの追加合致条件属性情報や削除合致条件属性情報に含まれる検索条件識別子の数（以下、要素数と記載する）が「０」であるか否かを判断する。
【００６６】
そして、要素数が「０」の場合は（要素数＝０）、ステップＳＢ１に戻る。一方、要素数が「０」でない場合は（要素数≠０）の場合はステップＳＢ１２に進む。
【００６７】
この要素数は、新合致条件リストと更新合致条件リストとの違いを示している。即ち、追加リストの要素数が「０」でない場合は（要素数≠０）、新合致条件リストに含まれる検索条件識別子が更新合致条件リストに含まれる検索条件識別子より多いことを意味している。
【００６８】
また、削除リストの要素数が「０」でない場合は（要素数≠０）、新合致条件リストに含まれる検索条件識別子が更新合致条件リストに含まれる検索条件識別子より少ないことを意味している。
【００６９】
これに対して追加リストが要素数＝０、かつ、削除リストが要素数＝０の場合は、メンバリストの更新が必要でないことを示している。
【００７０】
上述した説明用の条件の下では、図８（ｃ）に示す、追加リストの追加合致条件属性情報５６ｂには、２つの検索条件識別子が含まれるので、要素数は「２」となる。
【００７１】
一方、図８（ｄ）に示す、削除リストの削除合致条件属性情報５７ｂには、検索条件識別子が含まれない。即ち、要素数は「０」となる。
【００７２】
ステップＳＢ１２：マッチング部２１は、要素数が「０」でない追加リスト又は削除リストを第２登録部３３に登録してステップＳＢ１に戻る。
【００７３】
このように、マッチング部２１はユーザ情報が第１登録部２４に登録されたときに、上述した新合致条件リストを作成する。
【００７４】
メンバリストの更新が必要と判断した場合には、第２登録部３３に追加リストまたは削除リストを登録することにより、メンバリストの更新処理を実行させる。必要と判断されないときは、メンバリストの更新処理が省かれるので、処理時間を短縮することが可能になる。
【００７５】
リスト更新ユニット３０は、リスト記憶部３２に記憶された該当するメンバリストの更新処理を行う。
【００７６】
リスト記憶部３２が記憶するメンバリストは、図９に例示するように、検索条件識別子５２ａと、この検索条件識別子５２ａに対応する複数のユーザ識別子からなるメンバリスト属性情報５８ｂを含んでいる。メンバリストは、検索条件識別子５２ａで識別される検索条件属性情報に一致するユーザ識別子５８ｂを持つリストである。
【００７７】
例えば、図９に示すメンバリストの第１行目は、「５０００１」が検索条件識別子５２ａのメンバリスト５８は、「１００００００１」、「１６００００５４」、「２４００００４５」のユーザ識別子を含むメンバリスト属性情報５８ｂから構成されていることを示している。
【００７８】
次に、メンバリストの更新処理を図１０に示すフローチャートを参照して説明する。
【００７９】
ステップＳＣ１：リスト更新部３１は、追加リスト又は削除リストが第２登録部３３に登録されるのを待っている。
【００８０】
ステップＳＣ２：追加リスト又は削除リストが第２登録部３３に登録されると、現在処理を行っていないリスト更新部３１は、第２登録部３３から、前記登録された追加リスト又は削除リストの１つを取得する。上述した説明用の条件の下では、追加リストのみが取得される。
【００８１】
ステップＳＣ３：取得された追加リスト又は削除リストは、第２登録部３３から削除される。これにより、他のリスト更新部３１が同じ追加リスト又は削除リストを取得してリスト更新処理等を行うことがない。
【００８２】
ステップＳＣ４：取得した追加リスト又は削除リストに含まれるユーザ識別子と追加合致条件属性情報又は削除合致条件属性情報を抽出する。
【００８３】
ステップＳＣ５：抽出した追加合致条件属性情報及び削除合致条件属性情報に含まれる検索条件識別子と一致する検索条件識別子を持つメンバリストをリスト記憶部３２から検索する。
【００８４】
上述した説明用の条件の下では、図８（ｃ）に示す追加リストのユーザ識別子５２ａが「１００００００１」で、追加合致条件属性情報５６ｂが「５０００３」、「５０００４」の検索条件識別子である。また、図８（ｄ）に示す削除リストのユーザ識別子５２ａは「１００００００１」で、削除合致条件属性情報５７ｂは、検索条件識別子を含まない。従って、リスト更新部３１は、「５０００３」、「５０００４」の検索条件識別子を検索キーワードとして、例えば図９のメンバリストから検索する。この検索により、図９の第３行目の「５０００３」の検索条件識別子を持つメンバリストと、第４行目の「５０００４」の検索条件識別子を持つメンバリストが検索されることになる。
【００８５】
ステップＳＣ６：リスト更新部３１は取得したリストが追加リストであるか削除リストであるかをリスト種類に従い判断する。
【００８６】
ステップＳＣ７：取得したリストが追加リストである場合は、検索されたメンバリストのメンバリスト属性情報に、追加リストに含まれる追加合致条件属性情報を追加する。
【００８７】
ステップＳＣ８：一方、取得したリストが削除リストである場合は、検索されたメンバリストのメンバリスト属性情報から削除リストに含まれる削除合致条件属性情報を削除する。
【００８８】
上述した説明用の条件の下では、追加リストに含まれるユーザ識別子は「１００００００１」であり、追加合致条件属性情報は「５０００３」、「５０００４」の検索条件識別子であったので、図９に示す「５０００３」、「５０００４」の検索条件識別子５２ａを持つメンバリストのメンバリスト属性情報５８ｂに、「１００００００１」のユーザ識別子が追加される。
【００８９】
図１１は、更新が行われたメンバを含むメンバリストを例示している。
【００９０】
ステップＳＣ９：メンバリスト属性情報に追加又は削除された検索条件識別子は、リスト更新部３１内に設けられている図示しない記憶領域に一時的に記憶される。
【００９１】
ステップＳＣ１０：第２判定部３４は、記憶領域に検索条件識別子５２ａが記憶されているか否かを判断する。記憶領域に検索条件識別子が記憶されていることは、メンバリストが変更されたことを示し、このことは情報の配信先等が変更されたことを意味する。そこで、記憶領域に検索条件識別子が記憶されている場合は、ステップＳＣ１１に進み、記憶領域に検索条件識別子が記憶されていない場合は、ステップＳＣ１に戻る。
【００９２】
ステップＳＣ１１：メンバリストが変更された場合は、変更されたメンバリストを第３登録部４３に登録する。以下、変更されたメンバリストを変更メンバリストと記載する。
【００９３】
上述した説明用の条件の下では、メンバリスト（検索条件識別子：５００３，メンバリスト属性情報：１００００００１）と、メンバリスト（検索条件識別子：５００４，メンバリスト属性情報：１００００００１）が変更メンバリストである。
【００９４】
変更メンバリストは、検索クライアント１６に通知する必要がある。リスト通知ユニット４０は、変更メンバリストに基づき、図１２に例示するような、通知要求情報データを参照してリスト通知処理を実行する。
【００９５】
図１２に例示する通知要求情報データは、サブスクリプション記憶部４２に記憶されている。この通知要求情報データは、検索要求識別子、検索条件識別子及び、通知先アドレス等からなる通知要求情報リストを複数含んでいる。例えば、図１２の第１行目は、「１」の検索要求識別子によって識別される通知要求情報リストは「１９２．１６８．１．７２」の通知先アドレスに「５０００３」の検索条件識別子で識別されるメンバリストを送信することを示している。
【００９６】
通知要求情報データの変更等を行うリスト通知処理を図１３に示すフローチャートに従い説明する。
【００９７】
ステップＳＤ１：リスト通知部４１は、変更メンバリストが第３登録部４３に登録されるのを待っている。
【００９８】
ステップＳＤ２：リスト通知部４１は、第３登録部４３に変更メンバリストが登録されると、その変更メンバリストを取得し、その後に第３登録部４３から取得した変更メンバリストを削除する。
【００９９】
ステップＳＤ３：次に、リスト通知部４１は、変更メンバリストに含まれる検索条件識別子を検索キーワードとして、サブスクリプション記憶部４２に記憶されている通知要求情報データを検索して、該当する通知要求情報リストを取得する。
【０１００】
上述した説明用の条件の下では、メンバリスト（検索条件識別子：５００３，メンバリスト属性情報：１００００００１）と、メンバリスト（検索条件識別子：５００４，メンバリスト属性情報：１００００００１）が変更メンバリストであった。従って、「５０００３」の検索条件識別子を検索キーワードとして検索された通知要求情報リストは、図１２において、通知要求情報リスト（検索要求識別子：１、検索条件識別子：５０００３、通知先アドレス：１９２．１６８．１．７２）、通知要求情報リスト（検索要求識別子：３、検索条件識別子：５０００３、通知先アドレス：１９２．１６８．１．４）となる。一方、「５０００４」の検索条件識別子を検索キーワードとして検索された通知要求情報リストは、図１２に示す通知要求情報リストテーブルに含まれていない。
【０１０１】
ステップＳＤ４：リスト通知部４１は検索により得られた通知要求情報リストに含まれる通知先アドレスの検索クライアント１６に対して取得したメンバリストを送信する。
【０１０２】
上述した説明用の条件の下では、「１９２．１６８．１．７２」と、「１９２．１６８．１．４」の通知先アドレスにメンバリスト（検索条件識別子：５００３，メンバリスト属性情報：１００００００１）が送信されることになる。なお、送信するメンバリストは、差分情報でもよい。
【０１０３】
サブスクリプション記憶部４２に大量の通知要求情報が登録され、１つの検索条件識別子に対応するメンバリストを複数の通知先に送信する必要が生じ、１回のリスト通知処理に時間を要する場合がある。このような場合でも、検索条件識別子と、この検索条件識別子で識別されるメンバリストが第３登録部に登録されてから、検索条件識別子とこの検索条件識別子で識別されるメンバリストに基づくリスト通知処理が開始するまでの待ち時間を短く抑えることができる。
【０１０４】
＜第３の実施形態＞    次に、本発明の第３の実施形態を図を参照して説明する。なお、第２実施形態と同一部分に関しては同一符号を用いて説明する。第２実施形態にかかるユーザ検索サーバは、マッチングユニット、リスト更新ユニット及び、リスト通知ユニットをそれぞれ１つ備える構成であった。
【０１０５】
このような構成の場合、システムの拡張等が容易に行えないことが危惧される。そこで、本実施形態は、ユーザ検索サーバをコンピュータのように汎用性の高い情報処理装置で構成することにより、使用状況に応じて処理能力の増大・減少等を容易にしたものである。
【０１０６】
図１４は、第３の実施形態にかかるユーザ検索システム１Ｃのブロック図である。このユーザ検索システム１Ｃは、ユーザ検索サーバ１４Ｃ及び検索クライアント１６を備える。ユーザ検索サーバ１４Ｃは、通信網によりユーザ端末１２や検索クライアント１６と接続されている。なお、検索クライアント１６をサービスプロバイダ側のシステムに設けることができる。
【０１０７】
そして、ユーザ検索サーバ１４Ｃは、データ共有ノード６１、マッチングノード６２、リスト更新ノード６３及び、リスト通知ノード６４により構成されている。
【０１０８】
データ共有ノード６１は、検索条件記憶部２２、マッチング条件記憶部２３、リスト記憶部３２、サブスクリプション記憶部４２、第１登録部２４、第２登録部３３及び、第３登録部４３を備える。また、データ共有ノード６１は、図示しないマウス、キーボード等の入力デバイス、液晶ディスプレイ等の表示デバイス、ＣＰＵ及びメモリ等を備える。
【０１０９】
マッチングノード６２は、第１判定部２５を具備するマッチング部２１を複数備えている。リスト更新ノード６３は、第２判定部３４を具備するリスト更新部３１を複数備えている。さらに、リスト通知ノード６４は複数のリスト通知部４１を備える。
【０１１０】
各マッチング部２１、各リスト更新部３１、各リスト通知部４１は通信網を介してデータ共有ノード６１に設けられている第１〜第３登録部２４，３３，４３及び検索条件記憶部２２、マッチング条件記憶部２３、リスト記憶部３２及び、サブスクリプション記憶部４２にアクセスできる。そして、複数のマッチング部２１，複数のリスト更新部３１、複数のリスト通知部４１はそれぞれ異なるスレッドによって独立に実行される。
【０１１１】
このようにデータ共有ノード６１に第１〜第３登録部２４，３３，４３、検索条件記憶部２２等の情報を記憶する要素を配置することで、マッチングノード６２等を構成するマッチング部２１等の数が容易に再設定できる。従って、用途に応じたシステム設計が容易になる。
【０１１２】
特に、ユーザ検索システム１Ｃをコンピュータにより構成するような場合には、処理能力の増大・減少が容易に行える利点がある。
【０１１３】
＜第４の実施形態＞    次に、本発明の第４の実施形態を図を参照して説明する。なお、第３の実施形態と同一部分に関しては同一符号を用いて説明する。
【０１１４】
第３の実施形態においては、データ共有ノードに第１〜第３登録部、検索条件記憶部等の情報を記憶する要素を配置することで、マッチングノード等を構成するマッチング部等の数が容易に再設定できるようにした。しかし、この場合においてマッチングノード等の処理機能は、情報処理装置に対してあらかじめ割り当てられているとした。
【０１１５】
これに対して、本実施形態は、ノードで行う処理内容を稼働率等に応じて調整できるように、データ共有ノードに制御部を設けたものである。
【０１１６】
図１５は、第４の実施形態にかかるユーザ検索システム１Ｄのブロック図である。このユーザ検索システム１Ｄは、ユーザ検索サーバ１４Ｄ及び検索クライアント１６を備える。ユーザ検索サーバ１４Ｄは、通信網によりユーザ端末１２や検索クライアント１６と接続されている。なお、検索クライアント１６をサービスプロバイダ側のシステムに設けることができる。
【０１１７】
そして、ユーザ検索サーバ１４Ｄは、データ共有ノード６１Ｄ、マッチング部２１、リスト更新部３１及び、リスト通知部４１を含む検索ユニット６２Ｄを複数備えている。
【０１１８】
なお、１つの検索ユニットが含むマッチング部２１、リスト更新部３１及び、リスト通知部４１の数は１つに限定しない。即ち、５つのマッチング部２１、３つのリスト更新部３１、７のリスト通知部４１等のように複数備えることが可能である。
【０１１９】
マッチング部２１は第１判定部２５、リスト更新部３１は第２判定部３４をそれぞれ備えている。
【０１２０】
データ共有ノード６１は、検索条件記憶部２２、マッチング条件記憶部２３、リスト記憶部３２、サブスクリプション記憶部４２、第１登録部２４、第２登録部３３、第３登録部４３及び、制御部４５を備える。
【０１２１】
また、データ共有ノード６１は、図示しないマウス、キーボード等の入力デバイス、液晶ディスプレイ等の表示デバイス、ＣＰＵ及びメモリ等を備える。
【０１２２】
図１６は、制御部４５における制御手順を示したフローチャートである。
【０１２３】
ステップＳＥ１：処理が開始すると、制御部４５は所定時間の経過を待つ。
【０１２４】
ステップＳＥ２：そして、制御部４５は検索ユニット名及びその検索ユニットの稼働率を取得して、内部メモリに、状態管理テーブルとして記憶する。図１７は、このようにして取得した状態管理テーブルを示す図である。
【０１２５】
状態管理テーブルにおける使用状態は、「１」が該当する検索ユニットはマッチング処理を行っていることを示している。同様に「２」はリスト更新処理、「３」はリスト通知処理、「０」は処理を停止していることを示している。
【０１２６】
ステップＳＥ３：その後、制御部４５は、各検索ユニットの平均稼働率Ｗａｖｅを算出して、この平均稼働率Ｗａｖｅが予め設定された稼働閾値Ｗｔｈより大きいか否かを判断する。
【０１２７】
この平均稼働率は、複数の検索ユニットで、同じ処理を行っている検索ユニットに対する平均の稼働率である。例えば、３つの検索ユニットでマッチング処理が行われている場合、各検索ユニットの稼働率に対する平均値である。そして、稼働率は、処理素子の処理能力を「１．０」としたときの実際に行っている処理の割合である。なお、この稼働率として、ユニットの処理を行う処理素子の稼働率とすることができる。例えば、処理素子としてＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）を用いた場合には、その使用率を稼働率とすることができる。
【０１２８】
ステップＳＥ４：平均稼働率が稼働閾値以上である場合（Ｗａｖｅ≧Ｗｔｈ）は、処理の遅延を抑制するために、処理の分散を行うべく、空き検索ユニットを検索する。この検索は、状態管理テーブルから使用状態が「０」の検索ユニットを検索することにより行う。このとき、空き検索ユニットが無い場合には、ステップＳＥ１に戻る。一方、空き検索ユニットが見つかった場合には、ステップＳＥ５に進む。
【０１２９】
ステップＳＥ５：そして、制御部４５は、空き検索ユニットに対してマッチング処理、リスト更新処理、リスト通知処理に対応する制御信号を出力することにより、この空き検索ユニットに対して処理を割り当てる。
【０１３０】
ステップＳＥ６：一方、ステップＳＥ４において平均稼働率が稼働閾値より小さい場合（Ｗａｖｅ＜Ｗｔｈ）は、稼働率の低い検索ユニットが２つ以上存在するか否かを判断する。
【０１３１】
ステップＳＥ７：このような検索ユニットが２つ以上存在する場合は、稼働効率を上げるために、平均稼働率が稼働閾値より大きくなるまで（Ｗａｖｅ≧Ｗｔｈ）、稼働率の小さい検索ユニットから順に処理の割当てを停止させる。なお、このとき、停止させる検索ユニットの処理が終了するまで停止指示を待つ。
【０１３２】
このように、スレッドの混み具合に応じて検索ユニットの処理内容を割り振るため、ユーザ情報の数、更新されるメンバリストの数、発生するメンバリスト通知等の処理数が、大きく変動するような状況であっても、状況に応じた処理を効率よく行うことが可能になる。従って、処理の遅延が抑制できる。
【０１３３】
なお、上述した方法をコンピュータで実行可能にコーディングしてプログラム化することが可能であり、またそのプログラムを情報記録媒体に記録することも可能である。
【符号の説明】
【０１３４】
１Ａ，１Ｂ，１Ｃ，１Ｄ  ユーザ検索システム
３ａ，２１  マッチング部
３ｂ，３１  リスト更新部
３ｃ，４１  リスト通知部
１２  ユーザ端末
１４Ａ，１４Ｃ，１４Ｄ  ユーザ検索サーバ
１６  検索クライアント
２４  第１登録部
２５  第１判定部
３３  第２登録部
３４  第２判定部
４３  第３登録部
【図１】
2011100265.tif 000003
【図２】
2011100265.tif 000004
【図３】
2011100265.tif 000005
【図４】
2011100265.tif 000006
【図５】
2011100265.tif 000007
【図６】
2011100265.tif 000008
【図７】
2011100265.tif 000009
【図８】
2011100265.tif 000010
【図９】
2011100265.tif 000011
【図１０】
2011100265.tif 000012
【図１１】
2011100265.tif 000013
【図１２】
2011100265.tif 000014
【図１３】
2011100265.tif 000015
【図１４】
2011100265.tif 000016
【図１５】
2011100265.tif 000017
【図１６】
2011100265.tif 000018
【図１７】
2011100265.tif 000019