JP4814090B2 - コンピュータプログラムの更新をするコンテンツ利用装置及び更新制御方法 - Google Patents

コンピュータプログラムの更新をするコンテンツ利用装置及び更新制御方法 Download PDF

Info

Publication number
JP4814090B2
JP4814090B2 JP2006519419A JP2006519419A JP4814090B2 JP 4814090 B2 JP4814090 B2 JP 4814090B2 JP 2006519419 A JP2006519419 A JP 2006519419A JP 2006519419 A JP2006519419 A JP 2006519419A JP 4814090 B2 JP4814090 B2 JP 4814090B2
Authority
JP
Japan
Prior art keywords
update
content
program
version information
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006519419A
Other languages
English (en)
Other versions
JPWO2005088452A1 (ja
Inventor
稔久 中野
基司 大森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2006519419A priority Critical patent/JP4814090B2/ja
Publication of JPWO2005088452A1 publication Critical patent/JPWO2005088452A1/ja
Application granted granted Critical
Publication of JP4814090B2 publication Critical patent/JP4814090B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00166Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software
    • G11B20/00181Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software using a content identifier, e.g. an international standard recording code [ISRC] or a digital object identifier [DOI]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00188Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised devices recording or reproducing contents to/from a record carrier
    • G11B20/00195Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised devices recording or reproducing contents to/from a record carrier using a device identifier associated with the player or recorder, e.g. serial numbers of playback apparatuses or MAC addresses
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00855Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of exchanging information with a remote server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、コンピュータプログラムの更新を行う更新処理技術に関する。
パーソナルコンピュータやDVDプレーヤーなどで用いられるコンピュータプログラムは、開発メーカーにより常に改良が重ねられており、コンピュータプログラムに不具合が発見されたり、新機能が追加される場合、更新用のプログラムがCD−ROMや、インターネットを利用して利用者に配布されている。
しかし、コンピュータプログラムの更新は、基本的には装置を有している利用者に任されているため、コンピュータプログラム中の重大な不具合が発見された場合、更新用のプログラムが利用者に配布されたとしても、利用者により装置に記憶されているコンピュータプログラムの更新がされないことがある。
コンピュータプログラムにより利用されるコンテンツの保護価値が高い場合は、特に、コンピュータプログラムを確実に更新し、不具合を含んだプログラムの悪用による不正利用から、コンテンツを保護する必要がある。
このような問題に対して、特許文献1では、ネットワークを介して端末装置と接続されたバージョンアップ管理サーバにより、端末装置のコンピュータプログラムの自動更新を行う技術が開示されている。この技術によると、前記バージョンアップ管理サーバは、前記コンピュータプログラムの更新用ファイルと最新バージョン情報とを記憶しており、端末装置は起動するたびに自身が記憶しているコンピュータプログラムのバージョン情報を前記バージョンアップ管理サーバに送信し、前記バージョンアップ管理サーバは、受信したバージョン情報と記憶している最新バージョン情報を比較し、必要に応じて更新ファイルを端末装置に送信する。端末装置は受信した更新ファイルをもとに、前記コンピュータプログラムを更新する。
特開2002-259128号公報 デジタル署名と暗号技術(ウォーウィック・フォード、マイケル・バウム著、1997年12月24日 株式会社ピアソン・エデュケーションによる出版)
しかし、上記のような更新方法では、利用者がコンピュータプログラムを使用しコンテンツ再生などをしようとする時に更新が行われると、更新が終了するまで利用者は待たなければならず、利用者にとって不便である。
この問題を解決するために、本発明は、価値の高いコンテンツの保護と利用者の利便性の調整を図りつつ、確実にコンピュータプログラムの更新を行うコンテンツ利用装置、更新制御方法及び更新制御プログラムを提供することを目的とする。
上記の課題を解決するために、本発明は、コンテンツ記録媒体に記録されているコンテンツを利用するコンテンツ利用装置であって、コンテンツの利用を制御するコンピュータプログラムを記憶している記憶手段と、利用対象のコンテンツの新旧、品質又はヒット度を示す価値を取得し、取得した価値が一定基準を満たすか否かを判断する価値判断手段と、前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いか否かを判断することにより、前記記憶手段に記憶されている前記コンピュータプログラムが、前記コンテンツに適切でないか否かを判断する適性判断手段と、前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いと判断されることにより、前記コンピュータプログラムが適切でないと判断される場合、利用対象の前記コンテンツの価値が一定基準を満たすときに、前記コンテンツの利用に先立って、前記記憶手段に記憶されている前記コンピュータプログラムを、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代と同一又はより新しい世代の適切なコンピュータプログラムに更新する更新手段とを備えることを特徴とする。
この構成では、適性判断手段が、前記コンピュータプログラムが適切でないと判断し、かつ、価値判断手段が利用対象のコンテンツの価値が一定基準を満たすと判断された場合、前記更新手段は、前記コンテンツの利用に先立って、前記コンピュータプログラムの更新をする。従って、利用対象のコンテンツの価値が高い場合は、前記コンテンツの利用の前に、前記コンピュータプログラムの更新を行うため、前記コンテンツ利用装置は、前記コンピュータプログラムの不具合が解消された後に、前記コンテンツを安全に利用することができる。
ここで、コンテンツの価値は、コンテンツの新旧、品質又はヒット度を示し、当該コンテンツの商業的価値及び技術的価値を含む。また、適性判断手段は、前記コンピュータプログラムが、最新である場合、適切であると判断する。又は、前記コンピュータプログラムの版数が、コンテンツの指定する版数と同一又はコンテンツの指定する版数よりも新しい世代を示している場合、適切であると判断する。
前記コンテンツ利用装置を構成する前記更新手段は、さらに、前記コンピュータプログラムが適切でない場合、利用対象の前記コンテンツの価値が一定基準を満たさないときに、前記コンテンツの利用後に、又は空き時間に、前記記憶手段に記憶されている前記コンピュータプログラムを、適切なコンピュータプログラムに更新することを特徴とする。
この構成によると、前記コンピュータプログラムが適切でなく、前記コンテンツの価値が一定基準を満たさないとき、前記更新手段は、前記更新よりも前記コンテンツの利用を優先する。従って、この場合、利用者を、前記更新が終了するまで待たせることはなく、利用者にとっての利便性を向上させることができる。
さらに、前記更新手段は、前記コンテンツの利用後又は空き時間に前記コンピュータプログラムを更新するため、当該コンテンツ利用装置は、利用者の利便性を向上させつつ、確実に前記コンピュータプログラムの更新を実行することができる。
本発明において、前記価値判断手段は、前記価値を示す情報として、前記コンテンツが制作された制作時期を取得し、取得した前記制作時期が、現時点から所定期間内であれば、取得した価値が一定基準を満たすと決定し、取得した前記制作時期が、現時点から所定期間よりも前であれば、取得した価値が一定基準を満たさないと決定することを特徴とする。
作成からの経過期間が所定期間内の新作は、今後の、販売数の伸びが期待できるため、商業的価値が高く、保護する価値が高いと考えられる。この構成では、前記価値判断手段は、前記コンテンツの製作時期が、現時点より所定期間内であれば、価値が一定基準を満たすと判断し、前記コンテンツの利用に先立って、前記コンピュータプログラムを更新するため、保護価値の高いコンテンツを保護することができる。
本発明において、前記価値判断手段は、前記価値を示す情報として、前記コンテンツの市場における販売数量を取得し、取得した前記販売数量が、所定値以上であれば、取得した価値が一定基準を満たすと決定し、所定値未満であれば、取得した価値が一定基準を満たさないと決定することを特徴とする。
例えば、地域や国ごとに、発売日をずらして、コンテンツを販売するような場合、先に発売を開始された地域での、販売数量が多ければ、後に発売される地域でもある程度の販売数量が期待できる。従って、このような場合を想定すると、販売数量の多いコンテンツは保護価値が高いと考えられる。
上記の構成では、前記価値判断手段は、前記コンテンツの市場における販売数量によって、前記コンテンツの価値を判断するので、販売数量の多いコンテンツを保護することができる。
前記コンテンツ利用装置を構成する前記価値判断手段は、前記価値を示す情報として、前記コンテンツの品質を取得し、取得した前記品質が、所定値以上であれば、取得した価値が一定基準を満たすと決定し、所定値未満であれば、取得した価値が一定基準を満たさないと決定することを特徴とする。
例えば、コンピュータプログラムの欠陥により、コンテンツが盗聴された場合、利用対象となっているコンテンツが、高画質(HD映像)であれば、このコンテンツを単に複製しただけのコピーコンテンツだけでなく、この高画質コンテンツを低画質に変換し、変換後のコンテンツを低画質のコンテンツしか再生できない機器で利用するといった多様な不正使用が考えられる。すなわち、高画質のコンテンツは、保護を厚くすることで、防止できる不正も多様である。
この構成では、前記価値判断手段は、前記コンテンツの品質によって、前記コンテンツの価値を判断し、一定基準を満たせば、前記更新手段は、前記コンテンツの利用に先立って、前記コンピュータプログラムを更新するため、高品質のコンテンツを優勢的に保護することができる。
前記コンテンツ利用装置を構成する前記更新手段は、前記コンピュータプログラムを更新する内容が定義された更新プログラムを取得し、取得した更新プログラムを用いて、前記記憶手段に記憶されている前記コンピュータプログラムを更新することを特徴とする。
この構成では、前記更新手段は、前記更新プログラムに定義された内容に従って、前記コンピュータプログラムを正確に更新することができる。
ネットワークを介して前記コンテンツ利用装置に接続されているサーバ装置は、前記更新プログラムをあらかじめ記録しており、前記コンテンツ利用装置に含まれる前記更新手段は、ネットワークを介して前記サーバ装置から前記更新プログラムを取得することを特徴とする。
前記更新プログラムは、前記サーバ装置に記憶されている前記更新プログラムは、前記コンピュータプログラムの開発メーカーなどにより、新しく更新プログラムが作成されるたびに随時変更・追加され。従って、上記の構成によると、前記コンテンツ利用装置は最新の常に更新プログラムを取得することができる。
前記コンテンツを記録しているコンテンツ記録媒体は、前記更新プログラムをあらかじめ記録しており、前記コンテンツ利用装置において、前記更新手段は、前記コンテンツ記録媒体から前記更新プログラムを読み出すことにより、取得することを特徴とする。
この構成によると、前記更新手段は、前記記録媒体から、迅速に前記更新プログラムを取得することができる。また、前記コンテンツ利用装置が、ネットワークに接続できない場合でも、前記記録媒体から、容易に前記更新プログラムを取得することができる。
前記コンテンツ利用装置は、さらに、前記コンテンツを記録しているコンテンツ記録媒体が装着されたことを検出する検出手段を備え、前記価値判断手段及び適性判断手段は、それぞれ、前記コンテンツ記録媒体が装着されたことが検出された場合に、判断を行うことを特徴とする。
この構成では、前記記録媒体が装着されると、前記価値判断手段と前記適性判断手段は、判断を行う。そのため、前記コンピュータプログラムが適切でなく、前記コンテンツの価値が一定基準を満たす場合、更新前のコンピュータプログラムによって、前記コンテンツが利用されることはない。従って、価値の高いコンテンツを確実に保護することができる。
本発明のコンテンツ利用装置において、前記更新手段は、少なくとも前記更新プログラムの取得プロセス及び前記コンピュータプログラムの更新プロセスを含むプログラム導入を経て、前記コンピュータプログラムを更新し、前記更新手段は、前記コンピュータプログラムが適切でない場合、利用対象の前記コンテンツの価値が一定基準を満たさないときに、前記プログラム導入を構成する各プロセスの実行が、前記コンピュータプログラムに従ったコンテンツの利用動作に支障を来すか否かを判断する支障判断部と、前記支障判断部により支障を来すと判断する場合に、当該プロセスの実行を保留し、支障を来さないと判断する場合に、当該プロセスを実行する第1実行部と、前記コンピュータプログラムに従ったコンテンツの利用動作が終了したか否かを判断する終了判断部と、前記終了判断部により終了したと判断される場合に、保留されたプロセスが存在すれば、当該プロセスを実行する第2実行部とを含むことを特徴とする。
上記の構成によると、前記第1実行部は、支障を来たすと判断された場合、当該プロセスを保留する。さらに、前記第2実行部は、前記終了判断部により、終了したと判断される場合に保留されているプロセスを実行する。これにより、前記更新手段は、前記コンピュータプログラムの動作に支障を与えること無く、確実に前記コンピュータプログラムを更新することができる。
前記コンテンツ利用装置において、前記プログラム導入は、取得した前記更新プログラムの正当性の検証プロセス及び取得した前記更新プログラムの伸張プロセスの両方又はいずれか一方を含むことを特徴とする。
当該コンテンツ利用装置は、前記正当性の検証プロセスにより、正当な前記更新プログラムを取得することができる。また、前記更新プログラムを圧縮しておくことで、前記更新プログラムを効率よく取得することができる。
前記コンテンツ利用装置に含まれる前記支障判断部は、前記プロセスの実行に要すると予測される予測時間と、所定時間とを比較し、前記予測時間が前記所定時間より長いと判断する場合に、支障を来すと判断することを特徴とする。
これにより、利用者は、前記プロセス実行のために前記所定時間以上に、前記コンピュータプログラムの実行を待たされることはない。
また、前記支障判断部は、前記取得プロセスの実行に要すると予測される前記予測時間と、前記所定時間とを比較することを特徴とする。
この構成により、利用者は、前記取得プロセスの実行のために前記所定時間以上に前記コンピュータプログラムの実行を待たされることはない。
前記コンテンツ利用装置に含まれる前記支障判断部は、前記更新プロセスの実行に要すると予測される予測時間と、所定時間とを比較することを特徴とする。
この構成により、利用者は、前記更新プロセスの実行のために前記所定時間以上に前記コンピュータプログラムの実行を待たされることはない。
前記コンテンツ利用装置は、マイクロプロセッサを内蔵し、各手段は、前記マイクロプロセッサにより、動作し、前記コンテンツ利用装置は、前記マイクロプロセッサの稼働率を算出し、前記支障判断部は、前記稼働率が一定値以上の場合に、支障を来すと判断することを特徴とする。
この構成により、前記コンテンツ利用装置は、前記プログラム導入による影響を受けずに、前記コンピュータプログラムを実行することができる。
本発明において、前記終了判断部は、前記コンピュータプログラムによる処理の完了を検出し、前記完了を検出した場合に、前記コンピュータプログラムによる処理が終了したと判断することを特徴とする。
この構成により、前記コンテンツ利用装置は、前記プログラム導入による影響を受けずに、前記コンピュータプログラムを実行することができる。また、前記コンピュータプログラムによる処理が完了した後に、前記プログラム導入を実行することで、確実に前記コンピュータプログラムを更新することができる。
また、前記終了判断部は、利用者による前記コンテンツ利用装置の電源offの操作を検出し、前記操作を検出した場合に、前記コンピュータプログラムによる処理が終了したと判断する。
これにより、前記コンテンツ利用装置は、前記コンピュータプログラムの実行中に、前記プログラム導入の影響を受けることはない。また、電源off後に、確実に前記コンピュータプログラムを更新する。
本発明は、コンテンツの価値を提供するサーバ装置であって、コンテンツの価値を記憶している記憶手段と、コンテンツの価値判断の要求元からコンテンツの識別子を受信する受信手段と、受信した識別子により識別されるコンテンツの価値を読み出し、読み出した価値が一定基準を満たすか否かを判断する価値判断手段と、判断結果を要求元に送信する送信手段とを備えることを特徴とする。
この構成によると、前記サーバ装置は、コンテンツの価値を記憶しており、コンテンツの価値判断の要求元から受信した識別子により識別されるコンテンツの価値が一定基準を満たすか否かを判断し、判断結果を前記要求元へ送信する。そのため、前記要求元は、前記サーバ装置から前記判断結果を受信し、受信した判断結果に基づいて、前記コンピュータプログラムの更新を制御することができる。
また、この構成では、前記サーバ装置がコンテンツの価値を記憶している。従って、コンテンツの発売又は配布後に、コンテンツの価値が変動する場合にも、柔軟に対応することができる。
アップデートシステム10の構成を表す構成図である。 DVD500a、500b及び500cに記憶されているプログラム及びデータの構成を示す構成図である。 サーバ装置400の構成を示す図である。 プログラム記憶部415に記憶されているデータの一例を示している。 プログラム更新テーブル420の詳細を示している。 認証部402の構成を示す図である。 端末装置100の構成を示す図である。 主記憶部110に記憶されているプログラム及びデータの一例を示している。 ハードディスクユニット111に記憶されているプログラム及びデータの一例を示している。 認証部102の構成を示す図である。 端末装置100の起動時にモニタ120に表示される画面の一例を示している。 時間管理部112の構成を示す図である。 端末装置100の動作を示すフローチャートである。 端末装置100の動作を示すフローチャートである。図13から続く。 端末装置100の動作を示すフローチャートである。図13から続く。 端末装置100の動作を示すフローチャートである。図13から続く。 端末装置100の動作を示すフローチャートである。図13から続く。 端末装置100の動作を示すフローチャートである。図13から続く。 端末装置100の動作を示すフローチャートである。図13から続く。 端末装置100の動作を示すフローチャートである。図13から続く。 端末装置100の動作を示すフローチャートである。図13から続く。 端末装置100の動作を示すフローチャートである。図13から続く。 端末装置100の動作を示すフローチャートである。図13から続く。 端末装置100とサーバ装置400間でのSAC確立の動作を示すフローチャートである。 端末装置100とサーバ装置400間でのSAC確立の動作を示すフローチャートである。図24から続く。 アップデートシステム11の構成を表す構成図である。 DVD1500a、1500b及び1500cに記憶されているプログラム及びデータの構成を示す構成図である。 サーバ装置1400の構成を示すブロック図である。 プログラム更新テーブル1420の詳細を示す。 端末装置1100の構成を示すブロック図である。 端末装置1100による動作を示すフローチャートである。 端末装置1100による動作を示すフローチャートである。図31から続く。 端末装置1100による動作を示すフローチャートである。図31から続く。 端末装置1100による動作を示すフローチャートである。図31から続く。 コンテンツテーブル1470の詳細を示す。
符号の説明
10 アップデートシステム
20 インターネット
100 端末装置
101 通信暗号復号部
102 認証部
103 通信部
104 入出力部
105 外部操作受付部
106 更新制御部
107 主制御部
110 主記憶部
111 ハードディスクユニット
112 時間管理部
113 映像生成部
115 電源制御部
116 電力供給部
120 モニタ
400 サーバ装置
401 通信暗号復号部
402 認証部
403 通信部
405 入力部
407 制御部
410 情報記憶部
412 コンテンツ記憶部
413 表示部
415 プログラム記憶部
500a DVD
500b DVD
500c DVD
600 証明書管理装置
1100 端末装置
1400 サーバ装置
1.第1の実施の形態
本発明に係る1個の実施の形態としてのアップデートシステム10について説明する。
1.1 アップデートシステム10の構成
アップデートシステム10は、図1に示すように端末装置100、サーバ装置400、証明書管理装置600から構成され、これらはインターネットを介して接続されている。
端末装置100は、映像及び音声からなるコンテンツを再生する手順を含むコンテンツ視聴プログラム及び前記プログラムの世代を示すバージョン情報を記憶している。
前記コンテンツ視聴プログラムは、開発メーカーにより繰り返し改良が重ねられ、改良される都度、古い世代のコンテンツ視聴プログラムを新しい世代に更新するための更新プログラムが利用者に配布される。このように、最初にコンテンツ視聴プログラムが開発されてから、現時点における最新のコンテンツ視聴プログラムが開発されるまでには、複数の世代のコンテンツ視聴プログラムが存在し、各世代のコンテンツ視聴プログラムを識別するために、各世代を示すバージョン情報が用いられる。
前記コンテンツが記録されているDVD(Digital Versatile Disc)が装着されると、端末装置100は、コンテンツ視聴プログラムに従って、前記コンテンツを再生する。また、端末装置100は、インターネット20を介してサーバ装置400と接続されている。
サーバ装置400は、前記コンテンツ視聴プログラムを新しい世代に更新するための更新プログラムを記憶しており、端末装置100からの要求に応じて更新プログラムを端末装置100へ送信する。
端末装置100は、サーバ装置400からの前記更新プログラムのダウンロード、更新プログラムの正当性を確認する検証、及び前記更新プログラムのインストールからなる1連の処理を経て、内部に記憶しているコンテンツ視聴プログラムを更新する。
更新プログラムのダウンロードプロセス、検証プロセス及びインストールプロセスを含む1連の処理をアップデートと呼称する。ただし、更新プログラムを取得してくる相手先により、アップデートには、前記のプロセスに加えて取得した更新プログラムの検証プロセス及び圧縮された更新プログラムの解凍プロセスが加わる場合、また、ダウンロードプロセスが存在しない場合がある。
端末装置100は、前記更新プログラムによる更新を行うか否かを判断する。
更新すると判断される場合に、端末装置100は、ダウンロードに要する時間を算出する。
端末装置100は、内部に利用者又は端末装置100の生産メーカにより設定されたダウンロード許容時間、検証許容時間及びインストール許容時間を記憶しており、算出したダウンロード時間と、ダウンロード許容時間とを比較し、計算したダウンロード時間が許容時間以内であると判断すれば、即実行し、許容時間を超えていると判断すればダウンロード以降の処理を保留する。
正当性の検証及びインストールについても同様にして、算出した検証時間又はインストール時間と検証許容時間又はインストール許容時間とを比較し、保留するか即実行するかを決定する。
保留した処理は、例えば、利用者が前記コンテンツの視聴を終えてから実行する。
1.2 DVD500a、DVD500b及びDVD500c
端末装置100に装着されるDVDには、DVD500a、500b及び500cの3種類あり、DVD500a、500b及び500cは、大容量のデータを記録することができる可搬型の光ディスク媒体である。
端末装置100に装着されるDVDの種類により、端末装置100に記憶されているコンテンツ視聴プログラムの更新プログラムの取得方法が変わる。
DVD500aが装着された場合は、端末装置100は、自身が記憶しているコンテンツ視聴プログラムのバージョン情報をサーバ装置400へ送信し、サーバ装置400は、送信されたバージョン情報とサーバ装置400が記憶している最新バージョン情報とを比較し、サーバ装置400に記憶されている最新バージョン情報の方が新しい場合には、サーバ装置400は、更新プログラムを送信し、端末装置100は、更新プログラムを受信する。
DVD500bが装着された場合は、端末装置100は、自身が記憶しているコンテンツ視聴プログラムのバージョン情報とDVD500bに記憶されているコンテンツ視聴プログラムのバージョン情報501bとを比較し、DVD500bに記憶されているバージョン情報501bの方が新しい場合には、端末装置100は、サーバ装置400から更新プログラムを取得する。
DVD500cが装着された場合は、端末装置100は、自身が記憶しているコンテンツ視聴プログラムのバージョン情報144とDVD500cに記憶されているバージョン情報501bとを比較し、DVD500cに記憶されているバージョン情報501bの方が新しい場合には、端末装置100は、DVD500cから更新プログラムを取得する。
ここで、DVD500a、500b及び500cに記憶されているプログラム及びデータの構成について、図2を用いて説明する。
DVD500aは、一例として映画などのコンテンツ501aを記憶している。
DVD500bは、コンテンツ501bとバージョン情報505b及びプログラムサイズ表530bとを記憶している。
バージョン情報505bは、コンテンツ501bの再生に適した前記コンテンツ視聴プログラムの世代を示している。ここでは、バージョン情報505bは、サーバ装置400が記憶している最新バージョン情報と同一であるとする。
プログラムサイズ表530bは、複数のプログラムサイズ情報531b、532b・・・から構成され、各プログラムサイズ情報は、旧バージョン情報とプログラムサイズから構成されている。プログラムサイズは、暗号化圧縮更新プログラムの容量を示している。暗号化圧縮更新プログラムは、コンテンツ視聴プログラムを旧バージョン情報の示す世代から、バージョン情報505bの示す世代へ更新する手順を含む更新プログラムを圧縮し暗号化して生成されたものである。
DVD500cは、コンテンツ501cとプログラムファイル503cとを記録している。プログラムファイル503cには、バージョン情報505cと圧縮更新プログラム506c及びプログラムサイズ507cが含まれる。バージョン情報505cは、コンテンツ501cの再生に適したコンテンツ視聴プログラムの世代を示している。ここでは、バージョン情報505cは、サーバ装置400が記憶している最新バージョン情報と同一であるとする。
圧縮更新プログラム506cは、圧縮更新プログラムされた更新プログラムであり、更新プログラムは、端末装置100に記憶されているコンテンツ視聴プログラムをバージョン情報505cの示す世代に更新するのに適している。プログラムサイズ507cは、圧縮更新プログラムの容量を示している。
なお、図示されていないが、DVD500a、500b及び500cは、自身が記憶しているコンテンツを再生するためのコンテンツ視聴プログラムを示すプログラム識別子を記憶している。
1.3 サーバ装置400
サーバ装置400は、図3に示すように通信暗号復号部401、認証部402、通信部403、入力部405、制御部407、情報記憶部410及び表示部413から構成される。
(1)情報記憶部410
情報記憶部410はハードディスクユニットから構成され、コンテンツ記憶部412とプログラム記憶部415を含む。
コンテンツ記憶部412は、映画などの映像コンテンツを記憶している。
プログラム記憶部415は、一例として、図4に示すように、プログラム更新テーブル420と、プログラムフォルダAI430とプログラムフォルダB440を含む。
プログラムフォルダB440は、一例として、コンピュータプログラムの開発メーカーにより作成された更新プログラム441、445を記憶している。
プログラムフォルダAI430は、一例としてプログラムファイル431、435を記憶している。プログラムファイル431は、暗号化圧縮更新プログラム432と、チェックデータ433とから構成される。
暗号化圧縮更新プログラム432は、更新プログラム441に圧縮アルゴリズムPを施して生成された圧縮更新プログラムに、プログラム鍵を用いて暗号化アルゴリズムE1を施して生成する。暗号化アルゴリズムE1は一例として、DES(Data Encryption Standard)によるものである。DESについては公知の技術であるので説明を省略する。
チェックデータ433は、暗号化圧縮更新プログラム432をハッシュ関数に代入して生成される160バイトのハッシュ値から構成される。ハッシュ関数には、一例としてSHA−1を用いる。ハッシュ関数SHA−1については、公知の技術であるので説明を省略する。なお、上記の署名生成方法は1例であり、他の方法を用いてもよい。
プログラムファイル435は、更新プログラム445から生成された暗号化圧縮更新プログラム436とチェックデータ437とから構成される。
プログラム更新テーブル420は、図5に示すように、複数のプログラム情報421、422、423、・・・から構成され、それぞれのプログラム情報は、コンピュータプログラムのタイトル、各コンピュータプログラムの最新バージョン情報、更新日、更新パターン、各プログラムの各更新パターンに対応した更新用のプログラムファイルのファイル名、前記プログラムファイルの保存場所、プログラムファイルに含まれる暗号化圧縮更新プログラムのプログラムサイズ及び暗号化圧縮更新プログラムの生成に用いられたプログラム鍵から構成される。プログラムサイズの単位はメガバイトである。
(2)通信部403
通信部403は、インターネット20に接続されており、インターネット20に接続されている外部装置と、制御部407又は認証部402との間で情報の送受信を行う。
ここで、前記外部装置は、具体的には、端末装置100である。
(3)認証部402
認証部402は、図6に示すように、認証制御部471と内部メモリ472から構成される。
内部メモリ472は、ROM及びハードディスクから構成され、認証局において生成された認証局公開鍵PK_CA_473、公開鍵証明書Cert_B_480により証明される公開鍵と対になるサーバ秘密鍵SK_B_474、CRL(CertificateRevocationList)475、認証局から発行されたサーバ装置400の公開鍵PK_B_489を証明する公開鍵証明書Cert_B_480を記憶している。
公開鍵証明書Cert_B_480は、認証局の証明書管理装置600により発行されたものであり、一例としてITU(International Telecommunication Union)により勧告されたX509バージョン1の形式に従って作成されている。公開鍵証明書Cert_B_480」は、X.509署名形式の世代を示す証明書形式481、証明書に固有に割り当てられたシリアルNo482、認証局署名データ490を生成するために用いられた署名アルゴリズムを判別する署名アルゴリズム識別子483、公開鍵証明書Cert_B480を発行した認証局の識別名である認証局名484、公開鍵証明書Cert_B_480の有効期限485、公開鍵証明書Cert_B_480により証明される公開鍵と対になる秘密鍵の保有者の識別名である主体者名486、公開鍵証明書Cert_B_480により証明される公開鍵PK_B_489と公開鍵PK_B_489を用いた署名生成に使われる署名アルゴリズム識別子488とを含む主体者鍵情報487及び認証局署名データ490から構成される。X.509バージョン1形式については、非特許文献1に記載されており、公知であるので、詳細の説明を省略する。
認証制御部471は、毎日定刻に、通信部403を介して認証局指定のURLまたはディレクトリサービスからCRLを取得し、内部メモリ472内のCRL475を書き換える。
認証制御部471は、制御部407の端末装置100との通信に先だって、以下のようにして外部装置とセッション鍵を共有しSACを確立する。
なお、このSAC確立方法は1例であり、他のSAC確立方法を用いてもよい。
ここで、Gen()を鍵生成関数とし、Yをシステム固有のパラメータとする。鍵生成関数Gen()は、Gen(x,Gen(z,Y))=Gen(z,Gen(x,Y))の関係を満たすものとする。鍵生成関数は任意の公知技術で実施可能なため、詳細についてここでは説明しない。その1例として、非特許文献1及び非特許文献2に公開鍵配送法が開示されている。
認証制御部471は、通信部403を介して端末装置100から、公開鍵証明書Cert_Aを受け取り、制御部407からSAC確立の指示を受ける。まず、内部メモリ472から認証局公開鍵PK_CA_473を読み出し、読み出した認証局公開鍵PK_CA_473を用いて、受け取った公開鍵証明書Cert_Aに含まれる認証局署名データSig_CAに署名検証アルゴリズムVを施して署名検証する。検証結果が失敗の場合、認証制御部471は、SAC確立の処理を終了する。
検証結果が成功の場合、認証部471は、内部メモリ472からCRL475を読み出し、受け取った公開鍵証明書Cert_Aに含まれるシリアルNoが読み出したCRLに登録されているか否かを判断する。
登録されていると判断すると、認証部471は、SAC確立の処理を終了する。
登録されていないと判断する場合、認証制御部471は、内部メモリ472から公開鍵証明書Cert_B_480を読み出し、読み出した公開鍵証明書Cert_B_480を通信部403を介して端末装置100へ送信する。
次に、乱数Cha_Bを生成し、生成した乱数Cha_Bを通信部403を介して端末装置100へ送信する。
次に、認証制御部471は、通信部403を介して端末装置100から署名データSig_Aを受け取り、公開鍵証明書Cert_Aに含んで受け取った公開鍵PK_Aを用いて、受け取った署名データSig_Aに署名検証アルゴリズムVを施して署名検証し、検証結果が失敗の場合、SAC確立の処理を終了する。
次に、認証部471は、通信部403を介して、端末装置100から乱数Cha_Aを受信し、内部メモリ472からサーバ装置の秘密鍵SK_B_474を読み出し、読み出したサーバ装置の秘密鍵SK_B_474を用いて、受信した乱数Cha_Aに署名生成アルゴリズムSを施して署名データSig_Bを生成し、生成した署名データSig_Bを通信部403を介して端末装置100へ送信する。
次に、端末装置100から、鍵生成関数G()とシステム固有のパラメータYを用いて生成されたKey_Aを受け取る。
認証制御部471は、乱数「b」を生成し、生成した乱数「b」を用いてKey_B=Gen(b,Y)を生成する。次に、生成したKey_Bを、通信部403を介して端末装置100へ送信する。
次に、受け取ったKey_Aと乱数「b」を用いてセッション鍵Key_AB=Gen(b,Key_A)を生成する。
次に、生成したセッション鍵を通信暗号復号部401へ出力し、制御部407へSAC確立成功を示す制御信号を出力する。
(4)制御部407
制御部407は、具体的には図示していないマイクロプロセッサ、RAM及びROMから構成され、前記RAM及びROMにはコンピュータプログラムが記憶されており、前記マイクロプロセッサが前記コンピュータプログラムに従って動作することにより、制御部407はその機能を達成する。
制御部407は、通信部403を介して端末装置100から、公開鍵証明書Cert_Aを受け取ると、受け取ったCert_Aを認証部402へ出力し、SAC確立を指示する。認証部402からSAC確立成功を示す制御信号を受け取る。
また、制御部407は、通信部403を介して、端末装置100から暗号化タイトルと暗号化バージョン情報とを受け取る。これらの情報を受け取ると、受け取った暗号化タイトルと暗号化バージョン情報とを通信暗号復号部401に出力し、復号を指示する。通信暗号復号部401からタイトルとバージョン情報を受け取り、受け取ったタイトルを含むプログラム情報から最新バージョン情報を読み出し、読み出した最新バージョン情報と、受け取ったバージョン情報とを比較する。受け取ったバージョン情報と最新バージョン情報が同じ世代を示していると、比較結果「0」を生成する。
受け取ったバージョン情報が読み出した最新バージョン情報よりも古い世代を示していると、制御部407は、比較結果「1」を生成する。続いて、受け取ったタイトルを含み、受け取ったバージョン情報が更新パターンの更新前のバージョン情報と一致するプログラム情報421を選択し、選択したプログラム情報421に含まれるプログラムサイズを読み出し、読み出したプログラムサイズと生成した比較結果とを端末装置100へ送信する。
また、制御部407は、端末装置100から、暗号化タイトルと暗号化バージョン情報とダウンロード要求とを受け取ると、受け取った暗号化タイトルと暗号化バージョン情報とを通信暗号復号部401に出力し、復号を指示する。通信暗号復号部401から、タイトルとバージョン情報とを受け取ると、受け取ったタイトルとバージョン情報を基に、プログラム更新テーブル420からプログラム情報421を選択し、選択したプログラム情報に含まれるプログラム鍵を読み出し、読み出したプログラム鍵を通信暗号復号部401に出力し、暗号化を指示する。通信暗号復号部401から暗号化プログラム鍵を受け取ると、次に、制御部407は、選択したプログラム情報に含まれるファイル名と保存場所から、アップデート用のプログラムファイル431を読み出す。次に、読み出したプログラムファイル431と暗号化プログラム鍵とを通信部403を介して端末装置100へ送信する。
(5)通信暗号復号部401
通信暗号復号部401は、認証部402からセッション鍵を受け取り、受け取ったセッション鍵を記憶する。新しくセッション鍵を受け取ると、記憶しているセッション鍵を削除し、新しく受け取ったセッション鍵を記憶する。
通信暗号復号部401は、制御部407から暗号化タイトルと暗号化バージョン情報とを受け取り復号を指示されると、セッション鍵を用いて、受け取った暗号化タイトルと暗号化バージョン情報とに、復号アルゴリズムD2を施して、タイトルとバージョン情報とを生成し、生成したタイトルとバージョン情報とを制御部407へ出力する。
また、通信暗号復号部401は、制御部407からプログラム鍵を受け取り、暗号化を指示されると、セッション鍵を用いて受け取ったプログラム鍵に暗号化アルゴリズムE3を施して、暗号化プログラム鍵を生成し、生成した暗号化プログラム鍵を制御部407へ出力する。
ここで、復号アルゴリズムD2は、暗号化アルゴリズムE2による暗号化データを復号するアルゴリズムである。暗号化アルゴリズムE2、E3は一例として、DES(Data Encryption Standard)によるものである。DESについては公知の技術であるので説明を省略する。
(6)入力部405及び表示部413
入力部405は、サーバ装置400の操作者によるデータ又は指示の入力を受け付け、受け付けたデータ又は指示を制御部407へ出力する。
表示部413は、制御部407の制御の基に、各種情報を表示する。
1.4 端末装置100
端末装置100は、図7に示すように、通信暗号復号部101、認証部102、通信部103、入出力部104、外部操作受付部105、更新制御部106、主制御部107、主記憶部110、ハードディスクユニット111、時間管理部112、映像生成部113、電源制御部115及び電力供給部116から構成される。
端末装置100は、具体的には図示していないマイクロプロセッサ、RAM、ROMなどから構成される。前記RAM、ROM、主記憶部110及びハードディスクユニット111には、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、端末装置100は、その機能を達成する。
端末装置100は、図1に示すようにモニタ120と接続されている。また、端末装置100にはDVD500a、DVD500b又はDVD500cが装着される。
端末装置100は、装着されているDVDの有無及び装着されるDVDの種類により、内部に記憶しているコンテンツ視聴プログラムのアップデートの方法が異なる。
(i)DVDの装着無し又はDVD500aが装着されている場合
端末装置100は、サーバ装置400が記憶している最新バージョン情報と端末装置100が記憶しているコンテンツ視聴プログラムのバージョン情報との比較結果をサーバ装置400から取得する。
・比較結果が「1」、つまり、端末装置100の記憶しているバージョン情報がサーバ装置400の記憶している最新バージョン情報より古い世代であることを示していれば、サーバ装置400から更新プログラムを取得する。
・比較結果が「0」、つまり、端末装置100の記憶しているバージョン情報とサーバ装置400が記憶している最新バージョン情報とが同じ世代であることを示していればアップデートを行わない。
なお、サーバ装置400が記憶している最新バージョン情報は、コンテンツ視聴プログラムの開発メーカーにより管理され随時更新され、端末装置100の記憶しているバージョン情報がサーバ装置400の記憶している最新バージョン情報より新しい世代を示すことはありえないものとする。
この場合、コンテンツ視聴プログラムが「適切である」とは、最新の世代であることを指す。
(ii)DVD500bが装着されている場合
端末装置100は、DVD500bが記憶しているバージョン情報505bと端末装置100が記憶しているコンテンツ視聴プログラムのバージョン情報とを比較する。
・比較結果が、端末装置100の記憶しているバージョン情報がDVD500bの記憶しているバージョン情報505bより古い世代であることを示していれば、サーバ装置400から更新プログラムを取得する。
・比較結果が、端末装置100の記憶しているバージョン情報とDVD500bが記憶しているバージョン情報505bとが同じ世代であることを示していればアップデートを行わない。
この場合、コンテンツ視聴プログラムが「適切である」とは、DVDに記憶されているバージョン情報の示す世代と同一であること又はDVDに記憶されているバージョン情報の示す世代よりも新しい世代であることを指す。つまり、コンテンツの再生に適した世代であることを指す。
なお、DVD500bが記憶しているバージョン情報505bはサーバ装置400が記憶している最新バージョン情報と同一であり、端末装置100の記憶しているバージョン情報がDVD500bの記憶しているバージョン情報505bの記憶している最新バージョン情報より新しい世代を示すことはありえないものとする。
(iii)DVD500cの場合
端末装置100は、DVD500cが記憶しているバージョン情報505cと端末装置100が記憶しているコンテンツ視聴プログラムのバージョン情報とを比較する。
・比較結果が、端末装置100の記憶しているバージョン情報がDVD500cの記憶しているバージョン情報505cより古い世代であることを示していれば、DVD500cから更新プログラムを取得する。
・比較結果が、端末装置100の記憶しているバージョン情報とDVD500cの記憶しているバージョン情報505cとが同じ世代であることを示していればアップデートを行わない。
この場合、コンテンツ視聴プログラムが「適切である」とは、DVDに記憶されているバージョン情報の示す世代と同一であること又はDVDに記憶されているバージョン情報の示す世代よりも新しい世代であることを指す。
ただし、端末装置100に記憶されているコンテンツ視聴プログラムのバージョン情報によって、必要となる更新プログラムが異なるため、DVD500cは様々な場合を想定した更新プログラムを用意している必要がある。例えば、Ver.1.0からVer.4.0への更新プログラム、Ver.2.0からVer.4.0への更新プログラム、Ver.3.0からVer.4.0への更新プログラムなどである。DVDの容量には限りがあるため、この方法は現実的ではない。本実施の形態では、DVD500cには、端末装置100に記憶されているコンテンツ視聴プログラムの更新に適した更新プログラムが記憶されており、端末装置100の記憶しているバージョン情報が、DVD500cの記憶しているバージョン情報505cの記憶している最新バージョン情報より新しい世代を示すことはありえないものとする。(i)〜(iii)の詳細は後述する。
(1)電力供給部116
電力供給部116は、外部電源(コンセントなど)に接続されており、電源制御部115から電力供給の指示を受け、端末装置100を構成する各部へ電力供給を開始し、電力供給停止の指示を受けると、各部への電力供給を停止する。
(2)入出力部104
入出力部104は、主制御部107の制御により、DVD500a、DVD500b又はDVD500cからコンテンツ501a、501b又は501cを読み出し、読み出したコンテンツ501a、501b又は501cを主制御部107へ出力する。
また、入出力部104は、更新制御部106の制御により、DVD500bからバージョン情報505bを読み出し、読み出したバージョン情報505bを更新制御部106へ出力する。
また、入出力部104は、更新制御部106の制御により、DVD500cからプログラムファイル503cを読み出し、読み出したプログラムファイル503cを更新制御部106へ出力する。
(3)外部操作受付部105
外部操作受付部105は、利用者による再生ボタンなどの押下を検出する。前記押下を検出すると、検出したボタンに対応する操作指示情報を主制御部107へ出力する。
(4)主記憶部110及びハードディスクユニット111
主記憶部110は、RAMから構成され、一例として図8に示すよう保留情報131、コンテンツ視聴プログラム132及び並行フラグ133を記憶している。
保留情報131は、アップデートの進行状態が、ダウンロード、検証及びインストールの全てが保留されている状態、検証及びインストールが保留されている状態、復号及びインストールが保留されている状態、インストールのみが保留されている状態、いずれのプロセスも保留されていない状態のうち、いずれの状態であるかを示す。「A」は、ダウンロード、検証及びインストールの全てが保留されている状態を示している。「B]は、検証及びインストールが保留されている状態、復号及びインストールが保留されている状態を示している。「C」は、復号及びインストールが保留されている状態を示しており、「D」は、インストールのみが保留されている状態を示しており、「E」は、いずれのプロセスも保留されていない状態を示している。
コンテンツ視聴プログラム132は、コンテンツの再生手順を示す複数のコンピュータ命令から構成される。
並行フラグ133は、端末装置100に搭載されているマイクロプロセッサが、アップデートとその他の処理(コンテンツの再生など)とを並行して実行可能か否かを示しており、「1」は並行処理可能であることを示しており、「0」は並行処理ができないことを示している。
ハードディスクユニット111は、不揮発性の記憶媒体から構成され、一例として図9に示すように、コンテンツ視聴プログラム142、プログラムファイル150及びプログラム鍵160を記憶している。
コンテンツ視聴プログラム142は、タイトル143とバージョン情報144とプログラム部145とを含む。タイトル143は、コンテンツ視聴プログラム142を識別する名称であり、バージョン情報144は、コンテンツ視聴プログラム142の世代を示している。プログラム部145は、コンテンツの再生手順を示す複数のコンピュータ命令から構成される。
プログラムファイル150は、インターネット20を介してサーバ装置400から受信したものであり、暗号化圧縮プログラム151とチェックデータ152とを含んでいる。暗号化圧縮プログラム151は、コンテンツ視聴プログラム142の一部又は全部を変更する手順を含む更新プログラムが圧縮され暗号化されたものである。チェックデータ152は、ハッシュ関数を用いて暗号化圧縮プログラム151から生成されたものである。
プログラム鍵160は、プログラムファイル150に含まれる暗号化圧縮プログラムを復号するための鍵値である。
また、ハードディスクユニット111は、各種の画面データを記憶している。これらの画面データは、図11に示すスタート画面310及び設定変更画面320を生成するために用いられる。
(5)通信部103
通信部103は、インターネット20に接続されており、インターネット20に接続されている外部の装置と、主制御部107、更新制御部106又は認証部との間で情報の送受信を行う。
ここで、前記外部の装置は、具体的には、サーバ装置400である。
(6)認証部102
認証部102は、図10に示すように、認証制御部171と内部メモリ172から構成される。
内部メモリ172は、ROM及びハードディスクから構成され、認証局において生成された認証局公開鍵PK_CA_173、認証局から発行され端末装置100の公開鍵PK_A_189を証明する公開鍵証明書Cert_A_180、公開鍵証明書Cert_A_180に含まれる公開鍵PK_A_189と対になる端末秘密鍵SK_A_174、失効した公開鍵証明書のシリアルNoを含むCRL(Certificate Revocation List)175及びCRL更新日176を記憶している。
認証局公開鍵PK_CA_173、端末秘密鍵SK_A_174、公開鍵証明書Cert_A_180は、端末装置100の出荷時に生産メーカによって記録されている。
公開鍵証明書Cert_A_180は、認証局の証明書管理装置600により発行されたものであり、一例としてITU(International Telecommunication Union)により勧告されたX.509バージョン1の形式に従って作成されている。公開鍵証明書Cert_A_180は、X.509署名形式の世代を示す証明書形式181、証明書に固有に割り当てられたシリアルNo182、認証局署名データ190を生成するために用いられた署名アルゴリズムを判別する署名アルゴリズム識別子183、公開鍵証明書Cert_A180を発行した認証局の識別名である認証局名184、公開鍵証明書Cert_A_180の有効期限185、公開鍵証明書Cert_A_180により証明される公開鍵と対になる秘密鍵の保有者の識別名である主体者名186、公開鍵証明書Cert_A_180認証より証明される公開鍵PK_A_189と公開鍵PK_A_189を用いた署名生成に使われる署名アルゴリズム識別子188とを含む主体者鍵情報187及び認証局署名データ190から構成される。X.509バージョン1形式については、非特許文献1に記載されており、公知であるので、詳細の説明を省略する。
認証制御部171は、端末装置100が起動し、電力供給が開始されると、CRL更新日176と日付情報とを比較し、CRL更新日176と日付情報とが異なっていると、通信部103を介して認証局指定のURLまたはディレクトリサービスから新たにCRLを取得し、内部メモリ172内のCRL175を書き換える。CRL175を書き換えると、CRL更新日176を日付情報の示す日時に書き換える。
認証部102は、更新制御部106又は主制御部107が外部装置と情報の送受信を行う前に、更新制御部106又は主制御部107からSAC(Secure Authentication Channel)確立の指示を受け、以下に説明するようにしてSACを確立する。なお、ここで説明するSAC確立方法は1例であり、他の認証方法を用いてもよい。
ここで、Gen()を鍵生成関数とし、Yをシステム固有のパラメータとする。鍵生成関数Gen()は、Gen(x,Gen(z,Y))=Gen(z,Gen(x,Y))の関係を満たすものとする。鍵生成関数は任意の公知技術で実施可能なため、詳細についてここでは説明しない。その一例として、非特許文献2「現代暗号論」(池野信一、小山謙二著、電気通信学会出版)にディフィーへルマン(DH)型公開鍵配送法が開示されている。
認証制御部171は、更新制御部106からSAC確立の指示を受けると、内部メモリ172からCert_A_180を読み出し、読み出したCert_A_180を通信部103及びインターネット20を介してサーバ装置400へ送信する。次に、認証制御部171は、通信部103を介してサーバ装置400から、サーバ装置400の公開鍵証明書Cert_Bを受け取ると、内部メモリ172から認証局公開鍵PK_CA173を読み出し、読み出したPK_CA173を用いて、受け取った公開鍵証明書Cert_Bに含まれる認証局署名データSig_CAに署名検証アルゴリズムVを施して署名検証する。検証結果が失敗の場合、認証制御部171は、SAC確立の処理を終了する。
検証結果が成功の場合、認証制御部171は、内部メモリ172からCRL175を読み出し、受け取った公開鍵証明書Cert_Bに含まれるシリアルNoが読み出したCRL175に登録されているか否かを判断する。
登録されていると判断すると、認証制御部171は、SAC確立の処理を終了する。
登録されていないと判断する場合、認証制御部171は、通信部103を介して、サーバ装置400から乱数Cha_Bを受信し、内部メモリ172から端末秘密鍵SK_A174を読み出し、端末秘密鍵SK_A174を用いて、受信した乱数Cha_Bに署名生成アルゴリズムSを施して署名データSig_Aを生成し、生成した署名データSig_Aを通信部103介してサーバ装置400へ送信する。
次に、認証制御部171は、乱数Cha_Aを生成し、生成した乱数Cha_Aを通信部103を介して、サーバ装置400へ送信する。
次に、認証制御部171は、通信部103を介してサーバ装置400から署名データSig_Bを受け取り、公開鍵証明書Cert_Bに含んで受け取った公開鍵PK_Bを用いて、受け取った署名データSig_Bに署名検証アルゴリズムVを施して署名検証し、検証結果が失敗の場合、SAC確立の処理を終了する。
検証が成功の場合、認証制御部171は、乱数「a」を生成し、生成した乱数「a」を用いてKey_A=Gen(a,Y)を生成する。次に、生成したKey_Aを、通信部103を介してサーバ装置400へ送信する。
次に、サーバ装置400から、鍵生成関数G()とシステム固有のパラメータYを用いて生成されたKey_Bを受け取る。次に受け取ったKey_Bと乱数「a」を用いてセッション鍵Key_AB=Gen(a,Key_B)を生成する。
次に、生成したセッション鍵を通信暗号復号部101へ出力し、更新制御部106へSAC確立成功を示す制御信号を出力する。
なお、認証部102は、アップデートに関する通信時は、更新制御部106から制御され、それ以外の通信時(コンテンツのダウンロードなど)は、主制御部107による制御を受けるが、認証部102の行う処理は、いずれの場合も同じであるので、簡略のため前頁からの説明はアップデートに関する通信時についてのみ述べた。
(7)モニタ120
モニタ120は、映像信号生成部116から垂直帰線期間及び水平帰線期間を含む映像信号を受け取り、受け取った映像信号に基づいて、映像を表示する。
図11は、モニタ120が表示する画面の1例である。スタート画面310には、スタート311と設定変更312の2つの選択肢が含まれる。設定変更画面320は、後述するダウンロード許容時間、検証許容時間及びインストール許容時間の設定変更とアップデートのためにサーバ装置400と通信を行うスケジュールを示すアップデート頻度の設定変更と通信速度の設定変更を受け付ける画面である。
(8)主制御部107
主制御部107は、電源制御部115から電源ボタンONを示す操作指示情報を受け取ると、スタート画面310を生成し、生成したスタート画面310を映像生成部113に出力し、スタート画面310の表示を指示する。利用者のボタン操作によりスタート画面310中のスタート311を選択する選択操作指示情報を外部操作受付部105から受け取ると、アップデート処理の開始を更新制御部106へ指示する。
スタート画面310中の設定変更312を選択する操作指示情報を外部操作受付部105から受け取ると、主制御部107は、設定変更画面320を生成し、生成した設定変更画面320を映像生成部113に出力し、表示を指示する。利用者のボタン操作により、アップデート頻度「毎週月曜日」を外部操作受付部105を介して受け付けると、主制御部107は、受け付けたアップデート頻度「毎週月曜日」を更新制御部106へ出力する。また、外部操作受付部105を介して、ダウンロード許容時間の変更、検証許容時間の変更、インストール許容時間の変更又は通信速度の変更を受け付けると、受け付けた変更情報を時間管理部112へ出力する。
設定変更の処理が終了すると、主制御部107は、アップデートの開始を更新制御部106へ指示する。
次に、更新制御部106から、並行処理可能、アップデートの処理終了又はアップデート保留を示す制御信号を受け取ると、主制御部107は、外部操作受付部105を介して利用者のボタン操作を受け付け、再生ボタンの押下を示す操作指示情報を受け取ると、ハードディスクユニット111から、コンテンツ視聴プログラム142を読み出し、読み出したコンテンツ視聴プログラム142を主記憶部110へ書き込み、主記憶部110に書きこんだコンテンツ視聴プログラムに含まれるコンピュータ命令に従って、DVD500a、500b、500cからコンテンツを取得し、取得したコンテンツを再生する。また、ハードディスクユニット111に記憶されているコンテンツを再生するとしてもよい。
その他のボタンの押下を示す操作指示情報を受け取ると、その他の処理を行う。
次に、電源制御部115から電源ボタンOFFを示す操作指示情報を受け取ると、主制御部107は、コンテンツ視聴プログラムの処理を終了し、主記憶部110から保留情報131を読み出す。読み出した保留情報131が、保留されている処理が無いことを示す「E」であれば、電源制御部115へ電源OFFを指示する。
読み出した保留情報が「E」以外の場合、更新制御部106へ読み出した保留情報を出力しアップデート再開を指示する。次に、更新制御部106から、アップデートの処理終了を示す制御信号を受け取ると、主制御部107は、電源制御部115へ電源OFFを指示する。
(9) 更新制御部106
更新制御部106は、インターネットを介したアップデート頻度「毎週月曜日」を記憶している。アップデート頻度「毎週月曜日」は、DVDの装着がされていない又はDVD500aが装着された状態で、電源ボタンONが押された場合、現在の日時及び曜日からなる日付情報に含まれる曜日が「月曜日」であれば、インターネット20を介してサーバ装置400にコンテンツ視聴プログラム142が、最新の世代になっているか否かを問い合わせることを示している。
また、主制御部107からアップデート頻度の設定変更情報を受け取ると、記憶しているアップデート頻度を変更する。なお、アップデート頻度は、端末装置100の生産時に生産メーカーによって、設定されているとしてもよい。
(アップデートの開始)
更新制御部106は、主制御部107から、アップデート開始を指示されると、主記憶部110の保留情報に、保留しているプロセスが無いことを示す「E」を書き込む。
次に、更新制御部106は自身が記憶している端末装置100に搭載されているマイクロプロセッサのクロック周波数を読み出し、読み出したクロック周波数が400MHz以上であるか否かを判断する。400MHz以上であれば、端末装置100がアップデートとその他の処理(コンテンツの再生など)とを並行して実行可能であると判断し、並行フラグ「1」を設定し、クロック周波数が400MHz未満であれば並行処理不可であると判断し、並行フラグ「0」を設定する。次に、設定したフラグを主記憶部110へ書き込む。
次に、更新制御部106は、並行フラグを判定し、並行フラグが「1」であれば主制御部107へ並行処理可能を示す制御信号を出力する。
次に、更新制御部106は入出力部104を介して、DVDが装着されているか否かを判断する。DVDが装着されていれば、さらにDVDの内容を確認し、DVD500a、500b又は500cのいずれのDVDが装着されているかを判断し、上記の(i)、(ii)又は(iii)の処理を行う。
以下に上記の(i)〜(iii)の詳細を説明する
(i)DVDの装着無し又はDVD500aが装着されている場合
更新制御部106は、以下の(i−a)〜(i−g)の手順でアップデート処理を完了又は保留する。
(i−a) アップデートの必要性の判定
更新制御部106は、現在日時及び曜日を示す日付情報を取得し、取得した日付情報に含まれる曜日と記憶しているアップデート頻度「毎週月曜日」とを比較する。日付情報に含まれる曜日が「月曜日」以外であれば、主制御部107へアップデートの処理終了を示す制御信号を出力し、アップデートの処理を終了する。
日付情報に含まれる曜日情報が「月曜日」であれば、更新制御部106は、認証部102にSAC確立を指示する。認証部102からSAC確立成功を示す制御信号を受け取ると、ハードディスクユニット111からコンテンツ視聴プログラム142のタイトル143とバージョン情報144とを読み出し、読み出したタイトル143とバージョン情報144とを通信暗号復号部101へ出力し、暗号化を指示する。通信暗号復号部101から暗号化タイトルと暗号化バージョン情報とを受け取ると、受け取った暗号化タイトルと暗号化バージョン情報とを通信部103を介してサーバ装置400へ送信する。
次に、更新制御部106は、通信部103を介して、サーバ装置400から端末装置100のバージョン情報とサーバ装置が記憶している最新バージョン情報との比較結果とプログラムサイズとを受け取る。比較結果が、「0」であれば、アップデートの必要がないと判断し、主制御部107へ、アップデートの処理終了を示す制御信号を出力しアップデートの処理を終了する。比較結果が「1」であれば、アップデートの必要があると判断する。
次に、更新制御部106は、並行フラグを判定し、並行フラグが「0」であれば、次に(i−b)の処理に移る。並行フラグが「1」であれば、(i−c)の処理に移る。
(i−b)ダウンロード時間の予測
更新制御部106は、時間管理部112へサーバ装置400から受け取ったプログラムサイズを出力し、ダウンロード時間の予測を指示する。次に、時間管理部112から、時間管理部112の予測したダウンロード時間とダウンロード許容時間との比較結果を受け取る。比較結果が、時間管理部112の予測したダウンロード時間がダウンロード許容時間以内であることを示していれば、更新制御部106は、(i−c)の処理へ移る。
比較結果が、時間管理部112の算出したダウンロード時間がダウンロード許容時間を超えることを示していると、更新制御部106は、主記憶部110の保留情報にダウンロード以降のプロセスを保留することを示す「A」を書き込み、主制御部107へアップデート保留を示す制御信号を出力する。
(i−c)ダウンロード
次に、更新制御部106は、認証部102にSAC確立を指示する。認証部102からSAC確立成功を示す制御信号を受け取ると、更新制御部106は、ハードディスクユニット111からコンテンツ視聴プログラム142のタイトル143とバージョン情報144とを読み出し、読み出したタイトル143とバージョン情報144とを通信暗号復号部101へ出力し、暗号化を指示する。通信暗号復号部101から暗号化タイトルと暗号化バージョン情報とを受け取ると、受け取った暗号化タイトルと暗号化バージョン情報とを通信部103を介してサーバ装置400へ送信し、ダウンロードを要求する。
次に、通信部103を介して、サーバ装置400から、プログラムファイルと暗号化プログラム鍵とを受信する。ここで、サーバ装置400から送信されるプログラムファイルは、上述したように暗号化圧縮更新プログラムと、暗号化圧縮更新プログラムから生成したチェックデータとを含む。
更新制御部106は、受信した暗号化プログラム鍵を通信暗号復号部101へ出力し、復号を指示する。通信暗号復号部101から、プログラム鍵を受け取ると、受け取ったプログラム鍵とプログラムファイルとを主記憶部110へ書き込む。
次に、並行フラグを判定し、並行フラグが「1」であれば、(i−e)へ処理を移す。並行フラグが「0」であれば、(i−d)へ処理を移す。
(i−d)検証時間の予測
更新制御部106は、時間管理部112へプログラムファイルに含んで受け取ったチェックデータの検証に要する検証時間の予測を指示する。時間管理部112から、時間管理部112の予測した検証時間と検証許容時間の比較結果を受け取る。受け取った比較結果が、時間管理部112の予測した検証時間が検証許容時間以内であることを示していると、(i−e)の処理へ移る。
比較結果が、時間管理部112の予測した検証時間が検証許容時間を超えることを示していると、更新制御部106は、主記憶部110の保留情報に検証以降のプロセスを保留することを示す「B」を書き込む。次に、主記憶部110に記憶されているプログラム鍵とプログラムファイルとを読み出し、ハードディスクユニット111へ書き込む。
(i−e)検証
次に、更新制御部106は、プログラムファイルに含んで受け取ったチェックデータを以下の手順で検証する。
先ず、主記憶部110から、暗号化圧縮更新プログラムを読み出し、読み出した暗号化圧縮更新プログラムをハッシュ関数に代入し、160バイトのハッシュ値を生成する。ハッシュ関数は、一例としてSHA−1を用いる。ここで使用されるハッシュ関数は、サーバ装置400で使用されるハッシュ関数と同一のものである。
次に、主記憶部110から、プログラムファイルに含んで受信したチェックデータを読み出し、算出したハッシュ値と、読み出したチェックデータとを比較する。算出したハッシュ値と読み出したチェックデータとが一致しなければ、チェックデータの検証の失敗と判断する。算出したハッシュ値と読み出したチェックデータとが一致すると、チェックデータの検証の成功と判断する。
チェックデータの検証が失敗すると、更新制御部106は、主記憶部110に書き込まれているプログラム鍵とプログラムファイルとを削除し、並行フラグを判定する。並行フラグが「1」と判定すると、前記(i−c)から処理をやり直す。並行フラグが「0」と判定すると、主記憶部110の保留情報にダウンロード以降のプロセスを保留することを示す「A」を書き込み、主制御部107へアップデート保留を示す制御信号を出力する。
検証が成功すると、次に、並行フラグを判定し、並行フラグが「0」であれば、(i−f)へ処理を移す。並行フラグが「1」であれば、主制御部107の制御によりコンテンツの再生中であるか否かを判断し、再生中でなければ(i−f)へ処理を移す。コンテンツ再生中であれば、主記憶部110の保留情報に復号及びインストールのプロセスを保留することを示す「C」を書き込み、主制御部107へアップデート保留を示す制御信号を出力する。次に主記憶部110から暗号化圧縮更新プログラムとプログラム鍵とを読み出し、ハードディスクユニット111に書き込む。
(i−f)インストール時間の予測
次に、更新制御部106は、時間管理部112へインストール時間の予測を指示する。次に、時間管理部112から予測されるインストール時間とインストール許容時間との比較結果を受け取る。受け取った比較結果が、予測されるインストール時間がインストール許容時間以内であることを示していると、(i−g)へ処理を移す。受け取った比較結果が、予測されるインストール時間がインストール許容時間を超えることを示していると、主記憶部110の保留情報に復号及びインストールのプロセスを保留することを示す「C」を書き込み、主制御部107へアップデート保留を示す制御信号を出力する。次に主記憶部110から暗号化圧縮更新プログラムとプログラム鍵とを読み出し、ハードディスクユニット111に書き込む。
(i−g)インストール
更新制御部106は、プログラム鍵と暗号化圧縮更新プログラムとを主記憶部110から読み出し、読み出したプログラム鍵を用いて、暗号化圧縮更新プログラムに復号アルゴリズムD1を施し圧縮更新プログラムを生成する。ここで、復号アルゴリズムD1は、後述する暗号化アルゴリズムE1により生成された暗号文を復号するアルゴリズムである。また、暗号化アルゴリズムE1は、一例として、DES(Data Encryption Standard)によるものである。
次に、生成した圧縮更新プログラムに解凍アルゴリズムZを施し、更新プログラムを生成する。解凍アルゴリズムZは後述する圧縮アルゴリズムPにより圧縮されたデータを解凍するアルゴリズムである。ここで、圧縮アルゴリズムPは、一例として、ランレングス法、ハフマン法などを用いる。ランレングス法、ハフマン法については、公知の技術であるので、説明を省略する。
次に、更新制御部106は、生成した更新プログラムに従って、ハードディスクユニット111に記憶されているコンテンツ視聴プログラム142の一部もしくは全体を書き換える。これによりインストールが完了する。
インストールが完了すると、更新制御部106は、アップデートの処理終了を示す制御信号を主制御部107へ出力し、アップデートの処理を終了する。
(ii)DVD500bの場合
DVD500bが装着されていると判断すると、以下に示す手順でアップデートを行う。
(ii−a)アップデートの必要性の判定
更新制御部106は、DVD500bから、バージョン情報505bを読み出し、ハードディスクユニット111に記憶されているコンテンツ視聴プログラム142に含まれるバージョン情報144を読み出し、読み出したバージョン情報505bとバージョン情報144とを比較する。バージョン情報144とバージョン情報505bとが同じ世代を示していると、更新制御部106は、アップデートの必要が無いと判断し、主制御部107へアップデートの処理終了を示す制御信号を出力して、アップデートの処理を終了する。
バージョン情報144がバージョン情報505bよりも古い世代を示していると、更新制御部106は、アップデートの必要があると判断し、次に、並行フラグを判定する。並行フラグが「1」であると判定すると、(ii−c)へ処理を移す。
並行フラグが「0」であると判定すると、(ii−b)へ処理を移す。
(ii−b)ダウンロード時間の予測
更新制御部106は、入出力部104を介してDVD500bから、プログラムサイズ表530bを読み出し、読み出したプログラムサイズ表530bから、バージョン情報144と一致する旧バージョン情報を含むプログラムサイズ情報531bを選択し、選択したプログラムサイズ情報531bに含まれるプログラムサイズ507bを時間管理部112へ出力し、ダウンロード時間の予測を指示する。次に、時間管理部112から予測されるダウンロード時間とダウンロード許容時間の比較結果を受け取る。比較結果が予測されるダウンロード時間がダウンロード許容時間以内であることを示していると、更新制御部106は、(ii−c)の処理へ移る。
比較結果が、時間管理部112の算出したダウンロード時間がダウンロード許容時間を超えることを示していると、更新制御部106は、主記憶部110の保留情報にダウンロード以降のプロセスを保留することを示す「A」を書き込み、主制御部107へアップデート保留を示す制御信号を出力する。
次に、(ii−c)ダウンロードから(ii−g)インストールまでの処理を行うが、(i−c)〜(i−g)と同一の手順であるので、説明を省略する。
(iii)DVD500cの場合
DVD500cが装着されていると判断すると、以下に示す(iii−a)〜(iii−c)の手順でアップデートを行う。
なお、ここでは、DVD500cが装着される度に、以下に説明するような処理を行っているが、毎週水曜、毎月10日というように、定期的に行ってもよい。
(iii−a)アップデートの必要性の判定
更新制御部106は、DVD500cからプログラムファイル503cを読み出し、ハードディスクユニット111からコンテンツ視聴プログラム142に含まれるバージョン情報144を読み出し、読み出したバージョン情報144とプログラムファイル503cに含まれるバージョン情報505cとを比較する。
バージョン情報144とバージョン情報505cとが示す世代が同じであれば、アップデートの必要が無いと判断し主制御部107へアップデートの処理終了を示す制御信号を出力し、アップデートの処理を終了する。
バージョン情報144がバージョン情報505cよりも古い世代を示していると判断すると、次に、並行フラグを判定する。並行フラグが「0」であると判定すると、(iii−b)へ処理を移す。
並行フラグが「1」であると判定すると、さらに、主制御部107の制御によりコンテンツ再生が実行中であるか否かを判定する。再生中であると判断すると、主記憶部110の保留情報に、インストールのプロセスを保留することを示す「D」を書き込み、DVD500cから読み出したプログラムファイル503cをハードディスクユニット111に書き込む。
再生中でないと判断すると、(iii−b)に処理を移す。
(iii−b)インストール時間の予測
次に、更新制御部106は、プログラムファイル503cに含まれるプログラムサイズ507cを時間管理部112へ出力し、インストール時間の予測を指示する。次に、時間管理部112から、予測されるインストール時間とインストール許容時間との比較結果を受け取る。受け取った比較結果が、予測されるインストール時間がインストール許容時間内であることを示していると、(iii−c)へ処理を移す。比較結果が、予測されるインストール時間がインストール許容時間を超えることを示していると、主記憶部110の保留情報にインストールを保留することを示す「D」を書き込み、主制御部107へアップデート保留を示す制御信号を出力する。次に、DVD500cから読み出したプログラムファイル503cをハードディスクユニット111に書き込む。
(iii−c)インストール
次に、更新制御部106は、プログラムファイル503cに含まれる、圧縮更新プログラム506cに解凍アルゴリズムZを施し、更新プログラムを生成する。解凍アルゴリズムZは圧縮アルゴリズムPにより圧縮されたデータを解凍するアルゴリズムである。ここで、圧縮アルゴリズムPは、一例として、ランレングス法、ハフマン法などを用いる。
次に、更新制御部106は、生成した更新プログラムに従って、ハードディスクユニット111に記憶されているコンテンツ視聴プログラム142の一部もしくは全体を書き換える。これによってインストールを完了する。
次に、主制御部107へアップデートの処理終了を示す制御信号を出力し、アップデートの処理を終了する。
(アップデートの再開)
更新制御部106は、主制御部107から保留情報を受け取り、アップデート再開を指示される。更新制御部106は、受け取った保留情報が、「A」〜「D」のいずれであるかによって、以下に説明する(A)、(B)、(C)又は(D)のいずれかの手順でアップデートを完了する。
(A)保留情報「A」
受け取った保留情報が、ダウンロード以降の処理の保留を示す「A」であれば、更新制御部106は、以下に説明する(A−a)〜(A−c)の手順でアップデートの処理を完了する。
(A−a)ダウンロード
更新制御部106は、認証部102にSAC確立を指示する。認証部102からSAC確立成功を示す制御信号を受け取ると、更新制御部106は、ハードディスクユニット111からコンテンツ視聴プログラム142のタイトル143とバージョン情報144とを読み出し、読み出したタイトル143とバージョン情報144とを通信暗号復号部101へ出力し、暗号化を指示する。通信暗号復号部101から暗号化タイトルと暗号化バージョン情報とを受け取ると、受け取った暗号化タイトルと暗号化バージョン情報とを通信部103を介してサーバ装置400へ送信し、ダウンロードを要求する。
次に、通信部103を介して、サーバ装置400から、プログラムファイルと暗号化プログラム鍵とを受信する。プログラムファイルは暗号化圧縮更新プログラムと、暗号化圧縮更新プログラムから生成したチェックデータとを含む。
更新制御部106は、受信した暗号化プログラム鍵を通信暗号復号部101へ出力し、復号を指示する。通信暗号復号部101から、プログラム鍵を受け取ると、受け取ったプログラム鍵とプログラムファイルとを主記憶部110へ書き込む。
(A−b)検証
次に、更新制御部106は、サーバ装置400からプログラムファイルに含んで受け取ったチェックデータを以下の手順で検証する。チェックデータは、一例として、ハッシュ関数を用いて暗号化圧縮更新プログラムから生成される160バイトのハッシュ値から構成される。このチェックデータ生成方法及びチェックデータの検証方法は、一例であり、他の方法を用いてもよい。
先ず、主記憶部110から、暗号化圧縮更新プログラムを読み出し、読み出した暗号化圧縮更新プログラムをハッシュ関数に代入し、160バイトのハッシュ値を生成する。ハッシュ関数は、一例としてSHA−1を用いる。ここで使用されるハッシュ関数は、サーバ装置400で使用されるハッシュ関数と同一のものである。
次に、主記憶部110から、プログラムファイルに含んで受信したチェックデータを読み出し、算出したハッシュ値と、読み出したチェックデータとを比較する。算出したハッシュ値と読み出したチェックデータとが一致しなければ、チェックデータの検証の失敗と判断する。算出したハッシュ値と読み出したチェックデータとが一致すると、チェックデータの検証の成功と判断する。
チェックデータの検証が失敗すると、更新制御部106は、主記憶部110に書き込まれているプログラム鍵とプログラムファイルとを削除し、前記(A−a)から処理をやり直す。検証が成功すると、次に(A−a)の処理へ移る。
(A−c)インストール
更新制御部106は、主記憶部110からプログラム鍵と暗号化圧縮更新プログラムとを読み出し、読み出したプログラム鍵を用いて、暗号化圧縮更新プログラムに復号アルゴリズムD1を施し圧縮更新プログラムを生成する。ここで、復号アルゴリズムD1は、暗号化アルゴリズムE1により生成された暗号文を復号するアルゴリズムである。また、暗号化アルゴリズムE1は、一例として、DES(Data Encryption Standard)によるものである。
次に、生成した圧縮更新プログラムに解凍アルゴリズムZを施し、更新プログラムを生成する。解凍アルゴリズムZは、圧縮アルゴリズムPにより圧縮されたデータを解凍するアルゴリズムである。ここで、圧縮アルゴリズムPは、一例として、ランレングス法、ハフマン法などを用いる。ランレングス法、ハフマン法については、公知の技術であるので、説明を省略する。
次に、更新制御部106は、生成した更新プログラムに従って、ハードディスクユニット111に記憶されているコンテンツ視聴プログラム142の一部もしくは全体を書き換える。これによりインストールが完了する。
インストールが完了すると、更新制御部106は、アップデートの処理終了を示す制御信号を主制御部107へ出力し、アップデートの処理を終了する。
(B)保留情報「B」
受け取った保留情報が検証以降の処理を保留していることを示す「B」であれば、更新制御部106は、ハードディスクユニット111からプログラムファイル150とプログラム鍵160とを読み出し、読み出したプログラムファイル150とプログラム鍵160とを主記憶部110に書き込む。
次に、チェックデータの検証とインストールを行いアップデートの処理を終了するが、上記の(A−b)〜(A−c)と同一の手順であるので説明を省略する。
(C)保留情報「C」
受け取った保留情報が復号及びインストールの保留を示す「C」であれば、ハードディスクユニット111から暗号化圧縮更新プログラムとプログラム鍵とを読み出し、主記憶部110に書き込む。
次に、暗号化圧縮更新プログラムから更新プログラムを生成し、生成した更新プログラムをインストールするが、上記の(A−c)と同一の手順であるので説明を省略する。
(D)保留情報「D」
受け取った保留情報がインストールの保留を示す「D」であれば、更新制御部106は、ハードディスクユニット111からプログラムファイルを読み出す。読み出したプログラムファイルに含まれる、圧縮更新プログラムに解凍アルゴリズムZを施して解凍し、更新プログラムを生成する。ここで、読み出したプログラムファイルは、DVD500cから取得したものであり、最新バージョン情報と圧縮更新プログラムとプログラムサイズとを含む。
次に、更新制御部106は、生成した更新プログラムに従って、ハードディスクユニット111に記憶されているコンテンツ視聴プログラム142の一部もしくは全体を書き換える。これによりインストールが完了する。
インストールが完了すると、更新制御部106は、アップデートの処理終了を示す制御信号を主制御部107へ出力し、アップデートの処理を終了する。
(10)時間管理部112
時間管理部112は、図12に示すように時間管理制御部200と記憶部210から構成される。
(i)記憶部210
記憶部210は、図12に示すように、許容時間設定表215と通信速度220とCPU能力225を記憶している。
許容時間設定表215は、端末装置100の生産メーカー又は利用者によって設定されるダウンロード許容時間216、検証許容時間217及びインストール許容時間218を含んでいる。単位はいずれも秒である。
通信速度220は、利用者により設定される通信回線の伝送速度であり、単位はbpsである。
CPU能力225は、生産メーカーにより設定される、検証基準時間226とインストール基準時間227を含んでいる。検証基準時間226は、更新制御部106がハッシュ値を算出するために、1024バイトのデータの処理に必要な時間が7秒であることを示している。インストール基準時間227は、更新制御部106が、1024バイトのデータをインストールするために必要な時間が15秒であることを示している。
(ii)時間管理制御部200
時間管理制御部200は、主制御部107から各許容時間の設定変更又は通信速度の設定変更の情報を受け取り、受け取った変更情報に従って、記憶部210の許容時間設定表215又は通信速度220を書き換える。
また、時間管理制御部200は、内部にRAMを備えており、更新制御部106から、プログラムサイズを受け取り、ダウンロード時間の予測を指示されると、受け取ったプログラムサイズを前記RAMに記憶する。次に、記憶部210から通信速度220を読み出し、プログラムサイズの通信速度220に対する商を求めることにより、ダウンロード時間を予測する。次に、記憶部210から、ダウンロード許容時間216を読み出し、読み出したダウンロード許容時間216と予測したダウンロード時間を比較し、比較結果を更新制御部106へ出力する。
また、更新制御部106から検証時間の予測を指示されると、検証時間は、プログラムサイズに比例するものとして、プログラムサイズと検証基準時間とから検証時間を予測する。次に、記憶部210から検証許容時間217を読み出し、読み出した検証許容時間217と予測した検証時間とを比較し、比較結果を更新制御部106へ出力する。
また、更新制御部106からインストール時間の検討を指示されると、時間管理制御部200は、インストール時間はプログラムサイズに比例するものとして、プログラムサイズとインストール基準時間227とからインストール時間を予測する。次に記憶部210からインストール許容時間218を読み出し、読み出したインストール許容時間218と予測したインストール時間とを比較し、比較結果を更新制御部106へ出力する。
ただし、ダウンロード時間、検証時間及びインストール時間は、時間管理部112によって算出された予測時間であり、実際に端末装置100がダウンロード、検証又はインストールに要する時間とは必ずしも一致しない。
また、上記のダウンロード時間、検証時間及び検証時間の予測方法は1例であり、他の方法を用いてもよい。
また、ダウンロード時間、検証時間及びインストール時間は、サーバ装置400又はDVD500cから取得するとしてもよい。この場合、時間管理制御部200は、サーバ装置400又はDVD500cから取得したダウンロード時間と記憶部210に記憶されているダウンロード許容時間とを比較する。検証時間及びインストール時間についても、同様にサーバ装置400又はDVD500cから取得した値と、記憶部210に記憶されている許容時間の値とを比較する。
(11)通信暗号復号部101
通信暗号復号部101は、認証部102からセッション鍵を受け取り、受け取ったセッション鍵を記憶する。また、新しくセッション鍵を受け取る度に、記憶しているセッション鍵を破棄し、新しく受け取ったセッション鍵を記憶する。
通信暗号復号部101は、更新制御部106からコンテンツ視聴プログラムのタイトル143、バージョン情報144及び暗号化の指示を受け取ると、記憶しているセッション鍵を用いて受け取ったタイトル143とバージョン情報144とに暗号化アルゴリズムE2を施して暗号化タイトルと暗号化バージョン情報とを生成し、生成した暗号化タイトルと暗号化バージョン情報とを更新制御部106へ出力する。ここで用いられる暗号化アルゴリズムE2は、サーバ装置400で用いられる復号アルゴリズムD2と対応している。
また、通信暗号復号部101は、更新制御部106から暗号化プログラム鍵を受け取り復号を制御されると、セッション鍵を用いて、受け取った暗号化プログラム鍵に復号アルゴリズムD3を施してプログラム鍵とを生成する。ここで用いられる復号アルゴリズムD3は、暗号化アルゴリズムE3により生成された暗号文を復号するアルゴリズムである。
ここで暗号化アルゴリズムE2及びE3は一例として、DES(Data Encryption Standard)によるものである。DESについては、公知の技術であるので、説明を省略する。
(12)映像生成部113
映像生成部113は、主制御部107から画面を受け取り、表示を指示されると、受け取った画面から画像信号を生成し、垂直同期信号と水平同期信号に合わせて生成した画像信号を、モニタ120へ出力する。
(13)電源制御部115
電源制御部115は、電源ボタンのON/OFFの押下を検出する。電源ボタンONの押下を検出すると、電源制御部115は、電力供給部116へ、電力供給の開始を制御し、主制御部107へ電源ONを示す操作指示情報を出力する。
電源ボタンOFFの押下を検出すると、主制御部107へ電源ボタンOFFを示す操作指示情報を出力する。
主制御部107から電源OFFを示す制御信号を受け取ると、電源制御部115は、電力供給部116へ電力供給停止を指示する。
1.5 証明書管理装置600
証明書管理装置600は、認証局(Certificate Authority)の管理のもと、X.509バージョン1形式認証基づいて、端末装置100とサーバ装置400それぞれの公開鍵を証明する公開鍵証明書Cert_A及びCert_Bを生成し、発行する。
また、証明書管理装置600は、公開鍵証明書Cert_A及びCert_Bに含まれる認証局署名データ190及び490を検証するための認証局公開鍵PK_CAをインターネット上の機知のURL又はディレクトリサービスを用いて公開する。
また、証明書管理装置600は定期的に、廃棄が決まった公開鍵証明書のシリアルNoを記載した証明書廃棄リストCRL(Certificate Revocation List)を作成し、作成したCRLをインターネット上の機知のURL又はディレクトリサービスを用いて配布する。
1.6 端末装置100の動作
端末装置100の動作について、以下に説明する。
(1)端末装置100の動作
端末装置100の動作について図13〜図23に示すフローチャートを用いて説明する。
利用者による電源ボタンONの押下を示す操作指示情報を受け取ると(ステップS100)、主制御部107の指示により、モニタ120にスタート画面310が表示される(ステップS101)。利用者のボタン操作により、スタート画面310に表示される選択肢のうち、スタート311が選択されると(ステップS102)、主制御部107は、そのままステップS106へ処理を移す。設定変更312が選択されると(ステップS102)、主制御部107は、設定変更画面320をモニタ120へ表示し(ステップS103)、利用者によるアップデート頻度、通信速度又は各許容時間の設定変更の入力を受け付ける(ステップS104)。主制御部107は、受け付けた設定変更を更新制御部106又は時間管理部112に出力する。更新制御部106は受け取った設定変更を基に記憶しているアップデート頻度を書き換え、時間管理部112は受け取った設定変更を元に記憶している通信速度220及び許容時間設定表215を書き換える。(ステップS105)。
次に、主制御部107は、アップデート開始を指示し、アップデート開始の指示を受けると、更新制御部106は、主記憶部110の保留情報に保留しているプロセスが無いことを示すEを書き込む(ステップS106)。次に、端末装置100に搭載されているマイクロプロセッサのクロック周波数が400MHz以上であるか否かを判断する(ステップS107)。クロック周波数が400MHz以上であれば、並行フラグ「1」を設定する(ステップS108)。クロック周波数が400MHz未満であれば、並行フラグ「0」を設定する(ステップS109)。
次に、更新制御部106は、設定した並行フラグを判別し(ステップS110)、並行フラグが「0」であれば、そのまま、ステップS111へ処理を移す。並行フラグが「1」であれば、更新制御部106は、アップデートとその他の処理を並行処理可能と判断し、主制御部107へ並行処理可能を示す制御信号を出力し、ステップS111へ処理を移す。並行処理を示す制御信号を受け取ると、主制御部107は、ステップS195へ処理を移し、端末装置100は、ステップS111以下の処理とステップS195以下の処理とを並行して行う。
次に、更新制御部106は、端末装置100にDVDが装着されているか否かを判断し、装着されている場合さらに、DVDの種類を判断する(ステップS111)。
DVD500cが装着されていると判断すると(ステップS111)、更新制御部106は、DVD500cから、プログラムファイル503cを読み出し(ステップS241)、読み出したプログラムファイル503cに含まれるバージョン情報505cと、ハードディスクユニット111に記憶されているバージョン情報144とを比較する(ステップS242)。バージョン情報144とバージョン情報505cの示す世代が同一であれば(ステップS242のNO)、アップデートする必要が無いと判断し、ステップS195へ処理を移す。
バージョン情報144がバージョン情報505cよりも古い世代を示していれば(ステップS242のYES)、更新制御部106は、アップデートの必要があると判断する。
次に、更新制御部106は、並行フラグが「1」であれば、さらに、コンテンツ再生が実行中であるか否かを判断し(ステップS245)、実行中でなければ、ステップS251へ処理を移す。実行中であれば(ステップS245)、主記憶部110の保留情報にインストールを保留することを示す「D」を書き込み(ステップS246)、プログラムファイル503cをハードディスクユニット111へ書き込み(ステップS247)、ステップS195へ処理を移す。
並行フラグが「0」であれば(ステップS243)、更新制御部106は、プログラムファイル503cに含まれるプログラムサイズ507cを読み出し、読み出したプログラムサイズ507cを時間管理部112へ出力し、インストール時間の予測を指示する(ステップS251)。時間管理部112は、受け取ったプログラムサイズ507cからインストール時間を予測し、予測されるインストール時間と利用者又は端末装置100の生産メーカーにより設定されたインストール許容時間とを比較し、比較結果を更新制御部106へ出力する(ステップS252)。
更新制御部106は、比較結果を受け取り、受け取った比較結果が予測されるインストール時間がインストール許容時間を超えることを示していると(ステップS253のNO)、ステップS246へ処理を移す。
比較結果が、予測されるインストール時間がインストール許容時間以内であることを示していると(ステップS253のYES)、更新制御部106は、プログラムファイル503cに含まれる圧縮更新プログラム506cに解凍アルゴリズムZを施して更新プログラムを生成する(ステップS255)。
次に、更新制御部106は、生成した更新プログラムをインストールし(ステップS256)、これによりアップデートを完了する。次に、ステップS195へ処理を移す。
DVD500bが装着されていると判断すると(ステップS111)、更新制御部106は、DVD500bからバージョン情報505bを読み出し(ステップS112)、ハードディスクユニット111に記憶されているバージョン情報144とバージョン情報505bとを比較する(ステップS113)。
バージョン情報144とバージョン情報505bの示す世代が同一であれば(ステップS113のNO)、アップデートする必要が無いと判断し、ステップS195へ処理を移す。
バージョン情報144がバージョン情報505bよりも古い世代を示していれば(ステップS113のYES)、更新制御部106は、アップデートの必要があると判断し、次に、並行フラグを判断する(ステップS135)。
並行フラグが「0」であれば(ステップS135)、バージョン情報144を基に、DVD500bに記憶されているプログラムサイズ表530bから、プログラムサイズ情報531bを選択し、選択したプログラムサイズ情報531bに含まれるプログラムサイズ507bを読み出し、読み出したプログラムサイズ507bを時間管理部112へ出力し、ダウンロード時間の予測を指示する(ステップS136)。次に、ステップS141へ処理を移す。
並行フラグが「1」であれば(ステップS135)、更新制御部106は、ステップS145へ処理を移す。
DVDが装着されていない又はDVD500aが装着されていると判断すると(ステップS111)、更新制御部106は、日付情報に含まれる曜日が利用者により設定されているアップデート頻度「毎週月曜日」と一致するか否かを判断し(ステップS115)、一致しなければ、アップデートする必要がないと判断し、ステップS195へ処理を移す。一致しすれば(ステップS115)、更新制御部106は、認証部102にSAC確立を指示する。
認証部102は、サーバ装置400とセッション鍵を共有しSACを確立し、更新制御部106にSAC確立成功を知らせる(ステップS116)。
次に、更新制御部106は、ハードディスクユニット111からコンテンツ視聴プログラム142のタイトル143とバージョン情報144とを読み出し(ステップS121)通信暗号復号部101へ読み出したタイトル143とバージョン情報144を出力し、暗号化を指示する。通信暗号復号部101は、タイトル143とバージョン情報144を受け取り、セッション鍵を用いて、受け取ったタイトル143とバージョン情報144とに暗号化アルゴリズムE2を施し、暗号化タイトルと暗号化バージョン情報とを生成し、生成した暗号化タイトルと暗号化バージョン情報とを更新制御部106へ出力する(ステップS122)。
次に、更新制御部106は、暗号化タイトルと暗号化バージョン情報とをサーバ装置400へ送信する(ステップS123)。
サーバ装置400を構成する制御部407は、端末装置100から暗号化タイトルと暗号化バージョン情報とを受け取ると、通信暗号復号部401に指示して、セッション鍵を用いて、受け取った暗号化タイトルと暗号化バージョン情報とに復号アルゴリズムD2を施し、タイトルとバージョン情報とを生成する(ステップS124)。生成されたタイトルを基にプログラム更新テーブル420からプログラム情報を選択し、選択したプログラム情報に含まれる最新バージョン情報を読み出し(ステップS125)、読み出した最新バージョン情報と通信暗号復号部401により生成されたバージョン情報とを比較する(ステップS126)。
バージョン情報と最新バージョン情報とが示す世代が同一であれば(ステップS126のNO)、比較結果「0」を生成する(ステップS128)。バージョン情報が最新バージョン情報よりも古い世代を示していれば(ステップS126のYES)、比較結果「1」を生成する(ステップS128)。
次に、タイトルとバージョン情報を基にプログラム更新テーブル420からプログラム情報421を選択し、選択したプログラム情報に含まれるプログラムサイズを読み出す(ステップS129)。
次に、制御部407は、比較結果とプログラムサイズとを端末装置100に送信する(ステップS130)。
通信部103を介して比較結果とプログラムサイズとを受信すると、更新制御部106は、受信した比較結果を判断し(ステップS138)、比較結果が「0」であれば、アップデートの必要が無いと判断し、ステップS195へ処理を移す。比較結果が「1」であれば(ステップS138)アップデートする必要があると判断し、次に、並行フラグを判断する(ステップS139)。
並行フラグが「1」であれば(ステップS139)、ステップS145へ処理を移す。並行フラグが「0」であれば(ステップS139)、更新制御部106は、受信したプログラムサイズを時間管理部112へ出力し、ダウンロード時間の予測を指示する。時間管理部112は、プログラムサイズを受け取り、受け取ったプログラムサイズを基に予測されるダウンロード時間を算出し、予測されるダウンロード時間とダウンロード許容時間とを比較し、比較結果を更新制御部106へ出力する(ステップS141)。
更新制御部106は比較結果を受け取り、受け取った比較結果が予測されるダウンロード時間がダウンロード許容時間を超えることを示していると(ステップS142のNO)、更新制御部106は、主記憶部110の保留情報にダウンロード以降のプロセスを保留することを示す「A」を書き込み、主制御部107へアップデート保留を示す制御信号を出力する(ステップS143)。次に、ステップS195へ処理を移す。
比較結果が、予測されるダウンロード時間がダウンロード許容時間内であることを示していると(ステップS142のYES)、更新制御部106は、認証部102へSAC確立を指示し、認証部102は、サーバ装置400とセッション鍵を共有しSACを確立する(ステップS145)。
SACが確立すると、ハードディスクユニット111に記憶されているタイトル143とバージョン情報144とを通信暗号復号部101に出力し暗号化を指示する。通信暗号復号部101は、タイトル143とバージョン情報144とを受け取ると、セッション鍵を用いて受け取ったタイトル143とバージョン情報144とに暗号化アルゴリズムE2を施し、暗号化タイトルと暗号化バージョン情報とを生成し、生成した暗号化タイトルと暗号化バージョン情報とを更新制御部106へ出力する(ステップS146)。
更新制御部106は、暗号化タイトルと暗号化バージョン情報とを受け取り、受け取った暗号化タイトルと暗号化バージョン情報とをインターネット20を介して、サーバ装置400へ送信し、ダウンロード要求をする(ステップS150)。
サーバ装置400の制御部407は、暗号化タイトルと暗号化バージョン情報とダウンロード要求とを受け取ると、通信暗号復号部401において、セッション鍵を用いて受け取った暗号化タイトルと暗号化バージョン情報とに復号アルゴリズムD2を施し、タイトルとバージョン情報とを生成する(ステップS151)。
次に、生成したタイトルとバージョン情報とを基に、プログラム更新テーブル420からプログラム情報421を選択し、選択したプログラム情報421に含まれるプログラム鍵を読み出す(ステップS152)。
次に、セッション鍵を用いて、読み出したプログラム鍵に暗号化アルゴリズムE3を施して暗号化プログラム鍵を生成する(ステップS153)。次に、選択したプログラム情報421を基にプログラムファイル431を読み出し(ステップS154)、読み出したプログラムファイル431と、生成した暗号化プログラム鍵とをインターネット20を介して端末装置100へ送信する(ステップS155)。
端末装置100は、プログラムファイルと暗号化プログラム鍵とを受信し、通信暗号復号部101において、セッション鍵を用いて、暗号化プログラム鍵に復号アルゴリズムD3を施しプログラム鍵を生成し(ステップS160)、生成したプログラム鍵と受信したプログラムファイルとを主記憶部110へ書き込む(ステップS161)。
次に、更新制御部106は、並行フラグを判定する(ステップS162)。並行フラグが「1」であると判定すると、ステップS170へ処理を移す。並行フラグが「0」であると判定すると(ステップS162)、時間管理部112へ検証時間の予測を指示する。
時間管理部112は、プログラムサイズから検証時間を予測し(ステップS163)、予測される検証時間と検証許容時間を比較し、比較結果を更新制御部106へ出力する。時間管理部112から受け取った比較結果が、予測される検証時間が検証許容時間を超えることを示していると(ステップS164のNO)、更新制御部106は主記憶部110の保留情報に検証以降のプロセスを保留することを示す「B」を書き込む(ステップS165)。次に、プログラム鍵とプログラムファイルとをハードディスクユニット111に書き込み(ステップS166)、ステップS195へ処理を移す。
比較結果が、予測される検証時間が検証許容時間内であることを示していると(ステップS164のYES)、プログラムファイルに含まれる暗号化圧縮更新プログラムを読み出す(ステップS170)。次に、読み出した暗号化圧縮更新プログラムをハッシュ関数に代入してハッシュ値を算出する(ステップS172)。次に、プログラムファイルに含まれるチェックデータを読み出し、読み出したチェックデータと算出したハッシュ値をと比較する(ステップS173)。
算出したハッシュ値と読み出したチェックデータとが一致すると(ステップS173のYES)、検証の成功とし、ステップS181へ処理を移す。
算出したハッシュ値と読み出したチェックデータとが一致しなければ(ステップS173のNO)、検証の失敗と判断し、更新制御部106は並行フラグを判定する(ステップS174)。並行フラグが「1」であれば(ステップS174)、ステップS145へ戻って処理をやり直す。並行フラグが「0」であれば(ステップS174)、主記憶部110の保留情報にダウンロード以降のプロセスを保留することを示す「A」を書き込み、主制御部107へアップデート保留の制御信号を出力し(ステップS175)、ステップS195へ処理を移す。
次に、更新制御部106は、並行フラグを判定し(ステップS181)、並行フラグが「1」であれば、主制御部107によりコンテンツの再生が実行中であるか否かを判断し(ステップS182)、実行中でなければ、ステップS186へ処理を移す。実行中であれば(ステップS182)、主記憶部110の保留情報に、復号及びインストールを保留することを示す「C」を書き込む(ステップS183)。次に、暗号化圧縮更新プログラムとプログラム鍵とをハードディスクユニット111に書き込み(ステップS184)、ステップS195へ処理を移す。
並行フラグが「0」であれば(ステップS181)、更新制御部106は、時間管理部112へインストール時間の予測を指示し、時間管理部112は、プログラムサイズからインストール時間を予測し、予測されるインストール時間とインストール許容時間とを比較し、比較結果を更新制御部106へ出力する(ステップS186)。更新制御部106は、受け取った比較結果が予測されるインストール時間がインストール許容時間を超えていることを示していると(ステップS187)、ステップS183へ処理を移す。
比較結果が、予測されるインストール時間がインストール許容時間内であることを示していると(ステップS187)、プログラム鍵を用いて、暗号化圧縮更新プログラムに復号アルゴリズムD1を施して圧縮更新プログラムを生成し(ステップS188)、生成した圧縮更新プログラムに解凍アルゴリズムZを施し、更新プログラムを生成する(ステップS189)。
次に、生成した更新プログラムをインストールし(ステップS191)、アップデートの処理を終了し、主制御部107へ処理を移す。
主制御部107は、利用者のボタン押下による操作指示情報を受け付け(ステップS195)、再生ボタンが押下されると(ステップS196)、コンテンツ視聴プログラムに従ってコンテンツの再生を行う(ステップS197)。また、その他のボタンが押下されると(ステップS196)、その他の処理を行う(ステップS198)。以下、電源ボタンOFFが押下されるまで、ボタンの受け付けと、コンテンツの再生又はその他の処理を繰り返す。
電源ボタンOFFが押下されると(ステップS196)、主制御部107は、主記憶部110から保留情報を読み出し、読み出した保留情報が「E」であるか否かを確認し(ステップS201)、保留情報が「E」であると判断すると(ステップS201)、そのままステップS234へ処理を移す。
保留情報が「E」以外であると判断すると(ステップS201)、読み出した保留情報を更新制御部106へ出力し、アップデート再開を指示する。更新制御部106は、受け取った保留情報を判別する(ステップS202)。受け取った保留情報が、検証以降のプロセスを保留することを示す「B」であれば(ステップS202)、ハードディスクユニット111からプログラム鍵とプログラムファイルとを読み出し、読み出したプログラム鍵とプログラムファイルとを主記憶部110へ書き込み(ステップS205)、ステップS223へ処理を移す。
受け取った保留情報が、復号及びインストールの保留を示す「C」であれば(ステップS202)、プログラム鍵と暗号化圧縮更新プログラムとをハードディスクユニット111から読み出し、読み出したプログラム鍵と暗号化圧縮更新プログラムとを主記憶部110へ書き込み(ステップS206)、ステップS230へ処理を移す。
受け取った保留情報が、インストールの保留を示す「D」であれば(ステップS202)、ハードディスクユニット111から圧縮更新プログラムを読み出し、読み出した圧縮更新プログラムを主記憶部110へ書き込み(ステップS207)、ステップS231へ処理を移す。
受け取った保留情報が、ダウンロード以降の処理の保留を示す「A」であれば(ステップS202)、更新制御部106は、認証部102へSAC確立を指示し、認証部102は、インターネット20を介してサーバ装置400とセッション鍵を共有し、SACを確立する(ステップS210)。
SACが確立すると、更新制御部106は、ハードディスクユニット111に記憶されているタイトル143とバージョン情報144とを読み出し、読み出したタイトル143とバージョン情報144とを通信暗号復号部101へ出力し暗号化を指示する。通信暗号復号部101は、タイトル143とバージョン情報144とを受け取り、セッション鍵を用いて、受け取ったタイトル143とバージョン情報144とに暗号化アルゴリズムE2を施し、暗号化タイトルと暗号化バージョン情報とを生成し、生成した暗号化タイトルと暗号化バージョン情報とを更新制御部106へ出力する(ステップS211)。
次に、更新制御部106は、暗号化タイトルと暗号化バージョン情報とを受け取り、インターネット20を介してサーバ装置400へ、受け取った暗号化タイトルと暗号化バージョン情報とを送信し、ダウンロードを要求する(ステップS212)。
サーバ装置400を構成する制御部407は、暗号化タイトルと暗号化バージョン情報とダウンロード要求とを受け取ると、通信暗号復号部401において、セッション鍵を用いて受け取った暗号化タイトルと暗号化バージョン情報とに復号アルゴリズムD2を施し、タイトルとバージョン情報とを生成する(ステップS213)。
次に、生成したタイトルとバージョン情報とを基に、プログラム更新テーブル420からプログラム情報421を選択し、選択したプログラム情報421に含まれるプログラム鍵を読み出し(ステップS214)、通信暗号復号部401において、セッション鍵を用いて、読み出したプログラム鍵に暗号化アルゴリズムE3を施して暗号化プログラム鍵を生成する(ステップS215)。次に、選択したプログラム情報421を基にプログラムファイル431を読み出し(ステップS216)、読み出したプログラムファイル431と、生成した暗号化プログラム鍵とをインターネット20を介して端末装置100へ送信する(ステップS217)。
端末装置100は、プログラムファイルと暗号化プログラム鍵とを受信し、通信暗号復号部101において、セッション鍵を用いて、暗号化プログラム鍵に復号アルゴリズムD3を施しプログラム鍵を生成し(ステップS221)、生成したプログラム鍵と受信したプログラムファイルとを主記憶部110へ書き込む(ステップS222)。
次に、主記憶部110から、プログラムファイルに含まれる暗号化圧縮更新プログラムを読み出す(ステップS223)。次に、読み出した暗号化圧縮更新プログラムをハッシュ関数に代入してハッシュ値を算出する(ステップS226)。次に、プログラムファイルに含まれるチェックデータを読み出し、読み出したチェックデータと算出したハッシュ値とを比較する(ステップS227)。
算出したハッシュ値と読み出したチェックデータとが一致すると(ステップS227のYES)、検証の成功とし、ステップS230へ処理を移す。
算出したハッシュ値と読み出したチェックデータとが一致しなければ(ステップS227のNO)、検証の失敗と判断し、ステップS210に戻って処理をやり直す。
検証が成功すると、更新制御部106は、プログラム鍵を用いて、暗号化圧縮更新プログラムに復号アルゴリズムD1を施して圧縮更新プログラムを生成する(ステップS230)。次に、圧縮更新プログラムに解凍アルゴリズムZを施して、更新プログラムを生成し(ステップS231)、生成した更新プログラムをインストールする(ステップS232)。インストールが終了すると、主制御部107へアップデートの処理終了の制御信号を出力する。
アップデートの処理終了の制御信号を受け取ると、主制御部107は、電源制御部115と電力供給部116とを介して電力供給を停止する(ステップS234)。
(2)端末装置100及びサーバ装置400によるSAC確立
端末装置100とサーバ装置400によるSAC確立の手順を図25〜26のフローチャートを用いて説明する。これは、図13のステップS116、図16のステップS145及び図21のステップS210の詳細である。
なお、このSAC確立方法は1例であり、他の認証方法、他の鍵共有方法を用いてもよい。以下の説明において、G()を鍵生成関数、Yをシステム固有のパラメーターとし、G(x,G(z,Y))=G(z,G(x,Y))の関係を満たすものとする。
端末装置100は公開鍵証明書Cert_Aを読み出し(ステップS401)、サーバ装置400へ送信する(ステップS402)。
サーバ装置400は、認証局の公開鍵PK_CAを用いて、受信した公開鍵証明書Cert_Aに含まれる認証局署名データSig_Aに署名検証アルゴリズムVを施して署名検証する(ステップS403)。検証結果が失敗の場合(ステップS404)、処理を終了する。
検証結果が成功の場合(ステップS404)、CRLを読み出し(ステップS405)、公開鍵証明書Cert_Aに含んで受け取ったシリアルNoが、読み出したCRLに登録されているか否かを判断し(ステップS406)、登録されている判断すると(ステップS406)、処理を終了する。登録されていないと判断すると(ステップS406)、サーバ装置400自身の公開鍵証明書Cert_Bを読み出し(ステップS407)、端末装置100に送信する(ステップS408)。
端末装置100は、公開鍵証明書Cert_Bを受け取ると、認証局の公開鍵PK_CAを用いて、公開鍵証明書Cert_Bに含まれる認証局の署名データSig_CAに署名検証アルゴリズムVを施して署名検証し(ステップS409)、検証結果が失敗であれば(ステップS410)、処理を終了する。検証結果が成功であれば(ステップS410)、CRLを読み出し、公開鍵証明書Cert_Bに含まれるシリアルNoがCRLに登録されているか否かを判断する(ステップS412)。登録されている判断すると(ステップS412)、処理を終了する。登録されていないと判断すると(ステップS412)、処理を継続する。
サーバ装置400は、乱数Cha_Bを生成し(ステップS413)、端末装置100に生成した乱数Cha_Bを送信する(ステップS414)。
端末装置100は、乱数Cha_Bを受け取ると、受け取った乱数Cha_Bに、端末装置100の秘密鍵SK_Aを用いて、署名生成アルゴリズムSを施して署名データSig_Aを生成し(ステップS415)、生成した署名データSig_Aをサーバ装置400へ送信する(ステップS416)。
サーバ装置400は署名データSig_Aを受け取ると、公開鍵証明書Cert_Aに含んで受け取った端末装置の公開鍵PK_Aを用いて、署名データSig_Aに署名検証アルゴリズムVを施して署名検証し(ステップS417)、検証結果が失敗であれば(ステップS418)、処理を終了する。検証結果が成功であれば(ステップS418)処理を継続する。
端末装置100は乱数Cha_Aを生成し(ステップS419)、生成した乱数Cha_Aをサーバ装置400へ送信する(ステップS420)。
サーバ装置400は、受け取った乱数Cha_Aに、サーバ装置400の秘密鍵SK_Bを用いて、署名生成アルゴリズムSを施し、署名データSig_Bを生成し(ステップS421)、生成した署名データSig_Bを端末装置100へ送信する(ステップS422)。
端末装置100は、署名データSig_Bを受け取ると、公開鍵証明書Cert_Bに含んで受け取った公開鍵PK_Bを用いて、受け取った書名データSig_Bに署名検証アルゴリズムVを施して、署名検証する(ステップS423)。署名検証の結果が、失敗であれば処理を終了する(ステップS424)。署名検証が成功であれば(ステップS424)、端末装置100は、乱数「a」を生成し(ステップS425)、生成した乱数「a」を用いてKey_A=Gen(a,Y)を生成し(ステップS426)、生成したKey_Aをサーバ装置400へ送信する。
サーバ装置400は、Key_Aを受け取ると、乱数「b」を生成し(ステップS428)、生成した乱数「b」を用いてKey_B=Gen(b,Y)を生成し(ステップS429)、生成したKey_Bを端末装置100へ送信する(ステップS430)。
端末装置100は、Key_Bを受け取ると、受け取ったKey_Bと、乱数「a」とからKey_AB=Gen(b,Key_B)=Gen(a,Gen(b,Y))を生成する(ステップS432)。Key_ABをセッション鍵として記憶する(ステップS434)。
また、サーバ装置400は、受け取ったKey_Aと、生成した乱数「b」とからKey_AB=Gen(b,Gen(a,Y))を生成する(ステップS431)。生成したKey_ABをセッション鍵として記憶する(ステップS433)。
以上のようにして、端末装置100とサーバ装置400の間でセッション鍵を共有し、SACを確立する。
1.7 まとめ
以上説明したように、本発明によると、コンピュータプログラムのアップデートの際、まず、端末装置100に搭載されているマイクロプロセッサのクロック周波数から、アップデートの処理とコンテンツ再生の処理とを並行に行うことができるか否かを判断し、並行して処理可能であれば、即アップデートの処理を開始する。
並行処理できないと判断すれば、アップデート処理に含まれるダウンロード、検証及びインストールそれぞれについて、利用者又は端末装置100の生産メーカーによりあらかじめ許容時間を設定しておく。端末装置100は、ダウンロード、検証及びインストールそれぞれに必要となる時間を算出し、設定された許容時間内にそれぞれの処理が終了するか否かを判断し、許容時間内に終了できると判断すると、即実行し、許容時間内に終了できないと判断すると、利用者が端末装置100の利用を終えた後に実行する。
このようにして、許容時間以上に時間の必要となる処理を後回しにすることで、利用者による、前記コンピュータプログラムの使用に影響を与えることなく、前記コンピュータプログラムのアップデートを行うことができる。
1.7 実施の形態1に関する変形例
以上、実施の形態1について、説明してきたが、本発明は、これに限るものではなく、以下のような実施の形態1に関する変形例も含む。
(1)上記の実施の形態において、DVD500b及び500cに記憶されているバージョン情報505b及び5003cは、サーバ装置400が記憶している最新バージョン情報と同一であることを想定している。
しかし、現実には、サーバ装置400に記憶されている最新バージョン情報は、随時更新されるため、バージョン情報505b及び5003cが、サーバ装置400の記憶している最新バージョン情報よりも古い世代を示しており、端末装置100は、最新の更新プログラムを取得できない状態が発生する可能性がある。
このため、以下の(i)又は(ii)のようにして、最新の更新プログラムを取得するようにしてもよい。
(i)DVD500bが装着されている場合
DVD500bは、さらに、DVD500b自身の発売日を記憶しており、端末装置100は、DVD500bから発売日を読み出し、発売後一定期間が経過していると判断すると、無条件に上記の実施の形態においてDVD500aが装着された場合と同様にして、サーバ装置400から最新の更新プログラムを取得する。
(ii)DVD500cが装着されている場合
DVD500cは、さらに、DVD500c自身の発売日を記憶しており、端末装置100は、DVD500bから発売日を読み出し、発売後一定期間が経過していると判断すると、以下の(a)、(b)又は(c)ようにして最新の更新プログラムを取得する。
(a)バージョン情報144<バージョン情報505c
端末装置100が記憶しているバージョン情報144とDVD500cが記憶しているバージョン情報505cとを比較し、バージョン情報144がバージョン情報505cよりも古い世代を示していると判断すると、端末装置100は、ハードディスクユニット111が記憶しているタイトル143とDVD500cから読み出したバージョン情報505cを暗号化してサーバ装置400へ送信する。
サーバ装置400は、上記の実施の形態と同様の手順で、受信したバージョン情報と自身が記憶している最新バージョン情報とを比較し、比較結果を端末装置100へ送信する。
端末装置100は、受信した比較結果が1、つまりサーバ装置400が記憶している最新バージョン情報がDVD500cの記憶しているバージョン情報505cよりも新しい世代を示していると判断すると、サーバ装置400から最新の更新プログラムを取得する。
受信した比較結果が0、つまりサーバ装置400が記憶している最新バージョン情報とDVD500cの記憶しているバージョン情報505cが同一の世代を示していると判断すると、DVD500cから最新の更新プログラムを取得する。
(b)バージョン情報144=バージョン情報505c
端末装置100が記憶しているバージョン情報144とDVD500cが記憶しているバージョン情報505cとを比較し、バージョン情報144とバージョン情報505cが同一の世代を示していると判断すると、ハードディスクユニット111からタイトル143を読み出し、読み出したタイトル143とバージョン情報144とを送信する。
サーバ装置400は、上記の実施の形態と同様にして、受信したバージョン情報144とサーバ装置400自身が記憶している最新バージョン情報とを比較し比較結果を生成し、生成した比較結果を端末装置100に送信する。
端末装置100は、受信した比較結果を判別し、比較結果が1、つまりバージョン情報144がサーバ装置400記憶している最新バージョン情報より古い世代を示している場合、サーバ装置400から最新の更新プログラムを取得しアップデートを行う。
受信した比較結果が0、つまりバージョン情報144とサーバ装置400の記憶している最新バージョン情報の示す世代が同一であると判断すれば、そのままアップデートの処理を終了する。
(c)バージョン情報144>バージョン情報505c
端末装置100が記憶しているバージョン情報144とDVD500cが記憶しているバージョン情報505cとを比較し、バージョン情報144がバージョン情報505cよりも新しい世代を示していると判断すると、上記の実施の形態においてDVD500aが装着された場合と同様にして、サーバ装置400から最新の更新プログラムを取得する。
(2)上記の実施の形態1において、端末装置100にDVD500aが装着された場合、端末装置100が自身の記憶しているコンテンツ視聴プログラムのバージョン情報をサーバ装置400へ送信し、サーバ装置400により、前記バージョン情報と最新バージョン情報との比較を行っているが、端末装置100が、サーバ装置400から最新バージョン情報を受信し、端末装置100において、自身の記憶しているバージョン情報と受信した最新バージョン情報との比較を行うとしてもよい。
(3)本発明において用いられるDVD500a、500b又は500cに、将来の更新プログラム開発完了日が記録されており、完了日になると、サーバ装置400から新しい更新プログラムを取得するとしてもよい。
2. 実施の形態2
本発明に係る1個の実施の形態としてのアップデートシステム11について説明する。
2.1 アップデートシステム11の構成
アップデートシステム11は、図26に示すように端末装置1100、サーバ装置1400、証明書管理装置600から構成され、これらはインターネット20を介して接続されている。以下の説明において、実施の形態1と同一の部分の説明は省略し、実施の形態1との相違点を中心に説明する。
端末装置1100は、実施の形態1の端末装置100と同様に、映像及び音声からなるコンテンツを再生する手順を含むコンテンツ視聴プログラム及び前記プログラムの世代を示すバージョン情報を記憶しており、DVDが装着されると、前記プログラムに従って、コンテンツを再生する。
サーバ装置1400は、前記コンテンツ視聴プログラムを新しい世代に更新するための更新プログラムを記憶しており、端末装置1100からの要求に応じて更新プログラムを端末装置1100へ送信する。
端末装置1100は、アップデートに先立って、アップデートの重要度を取得する。アップデートの重要度とは、現在端末装置1100が記憶しているプログラムを最新の世代のものにアップデートすることの重要性を示すものである。例えば、現在記憶しているコンテンツ視聴プログラムのセキュリティ上の問題点を解決するための重要な改良を、最新の世代のプログラムが含んでいる場合、重要度が高い。また、最新の世代のプログラムは新たな追加機能を含んでいるが、現在記憶しているコンテンツ視聴プログラムであっても特に問題はない場合、重要度は低い。
端末装置1100は、記憶しているコンテンツ視聴プログラムをアップデートする際に、DVDに記録されているコンテンツの価値及び上記重要度に応じて、プログラムの更新のタイミングを決定する。本実施の形態では、コンテンツの新旧によってコンテンツの価値を判定し、新作のコンテンツは価値が高く、旧作のコンテンツは価値が低いとする。
具体的には、
A.アップデートの重要性が低い場合は、コンテンツの新旧にかかわらず、アップデートに係る各プロセスの所要時間を算出し、算出した所要時間に応じて、各プロセスをすぐに行うか保留するかを決定する。
B.アップデートの重要性は高いがコンテンツが旧作である場合、アップデートに係る各プロセスの所要時間を算出し、算出した所要時間に応じて、各プロセスをすぐに行うか保留するかを決定する。
C.アップデートの重要性が高く、かつ、コンテンツが新作である場合、所要時間にかかわらず、全てのプロセスをすぐに実行する。
2.2 DVD1500a 、1500b及び1500c
端末装置1100に装着されるDVDには、DVD1500a、1500b及び1500cの3種類あり、DVD1500a、1500b及び1500cは、大容量のデータを記録することができる可搬型の光ディスク媒体である。
実施の形態1の場合と同様に、端末装置1100に装着されるDVDの種類により、端末装置1100に記憶されているコンテンツ視聴プログラムの更新プログラムの取得方法が変わる。具体的には、実施の形態1において、端末装置100に、DVD500a、500b及び500cを装着した場合の更新プログラムの取得方法と同様であるので、説明を省略する。
以下に、DVD1500a、1500b及び1500cに記憶されている情報について、図27を用いて説明する。
DVD1500aは、コンテンツ501aと作成日1502aとを記憶している。コンテンツ501aは、実施の形態1のDVD500aの記憶しているコンテンツ501aと同一である。作成日1502aは、コンテンツ501aの作成日が「2005年1月24日」であることを示している。
DVD1500bは、コンテンツ501b、作成日1502b、バージョン情報505b及び更新データ表1530bを記憶している。コンテンツ501bとバージョン情報505bは、実施の形態1のDVD500bの記憶しているコンテンツ501bとバージョン情報505bと同一であるので説明を省略する。作成日1502bは、コンテンツ501bの作成日が「2005年1月24日」であることを示している。
更新データ表1530bは、複数の更新情報1531b、1532b・・・から構成され、各更新情報は、旧バージョン情報とプログラムサイズと重要度とから構成されている。
プログラムサイズは、暗号化圧縮更新プログラムの容量を示している。暗号化圧縮更新プログラムは、コンテンツ視聴プログラムを旧バージョン情報の示す世代から、バージョン情報505bの示す世代へ更新する手順を含む更新プログラムを圧縮し暗号化して生成されたものである。
重要度は、旧バージョン情報の示す世代からバージョン情報505bの示す世代へのコンテンツ視聴プログラムのアップデートの重要性を示し、「1」又は「2」の何れかである。具体的に、重要度「2」は、例えば、旧バージョン情報の示す世代のコンテンツ視聴プログラムのセキュリティ上の問題点を、解決するための重要な改良をバージョン情報505bの示す世代のコンテンツ視聴プログラムが含んでいるため、旧バージョン情報の示す世代からバージョン情報505bの示す世代への更新の重要性が高いことを示す。重要度「1」は、例えば、旧バージョン情報の示す世代のコンテンツ視聴プログラムにはない新たな追加機能を、バージョン情報505bの示す世代のコンテンツ視聴プログラムが含んでいるが、旧バージョンのプログラムであっても特に問題はなく、更新の重要性が低いことを示す。
DVD1500cは、コンテンツ501c、作成日1502c、プログラムファイル503c及び更新重要度表1530cとを記憶しており、コンテンツ501c、プログラムファイル503cは、実施の形態1のDVD500cの記憶しているコンテンツ501c及びプログラムファイル503cと同一であるので、ここでは説明を省略する。
作成日1502cは、コンテンツ501cの作成日が「2005年1月24日」であることを示している。更新重要度表1530cは、複数の重要度情報1531c、1532c・・・から構成され、各重要度情報は、旧バージョン情報と重要度とを含む。重要度は、旧バージョン情報の示す世代から、バージョン情報505cの示す世代への更新の重要性を示しており「2」又は「1」の値である。具体的には、DVD500bに記憶されている更新データ表1530bに含まれる重要度と同様である。
なお、図示されていないが、DVD1500a、1500b及び1500cは、自身が記憶しているコンテンツを再生するためのコンテンツ視聴プログラムを示すプログラム識別子を記憶している。
2.3 サーバ装置1400
サーバ装置1400は、図28に示すように通信暗号復号部401、認証部402、通信部403、入力部405、制御部1407、情報記憶部1410及び表示部413から構成される。
以下に、サーバ装置1400を構成する各部について説明するが、通信暗号復号部401、認証部402、通信部403、入力部405及び表示部413の構成及び動作は、実施の形態1のサーバ装置400を構成する通信暗号復号部401、認証部402、通信部403、入力部405及び表示部413と同様であるので、ここでは、改めて記載しない。
(1)情報記憶部1410
情報記憶部1410は、図28に示すように、コンテンツ記憶部412とプログラム記憶部1415から構成される。コンテンツ記憶部412は、実施の形態1のサーバ装置400を構成する情報記憶部410に含まれるコンテンツ記憶部412と同一である。
プログラム記憶部1415は、プログラム更新テーブル1420と、プログラムフォルダAI430、プログラムフォルダB440・・・を記憶している。プログラムフォルダAI430及びプログラムフォルダB440は、実施の形態1のサーバ装置400の有するプログラムフォルダAI430及びプログラムフォルダB440と同一であるので、説明を省略する。
プログラム更新テーブル1420は、図29に示すように、複数のプログラム情報1421、1422、1423・・・から構成され、各プログラム情報は、タイトル、最新バージョン情報、更新日、更新パターン、ファイル名、保存場所、プログラムサイズ、プログラム鍵及び重要度から構成される。重要度以外の各項目は、実施の形態1のプログラム更新テーブル420を構成するプログラム情報に含まれるタイトル、最新バージョン情報、更新日、更新パターン、ファイル名、保存場所、プログラムサイズ及びプログラム鍵と同様であるので、説明を省略する。
重要度は、更新パターンの示す更新の重要性を示しており、「2」は、重要性が高いことを示しており、「1」は、重要度が低いことを示している。例えば、プログラム情報1421は、更新パターン「3.0→4.5」と重要度「2」とを含んでいる。つまり、バージョン「3.0」からバージョン「4.5」の示す世代への更新は、例えば、セキュリティに関する欠陥の補完が含まれており、重要性が高いことを示している。
ここで、プログラム更新テーブル1420に含まれる重要度は、DVD1500bの更新データ表1530bに含まれる重要度及びDVD1500cに含まれる更新重要度表1530cに含まれる重要度と一致する。例えば、DVD1500bに記憶されている更新データ表1530bを構成する更新情報1531bは、旧バージョン情報「3.0」の示す世代からバージョン情報「4.5」の示す世代への重要度が「2」であることを示しており、これは、プログラム情報1421に含まれる重要度「2」と一致する。
(2)制御部1407
制御部1407は、具体的には図示していないマイクロプロセッサ、RAM及びROMから構成され、前記RAM及びROMにはコンピュータプログラムが記憶されており、前記マイクロプロセッサが前記コンピュータプログラムに従って動作することにより、制御部407はその機能を達成する。
制御部1407は、通信部403を介して端末装置1100から、公開鍵証明書Cert_Aを受け取ると、受け取ったCert_Aを認証部402へ出力し、SAC確立を指示する。認証部402からSAC確立成功を示す制御信号を受け取る。
また、制御部1407は、通信部403を介して、端末装置1100から暗号化タイトルと暗号化バージョン情報とを受信する。暗号化タイトルと暗号化バージョン情報とを受信すると、受信した暗号化タイトルと暗号化バージョン情報とを通信暗号復号部401に出力し、復号を指示する。次に、通信暗号復号部401からタイトルとバージョン情報を受け取る。
プログラム更新テーブル1420を構成するプログラム情報のうち、受け取ったタイトルを含むプログラム情報を選択し、選択したプログラム情報から、最新バージョン情報を読み出し、読み出した最新バージョン情報と受け取ったバージョン情報とを比較する。
受け取ったバージョン情報が最新バージョン情報よりも古い世代を示していると、制御部1407は、プログラム更新テーブル1420において、受け取ったタイトルを含み、受け取ったバージョン情報が更新パターンの更新前のバージョン情報と一致するプログラム情報1421を選択し、選択したプログラム情報1421に含まれるプログラムサイズと重要度とを読み出し、読み出した重要度とプログラムサイズとを通信部403を介して、端末装置1100へ送信する。
受け取ったバージョン情報が読み出した最新バージョン情報と同一の世代を示していると、重要度「0」を生成する。ここで、重要度「0」は、端末装置1100の備えるコンテンツ視聴プログラムが既に最新のものであり、更新の必要性が全くないことを示す。次に、生成した重要度「0」を、端末装置1100へ送信する。
また、制御部1407は、端末装置1100から、暗号化タイトルと暗号化バージョン情報とダウンロード要求とを受け取る。暗号化タイトルと暗号化バージョン情報とダウンロード要求とを受け取ると、受け取った暗号化タイトルと暗号化バージョン情報とを通信暗号復号部401に出力し、復号を指示する。次に、通信暗号復号部401から、タイトルとバージョン情報とを受け取り、受け取ったタイトルとバージョン情報を基に、プログラム更新テーブル1420からプログラム情報1421を選択し、選択したプログラム情報1421に含まれるプログラム鍵を読み出す。読み出したプログラム鍵を通信暗号復号部401に出力し、暗号化を指示する。
次に、制御部1407は、通信暗号復号部401から暗号化プログラム鍵を受け取り、選択したプログラム情報1421に含まれるファイル名と保存場所から、プログラムファイル431を読み出す。次に、読み出したプログラムファイル431と暗号化プログラム鍵とを通信部403及びインターネット20を介して端末装置1100へ送信する。
2.4 端末装置
端末装置1100は、図30に示すように、通信暗号復号部101、認証部102、通信部103、入出力部104、外部操作受付部105、更新制御部1106、主制御部107、主記憶部110、ハードディスクユニット111、時間管理部112、映像生成部113、電源制御部115及び電力供給部116から構成される。
以下に端末装置1100を構成する各部について説明するが、更新制御部1106以外の各構成については、実施の形態1の端末装置100と同一であるので、ここでは、更新制御部1106についてのみ説明する。
(1)更新制御部1106
更新制御部1106は、アップデート頻度「毎週月曜日」と新作期間「3ヶ月」とを記憶している。アップデー度頻度は、実施の形態1において説明した通りであるので、ここでは、説明を省略する。新作期間は、DVDに記憶されているコンテンツが新作であるか否かを判断する基準であり、作成日から「3ヶ月」を経過していないコンテンツは、新作であり保護価値が高く、作成日から「3ヶ月」を経過したコンテンツは、旧作であり保護価値が低い。
更新制御部1106は、主制御部107からアップデート頻度の設定変更情報を受け取ると、記憶しているアップデート頻度を変更する。なお、アップデート頻度は、端末装置1100の生産時に生産メーカーによって、設定されているとしてもよい。
(アップデートの開始)
更新制御部1106は、主制御部107から、アップデート開始を指示される。アップデート開始を指示されると、以下に説明する手順でコンテンツ視聴プログラムのアップデートの処理を行う。
実施の形態1において、更新制御部106は、ダウンロード、検証、インストール、それぞれのプロセスに係る所要時間を算出し、算出した所要時間によって、各プロセスを即実行するか保留するかを判断している。これに加えて、実施の形態2の更新制御部1106は、アップデートの重要性とDVDに記憶されているコンテンツ新旧とに応じて、アップデート処理の各プロセスを即行うか保留するかを判定する。以下に、更新制御部1106によるアップデートの手順を詳細に説明する。
更新制御部1106は、主制御部107から、アップデート開始を指示されると主記憶部110の保留情報に、保留しているプロセスが無いことを示す「E」を書き込む。
次に、更新制御部1106は自身が記憶している端末装置1100に搭載されているマイクロプロセッサのクロック周波数を読み出し、読み出したクロック周波数が400MHz以上であるか否かを判断し、判断結果に応じて並行フラグ「1」又は「0」を主記憶部110へ書き込む。並行フラグについては、実施の形態1において説明したとおりである。
次に、更新制御部1106は入出力部104を介して、DVDが装着されているか否かを判断する。DVDが装着されていなければ、以下の(1−1)の処理を行う。DVDが装着されていれば、さらにDVDの内容を確認し、DVD1500a、1500b又は1500cのいずれのDVDが装着されているかを確認し、装着されているDVDに応じて、以下の(1−2)〜(1−4)のいずれかの処理を行う。
(1−1)DVDが装着されていない場合
DVDが装着されていない場合、更新制御部1106は、主記憶部110に記憶されている並行フラグを読み出し、読み出した並行フラグが「1」であれば、主制御部107へ、並行処理可能を示す制御信号を出力する。並行フラグが「0」であれば、前記制御信号の出力は行わない。
次に、更新制御部1106は、実施の形態1において説明した(i−a)〜(i−g)の手順と同一の手順でアップデートの必要性の判定、ダウンロード時間の予測、ダウンロード、検証時間の予測、検証、インストール時間の予測、インストールの処理を行い、アップデート処理を完了又は保留する。なお、本実施の形態では、(i−a)において、サーバ装置1400から、比較結果に代わって、重要度を受信し、受信した重要度が「0」であれば、比較結果が「0」の場合と同様に、アップデート終了を示す制御信号を主制御部107へ出力する。受信した重要度が「1」又は「2」であれば、比較結果が「1」の場合と同様に、並行フラグを判別し、並行フラグが「0」であれば、ダウンロード時間を算出する。
(1−2)DVD1500aが装着されている場合
更新制御部1106は、DVD1500aから作成日1502aを読み出す。次に、現在日時を取得し、取得した現在日時から読み出した作成日を減算して、作成日からの経過期間を算出する。算出した経過期間と更新制御部1106自身が記憶している新作期間「3ヶ月」とを比較し、経過期間が3ヶ月より長ければ、更新制御部1106は、上記の(1−1)と同様にして、アップデート処理を完了又は保留する。
経過期間が3ヶ月以内である場合、更新制御部1106は、以下に説明する(1−2−a)重要度の取得、(1−2−b)アップデートの開始、の手順でアップデートを完了させる。
(1−2−a)重要度の取得
更新制御部1106は、認証部102にSAC確立を指示する。認証部102からSAC確立成功を示す制御信号を受け取ると、ハードディスクユニット111からコンテンツ視聴プログラム142に含まれるタイトル143とバージョン情報144とを読み出し、読み出したタイトル143とバージョン情報144とを通信暗号復号部101へ出力し、暗号化を指示する。
次に、更新制御部1106は、通信暗号復号部101から暗号化タイトルと暗号化バージョン情報とを受け取り、受け取った暗号化タイトルと暗号化バージョン情報とを通信部103を介してサーバ装置1400へ送信する。
次に、更新制御部1106は、通信部103を介して、サーバ装置1400から重要度又は、重要度とプログラムサイズとを受信する。
ここで受信する重要度は「0」、「1」、「2」の何れかであり、「0」は、端末装置1100の記憶しているコンテンツ視聴プログラムをアップデートする必要がないことを示し、「1」は、アップデートの必要はあるが、重要な変更事項を含まないアップデートであることを示す。「2」は、アップデートの必要性があり、重要な変更事項を含むことを示す。
この場合、コンテンツ視聴プログラムが「適切である」とは、最新の世代であることを指す。
(1−2−b)重要度に応じたアップデートの開始
受信した重要度が、「0」であれば、更新制御部1106は、主制御部107へ、アップデートの処理終了を示す制御信号を出力し、アップデートの処理を終了する。
受信した重要度が「1」であれば、更新制御部1106は、主記憶部110に記憶されている並行フラグを読み出し、読み出した並行フラグが「1」であれば、主制御部107へ、並行処理可能を示す制御信号を出力する。並行フラグが「0」であれば、前記制御信号の出力は行わない。
次に、更新制御部1106は、実施の形態1の、(i−b)〜(i−g)において、説明した手順と同様の手順で、ダウンロード時間の予測、ダウンロード、検証時間の予測、検証、インストール時間の予測、インストールの処理を行う。
これらの処理の詳細は、実施の形態1の更新制御部106の説明おいて、すでに説明しているので、ここでは改めて記載しない。
受信した重要度が「2」であれば、更新制御部1106は、認証部102へSAC確立を指示し、SAC確立後、サーバ装置1400へ暗号化タイトル、暗号化バージョン情報及びダウンロード要求をサーバ装置1400へ送信し、サーバ装置1400からプログラムファイルと暗号化プログラム鍵とを取得する。
次に、更新制御部1106は、通信暗号復号部101へ暗号化プログラム鍵の復号を指示し、プログラム鍵を取得し、取得したプログラム鍵と受信したプログラムファイルを主記憶部110へ書き込む。
次に、更新制御部1106は、受信したプログラムファイルに含まれているチェックデータを検証し、検証が成功すると、暗号化圧縮更新プログラムに復号及び解凍を施して、更新プログラムを生成し、生成した更新プログラムをインストールする。インストールが終了すると、主制御部107へアップデートの完了を示す制御信号を出力する。
ここで説明したダウンロードからインストールまでの一連の処理は、実施の形態1の、(9)更新制御部106の説明において、(A−a)〜(A−c)に記載した手順と同様であるのでここでは簡単な説明に留める。
(1−3)DVD1500bが装着された場合
更新制御部1106は、DVD1500bから作成日1502bを読み出す。次に、現在日時を取得し、取得した現在日時から読み出した作成日を減算して、作成日からの経過期間を算出する。算出した経過期間と更新制御部1106自身が記憶している新作期間「3ヶ月」とを比較する。
経過期間が3ヶ月より長ければ、更新制御部1106は、主記憶部110に記憶されている並行フラグを読み出す。読み出した並行フラグが「1」であれば、主制御部107へ、並行処理可能を示す制御信号を出力する。並行フラグが「0」であれば、前記制御信号の出力は行わない。
次に、更新制御部1106は、DVD1500bからバージョン情報505bを読み出し、読み出したバージョン情報505bとハードディスクユニット111に記憶されているバージョン情報144とを比較する。
この場合、コンテンツ視聴プログラムが「適切である」とは、DVDに記憶されているバージョン情報の示す世代と同一であること又はDVDに記憶されているバージョン情報の示す世代よりも新しい世代であることを指す。つまり、コンテンツの再生に適した世代のものであることを指す。
バージョン情報505bがバージョン情報144と同一の世代を示していると、更新制御部1106は、主制御部107へアップデート完了を示す制御信号を出力しアップデートの処理を終了する。
バージョン情報505bがバージョン情報144よりも新しい世代を示していれば、更新制御部1106は、アップデートの各プロセスの所要時間に応じて、プログラムファイルのダウンロード、チェックデータの検証、更新プログラムのインストールの処理を実行又は保留する。ここでのダウンロードからインストールまでの処理手順については、実施の形態1の (ii−b)〜(ii−g)に記載した手順と同一であるので、ごく簡単な説明に留める。
経過期間が3ヶ月以下であれば、更新制御部1106は、DVD1500bからバージョン情報505bを読み出し、ハードディスクユニットからバージョン情報144を読み出し、両者を比較する。DVD1500bから読み出したバージョン情報505bがバージョン情報144より新しい世代を示していると、更新制御部1106は、DVD1500bに記憶されている更新データ表1530bを構成する更新情報のうち、読み出したバージョン情報144と一致する旧バージョン情報を含む更新情報1531bを選択し、選択した更新情報1531bからプログラムサイズと重要度を読み出し、これらを一時的に記憶する。
DVD1500bから読み出したバージョン情報505bがバージョン情報144と同一の世代を示していると、更新制御部1106は、重要度「0」を生成する。
次に、生成した又は読み出した重要度に応じて、アップデートを行う。具体的には、上記の(1−2−b)重要度に応じたアップデートにおいて説明した手順と同様であり、DVD1500aをDVD1500bと読み替えればよいので、ここでは説明を省略する。
(1−4)DVD1500cが装着された場合
更新制御部1106は、DVD1500cから作成日1502cを読み出す。次に、現在日時を取得し、取得した現在日時から読み出した作成日を減算して、作成日からの経過期間を算出する。算出した経過期間と更新制御部1106自身が記憶している新作期間「3ヶ月」とを比較する。
経過期間が3ヶ月より長ければ、更新制御部1106は、主記憶部110に記憶されている並行フラグを読み出す。読み出した並行フラグが「1」であれば、主制御部107へ、並行処理可能を示す制御信号を出力する。並行フラグが「0」であれば、前記制御信号の出力は行わない。
次に、更新制御部1106は、実施の形態1の(iii−a)〜(iii−c)に記載した手順で、アップデートの必要性の判定、インストール時間の予測及びインストールを行う。これらの処理手順については、実施の形態1において、記載したとおりであるので、ここでは説明を省略する。
経過期間が3ヶ月以内であれば、更新制御部1106は、DVD1500cから、プログラムファイル503c及び更新重要度表1530cを読み出す。次に、ハードディスクユニット111に記憶されているコンテンツ視聴プログラム142含まれるバージョン情報144を読み出し、読み出したプログラムファイル503cに含まれるバージョン情報505cとハードディスクユニット111から読み出したバージョン情報144とを比較する。
この場合、コンテンツ視聴プログラムが「適切である」とは、DVDに記憶されているバージョン情報の示す世代と同一であること又はDVDに記憶されているバージョン情報の示す世代よりも新しい世代であることを指す。
バージョン情報505cがバージョン情報144よりも新しい世代を示していれば、更新制御部1106は、読み出した更新重要度表1530cから、自身の記憶しているコンテンツ視聴プログラムを示すバージョン情報144と一致する旧バージョン情報を含む重要度情報を選択し、選択した重要度情報に含まれる重要度を抽出する。
バージョン情報505cがバージョン情報144と同一の世代を示していれば、更新制御部1106は、更新制御部1106は、重要度「0」を生成する。
次に、更新制御部1106は、生成した、又は抽出した重要度に応じて、以下の処理を行う。
重要度が「0」であれば、主制御部107へ、アップデートの処理終了を示す制御信号を出力し、アップデートの処理を終了する。
重要度が「1」であれば、更新制御部1106は、主記憶部110に記憶されている並行フラグを読み出し、並行フラグが「1」であれば、主制御部107へ並行可能を示す制御信号を出力する。並行フラグ「0」であれば、前記制御信号の出力は行わない。
次に、主制御部107の制御によりコンテンツの再生がされていないことを確認し、再生がされていれば、主記憶部110の保留情報に、インストールのプロセスを保留することを示す「D」を書き込み、DVD1500cから読み出したプログラムファイル1503cをハードディスクユニット111に書き込む。
再生中でなければ、読み出したプログラムファイル503cに含まれるプログラムサイズを時間管理部112へ出力し、インストール時間を予測し、予測したインストール時間に応じて、インストールを実行又は保留をする。
インストール時間の予測からインストールの実行又は保留までの具体的な処理手順は、実施の形態1の更新制御部106の説明において、(iii−b)及び(iii−c)に記載したとおりであるので、ここでは簡単な説明に留める。
重要度が「2」であれば、更新制御部1106は、読み出したプログラムファイル503cに含まれる圧縮更新プログラム506cに解凍アルゴリズムZを施し、更新プログラムを生成する。生成した更新プログラムをインストールする。
インストールが完了すると、更新制御部1106は、アップデート完了を示す制御信号を主制御部107へ出力する。
(アップデートの再開)
更新制御部1106は、主制御部107から保留情報を受け取りアップデート再開を指示される。アップデートの再開を指示されると、受け取った保留情報に応じたプロセスから、アップデートの処理を再開し、アップデートを完了させる。
具体的な処理手順は、実施の形態1と同様であるので、ここでは、説明を省略する。
2.5 動作
端末装置1100の動作について、図31〜34のフローチャートを用いて説明する。
利用者による電源ボタンONを示す操作指示情報を受け取ると(ステップS1101)、主制御部107の指示により、モニタ120にスタート画面310が表示される(ステップS1102)。利用者のボタン操作により、スタート画面310に表示される選択肢のうち、スタート311が選択されると(ステップS1103のSTART)、そのままステップS1109へ処理を移す。設定変更312が選択されると(ステップS1103の設定変更)、主制御部107は、設定変更画面320をモニタ120へ表示し(ステップS1104)、利用者によるアップデート頻度、通信速度又は各許容時間の設定変更の入力を受け付ける(ステップS1107)。主制御部107は、受け付けた設定変更を更新制御部1106又は時間管理部112に出力する。更新制御部1106は受け取った設定変更を基に記憶しているアップデート頻度を書き換え、時間管理部112は受け取った設定変更を元に記憶している通信速度220及び許容時間設定表215を書き換える。(ステップS1108)。
次に、主制御部107は、更新制御部1106へアップデート開始を指示し、アップデート開始の指示を受けると、更新制御部1106は、主記憶部110に、保留しているプロセスが無いことを示す保留情報Eを書き込む(ステップS1109)。次に、端末装置1100に搭載されているマイクロプロセッサのクロック周波数が400MHz以上であるか否かを判断する(ステップS1111)。クロック周波数が400MHz以上であれば、並行フラグ「1」を設定する(ステップS1114)。クロック周波数が400MHz未満であれば、並行フラグ「0」を設定する(ステップS1112)。
次に、更新制御部1106は、入出力部104を介してDVDの装着の有無を検出し、DVDが装着されていなければ(ステップS1116のNO)、実施の形態1と同様に、アップデートの各プロセスにおける所要時間によるアップデートの制御を行う。具体的な、以後の端末装置の動作は、図13のステップS110以降の処理と同様である。
DVDが装着されていれば(ステップS1116のYES)、更新制御部1106は、入出力部104を介して、DVDから作成日を読み出し(ステップS1117)、読み出した作成日からの経過期間が、新作期間「3ヶ月」以内であるか否かを判断する(ステップS1119)。
3ヶ月を超えている場合、更新制御部1106は、図13のステップS110へ処理を移し、以後、所要時間によるアップデートの制御を行う。
経過期間が3ヶ月以内であり(ステップS1119のYES)、装着されているDVDが、DVD1500aである場合(ステップS1121の1500a)、更新制御部1106は、認証部102にSAC確立を指示する。
認証部102は、サーバ装置1400とセッション鍵を共有しSACを確立し、更新制御部1106にSAC確立成功を知らせる(ステップS1126)。
次に、更新制御部1106は、ハードディスクユニット111からコンテンツ視聴プログラム142のタイトル143とバージョン情報144とを読み出し(ステップS1127)通信暗号復号部101へ読み出したタイトル143とバージョン情報144を出力し、暗号化を指示する。通信暗号復号部101は、タイトル143とバージョン情報144を受け取り、セッション鍵を用いて、受け取ったタイトル143とバージョン情報144とに暗号化アルゴリズムE2を施し、暗号化タイトルと暗号化バージョン情報とを生成し、生成した暗号化タイトルと暗号化バージョン情報とを更新制御部1106へ出力する(ステップS1128)。
次に、更新制御部1106は、通信暗号復号部101から受け取った暗号化タイトルと暗号化バージョン情報とをサーバ装置1400へ送信する(ステップS1131)。
サーバ装置1400の制御部1407は、インターネット20を介して、端末装置1100から暗号化タイトルと暗号化バージョン情報とを受信し、これらの復号を通信暗号復号部401へ指示する。通信暗号復号部401は、セッション鍵を用いて、受け取った暗号化タイトルと暗号化バージョン情報とに復号アルゴリズムD2を施し、タイトルとバージョン情報とを生成し、生成したタイトルとバージョン情報を制御部1407へ出力する(ステップS1132)。制御部1407は、受け取ったタイトルを基にプログラム更新テーブル1420最新バージョン情報を読み出し(ステップS1134)、読み出した最新バージョン情報と通信暗号復号部401により生成されたバージョン情報とを比較する(ステップS1136)。
バージョン情報と最新バージョン情報とが同一の世代を示していれば(ステップS1136のNO)、制御部1407は、重要度「0」を生成する(ステップS1137)。バージョン情報が最新バージョン情報よりも古い世代を示していれば(ステップS1136のYES)、受け取ったタイトルとバージョン情報とを基に、プログラム更新テーブル1420からプログラム情報を選択し、選択したプログラム情報に含まれるプログラムサイズと重要度とを読み出す(ステップS1139)。
次に、制御部1407は、読み出したプログラムサイズと重要度、又は、重要度のみをインターネット20を介して端末装置1100へ送信する(ステップS1141)。
端末装置1100の更新制御部1106は、通信部103及びインターネット20を介して、サーバ装置1400からプログラムサイズと重要度、又は重要度を受信する。受信した重要度が「0」であれば(ステップS1151の「0」)、更新制御部1106は、主制御部107へアップデート終了を示す制御信号を出力する。
アップデート終了を示す制御信号を受け取った主制御部107は、実施の形態1と同様に、利用者による操作の受付を開始する。これ以降の、端末装置1100の具体的な動作は、図19のステップS195以降の動作と同様であるので、ここでは、説明を省略する。
受信した重要度が「1」の場合(ステップS1151の「1」)、更新制御部1106は、主記憶部110から並行フラグを読み出し、読み出した並行フラグが「0」であれば、実施の形態1と同様に、アップデートの各プロセスの所要時間に応じたアップデートの制御を行う。以後の、端末装置1100の動作は、図16のステップS139以降の動作と同様であるので、ここでは、説明を省略する。
読み出した並行フラグが「1」であれば、更新制御部1106は、並行処理可能を示す制御信号を主制御部107へ出力し、並行処理可能を示す制御信号を受け取った主制御部107は、図19のステップS195へ処理を移す。
また、並行処理可能を示す制御信号を出力した後、更新制御部1106は、図16のステップS139へ処理を移し、所要時間によるアップデートの制御を行う。
受信した重要度が「2」であれば、更新制御部1106は、インターネット20を介して、サーバ装置1400へ暗号化タイトルと暗号化バージョン情報とダウンロード要求を送信し、サーバ装置1400からプログラムファイルと暗号化プログラム鍵とをダウンロードする(ステップS1153)。
次に、更新制御部1106は、ダウンロードした暗号化プログラム鍵を、通信暗号復号部101へ出力して復号を指示し、通信暗号復号部101からプログラム鍵を受け取る(ステップS1156)。
続いて、更新制御部1106は、ダウンロードしたプログラムファイルに含まれるチェックデータを検証し(ステップS1157)、検証が失敗であれば(ステップS1158のNO)、ステップS1153へもどる。
検証が成功であると(ステップS1158のYES)、更新制御部1106は、ダウンロードしたプログラムファイルに含まれる暗号化圧縮更新プログラムを復号及び解凍して更新プログラムを生成し、生成した更新プログラムをインストールする(ステップS1159)。インストールが完了すると、更新制御部1106は、アップデート完了を示す制御信号を主制御部107へ出力しアップデート処理を終了する。
主制御部107は、アップデート完了を示す制御信号を受け取り、図19のステップS195へ処理を移す。
ステップS1121において、DVD1500bが装着されていると判断すると、更新制御部1106は、DVD1500bからバージョン情報505bを読み出し(ステップS1144)、読み出したバージョン情報505bとハードディスクユニット111に記憶されているバージョン情報144とを比較する(ステップS1146)。DVD1500bから読み出したバージョン情報505bが、バージョン情報144よりも新しい世代を示している場合(ステップS1146のYES)、更新制御部1106は、DVD1500bに記憶されている更新データ表1530bを構成する更新情報のうち、ハードディスクユニット111から読み出したバージョン情報144と一致する旧バージョン情報を含むものを選択し、選択した更新情報に含まれるプログラムサイズと重要度とを読み出し(ステップS1149)、ステップS1151へ処理を移す。
DVD1500bから読み出したバージョン情報505bが、ハードディスクユニット111から読み出したバージョン情報144と同一の世代を示している場合(ステップS1146のNO)、更新制御部1106は、重要度「0」を生成し(ステップS1147)、ステップS1151へ処理を移す。
ステップS1121において、DVD1500cが装着されていると判断すると、更新制御部1106は、入出力部104を介してDVD1500cから、プログラムファイル503cと更新重要度表1530cとを読み出し(ステップS1166)、読み出したプログラムファイル503cに含まれるバージョン情報505cと、ハードディスクユニット111に記憶されているバージョン情報144とを比較する(ステップS1167)。バージョン情報505cがバージョン情報144よりも新しい世代を示している場合(ステップS1167のYES)、読み出した更新重要度表1530cを構成する重要度情報のうち、ハードディスクユニット111から読み出したバージョン情報144と一致する旧バージョン情報を含むものを選択し、選択した重要度情報から重要度を抽出する(ステップS1168)。
ハードディスクユニット111から読み出したバージョン情報144が、DVD1500cから読み出したプログラムファイル503cに含まれるバージョン情報505cの示す世代と同一の世代を示していれば(ステップS1167のNO)、重要度「0」を生成する(ステップS1169)。
生成又は抽出した重要度が「0」であれば(ステップS1172の「0」)、更新制御部1106は、主制御部107へアップデート終了を示す制御信号を出力し、アップデートの処理を終了する。アップデート終了を示す制御信号を受け取った主制御部107は、利用者による操作の受付を開始する。以後の、端末装置1100の動作は、図19のステップS195以降の動作と同様である。
重要度が「1」であれば(ステップS1172の「1」)、更新制御部1106は、主記憶部110から並行フラグを読み出す。読み出した並行フラグが「0」であれば(ステップS1173の「0」)、更新制御部1106は、実施の形態1の場合と同様に、所要時間によるアップデートの制御を行う。これ以後の、端末装置1100の動作は、図14ステップS243以降の動作と同一であるのでここでは、説明を省略する。
並行フラグが「1」であれば(ステップS1173の「1」)、更新制御部1106は、並行処理可能を示す制御信号を主制御部107へ出力し、主制御部107は、ステップS195へ処理を移す。
また、並行処理可能を示す制御信号を出力した後、更新制御部1106は、ステップS243へ処理を移す。
重要度が「2」であれば(ステップS1172の「2」)、更新制御部1106は、読み出したプログラムファイル503cに含まれる圧縮更新プログラム506cを解凍して更新プログラムを生成し(ステップS1176)、生成した更新プログラムをインストールする(ステップS1177)。
2.6 まとめ・効果
以上、説明してきたように、実施の形態2のアップデートシステム11を構成する端末装置1100は、装着されたDVDに記憶されているコンテンツの新旧と、端末装置1100が、現在記憶しているコンテンツ視聴プログラムの最新の世代へのアップデートの重要性とを基にアップデートのタイミングを決定する。
コンテンツが新作でかつアップデート重要性が高い場合には、すぐにアップデートを実行する。
コンテンツが旧作の場合は、アップデートの重要性にかかわらず、アップデートの各プロセスの所要時間によって、各プロセスを即実行するか保留するかを決定する。
新作のコンテンツは、発売されてからの期間が短いため、今後の販売数が伸びるという潜在的価値がある。そのため、コンテンツを不正コピーや不正改ざんといった、不正利用から保護する価値が高い。
従って、最新のコンテンツ視聴プログラムが、現在、端末装置1100の記憶している世代のコンテンツ視聴プログラムのセキュリティ上の問題点を補うような重要な追加・変更事項を含んでおり、アップデートの重要性が高い場合は、実行装置1100は、コンテンツを再生する前に、すぐに、アップデートを実行し、保護価値の高いコンテンツを安全に取り扱うことができる。このようにして、保護価値の高いコンテンツについては、コンテンツの管理者の権利の保護を優先する。
逆に、旧作のコンテンツは、すでに、発売されてから期間が経過しているため、ある程度、需要が満たされており、今後の販売数の伸びは小さく、保護価値が低いと考えられる。
コンテンツの保護価値が低い場合、又は、アップデートの重要性が低い場合は、アップデートの各プロセスの所要時間に応じて、アップデートを保留し、利用者の利便性を優先する。
このようにして、アップデートのタイミングの決定に、コンテンツの新旧と、アップデートの所要時間とを加味することで、コンテンツの権利者の権利保護と利用者の利便性との調整を図ることができる。
2.7 実施の形態2に関する変形例
以上、実施の形態2について、説明してきたが、本発明は、これに限るものではなく、以下のような実施の形態2に関する変形例も含む。
(1)実施の形態2では、DVDに記録されているコンテンツの新旧と、アップデートの重要性によって、アップデートをすぐに実行するか否かを判断したが、コンテンツの新旧に代わって、コンテンツの画質によって判断しても良い。
ここでは、端末装置1100は、DVDのみならず、ハイブリットディスクから情報を読み取ることができる。
ハイブリットディスクは、8.5ギガバイトの容量のDVD層と25ギガバイトのブルーレイ層とを備える多層構造の光ディスクであり、DVD層には低画質(SD映像)のコンテンツが記録されており、ブルーレイ層には、高画質(HD映像)のコンテンツが記録されている。DVD層に記録されているコンテンツとブルーレイ層に記録されているコンテンツは、同一内容のものである。
主制御部107は、ハイブリットディスクが装着された場合には、ブルーレイ層に記録されている高画質のコンテンツを読み出し、再生する。
更新制御部1106は、アップデート開始を指示されると、入出力部104を介して、装着されているディスクの内容を確認し、HD映像のコンテンツが記憶されているか否かを判別する。SD映像のコンテンツのみ記憶されていれば、実施の形態1と同様にして、アップデートの各プロセスの所要時間に応じて、アップデートを完了又は保留する。
HD映像のコンテンツが記録されていれば、装着されているディスク又はサーバ装置1400から重要度を取得し、重要度が「2」であれば、コンテンツの再生に先立ってアップデートを完了する。
(3)また、コンテンツの新旧に代わって、コンテンツのヒット度によって判断しても良い。ヒット度とは、コンテンツの人気の度合いを示す値であり、一例として、コンテンツを記録したDVDの売り上げ枚数である。
この変形例において、DVDには、コンテンツと対応するコンテンツ識別子が記憶されている。
サーバ装置1400は、コンテンツ識別子とコンテンツ識別子の示すコンテンツのヒット度とを対応付けて記憶している。
端末装置1100の更新制御部1106は、予めヒット基準値「20,000」を記憶している。アップデートの開始に先立って、コンテンツのタイトル、コンテンツ識別子及びヒット度の送信要求をサーバ装置1400へ送信する。
サーバ装置1400は、コンテンツのタイトルとコンテンツ識別子とヒット度送信要求とを受信すると、受信した識別子と対応するヒット度をインターネット20を介して、端末装置1100へ送信する。
端末装置1100の更新制御部1106は、サーバ装置1400からヒット度を受信する。受信したヒット度がヒット基準値「20,000」未満であれば、実施の形態1と同様に、アップデートに係る各プロセスの所要時間に応じたアップデートの制御を行う。
受信したヒット度がヒット基準値「20,000」以上であれば、装着されているDVD又はサーバ装置1400から重要度を取得し、取得した重要度が「2」であれば、コンテンツの再生に先立って、アップデートを完了させる。
(4)ヒット度は、販売枚数に限らず、ラジオ局へのリクエスト数、放送回数などであってもよいし、これらを総合的に数値化したものでも良い。
(5)実施の形態2では、コンテンツ視聴プログラムのアップデートの必要性の有無だけでなく、アップデートの重要性も、アップデートのタイミングの判定の要素となっているが、これは、必ずしも必須ではない。
端末装置1100にDVD1500aが装着されている場合、実施の形態1と同様にサーバ装置1400は、最新バージョン情報と端末装置1100から受信したバージョン情報を比較し、比較の結果に応じて比較結果を生成して、端末装置1100に送信する。
端末装置1100は、サーバ装置1400から比較結果を受信し、受信した比較結果が「1」であれば、DVDに記憶されているコンテンツの新旧のみにより、アップデートのタイミングを決定する。
端末装置1100にDVD1500b又はDVD1500cが装着されている場合も、DVDに記憶されているバージョン情報と端末装置1100の記憶しているバージョン情報とを比較し、前者の示す世代が後者の示す世代よりも新しければ、アップデートの必要があると判断し、DVDに記憶されているコンテンツの新旧により、アップデートのタイミングを決定する。
(6)上記の実施の形態2では、サーバ装置1400が、最新バージョン情報と端末装置1100の記憶しているコンテンツ視聴プログラムの世代を示すバージョン情報とを比較しているが、端末装置1100がこの比較を行っても良い。
この場合、端末装置1100は、サーバ装置1400へ、暗号化タイトルのみを送信する。
サーバ装置1400は、受信した暗号化タイトルを復号してタイトルを生成し、生成したタイトルと対応する最新バージョン情報を端末装置1100へ送信する。
端末装置1100は、受信した最新バージョン情報と自身が記憶しているバージョン情報とを比較し、最新バージョン情報が、自身の記憶しているバージョン情報よりも新しい世代を示していると、次に、インターネット20を介して、サーバ装置1400へ、暗号化タイトルと暗号化バージョン情報とを送信し、重要度とプログラムサイズとを要求する。
(7)実施の形態2では、DVDにコンテンツの作成日が記録されており、端末装置1100自身が、コンテンツの新旧とアップデートの重要性に基づいて、アップデートのタイミングを決定している。
これに代わって、サーバ装置1400が、アップデート必要性の有無及びアップデートのタイミングを判断し、端末装置1100に指示しても良い。
この場合、DVDには、作成日に代わってコンテンツをと対応するコンテンツ識別子が記録されている。なお、ここでは、端末装置1100に装着されるDVDは1500aのように、コンテンツ及びコンテンツ識別子のみが記録されているとする。
サーバ装置1400は、予め、図35に示すようなコンテンツテーブル1470を記憶している。コンテンツテーブル1470は、複数のコンテンツ情報1471、1472、1473・・・から構成されている。各コンテンツ情報は、コンテンツ識別子と作成日と新作期限とを含む。作成日はコンテンツ識別子の示すコンテンツの作成された日を示しており、新作期限は、コンテンツ識別子の示すコンテンツが新作であるか否かを判定する基準となる日付である。
端末装置1100の更新制御部1106は、アップデート開始を指示されるとDVDからコンテンツ識別子を読み出し、ハードディスクユニット111からコンテンツ視聴プログラムのタイトルとバージョン情報とを読み出し、読み出したコンテンツ識別子とコンテンツ視聴プログラムのタイトルとバージョン情報とを、インターネット20を介してサーバ装置1400へ送信する。
サーバ装置1400の制御部1407は、インターネット20を介して、端末装置1100からコンテンツ識別子とタイトルとバージョン情報とを受信する。
コンテンツテーブル1470において、受信したコンテンツ識別子と一致するコンテンツ識別子を含むコンテンツ情報を選択し、選択したコンテンツ情報に含まれる新作期限を読み出し、読み出した新作期限と現在日時とを比較する。
また、制御部1407は、受信したタイトルと対応する最新バージョン情報と受信したバージョン情報とを比較し、受信したバージョン情報と読み出した最新バージョン情報とが同一の世代を示していれば、新作期限と現在日時との比較結果に関わらず、判定結果「0」を生成する。判定結果「0」は、端末装置1100の有するコンテンツ視聴プログラムは既に最新のものであり、アップデートの必要がないことを示す。
受信したバージョン情報が読み出した最新バージョン情報よりも古い世代を示していれば、制御部1407は、プログラム更新テーブル1420において、受信したタイトルを含み、更新パターンの旧バージョン情報が受信したバージョン情報と一致するプログラム情報を選択し、選択したプログラム情報に含まれる重要度を読み出す。
読み出した重要度が「1」の場合、新作期限と現在日時との比較結果に関わらず、判定結果「1」を生成する。判定結果「1」は、アップデートは必要であるが、端末装置1100において、設定されている許容時間と、アップデートの各プロセスの所要時間に応じてアップデートの各プロセスをすぐに実行するか保留するかを判断し、アップデートすれば良いことを示す。次に、選択したプログラム情報に含まれるプログラムサイズを読み出す。
読み出した重要度が「2」で、かつ、新作期限が現在日時よりも先の日付を示していれば、判定結果「2」を生成する。判定結果「2」は、アップデートをすぐに行う必要があることを示している。
判定結果を生成し終えると、制御部1407は、インターネット20を介して、端末装置1100へ生成した判定結果(判定結果「1」の場合は、判定結果「1」とプログラムサイズ)を端末装置1100へ送信する。
端末装置1100の更新制御部1106は、インターネット20を介して、サーバ装置1400から判定結果又は判定結果とプログラムサイズとを受信する。
受信した判定結果が「0」であれば、更新制御部1106は、アップデート終了を示す制御信号を主制御部107へ出力してアップデートの処理を終了する。
受信した判定結果が「1」であれば、受信したプログラムサイズを時間管理部112へ出力し、ダウンロード時間の予測を指示する。以下、実施の形態1と同様にして、アップデートに係る各プロセスの所要時間によって、アップデートの処理を完了又は保留する。
受信した判定結果が「2」であれば、コンテンツ再生に先立って、アップデートを完了する。
このように、コンテンツテーブル1470をサーバ装置1400が記憶しており、アップデートのタイミングをサーバ装置1400において、判定することで、後発的に新作期限を変更し、コンテンツの権利者の意思をコンテンツの保護に柔軟に反映させることができる。
例えば、新作期限を、レンタル解禁日、続編の発売日などに設定しておく。後発的に、これらの予定が変更になった場合、サーバ装置1400の記憶している新作期限を変更し、状況の変化に柔軟に対応することができる。
3. その他の変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)上記の実施の形態1及び2において、並行処理不可の場合、ダウンロード時間、検証時間及びインストール時間について、時間の検討を行っているが、DVD500c又は1500cからプログラムファイルを読み出す読出時間、暗号化圧縮プログラムの復号時間及び圧縮プログラムの解凍時間についても同様に、あらかじめ許容時間を設定しておき、所要時間を算出し、算出した所要時間が許容時間内であるか否かの判定をしてもよい。
読出時間、復号時間又は解凍時間が、それぞれの許容時間を超えていると判断すると、読み出し、復号又は解凍以降の処理を保留する。
(2)上記の実施の形態1及び2において、ダウンロード許容時間、検証許容時間及びインストール許容時間をそれぞれ設定しているが、ダウンロードからインストールまでを終了しアップデートを完了するまでの、アップデート許容時間を設定してもよい。
このとき、時間管理部112は、更新制御部から受け取ったプログラムサイズから、ダウンロード時間、検証時間及びインストール時間をそれぞれ算出し、算出したダウンロード時間、検証時間及びインストール時間の和と、設定されたアップデート許容時間とを比較し、算出した和がアップデート許容時間以下であれば、直ちにアップデートを開始し、算出した和がアップデート許容時間を超えるときは、アップデートを保留するとしてもよい。
(3)上記の(2)において、アップデート許容時間内に終了できる処理のみを行い、それ以外の処理を保留するとしてもよい。
具体的には、先ず、プログラムサイズをもとに、ダウンロード時間、検証時間及びインストール時間を算出する。
次に、アップデート許容時間と算出したダウンロード時間とを比較し、ダウンロード時間がアップデート許容時間を超えていれば、ダウンロード以降の処理を全て保留する。
ダウンロード時間がアップデート許容時間内であれば、次に、ダウンロード時間と検証時間の和を算出し、アップデート時間と算出した和とを比較する。算出したダウンロード時間と検証時間の和がアップデート許容時間を超えていると判断すると、ダウンロードのみを即実行し、検証以降の処理を保留する。
算出したダウンロード時間と検証時間の和がアップデート許容時間内であれば、
次に、ダウンロード時間、検証時間及びインストール時間の和を算出し、算出した和とアップデート許容時間とを比較する。算出した和がアップデート許容時間を超えると判断すると、ダウンロードと検証とを即実行し、インストールを保留する。算出した和がアップデート許容時間内であれば、ダウンロードからインストールまでを行う。
(4)上記の変形例(2)において、算出した和がアップデート許容時間を超えるときは、アップデートを中止するとしても良い。この場合、更新制御部は、中止した回数を計数するカウンタを備えており、アップデートを中止するたびにカウンタに1加算する。また、更新制御部は、猶予回数「3」を記憶している。
カウンタの値が猶予回数「3」と等しい場合は、上記の和の算出及びアップデート許容時間と和の比較は省略し、すぐにアップデートを実行する。
(5)端末装置に装着されるDVDにコンテンツと前記コンテンツを再生する手順を含むコンピュータプログラムが記憶されているとしてもよい。以下、コンテンツとコンピュータプログラムを記憶しているDVDをDVD500dと呼ぶ。
この場合、端末装置100は、自身が記憶しているコンテンツ視聴プログラム142のバージョン情報144にかかわらず、DVD500dに記憶されているプログラムを読み出し、インストールする。
その際に、インストール時間を算出し、算出結果がインストール許容時間内であれば直ちにインストールし、インストール許容時間を超えるときは、インストールを保留する。
(6)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
(7)実施の形態1及び2で、更新制御部は、マイクロプロセッサのクロック周波数によって、並行フラグを設定しているが、予め、再生処理中のマイクロプロセッサの稼働率を算出しておき、稼働率が、所定値以下であれば、並行処理可能と判断して、並行フラグ「1」を設定しても良い。
(7)また、上記の実施の形態及び上記の変形例を組み合わせてもよい。
(8)コンピュータプログラムを更新する内容が定義された更新プログラムの取得プロセス及び前記コンピュータプログラムの更新プロセスを少なくとも含むプログラム導入を経て、前記コンピュータプログラムを更新する端末装置であって、前記コンピュータプログラムに従ってユーザデータを処理する処理手段と、前記プログラム導入を構成する各プロセスの実行が、前記コンピュータプログラムに従った動作に支障を来すか否かを判断する支障判断手段と、前記支障判断手段により支障を来すと判断する場合に、当該プロセスの実行を保留し、支障を来さないと判断する場合に、当該プロセスを実行する通常実行手段とを備える。
(9)前記端末装置は、さらに、前記更新プログラムによる更新を行うか否かを判断する更新判断手段を備え、前記支障判断手段は、前記更新判断手段により更新すると判断される場合に、前記プログラム導入を構成する各プロセスの実行が、前記コンピュータプログラムに従った動作に支障を来すか否かを判断する。
(10)前記端末装置において、前記プログラム導入は、取得した前記更新プログラムの正当性の検証プロセス及び取得した前記更新プログラムの伸張プロセスの両方又はいずれか一方を含む。
(11)前記端末装置は、ネットワークを介して前記端末装置と接続されているサーバ装置は、前記更新プログラムをあらかじめ記録しており、前記通常実行手段は、前記取得プロセスを実行する場合、ネットワークを介して前記サーバ装置から前記更新プログラムを取得する。
(12)前記端末装置は、前記コンピュータプログラムの世代を示す端末側プログラム版数を記憶しており、前記サーバ装置は、前記更新プログラムを用いた更新により新たに生成されるコンピュータプログラムの世代を示すサーバ側プログラム版数を記憶しており、前記更新判断手段は、前記端末側プログラム版数と前記サーバ側プログラム版数とを比較し、前記端末側プログラム版数により示される世代が、前記サーバ側プログラム版数により示される世代と一致する場合に、前記更新プログラムによる更新を行わないと判断し、前記端末側プログラム版数により示される世代が、前記サーバ側プログラム版数により示される世代より古い場合には、前記更新プログラムによる更新を行うと判断する。
(13)前記端末装置を構成する、前記更新判断手段は、定期的に前記比較を行う。
(14)前記端末装置は、さらに、デジタル著作物であるコンテンツを記録している記録媒体が装着されたことを検出する検出手段と、前記記録媒体から前記コンテンツを読み出す読出手段とを備え、前記コンピュータプログラムは、前記コンテンツを再生する手順を含み、前記処理手段は、前記コンピュータプログラムに従って動作することにより、読み出された前記コンテンツを再生し、前記更新判断手段は、前記検出手段により前記記録媒体の装着が検出された場合に、前記比較を行う。
(15)前記記録媒体は、さらに、前記コンテンツの再生の際に従うコンピュータプログラムの世代を示す媒体版数を記録しており、前記読出手段は、さらに、前記記録媒体から前記媒体版数を読み出し、前記更新判断手段は、前記検出手段により前記記録媒体の装着が検出された場合に、前記比較に代えて、前記端末側プログラム版数と前記媒体版数とを比較し、前記端末側プログラム版数により示される世代が、前記媒体版数により示される世代と一致する場合に、前記更新プログラムによる更新を行わないと判断し、前記端末側プログラム版数により示される世代が、前記媒体版数により示される世代より古い場合には、前記更新プログラムによる更新を行うと判断する。
(16)記録媒体は、前記更新プログラムをあらかじめ記録しており、端末装置を構成する前記通常実行手段は、前記取得プロセスを実行する場合、前記記録媒体から前記更新プログラムを取得する。
(17)前記端末装置は、前記コンピュータプログラムの世代を示す端末側プログラム版数を記憶しており、前記記録媒体は、前記更新プログラムを用いた更新により新たに生成されるコンピュータプログラムの世代を示す媒体版数を記憶しており、前記更新判断手段は、前記端末側プログラム版数と前記媒体版数とを比較し、前記端末側プログラム版数により示される世代が、前記媒体版数により示される世代と一致する場合に、前記更新プログラムによる更新を行わないと判断し、前記端末側プログラム版数により示される世代が、前記媒体版数により示される世代より古い場合には、前記更新プログラムによる更新を行うと判断する。
(18)前記端末装置を構成する前記更新判断手段は、定期的に前記比較を行う。
(19)前記端末装置は、さらに、前記記録媒体が装着されたことを検出する検出手段を備え、前記更新判断手段は、前記検出手段により前記記録媒体の装着が検出された場合に、前記比較を行う。
(20)前記端末装置を構成する前記支障判断手段は、前記プロセスの実行に要すると予測される予測時間と、所定時間とを比較し、前記予測時間が前記所定時間より長いと判断する場合に、支障を来すと判断する。
(21)前記端末装置を構成する前記支障判断手段は、前記取得プロセスの実行に要すると予測される前記予測時間と、前記所定時間とを比較する。
(22)ネットワークを介して前記端末装置と接続されているサーバ装置は、前記更新プログラムをあらかじめ記録しており、前記端末装置を構成する前記通常実行手段は、前記取得プロセスを実行する場合、ネットワークを介して前記サーバ装置から前記更新プログラムを取得し、前記支障判断手段は、前記サーバ装置からの前記更新プログラムの取得に要すると予測される前記予測時間と、前記所定時間とを比較する。
(23)前記端末装置を構成する前記支障判断手段は、あらかじめサーバ装置との通信速度を記憶しており、前記通信速度を用いて、前記予測時間を算出する。
(24)記録媒体は、前記更新プログラムをあらかじめ記録しており、前記端末装置を構成する前記通常実行手段は、前記取得プロセスを実行する場合、前記記録媒体から前記更新プログラムを取得し、前記支障判断手段は、前記記録媒体からの前記更新プログラムの読出しに要すると予測される前記予測時間と、前記所定時間とを比較する。
(25)前記端末装置を構成する前記支障判断手段は、あらかじめ記録媒体からの読出速度を記憶しており、前記読出速度を用いて、前記予測時間を算出する。
(26)前記端末装置を構成する前記支障判断手段は、前記更新プロセスの実行に要すると予測される予測時間と、所定時間とを比較する。
(27)前記端末装置は、マイクロプロセッサを内蔵し、前記マイクロプロセッサの速度性能を記憶しており、各手段は、前記マイクロプロセッサにより、動作し、前記支障判断手段は、前記速度性能を用いて、前記予測時間を算出する。
(28)前記端末装置を構成する前記支障判断手段は、利用者から前記所定時間の入力を受け付ける。
(29)前記端末装置は、マイクロプロセッサを内蔵し、前記マイクロプロセッサの速度性能を記憶しており、各手段は、前記マイクロプロセッサにより、動作し、前記端末装置は、前記マイクロプロセッサの稼働率を算出し、前記支障判断手段は、前記稼働率が一定値以上の場合に、支障を来すと判断する。
(30)前記端末装置は、さらに、前記コンピュータプログラムに従った前記処理が終了したか否かを判断する終了判断手段と、前記終了判断手段により終了したと判断される場合に、保留されたプロセスが存在すれば、当該プロセスを実行する保留実行手段とを備える。
(31)ネットワークを介して前記端末装置と接続されているサーバ装置は、前記更新プログラムをあらかじめ記録しており、前記保留実行手段は、前記取得プロセスを実行する場合、ネットワークを介して前記サーバ装置から前記更新プログラムを取得する。
(32)記録媒体は、前記更新プログラムをあらかじめ記録しており、前記端末装置を構成する前記保留実行手段は、前記取得プロセスを実行する場合、前記記録媒体から前記更新プログラムを取得する。
(33)前記端末装置を構成する前記終了判断手段は、前記コンピュータプログラムによる処理の完了を検出し、前記完了を検出した場合に、前記コンピュータプログラムによる処理が終了したと判断する。
(34)前記端末装置を構成する前記終了判断手段は、利用者による端末装置の電源offの操作を検出し、前記操作を検出した場合に、前記コンピュータプログラムによる処理が終了したと判断する。
(35)必要に応じて、コンピュータプログラムを更新する内容が定義された更新プログラムの取得プロセス及び前記コンピュータプログラムの更新プロセスを少なくとも含むプログラム導入を経て、前記コンピュータプログラムを更新する端末装置であって、前記コンピュータプログラムに従ってユーザデータを処理する処理手段と、前記更新プログラムによる更新を行うか否かを判断する更新判断手段と、前記更新判断手段により更新すると判断される場合に、前記プログラム導入を構成する各プロセスの実行が、前記コンピュータプログラムに従った動作に支障を来すか否かを判断する支障判断手段と、前記支障判断手段により支障を来すと判断する場合に、当該プロセスの実行を保留し、支障を来さないと判断する場合に、当該プロセスを実行する通常実行手段と、前記コンピュータプログラムに従った前記処理が終了したか否かを判断する終了判断手段と、前記終了判断手段により終了したと判断される場合に、保留されたプロセスが存在すれば、当該プロセスを実行する保留実行手段とを備える。
(36)コンピュータプログラムを更新する内容が定義された更新プログラムを端末装置へ送信するサーバ装置であって、前記更新プログラムを記憶している記憶手段と、前記端末装置からの要求に応じて、前記記憶手段から前記更新プログラムを読み出す読出手段と、読み出した前記更新プログラムを、ネットワークを介して接続された前記端末装置へ送信する送信手段とを備える。
(37)コンピュータ読み取り可能な記録媒体であって、コンピュータデータとコンピュータプログラムを識別するプログラム識別子とを記録しており、前記コンピュータプログラムは、前記コンピュータデータを処理するために適切なものである。
(38)前記記録媒体に記録されているプログラム識別子は、前記コンピュータプログラムの世代を示すプログラム版数を含み、前記プログラム版数により世代が示されるコンピュータプログラムは、前記コンピュータデータを処理するために適切なものである。
(39)コンピュータ読み取り可能な記録媒体であって、コンピュータデータと更新プログラムとを記録しており、前記更新プログラムには、旧コンピュータプログラムを更新して、前記コンピュータデータを処理するために適切な新コンピュータプログラムを生成する内容が定義されている。
(40)コンピュータプログラムを更新する内容が定義された更新プログラムの取得プロセス及び前記コンピュータプログラムの更新プロセスを少なくとも含むプログラム導入を経て、前記コンピュータプログラムを更新する端末装置で用いられる制御方法であって、前記コンピュータプログラムに従ってユーザデータを処理する処理ステップと、前記プログラム導入を構成する各プロセスの実行が、前記コンピュータプログラムに従った動作に支障を来すか否かを判断する支障判断ステップと、前記支障判断ステップにより支障を来すと判断する場合に、当該プロセスの実行を保留し、支障を来さないと判断する場合に、当該プロセスを実行する通常実行ステップとを含む。
(41)コンピュータプログラムを更新する内容が定義された更新プログラムの取得プロセス及び前記コンピュータプログラムの更新プロセスを少なくとも含むプログラム導入を経て、前記コンピュータプログラムを更新する端末装置で用いられる制御プログラムであって、前記コンピュータプログラムに従ってユーザデータを処理する処理ステップと、前記プログラム導入を構成する各プロセスの実行が、前記コンピュータプログラムに従った動作に支障を来すか否かを判断する支障判断ステップと、前記支障判断ステップにより支障を来すと判断する場合に、当該プロセスの実行を保留し、支障を来さないと判断する場合に、当該プロセスを実行する通常実行ステップとを含む。
(42)前記制御プログラムは、コンピュータ読み取り可能なプログラム記録媒体に記録されている。
本発明は、コンピュータプログラムを利用者に提供する産業や、前記コンピュータプログラムを実行することができるコンピュータシステムを生産し、販売する産業において、経営的に、また継続的かつ反覆的に利用することができる。

