(57)【特許請求の範囲】
【請求項１】
通信ネットワークを用いてコンテンツを配信するコンテンツ配信システムであって、
サーバと端末とを備え、
前記サーバは、
コンテンツと、前記コンテンツを処理するための実行プログラムとを蓄積する蓄積手段と、
前記蓄積手段に蓄積されたコンテンツと実行プログラムとを前記端末に送信する送信手段と、
前記端末に送信されるコンテンツの利用条件を求める条件設定手段とを含み、
前記端末は、
前記サーバからコンテンツと実行プログラムとを受信する受信手段と、
少なくとも、前記受信手段で受信した実行プログラムを記憶する記憶手段と、
前記条件設定手段で求めた利用条件の範囲内で、コンテンツの利用を許可する制御手段と、
前記記憶手段に記憶された実行プログラムを実行する処理手段とを含み、
前記蓄積手段は、前記条件設定手段で設定した利用条件をさらに蓄積し、
前記送信手段は、前記端末によるコンテンツの利用に先立ち、前記蓄積手段に蓄積されたコンテンツと実行プログラムとを前記端末に送信した後、前記端末によるコンテンツの利用の際に、前記蓄積手段に蓄積された利用条件を前記端末に送信し、
前記実行プログラムは、前記処理手段によって実行されることによって、前記受信手段で受信したコンテンツの処理に関する許可を前記制御手段に問い合わせ、許可された場合にのみ当該コンテンツの処理を行う、コンテンツ配信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンテンツ配信システムに関し、より特定的には、映像データおよび／または音声データを含むマルチメディアコンテンツを、不正利用から守りながらユーザに配信するためのシステムに関する。
【０００２】
【従来の技術】
近年、ネットワークシステムが社会のインフラストラクチャとして発達し、これに伴い、画像、動画、音声などのデジタルデータを含むマルチメディアコンテンツが、ネットワークを通じて広く流通するようになっている。また、大容量の記憶媒体が開発され、記憶媒体を用いてマルチメディアコンテンツを流通させることも行われている。デジタルデータは保存や複製を容易に行うことができ、保存や複製を行っても品質が劣化しない。このため、デジタルデータを含むコンテンツが配信先で不正に保存または複製されることによって、コンテンツ制作者の権利が侵害され、コンテンツ提供者の利益が損なわれる場合が起こりうる。このような事態を防ぐため、デジタルデータを含むコンテンツを配信する際には、ユーザによるコンテンツの利用に一定の制限を加えることが必要となる。
【０００３】
従来、コンテンツに対する利用制限は、例えば、デジタルデータを暗号化することにより行われていた。あるいは、ユーザがコンテンツ購入時にコンテンツの利用に関する契約を結び、コンテンツに対する利用制限をユーザの良心に任すようにしていた。
【０００４】
なお、コンテンツの流通に関しては、特許文献１に、ユーザに対し確実な課金トレースを行いながら、コンテンツの再利用・再編集を可能とする方法が知られている。
【０００５】
【特許文献１】
特開平１０−１１３０６６号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、デジタルデータを暗号化しても、その復号鍵が盗用される可能性があるので、配信先でのコンテンツの不正な保存や複製などを完全に防ぐことはできない。また、契約によってコンテンツの利用を制限しても、契約が守られる保証はない。
【０００７】
一方、マルチメディアコンテンツは、購入後は半永久的に何度でも再生や閲覧ができるという特徴を有する。ところが、ユーザの立場から見ると、ある一定期間のみ必要で、その後は不要となるコンテンツがある。特に、今日のように１つのコンテンツの量が大きくなると、ユーザが本当に必要とするデータは、購入したコンテンツのうちのごくわずかな部分である場合も多い。このような場合でも、ユーザは、コンテンツを実際に利用した分の対価を超える額の料金を負担している。
【０００８】
そこで、コンテンツ提供者から見れば、ユーザによるコンテンツの利用を効果的に制限でき、ユーザから見れば、利用が制限される代わりに、コンテンツを実際に利用した分の対価を支払えばよいようなシステムが望まれる。しかし、そのようなシステムは、従来存在しなかった。
【０００９】
それ故に、本発明の目的は、ユーザによるコンテンツの利用を効果的に制限できるコンテンツ配信システムを提供することである。また、本発明のさらなる目的は、利用した分の対価をユーザに課金できるコンテンツ配信システムを提供することである。
【００１０】
【課題を解決するための手段および発明の効果】
本発明は、通信ネットワークを用いてコンテンツを配信するコンテンツ配信システムであって、サーバと端末とを備え、サーバは、コンテンツと、コンテンツを処理するための実行プログラムとを蓄積する蓄積手段と、蓄積手段に蓄積されたコンテンツと実行プログラムとを端末に送信する送信手段と、端末に送信されるコンテンツの利用条件を求める条件設定手段とを含み、端末は、サーバからコンテンツと実行プログラムとを受信する受信手段と、少なくとも、受信手段で受信した実行プログラムを記憶する記憶手段と、記憶手段に記憶された実行プログラムを実行する処理手段とを含み、実行プログラムは、処理手段によって実行されることによって、受信手段で受信したコンテンツの処理に関する許可を制御手段に問い合わせ、許可された場合にのみ実行プログラムを実行して当該コンテンツの処理を行う。
上記本発明では、サーバは、端末に送信されるコンテンツの利用条件を求め、端末は、サーバで求めた利用条件の範囲内で、配信された実行プログラムを実行し、配信されたコンテンツを処理する。つまり、端末は、サーバが設定した利用条件の範囲内でコンテンツを処理する。これにより、ユーザによるコンテンツの利用を効果的に制限することができる。
【００１２】
また、本発明において、蓄積手段に蓄積されるコンテンツは、映像データおよび／または音声データを含み、条件設定手段は、少なくとも再生を含む利用形態について利用条件を設定してもよい。
上記本発明では、映像データおよび／または音声データを含むマルチメディアコンテンツの著作権を保護することができる。
【００１３】
また、本発明において、送信手段は、端末によるコンテンツの利用に先立ち、蓄積手段に蓄積されたコンテンツおよび実行プログラムと、条件設定手段で設定した利用条件とを端末に送信してもよい。
上記本発明では、コンテンツと実行プログラムと利用条件とが、サーバから端末に配信され、その後は端末によって管理される。
【００１４】
また、本発明において、蓄積手段は、条件設定手段で設定した利用条件をさらに蓄積し、送信手段は、端末によるコンテンツの利用に先立ち、蓄積手段に蓄積されたコンテンツと実行プログラムとを端末に送信した後、端末によるコンテンツの利用の際に、蓄積手段に蓄積された利用条件を端末に送信してもよい。
上記本発明では、コンテンツと実行プログラムとは、サーバから端末に配信され、その後は端末によって管理される一方で、利用条件はサーバによって管理される。これにより、端末における利用条件の改竄を防止することができる。
【００１５】
また、本発明において、条件設定手段が、記憶手段に記憶されたコンテンツの新たな利用条件を設定したときに、蓄積手段は、条件設定手段で設定した新たな利用条件を用いて、蓄積している利用条件を更新してもよい。
上記本発明では、コンテンツの利用条件を任意の時点で変更することができる。
【００１６】
また、本発明において、端末におけるコンテンツの利用に新たな実行プログラムが必要とされるときに、条件設定手段は、記憶手段に記憶されたコンテンツの新たな利用条件を設定し、蓄積手段は、条件設定手段で設定した新たな利用条件を用いて、蓄積している利用条件を更新し、送信手段は、蓄積手段に蓄積された新たな実行プログラムを端末に送信してもよい。
上記本発明では、端末におけるコンテンツの利用に別の実行プログラムが必要とされるときに、別の実行プログラムがサーバから端末に配信される。
【００１７】
また、本発明において、送信手段は、端末によるコンテンツの利用に先立ち、蓄積手段に蓄積された実行プログラムと、条件設定手段で設定した利用条件とを端末に送信した上で、端末によるコンテンツの利用中に、蓄積手段に蓄積されたコンテンツを端末に送信してもよい。
上記本発明では、実行プログラムと利用条件とが、サーバから端末に配信され、その後は端末によって管理される一方で、コンテンツはサーバによって管理される。これにより、端末におけるコンテンツの不正コピーを防止することができる。
【００１８】
また、本発明において、蓄積手段は、条件設定手段で設定した利用条件をさらに蓄積し、送信手段は、端末によるコンテンツの利用に先立ち、蓄積手段に蓄積された実行プログラムを端末に送信した後、端末によるコンテンツの利用の際に、蓄積手段に蓄積された利用条件を端末に送信した上で、端末によるコンテンツの利用中に、蓄積手段に蓄積されたコンテンツを端末に送信してもよい。
上記本発明では、実行プログラムがサーバから端末に配信され、その後は端末によって管理される一方で、コンテンツと利用条件とはサーバによって管理される。これにより、端末におけるコンテンツの不正コピーと利用条件の改竄とを防止することができる。
【００１９】
また、本発明において、条件設定手段で設定した利用条件に応じて、端末に対する課金処理を行う課金手段をさらに含んでもよい。
上記本発明では、サーバは、利用条件に応じた料金を端末に対して課金する。これにより、端末のユーザは、コンテンツを実際に利用した分の料金を支払えば済むようになる。
【００２０】
また、本発明において、蓄積手段は、記憶手段に記憶された実行プログラムの動作環境を構築するためのミドルウェアをさらに蓄積し、送信手段は、蓄積手段に蓄積されたミドルウェアを端末にさらに送信してもよい。
上記本発明では、端末で実行プログラムを実行できない場合、サーバから端末に、端末で使用されるハードウェアやＯＳに適合するミドルウェアが配信される。これにより、ハードウェアやＯＳなどの違いに関わらず、多くの種類の端末で実行プログラムを実行し、コンテンツを処理させることができる。
【００２１】
また、本発明において、蓄積手段は、機能が同じで必要な処理能力が異なる複数の実行プログラムを蓄積し、送信手段は、端末の処理能力に応じて、蓄積手段に蓄積された複数の実行プログラムから一の実行プログラムを選択して、端末に送信してもよい。
上記本発明では、サーバから端末に、端末の処理能力に応じて選択した最適な実行プログラムを配信することができる。
【００２２】
また、本発明において、蓄積手段は、内容が同じで必要な処理能力が異なる複数のコンテンツを蓄積し、送信手段は、端末の処理能力に応じて、蓄積手段に蓄積された複数のコンテンツから一のコンテンツを選択して、端末に送信してもよい。
上記本発明では、サーバから端末に、端末の処理能力に応じて選択した最適なコンテンツを配信することができる。
【００２３】
また、本発明において、蓄積手段は、内容が同じで単位時間あたりのデータ量が異なる複数のコンテンツを蓄積し、送信手段は、サーバと端末との間の通信状況に応じて、蓄積手段に蓄積された複数のコンテンツから一のコンテンツを選択して、端末に送信してもよい。
上記本発明では、サーバから端末に、通信状況に応じて選択した最適なコンテンツを配信することができる。
【００２４】
また、本発明において、条件設定手段は、端末に送信されるコンテンツについて、当該コンテンツを利用できる端末の識別情報を含んだ利用条件を設定してもよい。
上記本発明では、配信したコンテンツを特定の端末だけで利用させることができる。
【００２５】
また、本発明において、条件設定手段は、端末に送信されるコンテンツについて、当該コンテンツの利用可能区間を含んだ利用条件を設定してもよい。
上記本発明では、配信したコンテンツの特定の区間だけをユーザに利用させることができる。
【００２６】
また、本発明において、条件設定手段は、端末に送信されるコンテンツについて、当該コンテンツの利用可能回数を含んだ利用条件を設定してもよい。
上記本発明では、配信したコンテンツの利用回数を制限することができる。
【００２７】
また、本発明において、条件設定手段は、端末に送信されるコンテンツについて、当該コンテンツの利用可能時間を含んだ利用条件を設定してもよい。
上記本発明では、配信したコンテンツの利用時間を制限することができる。
【００２８】
また、本発明において、条件設定手段は、端末に送信されるコンテンツについて、当該コンテンツの利用可能期間を含んだ利用条件を設定してもよい。
上記本発明では、配信したコンテンツの利用期間を制限することができる。
【００２９】
また、本発明において、蓄積手段は、コンテンツを暗号化した状態で蓄積し、送信手段は、蓄積手段に蓄積されたコンテンツを暗号化した状態で端末に送信してもよい。
上記本発明では、コンテンツは暗号化されている。これにより、ユーザによるコンテンツの利用をより効果的に制限することができる。
【００３０】
また、本発明は、通信ネットワークを用いてサーバから配信されたコンテンツを受信する端末であって、コンテンツとコンテンツを利用するための実行プログラムとを外部から受信する受信手段と、少なくとも、受信手段で受信した実行プログラムを記憶する記憶手段と、サーバが設定した利用条件の範囲内で、コンテンツの利用を許可する制御手段と、記憶手段に記憶された実行プログラムを実行する処理手段とを備え、実行プログラムは、処理手段によって実行されることによって、受信手段で受信したコンテンツの処理に関する許可を制御手段に問い合わせ、許可された場合にのみ実行プログラムを実行して当該コンテンツの処理を行う。
上記本発明では、端末は、サーバで求めた利用条件の範囲内で、配信された実行プログラムを実行し、配信されたコンテンツを処理する。つまり、端末は、サーバが設定した利用条件の範囲内でコンテンツを処理する。これにより、ユーザによるコンテンツの利用を効果的に制限することができる。
【００３１】
また、本発明において、受信手段は、コンテンツの利用に先立ってコンテンツと実行プログラムとを外部から受信し、コンテンツの利用に先立って外部から利用条件を受信し、記憶手段は、受信手段で受信したコンテンツと実行プログラムと利用条件とを記憶し、制御手段は、コンテンツの利用の際に、記憶手段に記憶された利用条件に基づき、コンテンツの利用を許可し、処理手段は、記憶手段に記憶されたコンテンツを処理してもよい。
上記本発明では、コンテンツと実行プログラムと利用条件とが、外部から端末に配信され、その後は端末によって管理される。
【００３２】
また、本発明において、受信手段は、コンテンツの利用に先立ってコンテンツと実行プログラムとを外部から受信し、コンテンツの利用の際に外部から利用条件を受信し、記憶手段は、受信手段で受信したコンテンツと実行プログラムとを記憶し、制御手段は、コンテンツの利用の際に、受信手段で受信した利用条件に基づき、コンテンツの利用を許可し、処理手段は、記憶手段に記憶されたコンテンツを処理してもよい。
上記本発明では、コンテンツと実行プログラムとは、外部から端末に配信され、その後は端末によって管理される一方で、利用条件は外部で管理される。これにより、端末における利用条件の改竄を防止することができる。
【００３３】
また、本発明において、受信手段は、コンテンツの利用に先立って実行プログラムを外部から受信し、コンテンツの利用に先立って外部から利用条件を受信し、端末によるコンテンツの利用中にコンテンツを外部から受信し、記憶手段は、受信手段で受信した実行プログラムと利用条件とを記憶し、制御手段は、コンテンツの利用の際に、記憶手段に記憶された利用条件に基づき、コンテンツの利用を許可し、処理手段は、受信手段によるコンテンツ受信動作と同時に、受信手段で受信したコンテンツを処理してもよい。
上記本発明では、実行プログラムと利用条件とが、外部から端末に配信され、その後は端末によって管理される一方で、コンテンツは外部で管理される。この場合、端末は、サーバからコンテンツを受信しながら処理する。これにより、端末におけるコンテンツの不正コピーを防止することができる。
【００３４】
また、本発明において、受信手段は、端末によるコンテンツの利用に先立って実行プログラムを外部から受信し、端末によるコンテンツの利用の際に外部から利用条件を受信し、端末によるコンテンツの利用中にコンテンツを外部から受信し、記憶手段は、受信手段で受信した実行プログラムを記憶し、制御手段は、コンテンツの利用の際に、受信手段で受信した利用条件に基づき、コンテンツの利用を許可し、処理手段は、受信手段によるコンテンツ受信動作と同時に、受信手段で受信したコンテンツを処理してもよい。
上記本発明では、実行プログラムが外部から端末に配信され、その後は端末によって管理される一方で、コンテンツと利用条件とは外部で管理される。この場合、端末は、外部からコンテンツを受信しながら処理する。これにより、端末におけるコンテンツの不正コピーと利用条件の改竄とを防止することができる。
【００３５】
また、本発明において、受信手段は、実行プログラムの動作環境を構築するためのミドルウェアを外部からさらに受信し、記憶手段は、少なくとも、受信手段で受信した実行プログラムとミドルウェアとを記憶し、処理手段は、記憶手段に記憶されたミドルウェアによって構築される動作環境の下で、記憶手段に記憶された実行プログラムを実行して、受信手段で受信したコンテンツを処理してもよい。
上記本発明では、端末で実行プログラムを実行できない場合、外部から端末に、端末で使用されるハードウェアやＯＳに適合するミドルウェアが配信される。これにより、ハードウェアやＯＳなどの違いに関わらず、多くの種類の端末で実行プログラムを実行し、コンテンツを処理させることができる。
【００３６】
また、本発明において、サーバが設定した利用条件は、端末に送信されるコンテンツについて、当該コンテンツを利用できる端末の識別情報を含んだ利用条件であり、制御手段は、端末自身の識別情報が、サーバが設定した利用条件に含まれている場合に、コンテンツの利用を許可してもよい。
上記本発明では、配信したコンテンツを特定の端末だけで利用させることができる。
【００３７】
また、本発明において、サーバが設定した利用条件は、端末に送信されるコンテンツについて、当該コンテンツの利用可能区間を含んだ利用条件であり、制御手段は、受信手段で受信したコンテンツのうち、サーバが設定した利用条件に含まれている利用可能区間について、コンテンツの利用を許可してもよい。
上記本発明では、配信したコンテンツの特定の区間だけをユーザに利用させることができる。
【００３８】
また、本発明において、端末は、処理手段における処理履歴を記憶する履歴記憶手段をさらに含み、サーバが設定した利用条件は、端末に送信されるコンテンツについて、当該コンテンツの利用可能回数を含んだ利用条件であり、制御手段は、履歴記憶手段に記憶されている処理履歴を参照して、サーバが設定した利用条件に含まれている利用可能回数に達するまで、コンテンツの利用を許可してもよい。
上記本発明では、配信したコンテンツの利用回数を制限することができる。
【００３９】
端末は、処理手段における処理履歴を記憶する履歴記憶手段をさらに含み、サーバが設定した利用条件は、端末に送信されるコンテンツについて、当該コンテンツの利用可能時間を含んだ利用条件であり、制御手段は、履歴記憶手段に記憶されている処理履歴を参照して、サーバが設定した利用条件に含まれている利用可能時間に達するまでの時間について、コンテンツの利用を許可してもよい。
上記本発明では、配信したコンテンツの利用時間を制限することができる。
【００４０】
また、本発明において、サーバが設定した利用条件は、端末に送信されるコンテンツについて、当該コンテンツの利用可能期間を含んだ利用条件であり、制御手段は、現在時刻が、サーバが設定した利用条件に含まれている利用可能期間内である場合に、コンテンツの利用を許可してもよい。
上記本発明では、配信したコンテンツの利用期間を制限することができる。
また、本発明において、受信手段は、サーバからコンテンツを暗号化した状態で受信し、処理手段は、受信手段で受信したコンテンツを復号化した上で処理してもよい。
上記本発明では、コンテンツは暗号化されており、端末は利用条件の許す範囲内でコンテンツを復号化する。これにより、ユーザによるコンテンツの利用をより効果的に制限することができる。
また、本発明において、受信手段は、コンテンツと実行プログラムと利用条件とのうち、少なくとも１つをサーバから受信し、他をサーバとは異なる他のサーバから受信してもよい。
また、本発明は、通信ネットワークを用いてサーバから配信されたコンテンツを端末が受信するコンテンツ受信方法であって、コンテンツと前記コンテンツを利用するための実行プログラムとを外部から受信する受信ステップと、少なくとも、受信した実行プログラムを記憶する記憶ステップと、サーバが設定した利用条件の範囲内で、コンテンツの利用を許可する制御ステップと、記憶された実行プログラムを実行する実行ステップとを備え、実行プログラムは、実行ステップで実行されることによって、受信ステップで受信したコンテンツの処理に関する制御ステップにおける許可を問い合わせ、許可された場合にのみ実行プログラムを実行して当該コンテンツの処理を行う。
上記本発明では、端末は、サーバで求めた利用条件の範囲内で、配信された実行プログラムを実行し、配信されたコンテンツを処理する。つまり、端末は、サーバが設定した利用条件の範囲内でコンテンツを処理する。これにより、ユーザによるコンテンツの利用を効果的に制限することができる。
【００４１】
【発明の実施の形態】
（第１の実施形態）
図１は、本発明の第１の実施形態に係るコンテンツ配信システムの構成を示すブロック図である。図１に示すコンテンツ配信システムは、サーバ１と、複数の端末２とを備えている。サーバ１と端末２とは、ネットワーク３を介して相互に通信可能に接続される。サーバ１は、コンテンツと、コンテンツを処理するための実行プログラムとを蓄積している。サーバ１は、ネットワーク３経由でコンテンツおよび実行プログラムを端末２に配信し、端末２は、配信された実行プログラムを動作させて、配信されたコンテンツを処理する。
【００４２】
端末２のユーザによるコンテンツの利用には、一定の制限が加えられる。このような利用制限を実現するため、サーバ１から配信されるコンテンツには利用条件が設定され、端末２は、利用条件の範囲内でコンテンツを処理する。より好ましくは、コンテンツは予め暗号化されており、端末２は、利用条件の範囲内で、暗号化されたコンテンツを復号化して処理する。コンテンツを復号化するための鍵は、例えば、予めサーバ１の管理者から端末２のユーザに通知され、端末２に記憶される。あるいは、サーバ１から端末２に対して、実行プログラムと同時に（例えば、実行プログラムに組み込んだ状態で）提供してもよい。
【００４３】
サーバ１から配信されるコンテンツは、例えば、映画やスポーツやコンサートなどの番組の映像データおよび音声データ、あるいは、音楽アルバムなどの音声データである。１つのコンテンツは、例えば、１本の映画や１枚の音楽アルバムに相当する。コンテンツの利用とは、コンテンツを再生したり、複製したり、編集したりすることをいう。コンテンツを処理する実行プログラムとしては、コンテンツ再生プログラム、コンテンツ複製プログラム、コンテンツ編集プログラムなどがある。なお、コンテンツは、映像データおよび音声データに限らず、ゲーム用ソフトウェアやアプリケーションソフトウェアなどのプログラムであってもよい。
【００４４】
コンテンツに設定される利用条件には、例えば、そのコンテンツを利用できるユーザを示す識別子と、そのコンテンツの利用可能回数（例えば、３回まで利用可能）とが含まれる。利用条件には、利用可能回数に代えて、利用可能時間（例えば、５時間まで利用可能）、または、利用可能期間（例えば、２００１年１０月１０日から同年１０月１６日まで利用可能）が含まれていてもよい。あるいは、利用条件には、利用可能回数、利用可能時間および利用可能期間のうちの任意の２つ、または、３つすべてが含まれていてもよい。また、利用条件を、コンテンツ全体ではなく、コンテンツの一部の区間に設定してもよい。この場合、利用条件には、利用可能区間（例えば、コンテンツの先頭から３０分までの区間が利用可能）がさらに含まれる。サーバ１から端末２には、コンテンツと実行プログラムと利用条件とを含んだカプセル化されたデータ（以下、カプセルという）が配信される。カプセルの詳細については、後述する（図５）。
【００４５】
図２は、サーバ１の詳細な構成を示すブロック図である。図２に示すように、サーバ１は、制御ユニット１１と、蓄積ユニット１２と、通信ユニット１３とを含んでいる。制御ユニット１１は、例えば、ＣＰＵとＲＡＭとＲＯＭとを有している。ＲＯＭには、サーバ制御プログラムが格納される。ＣＰＵがＲＡＭを記憶領域として使用してサーバ制御プログラムを実行することにより、後述するサーバ１の機能が実現される。蓄積ユニット１２は、例えば、ハードディスクなどの記憶媒体と、そのドライブ装置とで構成される。通信ユニット１３は、例えば、モデムやターミナルアダプタなどのネットワーク接続機器で構成される。
【００４６】
図３は、端末２の詳細な構成を示すブロック図である。図３に示すように、端末２は、入出力ユニット２１と、制御ユニット２２と、通信ユニット２３と、記憶ユニット２４と、処理ユニット２５とを含んでいる。入出力ユニット２１は、例えば、キーボードやタッチパネルなどの入力機器と、ディスプレイやスピーカなどの出力機器とで構成される。制御ユニット２２は、例えば、ＣＰＵとＲＡＭとＲＯＭとを有している。ＲＯＭには、端末制御プログラムが格納される。ＣＰＵがＲＡＭを記憶領域として使用して端末制御プログラムを実行することにより、後述する端末２の機能が実現される。通信ユニット２３は、例えば、モデムやターミナルアダプタなどのネットワーク接続機器で構成される。記憶ユニット２４は、例えば、半導体メモリなどの記憶媒体で構成される。処理ユニット２５は、例えば、グラフィックスボードやサウンドボードなど、映像データおよび／または音声データを処理する回路で構成される。
【００４７】
図４は、蓄積ユニット１２の詳細を示す図である。図４に示す蓄積ユニット１２ａは、図２に示す蓄積ユニット１２を詳細化したものであり、コンテンツデータベース１０１と実行プログラムデータベース１０２とを内蔵している。コンテンツデータベース１０１には、複数のコンテンツと各コンテンツの識別子（コンテンツＩＤ）とが格納される。図４に示す例では、Contents1.mpg 、Contents2.mpg およびContents3.mp4 という３つのコンテンツが格納され、これら３つのコンテンツには、それぞれ、Co0001、Co0002およびCo0003という識別子が付されている。
【００４８】
実行プログラムデータベース１０２には、複数の実行プログラムと各実行プログラムの機能情報とが格納される。図４に示す例では、Program1、Program2およびProgram3という３つの実行プログラムが格納されている。Program1は、コンテンツ再生機能を持ち、コンテンツ複製機能およびコンテンツ編集機能を持たない。Program2は、コンテンツ複製機能を持ち、コンテンツ再生機能およびコンテンツ編集機能を持たない。Program3は、コンテンツ再生機能およびコンテンツ複製機能を持ち、コンテンツ編集機能を持たない。なお、図４に示す実行プログラム以外にも、例えば、コンテンツ編集機能を持ち、コンテンツ再生機能およびコンテンツ複製機能を持たない実行プログラムや、コンテンツの再生、複製および編集機能を持つ実行プログラムなどが格納されていてもよい。
【００４９】
図５は、サーバ１から端末２に送信されるカプセルの構造の一例を示す図である。図５に示すように、カプセル１１１は、ヘッダ部１１２とデータ部１１３とを備えている。ヘッダ部１１２には、カプセル１１１の宛先１１４が格納される。データ部１１３には、利用条件１１５とコンテンツ１１６と実行プログラム１１７とが格納される。
【００５０】
図６は、利用条件の一例を示す図である。図６に示す利用条件は、ＸＭＬ（Extensible Markup Language）を用いて記述されている。この利用条件に含まれる各要素の意味は、次のとおりである。UsageRule 要素は、コンテンツの利用条件を表すルート要素である。開始タグ<UsageRule> と終了タグ</UsageRule>とで挟まれた部分に利用条件が記述される。以下、同様に、開始タグ<X> と終了タグ</X>（X は任意の文字列）で挟まれた部分に各要素の内容が記述される。ContentsID要素は、この利用条件が適用されるコンテンツの識別子を表す。UserID要素は、この利用条件が適用されるユーザの識別子を表す。UserProgramID 要素は、この利用条件が適用される実行プログラムの識別子を表す。ただし、UserProgramID 要素に記述される識別子は、実行プログラムを特定するだけでなく、どのユーザ宛に配信された実行プログラムであるかを特定するための識別子である。このため、ある実行プログラムが複数の端末に配信された場合、各端末に配信された実行プログラムは、互いに異なる識別子を付与され、異なるプログラムとして取り扱われる。
【００５１】
Permission要素には、許可される処理とその処理を行う際の条件とが記述される。Permission要素の属性actionは、許可される処理を表す。Permission要素の内容（すなわち、開始タグ<Permission>と終了タグ</Permission> とで挟まれた部分）には、処理を行う際の条件が記述される。図６に示す例では、属性actionがReplay（再生）であり、Permission要素の内容には、以下に示すように、再生処理を行う際の条件が記述されている。Section 要素はコンテンツ中で処理が許可されている区間を表し、From要素が区間の始点を、Until 要素が区間の終点をそれぞれ表す。なお、Section 要素が存在しない場合には、コンテンツ全体に対する処理が許可されているものとする。また、コンテンツの複数の区間に対する処理が許可されていてもよい。この場合は、Section 要素が複数存在することになる。Times 要素は、コンテンツに対する処理が何回まで許可されているかを表す。Period要素は、コンテンツに対する処理が許可されている期間を表し、From要素が期間の始点を、Until 要素が期間の終点をそれぞれ表す。図６に示すPermission要素は、先頭から３０分までの区間について、最大３回まで、２００１年１０月１０日から同年１０月１６日までの期間において、再生が許可されていることを表す。
【００５２】
利用条件は、改竄を防ぐために暗号化して配信される。利用条件を復号化するための鍵は、例えば、予めサーバ１の管理者から端末２のユーザに通知され、端末２に記憶される。あるいは、鍵を予め通知しておくことに代えて、実行プログラムと同時に（例えば、実行プログラムに組み込んだ状態で）鍵を提供してもよい。なお、図６に示す利用条件は一例であり、ＸＭＬ以外の方法を用いて記述してもよく、他の条件を追加してもよいことは言うまでもない。
【００５３】
端末２は、コンテンツに対する処理履歴を記憶し、これを用いてコンテンツの利用可否を判定する。コンテンツの処理履歴は、記憶ユニット２４に記憶され、制御ユニット２２は、コンテンツに対する処理が行われたときに、記憶ユニット２４に記憶されている処理履歴を更新する。
【００５４】
図７は、処理履歴の一例を示す図である。図７に示す処理履歴は、図６に示す利用条件と同様に、ＸＭＬを用いて記述されている。この処理履歴に含まれる各要素の意味は、次のとおりである。History 要素は、コンテンツに対する処理履歴を表すルート要素である。ContentsID要素は、この処理履歴に記述されている処理で処理されたコンテンツの識別子を表す。UserProgramID 要素は、この処理履歴に記述されている処理を行った実行プログラムの識別子を表す。AccessLog 要素には、属性actionで記述された処理を行ったときの履歴が、回数を表すTimes 要素と、処理日時を表すAccessDate要素とを用いて記述される。図７に示すAccessLog 要素は、日本時間の２００１年１０月１１日２０時３０分に１回再生が行われたことを表す。
【００５５】
処理履歴は、改竄を防ぐために暗号化して記憶される。処理履歴を暗号化および復号化するための鍵は、実行プログラム内に組み込まれている。例えば、２００１年１０月１２日に図６に示す利用条件と図７に示す処理履歴とが記憶ユニット２４に記憶されている場合、制御ユニット２２は、今日が２００１年１０月１０日から同年１０月１６日までの期間に含まれていることと、再生回数が１回で利用可能回数（この例では３回）未満であることとを確認した後に、コンテンツの先頭から３０分までの区間の再生を許可する。
【００５６】
図８は、本実施形態に係るコンテンツ配信システムの動作を示すメインフローチャートである。以下に示すフローチャートでは、先頭に「Ｓ：」を付したステップはサーバ１における処理を、先頭に「Ｔ：」を付したステップは端末２における処理を表すものとする。図８において、制御ユニット２２は、まず、カプセル取得要求が入出力ユニット２１に入力されたか否かを判定し（ステップＳ１）、判定結果が否定である場合、ステップＳ３に進む。ステップＳ１における判定結果が肯定である場合、第１のカプセル配信処理（図９）により、サーバ１から端末２に要求されたカプセルが配信される（ステップＳ２）。
【００５７】
ステップＳ３では、制御ユニット２２は、利用条件変更要求が入出力ユニット２１に入力されたか否かを判定し、判定結果が否定である場合、ステップＳ５に進む。ステップＳ３における判定結果が肯定である場合、利用条件配信処理（図１０）により、サーバ１から端末２に新たな利用条件が配信される（ステップＳ４）。
【００５８】
ステップＳ５では、制御ユニット２２は、実行プログラムの更新を必要とする利用条件変更要求が入出力ユニット２１に入力されたか否かを判定し、判定結果が否定である場合、ステップＳ７に進む。ステップＳ５における判定結果が肯定である場合、利用条件と別の実行プログラムの配信処理（図１１）により、サーバ１から端末２に新たな利用条件と別の実行プログラムとが配信される（ステップＳ６）。
【００５９】
ステップＳ７では、制御ユニット２２は、入出力ユニット２１を通じて処理開始が指示されたか否かを判定し、判定結果が否定である場合、ステップＳ１０に進む。ステップＳ７における判定結果が肯定である場合、制御ユニット２２は、記憶ユニット２４に記憶された実行プログラムを起動し（ステップＳ８）、起動した実行プログラムに従い、第１のコンテンツ処理（図１２）を実行する（ステップＳ９）。
【００６０】
ステップＳ１０では、制御ユニット２２は、処理を継続するか否かを判定し、判定結果が肯定である場合には、ステップＳ１に戻る。この場合、ステップＳ１からＳ９の処理が再び行われる。ステップＳ１０における判定結果が否定である場合、制御ユニット２２は処理を停止する。
【００６１】
図９は、ステップＳ２の詳細を示すフローチャートである。図８のステップＳ１で要求が入力された場合、制御ユニット２２は、入力された要求を受け付ける（ステップＳ１０１）。ステップＳ１０１では、例えば、コンテンツContents1.mpg の先頭から３０分までの区間を３回再生したい旨の要求が入力される。次に、制御ユニット２２は、通信ユニット２３を通じ、ステップＳ１０１で受け付けた要求をネットワーク３経由でサーバ１に送信する（ステップＳ１０２）。
【００６２】
制御ユニット１１は、通信ユニット１３を通じ、端末２から送信された要求を受信する（ステップＳ１０３）。次に、制御ユニット１１は、コンテンツデータベース１０１および実行プログラムデータベース１０２から、それぞれ、受信した要求に対応するコンテンツおよび実行プログラムを読み出し（ステップＳ１０４）、コンテンツの利用条件を作成する（ステップＳ１０５）。ステップＳ１０５では、例えば、図６に示す利用条件が作成される。次に、制御ユニット１１は、ステップＳ１０４で読み出したコンテンツおよび実行プログラムとステップＳ１０５で作成した利用条件とを、図５に示すカプセル１１１に詰めて、通信ユニット１３を通じて端末２に送信する（ステップＳ１０６）。
【００６３】
制御ユニット２２は、通信ユニット２３を通じ、サーバ１から送信されたカプセル１１１を受信する（ステップＳ１０７）。次に、制御ユニット２２は、受信したカプセル１１１から利用条件１１５とコンテンツ１１６と実行プログラム１１７とを取り出し、それらを記憶ユニット２４に記憶させる（ステップＳ１０８）。このようにして第１のカプセル配信処理が完了した後に、図８のステップＳ３が実行される。
【００６４】
図１０は、ステップＳ４の詳細を示すフローチャートである。図８のステップＳ３で要求が入力された場合、制御ユニット２２は、入力された要求を受け付ける（ステップＳ１２１）。ステップＳ１２１では、例えば、コンテンツContents1.mpg に対する利用条件「先頭から３０分までの区間を３回だけ再生可能」を変更し、同区間をさらに２回（計５回）再生したい旨の要求が入力される。次に、制御ユニット２２は、通信ユニット２３を通じ、ステップＳ１２１で受け付けた要求をネットワーク３経由でサーバ１に送信する（ステップＳ１２２）。
【００６５】
制御ユニット１１は、通信ユニット１３を通じ、端末２から送信された要求を受信する（ステップＳ１２３）。次に、制御ユニット１１は、受信した要求に対応する新たな利用条件を作成する（ステップＳ１２４）。ステップＳ１２４では、例えば、コンテンツContents1.mpg に対して「先頭から３０分までの区間を５回だけ再生可能」である旨を記述した、新たな利用条件が作成される。次に、制御ユニット１１は、ステップＳ１２４で作成した新たな利用条件を単体で、通信ユニット１３を通じて端末２に送信する（ステップＳ１２５）。
【００６６】
制御ユニット２２は、通信ユニット２３を通じ、サーバ１から送信された新たな利用条件を受信する（ステップＳ１２６）。次に、制御ユニット２２は、記憶ユニット２４に記憶されている利用条件を、ステップＳ１２６で受信した新たな利用条件に書き換える（ステップＳ１２７）。このようにして利用条件の更新が完了した後に、図８のステップＳ５が実行される。
【００６７】
図１１は、ステップＳ６の詳細を示すフローチャートである。図８のステップＳ５で要求が入力された場合、制御ユニット２２は、入力された要求を受け付ける（ステップＳ１４１）。ステップＳ１４１では、例えば、コンテンツContents1.mpg に対する利用条件「先頭から３０分までの区間を３回だけ再生可能」を変更し、同区間を１回複製したい旨の要求が入力される。次に、制御ユニット２２は、通信ユニット２３を通じ、ステップＳ１４１で受け付けた要求をネットワーク３経由でサーバ１に送信する（ステップＳ１４２）。
【００６８】
制御ユニット１１は、通信ユニット１３を通じ、端末２から送信された要求を受信する（ステップＳ１４３）。次に、制御ユニット１１は、実行プログラムデータベース１０２から、受信した要求に対応する別の実行プログラム（例えば、編集プログラム）を読み出し（ステップＳ１４４）、新たな利用条件を作成する（ステップＳ１４５）。ステップＳ１４５では、例えば、コンテンツContents1.mpg に対して「先頭から３０分までの区間を１回だけ複製可能」である旨を記述した、新たな利用条件が作成される。次に、制御ユニット１１は、ステップＳ１４４で読み出した別の実行プログラムとステップＳ１４５で作成した新たな利用条件とを、通信ユニット１３を通じて端末２に送信する（ステップＳ１４６）。
【００６９】
制御ユニット２２は、通信ユニット２３を通じ、サーバ１から送信された新たな利用条件と別の実行プログラムとを受信する（ステップＳ１４７）。次に、制御ユニット２２は、記憶ユニット２４に記憶されている利用条件と実行プログラムとを、それぞれ、ステップＳ１４７で受信した新たな利用条件と別の実行プログラムとに書き換える（ステップＳ１４８）。このようにして利用条件および実行プログラムの更新が完了した後に、図８に示すステップＳ７が実行される。
【００７０】
図１２は、ステップＳ９の詳細を示すフローチャートである。図８のステップＳ８で実行プログラムを起動した後、制御ユニット２２は、処理すべきコンテンツに対する処理履歴が記憶ユニット２４に記憶されているか否かを調べる（ステップＳ１６１）。処理履歴が記憶されていない場合には、制御ユニット２２は、未処理を示す処理履歴を作成し、作成した処理履歴を暗号化して記憶ユニット２４に記憶させる（ステップＳ１６２）。処理履歴が記憶されている場合には、制御ユニット２２は、その処理履歴を記憶ユニット２４から読み出して復号化する（ステップＳ１６３）。
【００７１】
次に、制御ユニット２２は、記憶ユニット２４から利用条件を読み出して復号化する（ステップＳ１６４）。次に、制御ユニット２２は、ステップＳ１６３で読み出した（あるいは、ステップＳ１６２で作成した）処理履歴とステップＳ１６４で読み出した利用条件とを比較し（ステップＳ１６５）、コンテンツの利用が許可されているか否かを判定する（ステップＳ１６６）。
【００７２】
コンテンツの利用が許可されている場合、制御ユニット２２は、利用条件に従い、コンテンツの指定された区間を記憶ユニット２４から読み出すことと、読み出したコンテンツを復号化することとを、処理ユニット２５に命じる（ステップＳ１６７）。次に、制御ユニット２２は、復号化後のコンテンツを処理することを処理ユニット２５に命じる（ステップＳ１６８）。ステップＳ１６７およびＳ１６８では、例えば、コンテンツの先頭から３０分までの区間が、記憶ユニット２４から読み出されて復号化され、その後に再生される。次に、制御ユニット２２は、新たな処理履歴を作成して暗号化し、記憶ユニット２４に記憶されている処理履歴を新たな処理履歴に書き換える（ステップＳ１６９）。
【００７３】
ステップＳ１６６においてコンテンツの利用が許可されていない場合、制御ユニット２２は、入出力ユニット２１を通じてその旨をユーザに通知する（ステップＳ１７０）。このようにして第１のコンテンツ処理が完了した後に、図８のステップＳ１０が実行される。
【００７４】
なお、上記の構成では、コンテンツの利用可否を判定するために、端末２は、処理履歴を記憶し、記憶した処理履歴と利用条件とを比較するが、これに代えて、処理履歴を記憶せずに利用条件の内容を書き換えてもよい。例えば、利用条件が「３回だけ再生可能」である場合、上記の構成では、端末２は、受信した利用条件をそのまま保持し、再生を行うたびに処理履歴に含まれるアクセス回数を０回→１回→２回のように更新し、アクセス回数が３回に達した時点で再生を禁止する。これに代えて、端末２は、利用条件に含まれる利用可能回数を３回→２回→１回のように更新し、利用可能回数が０回となった時点で再生を禁止してもよい。
【００７５】
また、上記の構成では、サーバ１は、利用条件とコンテンツと実行プログラムとを１つのカプセルに詰めて端末２に配信するが、これに代えて、これら３つのデータをすべて別々に配信してもよく、あるいは、これら３つのデータのうち任意の２つのデータを１つのカプセルに詰めて配信し、残余の１つのデータを別に配信してもよい。また、サーバ１は、利用条件をコンテンツまたは実行プログラムに含めて配信してもよい。
【００７６】
また、利用条件がシステムの外部から端末２に提供される場合には、サーバ１はコンテンツと実行プログラムとを配信すればよく、利用条件とコンテンツとがシステムの外部から端末２に提供される場合には、サーバ１は実行プログラムを配信すればよい。利用条件やコンテンツをシステムの外部から端末２に提供するには、例えば、ＣＤ−ＲＯＭやＤＶＤなどの可搬型記憶媒体に格納して提供する方法や、ネットワーク３に接続された外部サーバ（図示せず）から提供する方法などがある。
【００７７】
また、上記の構成では、実行プログラムは、ユーザからの要求があったときに書き換えられるが、これ以外のとき（例えば、実行プログラムがバージョンアップされたときなど）にも書き換えられてもよい。
【００７８】
以上に示すように、本実施形態に係るコンテンツ配信システムでは、サーバ１がコンテンツと実行プログラムとを蓄積し、サーバ１から端末２にコンテンツと実行プログラムとが配信され、端末２は、配信された実行プログラムを動作させて、配信されたコンテンツを処理する。サーバ１から配信されるコンテンツには利用条件が設定されており、端末２は、設定された利用条件の範囲内で配信されたコンテンツを処理する。これにより、配信されたコンテンツの利用に一定の制限を加えることができる。例えば、コンテンツを利用できる端末を一部の端末に限定したり、コンテンツを再生専用に指定して複製や編集を禁止したり、コンテンツの利用可能回数、利用可能時間、利用可能期間などを制限したり、コンテンツ内の一部区間だけを利用可能としたりするなど、各種の態様でコンテンツの利用を制限することができる。
【００７９】
また、本実施形態に係るコンテンツ配信システムでは、コンテンツと実行プログラムと利用条件とを含んだカプセルを配信した後に、必要に応じて新たな利用条件を配信することにより、端末２に記憶された利用条件を任意の時点で変更することができる。例えば、あるコンテンツとコンテンツ再生プログラムと「３回だけ再生可能」という利用条件とを含んだカプセルを受信した場合、端末２は、コンテンツを３回再生した後は、もはやそのコンテンツを処理できない。このとき端末２のユーザが「そのコンテンツをさらに２回再生したい」旨を要求した場合、端末２がユーザからの要求をサーバ１に送信し、サーバ１は、受信した要求に応じて「５回だけ再生可能」という新たな利用条件を端末２に配信する。新たな利用条件を受信した端末２は、記憶ユニット２４に記憶されていた利用条件「３回だけ再生可能」を新たな利用条件「５回だけ再生可能」に書き換える。記憶ユニット２４に記憶された処理履歴は「３回再生済み」を示しているので、端末２は、さらに２回そのコンテンツを再生することが可能となる。
【００８０】
また、本実施形態に係るコンテンツ配信システムでは、コンテンツと実行プログラムと利用条件とを含んだカプセルを配信した後に、必要に応じて別の実行プログラムと新たな利用条件とを配信することにより、端末２に蓄積されている実行プログラムと利用条件とを、それぞれ、別の実行プログラムと新たな利用条件に書き換えることができる。例えば、上述した例でコンテンツを３回再生した後に、ユーザが「そのコンテンツを複製したい」旨を要求した場合を考える。この場合、端末２は、ユーザからの要求をサーバ１に送信し、サーバ１は、受信した要求に応じて、コンテンツ複製プログラムと「１回だけ複製可能」という新たな利用条件とを端末２に配信する。コンテンツ複製プログラムと新たな利用条件とを受信した端末２は、記憶ユニット２４に記憶されているコンテンツ再生プログラムをコンテンツ複製プログラムに書き換え、利用条件「３回だけ再生可能」を新たな利用条件「１回だけ複製可能」に書き換える。記憶ユニット２４に記憶されている処理履歴は「３回再生済み」を示している（すなわち、まだ複製に関する履歴がない）ので、端末２は、そのコンテンツを１回複製することが可能となる。複製が一度実行されると、処理履歴が「３回再生済み・１回複製済み」に書き換えられ、それ以降のコンテンツの複製は禁止される。
【００８１】
第１の実施形態では、コンテンツと実行プログラムと利用条件とは、サーバ１から端末２に配信され、その後は端末２によって管理される。端末２におけるコンテンツの不正コピーや利用条件の改竄を防止するため、コンテンツと利用条件とは、暗号化した状態で配信される。ここで、コンテンツおよび利用条件の復号化鍵などが漏洩する可能性を考慮すると、第２から第４の実施形態で示すように、コンテンツおよび／または利用条件をサーバ１で管理する方法も考えられる。
【００８２】
第２の実施形態では、コンテンツと実行プログラムとを端末２に配信し、利用条件をサーバ１で管理する方法を採用している。第３の実施形態では、実行プログラムと利用条件とを端末２に配信し、コンテンツをサーバ１で管理する方法を採用している。第４の実施形態では、実行プログラムを端末２に配信し、コンテンツと利用条件とをサーバ１で管理する方法を採用している。このように利用条件および／またはコンテンツをサーバ１で管理することにより、端末２におけるコンテンツの不正コピーや利用条件の改竄を防止することができる。
【００８３】
（第２の実施形態）
本発明の第２の実施形態は、コンテンツと実行プログラムとを端末に配信し、利用条件をサーバで管理する点で、コンテンツと実行プログラムと利用条件とを端末に配信する第１の実施形態と相違する。以下では、第１の実施形態との相違点を詳細に説明する。
【００８４】
本実施形態に係るコンテンツ配信システムは、第１の実施形態と同様に、図１から図３に示す構成を有する。図１３は、本実施形態に係る蓄積ユニット１２の詳細を示す図である。図１３に示す蓄積ユニット１２ｂは、図１に示す蓄積ユニット１２を詳細化したものであり、コンテンツデータベース１０１と実行プログラムデータベース１０２と利用条件・処理履歴データベース１０３とを内蔵している。なお、コンテンツデータベース１０１および実行プログラムデータベース１０２の内容は、第１の実施形態と同様であるので（図４を参照）、図１３では記載を省略する。
【００８５】
利用条件・処理履歴データベース１０３には、過去に端末２に配信された実行プログラムについて、UserProgramID 要素とUsageRule 要素とHistory 要素とが格納される。UserProgramID 要素は、実行プログラムの識別子を表す。ただし、UserProgramID 要素に記述される識別子は、第１の実施形態と同様に、実行プログラムを特定するだけでなく、どのユーザ宛に配信された実行プログラムであるかを特定するための識別子である。UsageRule 要素およびHistory 要素は、第１の実施形態において記憶ユニット２４に記憶されたものと同じである。UsageRule 要素およびHistory 要素は、例えば、それぞれ、図６および図７に示すデータ構造を有する。
【００８６】
図１４は、サーバ１から端末２に送信されるカプセルの構造の一例を示す図である。図１４に示すように、カプセル２１１は、ヘッダ部２１２とデータ部２１３とを備えている。ヘッダ部２１２には、カプセル２１１の宛先２１４が格納される。データ部２１３には、コンテンツ２１６と実行プログラム２１７とが格納される。
【００８７】
上述した第１の実施形態では、利用条件は端末２に配信され、記憶ユニット２４に記憶される。また、コンテンツに対する処理履歴は、端末２によって作成され、記憶ユニット２４に記憶される。これに対して本実施形態では、利用条件は、端末２に配信されず、蓄積ユニット１２に記憶される。また、コンテンツに対する処理履歴は、サーバ１によって作成され、蓄積ユニット１２に記憶される。このため、端末２は、コンテンツを処理したときに処理内容をサーバ１に通知し、サーバ１は、端末２からの通知に基づき、蓄積ユニット１２に記憶されている処理履歴を書き換える。
【００８８】
図１５は、本実施形態に係るコンテンツ配信システムの動作を示すメインフローチャートである。図１５に示すフローチャートは、ステップＳ２２、Ｓ２４、Ｓ２６およびＳ２９を除き、図８に示すフローチャートと同じである。以下では、ステップＳ２２、Ｓ２４、Ｓ２６およびＳ２９の詳細を説明する。
【００８９】
図１６は、ステップＳ２２の詳細を示すフローチャートである。図１５のステップＳ２１で要求が入力された場合、ステップＳ２０１からＳ２０５が実行される。ステップＳ２０１からＳ２０５は、図９のステップＳ１０１からＳ１０５と同じである。ただし、本実施形態では、利用条件は、端末２で改竄される恐れがないため、暗号化されない。
【００９０】
次に、制御ユニット１１は、ステップＳ２０４で読み出したコンテンツと実行プログラムとを図１４に示すカプセル２１１に詰めて、通信ユニット１３を通じて端末２に送信するとともに、ステップＳ２０５で作成した利用条件を利用条件・処理履歴データベース１０３に記憶させる（ステップＳ２０６）。
【００９１】
制御ユニット２２は、通信ユニット２３を通じ、サーバ１から送信されたカプセル２１１を受信する（ステップＳ２０７）。次に、制御ユニット２２は、受信したカプセル２１１からコンテンツ２１６と実行プログラム２１７とを取り出し、それらを記憶ユニット２４に記憶させる（ステップＳ２０８）。このようにして第２のカプセル配信処理が完了した後に、図１５のステップＳ２３が実行される。
【００９２】
図１７は、ステップＳ２４の詳細を示すフローチャートである。図１５のステップＳ２３で要求が入力された場合、ステップＳ２２１からＳ２２４が実行される。ステップＳ２２１からＳ２２４は、図１０のステップＳ１２１からＳ１２４と同じである。ただし、本実施形態では、利用条件は、端末２で改竄される恐れがないため、暗号化されない。
【００９３】
次に、制御ユニット１１は、利用条件・処理履歴データベース１０３に記憶されている利用条件を、ステップＳ２２４で作成した新たな利用条件に書き換える（ステップＳ２２５）。このようにして利用条件書き換え処理が完了した後に、図１５のステップＳ２５が実行される。
【００９４】
図１８は、ステップＳ２６の詳細を示すフローチャートである。図１５のステップＳ２５で要求が入力された場合、ステップＳ２４１からＳ２４５が実行される。ステップＳ２４１からＳ２４５は、図１１のステップＳ１４１からＳ１４５と同じである。ただし、本実施形態では、利用条件は、端末２で改竄される恐れがないため、暗号化されない。
【００９５】
次に、制御ユニット１１は、ステップＳ２４４で読み出した別の実行プログラムを、通信ユニット１３を通じて端末２に送信するとともに、蓄積ユニット１２に記憶されている利用条件を、ステップＳ２４５で作成した新たな利用条件に書き換える（ステップＳ２４６）。
【００９６】
制御ユニット２２は、通信ユニット２３を通じ、サーバ１から送信された別の実行プログラムを受信する（ステップＳ２４７）、次に、制御ユニット２２は、記憶ユニット２４に記憶されている実行プログラムを、ステップＳ２４７で受信した別の実行プログラムに書き換える（ステップＳ２４８）。このようにして、サーバ１では利用条件の更新が、端末２では実行プログラムの更新が完了した後に、図１５のステップＳ２７が実行される。
【００９７】
図１９は、ステップＳ２９の詳細を示すフローチャートである。図１５のステップＳ２８で実行プログラムを起動した後、制御ユニット２２は、処理すべきコンテンツに対する処理履歴が利用条件・処理履歴データベース１０３に記憶されているか否かを調べる（ステップＳ２６１）。ステップＳ２６１では、制御ユニット２２から制御ユニット１１に対して問い合わせが送信され、その逆に応答が送信される。処理履歴がサーバ１に記憶されていない場合には、制御ユニット２２は、未処理を示す処理履歴を作成し、作成した処理履歴を利用条件・処理履歴データベース１０３に記憶させる（ステップＳ２６２）。ステップＳ２６２では、制御ユニット２２から制御ユニット１１に対して、未処理を示す処理履歴が転送される。処理履歴がサーバ１に記憶されている場合には、制御ユニット２２は、その処理履歴を利用条件・処理履歴データベース１０３からネットワーク３経由で取得する（ステップＳ２６３）。
【００９８】
次に、制御ユニット２２は、利用条件を利用条件・処理履歴データベース１０３からネットワーク３経由で取得する（ステップＳ２６４）。次に、制御ユニット２２は、ステップＳ２６３で取得した（あるいは、ステップＳ２６２で作成した）処理履歴とステップＳ２６４で取得した利用条件とを比較し（ステップＳ２６５）、コンテンツの利用が許可されているか否かを判定する（ステップＳ２６６）。
【００９９】
コンテンツの利用が許可されている場合、ステップＳ２６７およびＳ２６８が実行される。ステップＳ２６７およびＳ２６８は、図１２のステップＳ１６７およびＳ１６８と同じである。次に、制御ユニット２２は、ステップＳ２６８における処理内容を制御ユニット１１に通知する（ステップＳ２６９）。
【０１００】
制御ユニット１１は、処理内容の通知を受けると、新たな処理履歴を作成し、利用条件・処理履歴データベース１０３に記憶されている処理履歴を、新たな処理履歴に書き換える（ステップＳ２７０）。
【０１０１】
ステップＳ２６６においてコンテンツの利用が許可されていない場合、制御ユニット２２は、入出力ユニット２１を通じてその旨をユーザに通知する（ステップＳ２７１）。このようにして第２のコンテンツ処理が完了した後に、図１５のステップＳ３０が実行される。
【０１０２】
なお、本実施形態においても、第１の実施形態と同様に、コンテンツの利用可否を判定するために、処理履歴を記憶せずに利用条件を更新してもよく、コンテンツと実行プログラムとを別々に配信してもよい。また、上記の構成では、端末２が、コンテンツを処理するに前に、サーバ１から利用条件を取得し、取得した利用条件に基づきコンテンツの利用可否を判定するが、これに代えて、サーバ１が、自ら記憶している利用条件に基づきコンテンツの利用可否を判定し、判定結果を端末２に通知してもよい。この構成を採用する場合、制御ユニット１１に含まれるＲＯＭに利用可否判定プログラムを追加し、端末２に配信される実行プログラムから利用可否判定機能（例えば、利用可否判定サブルーチン）を削除してもよい。また、上記の構成では、サーバ１が利用条件を作成して記憶するが、これに代えて、他のサーバが利用条件を作成し、サーバ１は作成された利用条件を記憶してもよい。
【０１０３】
以上に示すように、本実施形態に係るコンテンツ配信システムでは、コンテンツと実行プログラムとが端末に配信され、利用条件はサーバで管理される。このため、第１の実施形態の効果に加えて、端末における利用条件の改竄を防止することができる。
【０１０４】
（第３の実施形態）
本発明の第３の実施形態は、実行プログラムと利用条件とを端末に配信し、コンテンツをサーバで管理する点で、コンテンツと実行プログラムと利用条件とを端末に配信する第１の実施形態と相違する。以下では、第１の実施形態との相違点を詳細に説明する。
【０１０５】
本実施形態に係るコンテンツ配信システムは、第１の実施形態と同様に、図１から図３に示す構成を有する。蓄積ユニット１２の構成は、第１の実施形態と同じである（図４を参照）。ただし、本実施形態では、コンテンツは、コンテンツデータベース１０１に暗号化されずに格納される。
【０１０６】
図２０は、サーバ１から端末２に送信されるカプセルの構造の一例を示す図である。図２０に示すように、カプセル３１１は、ヘッダ部３１２とデータ部３１３とを備えている。ヘッダ部３１２には、カプセル３１１の宛先３１４が格納される。データ部３１３には、利用条件３１５と実行プログラム３１７とが格納される。
【０１０７】
本実施形態における利用条件および処理履歴の取り扱いは、第１の実施形態と同じである。また、第１の実施形態では、コンテンツは端末２に配信され記憶ユニット２４に記憶されるが、本実施形態では、コンテンツも端末２に配信されず蓄積ユニット１２に蓄積されたままである。端末２が実行プログラムを起動し、コンテンツの処理を行うときに初めて、コンテンツは、蓄積ユニット１２から読み出され、処理ユニット２５に転送される。処理ユニット２５は、サーバ１からネットワーク３経由でコンテンツを受信しながら、受信したコンテンツを処理する。このような処理は、一般にストリーミング処理と呼ばれる。
【０１０８】
図２１は、本実施形態に係るコンテンツ配信システムの動作を示すメインフローチャートである。図２１に示すフローチャートは、ステップＳ４２およびＳ４９を除き、図８に示すフローチャートと同じである。以下では、ステップＳ４２およびＳ４９の詳細を説明する。
【０１０９】
図２２は、ステップＳ４２の詳細を示すフローチャートである。図２２に示すフローチャートは、以下の３つのステップを除き、図９に示すフローチャートと同じである。第１に、ステップＳ３０４では、制御ユニット１１は、実行プログラムデータベース１０２から、受信した要求に対応する実行プログラムを読み出す。この際、制御ユニット１１は、コンテンツを読み出さない。第２に、ステップＳ３０６では、制御ユニット１１は、ステップＳ３０４で読み出した実行プログラムとステップＳ３０５で作成した利用条件とを、図２０に示すカプセル３１１に詰めて、通信ユニット１３を通じて端末２に送信する。この際、制御ユニット１１は、コンテンツをカプセル３１１に詰めて送信しない。第３に、ステップＳ３０８では、制御ユニット２２は、受信したカプセル３１１から利用条件３１５と実行プログラム３１７とを取り出し、それらを記憶ユニット２４に記憶させる。この際、制御ユニット２２は、カプセル３１１からコンテンツを取り出さない。このようにして第３のカプセル配信処理が完了した後に、図２１のステップＳ４３が実行される。
【０１１０】
図２３は、ステップＳ４９の詳細を示すフローチャートである。図２３に示すフローチャートは、ステップＳ３６７を除き、図１２に示すフローチャートと同じである。ステップＳ３６７では、制御ユニット２２は、利用条件に従い、コンテンツデータベース１０１から処理対象のコンテンツの指定された区間をネットワーク３経由で受信しながら処理することを、処理ユニット２５に命じる。これにより、例えば、コンテンツの先頭から３０分までの区間が、サーバ１から読み出されて再生される。このようにして第３のコンテンツ処理が完了した後に、図２１のステップＳ５０が実行される。
【０１１１】
なお、本実施形態においても、第１の実施形態と同様に、コンテンツの利用可否を判定するために、処理履歴を記憶せずに利用条件を更新してもよく、実行プログラムと利用条件とを別々に配信してもよい。また、上記の構成では、コンテンツは、サーバ１に暗号化されずに蓄積されるが、暗号化した状態で蓄積されてもよい。この場合、端末２は、ステップＳ３６７においてサーバ１から受信したコンテンツを復号化した後に処理する。
【０１１２】
以上に示すように、本実施形態に係るコンテンツ配信システムでは、実行プログラムと利用条件とが端末に配信され、コンテンツはサーバで管理される。このため、第１の実施形態の効果に加えて、端末におけるコンテンツの不正コピーを防止することができる。
【０１１３】
（第４の実施形態）
本発明の第４の実施形態は、実行プログラムを端末に配信し、コンテンツと利用条件とをサーバで管理する点で、コンテンツと実行プログラムとを端末に配信し、利用条件をサーバで管理する第２の実施形態と相違する。以下では、第２の実施形態との相違点を詳細に説明する。
【０１１４】
本実施形態に係るコンテンツ配信システムは、第１および第２の実施形態と同様に、図１から図３に示す構成を有する。蓄積ユニット１２の構成は、第２の実施形態と同じである（図１３を参照）。ただし、本実施形態では、第３の実施形態と同様に、コンテンツは、コンテンツデータベース１０１に暗号化されずに格納される。
【０１１５】
図２４は、サーバ１から端末２に送信されるカプセルの構造の一例を示す図である。図２４に示すように、カプセル４１１は、ヘッダ部４１２とデータ部４１３とを備えている。ヘッダ部４１２には、カプセル４１１の宛先４１４が格納される。データ部４１３には、実行プログラム４１７が格納される。
【０１１６】
本実施形態における利用条件および処理履歴の取り扱いは、第２の実施形態と同じであり、本実施形態におけるコンテンツの取り扱いは、第３の実施形態と同じである。
【０１１７】
図２５は、本実施形態に係るコンテンツ配信システムの動作を示すメインフローチャートである。図２５に示すフローチャートは、ステップＳ６２およびＳ６９を除き、図１５に示すフローチャートと同じである。以下では、ステップＳ６２およびＳ６９の詳細を説明する。
【０１１８】
図２６は、ステップＳ６２の詳細を示すフローチャートである。図２６に示すフローチャートは、以下の３つのステップを除き、図１６に示すフローチャートと同じである。第１に、ステップＳ４０４は、図２２のステップＳ３０４と同じである。この際、制御ユニット１１は、コンテンツを読み出さない。第２に、ステップＳ４０６では、制御ユニット１１は、ステップＳ４０４で読み出した実行プログラムを図２４に示すカプセル４１１に詰めて、通信ユニット１３を通じて端末２に送信するとともに、ステップＳ４０５で作成した利用条件を利用条件・処理履歴データベース１０３に記憶させる。この際、制御ユニット１１は、コンテンツをカプセル４１１に詰めて送信しない。第３に、ステップＳ４０８では、制御ユニット２２は、受信したカプセル４１１から実行プログラム４１７を取り出し、それを記憶ユニット２４に記憶させる。この際、制御ユニット２２は、カプセル４１１からコンテンツを取り出さない。このようにして第４のカプセル配信処理が完了した後に、図２５のステップＳ６３が実行される。
【０１１９】
図２７は、ステップＳ６９の詳細を示すフローチャートである。図２７に示すフローチャートは、ステップＳ４６７を除き、図１９に示すフローチャートと同じである。ステップＳ４６７は、図２３のステップＳ３６７と同じである。このようにして第４のコンテンツ処理が完了した後に、図２５のステップＳ７０が実行される。
【０１２０】
なお、本実施形態においても、第１の実施形態と同様に、コンテンツの利用可否を判定するために、処理履歴を記憶せずに利用条件を更新してもよく、第２の実施形態と同様に、サーバ１が、自ら記憶している利用条件に基づきコンテンツの利用可否を判定し、判定結果を端末２に通知してもよく、第３の実施形態と同様に、コンテンツが、サーバ１に暗号化した状態で蓄積されてもよい。
【０１２１】
以上に示すように、本実施形態に係るコンテンツ配信システムでは、実行プログラムが端末２に配信され、コンテンツと利用条件とはサーバ１で管理される。このため、第１の実施形態の効果に加えて、端末２におけるコンテンツの不正コピーと利用条件の改竄とを防止することができる。
【０１２２】
第１から第４の実施形態に係るコンテンツ配信システムには、課金機能、ミドルウェア配信機能、コンテンツなどの選択配信機能などを追加することができる。以下、第１の実施形態に上記各機能を追加した実施形態について説明する。
【０１２３】
（第５の実施形態）
本発明の第５の実施形態に係るコンテンツ配信システムは、第１の実施形態に係るコンテンツ配信システムに課金機能を追加したものである。本実施形態ではサーバにおいて、端末（厳密に言えば、端末のユーザ）に対する課金処理が行われる。
【０１２４】
本実施形態に係るコンテンツ配信システムは、第１の実施形態と同様に、図１から図３に示す構成を有する。図２８は、本実施形態に係る蓄積ユニット１２の詳細を示す図である。図２８に示す蓄積ユニット１２ｃは、図１に示す蓄積ユニット１２を詳細化したものであり、コンテンツデータベース１０１と実行プログラムデータベース１０２と課金情報データベース１０４とを内蔵している。なお、コンテンツデータベース１０１および実行プログラムデータベース１０２の内容は、第１の実施形態と同様であるので（図４を参照）、図２８では記載を省略する。
【０１２５】
課金情報データベース１０４には、端末２のユーザの識別子（ユーザＩＤ）および各ユーザに対する課金情報、並びに、料金表が格納される。課金情報は、端末２の各ユーザがコンテンツの提供者に対して支払うべき金額を表す。料金表には、コンテンツデータベース１０１に蓄積された各コンテンツを利用するための料金が掲載されている。より詳細には、料金表には、各コンテンツについて、利用可能区間、利用形態（例えば、再生、複製、編集など）、利用可能回数、利用可能時間、利用可能期間などに応じた料金が掲載されている。
【０１２６】
本実施形態に係るコンテンツ配信システムは、図８から図１２に示すフローチャートの３箇所に課金処理を追加したフローチャートに従って動作する。課金処理は、利用条件を作成した直後、すなわち、ステップＳ１０５（図９）、ステップＳ１２４（図１０）およびステップＳ１４５（図１１）の直後に追加される。
【０１２７】
図２９は、課金処理の詳細を示すフローチャートである。課金処理は、利用条件を作成した直後に、制御ユニット１１によって行われる。制御ユニット１１は、課金情報データベース１０４に格納されている料金表に基づき、作成した利用条件に応じた料金を計算する（ステップＳ５０１）。次に、制御ユニット１１は、課金情報データベース１０４から、利用条件の配信先となる端末２のユーザを探す（ステップＳ５０２）。次に、制御ユニット１１は、ステップＳ５０１で計算した料金を、ステップＳ５０２で検出したユーザに対する課金情報に加算する（ステップＳ５０３）。このような課金処理により、作成した利用条件に応じた料金を求め、これを集計することにより、各ユーザに対する請求額を求めることができる。
【０１２８】
本実施形態では、所定の期日に（例えば、毎月１５日に）、課金情報データベース１０４に蓄積された課金情報に基づき、利用料金の決済が行われる。利用料金の決済は、例えば、サーバ１がネットワーク３経由で銀行やカード会社のホストコンピュータ（図示せず）と通信することにより、自動的に行われる。
【０１２９】
以上に示すように、本実施形態に係るコンテンツ配信システムでは、サーバは、設定した利用条件に応じて端末に対して課金する。利用条件には、例えば、コンテンツの利用可能区間、利用可能回数、利用可能時間、利用可能期間などが含まれる。利用可能区間を用いれば、コンテンツを利用した区間の長さに応じた料金を課金できる。利用可能回数を用いれば、コンテンツの利用回数に応じた料金を課金できる。利用可能時間を用いれば、コンテンツの利用時間に応じた料金を課金できる。利用可能期間を用いれば、コンテンツの利用可能期間の長さに応じた料金を課金できる。また、コンテンツの利用形態（例えば、再生、複製、編集など）に応じた料金を課金できる。これにより、端末のユーザは、コンテンツを実際に利用した分の料金を支払えば済むようになる。
【０１３０】
なお、以上の構成では、利用条件を作成したときに課金する前払い方式を採用したが、コンテンツが実際に利用されたときに課金する後払い方式を採用してもよい。この場合、制御ユニット１１は、端末２から通知される処理履歴を参照して、料金を計算すればよい。
【０１３１】
（第６の実施形態）
本発明の第６の実施形態に係るコンテンツ配信システムは、第１の実施形態に係るコンテンツ配信システムにミドルウェア配信機能を追加したものである。端末のハードウェアやＯＳの環境が異なると、端末によっては、サーバから配信された実行プログラムを実行できないことがある。そこで、本実施形態では、サーバから端末に、実行プログラムとともに、実行プログラムの動作環境を構築するためのミドルウェアが配信される。
【０１３２】
本実施形態に係るコンテンツ配信システムは、第１の実施形態と同様に、図１から図３に示す構成を有する。図３０は、本実施形態に係る蓄積ユニット１２の詳細を示す図である。図３０に示す蓄積ユニット１２ｄは、図１に示す蓄積ユニット１２を詳細化したものであり、コンテンツデータベース１０１と実行プログラムデータベース１０２とミドルウェアデータベース１０５とを内蔵している。なお、コンテンツデータベース１０１および実行プログラムデータベース１０２の内容は、第１の実施形態と同様であるので（図４を参照）、図３０では記載を省略する。
【０１３３】
端末２で使用されるハードウェアやＯＳに複数の種類がある場合、ミドルウェアデータベース１０５には、これに対応して複数のミドルウェアが格納される。図３０は、端末２で使用されるハードウェアやＯＳに、環境α、環境β、環境γなどの種類がある場合に、ミドルウェアデータベース１０５に、Middleware1 、Middleware2 、Middleware3 などのミドルウェアが格納されている様子を示している。実行プログラムデータベース１０２に格納された実行プログラムは、ミドルウェアデータベース１０５に格納された、すべてのミドルウェア上でも動作するものとする。
【０１３４】
本実施形態に係るコンテンツ配信システムは、図８、図１０、図１２、図３１および図３３に示すフローチャートに従って動作する。図３１は、図８のステップＳ２の詳細を示すフローチャートである。図３１に示すフローチャートは、次の５つのステップを除き、図９に示すフローチャートと同じである。第１に、ステップＳ６０２では、制御ユニット２２は、ステップＳ６０１で受け付けた要求をサーバ１に送信するときに、端末２で使用されるハードウェアやＯＳについての情報（以下、環境情報という）を、要求に含めて送信する。第２に、ステップＳ６０６では、制御ユニット１１は、ステップＳ６０２で送信された環境情報に基づき、ステップＳ６０４で読み出した実行プログラムが配信先の端末２で実行可能か否かを判定する。第３に、ステップＳ６０６における判定結果が否定である場合、ステップＳ６０８では、制御ユニット１１は、ミドルウェアデータベース１０５から端末２に適合したミドルウェアを読み出す。第４に、ステップＳ６０９では、制御ユニット１１は、ステップＳ６０４で読み出したコンテンツおよび実行プログラムと、ステップＳ６０５で作成された利用条件と、ステップＳ６０８で読み出したミドルウェアとをカプセルに詰めて、通信ユニット１３を通じて端末２に送信する。第５に、ステップＳ６１１では、制御ユニット２２は、ステップＳ６１０で受信したカプセルから利用条件とコンテンツと実行プログラムとを取り出し記憶ユニット２４に記憶させるときに、カプセルにミドルウェアが含まれている場合には、ミドルウェアについても同じ処理を行う。このようにミドルウェア配信機能を追加したステップＳ２によれば、端末２に実行プログラムを配信するときに、必要に応じてミドルウェアを配信することができる。
【０１３５】
図３２は、ステップＳ６０９においてサーバ１から端末２に送信されるカプセルの構造の一例を示す図である。図３２において、カプセル６１１は、ヘッダ部６１２とデータ部６１３とを備えている。ヘッダ部６１２には、カプセル６１１の宛先６１４が格納される。データ部６１３には、利用条件６１５とコンテンツ６１６と実行プログラム６１７とミドルウェア６１８とが格納される。
【０１３６】
図３３は、図８のステップＳ６の詳細を示すフローチャートである。図３３に示すフローチャートは、次の６つのステップを除き、図１１に示すフローチャートと同じである。第１に、ステップＳ６４２は、図３１のステップＳ６０２と同じである。第２に、ステップＳ６４６は、図３１のステップＳ６０６と同じである。第３に、ステップＳ６４８は、図３１のステップＳ６０８と同じである。第４に、ステップＳ６４９では、制御ユニット１１は、ステップＳ６４４で読み出した実行プログラムと、ステップＳ６４５で作成した利用条件と、ステップＳ６４８で読み出したミドルウェアとを、通信ユニット１３を通じて端末２に送信する。第５に、ステップＳ６５０では、制御ユニット２２は、通信ユニット２３を通じ、サーバ１から送信された新たな利用条件と別の実行プログラムとを受信するときに、もしあればミドルウェアも受信する。第６に、ステップＳ６５１では、制御ユニット２２は、記憶ユニット２４に記憶されている利用条件と実行プログラムとを、それぞれ、ステップＳ６５０で受信した新たな利用条件と別の実行プログラムとに書き換えるときに、ステップＳ６５０でミドルウェアを受信した場合には、ミドルウェアについても同じ処理を行う。このようにミドルウェア配信機能を追加したステップＳ６によれば、端末２に新たな実行プログラムを配信するときに、必要に応じてミドルウェアを配信することができる。
【０１３７】
制御ユニット２２は、図８のステップＳ８で実行プログラムを起動するときに、実行プログラムの起動に先立ち、記憶ユニット２４に記憶されたミドルウェアを起動する。これにより、端末２では、サーバ１から配信された実行プログラムを実行し、コンテンツを処理するための動作環境が構築される。
【０１３８】
以上に示すように、本実施形態に係るコンテンツ配信システムによれば、ハードウェアやＯＳなどが異なるために、端末２で実行プログラムを実行できない場合には、サーバ１から端末２に、実行プログラムとともに、端末２で使用されるハードウェアやＯＳに適合したミドルウェアが配信される。これにより、ハードウェアやＯＳなどの違いに関わらず、多くの種類の端末２で実行プログラムを実行し、コンテンツを処理させることができる。
【０１３９】
（第７の実施形態）
本発明の第７の実施形態に係るコンテンツ配信システムは、第１の実施形態に係るコンテンツ配信システムに、コンテンツなどの選択配信機能を追加したものである。本実施形態では、サーバから端末に、端末の処理能力や通信状況などに応じて選択されたコンテンツあるいは実行プログラムが配信される。
【０１４０】
本実施形態に係るコンテンツ配信システムは、第１の実施形態と同様に、図１から図３に示す構成を有する。蓄積ユニット１２の構成は、第１の実施形態と同じである（図４を参照）。本実施形態では、コンテンツなどの選択配信機能を実現するため、コンテンツデータベース１０１には同じ内容のコンテンツが複数個格納され、実行プログラムデータベース１０２には同じ機能の実行プログラムが複数個格納される。より詳細には、実行プログラムデータベース１０２には、機能が同じで必要な処理能力が異なる複数の実行プログラムが格納される。また、コンテンツデータベース１０１には、内容が同じで必要な処理能力が異なる複数のコンテンツ、あるいは、内容が同じで単位時間あたりのデータ量が異なる複数のコンテンツが格納される。
【０１４１】
サーバ１は、コンテンツなどの選択配信を行うために、図３４および図３５に示すテーブルを使用する。図３４に示すテーブルは、実行プログラムデータベース１０２に格納されている実行プログラムを、実行プログラムの機能および端末２の処理能力と対応づけて示したものである。テーブルの各行は、実行プログラムの機能に対応し、テーブルの各列は、端末２の処理能力に対応する。図３４に示すテーブルは、端末２の処理能力がパーソナルコンピュータ（ＰＣ）と同程度である場合、コンテンツ再生プログラムはProgram11 、コンテンツ再生および複製プログラムはProgram21 、コンテンツ複製プログラムはProgram31 、コンテンツ編集プログラムはProgram41 であり、端末２の処理能力が携帯電話と同程度である場合、コンテンツ再生プログラムはProgram21 であることを示している。端末２の処理能力がセットトップボックス（ＳＴＢ）またはパーソナルデジタルアシスタント（ＰＤＡ）と同程度である場合も同様である。なお、プログラム名に代えて横線が記載されている欄は、対応する実行プログラムが存在しないことを表す。
【０１４２】
図３５に示すテーブルは、コンテンツデータベース１０１に格納されているコンテンツを、コンテンツＩＤおよび符号化方式と対応づけて示したものである。テーブルの各行は、コンテンツＩＤに対応し、テーブルの各列は、符号化方式に対応する。なお、同じ内容のコンテンツには、符号化方式が異なっていても、同じコンテンツＩＤが付される。図３５に示すテーブルは、コンテンツＩＤがCo0001であるコンテンツを、ＭＰＥＧ２高ビットレート方式、ＭＰＥＧ２低ビットレート方式、ＭＰＥＧ４高ビットレート方式、および、ＭＰＥＧ４低ビットレート方式で符号化した結果が、それぞれ、Contents1-2H.mpg、Contents1-2L.mpg、Contents1-4H.mp4、および、Contents1-4L.mp4であることを示している。Co0001以外のコンテンツＩＤを有するコンテンツについても同様である。
【０１４３】
制御ユニット１１または蓄積ユニット１２には、図３４および図３５に示すテーブルの少なくとも一方が記憶されている。制御ユニット１１は、これらのテーブルを用いて、以下のように、コンテンツまたは実行プログラムを選択して配信する。なお、図８から図１２に示すフローチャートにおいて、コンテンツは、図９のステップＳ１０４で選択され、実行プログラムは、図９のステップＳ１０４および図１１のステップＳ１４４で選択される。
【０１４４】
第１の例として、サーバ１は、端末２の処理能力に基づき、実行プログラムを選択して配信することができる。この場合、サーバ１は、実行プログラムを配信する前に、端末２の処理能力に関する情報（例えば、端末２のプロセッサ能力やメモリ容量など）を受信し、図３４に示すテーブルを参照して、端末２の処理能力に応じた実行プログラムを選択し、端末２に送信する。これにより、サーバ１から端末２に、端末２の処理能力に応じて選択した最適な実行プログラムを配信することができる。
【０１４５】
第２の例として、サーバ１は、端末２の処理能力に基づき、コンテンツを選択して配信することができる。この場合、サーバ１は、コンテンツを配信する前に、端末２の処理能力に関する情報を受信し、図３５に示すテーブルを参照して、端末２の処理能力に応じたコンテンツを選択し、端末２に送信する。これにより、サーバ１から端末２に、端末２の処理能力に応じて選択した最適なコンテンツを配信することができる。なお、第１および第２の例では、サーバ１は、端末２の処理能力に関する情報として、端末２から処理可能な符号化方式を受信し、これに応じてコンテンツを選択してもよい。
【０１４６】
第３の例として、サーバ１は、サーバ１と端末２との間の通信状況に応じて、コンテンツを選択して配信することができる。この場合、サーバ１は、コンテンツを配信する前に、ネットワーク３の状況を監視し、これに応じてコンテンツを選択し、端末２に送信する。例えば、サーバ１は、ネットワーク３の帯域に余裕があるときは、ＭＰＥＧ４高ビットレート方式で符号化されたコンテンツを選択し、ネットワーク３の帯域に余裕がないときには、ＭＰＥＧ４低ビットレート方式で符号化されたコンテンツを選択する。これにより、サーバ１から端末２に、通信状況に応じて選択した最適なコンテンツを配信することができる。
【０１４７】
以上に示すように、本実施形態に係るコンテンツ配信システムによれば、サーバから端末に、端末の処理能力や通信状況に応じて選択した最適なコンテンツや実行プログラムを選択して配信することができる。コンテンツの選択配信と実行プログラムの選択配信とは別の機能であるので、サーバ１は、いずれか一方の機能だけを有していてもよい。
【０１４８】
なお、第５から第７の実施形態に係るコンテンツ配信システムは、第１の実施形態に係るコンテンツ配信システムに、それぞれ、課金機能、ミドルウェア配信機能、および、コンテンツなどの選択配信機能を追加したものであるが、上記３つの機能を任意に組み合わせて、第１の実施形態に係るコンテンツ配信システムに追加してもよい。また、第２から第４の実施形態に係るコンテンツ配信システムについても、第１の実施形態に係るコンテンツ配信システムと同様に、上記３つの機能を任意に組み合わせて、第２から第４の実施形態に係るコンテンツ配信システムに追加してもよい。
【０１４９】
また、第１から第７の実施形態およびその変形例では、１台のサーバ１から、コンテンツと実行プログラムと（必要な場合には、利用条件と）が配信されるが、これに代えて、複数のサーバにこれら３つのデータの配信機能を分散して実装してもよい。例えば、コンテンツ配信システムは第１から第３のサーバを備え、第１のサーバはコンテンツを、第２のサーバは実行プログラムを、第３のサーバは利用条件を配信してもよい。
【図面の簡単な説明】
【図１】本発明の第１から第７の実施形態に係るコンテンツ配信システムの構成を示すブロック図である。
【図２】図１に示すサーバの詳細の構成を示すブロック図である。
【図３】図１に示す端末の詳細の構成を示すブロック図である。
【図４】第１、第３および第７の実施形態に係るコンテンツ配信システムの蓄積ユニットの詳細を示す図である。
【図５】第１の実施形態に係るコンテンツ配信システムで送信されるカプセルの構造の一例を示す図である。
【図６】図１に示すコンテンツ配信システムで使用される利用条件の一例を示す図である。
【図７】図１に示すコンテンツ配信システムで使用される処理履歴の一例を示す図である。
【図８】第１の実施形態に係るコンテンツ配信システムの動作を示すメインフローチャートである。
【図９】図８のステップＳ２の詳細を示すフローチャートである。
【図１０】図８のステップＳ４の詳細を示すフローチャートである。
【図１１】図８のステップＳ６の詳細を示すフローチャートである。
【図１２】図８のステップＳ９の詳細を示すフローチャートである。
【図１３】第２および第４の実施形態に係るコンテンツ配信システムの蓄積ユニットの詳細を示す図である。
【図１４】第２の実施形態に係るコンテンツ配信システムで送信されるカプセルの構造の一例を示す図である。
【図１５】第２の実施形態に係るコンテンツ配信システムの動作を示すメインフローチャートである。
【図１６】図１５のステップＳ２２の詳細を示すフローチャートである。
【図１７】図１５のステップＳ２４の詳細を示すフローチャートである。
【図１８】図１５のステップＳ２６の詳細を示すフローチャートである。
【図１９】図１５のステップＳ２９の詳細を示すフローチャートである。
【図２０】第３の実施形態に係るコンテンツ配信システムで送信されるカプセルの構造の一例を示す図である。
【図２１】第３の実施形態に係るコンテンツ配信システムの動作を示すメインフローチャートである。
【図２２】図２１のステップＳ４２の詳細を示すフローチャートである。
【図２３】図２１のステップＳ４９の詳細を示すフローチャートである。
【図２４】第４の実施形態に係るコンテンツ配信システムで送信されるカプセルの構造の一例を示す図である。
【図２５】第４の実施形態に係るコンテンツ配信システムの動作を示すメインフローチャートである。
【図２６】図２５のステップＳ６２の詳細を示すフローチャートである。
【図２７】図２５のステップＳ６９の詳細を示すフローチャートである。
【図２８】第５の実施形態に係るコンテンツ配信システムの蓄積ユニットの詳細を示す図である。
【図２９】第５の実施形態に係るコンテンツ配信システムにおける課金処理の詳細を示すフローチャートである。
【図３０】第６の実施形態に係るコンテンツ配信システムの蓄積ユニットの詳細を示す図である。
【図３１】第６の実施形態に係るコンテンツ配信システムにおけるステップＳ２の詳細を示すフローチャートである。
【図３２】第６の実施形態に係るコンテンツ配信システムで送信されるカプセルの構造の一例を示す図である。
【図３３】第６の実施形態に係るコンテンツ配信システムにおけるステップＳ６の詳細を示すフローチャートである。
【図３４】第７の実施形態に係るコンテンツ配信システムで使用される実行プログラムのテーブルを示す図である。
【図３５】第７の実施形態に係るコンテンツ配信システムで使用されるコンテンツのテーブルを示す図である。
【符号の説明】
１…サーバ
２…端末
３…ネットワーク
１１、２２…制御ユニット
１２…蓄積ユニット
１３、２３…通信ユニット
２１…入出力ユニット
２４…記憶ユニット
２５…処理ユニット
１０１…コンテンツデータベース
１０２…実行プログラムデータベース
１０３…利用条件・処理履歴データベース
１０４…課金情報データベース
１０５…ミドルウェアデータベース
１１１、２１１、３１１、４１１、６１１…カプセル
１１５、３１５、６１５…利用条件
１１６、２１６、６１６…コンテンツ
１１７、２１７、３１７、４１７、６１７…実行プログラム
１１８、６１８…ミドルウェア
【図１】
0004532068.tif 000002
【図２】
0004532068.tif 000003
【図３】
0004532068.tif 000004
【図４】
0004532068.tif 000005
【図５】
0004532068.tif 000006
【図６】
0004532068.tif 000007
【図７】
0004532068.tif 000008
【図８】
0004532068.tif 000009
【図９】
0004532068.tif 000010
【図１０】
0004532068.tif 000011
【図１１】
0004532068.tif 000012
【図１２】
0004532068.tif 000013
【図１３】
0004532068.tif 000014
【図１４】
0004532068.tif 000015
【図１５】
0004532068.tif 000016
【図１６】
0004532068.tif 000017
【図１７】
0004532068.tif 000018
【図１８】
0004532068.tif 000019
【図１９】
0004532068.tif 000020
【図２０】
0004532068.tif 000021
【図２１】
0004532068.tif 000022
【図２２】
0004532068.tif 000023
【図２３】
0004532068.tif 000024
【図２４】
0004532068.tif 000025
【図２５】
0004532068.tif 000026
【図２６】
0004532068.tif 000027
【図２７】
0004532068.tif 000028
【図２８】
0004532068.tif 000029
【図２９】
0004532068.tif 000030
【図３０】
0004532068.tif 000031
【図３１】
0004532068.tif 000032
【図３２】
0004532068.tif 000033
【図３３】
0004532068.tif 000034
【図３４】
0004532068.tif 000035
【図３５】
0004532068.tif 000036