(57)【要約】  ＨＴＴＰのもとでロングポーリングを採用する場合に、複数のコンテンツ再生装置でのコンテンツ制御を同期させるようにコンテンツ同期制御装置が各コンテンツ再生装置を制御することができるようにする。応答制御手段８４は、コンテンツ再生装置９０から問い合わせを受信すると、問い合わせの受信時から一定期間、その問い合わせに対する問い合わせ応答の送信を待機し、一つの問い合わせ応答の送信の待機を解除する場合に、全ての問い合わせ応答の送信に関して待機を解除する。また、応答制御手段８４は、要求情報の受信後に、各コンテンツ再生装置に対する各問い合わせ応答の送信を待機しているという条件が成立すると、各問い合わせ応答の送信に関して待機を解除する。
2013046573.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを再生する複数のコンテンツ再生装置と、
前記複数のコンテンツ再生装置におけるコンテンツ制御を同期させるコンテンツ同期制御装置とを備え、
前記コンテンツ同期制御装置は、
コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置で同期して実行されることを要求する要求情報を各コンテンツ再生装置から受信する要求情報受信手段と、
各コンテンツ再生装置から、当該コンテンツ再生装置に送信する再生制御コマンドの有無の問い合わせを受信する問い合わせ受信手段と、
問い合わせの送信元のコンテンツ再生装置に対して、前記問い合わせに対する応答である問い合わせ応答を送信する問い合わせ応答送信手段と、
問い合わせの受信時から一定期間、前記問い合わせ応答送信手段に当該問い合わせに対する問い合わせ応答の送信を待機させ、一の問い合わせの受信時から前記一定期間が経過したことにより当該一の問い合わせに対する問い合わせ応答の送信の待機を解除する場合に、全ての問い合わせ応答の送信に関して待機を解除する応答制御手段と、
要求情報受信手段が受信した要求情報が示す再生制御コマンドに応じたコンテンツ制御を各コンテンツ再生装置が開始する開始時刻を決定する開始時刻決定手段とを備え、
前記応答制御手段は、要求情報受信手段が要求情報を受信した場合に、各コンテンツ再生装置に対する各問い合わせ応答の送信を待機させているという条件が成立すると、前記各問い合わせ応答の送信に関して待機を解除し、
問い合わせ応答送信手段は、前記条件が成立したことによって、各コンテンツ再生装置に対する各問い合わせ応答の送信の待機が解除されると、前記要求情報が示す再生制御コマンドおよび当該再生制御コマンドに関して決定された開始時刻の情報を含む再生制御情報を含めた問い合わせ応答を送信し、
各コンテンツ再生装置は、
前記コンテンツ同期制御装置に前記要求情報を送信する要求情報送信手段と、
前記コンテンツ同期制御装置に前記問い合わせを送信する問い合わせ送信手段と、
前記問い合わせに応じて前記問い合わせ応答送信手段が送信した問い合わせ応答を受信する問い合わせ応答受信手段と、
前記問い合わせ応答が再生制御情報を含んでいる場合に、当該再生制御情報が示す開始時刻に、当該再生制御情報が示す再生制御コマンドによるコンテンツ制御を開始する再生制御手段とを備え、
前記問い合わせ送信手段は、前記問い合わせ応答受信手段が問い合わせ応答を受信すると再度、問い合わせを送信する
ことを特徴とするコンテンツ同期システム。
【請求項２】
コンテンツ同期制御装置は、
問い合わせ受信手段が問い合わせを受信したときに、当該問い合わせの送信元のコンテンツ再生装置と当該コンテンツ同期制御装置との間の往復の通信時間である通信遅延を算出する通信遅延算出手段を備え、
開始時刻決定手段は、コンテンツ再生装置毎の通信遅延に基づいて、各コンテンツ再生装置がコンテンツ制御を開始する開始時刻を決定する
請求項１に記載のコンテンツ同期システム。
【請求項３】
開始時刻決定手段は、コンテンツ再生装置毎に、コンテンツ同期制御装置とコンテンツ再生装置間の片道の通信時間を通信遅延に基づいて計算し、前記片道の通信時間に所定の時間を加算した時間を計算し、その計算結果の最大値を現在時刻に加算することによって、各コンテンツ再生装置がコンテンツ制御を開始する開始時刻を決定する
請求項２に記載のコンテンツ同期システム。
【請求項４】
各コンテンツ再生装置の問い合わせ送信手段は、問い合わせ応答の受信時から問い合わせの送信時までの経過時間を問い合わせに含めて送信し、
コンテンツ同期制御装置の通信遅延算出手段は、問い合わせ応答の送信間隔から前記経過時間を減算することにより、問い合わせの送信元のコンテンツ再生装置に関する通信遅延を算出する
請求項２または請求項３に記載のコンテンツ同期システム。
【請求項５】
複数のコンテンツ再生装置におけるコンテンツ制御を同期させるコンテンツ同期制御装置であって、
コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置で同期して実行されることを要求する要求情報を各コンテンツ再生装置から受信する要求情報受信手段と、
各コンテンツ再生装置から、当該コンテンツ再生装置に送信する再生制御コマンドの有無の問い合わせを受信する問い合わせ受信手段と、
問い合わせの送信元のコンテンツ再生装置に対して、前記問い合わせに対する応答である問い合わせ応答を送信する問い合わせ応答送信手段と、
問い合わせの受信時から一定期間、前記問い合わせ応答送信手段に当該問い合わせに対する問い合わせ応答の送信を待機させ、一の問い合わせの受信時から前記一定期間が経過したことにより当該一の問い合わせに対する問い合わせ応答の送信の待機を解除する場合に、全ての問い合わせ応答の送信に関して待機を解除する応答制御手段と、
要求情報受信手段が受信した要求情報が示す再生制御コマンドに応じたコンテンツ制御を各コンテンツ再生装置が開始する開始時刻を決定する開始時刻決定手段とを備え、
前記応答制御手段は、要求情報受信手段が要求情報を受信した場合に、各コンテンツ再生装置に対する各問い合わせ応答の送信を待機させているという条件が成立すると、前記各問い合わせ応答の送信に関して待機を解除し、
問い合わせ応答送信手段は、前記条件が成立したことによって、各コンテンツ再生装置に対する各問い合わせ応答の送信の待機が解除されると、前記要求情報が示す再生制御コマンドおよび当該再生制御コマンドに関して決定された開始時刻の情報を含む再生制御情報を含めた問い合わせ応答を送信する
ことを特徴とするコンテンツ同期制御装置。
【請求項６】
問い合わせ受信手段が問い合わせを受信したときに、当該問い合わせの送信元のコンテンツ再生装置と当該コンテンツ同期制御装置との間の往復の通信時間である通信遅延を算出する通信遅延算出手段を備え、
開始時刻決定手段は、コンテンツ再生装置毎の通信遅延に基づいて、各コンテンツ再生装置がコンテンツ制御を開始する開始時刻を決定する
請求項５に記載のコンテンツ同期制御装置。
【請求項７】
コンテンツを再生するコンテンツ再生装置であって、
コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置で同期して実行されることを要求する要求情報を、複数のコンテンツ再生装置におけるコンテンツ制御を同期させるコンテンツ同期制御装置に送信する要求情報送信手段と、
当該コンテンツ再生装置に送信する再生制御コマンドの有無の問い合わせを前記コンテンツ同期制御装置に送信する問い合わせ送信手段と、
前記問い合わせに応じて前記コンテンツ同期制御装置が送信した問い合わせ応答を受信する問い合わせ応答受信手段と、
前記問い合わせ応答が再生制御コマンドと、当該再生制御コマンドに応じたコンテンツ制御の開始時刻の情報とを含んでいる場合に、前記開始時刻に、再生制御コマンドによるコンテンツ制御を開始する再生制御手段とを備え、
前記問い合わせ送信手段は、前記問い合わせ応答受信手段が問い合わせ応答を受信すると再度、問い合わせを送信する
ことを特徴とするコンテンツ再生装置。
【請求項８】
問い合わせ送信手段は、問い合わせ応答の受信時から問い合わせの送信時までの経過時間の情報を問い合わせに含めてコンテンツ同期制御装置に送信する
請求項７に記載のコンテンツ再生装置。
【請求項９】
コンテンツを再生する複数のコンテンツ再生装置がそれぞれ、当該コンテンツ再生装置に送信する再生制御コマンドの有無の問い合わせをコンテンツ同期制御装置に送信し、
前記コンテンツ同期制御装置が、
問い合わせの受信時から一定期間、当該問い合わせに対する問い合わせ応答の送信を待機し、一の問い合わせの受信時から前記一定期間が経過したことにより当該一の問い合わせに対する問い合わせ応答の送信の待機を解除する場合に、全ての問い合わせ応答の送信に関して待機を解除し、
いずれかのコンテンツ再生装置が、コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置で同期して実行されることを要求する要求情報を送信した場合に、前記コンテンツ同期制御装置が、前記要求情報を受信し、
前記コンテンツ同期制御装置が、
前記要求情報の受信後に、各コンテンツ再生装置に対する各問い合わせ応答の送信を待機しているという条件が成立すると、前記要求情報が示す再生制御コマンドに応じたコンテンツ制御を各コンテンツ再生装置が開始する開始時刻を決定し、前記各問い合わせ応答の送信に関して待機を解除し、前記再生制御コマンドおよび前記再生制御コマンドに関して決定した開始時刻の情報を含む再生制御情報を前記各問い合わせ応答に含めて送信し、
各コンテンツ再生装置が、
前記コンテンツ同期制御装置から問い合わせ応答を受信すると、再度、問い合わせを前記コンテンツ同期制御装置に送信し、
受信した問い合わせ応答に再生制御情報が含まれている場合に、当該再生制御情報が示す開始時刻に、当該再生制御情報が示す再生制御コマンドによるコンテンツ制御を開始する
ことを特徴とするコンテンツ同期方法。
【請求項１０】
コンテンツ同期制御装置が、
問い合わせを受信したときに、当該問い合わせの送信元のコンテンツ再生装置と当該コンテンツ同期制御装置との間の往復の通信時間である通信遅延を算出し、
各コンテンツ再生装置がコンテンツ制御を開始する開始時刻を決定するときに、コンテンツ再生装置毎の通信遅延に基づいて前記開始時刻を決定する
請求項９に記載のコンテンツ同期方法。
【請求項１１】
コンテンツ同期制御装置が、
コンテンツを再生する複数のコンテンツ再生装置から送信される問い合わせであって、問い合わせの送信元のコンテンツ再生装置に送信する再生制御コマンドの有無の問い合わせを受信し、
問い合わせの受信時から一定期間、当該問い合わせに対する問い合わせ応答の送信を待機し、一の問い合わせの受信時から前記一定期間が経過したことにより当該一の問い合わせに対する問い合わせ応答の送信の待機を解除する場合に、全ての問い合わせ応答の送信に関して待機を解除し、
コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置で同期して実行されることを要求する要求情報をいずれかの再生制御装置から受信した場合、各コンテンツ再生装置に対する各問い合わせ応答の送信を待機しているという条件が成立すると、前記要求情報が示す再生制御コマンドに応じたコンテンツ制御を各コンテンツ再生装置が開始する開始時刻を決定し、前記各問い合わせ応答の送信に関して待機を解除し、前記再生制御コマンドおよび前記再生制御コマンドに関して決定した開始時刻の情報を含む再生制御情報を前記各問い合わせ応答に含めて送信する
ことを特徴とするコンテンツ同期制御方法。
【請求項１２】
コンテンツ同期制御装置が、
問い合わせを受信したときに、当該問い合わせの送信元のコンテンツ再生装置と当該コンテンツ同期制御装置との間の往復の通信時間である通信遅延を算出し、
各コンテンツ再生装置がコンテンツ制御を開始する開始時刻を決定するときに、コンテンツ再生装置毎の通信遅延に基づいて前記開始時刻を決定する
請求項１１に記載のコンテンツ同期制御方法。
【請求項１３】
コンテンツを再生するコンテンツ再生装置が、
コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置で同期して実行されることを要求する要求情報を、複数のコンテンツ再生装置におけるコンテンツ制御を同期させるコンテンツ同期制御装置に送信し、
当該コンテンツ再生装置に送信する再生制御コマンドの有無の問い合わせを前記コンテンツ同期制御装置に送信し、
前記問い合わせに応じて前記コンテンツ同期制御装置が送信した問い合わせ応答を受信し、
再度、前記問い合わせを前記コンテンツ同期制御装置に送信し、
前記問い合わせ応答が生成制御コマンドと、当該再生制御コマンドに応じたコンテンツ制御の開始時刻の情報とを含んでいる場合に、前記開始時刻に、再生制御コマンドによるコンテンツ制御を開始する
ことを特徴とするコンテンツ再生方法。
【請求項１４】
コンテンツ再生装置が、
問い合わせ応答の受信時から問い合わせの送信時までの経過時間の情報を問い合わせに含めてコンテンツ同期制御装置に送信する
請求項１３に記載のコンテンツ再生方法。
【請求項１５】
コンピュータに、
各コンテンツ再生装置から、当該コンテンツ再生装置に送信する再生制御コマンドの有無の問い合わせを受信すると、問い合わせの受信時から一定期間、当該問い合わせに対する問い合わせ応答の送信を待機し、一の問い合わせの受信時から前記一定期間が経過したことにより当該一の問い合わせに対する問い合わせ応答の送信の待機を解除する場合に、全ての問い合わせ応答の送信に関して待機を解除する応答制御処理、
コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置で同期して実行されることを要求する要求情報を各コンテンツ再生装置から受信する要求情報受信処理、および、
前記要求情報の受信後に、各コンテンツ再生装置に対する各問い合わせ応答の送信を待機しているという条件が成立すると、前記要求情報が示す再生制御コマンドに応じたコンテンツ制御を各コンテンツ再生装置が開始する開始時刻を決定し、前記各問い合わせ応答の送信に関して待機を解除し、前記再生制御コマンドおよび前記再生制御コマンドに関して決定した開始時刻の情報を含む再生制御情報を前記各問い合わせ応答に含めて送信する再生制御情報送信処理を実行させるための
コンテンツ同期制御プログラム。
【請求項１６】
コンピュータに、
コンテンツの再生制御に関するコマンドである再生制御コマンドが複数のコンピュータで同期して実行されることを要求する要求情報を、複数のコンピュータにおけるコンテンツ制御を同期させるコンテンツ同期制御装置に送信する要求情報送信処理、
当該コンピュータに送信する再生制御コマンドの有無の問い合わせを前記コンテンツ同期制御装置に送信する問い合わせ送信処理、
前記問い合わせに応じて前記コンテンツ同期制御装置が送信した問い合わせ応答を受信する問い合わせ応答受信処理、および、
前記問い合わせ応答が再生制御コマンドと、当該再生制御コマンドに応じたコンテンツ制御の開始時刻の情報とを含んでいる場合に、前記開始時刻に、再生制御コマンドによるコンテンツ制御を開始する再生制御処理を実行させ、
前記問い合わせ応答受信処理後に、再度、問い合わせ送信処理を実行させる
ためのコンテンツ再生プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコンテンツ再生装置でのコンテンツ制御を同期させるコンテンツ同期システム、および、そのコンテンツ同期システムに適用されるコンテンツ同期制御装置、コンテンツ再生装置、コンテンツ同期方法、コンテンツ同期制御方法、コンテンツ再生方法、コンテンツ同期制御プログラム、コンテンツ再生プログラムに関する。
【背景技術】
【０００２】
複数の情報処理装置間で同一のコンテンツを同期させて再生させる技術が種々提案されている（例えば、特許文献１〜３参照）。【０００３】
例えば、特許文献１に記載された技術では、マスタ端末が、符号化された映像の復号化開始時刻を算出する。このとき、マスタ端末は、そのマスタ端末からスレーブ端末に復号化開始指示が届くまでの最大時間を電波時計の時刻に加えた時刻を、復号化開始時刻として計算する。また、マスタ端末は、全スレーブ端末に復号化開始時刻を送信する。そして、全スレーブ端末は、電波時計の示す時刻が復号化開始時刻になったときに、符号化された映像の復号化を開始する。【０００４】
また、例えば、特許文献２に記載された技術では、１台の親局が複数の端末局に対して、コンテンツＩＤ、制御種別情報、制御開始情報、制御開始指示を送信する。そして、端末局は、制御開始情報で指定される時刻にコンテンツＩＤで指定されるコンテンツの制御を開始する。このとき、端末局は、制御種別情報で指定される制御内容に従ってコンテンツを制御する。制御種別情報として、例えば、「コンテンツデータを再生する」、「コンテンツデータを早送りする」等が挙げられている。【０００５】
また、例えば、特許文献３には、コンテンツを再生するユーザコンピュータが他のユーザコンピュータに対して、ビデオデータの「停止」、「休止」、「巻き戻し」、および「早送り」の少なくとも１つの機能を有効にすることによって、ビデオデータの流れを変えるように命令することが記載されている。このとき、ユーザコンピュータが他のユーザコンピュータに対して、ピア・ツー・ピアで命令を送信する態様や、サーバ等のコンテンツ提供デバイスを介して命令を送信する態様が記載されている。【０００６】
また、特許文献３には、コンピュータネットワークにおけるデータ送信の規格として、ＨＴＴＰ（hypertext transfer protocol ）が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−３５５０３号公報（段落００１２，００１３，００３２）
【特許文献２】特開２００９−２６８１４１号公報（段落００５１，００３４，００３８〜００５０）
【特許文献３】特表２０１１−５０１２６０号公報（段落００３０，００３９，００４０，図１，段落００３２）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１に記載の技術では、マスタ端末からスレーブ端末に復号化開始指示が届くまでの最大時間を電波時計の時刻に加えることによって、全スレーブ端末における復号開始時刻を算出する。この結果、全スレーブ端末で映像の再生を同時に開始することができる。【０００９】
しかし、ＨＴＴＰサーバとＨＴＴＰクライアントとを含むサーバ・クライアントシステムに特許文献１に記載の技術を適用した場合、各クライアントが同時にコンテンツ再生に関する種々のコマンド（例えば、再生、停止等）を実行する時刻（再生制御時刻）をサーバが適切に決定することができないという問題があった。以下、この点について具体的に説明する。【００１０】
ＨＴＴＰのサーバ・クライアントシステムで、いずれかのクライアントにおける操作に従って各クライアントでのコンテンツ再生を同期させるためには、個々のクライアントがそれぞれサーバに対してポーリングを行う必要がある。ポーリングとは、サーバからクライアントに送信すべき情報の有無をクライアントがサーバに問い合わせ、サーバがその問い合わせに応じて、送信すべき情報をクライアントに送信する通信方式である。すなわち、いずれかのクライアントにおける操作に従って各クライアントでのコンテンツ再生を同期させるためには、サーバが再生制御時刻を決定したとしても、サーバは、クライアントからのＨＴＴＰリクエストに応答する態様でしか再生制御情報を送信できない。従って、サーバからクライアントに再生制御情報が届くまでの最大時間に基づいて再生制御時刻を決定しても、クライアントがサーバにＨＴＴＰリクエストを行うタイミングの方が再生制御時刻よりも遅くなることがあり、クライアントが問い合わせを行った時点で、再生制御時刻が経過している場合が生じ得る。【００１１】
また、ポーリングの方式として、サーバが、ＨＴＴＰリクエストを受信後、一旦待機してからそのＨＴＴＰリクエストに対する応答をクライアントに返す方式がある。この方式はロングポーリングと呼ばれる。【００１２】
サーバがクライアントからの問い合わせ（ＨＴＴＰリクエスト）に対する応答をクライアントに送信してから、再度、そのクライアントからの問い合わせを受信するまでの間、サーバは、そのクライアントに対して情報を送信できない。ロングポーリングを採用する場合、サーバは、問い合わせを受信後の待機期間中であれば、問い合わせに対する応答を送信することによって、問い合わせの送信元に対して情報を送信することができる。しかし、ロングポーリングを採用する場合であっても、サーバが応答をクライアントに送信してから、問い合わせを再度受信するまでの間は、サーバは、問い合わせの送信元に対して情報を送信できない。【００１３】
図１８は、ロングポーリングを採用した場合にサーバが問い合わせの送信元のクライアントに対して情報を送信できない期間を示す模式図である。図１８において、横軸は時間経過を表す。そして、図１８において、各クライアントからサーバへの矢印は問い合わせの送受信を表す。また、図１８において、サーバから各クライアントへの矢印は、サーバからの応答の送受信を表す。なお、クライアントＡとサーバ間の送受信を実線の矢印で表し、クライアントＢとサーバ間の送受信を破線の矢印で表している。図１８に示す期間Ｔ１は、サーバがクライアントＡに対して情報を送信できない期間である。また、期間Ｔ２は、サーバクライアントＢに対して情報を送信できない期間である。図１８からわかるように、クライアントの台数が増えると、サーバがいずれかのクライアントに情報を送信できない期間が増加することになる。換言すれば、サーバが全てのクライアントに対して一斉に情報を送信できる期間が減少し、全てのクライアントに対して一斉に情報を送信できる確率が低下する。【００１４】
ＨＴＴＰのもとでロングポーリングを採用する場合であっても、複数のコンテンツ再生装置（クライアント）でのコンテンツ制御を同期できるようにすることが好ましい。しかし、前述のように、各クライアントが同期してコンテンツ制御を開始する時刻を決定することが困難であるという問題や、クライアントの台数が増えると、各クライアントに対して情報を一斉に送信できる確率が低下するという問題があった。【００１５】
また、ユーザコンピュータが他のユーザコンピュータに対してビデオデータに関する命令を送信する技術（特許文献３）にＨＴＴＰを適用する場合、サーバ等のコンテンツ提供デバイスを介して命令を送信する態様では、命令を送信する側のユーザコンピュータは、命令を受信する側のコンピュータがサーバにＨＴＴＰリクエストを行う時刻を認識できない。そのため、命令を送信する側のユーザコンピュータは再生制御時刻を算出することができない。【００１６】
そこで、本発明は、ＨＴＴＰのもとでロングポーリングを採用する場合に、複数のコンテンツ再生装置でのコンテンツ制御を同期させるようにコンテンツ同期制御装置が各コンテンツ再生装置を制御することができるコンテンツ同期システム、および、そのコンテンツ同期システムに適用されるコンテンツ同期制御装置、コンテンツ再生装置、コンテンツ同期方法、コンテンツ同期制御方法、コンテンツ再生方法、コンテンツ同期制御プログラム、コンテンツ再生プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明によるコンテンツ同期システムは、コンテンツを再生する複数のコンテンツ再生装置と、複数のコンテンツ再生装置におけるコンテンツ制御を同期させるコンテンツ同期制御装置とを備え、コンテンツ同期制御装置は、コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置で同期して実行されることを要求する要求情報を各コンテンツ再生装置から受信する要求情報受信手段と、各コンテンツ再生装置から、当該コンテンツ再生装置に送信する再生制御コマンドの有無の問い合わせを受信する問い合わせ受信手段と、問い合わせの送信元のコンテンツ再生装置に対して、問い合わせに対する応答である問い合わせ応答を送信する問い合わせ応答送信手段と、問い合わせの受信時から一定期間、問い合わせ応答送信手段に当該問い合わせに対する問い合わせ応答の送信を待機させ、一の問い合わせの受信時から一定期間が経過したことにより当該一の問い合わせに対する問い合わせ応答の送信の待機を解除する場合に、全ての問い合わせ応答の送信に関して待機を解除する応答制御手段と、要求情報受信手段が受信した要求情報が示す再生制御コマンドに応じたコンテンツ制御を各コンテンツ再生装置が開始する開始時刻を決定する開始時刻決定手段とを備え、応答制御手段が、要求情報受信手段が要求情報を受信した場合に、各コンテンツ再生装置に対する各問い合わせ応答の送信を待機させているという条件が成立すると、各問い合わせ応答の送信に関して待機を解除し、問い合わせ応答送信手段が、その条件が成立したことによって、各コンテンツ再生装置に対する各問い合わせ応答の送信の待機が解除されると、要求情報が示す再生制御コマンドおよび当該再生制御コマンドに関して決定された開始時刻の情報を含む再生制御情報を含めた問い合わせ応答を送信し、各コンテンツ再生装置は、コンテンツ同期制御装置に要求情報を送信する要求情報送信手段と、コンテンツ同期制御装置に問い合わせを送信する問い合わせ送信手段と、問い合わせに応じて問い合わせ応答送信手段が送信した問い合わせ応答を受信する問い合わせ応答受信手段と、問い合わせ応答が再生制御情報を含んでいる場合に、当該再生制御情報が示す開始時刻に、当該再生制御情報が示す再生制御コマンドによるコンテンツ制御を開始する再生制御手段とを備え、問い合わせ送信手段が、問い合わせ応答受信手段が問い合わせ応答を受信すると再度、問い合わせを送信することを特徴とする。【００１８】
また、本発明によるコンテンツ同期制御装置は、複数のコンテンツ再生装置におけるコンテンツ制御を同期させるコンテンツ同期制御装置であって、コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置で同期して実行されることを要求する要求情報を各コンテンツ再生装置から受信する要求情報受信手段と、各コンテンツ再生装置から、当該コンテンツ再生装置に送信する再生制御コマンドの有無の問い合わせを受信する問い合わせ受信手段と、問い合わせの送信元のコンテンツ再生装置に対して、問い合わせに対する応答である問い合わせ応答を送信する問い合わせ応答送信手段と、問い合わせの受信時から一定期間、問い合わせ応答送信手段に当該問い合わせに対する問い合わせ応答の送信を待機させ、一の問い合わせの受信時から一定期間が経過したことにより当該一の問い合わせに対する問い合わせ応答の送信の待機を解除する場合に、全ての問い合わせ応答の送信に関して待機を解除する応答制御手段と、要求情報受信手段が受信した要求情報が示す再生制御コマンドに応じたコンテンツ制御を各コンテンツ再生装置が開始する開始時刻を決定する開始時刻決定手段とを備え、応答制御手段は、要求情報受信手段が要求情報を受信した場合に、各コンテンツ再生装置に対する各問い合わせ応答の送信を待機させているという条件が成立すると、各問い合わせ応答の送信に関して待機を解除し、問い合わせ応答送信手段は、その条件が成立したことによって、各コンテンツ再生装置に対する各問い合わせ応答の送信の待機が解除されると、要求情報が示す再生制御コマンドおよび当該再生制御コマンドに関して決定された開始時刻の情報を含む再生制御情報を含めた問い合わせ応答を送信することを特徴とする。【００１９】
また、本発明によるコンテンツ再生装置は、コンテンツを再生するコンテンツ再生装置であって、コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置で同期して実行されることを要求する要求情報を、複数のコンテンツ再生装置におけるコンテンツ制御を同期させるコンテンツ同期制御装置に送信する要求情報送信手段と、当該コンテンツ再生装置に送信する再生制御コマンドの有無の問い合わせをコンテンツ同期制御装置に送信する問い合わせ送信手段と、問い合わせに応じてコンテンツ同期制御装置が送信した問い合わせ応答を受信する問い合わせ応答受信手段と、問い合わせ応答が再生制御コマンドと、当該再生制御コマンドに応じたコンテンツ制御の開始時刻の情報とを含んでいる場合に、開始時刻に、再生制御コマンドによるコンテンツ制御を開始する再生制御手段とを備え、問い合わせ送信手段が、問い合わせ応答受信手段が問い合わせ応答を受信すると再度、問い合わせを送信することを特徴とする。【００２０】
また、本発明によるコンテンツ同期方法は、コンテンツを再生する複数のコンテンツ再生装置がそれぞれ、当該コンテンツ再生装置に送信する再生制御コマンドの有無の問い合わせをコンテンツ同期制御装置に送信し、コンテンツ同期制御装置が、問い合わせの受信時から一定期間、当該問い合わせに対する問い合わせ応答の送信を待機し、一の問い合わせの受信時から一定期間が経過したことにより当該一の問い合わせに対する問い合わせ応答の送信の待機を解除する場合に、全ての問い合わせ応答の送信に関して待機を解除し、いずれかのコンテンツ再生装置が、コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置で同期して実行されることを要求する要求情報を送信した場合に、コンテンツ同期制御装置が、要求情報を受信し、コンテンツ同期制御装置が、要求情報の受信後に、各コンテンツ再生装置に対する各問い合わせ応答の送信を待機しているという条件が成立すると、要求情報が示す再生制御コマンドに応じたコンテンツ制御を各コンテンツ再生装置が開始する開始時刻を決定し、各問い合わせ応答の送信に関して待機を解除し、再生制御コマンドおよび再生制御コマンドに関して決定した開始時刻の情報を含む再生制御情報を各問い合わせ応答に含めて送信し、各コンテンツ再生装置が、コンテンツ同期制御装置から問い合わせ応答を受信すると、再度、問い合わせをコンテンツ同期制御装置に送信し、受信した問い合わせ応答に再生制御情報が含まれている場合に、当該再生制御情報が示す開始時刻に、当該再生制御情報が示す再生制御コマンドによるコンテンツ制御を開始することを特徴とする。【００２１】
また、本発明によるコンテンツ同期制御方法は、コンテンツ同期制御装置が、コンテンツを再生する複数のコンテンツ再生装置から送信される問い合わせであって、問い合わせの送信元のコンテンツ再生装置に送信する再生制御コマンドの有無の問い合わせを受信し、問い合わせの受信時から一定期間、当該問い合わせに対する問い合わせ応答の送信を待機し、一の問い合わせの受信時から一定期間が経過したことにより当該一の問い合わせに対する問い合わせ応答の送信の待機を解除する場合に、全ての問い合わせ応答の送信に関して待機を解除し、コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置で同期して実行されることを要求する要求情報をいずれかの再生制御装置から受信した場合、各コンテンツ再生装置に対する各問い合わせ応答の送信を待機しているという条件が成立すると、要求情報が示す再生制御コマンドに応じたコンテンツ制御を各コンテンツ再生装置が開始する開始時刻を決定し、各問い合わせ応答の送信に関して待機を解除し、再生制御コマンドおよび再生制御コマンドに関して決定した開始時刻の情報を含む再生制御情報を各問い合わせ応答に含めて送信することを特徴とする。【００２２】
また、本発明によるコンテンツ再生方法は、コンテンツを再生するコンテンツ再生装置が、コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置で同期して実行されることを要求する要求情報を、複数のコンテンツ再生装置におけるコンテンツ制御を同期させるコンテンツ同期制御装置に送信し、当該コンテンツ再生装置に送信する再生制御コマンドの有無の問い合わせをコンテンツ同期制御装置に送信し、問い合わせに応じてコンテンツ同期制御装置が送信した問い合わせ応答を受信し、再度、問い合わせをコンテンツ同期制御装置に送信し、問い合わせ応答が生成制御コマンドと、当該再生制御コマンドに応じたコンテンツ制御の開始時刻の情報とを含んでいる場合に、開始時刻に、再生制御コマンドによるコンテンツ制御を開始することを特徴とする。【００２３】
また、本発明によるコンテンツ同期制御プログラムは、コンピュータに、各コンテンツ再生装置から、当該コンテンツ再生装置に送信する再生制御コマンドの有無の問い合わせを受信すると、問い合わせの受信時から一定期間、当該問い合わせに対する問い合わせ応答の送信を待機し、一の問い合わせの受信時から一定期間が経過したことにより当該一の問い合わせに対する問い合わせ応答の送信の待機を解除する場合に、全ての問い合わせ応答の送信に関して待機を解除する応答制御処理、コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置で同期して実行されることを要求する要求情報を各コンテンツ再生装置から受信する要求情報受信処理、および、要求情報の受信後に、各コンテンツ再生装置に対する各問い合わせ応答の送信を待機しているという条件が成立すると、要求情報が示す再生制御コマンドに応じたコンテンツ制御を各コンテンツ再生装置が開始する開始時刻を決定し、各問い合わせ応答の送信に関して待機を解除し、再生制御コマンドおよび再生制御コマンドに関して決定した開始時刻の情報を含む再生制御情報を各問い合わせ応答に含めて送信する再生制御情報送信処理を実行させることを特徴とする。【００２４】
また、本発明によるコンテンツ再生プログラムは、コンピュータに、コンテンツの再生制御に関するコマンドである再生制御コマンドが複数のコンピュータで同期して実行されることを要求する要求情報を、複数のコンピュータにおけるコンテンツ制御を同期させるコンテンツ同期制御装置に送信する要求情報送信処理、当該コンピュータに送信する再生制御コマンドの有無の問い合わせをコンテンツ同期制御装置に送信する問い合わせ送信処理、問い合わせに応じてコンテンツ同期制御装置が送信した問い合わせ応答を受信する問い合わせ応答受信処理、および、問い合わせ応答が再生制御コマンドと、当該再生制御コマンドに応じたコンテンツ制御の開始時刻の情報とを含んでいる場合に、開始時刻に、再生制御コマンドによるコンテンツ制御を開始する再生制御処理を実行させ、問い合わせ応答受信処理後に、再度、問い合わせ送信処理を実行させることを特徴とする。
【発明の効果】
【００２５】
本発明によれば、ＨＴＴＰのもとでロングポーリングを採用する場合に、複数のコンテンツ再生装置でのコンテンツ制御を同期させるようにコンテンツ同期制御装置が各コンテンツ再生装置を制御することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明のコンテンツ同期システムの例を示すブロック図である。
【図２】コンテンツ同期制御装置の構成例を示すブロック図である。
【図３】通信遅延情報の例を示す説明図である。
【図４】再生制御コマンドの例を示す説明図である。
【図５】再生制御情報の例を示す説明図である。
【図６】制御情報管理手段１０７が記憶する情報の例を示す説明図である。
【図７】コンテンツ再生装置の構成例を示すブロック図である。
【図８】サーバ１０が再生制御情報を含まない問い合わせ応答を送信する場合の動作の例を示すシーケンス図である。
【図９】サーバ１０が再生制御情報を含まない問い合わせ応答を送信する場合の動作の例を示すシーケンス図である。
【図１０】本発明における問い合わせおよび問い合わせ応答の送受信タイミングの例を示す模式図である。
【図１１】図１０に示す期間Ｔ１内にサーバ１０が再生制御要求を受信する場合の動作を示すシーケンス図である。
【図１２】制御時刻決定手段１０６が記憶する再生制御情報の例を示す説明図である。
【図１３】図１０に示す期間Ｔ２内にサーバ１０が再生制御要求を受信する場合の動作を示すシーケンス図である。
【図１４】図１０に示す期間Ｔ２内にサーバ１０が再生制御要求を受信する場合の動作を示すシーケンス図である。
【図１５】本発明のコンテンツ同期システムの最小構成を示すブロック図である。
【図１６】本発明のコンテンツ同期制御装置の最小構成を示すブロック図である。
【図１７】本発明のコンテンツ再生装置の最小構成を示すブロック図である。
【図１８】ロングポーリングを採用した場合にサーバが問い合わせの送信元のクライアントに対して情報を送信できない期間を示す模式図である。
【発明を実施するための形態】
【００２７】
図１は、本発明のコンテンツ同期システムの例を示すブロック図である。本発明のコンテンツ同期システムは、コンテンツ同期制御装置１０と、複数のコンテンツ再生装置２０ａ，２０ｂとを備える。なお、図１では、２台のコンテンツ再生装置２０ａ，２０ｂを図示しているが、コンテンツ再生装置は３台以上設けられていてもよい。コンテンツ同期制御装置１０と複数のコンテンツ再生装置２０ａ，２０ｂとは、ネットワーク３０を介して接続されている。コンテンツ同期制御装置１０と、複数のコンテンツ再生装置２０ａ，２０ｂとは、ＨＴＴＰに従って通信を行う。また、本発明のコンテンツ同期システムは、コンテンツ同期制御装置１０と各コンテンツ再生装置２０ａ，２０ｂとの間の通信にロングポーリングを採用する。コンテンツ同期制御装置１０は、サーバ・クライアントシステムにおけるサーバであり、以下、サーバ１０と記す。また、各コンテンツ再生装置２０ａ，２０ｂは、サーバ・クライアントシステムにおけるクライアントであり、以下、クライアント端末２０ａ，２０ｂと記す。
【００２８】
クライアント端末２０ａ，２０ｂは、例えば、互いに離れた地点に存在する端末であるが、クライアント端末同士の物理的な距離は特に限定されない。
【００２９】
クライアント端末２０ａ，２０ｂは、例えば、汎用のブラウザ上でコンテンツの再生を行う。
【００３０】
クライアント端末２０ａ，２０ｂは、例えば、サーバ１０から同一のコンテンツをダウンロードし、それぞれ再生する。なお、コンテンツは、動画であっても音声であってもよい。サーバ１０は、各クライアント端末２０ａ，２０ｂがコンテンツ再生に関する種々のコマンド（例えば、再生開始、一時停止等のコマンド）を同時に実行するように各クライアント端末２０ａ，２０ｂを制御する。以下、コンテンツの再生制御に関するコマンドを再生制御コマンドと記す。サーバ１０は、各クライアント端末２０ａ，２０ｂが再生制御コマンドによるコンテンツ制御を開始する時刻（以下、制御開始時刻を記すことがある。）を決定し、その制御開始時刻および再生制御コマンドを含む情報である再生制御情報を各クライアント端末２０ａ，２０ｂに送信する。
【００３１】
ただし、サーバ１０およびクライアント端末２０ａ，２０ｂ間の通信はＨＴＴＰに従う。従って、サーバ１０は、個々のクライアント端末から再生制御コマンドの有無の問い合わせ（ＨＴＴＰリクエスト）を受信し、その応答を問い合わせ元のクライアント端末に送信する。サーバ１０は、個々のクライアント端末からの問い合わせに対する応答に再生制御情報（再生制御コマンドおよび制御開始時刻の情報）を含めることによって、各クライアント端末に再生制御情報を送信する。また、サーバ１０は、クライアント端末に対する応答送信時に、クライアント端末に送信する再生制御コマンドがなければ、問い合わせに対する応答に再生制御情報を含めずに、応答をクライアント端末に送信する。
【００３２】
また、本発明はサーバとクライアント間の通信にロングポーリングを採用するので、サーバ１０は、問い合わせを受信後、一旦待機してから問い合わせに対する応答を送信する。
【００３３】
サーバ１０が再生制御情報を含めずに応答をクライアント端末に送信する態様や、サーバ１０が応答に再生制御情報を含めてクライアント端末に送信する態様の詳細については、シーケンス図を用いて後述する。
【００３４】
クライアント端末２０ａ，２０ｂは、サーバ１０への問い合わせに対してサーバ１０が送り返した応答に再生制御情報が含まれていれば、再生制御情報で指定されている制御開始時刻に再生制御コマンドによるコンテンツ制御を開始する。この結果、各クライアント端末２０ａ，２０ｂでの再生、一時停止等、再生に関する種々の動作が同期される。以下、再生制御コマンドの有無の問い合わせに対するサーバ１０の応答を問い合わせ応答と記す。なお、コンテンツ制御とは、コンテンツの再生状態の制御と称することもできる。
【００３５】
図２は、サーバ（コンテンツ同期制御装置）１０の構成例を示すブロック図である。サーバ１０は、問い合わせ受信手段１０１と、問い合わせ応答送信手段１０３と、応答制御手段１１１と、通信遅延管理手段１０４と、制御要求受信手段１０５と、制御時刻決定手段１０６と、制御情報管理手段１０７と、時刻同期手段１０８と、データ記憶手段１０９と、データ送信手段１１０とを備える。サーバ１０は、ネットワーク３０を介してクライアント端末（図２において図示略）に接続される。
【００３６】
問い合わせ受信手段１０１は、個々のクライアント端末２０ａ，２０ｂから、そのクライアント端末に対して送信する再生制御コマンドの有無の問い合わせを受信する。なお、各クライアント２０ａ，２０ｂは、例えば、ＨＴＴＰのＧＥＴメソッドにより、サーバ１０への問い合わせを送信すればよい。
【００３７】
問い合わせ応答送信手段１０３は、問い合わせ受信手段１０１が受信した問い合わせに対する応答を、問い合わせの送信元のクライアント端末に送信する。問い合わせ応答送信手段１０３は、応答制御手段１１１に従って問い合わせ応答を送信する。また、問い合わせ応答送信手段１０３は、各クライアント端末に対して送信する再生制御コマンドが発生し、その再生制御コマンドを再生制御情報として送信する条件が満たされたときに、応答制御手段１１１に従ってその再生制御情報を含む問い合わせ応答をクライアント端末に送信する。また、そのような再生制御コマンドが発生しなければ、問い合わせ応答送信手段１０３は、応答制御手段１１１に従って、問い合わせ応答に再生制御情報を含めずに問い合わせ応答をクライアント端末に送信する。なお、再生制御情報は、制御時刻決定手段１０６によって生成される。
【００３８】
応答制御手段１１１は、問い合わせ受信時刻から一定期間、問い合わせ応答送信手段１０３にその問い合わせに対する問い合わせ応答の送信を行わせずに待機させる。そして、応答制御手段１１１は、その一定期間が経過したときに、問い合わせ応答送信手段１０３に、問い合わせの送信元に対して問い合わせ応答を送信させる。従って、応答制御手段１１１によってロングポーリングが実現される。ただし、応答制御手段１１１は、一つの問い合わせの受信後に一定期間が経過し、その問い合わせに対する問い合わせ応答の送信の待機を解除する場合、待機状態にしている全ての問い合わせ応答の送信に関して待機を解除する。従って、応答制御手段１１１は、問い合わせを受信した後、一定期間、その問い合わせに対する問い合わせ応答（Ｉとする。）の送信を待機させるが、他の問い合わせに対する問い合わせ応答（Ｊとする。）の送信の待機を解除する場合、問い合わせ応答Ｉに関しては一定期間の経過を待つよりも、問い合わせ応答Ｊとともに待機を解除して送信することを優先する。
【００３９】
また、応答制御手段１１１は、制御要求受信手段１０５が再生制御要求を受信した場合、各クライアント端末２０ａ，２０ｂからの問い合わせを受信し、各クライアント端末２０ａ，２０ｂに対する全ての問い合わせ応答の送信を待機させているという条件が成立すると、全ての問い合わせ応答の送信に関して待機を解除する。すなわち、応答制御手段１１１は、各クライアント端末２０ａ，２０ｂに対する全ての問い合わせ応答を送信する。例えば、応答制御手段１１１は、問い合わせに対する問い合わせ応答をサーバ１０から送り返していないクライアント端末を検索し、コンテンツ制御を同期させる対象となる全てのクライアント端末がその検索結果として得られた場合、その全てのクライアント端末に対して問い合わせ応答を送信する。
【００４０】
再生制御要求とは、指定した再生制御コマンドが各クライアント端末で同期して実行されるように各クライアント端末を制御することを要求するリクエスト情報である。各クライアント端末２０ａ，２０ｂが、例えば、使用者の操作に応じて再生制御コマンドを指定して、再生制御要求をサーバ１０に送信することができる。本実施形態では、各クライアント端末２０ａ，２０ｂが、再生制御コマンドを再生制御要求として送信する場合を例にする。
【００４１】
通信遅延管理手段１０４は、通信遅延情報を保持する。通信遅延情報は、少なくとも、クライアント端末の識別子と、そのクライアント端末とサーバ１０との間の通信遅延とを含む。通信遅延は、クライアント端末とサーバ１０との間の往復の通信に要する時間である。本発明の説明では、「通信遅延」と、通信遅延を含む「通信遅延情報」とを区別する。図３は、通信遅延管理手段１０４が保持する通信遅延情報の例を示す説明図である。図３では、通信遅延情報が、クライアント端末毎に、クライアント端末の識別子と、通信遅延と、そのクライアント端末に対する前回の問い合わせ応答送信時刻とを対応付けた情報である場合を例示している。図３に示す第１列は、クライアント端末の識別子である。本例では、図１に示した符号“２０ａ”，“２０ｂ”を識別子として示している。図３に示す第２列は、通信遅延であり、本例ではミリ秒単位で示している。図３に示す第３列は、クライアント端末に対する前回の問い合わせ応答送信時刻である。この時刻は、通信遅延を測定するために用いられる。また、本実施形態では、予め定めた所定の基準時点からの経過時間によって時刻を表す。本例では、グリニッジ標準時の１９７０年１月１日０時０分０秒を基準時点とし、その基準時点からの経過時間をミリ秒で表すことにより時刻を表現する場合を例にする。ただし、基準時点として他の時刻を用いてもよい。また、基準時点からの経過時間は、ミリ秒以外の単位で表されてもよい。ただし、通信遅延の単位と、基準時点からの経過時間との単位は同じ単位（本例ではミリ秒）にすることが好ましい。
【００４２】
通信遅延管理手段１０４は、例えば、クライアント端末からの問い合わせと、その問い合わせに対する応答とを利用して通信遅延を測定する。この測定方法を具体例を用いて説明する。サーバ１０がクライアント端末２０ａから問い合わせを受信した後、問い合わせ応答送信手段１０３がクライアント端末２０ａに問い合わせ応答を送信する。そして、問い合わせ応答送信手段１０３が問い合わせ応答を送信する際に、通信遅延管理手段１０４は、その送信時刻で、クライアント端末２０ａに対応する「前回の問い合わせ応答送信時刻」を更新する。このように、通信遅延管理手段１０４は、個々のクライアント端末への問い合わせ応答の送信の度に、通信遅延情報のうち、そのクライアント端末に対応する「前回の問い合わせ応答送信時刻」を更新する。更新後、通信遅延情報の内容が図３に示す内容になったとする。そして、クライアント端末２０ａは、サーバ１０から問い合わせ応答を受信すると、その受信時刻を記憶する。そして、クライアント端末２０ａは、再度、サーバ１０に対して問い合わせを送信する。その際、クライアント端末２０ａは、問い合わせ応答を受信してから問い合わせを送信するまでの経過時間を問い合わせに付与する。この経過時間は、例えば、ＵＲＬ（Uniform Resource Locator）パラメータとして送信される。例えば、経過時間がＸミリ秒であったとすると、クライアント端末２０ａは、問い合わせ送信時のＵＲＬに「ｔｉｍｅ＝Ｘ」を付与し、「ｈｔｔｐ：／／ｅｘａｍｐｌｅ．ｃｏｍ／ＧｅｔＭｅｓｓａｇｅ？ｔｉｍｅ＝Ｘ」とすることで、経過時間がＸミリ秒であった事をサーバ１０に伝達すればよい。
【００４３】
サーバ１０の問い合わせ受信手段１０１がクライアント端末２０ａから問い合わせを受信すると、通信遅延管理手段１０４は、問い合わせを受信した時刻を確認する。例えば、この時刻が「１３０８６３７１５１４５３」であったとする。通信遅延管理手段１０４は、クライアント端末２０ａに対応する「前回の問い合わせ応答送信時刻」を参照する。本例では、この時刻は、「１３０８６３７１５１３２２」である（図３参照）。通信遅延管理手段１０４は、クライアント端末２０ａから問い合わせを受信した時刻から、前回の問い合わせ応答送信時刻と、クライアント端末２０ａから通知された経過時間（上記の例では、Ｘミリ秒）とを差し引いた値として、通信遅延を算出することができる。すなわち、本例では、以下に示す式（１）の計算により、クライアント端末２０ａに関する通信遅延を算出することができる。式（１）において、ｄは通信遅延を表す。
【００４４】
ｄ＝１３０８６３７１５１４５３−１３０８６３７１５１３２２−Ｘ
式（１）
【００４５】
通信遅延管理手段１０４は、通信遅延を算出すると、保持している通信遅延情報に含まれる通信遅延を更新する。このように、問い合わせ受信手段１０１がクライアント端末から問い合わせを受信すると、通信遅延管理手段１０４は、そのクライアント端末に関する通信遅延を算出し、通信遅延情報を更新する。
【００４６】
なお、通信遅延管理手段１０４は、上記の方法によって通信遅延を測定し、複数回の測定結果の平均値を通信遅延として定め、通信遅延情報に含まれる通信遅延をその平均値で更新してもよい。このように通信遅延を定めれば、パケットロス等の影響によって例外的に通信遅延が大きくなり、正常時の通信遅延が正しく測定できなかった場合の影響を軽減することができる。
【００４７】
制御要求受信手段１０５は、各クライアント端末２０ａ，２０ｂから再生制御要求を受信する。各クライアント端末は、使用者の操作に応じて定まる再生制御コマンドを再生制御要求としてサーバ１０に送信すればよい。再生制御コマンドの例として、例えば、再生、一時停止、早送り、巻き戻し、頭出し再生等の種々の処理に応じた再生制御コマンドが挙げられる。ただし、再生制御コマンドの種類は、これらに限定されない。また、再生制御コマンドには、付帯情報が付加されていてもよい。付帯情報は、例えば、コマンドの実行態様を指定する情報である。付帯情報の例として、再生を指示する再生制御コマンドにおける再生速度や、頭出し再生を指示する再生制御コマンドにおける頭出し位置等が挙げられる。付帯情報の種類も、これらに限定されない。
【００４８】
図４は、再生制御コマンドの例を示す説明図である。図４に示す例では、各行が「パラメータ名＝パラメータの値」の形式で記述される。また、パラメータ名が「ｃｏｍｍａｎｄ」で示されるパラメータの値が再生制御コマンドを表す。そして、その他のパラメータ名は再生制御コマンドの付帯情報を表す。図４に示す例１では、第１行でコマンド名「ｃｏｍｍａｎｄ」が指定され、そのパラメータの値が「ｐａｕｓｅ」であり、例１は、一時停止の開始を指示するコマンドである。図４に示す例２では、第１行でコマンド名「ｃｏｍｍａｎｄ」が指定され、そのパラメータの値が「ｓｅｅｋ」であり、例２は、頭出し再生の開始を指示するコマンドである。また、例２では、第２行に付帯情報として、「ｐｏｓｉｔｉｏｎ＝２３００」という記述があり、動画の先頭から２３００ミリ秒後の位置で頭出し再生を実施することを示している。図４に示す例３では、第１行でコマンド名「ｃｏｍｍａｎｄ」が指定され、そのパラメータの値が「ｆｏｒｗａｒｄ」であり、例３は、早送りの開始を指示するコマンドである。また、例３では、第２行に付帯情報として、「ｓｐｅｅｄ＝４」という記述があり、４倍速で早送りを行うことを示している。
【００４９】
付帯情報を付加することで、コマンドの実行態様を指定することができ、各クライアント端末でのコンテンツ制御の開始タイミングだけでなく、実行態様も揃えることができる。従って、コマンドの実行態様が可変である場合であっても、各クライアント端末は、同一コンテンツの同一箇所を同期して出力することができる。例えば、各クライアント端末は、頭出し再生を行う場合に、同じ箇所からコンテンツの再生を開始し、同一の時刻にコンテンツの同一の箇所を出力することができる。
【００５０】
再生制御コマンドおよび付帯情報は、図４に示す例に限定されない。また、再生制御コマンドおよび付帯情報の記述形式も図４に示す例に限定されず、他の形式で記述されていてもよい。
【００５１】
制御時刻決定手段１０６は、制御要求受信手段１０５が再生制御要求として受信した再生制御コマンドによるコンテンツ制御を各クライアント端末２０ａ，２０ｂが開始する制御開始時刻を決定する。そして、制御時刻決定手段１０６は、その再生制御コマンドに制御開始時刻の情報を付加することによって、再生制御情報を生成する。すなわち、再生制御情報は、再生制御コマンドおよび制御開始時刻の情報を含む。また、再生制御コマンドには、付帯情報が付加されていてもよい。なお、制御開始時刻の決定方法については後述する。
【００５２】
図５は、制御時刻決定手段１０６が生成する再生制御情報の例を示す説明図である。図５に示す例において、再生制御コマンドおよび付帯情報の記述は図４に示す例と同様である。図５に示す再生制御情報では、パラメータ名を「ｔｉｍｅ」として制御開始時刻が追加されている点が、図４に例示する記述と異なる。図５に示す例１では、制御開始時刻として「１３０８６３７１５２０３２」が指定されている。例１は、グリニッジ標準時の１９７０年１月１日０時０分０秒から、１３０８６３７１５２０３２ミリ秒経過した時刻に制御（例１では一時停止）を開始することを意味する。同様に、図５に示す例２は、時刻「１３０８６３７１６５９８３」に、コンテンツの先頭から２３００ミリ秒後の位置からの頭出し再生を開始することを意味する。同様に、図５に示す例３は、時刻「１３０８６３７１７８１１１」に、４倍速で早送りを開始することを意味する。
【００５３】
制御情報管理手段１０７は、制御要求受信手段１０５が再生制御要求（すなわち、再生制御コマンド）を受信したときには、その再生制御コマンドを記憶する。また、その再生制御コマンドに制御開始時刻を追加した再生制御情報が制御時刻決定手段１０６に生成された場合には、制御情報管理手段１０７は、再生制御コマンドおよび制御開始時刻を含む再生制御情報を記憶する。図６は、制御情報管理手段１０７が記憶する情報の例を示す説明図である。図６に示す例では、まだ制御開始時刻が付加されていない再生制御コマンドを記憶している場合を例示している。
【００５４】
時刻同期手段１０８は、サーバ１０が持つ時計の時刻を所定の時刻に同期させることで、サーバ１０の時計の時刻を正しい時刻に同期させる。例えば、時刻同期手段１０８は、ＮＴＰサーバ（network time protocol サーバ、図示せず。）を参照し、ネットワークタイムプロトコルによってＮＴＰサーバから提供される時刻に、サーバ１０が持つ時計の時刻を同期させてもよい。
【００５５】
後述のクライアント端末の時刻同期手段２０６（図７参照。）も、クライアント端末が持つ時計の時刻を所定の時刻に同期させることで、クライアント端末の時計の時刻を正しい時刻に同期させる。従って、サーバ１０および各クライアント端末の時計の時刻は同期し、同一の時刻を指し示すことになる。そして、全てのクライアント端末２０ａ、２０ｂは、制御時刻決定手段１０６によって決定された時刻に再生制御コマンドに応じたコンテンツ制御（例えば、再生、一時停止等）を開始するので、全てのクライアント端末２０ａ、２０ｂは再生制御コマンドに応じたコンテンツ制御を同時に開始することができる。
【００５６】
データ記憶手段１０９は、各クライアント端末２０ａ，２０ｂにおいて再生されるコンテンツのデータを記憶する。データ記憶手段１０９は、例えば、動画、音声等のデータを記憶する。
【００５７】
データ送信手段１１０は、各クライアント端末２０ａ，２０ｂにコンテンツのデータを送信する。
【００５８】
問い合わせ受信手段１０１、問い合わせ応答送信手段１０３、応答制御手段１１１、通信遅延管理手段１０４、制御要求受信手段１０５、制御時刻決定手段１０６、制御情報管理手段１０７、時刻同期手段１０８およびデータ送信手段１１０は、例えば、コンテンツ同期制御プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、例えば、コンピュータのプログラム記憶手段（図示略）がコンテンツ同期制御プログラムを記憶し、ＣＰＵがそのプログラムを読み込んで、そのプログラムに従って、上記の各要素１０１，１０３，１１１，１０４，１０５，１０６，１０７，１０８，１１０として動作すればよい。また、上記の各要素が、それぞれ別々のユニットで実現されていてもよい。
【００５９】
図７は、クライアント端末（コンテンツ再生装置）２０の構成例を示すブロック図である。なお、図７では、クライアント端末を符号“２０”で表す。図１に示す各クライアント端末２０ａ，２０ｂは、いずれも、図７に示すクライアント端末２０と同様である。
【００６０】
クライアント端末２０は、問い合わせ送信手段２０１と、問い合わせ応答受信手段２０２と、問い合わせ制御手段２０３と、制御要求送信手段２０４と、再生手段２０５と、時刻同期手段２０６と、再生制御手段２０７と、データ受信手段２０８と、データ蓄積手段２０９とを備える。クライアント端末２０は、ネットワーク３０を介してサーバ１０（図７において図示略）に接続される。
【００６１】
問い合わせ送信手段２０１は、サーバから自端末（クライアント端末２０）に送信する再生制御コマンドの有無の問い合わせをサーバ１０に送信する。問い合わせ送信手段２０１は、問い合わせ制御手段２０３に従って、この送信処理を行う。また、問い合わせ送信手段２０１は、サーバ１０に対する問い合わせに、直近の問い合わせ応答の受信時刻からその問い合わせの送信時刻までの経過時間を含める。
【００６２】
問い合わせ応答受信手段２０２は、問い合わせ送信手段２０１がサーバ１０に送信した問い合わせに対する応答（問い合わせ応答）を、サーバ１０から受信する。クライアント端末２０に対して送信される再生制御コマンドがサーバ１０に存在していた場合、その再生制御コマンドおよび制御開始時刻を含む再生制御情報が、この問い合わせ応答に含まれる。クライアント端末２０に対して送信される再生制御コマンドがサーバ１０に存在していなかった場合、サーバ１０から受信した問い合わせ応答に再生制御情報は含まれない。
【００６３】
問い合わせ制御手段２０３は、問い合わせ送信手段２０１がサーバ１０に対する問い合わせを送信するタイミングを制御する。具体的には、問い合わせ制御手段２０３は、問い合わせ応答受信手段２０２がサーバ１０から問い合わせ応答を受信すると、問い合わせ送信手段２０１に、サーバ１０への問い合わせを送信させる。
【００６４】
制御要求手段２０４は、クライアント端末２０の使用者の操作に対応した再生制御コマンドを再生制御要求としてサーバ１０に送信する。例えば、クライアント端末２０の使用者が、再生開始を指示する操作を行った場合、制御要求手段２０４は、再生開始を指示する再生制御コマンドを再生制御要求として送信する。同様に、制御要求手段２０４は、使用者の操作に応じて、一時停止、早送り、巻き戻し、頭出し再生等の種々の再生制御コマンドを再生制御要求としてサーバ１０に送信する。
【００６５】
再生手段２０５は、再生制御手段２０７の指示に基づいてコンテンツの再生、一時停止、早送り、巻き戻し、頭出し再生等を実施する。再生手段２０５は、例えば、汎用的なブラウザ上でコンテンツの再生等を行えばよい。
【００６６】
時刻同期手段２０６は、クライアント端末２０が持つ時計の時刻を所定の時刻に同期させることで、クライアント端末２０の時計の時刻を正しい時刻に同期させる。この動作は、サーバにおける時刻同期手段１０８と同様である。
【００６７】
再生制御手段２０７は、問い合わせ応答受信手段２０２が受信した再生制御情報に基づいて、再生手段２０５におけるコンテンツの再生状態を制御する。
【００６８】
データ受信手段２０８は、再生手段２０５において再生するコンテンツをサーバ１０から受信する。
【００６９】
データ蓄積手段２０９は、データ受信手段２０８が受信したコンテンツを蓄積し、再生手段２０５にコンテンツを引き渡す。
【００７０】
問い合わせ送信手段２０１、問い合わせ応答受信手段２０２、問い合わせ制御手段２０３、制御要求送信手段２０４、再生手段２０５、時刻同期手段２０６、再生制御手段２０７、データ受信手段２０８およびデータ蓄積手段２０９は、例えば、コンテンツ再生プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、例えば、コンピュータのプログラム記憶手段（図示略）がコンテンツ再生プログラムを記憶し、ＣＰＵがそのプログラムを読み込んで、そのプログラムに従って、上記の各要素２０１〜２０９として動作すればよい。また、上記の各要素が、それぞれ別々のユニットで実現されていてもよい。
【００７１】
なお、本実施の形態では、各クライアント端末が再生するコンテンツは、サーバ１０のデータ記憶手段１０９（図２参照）に記憶され、各クライアント端末のデータ受信手段２０８がサーバ１０からコンテンツを受信する場合を例示している。コンテンツは、サーバ１０とは別の装置に記憶され、各クライアント端末のデータ受信手段２０８がその装置からコンテンツを受信してもよい。また、いずれかのクライアント端末がコンテンツを記憶し、そのクライアント端末と他の各クライアント端末とがコンテンツを送受信する構成であってもよい。
【００７２】
次に、動作について説明する。以下の説明では、サーバ１０の時刻同期手段１０８、および各クライアント端末２０ａ，２０ｂの時刻同期手段２０６が、それぞれ自装置の時計の時刻を所定の時刻（例えば、ＮＴＰサーバの時刻）に同期させているものとする。すなわち、サーバ１０および各クライアント端末２０ａ，２０ｂの時計の時刻は全て正しい時刻に同期済みであるものとする。また、各クライアント端末２０ａ，２０ｂにおいて、データ受信手段２０８は、サーバ１０のデータ送信手段１０１からコンテンツを受信し、データ蓄積手段２０９がそのコンテンツを蓄積済みであるものとする。
【００７３】
以下、クライアント端末からの問い合わせに対して、サーバ１０が再生制御情報を含まない問い合わせ応答を送信する場合の動作と、クライアント端末からの問い合わせに対して、サーバ１０が再生制御情報を含む問い合わせ応答を送信する場合の動作についてそれぞれ説明する。
【００７４】
図８および図９は、クライアント端末からの問い合わせに対して、サーバ１０が再生制御情報を含まない問い合わせ応答を送信する場合の動作の例を示すシーケンス図である。いずれのクライアント端末２０ａ，２０ｂにおいてもユーザの操作が行われていない場合に、図８および図９に示す処理が行われる。
【００７５】
クライアント端末２０ａの問い合わせ送信手段２０１は、サーバ１０からクライアント端末２０ａに送信する再生制御コマンドの有無の問い合わせをサーバ１０に送信する（ステップＳ１）。このとき、問い合わせ送信手段２０１は、直近の問い合わせ応答の受信時刻からステップＳ１における問い合わせの送信時刻までの経過時間の情報を、問い合わせに付加する。
【００７６】
サーバ１０の問い合わせ受信手段１０２は、クライアント端末２０ａが送信した問い合わせを受信する（ステップＳ２）。ステップＳ２において、サーバ１０の応答制御手段１１１は、受信した問い合わせに対する問い合わせ応答をサーバ１０から送り返していないクライアント端末として、クライアント端末２０ａを記憶する。
【００７７】
なお、ステップＳ２より前の時点では、サーバ１０は各クライアント端末からまだ問い合わせを受信していないものとする。すなわち本例では、サーバ１０は、１番目の問い合わせをクライアント端末２０ａから受信する。なお、問い合わせの受信順序をカウントする場合、既に問い合わせ応答を返した問い合わせについては無視するものとする。
【００７８】
次に、サーバ１０の通信遅延管理手段１０４は、保持している通信遅延情報のうち、クライアント端末２０ａに対する前回の問い合わせ応答送信時間を参照する。そして、通信遅延管理手段１０４は、その問い合わせ応答送信時間と、ステップＳ２において問い合わせを受信した時刻と、その問い合わせに付加されている経過時間とに基づいて、サーバ１０とクライアント端末２０ａとの間の通信遅延を算出する。さらに、通信遅延管理手段１０４は、保持している通信遅延情報のうち、クライアント端末２０ａに対応する通信遅延の値を、新たに算出した通信遅延の値に更新する（ステップＳ３）。
【００７９】
ステップＳ３の後、サーバ１０の制御情報管理手段１０７は、問い合わせの送信元のクライアント端末２０ａに対して送信する再生制御コマンドを記憶しているか否かを確認する（ステップＳ４）。図８および図９に示す例では、問い合わせの送信元に対して送信する再生制御コマンドは存在しない（すなわち、制御情報管理手段１０７が記憶していない）ものとする。そのような再生制御コマンドがある場合の処理経過については、後述の図１１や、図１３および図１４を参照して説明する。
【００８０】
問い合わせの送信元に対して送信する再生制御コマンドが存在しない場合、応答制御手段１１１は、ステップＳ２における問い合わせ受信時刻から一定期間、問い合わせ応答送信手段１０３にその問い合わせに対する問い合わせ応答の送信を行わせずに待機させる（ステップＳ５）。
【００８１】
また、クライアント端末２０ｂの問い合わせ送信手段２０１は、サーバ１０からクライアント端末２０ｂに送信する再生制御コマンドの有無の問い合わせをサーバ１０に送信する（ステップＳ６）。
【００８２】
サーバ１０の問い合わせ受信手段１０２は、クライアント端末２０ｂが送信した問い合わせを受信する（ステップＳ７）。ステップＳ７において、サーバ１０の応答制御手段１１１は、受信した問い合わせに対する問い合わせ応答をサーバ１０から送り返していないクライアント端末として、クライアント端末２０ｂを記憶する。
【００８３】
次に、サーバ１０の通信遅延管理手段１０４は、保持している通信遅延情報のうち、クライアント端末２０ｂに対する前回の問い合わせ応答送信時間を参照する。そして、通信遅延管理手段１０４は、その問い合わせ応答送信時間と、ステップＳ７において問い合わせを受信した時刻と、その問い合わせに付加されている経過時間とに基づいて、サーバ１０とクライアント端末２０ｂとの間の通信遅延を算出する。さらに、通信遅延管理手段１０４は、保持している通信遅延情報のうち、クライアント端末２０ｂに対応する通信遅延の値を、新たに算出した通信遅延の値に更新する（ステップＳ８）。
【００８４】
ステップＳ８の後、サーバ１０の制御情報管理手段１０７は、問い合わせの送信元のクライアント端末２０ｂに対して送信する再生制御コマンドを記憶しているか否かを確認する（ステップＳ９）。
【００８５】
問い合わせの送信元に対して送信する再生制御コマンドが存在しないので、応答制御手段１１１は、ステップＳ７における問い合わせ受信時刻から一定期間、問い合わせ応答送信手段１０３にその問い合わせに対する問い合わせ応答の送信を行わせずに待機させる（ステップＳ１０）。
【００８６】
ステップＳ６〜Ｓ１０の動作は、前述のステップＳ１〜Ｓ５の動作と同様である。ただし、ステップＳ１０で設定された待機状態は、問い合わせの受信時刻から一定期間が経過する前に解除されることになる（次に説明するステップＳ１１参照）。なお、以降の動作は、図９を参照して説明する。
【００８７】
応答制御手段１１１は、１番目の問い合わせ（クライアント端末２０ａからの問い合わせ）の受信時刻から一定期間が経過すると、その問い合わせに対する問い合わせ応答の送信の待機を解除する。このとき、応答制御手段１１１は、待機させている全ての問い合わせ応答の送信に関して待機を解除する（ステップＳ１１）。従って、クライアント端末２０ｂから受信した問い合わせに対する問い合わせ応答の送信の待機は、その問い合わせ受信時刻から一定期間経過する時点よりも前に解除されることになる。
【００８８】
ステップＳ１１の結果、問い合わせ応答送信手段１０３は、送信せずにいた全ての問い合わせ応答を送信する（ステップＳ１２）。すなわち、問い合わせ応答送信手段１０３は、問い合わせの送信元のクライアント端末２０ａ，２０ｂに対してそれぞれ問い合わせ応答を送信する。このとき、各クライアント端末２０ａ，２０ｂに送信する再生制御コマンドは存在しないので、問い合わせ応答に再生制御情報は付加されない。また、このとき、通信遅延管理手段１０４は、問い合わせ応答の送信時刻で、クライアント端末２０ａに対応する「前回の問い合わせ応答送信時刻」を更新する。通信遅延管理手段１０４は、クライアント端末２０ｂに対応する「前回の問い合わせ応答送信時刻」も同様に更新する。
【００８９】
また、ステップＳ１２において、応答制御手段１１１は、サーバ１０から問い合わせ応答を送り返していないクライアント端末として記憶していたクライアント端末２０ａ，２０ｂの情報を削除する。
【００９０】
クライアント端末２０ａにおいて、問い合わせ応答受信手段２０２は、ステップＳ１２でサーバ１０が送信した問い合わせ応答を受信する（ステップＳ１３）。すると、クライアント端末２０ａの問い合わせ制御手段２０３は、問い合わせ送信手段２０１に、再度、問い合わせを送信させる。問い合わせ送信手段２０１は、問い合わせ制御手段２０３に従い、問い合わせを送信する（ステップＳ１４）。問い合わせ送信手段２０１は、ステップＳ１３における問い合わせ応答の受信時刻から問い合わせ送信までの経過時間を付加する。
【００９１】
クライアント端末２０ａと同様に、クライアント端末２０ｂにおいても、問い合わせ応答受信手段２０２は、ステップＳ１２でサーバ１０が送信した問い合わせ応答を受信する（ステップＳ１５）。すると、クライアント端末２０ｂの問い合わせ制御手段２０３は、問い合わせ送信手段２０１に、再度、問い合わせを送信させる（ステップＳ１６）。ステップＳ１５，Ｓ１６の動作は、ステップＳ１３，Ｓ１４と同様である。
【００９２】
また、ステップＳ１４，Ｓ１６の動作はステップＳ１と同様であり、以降の動作は既に説明した動作と同様である。
【００９３】
図１０は、本発明における問い合わせおよび問い合わせ応答の送受信タイミングの例を示す模式図である。図１０において、横軸は時間経過を表す。また、各クライアントからサーバへの矢印は問い合わせの送受信を表し、サーバから各クライアントへの矢印は問い合わせ応答の送受信を表す。なお、クライアント端末２０ａとサーバ１０間の送受信を実線の矢印で表し、クライアント２０ｂとサーバ１０間の送受信を破線の矢印で表す。本発明では、ステップＳ１２（図９参照）に示すように、問い合わせ応答送信手段１０３は、問い合わせの送信元のクライアント端末２０ａ，２０ｂに対して同時に問い合わせ応答を送信する。従って、図１０に示すように、当初、サーバ１０が各クライアント端末からの問い合わせを受信する時刻が異なっていたとしても、各クライアント端末からの問い合わせを受信する時刻をほぼ同時刻にすることができる。その結果、サーバが問い合わせ応答を送信してから次回の問い合わせを受信するまでの期間を、クライアント端末毎にほぼ共通にすることができる。すなわち、クライアント端末に再生制御情報を送信できない期間を各クライアント端末でほぼ共通にすることができる。従って、サーバ１０が全てのクライアント端末２０ａ，２０ｂに対して同時に再生制御情報を送信できる期間の減少を防止することができる。なお、クライアント端末毎の通信遅延の違いや、通信遅延のばらつき等により、各クライアント端末からの問い合わせの受信時刻が完全に同時になるとは限らない。
【００９４】
図１０において、全てのクライアント端末に対して同時に再生制御情報を送信できる期間を符号Ｔ１で表す。また、いずれかのクライアント端末に再生制御情報を送信できない期間を符号Ｔ２で表す。
【００９５】
なお、本例では、サーバが各クライアント端末からの問い合わせを受信する時刻をほぼ同時刻にするために、サーバが全てのクライアント端末に同時に問い合わせを送信するが、サーバは、他の方法で問い合わせを送信してもよい。例えば、サーバが、各クライアント端末の通信遅延を基に、全てのクライアント端末からの問い合わせ受信時刻が同時になる問い合わせ応答送信時刻をクライアント端末毎に算出し、その時刻に問い合わせ応答を送信することで、サーバが各クライアント端末からの問い合わせを受信する時刻をほぼ同時刻にしてもよい。
【００９６】
次に、クライアント端末からの問い合わせに対して、サーバ１０が再生制御情報を含む問い合わせ応答を送信する場合の動作について説明する。以下、全てのクライアント端末に対して同時に再生制御情報を送信できる期間Ｔ１（図１０参照）内にサーバ１０が再生制御要求を受信する場合と、いずれかのクライアント端末に再生制御情報を送信できない期間Ｔ２（図１０参照）内にサーバ１０が再生制御要求を受信する場合とに場合分けして説明する。また、以下の説明では、クライアント端末２０ａの使用者がコンテンツの再生開始や一時停止等の操作を行い、クライアント端末２０ａが再生制御要求を送信する場合を例に説明するが、クライアント端末２０ｂが再生制御要求を送信する場合も同様である。
【００９７】
図１１は、期間Ｔ１内にサーバ１０が再生制御要求を受信する場合の動作を示すシーケンス図である。期間Ｔ１であるということは、サーバ１０は、コンテンツ制御を同期させる対象となる全てのクライアント端末２０ａ，２０ｂから問い合わせを受信済みであり、まだ問い合わせ応答を送信していない。そして、サーバ１０の応答制御手段１１１は、サーバ１０から問い合わせ応答を送り返していないクライアント端末として、クライアント端末２０ａ，２０ｂを記憶している。
【００９８】
まず、クライアント端末２０ａの使用者がコンテンツの再生制御の操作を行う。本例では、動画の再生中に使用者が一時停止操作を行ったとする。クライアント端末２０ａにおいて、ユーザによる再生制御の操作が行われると、クライアント端末２０ａの制御要求送信手段２０４は、サーバ１０に再生制御要求を送信する（ステップＳ２１）。ここでは、図４の例１に示す再生制御コマンド（一時停止の開始を指示するコマンド）を再生制御要求として送信する場合を例にする。
【００９９】
サーバ１０の制御要求受信手段１０５は、ステップＳ２１で送信された再生制御要求を受信する（ステップＳ２２）。そして、サーバ１０の制御情報管理手段１０７は、再生制御要求として受信した再生制御コマンド（本例では、図４の例１に示すコマンド）を記憶する（ステップＳ２３）。すなわち、制御情報管理手段１０７は、図６に例示する情報を記憶する。制御情報管理手段１０７が記憶した情報（図６参照）は、再生制御コマンド（ｃｏｍｍａｎｄ＝ｐａｕｓｅ）がまだ再生制御情報としてクライアント端末２０ａ、２０ｂに送信されていないことを表す。
【０１００】
制御情報管理手段１０７が記憶した再生制御コマンドは、サーバ１０から各クライアント端末に送信される再生制御コマンドである。
【０１０１】
制御情報管理手段１０７が再生制御コマンドを記憶すると、応答制御手段１１１は、サーバ１０から問い合わせ応答を送り返していないクライアント端末を検索する。そして、応答制御手段１１１は、コンテンツ制御を同期させる対象となる全てのクライアント端末２０ａ，２０ｂが検索結果として得られたか否かを判定する（ステップＳ２４）。本例では、コンテンツ制御を同期させる対象となる全てのクライアント端末２０ａ，２０ｂが、検索結果として得られたと判定する。なお、応答制御手段１１１は、コンテンツ制御を同期させる対象となる全てのクライアント端末の情報を予め記憶している。
【０１０２】
この場合、制御時刻決定手段１０６が、ステップＳ２３で記憶された再生制御コマンドに関する制御開始時刻を決定する（ステップＳ２５）。制御時刻決定手段１０６は、例えば、以下に例示する方法で制御開始時刻を決定すればよい。制御時刻決定手段１０６は、現在時刻を取得する。また、制御時刻決定手段１０６は、遅延情報管理手段１０４が記憶している通信遅延情報（図３に例示する情報）を参照し、コンテンツ制御を同期させる対象となる各クライアント端末２０ａ，２０ｂの通信遅延を読み込む。以下、通信遅延をＲｎと表す。Ｒｎにおける添え字ｎは、クライアント端末毎に通信遅延を識別するための添え字である。また、現在時刻をｔとする。さらに、各クライアント端末内での再生制御処理時間をαとする。再生制御処理時間αは、再生制御手段２０７が再生制御コマンドに応じたコンテンツ制御を開始する前に要するマージン時間である。制御時刻決定手段１０６は、以下の式（２）の計算を行うことによって、制御開始時刻を決定する。
【０１０３】
Ｐ＝ｔ＋ｍａｘ（Ｒｎ／２＋α）          式（２）
【０１０４】
式（２）の左辺のＰは、制御開始時刻を表す。また、式（２）の右辺におけるｍａｘ（）は、ｎ毎（換言すれば、クライアント端末毎）に計算した括弧内の値の最大値を意味する。すなわち、制御時刻決定手段１０６は、クライアント毎に（Ｒｎ／２）＋αを計算し、その最大値を現在時刻ｔに加算することによって、制御開始時刻を決定する。
【０１０５】
Ｒｎ／２は、サーバ１０からクライアント端末までの片道の通信時間である。従って、現在時刻ｔからｍａｘ（Ｒｎ／２＋α）後の時刻であれば、サーバとの間の片道の通信時間とαとの和が最大となるクライアント端末であっても、コンテンツ制御を開始できる。すなわち、時刻Ｐは、全てのクライアント端末がコンテンツ制御を開始できる最も早い時刻である。
【０１０６】
なお、サーバ１０とクライアント端末間の片道の通信時間を表す値として、Ｒｎ／２以外の値を用いてもよい。通信方式によっては、サーバ１０とクライアント端末間の片道の通信時間が、２以外の値ｋを用いてＲｎ／ｋと表される場合もある。ｋは通信方式に応じた値である。従って、通信方式によっては、その通信方式に応じた値ｋを用いて、式（２）におけるＲｎ／２をＲｎ／ｋに置き換えればよい。
【０１０７】
再生制御処理時間αは、サーバ１０の管理者が予め定めておき、制御時刻決定手段１０６に記憶させておけばよい。式（２）では、各クライアント端末２０ａ，２０ｂにおける再生制御処理時間が共通の値αである場合を示しているが、クライアント端末毎に再生制御処理時間として異なる値を定めてもよい。
【０１０８】
また、制御時刻決定手段１０６は、ステップＳ２５実行時の近傍の時刻を現在時刻ｔとして用いればよい。例えば、ステップＳ２４を終了し、ステップＳ２５を開始するときの時刻を現在時刻ｔとして用いてよい。
【０１０９】
制御時刻決定手段１０６は、制御開始時刻を算出すると、その制御開始時刻の情報と、ステップＳ２３で記憶された再生制御制御コマンドとを組み合わせることにより、再生制御情報を生成する。そして、制御情報管理手段１０７は、ステップＳ２３で記憶した情報を更新する。具体的には、ステップＳ２３で記憶した再生制御コマンドを、制御時刻決定手段１０６に生成された再生制御情報の内容で更新する。この結果、制御情報管理手段１０７は、制御開始時刻を記憶せずに再生制御コマンドを記憶している状態から、制御開始時刻および再生制御コマンドを記憶する状態に移行する。制御時刻決定手段１０６が記憶する再生制御情報の例を図１２に示す。図６に示す更新前の情報と比較すると、図１２に示す更新後の情報では、制御開始時刻が追加され、再生制御情報として再生制御コマンドが記憶されている。
【０１１０】
上記のステップＳ２５の後、応答制御手段１１１は、待機させている全ての問い合わせ応答の送信に関して待機を解除し、問い合わせ応答送信手段１０３に、送信せずにいた全ての問い合わせ応答を送信させる。従って、本例では、各問い合わせ応答は、問い合わせ受信時刻から一定期間が経過する前に送信される。問い合わせ応答送信手段１０３は、応答制御手段１１１に従い、クライアント端末２０ａ，２０ｂに対してそれぞれ問い合わせ応答を送信する（ステップＳ２６）。このとき、各クライアント端末２０ａ，２０ｂに送信する再生制御コマンドが再生制御情報として制御情報管理手段１０７に記憶されている。従って、問い合わせ応答送信手段１０３は、クライアント端末毎の問い合わせ応答にその再生制御情報は付加してから、各問い合わせ応答を送信する。
【０１１１】
また、ステップＳ２６において、通信遅延管理手段１０４は、問い合わせ応答の送信時刻で、クライアント端末２０ａに対応する「前回の問い合わせ応答送信時刻」を更新する。通信遅延管理手段１０４は、クライアント端末２０ｂに対応する「前回の問い合わせ応答送信時刻」も同様に更新する。
【０１１２】
また、ステップＳ２６において、応答制御手段１１１は、サーバ１０から問い合わせ応答を送り返していないクライアント端末として記憶していたクライアント端末２０ａ，２０ｂの情報を削除する。
【０１１３】
ステップＳ２６の後、制御情報管理手段１０７は、記憶していた再生制御情報を削除する（ステップＳ２７）。
【０１１４】
クライアント端末２０ａにおいて、問い合わせ応答受信手段２０２は、ステップＳ２６でサーバ１０が送信した問い合わせ応答を受信する（ステップＳ２８）。すると、クライアント端末２０ａの再生制御手段２０７は、問い合わせ応答に含まれる再生制御情報が示す制御開始時刻まで、コンテンツ再生制御を行わずに待機する（ステップＳ２９）。
【０１１５】
同様に、クライアント端末２０ｂにおいても、問い合わせ応答受信手段２０２は、ステップＳ２６でサーバ１０が送信した問い合わせ応答を受信する（ステップＳ３０）。そして、クライアント端末２０ｂの再生制御手段２０７は、問い合わせ応答に含まれる再生制御情報が示す制御開始時刻まで、コンテンツ再生制御を行わずに待機する（ステップＳ３１）。
【０１１６】
クライアント端末２０ａ，２０ｂが受信した再生制御情報に含まれている制御開始時刻は、同一時刻である。クライアント端末２０ａ，２０ｂの再生制御手段２０７はそれぞれ、その制御開始時刻に、再生制御情報内の再生制御コマンドが示すコンテンツ制御を実行する（ステップＳ３２，Ｓ３３）。各クライアント端末２０ａ，２０ｂの再生手段２０５は、再生制御手段２０７の制御の応じた動作を行う。本例では、再生中の動画を一時停止する処理を行う。この結果、クライアント端末２０ａ，２０ｂで再生されていた動画は同期して一時停止する。ここでは、一時停止を例にして説明したが、再生開始、早送り、巻き戻し、頭出し再生等の場合でも同様である。
【０１１７】
なお、図１１では、図示を省略しているが、各クライアント端末２０ａ，２０ｂは、問い合わせ応答を受信後、再度、問い合わせをサーバ１０に送信する。この動作は、既に説明した動作と同様であり、詳細な説明を省略する。
【０１１８】
図１３および図１４は、期間Ｔ２（図１０参照）内にサーバ１０が再生制御要求を受信する場合の動作を示すシーケンス図である。期間Ｔ２であるということは、サーバ１０が一部あるいは全てのクライアント端末から問い合わせを受信していない。
【０１１９】
まず、クライアント端末２０ａは、使用者によるコンテンツの再生制御操作に応じた再生制御コマンドを再生制御要求として送信する（ステップＳ４１）。
【０１２０】
サーバ１０の制御要求受信手段１０５は、ステップＳ４１で送信された再生制御要求を受信する（ステップＳ４２）。そして、サーバ１０の制御情報管理手段１０７は、再生制御要求として受信した再生制御コマンドを記憶する（ステップＳ４３）。
【０１２１】
既に説明したように、制御情報管理手段１０７が再生制御コマンドを記憶すると、応答制御手段１１１は、サーバ１０から問い合わせ応答を送り返していないクライアント端末を検索する。そして、応答制御手段１１１は、コンテンツ制御を同期させる対象となる全てのクライアント端末２０ａ，２０ｂが検索結果として得られたか否かを判定する（ステップＳ４４）。
【０１２２】
ステップＳ４１〜ステップＳ４４の動作は、ステップＳ２１〜Ｓ２４（図１１参照）と同様である。ただし、本例では、応答制御手段１１１は、ステップＳ４４で、コンテンツ制御を同期させる対象となる全てのクライアント端末２０ａ，２０ｂを、検索結果として得られなかったと判定する。
【０１２３】
コンテンツ制御を同期させる対象となる各クライアント端末の一部または全部を、検索結果として得られなかった場合、応答制御手段１１１は、各クライアント端末から問い合わせを受信するのを待つ。
【０１２４】
その後、クライアント端末２０ａの問い合わせ送信手段２０１は、サーバ１０からクライアント端末２０ａに送信する再生制御コマンドの有無の問い合わせをサーバ１０に送信する（ステップＳ４５）。そして、サーバ１０の問い合わせ受信手段１０２は、その問い合わせを受信し、応答制御手段１１１は、受信した問い合わせに対する問い合わせ応答をサーバ１０から送り返していないクライアント端末として、クライアント端末２０ａを記憶する（ステップＳ４６）。また、図１３では図示を省略しているが、ステップＳ４６，Ｓ５１の後、通信遅延管理手段１０４が通信遅延情報の更新を行う。この動作は、前述のステップＳ３の動作と同様である。
【０１２５】
その後、サーバ１０の制御情報管理手段１０７は、問い合わせの送信元のクライアント端末２０ａに対して送信する再生制御コマンドを記憶しているか否かを確認する（ステップＳ４７）。本例では、制御情報管理手段１０７は、再生制御コマンドを記憶している。
【０１２６】
問い合わせ受信時に制御情報管理手段１０７が再生制御コマンドを記憶している場合、応答制御手段１１１は、サーバ１０から問い合わせ応答を送り返していないクライアント端末を検索する。そして、応答制御手段１１１は、コンテンツ制御を同期させる対象となる全てのクライアント端末２０ａ，２０ｂが検索結果として得られたか否かを判定する（ステップＳ４８）。ステップＳ４８の動作は、ステップＳ２４（図１１参照）と同様である。
【０１２７】
問い合わせ応答を送り返していないクライアント端末の検索結果として、コンテンツ制御を同期させる対象となる全てのクライアント端末が得られなかった場合、応答制御手段１１１は、問い合わせ受信時刻から一定期間、問い合わせ応答送信手段１０３にその問い合わせに対する問い合わせ応答の送信を行わせずに待機させる（ステップＳ４９）。ステップＳ４８では、問い合わせ応答を送り返していないクライアント端末の検索結果として、“クライアント端末２０ａ”のみが得られ、“クライアント端末２０ｂ”は検索結果に含まれない。よって、ここでは、ステップＳ４９を実行する。
【０１２８】
また、クライアント端末２０ｂの問い合わせ送信手段２０１は、サーバ１０からクライアント端末２０ｂに送信する再生制御コマンドの有無の問い合わせをサーバ１０に送信する（ステップＳ５０）。そして、サーバ１０の問い合わせ受信手段１０２は、その問い合わせを受信し、応答制御手段１１１は、受信した問い合わせに対する問い合わせ応答をサーバ１０から送り返していないクライアント端末として、クライアント端末２０ｂを記憶する（ステップＳ５１）。前述のとおり、ステップＳ５１の後、通信遅延管理手段１０４が通信遅延情報の更新を行うが、図１３では、この処理の図示を省略している。
【０１２９】
その後、サーバ１０の制御情報管理手段１０７は、問い合わせの送信元のクライアント端末２０ｂに対して送信する再生制御コマンドを記憶しているか否かを確認する（ステップＳ５２）。本例では、制御情報管理手段１０７は、再生制御コマンドを記憶している。
【０１３０】
従って、応答制御手段１１１は、サーバ１０から問い合わせ応答を送り返していないクライアント端末を検索する。そして、応答制御手段１１１は、コンテンツ制御を同期させる対象となる全てのクライアント端末２０ａ，２０ｂが検索結果として得られたか否かを判定する（ステップＳ５３）。ステップＳ５０〜Ｓ５３の動作は、ステップＳ４５〜Ｓ４８の動作と同様である。ステップＳ５３では、問い合わせ応答を送り返していないクライアント端末の検索結果として、コンテンツ制御を同期させる対象となる全てのクライアント端末が得られる。以降の動作は、図１４を参照して説明する。
【０１３１】
問い合わせ応答を送り返していないクライアント端末の検索結果として、コンテンツ制御を同期させる対象となる全てのクライアント端末が得られた場合、制御時刻決定手段１０６が、ステップＳ４３で記憶された再生制御コマンドに関する制御開始時刻を決定する（ステップＳ５４）。制御時刻決定手段１０６は、制御開始時刻を算出すると、その制御開始時刻の情報と、ステップＳ４３で記憶された再生制御制御コマンドとを組み合わせることにより、再生制御情報を生成する。そして、制御情報管理手段１０７は、ステップＳ４３で記憶した再生制御コマンドを、制御時刻決定手段１０６に生成された再生制御情報の内容で更新する。
【０１３２】
ステップＳ５４以降の動作は、ステップＳ２５以降の動作（図１１参照。）と同様である。すなわち、ステップＳ５４の後、応答制御手段１１１は、待機させている全ての問い合わせ応答の送信に関して待機を解除し、問い合わせ応答送信手段１０３に、送信せずにいた全ての問い合わせ応答を送信させる（ステップＳ５５）。このとき、問い合わせ応答送信手段１０３は、クライアント端末毎の問い合わせ応答にその再生制御情報は付加してから、各問い合わせ応答を送信する。なお、ステップＳ５５において、通信遅延管理手段１０４は、問い合わせ応答の送信時刻で、クライアント端末２０ａに対応する「前回の問い合わせ応答送信時刻」を更新する。通信遅延管理手段１０４は、クライアント端末２０ｂに対応する「前回の問い合わせ応答送信時刻」も同様に更新する。また、応答制御手段１１１は、サーバ１０から問い合わせ応答を送り返していないクライアント端末として記憶していたクライアント端末２０ａ，２０ｂの情報を削除する。
【０１３３】
ステップＳ５５の後、制御情報管理手段１０７は、記憶していた再生制御情報を削除する（ステップＳ５６）。
【０１３４】
クライアント端末２０ａにおいて、問い合わせ応答受信手段２０２は、ステップＳ５５でサーバ１０が送信した問い合わせ応答を受信する（ステップＳ５７）。すると、クライアント端末２０ａの再生制御手段２０７は、問い合わせ応答に含まれる再生制御情報が示す制御開始時刻まで、コンテンツ再生制御を行わずに待機する（ステップＳ５８）。
【０１３５】
同様に、クライアント端末２０ｂにおいても、問い合わせ応答受信手段２０２は、ステップＳ２６でサーバ１０が送信した問い合わせ応答を受信する（ステップＳ５９）。そして、クライアント端末２０ｂの再生制御手段２０７は、問い合わせ応答に含まれる再生制御情報が示す制御開始時刻まで、コンテンツ再生制御を行わずに待機する（ステップＳ６０）。
【０１３６】
クライアント端末２０ａ，２０ｂの再生制御手段２０７はそれぞれ、受信した再生制御情報に含まれている制御開始時刻に、再生制御情報内の再生制御コマンドが示すコンテンツ制御を実行する（ステップＳ６１，Ｓ６２）。各クライアント端末２０ａ，２０ｂの再生手段２０５は、再生制御手段２０７の制御の応じた動作を行う。
【０１３７】
なお、図１４では、図示を省略しているが、各クライアント端末２０ａ，２０ｂは、問い合わせ応答を受信後、再度、問い合わせをサーバ１０に送信する。この動作は、既に説明した動作と同様であり、詳細な説明を省略する。
【０１３８】
本実施形態によれば、サーバ１０が再生制御要求（再生制御コマンド）をいずれかのクライアント端末から受信すると、各クライアント端末２０ａ，２０ｂに対する全ての問い合わせ応答の送信を待機させているという条件が成立したときに、各クライアント端末２０ａ，２０ｂに対する全ての問い合わせ応答を送信する。また、このとき、サーバ１０は、ｍａｘ（Ｒｎ／２＋α）を計算し、その値に基づいて再生制御コマンドの制御開始時刻を決定する。そして、サーバ１０は、再生制御コマンドおよび制御開始時刻を含む再生制御情報を各クライアント端末への問い合わせ応答に付加する。従って、ＨＴＴＰのもとでロングポーリングを採用し、サーバ１０が各クライアント端末２０ａ，２０ｂにおけるコンテンツ制御を同期させることができる。
【０１３９】
また、本実施形態では、サーバ１０が各クライアント端末２０ａ，２０ｂに対して同時に問い合わせ応答を送信する。その結果、サーバ１０が全てのクライアント端末２０ａ，２０ｂに対して同時に再生制御情報を送信できる期間の減少を防止することができる。
【０１４０】
また、特許文献３に記載された技術のうち、ユーザコンピュータ間でビデオデータに関する命令をピア・ツー・ピアで送信する態様では、ＮＡＴ（network address translation）やファイアウォールのもとにあるユーザコンピュータに命令直接を送信することは困難である。この問題は、ＴＣＰ（transmission control protocol ）に適応した専用アプリケーションソフトウェアをユーザコンピュータにインストールすることで解決可能である。しかし、専用アプリケーションソフトウェアが必要となる。これに対し、本発明では、ＨＴＴＰに従って通信を行うので、サーバ１０はＮＡＴ等のもとにあるクライアント端末に対する制御を行うことができる。また、ＴＣＰに適応した専用アプリケーションソフトウェアを用いる必要もなく、汎用的なブラウザでコンテンツを再生することができる。
【０１４１】
次に、本発明の最小構成について説明する。図１５は、本発明のコンテンツ同期システムの最小構成を示すブロック図である。図１６は、本発明のコンテンツ同期制御装置の最小構成を示すブロック図である。図１７は、本発明のコンテンツ再生装置の最小構成を示すブロック図である。図１６および図１７において、図１５に示す要素と同一の要素には、図１５と同一の符号を付している。
【０１４２】
本発明のコンテンツ同期システムは、コンテンツを再生する複数のコンテンツ再生装置９０と、複数のコンテンツ再生装置におけるコンテンツ制御を同期させるコンテンツ同期制御装置８０とを備える。
【０１４３】
コンテンツ同期制御装置８０は、要求情報受信手段８１と、問い合わせ受信手段８２と、問い合わせ応答送信手段８３と、応答制御手段８４と、開始時刻決定手段８５とを備える（図１５および図１６参照）。
【０１４４】
要求情報受信手段８１（例えば、制御要求受信手段１０５）は、コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置で同期して実行されることを要求する要求情報（例えば、再生制御要求）を各コンテンツ再生装置から受信する。
【０１４５】
問い合わせ受信手段８２（例えば、問い合わせ受信手段１０１）は、各コンテンツ再生装置９０から、そのコンテンツ再生装置９０に送信する再生制御コマンドの有無の問い合わせを受信する。
【０１４６】
問い合わせ応答送信手段８３（例えば、問い合わせ応答送信手段１０３）は、問い合わせの送信元のコンテンツ再生装置に対して、問い合わせに対する応答である問い合わせ応答を送信する。
【０１４７】
応答制御手段８４（例えば、応答制御手段１１１）は、問い合わせの受信時から一定期間、問い合わせ応答送信手段８３にその問い合わせに対する問い合わせ応答の送信を待機させ、一の問い合わせの受信時から一定期間が経過したことによりその一の問い合わせに対する問い合わせ応答の送信の待機を解除する場合に、全ての問い合わせ応答の送信に関して待機を解除する。
【０１４８】
開始時刻決定手段８５（例えば、制御時刻決定手段１０６）は、要求情報受信手段８１が受信した要求情報が示す再生制御コマンドに応じたコンテンツ制御を各コンテンツ再生装置９０が開始する開始時刻を決定する。
【０１４９】
そして、応答制御手段８４は、要求情報受信手段８１が要求情報を受信した場合に、各コンテンツ再生装置９０に対する各問い合わせ応答の送信を待機させているという条件が成立すると、各問い合わせ応答の送信に関して待機を解除する。問い合わせ応答送信手段８３は、その条件が成立したことによって、各コンテンツ再生装置９０に対する各問い合わせ応答の送信の待機が解除されると、要求情報が示す再生制御コマンドおよび当該再生制御コマンドに関して決定された開始時刻の情報を含む再生制御情報を含めた問い合わせ応答を送信する。
【０１５０】
また、コンテンツ再生手段９０は、要求情報送信手段９１と、問い合わせ送信手段９２と、問い合わせ応答受信手段９３と、再生制御手段９４とを備える（図１３および図１５参照）。
【０１５１】
要求情報送信手段９１（例えば、制御要求送信手段２０４）は、コンテンツ同期制御装置８０に要求情報を送信する。
【０１５２】
問い合わせ送信手段９２（例えば、問い合わせ送信手段２０１）は、コンテンツ同期制御装置に問い合わせを送信する。
【０１５３】
問い合わせ応答受信手段９３（例えば、問い合わせ応答受信手段２０２）は、問い合わせに応じて問い合わせ応答送信手段８３が送信した問い合わせ応答を受信する。
【０１５４】
再生制御手段９４（例えば、再生制御手段２０７）は、問い合わせ応答が再生制御情報を含んでいる場合に、再生制御情報が示す開始時刻に、再生制御情報が示す再生制御コマンドによるコンテンツ制御を開始する。
【０１５５】
問い合わせ送信手段９２は、問い合わせ応答受信手段９３が問い合わせ応答を受信すると再度、問い合わせを送信する。
【０１５６】
以上のような構成により、ＨＴＴＰのもとでロングポーリングを採用する場合に、複数のコンテンツ再生装置でのコンテンツ制御を同期させるようにコンテンツ同期制御装置が各コンテンツ再生装置を制御することができる。
【０１５７】
上記の実施形態の一部または全部は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
【０１５８】
（付記１）コンテンツを再生する複数のコンテンツ再生装置と、前記複数のコンテンツ再生装置におけるコンテンツ制御を同期させるコンテンツ同期制御装置とを備え、前記コンテンツ同期制御装置は、コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置で同期して実行されることを要求する要求情報を各コンテンツ再生装置から受信する要求情報受信部と、各コンテンツ再生装置から、当該コンテンツ再生装置に送信する再生制御コマンドの有無の問い合わせを受信する問い合わせ受信部と、
問い合わせの送信元のコンテンツ再生装置に対して、前記問い合わせに対する応答である問い合わせ応答を送信する問い合わせ応答送信部と、問い合わせの受信時から一定期間、前記問い合わせ応答送信部に当該問い合わせに対する問い合わせ応答の送信を待機させ、一の問い合わせの受信時から前記一定期間が経過したことにより当該一の問い合わせに対する問い合わせ応答の送信の待機を解除する場合に、全ての問い合わせ応答の送信に関して待機を解除する応答制御部と、要求情報受信部が受信した要求情報が示す再生制御コマンドに応じたコンテンツ制御を各コンテンツ再生装置が開始する開始時刻を決定する開始時刻決定部とを備え、前記応答制御部は、要求情報受信部が要求情報を受信した場合に、各コンテンツ再生装置に対する各問い合わせ応答の送信を待機させているという条件が成立すると、前記各問い合わせ応答の送信に関して待機を解除し、問い合わせ応答送信部は、前記条件が成立したことによって、各コンテンツ再生装置に対する各問い合わせ応答の送信の待機が解除されると、前記要求情報が示す再生制御コマンドおよび当該再生制御コマンドに関して決定された開始時刻の情報を含む再生制御情報を含めた問い合わせ応答を送信し、各コンテンツ再生装置は、前記コンテンツ同期制御装置に前記要求情報を送信する要求情報送信部と、前記コンテンツ同期制御装置に前記問い合わせを送信する問い合わせ送信部と、前記問い合わせに応じて前記問い合わせ応答送信部が送信した問い合わせ応答を受信する問い合わせ応答受信部と、前記問い合わせ応答が再生制御情報を含んでいる場合に、当該再生制御情報が示す開始時刻に、当該再生制御情報が示す再生制御コマンドによるコンテンツ制御を開始する再生制御部とを備え、前記問い合わせ送信部は、前記問い合わせ応答受信部が問い合わせ応答を受信すると再度、問い合わせを送信することを特徴とするコンテンツ同期システム。
【０１５９】
（付記２）コンテンツ同期制御装置は、問い合わせ受信部が問い合わせを受信したときに、当該問い合わせの送信元のコンテンツ再生装置と当該コンテンツ同期制御装置との間の往復の通信時間である通信遅延を算出する通信遅延算出部を備え、開始時刻決定部は、コンテンツ再生装置毎の通信遅延に基づいて、各コンテンツ再生装置がコンテンツ制御を開始する開始時刻を決定する付記１に記載のコンテンツ同期システム。
【０１６０】
（付記３）開始時刻決定部は、コンテンツ再生装置毎に、コンテンツ同期制御装置とコンテンツ再生装置間の片道の通信時間を通信遅延に基づいて計算し、前記片道の通信時間に所定の時間を加算した時間を計算し、その計算結果の最大値を現在時刻に加算することによって、各コンテンツ再生装置がコンテンツ制御を開始する開始時刻を決定する付記２に記載のコンテンツ同期システム。
【０１６１】
（付記４）各コンテンツ再生装置の問い合わせ送信部は、問い合わせ応答の受信時から問い合わせの送信時までの経過時間を問い合わせに含めて送信し、コンテンツ同期制御装置の通信遅延算出部は、問い合わせ応答の送信間隔から前記経過時間を減算することにより、問い合わせの送信元のコンテンツ再生装置に関する通信遅延を算出する付記２または付記３に記載のコンテンツ同期システム。
【０１６２】
（付記５）複数のコンテンツ再生装置におけるコンテンツ制御を同期させるコンテンツ同期制御装置であって、コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置で同期して実行されることを要求する要求情報を各コンテンツ再生装置から受信する要求情報受信部と、各コンテンツ再生装置から、当該コンテンツ再生装置に送信する再生制御コマンドの有無の問い合わせを受信する問い合わせ受信部と、問い合わせの送信元のコンテンツ再生装置に対して、前記問い合わせに対する応答である問い合わせ応答を送信する問い合わせ応答送信部と、問い合わせの受信時から一定期間、前記問い合わせ応答送信部に当該問い合わせに対する問い合わせ応答の送信を待機させ、一の問い合わせの受信時から前記一定期間が経過したことにより当該一の問い合わせに対する問い合わせ応答の送信の待機を解除する場合に、全ての問い合わせ応答の送信に関して待機を解除する応答制御部と、要求情報受信部が受信した要求情報が示す再生制御コマンドに応じたコンテンツ制御を各コンテンツ再生装置が開始する開始時刻を決定する開始時刻決定部とを備え、前記応答制御部は、要求情報受信部が要求情報を受信した場合に、各コンテンツ再生装置に対する各問い合わせ応答の送信を待機させているという条件が成立すると、前記各問い合わせ応答の送信に関して待機を解除し、問い合わせ応答送信部は、前記条件が成立したことによって、各コンテンツ再生装置に対する各問い合わせ応答の送信の待機が解除されると、前記要求情報が示す再生制御コマンドおよび当該再生制御コマンドに関して決定された開始時刻の情報を含む再生制御情報を含めた問い合わせ応答を送信することを特徴とするコンテンツ同期制御装置。
【０１６３】
（付記６）問い合わせ受信部が問い合わせを受信したときに、当該問い合わせの送信元のコンテンツ再生装置と当該コンテンツ同期制御装置との間の往復の通信時間である通信遅延を算出する通信遅延算出部を備え、開始時刻決定部は、コンテンツ再生装置毎の通信遅延に基づいて、各コンテンツ再生装置がコンテンツ制御を開始する開始時刻を決定する付記５に記載のコンテンツ同期制御装置。
【０１６４】
（付記７）コンテンツを再生するコンテンツ再生装置であって、コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置で同期して実行されることを要求する要求情報を、複数のコンテンツ再生装置におけるコンテンツ制御を同期させるコンテンツ同期制御装置に送信する要求情報送信部と、当該コンテンツ再生装置に送信する再生制御コマンドの有無の問い合わせを前記コンテンツ同期制御装置に送信する問い合わせ送信部と、前記問い合わせに応じて前記コンテンツ同期制御装置が送信した問い合わせ応答を受信する問い合わせ応答受信部と、前記問い合わせ応答が再生制御コマンドと、当該再生制御コマンドに応じたコンテンツ制御の開始時刻の情報とを含んでいる場合に、前記開始時刻に、再生制御コマンドによるコンテンツ制御を開始する再生制御部とを備え、前記問い合わせ送信部は、前記問い合わせ応答受信部が問い合わせ応答を受信すると再度、問い合わせを送信することを特徴とするコンテンツ再生装置。
【０１６５】
（付記８）問い合わせ送信部は、問い合わせ応答の受信時から問い合わせの送信時までの経過時間の情報を問い合わせに含めてコンテンツ同期制御装置に送信する付記７に記載のコンテンツ再生装置。
【０１６６】
この出願は、２０１１年９月２６日に出願された日本特許出願２０１１−２０８４９４を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【０１６７】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用の可能性】
【０１６８】
本発明は、複数のコンテンツ再生装置でのコンテンツ制御を同期させる用途に好適に適用される。
【符号の説明】
【０１６９】
１０，１１  サーバ（コンテンツ同期制御装置）
２０，２０ａ，２０ｂ  クライアント端末（コンテンツ再生装置）
１０１  問い合わせ受信手段
１０３  問い合わせ応答送信手段
１０４  通信遅延管理手段
１０５  制御要求受信手段
１０６  制御時刻決定手段
１０７  制御情報管理手段
１０８  時刻同期手段
１０９  データ記憶手段
１１０  データ送信手段
１１１  応答制御手段
２０１  問い合わせ送信手段
２０２  問い合わせ応答受信手段
２０３  問い合わせ制御手段
２０４  制御要求送信手段
２０５  再生手段
２０６  時刻同期手段
２０７  再生制御手段
２０８  データ受信手段
２０９  データ蓄積手段
【図１】
2013046573.tif 000003
【図２】
2013046573.tif 000004
【図３】
2013046573.tif 000005
【図４】
2013046573.tif 000006
【図５】
2013046573.tif 000007
【図６】
2013046573.tif 000008
【図７】
2013046573.tif 000009
【図８】
2013046573.tif 000010
【図９】
2013046573.tif 000011
【図１０】
2013046573.tif 000012
【図１１】
2013046573.tif 000013
【図１２】
2013046573.tif 000014
【図１３】
2013046573.tif 000015
【図１４】
2013046573.tif 000016
【図１５】
2013046573.tif 000017
【図１６】
2013046573.tif 000018
【図１７】
2013046573.tif 000019
【図１８】
2013046573.tif 000020
【国際調査報告】
2013046573.tif 000021
2013046573.tif 000022