Claims (22)

  1. コンテンツ記録媒体に記録されているコンテンツを利用するコンテンツ利用装置であって、
    コンテンツの利用を制御するコンピュータプログラムを記憶している記憶手段と、
    利用対象のコンテンツの新旧、品質又はヒット度を示す価値を取得し、取得した価値が一定基準を満たすか否かを判断する価値判断手段と、
    前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いか否かを判断することにより、前記記憶手段に記憶されている前記コンピュータプログラムが、前記コンテンツに適切でないか否かを判断する適性判断手段と、
    前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いと判断されることにより、前記コンピュータプログラムが適切でないと判断される場合、利用対象の前記コンテンツの価値が一定基準を満たすときに、前記コンテンツの利用に先立って、前記記憶手段に記憶されている前記コンピュータプログラムを、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代と同一又はより新しい世代の適切なコンピュータプログラムに更新する更新手段と
    を備えることを特徴とするコンテンツ利用装置。
  2. 前記更新手段は、さらに、前記コンピュータプログラムが適切でない場合、利用対象の前記コンテンツの価値が一定基準を満たさないときに、前記コンテンツの利用後に、又は空き時間に、前記記憶手段に記憶されている前記コンピュータプログラムを、適切なコンピュータプログラムに更新する
    ことを特徴とする請求項1に記載のコンテンツ利用装置。
  3. 前記価値判断手段は、前記価値を示す情報として、前記コンテンツが制作された制作時期を取得し、取得した前記制作時期が、現時点から所定期間内であれば、取得した価値が一定基準を満たすと決定し、取得した前記制作時期が、現時点から所定期間よりも前であれば、取得した価値が一定基準を満たさないと決定する
    ことを特徴とする請求項2に記載のコンテンツ利用装置。
  4. 前記価値判断手段は、前記コンテンツが記録されているコンテンツ記録媒体から前記制作時期を読み出すことにより、取得する
    ことを特徴とする請求項3に記載のコンテンツ利用装置。
  5. 前記価値判断手段は、前記価値を示す情報として、前記コンテンツの市場における販売数量を取得し、取得した前記販売数量が、所定値以上であれば、取得した価値が一定基準を満たすと決定し、所定値未満であれば、取得した価値が一定基準を満たさないと決定する
    ことを特徴とする請求項2に記載のコンテンツ利用装置。
  6. 前記価値判断手段は、前記価値を示す情報として、前記コンテンツの品質を取得し、取得した前記品質が、所定値以上であれば、取得した価値が一定基準を満たすと決定し、所定値未満であれば、取得した価値が一定基準を満たさないと決定する
    ことを特徴とする請求項2に記載のコンテンツ利用装置。
  7. 前記価値判断手段は、コンテンツが記録されているコンテンツ記録媒体から前記品質を読み出すことにより、取得する
    ことを特徴とする請求項6に記載のコンテンツ利用装置。
  8. 前記更新手段は、前記コンピュータプログラムを更新する内容が定義された更新プログラムを取得し、取得した更新プログラムを用いて、前記記憶手段に記憶されている前記コンピュータプログラムを更新する
    ことを特徴とする請求項2に記載のコンテンツ利用装置。
  9. ネットワークを介して前記コンテンツ利用装置に接続されているサーバ装置は、前記更新プログラムをあらかじめ記録しており、
    前記更新手段は、ネットワークを介して前記サーバ装置から前記更新プログラムを取得する
    ことを特徴とする請求項8に記載のコンテンツ利用装置。
  10. 前記コンテンツを記録しているコンテンツ記録媒体は、前記更新プログラムをあらかじめ記録しており、
    前記更新手段は、前記コンテンツ記録媒体から前記更新プログラムを読み出すことにより、取得する
    ことを特徴とする請求項8に記載のコンテンツ利用装置。
  11. 前記コンテンツ利用装置は、さらに、
    前記コンテンツを記録しているコンテンツ記録媒体が装着されたことを検出する検出手段を備え、
    前記価値判断手段及び適性判断手段は、それぞれ、前記コンテンツ記録媒体が装着されたことが検出された場合に、判断を行う
    ことを特徴とする請求項2に記載のコンテンツ利用装置
  12. 前記更新手段は、少なくとも前記更新プログラムの取得プロセス及び前記コンピュータプログラムの更新プロセスを含むプログラム導入を経て、前記コンピュータプログラムを更新し、
    前記更新手段は、
    前記コンピュータプログラムが適切でない場合、利用対象の前記コンテンツの価値が一定基準を満たさないときに、前記プログラム導入を構成する各プロセスの実行が、前記コンピュータプログラムに従ったコンテンツの利用動作に支障を来すか否かを判断する支障判断部と、
    前記支障判断部により支障を来すと判断する場合に、当該プロセスの実行を保留し、支障を来さないと判断する場合に、当該プロセスを実行する第1実行部と、
    前記コンピュータプログラムに従ったコンテンツの利用動作が終了したか否かを判断する終了判断部と、
    前記終了判断部により終了したと判断される場合に、保留されたプロセスが存在すれば、当該プロセスを実行する第2実行部とを含む
    ことを特徴とする請求項2に記載のコンテンツ利用装置。
  13. 前記プログラム導入は、取得した前記更新プログラムの正当性の検証プロセス及び取得した前記更新プログラムの伸張プロセスの両方又はいずれか一方を含む
    ことを特徴とする請求項12に記載のコンテンツ利用装置。
  14. 前記支障判断部は、前記プロセスの実行に要すると予測される予測時間と、所定時間とを比較し、前記予測時間が前記所定時間より長いと判断する場合に、支障を来すと判断する
    ことを特徴とする請求項12に記載のコンテンツ利用装置。
  15. 前記支障判断部は、前記取得プロセスの実行に要すると予測される前記予測時間と、前記所定時間とを比較する
    ことを特徴とする請求項14に記載のコンテンツ利用装置。
  16. 前記支障判断部は、前記更新プロセスの実行に要すると予測される予測時間と、所定時間とを比較する
    ことを特徴とする請求項14に記載のコンテンツ利用装置。
  17. 前記コンテンツ利用装置は、マイクロプロセッサを内蔵し、各手段は、前記マイクロプロセッサにより、動作し、前記コンテンツ利用装置は、前記マイクロプロセッサの稼働率を算出し、
    前記支障判断部は、前記稼働率が一定値以上の場合に、支障を来すと判断する
    ことを特徴とする請求項12に記載のコンテンツ利用装置。
  18. 前記終了判断部は、前記コンピュータプログラムによる処理の完了を検出し、前記完了を検出した場合に、前記コンピュータプログラムに従ったコンテンツの利用動作が終了したと判断する
    ことを特徴とする請求項12に記載のコンテンツ利用装置。
  19. 前記終了判断部は、利用者による前記コンテンツ利用装置の電源offの操作を検出し、前記操作を検出した場合に、前記コンピュータプログラムに従ったコンテンツの利用動作が終了したと判断する
    ことを特徴とする請求項12に記載のコンテンツ利用装置。
  20. コンテンツ記録媒体に記録されているコンテンツを利用するコンテンツ利用装置で用いられる更新制御方法であって、
    前記コンテンツ利用装置は、コンテンツの利用を制御するコンピュータプログラムを記憶している記憶手段を備え、
    前記更新制御方法は、
    利用対象のコンテンツの新旧、品質又はヒット度を示す価値を取得し、取得した価値が一定基準を満たすか否かを判断する価値判断ステップと、
    前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いか否かを判断することにより、前記記憶手段に記憶されている前記コンピュータプログラムが、前記コンテンツに適切でないか否かを判断する適性判断ステップと、
    前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いと判断されることにより、前記コンピュータプログラムが適切でないと判断される場合、利用対象の前記コンテンツの価値が一定基準を満たすときに、前記コンテンツの利用に先立って、前記記憶手段に記憶されている前記コンピュータプログラムを、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代と同一又はより新しい世代の適切なコンピュータプログラムに更新する更新ステップと
    を備えることを特徴とする更新制御方法。
  21. コンテンツ記録媒体に記録されているコンテンツを利用する装置で用いられる更新制御プログラムであって、
    前記装置は、コンテンツの利用を制御するコンピュータプログラムを記憶している記憶手段を備え、
    前記更新制御プログラムは、
    コンピュータである前記装置に、
    利用対象のコンテンツの新旧、品質又はヒット度を示す価値を取得し、取得した価値が一定基準を満たすか否かを判断する価値判断ステップと、
    前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いか否かを判断することにより、前記記憶手段に記憶されている前記コンピュータプログラムが、前記コンテンツに適切でないか否かを判断する適性判断ステップと、
    前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いと判断されることにより、前記コンピュータプログラムが適切でないと判断される場合、利用対象の前記コンテンツの価値が一定基準を満たすときに、前記コンテンツの利用に先立って、前記記憶手段に記憶されている前記コンピュータプログラムを、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代と同一又はより新しい世代の適切なコンピュータプログラムに更新する更新ステップと
    実行させるための更新制御プログラム。
  22. 前記更新制御プログラムは、
    コンピュータ読み取り可能なプログラム記録媒体に、記録されている
    ことを特徴とする請求項21に記載の更新制御プログラム。
