(57)【要約】【課題】本発明が解決しようとする課題は、新規利用者装置が更新情報配信システムに接続する時に必要となる処理量を軽減することを可能とする技術を提供することにある。【解決手段】本発明は、所望する情報を送信するノードを検索するための要求メッセージに対する応答メッセージを、前記情報の自ノードにおける配信効率に応じて遅延させて返信することを特徴とする。【選択図】図１
2010171928.tif 000002
【特許請求の範囲】
【請求項１】
所望する情報を送信するノードを検索するための要求メッセージに対する応答メッセージを、前記情報の自ノードにおける配信効率に応じて遅延させて返信することを特徴とする通信システム。
【請求項２】
前記要求メッセージを送信したノードが最初に受信した前記応答メッセージを送信したノードが、前記情報を、前記要求メッセージを送信したノード宛に送信するように設定することを特徴とする請求項１に記載の通信システム。
【請求項３】
前記遅延は、前記応答メッセージを返信するノードのネットワーク上の位置、前記情報を他ノードに送信可能な残数、及び前記ネットワークに属してからの経過時間の少なくとも１つを用いて算出されることを特徴とする請求項１又は請求項２に記載の通信システム。
【請求項４】
前記遅延は、前記ネットワーク上の位置÷（前記残数×前記経過時間)に応じて設定されることを特徴とする請求項３に記載の通信システム。
【請求項５】
前記遅延は、自ノードのＣＰＵ処理負荷および通信回線負荷の測定値を用いて算出されることを特徴とする請求項１又は請求項２に記載の通信システム。
【請求項６】
前記遅延は、前記要求メッセージを受信してから前記応答メッセージを送信可能な状態になるまでの処理にかかった時間を用いて算出されることを特徴とする請求項１又は請求項２に記載の通信システム。
【請求項７】
前記遅延は、前記情報の発信源のノードから自ノードまで前記情報が届くまでにかかる時間を用いて算出されることを特徴とする請求項１又は請求項２に記載の通信システム。
【請求項８】
前記遅延は、前記要求メッセージ受信後に前記情報の発信源のノード宛に送信した、前記論理ツリー上をたどるメッセージの応答を用いて測定したラウンドトリップタイムから算出されることを特徴とする請求項１又は請求項２に記載の通信システム。
【請求項９】
前記情報の更新情報を受信すると、前記設定されたノード宛に前記更新情報を送信することを特徴とする請求項１から請求項８のいずれかに記載の通信システム。
【請求項１０】
所望する情報を送信するノードを検索するための要求メッセージに対する応答メッセージを、前記情報の自ノードにおける配信効率に応じて遅延させて返信することを特徴とするノード。
【請求項１１】
前記要求メッセージを送信したノードが最初に受信した前記応答メッセージを送信したノードが、前記情報を、前記要求メッセージを送信したノード宛に送信するように設定することを特徴とする請求項１０に記載のノード。
【請求項１２】
前記遅延は、前記応答メッセージを返信するノードのネットワーク上の位置、前記情報を他ノードに送信可能な残数、及び前記ネットワークに属してからの経過時間の少なくとも１つを用いて算出されることを特徴とする請求項１０又は請求項１１に記載のノード。
【請求項１３】
前記遅延は、前記ネットワーク上の位置÷（前記残数×前記経過時間)に応じて設定されることを特徴とする請求項１２に記載のノード。
【請求項１４】
前記遅延は、ＣＰＵ処理負荷および通信回線負荷の測定値を用いて算出されることを特徴とする請求項１０又は請求項１１に記載のノード。
【請求項１５】
前記遅延は、要求メッセージを受信してから応答メッセージを送信可能な状態になるまでの処理にかかった時間を用いて算出されることを特徴とする請求項１０又は請求項１１に記載のノード。
【請求項１６】
前記遅延は、前記情報の発信源のノードから自ノードまで前記情報が届くまでにかかる時間を用いて算出されることを特徴とする請求項１０又は請求項１１に記載のノード。
【請求項１７】
前記遅延は、前記要求メッセージ受信後に前記情報の発信源のノード宛に送信した、前記論理ツリー上をたどるメッセージの応答を用いて測定したラウンドトリップタイムから算出されることを特徴とする請求項１０又は請求項１１に記載のノード。
【請求項１８】
前記情報の更新情報を受信すると、前記設定されたノード宛に前記更新情報を送信することを特徴とする請求項１０から請求項１７のいずれかに記載のノード。
【請求項１９】
所望する情報を送信するノードを検索するための要求メッセージに対する応答メッセージを、前記情報の自ノードにおける配信効率に応じて遅延させて返信することを特徴とする通信方法。
【請求項２０】
前記要求メッセージを送信したノードが最初に受信した前記応答メッセージを送信したノードが、前記情報を、前記要求メッセージを送信したノード宛に送信するように設定することを特徴とする請求項１９に記載の通信方法。
【請求項２１】
前記応答メッセージを返信するノードのネットワーク上の位置、前記情報を他ノードに送信可能な残数、及び前記ネットワークに属してからの経過時間の少なくとも１つを用いて前記遅延を算出することを特徴とする請求項１９又は請求項２０に記載の通信方法。
【請求項２２】
前記ネットワーク上の位置÷（前記残数×前記経過時間)に応じて、前記遅延を設定することを特徴とする請求項２１に記載の通信方法。
【請求項２３】
前記遅延は、ＣＰＵ処理負荷および通信回線負荷の測定値を用いて算出されることを特徴とする請求項１９又は請求項２０に記載の通信方法。
【請求項２４】
前記遅延は、要求メッセージを受信してから応答メッセージを送信可能な状態になるまでの処理にかかった時間を用いて算出されることを特徴とする請求項１９又は請求項２０に記載の通信方法。
【請求項２５】
前記遅延は、前記情報の発信源のノードから自ノードまで前記情報が届くまでにかかる時間を用いて算出されることを特徴とする請求項１９又は請求項２０に記載の通信方法。
【請求項２６】
前記遅延は、前記要求メッセージ受信後に前記情報の発信源のノード宛に送信した、前記論理ツリー上をたどるメッセージの応答を用いて測定したラウンドトリップタイムから算出されることを特徴とする請求項１９又は請求項２０に記載の通信方法。
【請求項２７】
前記情報の更新情報を受信すると、前記設定されたノード宛に前記更新情報を送信することを特徴とする請求項１９から請求項２６のいずれかに記載の通信方法。
【請求項２８】
情報処理装置に、
所望する情報を送信するノードを検索するための要求メッセージに対する応答メッセージを、前記情報の自ノードにおける配信効率に応じて遅延させて返信する処理を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバから発信されるコンテンツについて、利用者装置から配信要求があった場合に、コンテンツ更新情報を利用者装置に提供する配信システムに関する。
【背景技術】
【０００２】
近年、携帯電話、ＰＤＡ、及び車載端末などの移動端末が普及し、移動しながら音声や映像などの大容量コンテンツを、ネットワークを利用して交換したいという要望がユーザの間で高まっている。また、街角監視カメラや各種センサが生成した情報なども合わせてネットワークに流通させて活用したいといった要望もある。
【０００３】
このような要望に対応するにあたって、特に、種類が様々で多量のコンテンツが流通する中において、コンテンツの鮮度を損なわずにコンテンツの情報をユーザにリアルタイムで届けることが重要となる。
【０００４】
このような要望に対して、コンテンツが更新されたという情報を配信するシステムが検討されている。多量の利用者に対しリアルタイムに効率的にコンテンツ更新情報を配信するための方法が提案されている。
【０００５】
例えば、特許文献４では、複数のノード間でデータを送受信して情報を配信するシステムにおいて、ノード固有の値に応じて遅延させて送信することにより、トラヒックによるデータの喪失を減らして効率よくデータを配信する技術が開示されている。
【０００６】
また、一方では、多量の利用者に対しリアルタイムに効率的にコンテンツ更新情報を配信するため情報を配信するために、配信ツリーを構築するための方法がいくつか提案されている。
【０００７】
例えば、特許文献２では、新規に配信を希望する利用者装置からの配信リクエストを受信した複数の既存利用者装置は、自身のCPU使用率、メモリ利用率、CPUスペック、物理的近傍度、生存時間といった評価情報を新規利用者装置に返信し、新規利用者装置は、受信した複数の評価情報を比較評価し、どの既存利用者装置の配下に接続するかを決定する技術が開示されている。
【０００８】
また、特許文献３では、受信時間と接続次数とから評価し、どの既存利用者装置の配下に接続するかを決定する技術が開示されている。
【０００９】
また、特許文献４では、ホップ数とパケット到着の早さで評価し、どの既存利用者装置の配下に接続するかを決定する技術が開示されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００１−０４５０２０号
【特許文献２】特開２００５‐２５２５９６号
【特許文献３】特開２００５‐８５１４６号
【特許文献４】特開２００４‐２４６７９０号
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献１の技術は、データを効率よく送信するためのネットワーク構成を考慮せずにデータを配信しているため、効率的にデータを送信することができない。また、ユビキタスネットワーク社会においてコンテンツが頻繁に生成・改変・消滅する状況では、サーバとクライアントの関係が頻繁に変化した場合、トポロジの組み換えが頻繁になり対応ができない。
【００１２】
また、特許文献２〜４の技術は、いずれも新規利用者装置は既存利用者装置へ接続要求を出し、新規利用者装置は多数の既存利用者装置から応答を受け、どの既存利用者装置へ接続するか比較評価しなければならない。即ち、データを効率よく送信するためのネットワーク構成を考慮しているが、多量の応答からどの既存利用者装置に接続するか比較評価する処理は、新規に接続してくる利用者装置に多大な負荷を与えることになる。
【００１３】
そこで、本発明が解決しようとする課題は、新規利用者装置が更新情報配信システムに接続する時に必要となる処理量を軽減することを可能とする技術を提供することにある。
【課題を解決するための手段】
【００１４】
上記課題を解決するための本発明は、通信システムであって、所望する情報を送信するノードを検索するための要求メッセージに対する応答メッセージを、前記情報の自ノードにおける配信効率に応じて遅延させて返信することを特徴とする。
【００１５】
上記課題を解決するための本発明は、ノードであって、所望する情報を送信するノードを検索するための要求メッセージに対する応答メッセージを、前記情報の自ノードにおける配信効率に応じて遅延させて返信することを特徴とする。
【００１６】
上記課題を解決するための本発明は、通信方法であって、所望する情報を送信するノードを検索するための要求メッセージに対する応答メッセージを、前記情報の自ノードにおける配信効率に応じて遅延させて返信することを特徴とする。
【００１７】
上記課題を解決するための本発明は、プログラムであって、情報処理装置に、所望する情報を送信するノードを検索するための要求メッセージに対する応答メッセージを、前記情報の自ノードにおける配信効率に応じて遅延させて返信する処理を実行させることを特徴とする。
【発明の効果】
【００１８】
本発明によると、新規に更新情報配信システムに参加する利用者装置が更新情報配信システムに接続する時に必要になる処理量を軽減することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】本発明に係る更新情報配信システム１のネットワーク構成を示す概念図である。
【図２】図１に開示した利用者装置１００の構成を示すブロック図である。
【図３】図１に開示した更新情報配信サーバ２００の構成を示す概念図である。
【図４】図２に開示したメタデータデータベース１２２の構成を示す概念図である。
【図５】図２に開示した利用者装置情報データベース１２３の構成を示す概念図である。
【図６】利用者装置１００が検索メッセージを送信した場合の、図２に開示した利用者装置１００の動作を示すフローチャートである。
【図７】利用者装置１００が検索応答メッセージを受信した場合の、図２に開示した利用者装置１００の動作を示すフローチャートである。
【図８】利用者装置１００が検索メッセージを受信した場合の、図２に開示した利用者装置１００の動作を示すフローチャートである。
【図９】利用者装置１００内で遅延時間演算タイマが通知された場合の、図２に開示した利用者装置１００の動作を示すフローチャートである。
【図１０】利用者装置１００が更新グラフ参加要求メッセージを送信した場合の、図２に開示した利用者装置１００の動作を示すフローチャートである。
【図１１】利用者装置１００が更新グラフ参加要求メッセージを受信した場合の、図２に開示した利用者装置１００の動作を示すフローチャートである。
【図１２】利用者装置１００が更新情報メッセージを受信した場合の、図２に開示した利用者装置１００の動作を示すフローチャートである。
【図１３】利用者装置１００がコンテンツ要求メッセージを送信した場合の、図２に開示した利用者装置１００の動作を示すフローチャートである。
【図１４】更新情報配信サーバ２００がコンテンツを更新した場合の、図３に開示した更新情報配信サーバ２００の動作を示すフローチャートである。
【図１５】更新情報配信サーバ２００がコンテンツ要求メッセージを受信した場合の、図３に開示した更新情報配信サーバ２００の動作を示すフローチャートである。
【発明を実施するための最良の形態】
【００２０】
本発明は、所望の情報を配信するノード、又はこのノードから情報の配信を受けているノードから情報配信を受けるにあたって、どのノードから情報配信を受けるかを検索し、検索したノードから情報配信を受けるように設定する通信システムである。
【００２１】
本発明の特徴を説明するために、以下において、図面を参照して具体的に述べる。
【００２２】
図１は、本発明に係る更新情報配信システム１の構成例を示す概念図である。
【００２３】
更新情報配信システム１は、複数の利用者装置１００と、更新情報配信サーバ２００とを有し、論理ネットワークを構成している。あるひとつのコンテンツ（情報）につき１つの更新情報配信システム１が構成されており、複数のコンテンツが存在する場合は、コンテンツ毎にそれぞれ別の更新情報配信システム１が論理ネットワーク上に構成される。即ち、更新情報配信システム１を論理ネットワーク上で複数組み合わせることにより、多種多様なコンテンツの更新情報を利用者装置１００へ配信する大規模なシステムを構築することができる。更新情報配信システム１は、更新情報配信サーバ２００（ｎ１０）を頂点とし、更新情報配信サーバ２００の配下に利用者装置１００であるｎ８、ｎ１１があり、ｎ８の配下にｎ３及びｎ４４、ｎ１１の配下にｎ２２があるというような、ツリー構造の状態で接続されている。
【００２４】
利用者装置１００は、更新情報配信サーバ２００、若しくは１つまたは複数の利用者装置１００と接続する。接続している更新情報配信サーバ２００、若しくは１つまたは複数の利用者装置１００から更新情報を受信した場合に、更新情報配信システム１での下流にある利用者装置１００へ更新情報を転送する。論理ネットワーク上にある利用者装置１００は、所望するコンテンツを論理ネットワーク上で検索し、そのコンテンツを有する更新情報配信サーバ２００に接続することによって更新情報配信システム１に参加することができる。
【００２５】
図２は図１で開示した利用者装置１００の構成を示すブロック図である。
【００２６】
利用者装置１００は、主制御部１１０と、ネットワークインターフェイス１２１と、メタデータデータベース１２２と、利用者装置情報データベース１２３と、検索結果リスト１２４とを有する。
【００２７】
主制御部１１０は、ＣＰＵ、ＲＡＭ、及びＯＳなどで構成されたコンピュータの主要部であり、主制御部１１０の中に、動作するプログラムとして構成されている送受信部１１１と、検索機能部１１２と、遅延演算部１１３と、遅延バッファ１１４と、遅延タイマ１１５と、更新情報配信システム管理部１１６と、コンテンツクライアント部１１７とを有する。
【００２８】
図４は、図２に開示したメタデータデータベース１２２のデータ構成を示す概念図である。メタデータデータベース１２２は、自装置が参加している更新情報配信システム１のコンテンツに関するメタデータを保存している。メタデータとはコンテンツに付随する情報であって、例えばコンテンツＩＤ、ＵＲＩ、タイトル、作成者、作成場所、作成時間、キーワードなどである。
【００２９】
図５は、図２に開示した利用者装置情報データベース１２３のデータ構成を示す概念図である。利用者装置情報データベース１２３は、メタデータデータベース１２２に保存しているコンテンツ毎に、更新情報配信システム１における利用者装置情報を保存する。利用者装置情報とは、利用者装置を一意に識別するクライアントＩＤ、ＩＰアドレス、ポート番号など他の利用者装置とメッセージを送受信するために必要な情報であり、更新情報配信システムのツリー構造において自装置より上及び下にある利用者装置の情報である。
【００３０】
検索結果リスト１２４は、自装置が所望するコンテンツを有する更新情報配信システム１の検索を実施した結果を一時的に保存する。検索結果リスト１２４は利用者がどのコンテンツの更新情報配信システム１へ参加するか決定するために使われ、利用者により直接管理される。
【００３１】
送受信部１１１は、ネットワークインターフェイス１２１を介して、更新情報配信サーバ２００、又は他の利用者装置１００からのメッセージを受信し処理する。送受信部１１１は、受信したメッセージが検索応答メッセージであった場合は、検索応答メッセージを検索機能部１１２へ送る。一方、受信したメッセージが検索メッセージであった場合は、検索メッセージを検索機能部１１２へ送る。さらに、受信したメッセージが更新情報配信システム参加要求メッセージであった場合は、更新情報配信システム参加要求メッセージを更新情報配信システム管理部１１６へ送る。さらに、送受信部１１１は、受信したメッセージが更新情報メッセージであった場合は、更新情報メッセージを更新情報配信システム管理部１１６へ送る。また、送受信部１１１は、検索機能部１１２、遅延バッファ１１４、更新情報配信システム管理部１１６、又はコンテンツクライアント部１１７からメッセージを受け取り、メッセージに記載されている宛先である更新情報配信サーバ２００、または、他の利用者装置１００にネットワークインターフェイス１２１を介してメッセージを送信する。
【００３２】
検索機能部１１２は、所望するコンテンツのキーワードを含む検索メッセージを論理ネットワーク上に存在する他の利用者装置１００に対しブロードキャストで送信する。検索メッセージにはキーワードの他、生成した検索メッセージを一意に識別する検索ID、利用者装置情報、TTL（Time To Live）などが含まれる。さらに、検索機能部１１２は、他の利用者装置１００から検索応答メッセージを受信した場合、検索応答メッセージに含まれるコンテンツのメタデータと、検索結果リスト１２４を比較し、検索結果リスト１２４に受信したメタデータが含まれていなかった場合は、メタデータを検索結果リスト１２４に保存する。一方、受信したメタデータが含まれていた場合は検索応答メッセージを破棄する。さらに、検索機能部１１２は、検索メッセージを受信した場合、メタデータデータベース１２２を参照する。検索メッセージに含まれるキーワードに適合するメタデータを発見した場合、検索応答メッセージに前記メタデータを含め、遅延バッファ１１４へ検索応答メッセージを渡す。さらに、検索メッセージを受信した場合、検索メッセージに含まれるTTLを参照し、TTLが0でなかった場合は、利用者装置情報データベース１２３を参照し、TTLを減算して他の利用者装置１００に検索メッセージを転送する。このとき、検索IDを参照して二重に検索メッセージを送信しないようにする。
【００３３】
遅延演算部１１３は、遅延タイマ１１５からの通知を契機に、検索応答メッセージを遅延バッファ１１４に留めておく時間を演算する。この遅延時間は、更新情報配信システム１の論理ネットワーク上で配信効率が最適になる位置に、新規に参加する利用者装置１００が接続できるよう、利用される。更新情報配信システム１の論理ネットワーク上で配信効率が最適とは、配信のためのツリー構造が安定して存在でき、そのツリーの深さが浅く、利用者装置１００に接続することができる接続可能数をできるだけ使い切り（残りの接続数）、更新情報配信システム１に参加する全ての利用者装置１００の各端末能力にあった処理をさせる構成を指す。
【００３４】
遅延時間の演算には、例えば論理ツリー上の深さ、接続可能な利用者装置数、参加からの経過時間などがある。これらの情報を用いて、
遅延時間＝α×論理ツリー上の深さ÷（接続可能な利用者装置数×参加からの経過時間)
と演算することもできる。ここで、αは遅延時間に反映させたいパラメータを示すが、論理ツリー上の深さ、接続可能な利用者装置数、参加からの経過時間など、重点を置きたいパラメータに対する重み付けであってもよい。上記式では、論理ツリー上での深さが浅く、接続可能な利用者装置数が多く、参加からの経過時間が長い利用者装置１００ほど遅延時間が短く演算される。接続可能な利用者装置数は、利用者装置１００の端末能力にあった数に設定される。さらに検索応答メッセージを受信した利用者装置１００は、最も早く到達した検索応答メッセージ以外を破棄するため、このような演算をすることにより更新情報配信システム１の論理ツリー上で配信効率が最適となる。尚、遅延時間は、論理ツリー上の深さ、接続可能な利用者装置数、及び参加からの経過時間の少なくとも１つを用いて演算しても良い。
【００３５】
遅延時間の他の演算方法として、CPU処理負荷や通信回線の負荷、またはその両方をもちいて遅延時間を算出することもできる。余力が少ないノードほど検索応答メッセージを遅く返すようにするために、CPU処理負荷や通信回線負荷が高いほど遅延時間が大きくなるように遅延時間演算式を定義する。たとえば、
遅延時間 ＝ α×CPU処理負荷×通信回線負荷
と定義することができる。ここでαは定数であり、重み付けをあたえる。
【００３６】
遅延時間のさらに他の演算方法として、余力が少ないノードほど検索応答メッセージを遅く返すようにするために、検索メッセージを受信してから検索応答メッセージを送信可能な状態になるまでの処理にかかった時間をもとに遅延時間を算出することもできる。余力が少ない、すなわち、処理時間が長いほど遅延時間が大きくなるように遅延時間演算式を定義する。たとえば、
遅延時間 ＝ α×（検索応答メッセージ送信準備完了時刻 − 検索メッセージ受信時刻）
と定義することができる。ここでαは定数であり、重み付けをあたえる。
【００３７】
遅延時間のさらに他の演算方法として、更新情報配信サーバ２００から論理ツリーをたどって自ノードへ更新情報が届くまでの経路の混雑度が高いほど検索応答メッセージを遅く返すように遅延時間を算出することもできる。更新情報配信サーバ２００から論理ツリーをたどって自ノードへ更新情報が届くまでにかかる時間を何らかの方法で測定し、この測定値をもとに遅延時間演算式を定義する。たとえば、
遅延時間 ＝ α×（更新情報配信サーバから論理ツリーをたどり自ノードまで更新情報が届くまでにかかる時間の測定値）
と定義することができる。ここでαは定数であり、重み付けをあたえる。
【００３８】
上記の、更新情報配信サーバから論理ツリーをたどり自ノードまで更新情報が届くまでにかかる時間を測定するために、検索メッセージ受信後、論理ツリー上をたどるメッセージを更新情報配信サーバ２００あてに送信し、その応答を受信することによって、ラウンドトリップタイムを測定し、これをもとに遅延時間を演算することもできる。
【００３９】
遅延バッファ１１４は、検索機能部１１２から送信すべき検索応答メッセージを受け取り、遅延時間演算部で演算された遅延時間分送信を待機するため、遅延タイマ１１５を動作させる。遅延タイマ１１５が切れたのを契機に、遅延バッファ１１４は検索応答メッセージを送信する。
【００４０】
遅延タイマ１１５は、あらかじめ設定された時間経過する毎に、遅延演算部１１３に対し、アラームを上げる。さらに、遅延バッファ１１４から指定された時間を経過した場合に、遅延バッファ１１４に対しアラームを上げる。
【００４１】
更新情報配信システム管理部１１６は、利用者が検索結果リスト１２４から選択した結果を受けて、選択されたコンテンツ検索応答メッセージを送信した利用者装置１００に対し、利用者装置１００自身の情報を含む更新情報配信システム参加要求メッセージを送信する。一方、更新情報配信システム参加要求応答メッセージを受信した場合、前記更新情報配信システム参加要求応答メッセージに含まれる利用者装置情報を利用者装置情報データベース１２３の所定欄に保存する。さらに、更新情報配信システム管理部１１６は、更新情報配信システム参加要求メッセージを受信した場合、利用者装置情報データベース１２３を参照し、該当するコンテンツの接続情報を含む更新情報配信システム参加要求応答メッセージを作成して送信する。ここで含まれる接続情報は、例えば、更新情報配信システム参加要求応答メッセージを送信する利用者装置１００の情報、その1世代上の情報がある。さらに、更新情報配信システム管理部１１６は、更新情報配信システム参加要求メッセージを送信してきた利用者装置１００の情報を利用者装置情報データベース１２３の1世代下の欄に追加更新する。また、更新情報配信システム管理部１１６は、更新情報メッセージを受信した場合、前記更新情報メッセージに含まれるコンテンツのメタデータをメタデータデータベースに保存する。さらに利用者装置情報データベース１２３を確認し、該当のコンテンツに関し1世代下に利用者装置１００が登録されていた場合には、更新情報メッセージを前記利用者装置１００に転送する。
【００４２】
コンテンツクライアント部１１７は、利用者からの操作を受けて、コンテンツ要求メッセージを、コンテンツを所有する更新情報配信サーバ２００へ送信する。さらに、コンテンツクライアント部１１７は、コンテンツ要求応答メッセージを受信すると、前記コンテンツ要求応答メッセージに含まれるコンテンツを利用者へ提供する。
【００４３】
図３は、図１で開示した更新情報配信サーバ２００の構成を示すブロック図である。
【００４４】
更新情報配信サーバ２００は、１つまたは複数の利用者装置１００と接続しており、所有しているコンテンツに更新があった場合に、接続している利用者装置１００に対し更新情報を送信する。更新情報配信サーバ２００は、主制御部２１０と、ネットワークインターフェイス１２１と、メタデータサーバデータベース２２２と、利用者装置情報データベース１２３と、検索結果リスト１２４と、コンテンツデータベース２２５とを有する。
【００４５】
メタデータサーバデータベース２２２は、更新情報配信サーバ２００が利用者装置１００へ更新情報を通知する対象としているコンテンツのメタデータを保存している。メタデータとはコンテンツに付随する情報であって、例えばコンテンツＩＤ、ＵＲＩ、タイトル、作成者、作成場所、作成時間、キーワードなどである。
【００４６】
コンテンツデータベース２２５は、更新情報配信サーバ２００が利用者装置１００へ更新情報を通知する対象としているコンテンツを保存している。コンテンツとは例えば、テキスト、音声、写真、動画などである。コンテンツに更新があった場合、メタデータ生成部２１８に通知する。
【００４７】
利用者装置情報データベース１２３と、検索結果リスト１２４とは、上記利用者装置１００の利用者装置情報データベース１２３と検索結果リスト１２４と同じであるため、詳細な説明は省略する。
【００４８】
主制御部２１０は、ＣＰＵ、ＲＡＭ、及びＯＳなどで構成されたコンピュータの主要部であり、主制御部２１０の中に、動作するプログラムとして構成された送受信部２１１と、検索機能部１１２と、遅延演算部１１３と、遅延バッファ１１４と、遅延タイマ１１５と、更新情報配信システムサーバ管理部２１６と、コンテンツサーバ部２１７と、メタデータ生成部２１８とを有する。
【００４９】
検索機能部１１２、遅延演算部１１３、遅延バッファ１１４、及び遅延タイマ１１５は、上記利用者装置１００の検索機能部１１２、遅延演算部１１３、遅延バッファ１１４、及び遅延タイマ１１５と同じであるため、詳細な説明を省略する。
【００５０】
メタデータ生成部２１８は、コンテンツデータベース２２５からコンテンツ更新の通知を受けた場合、コンテンツデータベース２２５内の該当するコンテンツの更新内容を確認し、メタデータサーバデータベース２２２内の該当するメタデータを更新する。さらに、メタデータ生成部２１８は、コンテンツデータベース２２５からコンテンツ更新の通知を受けた場合、更新情報配信システムサーバ管理部２１６に対し、該当するコンテンツについてコンテンツ更新を通知する。
【００５１】
更新情報配信システムサーバ管理部２１６は、利用者装置１００における更新情報配信システム管理部１１６の機能と同等の動作をする。さらに、更新情報配信システムサーバ管理部２１６は、メタデータ生成部２１８からコンテンツ更新の通知を受けた場合、メタデータサーバデータベース２２２の該当するメタデータを参照し、前記メタデータを含む更新情報メッセージを作成する。さらに、利用者装置情報データベース１２３を参照し、1世代下の利用者装置１００に対し更新情報メッセージを送信する。
【００５２】
コンテンツサーバ部２１７は、利用者装置１００からコンテンツ要求メッセージを受信すると、コンテンツデータベース２２５を参照し、該当するコンテンツ含むコンテンツ要求応答メッセージを作成し、コンテンツ要求メッセージを送信してきた利用者装置１００に対し、コンテンツ要求応答メッセージを送信する。
【００５３】
続いて、動作について説明する。
【００５４】
図６は、利用者装置１００が所望するコンテンツの所在を検索するために、検索メッセージを送信するよう操作した場合の動作を示すフローチャートである。
【００５５】
動作を開始すると、まず送受信部１１１が他の利用者装置１００もしくは利用者装置１００内の主制御部１１０からの通信を待つ状態（以後アイドル状態という）となる（Ｓ３００）。
【００５６】
利用者装置１００は、利用者からの操作により検索動作が開始されると（Ｓ３０１）、所望するコンテンツのキーワードを含む検索メッセージを論理ネットワークに存在する他の利用者装置１００へ送信し（Ｓ３０２）、送信後、アイドル状態に戻る（Ｓ３００）。
【００５７】
図７は、利用者装置１００が他の利用者装置１００から検索応答メッセージを受信した場合の動作を示すフローチャートである。
【００５８】
利用者装置１００は、アイドル状態（Ｓ３００）中に、自装置が送信した検索メッセージに対する応答である検索応答メッセージを受信すると（Ｓ３１０）、検索結果リスト１２４を参照し（Ｓ３１１）、受信した検索応答メッセージに含まれるコンテンツのメタデータをすでに所有しているかどうかを確認する（Ｓ３１２）。
【００５９】
ステップＳ３１２における検索結果リスト１２４の参照の結果、受信した検索応答メッセージに含まれるコンテンツのメタデータを所有していなかった場合、受信した検索応答メッセージに含まれるコンテンツのメタデータを検索結果リスト１２４に保存し（Ｓ３１３）、アイドル状態に戻る（Ｓ３００）。
【００６０】
一方、ステップＳ３１２において検索結果リスト１２４を参照した結果、受信した検索応答メッセージに含まれるコンテンツのメタデータを所有していた場合、受信した検索応答メッセージを破棄し（Ｓ３１４）、アイドル状態に戻る（Ｓ３００）。
【００６１】
図８は、利用者装置１００が他の利用者装置１００から検索メッセージを受信した場合の動作を示すフローチャートである。
【００６２】
利用者装置１００は、アイドル状態（Ｓ３００）中に検索メッセージを受信すると（Ｓ３２０）、メタデータデータベース１２２を参照し、受信した検索メッセージに含まれるコンテンツのキーワードに適合するメタデータを所有しているかどうかを確認する（Ｓ３２１）。
【００６３】
ステップ３２１における確認の結果、所有していなかった場合はステップＳ３２５へ移行する。
【００６４】
一方、ステップ３２１における確認の結果、所有していた場合は、更新情報配信システム１の論理ツリー上で配信効率が最適になる位置に、新規に参加する利用者装置１００が接続するよう、設定された遅延時間待機する（Ｓ３２３）。
【００６５】
受信した検索メッセージに含まれるコンテンツのキーワードに適合するメタデータを含む検索応答メッセージを受信した検索メッセージを送信してきた利用者装置１００へ送信する（Ｓ３２４）。
【００６６】
さらに、受信した検索メッセージのTTLを確認し（Ｓ３２５）、０であった場合はアイドル状態に戻る（Ｓ３００）。ステップＳ３２５でＴＴＬが０より大きかった場合は、利用者装置情報データベース１２３を参照し検索メッセージを転送すべき他の利用者装置１００の情報を得る（Ｓ３２６）。ＴＴＬを減算しステップＳ３２６で得た利用者装置情報に従い検索メッセージを転送し（Ｓ３２７）、アイドル状態に戻る（Ｓ３００）。
【００６７】
図９は、利用者装置１００内で遅延時間演算タイマがアラームを通知した場合の、図２に開示した利用者装置１００の動作を示すフローチャートである。
【００６８】
利用者装置１００は、アイドル状態から（Ｓ３００）、遅延時間演算タイマがアラームを通知すると（Ｓ３３０）、更新情報配信システム１の論理ツリー上で配信効率が最適になる位置に、新規に参加する利用者装置１００が接続するよう設定される遅延時間を演算する（Ｓ３３１）。遅延時間を更新し（Ｓ３３２）、アイドル状態に戻る（Ｓ３００）。
【００６９】
図１０は、利用者が所望するコンテンツの更新情報配信システム１に参加するよう操作した場合の、図２に開示した利用者装置１００の動作を示すフローチャートである。
【００７０】
利用者装置１００は、アイドル状態から（Ｓ３００）、利用者が所望するコンテンツの更新情報配信システム１に参加するよう操作すると（Ｓ３４０）、検索結果リスト１２４を参照し、所望するコンテンツのメタデータを通知してきた利用者装置情報を得る（Ｓ３４１）。ステップＳ３４１で得た利用者装置情報を用いて利用者装置１００自身の情報を含む更新情報配信システム参加要求メッセージを該当する利用者装置１００へ送信する（Ｓ３４２）。一定時間内に更新情報配信システム参加要求応答メッセージを受信すると（Ｓ３４３）、更新情報配信システム参加要求応答メッセージに含まれる該当するコンテンツの接続情報を用いて利用者装置情報データベース１２３を更新し（Ｓ３４４）、アイドル状態に戻る（Ｓ３００）。
【００７１】
図１１は、利用者装置１００が他の利用者装置１００から更新情報配信システム参加要求メッセージを受信した場合の、図２に開示した利用者装置１００の動作を示すフローチャートである。
【００７２】
利用者装置１００は、アイドル状態から（Ｓ３００）、他の利用者装置１００から更新情報配信システム参加要求メッセージを受信すると（Ｓ３５０）、該当するコンテンツの接続情報を含む更新情報配信システム参加要求応答メッセージを作成し、更新情報配信システム参加要求メッセージを送信してきた利用者装置１００へ更新情報配信システム参加要求応答メッセージを送信する（Ｓ３５１）。さらに受信した更新情報配信システム参加要求メッセージに含まれる更新情報配信システム参加要求メッセージを送信してきた利用者装置１００の利用者装置情報を用いて利用者装置情報データベース１２３を更新し（Ｓ３５２）、アイドル状態に戻る（Ｓ３００）。
【００７３】
図１２は、利用者装置１００が他の利用者装置１００から更新情報メッセージを受信した場合の、図２に開示した利用者装置１００の動作を示すフローチャートである。
【００７４】
利用者装置１００は、アイドル状態から（Ｓ３００）、他の利用者装置１００から更新情報メッセージを受信すると（Ｓ３６０）、該当するコンテンツのメタデータデータベース１２２を更新する（Ｓ３６１）。さらに利用者装置情報データベース１２３を参照し（Ｓ３６２）、1世代下の利用者装置１００が存在しているか確認する（Ｓ３６３）。ステップＳ３６３の結果、1世代下の利用者装置１００が存在していなかった場合、アイドル状態に戻る（Ｓ３００）。ステップＳ３６３の結果、1世代下の利用者装置１００が存在していた場合、該当する利用者装置１００に対し、更新情報メッセージを転送し（Ｓ３６４）、アイドル状態に戻る（Ｓ３００）。
【００７５】
図１３は、利用者が所望するコンテンツ本体を要求するよう操作した場合の、図２に開示した利用者装置１００の動作を示すフローチャートである。
【００７６】
利用者装置１００は、アイドル状態から（Ｓ３００）、利用者が所望するコンテンツ本体を要求するよう操作すると（Ｓ３７０）、メタデータデータベース１２２を参照して該当するコンテンツを所有する利用者装置１００の利用者装置情報を得る（Ｓ３７１）。ステップＳ３７１で得た利用者装置情報を用いてコンテンツ要求メッセージを送信する（Ｓ３７２）。一定時間内に所望するコンテンツ本体を含むコンテンツ要求応答メッセージを受信すると（Ｓ３７３）、アイドル状態に戻る（Ｓ３００）。
【００７７】
図１４は、更新情報配信サーバ２００内でコンテンツデータベース２２５が更新された場合の、図３に開示した更新情報配信サーバ２００の動作を示すフローチャートである。
【００７８】
更新情報配信サーバ２００は、アイドル状態から（Ｓ３００）、更新情報配信サーバ２００内でコンテンツデータベース２２５が更新されると（Ｓ３８０）、更新されたコンテンツのメタデータを生成する（Ｓ３８１）。さらに生成したメタデータを用いてメタデータサーバデータベース２２２を更新する（Ｓ３８２）。さらに利用者装置情報データベース１２３を参照し（Ｓ３８３）、1世代下の利用者装置１００が存在しているか確認する（Ｓ３８４）。ステップＳ３８４の結果、1世代下の利用者装置１００が存在していなかった場合、アイドル状態に戻る（Ｓ３００）。ステップＳ３８３の結果、1世代下の利用者装置１００が存在していた場合、該当する利用者装置１００に対し、更新情報メッセージを送信し（Ｓ８５４）、アイドル状態に戻る（Ｓ３００）。
【００７９】
図１５は、更新情報配信サーバ２００が利用者装置１００からコンテンツ要求メッセージを受信した場合の、図３に開示した更新情報配信サーバ２００の動作を示すフローチャートである。
【００８０】
更新情報配信サーバ２００は、アイドル状態から（Ｓ３００）、利用者装置１００からコンテンツ要求メッセージを受信すると（Ｓ３９０）、コンテンツデータベース２２５を参照し該当するコンテンツ本体を得る（Ｓ３９１）。コンテンツ要求メッセージしてきた利用者装置１００に対し該当するコンテンツ本体を含むコンテンツ要求応答メッセージを送信し（Ｓ３９２）、アイドル状態に戻る（Ｓ３００）。
【００８１】
また、更新情報配信サーバ２００は、図６、図７、図８、図９、図１１に開示した利用者装置１００の動作と同様の動作をする。
【００８２】
なお、図６〜１５で説明したフローチャートに係る各ステップの動作内容は、利用者装置１００と更新情報配信サーバ２００とが予め備えるコンピュータ（主制御部）で動作するプログラムとして実行させるように構成することができる。
【００８３】
尚、上記説明では、主に利用者装置１００に対する接続を用いて説明したが、更新情報配信サーバ２００も利用者装置１００と同様のノードとして動作しても良い。
【００８４】
以上説明したように、利用者装置１００が新規に更新情報配信システム１に参加する場合に、更新情報配信システム１の論理ツリー上で配信効率が最適になる位置に、新規に参加する利用者装置１００が接続するよう、検索メッセージを受信した既に更新情報配信システム１に参加している利用者装置１００のうち、最適な位置にある利用者装置１００ほど遅延無く検索応答メッセージを送信し、新規に更新情報配信システム１に参加する利用者装置１００が、コンテンツ毎に最初に受信した検索応答メッセージを利用し、二番目以降に受信した検索応答メッセージを破棄する構成とすることで、新規に更新情報配信システム１に参加する利用者装置１００が更新情報配信システム１に接続する時に必要になる処理量を軽減することを可能とする、利用者装置接続手段を提供することができる。
【００８５】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることは言うまでもないことである。
【符号の説明】
【００８６】
１  更新情報配信システム
１００  利用者装置
１１０  主制御部
１１１  送受信部
１１２  検索機能部
１１３  遅延演算部
１１４  遅延バッファ
１１５  遅延タイマ
１１６  更新情報配信システム管理部
１１７  コンテンツクライアント部
１２１  ネットワークインターフェイス
１２２  メタデータデータベース
１２３  利用者装置情報データベース
１２４  検索結果リスト
２００  更新情報配信サーバ
２１０  主制御部
２１１  送受信部
２１６  更新情報配信システムサーバ管理部
２１７  コンテンツサーバ部
２１８  メタデータ生成部
２２２  メタデータサーバデータベース
２２５  コンテンツデータベース
【図１】
2010171928.tif 000003
【図２】
2010171928.tif 000004
【図３】
2010171928.tif 000005
【図４】
2010171928.tif 000006
【図５】
2010171928.tif 000007
【図６】
2010171928.tif 000008
【図７】
2010171928.tif 000009
【図８】
2010171928.tif 000010
【図９】
2010171928.tif 000011
【図１０】
2010171928.tif 000012
【図１１】
2010171928.tif 000013
【図１２】
2010171928.tif 000014
【図１３】
2010171928.tif 000015
【図１４】
2010171928.tif 000016
【図１５】
2010171928.tif 000017