(57)【特許請求の範囲】
【請求項１】
コンテンツ配信サーバとキャッシュサーバとコンテンツ視聴装置とを、ネットワークを介して接続し、予め設定された編成情報に従って、前記コンテンツ配信サーバから、前記キャッシュサーバを経由して、前記コンテンツ視聴装置にコンテンツを配信するとともに、前記コンテンツ視聴装置から指定されたコンテンツを配信するコンテンツ配信システムであって、
前記コンテンツ配信サーバは、
複数のコンテンツを記憶するコンテンツ記憶手段と、
前記編成情報に従って配信するコンテンツを予め定めた時間長のブロックデータに分割し、当該コンテンツの編成上の放送チャンネルを識別するためのチャンネル識別と、前記ブロックデータの編成上の放送時刻とを付加したブロック化コンテンツを生成し、前記キャッシュサーバに編成番組データとして送信する編成番組データ送信手段と、
前記キャッシュサーバから、前記チャンネル識別および前記放送時刻を指定したデータ要求を受け付ける第１のデータ要求受付手段と、
前記編成情報に基づいて、前記第１のデータ要求受付手段で受け付けたデータ要求で指定されたチャンネル識別および放送時刻に対応した、前記時間長分のコンテンツのデータを前記コンテンツ記憶手段から読み出して当該チャンネル識別および放送時刻を付加したブロック化コンテンツを生成し、要求のあったキャッシュサーバに指定番組データとして送信する指定番組データ送信手段と、を備え、
前記キャッシュサーバは、
前記ブロック化コンテンツのそれぞれを一時的に記憶するデータ記憶手段と、
前記コンテンツ配信サーバから送信されたブロック化コンテンツである前記編成番組データおよび前記指定番組データを受信し、前記データ記憶手段に記憶させるデータ受信手段と、
前記コンテンツ視聴装置から、編成に従った前記編成番組データまたは前記チャンネル識別および前記放送時刻を指定した前記指定番組データのデータ要求を受け付ける第２のデータ要求受付手段と、
この第２のデータ要求受付手段で受け付けたデータ要求で、前記チャンネル識別および前記放送時刻を指定して前記指定番組データを要求された場合に、当該チャンネル識別および放送時刻を検索キーとして、前記データ記憶手段から指定番組データを検索する検索実行手段と、
この検索実行手段において、要求のあった指定番組データが検索されなかった場合、前記検索キーであるチャンネル識別および放送時刻を指定して、前記コンテンツ配信サーバに指定番組データを要求するデータ要求手段と、
前記検索実行手段で検索された指定番組データ、または、前記データ受信手段で受信した編成番組データまたは指定番組データを、当該データを要求したコンテンツ視聴装置に送信するデータ送信手段と、
を備えることを特徴とするコンテンツ配信システム。
【請求項２】
前記キャッシュサーバは、前記ネットワークに複数接続され、
前記検索実行手段は、他のキャッシュサーバとの間で前記検索キーに該当する指定番組データを検索するものであり、前記第２のデータ要求受付手段は、さらに前記他のキャッシュサーバから、指定番組データの要求を受け付けるものであって、
前記検索実行手段において、前記検索キーに対応する指定番組データが前記データ記憶手段に記憶されておらず、かつ、前記他のキャッシュサーバに記憶されている場合に、前記データ要求手段は、当該指定番組データを、前記他のキャッシュサーバに要求することを特徴とする請求項１に記載のコンテンツ配信システム。
【請求項３】
コンテンツ配信サーバとキャッシュサーバとコンテンツ視聴装置とを、ネットワークを介して接続し、予め設定された編成情報に従って、前記コンテンツ配信サーバから、前記キャッシュサーバを経由して、前記コンテンツ視聴装置にコンテンツを配信するとともに、前記コンテンツ視聴装置から指定されたコンテンツを配信するコンテンツ配信システムにおける前記コンテンツ配信サーバであって、
複数のコンテンツを記憶するコンテンツ記憶手段と、
前記編成情報に従って配信するコンテンツを予め定めた時間長のブロックデータに分割し、当該コンテンツの編成上の放送チャンネルを識別するためのチャンネル識別と、前記ブロックデータの編成上の放送時刻とを付加したブロック化コンテンツを生成し、前記キャッシュサーバに編成番組データとして送信する編成番組データ送信手段と、
前記キャッシュサーバから、前記チャンネル識別および前記放送時刻を指定したデータ要求を受け付けるデータ要求受付手段と、
前記編成情報に基づいて、前記データ要求受付手段で受け付けたデータ要求で指定されたチャンネル識別および放送時刻に対応した、前記時間長分のコンテンツのデータを前記コンテンツ記憶手段から読み出して当該チャンネル識別および放送時刻を付加したブロック化コンテンツを生成し、要求のあったキャッシュサーバに指定番組データとして送信する指定番組データ送信手段と、
を備えることを特徴とするコンテンツ配信サーバ。
【請求項４】
複数のコンテンツを記憶するコンテンツ記憶手段を備えるコンテンツ配信サーバと、キャッシュサーバと、コンテンツ視聴装置とを、ネットワークを介して接続し、予め設定された編成情報に従って、前記コンテンツ配信サーバから、前記キャッシュサーバを経由して、前記コンテンツ視聴装置にコンテンツを配信するとともに、前記コンテンツ視聴装置から指定されたコンテンツを配信するコンテンツ配信システムにおける前記コンテンツ配信サーバのコンピュータを、
前記編成情報に従って配信するコンテンツを予め定めた時間長のブロックデータに分割し、当該コンテンツの編成上の放送チャンネルを識別するためのチャンネル識別と、前記ブロックデータの編成上の放送時刻とを付加したブロック化コンテンツを生成し、前記キャッシュサーバに編成番組データとして送信する編成番組データ送信手段、
前記キャッシュサーバから、前記チャンネル識別および前記放送時刻を指定したデータ要求を受け付けるデータ要求受付手段、
前記編成情報に基づいて、前記データ要求受付手段で受け付けたデータ要求で指定されたチャンネル識別および放送時刻に対応した、前記時間長分のコンテンツのデータを前記コンテンツ記憶手段から読み出して当該チャンネル識別および放送時刻を付加したブロック化コンテンツを生成し、要求のあったキャッシュサーバに指定番組データとして送信する指定番組データ送信手段、
として機能させることを特徴とするコンテンツ配信プログラム。
【請求項５】
コンテンツ配信サーバとキャッシュサーバとコンテンツ視聴装置とを、ネットワークを介して接続し、予め設定された編成情報に従って、前記コンテンツ配信サーバから、前記キャッシュサーバを経由して、前記コンテンツ視聴装置にコンテンツを配信するとともに、前記コンテンツ視聴装置から指定されたコンテンツを配信するコンテンツ配信システムにおける前記キャッシュサーバであって、
コンテンツが予め定めた時間長のブロックデータに分割され、当該コンテンツの編成上の放送チャンネルを識別するためのチャンネル識別と、前記ブロックデータの編成上の放送時刻とが付加されたブロック化コンテンツを一時的に記憶するデータ記憶手段と、
前記コンテンツ配信サーバから送信されたブロック化コンテンツを受信し、前記データ記憶手段に記憶させるデータ受信手段と、
前記コンテンツ視聴装置から、編成に従ったブロック化コンテンツである編成番組データまたは前記チャンネル識別および前記放送時刻を指定したブロック化コンテンツである指定番組データのデータ要求を受け付けるデータ要求受付手段と、
このデータ要求受付手段で受け付けたデータ要求で、前記チャンネル識別および前記放送時刻を指定して前記指定番組データを要求された場合に、当該チャンネル識別および放送時刻を検索キーとして、前記データ記憶手段、および、前記ネットワークに接続された他のキャッシュサーバとの間で前記検索キーに該当する指定番組データを検索する検索実行手段と、
この検索実行手段において、要求のあった指定番組データが検索されなかった場合、前記検索キーであるチャンネル識別および放送時刻を指定して、前記コンテンツ配信サーバに指定番組データを要求するデータ要求手段と、
前記検索実行手段で検索された指定番組データ、または、前記データ受信手段で受信した編成番組データまたは指定番組データを、当該データを要求したコンテンツ視聴装置に送信するデータ送信手段と、
を備えることを特徴とするキャッシュサーバ。
【請求項６】
コンテンツ配信サーバと、コンテンツを一時的に記憶するデータ記憶手段を備えたキャッシュサーバと、コンテンツ視聴装置とを、ネットワークを介して接続し、予め設定された編成情報に従って、前記コンテンツ配信サーバから、前記キャッシュサーバを経由して、前記コンテンツ視聴装置にコンテンツを配信するとともに、前記コンテンツ視聴装置から指定されたコンテンツを配信するコンテンツ配信システムにおける前記キャッシュサーバのコンピュータを、
コンテンツが予め定めた時間長のブロックデータに分割され、当該コンテンツの編成上の放送チャンネルを識別するためのチャンネル識別と、前記ブロックデータの編成上の放送時刻とが付加されたブロック化コンテンツを、前記コンテンツ配信サーバから受信し、前記データ記憶手段に記憶させるデータ受信手段、
前記コンテンツ視聴装置から、編成に従ったブロック化コンテンツである編成番組データまたは前記チャンネル識別および前記放送時刻を指定したブロック化コンテンツである指定番組データのデータ要求を受け付けるデータ要求受付手段、
このデータ要求受付手段で受け付けたデータ要求で、前記チャンネル識別および前記放送時刻を指定して前記指定番組データを要求された場合に、当該チャンネル識別および放送時刻を検索キーとして、前記データ記憶手段、および、前記ネットワークに接続された他のキャッシュサーバとの間で前記検索キーに該当する指定番組データを検索する検索実行手段、
この検索実行手段において、要求のあった指定番組データが検索されなかった場合、前記検索キーであるチャンネル識別および放送時刻を指定して、前記コンテンツ配信サーバに指定番組データを要求するデータ要求手段、
前記検索実行手段で検索された指定番組データ、または、前記データ受信手段で受信した編成番組データまたは指定番組データを、当該データを要求したコンテンツ視聴装置に送信するデータ送信手段、
として機能させることを特徴とするキャッシュプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、視聴者が、ネットワーク経由で放送番組（コンテンツ）を視聴するためのコンテンツ配信システム、並びに、コンテンツ配信サーバ、キャッシュサーバ、およびそれらのプログラムに関する。
【背景技術】
【０００２】
従来、放送番組を視聴する視聴形態は、視聴者（以下、ユーザという）が、番組の編成に従って配信される放送番組（以下、コンテンツという）をリアルタイム視聴する以外にも、ユーザが任意のタイミングでコンテンツを視聴する視聴形態が実現されている。
例えば、放送されたコンテンツをファイルとして記憶媒体に記憶し、ユーザが好きな時間にコンテンツを指定して視聴するタイムシフト視聴が可能なハードディスクレコーダは一般的なものとなっている。また、テレビ番組、ラジオ番組、あるいは、映画を、ファイルとしてネットワーク経由でダウンロードして視聴するビデオ・オン・デマンドも一般的なものとなっている。
【０００３】
このように、ユーザが任意のタイミングでコンテンツを視聴する形態において、さらに、ユーザが選択した任意の位置（シーン）からコンテンツを再生する技術が種々開示されている（特許文献１〜５参照）。
例えば、特許文献１には、記憶媒体に記憶された動画情報の読み出し位置を、指定された時間分だけ、前または後にスキップさせて動画情報を読み出して再生を行う技術が開示されている。
特許文献２には、ネットワーク経由で配信されたコンテンツを記憶媒体に記憶しておき、ウェブサイトやネットワーク上で公開されている番組表から、ユーザが所望の番組を指定し、放送日と放送時間を指定することで、所望の番組の任意の位置からコンテンツを再生する技術が開示されている。
【０００４】
特許文献３には、タイムシフト視聴として、コンテンツ全体を受信機に記憶、あるいは、ユーザが所望する一部のコンテンツを記憶し、あとから、ランダムアクセスにより再生したり、ユーザが所望のシーンのみを何度も視聴したりする技術が開示されている。
特許文献４には、パケット伝送を行うＩＰネットワークによる放送において、ザッピング視聴を行うために、ザッピングのために別途用意した映像データを蓄積しておき、ザッピングが行われた際にその映像データを再生することで、ネットワーク遅延に伴うコンテンツ再生までの待ち時間を短縮し、高速なザッピングを実現する技術が開示されている。
特許文献５には、ネットワーク上に存在するコンテンツを、所定のグループごとに実時刻と対応する時間軸上に仮想的に配置して、コンテンツを時間軸上のグループ単位で切り替えて再生する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２２３４０８号公報
【特許文献２】特開２００７−２２８６１９号公報
【特許文献３】特許第４４６２７４９号公報
【特許文献４】特許第４４４３８３３号公報
【特許文献５】特開２０１０−２８４３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１〜４に記載されている技術では、任意のシーンからコンテンツを再生するために、予めコンテンツ、あるいはその一部を装置内の記憶媒体（メモリ、ハードディスク等）に記憶しておかなければならない。
しかし、単にコンテンツ内だけにとどまらず、放送番組として過去に放送されたコンテンツに対して、編成情報である放送時刻に沿ってアクセスしたい、すなわち、時間方向にザッピングを行いたいという要望がある。
【０００７】
この場合、従来の技術では、ユーザが視聴したいシーンを変えてアクセスできるコンテンツは、記憶媒体内に記憶されているコンテンツ（あるいはその一部）であって、放送時間を遡って他のコンテンツにアクセスすることはできない。例え、放送時間を遡って他のコンテンツをアクセスするために、複数のコンテンツを記憶媒体に記憶するとしても、現時点において、ユーザがアクセスを希望するコンテンツの放送時間が未定であるため、過去に放送された全コンテンツがアクセス対象となり、全コンテンツをユーザの視聴装置に記憶するのは、現実的には不可能である。
【０００８】
一方、特許文献５に記載されている技術は、視聴するコンテンツを、ネットワークを介して取得するもので、グループ単位でのザッピングを可能にしている。例えば、ここで、グループを１つのチャンネル（放送局）とすれば、ネットワークを介して配信される放送番組に対して、チャンネルごとのザッピングを行うことができる。しかし、この従来の技術では、チャンネルごとにコンテンツを切り替える技術であるため、放送番組として放送されるコンテンツに対して、編成情報の放送時刻を指定してアクセスすることはできないという問題がある。
【０００９】
本発明は、以上のような問題点に鑑みてなされたものであり、ネットワークを介して放送番組として配信されるコンテンツを視聴する際に、編成情報である放送時刻を指定してコンテンツにアクセスすることが可能なコンテンツ配信システム、並びに、コンテンツ配信サーバ、キャッシュサーバ、およびそれらのプログラムを提供することを課題とする。
【課題を解決するための手段】
【００１０】
本発明は、前記課題を解決するために創案されたものであり、まず、請求項１に記載のコンテンツ配信システムは、コンテンツ配信サーバとキャッシュサーバとコンテンツ視聴装置とを、ネットワークを介して接続し、予め設定された編成情報に従って、前記コンテンツ配信サーバから、前記キャッシュサーバを経由して、前記コンテンツ視聴装置にコンテンツを配信するとともに、前記コンテンツ視聴装置から指定されたコンテンツを配信するコンテンツ配信システムであって、前記コンテンツ配信サーバは、コンテンツ記憶手段と、編成番組データ送信手段と、第１のデータ要求受付手段と、指定番組データ送信手段と、を備え、前記キャッシュサーバは、データ記憶手段と、データ受信手段と、第２のデータ要求受付手段と、検索実行手段と、データ要求手段と、データ送信手段と、を備える構成とした。
【００１１】
かかる構成において、コンテンツ配信システムは、コンテンツ配信サーバのコンテンツ記憶手段に複数のコンテンツを記憶しておく。このコンテンツ記憶手段には、過去に配信されたコンテンツ、および、これから配信する予定のコンテンツが記憶される。
【００１２】
また、コンテンツ配信システムは、コンテンツ配信サーバの編成番組データ送信手段によって、編成情報に従って配信するコンテンツを予め定めた時間長のブロックデータに分割し、チャンネル識別と放送時刻とを付加したブロック化コンテンツを生成して、キャッシュサーバに編成番組データとして送信する。ここで、チャンネル識別は、コンテンツの編成上の放送チャンネルを識別するための識別情報である。また、放送時刻は、ブロックデータの編成上の再生時刻である。このチャンネル識別と放送時刻とによって、編成上でどのコンテンツのどの部分のデータ（ブロックデータ）であるのかを特定することができる。
【００１３】
また、コンテンツ配信システムは、コンテンツ配信サーバの第１のデータ要求受付手段によって、キャッシュサーバから、チャンネル識別および放送時刻を指定したデータ要求を受け付ける。
そして、コンテンツ配信システムは、コンテンツ配信サーバの指定番組データ送信手段によって、編成情報に基づいて、第１のデータ要求受付手段で受け付けたデータ要求で指定されたチャンネル識別および放送時刻に対応したデータをコンテンツ記憶手段から読み出して当該チャンネル識別および放送時刻を付加したブロック化コンテンツを生成し、要求のあったキャッシュサーバに指定番組データとして送信する。このとき、指定番組データ送信手段がコンテンツ記憶手段から読み出すデータの時間長は、編成番組データ送信手段がコンテンツを分割する時間長と同じとする。これによって、編成に従ったコンテンツのデータ（編成番組データ）と、要求されたコンテンツのデータ（指定番組データ）とが、同一の時間長のデータとして、キャッシュサーバに送信され、キャッシュサーバにおいて、データを共通に管理することができる。
【００１４】
また、コンテンツ配信システムは、キャッシュサーバのデータ受信手段によって、コンテンツ配信サーバから送信されたブロック化コンテンツである編成番組データおよび指定番組データを受信し、データ記憶手段に記憶させる。このデータ記憶手段は、ブロック化コンテンツを一時的に記憶するものであって、例えば、データ量が予め定めた最大記憶容量を超過する場合に、古いデータから削除する。
【００１５】
また、コンテンツ配信システムは、キャッシュサーバの第２のデータ要求受付手段によって、コンテンツ視聴装置から、編成に従った編成番組データまたはチャンネル識別および放送時刻を指定した指定番組データのデータ要求を受け付ける。
そして、コンテンツ配信システムは、キャッシュサーバの検索実行手段によって、第２のデータ要求受付手段で受け付けたデータ要求で、チャンネル識別および放送時刻を指定して指定番組データを要求された場合に、当該チャンネル識別および放送時刻を検索キーとして、データ記憶手段から指定番組データを検索する。
【００１６】
そして、コンテンツ配信システムは、キャッシュサーバのデータ要求手段によって、検索実行手段において、要求のあった指定番組データが検索されなかった場合、検索キーであるチャンネル識別および放送時刻を指定して、コンテンツ配信サーバに指定番組データを要求する。これによって、キャッシュサーバ内に要求されたデータがない場合に限って、コンテンツ配信サーバにデータ要求が行われることになる。
そして、コンテンツ配信システムは、キャッシュサーバのデータ送信手段によって、検索実行手段で検索された指定番組データ、または、データ受信手段で受信した編成番組データまたは指定番組データを、当該データを要求したコンテンツ視聴装置に送信する。
【００１７】
これによって、編成に従ったブロック化コンテンツ（編成番組データ）については、データ受信手段で受信したデータが、そのまま、データ送信手段からコンテンツ視聴装置に送信される。一方、編成によらず放送時刻等で指定されたブロック化コンテンツ（指定番組データ）については、キャッシュサーバ内に存在していれば、そのデータがコンテンツ視聴装置に送信され、存在していない場合は、要求によってコンテンツ配信サーバから受信したデータが、コンテンツ視聴装置に送信されることになる。
【００１８】
さらに、請求項２に記載のコンテンツ配信システムは、請求項１に記載のコンテンツ配信システムにおいて、検索実行手段が、他のキャッシュサーバとの間で検索キーに該当する指定番組データを検索するものであり、第２データ要求受付手段が、さらに他のキャッシュサーバから、指定番組データの要求を受け付けるものであって、検索実行手段において、検索キーに対応する指定番組データがデータ記憶手段に記憶されておらず、かつ、他のキャッシュサーバに記憶されている場合に、データ要求手段が、当該指定番組データを、他のキャッシュサーバに要求することを特徴とする。
【００１９】
かかる構成において、コンテンツ配信システムは、キャッシュサーバの検索実行手段において、当該キャッシュサーバ内に要求された指定番組データが存在しない場合は、他のキャッシュサーバまで検索範囲を広げることで、キャッシュサーバで要求されたデータの検索を試みる。これによって、コンテンツ配信サーバへの要求を少なくすることができ、コンテンツ配信サーバの負荷を軽減させることができる。
【００２０】
また、請求項３に記載のコンテンツ配信サーバは、コンテンツ配信サーバとキャッシュサーバとコンテンツ視聴装置とを、ネットワークを介して接続し、予め設定された編成情報に従って、前記コンテンツ配信サーバから、前記キャッシュサーバを経由して、前記コンテンツ視聴装置にコンテンツを配信するとともに、前記コンテンツ視聴装置から指定されたコンテンツを配信するコンテンツ配信システムにおける前記コンテンツ配信サーバであって、コンテンツ記憶手段と、編成番組データ送信手段と、データ要求受付手段と、指定番組データ送信手段と、を備える構成とした。
【００２１】
かかる構成において、コンテンツ配信サーバは、コンテンツ記憶手段に、過去に配信されたコンテンツ、および、これから配信する予定のコンテンツを記憶しておく。そして、コンテンツ配信サーバは、編成番組データ送信手段によって、編成情報に従って配信するコンテンツを予め定めた時間長のブロックデータに分割し、チャンネル識別と放送時刻とを付加したブロック化コンテンツを生成して、キャッシュサーバに編成番組データとして送信する。
【００２２】
また、コンテンツ配信サーバは、データ要求受付手段によって、キャッシュサーバから、チャンネル識別および放送時刻を指定したデータ要求を受け付ける。
そして、コンテンツ配信サーバは、指定番組データ送信手段によって、編成情報に基づいて、データ要求受付手段で受け付けたデータ要求で指定されたチャンネル識別および放送時刻に対応したデータをコンテンツ記憶手段から読み出して当該チャンネル識別および放送時刻を付加したブロック化コンテンツを生成し、要求のあったキャッシュサーバに指定番組データとして送信する。
【００２３】
また、請求項４に記載のコンテンツ配信プログラムのように、複数のコンテンツを記憶するコンテンツ記憶手段を備えるコンテンツ配信サーバと、キャッシュサーバと、コンテンツ視聴装置とを、ネットワークを介して接続し、予め設定された編成情報に従って、前記コンテンツ配信サーバから、前記キャッシュサーバを経由して、前記コンテンツ視聴装置にコンテンツを配信するとともに、前記コンテンツ視聴装置から指定されたコンテンツを配信するコンテンツ配信システムにおける前記コンテンツ配信サーバのコンピュータを、編成番組データ送信手段、データ要求受付手段、指定番組データ送信手段、として機能させるコンテンツ配信プログラムによって動作させることとしてもよい。
【００２４】
また、請求項５に記載のキャッシュサーバはコンテンツ配信サーバとキャッシュサーバとコンテンツ視聴装置とを、ネットワークを介して接続し、予め設定された編成情報に従って、前記コンテンツ配信サーバから、前記キャッシュサーバを経由して、前記コンテンツ視聴装置にコンテンツを配信するとともに、前記コンテンツ視聴装置から指定されたコンテンツを配信するコンテンツ配信システムにおける前記キャッシュサーバであって、データ記憶手段と、データ受信手段と、データ要求受付手段と、検索実行手段と、データ要求手段と、データ送信手段と、を備える構成とした。
【００２５】
かかる構成において、キャッシュサーバは、データ受信手段によって、コンテンツ配信サーバから送信されたブロック化コンテンツを受信し、データ記憶手段に記憶させる。
また、キャッシュサーバは、データ要求受付手段によって、コンテンツ視聴装置から、編成に従ったブロック化コンテンツである編成番組データまたはチャンネル識別および放送時刻を指定したブロック化コンテンツである指定番組データのデータ要求を受け付ける。
【００２６】
そして、キャッシュサーバは、検索実行手段によって、データ要求受付手段で受け付けたデータ要求で、チャンネル識別および放送時刻を指定して前記指定番組データを要求された場合に、当該チャンネル識別および放送時刻を検索キーとして、データ記憶手段、および、前記ネットワークに接続された他のキャッシュサーバとの間で検索キーに該当する指定番組データを検索する。
【００２７】
そして、キャッシュサーバは、データ要求手段によって、検索実行手段において、要求のあった指定番組データが検索されなかった場合、検索キーであるチャンネル識別および放送時刻を指定して、コンテンツ配信サーバに指定番組データを要求する。
そして、キャッシュサーバは、データ送信手段によって、検索実行手段で検索された指定番組データ、または、データ受信手段で受信した編成番組データまたは指定番組データを、当該データを要求したコンテンツ視聴装置に送信する。
【００２８】
また、請求項６に記載のキャッシュプログラムのように、コンテンツ配信サーバと、コンテンツを一時的に記憶するデータ記憶手段を備えたキャッシュサーバと、コンテンツ視聴装置とを、ネットワークを介して接続し、予め設定された編成情報に従って、前記コンテンツ配信サーバから、前記キャッシュサーバを経由して、前記コンテンツ視聴装置にコンテンツを配信するとともに、前記コンテンツ視聴装置から指定されたコンテンツを配信するコンテンツ配信システムにおける前記キャッシュサーバのコンピュータを、データ受信手段、データ要求受付手段、検索実行手段、データ要求手段、データ送信手段、として機能させるキャッシュプログラムとして動作させることとしてもよい。
【発明の効果】
【００３４】
本発明は、以下に示す優れた効果を奏するものである。
請求項１に記載の発明によれば、コンテンツをコンテンツ視聴装置に記憶することなく、編成情報の放送時刻を指定することで、時間方向に沿ってコンテンツにアクセスすることができる。これによって、コンテンツ視聴装置でコンテンツを視聴するユーザは、視聴するコンテンツを時間方向に遡って視聴したり、そのコンテンツ内における再生位置を変えたりすることが可能になる。
【００３５】
請求項２に記載の発明によれば、コンテンツ視聴装置から、チャンネル識別および放送時刻を指定した要求があった場合、複数のキャッシュサーバ内のいずれかにそのデータが記憶されていれば、コンテンツ配信サーバに要求を行うことがない。これによって、コンテンツ配信サーバの負荷を軽減させることができる。
【００３６】
請求項３，４に記載の発明によれば、編成情報に従ってコンテンツを配信するのみならず、キャッシュサーバを経由してコンテンツ視聴装置から要求のあったコンテンツを配信することができる。これによって、コンテンツ視聴装置がコンテンツを記憶することなく、時間方向に遡ってコンテンツを再生させることができる。
【００３７】
請求項５，６に記載の発明によれば、コンテンツ配信サーバが配信したブロック化コンテンツを一時的に保持しておくため、コンテンツ視聴装置から要求があった場合にその要求のあったデータを再送信することができ、コンテンツ配信サーバへの要求負荷を抑えることができる。また、請求項５，６に記載の発明によれば、キャッシュサーバ内に該当するデータが存在しない場合であっても、他のキャッシュサーバにおいて当該データが存在すれば、そのデータをコンテンツ視聴装置に送信するため、さらに、コンテンツ配信サーバへの負荷を軽減させることができる。
【図面の簡単な説明】
【００３９】
【図１】本発明の実施形態に係るコンテンツ配信システムの全体構成を示すシステム構成図である。
【図２】編成情報における現在時刻と指定時刻との関係を説明するための説明図である。
【図３】本発明の実施形態に係るコンテンツ配信サーバの構成を示すブロック構成図である。
【図４】コンテンツ配信サーバが配信するブロック化コンテンツの一例を示すデータ構造図である。
【図５】本発明の実施形態に係るキャッシュサーバの構成を示すブロック構成図である。
【図６】本発明の実施形態に係るコンテンツ視聴装置の構成を示すブロック構成図である。
【図７】本発明の実施形態に係るコンテンツ配信サーバの動作を示すフローチャートである。
【図８】本発明の実施形態に係るキャッシュサーバの動作を示すフローチャートである。
【図９】本発明の実施形態に係るコンテンツ視聴装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００４０】
以下、本発明の実施形態について図面を参照して説明する。
［コンテンツ配信システムの構成］
まず、図１を参照して、本発明の実施形態に係るコンテンツ配信システムの全体構成について説明する。
【００４１】
図１に示すコンテンツ配信システムＳは、放送番組の編成（編成情報）に従って、コンテンツ視聴装置３にコンテンツ（放送番組）を配信して、ユーザがコンテンツを視聴することを可能とするとともに、コンテンツ視聴装置３にコンテンツを蓄積することなく、ユーザが過去の時間に遡ってコンテンツを視聴することを可能にするものである。
【００４２】
ここでは、コンテンツ配信システムＳは、コンテンツ配信サーバ１と、複数のキャッシュサーバ２（２１，２２，…，２ｍ）とを、ネットワークを介して接続することで構成している。また、各キャッシュサーバ２には、複数のコンテンツ視聴装置３（３１，３２，…，３ｎ）がネットワークを介して接続される。
【００４３】
コンテンツ配信サーバ１は、放送番組の編成に従って、コンテンツを逐次ブロック化したデータ（編成番組データ）として、予め定めたキャッシュサーバに送信するものである。また、コンテンツ配信サーバ１は、キャッシュサーバ２から、放送チャンネル（以下、チャンネルという）や放送時刻を指定してコンテンツを要求されることで、その指定されたチャンネル、放送時刻に対応するコンテンツのデータ（指定番組データ）を、要求のあったキャッシュサーバ２に送信するものでもある。
【００４４】
キャッシュサーバ２は、コンテンツ配信サーバ１が配信する編成に従ったコンテンツを一時的に記憶して、コンテンツ視聴装置３に配信するものである。また、キャッシュサーバ２は、コンテンツ視聴装置３から、チャンネルや放送時刻を指定してコンテンツを要求されることで、キャッシュサーバ２内に要求されたコンテンツのデータ（指定番組データ）が記憶されていれば、そのデータをコンテンツ視聴装置３に送信するものでもある。
【００４５】
なお、キャッシュサーバ２（例えば、２１）は、自身のサーバ内に、指定番組データが存在しない場合、他のキャッシュサーバ２（２２，…，２ｍ）に当該指定番組データが存在する場合には、そのデータを取得して、コンテンツ視聴装置３に送信する。また、他のキャッシュサーバ２（２２，…，２ｍ）にも、指定番組データが存在しない場合、キャッシュサーバ２（２１）は、コンテンツ配信サーバ１に対して、チャンネルや放送時刻を指定して、指定番組データを取得して、コンテンツ視聴装置３に送信する。
【００４６】
このように、コンテンツ配信システムＳを構成することで、ユーザは、コンテンツ視聴装置３において、放送番組の編成に従ってコンテンツを視聴することができるとともに、過去の時刻（例えば、１０分前、１時間前、１日前等）に遡って、指定チャンネルのコンテンツを視聴することができる。
【００４７】
例えば、図２（ａ）に示すように、現在時刻において、チャンネルＡ，Ｂ，…のうちで、ユーザが、コンテンツ視聴装置３において、チャンネルＢのコンテンツＢ１を視聴していたとする。
ここで、ユーザが、コンテンツ視聴装置３において、リモコン装置（図示せず）で、現在時刻よりも前の時刻（絶対時刻または相対時刻）を指定することで、指定時刻のコンテンツＢ２が、キャッシュサーバ２から、送信されることになる。すなわち、ユーザは、コンテンツ視聴時に、時間方向にザッピングを行うことができる。
【００４８】
以下、コンテンツ配信システムＳを構成するコンテンツ配信サーバ１およびキャッシュサーバ２、並びに、本システムによって、コンテンツを視聴するコンテンツ視聴装置３の構成および動作について詳細に説明する。
【００４９】
〔コンテンツ配信サーバの構成〕
まず、図３を参照（適宜図１参照）して、コンテンツ配信サーバ１の構成について説明する。図３に示すように、コンテンツ配信サーバ１は、編成情報記憶手段１０と、コンテンツ記憶手段１１と、編成番組データ送信手段１２と、データ要求受付手段１３と、指定番組データ送信手段１４と、を備えている。
【００５０】
編成情報記憶手段１０は、チャンネル（チャンネル識別）ごとに、放送時刻とコンテンツとを対応付けた編成情報を記憶するものである。この編成情報記憶手段１０は、ハードディスク等の一般的な記憶媒体であって、外部から、番組編成に基づいて作成された編成情報が予め書き込まれる。この編成情報記憶手段１０に記憶される編成情報は、現在および将来配信するコンテンツに対する情報のみならず、過去に配信されたコンテンツに対する情報も含まれている。
【００５１】
コンテンツ記憶手段１１は、編成情報に従って配信されるコンテンツを記憶するものである。このコンテンツ記憶手段１１は、ハードディスク等の一般的な記憶媒体であって、現在および将来配信するコンテンツのみならず、過去に配信したコンテンツが記憶される。なお、コンテンツは、映像、音声に限定されず、編成情報に従って配信されるデータであれば、データ放送のデータ、あるいは、音声を字幕化した文字データ等、その種類は限定されるものではない。
【００５２】
編成番組データ送信手段１２は、コンテンツを予め定めた時間間隔のデータにブロック化し、編成情報に従って、予め定めた複数のキャッシュサーバ２に配信するものである。なお、編成番組データ送信手段１２は、コンテンツ視聴装置３において、編成時刻にコンテンツが再生されるように、編成時刻よりも予め定めた時間だけ早くコンテンツを送信するものとする。ここでは、編成番組データ送信手段１２は、編成コンテンツ読み出し手段１２ａと、コンテンツ分割手段１２ｂと、編成情報付加手段１２ｃと、を備えている。
【００５３】
編成コンテンツ読み出し手段１２ａは、編成情報記憶手段１０に記憶されている編成情報を参照し、番組の編成に従ったコンテンツをコンテンツ記憶手段１１から読み出すものである。この編成コンテンツ読み出し手段１２ａは、図示を省略した計時手段が計時する現在時刻に応じて、チャンネルごとに、編成情報から配信すべきコンテンツを特定し、コンテンツ記憶手段１１から対応するコンテンツを読み出す。
この編成コンテンツ読み出し手段１２ａは、読み出したコンテンツをコンテンツ分割手段１２ｂに出力する。
【００５４】
コンテンツ分割手段１２ｂは、コンテンツを予め定めた時間間隔のデータ（ブロックデータ）に分割するものである。このコンテンツ分割手段１２ｂは、編成コンテンツ読み出し手段１２ａによって読み出されたコンテンツを、予め定めた時間間隔（例えば、１分間隔）に分割する。
このコンテンツ分割手段１２ｂは、分割したブロックデータを、編成情報付加手段１２ｃに出力する。
【００５５】
編成情報付加手段１２ｃは、コンテンツ分割手段１２ｂで分割されたコンテンツのデータ（ブロックデータ）に、チャンネルを識別するための識別情報（チャンネル識別）と、編成上の放送時刻とを付加してブロック化したコンテンツのデータ（ブロック化コンテンツ）を生成するものである。ここで、チャンネル識別は、例えば、放送局に定められた固有のＩＤである。また、放送局に放送地域別に固有のＩＤが存在する場合は、放送局ＩＤに放送地域ＩＤを付加して構成してもよい。
【００５６】
この編成情報付加手段１２ｃは、例えば、図４に示すように、放送局ＩＤおよび放送地域ＩＤで構成されるチャンネル識別ＣＨと、年月日および時分秒の情報で構成される放送時刻ＴＭとをヘッダ情報Ｈとして、ブロックデータＢＫに付加することで、ブロック化コンテンツを生成する。
【００５７】
なお、ここでは、当該ブロック化コンテンツが、編成情報に従ったデータであるのか、指定されたデータであるのかを示す配信識別をヘッダ情報Ｈに含ませることとする。すなわち、編成情報付加手段１２ｃでは、配信識別に、当該データが編成情報に従ったデータである旨の識別情報を付加することとする。
さらに、編成情報付加手段１２ｃは、図４に示すように、当該ブロック化コンテンツの元となるコンテンツを識別するためのコンテンツＩＤをヘッダ情報Ｈに含ませることとしてもよい。
【００５８】
この編成情報付加手段１２ｃは、生成したブロック化コンテンツを、図示を省略した通信ボード等の通信送受信手段を介して、予め定めた複数のキャッシュサーバ２に送信する。なお、編成番組データ送信手段１２が送信するデータ（ブロック化コンテンツ）は、編成情報に従ったものであるため、以下では、「編成番組データ」と呼ぶこととする。
【００５９】
データ要求受付手段１３は、通信送受信手段（不図示）を介して、キャッシュサーバ２から、編成情報によらないブロック化コンテンツの要求（データ要求）を受け付けるものである。このデータ要求には、ブロック化コンテンツを特定するための情報であるチャンネル識別や放送時刻が含まれている。
このデータ要求受付手段１３は、データを要求したキャッシュサーバ２を特定する情報（例えば、ＩＰアドレス）とともに、データ要求に含まれているチャンネル識別および放送時刻を指定番組データ送信手段１４に出力する。
【００６０】
指定番組データ送信手段１４は、データ要求受付手段１３から通知されるチャンネル識別および放送時刻に対応するデータを、要求のあったキャッシュサーバ２に送信するものである。ここでは、指定番組データ送信手段１４は、ブロックデータ読み出し手段１４ａと、編成情報付加手段１４ｂと、を備えている。
【００６１】
ブロックデータ読み出し手段１４ａは、データ要求受付手段１３で要求を受け付けたデータを、コンテンツ記憶手段１１から読み出すものである。ここでは、ブロックデータ読み出し手段１４ａは、編成情報記憶手段１０に記憶されている編成情報から、データ要求に含まれていたチャンネル識別と放送時刻とに対応するコンテンツを特定する。そして、ブロックデータ読み出し手段１４ａは、コンテンツ記憶手段１１から、特定したコンテンツにおいて、要求のあった放送時刻のデータを先頭データとして、予め定めた時間間隔分のデータ（ブロックデータ）を読み出す。なお、この時間間隔は、コンテンツ分割手段１２ｂでコンテンツを分割する時間間隔と同じとする。
このブロックデータ読み出し手段１４ａは、読み出したブロックデータを、編成情報付加手段１４ｂに出力する。
【００６２】
編成情報付加手段１４ｂは、ブロックデータ読み出し手段１４ａで読み出されたコンテンツのデータ（ブロックデータ）に、チャンネルを識別するための識別情報（チャンネル識別）と、編成上の放送時刻とを付加してブロック化したコンテンツのデータ（ブロック化コンテンツ）を生成するものである。なお、チャンネル識別および放送時刻は、データ要求受付手段１３で受け付けたデータ要求で指定された情報である。
【００６３】
この編成情報付加手段１４ｂで生成するブロック化コンテンツは、編成番組データ送信手段１２で送信するデータと同様のデータ形式（図４参照）とする。なお、編成情報付加手段１４ｂは、図４で説明したブロック化コンテンツの配信識別には、当該データが指定されたデータである旨の識別情報を付加することとする。
この編成情報付加手段１４ｂは、生成したブロック化コンテンツを、通信送受信手段（不図示）を介して、データを要求したキャッシュサーバ２に送信する。
なお、指定番組データ送信手段１４が送信するデータ（ブロック化コンテンツ）は、キャッシュサーバ２からの指定（すなわち、コンテンツ視聴装置３からの指定）に応じたものであるため、以下では、「指定番組データ」と呼ぶこととする。
【００６４】
このように、コンテンツ配信サーバ１を構成することで、コンテンツ配信サーバ１は、コンテンツ（ブロック化コンテンツ）を、編成情報に従って、キャッシュサーバ２に送信することができる。また、コンテンツ配信サーバ１は、キャッシュサーバ２から要求のあったブロック化コンテンツを、編成情報によらないで送信することができる。
なお、コンテンツ配信サーバ１は、コンピュータを、前記した各手段として機能させるプログラム（コンテンツ配信プログラム）で動作させることができる。
【００６５】
〔キャッシュサーバの構成〕
次に、図５を参照（適宜図１参照）して、キャッシュサーバ２の構成について説明する。図５に示すように、キャッシュサーバ２は、データ受信手段２０と、データ書き込み手段２１と、データ読み出し手段２２と、データ記憶手段２３と、データ消去手段２４と、データ検索・取得手段２５と、データ管理手段２６と、データ要求送受信手段２７と、データ送信手段２８と、を備えている。
【００６６】
データ受信手段２０は、コンテンツ配信サーバ１や、当該キャッシュサーバ２（２１）とは異なる他のキャッシュサーバ２（２２，…，２ｍ）から、ブロック化コンテンツである編成番組データや指定番組データを、通信送受信手段（不図示）を介して受信するものである。なお、編成番組データは、コンテンツ配信サーバ１から、編成情報に従って配信されるブロック化コンテンツである。また、指定番組データは、当該キャッシュサーバ２（２１）が、コンテンツ配信サーバ１または他のキャッシュサーバ２（２２，…，２ｍ）に要求することで返信されるブロック化コンテンツである。
このデータ受信手段２０は、受信したブロック化コンテンツ（編成番組データ、指定番組データ）を、データ書き込み手段２１と、データ送信手段２８とに出力する。
【００６７】
データ書き込み手段２１は、データ受信手段２０で受信したブロック化コンテンツ（編成番組データ、指定番組データ）を、検索対象となる指定番組データの候補として、データ記憶手段２３に書き込んで記憶させるものである。なお、ここでは、データ書き込み手段２１は、ブロック化コンテンツをデータ記憶手段２３に書き込むタイミング（書き込み前、または、書き込み後）で、データ消去手段２４に対して、ブロック化コンテンツを書き込む、または、書き込んだ旨を通知することとする。
【００６８】
データ読み出し手段２２は、データ記憶手段２３に記憶されているブロック化コンテンツ（指定番組データ）を読み出すものである。ここでは、データ読み出し手段２２は、データ検索・取得手段２５の要求に基づいて、データ記憶手段２３から要求のあった指定番組データを読み出す。
【００６９】
データ記憶手段２３は、データ受信手段２０で受信したブロック化コンテンツ（編成番組データ、指定番組データ）を、検索対象となる指定番組データの候補として記憶するものであって、当該候補をチャンネル識別および放送時刻を検索キーとするデータベースとして記憶するものである。
このデータ記憶手段２３は、ハードディスク等の一般的な記憶媒体であって、データ書き込み手段２１、データ読み出し手段２２によって、ブロック化コンテンツの書き込みや読み出しが実行され、後記するデータ管理手段２６によって、指定番組データの検索が実行される。また、データ記憶手段２３は、後記するデータ消去手段２４によって、ブロック化コンテンツ（指定番組データ）の削除が実行される。
【００７０】
データ消去手段２４は、データ記憶手段２３に記憶されているブロック化コンテンツの一部を消去するものである。ここでは、データ消去手段２４は、データ書き込み手段２１からブロック化コンテンツの書き込みタイミングが通知された段階で、データ記憶手段２３に記憶されているデータ量が、予め定めた最大記憶容量を超過しているか否かを判定し、超過している場合に、ブロック化コンテンツの削除を行う。このブロック化コンテンツの削除を行う手法は、特に限定するものではないが、例えば、データ記憶手段２３にブロック化コンテンツが書き込まれた時刻や読み出された時刻を記憶しておき、書き込み時刻あるいは読み出し時刻が古いものから先に削除すればよい。
なお、ここでは、データ消去手段２４は、データ書き込み手段２１からブロック化コンテンツの書き込みタイミングが通知された段階で動作することとしたが、定期的に動作して、データ容量を判定し、ブロック化コンテンツの削除を実行することとしてもよい。
【００７１】
データ検索・取得手段２５は、コンテンツ視聴装置３から要求のあったブロック化コンテンツ（指定番組データ）の所在を検索し、所在場所から、当該指定番組データを取得し、要求のあったコンテンツ視聴装置３に送信するものである。
ここでは、データ検索・取得手段２５は、データ要求送受信手段２７を介して、コンテンツ視聴装置３から、指定番組データの要求を示すデータ要求を受信し、その要求に含まれているチャンネル識別および放送時刻をキーとして、データ管理手段２６に指定番組データの検索要求を行う。
【００７２】
そして、データ管理手段２６から、要求された指定番組データの所在が当該キャッシュサーバ２（２１）である旨の検索結果が通知された場合、データ検索・取得手段２５は、データ読み出し手段２２を介して、データ記憶手段２３から指定番組データを取得する。そして、データ検索・取得手段２５は、指定番組データを、データ送信手段２８を介して、要求のあったコンテンツ視聴装置３に送信する。
【００７３】
また、データ管理手段２６から、要求された指定番組データの所在が他のキャッシュサーバ２（２２，…，２ｍ）のいずれかである旨の検索結果が通知された場合、データ検索・取得手段２５は、データ要求送受信手段２７を介して、その指定番組データを記憶している他のキャッシュサーバ２（２２，…，２ｍ）に指定番組データの要求を行う。なお、他のキャッシュサーバ２（２２，…，２ｍ）から返信される指定番組データは、データ受信手段２０を介して受信され、データ送信手段２８を介して、要求のあったコンテンツ視聴装置３に送信される。
【００７４】
また、データ管理手段２６から、要求された指定番組データがすべてのキャッシュサーバ２（２１，２２，…，２ｍ）に存在しない旨の検索結果が通知された場合、データ検索・取得手段２５は、データ要求送受信手段２７を介して、コンテンツ配信サーバ１に指定番組データの要求を行う。なお、コンテンツ配信サーバ１から返信される指定番組データは、データ受信手段２０を介して受信され、データ送信手段２８を介して、要求のあったコンテンツ視聴装置３に送信される。
【００７５】
さらに、ここでは、データ検索・取得手段２５は、データ要求送受信手段２７を介して、他のキャッシュサーバ２（２２，…，２ｍ）から、データ要求を受信した場合、データ読み出し手段２２を介して、データ記憶手段２３から要求のあった指定番組データを読み出し、データ送信手段２８を介して、要求のあった他のキャッシュサーバ２（２２，…，２ｍ）に送信する。
【００７６】
データ管理手段２６は、キャッシュサーバ２１，２２，…，２ｍに記憶されるブロック化コンテンツ（指定番組データ）の所在を管理するものである。ここでは、データ管理手段２６は、検索要求受付手段２６ａと、検索実行手段２６ｂと、検索結果出力手段２６ｃと、を備えている。
【００７７】
検索要求受付手段２６ａは、ブロック化コンテンツ（指定番組データ）の所在を検索するための検索要求を受け付けるものである。この検索要求は、チャンネル識別および放送時刻を含んだ要求である。
ここでは、検索要求受付手段２６ａは、データ検索・取得手段２５から検索要求を受け付けるとともに、通信送受信手段（不図示）を介して、他のキャッシュサーバ２（２２，…，２ｍ）からも検索要求を受け付ける。
この検索要求受付手段２６ａは、受け付けた検索要求に含まれるチャンネル識別および放送時刻を検索のキーとして、検索実行手段２６ｂに出力する。
【００７８】
検索実行手段２６ｂは、検索要求受付手段２６ａから通知されるチャンネル識別および放送時刻を検索のキーとして、指定番組データを検索するものである。
ここで、検索実行手段２６ｂは、データ記憶手段２３において、チャンネル識別および放送時刻を検索キーとして、指定番組データを検索する。そして、データ記憶手段２３に該当する指定番組データが記憶されている場合は、その旨の検索結果を検索結果出力手段２６ｃに出力する。
【００７９】
また、検索実行手段２６ｂは、データ検索・取得手段２５から検索要求を受け付けた場合、かつ、データ記憶手段２３に該当する指定番組データが記憶されていない場合、他のキャッシュサーバ２（２２，…，２ｍ）に対して、検索要求受付手段２６ａから通知されるチャンネル識別および放送時刻を含んだ検索要求を、通信送受信手段（不図示）を介して送信する。そして、検索実行手段２６ｂは、他のキャッシュサーバ２（２２，…，２ｍ）から検索結果を取得し、指定番組データを記憶している他のキャッシュサーバ２（２２，…，２ｍ）の所在を結果として、検索結果出力手段２６ｃに出力する。なお、検索実行手段２６ｂは、他のキャッシュサーバ２（２２，…，２ｍ）にも、指定番組データが記憶されていない場合、キャッシュサーバ２（２１，２２，…，２ｍ）には、指定番組データが存在しない旨の検索結果を検索結果出力手段２６ｃに出力する。
【００８０】
なお、ここでは、検索実行手段２６ｂは、他のキャッシュサーバ２（２２，…，２ｍ）に対して、検索要求を行ったが、検索手法はこれに限定されるものではない。例えば、予め定めた数ＮでコンテンツＩＤをモジュロ演算した結果（余り）に対応付けて、当該コンテンツＩＤの指定番組データの所在を収集して管理するキャッシュサーバ２を予め定めておき、指定番組データのコンテンツＩＤのモジュロ演算結果に応じて、その演算結果に対応するキャッシュサーバ２に対して、検索要求を送信することとしてもよい。
【００８１】
検索結果出力手段２６ｃは、検索実行手段２６ｂから出力される検索結果を、検索を要求した主体に返信するものである。すなわち、検索要求受付手段２６ａにおいて、データ検索・取得手段２５から検索要求を受け付けた場合、検索結果出力手段２６ｃは、データ検索・取得手段２５に対して検索結果を出力する。また、検索要求受付手段２６ａにおいて、他のキャッシュサーバ２（２２，…，２ｍ）から検索要求を受け付けた場合、検索結果出力手段２６ｃは、通信送受信手段（不図示）を介して、他のキャッシュサーバ２（２２，…，２ｍ）に対して検索結果を送信する。
【００８２】
データ要求送受信手段２７は、コンテンツ視聴装置３からのデータ要求を受け付けるとともに、他のキャッシュサーバ２（２２，…，２ｍ）との間で、データ要求を送受信するものである。ここでは、データ要求送受信手段２７は、データ要求受付手段２７ａと、データ要求手段２７ｂと、を備えている。
【００８３】
データ要求受付手段２７ａは、通信送受信手段（不図示）を介して、コンテンツ視聴装置３や他のキャッシュサーバ２（２２，…，２ｍ）から、ブロック化コンテンツの要求（データ要求）を受け付けるものである。このデータ要求には、編成に従った要求であるか否かを示す情報と、編成によらない要求であれば、ブロック化コンテンツを特定するための情報であるチャンネル識別や放送時刻とが含まれている。
このデータ要求受付手段２７ａは、データ要求が編成に従った要求であれば、データ送信手段２８に対して、要求のあったコンテンツ視聴装置３に、データ受信手段２０で受信した編成番組データを送信する旨を指示する。
【００８４】
一方、データ要求が編成に従った要求でなければ、データ要求受付手段２７ａは、データを要求したコンテンツ視聴装置３またはキャッシュサーバ２（２２，…，２ｍ）を特定する情報（例えば、ＩＰアドレス）とともに、データ要求に含まれているチャンネル識別および放送時刻をデータ検索・取得手段２５に出力する。
また、このとき、データ要求受付手段２７ａは、データ送信手段２８に対して、要求のあったコンテンツ視聴装置３への編成番組データの停止を指示する。
【００８５】
データ要求手段２７ｂは、データ検索・取得手段２５からの要求によって、通信送受信手段（不図示）を介して、他のキャッシュサーバ２（２２，…，２ｍ）、または、コンテンツ配信サーバ１に、データ要求を送信するものである。
【００８６】
データ送信手段２８は、ブロック化コンテンツを、通信送受信手段（不図示）を介して、コンテンツ視聴装置３や他のキャッシュサーバ２（２２，…，２ｍ）に送信するものである。
このデータ送信手段２８は、データ受信手段２０から出力されるブロック化コンテンツ（編成番組データ、指定番組データ）については、コンテンツ視聴装置３に送信する。ただし、データ送信手段２８は、データ要求受付手段２７ａからの指示によって、編成番組データを送信するのか、指定番組データを送信するのかを、コンテンツ視聴装置３ごとに切り替える。
また、データ送信手段２８は、データ検索・取得手段２５から出力されるブロック化コンテンツ（指定番組データ）については、要求のあった他のキャッシュサーバ２（２２，…，２ｍ）に送信する。
【００８７】
このように、キャッシュサーバ２を構成することで、キャッシュサーバ２は、コンテンツ（ブロック化コンテンツ）を、編成情報に従って、コンテンツ視聴装置３に配信することができる。また、キャッシュサーバ２は、コンテンツ視聴装置３から要求のあったブロック化コンテンツを、編成情報によらないで配信することができる。このとき、キャッシュサーバ２は、コンテンツ視聴装置３から要求のあったブロック化コンテンツ（指定番組データ）を記憶していれば、それを送信し、記憶していなければ、他のキャッシュサーバ２（２２，…，２ｍ）から指定番組データを取得して、コンテンツ視聴装置３に送信する。これによって、キャッシュサーバ２は、コンテンツ配信サーバ１に負荷をかけずに、コンテンツ視聴装置３からのデータ要求に応じてデータを送信することができる。
なお、キャッシュサーバ２は、コンピュータを、前記した各手段として機能させるプログラム（キャッシュプログラム）で動作させることができる。
【００８８】
〔コンテンツ視聴装置の構成〕
次に、図６を参照（適宜図１参照）して、コンテンツ視聴装置３の構成について説明する。ここでは、コンテンツ視聴装置３は、再生したコンテンツを表示するための表示装置Ｍが外部に接続されている。また、コンテンツ視聴装置３は、チャンネルを指定したり、過去の編成上の放送時刻を指定したり等の操作を行うためのリモコン装置Ｒを有している。
【００８９】
このリモコン装置Ｒは、チャンネルを指定するための数字ボタン等の一般的なリモコン操作ボタン以外に、放送時刻を指定するボタンを備えている。
例えば、現在視聴している放送時刻から１時間前の放送時刻を指定するための「１時間前」ボタン、１日前の放送時刻を指定するための「１日前」ボタン等である。
また、一旦過去に遡って指定した放送時刻に対して、放送時刻を先に進めるためのボタン、例えば、「１０分後」ボタン、「３０分後」ボタン、あるいは、現在の放送時刻に戻すための「戻る」ボタン等を備えることとする。
もちろん、これらのボタンは例示であって、ボタンに示した時間に限定されるものではない。また、「戻る」ボタン以外にも、チャンネルを変更することで、現在の放送時刻に戻すこととしてもよい。
【００９０】
以下、コンテンツ視聴装置３の構成について、詳細に説明する。
図６に示すように、コンテンツ視聴装置３は、データ受信手段３０と、データ再生手段３１と、データ要求受付手段３２と、データ要求手段３３と、を備えている。
【００９１】
データ受信手段３０は、キャッシュサーバ２から、ブロック化コンテンツである編成番組データや指定番組データを、通信送受信手段（不図示）を介して、受信するものである。このデータ受信手段３０は、外部のリモコン装置Ｒから、チャンネルを指定されることで、当該チャンネルに対応するチャンネル識別（図４参照）を有するブロック化コンテンツを受信し、当該ブロック化コンテンツに含まれているデータ（ブロックデータ）のみを、データ再生手段３１に出力する。
なお、データ受信手段３０は、現在再生用のブロックデータとしてデータ再生手段３１に出力したチャンネル識別や放送時刻を、図示を省略したメモリ等の記憶媒体に、記憶しておく。
【００９２】
データ再生手段３１は、データ受信手段３０から順次出力されるブロックデータをストリームデータとして入力し、再生するものである。このデータ再生手段３１は、例えば、ストリームデータがＭＰＥＧ２の符号化方式で符号化されたデータであれば、ＭＰＥＧ２の復号を行い表示可能な出力形式の映像、音声等のデータとして、外部の表示装置Ｍに出力する。
【００９３】
データ要求受付手段３２は、リモコン装置Ｒから、現在のコンテンツの放送時刻に対して、放送時刻を変更したコンテンツの要求を受け付けるものである。
このデータ要求受付手段３２は、リモコン装置Ｒから、例えば、赤外線通信によって、放送時刻を変更するボタン（例えば、「１時間前」ボタン等）の押下を通知されることで、編成によらない放送時刻を指定したデータ要求の指示を受け付ける。また、データ要求受付手段３２は、リモコン装置Ｒから、データ要求を終了する旨のボタン（例えば、「戻る」ボタン）の押下を通知されることで、編成によらないデータ要求の終了、すなわち、編成に従ったデータの視聴への切り替えの指示を受け付ける。
そして、データ要求受付手段３２は、編成によらないデータ要求（あるいはその終了）の指示を受け付けた旨、および、指定された放送時刻（１時間前等）を、データ要求手段３３に通知する。
【００９４】
データ要求手段３３は、ブロック化コンテンツ（編成番組データ、指定番組データ）を、通信送受信手段（不図示）を介して、キャッシュサーバ２に要求するものである。
すなわち、データ要求手段３３は、編成番組データについては、逐次、キャッシュサーバ２に要求し、データ要求受付手段３２で放送時刻を指定したデータ要求を受け付けた段階で、キャッシュサーバ２に対して、指定番組データの要求に切り替える。なお、データ要求には、編成番組データの要求か、指定番組データの要求かを示す情報を付加することとする。
このデータ要求手段３３は、指定番組データの要求を行う場合、データ要求受付手段３２から通知される相対的な放送時刻から実際の放送時刻を算出し、当該放送時刻と、現在、データ受信手段３０で受信しているチャンネル（チャンネル識別）とを含んだデータ要求をキャッシュサーバ２に送信する。
【００９５】
ここで、データ要求手段３３は、データ受信手段３０から、現在受信しているデータの放送時刻を取得し、データ要求受付手段３２から通知される相対的な放送時刻を減算、または、加算することで、実際にデータ要求を行うための放送時刻を算出する。
また、データ要求手段３３は、データ要求受付手段３２から、データ要求の終了の指示が通知されるまで、順次放送時刻をずらしてデータ要求を行うこととする。なお、この放送時刻をずらす時間は、予め定めたブロック化コンテンツの時間長である。
【００９６】
このように、コンテンツ視聴装置３を構成することで、コンテンツ視聴装置３は、ユーザによるリモコン装置Ｒのボタン操作によって、編成上の時間方向に沿って指定された放送時刻のコンテンツのデータを、キャッシュサーバ２に要求することができる。これによって、ユーザは、現在視聴しているチャンネルに対して、時間方向にコンテンツの放送時間を変更して、コンテンツを視聴することができ、時間方向にザッピングを行うことができる。
なお、コンテンツ視聴装置３は、コンピュータを、前記した各手段として機能させるプログラム（コンテンツ視聴プログラム）で動作させることができる。
【００９７】
［コンテンツ配信システムの動作］
次に、図７〜図８を参照して、本発明の実施形態に係るコンテンツ配信システムの動作について説明する。
【００９８】
〔コンテンツ配信サーバの動作〕
まず、図７を参照（構成については適宜図３参照）して、コンテンツ配信サーバ１の動作について説明する。
【００９９】
コンテンツ配信サーバ１は、編成コンテンツ読み出し手段１２ａによって、編成情報記憶手段１０に記憶されている編成情報を参照し、編成に従ったコンテンツ（編成コンテンツ）をコンテンツ記憶手段１１から読み出す（ステップＳ１）。
そして、コンテンツ配信サーバ１は、コンテンツ分割手段１２ｂによって、ステップＳ１で読み出されたコンテンツを、予め定めた時間間隔に分割する（ステップＳ２）。
【０１００】
そして、コンテンツ配信サーバ１は、編成情報付加手段１２ｃによって、ステップＳ２で分割されたコンテンツのデータ（ブロックデータ）に、チャンネルを識別するための識別情報（チャンネル識別）と、編成上の放送時刻とを付加して編成番組データ（ブロック化コンテンツ）を生成する（ステップＳ３）。
その後、コンテンツ配信サーバ１は、通信送受信手段（不図示）を介して、予め定めた複数のキャッシュサーバ２に、ステップＳ３で生成した編成番組データ（ブロック化コンテンツ）を配信する（ステップＳ４）
これによって、コンテンツ配信サーバ１は、編成に従ったコンテンツをブロック化して、キャッシュサーバ２に配信することができる。
【０１０１】
ここで、データ要求受付手段１３において、キャッシュサーバ２から、編成情報によらないブロック化コンテンツの要求（データ要求）がない場合（ステップＳ５でＮｏ）、コンテンツ配信サーバ１は、ステップＳ１に動作を戻す。
【０１０２】
一方、データ要求受付手段１３において、データ要求があった場合（ステップＳ５でＹｅｓ）、ブロックデータ読み出し手段１４ａによって、要求されたデータをコンテンツ記憶手段１１から読み出す。すなわち、ブロックデータ読み出し手段１４ａは、編成情報記憶手段１０に記憶されている編成情報から、データ要求に含まれているチャンネル識別と放送時刻とに対応するコンテンツを特定し、コンテンツ記憶手段１１から、要求のあった放送時刻のデータを先頭データとして、予め定めた時間間隔分のデータ（ブロックデータ）を読み出す（ステップＳ６）。
【０１０３】
そして、コンテンツ配信サーバ１は、編成情報付加手段１４ｂによって、ステップＳ６で読み出したブロックデータに、チャンネル識別と放送時刻とを付加してブロック化した指定番組データ（ブロック化コンテンツ）を生成する（ステップＳ７）。
そして、コンテンツ配信サーバ１は、通信送受信手段（不図示）を介して、データを要求したキャッシュサーバ２に、ステップＳ７で生成した指定番組データ（ブロック化コンテンツ）を配信する（ステップＳ８）。
これによって、コンテンツ配信サーバ１は、番組の編成によらないで、要求されたコンテンツ（ブロック化コンテンツ）を、キャッシュサーバ２に配信することができる。
【０１０４】
〔キャッシュサーバの動作〕
次に、図８を参照（構成については適宜図５参照）して、キャッシュサーバ２の動作について説明する。
キャッシュサーバ２は、データ要求受付手段２７ａにおいて、ブロック化コンテンツの要求（データ要求）を待ち（ステップＳ１０でＮｏ）、データ要求があった場合（ステップＳ１０でＹｅｓ）、当該要求が、編成情報に従った要求、すなわち、編成番組データの要求であるか否かを判定する（ステップＳ１１）。
【０１０５】
ここで、データ要求が編成情報に従った要求である場合（ステップＳ１１でＹｅｓ）、キャッシュサーバ２は、データ受信手段２０によって、コンテンツ配信サーバ１から編成番組データを受信し（ステップＳ１２）、データ送信手段２８によって、要求のあったコンテンツ視聴装置３に編成番組データを送信する（ステップＳ１３）。そして、キャッシュサーバ２は、ステップＳ１０に動作を戻す。
【０１０６】
一方、データ要求が編成情報に従った要求でない場合（ステップＳ１１でＮｏ）、キャッシュサーバ２は、データ検索・取得手段２５からの要求により、データ管理手段２６よって、指定番組データの検索を行う（ステップＳ１４）。
このとき、データ管理手段２６は、検索要求受付手段２６ａによって、データ検索・取得手段２５からの要求を受け付け、検索実行手段２６ｂによって、要求のあったチャンネル識別および放送時刻を検索のキーとして、指定番組データを検索する。この検索実行手段２６ｂは、自キャッシュサーバ２（２１）に該当する指定番組データが存在しない場合、他のキャッシュサーバ２（２２，…，２ｍ）に対して検索要求を送信することで、該当する指定番組データを検索する。
そして、その検索結果が、検索結果出力手段２６ｃを介して、データ検索・取得手段２５に通知される。
【０１０７】
そして、要求のあった指定番組データが自キャッシュサーバ２（２１）に存在していた場合（ステップＳ１５でＹｅｓ）、キャッシュサーバ２は、データ検索・取得手段２５によって、データ読み出し手段２２を介して、データ記憶手段２３から、指定番組データを読み出す（ステップＳ１６）。
【０１０８】
一方、要求のあった指定番組データが自キャッシュサーバ２（２１）に存在していない場合（ステップＳ１５でＮｏ）であって、他のキャッシュサーバ２（２２，…，２ｍ）に存在していた場合（ステップＳ１７でＹｅｓ）、キャッシュサーバ２は、データ要求手段２７ｂによって、他のキャッシュサーバ２（２２，…，２ｍ）に対してデータ要求を行い、データ受信手段２０によって、指定番組データを取得する（ステップＳ１８）。
【０１０９】
また、自キャッシュサーバ２（２１）にも、他のキャッシュサーバ２（２２，…，２ｍ）にも、指定番組データが存在していない場合（ステップＳ１７でＮｏ）、キャッシュサーバ２は、データ要求手段２７ｂによって、コンテンツ配信サーバ１に対してデータ要求を行い、データ受信手段２０によって、指定番組データを取得する（ステップＳ１９）。
そして、キャッシュサーバ２は、ステップＳ１６、ステップＳ１８またはステップＳ１９で取得した指定番組データを、データ送信手段２８によって、コンテンツ視聴装置３に送信する（ステップＳ２０）。
【０１１０】
これによって、キャッシュサーバ２は、コンテンツ視聴装置３から、データ要求があった場合、自キャッシュサーバ２（２１）に指定番組データが存在しない場合であっても、他のキャッシュサーバ２（２２，…，２ｍ）が指定番組データを保持していれば、そのデータを取得してコンテンツ視聴装置３に送信することができるため、コンテンツ配信サーバ１の負荷を軽減させることができる。
【０１１１】
〔コンテンツ視聴装置の動作〕
次に、図９を参照（構成については適宜図６参照）して、コンテンツ視聴装置３の動作について説明する。
コンテンツ視聴装置３は、データ要求手段３３によって、現在選択されているチャンネルの編成に対応する編成番組データ（ブロック化コンテンツ）を、キャッシュサーバ２に要求する。そして、コンテンツ視聴装置３は、データ受信手段３０によって、編成番組データを受信（取得）する（ステップＳ３０）。
その後、コンテンツ視聴装置３は、データ再生手段３１によって、ステップＳ３０で受信した編成番組データを再生する（ステップＳ３１）。
【０１１２】
そして、データ要求受付手段３２において、ユーザが操作するリモコン装置Ｒから、放送時刻を指定したデータ要求の指示がない場合（ステップＳ３２でＮｏ）、コンテンツ視聴装置３は、ステップＳ３０に動作を戻す。
【０１１３】
一方、データ要求受付手段３２において、ユーザが操作するリモコン装置Ｒから、放送時刻を指定したデータ要求の指示があった場合（ステップＳ３２でＹｅｓ）、コンテンツ視聴装置３は、データ要求手段３３によって、現在選択されているチャンネルの指定された放送時刻の指定番組データ（ブロック化コンテンツ）を、キャッシュサーバ２に要求する。そして、コンテンツ視聴装置３は、データ受信手段３０によって、指定番組データを受信（取得）する（ステップＳ３３）。
その後、コンテンツ視聴装置３は、データ再生手段３１によって、ステップＳ３３で受信した指定番組データを再生する（ステップＳ３４）。
【０１１４】
ここで、データ要求受付手段３２において、ユーザが操作するリモコン装置Ｒから、他の放送時刻を指定したデータ要求の指示があった場合（ステップＳ３５でＹｅｓ）、コンテンツ視聴装置３は、ステップＳ３３に動作を戻す。これによって、ユーザは、現在の編成とは異なる放送時刻のコンテンツを視聴している段階で、さらに、別の放送時刻のコンテンツを視聴することができ、視聴チャンネルにおいて、時間方向にザッピングすることができる。
【０１１５】
一方、データ要求受付手段３２において、他の放送時刻を指定したデータ要求の指示がなければ（ステップＳ３５でＮｏ）、コンテンツ視聴装置３は、ステップＳ３６に動作を進める。
そして、データ要求受付手段３２において、放送時刻を指定した指定番組データの視聴から、編成に従った編成番組データの視聴に切り替える旨の指示（戻り指示）があった場合（ステップＳ３６でＹｅｓ）、コンテンツ視聴装置３は、ステップＳ３０に戻って、編成に従ったデータの取得、再生を行う。
【０１１６】
一方、編成に従った編成番組データの視聴に切り替える旨の指示がない場合（ステップＳ３６でＮｏ）、コンテンツ視聴装置３は、ステップＳ３３に戻って、指定された放送時刻から指定番組データを順次取得し、再生を行う。
これによって、コンテンツ視聴装置３は、編成に従ったデータ（コンテンツ）の再生中に、ユーザからの指示によって、放送時刻が異なるコンテンツ、あるいは、同一コンテンツであっても時刻が異なるデータを再生することができる。
【符号の説明】
【０１１７】
Ｓ      コンテンツ配信システム
１      コンテンツ配信サーバ
１０    編成情報記憶手段
１１    コンテンツ記憶手段
１２    編成番組データ送信手段
１２ａ  編成コンテンツ読み出し手段
１２ｂ  コンテンツ分割手段
１２ｃ  編成情報付加手段
１３    データ要求受付手段（第１のデータ要求受付手段）
１４    指定番組データ送信手段
１４ａ  ブロックデータ読み出し手段
１４ｂ  編成情報付加手段
２      キャッシュサーバ
２０    データ受信手段
２１    データ書き込み手段
２２    データ読み出し手段
２３    データ記憶手段
２４    データ消去手段
２５    データ検索・取得手段
２６    データ管理手段
２６ａ  検索要求受付手段
２６ｂ  検索実行手段
２６ｃ  検索結果出力手段
２７    データ要求送受信手段
２７ａ  データ要求受付手段（第２のデータ要求受付手段）
２７ｂ  データ要求手段
２８    データ送信手段
３      コンテンツ視聴装置
３０    データ受信手段
３１    データ再生手段
３２    データ要求受付手段
３３    データ要求手段
【図１】
0005789450.tif 000002
【図２】
0005789450.tif 000003
【図３】
0005789450.tif 000004
【図４】
0005789450.tif 000005
【図５】
0005789450.tif 000006
【図６】
0005789450.tif 000007
【図７】
0005789450.tif 000008
【図８】
0005789450.tif 000009
【図９】
0005789450.tif 000010