JP2006519419A 2004-03-16 2005-03-15 コンピュータプログラムの更新をするコンテンツ利用装置及び更新制御方法 Expired - Fee Related JP4814090B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006519419A JP4814090B2 (ja) 2004-03-16 2005-03-15 コンピュータプログラムの更新をするコンテンツ利用装置及び更新制御方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004074740 2004-03-16
JP2004074740 2004-03-16
PCT/JP2005/004537 WO2005088452A1 (ja) 2004-03-16 2005-03-15 コンピュータプログラムの更新をする端末装置及び更新方法
JP2006519419A JP4814090B2 (ja) 2004-03-16 2005-03-15 コンピュータプログラムの更新をするコンテンツ利用装置及び更新制御方法

Publications (2)

Publication Number Publication Date
JPWO2005088452A1 JPWO2005088452A1 (ja) 2008-01-31
JP4814090B2 true JP4814090B2 (ja) 2011-11-09

Family

ID=34975762

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006519419A Expired - Fee Related JP4814090B2 (ja) 2004-03-16 2005-03-15 コンピュータプログラムの更新をするコンテンツ利用装置及び更新制御方法

Country Status (7)

Country Link
US (1) US20070261050A1 (ja)
EP (1) EP1727048B1 (ja)
JP (1) JP4814090B2 (ja)
CN (1) CN100514303C (ja)
AT (1) ATE479937T1 (ja)
DE (1) DE602005023282D1 (ja)
WO (1) WO2005088452A1 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002359001A1 (en) * 2001-12-28 2003-07-24 Access Co., Ltd. Usage period management system for applications
EP1696321A1 (en) 2005-02-23 2006-08-30 Deutsche Thomson-Brandt Gmbh Method and apparatus for executing software applications
KR100754198B1 (ko) * 2005-12-12 2007-09-03 삼성전자주식회사 소프트웨어 자동 업데이트 방법 및 시스템
JP5005232B2 (ja) * 2006-02-27 2012-08-22 京セラ株式会社 携帯型デジタル放送受信端末及びファームウェア更新方法
US7603587B2 (en) * 2006-05-26 2009-10-13 Intel Corporation Updating a memory block without status logging
JP4864557B2 (ja) * 2006-06-15 2012-02-01 富士通株式会社 ソフトウェアの更新処理プログラム及び更新処理装置
KR101079585B1 (ko) * 2006-08-09 2011-11-03 삼성전자주식회사 디스플레이장치, 영상처리장치 및 그 제어프로그램갱신방법
JP5044238B2 (ja) * 2007-02-27 2012-10-10 日立オムロンターミナルソリューションズ株式会社 自動取引装置への更新ファイル配布装置
JP5293595B2 (ja) * 2007-03-20 2013-09-18 富士通株式会社 コンピュータプログラム、更新システム、及びプログラム実行装置
WO2008114491A1 (ja) * 2007-03-20 2008-09-25 Access Co., Ltd. アプリケーション更新管理機能を備えた端末、アプリケーション更新管理プログラムおよびシステム
JP4912973B2 (ja) * 2007-07-11 2012-04-11 株式会社日立製作所 端末及びデータ配信システム
US20090183148A1 (en) * 2008-01-14 2009-07-16 Bagrecha Nitin Remote installation
JP4946892B2 (ja) * 2008-01-28 2012-06-06 三菱電機株式会社 通信システム
JP5218820B2 (ja) * 2008-03-07 2013-06-26 日本電気株式会社 ソフトウェアのインストールシステム及びその方法
JP4467624B2 (ja) * 2008-03-24 2010-05-26 富士通株式会社 ソフトウェアアップデート管理プログラム、ソフトウェアアップデート管理装置、およびソフトウェアアップデート管理方法
JP2010009717A (ja) * 2008-06-30 2010-01-14 Hitachi-Lg Data Storage Inc 暗号化情報の版数確認方法、および光ディスク再生装置
JP2010061605A (ja) * 2008-09-08 2010-03-18 Nec Corp 環境生成装置、環境生成システム、環境生成プログラム、および、環境生成方法
JP5274284B2 (ja) * 2009-01-30 2013-08-28 キヤノン株式会社 電子機器、ソフトウェアのアップデート方法、及びコンピュータプログラム
JP5430298B2 (ja) * 2009-09-03 2014-02-26 サンデン株式会社 自動販売機の制御装置
JP2011070307A (ja) * 2009-09-24 2011-04-07 Toyota Motor Corp プログラム更新装置
JP2012226506A (ja) * 2011-04-19 2012-11-15 Casio Comput Co Ltd データ更新装置およびプログラム
JP5547701B2 (ja) * 2011-09-21 2014-07-16 日立オートモティブシステムズ株式会社 自動車用電子制御装置
US9250889B2 (en) 2013-10-18 2016-02-02 International Business Machines Corporation Assigning severity to a software update
TWI546758B (zh) * 2014-04-24 2016-08-21 神乎科技股份有限公司 大量資料之動態分級傳輸方法
JP6399797B2 (ja) * 2014-05-02 2018-10-03 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
CN105610935A (zh) * 2015-12-25 2016-05-25 北京奇虎科技有限公司 数据下载系统和数据下载方法
WO2017159480A1 (ja) * 2016-03-16 2017-09-21 ソニー株式会社 送信装置、送信方法、受信装置、受信方法および再生装置
US10360044B2 (en) * 2016-09-13 2019-07-23 Nutanix, Inc. Massively parallel autonomous reimaging of nodes in a computing cluster
CN106487580A (zh) * 2016-09-18 2017-03-08 安徽爱她有果电子商务有限公司 一种多机阵列分布式计算机并行升级方法
US10416993B2 (en) * 2017-10-06 2019-09-17 International Business Machines Corporation Mobile application update manager
US11449325B2 (en) * 2019-07-30 2022-09-20 Sony Interactive Entertainment LLC Data change detection using variable-sized data chunks
US11307841B2 (en) 2019-07-30 2022-04-19 Sony Interactive Entertainment LLC Application patching using variable-sized units
US11262927B2 (en) 2019-07-30 2022-03-01 Sony Interactive Entertainment LLC Update optimization using feedback on probability of change for regions of data
CN110995795A (zh) * 2019-11-20 2020-04-10 斑马网络技术有限公司 车辆ecu刷新的方法、装置和存储介质
JP2023081705A (ja) * 2021-12-01 2023-06-13 株式会社日立製作所 更新内容検証システム及び更新内容検証方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004062581A (ja) * 2002-07-30 2004-02-26 Infocom Corp コンテンツのダウンロードサービスの提供方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5628013A (en) * 1992-09-30 1997-05-06 Apple Computer, Inc. Apparatus and method for allocating processing time in a frame-based computer system
US5732275A (en) * 1996-01-11 1998-03-24 Apple Computer, Inc. Method and apparatus for managing and automatically updating software programs
US6324411B1 (en) * 1997-05-20 2001-11-27 Telefonaktiebolaget Lm Ericsson (Publ) Background software loading in cellular telecommunication systems
US6381603B1 (en) * 1999-02-22 2002-04-30 Position Iq, Inc. System and method for accessing local information by using referencing position system
CA2388565A1 (en) * 1999-04-21 2000-10-26 Research Investment Network, Inc. System, method and article of manufacture for updating content stored on a portable storage medium
JP2001243706A (ja) 2000-02-28 2001-09-07 Ricoh Co Ltd 光記録媒体
JP2002244874A (ja) * 2001-02-15 2002-08-30 Toshiba Corp 情報処理装置およびファームウェア更新方法
JP2002244877A (ja) * 2001-02-19 2002-08-30 Nec Corp プリンタ装置およびそのプログラム更新方法
US20020141582A1 (en) * 2001-03-28 2002-10-03 Kocher Paul C. Content security layer providing long-term renewable security
JP3726726B2 (ja) * 2001-08-20 2005-12-14 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置および管理ユニット
US20030218765A1 (en) * 2002-04-26 2003-11-27 Tsutomu Ohishi Apparatus for controlling launch of application and method
US20040031029A1 (en) * 2002-08-06 2004-02-12 Kyu-Woong Lee Methods and systems for automatically updating software components in a network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004062581A (ja) * 2002-07-30 2004-02-26 Infocom Corp コンテンツのダウンロードサービスの提供方法

