(57)【要約】      （修正有）【課題】コンテンツの素材変更に基づくオーバーレイネットワークに公開されるコンテンツの更新を自動的に行う。【解決手段】ノード装置は、少なくとも１つの素材情報を、前回の合成に用いられた素材情報とは異なる素材情報を用いて合成し、合成コンテンツを識別する識別情報と、ノード装置の所在を示す所在情報と、合成コンテンツの新しさを判定するための付加情報とを、情報処理装置へ送信する。情報処理装置は、ノード装置から送信された識別情報、所在情報及び付加情報を受信し、受信された識別情報に対応付けて記憶されている付加情報と、受信された付加情報とに基づいて、付加情報を送信したノード装置が保存する合成コンテンツの新しさを判定し、判定の結果に基づいて、識別情報が示す合成コンテンツを取得するノード装置へ、最新の合成コンテンツを保存するノード装置の所在を示す所在情報を通知する。【選択図】図６
2014167739.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続する複数のノード装置により構成されるオーバーレイネットワークから取得可能なコンテンツであって、前記複数のノード装置に分散して保存されるコンテンツのうち、所定の合成コンテンツを形成可能な素材である素材情報を記憶する第１記憶手段と、
前記第１記憶手段に記憶された複数の前記素材情報を定期的に合成することにより前記合成コンテンツを生成する合成手段であって、前記複数の素材情報のうち少なくとも１つを、前回の合成に用いられた前記素材情報とは異なる前記素材情報を用いて合成する合成手段と、
前記合成手段により生成された前記合成コンテンツを記憶する第２記憶手段と、
前記合成コンテンツを識別する識別情報と、前記複数のノード装置のうち前記第２記憶手段を備える第１のノード装置の所在を示す所在情報と、前記合成手段により生成された前記合成コンテンツの新しさを判定するための付加情報であって、生成された前記合成コンテンツに対応する付加情報とを、前記合成コンテンツの所在を管理する情報処理装置へ送信する送信手段と、
を備える前記第１のノード装置と、
前記合成コンテンツを保存したノード装置から送信された前記識別情報、前記所在情報及び前記付加情報を受信する受信手段と、
第３記憶手段に、受信した前記識別情報と対応付けられた前記付加情報が記憶されている場合、前記受信手段により受信された前記識別情報に対応付けて記憶されている前記付加情報と、前記受信手段により受信された前記付加情報とに基づいて、前記付加情報を送信したノード装置が保存する前記合成コンテンツの新しさを判定する判定手段と、
前記受信手段により受信された前記識別情報、前記所在情報及び前記付加情報を対応付けて第３記憶手段に記憶させる制御手段と、
前記判定手段による判定の結果に基づいて、前記第３記憶手段に記憶された前記識別情報が示す前記合成コンテンツを取得するノード装置へ、最新の前記合成コンテンツを保存するノード装置の所在を示す前記所在情報を通知する通知手段と、
を備える前記情報処理装置と、
を備えることを特徴とする情報通信システム。
【請求項２】
前記第１のノード装置は、
前記複数の素材情報のうち、楽曲の楽譜を示す演奏情報に基づいて、前記楽曲を示す楽曲情報を再生する第１再生手段を更に備え、
前記合成手段は、前記第１再生手段により再生された前記楽曲情報を含む前記合成コンテンツを生成し、
前記複数のノード装置のうち前記第１再生手段を備えない第２のノード装置は、
前記情報処理装置から通知された前記所在情報が所在を示すノード装置から前記合成コンテンツを取得する取得手段と、
前記取得手段により取得された前記合成コンテンツを再生する第２再生手段と、
を備えることを特徴とする情報通信システム。
【請求項３】
前記判定手段は、前記受信手段により受信された前記付加情報を送信したノード装置が保存する前記合成コンテンツが、前記受信手段により受信された前記識別情報に対応付けて前記第３記憶手段に記憶されている前記所在情報が所在を示すノード装置が保存する前記合成コンテンツよりも古いかを判定し、
前記制御手段は、前記判定手段により古いと判定された場合、前記受信手段により受信された前記所在情報を前記第３記憶手段に記憶させないことを特徴とする請求項１又は２に記載の情報通信システム。
【請求項４】
前記情報処理装置は、
前記判定手段により古いと判定された場合、前記受信手段により受信された前記識別情報を送信したノード装置へ、前記識別情報に対応付けて前記第３記憶手段に記憶されている前記所在情報が所在を示すノード装置から前記識別情報が示す前記合成コンテンツを取得する指示を示す第１指示情報を送信する第２送信手段を更に備えることを特徴とする請求項３に記載の情報通信システム。
【請求項５】
前記情報処理装置は、
前記判定手段による判定の結果、前記受信手段により受信された前記付加情報を送信したノード装置が保存する前記合成コンテンツが最新である場合、前記受信手段により受信された前記識別情報に対応付けて前記第３記憶手段に記憶されている前記所在情報が所在を示すノード装置へ、前記受信手段により受信された前記所在情報が所在を示すノード装置から前記識別情報が示す前記合成コンテンツを取得する指示を示す第２指示情報を送信する第３送信手段を更に備えることを特徴とする請求項１乃至４の何れか１項に記載の情報通信システム。
【請求項６】
前記情報処理装置は、
前記判定手段による判定の結果、前記受信手段により受信された前記付加情報を送信したノード装置が保存する前記合成コンテンツが最新である場合、前記複数のノード装置が前記ネットワークを介して通信可能な第２情報処理装置又は何れかのノード装置へ、前記第２情報処理装置又はノード装置に最新の前記合成コンテンツを保存させる指示を示す第３指示情報を送信する第４送信手段を更に備えることを特徴とする請求項１乃至５の何れか１項に記載の情報通信システム。
【請求項７】
前記情報処理装置は、
前記合成手段による合成に用いられる何れかの前記素材情報の版数を示す版情報を取得する取得手段を更に備え、
前記送信手段は、前記取得手段により取得された前記版情報及び前記合成手段による前記合成コンテンツの生成日を含む前記付加情報を送信し、
前記判定手段は、前記付加情報に含まれる前記版情報を、前記付加情報に含まれる前記生成日よりも優先して、前記合成コンテンツの新しさの判定に用いることを特徴とする請求項１乃至６の何れか１項に記載の情報通信システム。
【請求項８】
前記第１のノード装置はカラオケ装置であり、
前記合成手段は、カラオケの演奏情報及び映像情報を含む前記複数の素材情報を合成することによりカラオケの前記合成コンテンツを生成し、前記演奏情報及び前記映像情報のうち少なくとも１つを、前回の合成に用いられた前記素材情報とは異なる前記素材情報を用いて合成することを特徴とする請求項１乃至７の何れか１項に記載の情報通信システム。
【請求項９】
ネットワークに接続する複数のノード装置により構成されるオーバーレイネットワークから取得可能なコンテンツであって、前記複数のノード装置に分散して保存されるコンテンツのうち、所定の合成コンテンツを形成可能な素材である素材情報を記憶する第１記憶手段と、
前記第１記憶手段に記憶された複数の前記素材情報を定期的に合成することにより前記合成コンテンツを生成する合成手段であって、前記複数の素材情報のうち少なくとも１つを、前回の合成に用いられた前記素材情報とは異なる前記素材情報を用いて合成する合成手段と、
前記合成手段により生成された前記合成コンテンツを記憶する第２記憶手段と、
前記合成コンテンツを識別する識別情報と、前記複数のノード装置のうち前記第２記憶手段を備えるノード装置の所在を示す所在情報と、前記合成手段により生成された前記合成コンテンツの新しさを判定するための付加情報であって、生成された前記合成コンテンツに対応する付加情報とを、前記合成コンテンツの所在を管理する情報処理装置へ送信する送信手段と、
他のノード装置から送信された前記識別情報、前記所在情報及び前記付加情報を受信する受信手段と、
第３記憶手段に、受信した前記識別情報と対応付けられた前記付加情報が記憶されている場合、前記受信手段により受信された前記識別情報に対応付けて記憶されている前記付加情報と、前記受信手段により受信された前記付加情報とに基づいて、前記付加情報を送信したノード装置が保存する前記合成コンテンツの新しさを判定する判定手段と、
前記受信手段により受信された前記識別情報、前記所在情報及び前記付加情報を対応付けて第３記憶手段に記憶させる制御手段と、
前記判定手段による判定の結果に基づいて、前記第３記憶手段に記憶された前記識別情報が示す前記合成コンテンツを取得するノード装置へ、最新の前記合成コンテンツを保存するノード装置の所在を示す前記所在情報を通知する通知手段と、
を備えることを特徴とするノード装置。
【請求項１０】
ノード装置のコンピュータに、
ネットワークに接続する複数のノード装置により構成されるオーバーレイネットワークから取得可能なコンテンツであって、前記複数のノード装置に分散して保存されるコンテンツのうち、所定の合成コンテンツを形成可能な素材である素材情報を記憶する第１記憶手段に記憶された複数の前記素材情報を定期的に合成することにより前記合成コンテンツを生成する合成ステップであって、前記複数の素材情報のうち少なくとも１つを、前回の合成に用いられた前記素材情報とは異なる前記素材情報を用いて合成する合成ステップと、
前記合成ステップにより生成された前記合成コンテンツを第２記憶手段に記憶させる第１制御ステップと、
前記合成コンテンツを識別する識別情報と、前記複数のノード装置のうち前記第２記憶手段を備えるノード装置の所在を示す所在情報と、前記合成ステップにより生成された前記合成コンテンツの新しさを判定するための付加情報であって、生成された前記合成コンテンツに対応する付加情報とを、前記合成コンテンツの所在を管理する情報処理装置へ送信する送信ステップと、
他のノード装置から送信された前記識別情報、前記所在情報及び前記付加情報を受信する受信ステップと、
第３記憶手段に、受信した前記識別情報と対応付けられた前記付加情報が記憶されている場合、前記受信ステップにより受信された前記識別情報に対応付けて記憶されている前記付加情報と、前記受信ステップにより受信された前記付加情報とに基づいて、前記付加情報を送信したノード装置が保存する前記合成コンテンツの新しさを判定する判定ステップと、
前記受信ステップにより受信された前記識別情報、前記所在情報及び前記付加情報を対応付けて前記第３記憶手段に記憶させる第２制御ステップと、
前記判定ステップによる判定の結果に基づいて、前記第３記憶手段に記憶された前記識別情報が示す前記合成コンテンツを取得するノード装置へ、最新の前記合成コンテンツを保存するノード装置の所在を示す前記所在情報を通知する通知ステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オーバーレイネットワークを利用する配信システムの技術分野に関する。
【背景技術】
【０００２】
例えば、特許文献１には、ピアツーピアネットワークに素材データを公開し、ピアツーピアネットワークを構成する任意のピアが、複数の素材データを組み合わせて番組コンテンツを生成する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−８０３０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術は、コンテンツを一度生成した後、素材が変更されるたびにコンテンツを再生成し、再生成したコンテンツをピアツーピアネットワークに投入する必要がある。このため、コンテンツの更新のたびに、サーバ装置側で素材を編集してピアツーピアネットワークに投入するという手間を要する。例えば、音声や映像を含むカラオケのコンテンツを生成する場合、カラオケ装置が楽曲を演奏するための演奏情報を音声情報に変換しなければならない。また、背景となる映像情報を差し替えるたびに編集が必要になる。そのようなことから、コンテンツの更新を自動的に行うことが望まれる。
【０００５】
本発明は、以上の点に鑑みてなされたものであり、コンテンツの素材が変更されることに基づくオーバーレイネットワークに公開されるコンテンツの更新を自動的に行うことを可能とする情報通信システム、ノード装置及びプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、ネットワークに接続する複数のノード装置により構成されるオーバーレイネットワークから取得可能なコンテンツであって、前記複数のノード装置に分散して保存されるコンテンツのうち、所定の合成コンテンツを形成可能な素材である素材情報を記憶する第１記憶手段と、前記第１記憶手段に記憶された複数の前記素材情報を定期的に合成することにより前記合成コンテンツを生成する合成手段であって、前記複数の素材情報のうち少なくとも１つを、前回の合成に用いられた前記素材情報とは異なる前記素材情報を用いて合成する合成手段と、前記合成手段により生成された前記合成コンテンツを記憶する第２記憶手段と、前記合成コンテンツを識別する識別情報と、前記複数のノード装置のうち前記第２記憶手段を備える第１のノード装置の所在を示す所在情報と、前記合成手段により生成された前記合成コンテンツの新しさを判定するための付加情報であって、生成された前記合成コンテンツに対応する付加情報とを、前記合成コンテンツの所在を管理する情報処理装置へ送信する送信手段と、を備える前記第１のノード装置と、前記合成コンテンツを保存したノード装置から送信された前記識別情報、前記所在情報及び前記付加情報を受信する受信手段と、第３記憶手段に、受信した前記識別情報と対応付けられた前記付加情報が記憶されている場合、前記受信手段により受信された前記識別情報に対応付けて記憶されている前記付加情報と、前記受信手段により受信された前記付加情報とに基づいて、前記付加情報を送信したノード装置が保存する前記合成コンテンツの新しさを判定する判定手段と、前記受信手段により受信された前記識別情報、前記所在情報及び前記付加情報を対応付けて第３記憶手段に記憶させる制御手段と、前記判定手段による判定の結果に基づいて、前記第３記憶手段に記憶された前記識別情報が示す前記合成コンテンツを取得するノード装置へ、最新の前記合成コンテンツを保存するノード装置の所在を示す前記所在情報を通知する通知手段と、を備える前記情報処理装置と、を備えることを特徴とする。
【０００７】
請求項２に記載の発明は、前記第１のノード装置は、前記複数の素材情報のうち、楽曲の楽譜を示す演奏情報に基づいて、前記楽曲を示す楽曲情報を再生する第１再生手段を更に備え、前記合成手段は、前記第１再生手段により再生された前記楽曲情報を含む前記合成コンテンツを生成し、前記複数のノード装置のうち前記第１再生手段を備えない第２のノード装置は、前記情報処理装置から通知された前記所在情報が所在を示すノード装置から前記合成コンテンツを取得する取得手段と、前記取得手段により取得された前記合成コンテンツを再生する第２再生手段と、を備えることを特徴とする。
【０００８】
請求項３に記載の発明は、前記判定手段は、前記受信手段により受信された前記付加情報を送信したノード装置が保存する前記合成コンテンツが、前記受信手段により受信された前記識別情報に対応付けて前記第３記憶手段に記憶されている前記所在情報が所在を示すノード装置が保存する前記合成コンテンツよりも古いかを判定し、前記制御手段は、前記判定手段により古いと判定された場合、前記受信手段により受信された前記所在情報を前記第３記憶手段に記憶させないことを特徴とする。
【０００９】
請求項４に記載の発明は、前記情報処理装置は、前記判定手段により古いと判定された場合、前記受信手段により受信された前記識別情報を送信したノード装置へ、前記識別情報に対応付けて前記第３記憶手段に記憶されている前記所在情報が所在を示すノード装置から前記識別情報が示す前記合成コンテンツを取得する指示を示す第１指示情報を送信する第２送信手段を更に備えることを特徴とする。
【００１０】
請求項５に記載の発明は、前記情報処理装置は、前記判定手段による判定の結果、前記受信手段により受信された前記付加情報を送信したノード装置が保存する前記合成コンテンツが最新である場合、前記受信手段により受信された前記識別情報に対応付けて前記第３記憶手段に記憶されている前記所在情報が所在を示すノード装置へ、前記受信手段により受信された前記所在情報が所在を示すノード装置から前記識別情報が示す前記合成コンテンツを取得する指示を示す第２指示情報を送信する第３送信手段を更に備えることを特徴とする。
【００１１】
請求項６に記載の発明は、前記情報処理装置は、前記判定手段による判定の結果、前記受信手段により受信された前記付加情報を送信したノード装置が保存する前記合成コンテンツが最新である場合、前記複数のノード装置が前記ネットワークを介して通信可能な第２情報処理装置又は何れかのノード装置へ、前記第２情報処理装置又はノード装置に最新の前記合成コンテンツを保存させる指示を示す第３指示情報を送信する第４送信手段を更に備えることを特徴とする。
【００１２】
請求項７に記載の発明は、前記情報処理装置は、前記合成手段による合成に用いられる何れかの前記素材情報の版数を示す版情報を取得する取得手段を更に備え、前記送信手段は、前記取得手段により取得された前記版情報及び前記合成手段による前記合成コンテンツの生成日を含む前記付加情報を送信し、前記判定手段は、前記付加情報に含まれる前記版情報を、前記付加情報に含まれる前記生成日よりも優先して、前記合成コンテンツの新しさの判定に用いることを特徴とする。
【００１３】
請求項８に記載の発明は、前記第１のノード装置はカラオケ装置であり、前記合成手段は、カラオケの演奏情報及び映像情報を含む前記複数の素材情報を合成することによりカラオケの前記合成コンテンツを生成し、前記演奏情報及び前記映像情報のうち少なくとも１つを、前回の合成に用いられた前記素材情報とは異なる前記素材情報を用いて合成することを特徴とする。
【００１４】
請求項９に記載の発明は、ネットワークに接続する複数のノード装置により構成されるオーバーレイネットワークから取得可能なコンテンツであって、前記複数のノード装置に分散して保存されるコンテンツのうち、所定の合成コンテンツを形成可能な素材である素材情報を記憶する第１記憶手段と、前記第１記憶手段に記憶された複数の前記素材情報を定期的に合成することにより前記合成コンテンツを生成する合成手段であって、前記複数の素材情報のうち少なくとも１つを、前回の合成に用いられた前記素材情報とは異なる前記素材情報を用いて合成する合成手段と、前記合成手段により生成された前記合成コンテンツを記憶する第２記憶手段と、前記合成コンテンツを識別する識別情報と、前記複数のノード装置のうち前記第２記憶手段を備えるノード装置の所在を示す所在情報と、前記合成手段により生成された前記合成コンテンツの新しさを判定するための付加情報であって、生成された前記合成コンテンツに対応する付加情報とを、前記合成コンテンツの所在を管理する情報処理装置へ送信する送信手段と、他のノード装置から送信された前記識別情報、前記所在情報及び前記付加情報を受信する受信手段と、第３記憶手段に、受信した前記識別情報と対応付けられた前記付加情報が記憶されている場合、前記受信手段により受信された前記識別情報に対応付けて記憶されている前記付加情報と、前記受信手段により受信された前記付加情報とに基づいて、前記付加情報を送信したノード装置が保存する前記合成コンテンツの新しさを判定する判定手段と、前記受信手段により受信された前記識別情報、前記所在情報及び前記付加情報を対応付けて第３記憶手段に記憶させる制御手段と、前記判定手段による判定の結果に基づいて、前記第３記憶手段に記憶された前記識別情報が示す前記合成コンテンツを取得するノード装置へ、最新の前記合成コンテンツを保存するノード装置の所在を示す前記所在情報を通知する通知手段と、を備えることを特徴とする。
【００１５】
請求項１０に記載の発明は、ノード装置のコンピュータに、ネットワークに接続する複数のノード装置により構成されるオーバーレイネットワークから取得可能なコンテンツであって、前記複数のノード装置に分散して保存されるコンテンツのうち、所定の合成コンテンツを形成可能な素材である素材情報を記憶する第１記憶手段に記憶された複数の前記素材情報を定期的に合成することにより前記合成コンテンツを生成する合成ステップであって、前記複数の素材情報のうち少なくとも１つを、前回の合成に用いられた前記素材情報とは異なる前記素材情報を用いて合成する合成ステップと、前記合成ステップにより生成された前記合成コンテンツを第２記憶手段に記憶させる第１制御ステップと、前記合成コンテンツを識別する識別情報と、前記複数のノード装置のうち前記第２記憶手段を備えるノード装置の所在を示す所在情報と、前記合成ステップにより生成された前記合成コンテンツの新しさを判定するための付加情報であって、生成された前記合成コンテンツに対応する付加情報とを、前記合成コンテンツの所在を管理する情報処理装置へ送信する送信ステップと、他のノード装置から送信された前記識別情報、前記所在情報及び前記付加情報を受信する受信ステップと、第３記憶手段に、受信した前記識別情報と対応付けられた前記付加情報が記憶されている場合、前記受信ステップにより受信された前記識別情報に対応付けて記憶されている前記付加情報と、前記受信ステップにより受信された前記付加情報とに基づいて、前記付加情報を送信したノード装置が保存する前記合成コンテンツの新しさを判定する判定ステップと、前記受信ステップにより受信された前記識別情報、前記所在情報及び前記付加情報を対応付けて前記第３記憶手段に記憶させる第２制御ステップと、前記判定ステップによる判定の結果に基づいて、前記第３記憶手段に記憶された前記識別情報が示す前記合成コンテンツを取得するノード装置へ、最新の前記合成コンテンツを保存するノード装置の所在を示す前記所在情報を通知する通知ステップと、を実行させることを特徴とする。
【発明の効果】
【００１６】
請求項１、９又は１０に記載の発明によれば、更新された合成コンテンツが定期的に生成され、最新の合成コンテンツの所在がノード装置へ通知される。そのため、コンテンツの素材情報が変更されることに基づくオーバーレイネットワークに公開されるコンテンツの更新を自動的に行うことができる。
【００１７】
請求項２に記載の発明によれば、演奏情報に基づいて楽曲情報を再生する再生処理を行うことができないノード装置が、再生処理が可能なノード装置により生成された合成コンテンツを取得して再生する。そのため、楽曲情報を再生することができる。
【００１８】
請求項３に記載の発明によれば、ノード装置に通知するコンテンツを最新のコンテンツに保つことができる。
【００１９】
請求項４に記載の発明によれば、古いコンテンツを保存して公開しようとするノード装置に、最新のコンテンツを保存させることができる。
【００２０】
請求項５に記載の発明によれば、新しいコンテンツが生成されたことによって古くなったコンテンツを保存していたノード装置に、最新のコンテンツを保存させることができる。
【００２１】
請求項６に記載の発明によれば、第３指示情報を受信した第２情報処理装置又はノード装置が、第２情報処理装置又は何れかのノード装置に、最新のコンテンツをオーバーレイネットワークに保存させるための処理を実行する。そのため、最新のコンテンツを生成したノード装置がオーバーレイネットワークから離脱した場合であっても、他のノード装置が最新のコンテンツを取得することができる。
【００２２】
請求項７に記載の発明によれば、素材情報の版数がコンテンツの生成日よりも優先される。そのため、最新のコンテンツとして、最新の素材情報が反映された適切なコンテンツを公開することができる。
【００２３】
請求項８に記載の発明によれば、演奏情報又は映像情報が変更されることに基づくカラオケのコンテンツの更新を自動的に行うことができる。
【図面の簡単な説明】
【００２４】
【図１】一実施形態の通信システムＳの概要構成例を示す図である。
【図２】（Ａ）及び（Ｂ）は、オーバーレイネットワークＯＮに公開されるカラオケコンテンツＣ１の更新の動作概要を示す図である。
【図３】（Ａ）及び（Ｂ）は、オーバーレイネットワークＯＮに公開されるカラオケコンテンツＣ１の更新の動作概要を示す図である。
【図４】（Ａ）は、コマンダＫｎの概要構成例を示すブロック図であり、（Ｂ）は、ユーザ端末Ｔｉの概要構成例を示すブロック図である。
【図５】（Ａ）は、コマンダＫｎの制御部１１のコンテンツ生成制御処理の処理例を示すフローチャートであり、（Ｂ）は、ユーザ端末Ｔｉの制御部３１のコンテンツ再生処理の処理例を示すフローチャートである。
【図６】コマンダＫｎの制御部１１又はユーザ端末Ｔｉの制御部３１のパブリッシュ受信処理の処理例を示すフローチャートである。
【発明を実施するための形態】
【００２５】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、通信システムに本発明を適用した場合の実施形態である。
【００２６】
［１．通信システムの構成及び動作概要］
始めに、図１を参照して、本実施形態の通信システムの構成及び動作概要について説明する。図１は、本実施形態の通信システムＳの概要構成例を示す図である。図１に示すように、本実施形態の通信システムＳは、センターサーバＳＳ、コンテンツプールＣＰ、コマンダＫｎ（ｎ＝１，２，３・・・ｋ）、及びユーザ端末Ｔｉ（ｉ＝１，２，３・・・ｊ）等により構成されている。センターサーバＳＳ、コンテンツプールＣＰ、コマンダＫｎ、及びユーザ端末ＴｉはネットワークＮＷに接続されている。ネットワークＮＷは、インターネット等からなる。センターサーバＳＳは、コンテンツをオーバーレイネットワークＯＮに投入する。コンテンツプールＣＰは、オーバーレイネットワークＯＮに投入された全てのコンテンツを保存するサーバ装置である。
【００２７】
コマンダＫｎは、カラオケ装置である。コマンダＫｎは、例えば、カラオケ店舗に設置される。コマンダＫｎは、ユーザからの選曲操作に基づいて、カラオケ曲を演奏する演奏装置である。このとき、コマンダＫｎは、オーバーレイネットワークＯＮに投入されたコンテンツに基づいて、カラオケ曲をスピーカにより出力させ、カラオケの映像をディスプレイに表示させる。カラオケに用いられるコンテンツとして、例えば、演奏データ、背景画データ、字幕データ等がある。演奏データは、カラオケ曲を演奏するためのデータである。演奏データは、カラオケ曲の楽譜を示すデータである。演奏データのデータ形式として、例えば、ＭＩＤＩ形式等がある。ＭＩＤＩデータには、デルタタイム及びイベント等の情報が記述される。これらの情報が、楽譜を構成する演奏記号等に相当する。演奏情報に代えて、音声情報が用いられてもよい。音声情報は、カラオケ曲の音声の波形を示す情報である。音声情報の符号化方式として、例えば、ＰＣＭ等がある。背景画データは、カラオケの背景として表示される動画のデータである。背景画データは、本発明における映像情報の一例である。字幕データは、楽曲の歌詞のテロップを表示するためのデータである。また、コマンダＫｎは、演奏データ、背景画データ、字幕データ等を合成して、カラオケコンテンツを生成する。カラオケコンテンツを生成するための素材として用いられるデータを、「部品データ」という。カラオケコンテンツは、例えば、カラオケ曲の音声、背景動画、歌詞のテロップ等を含むコンテンツである。本実施形態においては、演奏データ、背景画データ及び字幕データが、部品データの一例である。カラオケコンテンツのデータ形式は、例えば、ＭＰ４、ＦＬＶ等であってもよい。
【００２８】
ユーザ端末Ｔｉは、例えば、ユーザにより使用されるセットトップボックス、スマートフォン、携帯電話機、パーソナルコンピュータ等である。ユーザ端末Ｔｉは、コマンダＫｎにより生成されたカラオケコンテンツを再生する。ユーザ端末Ｔｉは、例えば、演奏データを再生するためのシーケンサを備えていない。そのため、コマンダＫｎは、ユーザ端末Ｔｉがカラオケ曲をスピーカにより出力することができるように、カラオケコンテンツを生成する。
【００２９】
また、図１に示すように、通信システムＳには、ネットワークＮＷを介して互いに通信可能な複数のコマンダＫｎ及び複数のユーザ端末Ｔｉの参加によりオーバーレイネットワークＯＮが構成されている。オーバーレイネットワークＯＮに接続するコマンダＫｎ及びユーザ端末Ｔｉを、「ノード」という。カラオケコンテンツを生成可能なノードを、「コンテンツ生成可能ノード」という。コマンダＫｎは、コンテンツ生成可能ノードである。コマンダＫｎは、本発明における第１のノード装置の一例である。カラオケコンテンツを生成することができないノードを、「コンテンツ利用ノード」という。ユーザ端末Ｔｉは、シーケンサを備えていないため、演奏データを用いてカラオケコンテンツを生成することができない。従って、ユーザ端末Ｔｉは、コンテンツ利用ノードである。ユーザ端末Ｔｉは、本発明における第２のノード装置の一例である。
【００３０】
オーバーレイネットワークＯＮは、仮想的なリンクを構成する論理的なネットワークである。オーバーレイネットワークＯＮは、特定のアルゴリズム、例えば、分散ハッシュテーブルを利用したアルゴリズムにより実現される。なお、分散ハッシュテーブルを、以下、「ＤＨＴ（Distributed Hash Table）」という。ここで、オーバーレイネットワークＯＮに参加するとは、ＤＨＴを用いたルーティングテーブルに基づいてオーバーレイネットワークＯＮを介して他のノードとの間で各種メッセージを送受信できる状態に稼動することをいう。なお、ＤＨＴを用いたルーティングテーブルについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。また、オーバーレイネットワークＯＮに参加している各ノードには、ノードＩＤが付与されている。このノードＩＤは、ノードを、オーバーレイネットワークＯＮに参加しているノードの中から識別する固有の識別情報である。
【００３１】
通信システムＳにおいては、様々なコンテンツが複数のノードに分散して保存される。コンテンツとして、例えば、上述の部品データ、カラオケコンテンツ等がある。各コンテンツには、それぞれコンテンツＩＤが付与されている。コンテンツＩＤは、コンテンツを、オーバーレイネットワークＯＮに保存されるコンテンツの中から識別する固有の識別情報である。コンテンツＩＤは、本発明における識別情報の一例である。センターサーバＳＳは、コンテンツをオーバーレイネットワークＯＮに投入する。コンテンツの投入とは、コンテンツを何れかのノードに保存させ、保存されたコンテンツを、各ノードがオーバーレイネットワークＯＮから取得可能にすることである。各コンテンツのコンテンツＩＤ等の属性情報は、コンテンツカタログ情報に記述されている。例えば、コンテンツカタログ情報には、コンテンツＩＤ、コンテンツのタイトル、コンテンツのファイル名、公開日等がコンテンツごとに記述されている。カラオケコンテンツの場合、コンテンツカタログ情報には、更に、カラオケ曲の楽曲番号及びジャンル、カラオケコンテンツの生成に用いられる部品データのコンテンツＩＤ等が記述されてもよい。楽曲番号は、カラオケ曲を、複数のカラオケ曲の中から識別する固有の番号である。コンテンツカタログ情報は、センターサーバＳＳにより作成される。そして、センターサーバＳＳが、コンテンツカタログ情報を全てのノードに配信する。
【００３２】
ここで、コンテンツを保存しているノードを、以下、「コンテンツホルダ」という。また、コンテンツホルダの所在は、ホルダ情報として、このコンテンツの所在を管理しているノードに記憶される。コンテンツの所在を管理しているノードを、以下、「ルートノード」という。ホルダ情報には、コンテンツを保存しているコンテンツホルダのノード情報と、コンテンツのコンテンツＩＤとの組が含まれる。ノード情報には、例えば、コンテンツホルダのノードＩＤ、ＩＰアドレス及びポート番号が含まれる。ノードＩＤは、本発明における所在情報の一例である。ＩＰアドレスが、所在情報の一例であってもよい。ルートノードは、例えば、コンテンツＩＤと最も近いノードＩＤが割り当てられたノードであるように定められる。コンテンツＩＤと最も近いノードＩＤとは、例えば、ＩＤの上位桁が最も多く一致するノードＩＤである。
【００３３】
或るノードが、オーバーレイネットワークＯＮを介してコンテンツホルダからコンテンツを取得する場合がある。コンテンツを取得するノードを、以下、「リクエストノード」という。リクエストノードは、コンテンツを保存するコンテンツホルダの所在をオーバーレイネットワークＯＮで検索する。具体的に、リクエストノードは、検索メッセージを送信する。検索メッセージは、取得対象のコンテンツの所在をコンテンツのルートノードに問い合わせるためのメッセージである。検索メッセージには、取得対象のコンテンツのコンテンツＩＤが含まれる。検索メッセージは、ＤＨＴを用いたルーティングにより、ルートノードへ転送される。ルートノードは、受信した検索メッセージに含まれるコンテンツＩＤに対応するホルダ情報をホルダ情報キャッシュから取得する。ルートノードは、取得したホルダ情報を、検索メッセージの送信元のリクエストノードに返信する。これにより、リクエストノードは、ルートノードからコンテンツホルダの所在情報を受信する。なお、コンテンツの所在をルートノードに問い合わせる処理は、例えば特開２００７−０５３６６２号公報等で公知であるので、詳しい説明を省略する。そして、リクエストノードは、コンテンツホルダにコンテンツ要求メッセージを送信する。コンテンツ要求メッセージは、コンテンツの要求を示すメッセージである。コンテンツ要求メッセージには、取得対象のコンテンツのコンテンツＩＤが含まれる。コンテンツホルダは、コンテンツ要求メッセージに含まれるコンテンツＩＤに対応するコンテンツを、リクエストノードにアップロードする。これにより、リクエストノードはコンテンツを取得する。オーバーレイネットワークＯＮに現在参加している何れのノードも、取得対象のコンテンツを保存していない場合がある。この場合、リクエストノードは、コンテンツプールＣＰからコンテンツを取得する。
【００３４】
リクエストノードは、コンテンツホルダからコンテンツを取得したとき、コンテンツを公開する。コンテンツの公開とは、リクエストノードが取得したコンテンツを、オーバーレイネットワークＯＮから取得可能にすることをいう。具体的に、リクエストノードは、取得したコンテンツを保存する。そして、リクエストノードは、ルートノードへパブリッシュメッセージを送信する。パブリッシュメッセージは、コンテンツを保存したことをルートノードへ通知するためのメッセージである。パブリッシュメッセージは、保存したコンテンツのコンテンツＩＤと、コンテンツを保存したリクエストノードのノード情報とを含む。ルートノードは、受信したパブリッシュメッセージに含まれるコンテンツＩＤとノード情報との組を含むホルダ情報を、ホルダ情報キャッシュに記憶する。こうして、リクエストノードは、新たに、コンテンツを保存するコンテンツホルダとなる。
【００３５】
カラオケ曲の演奏やカラオケコンテンツの生成に用いられる部品データは更新されることがある。例えば、部品データの誤りが修正されたり、部品データの内容の一部が変更されたりする。そのため、部品データが更新されると、更新された部品データを用いて、カラオケ曲を演奏やカラオケコンテンツの生成を行う必要がある。例えば、コマンダＫｎは、最新の部品データが常にコマンダＫｎに保存されるように、更新された部品データを定期的にオーバーレイネットワークＯＮから取得してもよい。例えば、コマンダＫｎは、センターサーバＳＳ等から、更新部品リストを取得してもよい。更新部品リストは、更新された部品データを示すリスト情報である。コマンダＫｎは、更新部品リストに基づいて、更新された部品データを取得する。そして、コマンダＫｎは、保存されている部品データを用いて、カラオケ曲を演奏し、又は、カラオケコンテンツを生成してもよい。また、コマンダＫｎは、例えば、カラオケ曲の演奏やカラオケコンテンツを生成するタイミングになったとき、必要な部品データをオーバーレイネットワークＯＮから取得してもよい。この場合において、コマンダＫｎは、例えば、更新部品リストを定期的に取得する等により、更新部品リストを予め保存しておいてもよい。また、例えば、コマンダＫｎは、カラオケ曲の演奏やカラオケコンテンツを生成するタイミングになったときに、更新部品リストを取得してもよい。コマンダＫｎは、取得した更新部品リストに基づいて、最新の部品データを取得する。また、コマンダＫｎは、記録媒体に記録された部品データを記録媒体から読み出すことにより、部品データを取得してもよい。
【００３６】
本実施形態においては、各コマンダＫｎが、全ての部品データを保存する。例えば、センターサーバＳＳは、更新部品リストを生成する。更新部品リストは、シリアル番号、更新された部品データごとの情報を含む。部品データごとの情報として、部品データのコンテンツＩＤ、ファイル名及びリビジョン情報がある。シリアル番号は、更新部品リストを識別する固有の番号である。センターサーバＳＳは、更新部品リストを生成するたびに、例えば１から順にシリアル番号を割り当てる。更新された部品データには、更新前の部品データとは異なるコンテンツＩＤが付与される。リビジョン情報は、部品データのリビジョンを示す情報である。リビジョンは、例えば、部品データが更新されるごとに付与される番号である。リビジョンが示す番号は、部品データが更新されるに従って、値の大きい番号になる。リビジョン情報は、本発明における版数情報の一例である。版数情報として、例えば、バージョン等を示す情報が用いられてもよい。リビジョン情報は、複数の部品データのうち一部の部品データのみに付与されていてもよい。各コマンダＫｎは、例えば、センターサーバＳＳから定期的に更新部品リストを取得する。例えば、コマンダＫｎは、カラオケコンテンツを生成するタイミングになったときに、更新部品リストを取得してもよい。コマンダＫｎは、センターサーバＳＳから最後に取得した更新部品リストのシリアル番号を、センターサーバＳＳへ送信する。センターサーバＳＳは、受信したシリアル番号よりもシリアル番号が大きい更新部品リストを、シリアル番号順に全て送信する。コマンダＫｎは、受信した更新部品リストに基づいて、オーバーレイネットワークＯＮから各部品データを取得する。そして、コマンダＫｎは、取得した部品データを、リビジョン情報と対応付けて保存する。
【００３７】
［２．オーバーレイネットワークにおけるカラオケコンテンツの更新］
カラオケコンテンツの生成に用いられる部品データは、更新されることがある。部品データが更新された場合、カラオケコンテンツも更新する必要がある。また、ユーザがユーザ端末Ｔｉを用いて、同一のカラオケ曲のカラオケコンテンツを何度も再生させることがある。このとき、常に同じ背景動画が表示されると、ユーザが背景動画に飽きてしまう場合がある。例えば、コマンダＫｎは、カラオケ曲を演奏する都度、表示する背景動画を差し替える。これにより、ユーザが背景動画に飽きてしまうことを防止する。そのため、カラオケコンテンツの生成に用いられる背景画データを定期的に差し替える必要がある。従って、部品データが更新されたり、部品データを差し替えるたびに、カラオケコンテンツを再生成して、再生成されたカラオケコンテンツをオーバーレイネットワークに投入したりするという手間を要する。例えば、ユーザ端末Ｔｉが再生可能な形式のデータに演奏データを変換したり、複数の部品データを組み合わせてオーサリングしたりする必要がある。また、センターサーバＳＳがカラオケコンテンツを再生成すると、センターサーバＳＳの処理負荷が過大となる。
【００３８】
そこで、各コマンダＫｎが、定期的に複数の部品データを合成して、カラオケコンテンツを生成する。このとき、コマンダＫｎは、今回合成する複数の部品データのうち少なくとも１つを、前回の合成に用いられた部品データとは異なる部品データを用いて合成を行う。コマンダＫｎは、生成したカラオケコンテンツの所在を管理するルートノードへ、付加情報を含むパブリッシュメッセージを送信する。付加情報は、生成されたカラオケコンテンツの新しさを判定するための情報であり、生成されたカラオケコンテンツに対応する情報である。コマンダＫｎは、生成されたカラオケコンテンツに対応する付加情報を生成する。付加情報の詳細については後述する。ルートノードは、パブリッシュメッセージに含まれる付加情報に基づいて、カラオケコンテンツを取得するリクエストノードに、最新のコンテンツの所在を示すホルダ情報を通知する。このようにして、オーバーレイネットワークＯＮに公開されるカラオケコンテンツの更新が自動的に行われる。
【００３９】
各コマンダＫｎは、１日ごと、所定時間ごと、所定日数ごと等に、カラオケコンテンツを生成してもよい。また、コマンダＫｎは、カラオケコンテンツを定期的に生成することに加えて、更に別のタイミングでカラオケコンテンツを生成してもよい。例えば、コマンダＫｎは、ユーザによりコマンダＫｎが利用されていない時間に、生成してもよい。また、コマンダＫｎは、ユーザの選曲に基づいて、カラオケ曲を演奏しているとき、演奏しているカラオケ曲について、カラオケコンテンツを生成してもよい。カラオケ曲を演奏するとき、コマンダＫｎは、演奏データを再生してカラオケ曲の音声信号をスピーカに出力し、背景画データを再生して背景動画の映像信号をディスプレイに出力する。コマンダＫｎは、このときの音声信号及び映像信号を所定の形式の音声データ及び映像データに変換し、音声データ及び映像データを合成してカラオケコンテンツを生成すればよい。
【００４０】
コマンダＫｎは、カラオケコンテンツを生成するタイミングとなったとき、生成するカラオケコンテンツを決定する。例えば、コマンダＫｎごとに、カラオケコンテンツが予め定められてもよい。例えば、コマンダＫｎは、コマンダＫｎのノードＩＤや製造番号等を共通のハッシュ関数でハッシュ化することにより、生成するカラオケコンテンツに対応するカラオケ曲の楽曲番号を決定してもよい。また、コマンダＫｎは、例えば、生成するタイミングごとに、ランダムにカラオケコンテンツを決定してもよい。また、コマンダＫｎは、例えば、所定の時間の間に頻繁に演奏したカラオケ曲に対応するカラオケコンテンツを、生成するカラオケコンテンツに決定してもよい。また、例えば、センターサーバＳＳが、生成するカラオケコンテンツをコマンダＫｎに指示してもよい。
【００４１】
図２及び図３は、オーバーレイネットワークＯＮに公開されるカラオケコンテンツＣ１の更新の動作概要を示す図である。ここで、各コマンダＫｎは、例えば、１日ごとに、カラオケコンテンツを生成するとする。なお、カラオケコンテンツＣ１を、以下、「コンテンツＣ１」という。また、コンテンツＣ１のルートノードは、コマンダＫ２であるとする。カラオケコンテンツのルートノードはユーザ端末Ｔｉであってもよい。コンテンツＣ１を初めて投入しようとするとき、センターサーバＳＳは、コンテンツＣ１の部品データである演奏データＡ１及び背景画データＢ１等を、オーバーレイネットワークＯＮに投入する。ここで、演奏データＡ１のリビジョンは、１であるとする。また、センターサーバＳＳは、コンテンツＣ１の属性情報が追加されたコンテンツカタログ情報を配信する。また、センターサーバＳＳは、演奏データＡ１及び背景画データＢ１等についての更新部品リストを生成する。各コマンダＫｎは、センターサーバＳＳから更新部品リストを取得する。そして、各コマンダＫｎは、更新部品リストに基づいて、演奏データＡ１及び背景画データＢ１等を取得する。
【００４２】
例えば、１月１日に、コマンダＫ１は、コンテンツＣ１を生成することを決定したとする。すると、コマンダＫ１は、コンテンツカタログ情報に基づいて、演奏データＡ１及び背景画データＢ１等を、合成する部品データに決定する。そして、図２（Ａ）に示すように、コマンダＫ１は、演奏データＡ１及び背景画データＢ１等を合成して、コンテンツＣ１−１を生成する（図２（Ａ）（１））。コンテンツＣ１−１は、１月１日に生成され、且つ、演奏データのリビジョンが１であるコンテンツＣ１である。従って、コンテンツＣ１−１の生成日は１月１日であり、コンテンツＣ１−１のリビジョン情報は１を示す。コンテンツＣ１−１に対応する生成日及びリビジョン情報が、付加情報となる。
【００４３】
なお、コマンダＫｎは、例えば、カラオケコンテンツを生成するたびに、合成に用いる背景画データを差し替えてもよい。例えば、カラオケ曲のジャンルごとに、複数の背景画データがある。複数の背景画データのそれぞれには、シリアル番号が付与されている。例えば、背景画データのファイル名でシリアル番号が示されてもよい。コマンダＫｎは、例えば、今日の日付に対応するシリアル番号を生成する。例えば、１月１日から経過した日数に対応するシリアル番号が生成されてもよい。これにより、コマンダＫｎは、シリアル番号が毎日変わるようにする。コマンダＫｎは、カラオケコンテンツに対応するジャンルの背景画データのうち、生成したシリアル番号が付与された背景画データを用いて、カラオケコンテンツを生成する。このようにして、コマンダＫｎは、前回のカラオケコンテンツの生成に用いられた背景画データとは異なる背景画データを決定する。背景画データを毎回差し替える場合、コンテンツカタログ情報には、カラオケコンテンツの属性情報に、背景画像データのコンテンツＩＤが含まれていなくてもよい。また、コマンダＫｎは、例えば、カラオケコンテンツの公開日から所定の期間が経過するまでは、コンテンツカタログ情報に記述されたカラオケコンテンツの属性情報から、合成に用いる背景画像データのコンテンツＩＤを取得してもよい。そして、コマンダＫｎは、例えば、公開日から所定の期間が経過した後は、カラオケコンテンツの生成のたびに、合成に用いる背景画データを差し替えてもよい。
【００４４】
コンテンツＣ１−１を生成したコマンダＫ１は、付加情報を生成する。付加情報は、部品データのリビジョン情報、及び、カラオケコンテンツの生成日を含む。演奏データＡ１のリビジョン情報は１を示す。生成日は、１月１日である。他の部品データのリビジョン情報の説明については省略する。コマンダＫ１は、コンテンツＣ１−１と、コンテンツＩＤと、付加情報とを対応付けて記憶する。
【００４５】
コマンダＫ１は、生成したコンテンツＣ１−１のパブリッシュメッセージをコマンダＫ２へ送信する（図２（Ａ）（２））。このとき、コマンダＫ１は、パブリッシュメッセージに、コンテンツＣ１のコンテンツＩＤ、付加情報及びオリジナルフラグを含める。オリジナルフラグは、保存が通知されるコンテンツが、カラオケコンテンツのオリジナルであるかレプリカであるかを示す情報である。オリジナルである場合、オリジナルフラグはＴＲＵＥに設定される。コマンダＫｎがカラオケコンテンツを生成した場合、コマンダＫｎは、オリジナルフラグをＴＲＵＥに設定する。レプリカである場合、オリジナルフラグはＦＡＬＳＥに設定される。ノードが他のノードからカラオケコンテンツを取得して保存する場合、ノードは、オリジナルフラグをＦＡＬＳＥに設定する。コマンダＫ２は、受信したパブリッシュメッセージに含まれるコンテンツＩＤ及びコマンダＫ１のノード情報を含むホルダ情報を、パブリッシュメッセージに含まれる付加情報に対応付けて登録する（図２（Ａ）（３））。
【００４６】
その後、演奏データＡ１が演奏データＡ２に更新されるとする。各コマンダＫｎは、前述と同様に、演奏データＡ２を保存する。演奏データＡ２のリビジョンは２である。センターサーバＳＳは、コンテンツＣ１の属性情報を変更したコンテンツカタログ情報を配信する。例えば、１月２日に、コマンダＫ３は、コンテンツＣ１を生成することを決定したとする。すると、図２（Ｂ）に示すように、コマンダＫ３は、コンテンツカタログ情報に基づいて、演奏データＡ２及び背景画データＢ１等を、合成する部品データに決定する。つまり、コマンダＫ３は、前回の合成に用いられた演奏データとは異なる演奏データを、合成に用いる演奏データに決定する。コマンダＫ３は、演奏データＡ２及び背景画データＢ１等を合成して、コンテンツＣ１−２を生成する（図２（Ｂ）（４））。コンテンツＣ１−２は、１月２日に生成され、且つ、演奏データのリビジョンが２であるコンテンツＣ１である。なお、背景データを毎回差し替える場合、コマンダＫ３は、例えば、今日の日付である１月２日に対応するシリアル番号を生成する。そして、コマンダＫ３は、生成したシリアル番号に対応する背景画データを、合成に用いる背景データに決定する。本実施形態においては、カラオケコンテンツの生成に用いられる部品データの情報が、コンテンツカタログ情報に記述されている。しかしながら、カラオケコンテンツの生成に用いられる部品データの情報が、カラオケ曲ごとにリストファイルに記述されてもよい。カラオケ装置Ｋｎは、例えばセンターサーバＳＳから、部品データの情報が記述されたリストファイルを取得してもよい。
【００４７】
カラオケコンテンツＣ１−２を生成したコマンダＫ３は、コンテンツＣ１−２のパブリッシュメッセージをコマンダＫ２へ送信する（図２（Ｂ）（５））。コマンダＫ３が送信するパブリッシュメッセージに含まれるコンテンツＩＤと、図２（Ａ）（Ｂ）でコマンダＫ１が送信したパブリッシュメッセージに含まれるコンテンツＩＤとは同一である。また、このときの付加情報は、演奏データＡ２のリビジョンである２を示すリビジョン情報と、生成日としての１月２日とを含む。
【００４８】
コマンダＫ２は、受信したパブリッシュメッセージに含まれる付加情報と、ルートノードが現在登録しているホルダ情報に対応付けられている付加情報とを比較する。これにより、コマンダＫ２は、付加情報に基づいて、コンテンツＣ１−２の新しさを判定する。具体的に、コマンダＫ２は、コンテンツＣ１−２がコンテンツＣ１−１よりも新しいか否かを判定する。コマンダＫ２は、付加情報に基づいて、コンテンツＣ１−２がコンテンツＣ１−１よりも新しいと判定した場合にのみ、パブリッシュメッセージを受け付ける。これにより、通信システムＳは、オーバーレイネットワークＯＮに公開されるカラオケコンテンツを最新に保つ。ルートノードは、生成日よりもリビジョン情報を優先して、コンテンツの新しさの判定に用いる。その理由は、リビジョンが新しい部品データであるほど、より改善された部品データであるからである。つまり、生成日が新しいか否かにかかわらず、部品データのリビジョンが新しいカラオケコンテンツが、公開されるのにふさわしいコンテンツである。ルートノードは、先ずリビジョン情報を比較する。パブリッシュメッセージに含まれるリビジョン情報の方が新しいリビジョンを示す場合、ルートノードは、パブリッシュメッセージを受け付ける。パブリッシュメッセージに含まれるリビジョン情報の方が古いリビジョンを示す場合、ルートノードは、パブリッシュメッセージの受け付けを拒否する。リビジョン情報が同一である場合、ルートノードは、生成日を比較する。ことのき、パブリッシュメッセージに含まれる生成日の方が新しい場合にのみ、ルートノードはパブリッシュメッセージを受け付ける。
【００４９】
演奏データＡ２のリビジョンは演奏データＡ１のリビジョンよりも新しいリビジョンである。従って、コマンダＫ２は、パブリッシュメッセージを受け付ける。また、コマンダＫ２は、オーバーレイネットワークＯＮに公開されるコンテンツＣ１を、コンテンツＣ１−１からコンテンツＣ１−２に更新する。具体的に、コマンダＫ２は、コンテンツプールＣＰへ、コンテンツ取得指示を送信する（図２（Ｂ）（６））。コンテンツ取得指示は、最新のカラオケコンテンツを取得して保存することを指示するメッセージである。コンテンツプールＣＰへ送信されるコンテンツ取得指示は、本発明における第３指示情報の一例である。コンテンツ取得指示は、取得するカラオケコンテンツ及び取得元のノードを示すホルダ情報と、カラオケコンテンツの付加情報とを含む。従って、コマンダＫ２は、コマンダＫ３ノード情報及びコンテンツＣ１のコンテンツＩＤを含むホルダ情報と、コンテンツＣ１−２の付加情報を、コンテンツ取得指示に含める。コンテンツプールＣＰは、受信したコンテンツ取得指示に含まれるホルダ情報に基づいて、コマンダＫ３からコンテンツＣ１−２を取得して保存する（図２（Ｂ）（７））。このとき、コンテンツプールＣＰは、コンテンツＣ１−２と、コンテンツＣ１のコンテンツＩＤと、付加情報とを対応付けて記憶する。カラオケコンテンツを生成したノードと異なる装置にカラオケコンテンツを保存させる理由は、次に述べるとおりである。カラオケコンテンツを生成したコマンダＫｎがオーバーレイネットワークＯＮから離脱することがある。例えば、コマンダＫｎの電源がオフにされた場合に、コマンダＫｎは離脱する。そのため、カラオケコンテンツを生成したコマンダＫｎが離脱しても、他のノードがカラオケコンテンツを取得することができるようにする。図２（Ａ）については説明を省略したが、コマンダＫ２は、コンテンツＣ１−１についてのホルダ情報を登録するときにも（図２（Ａ）（３））、コンテンツプールＣＰへコンテンツ取得指示を送信する。なお、ルートノードは、例えば、生成したカラオケコンテンツをコンテンツプールへ送信するよう、カラオケコンテンツを生成したコマンダＫｎに指示してもよい。また、ルートノードは、カラオケコンテンツを生成したコマンダＫｎ以外の何れかのノードへ、コンテンツ取得指示を送信してもよい。
【００５０】
また、コマンダＫ２は、コンテンツＣ１−１のコンテンツホルダであるコマンダＫ１に、コンテンツ取得指示を送信する（図２（Ｂ）（６））。コマンダＫｎへ送信されるコンテンツ取得指示は、本発明における第２指示情報の一例である。コマンダＫｎへ送信されるコンテンツ取得指示に含まれる情報は、コンテンツプールＣＰに送信されるコンテンツ取得指示に含まれる情報と同一である。コンテンツ取得指示を受信したコマンダＫ１は、コマンダＫ３からコンテンツＣ１−２を取得して保存する（図２（Ｂ）（７））。このとき、コマンダＫ１は、コンテンツＣ１−１を削除する。また、コマンダＫ１は、コンテンツＣ１−２と、コンテンツＩＤと、コンテンツＣ１−２の付加情報とを対応付けて記憶する。これにより、新しいカラオケコンテンツが生成されたことによって古くなったカラオケコンテンツを保存していたノードに、最新のカラオケコンテンツを保存させることができる。
【００５１】
コンテンツ取得指示を送信したコマンダＫ２は、コンテンツＣ１−１のホルダ情報を削除する。そして、コマンダＫ２は、コマンダＫ３から送信されたパブリッシュメッセージに含まれるコンテンツＩＤ及びノード情報を取得する。そして、コマンダＫ２は、取得した情報を含むホルダ情報を、パブリッシュメッセージに含まれる付加情報に対応付けて登録する（図２（Ｂ）（８））。
【００５２】
コンテンツＣ１−２を保存したコマンダＫ１は、コンテンツＣ１−２についてのパブリッシュメッセージをコマンダＫ２へ送信する。このとき、コマンダＫ１は、オリジナルフラグをＦＡＬＳＥに設定する。オリジナルフラグがＦＡＬＳＥである場合、ルートノードは、パブリッシュメッセージに含まれる付加情報と、ルートノードが現在登録している付加情報とが一致する場合にのみ、パブリッシュメッセージを受け付ける。その理由は、たとえ新しいレプリカであっても、オリジナルの所在が不明な状態で、ホルダ情報を登録すべきではないからである。
【００５３】
例えば、コマンダＫ１がコンテンツＣ１−１を生成した後（図２（Ａ））、コマンダＫ１がオーバーレイネットワークＯＮから離脱したとする。その間に、コマンダＫ３がコンテンツＣ１−２を生成したとする（図２（Ｂ）（４）及び（５））。その後、コマンダＫ１がオーバーレイネットワークＯＮに参加したとする。この場合、コマンダＫ１は、コマンダＫ１が保存している各コンテンツについて、パブリッシュメッセージを送信する。その理由は、保存しているコンテンツを再度公開するためである。従って、図３（Ａ）に示すように、コマンダＫ１は、コンテンツＣ１−１についてのパブリッシュメッセージをコマンダＫ２へ送信する（図３（Ａ）（９））。このとき、コマンダＫ１は、コンテンツＣ１−１に対応付けて記憶された付加情報を、パブリッシュメッセージに含める。
【００５４】
コマンダＫ２は、コマンダＫ１から送信されたパブリッシュメッセージに含まれる付加情報と、現在登録されている付加情報とを比較する。コマンダＫ１が保存しているコンテンツＣ１−１は、コンテンツＣ１−２よりも古い。従って、コマンダＫ２は、パブリッシュメッセージの受け付けを拒否する。つまり、コマンダＫ２は、パブリッシュメッセージに含まれるホルダ情報を登録しない。コマンダＫ２は、コマンダＫ１へパブリッシュ拒否応答を送信する（図３（Ａ）（１０））。パブリッシュ拒否応答は、パブリッシュメッセージの受け付けを拒否するメッセージである。また、パブリッシュ拒否応答は、最新のカラオケコンテンツの取得を指示するメッセージでもある。パブリッシュ拒否応答は、本発明における第１指示情報の一例である。パブリッシュ拒否応答は、ルートノードが現在登録しているホルダ情報及びホルダ情報に対応する付加情報を含む。従って、コマンダＫ２は、コマンダＫ３のホルダ情報及びコンテンツＣ１−２の付加情報を含むパブリッシュ拒否応答を送信する。コマンダＫ１は、受信したパブリッシュ拒否応答に含まれるホルダ情報に基づいて、コマンダＫ３からコンテンツＣ１−２を取得して保存する（図３（Ａ）（１１））。これにより、古いカラオケコンテンツを公開しようとするノードに、最新のカラオケコンテンツを保存させることができる。
【００５５】
コマンダＫ１がコンテンツＣ１−２を保存した後、例えば、ユーザ端末Ｔ１を利用するユーザが、コンテンツＣ１の再生を指示する操作を行ったとする。すると、ユーザ端末Ｔ１は、コンテンツＣ１のコンテンツＩＤを含む検索メッセージをコマンダＫ２へ送信する。コマンダＫ２は、現在登録しているホルダ情報及びホルダ情報に対応付けられた付加情報をユーザ端末Ｔ１へ送信する（図３（Ｂ）（１２））。ホルダ情報を取得したユーザ端末Ｔ１は、ホルダ情報に基づいて、例えば、コマンダＫ１からコンテンツＣ１−２を取得する（図３（Ｂ）（１３））。ユーザ端末Ｔ１は、コマンダＫ１から取得したコンテンツＣ１−２と、コマンダＫ２から取得した付加情報とを対応付けて記憶する。そして、ユーザ端末Ｔ１は、取得したコンテンツＣ１−２を再生する。このように、ユーザ端末Ｔｉは、最新のカラオケコンテンツを取得して再生することができる。ユーザ端末Ｔ１は、コンテンツＣ１−２についてのパブリッシュメッセージをコマンダＫ２へ送信する。このとき、ユーザ端末Ｔ１は、付加情報をパブリッシュメッセージに含める。また、ユーザ端末Ｔ１は、オリジナルフラグをＦＡＬＳＥに設定する。
【００５６】
例えば、シーケンサが故障するなどによりコマンダＫｎがカラオケコンテンツを生成することができなくなる場合がある。この場合、コマンダＫｎは、コンテンツ利用ノードとして動作する。例えば、ユーザがカラオケ曲を選曲したとき、コマンダＫｎは、選曲されたカラオケ曲のカラオケコンテンツをオーバーレイネットワークＯＮから取得して再生する。
【００５７】
［３．コマンダの構成］
次に、図４（Ａ）を参照して、コマンダＫｎの構成及び機能について説明する。図４（Ａ）は、コマンダＫｎの概要構成例を示すブロック図である。コマンダＫｎは、制御部１１、記憶部１２、通信部１３、バッファメモリ１４、デコーダ部１５、映像処理部１６、音声処理部１７、入力部１８、及びシーケンサ１９等を備えて構成される。制御部１１〜シーケンサ１９はバス２０を介して相互に接続されている。
【００５８】
記憶部１２は、例えばハードディスクドライブ等から構成される。記憶部１２には、オペレーティングシステム、コンテンツ生成可能ノード用Ｐ２Ｐプログラム等が記憶されている。コンテンツ生成可能ノード用Ｐ２Ｐプログラムは、ルーティングテーブルを用いて他のノードと通信を行うためのプログラムである。また、コンテンツ生成可能ノード用Ｐ２Ｐプログラムは、コマンダＫｎがコンテンツ生成可能ノードとして動作するためのプログラムである。なお、コンテンツ生成可能ノード用Ｐ２Ｐプログラム等は、例えば、ネットワークＮＷに接続された所定のサーバからダウンロードされるようにしてもよい。あるいは、コンテンツ生成可能ノード用Ｐ２Ｐプログラム等は、例えば、ＤＶＤ等の記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしてもよい。
【００５９】
また、記憶部１２には、ルーティングテーブル、コンテンツカタログ情報等が記憶されている。また、記憶部１２には、コンテンツがコンテンツＩＤと対応付けて記憶される。カラオケコンテンツは、コンテンツＩＤと付加情報とに対応付けられている。また、記憶部１２には、ホルダ情報が記憶されている。カラオケコンテンツのホルダ情報は、付加情報と対応付けて記憶される。また、記憶部１２には、センターサーバＳＳ及びコンテンツプールＣＰのそれぞれのＩＰアドレス及びポート番号が記憶されている。
【００６０】
通信部１３は、ネットワークＮＷを通じて、他のコマンダＫｎ、ユーザ端末Ｔｉ、センターサーバＳＳ、コンテンツプールＣＰ等との間の通信制御を行う。バッファメモリ１４は、通信部１３を介して受信されたコンテンツを一時的に蓄積する。デコーダ部１５は、カラオケコンテンツに含まれる動画データ及び音声データ等をデコードして、背景動画の映像信号及びカラオケ曲の音声信号を出力する。シーケンサ１９は、演奏データに基づいてカラオケ曲を再生するミュージックシーケンサである。シーケンサ１９は、演奏データに含まれるデルタタイム及びイベント等に基づいて、カラオケ曲の音声信号を出力する。映像処理部１６は、字幕データに基づいて、デコーダ部１５から出力された背景動画の映像信号に対して描画処理を施すことにより、歌詞のテロップが重畳された背景動画の映像信号を、表示部２１に出力する。音声処理部１７は、デコーダ部１５又はシーケンサ１９から出力された音声信号と、マイク２３に入力された音声信号とを重畳して、スピーカ２２に出力する。入力部１８は、例えば、操作パネル、信号受信部等により構成される。信号受信部は、リモコンから送信された信号を受信する。入力部１８は、ユーザからの指示を受け付け、この指示に応じた指示信号を制御部１１に出力する。
【００６１】
制御部１１は、演算機能を有するＣＰＵ、作業用ＲＡＭ、及びＲＯＭ等から構成される。また、制御部１１は、時計機能及びタイマー機能を備える。そして、制御部１１は、コンピュータとしてのＣＰＵが記憶部１２等に記憶されたプログラムを読み出して実行することにより、合成ステップ、第１制御ステップ、送信ステップ、受信ステップ、第２制御ステップ、通知ステップを少なくとも実行する。
【００６２】
［４．ユーザ端末の構成］
次に、図４（Ｂ）を参照して、ユーザ端末Ｔｉの構成及び機能について説明する。図４（Ｂ）は、ユーザ端末Ｔｉの概要構成例を示すブロック図である。ユーザ端末Ｔｉは、制御部３１、記憶部３２、通信部３３、バッファメモリ３４、デコーダ部３５、表示部３６、スピーカ３７、及び入力部３８等を備えて構成される。制御部３１〜入力部３８はバス３９を介して相互に接続されている。
【００６３】
記憶部３２は、例えば、フラッシュメモリ、ハードディスクドライブ等から構成される。記憶部３２には、オペレーティングシステム、コンテンツ取得ノード用Ｐ２Ｐプログラム等が記憶されている。コンテンツ取得ノード用Ｐ２Ｐプログラムは、ルーティングテーブルを用いて他のノードと通信を行うためのプログラムである。また、コンテンツ生成可能ノード用Ｐ２Ｐプログラムは、ユーザ端末Ｔｉがコンテンツ取得ノードとして動作するためのプログラムである。なお、コンテンツ取得ノード用Ｐ２Ｐプログラム等は、例えば、ネットワークＮＷに接続された所定のサーバからダウンロードされるようにしてもよい。あるいは、コンテンツ取得ノード用Ｐ２Ｐプログラム等は、例えば、ＤＶＤ等の記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしてもよい。
【００６４】
また、記憶部１２と同様に、記憶部３２には、ルーティングテーブル、コンテンツカタログ情報、カラオケコンテンツ等のコンテンツ、ホルダ情報、センターサーバＳＳ及びコンテンツプールＣＰのそれぞれのＩＰアドレス及びポート番号等が記憶されている。
【００６５】
通信部３３〜デコーダ部３５の機能は、通信部１３〜デコーダ部１５と同様である。表示部３６は、例えば、液晶ディスプレイ等である。表示部３６は、デコーダ部３５から出力された映像信号に対応する映像を表示する。スピーカ３７は、デコーダ部３５から出力された音声信号に対応する音声を出力する。入力部３８は、例えば、操作パネル、信号受信部、ボタン、キーボード、マウス等により構成される。入力部３８は、ユーザからの指示を受け付け、この指示に応じた指示信号を制御部３１に出力する。
【００６６】
制御部３１は、演算機能を有するＣＰＵ、作業用ＲＡＭ、及びＲＯＭ等から構成される。また、制御部３１は、時計機能及びタイマー機能を備える。そして、制御部３１は、コンピュータとしてのＣＰＵが記憶部３２等に記憶されたプログラムを読み出して実行することにより、ユーザ端末Ｔｉの各部を統括制御する。
【００６７】
［５．通信システムの動作］
次に、図５及び図６を参照して、本実施形態の通信システムＳの動作について説明する。図５（Ａ）は、コマンダＫｎの制御部１１のコンテンツ生成制御処理の処理例を示すフローチャートである。コンテンツ生成制御処理は、例えば、コマンダＫｎの電源がＯＮとされたときに開始される。制御部１１は、カラオケ店舗の従業員から電源ＯＦＦが要求されたか否かを判定する（ステップＳ１）。このとき、制御部１１は、電源ＯＦＦが要求されていないと判定した場合には（ステップＳ１：ＮＯ）、ステップＳ２に進む。ステップＳ２において、制御部１１は、カラオケコンテンツを生成するタイミングであるか否かを判定する。例えば、制御部１１は、１日のうち所定の時刻になったときに、カラオケコンテンツを生成するタイミングであると判定する。制御部１１は、生成するタイミングではないと判定した場合には（ステップＳ２：ＮＯ）、ステップＳ１に進む。一方、制御部１１は、生成するタイミングであると判定した場合には（ステップＳ２：ＹＥＳ）、ステップＳ３に進む。
【００６８】
ステップＳ３において、制御部１１は、カラオケを再生中であるか否かを判定する。つまり、制御部１１は、シーケンサ１９が演奏データの再生処理を行っている最中であるか否かを判定する。このとき、制御部１１は、カラオケを再生中であると判定した場合には（ステップＳ３：ＹＥＳ）、ステップＳ４に進む。ステップＳ４において、制御部１１は、一定時間待機する。次いで、制御部１１は、ステップＳ３に進む。一方、制御部１１は、カラオケを再生中ではないと判定した場合には（ステップＳ３：ＮＯ）、ステップＳ５に進む。
【００６９】
ステップＳ５において、制御部１１は、複数の部品データを合成して、カラオケコンテンツを生成する。具体的に、制御部１１は、生成するカラオケコンテンツのコンテンツＩＤを決定する。例えば、コマンダＫｎごとにカラオケコンテンツが定められている場合、例えば、制御部１１は、コマンダＫｎのノードＩＤをハッシュ化して、楽曲番号を生成する。次いで、制御部１１は、決定した楽曲番号に対応するカラオケコンテンツの属性情報をコンテンツからログ情報から取得する。次いで、制御部１１は、属性情報に基づいて、合成する演奏データ、背景画データ等の部品データを決定する。次いで、制御部１１は、部品データを記憶部１２から読み出す。記憶部１２に記憶されていない部品データがある場合、制御部１１は、オーバーレイネットワークＯＮから部品データを取得する。合成に用いる背景画データを毎回差し替える場合、制御部１１は、例えば、今日の日付に基づいて、背景画データのファイル名を生成する。そして、制御部１１は、生成したファイル名により、記憶部１２から背景画データを読み出す。制御部１１は、読み出した演奏データをシーケンサ１９に出力する。これにより、シーケンサ１９は、演奏データの再生処理を行い、音声信号を出力する。制御部１１は、音声信号を所定の符号化方式でエンコードして、ユーザ端末Ｔｉが再生可能なデータ形式の音声データを生成する。制御部１１は、ユーザ端末Ｔｉがデコード可能な符号化方式を用いる。音声データのデータ形式は、例えば、ＭＰ３、ＡＡＣ等であってもよい。また、制御部１１は、読み出した背景画データをデコーダ部１５に出力する。これにより、デコーダ部１５は、映像信号を出力する。また、制御部１１は、映像処理部１６により、字幕データに基づいて、デコーダ部１５から出力された映像信号に、歌詞のテロップの映像信号を重畳させる。そして、制御部１１は、映像処理部１６から出力された映像信号を所定の符号化方式でエンコードして、ユーザ端末Ｔｉが再生可能なデータ形式の映像データを生成する。制御部１１は、ユーザ端末Ｔｉがデコード可能な符号化方式を用いる。映像データのデータ形式は、例えば、ＭＰＥＧ−２、Ｈ．２６４等であってもよい。制御部１１は、生成した音声データ及び映像データを重畳して、カラオケコンテンツを生成する。次いで、制御部１１は、記憶部１２から、合成した部品データに対応するリビジョン情報を取得する。また、制御部１１は、時計機能により、今日の日付を生成日として取得する。制御部１１は、リビジョン情報及び生成日を含む付加情報を生成する。次いで、制御部１１は、生成したカラオケコンテンツを、コンテンツＩＤ及び付加情報と対応付けて記憶部１２に記憶させる。
【００７０】
次いで、制御部１１は、パブリッシュメッセージをルートノードへ送信する（ステップＳ６）。このとき、制御部１１は、生成したカラオケコンテンツのコンテンツＩＤ、コマンダＫｎのノード情報、付加情報、ＴＲＵＥに設定されたオリジナルフラグを、パブリッシュメッセージに含める。
【００７１】
その後、制御部１１は、ルートノードから、パブリッシュメッセージに対する応答を受信する（ステップＳ７）。応答として、パブリッシュ受付応答とパブリッシュ拒否応答とがある。次いで、制御部１１は、ルートノードからパブリッシュ受付応答を受信したか否かを判定する（ステップＳ８）。このとき、制御部１１は、パブリッシュ受付応答を受信したと判定した場合には（ステップＳ８：ＹＥＳ）、ステップＳ１に進む。一方、制御部１１は、パブリッシュ拒否応答を受信したと判定した場合には（ステップＳ８：ＮＯ）、ステップＳ９に進む。ステップＳ９において、制御部１１は、生成したカラオケコンテンツを記憶部１２から削除する。次いで、制御部１１は、パブリッシュ拒否応答に含まれるホルダ情報に基づいて、他のノードから最新のカラオケコンテンツを取得する。そして、制御部１１は、取得したカラオケコンテンツをコンテンツＩＤに対応付けて記憶部１２に記憶させる（ステップＳ１０）。制御部１１は、パブリッシュメッセージを再度ルートノードへ送信する。このとき、制御部１１は、パブリッシュ拒否応答に含まれる付加情報を、パブリッシュメッセージに含める。また、制御部１１は、オリジナルフラグをＦＡＬＳＥに設定する。次いで、制御部１１は、ステップＳ１に進む。ステップＳ１において、制御部１１は、電源ＯＦＦが要求されたと判定した場合には（ステップＳ１：ＹＥＳ）、コンテンツ生成制御処理を終了させる。
【００７２】
図５（Ｂ）は、ユーザ端末Ｔｉの制御部３１のコンテンツ再生処理の処理例を示すフローチャートである。ユーザは、ユーザ端末Ｔｉの入力部３８を操作して、カラオケ曲を選択する。すると、制御部３１は、コンテンツ再生処理を実行する。制御部３１は、選択されたカラオケ曲の楽曲番号に基づいて、再生するカラオケコンテンツのコンテンツＩＤを決定する（ステップＳ１１）。次いで、制御部３１は、決定したコンテンツＩＤを含む検索メッセージをルートノードへ送信する。これにより、制御部３１は、ルートノードからホルダ情報を取得する（ステップＳ１２）。
【００７３】
次いで、制御部３１は、ホルダ情報に基づいて、コンテンツホルダからカラオケコンテンツを取得する（ステップＳ１３）。次いで、制御部３１は、取得したカラオケコンテンツを再生する（ステップＳ１４）。具体的に、制御部３１は、デコーダ部３５により、カラオケコンテンツから動画データと音声データとを分離させ、動画データ及び音声データをデコードさせる。デコーダ部３５は、動画データをデコードして生成した映像信号を表示部３６に出力する。これにより、歌詞のテロップを含む背景動画が表示部３６の画面に表示される。デコーダ部３５は、音声データをデコードして生成した音声信号をスピーカ３７に出力する。これにより、カラオケ曲の音声がスピーカ３７から出力される。カラオケコンテンツの再生が終了すると、制御部３１は、ルートノードへパブリッシュメッセージを送信する。そして、制御部３１は、コンテンツ再生処理を終了させる。
【００７４】
図６は、コマンダＫｎの制御部１１又はユーザ端末Ｔｉの制御部３１のパブリッシュ受信処理の処理例を示すフローチャートである。ルートノードとしてのコマンダＫｎ又はユーザ端末Ｔｉは、カラオケコンテンツについてパブリッシュメッセージを受信したときに、パブリッシュ受信処理を実行する。以下では、コマンダＫｎがルートノードである場合について説明する。ユーザ端末Ｔｉがルートノードである場合も、処理内容は同じである。
【００７５】
制御部１１は、パブリッシュメッセージから、コンテンツＩＤ、リビジョン情報及び生成日を取得する。次いで、制御部１１は、取得したコンテンツＩＤを含むホルダ情報を記憶部１２から検索する。次いで、制御部１１は、検索したホルダ情報に対応付けて記憶部１２に記憶されている付加情報から、リビジョン情報及び生成日を取得する。次いで、制御部１１は、パブリッシュメッセージに含まれるオリジナルフラグがＴＲＵＥであるか否かを判定する（ステップＳ２１）。このとき、制御部１１は、オリジナルフラグがＴＲＵＥであると判定した場合には（ステップＳ２１：ＹＥＳ）、ステップＳ２２に進む。一方、制御部１１は、オリジナルフラグがＦＡＬＳＥであると判定した場合には（ステップＳ２１：ＮＯ）、ステップＳ３２に進む。
【００７６】
ステップＳ２２において、次いで、制御部１１は、パブリッシュメッセージから取得したリビジョン情報が示すリビジョンの方が、記憶部１２から取得したリビジョン情報が示すリビジョンよりも新しいか否かを判定する。このとき、制御部１１は、パブリッシュメッセージから取得したリビジョン情報が示すリビジョンの方が新しいと判定した場合には（ステップＳ２２：ＹＥＳ）、ステップＳ２６に進む。一方、制御部１１は、パブリッシュメッセージから取得したリビジョン情報が示すリビジョンの方が新しくはないと判定した場合には（ステップＳ２２：ＮＯ）、ステップＳ２３に進む。なお、付加情報に複数の部品データのリビジョン情報が含まれている場合がある。この場合、制御部１１は、例えば、部品データごとに、リビジョン情報を比較する。この場合、次の２つの条件の両方を満たした場合にのみ、制御部１１は、ステップＳ２６に進んでもよい。第１の条件は、全ての部品データについて、パブリッシュメッセージから取得したリビジョン情報が示すリビジョンが、記憶部１２から取得したリビジョン情報が示すリビジョンよりも古くはないことである。第２の条件は、少なくとも１つの部品データについて、パブリッシュメッセージから取得したリビジョン情報が示すリビジョンの方が新しいことである。
【００７７】
ステップＳ２３において、制御部１１は、パブリッシュメッセージから取得したリビジョン情報と、記憶部１２から取得したリビジョン情報とが同一であるか否かを判定する。このとき、制御部１１は、同一であると判定した場合には（ステップＳ２３：ＹＥＳ）、ステップＳ２４に進む。一方、制御部１１は、同一ではないと判定した場合には（ステップＳ２３：ＮＯ）、ステップＳ２５に進む。付加情報に複数の部品データのリビジョン情報が含まれている場合、例えば、全ての部品データについてリビジョン情報が同一である場合にのみ、制御部１１は、ステップＳ２４に進んでもよい。
【００７８】
ステップＳ２４において、制御部１１は、パブリッシュメッセージから取得した生成日の方が、記憶部１２から取得した生成日よりも新しいか否かを判定する。このとき、制御部１１は、パブリッシュメッセージから取得した生成日の方が新しいと判定した場合には（ステップＳ２４：ＹＥＳ）、ステップＳ２６に進む。一方、制御部１１は、パブリッシュメッセージから取得した生成日の方が新しくはないと判定した場合には（ステップＳ２４：ＮＯ）、ステップＳ２５に進む。ステップＳ２５において、制御部１１は、パブリッシュメッセージを送信してきたノードへ、パブリッシュ拒否応答を送信する。このとき、制御部１１は、記憶部１２から検索したホルダ情報のうち少なくとも１つと、検索したホルダ情報に対応する付加情報とを、パブリッシュ拒否応答に含める。制御部１１は、ステップＳ２５を終えると、パブリッシュ受信処理を終了させる。
【００７９】
ステップＳ２６において、制御部１１は、コンテンツプールＣＰへ、コンテンツ取得指示を送信する。このとき、制御部１１は、パブリッシュメッセージからホルダ情報を取得する。そして、制御部１１は、パブリッシュメッセージから取得したホルダ情報及び付加情報を、コンテンツ取得指示に含める。次いで、制御部１１は、記憶部１２から検索したホルダ情報が示す各ノードへ、コンテンツ取得指示を送信する（ステップＳ２７）。次いで、制御部１１は、記憶部１２から検索したホルダ情報及びホルダ情報に対応する付加情報を、記憶部１２から削除する（ステップＳ２８）。次いで、制御部１１は、パブリッシュメッセージから取得した付加情報を記憶部１２に記憶させる（ステップＳ２９）。次いで、制御部１１は、パブリッシュメッセージから取得したホルダ情報を、ステップＳ２９で記憶させた付加情報に対応付けて、記憶部１２に記憶させる（ステップＳ３０）。次いで、制御部１１は、パブリッシュメッセージを送信してきたノードへ、パブリッシュ受付応答を送信する（ステップＳ３１）。制御部１１は、ステップＳ３１を終えると、パブリッシュ受信処理を終了させる。
【００８０】
ステップＳ３２において、制御部１１は、パブリッシュメッセージから取得したリビジョン情報と、記憶部１２から取得したリビジョン情報とが同一であるか否かを判定する。このとき、制御部１１は、同一であると判定した場合には（ステップＳ３２：ＹＥＳ）、ステップＳ３３に進む。一方、制御部１１は、同一ではないと判定した場合には（ステップＳ３２：ＮＯ）、ステップＳ２５に進む。ステップＳ３３において、制御部１１は、パブリッシュメッセージから取得した生成日と、記憶部１２から取得した生成日とが同一であるか否かを判定する。このとき、制御部１１は、同一であると判定した場合には（ステップＳ３３：ＹＥＳ）、ステップＳ３０に進む。一方、制御部１１は、同一ではないと判定した場合には（ステップＳ３３：ＮＯ）、ステップＳ２５に進む。
【００８１】
以上説明したように、本実施形態によれば、コマンダＫｎが、複数の部品データを定期的に合成してカラオケコンテンツを生成し、コンテンツＩＤ、ノード情報及び付加情報を含むパブリッシュメッセージをルートノードへ送信する。ルートノードは、コマンダＫｎから受信したパブリッシュメッセージに含まれる付加情報に基づいて、カラオケコンテンツを取得するリクエストノードへ、最新のカラオケコンテンツのホルダ情報を通知する。従って、部品データが変更されることに基づくオーバーレイネットワークＯＮに公開されるカラオケコンテンツの更新を自動的に行うことができる。
【００８２】
なお、上記実施形態においては、コマンダＫｎがカラオケコンテンツを生成していた。しかしながら、カラオケコンテンツとは異なるコンテンツを生成するシステムに、本発明が適用されてもよい。また、生成されるコンテンツの素材となるデータは、演奏データ、背景画データ、字幕データに限られるものではない。また、上記実施形態においては、コンテンツ生成可能ノードとコンテンツ取得ノードとが存在していた。しかしながら、コンテンツ生成可能ノードのみが存在するシステムに、本発明が適用されてもよい。
【００８３】
また、上記実施形態において、ルートノードは、オーバーレイネットワークＯＮに公開されるカラオケコンテンツを更新するとき、コンテンツ取得指示を送信していた。しかしながら、ルートノードは、コンテンツ取得指示を送信しなくてもよい。また、ルートノードは、パブリッシュ拒否応答に、最新のコンテンツを保存するコンテンツホルダのホルダ情報を含めなくてもよい。ルートノードは、付加情報に基づいて、リクエストノードからの検索メッセージに対して、最新のカラオケコンテンツを保存するコンテンツホルダのホルダ情報を送信することができればよい。そうすることにより、オーバーレイネットワークＯＮに公開されるカラオケコンテンツを最新に保つことができる。
【００８４】
また、上記実施形態においては、オーバーレイネットワークに、ＤＨＴを利用したピアツーピアネットワークが適用されていたが、これに限られるものではない。例えば、他のピアツーピアシステム、または、オーバーレイネットワークを用いたシステムが適用されてもよい。ＤＨＴを利用しないオーバーレイネットワークとしては、例えば、ハイブリッド型のピアツーピアネットワークシステムがある。ハイブリッド型のピアツーピアネットワークシステムの場合、例えば、センターサーバＳＳが、全てのコンテンツのホルダ情報を記憶する。各ノードは、センターサーバＳＳへパブリッシュメッセージを送信する。センターサーバＳＳは、パブリッシュメッセージを受信したとき、図６に示すパブリッシュ受信処理を実行してもよい。
【符号の説明】
【００８５】
１１，３１  制御部
１２，３２  記憶部
１３，３３  通信部
１９  シーケンサ
ＳＳ  センターサーバ
ＣＰ  コンテンツプール
Ｋｎ  コマンダ
Ｔｉ  ユーザ端末
ＮＷ  ネットワーク
ＯＮ  オーバーレイネットワーク
Ｓ  通信システム
【図１】
2014167739.tif 000003
【図２】
2014167739.tif 000004
【図３】
2014167739.tif 000005
【図４】
2014167739.tif 000006
【図５】
2014167739.tif 000007
【図６】
2014167739.tif 000008