(57)【特許請求の範囲】
【請求項１】
ネットワークによって互いに接続された複数の分散ディレクトリサーバおよび複数の利用者装置で構成された分散ディレクトリシステムにおいて使用される分散ディレクトリサーバであって、利用者装置および他の分散ディレクトリサーバとの間でメッセージを送受信する送受信部と、集計情報データベースを読み込み、被Ｐｕｓｈデータ利用回数を該分散ディレクトリサーバへ送信するよう送受信部に通知する利用履歴通知部と、管理単位毎のインデックスに対するＰｕｓｈ配信の動作規定を、Ｐｕｓｈ配信した場合の効果、コスト、残りリソースのバランスを踏まえた評価関数の演算結果を利用して決定すると共に、Ｐｕｌｌ検索の動作規定を、Ｐｕｌｌ検索した場合の効果、コスト、残りリソースのバランスを踏まえた評価関数の演算結果を利用して決定する評価関数演算部とを有することを特徴とする分散ディレクトリサーバ。
【請求項２】
ＩＤ、ＵＲＩ、タイトル、作成者、作成場所、作成時間、発生源、発生源ノード、Ｐｕｓｈ／Ｐｕｌｌノードのメタデータを含む前記インデックスを分類し管理するインデックスデータベースと、自サーバが接続している他の分散ディレクトリサーバの情報を保持するサーバ情報データベースと、被Ｐｕｌｌ回数、被Ｐｕｓｈ回数、Ｐｕｌｌデータ利用回数、被Ｐｕｓｈデータ利用回数、Ｐｕｓｈデータ利用回数を分類し管理する集計情報データベースと、Ｐｕｌｌ検索メッセージのＩＤと、検索キーワードと、転送元ノード情報と、転送先ノード情報と、期限切れ時刻を含む検索内容を管理し、前記送受信部が転送したメッセージの応答をいつまで待つか管理する転送リストデータベースとを有することを特徴とする、請求項１に記載の分散ディレクトリサーバ。
【請求項３】
前記送受信部がどのインデックスを何回参照したかをカウントし、前記集計情報データベースの集計情報を更新するアクセスカウンタと、自サーバの残りリソースを測定し、数値化した上で残りリソースを前記評価関数演算部に通知するリソース測定部と、前記利用履歴通知部、前記評価関数演算部、前記リソース測定部、前記アクセスカウンタ、に動作開始のタイミングをそれぞれ通知する評価関数演算タイマとを有することを特徴とする、請求項１に記載の分散ディレクトリサーバ。
【請求項４】
ＩＤ、ＵＲＩ、タイトル、作成者、作成場所、作成時間、発生源、発生源ノード、Ｐｕｓｈ／Ｐｕｌｌノードのメタデータを含む前記インデックスを分類し管理するインデックスデータベースと、自サーバが接続している他の分散ディレクトリサーバの情報を保持するサーバ情報データベースと、被Ｐｕｌｌ回数、被Ｐｕｓｈ回数、Ｐｕｌｌデータ利用回数、被Ｐｕｓｈデータ利用回数、Ｐｕｓｈデータ利用回数を分類し管理する集計情報データベースと、Ｐｕｌｌ検索メッセージのＩＤと、検索キーワードと、転送元ノード情報と、転送先ノード情報と、期限切れ時刻を含む検索内容を管理し、前記送受信部が転送したメッセージの応答をいつまで待つか管理する転送リストデータベースと、前記送受信部がどのインデックスを何回参照したかをカウントし、前記集計情報データベースの集計情報を更新するアクセスカウンタと、自サーバの残りリソースを測定し、数値化した上で残りリソースを前記評価関数演算部に通知するリソース測定部と、前記利用履歴通知部、前記評価関数演算部、前記リソース測定部、前記アクセスカウンタ、に動作開始のタイミングをそれぞれ通知する評価関数演算タイマとを有することを特徴とする、請求項１に記載の分散ディレクトリサーバ。
【請求項５】
前記送受信部は、受信したメッセージがＰｕｌｌ検索メッセージであった場合に前記アクセスカウンタを介して前記インデックスデータベースにアクセスし、該当するインデックスについてのコンテンツ情報を読み込み、検索結果をＰｕｌｌ検索応答メッセージに載せて返送し、インデックスに記載されている動作規定に従いＰｕｌｌ検索メッセージを他の分散ディレクトリサーバに転送する場合は、該当する分散ディレクトリサーバについての情報を前記サーバ情報データベースから読み込み、Ｐｕｌｌ検索メッセージを転送し、転送リストデータベースに、転送したメッセージのＩＤと、検索情報を書き込むことを特徴とする、請求項４に記載の分散ディレクトリサーバ。
【請求項６】
前記送受信部は、受信したメッセージがＰｕｌｌ検索応答メッセージであった場合に前記転送リストデータベースを参照し、受信したメッセージのＩＤを確認し、検索情報の中の期限切れ時刻が有効かどうかを確認し、有効であった場合は、前記転送リストデータベースに記載の転送元へＰｕｌｌ検索応答メッセージを転送することを特徴とする、請求項２に記載の分散ディレクトリサーバ。
【請求項７】
前記送受信部は、受信したメッセージがＰｕｓｈ配信メッセージであった場合に前記アクセスカウンタを介して前記インデックスデータベースにアクセスし、メッセージに記載されていたコンテンツ情報をインデックスデータベースに記入し、インデックスに記載されている動作規定に従いＰｕｓｈ配信メッセージを他の分散ディレクトリサーバに転送する場合は、該当する分散ディレクトリサーバについての情報を前記サーバ情報データベースから読み込み、Ｐｕｓｈ配信メッセージを転送することを特徴とする、請求項４に記載の分散ディレクトリサーバ。
【請求項８】
前記送受信部は、受信したメッセージがインデックス削除メッセージであった場合に、前記インデックスデータベースを参照し、該当インデックスのＰｕｓｈ／Ｐｕｌｌノードの欄に記載の分散ディレクトリサーバに対し、インデックス削除メッセージを転送し、該当のインデックスを削除することを特徴とする、請求項２に記載の分散ディレクトリサーバ。
【請求項９】
前記送受信部は、受信したメッセージが利用履歴通知メッセージであった場合に前記利用履歴通知部に対し、該当するＰｕｓｈデータ利用回数を更新するよう通知することを特徴とする、請求項１に記載の分散ディレクトリサーバ。
【請求項１０】
前記送受信部は、前記利用履歴通知部からの通知に従い、利用履歴通知メッセージを該当する他の分散ディレクトリサーバへ送信することを特徴とする、請求項１に記載の分散ディレクトリサーバ。
【請求項１１】
前記利用履歴通知部は、前記評価関数演算タイマの起動するタイミングで動作し、前記集計情報データベースを読み込み、被Ｐｕｓｈデータ利用回数を該分散ディレクトリサーバへ送信するため、前記送受信部に通知し、複数の分散ディレクトリサーバからインデックスを配信されていた場合は、それぞれの分散ディレクトリサーバへ利用履歴通知メッセージを送信するよう送受信部に通知することを特徴とする、請求項４に記載の分散ディレクトリサーバ。
【請求項１２】
前記評価関数演算部は、前記評価関数演算タイマの起動するタイミングで動作し、管理単位毎のインデックスに関連する集計情報を前記集計情報データベースから読み込み、前記リソース測定部から、自サーバの残りリソースを得て、前記インデックスのＰｕｓｈ配信についての集計情報からＰｕｓｈ配信した場合の効果を予測し、Ｐｕｓｈ配信した場合に消費するＣＰＵ負荷、ＲＡＭ使用量、通信帯域使用量、ＨＤＤ使用量などリソース量からコストを算出し、Ｐｕｓｈ配信効果、コスト、残りリソースのバランスを踏まえ、Ｐｕｓｈ配信についての動作規定を決定することを特徴とする、請求項３に記載の分散ディレクトリサーバ。
【請求項１３】
前記評価関数演算部は、Ｐｕｓｈ配信するサーバをさまざまに変え、Ｐｕｓｈ配信効果と残りリソースの乗算をコストで除した結果を用い、Ｐｕｓｈ配信した場合の効果、コスト、残りリソースのバランスのもっともよい動作規定を決定することを特徴とする、請求項１に記載の分散ディレクトリサーバ。
【請求項１４】
前記評価関数演算部は、前記評価関数演算タイマの起動するタイミングで動作し、管理単位毎のインデックスに関連する集計情報を前記集計情報データベースから読み込み、前記リソース測定部から、自サーバの残りリソースを得て、前記インデックスのＰｕｌｌ検索についての集計情報からＰｕｌｌ検索した場合の効果を予測し、Ｐｕｌｌ検索した場合に消費するＣＰＵ負荷、ＲＡＭ使用量、通信帯域使用量、ＨＤＤ使用量などリソース量からコストを算出し、Ｐｕｌｌ検索効果、コスト、残りリソースのバランスを踏まえ、Ｐｕｌｌ検索についての動作規定を決定することを特徴とする、請求項３に記載の分散ディレクトリサーバ。
【請求項１５】
前記評価関数演算部は、Ｐｕｌｌ検索するサーバをさまざまに変え、Ｐｕｌｌ検索効果と残りリソースの乗算をコストで除した結果を用い、Ｐｕｌｌ検索した場合の効果、コスト、残りリソースのバランスのもっともよい動作規定を決定することを特徴とする、請求項１に記載の分散ディレクトリサーバ。
【請求項１６】
前記リソース測定部は、前記評価関数演算タイマの起動するタイミングで動作し、ＣＰＵ負荷、ＲＡＭ使用量、通信帯域使用量、ＨＤＤ使用量など、サーバの性能に係わるデバイスの能力に対する使用量で示される自サーバの残りリソースを測定し、数値化した上で残りリソースを前記評価関数演算部に通知することを特徴とする、請求項３に記載の分散ディレクトリサーバ。
【請求項１７】
前記アクセスカウンタは、前記送受信部がどのインデックスを何回参照したかをカウントし、前記集計情報データベースの集計情報を更新することを特徴とする、請求項３に記載の分散ディレクトリサーバ。
【請求項１８】
前記評価関数演算タイマは、前記利用履歴通知部、前記評価関数演算部、前記リソース測定部、前記アクセスカウンタ、に動作開始のタイミングをそれぞれ通知することを特徴とする、請求項３に記載の分散ディレクトリサーバ。
【請求項１９】
複数の分散ディレクトリサーバと複数の利用者装置とがネットワークによって互いに接続されて構成される分散ディレクトリシステムであって、複数の分散ディレクトリサーバが請求項１ないし１８のうちいずれか１項に記載の分散ディレクトリサーバであることを特徴とする分散ディレクトリシステム。
【請求項２０】
ネットワークによって互いに接続された分散ディレクトリサーバ及び複数の利用者装置で構成された分散ディレクトリシステムにおいてコンテンツ情報を分散管理する方法であって、利用者装置もしくは他の分散ディレクトリサーバから受信したＰｕｓｈ配信メッセージを処理するＰｕｓｈ配信メッセージ処理工程と、利用者装置もしくは他の分散ディレクトリサーバから受信したＰｕｌｌ検索メッセージを処理するＰｕｌｌ検索メッセージ処理工程と、管理単位毎のインデックスに対する被Ｐｕｌｌ回数、被Ｐｕｓｈ回数、Ｐｕｌｌデータ利用回数、被Ｐｕｓｈデータ利用回数、Ｐｕｓｈデータ利用回数を含む集計情報から各管理単位のＰｕｓｈ配信の動作規定を、Ｐｕｓｈ配信した場合の効果、コスト、残りリソースのバランスを踏まえた評価関数の演算結果を利用して決定すると共に、各管理単位のＰｕｌｌ検索の動作規定を、Ｐｕｌｌ検索した場合の効果、コスト、残りリソースのバランスを踏まえた評価関数の演算結果を利用して決定する評価関数演算工程とを有することを特徴とする分散ディレクトリ方法。
【請求項２１】
前記Ｐｕｓｈ配信メッセージ処理工程は、利用者装置もしくは他の分散ディレクトリサーバからＰｕｓｈ配信メッセージを受信する工程と、Ｐｕｓｈ配信されたメタデータの管理単位を確認する工程と、前記メタデータを、ＩＤ、ＵＲＩ、タイトル、作成者、作成場所、作成時間、発生源、発生源ノード、Ｐｕｓｈ／Ｐｕｌｌノードのメタデータを含むインデックスを分類し管理するインデックスデータベースへ登録する工程と、インデックスに記載されている動作規定を確認する工程と、動作規定によりＰｕｓｈ配信しない場合はアイドル状態に戻る工程と、動作規定によりＰｕｓｈ配信する場合は、動作規定に記載された他の分散ディレクトリサーバ向けにＰｕｓｈ配信メッセージを転送しアイドル状態に戻る工程とを有することを特徴とする、請求項２０に記載の分散ディレクトリ方法。
【請求項２２】
前記Ｐｕｌｌ検索メッセージ処理工程は、利用者装置もしくは他の分散ディレクトリサーバからＰｕｌｌ検索メッセージを受信する工程と、Ｐｕｌｌ検索されたメタデータの管理単位を確認する工程と、ＩＤ、ＵＲＩ、タイトル、作成者、作成場所、作成時間、発生源、発生源ノード、Ｐｕｓｈ／Ｐｕｌｌノードのメタデータを含むインデックスを分類し管理するインデックスデータベースを参照し前記メタデータについてのインデックスを検索する工程と、この結果をＰｕｌｌ検索応答メッセージに載せてＰｕｌｌ検索メッセージを送信してきた利用者装置もしくは他の分散ディレクトリサーバへ返送する工程と、前記メタデータについて、被Ｐｕｌｌ回数、被Ｐｕｓｈ回数、Ｐｕｌｌデータ利用回数、被Ｐｕｓｈデータ利用回数、Ｐｕｓｈデータ利用回数を分類し管理する集計情報データベースを更新する工程と、インデックスに記載されている動作規定を確認する工程と、動作規定によりＰｕｌｌ検索しない場合はアイドル状態に戻る工程と、動作規定によりＰｕｌｌ検索する場合は動作規定に記載された他の分散ディレクトリサーバ向けにＰｕｌｌ検索メッセージを転送する工程と、Ｐｕｌｌ検索メッセージのＩＤと、検索キーワードと、転送元ノード情報と、転送先ノード情報と、期限切れ時刻を含む検索内容を管理し、前記転送したメッセージの応答をいつまで待つか管理する転送リストデータベースを更新し、アイドル状態に戻る工程とを有することを特徴とする、請求項２０に記載の分散ディレクトリ方法。
【請求項２３】
前記評価関数演算工程は、自サーバの残りリソースを測定し、数値化した上で残りリソースを通知するリソース測定部から残りリソースを得る工程と、被Ｐｕｌｌ回数、被Ｐｕｓｈ回数、Ｐｕｌｌデータ利用回数、被Ｐｕｓｈデータ利用回数、Ｐｕｓｈデータ利用回数を分類し管理する集計情報データベースからＰｕｓｈ配信効果及びＰｕｌｌ検索効果を得る工程と、Ｐｕｓｈ配信、Ｐｕｌｌ検索それぞれについて、管理単位毎に送信先を変化させたときのＰｕｓｈ配信コスト、Ｐｕｌｌ検索コストを算出し、評価関数を演算する工程と、演算した結果から管理単位毎のＰｕｓｈ配信、Ｐｕｌｌ検索の動作規定を決定し、アイドル状態に戻る工程とを有することを特徴とする、請求項２０に記載の分散ディレクトリ方法。
【請求項２４】
ネットワークによって互いに接続された分散ディレクトリサーバ及び複数の利用者装置で構成された分散ディレクトリシステムにおいて、分散ディレクトリサーバが備えるコンピュータに、利用者装置もしくは他の分散ディレクトリサーバからＰｕｓｈ配信メッセージを受信すると、Ｐｕｓｈ配信されたメタデータの管理単位を確認する処理と、続いて前記メタデータをインデックスデータベースへ登録する処理と、続いてインデックスに記載されている動作規定を確認する処理と、続いて動作規定によりＰｕｓｈ配信する場合は、動作規定に記載された他の分散ディレクトリサーバ向けにＰｕｓｈ配信メッセージを転送する処理と、利用者装置もしくは他の分散ディレクトリサーバからＰｕｌｌ検索メッセージを受信すると、送受信部はＰｕｌｌ検索されたメタデータの管理単位を確認する処理と、続いてインデックスデータベースを参照し前記メタデータについてのインデックスを検索する処理と、続いてこの結果をＰｕｌｌ検索応答メッセージに載せてＰｕｌｌ検索メッセージを送信してきた利用者装置もしくは他の分散ディレクトリサーバへ返送する処理と、続いて前記メタデータについて、被Ｐｕｌｌ回数、被Ｐｕｓｈ回数、Ｐｕｌｌデータ利用回数、被Ｐｕｓｈデータ利用回数、Ｐｕｓｈデータ利用回数を分類し管理する集計情報データベースを更新する処理と、続いてインデックスに記載されている動作規定を確認する処理と、続いて動作規定によりＰｕｌｌ検索する場合は、動作規定に記載された他の分散ディレクトリサーバ向けにＰｕｌｌ検索メッセージを転送する処理と、続いて転送リストデータベースを更新する処理と、割り込みを受けると、リソース測定部から残りリソースを得る処理と、続いて集計情報データベースから被Ｐｕｌｌ回数、被Ｐｕｓｈ回数、Ｐｕｌｌデータ利用回数、被Ｐｕｓｈデータ利用回数、Ｐｕｓｈデータ利用回数を含む該当管理単位の集計情報を得る処理と、続いてＰｕｓｈ配信、Ｐｕｌｌ検索それぞれについて、管理単位毎に送信先を変化させたときのＰｕｓｈ配信コスト、Ｐｕｌｌ検索コストを算出し、Ｐｕｓｈ配信した場合の前記集計情報に基づく効果、コスト、残りリソースのバランスを踏まえて評価関数を演算すると共に、Ｐｕｌｌ検索した場合の前記集計情報に基づく効果、コスト、残りリソースのバランスを踏まえて評価関数を演算する処理と、続いて演算した結果から管理単位毎のＰｕｓｈ配信、Ｐｕｌｌ検索の動作規定を決定する処理とを実行させることを特徴とする分散ディレクトリプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多数の端末から発信されるコンテンツの情報を分散してサーバで管理し、端末から情報検索の要求があった場合にサーバで管理している情報を端末に提供する分散ディレクトリシステムに関する。
【背景技術】
【０００２】
近年、携帯電話やＰＤＡ、車載端末などの移動端末においても、移動しながら音声や映像などの大容量コンテンツをネットワークを利用して交換したいという要望が、ユーザの間で高まっている。
【０００３】
さらに街角監視カメラや各種センサが生成した情報なども合わせてネットワークを流通させ、活用したいといった要望もある。
【０００４】
そのような要望に対応する技術が検討されているが、特に、様々で多量のコンテンツが流通する中で、コンテンツの鮮度を損なわずにコンテンツの情報をユーザへリアルタイムに届けることが重要となる。
【０００５】
現行インタネットのコンテンツ流通を支えるディレクトリ技術として、非管理手法である検索ロボットによる定期情報収集手法、分散管理手法であるＰ２Ｐ手法がある。
【０００６】
検索ロボットによる定期情報収集手法は、例えば非特許文献１にあるように、ネットワーク上に散らばるサーバ上にあるコンテンツをクローラと呼ばれる検索ロボットが巡回し、コンテンツ情報を収集、インデックスサーバにそのコンテンツ情報を集約し整理することでユーザにコンテンツ情報を提供する。
【０００７】
また、Ｐ２Ｐ手法は、例えば非特許文献２にあるように、Ｐ２Ｐに参加するユーザマシンでオーバーレイネットワークを構築し、全体のコンテンツ情報のインデックスを分割してユーザマシンそれぞれで管理し、コンテンツ情報の存在する場所を特定できるようにすることで、ユーザにコンテンツ情報を提供する。
【０００８】
【非特許文献１】林良彦，小橋喜嗣，“WWW上の検索サービスの技術動向，”情報処理 Vol.39 No.9 p.861-865，Sep.1998
【非特許文献２】Eng Keong Lua,Jon Crowcroft, Marcelo Pias, Ravi Sharma and Steven Lim, “A Survey and Comparison of Peer-to-Peer Overlay Network Schemes,” IEEE COMMUNICATIONS SURVEY AND TUTORIAL, March 2004
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、これら非特許文献１や非特許文献２に開示されたような従来手法は、ユビキタスネットワーク社会において頻繁に生成・改変・消滅する状況に対応できない。
【００１０】
例えば、検索ロボットによる定期情報収集手法は、コンテンツの頻繁な更新に追従するために、大量のクローラが頻繁に巡回する必要があるため、処理が膨大でサーバコストがかかる。
【００１１】
また、分散管理手法であるＰ２Ｐは、全てのコンテンツを全ての要求者に開示するには大量のサーバを用意する必要があり、コスト面で実現性に乏しい。
【００１２】
本発明の目的は、かけられるサーバコストの制約の中で、ユーザの要求に対する検索応答レスポンスを最小化することを可能とする、分散ディレクトリサーバ、分散ディレクトリシステム、分散ディレクトリ方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明に係る分散ディレクトリサーバは、ネットワークによって互いに接続された複数の分散ディレクトリサーバおよび複数の利用者装置で構成された分散ディレクトリシステムにおいて使用される分散ディレクトリサーバであって、利用者装置および他の分散ディレクトリサーバとの間でメッセージを送受信する送受信部と、集計情報データベースを読み込み、被Ｐｕｓｈデータ利用回数を該分散ディレクトリサーバへ送信するよう送受信部に通知する利用履歴通知部と、管理単位毎のインデックスに対するＰｕｓｈ配信の動作規定を、Ｐｕｓｈ配信した場合の効果、コスト、残りリソースのバランスを踏まえた評価関数の演算結果を利用して決定すると共に、Ｐｕｌｌ検索の動作規定を、Ｐｕｌｌ検索した場合の効果、コスト、残りリソースのバランスを踏まえた評価関数の演算結果を利用して決定する評価関数演算部とを有することを特徴とする。
【００１４】
また、上記目的を達成するため、本発明に係る分散ディレクトリシステムは、複数の分散ディレクトリサーバと複数の利用者装置とがネットワークによって互いに接続されて構成される分散ディレクトリシステムであって、複数の分散ディレクトリサーバが請求項１ないし１８のうちいずれか１項に記載の分散ディレクトリサーバであることを特徴とする。
【００１５】
また、上記目的を達成するため、本発明に係る分散ディレクトリ方法は、ネットワークによって互いに接続された分散ディレクトリサーバ及び複数の利用者装置で構成された分散ディレクトリシステムにおいてコンテンツ情報を分散管理する方法であって、利用者装置もしくは他の分散ディレクトリサーバからＰｕｓｈ配信メッセージを受信すると、Ｐｕｓｈ配信されたメタデータの管理単位を確認する工程と、続いて前記メタデータをインデックスデータベースへ登録する工程と、続いてインデックスに記載されている動作規定を確認する工程と、続いて動作規定によりＰｕｓｈ配信する場合は、動作規定に記載された他の分散ディレクトリサーバ向けにＰｕｓｈ配信メッセージを転送する工程と、利用者装置もしくは他の分散ディレクトリサーバからＰｕｌｌ検索メッセージを受信すると、送受信部はＰｕｌｌ検索されたメタデータの管理単位を確認する工程と、続いてインデックスデータベースを参照し前記メタデータについてのインデックスを検索する工 程と、続いてこの結果をＰｕｌｌ検索応答メッセージに載せてＰｕｌｌ検索メッセージを送信してきた利用者装置もしくは他の分散ディレクトリサーバへ返送する工程と、続いて前記メタデータについて、集計情報データベースを更新する工程と、続いてインデックスに記載されている動作規定を確認する工程と、続いて動作規定によりＰｕｌｌ検索する場合は、動作規定に記載された他の分散ディレクトリサーバ向けにＰｕｌｌ検索メッージを転送する工程と、続いて転送リストデータベースを更新する工程と、割り込みを受けると、リソース測定部から残りリソースを得る工程と、続いて集計情報データベースから該当管理単位の集計情報を得る工程と、続いてＰｕｓｈ配信、Ｐｕｌｌ検索それぞれについて、管理単位毎に送信先を変化させたときのＰｕｓｈ配信コスト、Ｐｕｌｌ検索コストを算出し、Ｐｕｓｈ配信した場合の前記集計情報に基づく効果、コスト、残りリソースのバランスを踏まえて評価関数を演算すると共に、Ｐｕｌｌ検索した場合の前記集計情報に基づく効果、コスト、残りリソースのバランスを踏まえて評価関数を演算する工程と、続いて演算した結果から管理単位毎のＰｕｓｈ配信、Ｐｕｌｌ検索の動作規定を決定する工程とを有することを特徴とする。
【００１６】
また、上記目的を達成するため、本発明に係る分散ディレクトリプログラムは、ネットワークによって互いに接続された分散ディレクトリサーバ及び複数の利用者装置で構成された分散ディレクトリシステムにおいて、分散ディレクトリサーバが備えるコンピュータに、利用者装置もしくは他の分散ディレクトリサーバからＰｕｓｈ配信メッセージを受信すると、Ｐｕｓｈ配信されたメタデータの管理単位を確認する処理と、続いて前記メタデータをインデックスデータベースへ登録する処理と、続いてインデックスに記載されている動作規定を確認する処理と、続いて動作規定によりＰｕｓｈ配信する場合は、動作規定に記載された他の分散ディレクトリサーバ向けにＰｕｓｈ配信メッセージを転送する処理と、利用者装置もしくは他の分散ディレクトリサーバからＰｕｌｌ検索メッセージを受信すると、送受信部はＰｕｌｌ検索されたメタデータの管理単位を確認する処理と、続いてインデックスデータベースを参照し前記メタデータについてのインデックスを検索する処理と、続いてこの結果をＰｕｌｌ検索応答メッセージに載せてＰｕｌｌ検索メッセージを送信してきた利用者装置もしくは他の分散ディレクトリサーバへ返送する処理と、続いて前記メタデータについて、被Ｐｕｌｌ回数、被Ｐｕｓｈ回数、Ｐｕｌｌデータ利用回数、被Ｐｕｓｈデータ利用回数、Ｐｕｓｈデータ利用回数を分類し管理する集計情報データベースを更新する処理と、続いてインデックスに記載されている動作規定を確認する処理と、続いて動作規定によりＰｕｌｌ検索する場合は、動作規定に記載された他の分散ディレクトリサーバ向けにＰｕｌｌ検索メッセージを転送する処理と、続いて転送リストデータベースを更新する処理と、割り込みを受けると、リソース測定部から残りリソースを得る処理と、続いて集計情報データベースから被Ｐｕｌｌ回数、被Ｐｕｓｈ回数、Ｐｕｌｌデータ利用回数、被Ｐｕｓｈデータ利用回数、Ｐｕｓｈデータ利用回数を含む該当管理単位の集計情報を得る処理と、続いてＰｕｓｈ配信、Ｐｕｌｌ検索それぞれについて、管理単位毎に送信先を変化させたときのＰｕｓｈ配信コスト、Ｐｕｌｌ検索コストを算出し、Ｐｕｓｈ配信した場合の前記集計情報に基づく効果、コスト、残りリソースのバランスを踏まえて評価関数を演算すると共に、Ｐｕｌｌ検索した場合の前記集計情報に基づく効果、コスト、残りリソースのバランスを踏まえて評価関数を演算する処理と、続いて演算した結果から管理単位毎のＰｕｓｈ配信、Ｐｕｌｌ検索の動作規定を決定する処理とを実行させることを特徴とする。
【発明の効果】
【００１７】
本発明は、上記したように利用者装置もしくは他の分散ディレクトリサーバからＰｕｓｈ配信メッセージを受信した場合、メタデータを他の分散ディレクトリサーバへＰｕｓｈ配信する動作規定に、Ｐｕｓｈ配信した場合の効果、コスト、残りリソースのバランスを踏まえた評価関数の演算結果を利用し、さらに、利用者装置もしくは他の分散ディレクトリサーバからＰｕｌｌ検索メッセージを受信した場合、Ｐｕｌｌ検索メッセージを他の分散ディレクトリサーバへ転送する動作規定に、Ｐｕｌｌ検索した場合の効果、コスト、残りリソースのバランスを踏まえた評価関数の演算結果を利用するように構成したので、サーバコストに対し効率的にメタデータを配信あるいは検索する分散ディレクトリシステムを提供することができる。
【発明を実施するための最良の形態】
【００１８】
図１は本発明に係る分散ディレクトリシステムのネットワーク構成例を示す概念図である。
【００１９】
分散ディレクトリシステム１はｍ台の分散ディレクトリサーバ１０と、複数の利用者装置３とで構成されている。なお、ｍは２以上の整数である。各々の分散ディレクトリサーバ１０は、ネットワークを介して相互に接続されている。
【００２０】
図１では分散ディレクトリサーバ１０は格子状に接続されているが、サーバのネットワークトポロジは格子状に限定されるものではない。
【００２１】
利用者装置３は通信手段を介して任意の分散ディレクトリサーバ１０に接続し、サービスを利用する。ここでいう通信手段は、分散ディレクトリサーバ１０にアクセスできる手段であれば特に限定されない。
【００２２】
利用者装置３は、分散ディレクトリサーバ１０が提供するサービスを利用する一方で、自身が持つコンテンツの情報を定期的もしくは不定期に分散ディレクトリサーバ１０にアップロードする。ここでいうコンテンツは、写真、動画、音声、利用者自身が記入した情報、センサーデバイスにより得られる情報などがある。
【００２３】
また、利用者装置３は、任意のタイミングで任意のコンテンツ情報について分散ディレクトリシステム１にリクエストして、該コンテンツについての情報を得ることができる。
【００２４】
分散ディレクトリシステム１は、利用者装置３が発信したコンテンツ情報を、分散ディレクトリサーバ１０間で分散管理することにより、利用者装置３がリクエストしたコンテンツについての情報を提供することによって成立する。
【００２５】
図２は図１で開示した分散ディレクトリサーバ１０の構成を示すブロック図である。
【００２６】
分散ディレクトリサーバ１０は、主制御部１１と、インデックスデータベース１８と、サーバ情報データベース１９と、集計情報データベース２０と、転送リストデータベース２１と、ネットワークインターフェイス２２とを有する。
【００２７】
主制御部１１は、ＣＰＵ、ＲＡＭ、およびＯＳなどで構成されたコンピュータの主要部であり、その上で動作するプログラムとして構成された送受信部１２、アクセスカウンタ１３、利用履歴通知部１４、評価関数演算部１５、リソース測定部１６及び評価関数演算タイマ１７を実行することができる。
【００２８】
送受信部１２は、ネットワークインターフェイス２２を介して、利用者装置３または他の分散ディレクトリサーバ１０からのメッセージを受信し処理する。
【００２９】
受信したメッセージがＰｕｌｌ検索メッセージであった場合は、送受信部１２は、アクセスカウンタ１３を介してインデックスデータベース１８にアクセスし、該当するインデックスについてのコンテンツ情報を読み込み、検索結果をＰｕｌｌ検索応答メッセージに載せて返送する。さらに、インデックスに記載されている動作規定に従いＰｕｌｌ検索メッセージを他の分散ディレクトリサーバ１０に転送する場合は、該当する分散ディレクトリサーバ１０についての情報をサーバ情報データベース１９から読み込み、Ｐｕｌｌ検索メッセージを転送する。このとき転送リストデータベース２１に、転送したメッセージのＩＤと、検索情報を書き込む。
【００３０】
受信したメッセージがＰｕｌｌ検索応答メッセージであった場合は、送受信部１２は、転送リストデータベース２１を参照し、受信したメッセージのＩＤを確認し、検索情報の中の期限切れ時刻が有効かどうかを確認する。有効であった場合は、転送リストデータベース２１に記載の転送元へＰｕｌｌ検索応答メッセージを転送する。
【００３１】
受信したメッセージがＰｕｓｈ配信メッセージであった場合は、送受信部１２は、アクセスカウンタ１３を介してインデックスデータベース１８にアクセスし、メッセージに記載されていたコンテンツ情報をインデックスデータベース１８に記入する。さらに、インデックスに記載されている動作規定に従いＰｕｓｈ配信メッセージを他の分散ディレクトリサーバ１０に転送する場合は、該当する分散ディレクトリサーバ１０についての情報をサーバ情報データベース１９から読み込み、Ｐｕｓｈ配信メッセージを転送する。
【００３２】
受信したメッセージがインデックス削除メッセージであった場合は、送受信部１２は、インデックスデータベース１８を参照し、該当インデックスのＰｕｓｈ／Ｐｕｌｌノードの欄に記載の分散ディレクトリサーバ１０に対し、インデックス削除メッセージを転送し、該当のインデックスを削除する。
【００３３】
受信したメッセージが利用履歴通知メッセージであった場合は、送受信部１２は、利用履歴通知部１４に対し、該当するＰｕｓｈデータ利用回数を更新するよう通知する。
【００３４】
また、送受信部１２は、利用履歴通知部１４からの通知に従い、利用履歴通知メッセージを該当する他の分散ディレクトリサーバ１０へ送信する。
【００３５】
ここで、送受信部１２が送受信する各種のメッセージについて説明する。
【００３６】
Ｐｕｌｌ検索メッセージは、利用者装置３または他の分散ディレクトリサーバ１０から発信される固有のＩＤを持つメッセージで、メッセージ内に記載されたコンテンツに関する情報をメッセージ送信者が求めていることを示す。メッセージ内に記載される情報は、コンテンツ名やコンテンツに関連するキーワード、ジャンル、ファイルの種類、などのコンテンツに関するメタデータである。
【００３７】
Ｐｕｌｌ検索応答メッセージは、Ｐｕｌｌ検索メッセージに対する応答メッセージで、Ｐｕｌｌ検索メッセージ内に記載されたコンテンツに関する情報を応答するためのメッセージである。
【００３８】
Ｐｕｓｈ配信メッセージは、利用者装置３または他の分散ディレクトリサーバ１０から発信されるメッセージで、メッセージ内に記載されたコンテンツに関する情報をいち早く通知するためのメッセージである。メッセージ内に記載される情報は、コンテンツ名やコンテンツに関連するキーワード、ジャンル、製作者、製作時間、ファイルの種類、などのコンテンツに関するメタデータである。
【００３９】
インデックス削除メッセージは、インデックスを削除するためのメッセージであって、Ｐｕｓｈ配信またはＰｕｌｌ検索された結果、過去に該当のインデックスを送信した分散ディレクトリサーバ１０に該当インデックスを削除するよう通知するためのメッセージである。
【００４０】
利用履歴通知メッセージは、他の分散ディレクトリサーバ１０から発信されるメッセージで、Ｐｕｓｈデータ利用回数を通知するメッセージである。
【００４１】
図３は、図２に開示したインデックスデータベース１８のデータ構成例を示す概念図である。
【００４２】
インデックスは管理単位毎に分類されて、動作規定が記載され、さらにハッシュ値で分類されている。ハッシュ値以下にはそのハッシュ値を含むコンテンツのメタデータの一部または全体が記載されている。図３では、コンテンツのメタデータの例として、ＩＤ、ＵＲＩ、タイトル、作成者、作成場所、作成時間が記載されている。
【００４３】
さらに、インデックスには発生源の項目がある。発生源とはそのインデックスをどうやって得たかを示し、利用者装置３から得たオリジナル、他の分散ディレクトリサーバ１０からＰｕｓｈ配信された被Ｐｕｓｈ、自サーバがＰｕｌｌ検索したことによって他の分散ディレクトリサーバ１０から得たＰｕｌｌの３種を記載する。これは集計情報リストのどの項目の利用履歴を更新するかに利用される。
【００４４】
さらに発生源ノードの項目にはそのインデックスをどこから得たかを記載する。
【００４５】
さらに、インデックスにはＰｕｓｈ／Ｐｕｌｌノードの項目があり、Ｐｕｓｈ／Ｐｕｌｌノードはそのインデックスをどの分散ディレクトリサーバ１０へ送信したかを記載する。これはインデックスの削除をする時に利用される。
【００４６】
図３ではインデックスを管理単位毎に管理する例を示したが、管理単位とはジャンル、コンテンツ種別、作成者、作成場所などインデックスを分類するための特徴量であって、本発明はインデックスをどんな項目で管理しても構わない。
【００４７】
また、メタデータはハッシュ値化して分類する例を示したが、メタデータを一意に決定できるのであればハッシュ値以外の値を用いても構わない。
【００４８】
さらに、インデックスに記載されるメタデータはＩＤ、ＵＲＩ、タイトル、作成者、作成場所、作成時間に限定されず、コンテンツの特徴を示す情報であればメタデータの種類、個数は限定されない。
【００４９】
図４は、図２に開示したサーバ情報データベース１９のデータ構成を示す概念図である。
【００５０】
サーバ情報データベース１９は、自サーバが接続している他の分散ディレクトリサーバの情報を保持する。ここでのサーバの情報にはサーバ名、サーバのＩＰアドレス、ポート番号などが含まれる。
【００５１】
図５は、図２に開示した集計情報データベース２０のデータ構成を示す概念図である。
【００５２】
集計情報は近隣サーバ毎に管理され、アクセスカウンタ１３によって更新され、評価関数の演算に利用される。図５ではＰｕｓｈ／Ｐｕｌｌ操作についての利用回数の集計をする例である。Ｐｕｓｈ／Ｐｕｌｌ操作項目は、さらに管理単位毎に集計される。
【００５３】
インデックスデータベース１８が他の項目で管理されていた場合は集計情報データベース２０のＰｕｓｈ／Ｐｕｌｌ操作項目も同じ項目で集計される。
【００５４】
管理単位毎の集計はさらに、被Ｐｕｌｌ回数、被Ｐｕｓｈ回数、Ｐｕｌｌデータ利用回数、被Ｐｕｓｈデータ利用回数、Ｐｕｓｈデータ利用回数ごとに集計される。
【００５５】
被Ｐｕｌｌ回数はＰｕｓｈ配信時の評価関数におけるＰｕｓｈ効果予測に利用され、オリジナルまたは被Ｐｕｓｈのインデックスが他の分散ディレクトリサーバ１０から何回Ｐｕｌｌ検索されたかを集計した数値である。
【００５６】
被Ｐｕｓｈ回数はＰｕｌｌ検索時の評価関数におけるサーバ選択に利用され、該管理単位のインデックスが他の分散ディレクトリサーバ１０から何回Ｐｕｓｈ配信されたかを集計した数値である。
【００５７】
Ｐｕｌｌデータ利用回数はＰｕｌｌ検索時の評価関数におけるＰｕｌｌ効果予測に利用され、Ｐｕｌｌのインデックスが利用者装置３または他の分散ディレクトリサーバ１０から何回Ｐｕｌｌ検索されたかを集計した数値である。
【００５８】
被Ｐｕｓｈデータ利用回数は他の分散ディレクトリサーバ１０からＰｕｓｈ配信されたインデックスの利用回数を利用履歴通知メッセージで通知するために利用され、他の分散ディレクトリサーバ１０からＰｕｓｈ配信されたインデックスが何回利用されたかを集計した数値である。
【００５９】
Ｐｕｓｈデータ利用回数はＰｕｓｈ配信時の評価関数におけるＰｕｓｈ効果予測に利用され、他の分散ディレクトリサーバ１０から利用履歴通知メッセージによって通知された数値を集計した数値である。
【００６０】
図５では、集計情報としてＰｕｓｈ／Ｐｕｌｌ操作についての利用回数の集計をする例を示したが、近隣サーバ間の情報のやりとりの効率、コストに関する他の情報、例えばメッセージ送受信データ量などを集計して、利用することもできる。
【００６１】
図６は、図２に開示した転送リストデータベース２１のデータ構成を示す概念図である。
【００６２】
転送リストには、Ｐｕｌｌ検索メッセージのＩＤと検索内容が記載される。検索内容は、検索キーワードと、転送元ノード情報と、転送先ノード情報と、期限切れ時刻が記載される。
【００６３】
期限切れは転送した時刻に保持時間を加えた時刻であって、転送したメッセージの応答をいつまで待つかを示す。ノード情報とはＰｕｌｌ検索メッセージの転送元または転送先となる利用者装置３または他の分散ディレクトリサーバ１０の情報であって、サーバ名、サーバのＩＰアドレス、ポート番号などが含まれる。
【００６４】
アクセスカウンタ１３は、送受信部１２がどのインデックスを何回参照したかをカウントし、集計情報データベース２０の集計情報を更新する。
【００６５】
集計情報は、情報が更新されるたびに集計情報データベース２０に書き込みしてもよいし、評価関数演算タイマ１７が起動するタイミングで集計情報データベース２０に書き込みしてもよい。
【００６６】
利用履歴通知部１４は、評価関数演算タイマ１７の起動するタイミングで動作し、集計情報データベース２０を読み込み、被Ｐｕｓｈデータ利用回数を該分散ディレクトリサーバ１０へ送信するため、送受信部１２に通知する。
【００６７】
複数の分散ディレクトリサーバ１０からインデックスを配信されていた場合は、それぞれの分散ディレクトリサーバ１０へ利用履歴通知メッセージを送信するよう送受信部１２に通知する。
【００６８】
評価関数演算部１５は、評価関数演算タイマ１７の起動するタイミングで動作し、管理単位毎のインデックスに対するＰｕｓｈ配信の動作規定を決定する。例えばある管理単位Ａについての演算の場合、管理単位Ａに関連する集計情報を集計情報データベース２０から読み込む。さらにリソース測定部１６から、自サーバの残りリソースを得る。
【００６９】
管理単位ＡのＰｕｓｈ配信についての動作規定を決定する場合、まず、管理単位Ａに関連する集計情報からＰｕｓｈ配信した場合の効果を予測する。例えば、被Ｐｕｌｌ回数とＰｕｓｈデータ利用回数の合計値が大きい場合は、管理単位Ａについて情報を知りたい利用者が多いことを示すため、Ｐｕｓｈ配信効果が高い、と判断できる。
【００７０】
さらにＰｕｓｈ配信した場合のコストを算出する。コストとはその動作を実施することによって消費するリソース量を示し、ＣＰＵ負荷、ＲＡＭ使用量、通信帯域使用量、ＨＤＤ使用量などから求める。
【００７１】
Ｐｕｓｈ配信効果、コスト、残りリソースのバランスを踏まえ、Ｐｕｓｈ配信についての動作規定を決定する。例えば、Ｐｕｓｈ配信効果と残りリソースの乗算をコストで除した結果を用いる。このときどの分散ディレクトリサーバにＰｕｓｈ配信するかによって、効果及び消費するコストが変化する。よって、Ｐｕｓｈ配信するサーバをさまざまに変えることによって、Ｐｕｓｈ配信した場合の効果、コスト、残りリソースのバランスのもっともよい動作規定を決定することもできる。
【００７２】
また、評価関数演算部１５は、評価関数演算タイマ１７の起動するタイミングで動作し、管理単位毎のインデックスに対するＰｕｌｌ検索の動作規定を決定する。例えばある管理単位Ａについての演算の場合、管理単位Ａに関連する集計情報を集計情報データベース２０から読み込む。
【００７３】
さらにリソース測定部１６から、自サーバの残りリソースを得る。管理単位ＡのＰｕｌｌ検索についての動作規定を決定する場合、まず、管理単位Ａに関連する集計情報からＰｕｌｌ検索した場合の効果を予測する。例えば、Ｐｕｌｌデータ利用回数が大きい場合は、管理単位Ａについて情報を知りたい利用者が多く、Ｐｕｌｌ検索後の再利用性が高いことを示すため、Ｐｕｌｌ検索効果が高い、と判断できる。
【００７４】
さらにＰｕｌｌ検索した場合のコストを算出する。コストとはその動作を実施することによって消費するリソース量を示し、ＣＰＵ負荷、ＲＡＭ使用量、通信帯域使用量、ＨＤＤ使用量などから求める。
【００７５】
Ｐｕｌｌ検索した場合の効果、コスト、残りリソースのバランスを踏まえ、Ｐｕｌｌ検索についての動作規定を決定する。例えば、Ｐｕｌｌ検索効果と残りリソースの乗算をコストで除した結果を用いる。
【００７６】
このとき、どの分散ディレクトリサーバにＰｕｌｌ検索するかによって、効果及び消費するコストが変化する。よって、Ｐｕｌｌ検索するサーバをさまざまに変えることによって、Ｐｕｌｌ検索した場合の効果、コスト、残りリソースのバランスのもっともよい動作規定を決定することもできる。
【００７７】
リソース測定部１６は、評価関数演算タイマ１７の起動するタイミングで動作し、自サーバの残りリソースを測定し、数値化した上で残りリソースを評価関数演算部１５に通知する。
【００７８】
ここで、測定するリソースとは、ＣＰＵ負荷、ＲＡＭ使用量、通信帯域使用量、ＨＤＤ使用量など、サーバの性能に係わるデバイスの能力に対する使用量である。
【００７９】
また、集計情報データベース２０でコストに関する情報を集計している場合は、その情報も用いて自サーバの残りリソースを測定することもできる。
【００８０】
評価関数演算タイマ１７は、利用履歴通知部１４、評価関数演算部１５、リソース測定部１６、アクセスカウンタ１３、に動作開始のタイミングをそれぞれ通知する。通知するタイミングは全て同期してもよいし、それぞれ別々のタイミングでもよい。
【００８１】
図７は、利用者装置３もしくは他の分散ディレクトリサーバ１０からＰｕｓｈ配信メッセージを受信した場合の、図２に開示した分散ディレクトリサーバ１０の動作を示すフローチャートである。
【００８２】
動作を開始すると、まず送受信部１２が利用者装置３もしくは他の分散ディレクトリサーバ１０からの通信を待つ状態（以後アイドル状態という）となる（Ｓ２００）。
【００８３】
利用者装置３もしくは他の分散ディレクトリサーバ１０からＰｕｓｈ配信メッセージを受信すると（Ｓ２０１）、送受信部１２はＰｕｓｈ配信されたメタデータの管理単位を確認する（Ｓ２０２）。さらに前記メタデータをインデックスデータベース１８へ登録する（Ｓ２０３）。
【００８４】
このとき、インデックスに記載されている動作規定を確認する（Ｓ２０４）。動作規定によりＰｕｓｈ配信しない場合はアイドル状態に戻る（Ｓ２０４：Ｐｕｓｈ配信しない）。動作規定によりＰｕｓｈ配信する場合は、動作規定に記載された他の分散ディレクトリサーバ１０向けにＰｕｓｈ配信メッセージを転送しアイドル状態に戻る（Ｓ２０４：Ｐｕｓｈ配信する）。
【００８５】
図８は、利用者装置３もしくは他の分散ディレクトリサーバ１０からＰｕｌｌ検索メッセージを受信した場合の、図２に開示した分散ディレクトリサーバ１０の動作を示すフローチャートである。
【００８６】
利用者装置３もしくは他の分散ディレクトリサーバ１０からＰｕｌｌ検索メッセージを受信すると（Ｓ２１１）、送受信部１２はＰｕｌｌ検索されたメタデータの管理単位を確認する（Ｓ２１２）。
【００８７】
次にインデックスデータベース１８を参照し前記メタデータについてのインデックスを検索する（Ｓ２１３）。この結果をＰｕｌｌ検索応答メッセージに載せてＰｕｌｌ検索メッセージを送信してきた利用者装置３もしくは他の分散ディレクトリサーバ１０へ返送する（Ｓ２１４）。
【００８８】
さらに、前記メタデータについて、集計情報データベースを更新する（Ｓ２１５）。
【００８９】
また、インデックスに記載されている動作規定を確認し（Ｓ２１６）、動作規定によりＰｕｌｌ検索しない場合はアイドル状態に戻る（Ｓ２１６：Ｐｕｌｌ検索しない）。動作規定によりＰｕｌｌ検索する場合は（Ｓ２１６：Ｐｕｌｌ検索する）、動作規定に記載された他の分散ディレクトリサーバ１０向けにＰｕｌｌ検索メッセージを転送する（Ｓ２１７）。さらに転送リストデータベース２１を更新し（Ｓ２１８）、アイドル状態に戻る。
【００９０】
図９は、評価関数演算タイマ１７から割り込みを受けた場合の、図２に開示した分散ディレクトリサーバ１０の動作を示すフローチャートである。
【００９１】
アイドル状態の評価関数演算部が割り込みを受けると（Ｓ２２１）、リソース測定部１６から残りリソースを得る（Ｓ２２２）。
【００９２】
さらに、集計情報データベース２０からＰｕｓｈ配信効果及びＰｕｌｌ検索効果を得る（Ｓ２２３）。Ｐｕｓｈ配信、Ｐｕｌｌ検索それぞれについて、管理単位毎に送信先を変化させたときのＰｕｓｈ配信コスト、Ｐｕｌｌ検索コストを算出し、評価関数を演算する（Ｓ２２４）。
【００９３】
演算した結果から管理単位毎のＰｕｓｈ配信、Ｐｕｌｌ検索の動作規定を決定し（Ｓ２２５）、アイドル状態に戻る。
【００９４】
なお、図７〜９で説明したフローチャートに係る各ステップの動作内容は、分散ディレクトリサーバ１０が予め備えるコンピュータ（主制御部１１）で動作するプログラムとして実行させるように構成することができる。
【００９５】
本実施形態は、以上で説明したように、利用者装置３もしくは他の分散ディレクトリサーバ１０からＰｕｓｈ配信メッセージを受信した場合、メタデータを他の分散ディレクトリサーバへＰｕｓｈ配信する動作規定に、Ｐｕｓｈ配信した場合の効果、コスト、残りリソースのバランスを踏まえた評価関数の演算結果を利用し、さらに、利用者装置３もしくは他の分散ディレクトリサーバ１０からＰｕｌｌ検索メッセージを受信した場合、Ｐｕｌｌ検索メッセージを他の分散ディレクトリサーバ１０へ転送する動作規定に、Ｐｕｌｌ検索した場合の効果、コスト、残りリソースのバランスを踏まえた評価関数の演算結果を利用する。このため、サーバコストに対し効率的にメタデータを配信あるいは検索する分散ディレクトリシステム１を提供することができる。
【００９６】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることは言うまでもないことである。
【図面の簡単な説明】
【００９７】
【図１】本発明に係る分散ディレクトリシステム１のネットワーク構成を示す概念図である。
【図２】図１で開示した分散ディレクトリサーバ１０の構成を示すブロック図である。
【図３】図２に開示したインデックスデータベース１８の構成を示す概念図である。
【図４】図２に開示したサーバ情報データベース１９の構成を示す概念図である。
【図５】図２に開示した集計情報データベース２０の構成を示す概念図である。
【図６】図２に開示した転送リストデータベース２１の構成を示す概念図である。
【図７】利用者装置３もしくは他の分散ディレクトリサーバ１０からＰｕｓｈ配信メッセージを受信した場合の、図２に開示した分散ディレクトリサーバ１０の動作を示すフローチャートである。
【図８】利用者装置３もしくは他の分散ディレクトリサーバ１０からＰｕｌｌ検索メッセージを受信した場合の、図２に開示した分散ディレクトリサーバ１０の動作を示すフローチャートである。
【図９】評価関数演算タイマ１７から割り込みを受けた場合の、図２に開示した分散ディレクトリサーバ１０の動作を示すフローチャートである。
【符号の説明】
【００９８】
１  分散ディレクトリシステム
３  利用者装置
１０  分散ディレクトリサーバ
１１  主制御部
１２  送受信部
１３  アクセスカウンタ
１４  利用履歴通知部
１５  評価関数演算部
１６  リソース測定部
１７  評価関数演算タイマ
１８  インデックスデータベース
１９  サーバ情報データベース
２０  集計情報データベース
２１  転送リストデータベース
２２  ネットワークインターフェイス
【図１】
0005360457.tif 000002
【図２】
0005360457.tif 000003
【図３】
0005360457.tif 000004
【図４】
0005360457.tif 000005
【図５】
0005360457.tif 000006
【図６】
0005360457.tif 000007
【図７】
0005360457.tif 000008
【図８】
0005360457.tif 000009
【図９】
0005360457.tif 000010