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