(57)【特許請求の範囲】
【請求項１】
コンテンツ記録媒体に記録されているコンテンツを利用するコンテンツ利用装置であって、
コンテンツの利用を制御するコンピュータプログラムを記憶している記憶手段と、
利用対象のコンテンツの新旧、品質又はヒット度を示す価値を取得し、取得した価値が一定基準を満たすか否かを判断する価値判断手段と、
前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いか否かを判断することにより、前記記憶手段に記憶されている前記コンピュータプログラムが、前記コンテンツに適切でないか否かを判断する適性判断手段と、
前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いと判断されることにより、前記コンピュータプログラムが適切でないと判断される場合、利用対象の前記コンテンツの価値が一定基準を満たすときに、前記コンテンツの利用に先立って、前記記憶手段に記憶されている前記コンピュータプログラムを、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代と同一又はより新しい世代の適切なコンピュータプログラムに更新する更新手段と
を備えることを特徴とするコンテンツ利用装置。
【請求項２】
前記更新手段は、さらに、前記コンピュータプログラムが適切でない場合、利用対象の前記コンテンツの価値が一定基準を満たさないときに、前記コンテンツの利用後に、又は空き時間に、前記記憶手段に記憶されている前記コンピュータプログラムを、適切なコンピュータプログラムに更新する
ことを特徴とする請求項１に記載のコンテンツ利用装置。
【請求項３】
前記価値判断手段は、前記価値を示す情報として、前記コンテンツが制作された制作時期を取得し、取得した前記制作時期が、現時点から所定期間内であれば、取得した価値が一定基準を満たすと決定し、取得した前記制作時期が、現時点から所定期間よりも前であれば、取得した価値が一定基準を満たさないと決定する
ことを特徴とする請求項２に記載のコンテンツ利用装置。
【請求項４】
前記価値判断手段は、前記コンテンツが記録されているコンテンツ記録媒体から前記制作時期を読み出すことにより、取得する
ことを特徴とする請求項３に記載のコンテンツ利用装置。
【請求項５】
前記価値判断手段は、前記価値を示す情報として、前記コンテンツの市場における販売数量を取得し、取得した前記販売数量が、所定値以上であれば、取得した価値が一定基準を満たすと決定し、所定値未満であれば、取得した価値が一定基準を満たさないと決定する
ことを特徴とする請求項２に記載のコンテンツ利用装置。
【請求項６】
前記価値判断手段は、前記価値を示す情報として、前記コンテンツの品質を取得し、取得した前記品質が、所定値以上であれば、取得した価値が一定基準を満たすと決定し、所定値未満であれば、取得した価値が一定基準を満たさないと決定する
ことを特徴とする請求項２に記載のコンテンツ利用装置。
【請求項７】
前記価値判断手段は、コンテンツが記録されているコンテンツ記録媒体から前記品質を読み出すことにより、取得する
ことを特徴とする請求項６に記載のコンテンツ利用装置。
【請求項８】
前記更新手段は、前記コンピュータプログラムを更新する内容が定義された更新プログラムを取得し、取得した更新プログラムを用いて、前記記憶手段に記憶されている前記コンピュータプログラムを更新する
ことを特徴とする請求項２に記載のコンテンツ利用装置。
【請求項９】
ネットワークを介して前記コンテンツ利用装置に接続されているサーバ装置は、前記更新プログラムをあらかじめ記録しており、
前記更新手段は、ネットワークを介して前記サーバ装置から前記更新プログラムを取得する
ことを特徴とする請求項８に記載のコンテンツ利用装置。
【請求項１０】
前記コンテンツを記録しているコンテンツ記録媒体は、前記更新プログラムをあらかじめ記録しており、
前記更新手段は、前記コンテンツ記録媒体から前記更新プログラムを読み出すことにより、取得する
ことを特徴とする請求項８に記載のコンテンツ利用装置。
【請求項１１】
前記コンテンツ利用装置は、さらに、
前記コンテンツを記録しているコンテンツ記録媒体が装着されたことを検出する検出手段を備え、
前記価値判断手段及び適性判断手段は、それぞれ、前記コンテンツ記録媒体が装着されたことが検出された場合に、判断を行う
ことを特徴とする請求項２に記載のコンテンツ利用装置。
【請求項１２】
前記更新手段は、少なくとも前記更新プログラムの取得プロセス及び前記コンピュータプログラムの更新プロセスを含むプログラム導入を経て、前記コンピュータプログラムを更新し、
前記更新手段は、
前記コンピュータプログラムが適切でない場合、利用対象の前記コンテンツの価値が一定基準を満たさないときに、前記プログラム導入を構成する各プロセスの実行が、前記コンピュータプログラムに従ったコンテンツの利用動作に支障を来すか否かを判断する支障判断部と、
前記支障判断部により支障を来すと判断する場合に、当該プロセスの実行を保留し、支障を来さないと判断する場合に、当該プロセスを実行する第１実行部と、
前記コンピュータプログラムに従ったコンテンツの利用動作が終了したか否かを判断する終了判断部と、
前記終了判断部により終了したと判断される場合に、保留されたプロセスが存在すれば、当該プロセスを実行する第２実行部とを含む
ことを特徴とする請求項２に記載のコンテンツ利用装置。
【請求項１３】
前記プログラム導入は、取得した前記更新プログラムの正当性の検証プロセス及び取得した前記更新プログラムの伸張プロセスの両方又はいずれか一方を含む
ことを特徴とする請求項１２に記載のコンテンツ利用装置。
【請求項１４】
前記支障判断部は、前記プロセスの実行に要すると予測される予測時間と、所定時間とを比較し、前記予測時間が前記所定時間より長いと判断する場合に、支障を来すと判断する
ことを特徴とする請求項１２に記載のコンテンツ利用装置。
【請求項１５】
前記支障判断部は、前記取得プロセスの実行に要すると予測される前記予測時間と、前記所定時間とを比較する
ことを特徴とする請求項１４に記載のコンテンツ利用装置。
【請求項１６】
前記支障判断部は、前記更新プロセスの実行に要すると予測される予測時間と、所定時間とを比較する
ことを特徴とする請求項１４に記載のコンテンツ利用装置。
【請求項１７】
前記コンテンツ利用装置は、マイクロプロセッサを内蔵し、各手段は、前記マイクロプロセッサにより、動作し、前記コンテンツ利用装置は、前記マイクロプロセッサの稼働率を算出し、
前記支障判断部は、前記稼働率が一定値以上の場合に、支障を来すと判断する
ことを特徴とする請求項１２に記載のコンテンツ利用装置。
【請求項１８】
前記終了判断部は、前記コンピュータプログラムによる処理の完了を検出し、前記完了を検出した場合に、前記コンピュータプログラムに従ったコンテンツの利用動作が終了したと判断する
ことを特徴とする請求項１２に記載のコンテンツ利用装置。
【請求項１９】
前記終了判断部は、利用者による前記コンテンツ利用装置の電源ｏｆｆの操作を検出し、前記操作を検出した場合に、前記コンピュータプログラムに従ったコンテンツの利用動作が終了したと判断する
ことを特徴とする請求項１２に記載のコンテンツ利用装置。
【請求項２０】
コンテンツ記録媒体に記録されているコンテンツを利用するコンテンツ利用装置で用いられる更新制御方法であって、
前記コンテンツ利用装置は、コンテンツの利用を制御するコンピュータプログラムを記憶している記憶手段を備え、
前記更新制御方法は、
利用対象のコンテンツの新旧、品質又はヒット度を示す価値を取得し、取得した価値が一定基準を満たすか否かを判断する価値判断ステップと、
前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いか否かを判断することにより、前記記憶手段に記憶されている前記コンピュータプログラムが、前記コンテンツに適切でないか否かを判断する適性判断ステップと、
前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いと判断されることにより、前記コンピュータプログラムが適切でないと判断される場合、利用対象の前記コンテンツの価値が一定基準を満たすときに、前記コンテンツの利用に先立って、前記記憶手段に記憶されている前記コンピュータプログラムを、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代と同一又はより新しい世代の適切なコンピュータプログラムに更新する更新ステップと
を備えることを特徴とする更新制御方法。
【請求項２１】
コンテンツ記録媒体に記録されているコンテンツを利用する装置で用いられる更新制御プログラムであって、
前記装置は、コンテンツの利用を制御するコンピュータプログラムを記憶している記憶手段を備え、
前記更新制御プログラムは、
コンピュータである前記装置に、
利用対象のコンテンツの新旧、品質又はヒット度を示す価値を取得し、取得した価値が一定基準を満たすか否かを判断する価値判断ステップと、
前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いか否かを判断することにより、前記記憶手段に記憶されている前記コンピュータプログラムが、前記コンテンツに適切でないか否かを判断する適性判断ステップと、
前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いと判断されることにより、前記コンピュータプログラムが適切でないと判断される場合、利用対象の前記コンテンツの価値が一定基準を満たすときに、前記コンテンツの利用に先立って、前記記憶手段に記憶されている前記コンピュータプログラムを、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代と同一又はより新しい世代の適切なコンピュータプログラムに更新する更新ステップと
を実行させるための更新制御プログラム。
【請求項２２】
前記更新制御プログラムは、
コンピュータ読み取り可能なプログラム記録媒体に、記録されている
ことを特徴とする請求項２１に記載の更新制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムの更新を行う更新処理技術に関する。
【背景技術】
【０００２】
パーソナルコンピュータやＤＶＤプレーヤーなどで用いられるコンピュータプログラムは、開発メーカーにより常に改良が重ねられており、コンピュータプログラムに不具合が発見されたり、新機能が追加される場合、更新用のプログラムがＣＤ−ＲＯＭや、インターネットを利用して利用者に配布されている。
しかし、コンピュータプログラムの更新は、基本的には装置を有している利用者に任されているため、コンピュータプログラム中の重大な不具合が発見された場合、更新用のプログラムが利用者に配布されたとしても、利用者により装置に記憶されているコンピュータプログラムの更新がされないことがある。
【０００３】
コンピュータプログラムにより利用されるコンテンツの保護価値が高い場合は、特に、コンピュータプログラムを確実に更新し、不具合を含んだプログラムの悪用による不正利用から、コンテンツを保護する必要がある。
このような問題に対して、特許文献１では、ネットワークを介して端末装置と接続されたバージョンアップ管理サーバにより、端末装置のコンピュータプログラムの自動更新を行う技術が開示されている。この技術によると、前記バージョンアップ管理サーバは、前記コンピュータプログラムの更新用ファイルと最新バージョン情報とを記憶しており、端末装置は起動するたびに自身が記憶しているコンピュータプログラムのバージョン情報を前記バージョンアップ管理サーバに送信し、前記バージョンアップ管理サーバは、受信したバージョン情報と記憶している最新バージョン情報を比較し、必要に応じて更新ファイルを端末装置に送信する。端末装置は受信した更新ファイルをもとに、前記コンピュータプログラムを更新する。
【特許文献１】特開2002-259128号公報
【非特許文献１】デジタル署名と暗号技術（ウォーウィック・フォード、マイケル・バウム著、１９９７年１２月２４日  株式会社ピアソン・エデュケーションによる出版）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記のような更新方法では、利用者がコンピュータプログラムを使用しコンテンツ再生などをしようとする時に更新が行われると、更新が終了するまで利用者は待たなければならず、利用者にとって不便である。
この問題を解決するために、本発明は、価値の高いコンテンツの保護と利用者の利便性の調整を図りつつ、確実にコンピュータプログラムの更新を行うコンテンツ利用装置、更新制御方法及び更新制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記の課題を解決するために、本発明は、コンテンツ記録媒体に記録されているコンテンツを利用するコンテンツ利用装置であって、コンテンツの利用を制御するコンピュータプログラムを記憶している記憶手段と、利用対象のコンテンツの新旧、品質又はヒット度を示す価値を取得し、取得した価値が一定基準を満たすか否かを判断する価値判断手段と、前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いか否かを判断することにより、前記記憶手段に記憶されている前記コンピュータプログラムが、前記コンテンツに適切でないか否かを判断する適性判断手段と、前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いと判断されることにより、前記コンピュータプログラムが適切でないと判断される場合、利用対象の前記コンテンツの価値が一定基準を満たすときに、前記コンテンツの利用に先立って、前記記憶手段に記憶されている前記コンピュータプログラムを、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代と同一又はより新しい世代の適切なコンピュータプログラムに更新する更新手段とを備えることを特徴とする。
【発明の効果】
【０００６】
この構成では、適性判断手段が、前記コンピュータプログラムが適切でないと判断し、かつ、価値判断手段が利用対象のコンテンツの価値が一定基準を満たすと判断された場合、前記更新手段は、前記コンテンツの利用に先立って、前記コンピュータプログラムの更新をする。従って、利用対象のコンテンツの価値が高い場合は、前記コンテンツの利用の前に、前記コンピュータプログラムの更新を行うため、前記コンテンツ利用装置は、前記コンピュータプログラムの不具合が解消された後に、前記コンテンツを安全に利用することができる。
【０００７】
ここで、コンテンツの価値は、コンテンツの新旧、品質又はヒット度を示し、当該コンテンツの商業的価値及び技術的価値を含む。また、適性判断手段は、前記コンピュータプログラムが、最新である場合、適切であると判断する。又は、前記コンピュータプログラムの版数が、コンテンツの指定する版数と同一又はコンテンツの指定する版数よりも新しい世代を示している場合、適切であると判断する。
【０００８】
前記コンテンツ利用装置を構成する前記更新手段は、さらに、前記コンピュータプログラムが適切でない場合、利用対象の前記コンテンツの価値が一定基準を満たさないときに、前記コンテンツの利用後に、又は空き時間に、前記記憶手段に記憶されている前記コンピュータプログラムを、適切なコンピュータプログラムに更新することを特徴とする。
この構成によると、前記コンピュータプログラムが適切でなく、前記コンテンツの価値が一定基準を満たさないとき、前記更新手段は、前記更新よりも前記コンテンツの利用を優先する。従って、この場合、利用者を、前記更新が終了するまで待たせることはなく、利用者にとっての利便性を向上させることができる。
【０００９】
さらに、前記更新手段は、前記コンテンツの利用後又は空き時間に前記コンピュータプログラムを更新するため、当該コンテンツ利用装置は、利用者の利便性を向上させつつ、確実に前記コンピュータプログラムの更新を実行することができる。
本発明において、前記価値判断手段は、前記価値を示す情報として、前記コンテンツが制作された制作時期を取得し、取得した前記制作時期が、現時点から所定期間内であれば、取得した価値が一定基準を満たすと決定し、取得した前記制作時期が、現時点から所定期間よりも前であれば、取得した価値が一定基準を満たさないと決定することを特徴とする。
【００１０】
作成からの経過期間が所定期間内の新作は、今後の、販売数の伸びが期待できるため、商業的価値が高く、保護する価値が高いと考えられる。この構成では、前記価値判断手段は、前記コンテンツの製作時期が、現時点より所定期間内であれば、価値が一定基準を満たすと判断し、前記コンテンツの利用に先立って、前記コンピュータプログラムを更新するため、保護価値の高いコンテンツを保護することができる。
【００１１】
本発明において、前記価値判断手段は、前記価値を示す情報として、前記コンテンツの市場における販売数量を取得し、取得した前記販売数量が、所定値以上であれば、取得した価値が一定基準を満たすと決定し、所定値未満であれば、取得した価値が一定基準を満たさないと決定することを特徴とする。
例えば、地域や国ごとに、発売日をずらして、コンテンツを販売するような場合、先に発売を開始された地域での、販売数量が多ければ、後に発売される地域でもある程度の販売数量が期待できる。従って、このような場合を想定すると、販売数量の多いコンテンツは保護価値が高いと考えられる。
【００１２】
上記の構成では、前記価値判断手段は、前記コンテンツの市場における販売数量によって、前記コンテンツの価値を判断するので、販売数量の多いコンテンツを保護することができる。
前記コンテンツ利用装置を構成する前記価値判断手段は、前記価値を示す情報として、前記コンテンツの品質を取得し、取得した前記品質が、所定値以上であれば、取得した価値が一定基準を満たすと決定し、所定値未満であれば、取得した価値が一定基準を満たさないと決定することを特徴とする。
【００１３】
例えば、コンピュータプログラムの欠陥により、コンテンツが盗聴された場合、利用対象となっているコンテンツが、高画質（ＨＤ映像）であれば、このコンテンツを単に複製しただけのコピーコンテンツだけでなく、この高画質コンテンツを低画質に変換し、変換後のコンテンツを低画質のコンテンツしか再生できない機器で利用するといった多様な不正使用が考えられる。すなわち、高画質のコンテンツは、保護を厚くすることで、防止できる不正も多様である。
【００１４】
この構成では、前記価値判断手段は、前記コンテンツの品質によって、前記コンテンツの価値を判断し、一定基準を満たせば、前記更新手段は、前記コンテンツの利用に先立って、前記コンピュータプログラムを更新するため、高品質のコンテンツを優勢的に保護することができる。
前記コンテンツ利用装置を構成する前記更新手段は、前記コンピュータプログラムを更新する内容が定義された更新プログラムを取得し、取得した更新プログラムを用いて、前記記憶手段に記憶されている前記コンピュータプログラムを更新することを特徴とする。
【００１５】
この構成では、前記更新手段は、前記更新プログラムに定義された内容に従って、前記コンピュータプログラムを正確に更新することができる。
ネットワークを介して前記コンテンツ利用装置に接続されているサーバ装置は、前記更新プログラムをあらかじめ記録しており、前記コンテンツ利用装置に含まれる前記更新手段は、ネットワークを介して前記サーバ装置から前記更新プログラムを取得することを特徴とする。
【００１６】
前記更新プログラムは、前記サーバ装置に記憶されている前記更新プログラムは、前記コンピュータプログラムの開発メーカーなどにより、新しく更新プログラムが作成されるたびに随時変更・追加される。従って、上記の構成によると、前記コンテンツ利用装置は最新の常に更新プログラムを取得することができる。
前記コンテンツを記録しているコンテンツ記録媒体は、前記更新プログラムをあらかじめ記録しており、前記コンテンツ利用装置において、前記更新手段は、前記コンテンツ記録媒体から前記更新プログラムを読み出すことにより、取得することを特徴とする。
【００１７】
この構成によると、前記更新手段は、前記記録媒体から、迅速に前記更新プログラムを取得することができる。また、前記コンテンツ利用装置が、ネットワークに接続できない場合でも、前記記録媒体から、容易に前記更新プログラムを取得することができる。
前記コンテンツ利用装置は、さらに、前記コンテンツを記録しているコンテンツ記録媒体が装着されたことを検出する検出手段を備え、前記価値判断手段及び適性判断手段は、それぞれ、前記コンテンツ記録媒体が装着されたことが検出された場合に、判断を行うことを特徴とする。
【００１８】
この構成では、前記記録媒体が装着されると、前記価値判断手段と前記適性判断手段は、判断を行う。そのため、前記コンピュータプログラムが適切でなく、前記コンテンツの価値が一定基準を満たす場合、更新前のコンピュータプログラムによって、前記コンテンツが利用されることはない。従って、価値の高いコンテンツを確実に保護することができる。
【００１９】
本発明のコンテンツ利用装置において、前記更新手段は、少なくとも前記更新プログラムの取得プロセス及び前記コンピュータプログラムの更新プロセスを含むプログラム導入を経て、前記コンピュータプログラムを更新し、前記更新手段は、前記コンピュータプログラムが適切でない場合、利用対象の前記コンテンツの価値が一定基準を満たさないときに、前記プログラム導入を構成する各プロセスの実行が、前記コンピュータプログラムに従ったコンテンツの利用動作に支障を来すか否かを判断する支障判断部と、前記支障判断部により支障を来すと判断する場合に、当該プロセスの実行を保留し、支障を来さないと判断する場合に、当該プロセスを実行する第１実行部と、前記コンピュータプログラムに従ったコンテンツの利用動作が終了したか否かを判断する終了判断部と、前記終了判断部により終了したと判断される場合に、保留されたプロセスが存在すれば、当該プロセスを実行する第２実行部とを含むことを特徴とする。
【００２０】
上記の構成によると、前記第１実行部は、支障を来たすと判断された場合、当該プロセスを保留する。さらに、前記第２実行部は、前記終了判断部により、終了したと判断される場合に保留されているプロセスを実行する。これにより、前記更新手段は、前記コンピュータプログラムの動作に支障を与えること無く、確実に前記コンピュータプログラムを更新することができる。
【００２１】
前記コンテンツ利用装置において、前記プログラム導入は、取得した前記更新プログラムの正当性の検証プロセス及び取得した前記更新プログラムの伸張プロセスの両方又はいずれか一方を含むことを特徴とする。
当該コンテンツ利用装置は、前記正当性の検証プロセスにより、正当な前記更新プログラムを取得することができる。また、前記更新プログラムを圧縮しておくことで、前記更新プログラムを効率よく取得することができる。
【００２２】
前記コンテンツ利用装置に含まれる前記支障判断部は、前記プロセスの実行に要すると予測される予測時間と、所定時間とを比較し、前記予測時間が前記所定時間より長いと判断する場合に、支障を来すと判断することを特徴とする。
これにより、利用者は、前記プロセス実行のために前記所定時間以上に、前記コンピュータプログラムの実行を待たされることはない。
【００２３】
また、前記支障判断部は、前記取得プロセスの実行に要すると予測される前記予測時間と、前記所定時間とを比較することを特徴とする。
この構成により、利用者は、前記取得プロセスの実行のために前記所定時間以上に前記コンピュータプログラムの実行を待たされることはない。
前記コンテンツ利用装置に含まれる前記支障判断部は、前記更新プロセスの実行に要すると予測される予測時間と、所定時間とを比較することを特徴とする。
【００２４】
この構成により、利用者は、前記更新プロセスの実行のために前記所定時間以上に前記コンピュータプログラムの実行を待たされることはない。
前記コンテンツ利用装置は、マイクロプロセッサを内蔵し、各手段は、前記マイクロプロセッサにより、動作し、前記コンテンツ利用装置は、前記マイクロプロセッサの稼働率を算出し、前記支障判断部は、前記稼働率が一定値以上の場合に、支障を来すと判断することを特徴とする。
【００２５】
この構成により、前記コンテンツ利用装置は、前記プログラム導入による影響を受けずに、前記コンピュータプログラムを実行することができる。  
本発明において、前記終了判断部は、前記コンピュータプログラムによる処理の完了を検出し、前記完了を検出した場合に、前記コンピュータプログラムによる処理が終了したと判断することを特徴とする。
【００２６】
この構成により、前記コンテンツ利用装置は、前記プログラム導入による影響を受けずに、前記コンピュータプログラムを実行することができる。また、前記コンピュータプログラムによる処理が完了した後に、前記プログラム導入を実行することで、確実に前記コンピュータプログラムを更新することができる。
また、前記終了判断部は、利用者による前記コンテンツ利用装置の電源ｏｆｆの操作を検出し、前記操作を検出した場合に、前記コンピュータプログラムによる処理が終了したと判断する。
【００２７】
これにより、前記コンテンツ利用装置は、前記コンピュータプログラムの実行中に、前記プログラム導入の影響を受けることはない。また、電源ｏｆｆ後に、確実に前記コンピュータプログラムを更新する。
本発明は、コンテンツの価値を提供するサーバ装置であって、コンテンツの価値を記憶している記憶手段と、コンテンツの価値判断の要求元からコンテンツの識別子を受信する受信手段と、受信した識別子により識別されるコンテンツの価値を読み出し、読み出した価値が一定基準を満たすか否かを判断する価値判断手段と、判断結果を要求元に送信する送信手段とを備えることを特徴とする。
【００２８】
この構成によると、前記サーバ装置は、コンテンツの価値を記憶しており、コンテンツの価値判断の要求元から受信した識別子により識別されるコンテンツの価値が一定基準を満たすか否かを判断し、判断結果を前記要求元へ送信する。そのため、前記要求元は、前記サーバ装置から前記判断結果を受信し、受信した判断結果に基づいて、前記コンピュータプログラムの更新を制御することができる。
【００２９】
また、この構成では、前記サーバ装置がコンテンツの価値を記憶している。従って、コンテンツの発売又は配布後に、コンテンツの価値が変動する場合にも、柔軟に対応することができる。
【図面の簡単な説明】
【００３０】
【図１】アップデートシステム１０の構成を表す構成図である。
【図２】ＤＶＤ５００ａ、５００ｂ及び５００ｃに記憶されているプログラム及びデータの構成を示す構成図である。
【図３】サーバ装置４００の構成を示す図である。
【図４】プログラム記憶部４１５に記憶されているデータの一例を示している。
【図５】プログラム更新テーブル４２０の詳細を示している。
【図６】認証部４０２の構成を示す図である。
【図７】端末装置１００の構成を示す図である。
【図８】主記憶部１１０に記憶されているプログラム及びデータの一例を示している。
【図９】ハードディスクユニット１１１に記憶されているプログラム及びデータの一例を示している。
【図１０】認証部１０２の構成を示す図である。
【図１１】端末装置１００の起動時にモニタ１２０に表示される画面の一例を示している。
【図１２】時間管理部１１２の構成を示す図である。
【図１３】端末装置１００の動作を示すフローチャートである。
【図１４】端末装置１００の動作を示すフローチャートである。図１３から続く。
【図１５】端末装置１００の動作を示すフローチャートである。図１３から続く。
【図１６】端末装置１００の動作を示すフローチャートである。図１３から続く。
【図１７】端末装置１００の動作を示すフローチャートである。図１３から続く。
【図１８】端末装置１００の動作を示すフローチャートである。図１３から続く。
【図１９】端末装置１００の動作を示すフローチャートである。図１３から続く。
【図２０】端末装置１００の動作を示すフローチャートである。図１３から続く。
【図２１】端末装置１００の動作を示すフローチャートである。図１３から続く。
【図２２】端末装置１００の動作を示すフローチャートである。図１３から続く。
【図２３】端末装置１００の動作を示すフローチャートである。図１３から続く。
【図２４】端末装置１００とサーバ装置４００間でのＳＡＣ確立の動作を示すフローチャートである。
【図２５】端末装置１００とサーバ装置４００間でのＳＡＣ確立の動作を示すフローチャートである。図２４から続く。
【図２６】アップデートシステム１１の構成を表す構成図である。
【図２７】ＤＶＤ１５００ａ、１５００ｂ及び１５００ｃに記憶されているプログラム及びデータの構成を示す構成図である。
【図２８】サーバ装置１４００の構成を示すブロック図である。
【図２９】プログラム更新テーブル１４２０の詳細を示す。
【図３０】端末装置１１００の構成を示すブロック図である。
【図３１】端末装置１１００による動作を示すフローチャートである。
【図３２】端末装置１１００による動作を示すフローチャートである。図３１から続く。
【図３３】端末装置１１００による動作を示すフローチャートである。図３１から続く。
【図３４】端末装置１１００による動作を示すフローチャートである。図３１から続く。
【図３５】コンテンツテーブル１４７０の詳細を示す。
【符号の説明】
【００３１】
１０    アップデートシステム
２０    インターネット
１００    端末装置
１０１    通信暗号復号部
１０２    認証部
１０３    通信部
１０４    入出力部
１０５    外部操作受付部
１０６    更新制御部
１０７    主制御部
１１０    主記憶部
１１１    ハードディスクユニット
１１２    時間管理部
１１３    映像生成部
１１５    電源制御部
１１６    電力供給部
１２０    モニタ
４００    サーバ装置
４０１    通信暗号復号部
４０２    認証部
４０３    通信部
４０５    入力部
４０７    制御部
４１０    情報記憶部
４１２    コンテンツ記憶部
４１３    表示部
４１５    プログラム記憶部
５００ａ  ＤＶＤ
５００ｂ  ＤＶＤ
５００ｃ  ＤＶＤ
６００    証明書管理装置
１１００    端末装置
１４００    サーバ装置
【発明を実施するための最良の形態】
【００３２】
１．第１の実施の形態
本発明に係る１個の実施の形態としてのアップデートシステム１０について説明する。
１．１  アップデートシステム１０の構成
アップデートシステム１０は、図１に示すように端末装置１００、サーバ装置４００、証明書管理装置６００から構成され、これらはインターネットを介して接続されている。
【００３３】
端末装置１００は、映像及び音声からなるコンテンツを再生する手順を含むコンテンツ視聴プログラム及び前記プログラムの世代を示すバージョン情報を記憶している。
前記コンテンツ視聴プログラムは、開発メーカーにより繰り返し改良が重ねられ、改良される都度、古い世代のコンテンツ視聴プログラムを新しい世代に更新するための更新プログラムが利用者に配布される。このように、最初にコンテンツ視聴プログラムが開発されてから、現時点における最新のコンテンツ視聴プログラムが開発されるまでには、複数の世代のコンテンツ視聴プログラムが存在し、各世代のコンテンツ視聴プログラムを識別するために、各世代を示すバージョン情報が用いられる。
【００３４】
前記コンテンツが記録されているＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）が装着されると、端末装置１００は、コンテンツ視聴プログラムに従って、前記コンテンツを再生する。また、端末装置１００は、インターネット２０を介してサーバ装置４００と接続されている。
サーバ装置４００は、前記コンテンツ視聴プログラムを新しい世代に更新するための更新プログラムを記憶しており、端末装置１００からの要求に応じて更新プログラムを端末装置１００へ送信する。
【００３５】
端末装置１００は、サーバ装置４００からの前記更新プログラムのダウンロード、更新プログラムの正当性を確認する検証、及び前記更新プログラムのインストールからなる１連の処理を経て、内部に記憶しているコンテンツ視聴プログラムを更新する。
更新プログラムのダウンロードプロセス、検証プロセス及びインストールプロセスを含む１連の処理をアップデートと呼称する。ただし、更新プログラムを取得してくる相手先により、アップデートには、前記のプロセスに加えて取得した更新プログラムの検証プロセス及び圧縮された更新プログラムの解凍プロセスが加わる場合、また、ダウンロードプロセスが存在しない場合がある。
【００３６】
端末装置１００は、前記更新プログラムによる更新を行うか否かを判断する。  
更新すると判断される場合に、端末装置１００は、ダウンロードに要する時間を算出する。
端末装置１００は、内部に利用者又は端末装置１００の生産メーカにより設定されたダウンロード許容時間、検証許容時間及びインストール許容時間を記憶しており、算出したダウンロード時間と、ダウンロード許容時間とを比較し、計算したダウンロード時間が許容時間以内であると判断すれば、即実行し、許容時間を超えていると判断すればダウンロード以降の処理を保留する。
【００３７】
正当性の検証及びインストールについても同様にして、算出した検証時間又はインストール時間と検証許容時間又はインストール許容時間とを比較し、保留するか即実行するかを決定する。
保留した処理は、例えば、利用者が前記コンテンツの視聴を終えてから実行する。
１．２  ＤＶＤ５００a、ＤＶＤ５００ｂ及びＤＶＤ５００ｃ
端末装置１００に装着されるＤＶＤには、ＤＶＤ５００ａ、５００ｂ及び５００ｃの３種類あり、ＤＶＤ５００ａ、５００ｂ及び５００ｃは、大容量のデータを記録することができる可搬型の光ディスク媒体である。
【００３８】
端末装置１００に装着されるＤＶＤの種類により、端末装置１００に記憶されているコンテンツ視聴プログラムの更新プログラムの取得方法が変わる。
ＤＶＤ５００ａが装着された場合は、端末装置１００は、自身が記憶しているコンテンツ視聴プログラムのバージョン情報をサーバ装置４００へ送信し、サーバ装置４００は、送信されたバージョン情報とサーバ装置４００が記憶している最新バージョン情報とを比較し、サーバ装置４００に記憶されている最新バージョン情報の方が新しい場合には、サーバ装置４００は、更新プログラムを送信し、端末装置１００は、更新プログラムを受信する。
【００３９】
ＤＶＤ５００ｂが装着された場合は、端末装置１００は、自身が記憶しているコンテンツ視聴プログラムのバージョン情報とＤＶＤ５００ｂに記憶されているコンテンツ視聴プログラムのバージョン情報５０１ｂとを比較し、ＤＶＤ５００ｂに記憶されているバージョン情報５０１ｂの方が新しい場合には、端末装置１００は、サーバ装置４００から更新プログラムを取得する。
【００４０】
ＤＶＤ５００ｃが装着された場合は、端末装置１００は、自身が記憶しているコンテンツ視聴プログラムのバージョン情報１４４とＤＶＤ５００ｃに記憶されているバージョン情報５０１ｂとを比較し、ＤＶＤ５００ｃに記憶されているバージョン情報５０１ｂの方が新しい場合には、端末装置１００は、ＤＶＤ５００ｃから更新プログラムを取得する。
ここで、ＤＶＤ５００ａ、５００ｂ及び５００ｃに記憶されているプログラム及びデータの構成について、図２を用いて説明する。
【００４１】
ＤＶＤ５００ａは、一例として映画などのコンテンツ５０１ａを記憶している。
ＤＶＤ５００ｂは、コンテンツ５０１ｂとバージョン情報５０５ｂ及びプログラムサイズ表５３０ｂとを記憶している。
バージョン情報５０５ｂは、コンテンツ５０１ｂの再生に適した前記コンテンツ視聴プログラムの世代を示している。ここでは、バージョン情報５０５ｂは、サーバ装置４００が記憶している最新バージョン情報と同一であるとする。
【００４２】
プログラムサイズ表５３０ｂは、複数のプログラムサイズ情報５３１ｂ、５３２ｂ・・・から構成され、各プログラムサイズ情報は、旧バージョン情報とプログラムサイズから構成されている。プログラムサイズは、暗号化圧縮更新プログラムの容量を示している。暗号化圧縮更新プログラムは、コンテンツ視聴プログラムを旧バージョン情報の示す世代から、バージョン情報５０５ｂの示す世代へ更新する手順を含む更新プログラムを圧縮し暗号化して生成されたものである。
【００４３】
ＤＶＤ５００ｃは、コンテンツ５０１ｃとプログラムファイル５０３ｃとを記録している。プログラムファイル５０３ｃには、バージョン情報５０５ｃと圧縮更新プログラム５０６ｃ及びプログラムサイズ５０７ｃが含まれる。バージョン情報５０５ｃは、コンテンツ５０１ｃの再生に適したコンテンツ視聴プログラムの世代を示している。ここでは、バージョン情報５０５ｃは、サーバ装置４００が記憶している最新バージョン情報と同一であるとする。
【００４４】
圧縮更新プログラム５０６ｃは、圧縮更新プログラムされた更新プログラムであり、更新プログラムは、端末装置１００に記憶されているコンテンツ視聴プログラムをバージョン情報５０５ｃの示す世代に更新するのに適している。プログラムサイズ５０７ｃは、圧縮更新プログラムの容量を示している。
なお、図示されていないが、ＤＶＤ５００ａ、５００ｂ及び５００ｃは、自身が記憶しているコンテンツを再生するためのコンテンツ視聴プログラムを示すプログラム識別子を記憶している。
【００４５】
１．３  サーバ装置４００
サーバ装置４００は、図３に示すように通信暗号復号部４０１、認証部４０２、通信部４０３、入力部４０５、制御部４０７、情報記憶部４１０及び表示部４１３から構成される。
（１）情報記憶部４１０
情報記憶部４１０はハードディスクユニットから構成され、コンテンツ記憶部４１２とプログラム記憶部４１５を含む。
【００４６】
コンテンツ記憶部４１２は、映画などの映像コンテンツを記憶している。
プログラム記憶部４１５は、一例として、図４に示すように、プログラム更新テーブル４２０と、プログラムフォルダＡI４３０とプログラムフォルダＢ４４０を含む。
プログラムフォルダＢ４４０は、一例として、コンピュータプログラムの開発メーカーにより作成された更新プログラム４４１、４４５を記憶している。
【００４７】
プログラムフォルダＡＩ４３０は、一例としてプログラムファイル４３１、４３５を記憶している。プログラムファイル４３１は、暗号化圧縮更新プログラム４３２と、チェックデータ４３３とから構成される。
暗号化圧縮更新プログラム４３２は、更新プログラム４４１に圧縮アルゴリズムＰを施して生成された圧縮更新プログラムに、プログラム鍵を用いて暗号化アルゴリズムＥ１を施して生成する。暗号化アルゴリズムＥ１は一例として、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）によるものである。ＤＥＳについては公知の技術であるので説明を省略する。
【００４８】
チェックデータ４３３は、暗号化圧縮更新プログラム４３２をハッシュ関数に代入して生成される１６０バイトのハッシュ値から構成される。ハッシュ関数には、一例としてＳＨＡ−１を用いる。ハッシュ関数ＳＨＡ−１については、公知の技術であるので説明を省略する。なお、上記の署名生成方法は１例であり、他の方法を用いてもよい。
プログラムファイル４３５は、更新プログラム４４５から生成された暗号化圧縮更新プログラム４３６とチェックデータ４３７とから構成される。
【００４９】
プログラム更新テーブル４２０は、図５に示すように、複数のプログラム情報４２１、４２２、４２３、・・・から構成され、それぞれのプログラム情報は、コンピュータプログラムのタイトル、各コンピュータプログラムの最新バージョン情報、更新日、更新パターン、各プログラムの各更新パターンに対応した更新用のプログラムファイルのファイル名、前記プログラムファイルの保存場所、プログラムファイルに含まれる暗号化圧縮更新プログラムのプログラムサイズ及び暗号化圧縮更新プログラムの生成に用いられたプログラム鍵から構成される。プログラムサイズの単位はメガバイトである。
【００５０】
（２）通信部４０３
通信部４０３は、インターネット２０に接続されており、インターネット２０に接続されている外部装置と、制御部４０７又は認証部４０２との間で情報の送受信を行う。
ここで、前記外部装置は、具体的には、端末装置１００である。
（３）認証部４０２
認証部４０２は、図６に示すように、認証制御部４７１と内部メモリ４７２から構成される。
【００５１】
内部メモリ４７２は、ＲＯＭ及びハードディスクから構成され、認証局において生成された認証局公開鍵ＰＫ＿ＣＡ＿４７３、公開鍵証明書Ｃｅｒｔ＿Ｂ＿４８０により証明される公開鍵と対になるサーバ秘密鍵ＳＫ＿Ｂ＿４７４、ＣＲＬ（ＣｅｒｔｉｆｉｃａｔｅＲｅｖｏｃａｔｉｏｎＬｉｓｔ）４７５、認証局から発行されたサーバ装置４００の公開鍵ＰＫ＿Ｂ＿４８９を証明する公開鍵証明書Ｃｅｒｔ＿Ｂ＿４８０を記憶している。
【００５２】
公開鍵証明書Ｃｅｒｔ＿Ｂ＿４８０は、認証局の証明書管理装置６００により発行されたものであり、一例としてＩＴＵ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ）により勧告されたＸ５０９バージョン１の形式に従って作成されている。公開鍵証明書Ｃｅｒｔ＿Ｂ＿４８０」は、Ｘ．５０９署名形式の世代を示す証明書形式４８１、証明書に固有に割り当てられたシリアルＮｏ４８２、認証局署名データ４９０を生成するために用いられた署名アルゴリズムを判別する署名アルゴリズム識別子４８３、公開鍵証明書Ｃｅｒｔ＿Ｂ４８０を発行した認証局の識別名である認証局名４８４、公開鍵証明書Ｃｅｒｔ＿Ｂ＿４８０の有効期限４８５、公開鍵証明書Ｃｅｒｔ＿Ｂ＿４８０により証明される公開鍵と対になる秘密鍵の保有者の識別名である主体者名４８６、公開鍵証明書Ｃｅｒｔ＿Ｂ＿４８０により証明される公開鍵ＰＫ＿Ｂ＿４８９と公開鍵ＰＫ＿Ｂ＿４８９を用いた署名生成に使われる署名アルゴリズム識別子４８８とを含む主体者鍵情報４８７及び認証局署名データ４９０から構成される。Ｘ．５０９バージョン１形式については、非特許文献１に記載されており、公知であるので、詳細の説明を省略する。
【００５３】
認証制御部４７１は、毎日定刻に、通信部４０３を介して認証局指定のＵＲＬまたはディレクトリサービスからＣＲＬを取得し、内部メモリ４７２内のＣＲＬ４７５を書き換える。
認証制御部４７１は、制御部４０７の端末装置１００との通信に先だって、以下のようにして外部装置とセッション鍵を共有しＳＡＣを確立する。
【００５４】
なお、このＳＡＣ確立方法は１例であり、他のＳＡＣ確立方法を用いてもよい。
ここで、Ｇｅｎ（）を鍵生成関数とし、Ｙをシステム固有のパラメータとする。鍵生成関数Ｇｅｎ（）は、Ｇｅｎ（ｘ，Ｇｅｎ（ｚ，Ｙ））＝Ｇｅｎ（ｚ，Ｇｅｎ（ｘ，Ｙ））の関係を満たすものとする。鍵生成関数は任意の公知技術で実施可能なため、詳細についてここでは説明しない。その１例として、非特許文献１及び非特許文献２に公開鍵配送法が開示されている。
【００５５】
認証制御部４７１は、通信部４０３を介して端末装置１００から、公開鍵証明書Ｃｅｒｔ＿Ａを受け取り、制御部４０７からＳＡＣ確立の指示を受ける。まず、内部メモリ４７２から認証局公開鍵ＰＫ＿ＣＡ＿４７３を読み出し、読み出した認証局公開鍵ＰＫ＿ＣＡ＿４７３を用いて、受け取った公開鍵証明書Ｃｅｒｔ＿Ａに含まれる認証局署名データＳｉｇ＿ＣＡに署名検証アルゴリズムＶを施して署名検証する。検証結果が失敗の場合、認証制御部４７１は、ＳＡＣ確立の処理を終了する。
【００５６】
検証結果が成功の場合、認証部４７１は、内部メモリ４７２からＣＲＬ４７５を読み出し、受け取った公開鍵証明書Ｃｅｒｔ＿Ａに含まれるシリアルＮｏが読み出したＣＲＬに登録されているか否かを判断する。
登録されていると判断すると、認証部４７１は、ＳＡＣ確立の処理を終了する。
登録されていないと判断する場合、認証制御部４７１は、内部メモリ４７２から公開鍵証明書Ｃｅｒｔ＿Ｂ＿４８０を読み出し、読み出した公開鍵証明書Ｃｅｒｔ＿Ｂ＿４８０を通信部４０３を介して端末装置１００へ送信する。
【００５７】
次に、乱数Ｃｈａ＿Ｂを生成し、生成した乱数Ｃｈａ＿Ｂを通信部４０３を介して端末装置１００へ送信する。
次に、認証制御部４７１は、通信部４０３を介して端末装置１００から署名データＳｉｇ＿Ａを受け取り、公開鍵証明書Ｃｅｒｔ＿Ａに含んで受け取った公開鍵ＰＫ＿Ａを用いて、受け取った署名データＳｉｇ＿Ａに署名検証アルゴリズムＶを施して署名検証し、検証結果が失敗の場合、ＳＡＣ確立の処理を終了する。
【００５８】
次に、認証部４７１は、通信部４０３を介して、端末装置１００から乱数Ｃｈａ＿Ａを受信し、内部メモリ４７２からサーバ装置の秘密鍵ＳＫ＿Ｂ＿４７４を読み出し、読み出したサーバ装置の秘密鍵ＳＫ＿Ｂ＿４７４を用いて、受信した乱数Ｃｈａ＿Ａに署名生成アルゴリズムＳを施して署名データＳｉｇ＿Ｂを生成し、生成した署名データＳｉｇ＿Ｂを通信部４０３を介して端末装置１００へ送信する。
【００５９】
次に、端末装置１００から、鍵生成関数Ｇ（）とシステム固有のパラメータＹを用いて生成されたＫｅｙ＿Ａを受け取る。
認証制御部４７１は、乱数「ｂ」を生成し、生成した乱数「ｂ」を用いてＫｅｙ＿Ｂ＝Ｇｅｎ（ｂ，Ｙ）を生成する。次に、生成したＫｅｙ＿Ｂを、通信部４０３を介して端末装置１００へ送信する。
【００６０】
次に、受け取ったＫｅｙ＿Ａと乱数「ｂ」を用いてセッション鍵Ｋｅｙ＿ＡＢ＝Ｇｅｎ（ｂ，Ｋｅｙ＿Ａ）を生成する。
次に、生成したセッション鍵を通信暗号復号部４０１へ出力し、制御部４０７へＳＡＣ確立成功を示す制御信号を出力する。
（４）制御部４０７
制御部４０７は、具体的には図示していないマイクロプロセッサ、ＲＡＭ及びＲＯＭから構成され、前記ＲＡＭ及びＲＯＭにはコンピュータプログラムが記憶されており、前記マイクロプロセッサが前記コンピュータプログラムに従って動作することにより、制御部４０７はその機能を達成する。
【００６１】
制御部４０７は、通信部４０３を介して端末装置１００から、公開鍵証明書Ｃｅｒｔ＿Ａを受け取ると、受け取ったＣｅｒｔ＿Ａを認証部４０２へ出力し、ＳＡＣ確立を指示する。認証部４０２からＳＡＣ確立成功を示す制御信号を受け取る。
また、制御部４０７は、通信部４０３を介して、端末装置１００から暗号化タイトルと暗号化バージョン情報とを受け取る。これらの情報を受け取ると、受け取った暗号化タイトルと暗号化バージョン情報とを通信暗号復号部４０１に出力し、復号を指示する。通信暗号復号部４０１からタイトルとバージョン情報を受け取り、受け取ったタイトルを含むプログラム情報から最新バージョン情報を読み出し、読み出した最新バージョン情報と、受け取ったバージョン情報とを比較する。受け取ったバージョン情報と最新バージョン情報が同じ世代を示していると、比較結果「０」を生成する。
【００６２】
受け取ったバージョン情報が読み出した最新バージョン情報よりも古い世代を示していると、制御部４０７は、比較結果「１」を生成する。続いて、受け取ったタイトルを含み、受け取ったバージョン情報が更新パターンの更新前のバージョン情報と一致するプログラム情報４２１を選択し、選択したプログラム情報４２１に含まれるプログラムサイズを読み出し、読み出したプログラムサイズと生成した比較結果とを端末装置１００へ送信する。
【００６３】
また、制御部４０７は、端末装置１００から、暗号化タイトルと暗号化バージョン情報とダウンロード要求とを受け取ると、受け取った暗号化タイトルと暗号化バージョン情報とを通信暗号復号部４０１に出力し、復号を指示する。通信暗号復号部４０１から、タイトルとバージョン情報とを受け取ると、受け取ったタイトルとバージョン情報を基に、プログラム更新テーブル４２０からプログラム情報４２１を選択し、選択したプログラム情報に含まれるプログラム鍵を読み出し、読み出したプログラム鍵を通信暗号復号部４０１に出力し、暗号化を指示する。通信暗号復号部４０１から暗号化プログラム鍵を受け取ると、次に、制御部４０７は、選択したプログラム情報に含まれるファイル名と保存場所から、アップデート用のプログラムファイル４３１を読み出す。次に、読み出したプログラムファイル４３１と暗号化プログラム鍵とを通信部４０３を介して端末装置１００へ送信する。
【００６４】
（５）通信暗号復号部４０１
通信暗号復号部４０１は、認証部４０２からセッション鍵を受け取り、受け取ったセッション鍵を記憶する。新しくセッション鍵を受け取ると、記憶しているセッション鍵を削除し、新しく受け取ったセッション鍵を記憶する。
通信暗号復号部４０１は、制御部４０７から暗号化タイトルと暗号化バージョン情報とを受け取り復号を指示されると、セッション鍵を用いて、受け取った暗号化タイトルと暗号化バージョン情報とに、復号アルゴリズムＤ２を施して、タイトルとバージョン情報とを生成し、生成したタイトルとバージョン情報とを制御部４０７へ出力する。
【００６５】
また、通信暗号復号部４０１は、制御部４０７からプログラム鍵を受け取り、暗号化を指示されると、セッション鍵を用いて受け取ったプログラム鍵に暗号化アルゴリズムＥ３を施して、暗号化プログラム鍵を生成し、生成した暗号化プログラム鍵を制御部４０７へ出力する。
ここで、復号アルゴリズムＤ２は、暗号化アルゴリズムＥ２による暗号化データを復号するアルゴリズムである。暗号化アルゴリズムＥ２、Ｅ３は一例として、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）によるものである。ＤＥＳについては公知の技術であるので説明を省略する。
【００６６】
（６）入力部４０５及び表示部４１３
入力部４０５は、サーバ装置４００の操作者によるデータ又は指示の入力を受け付け、受け付けたデータ又は指示を制御部４０７へ出力する。  
表示部４１３は、制御部４０７の制御の基に、各種情報を表示する。
１．４  端末装置１００
端末装置１００は、図７に示すように、通信暗号復号部１０１、認証部１０２、通信部１０３、入出力部１０４、外部操作受付部１０５、更新制御部１０６、主制御部１０７、主記憶部１１０、ハードディスクユニット１１１、時間管理部１１２、映像生成部１１３、電源制御部１１５及び電力供給部１１６から構成される。
【００６７】
端末装置１００は、具体的には図示していないマイクロプロセッサ、ＲＡＭ、ＲＯＭなどから構成される。前記ＲＡＭ、ＲＯＭ、主記憶部１１０及びハードディスクユニット１１１には、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、端末装置１００は、その機能を達成する。  
【００６８】
端末装置１００は、図１に示すようにモニタ１２０と接続されている。また、端末装置１００にはＤＶＤ５００ａ、ＤＶＤ５００ｂ又はＤＶＤ５００ｃが装着される。
端末装置１００は、装着されているＤＶＤの有無及び装着されるＤＶＤの種類により、内部に記憶しているコンテンツ視聴プログラムのアップデートの方法が異なる。
（i）ＤＶＤの装着無し又はＤＶＤ５００ａが装着されている場合
端末装置１００は、サーバ装置４００が記憶している最新バージョン情報と端末装置１００が記憶しているコンテンツ視聴プログラムのバージョン情報との比較結果をサーバ装置４００から取得する。
・比較結果が「１」、つまり、端末装置１００の記憶しているバージョン情報がサーバ装置４００の記憶している最新バージョン情報より古い世代であることを示していれば、サーバ装置４００から更新プログラムを取得する。
・比較結果が「０」、つまり、端末装置１００の記憶しているバージョン情報とサーバ装置４００が記憶している最新バージョン情報とが同じ世代であることを示していればアップデートを行わない。
【００６９】
なお、サーバ装置４００が記憶している最新バージョン情報は、コンテンツ視聴プログラムの開発メーカーにより管理され随時更新され、端末装置１００の記憶しているバージョン情報がサーバ装置４００の記憶している最新バージョン情報より新しい世代を示すことはありえないものとする。
この場合、コンテンツ視聴プログラムが「適切である」とは、最新の世代であることを指す。
【００７０】
（ii）ＤＶＤ５００ｂが装着されている場合        
端末装置１００は、ＤＶＤ５００ｂが記憶しているバージョン情報５０５ｂと端末装置１００が記憶しているコンテンツ視聴プログラムのバージョン情報とを比較する。
・比較結果が、端末装置１００の記憶しているバージョン情報がＤＶＤ５００ｂの記憶しているバージョン情報５０５ｂより古い世代であることを示していれば、サーバ装置４００から更新プログラムを取得する。
・比較結果が、端末装置１００の記憶しているバージョン情報とＤＶＤ５００ｂが記憶しているバージョン情報５０５ｂとが同じ世代であることを示していればアップデートを行わない。
【００７１】
この場合、コンテンツ視聴プログラムが「適切である」とは、ＤＶＤに記憶されているバージョン情報の示す世代と同一であること又はＤＶＤに記憶されているバージョン情報の示す世代よりも新しい世代であることを指す。つまり、コンテンツの再生に適した世代であることを指す。
なお、ＤＶＤ５００ｂが記憶しているバージョン情報５０５ｂはサーバ装置４００が記憶している最新バージョン情報と同一であり、端末装置１００の記憶しているバージョン情報がＤＶＤ５００ｂの記憶しているバージョン情報５０５ｂの記憶している最新バージョン情報より新しい世代を示すことはありえないものとする。
【００７２】
（iii）ＤＶＤ５００ｃの場合
端末装置１００は、ＤＶＤ５００ｃが記憶しているバージョン情報５０５ｃと端末装置１００が記憶しているコンテンツ視聴プログラムのバージョン情報とを比較する。
・比較結果が、端末装置１００の記憶しているバージョン情報がＤＶＤ５００ｃの記憶しているバージョン情報５０５ｃより古い世代であることを示していれば、ＤＶＤ５００ｃから更新プログラムを取得する。
・比較結果が、端末装置１００の記憶しているバージョン情報とＤＶＤ５００ｃの記憶しているバージョン情報５０５ｃとが同じ世代であることを示していればアップデートを行わない。
【００７３】
この場合、コンテンツ視聴プログラムが「適切である」とは、ＤＶＤに記憶されているバージョン情報の示す世代と同一であること又はＤＶＤに記憶されているバージョン情報の示す世代よりも新しい世代であることを指す。
ただし、端末装置１００に記憶されているコンテンツ視聴プログラムのバージョン情報によって、必要となる更新プログラムが異なるため、ＤＶＤ５００ｃは様々な場合を想定した更新プログラムを用意している必要がある。例えば、Ｖｅｒ．１．０からＶｅｒ．４．０への更新プログラム、Ｖｅｒ．２．０からＶｅｒ．４．０への更新プログラム、Ｖｅｒ．３．０からＶｅｒ．４．０への更新プログラムなどである。ＤＶＤの容量には限りがあるため、この方法は現実的ではない。本実施の形態では、ＤＶＤ５００ｃには、端末装置１００に記憶されているコンテンツ視聴プログラムの更新に適した更新プログラムが記憶されており、端末装置１００の記憶しているバージョン情報が、ＤＶＤ５００ｃの記憶しているバージョン情報５０５ｃの記憶している最新バージョン情報より新しい世代を示すことはありえないものとする。（i）〜（iii）の詳細は後述する。
【００７４】
（１）電力供給部１１６
電力供給部１１６は、外部電源（コンセントなど）に接続されており、電源制御部１１５から電力供給の指示を受け、端末装置１００を構成する各部へ電力供給を開始し、電力供給停止の指示を受けると、各部への電力供給を停止する。
（２）入出力部１０４
入出力部１０４は、主制御部１０７の制御により、ＤＶＤ５００a、ＤＶＤ５００ｂ又はＤＶＤ５００ｃからコンテンツ５０１ａ、５０１ｂ又は５０１ｃを読み出し、読み出したコンテンツ５０１ａ、５０１ｂ又は５０１ｃを主制御部１０７へ出力する。
【００７５】
また、入出力部１０４は、更新制御部１０６の制御により、ＤＶＤ５００ｂからバージョン情報５０５ｂを読み出し、読み出したバージョン情報５０５ｂを更新制御部１０６へ出力する。
また、入出力部１０４は、更新制御部１０６の制御により、ＤＶＤ５００ｃからプログラムファイル５０３ｃを読み出し、読み出したプログラムファイル５０３ｃを更新制御部１０６へ出力する。
【００７６】
（３）外部操作受付部１０５
外部操作受付部１０５は、利用者による再生ボタンなどの押下を検出する。前記押下を検出すると、検出したボタンに対応する操作指示情報を主制御部１０７へ出力する。
（４）主記憶部１１０及びハードディスクユニット１１１
主記憶部１１０は、ＲＡＭから構成され、一例として図８に示すよう保留情報１３１、コンテンツ視聴プログラム１３２及び並行フラグ１３３を記憶している。
【００７７】
保留情報１３１は、アップデートの進行状態が、ダウンロード、検証及びインストールの全てが保留されている状態、検証及びインストールが保留されている状態、復号及びインストールが保留されている状態、インストールのみが保留されている状態、いずれのプロセスも保留されていない状態のうち、いずれの状態であるかを示す。「Ａ」は、ダウンロード、検証及びインストールの全てが保留されている状態を示している。「Ｂ］は、検証及びインストールが保留されている状態、復号及びインストールが保留されている状態を示している。「Ｃ」は、復号及びインストールが保留されている状態を示しており、「Ｄ」は、インストールのみが保留されている状態を示しており、「Ｅ」は、いずれのプロセスも保留されていない状態を示している。
【００７８】
コンテンツ視聴プログラム１３２は、コンテンツの再生手順を示す複数のコンピュータ命令から構成される。
並行フラグ１３３は、端末装置１００に搭載されているマイクロプロセッサが、アップデートとその他の処理（コンテンツの再生など）とを並行して実行可能か否かを示しており、「１」は並行処理可能であることを示しており、「０」は並行処理ができないことを示している。
【００７９】
ハードディスクユニット１１１は、不揮発性の記憶媒体から構成され、一例として図９に示すように、コンテンツ視聴プログラム１４２、プログラムファイル１５０及びプログラム鍵１６０を記憶している。
コンテンツ視聴プログラム１４２は、タイトル１４３とバージョン情報１４４とプログラム部１４５とを含む。タイトル１４３は、コンテンツ視聴プログラム１４２を識別する名称であり、バージョン情報１４４は、コンテンツ視聴プログラム１４２の世代を示している。プログラム部１４５は、コンテンツの再生手順を示す複数のコンピュータ命令から構成される。
【００８０】
プログラムファイル１５０は、インターネット２０を介してサーバ装置４００から受信したものであり、暗号化圧縮プログラム１５１とチェックデータ１５２とを含んでいる。暗号化圧縮プログラム１５１は、コンテンツ視聴プログラム１４２の一部又は全部を変更する手順を含む更新プログラムが圧縮され暗号化されたものである。チェックデータ１５２は、ハッシュ関数を用いて暗号化圧縮プログラム１５１から生成されたものである。
【００８１】
プログラム鍵１６０は、プログラムファイル１５０に含まれる暗号化圧縮プログラムを復号するための鍵値である。
また、ハードディスクユニット１１１は、各種の画面データを記憶している。これらの画面データは、図１１に示すスタート画面３１０及び設定変更画面３２０を生成するために用いられる。
【００８２】
（５）通信部１０３
通信部１０３は、インターネット２０に接続されており、インターネット２０に接続されている外部の装置と、主制御部１０７、更新制御部１０６又は認証部との間で情報の送受信を行う。
ここで、前記外部の装置は、具体的には、サーバ装置４００である。
【００８３】
（６）認証部１０２
認証部１０２は、図１０に示すように、認証制御部１７１と内部メモリ１７２から構成される。
内部メモリ１７２は、ＲＯＭ及びハードディスクから構成され、認証局において生成された認証局公開鍵ＰＫ＿ＣＡ＿１７３、認証局から発行され端末装置１００の公開鍵ＰＫ＿Ａ＿１８９を証明する公開鍵証明書Ｃｅｒｔ＿Ａ＿１８０、公開鍵証明書Ｃｅｒｔ＿Ａ＿１８０に含まれる公開鍵ＰＫ＿Ａ＿１８９と対になる端末秘密鍵ＳＫ＿Ａ＿１７４、失効した公開鍵証明書のシリアルＮｏを含むＣＲＬ（Ｃｅｒｔｉｆｉｃａｔｅ  Ｒｅｖｏｃａｔｉｏｎ  Ｌｉｓｔ）１７５及びＣＲＬ更新日１７６を記憶している。
【００８４】
認証局公開鍵ＰＫ＿ＣＡ＿１７３、端末秘密鍵ＳＫ＿Ａ＿１７４、公開鍵証明書Ｃｅｒｔ＿Ａ＿１８０は、端末装置１００の出荷時に生産メーカによって記録されている。
公開鍵証明書Ｃｅｒｔ＿Ａ＿１８０は、認証局の証明書管理装置６００により発行されたものであり、一例としてＩＴＵ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ）により勧告されたＸ．５０９バージョン１の形式に従って作成されている。公開鍵証明書Ｃｅｒｔ＿Ａ＿１８０は、Ｘ．５０９署名形式の世代を示す証明書形式１８１、証明書に固有に割り当てられたシリアルＮｏ１８２、認証局署名データ１９０を生成するために用いられた署名アルゴリズムを判別する署名アルゴリズム識別子１８３、公開鍵証明書Ｃｅｒｔ＿Ａ１８０を発行した認証局の識別名である認証局名１８４、公開鍵証明書Ｃｅｒｔ＿Ａ＿１８０の有効期限１８５、公開鍵証明書Ｃｅｒｔ＿Ａ＿１８０により証明される公開鍵と対になる秘密鍵の保有者の識別名である主体者名１８６、公開鍵証明書Ｃｅｒｔ＿Ａ＿１８０認証より証明される公開鍵ＰＫ＿Ａ＿１８９と公開鍵ＰＫ＿Ａ＿１８９を用いた署名生成に使われる署名アルゴリズム識別子１８８とを含む主体者鍵情報１８７及び認証局署名データ１９０から構成される。Ｘ．５０９バージョン１形式については、非特許文献１に記載されており、公知であるので、詳細の説明を省略する。
【００８５】
認証制御部１７１は、端末装置１００が起動し、電力供給が開始されると、ＣＲＬ更新日１７６と日付情報とを比較し、ＣＲＬ更新日１７６と日付情報とが異なっていると、通信部１０３を介して認証局指定のＵＲＬまたはディレクトリサービスから新たにＣＲＬを取得し、内部メモリ１７２内のＣＲＬ１７５を書き換える。ＣＲＬ１７５を書き換えると、ＣＲＬ更新日１７６を日付情報の示す日時に書き換える。
【００８６】
認証部１０２は、更新制御部１０６又は主制御部１０７が外部装置と情報の送受信を行う前に、更新制御部１０６又は主制御部１０７からＳＡＣ（Ｓｅｃｕｒｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｈａｎｎｅｌ）確立の指示を受け、以下に説明するようにしてＳＡＣを確立する。なお、ここで説明するＳＡＣ確立方法は１例であり、他の認証方法を用いてもよい。
【００８７】
ここで、Ｇｅｎ（）を鍵生成関数とし、Ｙをシステム固有のパラメータとする。鍵生成関数Ｇｅｎ（）は、Ｇｅｎ（ｘ，Ｇｅｎ（ｚ，Ｙ））＝Ｇｅｎ（ｚ，Ｇｅｎ（ｘ，Ｙ））の関係を満たすものとする。鍵生成関数は任意の公知技術で実施可能なため、詳細についてここでは説明しない。その一例として、非特許文献２「現代暗号論」（池野信一、小山謙二著、電気通信学会出版）にディフィーへルマン（ＤＨ）型公開鍵配送法が開示されている。
【００８８】
認証制御部１７１は、更新制御部１０６からＳＡＣ確立の指示を受けると、内部メモリ１７２からＣｅｒｔ＿Ａ＿１８０を読み出し、読み出したＣｅｒｔ＿Ａ＿１８０を通信部１０３及びインターネット２０を介してサーバ装置４００へ送信する。次に、認証制御部１７１は、通信部１０３を介してサーバ装置４００から、サーバ装置４００の公開鍵証明書Ｃｅｒｔ＿Ｂを受け取ると、内部メモリ１７２から認証局公開鍵ＰＫ＿ＣＡ１７３を読み出し、読み出したＰＫ＿ＣＡ１７３を用いて、受け取った公開鍵証明書Ｃｅｒｔ＿Ｂに含まれる認証局署名データＳｉｇ＿ＣＡに署名検証アルゴリズムＶを施して署名検証する。検証結果が失敗の場合、認証制御部１７１は、ＳＡＣ確立の処理を終了する。
【００８９】
検証結果が成功の場合、認証制御部１７１は、内部メモリ１７２からＣＲＬ１７５を読み出し、受け取った公開鍵証明書Ｃｅｒｔ＿Ｂに含まれるシリアルＮｏが読み出したＣＲＬ１７５に登録されているか否かを判断する。
登録されていると判断すると、認証制御部１７１は、ＳＡＣ確立の処理を終了する。
登録されていないと判断する場合、認証制御部１７１は、通信部１０３を介して、サーバ装置４００から乱数Ｃｈａ＿Ｂを受信し、内部メモリ１７２から端末秘密鍵ＳＫ＿Ａ１７４を読み出し、端末秘密鍵ＳＫ＿Ａ１７４を用いて、受信した乱数Ｃｈａ＿Ｂに署名生成アルゴリズムＳを施して署名データＳｉｇ＿Ａを生成し、生成した署名データＳｉｇ＿Ａを通信部１０３介してサーバ装置４００へ送信する。
【００９０】
次に、認証制御部１７１は、乱数Ｃｈａ＿Ａを生成し、生成した乱数Ｃｈａ＿Ａを通信部１０３を介して、サーバ装置４００へ送信する。
次に、認証制御部１７１は、通信部１０３を介してサーバ装置４００から署名データＳｉｇ＿Ｂを受け取り、公開鍵証明書Ｃｅｒｔ＿Ｂに含んで受け取った公開鍵ＰＫ＿Ｂを用いて、受け取った署名データＳｉｇ＿Ｂに署名検証アルゴリズムＶを施して署名検証し、検証結果が失敗の場合、ＳＡＣ確立の処理を終了する。
【００９１】
検証が成功の場合、認証制御部１７１は、乱数「ａ」を生成し、生成した乱数「ａ」を用いてＫｅｙ＿Ａ＝Ｇｅｎ（ａ，Ｙ）を生成する。次に、生成したＫｅｙ＿Ａを、通信部１０３を介してサーバ装置４００へ送信する。
次に、サーバ装置４００から、鍵生成関数Ｇ（）とシステム固有のパラメータＹを用いて生成されたＫｅｙ＿Ｂを受け取る。次に受け取ったＫｅｙ＿Ｂと乱数「ａ」を用いてセッション鍵Ｋｅｙ＿ＡＢ＝Ｇｅｎ（ａ，Ｋｅｙ＿Ｂ）を生成する。
【００９２】
次に、生成したセッション鍵を通信暗号復号部１０１へ出力し、更新制御部１０６へＳＡＣ確立成功を示す制御信号を出力する。
なお、認証部１０２は、アップデートに関する通信時は、更新制御部１０６から制御され、それ以外の通信時（コンテンツのダウンロードなど）は、主制御部１０７による制御を受けるが、認証部１０２の行う処理は、いずれの場合も同じであるので、簡略のため前頁からの説明はアップデートに関する通信時についてのみ述べた。
【００９３】
（７）モニタ１２０
モニタ１２０は、映像信号生成部１１６から垂直帰線期間及び水平帰線期間を含む映像信号を受け取り、受け取った映像信号に基づいて、映像を表示する。
図１１は、モニタ１２０が表示する画面の１例である。スタート画面３１０には、スタート３１１と設定変更３１２の２つの選択肢が含まれる。設定変更画面３２０は、後述するダウンロード許容時間、検証許容時間及びインストール許容時間の設定変更とアップデートのためにサーバ装置４００と通信を行うスケジュールを示すアップデート頻度の設定変更と通信速度の設定変更を受け付ける画面である。
【００９４】
（８）主制御部１０７
主制御部１０７は、電源制御部１１５から電源ボタンＯＮを示す操作指示情報を受け取ると、スタート画面３１０を生成し、生成したスタート画面３１０を映像生成部１１３に出力し、スタート画面３１０の表示を指示する。利用者のボタン操作によりスタート画面３１０中のスタート３１１を選択する選択操作指示情報を外部操作受付部１０５から受け取ると、アップデート処理の開始を更新制御部１０６へ指示する。
【００９５】
スタート画面３１０中の設定変更３１２を選択する操作指示情報を外部操作受付部１０５から受け取ると、主制御部１０７は、設定変更画面３２０を生成し、生成した設定変更画面３２０を映像生成部１１３に出力し、表示を指示する。利用者のボタン操作により、アップデート頻度「毎週月曜日」を外部操作受付部１０５を介して受け付けると、主制御部１０７は、受け付けたアップデート頻度「毎週月曜日」を更新制御部１０６へ出力する。また、外部操作受付部１０５を介して、ダウンロード許容時間の変更、検証許容時間の変更、インストール許容時間の変更又は通信速度の変更を受け付けると、受け付けた変更情報を時間管理部１１２へ出力する。
【００９６】
設定変更の処理が終了すると、主制御部１０７は、アップデートの開始を更新制御部１０６へ指示する。
次に、更新制御部１０６から、並行処理可能、アップデートの処理終了又はアップデート保留を示す制御信号を受け取ると、主制御部１０７は、外部操作受付部１０５を介して利用者のボタン操作を受け付け、再生ボタンの押下を示す操作指示情報を受け取ると、ハードディスクユニット１１１から、コンテンツ視聴プログラム１４２を読み出し、読み出したコンテンツ視聴プログラム１４２を主記憶部１１０へ書き込み、主記憶部１１０に書きこんだコンテンツ視聴プログラムに含まれるコンピュータ命令に従って、ＤＶＤ５００ａ、５００ｂ、５００ｃからコンテンツを取得し、取得したコンテンツを再生する。また、ハードディスクユニット１１１に記憶されているコンテンツを再生するとしてもよい。
【００９７】
その他のボタンの押下を示す操作指示情報を受け取ると、その他の処理を行う。
次に、電源制御部１１５から電源ボタンＯＦＦを示す操作指示情報を受け取ると、主制御部１０７は、コンテンツ視聴プログラムの処理を終了し、主記憶部１１０から保留情報１３１を読み出す。読み出した保留情報１３１が、保留されている処理が無いことを示す「Ｅ」であれば、電源制御部１１５へ電源ＯＦＦを指示する。
【００９８】
読み出した保留情報が「Ｅ」以外の場合、更新制御部１０６へ読み出した保留情報を出力しアップデート再開を指示する。次に、更新制御部１０６から、アップデートの処理終了を示す制御信号を受け取ると、主制御部１０７は、電源制御部１１５へ電源ＯＦＦを指示する。
（９）  更新制御部１０６
更新制御部１０６は、インターネットを介したアップデート頻度「毎週月曜日」を記憶している。アップデート頻度「毎週月曜日」は、ＤＶＤの装着がされていない又はＤＶＤ５００ａが装着された状態で、電源ボタンＯＮが押された場合、現在の日時及び曜日からなる日付情報に含まれる曜日が「月曜日」であれば、インターネット２０を介してサーバ装置４００にコンテンツ視聴プログラム１４２が、最新の世代になっているか否かを問い合わせることを示している。
【００９９】
また、主制御部１０７からアップデート頻度の設定変更情報を受け取ると、記憶しているアップデート頻度を変更する。なお、アップデート頻度は、端末装置１００の生産時に生産メーカーによって、設定されているとしてもよい。
（アップデートの開始）
更新制御部１０６は、主制御部１０７から、アップデート開始を指示されると、主記憶部１１０の保留情報に、保留しているプロセスが無いことを示す「Ｅ」を書き込む。
【０１００】
次に、更新制御部１０６は自身が記憶している端末装置１００に搭載されているマイクロプロセッサのクロック周波数を読み出し、読み出したクロック周波数が４００ＭＨｚ以上であるか否かを判断する。４００ＭＨｚ以上であれば、端末装置１００がアップデートとその他の処理（コンテンツの再生など）とを並行して実行可能であると判断し、並行フラグ「１」を設定し、クロック周波数が４００ＭＨｚ未満であれば並行処理不可であると判断し、並行フラグ「０」を設定する。次に、設定したフラグを主記憶部１１０へ書き込む。
【０１０１】
次に、更新制御部１０６は、並行フラグを判定し、並行フラグが「１」であれば主制御部１０７へ並行処理可能を示す制御信号を出力する。
次に、更新制御部１０６は入出力部１０４を介して、ＤＶＤが装着されているか否かを判断する。ＤＶＤが装着されていれば、さらにＤＶＤの内容を確認し、ＤＶＤ５００ａ、５００ｂ又は５００ｃのいずれのＤＶＤが装着されているかを判断し、上記の（i）、（ii）又は（iii）の処理を行う。
【０１０２】
以下に上記の（i）〜（iii）の詳細を説明する
（i）ＤＶＤの装着無し又はＤＶＤ５００ａが装着されている場合
更新制御部１０６は、以下の（i−ａ）〜（i−ｇ）の手順でアップデート処理を完了又は保留する。
（i−ａ）  アップデートの必要性の判定
更新制御部１０６は、現在日時及び曜日を示す日付情報を取得し、取得した日付情報に含まれる曜日と記憶しているアップデート頻度「毎週月曜日」とを比較する。日付情報に含まれる曜日が「月曜日」以外であれば、主制御部１０７へアップデートの処理終了を示す制御信号を出力し、アップデートの処理を終了する。
【０１０３】
日付情報に含まれる曜日情報が「月曜日」であれば、更新制御部１０６は、認証部１０２にＳＡＣ確立を指示する。認証部１０２からＳＡＣ確立成功を示す制御信号を受け取ると、ハードディスクユニット１１１からコンテンツ視聴プログラム１４２のタイトル１４３とバージョン情報１４４とを読み出し、読み出したタイトル１４３とバージョン情報１４４とを通信暗号復号部１０１へ出力し、暗号化を指示する。通信暗号復号部１０１から暗号化タイトルと暗号化バージョン情報とを受け取ると、受け取った暗号化タイトルと暗号化バージョン情報とを通信部１０３を介してサーバ装置４００へ送信する。
【０１０４】
次に、更新制御部１０６は、通信部１０３を介して、サーバ装置４００から端末装置１００のバージョン情報とサーバ装置が記憶している最新バージョン情報との比較結果とプログラムサイズとを受け取る。比較結果が、「０」であれば、アップデートの必要がないと判断し、主制御部１０７へ、アップデートの処理終了を示す制御信号を出力しアップデートの処理を終了する。比較結果が「１」であれば、アップデートの必要があると判断する。
【０１０５】
次に、更新制御部１０６は、並行フラグを判定し、並行フラグが「０」であれば、次に（i−ｂ）の処理に移る。並行フラグが「１」であれば、（i−ｃ）の処理に移る。
（i−ｂ）ダウンロード時間の予測
更新制御部１０６は、時間管理部１１２へサーバ装置４００から受け取ったプログラムサイズを出力し、ダウンロード時間の予測を指示する。次に、時間管理部１１２から、時間管理部１１２の予測したダウンロード時間とダウンロード許容時間との比較結果を受け取る。比較結果が、時間管理部１１２の予測したダウンロード時間がダウンロード許容時間以内であることを示していれば、更新制御部１０６は、（i−ｃ）の処理へ移る。
【０１０６】
比較結果が、時間管理部１１２の算出したダウンロード時間がダウンロード許容時間を超えることを示していると、更新制御部１０６は、主記憶部１１０の保留情報にダウンロード以降のプロセスを保留することを示す「Ａ」を書き込み、主制御部１０７へアップデート保留を示す制御信号を出力する。
（i−ｃ）ダウンロード
次に、更新制御部１０６は、認証部１０２にＳＡＣ確立を指示する。認証部１０２からＳＡＣ確立成功を示す制御信号を受け取ると、更新制御部１０６は、ハードディスクユニット１１１からコンテンツ視聴プログラム１４２のタイトル１４３とバージョン情報１４４とを読み出し、読み出したタイトル１４３とバージョン情報１４４とを通信暗号復号部１０１へ出力し、暗号化を指示する。通信暗号復号部１０１から暗号化タイトルと暗号化バージョン情報とを受け取ると、受け取った暗号化タイトルと暗号化バージョン情報とを通信部１０３を介してサーバ装置４００へ送信し、ダウンロードを要求する。
【０１０７】
次に、通信部１０３を介して、サーバ装置４００から、プログラムファイルと暗号化プログラム鍵とを受信する。ここで、サーバ装置４００から送信されるプログラムファイルは、上述したように暗号化圧縮更新プログラムと、暗号化圧縮更新プログラムから生成したチェックデータとを含む。
更新制御部１０６は、受信した暗号化プログラム鍵を通信暗号復号部１０１へ出力し、復号を指示する。通信暗号復号部１０１から、プログラム鍵を受け取ると、受け取ったプログラム鍵とプログラムファイルとを主記憶部１１０へ書き込む。
【０１０８】
次に、並行フラグを判定し、並行フラグが「１」であれば、（i−ｅ）へ処理を移す。並行フラグが「０」であれば、（i−ｄ）へ処理を移す。
（i−ｄ）検証時間の予測
更新制御部１０６は、時間管理部１１２へプログラムファイルに含んで受け取ったチェックデータの検証に要する検証時間の予測を指示する。時間管理部１１２から、時間管理部１１２の予測した検証時間と検証許容時間の比較結果を受け取る。受け取った比較結果が、時間管理部１１２の予測した検証時間が検証許容時間以内であることを示していると、（i−ｅ）の処理へ移る。
【０１０９】
比較結果が、時間管理部１１２の予測した検証時間が検証許容時間を超えることを示していると、更新制御部１０６は、主記憶部１１０の保留情報に検証以降のプロセスを保留することを示す「Ｂ」を書き込む。次に、主記憶部１１０に記憶されているプログラム鍵とプログラムファイルとを読み出し、ハードディスクユニット１１１へ書き込む。  
（i−ｅ）検証
次に、更新制御部１０６は、プログラムファイルに含んで受け取ったチェックデータを以下の手順で検証する。
【０１１０】
先ず、主記憶部１１０から、暗号化圧縮更新プログラムを読み出し、読み出した暗号化圧縮更新プログラムをハッシュ関数に代入し、１６０バイトのハッシュ値を生成する。ハッシュ関数は、一例としてＳＨＡ−１を用いる。ここで使用されるハッシュ関数は、サーバ装置４００で使用されるハッシュ関数と同一のものである。
次に、主記憶部１１０から、プログラムファイルに含んで受信したチェックデータを読み出し、算出したハッシュ値と、読み出したチェックデータとを比較する。算出したハッシュ値と読み出したチェックデータとが一致しなければ、チェックデータの検証の失敗と判断する。算出したハッシュ値と読み出したチェックデータとが一致すると、チェックデータの検証の成功と判断する。
【０１１１】
チェックデータの検証が失敗すると、更新制御部１０６は、主記憶部１１０に書き込まれているプログラム鍵とプログラムファイルとを削除し、並行フラグを判定する。並行フラグが「１」と判定すると、前記（i−ｃ）から処理をやり直す。並行フラグが「０」と判定すると、主記憶部１１０の保留情報にダウンロード以降のプロセスを保留することを示す「Ａ」を書き込み、主制御部１０７へアップデート保留を示す制御信号を出力する。
【０１１２】
検証が成功すると、次に、並行フラグを判定し、並行フラグが「０」であれば、（i−ｆ）へ処理を移す。並行フラグが「１」であれば、主制御部１０７の制御によりコンテンツの再生中であるか否かを判断し、再生中でなければ（i−ｆ）へ処理を移す。コンテンツ再生中であれば、主記憶部１１０の保留情報に復号及びインストールのプロセスを保留することを示す「Ｃ」を書き込み、主制御部１０７へアップデート保留を示す制御信号を出力する。次に主記憶部１１０から暗号化圧縮更新プログラムとプログラム鍵とを読み出し、ハードディスクユニット１１１に書き込む。
【０１１３】
（i−ｆ）インストール時間の予測
次に、更新制御部１０６は、時間管理部１１２へインストール時間の予測を指示する。次に、時間管理部１１２から予測されるインストール時間とインストール許容時間との比較結果を受け取る。受け取った比較結果が、予測されるインストール時間がインストール許容時間以内であることを示していると、（i−ｇ）へ処理を移す。受け取った比較結果が、予測されるインストール時間がインストール許容時間を超えることを示していると、主記憶部１１０の保留情報に復号及びインストールのプロセスを保留することを示す「Ｃ」を書き込み、主制御部１０７へアップデート保留を示す制御信号を出力する。次に主記憶部１１０から暗号化圧縮更新プログラムとプログラム鍵とを読み出し、ハードディスクユニット１１１に書き込む。
【０１１４】
（i−ｇ）インストール
更新制御部１０６は、プログラム鍵と暗号化圧縮更新プログラムとを主記憶部１１０から読み出し、読み出したプログラム鍵を用いて、暗号化圧縮更新プログラムに復号アルゴリズムＤ１を施し圧縮更新プログラムを生成する。ここで、復号アルゴリズムＤ１は、後述する暗号化アルゴリズムＥ１により生成された暗号文を復号するアルゴリズムである。また、暗号化アルゴリズムＥ１は、一例として、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）によるものである。
【０１１５】
次に、生成した圧縮更新プログラムに解凍アルゴリズムＺを施し、更新プログラムを生成する。解凍アルゴリズムＺは後述する圧縮アルゴリズムＰにより圧縮されたデータを解凍するアルゴリズムである。ここで、圧縮アルゴリズムＰは、一例として、ランレングス法、ハフマン法などを用いる。ランレングス法、ハフマン法については、公知の技術であるので、説明を省略する。
【０１１６】
次に、更新制御部１０６は、生成した更新プログラムに従って、ハードディスクユニット１１１に記憶されているコンテンツ視聴プログラム１４２の一部もしくは全体を書き換える。これによりインストールが完了する。
インストールが完了すると、更新制御部１０６は、アップデートの処理終了を示す制御信号を主制御部１０７へ出力し、アップデートの処理を終了する。
【０１１７】
（ii）ＤＶＤ５００ｂの場合
ＤＶＤ５００ｂが装着されていると判断すると、以下に示す手順でアップデートを行う。
（ii−ａ）アップデートの必要性の判定
更新制御部１０６は、ＤＶＤ５００ｂから、バージョン情報５０５ｂを読み出し、ハードディスクユニット１１１に記憶されているコンテンツ視聴プログラム１４２に含まれるバージョン情報１４４を読み出し、読み出したバージョン情報５０５ｂとバージョン情報１４４とを比較する。バージョン情報１４４とバージョン情報５０５ｂとが同じ世代を示していると、更新制御部１０６は、アップデートの必要が無いと判断し、主制御部１０７へアップデートの処理終了を示す制御信号を出力して、アップデートの処理を終了する。
【０１１８】
バージョン情報１４４がバージョン情報５０５ｂよりも古い世代を示していると、更新制御部１０６は、アップデートの必要があると判断し、次に、並行フラグを判定する。並行フラグが「１」であると判定すると、（ii−ｃ）へ処理を移す。
並行フラグが「０」であると判定すると、（ii−ｂ）へ処理を移す。
（ii−ｂ）ダウンロード時間の予測
更新制御部１０６は、入出力部１０４を介してＤＶＤ５００ｂから、プログラムサイズ表５３０ｂを読み出し、読み出したプログラムサイズ表５３０ｂから、バージョン情報１４４と一致する旧バージョン情報を含むプログラムサイズ情報５３１ｂを選択し、選択したプログラムサイズ情報５３１ｂに含まれるプログラムサイズ５０７ｂを時間管理部１１２へ出力し、ダウンロード時間の予測を指示する。次に、時間管理部１１２から予測されるダウンロード時間とダウンロード許容時間の比較結果を受け取る。比較結果が予測されるダウンロード時間がダウンロード許容時間以内であることを示していると、更新制御部１０６は、（ii−ｃ）の処理へ移る。
【０１１９】
比較結果が、時間管理部１１２の算出したダウンロード時間がダウンロード許容時間を超えることを示していると、更新制御部１０６は、主記憶部１１０の保留情報にダウンロード以降のプロセスを保留することを示す「Ａ」を書き込み、主制御部１０７へアップデート保留を示す制御信号を出力する。
次に、（ii−ｃ）ダウンロードから（ii−ｇ）インストールまでの処理を行うが、（i−ｃ）〜（i−ｇ）と同一の手順であるので、説明を省略する。
【０１２０】
（iii）ＤＶＤ５００ｃの場合
ＤＶＤ５００ｃが装着されていると判断すると、以下に示す（iii−ａ）〜（iii−ｃ）の手順でアップデートを行う。
なお、ここでは、ＤＶＤ５００ｃが装着される度に、以下に説明するような処理を行っているが、毎週水曜、毎月１０日というように、定期的に行ってもよい。
【０１２１】
（iii−ａ）アップデートの必要性の判定
更新制御部１０６は、ＤＶＤ５００ｃからプログラムファイル５０３ｃを読み出し、ハードディスクユニット１１１からコンテンツ視聴プログラム１４２に含まれるバージョン情報１４４を読み出し、読み出したバージョン情報１４４とプログラムファイル５０３ｃに含まれるバージョン情報５０５ｃとを比較する。
【０１２２】
バージョン情報１４４とバージョン情報５０５ｃとが示す世代が同じであれば、アップデートの必要が無いと判断し主制御部１０７へアップデートの処理終了を示す制御信号を出力し、アップデートの処理を終了する。
バージョン情報１４４がバージョン情報５０５ｃよりも古い世代を示していると判断すると、次に、並行フラグを判定する。並行フラグが「０」であると判定すると、（iii−ｂ）へ処理を移す。
【０１２３】
並行フラグが「１」であると判定すると、さらに、主制御部１０７の制御によりコンテンツ再生が実行中であるか否かを判定する。再生中であると判断すると、主記憶部１１０の保留情報に、インストールのプロセスを保留することを示す「Ｄ」を書き込み、ＤＶＤ５００ｃから読み出したプログラムファイル５０３ｃをハードディスクユニット１１１に書き込む。
【０１２４】
再生中でないと判断すると、（iii−ｂ）に処理を移す。
（iii−ｂ）インストール時間の予測
次に、更新制御部１０６は、プログラムファイル５０３ｃに含まれるプログラムサイズ５０７ｃを時間管理部１１２へ出力し、インストール時間の予測を指示する。次に、時間管理部１１２から、予測されるインストール時間とインストール許容時間との比較結果を受け取る。受け取った比較結果が、予測されるインストール時間がインストール許容時間内であることを示していると、（iii−ｃ）へ処理を移す。比較結果が、予測されるインストール時間がインストール許容時間を超えることを示していると、主記憶部１１０の保留情報にインストールを保留することを示す「Ｄ」を書き込み、主制御部１０７へアップデート保留を示す制御信号を出力する。次に、ＤＶＤ５００ｃから読み出したプログラムファイル５０３ｃをハードディスクユニット１１１に書き込む。
【０１２５】
（iii−ｃ）インストール
次に、更新制御部１０６は、プログラムファイル５０３ｃに含まれる、圧縮更新プログラム５０６ｃに解凍アルゴリズムＺを施し、更新プログラムを生成する。解凍アルゴリズムＺは圧縮アルゴリズムＰにより圧縮されたデータを解凍するアルゴリズムである。ここで、圧縮アルゴリズムＰは、一例として、ランレングス法、ハフマン法などを用いる。
【０１２６】
次に、更新制御部１０６は、生成した更新プログラムに従って、ハードディスクユニット１１１に記憶されているコンテンツ視聴プログラム１４２の一部もしくは全体を書き換える。これによってインストールを完了する。
次に、主制御部１０７へアップデートの処理終了を示す制御信号を出力し、アップデートの処理を終了する。
（アップデートの再開）
更新制御部１０６は、主制御部１０７から保留情報を受け取り、アップデート再開を指示される。更新制御部１０６は、受け取った保留情報が、「Ａ」〜「Ｄ」のいずれであるかによって、以下に説明する（Ａ）、（Ｂ）、（Ｃ）又は（Ｄ）のいずれかの手順でアップデートを完了する。
【０１２７】
（Ａ）保留情報「Ａ」
受け取った保留情報が、ダウンロード以降の処理の保留を示す「Ａ」であれば、更新制御部１０６は、以下に説明する（Ａ−ａ）〜（Ａ−ｃ）の手順でアップデートの処理を完了する。
（Ａ−ａ）ダウンロード
更新制御部１０６は、認証部１０２にＳＡＣ確立を指示する。認証部１０２からＳＡＣ確立成功を示す制御信号を受け取ると、更新制御部１０６は、ハードディスクユニット１１１からコンテンツ視聴プログラム１４２のタイトル１４３とバージョン情報１４４とを読み出し、読み出したタイトル１４３とバージョン情報１４４とを通信暗号復号部１０１へ出力し、暗号化を指示する。通信暗号復号部１０１から暗号化タイトルと暗号化バージョン情報とを受け取ると、受け取った暗号化タイトルと暗号化バージョン情報とを通信部１０３を介してサーバ装置４００へ送信し、ダウンロードを要求する。
【０１２８】
次に、通信部１０３を介して、サーバ装置４００から、プログラムファイルと暗号化プログラム鍵とを受信する。プログラムファイルは暗号化圧縮更新プログラムと、暗号化圧縮更新プログラムから生成したチェックデータとを含む。
更新制御部１０６は、受信した暗号化プログラム鍵を通信暗号復号部１０１へ出力し、復号を指示する。通信暗号復号部１０１から、プログラム鍵を受け取ると、受け取ったプログラム鍵とプログラムファイルとを主記憶部１１０へ書き込む。
【０１２９】
（Ａ−ｂ）検証
次に、更新制御部１０６は、サーバ装置４００からプログラムファイルに含んで受け取ったチェックデータを以下の手順で検証する。チェックデータは、一例として、ハッシュ関数を用いて暗号化圧縮更新プログラムから生成される１６０バイトのハッシュ値から構成される。このチェックデータ生成方法及びチェックデータの検証方法は、一例であり、他の方法を用いてもよい。
【０１３０】
先ず、主記憶部１１０から、暗号化圧縮更新プログラムを読み出し、読み出した暗号化圧縮更新プログラムをハッシュ関数に代入し、１６０バイトのハッシュ値を生成する。ハッシュ関数は、一例としてＳＨＡ−１を用いる。ここで使用されるハッシュ関数は、サーバ装置４００で使用されるハッシュ関数と同一のものである。
次に、主記憶部１１０から、プログラムファイルに含んで受信したチェックデータを読み出し、算出したハッシュ値と、読み出したチェックデータとを比較する。算出したハッシュ値と読み出したチェックデータとが一致しなければ、チェックデータの検証の失敗と判断する。算出したハッシュ値と読み出したチェックデータとが一致すると、チェックデータの検証の成功と判断する。
【０１３１】
チェックデータの検証が失敗すると、更新制御部１０６は、主記憶部１１０に書き込まれているプログラム鍵とプログラムファイルとを削除し、前記（Ａ−ａ）から処理をやり直す。検証が成功すると、次に（Ａ−ａ）の処理へ移る。
（Ａ−ｃ）インストール
更新制御部１０６は、主記憶部１１０からプログラム鍵と暗号化圧縮更新プログラムとを読み出し、読み出したプログラム鍵を用いて、暗号化圧縮更新プログラムに復号アルゴリズムＤ１を施し圧縮更新プログラムを生成する。ここで、復号アルゴリズムＤ１は、暗号化アルゴリズムＥ１により生成された暗号文を復号するアルゴリズムである。また、暗号化アルゴリズムＥ１は、一例として、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）によるものである。
【０１３２】
次に、生成した圧縮更新プログラムに解凍アルゴリズムＺを施し、更新プログラムを生成する。解凍アルゴリズムＺは、圧縮アルゴリズムＰにより圧縮されたデータを解凍するアルゴリズムである。ここで、圧縮アルゴリズムＰは、一例として、ランレングス法、ハフマン法などを用いる。ランレングス法、ハフマン法については、公知の技術であるので、説明を省略する。
【０１３３】
次に、更新制御部１０６は、生成した更新プログラムに従って、ハードディスクユニット１１１に記憶されているコンテンツ視聴プログラム１４２の一部もしくは全体を書き換える。これによりインストールが完了する。
インストールが完了すると、更新制御部１０６は、アップデートの処理終了を示す制御信号を主制御部１０７へ出力し、アップデートの処理を終了する。
【０１３４】
（Ｂ）保留情報「Ｂ」
受け取った保留情報が検証以降の処理を保留していることを示す「Ｂ」であれば、更新制御部１０６は、ハードディスクユニット１１１からプログラムファイル１５０とプログラム鍵１６０とを読み出し、読み出したプログラムファイル１５０とプログラム鍵１６０とを主記憶部１１０に書き込む。
【０１３５】
次に、チェックデータの検証とインストールを行いアップデートの処理を終了するが、上記の（Ａ−ｂ）〜（Ａ−ｃ）と同一の手順であるので説明を省略する。
（Ｃ）保留情報「Ｃ」
受け取った保留情報が復号及びインストールの保留を示す「Ｃ」であれば、ハードディスクユニット１１１から暗号化圧縮更新プログラムとプログラム鍵とを読み出し、主記憶部１１０に書き込む。
【０１３６】
次に、暗号化圧縮更新プログラムから更新プログラムを生成し、生成した更新プログラムをインストールするが、上記の（Ａ−ｃ）と同一の手順であるので説明を省略する。
（Ｄ）保留情報「Ｄ」
受け取った保留情報がインストールの保留を示す「Ｄ」であれば、更新制御部１０６は、ハードディスクユニット１１１からプログラムファイルを読み出す。読み出したプログラムファイルに含まれる、圧縮更新プログラムに解凍アルゴリズムＺを施して解凍し、更新プログラムを生成する。ここで、読み出したプログラムファイルは、ＤＶＤ５００ｃから取得したものであり、最新バージョン情報と圧縮更新プログラムとプログラムサイズとを含む。
【０１３７】
次に、更新制御部１０６は、生成した更新プログラムに従って、ハードディスクユニット１１１に記憶されているコンテンツ視聴プログラム１４２の一部もしくは全体を書き換える。これによりインストールが完了する。
インストールが完了すると、更新制御部１０６は、アップデートの処理終了を示す制御信号を主制御部１０７へ出力し、アップデートの処理を終了する。
【０１３８】
（１０）時間管理部１１２
時間管理部１１２は、図１２に示すように時間管理制御部２００と記憶部２１０から構成される。
（i）記憶部２１０
記憶部２１０は、図１２に示すように、許容時間設定表２１５と通信速度２２０とＣＰＵ能力２２５を記憶している。
【０１３９】
許容時間設定表２１５は、端末装置１００の生産メーカー又は利用者によって設定されるダウンロード許容時間２１６、検証許容時間２１７及びインストール許容時間２１８を含んでいる。単位はいずれも秒である。
通信速度２２０は、利用者により設定される通信回線の伝送速度であり、単位はｂｐｓである。
【０１４０】
ＣＰＵ能力２２５は、生産メーカーにより設定される、検証基準時間２２６とインストール基準時間２２７を含んでいる。検証基準時間２２６は、更新制御部１０６がハッシュ値を算出するために、１０２４バイトのデータの処理に必要な時間が７秒であることを示している。インストール基準時間２２７は、更新制御部１０６が、１０２４バイトのデータをインストールするために必要な時間が１５秒であることを示している。
【０１４１】
（ii）時間管理制御部２００
時間管理制御部２００は、主制御部１０７から各許容時間の設定変更又は通信速度の設定変更の情報を受け取り、受け取った変更情報に従って、記憶部２１０の許容時間設定表２１５又は通信速度２２０を書き換える。
また、時間管理制御部２００は、内部にＲＡＭを備えており、更新制御部１０６から、プログラムサイズを受け取り、ダウンロード時間の予測を指示されると、受け取ったプログラムサイズを前記ＲＡＭに記憶する。次に、記憶部２１０から通信速度２２０を読み出し、プログラムサイズの通信速度２２０に対する商を求めることにより、ダウンロード時間を予測する。次に、記憶部２１０から、ダウンロード許容時間２１６を読み出し、読み出したダウンロード許容時間２１６と予測したダウンロード時間を比較し、比較結果を更新制御部１０６へ出力する。
【０１４２】
また、更新制御部１０６から検証時間の予測を指示されると、検証時間は、プログラムサイズに比例するものとして、プログラムサイズと検証基準時間とから検証時間を予測する。次に、記憶部２１０から検証許容時間２１７を読み出し、読み出した検証許容時間２１７と予測した検証時間とを比較し、比較結果を更新制御部１０６へ出力する。
また、更新制御部１０６からインストール時間の検討を指示されると、時間管理制御部２００は、インストール時間はプログラムサイズに比例するものとして、プログラムサイズとインストール基準時間２２７とからインストール時間を予測する。次に記憶部２１０からインストール許容時間２１８を読み出し、読み出したインストール許容時間２１８と予測したインストール時間とを比較し、比較結果を更新制御部１０６へ出力する。
【０１４３】
ただし、ダウンロード時間、検証時間及びインストール時間は、時間管理部１１２によって算出された予測時間であり、実際に端末装置１００がダウンロード、検証又はインストールに要する時間とは必ずしも一致しない。
また、上記のダウンロード時間、検証時間及び検証時間の予測方法は１例であり、他の方法を用いてもよい。
【０１４４】
また、ダウンロード時間、検証時間及びインストール時間は、サーバ装置４００又はＤＶＤ５００ｃから取得するとしてもよい。この場合、時間管理制御部２００は、サーバ装置４００又はＤＶＤ５００ｃから取得したダウンロード時間と記憶部２１０に記憶されているダウンロード許容時間とを比較する。検証時間及びインストール時間についても、同様にサーバ装置４００又はＤＶＤ５００ｃから取得した値と、記憶部２１０に記憶されている許容時間の値とを比較する。
【０１４５】
（１１）通信暗号復号部１０１
通信暗号復号部１０１は、認証部１０２からセッション鍵を受け取り、受け取ったセッション鍵を記憶する。また、新しくセッション鍵を受け取る度に、記憶しているセッション鍵を破棄し、新しく受け取ったセッション鍵を記憶する。
通信暗号復号部１０１は、更新制御部１０６からコンテンツ視聴プログラムのタイトル１４３、バージョン情報１４４及び暗号化の指示を受け取ると、記憶しているセッション鍵を用いて受け取ったタイトル１４３とバージョン情報１４４とに暗号化アルゴリズムＥ２を施して暗号化タイトルと暗号化バージョン情報とを生成し、生成した暗号化タイトルと暗号化バージョン情報とを更新制御部１０６へ出力する。ここで用いられる暗号化アルゴリズムＥ２は、サーバ装置４００で用いられる復号アルゴリズムＤ２と対応している。
【０１４６】
また、通信暗号復号部１０１は、更新制御部１０６から暗号化プログラム鍵を受け取り復号を制御されると、セッション鍵を用いて、受け取った暗号化プログラム鍵に復号アルゴリズムＤ３を施してプログラム鍵とを生成する。ここで用いられる復号アルゴリズムＤ３は、暗号化アルゴリズムＥ３により生成された暗号文を復号するアルゴリズムである。  
ここで暗号化アルゴリズムＥ２及びＥ３は一例として、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）によるものである。ＤＥＳについては、公知の技術であるので、説明を省略する。
【０１４７】
（１２）映像生成部１１３
映像生成部１１３は、主制御部１０７から画面を受け取り、表示を指示されると、受け取った画面から画像信号を生成し、垂直同期信号と水平同期信号に合わせて生成した画像信号を、モニタ１２０へ出力する。
（１３）電源制御部１１５
電源制御部１１５は、電源ボタンのＯＮ／ＯＦＦの押下を検出する。電源ボタンＯＮの押下を検出すると、電源制御部１１５は、電力供給部１１６へ、電力供給の開始を制御し、主制御部１０７へ電源ＯＮを示す操作指示情報を出力する。
【０１４８】
電源ボタンＯＦＦの押下を検出すると、主制御部１０７へ電源ボタンＯＦＦを示す操作指示情報を出力する。
主制御部１０７から電源ＯＦＦを示す制御信号を受け取ると、電源制御部１１５は、電力供給部１１６へ電力供給停止を指示する。
１．５  証明書管理装置６００
証明書管理装置６００は、認証局（Ｃｅｒｔｉｆｉｃａｔｅ  Ａｕｔｈｏｒｉｔｙ）の管理のもと、Ｘ．５０９バージョン１形式認証基づいて、端末装置１００とサーバ装置４００それぞれの公開鍵を証明する公開鍵証明書Ｃｅｒｔ＿Ａ及びＣｅｒｔ＿Ｂを生成し、発行する。
【０１４９】
また、証明書管理装置６００は、公開鍵証明書Ｃｅｒｔ＿Ａ及びＣｅｒｔ＿Ｂに含まれる認証局署名データ１９０及び４９０を検証するための認証局公開鍵ＰＫ＿ＣＡをインターネット上の機知のＵＲＬ又はディレクトリサービスを用いて公開する。
また、証明書管理装置６００は定期的に、廃棄が決まった公開鍵証明書のシリアルＮｏを記載した証明書廃棄リストＣＲＬ（Ｃｅｒｔｉｆｉｃａｔｅ  Ｒｅｖｏｃａｔｉｏｎ  Ｌｉｓｔ）を作成し、作成したＣＲＬをインターネット上の機知のＵＲＬ又はディレクトリサービスを用いて配布する。
【０１５０】
１．６  端末装置１００の動作
端末装置１００の動作について、以下に説明する。
（１）端末装置１００の動作
端末装置１００の動作について図１３〜図２３に示すフローチャートを用いて説明する。
【０１５１】
利用者による電源ボタンＯＮの押下を示す操作指示情報を受け取ると（ステップＳ１００）、主制御部１０７の指示により、モニタ１２０にスタート画面３１０が表示される（ステップＳ１０１）。利用者のボタン操作により、スタート画面３１０に表示される選択肢のうち、スタート３１１が選択されると（ステップＳ１０２）、主制御部１０７は、そのままステップＳ１０６へ処理を移す。設定変更３１２が選択されると（ステップＳ１０２）、主制御部１０７は、設定変更画面３２０をモニタ１２０へ表示し（ステップＳ１０３）、利用者によるアップデート頻度、通信速度又は各許容時間の設定変更の入力を受け付ける（ステップＳ１０４）。主制御部１０７は、受け付けた設定変更を更新制御部１０６又は時間管理部１１２に出力する。更新制御部１０６は受け取った設定変更を基に記憶しているアップデート頻度を書き換え、時間管理部１１２は受け取った設定変更を元に記憶している通信速度２２０及び許容時間設定表２１５を書き換える。（ステップＳ１０５）。
【０１５２】
次に、主制御部１０７は、アップデート開始を指示し、アップデート開始の指示を受けると、更新制御部１０６は、主記憶部１１０の保留情報に保留しているプロセスが無いことを示すＥを書き込む（ステップＳ１０６）。次に、端末装置１００に搭載されているマイクロプロセッサのクロック周波数が４００ＭＨｚ以上であるか否かを判断する（ステップＳ１０７）。クロック周波数が４００ＭＨｚ以上であれば、並行フラグ「１」を設定する（ステップＳ１０８）。クロック周波数が４００ＭＨｚ未満であれば、並行フラグ「０」を設定する（ステップＳ１０９）。
【０１５３】
次に、更新制御部１０６は、設定した並行フラグを判別し（ステップＳ１１０）、並行フラグが「０」であれば、そのまま、ステップＳ１１１へ処理を移す。並行フラグが「１」であれば、更新制御部１０６は、アップデートとその他の処理を並行処理可能と判断し、主制御部１０７へ並行処理可能を示す制御信号を出力し、ステップＳ１１１へ処理を移す。並行処理を示す制御信号を受け取ると、主制御部１０７は、ステップＳ１９５へ処理を移し、端末装置１００は、ステップＳ１１１以下の処理とステップＳ１９５以下の処理とを並行して行う。
【０１５４】
次に、更新制御部１０６は、端末装置１００にＤＶＤが装着されているか否かを判断し、装着されている場合さらに、ＤＶＤの種類を判断する（ステップＳ１１１）。
ＤＶＤ５００ｃが装着されていると判断すると（ステップＳ１１１）、更新制御部１０６は、ＤＶＤ５００ｃから、プログラムファイル５０３ｃを読み出し（ステップＳ２４１）、読み出したプログラムファイル５０３ｃに含まれるバージョン情報５０５ｃと、ハードディスクユニット１１１に記憶されているバージョン情報１４４とを比較する（ステップＳ２４２）。バージョン情報１４４とバージョン情報５０５ｃの示す世代が同一であれば（ステップＳ２４２のＮＯ）、アップデートする必要が無いと判断し、ステップＳ１９５へ処理を移す。
【０１５５】
バージョン情報１４４がバージョン情報５０５ｃよりも古い世代を示していれば（ステップＳ２４２のＹＥＳ）、更新制御部１０６は、アップデートの必要があると判断する。
次に、更新制御部１０６は、並行フラグが「１」であれば、さらに、コンテンツ再生が実行中であるか否かを判断し（ステップＳ２４５）、実行中でなければ、ステップＳ２５１へ処理を移す。実行中であれば（ステップＳ２４５）、主記憶部１１０の保留情報にインストールを保留することを示す「Ｄ」を書き込み（ステップＳ２４６）、プログラムファイル５０３ｃをハードディスクユニット１１１へ書き込み（ステップＳ２４７）、ステップＳ１９５へ処理を移す。
【０１５６】
並行フラグが「０」であれば（ステップＳ２４３）、更新制御部１０６は、プログラムファイル５０３ｃに含まれるプログラムサイズ５０７ｃを読み出し、読み出したプログラムサイズ５０７ｃを時間管理部１１２へ出力し、インストール時間の予測を指示する（ステップＳ２５１）。時間管理部１１２は、受け取ったプログラムサイズ５０７ｃからインストール時間を予測し、予測されるインストール時間と利用者又は端末装置１００の生産メーカーにより設定されたインストール許容時間とを比較し、比較結果を更新制御部１０６へ出力する（ステップＳ２５２）。
【０１５７】
更新制御部１０６は、比較結果を受け取り、受け取った比較結果が予測されるインストール時間がインストール許容時間を超えることを示していると（ステップＳ２５３のＮＯ）、ステップＳ２４６へ処理を移す。
比較結果が、予測されるインストール時間がインストール許容時間以内であることを示していると（ステップＳ２５３のＹＥＳ）、更新制御部１０６は、プログラムファイル５０３ｃに含まれる圧縮更新プログラム５０６ｃに解凍アルゴリズムＺを施して更新プログラムを生成する（ステップＳ２５５）。
【０１５８】
次に、更新制御部１０６は、生成した更新プログラムをインストールし（ステップＳ２５６）、これによりアップデートを完了する。次に、ステップＳ１９５へ処理を移す。
ＤＶＤ５００ｂが装着されていると判断すると（ステップＳ１１１）、更新制御部１０６は、ＤＶＤ５００ｂからバージョン情報５０５ｂを読み出し（ステップＳ１１２）、ハードディスクユニット１１１に記憶されているバージョン情報１４４とバージョン情報５０５ｂとを比較する（ステップＳ１１３）。
【０１５９】
バージョン情報１４４とバージョン情報５０５ｂの示す世代が同一であれば（ステップＳ１１３のＮＯ）、アップデートする必要が無いと判断し、ステップＳ１９５へ処理を移す。
バージョン情報１４４がバージョン情報５０５ｂよりも古い世代を示していれば（ステップＳ１１３のＹＥＳ）、更新制御部１０６は、アップデートの必要があると判断し、次に、並行フラグを判断する（ステップＳ１３５）。
【０１６０】
並行フラグが「０」であれば（ステップＳ１３５）、バージョン情報１４４を基に、ＤＶＤ５００ｂに記憶されているプログラムサイズ表５３０ｂから、プログラムサイズ情報５３１ｂを選択し、選択したプログラムサイズ情報５３１ｂに含まれるプログラムサイズ５０７ｂを読み出し、読み出したプログラムサイズ５０７ｂを時間管理部１１２へ出力し、ダウンロード時間の予測を指示する（ステップＳ１３６）。次に、ステップＳ１４１へ処理を移す。
【０１６１】
並行フラグが「１」であれば（ステップＳ１３５）、更新制御部１０６は、ステップＳ１４５へ処理を移す。  
ＤＶＤが装着されていない又はＤＶＤ５００ａが装着されていると判断すると（ステップＳ１１１）、更新制御部１０６は、日付情報に含まれる曜日が利用者により設定されているアップデート頻度「毎週月曜日」と一致するか否かを判断し（ステップＳ１１５）、一致しなければ、アップデートする必要がないと判断し、ステップＳ１９５へ処理を移す。一致しすれば（ステップＳ１１５）、更新制御部１０６は、認証部１０２にＳＡＣ確立を指示する。
【０１６２】
認証部１０２は、サーバ装置４００とセッション鍵を共有しＳＡＣを確立し、更新制御部１０６にＳＡＣ確立成功を知らせる（ステップＳ１１６）。
次に、更新制御部１０６は、ハードディスクユニット１１１からコンテンツ視聴プログラム１４２のタイトル１４３とバージョン情報１４４とを読み出し（ステップＳ１２１）通信暗号復号部１０１へ読み出したタイトル１４３とバージョン情報１４４を出力し、暗号化を指示する。通信暗号復号部１０１は、タイトル１４３とバージョン情報１４４を受け取り、セッション鍵を用いて、受け取ったタイトル１４３とバージョン情報１４４とに暗号化アルゴリズムＥ２を施し、暗号化タイトルと暗号化バージョン情報とを生成し、生成した暗号化タイトルと暗号化バージョン情報とを更新制御部１０６へ出力する（ステップＳ１２２）。
【０１６３】
次に、更新制御部１０６は、暗号化タイトルと暗号化バージョン情報とをサーバ装置４００へ送信する（ステップＳ１２３）。
サーバ装置４００を構成する制御部４０７は、端末装置１００から暗号化タイトルと暗号化バージョン情報とを受け取ると、通信暗号復号部４０１に指示して、セッション鍵を用いて、受け取った暗号化タイトルと暗号化バージョン情報とに復号アルゴリズムＤ２を施し、タイトルとバージョン情報とを生成する（ステップＳ１２４）。生成されたタイトルを基にプログラム更新テーブル４２０からプログラム情報を選択し、選択したプログラム情報に含まれる最新バージョン情報を読み出し（ステップＳ１２５）、読み出した最新バージョン情報と通信暗号復号部４０１により生成されたバージョン情報とを比較する（ステップＳ１２６）。
【０１６４】
バージョン情報と最新バージョン情報とが示す世代が同一であれば（ステップＳ１２６のＮＯ）、比較結果「０」を生成する（ステップＳ１２８）。バージョン情報が最新バージョン情報よりも古い世代を示していれば（ステップＳ１２６のＹＥＳ）、比較結果「１」を生成する（ステップＳ１２８）。
次に、タイトルとバージョン情報を基にプログラム更新テーブル４２０からプログラム情報４２１を選択し、選択したプログラム情報に含まれるプログラムサイズを読み出す（ステップＳ１２９）。
【０１６５】
次に、制御部４０７は、比較結果とプログラムサイズとを端末装置１００に送信する（ステップＳ１３０）。
通信部１０３を介して比較結果とプログラムサイズとを受信すると、更新制御部１０６は、受信した比較結果を判断し（ステップＳ１３８）、比較結果が「０」であれば、アップデートの必要が無いと判断し、ステップＳ１９５へ処理を移す。比較結果が「１」であれば（ステップＳ１３８）アップデートする必要があると判断し、次に、並行フラグを判断する（ステップＳ１３９）。
【０１６６】
並行フラグが「１」であれば（ステップＳ１３９）、ステップＳ１４５へ処理を移す。並行フラグが「０」であれば（ステップＳ１３９）、更新制御部１０６は、受信したプログラムサイズを時間管理部１１２へ出力し、ダウンロード時間の予測を指示する。時間管理部１１２は、プログラムサイズを受け取り、受け取ったプログラムサイズを基に予測されるダウンロード時間を算出し、予測されるダウンロード時間とダウンロード許容時間とを比較し、比較結果を更新制御部１０６へ出力する（ステップＳ１４１）。
【０１６７】
更新制御部１０６は比較結果を受け取り、受け取った比較結果が予測されるダウンロード時間がダウンロード許容時間を超えることを示していると（ステップＳ１４２のＮＯ）、更新制御部１０６は、主記憶部１１０の保留情報にダウンロード以降のプロセスを保留することを示す「Ａ」を書き込み、主制御部１０７へアップデート保留を示す制御信号を出力する（ステップＳ１４３）。次に、ステップＳ１９５へ処理を移す。
【０１６８】
比較結果が、予測されるダウンロード時間がダウンロード許容時間内であることを示していると（ステップＳ１４２のＹＥＳ）、更新制御部１０６は、認証部１０２へＳＡＣ確立を指示し、認証部１０２は、サーバ装置４００とセッション鍵を共有しＳＡＣを確立する（ステップＳ１４５）。
ＳＡＣが確立すると、ハードディスクユニット１１１に記憶されているタイトル１４３とバージョン情報１４４とを通信暗号復号部１０１に出力し暗号化を指示する。通信暗号復号部１０１は、タイトル１４３とバージョン情報１４４とを受け取ると、セッション鍵を用いて受け取ったタイトル１４３とバージョン情報１４４とに暗号化アルゴリズムＥ２を施し、暗号化タイトルと暗号化バージョン情報とを生成し、生成した暗号化タイトルと暗号化バージョン情報とを更新制御部１０６へ出力する（ステップＳ１４６）。
【０１６９】
更新制御部１０６は、暗号化タイトルと暗号化バージョン情報とを受け取り、受け取った暗号化タイトルと暗号化バージョン情報とをインターネット２０を介して、サーバ装置４００へ送信し、ダウンロード要求をする（ステップＳ１５０）。
サーバ装置４００の制御部４０７は、暗号化タイトルと暗号化バージョン情報とダウンロード要求とを受け取ると、通信暗号復号部４０１において、セッション鍵を用いて受け取った暗号化タイトルと暗号化バージョン情報とに復号アルゴリズムＤ２を施し、タイトルとバージョン情報とを生成する（ステップＳ１５１）。
【０１７０】
次に、生成したタイトルとバージョン情報とを基に、プログラム更新テーブル４２０からプログラム情報４２１を選択し、選択したプログラム情報４２１に含まれるプログラム鍵を読み出す（ステップＳ１５２）。
次に、セッション鍵を用いて、読み出したプログラム鍵に暗号化アルゴリズムＥ３を施して暗号化プログラム鍵を生成する（ステップＳ１５３）。次に、選択したプログラム情報４２１を基にプログラムファイル４３１を読み出し（ステップＳ１５４）、読み出したプログラムファイル４３１と、生成した暗号化プログラム鍵とをインターネット２０を介して端末装置１００へ送信する（ステップＳ１５５）。
【０１７１】
端末装置１００は、プログラムファイルと暗号化プログラム鍵とを受信し、通信暗号復号部１０１において、セッション鍵を用いて、暗号化プログラム鍵に復号アルゴリズムＤ３を施しプログラム鍵を生成し（ステップＳ１６０）、生成したプログラム鍵と受信したプログラムファイルとを主記憶部１１０へ書き込む（ステップＳ１６１）。
次に、更新制御部１０６は、並行フラグを判定する（ステップＳ１６２）。並行フラグが「１」であると判定すると、ステップＳ１７０へ処理を移す。並行フラグが「０」であると判定すると（ステップＳ１６２）、時間管理部１１２へ検証時間の予測を指示する。
【０１７２】
時間管理部１１２は、プログラムサイズから検証時間を予測し（ステップＳ１６３）、予測される検証時間と検証許容時間を比較し、比較結果を更新制御部１０６へ出力する。時間管理部１１２から受け取った比較結果が、予測される検証時間が検証許容時間を超えることを示していると（ステップＳ１６４のＮＯ）、更新制御部１０６は主記憶部１１０の保留情報に検証以降のプロセスを保留することを示す「Ｂ」を書き込む（ステップＳ１６５）。次に、プログラム鍵とプログラムファイルとをハードディスクユニット１１１に書き込み（ステップＳ１６６）、ステップＳ１９５へ処理を移す。
【０１７３】
比較結果が、予測される検証時間が検証許容時間内であることを示していると（ステップＳ１６４のＹＥＳ）、プログラムファイルに含まれる暗号化圧縮更新プログラムを読み出す（ステップＳ１７０）。次に、読み出した暗号化圧縮更新プログラムをハッシュ関数に代入してハッシュ値を算出する（ステップＳ１７２）。次に、プログラムファイルに含まれるチェックデータを読み出し、読み出したチェックデータと算出したハッシュ値をと比較する（ステップＳ１７３）。
【０１７４】
算出したハッシュ値と読み出したチェックデータとが一致すると（ステップＳ１７３のＹＥＳ）、検証の成功とし、ステップＳ１８１へ処理を移す。
算出したハッシュ値と読み出したチェックデータとが一致しなければ（ステップＳ１７３のＮＯ）、検証の失敗と判断し、更新制御部１０６は並行フラグを判定する（ステップＳ１７４）。並行フラグが「１」であれば（ステップＳ１７４）、ステップＳ１４５へ戻って処理をやり直す。並行フラグが「０」であれば（ステップＳ１７４）、主記憶部１１０の保留情報にダウンロード以降のプロセスを保留することを示す「Ａ」を書き込み、主制御部１０７へアップデート保留の制御信号を出力し（ステップＳ１７５）、ステップＳ１９５へ処理を移す。
【０１７５】
次に、更新制御部１０６は、並行フラグを判定し（ステップＳ１８１）、並行フラグが「１」であれば、主制御部１０７によりコンテンツの再生が実行中であるか否かを判断し（ステップＳ１８２）、実行中でなければ、ステップＳ１８６へ処理を移す。実行中であれば（ステップＳ１８２）、主記憶部１１０の保留情報に、復号及びインストールを保留することを示す「Ｃ」を書き込む（ステップＳ１８３）。次に、暗号化圧縮更新プログラムとプログラム鍵とをハードディスクユニット１１１に書き込み（ステップＳ１８４）、ステップＳ１９５へ処理を移す。
【０１７６】
並行フラグが「０」であれば（ステップＳ１８１）、更新制御部１０６は、時間管理部１１２へインストール時間の予測を指示し、時間管理部１１２は、プログラムサイズからインストール時間を予測し、予測されるインストール時間とインストール許容時間とを比較し、比較結果を更新制御部１０６へ出力する（ステップＳ１８６）。更新制御部１０６は、受け取った比較結果が予測されるインストール時間がインストール許容時間を超えていることを示していると（ステップＳ１８７）、ステップＳ１８３へ処理を移す。
【０１７７】
比較結果が、予測されるインストール時間がインストール許容時間内であることを示していると（ステップＳ１８７）、プログラム鍵を用いて、暗号化圧縮更新プログラムに復号アルゴリズムＤ１を施して圧縮更新プログラムを生成し（ステップＳ１８８）、生成した圧縮更新プログラムに解凍アルゴリズムＺを施し、更新プログラムを生成する（ステップＳ１８９）。
【０１７８】
次に、生成した更新プログラムをインストールし（ステップＳ１９１）、アップデートの処理を終了し、主制御部１０７へ処理を移す。
主制御部１０７は、利用者のボタン押下による操作指示情報を受け付け（ステップＳ１９５）、再生ボタンが押下されると（ステップＳ１９６）、コンテンツ視聴プログラムに従ってコンテンツの再生を行う（ステップＳ１９７）。また、その他のボタンが押下されると（ステップＳ１９６）、その他の処理を行う（ステップＳ１９８）。以下、電源ボタンＯＦＦが押下されるまで、ボタンの受け付けと、コンテンツの再生又はその他の処理を繰り返す。
【０１７９】
電源ボタンＯＦＦが押下されると（ステップＳ１９６）、主制御部１０７は、主記憶部１１０から保留情報を読み出し、読み出した保留情報が「Ｅ」であるか否かを確認し（ステップＳ２０１）、保留情報が「Ｅ」であると判断すると（ステップＳ２０１）、そのままステップＳ２３４へ処理を移す。
保留情報が「Ｅ」以外であると判断すると（ステップＳ２０１）、読み出した保留情報を更新制御部１０６へ出力し、アップデート再開を指示する。更新制御部１０６は、受け取った保留情報を判別する（ステップＳ２０２）。受け取った保留情報が、検証以降のプロセスを保留することを示す「Ｂ」であれば（ステップＳ２０２）、ハードディスクユニット１１１からプログラム鍵とプログラムファイルとを読み出し、読み出したプログラム鍵とプログラムファイルとを主記憶部１１０へ書き込み（ステップＳ２０５）、ステップＳ２２３へ処理を移す。
【０１８０】
受け取った保留情報が、復号及びインストールの保留を示す「Ｃ」であれば（ステップＳ２０２）、プログラム鍵と暗号化圧縮更新プログラムとをハードディスクユニット１１１から読み出し、読み出したプログラム鍵と暗号化圧縮更新プログラムとを主記憶部１１０へ書き込み（ステップＳ２０６）、ステップＳ２３０へ処理を移す。
受け取った保留情報が、インストールの保留を示す「Ｄ」であれば（ステップＳ２０２）、ハードディスクユニット１１１から圧縮更新プログラムを読み出し、読み出した圧縮更新プログラムを主記憶部１１０へ書き込み（ステップＳ２０７）、ステップＳ２３１へ処理を移す。
【０１８１】
受け取った保留情報が、ダウンロード以降の処理の保留を示す「Ａ」であれば（ステップＳ２０２）、更新制御部１０６は、認証部１０２へＳＡＣ確立を指示し、認証部１０２は、インターネット２０を介してサーバ装置４００とセッション鍵を共有し、ＳＡＣを確立する（ステップＳ２１０）。
ＳＡＣが確立すると、更新制御部１０６は、ハードディスクユニット１１１に記憶されているタイトル１４３とバージョン情報１４４とを読み出し、読み出したタイトル１４３とバージョン情報１４４とを通信暗号復号部１０１へ出力し暗号化を指示する。通信暗号復号部１０１は、タイトル１４３とバージョン情報１４４とを受け取り、セッション鍵を用いて、受け取ったタイトル１４３とバージョン情報１４４とに暗号化アルゴリズムＥ２を施し、暗号化タイトルと暗号化バージョン情報とを生成し、生成した暗号化タイトルと暗号化バージョン情報とを更新制御部１０６へ出力する（ステップＳ２１１）。
【０１８２】
次に、更新制御部１０６は、暗号化タイトルと暗号化バージョン情報とを受け取り、インターネット２０を介してサーバ装置４００へ、受け取った暗号化タイトルと暗号化バージョン情報とを送信し、ダウンロードを要求する（ステップＳ２１２）。
サーバ装置４００を構成する制御部４０７は、暗号化タイトルと暗号化バージョン情報とダウンロード要求とを受け取ると、通信暗号復号部４０１において、セッション鍵を用いて受け取った暗号化タイトルと暗号化バージョン情報とに復号アルゴリズムＤ２を施し、タイトルとバージョン情報とを生成する（ステップＳ２１３）。
【０１８３】
次に、生成したタイトルとバージョン情報とを基に、プログラム更新テーブル４２０からプログラム情報４２１を選択し、選択したプログラム情報４２１に含まれるプログラム鍵を読み出し（ステップＳ２１４）、通信暗号復号部４０１において、セッション鍵を用いて、読み出したプログラム鍵に暗号化アルゴリズムＥ３を施して暗号化プログラム鍵を生成する（ステップＳ２１５）。次に、選択したプログラム情報４２１を基にプログラムファイル４３１を読み出し（ステップＳ２１６）、読み出したプログラムファイル４３１と、生成した暗号化プログラム鍵とをインターネット２０を介して端末装置１００へ送信する（ステップＳ２１７）。
【０１８４】
端末装置１００は、プログラムファイルと暗号化プログラム鍵とを受信し、通信暗号復号部１０１において、セッション鍵を用いて、暗号化プログラム鍵に復号アルゴリズムＤ３を施しプログラム鍵を生成し（ステップＳ２２１）、生成したプログラム鍵と受信したプログラムファイルとを主記憶部１１０へ書き込む（ステップＳ２２２）。
次に、主記憶部１１０から、プログラムファイルに含まれる暗号化圧縮更新プログラムを読み出す（ステップＳ２２３）。次に、読み出した暗号化圧縮更新プログラムをハッシュ関数に代入してハッシュ値を算出する（ステップＳ２２６）。次に、プログラムファイルに含まれるチェックデータを読み出し、読み出したチェックデータと算出したハッシュ値とを比較する（ステップＳ２２７）。
【０１８５】
算出したハッシュ値と読み出したチェックデータとが一致すると（ステップＳ２２７のＹＥＳ）、検証の成功とし、ステップＳ２３０へ処理を移す。
算出したハッシュ値と読み出したチェックデータとが一致しなければ（ステップＳ２２７のＮＯ）、検証の失敗と判断し、ステップＳ２１０に戻って処理をやり直す。
検証が成功すると、更新制御部１０６は、プログラム鍵を用いて、暗号化圧縮更新プログラムに復号アルゴリズムＤ１を施して圧縮更新プログラムを生成する（ステップＳ２３０）。次に、圧縮更新プログラムに解凍アルゴリズムＺを施して、更新プログラムを生成し（ステップＳ２３１）、生成した更新プログラムをインストールする（ステップＳ２３２）。インストールが終了すると、主制御部１０７へアップデートの処理終了の制御信号を出力する。
【０１８６】
アップデートの処理終了の制御信号を受け取ると、主制御部１０７は、電源制御部１１５と電力供給部１１６とを介して電力供給を停止する（ステップＳ２３４）。
（２）端末装置１００及びサーバ装置４００によるＳＡＣ確立
端末装置１００とサーバ装置４００によるＳＡＣ確立の手順を図２５〜２６のフローチャートを用いて説明する。これは、図１３のステップＳ１１６、図１６のステップＳ１４５及び図２１のステップＳ２１０の詳細である。
【０１８７】
なお、このＳＡＣ確立方法は１例であり、他の認証方法、他の鍵共有方法を用いてもよい。以下の説明において、Ｇ（）を鍵生成関数、Ｙをシステム固有のパラメーターとし、Ｇ（ｘ，Ｇ（ｚ，Ｙ））＝Ｇ（ｚ，Ｇ（ｘ，Ｙ））の関係を満たすものとする。
端末装置１００は公開鍵証明書Ｃｅｒｔ＿Ａを読み出し（ステップＳ４０１）、サーバ装置４００へ送信する（ステップＳ４０２）。
【０１８８】
サーバ装置４００は、認証局の公開鍵ＰＫ＿ＣＡを用いて、受信した公開鍵証明書Ｃｅｒｔ＿Ａに含まれる認証局署名データＳｉｇ＿Ａに署名検証アルゴリズムＶを施して署名検証する（ステップＳ４０３）。検証結果が失敗の場合（ステップＳ４０４）、処理を終了する。
検証結果が成功の場合（ステップＳ４０４）、ＣＲＬを読み出し（ステップＳ４０５）、公開鍵証明書Ｃｅｒｔ＿Ａに含んで受け取ったシリアルＮｏが、読み出したＣＲＬに登録されているか否かを判断し（ステップＳ４０６）、登録されている判断すると（ステップＳ４０６）、処理を終了する。登録されていないと判断すると（ステップＳ４０６）、サーバ装置４００自身の公開鍵証明書Ｃｅｒｔ＿Ｂを読み出し（ステップＳ４０７）、端末装置１００に送信する（ステップＳ４０８）。
【０１８９】
端末装置１００は、公開鍵証明書Ｃｅｒｔ＿Ｂを受け取ると、認証局の公開鍵ＰＫ＿ＣＡを用いて、公開鍵証明書Ｃｅｒｔ＿Ｂに含まれる認証局の署名データＳｉｇ＿ＣＡに署名検証アルゴリズムＶを施して署名検証し（ステップＳ４０９）、検証結果が失敗であれば（ステップＳ４１０）、処理を終了する。検証結果が成功であれば（ステップＳ４１０）、ＣＲＬを読み出し、公開鍵証明書Ｃｅｒｔ＿Ｂに含まれるシリアルＮｏがＣＲＬに登録されているか否かを判断する（ステップＳ４１２）。登録されている判断すると（ステップＳ４１２）、処理を終了する。登録されていないと判断すると（ステップＳ４１２）、処理を継続する。
【０１９０】
サーバ装置４００は、乱数Ｃｈａ＿Ｂを生成し（ステップＳ４１３）、端末装置１００に生成した乱数Ｃｈａ＿Ｂを送信する（ステップＳ４１４）。
端末装置１００は、乱数Ｃｈａ＿Ｂを受け取ると、受け取った乱数Ｃｈａ＿Ｂに、端末装置１００の秘密鍵ＳＫ＿Ａを用いて、署名生成アルゴリズムＳを施して署名データＳｉｇ＿Ａを生成し（ステップＳ４１５）、生成した署名データＳｉｇ＿Ａをサーバ装置４００へ送信する（ステップＳ４１６）。
【０１９１】
サーバ装置４００は署名データＳｉｇ＿Ａを受け取ると、公開鍵証明書Ｃｅｒｔ＿Ａに含んで受け取った端末装置の公開鍵ＰＫ＿Ａを用いて、署名データＳｉｇ＿Ａに署名検証アルゴリズムＶを施して署名検証し（ステップＳ４１７）、検証結果が失敗であれば（ステップＳ４１８）、処理を終了する。検証結果が成功であれば（ステップＳ４１８）処理を継続する。
【０１９２】
端末装置１００は乱数Ｃｈａ＿Ａを生成し（ステップＳ４１９）、生成した乱数Ｃｈａ＿Ａをサーバ装置４００へ送信する（ステップＳ４２０）。
サーバ装置４００は、受け取った乱数Ｃｈａ＿Ａに、サーバ装置４００の秘密鍵ＳＫ＿Ｂを用いて、署名生成アルゴリズムＳを施し、署名データＳｉｇ＿Ｂを生成し（ステップＳ４２１）、生成した署名データＳｉｇ＿Ｂを端末装置１００へ送信する（ステップＳ４２２）。
【０１９３】
端末装置１００は、署名データＳｉｇ＿Ｂを受け取ると、公開鍵証明書Ｃｅｒｔ＿Ｂに含んで受け取った公開鍵ＰＫ＿Ｂを用いて、受け取った書名データＳｉｇ＿Ｂに署名検証アルゴリズムＶを施して、署名検証する（ステップＳ４２３）。署名検証の結果が、失敗であれば処理を終了する（ステップＳ４２４）。署名検証が成功であれば（ステップＳ４２４）、端末装置１００は、乱数「ａ」を生成し（ステップＳ４２５）、生成した乱数「ａ」を用いてＫｅｙ＿Ａ＝Ｇｅｎ（ａ，Ｙ）を生成し（ステップＳ４２６）、生成したＫｅｙ＿Ａをサーバ装置４００へ送信する。
【０１９４】
サーバ装置４００は、Ｋｅｙ＿Ａを受け取ると、乱数「ｂ」を生成し（ステップＳ４２８）、生成した乱数「ｂ」を用いてＫｅｙ＿Ｂ＝Ｇｅｎ（ｂ，Ｙ）を生成し（ステップＳ４２９）、生成したＫｅｙ＿Ｂを端末装置１００へ送信する（ステップＳ４３０）。
端末装置１００は、Ｋｅｙ＿Ｂを受け取ると、受け取ったＫｅｙ＿Ｂと、乱数「ａ」とからＫｅｙ＿ＡＢ＝Ｇｅｎ（ｂ，Ｋｅｙ＿Ｂ）＝Ｇｅｎ（ａ，Ｇｅｎ（ｂ，Ｙ））を生成する（ステップＳ４３２）。Ｋｅｙ＿ＡＢをセッション鍵として記憶する（ステップＳ４３４）。
【０１９５】
また、サーバ装置４００は、受け取ったＫｅｙ＿Ａと、生成した乱数「ｂ」とからＫｅｙ＿ＡＢ＝Ｇｅｎ（ｂ，Ｇｅｎ（ａ，Ｙ））を生成する（ステップＳ４３１）。生成したＫｅｙ＿ＡＢをセッション鍵として記憶する（ステップＳ４３３）。
以上のようにして、端末装置１００とサーバ装置４００の間でセッション鍵を共有し、ＳＡＣを確立する。
【０１９６】
１．７  まとめ
以上説明したように、本発明によると、コンピュータプログラムのアップデートの際、まず、端末装置１００に搭載されているマイクロプロセッサのクロック周波数から、アップデートの処理とコンテンツ再生の処理とを並行に行うことができるか否かを判断し、並行して処理可能であれば、即アップデートの処理を開始する。
【０１９７】
並行処理できないと判断すれば、アップデート処理に含まれるダウンロード、検証及びインストールそれぞれについて、利用者又は端末装置１００の生産メーカーによりあらかじめ許容時間を設定しておく。端末装置１００は、ダウンロード、検証及びインストールそれぞれに必要となる時間を算出し、設定された許容時間内にそれぞれの処理が終了するか否かを判断し、許容時間内に終了できると判断すると、即実行し、許容時間内に終了できないと判断すると、利用者が端末装置１００の利用を終えた後に実行する。
【０１９８】
このようにして、許容時間以上に時間の必要となる処理を後回しにすることで、利用者による、前記コンピュータプログラムの使用に影響を与えることなく、前記コンピュータプログラムのアップデートを行うことができる。
１．７  実施の形態１に関する変形例
以上、実施の形態１について、説明してきたが、本発明は、これに限るものではなく、以下のような実施の形態１に関する変形例も含む。
【０１９９】
（１）上記の実施の形態において、ＤＶＤ５００ｂ及び５００ｃに記憶されているバージョン情報５０５ｂ及び５００３ｃは、サーバ装置４００が記憶している最新バージョン情報と同一であることを想定している。
しかし、現実には、サーバ装置４００に記憶されている最新バージョン情報は、随時更新されるため、バージョン情報５０５ｂ及び５００３ｃが、サーバ装置４００の記憶している最新バージョン情報よりも古い世代を示しており、端末装置１００は、最新の更新プログラムを取得できない状態が発生する可能性がある。
【０２００】
このため、以下の（i）又は（ii）のようにして、最新の更新プログラムを取得するようにしてもよい。
（i）ＤＶＤ５００ｂが装着されている場合
ＤＶＤ５００ｂは、さらに、ＤＶＤ５００ｂ自身の発売日を記憶しており、端末装置１００は、ＤＶＤ５００ｂから発売日を読み出し、発売後一定期間が経過していると判断すると、無条件に上記の実施の形態においてＤＶＤ５００ａが装着された場合と同様にして、サーバ装置４００から最新の更新プログラムを取得する。
【０２０１】
（ii）ＤＶＤ５００ｃが装着されている場合
ＤＶＤ５００ｃは、さらに、ＤＶＤ５００ｃ自身の発売日を記憶しており、端末装置１００は、ＤＶＤ５００ｂから発売日を読み出し、発売後一定期間が経過していると判断すると、以下の（ａ）、（ｂ）又は（ｃ）ようにして最新の更新プログラムを取得する。
（ａ）バージョン情報１４４＜バージョン情報５０５ｃ
端末装置１００が記憶しているバージョン情報１４４とＤＶＤ５００ｃが記憶しているバージョン情報５０５ｃとを比較し、バージョン情報１４４がバージョン情報５０５ｃよりも古い世代を示していると判断すると、端末装置１００は、ハードディスクユニット１１１が記憶しているタイトル１４３とＤＶＤ５００ｃから読み出したバージョン情報５０５ｃを暗号化してサーバ装置４００へ送信する。
【０２０２】
サーバ装置４００は、上記の実施の形態と同様の手順で、受信したバージョン情報と自身が記憶している最新バージョン情報とを比較し、比較結果を端末装置１００へ送信する。  
端末装置１００は、受信した比較結果が１、つまりサーバ装置４００が記憶している最新バージョン情報がＤＶＤ５００ｃの記憶しているバージョン情報５０５ｃよりも新しい世代を示していると判断すると、サーバ装置４００から最新の更新プログラムを取得する。
【０２０３】
受信した比較結果が０、つまりサーバ装置４００が記憶している最新バージョン情報とＤＶＤ５００ｃの記憶しているバージョン情報５０５ｃが同一の世代を示していると判断すると、ＤＶＤ５００ｃから最新の更新プログラムを取得する。
（ｂ）バージョン情報１４４＝バージョン情報５０５ｃ
端末装置１００が記憶しているバージョン情報１４４とＤＶＤ５００ｃが記憶しているバージョン情報５０５ｃとを比較し、バージョン情報１４４とバージョン情報５０５ｃが同一の世代を示していると判断すると、ハードディスクユニット１１１からタイトル１４３を読み出し、読み出したタイトル１４３とバージョン情報１４４とを送信する。
【０２０４】
サーバ装置４００は、上記の実施の形態と同様にして、受信したバージョン情報１４４とサーバ装置４００自身が記憶している最新バージョン情報とを比較し比較結果を生成し、生成した比較結果を端末装置１００に送信する。
端末装置１００は、受信した比較結果を判別し、比較結果が１、つまりバージョン情報１４４がサーバ装置４００記憶している最新バージョン情報より古い世代を示している場合、サーバ装置４００から最新の更新プログラムを取得しアップデートを行う。
【０２０５】
受信した比較結果が０、つまりバージョン情報１４４とサーバ装置４００の記憶している最新バージョン情報の示す世代が同一であると判断すれば、そのままアップデートの処理を終了する。
（ｃ）バージョン情報１４４＞バージョン情報５０５ｃ
端末装置１００が記憶しているバージョン情報１４４とＤＶＤ５００ｃが記憶しているバージョン情報５０５ｃとを比較し、バージョン情報１４４がバージョン情報５０５ｃよりも新しい世代を示していると判断すると、上記の実施の形態においてＤＶＤ５００ａが装着された場合と同様にして、サーバ装置４００から最新の更新プログラムを取得する。
【０２０６】
（２）上記の実施の形態１において、端末装置１００にＤＶＤ５００ａが装着された場合、端末装置１００が自身の記憶しているコンテンツ視聴プログラムのバージョン情報をサーバ装置４００へ送信し、サーバ装置４００により、前記バージョン情報と最新バージョン情報との比較を行っているが、端末装置１００が、サーバ装置４００から最新バージョン情報を受信し、端末装置１００において、自身の記憶しているバージョン情報と受信した最新バージョン情報との比較を行うとしてもよい。
【０２０７】
（３）本発明において用いられるＤＶＤ５００ａ、５００ｂ又は５００ｃに、将来の更新プログラム開発完了日が記録されており、完了日になると、サーバ装置４００から新しい更新プログラムを取得するとしてもよい。
２．  実施の形態２
本発明に係る１個の実施の形態としてのアップデートシステム１１について説明する。
【０２０８】
２．１  アップデートシステム１１の構成
アップデートシステム１１は、図２６に示すように端末装置１１００、サーバ装置１４００、証明書管理装置６００から構成され、これらはインターネット２０を介して接続されている。以下の説明において、実施の形態１と同一の部分の説明は省略し、実施の形態１との相違点を中心に説明する。
【０２０９】
端末装置１１００は、実施の形態１の端末装置１００と同様に、映像及び音声からなるコンテンツを再生する手順を含むコンテンツ視聴プログラム及び前記プログラムの世代を示すバージョン情報を記憶しており、ＤＶＤが装着されると、前記プログラムに従って、コンテンツを再生する。
サーバ装置１４００は、前記コンテンツ視聴プログラムを新しい世代に更新するための更新プログラムを記憶しており、端末装置１１００からの要求に応じて更新プログラムを端末装置１１００へ送信する。
【０２１０】
端末装置１１００は、アップデートに先立って、アップデートの重要度を取得する。アップデートの重要度とは、現在端末装置１１００が記憶しているプログラムを最新の世代のものにアップデートすることの重要性を示すものである。例えば、現在記憶しているコンテンツ視聴プログラムのセキュリティ上の問題点を解決するための重要な改良を、最新の世代のプログラムが含んでいる場合、重要度が高い。また、最新の世代のプログラムは新たな追加機能を含んでいるが、現在記憶しているコンテンツ視聴プログラムであっても特に問題はない場合、重要度は低い。
【０２１１】
端末装置１１００は、記憶しているコンテンツ視聴プログラムをアップデートする際に、ＤＶＤに記録されているコンテンツの価値及び上記重要度に応じて、プログラムの更新のタイミングを決定する。本実施の形態では、コンテンツの新旧によってコンテンツの価値を判定し、新作のコンテンツは価値が高く、旧作のコンテンツは価値が低いとする。
具体的には、
Ａ．アップデートの重要性が低い場合は、コンテンツの新旧にかかわらず、アップデートに係る各プロセスの所要時間を算出し、算出した所要時間に応じて、各プロセスをすぐに行うか保留するかを決定する。
【０２１２】
Ｂ．アップデートの重要性は高いがコンテンツが旧作である場合、アップデートに係る各プロセスの所要時間を算出し、算出した所要時間に応じて、各プロセスをすぐに行うか保留するかを決定する。
Ｃ．アップデートの重要性が高く、かつ、コンテンツが新作である場合、所要時間にかかわらず、全てのプロセスをすぐに実行する。
【０２１３】
２．２  ＤＶＤ１５００ａ  、１５００ｂ及び１５００ｃ
端末装置１１００に装着されるＤＶＤには、ＤＶＤ１５００ａ、１５００ｂ及び１５００ｃの３種類あり、ＤＶＤ１５００ａ、１５００ｂ及び１５００ｃは、大容量のデータを記録することができる可搬型の光ディスク媒体である。
実施の形態１の場合と同様に、端末装置１１００に装着されるＤＶＤの種類により、端末装置１１００に記憶されているコンテンツ視聴プログラムの更新プログラムの取得方法が変わる。具体的には、実施の形態１において、端末装置１００に、ＤＶＤ５００ａ、５００ｂ及び５００ｃを装着した場合の更新プログラムの取得方法と同様であるので、説明を省略する。
【０２１４】
以下に、ＤＶＤ１５００ａ、１５００ｂ及び１５００ｃに記憶されている情報について、図２７を用いて説明する。
ＤＶＤ１５００ａは、コンテンツ５０１ａと作成日１５０２ａとを記憶している。コンテンツ５０１ａは、実施の形態１のＤＶＤ５００ａの記憶しているコンテンツ５０１ａと同一である。作成日１５０２ａは、コンテンツ５０１ａの作成日が「２００５年１月２４日」であることを示している。
【０２１５】
ＤＶＤ１５００ｂは、コンテンツ５０１ｂ、作成日１５０２ｂ、バージョン情報５０５ｂ及び更新データ表１５３０ｂを記憶している。コンテンツ５０１ｂとバージョン情報５０５ｂは、実施の形態１のＤＶＤ５００ｂの記憶しているコンテンツ５０１ｂとバージョン情報５０５ｂと同一であるので説明を省略する。作成日１５０２ｂは、コンテンツ５０１ｂの作成日が「２００５年１月２４日」であることを示している。
【０２１６】
更新データ表１５３０ｂは、複数の更新情報１５３１ｂ、１５３２ｂ・・・から構成され、各更新情報は、旧バージョン情報とプログラムサイズと重要度とから構成されている。
プログラムサイズは、暗号化圧縮更新プログラムの容量を示している。暗号化圧縮更新プログラムは、コンテンツ視聴プログラムを旧バージョン情報の示す世代から、バージョン情報５０５ｂの示す世代へ更新する手順を含む更新プログラムを圧縮し暗号化して生成されたものである。
【０２１７】
重要度は、旧バージョン情報の示す世代からバージョン情報５０５ｂの示す世代へのコンテンツ視聴プログラムのアップデートの重要性を示し、「１」又は「２」の何れかである。具体的に、重要度「２」は、例えば、旧バージョン情報の示す世代のコンテンツ視聴プログラムのセキュリティ上の問題点を、解決するための重要な改良をバージョン情報５０５ｂの示す世代のコンテンツ視聴プログラムが含んでいるため、旧バージョン情報の示す世代からバージョン情報５０５ｂの示す世代への更新の重要性が高いことを示す。重要度「１」は、例えば、旧バージョン情報の示す世代のコンテンツ視聴プログラムにはない新たな追加機能を、バージョン情報５０５ｂの示す世代のコンテンツ視聴プログラムが含んでいるが、旧バージョンのプログラムであっても特に問題はなく、更新の重要性が低いことを示す。
【０２１８】
ＤＶＤ１５００ｃは、コンテンツ５０１ｃ、作成日１５０２ｃ、プログラムファイル５０３ｃ及び更新重要度表１５３０ｃとを記憶しており、コンテンツ５０１ｃ、プログラムファイル５０３ｃは、実施の形態１のＤＶＤ５００ｃの記憶しているコンテンツ５０１ｃ及びプログラムファイル５０３ｃと同一であるので、ここでは説明を省略する。
作成日１５０２ｃは、コンテンツ５０１ｃの作成日が「２００５年１月２４日」であることを示している。更新重要度表１５３０ｃは、複数の重要度情報１５３１ｃ、１５３２ｃ・・・から構成され、各重要度情報は、旧バージョン情報と重要度とを含む。重要度は、旧バージョン情報の示す世代から、バージョン情報５０５ｃの示す世代への更新の重要性を示しており「２」又は「１」の値である。具体的には、ＤＶＤ５００ｂに記憶されている更新データ表１５３０ｂに含まれる重要度と同様である。
【０２１９】
なお、図示されていないが、ＤＶＤ１５００ａ、１５００ｂ及び１５００ｃは、自身が記憶しているコンテンツを再生するためのコンテンツ視聴プログラムを示すプログラム識別子を記憶している。
２．３  サーバ装置１４００
サーバ装置１４００は、図２８に示すように通信暗号復号部４０１、認証部４０２、通信部４０３、入力部４０５、制御部１４０７、情報記憶部１４１０及び表示部４１３から構成される。
【０２２０】
以下に、サーバ装置１４００を構成する各部について説明するが、通信暗号復号部４０１、認証部４０２、通信部４０３、入力部４０５及び表示部４１３の構成及び動作は、実施の形態１のサーバ装置４００を構成する通信暗号復号部４０１、認証部４０２、通信部４０３、入力部４０５及び表示部４１３と同様であるので、ここでは、改めて記載しない。
【０２２１】
（１）情報記憶部１４１０
情報記憶部１４１０は、図２８に示すように、コンテンツ記憶部４１２とプログラム記憶部１４１５から構成される。コンテンツ記憶部４１２は、実施の形態１のサーバ装置４００を構成する情報記憶部４１０に含まれるコンテンツ記憶部４１２と同一である。
プログラム記憶部１４１５は、プログラム更新テーブル１４２０と、プログラムフォルダＡＩ４３０、プログラムフォルダＢ４４０・・・を記憶している。プログラムフォルダＡＩ４３０及びプログラムフォルダＢ４４０は、実施の形態１のサーバ装置４００の有するプログラムフォルダＡＩ４３０及びプログラムフォルダＢ４４０と同一であるので、説明を省略する。
【０２２２】
プログラム更新テーブル１４２０は、図２９に示すように、複数のプログラム情報１４２１、１４２２、１４２３・・・から構成され、各プログラム情報は、タイトル、最新バージョン情報、更新日、更新パターン、ファイル名、保存場所、プログラムサイズ、プログラム鍵及び重要度から構成される。重要度以外の各項目は、実施の形態１のプログラム更新テーブル４２０を構成するプログラム情報に含まれるタイトル、最新バージョン情報、更新日、更新パターン、ファイル名、保存場所、プログラムサイズ及びプログラム鍵と同様であるので、説明を省略する。
【０２２３】
重要度は、更新パターンの示す更新の重要性を示しており、「２」は、重要性が高いことを示しており、「１」は、重要度が低いことを示している。例えば、プログラム情報１４２１は、更新パターン「３．０→４．５」と重要度「２」とを含んでいる。つまり、バージョン「３．０」からバージョン「４．５」の示す世代への更新は、例えば、セキュリティに関する欠陥の補完が含まれており、重要性が高いことを示している。
【０２２４】
ここで、プログラム更新テーブル１４２０に含まれる重要度は、ＤＶＤ１５００ｂの更新データ表１５３０ｂに含まれる重要度及びＤＶＤ１５００ｃに含まれる更新重要度表１５３０ｃに含まれる重要度と一致する。例えば、ＤＶＤ１５００ｂに記憶されている更新データ表１５３０ｂを構成する更新情報１５３１ｂは、旧バージョン情報「３．０」の示す世代からバージョン情報「４．５」の示す世代への重要度が「２」であることを示しており、これは、プログラム情報１４２１に含まれる重要度「２」と一致する。
【０２２５】
（２）制御部１４０７
制御部１４０７は、具体的には図示していないマイクロプロセッサ、ＲＡＭ及びＲＯＭから構成され、前記ＲＡＭ及びＲＯＭにはコンピュータプログラムが記憶されており、前記マイクロプロセッサが前記コンピュータプログラムに従って動作することにより、制御部４０７はその機能を達成する。
【０２２６】
制御部１４０７は、通信部４０３を介して端末装置１１００から、公開鍵証明書Ｃｅｒｔ＿Ａを受け取ると、受け取ったＣｅｒｔ＿Ａを認証部４０２へ出力し、ＳＡＣ確立を指示する。認証部４０２からＳＡＣ確立成功を示す制御信号を受け取る。
また、制御部１４０７は、通信部４０３を介して、端末装置１１００から暗号化タイトルと暗号化バージョン情報とを受信する。暗号化タイトルと暗号化バージョン情報とを受信すると、受信した暗号化タイトルと暗号化バージョン情報とを通信暗号復号部４０１に出力し、復号を指示する。次に、通信暗号復号部４０１からタイトルとバージョン情報を受け取る。
【０２２７】
プログラム更新テーブル１４２０を構成するプログラム情報のうち、受け取ったタイトルを含むプログラム情報を選択し、選択したプログラム情報から、最新バージョン情報を読み出し、読み出した最新バージョン情報と受け取ったバージョン情報とを比較する。
受け取ったバージョン情報が最新バージョン情報よりも古い世代を示していると、制御部１４０７は、プログラム更新テーブル１４２０において、受け取ったタイトルを含み、受け取ったバージョン情報が更新パターンの更新前のバージョン情報と一致するプログラム情報１４２１を選択し、選択したプログラム情報１４２１に含まれるプログラムサイズと重要度とを読み出し、読み出した重要度とプログラムサイズとを通信部４０３を介して、端末装置１１００へ送信する。
【０２２８】
受け取ったバージョン情報が読み出した最新バージョン情報と同一の世代を示していると、重要度「０」を生成する。ここで、重要度「０」は、端末装置１１００の備えるコンテンツ視聴プログラムが既に最新のものであり、更新の必要性が全くないことを示す。次に、生成した重要度「０」を、端末装置１１００へ送信する。
また、制御部１４０７は、端末装置１１００から、暗号化タイトルと暗号化バージョン情報とダウンロード要求とを受け取る。暗号化タイトルと暗号化バージョン情報とダウンロード要求とを受け取ると、受け取った暗号化タイトルと暗号化バージョン情報とを通信暗号復号部４０１に出力し、復号を指示する。次に、通信暗号復号部４０１から、タイトルとバージョン情報とを受け取り、受け取ったタイトルとバージョン情報を基に、プログラム更新テーブル１４２０からプログラム情報１４２１を選択し、選択したプログラム情報１４２１に含まれるプログラム鍵を読み出す。読み出したプログラム鍵を通信暗号復号部４０１に出力し、暗号化を指示する。
【０２２９】
次に、制御部１４０７は、通信暗号復号部４０１から暗号化プログラム鍵を受け取り、選択したプログラム情報１４２１に含まれるファイル名と保存場所から、プログラムファイル４３１を読み出す。次に、読み出したプログラムファイル４３１と暗号化プログラム鍵とを通信部４０３及びインターネット２０を介して端末装置１１００へ送信する。
２．４  端末装置
端末装置１１００は、図３０に示すように、通信暗号復号部１０１、認証部１０２、通信部１０３、入出力部１０４、外部操作受付部１０５、更新制御部１１０６、主制御部１０７、主記憶部１１０、ハードディスクユニット１１１、時間管理部１１２、映像生成部１１３、電源制御部１１５及び電力供給部１１６から構成される。
【０２３０】
以下に端末装置１１００を構成する各部について説明するが、更新制御部１１０６以外の各構成については、実施の形態１の端末装置１００と同一であるので、ここでは、更新制御部１１０６についてのみ説明する。
（１）更新制御部１１０６
更新制御部１１０６は、アップデート頻度「毎週月曜日」と新作期間「３ヶ月」とを記憶している。アップデー度頻度は、実施の形態１において説明した通りであるので、ここでは、説明を省略する。新作期間は、ＤＶＤに記憶されているコンテンツが新作であるか否かを判断する基準であり、作成日から「３ヶ月」を経過していないコンテンツは、新作であり保護価値が高く、作成日から「３ヶ月」を経過したコンテンツは、旧作であり保護価値が低い。
【０２３１】
更新制御部１１０６は、主制御部１０７からアップデート頻度の設定変更情報を受け取ると、記憶しているアップデート頻度を変更する。なお、アップデート頻度は、端末装置１１００の生産時に生産メーカーによって、設定されているとしてもよい。
（アップデートの開始）
更新制御部１１０６は、主制御部１０７から、アップデート開始を指示される。アップデート開始を指示されると、以下に説明する手順でコンテンツ視聴プログラムのアップデートの処理を行う。
【０２３２】
実施の形態１において、更新制御部１０６は、ダウンロード、検証、インストール、それぞれのプロセスに係る所要時間を算出し、算出した所要時間によって、各プロセスを即実行するか保留するかを判断している。これに加えて、実施の形態２の更新制御部１１０６は、アップデートの重要性とＤＶＤに記憶されているコンテンツ新旧とに応じて、アップデート処理の各プロセスを即行うか保留するかを判定する。以下に、更新制御部１１０６によるアップデートの手順を詳細に説明する。
【０２３３】
更新制御部１１０６は、主制御部１０７から、アップデート開始を指示されると主記憶部１１０の保留情報に、保留しているプロセスが無いことを示す「Ｅ」を書き込む。
次に、更新制御部１１０６は自身が記憶している端末装置１１００に搭載されているマイクロプロセッサのクロック周波数を読み出し、読み出したクロック周波数が４００ＭＨｚ以上であるか否かを判断し、判断結果に応じて並行フラグ「１」又は「０」を主記憶部１１０へ書き込む。並行フラグについては、実施の形態１において説明したとおりである。
【０２３４】
次に、更新制御部１１０６は入出力部１０４を介して、ＤＶＤが装着されているか否かを判断する。ＤＶＤが装着されていなければ、以下の（１−１）の処理を行う。ＤＶＤが装着されていれば、さらにＤＶＤの内容を確認し、ＤＶＤ１５００ａ、１５００ｂ又は１５００ｃのいずれのＤＶＤが装着されているかを確認し、装着されているＤＶＤに応じて、以下の（１−２）〜（１−４）のいずれかの処理を行う。
【０２３５】
（１−１）ＤＶＤが装着されていない場合
ＤＶＤが装着されていない場合、更新制御部１１０６は、主記憶部１１０に記憶されている並行フラグを読み出し、読み出した並行フラグが「１」であれば、主制御部１０７へ、並行処理可能を示す制御信号を出力する。並行フラグが「０」であれば、前記制御信号の出力は行わない。
【０２３６】
次に、更新制御部１１０６は、実施の形態１において説明した（i−ａ）〜（i−ｇ）の手順と同一の手順でアップデートの必要性の判定、ダウンロード時間の予測、ダウンロード、検証時間の予測、検証、インストール時間の予測、インストールの処理を行い、アップデート処理を完了又は保留する。なお、本実施の形態では、（i−ａ）において、サーバ装置１４００から、比較結果に代わって、重要度を受信し、受信した重要度が「０」であれば、比較結果が「０」の場合と同様に、アップデート終了を示す制御信号を主制御部１０７へ出力する。受信した重要度が「１」又は「２」であれば、比較結果が「１」の場合と同様に、並行フラグを判別し、並行フラグが「０」であれば、ダウンロード時間を算出する。
【０２３７】
（１−２）ＤＶＤ１５００ａが装着されている場合
更新制御部１１０６は、ＤＶＤ１５００ａから作成日１５０２ａを読み出す。次に、現在日時を取得し、取得した現在日時から読み出した作成日を減算して、作成日からの経過期間を算出する。算出した経過期間と更新制御部１１０６自身が記憶している新作期間「３ヶ月」とを比較し、経過期間が３ヶ月より長ければ、更新制御部１１０６は、上記の（１−１）と同様にして、アップデート処理を完了又は保留する。
【０２３８】
経過期間が３ヶ月以内である場合、更新制御部１１０６は、以下に説明する（１−２−ａ）重要度の取得、（１−２−ｂ）アップデートの開始、の手順でアップデートを完了させる。
（１−２−ａ）重要度の取得
更新制御部１１０６は、認証部１０２にＳＡＣ確立を指示する。認証部１０２からＳＡＣ確立成功を示す制御信号を受け取ると、ハードディスクユニット１１１からコンテンツ視聴プログラム１４２に含まれるタイトル１４３とバージョン情報１４４とを読み出し、読み出したタイトル１４３とバージョン情報１４４とを通信暗号復号部１０１へ出力し、暗号化を指示する。
【０２３９】
次に、更新制御部１１０６は、通信暗号復号部１０１から暗号化タイトルと暗号化バージョン情報とを受け取り、受け取った暗号化タイトルと暗号化バージョン情報とを通信部１０３を介してサーバ装置１４００へ送信する。
次に、更新制御部１１０６は、通信部１０３を介して、サーバ装置１４００から重要度又は、重要度とプログラムサイズとを受信する。
【０２４０】
ここで受信する重要度は「０」、「１」、「２」の何れかであり、「０」は、端末装置１１００の記憶しているコンテンツ視聴プログラムをアップデートする必要がないことを示し、「１」は、アップデートの必要はあるが、重要な変更事項を含まないアップデートであることを示す。「２」は、アップデートの必要性があり、重要な変更事項を含むことを示す。
【０２４１】
この場合、コンテンツ視聴プログラムが「適切である」とは、最新の世代であることを指す。
（１−２−ｂ）重要度に応じたアップデートの開始
受信した重要度が、「０」であれば、更新制御部１１０６は、主制御部１０７へ、アップデートの処理終了を示す制御信号を出力し、アップデートの処理を終了する。
【０２４２】
受信した重要度が「１」であれば、更新制御部１１０６は、主記憶部１１０に記憶されている並行フラグを読み出し、読み出した並行フラグが「１」であれば、主制御部１０７へ、並行処理可能を示す制御信号を出力する。並行フラグが「０」であれば、前記制御信号の出力は行わない。
次に、更新制御部１１０６は、実施の形態１の、（i−ｂ）〜（i−ｇ）において、説明した手順と同様の手順で、ダウンロード時間の予測、ダウンロード、検証時間の予測、検証、インストール時間の予測、インストールの処理を行う。
【０２４３】
これらの処理の詳細は、実施の形態１の更新制御部１０６の説明おいて、すでに説明しているので、ここでは改めて記載しない。
受信した重要度が「２」であれば、更新制御部１１０６は、認証部１０２へＳＡＣ確立を指示し、ＳＡＣ確立後、サーバ装置１４００へ暗号化タイトル、暗号化バージョン情報及びダウンロード要求をサーバ装置１４００へ送信し、サーバ装置１４００からプログラムファイルと暗号化プログラム鍵とを取得する。
【０２４４】
次に、更新制御部１１０６は、通信暗号復号部１０１へ暗号化プログラム鍵の復号を指示し、プログラム鍵を取得し、取得したプログラム鍵と受信したプログラムファイルを主記憶部１１０へ書き込む。
次に、更新制御部１１０６は、受信したプログラムファイルに含まれているチェックデータを検証し、検証が成功すると、暗号化圧縮更新プログラムに復号及び解凍を施して、更新プログラムを生成し、生成した更新プログラムをインストールする。インストールが終了すると、主制御部１０７へアップデートの完了を示す制御信号を出力する。
【０２４５】
ここで説明したダウンロードからインストールまでの一連の処理は、実施の形態１の、（９）更新制御部１０６の説明において、（Ａ−ａ）〜（Ａ−ｃ）に記載した手順と同様であるのでここでは簡単な説明に留める。
（１−３）ＤＶＤ１５００ｂが装着された場合
更新制御部１１０６は、ＤＶＤ１５００ｂから作成日１５０２ｂを読み出す。次に、現在日時を取得し、取得した現在日時から読み出した作成日を減算して、作成日からの経過期間を算出する。算出した経過期間と更新制御部１１０６自身が記憶している新作期間「３ヶ月」とを比較する。
【０２４６】
経過期間が３ヶ月より長ければ、更新制御部１１０６は、主記憶部１１０に記憶されている並行フラグを読み出す。読み出した並行フラグが「１」であれば、主制御部１０７へ、並行処理可能を示す制御信号を出力する。並行フラグが「０」であれば、前記制御信号の出力は行わない。
次に、更新制御部１１０６は、ＤＶＤ１５００ｂからバージョン情報５０５ｂを読み出し、読み出したバージョン情報５０５ｂとハードディスクユニット１１１に記憶されているバージョン情報１４４とを比較する。
【０２４７】
この場合、コンテンツ視聴プログラムが「適切である」とは、ＤＶＤに記憶されているバージョン情報の示す世代と同一であること又はＤＶＤに記憶されているバージョン情報の示す世代よりも新しい世代であることを指す。つまり、コンテンツの再生に適した世代のものであることを指す。
バージョン情報５０５ｂがバージョン情報１４４と同一の世代を示していると、更新制御部１１０６は、主制御部１０７へアップデート完了を示す制御信号を出力しアップデートの処理を終了する。
【０２４８】
バージョン情報５０５ｂがバージョン情報１４４よりも新しい世代を示していれば、更新制御部１１０６は、アップデートの各プロセスの所要時間に応じて、プログラムファイルのダウンロード、チェックデータの検証、更新プログラムのインストールの処理を実行又は保留する。ここでのダウンロードからインストールまでの処理手順については、実施の形態１の  （ii−ｂ）〜（ii−ｇ）に記載した手順と同一であるので、ごく簡単な説明に留める。
【０２４９】
経過期間が３ヶ月以下であれば、更新制御部１１０６は、ＤＶＤ１５００ｂからバージョン情報５０５ｂを読み出し、ハードディスクユニットからバージョン情報１４４を読み出し、両者を比較する。ＤＶＤ１５００ｂから読み出したバージョン情報５０５ｂがバージョン情報１４４より新しい世代を示していると、更新制御部１１０６は、ＤＶＤ１５００ｂに記憶されている更新データ表１５３０ｂを構成する更新情報のうち、読み出したバージョン情報１４４と一致する旧バージョン情報を含む更新情報１５３１ｂを選択し、選択した更新情報１５３１ｂからプログラムサイズと重要度を読み出し、これらを一時的に記憶する。
【０２５０】
ＤＶＤ１５００ｂから読み出したバージョン情報５０５ｂがバージョン情報１４４と同一の世代を示していると、更新制御部１１０６は、重要度「０」を生成する。
次に、生成した又は読み出した重要度に応じて、アップデートを行う。具体的には、上記の（１−２−ｂ）重要度に応じたアップデートにおいて説明した手順と同様であり、ＤＶＤ１５００ａをＤＶＤ１５００ｂと読み替えればよいので、ここでは説明を省略する。
（１−４）ＤＶＤ１５００ｃが装着された場合
更新制御部１１０６は、ＤＶＤ１５００ｃから作成日１５０２ｃを読み出す。次に、現在日時を取得し、取得した現在日時から読み出した作成日を減算して、作成日からの経過期間を算出する。算出した経過期間と更新制御部１１０６自身が記憶している新作期間「３ヶ月」とを比較する。
【０２５１】
経過期間が３ヶ月より長ければ、更新制御部１１０６は、主記憶部１１０に記憶されている並行フラグを読み出す。読み出した並行フラグが「１」であれば、主制御部１０７へ、並行処理可能を示す制御信号を出力する。並行フラグが「０」であれば、前記制御信号の出力は行わない。
次に、更新制御部１１０６は、実施の形態１の（iii−ａ）〜（iii−ｃ）に記載した手順で、アップデートの必要性の判定、インストール時間の予測及びインストールを行う。これらの処理手順については、実施の形態１において、記載したとおりであるので、ここでは説明を省略する。
【０２５２】
経過期間が３ヶ月以内であれば、更新制御部１１０６は、ＤＶＤ１５００ｃから、プログラムファイル５０３ｃ及び更新重要度表１５３０ｃを読み出す。次に、ハードディスクユニット１１１に記憶されているコンテンツ視聴プログラム１４２含まれるバージョン情報１４４を読み出し、読み出したプログラムファイル５０３ｃに含まれるバージョン情報５０５ｃとハードディスクユニット１１１から読み出したバージョン情報１４４とを比較する。
【０２５３】
この場合、コンテンツ視聴プログラムが「適切である」とは、ＤＶＤに記憶されているバージョン情報の示す世代と同一であること又はＤＶＤに記憶されているバージョン情報の示す世代よりも新しい世代であることを指す。
バージョン情報５０５ｃがバージョン情報１４４よりも新しい世代を示していれば、更新制御部１１０６は、読み出した更新重要度表１５３０ｃから、自身の記憶しているコンテンツ視聴プログラムを示すバージョン情報１４４と一致する旧バージョン情報を含む重要度情報を選択し、選択した重要度情報に含まれる重要度を抽出する。
【０２５４】
バージョン情報５０５ｃがバージョン情報１４４と同一の世代を示していれば、更新制御部１１０６は、更新制御部１１０６は、重要度「０」を生成する。
次に、更新制御部１１０６は、生成した、又は抽出した重要度に応じて、以下の処理を行う。
重要度が「０」であれば、主制御部１０７へ、アップデートの処理終了を示す制御信号を出力し、アップデートの処理を終了する。
【０２５５】
重要度が「１」であれば、更新制御部１１０６は、主記憶部１１０に記憶されている並行フラグを読み出し、並行フラグが「１」であれば、主制御部１０７へ並行可能を示す制御信号を出力する。並行フラグ「０」であれば、前記制御信号の出力は行わない。
次に、主制御部１０７の制御によりコンテンツの再生がされていないことを確認し、再生がされていれば、主記憶部１１０の保留情報に、インストールのプロセスを保留することを示す「Ｄ」を書き込み、ＤＶＤ１５００ｃから読み出したプログラムファイル１５０３ｃをハードディスクユニット１１１に書き込む。
【０２５６】
再生中でなければ、読み出したプログラムファイル５０３ｃに含まれるプログラムサイズを時間管理部１１２へ出力し、インストール時間を予測し、予測したインストール時間に応じて、インストールを実行又は保留をする。
インストール時間の予測からインストールの実行又は保留までの具体的な処理手順は、実施の形態１の更新制御部１０６の説明において、（iii−ｂ）及び（iii−ｃ）に記載したとおりであるので、ここでは簡単な説明に留める。
【０２５７】
重要度が「２」であれば、更新制御部１１０６は、読み出したプログラムファイル５０３ｃに含まれる圧縮更新プログラム５０６ｃに解凍アルゴリズムＺを施し、更新プログラムを生成する。生成した更新プログラムをインストールする。
インストールが完了すると、更新制御部１１０６は、アップデート完了を示す制御信号を主制御部１０７へ出力する。
（アップデートの再開）
更新制御部１１０６は、主制御部１０７から保留情報を受け取りアップデート再開を指示される。アップデートの再開を指示されると、受け取った保留情報に応じたプロセスから、アップデートの処理を再開し、アップデートを完了させる。
【０２５８】
具体的な処理手順は、実施の形態１と同様であるので、ここでは、説明を省略する。
２．５  動作
端末装置１１００の動作について、図３１〜３４のフローチャートを用いて説明する。
利用者による電源ボタンＯＮを示す操作指示情報を受け取ると（ステップＳ１１０１）、主制御部１０７の指示により、モニタ１２０にスタート画面３１０が表示される（ステップＳ１１０２）。利用者のボタン操作により、スタート画面３１０に表示される選択肢のうち、スタート３１１が選択されると（ステップＳ１１０３のＳＴＡＲＴ）、そのままステップＳ１１０９へ処理を移す。設定変更３１２が選択されると（ステップＳ１１０３の設定変更）、主制御部１０７は、設定変更画面３２０をモニタ１２０へ表示し（ステップＳ１１０４）、利用者によるアップデート頻度、通信速度又は各許容時間の設定変更の入力を受け付ける（ステップＳ１１０７）。主制御部１０７は、受け付けた設定変更を更新制御部１１０６又は時間管理部１１２に出力する。更新制御部１１０６は受け取った設定変更を基に記憶しているアップデート頻度を書き換え、時間管理部１１２は受け取った設定変更を元に記憶している通信速度２２０及び許容時間設定表２１５を書き換える。（ステップＳ１１０８）。
【０２５９】
次に、主制御部１０７は、更新制御部１１０６へアップデート開始を指示し、アップデート開始の指示を受けると、更新制御部１１０６は、主記憶部１１０に、保留しているプロセスが無いことを示す保留情報Ｅを書き込む（ステップＳ１１０９）。次に、端末装置１１００に搭載されているマイクロプロセッサのクロック周波数が４００ＭＨｚ以上であるか否かを判断する（ステップＳ１１１１）。クロック周波数が４００ＭＨｚ以上であれば、並行フラグ「１」を設定する（ステップＳ１１１４）。クロック周波数が４００ＭＨｚ未満であれば、並行フラグ「０」を設定する（ステップＳ１１１２）。
【０２６０】
次に、更新制御部１１０６は、入出力部１０４を介してＤＶＤの装着の有無を検出し、ＤＶＤが装着されていなければ（ステップＳ１１１６のＮＯ）、実施の形態１と同様に、アップデートの各プロセスにおける所要時間によるアップデートの制御を行う。具体的な、以後の端末装置の動作は、図１３のステップＳ１１０以降の処理と同様である。
ＤＶＤが装着されていれば（ステップＳ１１１６のＹＥＳ）、更新制御部１１０６は、入出力部１０４を介して、ＤＶＤから作成日を読み出し（ステップＳ１１１７）、読み出した作成日からの経過期間が、新作期間「３ヶ月」以内であるか否かを判断する（ステップＳ１１１９）。
【０２６１】
３ヶ月を超えている場合、更新制御部１１０６は、図１３のステップＳ１１０へ処理を移し、以後、所要時間によるアップデートの制御を行う。
経過期間が３ヶ月以内であり（ステップＳ１１１９のＹＥＳ）、装着されているＤＶＤが、ＤＶＤ１５００ａである場合（ステップＳ１１２１の１５００ａ）、更新制御部１１０６は、認証部１０２にＳＡＣ確立を指示する。
【０２６２】
認証部１０２は、サーバ装置１４００とセッション鍵を共有しＳＡＣを確立し、更新制御部１１０６にＳＡＣ確立成功を知らせる（ステップＳ１１２６）。
次に、更新制御部１１０６は、ハードディスクユニット１１１からコンテンツ視聴プログラム１４２のタイトル１４３とバージョン情報１４４とを読み出し（ステップＳ１１２７）通信暗号復号部１０１へ読み出したタイトル１４３とバージョン情報１４４を出力し、暗号化を指示する。通信暗号復号部１０１は、タイトル１４３とバージョン情報１４４を受け取り、セッション鍵を用いて、受け取ったタイトル１４３とバージョン情報１４４とに暗号化アルゴリズムＥ２を施し、暗号化タイトルと暗号化バージョン情報とを生成し、生成した暗号化タイトルと暗号化バージョン情報とを更新制御部１１０６へ出力する（ステップＳ１１２８）。
【０２６３】
次に、更新制御部１１０６は、通信暗号復号部１０１から受け取った暗号化タイトルと暗号化バージョン情報とをサーバ装置１４００へ送信する（ステップＳ１１３１）。
サーバ装置１４００の制御部１４０７は、インターネット２０を介して、端末装置１１００から暗号化タイトルと暗号化バージョン情報とを受信し、これらの復号を通信暗号復号部４０１へ指示する。通信暗号復号部４０１は、セッション鍵を用いて、受け取った暗号化タイトルと暗号化バージョン情報とに復号アルゴリズムＤ２を施し、タイトルとバージョン情報とを生成し、生成したタイトルとバージョン情報を制御部１４０７へ出力する（ステップＳ１１３２）。制御部１４０７は、受け取ったタイトルを基にプログラム更新テーブル1４２０最新バージョン情報を読み出し（ステップＳ１１３４）、読み出した最新バージョン情報と通信暗号復号部４０１により生成されたバージョン情報とを比較する（ステップＳ１１３６）。
【０２６４】
バージョン情報と最新バージョン情報とが同一の世代を示していれば（ステップＳ１１３６のＮＯ）、制御部１４０７は、重要度「０」を生成する（ステップＳ１１３７）。バージョン情報が最新バージョン情報よりも古い世代を示していれば（ステップＳ１１３６のＹＥＳ）、受け取ったタイトルとバージョン情報とを基に、プログラム更新テーブル１４２０からプログラム情報を選択し、選択したプログラム情報に含まれるプログラムサイズと重要度とを読み出す（ステップＳ１１３９）。
【０２６５】
次に、制御部１４０７は、読み出したプログラムサイズと重要度、又は、重要度のみをインターネット２０を介して端末装置１１００へ送信する（ステップＳ１１４１）。
端末装置１１００の更新制御部１１０６は、通信部１０３及びインターネット２０を介して、サーバ装置１４００からプログラムサイズと重要度、又は重要度を受信する。受信した重要度が「０」であれば（ステップＳ１１５１の「０」）、更新制御部１１０６は、主制御部１０７へアップデート終了を示す制御信号を出力する。
【０２６６】
アップデート終了を示す制御信号を受け取った主制御部１０７は、実施の形態１と同様に、利用者による操作の受付を開始する。これ以降の、端末装置１１００の具体的な動作は、図１９のステップＳ１９５以降の動作と同様であるので、ここでは、説明を省略する。
受信した重要度が「１」の場合（ステップＳ１１５１の「１」）、更新制御部１１０６は、主記憶部１１０から並行フラグを読み出し、読み出した並行フラグが「０」であれば、実施の形態１と同様に、アップデートの各プロセスの所要時間に応じたアップデートの制御を行う。以後の、端末装置１１００の動作は、図１６のステップＳ１３９以降の動作と同様であるので、ここでは、説明を省略する。
【０２６７】
読み出した並行フラグが「１」であれば、更新制御部１１０６は、並行処理可能を示す制御信号を主制御部１０７へ出力し、並行処理可能を示す制御信号を受け取った主制御部１０７は、図１９のステップＳ１９５へ処理を移す。
また、並行処理可能を示す制御信号を出力した後、更新制御部１１０６は、図１６のステップＳ１３９へ処理を移し、所要時間によるアップデートの制御を行う。
【０２６８】
受信した重要度が「２」であれば、更新制御部１１０６は、インターネット２０を介して、サーバ装置１４００へ暗号化タイトルと暗号化バージョン情報とダウンロード要求を送信し、サーバ装置１４００からプログラムファイルと暗号化プログラム鍵とをダウンロードする（ステップＳ１１５３）。
次に、更新制御部１１０６は、ダウンロードした暗号化プログラム鍵を、通信暗号復号部１０１へ出力して復号を指示し、通信暗号復号部１０１からプログラム鍵を受け取る（ステップＳ１１５６）。
【０２６９】
続いて、更新制御部１１０６は、ダウンロードしたプログラムファイルに含まれるチェックデータを検証し（ステップＳ１１５７）、検証が失敗であれば（ステップＳ１１５８のＮＯ）、ステップＳ１１５３へもどる。
検証が成功であると（ステップＳ１１５８のＹＥＳ）、更新制御部１１０６は、ダウンロードしたプログラムファイルに含まれる暗号化圧縮更新プログラムを復号及び解凍して更新プログラムを生成し、生成した更新プログラムをインストールする（ステップＳ１１５９）。インストールが完了すると、更新制御部１１０６は、アップデート完了を示す制御信号を主制御部１０７へ出力しアップデート処理を終了する。
【０２７０】
主制御部１０７は、アップデート完了を示す制御信号を受け取り、図１９のステップＳ１９５へ処理を移す。
ステップＳ１１２１において、ＤＶＤ１５００ｂが装着されていると判断すると、更新制御部１１０６は、ＤＶＤ１５００ｂからバージョン情報５０５ｂを読み出し（ステップＳ１１４４）、読み出したバージョン情報５０５ｂとハードディスクユニット１１１に記憶されているバージョン情報１４４とを比較する（ステップＳ１１４６）。ＤＶＤ１５００ｂから読み出したバージョン情報５０５ｂが、バージョン情報１４４よりも新しい世代を示している場合（ステップＳ１１４６のＹＥＳ）、更新制御部１１０６は、ＤＶＤ１５００ｂに記憶されている更新データ表１５３０ｂを構成する更新情報のうち、ハードディスクユニット１１１から読み出したバージョン情報１４４と一致する旧バージョン情報を含むものを選択し、選択した更新情報に含まれるプログラムサイズと重要度とを読み出し（ステップＳ１１４９）、ステップＳ１１５１へ処理を移す。
【０２７１】
ＤＶＤ１５００ｂから読み出したバージョン情報５０５ｂが、ハードディスクユニット１１１から読み出したバージョン情報１４４と同一の世代を示している場合（ステップＳ１１４６のＮＯ）、更新制御部１１０６は、重要度「０」を生成し（ステップＳ１１４７）、ステップＳ１１５１へ処理を移す。
ステップＳ１１２１において、ＤＶＤ１５００ｃが装着されていると判断すると、更新制御部１１０６は、入出力部１０４を介してＤＶＤ１５００ｃから、プログラムファイル５０３ｃと更新重要度表１５３０ｃとを読み出し（ステップＳ１１６６）、読み出したプログラムファイル５０３ｃに含まれるバージョン情報５０５ｃと、ハードディスクユニット１１１に記憶されているバージョン情報１４４とを比較する（ステップＳ１１６７）。バージョン情報５０５ｃがバージョン情報１４４よりも新しい世代を示している場合（ステップＳ１１６７のＹＥＳ）、読み出した更新重要度表１５３０ｃを構成する重要度情報のうち、ハードディスクユニット１１１から読み出したバージョン情報１４４と一致する旧バージョン情報を含むものを選択し、選択した重要度情報から重要度を抽出する（ステップＳ１１６８）。
【０２７２】
ハードディスクユニット１１１から読み出したバージョン情報１４４が、ＤＶＤ１５００ｃから読み出したプログラムファイル５０３ｃに含まれるバージョン情報５０５ｃの示す世代と同一の世代を示していれば（ステップＳ１１６７のＮＯ）、重要度「０」を生成する（ステップＳ１１６９）。
生成又は抽出した重要度が「０」であれば（ステップＳ１１７２の「０」）、更新制御部１１０６は、主制御部１０７へアップデート終了を示す制御信号を出力し、アップデートの処理を終了する。アップデート終了を示す制御信号を受け取った主制御部１０７は、利用者による操作の受付を開始する。以後の、端末装置１１００の動作は、図１９のステップＳ１９５以降の動作と同様である。
【０２７３】
重要度が「１」であれば（ステップＳ１１７２の「１」）、更新制御部１１０６は、主記憶部１１０から並行フラグを読み出す。読み出した並行フラグが「０」であれば（ステップＳ１１７３の「０」）、更新制御部１１０６は、実施の形態１の場合と同様に、所要時間によるアップデートの制御を行う。これ以後の、端末装置１１００の動作は、図１４ステップＳ２４３以降の動作と同一であるのでここでは、説明を省略する。
【０２７４】
並行フラグが「１」であれば（ステップＳ１１７３の「１」）、更新制御部１１０６は、並行処理可能を示す制御信号を主制御部１０７へ出力し、主制御部１０７は、ステップＳ１９５へ処理を移す。
また、並行処理可能を示す制御信号を出力した後、更新制御部１１０６は、ステップＳ２４３へ処理を移す。
【０２７５】
重要度が「２」であれば（ステップＳ１１７２の「２」）、更新制御部１１０６は、読み出したプログラムファイル５０３ｃに含まれる圧縮更新プログラム５０６ｃを解凍して更新プログラムを生成し（ステップＳ１１７６）、生成した更新プログラムをインストールする（ステップＳ１１７７）。
２．６  まとめ・効果
以上、説明してきたように、実施の形態２のアップデートシステム１１を構成する端末装置１１００は、装着されたＤＶＤに記憶されているコンテンツの新旧と、端末装置１１００が、現在記憶しているコンテンツ視聴プログラムの最新の世代へのアップデートの重要性とを基にアップデートのタイミングを決定する。
【０２７６】
コンテンツが新作でかつアップデート重要性が高い場合には、すぐにアップデートを実行する。
コンテンツが旧作の場合は、アップデートの重要性にかかわらず、アップデートの各プロセスの所要時間によって、各プロセスを即実行するか保留するかを決定する。
新作のコンテンツは、発売されてからの期間が短いため、今後の販売数が伸びるという潜在的価値がある。そのため、コンテンツを不正コピーや不正改ざんといった、不正利用から保護する価値が高い。
【０２７７】
従って、最新のコンテンツ視聴プログラムが、現在、端末装置１１００の記憶している世代のコンテンツ視聴プログラムのセキュリティ上の問題点を補うような重要な追加・変更事項を含んでおり、アップデートの重要性が高い場合は、実行装置１１００は、コンテンツを再生する前に、すぐに、アップデートを実行し、保護価値の高いコンテンツを安全に取り扱うことができる。このようにして、保護価値の高いコンテンツについては、コンテンツの管理者の権利の保護を優先する。
【０２７８】
逆に、旧作のコンテンツは、すでに、発売されてから期間が経過しているため、ある程度、需要が満たされており、今後の販売数の伸びは小さく、保護価値が低いと考えられる。
コンテンツの保護価値が低い場合、又は、アップデートの重要性が低い場合は、アップデートの各プロセスの所要時間に応じて、アップデートを保留し、利用者の利便性を優先する。
【０２７９】
このようにして、アップデートのタイミングの決定に、コンテンツの新旧と、アップデートの所要時間とを加味することで、コンテンツの権利者の権利保護と利用者の利便性との調整を図ることができる。
２．７  実施の形態２に関する変形例
以上、実施の形態２について、説明してきたが、本発明は、これに限るものではなく、以下のような実施の形態２に関する変形例も含む。
【０２８０】
（１）実施の形態２では、ＤＶＤに記録されているコンテンツの新旧と、アップデートの重要性によって、アップデートをすぐに実行するか否かを判断したが、コンテンツの新旧に代わって、コンテンツの画質によって判断しても良い。
ここでは、端末装置１１００は、ＤＶＤのみならず、ハイブリットディスクから情報を読み取ることができる。
【０２８１】
ハイブリットディスクは、８．５ギガバイトの容量のＤＶＤ層と２５ギガバイトのブルーレイ層とを備える多層構造の光ディスクであり、ＤＶＤ層には低画質（ＳＤ映像）のコンテンツが記録されており、ブルーレイ層には、高画質（ＨＤ映像）のコンテンツが記録されている。ＤＶＤ層に記録されているコンテンツとブルーレイ層に記録されているコンテンツは、同一内容のものである。
【０２８２】
主制御部１０７は、ハイブリットディスクが装着された場合には、ブルーレイ層に記録されている高画質のコンテンツを読み出し、再生する。
更新制御部１１０６は、アップデート開始を指示されると、入出力部１０４を介して、装着されているディスクの内容を確認し、ＨＤ映像のコンテンツが記憶されているか否かを判別する。ＳＤ映像のコンテンツのみ記憶されていれば、実施の形態１と同様にして、アップデートの各プロセスの所要時間に応じて、アップデートを完了又は保留する。
【０２８３】
ＨＤ映像のコンテンツが記録されていれば、装着されているディスク又はサーバ装置１４００から重要度を取得し、重要度が「２」であれば、コンテンツの再生に先立ってアップデートを完了する。
（３）また、コンテンツの新旧に代わって、コンテンツのヒット度によって判断しても良い。ヒット度とは、コンテンツの人気の度合いを示す値であり、一例として、コンテンツを記録したＤＶＤの売り上げ枚数である。
【０２８４】
この変形例において、ＤＶＤには、コンテンツと対応するコンテンツ識別子が記憶されている。
サーバ装置１４００は、コンテンツ識別子とコンテンツ識別子の示すコンテンツのヒット度とを対応付けて記憶している。
端末装置１１００の更新制御部１１０６は、予めヒット基準値「２０，０００」を記憶している。アップデートの開始に先立って、コンテンツのタイトル、コンテンツ識別子及びヒット度の送信要求をサーバ装置１４００へ送信する。
【０２８５】
サーバ装置１４００は、コンテンツのタイトルとコンテンツ識別子とヒット度送信要求とを受信すると、受信した識別子と対応するヒット度をインターネット２０を介して、端末装置１１００へ送信する。
端末装置１１００の更新制御部１１０６は、サーバ装置１４００からヒット度を受信する。受信したヒット度がヒット基準値「２０，０００」未満であれば、実施の形態１と同様に、アップデートに係る各プロセスの所要時間に応じたアップデートの制御を行う。
【０２８６】
受信したヒット度がヒット基準値「２０，０００」以上であれば、装着されているＤＶＤ又はサーバ装置１４００から重要度を取得し、取得した重要度が「２」であれば、コンテンツの再生に先立って、アップデートを完了させる。
（４）ヒット度は、販売枚数に限らず、ラジオ局へのリクエスト数、放送回数などであってもよいし、これらを総合的に数値化したものでも良い。
【０２８７】
（５）実施の形態２では、コンテンツ視聴プログラムのアップデートの必要性の有無だけでなく、アップデートの重要性も、アップデートのタイミングの判定の要素となっているが、これは、必ずしも必須ではない。
端末装置１１００にＤＶＤ１５００ａが装着されている場合、実施の形態１と同様にサーバ装置１４００は、最新バージョン情報と端末装置１１００から受信したバージョン情報を比較し、比較の結果に応じて比較結果を生成して、端末装置１１００に送信する。
【０２８８】
端末装置１１００は、サーバ装置１４００から比較結果を受信し、受信した比較結果が「１」であれば、ＤＶＤに記憶されているコンテンツの新旧のみにより、アップデートのタイミングを決定する。
端末装置１１００にＤＶＤ１５００ｂ又はＤＶＤ１５００ｃが装着されている場合も、ＤＶＤに記憶されているバージョン情報と端末装置１１００の記憶しているバージョン情報とを比較し、前者の示す世代が後者の示す世代よりも新しければ、アップデートの必要があると判断し、ＤＶＤに記憶されているコンテンツの新旧により、アップデートのタイミングを決定する。
【０２８９】
（６）上記の実施の形態２では、サーバ装置１４００が、最新バージョン情報と端末装置１１００の記憶しているコンテンツ視聴プログラムの世代を示すバージョン情報とを比較しているが、端末装置１１００がこの比較を行っても良い。
この場合、端末装置１１００は、サーバ装置１４００へ、暗号化タイトルのみを送信する。
【０２９０】
サーバ装置１４００は、受信した暗号化タイトルを復号してタイトルを生成し、生成したタイトルと対応する最新バージョン情報を端末装置１１００へ送信する。
端末装置１１００は、受信した最新バージョン情報と自身が記憶しているバージョン情報とを比較し、最新バージョン情報が、自身の記憶しているバージョン情報よりも新しい世代を示していると、次に、インターネット２０を介して、サーバ装置１４００へ、暗号化タイトルと暗号化バージョン情報とを送信し、重要度とプログラムサイズとを要求する。
【０２９１】
（７）実施の形態２では、ＤＶＤにコンテンツの作成日が記録されており、端末装置１１００自身が、コンテンツの新旧とアップデートの重要性に基づいて、アップデートのタイミングを決定している。
これに代わって、サーバ装置１４００が、アップデート必要性の有無及びアップデートのタイミングを判断し、端末装置１１００に指示しても良い。
【０２９２】
この場合、ＤＶＤには、作成日に代わってコンテンツをと対応するコンテンツ識別子が記録されている。なお、ここでは、端末装置１１００に装着されるＤＶＤは１５００ａのように、コンテンツ及びコンテンツ識別子のみが記録されているとする。
サーバ装置１４００は、予め、図３５に示すようなコンテンツテーブル１４７０を記憶している。コンテンツテーブル１４７０は、複数のコンテンツ情報１４７１、１４７２、１４７３・・・から構成されている。各コンテンツ情報は、コンテンツ識別子と作成日と新作期限とを含む。作成日はコンテンツ識別子の示すコンテンツの作成された日を示しており、新作期限は、コンテンツ識別子の示すコンテンツが新作であるか否かを判定する基準となる日付である。
【０２９３】
端末装置１１００の更新制御部１１０６は、アップデート開始を指示されるとＤＶＤからコンテンツ識別子を読み出し、ハードディスクユニット１１１からコンテンツ視聴プログラムのタイトルとバージョン情報とを読み出し、読み出したコンテンツ識別子とコンテンツ視聴プログラムのタイトルとバージョン情報とを、インターネット２０を介してサーバ装置１４００へ送信する。
【０２９４】
サーバ装置１４００の制御部１４０７は、インターネット２０を介して、端末装置１１００からコンテンツ識別子とタイトルとバージョン情報とを受信する。
コンテンツテーブル１４７０において、受信したコンテンツ識別子と一致するコンテンツ識別子を含むコンテンツ情報を選択し、選択したコンテンツ情報に含まれる新作期限を読み出し、読み出した新作期限と現在日時とを比較する。
【０２９５】
また、制御部１４０７は、受信したタイトルと対応する最新バージョン情報と受信したバージョン情報とを比較し、受信したバージョン情報と読み出した最新バージョン情報とが同一の世代を示していれば、新作期限と現在日時との比較結果に関わらず、判定結果「０」を生成する。判定結果「０」は、端末装置１１００の有するコンテンツ視聴プログラムは既に最新のものであり、アップデートの必要がないことを示す。
【０２９６】
受信したバージョン情報が読み出した最新バージョン情報よりも古い世代を示していれば、制御部１４０７は、プログラム更新テーブル１４２０において、受信したタイトルを含み、更新パターンの旧バージョン情報が受信したバージョン情報と一致するプログラム情報を選択し、選択したプログラム情報に含まれる重要度を読み出す。
読み出した重要度が「１」の場合、新作期限と現在日時との比較結果に関わらず、判定結果「１」を生成する。判定結果「１」は、アップデートは必要であるが、端末装置１１００において、設定されている許容時間と、アップデートの各プロセスの所要時間に応じてアップデートの各プロセスをすぐに実行するか保留するかを判断し、アップデートすれば良いことを示す。次に、選択したプログラム情報に含まれるプログラムサイズを読み出す。
【０２９７】
読み出した重要度が「２」で、かつ、新作期限が現在日時よりも先の日付を示していれば、判定結果「２」を生成する。判定結果「２」は、アップデートをすぐに行う必要があることを示している。
判定結果を生成し終えると、制御部１４０７は、インターネット２０を介して、端末装置１１００へ生成した判定結果（判定結果「１」の場合は、判定結果「１」とプログラムサイズ）を端末装置１１００へ送信する。
【０２９８】
端末装置１１００の更新制御部１１０６は、インターネット２０を介して、サーバ装置１４００から判定結果又は判定結果とプログラムサイズとを受信する。
受信した判定結果が「０」であれば、更新制御部１１０６は、アップデート終了を示す制御信号を主制御部１０７へ出力してアップデートの処理を終了する。
受信した判定結果が「１」であれば、受信したプログラムサイズを時間管理部１１２へ出力し、ダウンロード時間の予測を指示する。以下、実施の形態１と同様にして、アップデートに係る各プロセスの所要時間によって、アップデートの処理を完了又は保留する。
【０２９９】
受信した判定結果が「２」であれば、コンテンツ再生に先立って、アップデートを完了する。  
このように、コンテンツテーブル１４７０をサーバ装置１４００が記憶しており、アップデートのタイミングをサーバ装置１４００において、判定することで、後発的に新作期限を変更し、コンテンツの権利者の意思をコンテンツの保護に柔軟に反映させることができる。
【０３００】
例えば、新作期限を、レンタル解禁日、続編の発売日などに設定しておく。後発的に、これらの予定が変更になった場合、サーバ装置１４００の記憶している新作期限を変更し、状況の変化に柔軟に対応することができる。
３．  その他の変形例                                      
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【０３０１】
（１）上記の実施の形態１及び２において、並行処理不可の場合、ダウンロード時間、検証時間及びインストール時間について、時間の検討を行っているが、ＤＶＤ５００ｃ又は１５００ｃからプログラムファイルを読み出す読出時間、暗号化圧縮プログラムの復号時間及び圧縮プログラムの解凍時間についても同様に、あらかじめ許容時間を設定しておき、所要時間を算出し、算出した所要時間が許容時間内であるか否かの判定をしてもよい。
【０３０２】
読出時間、復号時間又は解凍時間が、それぞれの許容時間を超えていると判断すると、読み出し、復号又は解凍以降の処理を保留する。
（２）上記の実施の形態１及び２において、ダウンロード許容時間、検証許容時間及びインストール許容時間をそれぞれ設定しているが、ダウンロードからインストールまでを終了しアップデートを完了するまでの、アップデート許容時間を設定してもよい。
【０３０３】
このとき、時間管理部１１２は、更新制御部から受け取ったプログラムサイズから、ダウンロード時間、検証時間及びインストール時間をそれぞれ算出し、算出したダウンロード時間、検証時間及びインストール時間の和と、設定されたアップデート許容時間とを比較し、算出した和がアップデート許容時間以下であれば、直ちにアップデートを開始し、算出した和がアップデート許容時間を超えるときは、アップデートを保留するとしてもよい。
【０３０４】
（３）上記の（２）において、アップデート許容時間内に終了できる処理のみを行い、それ以外の処理を保留するとしてもよい。
具体的には、先ず、プログラムサイズをもとに、ダウンロード時間、検証時間及びインストール時間を算出する。
次に、アップデート許容時間と算出したダウンロード時間とを比較し、ダウンロード時間がアップデート許容時間を超えていれば、ダウンロード以降の処理を全て保留する。
【０３０５】
ダウンロード時間がアップデート許容時間内であれば、次に、ダウンロード時間と検証時間の和を算出し、アップデート時間と算出した和とを比較する。算出したダウンロード時間と検証時間の和がアップデート許容時間を超えていると判断すると、ダウンロードのみを即実行し、検証以降の処理を保留する。
算出したダウンロード時間と検証時間の和がアップデート許容時間内であれば、
次に、ダウンロード時間、検証時間及びインストール時間の和を算出し、算出した和とアップデート許容時間とを比較する。算出した和がアップデート許容時間を超えると判断すると、ダウンロードと検証とを即実行し、インストールを保留する。算出した和がアップデート許容時間内であれば、ダウンロードからインストールまでを行う。
【０３０６】
（４）上記の変形例（２）において、算出した和がアップデート許容時間を超えるときは、アップデートを中止するとしても良い。この場合、更新制御部は、中止した回数を計数するカウンタを備えており、アップデートを中止するたびにカウンタに１加算する。また、更新制御部は、猶予回数「３」を記憶している。
カウンタの値が猶予回数「３」と等しい場合は、上記の和の算出及びアップデート許容時間と和の比較は省略し、すぐにアップデートを実行する。
【０３０７】
（５）端末装置に装着されるＤＶＤにコンテンツと前記コンテンツを再生する手順を含むコンピュータプログラムが記憶されているとしてもよい。以下、コンテンツとコンピュータプログラムを記憶しているＤＶＤをＤＶＤ５００ｄと呼ぶ。
この場合、端末装置１００は、自身が記憶しているコンテンツ視聴プログラム１４２のバージョン情報１４４にかかわらず、ＤＶＤ５００ｄに記憶されているプログラムを読み出し、インストールする。
【０３０８】
その際に、インストール時間を算出し、算出結果がインストール許容時間内であれば直ちにインストールし、インストール許容時間を超えるときは、インストールを保留する。
（６）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０３０９】
（７）実施の形態１及び２で、更新制御部は、マイクロプロセッサのクロック周波数によって、並行フラグを設定しているが、予め、再生処理中のマイクロプロセッサの稼働率を算出しておき、稼働率が、所定値以下であれば、並行処理可能と判断して、並行フラグ「１」を設定しても良い。
（７）また、上記の実施の形態及び上記の変形例を組み合わせてもよい。
【０３１０】
（８）コンピュータプログラムを更新する内容が定義された更新プログラムの取得プロセス及び前記コンピュータプログラムの更新プロセスを少なくとも含むプログラム導入を経て、前記コンピュータプログラムを更新する端末装置であって、前記コンピュータプログラムに従ってユーザデータを処理する処理手段と、前記プログラム導入を構成する各プロセスの実行が、前記コンピュータプログラムに従った動作に支障を来すか否かを判断する支障判断手段と、前記支障判断手段により支障を来すと判断する場合に、当該プロセスの実行を保留し、支障を来さないと判断する場合に、当該プロセスを実行する通常実行手段とを備える。
【０３１１】
（９）前記端末装置は、さらに、前記更新プログラムによる更新を行うか否かを判断する更新判断手段を備え、前記支障判断手段は、前記更新判断手段により更新すると判断される場合に、前記プログラム導入を構成する各プロセスの実行が、前記コンピュータプログラムに従った動作に支障を来すか否かを判断する。
（１０）前記端末装置において、前記プログラム導入は、取得した前記更新プログラムの正当性の検証プロセス及び取得した前記更新プログラムの伸張プロセスの両方又はいずれか一方を含む。
【０３１２】
（１１）前記端末装置は、ネットワークを介して前記端末装置と接続されているサーバ装置は、前記更新プログラムをあらかじめ記録しており、前記通常実行手段は、前記取得プロセスを実行する場合、ネットワークを介して前記サーバ装置から前記更新プログラムを取得する。
（１２）前記端末装置は、前記コンピュータプログラムの世代を示す端末側プログラム版数を記憶しており、前記サーバ装置は、前記更新プログラムを用いた更新により新たに生成されるコンピュータプログラムの世代を示すサーバ側プログラム版数を記憶しており、前記更新判断手段は、前記端末側プログラム版数と前記サーバ側プログラム版数とを比較し、前記端末側プログラム版数により示される世代が、前記サーバ側プログラム版数により示される世代と一致する場合に、前記更新プログラムによる更新を行わないと判断し、前記端末側プログラム版数により示される世代が、前記サーバ側プログラム版数により示される世代より古い場合には、前記更新プログラムによる更新を行うと判断する。
【０３１３】
（１３）前記端末装置を構成する、前記更新判断手段は、定期的に前記比較を行う。
（１４）前記端末装置は、さらに、デジタル著作物であるコンテンツを記録している記録媒体が装着されたことを検出する検出手段と、前記記録媒体から前記コンテンツを読み出す読出手段とを備え、前記コンピュータプログラムは、前記コンテンツを再生する手順を含み、前記処理手段は、前記コンピュータプログラムに従って動作することにより、読み出された前記コンテンツを再生し、前記更新判断手段は、前記検出手段により前記記録媒体の装着が検出された場合に、前記比較を行う。
【０３１４】
（１５）前記記録媒体は、さらに、前記コンテンツの再生の際に従うコンピュータプログラムの世代を示す媒体版数を記録しており、前記読出手段は、さらに、前記記録媒体から前記媒体版数を読み出し、前記更新判断手段は、前記検出手段により前記記録媒体の装着が検出された場合に、前記比較に代えて、前記端末側プログラム版数と前記媒体版数とを比較し、前記端末側プログラム版数により示される世代が、前記媒体版数により示される世代と一致する場合に、前記更新プログラムによる更新を行わないと判断し、前記端末側プログラム版数により示される世代が、前記媒体版数により示される世代より古い場合には、前記更新プログラムによる更新を行うと判断する。
【０３１５】
（１６）記録媒体は、前記更新プログラムをあらかじめ記録しており、端末装置を構成する前記通常実行手段は、前記取得プロセスを実行する場合、前記記録媒体から前記更新プログラムを取得する。
（１７）前記端末装置は、前記コンピュータプログラムの世代を示す端末側プログラム版数を記憶しており、前記記録媒体は、前記更新プログラムを用いた更新により新たに生成されるコンピュータプログラムの世代を示す媒体版数を記憶しており、前記更新判断手段は、前記端末側プログラム版数と前記媒体版数とを比較し、前記端末側プログラム版数により示される世代が、前記媒体版数により示される世代と一致する場合に、前記更新プログラムによる更新を行わないと判断し、前記端末側プログラム版数により示される世代が、前記媒体版数により示される世代より古い場合には、前記更新プログラムによる更新を行うと判断する。
【０３１６】
（１８）前記端末装置を構成する前記更新判断手段は、定期的に前記比較を行う。
（１９）前記端末装置は、さらに、前記記録媒体が装着されたことを検出する検出手段を備え、前記更新判断手段は、前記検出手段により前記記録媒体の装着が検出された場合に、前記比較を行う。
（２０）前記端末装置を構成する前記支障判断手段は、前記プロセスの実行に要すると予測される予測時間と、所定時間とを比較し、前記予測時間が前記所定時間より長いと判断する場合に、支障を来すと判断する。
【０３１７】
（２１）前記端末装置を構成する前記支障判断手段は、前記取得プロセスの実行に要すると予測される前記予測時間と、前記所定時間とを比較する。
（２２）ネットワークを介して前記端末装置と接続されているサーバ装置は、前記更新プログラムをあらかじめ記録しており、前記端末装置を構成する前記通常実行手段は、前記取得プロセスを実行する場合、ネットワークを介して前記サーバ装置から前記更新プログラムを取得し、前記支障判断手段は、前記サーバ装置からの前記更新プログラムの取得に要すると予測される前記予測時間と、前記所定時間とを比較する。
【０３１８】
（２３）前記端末装置を構成する前記支障判断手段は、あらかじめサーバ装置との通信速度を記憶しており、前記通信速度を用いて、前記予測時間を算出する。
（２４）記録媒体は、前記更新プログラムをあらかじめ記録しており、前記端末装置を構成する前記通常実行手段は、前記取得プロセスを実行する場合、前記記録媒体から前記更新プログラムを取得し、前記支障判断手段は、前記記録媒体からの前記更新プログラムの読出しに要すると予測される前記予測時間と、前記所定時間とを比較する。
【０３１９】
（２５）前記端末装置を構成する前記支障判断手段は、あらかじめ記録媒体からの読出速度を記憶しており、前記読出速度を用いて、前記予測時間を算出する。
（２６）前記端末装置を構成する前記支障判断手段は、前記更新プロセスの実行に要すると予測される予測時間と、所定時間とを比較する。
（２７）前記端末装置は、マイクロプロセッサを内蔵し、前記マイクロプロセッサの速度性能を記憶しており、各手段は、前記マイクロプロセッサにより、動作し、前記支障判断手段は、前記速度性能を用いて、前記予測時間を算出する。
【０３２０】
（２８）前記端末装置を構成する前記支障判断手段は、利用者から前記所定時間の入力を受け付ける。
（２９）前記端末装置は、マイクロプロセッサを内蔵し、前記マイクロプロセッサの速度性能を記憶しており、各手段は、前記マイクロプロセッサにより、動作し、前記端末装置は、前記マイクロプロセッサの稼働率を算出し、前記支障判断手段は、前記稼働率が一定値以上の場合に、支障を来すと判断する。
【０３２１】
（３０）前記端末装置は、さらに、前記コンピュータプログラムに従った前記処理が終了したか否かを判断する終了判断手段と、前記終了判断手段により終了したと判断される場合に、保留されたプロセスが存在すれば、当該プロセスを実行する保留実行手段とを備える。
（３１）ネットワークを介して前記端末装置と接続されているサーバ装置は、前記更新プログラムをあらかじめ記録しており、前記保留実行手段は、前記取得プロセスを実行する場合、ネットワークを介して前記サーバ装置から前記更新プログラムを取得する。
【０３２２】
（３２）記録媒体は、前記更新プログラムをあらかじめ記録しており、前記端末装置を構成する前記保留実行手段は、前記取得プロセスを実行する場合、前記記録媒体から前記更新プログラムを取得する。
（３３）前記端末装置を構成する前記終了判断手段は、前記コンピュータプログラムによる処理の完了を検出し、前記完了を検出した場合に、前記コンピュータプログラムによる処理が終了したと判断する。
【０３２３】
（３４）前記端末装置を構成する前記終了判断手段は、利用者による端末装置の電源ｏｆｆの操作を検出し、前記操作を検出した場合に、前記コンピュータプログラムによる処理が終了したと判断する。
（３５）必要に応じて、コンピュータプログラムを更新する内容が定義された更新プログラムの取得プロセス及び前記コンピュータプログラムの更新プロセスを少なくとも含むプログラム導入を経て、前記コンピュータプログラムを更新する端末装置であって、前記コンピュータプログラムに従ってユーザデータを処理する処理手段と、前記更新プログラムによる更新を行うか否かを判断する更新判断手段と、前記更新判断手段により更新すると判断される場合に、前記プログラム導入を構成する各プロセスの実行が、前記コンピュータプログラムに従った動作に支障を来すか否かを判断する支障判断手段と、前記支障判断手段により支障を来すと判断する場合に、当該プロセスの実行を保留し、支障を来さないと判断する場合に、当該プロセスを実行する通常実行手段と、前記コンピュータプログラムに従った前記処理が終了したか否かを判断する終了判断手段と、前記終了判断手段により終了したと判断される場合に、保留されたプロセスが存在すれば、当該プロセスを実行する保留実行手段とを備える。
【０３２４】
（３６）コンピュータプログラムを更新する内容が定義された更新プログラムを端末装置へ送信するサーバ装置であって、前記更新プログラムを記憶している記憶手段と、前記端末装置からの要求に応じて、前記記憶手段から前記更新プログラムを読み出す読出手段と、読み出した前記更新プログラムを、ネットワークを介して接続された前記端末装置へ送信する送信手段とを備える。
【０３２５】
（３７）コンピュータ読み取り可能な記録媒体であって、コンピュータデータとコンピュータプログラムを識別するプログラム識別子とを記録しており、前記コンピュータプログラムは、前記コンピュータデータを処理するために適切なものである。
（３８）前記記録媒体に記録されているプログラム識別子は、前記コンピュータプログラムの世代を示すプログラム版数を含み、前記プログラム版数により世代が示されるコンピュータプログラムは、前記コンピュータデータを処理するために適切なものである。
【０３２６】
（３９）コンピュータ読み取り可能な記録媒体であって、コンピュータデータと更新プログラムとを記録しており、前記更新プログラムには、旧コンピュータプログラムを更新して、前記コンピュータデータを処理するために適切な新コンピュータプログラムを生成する内容が定義されている。
（４０）コンピュータプログラムを更新する内容が定義された更新プログラムの取得プロセス及び前記コンピュータプログラムの更新プロセスを少なくとも含むプログラム導入を経て、前記コンピュータプログラムを更新する端末装置で用いられる制御方法であって、前記コンピュータプログラムに従ってユーザデータを処理する処理ステップと、前記プログラム導入を構成する各プロセスの実行が、前記コンピュータプログラムに従った動作に支障を来すか否かを判断する支障判断ステップと、前記支障判断ステップにより支障を来すと判断する場合に、当該プロセスの実行を保留し、支障を来さないと判断する場合に、当該プロセスを実行する通常実行ステップとを含む。
【０３２７】
（４１）コンピュータプログラムを更新する内容が定義された更新プログラムの取得プロセス及び前記コンピュータプログラムの更新プロセスを少なくとも含むプログラム導入を経て、前記コンピュータプログラムを更新する端末装置で用いられる制御プログラムであって、前記コンピュータプログラムに従ってユーザデータを処理する処理ステップと、前記プログラム導入を構成する各プロセスの実行が、前記コンピュータプログラムに従った動作に支障を来すか否かを判断する支障判断ステップと、前記支障判断ステップにより支障を来すと判断する場合に、当該プロセスの実行を保留し、支障を来さないと判断する場合に、当該プロセスを実行する通常実行ステップとを含む。
【０３２８】
（４２）前記制御プログラムは、コンピュータ読み取り可能なプログラム記録媒体に記録されている。
【産業上の利用可能性】
【０３２９】
本発明は、コンピュータプログラムを利用者に提供する産業や、前記コンピュータプログラムを実行することができるコンピュータシステムを生産し、販売する産業において、経営的に、また継続的かつ反覆的に利用することができる。
【図１】
0004814090.tif 000002
【図２】
0004814090.tif 000003
【図３】
0004814090.tif 000004
【図４】
0004814090.tif 000005
【図５】
0004814090.tif 000006
【図６】
0004814090.tif 000007
【図７】
0004814090.tif 000008
【図８】
0004814090.tif 000009
【図９】
0004814090.tif 000010
【図１０】
0004814090.tif 000011
【図１１】
0004814090.tif 000012
【図１２】
0004814090.tif 000013
【図１３】
0004814090.tif 000014
【図１４】
0004814090.tif 000015
【図１５】
0004814090.tif 000016
【図１６】
0004814090.tif 000017
【図１７】
0004814090.tif 000018
【図１８】
0004814090.tif 000019
【図１９】
0004814090.tif 000020
【図２０】
0004814090.tif 000021
【図２１】
0004814090.tif 000022
【図２２】
0004814090.tif 000023
【図２３】
0004814090.tif 000024
【図２４】
0004814090.tif 000025
【図２５】
0004814090.tif 000026
【図２６】
0004814090.tif 000027
【図２７】
0004814090.tif 000028
【図２８】
0004814090.tif 000029
【図２９】
0004814090.tif 000030
【図３０】
0004814090.tif 000031
【図３１】
0004814090.tif 000032
【図３２】
0004814090.tif 000033
【図３３】
0004814090.tif 000034
【図３４】
0004814090.tif 000035
【図３５】
0004814090.tif 000036