Also Published As

Publication number Publication date
US20070261050A1 (en) 2007-11-08
ATE479937T1 (de) 2010-09-15
CN1954296A (zh) 2007-04-25
DE602005023282D1 (de) 2010-10-14
EP1727048B1 (en) 2010-09-01
EP1727048A4 (en) 2009-01-14
WO2005088452A1 (ja) 2005-09-22
EP1727048A1 (en) 2006-11-29
JPWO2005088452A1 (ja) 2008-01-31
CN100514303C (zh) 2009-07-15

Similar Documents

Publication Publication Date Title
JP4814090B2 (ja) コンピュータプログラムの更新をするコンテンツ利用装置及び更新制御方法
JP4247044B2 (ja) コンテンツ配信サービス提供装置及びコンテンツ配信サービス端末装置
JP5025009B2 (ja) 認証方法、ホスト計算機及び記録媒体
JP5786670B2 (ja) 情報処理装置、情報記憶装置、情報処理システム、および情報処理方法、並びにプログラム
US8132024B2 (en) Digital work protection system, recording apparatus, reproduction apparatus, and recording medium
JP5853507B2 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP2008021350A (ja) コンテンツ記録装置、方法およびプログラム
US9811670B2 (en) Information processing device, information processing method, and program
JP2003085321A (ja) コンテンツ利用権限管理システム、コンテンツ利用権限管理方法、および情報処理装置、並びにコンピュータ・プログラム
TW200423676A (en) System for identification and revocation of audiovisual titles and replicators
JP2006285607A (ja) コンテンツ情報提供システム,コンテンツ情報提供サーバ,コンテンツ再生装置,コンテンツ情報提供方法,コンテンツ再生方法,およびコンピュータプログラム
JP2004120736A (ja) グループ形成管理システム、グループ管理機器及びメンバー機器
US10861024B2 (en) Systems, methods, and media for restricting playback functionality of a media device in response to detecting unauthorized content
US20090022318A1 (en) Content data distribution terminal and content data distribution system
JP6242036B2 (ja) 情報処理装置、情報記憶装置、情報処理システム、および情報処理方法、並びにプログラム
JPWO2005121980A1 (ja) 情報取得装置、情報取得方法、情報取得プログラム
JP4664582B2 (ja) 鍵配信装置、端末装置、記録媒体及び鍵配信システム
JPWO2006109738A1 (ja) 回路構築装置
US20100313034A1 (en) Information processing apparatus, data recording system, information processing method, and program
JP5821558B2 (ja) 情報処理装置、情報記憶装置、情報処理システム、および情報処理方法、並びにプログラム
JP5747758B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP2013065088A (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP4318740B2 (ja) コンテンツ利用システム及びコンテンツ利用装置
JP4606474B2 (ja) コンテンツ利用システム及びコンテンツ利用装置
JP5318241B2 (ja) コンテンツ再生装置、方法およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051004

AA64 Notification of invalidation of claim of internal priority (with term)

Free format text: JAPANESE INTERMEDIATE CODE: A241764

Effective date: 20070213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110704

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110802

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110825

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140902

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees